~ruther/qmk_firmware

a9ef1c0a03f70292b6b6657eb60b9e28ced79314 — Erez Zukerman 9 years ago 462601f + 5319c2c
Merge pull request #267 from nrrkeene/master

Improved modifier keys, code
M keyboard/ergodox_ez/keymaps/ordinary/keymap.c => keyboard/ergodox_ez/keymaps/ordinary/keymap.c +214 -209
@@ 2,29 2,31 @@
#include "led.h"
#include "debug.h"
#include "action_layer.h"

#define BASE 0    // default layer
#define LOCK 1    // layer lock keys
#define SYMB_MO 2 // symbols momentary layer
#define SYMB_TG 3 // symbols lock layer
#define SYMB_XX 4 // symbols exit layer
#define MDIA_MO 5 // media momentary layer
#define MDIA_TG 6 // media lock layer
#define MDIA_XX 7 // media exit layer
#define UNLOCK 8  // clear to base layer
#include "action_util.h"

#define BASE    0 // default layer
#define LOCK    1 // shift-lock layer
#define SYMB_SH 2 // symbols shift layer
#define SYMB_LK 3 // symbols lock layer
#define SYMB_UN 4 // symbols unlock layer
#define MDIA_SH 5 // media shift layer
#define MDIA_LK 6 // media lock layer
#define MDIA_UN 7 // media unlock layer
#define UNLOCK  8 // clear to base layer

/*
 * Ordinary Ergodox EZ keyboard layout, v3
 * The Ordinary Layout for the Ergodox EZ keyboard, v3.1
 * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
 * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
 * Details: readme.md
 *          https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
 */

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Keymap 0: Basic layer
/* Keymap 0: Base Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * | LOCK  Grv |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =    LOCK |
 * | LOCK   `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =    LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media Tab |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | \   Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|


@@ 32,8 34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * |-----------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+-----------|
 * | LShift    |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   |    RShift |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh |RCtrl |
 *      `----------------------------------'                                       `----------------------------------'
 *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh | RCtrl |
 *     `-----------------------------------'                                       `-----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Home | End  |           | Left | Right|
 *                                  ,------|------|------|           |------+------+------.


@@ 44,20 46,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 */
[BASE] = KEYMAP(
// left hand
 LT(LOCK, KC_GRV),KC_1        ,KC_2        ,KC_3   ,KC_4   ,KC_5   ,KC_ESC
,LT(MDIA_MO, KC_TAB),KC_Q     ,KC_W        ,KC_E   ,KC_R   ,KC_T   ,KC_LBRC
,MO(SYMB_MO)     ,KC_A        ,KC_S        ,KC_D   ,KC_F   ,KC_G
,KC_LSFT         ,KC_Z        ,KC_X        ,KC_C   ,KC_V   ,KC_B   ,LSFT(KC_TAB)
,KC_LCTL         ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
 LT(LOCK, KC_GRV)   ,KC_1        ,KC_2        ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
,LT(MDIA_SH, KC_TAB),KC_Q        ,KC_W        ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
,MO(SYMB_SH)        ,KC_A        ,KC_S        ,KC_D   ,KC_F  ,KC_G
,KC_LSFT            ,KC_Z        ,KC_X        ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
,KC_LCTL            ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI

                                                           ,KC_HOME,KC_END
                                                                   ,KC_PGUP
                                                   ,KC_BSPC,KC_DEL ,KC_PGDN
                                                            ,KC_HOME,KC_END
                                                                    ,KC_PGUP
                                                    ,KC_BSPC,KC_DEL ,KC_PGDN

                                                                // right hand
                                                               ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9        ,KC_0        ,LT(LOCK, KC_EQL)
                                                               ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O        ,KC_P        ,LT(MDIA_MO, KC_BSLS)
                                                                        ,KC_H   ,KC_J   ,KC_K   ,KC_L        ,KC_SCLN     ,LT(SYMB_MO, KC_QUOT)
                                                               ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O        ,KC_P        ,LT(MDIA_SH, KC_BSLS)
                                                                        ,KC_H   ,KC_J   ,KC_K   ,KC_L        ,KC_SCLN     ,LT(SYMB_SH, KC_QUOT)
                                                               ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT      ,KC_SLSH     ,KC_RSFT
                                                                                ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL



@@ 68,59 70,59 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Keymap 1: Layer Lock Keys
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |  Esc |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media LOCK|      |      |      |      |      |      |           |      |      |      |      |      |      | Media LOCK|
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |Symbol LOCK|      |      |      |      |      |------|           |------|      |      |      |      |      |Symbol LOCK|
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |  Caps LOCK|      |      |      |      |      |      |           |      |      |      |      |      |      |  Caps LOCK|
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |      |      |      |      |      |                                       |      |      |      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 * ,-------------------------------------------------------.           ,-------------------------------------------------------.
 * |             |  Esc |      |      |      |      |      |           |      |      |      |      |      | Bspc |             |
 * |-------------+------+------+------+------+-------------|           |------+------+------+------+------+------+-------------|
 * | Media  LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Media  LOCK |
 * |-------------+------+------+------+------+------|      |           |      |------+------+------+------+------+-------------|
 * | Symbol LOCK |      |      |      |      |      |------|           |------|      |      |      |      |      | Symbol LOCK |
 * |-------------+------+------+------+------+------|      |           |      |------+------+------+------+------+-------------|
 * | Caps   LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps   LOCK |
 * `-------------+------+------+------+------+-------------'           `-------------+------+------+------+------+-------------'
 *      |        |      |      |      |      |                                       |      |      |      |      |        |
 *      `------------------------------------'                                       `------------------------------------'
 *                                           ,-------------.           ,-------------.
 *                                           |      |      |           |      |      |
 *                                    ,------|------|------|           |------+------+------.
 *                                    |      |      |      |           |      |      |      |
 *                                    |      |      |------|           |------|      |      |
 *                                    |      |      |      |           |      |      |      |
 *                                    `--------------------'           `--------------------'
 */
[LOCK] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN3       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN2       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
 KC_TRNS ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_FN3  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_FN2  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                        ,KC_TRNS  ,KC_TRNS
                                                                  ,KC_TRNS
                                                ,KC_TRNS,KC_TRNS  ,KC_TRNS
                                             ,KC_TRNS ,KC_TRNS
                                                      ,KC_TRNS
                                     ,KC_TRNS,KC_TRNS ,KC_TRNS

                                                                // right hand
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN3
                                                                        ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN2
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
                                                                                  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
                                                                        ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
                                                                                 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                               ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS
    ),

/* Keymap 2: Symbol Momentary Layer
/* Keymap 2: Symbol Shift Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |           |
 * | LOCK      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |      LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  | Media     |
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |     Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  | Symbol    |
 * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |    Symbol |
 * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
 * | Shift     |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  | Shift     |
 * | LShift    |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |    RShift |
 * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
 *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
 *      `----------------------------------'                                       `----------------------------------'


@@ 132,22 134,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                  |      |      | Down |           | PgDn |      |      |
 *                                  `--------------------'           `--------------------'
 */
[SYMB_MO] = KEYMAP(
[SYMB_SH] = KEYMAP(
// left hand
 KC_FN2        ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
,MO(MDIA_MO)   ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,MO(SYMB_MO)   ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
,MO(MDIA_SH)   ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,MO(SYMB_SH)   ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
,KC_LSFT       ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_TRNS       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                   ,KC_LEFT ,KC_RGHT
                                                            ,KC_UP
                                          ,KC_SPC  ,KC_ENT  ,KC_DOWN
                                                                    // right hand
                                                                    ,KC_TRNS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_FN2
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_MO)
                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(SYMB_MO)
                                                                    ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_FN2
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_SH)
                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(SYMB_SH)
                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
                                                                                          ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
                                                                                          ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
                                                                    ,KC_HOME     ,KC_END
                                                                    ,KC_PGUP
                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL


@@ 156,13 158,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 3: Symbol Lock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * | Lock      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 | Lock      |
 * | LOCK      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |      LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  | Media     |
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |     Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |           |
 * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |    Symbol |
 * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
 * | Shift     |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  | Shift     |
 * | LShift    |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |    RShift |
 * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
 *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
 *      `----------------------------------'                                       `----------------------------------'


@@ 174,22 176,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                  |      |      | Down |           | PgDn |      |      |
 *                                  `--------------------'           `--------------------'
 */
[SYMB_TG] = KEYMAP(  // layer 3 : return key for symbol lock layer
[SYMB_LK] = KEYMAP(
// left hand
 MO(SYMB_XX)  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
,MO(MDIA_MO)  ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,MO(UNLOCK)   ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
,KC_LSFT      ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_TRNS      ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                  ,KC_LEFT ,KC_RGHT
                                                           ,KC_UP
                                         ,KC_SPC  ,KC_ENT  ,KC_DOWN
 MO(SYMB_UN)  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
,MO(MDIA_SH) ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,MO(UNLOCK)  ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
,KC_LSFT     ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_TRNS     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                 ,KC_LEFT ,KC_RGHT
                                                          ,KC_UP
                                        ,KC_SPC  ,KC_ENT  ,KC_DOWN
                                                                    // right hand
                                                                    ,KC_TRNS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,MO(SYMB_XX)
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_MO)
                                                                    ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,MO(SYMB_UN)
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_SH)
                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(UNLOCK)
                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
                                                                                          ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
                                                                                          ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
                                                                    ,KC_HOME     ,KC_END
                                                                    ,KC_PGUP
                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL


@@ 197,58 199,58 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Keymap 4: Symbol Unlock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Unlock    |      |      |      |      |      |      |           |      |      |      |      |      |      |  Unlock   |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Caps LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps LOCK |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |      |      |      |      |      |                                       |      |      |      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 * ,------------------------------------------------------.           ,------------------------------------------------------.
 * |            | Esc  |      |      |      |      |      |           |      |      |      |      |      | Bspc |            |
 * |------------+------+------+------+------+-------------|           |------+------+------+------+------+------+------------|
 * | Media LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Media LOCK |
 * |------------+------+------+------+------+------|      |           |      |------+------+------+------+------+------------|
 * |     UNLOCK |      |      |      |      |      |------|           |------|      |      |      |      |      |     UNLOCK |
 * |------------+------+------+------+------+------|      |           |      |------+------+------+------+------+------------|
 * | Caps  LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps  LOCK |
 * `------------+------+------+------+------+-------------'           `-------------+------+------+------+------+------------'
 *       |      |      |      |      |      |                                       |      |      |      |      |      |
 *       `----------------------------------'                                       `----------------------------------'
 *                                          ,-------------.           ,-------------.
 *                                          |      |      |           |      |      |
 *                                   ,------|------|------|           |------+------+------.
 *                                   |      |      |      |           |      |      |      |
 *                                   |      |      |------|           |------|      |      |
 *                                   |      |      |      |           |      |      |      |
 *                                   `--------------------'           `--------------------'
 */
[SYMB_XX] = KEYMAP(
[SYMB_UN] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,TG(MDIA_TG)  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN1       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
							,KC_TRNS  ,KC_TRNS
								  ,KC_TRNS
						,KC_TRNS,KC_TRNS  ,KC_TRNS
											// right hand
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,TG(MDIA_TG)
										    ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN1
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS
									   ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
	),

/* Keymap 5: Media Momentary Layer
 KC_TRNS     ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_FN1      ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_CAPS     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                ,KC_TRNS  ,KC_TRNS
                                                          ,KC_TRNS
                                        ,KC_TRNS,KC_TRNS  ,KC_TRNS
                                                                     // right hand
                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK)
                                                                              ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                     ,KC_TRNS ,KC_TRNS
                                                                     ,KC_TRNS
                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS
),

/* Keymap 5: Media Shift Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |           |
 * | LOCK      | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |      LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           |ShutDn|      | MsUp |      |      |ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |           |
 * | Media     |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |     Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           | Sleep|MsLeft|MsDown|MsRght|      |------|           |------|NumLok| Left | Down | Right|MyComp|           |
 * | Symbol    | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------|           |------|NumLok| Left | Down | Right|MyComp|    Symbol |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |MsDown|      |      |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |           |
 * | LShift    |      |      |MsDown|      | Mute |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |    RShift |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      | Mute |Vol Dn|Vol Up| Lclk | Rclk |                                       |Insert|Delete|      |      |      |
 *      | LCtrl| Meh  |Hyper | LAlt | LGui |                                       |Insert|Delete| Hyper| LAlt | LGui |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Stop |Refrsh|           | Prev | Next |


@@ 258,22 260,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                  |      |      | Home |           |VolDn |      | Pause|
 *                                  `--------------------'           `--------------------'
 */
[MDIA_MO] = KEYMAP(
[MDIA_SH] = KEYMAP(
// left hand
 KC_FN3        ,KC_F11  ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_TRNS
,MO(MDIA_MO)   ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
,MO(SYMB_MO)   ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
,KC_LSFT       ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
,KC_MUTE       ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
                                                   ,KC_WSTP ,KC_WREF
                                                            ,KC_WSCH
                                          ,KC_WBAK ,KC_TRNS ,KC_WHOM
 KC_FN3        ,KC_F11      ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_NO
,MO(MDIA_SH)   ,KC_POWER    ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
,MO(SYMB_SH)   ,KC_SLEP     ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
,KC_LSFT       ,KC_NO       ,KC_NO   ,KC_MS_D ,KC_NO   ,KC_MUTE ,KC_WH_D
,KC_LCTL       ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
                                                       ,KC_WSTP ,KC_WREF
                                                                ,KC_WSCH
                                              ,KC_WBAK ,KC_NO   ,KC_WHOM
                                                                     // right hand
                                                                     ,KC_TRNS  ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,KC_FN3
                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(MDIA_MO)
                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_MO)
                                                                     ,KC_WH_D  ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
                                                                                        ,KC_INS ,KC_DEL  ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                     ,KC_NO    ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,KC_FN3
                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH)
                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH)
                                                                     ,KC_WH_D  ,KC_NO   ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO   ,KC_RSFT
                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
                                                                     ,KC_MPRV  ,KC_MNXT
                                                                     ,KC_VOLU
                                                                     ,KC_VOLD  ,KC_MSTP ,KC_MPLY


@@ 282,15 284,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 6: Media Lock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |           |
 * | LOCK      | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |      LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           |ShutDn|      | MsUp |      |      |ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |           |
 * | Media     |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |     Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           | Sleep|MsLeft|MsDown|MsRght|      |------|           |------|NumLok| Left | Down | Right|MyComp|           |
 * |           | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------|           |------|NumLok| Left | Down | Right|MyComp|           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |MsDown|      |      |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |           |
 * | LShift    |      |      |MsDown|      | Mute |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |    RShift |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      | Mute |Vol Dn|Vol Up| Lclk | Rclk |                                       |Insert|Delete|      |      |      |
 *      | LCtrl| Meh  |Hyper | LAlt | LGui |                                       |Insert|Delete| Hyper| LAlt | LGui |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Stop |Refrsh|           | Prev | Next |


@@ 300,22 302,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                  |      |      | Home |           |VolDn |      | Pause|
 *                                  `--------------------'           `--------------------'
 */
