.::::                 .....           .....      ....        :...                          ......
 .......:::::.............::.          .::::'    .        ::::'      ::::       .:::: ........                        .:::::'
 '''''''::::''''''''...         .........:::::.........  '::::..       ::::      :::::   ::::::::::::::''''''''''''''        ::::   ::::            .::::''
    ::::......:::::::......      '''''''':::::''  '::::.   '::::.     ::::     :::::       ::::'              :::.......:::::::::::::...      ..:::''
 ...:::::::::  ::::' '''::::..       .:::'    ::::   ':::::.    '::::....::::'   :::::      .::::......::::::::::::....     .....:::::::::''      ::::     .:::::::::::::::.     .:::.
 ::'  ::::. .:::'    '::::.     ::::'   .::::     ::''     ''''''''    .:::'     ..:::::''''     ''::::.    ''   ::::.  :..........:::'     .::::''   ::::     .::::'
::::   ::::::''    .:::::     .:::'' .... .::::'                .::::''       '         .::::'        ':::.  '''''''''     ..::::'     ::::   .::::'
'::::.....:::''':''' ........::::'''    ::::''  ''''::::::'''            ....:::::''          ............:::::::''         '':::.         ''''       ':::::::::::'''
  '''      '''''''                          ''''           ''''''''             '