diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index 81c3ec44f2b..e8b242e4e3c 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -25,12 +25,12 @@ You can also try these instructions: 3. Install [DFU-Programmer][dfu-prog]. ### Linux -Install AVR GCC and dfu-progammer with your favorite package manager. +Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager. Debian/Ubuntu example: sudo apt-get update - sudo apt-get install gcc-avr dfu-programmer + sudo apt-get install gcc-avr avr-libc dfu-programmer ### Vagrant If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md). @@ -52,4 +52,4 @@ If you have any problems building the firmware, you can try using a tool called ## Troubleshooting 1. Try running `make clean` if the make command fails. - WIP \ No newline at end of file + WIP diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png new file mode 100644 index 00000000000..7b5efaae791 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png new file mode 100644 index 00000000000..65f92dda1b6 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png new file mode 100644 index 00000000000..a69799b0734 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/msc/keymap.c b/keyboard/ergodox_ez/keymaps/msc/keymap.c new file mode 100644 index 00000000000..e567e513f97 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | S | D | F | G |------| |------| H | J | K | L | ; |' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Cmd | Alt |AltShf| Left | Right| | Left | Down | Up |Right | L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + KC_LGUI,KC_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,GUI_T(KC_QUOT), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(MDIA), + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | Mute | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | Prev |VolDn |VolUp | Next | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | Lclk | Rclk |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_BTN1, KC_BTN2, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/msc/msc.hex b/keyboard/ergodox_ez/keymaps/msc/msc.hex new file mode 100644 index 00000000000..a466a37af73 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/msc.hex @@ -0,0 +1,1118 @@ +:100000000C9465020C94A9020C94A9020C94A90208 +:100010000C94A9020C94A9020C94A9020C94A902B4 +:100020000C94A9020C94A9020C94AD0B0C947F0CB7 +:100030000C94A9020C94A9020C94A9020C94A90294 +:100040000C94A9020C9404210C94A9020C94A9020A +:100050000C94A9020C94951A0C94A9020C94A90270 +:100060000C94A9020C94A9020C94A9020C94A90264 +:100070000C94A9020C94A9020C94A9020C94A90254 +:100080000C94A9020C94A9020C94A9020C94A90244 +:100090000C94A9020C94A9020C94A9020C94A90234 +:1000A0000C94A9020C94A9020C94A902EC0C0E0D5C +:1000B000FC0D0E0DFC0D530D760DFC0DCB0DDE0D64 +:1000C000C010C010EF10EF10321170118913891396 +:1000D000891189138A128A125D1389138913741383 +:1000E0000000F0A12E004C002A00E100E300000017 +:1000F0001E00140004001D71E2004D001F001A00D4 +:1001000016001B00E1042A0020000800070006007A +:1001100050002C0021001500090019004F004A0072 +:10012000220017000A000500000065745000015409 +:100130000000007F0000E3004F0001540000007742 +:100140000000E20023001C000B00110000002971D8 +:10015000240018000D00100050004B0025000C007A +:100160000E00360051002800260012000F00370054 +:1001700052002B0027001300330038714F004E004F +:100180002D0031003478E500025400000100010028 +:1001900001000100010000003A001E0220022202BC +:1001A000010001003B001F022102230201000100A7 +:1001B0003C002F0226022F00010001003D0030020A +:1001C00027023000010001003E00310235003502F7 +:1001D000000001000100010000000100000001001A +:1001E0000100010000000100000001003F0052007A +:1001F00051002402000001004000240021001E00E4 +:10020000010001004100250022001F00370001000D +:1002100042002600230020002700010043002502A1 +:100220002E0231002E0001004400450001000100B3 +:1002300001000000010001000100010001000000B8 +:1002400001000100010001000100010001000100A6 +:10025000F20001000100F5000100F000F1000100D2 +:100260000100F40001000100F300010001000100A1 +:100270000100010001000100000001000100010077 +:100280000000010000000100010001000000010069 +:100290000000010001000100010001000000010058 +:1002A000010001000100A800AC00010001000100F4 +:1002B00001000100AA00B6000100010001000100D8 +:1002C000A90001000100010001000100AB000100D4 +:1002D00001000100AE00010001000000160345000E +: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 +:10052000FFE3099511E0A0E0B1E0ECE8F5E402C0DA +:1005300005900D92A433B107D9F711E0A4E3B1E01F +:1005400001C01D92AE3EB107E1F70E94F1080C9484 +:10055000C4220C94000061110BC0FC01828188232D +:1005600021F085EE0E945D0F03C085EE0E942510EC +:1005700080E090E0089508956091B1017091B2011A +:100580008091B3019091B4010E94C41956985E986D +: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 +:10082000E30380B38C7080BB81B3836F81BBA6E38D +:10083000B1E0E4E4F1E08EE08E0F11921D928E1390 +:10084000FCCF0C943303BF92CF92DF92EF92FF92D2 +:100850000F931F93CF93DF9380910001882379F04A +:10086000809135018F5F80933501811108C00E940E +:10087000490380930001811102C00E94DB0206E35C +:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455 +:10089000E394F12CC730D10500F58091000181115E +:1008A00064C080E40E949E0380930001811112C005 +:1008B00082E10E94C8038093000181110BC0C7012F +:1008C0000C2E01C0880F0A94EAF780950E94C80395 +:1008D000809300010E94C00348C0CA30A1F028F4F0 +:1008E000C83059F0C93061F005C0CC3089F070F0E3 +:1008F000CD3089F0209A289810C0219A29980DC0EF +:10090000229A2A980AC0239A2B9807C0529A01C0AB +:10091000539A5B9802C03E9A469890EA9A95F1F7EE +:100920009FB1799902C082E001C080E091709D255D +:10093000982B7C9902C084E001C080E0892B7D99CE +:1009400002C038E001C030E0832B7E9902C020E174 +:1009500001C020E0822B9FB19095991F9927991F84 +:100960009295990F907E892B0FC080910001811183 +:1009700049C080E40E949E0380930001882379F19E +:10098000B12C0E94C0038B2DF8019081981719F0AB +:100990008083C09201010E94E30321960F5F1F4FE5 +:1009A000CE30D10509F076CF80910101882361F125 +:1009B000815080930101882339F08FE99FE00197EE +:1009C000F1F700C0000020C0A4E4B1E0E6E3F1E0EC +:1009D000CF01825F91919D938E13FCCF15C083E16F +:1009E0000E94C803809300018111CACF81E40E9454 +:1009F0009E03809300018111C3CF0E94D903B82EBA +:100A0000B094BFCF80E0C0CF0E94D90281E0DF91D7 +:100A1000CF911F910F91FF90EF90DF90CF90BF90FB +:100A20000895E82FF0E0EC5BFE4F80810895089573 +:100A30008B3B910578F4883A910540F5853A91050C +:100A4000D0F48430910508F0B1C08130910509F4EB +:100A5000ADC06BC0803E910508F467C0883E91052B +:100A600008F4A4C09C01205F31092031310508F051 +:100A70005CC090650895853A910509F459C0863A9D +:100A8000910509F058C082E890E40895883A9105EC +:100A900009F454C0893A910509F453C08A3A910582 +:100AA00009F452C08B3A910509F451C08C3A910572 +:100AB00009F450C08D3A910509F44FC0803B91056F +:100AC00009F44EC08E3A910509F44DC08F3A910554 +:100AD00009F44CC0813B910509F44BC0823B910560 +:100AE00009F44AC0833B910509F449C0843B910550 +:100AF00009F448C0853B910509F447C0863B910540 +:100B000009F446C0873B910509F445C0883B91052F +:100B100009F444C0893B910509F443C08A3B91051F +:100B200009F442C080E094E4089580E090E00895E4 +:100B300081E890E4089583E890E4089582EE94E4D7 +:100B4000089589EE94E408958AEE94E4089585EB7F +:100B500094E4089586EB94E4089587EB94E4089573 +:100B60008CEC94E408958DEC94E4089583E895E486 +:100B700008958AE895E4089582E995E4089584E962 +:100B800095E4089581E296E4089583E296E4089559 +:100B900084E296E4089585E296E4089586E296E478 +:100BA000089587E296E408958AE296E40895089508 +:100BB00096E0799FF001112494E5899FE00DF11DE5 +:100BC0001124E60FF11DEE0FFF1FEC51FF4F859131 +:100BD00094910895880F991FFC01E05AF040859187 +:100BE00094910895880F991FFC01E052FF4F859161 +:100BF0009491089526E0729FF001112444E5849FAA +:100C0000E00DF11D1124E60FF11DEE0FFF1FEC5159 +:100C1000FF4F859194919C013A9521154FE134073E +:100C200008F41AC13F512115304120F49F700E94F1 +:100C3000F20508959C0130532115304118F499278D +:100C4000906C0895811520E5920769F40E94AB131A +:100C50004FEF84E39CE0415080409040E1F700C0BA +:100C600000000C94BA1A813020E5920731F480918B +:100C7000CC0181608093CC0108959C0130552115F1 +:100C8000304108F051C0292F33272F7033272130EE +:100C90003105D9F4AC014370552702C0220F331F30 +:100CA0004A95E2F73C68AC0164E0440F551F6A9531 +:100CB000E1F744275370242B352B73E0880F991FDD +:100CC0007A95E1F7807699271DC02230310529F405 +:100CD000982F8827816F906A089523303105A9F4F1 +:100CE000AC014370552721E030E002C0220F331FD2 +:100CF0004A95E2F73C6843E0880F991F4A95E1F76F +:100D0000807E9770822B932B089524303105E1F477 +:100D1000AC014370552721E030E002C0220F331FA1 +:100D20004A95E2F73A68E7CF9C01305721153041E8 +:100D300018F49F70906208959C013058211530413D +:100D400018F49F70906A0895803E9105E0F4803C0D +:100D5000910558F58133910509F46FC048F4893243 +:100D6000910509F463C08A32910509F46DC072C01F +:100D700089339105E9F082389105D1F085339105E9 +:100D800009F44DC067C0833E910581F138F4803E7F +:100D90009105B9F0823E9105D9F05CC0863E91057F +:100DA00061F1873E9105A1F155C00E94EA050895C1 +:100DB0002091DF0120FD02C021FF4CC080EE90E0B9 +:100DC00049C08091DF0180FFF9CF89E390E042C004 +:100DD0008091DF0182FF0EC08091DF0184FF03C09C +:100DE00080E090E037C083EE90E034C08091DF0176 +:100DF00082FFF2CF82EE90E02DC08091DF0183FF71 +:100E00000BC08091DF0184FDEBCF87EE90E022C024 +:100E10008091DF0183FFF5CF86EE90E01BC08091CB +:100E2000DF0185FF07C089E290E014C08091DF01F7 +:100E300085FFF9CF85E390E00DC08091DF0186FF4B +:100E400007C08AE290E006C08091DF0186FFF9CFFB +:100E500081E390E00E941805089508950C942D07F1 +:100E6000809162010895CF93DF9300D01F92CDB798 +:100E7000DEB79C018091E501843019F593E09983F8 +:100E80003B832A839093E9008FEF9091E800815093 +:100E900095FD06C095ED9A95F1F700008111F5CF0B +:100EA0008091E80085FF0DC040E050E063E070E015 +:100EB000CE0101960E949D098091E8008E77809373 +:100EC000E8000F900F900F90DF91CF910895CF938E +:100ED000DF9300D01F92CDB7DEB72091E50124301B +:100EE00021F522E029839B838A8383E08093E900B4 +:100EF0008FEF9091E800815095FD06C095ED9A9591 +:100F0000F1F700008111F5CF8091E80085FF0DC059 +:100F100040E050E063E070E0CE0101960E949D0940 +:100F20008091E8008E778093E8000F900F900F90EB +:100F3000DF91CF9108952091E5012430F1F422E072 +:100F40002093E9002FEF3091E800215035FD06C0D5 +:100F500035ED3A95F1F700002111F5CF2091E80029 +:100F600025FF0BC040E050E065E070E00E949D0965 +:100F70008091E8008E778093E8000895CF93DF9307 +:100F8000EC019091E501943009F046C080910C018C +:100F90008823D9F080910D018823B9F09093E9005E +:100FA0008FEF9091E800815095FD06C095E19A95EC +:100FB000F1F700008111F5CF8091E80085FF2CC08A +:100FC00040E050E060E170E017C081E08093E9000C +:100FD0008FEF9091E800815095FD06C095ED9A95B0 +:100FE000F1F700008111F5CF8091E80085FF14C072 +:100FF00040E050E068E070E0CE010E949D098091E1 +:10100000E8008E778093E80080E1FE01A2E5B1E080 +:1010100001900D928A95E1F7DF91CF91089580912B +:10102000E401811109C00E94320B0E948F0B809154 +:10103000E20084608093E20008951092E401089534 +:1010400008950C94F1200E94501A0E94F7200E94EB +:10105000350E0C942E0742E061EC81E00E94AC0A50 +:1010600042E061EC82E00E94AC0A42E061EC83E085 +:101070000E94AC0A42E161EC84E00C94AC0A8091DD +:10108000E701833009F455C030F4813071F08230CB +:1010900009F48EC008958A3009F47AC08B3009F4BF +:1010A00060C0893009F09CC020C08091E601813A7F +:1010B00009F096C08091E800877F8093E8008091D6 +:1010C000EA019091EB01892B21F460E182E591E046 +:1010D00003C060E080E090E070E00E94E809809149 +:1010E000E8008B778093E80008958091E6018132D3 +:1010F00009F076C08091EA019091EB01009719F018 +:10110000039709F06DC08091E800877F8093E80025 +:101110008091E80082FD05C08091E5018111F8CF42 +:101120005FC08091F100809362018091E8008B772D +:1011300053C08091E601813A09F052C08091EA01E2 +:101140009091EB01892B09F04BC08091E800877FDB +:101150008093E8008091E80080FFFCCF80910C0133 +:1011600036C08091E6018132D9F58091EA019091F3 +:10117000EB01892BA9F58091E800877F8093E80037 +:101180000E94E10A8091E80180930C010C94AB135A +:101190008091E601813221F58091E800877F80937C +:1011A000E8000E94E10A8091E901809363010895BB +:1011B0008091E601813AA1F48091E800877F8093D5 +:1011C000E8008091E80080FFFCCF8091630180936C +:1011D000F1008091E8008E778093E8000C94E10A9A +:1011E000089584B7877F84BF88E10FB6F894809311 +:1011F0006000109260000FBE90E080E80FB6F89497 +:1012000080936100909361000FBE0E94840E0E9443 +:10121000320B0E948F0B8091E20084608093E20089 +:1012200078940E94150E0E94860E82E091E00E9442 +:10123000300E0E94DF208091E501853069F40E9424 +:10124000141A8091E3018823B1F30E943C1A882389 +:1012500091F30E948709EFCF0E948C0EECCF292FCB +:10126000332723303105C9F064F42130310581F092 +:101270002230310509F043C08DE690E020E133E0F3 +:1012800042C021323105F1F02232310541F137C03F +:1012900082E190E02DE733E036C099278130910557 +:1012A00041F08230910541F0892B49F5ECE0F3E003 +:1012B00005C0E4EFF2E002C0ECEDF2E0849190E0D2 +:1012C0009F0121C06430D8F4E62FF0E0EE0FFF1F3D +:1012D000EE5DFE4F2081318189E090E014C06430E2 +:1012E00070F470E0FB01EE0FFF1FE65EFE4F208101 +:1012F0003181FB01EA5EFE4F808190E004C080E016 +:1013000090E020E030E0FA0131832083089580E10D +:1013100089BD82E189BD09B400FEFDCF8091D8006E +:101320008F7D8093D8008091E00082608093E00000 +:101330008091E00081FDFCCF0895CF92DF92EF9283 +:10134000FF920F931F93CF93DF93EC018B016A0100 +:101350000E94000B811133C0C114D10439F0F60191 +:1013600080819181081B190BC80FD91FE12CF12C2A +:101370000115110519F18091E80085FD16C08091D5 +:10138000E8008E778093E800C114D10449F0F6019B +:1013900080819181E80EF91EF182E08285E00FC024 +:1013A0000E94000B882321F30AC089918093F100E9 +:1013B00001501109FFEFEF1AFF0ADACF80E0DF9149 +:1013C000CF911F910F91FF90EF90DF90CF900895F4 +:1013D0002091EC013091ED012617370748F0611597 +:1013E000710539F42091E8002E772093E80001C0C0 +:1013F000B90140E061157105A9F12091E5012223B1 +:1014000009F443C0253009F442C02091E80023FDCF +:1014100040C02091E80022FD32C02091E80020FF6A +:10142000E9CF4091F3002091F20030E0342BFC0131 +:10143000CF016115710559F02830310540F48191D3 +:101440008093F100615071092F5F3F4FF1CF41E070 +:101450002830310509F040E02091E8002E772093F4 +:10146000E800C8CF4111C9CF0AC08091E5018823A7 +:1014700061F0853061F08091E80083FD0AC08091C1 +:10148000E80082FFF2CF80E0089582E0089583E0D3 +:10149000089581E008952091EC013091ED01261727 +:1014A000370748F06115710539F42091E8002E776F +:1014B0002093E80001C0B901FC0120E0611571052D +:1014C00091F18091E501882309F440C0853009F449 +:1014D0003FC08091E80083FD3DC08091E80082FD1F +:1014E0002FC08091E80080FFE9CF2091F300809128 +:1014F000F20090E0922B6115710559F0883091054A +:1015000040F424912093F1003196615071090196C5 +:10151000F2CF21E0089709F020E08091E8008E7773 +:101520008093E800CBCF2111CCCF0AC08091E50198 +:10153000882361F0853061F08091E80083FD0AC066 +:101540008091E80082FFF2CF80E0089582E0089564 +:1015500083E0089581E00895982F973058F590938F +:10156000E900981739F07091EC002091ED0050914E +:10157000F00003C0242F762F50E021FF19C03091D6 +:10158000EB003E7F3093EB003091ED003D7F3093D8 +:10159000ED003091EB0031603093EB007093EC0084 +:1015A0002093ED005093F0002091EE0027FF07C03C +:1015B0009F5FD3CF8F708093E90081E0089580E032 +:1015C00008958091E60187FF11C08091E80082FDB7 +:1015D00005C08091E5018111F8CF11C08091E8002C +:1015E0008B770BC08091E501882349F08091E8005A +:1015F00080FFF8CF8091E8008E778093E80008950F +:101600002091E4003091E50095E64091EC00842FB4 +:10161000817040FF22C08091E80080FD1CC0809155 +:10162000E501882391F0853091F08091EB0085FDF4 +:1016300010C04091E4005091E5004217530729F390 +:101640009A01915011F784E0089582E0089583E0B3 +:10165000089581E0089580E008954091E80042FFF8 +:10166000DECF08950E94A00B0E94A80BE0EEF0E0F0 +:10167000808181608083E8EDF0E080818F778083D6 +:1016800019BCA7EDB0E08C918E7F8C9380818F7E0A +:1016900080831092E40108950F931F93CF93DF93FB +:1016A0000E94A00B0E94A80BC8EDD0E088818F7724 +:1016B000888388818068888388818F7D888319BC2E +:1016C0001092E5011092E1011092E3011092E20103 +:1016D00000EE10E0F80180818B7F8083888181603B +:1016E000888342E060E080E00E94AC0AE1EEF0E036 +:1016F00080818E7F8083E2EEF0E080818160808354 +:10170000808188608083F80180818E7F80838881DA +:1017100080618883DF91CF911F910F910895E8ED4B +:10172000F0E080818F7E8083E7EDF0E08081816052 +:10173000808384E082BF81E08093E4010C944C0BB1 +:10174000E8EDF0E080818E7F80831092E2000895C2 +:101750001092DA001092E10008951F920F920FB6D6 +:101760000F9211242F933F934F935F936F937F9327 +:101770008F939F93AF93BF93EF93FF938091E1007B +:1017800082FF0BC08091E20082FF07C08091E100E0 +:101790008B7F8093E1000E94140E8091DA0080FF1D +:1017A0001FC08091D80080FF1BC08091DA008E7F1F +:1017B0008093DA008091D90080FF0DC080E189BD5F +:1017C00082E189BD09B400FEFDCF81E08093E5018F +:1017D0000E940F0805C019BC1092E5010E941D0867 +:1017E0008091E10080FF19C08091E20080FF15C068 +:1017F0008091E2008E7F8093E2008091E200806120 +:101800008093E2008091D80080628093D80019BC58 +:1018100085E08093E5010E9421088091E10084FF2A +:1018200030C08091E20084FF2CC080E189BD82E15C +:1018300089BD09B400FEFDCF8091D8008F7D8093D3 +:10184000D8008091E1008F7E8093E1008091E200DA +:101850008F7E8093E2008091E20081608093E200BD +:101860008091E101882311F084E007C08091E300BA +:1018700087FD02C081E001C083E08093E5010E9402 +:1018800023088091E10083FF29C08091E20083FF5B +:1018900025C08091E100877F8093E10082E0809302 +:1018A000E5011092E1018091E1008E7F8093E100DB +:1018B0008091E2008E7F8093E2008091E20080615F +:1018C0008093E20042E060E080E00E94AC0A8091F8 +:1018D000F00088608093F0000E942008FF91EF9153 +:1018E000BF91AF919F918F917F916F915F914F9138 +:1018F0003F912F910F900FBE0F901F9018951F9240 +:101900000F920FB60F9211242F933F934F935F9333 +:101910006F937F938F939F93AF93BF93CF93DF93F7 +:10192000EF93FF93C091E900CF708091EC00D82F26 +:10193000D17080FDD0E81092E9008091F000877F9F +:101940008093F00078940E94C30C1092E90080917B +:10195000F00088608093F000CD2BCF70C093E90039 +:10196000FF91EF91DF91CF91BF91AF919F918F91B7 +:101970007F916F915F914F913F912F910F900FBE8B +:101980000F901F9018951F93CF93DF93CDB7DEB7BD +:10199000AA970FB6F894DEBF0FBECDBFE6EEF1E01A +:1019A00088E08E0F9091F10091938E13FBCF0E94EF +:1019B0003F088091E80083FF1FC18091E60190916C +:1019C000E701492F50E04A30510508F015C1FA01EE +:1019D000EA5AFF4F0C947922803881F0823809F05E +:1019E0000BC18091EA018F708093E9008091EB0038 +:1019F00085FB882780F91092E90006C08091E201FA +:101A00009091E301911182609091E800977F90930B +:101A1000E8008093F1001092F100C8C0282F2D7FBC +:101A200009F0EAC0882319F0823061F0E5C08091A6 +:101A3000E801813009F0E0C0933009F080E0809344 +:101A4000E3012BC08091E801811127C08091EA0158 +:101A50008F7009F4D1C08093E9002091EB0020FF42 +:101A60001CC0933021F48091EB00806214C09091EF +:101A7000EB0090619093EB0021E030E0A90102C0FF +:101A8000440F551F8A95E2F74093EA001092EA004E +:101A90008091EB0088608093EB001092E9008091C8 +:101AA000E800877F86C08111A7C01091E8011F77E9 +:101AB0008091E3008078812B8093E3008091E8009F +:101AC000877F8093E8000E94E10A8091E80080FF10 +:101AD000FCCF8091E30080688093E300111102C085 +:101AE00082E001C083E08093E50186C080588230A7 +:101AF00008F082C08091E8019091E9018C3D53E0AB +:101B0000950779F583E08A838AE289834FB7F89451 +:101B1000DE01139620E03EE051E2E32FF0E0509327 +:101B20005700E49120FF03C0E295EF703F5FEF7034 +:101B30008E2F90E0EA3010F0C79601C0C0968D93CA +:101B40009D932F5F243149F74FBF8091E800877F35 +:101B50008093E8006AE270E0CE0101960E94E809F5 +:101B600014C0AE014F5F5F4F6091EA010E942F09E0 +:101B7000BC01892B09F440C09091E800977F9093B5 +:101B8000E80089819A810E944B0A8091E8008B7756 +:101B90008093E80031C0803879F58091E800877F34 +:101BA0008093E8008091E1018093F1008091E8004A +:101BB0008E778093E8000E94E10A1EC081111CC04C +:101BC0009091E8019230C0F48091E800877F809383 +:101BD000E8009093E1010E94E10A8091E101811106 +:101BE00006C08091E30087FD02C081E001C084E06F +:101BF0008093E5010E942B088091E80083FF0AC0D2 +:101C00008091E800877F8093E8008091EB008062FC +:101C10008093EB00AA960FB6F894DEBF0FBECDBF3F +:101C2000DF91CF911F9108950895CF938091E501A1 +:101C30008823A1F0C091E900CF709091EC00892F2A +:101C4000817090FD80E8C82B1092E9008091E80037 +:101C500083FD0E94C30CCF70C093E900CF9108951B +:101C600090936901809368010895E0916801F09173 +:101C70006901309721F00190F081E02D099480E016 +:101C80000895E0916801F0916901309721F0028098 +:101C9000F381E02D09940895E0916801F0916901C4 +:101CA000309721F00480F581E02D0994089520916A +:101CB0006601309167018217930771F09093670175 +:101CC00080936601E0916801F0916901309721F0FD +:101CD0000680F781E02D09940895209164013091E8 +:101CE00065018217930771F09093650180936401F9 +:101CF000E0916801F0916901309721F00084F1854D +:101D0000E02D0994089508950C94830E0E94561AAC +:101D10000E940B040C941C1BCF92DF92EF92FF9257 +:101D20000F931F93CF93DF93CDB7DEB72B970FB6EB +:101D3000F894DEBF0FBECDBF0E9423048BE6C82EF1 +:101D400081E0D82E00E010E0E02E802F0E941105E7 +:101D5000F60141916F01F42EF826B1F40F5F1F4F89 +:101D60000E30110589F78FEF89838A831B820E94C9 +:101D70005F1A8160782F9D838C8349815A816B81A2 +:101D80008D810E942F0F40C09091CC0191FF04C023 +:101D90008B870E9417058B8520E030E04F2D50E0A7 +:101DA000922FBA01022E02C0759567950A94E2F748 +:101DB00060FF24C02E83EF8221E030E0690102C081 +:101DC000CC0CDD1C9A95E2F790E08C219D21892BAB +:101DD00009F420E028870E945F1A8160782F9A8793 +:101DE00089874E815F8168858A850E942F0FF8015F +:101DF000E559FE4F8081C826C08206C02F5F3F4F45 +:101E00002630310569F6AACF0E94031E10916A019F +:101E10000E94350E1817A1F00E94350E80936A01BA +:101E20002B960FB6F894DEBF0FBECDBFDF91CF91DA +:101E30001F910F91FF90EF90DF90CF900C942E07A1 +:101E40002B960FB6F894DEBF0FBECDBFDF91CF91BA +:101E50001F910F91FF90EF90DF90CF900895CF9357 +:101E6000DF93CDB7DEB72B970FB6F894DEBF0FBE6A +:101E7000CDBF4F83588769877A878B87DE0111969C +:101E800086E0FD0111928A95E9F785E0FE0137961B +:101E900001900D928A95E1F749815A816B817C818D +:101EA0008D819E810E9445162B960FB6F894DEBF59 +:101EB0000FBECDBFDF91CF910895CF93882309F452 +:101EC000C2C0C82F823859F40E94350E81FDBBC0B4 +:101ED00089E30E94E1180E949E1989E30CC08338AF +:101EE00079F40E94350E80FDAEC083E50E94E118B2 +:101EF0000E949E1983E50E942319CF910C949E198C +:101F0000843859F40E94350E82FD9DC087E40E94FA +:101F1000E1180E949E1987E4EECF8CEF8C0F813A76 +:101F200048F48C2F0E94442081118DC08C2F0E9478 +:101F3000E118E3CF80E28C0F883048F4C77081E06D +:101F400001C0880FCA95EAF70E946719D6CF8BE5C2 +:101F50008C0F833078F4C53A29F0C63A31F083E823 +:101F600090E005C081E890E002C082E890E0CF9167 +:101F70000C94570E88E58C0F833108F064C0C83A82 +:101F800039F1C93A41F1CA3A49F1CB3A51F1CC3A67 +:101F900059F1CD3A61F1C03B69F1CE3A71F1CF3AD6 +:101FA00079F1C13B81F1C23B89F1C33B91F1C43B63 +:101FB00099F1C53BA1F1C63BA9F1C73BB1F1C83BC3 +:101FC000B9F1C93BC1F1CA3BC9F180E090E038C02A +:101FD00082EE90E035C089EE90E032C08AEE90E06B +:101FE0002FC085EB90E02CC086EB90E029C087EBFA +:101FF00090E026C08CEC90E023C08DEC90E020C0F7 +:1020000083E891E01DC08AE891E01AC082E991E07E +:1020100017C084E991E014C081E292E011C083E22C +:1020200092E00EC084E292E00BC085E292E008C02C +:1020300086E292E005C087E292E002C08AE292E086 +:10204000CF910C946D0ECF910895882309F44BC065 +:10205000823859F40E94350E81FF45C089E30E9401 +:10206000E1180E949E1989E30CC0833871F40E9424 +:10207000350E80FF38C083E50E94E1180E949E194A +:1020800083E50E9423190C949E19843859F40E9408 +:10209000350E82FF28C087E40E94E1180E949E1935 +:1020A00087E4EFCF9CEF980F913A58F390E2980FA6 +:1020B000983050F4877091E001C0990F8A95EAF743 +:1020C000892F0E946D19DFCF9BE5980F933020F484 +:1020D00080E090E00C94570E885A833120F480E021 +:1020E00090E00C946D0E0895882321F00E946719EA +:1020F0000C949E190895882321F00E946D190C9468 +:102100009E190895BF92CF92DF92EF92FF920F93A4 +:102110001F93CF93DF9300D000D000D0CDB7DEB7B0 +:1021200025E0FC01DE01119601900D922A95E1F760 +:10213000FC01408131810281258122952F706381CC +:102140007481672B09F4E5C23F3F19F44F3F09F44E +:10215000E0C27C0149833A8389819A812E830E945F +:10216000A018182FB92E0E949F180E946617EB2DF9 +:10217000E295EF70F0E0E05AFF4F2E810C94792247 +:102180008B2D807F9B2D9F70F92E882319F0F29460 +:1021900080EFF822002349F0FF2009F467C28F2D59 +:1021A0000E9477190E949E1961C2812F0E942510FA +:1021B000FF2009F4AEC28F2D0E947D1926960FB61E +:1021C000F894DEBF0FBECDBFDF91CF911F910F916D +:1021D000FF90EF90DF90CF90BF900C949E193B2D15 +:1021E000307F8B2D8F70303211F08295807F1123DC +:1021F00019F0113021F12CC00023B9F0222309F489 +:10220000A0C1213009F09DC126960FB6F894DEBF1B +:102210000FBECDBFDF91CF911F910F91FF90EF9037 +:10222000DF90CF90BF900C948719222319F02130B2 +:1022300009F46FC28E830E948A198E8196C1002391 +:1022400021F0223008F065C27CC1211162C28DC12B +:10225000002321F0222309F474C108C2222309F4C7 +:1022600084C119C22B2D26952695237030E02115A7 +:10227000310521F021303105D1F04BC2002321F08E +:10228000812F9B2D937002C080E090E026960FB6C0 +:10229000F894DEBF0FBECDBFDF91CF911F910F919C +:1022A000FF90EF90DF90CF90BF900C94570E0023DB +:1022B00021F0812F9B2D937002C080E090E0269644 +:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147 +:1022D0000F91FF90EF90DF90CF90BF900C946D0E18 +:1022E000812F002319F00E940B1D02C00E94731D54 +:1022F00026960FB6F894DEBF0FBECDBFDF91CF910B +:102300001F910F91FF90EF90DF90CF90BF900C94B2 +:10231000F81D8B2D837009F07BC00111FAC1812F4C +:10232000829586958770880F880F912F9F70C92E90 +:10233000D12CE12CF12C082E04C0CC0CDD1CEE1CA1 +:10234000FF1C0A94D2F714FF12C04FE050E060E087 +:1023500070E004C0440F551F661F771F8A95D2F79F +:10236000CB01BA01609570958095909503C060E0AF +:1023700070E0CB012B2D269526952370422F50E03F +:1023800042305105D9F04330510569F16C297D295E +:102390008E299F294130510551F126960FB6F894A8 +:1023A000DEBF0FBECDBFDF91CF911F910F91FF9088 +:1023B000EF90DF90CF90BF900C948D176C297D2902 +:1023C0008E299F2926960FB6F894DEBF0FBECDBF8B +:1023D000DF91CF911F910F91FF90EF90DF90CF9001 +:1023E000BF900C94A9170E948D17C701B6012696BD +:1023F0000FB6F894DEBF0FBECDBFDF91CF911F9116 +:102400000F91FF90EF90DF90CF90BF900C947117D9 +:10241000002319F08B2D817001C08695882309F463 +:1024200078C1812F829586958770880F880F912FAC +:102430009F70C92ED12CE12CF12C082E04C0CC0C9D +:10244000DD1CEE1CFF1C0A94D2F714FF12C04FE0F3 +:1024500050E060E070E004C0440F551F661F771F16 +:102460008A95D2F7CB01BA016095709580959095C9 +:1024700003C060E070E0CB012B2D269526952370DC +:10248000422F50E042305105D9F04330510569F1F7 +:102490006C297D298E299F294130510551F12696BD +:1024A0000FB6F894DEBF0FBECDBFDF91CF911F9165 +:1024B0000F91FF90EF90DF90CF90BF900C94671832 +:1024C0006C297D298E299F2926960FB6F894DEBFA8 +:1024D0000FBECDBFDF91CF911F910F91FF90EF9075 +:1024E000DF90CF90BF900C9483180E946718C701AB +:1024F000B60126960FB6F894DEBF0FBECDBFDF91B2 +:10250000CF911F910F91FF90EF90DF90CF90BF90F0 +:102510000C944B18103FD1F118F4103E50F4A1C0A8 +:10252000123F09F463C008F44CC0133F09F473C0B0 +:1025300098C01F708B2D8F710023A1F00E94E417AB +:10254000812F26960FB6F894DEBF0FBECDBFDF9168 +:10255000CF911F910F91FF90EF90DF90CF90BF90A0 +:102560000C9474100E940518812F26960FB6F894CB +:10257000DEBF0FBECDBFDF91CF911F910F91FF90B6 +:10258000EF90DF90CF90BF900C947B100023A9F0C8 +:102590002111BFC08B2D8F7126960FB6F894DEBF28 +:1025A0000FBECDBFDF91CF911F910F91FF90EF90A4 +:1025B000DF90CF90BF900C942A18223008F0A9C069 +:1025C000E9CF0023A9F08B2D8F7126960FB6F894D2 +:1025D000DEBF0FBECDBFDF91CF911F910F91FF9056 +:1025E000EF90DF90CF90BF900C94E417002359F345 +:1025F0008B2D8F7126960FB6F894DEBF0FBECDBF20 +:10260000DF91CF911F910F91FF90EF90DF90CF90CE +:10261000BF900C940518002399F08B2D8F7126968E +:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3 +:102630000F91FF90EF90DF90CF90BF900C94CF1749 +:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7 +:102650001F910F91FF90EF90DF90CF90BF900C945F +:10266000C5170023A9F0222309F4ADCF812F2696A8 +:102670000FB6F894DEBF0FBECDBFDF91CF911F9193 +:102680000F91FF90EF90DF90CF90BF900C945D0F73 +:10269000222309F4ADCF812F26960FB6F894DEBF22 +:1026A0000FBECDBFDF91CF911F910F91FF90EF90A3 +:1026B000DF90CF90BF900C9425104B2D4F70612F61 +:1026C000C7010E94AB0226960FB6F894DEBF0FBE7C +:1026D000CDBFDF91CF911F910F91FF90EF90DF90D1 +:1026E000CF90BF900C94E9164B2D4F70612FC7010E +:1026F00026960FB6F894DEBF0FBECDBFDF91CF9107 +:102700001F910F91FF90EF90DF90CF90BF900C94AE +:10271000D70526960FB6F894DEBF0FBECDBFDF916A +:10272000CF911F910F91FF90EF90DF90CF90BF90CE +:1027300008950E9484190E9459190E949E190E94AE +:10274000A91E0E94F81D80E090E00E94570E80E0D4 +:1027500090E00C946D0E0E9474190C9499130E94D1 +:10276000A018292F22952F7030E02C3031054CF421 +:102770002A3031056CF4225031092230310588F4B9 +:1027800007C02C30310549F02F30310531F009C038 +:10279000803E48F0803F29F406C093FB882780F9EB +:1027A000089580E0089581E00895CF93DF9300D0ED +:1027B00000D01F92CDB7DEB70F900F900F900F9003 +:1027C0000F90DF91CF910895CF93DF9300D000D089 +:1027D00000D0CDB7DEB726960FB6F894DEBF0FBE99 +:1027E000CDBFDF91CF9108951F93CF93DF93C09119 +:1027F000790116E080917A01C81799F0D0E01C9F0A +:10280000F0011D9FF00D1124E558FE4F40815181CC +:1028100062817381848195810E94E4132196C7703F +:10282000E9CFDF91CF911F9108954091AB01509175 +:10283000AC016091AD017091AE018091AF019091BA +:10284000B0010C94E4138091B00182958F7009F06F +:1028500054C08091AD01882309F44FC08091790163 +:10286000A0917A016091AB017091AC014091AE01F1 +:102870005091AF01B6E08A1709F43FC090E04115CE +:102880005105C1F17F3F11F46F3FA1F1B89FF001F5 +:10289000B99FF00D1124E558FE4F218172132AC013 +:1028A0002081621327C02281211124C02381348119 +:1028B0002417350710F421503109241B350B283C0F +:1028C0003105C0F42091B0012F7020612093B00138 +:1028D00026E0289FF001299FF00D1124E058FE4FBB +:1028E00080818F70806180838BEA91E00E948210EA +:1028F0000C94F41301968770BECF0895CF92DF92A7 +:10290000EF92FF920F931F93CF93DF93CDB7DEB774 +:1029100062970FB6F894DEBF0FBECDBF8C0185E085 +:10292000F801DE011D9601900D928A95E1F7D8011C +:102930004C9111965C91119712966C911297139687 +:10294000CD90DC9014973091AB017091AC018091E7 +:10295000AE019091AF01009709F46BC17F3F19F46C +:102960003F3F09F466C1E090AD01EE2009F4C0C01C +:102970002091B001C816D90628F0F601E81BF90B22 +:10298000CF0104C0809590958C0D9D1DFF24F3947C +:10299000883C910578F0F12C207F09F0C6C07C2D91 +:1029A000D98AC88A89890E94D5138BEA91E00E944E +:1029B0008210B1C0822F807F09F046C0751314C009 +:1029C000341312C0611110C02F7020612093B00128 +:1029D0000E9415148BEA91E00E9482108091B00150 +:1029E000D80115968C932EC0CD2819F15F3F11F4B4 +:1029F0004F3FF9F0F62E61111CC0809179012091B2 +:102A00007A0136E0821709F45AC090E0389FF0014D +:102A1000399FF00D1124E558FE4F7181571306C000 +:102A20007081471303C07281711103C001968770D2 +:102A3000E9CFF62E662309F418C18091B0018160B8 +:102A40008093B001F12C11C1751308C0341306C076 +:102A5000611104C08091B001D801C3C04D875E8769 +:102A60008D859E856A8B0E94AF136A898823E1F168 +:102A70006623D1F12091B001822F82958F7090E072 +:102A8000029774F08091AB019091AC0198878F838D +:102A90001986DB86CA862C87CE0107960E94821093 +:102AA00086E0F801ABEAB1E001900D928A95E1F77A +:102AB0000E9423140E941514FF24F394D6C04D875E +:102AC0005E878D859E850E94A018292F22952F70E4 +:102AD00030E0223031050CF0BCC09F7009F0B6C068 +:102AE000805E883008F4C1C0C8010E948210E4CF23 +:102AF000C816D90608F453C0F601E81BF90BCF013C +:102B0000883C910508F450C0F12C7C2DD98AC88AE4 +:102B100089890E94D513EBEAF1E086E0DF011D927E +:102B20008A95E9F70E941514A0C0751314C03413D8 +:102B300012C0611110C08091B001F8018583C801F5 +:102B40000E94821086E0EBEAF1E0DF011D928A9597 +:102B5000E9F7FE2C8AC04D875E878D859E856A8B3E +:102B60000E94AF136A89882309F4BECF662309F453 +:102B7000BBCF2091B001822F82958F7090E0029799 +:102B80000CF48ECF8091AB019091AC019A83898334 +:102B90001B82DD82CC822E83CE0101967FCF809571 +:102BA00090958C0D9D1DACCFF62E662309F49CCF1D +:102BB00075132EC034132CC02091B00120FD1FC00E +:102BC000822F82958F70D9F0D80115962C93159786 +:102BD0008F3049F08F5F982F9295907F822F8F7062 +:102BE000892B15968C93C8010E94821086E0F8010B +:102BF000ABEAB1E001900D928A95E1F793CF86E0C0 +:102C0000F801ABEAB1E001900D928A95E1F72DC091 +:102C10004D875E878D859E850E94AF13811140CFC1 +:102C20008091B00181608093B001C8010E94821040 +:102C30001CC0662309F458CF4D875E878D859E851D +:102C40000E94AF13882309F44FCF2ACF811148CFB8 +:102C50000CC0243031050CF047CF9F7009F440CFF1 +:102C6000F8019581907F09F03BCF8F2D62960FB6CA +:102C7000F894DEBF0FBECDBFDF91CF911F910F91B2 +:102C8000FF90EF90DF90CF9008951F93CF93DF9345 +:102C9000CDB7DEB72C970FB6F894DEBF0FBECDBF11 +:102CA0004F83588769877A878B879C87CE010796E1 +:102CB0000E947E14882369F08F8198852A853B8540 +:102CC000232BF1F19F3F09F063C08F3F09F060C0F3 +:102CD00037C086E0FE013796DE01119601900D9215 +:102CE0008A95E1F76F817885EA85FB85309741F118 +:102CF0007F3F11F46F3F21F120917A0130E0C9014B +:102D00000196877099274091790150E084179507C3 +:102D100009F447C069837A83FD83EC8396E0929F30 +:102D2000D001939FB00D1124A558BE4FFE013196DE +:102D300001900D929A95E1F780937A010E94F41325 +:102D400016E08091790190917A018917C1F1189F5D +:102D5000C001112485589E4F0E947E14882379F16A +:102D6000E09179011E9FF0011124E558FE4F40814A +:102D7000518162817381848195810E94E4138091E5 +:102D8000790190E001968770992780937901D9CFD6 +:102D90004F81588569857A858B859C850E94E413CF +:102DA000CFCF0E94AB1310927A0110927901EBEA17 +:102DB000F1E086E0DF011D928A95E9F7C1CF2C96FC +:102DC0000FB6F894DEBF0FBECDBFDF91CF911F913C +:102DD0000895EF92FF920F931F93CF93DF938C018F +:102DE000892B09F46CC0F12CEE24E394E8012196C0 +:102DF000F8018491843740F4843008F051C0813068 +:102E000081F0823019F15BC0853709F444C0A8F124 +:102E10009CE7980F903708F052C08F770E942510DA +:102E200041C00E5F1F4FFE01C49180E28C0F8830BD +:102E300048F4C7708E2D01C0880FCA95EAF70E942A +:102E4000771914C08C2F0E945D0F2DC00E5F1F4F8D +:102E5000FE01C49180E28C0F883058F4C7708E2D2B +:102E600001C0880FCA95EAF70E947D190E949E1939 +:102E70001AC08C2F0E94251016C00E5F1F4FFE0136 +:102E8000C491CC2381F08FE99FE00197F1F700C056 +:102E90000000C150F6CF0E5F1F4FFE01F49003C03B +:102EA0000E945D0F8E018F2D882309F49FCFEFE9DB +:102EB000FFE03197F1F700C000008150F5CFDF91BE +:102EC000CF911F910F91FF90EF9008950895609317 +:102ED000B5017093B6018093B7019093B8010C943B +:102EE00099130F931F930091B5011091B601209192 +:102EF000B7013091B801DC01CB01802B912BA22BC3 +:102F0000B32B8093B5019093B601A093B701B09312 +:102F1000B8011F910F910C9499130F931F93009177 +:102F2000B5011091B6012091B7013091B801DC01D3 +:102F3000CB0180239123A223B3238093B5019093E7 +:102F4000B601A093B701B093B8011F910F910C94F3 +:102F500099130F931F930091B5011091B601209121 +:102F6000B7013091B801DC01CB0180279127A2275E +:102F7000B3278093B5019093B601A093B701B093A6 +:102F8000B8011F910F910C9499131092B1011092F6 +:102F9000B2011092B3011092B4010C94991341E064 +:102FA00050E060E070E004C0440F551F661F771FBB +:102FB0008A95D2F74093B1015093B2016093B30167 +:102FC0007093B4010C94991341E050E060E070E01C +:102FD00004C0440F551F661F771F8A95D2F7809152 +:102FE000B1019091B201A091B301B091B401482B0D +:102FF000592B6A2B7B2B4093B1015093B201609304 +:10300000B3017093B4010C94991341E050E060E077 +:1030100070E004C0440F551F661F771F8A95D2F7D2 +:1030200040955095609570958091B1019091B20155 +:10303000A091B301B091B401482359236A237B23A3 +:103040004093B1015093B2016093B3017093B40106 +:103050000C94991341E050E060E070E004C0440F2C +:10306000551F661F771F8A95D2F78091B101909105 +:10307000B201A091B301B091B401482759276A2742 +:103080007B274093B1015093B2016093B3017093D9 +:10309000B4010C9499130F931F930091B1011091F7 +:1030A000B2012091B3013091B401DC01CB01802B3E +:1030B000912BA22BB32B8093B1019093B201A093DB +:1030C000B301B093B4011F910F910C9499130F9316 +:1030D0001F930091B1011091B2012091B301309181 +:1030E000B401DC01CB0180239123A223B32380937D +:1030F000B1019093B201A093B301B093B4011F91B9 +:103100000F910C9499130F931F930091B10110919B +:10311000B2012091B3013091B401DC01CB018027D1 +:103120009127A227B3278093B1019093B201A09376 +:10313000B301B093B4011F910F910C9499130895AA +:10314000CF92DF92EF92FF920F931F93CF93DF9373 +:103150008C01C090B501D090B601E090B701F0901D +:10316000B8014091B1015091B2016091B3017091E9 +:10317000B401C42AD52AE62AF72ACFE1D0E0D70144 +:10318000C6010C2E04C0B695A795979587950A940D +:10319000D2F780FF07C0B8018C2F0E94FA0581305A +:1031A000910531F4219758F7B80180E00E94FA05A3 +:1031B000DF91CF911F910F91FF90EF90DF90CF9013 +:1031C000089590910C01992321F090910D01911196 +:1031D00009C020910E0130910F01F90132969FEF45 +:1031E00040E01FC0982F9695969596959F3050F584 +:1031F000E0910E01F0910F01E90FF11D877021E0C0 +:1032000030E0A90102C0440F551F8A95E2F7CA01B8 +:103210009181892B818308959F3F39F04F5F4E3014 +:1032200041F051915813F8CF0DC05111F7CF942FA1 +:10323000F5CF9F3F39F0F901E90FF11D97FDFA95A0 +:1032400082830895089590910C01992321F0909123 +:103250000D01911109C020910E0130910F01F9016A +:103260003296205F3F4F1FC0982F96959695969562 +:103270009F30F0F4E0910E01F0910F01E90FF11D84 +:10328000877021E030E0A90102C0440F551F8A95E4 +:10329000E2F7CA018095918189238183089531964F +:1032A000E217F30729F090819813F9CF1082F7CF36 +:1032B000089581E090E0E0910E01F0910F01E80F98 +:1032C000F91F1082019680319105A9F70895909118 +:1032D000CB01892B8093CB01089580959091CB01F0 +:1032E00089238093CB0108951092CB01089590918A +:1032F000CA01892B8093CA01089580959091CA01D3 +:1033000089238093CA0108951092CA010895809379 +:10331000B90108951092B901089580910E0190911C +:103320000F01FC0131969C01205F3F4F80E091919D +:1033300091118F5FE217F307D1F70895E0910E0125 +:10334000F0910F018091CB018083E0910E01F0910B +:103350000F0190818091CA01892B80838091B901EE +:10336000882361F0E0910E01F0910F019081892B8B +:1033700080830E948D1981111092B90180910E01F4 +:1033800090910F010C94410ECF92DF92EF92FF9239 +:103390006C01EE24FF24C114D104E104F10421F0F6 +:1033A000C701B60120E101C020E0C72ED82EE92ECA +:1033B000FF24C114D104E104F10419F0285FC7010E +:1033C000B6016B017C0154E0F694E794D794C7945E +:1033D0005A95D1F7C114D104E104F10419F02C5F1E +:1033E000C701B6016B017C0142E0F694E794D794E3 +:1033F000C7944A95D1F7C114D104E104F10419F03E +:103400002E5FC701B601DC01CB01B695A795979554 +:103410008795892B8A2B8B2B09F02F5F822FFF90AA +:10342000EF90DF90CF9008958091E501843009F10D +:103430001092CD0120E488E190E00FB6F894A895B1 +:10344000809360000FBE2093600083B7817F84600B +:1034500083BF83B7816083BF7894889583B78E7F5D +:1034600083BF88E10FB6F8948093600010926000EB +:103470000FBE089508950895CF930E943A1A0E94AE +:1034800023040E943B1AC0E08C2F0E941105811179 +:1034900004C0CF5FCE30C1F701C081E0CF91089565 +:1034A0000E94AB130E94350E0C942E0782E084BD5F +:1034B00093E095BD9AEF97BD80936E0008952FB766 +:1034C000F8948091CE019091CF01A091D001B0915C +:1034D000D1012FBF0895CF92DF92EF92FF920F9309 +:1034E0001F932FB7F8944091CE015091CF01609176 +:1034F000D0017091D1012FBF6A017B01EE24FF241E +:103500008C0120E030E0C016D106E206F30610F48C +:10351000415051099A01281B390BC9011F910F9184 +:10352000FF90EF90DF90CF9008951F920F920FB60B +:103530000F9211248F939F93AF93BF938091CE01ED +:103540009091CF01A091D001B091D1010196A11D20 +:10355000B11D8093CE019093CF01A093D001B09381 +:10356000D101BF91AF919F918F910F900FBE0F909E +:103570001F9018950E94320BF8942FEF87EA91E67E +:10358000215080409040E1F700C0000087E090EBC0 +:10359000DC018093EE019093EF01A093F001B093D2 +:1035A000F1019CE088E10FB6F894A8958093600043 +:1035B0000FBE90936000FFCFEF92FF920F931F9387 +:1035C000CF93DF93D82FC0E08C2F0E94110500E02D +:1035D00010E0E82EF12CC701002E02C095958795CA +:1035E0000A94E2F780FD06C00F5F1F4F06301105F9 +:1035F00091F709C0602F7C2F80E00E94D805D81376 +:10360000F3CF81E004C0CF5FCE30F1F680E0DF91F0 +:10361000CF911F910F91FF90EF900895CF93C82FF6 +:103620008CE20E94DC1A882321F08C2FCF910C941D +:10363000DC1A80E0CF910895CF930E94631C811122 +:1036400002C00E94491CC5E6C15049F00E942304F3 +:103650008FE39CE90197F1F700C00000F5CF89E204 +:103660000E940E1B811113C18AE20E940E1B811160 +:103670000E94491C85E00E940E1B81110E94BA1A0B +:103680000E946E1C8093CC0187E00E940E1B882351 +:10369000A9F18BE10E940E1B882351F08091CC018F +:1036A00081FB222720F991E0922790FB81F90EC03F +:1036B0008EE00E940E1B882361F08091CC0182FB7A +:1036C000222720F991E0922790FB82F98093CC0188 +:1036D00015C080E10E940E1B9091CC01882341F01F +:1036E00093FB222720F981E0822780FB93F904C015 +:1036F000892F809580FB90F99093CC018091CC012B +:103700000E94721C0E94801C8093DF0180EE0E9448 +:103710000E1B882341F08091DF01982F909590FB3C +:1037200080F98093DF0189E30E940E1B882359F002 +:103730008091DF0181FB222720F991E0922790FB05 +:1037400081F98093DF0182EE0E940E1B882359F0DD +:103750008091DF0182FB222720F991E0922790FBE4 +:1037600082F98093DF0186EE0E940E1B882359F0B8 +:103770008091DF0183FB222720F991E0922790FBC3 +:1037800083F98093DF0183EE0E940E1B882359F09A +:103790008091DF0184FB222720F991E0922790FBA2 +:1037A00084F98093DF0185E30E940E1B882359F082 +:1037B0008091DF0185FB222720F991E0922790FB81 +:1037C00085F98093DF0181E30E940E1B882359F065 +:1037D0008091DF0186FB222720F991E0922790FB60 +:1037E00086F98093DF0181E10E940E1B882359F046 +:1037F0008091DF0187FB222720F991E0922790FB3F +:1038000087F98093DF018091DF010E94841C809101 +:10381000DF0187FB882780F980930D0187E20E94F2 +:103820000E1BC82F8EE10E940E1B8111C2608FE11A +:103830000E940E1B8111C46080E20E940E1B811148 +:10384000C86081E20E940E1B8111C06182E20E9469 +:103850000E1B8111C06283E20E940E1B8111C064A5 +:1038600084E20E940E1B882311F0C06802C0CC23A2 +:1038700029F08C2F0E947B1C6C2F03C00E94771CA8 +:10388000682F70E080E090E0CF910C946717CF91A3 +:1038900008956DEE7EEF80E090E00E94AF2260E040 +:1038A00082E090E00E94A12260E083E090E00E942C +:1038B000A12260E084E090E00E94A12260E085E027 +:1038C00090E00C94A12280E090E00E949B2221E0F5 +:1038D0008D3E9E4F09F020E0822F089582E090E017 +:1038E0000C949322682F82E090E00C94A12283E054 +:1038F00090E00C949322682F83E090E00C94A12236 +:1039000084E090E00C949322682F84E090E00C9483 +:10391000A1228091D40180FF0BC06091130185E04A +:10392000689FB001112475956795759567952BC0B3 +:1039300081FF09C06091130185E0689FB0011124E7 +:103940007595679520C082FF07C06091130185E0DF +:10395000689FB001112417C09091D5019923D1F02F +:1039600060911201961788F72091130185E0289F36 +:1039700090011124929FA001939F500D112470E09B +:10398000CA010E9465226038710540F46115710515 +:1039900039F002C065E070E0862F08958FE7089542 +:1039A00081E008958091D40180FF08C060911101E9 +:1039B00070E0759567957595679521C081FF06C084 +:1039C0006091110170E07595679519C082FF04C080 +:1039D0006091110170E010C09091D5019923C1F060 +:1039E000609110019617A0F780911101899FC00185 +:1039F000112470E00E9465226038710528F4611579 +:103A0000710521F0862F08958FE7089581E00895CC +:103A100061E070E0F4CF803F21F40E94891C819521 +:103A200004C0813F29F40E94891C8093D801089525 +:103A3000823F21F40E94891C819504C0833F29F4B0 +:103A40000E94891C8093D7010895893F19F40E9430 +:103A5000D21C05C08A3F31F40E94D21C819580930C +:103A6000D90108958B3F21F40E94D21C819504C096 +:103A70008C3F29F40E94D21C8093DA010895843F80 +:103A800021F48091D601816017C0853F21F4809197 +:103A9000D601826011C0863F21F48091D6018460F6 +:103AA0000BC0873F21F48091D601886005C0883F14 +:103AB00031F48091D60180618093D60108958D3FC5 +:103AC00021F48091D40181600BC08E3F21F480915C +:103AD000D401826005C08F3F29F48091D4018460B5 +:103AE0008093D4010895803F39F48091D80187FFF5 +:103AF0006CC01092D80169C0813F29F48091D8012F +:103B00001816BCF362C09091D701823F29F497FF49 +:103B10005CC01092D70159C0833F19F41916CCF339 +:103B200054C0893F41F48091D90118160CF04DC062 +:103B30001092D9014AC08A3F29F48091D90187FFA8 +:103B400044C0F6CF8B3F39F48091DA0187FF3DC046 +:103B50001092DA013AC08C3F29F48091DA011816EC +:103B6000BCF333C0843F21F48091D6018E7F17C00F +:103B7000853F21F48091D6018D7F11C0863F21F4CD +:103B80008091D6018B7F0BC0873F21F48091D601B5 +:103B9000877F05C0883F31F48091D6018F7E809366 +:103BA000D60113C08D3F21F48091D4018E7F0BC0CC +:103BB0008E3F21F48091D4018D7F05C08F3F29F481 +:103BC0008091D4018B7F8093D4018091D7018111A2 +:103BD0000EC08091D80181110AC08091D901811154 +:103BE00006C08091DA01811102C01092D5010895BA +:103BF00086ED91E00E944C0E0E945F1A9093D301D3 +:103C00008093D20108951F93CF93DF938091D201C7 +:103C10009091D3010E946B1AAC019091D501992328 +:103C200021F02091140130E006C0209115018AE0B6 +:103C3000289F900111244217530708F486C08091F1 +:103C4000D701C091D801D091D9011091DA01811129 +:103C500007C0C11176C0D11174C0111172C075C0F6 +:103C60009F3F19F09F5F9093D501181624F40E948E +:103C7000891C8093D7018091D70187FF05C00E94DE +:103C8000891C81958093D7011C1624F40E94891CFD +:103C90008093D8018091D80187FF05C00E94891CBC +:103CA00081958093D8016091D701662339F1C09145 +:103CB000D801CC2319F1772767FD7095872F972FAF +:103CC0000E94762123E333E343E35FE30E94DA219A +:103CD0000E9443216093D7016C2F772767FD709571 +:103CE000872F972F0E94762123E333E343E35FE39B +:103CF0000E94DA210E9443216093D8011D1624F40A +:103D00000E94D21C8093D9018091D90187FF05C000 +:103D10000E94D21C81958093D901111624F40E942F +:103D2000D21C8093DA018091DA0187FF05C00E94DE +:103D3000D21C81958093DA01DF91CF911F910C9471 +:103D4000F81D9F3F09F08ECF96CFDF91CF911F9145 +:103D50000895E6EDF1E085E0DF011D928A95E9F72F +:103D60001092D5011092D4010895833081F128F486 +:103D7000813059F08230D1F00895853009F449C07E +:103D8000B8F1863009F456C0089580911501262FA8 +:103D900030E0280F311D2F3F310524F4680F609368 +:103DA000150108958FEF80931501089580911401F6 +:103DB000262F30E0280F311D2F3F310524F4680FE6 +:103DC0006093140108958FEF8093140108958091FA +:103DD0001301262F30E0280F311D2F3F310524F429 +:103DE000680F6093130108958FEF80931301089576 +:103DF00080911201262F30E0280F311D2F3F310511 +:103E000024F4680F6093120108958FEF80931201DC +:103E1000089580911101262F30E0280F311D2F3F8A +:103E2000310524F4680F6093110108958FEF80939A +:103E30001101089580911001262F30E0280F311DC7 +:103E40002F3F310524F4680F6093100108958FEF20 +:103E5000809310010895833011F128F4813049F0E6 +:103E6000823091F00895853081F120F18630C1F1E2 +:103E7000089580911501681720F4861B8093150121 +:103E8000089510921501089580911401681720F487 +:103E9000861B809314010895109214010895809157 +:103EA0001301681720F4861B809313010895109264 +:103EB0001301089580911201681720F4861B8093E6 +:103EC000120108951092120108958091110168174E +:103ED00020F4861B8093110108951092110108951A +:103EE00080911001681720F4861B809310010895BB +:103EF0001092100108950F931F938D3109F46BC038 +:103F000008F03FC08E3009F47DC0C0F4873009F45A +:103F10006EC068F4863009F0AFC08091CC01817F1B +:103F20008E7F8093CC0181E08093DC01A6C0883035 +:103F300009F458C08B3009F49BC09EC0863109F447 +:103F400097C078F4803109F470C0813109F094C0D1 +:103F50000E94AB1390910D0181E0892780930D01A0 +:103F600087C0893109F484C08B3109F085C0809104 +:103F7000CC0181FB222720F991E0922790FB81F967 +:103F80004AC0853309F45BC048F4873209F457C04E +:103F900008F45AC0893209F452C06EC0833438F430 +:103FA0008A3308F067C0883309F462C065C083347F +:103FB00009F445C0883409F05FC00E94AB130FEFCD +:103FC00013ED20E3015010402040E1F700C0000055 +:103FD0000E94BA1A4DC00E94FD200E94350E0E9418 +:103FE0002E0746C00E946E1C0E94801C41C090910A +:103FF000CC01892F817090FF12C0917F9E7F90939A +:10400000CC013BC08091CC0182FB222720F991E0BA +:10401000922790FB82F98093CC01992349F18091FA +:10402000CC0181608093CC0123C08091CC0183FBC3 +:10403000222720F991E0922790FB83F9ECCF61E0F1 +:1040400070E080E090E010C08D5141E050E060E011 +:1040500070E08A019B0104C0000F111F221F331F53 +:104060008A95D2F7C901B8010E9467170E94AB1365 +:1040700081E003C08953E9CF80E01F910F9108953B +:1040800080E0089580E00895CF93C82F8091DC01EF +:10409000813079F018F08230E9F187C0E0910E01AB +:1040A000F0910F018081813169F0823209F07FC087 +:1040B00009C0E0910E01F0910F018081813111F072 +:1040C000823261F48C2F0E944020811104C08C2F19 +:1040D0000E947B1F1DC081E090E01AC08C2F0E94BF +:1040E0004220811114C0C43179F048F4CB3079F00A +:1040F000C03109F060C082E08093DC0108C0C932A1 +:1041000019F0C83321F057C01092DC0154C081E08F +:10411000817053C0C93289F118F5C43171F1A8F426 +:10412000C73009F046C08AE08093150194E190936E +:10413000140193E0909313018093120188E080931F +:10414000110188E28093100134C0CE51C63088F549 +:10415000EC2FF0E0E65DFE4F80818093DB0129C00B +:10416000CE34E9F020F4CB3421F56AE013C0C13538 +:1041700079F0C235F1F461E00DC08091DB01882354 +:1041800019F01092DB0115C081E08093DC0115C0AD +:1041900061E006C08091DB010E94B51E0AC06AE0A2 +:1041A0008091DB010E942B1F04C01092DC0180E093 +:1041B00004C081E002C080E0ABCFCF910895E1E878 +:1041C000F0E08081886080838081816080838FB708 +:1041D000F89493E09093890090ED909388008FBFBE +:1041E0000895EFE6F0E08081826080830895EFE635 +:1041F000F0E080818D7F80830895EFE6F0E090818C +:1042000082E08927808308951F920F920FB60F9244 +:1042100011242F933F934F935F936F937F938F93CB +:104220009F93AF93BF93EF93FF938091DD019091A4 +:10423000DE0101969093DE018093DD01811103C0C0 +:1042400082E00E942E07E091DE01E695E695F0E01F +:10425000E657FB4FE4918091DD018E1303C080E0AF +:104260000E942E07FF91EF91BF91AF919F918F9187 +:104270007F916F915F914F913F912F910F900FBE62 +:104280000F901F90189504D06894B1118DC00895B7 +:1042900070D088F09F5790F0B92F9927B751A0F0B0 +:1042A000D1F0660F771F881F991F1AF0BA95C9F7CA +:1042B00012C0B13081F077D0B1E0089574C0672F9B +:1042C000782F8827B85F39F0B93FCCF3869577957A +:1042D0006795B395D9F73EF4909580957095619563 +:1042E0007F4F8F4F9F4F0895E89409C097FB3EF48E +:1042F00090958095709561957F4F8F4F9F4F992333 +:10430000A9F0F92F96E9BB279395F69587957795B0 +:104310006795B795F111F8CFFAF4BB0F11F460FF70 +:104320001BC06F5F7F4F8F4F9F4F16C0882311F0C8 +:1043300096E911C0772321F09EE8872F762F05C0DC +:10434000662371F096E8862F70E060E02AF09A9577 +:10435000660F771F881FDAF7880F9695879597F96C +:10436000089557FD9058440F551F59F05F3F71F065 +:104370004795880F97FB991F61F09F3F79F08795CC +:104380000895121613061406551FF2CF4695F1DF55 +:1043900008C0161617061806991FF1CF86957105E5 +:1043A000610508940895E894BB2766277727CB0119 +:1043B00097F908950BD078C069D028F06ED018F026 +:1043C000952309F05AC05FC01124EECFCADFA0F3D5 +:1043D000959FD1F3950F50E0551F629FF001729F9A +:1043E000BB27F00DB11D639FAA27F00DB11DAA1FB9 +:1043F000649F6627B00DA11D661F829F2227B00D06 +:10440000A11D621F739FB00DA11D621F839FA00D90 +:10441000611D221F749F3327A00D611D231F849FE0 +:10442000600D211D822F762F6A2F11249F57504037 +:104430008AF0E1F088234AF0EE0FFF1FBB1F661FD2 +:10444000771F881F91505040A9F79E3F510570F08B +:1044500014C0AACF5F3FECF3983EDCF386957795C6 +:104460006795B795F795E7959F5FC1F7FE2B880F86 +:10447000911D9695879597F9089597F99F6780E81C +:1044800070E060E008959FEF80EC089500240A94A6 +:104490001616170618060906089500240A9412161F +:1044A0001306140605060895092E0394000C11F452 +:1044B000882352F0BB0F40F4BF2B11F460FF04C0FF +:1044C0006F5F7F4F8F4F9F4F089597FB072E16F416 +:1044D000009407D077FD09D00E947F2207FC05D009 +:1044E0003EF4909581959F4F0895709561957F4F0B +:1044F0000895EE0FFF1F0590F491E02D0994AA1B7B +:10450000BB1B51E107C0AA1FBB1FA617B70710F0BE +:10451000A61BB70B881F991F5A95A9F780959095F0 +:10452000BC01CD010895F999FECF92BD81BDF89AE5 +:10453000992780B50895A8E1B0E042E050E00C94DE +:10454000B622262FF999FECF1FBA92BD81BD20BD9C +:104550000FB6F894FA9AF99A0FBE019608950E9440 +:10456000A122272F0C94A222DC01CB01FC01F99996 +:10457000FECF06C0F2BDE1BDF89A319600B40D92AF +:0C45800041505040B8F70895F894FFCF68 +:10458C0020023007BE079B07670733070101BA01FA +:10459C0028080A03140A3F4D36394B04FE03C8039E +:1045AC008F0322033B0354036D030102030405062E +:0445BC0007080900E3 +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/msc/readme.md b/keyboard/ergodox_ez/keymaps/msc/readme.md new file mode 100644 index 00000000000..0d14fcbd29b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/readme.md @@ -0,0 +1,32 @@ +# MSC Configuration + +### Based mostly on the ErgoDox EZ default layout with optimizations for coding on osx. + +#### Expecting the user to rely on Coder Layer this keymap removes some of the duplicate symbol keys in the lower portions of the board and replaces them with arrow keys and modifiers. The Media Layer is also updated to match the change in the arrow keys and the left and right click buttons are moved under the thumb position. The Media layer is now reached with toggle button in the lower right. + +### Main Layer + +![Main Layer](img/main_layer.png) + +### Code Layer + +![Code Layer](img/code_layer.png) + +### Media Layer + +![Media Layer](img/media_layer.png) + +## Changelog + +Version 1.0 + +- Changed the temp code layer key in the bottom right to toggle media layer +- Changed the temp media key to only be ";" +- Changed right hand bottom row to match vim home row nav directions +- Changed media keys to match arrow key changes +- Changed media left and right click to spacebar and backspace locations +- Changed bottom left to Cmd +- Changed single quote on left bottom row to alt + +#### Coming Soon: +- A new layer for Blender editing with a focus on left hand shortcut and a righthand num pad to control the view in Blender. diff --git a/keyboard/ergodox_ez/keymaps/naps62/README.md b/keyboard/ergodox_ez/keymaps/naps62/README.md new file mode 100644 index 00000000000..14728e4cc49 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/README.md @@ -0,0 +1,29 @@ +# ErgoDox EZ naps62 Configuration + +## Motivation + +I wanted a layout that suited my Linux & Vim usage. I also didn't like the lack of efficient access to some of the more common special characters used in programming. + +## Key features / changes + +### Base Layer (L1) + +* **No `MT(mod, kc)` keys (modifier when pressed, key when tapped).** Those keys work with a global timeout. When a key press is shorter than the timeout, it's considered a tap, otherwise it's a hold. I couldn't find any particular timeout that would work for me. I need to use mods extremely fast, but also want the confort of using them more slowly in other occasions. So I gave up on this feature altogether. +* **Direct access to `{}[]`.** When programming, these are used extremely often. I was still getting used to the coder layer, and I prefer the arrows on the home row, so I used the bottom-right keys for this. +* **Layer keys everywhere.** I either use my little finger or my index finger to go to L1, whichever is more confortable in any given situation. L2 is not used while coding/writing, so I don't need an extremely-optimized access to it. +* **Lang key.** This is nothing more than `Super-Space` combo, which in my systems (both Linux & Windows) is the shortcut to change the keyboard language. I'm Portuguese, so I often cycle between US layout for coding, and PT layout for writing. +* **Special chars on the right-most column.** I only use Ctrl & Shift keys on the left side, so I used the right keys to include some of the more useful special characters as well. + +### Coder Layer (L2) + +* The `=` and `-` signs where nowhere to be found. `-` was already on the base layer, but it's still useful to have a fully-featured NumPad on the coder layer. + +### Media Layer (L3) + +* **Better media keys**. Why was Play/Pause so far away? And where was Mute? I put all my media keys close to each other, including the missing ones +* **Arrow keys on home row.** I use vim, so I'm always on my home row. I use this sometimes to get around, but not as often as to need them on the base row. I'm fine with them here +* I don't use mouse keys. They're still set up, and I made some changes as an experiment, but I mostly forgot they exist by now. + +## Author + +[Miguel Palhas](https://github.com/naps62) diff --git a/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex b/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex new file mode 100644 index 00000000000..e5f213ba827 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex @@ -0,0 +1,1474 @@ +:100000000C9402070C9449070C9449070C94490777 +:100010000C9449070C9449070C9449070C94490720 +:100020000C9449070C9449070C9472120C944413D5 +:100030000C9449070C9449070C9449070C94490700 +:100040000C9449070C94082C0C9449070C9449070C +:100050000C9449070C9401220C9449070C9449070D +:100060000C9449070C9449070C9449070C944907D0 +:100070000C9449070C9449070C9449070C944907C0 +:100080000C9449070C9449070C9449070C944907B0 +:100090000C9449070C9449070C9449070C944907A0 +:1000A0000C9449070C9449070C944907B113D313D6 +:1000B000C614D313C61418143B14C6149014A314F6 +:1000C000F117F1172018201863189D18AA1AAA1AF8 +:1000D000B618AA1AAB19AB197E1AAA1AAA1A951A37 +:1000E0000000F0A12D002B002971E100C1000000EB +:1000F0001E00140004001D003500E2001F001A005D +:1001000016001B003400E000200008000700060075 +:1001100050002C0021001500090019004F82E30057 +:10012000220017000A00050000004A812C08015433 +:100130000000007F00004D8249000254000000775B +:1001400000004B8223001C000B00110000004E81B8 +:10015000240018000D0010002F024C0025000C0098 +:100160000E00360030022C00260012000F0037006F +:100170002F002800270013003300380030002A0029 +:100180002D00310034712D72C1000000010001000A +:1001900001000100010000003A001E0220022202BC +:1001A000010001003B001F022102230201000100A7 +:1001B0003C002F0226022F00010001003D0030020A +:1001C00027023000010001003E00310235003502F7 +:1001D000000001000100010000000100000001001A +:1001E0000100010000000100000001003F0052007A +:1001F00051002402000001004000240021001E00E4 +:100200002E0001004100250022001F0037000100E0 +:1002100042002600230020002700010043002502A1 +:100220002E0231002D0001004400450001000100B4 +:100230000100000000500100010001000100000069 +:1002400001000100040801000100010001001A087A +:10025000160801000100F500010008080708010068 +:100260000100F4000100F400F100010001000100B0 +:1002700001001708F3000100000001000100010067 +:100280000000010000000100010001000000010069 +:100290000000010001000100F20001000000010067 +:1002A0000100F400F100AA00AE0001000100F50019 +:1002B000F000A900AC00B70001000100F300A800A5 +:1002C000AB00B600010001000100010001000100C7 +:1002D0000100010001000100010000000A002530BA +:1002E000313662003A200025303258000A722F63FE +:1002F0002030313233343536373839414243444582 +:10030000460A000A002530325800626F756E636538 +:10031000213A20006C6566742073696465206174FD +:100320007461636865640A006C656674207369644F +:1003300065206E6F7420726573706F6E64696E678E +:100340000A00747279696E6720746F207265736534 +:1003500074206D637032333031380A000A444542EC +:1003600055473A20656E61626C65642E0A005B73C6 +:100370005D004B6579626F617264207374617274A1 +:100380002E0A005B575D005B535D005B525D005BB6 +:10039000445D005B435D0016034500720067006F1B +:1003A0000044006F007800200045005A000000164D +:1003B000034500720067006F0044006F0078002062 +:1003C0000045005A0000000403090409028D0005DD +:1003D0000100A0FA09040000010301010009211134 +:1003E000010001223F000705810308000A090401FA +:1003F000000103010200092111010001224D000743 +:1004000005820308000A0904020001030000000934 +:1004100021110100012236000705830308000A09A3 +:100420000403000203000000092111010001222041 +:1004300000070584032000010705040320000109CB +:100440000404000103000000092111010001223908 +:1004500000070585031000011201100100000008CB +:10046000EDFE071301000102000105010906A101CB +:10047000050719E029E71500250195087501810296 +:100480000508190129059505750191029501750366 +:100490009101050719002977150025019578750147 +:1004A0008102C00631FF0974A1010975150025FFFD +:1004B0009520750881020976150025FF952075089D +:1004C0009102C005010980A101850216010026B72D +:1004D000001A01002AB700751095018100C0050CB3 +:1004E0000901A1018503160100269C021A01002AB8 +:1004F0009C02751095018100C005010902A1010946 +:1005000001A10005091901290515002501950575A9 +:100510000181029501750381010501093009311539 +:1005200081257F95027508810609381581257F95FB +:100530000175088106050C0A38021581257F950191 +:1005400075088106C0C005010906A101050719E06B +:1005500029E71500250195087501810295017508A7 +:10056000810105081901290595057501910295017B +:10057000750391010507190029FF150025FF950650 +:1005800075088100C00A002530325820006B65795B +:10059000626F6172645F7265706F72743A20000AF4 +:1005A0000025303258006B6579626F6172645F7349 +:1005B00065745F6C65643A200064656C5F6B657997 +:1005C0005F6269743A2063616E27742064656C3AD7 +:1005D00020253032580A006164645F6B65795F6280 +:1005E00069743A2063616E2774206164643A20253F +:1005F0003032580A00646F6E652E0A00626F6F67B2 +:100600006D61676963207363616E3A202E2E2E2020 +:1006100000290A002575002F002575005D2800259A +:10062000640020002564002000256400200025646B +:10063000007C0025303258006D6F7573656B6579ED +:10064000205B62746E7C782079207620685D287249 +:1006500065702F61636C293A205B006D6B5F776872 +:1006600065656C5F74696D655F746F5F6D6178203F +:100670003D2025640A006D6B5F776865656C5F6D72 +:1006800061785F7370656564203D2025640A006DA4 +:100690006B5F74696D655F746F5F6D6178203D207D +:1006A00025640A006D6B5F6D61785F7370656564CA +:1006B000203D2025640A006D6B5F696E746572765B +:1006C000616C203D2025640A006D6B5F64656C6180 +:1006D00079203D2025640A006D6B5F776865656C45 +:1006E0005F74696D655F746F5F6D6178203D202573 +:1006F000640A006D6B5F776865656C5F6D61785F3C +:100700007370656564203D2025640A006D6B5F741D +:10071000696D655F746F5F6D6178203D2025640AA7 +:10072000006D6B5F6D61785F7370656564203D205F +:1007300025640A006D6B5F696E74657276616C206A +:100740003D2025640A006D6B5F64656C6179203D16 +:100750002025640A000A00257500363A207768656E +:10076000656C5F74696D655F746F5F6D61783A2069 +:10077000000A00257500353A20776865656C5F6D65 +:1007800061785F73706565643A20000A0025750022 +:10079000343A2074696D655F746F5F6D61783A20DB +:1007A000000A00257500333A206D61785F7370652B +:1007B00065643A20000A00257500323A20696E749B +:1007C000657276616C286D73293A20000A002575E0 +:1007D00000313A2064656C6179282A31306D7329C3 +:1007E0003A20000A092D2056616C756573202D0A88 +:1007F000004D3E004D25643E20003F00736574208F +:1008000064656661756C740A00433E200077686514 +:1008100072652064656C74613A20637572736F72DF +:100820003D25642C20776865656C3D25640A536519 +:100830006520687474703A2F2F656E2E77696B6926 +:1008400070656469612E6F72672F77696B692F4DD0 +:100850006F7573655F6B6579730A000A092D204D0A +:100860006F7573656B6579202D0A4553432F713A77 +:1008700009717569740A313A0964656C6179282ACD +:1008800031306D73290A323A09696E746572766186 +:100890006C286D73290A333A096D61785F7370654E +:1008A00065640A343A0974696D655F746F5F6D61E0 +:1008B000780A353A09776865656C5F6D61785F73B2 +:1008C000706565640A363A09776865656C5F7469B6 +:1008D0006D655F746F5F6D61780A0A703A097072B6 +:1008E000696E742076616C7565730A643A09736584 +:1008F000742064656661756C74730A75703A092BAF +:10090000310A646F776E3A092D310A706775703A53 +:10091000092B31300A7067646F776E3A092D3130D8 +:100920000A0A7370656564203D2064656C746120FB +:100930002A206D61785F7370656564202A202872B3 +:100940006570656174202F2074696D655F746F5FD9 +:100950006D6178290A003F004D3E2000433E200093 +:100960004C25640A000A092D20436F6E736F6C6575 +:10097000202D0A4553432F713A09717569740A6D28 +:100980003A096D6F7573656B65790A000A092D2048 +:100990004D61676963202D0A643A09646562756771 +:1009A0000A783A096465627567206D6174726978C6 +:1009B0000A6B3A096465627567206B6579626F61DD +:1009C00072640A6D3A096465627567206D6F7573AC +:1009D000650A763A0976657273696F6E0A733A0929 +:1009E0007374617475730A633A09636F6E736F6C25 +:1009F00065206D6F64650A302D343A096C61796544 +:100A000072302D34284631302D4634290A50617514 +:100A1000733A09626F6F746C6F616465720A653A4C +:100A200009656570726F6D0A6E3A094E4B524F0A36 +:100A30007A3A09736C656570204C4544207465737F +:100A4000740A000A002575002E6E6B726F3A200042 +:100A50000A002575002E737761705F6261636B73A6 +:100A60006C6173685F6261636B73706163653A2088 +:100A7000000A002575002E737761705F67726176DA +:100A8000655F6573633A20000A002575002E6E6F5E +:100A90005F6775693A20000A002575002E7377613B +:100AA000705F72616C745F726775693A20000A004A +:100AB0002575002E737761705F6C616C745F6C6775 +:100AC00075693A20000A002575002E636170736C09 +:100AD0006F636B5F746F5F636F6E74726F6C3A20DD +:100AE000000A002575002E737761705F636F6E7466 +:100AF000726F6C5F636170736C6F636B3A20000A96 +:100B00000025303258006B65796D61705F636F6EE0 +:100B10006669672E7261773A20000A002575002EFB +:100B20006D6F7573653A20000A002575002E6B65A0 +:100B300079626F6172643A20000A002575002E6D9B +:100B400061747269783A20000A002575002E656E7E +:100B500061626C653A20000A0025303258006465F5 +:100B60006275675F636F6E6669672E7261773A20A0 +:100B7000000A0025750064656661756C745F6C61C0 +:100B80007965723A20003F004E4B524F3A206F6613 +:100B9000660A004E4B524F3A206F6E0A0074696D20 +:100BA00065725F636F756E743A202530346C580A35 +:100BB000006B6579626F6172645F6E6B726F3A2071 +:100BC00025580A006B6579626F6172645F69646CB5 +:100BD000653A2025580A006B6579626F6172645F1F +:100BE00070726F746F636F6C3A2025580A00686FDB +:100BF00073745F6B6579626F6172645F6C65647357 +:100C000028293A2025580A000A092D2053746174B6 +:100C10007573202D0A004743433A20352E332E307A +:100C2000204156522D4C4942433A20312E382E3124 +:100C300073766E204156525F415243483A206176A6 +:100C400072350A004F5054494F4E533A204C554686 +:100C50004120424F4F544D41474943204D4F55533A +:100C6000454B45592045585452414B455920434F17 +:100C70004E534F4C4520434F4D4D414E44204E4B1B +:100C8000524F203531320A004255494C443A203601 +:100C9000386366663764202832323A33323A303568 +:100CA000204A616E2033302032303136290A005616 +:100CB00049443A20307846454544284572676F4498 +:100CC0006F7820455A29205049443A2030783133F2 +:100CD0003037284572676F446F7820455A2920566F +:100CE00045523A203078303030310A004445534381 +:100CF0003A20742E6D2E6B2E206B6579626F6172B7 +:100D000064206669726D7761726520666F72204536 +:100D100072676F646F780A000A092D205665727336 +:100D2000696F6E202D0A000A6D6F7573653A206F2A +:100D300066660A000A6D6F7573653A206F6E0A0069 +:100D40000A6B6579626F6172643A206F66660A00A9 +:100D50000A6B6579626F6172643A206F6E0A000AED +:100D60006D61747269783A206F66660A000A6D6177 +:100D7000747269783A206F6E0A000A64656275675A +:100D80003A206F6E0A000A64656275673A206F66E2 +:100D9000660A000A0A626F6F746C6F616465722E76 +:100DA0002E2E2000433E20006565636F6E666967E6 +:100DB0003A0A00536C656570204C45442074657395 +:100DC000740A0000000000000000000000000102A2 +:100DD00004060A0F17202C3A4A5D71879DB3C7DAC3 +:100DE000E9F5FCFFFCF5E9DAC7B39D87715D4A3A86 +:100DF0002C20170F0A06040201000000000000006A +:100E00000000000011241FBECFEFDAE0DEBFCDBF2F +:100E100004B603FE27C08091F8019091F901A091DA +:100E2000FA01B091FB018730904BA740B04BD1F451 +:100E30001092F8011092F9011092FA011092FB0140 +:100E400014BE84B7877F84BF0FB6F894A8958091AD +:100E50006000886180936000109260000FBEE0E047 +:100E6000FFE3099511E0A0E0B1E0EAECFBE502C088 +:100E700005900D92AA33B107D9F721E0AAE3B1E0BA +:100E800001C01D92A83FB207E1F70E94AD0F0C947C +:100E9000E32D0C940000FF93EF93E0913A01F09161 +:100EA0003B01309709F00995EF91FF910895FC01FE +:100EB0008591803011F0EFDFFBCF0895FF27E0E24E +:100EC00030E247FF0CC0419597FF09C0EDE2609505 +:100ED000709580959095611D711D811D911D27FF55 +:100EE00002C0219530E350E2AA27660F771F881FC2 +:100EF000991FAA1FA41710F0A41B63955A95A9F770 +:100F0000AA3008F0A95FA05DAF93F3956115710554 +:100F10008105910541F7ED3211F4EF93F395F21746 +:100F200018F43F93F395FBCF8F91B5DFFA95E1F776 +:100F30000895E991F9918591803021F0853219F079 +:100F4000AADFF9CF089520E0E89455915532C1F316 +:100F5000503311F4689455915A3348F4505390F338 +:100F6000220F022E220F220F200D250FF4CF0EF498 +:100F7000219589919991533619F3533729F15335B6 +:100F800059F1BC0188279927E8945C3621F48991AE +:100F9000999168945591543639F446EF7EF077FF75 +:100FA0000DC08FEF9FEF0AC055374AE039F0583532 +:100FB00040E121F0523642E009F00895FF93EF93AB +:100FC0007DDFEF91FF91B7CFFF93EF93FC0181910C +:100FD0008030B9F360DFFBCFFF93EF9368DFF1CF91 +:100FE000DF93CF93CDB7DEB72596A3DFCF91DF9107 +:100FF000089561110BC0FC018281882321F085EEE8 +:101000000E948B1603C085EE0E94531780E090E08B +:10101000089508956091BC017091BD018091BE0159 +:101020009091BF010E94022156985E9825982D98B4 +:1010300026982E9827982F98813019F0823021F029 +:101040000895259A2D9A0895269A2E9A08958AE051 +:1010500098E0892B11F00E940A0880E090E0089542 +:1010600056985E9825982D9826982E9827982F9810 +:101070008FEF90E0909389008093880090938B008D +:1010800080938A0090938D0080938C00259A2D9AEE +:101090002FEF80E792E0215080409040E1F700C0C0 +:1010A0000000269A2E9A2FEF80E792E02150804090 +:1010B0009040E1F700C00000279A2F9A2FEF80E7B9 +:1010C00092E0215080409040E1F700C00000259858 +:1010D0002D982FEF80E792E0215080409040E1F77B +:1010E00000C0000026982E982FEF80E792E0215054 +:1010F00080409040E1F700C0000027982F98569854 +:101100005E9825982D9826982E9827982F980895C0 +:1011100089EA8093800089E08093810024982C984C +:101120003F988AB18F748AB96E98479A8BB1806B59 +:101130008BB9769A0E94300889E098E0892B11F0EB +:101140000E94090880E090E0089580E28093000109 +:1011500080913C0181110EC00E94F40881E08093CF +:101160003C012FEF83ED90E3215080409040E1F768 +:1011700000C0000080E40E94FA0880930001811101 +:101180002EC00E94240980930001811128C00E9472 +:10119000240980930001811122C08FE30E94240959 +:1011A0008093000181111BC00E941C0980E40E94F1 +:1011B000FA0880930001811112C08CE00E9424097A +:1011C0008093000181110BC00E94240980930001CB +:1011D000811105C08FE30E942409809300010E94C1 +:1011E0001C098091000108951092B9008AE0809353 +:1011F000B800089594EA9093BC009091BC0097FFCA +:10120000FCCF9091B900987F983021F0903111F087 +:1012100081E008958093BB0084E88093BC008091B6 +:10122000BC0087FFFCCF8091B900887F883111F026 +:10123000803471F780E0089584E98093BC00809148 +:10124000BC0084FDFCCF08958093BB0084E88093AC +:10125000BC008091BC0087FFFCCF9091B900987FC3 +:1012600081E0983209F480E0089584E88093BC001E +:101270008091BC0087FFFCCF8091BB0008958091D6 +:101280000001811115C080E40E94FA0880930001DA +:1012900081110CC082E10E94240980930001811118 +:1012A00005C08FEF0E942409809300010E941C0951 +:1012B00084B1807F84B985B1807F85B98AB1837F0D +:1012C0008AB98BB1837F8BB93E98469808950E9466 +:1012D000A508809300010E943F0980B38C7080BBF9 +:1012E00081B3836F81BBECE4F1E0AEE3B1E0119236 +:1012F0001D9281E0EA35F807D1F788E898E0892B5C +:1013000011F00C94880808957F928F929F92AF926B +:10131000BF92CF92DF92EF92FF920F931F93CF93E2 +:10132000DF93809100018823E1F080913D018F5F80 +:1013300080933D01811115C082E493E00E9457071C +:101340000E94A50880930001882329F088E293E099 +:101350000E94570706C084E193E00E9457070E944D +:1013600030088EE3E82E81E0F82E8701C0E0D0E05F +:101370009924939492E0892EAA24A394B12C35E069 +:10138000C32E33E0D32EC730D10500F58091000184 +:10139000811164C080E40E94FA08809300018111E9 +:1013A00012C082E10E9424098093000181110BC0C8 +:1013B000C5010C2E01C0880F0A94EAF780950E949F +:1013C0002409809300010E941C0948C0CA30A1F082 +:1013D00028F4C83059F0C93061F005C0CC3089F02C +:1013E00070F0CD3089F0209A289810C0219A299861 +:1013F0000DC0229A2A980AC0239A2B9807C0529AA5 +:1014000001C0539A5B9802C03E9A4698E0EAEA957A +:10141000F1F78FB181708925799902C032E001C05E +:1014200030E0832B7C9902C034E001C030E0832B94 +:101430007D9902C028E001C020E0822B7E9902C085 +:1014400090E101C090E0892B9FB19095991F992759 +:10145000991F9295990F907E892B10C08091000161 +:10146000811175C080E40E94FA08809300018823EE +:1014700009F45AC0712C0E941C09872DD8019C9137 +:10148000981739F18C9380910101882301F18091A3 +:10149000D70180FF04C08AE093E00E945707809143 +:1014A000D70180FF0CC0809101011F928F93DF92C2 +:1014B000CF920E94F0070F900F900F900F908091A5 +:1014C000D70180FF04C083E093E00E945707809219 +:1014D00001010E943F0921960F5F1F4FCE30D105B9 +:1014E00009F051CF809101018823B9F08150809398 +:1014F0000101882339F0EFE9FFE03197F1F700C0EF +:1015000000000BC0ECE4F1E0D7018D917D018193E7 +:10151000BCE4EB16B1E0FB06B9F787E298E0892B53 +:10152000C1F00E94270815C083E10E94240980931E +:10153000000181119FCF81E40E94FA08809300018D +:10154000811198CF0E943509782E709494CF80E055 +:1015500095CF81E0DF91CF911F910F91FF90EF9098 +:10156000DF90CF90BF90AF909F908F907F90089525 +:10157000E82FF0E0E45BFE4F80810895CF92DF9288 +:10158000EF92FF920F931F93CF93DF938CEE92E035 +:101590000E9457078CE4E82E81E0F82EC0E0D0E0EE +:1015A00097EEC92E92E0D92E0EED12E0DF93CF9385 +:1015B000DF92CF920E94F00784EE92E00E945707DC +:1015C000F70181917F0190E00E9464219F938F93A6 +:1015D0001F930F930E94F0078CED92E00E94570733 +:1015E00021968DB79EB708960FB6F8949EBF0FBE92 +:1015F0008DBFCE30D105D1F6DF91CF911F910F91E4 +:10160000FF90EF90DF90CF9008958B3B910580F491 +:10161000883A910548F5853A9105D8F484309105CA +:1016200008F0B2C0019709F06EC081E090E0089523 +:10163000803E910508F467C0883E910508F4A4C077 +:101640009C01205F31092031310508F05CC09065B4 +:101650000895853A910509F459C0863A910509F033 +:1016600058C082E890E40895883A910509F454C07E +:10167000893A910509F453C08A3A910509F452C098 +:101680008B3A910509F451C08C3A910509F450C088 +:101690008D3A910509F44FC0803B910509F44EC085 +:1016A0008E3A910509F44DC08F3A910509F44CC06A +:1016B000813B910509F44BC0823B910509F44AC076 +:1016C000833B910509F449C0843B910509F448C066 +:1016D000853B910509F447C0863B910509F446C056 +:1016E000873B910509F445C0883B910509F444C046 +:1016F000893B910509F443C08A3B910509F442C036 +:1017000080E094E4089580E090E0089581E890E41A +:10171000089583E890E4089582EE94E4089589EEB4 +:1017200094E408958AEE94E4089585EB94E4089592 +:1017300086EB94E4089587EB94E408958CEC94E4AC +:1017400008958DEC94E4089583E895E408958AE87B +:1017500095E4089582E995E4089584E995E408956F +:1017600081E296E4089583E296E4089584E296E4A3 +:10177000089585E296E4089586E296E4089587E266 +:1017800096E408958AE296E40895089524E5829FF8 +:10179000C0011124FC0126E0729FE00DF11D11240F +:1017A000E60FF11DEE0FFF1FEC51FF4F8591949155 +:1017B0000895880F991FFC01E05AF040859194919B +:1017C0000895880F991FFC01E052FF4F8591949175 +:1017D000089524E5829FC0011124FC0146E0749F16 +:1017E000E00DF11D1124E60FF11DEE0FFF1FEC516E +:1017F000FF4F859194919C013A9521154FE1340753 +:1018000008F429C13F512115304120F49F700E94F6 +:10181000E10B08959C0130532115304118F49927AC +:10182000906C0895811520E5920769F40E94CC1A06 +:101830004FEF84E39CE0415080409040E1F700C0CE +:1018400000000C942622813020E5920751F48CE5AB +:1018500093E00E9457078091D70181608093D70160 +:1018600008959C0130552115304108F05CC0292FA6 +:1018700033272F70332721303105E9F4AC0164E0C0 +:10188000440F551F6A95E1F744275370BC016370FC +:10189000772702C0220F331F6A95E2F73C68242B9A +:1018A000352B73E0880F991F7A95E1F78076992799 +:1018B000822B932B08952230310529F4982F882705 +:1018C000816F906A089523303105A1F4AC0133E0B3 +:1018D000440F551F3A95E1F7407E57708370992762 +:1018E00021E030E002C0220F331F8A95E2F7C901E0 +:1018F0009C6816C02430310531F5AC0123E0440F5B +:10190000551F2A95E1F7407E57708370992721E093 +:1019100030E002C0220F331F8A95E2F7C9019A68AE +:10192000842B952B08959C0130572115304118F4D4 +:101930009F70906208959C0130582115304118F431 +:101940009F70906A0895803E9105E0F4803C910577 +:1019500058F58133910509F46FC048F48932910537 +:1019600009F463C08A32910509F46DC072C08933ED +:101970009105E9F082389105D1F08533910509F49C +:101980004DC067C0833E910581F138F4803E9105DA +:10199000B9F0823E9105D9F05CC0863E910561F1B7 +:1019A000873E9105A1F155C00E94D90B0895209161 +:1019B000E90120FD02C021FF4CC080EE90E049C04B +:1019C0008091E90180FFF9CF89E390E042C08091E6 +:1019D000E90182FF0EC08091E90184FF03C080E02D +:1019E00090E037C083EE90E034C08091E90182FF3F +:1019F000F2CF82EE90E02DC08091E90183FF0BC011 +:101A00008091E90184FDEBCF87EE90E022C08091C8 +:101A1000E90183FFF5CF86EE90E01BC08091E901DC +:101A200085FF07C089E290E014C08091E90185FF3D +:101A3000F9CF85E390E00DC08091E90186FF07C0F2 +:101A40008AE290E006C08091E90186FFF9CF81E348 +:101A500090E00E94050B0895089580916D0108950E +:101A60009FB7F89410925C019FBF9091EF01943062 +:101A700009F057C09091E9009F703091EC00232F3E +:101A8000217030FD20E8922B24E02093E900209182 +:101A9000EB0020FF43C02091EE0027FF3FC02091C4 +:101AA0005A01222321F02091E80025FF37C010922F +:101AB0005A0126E03091E80035FD15C03091EF0164 +:101AC000343061F53091EB0035FD28C0215021F410 +:101AD00081E080935A0122C0EFE9FFE03197F1F7EE +:101AE00000C00000E7CF8093F1008091E80085FD01 +:101AF0000AC08091E80080FFFCCF8091E8008E77DB +:101B00008093E80006C08FB7F89421E020935C0131 +:101B10008FBF9F709093E90080E008959F7090932D +:101B2000E9008FEF0895CF93DF9300D01F92CDB7D8 +:101B3000DEB79C018091EF01843019F593E0998321 +:101B40003B832A839093E9008FEF9091E8008150C6 +:101B500095FD06C095ED9A95F1F700008111F5CF3E +:101B60008091E80085FF0DC040E050E063E070E048 +:101B7000CE0101960E9466108091E8008E778093D6 +:101B8000E8000F900F900F90DF91CF910895CF93C1 +:101B9000DF9300D01F92CDB7DEB72091EF01243044 +:101BA00021F522E029839B838A8383E08093E900E7 +:101BB0008FEF9091E800815095FD06C095ED9A95C4 +:101BC000F1F700008111F5CF8091E80085FF0DC08D +:101BD00040E050E063E070E0CE0101960E946610A4 +:101BE0008091E8008E778093E8000F900F900F901F +:101BF000DF91CF9108959C018091EF018430F9F439 +:101C000082E08093E9009FEF8091E800915085FD8C +:101C100006C085ED8A95F1F700009111F5CF80910E +:101C2000E80085FF0CC040E050E065E070E0C901CD +:101C30000E9466108091E8008E778093E8000895F6 +:101C4000CF93DF93EC018091EF01843009F047C01E +:101C500080910C018823E1F080910D018823C1F06F +:101C600085E08093E9008FEF9091E800815095FD29 +:101C700006C095E19A95F1F700008111F5CF8091AA +:101C8000E80085FF2CC040E050E060E170E017C044 +:101C900081E08093E9008FEF9091E800815095FDFD +:101CA00006C095ED9A95F1F700008111F5CF80916E +:101CB000E80085FF14C040E050E068E070E0CE012D +:101CC0000E9466108091E8008E778093E80080E1A2 +:101CD000FE01ADE5B1E001900D928A95E1F7DF914B +:101CE000CF91089583E993E00E9457078091EE0118 +:101CF000811109C00E94F7110E9454128091E200E4 +:101D000084608093E20008958FE893E00E94570773 +:101D10001092EE0108958BE893E00C94570787E842 +:101D200093E00E9457070C94F52B83E893E00E9400 +:101D300057070E94BC210E94FB2B0E94FE140C94AA +:101D40002C0D20915B012F5F822F62E30E94782D82 +:101D5000992319F020935B01089510925B01809103 +:101D60005C01882371F18091EF01843041F580910D +:101D7000E9008F702091EC00922F917020FD90E887 +:101D8000892B94E09093E9009091EB0090FF14C0B0 +:101D90009091EE0097FF10C09091E80095FF03C06E +:101DA0001092F100F9CF9091E80090FF05C090915A +:101DB000E8009E779093E8008F708093E90010927E +:101DC0005C01089542E061EC81E00E94701142E004 +:101DD00061EC82E00E94701142E061EC83E00E94BD +:101DE000701142E261EC84E00E94701142E161EC0A +:101DF00085E00C9470118091F101833009F455C095 +:101E000030F4813071F0823009F48EC008958A3048 +:101E100009F47AC08B3009F460C0893009F09CC0A5 +:101E200020C08091F001813A09F096C08091E800CD +:101E3000877F8093E8008091F4019091F501892BD0 +:101E400021F460E18DE591E003C060E080E090E086 +:101E500070E00E94B1108091E8008B778093E800D9 +:101E600008958091F001813209F076C08091F401EB +:101E70009091F501009719F0049709F06DC08091D9 +:101E8000E800877F8093E8008091E80082FD05C02C +:101E90008091EF018111F8CF5FC08091F1008093B4 +:101EA0006D018091E8008B7753C08091F001813AF9 +:101EB00009F052C08091F4019091F501892B09F04D +:101EC0004BC08091E800877F8093E8008091E80014 +:101ED00080FFFCCF80910C0136C08091F0018132EF +:101EE000D9F58091F4019091F501892BA9F58091A4 +:101EF000E800877F8093E8000E94A5118091F2019D +:101F000080930C010C94CC1A8091F001813221F560 +:101F10008091E800877F8093E8000E94A51180915E +:101F2000F30180936E0108958091F001813AA1F44C +:101F30008091E800877F8093E8008091E80080FF2F +:101F4000FCCF80916E018093F1008091E8008E7744 +:101F50008093E8000C94A511089584B7877F84BF0F +:101F60000FB6F894A8958091600088618093600016 +:101F7000109260000FBE90E080E80FB6F894809356 +:101F80006100909361000FBE0E948A150E94F711B4 +:101F90000E9454128091E20084608093E20080E30A +:101FA0009DE00E94FD2078940E94DE140E948C1512 +:101FB00082E091E00E94F9140E94E32B82E793E013 +:101FC0000E9457078091EF01853089F48EE693E0F7 +:101FD0000E9457070E947E218091ED01882391F392 +:101FE0000E94A821882371F30E945010EBCF0E9419 +:101FF000BA15E8CF292F332723303105C9F060F413 +:102000002130310581F02230310509F041C08DE8E1 +:1020100090E02BEC33E040C021323105E1F0223278 +:10202000310531F135C082E190E028E534E034C07B +:1020300099278130910549F028F0029749F5E7E9A1 +:10204000F3E005C0E7ECF3E002C0EFEAF3E08491CF +:1020500090E09F0121C06530D8F4E62FF0E0EE0F4C +:10206000FF1FEB5DFE4F2081318189E090E014C0BD +:10207000653070F470E0FB01EE0FFF1FE55EFE4F70 +:1020800020813181FB01EA5EFE4F808190E004C037 +:1020900080E090E020E030E0FA0131832083089571 +:1020A00080E189BD82E189BD09B400FEFDCF809148 +:1020B000D8008F7D8093D8008091E000826080936B +:1020C000E0008091E00081FDFCCF0895CF92DF9287 +:1020D000EF92FF920F931F93CF93DF93EC018B014D +:1020E0006A010E94C411811133C0C114D10439F0B6 +:1020F000F60180819181081B190BC80FD91FE12CB3 +:10210000F12C0115110519F18091E80085FD16C02B +:102110008091E8008E778093E800C114D10449F0E3 +:10212000F60180819181E80EF91EF182E08285E05E +:102130000FC00E94C411882321F30AC089918093A3 +:10214000F10001501109FFEFEF1AFF0ADACF80E02A +:10215000DF91CF911F910F91FF90EF90DF90CF9083 +:1021600008952091F6013091F7012617370748F0BE +:102170006115710539F42091E8002E772093E8006D +:1021800001C0B901FC0120E06115710579F1809170 +:10219000EF018823F1F18530F1F18091E80083FDB2 +:1021A0003CC08091E80082FD2EC08091E80080FF55 +:1021B000EBCF2091F3008091F20090E0922B61151B +:1021C000710551F08830910538F421912093F10088 +:1021D000615071090196F3CF21E0089709F020E0E2 +:1021E0008091E8008E778093E800CECF2111CFCF89 +:1021F0000AC08091EF01882361F0853061F0809101 +:10220000E80083FD0AC08091E80082FFF2CF80E001 +:10221000089582E0089583E0089581E00895209173 +:10222000F6013091F7012617370748F0611571055F +:1022300039F42091E8002E772093E80001C0B9011D +:10224000FC0120E06115710591F18091EF01882377 +:1022500009F440C0853009F43FC08091E80083FD57 +:102260003DC08091E80082FD2FC08091E80080FF92 +:10227000E9CF2091F3008091F20090E0922B61155C +:10228000710559F08830910540F424912093F100B4 +:102290003196615071090196F2CF21E0089709F05B +:1022A00020E08091E8008E778093E800CBCF211169 +:1022B000CCCF0AC08091EF01882361F0853061F0B6 +:1022C0008091E80083FD0AC08091E80082FFF2CF90 +:1022D00080E0089582E0089583E0089581E0089504 +:1022E000982F973068F59093E900981739F070911E +:1022F000EC002091ED005091F00003C0242F762FC8 +:1023000050E021FD02C09F5FECCF3091EB003E7F9B +:102310003093EB003091ED003D7F3093ED00309134 +:10232000EB0031603093EB007093EC002093ED00F4 +:102330005093F0002091EE0027FDE5CF80E0089556 +:102340008F708093E90081E008958091F00187FF0C +:1023500011C08091E80082FD05C08091EF018111DC +:10236000F8CF11C08091E8008B770BC08091EF010E +:10237000882349F08091E80080FFF8CF8091E80041 +:102380008E778093E80008952091E4003091E50075 +:1023900095E64091EC00842F817040FF23C080912E +:1023A000E80080FD1DC08091EF01882399F0853001 +:1023B00099F08091EB0085FD11C04091E4005091AF +:1023C000E5002417350729F3915011F09A01E1CF68 +:1023D00084E0089582E0089583E0089581E00895FF +:1023E00080E008954091E80042FFDDCF08950E940B +:1023F00065120E946D12E0EEF0E0808181608083C2 +:10240000E8EDF0E080818F77808319BCA7EDB0E024 +:102410008C918E7F8C9380818F7E80831092EE01D1 +:1024200008950F931F93CF93DF930E9465120E942C +:102430006D12C8EDD0E088818F77888388818068AD +:10244000888388818F7D888319BC1092EF01109258 +:10245000EB011092ED011092EC0100EE10E0F8019A +:1024600080818B7F808388818160888342E060E007 +:1024700080E00E947011E1EEF0E080818E7F808329 +:10248000E2EEF0E0808181608083808188608083DB +:10249000F80180818E7F8083888180618883DF91CD +:1024A000CF911F910F910895E8EDF0E080818F7E2C +:1024B0008083E7EDF0E080818160808384E082BFEB +:1024C00081E08093EE010C941112E8EDF0E0808140 +:1024D0008E7F80831092E20008951092DA001092AD +:1024E000E10008951F920F920FB60F9211242F93BF +:1024F0003F934F935F936F937F938F939F93AF938C +:10250000BF93EF93FF938091E10082FF0BC0809116 +:10251000E20082FF07C08091E1008B7F8093E100A1 +:102520000E94A10E8091DA0080FF1FC08091D80028 +:1025300080FF1BC08091DA008E7F8093DA0080914B +:10254000D90080FF0DC080E189BD82E189BD09B459 +:1025500000FEFDCF81E08093EF010E94720E05C066 +:1025600019BC1092EF010E94840E8091E10080FF5F +:1025700019C08091E20080FF15C08091E2008E7F3B +:102580008093E2008091E20080618093E20080917C +:10259000D80080628093D80019BC85E08093EF0159 +:1025A0000E948F0E8091E10084FF30C08091E20094 +:1025B00084FF2CC080E189BD82E189BD09B400FEA1 +:1025C000FDCF8091D8008F7D8093D8008091E1006D +:1025D0008F7E8093E1008091E2008F7E8093E20005 +:1025E0008091E20081608093E2008091EB0188237A +:1025F00011F084E007C08091E30087FD02C081E014 +:1026000001C083E08093EF010E94950E8091E1006C +:1026100083FF29C08091E20083FF25C08091E10003 +:10262000877F8093E10082E08093EF011092EB01BD +:102630008091E1008E7F8093E1008091E2008E7FA7 +:102640008093E2008091E20080618093E20042E0AA +:1026500060E080E00E9470118091F00088608093BB +:10266000F0000E948B0EFF91EF91BF91AF919F916F +:102670008F917F916F915F914F913F912F910F902B +:102680000FBE0F901F9018951F920F920FB60F92CA +:1026900011242F933F934F935F936F937F938F9367 +:1026A0009F93AF93BF93CF93DF93EF93FF93C0912B +:1026B000E900CF708091EC00D82FD17080FDD0E878 +:1026C0001092E9008091F000877F8093F000789469 +:1026D0000E9488131092E9008091F0008860809336 +:1026E000F000CD2BCF70C093E900FF91EF91DF9107 +:1026F000CF91BF91AF919F918F917F916F915F919A +:102700004F913F912F910F900FBE0F901F901895F2 +:102710001F93CF93DF93CDB7DEB7AA970FB6F89488 +:10272000DEBF0FBECDBFE0EFF1E08091F1008193FD +:1027300021E0E83FF207C9F70E94FB0E8091E80014 +:1027400083FF24C18091F0019091F101492F50E065 +:102750004A30510508F01AC1FA01EA5AFF4F0C94A9 +:10276000982D803881F0823809F010C18091F401F1 +:102770008F708093E9008091EB0085FB882780F9BA +:102780001092E90006C08091EC019091ED01911149 +:1027900082609091E800977F9093E8008093F10029 +:1027A0001092F100C8C0282F2D7F09F0EFC08823B8 +:1027B00019F0823061F0EAC08091F201813009F0B5 +:1027C000E5C0933009F080E08093ED012BC080914B +:1027D000F201811127C08091F4018F7009F4D6C0F5 +:1027E0008093E9002091EB0020FF1CC0933021F47E +:1027F0008091EB00806214C09091EB009061909307 +:10280000EB0021E030E0A90102C0440F551F8A957A +:10281000E2F74093EA001092EA008091EB008860B2 +:102820008093EB001092E9008091E800877F86C0DA +:102830008111ACC01091F2011F778091E300807884 +:10284000812B8093E3008091E800877F8093E800EC +:102850000E94A5118091E80080FFFCCF8091E300E9 +:1028600080688093E300111102C082E001C083E020 +:102870008093EF018BC08058823008F087C0809130 +:10288000F2019091F3018C3D53E0950779F583E0D7 +:102890008A838AE289834FB7F894DE01139620E099 +:1028A0003EE051E2E32FF0E050935700E49120FF27 +:1028B00003C0E295EF703F5FEF708E2F90E0EA303B +:1028C00010F0C79601C0C0968D939D932F5F243161 +:1028D00049F74FBF8091E800877F8093E8006AE264 +:1028E00070E0CE0101960E94B11014C0AE014F5F9E +:1028F0005F4F6091F4010E94FA0FBC01892B09F42B +:1029000045C09091E800977F9093E80089819A8173 +:102910000E940F118091E8008B778093E80036C009 +:102920008038A1F58091E800877F8093E80080914E +:10293000EB018093F1008091E8008E778093E800AE +:102940000E94A51123C0811121C08091F2019091B4 +:10295000F30199270297D4F48091E800877F809350 +:10296000E8008091F2018093EB010E94A511809113 +:10297000EB01811106C08091E30087FD02C081E078 +:1029800001C084E08093EF010E94E20E8091E80094 +:1029900083FF0AC08091E800877F8093E8008091E0 +:1029A000EB0080628093EB00AA960FB6F894DEBF2E +:1029B0000FBECDBFDF91CF911F910895CF9380912E +:1029C000EF018823A1F0C091E900CF709091EC0055 +:1029D000892F817090FD80E8C82B1092E9008091CA +:1029E000E80083FD0E948813CF70C093E900CF9167 +:1029F000089590937401809373010895E091730199 +:102A0000F0917401309721F00190F081E02D09944C +:102A100080E00895EF92FF921F93CF93DF93F82EFB +:102A2000192FE0917301F09174013097A9F10280A0 +:102A3000F381E02D09958091D70182FF2DC080FFA1 +:102A400004C08DE895E00E945707CF2DD12F10E1EB +:102A500087E8E82E85E0F82E8091D70180FF0BC033 +:102A600088811F928F93FF92EF920E94F0070F9040 +:102A70000F900F900F90115021961111EDCF809172 +:102A8000D70180FF09C085E895E0DF91CF911F91C4 +:102A9000FF90EF900C945707DF91CF911F91FF901B +:102AA000EF900895E0917301F0917401309721F057 +:102AB0000480F581E02D09940895209171013091F1 +:102AC00072012817390771F0909372018093710198 +:102AD000E0917301F0917401309721F00680F78145 +:102AE000E02D0994089520916F013091700128170D +:102AF000390771F09093700180936F01E091730139 +:102B0000F0917401309721F00084F185E02D099453 +:102B1000089508950C9489150E94C2210E946709A6 +:102B20000C948822CF93C82F8091D70182FF1EC0BA +:102B300080FF04C086EA95E00E9457078091D70184 +:102B400080FF0CC01F92CF9381EA95E09F938F93F3 +:102B50000E94F0070F900F900F900F908091D70177 +:102B600080FF04C08FE995E00E9457078C2FCF911A +:102B70000C942C0DCF92DF92EF92FF920F931F9344 +:102B8000CF93DF93CDB7DEB72B970FB6F894DEBFA8 +:102B90000FBECDBF0E94840986E7C82E81E0D82EE3 +:102BA00000E010E0E02E802F0E94B80AF60141916B +:102BB0006F01F82EF426B1F40F5F1F4F0E30110590 +:102BC00089F78FEF89838A831B820E94CB218160E2 +:102BD000782F9D838C8349815A816B818D810E94DE +:102BE0005D1640C09091D70191FF04C08B870E9471 +:102BF000BE0A8B8520E030E04F2D50E0922FBA01C5 +:102C0000022E02C0759567950A94E2F760FF24C012 +:102C10002E83EF8221E030E0690102C0CC0CDD1C84 +:102C20009A95E2F790E08C219D21892B09F420E010 +:102C300028870E94CB218160782F9A8789874E81CF +:102C40005F8168858A850E945D16F801EA58FE4F0B +:102C50008081C826C08206C02F5F3F4F26303105D5 +:102C600069F6AACF0E94F9250E94FE149091750181 +:102C70008917A1F00E94FE14809375012B960FB660 +:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2 +:102C9000FF90EF90DF90CF900C9492152B960FB68B +:102CA000F894DEBF0FBECDBFDF91CF911F910F9182 +:102CB000FF90EF90DF90CF900895CF93DF93CDB743 +:102CC000DEB72B970FB6F894DEBF0FBECDBF4F8394 +:102CD000588769877A878B87DE01119686E0FD0128 +:102CE00011928A95E9F785E0FE01379601900D92E1 +:102CF0008A95E1F749815A816B817C818D819E8122 +:102D00000E94601D2B960FB6F894DEBF0FBECDBF9C +:102D1000DF91CF910895CF93C82F882309F4C1C0C4 +:102D2000823859F40E94FE1481FDBBC089E30E94E1 +:102D3000FD1F0E94D72089E30CC0833879F40E94DC +:102D4000FE1480FDAEC083E50E94FD1F0E94D720C7 +:102D500083E50E944D20CF910C94D720843859F4FC +:102D60000E94FE1482FD9DC087E40E94FD1F0E9408 +:102D7000D72087E4EECF8CEF8C0F813A48F48C2F6C +:102D80000E948B2A81118DC08C2F0E94FD1FE3CFE2 +:102D900080E28C0F883048F4C77081E001C0880F52 +:102DA000CA95EAF70E94A020D6CF8BE58C0F83301E +:102DB00078F4C53A29F0C63A31F083E890E005C0CE +:102DC00081E890E002C082E890E0CF910C945D151C +:102DD00088E58C0F833108F064C0C83A39F1C93AEC +:102DE00041F1CA3A49F1CB3A51F1CC3A59F1CD3AD5 +:102DF00061F1C03B69F1CE3A71F1CF3A79F1C13B53 +:102E000081F1C23B89F1C33B91F1C43B99F1C53BD0 +:102E1000A1F1C63BA9F1C73BB1F1C83BB9F1C93B30 +:102E2000C1F1CA3BC9F180E090E038C082EE90E089 +:102E300035C089EE90E032C08AEE90E02FC085EB7D +:102E400090E02CC086EB90E029C087EB90E026C094 +:102E50008CEC90E023C08DEC90E020C083E891E002 +:102E60001DC08AE891E01AC082E991E017C084E9A8 +:102E700091E014C081E292E011C083E292E00EC0C2 +:102E800084E292E00BC085E292E008C086E292E024 +:102E900005C087E292E002C08AE292E0CF910C94F2 +:102EA0007315CF910895882309F44BC0823859F4E3 +:102EB0000E94FE1481FF45C089E30E94FD1F0E940D +:102EC000D72089E30CC0833871F40E94FE1480FF80 +:102ED00038C083E50E94FD1F0E94D72083E50E9431 +:102EE0004D200C94D720843859F40E94FE1482FFA0 +:102EF00028C087E40E94FD1F0E94D72087E4EFCFFF +:102F00009CEF980F913A58F390E2980F983050F454 +:102F1000877091E001C0990F8A95EAF7892F0E9486 +:102F2000A620DFCF9BE5980F933020F480E090E05F +:102F30000C945D15885A833120F480E090E00C9465 +:102F400073150895882321F00E94A0200C94D720A7 +:102F50000895882321F00E94A6200C94D72008957C +:102F6000BF92CF92DF92EF92FF920F931F93CF9376 +:102F7000DF9300D000D000D0CDB7DEB77C0185E074 +:102F8000F701DE01119601900D928A95E1F7F701A4 +:102F900083819481892B09F4DDC2908181818F3FE7 +:102FA00019F49F3F09F4D6C2F701028125812295C9 +:102FB0002F7099838A8389819A812E830E94BC1FF6 +:102FC000182FB92E0E94BB1F0E94821EEB2DE29586 +:102FD000EF704E2F50E0FA01E05AFF4F2E810C9413 +:102FE000982D8B2D807F9B2D9F70F92E882319F0B3 +:102FF000F29480EFF822002349F0FF2009F457C231 +:103000008F2D0E94B0200E94D72051C2812F0E9494 +:103010005317FF2009F49EC28F2D0E94B6202696DA +:103020000FB6F894DEBF0FBECDBFDF91CF911F91D9 +:103030000F91FF90EF90DF90CF90BF900C94D7202E +:103040003B2D307F8B2D8F70303211F08295807F39 +:10305000112319F0113021F12CC00023B9F02223E3 +:1030600009F490C1213009F08DC126960FB6F8946D +:10307000DEBF0FBECDBFDF91CF911F910F91FF90AB +:10308000EF90DF90CF90BF900C94C020222319F0D6 +:10309000213009F45FC28E830E94C3208E8186C1D5 +:1030A000002321F0223008F055C26CC1211152C218 +:1030B0007DC1002321F0222309F464C1F8C1222339 +:1030C00009F474C109C28B2D86958695837019F019 +:1030D0008130D1F03FC2002321F0812F9B2D9370CE +:1030E00002C080E090E026960FB6F894DEBF0FBED7 +:1030F000CDBFDF91CF911F910F91FF90EF90DF90A7 +:10310000CF90BF900C945D15002321F0812F9B2D53 +:10311000937002C080E090E026960FB6F894DEBF70 +:103120000FBECDBFDF91CF911F910F91FF90EF9018 +:10313000DF90CF90BF900C947315812F002319F06E +:103140000E947F2402C00E94E72426960FB6F894BE +:10315000DEBF0FBECDBFDF91CF911F910F91FF90CA +:10316000EF90DF90CF90BF900C946C258B2D8370E7 +:1031700009F075C00111EEC1812F82958695877087 +:10318000880F880F912F9F70C92ED12CE12CF12C24 +:10319000082E04C0CC0CDD1CEE1CFF1C0A94D2F7D8 +:1031A00014FF12C00FE010E020E030E004C0000F78 +:1031B000111F221F331F8A95D2F7C901B8016095EC +:1031C00070958095909503C060E070E0CB014B2D29 +:1031D0004695469543704230C1F060F56C297D29D3 +:1031E0008E299F29413051F126960FB6F894DEBF03 +:1031F0000FBECDBFDF91CF911F910F91FF90EF9048 +:10320000DF90CF90BF900C94A91E6C297D298E2948 +:103210009F2926960FB6F894DEBF0FBECDBFDF9173 +:10322000CF911F910F91FF90EF90DF90CF90BF90C3 +:103230000C94C51E0E94A91EC701B60126960FB6A2 +:10324000F894DEBF0FBECDBFDF91CF911F910F91DC +:10325000FF90EF90DF90CF90BF900C948D1E0023D5 +:1032600019F08B2D817001C08695882309F472C1F5 +:10327000812F829586958770880F880F912F9F7078 +:10328000C92ED12CE12CF12C082E04C0CC0CDD1C55 +:10329000EE1CFF1C0A94D2F714FF12C00FE010E0DE +:1032A00020E030E004C0000F111F221F331F8A9559 +:1032B000D2F7C901B801609570958095909503C0CB +:1032C00060E070E0CB014B2D46954695437042304F +:1032D000C1F060F56C297D298E299F29413051F17B +:1032E00026960FB6F894DEBF0FBECDBFDF91CF910B +:1032F0001F910F91FF90EF90DF90CF90BF900C94B3 +:10330000831F6C297D298E299F2926960FB6F89454 +:10331000DEBF0FBECDBFDF91CF911F910F91FF9008 +:10332000EF90DF90CF90BF900C949F1F0E94831F5F +:10333000C701B60126960FB6F894DEBF0FBECDBF0B +:10334000DF91CF911F910F91FF90EF90DF90CF9081 +:10335000BF900C94671F103FD1F118F4103E50F449 +:10336000A1C0123F09F463C008F44CC0133F09F434 +:1033700073C098C01F708B2D8F710023A1F00E9425 +:10338000001F812F26960FB6F894DEBF0FBECDBF6B +:10339000DF91CF911F910F91FF90EF90DF90CF9031 +:1033A000BF900C94A2170E94211F812F26960FB662 +:1033B000F894DEBF0FBECDBFDF91CF911F910F916B +:1033C000FF90EF90DF90CF90BF900C94A91700234F +:1033D000A9F02111BFC08B2D8F7126960FB6F894DE +:1033E000DEBF0FBECDBFDF91CF911F910F91FF9038 +:1033F000EF90DF90CF90BF900C94461F223008F0E2 +:10340000A9C0E9CF0023A9F08B2D8F7126960FB6A6 +:10341000F894DEBF0FBECDBFDF91CF911F910F910A +:10342000FF90EF90DF90CF90BF900C94001F00238F +:1034300059F38B2D8F7126960FB6F894DEBF0FBE11 +:10344000CDBFDF91CF911F910F91FF90EF90DF9053 +:10345000CF90BF900C94211F002399F08B2D8F717A +:1034600026960FB6F894DEBF0FBECDBFDF91CF9189 +:103470001F910F91FF90EF90DF90CF90BF900C9431 +:10348000EB1E26960FB6F894DEBF0FBECDBFDF91C0 +:10349000CF911F910F91FF90EF90DF90CF90BF9051 +:1034A0000C94E11E0023A9F0222309F4ADCF812F53 +:1034B00026960FB6F894DEBF0FBECDBFDF91CF9139 +:1034C0001F910F91FF90EF90DF90CF90BF900C94E1 +:1034D0008B16222309F4ADCF812F26960FB6F894D0 +:1034E000DEBF0FBECDBFDF91CF911F910F91FF9037 +:1034F000EF90DF90CF90BF900C9453174B2D4F70EF +:10350000612FC7010E94F90726960FB6F894DEBF17 +:103510000FBECDBFDF91CF911F910F91FF90EF9024 +:10352000DF90CF90BF900C94051E4B2D4F70612FF4 +:10353000C70126960FB6F894DEBF0FBECDBFDF9150 +:10354000CF911F910F91FF90EF90DF90CF90BF90A0 +:103550000C94C50B26960FB6F894DEBF0FBECDBFF8 +:10356000DF91CF911F910F91FF90EF90DF90CF905F +:10357000BF9008950E94BD200E9492200E94D720F3 +:103580000E949E260E946C2580E090E00E945D15BE +:1035900080E090E00C9473150E94AD200C94BA1A50 +:1035A0000E94BC1F292F22952F702C3030F42A3016 +:1035B00048F42250223078F405C02C3041F02F30EE +:1035C00031F009C0803E48F0803F29F406C093FBEB +:1035D000882780F9089580E0089581E00895CF93C9 +:1035E000DF9300D000D01F92CDB7DEB70F900F90C1 +:1035F0000F900F900F90DF91CF910895CF93DF93AD +:1036000000D000D000D0CDB7DEB726960FB6F89424 +:10361000DEBF0FBECDBFDF91CF9108951F93CF9333 +:10362000DF93C091840116E080918501C81799F05D +:10363000D0E01C9FF0011D9FF00D1124EA57FE4FB2 +:103640004081518162817381848195810E94FE1A3B +:103650002196C770E9CFDF91CF911F9108954091D6 +:10366000B6015091B7016091B8017091B901809194 +:10367000BA019091BB010C94FE1A8091BB01829516 +:103680008F7009F054C08091B801882309F44FC0AD +:1036900080918401A09185014091B9015091BA01B6 +:1036A0006091B6017091B701B6E08A1709F43FC086 +:1036B00090E041155105C1F17F3F11F46F3FA1F139 +:1036C000B89FF001B99FF00D1124EA57FE4F2181F8 +:1036D00027132AC02081261327C02281211124C04C +:1036E000238134812417350710F421503109241B1C +:1036F000350B283C3105C0F42091BB012F702061AF +:103700002093BB0126E0289FF001299FF00D112492 +:10371000E557FE4F80818F708061808386EB91E05A +:103720000E94B0170C940E1B01968770BECF0895AF +:10373000CF92DF92EF92FF920F931F93CF93DF937D +:10374000CDB7DEB762970FB6F894DEBF0FBECDBF20 +:103750008C0185E0F801DE011D9601900D928A959D +:10376000E1F7D8014C9111965C91119712966C91EA +:103770008091B9019091BA01009709F475C1309117 +:10378000B6017091B7017F3F19F43F3F09F46CC156 +:10379000F801C380D480E090B801EE2009F4BEC0E7 +:1037A0002091BB01C816D90628F0D601A81BB90B79 +:1037B000CD0104C0809590958C0D9D1DFF24F39440 +:1037C000883C910578F0F12C207F09F0C4C07C2D55 +:1037D000D98AC88A89890E94EF1A86EB91E00E94F3 +:1037E000B017AFC0822F807F09F045C0571313C0B8 +:1037F000431311C061110FC02F7020612093BB01D2 +:103800000E942F1B86EB91E00E94B0178091BB01B4 +:10381000F80185832EC0CD2819F15F3F11F44F3F89 +:10382000F9F0F62E61111CC0809184012091850170 +:1038300036E0821709F45BC090E0389FF001399FB1 +:10384000F00D1124EA57FE4F7181571306C07081A5 +:10385000471303C07281711103C001968770E9CFCD +:10386000F62E662309F41CC18091BB018160809310 +:10387000BB01F12C15C1571309C0431307C06111D7 +:1038800005C08091BB01F8018583C8C04D875E8764 +:103890008D859E856A8B0E94D01A6A898823D1F112 +:1038A0006623C1F12091BB01822F82958F7090E039 +:1038B000029774F08091B6019091B70198878F8339 +:1038C0001986DB86CA862C87CE0107960E94B01720 +:1038D00086E0F801A6EBB1E001900D928A95E1F740 +:1038E0000E943D1B0E942F1BFF24F394D9C04D87DB +:1038F0005E878D859E850E94BC1F292F22952F7083 +:10390000223008F0C1C09F7009F0BBC0805E8830D3 +:1039100008F4C6C0C8010E94B017E6CFC816D90681 +:1039200008F453C0F601E81BF90BCF01883C910560 +:1039300008F450C0F12C7C2DD98AC88A89890E944C +:10394000EF1AE6EBF1E086E0DF011D928A95E9F7D8 +:103950000E942F1BA5C0571314C0431312C061113E +:1039600010C08091BB01F8018583C8010E94B01787 +:1039700086E0E6EBF1E0DF011D928A95E9F7FE2C87 +:103980008FC04D875E878D859E856A8B0E94D01A79 +:103990006A89882309F4BECF662309F4BBCF20913E +:1039A000BB01822F82958F7090E002970CF490CF2C +:1039B0008091B6019091B7019A8389831B82DD8241 +:1039C000CC822E83CE01019681CF809590958C0D6F +:1039D0009D1DACCFF62E662309F49CCF571333C040 +:1039E000431331C02091BB0120FD24C0822F82955A +:1039F0008F70482F50E041155105E1F0D801159620 +:103A00002C9315974F30510549F08F5F982F929561 +:103A1000907F822F8F70892B15968C93C8010E94FE +:103A2000B01786E0F801A6EBB1E001900D928A95FF +:103A3000E1F78ECF86E0F801A6EBB1E001900D92A0 +:103A40008A95E1F72DC04D875E878D859E850E9402 +:103A5000D01A81113DCF8091BB0181608093BB0161 +:103A6000C8010E94B0171CC0662309F453CF4D87CC +:103A70005E878D859E850E94D01A882309F44ACFDF +:103A800027CF811143CF0CC0243008F043CF9F7063 +:103A900009F43CCFD80115969C91907F09F036CF60 +:103AA0008F2D62960FB6F894DEBF0FBECDBFDF91AB +:103AB000CF911F910F91FF90EF90DF90CF900895DD +:103AC0001F93CF93DF93CDB7DEB72C970FB6F89443 +:103AD000DEBF0FBECDBF4F83588769877A878B873C +:103AE0009C87CE0107960E94981B882371F08A85D7 +:103AF0009B85892B09F441C088858F3F09F065C0FB +:103B00008F818F3F09F061C038C086E0FE01379693 +:103B1000DE01119601900D928A95E1F76A857B8509 +:103B20006115710551F1FF81E885EF3F11F4FF3F09 +:103B300021F12091850130E0C90101968770992714 +:103B40004091840150E08417950709F447C0F98338 +:103B5000EA837D836C8396E0929FD001939FB00DA2 +:103B60001124AA57BE4FFE01319601900D929A95ED +:103B7000E1F7809385010E940E1B16E0809184017D +:103B8000909185018917B9F1189FC00111248A57B6 +:103B90009E4F0E94981B882371F1E09184011E9F23 +:103BA000F0011124EA57FE4F4081518162817381F7 +:103BB000848195810E94FE1A8091840190E0019693 +:103BC0008770992780938401D9CF4F815885698563 +:103BD0007A858B859C850E94FE1ACFCF0E94CC1AD5 +:103BE0001092850110928401E6EBF1E086E0DF019E +:103BF0001D928A95E9F72C960FB6F894DEBF0FBE9A +:103C0000CDBFDF91CF911F910895EF92FF920F9357 +:103C10001F93CF93DF938C01892B09F46CC0F12C97 +:103C2000EE24E394E8012196F8018491843740F46E +:103C3000843008F051C0813081F0823019F15BC0CE +:103C4000853709F444C0A8F19CE7980F903708F035 +:103C500052C08F770E94531741C00E5F1F4FFE0165 +:103C6000849190E2980F983050F48770FE2D01C037 +:103C7000FF0F8A95EAF78F2F0E94B02014C00E9490 +:103C80008B162DC00E5F1F4FFE01849190E2980F9E +:103C9000983060F48770FE2D01C0FF0F8A95EAF717 +:103CA0008F2F0E94B6200E94D72019C00E94531760 +:103CB00016C00E5F1F4FFE01C491CC2381F08FE927 +:103CC0009FE00197F1F700C00000C150F6CF0E5FF2 +:103CD0001F4FFE01F49003C00E948B168E018F2DA2 +:103CE000882309F49FCFEFE9FFE03197F1F700C097 +:103CF00000008150F5CFDF91CF911F910F91FF9080 +:103D0000EF90089508956093C0017093C10180936E +:103D1000C2019093C3010C94BA1A0F931F930091A0 +:103D2000C0011091C1012091C2013091C301DC0199 +:103D3000CB01802B912BA22BB32B8093C0019093AE +:103D4000C101A093C201B093C3011F910F910C94C4 +:103D5000BA1A0F931F930091C0011091C1012091D5 +:103D6000C2013091C301DC01CB0180239123A22346 +:103D7000B3238093C0019093C101A093C201B0937B +:103D8000C3011F910F910C94BA1A0F931F930091C6 +:103D9000C0011091C1012091C2013091C301DC0129 +:103DA000CB0180279127A227B3278093C00190934E +:103DB000C101A093C201B093C3011F910F910C9454 +:103DC000BA1A1092BC011092BD011092BE0110925D +:103DD000BF010C94BA1A41E050E060E070E004C00A +:103DE000440F551F661F771F8A95D2F74093BC0179 +:103DF0005093BD016093BE017093BF010C94BA1A39 +:103E000041E050E060E070E004C0440F551F661FC1 +:103E1000771F8A95D2F78091BC019091BD01A09146 +:103E2000BE01B091BF01482B592B6A2B7B2B4093CD +:103E3000BC015093BD016093BE017093BF010C940F +:103E4000BA1A41E050E060E070E004C0440F551F32 +:103E5000661F771F8A95D2F74095509560957095AB +:103E60008091BC019091BD01A091BE01B091BF01B4 +:103E7000482359236A237B234093BC015093BD01FF +:103E80006093BE017093BF010C94BA1A41E050E0F8 +:103E900060E070E004C0440F551F661F771F8A95CD +:103EA000D2F78091BC019091BD01A091BE01B0916B +:103EB000BF01482759276A277B274093BC015093AD +:103EC000BD016093BE017093BF010C94BA1A0F93A9 +:103ED0001F930091BC011091BD012091BE01309152 +:103EE000BF01DC01CB01802B912BA22BB32B809344 +:103EF000BC019093BD01A093BE01B093BF011F917F +:103F00000F910C94BA1A0F931F930091BC0110915A +:103F1000BD012091BE013091BF01DC01CB018023A6 +:103F20009123A223B3238093BC019093BD01A0935E +:103F3000BE01B093BF011F910F910C94BA1A0F9359 +:103F40001F930091BC011091BD012091BE013091E1 +:103F5000BF01DC01CB0180279127A227B3278093E3 +:103F6000BC019093BD01A093BE01B093BF011F910E +:103F70000F910C94BA1A0895CF92DF92EF92FF92AC +:103F80000F931F93CF93DF938C01C090BC01D0900F +:103F9000BD01E090BE01F090BF018091C001909101 +:103FA000C101A091C201B091C301C82AD92AEA2A4D +:103FB000FB2ACFE1D0E0D701C6010C2E04C0B69594 +:103FC000A795979587950A94D2F780FF07C0B80107 +:103FD0008C2F0E94E90B8130910531F4219758F71D +:103FE000B80180E00E94E90BDF91CF911F910F9102 +:103FF000FF90EF90DF90CF90089590910C0199235E +:1040000079F190910D01992359F1982F96959695F4 +:1040100096959F30A0F4E0910E01F0910F01E90F09 +:10402000F11D877021E030E0A90102C0440F551F47 +:104030008A95E2F7CA019181892B81830895909135 +:10404000D70190FF29C01F928F9387ED95E09F9332 +:104050008F930E94F0070F900F900F900F9008958C +:1040600020910E0130910F01F90132969FEF40E04F +:104070005191851789F09F3F19F4511101C0942F78 +:104080004F5F4E30A9F79F3F39F0F901E90FF11D5D +:1040900097FDFA9582830895089590910C019923D4 +:1040A00081F190910D01992361F1982F9695969544 +:1040B00096959F30A8F4E0910E01F0910F01E90F61 +:1040C000F11D877021E030E0A90102C0440F551FA7 +:1040D0008A95E2F7CA0180959181892381830895A9 +:1040E0009091D70190FF1DC01F928F9389EB95E0AF +:1040F0009F938F930E94F0070F900F900F900F9057 +:10410000089520910E0130910F01F9013296205F40 +:104110003F4F9081891301C010823196E217F30757 +:10412000C1F7089581E090E0E0910E01F0910F0158 +:10413000E80FF91F1082019680319105A9F70895C3 +:104140009091D601892B8093D60108958095909106 +:10415000D60189238093D60108951092D60108953F +:104160009091D501892B8093D501089580959091E8 +:10417000D50189238093D50108951092D501089522 +:104180008093C40108951092C401089580910E0196 +:1041900090910F01FC0131969C01205F3F4F80E020 +:1041A000919191118F5FE217F307D1F70895E09194 +:1041B0000E01F0910F018091D6018083E0910E01F4 +:1041C000F0910F0190818091D501892B808380919E +:1041D000C401882361F0E0910E01F0910F019081FC +:1041E000892B80830E94C62081111092C401809186 +:1041F0000E0190910F010C940A1590933B0180934E +:104200003A010895CF92DF92EF92FF926C01EE2473 +:10421000FF24C114D104E104F10421F0C701B60167 +:1042200020E101C020E0C72ED82EE92EFF24C114C2 +:10423000D104E104F10419F0285FC701B6016B0154 +:104240007C0154E0F694E794D794C7945A95D1F73B +:10425000C114D104E104F10419F02C5FC701B601C7 +:104260006B017C0142E0F694E794D794C7944A9599 +:10427000D1F7C114D104E104F10419F02E5FC70194 +:10428000B601DC01CB01B695A79597958795892B4B +:104290008A2B8B2B09F02F5F822FFF90EF90DF90FE +:1042A000CF9008958295982F937344E0949F900146 +:1042B00011248C7C86958695282B822F8575880FF6 +:1042C0002A7A2695822B08951F93CF93DF931F920E +:1042D000CDB7DEB799830E945221182F9981892F7B +:1042E0000E945221212F30E0322F2227A901482B92 +:1042F000CA010F90DF91CF911F9108958091EF0136 +:10430000843011F120E488E190E00FB6F894A8958C +:10431000809360000FBE2093600083B7817F84602C +:1043200083BF83B7816083BF7894889583B78E7F7E +:1043300083BF0FB6F894A895809160008861809340 +:104340006000109260000FBE089508950C94A5219E +:10435000CF930E94A6210E9484090E94A521C0E05B +:104360008C2F0E94B80A811104C0CF5FCE30C1F7F4 +:1043700001C081E0CF9108950E94CC1A0E94FE14E2 +:104380000C942C0D82E084BD93E095BD9AEF97BD0F +:1043900080936E0008952FB7F8948091D801909182 +:1043A000D901A091DA01B091DB012FBF0895CF921E +:1043B000DF92EF92FF920F931F932FB7F8944091E3 +:1043C000D8015091D9016091DA017091DB012FBFC2 +:1043D0006A017B01EE24FF248C0120E030E0C0164E +:1043E000D106E206F30610F4415051099A01281B48 +:1043F000390BC9011F910F91FF90EF90DF90CF9083 +:1044000008951F920F920FB60F9211248F939F93CE +:10441000AF93BF938091D8019091D901A091DA0117 +:10442000B091DB010196A11DB11D8093D80190933D +:10443000D901A093DA01B093DB01BF91AF919F91B5 +:104440008F910F900FBE0F901F9018950E94F7113B +:10445000F8942FEF87EA91E6215080409040E1F7F1 +:1044600000C0000087E090EBDC018093F80190939E +:10447000F901A093FA01B093FB019CE088E10FB62B +:10448000F894A895809360000FBE90936000FFCFD2 +:10449000EF92FF920F931F93CF93DF93D82FC0E03B +:1044A0008C2F0E94B80A00E010E0E82EF12CC70122 +:1044B000002E02C0959587950A94E2F780FD06C00C +:1044C0000F5F1F4F0630110591F709C0602F7C2F39 +:1044D00080E00E94C60B8D13F3CF81E004C0CF5F54 +:1044E000CE30F1F680E0DF91CF911F910F91FF90D8 +:1044F000EF900895CF93C82F8CE20E944822882322 +:1045000021F08C2FCF910C94482280E0CF91089518 +:10451000CF930E94D723811102C00E94BD238CEF4C +:1045200095E00E945707C5E6C15049F00E948409F2 +:104530008FE39CE90197F1F700C00000F5CF85EF0C +:1045400095E00E94570789E20E947A22811113C1E7 +:104550008AE20E947A2281110E94BD2385E00E9496 +:104560007A2281110E9426220E94E2238093D701A1 +:1045700087E00E947A228823A9F18BE10E947A22A7 +:10458000882351F08091D70181FB222720F991E007 +:10459000922790FB81F90EC08EE00E947A22882338 +:1045A00061F08091D70182FB222720F991E09227C8 +:1045B00090FB82F98093D70115C080E10E947A2296 +:1045C0009091D701882341F093FB222720F981E0C5 +:1045D000822780FB93F904C0892F809580FB90F996 +:1045E0009093D7018091D7010E94E6230E94F42383 +:1045F0008093E90180EE0E947A22882341F0809125 +:10460000E901982F909590FB80F98093E90189E367 +:104610000E947A22882359F08091E90181FB2227A8 +:1046200020F991E0922790FB81F98093E90182EED5 +:104630000E947A22882359F08091E90182FB222787 +:1046400020F991E0922790FB82F98093E90186EEB0 +:104650000E947A22882359F08091E90183FB222766 +:1046600020F991E0922790FB83F98093E90183EE92 +:104670000E947A22882359F08091E90184FB222745 +:1046800020F991E0922790FB84F98093E90185E37A +:104690000E947A22882359F08091E90185FB222724 +:1046A00020F991E0922790FB85F98093E90181E35D +:1046B0000E947A22882359F08091E90186FB222703 +:1046C00020F991E0922790FB86F98093E90181E13E +:1046D0000E947A22882359F08091E90187FB2227E2 +:1046E00020F991E0922790FB87F98093E90180916E +:1046F000E9010E94F8238091E90187FB882780F96E +:1047000080930D0187E20E947A22C82F8EE10E94D9 +:104710007A228111C2608FE10E947A228111C460E5 +:1047200080E20E947A228111C86081E20E947A228E +:104730008111C06182E20E947A228111C06283E20B +:104740000E947A228111C06484E20E947A22882326 +:1047500011F0C06802C0CC2329F08C2F0E94EF23F7 +:104760006C2F03C00E94EB23682F70E080E090E084 +:10477000CF910C94831ECF9108956DEE7EEF80E073 +:1047800090E00E94CE2D60E082E090E00E94C02D7B +:1047900060E083E090E00E94C02D60E084E090E063 +:1047A0000E94C02D60E085E090E00C94C02D80E078 +:1047B00090E00E94BA2D21E08D3E9E4F09F020E04E +:1047C000822F089582E090E00C94B22D682F82E051 +:1047D00090E00C94C02D83E090E00C94B22D682FF3 +:1047E00083E090E00C94C02D84E090E00C94B22D16 +:1047F000682F84E090E00C94C02D8091DE0180FF52 +:104800000BC06091130185E0689FB001112475957C +:104810006795759567952BC081FF09C0609113015D +:1048200085E0689FB00111247595679520C082FFCF +:1048300007C06091130185E0689FB001112417C083 +:104840009091DF019923D1F060911201961788F7BA +:104850002091130185E0289F90011124929FA001CF +:10486000939F500D112470E0CA010E94842D60387E +:10487000710540F46115710519F406C065E070E03A +:10488000862F08958FE7089581E008958091DE01D5 +:1048900080FF08C06091110170E07595679575956E +:1048A000679521C081FF06C06091110170E0759588 +:1048B000679519C082FF04C06091110170E010C0BB +:1048C0009091DF01992399F0609110019617A0F75C +:1048D00080911101899FC001112470E00E94842DF4 +:1048E0006038710540F46115710519F406C061E086 +:1048F00070E0862F08958FE7089581E00895803F46 +:1049000021F40E94FD23819504C0813F29F40E9477 +:10491000FD238093E2010895823F21F40E94FD234C +:10492000819504C0833F29F40E94FD238093E10117 +:104930000895893F19F40E94462405C08A3F31F446 +:104940000E94462481958093E30108958B3F21F4D2 +:104950000E944624819504C08C3F29F40E9446247D +:104960008093E4010895843F21F48091E001816007 +:1049700017C0853F21F48091E001826011C0863F1D +:1049800021F48091E00184600BC0873F21F4809185 +:10499000E001886005C0883F31F48091E0018061CA +:1049A0008093E00108958D3F21F48091DE018160C4 +:1049B0000BC08E3F21F48091DE01826005C08F3FE5 +:1049C00029F48091DE0184608093DE010895803FA8 +:1049D00039F48091E20187FF6CC01092E20169C056 +:1049E000813F29F48091E2011816BCF362C09091D6 +:1049F000E101823F29F497FF5CC01092E10159C0A8 +:104A0000833F19F41916CCF354C0893F41F48091C7 +:104A1000E30118160CF04DC01092E3014AC08A3F22 +:104A200029F48091E30187FF44C0F6CF8B3F39F42E +:104A30008091E40187FF3DC01092E4013AC08C3FB1 +:104A400029F48091E4011816BCF333C0843F21F4AB +:104A50008091E0018E7F17C0853F21F48091E001B5 +:104A60008D7F11C0863F21F48091E0018B7F0BC0C8 +:104A7000873F21F48091E001877F05C0883F31F4B2 +:104A80008091E0018F7E8093E00113C08D3F21F47F +:104A90008091DE018E7F0BC08E3F21F48091DE017C +:104AA0008D7F05C08F3F29F48091DE018B7F80933D +:104AB000DE018091E10181110EC08091E20181113E +:104AC0000AC08091E301811106C08091E401811147 +:104AD00002C01092DF0108958091D70183FF7EC04C +:104AE00088E396E00E9457078091E0011F928F9320 +:104AF00083E396E09F938F930E94F00781E396E013 +:104B00000E9457078091E101282F082E000C330BDB +:104B10003F938F938EE296E09F938F930E94F007CE +:104B20008CE296E00E9457078091E201282F082E20 +:104B3000000C330B3F938F9389E296E09F938F9302 +:104B40000E94F00787E296E00E9457078091E301F8 +:104B5000282F082E000C330B3F938F9384E296E0AE +:104B60009F938F930E94F00782E296E00E9457077E +:104B70008091E401282F082E000C330B3F938F9374 +:104B80008FE196E09F938F930E94F0078CE196E06F +:104B90000E9457078091DF011F928F9389E196E071 +:104BA0009F938F930E94F00787E196E00E9457073A +:104BB0008091DE011F928F9384E196E09F938F9303 +:104BC0000E94F00781E196E00E9457078DB79EB7DB +:104BD0004C960FB6F8949EBF0FBE8DBF80EE91E04D +:104BE0000E9452150E94CB219093DD018093DC013D +:104BF00008951F93CF93DF938091DC019091DD01A5 +:104C00000E94D721AC019091DF01992321F02091DE +:104C1000140130E006C0209115018AE0289F900120 +:104C200011244217530708F485C08091E101C09117 +:104C3000E201D091E3011091E401811107C0C1119B +:104C400075C0D11173C0111171C074C09F3F19F0AC +:104C50009F5F9093DF01181624F40E94FD23809338 +:104C6000E1018091E10187FF05C00E94FD2381954C +:104C70008093E1011C1624F40E94FD238093E2013D +:104C80008091E20187FF05C00E94FD2381958093FA +:104C9000E2016091E101662331F1C091E201CC2390 +:104CA00011F1062E000C770B880B990B0E947F2CBC +:104CB00023E333E343E35FE30E94E32C0E94472CAA +:104CC0006093E1016C2FCC0F770B880B990B0E943E +:104CD0007F2C23E333E343E35FE30E94E32C0E9452 +:104CE000472C6093E2011D1624F40E944624809311 +:104CF000E3018091E30187FF05C00E94462481956E +:104D00008093E301111624F40E9446248093E40169 +:104D10008091E40187FF05C00E944624819580931D +:104D2000E401DF91CF911F910C946C259F3F09F016 +:104D30008FCFA0CFDF91CF911F910895E0EEF1E0EA +:104D400085E0DF011D928A95E9F71092DF0110924C +:104D5000DE0108958BE598E00E9457071F9281E0DD +:104D60008F931F9285E08F938DE098E09F938F93B0 +:104D70000E94F0070F900F900F900F900F900F90E0 +:104D800008958330E9F128F4813061F0823009F12F +:104D90000895853009F462C008F449C0863009F4EA +:104DA00074C0089580911501262F30E0280F311D21 +:104DB0002F3F310524F4680F6093150103C08FEF76 +:104DC00080931501809115011F928F9386E497E0DF +:104DD00072C080911401262F30E0280F311D2F3F23 +:104DE000310524F4680F6093140103C08FEF8093A2 +:104DF0001401809114011F928F9384E397E05BC0AC +:104E000080911301262F30E0280F311D2F3F3105EF +:104E100024F4680F6093130103C08FEF8093130194 +:104E2000809113011F928F9381E297E044C080919B +:104E30001201262F30E0280F311D2F3F310524F4B9 +:104E4000680F6093120103C08FEF8093120180916D +:104E500012011F928F938CE097E02DC08091110179 +:104E6000262F30E0280F311D2F3F310524F4680F25 +:104E70006093110103C08FEF8093110180911101A4 +:104E80001F928F9383EF96E016C080911001262F1A +:104E900030E0280F311D2F3F310524F4680F609357 +:104EA000100103C08FEF80931001809110011F92B9 +:104EB0008F9388ED96E09F938F930E94F0070F9059 +:104EC0000F900F900F900895833081F128F4813076 +:104ED00059F08230D1F00895853009F449C0B8F115 +:104EE000863009F456C0089580911501681720F4A2 +:104EF000861B8093150102C0109215018091150147 +:104F00001F928F9389EC96E054C08091140168172A +:104F100020F4861B8093140102C01092140180912A +:104F200014011F928F9387EB96E043C08091130189 +:104F3000681720F4861B8093130102C0109213019E +:104F4000809113011F928F9384EA96E032C0809182 +:104F50001201681720F4861B8093120102C0109280 +:104F60001201809112011F928F938FE896E021C069 +:104F700080911101681720F4861B8093110102C0F3 +:104F800010921101809111011F928F9386E796E094 +:104F900010C080911001681720F4861B80931001C7 +:104FA00002C010921001809110011F928F938BE527 +:104FB00096E09F938F930E94F0070F900F900F90B1 +:104FC0000F900895CF93C82F1F928F9380E699E09A +:104FD0009F938F930E94F00781E090E0A0E0B0E003 +:104FE000BC01CD0104C0660F771F881F991FCA95A9 +:104FF000D2F70E94831E0F900F900F900F90CF91C9 +:105000000C94CC1ACF938D3109F465C0B0F58E3075 +:1050100009F4CCC100F5873009F49BC1A8F48630AF +:1050200009F06DC28091D701817F8E7F8093D70177 +:1050300085E699E00E94570784EA9DE00E945707A1 +:1050400081E08093E60180C1883009F44FC08B3045 +:1050500009F47CC154C2863109F4F0C138F48031BE +:1050600009F4B8C1813109F430C249C2893109F467 +:10507000CEC18B3109F486C142C2853309F437C2EF +:1050800048F4873209F433C208F433C2893209F490 +:105090002EC235C2833438F48A3308F02CC28833E8 +:1050A00009F454C12CC2833409F421C2883409F0B4 +:1050B00026C20E94CC1A83E99DE00E9457079FEF09 +:1050C00023ED80E3915020408040E1F700C00000D4 +:1050D0000E94262239C183EB9DE00E9457070E945F +:1050E000012C0E94FE140E942C0D2EC188EA9DE026 +:1050F0000E94570786E79BE00E9457070E94EB2318 +:105100001F928F9383E79BE09F938F930E94F007FA +:1051100081E79BE00E9457070E94E223C82F8EE59B +:105120009BE00E9457071F92CF9389E59BE09F93D6 +:105130008F930E94F00787E59BE00E9457078DE45C +:105140009BE00E9457078C2F81701F928F938AE4F7 +:105150009BE09F938F930E94F00788E49BE00E945E +:1051600057078EE39BE00E945707C1FB882780F911 +:105170001F928F938BE39BE09F938F930E94F00786 +:1051800089E39BE00E9457078DE29BE00E9457074E +:10519000C2FB882780F91F928F938AE29BE09F933E +:1051A0008F930E94F00788E29BE00E9457078FE1EF +:1051B0009BE00E945707C3FBCC27C0F91F92CF93F7 +:1051C0008CE19BE09F938F930E94F0078AE19BE024 +:1051D0000E9457070E94F423C82F86E09BE00E949C +:1051E00057071F92CF9381E09BE09F938F930E947C +:1051F000F0078FEF9AE00E94570786EE9AE00E9430 +:1052000057078C2F81701F928F9383EE9AE09F93A4 +:105210008F930E94F0078DB79EB780960FB6F894D3 +:105220009EBF0FBE8DBF81EE9AE00E9457078AECA9 +:105230009AE00E945707C1FB882780F91F928F933D +:1052400087EC9AE09F938F930E94F00785EC9AE099 +:105250000E94570783EB9AE00E945707C2FB8827FA +:1052600080F91F928F9380EB9AE09F938F930E9417 +:10527000F0078EEA9AE00E9457078CE99AE00E94B4 +:105280005707C3FB882780F91F928F9389E99AE01B +:105290009F938F930E94F00787E99AE00E94570737 +:1052A0008DE89AE00E945707C4FB882780F91F9277 +:1052B0008F938AE89AE09F938F930E94F00788E883 +:1052C0009AE00E94570786E79AE00E945707C5FBBD +:1052D000882780F91F928F9383E79AE09F938F939B +:1052E0000E94F00781E79AE00E94570785E59AE05F +:1052F0000E945707C6FB882780F91F928F9382E58B +:105300009AE09F938F930E94F00780E59AE00E94B5 +:10531000570788E49AE00E945707C7FBCC27C0F9DB +:105320001F92CF9385E49AE09F938F930E94F0079A +:1053300083E49AE00E9457078DB79EB74C960FB64C +:10534000F8949EBF0FBE8DBFC1E0DEC08CE899E02F +:105350005BC08091D701C82FC17080FF09C086E86B +:105360009DE00E9457078091D701817F8E7F47C0C3 +:105370008AE79DE00E9457078091D7018160809362 +:10538000D701E2CF9091D70191FBCC27C0F981E002 +:10539000C827892FC0FB81F98093D701CC2319F04E +:1053A0008DE69DE027C08FE59DE02EC09091D7014E +:1053B00092FBCC27C0F981E0C827892FC0FB82F976 +:1053C0008093D701CC2319F080E59DE013C080E4E1 +:1053D0009DE01AC09091D70193FBCC27C0F981E0E2 +:1053E000C827892FC0FB83F98093D701CC2351F0C4 +:1053F00084E39DE00E9457078091D70181608093EC +:10540000D70182C087E29DE00E9457079DCF88E1C7 +:105410009DE00E9457078CEE9CE00E9457078FEAA0 +:105420009CE00E94570788E89CE00E94570784E4AC +:105430009CE00E94570786E19CE0E6CF88E09CE074 +:105440000E9457070E94FE141F928F938EEE9BE0DE +:105450009F938F930E94F00780910C011F928F936E +:1054600087ED9BE09F938F930E94F00780916E01E0 +:105470001F928F9384EC9BE09F938F930E94F00781 +:1054800080910D011F928F9381EB9BE09F938F93EF +:105490000E94F0078091D8019091D901A091DA0182 +:1054A000B091DB01BF93AF939F938F938DE99BE006 +:1054B0009F938F930E94F0078DB79EB746960FB6C5 +:1054C000F8949EBF0FBE8DBF3FCF0E94CC1AC091F3 +:1054D0000D0181E0C827C0930D01CC2329F083E999 +:1054E0009BE00E94570710C088E89BE08DCF80E0CA +:1054F00003C08D5101C089530E94E22725CF86E861 +:105500009BE00E945707C0E08C2FCF91089580E068 +:1055100008950C94872ACF93C82F8091E60181309B +:1055200081F020F0823009F44FC045C1E0910E01B6 +:10553000F0910F018081813169F0823209F03DC123 +:1055400009C0E0910E01F0910F018081813111F0CD +:10555000823261F48C2F0E94892A811104C08C2F21 +:105560000E9402282FC081E090E02CC08C2F0E9466 +:10557000872A811126C0C431E1F070F4CB3081F06C +:10558000C031D1F40E94AA2688E599E00E9457070D +:1055900082E08093E60115C0C93259F0C83361F446 +:1055A00085E699E00E9457078CE599E00E9457072D +:1055B00008C01092E60103C186E599E00E945707F2 +:1055C000FEC081E08170FDC0C43220F5CE3108F00C +:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E +:1055E0008093150194E19093140193E0909313013B +:1055F0008093120188E08093110188E2809310016A +:105600008CEF97E00E945707BFC0C33149F1C43106 +:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D +:10562000C83361F0AEC0C13509F49EC0C23509F47B +:1056300099C0CE3409F0A5C06AE09EC00E94AA2697 +:10564000A3C08091E501882319F01092E5019CC068 +:1056500089E098E00E94570781E08093E601B1C09D +:1056600083EE97E00E94570781ED97E00E9457076D +:10567000809115011F928F938EEC97E09F938F93EB +:105680000E94F0078CEC97E00E9457078AEB97E0A6 +:105690000E945707809114011F928F9387EB97E028 +:1056A0009F938F930E94F00785EB97E00E94570726 +:1056B00086EA97E00E945707809113011F928F930B +:1056C00083EA97E09F938F930E94F00781EA97E027 +:1056D0000E94570780E997E00E94570780911201C6 +:1056E0001F928F938DE897E09F938F930E94F0070E +:1056F0008BE897E00E94570786E797E00E945707DC +:10570000809111011F928F9383E797E09F938F936E +:105710000E94F00781E797E00E9457078AE597E02B +:105720000E945707809110011F928F9387E597E0A1 +:105730009F938F930E94F00785E597E00E9457079B +:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B +:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5 +:10576000E50112C061E003C061E006C06AE080911B +:10577000E5010E94C12608C08091E5010E946427CE +:1057800003C08AEF97E013C08091E501882369F098 +:105790001F928F9384EF97E09F938F930E94F0075F +:1057A0000F900F900F900F9004C081EF97E00E9430 +:1057B000570781E006C01092E60180E002C080E059 +:1057C00001CFCF910895E1E8F0E080818860808387 +:1057D0008081816080838FB7F89493E090938900F3 +:1057E00090ED909388008FBF0895EFE6F0E0808100 +:1057F000826080830895EFE6F0E080818D7F808372 +:105800000895EFE6F0E0908182E089278083089593 +:105810001F920F920FB60F9211242F933F934F9325 +:105820005F936F937F938F939F93AF93BF93EF9308 +:10583000FF938091E7019091E80101969093E80130 +:105840008093E701811103C082E00E942C0DE0915A +:10585000E801E695E695F0E0ED53F24FE491809192 +:10586000E7018E1303C080E00E942C0DFF91EF91A1 +:10587000BF91AF919F918F917F916F915F914F9168 +:105880003F912F910F900FBE0F901F9018950E947F +:105890004E2C6894B1110C94DD2C08950E94C22CFA +:1058A00088F09F5798F0B92F9927B751B0F0E1F0E1 +:1058B000660F771F881F991F1AF0BA95C9F714C091 +:1058C000B13091F00E94DC2CB1E008950C94DC2CF6 +:1058D000672F782F8827B85F39F0B93FCCF38695CA +:1058E00077956795B395D9F73EF490958095709527 +:1058F00061957F4F8F4F9F4F0895E89409C097FBA4 +:105900003EF490958095709561957F4F8F4F9F4F96 +:105910009923A9F0F92F96E9BB279395F6958795DA +:1059200077956795B795F111F8CFFAF4BB0F11F49D +:1059300060FF1BC06F5F7F4F8F4F9F4F16C0882344 +:1059400011F096E911C0772321F09EE8872F762F7A +:1059500005C0662371F096E8862F70E060E02AF0BB +:105960009A95660F771F881FDAF7880F96958795A7 +:1059700097F9089557FD9058440F551F59F05F3F10 +:1059800071F04795880F97FB991F61F09F3F79F061 +:1059900087950895121613061406551FF2CF4695E3 +:1059A000F1DF08C0161617061806991FF1CF869565 +:1059B0007105610508940895E894BB276627772749 +:1059C000CB0197F908950E94F62C0C94672D0E9444 +:1059D000592D38F00E94602D20F0952311F00C9481 +:1059E000502D0C94562D11240C94DD2C0E94BA2CB1 +:1059F00070F3959FC1F3950F50E0551F629FF00122 +:105A0000729FBB27F00DB11D639FAA27F00DB11D3A +:105A1000AA1F649F6627B00DA11D661F829F2227C3 +:105A2000B00DA11D621F739FB00DA11D621F839F4A +:105A3000A00D611D221F749F3327A00D611D231F20 +:105A4000849F600D211D822F762F6A2F11249F576E +:105A500050409AF0F1F088234AF0EE0FFF1FBB1F71 +:105A6000661F771F881F91505040A9F79E3F510530 +:105A700080F00C94502D0C94DD2C5F3FE4F3983EA5 +:105A8000D4F3869577956795B795F795E7959F5FDA +:105A9000C1F7FE2B880F911D9695879597F908956C +:105AA00097F99F6780E870E060E008959FEF80ECD1 +:105AB000089500240A941616170618060906089574 +:105AC00000240A9412161306140605060895092EDA +:105AD0000394000C11F4882352F0BB0F40F4BF2B49 +:105AE00011F460FF04C06F5F7F4F8F4F9F4F089589 +:105AF000991B79E004C0991F961708F0961B881F20 +:105B00007A95C9F78095089597FB072E16F40094AF +:105B100007D077FD09D00E949E2D07FC05D03EF4EA +:105B2000909581959F4F0895709561957F4F089549 +:105B3000EE0FFF1F0590F491E02D0994AA1BBB1BEB +:105B400051E107C0AA1FBB1FA617B70710F0A61B7D +:105B5000B70B881F991F5A95A9F780959095BC019E +:105B6000CD010895F999FECF92BD81BDF89A99278C +:105B700080B50895A8E1B0E042E050E00C94D52D46 +:105B8000262FF999FECF1FBA92BD81BD20BD0FB659 +:105B9000F894FA9AF99A0FBE019608950E94C02DC2 +:105BA000272F0C94C12DDC01CB01FC01F999FECF0C +:105BB00006C0F2BDE1BDF89A319600B40D92415095 +:0A5BC0005040B8F70895F894FFCFA5 +:105BCA0020022D0D200EFB0DC70D930D0101C501FD +:105BDA0028080A03140A3F4D3620394605F904C33A +:105BEA0004A3046A04DD03F6030F0428044804012D +:0A5BFA000203040506070809000075 +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/naps62/keymap.c b/keyboard/ergodox_ez/keymaps/naps62/keymap.c new file mode 100644 index 00000000000..b954a311e67 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/keymap.c @@ -0,0 +1,187 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Esc | 1 ! | 2 @ | 3 # | 4 $ | 5 % | Lang | | Esc | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | Bckspc | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | \ | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " | + * |--------+------+------+------+------+------| L1 | | L1 |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , < | . > | / ? | - _ | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | L1 | ` ~ | ' " | \ | | L2 | | { | } | [ { | ] } | L1 | + * `----------------------------------' `----------------------------------' + * ,--------------. ,---------------. + * | Home | End | | PgUp |Insert | + * ,------|-------|------| |-------+-------+------. + * | | | LGui | | Del | | | + * | Space| Alt |------| |-------| Enter |Space | + * | | | LGui | | Bcsp | | | + * `---------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_SPC), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(2), + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), + MO(1), KC_GRV, KC_QUOT, KC_BSLS, MO(2), + + KC_HOME, KC_END, + KC_LGUI, + KC_SPC, KC_LALT, KC_LGUI, + + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + MO(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, + KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, MO(1), + + KC_PGUP, KC_INS, + KC_DEL, + KC_BSPC, KC_ENT, KC_SPC +), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | = | . | 0 | - | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_EQL,KC_DOT, KC_0, KC_MINS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | |GuiUp | Expl | | Term | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |GuiLft|GuiDwn|GuiRgt| | |------| |------| Left | Down | Up |Right | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | |Browsr| | | | |VolDwn|VolUp | Mute | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | | Play | Prev | Next | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | |Brwser|Brwser| + * | Lclk | Rclk |------| |------|Fwd |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, LGUI(KC_W), LGUI(KC_E), KC_BTN1, LGUI(KC_T), KC_TRNS, + KC_TRNS, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), KC_MS_D, KC_MS_R, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_BTN1, KC_BTN2, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_WBAK, KC_WFWD +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c index 3343c22963c..4dd6d883ca8 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c @@ -7,7 +7,7 @@ #define MDIA 2 // media keys /* - * Ordinary Ergodox EZ keyboard layout, v1 + * Ordinary Ergodox EZ keyboard layout, v2 * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html */ @@ -16,13 +16,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | Grv | 1 | 2 | 3 | 4 | 5 | ESC | | = | 6 | 7 | 8 | 9 | 0 | - | + * | Grv | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | \ | | / | Y | U | I | O | P | ~L2 | + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | MDIA \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | ~L1 | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ~L1 | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |'/Ctrl| RShift | + * | SYMB | A | S | D | F | G |------| |------| H | J | K | L | ; | SYMB ' | + * |--------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl | * `----------------------------------' `----------------------------------' @@ -37,20 +37,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default - // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSLS, - KC_FN1, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT,CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LBRC, - KC_LCTL,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI, - KC_HOME, KC_END, - KC_PGUP, - KC_BSPC, KC_DEL, KC_PGDN, + // left hand + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + MO(SYMB), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LSFT(KC_TAB), + KC_LCTL, MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI, + KC_HOME, KC_END, + KC_PGUP, + KC_BSPC, KC_DEL, KC_PGDN, + // right hand - KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_SLSH, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(MDIA, KC_SLSH), - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_FN1, - KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_QUOT),KC_RSFT, + KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(MDIA, KC_BSLS), + KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(SYMB, KC_QUOT), + KC_TAB, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH),KC_RSFT, KC_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO), KC_RCTL, KC_LEFT, KC_RGHT, KC_UP, @@ -59,82 +60,82 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 1: Symbol Layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * | Esc | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * | MDIA | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CAPS | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | CAPS | + * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | + * |--------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | CAPS | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | + * | | | | | | | 0 | . | = | + | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | | | + * | Left | Right| | Home | End | * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | + * | | | Up | | PgUp | | | + * |Space |Enter |------| |------|BackSp| Del | + * | | | Down | | PgDn | | | * `--------------------' `--------------------' */ // SYMBOLS [SYMB] = KEYMAP( // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_CAPS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + MO(MDIA), KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_AMPR,LSFT(KC_COMM), + KC_TRNS, KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS, KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TAB, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_LEFT,KC_RGHT, + KC_UP, + KC_SPC,KC_ENT,KC_DOWN, // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_CAPS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + LSFT(KC_DOT), KC_PIPE, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_F12, + KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, + LSFT(KC_TAB), KC_BSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_CAPS, + KC_P0, KC_DOT, KC_PEQL, KC_PPLS, KC_PENT, + KC_HOME, KC_END, + KC_PGUP, + KC_PGDN, KC_BSPC, KC_DEL ), /* Keymap 2: Media and mouse keys * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | Sleep| | | | | |MyComp| Mail | | + * | Esc |ShutDn| Sleep| Mute |Vol Dn|Vol Up| | | | |PrtSc | PgUp |MyComp| Mail | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| | | | | Mute | | + * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| |ScrlUp| Up | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | + * | | |MsLeft|MsDown|MsRght| |------| |------| Home | Left | Down | Right| End | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| | | | | | | + * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| |ScrlDn| Down | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | | | | | | | + * | | | | Lclk | Rclk | | | PgDn | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Stop |Refrsh| | Prev | Next | * ,------|------|------| |------+------+------. - * |Brwser|Brwser| Home | |VolUp | | | - * |Back | Fwd |------| |------| Stop | Play | - * | | |Search| |VolDn | | | + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| * `--------------------' `--------------------' */ // MEDIA AND MOUSE [MDIA] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U, + KC_ESC, KC_PWR, KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, + MO(MDIA), KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_D, KC_TRNS, KC_TRNS, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_WH_D, KC_WSTP, KC_WREF, - KC_WHOM, - KC_WBAK, KC_TRNS, KC_WSCH, + KC_WSCH, + KC_WBAK, KC_TRNS, KC_WHOM, // right hand - KC_WSCH, KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_MAIL, KC_TRNS, - KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_PSCR, KC_PGUP, KC_MYCM, KC_MAIL, KC_TRNS, + KC_WH_U, KC_TRNS, KC_WH_U, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_END, KC_TRNS, + KC_WH_D, KC_TRNS, KC_WH_D, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGDN, KC_TRNS,KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD, KC_MSTP, KC_MPLY @@ -188,3 +189,4 @@ void matrix_scan_user(void) { } }; + diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png new file mode 100644 index 00000000000..b32b95533c5 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png differ diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt new file mode 100644 index 00000000000..727775ea2c3 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt @@ -0,0 +1,27 @@ +[{x:3.5},"#\n3",{x:10.5},"*\n8"], +[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"], +[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"], +[{y:-0.875,c:"#73ab6a",w:1.5},"~\n\n\n\n\n\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{t:"#000000\n\n\n\n#0000ff",w:1.5},"+\n\n\n\n\n\n="], +[{y:-0.375,x:3.5,t:"#000000"},"E",{x:10.5},"I"], +[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"], +[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"], +[{y:-0.875,c:"#73ab6a",w:1.5},"Tab",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",fa:[0,0,0,1],w:1.5},"|\n\\\nMedia\nL2"], +[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"], +[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"], +[{y:-0.875,x:5.5},"G",{x:6.5},"H"], +[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\nL1"], +[{y:-0.625,x:6.5,c:"#bfbf67",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"], +[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"], +[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."], +[{y:-0.875,x:5.5},"B",{x:6.5},"N"], +[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\nShift",{c:"#cccccc"},"Z\n\nCtrl",{x:14.5},"?\n/\nCtrl",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"], +[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], +[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"], +[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Home","End"], +[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"], +[{x:2},"Page\n\n\n\n\n\nDown"], +[{r:-30,rx:13,y:-1,x:-3},"Left","Right"], +[{x:-3},"Up",{h:2},"Enter",{h:2},"Space"], +[{x:-3},"Down"] + diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png new file mode 100644 index 00000000000..89d15e45069 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png differ diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt new file mode 100644 index 00000000000..4237f082018 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt @@ -0,0 +1,27 @@ +[{x:3.5,c:"#9988bb"},"Vol\n\n\n\n\n\nMute",{x:10.5,c:"#ccffff"},"Page\n\n\n\n\n\nUp"], +[{y:-0.875,x:2.5,c:"#9988bb"},"Sleep",{x:1},"Vol\n\n\n\n\n\nDown",{x:8.5},"Print\n\n\n\n\n\nScreen",{x:1},"Home\n\n\n\n\n\nDir"], +[{y:-0.875,x:5.5},"Vol\n\n\n\n\n\nUp",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",""], +[{y:-0.875,c:"#ff4444",a:4,w:1.5},"Esc",{c:"#9988bb"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Email",{c:"#cccccc",a:7,w:1.5},""], +[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"], +[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Scroll\n\n\n\n\n\nUp",{x:1,c:"#cccccc",a:7},""], +[{y:-0.875,x:5.5},"",{c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#cccccc",a:7},""], +[{y:-0.875,c:"#000000",t:"#ff0000",a:4,fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#000000",t:"#ff0000",a:4,w:1.5},"\n\nMedia\nL2"], +[{y:-0.375,x:3.5,c:"#ccffff",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], +[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"], +[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#ccffff",a:4},"Home"], +[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,c:"#ccffff",a:4},"End",{c:"#cccccc",a:7,w:1.5},""], +[{y:-0.625,x:6.5,c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"], +[{y:-0.75,x:3.5,c:"#ccffff"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], +[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"Scroll\n\n\n\n\n\nDown",{x:1,c:"#cccccc",a:7},""], +[{y:-0.875,x:5.5},"",{x:6.5},""], +[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""], +[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Left\n\n\n\n\n\nClick",{x:10.5},"Page\n\n\n\n\n\nDown"], +[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ccffff",a:4},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#cccccc",a:7},"",{x:1},""], +[{y:-0.75,x:0.5},"","",{x:14.5},"",""], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbaacc",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], +[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"], +[{x:2},"Home\n\n\nBrowser"], +[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"], +[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nUp",{c:"#bbaacc",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"], +[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nDown"] + diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png new file mode 100644 index 00000000000..7522af3330a Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png differ diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt new file mode 100644 index 00000000000..dda15f71be4 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt @@ -0,0 +1,27 @@ +[{x:3.5,c:"#a3a3a3"},"F3",{x:10.5},"F8"], +[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"], +[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#a3a3a3",a:4},"F6"], +[{y:-0.875,c:"#ff4444",w:1.5},"Esc",{c:"#a3a3a3"},"F1",{x:14.5},"F10",{w:1.5},"F11"], +[{y:-0.375,x:3.5,c:"#bbc6ed"},"{",{x:10.5,c:"#bed4ba"},"8"], +[{y:-0.875,x:2.5,c:"#bbc6ed"},"@",{x:1},"}",{x:8.5,c:"#bed4ba"},"7",{x:1},"9"], +[{y:-0.875,x:5.5,c:"#bbc6ed"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"], +[{y:-0.875,c:"#2277ff",fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#bbc6ed"},"!",{x:14.5,c:"#bed4ba"},"/",{c:"#a3a3a3",w:1.5},"F12"], +[{y:-0.375,x:3.5,c:"#bbc6ed"},"(",{x:10.5,c:"#bed4ba"},"5"], +[{y:-0.875,x:2.5,c:"#bbc6ed"},"$",{x:1},")",{x:8.5,c:"#bed4ba"},"4",{x:1},"6"], +[{y:-0.875,x:5.5,c:"#bbc6ed"},"`",{x:6.5},"/"], +[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#bbc6ed",t:"#000000"},"#",{x:14.5,c:"#bed4ba"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\nL1"], +[{y:-0.625,x:6.5,c:"#bfbf67",t:"#000000",h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"], +[{y:-0.75,x:3.5,c:"#bbc6ed"},"[",{x:10.5,c:"#bed4ba"},"2"], +[{y:-0.875,x:2.5,c:"#bbc6ed"},"^",{x:1},"]",{x:8.5,c:"#bed4ba"},"1",{x:1},"3"], +[{y:-0.875,x:5.5,c:"#bbc6ed"},"~",{x:6.5},"\\"], +[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#bbc6ed",a:4},"%",{x:14.5,c:"#bed4ba"},"-",{c:"#2277ff",w:1.5},"\n\nCaps Lock"], +[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#bed4ba",a:4},"."], +[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#bed4ba",a:4},"0",{x:1},"="], +[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#bed4ba",a:4},"+","Enter"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Left","Right"], +[{h:2},"Space",{h:2},"Enter","Up"], +[{x:2},"Down"], +[{r:-30,rx:13,y:-1,x:-3},"Home","End"], +[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], +[{x:-3},"Page\n\n\n\n\n\nDown"] + diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex index 5a847aa6e78..1a085984655 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex @@ -1,48 +1,48 @@ -:100000000C9465020C94AC020C94AC020C94AC02FF -:100010000C94AC020C94AC020C94AC020C94AC02A8 -:100020000C94AC020C94AC020C94C30B0C94950C85 -:100030000C94AC020C94AC020C94AC020C94AC0288 -:100040000C94AC020C9409210C94AC020C94AC02FC -:100050000C94AC020C949B1A0C94AC020C94AC0261 -:100060000C94AC020C94AC020C94AC020C94AC0258 -:100070000C94AC020C94AC020C94AC020C94AC0248 -:100080000C94AC020C94AC020C94AC020C94AC0238 -:100090000C94AC020C94AC020C94AC020C94AC0228 -:1000A0000C94AC020C94AC020C94AC02020D240D26 -:1000B000170E240D170E690D8C0D170EE10DF40DA2 -:1000C000DE10DE100D110D1150118A1197139713C8 -:1000D000A3119713981298126B1397139713821307 -:1000E0000000F0A135002B00C100E100E00000009D +:100000000C9465020C94A9020C94A9020C94A90208 +:100010000C94A9020C94A9020C94A9020C94A902B4 +:100020000C94A9020C94A9020C94B00B0C94820CB1 +:100030000C94A9020C94A9020C94A9020C94A90294 +:100040000C94A9020C940B210C94A9020C94A90203 +:100050000C94A9020C94AD1A0C94A9020C94A90258 +:100060000C94A9020C94A9020C94A9020C94A90264 +:100070000C94A9020C94A9020C94A9020C94A90254 +:100080000C94A9020C94A9020C94A9020C94A90244 +:100090000C94A9020C94A9020C94A9020C94A90234 +:1000A0000C94A9020C94A9020C94A902E70C090D66 +:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1 +:1000C000C310C310F110F11033116F116F136F13C0 +:1000D00087116F137E127E1249136F136F135D1316 +:1000E0000000F0A135002B000152E100E00000000B :1000F0001E00140004001D7100774E001F001A003E :1001000016001B00007F4C002000080007000600BE :10011000E2002A002100150009001900E3004B004D -:10012000220017000A00050000004A0029003100E3 -:1001300000002F0000004D002E00380000003000AD +:10012000220017000A00050000004A0029002F00E5 +:1001300000002B0200004D002D00300000002B00BD :100140000000500023001C000B00110000004F00B5 :10015000240018000D001000E700520025000C00DC :100160000E003600E6002C00260012000F003700BB -:10017000007F2800270013003300347100775100FE -:100180002D003882C100E500E400000001000100FC -:1001900001003900010000003A001E022002220284 -:1001A000010001003B001F022102230201000100A7 -:1001B0003C002F0226022F00010001003D0030020A -:1001C00027023000010001003E00310235003502F7 -:1001D000000001000100010000000100000001001A -:1001E0000100010000000100000001003F0052007A -:1001F00051002402000001004000240021001E00E4 -:10020000010001004100250022001F00370001000D -:1002100042002600230020002700010043002502A1 -:100220002E0231002E00010044004500010039007B -:1002300001000000010001000100010001000000B8 -:1002400001000100010001000100B40001000100F3 -:10025000F2000100010001000100F000F100F100D6 -:10026000F400B6000100F900F3000100FA00B50047 -:1002700001000100010001000000B800A600F90023 -:100280000000FA000000B900B400F9000000FA0014 -:100290000000AC0001000100010001000000AB0003 -:1002A00001000100010001000100A900010001009E -:1002B000010001000100AE00B300010001000100D7 -:1002C0000100AD00B100A800010001000100AA007A +: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 @@ -75,1047 +75,1045 @@ :1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2 :1004B000B39D87715D4A3A2C20170F0A060402018A :1004C0000000000000000000000011241FBECFEF5C -:1004D000DAE0DEBFCDBF04B603FE27C08091ED0198 -:1004E0009091EE01A091EF01B091F0018730904B17 -:1004F000A740B04BD1F41092ED011092EE01109292 -:10050000EF011092F00114BE84B7877F84BF0FB64D -:10051000F894A895809160008861809360001092A3 -:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C -:10053000E4EBF5E402C005900D92A433B107D9F7BE -:1005400021E0A4E3B1E001C01D92AD3EB207E1F7A6 -:100550000E940A090C94D8220C94000061110BC06F -:10056000FC018281882321F085EE0E94780F03C070 -:1005700085EE0E94401080E090E00895089560911B -:10058000B1017091B2018091B3019091B4010E94C8 -:10059000C81956985E9825982D9826982E982798D1 -:1005A0002F98813019F0823021F00895259A2D9AE4 -:1005B0000895269A2E9A08950C94BF0256985E9834 -:1005C00025982D9826982E9827982F988FEF90E0B1 -:1005D000909389008093880090938B0080938A0089 -:1005E00090938D0080938C00259A2D9A2FEF80E7B1 -:1005F00092E0215080409040E1F700C00000269A30 -:100600002E9A2FEF80E792E0215080409040E1F752 -:1006100000C00000279A2F9A2FEF80E792E0215028 -:1006200080409040E1F700C0000025982D982FEF02 -:1006300080E792E0215080409040E1F700C0000048 -:1006400026982E982FEF80E792E02150804090402E -:10065000E1F700C0000027982F9856985E982598DB -:100660002D9826982E9827982F98089589EA809398 -:10067000800089E08093810024982C983F988AB16B -:100680008F748AB96E98479A8BB1806B8BB9769AC2 -:100690000E94DE020C94BE0280E2809300018091F1 -:1006A000340181110EC00E949B0381E080933401CC -:1006B0002FEF83ED90E3215080409040E1F700C0A0 -:1006C000000080E40E94A1038093000181112EC0EC -:1006D0000E94CB0380930001811128C00E94CB03AC -:1006E00080930001811122C08FE30E94CB0380938D -:1006F000000181111BC00E94C30380E40E94A1037A -:1007000080930001811112C08CE00E94CB03809382 -:10071000000181110BC00E94CB0380930001811165 -:1007200005C08FE30E94CB03809300010E94C303A6 -:100730008091000108951092B9008AE08093B8007A -:10074000089594EA9093BC009091BC0097FFFCCF71 -:100750009091B900987F983021F0903111F081E0AC -:1007600008958093BB0084E88093BC008091BC0016 -:1007700087FFFCCF8091B900887F883111F08034E9 -:1007800071F780E0089584E98093BC008091BC00FB -:1007900084FDFCCF08958093BB0084E88093BC0067 -:1007A0008091BC0087FFFCCF9091B900987F81E0D9 -:1007B000983209F480E0089584E88093BC00809129 -:1007C000BC0087FFFCCF8091BB00089580910001A1 -:1007D000811115C080E40E94A10380930001811162 -:1007E0000CC082E10E94CB0380930001811105C0FF -:1007F0008FEF0E94CB03809300010E94C30384B15A -:10080000807F84B985B1807F85B98AB1837F8AB9B9 -:100810008BB1837F8BB93E98469808950E944C0314 -:10082000809300010E94E60380B38C7080BB81B38B -:10083000836F81BBE4E4F1E0A6E3B1E011921D9285 -:1008400081E0E235F807D1F70C9436039F92AF921E -:10085000BF92CF92DF92EF92FF920F931F93CF93AD -:10086000DF9380910001882379F0809135018F5FBB -:1008700080933501811108C00E944C0380930001D0 -:10088000811102C00E94DE0286E3E82E81E0F82E8C -:100890008701C0E0D0E0BB24B39492E0A92ECC2421 -:1008A000C394D12CC730D10500F58091000181118E -:1008B00064C080E40E94A10380930001811112C0F2 -:1008C00082E10E94CB038093000181110BC0C6011D -:1008D0000C2E01C0880F0A94EAF780950E94CB0382 -:1008E000809300010E94C30348C0CA30A1F028F4DD -:1008F000C83059F0C93061F005C0CC3089F070F0D3 -:10090000CD3089F0209A289810C0219A29980DC0DE -:10091000229A2A980AC0239A2B9807C0529A01C09B -:10092000539A5B9802C03E9A4698E0EAEA95F1F73E -:100930008FB181708B25799902C032E001C030E01F -:10094000832B7C9902C034E001C030E0832B7D9979 -:1009500002C028E001C020E0822B7E9902C090E115 -:1009600001C090E0892B9FB19095991F9927991FFD -:100970009295990F907E892B0FC080910001811173 -:100980004AC080E40E94A10380930001882381F182 -:10099000912C0E94C303892DD8019C91981719F0BE -:1009A0008C93A09201010E94E60321960F5F1F4FD6 -:1009B000CE30D10509F076CF80910101882369F10D -:1009C000815080930101882339F0EFE9FFE03197EE -:1009D000F1F700C0000021C0E4E4F1E0D7018D91FF -:1009E0007D018193B4E4EB16B1E0FB06B9F715C0C5 -:1009F00083E10E94CB03809300018111C9CF81E480 -:100A00000E94A103809300018111C2CF0E94DC03E8 -:100A1000982E9094BECF80E0BFCF0E94DC0281E090 -:100A2000DF91CF911F910F91FF90EF90DF90CF90CA -:100A3000BF90AF909F900895E82FF0E0EC5BFE4FE1 -:100A40008081089508958B3B910580F4883A910543 -:100A500048F5853A9105D8F48430910508F0B2C084 -:100A6000019709F06EC081E090E00895803E910505 -:100A700008F467C0883E910508F4A4C09C01205F7B -:100A800031092031310508F05CC090650895853A40 -:100A9000910509F459C0863A910509F058C082E8D9 -:100AA00090E40895883A910509F454C0893A910573 -:100AB00009F453C08A3A910509F452C08B3A910562 -:100AC00009F451C08C3A910509F450C08D3A910552 -:100AD00009F44FC0803B910509F44EC08E3A910550 -:100AE00009F44DC08F3A910509F44CC0813B910542 -:100AF00009F44BC0823B910509F44AC0833B910540 -:100B000009F449C0843B910509F448C0853B91052F -:100B100009F447C0863B910509F446C0873B91051F -:100B200009F445C0883B910509F444C0893B91050F -:100B300009F443C08A3B910509F442C080E094E483 -:100B4000089580E090E0089581E890E4089583E8B6 -:100B500090E4089582EE94E4089589EE94E4089573 -:100B60008AEE94E4089585EB94E4089586EB94E48A -:100B7000089587EB94E408958CEC94E408958DEC4B -:100B800094E4089583E895E408958AE895E4089547 -:100B900082E995E4089584E995E4089581E296E474 -:100BA000089583E296E4089584E296E4089585E248 -:100BB00096E4089586E296E4089587E296E408951F -:100BC0008AE296E40895089524E5829FC0011124E5 -:100BD000FC0126E0729FE00DF11D1124E60FF11DCE -:100BE000EE0FFF1FEC51FF4F859194910895880FF0 -:100BF000991FFC01E05AF040859194910895880F67 -:100C0000991FFC01E052FF4F85919491089524E5CE -:100C1000829FC0011124FC0146E0749FE00DF11D8C -:100C20001124E60FF11DEE0FFF1FEC51FF4F8591D0 -:100C300094919C013A9521154FE1340708F425C1A0 -:100C40003F512115304120F49F700E94FF05089507 -:100C50009C0130532115304118F49927906C089568 -:100C6000811520E5920769F40E94B9134FEF84E3E0 -:100C70009CE0415080409040E1F700C000000C949F -:100C8000C01A813020E5920731F48091CC01816057 -:100C90008093CC0108959C0130552115304108F016 -:100CA0005CC0292F33272F70332721303105E9F419 -:100CB000AC0164E0440F551F6A95E1F74427537077 -:100CC000BC016370772702C0220F331F6A95E2F7D9 -:100CD0003C68242B352B73E0880F991F7A95E1F738 -:100CE00080769927822B932B08952230310529F4A1 -:100CF000982F8827816F906A089523303105A1F4D9 -:100D0000AC0133E0440F551F3A95E1F7407E577030 -:100D10008370992721E030E002C0220F331F8A95AB -:100D2000E2F7C9019C6816C02430310531F5AC01E9 -:100D300023E0440F551F2A95E1F7407E57708370DA -:100D4000992721E030E002C0220F331F8A95E2F795 -:100D5000C9019A68842B952B08959C013057211561 -:100D6000304118F49F70906208959C01305821150D -:100D7000304118F49F70906A0895803E9105E0F428 -:100D8000803C910558F58133910509F46FC048F412 -:100D90008932910509F463C08A32910509F46DC066 -:100DA00072C089339105E9F082389105D1F085331D -:100DB000910509F44DC067C0833E910581F138F477 -:100DC000803E9105B9F0823E9105D9F05CC0863E27 -:100DD000910561F1873E9105A1F155C00E94F7058B -:100DE00008952091DE0120FD02C021FF4CC080EE5D -:100DF00090E049C08091DE0180FFF9CF89E390E067 -:100E000042C08091DE0182FF0EC08091DE0184FF2E -:100E100003C080E090E037C083EE90E034C0809162 -:100E2000DE0182FFF2CF82EE90E02DC08091DE01E4 -:100E300083FF0BC08091DE0184FDEBCF87EE90E055 -:100E400022C08091DE0183FFF5CF86EE90E01BC0CB -:100E50008091DE0185FF07C089E290E014C0809197 -:100E6000DE0185FFF9CF85E390E00DC08091DE01C2 -:100E700086FF07C08AE290E006C08091DE0186FF0F -:100E8000F9CF81E390E00E942305089508958091B1 -:100E900062010895CF93DF9300D01F92CDB7DEB7E4 -:100EA0009C018091E401843019F593E099833B83A0 -:100EB0002A839093E9008FEF9091E800815095FD8F -:100EC00006C095ED9A95F1F700008111F5CF80915C -:100ED000E80085FF0DC040E050E063E070E0CE0127 -:100EE00001960E94B7098091E8008E778093E80010 -:100EF0000F900F900F90DF91CF910895CF93DF93D4 -:100F000000D01F92CDB7DEB72091E401243021F547 -:100F100022E029839B838A8383E08093E9008FEF1B -:100F20009091E800815095FD06C095ED9A95F1F7F6 -:100F300000008111F5CF8091E80085FF0DC040E0F1 -:100F400050E063E070E0CE0101960E94B709809105 -:100F5000E8008E778093E8000F900F900F90DF915C -:100F6000CF9108959C018091E4018430F9F482E0EE -:100F70008093E9009FEF8091E800915085FD06C0C5 -:100F800085ED8A95F1F700009111F5CF8091E80089 -:100F900085FF0CC040E050E065E070E0C9010E94B0 -:100FA000B7098091E8008E778093E8000895CF9389 -:100FB000DF93EC018091E401843009F046C0909108 -:100FC0000C019923D9F090910D019923B9F08093E8 -:100FD000E9008FEF9091E800815095FD06C095E102 -:100FE0009A95F1F700008111F5CF8091E80085FF17 -:100FF0002CC040E050E060E170E017C081E08093D9 -:10100000E9008FEF9091E800815095FD06C095EDC5 -:101010009A95F1F700008111F5CF8091E80085FFE6 -:1010200014C040E050E068E070E0CE010E94B709D3 -:101030008091E8008E778093E80080E1FE01A2E5D0 -:10104000B1E001900D928A95E1F7DF91CF9108957B -:101050008091E301811109C00E94480B0E94A50BF9 -:101060008091E20084608093E20008951092E30191 -:10107000089508950C94F6200E94561A0E94FC20B0 -:101080000E94500E0C94460742E061EC81E00E9401 -:10109000C10A42E061EC82E00E94C10A42E061ECD8 -:1010A00083E00E94C10A42E161EC84E00C94C10A31 -:1010B0008091E601833009F455C030F4813071F03D -:1010C000823009F48EC008958A3009F47AC08B30DA -:1010D00009F460C0893009F09CC020C08091E5010E -:1010E000813A09F096C08091E800877F8093E800FC -:1010F0008091E9019091EA01892B21F460E182E578 -:1011000091E003C060E080E090E070E00E94020A9D -:101110008091E8008B778093E80008958091E50145 -:10112000813209F076C08091E9019091EA0100973F -:1011300019F0039709F06DC08091E800877F8093D4 -:10114000E8008091E80082FD05C08091E4018111F2 -:10115000F8CF5FC08091F100809362018091E80038 -:101160008B7753C08091E501813A09F052C080919C -:10117000E9019091EA01892B09F04BC08091E800C8 -:10118000877F8093E8008091E80080FFFCCF80910A -:101190000C0136C08091E5018132D9F58091E901D9 -:1011A0009091EA01892BA9F58091E800877F8093CF -:1011B000E8000E94F60A8091E70180930C010C94EC -:1011C000B9138091E501813221F58091E800877F94 -:1011D0008093E8000E94F60A8091E8018093630101 -:1011E00008958091E501813AA1F48091E800877F1C -:1011F0008093E8008091E80080FFFCCF809163013C -:101200008093F1008091E8008E778093E8000C9441 -:10121000F60A089584B7877F84BF0FB6F894A8951F -:1012200080916000886180936000109260000FBE22 -:1012300090E080E80FB6F89480936100909361008D -:101240000FBE0E949F0E0E94480B0E94A50B80912A -:10125000E20084608093E20078940E94300E0E9445 -:10126000A10E82E091E00E944B0E0E94E42080914A -:10127000E401853069F40E94181A8091E201882304 -:10128000B1F30E94421A882391F30E94A109EFCF83 -:101290000E94A70EECCF292F332723303105C9F048 -:1012A00060F42130310581F02230310509F041C070 -:1012B0008DE690E020E133E040C021323105E1F0DD -:1012C0002232310531F135C082E190E02DE733E083 -:1012D00034C099278130910549F028F0029749F5EB -:1012E000ECEDF2E005C0ECE0F3E002C0E4EFF2E088 -:1012F000849190E09F0121C06430D8F4E62FF0E0A3 -:10130000EE0FFF1FEE5DFE4F2081318189E090E0FE -:1013100014C0643070F470E0FB01EE0FFF1FE65E56 -:10132000FE4F20813181FB01EA5EFE4F808190E01B -:1013300004C080E090E020E030E0FA0131832083B7 -:10134000089580E189BD82E189BD09B400FEFDCF29 -:101350008091D8008F7D8093D8008091E0008260DA -:101360008093E0008091E00081FDFCCF0895CF9252 -:10137000DF92EF92FF920F931F93CF93DF93EC01D5 -:101380008B016A010E94150B811133C0C114D10475 -:1013900039F0F60180819181081B190BC80FD91F04 -:1013A000E12CF12C0115110519F18091E80085FD62 -:1013B00016C08091E8008E778093E800C114D104B4 -:1013C00049F0F60180819181E80EF91EF182E082F8 -:1013D00085E00FC00E94150B882321F30AC0899174 -:1013E0008093F10001501109FFEFEF1AFF0ADACFE5 -:1013F00080E0DF91CF911F910F91FF90EF90DF90F0 -:10140000CF9008952091EB013091EC01261737071A -:1014100048F06115710539F42091E8002E7720938A -:10142000E80001C0B901FC0120E06115710579F106 -:101430008091E4018823F1F18530F1F18091E80099 -:1014400083FD3CC08091E80082FD2EC08091E800C1 -:1014500080FFEBCF2091F3008091F20090E0922B7F -:101460006115710551F08830910538F42191209370 -:10147000F100615071090196F3CF21E0089709F05E -:1014800020E08091E8008E778093E800CECF211194 -:10149000CFCF0AC08091E401882361F0853061F0EC -:1014A0008091E80083FD0AC08091E80082FFF2CFBE -:1014B00080E0089582E0089583E0089581E0089532 -:1014C0002091EB013091EC012617370748F06115A8 -:1014D000710539F42091E8002E772093E80001C0CF -:1014E000B901FC0120E06115710591F18091E401E1 -:1014F000882309F440C0853009F43FC08091E8009A -:1015000083FD3DC08091E80082FD2FC08091E800FE -:1015100080FFE9CF2091F3008091F20090E0922BC0 -:101520006115710559F08830910540F4249120939C -:10153000F1003196615071090196F2CF21E00897D0 -:1015400009F020E08091E8008E778093E800CBCF0F -:101550002111CCCF0AC08091E401882361F085304D -:1015600061F08091E80083FD0AC08091E80082FF6D -:10157000F2CF80E0089582E0089583E0089581E04D -:101580000895982F973068F59093E900981739F0EF -:101590007091EC002091ED005091F00003C0242FD9 -:1015A000762F50E021FD02C09F5FECCF3091EB0021 -:1015B0003E7F3093EB003091ED003D7F3093ED00A6 -:1015C0003091EB0031603093EB007093EC0020938E -:1015D000ED005093F0002091EE0027FDE5CF80E074 -:1015E00008958F708093E90081E008958091E5016E -:1015F00087FF11C08091E80082FD05C08091E40161 -:101600008111F8CF11C08091E8008B770BC08091D9 -:10161000E401882349F08091E80080FFF8CF8091B1 -:10162000E8008E778093E80008952091E4003091DF -:10163000E50095E64091EC00842F817040FF23C0C7 -:101640008091E80080FD1DC08091E401882399F01D -:10165000853099F08091EB0085FD11C04091E40048 -:101660005091E5002417350729F3915011F09A01A4 -:10167000E1CF84E0089582E0089583E0089581E059 -:10168000089580E008954091E80042FFDDCF08957D -:101690000E94B60B0E94BE0BE0EEF0E080818160FC -:1016A0008083E8EDF0E080818F77808319BCA7ED1F -:1016B000B0E08C918E7F8C9380818F7E808310929E -:1016C000E30108950F931F93CF93DF930E94B60B0E -:1016D0000E94BE0BC8EDD0E088818F778883888117 -:1016E0008068888388818F7D888319BC1092E4018B -:1016F0001092E0011092E2011092E10100EE10E080 -:10170000F80180818B7F808388818160888342E0BB -:1017100060E080E00E94C10AE1EEF0E080818E7F0F -:101720008083E2EEF0E08081816080838081886048 -:101730008083F80180818E7F8083888180618883A7 -:10174000DF91CF911F910F910895E8EDF0E0808136 -:101750008F7E8083E7EDF0E080818160808384E08C -:1017600082BF81E08093E3010C94620BE8EDF0E02E -:1017700080818E7F80831092E20008951092DA00BB -:101780001092E10008951F920F920FB60F9211244C -:101790002F933F934F935F936F937F938F939F9379 -:1017A000AF93BF93EF93FF938091E10082FF0BC053 -:1017B0008091E20082FF07C08091E1008B7F8093DF -:1017C000E1000E942F0E8091DA0080FF1FC08091FF -:1017D000D80080FF1BC08091DA008E7F8093DA00F2 -:1017E0008091D90080FF0DC080E189BD82E189BD73 -:1017F00009B400FEFDCF81E08093E4010E94280837 -:1018000005C019BC1092E4010E9436088091E100E5 -:1018100080FF19C08091E20080FF15C08091E20036 -:101820008E7F8093E2008091E20080618093E200ED -:101830008091D80080628093D80019BC85E08093A5 -:10184000E4010E943A088091E10084FF30C0809159 -:10185000E20084FF2CC080E189BD82E189BD09B42A -:1018600000FEFDCF8091D8008F7D8093D8008091BD -:10187000E1008F7E8093E1008091E2008F7E809373 -:10188000E2008091E20081608093E2008091E001BB -:10189000882311F084E007C08091E30087FD02C037 -:1018A00081E001C083E08093E4010E943C088091C4 -:1018B000E10083FF29C08091E20083FF25C0809171 -:1018C000E100877F8093E10082E08093E401109241 -:1018D000E0018091E1008E7F8093E1008091E20041 -:1018E0008E7F8093E2008091E20080618093E2002D -:1018F00042E060E080E00E94C10A8091F0008860D0 -:101900008093F0000E943908FF91EF91BF91AF9151 -:101910009F918F917F916F915F914F913F912F9107 -:101920000F900FBE0F901F9018951F920F920FB639 -:101930000F9211242F933F934F935F936F937F9355 -:101940008F939F93AF93BF93CF93DF93EF93FF93C7 -:10195000C091E900CF708091EC00D82FD17080FD4C -:10196000D0E81092E9008091F000877F8093F0002A -:1019700078940E94D90C1092E9008091F000886060 -:101980008093F000CD2BCF70C093E900FF91EF91D1 -:10199000DF91CF91BF91AF919F918F917F916F9187 -:1019A0005F914F913F912F910F900FBE0F901F901D -:1019B00018951F93CF93DF93CDB7DEB7AA970FB6D5 -:1019C000F894DEBF0FBECDBFE5EEF1E08091F100EF -:1019D000819321E0ED3EF207C9F70E9458088091FB -:1019E000E80083FF24C18091E5019091E601492F31 -:1019F00050E04A30510508F01AC1FA01EA5AFF4F87 -:101A00000C948D22803881F0823809F010C18091C9 -:101A1000E9018F708093E9008091EB0085FB8827B6 -:101A200080F91092E90006C08091E1019091E201F5 -:101A3000911182609091E800977F9093E8008093E5 -:101A4000F1001092F100C8C0282F2D7F09F0EFC0DF -:101A5000882319F0823061F0EAC08091E70181307B -:101A600009F0E5C0933009F080E08093E2012BC0DB -:101A70008091E701811127C08091E9018F7009F4FD -:101A8000D6C08093E9002091EB0020FF1CC093306A -:101A900021F48091EB00806214C09091EB00906182 -:101AA0009093EB0021E030E0A90102C0440F551FE4 -:101AB0008A95E2F74093EA001092EA008091EB00E9 -:101AC00088608093EB001092E9008091E800877FA6 -:101AD00086C08111ACC01091E7011F778091E300AF -:101AE0008078812B8093E3008091E800877F80934A -:101AF000E8000E94F60A8091E80080FFFCCF809108 -:101B0000E30080688093E300111102C082E001C00D -:101B100083E08093E4018BC08058823008F087C056 -:101B20008091E7019091E8018C3D53E0950779F5AC -:101B300083E08A838AE289834FB7F894DE011396A3 -:101B400020E03EE051E2E32FF0E050935700E491B3 -:101B500020FF03C0E295EF703F5FEF708E2F90E0A3 -:101B6000EA3010F0C79601C0C0968D939D932F5F09 -:101B7000243149F74FBF8091E800877F8093E800C8 -:101B80006AE270E0CE0101960E94020A14C0AE0122 -:101B90004F5F5F4F6091E9010E944B09BC01892BA7 -:101BA00009F445C09091E800977F9093E8008981FF -:101BB0009A810E94600A8091E8008B778093E80008 -:101BC00036C08038A1F58091E800877F8093E800D7 -:101BD0008091E0018093F1008091E8008E778093FE -:101BE000E8000E94F60A23C0811121C08091E7011C -:101BF0009091E80199270297D4F48091E800877FBB -:101C00008093E8008091E7018093E0010E94F60A4A -:101C10008091E001811106C08091E30087FD02C040 -:101C200081E001C084E08093E4010E944408809137 -:101C3000E80083FF0AC08091E800877F8093E80076 -:101C40008091EB0080628093EB00AA960FB6F89427 -:101C5000DEBF0FBECDBFDF91CF911F9108950895D4 -:101C6000CF938091E4018823A1F0C091E900CF7067 -:101C70009091EC00892F817090FD80E8C82B109224 -:101C8000E9008091E80083FD0E94D90CCF70C093D9 -:101C9000E900CF91089590936901809368010895B8 -:101CA000E0916801F0916901309721F00190F08195 -:101CB000E02D099480E00895E0916801F0916901B8 -:101CC000309721F00280F381E02D09940895E0918E -:101CD0006801F0916901309721F00480F581E02DD1 -:101CE00009940895209166013091670128173907FA -:101CF00071F09093670180936601E0916801F09123 -:101D00006901309721F00680F781E02D099408954C -:101D100020916401309165012817390771F0909383 -:101D2000650180936401E0916801F0916901309749 -:101D300021F00084F185E02D0994089508950C9414 -:101D40009E0E0E945C1A0E940E040C94221BCF92DD -:101D5000DF92EF92FF920F931F93CF93DF93CDB754 -:101D6000DEB72B970FB6F894DEBF0FBECDBF0E9433 -:101D700026048BE6C82E81E0D82E00E010E0E02E8D -:101D8000802F0E941C05F60141916F01F82EF42668 -:101D9000B1F40F5F1F4F0E30110589F78FEF898364 -:101DA0008A831B820E94651A8160782F9D838C83B1 -:101DB00049815A816B818D810E944A0F40C0909168 -:101DC000CC0191FF04C08B870E9422058B8520E007 -:101DD00030E04F2D50E0922FBA01022E02C07595CF -:101DE00067950A94E2F760FF24C02E83EF8221E01A -:101DF00030E0690102C0CC0CDD1C9A95E2F790E05E -:101E00008C219D21892B09F420E028870E94651AE6 -:101E10008160782F9A8789874E815F8168858A855E -:101E20000E944A0FF801E559FE4F8081C826C08202 -:101E300006C02F5F3F4F2630310569F6AACF0E94BA -:101E4000091E0E94500E90916A018917A1F00E940C -:101E5000500E80936A012B960FB6F894DEBF0FBE2A -:101E6000CDBFDF91CF911F910F91FF90EF90DF9049 -:101E7000CF900C9446072B960FB6F894DEBF0FBE9A -:101E8000CDBFDF91CF911F910F91FF90EF90DF9029 -:101E9000CF900895CF93DF93CDB7DEB72B970FB6D2 -:101EA000F894DEBF0FBECDBF4F83588769877A870E -:101EB0008B87DE01119686E0FD0111928A95E9F784 -:101EC00085E0FE01379601900D928A95E1F74981F0 -:101ED0005A816B817C818D819E810E944D162B964B -:101EE0000FB6F894DEBF0FBECDBFDF91CF9108953E -:101EF000CF93C82F882309F4C1C0823859F40E94B7 -:101F0000500E81FDBBC089E30E94EA180E94A2190D -:101F100089E30CC0833879F40E94500E80FDAEC076 -:101F200083E50E94EA180E94A21983E50E942919FC -:101F3000CF910C94A219843859F40E94500E82FD5E -:101F40009DC087E40E94EA180E94A21987E4EECFA0 -:101F50008CEF8C0F813A48F48C2F0E94492081111C -:101F60008DC08C2F0E94EA18E3CF80E28C0F88305E -:101F700048F4C77081E001C0880FCA95EAF70E9453 -:101F80006B19D6CF8BE58C0F833078F4C53A29F0E6 -:101F9000C63A31F083E890E005C081E890E002C0E5 -:101FA00082E890E0CF910C94720E88E58C0F83311B -:101FB00008F064C0C83A39F1C93A41F1CA3A49F166 -:101FC000CB3A51F1CC3A59F1CD3A61F1C03B69F1CC -:101FD000CE3A71F1CF3A79F1C13B81F1C23B89F13F -:101FE000C33B91F1C43B99F1C53BA1F1C63BA9F1BB -:101FF000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11B -:1020000080E090E038C082EE90E035C089EE90E04C -:1020100032C08AEE90E02FC085EB90E02CC086EBBA -:1020200090E029C087EB90E026C08CEC90E023C0C4 -:102030008DEC90E020C083E891E01DC08AE891E03B -:102040001AC082E991E017C084E991E014C081E2EE -:1020500092E011C083E292E00EC084E292E00BC0F5 -:1020600085E292E008C086E292E005C087E292E055 -:1020700002C08AE292E0CF910C94880ECF9108952D -:10208000882309F44BC0823859F40E94500E81FF16 -:1020900045C089E30E94EA180E94A21989E30CC096 -:1020A000833871F40E94500E80FF38C083E50E948F -:1020B000EA180E94A21983E50E9429190C94A2191A -:1020C000843859F40E94500E82FF28C087E40E9491 -:1020D000EA180E94A21987E4EFCF9CEF980F913A7B -:1020E00058F390E2980F983050F4877091E001C057 -:1020F000990F8A95EAF7892F0E947119DFCF9BE526 -:10210000980F933020F480E090E00C94720E885A7F -:10211000833120F480E090E00C94880E08958823A9 -:1021200021F00E946B190C94A2190895882321F0C4 -:102130000E9471190C94A2190895BF92CF92DF9258 -:10214000EF92FF920F931F93CF93DF9300D000D0B5 -:1021500000D0CDB7DEB77C0185E0F701DE01119636 -:1021600001900D928A95E1F7F70183819481892B83 -:1021700009F4DDC2908181818F3F19F49F3F09F4FA -:10218000D6C2F7010281258122952F7099838A8317 -:1021900089819A812E830E94A918182FB92E0E9436 -:1021A000A8180E946F17EB2DE295EF704E2F50E0AC -:1021B000FA01E05AFF4F2E810C948D228B2D807FE7 -:1021C0009B2D9F70F92E882319F0F29480EFF8224E -:1021D000002349F0FF2009F457C28F2D0E947B197C -:1021E0000E94A21951C2812F0E944010FF2009F4C1 -:1021F0009EC28F2D0E94811926960FB6F894DEBFDD -:102200000FBECDBFDF91CF911F910F91FF90EF9047 -:10221000DF90CF90BF900C94A2193B2D307F8B2D77 -:102220008F70303211F08295807F112319F01130B8 -:1022300021F12CC00023B9F0222309F490C12130F0 -:1022400009F08DC126960FB6F894DEBF0FBECDBF44 -:10225000DF91CF911F910F91FF90EF90DF90CF9082 -:10226000BF900C948B19222319F0213009F45FC21E -:102270008E830E948E198E8186C1002321F0223028 -:1022800008F055C26CC1211152C27DC1002321F05A -:10229000222309F464C1F8C1222309F474C109C2DC -:1022A0008B2D86958695837019F08130D1F03FC2D1 -:1022B000002321F0812F9B2D937002C080E090E0DD -:1022C00026960FB6F894DEBF0FBECDBFDF91CF913B -:1022D0001F910F91FF90EF90DF90CF90BF900C94E3 -:1022E000720E002321F0812F9B2D937002C080E09D -:1022F00090E026960FB6F894DEBF0FBECDBFDF91FB -:10230000CF911F910F91FF90EF90DF90CF90BF90F2 -:102310000C94880E812F002319F00E94111D02C019 -:102320000E94791D26960FB6F894DEBF0FBECDBF72 -:10233000DF91CF911F910F91FF90EF90DF90CF90A1 -:10234000BF900C94FE1D8B2D837009F075C0011198 -:10235000EEC1812F829586958770880F880F912F07 -:102360009F70C92ED12CE12CF12C082E04C0CC0C6E -:10237000DD1CEE1CFF1C0A94D2F714FF12C00FE004 -:1023800010E020E030E004C0000F111F221F331FB7 -:102390008A95D2F7C901B80160957095809590959E -:1023A00003C060E070E0CB014B2D4695469543702D -:1023B0004230C1F060F56C297D298E299F2941307A -:1023C00051F126960FB6F894DEBF0FBECDBFDF9158 -:1023D000CF911F910F91FF90EF90DF90CF90BF9022 -:1023E0000C9496176C297D298E299F2926960FB665 -:1023F000F894DEBF0FBECDBFDF91CF911F910F913B -:10240000FF90EF90DF90CF90BF900C94B2170E9496 -:102410009617C701B60126960FB6F894DEBF0FBE19 -:10242000CDBFDF91CF911F910F91FF90EF90DF9083 -:10243000CF90BF900C947A17002319F08B2D8170E8 -:1024400001C08695882309F472C1812F82958695F3 -:102450008770880F880F912F9F70C92ED12CE12C87 -:10246000F12C082E04C0CC0CDD1CEE1CFF1C0A94C1 -:10247000D2F714FF12C00FE010E020E030E004C0FB -:10248000000F111F221F331F8A95D2F7C901B8010F -:10249000609570958095909503C060E070E0CB01E9 -:1024A0004B2D4695469543704230C1F060F56C293E -:1024B0007D298E299F29413051F126960FB6F89437 -:1024C000DEBF0FBECDBFDF91CF911F910F91FF9067 -:1024D000EF90DF90CF90BF900C9470186C297D29FD -:1024E0008E299F2926960FB6F894DEBF0FBECDBF6A -:1024F000DF91CF911F910F91FF90EF90DF90CF90E0 -:10250000BF900C948C180E947018C701B6012696D3 -:102510000FB6F894DEBF0FBECDBFDF91CF911F91F4 -:102520000F91FF90EF90DF90CF90BF900C945418D4 -:10253000103FD1F118F4103E50F4A1C0123F09F43D -:1025400063C008F44CC0133F09F473C098C01F70F7 -:102550008B2D8F710023A1F00E94ED17812F2696FD -:102560000FB6F894DEBF0FBECDBFDF91CF911F91A4 -:102570000F91FF90EF90DF90CF90BF900C948F1051 -:102580000E940E18812F26960FB6F894DEBF0FBE5C -:10259000CDBFDF91CF911F910F91FF90EF90DF9012 -:1025A000CF90BF900C9496100023A9F02111BFC0CA -:1025B0008B2D8F7126960FB6F894DEBF0FBECDBF60 -:1025C000DF91CF911F910F91FF90EF90DF90CF900F -:1025D000BF900C943318223008F0A9C0E9CF002333 -:1025E000A9F08B2D8F7126960FB6F894DEBF0FBE23 -:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2 -:10260000CF90BF900C94ED17002359F38B2D8F7151 -:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7 -:102620001F910F91FF90EF90DF90CF90BF900C948F -:102630000E18002399F08B2D8F7126960FB6F89403 -:10264000DEBF0FBECDBFDF91CF911F910F91FF90E5 -:10265000EF90DF90CF90BF900C94D81726960FB6CE -:10266000F894DEBF0FBECDBFDF91CF911F910F91C8 -:10267000FF90EF90DF90CF90BF900C94CE17002387 -:10268000A9F0222309F4ADCF812F26960FB6F89436 -:10269000DEBF0FBECDBFDF91CF911F910F91FF9095 -:1026A000EF90DF90CF90BF900C94780F222309F425 -:1026B000ADCF812F26960FB6F894DEBF0FBECDBFEB -:1026C000DF91CF911F910F91FF90EF90DF90CF900E -:1026D000BF900C9440104B2D4F70612FC7010E948A -:1026E000AE0226960FB6F894DEBF0FBECDBFDF91C7 -:1026F000CF911F910F91FF90EF90DF90CF90BF90FF -:102700000C94F2164B2D4F70612FC70126960FB611 -:10271000F894DEBF0FBECDBFDF91CF911F910F9117 -:10272000FF90EF90DF90CF90BF900C94E30526963A -:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2 -:102740000F91FF90EF90DF90CF90BF9008950E947F -:1027500088190E945D190E94A2190E94AE1E0E9453 -:10276000FE1D80E090E00E94720E80E090E00C94EC -:10277000880E0E9478190C94A7130E94A918292F7B -:1027800022952F702C3030F42A3048F42250223019 -:1027900078F405C02C3041F02F3031F009C0803E74 -:1027A00048F0803F29F406C093FB882780F90895FC -:1027B00080E0089581E00895CF93DF9300D000D0AA -:1027C0001F92CDB7DEB70F900F900F900F900F9024 -:1027D000DF91CF910895CF93DF9300D000D000D048 -:1027E000CDB7DEB726960FB6F894DEBF0FBECDBFCD -:1027F000DF91CF9108951F93CF93DF93C09179011B -:1028000016E080917A01C81799F0D0E01C9FF00182 -:102810001D9FF00D1124E558FE4F408151816281CA -:102820007381848195810E94EB132196C770E9CF53 -:10283000DF91CF911F9108954091AB015091AC0170 -:102840006091AD017091AE018091AF019091B001A6 -:102850000C94EB138091B00182958F7009F054C0F5 -:102860008091AD01882309F44FC080917901A09136 -:102870007A014091AE015091AF016091AB0170912E -:10288000AC01B6E08A1709F43FC090E0411551054C -:10289000C1F17F3F11F46F3FA1F1B89FF001B99FE3 -:1028A000F00D1124E558FE4F218127132AC0208105 -:1028B000261327C02281211124C0238134812417AB -:1028C000350710F421503109241B350B283C310504 -:1028D000C0F42091B0012F7020612093B00126E058 -:1028E000289FF001299FF00D1124E058FE4F8081B0 -:1028F0008F70806180838BEA91E00E949D100C9420 -:10290000FB1301968770BECF0895CF92DF92EF92AE -:10291000FF920F931F93CF93DF93CDB7DEB76297EC -:102920000FB6F894DEBF0FBECDBF8C0185E0F80175 -:10293000DE011D9601900D928A95E1F7D8014C9128 -:1029400011965C91119712966C918091AE019091C5 -:10295000AF01009709F475C13091AB017091AC01E2 -:102960007F3F19F43F3F09F46CC1F801C380D48064 -:10297000E090AD01EE2009F4BEC02091B001C81670 -:10298000D90628F0D601A81BB90BCD0104C080954B -:1029900090958C0D9D1DFF24F394883C910578F053 -:1029A000F12C207F09F0C4C07C2DD98AC88A89897E -:1029B0000E94DC138BEA91E00E949D10AFC0822F31 -:1029C000807F09F045C0571313C0431311C0611134 -:1029D0000FC02F7020612093B0010E941C148BEA5D -:1029E00091E00E949D108091B001F80185832EC076 -:1029F000CD2819F15F3F11F44F3FF9F0F62E611128 -:102A00001CC08091790120917A0136E0821709F487 -:102A10005BC090E0389FF001399FF00D1124E5581C -:102A2000FE4F7181571306C07081471303C0728136 -:102A3000711103C001968770E9CFF62E662309F461 -:102A40001CC18091B00181608093B001F12C15C14F -:102A5000571309C0431307C0611105C08091B0012D -:102A6000F8018583C8C04D875E878D859E856A8BFA -:102A70000E94BD136A898823D1F16623C1F1209198 -:102A8000B001822F82958F7090E0029774F0809150 -:102A9000AB019091AC0198878F831986DB86CA863B -:102AA0002C87CE0107960E949D1086E0F801ABEAC4 -:102AB000B1E001900D928A95E1F70E942A140E94DC -:102AC0001C14FF24F394D9C04D875E878D859E85A5 -:102AD0000E94A918292F22952F70223008F0C1C01A -:102AE0009F7009F0BBC0805E883008F4C6C0C80182 -:102AF0000E949D10E6CFC816D90608F453C0F6010F -:102B0000E81BF90BCF01883C910508F450C0F12C6B -:102B10007C2DD98AC88A89890E94DC13EBEAF1E00E -:102B200086E0DF011D928A95E9F70E941C14A5C07A -:102B3000571314C0431312C0611110C08091B0012B -:102B4000F8018583C8010E949D1086E0EBEAF1E060 -:102B5000DF011D928A95E9F7FE2C8FC04D875E87B5 -:102B60008D859E856A8B0E94BD136A89882309F42E -:102B7000BECF662309F4BBCF2091B001822F82958E -:102B80008F7090E002970CF490CF8091AB01909100 -:102B9000AC019A8389831B82DD82CC822E83CE0195 -:102BA000019681CF809590958C0D9D1DACCFF62E12 -:102BB000662309F49CCF571333C0431331C02091CF -:102BC000B00120FD24C0822F82958F70482F50E0E5 -:102BD00041155105E1F0D80115962C9315974F300A -:102BE000510549F08F5F982F9295907F822F8F70BB -:102BF000892B15968C93C8010E949D1086E0F801E0 -:102C0000ABEAB1E001900D928A95E1F78ECF86E0B4 -:102C1000F801ABEAB1E001900D928A95E1F72DC081 -:102C20004D875E878D859E850E94BD1381113DCFA6 -:102C30008091B00181608093B001C8010E949D1015 -:102C40001CC0662309F453CF4D875E878D859E8512 -:102C50000E94BD13882309F44ACF27CF811143CFA7 -:102C60000CC0243008F043CF9F7009F43CCFD8014A -:102C700015969C91907F09F036CF8F2D62960FB6F6 -:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2 -:102C9000FF90EF90DF90CF9008951F93CF93DF9335 -:102CA000CDB7DEB72C970FB6F894DEBF0FBECDBF01 -:102CB0004F83588769877A878B879C87CE010796D1 -:102CC0000E948514882371F08A859B85892B09F4DD -:102CD00041C088858F3F09F065C08F818F3F09F023 -:102CE00061C038C086E0FE013796DE011196019082 -:102CF0000D928A95E1F76A857B856115710551F121 -:102D0000FF81E885EF3F11F4FF3F21F120917A0127 -:102D100030E0C9010196877099274091790150E010 -:102D20008417950709F447C0F983EA837D836C8390 -:102D300096E0929FD001939FB00D1124A558BE4FED -:102D4000FE01319601900D929A95E1F780937A01F8 -:102D50000E94FB1316E08091790190917A01891706 -:102D6000B9F1189FC001112485589E4F0E94851407 -:102D7000882371F1E09179011E9FF0011124E5583B -:102D8000FE4F4081518162817381848195810E94CF -:102D9000EB138091790190E00196877099278093D9 -:102DA0007901D9CF4F81588569857A858B859C8536 -:102DB0000E94EB13CFCF0E94B91310927A011092A8 -:102DC0007901EBEAF1E086E0DF011D928A95E9F7EF -:102DD0002C960FB6F894DEBF0FBECDBFDF91CF911A -:102DE0001F910895EF92FF920F931F93CF93DF935C -:102DF0008C01892B09F46CC0F12CEE24E394E801DA -:102E00002196F8018491843740F4843008F051C051 -:102E1000813081F0823019F15BC0853709F444C0FC -:102E2000A8F19CE7980F903708F052C08F770E9466 -:102E3000401041C00E5F1F4FFE01849190E2980F39 -:102E4000983050F48770FE2D01C0FF0F8A95EAF785 -:102E50008F2F0E947B1914C00E94780F2DC00E5F27 -:102E60001F4FFE01849190E2980F983060F48770B4 -:102E7000FE2D01C0FF0F8A95EAF78F2F0E9481195E -:102E80000E94A21919C00E94401016C00E5F1F4F69 -:102E9000FE01C491CC2381F08FE99FE00197F1F707 -:102EA00000C00000C150F6CF0E5F1F4FFE01F4902E -:102EB00003C00E94780F8E018F2D882309F49FCFC5 -:102EC000EFE9FFE03197F1F700C000008150F5CF46 -:102ED000DF91CF911F910F91FF90EF90089508958A -:102EE0006093B5017093B6018093B7019093B801D8 -:102EF0000C94A7130F931F930091B5011091B60185 -:102F00002091B7013091B801DC01CB01802B912BCE -:102F1000A22BB32B8093B5019093B601A093B70178 -:102F2000B093B8011F910F910C94A7130F931F93A7 -:102F30000091B5011091B6012091B7013091B8010F -:102F4000DC01CB0180239123A223B3238093B5011D -:102F50009093B601A093B701B093B8011F910F9160 -:102F60000C94A7130F931F930091B5011091B60114 -:102F70002091B7013091B801DC01CB018027912766 -:102F8000A227B3278093B5019093B601A093B70110 -:102F9000B093B8011F910F910C94A7131092B10137 -:102FA0001092B2011092B3011092B4010C94A713C5 -:102FB00041E050E060E070E004C0440F551F661F20 -:102FC000771F8A95D2F74093B1015093B201609375 -:102FD000B3017093B4010C94A71341E050E060E09A -:102FE00070E004C0440F551F661F771F8A95D2F703 -:102FF0008091B1019091B201A091B301B091B4015F -:10300000482B592B6A2B7B2B4093B1015093B20173 -:103010006093B3017093B4010C94A71341E050E0A6 -:1030200060E070E004C0440F551F661F771F8A954B -:10303000D2F740955095609570958091B10190912F -:10304000B201A091B301B091B401482359236A237E -:103050007B234093B1015093B2016093B30170930D -:10306000B4010C94A71341E050E060E070E004C0AC -:10307000440F551F661F771F8A95D2F78091B101C3 -:103080009091B201A091B301B091B40148275927A2 -:103090006A277B274093B1015093B2016093B3013B -:1030A0007093B4010C94A7130F931F930091B10177 -:1030B0001091B2012091B3013091B401DC01CB0138 -:1030C000802B912BA22BB32B8093B1019093B20153 -:1030D000A093B301B093B4011F910F910C94A71367 -:1030E0000F931F930091B1011091B2012091B30190 -:1030F0003091B401DC01CB0180239123A223B323BF -:103100008093B1019093B201A093B301B093B40145 -:103110001F910F910C94A7130F931F930091B1016E -:103120001091B2012091B3013091B401DC01CB01C7 -:1031300080279127A227B3278093B1019093B201F2 -:10314000A093B301B093B4011F910F910C94A713F6 -:103150000895CF92DF92EF92FF920F931F93CF9338 -:10316000DF938C01C090B101D090B201E090B30127 -:10317000F090B4018091B5019091B601A091B70192 -:10318000B091B801C82AD92AEA2AFB2ACFE1D0E0B7 -:10319000D701C6010C2E04C0B695A79597958795C3 -:1031A0000A94D2F780FF07C0B8018C2F0E9407064F -:1031B0008130910531F4219758F7B80180E00E94E1 -:1031C0000706DF91CF911F910F91FF90EF90DF9055 -:1031D000CF90089590910C019923F1F090910D01F9 -:1031E0009923D1F0982F9695969596959F3080F5D6 -:1031F000E0910E01F0910F01E90FF11D877021E0C0 -:1032000030E0A90102C0440F551F8A95E2F7CA01B8 -:103210009181892B8183089520910E0130910F01B6 -:10322000F90132969FEF40E05191851789F09F3F59 -:1032300019F4511101C0942F4F5F4E30A9F79F3FF1 -:1032400039F0F901E90FF11D97FDFA958283089590 -:10325000089590910C019923F9F090910D01992313 -:10326000D9F0982F9695969596959F3028F5E091F0 -:103270000E01F0910F01E90FF11D877021E030E0A0 -:10328000A90102C0440F551F8A95E2F7CA01809533 -:10329000918189238183089520910E0130910F013E -:1032A000F9013296205F3F4F9081891301C010824F -:1032B0003196E217F307C1F7089581E090E0E091BD -:1032C0000E01F0910F01E80FF91F10820196803175 -:1032D0009105A9F708959091CB01892B8093CB019B -:1032E000089580959091CB0189238093CB01089517 -:1032F0001092CB0108959091CA01892B8093CA0145 -:10330000089580959091CA0189238093CA010895F8 -:103310001092CA0108958093B90108951092B901DD -:10332000089580910E0190910F01FC0131969C014E -:10333000205F3F4F80E0919191118F5FE217F3077B -:10334000D1F70895E0910E01F0910F018091CB012A -:103350008083E0910E01F0910F0190818091CA016C -:10336000892B80838091B901882361F0E0910E015F -:10337000F0910F019081892B80830E949119811116 -:103380001092B90180910E0190910F010C945C0E86 -:10339000CF92DF92EF92FF926C01EE24FF24C114D2 -:1033A000D104E104F10421F0C701B60120E101C01C -:1033B00020E0C72ED82EE92EFF24C114D104E10449 -:1033C000F10419F0285FC701B6016B017C0154E0DC -:1033D000F694E794D794C7945A95D1F7C114D104C1 -:1033E000E104F10419F02C5FC701B6016B017C0107 -:1033F00042E0F694E794D794C7944A95D1F7C11464 -:10340000D104E104F10419F02E5FC701B601DC011B -:10341000CB01B695A79597958795892B8A2B8B2BF2 -:1034200009F02F5F822FFF90EF90DF90CF900895EB -:103430008091E401843011F120E488E190E00FB63E -:10344000F894A895809360000FBE2093600083B726 -:10345000817F846083BF83B7816083BF78948895C0 -:1034600083B78E7F83BF0FB6F894A89580916000D4 -:10347000886180936000109260000FBE08950895E7 -:103480000C943F1ACF930E94401A0E9426040E9477 -:103490003F1AC0E08C2F0E941C05811104C0CF5F31 -:1034A000CE30C1F701C081E0CF9108950E94B913D9 -:1034B0000E94500E0C94460782E084BD93E095BDB7 -:1034C0009AEF97BD80936E0008952FB7F89480917E -:1034D000CD019091CE01A091CF01B091D0012FBF2D -:1034E0000895CF92DF92EF92FF920F931F932FB721 -:1034F000F8944091CD015091CE016091CF0170912F -:10350000D0012FBF6A017B01EE24FF248C0120E053 -:1035100030E0C016D106E206F30610F4415051091E -:103520009A01281B390BC9011F910F91FF90EF9051 -:10353000DF90CF9008951F920F920FB60F92112433 -:103540008F939F93AF93BF938091CD019091CE01C4 -:10355000A091CF01B091D0010196A11DB11D809322 -:10356000CD019093CE01A093CF01B093D001BF9134 -:10357000AF919F918F910F900FBE0F901F90189554 -:103580000E94480BF8942FEF87EA91E62150804083 -:103590009040E1F700C0000087E090EBDC018093F1 -:1035A000ED019093EE01A093EF01B093F0019CE048 -:1035B00088E10FB6F894A895809360000FBE9093B1 -:1035C0006000FFCFEF92FF920F931F93CF93DF9393 -:1035D000D82FC0E08C2F0E941C0500E010E0E82EE0 -:1035E000F12CC701002E02C0959587950A94E2F749 -:1035F00080FD06C00F5F1F4F0630110591F709C00F -:10360000602F7C2F80E00E94E4058D13F3CF81E0D2 -:1036100004C0CF5FCE30F1F680E0DF91CF911F91F3 -:103620000F91FF90EF900895CF93C82F8CE20E94E6 -:10363000E21A882321F08C2FCF910C94E21A80E0BB -:10364000CF910895CF930E94691C811102C00E94FE -:103650004F1CC5E6C15049F00E9426048FE39CE947 -:103660000197F1F700C00000F5CF89E20E94141B1A -:10367000811113C18AE20E94141B81110E944F1C08 -:1036800085E00E94141B81110E94C01A0E94741CC4 -:103690008093CC0187E00E94141B8823A9F18BE161 -:1036A0000E94141B882351F08091CC0181FB2227BA -:1036B00020F991E0922790FB81F90EC08EE00E94E4 -:1036C000141B882361F08091CC0182FB222720F912 -:1036D00091E0922790FB82F98093CC0115C080E1A4 -:1036E0000E94141B9091CC01882341F093FB222768 -:1036F00020F981E0822780FB93F904C0892F80950F -:1037000080FB90F99093CC018091CC010E94781CB1 -:103710000E94861C8093DE0180EE0E94141B882389 -:1037200041F08091DE01982F909590FB80F9809375 -:10373000DE0189E30E94141B882359F08091DE0189 -:1037400081FB222720F991E0922790FB81F9809359 -:10375000DE0182EE0E94141B882359F08091DE0165 -:1037600082FB222720F991E0922790FB82F9809337 -:10377000DE0186EE0E94141B882359F08091DE0141 -:1037800083FB222720F991E0922790FB83F9809315 -:10379000DE0183EE0E94141B882359F08091DE0124 -:1037A00084FB222720F991E0922790FB84F98093F3 -:1037B000DE0185E30E94141B882359F08091DE010D -:1037C00085FB222720F991E0922790FB85F98093D1 -:1037D000DE0181E30E94141B882359F08091DE01F1 -:1037E00086FB222720F991E0922790FB86F98093AF -:1037F000DE0181E10E94141B882359F08091DE01D3 -:1038000087FB222720F991E0922790FB87F980938C -:10381000DE018091DE010E948A1C8091DE0187FB1F -:10382000882780F980930D0187E20E94141BC82F1E -:103830008EE10E94141B8111C2608FE10E94141B53 -:103840008111C46080E20E94141B8111C86081E272 -:103850000E94141B8111C06182E20E94141B81111D -:10386000C06283E20E94141B8111C06484E20E9442 -:10387000141B882311F0C06802C0CC2329F08C2FC0 -:103880000E94811C6C2F03C00E947D1C682F70E079 -:1038900080E090E0CF910C947017CF9108956DEE79 -:1038A0007EEF80E090E00E94C32260E082E090E042 -:1038B0000E94B52260E083E090E00E94B52260E0C3 -:1038C00084E090E00E94B52260E085E090E00C94F6 -:1038D000B52280E090E00E94AF2221E08D3E9E4F15 -:1038E00009F020E0822F089582E090E00C94A72256 -:1038F000682F82E090E00C94B52283E090E00C9475 -:10390000A722682F83E090E00C94B52284E090E039 -:103910000C94A722682F84E090E00C94B52280914B -:10392000D30180FF0BC06091130185E0689FB00157 -:10393000112475956795759567952BC081FF09C012 -:103940006091130185E0689FB0011124759567951A -:1039500020C082FF07C06091130185E0689FB0011D -:10396000112417C09091D4019923D1F060911201D4 -:10397000961788F72091130185E0289F9001112464 -:10398000929FA001939F500D112470E0CA010E94E4 -:1039900079226038710540F46115710519F406C08B -:1039A00065E070E0862F08958FE7089581E008951F -:1039B0008091D30180FF08C06091110170E075957E -:1039C00067957595679521C081FF06C060911101CB -:1039D00070E07595679519C082FF04C06091110170 -:1039E00070E010C09091D401992399F0609110017A -:1039F0009617A0F780911101899FC001112470E0F2 -:103A00000E9479226038710540F46115710519F43E -:103A100006C061E070E0862F08958FE7089581E089 -:103A20000895803F21F40E948F1C819504C0813F3E -:103A300029F40E948F1C8093D7010895823F21F4BE -:103A40000E948F1C819504C0833F29F40E948F1C23 -:103A50008093D6010895893F19F40E94D81C05C0AF -:103A60008A3F31F40E94D81C81958093D801089533 -:103A70008B3F21F40E94D81C819504C08C3F29F40F -:103A80000E94D81C8093D9010895843F21F480912D -:103A9000D501816017C0853F21F48091D5018260F6 -:103AA00011C0863F21F48091D50184600BC0873F0F -:103AB00021F48091D501886005C0883F31F4809160 -:103AC000D50180618093D50108958D3F21F48091C7 -:103AD000D30181600BC08E3F21F48091D3018260BD -:103AE00005C08F3F29F48091D30184608093D30176 -:103AF0000895803F39F48091D70187FF6CC0109200 -:103B0000D70169C0813F29F48091D7011816BCF311 -:103B100062C09091D601823F29F497FF5CC0109259 -:103B2000D60159C0833F19F41916CCF354C0893F0C -:103B300041F48091D80118160CF04DC01092D801B4 -:103B40004AC08A3F29F48091D80187FF44C0F6CF4C -:103B50008B3F39F48091D90187FF3DC01092D90184 -:103B60003AC08C3F29F48091D9011816BCF333C0B8 -:103B7000843F21F48091D5018E7F17C0853F21F4C9 -:103B80008091D5018D7F11C0863F21F48091D501B0 -:103B90008B7F0BC0873F21F48091D501877F05C0C3 -:103BA000883F31F48091D5018F7E8093D50113C079 -:103BB0008D3F21F48091D3018E7F0BC08E3F21F485 -:103BC0008091D3018D7F05C08F3F29F48091D3016F -:103BD0008B7F8093D3018091D60181110EC080919B -:103BE000D70181110AC08091D801811106C080914E -:103BF000D901811102C01092D401089585ED91E0A0 -:103C00000E94670E0E94651A9093D2018093D101A1 -:103C100008951F93CF93DF938091D1019091D201AA -:103C20000E94711AAC019091D401992321F0209146 -:103C3000140130E006C0209115018AE0289F900110 -:103C400011244217530708F485C08091D601C09112 -:103C5000D701D091D8011091D901811107C0C111AC -:103C600075C0D11173C0111171C074C09F3F19F09C -:103C70009F5F9093D401181624F40E948F1C8093A8 -:103C8000D6018091D60187FF05C00E948F1C8195C7 -:103C90008093D6011C1624F40E948F1C8093D701B8 -:103CA0008091D70187FF05C00E948F1C819580936A -:103CB000D7016091D601662331F1C091D701CC23A1 -:103CC00011F1062E000C770B880B990B0E948021B6 -:103CD00023E333E343E35FE30E94E4210E944821AE -:103CE0006093D6016C2FCC0F770B880B990B0E9439 -:103CF000802123E333E343E35FE30E94E4210E9456 -:103D000048216093D7011D1624F40E94D81C80938B -:103D1000D8018091D80187FF05C00E94D81C8195E9 -:103D20008093D801111624F40E94D81C8093D901E5 -:103D30008091D90187FF05C00E94D81C819580938E -:103D4000D901DF91CF911F910C94FE1D9F3F09F087 -:103D50008FCFA0CFDF91CF911F910895E5EDF1E0D6 -:103D600085E0DF011D928A95E9F71092D401109247 -:103D7000D3010895833081F128F4813059F08230E5 -:103D8000D1F00895853009F449C0B8F1863009F4BE -:103D900056C0089580911501262F30E0280F311D5F -:103DA0002F3F310524F4680F6093150108958FEFBC -:103DB00080931501089580911401262F30E0280F7B -:103DC000311D2F3F310524F4680F609314010895CD -:103DD0008FEF80931401089580911301262F30E016 -:103DE000280F311D2F3F310524F4680F6093130114 -:103DF00008958FEF80931301089580911201262F6B -:103E000030E0280F311D2F3F310524F4680F6093F7 -:103E1000120108958FEF809312010895809111018E -:103E2000262F30E0280F311D2F3F310524F4680F75 -:103E30006093110108958FEF80931101089580918F -:103E40001001262F30E0280F311D2F3F310524F4BB -:103E5000680F6093100108958FEF8093100108950B -:103E6000833011F128F4813049F0823091F00895C7 -:103E7000853081F120F18630C1F1089580911501DE -:103E8000681720F4861B8093150108951092150180 -:103E9000089580911401681720F4861B8093140103 -:103EA000089510921401089580911301681720F469 -:103EB000861B809313010895109213010895809139 -:103EC0001201681720F4861B809312010895109246 -:103ED0001201089580911101681720F4861B8093C8 -:103EE0001101089510921101089580911001681731 -:103EF00020F4861B809310010895109210010895FC -:103F00000F931F938D3109F46BC008F03FC08E30C2 -:103F100009F47DC0C0F4873009F46EC068F48630BF -:103F200009F0AFC08091CC01817F8E7F8093CC015E -:103F300081E08093DB01A6C0883009F458C08B3043 -:103F400009F49BC09EC0863109F497C078F4803193 -:103F500009F470C0813109F094C00E94B9139091A6 -:103F60000D0181E0892780930D0187C0893109F413 -:103F700084C08B3109F085C08091CC0181FB222760 -:103F800020F991E0922790FB81F94AC0853309F42A -:103F90005BC048F4873209F457C008F45AC089322C -:103FA00009F452C06EC0833438F48A3308F067C015 -:103FB000883309F462C065C0833409F445C088348D -:103FC00009F05FC00E94B9130FEF13ED20E3015019 -:103FD00010402040E1F700C000000E94C01A4DC010 -:103FE0000E9402210E94500E0E94460746C00E9475 -:103FF000741C0E94861C41C09091CC01892F817055 -:1040000090FF12C0917F9E7F9093CC013BC0809126 -:10401000CC0182FB222720F991E0922790FB82F9C4 -:104020008093CC01992349F18091CC0181608093E8 -:10403000CC0123C08091CC0183FB222720F991E0A1 -:10404000922790FB83F9ECCF61E070E080E090E094 -:1040500010C08D5141E050E060E070E08A019B01AA -:1040600004C0000F111F221F331F8A95D2F7C90108 -:10407000B8010E9470170E94B91381E003C08953F0 -:10408000E9CF80E01F910F91089580E008950C948E -:104090004520CF93C82F8091DB01813079F018F053 -:1040A0008230E9F187C0E0910E01F0910F0180812B -:1040B000813169F0823209F07FC009C0E0910E01C0 -:1040C000F0910F018081813111F0823261F48C2FE7 -:1040D0000E944720811104C08C2F0E94801F1DC0A8 -:1040E00081E090E01AC08C2F0E944520811114C0FD -:1040F000C43179F048F4CB3079F0C03109F060C0B8 -:1041000082E08093DB0108C0C93219F0C83321F086 -:1041100057C01092DB0154C081E0817053C0C93296 -:1041200089F118F5C43171F1A8F4C73009F046C01F -:104130008AE08093150194E19093140193E09093A9 -:1041400013018093120188E08093110188E280932B -:10415000100134C0CE51C63088F5EC2FF0E0E65D9A -:10416000FE4F80818093DA0129C0CE34E9F020F43B -:10417000CB3421F56AE013C0C13579F0C235F1F4D2 -:1041800061E00DC08091DA01882319F01092DA0104 -:1041900015C081E08093DB0115C061E006C080910D -:1041A000DA010E94BA1E0AC06AE08091DA010E9418 -:1041B000301F04C01092DB0180E004C081E002C027 -:1041C00080E0ABCFCF910895E1E8F0E08081886096 -:1041D00080838081816080838FB7F89493E090938F -:1041E000890090ED909388008FBF0895EFE6F0E08E -:1041F0008081826080830895EFE6F0E080818D7F8A -:1042000080830895EFE6F0E0908182E08927808343 -:1042100008951F920F920FB60F9211242F933F9380 -:104220004F935F936F937F938F939F93AF93BF93BE -:10423000EF93FF938091DC019091DD0101969093C3 -:10424000DD018093DC01811103C082E00E944607FA -:10425000E091DD01E695E695F0E0E657FB4FE4914D -:104260008091DC018E1303C080E00E944607FF911D -:10427000EF91BF91AF919F918F917F916F915F91DE -:104280004F913F912F910F900FBE0F901F90189557 -:104290000E944F216894B1110C94DE2108950E9470 -:1042A000C32188F09F5798F0B92F9927B751B0F0E4 -:1042B000E1F0660F771F881F991F1AF0BA95C9F7AA -:1042C00014C0B13091F00E94DD21B1E008950C944A -:1042D000DD21672F782F8827B85F39F0B93FCCF3FD -:1042E000869577956795B395D9F73EF49095809527 -:1042F000709561957F4F8F4F9F4F0895E89409C047 -:1043000097FB3EF490958095709561957F4F8F4F08 -:104310009F4F9923A9F0F92F96E9BB279395F6951E -:10432000879577956795B795F111F8CFFAF4BB0F9C -:1043300011F460FF1BC06F5F7F4F8F4F9F4F16C000 -:10434000882311F096E911C0772321F09EE8872F8A -:10435000762F05C0662371F096E8862F70E060E046 -:104360002AF09A95660F771F881FDAF7880F9695BF -:10437000879597F9089557FD9058440F551F59F0A8 -:104380005F3F71F04795880F97FB991F61F09F3F42 -:1043900079F087950895121613061406551FF2CF6B -:1043A0004695F1DF08C0161617061806991FF1CFBB -:1043B00086957105610508940895E894BB276627E2 -:1043C0007727CB0197F908950E94F7210C94682272 -:1043D0000E945A2238F00E94612220F0952311F0A9 -:1043E0000C9451220C94572211240C94DE210E942B -:1043F000BB2170F3959FC1F3950F50E0551F629F4D -:10440000F001729FBB27F00DB11D639FAA27F00D2D -:10441000B11DAA1F649F6627B00DA11D661F829F54 -:104420002227B00DA11D621F739FB00DA11D621F39 -:10443000839FA00D611D221F749F3327A00D611D56 -:10444000231F849F600D211D822F762F6A2F112438 -:104450009F5750409AF0F1F088234AF0EE0FFF1F6B -:10446000BB1F661F771F881F91505040A9F79E3FC2 -:10447000510580F00C9451220C94DE215F3FE4F34F -:10448000983ED4F3869577956795B795F795E79518 -:104490009F5FC1F7FE2B880F911D9695879597F921 -:1044A000089597F99F6780E870E060E008959FEFB6 -:1044B00080EC089500240A941616170618060906BB -:1044C000089500240A94121613061406050608958A -:1044D000092E0394000C11F4882352F0BB0F40F412 -:1044E000BF2B11F460FF04C06F5F7F4F8F4F9F4F52 -:1044F000089597FB072E16F4009407D077FD09D096 -:104500000E94932207FC05D03EF4909581959F4F21 -:104510000895709561957F4F0895EE0FFF1F0590E8 -:10452000F491E02D0994AA1BBB1B51E107C0AA1FFF -:10453000BB1FA617B70710F0A61BB70B881F991F44 -:104540005A95A9F780959095BC01CD010895F999E8 -:10455000FECF92BD81BDF89A992780B50895A8E154 -:10456000B0E042E050E00C94CA22262FF999FECF29 -:104570001FBA92BD81BD20BD0FB6F894FA9AF99A80 -:104580000FBE019608950E94B522272F0C94B622E3 -:10459000DC01CB01FC01F999FECF06C0F2BDE1BD03 -:1045A000F89A319600B40D9241505040B8F70895F2 -:0445B000F894FFCFAD -:1045B40020024707D707B2077E074A070101BA015D -:1045C40028080A03140A3F4D36394B04FE03C80376 -:1045D4008F0322033B0354036D0301020304050606 -:0445E40007080900BB +: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 :00000001FF diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png deleted file mode 100644 index c83f972cfe1..00000000000 Binary files a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png and /dev/null differ diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md index 033e8ef4d5f..1cfea06dd09 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md +++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md @@ -1,5 +1,9 @@ -# The Ordinary Layout. for users of common keyboards +# The Ordinary Layout, a familiar and powerful layout -You can read more about the reasoning behind this layout over at [Nicholas's blog](http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html). The idea is to make a layout that's as familiar as possible for users of "regular" keyboards. +The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards and features enhanced Symbol and Media layers compared to the default Ergodox EZ layout. -![Ordinary layout](ordinary.png) +Full details about the rationale behind this layout [are available](http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html). + +![Ordinary base layout](ordinary-base.png) +![Ordinary symbol layout](ordinary-symbol.png) +![Ordinary media layout](ordinary-media.png) diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md index 6f182d0d832..9eb4c24db3d 100644 --- a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md +++ b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md @@ -28,7 +28,11 @@ There are four layers: - Tap `F2` to copy screenshot to the clipboard. - Hold `SHIFT` and tap `F2` to save screenshot as a file. - Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/). -- Tap `F14`, `F15` to adjust display brightness. +- Tap `F14`, `F15` to adjust display brightness. + +**IMPORTANT**: If you have another keyboard connected via Bluetooth, then `F14` and `F15` will not work. +Turn off that Bluetooth keyboard. Re-plug you ErgoDox. Enjoy! + ## CTRL/ESC diff --git a/keyboard/planck/planck.c b/keyboard/planck/planck.c index fe8731ec7b5..4b39cf1e8bd 100644 --- a/keyboard/planck/planck.c +++ b/keyboard/planck/planck.c @@ -1,28 +1,26 @@ #include "planck.h" __attribute__ ((weak)) -void matrix_init_user(void) { - -} +void matrix_init_user(void) {} __attribute__ ((weak)) -void matrix_scan_user(void) { +void matrix_scan_user(void) {} -} +__attribute__ ((weak)) +void process_action_user(keyrecord_t *record) {} void matrix_init_kb(void) { - #ifdef BACKLIGHT_ENABLE - backlight_init_ports(); - #endif +#ifdef BACKLIGHT_ENABLE + backlight_init_ports(); +#endif - #ifdef RGBLIGHT_ENABLE - rgblight_init(); - #endif +#ifdef RGBLIGHT_ENABLE + rgblight_init(); +#endif - - // Turn status LED on - DDRE |= (1<<6); - PORTE |= (1<<6); + // Turn status LED on + DDRE |= (1<<6); + PORTE |= (1<<6); matrix_init_user(); } @@ -30,3 +28,7 @@ void matrix_init_kb(void) { void matrix_scan_kb(void) { matrix_scan_user(); } + +void process_action_kb(keyrecord_t *record) { + process_action_user(record); +} diff --git a/keyboard/planck/planck.h b/keyboard/planck/planck.h index e9566b92286..edcb5fbff6d 100644 --- a/keyboard/planck/planck.h +++ b/keyboard/planck/planck.h @@ -42,5 +42,6 @@ void matrix_init_user(void); void matrix_scan_user(void); +void process_action_user(keyrecord_t *record); #endif diff --git a/keyboard/retro_refit/Makefile b/keyboard/retro_refit/Makefile index ec51227ff12..918b4307198 100644 --- a/keyboard/retro_refit/Makefile +++ b/keyboard/retro_refit/Makefile @@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512 # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls -# UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +# MIDI_ENABLE = YES # MIDI controls +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # Optimize size but this may cause error "relocation truncated to fit" diff --git a/keyboard/retro_refit/config.h b/keyboard/retro_refit/config.h index ba9a861edd4..05fceb92b2b 100644 --- a/keyboard/retro_refit/config.h +++ b/keyboard/retro_refit/config.h @@ -53,11 +53,54 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* key combination for command */ + +/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +#define FORCE_NKRO + +/* + * Magic key options + * These options allow the magic key functionality to be changed. This is useful + * if your keyboard/keypad is missing keys and you want magic key support. + */ + +/* key combination for magic key command */ #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* remap magic keys */ +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +#define MAGIC_KEY_LOCK BSLS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + /* * Feature disable options * These options are also useful to firmware size reduction. @@ -76,4 +119,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -#endif +#endif \ No newline at end of file diff --git a/quantum/template/Makefile b/quantum/template/Makefile index 2efa691380f..4fa195468d1 100644 --- a/quantum/template/Makefile +++ b/quantum/template/Makefile @@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512 # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls -# UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +#NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +# MIDI_ENABLE = YES # MIDI controls +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # Optimize size but this may cause error "relocation truncated to fit" diff --git a/quantum/template/config.h b/quantum/template/config.h index 7d6149f436e..dae4b631308 100644 --- a/quantum/template/config.h +++ b/quantum/template/config.h @@ -55,11 +55,56 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* key combination for command */ +/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +//#define FORCE_NKRO + +/* + * Magic key options + * These options allow the magic key functionality to be changed. This is useful + * if your keyboard/keypad is missing keys and you want magic key support. + */ + +/* key combination for magic key command */ #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/quantum/template/template.c b/quantum/template/template.c index 58e73cb09f1..cc52e496ffe 100644 --- a/quantum/template/template.c +++ b/quantum/template/template.c @@ -10,6 +10,11 @@ void matrix_scan_user(void) { // leave this function blank - it can be defined in a keymap file } +__attribute__ ((weak)) +void process_action_user(keyrecord_t *record) { + // leave this function blank - it can be defined in a keymap file +} + __attribute__ ((weak)) void led_set_user(uint8_t usb_led) { // leave this function blank - it can be defined in a keymap file @@ -18,19 +23,26 @@ void led_set_user(uint8_t usb_led) { void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up - + matrix_init_user(); } void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) + // put your looping keyboard code here + // runs every cycle (a lot) matrix_scan_user(); } +void process_action_kb(keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + process_action_user(record); +} + void led_set_kb(uint8_t usb_led) { // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here led_set_user(usb_led); -} \ No newline at end of file +} diff --git a/quantum/template/template.h b/quantum/template/template.h index ba91abac3e6..b1c34d3cbee 100644 --- a/quantum/template/template.h +++ b/quantum/template/template.h @@ -17,10 +17,11 @@ { \ { k00, k01, k02 }, \ { k10, KC_NO, k11 }, \ -} +} void matrix_init_user(void); void matrix_scan_user(void); +void process_action_user(keyrecord_t *record); void led_set_user(uint8_t usb_led); -#endif \ No newline at end of file +#endif diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 77ea39e942c..2ccc0e0b947 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -53,6 +53,9 @@ void action_exec(keyevent_t event) #endif } +__attribute__ ((weak)) +void process_action_kb(keyrecord_t *record) {} + void process_action(keyrecord_t *record) { keyevent_t event = record->event; @@ -62,6 +65,8 @@ void process_action(keyrecord_t *record) if (IS_NOEVENT(event)) { return; } + process_action_kb(record); + action_t action = layer_switch_get_action(event.key); dprint("ACTION: "); debug_action(action); #ifndef NO_ACTION_LAYER @@ -70,6 +75,10 @@ void process_action(keyrecord_t *record) #endif dprintln(); + if (event.pressed) { + // clear the potential weak mods left by previously pressed keys + clear_weak_mods(); + } switch (action.kind.id) { /* Key and Mods */ case ACT_LMODS: @@ -500,6 +509,7 @@ void clear_keyboard(void) void clear_keyboard_but_mods(void) { clear_weak_mods(); + clear_macro_mods(); clear_keys(); send_keyboard_report(); #ifdef MOUSEKEY_ENABLE diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h index 8a4736d7bc1..9f528af4b98 100644 --- a/tmk_core/common/action.h +++ b/tmk_core/common/action.h @@ -58,6 +58,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); /* user defined special function */ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt); +/* keyboard-specific key event (pre)processing */ +void process_action_kb(keyrecord_t *record); + /* Utilities for actions. */ void process_action(keyrecord_t *record); void register_code(uint8_t code); diff --git a/tmk_core/common/action_macro.c b/tmk_core/common/action_macro.c index ffaf125c06c..7726b119076 100644 --- a/tmk_core/common/action_macro.c +++ b/tmk_core/common/action_macro.c @@ -41,7 +41,7 @@ void action_macro_play(const macro_t *macro_p) MACRO_READ(); dprintf("KEY_DOWN(%02X)\n", macro); if (IS_MOD(macro)) { - add_weak_mods(MOD_BIT(macro)); + add_macro_mods(MOD_BIT(macro)); send_keyboard_report(); } else { register_code(macro); @@ -51,7 +51,7 @@ void action_macro_play(const macro_t *macro_p) MACRO_READ(); dprintf("KEY_UP(%02X)\n", macro); if (IS_MOD(macro)) { - del_weak_mods(MOD_BIT(macro)); + del_macro_mods(MOD_BIT(macro)); send_keyboard_report(); } else { unregister_code(macro); diff --git a/tmk_core/common/action_util.c b/tmk_core/common/action_util.c index f81877dd9f4..a2d6577b24d 100644 --- a/tmk_core/common/action_util.c +++ b/tmk_core/common/action_util.c @@ -29,6 +29,7 @@ static inline void del_key_bit(uint8_t code); static uint8_t real_mods = 0; static uint8_t weak_mods = 0; +static uint8_t macro_mods = 0; #ifdef USB_6KRO_ENABLE #define RO_ADD(a, b) ((a + b) % KEYBOARD_REPORT_KEYS) @@ -55,6 +56,7 @@ static int16_t oneshot_time = 0; void send_keyboard_report(void) { keyboard_report->mods = real_mods; keyboard_report->mods |= weak_mods; + keyboard_report->mods |= macro_mods; #ifndef NO_ACTION_ONESHOT if (oneshot_mods) { #if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) @@ -118,6 +120,13 @@ void del_weak_mods(uint8_t mods) { weak_mods &= ~mods; } void set_weak_mods(uint8_t mods) { weak_mods = mods; } void clear_weak_mods(void) { weak_mods = 0; } +/* macro modifier */ +uint8_t get_macro_mods(void) { return macro_mods; } +void add_macro_mods(uint8_t mods) { macro_mods |= mods; } +void del_macro_mods(uint8_t mods) { macro_mods &= ~mods; } +void set_macro_mods(uint8_t mods) { macro_mods = mods; } +void clear_macro_mods(void) { macro_mods = 0; } + /* Oneshot modifier */ #ifndef NO_ACTION_ONESHOT void set_oneshot_mods(uint8_t mods) diff --git a/tmk_core/common/action_util.h b/tmk_core/common/action_util.h index a955638b46d..1a95cec10ec 100644 --- a/tmk_core/common/action_util.h +++ b/tmk_core/common/action_util.h @@ -47,6 +47,13 @@ void del_weak_mods(uint8_t mods); void set_weak_mods(uint8_t mods); void clear_weak_mods(void); +/* macro modifier */ +uint8_t get_macro_mods(void); +void add_macro_mods(uint8_t mods); +void del_macro_mods(uint8_t mods); +void set_macro_mods(uint8_t mods); +void clear_macro_mods(void); + /* oneshot modifier */ void set_oneshot_mods(uint8_t mods); void clear_oneshot_mods(void); diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index d59bb01bbcb..b4cd3ca56b9 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c @@ -52,6 +52,8 @@ along with this program. If not, see . static bool command_common(uint8_t code); static void command_common_help(void); +static void print_version(void); +static void print_status(void); static bool command_console(uint8_t code); static void command_console_help(void); #ifdef MOUSEKEY_ENABLE @@ -112,35 +114,140 @@ bool command_console_extra(uint8_t code) ***********************************************************/ static void command_common_help(void) { - print("\n\t- Magic -\n" - "d: debug\n" - "x: debug matrix\n" - "k: debug keyboard\n" - "m: debug mouse\n" - "v: version\n" - "s: status\n" - "c: console mode\n" - "0-4: layer0-4(F10-F4)\n" - "Paus: bootloader\n" + print( "\n\t- Magic -\n" + STR(MAGIC_KEY_DEBUG ) ": Debug Message Toggle\n" + STR(MAGIC_KEY_DEBUG_MATRIX) ": Matrix Debug Mode Toggle - Show keypresses in matrix grid\n" + STR(MAGIC_KEY_DEBUG_KBD ) ": Keyboard Debug Toggle - Show keypress report\n" + STR(MAGIC_KEY_DEBUG_MOUSE ) ": Debug Mouse Toggle\n" + STR(MAGIC_KEY_VERSION ) ": Version\n" + STR(MAGIC_KEY_STATUS ) ": Status\n" + STR(MAGIC_KEY_CONSOLE ) ": Activate Console Mode\n" + +#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM + STR(MAGIC_KEY_LAYER0 ) ": Switch to Layer 0\n" + STR(MAGIC_KEY_LAYER1 ) ": Switch to Layer 1\n" + STR(MAGIC_KEY_LAYER2 ) ": Switch to Layer 2\n" + STR(MAGIC_KEY_LAYER3 ) ": Switch to Layer 3\n" + STR(MAGIC_KEY_LAYER4 ) ": Switch to Layer 4\n" + STR(MAGIC_KEY_LAYER5 ) ": Switch to Layer 5\n" + STR(MAGIC_KEY_LAYER6 ) ": Switch to Layer 6\n" + STR(MAGIC_KEY_LAYER7 ) ": Switch to Layer 7\n" + STR(MAGIC_KEY_LAYER8 ) ": Switch to Layer 8\n" + STR(MAGIC_KEY_LAYER9 ) ": Switch to Layer 9\n" +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS + "F1-F10: Switch to Layer 0-9 (F10 = L0)\n" +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS + "0-9: Switch to Layer 0-9\n" +#endif + + STR(MAGIC_KEY_LAYER0_ALT1 ) ": Switch to Layer 0 (alternate key 1)\n" + STR(MAGIC_KEY_LAYER0_ALT2 ) ": Switch to Layer 0 (alternate key 2)\n" + STR(MAGIC_KEY_BOOTLOADER ) ": Jump to Bootloader (Reset)\n" #ifdef KEYBOARD_LOCK_ENABLE - "Caps: Lock\n" + STR(MAGIC_KEY_LOCK ) ": Lock\n" #endif #ifdef BOOTMAGIC_ENABLE - "e: eeprom\n" + STR(MAGIC_KEY_EEPROM ) ": Print EEPROM Settings\n" #endif #ifdef NKRO_ENABLE - "n: NKRO\n" + STR(MAGIC_KEY_NKRO ) ": NKRO Toggle\n" #endif #ifdef SLEEP_LED_ENABLE - "z: sleep LED test\n" + STR(MAGIC_KEY_SLEEP_LED ) ": Sleep LED Test\n" #endif ); } +static void print_version(void) +{ + // print version & information + print("\n\t- Version -\n"); + print("DESC: " STR(DESCRIPTION) "\n"); + print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " + "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " + "VER: " STR(DEVICE_VER) "\n"); + print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); + + /* build options */ + print("OPTIONS:" + +#ifdef PROTOCOL_PJRC + " PJRC" +#endif +#ifdef PROTOCOL_LUFA + " LUFA" +#endif +#ifdef PROTOCOL_VUSB + " VUSB" +#endif +#ifdef BOOTMAGIC_ENABLE + " BOOTMAGIC" +#endif +#ifdef MOUSEKEY_ENABLE + " MOUSEKEY" +#endif +#ifdef EXTRAKEY_ENABLE + " EXTRAKEY" +#endif +#ifdef CONSOLE_ENABLE + " CONSOLE" +#endif +#ifdef COMMAND_ENABLE + " COMMAND" +#endif +#ifdef NKRO_ENABLE + " NKRO" +#endif +#ifdef KEYMAP_SECTION_ENABLE + " KEYMAP_SECTION" +#endif + + " " STR(BOOTLOADER_SIZE) "\n"); + + print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__) + " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__ + " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n"); + + return; +} + +static void print_status(void) +{ + + print("\n\t- Status -\n"); + + print_val_hex8(host_keyboard_leds()); + print_val_hex8(keyboard_protocol); + print_val_hex8(keyboard_idle); +#ifdef NKRO_ENABLE + print_val_hex8(keyboard_nkro); +#endif + print_val_hex32(timer_count); + +#ifdef PROTOCOL_PJRC + print_val_hex8(UDCON); + print_val_hex8(UDIEN); + print_val_hex8(UDINT); + print_val_hex8(usb_keyboard_leds); + print_val_hex8(usb_keyboard_idle_count); +#endif + +#ifdef PROTOCOL_PJRC +# if USB_COUNT_SOF + print_val_hex8(usbSofCount); +# endif +#endif + return; +} + #ifdef BOOTMAGIC_ENABLE static void print_eeconfig(void) { @@ -178,24 +285,36 @@ static void print_eeconfig(void) static bool command_common(uint8_t code) { + +#ifdef KEYBOARD_LOCK_ENABLE static host_driver_t *host_driver = 0; +#endif + switch (code) { + #ifdef SLEEP_LED_ENABLE - case KC_Z: - // test breathing sleep LED - print("Sleep LED test\n"); + + // test breathing sleep LED + case MAGIC_KC(MAGIC_KEY_SLEEP_LED): + print("Sleep LED Test\n"); sleep_led_toggle(); led_set(host_keyboard_leds()); break; #endif + #ifdef BOOTMAGIC_ENABLE - case KC_E: + + // print stored eeprom config + case MAGIC_KC(MAGIC_KEY_EEPROM): print("eeconfig:\n"); print_eeconfig(); break; #endif + #ifdef KEYBOARD_LOCK_ENABLE - case KC_CAPSLOCK: + + // lock/unlock keyboard + case MAGIC_KC(MAGIC_KEY_LOCK): if (host_get_driver()) { host_driver = host_get_driver(); clear_keyboard(); @@ -207,11 +326,15 @@ static bool command_common(uint8_t code) } break; #endif - case KC_H: - case KC_SLASH: /* ? */ + + // print help + case MAGIC_KC(MAGIC_KEY_HELP1): + case MAGIC_KC(MAGIC_KEY_HELP2): command_common_help(); break; - case KC_C: + + // activate console + case MAGIC_KC(MAGIC_KEY_CONSOLE): debug_matrix = false; debug_keyboard = false; debug_mouse = false; @@ -220,25 +343,33 @@ static bool command_common(uint8_t code) print("C> "); command_state = CONSOLE; break; - case KC_PAUSE: - clear_keyboard(); - print("\n\nbootloader... "); + + // jump to bootloader + case MAGIC_KC(MAGIC_KEY_BOOTLOADER): + clear_keyboard(); // clear to prevent stuck keys + print("\n\nJumping to bootloader... "); _delay_ms(1000); bootloader_jump(); // not return break; - case KC_D: + + // debug toggle + case MAGIC_KC(MAGIC_KEY_DEBUG): + debug_enable = !debug_enable; if (debug_enable) { + print("\ndebug: on\n"); + debug_matrix = true; + debug_keyboard = true; + debug_mouse = true; + } else { print("\ndebug: off\n"); debug_matrix = false; debug_keyboard = false; debug_mouse = false; - debug_enable = false; - } else { - print("\ndebug: on\n"); - debug_enable = true; } break; - case KC_X: // debug matrix toggle + + // debug matrix toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_MATRIX): debug_matrix = !debug_matrix; if (debug_matrix) { print("\nmatrix: on\n"); @@ -247,7 +378,9 @@ static bool command_common(uint8_t code) print("\nmatrix: off\n"); } break; - case KC_K: // debug keyboard toggle + + // debug keyboard toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_KBD): debug_keyboard = !debug_keyboard; if (debug_keyboard) { print("\nkeyboard: on\n"); @@ -256,87 +389,33 @@ static bool command_common(uint8_t code) print("\nkeyboard: off\n"); } break; - case KC_M: // debug mouse toggle + + // debug mouse toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_MOUSE): debug_mouse = !debug_mouse; if (debug_mouse) { print("\nmouse: on\n"); debug_enable = true; } else { - print("\nmouse: off\n"); + print("\nmouse: off\n"); } break; - case KC_V: // print version & information - print("\n\t- Version -\n"); - print("DESC: " STR(DESCRIPTION) "\n"); - print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " - "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " - "VER: " STR(DEVICE_VER) "\n"); - print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); - /* build options */ - print("OPTIONS:" -#ifdef PROTOCOL_PJRC - " PJRC" -#endif -#ifdef PROTOCOL_LUFA - " LUFA" -#endif -#ifdef PROTOCOL_VUSB - " VUSB" -#endif -#ifdef BOOTMAGIC_ENABLE - " BOOTMAGIC" -#endif -#ifdef MOUSEKEY_ENABLE - " MOUSEKEY" -#endif -#ifdef EXTRAKEY_ENABLE - " EXTRAKEY" -#endif -#ifdef CONSOLE_ENABLE - " CONSOLE" -#endif -#ifdef COMMAND_ENABLE - " COMMAND" -#endif -#ifdef NKRO_ENABLE - " NKRO" -#endif -#ifdef KEYMAP_SECTION_ENABLE - " KEYMAP_SECTION" -#endif - " " STR(BOOTLOADER_SIZE) "\n"); - print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__) - " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__ - " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n"); + // print version + case MAGIC_KC(MAGIC_KEY_VERSION): + print_version(); + break; + + // print status + case MAGIC_KC(MAGIC_KEY_STATUS): + print_status(); break; - case KC_S: - print("\n\t- Status -\n"); - print_val_hex8(host_keyboard_leds()); - print_val_hex8(keyboard_protocol); - print_val_hex8(keyboard_idle); -#ifdef NKRO_ENABLE - print_val_hex8(keyboard_nkro); -#endif - print_val_hex32(timer_count); -#ifdef PROTOCOL_PJRC - print_val_hex8(UDCON); - print_val_hex8(UDIEN); - print_val_hex8(UDINT); - print_val_hex8(usb_keyboard_leds); - print_val_hex8(usb_keyboard_idle_count); -#endif - -#ifdef PROTOCOL_PJRC -# if USB_COUNT_SOF - print_val_hex8(usbSofCount); -# endif -#endif - break; #ifdef NKRO_ENABLE - case KC_N: - clear_keyboard(); //Prevents stuck keys. + + // NKRO toggle + case MAGIC_KC(MAGIC_KEY_NKRO): + clear_keyboard(); // clear to prevent stuck keys keyboard_nkro = !keyboard_nkro; if (keyboard_nkro) print("NKRO: on\n"); @@ -344,18 +423,78 @@ static bool command_common(uint8_t code) print("NKRO: off\n"); break; #endif - case KC_ESC: - case KC_GRV: - case KC_0: - case KC_F10: + + // switch layers + + case MAGIC_KC(MAGIC_KEY_LAYER0_ALT1): + case MAGIC_KC(MAGIC_KEY_LAYER0_ALT2): switch_default_layer(0); break; - case KC_1 ... KC_9: - switch_default_layer((code - KC_1) + 1); + +#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM + + case MAGIC_KC(MAGIC_KEY_LAYER0): + switch_default_layer(0); break; + + case MAGIC_KC(MAGIC_KEY_LAYER1): + switch_default_layer(1); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER2): + switch_default_layer(2); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER3): + switch_default_layer(3); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER4): + switch_default_layer(4); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER5): + switch_default_layer(5); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER6): + switch_default_layer(6); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER7): + switch_default_layer(7); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER8): + switch_default_layer(8); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER9): + switch_default_layer(9); + break; +#endif + + +#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS + case KC_F1 ... KC_F9: switch_default_layer((code - KC_F1) + 1); break; + case KC_F10: + switch_default_layer(0); + break; +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS + + case KC_1 ... KC_9: + switch_default_layer((code - KC_1) + 1); + break; + case KC_0: + switch_default_layer(0); + break; +#endif + default: print("?"); return false; diff --git a/tmk_core/common/command.h b/tmk_core/common/command.h index b57a6c1cedc..92b18849bf3 100644 --- a/tmk_core/common/command.h +++ b/tmk_core/common/command.h @@ -32,4 +32,125 @@ bool command_proc(uint8_t code); #define command_proc(code) false #endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true #endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +#endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false +#endif + +#ifndef MAGIC_KEY_HELP1 +#define MAGIC_KEY_HELP1 H +#endif + +#ifndef MAGIC_KEY_HELP2 +#define MAGIC_KEY_HELP2 SLASH +#endif + +#ifndef MAGIC_KEY_DEBUG +#define MAGIC_KEY_DEBUG D +#endif + +#ifndef MAGIC_KEY_DEBUG_MATRIX +#define MAGIC_KEY_DEBUG_MATRIX X +#endif + +#ifndef MAGIC_KEY_DEBUG_KBD +#define MAGIC_KEY_DEBUG_KBD K +#endif + +#ifndef MAGIC_KEY_DEBUG_MOUSE +#define MAGIC_KEY_DEBUG_MOUSE M +#endif + +#ifndef MAGIC_KEY_VERSION +#define MAGIC_KEY_VERSION V +#endif + +#ifndef MAGIC_KEY_STATUS +#define MAGIC_KEY_STATUS S +#endif + +#ifndef MAGIC_KEY_CONSOLE +#define MAGIC_KEY_CONSOLE C +#endif + +#ifndef MAGIC_KEY_LAYER0_ALT1 +#define MAGIC_KEY_LAYER0_ALT1 ESC +#endif + +#ifndef MAGIC_KEY_LAYER0_ALT2 +#define MAGIC_KEY_LAYER0_ALT2 GRAVE +#endif + +#ifndef MAGIC_KEY_LAYER0 +#define MAGIC_KEY_LAYER0 0 +#endif + +#ifndef MAGIC_KEY_LAYER1 +#define MAGIC_KEY_LAYER1 1 +#endif + +#ifndef MAGIC_KEY_LAYER2 +#define MAGIC_KEY_LAYER2 2 +#endif + +#ifndef MAGIC_KEY_LAYER3 +#define MAGIC_KEY_LAYER3 3 +#endif + +#ifndef MAGIC_KEY_LAYER4 +#define MAGIC_KEY_LAYER4 4 +#endif + +#ifndef MAGIC_KEY_LAYER5 +#define MAGIC_KEY_LAYER5 5 +#endif + +#ifndef MAGIC_KEY_LAYER6 +#define MAGIC_KEY_LAYER6 6 +#endif + +#ifndef MAGIC_KEY_LAYER7 +#define MAGIC_KEY_LAYER7 7 +#endif + +#ifndef MAGIC_KEY_LAYER8 +#define MAGIC_KEY_LAYER8 8 +#endif + +#ifndef MAGIC_KEY_LAYER9 +#define MAGIC_KEY_LAYER9 9 +#endif + +#ifndef MAGIC_KEY_BOOTLOADER +#define MAGIC_KEY_BOOTLOADER PAUSE +#endif + +#ifndef MAGIC_KEY_LOCK +#define MAGIC_KEY_LOCK CAPS +#endif + +#ifndef MAGIC_KEY_EEPROM +#define MAGIC_KEY_EEPROM E +#endif + +#ifndef MAGIC_KEY_NKRO +#define MAGIC_KEY_NKRO N +#endif + +#ifndef MAGIC_KEY_SLEEP_LED +#define MAGIC_KEY_SLEEP_LED Z + +#endif + +#define XMAGIC_KC(key) KC_##key +#define MAGIC_KC(key) XMAGIC_KC(key) + +#endif \ No newline at end of file diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index eb7b096bed5..e668084858e 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -70,6 +70,7 @@ void keyboard_setup(void) void keyboard_init(void) { + timer_init(); matrix_init(); #ifdef PS2_MOUSE_ENABLE @@ -90,6 +91,11 @@ void keyboard_init(void) #ifdef BACKLIGHT_ENABLE backlight_init(); #endif + +#ifdef FORCE_NKRO + keyboard_nkro = true; +#endif + } /*