(cherry picked from commit 6dc36c03d716bfd1f5e4a847602ccef4b2b60eff)
(cherry picked from commit b8a295e3eaf9e9d6dc121d5807d48d4de715f978)