(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit 47405a9d5d1a62ca9cfb8906cc1666f4d14eb26b)