(cherry picked from commit bb0c1cb536494f87b61e15323826cb2bbecb2099)
(cherry picked from commit 7bef2409262a4075b51b5dbc14d275b5cc3f0a0e)
(cherry picked from commit f1735a4010ee1e873c4b07c1e0d222e4180fa27c)