Skip to content

Instantly share code, notes, and snippets.

@gdoteof
Created September 8, 2023 05:15
Show Gist options
  • Save gdoteof/a7005332a2cbe40302fbe19bd4255eed to your computer and use it in GitHub Desktop.
Save gdoteof/a7005332a2cbe40302fbe19bd4255eed to your computer and use it in GitHub Desktop.
.................................................................................................................................................................................................................................''''..............'''''..................''''''''''''''''...'''''''''''''''''......''''''...............'''''''''''''''''''''....'.........................'''''''''''''''''''''''''''''''''''''''''''''....''''.......................................................................................................................................................................................................................................................................................................................................'''''''''''''''''''''''''''''',,,,,,,,,,
.................................................................................................................................................................................................................................'''''..................'''...............'''''''''''''''....'''''''''''''''''.....'''''''...............''''''''''''''''''''''.............................'''''''''''''''''''''''''''''''''''''''''''''....''''..........................................................................................................................................................................................................................................................................................................................................''''''''''''''''''''''''''',,,,,,,,,,
.................................................................................................................................................................................................................................'''''''..............''''....................''''''''''''...''''''''''''''''......'''''''..............'''''''''''''''''''''''''...........................'''''''''''''''''''''''''''''''''''''''''''''.....''............................................................................................................................................................................................................................................................................................................................................''''''''''''''''''''''''',,,,,,,,,,,
..................................................................................................................................................................................................................................''''''..............''''.......................''''''''''''''''''''''''''''...''''''''...............''''''''''.''''''''''''''''''......................'''''''''''''''''''''''''''''''''''''''''''''''...................................................................................................................................................................................................................................................................................................................................................''''''''''''''''''','''''',,,,,,,,,,
..................................................................................................................................................................................................................................''''''...........''..'''..........................''''''''''''''''''''''''...''''''''................'''''''''...''''''''''''''''''.....................''''''''''''''''''''''''''''''''''''''''''''''.........'''...........................................................................................................................................................................................................................................................................................................................................'''''''''''''''''''''''',,,,,,,,,
...................................................................................................................................................................................................................................................'....'''..........................''...'''''''''''''''''....''''.''''..............''''''''''''''''''''''...''''''.....................''''''''''''''''.''''''''''''''''''''''..............................................................................................................................................................................................................................................................................................................................................................''''''''''''''''''''''''',,,,,,',
........................................................................................................................................................................................................................................................'''.........................''......''''....''''''''''''''''''''.............''''''''''''''''''..''..............................'''''''''''''''''''''''''''''''''''''''...'............................................................................................................................................................................................................................................................................................................................................................''''''''''''''''''..''''',,,,',,
.........................................................................................................................................................................................................................................................''........................''''''''''''''....'''''''''''''''''''..............''''''''''.............'''.........................',,''''''''''''''''''''''''''''''''''''''''..............................................................................................................................................................................................................................................................................................................................................................''''''''''''''''....'''''',,,,
...................................................................................................................................................................................................................................'''''''..................'.....''...............''''''''''''''....''''..'''''''''''''...............''''''''.............''''''''....................'''''''''''''''''''''''''''''''''''''''''''................................................................................................................................................................................................................................................................................................................................................................'''''''''''''''....'''''',,,,
... ................................................................................................................................................................................................................................''''''.......................'''''............'''''''''''''''...''''''.''''''''''''''...........'''''''''''.............''''''''''..................'''''''''''''''''''''''''''''''''''''''''''...................................................................................................................................................................................................................''.............................................................................................................................................'''''''''''''....'''''',,,,
....................................................................................................................................................................................................................................'''''''...................''''''''............''''''''''''''''.''''''''.......'''''''...........''''''''''''''.......................................''''''''''''''''''''''''''''''''''''........................................................................................................................................................................................................................'''..............................................................................................................................................''''''''''''....'''''',,,,
....................................................................................................................................................................................................................................'''''''....................''''''''''............''''''''''''''''''''''.......''''''................'.'''.''''''''....................................''''''''''''''...''''...''''...............................................................................................................................................................................................................................'''..................................................................................................................................................'''''''.....'''''''',,
.. .................................................................................................................................................................................................................................''''''''.................'''.'''''''''...........'''''''''''''''''''''''''..'.''''''...........'......'''''...............................................''''''''''...................................................................................................................................................................................................................................................................................................................................................................................................'''''......''''''''',
.. .................................................................................................................................................................................................................................''''''''................''''''''''''''...........'''''''''''''''''''''''''''''''................'''''''..................................................''''''''''''................................................................................................................................................................................................................................................................................................................................................................................................''''''......'''''''''',
....................................................................................................................................................................................................................................''''''''...............'''''''''''''''..'.........''''''''''''''''''''''''''''''.........................................................................'''''''''...'.....................''......................................................................................................................................................................................................................................................................................................................................................................''''''''''....'''''''''',
....................................................................................................................................................................................................................................'''''''................''''',,,,,''''''''.........'''''''''''''''''''''''''''''................................................................'''........'''''''....'''''........................................................................................................................................................................................................................................................................................................................................................................................'''''''''''.....''''''''''
....................................................................................................................................................................................................................................'''''''''..............'''',,,,,,'''''''''........''''''''''''''''''''''''''''''...............'''..........................................................'''''......''.........................................................................................................................................................................................................................................................................................................................................................................................'''''''''.......''''''''''
...................................................................................................................................................................................................................................'',''''''''''..........''''',,,,,,''''''''................''..'''''''''''''''''''''...........................................................................''''......''.........................................................................................................................................................................................................................................................................................................................................................................................''''..''.......'''''''''''
...................................................................................................................................................................................................................................'',''''''''''..........''''',,,,,,,'''''''............................'''''''''''''............'..............................................................''...................................................................................................................................................................................................................................................................................................................................................................................................''...'''''.......'''''''''
...................................................................................................................................................................................................................................',,'''''''''.............''',,,,,,,,,''''................'..'''.......'''''''''''''..........'''''.................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''......'''''''''
...................................................................................................................................................................................................................................'','','''..................',,,,,,,,'''''........'''''''..............'''''''''''..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''.....''''''''''
....................................................................................................................................................................................................................................''''''.......................'''''''''''.......'''''''..............'''''''''''..........''...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''......'''''''''
....................................................................................................................................................................................................................................'''''.................................'''......'''''...........''''''''''''''''.........''''.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''.......''''''''
....................................................................................................................................................................................................................................''''............................................''''..'''''''..'''''''''''''''''....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''''.......'''''''
.........................................................................................................................................................................................................................................................................................'''''''''.''''''''''''''''''..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.................'''''
.........................................................................................................................................................................................................................................................................................'''''''''''''..'''''''''''''......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''
.........................................................................................................................................................................................................................................................................................'..''''..''''''.''''''''''''......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''...............''''
............................................................................................................................................................................................................................................................................................''''..''''''''''''''''.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'......................
............................................................................................................................................................................................................................................................................................''''..''''''''''''''............................................................................................................................................................ ..................................................................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................'''''''''.''''''''''''...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................................''.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
... ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
... ..........................................................................................................................................................................................................................................................................................'''...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
... ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .....................................................................................................................................................................................................................................................................................
..... .........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
..... ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'.........................
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'.........................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. .................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................. ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'....
......... ...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''....
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''...
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''...
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''...
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'....
.. .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................ ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.........................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'...........................................................................................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''.'.............................................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''...............................................................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'',,'''''.....................'..........................................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''..................................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''...................................................................................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''......................................................................................................................................................................................................................................................................................................................................
.. ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''..........................................................................................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''...............................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................ ...............................................................................................................................''..............................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. ..................................................................................................................................................................
........................................................................................................................................................................................................................................................................................................................................................''''................................................................................................................................................................................................................................................................................................ ...............................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................''''''................................................................................................................................................................................................................................................................................................. .................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................'''''.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................''''......................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................................'''.................................................''''..........................''''''''''......................................................................................................................................................................................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................'''''',,,,,,,,,,,,,,'''..............................................'......................''.''''''''',,,,'''''''',,,,,,,''.............................................................................................................................'''''''.................................................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................',,,,;:ccccccccccc::;;,,'..........''.......................................'''''.......',,,,''''''''''''''''',,,,,,,,;;,,,,''...................................................................................................'''''''''''...'''........''',,'''''''.............................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................',,,;::cclllllloooollcc:;,'.........,,,''...............................''''''''''''''''''''.....'''''''''''.'''''''''''''''''''',,,,,''......................................................................................',;;;;;;;;;;;,,,'',,,'.....'',,,,,,,,,,''''''.........................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................',,,;:ccccclclllodddollcc:,,''',''...,;,,,,'..........................',,,,,,,,,;;;,'''''..........'''''''...........',''''''''....'',,,,,'..................................................................................',;:cllllcc:::::;;,;cdxdl;''',,;;;;;;;;;;,,,'''''.......................................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................',,;;::cccccccllooddoolllc:,,,;lxOOd:,,:::cc:,'.......................',,,,,,,,,;:::,'''.............................',,,,,,,,'.......'''''''.........................................................................''''''',;:clloollllcc:::;;;cxXNNOl;,,;:::::::ccc:;;;;,,'''......................................................................................................................................................................................................................................................................
............................................................................................................................................................................................. ............................................................................,,;::::cccccllooodooollllc:;;::lxOOkl:;cccccc:;;,,,,,'...............',,,,;;;,,;;:::;,''.....''''''..................'',,,,,,,''.............''''''''................................................................''''''',;clllooollllcc::::::cldxxo:;,;;:cccccllllcc::;;,,'''''''.................................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................'',;;::cclccclloddooooolllcc:::;;,,,'',;:clccccllc::;;,'''..''......',,,,;;:::;;:::::;,,'''''''''''..................'''''''''''''...........'',,,,,''',,''........................................................'''',,,,,;;:cllllllllllcc:::;:::::;,,''',;:ccllloooolcc:;,,,,'''''''................................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................'',;;::cclllllloddoooooolllccc:;,'....';ccccc:clllc:;;,'''..''.....',;;,'',,;;,,;;::;;;;,,''''..''..................'''''''''''''''....'..'.'',,,,,,,,,,',''......................................................',,,,,,,,;;;:clllllllllccc::;;;;;;;,'....';:cllooooollc::;,,,,,,''''''...............................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................'',,;::cccllllooddooodoolllccc:;''....,:cccc::::cc:;,,''............,,,'...'',,,;;;;;;;;,,'''.......................'''''''',,''''''''''''''',,,,,,,,,,,,,,''....................................................''',,,,,,,,,;;:clllllllccc::;;;;,;;;,'....';:cllolooollc:;;,,,,,,'''''''............................................................................................................ ................................................................................................................................................
..........................................................................................................................................................................................................................................................................'',;;::ccllloooodddddooollllc:;,'...',;:cc::;;;:;;'.......................'',,,;;;;;;;;,,,'''........''.............'''''',,,'''''''''''',,,;;,,'',,,,,,,,,,'...................................................''''''''''',,;;:cccclccc::::;;;,,,;,'.....',:ccllllooolc::;;,,,,,'''''................................................................................................................................................................................................................................................................
....................................................................................................................................................................................... ...................................................................................',;::ccclllooooodddoooooollc;'......,;::::::;,,'.....'''...........''''''',,,,,,,,;;;;,,,'''......''''........''''''''''',,,''...'',,,,,,,,,,,,,,,,,,,,,,,'............................................................''',,;:::cccc::::;;;;,,,,;,'.....',;:cclcclllccc::;;;;,''....................................................................................................................................................................................................................................................................
...............................................................................................................................................................................................................................................................................',;;;:::ccloooooooooooolc;'.....',::::;;,,'''''''',,,'........',;;;,,,','''....',,,,,'''.......'''''''',,''''',,,''''''''......'''',,,,,,,,,,,,,,,,,,,,'.................................................................'''',,;:ccc::;,,,,,,;;,.....',;::ccc:cc:::;;,,,'''......................................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................................,;;:cclloooollc;'.....';::;,,'''''''''','''.........',;,,'................'''''.....'''',,,,;::;;;,,,,,,,,,''...........''',,,,,,,,,,,,,''''''.....',,''..............................................................',,,,,,'',,'',,'.....',;;::c:::;;,,''............................................................................................................................................................................................................................................................................
...............................................................................................................................................................................................................................................................................................'';;;,;;;,'.....',;,'''''''''''''''....................................'''....'',,,;;;::::::::;;;;,,,'..............'',,,,,,,,,,,,,,'','.....',;;;;,'.................................................................................'''',,,,'''................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................................'''.....'',,''..'''''''''''''.............''''',''..............'....'',,;;;;;;;;;:cccccc:;,,'...............'',,,,,;;;;;,,,;;;,'.....',;;;,,'...........................................................................................................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................,;;,','''....''',''''''''''',,,,,'.......'....',,;;::::;,'................'',;;;;;;;;;;:cclllcc:;,,'................'',,;;;;;;;;;;;;,'......',;;,''...........................................................................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................''''''.....'''',,''''''''',,,,,,'.......'...',,;;;;;::;,''.............''',,,,,''''',;;::::;;,,'''..................'',,;;;,,,,,,,,'.......',,,,'''................................................................................................................................................................................................................................................. ......................................................................................................................
...................................................................................................................................................................................... ................................................................................................'............................''',,,'',,,,,,,,'...........',,;;;;;;;;;,,'.........''',;::cc:;,,',,,,;;;;;;;;,''.....................'',,,'''',,,,'.......',,,,'''''.......................................................................................................................................................................................................................................................................................................................................................................
...................................................................................................................................................................................... ..................................................................................................'',,'.........................'',,,,,,,,,,,'..........'',,;;;;;;;;;;,''........'',;cllllc:;,,,,;;,,;;;;;;,'''........''..........''''',,,,,,,'........',,,,'''''.......................................................................................................................................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................................',;,'..................'''''''''''''''',,,''...........''',,;;;,,,,''''''.....'',;:cclc::;,,,,,,,,,,;;,,''''......''''''''''',,,,''',,;;;;,'........',,,,,,''.........................................................................................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................''''''...''..............'''''''''''''''''',,'.........'',,,,,,,'''..........''',;;:::::;,,,,,,;;;;,,''''''....'',,,,,,,,,',;:::;;,,,,;,,...........,,;;,,'..........................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................'''''.........''''''''..............'',,,,,,''''''''',,,,''''....',;;;,,,,''....'''.''',,;;::::::::;,,,,,;;;;;;;,,,'''....',,,,,,,,,,,;;;:;;;,,,,,'............,;;;;,''.........................................................................................................................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................'''''.....'''''''''.........''',,,;;;;;;;;;,,'..'',,,,,,,,,,,,,,',,,''''''''..'''''',,,;;::::::::;;,,,,,;;;;;;;,,,'''....',,;;;;;,;;;;;;;,,,,,,''.............',;;,,,''..........''''..........................................................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................'''''''''''''''......'',,;:::::::::c::::;,'..'',,'',,,,,''''''''''''''''....'''''',,,,;;;;;;;;;,,,,,,,,,;;;,,'''..'''''',;;;;;;;,,,;;,,,,'''...............'',,,,'''''.........''....''...''................................................................................................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................'''',,,,''''''''''',,,;;::::::cccclllc:;;,....'''..''''''''''''''',''''....'''''..''',,,,,,,;;,,',,;;,,,,,,,,''''.'''''''',;;;;;,,,,,,,,'''................',,,,,,,,,,'....................'...............................................................................'................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................',,,,,,'''''',,,,,,;;;;;;;;::cllll::;;,''..........''''',,''''''''''..'''',,,,''..'''''''''''',,,;;;,''''''',''''''''''.''''',;;,,,,,,,,''...............'',,,,,,,,,'......................................................................................................................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................',,'''',,,,,;;;;;;::::;;,,,,,,;::;;;;,,'............'''''''''''''''''''''''',,''''''''......'',,;:;;,,,,''',,''''''''''''.....'',,;;,,,,'''''..........'''',,,,,,,,,''............................................................................................................................................................................................................................ ........................................................................................................................................
....................................................................................................................................................................................................................................................................................'''''''',;;;;;;;;;;;;;,,,,,,'',;;;;;;;,,'................'''''''''''''''''''''''''''''''''''''',,;;;,,,,,,,,,,'''''''''''''........',,,,,,,,,,,,,,,,,,'''''',,,,,,,,,''.....''...............................................................................''''''''''''...............'.......................................................................................................... ........................................................................................................................................
....................................................................................................................................................................................................................................................................................''''''',,;::::::;;;;;,,,,,,;;;:::::;;,,,''...............'''''''..'''''''''',,,,,,,''''''''',,,,,,;;,,,,,'''''''''''''''''''..........''',,,,,,,,,,''......',;;;,,,,,''.....''''..................................................................................'''''''''.................................................................................................................................................................................................................................................................
...................................................................................................................................................................................................................................................................................''''',,,,,,,;;::::;;;;;;;;;;;;::::::;;;,,,''..............''''''....''''''''',,,,,,,,,,'''''''',;;;;;,,,,'''''''''''''''''''..............'''''''''.........',,,,,,,,,'''....''''.....................................................................................'',,''''''.............................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................................''',,,,,,,,,;;;;;;;;;;;;;;;;::::;;;,,''...............''''..'''''''',,,,,,,,,,,;;,'''''',;;;;,,,,,,'''''''''''''''''....................'............'''',,,,,,,,'''''''''''''.....''............................................................................'''''''....''''''....................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................''''',,,,,,,,,,,,,,,,,;;;;;;;,,,,,,,,,'..................''''.''''',,,,,;;;;;:cc;'..'',;;;;;,,,,,,,'''''''''''''....................................',,,,,,,,''''''''''''''''''........................................................................................'',,,'''''....................................................................................................................................................................................................................................................
.............................................................................................''.........................................................................................................................................................................................''''''''',,''''''''',,,,,,,;;;;;,,,,,,,;;,,'.......................''''',;;:clllcc:,...',;;;;,,,,,'',,'''''''''''''....................................',,;;;;,,,''..........''''''''.....''...............................................................'''...........'''',,,'''''''.................................................................................................................................................................................................................................................
..............................................................................................'''''............................................................................. ...............................................................................................'''''''',''''',,,,''....'''''',,,,,;;;;;,,,,;;;;;;,,'''.........................',,;:ccc:,'...',;::;;;,,,,,,,,''''''''''''..................................',,,,;;::;;;,,,,'.........''''''''''''''''...............................................................................'''''''''''................................................................................................................................................................................................................................................
................................................................................................'''''........................................................................... .............................................................................................'''.............',,,''....'''''',,,,,,,,,,,;;:::::;;,,,,,,'............................''''....',:clc:;,,,,,,,,''''''''''''''.............................'',,,,,,,,,;;;;;;;;;,,''............''''''''.'''........................................................................................................................................................................................................................................................................................................................................
.................................................................................................'''..................................................................................................................................................................''...........................''''''.'''''',,,,,,,,,;::::::;;;,,,,,''''''..............................',;:ccc:;,,,,,;;,'''''''''.'''...........................',;;;;;,,,,,,,;:::;;;;;;,,'''''''.......'''..'''''''.......................................................................................................................................................................................................................................................................................................................................
..................................................................................................''.............................................................................................................................................................................................'',,,,,,,;;,,,,,,,,,,,,,;;;;;;;;,,,,,,,,,;;,,,''...........................',;::c:;,,',,,;;,''''''................................',;;;;::::::;;;;;;;;:::;;,,',,,,''........'''..''''''''......................................................................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................'''.....''''''......',;;:::;;;,,,;;,,,,,,;;;;;;;;,;;;;;;;;;,,,''..........................',;;:;;,,'',,,,,'.....................................'',;:::::::::::;;;;;;;;;;,,,,;;;,'..................'',,'.....................................................................................................................................................................................................................................................................................................................................
.....................................................................................................'''''............................................................................................................................................................................'''',,''.........'',,;::;;;,,,,''''',;;::::;;;;;;;;;;;;;,,'',,,'......................,;;:;,'''''''...........................,;::;;;,,'''''',,;:::::::::::;;;;,,;;;;,,,,;;;;,'..................','......................................................................................................................................................................................................................................................................................................................................
....................................................................................................'''''''..........................................................................................................................................................................''''..............'',,,;;;;;,,,,,''',,;;:::::;;;;;;;;::;;;;;;;;,,,,,''................,;ccc;,,,,,,''....................',;:::cclooolc;,,,,,,',,;;::::::::::;;;,,,,,;;,,,,,,,;;,'..........'''..................................................................................................''.........................................................................................................................................................................................................................................
.....................................................................................................''''''''.......................................................................................................................................................................''''..............'''',;;::::;,,;,''',,;;:::::::;;;;;;;:::ccccc::;;;;;;,''............,;:cc:;,,,,,,,,'''........''''',,,;clllllllllllc:;;,,,,,,,,;;;;;;::::::;;;;;;;;;;;;,,,',,;;,,''............................................................................................................'..........................................................................................................................................................................................................................................
.......................................................................................................''''''.......................................................................................................................................................................................''',,,,,;;;;,,',,,,,,,,;;;::::::;;;;;;:::cccccclllllllc:;;,,'''.....',;:ccc:;;,,,,,,,'''''''''',,;;;::cccclllllllcc:;;,,;;,,,,,,;;;;;;;;;;::::;;;;;,,,,,,,,,''',,,,''....................'''................................................................................................................................................................................................................................................................................................................................
........................................................................................................'''''........................................................................................................................................................................'................',,'''','''''',,,,,,,,;;:::;;;;;;;::::::cccccclllllllc:::::;;,,''',;coddolc::;;;;;;,,,,,,,,,;;:ccclllllclloolllccc:;;;;;,,,,,,,,;;;;;;;;;;;;;;;;;,,'',,,,,,''',,,,'''...................'''''.............................................................................................................................................................................................................................................................................................................................
.........................................................................................................'''.......................................................................................................................................................................'''.....................'',''..''',,;;;;;;;;;;;:::::::::::::ccccc:::ccccc::ccccc::;;;:ldddoollllccclcc:::::::::cccclllllccllooollllllc:;;;;;,;;;;;;;;;:::::;,,,,;:::;;,,,,,;;,,'',,,,,,'.......................................................................................................'''...........................................................................................................................................................................................................................................
.'''''''..............''..................................................................................................................................................................................................................................................................................'',,,''''''',;;;;;;;,;;;:::::::::::::::::::::::ccccccccccccclldxxolccldxxdooooooollllllllcc::ccllccclooolllcc::;;;,,;;;;;;;;::::::::::::;;;::::;;;,,,,,,,,'',,,,'..'''.....................................................................................................'''''''''''''..............................................................................................................................................................................................................................
.'''''''''............''..................................................................................................................................................................................................................................................................................'',,,''''',,;;;;;;,,,,,;;;;:::::::::::::cccllllcccccc::::::::clollloxOKNNX0kddoooolllllllllolccllcclllollccc:::;,,,,,;;;;:::::;;;;;;;:::::;;;;;;;;;,,,,,,,''''''''...........................................................................................................'''''''''''''............................................................................................................................................................................................................................
.''',,''''''..........'''................................................................................................................................................................................................................................................................................'''',,'''''''',,,,,;;;;;;;;;;:::::::::::ccccclllccc::;;;;;;;;;;;::clodxxxkkxddddoollllllllllollllllllllllccccc::;,,,;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,''..''''''''''''..................................................................................................'''''''.................................................................................................................................................................................................................................
.'''','''''''..........'''...............................................................................................................................................................................................................................................................................'''''''''''''''',,;;;;;;;;;;;:::::::::::::::ccllc:;;;;;:::::::::ccccllllllccclollloddoodolccccllllccccccccccc:::;;;;;;;;;;:::;;;;;;:;;,,,,;;;;;;;;;,,,,,,,;;;,,''''''''''''''''.................................................................................................''''''.................................................................................................................................................................................................................................
.','''''''''''...........'............................................................................................................................................... .............................................................................................................................'''''''''',,,'''',,,,,,,,,,,,;;;;;;;;;;;;;;::cloolc::::cccccclllllllllloodollcc::coxOOkxdddolccccccc::::::cccc:::::::::::::::::::;;;::;;;;;;;;;;;:;,,,,,,,,;;;;;;,'''''''''''',,,''''.............................................................................................'''''.................................................................................................................................................................................................................................
.'''''''''''''.........................................................................................................................................................................................................................................................................................''''''''''''',,'''''''',,;;;;,,,,,,,,;;;;;;;;;::clllloollcccccclllllllllllooollllllldkkxdddxxdoc:::ccc::;;::::::;;::::::ccc::::cccc::::;;;;;;;,,,;;;;,,,,,,,,,;;;;,'''''''',,,,,,''''''.............................................................''''''''.......................'..''.................................................................................................................................................................................................................................
......''''''''........................................................................................................................................................................................................................................................................................''''''''''''''''''''''',,,;;;,,,,,,;;;;;;;::;;;;:ccc:::cc:::ccccclloollcccclllllloooloodddxxkxxxdl::::::;;;;;;;;,,,,,;;;;;:;;;::::::::::;::::;;,,',,,,,,,,,,,,,,;;;,,''''',,,,,,,,'''''''................................................................''''''...................'''...'.................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................................''''''',''..'''''''',,,,,,,,,,,,,,,,;;;;;;;;;;;;;:::;;::::::::::ccloddolcccccccccccllllcclodddoodollc:;;;;;;;;;;,,,,,,,,,,,,,;;::;;:cccc:::::::::;,,,,;;,,,,,,,,;;;,,,,''''''',,,,''''''..................................................................'''''...........''......''''.....................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................'''''''''''..''''''',,;,,,'',,,,,,,,,,,,,,,;;;;;;,,;::ccc::::;;;::cldddolccccccccccccccllcc::::::cccc::;;;;;;;;;;;;;;;;;;,;;;;;::::::cc:::::::;;;;;;,,;;,,,,,;;;;;;;,,,,,,,,''''''''''''''.................................................................''''''.........''''''''''''''....................................................................................................................................................................................................................................
...................................................................................................................................................................................................................................................................................................'''''''''''....''''''',,'''...'',,,,,,;,,,;;,;;;;;,,,;:ccccc:::::clloooolllccccccccc:cccccc:::;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;,,,,,,,,,,,,,,,;;;;;;,,,,,;;;,,'''''''''''''''..................................................................'''''''''''''''''''''''''''...................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................'''....................''''''''''''.........'''.....''',,,,,;;;;::;;,,,;;;,,;;;;:::::clodxxdooollccccc:::::::::::::;;;;;;;;;;;;;;;;:::::c:::::;;;;;;,,,,;::cccc:;;;;,,,,,,,,,,,,,,,,,,;;;,,,;;;;;;;,,''''''''''''''''.........................................................................''',,,,,'',,,''''''...................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................''''''''....................''',,'''''................''''',,,,,,,,,;;;;;;;;:clc:;;;::;::clodddooolccc::::::::::;;;;;;;;;;;;;;;;;;;;:::::::ccccccc::;,'..'',;::::::::;;,,,,,,,,;;;:;;;;;;;;;,,,;;;;;;;;;,,,,,,,,,,,,'''...........................................................................'''''''..''''''......................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................''''''''''.'''.''''....''...''',,'''''............'''''''',,,;;;;;;;,;;:::::clolc:::cccccllloooooolcc:::::;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::cclllllcc:;,,,,;;;::;;::c::;;;,,,,,,,;;:::::::::;;,,;;;;;;;;;;;;;,,,,,,,''..................................................................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................','''''......''.....'''''''',,,,''''''...............'''''',,,;;;:::c::::::::::::::ccldxxxddoloooooolccccc::::::::;;;;;,,,,,,,;;,,,;;;;;;;::cccclllllcccc::::::::::::c::;;;,,,;;;,,,,;::cc::::;,,,,;::::;;;,,,,,;;,,,'''...............................................................................'''''''.....'''...................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................'''''.....'''...........'''....''''''',,,'''''''................''''''',,,;;::ccllcc:;,,;;:::::cldxxdooolooooooollllccc:::cc::;;;;,,,,,,,,;,,,;::::::::ccc:::ccllllcc::::::cccc:::;;;;;;;:::;;;;;;:::::;;;,''',,;::;;;,,''',,,,,'''''''.......................................................................................'''.....''''''''......................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................'',,''''''''''''''''''........................',,,,,,,,,;;::ccc::;;;;;;:::::::::ccclllllllloooooollllcccccc:::;;;::;;;,,,;;;;::::::::ccc::::ccccccccc::::::::::::::::::;,,,,;;;;,,;::::::;,'',,;;:;;,,'''''''''''''',,''...................................................................................'''''''''''''''''''.....................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................'''''''''''''''''''''........................',,;;;,,,,,,,,;;;;;;;;;;::::::::::::::cccccclllooddoollllcc::::::;;;;:::::;;;,;;:::::cccccccccc:::::ccccc::::ccccccccc:::;;,,,''',,'',,;;;;;;;,,''',,;;,,,,''''..'''''''''..................................................................................................'.........................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................''.'','''''''''''''''....................''''...'',;;;;;;;,,,''',,;;;;;::cc::cc:::::::cccccccllooooolllcccc::::::::::::cc::;,,,;;:::cccccllllcc::::ccccc::::::::::cccc::;;;;,,''''''',,,,,,;;;;,''',;;;;,,,'''.''''''....................'...........................................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................'''.''''.''.......'..'''..........................',,;;;;;;;;,,,,,;;;::clllccccc:::;:::cccccccccccccccccccccccccccccccccccc::;;;;;::ccccccllllccc::::::::::::::::::::c:::;;;;;,,,,'''',,;;,,;;:;;,,,,;;;;,;;,'...'.....................''''..........................................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................'''...'''''...............'''',,'...........................'',,;;;;;,,,;;;::::clooollllllcc::::cccllllccccccccccccccllllccccc::cccccc:;;;;::ccccccccccccc::::::::::::::cc::::::::;;;;;;,,,,,,,,,,,;;;::::;,''',,,,,,'........................'''''................................................................................................................................ ..........................................................................................................................................................................
...............................................................................................................................................................................................................................................................'',,;,''',,''...............'''''','.............................'',;::;;;;;::::::ccllllllllc::::::ccccllcccccccc::::cclllolc::::::ccc:::;,,,,,;;;:::::ccccccc:::::::::;;;;;;;;;:::::;;;;;;,,,,,'''''',;;:::;,,''',,,;;,,''''...................''',,''.................................................................................................''''''''.................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................'',,,;;,,,''''..............'''''''''..'''......................''''',,,,,,;;:::::::::cccccccc::::::::c::::cccccccccccclloodollcccccccloool:,,,,',,;;::::ccccccccccc:::cc:::;;;;;;:::::::::;;,,,,,,,,''',,,;;;;;,,,,,,,,,,''''.....''''........'''''...............................................................................................''''.''''''',,'................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................'''',,,;;,''........''''''.'''''''''''''''........................'''''...',;;::::::::::::::cc:c::;;;;;::::::ccc::cllcccloddolllc:;;;;;::cc:;,,,,,,,;;;;;;;::cccccc:::::cc::;;;;;;::::::::::::;;,,,,'''''',,;:::;,,,,,,,,'''.................',,,,''...........................................................................................''',,,,'''''...''''..'',,'.........................................................................................................................................................................................
...............................................................................................................................................................................................................................................................'''',,,,,'.........''''''''''''''''''''''''................................',,,,;;;;;;;;:::::::;,,,;;;:::::::::::ccccccclllc:;;;,,,,,,',;:::;;;;;;;;;;;;;;;:ccc:::::;;,,,;;;::;,,;;:;;;;;;;:::;,'''''.'''',;;;;;,''''''''...................',,,,,,,,'......................................................................................''',,,,,'''''..........''',,,,''.....................................................................................................................................................................................
.............................................................................................................................................................................................................................................................'''',,,;,,''......''''.....''''',,''''''''''''.........................................'',,;;,,,,'',,;;;:::::;;;:::ccc::ccccc::;;:ccc:;,,,;;;;;;;;;;;;;;;;;;;;:::ccc::;,,,,,;;::::,,,,,,,,,,,;;;;,,'''.....'',;;;;;,'.''''''..................''',,,,,;,,'..'''............................................................................................................'''.....................................................................................................................................................................................
...........................................................................................................................................................................................................................................................''''''''',,'''..............''''',,,,''''''''''''''..................................................'',,;;;,,,,',,;;;;::::::;;;,,,;;::;,,,,,,,,;;;;;;;;;;;;;;;;;;;;::::::;;,,,,,,;;;;,,,,,,,,,,,,,,,,,'''.....',,,,,'''',,''''............'''''''''''',,,,,'''''............................................................................''......................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................''''''''','''.''''''''.....''''',,,,'',,''''.............''''',,,,''...............................'''''...''''''',,',,;;;;;;;;;,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;,,,,,,;;;;;;;;;;,;;;;:::;;;;;,,''''',,,,,''....'''''''''''''''''''..............'''''',,,,,,'''......................................................................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................'''''.''''''....................''''''''''............'''',,;ccc:;,''.............................'''''.....'',,,,,,''''''',,;;;;;,,,,,,,,,,,''''',,,,,;;;;;,,,,,,,,,,,,,,,;;;;;,,,;;;:;;;,,,''''''''''''''....''''''''''''''''''................''',,,,'''''''.........................................................................................';;;,'.....................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................'''....'''...................................'..............'''''',,:ccc:;,''.................................''''...'',,,,,'''''''''',,,,,,''''',,'''''''''''''''''''''''''''''',,,,,,,'...',,,,,,,,'''.....''''''.....''''''''''''''.........''.......'''''''''''''''......................................................................................'';cddoc,.....................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................'''............''...................................',,,'''',,,,,''''''''''''''',,;,,''..................................'''''''''.....................................''''''''''''...'''.''''''.......',''''....''''...''''''''''...''......'''''''''''''''''''''''''..................................................................................',:clc:;,'...................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................''.............'...................................'',,''''''',,,,''''''''''''''',,,,,'''...............................................................................''''''''''.....................','''''...''','''''''''''''''...',,,,''''''''''''''''''''..........................................................................................''',,;,,''.................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................................................',;;;;;;;;;;;:;;,'''''''''''''',,,,,,,'''''''''......................................................................................................',,,,'''.....''''.....''''''''....',,,,,''''''''''''''''...............................................................................................''''''''''''...........................................................................................................................................................................................
..'........................................................................................................................................................................................................................................................................................................,;cllllloollllool:;,'''''',,,,,''',,,,,,,,''''''......''................................................................................................',,,'''.............'''''''''''...'',,,'''.....''''''''.''...................................................................................''''..........'''''''...........................................................................................................................................................................................
.'''''''....................................................... ........................................................................................................................................................................................................................................,:ldxkkkkkkkkkkkxxdol:,''.',;::::;,,'',,,,,,,'''''''''..''''''''...........................................................................................'',,'''..........'''''''''''''''''....................................................................................................''......'''...............'''........................................................................................................... .............................................................................
.','''''''............................................................................................................................................................................................................................................................................................':lxO000000KKXXKKK0kxdol:;;;:cloooolc:;,,,,,,''',,,,,,,,,,,'''''''''...........................................................................................'''................'''',''''',''''..............................................................................................................................'.................................................................................... ....................................................................................................
.','''''''''.........................................................................................................................................................................................................................................................................................,cdO0KKXXXNNNWWNNNX0kxdolcclodxkkkkxxolc:;,''..',;:ccccc::;;,,,'''''''''''....'''''................................................................................................'''',,,,,;,,'''''''''......'''''.......'''........................................................................................................................................................................................ .....................................................................................................
.''''''...'''......................................................................................................................................................................................................................................................................................';lk0KXXXNNWWWWWWNNXK0kdolccloxkkkkOOOkxdolc:,'...;cllooollccc::;,'''''.'',,,,,;;:::;;;,,'................'..........................................................................''''',,,,,,,,,'''''''.....''''..............''..........................................................................................................................................................................................................................................................................................
.''''.....''''..................................................................................................................................................................................................................................................................................',;cok0XNNNWWWWWWWNNXXKOxdlc;;:lxkkkO00000Okkxoc;...':lodddddooolllc::;,.....,,;::cccccccc::;,'''''.......',,,,,,,,''...............................................'.........................''''',,'''''''''..''''............................................................................................................................................................................................................................................................................................................
.'''.......''''...............................................................................................................................................................................................................................................................................,;:cldk0XNWWWWWWWWWNXXKOkxoc:,',cdOKKKKXXKKK00Oxl;....,coxkkkkkkkxxxdddoc,.....,:clooooolllcc::;;;,,'..',,;::cccccc::;;,,''.................'.................................................''''''.....''''''''''''''.'''..........'''............................''......................................................................................''....................................................................................................................................................................
..'..........'...............................................................................................................................................................................................................................................................................,cllodxOXNWWWWWWWWNXX0Okdl:;'...,lkKXXXXXXK00Oko;......;lxOOOO00OOOOkOOkd:'.....,cdxxkkkxxdooolccc:;'..';cllloooddooollcc:;,,'''..'',,;;:cclllcc:::;''....................................''.''..'''.......''''',,''..........''''''''''''''''''................'..................................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................................;ldddddk0XNWWWWWWNNX0Oxoc;'......;oOKXNNWNXKOko:'......':dO000KKKK0OOOkdl,.......':oxOKKK0OOkxxxxoc:,...':oxxxkkO00Okkxdddolc:;,',;:clodxkOOOOOkxxxddoc:,.......'''.......................'',,,'''''........'''..''................'''''''''''''''..............''''................................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................................':oxkkxxxkKNWWWWWWNXK0koc;'.......':dk0KKXXK0ko:'........,cx00KKKKKK0Okdc,..........':dOKXXK00O0OOxo:'.....;okO0KKXNNXKK0Okkxdl:,',;cloxkO0KXXXNNXXXK0Okxoc,.......''.......................'',,,,''''......................................''',,,''''..'..........'','...............................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................................,cxOOOkxxk0XNWWWWWNNKOxo:,'.........,codxkkkdl:'..........,lx00KKKK00Oxl;.............,lx0K0000K0Odc,.......,cdk0KXNWWNNXK0Okxo:'..';codk0KKXNWWWWWWWXKK0Oko;'.................................''''................''........................''''',,''...............'''...............................................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................................................................,lxO000OkkOKXNNWNNNXKOxoc;'............',;::;'.............'ckKXXXXK0Oxc'..............,cdO00000Oko;..........,cdOKNNWWNXXK0Oko;'.....;ldO0KKXWWWWWWWWNXK0Oko;'.................................'''................................................''''.................................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................,lxOKKK0OkO0KXNNNNXKKOxol:,.................................':x0XNNXKOxc'................,cdkOOOkdc'............,cxKNNNWNNXK0kl;.......';ldkO0KNWWWWWWWWNXK0ko:'.................................'''.....................................................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................'cxO0KKK0OkOKXNNNNXK0Okdlc;'..................................;ok0KK0Od:'...................';::;,'...............;oOXNWWNXKOdc,..........,coxO0XNWWWWWWWWNXKOdc,.................................'''.....................................................................................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................'cxO0KKKK0OO0KXNNXXKOkkxoc;,................................. .';coool:,............................................,lxO00kdo:,.............':ox0KXNWWWWWWWNXKOxl;........................................................'''..................................''..........................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................'cdO00KKXXK00XXNXXKOkxxddl;'.......................................,'...................................................'''...................':ok0KXNWWWWWWNXKOxl;'........................................................',,'...............................'''..........................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................;lxO00KKKK00KNNXK0Okxxxdl:,....................................................................................................................'cdk0KXWWWWWWWNK0ko:,.....'',,,,,'............................................'''''.............................''...........................................................................................................................................................................................................................................................................
...................................................................................................................................................................................................................................................................................,cdkO00KKOkkOKXK0Okxxddolc:'.....................................................................................................................'cok0KXXNNNNNX0Oxo:,''''',;;::::;;,'.........................................'''''.............................'................................................................................................................................................................................... ........................................................................................
..................................................................................................................................................................................................................................................................................,:lxkO00K0OkkOOOOkkxddolccc:,......................................................................................................................':oxO000KKKK00kdl:;;;;;;cldddooolc:;,'.......................''''...........'''''.............................'................................................................................................................................................................................. .......................................................................................
.................................................................................................................................................................................................................................................................................':ldkO00000Okxxkkkxxdlcccclcc;'......................................................................................................................':oxO0OOO00OOkdlcc:cccoxO00OOkkxddoc;'.....................'''''''''.......''''''..........................'''...'''................................................................................................................................................................... ............. ................................................................................
.................................................................................................................................................................................................................................................................................,cdkOOOOOOOkxddddoolc::cclollc;'......................................................................................................................';lxkOOOOOkxxdllloodxOKNNNXXKK0OOxoc,.....................'''''''''.......''''''.........................''''..''''................................................................................................................................................................... ...............................................................................................
................................................................................................................................................................................................................................................................................':ok0000OOOkxdlc;,',;:::cclooolc;'.......................................................................................................................,cdxxxxxkxdolloxkO0KNWWWWWWNNXK0xl,.....................'..'''''.........''''................................'''''........''......................................................................................................................................................... ................................................................................................
...............................................................................................................................................................................................................................................................................';lx0KKK00OOkxo:,....,;::ccclllolc;'.......................................................................................................................,:cllodddoloodxkO0KNWWWWWWWNXXKOd:'.........................................................................'''''''......'''..........................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................'';cdk0KKK00OOxoc;'...',;:ccllllooool;'.......................................................................................................................,:cllloollodxkkO0KXNWWWWWWNXXX0kl,............................................................................''''.....''''..........................................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................................................',;ldkO000000Oxoc;,'...';:ccllooodddddl:,'....................................................................................................................',clloooolllodxkO0KKXNWWWWWNNNXKOo;............................................................................'.......'''''''........................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................',:ldkO000000Okdc;'''',',;:clloodxkkxddol;'....................................................................................................................,:llooddolllodxkOKKKKXNWWWWWNNNKOo;...................................................................................''....'.........................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................''';coxkOOOO0OOxoc:;,'',,,,;:clooodxkkkxxxoc;'..................................................................................................................,:loooooollcccldkOKKKKXNWWWWWWNNX0x:'...............................................................''''''..........''''''.............................................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................'',:ldxkOOOOOkxl:;,,''',,,,;:clllodxk0K0Oxdoc;''...............................................................................................................':lodxxddoolc;,,cxO0KKXNWWWWWWWNNX0xc,...............................................................'''',''''..........''...............'..............................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................'','''.......................''''',;loxkOOOOOOxo:,''''',,,,,,;:llllodxkOOkdddoc:;,''''''.......................................................................................................,clodxxxddoooc,..,cxO0KXNWWWWWWWWNK0xl,............................'''''............................'''''',;;;;;,................''......................................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................',,,,,''..................'''''',,,:oxkOO000Oko:,'...'',,,,,,,;ccllooooodddddolc:;,''''''''...................................................................................................,coddxxxxoooooc;...,cxOKXXNWWWWWWWNX0kl,...........................',,,,,,''.......................'''''''',;::c::,'.............''''......'.............'................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................',,,,,''.........'''.....',,,,,,,,;ldxkO000Oxl:,'''''.''''''',;:clllllooooodddddlc;,,'''',,,,,,,'''''''''''.........''''''',,,,'''..'''......................................................,coxxkkkkxxddol:,....,cxOKXNNWWWWWWNXKko;...............'''''''''.''''''''''''''......... .........'''''''''',:cll:;;,'..........'',''''.'''''............''...............................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................',;;,,,''''''....'',,'...',,,,,,,,,:oxkO00OOxl:,''''''''.......',;:ccccllloooddxxdol:;,,,,;::ccccc:::::;;;;,,'''''''''''',,,;;;;;;,,,'''...................'''...............................,cdkO0000OOkxolc;'.....,lx0KXNNWWWWWWNKOd:'............'''''''''.....'''''',,,''''''...... ........''''''''''',;:cc:;,,'.........''',''''''''...............................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................,;:::;,,,''''''...'',,'...',,,,,'',;cdkO000Oxo:;,''',,'''........';:ccccccllloodxxxdol:,,,,;:cclloollllccc:::;;;;,,,',,,,,,;;;;;;;;;;;,,''''....''''',,,,;;;;;;;;;,,,'''....................':okOOO0KKK0Okdoc;,.......,cx0XNNNWWWWNXKOdc;...........'''''''''''''''''''''',,'...''............''',,,,,,,,''',;;:cc:;,''........''''''''''............................................................................................................................................................ ...................................................................................
.....................................................................................................................................................................................................................................';::::;,,,'''''''''''''',,,,,;;;,,,,:oxkO00Okoc:;;,,,,,'''........',;:ccc:cclloodxxxddoc:,,,,;::clooooolllccccccccc::clllcccccccccccccc::;;;,,'''''',;::::::cccccc::;;,,''..................,cdO00KKKKK0Okxdl:,'........,lkKNNNNNNNXXKOdl:,..........'''''''''''''''''''''''''''''............';:;;;,,,,,,'',,;;:llc:;,''.'''''..''''''.............................................................................................................................................................. ...................................................................................
......................................................................................................................................................................................................................................,:::::;,,'''',,,'''''',;:::::;;;;;:ldxkOOOkdl:;;;;;;,,''..........,;:c:::::codddxxxdddlc;,,,,;;::cllllllllcclllooooodxxxxxxxxxxxxkkxddoollcc::;;;;;;:::cccccccllllcc:;,''................':lxk00KXNXK0Okxdoc;,''''......,ckKNNNNXXKKKOxl:,'.........'''''''''''''''',,,,,'''''''''.........',:llc:;,,,,,,,,;;;;:clc:;,,'''''''''''........................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................':cllc:;,'',,,,,'''''',;::::::::ccloxkO0Okdl:,,'',,,,,'..........'',:cc::::ldkkxxxxxxdol:;,,,,,;;;::ccccccccclllloodddxxxxxxxkkkkOOkxdddddollcc:::::::::cclllloddolc:;'.................;lxO0000KXXXKOkxool:;,,,,,,'''...,lkXXXXXXXKK0ko:,''......''''''''''''''''''',,,,'''''''''........',:lddl:;,,,,,,;;:c::;;:::;,,''...''''''........................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................';clc:;,'',,,,,,,'''''';;:::::::::ldkO0Oxl:,''''',,,,,'''.....''''',;ccc:::ldddddxdddddlc;,,''',,,,,;::::::::ccc::cclodxxxxxxxxxxkxxdoooollccc:::::::::cccllllllllc:;'................,cdk0KKKKKXXXXKOxdlc:,''',,,,,,,'..';oOKXXNNNXXKOdc;''......''''''''''''',,,,,,,,,,,''''''''..........';:c;,,,,,,,,,;:c::::cc:;;,,'''''''''.........................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................',;:;,''',,,,,;;;,'...',,;;::::::cldkkkxl:,'''''',,;;,,;;,,''''''',,,;;;;,,,;cldxxxxxdolc;,'....'''',,,,,,;;;;;;;;;;:cclooddxxxxxdolcc::::::::::::::::::ccccccc::;,'................':oxO00KKKXXKKK0Okdl:;,'...',,,,,,'''',:okKXXXXXXKOdc;,''...'''''''''''''',,,,,,,,,,,,'''''''''.........',,,,',,,,,,,,;;;;;;;:::;;;;,,,,,,,''..............''''.......................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................',,,''',,,,,,,,,'....',;;::::::::ldddol:;;,,,,,;;:c:::::;,,,,,,,,,''''''''',;codxxkkkxdl:,..........'...'''',,,,,,,;;;;::cloodddolc::;;;;::::;;;;;;;;;;;;;;;;;,,'.................;codddxkO0KKKK0Okkxoc:,'.....',,,,,'''',;cdOKXXXXXKOdc;,''..''''''''''',,,,,,,,,,,,,,,,''''''','''.....'',,,,,,,,,,,,,;;;;;;;;;;;;;;,,,,,;;,'...............',,'''''...................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................'''',,,,,,'''''...',;::::c:::::llc:;;;;,,;;::ccllc:::;,,,;,,,,,,'''',,,,;:cloxkOOOkxoc;,'',;;;,,'''......'''''''''',,;::cclllcc:::;;;;;;,,''''''''',,,,,,,,''................,:locc::coxO00000Okdl:;,''......'''''''''',:lx0KXXXKKOdc;''..'''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''...',,,,,,,,,,,,,,;::::::::;;;,,''''',;,''.................''',''................................................................................................................................................. ....................................... .......................................
..........................................................................................................................................................................................................................................'''',,,,,,'''''...',;;;::::::::::;,,,,;;;;::cclllc:::;;,,;;;,,,,;;;;;;;;:clodkO0OkxdocccldxkOkxdl:;,'......''''''''''',,;:ccc:::;,,,,,'''..'''''''''''''''''................,:llc:;::::lodxkOkdoc;,,'''.......''''''''',;cok0KXXKKOdc;'''''',,,,,,,,,,,;,;;,,,,,,,,,,,,,,,,,;;,''....''''''',,,;,,,,;;;:::::;,,'......'',''............''''....','....................................................................................................................... .......................... ................ ........... ................................................
..........................................................................................................................................................................................................................................'''''''','''''....'',,;;,,,;:::;;;,,;:::ccccclllolc::::::;;:::::ccccccclcclodkOOkkkxdlldkOKXXXXK0ko:,'......';:cc:;,,'',,,,;,,,,'...''.....'''''''''.......................,:llcccc::;;::clllc:;,'',''.......'',,,,,''',,:lxOKXXKKOxc;,'''',,,,,,,,;;;;;;;;;;,,,,,,,,,,,,,,;;;;,...'..''',,,,,,,;;;;;;:::::;,'.........................'',,'...','................................................................................................................................................................................. .........................................
....................... ..................................................................................................................................................................................................................''''''''''.........'',,,,,,:ccc:;;;;;:clllllloooooolc::::::ccccccccccccc::cldxkkkOOkdoodkOKXNNXK0Oxl;......;lx0KKOxl:,',,,''''',;:cc:;,''''''''......',;:;,'.............':ldddoollc:::;;:::::;,''','........''''''''''',;:ok0KK000xl:;;,,'',,,,;;;;;;;;;;;;,,,,,,,,,,,,,,,;;,,....,:loc;;;;;;;;;;;;::::;;,,'...........................'',''.',,'........................................................................................................................................................................ ............. ...........................................
...................... ............................................................................................................................................................................. ....................................''''''''''..........',,,,,;cllcc:;;;:clodddddxxxxdollc:;;::ccccc:::cccc:;;;:loddxxxdllodkO0KKK0OOkxo:'...':dOKXXXKOdl:,,,'''.';cdkO0Okdl:,'.........,lkOOkdl;'.........';okOOOkxdllcccc::::::;,'.''''...''''''''''''''''',;cxOKKKK0koc:;;,,,,,,;;;;;;;;;;;;,,,,,,,,,;;;,,,;;;;,'..':okxoc::::;;;;;;;;;;;,'''...............................''''''........................................................................................................................................................................ ........................................................
..........................................................................................................................................................................................................................................''''''''''..........,;;,,;clllcc:::cclodxxxxxkkkxdollc:;,;;:::::::::::;;;;,;:ccclc::;:loxkOOOOkxddol:;,,;:oxk0KXK0Oxoc;,''''';cdkO0KKKOxl;'........:d0XKOOkxoc,.....';:cokO00OOxdlcclllllccc:;,'..'''...'''''''''''''''''',cdOKKXXKkoc:;;;;,,,,;::::::::::;,;:::;;,;;;;;;:::::::::::cc:;;:cc:::;;;;;;;,,'''...''............................''''''....................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................''....................',,;:clllllcccloddddxxxxxxddoollcc;;,,;;;;;;::;;;,,,,,;;;::::;;,;:clodxxddolllcc:::ccodxkO00Okxdoc;,,,;;coxkkO00Okxoc;,'''.';lkKK0Okkkxdol:;,,;coodk0000Okxoollloooooll:;,'..'''...........'''''''''',:ok0KXXKkoc:;;;;;;;;;;:::::::::;::cllc:;;;;;;;::::::::::;;;;;;:cccc:::::;;,'''....'''''.........''''''''.'''''.....'''''...................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................''....................',,,;:cloooollloddddxxxxdooooooolc:;;,,,,;;;;;;;,,'',,;;::cc:;;,,;;;::ccccclloolc::cclodddxxddddolc:::ccloxxkkOOOkkdol::;;:coxkOOkkxxxddooolccloddxkOOkxxdolllclllooolc:;,''''''.......'''''',,'''..'';cxOKXXKko::::::;;;;;;;;;;;;;;;::ccccc::::;;;;;;;;;;;;;;;,;;;;::cc::::::;,,,''''..'''''......'',,,,,,,,'''..''''....''''''.................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................''.....................'',;:clloollloddxxkkxdoolllllllc::;;,,,;;;;;;;,,,'',;;:::::;;;;;;:::ccc:cclllcc::::cllllooooooolccccccclodddxdddddollcloooodddxxxdddddddollcllooodddolllcccccloooooolc:;,'''''.....'''''''',,''''''',:oOKKK0xl:;:::::;;;;;,,,,,,,,,;:::ccc::::;;;;;;;,,,,,,;;;;;;;;;;:;;:::;;,,,,''...'''''....'''',''',,,,''......''.....'''''................................................................................................................................................................................................................................
.................................................................................................. ..............................................................................................................................................................',;:ccllllloddxkkkkxddoollcccc:::;,,,,,;;;;;;,,'',,;;;;;;;,,,;;::cclc:::::::::::::cclllooooollllllccc:ccllcccccclllloddoollllooolllodoolccccccllllcccccccclloooooollc;,''''''''''''''',''''''''''',;lx0K0Odc:;;;;;;,,,,,,,,,,,''',;;;:::::;;;;;;;;,,,,,;;;;;;:::::;;;;;,,,,,'''......''''.....'''''',,,,,,'''''...'''.....''''...............................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................',;:ccllllooddxxkkkkkdoollcccc::;,,,,,,,,;;;;,,,',,,,,,,,,'',,;;:ccc::;:;;:::::::cclllollllllllollc:::::;;;;;::cllloodoc;,;;;::;:::::::;;;:::::::;::cccccccllllllc:;,,''''''''''''.'''',,''''''',,;cxO00koc;;;;,,,,'''',,,,,,,'',,,,;;;;,,,,,;;,,,,,,;;;;;;;;;;;;;;;;,'''.....................''',,,,,,,,,,''''''''''......''''......................................................................................................................................................................................... ..................................
......................................................................................................................................................................................................................................................................';::ccllllodxxxkkOkxdollccccc:;,,,,,,;;;;;,,,,,,,,,,,,,,',,,,,,;;;;;;;;;;;::::::cclllllcccccccc::::::;;;:::cclllllll:,'',,,;;,,;;;::::;::::::::::ccllcc:::::::;;,,,,,,,,,,,'''....',,,,,,,,,,,,,,:ok0Oxl:;;,,,,,,,''''',,,,''',,,,,,,,,,,,,,,,,,,,,;;;;;;;;,,,,,;;,'.......................'',,,,;:::;;,,,,,'''''''........',''...........................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................',::ccllodxxxxxxxdoolllccccc:;,,,,,,,;,,,;;,,,,,,,,,,,,,,,,,,',,,;;;;;;;;::::::::ccccc::::::::::::::;;;:::cccllclcc:;,,;;:::;;;:ccc:::::::::cccllllcc::;;;;,,,,,,,,,,,,,,,,,,,''',;;;;;;;;;;;;,,,:oddl:;;,,,,,,,''',,,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................'',,,,;,;:c::;,;;,,,''''..............''.........................................................................................................................................................................................................................
........................................................................................................................................................................................................................................................................',:ccloddxxxxxdoolllcc:::::;;,,',,,,,,,,;;;;,,,,'',,,,,,,,,,,,,;;;;;;;;;;;;:::::cclllcc:::::::::::::;;;;;;:cccc::::::::::::::::::;;;;;;::::ccccc::;;,,,,,,,,,,,,,,,,,,,;;;;,,,,;;:::::::::;;;;,,,,;;;,',,,,,,''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''',,,''''..............'''......'',,;;;;;;;,,;,,;;,,,,''................'''......................................................................................................................................................................................................................
....................................................................................................... .................................................................................................................................................................,;:cclodddddooolllcc:;,,,,,,,'.'',,,,,,,;;;;;,,,,,',,;;;;;;;;;;;::ccc:;;;;;;::ccllllcc::::::::::::;;;;;;;;:::;;;;;::::::;;;;;;,,'',,;,,;;;,,,,,,,'''',,,,,,,,,,,,,,;;;:;;;,,;;:ccccccc::::;;;,,''''''',,,,'''....''''''''''''''''',,,,,,,,,,,,,,,,,,'''''''........''.......''''......''',;;:;;;,,,,,,;;;,,,,''.................''.......................................................................................................................... ..........................................................................................
.........................................................................................................................................................................................................................................................................';:clllloollllllllc:;;,,,'''.....''',,,,,,,;;,,,''',,;;;;::::::::ccllcc:;;;::::ccccc::::::::::;;;;;;;;;;;;;;;;;;;::::::;;;;;;;,,,,,,,,,,,'''..'''''',,,,,,,,,,,,,,,;;;;;;,,,;:clllllllcc::;;;,,''''',,,,'''.........''''''''''''''''',,,,,,,,''''''''''''''......'''........'''''.....''',,,,,,,,,,,,;;;;;,,,,,'................................................................................................................................................................ ....................................................................
........................................... ..............................................................................................................................................................................................................................,cloooollllloddoolc:;;;,,''''''''',,,,,,,,;;,,,''',,;;;;:::::ccc::ccc:::::cccccllllccc::::::::;;;;;::;;;;;;;::::::::::::::;;;;;;;;;;;,,,'''''',,,,,,,,,,,,,,''''',;;;,,,,,;:clooollllcc::;;;,,,'''''''''...........''''''''''''..'''',,,,,,,''''''.............'...........'''''........'''''''',,;;;;;;;,,,,,,'......................................................................................................................................................................................................................................
............................................................................................ ............................................................................................................................................................................';cooooollllodddoollccccllcccccc:::;;:;;;;;;;,,,,,,,,;;;;::::ccccccccccccccccllloolllccccccccccc::::cc:::::cccccllcc:ccccc::::::::::;;;;;,,,,,,;,,,;;;;;,,,,,,,,,,;;;,,,,,;:clloooollllcc:;;;;,,,''''''.............'''''''''''''',,,,,,,,,,,,''''......................'''''.............''''',,;:::::::;;,,,,,,'...''''..............................................................................................................................................................................................................................
........................................................................................... ............................................................................................................................................................................,;cooddddollllllllcccllloooooolllllllllcccc:::;;;;;;;;::::::cccccclllllllccllooooolllllllllcccccc::ccccccccccclllllllllllllccccccccc::::::;;;;;;;,,;;;;;;,,,,,,,,,;;;;;;:::cllooooooodolc:;;;;,,,'''.........''''...'''''''''''''',,,,,,,,,'''''.......................''''...............''''',,;:::::::;;;::;;;,'....................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................';cloddddoccccllllccllllooolllcccloddddoollllllllllcccccccccccccccclllccclllooooollllllllllccccccc:ccccccccccllllllllllloollllllllcccc::::::::::;;,,,,,,,,,,,,,,,;;;;;;::ccloodddddxxxxdlc:;;;;,,''........''','''''''''''''''',,''''''''''''.....................'''.....................'''',,,,;;::::;;,;:c::;;,'...................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................';clllllcc:cccllcccllllllllllllooddxxxddoooooooooooooooooolooooolccccccllooooolllllllloolcccccccccccclllllllllllllooooooooooolllllccc::::::;;;;;;,,,'''',,,,;;;;;;;;;:ccloodxxxxxxkkxddoc:::;;,,''.....................'''''',,,'''...............................'''......''''..........'',,;;::;;;;;;;;;,,,;::;,,'.....'............................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................';:cccccc:::ccccccclllooooollloooddxxxxddddooooooooooooooooooddddooolooooooooolllllllllllccccclllllccccccllllcccccccllllllccccllllccc:::::;;;;;,,,,'',,,,,,;;;;;:::::clodddxxkkkkkkkxddoc::;;,,''.......................'''''''''..............................'''''''....''''''......'',,;;;;:ccc::;;;;;;,,,;::;,,'''''''............................................................................................................................................................................................................................
...................................... .................................................................................................................................................................................................................................',:ccccc:::;;:::::::ccccclllllllooodddxdddddolllooddddoodddoooodddddddodddddxxddolloooooooooodxdoddddolcllllllllllc:::c::::;;;;;::ccc::ccc:::;;;;,,,,''',,,,;;::::cc::clodxxkkOkOOOOkxxddlc:;;,,,'........................''..........................................''''.''''''''...'''',,;;;;;;:::;;;;:::::;;;,'..'',,''....................................................................................................................................................................................... .....................................
........................................................................................................................................................................................................................................................................';ccc:::;;;,,,,,;;::ccccccclloooooddxxxdddddolllllooddddxxxdddddooooddodxxdxxxddollloodddooddxkkOOO00OOO00Oxollllollllcccc:::;;::::::::::::::;;;;;,''''',,;;;::::ccc:::loodddxxdddxddoooll:;;,,''......................................................................''''''''''.....'''''',;;,,,;;;;:clcclcc:;,'....'',''''..................................................................................................................................................................................... ....................................
........................................................................................................................................................................................................................................................................,;;;,,'''.......,;:::cccccclloooooddxxxdddddollllllooddxxxxxxxxxddoodddddddddddooooddddddddddxkOO00KKXXNNNN0xolccclloolllllccc:::::;;::::::::;;;;;,,,,,,,,;;;;;;:::;;;;::::::::::::::cclcc:;,,''.........................................................................'''''''''''....'''',;;;;;;;::collllllc;,'....''',''................................................................................................................................................................ .................... ....................................
........................................................................................................................................................................................................................................................................'','...........',,;;;:::cccllllooodddxdddddoccclllloodddxxxdddxxxxxdxxxxddddddoooodkOkkxkkkkkkkkkOOO00KXXNNX0Okdollooolllcccc:::::;;:::::::::;;;;;;;;;;;;;:::;;;::;;;;;;;;;;;;;;,,,,,,;:cc:;,''....................................................................''....''''''',,,'...'',,,;:::;;;;;:::::::cllc:,'....''','............................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................''''',,;;:ccclllloddoddddddddollllllloddxkkkkkxxdddxxxxddddddddoooooodddxkOOOOOkkkkOO0000000KXXK0Okdoollllcccccc:::::::::::::;;;;;;:::::::::::::;;;;,,,,,,,,;;;;;;;,,''',;:c:;,'.............................................'.......................''''''......''','...'',,;;;;;,,,,,,,,,,;;:cccc:;'....''''............................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................................................................''',;;:clooollloooooddddddoolllllodxxkOOOkkxxxxxkkkkxkkkxxdddoooodooodxxkOOOOOOkOOO0OOOkO00K0OOkdolccccccccccccccc:::::::;;;;;;;;;;;;;;;;;:::;;,,,,,,,,,,;;;;;,,,''''',,;;,'.......................................................................'',,'......'''','''''',,;;;;,'''''''',,,,,,;::;;,'..................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................................................................',,,;;;;:cllllcclloloodddddoolllllodxkkOkkxxxxkkkkkOOOkkkxxxdddddddddddxxxkkkkkOkkkOOOkkkkOOkxddoolllccccccccccccccc::::;;;;;;;;;;;;;;;;;;;;:;;;;;;;,,'',,,;;,,,,,'''''''','.........................................................................,,,,'......'',,,,''''',,:c:;,'..'''',,''..',,,;;;,,'....'..........................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................',;;;;;;;::::::cclllooooooooooolcccllodxxxddddxkkkkkOOkxxxxxxddxddddddxxxxxxkkxxkkxxxxkkkkxxdolllllllllllccccccccccccc::::::::::::::::;;;,,,;;;;;;;;;;,,,'',,,,,,,,,''''''''................................................',,''....................'',,'.........',,,,,''''',;::;'........''......',;:;;,,,''......'................................................'..................................................................................................................................................................
..................................................................................................................................................................................................................................................................................'....',;;;;;;;::::;;:ccllcclllllllllc::::ccoddddoodxxxxddxxxdddddxdddddxxxxkkxxxkkOkxxxxxxxxxxxddoolcccccclllllllccccc:::ccccccccc:::::::::;;;;,,;;;;;;;;;;;;,,''',,,,,,,,''''........................................'''........',,'.......................'''...........',;;;,''.',;::;'.........'.......',,;;;;,''''''''................................................''.........'''.....................................................................................................................................................
..................................................................................................................................................................................................................................................................................'....',;;;;;;::::::;::::::;:::ccccccc::::::cllllloodddolllllllllllooodxkkOkkkkkkkkkxdodxkOkxdooolllllcccccccccllcccc::::::ccccccccccc::::cc:;;;;;;;;;;;;;;;;;,,,'',,,,,,''''...................................................................................'...........',;;;,,,,,;:::,'.................',;cc:,'''.''''''..............................................'''.......''''.............................................................................. ......................................................................
......................................................................................................................................................................................................................................................................................',;;;,;;;::::::::::::::ccclllccccc::::::::cccloooollccc::ccccccclodxkxxddxxkkxxdolloxkkkdoooooollcc::::ccccccc::::::::ccccccccccc::::::;;;;::::::::;;;;;,,,,'''''''''''.................................................................................................',;;;,,;;:cc:;,,,'''.............,:cc;'.....''''...............................................''''''..''''''.............................................................................. ......................................................................
......................................................................................................................................................................................................................................................................................,;;;;,,;::c:;;;::;::cclllllllllc::::::::::::cccclllcccc:::::::::clllcccllooddddoolllodxxxddxxdolcc::::;:cccc::::;;;;:::::::::::::::;;:;;;;;:::::::::;;;;;,,,''..''''''..................................................................................................',,;;;;::clc:;;;;,,,'.......'.....,:c;'...'''''................................................'''''''''''''''''..................................................................................................................................................
.....................................................................................................................................................................................................................................................................................',;;;,,,;:cc::;;;;;:ccccccllllllc:;;;;;;;;;:::::ccllllllc:::ccllclllcc:::::::looooolllloddddxxdolc::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;,,''....'''.....................................................................................................',,;;::ccc:::;;;,,,'''............,::,'..',,,,''''...........................................'''',,,''',,''''''..................................................................................................................................................
.....................................................................................................................................................................................................................................................................................',,,,,,;;:cclcccc:ccllccccccllcc:;;;;;;,,;;;;;;::cllllllcc::cccccccccccc::;;;:cclllllccccccccccc:::;,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;::::;,,,,,,,,''.................................................................................................................',;;:::::::;;,,''...............',;;,''',,,,'''...........................................''''',,''',,''''''..................................................................................................................................................
....................................................................................................................................................................................................................................................................................''',,,,;;;:cccccccccccccccccccc:;;;::::;,,,;;;;;::cccccccc:::ccccccccccccc::::::::::::;;;;;;;;;;;;::;;,,,,,,,,,,,,,,,,,;;;;;;;;::::;;;,,,,,,,,;;:;,''''''''''..................................................................................................................',;;;;;;;;;,,''..................',,''.''''''..'''........................................'''''''',,,,,'''...................................................................................................................................................
....................................................................................................................................................................................................................................................................................'''',,,;;;:::c::cccccccccccccc:;;;:::::;,,,;;;;;:::::;;:::;;::c:::::::::::::::ccc:::;;,;;;;;;;;;;;:::;;;;;,,;;;;,,,;;;;;;;;::::::::;,,''',''',,,,,'.............................................................................................................................',;;;;;;,,,,'''..................',,''.........'''......................................'''''''''',,,,,,''..................................................................................................................................................
...................................................................................................................................................................................................................................................................................'''''',,,,;;:ccc::cccccccccc:::::::::::;;;;;;;;;::::::;;::;;;;:::;;;;;;;::::::cclllc:;;;;::;;;;;::ccc::::::::::::;;;:::;;:::cccccc:;,''....''',''.................................................................................................................................',;;,,''.........................''''..........''''.................................''''''''''''''''',''''..'''''..........................................................................................................................................
...................................................................................................................................................................................................................................................................................''''''',,,;:ccccc:::::::::cc:::::::;;;;;;;;;;::c::;;::::::::::::;;;;;;;:::::::cclllc:::::::::;;;::cccccccccc::::::::cccccccccccc:;,,''''..'''''''...................................................................................'''............................................',,,,'...........................''''.....'''''''.................................''''''''''''''''''''''''''''''''........................................................................................................................................
...................................................................................................................................................................................................................................................................................'''',,,,,;;::::::::;;::c:cccc::;;;;;;;;;,',,::ccc::::::::c:;;;::;,;:ccccccc:::ccccccc:;;::::::;;::ccccccclllcccccccc:ccllll:;;;;,'''''''''''''.......................................................................................','.............................................','''''.................................'''.................................''..'''''''''''''''','''''''''''''''''......................................................................................................................................
...................................................................................................................................................................................................................................................................................''''''''',;:::::::;;;::cccc::cc:;;;,,,,,,'',;;::cccc:::ccc:::ccc:,,;:ccccccccc:::::::;,,,;;;::;;:cccccc:cccccccccc::::ccccc:;;;;,''',,,'',,,,'........''..............................................................................................................................''..'''................................'...................................''''.'''''''''''''',,,,'''''''''............................................................................................................................................
...................................................................................................................................................................................................................................................................................'''......,;::;;;;;;;;;:::c:::::::;,,'',,,'',,,;:ccccccccc:::::::;,,,;::::ccccc:::::::;,,,,;;;;;::ccc:::::cccc:::cc::;:::cc::;;;,,',,,,,',,,,,'............................................................................................................................................''.....................................................................''''''''''''''''''',,,,,''''''''............................................................................................................................................
............................................................................................................................................................................................................................................................................................',;,,,,;;;;;;;;:::::::::;,''',,,,,,,,;cccccccc::::;;;;;;;;;;::::::cc:::;;;:;;;;,;;;;;;:::;;;;;;::cc:;;:cccc::::::;;,,,,,,,,,''',,,,''............................................................................................................................................''........................................................................''''''''',,,'''',,,,,''''''''............................................................................................................................................
............................................................................................................................................................................................................................................................................................',,,,,,,,,;;;;;;::;;;;:;;,''''''',',,;ccccc::::::::::;;;;::;;;;;;::::;;;;;;;;;;;;;;;;;::;;;;;;::::;;,,;ccccc:::;,,',,,,;;;,,''',,,''..................................................................................................''..........................................''........................................................................'''''''',,,''''',,,,,'''''''............................................................................................................................................
..........................................................................................................................................................................................................................................................................................'''',,,,,,,,;;::::::;;;;;,,,'.....',''',;::::;;::::::::;;,,;,;;;;;;::::;;;;;;;;;;;;;;,,;;;;;;;;;:c:;;;;;:cccclc:;,,',,,,;;;;;,''''''''.............................................................................................................................................'''''''....................................................................'''''''''''''''''',,,'''''''............................................................................................................................................
.............................................................................................................................................................................................................................................................................................',,,''',,,;;;;;;;;,;;;;;,,,,,'.'','''''',,;;;;;:::;;;,,'',,;;;;;:::;;;;;;;,,,,,,;,,,,;;;,,,;;::;;,,;;::::cc:;,,''',,;;,,,'''.......................................................................................................................''...............................''''..................................................................''''''''''''',,''''',,,,,'''''...........................................................................................................................................
.............................................................................................................................................................................................................................................................................................',,''..',,,,,,,,;;;;;;;;,,''''..',,,''''''',,;;;;;;;,''.'',;;;;;;;;;;;;,,,,,,,,,,;,,,;;,,'',;;;,,,,;:c:;;::;,''...',,,,'..........................................................................................................................';;'...................................''...............................................................''''''''''''''',''''',,,'''''''..........................................................................................................................................
............................................................................................................................................................................................................................................................................................',,'....'','',,;;;;;;;,,,''.......''''''''',,,;;;;;;;,,''',;;;;;;;,;;;,,'''..''',;;,,,,,''.',;;;,,',;::;;,;;,,'....'''''............................................................................................................................''...................................'''''..............................................................'''''''''''''',''''''''''''''''''.......................................................................................................................................
............................................................................................................................................................................................................................................................................................','.....'''''',,;,,,,,,,,,'..............'',,,,,;;;;,,,,,;:::::;;,,,,,,''''...'',,;,,,,,'..',;;,,,',,;;,'',,,,'....'''.....................................................................................................................................................................''''............................................................''''''''''''''',,''''''''''''''''''......................................................................................................................................
............................................................................................................................................................................................................................................................................................'''.....'''''',,;,,,,,,,,,'.................''''',,,,,,,,',,;;;;,,,,,,,'''''''''',,'',,,'..',;,,,'',,,,''',,,,'.....''........................................................................................................................................................................''...........................................................''''''''''''''',,'''''''..''''''''''.....................................................................................................................................
............................................................................................................................................................................................................................................................................................''''...'',,'''',;;,,;;;;,,'.....................'',;;;;,'''',,,,,'',,'.....'',,'''''',,,'.'',,''''',,,''',,;;,'................... .........................................................................................................................................................................................................................'''''''''''''',,,''''''..''''''''''................................................................................................................ ...................
............................................................................................................................................................................................................................................................................................',,'...'',,''',,;;;,,,,,,,'.......................',;;;,,''',,''''',,'......',,''..''''''''',''''',,,''''',;;,'...............................................................................................................................................................................................................................................''''''''',,,,,,,,''''..''''''''''.....................................................................................................................................
...........................................................................................................................................................................................................................................................................................''''''.'''',,'',,,,,'''',,'........................',,;;,,''''''''.','.......''''..........'',,,,,,,'''..',,;;,'..............................................................................................................................................................................................................................................'',,''''',,,,,,,,,,'''..'''''''''''....................................................................................................................................
..........................................................................................................................................................................................................................................................................................'''...'''''''''',,'...'..''..........................'',;,,''''.....','........''...........'',,,,,''...'''',;;,'..............................................................................................................................................................................................................................................''''''''''''',,,,,,,''..''''''''',,'...................................................................................................................................
.........................................................................................................................................................................................................................................................................................................','....''.............................'';;,,''.........''....................'',,,,''.....'',,,;,'..............................................................................................................................................................................................................................................'''''''''''''',,,,,'''...''''.''',,,'..................................................................................................................................
..........................................................................................................................................................................................................................................................................................................''.....................................',,''........................'.......'',,''''....''''',,,'..............................................................................................................................................................................................................................................''''''.'''''''',,,'''...........'',,'..................................................................................................................................
..............................................................................................................................................................................................................................................................................................................................................................................'.....'''',,'''..........',''..............................................................................................................................................................................................................................................'''''..'''''..'''''''.............'''..................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................................''''''''''.............'...............................................................................................................................................................................................................................................''''...'''''...'''''''.............'...................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................'''''....''..............................................................................................................................................................................................................................................................'''....'''''.'''',''''...........''''..................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................'''''....................................................................................................................................................................................................................................................................'''.....'''''''',''''..................................................................................................................................................
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.....'''...''''''...................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................''.......................................................................................................................................................................................................................................................................''......'''''''''''...................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................''''..............................................................................................................................................................................................................................................................................'''''''.......................................................................................................................................................
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'......'''............................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................... ................... .......................................................................................................................................................................................'.......'......................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''....................................................................................................................................................................................................................................................................
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''..................................................................................................................................................................................................................................................................
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''''...................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''''..................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''''........................................... .....................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''',,,'''''.................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''',,'''''..................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''''.....................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''''...................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................... ...............................................................................................................................................''''''''''...................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''...................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''....................................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''....'''''''''....................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................. .........................................................................................................'''''...........................................''''..'''''''''....................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................. ......................................................................................................'''''''''.........................................'''''''''''''''...................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.........................................'''''''''...''''..................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''.......................''............'''''''''....'''''.................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''......................'''..........''''''''''....'''''.................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''...................................'...'''''''......'''................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''........................................................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''''''''''''.....................................................................................................................................................................................................................................................................
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''''''''''.....................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''..............................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.............................................................................................................................................................................................................................................................................
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................''''...........................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'.............................................................................................................................................................................................................................................................................
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'........................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.......................................................................................................................................................................................................................................................................................................
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.......................................................................................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'''.......................................................................................................................................................................................................................................................................................................
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment