oooooooo .ooooo. .ooooo. .o dP""""""" d88' `8. d88' `8. .d88 d88888b. Y88.. .8' Y88.. .8' .d'888 `Y88b `88888b. `88888b. .d' 888 ]88 .8' ``88b .8' ``88b 88ooo888oo o. .88P `8. .88P `8. .88P 888 `8bd88P' `boood8' `boood8' o888o
ooooooooo ooooooooo oooooooo oooooooo d"""""""8' d"""""""8' dP""""""" dP""""""" .8' .8' d88888b. d88888b. .8' .8' `Y88b `Y88b .8' .8' ]88 ]88 .8' .8' o. .88P o. .88P .8' .8' `8bd88P' `8bd88P'