(cherry picked from commit c1c28fe2) (cherry picked from commit 972391ac) (cherry picked from commit 581c5dfa)