(cherry picked from commit 966f9508c3ce9dcc63dd2b169150f573699f94a7) (cherry picked from commit 3249c3ce56cc7b719599b4b0100cf6dfdeabb4df)