(cherry picked from commit 7de21b70154bf45c2ae89873b78e3bcbfce2061d)
(cherry picked from commit fdffd7bf3a5b77934173582034ea0d7d97af5431)