(cherry picked from commit 103685269e632dba60c717f5168a99481695a6ab)
(cherry picked from commit ef82f01242447e4be903a243f40df566cdf28157)