(cherry picked from commit 98cf873730e10d2a807045df51f516e1a804847c)
(cherry picked from commit 1447b6f7c1cee04638c03f60fc4eff7ac52e9cfc)