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