(cherry picked from commit b45b85984ce55f09e80d0b3a4ba7e788ad1c8742)
(cherry picked from commit 39d8ecbfc7bf24124d22e22bcd71d449f2cb590a)