(cherry picked from commit b2c43fb2a67965d68d3d35b72302b0cddb5aca23)
(cherry picked from commit d022679b7dcbce3cec98e6a1fd0879e3c0d92523)