(cherry picked from commit 80b77deb42a3ef94d6bef160bc58d807f2faa104) (cherry picked from commit 96371245357bda63b3ede10f37a37f5333a85d69)
(cherry picked from commit 80b77deb42a3ef94d6bef160bc58d807f2faa104) (cherry picked from commit 96371245357bda63b3ede10f37a37f5333a85d69)