(cherry picked from commit 18e4b1f33eb5bb803bc35100f80b61fd82642645)
(cherry picked from commit 9b54e313f87965100f312bab12462fa0d0bf28f3)