(cherry picked from commit 45102e2a) (cherry picked from commit c93876ff) (cherry picked from commit 2be13ac4)