;;;;;;;;;;;;;;;;;;;,,:;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;'.    .,;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;.            .;;;;;;;;;;;;;
;;;;;;;;;'.                  .';;;;;;;;;
;;;;;:.                          .;;;;;;
;;:.                                .:;;
;;.                                  .;;
;;.   .;;;;;;;;;;;:. .;;;,. .:;;;.   .;;
;;.    ;;;;;;;;;;;;;;;;;,  .;;;;;    .;;
;;.     ';;;;;; ':;;;;;. .:;;;.      ;;;
;;.      .;;;;:..;;;;;;..:;;;;.      .;;
;;.       .;;;;;;;;;;;;:;;;;;.       .;;
;;.        .;;;;;;;:.;;;;;;;.        .;;
;;.          ;;;;;,  ';;;;;          .;;
;;.           ';;.    .;;'           .;;
;;;.            ..    ..            .;;;
;;;;;,.                          .,;;;;;
;;;;;;;;:..                  ..:;;;;;;;;
;;;;;;;;;;;;,.            .,;;;;;;;;;;;;
;;;;;;;;;;;;;;;:..     .:;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;,..';;;;;;;;;;;;;;;;;;