(imported from commit 4588d70f4e7664a9ba85be7003e17d4e8f55a333)
(imported from commit 4e7bfaf92842ae0bb24c28ae1187d83ca5c44b0e)