(cherry picked from commit 9da81a395584cb1dbfdee012222fd4de53522681) (cherry picked from commit d4b86e6f403edc6cdd687f978e3abff8752faa34)