(cherry picked from commit 647b7dc98e1fa80c5ba72a560b03cf447fc65bd4)
(cherry picked from commit 5643865e0db65bb77ed93920ae0d2841bd082a1e)