(cherry picked from commit 0c97ade9542131ff4b66f2ecda1cb9c700cdfeef)
(cherry picked from commit ce85ba3d7e647a8a93a54144a840905a8c479fb0)