.ooo       oooo              .ooooo.    oooooooooo.               
.88' `888 d88' `8. `888' `Y8b
d88' 888 .oooo. Y88.. .8' 888 888 .oooooooo
d888P"Ybo. 888 `P )88b `88888b. 888 888 888' `88b
Y88[ ]88 888 .oP"888 .8' ``88b 888 888 888 888
`Y88 88P 888 d8( 888 `8. .88P 888 d88' `88bod8P'
`88bod8' .o. 88P `Y888""8o `boood8' o888bood8P' `8oooooo.
`Y888P d" YD
"Y88888P'