(cherry picked from commit e0195c08ae5195668660af0d8f20beb6407680f5)
(cherry picked from commit 0d6959e75f62c101fcf97124de3b7efe7493029e)