(cherry picked from commit 4c358ce791a03d2dbc1dec48dab68930a2b561cc)
(cherry picked from commit 0b41680949f9f0a8518fa1932a3ab469bd2764ec)