(cherry picked from commit e5a376391660a79d70d037e8cdaeae9032252a44)
(cherry picked from commit 7f9b07aed6a6be1c11b022a7988c3db452dbc771)