(cherry picked from commit 8644d90bd4572330e720c1eb8b64e3f323bbd709)
(cherry picked from commit 0affc0d58bde6b1533d585bb0c0cbd103e0c59a9)