(cherry picked from commit 50d8dc668b3389356a3d17a35e335c8ec7f12de9)
(cherry picked from commit cf91a7497a267a6c8c917d065b5c4c69afe37909)