:::::
::::::::::::::::::
:::::::::::::::::: :::::::::::::::::::::::::
:::::::::::::::::::::::::::: ::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:. .::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::: :::::::::::::::::::::::::.... :::::::::::::::::::::::::::
::::::::::: ::::::::::::::::::::::::: .:::::::::::::::::::::::::::
::::::::::: ::::::::::::::::::::::. .:::::::::::::::::::::::::::
::::::::::: ::::::::::::::::::::::. .::::::::::::::::::::::::::::
:::::::::::: :::::::::::::::::::::::::::. .:::::::::::::::::::::::::::::::
:::::::::::::::: :::::::::::::::::::::::::::: ::::::::.::::::::::::::::::::::::
::::::::::::::::::: .:::::::::::::::::::::::::::. ::::::::. ::::::::::::::::::::::::::
:::::::::::::::::::. .::::::::::::::::::::::::::: .:::::::: :::::.::::::::::::::::::::::
:::::::::::::::::: : .::::::::::.. .:::. ::::::. . .:::::.:::::.:::::::::::::::::::::::::
::::::::::::::::: .:::::::::. ::::..::::::. .::::::::::::::::::::::::::::::::::::::::::
::::::::::::::: .:::::::::: :: .::::::::::::. .::::::::::::::::::..:::::::::::::::::::::::::
::::::::::::. .:::::::::::. ::::::::::::. ::::::::::::: :::::::::::::::::::::: ..::::::::::::::::::::::::
:::::::::::. .::::::::::: ::::::::::: :.::::::::::::::: ::::::::::::::::::::::::. ..:::::::::::::::::::::::
:::::::::: .::::::::::. :::::::::::::. .:::::::::::::::::: :::::::::::::::::::::::::::. .::::::::::::::::::::::
::::::: .:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. .:::::::::::::::::::::
::::::::::: ::::::::::. .::::::::::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::::::
::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .::::::::::::::::::
.:::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::::
::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .::::::::::::::::
::::::::::. :::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::: :.::::::::::::::::::::::
::::::::::: ::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::: .:::::::::::::::::::::::
:::::::::: .::::::::::::::::::::::::::: :::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::: :::::::::: :::::::::::::: :::::::::::::::::::::::.: ...::::::::::::::::::::::::::::::::::::::::::::
:::::::::: :::::::::: ::::::::::::: :::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::
:::::::::: .:::::::::: .::::::::::::: :::::::::::::::::::::::::: .:::::::::::::::::::::::..:::::::::::::::
::::::::::. ::::::::::: .::::::::::::: ::::::::::::::::::::::::. ..:::::::::::::::::::::: :::::::::::::
::::::::::: :::::::::: ::::::::::::: :::::::::::::::::::::::: :::::::::::::::::::::..:::::::::::::
::::::::::: ::::::::: .:::::::::: :::::::::::::::::::::::: .::::::::::::::::::::::::::::
:.::::::::.: ::::::::::: ::::::::::::::::::::::: :::::::::::::::::::::::::::
.:::::::::.::::::::::: :::::: :::::::::::::::::::::::::
::::::::::::::::::::: .:::::::::::::::::::::
.:::::::::::::::::::: .::::::::::::::::.
:::::::::::::::::::: .:::: ::.
::::::::::::::::::::
::::::::::::::::::.
:::::::::::::::::::
::::::::::::::::::
::::::::::::::::::
::::::::::::::::
::::::::::::::
. .:::::::::
:::::::
.:::
...........
............
..............
....................
........ .............................
.................................................
................................................------
...........................................:==--------- ...........
..........................................:------------------ ........................
........................................-=-------------------- ...... ................................
......................................-=---------------------- ......... .....................................
.................................. -------------------------- .......... ..........................................
.......................... -------------------------- ............. ...........................................
..... -------------------------- .........................................................
--------------------------- .........................................................
------------ -------------- .................................... ...................
------------ --------------- ............................... ...............
------------ ------------------ .......................... ........
---------- -------------- .................... .......
-------- -------------- ............... .......
-------- -------------- ........... .......
-------- --------------
-------- -------------
-------- ------------
-------- --------
-------- -----