__        __       _   _____    _       _   ____   ___     ___   ___    ___   ___     ____ _____ _____   ____   ___ ____  _____ 
\ \      / /__  __| | |  ___|__| |__   / | |___ \ / _ \ _ / _ \ ( _ )_ / _ \ ( _ )   / ___| ____|_   _| |___ \ / _ \___ \|___ / 
 \ \ /\ / / _ \/ _` | | |_ / _ \ '_ \  | |   __) | | | (_) | | |/ _ (_) | | |/ _ \  | |   |  _|   | |     __) | | | |__) | |_ \ 
  \ V  V /  __/ (_| | |  _|  __/ |_) | | |  / __/| |_| |_| |_| | (_) || |_| | (_) | | |___| |___  | |    / __/| |_| / __/ ___) |
   \_/\_/ \___|\__,_| |_|  \___|_.__/  |_| |_____|\___/(_)\___/ \___(_)\___/ \___/   \____|_____| |_|   |_____|\___/_____|____/