(cherry picked from commit 9bf452856cb40c7d1475eb2c7471c17d7861bac3)
(cherry picked from commit 914f5e569b6d1ca3150da954dcd3cfef96c9ef37)