(cherry picked from commit b306aaae) (cherry picked from commit 0f551f09) (cherry picked from commit 044d519f)