(cherry picked from commit 0d9fc72bee009c591400055725680a6a0f5a9c83)
(cherry picked from commit 21319d339305c77311d42aa18501d425a5a2619c)