(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit b862b30f51a7a401a09f6a2a842a69ac95348c89)