(cherry picked from commit 0feee191462dd3e5dde66e476e8b4b46a85ec4f0)
(cherry picked from commit c3d54b312ef18b837d54605ea78f1a263fd6900b)