d3a749fd1fe10c74420c1d7c9c6d7d5b::::::::::::::::::::::::::::::