(cherry picked from commit c7ccc82b473b1fb5004431cbc03dff30c5794f3c)
(cherry picked from commit 2eefc488c8917b162c1ff16e4eb92bf007e5b4cc)