(cherry picked from commit 2259164fde4135cdd2d756fbec2d671d475ebb37)
(cherry picked from commit 046f09c4bdf8fe8bfe5886afefa0e440376184e7)