]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge remote-tracking branch 'origin/master'
authorManuel Barkhau <mb@nexttuesday.de>
Mon, 28 Mar 2016 21:36:02 +0000 (21:36 +0000)
committerManuel Barkhau <mb@nexttuesday.de>
Mon, 28 Mar 2016 21:36:02 +0000 (21:36 +0000)
36 files changed:
BUILD_GUIDE.md
keyboard/ergodox_ez/keymaps/msc/img/code_layer.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/msc/img/main_layer.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/msc/img/media_layer.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/msc/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/msc/msc.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/msc/readme.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/naps62/README.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/naps62/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/keymap.c
keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
keyboard/ergodox_ez/keymaps/ordinary/ordinary.png [deleted file]
keyboard/ergodox_ez/keymaps/ordinary/readme.md
keyboard/planck/planck.c
keyboard/planck/planck.h
keyboard/retro_refit/Makefile
keyboard/retro_refit/config.h
quantum/template/Makefile
quantum/template/config.h
quantum/template/template.c
quantum/template/template.h
tmk_core/common/action.c
tmk_core/common/action.h
tmk_core/common/action_macro.c
tmk_core/common/action_util.c
tmk_core/common/action_util.h
tmk_core/common/command.c
tmk_core/common/command.h
tmk_core/common/keyboard.c

index 81c3ec44f2b50df0c04d282e4e2d6d20e588f4f8..e8b242e4e3ccb8a46899fdfa6add76fe3b7ef671 100644 (file)
@@ -25,12 +25,12 @@ You can also try these instructions:
 3. Install [DFU-Programmer][dfu-prog].
 
 ### Linux
-Install AVR GCC and dfu-progammer with your favorite package manager.
+Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager.
 
 Debian/Ubuntu example: 
 
     sudo apt-get update
-    sudo apt-get install gcc-avr dfu-programmer
+    sudo apt-get install gcc-avr avr-libc dfu-programmer
 
 ### Vagrant
 If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md).
@@ -52,4 +52,4 @@ If you have any problems building the firmware, you can try using a tool called
 ## Troubleshooting
 1. Try running `make clean` if the make command fails.
 
-       WIP
\ No newline at end of file
+       WIP
diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png
new file mode 100644 (file)
index 0000000..7b5efaa
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png differ
diff --git a/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png
new file mode 100644 (file)
index 0000000..65f92dd
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png differ
diff --git a/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png
new file mode 100644 (file)
index 0000000..a69799b
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png differ
diff --git a/keyboard/ergodox_ez/keymaps/msc/keymap.c b/keyboard/ergodox_ez/keymaps/msc/keymap.c
new file mode 100644 (file)
index 0000000..e567e51
--- /dev/null
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |   =    |   1  |   2  |   3  |   4  |   5  | LEFT |           | RIGHT|   6  |   7  |   8  |   9  |   0  |   -    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * | Del    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * | BkSp   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |' / Cmd |
+ * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   | Cmd  | Alt  |AltShf| Left | Right|                                       | Left | Down |  Up  |Right | L2  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | Home |       | PgUp |        |      |
+ *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
+ *                                 |      |ace   | End  |       | PgDn |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP(  // layer 0 : default
+        // left hand
+        KC_EQL,         KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   KC_LEFT,
+        KC_DELT,        KC_Q,         KC_W,   KC_E,   KC_R,   KC_T,   TG(SYMB),
+        KC_BSPC,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
+        KC_LSFT,        CTL_T(KC_Z),  KC_X,   KC_C,   KC_V,   KC_B,   ALL_T(KC_NO),
+        KC_LGUI,KC_LALT,      LALT(KC_LSFT),  KC_LEFT,KC_RGHT,
+                                              ALT_T(KC_APP),  KC_LGUI,
+                                                              KC_HOME,
+                                               KC_SPC,KC_BSPC,KC_END,
+        // right hand
+             KC_RGHT,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_MINS,
+             TG(SYMB),    KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,             KC_BSLS,
+                          KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,GUI_T(KC_QUOT),
+             MEH_T(KC_NO),KC_N,   KC_M,   KC_COMM,KC_DOT, CTL_T(KC_SLSH),   KC_RSFT,
+                                  KC_LEFT,  KC_DOWN, KC_UP, KC_RIGHT,       TG(MDIA),
+             KC_LALT,        CTL_T(KC_ESC),
+             KC_PGUP,
+             KC_PGDN,KC_TAB, KC_ENT
+    ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,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_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
+                         KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |  Play  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      | Mute |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       | Prev |VolDn |VolUp | Next |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |Brwser|
+ *                                 | Lclk | Rclk |------|       |------|      |Back  |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, 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_BTN1, KC_BTN2, 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_TRNS,
+                 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+       KC_TRNS,  KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                          KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+        if (record->event.pressed) {
+          register_code(KC_RSFT);
+        } else {
+          unregister_code(KC_RSFT);
+        }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/msc/msc.hex b/keyboard/ergodox_ez/keymaps/msc/msc.hex
new file mode 100644 (file)
index 0000000..a466a37
--- /dev/null
@@ -0,0 +1,1118 @@
+:100000000C9465020C94A9020C94A9020C94A90208\r
+:100010000C94A9020C94A9020C94A9020C94A902B4\r
+:100020000C94A9020C94A9020C94AD0B0C947F0CB7\r
+:100030000C94A9020C94A9020C94A9020C94A90294\r
+:100040000C94A9020C9404210C94A9020C94A9020A\r
+:100050000C94A9020C94951A0C94A9020C94A90270\r
+:100060000C94A9020C94A9020C94A9020C94A90264\r
+:100070000C94A9020C94A9020C94A9020C94A90254\r
+:100080000C94A9020C94A9020C94A9020C94A90244\r
+:100090000C94A9020C94A9020C94A9020C94A90234\r
+:1000A0000C94A9020C94A9020C94A902EC0C0E0D5C\r
+:1000B000FC0D0E0DFC0D530D760DFC0DCB0DDE0D64\r
+:1000C000C010C010EF10EF10321170118913891396\r
+:1000D000891189138A128A125D1389138913741383\r
+:1000E0000000F0A12E004C002A00E100E300000017\r
+:1000F0001E00140004001D71E2004D001F001A00D4\r
+:1001000016001B00E1042A0020000800070006007A\r
+:1001100050002C0021001500090019004F004A0072\r
+:10012000220017000A000500000065745000015409\r
+:100130000000007F0000E3004F0001540000007742\r
+:100140000000E20023001C000B00110000002971D8\r
+:10015000240018000D00100050004B0025000C007A\r
+:100160000E00360051002800260012000F00370054\r
+:1001700052002B0027001300330038714F004E004F\r
+:100180002D0031003478E500025400000100010028\r
+:1001900001000100010000003A001E0220022202BC\r
+:1001A000010001003B001F022102230201000100A7\r
+:1001B0003C002F0226022F00010001003D0030020A\r
+:1001C00027023000010001003E00310235003502F7\r
+:1001D000000001000100010000000100000001001A\r
+:1001E0000100010000000100000001003F0052007A\r
+:1001F00051002402000001004000240021001E00E4\r
+:10020000010001004100250022001F00370001000D\r
+:1002100042002600230020002700010043002502A1\r
+:100220002E0231002E0001004400450001000100B3\r
+:1002300001000000010001000100010001000000B8\r
+:1002400001000100010001000100010001000100A6\r
+:10025000F20001000100F5000100F000F1000100D2\r
+:100260000100F40001000100F300010001000100A1\r
+:100270000100010001000100000001000100010077\r
+:100280000000010000000100010001000000010069\r
+:100290000000010001000100010001000000010058\r
+:1002A000010001000100A800AC00010001000100F4\r
+:1002B00001000100AA00B6000100010001000100D8\r
+:1002C000A90001000100010001000100AB000100D4\r
+:1002D00001000100AE00010001000000160345000E\r
+:1002E000720067006F0044006F0078002000450036\r
+:1002F0005A00000016034500720067006F004400BA\r
+:100300006F007800200045005A0000000403090433\r
+:1003100009026D00040100A0FA09040000010301B4\r
+:100320000100092111010001223F00070581030896\r
+:10033000000A090401000103010200092111010062\r
+:1003400001224D000705820308000A09040200018A\r
+:100350000300000009211101000122360007058376\r
+:100360000308000A09040300010300000009211129\r
+:100370000100012239000705840310000112011059\r
+:100380000100000008EDFE07130100010200010555\r
+:10039000010906A101050719E029E71500250195C6\r
+:1003A0000875018102050819012905950575019156\r
+:1003B000029501750391010507190029771500259C\r
+:1003C00001957875018102C005010980A1018502AE\r
+:1003D00016010026B7001A01002AB7007510950112\r
+:1003E0008100C0050C0901A1018503160100269CAE\r
+:1003F000021A01002A9C02751095018100C00501B6\r
+:100400000902A1010901A100050919012905150029\r
+:10041000250195057501810295017503810105018D\r
+:10042000093009311581257F950275088106093843\r
+:100430001581257F950175088106050C0A3802157E\r
+:1004400081257F950175088106C0C005010906A1B7\r
+:1004500001050719E029E7150025019508750181B7\r
+:100460000295017508810105081901290595057591\r
+:100470000191029501750391010507190029FF15E6\r
+:100480000025FF950675088100C0000000000000EF\r
+:100490000000000000010204060A0F17202C3A4A4F\r
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2\r
+:1004B000B39D87715D4A3A2C20170F0A060402018A\r
+:1004C0000000000000000000000011241FBECFEF5C\r
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A\r
+:1004E0009091EF01A091F001B091F1018730904B14\r
+:1004F000A740B04BB9F41092EE011092EF011092A8\r
+:10050000F0011092F10114BE84B7877F84BF88E1A7\r
+:100510000FB6F89480936000109260000FBEE0E088\r
+:10052000FFE3099511E0A0E0B1E0ECE8F5E402C0DA\r
+:1005300005900D92A433B107D9F711E0A4E3B1E01F\r
+:1005400001C01D92AE3EB107E1F70E94F1080C9484\r
+:10055000C4220C94000061110BC0FC01828188232D\r
+:1005600021F085EE0E945D0F03C085EE0E942510EC\r
+:1005700080E090E0089508956091B1017091B2011A\r
+:100580008091B3019091B4010E94C41956985E986D\r
+:1005900025982D9826982E9827982F98813019F015\r
+:1005A000823021F00895259A2D9A0895269A2E9A40\r
+:1005B00008950C94BC0256985E9825982D9826981C\r
+:1005C0002E9827982F988FEF90E090938900809332\r
+:1005D000880090938B0080938A0090938D00809385\r
+:1005E0008C00259A2D9A2FEF80E792E021508040D1\r
+:1005F0009040E1F700C00000269A2E9A2FEF80E786\r
+:1006000092E0215080409040E1F700C00000279A1E\r
+:100610002F9A2FEF80E792E0215080409040E1F741\r
+:1006200000C0000025982D982FEF80E792E0215020\r
+:1006300080409040E1F700C0000026982E982FEFF0\r
+:1006400080E792E0215080409040E1F700C0000038\r
+:1006500027982F9856985E9825982D9826982E982A\r
+:1006600027982F98089589EA8093800089E08093E5\r
+:10067000810024982C983F988AB18F748AB96E981B\r
+:10068000479A8BB1806B8BB9769A0E94DB020C94EF\r
+:10069000BB0280E2809300018091340181110EC081\r
+:1006A0000E94980381E0809334012FEF83ED90E363\r
+:1006B000215080409040E1F700C0000080E40E949B\r
+:1006C0009E038093000181112EC00E94C803809375\r
+:1006D0000001811128C00E94C8038093000181118C\r
+:1006E00022C08FE30E94C8038093000181111BC0C8\r
+:1006F0000E94C00380E40E949E0380930001811148\r
+:1007000012C08CE00E94C8038093000181110BC0CD\r
+:100710000E94C80380930001811105C08FE30E94ED\r
+:10072000C803809300010E94C003809100010895D6\r
+:100730001092B9008AE08093B800089594EA9093EB\r
+:10074000BC009091BC0097FFFCCF9091B900987FBE\r
+:10075000983021F0903111F081E008958093BB0032\r
+:1007600084E88093BC008091BC0087FFFCCF80911F\r
+:10077000B900887F883111F0803471F780E00895E6\r
+:1007800084E98093BC008091BC0084FDFCCF089577\r
+:100790008093BB0084E88093BC008091BC0087FFFD\r
+:1007A000FCCF9091B900987F81E0983209F480E005\r
+:1007B000089584E88093BC008091BC0087FFFCCF43\r
+:1007C0008091BB00089580910001811115C080E4E3\r
+:1007D0000E949E038093000181110CC082E10E945F\r
+:1007E000C80380930001811105C08FEF0E94C803E8\r
+:1007F000809300010E94C00384B1807F84B985B1D9\r
+:10080000807F85B98AB1837F8AB98BB1837F8BB9A9\r
+:100810003E98469808950E944903809300010E94E3\r
+:10082000E30380B38C7080BB81B3836F81BBA6E38D\r
+:10083000B1E0E4E4F1E08EE08E0F11921D928E1390\r
+:10084000FCCF0C943303BF92CF92DF92EF92FF92D2\r
+:100850000F931F93CF93DF9380910001882379F04A\r
+:10086000809135018F5F80933501811108C00E940E\r
+:10087000490380930001811102C00E94DB0206E35C\r
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455\r
+:10089000E394F12CC730D10500F58091000181115E\r
+:1008A00064C080E40E949E0380930001811112C005\r
+:1008B00082E10E94C8038093000181110BC0C7012F\r
+:1008C0000C2E01C0880F0A94EAF780950E94C80395\r
+:1008D000809300010E94C00348C0CA30A1F028F4F0\r
+:1008E000C83059F0C93061F005C0CC3089F070F0E3\r
+:1008F000CD3089F0209A289810C0219A29980DC0EF\r
+:10090000229A2A980AC0239A2B9807C0529A01C0AB\r
+:10091000539A5B9802C03E9A469890EA9A95F1F7EE\r
+:100920009FB1799902C082E001C080E091709D255D\r
+:10093000982B7C9902C084E001C080E0892B7D99CE\r
+:1009400002C038E001C030E0832B7E9902C020E174\r
+:1009500001C020E0822B9FB19095991F9927991F84\r
+:100960009295990F907E892B0FC080910001811183\r
+:1009700049C080E40E949E0380930001882379F19E\r
+:10098000B12C0E94C0038B2DF8019081981719F0AB\r
+:100990008083C09201010E94E30321960F5F1F4FE5\r
+:1009A000CE30D10509F076CF80910101882361F125\r
+:1009B000815080930101882339F08FE99FE00197EE\r
+:1009C000F1F700C0000020C0A4E4B1E0E6E3F1E0EC\r
+:1009D000CF01825F91919D938E13FCCF15C083E16F\r
+:1009E0000E94C803809300018111CACF81E40E9454\r
+:1009F0009E03809300018111C3CF0E94D903B82EBA\r
+:100A0000B094BFCF80E0C0CF0E94D90281E0DF91D7\r
+:100A1000CF911F910F91FF90EF90DF90CF90BF90FB\r
+:100A20000895E82FF0E0EC5BFE4F80810895089573\r
+:100A30008B3B910578F4883A910540F5853A91050C\r
+:100A4000D0F48430910508F0B1C08130910509F4EB\r
+:100A5000ADC06BC0803E910508F467C0883E91052B\r
+:100A600008F4A4C09C01205F31092031310508F051\r
+:100A70005CC090650895853A910509F459C0863A9D\r
+:100A8000910509F058C082E890E40895883A9105EC\r
+:100A900009F454C0893A910509F453C08A3A910582\r
+:100AA00009F452C08B3A910509F451C08C3A910572\r
+:100AB00009F450C08D3A910509F44FC0803B91056F\r
+:100AC00009F44EC08E3A910509F44DC08F3A910554\r
+:100AD00009F44CC0813B910509F44BC0823B910560\r
+:100AE00009F44AC0833B910509F449C0843B910550\r
+:100AF00009F448C0853B910509F447C0863B910540\r
+:100B000009F446C0873B910509F445C0883B91052F\r
+:100B100009F444C0893B910509F443C08A3B91051F\r
+:100B200009F442C080E094E4089580E090E00895E4\r
+:100B300081E890E4089583E890E4089582EE94E4D7\r
+:100B4000089589EE94E408958AEE94E4089585EB7F\r
+:100B500094E4089586EB94E4089587EB94E4089573\r
+:100B60008CEC94E408958DEC94E4089583E895E486\r
+:100B700008958AE895E4089582E995E4089584E962\r
+:100B800095E4089581E296E4089583E296E4089559\r
+:100B900084E296E4089585E296E4089586E296E478\r
+:100BA000089587E296E408958AE296E40895089508\r
+:100BB00096E0799FF001112494E5899FE00DF11DE5\r
+:100BC0001124E60FF11DEE0FFF1FEC51FF4F859131\r
+:100BD00094910895880F991FFC01E05AF040859187\r
+:100BE00094910895880F991FFC01E052FF4F859161\r
+:100BF0009491089526E0729FF001112444E5849FAA\r
+:100C0000E00DF11D1124E60FF11DEE0FFF1FEC5159\r
+:100C1000FF4F859194919C013A9521154FE134073E\r
+:100C200008F41AC13F512115304120F49F700E94F1\r
+:100C3000F20508959C0130532115304118F499278D\r
+:100C4000906C0895811520E5920769F40E94AB131A\r
+:100C50004FEF84E39CE0415080409040E1F700C0BA\r
+:100C600000000C94BA1A813020E5920731F480918B\r
+:100C7000CC0181608093CC0108959C0130552115F1\r
+:100C8000304108F051C0292F33272F7033272130EE\r
+:100C90003105D9F4AC014370552702C0220F331F30\r
+:100CA0004A95E2F73C68AC0164E0440F551F6A9531\r
+:100CB000E1F744275370242B352B73E0880F991FDD\r
+:100CC0007A95E1F7807699271DC02230310529F405\r
+:100CD000982F8827816F906A089523303105A9F4F1\r
+:100CE000AC014370552721E030E002C0220F331FD2\r
+:100CF0004A95E2F73C6843E0880F991F4A95E1F76F\r
+:100D0000807E9770822B932B089524303105E1F477\r
+:100D1000AC014370552721E030E002C0220F331FA1\r
+:100D20004A95E2F73A68E7CF9C01305721153041E8\r
+:100D300018F49F70906208959C013058211530413D\r
+:100D400018F49F70906A0895803E9105E0F4803C0D\r
+:100D5000910558F58133910509F46FC048F4893243\r
+:100D6000910509F463C08A32910509F46DC072C01F\r
+:100D700089339105E9F082389105D1F085339105E9\r
+:100D800009F44DC067C0833E910581F138F4803E7F\r
+:100D90009105B9F0823E9105D9F05CC0863E91057F\r
+:100DA00061F1873E9105A1F155C00E94EA050895C1\r
+:100DB0002091DF0120FD02C021FF4CC080EE90E0B9\r
+:100DC00049C08091DF0180FFF9CF89E390E042C004\r
+:100DD0008091DF0182FF0EC08091DF0184FF03C09C\r
+:100DE00080E090E037C083EE90E034C08091DF0176\r
+:100DF00082FFF2CF82EE90E02DC08091DF0183FF71\r
+:100E00000BC08091DF0184FDEBCF87EE90E022C024\r
+:100E10008091DF0183FFF5CF86EE90E01BC08091CB\r
+:100E2000DF0185FF07C089E290E014C08091DF01F7\r
+:100E300085FFF9CF85E390E00DC08091DF0186FF4B\r
+:100E400007C08AE290E006C08091DF0186FFF9CFFB\r
+:100E500081E390E00E941805089508950C942D07F1\r
+:100E6000809162010895CF93DF9300D01F92CDB798\r
+:100E7000DEB79C018091E501843019F593E09983F8\r
+:100E80003B832A839093E9008FEF9091E800815093\r
+:100E900095FD06C095ED9A95F1F700008111F5CF0B\r
+:100EA0008091E80085FF0DC040E050E063E070E015\r
+:100EB000CE0101960E949D098091E8008E77809373\r
+:100EC000E8000F900F900F90DF91CF910895CF938E\r
+:100ED000DF9300D01F92CDB7DEB72091E50124301B\r
+:100EE00021F522E029839B838A8383E08093E900B4\r
+:100EF0008FEF9091E800815095FD06C095ED9A9591\r
+:100F0000F1F700008111F5CF8091E80085FF0DC059\r
+:100F100040E050E063E070E0CE0101960E949D0940\r
+:100F20008091E8008E778093E8000F900F900F90EB\r
+:100F3000DF91CF9108952091E5012430F1F422E072\r
+:100F40002093E9002FEF3091E800215035FD06C0D5\r
+:100F500035ED3A95F1F700002111F5CF2091E80029\r
+:100F600025FF0BC040E050E065E070E00E949D0965\r
+:100F70008091E8008E778093E8000895CF93DF9307\r
+:100F8000EC019091E501943009F046C080910C018C\r
+:100F90008823D9F080910D018823B9F09093E9005E\r
+:100FA0008FEF9091E800815095FD06C095E19A95EC\r
+:100FB000F1F700008111F5CF8091E80085FF2CC08A\r
+:100FC00040E050E060E170E017C081E08093E9000C\r
+:100FD0008FEF9091E800815095FD06C095ED9A95B0\r
+:100FE000F1F700008111F5CF8091E80085FF14C072\r
+:100FF00040E050E068E070E0CE010E949D098091E1\r
+:10100000E8008E778093E80080E1FE01A2E5B1E080\r
+:1010100001900D928A95E1F7DF91CF91089580912B\r
+:10102000E401811109C00E94320B0E948F0B809154\r
+:10103000E20084608093E20008951092E401089534\r
+:1010400008950C94F1200E94501A0E94F7200E94EB\r
+:10105000350E0C942E0742E061EC81E00E94AC0A50\r
+:1010600042E061EC82E00E94AC0A42E061EC83E085\r
+:101070000E94AC0A42E161EC84E00C94AC0A8091DD\r
+:10108000E701833009F455C030F4813071F08230CB\r
+:1010900009F48EC008958A3009F47AC08B3009F4BF\r
+:1010A00060C0893009F09CC020C08091E601813A7F\r
+:1010B00009F096C08091E800877F8093E8008091D6\r
+:1010C000EA019091EB01892B21F460E182E591E046\r
+:1010D00003C060E080E090E070E00E94E809809149\r
+:1010E000E8008B778093E80008958091E6018132D3\r
+:1010F00009F076C08091EA019091EB01009719F018\r
+:10110000039709F06DC08091E800877F8093E80025\r
+:101110008091E80082FD05C08091E5018111F8CF42\r
+:101120005FC08091F100809362018091E8008B772D\r
+:1011300053C08091E601813A09F052C08091EA01E2\r
+:101140009091EB01892B09F04BC08091E800877FDB\r
+:101150008093E8008091E80080FFFCCF80910C0133\r
+:1011600036C08091E6018132D9F58091EA019091F3\r
+:10117000EB01892BA9F58091E800877F8093E80037\r
+:101180000E94E10A8091E80180930C010C94AB135A\r
+:101190008091E601813221F58091E800877F80937C\r
+:1011A000E8000E94E10A8091E901809363010895BB\r
+:1011B0008091E601813AA1F48091E800877F8093D5\r
+:1011C000E8008091E80080FFFCCF8091630180936C\r
+:1011D000F1008091E8008E778093E8000C94E10A9A\r
+:1011E000089584B7877F84BF88E10FB6F894809311\r
+:1011F0006000109260000FBE90E080E80FB6F89497\r
+:1012000080936100909361000FBE0E94840E0E9443\r
+:10121000320B0E948F0B8091E20084608093E20089\r
+:1012200078940E94150E0E94860E82E091E00E9442\r
+:10123000300E0E94DF208091E501853069F40E9424\r
+:10124000141A8091E3018823B1F30E943C1A882389\r
+:1012500091F30E948709EFCF0E948C0EECCF292FCB\r
+:10126000332723303105C9F064F42130310581F092\r
+:101270002230310509F043C08DE690E020E133E0F3\r
+:1012800042C021323105F1F02232310541F137C03F\r
+:1012900082E190E02DE733E036C099278130910557\r
+:1012A00041F08230910541F0892B49F5ECE0F3E003\r
+:1012B00005C0E4EFF2E002C0ECEDF2E0849190E0D2\r
+:1012C0009F0121C06430D8F4E62FF0E0EE0FFF1F3D\r
+:1012D000EE5DFE4F2081318189E090E014C06430E2\r
+:1012E00070F470E0FB01EE0FFF1FE65EFE4F208101\r
+:1012F0003181FB01EA5EFE4F808190E004C080E016\r
+:1013000090E020E030E0FA0131832083089580E10D\r
+:1013100089BD82E189BD09B400FEFDCF8091D8006E\r
+:101320008F7D8093D8008091E00082608093E00000\r
+:101330008091E00081FDFCCF0895CF92DF92EF9283\r
+:10134000FF920F931F93CF93DF93EC018B016A0100\r
+:101350000E94000B811133C0C114D10439F0F60191\r
+:1013600080819181081B190BC80FD91FE12CF12C2A\r
+:101370000115110519F18091E80085FD16C08091D5\r
+:10138000E8008E778093E800C114D10449F0F6019B\r
+:1013900080819181E80EF91EF182E08285E00FC024\r
+:1013A0000E94000B882321F30AC089918093F100E9\r
+:1013B00001501109FFEFEF1AFF0ADACF80E0DF9149\r
+:1013C000CF911F910F91FF90EF90DF90CF900895F4\r
+:1013D0002091EC013091ED012617370748F0611597\r
+:1013E000710539F42091E8002E772093E80001C0C0\r
+:1013F000B90140E061157105A9F12091E5012223B1\r
+:1014000009F443C0253009F442C02091E80023FDCF\r
+:1014100040C02091E80022FD32C02091E80020FF6A\r
+:10142000E9CF4091F3002091F20030E0342BFC0131\r
+:10143000CF016115710559F02830310540F48191D3\r
+:101440008093F100615071092F5F3F4FF1CF41E070\r
+:101450002830310509F040E02091E8002E772093F4\r
+:10146000E800C8CF4111C9CF0AC08091E5018823A7\r
+:1014700061F0853061F08091E80083FD0AC08091C1\r
+:10148000E80082FFF2CF80E0089582E0089583E0D3\r
+:10149000089581E008952091EC013091ED01261727\r
+:1014A000370748F06115710539F42091E8002E776F\r
+:1014B0002093E80001C0B901FC0120E0611571052D\r
+:1014C00091F18091E501882309F440C0853009F449\r
+:1014D0003FC08091E80083FD3DC08091E80082FD1F\r
+:1014E0002FC08091E80080FFE9CF2091F300809128\r
+:1014F000F20090E0922B6115710559F0883091054A\r
+:1015000040F424912093F1003196615071090196C5\r
+:10151000F2CF21E0089709F020E08091E8008E7773\r
+:101520008093E800CBCF2111CCCF0AC08091E50198\r
+:10153000882361F0853061F08091E80083FD0AC066\r
+:101540008091E80082FFF2CF80E0089582E0089564\r
+:1015500083E0089581E00895982F973058F590938F\r
+:10156000E900981739F07091EC002091ED0050914E\r
+:10157000F00003C0242F762F50E021FF19C03091D6\r
+:10158000EB003E7F3093EB003091ED003D7F3093D8\r
+:10159000ED003091EB0031603093EB007093EC0084\r
+:1015A0002093ED005093F0002091EE0027FF07C03C\r
+:1015B0009F5FD3CF8F708093E90081E0089580E032\r
+:1015C00008958091E60187FF11C08091E80082FDB7\r
+:1015D00005C08091E5018111F8CF11C08091E8002C\r
+:1015E0008B770BC08091E501882349F08091E8005A\r
+:1015F00080FFF8CF8091E8008E778093E80008950F\r
+:101600002091E4003091E50095E64091EC00842FB4\r
+:10161000817040FF22C08091E80080FD1CC0809155\r
+:10162000E501882391F0853091F08091EB0085FDF4\r
+:1016300010C04091E4005091E5004217530729F390\r
+:101640009A01915011F784E0089582E0089583E0B3\r
+:10165000089581E0089580E008954091E80042FFF8\r
+:10166000DECF08950E94A00B0E94A80BE0EEF0E0F0\r
+:10167000808181608083E8EDF0E080818F778083D6\r
+:1016800019BCA7EDB0E08C918E7F8C9380818F7E0A\r
+:1016900080831092E40108950F931F93CF93DF93FB\r
+:1016A0000E94A00B0E94A80BC8EDD0E088818F7724\r
+:1016B000888388818068888388818F7D888319BC2E\r
+:1016C0001092E5011092E1011092E3011092E20103\r
+:1016D00000EE10E0F80180818B7F8083888181603B\r
+:1016E000888342E060E080E00E94AC0AE1EEF0E036\r
+:1016F00080818E7F8083E2EEF0E080818160808354\r
+:10170000808188608083F80180818E7F80838881DA\r
+:1017100080618883DF91CF911F910F910895E8ED4B\r
+:10172000F0E080818F7E8083E7EDF0E08081816052\r
+:10173000808384E082BF81E08093E4010C944C0BB1\r
+:10174000E8EDF0E080818E7F80831092E2000895C2\r
+:101750001092DA001092E10008951F920F920FB6D6\r
+:101760000F9211242F933F934F935F936F937F9327\r
+:101770008F939F93AF93BF93EF93FF938091E1007B\r
+:1017800082FF0BC08091E20082FF07C08091E100E0\r
+:101790008B7F8093E1000E94140E8091DA0080FF1D\r
+:1017A0001FC08091D80080FF1BC08091DA008E7F1F\r
+:1017B0008093DA008091D90080FF0DC080E189BD5F\r
+:1017C00082E189BD09B400FEFDCF81E08093E5018F\r
+:1017D0000E940F0805C019BC1092E5010E941D0867\r
+:1017E0008091E10080FF19C08091E20080FF15C068\r
+:1017F0008091E2008E7F8093E2008091E200806120\r
+:101800008093E2008091D80080628093D80019BC58\r
+:1018100085E08093E5010E9421088091E10084FF2A\r
+:1018200030C08091E20084FF2CC080E189BD82E15C\r
+:1018300089BD09B400FEFDCF8091D8008F7D8093D3\r
+:10184000D8008091E1008F7E8093E1008091E200DA\r
+:101850008F7E8093E2008091E20081608093E200BD\r
+:101860008091E101882311F084E007C08091E300BA\r
+:1018700087FD02C081E001C083E08093E5010E9402\r
+:1018800023088091E10083FF29C08091E20083FF5B\r
+:1018900025C08091E100877F8093E10082E0809302\r
+:1018A000E5011092E1018091E1008E7F8093E100DB\r
+:1018B0008091E2008E7F8093E2008091E20080615F\r
+:1018C0008093E20042E060E080E00E94AC0A8091F8\r
+:1018D000F00088608093F0000E942008FF91EF9153\r
+:1018E000BF91AF919F918F917F916F915F914F9138\r
+:1018F0003F912F910F900FBE0F901F9018951F9240\r
+:101900000F920FB60F9211242F933F934F935F9333\r
+:101910006F937F938F939F93AF93BF93CF93DF93F7\r
+:10192000EF93FF93C091E900CF708091EC00D82F26\r
+:10193000D17080FDD0E81092E9008091F000877F9F\r
+:101940008093F00078940E94C30C1092E90080917B\r
+:10195000F00088608093F000CD2BCF70C093E90039\r
+:10196000FF91EF91DF91CF91BF91AF919F918F91B7\r
+:101970007F916F915F914F913F912F910F900FBE8B\r
+:101980000F901F9018951F93CF93DF93CDB7DEB7BD\r
+:10199000AA970FB6F894DEBF0FBECDBFE6EEF1E01A\r
+:1019A00088E08E0F9091F10091938E13FBCF0E94EF\r
+:1019B0003F088091E80083FF1FC18091E60190916C\r
+:1019C000E701492F50E04A30510508F015C1FA01EE\r
+:1019D000EA5AFF4F0C947922803881F0823809F05E\r
+:1019E0000BC18091EA018F708093E9008091EB0038\r
+:1019F00085FB882780F91092E90006C08091E201FA\r
+:101A00009091E301911182609091E800977F90930B\r
+:101A1000E8008093F1001092F100C8C0282F2D7FBC\r
+:101A200009F0EAC0882319F0823061F0E5C08091A6\r
+:101A3000E801813009F0E0C0933009F080E0809344\r
+:101A4000E3012BC08091E801811127C08091EA0158\r
+:101A50008F7009F4D1C08093E9002091EB0020FF42\r
+:101A60001CC0933021F48091EB00806214C09091EF\r
+:101A7000EB0090619093EB0021E030E0A90102C0FF\r
+:101A8000440F551F8A95E2F74093EA001092EA004E\r
+:101A90008091EB0088608093EB001092E9008091C8\r
+:101AA000E800877F86C08111A7C01091E8011F77E9\r
+:101AB0008091E3008078812B8093E3008091E8009F\r
+:101AC000877F8093E8000E94E10A8091E80080FF10\r
+:101AD000FCCF8091E30080688093E300111102C085\r
+:101AE00082E001C083E08093E50186C080588230A7\r
+:101AF00008F082C08091E8019091E9018C3D53E0AB\r
+:101B0000950779F583E08A838AE289834FB7F89451\r
+:101B1000DE01139620E03EE051E2E32FF0E0509327\r
+:101B20005700E49120FF03C0E295EF703F5FEF7034\r
+:101B30008E2F90E0EA3010F0C79601C0C0968D93CA\r
+:101B40009D932F5F243149F74FBF8091E800877F35\r
+:101B50008093E8006AE270E0CE0101960E94E809F5\r
+:101B600014C0AE014F5F5F4F6091EA010E942F09E0\r
+:101B7000BC01892B09F440C09091E800977F9093B5\r
+:101B8000E80089819A810E944B0A8091E8008B7756\r
+:101B90008093E80031C0803879F58091E800877F34\r
+:101BA0008093E8008091E1018093F1008091E8004A\r
+:101BB0008E778093E8000E94E10A1EC081111CC04C\r
+:101BC0009091E8019230C0F48091E800877F809383\r
+:101BD000E8009093E1010E94E10A8091E101811106\r
+:101BE00006C08091E30087FD02C081E001C084E06F\r
+:101BF0008093E5010E942B088091E80083FF0AC0D2\r
+:101C00008091E800877F8093E8008091EB008062FC\r
+:101C10008093EB00AA960FB6F894DEBF0FBECDBF3F\r
+:101C2000DF91CF911F9108950895CF938091E501A1\r
+:101C30008823A1F0C091E900CF709091EC00892F2A\r
+:101C4000817090FD80E8C82B1092E9008091E80037\r
+:101C500083FD0E94C30CCF70C093E900CF9108951B\r
+:101C600090936901809368010895E0916801F09173\r
+:101C70006901309721F00190F081E02D099480E016\r
+:101C80000895E0916801F0916901309721F0028098\r
+:101C9000F381E02D09940895E0916801F0916901C4\r
+:101CA000309721F00480F581E02D0994089520916A\r
+:101CB0006601309167018217930771F09093670175\r
+:101CC00080936601E0916801F0916901309721F0FD\r
+:101CD0000680F781E02D09940895209164013091E8\r
+:101CE00065018217930771F09093650180936401F9\r
+:101CF000E0916801F0916901309721F00084F1854D\r
+:101D0000E02D0994089508950C94830E0E94561AAC\r
+:101D10000E940B040C941C1BCF92DF92EF92FF9257\r
+:101D20000F931F93CF93DF93CDB7DEB72B970FB6EB\r
+:101D3000F894DEBF0FBECDBF0E9423048BE6C82EF1\r
+:101D400081E0D82E00E010E0E02E802F0E941105E7\r
+:101D5000F60141916F01F42EF826B1F40F5F1F4F89\r
+:101D60000E30110589F78FEF89838A831B820E94C9\r
+:101D70005F1A8160782F9D838C8349815A816B81A2\r
+:101D80008D810E942F0F40C09091CC0191FF04C023\r
+:101D90008B870E9417058B8520E030E04F2D50E0A7\r
+:101DA000922FBA01022E02C0759567950A94E2F748\r
+:101DB00060FF24C02E83EF8221E030E0690102C081\r
+:101DC000CC0CDD1C9A95E2F790E08C219D21892BAB\r
+:101DD00009F420E028870E945F1A8160782F9A8793\r
+:101DE00089874E815F8168858A850E942F0FF8015F\r
+:101DF000E559FE4F8081C826C08206C02F5F3F4F45\r
+:101E00002630310569F6AACF0E94031E10916A019F\r
+:101E10000E94350E1817A1F00E94350E80936A01BA\r
+:101E20002B960FB6F894DEBF0FBECDBFDF91CF91DA\r
+:101E30001F910F91FF90EF90DF90CF900C942E07A1\r
+:101E40002B960FB6F894DEBF0FBECDBFDF91CF91BA\r
+:101E50001F910F91FF90EF90DF90CF900895CF9357\r
+:101E6000DF93CDB7DEB72B970FB6F894DEBF0FBE6A\r
+:101E7000CDBF4F83588769877A878B87DE0111969C\r
+:101E800086E0FD0111928A95E9F785E0FE0137961B\r
+:101E900001900D928A95E1F749815A816B817C818D\r
+:101EA0008D819E810E9445162B960FB6F894DEBF59\r
+:101EB0000FBECDBFDF91CF910895CF93882309F452\r
+:101EC000C2C0C82F823859F40E94350E81FDBBC0B4\r
+:101ED00089E30E94E1180E949E1989E30CC08338AF\r
+:101EE00079F40E94350E80FDAEC083E50E94E118B2\r
+:101EF0000E949E1983E50E942319CF910C949E198C\r
+:101F0000843859F40E94350E82FD9DC087E40E94FA\r
+:101F1000E1180E949E1987E4EECF8CEF8C0F813A76\r
+:101F200048F48C2F0E94442081118DC08C2F0E9478\r
+:101F3000E118E3CF80E28C0F883048F4C77081E06D\r
+:101F400001C0880FCA95EAF70E946719D6CF8BE5C2\r
+:101F50008C0F833078F4C53A29F0C63A31F083E823\r
+:101F600090E005C081E890E002C082E890E0CF9167\r
+:101F70000C94570E88E58C0F833108F064C0C83A82\r
+:101F800039F1C93A41F1CA3A49F1CB3A51F1CC3A67\r
+:101F900059F1CD3A61F1C03B69F1CE3A71F1CF3AD6\r
+:101FA00079F1C13B81F1C23B89F1C33B91F1C43B63\r
+:101FB00099F1C53BA1F1C63BA9F1C73BB1F1C83BC3\r
+:101FC000B9F1C93BC1F1CA3BC9F180E090E038C02A\r
+:101FD00082EE90E035C089EE90E032C08AEE90E06B\r
+:101FE0002FC085EB90E02CC086EB90E029C087EBFA\r
+:101FF00090E026C08CEC90E023C08DEC90E020C0F7\r
+:1020000083E891E01DC08AE891E01AC082E991E07E\r
+:1020100017C084E991E014C081E292E011C083E22C\r
+:1020200092E00EC084E292E00BC085E292E008C02C\r
+:1020300086E292E005C087E292E002C08AE292E086\r
+:10204000CF910C946D0ECF910895882309F44BC065\r
+:10205000823859F40E94350E81FF45C089E30E9401\r
+:10206000E1180E949E1989E30CC0833871F40E9424\r
+:10207000350E80FF38C083E50E94E1180E949E194A\r
+:1020800083E50E9423190C949E19843859F40E9408\r
+:10209000350E82FF28C087E40E94E1180E949E1935\r
+:1020A00087E4EFCF9CEF980F913A58F390E2980FA6\r
+:1020B000983050F4877091E001C0990F8A95EAF743\r
+:1020C000892F0E946D19DFCF9BE5980F933020F484\r
+:1020D00080E090E00C94570E885A833120F480E021\r
+:1020E00090E00C946D0E0895882321F00E946719EA\r
+:1020F0000C949E190895882321F00E946D190C9468\r
+:102100009E190895BF92CF92DF92EF92FF920F93A4\r
+:102110001F93CF93DF9300D000D000D0CDB7DEB7B0\r
+:1021200025E0FC01DE01119601900D922A95E1F760\r
+:10213000FC01408131810281258122952F706381CC\r
+:102140007481672B09F4E5C23F3F19F44F3F09F44E\r
+:10215000E0C27C0149833A8389819A812E830E945F\r
+:10216000A018182FB92E0E949F180E946617EB2DF9\r
+:10217000E295EF70F0E0E05AFF4F2E810C94792247\r
+:102180008B2D807F9B2D9F70F92E882319F0F29460\r
+:1021900080EFF822002349F0FF2009F467C28F2D59\r
+:1021A0000E9477190E949E1961C2812F0E942510FA\r
+:1021B000FF2009F4AEC28F2D0E947D1926960FB61E\r
+:1021C000F894DEBF0FBECDBFDF91CF911F910F916D\r
+:1021D000FF90EF90DF90CF90BF900C949E193B2D15\r
+:1021E000307F8B2D8F70303211F08295807F1123DC\r
+:1021F00019F0113021F12CC00023B9F0222309F489\r
+:10220000A0C1213009F09DC126960FB6F894DEBF1B\r
+:102210000FBECDBFDF91CF911F910F91FF90EF9037\r
+:10222000DF90CF90BF900C948719222319F02130B2\r
+:1022300009F46FC28E830E948A198E8196C1002391\r
+:1022400021F0223008F065C27CC1211162C28DC12B\r
+:10225000002321F0222309F474C108C2222309F4C7\r
+:1022600084C119C22B2D26952695237030E02115A7\r
+:10227000310521F021303105D1F04BC2002321F08E\r
+:10228000812F9B2D937002C080E090E026960FB6C0\r
+:10229000F894DEBF0FBECDBFDF91CF911F910F919C\r
+:1022A000FF90EF90DF90CF90BF900C94570E0023DB\r
+:1022B00021F0812F9B2D937002C080E090E0269644\r
+:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147\r
+:1022D0000F91FF90EF90DF90CF90BF900C946D0E18\r
+:1022E000812F002319F00E940B1D02C00E94731D54\r
+:1022F00026960FB6F894DEBF0FBECDBFDF91CF910B\r
+:102300001F910F91FF90EF90DF90CF90BF900C94B2\r
+:10231000F81D8B2D837009F07BC00111FAC1812F4C\r
+:10232000829586958770880F880F912F9F70C92E90\r
+:10233000D12CE12CF12C082E04C0CC0CDD1CEE1CA1\r
+:10234000FF1C0A94D2F714FF12C04FE050E060E087\r
+:1023500070E004C0440F551F661F771F8A95D2F79F\r
+:10236000CB01BA01609570958095909503C060E0AF\r
+:1023700070E0CB012B2D269526952370422F50E03F\r
+:1023800042305105D9F04330510569F16C297D295E\r
+:102390008E299F294130510551F126960FB6F894A8\r
+:1023A000DEBF0FBECDBFDF91CF911F910F91FF9088\r
+:1023B000EF90DF90CF90BF900C948D176C297D2902\r
+:1023C0008E299F2926960FB6F894DEBF0FBECDBF8B\r
+:1023D000DF91CF911F910F91FF90EF90DF90CF9001\r
+:1023E000BF900C94A9170E948D17C701B6012696BD\r
+:1023F0000FB6F894DEBF0FBECDBFDF91CF911F9116\r
+:102400000F91FF90EF90DF90CF90BF900C947117D9\r
+:10241000002319F08B2D817001C08695882309F463\r
+:1024200078C1812F829586958770880F880F912FAC\r
+:102430009F70C92ED12CE12CF12C082E04C0CC0C9D\r
+:10244000DD1CEE1CFF1C0A94D2F714FF12C04FE0F3\r
+:1024500050E060E070E004C0440F551F661F771F16\r
+:102460008A95D2F7CB01BA016095709580959095C9\r
+:1024700003C060E070E0CB012B2D269526952370DC\r
+:10248000422F50E042305105D9F04330510569F1F7\r
+:102490006C297D298E299F294130510551F12696BD\r
+:1024A0000FB6F894DEBF0FBECDBFDF91CF911F9165\r
+:1024B0000F91FF90EF90DF90CF90BF900C94671832\r
+:1024C0006C297D298E299F2926960FB6F894DEBFA8\r
+:1024D0000FBECDBFDF91CF911F910F91FF90EF9075\r
+:1024E000DF90CF90BF900C9483180E946718C701AB\r
+:1024F000B60126960FB6F894DEBF0FBECDBFDF91B2\r
+:10250000CF911F910F91FF90EF90DF90CF90BF90F0\r
+:102510000C944B18103FD1F118F4103E50F4A1C0A8\r
+:10252000123F09F463C008F44CC0133F09F473C0B0\r
+:1025300098C01F708B2D8F710023A1F00E94E417AB\r
+:10254000812F26960FB6F894DEBF0FBECDBFDF9168\r
+:10255000CF911F910F91FF90EF90DF90CF90BF90A0\r
+:102560000C9474100E940518812F26960FB6F894CB\r
+:10257000DEBF0FBECDBFDF91CF911F910F91FF90B6\r
+:10258000EF90DF90CF90BF900C947B100023A9F0C8\r
+:102590002111BFC08B2D8F7126960FB6F894DEBF28\r
+:1025A0000FBECDBFDF91CF911F910F91FF90EF90A4\r
+:1025B000DF90CF90BF900C942A18223008F0A9C069\r
+:1025C000E9CF0023A9F08B2D8F7126960FB6F894D2\r
+:1025D000DEBF0FBECDBFDF91CF911F910F91FF9056\r
+:1025E000EF90DF90CF90BF900C94E417002359F345\r
+:1025F0008B2D8F7126960FB6F894DEBF0FBECDBF20\r
+:10260000DF91CF911F910F91FF90EF90DF90CF90CE\r
+:10261000BF900C940518002399F08B2D8F7126968E\r
+:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3\r
+:102630000F91FF90EF90DF90CF90BF900C94CF1749\r
+:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7\r
+:102650001F910F91FF90EF90DF90CF90BF900C945F\r
+:10266000C5170023A9F0222309F4ADCF812F2696A8\r
+:102670000FB6F894DEBF0FBECDBFDF91CF911F9193\r
+:102680000F91FF90EF90DF90CF90BF900C945D0F73\r
+:10269000222309F4ADCF812F26960FB6F894DEBF22\r
+:1026A0000FBECDBFDF91CF911F910F91FF90EF90A3\r
+:1026B000DF90CF90BF900C9425104B2D4F70612F61\r
+:1026C000C7010E94AB0226960FB6F894DEBF0FBE7C\r
+:1026D000CDBFDF91CF911F910F91FF90EF90DF90D1\r
+:1026E000CF90BF900C94E9164B2D4F70612FC7010E\r
+:1026F00026960FB6F894DEBF0FBECDBFDF91CF9107\r
+:102700001F910F91FF90EF90DF90CF90BF900C94AE\r
+:10271000D70526960FB6F894DEBF0FBECDBFDF916A\r
+:10272000CF911F910F91FF90EF90DF90CF90BF90CE\r
+:1027300008950E9484190E9459190E949E190E94AE\r
+:10274000A91E0E94F81D80E090E00E94570E80E0D4\r
+:1027500090E00C946D0E0E9474190C9499130E94D1\r
+:10276000A018292F22952F7030E02C3031054CF421\r
+:102770002A3031056CF4225031092230310588F4B9\r
+:1027800007C02C30310549F02F30310531F009C038\r
+:10279000803E48F0803F29F406C093FB882780F9EB\r
+:1027A000089580E0089581E00895CF93DF9300D0ED\r
+:1027B00000D01F92CDB7DEB70F900F900F900F9003\r
+:1027C0000F90DF91CF910895CF93DF9300D000D089\r
+:1027D00000D0CDB7DEB726960FB6F894DEBF0FBE99\r
+:1027E000CDBFDF91CF9108951F93CF93DF93C09119\r
+:1027F000790116E080917A01C81799F0D0E01C9F0A\r
+:10280000F0011D9FF00D1124E558FE4F40815181CC\r
+:1028100062817381848195810E94E4132196C7703F\r
+:10282000E9CFDF91CF911F9108954091AB01509175\r
+:10283000AC016091AD017091AE018091AF019091BA\r
+:10284000B0010C94E4138091B00182958F7009F06F\r
+:1028500054C08091AD01882309F44FC08091790163\r
+:10286000A0917A016091AB017091AC014091AE01F1\r
+:102870005091AF01B6E08A1709F43FC090E04115CE\r
+:102880005105C1F17F3F11F46F3FA1F1B89FF001F5\r
+:10289000B99FF00D1124E558FE4F218172132AC013\r
+:1028A0002081621327C02281211124C02381348119\r
+:1028B0002417350710F421503109241B350B283C0F\r
+:1028C0003105C0F42091B0012F7020612093B00138\r
+:1028D00026E0289FF001299FF00D1124E058FE4FBB\r
+:1028E00080818F70806180838BEA91E00E948210EA\r
+:1028F0000C94F41301968770BECF0895CF92DF92A7\r
+:10290000EF92FF920F931F93CF93DF93CDB7DEB774\r
+:1029100062970FB6F894DEBF0FBECDBF8C0185E085\r
+:10292000F801DE011D9601900D928A95E1F7D8011C\r
+:102930004C9111965C91119712966C911297139687\r
+:10294000CD90DC9014973091AB017091AC018091E7\r
+:10295000AE019091AF01009709F46BC17F3F19F46C\r
+:102960003F3F09F466C1E090AD01EE2009F4C0C01C\r
+:102970002091B001C816D90628F0F601E81BF90B22\r
+:10298000CF0104C0809590958C0D9D1DFF24F3947C\r
+:10299000883C910578F0F12C207F09F0C6C07C2D91\r
+:1029A000D98AC88A89890E94D5138BEA91E00E944E\r
+:1029B0008210B1C0822F807F09F046C0751314C009\r
+:1029C000341312C0611110C02F7020612093B00128\r
+:1029D0000E9415148BEA91E00E9482108091B00150\r
+:1029E000D80115968C932EC0CD2819F15F3F11F4B4\r
+:1029F0004F3FF9F0F62E61111CC0809179012091B2\r
+:102A00007A0136E0821709F45AC090E0389FF0014D\r
+:102A1000399FF00D1124E558FE4F7181571306C000\r
+:102A20007081471303C07281711103C001968770D2\r
+:102A3000E9CFF62E662309F418C18091B0018160B8\r
+:102A40008093B001F12C11C1751308C0341306C076\r
+:102A5000611104C08091B001D801C3C04D875E8769\r
+:102A60008D859E856A8B0E94AF136A898823E1F168\r
+:102A70006623D1F12091B001822F82958F7090E072\r
+:102A8000029774F08091AB019091AC0198878F838D\r
+:102A90001986DB86CA862C87CE0107960E94821093\r
+:102AA00086E0F801ABEAB1E001900D928A95E1F77A\r
+:102AB0000E9423140E941514FF24F394D6C04D875E\r
+:102AC0005E878D859E850E94A018292F22952F70E4\r
+:102AD00030E0223031050CF0BCC09F7009F0B6C068\r
+:102AE000805E883008F4C1C0C8010E948210E4CF23\r
+:102AF000C816D90608F453C0F601E81BF90BCF013C\r
+:102B0000883C910508F450C0F12C7C2DD98AC88AE4\r
+:102B100089890E94D513EBEAF1E086E0DF011D927E\r
+:102B20008A95E9F70E941514A0C0751314C03413D8\r
+:102B300012C0611110C08091B001F8018583C801F5\r
+:102B40000E94821086E0EBEAF1E0DF011D928A9597\r
+:102B5000E9F7FE2C8AC04D875E878D859E856A8B3E\r
+:102B60000E94AF136A89882309F4BECF662309F453\r
+:102B7000BBCF2091B001822F82958F7090E0029799\r
+:102B80000CF48ECF8091AB019091AC019A83898334\r
+:102B90001B82DD82CC822E83CE0101967FCF809571\r
+:102BA00090958C0D9D1DACCFF62E662309F49CCF1D\r
+:102BB00075132EC034132CC02091B00120FD1FC00E\r
+:102BC000822F82958F70D9F0D80115962C93159786\r
+:102BD0008F3049F08F5F982F9295907F822F8F7062\r
+:102BE000892B15968C93C8010E94821086E0F8010B\r
+:102BF000ABEAB1E001900D928A95E1F793CF86E0C0\r
+:102C0000F801ABEAB1E001900D928A95E1F72DC091\r
+:102C10004D875E878D859E850E94AF13811140CFC1\r
+:102C20008091B00181608093B001C8010E94821040\r
+:102C30001CC0662309F458CF4D875E878D859E851D\r
+:102C40000E94AF13882309F44FCF2ACF811148CFB8\r
+:102C50000CC0243031050CF047CF9F7009F440CFF1\r
+:102C6000F8019581907F09F03BCF8F2D62960FB6CA\r
+:102C7000F894DEBF0FBECDBFDF91CF911F910F91B2\r
+:102C8000FF90EF90DF90CF9008951F93CF93DF9345\r
+:102C9000CDB7DEB72C970FB6F894DEBF0FBECDBF11\r
+:102CA0004F83588769877A878B879C87CE010796E1\r
+:102CB0000E947E14882369F08F8198852A853B8540\r
+:102CC000232BF1F19F3F09F063C08F3F09F060C0F3\r
+:102CD00037C086E0FE013796DE01119601900D9215\r
+:102CE0008A95E1F76F817885EA85FB85309741F118\r
+:102CF0007F3F11F46F3F21F120917A0130E0C9014B\r
+:102D00000196877099274091790150E084179507C3\r
+:102D100009F447C069837A83FD83EC8396E0929F30\r
+:102D2000D001939FB00D1124A558BE4FFE013196DE\r
+:102D300001900D929A95E1F780937A010E94F41325\r
+:102D400016E08091790190917A018917C1F1189F5D\r
+:102D5000C001112485589E4F0E947E14882379F16A\r
+:102D6000E09179011E9FF0011124E558FE4F40814A\r
+:102D7000518162817381848195810E94E4138091E5\r
+:102D8000790190E001968770992780937901D9CFD6\r
+:102D90004F81588569857A858B859C850E94E413CF\r
+:102DA000CFCF0E94AB1310927A0110927901EBEA17\r
+:102DB000F1E086E0DF011D928A95E9F7C1CF2C96FC\r
+:102DC0000FB6F894DEBF0FBECDBFDF91CF911F913C\r
+:102DD0000895EF92FF920F931F93CF93DF938C018F\r
+:102DE000892B09F46CC0F12CEE24E394E8012196C0\r
+:102DF000F8018491843740F4843008F051C0813068\r
+:102E000081F0823019F15BC0853709F444C0A8F124\r
+:102E10009CE7980F903708F052C08F770E942510DA\r
+:102E200041C00E5F1F4FFE01C49180E28C0F8830BD\r
+:102E300048F4C7708E2D01C0880FCA95EAF70E942A\r
+:102E4000771914C08C2F0E945D0F2DC00E5F1F4F8D\r
+:102E5000FE01C49180E28C0F883058F4C7708E2D2B\r
+:102E600001C0880FCA95EAF70E947D190E949E1939\r
+:102E70001AC08C2F0E94251016C00E5F1F4FFE0136\r
+:102E8000C491CC2381F08FE99FE00197F1F700C056\r
+:102E90000000C150F6CF0E5F1F4FFE01F49003C03B\r
+:102EA0000E945D0F8E018F2D882309F49FCFEFE9DB\r
+:102EB000FFE03197F1F700C000008150F5CFDF91BE\r
+:102EC000CF911F910F91FF90EF9008950895609317\r
+:102ED000B5017093B6018093B7019093B8010C943B\r
+:102EE00099130F931F930091B5011091B601209192\r
+:102EF000B7013091B801DC01CB01802B912BA22BC3\r
+:102F0000B32B8093B5019093B601A093B701B09312\r
+:102F1000B8011F910F910C9499130F931F93009177\r
+:102F2000B5011091B6012091B7013091B801DC01D3\r
+:102F3000CB0180239123A223B3238093B5019093E7\r
+:102F4000B601A093B701B093B8011F910F910C94F3\r
+:102F500099130F931F930091B5011091B601209121\r
+:102F6000B7013091B801DC01CB0180279127A2275E\r
+:102F7000B3278093B5019093B601A093B701B093A6\r
+:102F8000B8011F910F910C9499131092B1011092F6\r
+:102F9000B2011092B3011092B4010C94991341E064\r
+:102FA00050E060E070E004C0440F551F661F771FBB\r
+:102FB0008A95D2F74093B1015093B2016093B30167\r
+:102FC0007093B4010C94991341E050E060E070E01C\r
+:102FD00004C0440F551F661F771F8A95D2F7809152\r
+:102FE000B1019091B201A091B301B091B401482B0D\r
+:102FF000592B6A2B7B2B4093B1015093B201609304\r
+:10300000B3017093B4010C94991341E050E060E077\r
+:1030100070E004C0440F551F661F771F8A95D2F7D2\r
+:1030200040955095609570958091B1019091B20155\r
+:10303000A091B301B091B401482359236A237B23A3\r
+:103040004093B1015093B2016093B3017093B40106\r
+:103050000C94991341E050E060E070E004C0440F2C\r
+:10306000551F661F771F8A95D2F78091B101909105\r
+:10307000B201A091B301B091B401482759276A2742\r
+:103080007B274093B1015093B2016093B3017093D9\r
+:10309000B4010C9499130F931F930091B1011091F7\r
+:1030A000B2012091B3013091B401DC01CB01802B3E\r
+:1030B000912BA22BB32B8093B1019093B201A093DB\r
+:1030C000B301B093B4011F910F910C9499130F9316\r
+:1030D0001F930091B1011091B2012091B301309181\r
+:1030E000B401DC01CB0180239123A223B32380937D\r
+:1030F000B1019093B201A093B301B093B4011F91B9\r
+:103100000F910C9499130F931F930091B10110919B\r
+:10311000B2012091B3013091B401DC01CB018027D1\r
+:103120009127A227B3278093B1019093B201A09376\r
+:10313000B301B093B4011F910F910C9499130895AA\r
+:10314000CF92DF92EF92FF920F931F93CF93DF9373\r
+:103150008C01C090B501D090B601E090B701F0901D\r
+:10316000B8014091B1015091B2016091B3017091E9\r
+:10317000B401C42AD52AE62AF72ACFE1D0E0D70144\r
+:10318000C6010C2E04C0B695A795979587950A940D\r
+:10319000D2F780FF07C0B8018C2F0E94FA0581305A\r
+:1031A000910531F4219758F7B80180E00E94FA05A3\r
+:1031B000DF91CF911F910F91FF90EF90DF90CF9013\r
+:1031C000089590910C01992321F090910D01911196\r
+:1031D00009C020910E0130910F01F90132969FEF45\r
+:1031E00040E01FC0982F9695969596959F3050F584\r
+:1031F000E0910E01F0910F01E90FF11D877021E0C0\r
+:1032000030E0A90102C0440F551F8A95E2F7CA01B8\r
+:103210009181892B818308959F3F39F04F5F4E3014\r
+:1032200041F051915813F8CF0DC05111F7CF942FA1\r
+:10323000F5CF9F3F39F0F901E90FF11D97FDFA95A0\r
+:1032400082830895089590910C01992321F0909123\r
+:103250000D01911109C020910E0130910F01F9016A\r
+:103260003296205F3F4F1FC0982F96959695969562\r
+:103270009F30F0F4E0910E01F0910F01E90FF11D84\r
+:10328000877021E030E0A90102C0440F551F8A95E4\r
+:10329000E2F7CA018095918189238183089531964F\r
+:1032A000E217F30729F090819813F9CF1082F7CF36\r
+:1032B000089581E090E0E0910E01F0910F01E80F98\r
+:1032C000F91F1082019680319105A9F70895909118\r
+:1032D000CB01892B8093CB01089580959091CB01F0\r
+:1032E00089238093CB0108951092CB01089590918A\r
+:1032F000CA01892B8093CA01089580959091CA01D3\r
+:1033000089238093CA0108951092CA010895809379\r
+:10331000B90108951092B901089580910E0190911C\r
+:103320000F01FC0131969C01205F3F4F80E091919D\r
+:1033300091118F5FE217F307D1F70895E0910E0125\r
+:10334000F0910F018091CB018083E0910E01F0910B\r
+:103350000F0190818091CA01892B80838091B901EE\r
+:10336000882361F0E0910E01F0910F019081892B8B\r
+:1033700080830E948D1981111092B90180910E01F4\r
+:1033800090910F010C94410ECF92DF92EF92FF9239\r
+:103390006C01EE24FF24C114D104E104F10421F0F6\r
+:1033A000C701B60120E101C020E0C72ED82EE92ECA\r
+:1033B000FF24C114D104E104F10419F0285FC7010E\r
+:1033C000B6016B017C0154E0F694E794D794C7945E\r
+:1033D0005A95D1F7C114D104E104F10419F02C5F1E\r
+:1033E000C701B6016B017C0142E0F694E794D794E3\r
+:1033F000C7944A95D1F7C114D104E104F10419F03E\r
+:103400002E5FC701B601DC01CB01B695A795979554\r
+:103410008795892B8A2B8B2B09F02F5F822FFF90AA\r
+:10342000EF90DF90CF9008958091E501843009F10D\r
+:103430001092CD0120E488E190E00FB6F894A895B1\r
+:10344000809360000FBE2093600083B7817F84600B\r
+:1034500083BF83B7816083BF7894889583B78E7F5D\r
+:1034600083BF88E10FB6F8948093600010926000EB\r
+:103470000FBE089508950895CF930E943A1A0E94AE\r
+:1034800023040E943B1AC0E08C2F0E941105811179\r
+:1034900004C0CF5FCE30C1F701C081E0CF91089565\r
+:1034A0000E94AB130E94350E0C942E0782E084BD5F\r
+:1034B00093E095BD9AEF97BD80936E0008952FB766\r
+:1034C000F8948091CE019091CF01A091D001B0915C\r
+:1034D000D1012FBF0895CF92DF92EF92FF920F9309\r
+:1034E0001F932FB7F8944091CE015091CF01609176\r
+:1034F000D0017091D1012FBF6A017B01EE24FF241E\r
+:103500008C0120E030E0C016D106E206F30610F48C\r
+:10351000415051099A01281B390BC9011F910F9184\r
+:10352000FF90EF90DF90CF9008951F920F920FB60B\r
+:103530000F9211248F939F93AF93BF938091CE01ED\r
+:103540009091CF01A091D001B091D1010196A11D20\r
+:10355000B11D8093CE019093CF01A093D001B09381\r
+:10356000D101BF91AF919F918F910F900FBE0F909E\r
+:103570001F9018950E94320BF8942FEF87EA91E67E\r
+:10358000215080409040E1F700C0000087E090EBC0\r
+:10359000DC018093EE019093EF01A093F001B093D2\r
+:1035A000F1019CE088E10FB6F894A8958093600043\r
+:1035B0000FBE90936000FFCFEF92FF920F931F9387\r
+:1035C000CF93DF93D82FC0E08C2F0E94110500E02D\r
+:1035D00010E0E82EF12CC701002E02C095958795CA\r
+:1035E0000A94E2F780FD06C00F5F1F4F06301105F9\r
+:1035F00091F709C0602F7C2F80E00E94D805D81376\r
+:10360000F3CF81E004C0CF5FCE30F1F680E0DF91F0\r
+:10361000CF911F910F91FF90EF900895CF93C82FF6\r
+:103620008CE20E94DC1A882321F08C2FCF910C941D\r
+:10363000DC1A80E0CF910895CF930E94631C811122\r
+:1036400002C00E94491CC5E6C15049F00E942304F3\r
+:103650008FE39CE90197F1F700C00000F5CF89E204\r
+:103660000E940E1B811113C18AE20E940E1B811160\r
+:103670000E94491C85E00E940E1B81110E94BA1A0B\r
+:103680000E946E1C8093CC0187E00E940E1B882351\r
+:10369000A9F18BE10E940E1B882351F08091CC018F\r
+:1036A00081FB222720F991E0922790FB81F90EC03F\r
+:1036B0008EE00E940E1B882361F08091CC0182FB7A\r
+:1036C000222720F991E0922790FB82F98093CC0188\r
+:1036D00015C080E10E940E1B9091CC01882341F01F\r
+:1036E00093FB222720F981E0822780FB93F904C015\r
+:1036F000892F809580FB90F99093CC018091CC012B\r
+:103700000E94721C0E94801C8093DF0180EE0E9448\r
+:103710000E1B882341F08091DF01982F909590FB3C\r
+:1037200080F98093DF0189E30E940E1B882359F002\r
+:103730008091DF0181FB222720F991E0922790FB05\r
+:1037400081F98093DF0182EE0E940E1B882359F0DD\r
+:103750008091DF0182FB222720F991E0922790FBE4\r
+:1037600082F98093DF0186EE0E940E1B882359F0B8\r
+:103770008091DF0183FB222720F991E0922790FBC3\r
+:1037800083F98093DF0183EE0E940E1B882359F09A\r
+:103790008091DF0184FB222720F991E0922790FBA2\r
+:1037A00084F98093DF0185E30E940E1B882359F082\r
+:1037B0008091DF0185FB222720F991E0922790FB81\r
+:1037C00085F98093DF0181E30E940E1B882359F065\r
+:1037D0008091DF0186FB222720F991E0922790FB60\r
+:1037E00086F98093DF0181E10E940E1B882359F046\r
+:1037F0008091DF0187FB222720F991E0922790FB3F\r
+:1038000087F98093DF018091DF010E94841C809101\r
+:10381000DF0187FB882780F980930D0187E20E94F2\r
+:103820000E1BC82F8EE10E940E1B8111C2608FE11A\r
+:103830000E940E1B8111C46080E20E940E1B811148\r
+:10384000C86081E20E940E1B8111C06182E20E9469\r
+:103850000E1B8111C06283E20E940E1B8111C064A5\r
+:1038600084E20E940E1B882311F0C06802C0CC23A2\r
+:1038700029F08C2F0E947B1C6C2F03C00E94771CA8\r
+:10388000682F70E080E090E0CF910C946717CF91A3\r
+:1038900008956DEE7EEF80E090E00E94AF2260E040\r
+:1038A00082E090E00E94A12260E083E090E00E942C\r
+:1038B000A12260E084E090E00E94A12260E085E027\r
+:1038C00090E00C94A12280E090E00E949B2221E0F5\r
+:1038D0008D3E9E4F09F020E0822F089582E090E017\r
+:1038E0000C949322682F82E090E00C94A12283E054\r
+:1038F00090E00C949322682F83E090E00C94A12236\r
+:1039000084E090E00C949322682F84E090E00C9483\r
+:10391000A1228091D40180FF0BC06091130185E04A\r
+:10392000689FB001112475956795759567952BC0B3\r
+:1039300081FF09C06091130185E0689FB0011124E7\r
+:103940007595679520C082FF07C06091130185E0DF\r
+:10395000689FB001112417C09091D5019923D1F02F\r
+:1039600060911201961788F72091130185E0289F36\r
+:1039700090011124929FA001939F500D112470E09B\r
+:10398000CA010E9465226038710540F46115710515\r
+:1039900039F002C065E070E0862F08958FE7089542\r
+:1039A00081E008958091D40180FF08C060911101E9\r
+:1039B00070E0759567957595679521C081FF06C084\r
+:1039C0006091110170E07595679519C082FF04C080\r
+:1039D0006091110170E010C09091D5019923C1F060\r
+:1039E000609110019617A0F780911101899FC00185\r
+:1039F000112470E00E9465226038710528F4611579\r
+:103A0000710521F0862F08958FE7089581E00895CC\r
+:103A100061E070E0F4CF803F21F40E94891C819521\r
+:103A200004C0813F29F40E94891C8093D801089525\r
+:103A3000823F21F40E94891C819504C0833F29F4B0\r
+:103A40000E94891C8093D7010895893F19F40E9430\r
+:103A5000D21C05C08A3F31F40E94D21C819580930C\r
+:103A6000D90108958B3F21F40E94D21C819504C096\r
+:103A70008C3F29F40E94D21C8093DA010895843F80\r
+:103A800021F48091D601816017C0853F21F4809197\r
+:103A9000D601826011C0863F21F48091D6018460F6\r
+:103AA0000BC0873F21F48091D601886005C0883F14\r
+:103AB00031F48091D60180618093D60108958D3FC5\r
+:103AC00021F48091D40181600BC08E3F21F480915C\r
+:103AD000D401826005C08F3F29F48091D4018460B5\r
+:103AE0008093D4010895803F39F48091D80187FFF5\r
+:103AF0006CC01092D80169C0813F29F48091D8012F\r
+:103B00001816BCF362C09091D701823F29F497FF49\r
+:103B10005CC01092D70159C0833F19F41916CCF339\r
+:103B200054C0893F41F48091D90118160CF04DC062\r
+:103B30001092D9014AC08A3F29F48091D90187FFA8\r
+:103B400044C0F6CF8B3F39F48091DA0187FF3DC046\r
+:103B50001092DA013AC08C3F29F48091DA011816EC\r
+:103B6000BCF333C0843F21F48091D6018E7F17C00F\r
+:103B7000853F21F48091D6018D7F11C0863F21F4CD\r
+:103B80008091D6018B7F0BC0873F21F48091D601B5\r
+:103B9000877F05C0883F31F48091D6018F7E809366\r
+:103BA000D60113C08D3F21F48091D4018E7F0BC0CC\r
+:103BB0008E3F21F48091D4018D7F05C08F3F29F481\r
+:103BC0008091D4018B7F8093D4018091D7018111A2\r
+:103BD0000EC08091D80181110AC08091D901811154\r
+:103BE00006C08091DA01811102C01092D5010895BA\r
+:103BF00086ED91E00E944C0E0E945F1A9093D301D3\r
+:103C00008093D20108951F93CF93DF938091D201C7\r
+:103C10009091D3010E946B1AAC019091D501992328\r
+:103C200021F02091140130E006C0209115018AE0B6\r
+:103C3000289F900111244217530708F486C08091F1\r
+:103C4000D701C091D801D091D9011091DA01811129\r
+:103C500007C0C11176C0D11174C0111172C075C0F6\r
+:103C60009F3F19F09F5F9093D501181624F40E948E\r
+:103C7000891C8093D7018091D70187FF05C00E94DE\r
+:103C8000891C81958093D7011C1624F40E94891CFD\r
+:103C90008093D8018091D80187FF05C00E94891CBC\r
+:103CA00081958093D8016091D701662339F1C09145\r
+:103CB000D801CC2319F1772767FD7095872F972FAF\r
+:103CC0000E94762123E333E343E35FE30E94DA219A\r
+:103CD0000E9443216093D7016C2F772767FD709571\r
+:103CE000872F972F0E94762123E333E343E35FE39B\r
+:103CF0000E94DA210E9443216093D8011D1624F40A\r
+:103D00000E94D21C8093D9018091D90187FF05C000\r
+:103D10000E94D21C81958093D901111624F40E942F\r
+:103D2000D21C8093DA018091DA0187FF05C00E94DE\r
+:103D3000D21C81958093DA01DF91CF911F910C9471\r
+:103D4000F81D9F3F09F08ECF96CFDF91CF911F9145\r
+:103D50000895E6EDF1E085E0DF011D928A95E9F72F\r
+:103D60001092D5011092D4010895833081F128F486\r
+:103D7000813059F08230D1F00895853009F449C07E\r
+:103D8000B8F1863009F456C0089580911501262FA8\r
+:103D900030E0280F311D2F3F310524F4680F609368\r
+:103DA000150108958FEF80931501089580911401F6\r
+:103DB000262F30E0280F311D2F3F310524F4680FE6\r
+:103DC0006093140108958FEF8093140108958091FA\r
+:103DD0001301262F30E0280F311D2F3F310524F429\r
+:103DE000680F6093130108958FEF80931301089576\r
+:103DF00080911201262F30E0280F311D2F3F310511\r
+:103E000024F4680F6093120108958FEF80931201DC\r
+:103E1000089580911101262F30E0280F311D2F3F8A\r
+:103E2000310524F4680F6093110108958FEF80939A\r
+:103E30001101089580911001262F30E0280F311DC7\r
+:103E40002F3F310524F4680F6093100108958FEF20\r
+:103E5000809310010895833011F128F4813049F0E6\r
+:103E6000823091F00895853081F120F18630C1F1E2\r
+:103E7000089580911501681720F4861B8093150121\r
+:103E8000089510921501089580911401681720F487\r
+:103E9000861B809314010895109214010895809157\r
+:103EA0001301681720F4861B809313010895109264\r
+:103EB0001301089580911201681720F4861B8093E6\r
+:103EC000120108951092120108958091110168174E\r
+:103ED00020F4861B8093110108951092110108951A\r
+:103EE00080911001681720F4861B809310010895BB\r
+:103EF0001092100108950F931F938D3109F46BC038\r
+:103F000008F03FC08E3009F47DC0C0F4873009F45A\r
+:103F10006EC068F4863009F0AFC08091CC01817F1B\r
+:103F20008E7F8093CC0181E08093DC01A6C0883035\r
+:103F300009F458C08B3009F49BC09EC0863109F447\r
+:103F400097C078F4803109F470C0813109F094C0D1\r
+:103F50000E94AB1390910D0181E0892780930D01A0\r
+:103F600087C0893109F484C08B3109F085C0809104\r
+:103F7000CC0181FB222720F991E0922790FB81F967\r
+:103F80004AC0853309F45BC048F4873209F457C04E\r
+:103F900008F45AC0893209F452C06EC0833438F430\r
+:103FA0008A3308F067C0883309F462C065C083347F\r
+:103FB00009F445C0883409F05FC00E94AB130FEFCD\r
+:103FC00013ED20E3015010402040E1F700C0000055\r
+:103FD0000E94BA1A4DC00E94FD200E94350E0E9418\r
+:103FE0002E0746C00E946E1C0E94801C41C090910A\r
+:103FF000CC01892F817090FF12C0917F9E7F90939A\r
+:10400000CC013BC08091CC0182FB222720F991E0BA\r
+:10401000922790FB82F98093CC01992349F18091FA\r
+:10402000CC0181608093CC0123C08091CC0183FBC3\r
+:10403000222720F991E0922790FB83F9ECCF61E0F1\r
+:1040400070E080E090E010C08D5141E050E060E011\r
+:1040500070E08A019B0104C0000F111F221F331F53\r
+:104060008A95D2F7C901B8010E9467170E94AB1365\r
+:1040700081E003C08953E9CF80E01F910F9108953B\r
+:1040800080E0089580E00895CF93C82F8091DC01EF\r
+:10409000813079F018F08230E9F187C0E0910E01AB\r
+:1040A000F0910F018081813169F0823209F07FC087\r
+:1040B00009C0E0910E01F0910F018081813111F072\r
+:1040C000823261F48C2F0E944020811104C08C2F19\r
+:1040D0000E947B1F1DC081E090E01AC08C2F0E94BF\r
+:1040E0004220811114C0C43179F048F4CB3079F00A\r
+:1040F000C03109F060C082E08093DC0108C0C932A1\r
+:1041000019F0C83321F057C01092DC0154C081E08F\r
+:10411000817053C0C93289F118F5C43171F1A8F426\r
+:10412000C73009F046C08AE08093150194E190936E\r
+:10413000140193E0909313018093120188E080931F\r
+:10414000110188E28093100134C0CE51C63088F549\r
+:10415000EC2FF0E0E65DFE4F80818093DB0129C00B\r
+:10416000CE34E9F020F4CB3421F56AE013C0C13538\r
+:1041700079F0C235F1F461E00DC08091DB01882354\r
+:1041800019F01092DB0115C081E08093DC0115C0AD\r
+:1041900061E006C08091DB010E94B51E0AC06AE0A2\r
+:1041A0008091DB010E942B1F04C01092DC0180E093\r
+:1041B00004C081E002C080E0ABCFCF910895E1E878\r
+:1041C000F0E08081886080838081816080838FB708\r
+:1041D000F89493E09093890090ED909388008FBFBE\r
+:1041E0000895EFE6F0E08081826080830895EFE635\r
+:1041F000F0E080818D7F80830895EFE6F0E090818C\r
+:1042000082E08927808308951F920F920FB60F9244\r
+:1042100011242F933F934F935F936F937F938F93CB\r
+:104220009F93AF93BF93EF93FF938091DD019091A4\r
+:10423000DE0101969093DE018093DD01811103C0C0\r
+:1042400082E00E942E07E091DE01E695E695F0E01F\r
+:10425000E657FB4FE4918091DD018E1303C080E0AF\r
+:104260000E942E07FF91EF91BF91AF919F918F9187\r
+:104270007F916F915F914F913F912F910F900FBE62\r
+:104280000F901F90189504D06894B1118DC00895B7\r
+:1042900070D088F09F5790F0B92F9927B751A0F0B0\r
+:1042A000D1F0660F771F881F991F1AF0BA95C9F7CA\r
+:1042B00012C0B13081F077D0B1E0089574C0672F9B\r
+:1042C000782F8827B85F39F0B93FCCF3869577957A\r
+:1042D0006795B395D9F73EF4909580957095619563\r
+:1042E0007F4F8F4F9F4F0895E89409C097FB3EF48E\r
+:1042F00090958095709561957F4F8F4F9F4F992333\r
+:10430000A9F0F92F96E9BB279395F69587957795B0\r
+:104310006795B795F111F8CFFAF4BB0F11F460FF70\r
+:104320001BC06F5F7F4F8F4F9F4F16C0882311F0C8\r
+:1043300096E911C0772321F09EE8872F762F05C0DC\r
+:10434000662371F096E8862F70E060E02AF09A9577\r
+:10435000660F771F881FDAF7880F9695879597F96C\r
+:10436000089557FD9058440F551F59F05F3F71F065\r
+:104370004795880F97FB991F61F09F3F79F08795CC\r
+:104380000895121613061406551FF2CF4695F1DF55\r
+:1043900008C0161617061806991FF1CF86957105E5\r
+:1043A000610508940895E894BB2766277727CB0119\r
+:1043B00097F908950BD078C069D028F06ED018F026\r
+:1043C000952309F05AC05FC01124EECFCADFA0F3D5\r
+:1043D000959FD1F3950F50E0551F629FF001729F9A\r
+:1043E000BB27F00DB11D639FAA27F00DB11DAA1FB9\r
+:1043F000649F6627B00DA11D661F829F2227B00D06\r
+:10440000A11D621F739FB00DA11D621F839FA00D90\r
+:10441000611D221F749F3327A00D611D231F849FE0\r
+:10442000600D211D822F762F6A2F11249F57504037\r
+:104430008AF0E1F088234AF0EE0FFF1FBB1F661FD2\r
+:10444000771F881F91505040A9F79E3F510570F08B\r
+:1044500014C0AACF5F3FECF3983EDCF386957795C6\r
+:104460006795B795F795E7959F5FC1F7FE2B880F86\r
+:10447000911D9695879597F9089597F99F6780E81C\r
+:1044800070E060E008959FEF80EC089500240A94A6\r
+:104490001616170618060906089500240A9412161F\r
+:1044A0001306140605060895092E0394000C11F452\r
+:1044B000882352F0BB0F40F4BF2B11F460FF04C0FF\r
+:1044C0006F5F7F4F8F4F9F4F089597FB072E16F416\r
+:1044D000009407D077FD09D00E947F2207FC05D009\r
+:1044E0003EF4909581959F4F0895709561957F4F0B\r
+:1044F0000895EE0FFF1F0590F491E02D0994AA1B7B\r
+:10450000BB1B51E107C0AA1FBB1FA617B70710F0BE\r
+:10451000A61BB70B881F991F5A95A9F780959095F0\r
+:10452000BC01CD010895F999FECF92BD81BDF89AE5\r
+:10453000992780B50895A8E1B0E042E050E00C94DE\r
+:10454000B622262FF999FECF1FBA92BD81BD20BD9C\r
+:104550000FB6F894FA9AF99A0FBE019608950E9440\r
+:10456000A122272F0C94A222DC01CB01FC01F99996\r
+:10457000FECF06C0F2BDE1BDF89A319600B40D92AF\r
+:0C45800041505040B8F70895F894FFCF68\r
+:10458C0020023007BE079B07670733070101BA01FA\r
+:10459C0028080A03140A3F4D36394B04FE03C8039E\r
+:1045AC008F0322033B0354036D030102030405062E\r
+:0445BC0007080900E3\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/msc/readme.md b/keyboard/ergodox_ez/keymaps/msc/readme.md
new file mode 100644 (file)
index 0000000..0d14fcb
--- /dev/null
@@ -0,0 +1,32 @@
+# MSC Configuration
+
+### Based mostly on the ErgoDox EZ default layout with optimizations for coding on osx.
+
+#### Expecting the user to rely on Coder Layer this keymap removes some of the duplicate symbol keys in the lower portions of the board and replaces them with arrow keys and modifiers. The Media Layer is also updated to match the change in the arrow keys and the left and right click buttons are moved under the thumb position. The Media layer is now reached with toggle button in the lower right.
+
+### Main Layer
+
+![Main Layer](img/main_layer.png)
+
+### Code Layer
+
+![Code Layer](img/code_layer.png)
+
+### Media Layer
+
+![Media Layer](img/media_layer.png)
+
+## Changelog
+
+Version 1.0
+
+- Changed the temp code layer key in the bottom right to toggle media layer
+- Changed the temp media key to only be ";"
+- Changed right hand bottom row to match vim home row nav directions
+- Changed media keys to match arrow key changes
+- Changed media left and right click to spacebar and backspace locations
+- Changed bottom left to Cmd
+- Changed single quote on left bottom row to alt
+
+#### Coming Soon:
+- A new layer for Blender editing with a focus on left hand shortcut and a righthand num pad to control the view in Blender.
diff --git a/keyboard/ergodox_ez/keymaps/naps62/README.md b/keyboard/ergodox_ez/keymaps/naps62/README.md
new file mode 100644 (file)
index 0000000..14728e4
--- /dev/null
@@ -0,0 +1,29 @@
+# ErgoDox EZ naps62 Configuration
+
+## Motivation
+
+I wanted a layout that suited my Linux & Vim usage. I also didn't like the lack of efficient access to some of the more common special characters used in programming.
+
+## Key features / changes
+
+### Base Layer (L1)
+
+* **No `MT(mod, kc)` keys (modifier when pressed, key when tapped).** Those keys work with a global timeout. When a key press is shorter than the timeout, it's considered a tap, otherwise it's a hold. I couldn't find any particular timeout that would work for me. I need to use mods extremely fast, but also want the confort of using them more slowly in other occasions. So I gave up on this feature altogether.
+* **Direct access to `{}[]`.** When programming, these are used extremely often. I was still getting used to the coder layer, and I prefer the arrows on the home row, so I used the bottom-right keys for this.
+* **Layer keys everywhere.** I either use my little finger or my index finger to go to L1, whichever is more confortable in any given situation. L2 is not used while coding/writing, so I don't need an extremely-optimized access to it.
+* **Lang key.** This is nothing more than `Super-Space` combo, which in my systems (both Linux & Windows) is the shortcut to change the keyboard language. I'm Portuguese, so I often cycle between US layout for coding, and PT layout for writing.
+* **Special chars on the right-most column.** I only use Ctrl & Shift keys on the left side, so I used the right keys to include some of the more useful special characters as well.
+
+### Coder Layer (L2)
+
+* The `=` and `-` signs where nowhere to be found. `-` was already on the base layer, but it's still useful to have a fully-featured NumPad on the coder layer.
+
+### Media Layer (L3)
+
+* **Better media keys**. Why was Play/Pause so far away? And where was Mute? I put all my media keys close to each other, including the missing ones
+* **Arrow keys on home row.** I use vim, so I'm always on my home row. I use this sometimes to get around, but not as often as to need them on the base row. I'm fine with them here
+* I don't use mouse keys. They're still set up, and I made some changes as an experiment, but I mostly forgot they exist by now.
+
+## Author
+
+[Miguel Palhas](https://github.com/naps62)
diff --git a/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex b/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex
new file mode 100644 (file)
index 0000000..e5f213b
--- /dev/null
@@ -0,0 +1,1474 @@
+:100000000C9402070C9449070C9449070C94490777\r
+:100010000C9449070C9449070C9449070C94490720\r
+:100020000C9449070C9449070C9472120C944413D5\r
+:100030000C9449070C9449070C9449070C94490700\r
+:100040000C9449070C94082C0C9449070C9449070C\r
+:100050000C9449070C9401220C9449070C9449070D\r
+:100060000C9449070C9449070C9449070C944907D0\r
+:100070000C9449070C9449070C9449070C944907C0\r
+:100080000C9449070C9449070C9449070C944907B0\r
+:100090000C9449070C9449070C9449070C944907A0\r
+:1000A0000C9449070C9449070C944907B113D313D6\r
+:1000B000C614D313C61418143B14C6149014A314F6\r
+:1000C000F117F1172018201863189D18AA1AAA1AF8\r
+:1000D000B618AA1AAB19AB197E1AAA1AAA1A951A37\r
+:1000E0000000F0A12D002B002971E100C1000000EB\r
+:1000F0001E00140004001D003500E2001F001A005D\r
+:1001000016001B003400E000200008000700060075\r
+:1001100050002C0021001500090019004F82E30057\r
+:10012000220017000A00050000004A812C08015433\r
+:100130000000007F00004D8249000254000000775B\r
+:1001400000004B8223001C000B00110000004E81B8\r
+:10015000240018000D0010002F024C0025000C0098\r
+:100160000E00360030022C00260012000F0037006F\r
+:100170002F002800270013003300380030002A0029\r
+:100180002D00310034712D72C1000000010001000A\r
+:1001900001000100010000003A001E0220022202BC\r
+:1001A000010001003B001F022102230201000100A7\r
+:1001B0003C002F0226022F00010001003D0030020A\r
+:1001C00027023000010001003E00310235003502F7\r
+:1001D000000001000100010000000100000001001A\r
+:1001E0000100010000000100000001003F0052007A\r
+:1001F00051002402000001004000240021001E00E4\r
+:100200002E0001004100250022001F0037000100E0\r
+:1002100042002600230020002700010043002502A1\r
+:100220002E0231002D0001004400450001000100B4\r
+:100230000100000000500100010001000100000069\r
+:1002400001000100040801000100010001001A087A\r
+:10025000160801000100F500010008080708010068\r
+:100260000100F4000100F400F100010001000100B0\r
+:1002700001001708F3000100000001000100010067\r
+:100280000000010000000100010001000000010069\r
+:100290000000010001000100F20001000000010067\r
+:1002A0000100F400F100AA00AE0001000100F50019\r
+:1002B000F000A900AC00B70001000100F300A800A5\r
+:1002C000AB00B600010001000100010001000100C7\r
+:1002D0000100010001000100010000000A002530BA\r
+:1002E000313662003A200025303258000A722F63FE\r
+:1002F0002030313233343536373839414243444582\r
+:10030000460A000A002530325800626F756E636538\r
+:10031000213A20006C6566742073696465206174FD\r
+:100320007461636865640A006C656674207369644F\r
+:1003300065206E6F7420726573706F6E64696E678E\r
+:100340000A00747279696E6720746F207265736534\r
+:1003500074206D637032333031380A000A444542EC\r
+:1003600055473A20656E61626C65642E0A005B73C6\r
+:100370005D004B6579626F617264207374617274A1\r
+:100380002E0A005B575D005B535D005B525D005BB6\r
+:10039000445D005B435D0016034500720067006F1B\r
+:1003A0000044006F007800200045005A000000164D\r
+:1003B000034500720067006F0044006F0078002062\r
+:1003C0000045005A0000000403090409028D0005DD\r
+:1003D0000100A0FA09040000010301010009211134\r
+:1003E000010001223F000705810308000A090401FA\r
+:1003F000000103010200092111010001224D000743\r
+:1004000005820308000A0904020001030000000934\r
+:1004100021110100012236000705830308000A09A3\r
+:100420000403000203000000092111010001222041\r
+:1004300000070584032000010705040320000109CB\r
+:100440000404000103000000092111010001223908\r
+:1004500000070585031000011201100100000008CB\r
+:10046000EDFE071301000102000105010906A101CB\r
+:10047000050719E029E71500250195087501810296\r
+:100480000508190129059505750191029501750366\r
+:100490009101050719002977150025019578750147\r
+:1004A0008102C00631FF0974A1010975150025FFFD\r
+:1004B0009520750881020976150025FF952075089D\r
+:1004C0009102C005010980A101850216010026B72D\r
+:1004D000001A01002AB700751095018100C0050CB3\r
+:1004E0000901A1018503160100269C021A01002AB8\r
+:1004F0009C02751095018100C005010902A1010946\r
+:1005000001A10005091901290515002501950575A9\r
+:100510000181029501750381010501093009311539\r
+:1005200081257F95027508810609381581257F95FB\r
+:100530000175088106050C0A38021581257F950191\r
+:1005400075088106C0C005010906A101050719E06B\r
+:1005500029E71500250195087501810295017508A7\r
+:10056000810105081901290595057501910295017B\r
+:10057000750391010507190029FF150025FF950650\r
+:1005800075088100C00A002530325820006B65795B\r
+:10059000626F6172645F7265706F72743A20000AF4\r
+:1005A0000025303258006B6579626F6172645F7349\r
+:1005B00065745F6C65643A200064656C5F6B657997\r
+:1005C0005F6269743A2063616E27742064656C3AD7\r
+:1005D00020253032580A006164645F6B65795F6280\r
+:1005E00069743A2063616E2774206164643A20253F\r
+:1005F0003032580A00646F6E652E0A00626F6F67B2\r
+:100600006D61676963207363616E3A202E2E2E2020\r
+:1006100000290A002575002F002575005D2800259A\r
+:10062000640020002564002000256400200025646B\r
+:10063000007C0025303258006D6F7573656B6579ED\r
+:10064000205B62746E7C782079207620685D287249\r
+:1006500065702F61636C293A205B006D6B5F776872\r
+:1006600065656C5F74696D655F746F5F6D6178203F\r
+:100670003D2025640A006D6B5F776865656C5F6D72\r
+:1006800061785F7370656564203D2025640A006DA4\r
+:100690006B5F74696D655F746F5F6D6178203D207D\r
+:1006A00025640A006D6B5F6D61785F7370656564CA\r
+:1006B000203D2025640A006D6B5F696E746572765B\r
+:1006C000616C203D2025640A006D6B5F64656C6180\r
+:1006D00079203D2025640A006D6B5F776865656C45\r
+:1006E0005F74696D655F746F5F6D6178203D202573\r
+:1006F000640A006D6B5F776865656C5F6D61785F3C\r
+:100700007370656564203D2025640A006D6B5F741D\r
+:10071000696D655F746F5F6D6178203D2025640AA7\r
+:10072000006D6B5F6D61785F7370656564203D205F\r
+:1007300025640A006D6B5F696E74657276616C206A\r
+:100740003D2025640A006D6B5F64656C6179203D16\r
+:100750002025640A000A00257500363A207768656E\r
+:10076000656C5F74696D655F746F5F6D61783A2069\r
+:10077000000A00257500353A20776865656C5F6D65\r
+:1007800061785F73706565643A20000A0025750022\r
+:10079000343A2074696D655F746F5F6D61783A20DB\r
+:1007A000000A00257500333A206D61785F7370652B\r
+:1007B00065643A20000A00257500323A20696E749B\r
+:1007C000657276616C286D73293A20000A002575E0\r
+:1007D00000313A2064656C6179282A31306D7329C3\r
+:1007E0003A20000A092D2056616C756573202D0A88\r
+:1007F000004D3E004D25643E20003F00736574208F\r
+:1008000064656661756C740A00433E200077686514\r
+:1008100072652064656C74613A20637572736F72DF\r
+:100820003D25642C20776865656C3D25640A536519\r
+:100830006520687474703A2F2F656E2E77696B6926\r
+:1008400070656469612E6F72672F77696B692F4DD0\r
+:100850006F7573655F6B6579730A000A092D204D0A\r
+:100860006F7573656B6579202D0A4553432F713A77\r
+:1008700009717569740A313A0964656C6179282ACD\r
+:1008800031306D73290A323A09696E746572766186\r
+:100890006C286D73290A333A096D61785F7370654E\r
+:1008A00065640A343A0974696D655F746F5F6D61E0\r
+:1008B000780A353A09776865656C5F6D61785F73B2\r
+:1008C000706565640A363A09776865656C5F7469B6\r
+:1008D0006D655F746F5F6D61780A0A703A097072B6\r
+:1008E000696E742076616C7565730A643A09736584\r
+:1008F000742064656661756C74730A75703A092BAF\r
+:10090000310A646F776E3A092D310A706775703A53\r
+:10091000092B31300A7067646F776E3A092D3130D8\r
+:100920000A0A7370656564203D2064656C746120FB\r
+:100930002A206D61785F7370656564202A202872B3\r
+:100940006570656174202F2074696D655F746F5FD9\r
+:100950006D6178290A003F004D3E2000433E200093\r
+:100960004C25640A000A092D20436F6E736F6C6575\r
+:10097000202D0A4553432F713A09717569740A6D28\r
+:100980003A096D6F7573656B65790A000A092D2048\r
+:100990004D61676963202D0A643A09646562756771\r
+:1009A0000A783A096465627567206D6174726978C6\r
+:1009B0000A6B3A096465627567206B6579626F61DD\r
+:1009C00072640A6D3A096465627567206D6F7573AC\r
+:1009D000650A763A0976657273696F6E0A733A0929\r
+:1009E0007374617475730A633A09636F6E736F6C25\r
+:1009F00065206D6F64650A302D343A096C61796544\r
+:100A000072302D34284631302D4634290A50617514\r
+:100A1000733A09626F6F746C6F616465720A653A4C\r
+:100A200009656570726F6D0A6E3A094E4B524F0A36\r
+:100A30007A3A09736C656570204C4544207465737F\r
+:100A4000740A000A002575002E6E6B726F3A200042\r
+:100A50000A002575002E737761705F6261636B73A6\r
+:100A60006C6173685F6261636B73706163653A2088\r
+:100A7000000A002575002E737761705F67726176DA\r
+:100A8000655F6573633A20000A002575002E6E6F5E\r
+:100A90005F6775693A20000A002575002E7377613B\r
+:100AA000705F72616C745F726775693A20000A004A\r
+:100AB0002575002E737761705F6C616C745F6C6775\r
+:100AC00075693A20000A002575002E636170736C09\r
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD\r
+:100AE000000A002575002E737761705F636F6E7466\r
+:100AF000726F6C5F636170736C6F636B3A20000A96\r
+:100B00000025303258006B65796D61705F636F6EE0\r
+:100B10006669672E7261773A20000A002575002EFB\r
+:100B20006D6F7573653A20000A002575002E6B65A0\r
+:100B300079626F6172643A20000A002575002E6D9B\r
+:100B400061747269783A20000A002575002E656E7E\r
+:100B500061626C653A20000A0025303258006465F5\r
+:100B60006275675F636F6E6669672E7261773A20A0\r
+:100B7000000A0025750064656661756C745F6C61C0\r
+:100B80007965723A20003F004E4B524F3A206F6613\r
+:100B9000660A004E4B524F3A206F6E0A0074696D20\r
+:100BA00065725F636F756E743A202530346C580A35\r
+:100BB000006B6579626F6172645F6E6B726F3A2071\r
+:100BC00025580A006B6579626F6172645F69646CB5\r
+:100BD000653A2025580A006B6579626F6172645F1F\r
+:100BE00070726F746F636F6C3A2025580A00686FDB\r
+:100BF00073745F6B6579626F6172645F6C65647357\r
+:100C000028293A2025580A000A092D2053746174B6\r
+:100C10007573202D0A004743433A20352E332E307A\r
+:100C2000204156522D4C4942433A20312E382E3124\r
+:100C300073766E204156525F415243483A206176A6\r
+:100C400072350A004F5054494F4E533A204C554686\r
+:100C50004120424F4F544D41474943204D4F55533A\r
+:100C6000454B45592045585452414B455920434F17\r
+:100C70004E534F4C4520434F4D4D414E44204E4B1B\r
+:100C8000524F203531320A004255494C443A203601\r
+:100C9000386366663764202832323A33323A303568\r
+:100CA000204A616E2033302032303136290A005616\r
+:100CB00049443A20307846454544284572676F4498\r
+:100CC0006F7820455A29205049443A2030783133F2\r
+:100CD0003037284572676F446F7820455A2920566F\r
+:100CE00045523A203078303030310A004445534381\r
+:100CF0003A20742E6D2E6B2E206B6579626F6172B7\r
+:100D000064206669726D7761726520666F72204536\r
+:100D100072676F646F780A000A092D205665727336\r
+:100D2000696F6E202D0A000A6D6F7573653A206F2A\r
+:100D300066660A000A6D6F7573653A206F6E0A0069\r
+:100D40000A6B6579626F6172643A206F66660A00A9\r
+:100D50000A6B6579626F6172643A206F6E0A000AED\r
+:100D60006D61747269783A206F66660A000A6D6177\r
+:100D7000747269783A206F6E0A000A64656275675A\r
+:100D80003A206F6E0A000A64656275673A206F66E2\r
+:100D9000660A000A0A626F6F746C6F616465722E76\r
+:100DA0002E2E2000433E20006565636F6E666967E6\r
+:100DB0003A0A00536C656570204C45442074657395\r
+:100DC000740A0000000000000000000000000102A2\r
+:100DD00004060A0F17202C3A4A5D71879DB3C7DAC3\r
+:100DE000E9F5FCFFFCF5E9DAC7B39D87715D4A3A86\r
+:100DF0002C20170F0A06040201000000000000006A\r
+:100E00000000000011241FBECFEFDAE0DEBFCDBF2F\r
+:100E100004B603FE27C08091F8019091F901A091DA\r
+:100E2000FA01B091FB018730904BA740B04BD1F451\r
+:100E30001092F8011092F9011092FA011092FB0140\r
+:100E400014BE84B7877F84BF0FB6F894A8958091AD\r
+:100E50006000886180936000109260000FBEE0E047\r
+:100E6000FFE3099511E0A0E0B1E0EAECFBE502C088\r
+:100E700005900D92AA33B107D9F721E0AAE3B1E0BA\r
+:100E800001C01D92A83FB207E1F70E94AD0F0C947C\r
+:100E9000E32D0C940000FF93EF93E0913A01F09161\r
+:100EA0003B01309709F00995EF91FF910895FC01FE\r
+:100EB0008591803011F0EFDFFBCF0895FF27E0E24E\r
+:100EC00030E247FF0CC0419597FF09C0EDE2609505\r
+:100ED000709580959095611D711D811D911D27FF55\r
+:100EE00002C0219530E350E2AA27660F771F881FC2\r
+:100EF000991FAA1FA41710F0A41B63955A95A9F770\r
+:100F0000AA3008F0A95FA05DAF93F3956115710554\r
+:100F10008105910541F7ED3211F4EF93F395F21746\r
+:100F200018F43F93F395FBCF8F91B5DFFA95E1F776\r
+:100F30000895E991F9918591803021F0853219F079\r
+:100F4000AADFF9CF089520E0E89455915532C1F316\r
+:100F5000503311F4689455915A3348F4505390F338\r
+:100F6000220F022E220F220F200D250FF4CF0EF498\r
+:100F7000219589919991533619F3533729F15335B6\r
+:100F800059F1BC0188279927E8945C3621F48991AE\r
+:100F9000999168945591543639F446EF7EF077FF75\r
+:100FA0000DC08FEF9FEF0AC055374AE039F0583532\r
+:100FB00040E121F0523642E009F00895FF93EF93AB\r
+:100FC0007DDFEF91FF91B7CFFF93EF93FC0181910C\r
+:100FD0008030B9F360DFFBCFFF93EF9368DFF1CF91\r
+:100FE000DF93CF93CDB7DEB72596A3DFCF91DF9107\r
+:100FF000089561110BC0FC018281882321F085EEE8\r
+:101000000E948B1603C085EE0E94531780E090E08B\r
+:10101000089508956091BC017091BD018091BE0159\r
+:101020009091BF010E94022156985E9825982D98B4\r
+:1010300026982E9827982F98813019F0823021F029\r
+:101040000895259A2D9A0895269A2E9A08958AE051\r
+:1010500098E0892B11F00E940A0880E090E0089542\r
+:1010600056985E9825982D9826982E9827982F9810\r
+:101070008FEF90E0909389008093880090938B008D\r
+:1010800080938A0090938D0080938C00259A2D9AEE\r
+:101090002FEF80E792E0215080409040E1F700C0C0\r
+:1010A0000000269A2E9A2FEF80E792E02150804090\r
+:1010B0009040E1F700C00000279A2F9A2FEF80E7B9\r
+:1010C00092E0215080409040E1F700C00000259858\r
+:1010D0002D982FEF80E792E0215080409040E1F77B\r
+:1010E00000C0000026982E982FEF80E792E0215054\r
+:1010F00080409040E1F700C0000027982F98569854\r
+:101100005E9825982D9826982E9827982F980895C0\r
+:1011100089EA8093800089E08093810024982C984C\r
+:101120003F988AB18F748AB96E98479A8BB1806B59\r
+:101130008BB9769A0E94300889E098E0892B11F0EB\r
+:101140000E94090880E090E0089580E28093000109\r
+:1011500080913C0181110EC00E94F40881E08093CF\r
+:101160003C012FEF83ED90E3215080409040E1F768\r
+:1011700000C0000080E40E94FA0880930001811101\r
+:101180002EC00E94240980930001811128C00E9472\r
+:10119000240980930001811122C08FE30E94240959\r
+:1011A0008093000181111BC00E941C0980E40E94F1\r
+:1011B000FA0880930001811112C08CE00E9424097A\r
+:1011C0008093000181110BC00E94240980930001CB\r
+:1011D000811105C08FE30E942409809300010E94C1\r
+:1011E0001C098091000108951092B9008AE0809353\r
+:1011F000B800089594EA9093BC009091BC0097FFCA\r
+:10120000FCCF9091B900987F983021F0903111F087\r
+:1012100081E008958093BB0084E88093BC008091B6\r
+:10122000BC0087FFFCCF8091B900887F883111F026\r
+:10123000803471F780E0089584E98093BC00809148\r
+:10124000BC0084FDFCCF08958093BB0084E88093AC\r
+:10125000BC008091BC0087FFFCCF9091B900987FC3\r
+:1012600081E0983209F480E0089584E88093BC001E\r
+:101270008091BC0087FFFCCF8091BB0008958091D6\r
+:101280000001811115C080E40E94FA0880930001DA\r
+:1012900081110CC082E10E94240980930001811118\r
+:1012A00005C08FEF0E942409809300010E941C0951\r
+:1012B00084B1807F84B985B1807F85B98AB1837F0D\r
+:1012C0008AB98BB1837F8BB93E98469808950E9466\r
+:1012D000A508809300010E943F0980B38C7080BBF9\r
+:1012E00081B3836F81BBECE4F1E0AEE3B1E0119236\r
+:1012F0001D9281E0EA35F807D1F788E898E0892B5C\r
+:1013000011F00C94880808957F928F929F92AF926B\r
+:10131000BF92CF92DF92EF92FF920F931F93CF93E2\r
+:10132000DF93809100018823E1F080913D018F5F80\r
+:1013300080933D01811115C082E493E00E9457071C\r
+:101340000E94A50880930001882329F088E293E099\r
+:101350000E94570706C084E193E00E9457070E944D\r
+:1013600030088EE3E82E81E0F82E8701C0E0D0E05F\r
+:101370009924939492E0892EAA24A394B12C35E069\r
+:10138000C32E33E0D32EC730D10500F58091000184\r
+:10139000811164C080E40E94FA08809300018111E9\r
+:1013A00012C082E10E9424098093000181110BC0C8\r
+:1013B000C5010C2E01C0880F0A94EAF780950E949F\r
+:1013C0002409809300010E941C0948C0CA30A1F082\r
+:1013D00028F4C83059F0C93061F005C0CC3089F02C\r
+:1013E00070F0CD3089F0209A289810C0219A299861\r
+:1013F0000DC0229A2A980AC0239A2B9807C0529AA5\r
+:1014000001C0539A5B9802C03E9A4698E0EAEA957A\r
+:10141000F1F78FB181708925799902C032E001C05E\r
+:1014200030E0832B7C9902C034E001C030E0832B94\r
+:101430007D9902C028E001C020E0822B7E9902C085\r
+:1014400090E101C090E0892B9FB19095991F992759\r
+:10145000991F9295990F907E892B10C08091000161\r
+:10146000811175C080E40E94FA08809300018823EE\r
+:1014700009F45AC0712C0E941C09872DD8019C9137\r
+:10148000981739F18C9380910101882301F18091A3\r
+:10149000D70180FF04C08AE093E00E945707809143\r
+:1014A000D70180FF0CC0809101011F928F93DF92C2\r
+:1014B000CF920E94F0070F900F900F900F908091A5\r
+:1014C000D70180FF04C083E093E00E945707809219\r
+:1014D00001010E943F0921960F5F1F4FCE30D105B9\r
+:1014E00009F051CF809101018823B9F08150809398\r
+:1014F0000101882339F0EFE9FFE03197F1F700C0EF\r
+:1015000000000BC0ECE4F1E0D7018D917D018193E7\r
+:10151000BCE4EB16B1E0FB06B9F787E298E0892B53\r
+:10152000C1F00E94270815C083E10E94240980931E\r
+:10153000000181119FCF81E40E94FA08809300018D\r
+:10154000811198CF0E943509782E709494CF80E055\r
+:1015500095CF81E0DF91CF911F910F91FF90EF9098\r
+:10156000DF90CF90BF90AF909F908F907F90089525\r
+:10157000E82FF0E0E45BFE4F80810895CF92DF9288\r
+:10158000EF92FF920F931F93CF93DF938CEE92E035\r
+:101590000E9457078CE4E82E81E0F82EC0E0D0E0EE\r
+:1015A00097EEC92E92E0D92E0EED12E0DF93CF9385\r
+:1015B000DF92CF920E94F00784EE92E00E945707DC\r
+:1015C000F70181917F0190E00E9464219F938F93A6\r
+:1015D0001F930F930E94F0078CED92E00E94570733\r
+:1015E00021968DB79EB708960FB6F8949EBF0FBE92\r
+:1015F0008DBFCE30D105D1F6DF91CF911F910F91E4\r
+:10160000FF90EF90DF90CF9008958B3B910580F491\r
+:10161000883A910548F5853A9105D8F484309105CA\r
+:1016200008F0B2C0019709F06EC081E090E0089523\r
+:10163000803E910508F467C0883E910508F4A4C077\r
+:101640009C01205F31092031310508F05CC09065B4\r
+:101650000895853A910509F459C0863A910509F033\r
+:1016600058C082E890E40895883A910509F454C07E\r
+:10167000893A910509F453C08A3A910509F452C098\r
+:101680008B3A910509F451C08C3A910509F450C088\r
+:101690008D3A910509F44FC0803B910509F44EC085\r
+:1016A0008E3A910509F44DC08F3A910509F44CC06A\r
+:1016B000813B910509F44BC0823B910509F44AC076\r
+:1016C000833B910509F449C0843B910509F448C066\r
+:1016D000853B910509F447C0863B910509F446C056\r
+:1016E000873B910509F445C0883B910509F444C046\r
+:1016F000893B910509F443C08A3B910509F442C036\r
+:1017000080E094E4089580E090E0089581E890E41A\r
+:10171000089583E890E4089582EE94E4089589EEB4\r
+:1017200094E408958AEE94E4089585EB94E4089592\r
+:1017300086EB94E4089587EB94E408958CEC94E4AC\r
+:1017400008958DEC94E4089583E895E408958AE87B\r
+:1017500095E4089582E995E4089584E995E408956F\r
+:1017600081E296E4089583E296E4089584E296E4A3\r
+:10177000089585E296E4089586E296E4089587E266\r
+:1017800096E408958AE296E40895089524E5829FF8\r
+:10179000C0011124FC0126E0729FE00DF11D11240F\r
+:1017A000E60FF11DEE0FFF1FEC51FF4F8591949155\r
+:1017B0000895880F991FFC01E05AF040859194919B\r
+:1017C0000895880F991FFC01E052FF4F8591949175\r
+:1017D000089524E5829FC0011124FC0146E0749F16\r
+:1017E000E00DF11D1124E60FF11DEE0FFF1FEC516E\r
+:1017F000FF4F859194919C013A9521154FE1340753\r
+:1018000008F429C13F512115304120F49F700E94F6\r
+:10181000E10B08959C0130532115304118F49927AC\r
+:10182000906C0895811520E5920769F40E94CC1A06\r
+:101830004FEF84E39CE0415080409040E1F700C0CE\r
+:1018400000000C942622813020E5920751F48CE5AB\r
+:1018500093E00E9457078091D70181608093D70160\r
+:1018600008959C0130552115304108F05CC0292FA6\r
+:1018700033272F70332721303105E9F4AC0164E0C0\r
+:10188000440F551F6A95E1F744275370BC016370FC\r
+:10189000772702C0220F331F6A95E2F73C68242B9A\r
+:1018A000352B73E0880F991F7A95E1F78076992799\r
+:1018B000822B932B08952230310529F4982F882705\r
+:1018C000816F906A089523303105A1F4AC0133E0B3\r
+:1018D000440F551F3A95E1F7407E57708370992762\r
+:1018E00021E030E002C0220F331F8A95E2F7C901E0\r
+:1018F0009C6816C02430310531F5AC0123E0440F5B\r
+:10190000551F2A95E1F7407E57708370992721E093\r
+:1019100030E002C0220F331F8A95E2F7C9019A68AE\r
+:10192000842B952B08959C0130572115304118F4D4\r
+:101930009F70906208959C0130582115304118F431\r
+:101940009F70906A0895803E9105E0F4803C910577\r
+:1019500058F58133910509F46FC048F48932910537\r
+:1019600009F463C08A32910509F46DC072C08933ED\r
+:101970009105E9F082389105D1F08533910509F49C\r
+:101980004DC067C0833E910581F138F4803E9105DA\r
+:10199000B9F0823E9105D9F05CC0863E910561F1B7\r
+:1019A000873E9105A1F155C00E94D90B0895209161\r
+:1019B000E90120FD02C021FF4CC080EE90E049C04B\r
+:1019C0008091E90180FFF9CF89E390E042C08091E6\r
+:1019D000E90182FF0EC08091E90184FF03C080E02D\r
+:1019E00090E037C083EE90E034C08091E90182FF3F\r
+:1019F000F2CF82EE90E02DC08091E90183FF0BC011\r
+:101A00008091E90184FDEBCF87EE90E022C08091C8\r
+:101A1000E90183FFF5CF86EE90E01BC08091E901DC\r
+:101A200085FF07C089E290E014C08091E90185FF3D\r
+:101A3000F9CF85E390E00DC08091E90186FF07C0F2\r
+:101A40008AE290E006C08091E90186FFF9CF81E348\r
+:101A500090E00E94050B0895089580916D0108950E\r
+:101A60009FB7F89410925C019FBF9091EF01943062\r
+:101A700009F057C09091E9009F703091EC00232F3E\r
+:101A8000217030FD20E8922B24E02093E900209182\r
+:101A9000EB0020FF43C02091EE0027FF3FC02091C4\r
+:101AA0005A01222321F02091E80025FF37C010922F\r
+:101AB0005A0126E03091E80035FD15C03091EF0164\r
+:101AC000343061F53091EB0035FD28C0215021F410\r
+:101AD00081E080935A0122C0EFE9FFE03197F1F7EE\r
+:101AE00000C00000E7CF8093F1008091E80085FD01\r
+:101AF0000AC08091E80080FFFCCF8091E8008E77DB\r
+:101B00008093E80006C08FB7F89421E020935C0131\r
+:101B10008FBF9F709093E90080E008959F7090932D\r
+:101B2000E9008FEF0895CF93DF9300D01F92CDB7D8\r
+:101B3000DEB79C018091EF01843019F593E0998321\r
+:101B40003B832A839093E9008FEF9091E8008150C6\r
+:101B500095FD06C095ED9A95F1F700008111F5CF3E\r
+:101B60008091E80085FF0DC040E050E063E070E048\r
+:101B7000CE0101960E9466108091E8008E778093D6\r
+:101B8000E8000F900F900F90DF91CF910895CF93C1\r
+:101B9000DF9300D01F92CDB7DEB72091EF01243044\r
+:101BA00021F522E029839B838A8383E08093E900E7\r
+:101BB0008FEF9091E800815095FD06C095ED9A95C4\r
+:101BC000F1F700008111F5CF8091E80085FF0DC08D\r
+:101BD00040E050E063E070E0CE0101960E946610A4\r
+:101BE0008091E8008E778093E8000F900F900F901F\r
+:101BF000DF91CF9108959C018091EF018430F9F439\r
+:101C000082E08093E9009FEF8091E800915085FD8C\r
+:101C100006C085ED8A95F1F700009111F5CF80910E\r
+:101C2000E80085FF0CC040E050E065E070E0C901CD\r
+:101C30000E9466108091E8008E778093E8000895F6\r
+:101C4000CF93DF93EC018091EF01843009F047C01E\r
+:101C500080910C018823E1F080910D018823C1F06F\r
+:101C600085E08093E9008FEF9091E800815095FD29\r
+:101C700006C095E19A95F1F700008111F5CF8091AA\r
+:101C8000E80085FF2CC040E050E060E170E017C044\r
+:101C900081E08093E9008FEF9091E800815095FDFD\r
+:101CA00006C095ED9A95F1F700008111F5CF80916E\r
+:101CB000E80085FF14C040E050E068E070E0CE012D\r
+:101CC0000E9466108091E8008E778093E80080E1A2\r
+:101CD000FE01ADE5B1E001900D928A95E1F7DF914B\r
+:101CE000CF91089583E993E00E9457078091EE0118\r
+:101CF000811109C00E94F7110E9454128091E200E4\r
+:101D000084608093E20008958FE893E00E94570773\r
+:101D10001092EE0108958BE893E00C94570787E842\r
+:101D200093E00E9457070C94F52B83E893E00E9400\r
+:101D300057070E94BC210E94FB2B0E94FE140C94AA\r
+:101D40002C0D20915B012F5F822F62E30E94782D82\r
+:101D5000992319F020935B01089510925B01809103\r
+:101D60005C01882371F18091EF01843041F580910D\r
+:101D7000E9008F702091EC00922F917020FD90E887\r
+:101D8000892B94E09093E9009091EB0090FF14C0B0\r
+:101D90009091EE0097FF10C09091E80095FF03C06E\r
+:101DA0001092F100F9CF9091E80090FF05C090915A\r
+:101DB000E8009E779093E8008F708093E90010927E\r
+:101DC0005C01089542E061EC81E00E94701142E004\r
+:101DD00061EC82E00E94701142E061EC83E00E94BD\r
+:101DE000701142E261EC84E00E94701142E161EC0A\r
+:101DF00085E00C9470118091F101833009F455C095\r
+:101E000030F4813071F0823009F48EC008958A3048\r
+:101E100009F47AC08B3009F460C0893009F09CC0A5\r
+:101E200020C08091F001813A09F096C08091E800CD\r
+:101E3000877F8093E8008091F4019091F501892BD0\r
+:101E400021F460E18DE591E003C060E080E090E086\r
+:101E500070E00E94B1108091E8008B778093E800D9\r
+:101E600008958091F001813209F076C08091F401EB\r
+:101E70009091F501009719F0049709F06DC08091D9\r
+:101E8000E800877F8093E8008091E80082FD05C02C\r
+:101E90008091EF018111F8CF5FC08091F1008093B4\r
+:101EA0006D018091E8008B7753C08091F001813AF9\r
+:101EB00009F052C08091F4019091F501892B09F04D\r
+:101EC0004BC08091E800877F8093E8008091E80014\r
+:101ED00080FFFCCF80910C0136C08091F0018132EF\r
+:101EE000D9F58091F4019091F501892BA9F58091A4\r
+:101EF000E800877F8093E8000E94A5118091F2019D\r
+:101F000080930C010C94CC1A8091F001813221F560\r
+:101F10008091E800877F8093E8000E94A51180915E\r
+:101F2000F30180936E0108958091F001813AA1F44C\r
+:101F30008091E800877F8093E8008091E80080FF2F\r
+:101F4000FCCF80916E018093F1008091E8008E7744\r
+:101F50008093E8000C94A511089584B7877F84BF0F\r
+:101F60000FB6F894A8958091600088618093600016\r
+:101F7000109260000FBE90E080E80FB6F894809356\r
+:101F80006100909361000FBE0E948A150E94F711B4\r
+:101F90000E9454128091E20084608093E20080E30A\r
+:101FA0009DE00E94FD2078940E94DE140E948C1512\r
+:101FB00082E091E00E94F9140E94E32B82E793E013\r
+:101FC0000E9457078091EF01853089F48EE693E0F7\r
+:101FD0000E9457070E947E218091ED01882391F392\r
+:101FE0000E94A821882371F30E945010EBCF0E9419\r
+:101FF000BA15E8CF292F332723303105C9F060F413\r
+:102000002130310581F02230310509F041C08DE8E1\r
+:1020100090E02BEC33E040C021323105E1F0223278\r
+:10202000310531F135C082E190E028E534E034C07B\r
+:1020300099278130910549F028F0029749F5E7E9A1\r
+:10204000F3E005C0E7ECF3E002C0EFEAF3E08491CF\r
+:1020500090E09F0121C06530D8F4E62FF0E0EE0F4C\r
+:10206000FF1FEB5DFE4F2081318189E090E014C0BD\r
+:10207000653070F470E0FB01EE0FFF1FE55EFE4F70\r
+:1020800020813181FB01EA5EFE4F808190E004C037\r
+:1020900080E090E020E030E0FA0131832083089571\r
+:1020A00080E189BD82E189BD09B400FEFDCF809148\r
+:1020B000D8008F7D8093D8008091E000826080936B\r
+:1020C000E0008091E00081FDFCCF0895CF92DF9287\r
+:1020D000EF92FF920F931F93CF93DF93EC018B014D\r
+:1020E0006A010E94C411811133C0C114D10439F0B6\r
+:1020F000F60180819181081B190BC80FD91FE12CB3\r
+:10210000F12C0115110519F18091E80085FD16C02B\r
+:102110008091E8008E778093E800C114D10449F0E3\r
+:10212000F60180819181E80EF91EF182E08285E05E\r
+:102130000FC00E94C411882321F30AC089918093A3\r
+:10214000F10001501109FFEFEF1AFF0ADACF80E02A\r
+:10215000DF91CF911F910F91FF90EF90DF90CF9083\r
+:1021600008952091F6013091F7012617370748F0BE\r
+:102170006115710539F42091E8002E772093E8006D\r
+:1021800001C0B901FC0120E06115710579F1809170\r
+:10219000EF018823F1F18530F1F18091E80083FDB2\r
+:1021A0003CC08091E80082FD2EC08091E80080FF55\r
+:1021B000EBCF2091F3008091F20090E0922B61151B\r
+:1021C000710551F08830910538F421912093F10088\r
+:1021D000615071090196F3CF21E0089709F020E0E2\r
+:1021E0008091E8008E778093E800CECF2111CFCF89\r
+:1021F0000AC08091EF01882361F0853061F0809101\r
+:10220000E80083FD0AC08091E80082FFF2CF80E001\r
+:10221000089582E0089583E0089581E00895209173\r
+:10222000F6013091F7012617370748F0611571055F\r
+:1022300039F42091E8002E772093E80001C0B9011D\r
+:10224000FC0120E06115710591F18091EF01882377\r
+:1022500009F440C0853009F43FC08091E80083FD57\r
+:102260003DC08091E80082FD2FC08091E80080FF92\r
+:10227000E9CF2091F3008091F20090E0922B61155C\r
+:10228000710559F08830910540F424912093F100B4\r
+:102290003196615071090196F2CF21E0089709F05B\r
+:1022A00020E08091E8008E778093E800CBCF211169\r
+:1022B000CCCF0AC08091EF01882361F0853061F0B6\r
+:1022C0008091E80083FD0AC08091E80082FFF2CF90\r
+:1022D00080E0089582E0089583E0089581E0089504\r
+:1022E000982F973068F59093E900981739F070911E\r
+:1022F000EC002091ED005091F00003C0242F762FC8\r
+:1023000050E021FD02C09F5FECCF3091EB003E7F9B\r
+:102310003093EB003091ED003D7F3093ED00309134\r
+:10232000EB0031603093EB007093EC002093ED00F4\r
+:102330005093F0002091EE0027FDE5CF80E0089556\r
+:102340008F708093E90081E008958091F00187FF0C\r
+:1023500011C08091E80082FD05C08091EF018111DC\r
+:10236000F8CF11C08091E8008B770BC08091EF010E\r
+:10237000882349F08091E80080FFF8CF8091E80041\r
+:102380008E778093E80008952091E4003091E50075\r
+:1023900095E64091EC00842F817040FF23C080912E\r
+:1023A000E80080FD1DC08091EF01882399F0853001\r
+:1023B00099F08091EB0085FD11C04091E4005091AF\r
+:1023C000E5002417350729F3915011F09A01E1CF68\r
+:1023D00084E0089582E0089583E0089581E00895FF\r
+:1023E00080E008954091E80042FFDDCF08950E940B\r
+:1023F00065120E946D12E0EEF0E0808181608083C2\r
+:10240000E8EDF0E080818F77808319BCA7EDB0E024\r
+:102410008C918E7F8C9380818F7E80831092EE01D1\r
+:1024200008950F931F93CF93DF930E9465120E942C\r
+:102430006D12C8EDD0E088818F77888388818068AD\r
+:10244000888388818F7D888319BC1092EF01109258\r
+:10245000EB011092ED011092EC0100EE10E0F8019A\r
+:1024600080818B7F808388818160888342E060E007\r
+:1024700080E00E947011E1EEF0E080818E7F808329\r
+:10248000E2EEF0E0808181608083808188608083DB\r
+:10249000F80180818E7F8083888180618883DF91CD\r
+:1024A000CF911F910F910895E8EDF0E080818F7E2C\r
+:1024B0008083E7EDF0E080818160808384E082BFEB\r
+:1024C00081E08093EE010C941112E8EDF0E0808140\r
+:1024D0008E7F80831092E20008951092DA001092AD\r
+:1024E000E10008951F920F920FB60F9211242F93BF\r
+:1024F0003F934F935F936F937F938F939F93AF938C\r
+:10250000BF93EF93FF938091E10082FF0BC0809116\r
+:10251000E20082FF07C08091E1008B7F8093E100A1\r
+:102520000E94A10E8091DA0080FF1FC08091D80028\r
+:1025300080FF1BC08091DA008E7F8093DA0080914B\r
+:10254000D90080FF0DC080E189BD82E189BD09B459\r
+:1025500000FEFDCF81E08093EF010E94720E05C066\r
+:1025600019BC1092EF010E94840E8091E10080FF5F\r
+:1025700019C08091E20080FF15C08091E2008E7F3B\r
+:102580008093E2008091E20080618093E20080917C\r
+:10259000D80080628093D80019BC85E08093EF0159\r
+:1025A0000E948F0E8091E10084FF30C08091E20094\r
+:1025B00084FF2CC080E189BD82E189BD09B400FEA1\r
+:1025C000FDCF8091D8008F7D8093D8008091E1006D\r
+:1025D0008F7E8093E1008091E2008F7E8093E20005\r
+:1025E0008091E20081608093E2008091EB0188237A\r
+:1025F00011F084E007C08091E30087FD02C081E014\r
+:1026000001C083E08093EF010E94950E8091E1006C\r
+:1026100083FF29C08091E20083FF25C08091E10003\r
+:10262000877F8093E10082E08093EF011092EB01BD\r
+:102630008091E1008E7F8093E1008091E2008E7FA7\r
+:102640008093E2008091E20080618093E20042E0AA\r
+:1026500060E080E00E9470118091F00088608093BB\r
+:10266000F0000E948B0EFF91EF91BF91AF919F916F\r
+:102670008F917F916F915F914F913F912F910F902B\r
+:102680000FBE0F901F9018951F920F920FB60F92CA\r
+:1026900011242F933F934F935F936F937F938F9367\r
+:1026A0009F93AF93BF93CF93DF93EF93FF93C0912B\r
+:1026B000E900CF708091EC00D82FD17080FDD0E878\r
+:1026C0001092E9008091F000877F8093F000789469\r
+:1026D0000E9488131092E9008091F0008860809336\r
+:1026E000F000CD2BCF70C093E900FF91EF91DF9107\r
+:1026F000CF91BF91AF919F918F917F916F915F919A\r
+:102700004F913F912F910F900FBE0F901F901895F2\r
+:102710001F93CF93DF93CDB7DEB7AA970FB6F89488\r
+:10272000DEBF0FBECDBFE0EFF1E08091F1008193FD\r
+:1027300021E0E83FF207C9F70E94FB0E8091E80014\r
+:1027400083FF24C18091F0019091F101492F50E065\r
+:102750004A30510508F01AC1FA01EA5AFF4F0C94A9\r
+:10276000982D803881F0823809F010C18091F401F1\r
+:102770008F708093E9008091EB0085FB882780F9BA\r
+:102780001092E90006C08091EC019091ED01911149\r
+:1027900082609091E800977F9093E8008093F10029\r
+:1027A0001092F100C8C0282F2D7F09F0EFC08823B8\r
+:1027B00019F0823061F0EAC08091F201813009F0B5\r
+:1027C000E5C0933009F080E08093ED012BC080914B\r
+:1027D000F201811127C08091F4018F7009F4D6C0F5\r
+:1027E0008093E9002091EB0020FF1CC0933021F47E\r
+:1027F0008091EB00806214C09091EB009061909307\r
+:10280000EB0021E030E0A90102C0440F551F8A957A\r
+:10281000E2F74093EA001092EA008091EB008860B2\r
+:102820008093EB001092E9008091E800877F86C0DA\r
+:102830008111ACC01091F2011F778091E300807884\r
+:10284000812B8093E3008091E800877F8093E800EC\r
+:102850000E94A5118091E80080FFFCCF8091E300E9\r
+:1028600080688093E300111102C082E001C083E020\r
+:102870008093EF018BC08058823008F087C0809130\r
+:10288000F2019091F3018C3D53E0950779F583E0D7\r
+:102890008A838AE289834FB7F894DE01139620E099\r
+:1028A0003EE051E2E32FF0E050935700E49120FF27\r
+:1028B00003C0E295EF703F5FEF708E2F90E0EA303B\r
+:1028C00010F0C79601C0C0968D939D932F5F243161\r
+:1028D00049F74FBF8091E800877F8093E8006AE264\r
+:1028E00070E0CE0101960E94B11014C0AE014F5F9E\r
+:1028F0005F4F6091F4010E94FA0FBC01892B09F42B\r
+:1029000045C09091E800977F9093E80089819A8173\r
+:102910000E940F118091E8008B778093E80036C009\r
+:102920008038A1F58091E800877F8093E80080914E\r
+:10293000EB018093F1008091E8008E778093E800AE\r
+:102940000E94A51123C0811121C08091F2019091B4\r
+:10295000F30199270297D4F48091E800877F809350\r
+:10296000E8008091F2018093EB010E94A511809113\r
+:10297000EB01811106C08091E30087FD02C081E078\r
+:1029800001C084E08093EF010E94E20E8091E80094\r
+:1029900083FF0AC08091E800877F8093E8008091E0\r
+:1029A000EB0080628093EB00AA960FB6F894DEBF2E\r
+:1029B0000FBECDBFDF91CF911F910895CF9380912E\r
+:1029C000EF018823A1F0C091E900CF709091EC0055\r
+:1029D000892F817090FD80E8C82B1092E9008091CA\r
+:1029E000E80083FD0E948813CF70C093E900CF9167\r
+:1029F000089590937401809373010895E091730199\r
+:102A0000F0917401309721F00190F081E02D09944C\r
+:102A100080E00895EF92FF921F93CF93DF93F82EFB\r
+:102A2000192FE0917301F09174013097A9F10280A0\r
+:102A3000F381E02D09958091D70182FF2DC080FFA1\r
+:102A400004C08DE895E00E945707CF2DD12F10E1EB\r
+:102A500087E8E82E85E0F82E8091D70180FF0BC033\r
+:102A600088811F928F93FF92EF920E94F0070F9040\r
+:102A70000F900F900F90115021961111EDCF809172\r
+:102A8000D70180FF09C085E895E0DF91CF911F91C4\r
+:102A9000FF90EF900C945707DF91CF911F91FF901B\r
+:102AA000EF900895E0917301F0917401309721F057\r
+:102AB0000480F581E02D09940895209171013091F1\r
+:102AC00072012817390771F0909372018093710198\r
+:102AD000E0917301F0917401309721F00680F78145\r
+:102AE000E02D0994089520916F013091700128170D\r
+:102AF000390771F09093700180936F01E091730139\r
+:102B0000F0917401309721F00084F185E02D099453\r
+:102B1000089508950C9489150E94C2210E946709A6\r
+:102B20000C948822CF93C82F8091D70182FF1EC0BA\r
+:102B300080FF04C086EA95E00E9457078091D70184\r
+:102B400080FF0CC01F92CF9381EA95E09F938F93F3\r
+:102B50000E94F0070F900F900F900F908091D70177\r
+:102B600080FF04C08FE995E00E9457078C2FCF911A\r
+:102B70000C942C0DCF92DF92EF92FF920F931F9344\r
+:102B8000CF93DF93CDB7DEB72B970FB6F894DEBFA8\r
+:102B90000FBECDBF0E94840986E7C82E81E0D82EE3\r
+:102BA00000E010E0E02E802F0E94B80AF60141916B\r
+:102BB0006F01F82EF426B1F40F5F1F4F0E30110590\r
+:102BC00089F78FEF89838A831B820E94CB218160E2\r
+:102BD000782F9D838C8349815A816B818D810E94DE\r
+:102BE0005D1640C09091D70191FF04C08B870E9471\r
+:102BF000BE0A8B8520E030E04F2D50E0922FBA01C5\r
+:102C0000022E02C0759567950A94E2F760FF24C012\r
+:102C10002E83EF8221E030E0690102C0CC0CDD1C84\r
+:102C20009A95E2F790E08C219D21892B09F420E010\r
+:102C300028870E94CB218160782F9A8789874E81CF\r
+:102C40005F8168858A850E945D16F801EA58FE4F0B\r
+:102C50008081C826C08206C02F5F3F4F26303105D5\r
+:102C600069F6AACF0E94F9250E94FE149091750181\r
+:102C70008917A1F00E94FE14809375012B960FB660\r
+:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2\r
+:102C9000FF90EF90DF90CF900C9492152B960FB68B\r
+:102CA000F894DEBF0FBECDBFDF91CF911F910F9182\r
+:102CB000FF90EF90DF90CF900895CF93DF93CDB743\r
+:102CC000DEB72B970FB6F894DEBF0FBECDBF4F8394\r
+:102CD000588769877A878B87DE01119686E0FD0128\r
+:102CE00011928A95E9F785E0FE01379601900D92E1\r
+:102CF0008A95E1F749815A816B817C818D819E8122\r
+:102D00000E94601D2B960FB6F894DEBF0FBECDBF9C\r
+:102D1000DF91CF910895CF93C82F882309F4C1C0C4\r
+:102D2000823859F40E94FE1481FDBBC089E30E94E1\r
+:102D3000FD1F0E94D72089E30CC0833879F40E94DC\r
+:102D4000FE1480FDAEC083E50E94FD1F0E94D720C7\r
+:102D500083E50E944D20CF910C94D720843859F4FC\r
+:102D60000E94FE1482FD9DC087E40E94FD1F0E9408\r
+:102D7000D72087E4EECF8CEF8C0F813A48F48C2F6C\r
+:102D80000E948B2A81118DC08C2F0E94FD1FE3CFE2\r
+:102D900080E28C0F883048F4C77081E001C0880F52\r
+:102DA000CA95EAF70E94A020D6CF8BE58C0F83301E\r
+:102DB00078F4C53A29F0C63A31F083E890E005C0CE\r
+:102DC00081E890E002C082E890E0CF910C945D151C\r
+:102DD00088E58C0F833108F064C0C83A39F1C93AEC\r
+:102DE00041F1CA3A49F1CB3A51F1CC3A59F1CD3AD5\r
+:102DF00061F1C03B69F1CE3A71F1CF3A79F1C13B53\r
+:102E000081F1C23B89F1C33B91F1C43B99F1C53BD0\r
+:102E1000A1F1C63BA9F1C73BB1F1C83BB9F1C93B30\r
+:102E2000C1F1CA3BC9F180E090E038C082EE90E089\r
+:102E300035C089EE90E032C08AEE90E02FC085EB7D\r
+:102E400090E02CC086EB90E029C087EB90E026C094\r
+:102E50008CEC90E023C08DEC90E020C083E891E002\r
+:102E60001DC08AE891E01AC082E991E017C084E9A8\r
+:102E700091E014C081E292E011C083E292E00EC0C2\r
+:102E800084E292E00BC085E292E008C086E292E024\r
+:102E900005C087E292E002C08AE292E0CF910C94F2\r
+:102EA0007315CF910895882309F44BC0823859F4E3\r
+:102EB0000E94FE1481FF45C089E30E94FD1F0E940D\r
+:102EC000D72089E30CC0833871F40E94FE1480FF80\r
+:102ED00038C083E50E94FD1F0E94D72083E50E9431\r
+:102EE0004D200C94D720843859F40E94FE1482FFA0\r
+:102EF00028C087E40E94FD1F0E94D72087E4EFCFFF\r
+:102F00009CEF980F913A58F390E2980F983050F454\r
+:102F1000877091E001C0990F8A95EAF7892F0E9486\r
+:102F2000A620DFCF9BE5980F933020F480E090E05F\r
+:102F30000C945D15885A833120F480E090E00C9465\r
+:102F400073150895882321F00E94A0200C94D720A7\r
+:102F50000895882321F00E94A6200C94D72008957C\r
+:102F6000BF92CF92DF92EF92FF920F931F93CF9376\r
+:102F7000DF9300D000D000D0CDB7DEB77C0185E074\r
+:102F8000F701DE01119601900D928A95E1F7F701A4\r
+:102F900083819481892B09F4DDC2908181818F3FE7\r
+:102FA00019F49F3F09F4D6C2F701028125812295C9\r
+:102FB0002F7099838A8389819A812E830E94BC1FF6\r
+:102FC000182FB92E0E94BB1F0E94821EEB2DE29586\r
+:102FD000EF704E2F50E0FA01E05AFF4F2E810C9413\r
+:102FE000982D8B2D807F9B2D9F70F92E882319F0B3\r
+:102FF000F29480EFF822002349F0FF2009F457C231\r
+:103000008F2D0E94B0200E94D72051C2812F0E9494\r
+:103010005317FF2009F49EC28F2D0E94B6202696DA\r
+:103020000FB6F894DEBF0FBECDBFDF91CF911F91D9\r
+:103030000F91FF90EF90DF90CF90BF900C94D7202E\r
+:103040003B2D307F8B2D8F70303211F08295807F39\r
+:10305000112319F0113021F12CC00023B9F02223E3\r
+:1030600009F490C1213009F08DC126960FB6F8946D\r
+:10307000DEBF0FBECDBFDF91CF911F910F91FF90AB\r
+:10308000EF90DF90CF90BF900C94C020222319F0D6\r
+:10309000213009F45FC28E830E94C3208E8186C1D5\r
+:1030A000002321F0223008F055C26CC1211152C218\r
+:1030B0007DC1002321F0222309F464C1F8C1222339\r
+:1030C00009F474C109C28B2D86958695837019F019\r
+:1030D0008130D1F03FC2002321F0812F9B2D9370CE\r
+:1030E00002C080E090E026960FB6F894DEBF0FBED7\r
+:1030F000CDBFDF91CF911F910F91FF90EF90DF90A7\r
+:10310000CF90BF900C945D15002321F0812F9B2D53\r
+:10311000937002C080E090E026960FB6F894DEBF70\r
+:103120000FBECDBFDF91CF911F910F91FF90EF9018\r
+:10313000DF90CF90BF900C947315812F002319F06E\r
+:103140000E947F2402C00E94E72426960FB6F894BE\r
+:10315000DEBF0FBECDBFDF91CF911F910F91FF90CA\r
+:10316000EF90DF90CF90BF900C946C258B2D8370E7\r
+:1031700009F075C00111EEC1812F82958695877087\r
+:10318000880F880F912F9F70C92ED12CE12CF12C24\r
+:10319000082E04C0CC0CDD1CEE1CFF1C0A94D2F7D8\r
+:1031A00014FF12C00FE010E020E030E004C0000F78\r
+:1031B000111F221F331F8A95D2F7C901B8016095EC\r
+:1031C00070958095909503C060E070E0CB014B2D29\r
+:1031D0004695469543704230C1F060F56C297D29D3\r
+:1031E0008E299F29413051F126960FB6F894DEBF03\r
+:1031F0000FBECDBFDF91CF911F910F91FF90EF9048\r
+:10320000DF90CF90BF900C94A91E6C297D298E2948\r
+:103210009F2926960FB6F894DEBF0FBECDBFDF9173\r
+:10322000CF911F910F91FF90EF90DF90CF90BF90C3\r
+:103230000C94C51E0E94A91EC701B60126960FB6A2\r
+:10324000F894DEBF0FBECDBFDF91CF911F910F91DC\r
+:10325000FF90EF90DF90CF90BF900C948D1E0023D5\r
+:1032600019F08B2D817001C08695882309F472C1F5\r
+:10327000812F829586958770880F880F912F9F7078\r
+:10328000C92ED12CE12CF12C082E04C0CC0CDD1C55\r
+:10329000EE1CFF1C0A94D2F714FF12C00FE010E0DE\r
+:1032A00020E030E004C0000F111F221F331F8A9559\r
+:1032B000D2F7C901B801609570958095909503C0CB\r
+:1032C00060E070E0CB014B2D46954695437042304F\r
+:1032D000C1F060F56C297D298E299F29413051F17B\r
+:1032E00026960FB6F894DEBF0FBECDBFDF91CF910B\r
+:1032F0001F910F91FF90EF90DF90CF90BF900C94B3\r
+:10330000831F6C297D298E299F2926960FB6F89454\r
+:10331000DEBF0FBECDBFDF91CF911F910F91FF9008\r
+:10332000EF90DF90CF90BF900C949F1F0E94831F5F\r
+:10333000C701B60126960FB6F894DEBF0FBECDBF0B\r
+:10334000DF91CF911F910F91FF90EF90DF90CF9081\r
+:10335000BF900C94671F103FD1F118F4103E50F449\r
+:10336000A1C0123F09F463C008F44CC0133F09F434\r
+:1033700073C098C01F708B2D8F710023A1F00E9425\r
+:10338000001F812F26960FB6F894DEBF0FBECDBF6B\r
+:10339000DF91CF911F910F91FF90EF90DF90CF9031\r
+:1033A000BF900C94A2170E94211F812F26960FB662\r
+:1033B000F894DEBF0FBECDBFDF91CF911F910F916B\r
+:1033C000FF90EF90DF90CF90BF900C94A91700234F\r
+:1033D000A9F02111BFC08B2D8F7126960FB6F894DE\r
+:1033E000DEBF0FBECDBFDF91CF911F910F91FF9038\r
+:1033F000EF90DF90CF90BF900C94461F223008F0E2\r
+:10340000A9C0E9CF0023A9F08B2D8F7126960FB6A6\r
+:10341000F894DEBF0FBECDBFDF91CF911F910F910A\r
+:10342000FF90EF90DF90CF90BF900C94001F00238F\r
+:1034300059F38B2D8F7126960FB6F894DEBF0FBE11\r
+:10344000CDBFDF91CF911F910F91FF90EF90DF9053\r
+:10345000CF90BF900C94211F002399F08B2D8F717A\r
+:1034600026960FB6F894DEBF0FBECDBFDF91CF9189\r
+:103470001F910F91FF90EF90DF90CF90BF900C9431\r
+:10348000EB1E26960FB6F894DEBF0FBECDBFDF91C0\r
+:10349000CF911F910F91FF90EF90DF90CF90BF9051\r
+:1034A0000C94E11E0023A9F0222309F4ADCF812F53\r
+:1034B00026960FB6F894DEBF0FBECDBFDF91CF9139\r
+:1034C0001F910F91FF90EF90DF90CF90BF900C94E1\r
+:1034D0008B16222309F4ADCF812F26960FB6F894D0\r
+:1034E000DEBF0FBECDBFDF91CF911F910F91FF9037\r
+:1034F000EF90DF90CF90BF900C9453174B2D4F70EF\r
+:10350000612FC7010E94F90726960FB6F894DEBF17\r
+:103510000FBECDBFDF91CF911F910F91FF90EF9024\r
+:10352000DF90CF90BF900C94051E4B2D4F70612FF4\r
+:10353000C70126960FB6F894DEBF0FBECDBFDF9150\r
+:10354000CF911F910F91FF90EF90DF90CF90BF90A0\r
+:103550000C94C50B26960FB6F894DEBF0FBECDBFF8\r
+:10356000DF91CF911F910F91FF90EF90DF90CF905F\r
+:10357000BF9008950E94BD200E9492200E94D720F3\r
+:103580000E949E260E946C2580E090E00E945D15BE\r
+:1035900080E090E00C9473150E94AD200C94BA1A50\r
+:1035A0000E94BC1F292F22952F702C3030F42A3016\r
+:1035B00048F42250223078F405C02C3041F02F30EE\r
+:1035C00031F009C0803E48F0803F29F406C093FBEB\r
+:1035D000882780F9089580E0089581E00895CF93C9\r
+:1035E000DF9300D000D01F92CDB7DEB70F900F90C1\r
+:1035F0000F900F900F90DF91CF910895CF93DF93AD\r
+:1036000000D000D000D0CDB7DEB726960FB6F89424\r
+:10361000DEBF0FBECDBFDF91CF9108951F93CF9333\r
+:10362000DF93C091840116E080918501C81799F05D\r
+:10363000D0E01C9FF0011D9FF00D1124EA57FE4FB2\r
+:103640004081518162817381848195810E94FE1A3B\r
+:103650002196C770E9CFDF91CF911F9108954091D6\r
+:10366000B6015091B7016091B8017091B901809194\r
+:10367000BA019091BB010C94FE1A8091BB01829516\r
+:103680008F7009F054C08091B801882309F44FC0AD\r
+:1036900080918401A09185014091B9015091BA01B6\r
+:1036A0006091B6017091B701B6E08A1709F43FC086\r
+:1036B00090E041155105C1F17F3F11F46F3FA1F139\r
+:1036C000B89FF001B99FF00D1124EA57FE4F2181F8\r
+:1036D00027132AC02081261327C02281211124C04C\r
+:1036E000238134812417350710F421503109241B1C\r
+:1036F000350B283C3105C0F42091BB012F702061AF\r
+:103700002093BB0126E0289FF001299FF00D112492\r
+:10371000E557FE4F80818F708061808386EB91E05A\r
+:103720000E94B0170C940E1B01968770BECF0895AF\r
+:10373000CF92DF92EF92FF920F931F93CF93DF937D\r
+:10374000CDB7DEB762970FB6F894DEBF0FBECDBF20\r
+:103750008C0185E0F801DE011D9601900D928A959D\r
+:10376000E1F7D8014C9111965C91119712966C91EA\r
+:103770008091B9019091BA01009709F475C1309117\r
+:10378000B6017091B7017F3F19F43F3F09F46CC156\r
+:10379000F801C380D480E090B801EE2009F4BEC0E7\r
+:1037A0002091BB01C816D90628F0D601A81BB90B79\r
+:1037B000CD0104C0809590958C0D9D1DFF24F39440\r
+:1037C000883C910578F0F12C207F09F0C4C07C2D55\r
+:1037D000D98AC88A89890E94EF1A86EB91E00E94F3\r
+:1037E000B017AFC0822F807F09F045C0571313C0B8\r
+:1037F000431311C061110FC02F7020612093BB01D2\r
+:103800000E942F1B86EB91E00E94B0178091BB01B4\r
+:10381000F80185832EC0CD2819F15F3F11F44F3F89\r
+:10382000F9F0F62E61111CC0809184012091850170\r
+:1038300036E0821709F45BC090E0389FF001399FB1\r
+:10384000F00D1124EA57FE4F7181571306C07081A5\r
+:10385000471303C07281711103C001968770E9CFCD\r
+:10386000F62E662309F41CC18091BB018160809310\r
+:10387000BB01F12C15C1571309C0431307C06111D7\r
+:1038800005C08091BB01F8018583C8C04D875E8764\r
+:103890008D859E856A8B0E94D01A6A898823D1F112\r
+:1038A0006623C1F12091BB01822F82958F7090E039\r
+:1038B000029774F08091B6019091B70198878F8339\r
+:1038C0001986DB86CA862C87CE0107960E94B01720\r
+:1038D00086E0F801A6EBB1E001900D928A95E1F740\r
+:1038E0000E943D1B0E942F1BFF24F394D9C04D87DB\r
+:1038F0005E878D859E850E94BC1F292F22952F7083\r
+:10390000223008F0C1C09F7009F0BBC0805E8830D3\r
+:1039100008F4C6C0C8010E94B017E6CFC816D90681\r
+:1039200008F453C0F601E81BF90BCF01883C910560\r
+:1039300008F450C0F12C7C2DD98AC88A89890E944C\r
+:10394000EF1AE6EBF1E086E0DF011D928A95E9F7D8\r
+:103950000E942F1BA5C0571314C0431312C061113E\r
+:1039600010C08091BB01F8018583C8010E94B01787\r
+:1039700086E0E6EBF1E0DF011D928A95E9F7FE2C87\r
+:103980008FC04D875E878D859E856A8B0E94D01A79\r
+:103990006A89882309F4BECF662309F4BBCF20913E\r
+:1039A000BB01822F82958F7090E002970CF490CF2C\r
+:1039B0008091B6019091B7019A8389831B82DD8241\r
+:1039C000CC822E83CE01019681CF809590958C0D6F\r
+:1039D0009D1DACCFF62E662309F49CCF571333C040\r
+:1039E000431331C02091BB0120FD24C0822F82955A\r
+:1039F0008F70482F50E041155105E1F0D801159620\r
+:103A00002C9315974F30510549F08F5F982F929561\r
+:103A1000907F822F8F70892B15968C93C8010E94FE\r
+:103A2000B01786E0F801A6EBB1E001900D928A95FF\r
+:103A3000E1F78ECF86E0F801A6EBB1E001900D92A0\r
+:103A40008A95E1F72DC04D875E878D859E850E9402\r
+:103A5000D01A81113DCF8091BB0181608093BB0161\r
+:103A6000C8010E94B0171CC0662309F453CF4D87CC\r
+:103A70005E878D859E850E94D01A882309F44ACFDF\r
+:103A800027CF811143CF0CC0243008F043CF9F7063\r
+:103A900009F43CCFD80115969C91907F09F036CF60\r
+:103AA0008F2D62960FB6F894DEBF0FBECDBFDF91AB\r
+:103AB000CF911F910F91FF90EF90DF90CF900895DD\r
+:103AC0001F93CF93DF93CDB7DEB72C970FB6F89443\r
+:103AD000DEBF0FBECDBF4F83588769877A878B873C\r
+:103AE0009C87CE0107960E94981B882371F08A85D7\r
+:103AF0009B85892B09F441C088858F3F09F065C0FB\r
+:103B00008F818F3F09F061C038C086E0FE01379693\r
+:103B1000DE01119601900D928A95E1F76A857B8509\r
+:103B20006115710551F1FF81E885EF3F11F4FF3F09\r
+:103B300021F12091850130E0C90101968770992714\r
+:103B40004091840150E08417950709F447C0F98338\r
+:103B5000EA837D836C8396E0929FD001939FB00DA2\r
+:103B60001124AA57BE4FFE01319601900D929A95ED\r
+:103B7000E1F7809385010E940E1B16E0809184017D\r
+:103B8000909185018917B9F1189FC00111248A57B6\r
+:103B90009E4F0E94981B882371F1E09184011E9F23\r
+:103BA000F0011124EA57FE4F4081518162817381F7\r
+:103BB000848195810E94FE1A8091840190E0019693\r
+:103BC0008770992780938401D9CF4F815885698563\r
+:103BD0007A858B859C850E94FE1ACFCF0E94CC1AD5\r
+:103BE0001092850110928401E6EBF1E086E0DF019E\r
+:103BF0001D928A95E9F72C960FB6F894DEBF0FBE9A\r
+:103C0000CDBFDF91CF911F910895EF92FF920F9357\r
+:103C10001F93CF93DF938C01892B09F46CC0F12C97\r
+:103C2000EE24E394E8012196F8018491843740F46E\r
+:103C3000843008F051C0813081F0823019F15BC0CE\r
+:103C4000853709F444C0A8F19CE7980F903708F035\r
+:103C500052C08F770E94531741C00E5F1F4FFE0165\r
+:103C6000849190E2980F983050F48770FE2D01C037\r
+:103C7000FF0F8A95EAF78F2F0E94B02014C00E9490\r
+:103C80008B162DC00E5F1F4FFE01849190E2980F9E\r
+:103C9000983060F48770FE2D01C0FF0F8A95EAF717\r
+:103CA0008F2F0E94B6200E94D72019C00E94531760\r
+:103CB00016C00E5F1F4FFE01C491CC2381F08FE927\r
+:103CC0009FE00197F1F700C00000C150F6CF0E5FF2\r
+:103CD0001F4FFE01F49003C00E948B168E018F2DA2\r
+:103CE000882309F49FCFEFE9FFE03197F1F700C097\r
+:103CF00000008150F5CFDF91CF911F910F91FF9080\r
+:103D0000EF90089508956093C0017093C10180936E\r
+:103D1000C2019093C3010C94BA1A0F931F930091A0\r
+:103D2000C0011091C1012091C2013091C301DC0199\r
+:103D3000CB01802B912BA22BB32B8093C0019093AE\r
+:103D4000C101A093C201B093C3011F910F910C94C4\r
+:103D5000BA1A0F931F930091C0011091C1012091D5\r
+:103D6000C2013091C301DC01CB0180239123A22346\r
+:103D7000B3238093C0019093C101A093C201B0937B\r
+:103D8000C3011F910F910C94BA1A0F931F930091C6\r
+:103D9000C0011091C1012091C2013091C301DC0129\r
+:103DA000CB0180279127A227B3278093C00190934E\r
+:103DB000C101A093C201B093C3011F910F910C9454\r
+:103DC000BA1A1092BC011092BD011092BE0110925D\r
+:103DD000BF010C94BA1A41E050E060E070E004C00A\r
+:103DE000440F551F661F771F8A95D2F74093BC0179\r
+:103DF0005093BD016093BE017093BF010C94BA1A39\r
+:103E000041E050E060E070E004C0440F551F661FC1\r
+:103E1000771F8A95D2F78091BC019091BD01A09146\r
+:103E2000BE01B091BF01482B592B6A2B7B2B4093CD\r
+:103E3000BC015093BD016093BE017093BF010C940F\r
+:103E4000BA1A41E050E060E070E004C0440F551F32\r
+:103E5000661F771F8A95D2F74095509560957095AB\r
+:103E60008091BC019091BD01A091BE01B091BF01B4\r
+:103E7000482359236A237B234093BC015093BD01FF\r
+:103E80006093BE017093BF010C94BA1A41E050E0F8\r
+:103E900060E070E004C0440F551F661F771F8A95CD\r
+:103EA000D2F78091BC019091BD01A091BE01B0916B\r
+:103EB000BF01482759276A277B274093BC015093AD\r
+:103EC000BD016093BE017093BF010C94BA1A0F93A9\r
+:103ED0001F930091BC011091BD012091BE01309152\r
+:103EE000BF01DC01CB01802B912BA22BB32B809344\r
+:103EF000BC019093BD01A093BE01B093BF011F917F\r
+:103F00000F910C94BA1A0F931F930091BC0110915A\r
+:103F1000BD012091BE013091BF01DC01CB018023A6\r
+:103F20009123A223B3238093BC019093BD01A0935E\r
+:103F3000BE01B093BF011F910F910C94BA1A0F9359\r
+:103F40001F930091BC011091BD012091BE013091E1\r
+:103F5000BF01DC01CB0180279127A227B3278093E3\r
+:103F6000BC019093BD01A093BE01B093BF011F910E\r
+:103F70000F910C94BA1A0895CF92DF92EF92FF92AC\r
+:103F80000F931F93CF93DF938C01C090BC01D0900F\r
+:103F9000BD01E090BE01F090BF018091C001909101\r
+:103FA000C101A091C201B091C301C82AD92AEA2A4D\r
+:103FB000FB2ACFE1D0E0D701C6010C2E04C0B69594\r
+:103FC000A795979587950A94D2F780FF07C0B80107\r
+:103FD0008C2F0E94E90B8130910531F4219758F71D\r
+:103FE000B80180E00E94E90BDF91CF911F910F9102\r
+:103FF000FF90EF90DF90CF90089590910C0199235E\r
+:1040000079F190910D01992359F1982F96959695F4\r
+:1040100096959F30A0F4E0910E01F0910F01E90F09\r
+:10402000F11D877021E030E0A90102C0440F551F47\r
+:104030008A95E2F7CA019181892B81830895909135\r
+:10404000D70190FF29C01F928F9387ED95E09F9332\r
+:104050008F930E94F0070F900F900F900F9008958C\r
+:1040600020910E0130910F01F90132969FEF40E04F\r
+:104070005191851789F09F3F19F4511101C0942F78\r
+:104080004F5F4E30A9F79F3F39F0F901E90FF11D5D\r
+:1040900097FDFA9582830895089590910C019923D4\r
+:1040A00081F190910D01992361F1982F9695969544\r
+:1040B00096959F30A8F4E0910E01F0910F01E90F61\r
+:1040C000F11D877021E030E0A90102C0440F551FA7\r
+:1040D0008A95E2F7CA0180959181892381830895A9\r
+:1040E0009091D70190FF1DC01F928F9389EB95E0AF\r
+:1040F0009F938F930E94F0070F900F900F900F9057\r
+:10410000089520910E0130910F01F9013296205F40\r
+:104110003F4F9081891301C010823196E217F30757\r
+:10412000C1F7089581E090E0E0910E01F0910F0158\r
+:10413000E80FF91F1082019680319105A9F70895C3\r
+:104140009091D601892B8093D60108958095909106\r
+:10415000D60189238093D60108951092D60108953F\r
+:104160009091D501892B8093D501089580959091E8\r
+:10417000D50189238093D50108951092D501089522\r
+:104180008093C40108951092C401089580910E0196\r
+:1041900090910F01FC0131969C01205F3F4F80E020\r
+:1041A000919191118F5FE217F307D1F70895E09194\r
+:1041B0000E01F0910F018091D6018083E0910E01F4\r
+:1041C000F0910F0190818091D501892B808380919E\r
+:1041D000C401882361F0E0910E01F0910F019081FC\r
+:1041E000892B80830E94C62081111092C401809186\r
+:1041F0000E0190910F010C940A1590933B0180934E\r
+:104200003A010895CF92DF92EF92FF926C01EE2473\r
+:10421000FF24C114D104E104F10421F0C701B60167\r
+:1042200020E101C020E0C72ED82EE92EFF24C114C2\r
+:10423000D104E104F10419F0285FC701B6016B0154\r
+:104240007C0154E0F694E794D794C7945A95D1F73B\r
+:10425000C114D104E104F10419F02C5FC701B601C7\r
+:104260006B017C0142E0F694E794D794C7944A9599\r
+:10427000D1F7C114D104E104F10419F02E5FC70194\r
+:10428000B601DC01CB01B695A79597958795892B4B\r
+:104290008A2B8B2B09F02F5F822FFF90EF90DF90FE\r
+:1042A000CF9008958295982F937344E0949F900146\r
+:1042B00011248C7C86958695282B822F8575880FF6\r
+:1042C0002A7A2695822B08951F93CF93DF931F920E\r
+:1042D000CDB7DEB799830E945221182F9981892F7B\r
+:1042E0000E945221212F30E0322F2227A901482B92\r
+:1042F000CA010F90DF91CF911F9108958091EF0136\r
+:10430000843011F120E488E190E00FB6F894A8958C\r
+:10431000809360000FBE2093600083B7817F84602C\r
+:1043200083BF83B7816083BF7894889583B78E7F7E\r
+:1043300083BF0FB6F894A895809160008861809340\r
+:104340006000109260000FBE089508950C94A5219E\r
+:10435000CF930E94A6210E9484090E94A521C0E05B\r
+:104360008C2F0E94B80A811104C0CF5FCE30C1F7F4\r
+:1043700001C081E0CF9108950E94CC1A0E94FE14E2\r
+:104380000C942C0D82E084BD93E095BD9AEF97BD0F\r
+:1043900080936E0008952FB7F8948091D801909182\r
+:1043A000D901A091DA01B091DB012FBF0895CF921E\r
+:1043B000DF92EF92FF920F931F932FB7F8944091E3\r
+:1043C000D8015091D9016091DA017091DB012FBFC2\r
+:1043D0006A017B01EE24FF248C0120E030E0C0164E\r
+:1043E000D106E206F30610F4415051099A01281B48\r
+:1043F000390BC9011F910F91FF90EF90DF90CF9083\r
+:1044000008951F920F920FB60F9211248F939F93CE\r
+:10441000AF93BF938091D8019091D901A091DA0117\r
+:10442000B091DB010196A11DB11D8093D80190933D\r
+:10443000D901A093DA01B093DB01BF91AF919F91B5\r
+:104440008F910F900FBE0F901F9018950E94F7113B\r
+:10445000F8942FEF87EA91E6215080409040E1F7F1\r
+:1044600000C0000087E090EBDC018093F80190939E\r
+:10447000F901A093FA01B093FB019CE088E10FB62B\r
+:10448000F894A895809360000FBE90936000FFCFD2\r
+:10449000EF92FF920F931F93CF93DF93D82FC0E03B\r
+:1044A0008C2F0E94B80A00E010E0E82EF12CC70122\r
+:1044B000002E02C0959587950A94E2F780FD06C00C\r
+:1044C0000F5F1F4F0630110591F709C0602F7C2F39\r
+:1044D00080E00E94C60B8D13F3CF81E004C0CF5F54\r
+:1044E000CE30F1F680E0DF91CF911F910F91FF90D8\r
+:1044F000EF900895CF93C82F8CE20E944822882322\r
+:1045000021F08C2FCF910C94482280E0CF91089518\r
+:10451000CF930E94D723811102C00E94BD238CEF4C\r
+:1045200095E00E945707C5E6C15049F00E948409F2\r
+:104530008FE39CE90197F1F700C00000F5CF85EF0C\r
+:1045400095E00E94570789E20E947A22811113C1E7\r
+:104550008AE20E947A2281110E94BD2385E00E9496\r
+:104560007A2281110E9426220E94E2238093D701A1\r
+:1045700087E00E947A228823A9F18BE10E947A22A7\r
+:10458000882351F08091D70181FB222720F991E007\r
+:10459000922790FB81F90EC08EE00E947A22882338\r
+:1045A00061F08091D70182FB222720F991E09227C8\r
+:1045B00090FB82F98093D70115C080E10E947A2296\r
+:1045C0009091D701882341F093FB222720F981E0C5\r
+:1045D000822780FB93F904C0892F809580FB90F996\r
+:1045E0009093D7018091D7010E94E6230E94F42383\r
+:1045F0008093E90180EE0E947A22882341F0809125\r
+:10460000E901982F909590FB80F98093E90189E367\r
+:104610000E947A22882359F08091E90181FB2227A8\r
+:1046200020F991E0922790FB81F98093E90182EED5\r
+:104630000E947A22882359F08091E90182FB222787\r
+:1046400020F991E0922790FB82F98093E90186EEB0\r
+:104650000E947A22882359F08091E90183FB222766\r
+:1046600020F991E0922790FB83F98093E90183EE92\r
+:104670000E947A22882359F08091E90184FB222745\r
+:1046800020F991E0922790FB84F98093E90185E37A\r
+:104690000E947A22882359F08091E90185FB222724\r
+:1046A00020F991E0922790FB85F98093E90181E35D\r
+:1046B0000E947A22882359F08091E90186FB222703\r
+:1046C00020F991E0922790FB86F98093E90181E13E\r
+:1046D0000E947A22882359F08091E90187FB2227E2\r
+:1046E00020F991E0922790FB87F98093E90180916E\r
+:1046F000E9010E94F8238091E90187FB882780F96E\r
+:1047000080930D0187E20E947A22C82F8EE10E94D9\r
+:104710007A228111C2608FE10E947A228111C460E5\r
+:1047200080E20E947A228111C86081E20E947A228E\r
+:104730008111C06182E20E947A228111C06283E20B\r
+:104740000E947A228111C06484E20E947A22882326\r
+:1047500011F0C06802C0CC2329F08C2F0E94EF23F7\r
+:104760006C2F03C00E94EB23682F70E080E090E084\r
+:10477000CF910C94831ECF9108956DEE7EEF80E073\r
+:1047800090E00E94CE2D60E082E090E00E94C02D7B\r
+:1047900060E083E090E00E94C02D60E084E090E063\r
+:1047A0000E94C02D60E085E090E00C94C02D80E078\r
+:1047B00090E00E94BA2D21E08D3E9E4F09F020E04E\r
+:1047C000822F089582E090E00C94B22D682F82E051\r
+:1047D00090E00C94C02D83E090E00C94B22D682FF3\r
+:1047E00083E090E00C94C02D84E090E00C94B22D16\r
+:1047F000682F84E090E00C94C02D8091DE0180FF52\r
+:104800000BC06091130185E0689FB001112475957C\r
+:104810006795759567952BC081FF09C0609113015D\r
+:1048200085E0689FB00111247595679520C082FFCF\r
+:1048300007C06091130185E0689FB001112417C083\r
+:104840009091DF019923D1F060911201961788F7BA\r
+:104850002091130185E0289F90011124929FA001CF\r
+:10486000939F500D112470E0CA010E94842D60387E\r
+:10487000710540F46115710519F406C065E070E03A\r
+:10488000862F08958FE7089581E008958091DE01D5\r
+:1048900080FF08C06091110170E07595679575956E\r
+:1048A000679521C081FF06C06091110170E0759588\r
+:1048B000679519C082FF04C06091110170E010C0BB\r
+:1048C0009091DF01992399F0609110019617A0F75C\r
+:1048D00080911101899FC001112470E00E94842DF4\r
+:1048E0006038710540F46115710519F406C061E086\r
+:1048F00070E0862F08958FE7089581E00895803F46\r
+:1049000021F40E94FD23819504C0813F29F40E9477\r
+:10491000FD238093E2010895823F21F40E94FD234C\r
+:10492000819504C0833F29F40E94FD238093E10117\r
+:104930000895893F19F40E94462405C08A3F31F446\r
+:104940000E94462481958093E30108958B3F21F4D2\r
+:104950000E944624819504C08C3F29F40E9446247D\r
+:104960008093E4010895843F21F48091E001816007\r
+:1049700017C0853F21F48091E001826011C0863F1D\r
+:1049800021F48091E00184600BC0873F21F4809185\r
+:10499000E001886005C0883F31F48091E0018061CA\r
+:1049A0008093E00108958D3F21F48091DE018160C4\r
+:1049B0000BC08E3F21F48091DE01826005C08F3FE5\r
+:1049C00029F48091DE0184608093DE010895803FA8\r
+:1049D00039F48091E20187FF6CC01092E20169C056\r
+:1049E000813F29F48091E2011816BCF362C09091D6\r
+:1049F000E101823F29F497FF5CC01092E10159C0A8\r
+:104A0000833F19F41916CCF354C0893F41F48091C7\r
+:104A1000E30118160CF04DC01092E3014AC08A3F22\r
+:104A200029F48091E30187FF44C0F6CF8B3F39F42E\r
+:104A30008091E40187FF3DC01092E4013AC08C3FB1\r
+:104A400029F48091E4011816BCF333C0843F21F4AB\r
+:104A50008091E0018E7F17C0853F21F48091E001B5\r
+:104A60008D7F11C0863F21F48091E0018B7F0BC0C8\r
+:104A7000873F21F48091E001877F05C0883F31F4B2\r
+:104A80008091E0018F7E8093E00113C08D3F21F47F\r
+:104A90008091DE018E7F0BC08E3F21F48091DE017C\r
+:104AA0008D7F05C08F3F29F48091DE018B7F80933D\r
+:104AB000DE018091E10181110EC08091E20181113E\r
+:104AC0000AC08091E301811106C08091E401811147\r
+:104AD00002C01092DF0108958091D70183FF7EC04C\r
+:104AE00088E396E00E9457078091E0011F928F9320\r
+:104AF00083E396E09F938F930E94F00781E396E013\r
+:104B00000E9457078091E101282F082E000C330BDB\r
+:104B10003F938F938EE296E09F938F930E94F007CE\r
+:104B20008CE296E00E9457078091E201282F082E20\r
+:104B3000000C330B3F938F9389E296E09F938F9302\r
+:104B40000E94F00787E296E00E9457078091E301F8\r
+:104B5000282F082E000C330B3F938F9384E296E0AE\r
+:104B60009F938F930E94F00782E296E00E9457077E\r
+:104B70008091E401282F082E000C330B3F938F9374\r
+:104B80008FE196E09F938F930E94F0078CE196E06F\r
+:104B90000E9457078091DF011F928F9389E196E071\r
+:104BA0009F938F930E94F00787E196E00E9457073A\r
+:104BB0008091DE011F928F9384E196E09F938F9303\r
+:104BC0000E94F00781E196E00E9457078DB79EB7DB\r
+:104BD0004C960FB6F8949EBF0FBE8DBF80EE91E04D\r
+:104BE0000E9452150E94CB219093DD018093DC013D\r
+:104BF00008951F93CF93DF938091DC019091DD01A5\r
+:104C00000E94D721AC019091DF01992321F02091DE\r
+:104C1000140130E006C0209115018AE0289F900120\r
+:104C200011244217530708F485C08091E101C09117\r
+:104C3000E201D091E3011091E401811107C0C1119B\r
+:104C400075C0D11173C0111171C074C09F3F19F0AC\r
+:104C50009F5F9093DF01181624F40E94FD23809338\r
+:104C6000E1018091E10187FF05C00E94FD2381954C\r
+:104C70008093E1011C1624F40E94FD238093E2013D\r
+:104C80008091E20187FF05C00E94FD2381958093FA\r
+:104C9000E2016091E101662331F1C091E201CC2390\r
+:104CA00011F1062E000C770B880B990B0E947F2CBC\r
+:104CB00023E333E343E35FE30E94E32C0E94472CAA\r
+:104CC0006093E1016C2FCC0F770B880B990B0E943E\r
+:104CD0007F2C23E333E343E35FE30E94E32C0E9452\r
+:104CE000472C6093E2011D1624F40E944624809311\r
+:104CF000E3018091E30187FF05C00E94462481956E\r
+:104D00008093E301111624F40E9446248093E40169\r
+:104D10008091E40187FF05C00E944624819580931D\r
+:104D2000E401DF91CF911F910C946C259F3F09F016\r
+:104D30008FCFA0CFDF91CF911F910895E0EEF1E0EA\r
+:104D400085E0DF011D928A95E9F71092DF0110924C\r
+:104D5000DE0108958BE598E00E9457071F9281E0DD\r
+:104D60008F931F9285E08F938DE098E09F938F93B0\r
+:104D70000E94F0070F900F900F900F900F900F90E0\r
+:104D800008958330E9F128F4813061F0823009F12F\r
+:104D90000895853009F462C008F449C0863009F4EA\r
+:104DA00074C0089580911501262F30E0280F311D21\r
+:104DB0002F3F310524F4680F6093150103C08FEF76\r
+:104DC00080931501809115011F928F9386E497E0DF\r
+:104DD00072C080911401262F30E0280F311D2F3F23\r
+:104DE000310524F4680F6093140103C08FEF8093A2\r
+:104DF0001401809114011F928F9384E397E05BC0AC\r
+:104E000080911301262F30E0280F311D2F3F3105EF\r
+:104E100024F4680F6093130103C08FEF8093130194\r
+:104E2000809113011F928F9381E297E044C080919B\r
+:104E30001201262F30E0280F311D2F3F310524F4B9\r
+:104E4000680F6093120103C08FEF8093120180916D\r
+:104E500012011F928F938CE097E02DC08091110179\r
+:104E6000262F30E0280F311D2F3F310524F4680F25\r
+:104E70006093110103C08FEF8093110180911101A4\r
+:104E80001F928F9383EF96E016C080911001262F1A\r
+:104E900030E0280F311D2F3F310524F4680F609357\r
+:104EA000100103C08FEF80931001809110011F92B9\r
+:104EB0008F9388ED96E09F938F930E94F0070F9059\r
+:104EC0000F900F900F900895833081F128F4813076\r
+:104ED00059F08230D1F00895853009F449C0B8F115\r
+:104EE000863009F456C0089580911501681720F4A2\r
+:104EF000861B8093150102C0109215018091150147\r
+:104F00001F928F9389EC96E054C08091140168172A\r
+:104F100020F4861B8093140102C01092140180912A\r
+:104F200014011F928F9387EB96E043C08091130189\r
+:104F3000681720F4861B8093130102C0109213019E\r
+:104F4000809113011F928F9384EA96E032C0809182\r
+:104F50001201681720F4861B8093120102C0109280\r
+:104F60001201809112011F928F938FE896E021C069\r
+:104F700080911101681720F4861B8093110102C0F3\r
+:104F800010921101809111011F928F9386E796E094\r
+:104F900010C080911001681720F4861B80931001C7\r
+:104FA00002C010921001809110011F928F938BE527\r
+:104FB00096E09F938F930E94F0070F900F900F90B1\r
+:104FC0000F900895CF93C82F1F928F9380E699E09A\r
+:104FD0009F938F930E94F00781E090E0A0E0B0E003\r
+:104FE000BC01CD0104C0660F771F881F991FCA95A9\r
+:104FF000D2F70E94831E0F900F900F900F90CF91C9\r
+:105000000C94CC1ACF938D3109F465C0B0F58E3075\r
+:1050100009F4CCC100F5873009F49BC1A8F48630AF\r
+:1050200009F06DC28091D701817F8E7F8093D70177\r
+:1050300085E699E00E94570784EA9DE00E945707A1\r
+:1050400081E08093E60180C1883009F44FC08B3045\r
+:1050500009F47CC154C2863109F4F0C138F48031BE\r
+:1050600009F4B8C1813109F430C249C2893109F467\r
+:10507000CEC18B3109F486C142C2853309F437C2EF\r
+:1050800048F4873209F433C208F433C2893209F490\r
+:105090002EC235C2833438F48A3308F02CC28833E8\r
+:1050A00009F454C12CC2833409F421C2883409F0B4\r
+:1050B00026C20E94CC1A83E99DE00E9457079FEF09\r
+:1050C00023ED80E3915020408040E1F700C00000D4\r
+:1050D0000E94262239C183EB9DE00E9457070E945F\r
+:1050E000012C0E94FE140E942C0D2EC188EA9DE026\r
+:1050F0000E94570786E79BE00E9457070E94EB2318\r
+:105100001F928F9383E79BE09F938F930E94F007FA\r
+:1051100081E79BE00E9457070E94E223C82F8EE59B\r
+:105120009BE00E9457071F92CF9389E59BE09F93D6\r
+:105130008F930E94F00787E59BE00E9457078DE45C\r
+:105140009BE00E9457078C2F81701F928F938AE4F7\r
+:105150009BE09F938F930E94F00788E49BE00E945E\r
+:1051600057078EE39BE00E945707C1FB882780F911\r
+:105170001F928F938BE39BE09F938F930E94F00786\r
+:1051800089E39BE00E9457078DE29BE00E9457074E\r
+:10519000C2FB882780F91F928F938AE29BE09F933E\r
+:1051A0008F930E94F00788E29BE00E9457078FE1EF\r
+:1051B0009BE00E945707C3FBCC27C0F91F92CF93F7\r
+:1051C0008CE19BE09F938F930E94F0078AE19BE024\r
+:1051D0000E9457070E94F423C82F86E09BE00E949C\r
+:1051E00057071F92CF9381E09BE09F938F930E947C\r
+:1051F000F0078FEF9AE00E94570786EE9AE00E9430\r
+:1052000057078C2F81701F928F9383EE9AE09F93A4\r
+:105210008F930E94F0078DB79EB780960FB6F894D3\r
+:105220009EBF0FBE8DBF81EE9AE00E9457078AECA9\r
+:105230009AE00E945707C1FB882780F91F928F933D\r
+:1052400087EC9AE09F938F930E94F00785EC9AE099\r
+:105250000E94570783EB9AE00E945707C2FB8827FA\r
+:1052600080F91F928F9380EB9AE09F938F930E9417\r
+:10527000F0078EEA9AE00E9457078CE99AE00E94B4\r
+:105280005707C3FB882780F91F928F9389E99AE01B\r
+:105290009F938F930E94F00787E99AE00E94570737\r
+:1052A0008DE89AE00E945707C4FB882780F91F9277\r
+:1052B0008F938AE89AE09F938F930E94F00788E883\r
+:1052C0009AE00E94570786E79AE00E945707C5FBBD\r
+:1052D000882780F91F928F9383E79AE09F938F939B\r
+:1052E0000E94F00781E79AE00E94570785E59AE05F\r
+:1052F0000E945707C6FB882780F91F928F9382E58B\r
+:105300009AE09F938F930E94F00780E59AE00E94B5\r
+:10531000570788E49AE00E945707C7FBCC27C0F9DB\r
+:105320001F92CF9385E49AE09F938F930E94F0079A\r
+:1053300083E49AE00E9457078DB79EB74C960FB64C\r
+:10534000F8949EBF0FBE8DBFC1E0DEC08CE899E02F\r
+:105350005BC08091D701C82FC17080FF09C086E86B\r
+:105360009DE00E9457078091D701817F8E7F47C0C3\r
+:105370008AE79DE00E9457078091D7018160809362\r
+:10538000D701E2CF9091D70191FBCC27C0F981E002\r
+:10539000C827892FC0FB81F98093D701CC2319F04E\r
+:1053A0008DE69DE027C08FE59DE02EC09091D7014E\r
+:1053B00092FBCC27C0F981E0C827892FC0FB82F976\r
+:1053C0008093D701CC2319F080E59DE013C080E4E1\r
+:1053D0009DE01AC09091D70193FBCC27C0F981E0E2\r
+:1053E000C827892FC0FB83F98093D701CC2351F0C4\r
+:1053F00084E39DE00E9457078091D70181608093EC\r
+:10540000D70182C087E29DE00E9457079DCF88E1C7\r
+:105410009DE00E9457078CEE9CE00E9457078FEAA0\r
+:105420009CE00E94570788E89CE00E94570784E4AC\r
+:105430009CE00E94570786E19CE0E6CF88E09CE074\r
+:105440000E9457070E94FE141F928F938EEE9BE0DE\r
+:105450009F938F930E94F00780910C011F928F936E\r
+:1054600087ED9BE09F938F930E94F00780916E01E0\r
+:105470001F928F9384EC9BE09F938F930E94F00781\r
+:1054800080910D011F928F9381EB9BE09F938F93EF\r
+:105490000E94F0078091D8019091D901A091DA0182\r
+:1054A000B091DB01BF93AF939F938F938DE99BE006\r
+:1054B0009F938F930E94F0078DB79EB746960FB6C5\r
+:1054C000F8949EBF0FBE8DBF3FCF0E94CC1AC091F3\r
+:1054D0000D0181E0C827C0930D01CC2329F083E999\r
+:1054E0009BE00E94570710C088E89BE08DCF80E0CA\r
+:1054F00003C08D5101C089530E94E22725CF86E861\r
+:105500009BE00E945707C0E08C2FCF91089580E068\r
+:1055100008950C94872ACF93C82F8091E60181309B\r
+:1055200081F020F0823009F44FC045C1E0910E01B6\r
+:10553000F0910F018081813169F0823209F03DC123\r
+:1055400009C0E0910E01F0910F018081813111F0CD\r
+:10555000823261F48C2F0E94892A811104C08C2F21\r
+:105560000E9402282FC081E090E02CC08C2F0E9466\r
+:10557000872A811126C0C431E1F070F4CB3081F06C\r
+:10558000C031D1F40E94AA2688E599E00E9457070D\r
+:1055900082E08093E60115C0C93259F0C83361F446\r
+:1055A00085E699E00E9457078CE599E00E9457072D\r
+:1055B00008C01092E60103C186E599E00E945707F2\r
+:1055C000FEC081E08170FDC0C43220F5CE3108F00C\r
+:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E\r
+:1055E0008093150194E19093140193E0909313013B\r
+:1055F0008093120188E08093110188E2809310016A\r
+:105600008CEF97E00E945707BFC0C33149F1C43106\r
+:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D\r
+:10562000C83361F0AEC0C13509F49EC0C23509F47B\r
+:1056300099C0CE3409F0A5C06AE09EC00E94AA2697\r
+:10564000A3C08091E501882319F01092E5019CC068\r
+:1056500089E098E00E94570781E08093E601B1C09D\r
+:1056600083EE97E00E94570781ED97E00E9457076D\r
+:10567000809115011F928F938EEC97E09F938F93EB\r
+:105680000E94F0078CEC97E00E9457078AEB97E0A6\r
+:105690000E945707809114011F928F9387EB97E028\r
+:1056A0009F938F930E94F00785EB97E00E94570726\r
+:1056B00086EA97E00E945707809113011F928F930B\r
+:1056C00083EA97E09F938F930E94F00781EA97E027\r
+:1056D0000E94570780E997E00E94570780911201C6\r
+:1056E0001F928F938DE897E09F938F930E94F0070E\r
+:1056F0008BE897E00E94570786E797E00E945707DC\r
+:10570000809111011F928F9383E797E09F938F936E\r
+:105710000E94F00781E797E00E9457078AE597E02B\r
+:105720000E945707809110011F928F9387E597E0A1\r
+:105730009F938F930E94F00785E597E00E9457079B\r
+:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B\r
+:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5\r
+:10576000E50112C061E003C061E006C06AE080911B\r
+:10577000E5010E94C12608C08091E5010E946427CE\r
+:1057800003C08AEF97E013C08091E501882369F098\r
+:105790001F928F9384EF97E09F938F930E94F0075F\r
+:1057A0000F900F900F900F9004C081EF97E00E9430\r
+:1057B000570781E006C01092E60180E002C080E059\r
+:1057C00001CFCF910895E1E8F0E080818860808387\r
+:1057D0008081816080838FB7F89493E090938900F3\r
+:1057E00090ED909388008FBF0895EFE6F0E0808100\r
+:1057F000826080830895EFE6F0E080818D7F808372\r
+:105800000895EFE6F0E0908182E089278083089593\r
+:105810001F920F920FB60F9211242F933F934F9325\r
+:105820005F936F937F938F939F93AF93BF93EF9308\r
+:10583000FF938091E7019091E80101969093E80130\r
+:105840008093E701811103C082E00E942C0DE0915A\r
+:10585000E801E695E695F0E0ED53F24FE491809192\r
+:10586000E7018E1303C080E00E942C0DFF91EF91A1\r
+:10587000BF91AF919F918F917F916F915F914F9168\r
+:105880003F912F910F900FBE0F901F9018950E947F\r
+:105890004E2C6894B1110C94DD2C08950E94C22CFA\r
+:1058A00088F09F5798F0B92F9927B751B0F0E1F0E1\r
+:1058B000660F771F881F991F1AF0BA95C9F714C091\r
+:1058C000B13091F00E94DC2CB1E008950C94DC2CF6\r
+:1058D000672F782F8827B85F39F0B93FCCF38695CA\r
+:1058E00077956795B395D9F73EF490958095709527\r
+:1058F00061957F4F8F4F9F4F0895E89409C097FBA4\r
+:105900003EF490958095709561957F4F8F4F9F4F96\r
+:105910009923A9F0F92F96E9BB279395F6958795DA\r
+:1059200077956795B795F111F8CFFAF4BB0F11F49D\r
+:1059300060FF1BC06F5F7F4F8F4F9F4F16C0882344\r
+:1059400011F096E911C0772321F09EE8872F762F7A\r
+:1059500005C0662371F096E8862F70E060E02AF0BB\r
+:105960009A95660F771F881FDAF7880F96958795A7\r
+:1059700097F9089557FD9058440F551F59F05F3F10\r
+:1059800071F04795880F97FB991F61F09F3F79F061\r
+:1059900087950895121613061406551FF2CF4695E3\r
+:1059A000F1DF08C0161617061806991FF1CF869565\r
+:1059B0007105610508940895E894BB276627772749\r
+:1059C000CB0197F908950E94F62C0C94672D0E9444\r
+:1059D000592D38F00E94602D20F0952311F00C9481\r
+:1059E000502D0C94562D11240C94DD2C0E94BA2CB1\r
+:1059F00070F3959FC1F3950F50E0551F629FF00122\r
+:105A0000729FBB27F00DB11D639FAA27F00DB11D3A\r
+:105A1000AA1F649F6627B00DA11D661F829F2227C3\r
+:105A2000B00DA11D621F739FB00DA11D621F839F4A\r
+:105A3000A00D611D221F749F3327A00D611D231F20\r
+:105A4000849F600D211D822F762F6A2F11249F576E\r
+:105A500050409AF0F1F088234AF0EE0FFF1FBB1F71\r
+:105A6000661F771F881F91505040A9F79E3F510530\r
+:105A700080F00C94502D0C94DD2C5F3FE4F3983EA5\r
+:105A8000D4F3869577956795B795F795E7959F5FDA\r
+:105A9000C1F7FE2B880F911D9695879597F908956C\r
+:105AA00097F99F6780E870E060E008959FEF80ECD1\r
+:105AB000089500240A941616170618060906089574\r
+:105AC00000240A9412161306140605060895092EDA\r
+:105AD0000394000C11F4882352F0BB0F40F4BF2B49\r
+:105AE00011F460FF04C06F5F7F4F8F4F9F4F089589\r
+:105AF000991B79E004C0991F961708F0961B881F20\r
+:105B00007A95C9F78095089597FB072E16F40094AF\r
+:105B100007D077FD09D00E949E2D07FC05D03EF4EA\r
+:105B2000909581959F4F0895709561957F4F089549\r
+:105B3000EE0FFF1F0590F491E02D0994AA1BBB1BEB\r
+:105B400051E107C0AA1FBB1FA617B70710F0A61B7D\r
+:105B5000B70B881F991F5A95A9F780959095BC019E\r
+:105B6000CD010895F999FECF92BD81BDF89A99278C\r
+:105B700080B50895A8E1B0E042E050E00C94D52D46\r
+:105B8000262FF999FECF1FBA92BD81BD20BD0FB659\r
+:105B9000F894FA9AF99A0FBE019608950E94C02DC2\r
+:105BA000272F0C94C12DDC01CB01FC01F999FECF0C\r
+:105BB00006C0F2BDE1BDF89A319600B40D92415095\r
+:0A5BC0005040B8F70895F894FFCFA5\r
+:105BCA0020022D0D200EFB0DC70D930D0101C501FD\r
+:105BDA0028080A03140A3F4D3620394605F904C33A\r
+:105BEA0004A3046A04DD03F6030F0428044804012D\r
+:0A5BFA000203040506070809000075\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/naps62/keymap.c b/keyboard/ergodox_ez/keymaps/naps62/keymap.c
new file mode 100644 (file)
index 0000000..b954a31
--- /dev/null
@@ -0,0 +1,187 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |  Esc   | 1  ! | 2  @ | 3  # | 4  $ | 5  % | Lang |           | Esc  | 6  ^ | 7  & | 8  * | 9  ( | 0  ) | Bckspc |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |  Tab   |   Q  |   W  |   E  |   R  |   T  |  L2  |           |  L2  |   Y  |   U  |   I  |   O  |   P  | \   |  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |  Ctrl  |   A  |   S  |  D   |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  | ;  : |  ' "   |
+ * |--------+------+------+------+------+------|  L1  |           |  L1  |------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  | ,  < | . >  | /  ? |  - _   |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |  L1  | `  ~ | ' "  | \  | |  L2  |                                       |  {   |  }   | [  { | ]  } |  L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,--------------.       ,---------------.
+ *                                        | Home  | End  |       | PgUp  |Insert |
+ *                                 ,------|-------|------|       |-------+-------+------.
+ *                                 |      |       | LGui |       | Del   |       |      |
+ *                                 | Space|  Alt  |------|       |-------| Enter |Space |
+ *                                 |      |       | LGui |       | Bcsp  |       |      |
+ *                                 `---------------------'       `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP(  // layer 0 : default
+  // left hand
+  KC_ESC,     KC_1,    KC_2,     KC_3,     KC_4,               KC_5,  LGUI(KC_SPC),
+  KC_TAB,     KC_Q,    KC_W,     KC_E,     KC_R,               KC_T,  MO(2),
+  KC_LCTL,    KC_A,    KC_S,     KC_D,     KC_F,               KC_G,
+  KC_LSFT,    KC_Z,    KC_X,     KC_C,     KC_V,               KC_B,  MO(1),
+  MO(1),      KC_GRV,  KC_QUOT,  KC_BSLS,  MO(2),
+
+                                               KC_HOME,   KC_END,
+                                                          KC_LGUI,
+                                      KC_SPC,  KC_LALT,   KC_LGUI,
+
+  // right hand
+  KC_ESC,  KC_6,     KC_7,     KC_8,     KC_9,     KC_0,      KC_BSPC,
+  MO(2),   KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,      KC_BSLS,
+           KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,   KC_QUOT,
+  MO(1),   KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,   KC_MINS,
+                     KC_LCBR,  KC_RCBR,  KC_LBRC,  KC_RBRC,   MO(1),
+
+  KC_PGUP,  KC_INS,
+  KC_DEL,
+  KC_BSPC,  KC_ENT,    KC_SPC
+),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |   =  |    . |   0  |   -  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,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_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
+                         KC_EQL,KC_DOT,  KC_0,    KC_MINS,  KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |GuiUp | Expl |      | Term |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |GuiLft|GuiDwn|GuiRgt|      |      |------|           |------| Left | Down |  Up  |Right |      |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |Browsr|      |           |      |      |VolDwn|VolUp | Mute |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      | Lclk | Rclk |                                       | Play | Prev | Next |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |Brwser|Brwser|
+ *                                 | Lclk | Rclk |------|       |------|Fwd   |Back  |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+         RESET, KC_TRNS,        KC_TRNS,     KC_TRNS,        KC_TRNS, KC_TRNS,    KC_TRNS,
+       KC_TRNS, KC_TRNS,        LGUI(KC_W),  LGUI(KC_E),     KC_BTN1, LGUI(KC_T), KC_TRNS,
+       KC_TRNS, LGUI(KC_A),     LGUI(KC_S),  LGUI(KC_D),     KC_MS_D, KC_MS_R,
+       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_BTN1, KC_BTN2, 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_TRNS,
+                 KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT, KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE,  KC_TRNS, KC_TRNS,
+                          KC_MPLY, KC_MPRV, KC_MNXT,  KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS,
+       KC_TRNS,
+       KC_TRNS,  KC_WBAK, KC_WFWD
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+        if (record->event.pressed) {
+          register_code(KC_RSFT);
+        } else {
+          unregister_code(KC_RSFT);
+        }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};
index 3343c22963cddc28f2659d822ce41d5d1f6fc4a7..4dd6d883ca8ff59718995088bae258a772937276 100644 (file)
@@ -7,7 +7,7 @@
 #define MDIA 2 // media keys
 
 /*
- * Ordinary Ergodox EZ keyboard layout, v1
+ * Ordinary Ergodox EZ keyboard layout, v2
  * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
  * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
  */
@@ -16,13 +16,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Keymap 0: Basic layer
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |  Grv   |   1  |   2  |   3  |   4  |   5  | ESC  |           |  =   |   6  |   7  |   8  |   9  |   0  |   -    |
+ * |  Grv   |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  |   =    |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * | Tab    |   Q  |   W  |   E  |   R  |   T  |   \  |           |   /  |   Y  |   U  |   I  |   O  |   P  |  ~L2   |
+ * | Tab    |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | MDIA \ |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * | ~L1    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|  ~L1   |
- * |--------+------+------+------+------+------|  [   |           |  ]   |------+------+------+------+------+--------|
- * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |'/Ctrl| RShift |
+ * | SYMB   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | SYMB ' |
+ * |--------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   | RShift |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  *   |LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh |RCtrl |
  *   `----------------------------------'                                       `----------------------------------'
@@ -37,20 +37,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // If it accepts an argument (i.e, is a function), it doesn't need KC_.
 // Otherwise, it needs KC_*
 [BASE] = KEYMAP(  // layer 0 : default
-        // left hand
-        KC_GRV, KC_1,        KC_2,  KC_3, KC_4, KC_5, KC_ESC,
-        KC_TAB, KC_Q,        KC_W,  KC_E, KC_R, KC_T, KC_BSLS,
-        KC_FN1, KC_A,        KC_S,  KC_D, KC_F, KC_G,
-        KC_LSFT,CTL_T(KC_Z), KC_X,  KC_C, KC_V, KC_B, KC_LBRC,
-        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,
+   // left hand
+   KC_GRV,   KC_1,        KC_2,  KC_3, KC_4,   KC_5, KC_ESC,
+   KC_TAB,   KC_Q,        KC_W,  KC_E, KC_R,   KC_T, KC_LBRC,
+   MO(SYMB), KC_A,        KC_S,  KC_D, KC_F,   KC_G,
+   KC_LSFT,  CTL_T(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,
+
                                                                 // right hand
-                                                                KC_EQL,  KC_6, KC_7,    KC_8,    KC_9,        KC_0,          KC_MINS,
-                                                                KC_SLSH, KC_Y, KC_U,    KC_I,    KC_O,        KC_P,          LT(MDIA, KC_SLSH),
-                                                                         KC_H, KC_J,    KC_K,    KC_L,        KC_SCLN,       KC_FN1,
-                                                                KC_RBRC, KC_N, KC_M,    KC_COMM, KC_DOT,      CTL_T(KC_QUOT),KC_RSFT,
+                                                                KC_MINS, KC_6, KC_7,    KC_8,    KC_9,        KC_0,          KC_EQL,
+                                                                KC_RBRC, KC_Y, KC_U,    KC_I,    KC_O,        KC_P,          LT(MDIA, KC_BSLS),
+                                                                         KC_H, KC_J,    KC_K,    KC_L,        KC_SCLN,       LT(SYMB, KC_QUOT),
+                                                                KC_TAB,  KC_N, KC_M,    KC_COMM, KC_DOT,      CTL_T(KC_SLSH),KC_RSFT,
                                                                                KC_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO),  KC_RCTL,
                                                                 KC_LEFT, KC_RGHT,
                                                                 KC_UP,
@@ -59,82 +60,82 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Keymap 1: Symbol Layer
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |  Esc   |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |  MDIA  |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |   F12  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * | CAPS   |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |  CAPS  |
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |        |
+ * |--------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |  CAPS  |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
+ *   |      |      |      |      |      |                                       |   0  |    . |   =  |   +  |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |      |
+ *                                        | Left | Right|       | Home | End  |
  *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      |
- *                                 |      |      |------|       |------|      |      |
- *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |  Up  |       | PgUp |      |      |
+ *                                 |Space |Enter |------|       |------|BackSp| Del  |
+ *                                 |      |      | Down |       | PgDn |      |      |
  *                                 `--------------------'       `--------------------'
  */
 // SYMBOLS
 [SYMB] = KEYMAP(
        // left hand
-       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
-       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
-       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
-       KC_CAPS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,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_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       MO(MDIA),         KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_AMPR,LSFT(KC_COMM),
+       KC_TRNS,          KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,          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_F11,
-                                                                     KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
-                                                                              KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
-                                                                     KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_CAPS,
-                                                                                       KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
-                                                                     KC_TRNS, KC_TRNS,
-                                                                     KC_TRNS,
-                                                                     KC_TRNS, KC_TRNS, KC_TRNS
+                                                                     KC_TRNS,      KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+                                                                     LSFT(KC_DOT), KC_PIPE, KC_P7,  KC_P8,   KC_P9,   KC_PSLS, KC_F12,
+                                                                                   KC_SLSH, KC_P4,  KC_P5,   KC_P6,   KC_PAST, KC_TRNS,
+                                                                     LSFT(KC_TAB), KC_BSLS, KC_P1,  KC_P2,   KC_P3,   KC_PMNS, KC_CAPS,
+                                                                                            KC_P0,  KC_DOT,  KC_PEQL, KC_PPLS, KC_PENT,
+                                                                     KC_HOME,      KC_END,
+                                                                     KC_PGUP,
+                                                                     KC_PGDN,      KC_BSPC, KC_DEL
 ),
 /* Keymap 2: Media and mouse keys
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |        |      |      |      |      |      | Sleep|           |      |      |      |      |MyComp| Mail |        |
+ * |  Esc   |ShutDn| Sleep| Mute |Vol Dn|Vol Up|      |           |      |      |PrtSc | PgUp |MyComp| Mail |        |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      | MsUp |ScrlUp|      |ScrlUp|           |ScrlUp|      |      |      |      | Mute |        |
+ * |        |      |      | MsUp |ScrlUp|      |ScrlUp|           |ScrlUp|      |ScrlUp|  Up  |      |      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |        |
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------| Home | Left | Down | Right| End  |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |MsDown|ScrlDn|      |ScrlDn|           |ScrlDn|      |      |      |      |      |        |
+ * |        |      |      |MsDown|ScrlDn|      |ScrlDn|           |ScrlDn|      |ScrlDn| Down |      |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      | Lclk | Rclk |                                       |      |      |      |      |      |
+ *   |      |      |      | Lclk | Rclk |                                       |      | PgDn |      |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        | Stop |Refrsh|       | Prev | Next |
  *                                 ,------|------|------|       |------+------+------.
- *                                 |Brwser|Brwser| Home |       |VolUp |      |      |
- *                                 |Back  | Fwd  |------|       |------| Stop | Play |
- *                                 |      |      |Search|       |VolDn |      |      |
+ *                                 |Brwser|Brwser|Search|       |VolUp |      |      |
+ *                                 |Back  | Fwd  |------|       |------| Stop | Play-|
+ *                                 |      |      | Home |       |VolDn |      | Pause|
  *                                 `--------------------'       `--------------------'
  */
 // MEDIA AND MOUSE
 [MDIA] = KEYMAP(
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP,
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U,
+       KC_ESC,  KC_PWR,  KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS,
+       MO(MDIA), KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U,
        KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_D, KC_TRNS, KC_TRNS, KC_WH_D,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_WH_D,
                                                     KC_WSTP, KC_WREF,
-                                                             KC_WHOM,
-                                           KC_WBAK, KC_TRNS, KC_WSCH,
+                                                             KC_WSCH,
+                                           KC_WBAK, KC_TRNS, KC_WHOM,
                                                                      // right hand
-                                                                     KC_WSCH,  KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_MAIL, KC_TRNS,
-                                                                     KC_WH_U,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS,
-                                                                               KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-                                                                     KC_WH_D,  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_PSCR, KC_PGUP, KC_MYCM, KC_MAIL, KC_TRNS,
+                                                                     KC_WH_U,  KC_TRNS, KC_WH_U, KC_UP,   KC_TRNS, KC_TRNS, KC_TRNS,
+                                                                               KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_END, KC_TRNS,
+                                                                     KC_WH_D,  KC_TRNS, KC_WH_D, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
+                                                                                        KC_TRNS, KC_PGDN, KC_TRNS,KC_TRNS, KC_TRNS,
                                                                      KC_MPRV, KC_MNXT,
                                                                      KC_VOLU,
                                                                      KC_VOLD, KC_MSTP, KC_MPLY
@@ -188,3 +189,4 @@ void matrix_scan_user(void) {
     }
 
 };
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
new file mode 100644 (file)
index 0000000..b32b955
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
new file mode 100644 (file)
index 0000000..727775e
--- /dev/null
@@ -0,0 +1,27 @@
+[{x:3.5},"#\n3",{x:10.5},"*\n8"],
+[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
+[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
+[{y:-0.875,c:"#73ab6a",w:1.5},"~\n\n\n\n\n\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{t:"#000000\n\n\n\n#0000ff",w:1.5},"+\n\n\n\n\n\n="],
+[{y:-0.375,x:3.5,t:"#000000"},"E",{x:10.5},"I"],
+[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
+[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
+[{y:-0.875,c:"#73ab6a",w:1.5},"Tab",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",fa:[0,0,0,1],w:1.5},"|\n\\\nMedia\nL2"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
+[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
+[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\nL1"],
+[{y:-0.625,x:6.5,c:"#bfbf67",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
+[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
+[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
+[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\nShift",{c:"#cccccc"},"Z\n\nCtrl",{x:14.5},"?\n/\nCtrl",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"],
+[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
+[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
+[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Home","End"],
+[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
+[{x:2},"Page\n\n\n\n\n\nDown"],
+[{r:-30,rx:13,y:-1,x:-3},"Left","Right"],
+[{x:-3},"Up",{h:2},"Enter",{h:2},"Space"],
+[{x:-3},"Down"]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
new file mode 100644 (file)
index 0000000..89d15e4
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
new file mode 100644 (file)
index 0000000..4237f08
--- /dev/null
@@ -0,0 +1,27 @@
+[{x:3.5,c:"#9988bb"},"Vol\n\n\n\n\n\nMute",{x:10.5,c:"#ccffff"},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5,c:"#9988bb"},"Sleep",{x:1},"Vol\n\n\n\n\n\nDown",{x:8.5},"Print\n\n\n\n\n\nScreen",{x:1},"Home\n\n\n\n\n\nDir"],
+[{y:-0.875,x:5.5},"Vol\n\n\n\n\n\nUp",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,c:"#ff4444",a:4,w:1.5},"Esc",{c:"#9988bb"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Email",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.375,x:3.5,c:"#ccffff",a:4},"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:"#99ffff",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Scroll\n\n\n\n\n\nUp",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.875,x:5.5},"",{c:"#99ffff",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:"#cccccc",a:7},""],
+[{y:-0.875,c:"#000000",t:"#ff0000",a:4,fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#000000",t:"#ff0000",a:4,w:1.5},"\n\nMedia\nL2"],
+[{y:-0.375,x:3.5,c:"#ccffff",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:"#ccffff",a:4},"Home"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,c:"#ccffff",a:4},"End",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.625,x:6.5,c:"#99ffff",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:"#ccffff"},"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:"#99ffff",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"Scroll\n\n\n\n\n\nDown",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Left\n\n\n\n\n\nClick",{x:10.5},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ccffff",a:4},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#cccccc",a:7},"",{x:1},""],
+[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbaacc",a:4},"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:"#9988bb"},"Vol\n\n\n\n\n\nUp",{c:"#bbaacc",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nDown"]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
new file mode 100644 (file)
index 0000000..7522af3
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
new file mode 100644 (file)
index 0000000..dda15f7
--- /dev/null
@@ -0,0 +1,27 @@
+[{x:3.5,c:"#a3a3a3"},"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:"#a3a3a3",a:4},"F6"],
+[{y:-0.875,c:"#ff4444",w:1.5},"Esc",{c:"#a3a3a3"},"F1",{x:14.5},"F10",{w:1.5},"F11"],
+[{y:-0.375,x:3.5,c:"#bbc6ed"},"{",{x:10.5,c:"#bed4ba"},"8"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"@",{x:1},"}",{x:8.5,c:"#bed4ba"},"7",{x:1},"9"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
+[{y:-0.875,c:"#2277ff",fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#bbc6ed"},"!",{x:14.5,c:"#bed4ba"},"/",{c:"#a3a3a3",w:1.5},"F12"],
+[{y:-0.375,x:3.5,c:"#bbc6ed"},"(",{x:10.5,c:"#bed4ba"},"5"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"$",{x:1},")",{x:8.5,c:"#bed4ba"},"4",{x:1},"6"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"`",{x:6.5},"/"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#bbc6ed",t:"#000000"},"#",{x:14.5,c:"#bed4ba"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\nL1"],
+[{y:-0.625,x:6.5,c:"#bfbf67",t:"#000000",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:"#bbc6ed"},"[",{x:10.5,c:"#bed4ba"},"2"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"^",{x:1},"]",{x:8.5,c:"#bed4ba"},"1",{x:1},"3"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"~",{x:6.5},"\\"],
+[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#bbc6ed",a:4},"%",{x:14.5,c:"#bed4ba"},"-",{c:"#2277ff",w:1.5},"\n\nCaps Lock"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#bed4ba",a:4},"."],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#bed4ba",a:4},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#bed4ba",a:4},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"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"]
+
index 5a847aa6e78732663d042f85b656263104c53ae1..1a085984655e4baea9e5d09be3f77c640368d2ff 100644 (file)
@@ -1,48 +1,48 @@
-:100000000C9465020C94AC020C94AC020C94AC02FF\r
-:100010000C94AC020C94AC020C94AC020C94AC02A8\r
-:100020000C94AC020C94AC020C94C30B0C94950C85\r
-:100030000C94AC020C94AC020C94AC020C94AC0288\r
-:100040000C94AC020C9409210C94AC020C94AC02FC\r
-:100050000C94AC020C949B1A0C94AC020C94AC0261\r
-:100060000C94AC020C94AC020C94AC020C94AC0258\r
-:100070000C94AC020C94AC020C94AC020C94AC0248\r
-:100080000C94AC020C94AC020C94AC020C94AC0238\r
-:100090000C94AC020C94AC020C94AC020C94AC0228\r
-:1000A0000C94AC020C94AC020C94AC02020D240D26\r
-:1000B000170E240D170E690D8C0D170EE10DF40DA2\r
-:1000C000DE10DE100D110D1150118A1197139713C8\r
-:1000D000A3119713981298126B1397139713821307\r
-:1000E0000000F0A135002B00C100E100E00000009D\r
+:100000000C9465020C94A9020C94A9020C94A90208\r
+:100010000C94A9020C94A9020C94A9020C94A902B4\r
+:100020000C94A9020C94A9020C94B00B0C94820CB1\r
+:100030000C94A9020C94A9020C94A9020C94A90294\r
+:100040000C94A9020C940B210C94A9020C94A90203\r
+:100050000C94A9020C94AD1A0C94A9020C94A90258\r
+:100060000C94A9020C94A9020C94A9020C94A90264\r
+:100070000C94A9020C94A9020C94A9020C94A90254\r
+:100080000C94A9020C94A9020C94A9020C94A90244\r
+:100090000C94A9020C94A9020C94A9020C94A90234\r
+:1000A0000C94A9020C94A9020C94A902E70C090D66\r
+:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1\r
+:1000C000C310C310F110F11033116F116F136F13C0\r
+:1000D00087116F137E127E1249136F136F135D1316\r
+:1000E0000000F0A135002B000152E100E00000000B\r
 :1000F0001E00140004001D7100774E001F001A003E\r
 :1001000016001B00007F4C002000080007000600BE\r
 :10011000E2002A002100150009001900E3004B004D\r
-:10012000220017000A00050000004A0029003100E3\r
-:1001300000002F0000004D002E00380000003000AD\r
+:10012000220017000A00050000004A0029002F00E5\r
+:1001300000002B0200004D002D00300000002B00BD\r
 :100140000000500023001C000B00110000004F00B5\r
 :10015000240018000D001000E700520025000C00DC\r
 :100160000E003600E6002C00260012000F003700BB\r
-:10017000007F2800270013003300347100775100FE\r
-:100180002D003882C100E500E400000001000100FC\r
-:1001900001003900010000003A001E022002220284\r
-:1001A000010001003B001F022102230201000100A7\r
-:1001B0003C002F0226022F00010001003D0030020A\r
-:1001C00027023000010001003E00310235003502F7\r
-:1001D000000001000100010000000100000001001A\r
-:1001E0000100010000000100000001003F0052007A\r
-:1001F00051002402000001004000240021001E00E4\r
-:10020000010001004100250022001F00370001000D\r
-:1002100042002600230020002700010043002502A1\r
-:100220002E0231002E00010044004500010039007B\r
-:1002300001000000010001000100010001000000B8\r
-:1002400001000100010001000100B40001000100F3\r
-:10025000F2000100010001000100F000F100F100D6\r
-:10026000F400B6000100F900F3000100FA00B50047\r
-:1002700001000100010001000000B800A600F90023\r
-:100280000000FA000000B900B400F9000000FA0014\r
-:100290000000AC0001000100010001000000AB0003\r
-:1002A00001000100010001000100A900010001009E\r
-:1002B000010001000100AE00B300010001000100D7\r
-:1002C0000100AD00B100A800010001000100AA007A\r
+:10017000007F2800270013003300387100775100FA\r
+:100180002E0031823481E500E40000002900025293\r
+:1001900001000100010000003A001E0220022202BC\r
+:1001A000010051003B001F02210223020100280030\r
+:1001B0003C002F0226022F0001002C003D003002DF\r
+:1001C00027023000010052003E00240235003502B3\r
+:1001D000000050000100360200002B0000004F001C\r
+:1001E0000100370200002B0200004A003F003102EC\r
+:1001F0003800310000004D0040005F005C005900F5\r
+:1002000062004B00410060005D005A0037004C0066\r
+:10021000420061005E005B0067002A00430054005A\r
+:100220005500560057004E004400450001003900BB\r
+:1002300058000000290002520100010001000000E6\r
+:10024000A5000100010001000100B500A6000100A9\r
+:10025000F200010001000100A800F000F100F1002F\r
+:10026000F400B600AA00F900F3000100FA00B4009F\r
+:10027000A9000100010001000000B8000100F90020\r
+:100280000000FA000000B9000100F9000000FA00C7\r
+:100290000000AC00010001004A0001000000AB00BA\r
+:1002A0004600F9005000FA000100A9004B0052007E\r
+:1002B000510051004E00AE00B30001004F0001009C\r
+:1002C0000100AD00B10001004D0001000100AA00D5\r
 :1002D00001000100010001000100000016034500BB\r
 :1002E000720067006F0044006F0078002000450036\r
 :1002F0005A00000016034500720067006F004400BA\r
 :1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2\r
 :1004B000B39D87715D4A3A2C20170F0A060402018A\r
 :1004C0000000000000000000000011241FBECFEF5C\r
-:1004D000DAE0DEBFCDBF04B603FE27C08091ED0198\r
-:1004E0009091EE01A091EF01B091F0018730904B17\r
-:1004F000A740B04BD1F41092ED011092EE01109292\r
-:10050000EF011092F00114BE84B7877F84BF0FB64D\r
-:10051000F894A895809160008861809360001092A3\r
-:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C\r
-:10053000E4EBF5E402C005900D92A433B107D9F7BE\r
-:1005400021E0A4E3B1E001C01D92AD3EB207E1F7A6\r
-:100550000E940A090C94D8220C94000061110BC06F\r
-:10056000FC018281882321F085EE0E94780F03C070\r
-:1005700085EE0E94401080E090E00895089560911B\r
-:10058000B1017091B2018091B3019091B4010E94C8\r
-:10059000C81956985E9825982D9826982E982798D1\r
-:1005A0002F98813019F0823021F00895259A2D9AE4\r
-:1005B0000895269A2E9A08950C94BF0256985E9834\r
-:1005C00025982D9826982E9827982F988FEF90E0B1\r
-:1005D000909389008093880090938B0080938A0089\r
-:1005E00090938D0080938C00259A2D9A2FEF80E7B1\r
-:1005F00092E0215080409040E1F700C00000269A30\r
-:100600002E9A2FEF80E792E0215080409040E1F752\r
-:1006100000C00000279A2F9A2FEF80E792E0215028\r
-:1006200080409040E1F700C0000025982D982FEF02\r
-:1006300080E792E0215080409040E1F700C0000048\r
-:1006400026982E982FEF80E792E02150804090402E\r
-:10065000E1F700C0000027982F9856985E982598DB\r
-:100660002D9826982E9827982F98089589EA809398\r
-:10067000800089E08093810024982C983F988AB16B\r
-:100680008F748AB96E98479A8BB1806B8BB9769AC2\r
-:100690000E94DE020C94BE0280E2809300018091F1\r
-:1006A000340181110EC00E949B0381E080933401CC\r
-:1006B0002FEF83ED90E3215080409040E1F700C0A0\r
-:1006C000000080E40E94A1038093000181112EC0EC\r
-:1006D0000E94CB0380930001811128C00E94CB03AC\r
-:1006E00080930001811122C08FE30E94CB0380938D\r
-:1006F000000181111BC00E94C30380E40E94A1037A\r
-:1007000080930001811112C08CE00E94CB03809382\r
-:10071000000181110BC00E94CB0380930001811165\r
-:1007200005C08FE30E94CB03809300010E94C303A6\r
-:100730008091000108951092B9008AE08093B8007A\r
-:10074000089594EA9093BC009091BC0097FFFCCF71\r
-:100750009091B900987F983021F0903111F081E0AC\r
-:1007600008958093BB0084E88093BC008091BC0016\r
-:1007700087FFFCCF8091B900887F883111F08034E9\r
-:1007800071F780E0089584E98093BC008091BC00FB\r
-:1007900084FDFCCF08958093BB0084E88093BC0067\r
-:1007A0008091BC0087FFFCCF9091B900987F81E0D9\r
-:1007B000983209F480E0089584E88093BC00809129\r
-:1007C000BC0087FFFCCF8091BB00089580910001A1\r
-:1007D000811115C080E40E94A10380930001811162\r
-:1007E0000CC082E10E94CB0380930001811105C0FF\r
-:1007F0008FEF0E94CB03809300010E94C30384B15A\r
-:10080000807F84B985B1807F85B98AB1837F8AB9B9\r
-:100810008BB1837F8BB93E98469808950E944C0314\r
-:10082000809300010E94E60380B38C7080BB81B38B\r
-:10083000836F81BBE4E4F1E0A6E3B1E011921D9285\r
-:1008400081E0E235F807D1F70C9436039F92AF921E\r
-:10085000BF92CF92DF92EF92FF920F931F93CF93AD\r
-:10086000DF9380910001882379F0809135018F5FBB\r
-:1008700080933501811108C00E944C0380930001D0\r
-:10088000811102C00E94DE0286E3E82E81E0F82E8C\r
-:100890008701C0E0D0E0BB24B39492E0A92ECC2421\r
-:1008A000C394D12CC730D10500F58091000181118E\r
-:1008B00064C080E40E94A10380930001811112C0F2\r
-:1008C00082E10E94CB038093000181110BC0C6011D\r
-:1008D0000C2E01C0880F0A94EAF780950E94CB0382\r
-:1008E000809300010E94C30348C0CA30A1F028F4DD\r
-:1008F000C83059F0C93061F005C0CC3089F070F0D3\r
-:10090000CD3089F0209A289810C0219A29980DC0DE\r
-:10091000229A2A980AC0239A2B9807C0529A01C09B\r
-:10092000539A5B9802C03E9A4698E0EAEA95F1F73E\r
-:100930008FB181708B25799902C032E001C030E01F\r
-:10094000832B7C9902C034E001C030E0832B7D9979\r
-:1009500002C028E001C020E0822B7E9902C090E115\r
-:1009600001C090E0892B9FB19095991F9927991FFD\r
-:100970009295990F907E892B0FC080910001811173\r
-:100980004AC080E40E94A10380930001882381F182\r
-:10099000912C0E94C303892DD8019C91981719F0BE\r
-:1009A0008C93A09201010E94E60321960F5F1F4FD6\r
-:1009B000CE30D10509F076CF80910101882369F10D\r
-:1009C000815080930101882339F0EFE9FFE03197EE\r
-:1009D000F1F700C0000021C0E4E4F1E0D7018D91FF\r
-:1009E0007D018193B4E4EB16B1E0FB06B9F715C0C5\r
-:1009F00083E10E94CB03809300018111C9CF81E480\r
-:100A00000E94A103809300018111C2CF0E94DC03E8\r
-:100A1000982E9094BECF80E0BFCF0E94DC0281E090\r
-:100A2000DF91CF911F910F91FF90EF90DF90CF90CA\r
-:100A3000BF90AF909F900895E82FF0E0EC5BFE4FE1\r
-:100A40008081089508958B3B910580F4883A910543\r
-:100A500048F5853A9105D8F48430910508F0B2C084\r
-:100A6000019709F06EC081E090E00895803E910505\r
-:100A700008F467C0883E910508F4A4C09C01205F7B\r
-:100A800031092031310508F05CC090650895853A40\r
-:100A9000910509F459C0863A910509F058C082E8D9\r
-:100AA00090E40895883A910509F454C0893A910573\r
-:100AB00009F453C08A3A910509F452C08B3A910562\r
-:100AC00009F451C08C3A910509F450C08D3A910552\r
-:100AD00009F44FC0803B910509F44EC08E3A910550\r
-:100AE00009F44DC08F3A910509F44CC0813B910542\r
-:100AF00009F44BC0823B910509F44AC0833B910540\r
-:100B000009F449C0843B910509F448C0853B91052F\r
-:100B100009F447C0863B910509F446C0873B91051F\r
-:100B200009F445C0883B910509F444C0893B91050F\r
-:100B300009F443C08A3B910509F442C080E094E483\r
-:100B4000089580E090E0089581E890E4089583E8B6\r
-:100B500090E4089582EE94E4089589EE94E4089573\r
-:100B60008AEE94E4089585EB94E4089586EB94E48A\r
-:100B7000089587EB94E408958CEC94E408958DEC4B\r
-:100B800094E4089583E895E408958AE895E4089547\r
-:100B900082E995E4089584E995E4089581E296E474\r
-:100BA000089583E296E4089584E296E4089585E248\r
-:100BB00096E4089586E296E4089587E296E408951F\r
-:100BC0008AE296E40895089524E5829FC0011124E5\r
-:100BD000FC0126E0729FE00DF11D1124E60FF11DCE\r
-:100BE000EE0FFF1FEC51FF4F859194910895880FF0\r
-:100BF000991FFC01E05AF040859194910895880F67\r
-:100C0000991FFC01E052FF4F85919491089524E5CE\r
-:100C1000829FC0011124FC0146E0749FE00DF11D8C\r
-:100C20001124E60FF11DEE0FFF1FEC51FF4F8591D0\r
-:100C300094919C013A9521154FE1340708F425C1A0\r
-:100C40003F512115304120F49F700E94FF05089507\r
-:100C50009C0130532115304118F49927906C089568\r
-:100C6000811520E5920769F40E94B9134FEF84E3E0\r
-:100C70009CE0415080409040E1F700C000000C949F\r
-:100C8000C01A813020E5920731F48091CC01816057\r
-:100C90008093CC0108959C0130552115304108F016\r
-:100CA0005CC0292F33272F70332721303105E9F419\r
-:100CB000AC0164E0440F551F6A95E1F74427537077\r
-:100CC000BC016370772702C0220F331F6A95E2F7D9\r
-:100CD0003C68242B352B73E0880F991F7A95E1F738\r
-:100CE00080769927822B932B08952230310529F4A1\r
-:100CF000982F8827816F906A089523303105A1F4D9\r
-:100D0000AC0133E0440F551F3A95E1F7407E577030\r
-:100D10008370992721E030E002C0220F331F8A95AB\r
-:100D2000E2F7C9019C6816C02430310531F5AC01E9\r
-:100D300023E0440F551F2A95E1F7407E57708370DA\r
-:100D4000992721E030E002C0220F331F8A95E2F795\r
-:100D5000C9019A68842B952B08959C013057211561\r
-:100D6000304118F49F70906208959C01305821150D\r
-:100D7000304118F49F70906A0895803E9105E0F428\r
-:100D8000803C910558F58133910509F46FC048F412\r
-:100D90008932910509F463C08A32910509F46DC066\r
-:100DA00072C089339105E9F082389105D1F085331D\r
-:100DB000910509F44DC067C0833E910581F138F477\r
-:100DC000803E9105B9F0823E9105D9F05CC0863E27\r
-:100DD000910561F1873E9105A1F155C00E94F7058B\r
-:100DE00008952091DE0120FD02C021FF4CC080EE5D\r
-:100DF00090E049C08091DE0180FFF9CF89E390E067\r
-:100E000042C08091DE0182FF0EC08091DE0184FF2E\r
-:100E100003C080E090E037C083EE90E034C0809162\r
-:100E2000DE0182FFF2CF82EE90E02DC08091DE01E4\r
-:100E300083FF0BC08091DE0184FDEBCF87EE90E055\r
-:100E400022C08091DE0183FFF5CF86EE90E01BC0CB\r
-:100E50008091DE0185FF07C089E290E014C0809197\r
-:100E6000DE0185FFF9CF85E390E00DC08091DE01C2\r
-:100E700086FF07C08AE290E006C08091DE0186FF0F\r
-:100E8000F9CF81E390E00E942305089508958091B1\r
-:100E900062010895CF93DF9300D01F92CDB7DEB7E4\r
-:100EA0009C018091E401843019F593E099833B83A0\r
-:100EB0002A839093E9008FEF9091E800815095FD8F\r
-:100EC00006C095ED9A95F1F700008111F5CF80915C\r
-:100ED000E80085FF0DC040E050E063E070E0CE0127\r
-:100EE00001960E94B7098091E8008E778093E80010\r
-:100EF0000F900F900F90DF91CF910895CF93DF93D4\r
-:100F000000D01F92CDB7DEB72091E401243021F547\r
-:100F100022E029839B838A8383E08093E9008FEF1B\r
-:100F20009091E800815095FD06C095ED9A95F1F7F6\r
-:100F300000008111F5CF8091E80085FF0DC040E0F1\r
-:100F400050E063E070E0CE0101960E94B709809105\r
-:100F5000E8008E778093E8000F900F900F90DF915C\r
-:100F6000CF9108959C018091E4018430F9F482E0EE\r
-:100F70008093E9009FEF8091E800915085FD06C0C5\r
-:100F800085ED8A95F1F700009111F5CF8091E80089\r
-:100F900085FF0CC040E050E065E070E0C9010E94B0\r
-:100FA000B7098091E8008E778093E8000895CF9389\r
-:100FB000DF93EC018091E401843009F046C0909108\r
-:100FC0000C019923D9F090910D019923B9F08093E8\r
-:100FD000E9008FEF9091E800815095FD06C095E102\r
-:100FE0009A95F1F700008111F5CF8091E80085FF17\r
-:100FF0002CC040E050E060E170E017C081E08093D9\r
-:10100000E9008FEF9091E800815095FD06C095EDC5\r
-:101010009A95F1F700008111F5CF8091E80085FFE6\r
-:1010200014C040E050E068E070E0CE010E94B709D3\r
-:101030008091E8008E778093E80080E1FE01A2E5D0\r
-:10104000B1E001900D928A95E1F7DF91CF9108957B\r
-:101050008091E301811109C00E94480B0E94A50BF9\r
-:101060008091E20084608093E20008951092E30191\r
-:10107000089508950C94F6200E94561A0E94FC20B0\r
-:101080000E94500E0C94460742E061EC81E00E9401\r
-:10109000C10A42E061EC82E00E94C10A42E061ECD8\r
-:1010A00083E00E94C10A42E161EC84E00C94C10A31\r
-:1010B0008091E601833009F455C030F4813071F03D\r
-:1010C000823009F48EC008958A3009F47AC08B30DA\r
-:1010D00009F460C0893009F09CC020C08091E5010E\r
-:1010E000813A09F096C08091E800877F8093E800FC\r
-:1010F0008091E9019091EA01892B21F460E182E578\r
-:1011000091E003C060E080E090E070E00E94020A9D\r
-:101110008091E8008B778093E80008958091E50145\r
-:10112000813209F076C08091E9019091EA0100973F\r
-:1011300019F0039709F06DC08091E800877F8093D4\r
-:10114000E8008091E80082FD05C08091E4018111F2\r
-:10115000F8CF5FC08091F100809362018091E80038\r
-:101160008B7753C08091E501813A09F052C080919C\r
-:10117000E9019091EA01892B09F04BC08091E800C8\r
-:10118000877F8093E8008091E80080FFFCCF80910A\r
-:101190000C0136C08091E5018132D9F58091E901D9\r
-:1011A0009091EA01892BA9F58091E800877F8093CF\r
-:1011B000E8000E94F60A8091E70180930C010C94EC\r
-:1011C000B9138091E501813221F58091E800877F94\r
-:1011D0008093E8000E94F60A8091E8018093630101\r
-:1011E00008958091E501813AA1F48091E800877F1C\r
-:1011F0008093E8008091E80080FFFCCF809163013C\r
-:101200008093F1008091E8008E778093E8000C9441\r
-:10121000F60A089584B7877F84BF0FB6F894A8951F\r
-:1012200080916000886180936000109260000FBE22\r
-:1012300090E080E80FB6F89480936100909361008D\r
-:101240000FBE0E949F0E0E94480B0E94A50B80912A\r
-:10125000E20084608093E20078940E94300E0E9445\r
-:10126000A10E82E091E00E944B0E0E94E42080914A\r
-:10127000E401853069F40E94181A8091E201882304\r
-:10128000B1F30E94421A882391F30E94A109EFCF83\r
-:101290000E94A70EECCF292F332723303105C9F048\r
-:1012A00060F42130310581F02230310509F041C070\r
-:1012B0008DE690E020E133E040C021323105E1F0DD\r
-:1012C0002232310531F135C082E190E02DE733E083\r
-:1012D00034C099278130910549F028F0029749F5EB\r
-:1012E000ECEDF2E005C0ECE0F3E002C0E4EFF2E088\r
-:1012F000849190E09F0121C06430D8F4E62FF0E0A3\r
-:10130000EE0FFF1FEE5DFE4F2081318189E090E0FE\r
-:1013100014C0643070F470E0FB01EE0FFF1FE65E56\r
-:10132000FE4F20813181FB01EA5EFE4F808190E01B\r
-:1013300004C080E090E020E030E0FA0131832083B7\r
-:10134000089580E189BD82E189BD09B400FEFDCF29\r
-:101350008091D8008F7D8093D8008091E0008260DA\r
-:101360008093E0008091E00081FDFCCF0895CF9252\r
-:10137000DF92EF92FF920F931F93CF93DF93EC01D5\r
-:101380008B016A010E94150B811133C0C114D10475\r
-:1013900039F0F60180819181081B190BC80FD91F04\r
-:1013A000E12CF12C0115110519F18091E80085FD62\r
-:1013B00016C08091E8008E778093E800C114D104B4\r
-:1013C00049F0F60180819181E80EF91EF182E082F8\r
-:1013D00085E00FC00E94150B882321F30AC0899174\r
-:1013E0008093F10001501109FFEFEF1AFF0ADACFE5\r
-:1013F00080E0DF91CF911F910F91FF90EF90DF90F0\r
-:10140000CF9008952091EB013091EC01261737071A\r
-:1014100048F06115710539F42091E8002E7720938A\r
-:10142000E80001C0B901FC0120E06115710579F106\r
-:101430008091E4018823F1F18530F1F18091E80099\r
-:1014400083FD3CC08091E80082FD2EC08091E800C1\r
-:1014500080FFEBCF2091F3008091F20090E0922B7F\r
-:101460006115710551F08830910538F42191209370\r
-:10147000F100615071090196F3CF21E0089709F05E\r
-:1014800020E08091E8008E778093E800CECF211194\r
-:10149000CFCF0AC08091E401882361F0853061F0EC\r
-:1014A0008091E80083FD0AC08091E80082FFF2CFBE\r
-:1014B00080E0089582E0089583E0089581E0089532\r
-:1014C0002091EB013091EC012617370748F06115A8\r
-:1014D000710539F42091E8002E772093E80001C0CF\r
-:1014E000B901FC0120E06115710591F18091E401E1\r
-:1014F000882309F440C0853009F43FC08091E8009A\r
-:1015000083FD3DC08091E80082FD2FC08091E800FE\r
-:1015100080FFE9CF2091F3008091F20090E0922BC0\r
-:101520006115710559F08830910540F4249120939C\r
-:10153000F1003196615071090196F2CF21E00897D0\r
-:1015400009F020E08091E8008E778093E800CBCF0F\r
-:101550002111CCCF0AC08091E401882361F085304D\r
-:1015600061F08091E80083FD0AC08091E80082FF6D\r
-:10157000F2CF80E0089582E0089583E0089581E04D\r
-:101580000895982F973068F59093E900981739F0EF\r
-:101590007091EC002091ED005091F00003C0242FD9\r
-:1015A000762F50E021FD02C09F5FECCF3091EB0021\r
-:1015B0003E7F3093EB003091ED003D7F3093ED00A6\r
-:1015C0003091EB0031603093EB007093EC0020938E\r
-:1015D000ED005093F0002091EE0027FDE5CF80E074\r
-:1015E00008958F708093E90081E008958091E5016E\r
-:1015F00087FF11C08091E80082FD05C08091E40161\r
-:101600008111F8CF11C08091E8008B770BC08091D9\r
-:10161000E401882349F08091E80080FFF8CF8091B1\r
-:10162000E8008E778093E80008952091E4003091DF\r
-:10163000E50095E64091EC00842F817040FF23C0C7\r
-:101640008091E80080FD1DC08091E401882399F01D\r
-:10165000853099F08091EB0085FD11C04091E40048\r
-:101660005091E5002417350729F3915011F09A01A4\r
-:10167000E1CF84E0089582E0089583E0089581E059\r
-:10168000089580E008954091E80042FFDDCF08957D\r
-:101690000E94B60B0E94BE0BE0EEF0E080818160FC\r
-:1016A0008083E8EDF0E080818F77808319BCA7ED1F\r
-:1016B000B0E08C918E7F8C9380818F7E808310929E\r
-:1016C000E30108950F931F93CF93DF930E94B60B0E\r
-:1016D0000E94BE0BC8EDD0E088818F778883888117\r
-:1016E0008068888388818F7D888319BC1092E4018B\r
-:1016F0001092E0011092E2011092E10100EE10E080\r
-:10170000F80180818B7F808388818160888342E0BB\r
-:1017100060E080E00E94C10AE1EEF0E080818E7F0F\r
-:101720008083E2EEF0E08081816080838081886048\r
-:101730008083F80180818E7F8083888180618883A7\r
-:10174000DF91CF911F910F910895E8EDF0E0808136\r
-:101750008F7E8083E7EDF0E080818160808384E08C\r
-:1017600082BF81E08093E3010C94620BE8EDF0E02E\r
-:1017700080818E7F80831092E20008951092DA00BB\r
-:101780001092E10008951F920F920FB60F9211244C\r
-:101790002F933F934F935F936F937F938F939F9379\r
-:1017A000AF93BF93EF93FF938091E10082FF0BC053\r
-:1017B0008091E20082FF07C08091E1008B7F8093DF\r
-:1017C000E1000E942F0E8091DA0080FF1FC08091FF\r
-:1017D000D80080FF1BC08091DA008E7F8093DA00F2\r
-:1017E0008091D90080FF0DC080E189BD82E189BD73\r
-:1017F00009B400FEFDCF81E08093E4010E94280837\r
-:1018000005C019BC1092E4010E9436088091E100E5\r
-:1018100080FF19C08091E20080FF15C08091E20036\r
-:101820008E7F8093E2008091E20080618093E200ED\r
-:101830008091D80080628093D80019BC85E08093A5\r
-:10184000E4010E943A088091E10084FF30C0809159\r
-:10185000E20084FF2CC080E189BD82E189BD09B42A\r
-:1018600000FEFDCF8091D8008F7D8093D8008091BD\r
-:10187000E1008F7E8093E1008091E2008F7E809373\r
-:10188000E2008091E20081608093E2008091E001BB\r
-:10189000882311F084E007C08091E30087FD02C037\r
-:1018A00081E001C083E08093E4010E943C088091C4\r
-:1018B000E10083FF29C08091E20083FF25C0809171\r
-:1018C000E100877F8093E10082E08093E401109241\r
-:1018D000E0018091E1008E7F8093E1008091E20041\r
-:1018E0008E7F8093E2008091E20080618093E2002D\r
-:1018F00042E060E080E00E94C10A8091F0008860D0\r
-:101900008093F0000E943908FF91EF91BF91AF9151\r
-:101910009F918F917F916F915F914F913F912F9107\r
-:101920000F900FBE0F901F9018951F920F920FB639\r
-:101930000F9211242F933F934F935F936F937F9355\r
-:101940008F939F93AF93BF93CF93DF93EF93FF93C7\r
-:10195000C091E900CF708091EC00D82FD17080FD4C\r
-:10196000D0E81092E9008091F000877F8093F0002A\r
-:1019700078940E94D90C1092E9008091F000886060\r
-:101980008093F000CD2BCF70C093E900FF91EF91D1\r
-:10199000DF91CF91BF91AF919F918F917F916F9187\r
-:1019A0005F914F913F912F910F900FBE0F901F901D\r
-:1019B00018951F93CF93DF93CDB7DEB7AA970FB6D5\r
-:1019C000F894DEBF0FBECDBFE5EEF1E08091F100EF\r
-:1019D000819321E0ED3EF207C9F70E9458088091FB\r
-:1019E000E80083FF24C18091E5019091E601492F31\r
-:1019F00050E04A30510508F01AC1FA01EA5AFF4F87\r
-:101A00000C948D22803881F0823809F010C18091C9\r
-:101A1000E9018F708093E9008091EB0085FB8827B6\r
-:101A200080F91092E90006C08091E1019091E201F5\r
-:101A3000911182609091E800977F9093E8008093E5\r
-:101A4000F1001092F100C8C0282F2D7F09F0EFC0DF\r
-:101A5000882319F0823061F0EAC08091E70181307B\r
-:101A600009F0E5C0933009F080E08093E2012BC0DB\r
-:101A70008091E701811127C08091E9018F7009F4FD\r
-:101A8000D6C08093E9002091EB0020FF1CC093306A\r
-:101A900021F48091EB00806214C09091EB00906182\r
-:101AA0009093EB0021E030E0A90102C0440F551FE4\r
-:101AB0008A95E2F74093EA001092EA008091EB00E9\r
-:101AC00088608093EB001092E9008091E800877FA6\r
-:101AD00086C08111ACC01091E7011F778091E300AF\r
-:101AE0008078812B8093E3008091E800877F80934A\r
-:101AF000E8000E94F60A8091E80080FFFCCF809108\r
-:101B0000E30080688093E300111102C082E001C00D\r
-:101B100083E08093E4018BC08058823008F087C056\r
-:101B20008091E7019091E8018C3D53E0950779F5AC\r
-:101B300083E08A838AE289834FB7F894DE011396A3\r
-:101B400020E03EE051E2E32FF0E050935700E491B3\r
-:101B500020FF03C0E295EF703F5FEF708E2F90E0A3\r
-:101B6000EA3010F0C79601C0C0968D939D932F5F09\r
-:101B7000243149F74FBF8091E800877F8093E800C8\r
-:101B80006AE270E0CE0101960E94020A14C0AE0122\r
-:101B90004F5F5F4F6091E9010E944B09BC01892BA7\r
-:101BA00009F445C09091E800977F9093E8008981FF\r
-:101BB0009A810E94600A8091E8008B778093E80008\r
-:101BC00036C08038A1F58091E800877F8093E800D7\r
-:101BD0008091E0018093F1008091E8008E778093FE\r
-:101BE000E8000E94F60A23C0811121C08091E7011C\r
-:101BF0009091E80199270297D4F48091E800877FBB\r
-:101C00008093E8008091E7018093E0010E94F60A4A\r
-:101C10008091E001811106C08091E30087FD02C040\r
-:101C200081E001C084E08093E4010E944408809137\r
-:101C3000E80083FF0AC08091E800877F8093E80076\r
-:101C40008091EB0080628093EB00AA960FB6F89427\r
-:101C5000DEBF0FBECDBFDF91CF911F9108950895D4\r
-:101C6000CF938091E4018823A1F0C091E900CF7067\r
-:101C70009091EC00892F817090FD80E8C82B109224\r
-:101C8000E9008091E80083FD0E94D90CCF70C093D9\r
-:101C9000E900CF91089590936901809368010895B8\r
-:101CA000E0916801F0916901309721F00190F08195\r
-:101CB000E02D099480E00895E0916801F0916901B8\r
-:101CC000309721F00280F381E02D09940895E0918E\r
-:101CD0006801F0916901309721F00480F581E02DD1\r
-:101CE00009940895209166013091670128173907FA\r
-:101CF00071F09093670180936601E0916801F09123\r
-:101D00006901309721F00680F781E02D099408954C\r
-:101D100020916401309165012817390771F0909383\r
-:101D2000650180936401E0916801F0916901309749\r
-:101D300021F00084F185E02D0994089508950C9414\r
-:101D40009E0E0E945C1A0E940E040C94221BCF92DD\r
-:101D5000DF92EF92FF920F931F93CF93DF93CDB754\r
-:101D6000DEB72B970FB6F894DEBF0FBECDBF0E9433\r
-:101D700026048BE6C82E81E0D82E00E010E0E02E8D\r
-:101D8000802F0E941C05F60141916F01F82EF42668\r
-:101D9000B1F40F5F1F4F0E30110589F78FEF898364\r
-:101DA0008A831B820E94651A8160782F9D838C83B1\r
-:101DB00049815A816B818D810E944A0F40C0909168\r
-:101DC000CC0191FF04C08B870E9422058B8520E007\r
-:101DD00030E04F2D50E0922FBA01022E02C07595CF\r
-:101DE00067950A94E2F760FF24C02E83EF8221E01A\r
-:101DF00030E0690102C0CC0CDD1C9A95E2F790E05E\r
-:101E00008C219D21892B09F420E028870E94651AE6\r
-:101E10008160782F9A8789874E815F8168858A855E\r
-:101E20000E944A0FF801E559FE4F8081C826C08202\r
-:101E300006C02F5F3F4F2630310569F6AACF0E94BA\r
-:101E4000091E0E94500E90916A018917A1F00E940C\r
-:101E5000500E80936A012B960FB6F894DEBF0FBE2A\r
-:101E6000CDBFDF91CF911F910F91FF90EF90DF9049\r
-:101E7000CF900C9446072B960FB6F894DEBF0FBE9A\r
-:101E8000CDBFDF91CF911F910F91FF90EF90DF9029\r
-:101E9000CF900895CF93DF93CDB7DEB72B970FB6D2\r
-:101EA000F894DEBF0FBECDBF4F83588769877A870E\r
-:101EB0008B87DE01119686E0FD0111928A95E9F784\r
-:101EC00085E0FE01379601900D928A95E1F74981F0\r
-:101ED0005A816B817C818D819E810E944D162B964B\r
-:101EE0000FB6F894DEBF0FBECDBFDF91CF9108953E\r
-:101EF000CF93C82F882309F4C1C0823859F40E94B7\r
-:101F0000500E81FDBBC089E30E94EA180E94A2190D\r
-:101F100089E30CC0833879F40E94500E80FDAEC076\r
-:101F200083E50E94EA180E94A21983E50E942919FC\r
-:101F3000CF910C94A219843859F40E94500E82FD5E\r
-:101F40009DC087E40E94EA180E94A21987E4EECFA0\r
-:101F50008CEF8C0F813A48F48C2F0E94492081111C\r
-:101F60008DC08C2F0E94EA18E3CF80E28C0F88305E\r
-:101F700048F4C77081E001C0880FCA95EAF70E9453\r
-:101F80006B19D6CF8BE58C0F833078F4C53A29F0E6\r
-:101F9000C63A31F083E890E005C081E890E002C0E5\r
-:101FA00082E890E0CF910C94720E88E58C0F83311B\r
-:101FB00008F064C0C83A39F1C93A41F1CA3A49F166\r
-:101FC000CB3A51F1CC3A59F1CD3A61F1C03B69F1CC\r
-:101FD000CE3A71F1CF3A79F1C13B81F1C23B89F13F\r
-:101FE000C33B91F1C43B99F1C53BA1F1C63BA9F1BB\r
-:101FF000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11B\r
-:1020000080E090E038C082EE90E035C089EE90E04C\r
-:1020100032C08AEE90E02FC085EB90E02CC086EBBA\r
-:1020200090E029C087EB90E026C08CEC90E023C0C4\r
-:102030008DEC90E020C083E891E01DC08AE891E03B\r
-:102040001AC082E991E017C084E991E014C081E2EE\r
-:1020500092E011C083E292E00EC084E292E00BC0F5\r
-:1020600085E292E008C086E292E005C087E292E055\r
-:1020700002C08AE292E0CF910C94880ECF9108952D\r
-:10208000882309F44BC0823859F40E94500E81FF16\r
-:1020900045C089E30E94EA180E94A21989E30CC096\r
-:1020A000833871F40E94500E80FF38C083E50E948F\r
-:1020B000EA180E94A21983E50E9429190C94A2191A\r
-:1020C000843859F40E94500E82FF28C087E40E9491\r
-:1020D000EA180E94A21987E4EFCF9CEF980F913A7B\r
-:1020E00058F390E2980F983050F4877091E001C057\r
-:1020F000990F8A95EAF7892F0E947119DFCF9BE526\r
-:10210000980F933020F480E090E00C94720E885A7F\r
-:10211000833120F480E090E00C94880E08958823A9\r
-:1021200021F00E946B190C94A2190895882321F0C4\r
-:102130000E9471190C94A2190895BF92CF92DF9258\r
-:10214000EF92FF920F931F93CF93DF9300D000D0B5\r
-:1021500000D0CDB7DEB77C0185E0F701DE01119636\r
-:1021600001900D928A95E1F7F70183819481892B83\r
-:1021700009F4DDC2908181818F3F19F49F3F09F4FA\r
-:10218000D6C2F7010281258122952F7099838A8317\r
-:1021900089819A812E830E94A918182FB92E0E9436\r
-:1021A000A8180E946F17EB2DE295EF704E2F50E0AC\r
-:1021B000FA01E05AFF4F2E810C948D228B2D807FE7\r
-:1021C0009B2D9F70F92E882319F0F29480EFF8224E\r
-:1021D000002349F0FF2009F457C28F2D0E947B197C\r
-:1021E0000E94A21951C2812F0E944010FF2009F4C1\r
-:1021F0009EC28F2D0E94811926960FB6F894DEBFDD\r
-:102200000FBECDBFDF91CF911F910F91FF90EF9047\r
-:10221000DF90CF90BF900C94A2193B2D307F8B2D77\r
-:102220008F70303211F08295807F112319F01130B8\r
-:1022300021F12CC00023B9F0222309F490C12130F0\r
-:1022400009F08DC126960FB6F894DEBF0FBECDBF44\r
-:10225000DF91CF911F910F91FF90EF90DF90CF9082\r
-:10226000BF900C948B19222319F0213009F45FC21E\r
-:102270008E830E948E198E8186C1002321F0223028\r
-:1022800008F055C26CC1211152C27DC1002321F05A\r
-:10229000222309F464C1F8C1222309F474C109C2DC\r
-:1022A0008B2D86958695837019F08130D1F03FC2D1\r
-:1022B000002321F0812F9B2D937002C080E090E0DD\r
-:1022C00026960FB6F894DEBF0FBECDBFDF91CF913B\r
-:1022D0001F910F91FF90EF90DF90CF90BF900C94E3\r
-:1022E000720E002321F0812F9B2D937002C080E09D\r
-:1022F00090E026960FB6F894DEBF0FBECDBFDF91FB\r
-:10230000CF911F910F91FF90EF90DF90CF90BF90F2\r
-:102310000C94880E812F002319F00E94111D02C019\r
-:102320000E94791D26960FB6F894DEBF0FBECDBF72\r
-:10233000DF91CF911F910F91FF90EF90DF90CF90A1\r
-:10234000BF900C94FE1D8B2D837009F075C0011198\r
-:10235000EEC1812F829586958770880F880F912F07\r
-:102360009F70C92ED12CE12CF12C082E04C0CC0C6E\r
-:10237000DD1CEE1CFF1C0A94D2F714FF12C00FE004\r
-:1023800010E020E030E004C0000F111F221F331FB7\r
-:102390008A95D2F7C901B80160957095809590959E\r
-:1023A00003C060E070E0CB014B2D4695469543702D\r
-:1023B0004230C1F060F56C297D298E299F2941307A\r
-:1023C00051F126960FB6F894DEBF0FBECDBFDF9158\r
-:1023D000CF911F910F91FF90EF90DF90CF90BF9022\r
-:1023E0000C9496176C297D298E299F2926960FB665\r
-:1023F000F894DEBF0FBECDBFDF91CF911F910F913B\r
-:10240000FF90EF90DF90CF90BF900C94B2170E9496\r
-:102410009617C701B60126960FB6F894DEBF0FBE19\r
-:10242000CDBFDF91CF911F910F91FF90EF90DF9083\r
-:10243000CF90BF900C947A17002319F08B2D8170E8\r
-:1024400001C08695882309F472C1812F82958695F3\r
-:102450008770880F880F912F9F70C92ED12CE12C87\r
-:10246000F12C082E04C0CC0CDD1CEE1CFF1C0A94C1\r
-:10247000D2F714FF12C00FE010E020E030E004C0FB\r
-:10248000000F111F221F331F8A95D2F7C901B8010F\r
-:10249000609570958095909503C060E070E0CB01E9\r
-:1024A0004B2D4695469543704230C1F060F56C293E\r
-:1024B0007D298E299F29413051F126960FB6F89437\r
-:1024C000DEBF0FBECDBFDF91CF911F910F91FF9067\r
-:1024D000EF90DF90CF90BF900C9470186C297D29FD\r
-:1024E0008E299F2926960FB6F894DEBF0FBECDBF6A\r
-:1024F000DF91CF911F910F91FF90EF90DF90CF90E0\r
-:10250000BF900C948C180E947018C701B6012696D3\r
-:102510000FB6F894DEBF0FBECDBFDF91CF911F91F4\r
-:102520000F91FF90EF90DF90CF90BF900C945418D4\r
-:10253000103FD1F118F4103E50F4A1C0123F09F43D\r
-:1025400063C008F44CC0133F09F473C098C01F70F7\r
-:102550008B2D8F710023A1F00E94ED17812F2696FD\r
-:102560000FB6F894DEBF0FBECDBFDF91CF911F91A4\r
-:102570000F91FF90EF90DF90CF90BF900C948F1051\r
-:102580000E940E18812F26960FB6F894DEBF0FBE5C\r
-:10259000CDBFDF91CF911F910F91FF90EF90DF9012\r
-:1025A000CF90BF900C9496100023A9F02111BFC0CA\r
-:1025B0008B2D8F7126960FB6F894DEBF0FBECDBF60\r
-:1025C000DF91CF911F910F91FF90EF90DF90CF900F\r
-:1025D000BF900C943318223008F0A9C0E9CF002333\r
-:1025E000A9F08B2D8F7126960FB6F894DEBF0FBE23\r
-:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2\r
-:10260000CF90BF900C94ED17002359F38B2D8F7151\r
-:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7\r
-:102620001F910F91FF90EF90DF90CF90BF900C948F\r
-:102630000E18002399F08B2D8F7126960FB6F89403\r
-:10264000DEBF0FBECDBFDF91CF911F910F91FF90E5\r
-:10265000EF90DF90CF90BF900C94D81726960FB6CE\r
-:10266000F894DEBF0FBECDBFDF91CF911F910F91C8\r
-:10267000FF90EF90DF90CF90BF900C94CE17002387\r
-:10268000A9F0222309F4ADCF812F26960FB6F89436\r
-:10269000DEBF0FBECDBFDF91CF911F910F91FF9095\r
-:1026A000EF90DF90CF90BF900C94780F222309F425\r
-:1026B000ADCF812F26960FB6F894DEBF0FBECDBFEB\r
-:1026C000DF91CF911F910F91FF90EF90DF90CF900E\r
-:1026D000BF900C9440104B2D4F70612FC7010E948A\r
-:1026E000AE0226960FB6F894DEBF0FBECDBFDF91C7\r
-:1026F000CF911F910F91FF90EF90DF90CF90BF90FF\r
-:102700000C94F2164B2D4F70612FC70126960FB611\r
-:10271000F894DEBF0FBECDBFDF91CF911F910F9117\r
-:10272000FF90EF90DF90CF90BF900C94E30526963A\r
-:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2\r
-:102740000F91FF90EF90DF90CF90BF9008950E947F\r
-:1027500088190E945D190E94A2190E94AE1E0E9453\r
-:10276000FE1D80E090E00E94720E80E090E00C94EC\r
-:10277000880E0E9478190C94A7130E94A918292F7B\r
-:1027800022952F702C3030F42A3048F42250223019\r
-:1027900078F405C02C3041F02F3031F009C0803E74\r
-:1027A00048F0803F29F406C093FB882780F90895FC\r
-:1027B00080E0089581E00895CF93DF9300D000D0AA\r
-:1027C0001F92CDB7DEB70F900F900F900F900F9024\r
-:1027D000DF91CF910895CF93DF9300D000D000D048\r
-:1027E000CDB7DEB726960FB6F894DEBF0FBECDBFCD\r
-:1027F000DF91CF9108951F93CF93DF93C09179011B\r
-:1028000016E080917A01C81799F0D0E01C9FF00182\r
-:102810001D9FF00D1124E558FE4F408151816281CA\r
-:102820007381848195810E94EB132196C770E9CF53\r
-:10283000DF91CF911F9108954091AB015091AC0170\r
-:102840006091AD017091AE018091AF019091B001A6\r
-:102850000C94EB138091B00182958F7009F054C0F5\r
-:102860008091AD01882309F44FC080917901A09136\r
-:102870007A014091AE015091AF016091AB0170912E\r
-:10288000AC01B6E08A1709F43FC090E0411551054C\r
-:10289000C1F17F3F11F46F3FA1F1B89FF001B99FE3\r
-:1028A000F00D1124E558FE4F218127132AC0208105\r
-:1028B000261327C02281211124C0238134812417AB\r
-:1028C000350710F421503109241B350B283C310504\r
-:1028D000C0F42091B0012F7020612093B00126E058\r
-:1028E000289FF001299FF00D1124E058FE4F8081B0\r
-:1028F0008F70806180838BEA91E00E949D100C9420\r
-:10290000FB1301968770BECF0895CF92DF92EF92AE\r
-:10291000FF920F931F93CF93DF93CDB7DEB76297EC\r
-:102920000FB6F894DEBF0FBECDBF8C0185E0F80175\r
-:10293000DE011D9601900D928A95E1F7D8014C9128\r
-:1029400011965C91119712966C918091AE019091C5\r
-:10295000AF01009709F475C13091AB017091AC01E2\r
-:102960007F3F19F43F3F09F46CC1F801C380D48064\r
-:10297000E090AD01EE2009F4BEC02091B001C81670\r
-:10298000D90628F0D601A81BB90BCD0104C080954B\r
-:1029900090958C0D9D1DFF24F394883C910578F053\r
-:1029A000F12C207F09F0C4C07C2DD98AC88A89897E\r
-:1029B0000E94DC138BEA91E00E949D10AFC0822F31\r
-:1029C000807F09F045C0571313C0431311C0611134\r
-:1029D0000FC02F7020612093B0010E941C148BEA5D\r
-:1029E00091E00E949D108091B001F80185832EC076\r
-:1029F000CD2819F15F3F11F44F3FF9F0F62E611128\r
-:102A00001CC08091790120917A0136E0821709F487\r
-:102A10005BC090E0389FF001399FF00D1124E5581C\r
-:102A2000FE4F7181571306C07081471303C0728136\r
-:102A3000711103C001968770E9CFF62E662309F461\r
-:102A40001CC18091B00181608093B001F12C15C14F\r
-:102A5000571309C0431307C0611105C08091B0012D\r
-:102A6000F8018583C8C04D875E878D859E856A8BFA\r
-:102A70000E94BD136A898823D1F16623C1F1209198\r
-:102A8000B001822F82958F7090E0029774F0809150\r
-:102A9000AB019091AC0198878F831986DB86CA863B\r
-:102AA0002C87CE0107960E949D1086E0F801ABEAC4\r
-:102AB000B1E001900D928A95E1F70E942A140E94DC\r
-:102AC0001C14FF24F394D9C04D875E878D859E85A5\r
-:102AD0000E94A918292F22952F70223008F0C1C01A\r
-:102AE0009F7009F0BBC0805E883008F4C6C0C80182\r
-:102AF0000E949D10E6CFC816D90608F453C0F6010F\r
-:102B0000E81BF90BCF01883C910508F450C0F12C6B\r
-:102B10007C2DD98AC88A89890E94DC13EBEAF1E00E\r
-:102B200086E0DF011D928A95E9F70E941C14A5C07A\r
-:102B3000571314C0431312C0611110C08091B0012B\r
-:102B4000F8018583C8010E949D1086E0EBEAF1E060\r
-:102B5000DF011D928A95E9F7FE2C8FC04D875E87B5\r
-:102B60008D859E856A8B0E94BD136A89882309F42E\r
-:102B7000BECF662309F4BBCF2091B001822F82958E\r
-:102B80008F7090E002970CF490CF8091AB01909100\r
-:102B9000AC019A8389831B82DD82CC822E83CE0195\r
-:102BA000019681CF809590958C0D9D1DACCFF62E12\r
-:102BB000662309F49CCF571333C0431331C02091CF\r
-:102BC000B00120FD24C0822F82958F70482F50E0E5\r
-:102BD00041155105E1F0D80115962C9315974F300A\r
-:102BE000510549F08F5F982F9295907F822F8F70BB\r
-:102BF000892B15968C93C8010E949D1086E0F801E0\r
-:102C0000ABEAB1E001900D928A95E1F78ECF86E0B4\r
-:102C1000F801ABEAB1E001900D928A95E1F72DC081\r
-:102C20004D875E878D859E850E94BD1381113DCFA6\r
-:102C30008091B00181608093B001C8010E949D1015\r
-:102C40001CC0662309F453CF4D875E878D859E8512\r
-:102C50000E94BD13882309F44ACF27CF811143CFA7\r
-:102C60000CC0243008F043CF9F7009F43CCFD8014A\r
-:102C700015969C91907F09F036CF8F2D62960FB6F6\r
-:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2\r
-:102C9000FF90EF90DF90CF9008951F93CF93DF9335\r
-:102CA000CDB7DEB72C970FB6F894DEBF0FBECDBF01\r
-:102CB0004F83588769877A878B879C87CE010796D1\r
-:102CC0000E948514882371F08A859B85892B09F4DD\r
-:102CD00041C088858F3F09F065C08F818F3F09F023\r
-:102CE00061C038C086E0FE013796DE011196019082\r
-:102CF0000D928A95E1F76A857B856115710551F121\r
-:102D0000FF81E885EF3F11F4FF3F21F120917A0127\r
-:102D100030E0C9010196877099274091790150E010\r
-:102D20008417950709F447C0F983EA837D836C8390\r
-:102D300096E0929FD001939FB00D1124A558BE4FED\r
-:102D4000FE01319601900D929A95E1F780937A01F8\r
-:102D50000E94FB1316E08091790190917A01891706\r
-:102D6000B9F1189FC001112485589E4F0E94851407\r
-:102D7000882371F1E09179011E9FF0011124E5583B\r
-:102D8000FE4F4081518162817381848195810E94CF\r
-:102D9000EB138091790190E00196877099278093D9\r
-:102DA0007901D9CF4F81588569857A858B859C8536\r
-:102DB0000E94EB13CFCF0E94B91310927A011092A8\r
-:102DC0007901EBEAF1E086E0DF011D928A95E9F7EF\r
-:102DD0002C960FB6F894DEBF0FBECDBFDF91CF911A\r
-:102DE0001F910895EF92FF920F931F93CF93DF935C\r
-:102DF0008C01892B09F46CC0F12CEE24E394E801DA\r
-:102E00002196F8018491843740F4843008F051C051\r
-:102E1000813081F0823019F15BC0853709F444C0FC\r
-:102E2000A8F19CE7980F903708F052C08F770E9466\r
-:102E3000401041C00E5F1F4FFE01849190E2980F39\r
-:102E4000983050F48770FE2D01C0FF0F8A95EAF785\r
-:102E50008F2F0E947B1914C00E94780F2DC00E5F27\r
-:102E60001F4FFE01849190E2980F983060F48770B4\r
-:102E7000FE2D01C0FF0F8A95EAF78F2F0E9481195E\r
-:102E80000E94A21919C00E94401016C00E5F1F4F69\r
-:102E9000FE01C491CC2381F08FE99FE00197F1F707\r
-:102EA00000C00000C150F6CF0E5F1F4FFE01F4902E\r
-:102EB00003C00E94780F8E018F2D882309F49FCFC5\r
-:102EC000EFE9FFE03197F1F700C000008150F5CF46\r
-:102ED000DF91CF911F910F91FF90EF90089508958A\r
-:102EE0006093B5017093B6018093B7019093B801D8\r
-:102EF0000C94A7130F931F930091B5011091B60185\r
-:102F00002091B7013091B801DC01CB01802B912BCE\r
-:102F1000A22BB32B8093B5019093B601A093B70178\r
-:102F2000B093B8011F910F910C94A7130F931F93A7\r
-:102F30000091B5011091B6012091B7013091B8010F\r
-:102F4000DC01CB0180239123A223B3238093B5011D\r
-:102F50009093B601A093B701B093B8011F910F9160\r
-:102F60000C94A7130F931F930091B5011091B60114\r
-:102F70002091B7013091B801DC01CB018027912766\r
-:102F8000A227B3278093B5019093B601A093B70110\r
-:102F9000B093B8011F910F910C94A7131092B10137\r
-:102FA0001092B2011092B3011092B4010C94A713C5\r
-:102FB00041E050E060E070E004C0440F551F661F20\r
-:102FC000771F8A95D2F74093B1015093B201609375\r
-:102FD000B3017093B4010C94A71341E050E060E09A\r
-:102FE00070E004C0440F551F661F771F8A95D2F703\r
-:102FF0008091B1019091B201A091B301B091B4015F\r
-:10300000482B592B6A2B7B2B4093B1015093B20173\r
-:103010006093B3017093B4010C94A71341E050E0A6\r
-:1030200060E070E004C0440F551F661F771F8A954B\r
-:10303000D2F740955095609570958091B10190912F\r
-:10304000B201A091B301B091B401482359236A237E\r
-:103050007B234093B1015093B2016093B30170930D\r
-:10306000B4010C94A71341E050E060E070E004C0AC\r
-:10307000440F551F661F771F8A95D2F78091B101C3\r
-:103080009091B201A091B301B091B40148275927A2\r
-:103090006A277B274093B1015093B2016093B3013B\r
-:1030A0007093B4010C94A7130F931F930091B10177\r
-:1030B0001091B2012091B3013091B401DC01CB0138\r
-:1030C000802B912BA22BB32B8093B1019093B20153\r
-:1030D000A093B301B093B4011F910F910C94A71367\r
-:1030E0000F931F930091B1011091B2012091B30190\r
-:1030F0003091B401DC01CB0180239123A223B323BF\r
-:103100008093B1019093B201A093B301B093B40145\r
-:103110001F910F910C94A7130F931F930091B1016E\r
-:103120001091B2012091B3013091B401DC01CB01C7\r
-:1031300080279127A227B3278093B1019093B201F2\r
-:10314000A093B301B093B4011F910F910C94A713F6\r
-:103150000895CF92DF92EF92FF920F931F93CF9338\r
-:10316000DF938C01C090B101D090B201E090B30127\r
-:10317000F090B4018091B5019091B601A091B70192\r
-:10318000B091B801C82AD92AEA2AFB2ACFE1D0E0B7\r
-:10319000D701C6010C2E04C0B695A79597958795C3\r
-:1031A0000A94D2F780FF07C0B8018C2F0E9407064F\r
-:1031B0008130910531F4219758F7B80180E00E94E1\r
-:1031C0000706DF91CF911F910F91FF90EF90DF9055\r
-:1031D000CF90089590910C019923F1F090910D01F9\r
-:1031E0009923D1F0982F9695969596959F3080F5D6\r
-:1031F000E0910E01F0910F01E90FF11D877021E0C0\r
-:1032000030E0A90102C0440F551F8A95E2F7CA01B8\r
-:103210009181892B8183089520910E0130910F01B6\r
-:10322000F90132969FEF40E05191851789F09F3F59\r
-:1032300019F4511101C0942F4F5F4E30A9F79F3FF1\r
-:1032400039F0F901E90FF11D97FDFA958283089590\r
-:10325000089590910C019923F9F090910D01992313\r
-:10326000D9F0982F9695969596959F3028F5E091F0\r
-:103270000E01F0910F01E90FF11D877021E030E0A0\r
-:10328000A90102C0440F551F8A95E2F7CA01809533\r
-:10329000918189238183089520910E0130910F013E\r
-:1032A000F9013296205F3F4F9081891301C010824F\r
-:1032B0003196E217F307C1F7089581E090E0E091BD\r
-:1032C0000E01F0910F01E80FF91F10820196803175\r
-:1032D0009105A9F708959091CB01892B8093CB019B\r
-:1032E000089580959091CB0189238093CB01089517\r
-:1032F0001092CB0108959091CA01892B8093CA0145\r
-:10330000089580959091CA0189238093CA010895F8\r
-:103310001092CA0108958093B90108951092B901DD\r
-:10332000089580910E0190910F01FC0131969C014E\r
-:10333000205F3F4F80E0919191118F5FE217F3077B\r
-:10334000D1F70895E0910E01F0910F018091CB012A\r
-:103350008083E0910E01F0910F0190818091CA016C\r
-:10336000892B80838091B901882361F0E0910E015F\r
-:10337000F0910F019081892B80830E949119811116\r
-:103380001092B90180910E0190910F010C945C0E86\r
-:10339000CF92DF92EF92FF926C01EE24FF24C114D2\r
-:1033A000D104E104F10421F0C701B60120E101C01C\r
-:1033B00020E0C72ED82EE92EFF24C114D104E10449\r
-:1033C000F10419F0285FC701B6016B017C0154E0DC\r
-:1033D000F694E794D794C7945A95D1F7C114D104C1\r
-:1033E000E104F10419F02C5FC701B6016B017C0107\r
-:1033F00042E0F694E794D794C7944A95D1F7C11464\r
-:10340000D104E104F10419F02E5FC701B601DC011B\r
-:10341000CB01B695A79597958795892B8A2B8B2BF2\r
-:1034200009F02F5F822FFF90EF90DF90CF900895EB\r
-:103430008091E401843011F120E488E190E00FB63E\r
-:10344000F894A895809360000FBE2093600083B726\r
-:10345000817F846083BF83B7816083BF78948895C0\r
-:1034600083B78E7F83BF0FB6F894A89580916000D4\r
-:10347000886180936000109260000FBE08950895E7\r
-:103480000C943F1ACF930E94401A0E9426040E9477\r
-:103490003F1AC0E08C2F0E941C05811104C0CF5F31\r
-:1034A000CE30C1F701C081E0CF9108950E94B913D9\r
-:1034B0000E94500E0C94460782E084BD93E095BDB7\r
-:1034C0009AEF97BD80936E0008952FB7F89480917E\r
-:1034D000CD019091CE01A091CF01B091D0012FBF2D\r
-:1034E0000895CF92DF92EF92FF920F931F932FB721\r
-:1034F000F8944091CD015091CE016091CF0170912F\r
-:10350000D0012FBF6A017B01EE24FF248C0120E053\r
-:1035100030E0C016D106E206F30610F4415051091E\r
-:103520009A01281B390BC9011F910F91FF90EF9051\r
-:10353000DF90CF9008951F920F920FB60F92112433\r
-:103540008F939F93AF93BF938091CD019091CE01C4\r
-:10355000A091CF01B091D0010196A11DB11D809322\r
-:10356000CD019093CE01A093CF01B093D001BF9134\r
-:10357000AF919F918F910F900FBE0F901F90189554\r
-:103580000E94480BF8942FEF87EA91E62150804083\r
-:103590009040E1F700C0000087E090EBDC018093F1\r
-:1035A000ED019093EE01A093EF01B093F0019CE048\r
-:1035B00088E10FB6F894A895809360000FBE9093B1\r
-:1035C0006000FFCFEF92FF920F931F93CF93DF9393\r
-:1035D000D82FC0E08C2F0E941C0500E010E0E82EE0\r
-:1035E000F12CC701002E02C0959587950A94E2F749\r
-:1035F00080FD06C00F5F1F4F0630110591F709C00F\r
-:10360000602F7C2F80E00E94E4058D13F3CF81E0D2\r
-:1036100004C0CF5FCE30F1F680E0DF91CF911F91F3\r
-:103620000F91FF90EF900895CF93C82F8CE20E94E6\r
-:10363000E21A882321F08C2FCF910C94E21A80E0BB\r
-:10364000CF910895CF930E94691C811102C00E94FE\r
-:103650004F1CC5E6C15049F00E9426048FE39CE947\r
-:103660000197F1F700C00000F5CF89E20E94141B1A\r
-:10367000811113C18AE20E94141B81110E944F1C08\r
-:1036800085E00E94141B81110E94C01A0E94741CC4\r
-:103690008093CC0187E00E94141B8823A9F18BE161\r
-:1036A0000E94141B882351F08091CC0181FB2227BA\r
-:1036B00020F991E0922790FB81F90EC08EE00E94E4\r
-:1036C000141B882361F08091CC0182FB222720F912\r
-:1036D00091E0922790FB82F98093CC0115C080E1A4\r
-:1036E0000E94141B9091CC01882341F093FB222768\r
-:1036F00020F981E0822780FB93F904C0892F80950F\r
-:1037000080FB90F99093CC018091CC010E94781CB1\r
-:103710000E94861C8093DE0180EE0E94141B882389\r
-:1037200041F08091DE01982F909590FB80F9809375\r
-:10373000DE0189E30E94141B882359F08091DE0189\r
-:1037400081FB222720F991E0922790FB81F9809359\r
-:10375000DE0182EE0E94141B882359F08091DE0165\r
-:1037600082FB222720F991E0922790FB82F9809337\r
-:10377000DE0186EE0E94141B882359F08091DE0141\r
-:1037800083FB222720F991E0922790FB83F9809315\r
-:10379000DE0183EE0E94141B882359F08091DE0124\r
-:1037A00084FB222720F991E0922790FB84F98093F3\r
-:1037B000DE0185E30E94141B882359F08091DE010D\r
-:1037C00085FB222720F991E0922790FB85F98093D1\r
-:1037D000DE0181E30E94141B882359F08091DE01F1\r
-:1037E00086FB222720F991E0922790FB86F98093AF\r
-:1037F000DE0181E10E94141B882359F08091DE01D3\r
-:1038000087FB222720F991E0922790FB87F980938C\r
-:10381000DE018091DE010E948A1C8091DE0187FB1F\r
-:10382000882780F980930D0187E20E94141BC82F1E\r
-:103830008EE10E94141B8111C2608FE10E94141B53\r
-:103840008111C46080E20E94141B8111C86081E272\r
-:103850000E94141B8111C06182E20E94141B81111D\r
-:10386000C06283E20E94141B8111C06484E20E9442\r
-:10387000141B882311F0C06802C0CC2329F08C2FC0\r
-:103880000E94811C6C2F03C00E947D1C682F70E079\r
-:1038900080E090E0CF910C947017CF9108956DEE79\r
-:1038A0007EEF80E090E00E94C32260E082E090E042\r
-:1038B0000E94B52260E083E090E00E94B52260E0C3\r
-:1038C00084E090E00E94B52260E085E090E00C94F6\r
-:1038D000B52280E090E00E94AF2221E08D3E9E4F15\r
-:1038E00009F020E0822F089582E090E00C94A72256\r
-:1038F000682F82E090E00C94B52283E090E00C9475\r
-:10390000A722682F83E090E00C94B52284E090E039\r
-:103910000C94A722682F84E090E00C94B52280914B\r
-:10392000D30180FF0BC06091130185E0689FB00157\r
-:10393000112475956795759567952BC081FF09C012\r
-:103940006091130185E0689FB0011124759567951A\r
-:1039500020C082FF07C06091130185E0689FB0011D\r
-:10396000112417C09091D4019923D1F060911201D4\r
-:10397000961788F72091130185E0289F9001112464\r
-:10398000929FA001939F500D112470E0CA010E94E4\r
-:1039900079226038710540F46115710519F406C08B\r
-:1039A00065E070E0862F08958FE7089581E008951F\r
-:1039B0008091D30180FF08C06091110170E075957E\r
-:1039C00067957595679521C081FF06C060911101CB\r
-:1039D00070E07595679519C082FF04C06091110170\r
-:1039E00070E010C09091D401992399F0609110017A\r
-:1039F0009617A0F780911101899FC001112470E0F2\r
-:103A00000E9479226038710540F46115710519F43E\r
-:103A100006C061E070E0862F08958FE7089581E089\r
-:103A20000895803F21F40E948F1C819504C0813F3E\r
-:103A300029F40E948F1C8093D7010895823F21F4BE\r
-:103A40000E948F1C819504C0833F29F40E948F1C23\r
-:103A50008093D6010895893F19F40E94D81C05C0AF\r
-:103A60008A3F31F40E94D81C81958093D801089533\r
-:103A70008B3F21F40E94D81C819504C08C3F29F40F\r
-:103A80000E94D81C8093D9010895843F21F480912D\r
-:103A9000D501816017C0853F21F48091D5018260F6\r
-:103AA00011C0863F21F48091D50184600BC0873F0F\r
-:103AB00021F48091D501886005C0883F31F4809160\r
-:103AC000D50180618093D50108958D3F21F48091C7\r
-:103AD000D30181600BC08E3F21F48091D3018260BD\r
-:103AE00005C08F3F29F48091D30184608093D30176\r
-:103AF0000895803F39F48091D70187FF6CC0109200\r
-:103B0000D70169C0813F29F48091D7011816BCF311\r
-:103B100062C09091D601823F29F497FF5CC0109259\r
-:103B2000D60159C0833F19F41916CCF354C0893F0C\r
-:103B300041F48091D80118160CF04DC01092D801B4\r
-:103B40004AC08A3F29F48091D80187FF44C0F6CF4C\r
-:103B50008B3F39F48091D90187FF3DC01092D90184\r
-:103B60003AC08C3F29F48091D9011816BCF333C0B8\r
-:103B7000843F21F48091D5018E7F17C0853F21F4C9\r
-:103B80008091D5018D7F11C0863F21F48091D501B0\r
-:103B90008B7F0BC0873F21F48091D501877F05C0C3\r
-:103BA000883F31F48091D5018F7E8093D50113C079\r
-:103BB0008D3F21F48091D3018E7F0BC08E3F21F485\r
-:103BC0008091D3018D7F05C08F3F29F48091D3016F\r
-:103BD0008B7F8093D3018091D60181110EC080919B\r
-:103BE000D70181110AC08091D801811106C080914E\r
-:103BF000D901811102C01092D401089585ED91E0A0\r
-:103C00000E94670E0E94651A9093D2018093D101A1\r
-:103C100008951F93CF93DF938091D1019091D201AA\r
-:103C20000E94711AAC019091D401992321F0209146\r
-:103C3000140130E006C0209115018AE0289F900110\r
-:103C400011244217530708F485C08091D601C09112\r
-:103C5000D701D091D8011091D901811107C0C111AC\r
-:103C600075C0D11173C0111171C074C09F3F19F09C\r
-:103C70009F5F9093D401181624F40E948F1C8093A8\r
-:103C8000D6018091D60187FF05C00E948F1C8195C7\r
-:103C90008093D6011C1624F40E948F1C8093D701B8\r
-:103CA0008091D70187FF05C00E948F1C819580936A\r
-:103CB000D7016091D601662331F1C091D701CC23A1\r
-:103CC00011F1062E000C770B880B990B0E948021B6\r
-:103CD00023E333E343E35FE30E94E4210E944821AE\r
-:103CE0006093D6016C2FCC0F770B880B990B0E9439\r
-:103CF000802123E333E343E35FE30E94E4210E9456\r
-:103D000048216093D7011D1624F40E94D81C80938B\r
-:103D1000D8018091D80187FF05C00E94D81C8195E9\r
-:103D20008093D801111624F40E94D81C8093D901E5\r
-:103D30008091D90187FF05C00E94D81C819580938E\r
-:103D4000D901DF91CF911F910C94FE1D9F3F09F087\r
-:103D50008FCFA0CFDF91CF911F910895E5EDF1E0D6\r
-:103D600085E0DF011D928A95E9F71092D401109247\r
-:103D7000D3010895833081F128F4813059F08230E5\r
-:103D8000D1F00895853009F449C0B8F1863009F4BE\r
-:103D900056C0089580911501262F30E0280F311D5F\r
-:103DA0002F3F310524F4680F6093150108958FEFBC\r
-:103DB00080931501089580911401262F30E0280F7B\r
-:103DC000311D2F3F310524F4680F609314010895CD\r
-:103DD0008FEF80931401089580911301262F30E016\r
-:103DE000280F311D2F3F310524F4680F6093130114\r
-:103DF00008958FEF80931301089580911201262F6B\r
-:103E000030E0280F311D2F3F310524F4680F6093F7\r
-:103E1000120108958FEF809312010895809111018E\r
-:103E2000262F30E0280F311D2F3F310524F4680F75\r
-:103E30006093110108958FEF80931101089580918F\r
-:103E40001001262F30E0280F311D2F3F310524F4BB\r
-:103E5000680F6093100108958FEF8093100108950B\r
-:103E6000833011F128F4813049F0823091F00895C7\r
-:103E7000853081F120F18630C1F1089580911501DE\r
-:103E8000681720F4861B8093150108951092150180\r
-:103E9000089580911401681720F4861B8093140103\r
-:103EA000089510921401089580911301681720F469\r
-:103EB000861B809313010895109213010895809139\r
-:103EC0001201681720F4861B809312010895109246\r
-:103ED0001201089580911101681720F4861B8093C8\r
-:103EE0001101089510921101089580911001681731\r
-:103EF00020F4861B809310010895109210010895FC\r
-:103F00000F931F938D3109F46BC008F03FC08E30C2\r
-:103F100009F47DC0C0F4873009F46EC068F48630BF\r
-:103F200009F0AFC08091CC01817F8E7F8093CC015E\r
-:103F300081E08093DB01A6C0883009F458C08B3043\r
-:103F400009F49BC09EC0863109F497C078F4803193\r
-:103F500009F470C0813109F094C00E94B9139091A6\r
-:103F60000D0181E0892780930D0187C0893109F413\r
-:103F700084C08B3109F085C08091CC0181FB222760\r
-:103F800020F991E0922790FB81F94AC0853309F42A\r
-:103F90005BC048F4873209F457C008F45AC089322C\r
-:103FA00009F452C06EC0833438F48A3308F067C015\r
-:103FB000883309F462C065C0833409F445C088348D\r
-:103FC00009F05FC00E94B9130FEF13ED20E3015019\r
-:103FD00010402040E1F700C000000E94C01A4DC010\r
-:103FE0000E9402210E94500E0E94460746C00E9475\r
-:103FF000741C0E94861C41C09091CC01892F817055\r
-:1040000090FF12C0917F9E7F9093CC013BC0809126\r
-:10401000CC0182FB222720F991E0922790FB82F9C4\r
-:104020008093CC01992349F18091CC0181608093E8\r
-:10403000CC0123C08091CC0183FB222720F991E0A1\r
-:10404000922790FB83F9ECCF61E070E080E090E094\r
-:1040500010C08D5141E050E060E070E08A019B01AA\r
-:1040600004C0000F111F221F331F8A95D2F7C90108\r
-:10407000B8010E9470170E94B91381E003C08953F0\r
-:10408000E9CF80E01F910F91089580E008950C948E\r
-:104090004520CF93C82F8091DB01813079F018F053\r
-:1040A0008230E9F187C0E0910E01F0910F0180812B\r
-:1040B000813169F0823209F07FC009C0E0910E01C0\r
-:1040C000F0910F018081813111F0823261F48C2FE7\r
-:1040D0000E944720811104C08C2F0E94801F1DC0A8\r
-:1040E00081E090E01AC08C2F0E944520811114C0FD\r
-:1040F000C43179F048F4CB3079F0C03109F060C0B8\r
-:1041000082E08093DB0108C0C93219F0C83321F086\r
-:1041100057C01092DB0154C081E0817053C0C93296\r
-:1041200089F118F5C43171F1A8F4C73009F046C01F\r
-:104130008AE08093150194E19093140193E09093A9\r
-:1041400013018093120188E08093110188E280932B\r
-:10415000100134C0CE51C63088F5EC2FF0E0E65D9A\r
-:10416000FE4F80818093DA0129C0CE34E9F020F43B\r
-:10417000CB3421F56AE013C0C13579F0C235F1F4D2\r
-:1041800061E00DC08091DA01882319F01092DA0104\r
-:1041900015C081E08093DB0115C061E006C080910D\r
-:1041A000DA010E94BA1E0AC06AE08091DA010E9418\r
-:1041B000301F04C01092DB0180E004C081E002C027\r
-:1041C00080E0ABCFCF910895E1E8F0E08081886096\r
-:1041D00080838081816080838FB7F89493E090938F\r
-:1041E000890090ED909388008FBF0895EFE6F0E08E\r
-:1041F0008081826080830895EFE6F0E080818D7F8A\r
-:1042000080830895EFE6F0E0908182E08927808343\r
-:1042100008951F920F920FB60F9211242F933F9380\r
-:104220004F935F936F937F938F939F93AF93BF93BE\r
-:10423000EF93FF938091DC019091DD0101969093C3\r
-:10424000DD018093DC01811103C082E00E944607FA\r
-:10425000E091DD01E695E695F0E0E657FB4FE4914D\r
-:104260008091DC018E1303C080E00E944607FF911D\r
-:10427000EF91BF91AF919F918F917F916F915F91DE\r
-:104280004F913F912F910F900FBE0F901F90189557\r
-:104290000E944F216894B1110C94DE2108950E9470\r
-:1042A000C32188F09F5798F0B92F9927B751B0F0E4\r
-:1042B000E1F0660F771F881F991F1AF0BA95C9F7AA\r
-:1042C00014C0B13091F00E94DD21B1E008950C944A\r
-:1042D000DD21672F782F8827B85F39F0B93FCCF3FD\r
-:1042E000869577956795B395D9F73EF49095809527\r
-:1042F000709561957F4F8F4F9F4F0895E89409C047\r
-:1043000097FB3EF490958095709561957F4F8F4F08\r
-:104310009F4F9923A9F0F92F96E9BB279395F6951E\r
-:10432000879577956795B795F111F8CFFAF4BB0F9C\r
-:1043300011F460FF1BC06F5F7F4F8F4F9F4F16C000\r
-:10434000882311F096E911C0772321F09EE8872F8A\r
-:10435000762F05C0662371F096E8862F70E060E046\r
-:104360002AF09A95660F771F881FDAF7880F9695BF\r
-:10437000879597F9089557FD9058440F551F59F0A8\r
-:104380005F3F71F04795880F97FB991F61F09F3F42\r
-:1043900079F087950895121613061406551FF2CF6B\r
-:1043A0004695F1DF08C0161617061806991FF1CFBB\r
-:1043B00086957105610508940895E894BB276627E2\r
-:1043C0007727CB0197F908950E94F7210C94682272\r
-:1043D0000E945A2238F00E94612220F0952311F0A9\r
-:1043E0000C9451220C94572211240C94DE210E942B\r
-:1043F000BB2170F3959FC1F3950F50E0551F629F4D\r
-:10440000F001729FBB27F00DB11D639FAA27F00D2D\r
-:10441000B11DAA1F649F6627B00DA11D661F829F54\r
-:104420002227B00DA11D621F739FB00DA11D621F39\r
-:10443000839FA00D611D221F749F3327A00D611D56\r
-:10444000231F849F600D211D822F762F6A2F112438\r
-:104450009F5750409AF0F1F088234AF0EE0FFF1F6B\r
-:10446000BB1F661F771F881F91505040A9F79E3FC2\r
-:10447000510580F00C9451220C94DE215F3FE4F34F\r
-:10448000983ED4F3869577956795B795F795E79518\r
-:104490009F5FC1F7FE2B880F911D9695879597F921\r
-:1044A000089597F99F6780E870E060E008959FEFB6\r
-:1044B00080EC089500240A941616170618060906BB\r
-:1044C000089500240A94121613061406050608958A\r
-:1044D000092E0394000C11F4882352F0BB0F40F412\r
-:1044E000BF2B11F460FF04C06F5F7F4F8F4F9F4F52\r
-:1044F000089597FB072E16F4009407D077FD09D096\r
-:104500000E94932207FC05D03EF4909581959F4F21\r
-:104510000895709561957F4F0895EE0FFF1F0590E8\r
-:10452000F491E02D0994AA1BBB1B51E107C0AA1FFF\r
-:10453000BB1FA617B70710F0A61BB70B881F991F44\r
-:104540005A95A9F780959095BC01CD010895F999E8\r
-:10455000FECF92BD81BDF89A992780B50895A8E154\r
-:10456000B0E042E050E00C94CA22262FF999FECF29\r
-:104570001FBA92BD81BD20BD0FB6F894FA9AF99A80\r
-:104580000FBE019608950E94B522272F0C94B622E3\r
-:10459000DC01CB01FC01F999FECF06C0F2BDE1BD03\r
-:1045A000F89A319600B40D9241505040B8F70895F2\r
-:0445B000F894FFCFAD\r
-:1045B40020024707D707B2077E074A070101BA015D\r
-:1045C40028080A03140A3F4D36394B04FE03C80376\r
-:1045D4008F0322033B0354036D0301020304050606\r
-:0445E40007080900BB\r
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A\r
+:1004E0009091EF01A091F001B091F1018730904B14\r
+:1004F000A740B04BB9F41092EE011092EF011092A8\r
+:10050000F0011092F10114BE84B7877F84BF88E1A7\r
+:100510000FB6F89480936000109260000FBEE0E088\r
+:10052000FFE3099511E0A0E0B1E0EAE9F5E402C0DB\r
+:1005300005900D92A433B107D9F721E0A4E3B1E00F\r
+:1005400001C01D92AE3EB207E1F70E94F6080C947E\r
+:10055000CB220C94000061110BC0FC018281882326\r
+:1005600021F085EE0E94570F03C085EE0E941F10F8\r
+:1005700080E090E0089508956091B1017091B2011A\r
+:100580008091B3019091B4010E94D91956985E9858\r
+:1005900025982D9826982E9827982F98813019F015\r
+:1005A000823021F00895259A2D9A0895269A2E9A40\r
+:1005B00008950C94BC0256985E9825982D9826981C\r
+:1005C0002E9827982F988FEF90E090938900809332\r
+:1005D000880090938B0080938A0090938D00809385\r
+:1005E0008C00259A2D9A2FEF80E792E021508040D1\r
+:1005F0009040E1F700C00000269A2E9A2FEF80E786\r
+:1006000092E0215080409040E1F700C00000279A1E\r
+:100610002F9A2FEF80E792E0215080409040E1F741\r
+:1006200000C0000025982D982FEF80E792E0215020\r
+:1006300080409040E1F700C0000026982E982FEFF0\r
+:1006400080E792E0215080409040E1F700C0000038\r
+:1006500027982F9856985E9825982D9826982E982A\r
+:1006600027982F98089589EA8093800089E08093E5\r
+:10067000810024982C983F988AB18F748AB96E981B\r
+:10068000479A8BB1806B8BB9769A0E94DB020C94EF\r
+:10069000BB0280E2809300018091340181110EC081\r
+:1006A0000E94980381E0809334012FEF83ED90E363\r
+:1006B000215080409040E1F700C0000080E40E949B\r
+:1006C0009E038093000181112EC00E94C803809375\r
+:1006D0000001811128C00E94C8038093000181118C\r
+:1006E00022C08FE30E94C8038093000181111BC0C8\r
+:1006F0000E94C00380E40E949E0380930001811148\r
+:1007000012C08CE00E94C8038093000181110BC0CD\r
+:100710000E94C80380930001811105C08FE30E94ED\r
+:10072000C803809300010E94C003809100010895D6\r
+:100730001092B9008AE08093B800089594EA9093EB\r
+:10074000BC009091BC0097FFFCCF9091B900987FBE\r
+:10075000983021F0903111F081E008958093BB0032\r
+:1007600084E88093BC008091BC0087FFFCCF80911F\r
+:10077000B900887F883111F0803471F780E00895E6\r
+:1007800084E98093BC008091BC0084FDFCCF089577\r
+:100790008093BB0084E88093BC008091BC0087FFFD\r
+:1007A000FCCF9091B900987F81E0983209F480E005\r
+:1007B000089584E88093BC008091BC0087FFFCCF43\r
+:1007C0008091BB00089580910001811115C080E4E3\r
+:1007D0000E949E038093000181110CC082E10E945F\r
+:1007E000C80380930001811105C08FEF0E94C803E8\r
+:1007F000809300010E94C00384B1807F84B985B1D9\r
+:10080000807F85B98AB1837F8AB98BB1837F8BB9A9\r
+:100810003E98469808950E944903809300010E94E3\r
+:10082000E30380B38C7080BB81B3836F81BBE4E44E\r
+:10083000F1E0A6E3B1E011921D9281E0E235F80704\r
+:10084000D1F70C943303BF92CF92DF92EF92FF92D5\r
+:100850000F931F93CF93DF9380910001882379F04A\r
+:10086000809135018F5F80933501811108C00E940E\r
+:10087000490380930001811102C00E94DB0206E35C\r
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455\r
+:10089000E394F12CC73000F580910001811162C012\r
+:1008A00080E40E949E0380930001811112C082E1C6\r
+:1008B0000E94C8038093000181110BC0C7010C2E58\r
+:1008C00001C0880F0A94EAF780950E94C8038093BC\r
+:1008D00000010E94C00346C0CA30A1F028F4C8300D\r
+:1008E00059F0C93061F005C0CC3089F070F0CD30DE\r
+:1008F00089F0209A289810C0219A29980DC0229A30\r
+:100900002A980AC0239A2B9807C0529A01C0539A7A\r
+:100910005B9802C03E9A4698E0EAEA95F1F78FB1FB\r
+:1009200079995AC092E081708D25892B7C9B02C0F9\r
+:1009300090E001C094E0892B7D9B02C090E001C053\r
+:1009400098E0892B7E9B02C090E001C090E1892B4A\r
+:100950009FB19095991F9927991F9295990F907E15\r
+:10096000892B0FC08091000181114BC080E40E944F\r
+:100970009E0380930001882389F1B12C0E94C0035B\r
+:100980008B2DF8019081981719F08083C092010196\r
+:100990000E94E30321960F5F1F4FCE30D10509F06F\r
+:1009A00079CF80910101882371F1815080930101F9\r
+:1009B000882339F08FE99FE00197F1F700C000002C\r
+:1009C00022C0A4E4B1E0E6E3F1E081918D9391E0EF\r
+:1009D000E434F907D1F717C090E0A5CF83E10E9476\r
+:1009E000C803809300018111C8CF81E40E949E0357\r
+:1009F000809300018111C1CF0E94D903B82EB09419\r
+:100A0000BDCF80E0BECF0E94D90281E0DF91CF91BF\r
+:100A10001F910F91FF90EF90DF90CF90BF900895BE\r
+:100A2000E82FF0E0EC5BFE4F8081089508958B3B4A\r
+:100A3000910578F4883A910540F5853A9105D0F40E\r
+:100A40008430910508F0B1C08130910509F4ADC042\r
+:100A50006BC0803E910508F467C0883E910508F49C\r
+:100A6000A4C09C01205F31092031310508F05CC031\r
+:100A700090650895853A910509F459C0863A910523\r
+:100A800009F458C083E890E40895883A910509F480\r
+:100A900054C0893A910509F453C08A3A910509F482\r
+:100AA00052C08B3A910509F451C08C3A910509F472\r
+:100AB00050C08D3A910509F44FC0803B910509F46F\r
+:100AC0004EC08E3A910509F44DC08F3A910509F454\r
+:100AD0004CC0813B910509F44BC0823B910509F460\r
+:100AE0004AC0833B910509F449C0843B910509F450\r
+:100AF00048C0853B910509F447C0863B910509F440\r
+:100B000046C0873B910509F445C0883B910509F42F\r
+:100B100044C0893B910509F443C08A3B910509F023\r
+:100B200042C08AE296E4089580E090E0089581E86A\r
+:100B300090E4089582E890E4089582EE94E40895A4\r
+:100B400089EE94E408958AEE94E4089585EB94E4A4\r
+:100B5000089586EB94E4089587EB94E408958CEC73\r
+:100B600094E408958DEC94E4089583E895E4089561\r
+:100B70008AE895E4089582E995E4089584E995E486\r
+:100B8000089581E296E4089583E296E4089584E26C\r
+:100B900096E4089585E296E4089586E296E4089541\r
+:100BA00087E296E4089580E094E40895089596E03D\r
+:100BB000799FF001112494E5899FE00DF11D112426\r
+:100BC000E60FF11DEE0FFF1FEC51FF4F8591949141\r
+:100BD0000895880F991F805A9040FC018591949147\r
+:100BE0000895880F991F80529F4FFC018591949121\r
+:100BF000089526E0729FF001112444E5849FE00DE2\r
+:100C0000F11D1124E60FF11DEE0FFF1FEC51FF4FF8\r
+:100C100025913491C9019A9581159F4110F4C9011C\r
+:100C20000895C90190528115904128F4C9019F701F\r
+:100C30000E94F1050895C90190538115904120F457\r
+:100C4000C9019927906C0895211580E5380769F44A\r
+:100C50000E9490139FEF24E34CE0915020404040CD\r
+:100C6000E1F700C000000C94D21A213080E538076B\r
+:100C700031F48091CC0181608093CC010895C90149\r
+:100C800090558115904108F050C0832F99278F709F\r
+:100C9000992781309105D9F4A9014370552702C0E5\r
+:100CA000880F991F4A95E2F79C68A90164E0440FF8\r
+:100CB000551F6A95E1F744275370842B952B73E0F9\r
+:100CC000220F331F7A95E1F7207633271DC082303B\r
+:100CD000910529F4922F8827816F906A08958330B7\r
+:100CE0009105A9F4A9014370552781E090E002C065\r
+:100CF000880F991F4A95E2F79C6843E0220F331F43\r
+:100D00004A95E1F7207E3770822B932B0895049744\r
+:100D1000F1F4A9014370552781E090E002C0880FEB\r
+:100D2000991F4A95E2F79A68E8CFC9019057811553\r
+:100D3000904120F4C9019F7090620895C9019058B4\r
+:100D40008115904120F4C9019F70906A0895203E5A\r
+:100D50003105E0F4203C310558F52133310509F423\r
+:100D600070C048F42932310509F464C02A323105D3\r
+:100D700009F46EC074C029333105F1F02238310511\r
+:100D8000D9F02533310509F44EC069C0233E310541\r
+:100D900089F138F4203E3105C1F0223E3105E1F001\r
+:100DA0005EC0263E310569F1273E3105A9F157C0E5\r
+:100DB000C9010E94E90508958091DF0180FD02C00C\r
+:100DC00081FF4DC080EE90E04BC08091DF0180FF3D\r
+:100DD000F9CF89E390E044C08091DF0182FF0EC02B\r
+:100DE0008091DF0184FF03C080E090E039C083EE92\r
+:100DF00090E036C08091DF0182FFF2CF82EE90E07A\r
+:100E00002FC08091DF0183FF0BC08091DF0184FD43\r
+:100E1000EBCF87EE90E024C08091DF0183FFF5CF18\r
+:100E200086EE90E01DC08091DF0185FF07C089E25A\r
+:100E300090E016C08091DF0185FFF9CF85E390E057\r
+:100E40000FC08091DF0186FF07C08AE290E008C0F2\r
+:100E50008091DF0186FFF9CF81E390E001C0C901F5\r
+:100E60000E941705089508950C943307809162013C\r
+:100E70000895CF93DF9300D01F92CDB7DEB72091B6\r
+:100E8000E501243019F523E029839B838A8320938D\r
+:100E9000E9008FEF9091E800815095FD06C095ED37\r
+:100EA0009A95F1F700008111F5CF8091E80085FF58\r
+:100EB0000DC040E050E063E070E0CE0101960E947A\r
+:100EC000A3098091E8008E778093E8000F900F903F\r
+:100ED0000F90DF91CF910895CF93DF9300D01F92B1\r
+:100EE000CDB7DEB72091E501243021F522E029833A\r
+:100EF0009B838A8383E08093E9008FEF9091E800E1\r
+:100F0000815095FD06C095ED9A95F1F7000081118D\r
+:100F1000F5CF8091E80085FF0DC040E050E063E030\r
+:100F200070E0CE0101960E94A3098091E8008E77BF\r
+:100F30008093E8000F900F900F90DF91CF9108956C\r
+:100F40002091E5012430F1F422E02093E9002FEF15\r
+:100F50003091E800215035FD06C035ED3A95F1F7A6\r
+:100F600000002111F5CF2091E80025FF0BC040E0E3\r
+:100F700050E065E070E00E94A3098091E8008E7760\r
+:100F80008093E8000895CF93DF93EC018091E50111\r
+:100F9000843009F046C090910C019923D9F09091CA\r
+:100FA0000D019923B9F08093E9008FEF9091E8004B\r
+:100FB000815095FD06C095E19A95F1F700008111E9\r
+:100FC000F5CF8091E80085FF2CC040E050E060E163\r
+:100FD00070E017C081E08093E9008FEF9091E80006\r
+:100FE000815095FD06C095ED9A95F1F700008111AD\r
+:100FF000F5CF8091E80085FF14C040E050E068E044\r
+:1010000070E0CE010E94A3098091E8008E77809362\r
+:10101000E80080E1FE01A2E5B1E001900D928A9521\r
+:10102000E1F7DF91CF9108958091E401811109C02A\r
+:101030000E94350B0E94920B8091E20084608093A5\r
+:10104000E20008951092E401089508950C94F820A8\r
+:101050000E94691A0E94FE200E942F0E0C943407F1\r
+:1010600042E061EC81E00E94AF0A42E061EC82E084\r
+:101070000E94AF0A42E061EC83E00E94AF0A42E1C5\r
+:1010800061EC84E00C94AF0A8091E701833009F4AD\r
+:1010900055C030F4813071F0823009F48EC008956B\r
+:1010A0008A3009F47AC08B3009F460C0893009F0C5\r
+:1010B0009CC020C08091E601813A09F096C08091E1\r
+:1010C000E800877F8093E8008091EA019091EB012E\r
+:1010D000892B21F060E080E090E003C060E182E5D0\r
+:1010E00091E070E00E94EC098091E8008B7780939A\r
+:1010F000E80008958091E601813209F076C0809180\r
+:10110000EA019091EB01009719F0039709F06DC087\r
+:101110008091E800877F8093E8008091E80082FD5D\r
+:1011200005C08091E5018111F8CF5FC08091F10089\r
+:10113000809362018091E8008B7753C08091E60133\r
+:10114000813A09F052C08091EA019091EB01892B1C\r
+:1011500009F04BC08091E800877F8093E800809180\r
+:10116000E80080FFFCCF80910C0136C08091E60141\r
+:101170008132D9F58091EA019091EB01892BA9F593\r
+:101180008091E800877F8093E8000E94E40A8091C4\r
+:10119000E80180930C010C9490138091E601813258\r
+:1011A00021F58091E800877F8093E8000E94E40A9F\r
+:1011B0008091E9018093630108958091E601813A6D\r
+:1011C000A1F48091E800877F8093E8008091E80097\r
+:1011D00080FFFCCF809163018093F1008091E80053\r
+:1011E0008E778093E8000C94E40A089584B7877F93\r
+:1011F00084BF88E10FB6F89480936000109260007D\r
+:101200000FBE90E080E80FB6F89480936100909351\r
+:1012100061000FBE0E947E0E0E94350B0E94920B51\r
+:101220008091E20084608093E20078940E940D0E29\r
+:101230000E94800E82E091E00E942A0E0E94E62029\r
+:101240008091E501853069F40E942C1A8091E301B8\r
+:101250008823B1F30E94541A882391F30E948D09C8\r
+:10126000EFCF0E94860EECCF292F33272330310594\r
+:10127000A9F06CF42130310509F442C02230310567\r
+:1012800009F043C08DE690E020E133E042C0213216\r
+:101290003105C9F02232310519F137C09927813063\r
+:1012A000910541F08230910541F0892B71F5ECE018\r
+:1012B000F3E005C0E4EFF2E002C0ECEDF2E084916F\r
+:1012C00090E09F0126C0643000F5E62FF0E0EE0FBD\r
+:1012D000FF1FEE5DFE4F2081318189E090E019C053\r
+:1012E000643098F4E62FF0E0DF01AA0FBB1FA65E82\r
+:1012F000BE4F2D913C91EA5EFE4F808190E009C087\r
+:1013000082E190E02DE733E004C080E090E020E04F\r
+:1013100030E0FA0131832083089580E189BD82E1C4\r
+:1013200089BD09B400FEFDCF8091D8008F7D8093E8\r
+:10133000D8008091E00082608093E0008091E0001E\r
+:1013400081FDFCCF0895CF92DF92EF92FF920F9331\r
+:101350001F93CF93DF937C018B01EA010E94050B61\r
+:10136000811131C0209731F088819981081B190BB8\r
+:10137000E80EF91EC12CD12C0115110519F180912F\r
+:10138000E80085FD14C08091E8008E778093E80026\r
+:10139000209741F0888199818C0D9D1D99838883C8\r
+:1013A00085E011C00E94050B882331F30CC0F701C2\r
+:1013B00081917F018093F10001501109FFEFCF1A55\r
+:1013C000DF0ADACF80E0DF91CF911F910F91FF907C\r
+:1013D000EF90DF90CF9008952091EC013091ED01D6\r
+:1013E0002617370748F06115710539F42091E80098\r
+:1013F0002E772093E80001C0B901FC0120E06115BF\r
+:101400007105B9F18091E501882309F440C0853068\r
+:1014100009F43FC08091E80083FD3DC08091E80061\r
+:1014200082FF06C08091E80082FF26C080E0089518\r
+:101430008091E80080FFE3CF2091F3008091F200DB\r
+:1014400090E0922B6115710551F08830910538F4C8\r
+:1014500021912093F100615071090196F3CF21E0B1\r
+:10146000089709F020E08091E8008E778093E800EB\r
+:10147000C6CF2111C7CFD6CF8091E501882339F09F\r
+:10148000853039F08091E80083FFCCCF04C082E042\r
+:10149000089583E0089581E008952091EC01309152\r
+:1014A000ED012617370748F06115710539F42091D1\r
+:1014B000E8002E772093E80001C0B901FC0120E08C\r
+:1014C00061157105C1F18091E501882309F441C0DE\r
+:1014D000853009F440C08091E80083FD3EC08091D2\r
+:1014E000E80082FF06C08091E80082FF27C080E00C\r
+:1014F00008958091E80080FFE3CF2091F300809170\r
+:10150000F20090E0922B6115710559F08830910539\r
+:1015100040F424912093F1003196615071090196B5\r
+:10152000F2CF21E0089709F020E08091E8008E7763\r
+:101530008093E800C5CF2111C6CFD5CF8091E501BA\r
+:10154000882339F0853039F08091E80083FFCBCFD4\r
+:1015500004C082E0089583E0089581E00895982F03\r
+:10156000973058F59093E900981739F07091EC0096\r
+:101570002091ED005091F00003C0242F762F50E011\r
+:1015800021FF19C03091EB003E7F3093EB0030918A\r
+:10159000ED003D7F3093ED003091EB0031603093F2\r
+:1015A000EB007093EC002093ED005093F00020913D\r
+:1015B000EE0027FF07C09F5FD3CF8F708093E900B5\r
+:1015C00081E0089580E008958091E60187FD05C0DF\r
+:1015D0008091E80080FF0EC012C08091E80082FD7B\r
+:1015E00005C08091E5018111F8CF08958091E80050\r
+:1015F0008B7708C08091E5018111EACF0895809131\r
+:10160000E8008E778093E80008958091E40090913F\r
+:10161000E50045E62091EC0020FF21C02091E80084\r
+:1016200020FD21C02091E501222389F0253089F099\r
+:101630002091EB0025FD0FC02091E4003091E500E2\r
+:101640002817390739F3415041F0C901E3CF82E04F\r
+:10165000089583E0089581E0089584E0089520913D\r
+:10166000E80022FFDFCF80E008950E94A30B0E94D4\r
+:10167000AB0BE0EEF0E0808181608083E8EDF0E08C\r
+:1016800080818F77808319BCA7EDB0E08C918E7F2D\r
+:101690008C9380818F7E80831092E40108950F9354\r
+:1016A0001F93CF93DF930E94A30B0E94AB0BC8ED57\r
+:1016B000D0E088818F77888388818068888388815B\r
+:1016C0008F7D888319BC1092E5011092E101109280\r
+:1016D000E3011092E20100EE10E0F80180818B7FBF\r
+:1016E000808388818160888342E060E080E00E949E\r
+:1016F000AF0AE1EEF0E080818E7F8083E2EEF0E0E1\r
+:10170000808181608083808188608083F80180810E\r
+:101710008E7F8083888180618883DF91CF911F9144\r
+:101720000F910895E8EDF0E080818F7E8083E7EDF2\r
+:10173000F0E080818160808384E082BF81E08093DB\r
+:10174000E4010C944F0BE8EDF0E080818E7F808304\r
+:101750001092E20008951092DA001092E1000895CC\r
+:101760001F920F920FB60F9211242F933F934F9316\r
+:101770005F936F937F938F939F93AF93BF93EF93F9\r
+:10178000FF938091E10082FF0BC08091E20082FF15\r
+:1017900007C08091E1008B7F8093E1000E940C0ED6\r
+:1017A0008091DA0080FF1FC08091D80080FF1BC0AD\r
+:1017B0008091DA008E7F8093DA008091D90080FFDB\r
+:1017C0000DC080E189BD82E189BD09B400FEFDCF75\r
+:1017D00081E08093E5010E94140805C019BC1092B5\r
+:1017E000E5010E9422088091E10080FF19C08091EC\r
+:1017F000E20080FF15C08091E2008E7F8093E200BE\r
+:101800008091E20080618093E2008091D800806244\r
+:101810008093D80019BC85E08093E5010E942608DA\r
+:101820008091E10084FF30C08091E20084FF2CC0F1\r
+:1018300080E189BD82E189BD09B400FEFDCF8091C0\r
+:10184000D8008F7D8093D8008091E1008F7E8093B7\r
+:10185000E1008091E2008F7E8093E2008091E200BF\r
+:1018600081608093E2008091E101882311F084E09F\r
+:1018700007C08091E30087FF02C083E001C081E0E0\r
+:101880008093E5010E9428088091E10083FF29C030\r
+:101890008091E20083FF25C08091E100877F8093E3\r
+:1018A000E10082E08093E5011092E1018091E10086\r
+:1018B0008E7F8093E1008091E2008E7F8093E20032\r
+:1018C0008091E20080618093E20042E060E080E08D\r
+:1018D0000E94AF0A8091F00088608093F0000E941F\r
+:1018E0002508FF91EF91BF91AF919F918F917F91CB\r
+:1018F0006F915F914F913F912F910F900FBE0F907D\r
+:101900001F9018951F920F920FB60F9211242F93CC\r
+:101910003F934F935F936F937F938F939F93AF9377\r
+:10192000BF93CF93EF93FF93C091E900CF70809165\r
+:10193000EC001092E9008091F000877F8093F00026\r
+:1019400078940E94BE0C1092E9008091F0008860AB\r
+:101950008093F000C093E900FF91EF91CF91BF9188\r
+:10196000AF919F918F917F916F915F914F913F9137\r
+:101970002F910F900FBE0F901F9018951F93CF932C\r
+:10198000DF93CDB7DEB7AA970FB6F894DEBF0FBED0\r
+:10199000CDBFE6EEF1E08091F100819321E0EE3ED3\r
+:1019A000F207C9F70E9444088091E80083FF1CC138\r
+:1019B0002091E6013091E701832F90E08A30910574\r
+:1019C00008F012C1FC01EA5AFF4F0C948022203823\r
+:1019D00081F0223809F008C18091EA018F7080936C\r
+:1019E000E9008091EB0085FB882780F91092E900DF\r
+:1019F00006C08091E2019091E30191118260909183\r
+:101A0000E800977F9093E8008093F1001092F10036\r
+:101A1000C5C0822F8D7F09F0E7C0222319F0223044\r
+:101A200061F0E2C08091E801813009F0DDC033301F\r
+:101A300009F080E08093E30128C08091E8018111E2\r
+:101A400024C02091EA012F7009F4CEC02093E90050\r
+:101A50008091EB0080FF19C08091EB00333011F4CE\r
+:101A6000806211C080618093EB0081E090E0022EE3\r
+:101A700001C0880F0A94EAF78093EA001092EA0006\r
+:101A80008091EB0088608093EB001092E9008091D8\r
+:101A9000E800877F86C02111A7C01091E8011F7759\r
+:101AA0008091E3008078812B8093E3008091E800AF\r
+:101AB000877F8093E8000E94E40A8091E80080FF1D\r
+:101AC000FCCF8091E30080688093E300112311F044\r
+:101AD00083E001C082E08093E50186C02058223077\r
+:101AE00008F082C08091E8019091E9018C3D23E0EB\r
+:101AF000920779F583E08A838AE289834FB7F89465\r
+:101B0000DE01139620E03EE051E2E32FF0E0509337\r
+:101B10005700E49120FF03C0E295EF703F5FEF7044\r
+:101B20008E2F90E0EA3010F0C79601C0C0968D93DA\r
+:101B30009D932F5F243149F74FBF8091E800877F45\r
+:101B40008093E8006AE270E0CE0101960E94EC0901\r
+:101B500014C0AE014F5F5F4F6091EA010E943409EB\r
+:101B6000009709F441C02091E800277F2093E80006\r
+:101B7000BC0189819A810E944D0A8091E8008B778F\r
+:101B80008093E80031C0203879F58091E800877FA4\r
+:101B90008093E8008091E1018093F1008091E8005A\r
+:101BA0008E778093E8000E94E40A1EC021111CC0B9\r
+:101BB0009091E8019230C0F48091E800877F809393\r
+:101BC000E8009093E1010E94E40A8091E101811113\r
+:101BD00004C08091E30087FF02C084E001C081E07F\r
+:101BE0008093E5010E9430088091E80083FF0AC0DD\r
+:101BF0008091E800877F8093E8008091EB0080620D\r
+:101C00008093EB00AA960FB6F894DEBF0FBECDBF4F\r
+:101C1000DF91CF911F9108950895CF938091E501B1\r
+:101C20008823B1F08091E9008F709091EC0090FFD3\r
+:101C300002C090E801C090E0C92FC82B1092E900C3\r
+:101C40008091E80083FD0E94BE0CCF70C093E90034\r
+:101C5000CF91089590936901809368010895E09170\r
+:101C60006801F0916901309721F00190F081E02D39\r
+:101C7000099480E00895E0916801F091690130973E\r
+:101C800021F00280F381E02D09940895E09168012C\r
+:101C9000F0916901309721F00480F581E02D0994DD\r
+:101CA000089520916601309167018217930771F0C2\r
+:101CB0009093670180936601E0916801F09169015A\r
+:101CC000309721F00680F781E02D09940895209146\r
+:101CD0006401309165018217930771F0909365015B\r
+:101CE00080936401E0916801F0916901309721F0DF\r
+:101CF0000084F185E02D0994089508950C947D0EDB\r
+:101D00000E946F1A0E940B040C94351BCF92DF9235\r
+:101D1000EF92FF920F931F93CF93DF93CDB7DEB770\r
+:101D20002B970FB6F894DEBF0FBECDBF0E942304E1\r
+:101D30003BE6E32E31E0F32E00E010E0C02E802FD2\r
+:101D40000E941005F701D1907F01D826B1F40F5FF2\r
+:101D50001F4F0E30110591F78FEF89838A831B8205\r
+:101D60000E94781A8160782F9D838C8349815A81E3\r
+:101D70006B818D810E94290F41C09091CC0191FF10\r
+:101D800004C08B870E9416058B8520E030E04D2D26\r
+:101D900050E0922FBA01022E02C0759567950A9401\r
+:101DA000E2F760FF25C02E83CF82EE24E394F12C6E\r
+:101DB00002C0EE0CFF1C9A95E2F790E08E219F2165\r
+:101DC00021E0892B09F420E028870E94781A81609D\r
+:101DD000782F9A8789874E815F8168858A850E94DE\r
+:101DE000290FF801E559FE4F80818E25808306C0BA\r
+:101DF0002F5F3F4F2630310561F6A9CF0E94191E93\r
+:101E000010916A010E942F0E1817A1F00E942F0E48\r
+:101E100080936A012B960FB6F894DEBF0FBECDBF3C\r
+:101E2000DF91CF911F910F91FF90EF90DF90CF90B6\r
+:101E30000C9434072B960FB6F894DEBF0FBECDBFBF\r
+:101E4000DF91CF911F910F91FF90EF90DF90CF9096\r
+:101E50000895CF93DF93CDB7DEB72B970FB6F894E5\r
+:101E6000DEBF0FBECDBF4F83588769877A878B87C8\r
+:101E7000DE01119686E0FD0111928A95E9F785E071\r
+:101E8000FE01379601900D928A95E1F749815A81BA\r
+:101E90006B817C818D819E810E945C162B960FB692\r
+:101EA000F894DEBF0FBECDBFDF91CF910895CF93E1\r
+:101EB000C82F882309F4C1C0823859F40E942F0E1C\r
+:101EC00081FDBBC089E30E94F9180E94B31989E320\r
+:101ED0000CC0833879F40E942F0E80FDAEC083E5DC\r
+:101EE0000E94F9180E94B31983E50E943919CF9115\r
+:101EF0000C94B319843859F40E942F0E82FD9DC0B2\r
+:101F000087E40E94F9180E94B31987E4EECF8CEFA2\r
+:101F10008C0F813A48F48C2F0E944E2081118DC085\r
+:101F20008C2F0E94F918E3CF80E28C0F883048F4A0\r
+:101F3000C77081E001C0880FCA95EAF70E947A193C\r
+:101F4000D6CF8BE58C0F833078F4C53A29F0C63AAA\r
+:101F500031F482E890E005C081E890E002C083E8B7\r
+:101F600090E0CF910C94510E88E58C0F833108F0EE\r
+:101F700064C0C83A39F1C93A41F1CA3A49F1CB3A99\r
+:101F800051F1CC3A59F1CD3A61F1C03B69F1CE3A09\r
+:101F900071F1CF3A79F1C13B81F1C23B89F1C33B89\r
+:101FA00091F1C43B99F1C53BA1F1C63BA9F1C73BF7\r
+:101FB000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2ED\r
+:101FC00092E038C082EE90E035C089EE90E032C0F9\r
+:101FD0008AEE90E02FC085EB90E02CC086EB90E07D\r
+:101FE00029C087EB90E026C08CEC90E023C08DECFC\r
+:101FF00090E020C083E891E01DC08AE891E01AC01B\r
+:1020000082E991E017C084E991E014C081E292E096\r
+:1020100011C083E292E00EC084E292E00BC085E240\r
+:1020200092E008C086E292E005C087E292E002C03A\r
+:1020300080E090E0CF910C94670ECF9108958823B3\r
+:1020400009F44BC0823859F40E942F0E81FF45C01D\r
+:1020500089E30E94F9180E94B31989E30CC0833800\r
+:1020600071F40E942F0E80FF38C083E50E94F9189A\r
+:102070000E94B31983E50E9439190C94B31984386E\r
+:1020800059F40E942F0E82FF28C087E40E94F9189D\r
+:102090000E94B31987E4EFCF9CEF980F913A58F361\r
+:1020A00090E2980F983050F4877091E001C0990F3A\r
+:1020B0008A95EAF7892F0E948019DFCF9BE5980F58\r
+:1020C000933020F480E090E00C94510E885A8331D4\r
+:1020D00020F480E090E00C94670E0895882321F0AE\r
+:1020E0000E947A190C94B3190895882321F00E9454\r
+:1020F00080190C94B3190895CF92DF92EF92FF925A\r
+:102100000F931F93CF93DF93CDB7DEB728970FB60A\r
+:10211000F894DEBF0FBECDBF8C0185E0F801DE0173\r
+:10212000119601900D928A95E1F7F8014081318175\r
+:10213000F280258122952F7083819481892B31F043\r
+:102140003F3F31F481E04F3F19F403C081E001C00B\r
+:1021500080E080FDC4C249833A8389819A812F83BC\r
+:102160000E94B7189E8388870E94B6180E9489171C\r
+:102170004E81E42FE295EF70F0E0E05AFF4F2F819F\r
+:1021800068850C948022842F807F142F1F708823F1\r
+:1021900011F01295107FFF2059F0112309F454C259\r
+:1021A000812F68870E948A190E94B31968854CC2E2\r
+:1021B000862F0E941F10112309F491C2812F0E94C3\r
+:1021C000901928960FB6F894DEBF0FBECDBFDF91F1\r
+:1021D000CF911F910F91FF90EF90DF90CF900C94D3\r
+:1021E000B319342F307F842F8F70303211F08295E5\r
+:1021F000807F662319F0613019F12BC0FF20B1F008\r
+:10220000222309F493C1213009F090C128960FB61A\r
+:10221000F894DEBF0FBECDBFDF91CF911F910F911C\r
+:10222000FF90EF90DF90CF900C949A19222319F031\r
+:10223000213009F454C28E830E949D198E8189C178\r
+:10224000FF2021F0223008F04AC270C1211147C29C\r
+:1022500080C1FF2021F0222309F468C1F5C12223A7\r
+:1022600009F477C105C2242F26952695237030E006\r
+:102270002115310521F021303105C9F030C2FF2090\r
+:1022800021F0862F942F937002C080E090E0289672\r
+:102290000FB6F894DEBF0FBECDBFDF91CF911F9177\r
+:1022A0000F91FF90EF90DF90CF900C94510EFF2094\r
+:1022B00021F0862F942F937002C080E090E0289642\r
+:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147\r
+:1022D0000F91FF90EF90DF90CF900C94670E862FB8\r
+:1022E000FF2019F00E94211D02C00E94891D28961E\r
+:1022F0000FB6F894DEBF0FBECDBFDF91CF911F9117\r
+:102300000F91FF90EF90DF90CF900C940E1E842FD2\r
+:10231000837009F076C0F110E2C1262F2295269530\r
+:102320002770220F220F862F8F70C82ED12CE12C00\r
+:10233000F12C022E04C0CC0CDD1CEE1CFF1C0A94F8\r
+:10234000D2F764FF10C06FE070E080E090E004C05E\r
+:10235000660F771F881F991F2A95D2F76095709591\r
+:102360008095909503C060E070E0CB01242F269506\r
+:1023700026952370422F50E042305105D1F0433072\r
+:10238000510559F16C297D298E299F29413051052C\r
+:1023900041F128960FB6F894DEBF0FBECDBFDF9196\r
+:1023A000CF911F910F91FF90EF90DF90CF900C9401\r
+:1023B000AE176C297D298E299F2928960FB6F8948F\r
+:1023C000DEBF0FBECDBFDF91CF911F910F91FF9068\r
+:1023D000EF90DF90CF900C94C8170E94AE17C70102\r
+:1023E000B60128960FB6F894DEBF0FBECDBFDF91C1\r
+:1023F000CF911F910F91FF90EF90DF90CF900C94B1\r
+:102400009417FF2019F0842F817001C086958823CE\r
+:1024100009F465C1262F229526952770220F220FD9\r
+:10242000862F8F70C82ED12CE12CF12C022E04C0E7\r
+:10243000CC0CDD1CEE1CFF1C0A94D2F764FF10C00C\r
+:102440006FE070E080E090E004C0660F771F881FA7\r
+:10245000991F2A95D2F7609570958095909503C045\r
+:1024600060E070E0CB01242F269526952370422F43\r
+:1024700050E042305105D1F04330510559F16C29FB\r
+:102480007D298E299F294130510541F128960FB6AB\r
+:10249000F894DEBF0FBECDBFDF91CF911F910F919A\r
+:1024A000FF90EF90DF90CF900C9482186C297D29DB\r
+:1024B0008E299F2928960FB6F894DEBF0FBECDBF98\r
+:1024C000DF91CF911F910F91FF90EF90DF90CF9010\r
+:1024D0000C949C180E948218C701B60128960FB66A\r
+:1024E000F894DEBF0FBECDBFDF91CF911F910F914A\r
+:1024F000FF90EF90DF90CF900C946818603FC9F187\r
+:1025000018F4603E50F49BC0623F09F460C008F4C8\r
+:102510004AC0633F09F46FC092C0162F1F70842F0A\r
+:102520008F71FF2099F00E940118812F28960FB615\r
+:10253000F894DEBF0FBECDBFDF91CF911F910F91F9\r
+:10254000FF90EF90DF90CF900C946E100E942218B5\r
+:10255000812F28960FB6F894DEBF0FBECDBFDF9156\r
+:10256000CF911F910F91FF90EF90DF90CF900C943F\r
+:102570007510FF20A1F02111B2C0842F8F71289611\r
+:102580000FB6F894DEBF0FBECDBFDF91CF911F9184\r
+:102590000F91FF90EF90DF90CF900C94471822306E\r
+:1025A00008F09DC0EACFFF20A1F0842F8F712896FC\r
+:1025B0000FB6F894DEBF0FBECDBFDF91CF911F9154\r
+:1025C0000F91FF90EF90DF90CF900C940118FF20B7\r
+:1025D00061F3842F8F7128960FB6F894DEBF0FBE7B\r
+:1025E000CDBFDF91CF911F910F91FF90EF90DF90C2\r
+:1025F000CF900C942218FF2091F0842F8F71289691\r
+:102600000FB6F894DEBF0FBECDBFDF91CF911F9103\r
+:102610000F91FF90EF90DF90CF900C94EC172896DD\r
+:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3\r
+:102630000F91FF90EF90DF90CF900C94E217FF2066\r
+:10264000A1F0222309F4B1CF862F28960FB6F89473\r
+:10265000DEBF0FBECDBFDF91CF911F910F91FF90D5\r
+:10266000EF90DF90CF900C94570F222309F4B1CF55\r
+:10267000862F28960FB6F894DEBF0FBECDBFDF9130\r
+:10268000CF911F910F91FF90EF90DF90CF900C941E\r
+:102690001F104F70C8010E94AB0228960FB6F89425\r
+:1026A000DEBF0FBECDBFDF91CF911F910F91FF9085\r
+:1026B000EF90DF90CF900C9409174F70C8012896C7\r
+:1026C0000FB6F894DEBF0FBECDBFDF91CF911F9143\r
+:1026D0000F91FF90EF90DF90CF900C94D605289645\r
+:1026E0000FB6F894DEBF0FBECDBFDF91CF911F9123\r
+:1026F0000F91FF90EF90DF90CF9008950E9497196F\r
+:102700000E946C190E94B3190E94BA1E0E940E1EEC\r
+:1027100080E090E00E94510E80E090E00C94670E03\r
+:102720000E9487190C947E130E94B718292F2295B6\r
+:102730002F7030E02C3031054CF42A3031056CF428\r
+:10274000225031092230310590F407C02C30310578\r
+:1027500051F02F30310539F00AC0803E10F0803F33\r
+:1027600031F481E0089593FB882780F9089580E093\r
+:102770000895CF93DF9300D000D01F92CDB7DEB77E\r
+:102780000F900F900F900F900F90DF91CF910895C1\r
+:10279000CF93DF9300D000D000D0CDB7DEB7269620\r
+:1027A0000FB6F894DEBF0FBECDBFDF91CF91089575\r
+:1027B0001F93CF93DF93C091790116E080917A0146\r
+:1027C000C81799F0D0E01C9FF0011D9FF00D112457\r
+:1027D000E558FE4F408151816281738184819581EA\r
+:1027E0000E94C8132196C770E9CFDF91CF911F9146\r
+:1027F00008954091AB015091AC016091AD01709191\r
+:10280000AE018091AF019091B0010C94C813CF93A9\r
+:102810008091B00182958F7009F05FC08091AD0109\r
+:10282000882309F45AC020917901A0917A0160911E\r
+:10283000AB017091AC018091AE019091AF0131E09C\r
+:102840006F3F09F030E0B32FC6E02A1709F445C006\r
+:10285000009721F07F3F21F44B2F03C041E001C0DE\r
+:1028600040E030E040FD35C0C29FF001C39FF00D55\r
+:102870001124E558FE4F418174132BC0408164132D\r
+:1028800028C04281411125C043815481481759070E\r
+:1028900010F441505109481B590B483C5105C8F4EC\r
+:1028A0008091B0018F7080618093B00186E0829F3B\r
+:1028B000F001839FF00D1124E058FE4F80818F704E\r
+:1028C000806180838BEA91E00E947C10CF910C9410\r
+:1028D000D8132F5F3F4F2770B8CFCF910895CF9275\r
+:1028E000DF92EF92FF920F931F93CF93DF93CDB7B9\r
+:1028F000DEB762970FB6F894DEBF0FBECDBF8C0176\r
+:1029000085E0F801DE011D9601900D928A95E1F7B0\r
+:10291000D8014C9111965C91119712966C91129777\r
+:102920001396ED90FC9014977091AB01E091AC017F\r
+:102930002091AE013091AF012115310531F0EF3F0B\r
+:1029400031F481E07F3F19F403C081E001C080E0F1\r
+:10295000B82FB170CB2E80FD6CC1D090AD01DD20C1\r
+:1029600009F4F5C0F091B001E216F30638F0C701A2\r
+:10297000821B930B883C910548F09BC020953095B5\r
+:102980002E0D3F1D283C310508F093C08F2F807F0E\r
+:1029900009F052C0E51314C0741312C0D62E611191\r
+:1029A0000FC0FF70F061F093B0010E94F9138BEA41\r
+:1029B00091E00E947C108091B001F80185836CC188\r
+:1029C000EF2831F05F3F31F481E04F3F19F403C04D\r
+:1029D00081E001C080E080FD03C081E0862701C066\r
+:1029E00080E0F82FF170FF2E80FF1CC080917901EC\r
+:1029F00020917A0136E0821709F428C190E0389FCF\r
+:102A0000F001399FF00D1124E558FE4F71815713E5\r
+:102A100006C07081471303C07281671303C001961B\r
+:102A20008770E9CFD62E662309F436C18091B001B4\r
+:102A300081608093B00153C0E51308C0741306C0D1\r
+:102A4000611104C0D8011596FC93AEC04D875E8716\r
+:102A50008D859E856A8B0E9494136A89882329F14B\r
+:102A6000D62E662311F12091B001822F82958F70AE\r
+:102A700090E002970CF460C08091AB019091AC01A2\r
+:102A800098878F831986FB86EA862C87CE01079666\r
+:102A900051C0E51731F14D875E878D859E856A8B24\r
+:102AA0000E9494136A8981112EC0C8010E947C1073\r
+:102AB000A4C08F2F807F69F77E2DF98AE88A8989E3\r
+:102AC0000E94B9138BEA91E00E947C10EBEAF1E0DE\r
+:102AD00086E0DF011D928A95E9F70E94F913D12C57\r
+:102AE000DBC07413D8CF6111D6CFD8011596FC93F3\r
+:102AF000C8010E947C10EBEAF1E086E0DF011D9244\r
+:102B00008A95E9F7C9C0D62E662379F22091B001E3\r
+:102B1000822F82958F7090E0029774F08091AB01C4\r
+:102B20009091AC019A8389831B82FD82EC822E8373\r
+:102B3000CE0101960E947C1086E0F801ABEAB1E07C\r
+:102B400001900D928A95E1F70E9407146FC0E2167A\r
+:102B5000F30628F0C701821B930B9C0104C020954B\r
+:102B600030952E0D3F1D283C310508F052C0D62E61\r
+:102B7000662309F49ACFE5132CC074132AC0809100\r
+:102B8000B00180FD1DC0982F92959F70C9F0D801AB\r
+:102B900015968C9315979F3039F09F5F9295907F93\r
+:102BA0008F70892B15968C93C8010E947C1086E04B\r
+:102BB000F801ABEAB1E001900D928A95E1F736C0D9\r
+:102BC00086E0F801ABEAB1E001900D928A95E1F759\r
+:102BD00063C04D875E878D859E850E9494138823F0\r
+:102BE00079F086E0F801ABEAB1E001900D928A95A8\r
+:102BF000E1F70E9407140E94F913DD24D3944CC01E\r
+:102C00008091B00181608093B001C8010E947C1066\r
+:102C100043C07E2DF98AE88A89890E94B913EBEABC\r
+:102C2000F1E086E0DF011D928A95E9F70E94F91331\r
+:102C300033C0662309F439CF4D875E878D859E8525\r
+:102C40000E949413882309F430CFCBCF4D875E8741\r
+:102C50008D859E850E94B718292F22952F7030E010\r
+:102C6000223031052CF49F7041F0811106C00CC058\r
+:102C7000243031052CF49F7049F4805E883020F0B8\r
+:102C8000C8010E947C10CF2CDC2C06C0D801159600\r
+:102C90009C91907F91F7F8CF8D2D62960FB6F894A6\r
+:102CA000DEBF0FBECDBFDF91CF911F910F91FF907F\r
+:102CB000EF90DF90CF9008951F93CF93DF93CDB720\r
+:102CC000DEB72C970FB6F894DEBF0FBECDBF4F8393\r
+:102CD000588769877A878B879C87CE0107960E94E1\r
+:102CE0006F148823C1F02F8138858A859B85892BB5\r
+:102CF00031F03F3F11F080E003C02F3FE1F781E06A\r
+:102D0000811147C04F81588569857A858B859C855F\r
+:102D10000E94C8133EC086E0FE013796DE01119680\r
+:102D200001900D928A95E1F7FF81E8854A855B85E0\r
+:102D30004115510531F0EF3F31F481E0FF3F19F4C7\r
+:102D400003C081E001C080E080FD23C020917A01B2\r
+:102D500030E0C9010196877099276091790170E090\r
+:102D600086179707F1F1F983EA835D834C8396E038\r
+:102D7000929FD001939FB00D1124A558BE4FFE0124\r
+:102D8000319601900D929A95E1F780937A010E9415\r
+:102D9000D81316E08091790190917A01891779F121\r
+:102DA000189FC001112485589E4F0E946F148823DC\r
+:102DB00031F1E09179011E9FF0011124E558FE4F99\r
+:102DC0004081518162817381848195810E94C81301\r
+:102DD0008091790190E0019687709927809379011D\r
+:102DE000D9CF0E94901310927A0110927901EBEAE8\r
+:102DF000F1E086E0DF011D928A95E9F7CACF2C96B3\r
+:102E00000FB6F894DEBF0FBECDBFDF91CF911F91FB\r
+:102E10000895EF92FF920F931F93CF93DF93FC01DE\r
+:102E2000009709F46FC0F12CEE24E394EF01219692\r
+:102E30008491843740F4843008F055C0813081F0AB\r
+:102E4000823021F15FC0853709F447C0C0F19CE7AB\r
+:102E5000980F903708F056C08F770E941F1045C01A\r
+:102E60008F010E5F1F4FFE01849190E2980F983002\r
+:102E700050F48770FE2D01C0FF0F8A95EAF78F2F5F\r
+:102E80000E948A1915C00E94570F14C08F010E5F4F\r
+:102E90001F4FFE01849190E2980F983068F487707C\r
+:102EA000FE2D01C0FF0F8A95EAF78F2F0E9490191F\r
+:102EB0000E94B319E80119C00E941F10FBCFCF0177\r
+:102EC0000296FE01C491CC2361F0EFE9FFE0319757\r
+:102ED000F1F700C00000C150F6CFCF010296FE010D\r
+:102EE000F490EC0102C00E94570F8F2D882341F00F\r
+:102EF000EFE9FFE03197F1F700C000008150F6CF15\r
+:102F0000FE0194CFDF91CF911F910F91FF90EF9031\r
+:102F1000089508956093B5017093B6018093B70149\r
+:102F20009093B8010C947E130F931F930091B501F9\r
+:102F30001091B6012091B7013091B801062B172BE3\r
+:102F4000282B392B0093B5011093B6012093B701BC\r
+:102F50003093B8011F910F910C947E130F931F9320\r
+:102F60000091B5011091B6012091B7013091B801DF\r
+:102F700006231723282339230093B5011093B601A4\r
+:102F80002093B7013093B8011F910F910C947E13D9\r
+:102F90000F931F930091B5011091B6012091B701D5\r
+:102FA0003091B80106271727282739270093B50144\r
+:102FB0001093B6012093B7013093B8011F910F9180\r
+:102FC0000C947E131092B1011092B2011092B301D1\r
+:102FD0001092B4010C947E1341E050E060E070E088\r
+:102FE00004C0440F551F661F771F8A95D2F7409380\r
+:102FF000B1015093B2016093B3017093B4010C948A\r
+:103000007E1341E050E060E070E004C0440F551FC3\r
+:10301000661F771F8A95D2F78091B1019091B20116\r
+:10302000A091B301B091B401842B952BA62BB72BA3\r
+:103030008093B1019093B201A093B301B093B40116\r
+:103040000C947E1341E050E060E070E004C0440F57\r
+:10305000551F661F771F8A95D2F74095509560954A\r
+:1030600070958091B1019091B201A091B301B0919E\r
+:10307000B40184239523A623B7238093B1019093B1\r
+:10308000B201A093B301B093B4010C947E1341E05C\r
+:1030900050E060E070E004C0440F551F661F771FCA\r
+:1030A0008A95D2F78091B1019091B201A091B301BC\r
+:1030B000B091B40184279527A627B7278093B10143\r
+:1030C0009093B201A093B301B093B4010C947E131A\r
+:1030D0000F931F930091B1011091B2012091B301A0\r
+:1030E0003091B401062B172B282B392B0093B101FB\r
+:1030F0001093B2012093B3013093B4011F910F914B\r
+:103100000C947E130F931F930091B1011091B201A3\r
+:103110002091B3013091B4010623172328233923CA\r
+:103120000093B1011093B2012093B3013093B40125\r
+:103130001F910F910C947E130F931F930091B10177\r
+:103140001091B2012091B3013091B40106271727E5\r
+:10315000282739270093B1011093B2012093B301BE\r
+:103160003093B4011F910F910C947E130895CF9268\r
+:10317000DF92EF92FF920F931F93CF93DF93EC01B7\r
+:10318000C090B501D090B601E090B701F090B801C1\r
+:103190008091B1019091B201A091B301B091B401BD\r
+:1031A000C82AD92AEA2AFB2A0FE110E0B701A601B2\r
+:1031B000002E04C076956795579547950A94D2F7E7\r
+:1031C00040FF07C0BE01802F0E94F90581309105A4\r
+:1031D00039F40150110950F7BE0180E00E94F90551\r
+:1031E000DF91CF911F910F91FF90EF90DF90CF90E3\r
+:1031F000089590910C019923D9F090910D01992394\r
+:10320000B9F0982F9695969596959F3088F5E09110\r
+:103210000E01F0910F01E90FF11D877021E030E000\r
+:1032200001C0220F8A95EAF78181822B818308955C\r
+:1032300040910E0150910F0120E030E09FEFFA0124\r
+:10324000E20FF31F6281681799F09F3F19F4611133\r
+:1032500001C0922F2F5F3F4F2E30310581F79F3FE6\r
+:1032600039F0FA01E90FF11D97FDFA95828308956F\r
+:10327000089590910C019923E1F090910D0199230B\r
+:10328000C1F0982F9695969596959F3020F5E091F0\r
+:103290000E01F0910F01E90FF11D877021E030E080\r
+:1032A00001C0220F8A95EAF7209581812823218386\r
+:1032B000089540910E0150910F0120E030E0FA0195\r
+:1032C000E20FF31F9281981301C012822F5F3F4FCC\r
+:1032D0002E303105A1F7089581E090E0E0910E01D4\r
+:1032E000F0910F01E80FF91F1082019680319105CE\r
+:1032F000A9F708959091CB01982B9093CB01089555\r
+:1033000080959091CB0198239093CB0108951092D2\r
+:10331000CB0108959091CA01982B9093CA0108950A\r
+:1033200080959091CA0198239093CA0108951092B4\r
+:10333000CA0108958093B90108951092B9010895C2\r
+:1033400040910E0150910F0120E030E080E0FA0141\r
+:10335000E20FF31F918191118F5F2F5F3F4F2F304D\r
+:103360003105A9F70895E0910E01F0910F018091C8\r
+:10337000CB018083E0910E01F0910F01808190914B\r
+:10338000CA01892B80839091B901992361F0E09162\r
+:103390000E01F0910F018081892B80830E94A0197A\r
+:1033A00081111092B90180910E0190910F010C943E\r
+:1033B0003B0ECF92DF92EF92FF920F931F936C011F\r
+:1033C000EE24FF24C114D104E104F10421F46B01C3\r
+:1033D0007C0180E001C080E133272F2D1E2D0D2DB3\r
+:1033E000011511052105310519F0885F6801790182\r
+:1033F00097018601A4E03695279517950795AA951C\r
+:10340000D1F7011511052105310519F08C5F68010F\r
+:10341000790197018601F2E0369527951795079572\r
+:10342000FA95D1F7011511052105310519F08E5FC7\r
+:1034300068017901B701A60176956795579547957B\r
+:10344000452B462B472B09F08F5F1F910F91FF9063\r
+:10345000EF90DF90CF9008958091E501843009F1DD\r
+:103460001092CD0120E488E190E00FB6F894A89581\r
+:10347000809360000FBE2093600083B7817F8460DB\r
+:1034800083BF83B7816083BF7894889583B78E7F2D\r
+:1034900083BF88E10FB6F8948093600010926000BB\r
+:1034A0000FBE089508950895CF930E94521A0E9466\r
+:1034B00023040E94531AC0E08C2F0E941005811132\r
+:1034C00005C0CF5FCE30C1F780E001C081E0CF9171\r
+:1034D00008950E9490130E942F0E0C94340782E0EE\r
+:1034E00084BD93E095BD9AEF97BD80936E000895DB\r
+:1034F0002FB7F8948091CE019091CF01A091D00187\r
+:10350000B091D1012FBF0895CF92DF92EF92FF9239\r
+:103510000F931F932FB7F8944091CE015091CF0194\r
+:103520006091D0017091D1012FBF6A017B01EE241F\r
+:10353000FF248C0120E030E0C016D106E206F3063D\r
+:1035400010F441505109481B590BCA011F910F91AA\r
+:10355000FF90EF90DF90CF9008951F920F920FB6DB\r
+:103560000F9211248F939F93AF93BF938091CE01BD\r
+:103570009091CF01A091D001B091D1010196A11DF0\r
+:10358000B11D8093CE019093CF01A093D001B09351\r
+:10359000D101BF91AF919F918F910F900FBE0F906E\r
+:1035A0001F9018950E94350BF8942FEF87EA91E64B\r
+:1035B000215080409040E1F700C0000087E090EB90\r
+:1035C000DC018093EE019093EF01A093F001B093A2\r
+:1035D000F1012CE088E190E00FB6F894A895809373\r
+:1035E00060000FBE20936000FFCFEF92FF920F9319\r
+:1035F0001F93CF93DF93E82EF12C8F2D0E9410059F\r
+:10360000C0E0D0E0082F10E098010C2E02C03595E4\r
+:1036100027950A94E2F720FD05C02196C630D10512\r
+:1036200099F709C06C2F7F2D80E00E94D705E81222\r
+:10363000F4CF81E005C0F3948EE0F812DECF80E095\r
+:10364000DF91CF911F910F91FF90EF900895CF934D\r
+:10365000C82F8CE20E94F51A882321F08C2FCF917D\r
+:103660000C94F51A80E0CF910895CF930E947A1CB4\r
+:10367000811102C00E94601CC5E6C15049F00E9441\r
+:1036800023048FE39CE90197F1F700C00000F5CF18\r
+:1036900089E20E94271B811111C18AE20E94271B27\r
+:1036A00081110E94601C85E00E94271B81110E94ED\r
+:1036B000D21A0E94851C8093CC0187E00E94271BB0\r
+:1036C000882399F18BE10E94271B882351F0909168\r
+:1036D000CC0191FB882780F921E0822780FB91F9BA\r
+:1036E00022C08EE00E94271B882351F09091CC01CC\r
+:1036F00092FB882780F921E0822780FB92F913C092\r
+:1037000080E10E94271B9091CC01882341F093FB1C\r
+:10371000882780F921E0822780FB93F904C0892F54\r
+:10372000809580FB90F99093CC018091CC010E9410\r
+:10373000891C0E94971C8093DF0180EE0E94271B4A\r
+:10374000882341F08091DF01982F909590FB80F9BC\r
+:103750008093DF0189E30E94271B882359F0909111\r
+:10376000DF0191FB882780F921E0822780FB91F916\r
+:103770009093DF0182EE0E94271B882359F09091DD\r
+:10378000DF0192FB882780F921E0822780FB92F9F4\r
+:103790009093DF0186EE0E94271B882359F09091B9\r
+:1037A000DF0193FB882780F921E0822780FB93F9D2\r
+:1037B0009093DF0183EE0E94271B882359F090919C\r
+:1037C000DF0194FB882780F921E0822780FB94F9B0\r
+:1037D0009093DF0185E30E94271B882359F0909185\r
+:1037E000DF0195FB882780F921E0822780FB95F98E\r
+:1037F0009093DF0181E30E94271B882359F0909169\r
+:10380000DF0196FB882780F921E0822780FB96F96B\r
+:103810009093DF0181E10E94271B882359F090914A\r
+:10382000DF0197FB882780F921E0822780FB97F949\r
+:103830009093DF018091DF010E949B1C8091DF014A\r
+:1038400087FB882780F980930D0187E20E94271B60\r
+:10385000C82F8EE10E94271B8111C2608FE10E9458\r
+:10386000271B8111C46080E20E94271B8111C86060\r
+:1038700081E20E94271B8111C06182E20E94271B06\r
+:103880008111C06283E20E94271B8111C06484E21F\r
+:103890000E94271B882311F0C06802C0CC2329F0A6\r
+:1038A0008C2F0E94921C6C2F03C00E948E1C682FCC\r
+:1038B00070E080E090E0CF910C948A17CF9108954A\r
+:1038C0006DEE7EEF80E090E00E94B62260E082E044\r
+:1038D00090E00E94A82260E083E090E00E94A8228D\r
+:1038E00060E084E090E00E94A82260E085E090E043\r
+:1038F0000C94A82280E090E00E94A22221E08D3E5C\r
+:103900009E4F09F020E0822F089582E090E00C9411\r
+:103910009A22682F82E090E00C94A82283E090E045\r
+:103920000C949A22682F83E090E00C94A82284E003\r
+:1039300090E00C949A22682F84E090E00C94A822E6\r
+:103940008091D40180FF0BC06091130185E0689FD6\r
+:10395000B001112475956795759567952AC081FF0B\r
+:1039600009C06091130185E0689FB001112475952D\r
+:1039700067951FC082FF07C06091130185E0689FB3\r
+:10398000B001112416C04091D5014423C9F06091C3\r
+:103990001201461788F72091130185E0289F9001B6\r
+:1039A0001124429FC001439F900D112470E00E949A\r
+:1039B0006C226038710540F46115710539F002C060\r
+:1039C00065E070E0862F08958FE7089581E00895FF\r
+:1039D0008091D40180FF08C06091110170E075955D\r
+:1039E00067957595679521C081FF06C060911101AB\r
+:1039F00070E07595679519C082FF04C06091110150\r
+:103A000070E010C08091D5018823C1F06091100151\r
+:103A10008617A0F790911101989FC001112470E0C2\r
+:103A20000E946C226038710528F46115710521F03F\r
+:103A3000862F08958FE7089581E0089561E070E092\r
+:103A4000F4CF803F21F40E94A01C819504C0813FE7\r
+:103A500029F40E94A01C8093D8010895823F21F48C\r
+:103A60000E94A01C819504C0833F29F40E94A01CE1\r
+:103A70008093D7010895893F19F40E94E81C05C07E\r
+:103A80008A3F31F40E94E81C81958093D901089502\r
+:103A90008B3F21F40E94E81C819504C08C3F29F4DF\r
+:103AA0000E94E81C8093DA010895843F21F48091FC\r
+:103AB000D601816017C0853F21F48091D6018260D4\r
+:103AC00011C0863F21F48091D60184600BC0873FEE\r
+:103AD00021F48091D601886005C0883F31F480913F\r
+:103AE000D60180618093D60108958D3F21F48091A5\r
+:103AF000D40181600BC08E3F21F48091D40182609B\r
+:103B000005C08F3F29F48091D40184608093D40153\r
+:103B10000895803F39F48091D80187FF6CC01092DE\r
+:103B2000D80169C0813F29F48091D8011816BCF3EF\r
+:103B300062C09091D701823F29F497FF5CC0109238\r
+:103B4000D70159C0833F19F41916CCF354C0893FEB\r
+:103B500041F48091D90118160CF04DC01092D90192\r
+:103B60004AC08A3F29F48091D90187FF44C0F6CF2B\r
+:103B70008B3F39F48091DA0187FF3DC01092DA0162\r
+:103B80003AC08C3F29F48091DA011816BCF333C097\r
+:103B9000843F21F48091D6018E7F17C0853F21F4A8\r
+:103BA0008091D6018D7F11C0863F21F48091D6018E\r
+:103BB0008B7F0BC0873F21F48091D601877F05C0A2\r
+:103BC000883F31F48091D6018F7E8093D60113C057\r
+:103BD0008D3F21F48091D4018E7F0BC08E3F21F464\r
+:103BE0008091D4018D7F05C08F3F29F48091D4014D\r
+:103BF0008B7F8093D4018091D70181110EC0809179\r
+:103C0000D80181110AC08091D901811106C080912B\r
+:103C1000DA01811102C01092D501089586ED91E07C\r
+:103C20000E94460E0E94781A9093D3018093D2018D\r
+:103C300008951F93CF93DF938091D2019091D30188\r
+:103C40000E94841A4091D501442321F0209114014F\r
+:103C500030E006C0209115015AE0259F9001112403\r
+:103C60008217930708F482C08091D7011091D80180\r
+:103C7000D091D901C091DA01811107C0111105C09D\r
+:103C8000D11103C0CC2309F471C04F3F19F04F5F2D\r
+:103C90004093D501181624F40E94A01C8093D701EC\r
+:103CA0008091D70187FF05C00E94A01C8195809359\r
+:103CB000D701111624F40E94A01C8093D801809192\r
+:103CC000D80187FF05C00E94A01C81958093D80170\r
+:103CD0006091D701662339F11091D801112319F1B0\r
+:103CE000772767FD7095872F972F0E947D2123E30B\r
+:103CF00033E343E35FE30E94E1210E944A216093A2\r
+:103D0000D701612F772767FD7095872F972F0E9426\r
+:103D10007D2123E333E343E35FE30E94E1210E943B\r
+:103D20004A216093D8011D1624F40E94E81C809358\r
+:103D3000D9018091D90187FF05C00E94E81C8195B7\r
+:103D40008093D9011C1624F40E94E81C8093DA01A8\r
+:103D50008091DA0187FF05C00E94E81C819580935D\r
+:103D6000DA01DF91CF911F910C940E1EDF91CF915C\r
+:103D70001F910895E6EDF1E085E0DF011D928A953F\r
+:103D8000E9F71092D5011092D4010895833081F1A2\r
+:103D900028F4813059F08230D1F00895853009F44B\r
+:103DA00049C0B8F1863009F456C008952091150134\r
+:103DB000862F90E0820F911D8F3F910520F4620FB6\r
+:103DC0006093150108958FEF809315010895209158\r
+:103DD0001401862F90E0820F911D8F3F910520F4F2\r
+:103DE000620F6093140108958FEF8093140108957A\r
+:103DF00020911301862F90E0820F911D8F3F910536\r
+:103E000020F4620F6093130108958FEF80931301E4\r
+:103E1000089520911201862F90E0820F911D8F3F0F\r
+:103E2000910520F4620F6093120108958FEF809343\r
+:103E30001201089520911101862F90E0820F911DAB\r
+:103E40008F3F910520F4620F6093110108958FEF69\r
+:103E500080931101089520911001862F90E0820F28\r
+:103E6000911D8F3F910520F4620F6093100108951A\r
+:103E70008FEF809310010895833011F128F4813081\r
+:103E800049F0823091F00895853081F120F186303B\r
+:103E9000C1F1089580911501681720F4861B809365\r
+:103EA0001501089510921501089580911401681765\r
+:103EB00020F4861B80931401089510921401089534\r
+:103EC00080911301681720F4861B809313010895D5\r
+:103ED00010921301089580911201681720F4861B37\r
+:103EE000809312010895109212010895809111019A\r
+:103EF000681720F4861B8093110108951092110118\r
+:103F0000089580911001681720F4861B809310019A\r
+:103F100008951092100108958D3109F442C020F5E2\r
+:103F20008E3009F479C070F4873009F45EC020F453\r
+:103F3000863009F442C033C08830D1F18B3009F4A7\r
+:103F4000A7C02DC0863109F4A3C038F4803109F42C\r
+:103F50006DC0813109F47BC022C0893109F498C059\r
+:103F60008B3109F44FC01BC0853309F479C048F484\r
+:103F7000873209F475C008F478C0893209F470C03A\r
+:103F80000EC0833438F48A3308F071C0883309F4E2\r
+:103F90007FC005C0833409F463C08834C1F080E079\r
+:103FA00008950E9404210E942F0E0E94340770C0C1\r
+:103FB0000E94851C0E94971C6BC08091CC01817F60\r
+:103FC0008E7F8093CC0181E08093DC0108950E9474\r
+:103FD00090132FEF83ED90E3215080409040E1F764\r
+:103FE00000C000000E94D21A53C09091CC01892FCA\r
+:103FF000817090FF03C0917F9E7F26C09160909357\r
+:10400000CC0146C09091CC0191FB882780F921E03A\r
+:10401000822780FB91F913C09091CC0192FB8827F5\r
+:1040200080F921E0822780FB92F909C09091CC01B0\r
+:1040300093FB882780F921E0822780FB93F99093F6\r
+:10404000CC01882329F191609093CC0108950E94BE\r
+:10405000901380910D0191E0892780930D0118C084\r
+:1040600061E070E080E090E00FC023EE01C027EC3B\r
+:10407000280F61E070E080E090E004C0660F771FD9\r
+:10408000881F991F2A95D2F70E948A170E949013C1\r
+:1040900081E0089580E0089580E00895CF93C82FCF\r
+:1040A0008091DC01813079F018F08230D1F184C048\r
+:1040B000A0910E01B0910F018C91813169F0823293\r
+:1040C00009F07CC009C0A0910E01B0910F018C9144\r
+:1040D000813111F0823249F48C2F0E944A208111E3\r
+:1040E0001DC08C2F0E948C1F1AC08C2F0E944C2048\r
+:1040F000811114C0C43179F048F4CB3079F0C0316B\r
+:1041000009F060C082E08093DC0108C0C93219F078\r
+:10411000C83321F057C01092DC0154C081E0817097\r
+:1041200053C0C93289F118F5C43171F1A8F4C73010\r
+:1041300009F046C08AE08093150194E19093140140\r
+:1041400093E0909313018093120188E08093110112\r
+:1041500088E28093100134C0CE51C63088F5EC2F30\r
+:10416000F0E0E65DFE4F80818093DB0129C0CE3414\r
+:10417000E9F020F4CB3421F56AE013C0C13579F0C1\r
+:10418000C235F1F461E00DC08091DB01882319F0A4\r
+:104190001092DB0115C081E08093DC0115C061E065\r
+:1041A00006C08091DB010E94C61E0AC06AE08091B1\r
+:1041B000DB010E943C1F04C01092DC0180E004C0BF\r
+:1041C00081E002C080E0ABCFCF910895E1E8F0E05C\r
+:1041D0008081886080838081816080838FB7F8943C\r
+:1041E00093E09093890090ED909388008FBF08959D\r
+:1041F000EFE6F0E08081826080830895EFE6F0E0F2\r
+:1042000080818D7F80830895EFE6F0E0808192E0E9\r
+:104210008927808308951F920F920FB60F92112461\r
+:104220002F933F934F935F936F937F938F939F93BE\r
+:10423000AF93BF93EF93FF938091DD019091DE01E7\r
+:1042400001969093DE018093DD01811103C082E02D\r
+:104250000E943407E091DE01E695E695F0E0E6572E\r
+:10426000FB4FE4918091DD018E1303C080E00E943A\r
+:104270003407FF91EF91BF91AF919F918F917F9103\r
+:104280006F915F914F913F912F910F900FBE0F90C3\r
+:104290001F90189504D06894B1118DC0089570D006\r
+:1042A00088F09F5790F0B92F9927B751A0F0D1F01F\r
+:1042B000660F771F881F991F1AF0BA95C9F712C0A9\r
+:1042C000B13081F077D0B1E0089574C0672F782FB6\r
+:1042D0008827B85F39F0B93FCCF386957795679515\r
+:1042E000B395D9F73EF490958095709561957F4F81\r
+:1042F0008F4F9F4F0895E89409C097FB3EF4909527\r
+:104300008095709561957F4F8F4F9F4F9923A9F0AE\r
+:10431000F92F96E9BB279395F6958795779567953D\r
+:10432000B795F111F8CFFAF4BB0F11F460FF1BC081\r
+:104330006F5F7F4F8F4F9F4F16C0882311F096E914\r
+:1043400011C0772321F09EE8872F762F05C06623C2\r
+:1043500071F096E8862F70E060E02AF09A95660F7B\r
+:10436000771F881FDAF7880F9695879597F9089534\r
+:1043700057FD9058440F551F59F05F3F71F0479516\r
+:10438000880F97FB991F61F09F3F79F087950895FB\r
+:10439000121613061406551FF2CF4695F1DF08C01A\r
+:1043A000161617061806991FF1CF86957105610537\r
+:1043B00008940895E894BB2766277727CB0197F9DF\r
+:1043C00008950BD078C069D028F06ED018F09523EE\r
+:1043D00009F05AC05FC01124EECFCADFA0F3959F49\r
+:1043E000D1F3950F50E0551F629FF001729FBB27DC\r
+:1043F000F00DB11D639FAA27F00DB11DAA1F649F88\r
+:104400006627B00DA11D661F829F2227B00DA11D3A\r
+:10441000621F739FB00DA11D621F839FA00D611DC0\r
+:10442000221F749F3327A00D611D231F849F600DE1\r
+:10443000211D822F762F6A2F11249F5750408AF01A\r
+:10444000E1F088234AF0EE0FFF1FBB1F661F771FA6\r
+:10445000881F91505040A9F79E3F510570F014C03D\r
+:10446000AACF5F3FECF3983EDCF38695779567958E\r
+:10447000B795F795E7959F5FC1F7FE2B880F911DC4\r
+:104480009695879597F9089597F99F6780E870E06A\r
+:1044900060E008959FEF80EC089500240A941616BA\r
+:1044A000170618060906089500240A941216130622\r
+:1044B000140605060895092E0394000C11F48823B0\r
+:1044C00052F0BB0F40F4BF2B11F460FF04C06F5FCC\r
+:1044D0007F4F8F4F9F4F089597FB072E16F4009440\r
+:1044E00007D077FD09D00E94862207FC05D03EF454\r
+:1044F000909581959F4F0895709561957F4F089590\r
+:10450000EE0FFF1F0590F491E02D0994AA1BBB1B31\r
+:1045100051E107C0AA1FBB1FA617B70710F0A61BC3\r
+:10452000B70B881F991F5A95A9F780959095BC01E4\r
+:10453000CD010895F999FECF92BD81BDF89A9927D2\r
+:1045400080B50895A8E1B0E042E050E00C94BD22AF\r
+:10455000262FF999FECF1FBA92BD81BD20BD0FB69F\r
+:10456000F894FA9AF99A0FBE019608950E94A8222B\r
+:10457000272F0C94A922DC01CB01FC01F999FECF75\r
+:1045800006C0F2BDE1BDF89A319600B40D924150DB\r
+:0A4590005040B8F70895F894FFCFEB\r
+:10459A0020023607C307A0076C0739070101BA01D1\r
+:1045AA0028080A03140A3F4D36394B04FE03C80390\r
+:1045BA008F0322033B0354036D0301020304050620\r
+:0445CA0007080900D5\r
 :00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png
deleted file mode 100644 (file)
index c83f972..0000000
Binary files a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png and /dev/null differ
index 033e8ef4d5f4d486879da62ec1554556e189a5a6..1cfea06dd090c663d8caeb1fd465ed5af75a2b82 100644 (file)
@@ -1,5 +1,9 @@
-# The Ordinary Layout. for  users of common keyboards
+# The Ordinary Layout, a familiar and powerful layout
 
-You can read more about the reasoning behind this layout over at [Nicholas's blog](http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html). The idea is to make a layout that's as familiar as possible for users of "regular" keyboards.
+The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards and features enhanced Symbol and Media layers compared to the default Ergodox EZ layout.
 
-![Ordinary layout](ordinary.png)
+Full details about the rationale behind this layout [are available](http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html).
+
+![Ordinary base layout](ordinary-base.png)
+![Ordinary symbol layout](ordinary-symbol.png)
+![Ordinary media layout](ordinary-media.png)
index fe8731ec7b5486fef4c410e41ba70c404ce4fe5f..4b39cf1e8bd89ec8770d0ed8a198cb358b0aebaf 100644 (file)
@@ -1,28 +1,26 @@
 #include "planck.h"
 
 __attribute__ ((weak))
-void matrix_init_user(void) {
-
-}
+void matrix_init_user(void) {}
 
 __attribute__ ((weak))
-void matrix_scan_user(void) {
+void matrix_scan_user(void) {}
 
-}
+__attribute__ ((weak))
+void process_action_user(keyrecord_t *record) {}
 
 void matrix_init_kb(void) {
-       #ifdef BACKLIGHT_ENABLE
-       backlight_init_ports();
-       #endif
+#ifdef BACKLIGHT_ENABLE
+       backlight_init_ports();
+#endif
 
-       #ifdef RGBLIGHT_ENABLE
-               rgblight_init();
-       #endif
+#ifdef RGBLIGHT_ENABLE
+       rgblight_init();
+#endif
 
-
-    // Turn status LED on
-    DDRE |= (1<<6);
-    PORTE |= (1<<6);
+       // Turn status LED on
+       DDRE |= (1<<6);
+       PORTE |= (1<<6);
 
        matrix_init_user();
 }
@@ -30,3 +28,7 @@ void matrix_init_kb(void) {
 void matrix_scan_kb(void) {
        matrix_scan_user();
 }
+
+void process_action_kb(keyrecord_t *record) {
+       process_action_user(record);
+}
index e9566b92286e18e2149558f15429ec5fe51aa1f2..edcb5fbff6d84d549634ac9e38b7a285df882a3c 100644 (file)
@@ -42,5 +42,6 @@
 
 void matrix_init_user(void);
 void matrix_scan_user(void);
+void process_action_user(keyrecord_t *record);
 
 #endif
index ec51227ff124c4748ec8ea2e572ef182727a29fd..918b4307198e443a49648fbf65960157ad7648e5 100644 (file)
@@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
+BOOTMAGIC_ENABLE = yes         # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes          # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes          # Audio control and System control(+450)
+CONSOLE_ENABLE = yes           # Console for debug(+400)
+COMMAND_ENABLE = yes           # Commands for debug and configuration
+KEYBOARD_LOCK_ENABLE = yes     # Allow locking of keyboard via magic key
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-# NKRO_ENABLE = yes            # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-# BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES            # MIDI controls
-# UNICODE_ENABLE = YES                 # Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+# SLEEP_LED_ENABLE = yes       # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes                      # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
+# MIDI_ENABLE = YES                    # MIDI controls
+# UNICODE_ENABLE = YES         # Unicode
+# BLUETOOTH_ENABLE = yes       # Enable Bluetooth with the Adafruit EZ-Key HID
 
 
 # Optimize size but this may cause error "relocation truncated to fit"
index ba9a861edd4e5fd6536702337b1d0a43b51c6d6b..05fceb92b2bede788b7add3e675d1634a15721f4 100644 (file)
@@ -53,11 +53,54 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
-/* key combination for command */
+
+/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */
+#define FORCE_NKRO
+
+/*
+ * Magic key options
+ * These options allow the magic key functionality to be changed. This is useful
+ * if your keyboard/keypad is missing keys and you want magic key support.
+ */
+
+/* key combination for magic key command */
 #define IS_COMMAND() ( \
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* remap magic keys */
+//#define MAGIC_KEY_HELP1          H
+//#define MAGIC_KEY_HELP2          SLASH
+//#define MAGIC_KEY_DEBUG          D
+//#define MAGIC_KEY_DEBUG_MATRIX   X
+//#define MAGIC_KEY_DEBUG_KBD      K
+//#define MAGIC_KEY_DEBUG_MOUSE    M
+//#define MAGIC_KEY_VERSION        V
+//#define MAGIC_KEY_STATUS         S
+//#define MAGIC_KEY_CONSOLE        C
+//#define MAGIC_KEY_LAYER0_ALT1    ESC
+//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
+//#define MAGIC_KEY_LAYER0         0
+//#define MAGIC_KEY_LAYER1         1
+//#define MAGIC_KEY_LAYER2         2
+//#define MAGIC_KEY_LAYER3         3
+//#define MAGIC_KEY_LAYER4         4
+//#define MAGIC_KEY_LAYER5         5
+//#define MAGIC_KEY_LAYER6         6
+//#define MAGIC_KEY_LAYER7         7
+//#define MAGIC_KEY_LAYER8         8
+//#define MAGIC_KEY_LAYER9         9
+//#define MAGIC_KEY_BOOTLOADER     PAUSE
+#define MAGIC_KEY_LOCK             BSLS
+//#define MAGIC_KEY_EEPROM         E
+//#define MAGIC_KEY_NKRO           N
+//#define MAGIC_KEY_SLEEP_LED      Z
+
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
@@ -76,4 +119,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 
-#endif
+#endif
\ No newline at end of file
index 2efa691380fc4da5850152a753afef5121930808..4fa195468d1fe52a0e624825defd2faa0fb66cba 100644 (file)
@@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
+BOOTMAGIC_ENABLE = yes         # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes          # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes          # Audio control and System control(+450)
+CONSOLE_ENABLE = yes           # Console for debug(+400)
+COMMAND_ENABLE = yes           # Commands for debug and configuration
+KEYBOARD_LOCK_ENABLE = yes     # Allow locking of keyboard via magic key
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-# NKRO_ENABLE = yes            # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-# BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES            # MIDI controls
-# UNICODE_ENABLE = YES                 # Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+# SLEEP_LED_ENABLE = yes       # Breathing sleep LED during USB suspend
+#NKRO_ENABLE = yes                     # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
+# MIDI_ENABLE = YES                    # MIDI controls
+# UNICODE_ENABLE = YES         # Unicode
+# BLUETOOTH_ENABLE = yes       # Enable Bluetooth with the Adafruit EZ-Key HID
 
 
 # Optimize size but this may cause error "relocation truncated to fit"
index 7d6149f436ecb97e8c4ec0189e41f4bac7518e89..dae4b63130856faf33caa10c8696d98975976294 100644 (file)
@@ -55,11 +55,56 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
-/* key combination for command */
+/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */
+//#define FORCE_NKRO
+
+/*
+ * Magic key options
+ * These options allow the magic key functionality to be changed. This is useful
+ * if your keyboard/keypad is missing keys and you want magic key support.
+ */
+
+/* key combination for magic key command */
 #define IS_COMMAND() ( \
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1          H
+//#define MAGIC_KEY_HELP2          SLASH
+//#define MAGIC_KEY_DEBUG          D
+//#define MAGIC_KEY_DEBUG_MATRIX   X
+//#define MAGIC_KEY_DEBUG_KBD      K
+//#define MAGIC_KEY_DEBUG_MOUSE    M
+//#define MAGIC_KEY_VERSION        V
+//#define MAGIC_KEY_STATUS         S
+//#define MAGIC_KEY_CONSOLE        C
+//#define MAGIC_KEY_LAYER0_ALT1    ESC
+//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
+//#define MAGIC_KEY_LAYER0         0
+//#define MAGIC_KEY_LAYER1         1
+//#define MAGIC_KEY_LAYER2         2
+//#define MAGIC_KEY_LAYER3         3
+//#define MAGIC_KEY_LAYER4         4
+//#define MAGIC_KEY_LAYER5         5
+//#define MAGIC_KEY_LAYER6         6
+//#define MAGIC_KEY_LAYER7         7
+//#define MAGIC_KEY_LAYER8         8
+//#define MAGIC_KEY_LAYER9         9
+//#define MAGIC_KEY_BOOTLOADER     PAUSE
+//#define MAGIC_KEY_LOCK           CAPS
+//#define MAGIC_KEY_EEPROM         E
+//#define MAGIC_KEY_NKRO           N
+//#define MAGIC_KEY_SLEEP_LED      Z
+
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
index 58e73cb09f1de402dfade8ae34b07f974d006f72..cc52e496ffe8b1579be8d33d5443c4b6666dfd21 100644 (file)
@@ -10,6 +10,11 @@ void matrix_scan_user(void) {
        // leave this function blank - it can be defined in a keymap file
 }
 
+__attribute__ ((weak))
+void process_action_user(keyrecord_t *record) {
+       // leave this function blank - it can be defined in a keymap file
+}
+
 __attribute__ ((weak))
 void led_set_user(uint8_t usb_led) {
        // leave this function blank - it can be defined in a keymap file
@@ -18,19 +23,26 @@ void led_set_user(uint8_t usb_led) {
 void matrix_init_kb(void) {
        // put your keyboard start-up code here
        // runs once when the firmware starts up
-       
+
        matrix_init_user();
 }
 
 void matrix_scan_kb(void) {
-    // put your looping keyboard code here
-    // runs every cycle (a lot)
+       // put your looping keyboard code here
+       // runs every cycle (a lot)
 
        matrix_scan_user();
 }
 
+void process_action_kb(keyrecord_t *record) {
+       // put your per-action keyboard code here
+       // runs for every action, just before processing by the firmware
+
+       process_action_user(record);
+}
+
 void led_set_kb(uint8_t usb_led) {
        // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 
        led_set_user(usb_led);
-}
\ No newline at end of file
+}
index ba91abac3e64914f92e7a4fce0a5dd14ceb4a5ba..b1c34d3cbee294ee1d0364e6264529ade8921c1b 100644 (file)
 { \
     { k00, k01,   k02 }, \
     { k10, KC_NO, k11 }, \
-} 
+}
 
 void matrix_init_user(void);
 void matrix_scan_user(void);
+void process_action_user(keyrecord_t *record);
 void led_set_user(uint8_t usb_led);
 
-#endif
\ No newline at end of file
+#endif
index 77ea39e942c77b8fb9774184119ff838b278236d..2ccc0e0b947bdd79342e3b31e02b89a02de72397 100644 (file)
@@ -53,6 +53,9 @@ void action_exec(keyevent_t event)
 #endif
 }
 
+__attribute__ ((weak))
+void process_action_kb(keyrecord_t *record) {}
+
 void process_action(keyrecord_t *record)
 {
     keyevent_t event = record->event;
@@ -62,6 +65,8 @@ void process_action(keyrecord_t *record)
 
     if (IS_NOEVENT(event)) { return; }
 
+    process_action_kb(record);
+
     action_t action = layer_switch_get_action(event.key);
     dprint("ACTION: "); debug_action(action);
 #ifndef NO_ACTION_LAYER
@@ -70,6 +75,10 @@ void process_action(keyrecord_t *record)
 #endif
     dprintln();
 
+    if (event.pressed) {
+        // clear the potential weak mods left by previously pressed keys
+        clear_weak_mods();
+    }
     switch (action.kind.id) {
         /* Key and Mods */
         case ACT_LMODS:
@@ -500,6 +509,7 @@ void clear_keyboard(void)
 void clear_keyboard_but_mods(void)
 {
     clear_weak_mods();
+    clear_macro_mods();
     clear_keys();
     send_keyboard_report();
 #ifdef MOUSEKEY_ENABLE
index 8a4736d7bc19cbb833481649b467cc4da109e1ac..9f528af4b98ddd5603f17efaeb59038baa60f285 100644 (file)
@@ -58,6 +58,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
 /* user defined special function */
 void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
 
+/* keyboard-specific key event (pre)processing */
+void process_action_kb(keyrecord_t *record);
+
 /* Utilities for actions.  */
 void process_action(keyrecord_t *record);
 void register_code(uint8_t code);
index ffaf125c06ce8850c8e66135a71ef07c986513ba..7726b1190769a869d7e3a711e6b077fcfab91ebe 100644 (file)
@@ -41,7 +41,7 @@ void action_macro_play(const macro_t *macro_p)
                 MACRO_READ();
                 dprintf("KEY_DOWN(%02X)\n", macro);
                 if (IS_MOD(macro)) {
-                    add_weak_mods(MOD_BIT(macro));
+                    add_macro_mods(MOD_BIT(macro));
                     send_keyboard_report();
                 } else {
                     register_code(macro);
@@ -51,7 +51,7 @@ void action_macro_play(const macro_t *macro_p)
                 MACRO_READ();
                 dprintf("KEY_UP(%02X)\n", macro);
                 if (IS_MOD(macro)) {
-                    del_weak_mods(MOD_BIT(macro));
+                    del_macro_mods(MOD_BIT(macro));
                     send_keyboard_report();
                 } else {
                     unregister_code(macro);
index f81877dd9f489a34e5c6bb896b75d5c47681ebb6..a2d6577b24dae29d44de82032bdfeadc97bba00a 100644 (file)
@@ -29,6 +29,7 @@ static inline void del_key_bit(uint8_t code);
 
 static uint8_t real_mods = 0;
 static uint8_t weak_mods = 0;
+static uint8_t macro_mods = 0;
 
 #ifdef USB_6KRO_ENABLE
 #define RO_ADD(a, b) ((a + b) % KEYBOARD_REPORT_KEYS)
@@ -55,6 +56,7 @@ static int16_t oneshot_time = 0;
 void send_keyboard_report(void) {
     keyboard_report->mods  = real_mods;
     keyboard_report->mods |= weak_mods;
+    keyboard_report->mods |= macro_mods;
 #ifndef NO_ACTION_ONESHOT
     if (oneshot_mods) {
 #if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
@@ -118,6 +120,13 @@ void del_weak_mods(uint8_t mods) { weak_mods &= ~mods; }
 void set_weak_mods(uint8_t mods) { weak_mods = mods; }
 void clear_weak_mods(void) { weak_mods = 0; }
 
+/* macro modifier */
+uint8_t get_macro_mods(void) { return macro_mods; }
+void add_macro_mods(uint8_t mods) { macro_mods |= mods; }
+void del_macro_mods(uint8_t mods) { macro_mods &= ~mods; }
+void set_macro_mods(uint8_t mods) { macro_mods = mods; }
+void clear_macro_mods(void) { macro_mods = 0; }
+
 /* Oneshot modifier */
 #ifndef NO_ACTION_ONESHOT
 void set_oneshot_mods(uint8_t mods)
index a955638b46d8ad84c45c297b2a5f431f506aa85a..1a95cec10ec1ced084be192e7dd172602564e99e 100644 (file)
@@ -47,6 +47,13 @@ void del_weak_mods(uint8_t mods);
 void set_weak_mods(uint8_t mods);
 void clear_weak_mods(void);
 
+/* macro modifier */
+uint8_t get_macro_mods(void);
+void add_macro_mods(uint8_t mods);
+void del_macro_mods(uint8_t mods);
+void set_macro_mods(uint8_t mods);
+void clear_macro_mods(void);
+
 /* oneshot modifier */
 void set_oneshot_mods(uint8_t mods);
 void clear_oneshot_mods(void);
index d59bb01bbcbd9151430fdf79444a84636a5cd9c9..b4cd3ca56b9dc87e6dd342dfbc7d4652b13ba80e 100644 (file)
@@ -52,6 +52,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 static bool command_common(uint8_t code);
 static void command_common_help(void);
+static void print_version(void);
+static void print_status(void);
 static bool command_console(uint8_t code);
 static void command_console_help(void);
 #ifdef MOUSEKEY_ENABLE
@@ -112,35 +114,140 @@ bool command_console_extra(uint8_t code)
  ***********************************************************/
 static void command_common_help(void)
 {
-    print("\n\t- Magic -\n"
-          "d:  debug\n"
-          "x:  debug matrix\n"
-          "k:  debug keyboard\n"
-          "m:  debug mouse\n"
-          "v:  version\n"
-          "s:  status\n"
-          "c:  console mode\n"
-          "0-4:        layer0-4(F10-F4)\n"
-          "Paus:       bootloader\n"
+       print(                            "\n\t- Magic -\n"
+               STR(MAGIC_KEY_DEBUG       ) ":  Debug Message Toggle\n"
+               STR(MAGIC_KEY_DEBUG_MATRIX) ":  Matrix Debug Mode Toggle - Show keypresses in matrix grid\n"
+               STR(MAGIC_KEY_DEBUG_KBD   ) ":  Keyboard Debug Toggle - Show keypress report\n"
+               STR(MAGIC_KEY_DEBUG_MOUSE ) ":  Debug Mouse Toggle\n"
+               STR(MAGIC_KEY_VERSION     ) ":  Version\n"
+               STR(MAGIC_KEY_STATUS      ) ":  Status\n"
+               STR(MAGIC_KEY_CONSOLE     ) ":  Activate Console Mode\n"
+               
+#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+               STR(MAGIC_KEY_LAYER0      ) ":  Switch to Layer 0\n"
+               STR(MAGIC_KEY_LAYER1      ) ":  Switch to Layer 1\n"
+               STR(MAGIC_KEY_LAYER2      ) ":  Switch to Layer 2\n"
+               STR(MAGIC_KEY_LAYER3      ) ":  Switch to Layer 3\n"
+               STR(MAGIC_KEY_LAYER4      ) ":  Switch to Layer 4\n"
+               STR(MAGIC_KEY_LAYER5      ) ":  Switch to Layer 5\n"
+               STR(MAGIC_KEY_LAYER6      ) ":  Switch to Layer 6\n"
+               STR(MAGIC_KEY_LAYER7      ) ":  Switch to Layer 7\n"
+               STR(MAGIC_KEY_LAYER8      ) ":  Switch to Layer 8\n"
+               STR(MAGIC_KEY_LAYER9      ) ":  Switch to Layer 9\n"
+#endif
+
+#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS                                                  
+                                           "F1-F10:    Switch to Layer 0-9 (F10 = L0)\n"
+#endif
+
+#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS                                                  
+                                           "0-9:       Switch to Layer 0-9\n"
+#endif
+
+               STR(MAGIC_KEY_LAYER0_ALT1 ) ":  Switch to Layer 0 (alternate key 1)\n"
+               STR(MAGIC_KEY_LAYER0_ALT2 ) ":  Switch to Layer 0 (alternate key 2)\n"
+               STR(MAGIC_KEY_BOOTLOADER  ) ":  Jump to Bootloader (Reset)\n"
 
 #ifdef KEYBOARD_LOCK_ENABLE
-          "Caps:       Lock\n"
+               STR(MAGIC_KEY_LOCK        ) ":  Lock\n"
 #endif
 
 #ifdef BOOTMAGIC_ENABLE
-          "e:  eeprom\n"
+               STR(MAGIC_KEY_EEPROM      ) ":  Print EEPROM Settings\n"
 #endif
 
 #ifdef NKRO_ENABLE
-          "n:  NKRO\n"
+               STR(MAGIC_KEY_NKRO        ) ":  NKRO Toggle\n"
 #endif
 
 #ifdef SLEEP_LED_ENABLE
-          "z:  sleep LED test\n"
+               STR(MAGIC_KEY_SLEEP_LED   ) ":  Sleep LED Test\n"
 #endif
     );
 }
 
+static void print_version(void)
+{
+       // print version & information
+    print("\n\t- Version -\n");
+    print("DESC: " STR(DESCRIPTION) "\n");
+    print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") "
+          "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") "
+          "VER: " STR(DEVICE_VER) "\n");
+    print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n");
+
+    /* build options */
+    print("OPTIONS:"
+
+#ifdef PROTOCOL_PJRC
+           " PJRC"
+#endif
+#ifdef PROTOCOL_LUFA
+           " LUFA"
+#endif
+#ifdef PROTOCOL_VUSB
+           " VUSB"
+#endif
+#ifdef BOOTMAGIC_ENABLE
+           " BOOTMAGIC"
+#endif
+#ifdef MOUSEKEY_ENABLE
+           " MOUSEKEY"
+#endif
+#ifdef EXTRAKEY_ENABLE
+           " EXTRAKEY"
+#endif
+#ifdef CONSOLE_ENABLE
+           " CONSOLE"
+#endif
+#ifdef COMMAND_ENABLE
+           " COMMAND"
+#endif
+#ifdef NKRO_ENABLE
+           " NKRO"
+#endif
+#ifdef KEYMAP_SECTION_ENABLE
+           " KEYMAP_SECTION"
+#endif
+
+           " " STR(BOOTLOADER_SIZE) "\n");
+
+    print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__)
+          " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__
+          " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n");
+
+       return;
+}
+
+static void print_status(void)
+{
+
+    print("\n\t- Status -\n");
+
+    print_val_hex8(host_keyboard_leds());
+    print_val_hex8(keyboard_protocol);
+    print_val_hex8(keyboard_idle);
+#ifdef NKRO_ENABLE
+    print_val_hex8(keyboard_nkro);
+#endif
+    print_val_hex32(timer_count);
+
+#ifdef PROTOCOL_PJRC
+    print_val_hex8(UDCON);
+    print_val_hex8(UDIEN);
+    print_val_hex8(UDINT);
+    print_val_hex8(usb_keyboard_leds);
+    print_val_hex8(usb_keyboard_idle_count);
+#endif
+
+#ifdef PROTOCOL_PJRC
+#   if USB_COUNT_SOF
+    print_val_hex8(usbSofCount);
+#   endif
+#endif
+       return;
+}
+
 #ifdef BOOTMAGIC_ENABLE
 static void print_eeconfig(void)
 {
@@ -178,24 +285,36 @@ static void print_eeconfig(void)
 
 static bool command_common(uint8_t code)
 {
+
+#ifdef KEYBOARD_LOCK_ENABLE
     static host_driver_t *host_driver = 0;
+#endif
+
     switch (code) {
+
 #ifdef SLEEP_LED_ENABLE
-        case KC_Z:
-            // test breathing sleep LED
-            print("Sleep LED test\n");
+
+               // test breathing sleep LED
+        case MAGIC_KC(MAGIC_KEY_SLEEP_LED):
+            print("Sleep LED Test\n");
             sleep_led_toggle();
             led_set(host_keyboard_leds());
             break;
 #endif
+
 #ifdef BOOTMAGIC_ENABLE
-        case KC_E:
+
+               // print stored eeprom config
+        case MAGIC_KC(MAGIC_KEY_EEPROM):        
             print("eeconfig:\n");
             print_eeconfig();
             break;
 #endif
+
 #ifdef KEYBOARD_LOCK_ENABLE
-        case KC_CAPSLOCK:
+
+               // lock/unlock keyboard
+        case MAGIC_KC(MAGIC_KEY_LOCK):
             if (host_get_driver()) {
                 host_driver = host_get_driver();
                 clear_keyboard();
@@ -207,11 +326,15 @@ static bool command_common(uint8_t code)
             }
             break;
 #endif
-        case KC_H:
-        case KC_SLASH: /* ? */
+
+               // print help
+        case MAGIC_KC(MAGIC_KEY_HELP1):
+        case MAGIC_KC(MAGIC_KEY_HELP2):
             command_common_help();
             break;
-        case KC_C:
+
+               // activate console
+        case MAGIC_KC(MAGIC_KEY_CONSOLE):
             debug_matrix   = false;
             debug_keyboard = false;
             debug_mouse    = false;
@@ -220,25 +343,33 @@ static bool command_common(uint8_t code)
             print("C> ");
             command_state = CONSOLE;
             break;
-        case KC_PAUSE:
-            clear_keyboard();
-            print("\n\nbootloader... ");
+
+        // jump to bootloader
+        case MAGIC_KC(MAGIC_KEY_BOOTLOADER):
+            clear_keyboard(); // clear to prevent stuck keys
+            print("\n\nJumping to bootloader... ");
             _delay_ms(1000);
             bootloader_jump(); // not return
             break;
-        case KC_D:
+
+        // debug toggle
+        case MAGIC_KC(MAGIC_KEY_DEBUG):
+            debug_enable = !debug_enable;
             if (debug_enable) {
+                print("\ndebug: on\n");
+                debug_matrix   = true;
+                debug_keyboard = true;
+                debug_mouse    = true;
+            } else {
                 print("\ndebug: off\n");
                 debug_matrix   = false;
                 debug_keyboard = false;
                 debug_mouse    = false;
-                debug_enable   = false;
-            } else {
-                print("\ndebug: on\n");
-                debug_enable   = true;
             }
             break;
-        case KC_X: // debug matrix toggle
+
+        // debug matrix toggle
+        case MAGIC_KC(MAGIC_KEY_DEBUG_MATRIX): 
             debug_matrix = !debug_matrix;
             if (debug_matrix) {
                 print("\nmatrix: on\n");
@@ -247,7 +378,9 @@ static bool command_common(uint8_t code)
                 print("\nmatrix: off\n");
             }
             break;
-        case KC_K: // debug keyboard toggle
+
+        // debug keyboard toggle
+        case MAGIC_KC(MAGIC_KEY_DEBUG_KBD): 
             debug_keyboard = !debug_keyboard;
             if (debug_keyboard) {
                 print("\nkeyboard: on\n");
@@ -256,87 +389,33 @@ static bool command_common(uint8_t code)
                 print("\nkeyboard: off\n");
             }
             break;
-        case KC_M: // debug mouse toggle
+
+        // debug mouse toggle
+        case MAGIC_KC(MAGIC_KEY_DEBUG_MOUSE):
             debug_mouse = !debug_mouse;
             if (debug_mouse) {
                 print("\nmouse: on\n");
                 debug_enable = true;
             } else {
-                print("\nmouse: off\n");
+                               print("\nmouse: off\n");
             }
             break;
-        case KC_V: // print version & information
-            print("\n\t- Version -\n");
-            print("DESC: " STR(DESCRIPTION) "\n");
-            print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") "
-                  "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") "
-                  "VER: " STR(DEVICE_VER) "\n");
-            print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n");
-            /* build options */
-            print("OPTIONS:"
-#ifdef PROTOCOL_PJRC
-            " PJRC"
-#endif
-#ifdef PROTOCOL_LUFA
-            " LUFA"
-#endif
-#ifdef PROTOCOL_VUSB
-            " VUSB"
-#endif
-#ifdef BOOTMAGIC_ENABLE
-            " BOOTMAGIC"
-#endif
-#ifdef MOUSEKEY_ENABLE
-            " MOUSEKEY"
-#endif
-#ifdef EXTRAKEY_ENABLE
-            " EXTRAKEY"
-#endif
-#ifdef CONSOLE_ENABLE
-            " CONSOLE"
-#endif
-#ifdef COMMAND_ENABLE
-            " COMMAND"
-#endif
-#ifdef NKRO_ENABLE
-            " NKRO"
-#endif
-#ifdef KEYMAP_SECTION_ENABLE
-            " KEYMAP_SECTION"
-#endif
-            " " STR(BOOTLOADER_SIZE) "\n");
 
-            print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__)
-                  " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__
-                  " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n");
-            break;
-        case KC_S:
-            print("\n\t- Status -\n");
-            print_val_hex8(host_keyboard_leds());
-            print_val_hex8(keyboard_protocol);
-            print_val_hex8(keyboard_idle);
-#ifdef NKRO_ENABLE
-            print_val_hex8(keyboard_nkro);
-#endif
-            print_val_hex32(timer_count);
-
-#ifdef PROTOCOL_PJRC
-            print_val_hex8(UDCON);
-            print_val_hex8(UDIEN);
-            print_val_hex8(UDINT);
-            print_val_hex8(usb_keyboard_leds);
-            print_val_hex8(usb_keyboard_idle_count);
-#endif
+               // print version
+        case MAGIC_KC(MAGIC_KEY_VERSION):
+               print_version();
+                   break;
 
-#ifdef PROTOCOL_PJRC
-#   if USB_COUNT_SOF
-            print_val_hex8(usbSofCount);
-#   endif
-#endif
+               // print status
+               case MAGIC_KC(MAGIC_KEY_STATUS):
+                       print_status();
             break;
+
 #ifdef NKRO_ENABLE
-        case KC_N:
-            clear_keyboard(); //Prevents stuck keys.
+
+               // NKRO toggle
+        case MAGIC_KC(MAGIC_KEY_NKRO):
+            clear_keyboard(); // clear to prevent stuck keys
             keyboard_nkro = !keyboard_nkro;
             if (keyboard_nkro)
                 print("NKRO: on\n");
@@ -344,18 +423,78 @@ static bool command_common(uint8_t code)
                 print("NKRO: off\n");
             break;
 #endif
-        case KC_ESC:
-        case KC_GRV:
-        case KC_0:
+
+               // switch layers
+
+               case MAGIC_KC(MAGIC_KEY_LAYER0_ALT1):
+               case MAGIC_KC(MAGIC_KEY_LAYER0_ALT2):
+            switch_default_layer(0);
+            break;
+
+#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+
+               case MAGIC_KC(MAGIC_KEY_LAYER0):
+            switch_default_layer(0);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER1):
+            switch_default_layer(1);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER2):
+            switch_default_layer(2);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER3):
+            switch_default_layer(3);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER4):
+            switch_default_layer(4);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER5):
+            switch_default_layer(5);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER6):
+            switch_default_layer(6);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER7):
+            switch_default_layer(7);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER8):
+            switch_default_layer(8);
+            break;
+
+               case MAGIC_KC(MAGIC_KEY_LAYER9):
+            switch_default_layer(9);
+            break;
+#endif
+
+
+#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+
+        case KC_F1 ... KC_F9:
+            switch_default_layer((code - KC_F1) + 1);
+            break;
         case KC_F10:
             switch_default_layer(0);
             break;
+#endif
+
+#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+
         case KC_1 ... KC_9:
             switch_default_layer((code - KC_1) + 1);
             break;
-        case KC_F1 ... KC_F9:
-            switch_default_layer((code - KC_F1) + 1);
+        case KC_0:
+            switch_default_layer(0);
             break;
+#endif
+
         default:
             print("?");
             return false;
index b57a6c1cedc504ae77862f5d1f12a9914ee8be22..92b18849bf31dcaeac1918084c0cb93503af8259 100644 (file)
@@ -32,4 +32,125 @@ bool command_proc(uint8_t code);
 #define command_proc(code)      false
 #endif
 
+
+#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
+#endif
+
+#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
+#endif
+
+#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+#endif
+
+#ifndef MAGIC_KEY_HELP1
+#define MAGIC_KEY_HELP1          H
+#endif
+
+#ifndef MAGIC_KEY_HELP2
+#define MAGIC_KEY_HELP2          SLASH
+#endif
+
+#ifndef MAGIC_KEY_DEBUG
+#define MAGIC_KEY_DEBUG          D
+#endif
+
+#ifndef MAGIC_KEY_DEBUG_MATRIX
+#define MAGIC_KEY_DEBUG_MATRIX   X
+#endif
+
+#ifndef MAGIC_KEY_DEBUG_KBD
+#define MAGIC_KEY_DEBUG_KBD      K
+#endif
+
+#ifndef MAGIC_KEY_DEBUG_MOUSE
+#define MAGIC_KEY_DEBUG_MOUSE    M
+#endif
+
+#ifndef MAGIC_KEY_VERSION
+#define MAGIC_KEY_VERSION        V
+#endif
+
+#ifndef MAGIC_KEY_STATUS
+#define MAGIC_KEY_STATUS         S
+#endif
+
+#ifndef MAGIC_KEY_CONSOLE
+#define MAGIC_KEY_CONSOLE        C
+#endif
+
+#ifndef MAGIC_KEY_LAYER0_ALT1
+#define MAGIC_KEY_LAYER0_ALT1    ESC
+#endif
+
+#ifndef MAGIC_KEY_LAYER0_ALT2
+#define MAGIC_KEY_LAYER0_ALT2    GRAVE
+#endif
+
+#ifndef MAGIC_KEY_LAYER0
+#define MAGIC_KEY_LAYER0         0
+#endif
+
+#ifndef MAGIC_KEY_LAYER1
+#define MAGIC_KEY_LAYER1         1
+#endif
+
+#ifndef MAGIC_KEY_LAYER2
+#define MAGIC_KEY_LAYER2         2
+#endif
+
+#ifndef MAGIC_KEY_LAYER3
+#define MAGIC_KEY_LAYER3         3
+#endif
+
+#ifndef MAGIC_KEY_LAYER4
+#define MAGIC_KEY_LAYER4         4
+#endif
+
+#ifndef MAGIC_KEY_LAYER5
+#define MAGIC_KEY_LAYER5         5
+#endif
+
+#ifndef MAGIC_KEY_LAYER6
+#define MAGIC_KEY_LAYER6         6
+#endif
+
+#ifndef MAGIC_KEY_LAYER7
+#define MAGIC_KEY_LAYER7         7
+#endif
+
+#ifndef MAGIC_KEY_LAYER8
+#define MAGIC_KEY_LAYER8         8
 #endif
+
+#ifndef MAGIC_KEY_LAYER9
+#define MAGIC_KEY_LAYER9         9
+#endif
+
+#ifndef MAGIC_KEY_BOOTLOADER
+#define MAGIC_KEY_BOOTLOADER     PAUSE
+#endif
+
+#ifndef MAGIC_KEY_LOCK
+#define MAGIC_KEY_LOCK           CAPS
+#endif
+
+#ifndef MAGIC_KEY_EEPROM
+#define MAGIC_KEY_EEPROM         E
+#endif
+
+#ifndef MAGIC_KEY_NKRO
+#define MAGIC_KEY_NKRO           N
+#endif
+
+#ifndef MAGIC_KEY_SLEEP_LED
+#define MAGIC_KEY_SLEEP_LED      Z
+
+#endif
+
+#define XMAGIC_KC(key) KC_##key
+#define MAGIC_KC(key) XMAGIC_KC(key)
+
+#endif
\ No newline at end of file
index eb7b096bed501e32b65702c98f9da27c3e912791..e668084858e1ab25c373c5a672e5135cef4b0414 100644 (file)
@@ -70,6 +70,7 @@ void keyboard_setup(void)
 
 void keyboard_init(void)
 {
+
     timer_init();
     matrix_init();
 #ifdef PS2_MOUSE_ENABLE
@@ -90,6 +91,11 @@ void keyboard_init(void)
 #ifdef BACKLIGHT_ENABLE
     backlight_init();
 #endif
+
+#ifdef FORCE_NKRO
+       keyboard_nkro = true;
+#endif
+
 }
 
 /*