.d8888b. .d8888b. .d8888b. .d888 8888888b. 8888888888
d88P Y88b d88P Y88b d88P Y88b d88P" 888 Y88b 888
888 888 888 888 888 888 888 888 888
888 888 888 888 Y88b. d888 .d88P 888888 888 d88P 8888888
888 88888 888 888 888 "Y888P888 .od888P" 888 8888888P" 888
888 888 888 888 888 888 d88P" 888 888 T88b 888
Y88b d88P Y88b 888 d88P Y88b d88P 888" 888 888 T88b 888
"Y8888P88 "Y8888888P" "Y8888P" 888888888 888 888 T88b 888