(cherry picked from commit 9a81e91f8c16ad036ad738799c003cdfbf33f0d0) (cherry picked from commit 51aed53bbb3b746a02d627778a525effd93c8d76)