(cherry picked from commit 78d1706c42522f68f4c15d3be35a216a9a417d00)
(cherry picked from commit 0c2c73e7ae87a4e45b238793f5d950544d123395)