summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/keymap.c540
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.pngbin94771 -> 99031 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt14
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.pngbin108774 -> 119139 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt44
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.pngbin93001 -> 98257 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt40
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex2306
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/readme.md66
9 files changed, 1685 insertions, 1325 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
index 4dd6d883ca..3a999f2665 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
@@ -1,149 +1,421 @@
#include "ergodox_ez.h"
+#include "led.h"
#include "debug.h"
#include "action_layer.h"
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
+#define BASE 0 // default layer
+#define LOCK 1 // layer lock keys
+#define SYMB_MO 2 // symbols momentary layer
+#define SYMB_TG 3 // symbols lock layer
+#define SYMB_XX 4 // symbols exit layer
+#define MDIA_MO 5 // media momentary layer
+#define MDIA_TG 6 // media lock layer
+#define MDIA_XX 7 // media exit layer
+#define UNLOCK 8 // clear to base layer
/*
- * Ordinary Ergodox EZ keyboard layout, v2
+ * Ordinary Ergodox EZ keyboard layout, v3
* modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
* Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
*/
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 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | MDIA \ |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | 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 |
- * `----------------------------------' `----------------------------------'
- * ,---------------. ,---------------.
- * | Home | End | | Left | Right |
- * ,------|--------|------| |------+--------+------.
- * | | | PgUp | | Up | | |
- * |Backsp| Del |------| |------| Enter | Space|
- * | | | PgDn | | Down | | |;
- * `----------------------' `----------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | LOCK Grv | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol |
+ * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------|
+ * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Home | End | | Left | Right|
+ * ,------|------|------| |------+------+------.
+ * | | | PgUp | | Up | | |
+ * |Backsp| Del |------| |------| Enter| Space|
+ * | | | PgDn | | Down | | |
+ * `--------------------' `--------------------'
*/
-// 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_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,
+[BASE] = KEYMAP(
+// left hand
+ LT(LOCK, KC_GRV),KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
+,LT(MDIA_MO, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
+,MO(SYMB_MO) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
+,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
+,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
+
+ ,KC_HOME,KC_END
+ ,KC_PGUP
+ ,KC_BSPC,KC_DEL ,KC_PGDN
// right hand
- KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, 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,
- KC_DOWN, KC_ENT, KC_SPC
+ ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL)
+ ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_MO, KC_BSLS)
+ ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_MO, KC_QUOT)
+ ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT
+ ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
+
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_DOWN ,KC_ENT ,KC_SPC
),
-/* Keymap 1: Symbol Layer
+
+/* Keymap 1: Layer Lock Keys
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | MDIA | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
- * |--------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | CAPS |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | 0 | . | = | + | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Left | Right| | Home | End |
- * ,------|------|------| |------+------+------.
- * | | | Up | | PgUp | | |
- * |Space |Enter |------| |------|BackSp| Del |
- * | | | Down | | PgDn | | |
- * `--------------------' `--------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media LOCK| | | | | | | | | | | | | | Media LOCK|
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * |Symbol LOCK| | | | | |------| |------| | | | | |Symbol LOCK|
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK| | | | | | | | | | | | | | Caps LOCK|
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
*/
-// SYMBOLS
-[SYMB] = KEYMAP(
- // left hand
- 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,
- 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
+[LOCK] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ),
+
+/* Keymap 2: Symbol Momentary Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol |
+ * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
+ * | Shift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | Shift |
+ * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
+ * | | | | | | | 0 | . | = | + | Entr |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Left | Right| | Home | End |
+ * ,------|------|------| |------+------+------.
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+[SYMB_MO] = KEYMAP(
+// left hand
+ KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
+,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,MO(SYMB_MO) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
+,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_SPC ,KC_ENT ,KC_DOWN
+ // right hand
+ ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2
+ ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO)
+ ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_MO)
+ ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
+ ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+ ,KC_HOME ,KC_END
+ ,KC_PGUP
+ ,KC_PGDN ,KC_BSPC ,KC_DEL
),
-/* Keymap 2: Media and mouse keys
+
+/* Keymap 3: Symbol Lock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | Lock | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | Lock |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
+ * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
+ * | Shift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | Shift |
+ * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
+ * | | | | | | | 0 | . | = | + | Entr |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Left | Right| | Home | End |
+ * ,------|------|------| |------+------+------.
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+[SYMB_TG] = KEYMAP( // layer 3 : return key for symbol lock layer
+// left hand
+ MO(SYMB_XX) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
+,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
+,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_SPC ,KC_ENT ,KC_DOWN
+ // right hand
+ ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_XX)
+ ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO)
+ ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK)
+ ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
+ ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+ ,KC_HOME ,KC_END
+ ,KC_PGUP
+ ,KC_PGDN ,KC_BSPC ,KC_DEL
+ ),
+
+/* Keymap 4: Symbol Unlock Layer
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc |ShutDn| Sleep| Mute |Vol Dn|Vol Up| | | | |PrtSc | PgUp |MyComp| Mail | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| |ScrlUp| Up | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| Home | Left | Down | Right| End | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| |ScrlDn| Down | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | | | PgDn | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Stop |Refrsh| | Prev | Next |
- * ,------|------|------| |------+------+------.
- * |Brwser|Brwser|Search| |VolUp | | |
- * |Back | Fwd |------| |------| Stop | Play-|
- * | | | Home | |VolDn | | Pause|
- * `--------------------' `--------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Unlock | | | | | | | | | | | | | | Unlock |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | |------| |------| | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
*/
-// MEDIA AND MOUSE
-[MDIA] = KEYMAP(
- 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_WSCH,
- KC_WBAK, KC_TRNS, KC_WHOM,
+[SYMB_XX] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,TG(MDIA_TG) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_TG)
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ),
+
+/* Keymap 5: Media Momentary Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | |ShutDn| | MsUp | | |ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | Sleep|MsLeft|MsDown|MsRght| |------| |------|NumLok| Left | Down | Right|MyComp| |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | |MsDown| | |ScrlDn| |ScrlDn| | End | Down | PgDn | | |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | Mute |Vol Dn|Vol Up| Lclk | Rclk | |Insert|Delete| | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
+ */
+[MDIA_MO] = KEYMAP(
+// left hand
+ KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS
+,MO(MDIA_MO) ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
+,MO(SYMB_MO) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
+,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
+,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
+ ,KC_WSTP ,KC_WREF
+ ,KC_WSCH
+ ,KC_WBAK ,KC_TRNS ,KC_WHOM
// right hand
- 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
+ ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3
+ ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_MO)
+ ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_MO)
+ ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
+ ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_MPRV ,KC_MNXT
+ ,KC_VOLU
+ ,KC_VOLD ,KC_MSTP ,KC_MPLY
),
+
+/* Keymap 6: Media Lock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | |ShutDn| | MsUp | | |ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | Sleep|MsLeft|MsDown|MsRght| |------| |------|NumLok| Left | Down | Right|MyComp| |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | |MsDown| | |ScrlDn| |ScrlDn| | End | Down | PgDn | | |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | Mute |Vol Dn|Vol Up| Lclk | Rclk | |Insert|Delete| | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
+ */
+[MDIA_TG] = KEYMAP(
+// left hand
+ MO(MDIA_XX) ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS
+,MO(UNLOCK) ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
+,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
+,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
+,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
+ ,KC_WSTP ,KC_WREF
+ ,KC_WSCH
+ ,KC_WBAK ,KC_TRNS ,KC_WHOM
+ // right hand
+ ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_XX)
+ ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK)
+ ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
+ ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
+ ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_MPRV ,KC_MNXT
+ ,KC_VOLU
+ ,KC_VOLD ,KC_MSTP ,KC_MPLY
+ ),
+
+/* Keymap 7: Media Unlock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Unlock | | | | | | | | | | | | | | Unlock |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | |------| |------| | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[MDIA_XX] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ),
+
+/* Keymap 8: Unlock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | Unlock | | | | | | | | | | | | | | Unlock |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | | | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | |------| |------| | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | | | | | | | | | | |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[UNLOCK] = KEYMAP(
+// left hand
+ KC_FN1 ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ )
};
const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+ [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer
+ ,[2] = ACTION_LAYER_INVERT(SYMB_TG, ON_PRESS) // FN2 - toggle to Symbols on press
+ ,[3] = ACTION_LAYER_INVERT(MDIA_TG, ON_PRESS) // FN3 - toggle to Media on press
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -168,25 +440,31 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
+ uint8_t layer = biton32(layer_state);
- uint8_t layer = biton32(layer_state);
+ // do not change lights for locking and unlocking
+ if(layer == UNLOCK || layer == LOCK || layer == SYMB_XX || layer == MDIA_XX) {
+ return;
+ }
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;
+
+ // caps lock turns on red light
+ if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
+ ergodox_right_led_1_on();
}
+ // symbol lock turns on green light
+ if(layer == SYMB_MO || layer == SYMB_TG) {
+ ergodox_right_led_2_on();
+ }
+
+ // media lock turns on blue light
+ if(layer == MDIA_MO || layer == MDIA_TG) {
+ ergodox_right_led_3_on();
+ }
};
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
index d5d00f2403..69af8df4e1 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
index 046b75786a..04792f2dfc 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
@@ -1,24 +1,24 @@
[{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",{w:1.5},"+\n\n\n\n\n\n="],
-[{y:-0.375,x:3.5},"E",{x:10.5},"I"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n~\n\n\n\nLock\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nShift\n\n\n\n=\nLock"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"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.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
[{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.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],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",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"],
+[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5,f:3},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"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"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"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"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
index 89d15e4506..9c0e8bba39 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
index 4237f08201..c7bd272eca 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
@@ -1,27 +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"],
+[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
+[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
+[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
-[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#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"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#e6e067",a:4},"Num\n\n\n\n\n\nLock"],
+[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5},""],
+[{y:-0.875,c:"#2277ff",a:4,fa:[0,1,0,0,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063"},"Delete"],
+[{y:-0.875,x:2.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{x:1,c:"#ff8500"},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.75,x:0.5,c:"#e6e067",a:4},"Mute","Vol\n\n\n\n\n\nDown",{x:14.5,c:"#cccccc",a:7},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#cfc82b",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{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"]
+[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#cfc82b",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
index 7522af3330..2538fbeb30 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
index dda15f71be..098a08d2f1 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
@@ -1,24 +1,24 @@
-[{x:3.5,c:"#a3a3a3"},"F3",{x:10.5},"F8"],
+[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
-[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#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"],
+[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F6"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#c4e0bf"},"{",{x:10.5,c:"#89b087"},"8"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#c4e0bf"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#c4e0bf"},"(",{x:10.5,c:"#89b087"},"5"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"`",{x:6.5},"/"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#c4e0bf",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
+[{y:-0.75,x:3.5,c:"#c4e0bf"},"[",{x:10.5,c:"#89b087"},"2"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"~",{x:6.5},"\\"],
+[{y:-0.875,c:"#2277ff",f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#c4e0bf"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#89b087",a:4},"."],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#89b087",a:4},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#89b087",a:4},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
[{h:2},"Space",{h:2},"Enter","Up"],
[{x:2},"Down"],
[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
index 1a08598465..b726e5e92a 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
@@ -1,1119 +1,1189 @@
-:100000000C9465020C94A9020C94A9020C94A90208
-:100010000C94A9020C94A9020C94A9020C94A902B4
-:100020000C94A9020C94A9020C94B00B0C94820CB1
-:100030000C94A9020C94A9020C94A9020C94A90294
-:100040000C94A9020C940B210C94A9020C94A90203
-:100050000C94A9020C94AD1A0C94A9020C94A90258
-:100060000C94A9020C94A9020C94A9020C94A90264
-:100070000C94A9020C94A9020C94A9020C94A90254
-:100080000C94A9020C94A9020C94A9020C94A90244
-:100090000C94A9020C94A9020C94A9020C94A90234
-:1000A0000C94A9020C94A9020C94A902E70C090D66
-:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1
-:1000C000C310C310F110F11033116F116F136F13C0
-:1000D00087116F137E127E1249136F136F135D1316
-:1000E0000000F0A135002B000152E100E00000000B
-:1000F0001E00140004001D7100774E001F001A003E
-:1001000016001B00007F4C002000080007000600BE
-:10011000E2002A002100150009001900E3004B004D
-:10012000220017000A00050000004A0029002F00E5
-:1001300000002B0200004D002D00300000002B00BD
-:100140000000500023001C000B00110000004F00B5
-:10015000240018000D001000E700520025000C00DC
-:100160000E003600E6002C00260012000F003700BB
-:10017000007F2800270013003300387100775100FA
-:100180002E0031823481E500E40000002900025293
-:1001900001000100010000003A001E0220022202BC
-:1001A000010051003B001F02210223020100280030
-:1001B0003C002F0226022F0001002C003D003002DF
-:1001C00027023000010052003E00240235003502B3
-:1001D000000050000100360200002B0000004F001C
-:1001E0000100370200002B0200004A003F003102EC
-:1001F0003800310000004D0040005F005C005900F5
-:1002000062004B00410060005D005A0037004C0066
-:10021000420061005E005B0067002A00430054005A
-:100220005500560057004E004400450001003900BB
-:1002300058000000290002520100010001000000E6
-:10024000A5000100010001000100B500A6000100A9
-:10025000F200010001000100A800F000F100F1002F
-:10026000F400B600AA00F900F3000100FA00B4009F
-:10027000A9000100010001000000B8000100F90020
-:100280000000FA000000B9000100F9000000FA00C7
-:100290000000AC00010001004A0001000000AB00BA
-:1002A0004600F9005000FA000100A9004B0052007E
-:1002B000510051004E00AE00B30001004F0001009C
-:1002C0000100AD00B10001004D0001000100AA00D5
-:1002D00001000100010001000100000016034500BB
-:1002E000720067006F0044006F0078002000450036
-:1002F0005A00000016034500720067006F004400BA
-:100300006F007800200045005A0000000403090433
-:1003100009026D00040100A0FA09040000010301B4
-:100320000100092111010001223F00070581030896
-:10033000000A090401000103010200092111010062
-:1003400001224D000705820308000A09040200018A
-:100350000300000009211101000122360007058376
-:100360000308000A09040300010300000009211129
-:100370000100012239000705840310000112011059
-:100380000100000008EDFE07130100010200010555
-:10039000010906A101050719E029E71500250195C6
-:1003A0000875018102050819012905950575019156
-:1003B000029501750391010507190029771500259C
-:1003C00001957875018102C005010980A1018502AE
-:1003D00016010026B7001A01002AB7007510950112
-:1003E0008100C0050C0901A1018503160100269CAE
-:1003F000021A01002A9C02751095018100C00501B6
-:100400000902A1010901A100050919012905150029
-:10041000250195057501810295017503810105018D
-:10042000093009311581257F950275088106093843
-:100430001581257F950175088106050C0A3802157E
-:1004400081257F950175088106C0C005010906A1B7
-:1004500001050719E029E7150025019508750181B7
-:100460000295017508810105081901290595057591
-:100470000191029501750391010507190029FF15E6
-:100480000025FF950675088100C0000000000000EF
-:100490000000000000010204060A0F17202C3A4A4F
-:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
-:1004B000B39D87715D4A3A2C20170F0A060402018A
-:1004C0000000000000000000000011241FBECFEF5C
-:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A
-:1004E0009091EF01A091F001B091F1018730904B14
-:1004F000A740B04BB9F41092EE011092EF011092A8
-:10050000F0011092F10114BE84B7877F84BF88E1A7
-:100510000FB6F89480936000109260000FBEE0E088
-:10052000FFE3099511E0A0E0B1E0EAE9F5E402C0DB
-:1005300005900D92A433B107D9F721E0A4E3B1E00F
-:1005400001C01D92AE3EB207E1F70E94F6080C947E
-:10055000CB220C94000061110BC0FC018281882326
-:1005600021F085EE0E94570F03C085EE0E941F10F8
-:1005700080E090E0089508956091B1017091B2011A
-:100580008091B3019091B4010E94D91956985E9858
-:1005900025982D9826982E9827982F98813019F015
-:1005A000823021F00895259A2D9A0895269A2E9A40
-:1005B00008950C94BC0256985E9825982D9826981C
-:1005C0002E9827982F988FEF90E090938900809332
-:1005D000880090938B0080938A0090938D00809385
-:1005E0008C00259A2D9A2FEF80E792E021508040D1
-:1005F0009040E1F700C00000269A2E9A2FEF80E786
-:1006000092E0215080409040E1F700C00000279A1E
-:100610002F9A2FEF80E792E0215080409040E1F741
-:1006200000C0000025982D982FEF80E792E0215020
-:1006300080409040E1F700C0000026982E982FEFF0
-:1006400080E792E0215080409040E1F700C0000038
-:1006500027982F9856985E9825982D9826982E982A
-:1006600027982F98089589EA8093800089E08093E5
-:10067000810024982C983F988AB18F748AB96E981B
-:10068000479A8BB1806B8BB9769A0E94DB020C94EF
-:10069000BB0280E2809300018091340181110EC081
-:1006A0000E94980381E0809334012FEF83ED90E363
-:1006B000215080409040E1F700C0000080E40E949B
-:1006C0009E038093000181112EC00E94C803809375
-:1006D0000001811128C00E94C8038093000181118C
-:1006E00022C08FE30E94C8038093000181111BC0C8
-:1006F0000E94C00380E40E949E0380930001811148
-:1007000012C08CE00E94C8038093000181110BC0CD
-:100710000E94C80380930001811105C08FE30E94ED
-:10072000C803809300010E94C003809100010895D6
-:100730001092B9008AE08093B800089594EA9093EB
-:10074000BC009091BC0097FFFCCF9091B900987FBE
-:10075000983021F0903111F081E008958093BB0032
-:1007600084E88093BC008091BC0087FFFCCF80911F
-:10077000B900887F883111F0803471F780E00895E6
-:1007800084E98093BC008091BC0084FDFCCF089577
-:100790008093BB0084E88093BC008091BC0087FFFD
-:1007A000FCCF9091B900987F81E0983209F480E005
-:1007B000089584E88093BC008091BC0087FFFCCF43
-:1007C0008091BB00089580910001811115C080E4E3
-:1007D0000E949E038093000181110CC082E10E945F
-:1007E000C80380930001811105C08FEF0E94C803E8
-:1007F000809300010E94C00384B1807F84B985B1D9
-:10080000807F85B98AB1837F8AB98BB1837F8BB9A9
-:100810003E98469808950E944903809300010E94E3
-:10082000E30380B38C7080BB81B3836F81BBE4E44E
-:10083000F1E0A6E3B1E011921D9281E0E235F80704
-:10084000D1F70C943303BF92CF92DF92EF92FF92D5
-:100850000F931F93CF93DF9380910001882379F04A
-:10086000809135018F5F80933501811108C00E940E
-:10087000490380930001811102C00E94DB0206E35C
-:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455
-:10089000E394F12CC73000F580910001811162C012
-:1008A00080E40E949E0380930001811112C082E1C6
-:1008B0000E94C8038093000181110BC0C7010C2E58
-:1008C00001C0880F0A94EAF780950E94C8038093BC
-:1008D00000010E94C00346C0CA30A1F028F4C8300D
-:1008E00059F0C93061F005C0CC3089F070F0CD30DE
-:1008F00089F0209A289810C0219A29980DC0229A30
-:100900002A980AC0239A2B9807C0529A01C0539A7A
-:100910005B9802C03E9A4698E0EAEA95F1F78FB1FB
-:1009200079995AC092E081708D25892B7C9B02C0F9
-:1009300090E001C094E0892B7D9B02C090E001C053
-:1009400098E0892B7E9B02C090E001C090E1892B4A
-:100950009FB19095991F9927991F9295990F907E15
-:10096000892B0FC08091000181114BC080E40E944F
-:100970009E0380930001882389F1B12C0E94C0035B
-:100980008B2DF8019081981719F08083C092010196
-:100990000E94E30321960F5F1F4FCE30D10509F06F
-:1009A00079CF80910101882371F1815080930101F9
-:1009B000882339F08FE99FE00197F1F700C000002C
-:1009C00022C0A4E4B1E0E6E3F1E081918D9391E0EF
-:1009D000E434F907D1F717C090E0A5CF83E10E9476
-:1009E000C803809300018111C8CF81E40E949E0357
-:1009F000809300018111C1CF0E94D903B82EB09419
-:100A0000BDCF80E0BECF0E94D90281E0DF91CF91BF
-:100A10001F910F91FF90EF90DF90CF90BF900895BE
-:100A2000E82FF0E0EC5BFE4F8081089508958B3B4A
-:100A3000910578F4883A910540F5853A9105D0F40E
-:100A40008430910508F0B1C08130910509F4ADC042
-:100A50006BC0803E910508F467C0883E910508F49C
-:100A6000A4C09C01205F31092031310508F05CC031
-:100A700090650895853A910509F459C0863A910523
-:100A800009F458C083E890E40895883A910509F480
-:100A900054C0893A910509F453C08A3A910509F482
-:100AA00052C08B3A910509F451C08C3A910509F472
-:100AB00050C08D3A910509F44FC0803B910509F46F
-:100AC0004EC08E3A910509F44DC08F3A910509F454
-:100AD0004CC0813B910509F44BC0823B910509F460
-:100AE0004AC0833B910509F449C0843B910509F450
-:100AF00048C0853B910509F447C0863B910509F440
-:100B000046C0873B910509F445C0883B910509F42F
-:100B100044C0893B910509F443C08A3B910509F023
-:100B200042C08AE296E4089580E090E0089581E86A
-:100B300090E4089582E890E4089582EE94E40895A4
-:100B400089EE94E408958AEE94E4089585EB94E4A4
-:100B5000089586EB94E4089587EB94E408958CEC73
-:100B600094E408958DEC94E4089583E895E4089561
-:100B70008AE895E4089582E995E4089584E995E486
-:100B8000089581E296E4089583E296E4089584E26C
-:100B900096E4089585E296E4089586E296E4089541
-:100BA00087E296E4089580E094E40895089596E03D
-:100BB000799FF001112494E5899FE00DF11D112426
-:100BC000E60FF11DEE0FFF1FEC51FF4F8591949141
-:100BD0000895880F991F805A9040FC018591949147
-:100BE0000895880F991F80529F4FFC018591949121
-:100BF000089526E0729FF001112444E5849FE00DE2
-:100C0000F11D1124E60FF11DEE0FFF1FEC51FF4FF8
-:100C100025913491C9019A9581159F4110F4C9011C
-:100C20000895C90190528115904128F4C9019F701F
-:100C30000E94F1050895C90190538115904120F457
-:100C4000C9019927906C0895211580E5380769F44A
-:100C50000E9490139FEF24E34CE0915020404040CD
-:100C6000E1F700C000000C94D21A213080E538076B
-:100C700031F48091CC0181608093CC010895C90149
-:100C800090558115904108F050C0832F99278F709F
-:100C9000992781309105D9F4A9014370552702C0E5
-:100CA000880F991F4A95E2F79C68A90164E0440FF8
-:100CB000551F6A95E1F744275370842B952B73E0F9
-:100CC000220F331F7A95E1F7207633271DC082303B
-:100CD000910529F4922F8827816F906A08958330B7
-:100CE0009105A9F4A9014370552781E090E002C065
-:100CF000880F991F4A95E2F79C6843E0220F331F43
-:100D00004A95E1F7207E3770822B932B0895049744
-:100D1000F1F4A9014370552781E090E002C0880FEB
-:100D2000991F4A95E2F79A68E8CFC9019057811553
-:100D3000904120F4C9019F7090620895C9019058B4
-:100D40008115904120F4C9019F70906A0895203E5A
-:100D50003105E0F4203C310558F52133310509F423
-:100D600070C048F42932310509F464C02A323105D3
-:100D700009F46EC074C029333105F1F02238310511
-:100D8000D9F02533310509F44EC069C0233E310541
-:100D900089F138F4203E3105C1F0223E3105E1F001
-:100DA0005EC0263E310569F1273E3105A9F157C0E5
-:100DB000C9010E94E90508958091DF0180FD02C00C
-:100DC00081FF4DC080EE90E04BC08091DF0180FF3D
-:100DD000F9CF89E390E044C08091DF0182FF0EC02B
-:100DE0008091DF0184FF03C080E090E039C083EE92
-:100DF00090E036C08091DF0182FFF2CF82EE90E07A
-:100E00002FC08091DF0183FF0BC08091DF0184FD43
-:100E1000EBCF87EE90E024C08091DF0183FFF5CF18
-:100E200086EE90E01DC08091DF0185FF07C089E25A
-:100E300090E016C08091DF0185FFF9CF85E390E057
-:100E40000FC08091DF0186FF07C08AE290E008C0F2
-:100E50008091DF0186FFF9CF81E390E001C0C901F5
-:100E60000E941705089508950C943307809162013C
-:100E70000895CF93DF9300D01F92CDB7DEB72091B6
-:100E8000E501243019F523E029839B838A8320938D
-:100E9000E9008FEF9091E800815095FD06C095ED37
-:100EA0009A95F1F700008111F5CF8091E80085FF58
-:100EB0000DC040E050E063E070E0CE0101960E947A
-:100EC000A3098091E8008E778093E8000F900F903F
-:100ED0000F90DF91CF910895CF93DF9300D01F92B1
-:100EE000CDB7DEB72091E501243021F522E029833A
-:100EF0009B838A8383E08093E9008FEF9091E800E1
-:100F0000815095FD06C095ED9A95F1F7000081118D
-:100F1000F5CF8091E80085FF0DC040E050E063E030
-:100F200070E0CE0101960E94A3098091E8008E77BF
-:100F30008093E8000F900F900F90DF91CF9108956C
-:100F40002091E5012430F1F422E02093E9002FEF15
-:100F50003091E800215035FD06C035ED3A95F1F7A6
-:100F600000002111F5CF2091E80025FF0BC040E0E3
-:100F700050E065E070E00E94A3098091E8008E7760
-:100F80008093E8000895CF93DF93EC018091E50111
-:100F9000843009F046C090910C019923D9F09091CA
-:100FA0000D019923B9F08093E9008FEF9091E8004B
-:100FB000815095FD06C095E19A95F1F700008111E9
-:100FC000F5CF8091E80085FF2CC040E050E060E163
-:100FD00070E017C081E08093E9008FEF9091E80006
-:100FE000815095FD06C095ED9A95F1F700008111AD
-:100FF000F5CF8091E80085FF14C040E050E068E044
-:1010000070E0CE010E94A3098091E8008E77809362
-:10101000E80080E1FE01A2E5B1E001900D928A9521
-:10102000E1F7DF91CF9108958091E401811109C02A
-:101030000E94350B0E94920B8091E20084608093A5
-:10104000E20008951092E401089508950C94F820A8
-:101050000E94691A0E94FE200E942F0E0C943407F1
-:1010600042E061EC81E00E94AF0A42E061EC82E084
-:101070000E94AF0A42E061EC83E00E94AF0A42E1C5
-:1010800061EC84E00C94AF0A8091E701833009F4AD
-:1010900055C030F4813071F0823009F48EC008956B
-:1010A0008A3009F47AC08B3009F460C0893009F0C5
-:1010B0009CC020C08091E601813A09F096C08091E1
-:1010C000E800877F8093E8008091EA019091EB012E
-:1010D000892B21F060E080E090E003C060E182E5D0
-:1010E00091E070E00E94EC098091E8008B7780939A
-:1010F000E80008958091E601813209F076C0809180
-:10110000EA019091EB01009719F0039709F06DC087
-:101110008091E800877F8093E8008091E80082FD5D
-:1011200005C08091E5018111F8CF5FC08091F10089
-:10113000809362018091E8008B7753C08091E60133
-:10114000813A09F052C08091EA019091EB01892B1C
-:1011500009F04BC08091E800877F8093E800809180
-:10116000E80080FFFCCF80910C0136C08091E60141
-:101170008132D9F58091EA019091EB01892BA9F593
-:101180008091E800877F8093E8000E94E40A8091C4
-:10119000E80180930C010C9490138091E601813258
-:1011A00021F58091E800877F8093E8000E94E40A9F
-:1011B0008091E9018093630108958091E601813A6D
-:1011C000A1F48091E800877F8093E8008091E80097
-:1011D00080FFFCCF809163018093F1008091E80053
-:1011E0008E778093E8000C94E40A089584B7877F93
-:1011F00084BF88E10FB6F89480936000109260007D
-:101200000FBE90E080E80FB6F89480936100909351
-:1012100061000FBE0E947E0E0E94350B0E94920B51
-:101220008091E20084608093E20078940E940D0E29
-:101230000E94800E82E091E00E942A0E0E94E62029
-:101240008091E501853069F40E942C1A8091E301B8
-:101250008823B1F30E94541A882391F30E948D09C8
-:10126000EFCF0E94860EECCF292F33272330310594
-:10127000A9F06CF42130310509F442C02230310567
-:1012800009F043C08DE690E020E133E042C0213216
-:101290003105C9F02232310519F137C09927813063
-:1012A000910541F08230910541F0892B71F5ECE018
-:1012B000F3E005C0E4EFF2E002C0ECEDF2E084916F
-:1012C00090E09F0126C0643000F5E62FF0E0EE0FBD
-:1012D000FF1FEE5DFE4F2081318189E090E019C053
-:1012E000643098F4E62FF0E0DF01AA0FBB1FA65E82
-:1012F000BE4F2D913C91EA5EFE4F808190E009C087
-:1013000082E190E02DE733E004C080E090E020E04F
-:1013100030E0FA0131832083089580E189BD82E1C4
-:1013200089BD09B400FEFDCF8091D8008F7D8093E8
-:10133000D8008091E00082608093E0008091E0001E
-:1013400081FDFCCF0895CF92DF92EF92FF920F9331
-:101350001F93CF93DF937C018B01EA010E94050B61
-:10136000811131C0209731F088819981081B190BB8
-:10137000E80EF91EC12CD12C0115110519F180912F
-:10138000E80085FD14C08091E8008E778093E80026
-:10139000209741F0888199818C0D9D1D99838883C8
-:1013A00085E011C00E94050B882331F30CC0F701C2
-:1013B00081917F018093F10001501109FFEFCF1A55
-:1013C000DF0ADACF80E0DF91CF911F910F91FF907C
-:1013D000EF90DF90CF9008952091EC013091ED01D6
-:1013E0002617370748F06115710539F42091E80098
-:1013F0002E772093E80001C0B901FC0120E06115BF
-:101400007105B9F18091E501882309F440C0853068
-:1014100009F43FC08091E80083FD3DC08091E80061
-:1014200082FF06C08091E80082FF26C080E0089518
-:101430008091E80080FFE3CF2091F3008091F200DB
-:1014400090E0922B6115710551F08830910538F4C8
-:1014500021912093F100615071090196F3CF21E0B1
-:10146000089709F020E08091E8008E778093E800EB
-:10147000C6CF2111C7CFD6CF8091E501882339F09F
-:10148000853039F08091E80083FFCCCF04C082E042
-:10149000089583E0089581E008952091EC01309152
-:1014A000ED012617370748F06115710539F42091D1
-:1014B000E8002E772093E80001C0B901FC0120E08C
-:1014C00061157105C1F18091E501882309F441C0DE
-:1014D000853009F440C08091E80083FD3EC08091D2
-:1014E000E80082FF06C08091E80082FF27C080E00C
-:1014F00008958091E80080FFE3CF2091F300809170
-:10150000F20090E0922B6115710559F08830910539
-:1015100040F424912093F1003196615071090196B5
-:10152000F2CF21E0089709F020E08091E8008E7763
-:101530008093E800C5CF2111C6CFD5CF8091E501BA
-:10154000882339F0853039F08091E80083FFCBCFD4
-:1015500004C082E0089583E0089581E00895982F03
-:10156000973058F59093E900981739F07091EC0096
-:101570002091ED005091F00003C0242F762F50E011
-:1015800021FF19C03091EB003E7F3093EB0030918A
-:10159000ED003D7F3093ED003091EB0031603093F2
-:1015A000EB007093EC002093ED005093F00020913D
-:1015B000EE0027FF07C09F5FD3CF8F708093E900B5
-:1015C00081E0089580E008958091E60187FD05C0DF
-:1015D0008091E80080FF0EC012C08091E80082FD7B
-:1015E00005C08091E5018111F8CF08958091E80050
-:1015F0008B7708C08091E5018111EACF0895809131
-:10160000E8008E778093E80008958091E40090913F
-:10161000E50045E62091EC0020FF21C02091E80084
-:1016200020FD21C02091E501222389F0253089F099
-:101630002091EB0025FD0FC02091E4003091E500E2
-:101640002817390739F3415041F0C901E3CF82E04F
-:10165000089583E0089581E0089584E0089520913D
-:10166000E80022FFDFCF80E008950E94A30B0E94D4
-:10167000AB0BE0EEF0E0808181608083E8EDF0E08C
-:1016800080818F77808319BCA7EDB0E08C918E7F2D
-:101690008C9380818F7E80831092E40108950F9354
-:1016A0001F93CF93DF930E94A30B0E94AB0BC8ED57
-:1016B000D0E088818F77888388818068888388815B
-:1016C0008F7D888319BC1092E5011092E101109280
-:1016D000E3011092E20100EE10E0F80180818B7FBF
-:1016E000808388818160888342E060E080E00E949E
-:1016F000AF0AE1EEF0E080818E7F8083E2EEF0E0E1
-:10170000808181608083808188608083F80180810E
-:101710008E7F8083888180618883DF91CF911F9144
-:101720000F910895E8EDF0E080818F7E8083E7EDF2
-:10173000F0E080818160808384E082BF81E08093DB
-:10174000E4010C944F0BE8EDF0E080818E7F808304
-:101750001092E20008951092DA001092E1000895CC
-:101760001F920F920FB60F9211242F933F934F9316
-:101770005F936F937F938F939F93AF93BF93EF93F9
-:10178000FF938091E10082FF0BC08091E20082FF15
-:1017900007C08091E1008B7F8093E1000E940C0ED6
-:1017A0008091DA0080FF1FC08091D80080FF1BC0AD
-:1017B0008091DA008E7F8093DA008091D90080FFDB
-:1017C0000DC080E189BD82E189BD09B400FEFDCF75
-:1017D00081E08093E5010E94140805C019BC1092B5
-:1017E000E5010E9422088091E10080FF19C08091EC
-:1017F000E20080FF15C08091E2008E7F8093E200BE
-:101800008091E20080618093E2008091D800806244
-:101810008093D80019BC85E08093E5010E942608DA
-:101820008091E10084FF30C08091E20084FF2CC0F1
-:1018300080E189BD82E189BD09B400FEFDCF8091C0
-:10184000D8008F7D8093D8008091E1008F7E8093B7
-:10185000E1008091E2008F7E8093E2008091E200BF
-:1018600081608093E2008091E101882311F084E09F
-:1018700007C08091E30087FF02C083E001C081E0E0
-:101880008093E5010E9428088091E10083FF29C030
-:101890008091E20083FF25C08091E100877F8093E3
-:1018A000E10082E08093E5011092E1018091E10086
-:1018B0008E7F8093E1008091E2008E7F8093E20032
-:1018C0008091E20080618093E20042E060E080E08D
-:1018D0000E94AF0A8091F00088608093F0000E941F
-:1018E0002508FF91EF91BF91AF919F918F917F91CB
-:1018F0006F915F914F913F912F910F900FBE0F907D
-:101900001F9018951F920F920FB60F9211242F93CC
-:101910003F934F935F936F937F938F939F93AF9377
-:10192000BF93CF93EF93FF93C091E900CF70809165
-:10193000EC001092E9008091F000877F8093F00026
-:1019400078940E94BE0C1092E9008091F0008860AB
-:101950008093F000C093E900FF91EF91CF91BF9188
-:10196000AF919F918F917F916F915F914F913F9137
-:101970002F910F900FBE0F901F9018951F93CF932C
-:10198000DF93CDB7DEB7AA970FB6F894DEBF0FBED0
-:10199000CDBFE6EEF1E08091F100819321E0EE3ED3
-:1019A000F207C9F70E9444088091E80083FF1CC138
-:1019B0002091E6013091E701832F90E08A30910574
-:1019C00008F012C1FC01EA5AFF4F0C948022203823
-:1019D00081F0223809F008C18091EA018F7080936C
-:1019E000E9008091EB0085FB882780F91092E900DF
-:1019F00006C08091E2019091E30191118260909183
-:101A0000E800977F9093E8008093F1001092F10036
-:101A1000C5C0822F8D7F09F0E7C0222319F0223044
-:101A200061F0E2C08091E801813009F0DDC033301F
-:101A300009F080E08093E30128C08091E8018111E2
-:101A400024C02091EA012F7009F4CEC02093E90050
-:101A50008091EB0080FF19C08091EB00333011F4CE
-:101A6000806211C080618093EB0081E090E0022EE3
-:101A700001C0880F0A94EAF78093EA001092EA0006
-:101A80008091EB0088608093EB001092E9008091D8
-:101A9000E800877F86C02111A7C01091E8011F7759
-:101AA0008091E3008078812B8093E3008091E800AF
-:101AB000877F8093E8000E94E40A8091E80080FF1D
-:101AC000FCCF8091E30080688093E300112311F044
-:101AD00083E001C082E08093E50186C02058223077
-:101AE00008F082C08091E8019091E9018C3D23E0EB
-:101AF000920779F583E08A838AE289834FB7F89465
-:101B0000DE01139620E03EE051E2E32FF0E0509337
-:101B10005700E49120FF03C0E295EF703F5FEF7044
-:101B20008E2F90E0EA3010F0C79601C0C0968D93DA
-:101B30009D932F5F243149F74FBF8091E800877F45
-:101B40008093E8006AE270E0CE0101960E94EC0901
-:101B500014C0AE014F5F5F4F6091EA010E943409EB
-:101B6000009709F441C02091E800277F2093E80006
-:101B7000BC0189819A810E944D0A8091E8008B778F
-:101B80008093E80031C0203879F58091E800877FA4
-:101B90008093E8008091E1018093F1008091E8005A
-:101BA0008E778093E8000E94E40A1EC021111CC0B9
-:101BB0009091E8019230C0F48091E800877F809393
-:101BC000E8009093E1010E94E40A8091E101811113
-:101BD00004C08091E30087FF02C084E001C081E07F
-:101BE0008093E5010E9430088091E80083FF0AC0DD
-:101BF0008091E800877F8093E8008091EB0080620D
-:101C00008093EB00AA960FB6F894DEBF0FBECDBF4F
-:101C1000DF91CF911F9108950895CF938091E501B1
-:101C20008823B1F08091E9008F709091EC0090FFD3
-:101C300002C090E801C090E0C92FC82B1092E900C3
-:101C40008091E80083FD0E94BE0CCF70C093E90034
-:101C5000CF91089590936901809368010895E09170
-:101C60006801F0916901309721F00190F081E02D39
-:101C7000099480E00895E0916801F091690130973E
-:101C800021F00280F381E02D09940895E09168012C
-:101C9000F0916901309721F00480F581E02D0994DD
-:101CA000089520916601309167018217930771F0C2
-:101CB0009093670180936601E0916801F09169015A
-:101CC000309721F00680F781E02D09940895209146
-:101CD0006401309165018217930771F0909365015B
-:101CE00080936401E0916801F0916901309721F0DF
-:101CF0000084F185E02D0994089508950C947D0EDB
-:101D00000E946F1A0E940B040C94351BCF92DF9235
-:101D1000EF92FF920F931F93CF93DF93CDB7DEB770
-:101D20002B970FB6F894DEBF0FBECDBF0E942304E1
-:101D30003BE6E32E31E0F32E00E010E0C02E802FD2
-:101D40000E941005F701D1907F01D826B1F40F5FF2
-:101D50001F4F0E30110591F78FEF89838A831B8205
-:101D60000E94781A8160782F9D838C8349815A81E3
-:101D70006B818D810E94290F41C09091CC0191FF10
-:101D800004C08B870E9416058B8520E030E04D2D26
-:101D900050E0922FBA01022E02C0759567950A9401
-:101DA000E2F760FF25C02E83CF82EE24E394F12C6E
-:101DB00002C0EE0CFF1C9A95E2F790E08E219F2165
-:101DC00021E0892B09F420E028870E94781A81609D
-:101DD000782F9A8789874E815F8168858A850E94DE
-:101DE000290FF801E559FE4F80818E25808306C0BA
-:101DF0002F5F3F4F2630310561F6A9CF0E94191E93
-:101E000010916A010E942F0E1817A1F00E942F0E48
-:101E100080936A012B960FB6F894DEBF0FBECDBF3C
-:101E2000DF91CF911F910F91FF90EF90DF90CF90B6
-:101E30000C9434072B960FB6F894DEBF0FBECDBFBF
-:101E4000DF91CF911F910F91FF90EF90DF90CF9096
-:101E50000895CF93DF93CDB7DEB72B970FB6F894E5
-:101E6000DEBF0FBECDBF4F83588769877A878B87C8
-:101E7000DE01119686E0FD0111928A95E9F785E071
-:101E8000FE01379601900D928A95E1F749815A81BA
-:101E90006B817C818D819E810E945C162B960FB692
-:101EA000F894DEBF0FBECDBFDF91CF910895CF93E1
-:101EB000C82F882309F4C1C0823859F40E942F0E1C
-:101EC00081FDBBC089E30E94F9180E94B31989E320
-:101ED0000CC0833879F40E942F0E80FDAEC083E5DC
-:101EE0000E94F9180E94B31983E50E943919CF9115
-:101EF0000C94B319843859F40E942F0E82FD9DC0B2
-:101F000087E40E94F9180E94B31987E4EECF8CEFA2
-:101F10008C0F813A48F48C2F0E944E2081118DC085
-:101F20008C2F0E94F918E3CF80E28C0F883048F4A0
-:101F3000C77081E001C0880FCA95EAF70E947A193C
-:101F4000D6CF8BE58C0F833078F4C53A29F0C63AAA
-:101F500031F482E890E005C081E890E002C083E8B7
-:101F600090E0CF910C94510E88E58C0F833108F0EE
-:101F700064C0C83A39F1C93A41F1CA3A49F1CB3A99
-:101F800051F1CC3A59F1CD3A61F1C03B69F1CE3A09
-:101F900071F1CF3A79F1C13B81F1C23B89F1C33B89
-:101FA00091F1C43B99F1C53BA1F1C63BA9F1C73BF7
-:101FB000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2ED
-:101FC00092E038C082EE90E035C089EE90E032C0F9
-:101FD0008AEE90E02FC085EB90E02CC086EB90E07D
-:101FE00029C087EB90E026C08CEC90E023C08DECFC
-:101FF00090E020C083E891E01DC08AE891E01AC01B
-:1020000082E991E017C084E991E014C081E292E096
-:1020100011C083E292E00EC084E292E00BC085E240
-:1020200092E008C086E292E005C087E292E002C03A
-:1020300080E090E0CF910C94670ECF9108958823B3
-:1020400009F44BC0823859F40E942F0E81FF45C01D
-:1020500089E30E94F9180E94B31989E30CC0833800
-:1020600071F40E942F0E80FF38C083E50E94F9189A
-:102070000E94B31983E50E9439190C94B31984386E
-:1020800059F40E942F0E82FF28C087E40E94F9189D
-:102090000E94B31987E4EFCF9CEF980F913A58F361
-:1020A00090E2980F983050F4877091E001C0990F3A
-:1020B0008A95EAF7892F0E948019DFCF9BE5980F58
-:1020C000933020F480E090E00C94510E885A8331D4
-:1020D00020F480E090E00C94670E0895882321F0AE
-:1020E0000E947A190C94B3190895882321F00E9454
-:1020F00080190C94B3190895CF92DF92EF92FF925A
-:102100000F931F93CF93DF93CDB7DEB728970FB60A
-:10211000F894DEBF0FBECDBF8C0185E0F801DE0173
-:10212000119601900D928A95E1F7F8014081318175
-:10213000F280258122952F7083819481892B31F043
-:102140003F3F31F481E04F3F19F403C081E001C00B
-:1021500080E080FDC4C249833A8389819A812F83BC
-:102160000E94B7189E8388870E94B6180E9489171C
-:102170004E81E42FE295EF70F0E0E05AFF4F2F819F
-:1021800068850C948022842F807F142F1F708823F1
-:1021900011F01295107FFF2059F0112309F454C259
-:1021A000812F68870E948A190E94B31968854CC2E2
-:1021B000862F0E941F10112309F491C2812F0E94C3
-:1021C000901928960FB6F894DEBF0FBECDBFDF91F1
-:1021D000CF911F910F91FF90EF90DF90CF900C94D3
-:1021E000B319342F307F842F8F70303211F08295E5
-:1021F000807F662319F0613019F12BC0FF20B1F008
-:10220000222309F493C1213009F090C128960FB61A
-:10221000F894DEBF0FBECDBFDF91CF911F910F911C
-:10222000FF90EF90DF90CF900C949A19222319F031
-:10223000213009F454C28E830E949D198E8189C178
-:10224000FF2021F0223008F04AC270C1211147C29C
-:1022500080C1FF2021F0222309F468C1F5C12223A7
-:1022600009F477C105C2242F26952695237030E006
-:102270002115310521F021303105C9F030C2FF2090
-:1022800021F0862F942F937002C080E090E0289672
-:102290000FB6F894DEBF0FBECDBFDF91CF911F9177
-:1022A0000F91FF90EF90DF90CF900C94510EFF2094
-:1022B00021F0862F942F937002C080E090E0289642
-:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147
-:1022D0000F91FF90EF90DF90CF900C94670E862FB8
-:1022E000FF2019F00E94211D02C00E94891D28961E
-:1022F0000FB6F894DEBF0FBECDBFDF91CF911F9117
-:102300000F91FF90EF90DF90CF900C940E1E842FD2
-:10231000837009F076C0F110E2C1262F2295269530
-:102320002770220F220F862F8F70C82ED12CE12C00
-:10233000F12C022E04C0CC0CDD1CEE1CFF1C0A94F8
-:10234000D2F764FF10C06FE070E080E090E004C05E
-:10235000660F771F881F991F2A95D2F76095709591
-:102360008095909503C060E070E0CB01242F269506
-:1023700026952370422F50E042305105D1F0433072
-:10238000510559F16C297D298E299F29413051052C
-:1023900041F128960FB6F894DEBF0FBECDBFDF9196
-:1023A000CF911F910F91FF90EF90DF90CF900C9401
-:1023B000AE176C297D298E299F2928960FB6F8948F
-:1023C000DEBF0FBECDBFDF91CF911F910F91FF9068
-:1023D000EF90DF90CF900C94C8170E94AE17C70102
-:1023E000B60128960FB6F894DEBF0FBECDBFDF91C1
-:1023F000CF911F910F91FF90EF90DF90CF900C94B1
-:102400009417FF2019F0842F817001C086958823CE
-:1024100009F465C1262F229526952770220F220FD9
-:10242000862F8F70C82ED12CE12CF12C022E04C0E7
-:10243000CC0CDD1CEE1CFF1C0A94D2F764FF10C00C
-:102440006FE070E080E090E004C0660F771F881FA7
-:10245000991F2A95D2F7609570958095909503C045
-:1024600060E070E0CB01242F269526952370422F43
-:1024700050E042305105D1F04330510559F16C29FB
-:102480007D298E299F294130510541F128960FB6AB
-:10249000F894DEBF0FBECDBFDF91CF911F910F919A
-:1024A000FF90EF90DF90CF900C9482186C297D29DB
-:1024B0008E299F2928960FB6F894DEBF0FBECDBF98
-:1024C000DF91CF911F910F91FF90EF90DF90CF9010
-:1024D0000C949C180E948218C701B60128960FB66A
-:1024E000F894DEBF0FBECDBFDF91CF911F910F914A
-:1024F000FF90EF90DF90CF900C946818603FC9F187
-:1025000018F4603E50F49BC0623F09F460C008F4C8
-:102510004AC0633F09F46FC092C0162F1F70842F0A
-:102520008F71FF2099F00E940118812F28960FB615
-:10253000F894DEBF0FBECDBFDF91CF911F910F91F9
-:10254000FF90EF90DF90CF900C946E100E942218B5
-:10255000812F28960FB6F894DEBF0FBECDBFDF9156
-:10256000CF911F910F91FF90EF90DF90CF900C943F
-:102570007510FF20A1F02111B2C0842F8F71289611
-:102580000FB6F894DEBF0FBECDBFDF91CF911F9184
-:102590000F91FF90EF90DF90CF900C94471822306E
-:1025A00008F09DC0EACFFF20A1F0842F8F712896FC
-:1025B0000FB6F894DEBF0FBECDBFDF91CF911F9154
-:1025C0000F91FF90EF90DF90CF900C940118FF20B7
-:1025D00061F3842F8F7128960FB6F894DEBF0FBE7B
-:1025E000CDBFDF91CF911F910F91FF90EF90DF90C2
-:1025F000CF900C942218FF2091F0842F8F71289691
-:102600000FB6F894DEBF0FBECDBFDF91CF911F9103
-:102610000F91FF90EF90DF90CF900C94EC172896DD
-:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3
-:102630000F91FF90EF90DF90CF900C94E217FF2066
-:10264000A1F0222309F4B1CF862F28960FB6F89473
-:10265000DEBF0FBECDBFDF91CF911F910F91FF90D5
-:10266000EF90DF90CF900C94570F222309F4B1CF55
-:10267000862F28960FB6F894DEBF0FBECDBFDF9130
-:10268000CF911F910F91FF90EF90DF90CF900C941E
-:102690001F104F70C8010E94AB0228960FB6F89425
-:1026A000DEBF0FBECDBFDF91CF911F910F91FF9085
-:1026B000EF90DF90CF900C9409174F70C8012896C7
-:1026C0000FB6F894DEBF0FBECDBFDF91CF911F9143
-:1026D0000F91FF90EF90DF90CF900C94D605289645
-:1026E0000FB6F894DEBF0FBECDBFDF91CF911F9123
-:1026F0000F91FF90EF90DF90CF9008950E9497196F
-:102700000E946C190E94B3190E94BA1E0E940E1EEC
-:1027100080E090E00E94510E80E090E00C94670E03
-:102720000E9487190C947E130E94B718292F2295B6
-:102730002F7030E02C3031054CF42A3031056CF428
-:10274000225031092230310590F407C02C30310578
-:1027500051F02F30310539F00AC0803E10F0803F33
-:1027600031F481E0089593FB882780F9089580E093
-:102770000895CF93DF9300D000D01F92CDB7DEB77E
-:102780000F900F900F900F900F90DF91CF910895C1
-:10279000CF93DF9300D000D000D0CDB7DEB7269620
-:1027A0000FB6F894DEBF0FBECDBFDF91CF91089575
-:1027B0001F93CF93DF93C091790116E080917A0146
-:1027C000C81799F0D0E01C9FF0011D9FF00D112457
-:1027D000E558FE4F408151816281738184819581EA
-:1027E0000E94C8132196C770E9CFDF91CF911F9146
-:1027F00008954091AB015091AC016091AD01709191
-:10280000AE018091AF019091B0010C94C813CF93A9
-:102810008091B00182958F7009F05FC08091AD0109
-:10282000882309F45AC020917901A0917A0160911E
-:10283000AB017091AC018091AE019091AF0131E09C
-:102840006F3F09F030E0B32FC6E02A1709F445C006
-:10285000009721F07F3F21F44B2F03C041E001C0DE
-:1028600040E030E040FD35C0C29FF001C39FF00D55
-:102870001124E558FE4F418174132BC0408164132D
-:1028800028C04281411125C043815481481759070E
-:1028900010F441505109481B590B483C5105C8F4EC
-:1028A0008091B0018F7080618093B00186E0829F3B
-:1028B000F001839FF00D1124E058FE4F80818F704E
-:1028C000806180838BEA91E00E947C10CF910C9410
-:1028D000D8132F5F3F4F2770B8CFCF910895CF9275
-:1028E000DF92EF92FF920F931F93CF93DF93CDB7B9
-:1028F000DEB762970FB6F894DEBF0FBECDBF8C0176
-:1029000085E0F801DE011D9601900D928A95E1F7B0
-:10291000D8014C9111965C91119712966C91129777
-:102920001396ED90FC9014977091AB01E091AC017F
-:102930002091AE013091AF012115310531F0EF3F0B
-:1029400031F481E07F3F19F403C081E001C080E0F1
-:10295000B82FB170CB2E80FD6CC1D090AD01DD20C1
-:1029600009F4F5C0F091B001E216F30638F0C701A2
-:10297000821B930B883C910548F09BC020953095B5
-:102980002E0D3F1D283C310508F093C08F2F807F0E
-:1029900009F052C0E51314C0741312C0D62E611191
-:1029A0000FC0FF70F061F093B0010E94F9138BEA41
-:1029B00091E00E947C108091B001F80185836CC188
-:1029C000EF2831F05F3F31F481E04F3F19F403C04D
-:1029D00081E001C080E080FD03C081E0862701C066
-:1029E00080E0F82FF170FF2E80FF1CC080917901EC
-:1029F00020917A0136E0821709F428C190E0389FCF
-:102A0000F001399FF00D1124E558FE4F71815713E5
-:102A100006C07081471303C07281671303C001961B
-:102A20008770E9CFD62E662309F436C18091B001B4
-:102A300081608093B00153C0E51308C0741306C0D1
-:102A4000611104C0D8011596FC93AEC04D875E8716
-:102A50008D859E856A8B0E9494136A89882329F14B
-:102A6000D62E662311F12091B001822F82958F70AE
-:102A700090E002970CF460C08091AB019091AC01A2
-:102A800098878F831986FB86EA862C87CE01079666
-:102A900051C0E51731F14D875E878D859E856A8B24
-:102AA0000E9494136A8981112EC0C8010E947C1073
-:102AB000A4C08F2F807F69F77E2DF98AE88A8989E3
-:102AC0000E94B9138BEA91E00E947C10EBEAF1E0DE
-:102AD00086E0DF011D928A95E9F70E94F913D12C57
-:102AE000DBC07413D8CF6111D6CFD8011596FC93F3
-:102AF000C8010E947C10EBEAF1E086E0DF011D9244
-:102B00008A95E9F7C9C0D62E662379F22091B001E3
-:102B1000822F82958F7090E0029774F08091AB01C4
-:102B20009091AC019A8389831B82FD82EC822E8373
-:102B3000CE0101960E947C1086E0F801ABEAB1E07C
-:102B400001900D928A95E1F70E9407146FC0E2167A
-:102B5000F30628F0C701821B930B9C0104C020954B
-:102B600030952E0D3F1D283C310508F052C0D62E61
-:102B7000662309F49ACFE5132CC074132AC0809100
-:102B8000B00180FD1DC0982F92959F70C9F0D801AB
-:102B900015968C9315979F3039F09F5F9295907F93
-:102BA0008F70892B15968C93C8010E947C1086E04B
-:102BB000F801ABEAB1E001900D928A95E1F736C0D9
-:102BC00086E0F801ABEAB1E001900D928A95E1F759
-:102BD00063C04D875E878D859E850E9494138823F0
-:102BE00079F086E0F801ABEAB1E001900D928A95A8
-:102BF000E1F70E9407140E94F913DD24D3944CC01E
-:102C00008091B00181608093B001C8010E947C1066
-:102C100043C07E2DF98AE88A89890E94B913EBEABC
-:102C2000F1E086E0DF011D928A95E9F70E94F91331
-:102C300033C0662309F439CF4D875E878D859E8525
-:102C40000E949413882309F430CFCBCF4D875E8741
-:102C50008D859E850E94B718292F22952F7030E010
-:102C6000223031052CF49F7041F0811106C00CC058
-:102C7000243031052CF49F7049F4805E883020F0B8
-:102C8000C8010E947C10CF2CDC2C06C0D801159600
-:102C90009C91907F91F7F8CF8D2D62960FB6F894A6
-:102CA000DEBF0FBECDBFDF91CF911F910F91FF907F
-:102CB000EF90DF90CF9008951F93CF93DF93CDB720
-:102CC000DEB72C970FB6F894DEBF0FBECDBF4F8393
-:102CD000588769877A878B879C87CE0107960E94E1
-:102CE0006F148823C1F02F8138858A859B85892BB5
-:102CF00031F03F3F11F080E003C02F3FE1F781E06A
-:102D0000811147C04F81588569857A858B859C855F
-:102D10000E94C8133EC086E0FE013796DE01119680
-:102D200001900D928A95E1F7FF81E8854A855B85E0
-:102D30004115510531F0EF3F31F481E0FF3F19F4C7
-:102D400003C081E001C080E080FD23C020917A01B2
-:102D500030E0C9010196877099276091790170E090
-:102D600086179707F1F1F983EA835D834C8396E038
-:102D7000929FD001939FB00D1124A558BE4FFE0124
-:102D8000319601900D929A95E1F780937A010E9415
-:102D9000D81316E08091790190917A01891779F121
-:102DA000189FC001112485589E4F0E946F148823DC
-:102DB00031F1E09179011E9FF0011124E558FE4F99
-:102DC0004081518162817381848195810E94C81301
-:102DD0008091790190E0019687709927809379011D
-:102DE000D9CF0E94901310927A0110927901EBEAE8
-:102DF000F1E086E0DF011D928A95E9F7CACF2C96B3
-:102E00000FB6F894DEBF0FBECDBFDF91CF911F91FB
-:102E10000895EF92FF920F931F93CF93DF93FC01DE
-:102E2000009709F46FC0F12CEE24E394EF01219692
-:102E30008491843740F4843008F055C0813081F0AB
-:102E4000823021F15FC0853709F447C0C0F19CE7AB
-:102E5000980F903708F056C08F770E941F1045C01A
-:102E60008F010E5F1F4FFE01849190E2980F983002
-:102E700050F48770FE2D01C0FF0F8A95EAF78F2F5F
-:102E80000E948A1915C00E94570F14C08F010E5F4F
-:102E90001F4FFE01849190E2980F983068F487707C
-:102EA000FE2D01C0FF0F8A95EAF78F2F0E9490191F
-:102EB0000E94B319E80119C00E941F10FBCFCF0177
-:102EC0000296FE01C491CC2361F0EFE9FFE0319757
-:102ED000F1F700C00000C150F6CFCF010296FE010D
-:102EE000F490EC0102C00E94570F8F2D882341F00F
-:102EF000EFE9FFE03197F1F700C000008150F6CF15
-:102F0000FE0194CFDF91CF911F910F91FF90EF9031
-:102F1000089508956093B5017093B6018093B70149
-:102F20009093B8010C947E130F931F930091B501F9
-:102F30001091B6012091B7013091B801062B172BE3
-:102F4000282B392B0093B5011093B6012093B701BC
-:102F50003093B8011F910F910C947E130F931F9320
-:102F60000091B5011091B6012091B7013091B801DF
-:102F700006231723282339230093B5011093B601A4
-:102F80002093B7013093B8011F910F910C947E13D9
-:102F90000F931F930091B5011091B6012091B701D5
-:102FA0003091B80106271727282739270093B50144
-:102FB0001093B6012093B7013093B8011F910F9180
-:102FC0000C947E131092B1011092B2011092B301D1
-:102FD0001092B4010C947E1341E050E060E070E088
-:102FE00004C0440F551F661F771F8A95D2F7409380
-:102FF000B1015093B2016093B3017093B4010C948A
-:103000007E1341E050E060E070E004C0440F551FC3
-:10301000661F771F8A95D2F78091B1019091B20116
-:10302000A091B301B091B401842B952BA62BB72BA3
-:103030008093B1019093B201A093B301B093B40116
-:103040000C947E1341E050E060E070E004C0440F57
-:10305000551F661F771F8A95D2F74095509560954A
-:1030600070958091B1019091B201A091B301B0919E
-:10307000B40184239523A623B7238093B1019093B1
-:10308000B201A093B301B093B4010C947E1341E05C
-:1030900050E060E070E004C0440F551F661F771FCA
-:1030A0008A95D2F78091B1019091B201A091B301BC
-:1030B000B091B40184279527A627B7278093B10143
-:1030C0009093B201A093B301B093B4010C947E131A
-:1030D0000F931F930091B1011091B2012091B301A0
-:1030E0003091B401062B172B282B392B0093B101FB
-:1030F0001093B2012093B3013093B4011F910F914B
-:103100000C947E130F931F930091B1011091B201A3
-:103110002091B3013091B4010623172328233923CA
-:103120000093B1011093B2012093B3013093B40125
-:103130001F910F910C947E130F931F930091B10177
-:103140001091B2012091B3013091B40106271727E5
-:10315000282739270093B1011093B2012093B301BE
-:103160003093B4011F910F910C947E130895CF9268
-:10317000DF92EF92FF920F931F93CF93DF93EC01B7
-:10318000C090B501D090B601E090B701F090B801C1
-:103190008091B1019091B201A091B301B091B401BD
-:1031A000C82AD92AEA2AFB2A0FE110E0B701A601B2
-:1031B000002E04C076956795579547950A94D2F7E7
-:1031C00040FF07C0BE01802F0E94F90581309105A4
-:1031D00039F40150110950F7BE0180E00E94F90551
-:1031E000DF91CF911F910F91FF90EF90DF90CF90E3
-:1031F000089590910C019923D9F090910D01992394
-:10320000B9F0982F9695969596959F3088F5E09110
-:103210000E01F0910F01E90FF11D877021E030E000
-:1032200001C0220F8A95EAF78181822B818308955C
-:1032300040910E0150910F0120E030E09FEFFA0124
-:10324000E20FF31F6281681799F09F3F19F4611133
-:1032500001C0922F2F5F3F4F2E30310581F79F3FE6
-:1032600039F0FA01E90FF11D97FDFA95828308956F
-:10327000089590910C019923E1F090910D0199230B
-:10328000C1F0982F9695969596959F3020F5E091F0
-:103290000E01F0910F01E90FF11D877021E030E080
-:1032A00001C0220F8A95EAF7209581812823218386
-:1032B000089540910E0150910F0120E030E0FA0195
-:1032C000E20FF31F9281981301C012822F5F3F4FCC
-:1032D0002E303105A1F7089581E090E0E0910E01D4
-:1032E000F0910F01E80FF91F1082019680319105CE
-:1032F000A9F708959091CB01982B9093CB01089555
-:1033000080959091CB0198239093CB0108951092D2
-:10331000CB0108959091CA01982B9093CA0108950A
-:1033200080959091CA0198239093CA0108951092B4
-:10333000CA0108958093B90108951092B9010895C2
-:1033400040910E0150910F0120E030E080E0FA0141
-:10335000E20FF31F918191118F5F2F5F3F4F2F304D
-:103360003105A9F70895E0910E01F0910F018091C8
-:10337000CB018083E0910E01F0910F01808190914B
-:10338000CA01892B80839091B901992361F0E09162
-:103390000E01F0910F018081892B80830E94A0197A
-:1033A00081111092B90180910E0190910F010C943E
-:1033B0003B0ECF92DF92EF92FF920F931F936C011F
-:1033C000EE24FF24C114D104E104F10421F46B01C3
-:1033D0007C0180E001C080E133272F2D1E2D0D2DB3
-:1033E000011511052105310519F0885F6801790182
-:1033F00097018601A4E03695279517950795AA951C
-:10340000D1F7011511052105310519F08C5F68010F
-:10341000790197018601F2E0369527951795079572
-:10342000FA95D1F7011511052105310519F08E5FC7
-:1034300068017901B701A60176956795579547957B
-:10344000452B462B472B09F08F5F1F910F91FF9063
-:10345000EF90DF90CF9008958091E501843009F1DD
-:103460001092CD0120E488E190E00FB6F894A89581
-:10347000809360000FBE2093600083B7817F8460DB
-:1034800083BF83B7816083BF7894889583B78E7F2D
-:1034900083BF88E10FB6F8948093600010926000BB
-:1034A0000FBE089508950895CF930E94521A0E9466
-:1034B00023040E94531AC0E08C2F0E941005811132
-:1034C00005C0CF5FCE30C1F780E001C081E0CF9171
-:1034D00008950E9490130E942F0E0C94340782E0EE
-:1034E00084BD93E095BD9AEF97BD80936E000895DB
-:1034F0002FB7F8948091CE019091CF01A091D00187
-:10350000B091D1012FBF0895CF92DF92EF92FF9239
-:103510000F931F932FB7F8944091CE015091CF0194
-:103520006091D0017091D1012FBF6A017B01EE241F
-:10353000FF248C0120E030E0C016D106E206F3063D
-:1035400010F441505109481B590BCA011F910F91AA
-:10355000FF90EF90DF90CF9008951F920F920FB6DB
-:103560000F9211248F939F93AF93BF938091CE01BD
-:103570009091CF01A091D001B091D1010196A11DF0
-:10358000B11D8093CE019093CF01A093D001B09351
-:10359000D101BF91AF919F918F910F900FBE0F906E
-:1035A0001F9018950E94350BF8942FEF87EA91E64B
-:1035B000215080409040E1F700C0000087E090EB90
-:1035C000DC018093EE019093EF01A093F001B093A2
-:1035D000F1012CE088E190E00FB6F894A895809373
-:1035E00060000FBE20936000FFCFEF92FF920F9319
-:1035F0001F93CF93DF93E82EF12C8F2D0E9410059F
-:10360000C0E0D0E0082F10E098010C2E02C03595E4
-:1036100027950A94E2F720FD05C02196C630D10512
-:1036200099F709C06C2F7F2D80E00E94D705E81222
-:10363000F4CF81E005C0F3948EE0F812DECF80E095
-:10364000DF91CF911F910F91FF90EF900895CF934D
-:10365000C82F8CE20E94F51A882321F08C2FCF917D
-:103660000C94F51A80E0CF910895CF930E947A1CB4
-:10367000811102C00E94601CC5E6C15049F00E9441
-:1036800023048FE39CE90197F1F700C00000F5CF18
-:1036900089E20E94271B811111C18AE20E94271B27
-:1036A00081110E94601C85E00E94271B81110E94ED
-:1036B000D21A0E94851C8093CC0187E00E94271BB0
-:1036C000882399F18BE10E94271B882351F0909168
-:1036D000CC0191FB882780F921E0822780FB91F9BA
-:1036E00022C08EE00E94271B882351F09091CC01CC
-:1036F00092FB882780F921E0822780FB92F913C092
-:1037000080E10E94271B9091CC01882341F093FB1C
-:10371000882780F921E0822780FB93F904C0892F54
-:10372000809580FB90F99093CC018091CC010E9410
-:10373000891C0E94971C8093DF0180EE0E94271B4A
-:10374000882341F08091DF01982F909590FB80F9BC
-:103750008093DF0189E30E94271B882359F0909111
-:10376000DF0191FB882780F921E0822780FB91F916
-:103770009093DF0182EE0E94271B882359F09091DD
-:10378000DF0192FB882780F921E0822780FB92F9F4
-:103790009093DF0186EE0E94271B882359F09091B9
-:1037A000DF0193FB882780F921E0822780FB93F9D2
-:1037B0009093DF0183EE0E94271B882359F090919C
-:1037C000DF0194FB882780F921E0822780FB94F9B0
-:1037D0009093DF0185E30E94271B882359F0909185
-:1037E000DF0195FB882780F921E0822780FB95F98E
-:1037F0009093DF0181E30E94271B882359F0909169
-:10380000DF0196FB882780F921E0822780FB96F96B
-:103810009093DF0181E10E94271B882359F090914A
-:10382000DF0197FB882780F921E0822780FB97F949
-:103830009093DF018091DF010E949B1C8091DF014A
-:1038400087FB882780F980930D0187E20E94271B60
-:10385000C82F8EE10E94271B8111C2608FE10E9458
-:10386000271B8111C46080E20E94271B8111C86060
-:1038700081E20E94271B8111C06182E20E94271B06
-:103880008111C06283E20E94271B8111C06484E21F
-:103890000E94271B882311F0C06802C0CC2329F0A6
-:1038A0008C2F0E94921C6C2F03C00E948E1C682FCC
-:1038B00070E080E090E0CF910C948A17CF9108954A
-:1038C0006DEE7EEF80E090E00E94B62260E082E044
-:1038D00090E00E94A82260E083E090E00E94A8228D
-:1038E00060E084E090E00E94A82260E085E090E043
-:1038F0000C94A82280E090E00E94A22221E08D3E5C
-:103900009E4F09F020E0822F089582E090E00C9411
-:103910009A22682F82E090E00C94A82283E090E045
-:103920000C949A22682F83E090E00C94A82284E003
-:1039300090E00C949A22682F84E090E00C94A822E6
-:103940008091D40180FF0BC06091130185E0689FD6
-:10395000B001112475956795759567952AC081FF0B
-:1039600009C06091130185E0689FB001112475952D
-:1039700067951FC082FF07C06091130185E0689FB3
-:10398000B001112416C04091D5014423C9F06091C3
-:103990001201461788F72091130185E0289F9001B6
-:1039A0001124429FC001439F900D112470E00E949A
-:1039B0006C226038710540F46115710539F002C060
-:1039C00065E070E0862F08958FE7089581E00895FF
-:1039D0008091D40180FF08C06091110170E075955D
-:1039E00067957595679521C081FF06C060911101AB
-:1039F00070E07595679519C082FF04C06091110150
-:103A000070E010C08091D5018823C1F06091100151
-:103A10008617A0F790911101989FC001112470E0C2
-:103A20000E946C226038710528F46115710521F03F
-:103A3000862F08958FE7089581E0089561E070E092
-:103A4000F4CF803F21F40E94A01C819504C0813FE7
-:103A500029F40E94A01C8093D8010895823F21F48C
-:103A60000E94A01C819504C0833F29F40E94A01CE1
-:103A70008093D7010895893F19F40E94E81C05C07E
-:103A80008A3F31F40E94E81C81958093D901089502
-:103A90008B3F21F40E94E81C819504C08C3F29F4DF
-:103AA0000E94E81C8093DA010895843F21F48091FC
-:103AB000D601816017C0853F21F48091D6018260D4
-:103AC00011C0863F21F48091D60184600BC0873FEE
-:103AD00021F48091D601886005C0883F31F480913F
-:103AE000D60180618093D60108958D3F21F48091A5
-:103AF000D40181600BC08E3F21F48091D40182609B
-:103B000005C08F3F29F48091D40184608093D40153
-:103B10000895803F39F48091D80187FF6CC01092DE
-:103B2000D80169C0813F29F48091D8011816BCF3EF
-:103B300062C09091D701823F29F497FF5CC0109238
-:103B4000D70159C0833F19F41916CCF354C0893FEB
-:103B500041F48091D90118160CF04DC01092D90192
-:103B60004AC08A3F29F48091D90187FF44C0F6CF2B
-:103B70008B3F39F48091DA0187FF3DC01092DA0162
-:103B80003AC08C3F29F48091DA011816BCF333C097
-:103B9000843F21F48091D6018E7F17C0853F21F4A8
-:103BA0008091D6018D7F11C0863F21F48091D6018E
-:103BB0008B7F0BC0873F21F48091D601877F05C0A2
-:103BC000883F31F48091D6018F7E8093D60113C057
-:103BD0008D3F21F48091D4018E7F0BC08E3F21F464
-:103BE0008091D4018D7F05C08F3F29F48091D4014D
-:103BF0008B7F8093D4018091D70181110EC0809179
-:103C0000D80181110AC08091D901811106C080912B
-:103C1000DA01811102C01092D501089586ED91E07C
-:103C20000E94460E0E94781A9093D3018093D2018D
-:103C300008951F93CF93DF938091D2019091D30188
-:103C40000E94841A4091D501442321F0209114014F
-:103C500030E006C0209115015AE0259F9001112403
-:103C60008217930708F482C08091D7011091D80180
-:103C7000D091D901C091DA01811107C0111105C09D
-:103C8000D11103C0CC2309F471C04F3F19F04F5F2D
-:103C90004093D501181624F40E94A01C8093D701EC
-:103CA0008091D70187FF05C00E94A01C8195809359
-:103CB000D701111624F40E94A01C8093D801809192
-:103CC000D80187FF05C00E94A01C81958093D80170
-:103CD0006091D701662339F11091D801112319F1B0
-:103CE000772767FD7095872F972F0E947D2123E30B
-:103CF00033E343E35FE30E94E1210E944A216093A2
-:103D0000D701612F772767FD7095872F972F0E9426
-:103D10007D2123E333E343E35FE30E94E1210E943B
-:103D20004A216093D8011D1624F40E94E81C809358
-:103D3000D9018091D90187FF05C00E94E81C8195B7
-:103D40008093D9011C1624F40E94E81C8093DA01A8
-:103D50008091DA0187FF05C00E94E81C819580935D
-:103D6000DA01DF91CF911F910C940E1EDF91CF915C
-:103D70001F910895E6EDF1E085E0DF011D928A953F
-:103D8000E9F71092D5011092D4010895833081F1A2
-:103D900028F4813059F08230D1F00895853009F44B
-:103DA00049C0B8F1863009F456C008952091150134
-:103DB000862F90E0820F911D8F3F910520F4620FB6
-:103DC0006093150108958FEF809315010895209158
-:103DD0001401862F90E0820F911D8F3F910520F4F2
-:103DE000620F6093140108958FEF8093140108957A
-:103DF00020911301862F90E0820F911D8F3F910536
-:103E000020F4620F6093130108958FEF80931301E4
-:103E1000089520911201862F90E0820F911D8F3F0F
-:103E2000910520F4620F6093120108958FEF809343
-:103E30001201089520911101862F90E0820F911DAB
-:103E40008F3F910520F4620F6093110108958FEF69
-:103E500080931101089520911001862F90E0820F28
-:103E6000911D8F3F910520F4620F6093100108951A
-:103E70008FEF809310010895833011F128F4813081
-:103E800049F0823091F00895853081F120F186303B
-:103E9000C1F1089580911501681720F4861B809365
-:103EA0001501089510921501089580911401681765
-:103EB00020F4861B80931401089510921401089534
-:103EC00080911301681720F4861B809313010895D5
-:103ED00010921301089580911201681720F4861B37
-:103EE000809312010895109212010895809111019A
-:103EF000681720F4861B8093110108951092110118
-:103F0000089580911001681720F4861B809310019A
-:103F100008951092100108958D3109F442C020F5E2
-:103F20008E3009F479C070F4873009F45EC020F453
-:103F3000863009F442C033C08830D1F18B3009F4A7
-:103F4000A7C02DC0863109F4A3C038F4803109F42C
-:103F50006DC0813109F47BC022C0893109F498C059
-:103F60008B3109F44FC01BC0853309F479C048F484
-:103F7000873209F475C008F478C0893209F470C03A
-:103F80000EC0833438F48A3308F071C0883309F4E2
-:103F90007FC005C0833409F463C08834C1F080E079
-:103FA00008950E9404210E942F0E0E94340770C0C1
-:103FB0000E94851C0E94971C6BC08091CC01817F60
-:103FC0008E7F8093CC0181E08093DC0108950E9474
-:103FD00090132FEF83ED90E3215080409040E1F764
-:103FE00000C000000E94D21A53C09091CC01892FCA
-:103FF000817090FF03C0917F9E7F26C09160909357
-:10400000CC0146C09091CC0191FB882780F921E03A
-:10401000822780FB91F913C09091CC0192FB8827F5
-:1040200080F921E0822780FB92F909C09091CC01B0
-:1040300093FB882780F921E0822780FB93F99093F6
-:10404000CC01882329F191609093CC0108950E94BE
-:10405000901380910D0191E0892780930D0118C084
-:1040600061E070E080E090E00FC023EE01C027EC3B
-:10407000280F61E070E080E090E004C0660F771FD9
-:10408000881F991F2A95D2F70E948A170E949013C1
-:1040900081E0089580E0089580E00895CF93C82FCF
-:1040A0008091DC01813079F018F08230D1F184C048
-:1040B000A0910E01B0910F018C91813169F0823293
-:1040C00009F07CC009C0A0910E01B0910F018C9144
-:1040D000813111F0823249F48C2F0E944A208111E3
-:1040E0001DC08C2F0E948C1F1AC08C2F0E944C2048
-:1040F000811114C0C43179F048F4CB3079F0C0316B
-:1041000009F060C082E08093DC0108C0C93219F078
-:10411000C83321F057C01092DC0154C081E0817097
-:1041200053C0C93289F118F5C43171F1A8F4C73010
-:1041300009F046C08AE08093150194E19093140140
-:1041400093E0909313018093120188E08093110112
-:1041500088E28093100134C0CE51C63088F5EC2F30
-:10416000F0E0E65DFE4F80818093DB0129C0CE3414
-:10417000E9F020F4CB3421F56AE013C0C13579F0C1
-:10418000C235F1F461E00DC08091DB01882319F0A4
-:104190001092DB0115C081E08093DC0115C061E065
-:1041A00006C08091DB010E94C61E0AC06AE08091B1
-:1041B000DB010E943C1F04C01092DC0180E004C0BF
-:1041C00081E002C080E0ABCFCF910895E1E8F0E05C
-:1041D0008081886080838081816080838FB7F8943C
-:1041E00093E09093890090ED909388008FBF08959D
-:1041F000EFE6F0E08081826080830895EFE6F0E0F2
-:1042000080818D7F80830895EFE6F0E0808192E0E9
-:104210008927808308951F920F920FB60F92112461
-:104220002F933F934F935F936F937F938F939F93BE
-:10423000AF93BF93EF93FF938091DD019091DE01E7
-:1042400001969093DE018093DD01811103C082E02D
-:104250000E943407E091DE01E695E695F0E0E6572E
-:10426000FB4FE4918091DD018E1303C080E00E943A
-:104270003407FF91EF91BF91AF919F918F917F9103
-:104280006F915F914F913F912F910F900FBE0F90C3
-:104290001F90189504D06894B1118DC0089570D006
-:1042A00088F09F5790F0B92F9927B751A0F0D1F01F
-:1042B000660F771F881F991F1AF0BA95C9F712C0A9
-:1042C000B13081F077D0B1E0089574C0672F782FB6
-:1042D0008827B85F39F0B93FCCF386957795679515
-:1042E000B395D9F73EF490958095709561957F4F81
-:1042F0008F4F9F4F0895E89409C097FB3EF4909527
-:104300008095709561957F4F8F4F9F4F9923A9F0AE
-:10431000F92F96E9BB279395F6958795779567953D
-:10432000B795F111F8CFFAF4BB0F11F460FF1BC081
-:104330006F5F7F4F8F4F9F4F16C0882311F096E914
-:1043400011C0772321F09EE8872F762F05C06623C2
-:1043500071F096E8862F70E060E02AF09A95660F7B
-:10436000771F881FDAF7880F9695879597F9089534
-:1043700057FD9058440F551F59F05F3F71F0479516
-:10438000880F97FB991F61F09F3F79F087950895FB
-:10439000121613061406551FF2CF4695F1DF08C01A
-:1043A000161617061806991FF1CF86957105610537
-:1043B00008940895E894BB2766277727CB0197F9DF
-:1043C00008950BD078C069D028F06ED018F09523EE
-:1043D00009F05AC05FC01124EECFCADFA0F3959F49
-:1043E000D1F3950F50E0551F629FF001729FBB27DC
-:1043F000F00DB11D639FAA27F00DB11DAA1F649F88
-:104400006627B00DA11D661F829F2227B00DA11D3A
-:10441000621F739FB00DA11D621F839FA00D611DC0
-:10442000221F749F3327A00D611D231F849F600DE1
-:10443000211D822F762F6A2F11249F5750408AF01A
-:10444000E1F088234AF0EE0FFF1FBB1F661F771FA6
-:10445000881F91505040A9F79E3F510570F014C03D
-:10446000AACF5F3FECF3983EDCF38695779567958E
-:10447000B795F795E7959F5FC1F7FE2B880F911DC4
-:104480009695879597F9089597F99F6780E870E06A
-:1044900060E008959FEF80EC089500240A941616BA
-:1044A000170618060906089500240A941216130622
-:1044B000140605060895092E0394000C11F48823B0
-:1044C00052F0BB0F40F4BF2B11F460FF04C06F5FCC
-:1044D0007F4F8F4F9F4F089597FB072E16F4009440
-:1044E00007D077FD09D00E94862207FC05D03EF454
-:1044F000909581959F4F0895709561957F4F089590
-:10450000EE0FFF1F0590F491E02D0994AA1BBB1B31
-:1045100051E107C0AA1FBB1FA617B70710F0A61BC3
-:10452000B70B881F991F5A95A9F780959095BC01E4
-:10453000CD010895F999FECF92BD81BDF89A9927D2
-:1045400080B50895A8E1B0E042E050E00C94BD22AF
-:10455000262FF999FECF1FBA92BD81BD20BD0FB69F
-:10456000F894FA9AF99A0FBE019608950E94A8222B
-:10457000272F0C94A922DC01CB01FC01F999FECF75
-:1045800006C0F2BDE1BDF89A319600B40D924150DB
-:0A4590005040B8F70895F894FFCFEB
-:10459A0020023607C307A0076C0739070101BA01D1
-:1045AA0028080A03140A3F4D36394B04FE03C80390
-:1045BA008F0322033B0354036D0301020304050620
-:0445CA0007080900D5
+:100000000C945F040C94A3040C94A3040C94A30418
+:100010000C94A3040C94A3040C94A3040C94A304C4
+:100020000C94A3040C94A3040C94BC0D0C948E0E9D
+:100030000C94A3040C94A3040C94A3040C94A304A4
+:100040000C94A3040C9439230C94A3040C94A304DF
+:100050000C94A3040C94DB1C0C94A3040C94A30434
+:100060000C94A3040C94A3040C94A3040C94A30474
+:100070000C94A3040C94A3040C94A3040C94A30464
+:100080000C94A3040C94A3040C94A3040C94A30454
+:100090000C94A3040C94A3040C94A3040C94A30444
+:1000A0000C94A3040C94A3040C94A304F30E150F56
+:1000B0000010150F0010570F7A0F0010CF0FE20F2E
+:1000C000D612D61204130413461382138215821516
+:1000D0009A138215911491145C158215821570156E
+:1000E000000000810889248935812B850252E100B6
+:1000F000E00000001E00140004001D0000774E0008
+:100100001F001A0016001B00007F4C002000080092
+:1001100007000600E2002A0021001500090019006E
+:10012000E3004B00220017000A00050000004A000F
+:1001300029002F0000002B0200004D002D00300090
+:1001400000002B000000500023001C000B001100D9
+:1001500000004F00240018000D001000E7005200BE
+:1001600025000C000E003600E6002C0026001200D0
+:100170000F003700007F28002700130033003800ED
+:10018000007751002E8131853482E500E4000000C3
+:100190000100C300C2003900010000002900010075
+:1001A0000100010001000100010001000100010047
+:1001B0000100010001000100010001000100010037
+:1001C0000100010001000100010001000100010027
+:1001D0000100010000000100010001000000010019
+:1001E000000001000100010000000100000001000A
+:1001F00001000100010001000000010001000100F8
+:1002000001000100010001000100010001000100E6
+:1002100001000100010001000100010001000100D6
+:100220000100010001000100010001000100C30004
+:10023000C200390001000000C20005520252E10074
+:10024000010000003A001E022002220201005100BB
+:100250003B001F0221022302010028003C002F0264
+:1002600026022F0001002C003D0030022702300042
+:10027000010052003E00240235003502000050000B
+:100280000100360200002B0000004F000100370281
+:1002900000002B0200004A003F003102380031000C
+:1002A00000004D004000240021001E0027004B00EC
+:1002B0004100250022001F0037004C0042002600AC
+:1002C000230020002E002A004300380025022D00C4
+:1002D0002E024E00C20005520252E5002800000026
+:1002E000045205520852E100010000003A001E02CB
+:1002F00020022202010051003B001F0221022302C2
+:10030000010028003C002F0226022F0001002C00D3
+:100310003D00300227023000010052003E0024025E
+:1003200035003502000050000100360200002B00AD
+:1003300000004F000100370200002B0200004A00BD
+:100340003F0031023800310000004D004000240021
+:1003500021001E0027004B004100250022001F0045
+:1003600037004C0042002600230020002E002A0007
+:100370004300380025022D002E024E000452055283
+:100380000852E5002800000001000654C1003900B1
+:10039000010000002900010001000100010001002E
+:1003A0000100010001000100010001000100010045
+:1003B0000100010001000100010001000100010035
+:1003C0000100010001000100010001000000010026
+:1003D0000100010000000100000001000100010017
+:1003E0000000010000000100010001000100010007
+:1003F00000000100010001000100010001000100F6
+:1004000001000100010001000100010001000100E4
+:1004100001000100010001000100010001000100D4
+:100420000100010001000654C10039000100000074
+:10043000C30005520252E100A8000000440066001B
+:10044000A6000100AA00B50045000100F20001006D
+:10045000A90001006800F000F100F100F400B6000E
+:1004600069000100F3000100F500B4006A0001001A
+:10047000010001000000B8000100F9000000FA00CE
+:100480000000B9000100F9000000FA000000AC0013
+:100490006B004600530001000000AB006C004A00F6
+:1004A00050004D004900A9006D005200510051005C
+:1004B0004C00AE006E004B004F004E000100AD003E
+:1004C0006F00B100B30001000100AA00C300055293
+:1004D0000252E50001000000075208520000E1004E
+:1004E000A800000044006600A6000100AA00B500B4
+:1004F00045000100F2000100A90001006800F000C1
+:10050000F100F100F400B60069000100F300010001
+:10051000F500B4006A000100010001000000B8000D
+:100520000100F9000000FA000000B9000100F90024
+:100530000000FA000000AC006B0046005300010010
+:100540000000AB006C004A0050004D004900A900BB
+:100550006D005200510051004C00AE006E004B0087
+:100560004F004E000100AD006F00B100B30001006C
+:100570000100AA00075208520000E5000100000037
+:100580000100C10001003900010000002900010044
+:100590000100010001000100010001000100010053
+:1005A0000100010001000100010001000100010043
+:1005B0000100010001000100010001000100010033
+:1005C0000100010000000100010001000000010025
+:1005D0000000010001000100000001000000010016
+:1005E0000100010001000100000001000100010004
+:1005F00001000100010001000100010001000100F3
+:1006000001000100010001000100010001000100E2
+:100610000100010001000100010001000100C10012
+:100620000100390001000000C100010001000100CB
+:10063000010000002900010001000100010001008B
+:1006400001000100010001000100010001000100A2
+:100650000100010001000100010001000100010092
+:100660000100010001000100010001000000010083
+:100670000100010000000100000001000100010074
+:100680000000010000000100010001000100010064
+:100690000000010001000100010001000100010053
+:1006A0000100010001000100010001000100010042
+:1006B0000100010001000100010001000100010032
+:1006C00001000100C1000100010001000100000063
+:1006D00016034500720067006F0044006F00780049
+:1006E000200045005A000000160345007200670014
+:1006F0006F0044006F007800200045005A000000A1
+:100700000403090409026D00040100A0FA090400B1
+:10071000000103010100092111010001223F00072E
+:1007200005810308000A0904010001030102000910
+:100730002111010001224D000705820308000A096A
+:10074000040200010300000009211101000122360A
+:10075000000705830308000A0904030001030000E1
+:10076000000921110100012239000705840310004E
+:10077000011201100100000008EDFE071301000145
+:1007800002000105010906A101050719E029E71585
+:1007900000250195087501810205081901290595B3
+:1007A000057501910295017503910105071900294D
+:1007B0007715002501957875018102C00501098032
+:1007C000A101850216010026B7001A01002AB70010
+:1007D000751095018100C0050C0901A10185031662
+:1007E0000100269C021A01002A9C027510950181C5
+:1007F00000C005010902A1010901A10005091901B3
+:1008000029051500250195057501810295017503DE
+:1008100081010501093009311581257F950275088F
+:10082000810609381581257F950175088106050C1B
+:100830000A38021581257F950175088106C0C0051B
+:10084000010906A101050719E029E7150025019511
+:1008500008750181029501750881010508190129B2
+:10086000059505750191029501750391010507191B
+:100870000029FF150025FF950675088100C00000BE
+:10088000000000000000000000010204060A0F172B
+:10089000202C3A4A5D71879DB3C7DAE9F5FCFFFC6D
+:1008A000F5E9DAC7B39D87715D4A3A2C20170F0A24
+:1008B00006040201000000000000000000001124F6
+:1008C0001FBECFEFDAE0DEBFCDBF04B603FE24C00B
+:1008D0008091EF019091F001A091F101B091F201AE
+:1008E0008730904BA740B04BB9F41092EF011092B3
+:1008F000F0011092F1011092F20114BE84B7877FCB
+:1009000084BF88E10FB6F894809360001092600075
+:100910000FBEE0E0FFE3099511E0A0E0B1E0E6EFF3
+:10092000F9E402C005900D92A433B107D9F721E094
+:10093000A4E3B1E001C01D92AF3EB207E1F70E940F
+:10094000020B0C94F9240C94000061110BC0FC0103
+:100950008281882321F085EE0E94631103C085EE19
+:100960000E942B1280E090E008950895CF9360914B
+:10097000B1017091B2018091B3019091B4010E94D4
+:10098000071CC82F8130F9F08430E9F089EF8C0F13
+:100990008230C8F056985E9825982D9826982E9803
+:1009A00027982F980E943B1081FF02C0259A2D9A0C
+:1009B0008EEF8C0F823010F4269A2E9AC550C230DA
+:1009C00010F4279A2F9ACF9108950C94B604569854
+:1009D0005E9825982D9826982E9827982F988FEF17
+:1009E00090E0909389008093880090938B0080938F
+:1009F0008A0090938D0080938C00259A2D9A2FEF7A
+:100A000080E792E0215080409040E1F700C0000074
+:100A1000269A2E9A2FEF80E792E021508040904056
+:100A2000E1F700C00000279A2F9A2FEF80E792E0AD
+:100A3000215080409040E1F700C0000025982D989B
+:100A40002FEF80E792E0215080409040E1F700C016
+:100A5000000026982E982FEF80E792E021508040EA
+:100A60009040E1F700C0000027982F9856985E98B4
+:100A700025982D9826982E9827982F98089589EADA
+:100A80008093800089E08093810024982C983F987F
+:100A90008AB18F748AB96E98479A8BB1806B8BB983
+:100AA000769A0E94E7040C94B50480E280930001DA
+:100AB0008091340181110EC00E94A40581E08093D1
+:100AC00034012FEF83ED90E3215080409040E1F717
+:100AD00000C0000080E40E94AA05809300018111FB
+:100AE0002EC00E94D40580930001811128C00E946D
+:100AF000D40580930001811122C08FE30E94D405A8
+:100B00008093000181111BC00E94CC0580E40E94EB
+:100B1000AA0580930001811112C08CE00E94D405C7
+:100B20008093000181110BC00E94D40580930001C5
+:100B3000811105C08FE30E94D405809300010E94BB
+:100B4000CC058091000108951092B9008AE080934D
+:100B5000B800089594EA9093BC009091BC0097FF70
+:100B6000FCCF9091B900987F983021F0903111F02E
+:100B700081E008958093BB0084E88093BC0080915D
+:100B8000BC0087FFFCCF8091B900887F883111F0CD
+:100B9000803471F780E0089584E98093BC008091EF
+:100BA000BC0084FDFCCF08958093BB0084E8809353
+:100BB000BC008091BC0087FFFCCF9091B900987F6A
+:100BC00081E0983209F480E0089584E88093BC00C5
+:100BD0008091BC0087FFFCCF8091BB00089580917D
+:100BE0000001811115C080E40E94AA0580930001D4
+:100BF00081110CC082E10E94D40580930001811113
+:100C000005C08FEF0E94D405809300010E94CC059F
+:100C100084B1807F84B985B1807F85B98AB1837FB3
+:100C20008AB98BB1837F8BB93E98469808950E940C
+:100C30005505809300010E94EF0580B38C7080BB46
+:100C400081B3836F81BBE4E4F1E0A6E3B1E01192EC
+:100C50001D9281E0E235F807D1F70C943F05BF9271
+:100C6000CF92DF92EF92FF920F931F93CF93DF9378
+:100C700080910001882379F0809135018F5F809306
+:100C80003501811108C00E94550580930001811132
+:100C900002C00E94E70406E311E0C0E0D0E0DD24DA
+:100CA000D39482E0C82EEE24E394F12CC73000F5F3
+:100CB00080910001811162C080E40E94AA058093A6
+:100CC0000001811112C082E10E94D40580930001CD
+:100CD00081110BC0C7010C2E01C0880F0A94EAF7DE
+:100CE00080950E94D405809300010E94CC0546C0E7
+:100CF000CA30A1F028F4C83059F0C93061F005C0FD
+:100D0000CC3089F070F0CD3089F0209A289810C04E
+:100D1000219A29980DC0229A2A980AC0239A2B98C2
+:100D200007C0529A01C0539A5B9802C03E9A4698F7
+:100D3000E0EAEA95F1F78FB179995AC092E08170B3
+:100D40008D25892B7C9B02C090E001C094E0892B0B
+:100D50007D9B02C090E001C098E0892B7E9B02C081
+:100D600090E001C090E1892B9FB19095991F992740
+:100D7000991F9295990F907E892B0FC08091000149
+:100D800081114BC080E40E94AA0580930001882352
+:100D900089F1B12C0E94CC058B2DF8019081981718
+:100DA00019F08083C09201010E94EF0521960F5F28
+:100DB0001F4FCE30D10509F079CF809101018823F2
+:100DC00071F1815080930101882339F08FE99FE010
+:100DD0000197F1F700C0000022C0A4E4B1E0E6E30F
+:100DE000F1E081918D9391E0E434F907D1F717C0D8
+:100DF00090E0A5CF83E10E94D4058093000181118A
+:100E0000C8CF81E40E94AA05809300018111C1CF5F
+:100E10000E94E505B82EB094BDCF80E0BECF0E9401
+:100E2000E50481E0DF91CF911F910F91FF90EF904A
+:100E3000DF90CF90BF900895E82FF0E0EC5BFE4F7D
+:100E40008081089508958B3B910578F4883A910547
+:100E500040F5853A9105D0F48430910508F0B1C091
+:100E60008130910509F4ADC06BC0803E910508F456
+:100E700067C0883E910508F4A4C09C01205F310939
+:100E80002031310508F05CC090650895853A9105E0
+:100E900009F459C0863A910509F458C083E890E4F2
+:100EA0000895883A910509F454C0893A910509F4E6
+:100EB00053C08A3A910509F452C08B3A910509F45E
+:100EC00051C08C3A910509F450C08D3A910509F44E
+:100ED0004FC0803B910509F44EC08E3A910509F44C
+:100EE0004DC08F3A910509F44CC0813B910509F43E
+:100EF0004BC0823B910509F44AC0833B910509F43C
+:100F000049C0843B910509F448C0853B910509F42B
+:100F100047C0863B910509F446C0873B910509F41B
+:100F200045C0883B910509F444C0893B910509F40B
+:100F300043C08A3B910509F042C08AE296E40895D5
+:100F400080E090E0089581E890E4089582E890E4DC
+:100F5000089582EE94E4089589EE94E408958AEE6B
+:100F600094E4089585EB94E4089586EB94E4089561
+:100F700087EB94E408958CEC94E408958DEC94E46C
+:100F8000089583E895E408958AE895E4089582E950
+:100F900095E4089584E995E4089581E296E408953E
+:100FA00083E296E4089584E296E4089585E296E467
+:100FB000089586E296E4089587E296E4089580E035
+:100FC00094E40895089596E0799FF001112494E542
+:100FD000899FE00DF11D1124E60FF11DEE0FFF1F9B
+:100FE000E851FF4F859194910895880F991F805A79
+:100FF0009040FC01859194910895880F991F80522B
+:101000009F4FFC0185919491089526E0729FF00115
+:10101000112444E5849FE00DF11D1124E60FF11D1C
+:10102000EE0FFF1FE851FF4F25913491C9019A95AA
+:1010300081159F4110F4C9010895C901905281158D
+:10104000904128F4C9019F700E94FD070895C901CD
+:1010500090538115904120F4C9019927906C08950F
+:10106000211580E5380769F40E94A5159FEF24E358
+:101070004CE0915020404040E1F700C000000C944B
+:10108000001D213080E5380731F48091CD01816069
+:101090008093CD010895C90190558115904108F0C4
+:1010A00050C0832F99278F70992781309105D9F4EB
+:1010B000A9014370552702C0880F991F4A95E2F78E
+:1010C0009C68A90164E0440F551F6A95E1F7442725
+:1010D0005370842B952B73E0220F331F7A95E1F721
+:1010E000207633271DC08230910529F4922F88275E
+:1010F000816F906A089583309105A9F4A901437026
+:10110000552781E090E002C0880F991F4A95E2F7C9
+:101110009C6843E0220F331F4A95E1F7207E377029
+:10112000822B932B08950497F1F4A901437055275E
+:1011300081E090E002C0880F991F4A95E2F79A6813
+:10114000E8CFC90190578115904120F4C9019F70E3
+:1011500090620895C90190588115904120F4C90109
+:101160009F70906A0895203E3105E0F4203C3105DF
+:1011700058F52133310509F470C048F4293231059E
+:1011800009F464C02A32310509F46EC074C02933F1
+:101190003105F1F022383105D9F02533310509F454
+:1011A0004EC069C0233E310589F138F4203E310537
+:1011B000C1F0223E3105E1F05EC0263E310569F105
+:1011C000273E3105A9F157C0C9010E94F5070895CE
+:1011D0008091E00180FD02C081FF4DC080EE90E073
+:1011E0004BC08091E00180FFF9CF89E390E044C0DB
+:1011F0008091E00182FF0EC08091E00184FF03C076
+:1012000080E090E039C083EE90E036C08091E0014C
+:1012100082FFF2CF82EE90E02FC08091E00183FF49
+:101220000BC08091E00184FDEBCF87EE90E024C0FD
+:101230008091E00183FFF5CF86EE90E01DC08091A4
+:10124000E00185FF07C089E290E016C08091E001CF
+:1012500085FFF9CF85E390E00FC08091E00186FF24
+:1012600007C08AE290E008C08091E00186FFF9CFD4
+:1012700081E390E001C0C9010E9423070895089509
+:101280000C943F09809162010895CF93DF9300D0C1
+:101290001F92CDB7DEB72091E601243019F523E087
+:1012A00029839B838A832093E9008FEF9091E80044
+:1012B000815095FD06C095ED9A95F1F700008111DA
+:1012C000F5CF8091E80085FF0DC040E050E063E07D
+:1012D00070E0CE0101960E94AF0B8091E8008E77FE
+:1012E0008093E8000F900F900F90DF91CF910895B9
+:1012F000CF93DF9300D01F92CDB7DEB72091E601E8
+:10130000243021F522E029839B838A8383E0809324
+:10131000E9008FEF9091E800815095FD06C095EDB2
+:101320009A95F1F700008111F5CF8091E80085FFD3
+:101330000DC040E050E063E070E0CE0101960E94F5
+:10134000AF0B8091E8008E778093E8000F900F90AC
+:101350000F90DF91CF9108952091E6012430F1F4B0
+:1013600022E02093E9002FEF3091E800215035FD75
+:1013700006C035ED3A95F1F700002111F5CF209127
+:10138000E80025FF0BC040E050E065E070E00E94FF
+:10139000AF0B8091E8008E778093E8000895CF939B
+:1013A000DF93EC018091E601843009F046C0909112
+:1013B0000C019923D9F090910D019923B9F08093F4
+:1013C000E9008FEF9091E800815095FD06C095E10E
+:1013D0009A95F1F700008111F5CF8091E80085FF23
+:1013E0002CC040E050E060E170E017C081E08093E5
+:1013F000E9008FEF9091E800815095FD06C095EDD2
+:101400009A95F1F700008111F5CF8091E80085FFF2
+:1014100014C040E050E068E070E0CE010E94AF0BE5
+:101420008091E8008E778093E80080E1FE01A2E5DC
+:10143000B1E001900D928A95E1F7DF91CF91089587
+:101440008091E501811109C00E94410D0E949E0D0D
+:101450008091E20084608093E20008951092E5019B
+:10146000089508950C9426230E94971C0E942C2313
+:101470000E943B100C94400942E061EC81E00E9424
+:10148000BB0C42E061EC82E00E94BB0C42E061ECEC
+:1014900083E00E94BB0C42E161EC84E00C94BB0C45
+:1014A0008091E801833009F455C030F4813071F047
+:1014B000823009F48EC008958A3009F47AC08B30E6
+:1014C00009F460C0893009F09CC020C08091E70118
+:1014D000813A09F096C08091E800877F8093E80008
+:1014E0008091EB019091EC01892B21F060E080E08C
+:1014F00090E003C060E182E591E070E00E94F80BAB
+:101500008091E8008B778093E80008958091E7014F
+:10151000813209F076C08091EB019091EC01009747
+:1015200019F0039709F06DC08091E800877F8093E0
+:10153000E8008091E80082FD05C08091E6018111FC
+:10154000F8CF5FC08091F100809362018091E80044
+:101550008B7753C08091E701813A09F052C08091A6
+:10156000EB019091EC01892B09F04BC08091E800D0
+:10157000877F8093E8008091E80080FFFCCF809116
+:101580000C0136C08091E7018132D9F58091EB01E1
+:101590009091EC01892BA9F58091E800877F8093D9
+:1015A000E8000E94F00C8091E90180930C010C94FA
+:1015B000A5158091E701813221F58091E800877FB0
+:1015C0008093E8000E94F00C8091EA01809363010F
+:1015D00008958091E701813AA1F48091E800877F26
+:1015E0008093E8008091E80080FFFCCF8091630148
+:1015F0008093F1008091E8008E778093E8000C944E
+:10160000F00C089584B7877F84BF88E10FB6F89403
+:1016100080936000109260000FBE90E080E80FB6EB
+:10162000F89480936100909361000FBE0E948A102D
+:101630000E94410D0E949E0D8091E2008460809383
+:10164000E20078940E9419100E948C1082E091E0D0
+:101650000E9436100E9414238091E601853069F4BF
+:101660000E945A1C8091E4018823B1F30E94821CDD
+:10167000882391F30E94990BEFCF0E949210ECCF38
+:10168000292F332723303105A9F06CF4213031059F
+:1016900009F442C02230310509F043C08DE690E0E4
+:1016A00024E037E042C021323105C9F02232310551
+:1016B00019F137C099278130910541F082309105A9
+:1016C00041F0892B71F5E0E0F7E005C0E8EEF6E0C7
+:1016D00002C0E0EDF6E0849190E09F0126C0643006
+:1016E00000F5E62FF0E0EE0FFF1FEE5DFE4F2081CC
+:1016F000318189E090E019C0643098F4E62FF0E081
+:10170000DF01AA0FBB1FA65EBE4F2D913C91EA5E82
+:10171000FE4F808190E009C082E190E021E737E050
+:1017200004C080E090E020E030E0FA0131832083C3
+:10173000089580E189BD82E189BD09B400FEFDCF35
+:101740008091D8008F7D8093D8008091E0008260E6
+:101750008093E0008091E00081FDFCCF0895CF925E
+:10176000DF92EF92FF920F931F93CF93DF937C0151
+:101770008B01EA010E94110D811131C0209731F0D7
+:1017800088819981081B190BE80EF91EC12CD12CF8
+:101790000115110519F18091E80085FD14C08091B3
+:1017A000E8008E778093E800209741F08881998146
+:1017B0008C0D9D1D9983888385E011C00E94110DB9
+:1017C000882331F30CC0F70181917F018093F100F0
+:1017D00001501109FFEFCF1ADF0ADACF80E0DF9165
+:1017E000CF911F910F91FF90EF90DF90CF900895D0
+:1017F0002091ED013091EE012617370748F0611571
+:10180000710539F42091E8002E772093E80001C09B
+:10181000B901FC0120E061157105B9F18091E60183
+:10182000882309F440C0853009F43FC08091E80066
+:1018300083FD3DC08091E80082FF06C08091E800F2
+:1018400082FF26C080E008958091E80080FFE3CF0A
+:101850002091F3008091F20090E0922B61157105C8
+:1018600051F08830910538F421912093F1006150B6
+:1018700071090196F3CF21E0089709F020E08091EB
+:10188000E8008E778093E800C6CF2111C7CFD6CF6E
+:101890008091E601882339F0853039F08091E800A5
+:1018A00083FFCCCF04C082E0089583E0089581E0F7
+:1018B00008952091ED013091EE012617370748F089
+:1018C0006115710539F42091E8002E772093E80026
+:1018D00001C0B901FC0120E061157105C1F18091E1
+:1018E000E601882309F441C0853009F440C08091A5
+:1018F000E80083FD3EC08091E80082FF06C0809131
+:10190000E80082FF27C080E008958091E80080FF12
+:10191000E3CF2091F3008091F20090E0922B6115CB
+:10192000710559F08830910540F424912093F1001D
+:101930003196615071090196F2CF21E0089709F0C4
+:1019400020E08091E8008E778093E800C5CF2111D8
+:10195000C6CFD5CF8091E601882339F0853039F0A4
+:101960008091E80083FFCBCF04C082E0089583E03C
+:10197000089581E00895982F973058F59093E900E5
+:10198000981739F07091EC002091ED005091F00023
+:1019900003C0242F762F50E021FF19C03091EB00B7
+:1019A0003E7F3093EB003091ED003D7F3093ED00B2
+:1019B0003091EB0031603093EB007093EC0020939A
+:1019C000ED005093F0002091EE0027FF07C09F5FCD
+:1019D000D3CF8F708093E90081E0089580E008956F
+:1019E0008091E70187FD05C08091E80080FF0EC06F
+:1019F00012C08091E80082FD05C08091E60181114E
+:101A0000F8CF08958091E8008B7708C08091E601B7
+:101A10008111EACF08958091E8008E778093E800E5
+:101A200008958091E4009091E50045E62091EC0056
+:101A300020FF21C02091E80020FD21C02091E60177
+:101A4000222389F0253089F02091EB0025FD0FC07D
+:101A50002091E4003091E5002817390739F341500F
+:101A600041F0C901E3CF82E0089583E0089581E069
+:101A7000089584E008952091E80022FFDFCF80E000
+:101A800008950E94AF0D0E94B70DE0EEF0E0808156
+:101A900081608083E8EDF0E080818F77808319BCDE
+:101AA000A7EDB0E08C918E7F8C9380818F7E8083B8
+:101AB0001092E50108950F931F93CF93DF930E9437
+:101AC000AF0D0E94B70DC8EDD0E088818F77888375
+:101AD00088818068888388818F7D888319BC109273
+:101AE000E6011092E2011092E4011092E30100EE8F
+:101AF00010E0F80180818B7F8083888181608883FA
+:101B000042E060E080E00E94BB0CE1EEF0E080810A
+:101B10008E7F8083E2EEF0E080818160808380812F
+:101B200088608083F80180818E7F808388818061D6
+:101B30008883DF91CF911F910F910895E8EDF0E038
+:101B400080818F7E8083E7EDF0E0808181608083FB
+:101B500084E082BF81E08093E5010C945B0DE8EDA9
+:101B6000F0E080818E7F80831092E20008951092D1
+:101B7000DA001092E10008951F920F920FB60F92B3
+:101B800011242F933F934F935F936F937F938F9382
+:101B90009F93AF93BF93EF93FF938091E10082FFF8
+:101BA0000BC08091E20082FF07C08091E1008B7F33
+:101BB0008093E1000E9418108091DA0080FF1FC01E
+:101BC0008091D80080FF1BC08091DA008E7F8093C7
+:101BD000DA008091D90080FF0DC080E189BD82E1EB
+:101BE00089BD09B400FEFDCF81E08093E6010E942B
+:101BF000200A05C019BC1092E6010E942E0A8091AD
+:101C0000E10080FF19C08091E20080FF15C0809143
+:101C1000E2008E7F8093E2008091E20080618093F9
+:101C2000E2008091D80080628093D80019BC85E0E2
+:101C30008093E6010E94320A8091E10084FF30C067
+:101C40008091E20084FF2CC080E189BD82E189BDE2
+:101C500009B400FEFDCF8091D8008F7D8093D8001D
+:101C60008091E1008F7E8093E1008091E2008F7E81
+:101C70008093E2008091E20081608093E200809195
+:101C8000E201882311F084E007C08091E30087FF20
+:101C900002C083E001C081E08093E6010E94340A23
+:101CA0008091E10083FF29C08091E20083FF25C07D
+:101CB0008091E100877F8093E10082E08093E601DC
+:101CC0001092E2018091E1008E7F8093E10080918B
+:101CD000E2008E7F8093E2008091E2008061809339
+:101CE000E20042E060E080E00E94BB0C8091F000E6
+:101CF00088608093F0000E94310AFF91EF91BF91BC
+:101D0000AF919F918F917F916F915F914F913F9193
+:101D10002F910F900FBE0F901F9018951F920F924A
+:101D20000FB60F9211242F933F934F935F936F93AE
+:101D30007F938F939F93AF93BF93CF93EF93FF9333
+:101D4000C091E900CF708091EC001092E900809181
+:101D5000F000877F8093F00078940E94CA0E109262
+:101D6000E9008091F00088608093F000C093E90062
+:101D7000FF91EF91CF91BF91AF919F918F917F9103
+:101D80006F915F914F913F912F910F900FBE0F90E8
+:101D90001F9018951F93CF93DF93CDB7DEB7AA9707
+:101DA0000FB6F894DEBF0FBECDBFE7EEF1E0809135
+:101DB000F100819321E0EF3EF207C9F70E94500A3B
+:101DC0008091E80083FF1CC12091E7013091E80178
+:101DD000832F90E08A30910508F012C1FC01EA5A85
+:101DE000FF4F0C94AE24203881F0223809F008C14E
+:101DF0008091EB018F708093E9008091EB0085FB6F
+:101E0000882780F91092E90006C08091E301909143
+:101E1000E401911182609091E800977F9093E8002F
+:101E20008093F1001092F100C5C0822F8D7F09F0E0
+:101E3000E7C0222319F0223061F0E2C08091E9016D
+:101E4000813009F0DDC0333009F080E08093E40197
+:101E500028C08091E901811124C02091EB012F70ED
+:101E600009F4CEC02093E9008091EB0080FF19C0F7
+:101E70008091EB00333011F4806211C08061809357
+:101E8000EB0081E090E0022E01C0880F0A94EAF78F
+:101E90008093EA001092EA008091EB0088608093C2
+:101EA000EB001092E9008091E800877F86C0211145
+:101EB000A7C01091E9011F778091E3008078812B02
+:101EC0008093E3008091E800877F8093E8000E9480
+:101ED000F00C8091E80080FFFCCF8091E3008068E7
+:101EE0008093E300112311F083E001C082E080932E
+:101EF000E60186C02058223008F082C08091E901B6
+:101F00009091EA018C3D23E0920779F583E08A8382
+:101F10008AE289834FB7F894DE01139620E03EE011
+:101F200051E2E32FF0E050935700E49120FF03C00B
+:101F3000E295EF703F5FEF708E2F90E0EA3010F087
+:101F4000C79601C0C0968D939D932F5F243149F7AA
+:101F50004FBF8091E800877F8093E8006AE270E0DD
+:101F6000CE0101960E94F80B14C0AE014F5F5F4F87
+:101F70006091EB010E94400B009709F441C0209151
+:101F8000E800277F2093E800BC0189819A810E94A4
+:101F9000590C8091E8008B778093E80031C020389D
+:101FA00079F58091E800877F8093E8008091E201D5
+:101FB0008093F1008091E8008E778093E8000E9482
+:101FC000F00C1EC021111CC09091E9019230C0F4A8
+:101FD0008091E800877F8093E8009093E2010E945F
+:101FE000F00C8091E201811104C08091E30087FF31
+:101FF00002C084E001C081E08093E6010E943C0AB7
+:102000008091E80083FF0AC08091E800877F809379
+:10201000E8008091EB0080628093EB00AA960FB6F7
+:10202000F894DEBF0FBECDBFDF91CF911F91089511
+:102030000895CF938091E6018823B1F08091E90063
+:102040008F709091EC0090FF02C090E801C090E08A
+:10205000C92FC82B1092E9008091E80083FD0E94EF
+:10206000CA0ECF70C093E900CF9108959093690193
+:10207000809368010895E0916801F09169013097BB
+:1020800021F00190F081E02D099480E00895E09125
+:102090006801F0916901309721F00280F381E02D11
+:1020A00009940895E0916801F0916901309721F059
+:1020B0000480F581E02D0994089520916601309106
+:1020C00067018217930771F090936701809366010F
+:1020D000E0916801F0916901309721F00680F78165
+:1020E000E02D0994089520916401309165018217D3
+:1020F000930771F09093650180936401E09168010A
+:10210000F0916901309721F00084F185E02D099468
+:10211000089508950C9489100E949D1C0E94170632
+:102120000C94631DCF92DF92EF92FF920F931F9357
+:10213000CF93DF93CDB7DEB72B970FB6F894DEBF02
+:102140000FBECDBF0E942F063BE6E32E31E0F32EFB
+:1021500000E010E0C02E802F0E941C07F701D190F4
+:102160007F01D826B1F40F5F1F4F0E30110591F794
+:102170008FEF89838A831B820E94A61C8160782F3F
+:102180009D838C8349815A816B818D810E94351199
+:1021900041C09091CD0191FF04C08B870E9422071E
+:1021A0008B8520E030E04D2D50E0922FBA01022EB9
+:1021B00002C0759567950A94E2F760FF25C02E83EB
+:1021C000CF82EE24E394F12C02C0EE0CFF1C9A9512
+:1021D000E2F790E08E219F2121E0892B09F420E095
+:1021E00028870E94A61C8160782F9A8789874E8154
+:1021F0005F8168858A850E943511F801E559FE4F97
+:1022000080818E25808306C02F5F3F4F26303105A9
+:1022100061F6A9CF0E94472010916A010E943B10ED
+:102220001817A1F00E943B1080936A012B960FB6FD
+:10223000F894DEBF0FBECDBFDF91CF911F910F91FC
+:10224000FF90EF90DF90CF900C9440092B960FB643
+:10225000F894DEBF0FBECDBFDF91CF911F910F91DC
+:10226000FF90EF90DF90CF900895CF93DF93CDB79D
+:10227000DEB72B970FB6F894DEBF0FBECDBF4F83EE
+:10228000588769877A878B87DE01119686E0FD0182
+:1022900011928A95E9F785E0FE01379601900D923B
+:1022A0008A95E1F749815A816B817C818D819E817C
+:1022B0000E9471182B960FB6F894DEBF0FBECDBFEB
+:1022C000DF91CF910895CF93C82F882309F4C1C01F
+:1022D000823859F40E943B1081FDBBC089E30E9403
+:1022E0000E1B0E94D81B89E30CC0833879F40E942E
+:1022F0003B1080FDAEC083E50E940E1B0E94D81BE0
+:1023000083E50E944E1BCF910C94D81B843859F45E
+:102310000E943B1082FD9DC087E40E940E1B0E941C
+:10232000D81B87E4EECF8CEF8C0F813A48F48C2FCA
+:102330000E947C2281118DC08C2F0E940E1BE3CF46
+:1023400080E28C0F883048F4C77081E001C0880FAC
+:10235000CA95EAF70E948F1BD6CF8BE58C0F83308E
+:1023600078F4C53A29F0C63A31F482E890E005C025
+:1023700081E890E002C083E890E0CF910C945D107A
+:1023800088E58C0F833108F064C0C83A39F1C93A46
+:1023900041F1CA3A49F1CB3A51F1CC3A59F1CD3A2F
+:1023A00061F1C03B69F1CE3A71F1CF3A79F1C13BAD
+:1023B00081F1C23B89F1C33B91F1C43B99F1C53B2B
+:1023C000A1F1C63BA9F1C73BB1F1C83BB9F1C93B8B
+:1023D000C1F1CA3BC9F58AE292E038C082EE90E0D2
+:1023E00035C089EE90E032C08AEE90E02FC085EBD8
+:1023F00090E02CC086EB90E029C087EB90E026C0EF
+:102400008CEC90E023C08DEC90E020C083E891E05C
+:102410001DC08AE891E01AC082E991E017C084E902
+:1024200091E014C081E292E011C083E292E00EC01C
+:1024300084E292E00BC085E292E008C086E292E07E
+:1024400005C087E292E002C080E090E0CF910C945A
+:102450007310CF910895882309F44BC0823859F442
+:102460000E943B1081FF45C089E30E940E1B0E9421
+:10247000D81B89E30CC0833871F40E943B1080FFA5
+:1024800038C083E50E940E1B0E94D81B83E50E9482
+:102490004E1B0C94D81B843859F40E943B1082FFC9
+:1024A00028C087E40E940E1B0E94D81B87E4EFCF50
+:1024B0009CEF980F913A58F390E2980F983050F4AF
+:1024C000877091E001C0990F8A95EAF7892F0E94E1
+:1024D000951BDFCF9BE5980F933020F480E090E0D0
+:1024E0000C945D10885A833120F480E090E00C94C5
+:1024F00073100895882321F00E948F1B0C94D81B21
+:102500000895882321F00E94951B0C94D81B0895F0
+:10251000CF92DF92EF92FF920F931F93CF93DF93AF
+:10252000CDB7DEB728970FB6F894DEBF0FBECDBF8C
+:102530008C0185E0F801DE01119601900D928A95DB
+:10254000E1F7F80140813181F280258122952F70D9
+:1025500083819481892B31F03F3F31F481E04F3FFB
+:1025600019F403C081E001C080E080FDCBC2498343
+:102570003A8389819A812F830E94CC1A9E8388870F
+:102580000E94CB1A0E949E192F814E816885FF20E0
+:1025900029F00E94AC1B68854E812F81E42FE295C3
+:1025A000EF70F0E0E05AFF4F0C94AE24842F807F50
+:1025B000142F1F70882311F01295107FFF2059F0FF
+:1025C000112309F454C2812F68870E949F1B0E9427
+:1025D000D81B68854CC2862F0E942B12112309F448
+:1025E00091C2812F0E94A51B28960FB6F894DEBFDA
+:1025F0000FBECDBFDF91CF911F910F91FF90EF9054
+:10260000DF90CF900C94D81B342F307F842F8F70A5
+:10261000303211F08295807F662319F0613019F114
+:102620002BC0FF20B1F0222309F493C1213009F01F
+:1026300090C128960FB6F894DEBF0FBECDBFDF91D4
+:10264000CF911F910F91FF90EF90DF90CF900C945E
+:10265000BF1B222319F0213009F454C28E830E943B
+:10266000C21B8E8189C1FF2021F0223008F04AC2AE
+:1026700070C1211147C280C1FF2021F0222309F43B
+:1026800068C1F5C1222309F477C105C2242F26951C
+:102690002695237030E02115310521F021303105D8
+:1026A000C9F030C2FF2021F0862F942F937002C012
+:1026B00080E090E028960FB6F894DEBF0FBECDBF45
+:1026C000DF91CF911F910F91FF90EF90DF90CF900E
+:1026D0000C945D10FF2021F0862F942F937002C080
+:1026E00080E090E028960FB6F894DEBF0FBECDBF15
+:1026F000DF91CF911F910F91FF90EF90DF90CF90DE
+:102700000C947310862FFF2019F00E944F1F02C0F7
+:102710000E94B71F28960FB6F894DEBF0FBECDBF3C
+:10272000DF91CF911F910F91FF90EF90DF90CF90AD
+:102730000C943C20842F837009F076C0F110E2C124
+:10274000262F229526952770220F220F862F8F7015
+:10275000C82ED12CE12CF12C022E04C0CC0CDD1C97
+:10276000EE1CFF1C0A94D2F764FF10C06FE070E00B
+:1027700080E090E004C0660F771F881F991F2A959C
+:10278000D2F7609570958095909503C060E070E0F9
+:10279000CB01242F269526952370422F50E04230FE
+:1027A0005105D1F04330510559F16C297D298E290D
+:1027B0009F294130510541F128960FB6F894DEBFAC
+:1027C0000FBECDBFDF91CF911F910F91FF90EF9082
+:1027D000DF90CF900C94C3196C297D298E299F29F5
+:1027E00028960FB6F894DEBF0FBECDBFDF91CF9114
+:1027F0001F910F91FF90EF90DF90CF900C94DD1917
+:102800000E94C319C701B60128960FB6F894DEBF1F
+:102810000FBECDBFDF91CF911F910F91FF90EF9031
+:10282000DF90CF900C94A919FF2019F0842F8170AC
+:1028300001C08695882309F465C1262F2295269527
+:102840002770220F220F862F8F70C82ED12CE12CDB
+:10285000F12C022E04C0CC0CDD1CEE1CFF1C0A94D3
+:10286000D2F764FF10C06FE070E080E090E004C039
+:10287000660F771F881F991F2A95D2F7609570956C
+:102880008095909503C060E070E0CB01242F2695E1
+:1028900026952370422F50E042305105D1F043304D
+:1028A000510559F16C297D298E299F294130510507
+:1028B00041F128960FB6F894DEBF0FBECDBFDF9171
+:1028C000CF911F910F91FF90EF90DF90CF900C94DC
+:1028D000971A6C297D298E299F2928960FB6F8947E
+:1028E000DEBF0FBECDBFDF91CF911F910F91FF9043
+:1028F000EF90DF90CF900C94B11A0E94971AC70105
+:10290000B60128960FB6F894DEBF0FBECDBFDF919B
+:10291000CF911F910F91FF90EF90DF90CF900C948B
+:102920007D1A603FC9F118F4603E50F49BC0623FCD
+:1029300009F460C008F44AC0633F09F46FC092C054
+:10294000162F1F70842F8F71FF2099F00E94161A86
+:10295000812F28960FB6F894DEBF0FBECDBFDF9152
+:10296000CF911F910F91FF90EF90DF90CF900C943B
+:102970007A120E94371A812F28960FB6F894DEBF7C
+:102980000FBECDBFDF91CF911F910F91FF90EF90C0
+:10299000DF90CF900C948112FF20A1F02111B2C0E2
+:1029A000842F8F7128960FB6F894DEBF0FBECDBF6F
+:1029B000DF91CF911F910F91FF90EF90DF90CF901B
+:1029C0000C945C1A223008F09DC0EACFFF20A1F0E1
+:1029D000842F8F7128960FB6F894DEBF0FBECDBF3F
+:1029E000DF91CF911F910F91FF90EF90DF90CF90EB
+:1029F0000C94161AFF2061F3842F8F7128960FB65E
+:102A0000F894DEBF0FBECDBFDF91CF911F910F9124
+:102A1000FF90EF90DF90CF900C94371AFF2091F049
+:102A2000842F8F7128960FB6F894DEBF0FBECDBFEE
+:102A3000DF91CF911F910F91FF90EF90DF90CF909A
+:102A40000C94011A28960FB6F894DEBF0FBECDBFC6
+:102A5000DF91CF911F910F91FF90EF90DF90CF907A
+:102A60000C94F719FF20A1F0222309F4B1CF862F8F
+:102A700028960FB6F894DEBF0FBECDBFDF91CF9181
+:102A80001F910F91FF90EF90DF90CF900C94631106
+:102A9000222309F4B1CF862F28960FB6F894DEBF13
+:102AA0000FBECDBFDF91CF911F910F91FF90EF909F
+:102AB000DF90CF900C942B124F70C8010E94A50498
+:102AC00028960FB6F894DEBF0FBECDBFDF91CF9131
+:102AD0001F910F91FF90EF90DF90CF900C941E19F3
+:102AE0004F70C80128960FB6F894DEBF0FBECDBF59
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B00000C94E20728960FB6F894DEBF0FBECDBF37
+:102B1000DF91CF911F910F91FF90EF90DF90CF90B9
+:102B200008950E94AC1B0E94BC1B0E94811B0E9446
+:102B3000D81B0E94E8200E943C2080E090E00E9488
+:102B40005D1080E090E00C9473100E949C1B0C942C
+:102B500091150E94CC1A292F22952F7030E02C302D
+:102B600031054CF42A3031056CF422503109223001
+:102B7000310590F407C02C30310551F02F3031056C
+:102B800039F00AC0803E10F0803F31F481E00895B2
+:102B900093FB882780F9089580E00895CF93DF9311
+:102BA00000D000D01F92CDB7DEB70F900F900F90DE
+:102BB0000F900F90DF91CF910895CF93DF9300D0C6
+:102BC00000D000D0CDB7DEB726960FB6F894DEBFA2
+:102BD0000FBECDBFDF91CF9108951F93CF93DF93A9
+:102BE000C091790116E080917A01C81799F0D0E080
+:102BF0001C9FF0011D9FF00D1124E558FE4F4081F0
+:102C0000518162817381848195810E94DD152196B5
+:102C1000C770E9CFDF91CF911F9108954091AB012B
+:102C20005091AC016091AD017091AE018091AF0106
+:102C30009091B0010C94DD15CF938091B0018295F5
+:102C40008F7009F05FC08091AD01882309F45AC0EC
+:102C500020917901A0917A016091AB017091AC0152
+:102C60008091AE019091AF0131E06F3F09F030E00B
+:102C7000B32FC6E02A1709F445C0009721F07F3F23
+:102C800021F44B2F03C041E001C040E030E040FDA3
+:102C900035C0C29FF001C39FF00D1124E558FE4FCF
+:102CA000418174132BC04081641328C042814111BB
+:102CB00025C0438154814817590710F441505109E8
+:102CC000481B590B483C5105C8F48091B0018F70E6
+:102CD00080618093B00186E0829FF001839FF00DB8
+:102CE0001124E058FE4F80818F70806180838BEAD1
+:102CF00091E00E948812CF910C94ED152F5F3F4F09
+:102D00002770B8CFCF910895CF92DF92EF92FF92C4
+:102D10000F931F93CF93DF93CDB7DEB762970FB6B4
+:102D2000F894DEBF0FBECDBF8C0185E0F801DE0157
+:102D30001D9601900D928A95E1F7D8014C9111965C
+:102D40005C91119712966C9112971396ED90FC90EE
+:102D500014977091AB01E091AC012091AE013091DC
+:102D6000AF012115310531F0EF3F31F481E07F3FB4
+:102D700019F403C081E001C080E0B82FB170CB2E00
+:102D800080FD6CC1D090AD01DD2009F4F5C0F0915B
+:102D9000B001E216F30638F0C701821B930B883CA2
+:102DA000910548F09BC0209530952E0D3F1D283C85
+:102DB000310508F093C08F2F807F09F052C0E513D2
+:102DC00014C0741312C0D62E61110FC0FF70F061D1
+:102DD000F093B0010E940E168BEA91E00E948812D7
+:102DE0008091B001F80185836CC1EF2831F05F3F1D
+:102DF00031F481E04F3F19F403C081E001C080E06D
+:102E000080FD03C081E0862701C080E0F82FF170CB
+:102E1000FF2E80FF1CC08091790120917A0136E05D
+:102E2000821709F428C190E0389FF001399FF00D16
+:102E30001124E558FE4F7181571306C07081471366
+:102E400003C07281671303C001968770E9CFD62E45
+:102E5000662309F436C18091B00181608093B0018E
+:102E600053C0E51308C0741306C0611104C0D80133
+:102E70001596FC93AEC04D875E878D859E856A8BC7
+:102E80000E94A9156A89882329F1D62E662311F19B
+:102E90002091B001822F82958F7090E002970CF400
+:102EA00060C08091AB019091AC0198878F831986A7
+:102EB000FB86EA862C87CE01079651C0E51731F1D3
+:102EC0004D875E878D859E856A8B0E94A9156A89CC
+:102ED00081112EC0C8010E948812A4C08F2F807F4C
+:102EE00069F77E2DF98AE88A89890E94CE158BEAD6
+:102EF00091E00E948812EBEAF1E086E0DF011D928A
+:102F00008A95E9F70E940E16D12CDBC07413D8CF36
+:102F10006111D6CFD8011596FC93C8010E94881282
+:102F2000EBEAF1E086E0DF011D928A95E9F7C9C07E
+:102F3000D62E662379F22091B001822F82958F7070
+:102F400090E0029774F08091AB019091AC019A836C
+:102F500089831B82FD82EC822E83CE0101960E9422
+:102F6000881286E0F801ABEAB1E001900D928A95F3
+:102F7000E1F70E941C166FC0E216F30628F0C701A5
+:102F8000821B930B9C0104C0209530952E0D3F1D94
+:102F9000283C310508F052C0D62E662309F49ACF9A
+:102FA000E5132CC074132AC08091B00180FD1DC0B0
+:102FB000982F92959F70C9F0D80115968C9315970C
+:102FC0009F3039F09F5F9295907F8F70892B159677
+:102FD0008C93C8010E94881286E0F801ABEAB1E048
+:102FE00001900D928A95E1F736C086E0F801ABEAD0
+:102FF000B1E001900D928A95E1F763C04D875E873D
+:103000008D859E850E94A915882379F086E0F801B8
+:10301000ABEAB1E001900D928A95E1F70E941C168F
+:103020000E940E16DD24D3944CC08091B0018160C3
+:103030008093B001C8010E94881243C07E2DF98A96
+:10304000E88A89890E94CE15EBEAF1E086E0DF018B
+:103050001D928A95E9F70E940E1633C0662309F483
+:1030600039CF4D875E878D859E850E94A91588235F
+:1030700009F430CFCBCF4D875E878D859E850E942A
+:10308000CC1A292F22952F7030E0223031052CF4F4
+:103090009F7041F0811106C00CC0243031052CF422
+:1030A0009F7049F4805E883020F0C8010E94881229
+:1030B000CF2CDC2C06C0D80115969C91907F91F7FF
+:1030C000F8CF8D2D62960FB6F894DEBF0FBECDBF40
+:1030D000DF91CF911F910F91FF90EF90DF90CF90F4
+:1030E00008951F93CF93DF93CDB7DEB72C970FB61C
+:1030F000F894DEBF0FBECDBF4F83588769877A87AC
+:103100008B879C87CE0107960E9484168823C1F086
+:103110002F8138858A859B85892B31F03F3F11F0BF
+:1031200080E003C02F3FE1F781E0811147C04F816C
+:10313000588569857A858B859C850E94DD153EC002
+:1031400086E0FE013796DE01119601900D928A9578
+:10315000E1F7FF81E8854A855B854115510531F02E
+:10316000EF3F31F481E0FF3F19F403C081E001C07B
+:1031700080E080FD23C020917A0130E0C9010196F2
+:10318000877099276091790170E086179707F1F1B0
+:10319000F983EA835D834C8396E0929FD001939FED
+:1031A000B00D1124A558BE4FFE01319601900D922D
+:1031B0009A95E1F780937A010E94ED1516E08091CF
+:1031C000790190917A01891779F1189FC001112432
+:1031D00085589E4F0E948416882331F1E091790131
+:1031E0001E9FF0011124E558FE4F408151816281FC
+:1031F0007381848195810E94DD158091790190E031
+:1032000001968770992780937901D9CF0E94A515DF
+:1032100010927A0110927901EBEAF1E086E0DF0189
+:103220001D928A95E9F7CACF2C960FB6F894DEBFA7
+:103230000FBECDBFDF91CF911F910895EF92FF9206
+:103240000F931F93CF93DF93FC01009709F46FC096
+:10325000F12CEE24E394EF0121968491843740F41D
+:10326000843008F055C0813081F0823021F15FC098
+:10327000853709F447C0C0F19CE7980F903708F0F4
+:1032800056C08F770E942B1245C08F010E5F1F4FD3
+:10329000FE01849190E2980F983050F48770FE2DD3
+:1032A00001C0FF0F8A95EAF78F2F0E94AF1B15C050
+:1032B0000E94631114C08F010E5F1F4FFE018491A5
+:1032C00090E2980F983068F48770FE2D01C0FF0FD0
+:1032D0008A95EAF78F2F0E94B51B0E94D81BE80140
+:1032E00019C00E942B12FBCFCF010296FE01C491A0
+:1032F000CC2361F0EFE9FFE03197F1F700C0000067
+:10330000C150F6CFCF010296FE01F490EC0102C04D
+:103310000E9463118F2D882341F0EFE9FFE0319780
+:10332000F1F700C000008150F6CFFE0194CFDF918D
+:10333000CF911F910F91FF90EF90089508956093A2
+:10334000B5017093B6018093B7019093B8010C94C6
+:1033500091150F931F930091B5011091B601209123
+:10336000B7013091B801062B172B282B392B00936E
+:10337000B5011093B6012093B7013093B8011F91A6
+:103380000F910C9491150F931F930091B50110911B
+:10339000B6012091B7013091B801062317232823E5
+:1033A00039230093B5011093B6012093B7013093F0
+:1033B000B8011F910F910C9491150F931F930091D9
+:1033C000B5011091B6012091B7013091B8010627DF
+:1033D0001727282739270093B5011093B6012093AA
+:1033E000B7013093B8011F910F910C949115109271
+:1033F000B1011092B2011092B3011092B4010C9479
+:10340000911541E050E060E070E004C0440F551FAA
+:10341000661F771F8A95D2F74093B1015093B2018E
+:103420006093B3017093B4010C94911541E050E0A6
+:1034300060E070E004C0440F551F661F771F8A9537
+:10344000D2F78091B1019091B201A091B301B091F6
+:10345000B401842B952BA62BB72B8093B1019093AD
+:10346000B201A093B301B093B4010C94911541E063
+:1034700050E060E070E004C0440F551F661F771FE6
+:103480008A95D2F740955095609570958091B101DD
+:103490009091B201A091B301B091B401842395231E
+:1034A000A623B7238093B1019093B201A093B301F7
+:1034B000B093B4010C94911541E050E060E070E0ED
+:1034C00004C0440F551F661F771F8A95D2F780915D
+:1034D000B1019091B201A091B301B091B4018427E0
+:1034E0009527A627B7278093B1019093B201A093A7
+:1034F000B301B093B4010C9491150F931F930091F5
+:10350000B1011091B2012091B3013091B401062BA9
+:10351000172B282B392B0093B1011093B201209364
+:10352000B3013093B4011F910F910C9491150F9337
+:103530001F930091B1011091B2012091B30130911C
+:10354000B40106231723282339230093B1011093D4
+:10355000B2012093B3013093B4011F910F910C94E9
+:1035600091150F931F930091B1011091B201209119
+:10357000B3013091B4010627172728273927009374
+:10358000B1011093B2012093B3013093B4011F91A4
+:103590000F910C9491150895CF92DF92EF92FF92C4
+:1035A0000F931F93CF93DF93EC01C090B501D090A0
+:1035B000B601E090B701F090B8018091B10190910F
+:1035C000B201A091B301B091B401C82AD92AEA2A64
+:1035D000FB2A0FE110E0B701A601002E04C076958A
+:1035E0006795579547950A94D2F740FF07C0BE01EB
+:1035F000802F0E9405088130910539F4015011098E
+:1036000050F7BE0180E00E940508DF91CF911F9125
+:103610000F91FF90EF90DF90CF90089590910C0163
+:103620009923D9F090910D019923B9F0982F96958F
+:10363000969596959F3088F5E0910E01F0910F01D7
+:10364000E90FF11D877021E030E001C0220F8A955B
+:10365000EAF78181822B8183089540910E01509178
+:103660000F0120E030E09FEFFA01E20FF31F6281CB
+:10367000681799F09F3F19F4611101C0922F2F5FD5
+:103680003F4F2E30310581F79F3F39F0FA01E90FA6
+:10369000F11D97FDFA9582830895089590910C018C
+:1036A0009923E1F090910D019923C1F0982F9695FF
+:1036B000969596959F3020F5E0910E01F0910F01BF
+:1036C000E90FF11D877021E030E001C0220F8A95DB
+:1036D000EAF72095818128232183089540910E01E6
+:1036E00050910F0120E030E0FA01E20FF31F9281C8
+:1036F000981301C012822F5F3F4F2E303105A1F782
+:10370000089581E090E0E0910E01F0910F01E80F43
+:10371000F91F1082019680319105A9F708959091C3
+:10372000CC01982B9093CC01089580959091CC0179
+:1037300098239093CC0108951092CC010895909114
+:10374000CB01982B9093CB01089580959091CB015C
+:1037500098239093CB0108951092CB0108959091F6
+:10376000CA01982B9093CA01089580959091CA013F
+:1037700098239093CA0108951092CA0108958093E6
+:10378000B90108951092B901089540910E01509128
+:103790000F0120E030E080E0FA01E20FF31F918199
+:1037A00091118F5F2F5F3F4F2F303105A9F708959B
+:1037B000E0910E01F0910F018091CC018083E091A6
+:1037C0000E01F0910F0180819091CB01892B8083B4
+:1037D000E0910E01F0910F0180819091CA01892B37
+:1037E00080839091B901992361F0E0910E01F091ED
+:1037F0000F018081892B80830E94C51B811110924B
+:10380000B90180910E0190910F010C944710CF9255
+:10381000DF92EF92FF920F931F936C01EE24FF242F
+:10382000C114D104E104F10421F46B017C0180E0B6
+:1038300001C080E133272F2D1E2D0D2D01151105FF
+:103840002105310519F0885F68017901970186012A
+:10385000A4E03695279517950795AA95D1F70115F8
+:1038600011052105310519F08C5F68017901970177
+:103870008601F2E03695279517950795FA95D1F7C9
+:10388000011511052105310519F08E5F68017901D7
+:10389000B701A6017695679557954795452B462B19
+:1038A000472B09F08F5F1F910F91FF90EF90DF90F2
+:1038B000CF9008958091E601843009F11092CE01F5
+:1038C00020E488E190E00FB6F894A895809360001A
+:1038D0000FBE2093600083B7817F846083BF83B76E
+:1038E000816083BF7894889583B78E7F83BF88E19A
+:1038F0000FB6F89480936000109260000FBE089598
+:1039000008950895CF930E94801C0E942F060E9464
+:10391000811CC0E08C2F0E941C07811105C0CF5F65
+:10392000CE30C1F780E001C081E0CF9108950E94C0
+:10393000A5150E943B100C94400982E084BD93E0E1
+:1039400095BD9AEF97BD80936E0008952FB7F894B8
+:103950008091CF019091D001A091D101B091D2017D
+:103960002FBF0895CF92DF92EF92FF920F931F9394
+:103970002FB7F8944091CF015091D0016091D101BF
+:103980007091D2012FBF6A017B01EE24FF248C01CC
+:1039900020E030E0C016D106E206F30610F44150F4
+:1039A0005109481B590BCA011F910F91FF90EF90CD
+:1039B000DF90CF9008951F920F920FB60F921124AF
+:1039C0008F939F93AF93BF938091CF019091D0013C
+:1039D000A091D101B091D2010196A11DB11D80939A
+:1039E000CF019093D001A093D101B093D201BF91A8
+:1039F000AF919F918F910F900FBE0F901F901895D0
+:103A00000E94410DF8942FEF87EA91E62150804003
+:103A10009040E1F700C0000087E090EBDC0180936C
+:103A2000EF019093F001A093F101B093F2012CE02B
+:103A300088E190E00FB6F894A895809360000FBEDF
+:103A400020936000FFCFEF92FF920F931F93CF93CD
+:103A5000DF93E82EF12C8F2D0E941C07C0E0D0E0F0
+:103A6000082F10E098010C2E02C0359527950A9476
+:103A7000E2F720FD05C02196C630D10599F709C0AF
+:103A80006C2F7F2D80E00E94E307E812F4CF81E0E5
+:103A900005C0F3948EE0F812DECF80E0DF91CF9185
+:103AA0001F910F91FF90EF900895CF93C82F8CE254
+:103AB0000E94231D882321F08C2FCF910C94231D6D
+:103AC00080E0CF910895CF930E94A81E811102C07B
+:103AD0000E948E1EC5E6C15049F00E942F068FE35A
+:103AE0009CE90197F1F700C00000F5CF89E20E9440
+:103AF000551D811111C18AE20E94551D81110E943C
+:103B00008E1E85E00E94551D81110E94001D0E949D
+:103B1000B31E8093CD0187E00E94551D882399F143
+:103B20008BE10E94551D882351F09091CD0191FBAE
+:103B3000882780F921E0822780FB91F922C08EE05E
+:103B40000E94551D882351F09091CD0192FB88274A
+:103B500080F921E0822780FB92F913C080E10E9466
+:103B6000551D9091CD01882341F093FB882780F962
+:103B700021E0822780FB93F904C0892F809580FB88
+:103B800090F99093CD018091CD010E94B71E0E94C3
+:103B9000C51E8093E00180EE0E94551D882341F0F0
+:103BA0008091E001982F909590FB80F98093E0013F
+:103BB00089E30E94551D882359F09091E00191FB03
+:103BC000882780F921E0822780FB91F99093E0011A
+:103BD00082EE0E94551D882359F09091E00192FBDE
+:103BE000882780F921E0822780FB92F99093E001F9
+:103BF00086EE0E94551D882359F09091E00193FBB9
+:103C0000882780F921E0822780FB93F99093E001D7
+:103C100083EE0E94551D882359F09091E00194FB9A
+:103C2000882780F921E0822780FB94F99093E001B6
+:103C300085E30E94551D882359F09091E00195FB82
+:103C4000882780F921E0822780FB95F99093E00195
+:103C500081E30E94551D882359F09091E00196FB65
+:103C6000882780F921E0822780FB96F99093E00174
+:103C700081E10E94551D882359F09091E00197FB46
+:103C8000882780F921E0822780FB97F99093E00153
+:103C90008091E0010E94C91E8091E00187FB882786
+:103CA00080F980930D0187E20E94551DC82F8EE197
+:103CB0000E94551D8111C2608FE10E94551D811126
+:103CC000C46080E20E94551D8111C86081E20E949B
+:103CD000551D8111C06182E20E94551D8111C06293
+:103CE00083E20E94551D8111C06484E20E94551D2B
+:103CF000882311F0C06802C0CC2329F08C2F0E94C9
+:103D0000C01E6C2F03C00E94BC1E682F70E080E0B4
+:103D100090E0CF910C949F19CF9108956DEE7EEFB6
+:103D200080E090E00E94E42460E082E090E00E9465
+:103D3000D62460E083E090E00E94D62460E084E036
+:103D400090E00E94D62460E085E090E00C94D624B8
+:103D500080E090E00E94D02421E08D3E9E4F09F04B
+:103D600020E0822F089582E090E00C94C824682F10
+:103D700082E090E00C94D62483E090E00C94C82478
+:103D8000682F83E090E00C94D62484E090E00C94BB
+:103D9000C824682F84E090E00C94D6248091D5014B
+:103DA00080FF0BC06091130185E0689FB001112472
+:103DB00075956795759567952AC081FF09C06091D3
+:103DC000130185E0689FB0011124759567951FC0A8
+:103DD00082FF07C06091130185E0689FB001112444
+:103DE00016C04091D6014423C9F0609112014617D4
+:103DF00088F72091130185E0289F90011124429FAC
+:103E0000C001439F900D112470E00E949A246038F5
+:103E1000710540F46115710539F002C065E070E08C
+:103E2000862F08958FE7089581E008958091D50148
+:103E300080FF08C06091110170E0759567957595D8
+:103E4000679521C081FF06C06091110170E07595F2
+:103E5000679519C082FF04C06091110170E010C025
+:103E60008091D6018823C1F0609110018617A0F7D8
+:103E700090911101989FC001112470E00E949A2432
+:103E80006038710528F46115710521F0862F0895B9
+:103E90008FE7089581E0089561E070E0F4CF803FFE
+:103EA00021F40E94CE1E819504C0813F29F40E9416
+:103EB000CE1E8093D9010895823F21F40E94CE1E28
+:103EC000819504C0833F29F40E94CE1E8093D801BF
+:103ED0000895893F19F40E94161F05C08A3F31F4E6
+:103EE0000E94161F81958093DA0108958B3F21F47B
+:103EF0000E94161F819504C08C3F29F40E94161F52
+:103F00008093DB010895843F21F48091D701816083
+:103F100017C0853F21F48091D701826011C0863F90
+:103F200021F48091D70184600BC0873F21F48091F8
+:103F3000D701886005C0883F31F48091D701806146
+:103F40008093D70108958D3F21F48091D501816040
+:103F50000BC08E3F21F48091D501826005C08F3F58
+:103F600029F48091D50184608093D5010895803F24
+:103F700039F48091D90187FF6CC01092D90169C0D2
+:103F8000813F29F48091D9011816BCF362C0909149
+:103F9000D801823F29F497FF5CC01092D80159C024
+:103FA000833F19F41916CCF354C0893F41F4809132
+:103FB000DA0118160CF04DC01092DA014AC08A3F9F
+:103FC00029F48091DA0187FF44C0F6CF8B3F39F4A2
+:103FD0008091DB0187FF3DC01092DB013AC08C3F2E
+:103FE00029F48091DB011816BCF333C0843F21F41F
+:103FF0008091D7018E7F17C0853F21F48091D70132
+:104000008D7F11C0863F21F48091D7018B7F0BC03B
+:10401000873F21F48091D701877F05C0883F31F425
+:104020008091D7018F7E8093D70113C08D3F21F4FB
+:104030008091D5018E7F0BC08E3F21F48091D501F8
+:104040008D7F05C08F3F29F48091D5018B7F8093B0
+:10405000D5018091D80181110EC08091D9018111C3
+:104060000AC08091DA01811106C08091DB018111C3
+:1040700002C01092D601089587ED91E00E9452107F
+:104080000E94A61C9093D4018093D30108951F939E
+:10409000CF93DF938091D3019091D4010E94B21C01
+:1040A0004091D601442321F02091140130E006C054
+:1040B000209115015AE0259F900111248217930742
+:1040C00008F482C08091D8011091D901D091DA0111
+:1040D000C091DB01811107C0111105C0D11103C0CE
+:1040E000CC2309F471C04F3F19F04F5F4093D601C4
+:1040F000181624F40E94CE1E8093D8018091D80116
+:1041000087FF05C00E94CE1E81958093D8011116AD
+:1041100024F40E94CE1E8093D9018091D90187FF9B
+:1041200005C00E94CE1E81958093D9016091D8016F
+:10413000662339F11091D901112319F1772767FD11
+:104140007095872F972F0E94AB2323E333E343E33C
+:104150005FE30E940F240E9478236093D801612FAF
+:10416000772767FD7095872F972F0E94AB2323E356
+:1041700033E343E35FE30E940F240E9478236093BC
+:10418000D9011D1624F40E94161F8093DA01809134
+:10419000DA0187FF05C00E94161F81958093DA011E
+:1041A0001C1624F40E94161F8093DB018091DB0112
+:1041B00087FF05C00E94161F81958093DB01DF9168
+:1041C000CF911F910C943C20DF91CF911F910895C6
+:1041D000E7EDF1E085E0DF011D928A95E9F71092A5
+:1041E000D6011092D5010895833081F128F48130F1
+:1041F00059F08230D1F00895853009F449C0B8F102
+:10420000863009F456C0089520911501862F90E05C
+:10421000820F911D8F3F910520F4620F609315016D
+:1042200008958FEF80931501089520911401862F32
+:1042300090E0820F911D8F3F910520F4620F6093F3
+:10424000140108958FEF80931401089520911301B4
+:10425000862F90E0820F911D8F3F910520F4620F11
+:104260006093130108958FEF8093130108952091B7
+:104270001201862F90E0820F911D8F3F910520F44F
+:10428000620F6093120108958FEF809312010895D9
+:1042900020911101862F90E0820F911D8F3F910593
+:1042A00020F4620F6093110108958FEF8093110144
+:1042B000089520911001862F90E0820F911D8F3F6D
+:1042C000910520F4620F6093100108958FEF8093A1
+:1042D00010010895833011F128F4813049F08230C3
+:1042E00091F00895853081F120F18630C1F1089573
+:1042F00080911501681720F4861B8093150108959D
+:1043000010921501089580911401681720F4861BFE
+:10431000809314010895109214010895809113015F
+:10432000681720F4861B80931301089510921301DF
+:10433000089580911201681720F4861B8093120162
+:10434000089510921201089580911101681720F4C8
+:10435000861B809311010895109211010895809198
+:104360001001681720F4861B8093100108951092A5
+:10437000100108958D3109F442C020F58E3009F402
+:1043800079C070F4873009F45EC020F4863009F4F7
+:1043900042C033C08830D1F18B3009F4A7C02DC0A2
+:1043A000863109F4A3C038F4803109F46DC081313D
+:1043B00009F47BC022C0893109F498C08B3109F41B
+:1043C0004FC01BC0853309F479C048F4873209F423
+:1043D00075C008F478C0893209F470C00EC0833407
+:1043E00038F48A3308F071C0883309F47FC005C0FF
+:1043F000833409F463C08834C1F080E008950E94DA
+:1044000032230E943B100E94400970C00E94B31EDC
+:104410000E94C51E6BC08091CD01817F8E7F8093ED
+:10442000CD0181E08093DD0108950E94A5152FEF55
+:1044300083ED90E3215080409040E1F700C0000000
+:104440000E94001D53C09091CD01892F817090FF73
+:1044500003C0917F9E7F26C091609093CD0146C09E
+:104460009091CD0191FB882780F921E0822780FB84
+:1044700091F913C09091CD0192FB882780F921E03A
+:10448000822780FB92F909C09091CD0193FB882788
+:1044900080F921E0822780FB93F99093CD01882356
+:1044A00029F191609093CD0108950E94A515809106
+:1044B0000D0191E0892780930D0118C061E070E043
+:1044C00080E090E00FC023EE01C027EC280F61E0F0
+:1044D00070E080E090E004C0660F771F881F991F8E
+:1044E0002A95D2F70E949F190E94A51581E0089590
+:1044F00080E0089580E00895CF93C82F8091DD017A
+:10450000813079F018F08230D1F184C0A0910E0191
+:10451000B0910F018C91813169F0823209F07CC039
+:1045200009C0A0910E01B0910F018C91813111F061
+:10453000823249F48C2F0E94782281111DC08C2F69
+:104540000E94BA211AC08C2F0E947A22811114C0B5
+:10455000C43179F048F4CB3079F0C03109F060C053
+:1045600082E08093DD0108C0C93219F0C83321F020
+:1045700057C01092DD0154C081E0817053C0C93230
+:1045800089F118F5C43171F1A8F4C73009F046C0BB
+:104590008AE08093150194E19093140193E0909345
+:1045A00013018093120188E08093110188E28093C7
+:1045B000100134C0CE51C63088F5EC2FF0E0E65D36
+:1045C000FE4F80818093DC0129C0CE34E9F020F4D5
+:1045D000CB3421F56AE013C0C13579F0C235F1F46E
+:1045E00061E00DC08091DC01882319F01092DC019C
+:1045F00015C081E08093DD0115C061E006C08091A7
+:10460000DC010E94F4200AC06AE08091DC010E9473
+:104610006A2104C01092DD0180E004C081E002C084
+:1046200080E0ABCFCF910895E1E8F0E08081886031
+:1046300080838081816080838FB7F89493E090932A
+:10464000890090ED909388008FBF0895EFE6F0E029
+:104650008081826080830895EFE6F0E080818D7F25
+:1046600080830895EFE6F0E0808192E089278083DF
+:1046700008951F920F920FB60F9211242F933F931C
+:104680004F935F936F937F938F939F93AF93BF935A
+:10469000EF93FF938091DE019091DF01019690935B
+:1046A000DF018093DE01811103C082E00E94400996
+:1046B000E091DF01E695E695F0E0E258F74FE491EE
+:1046C0008091DE018E1303C080E00E944009FF91BB
+:1046D000EF91BF91AF919F918F917F916F915F917A
+:1046E0004F913F912F910F900FBE0F901F901895F3
+:1046F00004D06894B1118DC0089570D088F09F5790
+:1047000090F0B92F9927B751A0F0D1F0660F771F1D
+:10471000881F991F1AF0BA95C9F712C0B13081F0FD
+:1047200077D0B1E0089574C0672F782F8827B85FDD
+:1047300039F0B93FCCF3869577956795B395D9F75E
+:104740003EF490958095709561957F4F8F4F9F4F68
+:104750000895E89409C097FB3EF490958095709574
+:1047600061957F4F8F4F9F4F9923A9F0F92F96E9BD
+:10477000BB279395F695879577956795B795F11132
+:10478000F8CFFAF4BB0F11F460FF1BC06F5F7F4FCF
+:104790008F4F9F4F16C0882311F096E911C07723E1
+:1047A00021F09EE8872F762F05C0662371F096E8EA
+:1047B000862F70E060E02AF09A95660F771F881FB9
+:1047C000DAF7880F9695879597F9089557FD9058D1
+:1047D000440F551F59F05F3F71F04795880F97FBC5
+:1047E000991F61F09F3F79F087950895121613067F
+:1047F0001406551FF2CF4695F1DF08C016161706AE
+:104800001806991FF1CF86957105610508940895E2
+:10481000E894BB2766277727CB0197F908950BD03B
+:1048200078C069D028F06ED018F0952309F05AC0EE
+:104830005FC01124EECFCADFA0F3959FD1F3950F8F
+:1048400050E0551F629FF001729FBB27F00DB11D14
+:10485000639FAA27F00DB11DAA1F649F6627B00DA4
+:10486000A11D661F829F2227B00DA11D621F739F8D
+:10487000B00DA11D621F839FA00D611D221F749F9B
+:104880003327A00D611D231F849F600D211D822FE2
+:10489000762F6A2F11249F5750408AF0E1F0882329
+:1048A0004AF0EE0FFF1FBB1F661F771F881F915036
+:1048B0005040A9F79E3F510570F014C0AACF5F3F4A
+:1048C000ECF3983EDCF3869577956795B795F79569
+:1048D000E7959F5FC1F7FE2B880F911D96958795F1
+:1048E00097F9089597F99F6780E870E060E0089570
+:1048F0009FEF80EC089500240A94161617061806F8
+:104900000906089500240A941216130614060506D3
+:104910000895092E0394000C11F4882352F0BB0F64
+:1049200040F4BF2B11F460FF04C06F5F7F4F8F4FC7
+:104930009F4F089597FB072E16F4009407D077FD3C
+:1049400009D00E94B42407FC05D03EF490958195CF
+:104950009F4F0895709561957F4F0895EE0FFF1F4B
+:104960000590F491E02D0994AA1BBB1B51E107C0EF
+:10497000AA1FBB1FA617B70710F0A61BB70B881FEF
+:10498000991F5A95A9F780959095BC01CD0108957E
+:10499000F999FECF92BD81BDF89A992780B5089507
+:1049A000A8E1B0E042E050E00C94EB24262FF99906
+:1049B000FECF1FBA92BD81BD20BD0FB6F894FA9A02
+:1049C000F99A0FBE019608950E94D624272F0C94C1
+:1049D000D724DC01CB01FC01F999FECF06C0F2BD62
+:1049E000E1BDF89A319600B40D9241505040B8F7AD
+:0649F0000895F894FFCFCA
+:1049F60020024209CF09AC09780945090101BA012B
+:104A060028080A03140A3F4D36393F08F207BC0747
+:104A1600830716072F0748076107010203040506E7
+:044A26000708090074
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
index 6534f481a1..f100dd1c5c 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md
+++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
@@ -10,54 +10,66 @@ no rights reserved, use for any purposes, credit me if you are a nice person
## The Base Layout ##
-* The yellow keys are text navigation and manipulation
-* The dark blue keys are shift keys: case shift (traditional shift), symbol shift, and media shift
-* The light blue keys are modifiers: traditional Control, Option, and C ommand keys, plus Hyper and Meh
-* The two green keys, tab and tilde, are in the typical places to ease use of the Application Switcher
-* The red keys is Escape, one of the few buttons which is in an atypical position
+* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh
+* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key
+* Several dark blue keys double for entry of characters which would typically be in those locations
+* The turquoise keys are text navigation and manipulation
+* The red keys is Escape and it is always found in that location no matter what
![Ordinary base layout](ordinary-base.png)
-This layout puts the modifier keys along the bottom of the keyboard where they are on most layouts. They are in the regular order, with the addition of Hyper and Meh keys. The shift key (case shift) is in the prevalent location. The primo slots usually wasted on Caps Lock and Enter are instead used for the Symbol Shift key which promotes use of the Symbols layer. On the right side of the layout, the Symbol and Media shift keys also double as character keys -- quote and backslash, respectively -- so that touch typists can continue to find those punctuation marks in the right place.
+This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer.
-Other than the yellow keys, the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway, so only Escape really requires retraining of muscle memory.
+Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence.
-The four big yellow keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me!; I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
+The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
-The Forward Tab and Backward Tab keys are there mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
+The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
-## The Symbols Layout ##
+## The Symbols Layer ##
-* The periwinkle keys are the eponymous symbols
-* The gray keys are F-Keys
-* The green keys are a proper number pad
-* The red Escape key is found in the "right" location on this layer
-* The yellow keys are the *reverse* of the yellow keys on the base layer
-* The dark blue Media key means that the Media layer is accessible with the left hand
+* The light green keys are the eponymous symbols
+* The bright green keys are F-Keys
+* The dark green keys constitute a number pad
+* The turquoise keys are the *reverse* of the turquoise keys on the base layer
![Ordinary symbol layout](ordinary-symbol.png)
The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout.
The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements:
+
* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers.
* The slash, backslash, and pipe characters are grouped together as a memory aid.
* The & and | symbols are juxtaposed as a memory aid
-The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads. This layout also has an Enter key, and importantly the key codes emitted by this number pad are *number pad specific key codes*, not regular keyboard key codes. Some software distinguishes keypad codes so users now have access to a fully realized number pad when using The Ordinary Layout.
-
-The Escape key's true home is in the top left corner of the keyboard, so on this layer it can be found there. And on the Symbols layer, the Tab key switches to become a Media key, so press Symbols then Media to access the Media layer using the left hand.
+The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons.
-Finally, consider the yellow text-nav keys. In the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
+Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
-## The Media Layout ##
+## The Media Layer ##
-* The light turquoise keys move the mouse or the text cursor
-* The dark turquoise keys scroll
-* The light purple keys signal Web and Audio applications
-* The dark purple keys signal the operating system
-* The red Escape key is, again, found in the "right" location
+* The dark orange keys on the left move the mouse cursor
+* The dark orange keys on the right move the text cursor
+* The light orange keys are for scrolling and paging
+* The bright green keys are more F-keys
+* The dark yellow keys signal Web and Audio applications
+* The light yellow keys signal the operating system
![Ordinary media layout](ordinary-media.png)
-This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
+This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
+
+Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand.
+
+## Switching Between Layers ##
+
+The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; either way works. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.
+
+This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol associated with the Shift Lock button).
+
+## Special Escape Sequence ##
+
+In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, was assigned to the tilde button which is traditionally found in that location. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!
+
+That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.