(cherry picked from commit 4843a060331367cf1583665d1035f6b0f38e777d)
(cherry picked from commit 6a34364e0a141b71f487687411b7ec62203903e4)