]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add my personal keymap for OSX use.
authorThiago Alves <talk@thiagoalves.com.br>
Tue, 26 Apr 2016 06:46:37 +0000 (23:46 -0700)
committerThiago Alves <talk@thiagoalves.com.br>
Mon, 9 May 2016 22:27:57 +0000 (15:27 -0700)
This keymap was created to have a feel keys on a different place and to have as
fewer layers as possible.

Currently I have only 2 extra layers and only one of them is really required to
have all possible keys available.

Check out the README.md file for more information.

keyboard/ergodox_ez/Makefile
keyboard/ergodox_ez/config.h
keyboard/ergodox_ez/keymaps/townk_osx/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex [new file with mode: 0644]

index 3a07ec254f4db0f4b52a4a66f150299c2d7ba47a..f4a61dde4bb72931a6ff91ccfe6181d17832da42 100644 (file)
@@ -96,7 +96,7 @@ EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
 # CONSOLE_ENABLE   = yes # Console for debug(+400)
 COMMAND_ENABLE   = yes # Commands for debug and configuration
 CUSTOM_MATRIX    = yes # Custom matrix file for the ErgoDox EZ
-SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no  # 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
 # MIDI_ENABLE    = yes                 # MIDI controls
 # UNICODE_ENABLE = yes                 # Unicode
index 6a391ffb541977ff07993ae63dbe9ab233e7535b..58ba690afd1fe7f26352be8ee5e6b500e28a5928 100644 (file)
@@ -86,5 +86,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 //#define DEBUG_MATRIX_SCAN_RATE
+#define ONESHOT_TAP_TOGGLE 2
+#define ONESHOT_TIMEOUT 3000
 
 #endif
diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c b/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c
new file mode 100644 (file)
index 0000000..62ebc5c
--- /dev/null
@@ -0,0 +1,287 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "action_util.h"
+#include "led.h"
+#include "keymap_common.h"
+#include "timer.h"
+
+/*
+
+# Why this Layout
+
+This layout was based on Kinesis layout and other ErgoDox user layouts
+available. It's target to be used on a MacOS but I'm pretty sure it can be
+addapted to Windows and/or Linux easily.
+
+## Function Key
+
+The `fn` key work almost like it would in any other keyboard with the exception
+it has a semi-sticky behavior. What does that mean?
+
+Well, if you press the `fn` and release it, the keyboard will be put on the
+_function layout_ and the next key stroke will be processed as if the `fn` key
+was pressed. Aftwards, the leyout get back to _normal_. If you hold `fn` and
+press any other key, when you release them, the keyboard leyout is back to
+_normal_.
+
+While pressing the `fn` with the left hand and strikeing the other keys on the
+right hand is farly easy, the same cannot being said for the other keys on the
+left side. So, instead of trying to do contorcionism with my left hand, I
+decided to do a semi-sticky version of `fn`. This way, I can press the  `fn`
+key with my pinky, release it and press the `1` key to issue an `F1` to the
+operating system.
+
+## Key-Pad Key
+
+The `key pad` key is a layout switch key. If pressed, it will put the keyboard
+on the _key pad layout_ and stay there until key is pressed again.
+
+This is used to make the keyboard behave mostly like a **num pad keyboard**.
+
+## Notes
+- Regardless in which layout you are, keys from other layouts are not
+  accessible. This means that if you are on the _key pad layout_, the left hand
+  will be pretty much unusable.
+  Of course that like anything else, there are exceptions to this rule.
+  Modifiers should remain accessible throughout the layers.
+- The _shift key_ is, like the _function key_, also configured to have a sticky
+  behavior.
+- All sticky keys have a timeout of 3 seconds.
+
+*/
+#define BASE   0
+#define KEYPAD 1
+#define FN     2
+
+#define MACRO_TMUX_ESC        10
+#define MACRO_SHIFT_OR_LPAREN 11
+#define MACRO_SHIFT_OR_RPAREN 12
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Base Layer
+ *
+ * ,-----------------------------------------------------.           ,-----------------------------------------------------.
+ * |        `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           | Macro|   6  |   7  |   8  |   9  |   0  | + =       |
+ * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
+ * | Tab       |   Q  |   W  |   E  |   R  |   T  | F16  |           | F17  |   Y  |   U  |   I  |   O  |   P  | - _       |
+ * |-----------+------+------+------+------+------| Meh  |           | Meh  |------+------+------+------+------+-----------|
+ * | \ (Ctrl)  |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  | ' " (Ctrl)|
+ * |-----------+------+------+------+------+------| F18  |           | F19  |------+------+------+------+------+-----------|
+ * |  LShift   |   Z  |   X  |   C  |   V  |   B  | Hyper|           | Hyper|   N  |   M  |   ,  |   .  |   /  |   RShift  |
+ * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
+ *     | FN    |  No  |LCtrl | LAlt | LGui |                                       | RGui | RAlt | RCtrl|  No  | KPAD  |
+ *     `-----------------------------------'                                       `-----------------------------------'
+ *                                         ,-------------.           ,-------------.
+ *                                         | Left | Right|           | Down |  Up  |
+ *                                  ,------|------|------|           |------+------+------.
+ *                                  |      |      | Home |           | PgUp |      |      |
+ *                                  |Backsp| Del  |------|           |------| Enter| Space|
+ *                                  |      |      | End  |           | PgDn |      |      |
+ *                                  `--------------------'           `--------------------'
+ *
+ * Macro = Ctrk+A Esc
+ *         (this is used to issue the Esc key to the Tmux application)
+ */
+[BASE]=KEYMAP(//left half
+              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,     MEH_T(KC_F16),
+              CTL_T(KC_BSLS),    KC_A,    KC_S,           KC_D,           KC_F,     KC_G,
+              KC_FN2,            KC_Z,    KC_X,           KC_C,           KC_V,     KC_B,     ALL_T(KC_F18),
+              KC_FN1,            KC_NO,   KC_LCTRL,       KC_LALT,        KC_LGUI,
+                                                                                    KC_LEFT,  KC_RIGHT,
+                                                                                              KC_HOME,
+                                                                          KC_BSPC,  KC_DELT,  KC_END,
+              //right half
+              M(MACRO_TMUX_ESC), KC_6,    KC_7,           KC_8,           KC_9,     KC_0,     KC_EQL,
+              MEH_T(KC_F17),     KC_Y,    KC_U,           KC_I,           KC_O,     KC_P,     KC_MINS,
+                                 KC_H,    KC_J,           KC_K,           KC_L,     KC_SCLN,  CTL_T(KC_QUOT),
+              ALL_T(KC_F19),     KC_N,    KC_M,           KC_COMM,        KC_DOT,   KC_SLSH,  KC_FN2,
+                                 KC_RGUI, ALT_T(KC_LBRC), CTL_T(KC_RBRC), KC_NO,    TG(KEYPAD),
+              KC_DOWN,           KC_UP,
+              KC_PGUP,
+              KC_PGDN,           KC_ENT,  KC_SPC),
+
+/* Keymap 1: KeyPad Layer
+ *
+ * ,-----------------------------------------------------.           ,-----------------------------------------------------.
+ * |           |      |      |      |      |      |      |           | BTab | Clear|   /  |   *  |   ^  |   (  | LeftClick |
+ * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
+ * | M.Accel 2 |      |ScrlUp|  U   |ScrlDn|      |      |           | Tab  |   7  |   8  |   9  |   +  |   )  | RightClick|
+ * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
+ * | M.Accel 1 |      |   L  |  D   |  R   |      |------|           |------|   4  |   5  |   6  |   -  |      | MidClick  |
+ * |-----------+------+------+------+------+------|      |           |Return|------+------+------+------+------+-----------|
+ * | M.Accel 0 |      |ScrlL |      |ScrlR |      |      |           |      |   1  |   2  |   3  |   =  |      |           |
+ * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
+ *     |       |      |      |      |      |                                       |   0  |   .  |   ,  |      | KPAD  |
+ *     `-----------------------------------'                                       `-----------------------------------'
+ *                                         ,-------------.           ,-------------.
+ *                                         |      |      |           |      |      |
+ *                                  ,------|------|------|           |------+------+------.
+ *                                  |      |      |      |           |      |      |      |
+ *                                  |      |      |------|           |------|      |      |
+ *                                  |      |      |      |           |      |      |      |
+ *                                  `--------------------'           `--------------------'
+ */
+[KEYPAD]=KEYMAP(//left half
+                KC_NO,        KC_NO,    KC_NO,         KC_NO,          KC_NO,          KC_NO,   KC_NO,
+                KC_NO,        KC_NO,    KC_MS_WH_UP,   KC_MS_U,        KC_MS_WH_DOWN,  KC_NO,   KC_NO,
+                KC_NO,        KC_NO,    KC_MS_L,       KC_MS_D,        KC_MS_R,        KC_NO,
+                KC_NO,        KC_NO,    KC_MS_WH_LEFT, KC_NO,          KC_MS_WH_RIGHT, KC_NO,   KC_NO,
+                KC_TRNS,      KC_NO,    KC_NO,         KC_NO,          KC_NO,
+                                                                                       KC_NO,   KC_NO,
+                                                                                                KC_NO,
+                                                                       KC_NO,          KC_NO,   KC_NO,
+                //right half
+                LSFT(KC_TAB), KC_CLEAR, KC_KP_SLASH,   KC_KP_ASTERISK, KC_CIRCUMFLEX,  KC_LPRN, KC_MS_BTN1,
+                KC_TAB,       KC_KP_7,  KC_KP_8,       KC_KP_9,        KC_KP_PLUS,     KC_RPRN, KC_MS_BTN2,
+                              KC_KP_4,  KC_KP_5,       KC_KP_6,        KC_KP_MINUS,    KC_NO,   KC_MS_BTN3,
+                KC_KP_ENTER,  KC_KP_1,  KC_KP_2,       KC_KP_3,        KC_KP_EQUAL,    KC_NO,   KC_NO,
+                                        KC_KP_0,       KC_KP_DOT,      KC_KP_COMMA,    KC_NO,   KC_TRNS,
+                KC_NO,        KC_NO,
+                KC_NO,
+                KC_NO,        KC_NO,    KC_NO),
+
+/* Keymap 2: Functions Layer
+ *
+ * ,-----------------------------------------------------.           ,-----------------------------------------------------.
+ * |           |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |  Vol. Up  |
+ * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
+ * |           | Stop |  Rw  |  Rec |  FF  |      | XXXX |           | XXXX |      |      |      |      |      | Vol. Down |
+ * |-----------+------+------+------+------+------| XXXX |           | XXXX |------+------+------+------+------+-----------|
+ * |  CapsLock | Eject| Prev | Play | Next |      |------|           |------| Left | Down |  Up  | Right|      |   Mute    |
+ * |-----------+------+------+------+------+------| XXXX |           | XXXX |------+------+------+------+------+-----------|
+ * |  L Shift  |      |      |      |      |      | XXXX |           | XXXX |      |      |      |      |      |  R Shift  |
+ * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
+ *     | XXXXX |      | XXXX | XXXX | XXXX |                                       | XXXX | XXXX | XXXX |      |       |
+ *     `-----------------------------------'                                       `-----------------------------------'
+ *                                         ,-------------.           ,-------------.
+ *                                         |      |      |           |      |      |
+ *                                  ,------|------|------|           |------+------+------.
+ *                                  |      |      |      |           |      |      |      |
+ *                                  |      |      |------|           |------|      |      |
+ *                                  |      |      |      |           |      |      |      |
+ *                                  `--------------------'           `--------------------'
+ *
+ * XXX = These keys are transparent keys that, when pressed, they issue the key from the previous layer.
+ */
+[FN]=KEYMAP(//left half
+            KC_NO,   KC_F1,          KC_F2,               KC_F3,               KC_F4,                 KC_F5,  KC_F6,
+            KC_NO,   KC_MEDIA_STOP,  KC_MEDIA_REWIND,     KC_MEDIA_SELECT,     KC_MEDIA_FAST_FORWARD, KC_NO,  KC_TRNS,
+            KC_CAPS, KC_MEDIA_EJECT, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,   KC_NO,
+            KC_LSFT, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_TRNS,
+            KC_TRNS, KC_NO,          KC_TRNS,             KC_TRNS,             KC_TRNS,
+                                                                                                      KC_NO,  KC_NO,
+                                                                                                              KC_NO,
+                                                                               KC_NO,                 KC_NO,  KC_NO,
+            //right half
+            KC_F7,   KC_F8,          KC_F9,               KC_F10,              KC_F11,                KC_F12, KC_VOLU,
+            KC_TRNS, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_VOLD,
+                     KC_LEFT,        KC_DOWN,             KC_UP,               KC_RIGHT,              KC_NO,  KC_MUTE,
+            KC_TRNS, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_RSFT,
+                                     KC_TRNS,             KC_TRNS,             KC_TRNS,               KC_NO,  KC_NO,
+            KC_NO,   KC_NO,
+            KC_NO,
+            KC_NO,   KC_NO,          KC_NO)};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [1] = ACTION_LAYER_ONESHOT(FN),
+  [2] = ACTION_MODS_ONESHOT(MOD_LSFT),  // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift.
+};
+
+static uint16_t key_timer;
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  // MACRODOWN only works in this function
+  switch(id) {
+    case MACRO_TMUX_ESC:
+      if (record->event.pressed) {
+        return MACRO(D(LCTRL), T(A), U(LCTRL), D(ESC), END);
+      }
+      return MACRO(U(ESC), END);
+    case MACRO_SHIFT_OR_LPAREN: {
+      if (record->event.pressed) {
+        key_timer = timer_read(); // if the key is being pressed, we start the timer.
+        register_code(KC_LSFT); // we're now holding down Shift.
+      } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
+        if (timer_elapsed(key_timer) < TAPPING_TERM) { // the threshhold we pick for counting something as a tap.
+          register_code(KC_9); // sending 9 while Shift is held down gives us an opening paren
+          unregister_code(KC_9); // now let's let go of that key
+        }
+        unregister_code(KC_LSFT); // let's release the Shift key now.
+      }
+      break;
+    }
+    case MACRO_SHIFT_OR_RPAREN: {
+      if (record->event.pressed) {
+        key_timer = timer_read(); // Now we're doing the same thing, only for the right shift/close paren key
+        register_code(KC_RSFT);
+      } else {
+        if (timer_elapsed(key_timer) < TAPPING_TERM) {
+          register_code(KC_0);
+          unregister_code(KC_0);
+        }
+        unregister_code(KC_RSFT);
+      }
+      break;
+    }
+  }
+  return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+};
+
+uint8_t current_layer = BASE;
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+  uint8_t layer = biton32(layer_state);
+
+  ergodox_led_all_off();
+  ergodox_led_all_set(LED_BRIGHTNESS_LO);
+
+  switch (layer) {
+  case BASE:
+    current_layer = BASE;
+    break;
+  case KEYPAD:
+    current_layer = KEYPAD;
+    break;
+  default:
+    // none
+    break;
+  }
+
+  // layer leds
+  if (current_layer == KEYPAD) {
+    ergodox_right_led_3_on();
+  }
+
+  // capslock
+  if (host_keyboard_leds() & (3<<USB_LED_CAPS_LOCK)) {
+    ergodox_right_led_1_on();
+  }
+
+  // Temporary leds
+
+  // The function layer takes over other layers and we need to reflect that on the leds.
+  // If the current layer is the BASE, we simply turn on the FN led, but if the current
+  // layer is the KEYPAD, than we must turn it off before turning on the FN led.
+  if (layer == FN && !has_oneshot_layer_timed_out()) {
+    ergodox_right_led_3_off();
+    ergodox_right_led_2_on();
+  }
+
+  // if the shifted is pressed I show the case led in a brighter color. This is nice to
+  // differenciate the shift from the capslock.
+  // Notice that I make sure that we're not using the shift on a chord shortcut (pressing
+  // shift togather with other modifiers).
+  if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) &&                                 // is shift pressed and there is no other
+      !(keyboard_report->mods & (~MOD_BIT(KC_LSFT) & ~MOD_BIT(KC_RSFT)))) ||                           //    modifier being pressed as well
+     (get_oneshot_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && !has_oneshot_mods_timed_out())) {  // or the one shot shift didn't timed out
+    ergodox_right_led_1_set(LED_BRIGHTNESS_HI);
+    ergodox_right_led_1_on();
+  }
+};
diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex
new file mode 100644 (file)
index 0000000..89e9ffc
--- /dev/null
@@ -0,0 +1,1166 @@
+:100000000C9462020C94A6020C94A6020C94A60214
+:100010000C94A6020C94A6020C94A6020C94A602C0
+:100020000C94A6020C94A6020C94E60C0C94B80D49
+:100030000C940D1C0C94A6020C94A6020C94A6021F
+:100040000C94A6020C94A6020C94A6020C94A60290
+:100050000C94A6020C94751C0C94A6020C94A60297
+:100060000C94A6020C94A6020C94A6020C94A60270
+:100070000C94A6020C94A6020C94A6020C94A60260
+:100080000C94A6020C94A6020C94A6020C94A60250
+:100090000C94A6020C94A6020C94A6020C94A60240
+:1000A0000C94A6020C94A6020C94A602250E470EF0
+:1000B000350F470E350F8C0EAF0E350F040F170F8F
+:1000C000221222124E124E129612B4123014301412
+:1000D000BF123014741374132114301430142A1402
+:1000E0008113811381138113811381138113811370
+:1000F0008113811381138113811381138113811360
+:100100009213A013A713AE13B81302290001E00144
+:1001100004020402E00129000000F4A200223500DC
+:100120002B003171C200C10000001E001400040049
+:100130001D0000004D001F001A0016001B00E0000B
+:100140004C002000080007000600E2002A00210001
+:10015000150009001900E3004A00220017000A00F8
+:1001600005000000500029006B7700006D7F000043
+:100170004F000A306C7700006E7F000051002300B2
+:100180001C000B00110000005200240018000D009C
+:100190001000E7004B0025000C000E0036002F7405
+:1001A0002C00260012000F003700307128002700B5
+:1001B00013003300380000004E002E002D00347173
+:1001C000C200015400000000000000000000010017
+:1001D000000000000000000000000000000000001F
+:1001E000F900F200FB00000000000000F000F10048
+:1001F0000000000000000000FA00F300FC00000016
+:1002000000000000000000000000000000000000EE
+:10021000000000000000000000002B022B00000086
+:100220005800000000009C005F005C0059000000C6
+:100230000000540060005D005A006200000055009C
+:1002400061005E005B00630000002302570056005F
+:100250006700850000002602270200000000000061
+:100260000000F400F500F6000000010000000000AE
+:1002700000003900E100010000003A00AD00B000CC
+:100280000000000000003B00BC00AC0000000100CA
+:1002900000003C00AF00AE000000010000003D0087
+:1002A000BB00AB000000010000003E0000000000A9
+:1002B0000000000000003F000100000001000000FD
+:1002C00000004000010000000100000000004100AB
+:1002D000000050000000000000004200000051003B
+:1002E0000000010000004300000052000000010077
+:1002F0000000440000004F00000001000000450025
+:1003000000000000000000000000A900AA00A800F2
+:10031000E5000000000016034500720067006F0052
+:1003200044006F007800200045005A0000001603CA
+:100330004500720067006F0044006F0078002000E5
+:1003400045005A0000000403090409026D0004017D
+:1003500000A0FA09040000010301010009211101B4
+:100360000001223F000705810308000A090401007B
+:100370000103010200092111010001224D000705BE
+:10038000820308000A090402000103000000092199
+:10039000110100012236000705830308000A090441
+:1003A00003000103000000092111010001223900AE
+:1003B000070584031000011201100100000008ED80
+:1003C000FE071301000102000105010906A1010554
+:1003D0000719E029E7150025019508750181020537
+:1003E000081901290595057501910295017503917B
+:1003F00001050719002977150025019578750181F8
+:1004000002C005010980A101850216010026B7007E
+:100410001A01002AB700751095018100C0050C096A
+:1004200001A1018503160100269C021A01002A9CE5
+:1004300002751095018100C005010902A1010901A1
+:10044000A10005091901290515002501950575016A
+:10045000810295017503810105010930093115817A
+:10046000257F95027508810609381581257F95013C
+:1004700075088106050C0A38021581257F950175DE
+:10048000088106C0C005010906A101050719E02978
+:10049000E715002501950875018102950175088110
+:1004A0000105081901290595057501910295017548
+:1004B0000391010507190029FF150025FF95067511
+:1004C000088100C011241FBECFEFDAE0DEBFCDBF30
+:1004D00004B603FE24C08091F5019091F601A0912D
+:1004E000F701B091F8018730904BA740B04BB9F4B9
+:1004F0001092F5011092F6011092F7011092F80196
+:1005000014BE84B7877F84BF88E10FB6F8948093C8
+:100510006000109260000FBEE0E0FFE3099511E07B
+:10052000A0E0B1E0E2E8F8E402C005900D92A43347
+:10053000B107D9F711E0A4E3B1E001C01D92A53FD6
+:10054000B107E1F70E942C0A0C943F240C940000A0
+:10055000FC016B3059F06C3029F16A3009F041C070
+:100560008281811141C08AE091E0089582818823CF
+:1005700041F00E943F1C909336018093350181EE3B
+:100580001BC080913501909136010E944B1C883C24
+:10059000910530F486E20E94971086E20E945F1176
+:1005A00081EE1DC08281882351F00E943F1C9093F0
+:1005B00036018093350185EE0E94971012C080911C
+:1005C0003501909136010E944B1C883C910530F416
+:1005D00087E20E94971087E20E945F1185EE0E94D9
+:1005E0005F1180E090E008958DE091E00895089516
+:1005F000CF936091B4017091B5018091B601909153
+:10060000B7010E94781BC82F56985E9825982D98A0
+:1006100026982E9827982F988FE090E09093890045
+:100620008093880090938B0080938A0090938D0034
+:1006300080938C00CC2329F0C13029F4C09334017D
+:1006400002C01092340180913401813011F4279A54
+:100650002F9A0E946E0F867011F0259A2D9AC23043
+:1006600041F40E94011A811104C027982F98269AFC
+:100670002E9AE0910E01F0910F018081982F9272D5
+:1006800059F08D7D49F48FEF90E09093890080932D
+:100690008800259A2D9A08C00E942E1B827221F094
+:1006A0000E94D419882379F3CF9108950C94F8020D
+:1006B00056985E9825982D9826982E9827982F98CA
+:1006C0008FEF90E0909389008093880090938B0047
+:1006D00080938A0090938D0080938C00259A2D9AA8
+:1006E0002FEF80E792E0215080409040E1F700C07A
+:1006F0000000269A2E9A2FEF80E792E0215080404A
+:100700009040E1F700C00000279A2F9A2FEF80E772
+:1007100092E0215080409040E1F700C00000259811
+:100720002D982FEF80E792E0215080409040E1F734
+:1007300000C0000026982E982FEF80E792E021500D
+:1007400080409040E1F700C0000027982F9856980D
+:100750005E9825982D9826982E9827982F9808957A
+:1007600089EA8093800089E08093810024982C9806
+:100770003F988AB18F748AB96E98479A8BB1806B13
+:100780008BB9769A0E9458030C94F70280E280930A
+:1007900000018091370181110EC00E94150481E093
+:1007A000809337012FEF83ED90E3215080409040FC
+:1007B000E1F700C0000080E40E941B048093000168
+:1007C00081112EC00E94450480930001811128C030
+:1007D0000E94450480930001811122C08FE30E9492
+:1007E00045048093000181111BC00E943D0480E4F8
+:1007F0000E941B0480930001811112C08CE00E94B2
+:1008000045048093000181110BC00E944504809330
+:100810000001811105C08FE30E944504809300010F
+:100820000E943D048091000108951092B9008AE071
+:100830008093B800089594EA9093BC009091BC0016
+:1008400097FFFCCF9091B900987F983021F09031BC
+:1008500011F081E008958093BB0084E88093BC0090
+:100860008091BC0087FFFCCF8091B900887F8831E0
+:1008700011F0803471F780E0089584E98093BC0022
+:100880008091BC0084FDFCCF08958093BB0084E878
+:100890008093BC008091BC0087FFFCCF9091B90091
+:1008A000987F81E0983209F480E0089584E880938D
+:1008B000BC008091BC0087FFFCCF8091BB000895F5
+:1008C00080910001811115C080E40E941B04809377
+:1008D000000181110CC082E10E9445048093000157
+:1008E000811105C08FEF0E944504809300010E9492
+:1008F0003D0484B1807F84B985B1807F85B98AB198
+:10090000837F8AB98BB1837F8BB93E9846980895CF
+:100910000E94C603809300010E94600480B38C7023
+:1009200080BB81B3836F81BBA9E3B1E0E7E4F1E071
+:100930008EE08E0F11921D928E13FCCF0C94B0039B
+:10094000BF92CF92DF92EF92FF920F931F93CF93BC
+:10095000DF9380910001882379F0809138018F5FC7
+:1009600080933801811108C00E94C6038093000162
+:10097000811102C00E94580309E311E0C0E0D0E0F9
+:10098000DD24D39482E0C82EEE24E394F12CC7300A
+:10099000D10500F580910001811164C080E40E94BE
+:1009A0001B0480930001811112C082E10E94450462
+:1009B0008093000181110BC0C7010C2E01C0880F6C
+:1009C0000A94EAF780950E944504809300010E94F2
+:1009D0003D0448C0CA30A1F028F4C83059F0C930ED
+:1009E00061F005C0CC3089F070F0CD3089F0209AEC
+:1009F000289810C0219A29980DC0229A2A980AC0D6
+:100A0000239A2B9807C0529A01C0539A5B9802C050
+:100A10003E9A469890EA9A95F1F79FB1799902C06B
+:100A200082E001C080E091709D25982B7C9902C0E6
+:100A300084E001C080E0892B7D9902C038E001C0CC
+:100A400030E0832B7E9902C020E101C020E0822BA0
+:100A50009FB19095991F9927991F9295990F907E14
+:100A6000892B0FC080910001811149C080E40E9450
+:100A70001B0480930001882379F1B12C0E943D046E
+:100A80008B2DF8019081981719F08083C092010195
+:100A90000E94600421960F5F1F4FCE30D10509F0F0
+:100AA00076CF80910101882361F18150809301010B
+:100AB000882339F08FE99FE00197F1F700C000002B
+:100AC00020C0A7E4B1E0E9E3F1E0CF01825F9191BA
+:100AD0009D938E13FCCF15C083E10E944504809343
+:100AE00000018111CACF81E40E941B0480930001A0
+:100AF0008111C3CF0E945604B82EB094BFCF80E0BE
+:100B0000C0CF0E94560381E0DF91CF911F910F91DA
+:100B1000FF90EF90DF90CF90BF900895E82FF0E026
+:100B2000E95BFE4F808108950895089596E0799FCE
+:100B3000F001112494E5899FE00DF11D1124E60FC9
+:100B4000F11DEE0FFF1FE25EFE4F85919491089517
+:100B5000880F991FFC01E856F04085919491089503
+:100B6000880F991FFC01E85EFE4F859194910895CE
+:100B70000F931F93CF93DF93EC018115904350F5B2
+:100B8000C11580E2D80708F0B3C0CB3BD10590F483
+:100B9000C83AD10508F05AC0C53AD10508F04BC093
+:100BA000C430D10508F0BBC1219709F0B5C101E0FF
+:100BB00010E0F5C1CF3FD10511F008F0B0C1C03F42
+:100BC000D10508F092C0CE01805E9109089708F423
+:100BD000A6C1A2C1C11591E5D907A8F4C23020E58C
+:100BE000D20708F09EC0C11580E5D80709F485C07A
+:100BF00008F091C0C11520E4D20708F08DC1DD27AF
+:100C00008E01106CCCC1C11580E8D80758F4C1150D
+:100C100090E7D90708F07CC1C11520E6D20708F497
+:100C200022C17AC1C11580E9D80708F075C1DF700B
+:100C30008E01106AB4C1C53AD10509F472C1C63A31
+:100C4000D10509F071C102E810E4A9C1C83AD10583
+:100C500009F46DC1C93AD10509F46CC1CA3AD1058C
+:100C600009F46BC1CB3AD10509F46AC1CC3AD1057C
+:100C700009F469C1CD3AD10509F468C1C03BD10579
+:100C800009F467C1CE3AD10509F466C1CF3AD1055E
+:100C900009F465C1C13BD10509F464C1C23BD1056A
+:100CA00009F463C1C33BD10509F462C1C43BD1055A
+:100CB00009F461C1C53BD10509F460C1C63BD1054A
+:100CC00009F45FC1C73BD10509F45EC1C83BD1053A
+:100CD00009F45DC1C93BD10509F45CC1CA3BD1052A
+:100CE00009F45BC100E014E45AC18E01106557C1DC
+:100CF000CE019F700E94B00553C10E9484149FEFE3
+:100D000024E38CE0915020408040E1F700C00000D7
+:100D10000E949A1C44C18091D60181608093D601C3
+:100D20003EC10E94431E811102C00E94291E0E94E2
+:100D3000601E90E09093F5018093F401C23090E53D
+:100D4000D90721F48091F401816086C0C43020E588
+:100D5000D20721F48091F40182607EC0C63080E524
+:100D6000D80721F48091F401846076C0C83090E502
+:100D7000D90719F48091F40127C0CA3020E5D207C1
+:100D800021F48091F401806167C0CC3080E5D80700
+:100D900021F48091F40180625FC0CE3090E5D907E4
+:100DA00021F48091F401806457C0C03120E5D2075E
+:100DB00021F48091F40180684FC0C23180E5D807EA
+:100DC00029F48091F4018460886046C0C33090E5C6
+:100DD000D90721F48091F4018E7F3EC0C53020E513
+:100DE000D20721F48091F4018D7F36C0C73080E5B1
+:100DF000D80721F48091F4018B7F2EC0C93090E593
+:100E0000D90719F48091F40126C0CB3020E5D20730
+:100E100021F48091F4018F7E1FC0CD3080E5D8078A
+:100E200021F48091F4018F7D17C0CF3090E5D90770
+:100E300021F48091F4018F7B0FC0C13120E5D207EE
+:100E400021F48091F4018F7707C0C331D04531F48C
+:100E50008091F4018B7F877F8093F4018091F4016E
+:100E60000E94641E9CC08D2F99278F709927813016
+:100E70009105D9F49E012370332702C0880F991F72
+:100E80002A95E2F79C688E0144E0000F111F4A95F5
+:100E9000E1F700271370802B912B53E0CC0FDD1F5F
+:100EA0005A95E1F7C076DD272FC08230910531F4E5
+:100EB000DC2FCC278E01016F106A71C08330910541
+:100EC00069F4CE018370992701E010E002C0000FA1
+:100ED000111F8A95E2F7C8019C680FC0049709F0BA
+:100EE0005EC0CE018370992701E010E002C0000FC0
+:100EF000111F8A95E2F7C8019A6823E0CC0FDD1F25
+:100F00002A95E1F7C07ED7708C010C2B1D2B47C0B2
+:100F1000DF708E01106243C000E010E040C08E011F
+:100F20003EC001E810E43BC003E810E438C002EE24
+:100F300014E435C009EE14E432C00AEE14E42FC004
+:100F400005EB14E42CC006EB14E429C007EB14E411
+:100F500026C00CEC14E423C00DEC14E420C003E81C
+:100F600015E41DC00AE815E41AC002E915E417C02B
+:100F700004E915E414C001E216E411C003E216E42A
+:100F80000EC004E216E40BC005E216E408C006E257
+:100F900016E405C007E216E402C00AE216E4C8013E
+:100FA000DF91CF911F910F91089596E0799FF00105
+:100FB000112494E5899FE00DF11D1124E60FF11D28
+:100FC000EE0FFF1FE25EFE4F85919491803E9105EA
+:100FD000E0F4803C910558F58133910509F46FC028
+:100FE00048F48932910509F463C08A32910509F405
+:100FF0006DC072C089339105E9F082389105D1F056
+:101000008533910509F44DC067C0833E910581F198
+:1010100038F4803E9105B9F0823E9105D9F05CC06C
+:10102000863E910561F1873E9105A1F155C00E9470
+:10103000A80508952091F40120FD02C021FF4CC0B5
+:1010400080EE90E049C08091F40180FFF9CF89E300
+:1010500090E042C08091F40182FF0EC08091F401C3
+:1010600084FF03C080E090E037C083EE90E034C09E
+:101070008091F40182FFF2CF82EE90E02DC080914A
+:10108000F40183FF0BC08091F40184FDEBCF87EE68
+:1010900090E022C08091F40183FFF5CF86EE90E0CE
+:1010A0001BC08091F40185FF07C089E290E014C065
+:1010B0008091F40185FFF9CF85E390E00DC0809128
+:1010C000F40186FF07C08AE290E006C08091F40137
+:1010D00086FFF9CF81E390E00E94B8050895089556
+:1010E0000C946F08809165010895CF93DF9300D031
+:1010F0001F92CDB7DEB79C018091EB01843019F5CA
+:1011000093E099833B832A839093E9008FEF90913A
+:10111000E800815095FD06C095ED9A95F1F7000025
+:101120008111F5CF8091E80085FF0DC040E050E0CF
+:1011300063E070E0CE0101960E94D60A8091E8003B
+:101140008E778093E8000F900F900F90DF91CF91F2
+:101150000895CF93DF9300D01F92CDB7DEB72091D3
+:10116000EB01243021F522E029839B838A8383E0ED
+:101170008093E9008FEF9091E800815095FD06C0C3
+:1011800095ED9A95F1F700008111F5CF8091E80077
+:1011900085FF0DC040E050E063E070E0CE010196B5
+:1011A0000E94D60A8091E8008E778093E8000F9025
+:1011B0000F900F90DF91CF9108952091EB01243093
+:1011C000F1F422E02093E9002FEF3091E800215064
+:1011D00035FD06C035ED3A95F1F700002111F5CF48
+:1011E0002091E80025FF0BC040E050E065E070E092
+:1011F0000E94D60A8091E8008E778093E8000895D7
+:10120000CF93DF93EC019091EB01943009F046C04D
+:1012100080910C018823D9F080910D018823B9F0C9
+:101220009093E9008FEF9091E800815095FD06C002
+:1012300095E19A95F1F700008111F5CF8091E800D2
+:1012400085FF2CC040E050E060E170E017C081E015
+:101250008093E9008FEF9091E800815095FD06C0E2
+:1012600095ED9A95F1F700008111F5CF8091E80096
+:1012700085FF14C040E050E068E070E0CE010E94BD
+:10128000D60A8091E8008E778093E80080E1FE0125
+:10129000A5E5B1E001900D928A95E1F7DF91CF913C
+:1012A00008958091EA01811109C00E946B0C0E948F
+:1012B000C80C8091E20084608093E200089510924F
+:1012C000EA010895089508950C94071C42E061EC2A
+:1012D00081E00E94E50B42E061EC82E00E94E50BB8
+:1012E00042E061EC83E00E94E50B42E161EC84E0C6
+:1012F0000C94E50B8091ED01833009F455C030F476
+:10130000813071F0823009F48EC008958A3009F47A
+:101310007AC08B3009F460C0893009F09CC020C0CD
+:101320008091EC01813A09F096C08091E800877FB6
+:101330008093E8008091F0019091F101892B21F4D4
+:1013400060E185E591E003C060E080E090E070E05E
+:101350000E94210B8091E8008B778093E80008952C
+:101360008091EC01813209F076C08091F00190917A
+:10137000F101009719F0039709F06DC08091E80022
+:10138000877F8093E8008091E80082FD05C080910E
+:10139000EB018111F8CF5FC08091F100809365016E
+:1013A0008091E8008B7753C08091EC01813A09F07D
+:1013B00052C08091F0019091F101892B09F04BC04E
+:1013C0008091E800877F8093E8008091E80080FFAB
+:1013D000FCCF80910C0136C08091EC018132D9F5AF
+:1013E0008091F0019091F101892BA9F58091E8009D
+:1013F000877F8093E8000E941A0C8091EE01809311
+:101400000C010C9484148091EC01813221F58091BF
+:10141000E800877F8093E8000E941A0C8091EF011A
+:101420008093660108958091EC01813AA1F4809146
+:10143000E800877F8093E8008091E80080FFFCCF80
+:10144000809166018093F1008091E8008E7780930F
+:10145000E8000C941A0C089584B7877F84BF88E154
+:101460000FB6F89480936000109260000FBE90E079
+:1014700080E80FB6F89480936100909361000FBEEE
+:101480000E94BD0F0E946B0C0E94C80C8091E2006C
+:1014900084608093E20078940E944E0F0E94BF0FF8
+:1014A00082E091E00E94690F8091EB01853069F440
+:1014B0000E94C81B8091E9018823B1F30E94F31BAD
+:1014C000882391F30E94C00AEFCF0E94C50FECCF92
+:1014D000292F332723303105C9F064F42130310539
+:1014E00081F02230310509F043C08DE690E02AE416
+:1014F00033E042C021323105F1F02232310541F1B1
+:1015000037C082E190E027EB33E036C09927813085
+:10151000910541F08230910541F0892B49F5E6E4CF
+:10152000F3E005C0EEE2F3E002C0E6E1F3E084910F
+:1015300090E09F0121C06430D8F4E62FF0E0EE0F78
+:10154000FF1FEE5DFE4F2081318189E090E014C0E5
+:10155000643070F470E0FB01EE0FFF1FE65EFE4F9B
+:1015600020813181FB01EA5EFE4F808190E004C062
+:1015700080E090E020E030E0FA013183208308959C
+:1015800080E189BD82E189BD09B400FEFDCF809173
+:10159000D8008F7D8093D8008091E0008260809396
+:1015A000E0008091E00081FDFCCF0895CF92DF92B2
+:1015B000EF92FF920F931F93CF93DF93EC018B0178
+:1015C0006A010E94390C811133C0C114D10439F071
+:1015D000F60180819181081B190BC80FD91FE12CDE
+:1015E000F12C0115110519F18091E80085FD16C057
+:1015F0008091E8008E778093E800C114D10449F00F
+:10160000F60180819181E80EF91EF182E08285E089
+:101610000FC00E94390C882321F30AC0899180935E
+:10162000F10001501109FFEFEF1AFF0ADACF80E055
+:10163000DF91CF911F910F91FF90EF90DF90CF90AE
+:1016400008952091F2013091F3012617370748F0F1
+:101650006115710539F42091E8002E772093E80098
+:1016600001C0B90140E061157105A9F12091EB01BC
+:10167000222309F443C0253009F442C02091E80038
+:1016800023FD40C02091E80022FD32C02091E800F7
+:1016900020FFE9CF4091F3002091F20030E0342B9D
+:1016A000FC01CF016115710559F02830310540F476
+:1016B00081918093F100615071092F5F3F4FF1CF0D
+:1016C00041E02830310509F040E02091E8002E7714
+:1016D0002093E800C8CF4111C9CF0AC08091EB0127
+:1016E000882361F0853061F08091E80083FD0AC0B5
+:1016F0008091E80082FFF2CF80E0089582E00895B3
+:1017000083E0089581E008952091F2013091F30182
+:101710002617370748F06115710539F42091E80064
+:101720002E772093E80001C0B901FC0120E061158B
+:10173000710591F18091EB01882309F440C0853057
+:1017400009F43FC08091E80083FD3DC08091E8002E
+:1017500082FD2FC08091E80080FFE9CF2091F30047
+:101760008091F20090E0922B6115710559F088305C
+:10177000910540F424912093F10031966150710954
+:101780000196F2CF21E0089709F020E08091E8006F
+:101790008E778093E800CBCF2111CCCF0AC0809107
+:1017A000EB01882361F0853061F08091E80083FDD2
+:1017B0000AC08091E80082FFF2CF80E0089582E0C5
+:1017C000089583E0089581E00895982F973058F5A3
+:1017D0009093E900981739F07091EC002091ED009A
+:1017E0005091F00003C0242F762F50E021FF19C044
+:1017F0003091EB003E7F3093EB003091ED003D7F68
+:101800003093ED003091EB0031603093EB0070933A
+:10181000EC002093ED005093F0002091EE0027FFA4
+:1018200007C09F5FD3CF8F708093E90081E0089558
+:1018300080E008958091EC0187FF11C08091E8005D
+:1018400082FD05C08091EB018111F8CF11C080911C
+:10185000E8008B770BC08091EB01882349F08091E1
+:10186000E80080FFF8CF8091E8008E778093E80051
+:1018700008952091E4003091E50095E64091EC0058
+:10188000842F817040FF22C08091E80080FD1CC041
+:101890008091EB01882391F0853091F08091EB00ED
+:1018A00085FD10C04091E4005091E50042175307B8
+:1018B00029F39A01915011F784E0089582E0089588
+:1018C00083E0089581E0089580E008954091E80064
+:1018D00042FFDECF08950E94D90C0E94E10CE0EE99
+:1018E000F0E0808181608083E8EDF0E080818F7797
+:1018F000808319BCA7EDB0E08C918E7F8C938081A2
+:101900008F7E80831092EA0108950F931F93CF93E7
+:10191000DF930E94D90C0E94E10CC8EDD0E08881D1
+:101920008F77888388818068888388818F7D88838A
+:1019300019BC1092EB011092E7011092E90110928C
+:10194000E80100EE10E0F80180818B7F80838881C0
+:101950008160888342E060E080E00E94E50BE1EE78
+:10196000F0E080818E7F8083E2EEF0E08081816014
+:101970008083808188608083F80180818E7F80836E
+:10198000888180618883DF91CF911F910F910895A5
+:10199000E8EDF0E080818F7E8083E7EDF0E08081EC
+:1019A0008160808384E082BF81E08093EA010C94AF
+:1019B000850CE8EDF0E080818E7F80831092E2005C
+:1019C00008951092DA001092E10008951F920F928C
+:1019D0000FB60F9211242F933F934F935F936F9302
+:1019E0007F938F939F93AF93BF93EF93FF938091D8
+:1019F000E10082FF0BC08091E20082FF07C080916E
+:101A0000E1008B7F8093E1000E944D0F8091DA000E
+:101A100080FF1FC08091D80080FF1BC08091DA003A
+:101A20008E7F8093DA008091D90080FF0DC080E125
+:101A300089BD82E189BD09B400FEFDCF81E08093BC
+:101A4000EB010E94510905C019BC1092EB010E94E4
+:101A50005F098091E10080FF19C08091E20080FF62
+:101A600015C08091E2008E7F8093E2008091E200B9
+:101A700080618093E2008091D80080628093D800DA
+:101A800019BC85E08093EB010E9463098091E1001D
+:101A900084FF30C08091E20084FF2CC080E189BDCA
+:101AA00082E189BD09B400FEFDCF8091D8008F7D11
+:101AB0008093D8008091E1008F7E8093E100809137
+:101AC000E2008F7E8093E2008091E200816080934B
+:101AD000E2008091E701882311F084E007C0809143
+:101AE000E30087FD02C081E001C083E08093EB0149
+:101AF0000E9464098091E10083FF29C08091E20087
+:101B000083FF25C08091E100877F8093E10082E020
+:101B10008093EB011092E7018091E1008E7F80932A
+:101B2000E1008091E2008E7F8093E2008091E200EC
+:101B300080618093E20042E060E080E00E94E50B7B
+:101B40008091F00088608093F0000E946209FF910C
+:101B5000EF91BF91AF919F918F917F916F915F9125
+:101B60004F913F912F910F900FBE0F901F9018959E
+:101B70001F920F920FB60F9211242F933F934F9302
+:101B80005F936F937F938F939F93AF93BF93CF9305
+:101B9000DF93EF93FF93C091E900CF708091EC0049
+:101BA000D82FD17080FDD0E81092E9008091F0002C
+:101BB000877F8093F00078940E94FC0D1092E900DA
+:101BC0008091F00088608093F000CD2BCF70C0939F
+:101BD000E900FF91EF91DF91CF91BF91AF919F917C
+:101BE0008F917F916F915F914F913F912F910F90C6
+:101BF0000FBE0F901F9018951F93CF93DF93CDB713
+:101C0000DEB7AA970FB6F894DEBF0FBECDBFECEEDD
+:101C1000F1E088E08E0F9091F10091938E13FBCF4D
+:101C20000E947A098091E80083FF1FC18091EC0136
+:101C30009091ED01492F50E04A30510508F015C14F
+:101C4000FA01EA5AFF4F0C94EF23803881F0823872
+:101C500009F00BC18091F0018F708093E9008091B1
+:101C6000EB0085FB882780F91092E90006C080917F
+:101C7000E8019091E901911182609091E800977FCD
+:101C80009093E8008093F1001092F100C8C0282FD3
+:101C90002D7F09F0EAC0882319F0823061F0E5C099
+:101CA0008091EE01813009F0E0C0933009F080E0CE
+:101CB0008093E9012BC08091EE01811127C08091B2
+:101CC000F0018F7009F4D1C08093E9002091EB00FE
+:101CD00020FF1CC0933021F48091EB00806214C07F
+:101CE0009091EB0090619093EB0021E030E0A9012E
+:101CF00002C0440F551F8A95E2F74093EA00109204
+:101D0000EA008091EB0088608093EB001092E9007C
+:101D10008091E800877F86C08111A7C01091EE01F5
+:101D20001F778091E3008078812B8093E30080917E
+:101D3000E800877F8093E8000E941A0C8091E800F9
+:101D400080FFFCCF8091E30080688093E300111155
+:101D500002C082E001C083E08093EB0186C080581E
+:101D6000823008F082C08091EE019091EF018C3DAD
+:101D700053E0950779F583E08A838AE289834FB738
+:101D8000F894DE01139620E03EE051E2E32FF0E00C
+:101D900050935700E49120FF03C0E295EF703F5F3E
+:101DA000EF708E2F90E0EA3010F0C79601C0C09619
+:101DB0008D939D932F5F243149F74FBF8091E800A9
+:101DC000877F8093E8006AE270E0CE0101960E946E
+:101DD000210B14C0AE014F5F5F4F6091F0010E9474
+:101DE000680ABC01892B09F440C09091E800977FF4
+:101DF0009093E80089819A810E94840B8091E80089
+:101E00008B778093E80031C0803879F58091E800C5
+:101E1000877F8093E8008091E7018093F1008091B3
+:101E2000E8008E778093E8000E941A0C1EC0811192
+:101E30001CC09091EE019230C0F48091E800877F41
+:101E40008093E8009093E7010E941A0C8091E701CB
+:101E5000811106C08091E30087FD02C081E001C0CE
+:101E600084E08093EB010E9466098091E80083FF83
+:101E70000AC08091E800877F8093E8008091EB00A2
+:101E800080628093EB00AA960FB6F894DEBF0FBE77
+:101E9000CDBFDF91CF911F9108950895CF93809189
+:101EA000EB018823A1F0C091E900CF709091EC0084
+:101EB000892F817090FD80E8C82B1092E9008091F5
+:101EC000E80083FD0E94FC0DCF70C093E900CF9124
+:101ED000089590936C0180936B010895E0916B01DC
+:101EE000F0916C01309721F00190F081E02D099480
+:101EF00080E00895E0916B01F0916C01309721F042
+:101F00000280F381E02D09940895E0916B01F09136
+:101F10006C01309721F00480F581E02D099408953B
+:101F20002091690130916A018217930771F09093B3
+:101F30006A0180936901E0916B01F0916C01309727
+:101F400021F00680F781E02D099408952091670122
+:101F5000309168018217930771F090936801809324
+:101F60006701E0916B01F0916C01309721F00084E2
+:101F7000F185E02D0994089508950C94BC0F0E94FA
+:101F8000361C0E9488040C94FC1CCF92DF92EF92C6
+:101F9000FF920F931F93CF93DF93CDB7DEB72B97AD
+:101FA0000FB6F894DEBF0FBECDBF0E94A0048EE630
+:101FB000C82E81E0D82E00E010E0E02E802F0E9495
+:101FC0008E05F60141916F01F42EF826B1F40F5FF2
+:101FD0001F4F0E30110589F78FEF89838A831B828B
+:101FE0000E943F1C8160782F9D838C8349815A8198
+:101FF0006B818D810E94681040C09091D60191FF45
+:1020000004C08B870E9494058B8520E030E04F2D23
+:1020100050E0922FBA01022E02C0759567950A947E
+:10202000E2F760FF24C02E83EF8221E030E06901F7
+:1020300002C0CC0CDD1C9A95E2F790E08C219D212A
+:10204000892B09F420E028870E943F1C8160782FAB
+:102050009A8789874E815F8168858A850E9468108A
+:10206000F801E259FE4F8081C826C08206C02F5F6A
+:102070003F4F2630310569F6AACF0E94E31F109129
+:102080006D010E946E0F1817A1F00E946E0F8093D1
+:102090006D012B960FB6F894DEBF0FBECDBFDF915A
+:1020A000CF911F910F91FF90EF90DF90CF900C9404
+:1020B00070082B960FB6F894DEBF0FBECDBFDF9130
+:1020C000CF911F910F91FF90EF90DF90CF900895E7
+:1020D000CF93DF93CDB7DEB72B970FB6F894DEBF63
+:1020E0000FBECDBF4F83588769877A878B87DE0104
+:1020F000119686E0FD0111928A95E9F785E0FE01CF
+:10210000379601900D928A95E1F749815A816B814A
+:102110007C818D819E810E9422172B960FB6F894A8
+:10212000DEBF0FBECDBFDF91CF9108950895CF934D
+:10213000882309F4C2C0C82F823859F40E946E0F58
+:1021400081FDBBC089E30E94651A0E94421B89E39E
+:102150000CC0833879F40E946E0F80FDAEC083E519
+:102160000E94651A0E94421B83E50E94A71ACF9124
+:102170000C94421B843859F40E946E0F82FD9DC05E
+:1021800087E40E94651A0E94421B87E4EECF8CEF21
+:102190008C0F813A48F48C2F0E941E2281118DC031
+:1021A0008C2F0E94651AE3CF80E28C0F883048F4B0
+:1021B000C77081E001C0880FCA95EAF70E94EE1A45
+:1021C000D6CF8BE58C0F833078F4C53A29F0C63A28
+:1021D00031F083E890E005C081E890E002C082E839
+:1021E00090E0CF910C94900F88E58C0F833108F02C
+:1021F00064C0C83A39F1C93A41F1CA3A49F1CB3A17
+:1022000051F1CC3A59F1CD3A61F1C03B69F1CE3A86
+:1022100071F1CF3A79F1C13B81F1C23B89F1C33B06
+:1022200091F1C43B99F1C53BA1F1C63BA9F1C73B74
+:10223000B1F1C83BB9F1C93BC1F1CA3BC9F180E07A
+:1022400090E038C082EE90E035C089EE90E032C078
+:102250008AEE90E02FC085EB90E02CC086EB90E0FA
+:1022600029C087EB90E026C08CEC90E023C08DEC79
+:1022700090E020C083E891E01DC08AE891E01AC098
+:1022800082E991E017C084E991E014C081E292E014
+:1022900011C083E292E00EC084E292E00BC085E2BE
+:1022A00092E008C086E292E005C087E292E002C0B8
+:1022B0008AE292E0CF910C94A60FCF9108958823E3
+:1022C00009F44BC0823859F40E946E0F81FF45C05B
+:1022D00089E30E94651A0E94421B89E30CC083387F
+:1022E00071F40E946E0F80FF38C083E50E94651A6A
+:1022F0000E94421B83E50E94A71A0C94421B84385B
+:1023000059F40E946E0F82FF28C087E40E94651A6C
+:102310000E94421B87E4EFCF9CEF980F913A58F34D
+:1023200090E2980F983050F4877091E001C0990FB7
+:102330008A95EAF7892F0E94F41ADFCF9BE5980F60
+:10234000933020F480E090E00C94900F885A833111
+:1023500020F480E090E00C94A60F0895882321F0EB
+:102360000E94EE1A0C94421B0895882321F00E94CB
+:10237000F41A0C94421B08952F923F924F925F9251
+:102380007F928F929F92AF92BF92CF92DF92EF9205
+:10239000FF920F931F93CF93DF9300D000D01F9233
+:1023A000CDB7DEB725E0FC01DE01119601900D925C
+:1023B0002A95E1F7FC0100811181F280E580E29429
+:1023C0003FE0E32223813481232B09F472C21F3FB3
+:1023D00019F40F3F09F46DC26C010E94011A8823A1
+:1023E00019F082E00E94431AC6010E9496100983E8
+:1023F0001A8369817A818F2D0E94C7198C010E94EE
+:102400007C190E944318F1100E940B1B0E945E1A57
+:10241000882379F0FF2069F080E2800F883048F04F
+:1024200082E00E94431A0E945E1A91E0782E79267B
+:1024300001C0712CE12FE295EF70F0E0E05AFF4F00
+:102440000C94EF23812F807F1F70882311F0129549
+:10245000107FFF2089F0112309F4E8C180E2800F8A
+:10246000883020F4812F0E94EE1A03C0812F0E9431
+:10247000FE1A0E94421BDAC1802F0E945F111123B5
+:1024800009F4EEC1005E812F083018F40E94F41A9E
+:1024900002C00E94041B0E94421BE2C1812F807F68
+:1024A0001F70803211F01295107F002319F0013057
+:1024B00049F132C0FF2091F0EE2091F1F1E0EF12EE
+:1024C00004C0812F0E941E1BCBC122E0E21228C053
+:1024D0000E94271B812F0E94CE1922C0EE2079F086
+:1024E00031E0E31208C00E94EB1A812309F4B8C15D
+:1024F0000E94D11904C042E0E41609F4B1C10E945F
+:10250000271B12C0FF2029F051E05E1508F4A8C176
+:1025100007C0E110A5C108C0FF2021F0E11086C16D
+:10252000812FF7C0E11089C1812FF9C0812F8695D5
+:102530008695837090E0009719F0019759F090C14B
+:10254000FF2019F0C801937002C080E090E00E9463
+:10255000900F86C1FF2019F0C801937002C080E07F
+:1025600090E00E94A60F7CC1802FFF2019F00E94EE
+:10257000EB1E02C00E94531F0E94D81F71C1812F01
+:10258000837009F055C0F1106BC1802F829586953C
+:102590008770880F880F902F9F70492F50E060E060
+:1025A00070E01A012B01082E04C0220C331C441CBD
+:1025B000551C0A94D2F704FF15C02FE0822E912CEF
+:1025C000A12CB12CA501940104C0220F331F441F7C
+:1025D000551F8A95D2F7CA01B9016095709580950B
+:1025E000909503C060E070E0CB01169516951370CE
+:1025F000412F50E04230510569F04330510589F0D8
+:1026000062297329842995294130510571F00E946E
+:102610006A1826C162297329842995290E9486187F
+:102620001FC10E946A18C201B1010E944E1818C150
+:10263000FF2019F0812F817001C08695882309F44D
+:102640000FC1802F829586958770880F880F902FF5
+:102650009F70492F50E060E070E01A012B01082EB6
+:1026600004C0220C331C441C551C0A94D2F704FFEE
+:1026700015C09FE0892E912CA12CB12CA5019401AD
+:1026800004C0220F331F441F551F8A95D2F7CA0179
+:10269000B901609570958095909503C060E070E0F9
+:1026A000CB01169516951370412F50E0423051051D
+:1026B00069F04330510589F06229732984299529ED
+:1026C0004130510571F00E944419CAC06229732932
+:1026D000842995290E946019C3C00E944419C2012F
+:1026E000B1010E942819BCC0802F90E0FC01E05E7F
+:1026F000F109E531F10508F094C0E059FF4F0C9461
+:10270000EF230F70812F8F71FF2031F00E94C118CD
+:10271000802F0E94AE11A4C00E94E218802F0E9458
+:10272000B5119EC0FF2039F0E1109AC0812F8F7142
+:102730000E94071995C031E03E1508F491C0F6CF0C
+:10274000FF2039F0812F8F710E94C11889C0FF20AE
+:10275000C9F3812F8F710E94E21882C0FF2029F0F7
+:10276000812F8F710E94AC187BC00E94A21878C084
+:10277000FF20C1F00E94CB190E94F41A0E94FD199B
+:10278000843029F40E943C1A812F8F717AC041E075
+:102790004E1508F48EC01F71812F0E94C11863E08E
+:1027A000812F0EC00E94CB190E94EE1A51E05E15D7
+:1027B000F8F40E943C1A0E94D11964E0812F8F71B5
+:1027C0000F900F900F900F900F90DF91CF911F916E
+:1027D0000F91FF90EF90DF90CF90BF90AF909F90C0
+:1027E0008F907F905F904F903F902F900C942C1A79
+:1027F00081E00F900F900F900F900F90DF91CF918D
+:102800001F910F91FF90EF90DF90CF90BF90AF900E
+:102810009F908F907F905F904F903F902F900C945F
+:10282000431AFF2039F0EE2009F48CCF802F0E944C
+:10283000971016C0EE2009F48CCF802F0E945F11F4
+:102840000FC0412F4F70602FC6010E94A8020E9446
+:10285000C61706C0412F4F70602FC6010E94950514
+:10286000772039F10E94FD1980FD23C0F601128204
+:102870000E94F7190E94C118C6010E94BC110E9453
+:10288000F7190F900F900F900F900F90DF91CF914D
+:102890001F910F91FF90EF90DF90CF90BF90AF907E
+:1028A0009F908F907F905F904F903F902F900C94CF
+:1028B000E2180F900F900F900F900F90DF91CF9133
+:1028C0001F910F91FF90EF90DF90CF90BF90AF904E
+:1028D0009F908F907F905F904F903F902F900895A2
+:1028E0000E940B1B0E941B1B0E94DD1A0E94421BB0
+:1028F0000E9489200E94D81F80E090E00E94900FE3
+:1029000080E090E00C94A60F0E94FB1A0C947014C7
+:102910000E94BC19292F22952F7030E02C303105F0
+:102920004CF42A3031056CF4225031092230310543
+:10293000A8F407C02C30310569F02F30310551F073
+:102940000DC0803F69F018F4803E40F409C0843F18
+:1029500029F406C093FB882780F9089580E0089544
+:1029600081E00895CF93DF9300D000D01F92CDB7C0
+:10297000DEB70F900F900F900F900F90DF91CF91D7
+:102980000895CF93DF9300D000D000D0CDB7DEB74D
+:1029900026960FB6F894DEBF0FBECDBFDF91CF9164
+:1029A00008951F93CF93DF93C0917C0116E080912F
+:1029B0007D01C81799F0D0E01C9FF0011D9FF00D1C
+:1029C0001124E258FE4F40815181628173818481DC
+:1029D00095810E94C1142196C770E9CFDF91CF91F4
+:1029E0001F9108954091AE015091AF016091B001E7
+:1029F0007091B1018091B2019091B3010C94C11416
+:102A00008091B30182958F7009F054C08091B0011C
+:102A1000882309F44FC080917C01A0917D016091D1
+:102A2000AE017091AF014091B1015091B201B6E099
+:102A30008A1709F43FC090E041155105C1F17F3F6D
+:102A400011F46F3FA1F1B89FF001B99FF00D11246F
+:102A5000E258FE4F218172132AC02081621327C0E1
+:102A60002281211124C0238134812417350710F4D9
+:102A700021503109241B350B283C3105C0F420912D
+:102A8000B3012F7020612093B30126E0289FF0014D
+:102A9000299FF00D1124ED57FE4F80818F708061CA
+:102AA00080838EEA91E00E94BC110C94D1140196AF
+:102AB0008770BECF0895CF92DF92EF92FF920F936F
+:102AC0001F93CF93DF93CDB7DEB762970FB6F8941D
+:102AD000DEBF0FBECDBF8C0185E0F801DE011D9683
+:102AE00001900D928A95E1F7D8014C9111965C9175
+:102AF000119712966C9112971396CD90DC901497C3
+:102B00003091AE017091AF018091B1019091B2010D
+:102B1000009709F46BC17F3F19F43F3F09F466C188
+:102B2000E090B001EE2009F4C0C02091B301C816B6
+:102B3000D90628F0F601E81BF90BCF0104C08095F7
+:102B400090958C0D9D1DFF24F394883C910578F0A1
+:102B5000F12C207F09F0C6C07C2DD98AC88A8989CA
+:102B60000E94B2148EEA91E00E94BC11B1C0822F83
+:102B7000807F09F046C0751314C0341312C0611170
+:102B800010C02F7020612093B3010E94F2148EEACE
+:102B900091E00E94BC118091B301D80115968C93ED
+:102BA0002EC0CD2819F15F3F11F44F3FF9F0F62EFA
+:102BB00061111CC080917C0120917D0136E082175B
+:102BC00009F45AC090E0389FF001399FF00D1124AC
+:102BD000E258FE4F7181571306C07081471303C03E
+:102BE0007281711103C001968770E9CFF62E6623BA
+:102BF00009F418C18091B30181608093B301F12C75
+:102C000011C1751308C0341306C0611104C080914E
+:102C1000B301D801C3C04D875E878D859E856A8BC1
+:102C20000E9488146A898823E1F16623D1F12091FA
+:102C3000B301822F82958F7090E0029774F080919B
+:102C4000AE019091AF0198878F831986DB86CA8683
+:102C50002C87CE0107960E94BC1186E0F801AEEAEF
+:102C6000B1E001900D928A95E1F70E9400150E9453
+:102C7000F214FF24F394D6C04D875E878D859E8520
+:102C80000E94BC19292F22952F7030E02230310587
+:102C90000CF0BCC09F7009F0B6C0805E883008F4AC
+:102CA000C1C0C8010E94BC11E4CFC816D90608F4FF
+:102CB00053C0F601E81BF90BCF01883C910508F4DD
+:102CC00050C0F12C7C2DD98AC88A89890E94B214FF
+:102CD000EEEAF1E086E0DF011D928A95E9F70E94B5
+:102CE000F214A0C0751314C0341312C0611110C0C7
+:102CF0008091B301F8018583C8010E94BC1186E070
+:102D0000EEEAF1E0DF011D928A95E9F7FE2C8AC018
+:102D10004D875E878D859E856A8B0E9488146A899F
+:102D2000882309F4BECF662309F4BBCF2091B301F9
+:102D3000822F82958F7090E002970CF48ECF809155
+:102D4000AE019091AF019A8389831B82DD82CC8290
+:102D50002E83CE0101967FCF809590958C0D9D1D81
+:102D6000ACCFF62E662309F49CCF75132EC0341316
+:102D70002CC02091B30120FD1FC0822F82958F703F
+:102D8000D9F0D80115962C9315978F3049F08F5FA5
+:102D9000982F9295907F822F8F70892B15968C9308
+:102DA000C8010E94BC1186E0F801AEEAB1E00190D2
+:102DB0000D928A95E1F793CF86E0F801AEEAB1E093
+:102DC00001900D928A95E1F72DC04D875E878D8524
+:102DD0009E850E948814811140CF8091B30181604B
+:102DE0008093B301C8010E94BC111CC0662309F482
+:102DF00058CF4D875E878D859E850E9488148823D5
+:102E000009F44FCF2ACF811148CF0CC024303105AF
+:102E10000CF047CF9F7009F440CFF8019581907F67
+:102E200009F03BCF8F2D62960FB6F894DEBF0FBE30
+:102E3000CDBFDF91CF911F910F91FF90EF90DF9069
+:102E4000CF9008951F93CF93DF93CDB7DEB72C9724
+:102E50000FB6F894DEBF0FBECDBF4F83588769878A
+:102E60007A878B879C87CE0107960E945B15882303
+:102E700069F08F8198852A853B85232BF1F19F3F4F
+:102E800009F063C08F3F09F060C037C086E0FE01E3
+:102E90003796DE01119601900D928A95E1F76F81C8
+:102EA0007885EA85FB85309741F17F3F11F46F3FCC
+:102EB00021F120917D0130E0C901019687709927A9
+:102EC00040917C0150E08417950709F447C069835D
+:102ED0007A83FD83EC8396E0929FD001939FB00D9F
+:102EE0001124A258BE4FFE01319601900D929A9581
+:102EF000E1F780937D010E94D11416E080917C015E
+:102F000090917D018917C1F1189FC0011124825849
+:102F10009E4F0E945B15882379F1E0917C011E9FF2
+:102F2000F0011124E258FE4F40815181628173818A
+:102F3000848195810E94C11480917C0190E001966A
+:102F40008770992780937C01D9CF4F8158856985F7
+:102F50007A858B859C850E94C114CFCF0E948414F2
+:102F600010927D0110927C01EEEAF1E086E0DF0133
+:102F70001D928A95E9F7C1CF2C960FB6F894DEBF63
+:102F80000FBECDBFDF91CF911F910895EF92FF92B9
+:102F90000F931F93CF93DF938C01892B09F46CC09F
+:102FA000F12CEE24E394E8012196F8018491843712
+:102FB00040F4843008F051C0813081F0823019F142
+:102FC0005BC0853709F444C0A8F19CE7980F90379F
+:102FD00008F052C08F770E945F1141C00E5F1F4FF3
+:102FE000FE01C49180E28C0F883048F4C7708E2DAA
+:102FF00001C0880FCA95EAF70E940E1B14C08C2FDF
+:103000000E9497102DC00E5F1F4FFE01C49180E2F9
+:103010008C0F883058F4C7708E2D01C0880FCA9568
+:10302000EAF70E94141B0E94421B1AC08C2F0E94B8
+:103030005F1116C00E5F1F4FFE01C491CC2381F0BB
+:103040008FE99FE00197F1F700C00000C150F6CF73
+:103050000E5F1F4FFE01F49003C00E9497108E0177
+:103060008F2D882309F49FCFEFE9FFE03197F1F727
+:1030700000C000008150F5CFDF91CF911F910F91DB
+:10308000FF90EF90089508956093B8017093B9018F
+:103090008093BA019093BB010C9470140F931F930B
+:1030A0000091B8011091B9012091BA013091BB0192
+:1030B000DC01CB01802B912BA22BB32B8093B80189
+:1030C0009093B901A093BA01B093BB011F910F91E6
+:1030D0000C9470140F931F930091B8011091B901D3
+:1030E0002091BA013091BB01DC01CB0180239123F7
+:1030F000A223B3238093B8019093B901A093BA019E
+:10310000B093BB011F910F910C9470140F931F93F8
+:103110000091B8011091B9012091BA013091BB0121
+:10312000DC01CB0180279127A227B3278093B80128
+:103130009093B901A093BA01B093BB011F910F9175
+:103140000C9470141092B4011092B5011092B60153
+:103150001092B7010C94701441E050E060E070E010
+:1031600004C0440F551F661F771F8A95D2F74093FE
+:10317000B4015093B5016093B6017093B7010C94FC
+:10318000701441E050E060E070E004C0440F551F4F
+:10319000661F771F8A95D2F78091B4019091B5018F
+:1031A000A091B601B091B701482B592B6A2B7B2B0C
+:1031B0004093B4015093B5016093B6017093B70189
+:1031C0000C94701441E050E060E070E004C0440FE3
+:1031D000551F661F771F8A95D2F7409550956095C9
+:1031E00070958091B4019091B501A091B601B09114
+:1031F000B701482359236A237B234093B40150939A
+:10320000B5016093B6017093B7010C94701441E05E
+:1032100050E060E070E004C0440F551F661F771F48
+:103220008A95D2F78091B4019091B501A091B60131
+:10323000B091B701482759276A277B274093B401EB
+:103240005093B5016093B6017093B7010C9470145C
+:103250000F931F930091B4011091B5012091B60115
+:103260003091B701DC01CB01802B912BA22BB32B2A
+:103270008093B4019093B501A093B601B093B701C8
+:103280001F910F910C9470140F931F930091B40130
+:103290001091B5012091B6013091B701DC01CB014D
+:1032A00080239123A223B3238093B4019093B5018B
+:1032B000A093B601B093B7011F910F910C947014B5
+:1032C0000F931F930091B4011091B5012091B601A5
+:1032D0003091B701DC01CB0180279127A227B327CA
+:1032E0008093B4019093B501A093B601B093B70158
+:1032F0001F910F910C9470140895CF92DF92EF926A
+:10330000FF920F931F93CF93DF938C01C090B8016E
+:10331000D090B901E090BA01F090BB018091B40166
+:103320009091B501A091B601B091B701C82AD92AF0
+:10333000EA2AFB2ACFE1D0E0D701C6010C2E04C057
+:10334000B695A795979587950A94D2F780FF06C002
+:10335000B8018C2F0E94D507019721F4219760F7BF
+:1033600080E001C08C2FDF91CF911F910F91FF90D2
+:10337000EF90DF90CF900895CF93DF93EC010E9400
+:103380007D19BE010E94D507DF91CF910895CB0131
+:103390000E94BC1908958091C10108958093C101D4
+:1033A00008951092C10108950E943F1C2091BF0111
+:1033B0003091C0018217930750F00E943F1C20916A
+:1033C000BF013091C001821B930B9C010AC00E9477
+:1033D0003F1C2091BF013091C00120953095280FEE
+:1033E000391F81E0283B3B4008F480E0089580913C
+:1033F000BE0185958595859508958091BE0187705C
+:1034000008950E943F1C2091BC013091BD0182179C
+:103410009307A8F00E943F1C2091BC013091BD0190
+:10342000821B930B883B9B4010F480E013C080917B
+:10343000BE0182FB882780F991E089270BC00E949A
+:103440003F1C2091BC013091BD0120953095820F29
+:10345000931FE8CF8170089598E0899F900111240F
+:10346000262B2093BE010E94C1180E943F1C9093FE
+:10347000BD018093BC0108951092BE011092BD0160
+:103480001092BC0108952091BE0180958223809303
+:10349000BE01982F977089F430E0482F552747FDDB
+:1034A00050952417350749F08595859585950E9497
+:1034B000E2181092BD011092BC0108959091BE01D6
+:1034C000977081E009F480E0089590910C019923B0
+:1034D00021F090910D01911109C020910E013091C0
+:1034E0000F01F90132969FEF40E01FC0982F96958B
+:1034F000969596959F3050F5E0910E01F0910F0151
+:10350000E90FF11D877021E030E0A90102C0440FEE
+:10351000551F8A95E2F7CA019181892B818308950D
+:103520009F3F39F04F5F4E3041F051915813F8CF23
+:103530000DC05111F7CF942FF5CF9F3F39F0F9010E
+:10354000E90FF11D97FDFA958283089508959091F2
+:103550000C01992321F090910D01911109C0209146
+:103560000E0130910F01F9013296205F3F4F1FC0CD
+:10357000982F9695969596959F30F0F4E0910E01D0
+:10358000F0910F01E90FF11D877021E030E0A901F2
+:1035900002C0440F551F8A95E2F7CA0180959181B8
+:1035A0008923818308953196E217F30729F09081EA
+:1035B0009813F9CF1082F7CF089581E090E0E09161
+:1035C0000E01F0910F01E80FF91F10820196803172
+:1035D0009105A9F708958091D50108959091D5019D
+:1035E000892B8093D501089580959091D5018923E9
+:1035F0008093D50108951092D50108959091D4013A
+:10360000892B8093D401089580959091D4018923CA
+:103610008093D40108951092D40108959091D3011C
+:10362000892B8093D301089580959091D3018923AC
+:103630008093D30108951092D30108958093C2011D
+:103640000E943F1C9093C0018093BF010895109287
+:10365000C2011092C0011092BF0108958091C20171
+:10366000089580910E0190910F01FC0131969C010B
+:10367000205F3F4F80E0919191118F5FE217F30738
+:10368000D1F70895E0910E01F0910F018091D501DD
+:103690008083E0910E01F0910F0190818091D4011F
+:1036A000892B8083E0910E01F0910F019081809130
+:1036B000D301892B80838091C201882399F00E94D5
+:1036C000D41981110E94271BE0910E01F0910F0186
+:1036D00090818091C201892B80830E94311B8111CE
+:1036E0000E94271B80910E0190910F010C947A0F7C
+:1036F000CF92DF92EF92FF926C01EE24FF24C1146F
+:10370000D104E104F10421F0C701B60120E101C0B8
+:1037100020E0C72ED82EE92EFF24C114D104E104E5
+:10372000F10419F0285FC701B6016B017C0154E078
+:10373000F694E794D794C7945A95D1F7C114D1045D
+:10374000E104F10419F02C5FC701B6016B017C01A3
+:1037500042E0F694E794D794C7944A95D1F7C11400
+:10376000D104E104F10419F02E5FC701B601DC01B8
+:10377000CB01B695A79597958795892B8A2B8B2B8F
+:1037800009F02F5F822FFF90EF90DF90CF90089588
+:103790008091EB01843021F11092D70120E488E17F
+:1037A00090E00FB6F894A895809360000FBE209328
+:1037B000600080E00E94700883B7817F846083BFCF
+:1037C00083B7816083BF7894889583B78E7F83BFEA
+:1037D00088E10FB6F89480936000109260000FBEED
+:1037E000089508950895CF930E94F11B0E94A004AC
+:1037F0000E94F21BC0E08C2F0E948E05811104C034
+:10380000CF5FCE30C1F701C081E0CF9108950E9413
+:1038100084140E946E0F0C9470081F920F920FB6C2
+:103820000F9211248F939F93AF93BF938091D701F1
+:10383000811113C08091D8019091D901A091DA0132
+:10384000B091DB014196A11DB11D8093D8019093E9
+:10385000D901A093DA01B093DB01BF91AF919F91A1
+:103860008F910F900FBE0F901F90189582E084BD2E
+:1038700093E095BD9AEF97BD80936E0008952FB7A2
+:10388000F8948091D8019091D901A091DA01B0917A
+:10389000DB012FBF0895CF92DF92EF92FF920F933B
+:1038A0001F932FB7F8944091D8015091D90160919E
+:1038B000DA017091DB012FBF6A017B01EE24FF2446
+:1038C0008C0120E030E0C016D106E206F30610F4C9
+:1038D000415051099A01281B390BC9011F910F91C1
+:1038E000FF90EF90DF90CF9008951F920F920FB648
+:1038F0000F9211248F939F93AF93BF938091D80120
+:103900009091D901A091DA01B091DB010196A11D3E
+:10391000B11D8093D8019093D901A093DA01B0939F
+:10392000DB01BF91AF919F918F910F900FBE0F90D0
+:103930001F9018950E946B0CF8942FEF87EA91E680
+:10394000215080409040E1F700C0000087E090EBFC
+:10395000DC018093F5019093F601A093F701B093F9
+:10396000F8019CE088E10FB6F894A8958093600078
+:103970000FBE90936000FFCFEF92FF920F931F93C3
+:10398000CF93DF93D82FC0E08C2F0E948E0500E0EC
+:1039900010E0E82EF12CC701002E02C09595879506
+:1039A0000A94E2F780FD06C00F5F1F4F0630110535
+:1039B00091F709C0602F7C2F80E00E949605D813F4
+:1039C000F3CF81E004C0CF5FCE30F1F680E0DF912D
+:1039D000CF911F910F91FF90EF900895CF93C82F33
+:1039E0008CE20E94BC1C882321F08C2FCF910C9478
+:1039F000BC1C80E0CF910895CF930E94431E81119B
+:103A000002C00E94291EC5E6C15049F00E94A004D0
+:103A10008FE39CE90197F1F700C00000F5CF89E240
+:103A20000E94EE1C811113C18AE20E94EE1C8111DA
+:103A30000E94291E85E00E94EE1C81110E949A1CA2
+:103A40000E944E1E8093D60187E00E94EE1C8823C0
+:103A5000A9F18BE10E94EE1C882351F08091D601E0
+:103A600081FB222720F991E0922790FB81F90EC07B
+:103A70008EE00E94EE1C882361F08091D60182FBCB
+:103A8000222720F991E0922790FB82F98093D601BA
+:103A900015C080E10E94EE1C9091D601882341F070
+:103AA00093FB222720F981E0822780FB93F904C051
+:103AB000892F809580FB90F99093D6018091D60153
+:103AC0000E94521E0E94601E8093F40180EE0E94AC
+:103AD000EE1C882341F08091F401982F909590FB83
+:103AE00080F98093F40189E30E94EE1C882359F049
+:103AF0008091F40181FB222720F991E0922790FB2D
+:103B000081F98093F40182EE0E94EE1C882359F023
+:103B10008091F40182FB222720F991E0922790FB0B
+:103B200082F98093F40186EE0E94EE1C882359F0FE
+:103B30008091F40183FB222720F991E0922790FBEA
+:103B400083F98093F40183EE0E94EE1C882359F0E0
+:103B50008091F40184FB222720F991E0922790FBC9
+:103B600084F98093F40185E30E94EE1C882359F0C8
+:103B70008091F40185FB222720F991E0922790FBA8
+:103B800085F98093F40181E30E94EE1C882359F0AB
+:103B90008091F40186FB222720F991E0922790FB87
+:103BA00086F98093F40181E10E94EE1C882359F08C
+:103BB0008091F40187FB222720F991E0922790FB66
+:103BC00087F98093F4018091F4010E94641E809132
+:103BD000F40187FB882780F980930D0187E20E941A
+:103BE000EE1CC82F8EE10E94EE1C8111C2608FE195
+:103BF0000E94EE1C8111C46080E20E94EE1C8111C3
+:103C0000C86081E20E94EE1C8111C06182E20E94C4
+:103C1000EE1C8111C06283E20E94EE1C8111C0641F
+:103C200084E20E94EE1C882311F0C06802C0CC23FD
+:103C300029F08C2F0E945B1E6C2F03C00E94571E20
+:103C4000682F70E080E090E0CF910C944418CF9101
+:103C500008956DEE7EEF80E090E00E94292460E000
+:103C600082E090E00E94172460E083E090E00E94F0
+:103C7000172460E084E090E00E94172460E085E073
+:103C800090E00C94172480E090E00E94112421E041
+:103C90008D3E9E4F09F020E0822F089582E090E053
+:103CA0000C940924682F82E090E00C94172483E0A0
+:103CB00090E00C940924682F83E090E00C94172482
+:103CC00084E090E00C940924682F84E090E00C9448
+:103CD00017248091DE0180FF0BC06091130185E005
+:103CE000689FB001112475956795759567952BC0F0
+:103CF00081FF09C06091130185E0689FB001112424
+:103D00007595679520C082FF07C06091130185E01B
+:103D1000689FB001112417C09091DF019923D1F061
+:103D200060911201961788F72091130185E0289F72
+:103D300090011124929FA001939F500D112470E0D7
+:103D4000CA010E94DB236038710540F461157105DA
+:103D500039F002C065E070E0862F08958FE708957E
+:103D600081E008958091DE0180FF08C0609111011B
+:103D700070E0759567957595679521C081FF06C0C0
+:103D80006091110170E07595679519C082FF04C0BC
+:103D90006091110170E010C09091DF019923C1F092
+:103DA000609110019617A0F780911101899FC001C1
+:103DB000112470E00E94DB236038710528F461153E
+:103DC000710521F0862F08958FE7089581E0089509
+:103DD00061E070E0F4CF803F21F40E94691E81957C
+:103DE00004C0813F29F40E94691E8093E201089576
+:103DF000823F21F40E94691E819504C0833F29F40B
+:103E00000E94691E8093E1010895893F19F40E9480
+:103E1000B21E05C08A3F31F40E94B21E8195809384
+:103E2000E30108958B3F21F40E94B21E819504C0E6
+:103E30008C3F29F40E94B21E8093E4010895843FD0
+:103E400021F48091E001816017C0853F21F48091C9
+:103E5000E001826011C0863F21F48091E00184601E
+:103E60000BC0873F21F48091E001886005C0883F46
+:103E700031F48091E00180618093E00108958D3FED
+:103E800021F48091DE0181600BC08E3F21F480918E
+:103E9000DE01826005C08F3F29F48091DE018460DD
+:103EA0008093DE010895803F39F48091E20187FF1D
+:103EB0006CC01092E20169C0813F29F48091E20157
+:103EC0001816BCF362C09091E101823F29F497FF7C
+:103ED0005CC01092E10159C0833F19F41916CCF36C
+:103EE00054C0893F41F48091E30118160CF04DC095
+:103EF0001092E3014AC08A3F29F48091E30187FFD1
+:103F000044C0F6CF8B3F39F48091E40187FF3DC078
+:103F10001092E4013AC08C3F29F48091E401181614
+:103F2000BCF333C0843F21F48091E0018E7F17C041
+:103F3000853F21F48091E0018D7F11C0863F21F4FF
+:103F40008091E0018B7F0BC0873F21F48091E001DD
+:103F5000877F05C0883F31F48091E0018F7E809398
+:103F6000E00113C08D3F21F48091DE018E7F0BC0F4
+:103F70008E3F21F48091DE018D7F05C08F3F29F4B3
+:103F80008091DE018B7F8093DE018091E1018111C0
+:103F90000EC08091E20181110AC08091E30181117C
+:103FA00006C08091E401811102C01092DF010895E2
+:103FB00080EE91E00E94850F0E943F1C9093DD01EE
+:103FC0008093DC0108951F93CF93DF938091DC01F0
+:103FD0009091DD010E944B1CAC019091DF0199236F
+:103FE00021F02091140130E006C0209115018AE0F3
+:103FF000289F900111244217530708F486C080912E
+:10400000E101C091E201D091E3011091E40181113D
+:1040100007C0C11176C0D11174C0111172C075C032
+:104020009F3F19F09F5F9093DF01181624F40E94C0
+:10403000691E8093E1018091E10187FF05C00E9424
+:10404000691E81958093E1011C1624F40E94691E6B
+:104050008093E2018091E20187FF05C00E94691E02
+:1040600081958093E2016091E101662339F1C0916D
+:10407000E201CC2319F1772767FD7095872F972FE1
+:104080000E94EC2223E333E343E35FE30E945023E7
+:104090000E94B9226093E1016C2F772767FD70952C
+:1040A000872F972F0E94EC2223E333E343E35FE360
+:1040B0000E9450230E94B9226093E2011D1624F44D
+:1040C0000E94B21E8093E3018091E30187FF05C047
+:1040D0000E94B21E81958093E301111624F40E9480
+:1040E000B21E8093E4018091E40187FF05C00E9425
+:1040F000B21E81958093E401DF91CF911F910C94C2
+:10410000D81F9F3F09F08ECF96CFDF91CF911F919F
+:104110000895E0EEF1E085E0DF011D928A95E9F770
+:104120001092DF011092DE010895833081F128F4AE
+:10413000813059F08230D1F00895853009F449C0BA
+:10414000B8F1863009F456C0089580911501262FE4
+:1041500030E0280F311D2F3F310524F4680F6093A4
+:10416000150108958FEF8093150108958091140132
+:10417000262F30E0280F311D2F3F310524F4680F22
+:104180006093140108958FEF809314010895809136
+:104190001301262F30E0280F311D2F3F310524F465
+:1041A000680F6093130108958FEF809313010895B2
+:1041B00080911201262F30E0280F311D2F3F31054D
+:1041C00024F4680F6093120108958FEF8093120119
+:1041D000089580911101262F30E0280F311D2F3FC7
+:1041E000310524F4680F6093110108958FEF8093D7
+:1041F0001101089580911001262F30E0280F311D04
+:104200002F3F310524F4680F6093100108958FEF5C
+:10421000809310010895833011F128F4813049F022
+:10422000823091F00895853081F120F18630C1F11E
+:10423000089580911501681720F4861B809315015D
+:10424000089510921501089580911401681720F4C3
+:10425000861B809314010895109214010895809193
+:104260001301681720F4861B8093130108951092A0
+:104270001301089580911201681720F4861B809322
+:10428000120108951092120108958091110168178A
+:1042900020F4861B80931101089510921101089556
+:1042A00080911001681720F4861B809310010895F7
+:1042B0001092100108950F931F938B3109F475C06C
+:1042C000A0F58E3009F484C0C0F4873009F45BC0D7
+:1042D00068F4863009F0AAC08091D601817F8E7F74
+:1042E0008093D60181E08093E601A1C0883009F473
+:1042F00096C08B3009F493C099C0813109F472C023
+:1043000068F4803109F092C08091D60183FB2227A6
+:1043100020F991E0922790FB83F950C0863109F48F
+:104320007EC0893109F47BC081C0853309F479C02E
+:1043300068F4873209F475C028F48E3108F476C029
+:104340008D515AC0893209F46CC070C0833438F47E
+:104350008A3308F050C0883309F461C067C08334E1
+:1043600009F45FC0883409F061C00E9484140FEF23
+:1043700013ED20E3015010402040E1F700C00000A1
+:104380000E949A1C4CC09091D601892F8095817013
+:1043900080FB90F929F0966098609093D60147C011
+:1043A000997F977F9093D6013AC08091D60181FB87
+:1043B000222720F991E0922790FB81F98093D60182
+:1043C000992369F18091D60181608093D60127C03D
+:1043D0008091D60182FB222720F991E0922790FB61
+:1043E00082F9ECCF0E94841490910D0181E089271D
+:1043F00080930D0114C0895341E050E060E070E00B
+:104400008A019B0104C0000F111F221F331F8A95D0
+:10441000D2F7C901B8010E9444180E94841481E0B7
+:1044200006C061E070E080E090E0F5CF80E01F9191
+:104430000F91089580E0089580E00895CF93C82FEC
+:104440008091E601813079F018F08230E9F187C07F
+:10445000E0910E01F0910F018081813169F082328B
+:1044600009F07FC009C0E0910E01F0910F01808139
+:10447000813111F0823261F48C2F0E941A22811155
+:1044800004C08C2F0E945B211DC081E090E01AC007
+:104490008C2F0E941C22811114C0C43179F048F481
+:1044A000CB3079F0C03109F060C082E08093E60142
+:1044B00008C0C93219F0C83321F057C01092E60184
+:1044C00054C081E0817053C0C93289F118F5C431FC
+:1044D00071F1A8F4C73009F046C08AE08093150155
+:1044E00094E19093140193E090931301809312014F
+:1044F00088E08093110188E28093100134C0CE518E
+:10450000C63088F5EC2FF0E0E65DFE4F80818093A9
+:10451000E50129C0CE34E9F020F4CB3421F56AE07E
+:1045200013C0C13579F0C235F1F461E00DC080915E
+:10453000E501882319F01092E50115C081E0809310
+:10454000E60115C061E006C08091E5010E9495205A
+:104550000AC06AE08091E5010E940B2104C010921C
+:10456000E60180E004C081E002C080E0ABCFCF91E3
+:10457000089504D06894B1118DC0089570D088F06A
+:104580009F5790F0B92F9927B751A0F0D1F0660F3F
+:10459000771F881F991F1AF0BA95C9F712C0B1305A
+:1045A00081F077D0B1E0089574C0672F782F882705
+:1045B000B85F39F0B93FCCF3869577956795B39599
+:1045C000D9F73EF490958095709561957F4F8F4F08
+:1045D0009F4F0895E89409C097FB3EF4909580950D
+:1045E000709561957F4F8F4F9F4F9923A9F0F92FB9
+:1045F00096E9BB279395F695879577956795B79537
+:10460000F111F8CFFAF4BB0F11F460FF1BC06F5F1C
+:104610007F4F8F4F9F4F16C0882311F096E911C02E
+:10462000772321F09EE8872F762F05C0662371F04F
+:1046300096E8862F70E060E02AF09A95660F771F63
+:10464000881FDAF7880F9695879597F9089557FD93
+:104650009058440F551F59F05F3F71F04795880FF0
+:1046600097FB991F61F09F3F79F087950895121687
+:1046700013061406551FF2CF4695F1DF08C0161633
+:1046800017061806991FF1CF8695710561050894E4
+:104690000895E894BB2766277727CB0197F90895FB
+:1046A0000BD078C069D028F06ED018F0952309F0AF
+:1046B0005AC05FC01124EECFCADFA0F3959FD1F39B
+:1046C000950F50E0551F629FF001729FBB27F00DC0
+:1046D000B11D639FAA27F00DB11DAA1F649F662715
+:1046E000B00DA11D661F829F2227B00DA11D621F64
+:1046F000739FB00DA11D621F839FA00D611D221F1E
+:10470000749F3327A00D611D231F849F600D211D01
+:10471000822F762F6A2F11249F5750408AF0E1F0A4
+:1047200088234AF0EE0FFF1FBB1F661F771F881FED
+:1047300091505040A9F79E3F510570F014C0AACF88
+:104740005F3FECF3983EDCF3869577956795B795D8
+:10475000F795E7959F5FC1F7FE2B880F911D969502
+:10476000879597F9089597F99F6780E870E060E072
+:1047700008959FEF80EC089500240A9416161706FA
+:1047800018060906089500240A9412161306140642
+:1047900005060895092E0394000C11F4882352F0A5
+:1047A000BB0F40F4BF2B11F460FF04C06F5F7F4F5D
+:1047B0008F4F9F4F089597FB072E16F4009407D054
+:1047C00077FD09D00E94F52307FC05D03EF49095B3
+:1047D00081959F4F0895709561957F4F0895EE0FD5
+:1047E000FF1F0590F491E02D0994AA1BBB1B51E11A
+:1047F00007C0AA1FBB1FA617B70710F0A61BB70B51
+:10480000881F991F5A95A9F780959095BC01CD01F5
+:104810000895F999FECF92BD81BDF89A992780B588
+:104820000895A8E1B0E042E050E00C943124262F36
+:10483000F999FECF92BD81BDF89A019700B4021696
+:1048400039F01FBA20BD0FB6F894FA9AF99A0FBE44
+:1048500008950196272F0E9418240C941724DC0138
+:10486000CB01FC01F999FECF06C0F2BDE1BDF89A7B
+:10487000319600B40D9241505040B8F70895F89425
+:02488000FFCF68
+:10488200200272080009DD08A90875080101C301A8
+:1048920028080A03140A3F4D3639850438040204F5
+:1048A200C9035C0375038E03A70301020304050613
+:0448B20007080900EA
+:00000001FF