(cherry picked from commit 4af1a38334cfc51ce64dd509f2dff694f78010f6)
(cherry picked from commit b6497e2bd3679e0e62bd6a90bdac16fa7c7f1b4e)