(cherry picked from commit 81e4aafe3d25a065975ae3e676cad552ad9a147c)
(cherry picked from commit 14c50e510b8607b646039e7aad3e403d9d67b87e)