(cherry picked from commit d99f3ca54901c91e50327bf504842271d902bc7c)
(cherry picked from commit 269fd925cc14d1124413fa2a0846eef0be06a6cf)