(cherry picked from commit 78d67cd70845d715e5d37ad493ae548a71d62be0)
(cherry picked from commit 9a97e3dd561f1bd546553361959fa29bdd27d24b)