(cherry picked from commit 3452b002bcbc7ac53edf2cef5429ac8bb46df628)
(cherry picked from commit 39bd8b02c91569c51276845244608edf36bf23b6)