Synced with the source at fa7c47a9faa3260bba6d3cdd284958115c468fa0.