(cherry picked from commit 9be02961277e990f8ded19106532f9c788eb1d7e)
(cherry picked from commit ce85ba3d7e647a8a93a54144a840905a8c479fb0)