(cherry picked from commit 978ab3e958227220cb6f1a08ae6e7cdb8a46628b) (cherry picked from commit dca69d178dba21c41fd1293187f29143f7e81e19)