(cherry picked from commit b89db1af55127fef5b558e2fdcd6f8401ccdc7df)
(cherry picked from commit e92361ed401771998c6abd6d9ba53801a6e0cfa6)