(cherry picked from commit dcc07886f8ba73eb2630a14a81bda191468c7a1f)
(cherry picked from commit 77f1a8b30d2c30c03f0ec45fc32fe8eef9d2b4c7)