(cherry picked from commit a87089fd2dc08a69a4a4f1ef93db9a2871d819a3)
(cherry picked from commit 6060e098c929792f455d7f580ed91e914d28cf3b)