(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit 327259493144a14c656a4f8c4e638b9c02be36d5)