(cherry picked from commit af37ee09222d9c3845dc694fcc941f2e0ab31cee)
(cherry picked from commit 0a0ef5e3cad709d1163bc92d394eb295f6a7533e)