(cherry picked from commit f2fa199916591086d0ce6bb8e8adec4341278844)
(cherry picked from commit c373d168c4ec97868e1eb2871b8e98d27ea109ba)