(cherry picked from commit a2ee54a252d06bcdcfae568a9765e49d67ca9067)
(cherry picked from commit 8011d377e4bdd07050bdd95432047618aa45dfec)