(cherry picked from commit f5e2d8ac56d4dc6af977d9f47729f0fbdc3efc18)
(cherry picked from commit de3ee246b0efac2ee6612a30773a514197bcfcdd)