:::::::::::::::::::::......................::::::: ::::::::::::
::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::
:::::::::: ::::::::::
:::::::::: ::::::::::
::::::::: ::::::::::
::::::::: ::::::::::
::::::::: ::::::::::