(cherry picked from commit 2765c4adde46ec4b31665638fa68191ec19ecc9d)
(cherry picked from commit e682abb1f7038aa7f625e36e3723f35d196f7611)