(cherry picked from commit 3828e475cc8860e74cdfd8a70b4f886de7f9c5c3)
(cherry picked from commit 99fc52039f44264c83d939e5f096d8e16d2f3355)