[MDIA_TG] = KEYMAP(
[MDIA_LK] = KEYMAP(
// left hand
 MO(MDIA_XX)  ,KC_F11  ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_TRNS
,MO(UNLOCK)   ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
,KC_NO        ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
,KC_LSFT      ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
,KC_MUTE      ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
 MO(MDIA_UN),KC_F11      ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_NO
,MO(UNLOCK) ,KC_POWER    ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
,KC_NO      ,KC_SLEP     ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD  
,KC_LSFT    ,KC_NO       ,KC_NO   ,KC_MS_D ,KC_NO   ,KC_MUTE ,KC_WH_D
,KC_LCTL    ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
                                                    ,KC_WSTP ,KC_WREF
                                                             ,KC_WSCH
                                           ,KC_WBAK ,KC_TRNS ,KC_WHOM
                                           ,KC_WBAK ,KC_NO   ,KC_WHOM
                                                                     // right hand
                                                                     ,KC_TRNS  ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,MO(MDIA_XX)
                                                                     ,KC_NO    ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,MO(MDIA_UN)
                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(UNLOCK)
                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
                                                                     ,KC_WH_D  ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
                                                                                        ,KC_INS ,KC_DEL  ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                     ,KC_WH_D  ,KC_NO   ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO   ,KC_RSFT
                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
                                                                     ,KC_MPRV  ,KC_MNXT
                                                                     ,KC_VOLU
                                                                     ,KC_VOLD  ,KC_MSTP ,KC_MPLY


@@ 324,9 326,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 7: Media Unlock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      | Bspc |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Unlock    |      |      |      |      |      |      |           |      |      |      |      |      |      | Unlock    |
 * |    UNLOCK |      |      |      |      |      |      |           |      |      |      |      |      |      |    UNLOCK |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|


@@ 342,34 344,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 */
[MDIA_XX] = KEYMAP(
[MDIA_UN] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN1       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
 KC_TRNS ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_FN1  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                        ,KC_TRNS  ,KC_TRNS
                                                                  ,KC_TRNS
                                                ,KC_TRNS,KC_TRNS  ,KC_TRNS
                                             ,KC_TRNS ,KC_TRNS
                                                      ,KC_TRNS
                                    ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                                // right hand
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN1
                                                                        ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
                                                                                  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
                                                                        ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
                                                                                 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                               ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS
    ),

/* Keymap 8: Unlock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * | Unlock    |      |      |      |      |      |      |           |      |      |      |      |      |      | Unlock    |
 * | UNLOCK    |      |      |      |      |      |      |           |      |      |      |      |      |      |    UNLOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           |      |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|


@@ 389,22 391,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 */
[UNLOCK] = KEYMAP(
// left hand
 KC_FN1       ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
 KC_FN1  ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                        ,KC_TRNS  ,KC_TRNS
                                                                  ,KC_TRNS
                                                ,KC_TRNS,KC_TRNS  ,KC_TRNS
                                             ,KC_TRNS ,KC_TRNS
                                                      ,KC_TRNS
                                    ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                                // right hand
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN1
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                                        ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                                                  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                        ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                                 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS

                                                               ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS


@@ 413,9 415,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

const uint16_t PROGMEM fn_actions[] = {
         [1] = ACTION_LAYER_CLEAR(ON_PRESS)                // FN1 - clear to base layer
	,[2] = ACTION_LAYER_INVERT(SYMB_TG, ON_PRESS)      // FN2 - toggle to Symbols on press
	,[3] = ACTION_LAYER_INVERT(MDIA_TG, ON_PRESS)      // FN3 - toggle to Media on press
     [1] = ACTION_LAYER_CLEAR(ON_PRESS)           // FN1 - clear to base layer
    ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press
    ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)


@@ 440,31 442,34 @@ void matrix_init_user(void) {

// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
	uint8_t layer = biton32(layer_state);
    uint8_t layer = biton32(layer_state);

    // do not change lights for locking and unlocking
    if(layer == UNLOCK || layer == LOCK || layer == SYMB_XX || layer == MDIA_XX) {
        return;
    // shift or caps lock turns on red light
    if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
        ergodox_right_led_1_on();
    } else {
        ergodox_right_led_1_off();
    }

    ergodox_board_led_off();
    ergodox_right_led_1_off();
    ergodox_right_led_2_off();
    ergodox_right_led_3_off();

    // caps lock turns on red light
    if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
        ergodox_right_led_1_on();
    // do not change lights while locking and unlocking
    if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) {
        return;
    }

    // symbol lock turns on green light
    if(layer == SYMB_MO || layer == SYMB_TG) {
    //ergodox_board_led_off();

    // symbol turns on green light
    if(layer == SYMB_SH || layer == SYMB_LK) {
        ergodox_right_led_2_on();
    } else {
        ergodox_right_led_2_off();
    }

    // media lock turns on blue light
    if(layer == MDIA_MO || layer == MDIA_TG) {
    // media turns on blue light
    if(layer == MDIA_SH || layer == MDIA_LK) {
        ergodox_right_led_3_on();
    } else {
        ergodox_right_led_3_off();
    }
};


M keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png => keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png +0 -0
M keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt => keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt +11 -11
@@ 3,25 3,25 @@
[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
[{y:-0.875,x:2.5},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#e6e067",a:4},"Num\n\n\n\n\n\nLock"],
[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"End",{x:1},"Page\n\n\n\n\n\nDown"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5},""],
[{y:-0.875,c:"#2277ff",a:4,fa:[0,1,0,0,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063"},"Delete"],
[{y:-0.875,x:2.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{x:1,c:"#ff8500"},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert",{x:1,c:"#cccccc",a:7},""],
[{y:-0.75,x:0.5,c:"#e6e067",a:4},"Mute","Vol\n\n\n\n\n\nDown",{x:14.5,c:"#cccccc",a:7},"",""],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#cfc82b",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#ffb063",a:4},"End",{x:1},"Page\n\n\n\n\n\nDown"],
[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#cccccc",a:7},""],
[{y:-0.875,c:"#2277ff",a:4,f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#ffb063"},"Delete\n\n\nOption"],
[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
[{x:2},"Home\n\n\nBrowser"],
[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#cfc82b",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ccbb00",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]


M keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png => keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png +0 -0
M keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt => keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt +18 -18
@@ 1,27 1,27 @@
[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F6"],
[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
[{y:-0.375,x:3.5,c:"#c4e0bf"},"{",{x:10.5,c:"#89b087"},"8"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#c4e0bf"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#c4e0bf"},"(",{x:10.5,c:"#89b087"},"5"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"`",{x:6.5},"/"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#c4e0bf",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
[{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
[{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"],
[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
[{y:-0.75,x:3.5,c:"#c4e0bf"},"[",{x:10.5,c:"#89b087"},"2"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"~",{x:6.5},"\\"],
[{y:-0.875,c:"#2277ff",f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#c4e0bf"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#89b087",a:4},"."],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#89b087",a:4},"0",{x:1},"="],
[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#89b087",a:4},"+","Enter"],
[{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,1],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"],
[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"],
[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
[{h:2},"Space",{h:2},"Enter","Up"],
[{x:2},"Down"],
[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
[{x:-3},"Page\n\n\n\n\n\nDown"]
[{x:-3,f:3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
[{x:-3,f:3},"Page\n\n\n\n\n\nDown"]


M keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex => keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex +1083 -1082
@@ 1,17 1,17 @@
:100000000C945F040C94A3040C94A3040C94A30418
:100010000C94A3040C94A3040C94A3040C94A304C4
:100020000C94A3040C94A3040C94BC0D0C948E0E9D
:100020000C94A3040C94A3040C94C40D0C94960E8D
:100030000C94A3040C94A3040C94A3040C94A304A4
:100040000C94A3040C9439230C94A3040C94A304DF
:100050000C94A3040C94DB1C0C94A3040C94A30434
:100040000C94A3040C9441230C94A3040C94A304D7
:100050000C94A3040C94E31C0C94A3040C94A3042C
:100060000C94A3040C94A3040C94A3040C94A30474
:100070000C94A3040C94A3040C94A3040C94A30464
:100080000C94A3040C94A3040C94A3040C94A30454
:100090000C94A3040C94A3040C94A3040C94A30444
:1000A0000C94A3040C94A3040C94A304F30E150F56
:1000B0000010150F0010570F7A0F0010CF0FE20F2E
:1000C000D612D61204130413461382138215821516
:1000D0009A138215911491145C158215821570156E
:1000A0000C94A3040C94A3040C94A304FB0E1D0F46
:1000B00008101D0F08105F0F820F0810D70FEA0FEE
:1000C000DE12DE120C130C134E138A138A158A15D6
:1000D000A2138A159914991464158A158A1578152E
:1000E000000000810889248935812B850252E100B6
:1000F000E00000001E00140004001D0000774E0008
:100100001F001A0016001B00007F4C002000080092


@@ 32,29 32,29 @@
:1001F00001000100010001000000010001000100F8
:1002000001000100010001000100010001000100E6
:1002100001000100010001000100010001000100D6
:100220000100010001000100010001000100C30004
:100220002A00010001000100010001000100C300DB
:10023000C200390001000000C20005520252E10074
:10024000010000003A001E022002220201005100BB
:100250003B001F0221022302010028003C002F0264
:1002600026022F0001002C003D0030022702300042
:10027000010052003E00240235003502000050000B
:100280000100360200002B0000004F000100370281
:100280000100360200002B0000004F002D00370255
:1002900000002B0200004A003F003102380031000C
:1002A00000004D004000240021001E0027004B00EC
:1002B0004100250022001F0037004C0042002600AC
:1002C000230020002E002A004300380025022D00C4
:1002D0002E024E00C20005520252E5002800000026
:1002A00000004D004000240021001E0027784B0074
:1002B0004100250022001F0037744C004200260038
:1002C000230020002E7F2A004300380025022D0045
:1002D0002E774E00C20005520252E5002871000040
:1002E000045205520852E100010000003A001E02CB
:1002F00020022202010051003B001F0221022302C2
:10030000010028003C002F0226022F0001002C00D3
:100310003D00300227023000010052003E0024025E
:1003200035003502000050000100360200002B00AD
:1003300000004F000100370200002B0200004A00BD
:1003300000004F002D00370200002B0200004A0091
:100340003F0031023800310000004D004000240021
:1003500021001E0027004B004100250022001F0045
:1003600037004C0042002600230020002E002A0007
:100370004300380025022D002E024E000452055283
:100380000852E5002800000001000654C1003900B1
:1003500021001E0027784B004100250022001F00CD
:1003600037744C0042002600230020002E7F2A0014
:100370004300380025022D002E774E00045205520E
:100380000852E5002871000001000654C100390040
:10039000010000002900010001000100010001002E
:1003A0000100010001000100010001000100010045
:1003B0000100010001000100010001000100010035


@@ 63,29 63,29 @@
:1003E0000000010000000100010001000100010007
:1003F00000000100010001000100010001000100F6
:1004000001000100010001000100010001000100E4
:1004100001000100010001000100010001000100D4
:1004100001000100010001002A00010001000100AB
:100420000100010001000654C10039000100000074
:10043000C30005520252E100A8000000440066001B
:10044000A6000100AA00B50045000100F20001006D
:10045000A90001006800F000F100F100F400B6000E
:1004600069000100F3000100F500B4006A0001001A
:10047000010001000000B8000100F9000000FA00CE
:100480000000B9000100F9000000FA000000AC0013
:100490006B004600530001000000AB006C004A00F6
:1004A00050004D004900A9006D005200510051005C
:1004B0004C00AE006E004B004F004E000100AD003E
:1004C0006F00B100B30001000100AA00C300055293
:1004D0000252E50001000000075208520000E1004E
:1004E000A800000044006600A6000100AA00B500B4
:1004F00045000100F2000100A90001006800F000C1
:10050000F100F100F400B60069000100F300010001
:10051000F500B4006A000100010001000000B8000D
:100520000100F9000000FA000000B9000100F90024
:100530000000FA000000AC006B0046005300010010
:100540000000AB006C004A0050004D004900A900BB
:100550006D005200510051004C00AE006E004B0087
:100560004F004E000100AD006F00B100B30001006C
:100570000100AA00075208520000E5000100000037
:10043000C30005520252E100E000000044006600E3
:10044000A60000000077B5004500F400F2000000AF
:10045000007F00006800F000F100F100E200B6004B
:100460006900F500F3000000E300B4006A00A90091
:10047000AA00A8000000B8000000F9000000FA007F
:100480000000B9000000F9000000FA000000AC0014
:100490006B004600530000000000AB006C004A00F7
:1004A00050004D004978A9006D00520051005100E4
:1004B0004C74AE006E004B004F004E00007FAD004C
:1004C0006F00B100B30000000077AA00C30005521E
:1004D0000252E500E4000000075208520000E1006B
:1004E000E000000044006600A60000000077B500B0
:1004F0004500F400F2000000007F00006800F000FA
:10050000F100F100E200B6006900F500F300000020
:10051000E300B4006A00A900AA00A8000000B80027
:100520000000F9000000FA000000B9000000F90026
:100530000000FA000000AC006B0046005300000011
:100540000000AB006C004A0050004D004978A90043
:100550006D005200510051004C74AE006E004B0013
:100560004F004E00007FAD006F00B100B3000000EF
:100570000077AA00075208520000E500E4000000DE
:100580000100C10001003900010000002900010044
:100590000100010001000100010001000100010053
:1005A0000100010001000100010001000100010043


@@ 95,7 95,7 @@
:1005E0000100010001000100000001000100010004
:1005F00001000100010001000100010001000100F3
:1006000001000100010001000100010001000100E2
:100610000100010001000100010001000100C10012
:100610002A00010001000100010001000100C100E9
:100620000100390001000000C100010001000100CB
:10063000010000002900010001000100010001008B
:1006400001000100010001000100010001000100A2


@@ 143,1047 143,1048 @@
:1008E0008730904BA740B04BB9F41092EF011092B3
:1008F000F0011092F1011092F20114BE84B7877FCB
:1009000084BF88E10FB6F894809360001092600075
:100910000FBEE0E0FFE3099511E0A0E0B1E0E6EFF3
:10092000F9E402C005900D92A433B107D9F721E094
:100910000FBEE0E0FFE3099511E0A0E0B1E0E6E002
:10092000FAE402C005900D92A433B107D9F721E093
:10093000A4E3B1E001C01D92AF3EB207E1F70E940F
:10094000020B0C94F9240C94000061110BC0FC0103
:100950008281882321F085EE0E94631103C085EE19
:100960000E942B1280E090E008950895CF9360914B
:100940000A0B0C9401250C94000061110BC0FC01F2
:100950008281882321F085EE0E946B1103C085EE11
:100960000E94331280E090E008950895CF93609143
:10097000B1017091B2018091B3019091B4010E94D4
:10098000071CC82F8130F9F08430E9F089EF8C0F13
:100990008230C8F056985E9825982D9826982E9803
:1009A00027982F980E943B1081FF02C0259A2D9A0C
:1009B0008EEF8C0F823010F4269A2E9AC550C230DA
:1009C00010F4279A2F9ACF9108950C94B604569854
:1009D0005E9825982D9826982E9827982F988FEF17
:1009E00090E0909389008093880090938B0080938F
:1009F0008A0090938D0080938C00259A2D9A2FEF7A
:100A000080E792E0215080409040E1F700C0000074
:100A1000269A2E9A2FEF80E792E021508040904056
:100A2000E1F700C00000279A2F9A2FEF80E792E0AD
:100A3000215080409040E1F700C0000025982D989B
:100A40002FEF80E792E0215080409040E1F700C016
:100A5000000026982E982FEF80E792E021508040EA
:100A60009040E1F700C0000027982F9856985E98B4
:100A700025982D9826982E9827982F98089589EADA
:100A80008093800089E08093810024982C983F987F
:100A90008AB18F748AB96E98479A8BB1806B8BB983
:100AA000769A0E94E7040C94B50480E280930001DA
:100AB0008091340181110EC00E94A40581E08093D1
:100AC00034012FEF83ED90E3215080409040E1F717
:100AD00000C0000080E40E94AA05809300018111FB
:100AE0002EC00E94D40580930001811128C00E946D
:100AF000D40580930001811122C08FE30E94D405A8
:100B00008093000181111BC00E94CC0580E40E94EB
:100B1000AA0580930001811112C08CE00E94D405C7
:100B20008093000181110BC00E94D40580930001C5
:100B3000811105C08FE30E94D405809300010E94BB
:100B4000CC058091000108951092B9008AE080934D
:100B5000B800089594EA9093BC009091BC0097FF70
:100B6000FCCF9091B900987F983021F0903111F02E
:100B700081E008958093BB0084E88093BC0080915D
:100B8000BC0087FFFCCF8091B900887F883111F0CD
:100B9000803471F780E0089584E98093BC008091EF
:100BA000BC0084FDFCCF08958093BB0084E8809353
:100BB000BC008091BC0087FFFCCF9091B900987F6A
:100BC00081E0983209F480E0089584E88093BC00C5
:100BD0008091BC0087FFFCCF8091BB00089580917D
:100BE0000001811115C080E40E94AA0580930001D4
:100BF00081110CC082E10E94D40580930001811113
:100C000005C08FEF0E94D405809300010E94CC059F
:100C100084B1807F84B985B1807F85B98AB1837FB3
:100C20008AB98BB1837F8BB93E98469808950E940C
:100C30005505809300010E94EF0580B38C7080BB46
:100C400081B3836F81BBE4E4F1E0A6E3B1E01192EC
:100C50001D9281E0E235F807D1F70C943F05BF9271
:100C6000CF92DF92EF92FF920F931F93CF93DF9378
:100C700080910001882379F0809135018F5F809306
:100C80003501811108C00E94550580930001811132
:100C900002C00E94E70406E311E0C0E0D0E0DD24DA
:100CA000D39482E0C82EEE24E394F12CC73000F5F3
:100CB00080910001811162C080E40E94AA058093A6
:100CC0000001811112C082E10E94D40580930001CD
:100CD00081110BC0C7010C2E01C0880F0A94EAF7DE
:100CE00080950E94D405809300010E94CC0546C0E7
:100CF000CA30A1F028F4C83059F0C93061F005C0FD
:100D0000CC3089F070F0CD3089F0209A289810C04E
:100D1000219A29980DC0229A2A980AC0239A2B98C2
:100D200007C0529A01C0539A5B9802C03E9A4698F7
:100D3000E0EAEA95F1F78FB179995AC092E08170B3
:100D40008D25892B7C9B02C090E001C094E0892B0B
:100D50007D9B02C090E001C098E0892B7E9B02C081
:100D600090E001C090E1892B9FB19095991F992740
:100D7000991F9295990F907E892B0FC08091000149
:100D800081114BC080E40E94AA0580930001882352
:100D900089F1B12C0E94CC058B2DF8019081981718
:100DA00019F08083C09201010E94EF0521960F5F28
:100DB0001F4FCE30D10509F079CF809101018823F2
:100DC00071F1815080930101882339F08FE99FE010
:100DD0000197F1F700C0000022C0A4E4B1E0E6E30F
:100DE000F1E081918D9391E0E434F907D1F717C0D8
:100DF00090E0A5CF83E10E94D4058093000181118A
:100E0000C8CF81E40E94AA05809300018111C1CF5F
:100E10000E94E505B82EB094BDCF80E0BECF0E9401
:100E2000E50481E0DF91CF911F910F91FF90EF904A
:100E3000DF90CF90BF900895E82FF0E0EC5BFE4F7D
:100E40008081089508958B3B910578F4883A910547
:100E500040F5853A9105D0F48430910508F0B1C091
:100E60008130910509F4ADC06BC0803E910508F456
:100E700067C0883E910508F4A4C09C01205F310939
:100E80002031310508F05CC090650895853A9105E0
:100E900009F459C0863A910509F458C083E890E4F2
:100EA0000895883A910509F454C0893A910509F4E6
:100EB00053C08A3A910509F452C08B3A910509F45E
:100EC00051C08C3A910509F450C08D3A910509F44E
:100ED0004FC0803B910509F44EC08E3A910509F44C
:100EE0004DC08F3A910509F44CC0813B910509F43E
:100EF0004BC0823B910509F44AC0833B910509F43C
:100F000049C0843B910509F448C0853B910509F42B
:100F100047C0863B910509F446C0873B910509F41B
:100F200045C0883B910509F444C0893B910509F40B
:100F300043C08A3B910509F042C08AE296E40895D5
:100F400080E090E0089581E890E4089582E890E4DC
:100F5000089582EE94E4089589EE94E408958AEE6B
:100F600094E4089585EB94E4089586EB94E4089561
:100F700087EB94E408958CEC94E408958DEC94E46C
:100F8000089583E895E408958AE895E4089582E950
:100F900095E4089584E995E4089581E296E408953E
:100FA00083E296E4089584E296E4089585E296E467
:100FB000089586E296E4089587E296E4089580E035
:100FC00094E40895089596E0799FF001112494E542
:100FD000899FE00DF11D1124E60FF11DEE0FFF1F9B
:100FE000E851FF4F859194910895880F991F805A79
:100FF0009040FC01859194910895880F991F80522B
:101000009F4FFC0185919491089526E0729FF00115
:10101000112444E5849FE00DF11D1124E60FF11D1C
:10102000EE0FFF1FE851FF4F25913491C9019A95AA
:1010300081159F4110F4C9010895C901905281158D
:10104000904128F4C9019F700E94FD070895C901CD
:1010500090538115904120F4C9019927906C08950F
:10106000211580E5380769F40E94A5159FEF24E358
:101070004CE0915020404040E1F700C000000C944B
:10108000001D213080E5380731F48091CD01816069
:101090008093CD010895C90190558115904108F0C4
:1010A00050C0832F99278F70992781309105D9F4EB
:1010B000A9014370552702C0880F991F4A95E2F78E
:1010C0009C68A90164E0440F551F6A95E1F7442725
:1010D0005370842B952B73E0220F331F7A95E1F721
:1010E000207633271DC08230910529F4922F88275E
:1010F000816F906A089583309105A9F4A901437026
:10110000552781E090E002C0880F991F4A95E2F7C9
:101110009C6843E0220F331F4A95E1F7207E377029
:10112000822B932B08950497F1F4A901437055275E
:1011300081E090E002C0880F991F4A95E2F79A6813
:10114000E8CFC90190578115904120F4C9019F70E3
:1011500090620895C90190588115904120F4C90109
:101160009F70906A0895203E3105E0F4203C3105DF
:1011700058F52133310509F470C048F4293231059E
:1011800009F464C02A32310509F46EC074C02933F1
:101190003105F1F022383105D9F02533310509F454
:1011A0004EC069C0233E310589F138F4203E310537
:1011B000C1F0223E3105E1F05EC0263E310569F105
:1011C000273E3105A9F157C0C9010E94F5070895CE
:1011D0008091E00180FD02C081FF4DC080EE90E073
:1011E0004BC08091E00180FFF9CF89E390E044C0DB
:1011F0008091E00182FF0EC08091E00184FF03C076
:1012000080E090E039C083EE90E036C08091E0014C
:1012100082FFF2CF82EE90E02FC08091E00183FF49
:101220000BC08091E00184FDEBCF87EE90E024C0FD
:101230008091E00183FFF5CF86EE90E01DC08091A4
:10124000E00185FF07C089E290E016C08091E001CF
:1012500085FFF9CF85E390E00FC08091E00186FF24
:1012600007C08AE290E008C08091E00186FFF9CFD4
:1012700081E390E001C0C9010E9423070895089509
:101280000C943F09809162010895CF93DF9300D0C1
:101290001F92CDB7DEB72091E601243019F523E087
:1012A00029839B838A832093E9008FEF9091E80044
:1012B000815095FD06C095ED9A95F1F700008111DA
:1012C000F5CF8091E80085FF0DC040E050E063E07D
:1012D00070E0CE0101960E94AF0B8091E8008E77FE
:1012E0008093E8000F900F900F90DF91CF910895B9
:1012F000CF93DF9300D01F92CDB7DEB72091E601E8
:10130000243021F522E029839B838A8383E0809324
:10131000E9008FEF9091E800815095FD06C095EDB2
:101320009A95F1F700008111F5CF8091E80085FFD3
:101330000DC040E050E063E070E0CE0101960E94F5
:10134000AF0B8091E8008E778093E8000F900F90AC
:101350000F90DF91CF9108952091E6012430F1F4B0
:1013600022E02093E9002FEF3091E800215035FD75
:1013700006C035ED3A95F1F700002111F5CF209127
:10138000E80025FF0BC040E050E065E070E00E94FF
:10139000AF0B8091E8008E778093E8000895CF939B
:1013A000DF93EC018091E601843009F046C0909112
:1013B0000C019923D9F090910D019923B9F08093F4
:1013C000E9008FEF9091E800815095FD06C095E10E
:1013D0009A95F1F700008111F5CF8091E80085FF23
:1013E0002CC040E050E060E170E017C081E08093E5
:1013F000E9008FEF9091E800815095FD06C095EDD2
:101400009A95F1F700008111F5CF8091E80085FFF2
:1014100014C040E050E068E070E0CE010E94AF0BE5
:101420008091E8008E778093E80080E1FE01A2E5DC
:10143000B1E001900D928A95E1F7DF91CF91089587
:101440008091E501811109C00E94410D0E949E0D0D
:101450008091E20084608093E20008951092E5019B
:10146000089508950C9426230E94971C0E942C2313
:101470000E943B100C94400942E061EC81E00E9424
:10148000BB0C42E061EC82E00E94BB0C42E061ECEC
:1014900083E00E94BB0C42E161EC84E00C94BB0C45
:1014A0008091E801833009F455C030F4813071F047
:1014B000823009F48EC008958A3009F47AC08B30E6
:1014C00009F460C0893009F09CC020C08091E70118
:1014D000813A09F096C08091E800877F8093E80008
:1014E0008091EB019091EC01892B21F060E080E08C
:1014F00090E003C060E182E591E070E00E94F80BAB
:101500008091E8008B778093E80008958091E7014F
:10151000813209F076C08091EB019091EC01009747
:1015200019F0039709F06DC08091E800877F8093E0
:10153000E8008091E80082FD05C08091E6018111FC
:10154000F8CF5FC08091F100809362018091E80044
:101550008B7753C08091E701813A09F052C08091A6
:10156000EB019091EC01892B09F04BC08091E800D0
:10157000877F8093E8008091E80080FFFCCF809116
:101580000C0136C08091E7018132D9F58091EB01E1
:101590009091EC01892BA9F58091E800877F8093D9
:1015A000E8000E94F00C8091E90180930C010C94FA
:1015B000A5158091E701813221F58091E800877FB0
:1015C0008093E8000E94F00C8091EA01809363010F
:1015D00008958091E701813AA1F48091E800877F26
:1015E0008093E8008091E80080FFFCCF8091630148
:1015F0008093F1008091E8008E778093E8000C944E
:10160000F00C089584B7877F84BF88E10FB6F89403
:1016100080936000109260000FBE90E080E80FB6EB
:10162000F89480936100909361000FBE0E948A102D
:101630000E94410D0E949E0D8091E2008460809383
:10164000E20078940E9419100E948C1082E091E0D0
:101650000E9436100E9414238091E601853069F4BF
:101660000E945A1C8091E4018823B1F30E94821CDD
:10167000882391F30E94990BEFCF0E949210ECCF38
:10168000292F332723303105A9F06CF4213031059F
:1016900009F442C02230310509F043C08DE690E0E4
:1016A00024E037E042C021323105C9F02232310551
:1016B00019F137C099278130910541F082309105A9
:1016C00041F0892B71F5E0E0F7E005C0E8EEF6E0C7
:1016D00002C0E0EDF6E0849190E09F0126C0643006
:1016E00000F5E62FF0E0EE0FFF1FEE5DFE4F2081CC
:1016F000318189E090E019C0643098F4E62FF0E081
:10170000DF01AA0FBB1FA65EBE4F2D913C91EA5E82
:10171000FE4F808190E009C082E190E021E737E050
:1017200004C080E090E020E030E0FA0131832083C3
:10173000089580E189BD82E189BD09B400FEFDCF35
:101740008091D8008F7D8093D8008091E0008260E6
:101750008093E0008091E00081FDFCCF0895CF925E
:10176000DF92EF92FF920F931F93CF93DF937C0151
:101770008B01EA010E94110D811131C0209731F0D7
:1017800088819981081B190BE80EF91EC12CD12CF8
:101790000115110519F18091E80085FD14C08091B3
:1017A000E8008E778093E800209741F08881998146
:1017B0008C0D9D1D9983888385E011C00E94110DB9
:1017C000882331F30CC0F70181917F018093F100F0
:1017D00001501109FFEFCF1ADF0ADACF80E0DF9165
:1017E000CF911F910F91FF90EF90DF90CF900895D0
:1017F0002091ED013091EE012617370748F0611571
:10180000710539F42091E8002E772093E80001C09B
:10181000B901FC0120E061157105B9F18091E60183
:10182000882309F440C0853009F43FC08091E80066
:1018300083FD3DC08091E80082FF06C08091E800F2
:1018400082FF26C080E008958091E80080FFE3CF0A
:101850002091F3008091F20090E0922B61157105C8
:1018600051F08830910538F421912093F1006150B6
:1018700071090196F3CF21E0089709F020E08091EB
:10188000E8008E778093E800C6CF2111C7CFD6CF6E
:101890008091E601882339F0853039F08091E800A5
:1018A00083FFCCCF04C082E0089583E0089581E0F7
:1018B00008952091ED013091EE012617370748F089
:1018C0006115710539F42091E8002E772093E80026
:1018D00001C0B901FC0120E061157105C1F18091E1
:1018E000E601882309F441C0853009F440C08091A5
:1018F000E80083FD3EC08091E80082FF06C0809131
:10190000E80082FF27C080E008958091E80080FF12
:10191000E3CF2091F3008091F20090E0922B6115CB
:10192000710559F08830910540F424912093F1001D
:101930003196615071090196F2CF21E0089709F0C4
:1019400020E08091E8008E778093E800C5CF2111D8
:10195000C6CFD5CF8091E601882339F0853039F0A4
:101960008091E80083FFCBCF04C082E0089583E03C
:10197000089581E00895982F973058F59093E900E5
:10198000981739F07091EC002091ED005091F00023
:1019900003C0242F762F50E021FF19C03091EB00B7
:1019A0003E7F3093EB003091ED003D7F3093ED00B2
:1019B0003091EB0031603093EB007093EC0020939A
:1019C000ED005093F0002091EE0027FF07C09F5FCD
:1019D000D3CF8F708093E90081E0089580E008956F
:1019E0008091E70187FD05C08091E80080FF0EC06F
:1019F00012C08091E80082FD05C08091E60181114E
:101A0000F8CF08958091E8008B7708C08091E601B7
:101A10008111EACF08958091E8008E778093E800E5
:101A200008958091E4009091E50045E62091EC0056
:101A300020FF21C02091E80020FD21C02091E60177
:101A4000222389F0253089F02091EB0025FD0FC07D
:101A50002091E4003091E5002817390739F341500F
:101A600041F0C901E3CF82E0089583E0089581E069
:101A7000089584E008952091E80022FFDFCF80E000
:101A800008950E94AF0D0E94B70DE0EEF0E0808156
:101A900081608083E8EDF0E080818F77808319BCDE
:101AA000A7EDB0E08C918E7F8C9380818F7E8083B8
:101AB0001092E50108950F931F93CF93DF930E9437
:101AC000AF0D0E94B70DC8EDD0E088818F77888375
:101AD00088818068888388818F7D888319BC109273
:101AE000E6011092E2011092E4011092E30100EE8F
:101AF00010E0F80180818B7F8083888181608883FA
:101B000042E060E080E00E94BB0CE1EEF0E080810A
:101B10008E7F8083E2EEF0E080818160808380812F
:101B200088608083F80180818E7F808388818061D6
:101B30008883DF91CF911F910F910895E8EDF0E038
:101B400080818F7E8083E7EDF0E0808181608083FB
:101B500084E082BF81E08093E5010C945B0DE8EDA9
:101B6000F0E080818E7F80831092E20008951092D1
:101B7000DA001092E10008951F920F920FB60F92B3
:101B800011242F933F934F935F936F937F938F9382
:101B90009F93AF93BF93EF93FF938091E10082FFF8
:101BA0000BC08091E20082FF07C08091E1008B7F33
:101BB0008093E1000E9418108091DA0080FF1FC01E
:101BC0008091D80080FF1BC08091DA008E7F8093C7
:101BD000DA008091D90080FF0DC080E189BD82E1EB
:101BE00089BD09B400FEFDCF81E08093E6010E942B
:101BF000200A05C019BC1092E6010E942E0A8091AD
:101C0000E10080FF19C08091E20080FF15C0809143
:101C1000E2008E7F8093E2008091E20080618093F9
:101C2000E2008091D80080628093D80019BC85E0E2
:101C30008093E6010E94320A8091E10084FF30C067
:101C40008091E20084FF2CC080E189BD82E189BDE2
:101C500009B400FEFDCF8091D8008F7D8093D8001D
:101C60008091E1008F7E8093E1008091E2008F7E81
:101C70008093E2008091E20081608093E200809195
:101C8000E201882311F084E007C08091E30087FF20
:101C900002C083E001C081E08093E6010E94340A23
:101CA0008091E10083FF29C08091E20083FF25C07D
:101CB0008091E100877F8093E10082E08093E601DC
:101CC0001092E2018091E1008E7F8093E10080918B
:101CD000E2008E7F8093E2008091E2008061809339
:101CE000E20042E060E080E00E94BB0C8091F000E6
:101CF00088608093F0000E94310AFF91EF91BF91BC
:101D0000AF919F918F917F916F915F914F913F9193
:101D10002F910F900FBE0F901F9018951F920F924A
:101D20000FB60F9211242F933F934F935F936F93AE
:101D30007F938F939F93AF93BF93CF93EF93FF9333
:101D4000C091E900CF708091EC001092E900809181
:101D5000F000877F8093F00078940E94CA0E109262
:101D6000E9008091F00088608093F000C093E90062
:101D7000FF91EF91CF91BF91AF919F918F917F9103
:101D80006F915F914F913F912F910F900FBE0F90E8
:101D90001F9018951F93CF93DF93CDB7DEB7AA9707
:101DA0000FB6F894DEBF0FBECDBFE7EEF1E0809135
:101DB000F100819321E0EF3EF207C9F70E94500A3B
:101DC0008091E80083FF1CC12091E7013091E80178
:101DD000832F90E08A30910508F012C1FC01EA5A85
:101DE000FF4F0C94AE24203881F0223809F008C14E
:101DF0008091EB018F708093E9008091EB0085FB6F
:101E0000882780F91092E90006C08091E301909143
:101E1000E401911182609091E800977F9093E8002F
:101E20008093F1001092F100C5C0822F8D7F09F0E0
:101E3000E7C0222319F0223061F0E2C08091E9016D
:101E4000813009F0DDC0333009F080E08093E40197
:101E500028C08091E901811124C02091EB012F70ED
:101E600009F4CEC02093E9008091EB0080FF19C0F7
:101E70008091EB00333011F4806211C08061809357
:101E8000EB0081E090E0022E01C0880F0A94EAF78F
:101E90008093EA001092EA008091EB0088608093C2
:101EA000EB001092E9008091E800877F86C0211145
:101EB000A7C01091E9011F778091E3008078812B02
:101EC0008093E3008091E800877F8093E8000E9480
:101ED000F00C8091E80080FFFCCF8091E3008068E7
:101EE0008093E300112311F083E001C082E080932E
:101EF000E60186C02058223008F082C08091E901B6
:101F00009091EA018C3D23E0920779F583E08A8382
:101F10008AE289834FB7F894DE01139620E03EE011
:101F200051E2E32FF0E050935700E49120FF03C00B
:101F3000E295EF703F5FEF708E2F90E0EA3010F087
:101F4000C79601C0C0968D939D932F5F243149F7AA
:101F50004FBF8091E800877F8093E8006AE270E0DD
:101F6000CE0101960E94F80B14C0AE014F5F5F4F87
:101F70006091EB010E94400B009709F441C0209151
:101F8000E800277F2093E800BC0189819A810E94A4
:101F9000590C8091E8008B778093E80031C020389D
:101FA00079F58091E800877F8093E8008091E201D5
:101FB0008093F1008091E8008E778093E8000E9482
:101FC000F00C1EC021111CC09091E9019230C0F4A8
:101FD0008091E800877F8093E8009093E2010E945F
:101FE000F00C8091E201811104C08091E30087FF31
:101FF00002C084E001C081E08093E6010E943C0AB7
:102000008091E80083FF0AC08091E800877F809379
:10201000E8008091EB0080628093EB00AA960FB6F7
:10202000F894DEBF0FBECDBFDF91CF911F91089511
:102030000895CF938091E6018823B1F08091E90063
:102040008F709091EC0090FF02C090E801C090E08A
:10205000C92FC82B1092E9008091E80083FD0E94EF
:10206000CA0ECF70C093E900CF9108959093690193
:10207000809368010895E0916801F09169013097BB
:1020800021F00190F081E02D099480E00895E09125
:102090006801F0916901309721F00280F381E02D11
:1020A00009940895E0916801F0916901309721F059
:1020B0000480F581E02D0994089520916601309106
:1020C00067018217930771F090936701809366010F
:1020D000E0916801F0916901309721F00680F78165
:1020E000E02D0994089520916401309165018217D3
:1020F000930771F09093650180936401E09168010A
:10210000F0916901309721F00084F185E02D099468
:10211000089508950C9489100E949D1C0E94170632
:102120000C94631DCF92DF92EF92FF920F931F9357
:10213000CF93DF93CDB7DEB72B970FB6F894DEBF02
:102140000FBECDBF0E942F063BE6E32E31E0F32EFB
:1021500000E010E0C02E802F0E941C07F701D190F4
:102160007F01D826B1F40F5F1F4F0E30110591F794
:102170008FEF89838A831B820E94A61C8160782F3F
:102180009D838C8349815A816B818D810E94351199
:1021900041C09091CD0191FF04C08B870E9422071E
:1021A0008B8520E030E04D2D50E0922FBA01022EB9
:1021B00002C0759567950A94E2F760FF25C02E83EB
:1021C000CF82EE24E394F12C02C0EE0CFF1C9A9512
:1021D000E2F790E08E219F2121E0892B09F420E095
:1021E00028870E94A61C8160782F9A8789874E8154
:1021F0005F8168858A850E943511F801E559FE4F97
:1022000080818E25808306C02F5F3F4F26303105A9
:1022100061F6A9CF0E94472010916A010E943B10ED
:102220001817A1F00E943B1080936A012B960FB6FD
:10223000F894DEBF0FBECDBFDF91CF911F910F91FC
:10224000FF90EF90DF90CF900C9440092B960FB643
:10225000F894DEBF0FBECDBFDF91CF911F910F91DC
:10226000FF90EF90DF90CF900895CF93DF93CDB79D
:10227000DEB72B970FB6F894DEBF0FBECDBF4F83EE
:10228000588769877A878B87DE01119686E0FD0182
:1022900011928A95E9F785E0FE01379601900D923B
:1022A0008A95E1F749815A816B817C818D819E817C
:1022B0000E9471182B960FB6F894DEBF0FBECDBFEB
:1022C000DF91CF910895CF93C82F882309F4C1C01F
:1022D000823859F40E943B1081FDBBC089E30E9403
:1022E0000E1B0E94D81B89E30CC0833879F40E942E
:1022F0003B1080FDAEC083E50E940E1B0E94D81BE0
:1023000083E50E944E1BCF910C94D81B843859F45E
:102310000E943B1082FD9DC087E40E940E1B0E941C
:10232000D81B87E4EECF8CEF8C0F813A48F48C2FCA
:102330000E947C2281118DC08C2F0E940E1BE3CF46
:1023400080E28C0F883048F4C77081E001C0880FAC
:10235000CA95EAF70E948F1BD6CF8BE58C0F83308E
:1023600078F4C53A29F0C63A31F482E890E005C025
:1023700081E890E002C083E890E0CF910C945D107A
:1023800088E58C0F833108F064C0C83A39F1C93A46
:1023900041F1CA3A49F1CB3A51F1CC3A59F1CD3A2F
:1023A00061F1C03B69F1CE3A71F1CF3A79F1C13BAD
:1023B00081F1C23B89F1C33B91F1C43B99F1C53B2B
:1023C000A1F1C63BA9F1C73BB1F1C83BB9F1C93B8B
:1023D000C1F1CA3BC9F58AE292E038C082EE90E0D2
:1023E00035C089EE90E032C08AEE90E02FC085EBD8
:1023F00090E02CC086EB90E029C087EB90E026C0EF
:102400008CEC90E023C08DEC90E020C083E891E05C
:102410001DC08AE891E01AC082E991E017C084E902
:1024200091E014C081E292E011C083E292E00EC01C
:1024300084E292E00BC085E292E008C086E292E07E
:1024400005C087E292E002C080E090E0CF910C945A
:102450007310CF910895882309F44BC0823859F442
:102460000E943B1081FF45C089E30E940E1B0E9421
:10247000D81B89E30CC0833871F40E943B1080FFA5
:1024800038C083E50E940E1B0E94D81B83E50E9482
:102490004E1B0C94D81B843859F40E943B1082FFC9
:1024A00028C087E40E940E1B0E94D81B87E4EFCF50
:1024B0009CEF980F913A58F390E2980F983050F4AF
:1024C000877091E001C0990F8A95EAF7892F0E94E1
:1024D000951BDFCF9BE5980F933020F480E090E0D0
:1024E0000C945D10885A833120F480E090E00C94C5
:1024F00073100895882321F00E948F1B0C94D81B21
:102500000895882321F00E94951B0C94D81B0895F0
:10251000CF92DF92EF92FF920F931F93CF93DF93AF
:10252000CDB7DEB728970FB6F894DEBF0FBECDBF8C
:102530008C0185E0F801DE01119601900D928A95DB
:10254000E1F7F80140813181F280258122952F70D9
:1025500083819481892B31F03F3F31F481E04F3FFB
:1025600019F403C081E001C080E080FDCBC2498343
:102570003A8389819A812F830E94CC1A9E8388870F
:102580000E94CB1A0E949E192F814E816885FF20E0
:1025900029F00E94AC1B68854E812F81E42FE295C3
:1025A000EF70F0E0E05AFF4F0C94AE24842F807F50
:1025B000142F1F70882311F01295107FFF2059F0FF
:1025C000112309F454C2812F68870E949F1B0E9427
:1025D000D81B68854CC2862F0E942B12112309F448
:1025E00091C2812F0E94A51B28960FB6F894DEBFDA
:1025F0000FBECDBFDF91CF911F910F91FF90EF9054
:10260000DF90CF900C94D81B342F307F842F8F70A5
:10261000303211F08295807F662319F0613019F114
:102620002BC0FF20B1F0222309F493C1213009F01F
:1026300090C128960FB6F894DEBF0FBECDBFDF91D4
:10264000CF911F910F91FF90EF90DF90CF900C945E
:10265000BF1B222319F0213009F454C28E830E943B
:10266000C21B8E8189C1FF2021F0223008F04AC2AE
:1026700070C1211147C280C1FF2021F0222309F43B
:1026800068C1F5C1222309F477C105C2242F26951C
:102690002695237030E02115310521F021303105D8
:1026A000C9F030C2FF2021F0862F942F937002C012
:1026B00080E090E028960FB6F894DEBF0FBECDBF45
:1026C000DF91CF911F910F91FF90EF90DF90CF900E
:1026D0000C945D10FF2021F0862F942F937002C080
:1026E00080E090E028960FB6F894DEBF0FBECDBF15
:1026F000DF91CF911F910F91FF90EF90DF90CF90DE
:102700000C947310862FFF2019F00E944F1F02C0F7
:102710000E94B71F28960FB6F894DEBF0FBECDBF3C
:10272000DF91CF911F910F91FF90EF90DF90CF90AD
:102730000C943C20842F837009F076C0F110E2C124
:10274000262F229526952770220F220F862F8F7015
:10275000C82ED12CE12CF12C022E04C0CC0CDD1C97
:10276000EE1CFF1C0A94D2F764FF10C06FE070E00B
:1027700080E090E004C0660F771F881F991F2A959C
:10278000D2F7609570958095909503C060E070E0F9
:10279000CB01242F269526952370422F50E04230FE
:1027A0005105D1F04330510559F16C297D298E290D
:1027B0009F294130510541F128960FB6F894DEBFAC
:1027C0000FBECDBFDF91CF911F910F91FF90EF9082
:1027D000DF90CF900C94C3196C297D298E299F29F5
:1027E00028960FB6F894DEBF0FBECDBFDF91CF9114
:1027F0001F910F91FF90EF90DF90CF900C94DD1917
:102800000E94C319C701B60128960FB6F894DEBF1F
:102810000FBECDBFDF91CF911F910F91FF90EF9031
:10282000DF90CF900C94A919FF2019F0842F8170AC
:1028300001C08695882309F465C1262F2295269527
:102840002770220F220F862F8F70C82ED12CE12CDB
:10285000F12C022E04C0CC0CDD1CEE1CFF1C0A94D3
:10286000D2F764FF10C06FE070E080E090E004C039
:10287000660F771F881F991F2A95D2F7609570956C
:102880008095909503C060E070E0CB01242F2695E1
:1028900026952370422F50E042305105D1F043304D
:1028A000510559F16C297D298E299F294130510507
:1028B00041F128960FB6F894DEBF0FBECDBFDF9171
:1028C000CF911F910F91FF90EF90DF90CF900C94DC
:1028D000971A6C297D298E299F2928960FB6F8947E
:1028E000DEBF0FBECDBFDF91CF911F910F91FF9043
:1028F000EF90DF90CF900C94B11A0E94971AC70105
:10290000B60128960FB6F894DEBF0FBECDBFDF919B
:10291000CF911F910F91FF90EF90DF90CF900C948B
:102920007D1A603FC9F118F4603E50F49BC0623FCD
:1029300009F460C008F44AC0633F09F46FC092C054
:10294000162F1F70842F8F71FF2099F00E94161A86
:10295000812F28960FB6F894DEBF0FBECDBFDF9152
:10296000CF911F910F91FF90EF90DF90CF900C943B
:102970007A120E94371A812F28960FB6F894DEBF7C
:102980000FBECDBFDF91CF911F910F91FF90EF90C0
:10299000DF90CF900C948112FF20A1F02111B2C0E2
:1029A000842F8F7128960FB6F894DEBF0FBECDBF6F
:1029B000DF91CF911F910F91FF90EF90DF90CF901B
:1029C0000C945C1A223008F09DC0EACFFF20A1F0E1
:1029D000842F8F7128960FB6F894DEBF0FBECDBF3F
:1029E000DF91CF911F910F91FF90EF90DF90CF90EB
:1029F0000C94161AFF2061F3842F8F7128960FB65E
:102A0000F894DEBF0FBECDBFDF91CF911F910F9124
:102A1000FF90EF90DF90CF900C94371AFF2091F049
:102A2000842F8F7128960FB6F894DEBF0FBECDBFEE
:102A3000DF91CF911F910F91FF90EF90DF90CF909A
:102A40000C94011A28960FB6F894DEBF0FBECDBFC6
:102A5000DF91CF911F910F91FF90EF90DF90CF907A
:102A60000C94F719FF20A1F0222309F4B1CF862F8F
:102A700028960FB6F894DEBF0FBECDBFDF91CF9181
:102A80001F910F91FF90EF90DF90CF900C94631106
:102A9000222309F4B1CF862F28960FB6F894DEBF13
:102AA0000FBECDBFDF91CF911F910F91FF90EF909F
:102AB000DF90CF900C942B124F70C8010E94A50498
:102AC00028960FB6F894DEBF0FBECDBFDF91CF9131
:102AD0001F910F91FF90EF90DF90CF900C941E19F3
:102AE0004F70C80128960FB6F894DEBF0FBECDBF59
:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
:102B00000C94E20728960FB6F894DEBF0FBECDBF37
:102B1000DF91CF911F910F91FF90EF90DF90CF90B9
:102B200008950E94AC1B0E94BC1B0E94811B0E9446
:102B3000D81B0E94E8200E943C2080E090E00E9488
:102B40005D1080E090E00C9473100E949C1B0C942C
:102B500091150E94CC1A292F22952F7030E02C302D
:102B600031054CF42A3031056CF422503109223001
:102B7000310590F407C02C30310551F02F3031056C
:102B800039F00AC0803E10F0803F31F481E00895B2
:102B900093FB882780F9089580E00895CF93DF9311
:102BA00000D000D01F92CDB7DEB70F900F900F90DE
:102BB0000F900F90DF91CF910895CF93DF9300D0C6
:102BC00000D000D0CDB7DEB726960FB6F894DEBFA2
:102BD0000FBECDBFDF91CF9108951F93CF93DF93A9
:102BE000C091790116E080917A01C81799F0D0E080
:102BF0001C9FF0011D9FF00D1124E558FE4F4081F0
:102C0000518162817381848195810E94DD152196B5
:102C1000C770E9CFDF91CF911F9108954091AB012B
:102C20005091AC016091AD017091AE018091AF0106
:102C30009091B0010C94DD15CF938091B0018295F5
:102C40008F7009F05FC08091AD01882309F45AC0EC
:102C500020917901A0917A016091AB017091AC0152
:102C60008091AE019091AF0131E06F3F09F030E00B
:102C7000B32FC6E02A1709F445C0009721F07F3F23
:102C800021F44B2F03C041E001C040E030E040FDA3
:102C900035C0C29FF001C39FF00D1124E558FE4FCF
:102CA000418174132BC04081641328C042814111BB
:102CB00025C0438154814817590710F441505109E8
:102CC000481B590B483C5105C8F48091B0018F70E6
:102CD00080618093B00186E0829FF001839FF00DB8
:102CE0001124E058FE4F80818F70806180838BEAD1
:102CF00091E00E948812CF910C94ED152F5F3F4F09
:102D00002770B8CFCF910895CF92DF92EF92FF92C4
:102D10000F931F93CF93DF93CDB7DEB762970FB6B4
:102D2000F894DEBF0FBECDBF8C0185E0F801DE0157
:102D30001D9601900D928A95E1F7D8014C9111965C
:102D40005C91119712966C9112971396ED90FC90EE
:102D500014977091AB01E091AC012091AE013091DC
:102D6000AF012115310531F0EF3F31F481E07F3FB4
:102D700019F403C081E001C080E0B82FB170CB2E00
:102D800080FD6CC1D090AD01DD2009F4F5C0F0915B
:102D9000B001E216F30638F0C701821B930B883CA2
:102DA000910548F09BC0209530952E0D3F1D283C85
:102DB000310508F093C08F2F807F09F052C0E513D2
:102DC00014C0741312C0D62E61110FC0FF70F061D1
:102DD000F093B0010E940E168BEA91E00E948812D7
:102DE0008091B001F80185836CC1EF2831F05F3F1D
:102DF00031F481E04F3F19F403C081E001C080E06D
:102E000080FD03C081E0862701C080E0F82FF170CB
:102E1000FF2E80FF1CC08091790120917A0136E05D
:102E2000821709F428C190E0389FF001399FF00D16
:102E30001124E558FE4F7181571306C07081471366
:102E400003C07281671303C001968770E9CFD62E45
:102E5000662309F436C18091B00181608093B0018E
:102E600053C0E51308C0741306C0611104C0D80133
:102E70001596FC93AEC04D875E878D859E856A8BC7
:102E80000E94A9156A89882329F1D62E662311F19B
:102E90002091B001822F82958F7090E002970CF400
:102EA00060C08091AB019091AC0198878F831986A7
:102EB000FB86EA862C87CE01079651C0E51731F1D3
:102EC0004D875E878D859E856A8B0E94A9156A89CC
:102ED00081112EC0C8010E948812A4C08F2F807F4C
:102EE00069F77E2DF98AE88A89890E94CE158BEAD6
:102EF00091E00E948812EBEAF1E086E0DF011D928A
:102F00008A95E9F70E940E16D12CDBC07413D8CF36
:102F10006111D6CFD8011596FC93C8010E94881282
:102F2000EBEAF1E086E0DF011D928A95E9F7C9C07E
:102F3000D62E662379F22091B001822F82958F7070
:102F400090E0029774F08091AB019091AC019A836C
:102F500089831B82FD82EC822E83CE0101960E9422
:102F6000881286E0F801ABEAB1E001900D928A95F3
:102F7000E1F70E941C166FC0E216F30628F0C701A5
:102F8000821B930B9C0104C0209530952E0D3F1D94
:102F9000283C310508F052C0D62E662309F49ACF9A
:102FA000E5132CC074132AC08091B00180FD1DC0B0
:102FB000982F92959F70C9F0D80115968C9315970C
:102FC0009F3039F09F5F9295907F8F70892B159677
:102FD0008C93C8010E94881286E0F801ABEAB1E048
:102FE00001900D928A95E1F736C086E0F801ABEAD0
:102FF000B1E001900D928A95E1F763C04D875E873D
:103000008D859E850E94A915882379F086E0F801B8
:10301000ABEAB1E001900D928A95E1F70E941C168F
:103020000E940E16DD24D3944CC08091B0018160C3
:103030008093B001C8010E94881243C07E2DF98A96
:10304000E88A89890E94CE15EBEAF1E086E0DF018B
:103050001D928A95E9F70E940E1633C0662309F483
:1030600039CF4D875E878D859E850E94A91588235F
:1030700009F430CFCBCF4D875E878D859E850E942A
:10308000CC1A292F22952F7030E0223031052CF4F4
:103090009F7041F0811106C00CC0243031052CF422
:1030A0009F7049F4805E883020F0C8010E94881229
:1030B000CF2CDC2C06C0D80115969C91907F91F7FF
:1030C000F8CF8D2D62960FB6F894DEBF0FBECDBF40
:1030D000DF91CF911F910F91FF90EF90DF90CF90F4
:1030E00008951F93CF93DF93CDB7DEB72C970FB61C
:1030F000F894DEBF0FBECDBF4F83588769877A87AC
:103100008B879C87CE0107960E9484168823C1F086
:103110002F8138858A859B85892B31F03F3F11F0BF
:1031200080E003C02F3FE1F781E0811147C04F816C
:10313000588569857A858B859C850E94DD153EC002
:1031400086E0FE013796DE01119601900D928A9578
:10315000E1F7FF81E8854A855B854115510531F02E
:10316000EF3F31F481E0FF3F19F403C081E001C07B
:1031700080E080FD23C020917A0130E0C9010196F2
:10318000877099276091790170E086179707F1F1B0
:10319000F983EA835D834C8396E0929FD001939FED
:1031A000B00D1124A558BE4FFE01319601900D922D
:1031B0009A95E1F780937A010E94ED1516E08091CF
:1031C000790190917A01891779F1189FC001112432
:1031D00085589E4F0E948416882331F1E091790131
:1031E0001E9FF0011124E558FE4F408151816281FC
:1031F0007381848195810E94DD158091790190E031
:1032000001968770992780937901D9CF0E94A515DF
:1032100010927A0110927901EBEAF1E086E0DF0189
:103220001D928A95E9F7CACF2C960FB6F894DEBFA7
:103230000FBECDBFDF91CF911F910895EF92FF9206
:103240000F931F93CF93DF93FC01009709F46FC096
:10325000F12CEE24E394EF0121968491843740F41D
:10326000843008F055C0813081F0823021F15FC098
:10327000853709F447C0C0F19CE7980F903708F0F4
:1032800056C08F770E942B1245C08F010E5F1F4FD3
:10329000FE01849190E2980F983050F48770FE2DD3
:1032A00001C0FF0F8A95EAF78F2F0E94AF1B15C050
:1032B0000E94631114C08F010E5F1F4FFE018491A5
:1032C00090E2980F983068F48770FE2D01C0FF0FD0
:1032D0008A95EAF78F2F0E94B51B0E94D81BE80140
:1032E00019C00E942B12FBCFCF010296FE01C491A0
:1032F000CC2361F0EFE9FFE03197F1F700C0000067
:10330000C150F6CFCF010296FE01F490EC0102C04D
:103310000E9463118F2D882341F0EFE9FFE0319780
:10332000F1F700C000008150F6CFFE0194CFDF918D
:10333000CF911F910F91FF90EF90089508956093A2
:10334000B5017093B6018093B7019093B8010C94C6
:1033500091150F931F930091B5011091B601209123
:10336000B7013091B801062B172B282B392B00936E
:10337000B5011093B6012093B7013093B8011F91A6
:103380000F910C9491150F931F930091B50110911B
:10339000B6012091B7013091B801062317232823E5
:1033A00039230093B5011093B6012093B7013093F0
:1033B000B8011F910F910C9491150F931F930091D9
:1033C000B5011091B6012091B7013091B8010627DF
:1033D0001727282739270093B5011093B6012093AA
:1033E000B7013093B8011F910F910C949115109271
:1033F000B1011092B2011092B3011092B4010C9479
:10340000911541E050E060E070E004C0440F551FAA
:10341000661F771F8A95D2F74093B1015093B2018E
:103420006093B3017093B4010C94911541E050E0A6
:1034300060E070E004C0440F551F661F771F8A9537
:10344000D2F78091B1019091B201A091B301B091F6
:10345000B401842B952BA62BB72B8093B1019093AD
:10346000B201A093B301B093B4010C94911541E063
:1034700050E060E070E004C0440F551F661F771FE6
:103480008A95D2F740955095609570958091B101DD
:103490009091B201A091B301B091B401842395231E
:1034A000A623B7238093B1019093B201A093B301F7
:1034B000B093B4010C94911541E050E060E070E0ED
:1034C00004C0440F551F661F771F8A95D2F780915D
:1034D000B1019091B201A091B301B091B4018427E0
:1034E0009527A627B7278093B1019093B201A093A7
:1034F000B301B093B4010C9491150F931F930091F5
:10350000B1011091B2012091B3013091B401062BA9
:10351000172B282B392B0093B1011093B201209364
:10352000B3013093B4011F910F910C9491150F9337
:103530001F930091B1011091B2012091B30130911C
:10354000B40106231723282339230093B1011093D4
:10355000B2012093B3013093B4011F910F910C94E9
:1035600091150F931F930091B1011091B201209119
:10357000B3013091B4010627172728273927009374
:10358000B1011093B2012093B3013093B4011F91A4
:103590000F910C9491150895CF92DF92EF92FF92C4
:1035A0000F931F93CF93DF93EC01C090B501D090A0
:1035B000B601E090B701F090B8018091B10190910F
:1035C000B201A091B301B091B401C82AD92AEA2A64
:1035D000FB2A0FE110E0B701A601002E04C076958A
:1035E0006795579547950A94D2F740FF07C0BE01EB
:1035F000802F0E9405088130910539F4015011098E
:1036000050F7BE0180E00E940508DF91CF911F9125
:103610000F91FF90EF90DF90CF90089590910C0163
:103620009923D9F090910D019923B9F0982F96958F
:10363000969596959F3088F5E0910E01F0910F01D7
:10364000E90FF11D877021E030E001C0220F8A955B
:10365000EAF78181822B8183089540910E01509178
:103660000F0120E030E09FEFFA01E20FF31F6281CB
:10367000681799F09F3F19F4611101C0922F2F5FD5
:103680003F4F2E30310581F79F3F39F0FA01E90FA6
:10369000F11D97FDFA9582830895089590910C018C
:1036A0009923E1F090910D019923C1F0982F9695FF
:1036B000969596959F3020F5E0910E01F0910F01BF
:1036C000E90FF11D877021E030E001C0220F8A95DB
:1036D000EAF72095818128232183089540910E01E6
:1036E00050910F0120E030E0FA01E20FF31F9281C8
:1036F000981301C012822F5F3F4F2E303105A1F782
:10370000089581E090E0E0910E01F0910F01E80F43
:10371000F91F1082019680319105A9F708959091C3
:10372000CC01982B9093CC01089580959091CC0179
:1037300098239093CC0108951092CC010895909114
:10374000CB01982B9093CB01089580959091CB015C
:1037500098239093CB0108951092CB0108959091F6
:10376000CA01982B9093CA01089580959091CA013F
:1037700098239093CA0108951092CA0108958093E6
:10378000B90108951092B901089540910E01509128
:103790000F0120E030E080E0FA01E20FF31F918199
:1037A00091118F5F2F5F3F4F2F303105A9F708959B
:1037B000E0910E01F0910F018091CC018083E091A6
:1037C0000E01F0910F0180819091CB01892B8083B4
:1037D000E0910E01F0910F0180819091CA01892B37
:1037E00080839091B901992361F0E0910E01F091ED
:1037F0000F018081892B80830E94C51B811110924B
:10380000B90180910E0190910F010C944710CF9255
:10381000DF92EF92FF920F931F936C01EE24FF242F
:10382000C114D104E104F10421F46B017C0180E0B6
:1038300001C080E133272F2D1E2D0D2D01151105FF
:103840002105310519F0885F68017901970186012A
:10385000A4E03695279517950795AA95D1F70115F8
:1038600011052105310519F08C5F68017901970177
:103870008601F2E03695279517950795FA95D1F7C9
:10388000011511052105310519F08E5F68017901D7
:10389000B701A6017695679557954795452B462B19
:1038A000472B09F08F5F1F910F91FF90EF90DF90F2
:1038B000CF9008958091E601843009F11092CE01F5
:1038C00020E488E190E00FB6F894A895809360001A
:1038D0000FBE2093600083B7817F846083BF83B76E
:1038E000816083BF7894889583B78E7F83BF88E19A
:1038F0000FB6F89480936000109260000FBE089598
:1039000008950895CF930E94801C0E942F060E9464
:10391000811CC0E08C2F0E941C07811105C0CF5F65
:10392000CE30C1F780E001C081E0CF9108950E94C0
:10393000A5150E943B100C94400982E084BD93E0E1
:1039400095BD9AEF97BD80936E0008952FB7F894B8
:103950008091CF019091D001A091D101B091D2017D
:103960002FBF0895CF92DF92EF92FF920F931F9394
:103970002FB7F8944091CF015091D0016091D101BF
:103980007091D2012FBF6A017B01EE24FF248C01CC
:1039900020E030E0C016D106E206F30610F44150F4
:1039A0005109481B590BCA011F910F91FF90EF90CD
:1039B000DF90CF9008951F920F920FB60F921124AF
:1039C0008F939F93AF93BF938091CF019091D0013C
:1039D000A091D101B091D2010196A11DB11D80939A
:1039E000CF019093D001A093D101B093D201BF91A8
:1039F000AF919F918F910F900FBE0F901F901895D0
:103A00000E94410DF8942FEF87EA91E62150804003
:103A10009040E1F700C0000087E090EBDC0180936C
:103A2000EF019093F001A093F101B093F2012CE02B
:103A300088E190E00FB6F894A895809360000FBEDF
:103A400020936000FFCFEF92FF920F931F93CF93CD
:103A5000DF93E82EF12C8F2D0E941C07C0E0D0E0F0
:103A6000082F10E098010C2E02C0359527950A9476
:103A7000E2F720FD05C02196C630D10599F709C0AF
:103A80006C2F7F2D80E00E94E307E812F4CF81E0E5
:103A900005C0F3948EE0F812DECF80E0DF91CF9185
:103AA0001F910F91FF90EF900895CF93C82F8CE254
:103AB0000E94231D882321F08C2FCF910C94231D6D
:103AC00080E0CF910895CF930E94A81E811102C07B
:103AD0000E948E1EC5E6C15049F00E942F068FE35A
:103AE0009CE90197F1F700C00000F5CF89E20E9440
:103AF000551D811111C18AE20E94551D81110E943C
:103B00008E1E85E00E94551D81110E94001D0E949D
:103B1000B31E8093CD0187E00E94551D882399F143
:103B20008BE10E94551D882351F09091CD0191FBAE
:103B3000882780F921E0822780FB91F922C08EE05E
:103B40000E94551D882351F09091CD0192FB88274A
:103B500080F921E0822780FB92F913C080E10E9466
:103B6000551D9091CD01882341F093FB882780F962
:103B700021E0822780FB93F904C0892F809580FB88
:103B800090F99093CD018091CD010E94B71E0E94C3
:103B9000C51E8093E00180EE0E94551D882341F0F0
:103BA0008091E001982F909590FB80F98093E0013F
:103BB00089E30E94551D882359F09091E00191FB03
:103BC000882780F921E0822780FB91F99093E0011A
:103BD00082EE0E94551D882359F09091E00192FBDE
:103BE000882780F921E0822780FB92F99093E001F9
:103BF00086EE0E94551D882359F09091E00193FBB9
:103C0000882780F921E0822780FB93F99093E001D7
:103C100083EE0E94551D882359F09091E00194FB9A
:103C2000882780F921E0822780FB94F99093E001B6
:103C300085E30E94551D882359F09091E00195FB82
:103C4000882780F921E0822780FB95F99093E00195
:103C500081E30E94551D882359F09091E00196FB65
:103C6000882780F921E0822780FB96F99093E00174
:103C700081E10E94551D882359F09091E00197FB46
:103C8000882780F921E0822780FB97F99093E00153
:103C90008091E0010E94C91E8091E00187FB882786
:103CA00080F980930D0187E20E94551DC82F8EE197
:103CB0000E94551D8111C2608FE10E94551D811126
:103CC000C46080E20E94551D8111C86081E20E949B
:103CD000551D8111C06182E20E94551D8111C06293
:103CE00083E20E94551D8111C06484E20E94551D2B
:103CF000882311F0C06802C0CC2329F08C2F0E94C9
:103D0000C01E6C2F03C00E94BC1E682F70E080E0B4
:103D100090E0CF910C949F19CF9108956DEE7EEFB6
:103D200080E090E00E94E42460E082E090E00E9465
:103D3000D62460E083E090E00E94D62460E084E036
:103D400090E00E94D62460E085E090E00C94D624B8
:103D500080E090E00E94D02421E08D3E9E4F09F04B
:103D600020E0822F089582E090E00C94C824682F10
:103D700082E090E00C94D62483E090E00C94C82478
:103D8000682F83E090E00C94D62484E090E00C94BB
:103D9000C824682F84E090E00C94D6248091D5014B
:103DA00080FF0BC06091130185E0689FB001112472
:103DB00075956795759567952AC081FF09C06091D3
:103DC000130185E0689FB0011124759567951FC0A8
:103DD00082FF07C06091130185E0689FB001112444
:103DE00016C04091D6014423C9F0609112014617D4
:103DF00088F72091130185E0289F90011124429FAC
:103E0000C001439F900D112470E00E949A246038F5
:103E1000710540F46115710539F002C065E070E08C
:103E2000862F08958FE7089581E008958091D50148
:103E300080FF08C06091110170E0759567957595D8
:103E4000679521C081FF06C06091110170E07595F2
:103E5000679519C082FF04C06091110170E010C025
:103E60008091D6018823C1F0609110018617A0F7D8
:103E700090911101989FC001112470E00E949A2432
:103E80006038710528F46115710521F0862F0895B9
:103E90008FE7089581E0089561E070E0F4CF803FFE
:103EA00021F40E94CE1E819504C0813F29F40E9416
:103EB000CE1E8093D9010895823F21F40E94CE1E28
:103EC000819504C0833F29F40E94CE1E8093D801BF
:103ED0000895893F19F40E94161F05C08A3F31F4E6
:103EE0000E94161F81958093DA0108958B3F21F47B
:103EF0000E94161F819504C08C3F29F40E94161F52
:103F00008093DB010895843F21F48091D701816083
:103F100017C0853F21F48091D701826011C0863F90
:103F200021F48091D70184600BC0873F21F48091F8
:103F3000D701886005C0883F31F48091D701806146
:103F40008093D70108958D3F21F48091D501816040
:103F50000BC08E3F21F48091D501826005C08F3F58
:103F600029F48091D50184608093D5010895803F24
:103F700039F48091D90187FF6CC01092D90169C0D2
:103F8000813F29F48091D9011816BCF362C0909149
:103F9000D801823F29F497FF5CC01092D80159C024
:103FA000833F19F41916CCF354C0893F41F4809132
:103FB000DA0118160CF04DC01092DA014AC08A3F9F
:103FC00029F48091DA0187FF44C0F6CF8B3F39F4A2
:103FD0008091DB0187FF3DC01092DB013AC08C3F2E
:103FE00029F48091DB011816BCF333C0843F21F41F
:103FF0008091D7018E7F17C0853F21F48091D70132
:104000008D7F11C0863F21F48091D7018B7F0BC03B
:10401000873F21F48091D701877F05C0883F31F425
:104020008091D7018F7E8093D70113C08D3F21F4FB
:104030008091D5018E7F0BC08E3F21F48091D501F8
:104040008D7F05C08F3F29F48091D5018B7F8093B0
:10405000D5018091D80181110EC08091D9018111C3
:104060000AC08091DA01811106C08091DB018111C3
:1040700002C01092D601089587ED91E00E9452107F
:104080000E94A61C9093D4018093D30108951F939E
:10409000CF93DF938091D3019091D4010E94B21C01
:1040A0004091D601442321F02091140130E006C054
:1040B000209115015AE0259F900111248217930742
:1040C00008F482C08091D8011091D901D091DA0111
:1040D000C091DB01811107C0111105C0D11103C0CE
:1040E000CC2309F471C04F3F19F04F5F4093D601C4
:1040F000181624F40E94CE1E8093D8018091D80116
:1041000087FF05C00E94CE1E81958093D8011116AD
:1041100024F40E94CE1E8093D9018091D90187FF9B
:1041200005C00E94CE1E81958093D9016091D8016F
:10413000662339F11091D901112319F1772767FD11
:104140007095872F972F0E94AB2323E333E343E33C
:104150005FE30E940F240E9478236093D801612FAF
:10416000772767FD7095872F972F0E94AB2323E356
:1041700033E343E35FE30E940F240E9478236093BC
:10418000D9011D1624F40E94161F8093DA01809134
:10419000DA0187FF05C00E94161F81958093DA011E
:1041A0001C1624F40E94161F8093DB018091DB0112
:1041B00087FF05C00E94161F81958093DB01DF9168
:1041C000CF911F910C943C20DF91CF911F910895C6
:1041D000E7EDF1E085E0DF011D928A95E9F71092A5
:1041E000D6011092D5010895833081F128F48130F1
:1041F00059F08230D1F00895853009F449C0B8F102
:10420000863009F456C0089520911501862F90E05C
:10421000820F911D8F3F910520F4620F609315016D
:1042200008958FEF80931501089520911401862F32
:1042300090E0820F911D8F3F910520F4620F6093F3
:10424000140108958FEF80931401089520911301B4
:10425000862F90E0820F911D8F3F910520F4620F11
:104260006093130108958FEF8093130108952091B7
:104270001201862F90E0820F911D8F3F910520F44F
:10428000620F6093120108958FEF809312010895D9
:1042900020911101862F90E0820F911D8F3F910593
:1042A00020F4620F6093110108958FEF8093110144
:1042B000089520911001862F90E0820F911D8F3F6D
:1042C000910520F4620F6093100108958FEF8093A1
:1042D00010010895833011F128F4813049F08230C3
:1042E00091F00895853081F120F18630C1F1089573
:1042F00080911501681720F4861B8093150108959D
:1043000010921501089580911401681720F4861BFE
:10431000809314010895109214010895809113015F
:10432000681720F4861B80931301089510921301DF
:10433000089580911201681720F4861B8093120162
:10434000089510921201089580911101681720F4C8
:10435000861B809311010895109211010895809198
:104360001001681720F4861B8093100108951092A5
:10437000100108958D3109F442C020F58E3009F402
:1043800079C070F4873009F45EC020F4863009F4F7
:1043900042C033C08830D1F18B3009F4A7C02DC0A2
:1043A000863109F4A3C038F4803109F46DC081313D
:1043B00009F47BC022C0893109F498C08B3109F41B
:1043C0004FC01BC0853309F479C048F4873209F423
:1043D00075C008F478C0893209F470C00EC0833407
:1043E00038F48A3308F071C0883309F47FC005C0FF
:1043F000833409F463C08834C1F080E008950E94DA
:1044000032230E943B100E94400970C00E94B31EDC
:104410000E94C51E6BC08091CD01817F8E7F8093ED
:10442000CD0181E08093DD0108950E94A5152FEF55
:1044300083ED90E3215080409040E1F700C0000000
:104440000E94001D53C09091CD01892F817090FF73
:1044500003C0917F9E7F26C091609093CD0146C09E
:104460009091CD0191FB882780F921E0822780FB84
:1044700091F913C09091CD0192FB882780F921E03A
:10448000822780FB92F909C09091CD0193FB882788
:1044900080F921E0822780FB93F99093CD01882356
:1044A00029F191609093CD0108950E94A515809106
:1044B0000D0191E0892780930D0118C061E070E043
:1044C00080E090E00FC023EE01C027EC280F61E0F0
:1044D00070E080E090E004C0660F771F881F991F8E
:1044E0002A95D2F70E949F190E94A51581E0089590
:1044F00080E0089580E00895CF93C82F8091DD017A
:10450000813079F018F08230D1F184C0A0910E0191
:10451000B0910F018C91813169F0823209F07CC039
:1045200009C0A0910E01B0910F018C91813111F061
:10453000823249F48C2F0E94782281111DC08C2F69
:104540000E94BA211AC08C2F0E947A22811114C0B5
:10455000C43179F048F4CB3079F0C03109F060C053
:1045600082E08093DD0108C0C93219F0C83321F020
:1045700057C01092DD0154C081E0817053C0C93230
:1045800089F118F5C43171F1A8F4C73009F046C0BB
:104590008AE08093150194E19093140193E0909345
:1045A00013018093120188E08093110188E28093C7
:1045B000100134C0CE51C63088F5EC2FF0E0E65D36
:1045C000FE4F80818093DC0129C0CE34E9F020F4D5
:1045D000CB3421F56AE013C0C13579F0C235F1F46E
:1045E00061E00DC08091DC01882319F01092DC019C
:1045F00015C081E08093DD0115C061E006C08091A7
:10460000DC010E94F4200AC06AE08091DC010E9473
:104610006A2104C01092DD0180E004C081E002C084
:1046200080E0ABCFCF910895E1E8F0E08081886031
:1046300080838081816080838FB7F89493E090932A
:10464000890090ED909388008FBF0895EFE6F0E029
:104650008081826080830895EFE6F0E080818D7F25
:1046600080830895EFE6F0E0808192E089278083DF
:1046700008951F920F920FB60F9211242F933F931C
:104680004F935F936F937F938F939F93AF93BF935A
:10469000EF93FF938091DE019091DF01019690935B
:1046A000DF018093DE01811103C082E00E94400996
:1046B000E091DF01E695E695F0E0E258F74FE491EE
:1046C0008091DE018E1303C080E00E944009FF91BB
:1046D000EF91BF91AF919F918F917F916F915F917A
:1046E0004F913F912F910F900FBE0F901F901895F3
:1046F00004D06894B1118DC0089570D088F09F5790
:1047000090F0B92F9927B751A0F0D1F0660F771F1D
:10471000881F991F1AF0BA95C9F712C0B13081F0FD
:1047200077D0B1E0089574C0672F782F8827B85FDD
:1047300039F0B93FCCF3869577956795B395D9F75E
:104740003EF490958095709561957F4F8F4F9F4F68
:104750000895E89409C097FB3EF490958095709574
:1047600061957F4F8F4F9F4F9923A9F0F92F96E9BD
:10477000BB279395F695879577956795B795F11132
:10478000F8CFFAF4BB0F11F460FF1BC06F5F7F4FCF
:104790008F4F9F4F16C0882311F096E911C07723E1
:1047A00021F09EE8872F762F05C0662371F096E8EA
:1047B000862F70E060E02AF09A95660F771F881FB9
:1047C000DAF7880F9695879597F9089557FD9058D1
:1047D000440F551F59F05F3F71F04795880F97FBC5
:1047E000991F61F09F3F79F087950895121613067F
:1047F0001406551FF2CF4695F1DF08C016161706AE
:104800001806991FF1CF86957105610508940895E2
:10481000E894BB2766277727CB0197F908950BD03B
:1048200078C069D028F06ED018F0952309F05AC0EE
:104830005FC01124EECFCADFA0F3959FD1F3950F8F
:1048400050E0551F629FF001729FBB27F00DB11D14
:10485000639FAA27F00DB11DAA1F649F6627B00DA4
:10486000A11D661F829F2227B00DA11D621F739F8D
:10487000B00DA11D621F839FA00D611D221F749F9B
:104880003327A00D611D231F849F600D211D822FE2
:10489000762F6A2F11249F5750408AF0E1F0882329
:1048A0004AF0EE0FFF1FBB1F661F771F881F915036
:1048B0005040A9F79E3F510570F014C0AACF5F3F4A
:1048C000ECF3983EDCF3869577956795B795F79569
:1048D000E7959F5FC1F7FE2B880F911D96958795F1
:1048E00097F9089597F99F6780E870E060E0089570
:1048F0009FEF80EC089500240A94161617061806F8
:104900000906089500240A941216130614060506D3
:104910000895092E0394000C11F4882352F0BB0F64
:1049200040F4BF2B11F460FF04C06F5F7F4F8F4FC7
:104930009F4F089597FB072E16F4009407D077FD3C
:1049400009D00E94B42407FC05D03EF490958195CF
:104950009F4F0895709561957F4F0895EE0FFF1F4B
:104960000590F491E02D0994AA1BBB1B51E107C0EF
:10497000AA1FBB1FA617B70710F0A61BB70B881FEF
:10498000991F5A95A9F780959095BC01CD0108957E
:10499000F999FECF92BD81BDF89A992780B5089507
:1049A000A8E1B0E042E050E00C94EB24262FF99906
:1049B000FECF1FBA92BD81BD20BD0FB6F894FA9A02
:1049C000F99A0FBE019608950E94D624272F0C94C1
:1049D000D724DC01CB01FC01F999FECF06C0F2BD62
:1049E000E1BDF89A319600B40D9241505040B8F7AD
:0649F0000895F894FFCFCA
:1049F60020024209CF09AC09780945090101BA012B
:104A060028080A03140A3F4D36393F08F207BC0747
:104A1600830716072F0748076107010203040506E7
:044A26000708090074
:100980000F1CC82FE0910E01F0910F01808182723F
:1009900019F0259A2D9A06C00E94431081FDF9CFC7
:1009A00025982D98C130B9F0C430A9F089EF8C0F8B
:1009B000823088F08EEF8C0F823018F4269A2E9AAF
:1009C00002C026982E98C550C23018F4279A2F9A44
:1009D00002C027982F98CF9108950C94B60456988A
:1009E0005E9825982D9826982E9827982F988FEF07
:1009F00090E0909389008093880090938B0080937F
:100A00008A0090938D0080938C00259A2D9A2FEF69
:100A100080E792E0215080409040E1F700C0000064
:100A2000269A2E9A2FEF80E792E021508040904046
:100A3000E1F700C00000279A2F9A2FEF80E792E09D
:100A4000215080409040E1F700C0000025982D988B
:100A50002FEF80E792E0215080409040E1F700C006
:100A6000000026982E982FEF80E792E021508040DA
:100A70009040E1F700C0000027982F9856985E98A4
:100A800025982D9826982E9827982F98089589EACA
:100A90008093800089E08093810024982C983F986F
:100AA0008AB18F748AB96E98479A8BB1806B8BB973
:100AB000769A0E94EF040C94B50480E280930001C2
:100AC0008091340181110EC00E94AC0581E08093B9
:100AD00034012FEF83ED90E3215080409040E1F707
:100AE00000C0000080E40E94B205809300018111E3
:100AF0002EC00E94DC0580930001811128C00E9455
:100B0000DC0580930001811122C08FE30E94DC0587
:100B10008093000181111BC00E94D40580E40E94D3
:100B2000B20580930001811112C08CE00E94DC05A7
:100B30008093000181110BC00E94DC0580930001AD
:100B4000811105C08FE30E94DC05809300010E94A3
:100B5000D4058091000108951092B9008AE0809335
:100B6000B800089594EA9093BC009091BC0097FF60
:100B7000FCCF9091B900987F983021F0903111F01E
:100B800081E008958093BB0084E88093BC0080914D
:100B9000BC0087FFFCCF8091B900887F883111F0BD
:100BA000803471F780E0089584E98093BC008091DF
:100BB000BC0084FDFCCF08958093BB0084E8809343
:100BC000BC008091BC0087FFFCCF9091B900987F5A
:100BD00081E0983209F480E0089584E88093BC00B5
:100BE0008091BC0087FFFCCF8091BB00089580916D
:100BF0000001811115C080E40E94B20580930001BC
:100C000081110CC082E10E94DC05809300018111FA
:100C100005C08FEF0E94DC05809300010E94D4057F
:100C200084B1807F84B985B1807F85B98AB1837FA3
:100C30008AB98BB1837F8BB93E98469808950E94FC
:100C40005D05809300010E94F70580B38C7080BB26
:100C500081B3836F81BBE4E4F1E0A6E3B1E01192DC
:100C60001D9281E0E235F807D1F70C944705BF9259
:100C7000CF92DF92EF92FF920F931F93CF93DF9368
:100C800080910001882379F0809135018F5F8093F6
:100C90003501811108C00E945D058093000181111A
:100CA00002C00E94EF0406E311E0C0E0D0E0DD24C2
:100CB000D39482E0C82EEE24E394F12CC73000F5E3
:100CC00080910001811162C080E40E94B20580938E
:100CD0000001811112C082E10E94DC0580930001B5
:100CE00081110BC0C7010C2E01C0880F0A94EAF7CE
:100CF00080950E94DC05809300010E94D40546C0C7
:100D0000CA30A1F028F4C83059F0C93061F005C0EC
:100D1000CC3089F070F0CD3089F0209A289810C03E
:100D2000219A29980DC0229A2A980AC0239A2B98B2
:100D300007C0529A01C0539A5B9802C03E9A4698E7
:100D4000E0EAEA95F1F78FB179995AC092E08170A3
:100D50008D25892B7C9B02C090E001C094E0892BFB
:100D60007D9B02C090E001C098E0892B7E9B02C071
:100D700090E001C090E1892B9FB19095991F992730
:100D8000991F9295990F907E892B0FC08091000139
:100D900081114BC080E40E94B2058093000188233A
:100DA00089F1B12C0E94D4058B2DF8019081981700
:100DB00019F08083C09201010E94F70521960F5F10
:100DC0001F4FCE30D10509F079CF809101018823E2
:100DD00071F1815080930101882339F08FE99FE000
:100DE0000197F1F700C0000022C0A4E4B1E0E6E3FF
:100DF000F1E081918D9391E0E434F907D1F717C0C8
:100E000090E0A5CF83E10E94DC0580930001811171
:100E1000C8CF81E40E94B205809300018111C1CF47
:100E20000E94ED05B82EB094BDCF80E0BECF0E94E9
:100E3000ED0481E0DF91CF911F910F91FF90EF9032
:100E4000DF90CF90BF900895E82FF0E0EC5BFE4F6D
:100E50008081089508958B3B910578F4883A910537
:100E600040F5853A9105D0F48430910508F0B1C081
:100E70008130910509F4ADC06BC0803E910508F446
:100E800067C0883E910508F4A4C09C01205F310929
:100E90002031310508F05CC090650895853A9105D0
:100EA00009F459C0863A910509F458C083E890E4E2
:100EB0000895883A910509F454C0893A910509F4D6
:100EC00053C08A3A910509F452C08B3A910509F44E
:100ED00051C08C3A910509F450C08D3A910509F43E
:100EE0004FC0803B910509F44EC08E3A910509F43C
:100EF0004DC08F3A910509F44CC0813B910509F42E
:100F00004BC0823B910509F44AC0833B910509F42B
:100F100049C0843B910509F448C0853B910509F41B
:100F200047C0863B910509F446C0873B910509F40B
:100F300045C0883B910509F444C0893B910509F4FB
:100F400043C08A3B910509F042C08AE296E40895C5
:100F500080E090E0089581E890E4089582E890E4CC
:100F6000089582EE94E4089589EE94E408958AEE5B
:100F700094E4089585EB94E4089586EB94E4089551
:100F800087EB94E408958CEC94E408958DEC94E45C
:100F9000089583E895E408958AE895E4089582E940
:100FA00095E4089584E995E4089581E296E408952E
:100FB00083E296E4089584E296E4089585E296E457
:100FC000089586E296E4089587E296E4089580E025
:100FD00094E40895089596E0799FF001112494E532
:100FE000899FE00DF11D1124E60FF11DEE0FFF1F8B
:100FF000E851FF4F859194910895880F991F805A69
:101000009040FC01859194910895880F991F80521A
:101010009F4FFC0185919491089526E0729FF00105
:10102000112444E5849FE00DF11D1124E60FF11D0C
:10103000EE0FFF1FE851FF4F25913491C9019A959A
:1010400081159F4110F4C9010895C901905281157D
:10105000904128F4C9019F700E9405080895C901B4
:1010600090538115904120F4C9019927906C0895FF
:10107000211580E5380769F40E94AD159FEF24E340
:101080004CE0915020404040E1F700C000000C943B
:10109000081D213080E5380731F48091CD01816051
:1010A0008093CD010895C90190558115904108F0B4
:1010B00050C0832F99278F70992781309105D9F4DB
:1010C000A9014370552702C0880F991F4A95E2F77E
:1010D0009C68A90164E0440F551F6A95E1F7442715
:1010E0005370842B952B73E0220F331F7A95E1F711
:1010F000207633271DC08230910529F4922F88274E
:10110000816F906A089583309105A9F4A901437015
:10111000552781E090E002C0880F991F4A95E2F7B9
:101120009C6843E0220F331F4A95E1F7207E377019
:10113000822B932B08950497F1F4A901437055274E
:1011400081E090E002C0880F991F4A95E2F79A6803
:10115000E8CFC90190578115904120F4C9019F70D3
:1011600090620895C90190588115904120F4C901F9
:101170009F70906A0895203E3105E0F4203C3105CF
:1011800058F52133310509F470C048F4293231058E
:1011900009F464C02A32310509F46EC074C02933E1
:1011A0003105F1F022383105D9F02533310509F444
:1011B0004EC069C0233E310589F138F4203E310527
:1011C000C1F0223E3105E1F05EC0263E310569F1F5
:1011D000273E3105A9F157C0C9010E94FD070895B6
:1011E0008091E00180FD02C081FF4DC080EE90E063
:1011F0004BC08091E00180FFF9CF89E390E044C0CB
:101200008091E00182FF0EC08091E00184FF03C065
:1012100080E090E039C083EE90E036C08091E0013C
:1012200082FFF2CF82EE90E02FC08091E00183FF39
:101230000BC08091E00184FDEBCF87EE90E024C0ED
:101240008091E00183FFF5CF86EE90E01DC0809194
:10125000E00185FF07C089E290E016C08091E001BF
:1012600085FFF9CF85E390E00FC08091E00186FF14
:1012700007C08AE290E008C08091E00186FFF9CFC4
:1012800081E390E001C0C9010E942B0708950895F1
:101290000C944709809162010895CF93DF9300D0A9
:1012A0001F92CDB7DEB72091E601243019F523E077
:1012B00029839B838A832093E9008FEF9091E80034
:1012C000815095FD06C095ED9A95F1F700008111CA
:1012D000F5CF8091E80085FF0DC040E050E063E06D
:1012E00070E0CE0101960E94B70B8091E8008E77E6
:1012F0008093E8000F900F900F90DF91CF910895A9
:10130000CF93DF9300D01F92CDB7DEB72091E601D7
:10131000243021F522E029839B838A8383E0809314
:10132000E9008FEF9091E800815095FD06C095EDA2
:101330009A95F1F700008111F5CF8091E80085FFC3
:101340000DC040E050E063E070E0CE0101960E94E5
:10135000B70B8091E8008E778093E8000F900F9094
:101360000F90DF91CF9108952091E6012430F1F4A0
:1013700022E02093E9002FEF3091E800215035FD65
:1013800006C035ED3A95F1F700002111F5CF209117
:10139000E80025FF0BC040E050E065E070E00E94EF
:1013A000B70B8091E8008E778093E8000895CF9383
:1013B000DF93EC018091E601843009F046C0909102
:1013C0000C019923D9F090910D019923B9F08093E4
:1013D000E9008FEF9091E800815095FD06C095E1FE
:1013E0009A95F1F700008111F5CF8091E80085FF13
:1013F0002CC040E050E060E170E017C081E08093D5
:10140000E9008FEF9091E800815095FD06C095EDC1
:101410009A95F1F700008111F5CF8091E80085FFE2
:1014200014C040E050E068E070E0CE010E94B70BCD
:101430008091E8008E778093E80080E1FE01A2E5CC
:10144000B1E001900D928A95E1F7DF91CF91089577
:101450008091E501811109C00E94490D0E94A60DED
:101460008091E20084608093E20008951092E5018B
:10147000089508950C942E230E949F1C0E943423EB
:101480000E9443100C94480942E061EC81E00E9404
:10149000C30C42E061EC82E00E94C30C42E061ECCC
:1014A00083E00E94C30C42E161EC84E00C94C30C25
:1014B0008091E801833009F455C030F4813071F037
:1014C000823009F48EC008958A3009F47AC08B30D6
:1014D00009F460C0893009F09CC020C08091E70108
:1014E000813A09F096C08091E800877F8093E800F8
:1014F0008091EB019091EC01892B21F060E080E07C
:1015000090E003C060E182E591E070E00E94000C91
:101510008091E8008B778093E80008958091E7013F
:10152000813209F076C08091EB019091EC01009737
:1015300019F0039709F06DC08091E800877F8093D0
:10154000E8008091E80082FD05C08091E6018111EC
:10155000F8CF5FC08091F100809362018091E80034
:101560008B7753C08091E701813A09F052C0809196
:10157000EB019091EC01892B09F04BC08091E800C0
:10158000877F8093E8008091E80080FFFCCF809106
:101590000C0136C08091E7018132D9F58091EB01D1
:1015A0009091EC01892BA9F58091E800877F8093C9
:1015B000E8000E94F80C8091E90180930C010C94E2
:1015C000AD158091E701813221F58091E800877F98
:1015D0008093E8000E94F80C8091EA0180936301F7
:1015E00008958091E701813AA1F48091E800877F16
:1015F0008093E8008091E80080FFFCCF8091630138
:101600008093F1008091E8008E778093E8000C943D
:10161000F80C089584B7877F84BF88E10FB6F894EB
:1016200080936000109260000FBE90E080E80FB6DB
:10163000F89480936100909361000FBE0E94921015
:101640000E94490D0E94A60D8091E2008460809363
:10165000E20078940E9421100E94941082E091E0B0
:101660000E943E100E941C238091E601853069F49F
:101670000E94621C8091E4018823B1F30E948A1CBD
:10168000882391F30E94A10BEFCF0E949A10ECCF18
:10169000292F332723303105A9F06CF4213031058F
:1016A00009F442C02230310509F043C08DE690E0D4
:1016B00024E037E042C021323105C9F02232310541
:1016C00019F137C099278130910541F08230910599
:1016D00041F0892B71F5E0E0F7E005C0E8EEF6E0B7
:1016E00002C0E0EDF6E0849190E09F0126C06430F6
:1016F00000F5E62FF0E0EE0FFF1FEE5DFE4F2081BC
:10170000318189E090E019C0643098F4E62FF0E070
:10171000DF01AA0FBB1FA65EBE4F2D913C91EA5E72
:10172000FE4F808190E009C082E190E021E737E040
:1017300004C080E090E020E030E0FA0131832083B3
:10174000089580E189BD82E189BD09B400FEFDCF25
:101750008091D8008F7D8093D8008091E0008260D6
:101760008093E0008091E00081FDFCCF0895CF924E
:10177000DF92EF92FF920F931F93CF93DF937C0141
:101780008B01EA010E94190D811131C0209731F0BF
:1017900088819981081B190BE80EF91EC12CD12CE8
:1017A0000115110519F18091E80085FD14C08091A3
:1017B000E8008E778093E800209741F08881998136
:1017C0008C0D9D1D9983888385E011C00E94190DA1
:1017D000882331F30CC0F70181917F018093F100E0
:1017E00001501109FFEFCF1ADF0ADACF80E0DF9155
:1017F000CF911F910F91FF90EF90DF90CF900895C0
:101800002091ED013091EE012617370748F0611560
:10181000710539F42091E8002E772093E80001C08B
:10182000B901FC0120E061157105B9F18091E60173
:10183000882309F440C0853009F43FC08091E80056
:1018400083FD3DC08091E80082FF06C08091E800E2
:1018500082FF26C080E008958091E80080FFE3CFFA
:101860002091F3008091F20090E0922B61157105B8
:1018700051F08830910538F421912093F1006150A6
:1018800071090196F3CF21E0089709F020E08091DB
:10189000E8008E778093E800C6CF2111C7CFD6CF5E
:1018A0008091E601882339F0853039F08091E80095
:1018B00083FFCCCF04C082E0089583E0089581E0E7
:1018C00008952091ED013091EE012617370748F079
:1018D0006115710539F42091E8002E772093E80016
:1018E00001C0B901FC0120E061157105C1F18091D1
:1018F000E601882309F441C0853009F440C0809195
:10190000E80083FD3EC08091E80082FF06C0809120
:10191000E80082FF27C080E008958091E80080FF02
:10192000E3CF2091F3008091F20090E0922B6115BB
:10193000710559F08830910540F424912093F1000D
:101940003196615071090196F2CF21E0089709F0B4
:1019500020E08091E8008E778093E800C5CF2111C8
:10196000C6CFD5CF8091E601882339F0853039F094
:101970008091E80083FFCBCF04C082E0089583E02C
:10198000089581E00895982F973058F59093E900D5
:10199000981739F07091EC002091ED005091F00013
:1019A00003C0242F762F50E021FF19C03091EB00A7
:1019B0003E7F3093EB003091ED003D7F3093ED00A2
:1019C0003091EB0031603093EB007093EC0020938A
:1019D000ED005093F0002091EE0027FF07C09F5FBD
:1019E000D3CF8F708093E90081E0089580E008955F
:1019F0008091E70187FD05C08091E80080FF0EC05F
:101A000012C08091E80082FD05C08091E60181113D
:101A1000F8CF08958091E8008B7708C08091E601A7
:101A20008111EACF08958091E8008E778093E800D5
:101A300008958091E4009091E50045E62091EC0046
:101A400020FF21C02091E80020FD21C02091E60167
:101A5000222389F0253089F02091EB0025FD0FC06D
:101A60002091E4003091E5002817390739F34150FF
:101A700041F0C901E3CF82E0089583E0089581E059
:101A8000089584E008952091E80022FFDFCF80E0F0
:101A900008950E94B70D0E94BF0DE0EEF0E0808136
:101AA00081608083E8EDF0E080818F77808319BCCE
:101AB000A7EDB0E08C918E7F8C9380818F7E8083A8
:101AC0001092E50108950F931F93CF93DF930E9427
:101AD000B70D0E94BF0DC8EDD0E088818F77888355
:101AE00088818068888388818F7D888319BC109263
:101AF000E6011092E2011092E4011092E30100EE7F
:101B000010E0F80180818B7F8083888181608883E9
:101B100042E060E080E00E94C30CE1EEF0E08081F2
:101B20008E7F8083E2EEF0E080818160808380811F
:101B300088608083F80180818E7F808388818061C6
:101B40008883DF91CF911F910F910895E8EDF0E028
:101B500080818F7E8083E7EDF0E0808181608083EB
:101B600084E082BF81E08093E5010C94630DE8ED91
:101B7000F0E080818E7F80831092E20008951092C1
:101B8000DA001092E10008951F920F920FB60F92A3
:101B900011242F933F934F935F936F937F938F9372
:101BA0009F93AF93BF93EF93FF938091E10082FFE8
:101BB0000BC08091E20082FF07C08091E1008B7F23
:101BC0008093E1000E9420108091DA0080FF1FC006
:101BD0008091D80080FF1BC08091DA008E7F8093B7
:101BE000DA008091D90080FF0DC080E189BD82E1DB
:101BF00089BD09B400FEFDCF81E08093E6010E941B
:101C0000280A05C019BC1092E6010E94360A80918C
:101C1000E10080FF19C08091E20080FF15C0809133
:101C2000E2008E7F8093E2008091E20080618093E9
:101C3000E2008091D80080628093D80019BC85E0D2
:101C40008093E6010E943A0A8091E10084FF30C04F
:101C50008091E20084FF2CC080E189BD82E189BDD2
:101C600009B400FEFDCF8091D8008F7D8093D8000D
:101C70008091E1008F7E8093E1008091E2008F7E71
:101C80008093E2008091E20081608093E200809185
:101C9000E201882311F084E007C08091E30087FF10
:101CA00002C083E001C081E08093E6010E943C0A0B
:101CB0008091E10083FF29C08091E20083FF25C06D
:101CC0008091E100877F8093E10082E08093E601CC
:101CD0001092E2018091E1008E7F8093E10080917B
:101CE000E2008E7F8093E2008091E2008061809329
:101CF000E20042E060E080E00E94C30C8091F000CE
:101D000088608093F0000E94390AFF91EF91BF91A3
:101D1000AF919F918F917F916F915F914F913F9183
:101D20002F910F900FBE0F901F9018951F920F923A
:101D30000FB60F9211242F933F934F935F936F939E
:101D40007F938F939F93AF93BF93CF93EF93FF9323
:101D5000C091E900CF708091EC001092E900809171
:101D6000F000877F8093F00078940E94D20E10924A
:101D7000E9008091F00088608093F000C093E90052
:101D8000FF91EF91CF91BF91AF919F918F917F91F3
:101D90006F915F914F913F912F910F900FBE0F90D8
:101DA0001F9018951F93CF93DF93CDB7DEB7AA97F7
:101DB0000FB6F894DEBF0FBECDBFE7EEF1E0809125
:101DC000F100819321E0EF3EF207C9F70E94580A23
:101DD0008091E80083FF1CC12091E7013091E80168
:101DE000832F90E08A30910508F012C1FC01EA5A75
:101DF000FF4F0C94B624203881F0223809F008C136
:101E00008091EB018F708093E9008091EB0085FB5E
:101E1000882780F91092E90006C08091E301909133
:101E2000E401911182609091E800977F9093E8001F
:101E30008093F1001092F100C5C0822F8D7F09F0D0
:101E4000E7C0222319F0223061F0E2C08091E9015D
:101E5000813009F0DDC0333009F080E08093E40187
:101E600028C08091E901811124C02091EB012F70DD
:101E700009F4CEC02093E9008091EB0080FF19C0E7
:101E80008091EB00333011F4806211C08061809347
:101E9000EB0081E090E0022E01C0880F0A94EAF77F
:101EA0008093EA001092EA008091EB0088608093B2
:101EB000EB001092E9008091E800877F86C0211135
:101EC000A7C01091E9011F778091E3008078812BF2
:101ED0008093E3008091E800877F8093E8000E9470
:101EE000F80C8091E80080FFFCCF8091E3008068CF
:101EF0008093E300112311F083E001C082E080931E
:101F0000E60186C02058223008F082C08091E901A5
:101F10009091EA018C3D23E0920779F583E08A8372
:101F20008AE289834FB7F894DE01139620E03EE001
:101F300051E2E32FF0E050935700E49120FF03C0FB
:101F4000E295EF703F5FEF708E2F90E0EA3010F077
:101F5000C79601C0C0968D939D932F5F243149F79A
:101F60004FBF8091E800877F8093E8006AE270E0CD
:101F7000CE0101960E94000C14C0AE014F5F5F4F6E
:101F80006091EB010E94480B009709F441C0209139
:101F9000E800277F2093E800BC0189819A810E9494
:101FA000610C8091E8008B778093E80031C0203885
:101FB00079F58091E800877F8093E8008091E201C5
:101FC0008093F1008091E8008E778093E8000E9472
:101FD000F80C1EC021111CC09091E9019230C0F490
:101FE0008091E800877F8093E8009093E2010E944F
:101FF000F80C8091E201811104C08091E30087FF19
:1020000002C084E001C081E08093E6010E94440A9E
:102010008091E80083FF0AC08091E800877F809369
:10202000E8008091EB0080628093EB00AA960FB6E7
:10203000F894DEBF0FBECDBFDF91CF911F91089501
:102040000895CF938091E6018823B1F08091E90053
:102050008F709091EC0090FF02C090E801C090E07A
:10206000C92FC82B1092E9008091E80083FD0E94DF
:10207000D20ECF70C093E900CF910895909369017B
:10208000809368010895E0916801F09169013097AB
:1020900021F00190F081E02D099480E00895E09115
:1020A0006801F0916901309721F00280F381E02D01
:1020B00009940895E0916801F0916901309721F049
:1020C0000480F581E02D09940895209166013091F6
:1020D00067018217930771F09093670180936601FF
:1020E000E0916801F0916901309721F00680F78155
:1020F000E02D0994089520916401309165018217C3
:10210000930771F09093650180936401E0916801F9
:10211000F0916901309721F00084F185E02D099458
:10212000089508950C9491100E94A51C0E941F060A
:102130000C946B1DCF92DF92EF92FF920F931F933F
:10214000CF93DF93CDB7DEB72B970FB6F894DEBFF2
:102150000FBECDBF0E9437063BE6E32E31E0F32EE3
:1021600000E010E0C02E802F0E942407F701D190DC
:102170007F01D826B1F40F5F1F4F0E30110591F784
:102180008FEF89838A831B820E94AE1C8160782F27
:102190009D838C8349815A816B818D810E943D1181
:1021A00041C09091CD0191FF04C08B870E942A0706
:1021B0008B8520E030E04D2D50E0922FBA01022EA9
:1021C00002C0759567950A94E2F760FF25C02E83DB
:1021D000CF82EE24E394F12C02C0EE0CFF1C9A9502
:1021E000E2F790E08E219F2121E0892B09F420E085
:1021F00028870E94AE1C8160782F9A8789874E813C
:102200005F8168858A850E943D11F801E559FE4F7E
:1022100080818E25808306C02F5F3F4F2630310599
:1022200061F6A9CF0E944F2010916A010E944310CD
:102230001817A1F00E94431080936A012B960FB6E5
:10224000F894DEBF0FBECDBFDF91CF911F910F91EC
:10225000FF90EF90DF90CF900C9448092B960FB62B
:10226000F894DEBF0FBECDBFDF91CF911F910F91CC
:10227000FF90EF90DF90CF900895CF93DF93CDB78D
:10228000DEB72B970FB6F894DEBF0FBECDBF4F83DE
:10229000588769877A878B87DE01119686E0FD0172
:1022A00011928A95E9F785E0FE01379601900D922B
:1022B0008A95E1F749815A816B817C818D819E816C
:1022C0000E9479182B960FB6F894DEBF0FBECDBFD3
:1022D000DF91CF910895CF93C82F882309F4C1C00F
:1022E000823859F40E94431081FDBBC089E30E94EB
:1022F000161B0E94E01B89E30CC0833879F40E940E
:10230000431080FDAEC083E50E94161B0E94E01BB7
:1023100083E50E94561BCF910C94E01B843859F43E
:102320000E94431082FD9DC087E40E94161B0E94FC
:10233000E01B87E4EECF8CEF8C0F813A48F48C2FB2
:102340000E94842281118DC08C2F0E94161BE3CF26
:1023500080E28C0F883048F4C77081E001C0880F9C
:10236000CA95EAF70E94971BD6CF8BE58C0F833076
:1023700078F4C53A29F0C63A31F482E890E005C015
:1023800081E890E002C083E890E0CF910C94651062
:1023900088E58C0F833108F064C0C83A39F1C93A36
:1023A00041F1CA3A49F1CB3A51F1CC3A59F1CD3A1F
:1023B00061F1C03B69F1CE3A71F1CF3A79F1C13B9D
:1023C00081F1C23B89F1C33B91F1C43B99F1C53B1B
:1023D000A1F1C63BA9F1C73BB1F1C83BB9F1C93B7B
:1023E000C1F1CA3BC9F58AE292E038C082EE90E0C2
:1023F00035C089EE90E032C08AEE90E02FC085EBC8
:1024000090E02CC086EB90E029C087EB90E026C0DE
:102410008CEC90E023C08DEC90E020C083E891E04C
:102420001DC08AE891E01AC082E991E017C084E9F2
:1024300091E014C081E292E011C083E292E00EC00C
:1024400084E292E00BC085E292E008C086E292E06E
:1024500005C087E292E002C080E090E0CF910C944A
:102460007B10CF910895882309F44BC0823859F42A
:102470000E94431081FF45C089E30E94161B0E9401
:10248000E01B89E30CC0833871F40E94431080FF85
:1024900038C083E50E94161B0E94E01B83E50E9462
:1024A000561B0C94E01B843859F40E94431082FFA1
:1024B00028C087E40E94161B0E94E01B87E4EFCF30
:1024C0009CEF980F913A58F390E2980F983050F49F
:1024D000877091E001C0990F8A95EAF7892F0E94D1
:1024E0009D1BDFCF9BE5980F933020F480E090E0B8
:1024F0000C946510885A833120F480E090E00C94AD
:102500007B100895882321F00E94971B0C94E01BF8
:102510000895882321F00E949D1B0C94E01B0895D0
:10252000CF92DF92EF92FF920F931F93CF93DF939F
:10253000CDB7DEB728970FB6F894DEBF0FBECDBF7C
:102540008C0185E0F801DE01119601900D928A95CB
:10255000E1F7F80140813181F280258122952F70C9
:1025600083819481892B31F03F3F31F481E04F3FEB
:1025700019F403C081E001C080E080FDCBC2498333
:102580003A8389819A812F830E94D41A9E838887F7
:102590000E94D31A0E94A6192F814E816885FF20C0
:1025A00029F00E94B41B68854E812F81E42FE295AB
:1025B000EF70F0E0E05AFF4F0C94B624842F807F38
:1025C000142F1F70882311F01295107FFF2059F0EF
:1025D000112309F454C2812F68870E94A71B0E940F
:1025E000E01B68854CC2862F0E943312112309F428
:1025F00091C2812F0E94AD1B28960FB6F894DEBFC2
:102600000FBECDBFDF91CF911F910F91FF90EF9043
:10261000DF90CF900C94E01B342F307F842F8F708D
:10262000303211F08295807F662319F0613019F104
:102630002BC0FF20B1F0222309F493C1213009F00F
:1026400090C128960FB6F894DEBF0FBECDBFDF91C4
:10265000CF911F910F91FF90EF90DF90CF900C944E
:10266000C71B222319F0213009F454C28E830E9423
:10267000CA1B8E8189C1FF2021F0223008F04AC296
:1026800070C1211147C280C1FF2021F0222309F42B
:1026900068C1F5C1222309F477C105C2242F26950C
:1026A0002695237030E02115310521F021303105C8
:1026B000C9F030C2FF2021F0862F942F937002C002
:1026C00080E090E028960FB6F894DEBF0FBECDBF35
:1026D000DF91CF911F910F91FF90EF90DF90CF90FE
:1026E0000C946510FF2021F0862F942F937002C068
:1026F00080E090E028960FB6F894DEBF0FBECDBF05
:10270000DF91CF911F910F91FF90EF90DF90CF90CD
:102710000C947B10862FFF2019F00E94571F02C0D7
:102720000E94BF1F28960FB6F894DEBF0FBECDBF24
:10273000DF91CF911F910F91FF90EF90DF90CF909D
:102740000C944420842F837009F076C0F110E2C10C
:10275000262F229526952770220F220F862F8F7005
:10276000C82ED12CE12CF12C022E04C0CC0CDD1C87
:10277000EE1CFF1C0A94D2F764FF10C06FE070E0FB
:1027800080E090E004C0660F771F881F991F2A958C
:10279000D2F7609570958095909503C060E070E0E9
:1027A000CB01242F269526952370422F50E04230EE
:1027B0005105D1F04330510559F16C297D298E29FD
:1027C0009F294130510541F128960FB6F894DEBF9C
:1027D0000FBECDBFDF91CF911F910F91FF90EF9072
:1027E000DF90CF900C94CB196C297D298E299F29DD
:1027F00028960FB6F894DEBF0FBECDBFDF91CF9104
:102800001F910F91FF90EF90DF90CF900C94E519FE
:102810000E94CB19C701B60128960FB6F894DEBF07
:102820000FBECDBFDF91CF911F910F91FF90EF9021
:10283000DF90CF900C94B119FF2019F0842F817094
:1028400001C08695882309F465C1262F2295269517
:102850002770220F220F862F8F70C82ED12CE12CCB
:10286000F12C022E04C0CC0CDD1CEE1CFF1C0A94C3
:10287000D2F764FF10C06FE070E080E090E004C029
:10288000660F771F881F991F2A95D2F7609570955C
:102890008095909503C060E070E0CB01242F2695D1
:1028A00026952370422F50E042305105D1F043303D
:1028B000510559F16C297D298E299F2941305105F7
:1028C00041F128960FB6F894DEBF0FBECDBFDF9161
:1028D000CF911F910F91FF90EF90DF90CF900C94CC
:1028E0009F1A6C297D298E299F2928960FB6F89466
:1028F000DEBF0FBECDBFDF91CF911F910F91FF9033
:10290000EF90DF90CF900C94B91A0E949F1AC701E4
:10291000B60128960FB6F894DEBF0FBECDBFDF918B
:10292000CF911F910F91FF90EF90DF90CF900C947B
:10293000851A603FC9F118F4603E50F49BC0623FB5
:1029400009F460C008F44AC0633F09F46FC092C044
:10295000162F1F70842F8F71FF2099F00E941E1A6E
:10296000812F28960FB6F894DEBF0FBECDBFDF9142
:10297000CF911F910F91FF90EF90DF90CF900C942B
:1029800082120E943F1A812F28960FB6F894DEBF5C
:102990000FBECDBFDF91CF911F910F91FF90EF90B0
:1029A000DF90CF900C948912FF20A1F02111B2C0CA
:1029B000842F8F7128960FB6F894DEBF0FBECDBF5F
:1029C000DF91CF911F910F91FF90EF90DF90CF900B
:1029D0000C94641A223008F09DC0EACFFF20A1F0C9
:1029E000842F8F7128960FB6F894DEBF0FBECDBF2F
:1029F000DF91CF911F910F91FF90EF90DF90CF90DB
:102A00000C941E1AFF2061F3842F8F7128960FB645
:102A1000F894DEBF0FBECDBFDF91CF911F910F9114
:102A2000FF90EF90DF90CF900C943F1AFF2091F031
:102A3000842F8F7128960FB6F894DEBF0FBECDBFDE
:102A4000DF91CF911F910F91FF90EF90DF90CF908A
:102A50000C94091A28960FB6F894DEBF0FBECDBFAE
:102A6000DF91CF911F910F91FF90EF90DF90CF906A
:102A70000C94FF19FF20A1F0222309F4B1CF862F77
:102A800028960FB6F894DEBF0FBECDBFDF91CF9171
:102A90001F910F91FF90EF90DF90CF900C946B11EE
:102AA000222309F4B1CF862F28960FB6F894DEBF03
:102AB0000FBECDBFDF91CF911F910F91FF90EF908F
:102AC000DF90CF900C9433124F70C8010E94A50480
:102AD00028960FB6F894DEBF0FBECDBFDF91CF9121
:102AE0001F910F91FF90EF90DF90CF900C942619DB
:102AF0004F70C80128960FB6F894DEBF0FBECDBF49
:102B0000DF91CF911F910F91FF90EF90DF90CF90C9
:102B10000C94EA0728960FB6F894DEBF0FBECDBF1F
:102B2000DF91CF911F910F91FF90EF90DF90CF90A9
:102B300008950E94B41B0E94C41B0E94891B0E941E
:102B4000E01B0E94F0200E94442080E090E00E9460
:102B5000651080E090E00C947B100E94A41B0C9404
:102B600099150E94D41A292F22952F7030E02C300D
:102B700031054CF42A3031056CF4225031092230F1
:102B8000310590F407C02C30310551F02F3031055C
:102B900039F00AC0803E10F0803F31F481E00895A2
:102BA00093FB882780F9089580E00895CF93DF9301
:102BB00000D000D01F92CDB7DEB70F900F900F90CE
:102BC0000F900F90DF91CF910895CF93DF9300D0B6
:102BD00000D000D0CDB7DEB726960FB6F894DEBF92
:102BE0000FBECDBFDF91CF9108951F93CF93DF9399
:102BF000C091790116E080917A01C81799F0D0E070
:102C00001C9FF0011D9FF00D1124E558FE4F4081DF
:102C1000518162817381848195810E94E51521969D
:102C2000C770E9CFDF91CF911F9108954091AB011B
:102C30005091AC016091AD017091AE018091AF01F6
:102C40009091B0010C94E515CF938091B0018295DD
:102C50008F7009F05FC08091AD01882309F45AC0DC
:102C600020917901A0917A016091AB017091AC0142
:102C70008091AE019091AF0131E06F3F09F030E0FB
:102C8000B32FC6E02A1709F445C0009721F07F3F13
:102C900021F44B2F03C041E001C040E030E040FD93
:102CA00035C0C29FF001C39FF00D1124E558FE4FBF
:102CB000418174132BC04081641328C042814111AB
:102CC00025C0438154814817590710F441505109D8
:102CD000481B590B483C5105C8F48091B0018F70D6
:102CE00080618093B00186E0829FF001839FF00DA8
:102CF0001124E058FE4F80818F70806180838BEAC1
:102D000091E00E949012CF910C94F5152F5F3F4FE8
:102D10002770B8CFCF910895CF92DF92EF92FF92B4
:102D20000F931F93CF93DF93CDB7DEB762970FB6A4
:102D3000F894DEBF0FBECDBF8C0185E0F801DE0147
:102D40001D9601900D928A95E1F7D8014C9111964C
:102D50005C91119712966C9112971396ED90FC90DE
:102D600014977091AB01E091AC012091AE013091CC
:102D7000AF012115310531F0EF3F31F481E07F3FA4
:102D800019F403C081E001C080E0B82FB170CB2EF0
:102D900080FD6CC1D090AD01DD2009F4F5C0F0914B
:102DA000B001E216F30638F0C701821B930B883C92
:102DB000910548F09BC0209530952E0D3F1D283C75
:102DC000310508F093C08F2F807F09F052C0E513C2
:102DD00014C0741312C0D62E61110FC0FF70F061C1
:102DE000F093B0010E9416168BEA91E00E949012B7
:102DF0008091B001F80185836CC1EF2831F05F3F0D
:102E000031F481E04F3F19F403C081E001C080E05C
:102E100080FD03C081E0862701C080E0F82FF170BB
:102E2000FF2E80FF1CC08091790120917A0136E04D
:102E3000821709F428C190E0389FF001399FF00D06
:102E40001124E558FE4F7181571306C07081471356
:102E500003C07281671303C001968770E9CFD62E35
:102E6000662309F436C18091B00181608093B0017E
:102E700053C0E51308C0741306C0611104C0D80123
:102E80001596FC93AEC04D875E878D859E856A8BB7
:102E90000E94B1156A89882329F1D62E662311F183
:102EA0002091B001822F82958F7090E002970CF4F0
:102EB00060C08091AB019091AC0198878F83198697
:102EC000FB86EA862C87CE01079651C0E51731F1C3
:102ED0004D875E878D859E856A8B0E94B1156A89B4
:102EE00081112EC0C8010E949012A4C08F2F807F34
:102EF00069F77E2DF98AE88A89890E94D6158BEABE
:102F000091E00E949012EBEAF1E086E0DF011D9271
:102F10008A95E9F70E941616D12CDBC07413D8CF1E
:102F20006111D6CFD8011596FC93C8010E9490126A
:102F3000EBEAF1E086E0DF011D928A95E9F7C9C06E
:102F4000D62E662379F22091B001822F82958F7060
:102F500090E0029774F08091AB019091AC019A835C
:102F600089831B82FD82EC822E83CE0101960E9412
:102F7000901286E0F801ABEAB1E001900D928A95DB
:102F8000E1F70E9424166FC0E216F30628F0C7018D
:102F9000821B930B9C0104C0209530952E0D3F1D84
:102FA000283C310508F052C0D62E662309F49ACF8A
:102FB000E5132CC074132AC08091B00180FD1DC0A0
:102FC000982F92959F70C9F0D80115968C931597FC
:102FD0009F3039F09F5F9295907F8F70892B159667
:102FE0008C93C8010E94901286E0F801ABEAB1E030
:102FF00001900D928A95E1F736C086E0F801ABEAC0
:10300000B1E001900D928A95E1F763C04D875E872C
:103010008D859E850E94B115882379F086E0F801A0
:10302000ABEAB1E001900D928A95E1F70E94241677
:103030000E941616DD24D3944CC08091B0018160AB
:103040008093B001C8010E94901243C07E2DF98A7E
:10305000E88A89890E94D615EBEAF1E086E0DF0173
:103060001D928A95E9F70E94161633C0662309F46B
:1030700039CF4D875E878D859E850E94B115882347
:1030800009F430CFCBCF4D875E878D859E850E941A
:10309000D41A292F22952F7030E0223031052CF4DC
:1030A0009F7041F0811106C00CC0243031052CF412
:1030B0009F7049F4805E883020F0C8010E94901211
:1030C000CF2CDC2C06C0D80115969C91907F91F7EF
:1030D000F8CF8D2D62960FB6F894DEBF0FBECDBF30
:1030E000DF91CF911F910F91FF90EF90DF90CF90E4
:1030F00008951F93CF93DF93CDB7DEB72C970FB60C
:10310000F894DEBF0FBECDBF4F83588769877A879B
:103110008B879C87CE0107960E948C168823C1F06E
:103120002F8138858A859B85892B31F03F3F11F0AF
:1031300080E003C02F3FE1F781E0811147C04F815C
:10314000588569857A858B859C850E94E5153EC0EA
:1031500086E0FE013796DE01119601900D928A9568
:10316000E1F7FF81E8854A855B854115510531F01E
:10317000EF3F31F481E0FF3F19F403C081E001C06B
:1031800080E080FD23C020917A0130E0C9010196E2
:10319000877099276091790170E086179707F1F1A0
:1031A000F983EA835D834C8396E0929FD001939FDD
:1031B000B00D1124A558BE4FFE01319601900D921D
:1031C0009A95E1F780937A010E94F51516E08091B7
:1031D000790190917A01891779F1189FC001112422
:1031E00085589E4F0E948C16882331F1E091790119
:1031F0001E9FF0011124E558FE4F408151816281EC
:103200007381848195810E94E5158091790190E018
:1032100001968770992780937901D9CF0E94AD15C7
:1032200010927A0110927901EBEAF1E086E0DF0179
:103230001D928A95E9F7CACF2C960FB6F894DEBF97
:103240000FBECDBFDF91CF911F910895EF92FF92F6
:103250000F931F93CF93DF93FC01009709F46FC086
:10326000F12CEE24E394EF0121968491843740F40D
:10327000843008F055C0813081F0823021F15FC088
:10328000853709F447C0C0F19CE7980F903708F0E4
:1032900056C08F770E94331245C08F010E5F1F4FBB
:1032A000FE01849190E2980F983050F48770FE2DC3
:1032B00001C0FF0F8A95EAF78F2F0E94B71B15C038
:1032C0000E946B1114C08F010E5F1F4FFE0184918D
:1032D00090E2980F983068F48770FE2D01C0FF0FC0
:1032E0008A95EAF78F2F0E94BD1B0E94E01BE80120
:1032F00019C00E943312FBCFCF010296FE01C49188
:10330000CC2361F0EFE9FFE03197F1F700C0000056
:10331000C150F6CFCF010296FE01F490EC0102C03D
:103320000E946B118F2D882341F0EFE9FFE0319768
:10333000F1F700C000008150F6CFFE0194CFDF917D
:10334000CF911F910F91FF90EF9008950895609392
:10335000B5017093B6018093B7019093B8010C94B6
:1033600099150F931F930091B5011091B60120910B
:10337000B7013091B801062B172B282B392B00935E
:10338000B5011093B6012093B7013093B8011F9196
:103390000F910C9499150F931F930091B501109103
:1033A000B6012091B7013091B801062317232823D5
:1033B00039230093B5011093B6012093B7013093E0
:1033C000B8011F910F910C9499150F931F930091C1
:1033D000B5011091B6012091B7013091B8010627CF
:1033E0001727282739270093B5011093B60120939A
:1033F000B7013093B8011F910F910C949915109259
:10340000B1011092B2011092B3011092B4010C9468
:10341000991541E050E060E070E004C0440F551F92
:10342000661F771F8A95D2F74093B1015093B2017E
:103430006093B3017093B4010C94991541E050E08E
:1034400060E070E004C0440F551F661F771F8A9527
:10345000D2F78091B1019091B201A091B301B091E6
:10346000B401842B952BA62BB72B8093B10190939D
:10347000B201A093B301B093B4010C94991541E04B
:1034800050E060E070E004C0440F551F661F771FD6
:103490008A95D2F740955095609570958091B101CD
:1034A0009091B201A091B301B091B401842395230E
:1034B000A623B7238093B1019093B201A093B301E7
:1034C000B093B4010C94991541E050E060E070E0D5
:1034D00004C0440F551F661F771F8A95D2F780914D
:1034E000B1019091B201A091B301B091B4018427D0
:1034F0009527A627B7278093B1019093B201A09397
:10350000B301B093B4010C9499150F931F930091DC
:10351000B1011091B2012091B3013091B401062B99
:10352000172B282B392B0093B1011093B201209354
:10353000B3013093B4011F910F910C9499150F931F
:103540001F930091B1011091B2012091B30130910C
:10355000B40106231723282339230093B1011093C4
:10356000B2012093B3013093B4011F910F910C94D9
:1035700099150F931F930091B1011091B201209101
:10358000B3013091B4010627172728273927009364
:10359000B1011093B2012093B3013093B4011F9194
:1035A0000F910C9499150895CF92DF92EF92FF92AC
:1035B0000F931F93CF93DF93EC01C090B501D09090
:1035C000B601E090B701F090B8018091B1019091FF
:1035D000B201A091B301B091B401C82AD92AEA2A54
:1035E000FB2A0FE110E0B701A601002E04C076957A
:1035F0006795579547950A94D2F740FF07C0BE01DB
:10360000802F0E940D088130910539F40150110975
:1036100050F7BE0180E00E940D08DF91CF911F910D
:103620000F91FF90EF90DF90CF90089590910C0153
:103630009923D9F090910D019923B9F0982F96957F
:10364000969596959F3088F5E0910E01F0910F01C7
:10365000E90FF11D877021E030E001C0220F8A954B
:10366000EAF78181822B8183089540910E01509168
:103670000F0120E030E09FEFFA01E20FF31F6281BB
:10368000681799F09F3F19F4611101C0922F2F5FC5
:103690003F4F2E30310581F79F3F39F0FA01E90F96
:1036A000F11D97FDFA9582830895089590910C017C
:1036B0009923E1F090910D019923C1F0982F9695EF
:1036C000969596959F3020F5E0910E01F0910F01AF
:1036D000E90FF11D877021E030E001C0220F8A95CB
:1036E000EAF72095818128232183089540910E01D6
:1036F00050910F0120E030E0FA01E20FF31F9281B8
:10370000981301C012822F5F3F4F2E303105A1F771
:10371000089581E090E0E0910E01F0910F01E80F33
:10372000F91F1082019680319105A9F708959091B3
:10373000CC01982B9093CC01089580959091CC0169
:1037400098239093CC0108951092CC010895909104
:10375000CB01982B9093CB01089580959091CB014C
:1037600098239093CB0108951092CB0108959091E6
:10377000CA01982B9093CA01089580959091CA012F
:1037800098239093CA0108951092CA0108958093D6
:10379000B90108951092B901089540910E01509118
:1037A0000F0120E030E080E0FA01E20FF31F918189
:1037B00091118F5F2F5F3F4F2F303105A9F708958B
:1037C000E0910E01F0910F018091CC018083E09196
:1037D0000E01F0910F0180819091CB01892B8083A4
:1037E000E0910E01F0910F0180819091CA01892B27
:1037F00080839091B901992361F0E0910E01F091DD
:103800000F018081892B80830E94CD1B8111109232
:10381000B90180910E0190910F010C944F10CF923D
:10382000DF92EF92FF920F931F936C01EE24FF241F
:10383000C114D104E104F10421F46B017C0180E0A6
:1038400001C080E133272F2D1E2D0D2D01151105EF
:103850002105310519F0885F68017901970186011A
:10386000A4E03695279517950795AA95D1F70115E8
:1038700011052105310519F08C5F68017901970167
:103880008601F2E03695279517950795FA95D1F7B9
:10389000011511052105310519F08E5F68017901C7
:1038A000B701A6017695679557954795452B462B09
:1038B000472B09F08F5F1F910F91FF90EF90DF90E2
:1038C000CF9008958091E601843009F11092CE01E5
:1038D00020E488E190E00FB6F894A895809360000A
:1038E0000FBE2093600083B7817F846083BF83B75E
:1038F000816083BF7894889583B78E7F83BF88E18A
:103900000FB6F89480936000109260000FBE089587
:1039100008950895CF930E94881C0E9437060E9444
:10392000891CC0E08C2F0E942407811105C0CF5F45
:10393000CE30C1F780E001C081E0CF9108950E94B0
:10394000AD150E9443100C94480982E084BD93E0B9
:1039500095BD9AEF97BD80936E0008952FB7F894A8
:103960008091CF019091D001A091D101B091D2016D
:103970002FBF0895CF92DF92EF92FF920F931F9384
:103980002FB7F8944091CF015091D0016091D101AF
:103990007091D2012FBF6A017B01EE24FF248C01BC
:1039A00020E030E0C016D106E206F30610F44150E4
:1039B0005109481B590BCA011F910F91FF90EF90BD
:1039C000DF90CF9008951F920F920FB60F9211249F
:1039D0008F939F93AF93BF938091CF019091D0012C
:1039E000A091D101B091D2010196A11DB11D80938A
:1039F000CF019093D001A093D101B093D201BF9198
:103A0000AF919F918F910F900FBE0F901F901895BF
:103A10000E94490DF8942FEF87EA91E621508040EB
:103A20009040E1F700C0000087E090EBDC0180935C
:103A3000EF019093F001A093F101B093F2012CE01B
:103A400088E190E00FB6F894A895809360000FBECF
:103A500020936000FFCFEF92FF920F931F93CF93BD
:103A6000DF93E82EF12C8F2D0E942407C0E0D0E0D8
:103A7000082F10E098010C2E02C0359527950A9466
:103A8000E2F720FD05C02196C630D10599F709C09F
:103A90006C2F7F2D80E00E94EB07E812F4CF81E0CD
:103AA00005C0F3948EE0F812DECF80E0DF91CF9175
:103AB0001F910F91FF90EF900895CF93C82F8CE244
:103AC0000E942B1D882321F08C2FCF910C942B1D4D
:103AD00080E0CF910895CF930E94B01E811102C063
:103AE0000E94961EC5E6C15049F00E9437068FE33A
:103AF0009CE90197F1F700C00000F5CF89E20E9430
:103B00005D1D811111C18AE20E945D1D81110E941B
:103B1000961E85E00E945D1D81110E94081D0E9475
:103B2000BB1E8093CD0187E00E945D1D882399F123
:103B30008BE10E945D1D882351F09091CD0191FB96
:103B4000882780F921E0822780FB91F922C08EE04E
:103B50000E945D1D882351F09091CD0192FB882732
:103B600080F921E0822780FB92F913C080E10E9456
:103B70005D1D9091CD01882341F093FB882780F94A
:103B800021E0822780FB93F904C0892F809580FB78
:103B900090F99093CD018091CD010E94BF1E0E94AB
:103BA000CD1E8093E00180EE0E945D1D882341F0D0
:103BB0008091E001982F909590FB80F98093E0012F
:103BC00089E30E945D1D882359F09091E00191FBEB
:103BD000882780F921E0822780FB91F99093E0010A
:103BE00082EE0E945D1D882359F09091E00192FBC6
:103BF000882780F921E0822780FB92F99093E001E9
:103C000086EE0E945D1D882359F09091E00193FBA0
:103C1000882780F921E0822780FB93F99093E001C7
:103C200083EE0E945D1D882359F09091E00194FB82
:103C3000882780F921E0822780FB94F99093E001A6
:103C400085E30E945D1D882359F09091E00195FB6A
:103C5000882780F921E0822780FB95F99093E00185
:103C600081E30E945D1D882359F09091E00196FB4D
:103C7000882780F921E0822780FB96F99093E00164
:103C800081E10E945D1D882359F09091E00197FB2E
:103C9000882780F921E0822780FB97F99093E00143
:103CA0008091E0010E94D11E8091E00187FB88276E
:103CB00080F980930D0187E20E945D1DC82F8EE17F
:103CC0000E945D1D8111C2608FE10E945D1D811106
:103CD000C46080E20E945D1D8111C86081E20E9483
:103CE0005D1D8111C06182E20E945D1D8111C06273
:103CF00083E20E945D1D8111C06484E20E945D1D0B
:103D0000882311F0C06802C0CC2329F08C2F0E94B8
:103D1000C81E6C2F03C00E94C41E682F70E080E094
:103D200090E0CF910C94A719CF9108956DEE7EEF9E
:103D300080E090E00E94EC2460E082E090E00E944D
:103D4000DE2460E083E090E00E94DE2460E084E016
:103D500090E00E94DE2460E085E090E00C94DE2498
:103D600080E090E00E94D82421E08D3E9E4F09F033
:103D700020E0822F089582E090E00C94D024682FF8
:103D800082E090E00C94DE2483E090E00C94D02458
:103D9000682F83E090E00C94DE2484E090E00C94A3
:103DA000D024682F84E090E00C94DE248091D5012B
:103DB00080FF0BC06091130185E0689FB001112462
:103DC00075956795759567952AC081FF09C06091C3
:103DD000130185E0689FB0011124759567951FC098
:103DE00082FF07C06091130185E0689FB001112434
:103DF00016C04091D6014423C9F0609112014617C4
:103E000088F72091130185E0289F90011124429F9B
:103E1000C001439F900D112470E00E94A2246038DD
:103E2000710540F46115710539F002C065E070E07C
:103E3000862F08958FE7089581E008958091D50138
:103E400080FF08C06091110170E0759567957595C8
:103E5000679521C081FF06C06091110170E07595E2
:103E6000679519C082FF04C06091110170E010C015
:103E70008091D6018823C1F0609110018617A0F7C8
:103E800090911101989FC001112470E00E94A2241A
:103E90006038710528F46115710521F0862F0895A9
:103EA0008FE7089581E0089561E070E0F4CF803FEE
:103EB00021F40E94D61E819504C0813F29F40E94FE
:103EC000D61E8093D9010895823F21F40E94D61E08
:103ED000819504C0833F29F40E94D61E8093D801A7
:103EE0000895893F19F40E941E1F05C08A3F31F4CE
:103EF0000E941E1F81958093DA0108958B3F21F463
:103F00000E941E1F819504C08C3F29F40E941E1F31
:103F10008093DB010895843F21F48091D701816073
:103F200017C0853F21F48091D701826011C0863F80
:103F300021F48091D70184600BC0873F21F48091E8
:103F4000D701886005C0883F31F48091D701806136
:103F50008093D70108958D3F21F48091D501816030
:103F60000BC08E3F21F48091D501826005C08F3F48
:103F700029F48091D50184608093D5010895803F14
:103F800039F48091D90187FF6CC01092D90169C0C2
:103F9000813F29F48091D9011816BCF362C0909139
:103FA000D801823F29F497FF5CC01092D80159C014
:103FB000833F19F41916CCF354C0893F41F4809122
:103FC000DA0118160CF04DC01092DA014AC08A3F8F
:103FD00029F48091DA0187FF44C0F6CF8B3F39F492
:103FE0008091DB0187FF3DC01092DB013AC08C3F1E
:103FF00029F48091DB011816BCF333C0843F21F40F
:104000008091D7018E7F17C0853F21F48091D70121
:104010008D7F11C0863F21F48091D7018B7F0BC02B
:10402000873F21F48091D701877F05C0883F31F415
:104030008091D7018F7E8093D70113C08D3F21F4EB
:104040008091D5018E7F0BC08E3F21F48091D501E8
:104050008D7F05C08F3F29F48091D5018B7F8093A0
:10406000D5018091D80181110EC08091D9018111B3
:104070000AC08091DA01811106C08091DB018111B3
:1040800002C01092D601089587ED91E00E945A1067
:104090000E94AE1C9093D4018093D30108951F9386
:1040A000CF93DF938091D3019091D4010E94BA1CE9
:1040B0004091D601442321F02091140130E006C044
:1040C000209115015AE0259F900111248217930732
:1040D00008F482C08091D8011091D901D091DA0101
:1040E000C091DB01811107C0111105C0D11103C0BE
:1040F000CC2309F471C04F3F19F04F5F4093D601B4
:10410000181624F40E94D61E8093D8018091D801FD
:1041100087FF05C00E94D61E81958093D801111695
:1041200024F40E94D61E8093D9018091D90187FF83
:1041300005C00E94D61E81958093D9016091D80157
:10414000662339F11091D901112319F1772767FD01
:104150007095872F972F0E94B32323E333E343E324
:104160005FE30E9417240E9480236093D801612F8F
:10417000772767FD7095872F972F0E94B32323E33E
:1041800033E343E35FE30E9417240E94802360939C
:10419000D9011D1624F40E941E1F8093DA0180911C
:1041A000DA0187FF05C00E941E1F81958093DA0106
:1041B0001C1624F40E941E1F8093DB018091DB01FA
:1041C00087FF05C00E941E1F81958093DB01DF9150
:1041D000CF911F910C944420DF91CF911F910895AE
:1041E000E7EDF1E085E0DF011D928A95E9F7109295
:1041F000D6011092D5010895833081F128F48130E1
:1042000059F08230D1F00895853009F449C0B8F1F1
:10421000863009F456C0089520911501862F90E04C
:10422000820F911D8F3F910520F4620F609315015D
:1042300008958FEF80931501089520911401862F22
:1042400090E0820F911D8F3F910520F4620F6093E3
:10425000140108958FEF80931401089520911301A4
:10426000862F90E0820F911D8F3F910520F4620F01
:104270006093130108958FEF8093130108952091A7
:104280001201862F90E0820F911D8F3F910520F43F
:10429000620F6093120108958FEF809312010895C9
:1042A00020911101862F90E0820F911D8F3F910583
:1042B00020F4620F6093110108958FEF8093110134
:1042C000089520911001862F90E0820F911D8F3F5D
:1042D000910520F4620F6093100108958FEF809391
:1042E00010010895833011F128F4813049F08230B3
:1042F00091F00895853081F120F18630C1F1089563
:1043000080911501681720F4861B8093150108958C
:1043100010921501089580911401681720F4861BEE
:10432000809314010895109214010895809113014F
:10433000681720F4861B80931301089510921301CF
:10434000089580911201681720F4861B8093120152
:10435000089510921201089580911101681720F4B8
:10436000861B809311010895109211010895809188
:104370001001681720F4861B809310010895109295
:10438000100108958D3109F442C020F58E3009F4F2
:1043900079C070F4873009F45EC020F4863009F4E7
:1043A00042C033C08830D1F18B3009F4A7C02DC092
:1043B000863109F4A3C038F4803109F46DC081312D
:1043C00009F47BC022C0893109F498C08B3109F40B
:1043D0004FC01BC0853309F479C048F4873209F413
:1043E00075C008F478C0893209F470C00EC08334F7
:1043F00038F48A3308F071C0883309F47FC005C0EF
:10440000833409F463C08834C1F080E008950E94C9
:104410003A230E9443100E94480970C00E94BB1EAC
:104420000E94CD1E6BC08091CD01817F8E7F8093D5
:10443000CD0181E08093DD0108950E94AD152FEF3D
:1044400083ED90E3215080409040E1F700C00000F0
:104450000E94081D53C09091CD01892F817090FF5B
:1044600003C0917F9E7F26C091609093CD0146C08E
:104470009091CD0191FB882780F921E0822780FB74
:1044800091F913C09091CD0192FB882780F921E02A
:10449000822780FB92F909C09091CD0193FB882778
:1044A00080F921E0822780FB93F99093CD01882346
:1044B00029F191609093CD0108950E94AD158091EE
:1044C0000D0191E0892780930D0118C061E070E033
:1044D00080E090E00FC023EE01C027EC280F61E0E0
:1044E00070E080E090E004C0660F771F881F991F7E
:1044F0002A95D2F70E94A7190E94AD1581E0089570
:1045000080E0089580E00895CF93C82F8091DD0169
:10451000813079F018F08230D1F184C0A0910E0181
:10452000B0910F018C91813169F0823209F07CC029
:1045300009C0A0910E01B0910F018C91813111F051
:10454000823249F48C2F0E94802281111DC08C2F51
:104550000E94C2211AC08C2F0E948222811114C095
:10456000C43179F048F4CB3079F0C03109F060C043
:1045700082E08093DD0108C0C93219F0C83321F010
:1045800057C01092DD0154C081E0817053C0C93220
:1045900089F118F5C43171F1A8F4C73009F046C0AB
:1045A0008AE08093150194E19093140193E0909335
:1045B00013018093120188E08093110188E28093B7
:1045C000100134C0CE51C63088F5EC2FF0E0E65D26
:1045D000FE4F80818093DC0129C0CE34E9F020F4C5
:1045E000CB3421F56AE013C0C13579F0C235F1F45E
:1045F00061E00DC08091DC01882319F01092DC018C
:1046000015C081E08093DD0115C061E006C0809196
:10461000DC010E94FC200AC06AE08091DC010E945B
:10462000722104C01092DD0180E004C081E002C06C
:1046300080E0ABCFCF910895E1E8F0E08081886021
:1046400080838081816080838FB7F89493E090931A
:10465000890090ED909388008FBF0895EFE6F0E019
:104660008081826080830895EFE6F0E080818D7F15
:1046700080830895EFE6F0E0808192E089278083CF
:1046800008951F920F920FB60F9211242F933F930C
:104690004F935F936F937F938F939F93AF93BF934A
:1046A000EF93FF938091DE019091DF01019690934B
:1046B000DF018093DE01811103C082E00E9448097E
:1046C000E091DF01E695E695F0E0E258F74FE491DE
:1046D0008091DE018E1303C080E00E944809FF91A3
:1046E000EF91BF91AF919F918F917F916F915F916A
:1046F0004F913F912F910F900FBE0F901F901895E3
:1047000004D06894B1118DC0089570D088F09F577F
:1047100090F0B92F9927B751A0F0D1F0660F771F0D
:10472000881F991F1AF0BA95C9F712C0B13081F0ED
:1047300077D0B1E0089574C0672F782F8827B85FCD
:1047400039F0B93FCCF3869577956795B395D9F74E
:104750003EF490958095709561957F4F8F4F9F4F58
:104760000895E89409C097FB3EF490958095709564
:1047700061957F4F8F4F9F4F9923A9F0F92F96E9AD
:10478000BB279395F695879577956795B795F11122
:10479000F8CFFAF4BB0F11F460FF1BC06F5F7F4FBF
:1047A0008F4F9F4F16C0882311F096E911C07723D1
:1047B00021F09EE8872F762F05C0662371F096E8DA
:1047C000862F70E060E02AF09A95660F771F881FA9
:1047D000DAF7880F9695879597F9089557FD9058C1
:1047E000440F551F59F05F3F71F04795880F97FBB5
:1047F000991F61F09F3F79F087950895121613066F
:104800001406551FF2CF4695F1DF08C0161617069D
:104810001806991FF1CF86957105610508940895D2
:10482000E894BB2766277727CB0197F908950BD02B
:1048300078C069D028F06ED018F0952309F05AC0DE
:104840005FC01124EECFCADFA0F3959FD1F3950F7F
:1048500050E0551F629FF001729FBB27F00DB11D04
:10486000639FAA27F00DB11DAA1F649F6627B00D94
:10487000A11D661F829F2227B00DA11D621F739F7D
:10488000B00DA11D621F839FA00D611D221F749F8B
:104890003327A00D611D231F849F600D211D822FD2
:1048A000762F6A2F11249F5750408AF0E1F0882319
:1048B0004AF0EE0FFF1FBB1F661F771F881F915026
:1048C0005040A9F79E3F510570F014C0AACF5F3F3A
:1048D000ECF3983EDCF3869577956795B795F79559
:1048E000E7959F5FC1F7FE2B880F911D96958795E1
:1048F00097F9089597F99F6780E870E060E0089560
:104900009FEF80EC089500240A94161617061806E7
:104910000906089500240A941216130614060506C3
:104920000895092E0394000C11F4882352F0BB0F54
:1049300040F4BF2B11F460FF04C06F5F7F4F8F4FB7
:104940009F4F089597FB072E16F4009407D077FD2C
:1049500009D00E94BC2407FC05D03EF490958195B7
:104960009F4F0895709561957F4F0895EE0FFF1F3B
:104970000590F491E02D0994AA1BBB1B51E107C0DF
:10498000AA1FBB1FA617B70710F0A61BB70B881FDF
:10499000991F5A95A9F780959095BC01CD0108956E
:1049A000F999FECF92BD81BDF89A992780B50895F7
:1049B000A8E1B0E042E050E00C94F324262FF999EE
:1049C000FECF1FBA92BD81BD20BD0FB6F894FA9AF2
:1049D000F99A0FBE019608950E94DE24272F0C94A9
:1049E000DF24DC01CB01FC01F999FECF06C0F2BD4A
:1049F000E1BDF89A319600B40D9241505040B8F79D
:064A00000895F894FFCFB9
:104A060020024A09D709B40980094D090101BA01F2
:104A160028080A03140A3F4D36393F08F207BC0737
:104A2600830716072F0748076107010203040506D7
:044A36000708090064
:00000001FF

M keyboard/ergodox_ez/keymaps/ordinary/readme.md => keyboard/ergodox_ez/keymaps/ordinary/readme.md +11 -6
@@ 18,7 18,7 @@ no rights reserved, use for any purposes, credit me if you are a nice person

![Ordinary base layout](ordinary-base.png)

This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer.
This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. The modifier keys are all in the same place on all layers, although some layers also assign symbols on those buttons. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer.

Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence.



@@ 45,7 45,7 @@ The symbol keys are mostly the same as on the default layout, which did a good j

The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons.

Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with the keys either mirrored or shifted. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the turquoise keys, and Enter is right where it should be.

## The Media Layer ##



@@ 55,6 55,7 @@ Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these 
* The bright green keys are more F-keys
* The dark yellow keys signal Web and Audio applications
* The light yellow keys signal the operating system
* The uncolored keys do nothing in case you bump them by accident

![Ordinary media layout](ordinary-media.png)



@@ 62,14 63,18 @@ This layer was inspired by the Media layer on the Ergodox EZ but takes it farthe

Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand.

Alas, the yellow keys have at best spotty success with common software. Good luck with those but don't expect too much.

## Switching Between Layers ##

The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; either way works. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.
The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; it works either way. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.

This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol associated with the Shift Lock button).
This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol character associated with the Shift Lock button).

## Special Escape Sequence ##
## Special Escape & Backspace Sequences ##

In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, was assigned to the tilde button which is traditionally found in that location. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!
In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, is home to the tilde (er, grave) which is commonly found there. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!

That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.

Finally, because the special Escape sequence is so natural and useful, on the top right corner of the Ergodox EZ you can do the same gesture with the 0 key to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. These special sequences should feel unremarkably mundane but might prove to be remarkably useful.