diff options
49 files changed, 8907 insertions, 3053 deletions
diff --git a/.gitignore b/.gitignore index 1e19ce9a87..8b8c45169d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +keyboard/planck/dfu-programmer.exe .dep *.o *.eep @@ -13,4 +14,10 @@ tags build/ *.bak .vagrant/ -.DS_STORE
\ No newline at end of file +.DS_STORE + +# Eclipse Settings +.cproject +.project +.settings/ + diff --git a/1-setup-path-win.bat b/1-setup-path-win.bat new file mode 100644 index 0000000000..49fb00e149 --- /dev/null +++ b/1-setup-path-win.bat @@ -0,0 +1,9 @@ +@echo off +setx /M path "%PATH%;C:\MinGW\bin;C:\MinGW\msys\1.0\bin" > nul 2>&1 +if NOT ["%errorlevel%"]==["0"] ( + echo FAILED. Rerun with administrator privileges. + pause +) else ( + echo Success! + pause +) diff --git a/2-setup-environment-win.bat b/2-setup-environment-win.bat new file mode 100644 index 0000000000..91b6c91e39 --- /dev/null +++ b/2-setup-environment-win.bat @@ -0,0 +1,41 @@ +@echo off +setx /M test test > nul 2>&1 +if NOT ["%errorlevel%"]==["0"] ( + echo FAILED. Rerun with administrator privileges. + pause + exit +) + +echo ------------------------------------------ +echo Installing wget and unzip +echo ------------------------------------------ +mingw-get install msys-wget-bin msys-unzip-bin +cd \MinGW\bin + +mkdir temp +cd temp +echo ------------------------------------------ +echo Installing dfu-programmer. +echo ------------------------------------------ +wget http://iweb.dl.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip +unzip dfu-programmer-win-0.7.2.zip +copy dfu-programmer.exe .. + +echo ------------------------------------------ +echo Downloading driver +echo ------------------------------------------ +wget http://iweb.dl.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip +unzip libusb-win32-bin-1.2.6.0.zip +cp libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll ../libusb0.dll + +echo ------------------------------------------ +echo Installing driver. Accept prompt. +echo ------------------------------------------ +pnputil -i -a dfu-prog-usb-1.2.2\atmel_usb_dfu.inf + +cd .. +rm -rf temp + +echo ------------------------------------------ +echo Finished! +pause
\ No newline at end of file diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md new file mode 100644 index 0000000000..81c3ec44f2 --- /dev/null +++ b/BUILD_GUIDE.md @@ -0,0 +1,55 @@ +# Build Guide + +## Build Environment Setup + +### Windows +1. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. +2. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. +3. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. +4. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. +5. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! + +### Mac +If you're using [homebrew,](http://brew.sh/) you can use the following commands: + + brew tap osx-cross/avr + brew install avr-libc + brew install dfu-programmer + +This is the recommended method. If you don't have homebrew, [install it!](http://brew.sh/) It's very much worth it for anyone who works in the command line. + +You can also try these instructions: + +1. Install Xcode from the App Store. +2. Install the Command Line Tools from `Xcode->Preferences->Downloads`. +3. Install [DFU-Programmer][dfu-prog]. + +### Linux +Install AVR GCC and dfu-progammer with your favorite package manager. + +Debian/Ubuntu example: + + sudo apt-get update + sudo apt-get install gcc-avr 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). + +## Verify Your Installation +1. If you haven't already, obtain this repository ([https://github.com/jackhumbert/qmk_firmware](https://github.com/jackhumbert/qmk_firmware)). You can either download it as a zip file and extract it, or clone it using the command line tool git or the Github Desktop application. +2. Open up a terminal or command prompt and navigate to the qmk_firmware folder using the `cd` command. The command prompt will typically open to your home directory. If, for example, you cloned the repository to your Documents folder, then you would type `cd Documents/qmk_firmware`. If you extracted the file from a zip, then it may be named `qmk_firmware-master` instead. +3. To confirm that you're in the correct location, you can display the contents of your current folder using the `dir` command on Windows, or the `ls` command on Linux or Mac. You should see several files, including `README.md` and a `quantum` folder. From here, you need to navigate to the appropriate folder under `keyboard/`. For example, if you're building for a Planck, run `cd keyboard/planck`. +4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process. + +## Customizing, Building, and Deploying Your Firmware +1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides. +2. To build a keymap other than the default, type `KEYMAP=<name>` after `make`. So if I've named my keymap jack.c, the full command would be `make KEYMAP=jack`. +3. How you deploy the firmware will depend on whether you are using a PCB or a Teensy. In both cases, you'll need to put the keyboard in bootloader mode, either by pressing a button on the PCB/Teensy or pressing the key with the `RESET` keycode. Then, if you're using a PCB, just run `make KEYMAP=<name> dfu` to both build and deploy the firmware. If you're using a Teensy, you'll probably need to take the <keyboardname>.hex file that make produces in the keyboard's folder, and deploy it using the [Teensy Loader.](https://www.pjrc.com/teensy/loader.html) + +## Helpful Tips +1. On Linux or OS X, you can run `sleep 5; make KEYMAP=<name> dfu` to delay building/deploying the firmware until for 5 seconds, giving you a chance to put the firmware into bootloader mode. You can change the 5 to any number of seconds. + +## Troubleshooting +1. Try running `make clean` if the make command fails. + + WIP
\ No newline at end of file diff --git a/HAND-WIRE.md b/HAND_WIRE.md index 3f4d75b272..3f4d75b272 100644 --- a/HAND-WIRE.md +++ b/HAND_WIRE.md @@ -12,8 +12,8 @@ The documentation below explains QMK customizations and elaborates on some of th ## Getting started -* **If you're looking to customize a keyboard that currently runs QMK or TMK** , find your keyboard's directory under `/keyboard/` and read the README file. This will get you all set up. -* Read the [QUICK_START.md](QUICK_START.md) if you want to hit the ground running with minimal fuss or you aren't a technical person and you just want to build the firmware with the least amount of hassle possible. +* [BUILD_GUIDE.md](BUILD_GUIDE.md) contains instructions to set up a build environment, build the firmware, and deploy it to a keyboard. Once your build environment has been set up, all `make` commands to actually build the firmware must be run from a folder in `keyboard/`. +* If you're looking to customize a keyboard that currently runs QMK or TMK, find your keyboard's directory under `keyboard/` and run the make commands from there. * If you're looking to apply this firmware to an entirely new hardware project (a new kind of keyboard), you can create your own Quantum-based project by using `./new_project.sh <project_name>`, which will create `/keyboard/<project_name>` with all the necessary components for a Quantum project. You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you. @@ -309,3 +309,4 @@ what things are (and likely aren't) too risky. - EEPROM has around a 100000 write cycle. You shouldn't rewrite the firmware repeatedly and continually; that'll burn the EEPROM eventually. +
\ No newline at end of file diff --git a/QUICK_START.md b/VAGRANT_GUIDE.md index 948308ca11..922848fd75 100644 --- a/QUICK_START.md +++ b/VAGRANT_GUIDE.md @@ -23,3 +23,4 @@ See [doc/keymap.md](tmk_core/doc/keymap.md). The "easy" way to flash the firmware is using a tool from your host OS like the Teensy programming app. [ErgoDox EZ](keyboard/ergodox_ez/readme.md) gives a great example. If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version. +
\ No newline at end of file diff --git a/keyboard/atreus/Makefile b/keyboard/atreus/Makefile index e1ebee47bd..2e542d62ed 100644 --- a/keyboard/atreus/Makefile +++ b/keyboard/atreus/Makefile @@ -58,6 +58,15 @@ else SRC := keymaps/keymap_default.c $(SRC) endif +ifdef TEENSY2 + OPT_DEFS += -DATREUS_TEENSY2 + ATRUES_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex +else + OPT_DEFS += -DATREUS_ASTAR + ATRUES_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ + avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) +endif + CONFIG_H = config.h # MCU name @@ -114,8 +123,8 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 # 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) +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 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -137,3 +146,7 @@ VPATH += $(TMK_DIR) include $(TOP_DIR)/quantum/quantum.mk +USB ?= /dev/cu.usbmodem1411 + +upload: build + $(ATRUES_UPLOAD_COMMAND) diff --git a/keyboard/atreus/README.md b/keyboard/atreus/README.md index 75f198fd1c..4db7ac1203 100644 --- a/keyboard/atreus/README.md +++ b/keyboard/atreus/README.md @@ -1,10 +1,6 @@ atreus keyboard firmware ====================== -## Note - -This is for the Teensy2 hand wired boards only. - ## Quantum MK Firmware You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you. @@ -14,6 +10,12 @@ You have access to a bunch of goodies! Check out the Makefile to enable/disable # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not // BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +## Atreus specific information + +These configuration files are specifically for the Atreus keyboards created by Phil Hagelberg (@technomancy). This keyboard is available in two variants: one powered by a Teensy 2, one powered by an A-Star. This repository currently assumes that you have an A-Star powered Atreus. If you are using a Teensy2, specify that by adding `TEENSY2=yes` to your `make` commands. + +If you are coming from the [atreus-firmware](https://github.com/technomancy/atreus-firmware), we've also brought forward the `make upload` command for you to use. + ## Quick aliases to common actions Your keymap can include shortcuts to common operations (called "function actions" in tmk). diff --git a/keyboard/atreus/atreus.h b/keyboard/atreus/atreus.h index 29d1d18bac..9dd77859f9 100644 --- a/keyboard/atreus/atreus.h +++ b/keyboard/atreus/atreus.h @@ -7,21 +7,20 @@ #include <stddef.h> // This a shortcut to help you visually see your layout. -// The following is an example using the Planck MIT layout // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array #define KEYMAP( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a \ ) \ { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b } \ -} + { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \ + { k2a, k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a } \ +} void * matrix_init_user(void); void * matrix_scan_user(void); diff --git a/keyboard/atreus/config.h b/keyboard/atreus/config.h index 733f579d43..ca0cd7e47a 100644 --- a/keyboard/atreus/config.h +++ b/keyboard/atreus/config.h @@ -33,11 +33,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROWS 4 #define MATRIX_COLS 11 -// Planck PCB default pin-out // Change this to how you wired your keyboard // COLS: Left to right, ROWS: Top to bottom -#define COLS (int []){ F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0} -#define ROWS (int []){ D0, D1, D2, D3 } +#if defined(ATREUS_ASTAR) + #define COLS (int []){ B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 } + #define ROWS (int []){ D0, D1, D3, D2 } +#elif defined(ATREUS_TEENSY2) + #define COLS (int []){ F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0} + #define ROWS (int []){ D0, D1, D2, D3 } +#endif /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboard/atreus/keymaps/keymap_gerb.c b/keyboard/atreus/keymaps/keymap_gerb.c new file mode 100644 index 0000000000..1ba3942e3b --- /dev/null +++ b/keyboard/atreus/keymaps/keymap_gerb.c @@ -0,0 +1,66 @@ +// This is the personal keymap of Chris Gerber (@gerbercj). I haven't worked out the kinks +// with the Colemak and Dvorak support yet, but everything else works nicely. + +#include "atreus.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QW 0 +#define _CM 1 +#define _DV 2 +#define _L1 3 +#define _L2 4 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QW] = { /* Qwerty */ + {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH}, + {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT } + }, + [_CM] = { /* Colemak */ + {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, + {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH}, + {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT } + }, + [_DV] = { /* Dvorak */ + {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L }, + {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, + {KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_B, KC_M, KC_W, KC_V, KC_Z }, + {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_ENT } + }, + [_L1] = { /* LAYER 1 */ + {KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_VOLU, KC_7, KC_8, KC_9, KC_LBRC}, + {KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_VOLD, KC_4, KC_5, KC_6, KC_RBRC}, + {KC_GRV, KC_MPRV, KC_MPLY, KC_MNXT, KC_MINS, KC_LALT, KC_MUTE, KC_1, KC_2, KC_3, KC_BSLS}, + {TG(_L2), KC_APP, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL } + }, + [_L2] = { /* LAYER 2 */ + {KC_TRNS, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO, DF(_QW), KC_F7, KC_F8, KC_F9, KC_F10 }, + {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_NO, DF(_CM), KC_F6, KC_F5, KC_F6, KC_F11 }, + {KC_BTN4, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_LALT, DF(_DV), KC_F1, KC_F2, KC_F3, KC_F12 }, + {KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET } + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +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; +}; diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex new file mode 100644 index 0000000000..ecf97c9f1c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex @@ -0,0 +1,1142 @@ +:100000000C944C030C9490030C9490030C94900368
+:100010000C9490030C9490030C9490030C94900314
+:100020000C9490030C9490030C94BD0C0C948F0DC5
+:100030000C9490030C9490030C9490030C949003F4
+:100040000C9490030C94C4210C9490030C94900392
+:100050000C9490030C94551B0C9490030C949003F7
+:100060000C9490030C9490030C9490030C949003C4
+:100070000C9490030C9490030C9490030C949003B4
+:100080000C9490030C9490030C9490030C949003A4
+:100090000C9490030C9490030C9490030C94900394
+:1000A0000C9490030C9490030C9490039E03A30370
+:1000B000A803AD03B203B703BC03C103C603FC0D21
+:1000C0001E0E0C0F1E0E0C0F630E860E0C0FDB0E99
+:1000D000EE0ED011D011FF11FF11421280129914AF
+:1000E0009914991299149A139A136D1499149914D6
+:1000F0008414012E022E012C022C0001E101350294
+:100100003502E100013502350001E1012E022E0128
+:100110002C022C02E10001E6012E022E02E6012C47
+:10012000022C0001E10130023002E1012C022C001E
+:1001300001E10164026402E100016402640001E67D
+:100140000130023002E6012C022C000000002200E7
+:10015000C001C002C003C004C005C006C007C0087B
+:10016000C02E002D0237021E020452000025141476
+:100170000004001D00F400387426141A0015001B3A
+:1001800000F500377124140900160006002B00C189
+:1001900000271413001700190036782D0031020AC9
+:1001A00000070005000000230201541F0200003672
+:1001B0000200003500C5003200000027020000499F
+:1001C0000021140D000B000E000000240225020F78
+:1001D000001100100050004C002602180008004FCB
+:1001E0000029002C00C3001C000C005100C700288F
+:1001F00000C4002F001200520020022A001F1434F5
+:1002000000330038020252000024160100010001F0
+:1002100000010000000100010001000100010001D7
+:1002200000010001000100010001003778251601DE
+:10023000000100010001000100261601000100017B
+:100240000036710100010001000100010000000101
+:1002500000010001000000010000002414010064FE
+:100260000000000100000001002102010001000166
+:100270000000000100010001000100010001000177
+:1002800000010001000100010001000100C800019F
+:1002900000010001002E140100C90001000100014D
+:1002A00000010001003100010001000100035200C3
+:1002B0000001000100010001000100000001000137
+:1002C000002000010001000100010001001F0001E9
+:1002D0000001000100010001001E000100010001F9
+:1002E000000100220227002100010001000100019D
+:1002F00000010001000000010001000100000001F8
+:1003000000000001000100010000000100000001E8
+:10031000000100010001004A00000001000100C2CC
+:1003200000220026004A0001000100C60023004D03
+:1003300000010001000100010024004E0001000145
+:10034000000100010025004B000100010001000137
+:100350000001000100010000000100010001000196
+:100360000001000000010001002000010001000167
+:1003700000010001001F0001000100010001000157
+:10038000001E0001000100010001002202270021DF
+:100390000001000100010001000100010000000156
+:1003A0000001000100000001000000010001000147
+:1003B0000000000100000001000100010001004AEE
+:1003C00000000001000100C200220026004A0001D6
+:1003D000000100CA0023004D0001000100010001DE
+:1003E0000024004E00010001000100010025004B27
+:1003F00000010001000100010001000100010000F6
+:1004000000220001000100010001000000010001C4
+:10041000003C00010001000100010001003B00015F
+:100420000001000100010001003A0001000100018B
+:10043000000100010001003D000100010001000178
+:1004400000010001000000010001000100000001A6
+:100450000000000100010001000000010000000197
+:100460000001000100010030140000010001000142
+:10047000003E00420001000100010001003F004376
+:1004800000010001000100010040004400010001E2
+:1004900000010001004100450001000100010001D0
+:1004A0000001000100010000001603450072006712
+:1004B000006F0044006F007800200045005A0000E3
+:1004C0000016034500720067006F0044006F00785B
+:1004D00000200045005A0000000403090409026DD1
+:1004E00000040100A0FA0904000001030101000951
+:1004F0002111010001223F000705810308000A09BC
+:100500000401000103010200092111010001224D33
+:10051000000705820308000A090402000103000025
+:10052000000921110100012236000705830308009C
+:100530000A09040300010300000009211101000160
+:100540002239000705840310000112011001000088
+:100550000008EDFE07130100010200010501090674
+:10056000A101050719E029E7150025019508750186
+:10057000810205081901290595057501910295016A
+:100580007503910105071900297715002501957854
+:1005900075018102C005010980A1018502160100D3
+:1005A00026B7001A01002AB700751095018100C016
+:1005B000050C0901A1018503160100269C021A0100
+:1005C000002A9C02751095018100C005010902A155
+:1005D000010901A100050919012905150025019549
+:1005E0000575018102950175038101050109300935
+:1005F000311581257F9502750881060938158125F9
+:100600007F950175088106050C0A38021581257F42
+:10061000950175088106C0C005010906A1010507FD
+:1006200019E029E71500250195087501810295015A
+:1006300075088101050819012905950575019102C3
+:100640009501750391010507190029FF150025FF84
+:10065000950675088100C000000000000000000041
+:100660000000010204060A0F17202C3A4A5D718728
+:100670009DB3C7DAE9F5FCFFFCF5E9DAC7B39D875E
+:10068000715D4A3A2C20170F0A060402010000008F
+:10069000000000000000000011241FBECFEFDAE0D0
+:1006A000DEBFCDBF04B603FE24C08091EE01909161
+:1006B000EF01A091F001B091F1018730904BA7407C
+:1006C000B04BB9F41092EE011092EF011092F001CC
+:1006D0001092F10114BE84B7877F84BF88E10FB602
+:1006E000F89480936000109260000FBEE0E0FFE39A
+:1006F000099511E0A0E0B1E0ECE0F7E402C005905C
+:100700000D92A433B107D9F711E0A4E3B1E001C021
+:100710001D92AE3EB107E1F70E94010A0C948423BA
+:100720000C940000FC018281462F50E049305105B5
+:1007300090F5FA01EA5AFF4F0C943923882359F1B6
+:100740008EE391E00895882331F189E391E00895E3
+:10075000882309F180E391E008958823E1F083E2A2
+:1007600091E008958823B9F086E191E00895882307
+:1007700091F089E091E00895882369F084E091E0A8
+:100780000895882341F08BEF90E00895882319F0B5
+:1007900082EF90E0089580E090E0089580E090E09E
+:1007A000089580E090E0089581ED93E0892B11F0A9
+:1007B0000E94D10380E090E0089556985E982598B5
+:1007C0002D9826982E9827982F988FEF90E0909349
+:1007D00089008093880090938B0080938A00909387
+:1007E0008D0080938C00259A2D9A2FEF80E792E060
+:1007F000215080409040E1F700C00000269A2E9AD8
+:100800002FEF80E792E0215080409040E1F700C058
+:100810000000279A2F9A2FEF80E792E02150804026
+:100820009040E1F700C0000025982D982FEF80E759
+:1008300092E0215080409040E1F700C000002698EF
+:100840002E982FEF80E792E0215080409040E1F712
+:1008500000C0000027982F9856985E9825982D98EC
+:1008600026982E9827982F98089589EA80938000DB
+:1008700089E08093810024982C983F988AB18F74E6
+:100880008AB96E98479A8BB1806B8BB9769A0E9421
+:10089000DD038EEC93E0892B11F00E94CE0380E003
+:1008A00090E0089580E280930001809134018111ED
+:1008B0000EC00E94A10481E0809334012FEF83EDEC
+:1008C00090E3215080409040E1F700C0000080E4B8
+:1008D0000E94A7048093000181112EC00E94D104C0
+:1008E00080930001811128C00E94D10480930001EF
+:1008F000811122C08FE30E94D104809300018111F5
+:100900001BC00E94C90480E40E94A70480930001D8
+:10091000811112C08CE00E94D104809300018111EA
+:100920000BC00E94D10480930001811105C08FE3A8
+:100930000E94D104809300010E94C90480910001AB
+:1009400008951092B9008AE08093B800089594EA5F
+:100950009093BC009091BC0097FFFCCF9091B900A0
+:10096000987F983021F0903111F081E008958093C4
+:10097000BB0084E88093BC008091BC0087FFFCCF63
+:100980008091B900887F883111F0803471F780E060
+:10099000089584E98093BC008091BC0084FDFCCF65
+:1009A00008958093BB0084E88093BC008091BC00D4
+:1009B00087FFFCCF9091B900987F81E0983209F4CD
+:1009C00080E0089584E88093BC008091BC0087FF9C
+:1009D000FCCF8091BB00089580910001811115C06A
+:1009E00080E40E94A7048093000181110CC082E181
+:1009F0000E94D10480930001811105C08FEF0E94F5
+:100A0000D104809300010E94C90484B1807F84B91D
+:100A100085B1807F85B98AB1837F8AB98BB1837FA5
+:100A20008BB93E98469808950E9452048093000125
+:100A30000E94EC0480B38C7080BB81B3836F81BB58
+:100A4000A6E3B1E0E4E4F1E08EE08E0F11921D9296
+:100A50008E13FCCF85E394E0892B11F00C943504C0
+:100A60000895BF92CF92DF92EF92FF920F931F9360
+:100A7000CF93DF9380910001882379F08091350135
+:100A80008F5F80933501811108C00E9452048093CA
+:100A90000001811102C00E94DD0306E311E0C0E005
+:100AA000D0E0DD24D39482E0C82EEE24E394F12C30
+:100AB000C730D10500F580910001811164C080E448
+:100AC0000E94A70480930001811112C082E10E945C
+:100AD000D1048093000181110BC0C7010C2E01C00D
+:100AE000880F0A94EAF780950E94D1048093000150
+:100AF0000E94C90448C0CA30A1F028F4C83059F097
+:100B0000C93061F005C0CC3089F070F0CD3089F08B
+:100B1000209A289810C0219A29980DC0229A2A98C4
+:100B20000AC0239A2B9807C0529A01C0539A5B9827
+:100B300002C03E9A469890EA9A95F1F79FB179994A
+:100B400002C082E001C080E091709D25982B7C99C5
+:100B500002C084E001C080E0892B7D9902C038E0AA
+:100B600001C030E0832B7E9902C020E101C020E06B
+:100B7000822B9FB19095991F9927991F9295990F54
+:100B8000907E892B0FC08091000181114FC080E4BD
+:100B90000E94A704809300018823A9F1B12C0E9430
+:100BA000C9048B2DF8019081981719F08083C092A9
+:100BB00001010E94EC0421960F5F1F4FCE30D1053A
+:100BC00009F076CF809101018823B1F081508093A4
+:100BD0000101882339F08FE99FE00197F1F700C008
+:100BE00000000AC0A4E4B1E0E6E3F1E0CF01825FD7
+:100BF00091919D938E13FCCF84ED93E0892BC1F0EE
+:100C00000E94D40315C083E10E94D10480930001A7
+:100C10008111C4CF81E40E94A70480930001811157
+:100C2000BDCF0E94E204B82EB094B9CF80E0BACF15
+:100C300081E0DF91CF911F910F91FF90EF90DF90B6
+:100C4000CF90BF900895E82FF0E0EC5BFE4F8081DD
+:100C5000089508958B3B910578F4883A910540F505
+:100C6000853A9105D0F48430910508F0B1C0813007
+:100C7000910509F4ADC06BC0803E910508F467C0D2
+:100C8000883E910508F4A4C09C01205F3109203101
+:100C9000310508F05CC090650895853A910509F426
+:100CA00059C0863A910509F058C082E890E4089549
+:100CB000883A910509F454C0893A910509F453C062
+:100CC0008A3A910509F452C08B3A910509F451C052
+:100CD0008C3A910509F450C08D3A910509F44FC042
+:100CE000803B910509F44EC08E3A910509F44DC040
+:100CF0008F3A910509F44CC0813B910509F44BC032
+:100D0000823B910509F44AC0833B910509F449C02F
+:100D1000843B910509F448C0853B910509F447C01F
+:100D2000863B910509F446C0873B910509F445C00F
+:100D3000883B910509F444C0893B910509F443C0FF
+:100D40008A3B910509F442C080E094E4089580E074
+:100D500090E0089581E890E4089583E890E4089590
+:100D600082EE94E4089589EE94E408958AEE94E482
+:100D7000089585EB94E4089586EB94E4089587EB59
+:100D800094E408958CEC94E408958DEC94E4089533
+:100D900083E895E408958AE895E4089582E995E466
+:100DA000089584E995E4089581E296E4089583E244
+:100DB00096E4089584E296E4089585E296E4089521
+:100DC00086E296E4089587E296E408958AE296E43E
+:100DD0000895089596E0799FF001112494E5899F84
+:100DE000E00DF11D1124E60FF11DEE0FFF1FEF596D
+:100DF000FE4F859194910895880F991FFC01E5534A
+:100E0000F040859194910895880F991FFC01E55B4E
+:100E1000FE4F85919491089526E0729FF001112470
+:100E200044E5849FE00DF11D1124E60FF11DEE0F46
+:100E3000FF1FEF59FE4F859194919C013A95211522
+:100E40004FE1340708F41AC13F512115304120F415
+:100E50009F700E94040708959C0130532115304172
+:100E600018F49927906C0895811520E5920769F48C
+:100E70000E94BB144FEF84E39CE0415080409040BF
+:100E8000E1F700C000000C947A1B813020E5920746
+:100E900031F48091CC0181608093CC0108959C0154
+:100EA00030552115304108F051C0292F33272F70BC
+:100EB000332721303105D9F4AC014370552702C0E6
+:100EC000220F331F4A95E2F73C68AC0164E0440FFF
+:100ED000551F6A95E1F744275370242B352B73E097
+:100EE000880F991F7A95E1F7807699271DC02230E7
+:100EF000310529F4982F8827816F906A089523304F
+:100F00003105A9F4AC014370552721E030E002C05F
+:100F1000220F331F4A95E2F73C6843E0880F991F80
+:100F20004A95E1F7807E9770822B932B08952430A9
+:100F30003105E1F4AC014370552721E030E002C0F7
+:100F4000220F331F4A95E2F73A68E7CF9C013057EA
+:100F50002115304118F49F70906208959C0130581B
+:100F60002115304118F49F70906A0895803E9105D4
+:100F7000E0F4803C910558F58133910509F46FC088
+:100F800048F48932910509F463C08A32910509F465
+:100F90006DC072C089339105E9F082389105D1F0B6
+:100FA0008533910509F44DC067C0833E910581F1F9
+:100FB00038F4803E9105B9F0823E9105D9F05CC0CD
+:100FC000863E910561F1873E9105A1F155C00E94D1
+:100FD000FC0608952091DF0120FD02C021FF4CC0D6
+:100FE00080EE90E049C08091DF0180FFF9CF89E376
+:100FF00090E042C08091DF0182FF0EC08091DF014E
+:1010000084FF03C080E090E037C083EE90E034C0FE
+:101010008091DF0182FFF2CF82EE90E02DC08091BF
+:10102000DF0183FF0BC08091DF0184FDEBCF87EEF2
+:1010300090E022C08091DF0183FFF5CF86EE90E043
+:101040001BC08091DF0185FF07C089E290E014C0DA
+:101050008091DF0185FFF9CF85E390E00DC080919D
+:10106000DF0186FF07C08AE290E006C08091DF01C1
+:1010700086FFF9CF81E390E00E942A060895089543
+:10108000809162010895CF93DF9300D01F92CDB776
+:10109000DEB79C018091E501843019F593E09983D6
+:1010A0003B832A839093E9008FEF9091E800815071
+:1010B00095FD06C095ED9A95F1F700008111F5CFE9
+:1010C0008091E80085FF0DC040E050E063E070E0F3
+:1010D000CE0101960E94AD0A8091E8008E77809340
+:1010E000E8000F900F900F90DF91CF910895CF936C
+:1010F000DF9300D01F92CDB7DEB72091E5012430F9
+:1011000021F522E029839B838A8383E08093E90091
+:101110008FEF9091E800815095FD06C095ED9A956E
+:10112000F1F700008111F5CF8091E80085FF0DC037
+:1011300040E050E063E070E0CE0101960E94AD0A0D
+:101140008091E8008E778093E8000F900F900F90C9
+:10115000DF91CF9108952091E5012430F1F422E050
+:101160002093E9002FEF3091E800215035FD06C0B3
+:1011700035ED3A95F1F700002111F5CF2091E80007
+:1011800025FF0BC040E050E065E070E00E94AD0A32
+:101190008091E8008E778093E8000895CF93DF93E5
+:1011A000EC019091E501943009F046C080910C016A
+:1011B0008823D9F080910D018823B9F09093E9003C
+:1011C0008FEF9091E800815095FD06C095E19A95CA
+:1011D000F1F700008111F5CF8091E80085FF2CC068
+:1011E00040E050E060E170E017C081E08093E900EA
+:1011F0008FEF9091E800815095FD06C095ED9A958E
+:10120000F1F700008111F5CF8091E80085FF14C04F
+:1012100040E050E068E070E0CE010E94AD0A8091AD
+:10122000E8008E778093E80080E1FE01A2E5B1E05E
+:1012300001900D928A95E1F7DF91CF910895809109
+:10124000E401811109C00E94420C0E949F0C809110
+:10125000E20084608093E20008951092E401089512
+:1012600008950C94B1210E94101B0E94B7210E9486
+:10127000450F0C943F0842E061EC81E00E94BC0BFA
+:1012800042E061EC82E00E94BC0B42E061EC83E052
+:101290000E94BC0B42E161EC84E00C94BC0B809199
+:1012A000E701833009F455C030F4813071F08230A9
+:1012B00009F48EC008958A3009F47AC08B3009F49D
+:1012C00060C0893009F09CC020C08091E601813A5D
+:1012D00009F096C08091E800877F8093E8008091B4
+:1012E000EA019091EB01892B21F460E182E591E024
+:1012F00003C060E080E090E070E00E94F80A809116
+:10130000E8008B778093E80008958091E6018132B0
+:1013100009F076C08091EA019091EB01009719F0F5
+:10132000039709F06DC08091E800877F8093E80003
+:101330008091E80082FD05C08091E5018111F8CF20
+:101340005FC08091F100809362018091E8008B770B
+:1013500053C08091E601813A09F052C08091EA01C0
+:101360009091EB01892B09F04BC08091E800877FB9
+:101370008093E8008091E80080FFFCCF80910C0111
+:1013800036C08091E6018132D9F58091EA019091D1
+:10139000EB01892BA9F58091E800877F8093E80015
+:1013A0000E94F10B8091E80180930C010C94BB1416
+:1013B0008091E601813221F58091E800877F80935A
+:1013C000E8000E94F10B8091E90180936301089588
+:1013D0008091E601813AA1F48091E800877F8093B3
+:1013E000E8008091E80080FFFCCF8091630180934A
+:1013F000F1008091E8008E778093E8000C94F10B67
+:10140000089584B7877F84BF88E10FB6F8948093EE
+:101410006000109260000FBE90E080E80FB6F89474
+:1014200080936100909361000FBE0E94940F0E9410
+:10143000420C0E949F0C8091E20084608093E20045
+:1014400078940E94250F0E94960F82E091E00E94FE
+:10145000400F0E949F218091E501853069F40E9430
+:10146000D41A8091E3018823B1F30E94FC1A8823E7
+:1014700091F30E94970AEFCF0E949C0FECCF292F87
+:10148000332723303105C9F064F42130310581F070
+:101490002230310509F043C08DE690E02DED34E0B7
+:1014A00042C021323105F1F02232310541F137C01D
+:1014B00082E190E02AE435E036C099278130910539
+:1014C00041F08230910541F0892B49F5E9EDF4E0D6
+:1014D00005C0E1ECF4E002C0E9EAF4E0849190E0B8
+:1014E0009F0121C06430D8F4E62FF0E0EE0FFF1F1B
+:1014F000EE5DFE4F2081318189E090E014C06430C0
+:1015000070F470E0FB01EE0FFF1FE65EFE4F2081DE
+:101510003181FB01EA5EFE4F808190E004C080E0F3
+:1015200090E020E030E0FA0131832083089580E1EB
+:1015300089BD82E189BD09B400FEFDCF8091D8004C
+:101540008F7D8093D8008091E00082608093E000DE
+:101550008091E00081FDFCCF0895CF92DF92EF9261
+:10156000FF920F931F93CF93DF93EC018B016A01DE
+:101570000E94100C811133C0C114D10439F0F6015E
+:1015800080819181081B190BC80FD91FE12CF12C08
+:101590000115110519F18091E80085FD16C08091B3
+:1015A000E8008E778093E800C114D10449F0F60179
+:1015B00080819181E80EF91EF182E08285E00FC002
+:1015C0000E94100C882321F30AC089918093F100B6
+:1015D00001501109FFEFEF1AFF0ADACF80E0DF9127
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0002091EC013091ED012617370748F0611575
+:10160000710539F42091E8002E772093E80001C09D
+:10161000B90140E061157105A9F12091E50122238E
+:1016200009F443C0253009F442C02091E80023FDAD
+:1016300040C02091E80022FD32C02091E80020FF48
+:10164000E9CF4091F3002091F20030E0342BFC010F
+:10165000CF016115710559F02830310540F48191B1
+:101660008093F100615071092F5F3F4FF1CF41E04E
+:101670002830310509F040E02091E8002E772093D2
+:10168000E800C8CF4111C9CF0AC08091E501882385
+:1016900061F0853061F08091E80083FD0AC080919F
+:1016A000E80082FFF2CF80E0089582E0089583E0B1
+:1016B000089581E008952091EC013091ED01261705
+:1016C000370748F06115710539F42091E8002E774D
+:1016D0002093E80001C0B901FC0120E0611571050B
+:1016E00091F18091E501882309F440C0853009F427
+:1016F0003FC08091E80083FD3DC08091E80082FDFD
+:101700002FC08091E80080FFE9CF2091F300809105
+:10171000F20090E0922B6115710559F08830910527
+:1017200040F424912093F1003196615071090196A3
+:10173000F2CF21E0089709F020E08091E8008E7751
+:101740008093E800CBCF2111CCCF0AC08091E50176
+:10175000882361F0853061F08091E80083FD0AC044
+:101760008091E80082FFF2CF80E0089582E0089542
+:1017700083E0089581E00895982F973058F590936D
+:10178000E900981739F07091EC002091ED0050912C
+:10179000F00003C0242F762F50E021FF19C03091B4
+:1017A000EB003E7F3093EB003091ED003D7F3093B6
+:1017B000ED003091EB0031603093EB007093EC0062
+:1017C0002093ED005093F0002091EE0027FF07C01A
+:1017D0009F5FD3CF8F708093E90081E0089580E010
+:1017E00008958091E60187FF11C08091E80082FD95
+:1017F00005C08091E5018111F8CF11C08091E8000A
+:101800008B770BC08091E501882349F08091E80037
+:1018100080FFF8CF8091E8008E778093E8000895EC
+:101820002091E4003091E50095E64091EC00842F92
+:10183000817040FF22C08091E80080FD1CC0809133
+:10184000E501882391F0853091F08091EB0085FDD2
+:1018500010C04091E4005091E5004217530729F36E
+:101860009A01915011F784E0089582E0089583E091
+:10187000089581E0089580E008954091E80042FFD6
+:10188000DECF08950E94B00C0E94B80CE0EEF0E0AC
+:10189000808181608083E8EDF0E080818F778083B4
+:1018A00019BCA7EDB0E08C918E7F8C9380818F7EE8
+:1018B00080831092E40108950F931F93CF93DF93D9
+:1018C0000E94B00C0E94B80CC8EDD0E088818F77E0
+:1018D000888388818068888388818F7D888319BC0C
+:1018E0001092E5011092E1011092E3011092E201E1
+:1018F00000EE10E0F80180818B7F80838881816019
+:10190000888342E060E080E00E94BC0BE1EEF0E002
+:1019100080818E7F8083E2EEF0E080818160808331
+:10192000808188608083F80180818E7F80838881B8
+:1019300080618883DF91CF911F910F910895E8ED29
+:10194000F0E080818F7E8083E7EDF0E08081816030
+:10195000808384E082BF81E08093E4010C945C0C7E
+:10196000E8EDF0E080818E7F80831092E2000895A0
+:101970001092DA001092E10008951F920F920FB6B4
+:101980000F9211242F933F934F935F936F937F9305
+:101990008F939F93AF93BF93EF93FF938091E10059
+:1019A00082FF0BC08091E20082FF07C08091E100BE
+:1019B0008B7F8093E1000E94240F8091DA0080FFEA
+:1019C0001FC08091D80080FF1BC08091DA008E7FFD
+:1019D0008093DA008091D90080FF0DC080E189BD3D
+:1019E00082E189BD09B400FEFDCF81E08093E5016D
+:1019F0000E941F0905C019BC1092E5010E942D0923
+:101A00008091E10080FF19C08091E20080FF15C045
+:101A10008091E2008E7F8093E2008091E2008061FD
+:101A20008093E2008091D80080628093D80019BC36
+:101A300085E08093E5010E9431098091E10084FFF7
+:101A400030C08091E20084FF2CC080E189BD82E13A
+:101A500089BD09B400FEFDCF8091D8008F7D8093B1
+:101A6000D8008091E1008F7E8093E1008091E200B8
+:101A70008F7E8093E2008091E20081608093E2009B
+:101A80008091E101882311F084E007C08091E30098
+:101A900087FD02C081E001C083E08093E5010E94E0
+:101AA00033098091E10083FF29C08091E20083FF28
+:101AB00025C08091E100877F8093E10082E08093E0
+:101AC000E5011092E1018091E1008E7F8093E100B9
+:101AD0008091E2008E7F8093E2008091E20080613D
+:101AE0008093E20042E060E080E00E94BC0B8091C5
+:101AF000F00088608093F0000E943009FF91EF9120
+:101B0000BF91AF919F918F917F916F915F914F9115
+:101B10003F912F910F900FBE0F901F9018951F921D
+:101B20000F920FB60F9211242F933F934F935F9311
+:101B30006F937F938F939F93AF93BF93CF93DF93D5
+:101B4000EF93FF93C091E900CF708091EC00D82F04
+:101B5000D17080FDD0E81092E9008091F000877F7D
+:101B60008093F00078940E94D30D1092E900809148
+:101B7000F00088608093F000CD2BCF70C093E90017
+:101B8000FF91EF91DF91CF91BF91AF919F918F9195
+:101B90007F916F915F914F913F912F910F900FBE69
+:101BA0000F901F9018951F93CF93DF93CDB7DEB79B
+:101BB000AA970FB6F894DEBF0FBECDBFE6EEF1E0F8
+:101BC00088E08E0F9091F10091938E13FBCF0E94CD
+:101BD0004F098091E80083FF1FC18091E601909139
+:101BE000E701492F50E04A30510508F015C1FA01CC
+:101BF000E15AFF4F0C943923803881F0823809F084
+:101C00000BC18091EA018F708093E9008091EB0015
+:101C100085FB882780F91092E90006C08091E201D7
+:101C20009091E301911182609091E800977F9093E9
+:101C3000E8008093F1001092F100C8C0282F2D7F9A
+:101C400009F0EAC0882319F0823061F0E5C0809184
+:101C5000E801813009F0E0C0933009F080E0809322
+:101C6000E3012BC08091E801811127C08091EA0136
+:101C70008F7009F4D1C08093E9002091EB0020FF20
+:101C80001CC0933021F48091EB00806214C09091CD
+:101C9000EB0090619093EB0021E030E0A90102C0DD
+:101CA000440F551F8A95E2F74093EA001092EA002C
+:101CB0008091EB0088608093EB001092E9008091A6
+:101CC000E800877F86C08111A7C01091E8011F77C7
+:101CD0008091E3008078812B8093E3008091E8007D
+:101CE000877F8093E8000E94F10B8091E80080FFDD
+:101CF000FCCF8091E30080688093E300111102C063
+:101D000082E001C083E08093E50186C08058823084
+:101D100008F082C08091E8019091E9018C3D53E088
+:101D2000950779F583E08A838AE289834FB7F8942F
+:101D3000DE01139620E03EE051E2E32FF0E0509305
+:101D40005700E49120FF03C0E295EF703F5FEF7012
+:101D50008E2F90E0EA3010F0C79601C0C0968D93A8
+:101D60009D932F5F243149F74FBF8091E800877F13
+:101D70008093E8006AE270E0CE0101960E94F80AC2
+:101D800014C0AE014F5F5F4F6091EA010E943F0AAD
+:101D9000BC01892B09F440C09091E800977F909393
+:101DA000E80089819A810E945B0B8091E8008B7723
+:101DB0008093E80031C0803879F58091E800877F12
+:101DC0008093E8008091E1018093F1008091E80028
+:101DD0008E778093E8000E94F10B1EC081111CC019
+:101DE0009091E8019230C0F48091E800877F809361
+:101DF000E8009093E1010E94F10B8091E1018111D3
+:101E000006C08091E30087FD02C081E001C084E04C
+:101E10008093E5010E943B098091E80083FF0AC09E
+:101E20008091E800877F8093E8008091EB008062DA
+:101E30008093EB00AA960FB6F894DEBF0FBECDBF1D
+:101E4000DF91CF911F9108950895CF938091E5017F
+:101E50008823A1F0C091E900CF709091EC00892F08
+:101E6000817090FD80E8C82B1092E9008091E80015
+:101E700083FD0E94D30DCF70C093E900CF910895E8
+:101E800090936901809368010895E0916801F09151
+:101E90006901309721F00190F081E02D099480E0F4
+:101EA0000895E0916801F0916901309721F0028076
+:101EB000F381E02D09940895E0916801F0916901A2
+:101EC000309721F00480F581E02D09940895209148
+:101ED0006601309167018217930771F09093670153
+:101EE00080936601E0916801F0916901309721F0DB
+:101EF0000680F781E02D09940895209164013091C6
+:101F000065018217930771F09093650180936401D6
+:101F1000E0916801F0916901309721F00084F1852A
+:101F2000E02D0994089508950C94930F0E94161BB8
+:101F30000E9414050C94DC1BCF92DF92EF92FF926B
+:101F40000F931F93CF93DF93CDB7DEB72B970FB6C9
+:101F5000F894DEBF0FBECDBF0E9431058BE6C82EC0
+:101F600081E0D82E00E010E0E02E802F0E942306B2
+:101F7000F60141916F01F42EF826B1F40F5F1F4F67
+:101F80000E30110589F78FEF89838A831B820E94A7
+:101F90001F1B8160782F9D838C8349815A816B81BF
+:101FA0008D810E943F1040C09091CC0191FF04C0F0
+:101FB0008B870E9429068B8520E030E04F2D50E072
+:101FC000922FBA01022E02C0759567950A94E2F726
+:101FD00060FF24C02E83EF8221E030E0690102C05F
+:101FE000CC0CDD1C9A95E2F790E08C219D21892B89
+:101FF00009F420E028870E941F1B8160782F9A87B0
+:1020000089874E815F8168858A850E943F10F8012B
+:10201000E559FE4F8081C826C08206C02F5F3F4F22
+:102020002630310569F6AACF0E94C31E10916A01BD
+:102030000E94450F1817A1F00E94450F80936A0176
+:102040002B960FB6F894DEBF0FBECDBFDF91CF91B8
+:102050001F910F91FF90EF90DF90CF900C943F086D
+:102060002B960FB6F894DEBF0FBECDBFDF91CF9198
+:102070001F910F91FF90EF90DF90CF900895CF9335
+:10208000DF93CDB7DEB72B970FB6F894DEBF0FBE48
+:10209000CDBF4F83588769877A878B87DE0111967A
+:1020A00086E0FD0111928A95E9F785E0FE013796F9
+:1020B00001900D928A95E1F749815A816B817C816B
+:1020C0008D819E810E9455172B960FB6F894DEBF26
+:1020D0000FBECDBFDF91CF910895CF93882309F430
+:1020E000C2C0C82F823859F40E94450F81FDBBC081
+:1020F00089E30E94F1190E94AE1A89E30CC083386B
+:1021000079F40E94450F80FDAEC083E50E94F1196D
+:102110000E94AE1A83E50E94331ACF910C94AE1A36
+:10212000843859F40E94450F82FD9DC087E40E94C7
+:10213000F1190E94AE1A87E4EECF8CEF8C0F813A32
+:1021400048F48C2F0E94042181118DC08C2F0E9495
+:10215000F119E3CF80E28C0F883048F4C77081E03A
+:1021600001C0880FCA95EAF70E94771AD6CF8BE58F
+:102170008C0F833078F4C53A29F0C63A31F083E801
+:1021800090E005C081E890E002C082E890E0CF9145
+:102190000C94670F88E58C0F833108F064C0C83A4F
+:1021A00039F1C93A41F1CA3A49F1CB3A51F1CC3A45
+:1021B00059F1CD3A61F1C03B69F1CE3A71F1CF3AB4
+:1021C00079F1C13B81F1C23B89F1C33B91F1C43B41
+:1021D00099F1C53BA1F1C63BA9F1C73BB1F1C83BA1
+:1021E000B9F1C93BC1F1CA3BC9F180E090E038C008
+:1021F00082EE90E035C089EE90E032C08AEE90E049
+:102200002FC085EB90E02CC086EB90E029C087EBD7
+:1022100090E026C08CEC90E023C08DEC90E020C0D4
+:1022200083E891E01DC08AE891E01AC082E991E05C
+:1022300017C084E991E014C081E292E011C083E20A
+:1022400092E00EC084E292E00BC085E292E008C00A
+:1022500086E292E005C087E292E002C08AE292E064
+:10226000CF910C947D0FCF910895882309F44BC032
+:10227000823859F40E94450F81FF45C089E30E94CE
+:10228000F1190E94AE1A89E30CC0833871F40E94E0
+:10229000450F80FF38C083E50E94F1190E94AE1AF5
+:1022A00083E50E94331A0C94AE1A843859F40E94C4
+:1022B000450F82FF28C087E40E94F1190E94AE1AE0
+:1022C00087E4EFCF9CEF980F913A58F390E2980F84
+:1022D000983050F4877091E001C0990F8A95EAF721
+:1022E000892F0E947D1ADFCF9BE5980F933020F451
+:1022F00080E090E00C94670F885A833120F480E0EE
+:1023000090E00C947D0F0895882321F00E94771AA5
+:102310000C94AE1A0895882321F00E947D1A0C9423
+:10232000AE1A0895BF92CF92DF92EF92FF920F9371
+:102330001F93CF93DF9300D000D000D0CDB7DEB78E
+:1023400025E0FC01DE01119601900D922A95E1F73E
+:10235000FC01408131810281258122952F706381AA
+:102360007481672B09F4E5C23F3F19F44F3F09F42C
+:10237000E0C27C0149833A8389819A812E830E943D
+:10238000B019182FB92E0E94AF190E947618EB2DA4
+:10239000E295EF70F0E0E759FF4F2E810C9439235E
+:1023A0008B2D807F9B2D9F70F92E882319F0F2943E
+:1023B00080EFF822002349F0FF2009F467C28F2D37
+:1023C0000E94871A0E94AE1A61C2812F0E943511A5
+:1023D000FF2009F4AEC28F2D0E948D1A26960FB6EB
+:1023E000F894DEBF0FBECDBFDF91CF911F910F914B
+:1023F000FF90EF90DF90CF90BF900C94AE1A3B2DE2
+:10240000307F8B2D8F70303211F08295807F1123B9
+:1024100019F0113021F12CC00023B9F0222309F466
+:10242000A0C1213009F09DC126960FB6F894DEBFF9
+:102430000FBECDBFDF91CF911F910F91FF90EF9015
+:10244000DF90CF90BF900C94971A222319F021307F
+:1024500009F46FC28E830E949A1A8E8196C100235E
+:1024600021F0223008F065C27CC1211162C28DC109
+:10247000002321F0222309F474C108C2222309F4A5
+:1024800084C119C22B2D26952695237030E0211585
+:10249000310521F021303105D1F04BC2002321F06C
+:1024A000812F9B2D937002C080E090E026960FB69E
+:1024B000F894DEBF0FBECDBFDF91CF911F910F917A
+:1024C000FF90EF90DF90CF90BF900C94670F0023A8
+:1024D00021F0812F9B2D937002C080E090E0269622
+:1024E0000FB6F894DEBF0FBECDBFDF91CF911F9125
+:1024F0000F91FF90EF90DF90CF90BF900C947D0FE5
+:10250000812F002319F00E94CB1D02C00E94331EB0
+:1025100026960FB6F894DEBF0FBECDBFDF91CF91E8
+:102520001F910F91FF90EF90DF90CF90BF900C9490
+:10253000B81E8B2D837009F07BC00111FAC1812F69
+:10254000829586958770880F880F912F9F70C92E6E
+:10255000D12CE12CF12C082E04C0CC0CDD1CEE1C7F
+:10256000FF1C0A94D2F714FF12C04FE050E060E065
+:1025700070E004C0440F551F661F771F8A95D2F77D
+:10258000CB01BA01609570958095909503C060E08D
+:1025900070E0CB012B2D269526952370422F50E01D
+:1025A00042305105D9F04330510569F16C297D293C
+:1025B0008E299F294130510551F126960FB6F89486
+:1025C000DEBF0FBECDBFDF91CF911F910F91FF9066
+:1025D000EF90DF90CF90BF900C949D186C297D29CF
+:1025E0008E299F2926960FB6F894DEBF0FBECDBF69
+:1025F000DF91CF911F910F91FF90EF90DF90CF90DF
+:10260000BF900C94B9180E949D18C701B601269678
+:102610000FB6F894DEBF0FBECDBFDF91CF911F91F3
+:102620000F91FF90EF90DF90CF90BF900C948118A6
+:10263000002319F08B2D817001C08695882309F441
+:1026400078C1812F829586958770880F880F912F8A
+:102650009F70C92ED12CE12CF12C082E04C0CC0C7B
+:10266000DD1CEE1CFF1C0A94D2F714FF12C04FE0D1
+:1026700050E060E070E004C0440F551F661F771FF4
+:102680008A95D2F7CB01BA016095709580959095A7
+:1026900003C060E070E0CB012B2D269526952370BA
+:1026A000422F50E042305105D9F04330510569F1D5
+:1026B0006C297D298E299F294130510551F126969B
+:1026C0000FB6F894DEBF0FBECDBFDF91CF911F9143
+:1026D0000F91FF90EF90DF90CF90BF900C947719FF
+:1026E0006C297D298E299F2926960FB6F894DEBF86
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053
+:10270000DF90CF90BF900C9493190E947719C70166
+:10271000B60126960FB6F894DEBF0FBECDBFDF918F
+:10272000CF911F910F91FF90EF90DF90CF90BF90CE
+:102730000C945B19103FD1F118F4103E50F4A1C075
+:10274000123F09F463C008F44CC0133F09F473C08E
+:1027500098C01F708B2D8F710023A1F00E94F41878
+:10276000812F26960FB6F894DEBF0FBECDBFDF9146
+:10277000CF911F910F91FF90EF90DF90CF90BF907E
+:102780000C9484110E941519812F26960FB6F89487
+:10279000DEBF0FBECDBFDF91CF911F910F91FF9094
+:1027A000EF90DF90CF90BF900C948B110023A9F095
+:1027B0002111BFC08B2D8F7126960FB6F894DEBF06
+:1027C0000FBECDBFDF91CF911F910F91FF90EF9082
+:1027D000DF90CF90BF900C943A19223008F0A9C036
+:1027E000E9CF0023A9F08B2D8F7126960FB6F894B0
+:1027F000DEBF0FBECDBFDF91CF911F910F91FF9034
+:10280000EF90DF90CF90BF900C94F418002359F311
+:102810008B2D8F7126960FB6F894DEBF0FBECDBFFD
+:10282000DF91CF911F910F91FF90EF90DF90CF90AC
+:10283000BF900C941519002399F08B2D8F7126965B
+:102840000FB6F894DEBF0FBECDBFDF91CF911F91C1
+:102850000F91FF90EF90DF90CF90BF900C94DF1816
+:1028600026960FB6F894DEBF0FBECDBFDF91CF9195
+:102870001F910F91FF90EF90DF90CF90BF900C943D
+:10288000D5180023A9F0222309F4ADCF812F269675
+:102890000FB6F894DEBF0FBECDBFDF91CF911F9171
+:1028A0000F91FF90EF90DF90CF90BF900C946D1040
+:1028B000222309F4ADCF812F26960FB6F894DEBF00
+:1028C0000FBECDBFDF91CF911F910F91FF90EF9081
+:1028D000DF90CF90BF900C9435114B2D4F70612F2E
+:1028E000C7010E94920326960FB6F894DEBF0FBE72
+:1028F000CDBFDF91CF911F910F91FF90EF90DF90AF
+:10290000CF90BF900C94F9174B2D4F70612FC701DA
+:1029100026960FB6F894DEBF0FBECDBFDF91CF91E4
+:102920001F910F91FF90EF90DF90CF90BF900C948C
+:10293000E90626960FB6F894DEBF0FBECDBFDF9135
+:10294000CF911F910F91FF90EF90DF90CF90BF90AC
+:1029500008950E94941A0E94691A0E94AE1A0E9459
+:10296000691F0E94B81E80E090E00E94670F80E01F
+:1029700090E00C947D0F0E94841A0C94A9140E947C
+:10298000B019292F22952F7030E02C3031054CF4EE
+:102990002A3031056CF4225031092230310588F497
+:1029A00007C02C30310549F02F30310531F009C016
+:1029B000803E48F0803F29F406C093FB882780F9C9
+:1029C000089580E0089581E00895CF93DF9300D0CB
+:1029D00000D01F92CDB7DEB70F900F900F900F90E1
+:1029E0000F90DF91CF910895CF93DF9300D000D067
+:1029F00000D0CDB7DEB726960FB6F894DEBF0FBE77
+:102A0000CDBFDF91CF9108951F93CF93DF93C091F6
+:102A1000790116E080917A01C81799F0D0E01C9FE7
+:102A2000F0011D9FF00D1124E558FE4F40815181AA
+:102A300062817381848195810E94F4142196C7700C
+:102A4000E9CFDF91CF911F9108954091AB01509153
+:102A5000AC016091AD017091AE018091AF01909198
+:102A6000B0010C94F4148091B00182958F7009F03C
+:102A700054C08091AD01882309F44FC08091790141
+:102A8000A0917A016091AB017091AC014091AE01CF
+:102A90005091AF01B6E08A1709F43FC090E04115AC
+:102AA0005105C1F17F3F11F46F3FA1F1B89FF001D3
+:102AB000B99FF00D1124E558FE4F218172132AC0F1
+:102AC0002081621327C02281211124C023813481F7
+:102AD0002417350710F421503109241B350B283CED
+:102AE0003105C0F42091B0012F7020612093B00116
+:102AF00026E0289FF001299FF00D1124E058FE4F99
+:102B000080818F70806180838BEA91E00E949211B6
+:102B10000C94041501968770BECF0895CF92DF9272
+:102B2000EF92FF920F931F93CF93DF93CDB7DEB752
+:102B300062970FB6F894DEBF0FBECDBF8C0185E063
+:102B4000F801DE011D9601900D928A95E1F7D801FA
+:102B50004C9111965C91119712966C911297139665
+:102B6000CD90DC9014973091AB017091AC018091C5
+:102B7000AE019091AF01009709F46BC17F3F19F44A
+:102B80003F3F09F466C1E090AD01EE2009F4C0C0FA
+:102B90002091B001C816D90628F0F601E81BF90B00
+:102BA000CF0104C0809590958C0D9D1DFF24F3945A
+:102BB000883C910578F0F12C207F09F0C6C07C2D6F
+:102BC000D98AC88A89890E94E5148BEA91E00E941B
+:102BD0009211B1C0822F807F09F046C0751314C0D6
+:102BE000341312C0611110C02F7020612093B00106
+:102BF0000E9425158BEA91E00E9492118091B0010C
+:102C0000D80115968C932EC0CD2819F15F3F11F491
+:102C10004F3FF9F0F62E61111CC08091790120918F
+:102C20007A0136E0821709F45AC090E0389FF0012B
+:102C3000399FF00D1124E558FE4F7181571306C0DE
+:102C40007081471303C07281711103C001968770B0
+:102C5000E9CFF62E662309F418C18091B001816096
+:102C60008093B001F12C11C1751308C0341306C054
+:102C7000611104C08091B001D801C3C04D875E8747
+:102C80008D859E856A8B0E94BF146A898823E1F135
+:102C90006623D1F12091B001822F82958F7090E050
+:102CA000029774F08091AB019091AC0198878F836B
+:102CB0001986DB86CA862C87CE0107960E94921160
+:102CC00086E0F801ABEAB1E001900D928A95E1F758
+:102CD0000E9433150E942515FF24F394D6C04D871A
+:102CE0005E878D859E850E94B019292F22952F70B1
+:102CF00030E0223031050CF0BCC09F7009F0B6C046
+:102D0000805E883008F4C1C0C8010E949211E4CFEF
+:102D1000C816D90608F453C0F601E81BF90BCF0119
+:102D2000883C910508F450C0F12C7C2DD98AC88AC2
+:102D300089890E94E514EBEAF1E086E0DF011D924B
+:102D40008A95E9F70E942515A0C0751314C03413A5
+:102D500012C0611110C08091B001F8018583C801D3
+:102D60000E94921186E0EBEAF1E0DF011D928A9564
+:102D7000E9F7FE2C8AC04D875E878D859E856A8B1C
+:102D80000E94BF146A89882309F4BECF662309F420
+:102D9000BBCF2091B001822F82958F7090E0029777
+:102DA0000CF48ECF8091AB019091AC019A83898312
+:102DB0001B82DD82CC822E83CE0101967FCF80954F
+:102DC00090958C0D9D1DACCFF62E662309F49CCFFB
+:102DD00075132EC034132CC02091B00120FD1FC0EC
+:102DE000822F82958F70D9F0D80115962C93159764
+:102DF0008F3049F08F5F982F9295907F822F8F7040
+:102E0000892B15968C93C8010E94921186E0F801D7
+:102E1000ABEAB1E001900D928A95E1F793CF86E09D
+:102E2000F801ABEAB1E001900D928A95E1F72DC06F
+:102E30004D875E878D859E850E94BF14811140CF8E
+:102E40008091B00181608093B001C8010E9492110D
+:102E50001CC0662309F458CF4D875E878D859E85FB
+:102E60000E94BF14882309F44FCF2ACF811148CF85
+:102E70000CC0243031050CF047CF9F7009F440CFCF
+:102E8000F8019581907F09F03BCF8F2D62960FB6A8
+:102E9000F894DEBF0FBECDBFDF91CF911F910F9190
+:102EA000FF90EF90DF90CF9008951F93CF93DF9323
+:102EB000CDB7DEB72C970FB6F894DEBF0FBECDBFEF
+:102EC0004F83588769877A878B879C87CE010796BF
+:102ED0000E948E15882369F08F8198852A853B850D
+:102EE000232BF1F19F3F09F063C08F3F09F060C0D1
+:102EF00037C086E0FE013796DE01119601900D92F3
+:102F00008A95E1F76F817885EA85FB85309741F1F5
+:102F10007F3F11F46F3F21F120917A0130E0C90128
+:102F20000196877099274091790150E084179507A1
+:102F300009F447C069837A83FD83EC8396E0929F0E
+:102F4000D001939FB00D1124A558BE4FFE013196BC
+:102F500001900D929A95E1F780937A010E940415F1
+:102F600016E08091790190917A018917C1F1189F3B
+:102F7000C001112485589E4F0E948E15882379F137
+:102F8000E09179011E9FF0011124E558FE4F408128
+:102F9000518162817381848195810E94F4148091B2
+:102FA000790190E001968770992780937901D9CFB4
+:102FB0004F81588569857A858B859C850E94F4149C
+:102FC000CFCF0E94BB1410927A0110927901EBEAE4
+:102FD000F1E086E0DF011D928A95E9F7C1CF2C96DA
+:102FE0000FB6F894DEBF0FBECDBFDF91CF911F911A
+:102FF0000895EF92FF920F931F93CF93DF938C016D
+:10300000892B09F46CC0F12CEE24E394E80121969D
+:10301000F8018491843740F4843008F051C0813045
+:1030200081F0823019F15BC0853709F444C0A8F102
+:103030009CE7980F903708F052C08F770E943511A7
+:1030400041C00E5F1F4FFE01C49180E28C0F88309B
+:1030500048F4C7708E2D01C0880FCA95EAF70E9408
+:10306000871A14C08C2F0E946D102DC00E5F1F4F49
+:10307000FE01C49180E28C0F883058F4C7708E2D09
+:1030800001C0880FCA95EAF70E948D1A0E94AE1AF5
+:103090001AC08C2F0E94351116C00E5F1F4FFE0103
+:1030A000C491CC2381F08FE99FE00197F1F700C034
+:1030B0000000C150F6CF0E5F1F4FFE01F49003C019
+:1030C0000E946D108E018F2D882309F49FCFEFE9A8
+:1030D000FFE03197F1F700C000008150F5CFDF919C
+:1030E000CF911F910F91FF90EF90089508956093F5
+:1030F000B5017093B6018093B7019093B8010C9419
+:10310000A9140F931F930091B5011091B60120915E
+:10311000B7013091B801DC01CB01802B912BA22BA0
+:10312000B32B8093B5019093B601A093B701B093F0
+:10313000B8011F910F910C94A9140F931F93009144
+:10314000B5011091B6012091B7013091B801DC01B1
+:10315000CB0180239123A223B3238093B5019093C5
+:10316000B601A093B701B093B8011F910F910C94D1
+:10317000A9140F931F930091B5011091B6012091EE
+:10318000B7013091B801DC01CB0180279127A2273C
+:10319000B3278093B5019093B601A093B701B09384
+:1031A000B8011F910F910C94A9141092B1011092C3
+:1031B000B2011092B3011092B4010C94A91441E031
+:1031C00050E060E070E004C0440F551F661F771F99
+:1031D0008A95D2F74093B1015093B2016093B30145
+:1031E0007093B4010C94A91441E050E060E070E0E9
+:1031F00004C0440F551F661F771F8A95D2F7809130
+:10320000B1019091B201A091B301B091B401482BEA
+:10321000592B6A2B7B2B4093B1015093B2016093E1
+:10322000B3017093B4010C94A91441E050E060E044
+:1032300070E004C0440F551F661F771F8A95D2F7B0
+:1032400040955095609570958091B1019091B20133
+:10325000A091B301B091B401482359236A237B2381
+:103260004093B1015093B2016093B3017093B401E4
+:103270000C94A91441E050E060E070E004C0440FF9
+:10328000551F661F771F8A95D2F78091B1019091E3
+:10329000B201A091B301B091B401482759276A2720
+:1032A0007B274093B1015093B2016093B3017093B7
+:1032B000B4010C94A9140F931F930091B1011091C4
+:1032C000B2012091B3013091B401DC01CB01802B1C
+:1032D000912BA22BB32B8093B1019093B201A093B9
+:1032E000B301B093B4011F910F910C94A9140F93E3
+:1032F0001F930091B1011091B2012091B30130915F
+:10330000B401DC01CB0180239123A223B32380935A
+:10331000B1019093B201A093B301B093B4011F9196
+:103320000F910C94A9140F931F930091B101109168
+:10333000B2012091B3013091B401DC01CB018027AF
+:103340009127A227B3278093B1019093B201A09354
+:10335000B301B093B4011F910F910C94A914089577
+:10336000CF92DF92EF92FF920F931F93CF93DF9351
+:103370008C01C090B501D090B601E090B701F090FB
+:10338000B8014091B1015091B2016091B3017091C7
+:10339000B401C42AD52AE62AF72ACFE1D0E0D70122
+:1033A000C6010C2E04C0B695A795979587950A94EB
+:1033B000D2F780FF07C0B8018C2F0E940C07813024
+:1033C000910531F4219758F7B80180E00E940C076D
+:1033D000DF91CF911F910F91FF90EF90DF90CF90F1
+:1033E000089590910C01992321F090910D01911174
+:1033F00009C020910E0130910F01F90132969FEF23
+:1034000040E01FC0982F9695969596959F3050F561
+:10341000E0910E01F0910F01E90FF11D877021E09D
+:1034200030E0A90102C0440F551F8A95E2F7CA0196
+:103430009181892B818308959F3F39F04F5F4E30F2
+:1034400041F051915813F8CF0DC05111F7CF942F7F
+:10345000F5CF9F3F39F0F901E90FF11D97FDFA957E
+:1034600082830895089590910C01992321F0909101
+:103470000D01911109C020910E0130910F01F90148
+:103480003296205F3F4F1FC0982F96959695969540
+:103490009F30F0F4E0910E01F0910F01E90FF11D62
+:1034A000877021E030E0A90102C0440F551F8A95C2
+:1034B000E2F7CA018095918189238183089531962D
+:1034C000E217F30729F090819813F9CF1082F7CF14
+:1034D000089581E090E0E0910E01F0910F01E80F76
+:1034E000F91F1082019680319105A9F708959091F6
+:1034F000CB01892B8093CB01089580959091CB01CE
+:1035000089238093CB0108951092CB010895909167
+:10351000CA01892B8093CA01089580959091CA01B0
+:1035200089238093CA0108951092CA010895809357
+:10353000B90108951092B901089580910E019091FA
+:103540000F01FC0131969C01205F3F4F80E091917B
+:1035500091118F5FE217F307D1F70895E0910E0103
+:10356000F0910F018091CB018083E0910E01F091E9
+:103570000F0190818091CA01892B80838091B901CC
+:10358000882361F0E0910E01F0910F019081892B69
+:1035900080830E949D1A81111092B90180910E01C1
+:1035A00090910F010C94510F8091E501843009F145
+:1035B0001092CD0120E488E190E00FB6F894A89530
+:1035C000809360000FBE2093600083B7817F84608A
+:1035D00083BF83B7816083BF7894889583B78E7FDC
+:1035E00083BF88E10FB6F89480936000109260006A
+:1035F0000FBE089508950895CF930E94FA1A0E946D
+:1036000031050E94FB1AC0E08C2F0E942306811115
+:1036100004C0CF5FCE30C1F701C081E0CF910895E3
+:103620000E94BB140E94450F0C943F0882E084BDA9
+:1036300093E095BD9AEF97BD80936E0008952FB7E4
+:10364000F8948091CE019091CF01A091D001B091DA
+:10365000D1012FBF0895CF92DF92EF92FF920F9387
+:103660001F932FB7F8944091CE015091CF016091F4
+:10367000D0017091D1012FBF6A017B01EE24FF249C
+:103680008C0120E030E0C016D106E206F30610F40B
+:10369000415051099A01281B390BC9011F910F9103
+:1036A000FF90EF90DF90CF9008951F920F920FB68A
+:1036B0000F9211248F939F93AF93BF938091CE016C
+:1036C0009091CF01A091D001B091D1010196A11D9F
+:1036D000B11D8093CE019093CF01A093D001B09300
+:1036E000D101BF91AF919F918F910F900FBE0F901D
+:1036F0001F9018950E94420CF8942FEF87EA91E6EC
+:10370000215080409040E1F700C0000087E090EB3E
+:10371000DC018093EE019093EF01A093F001B09350
+:10372000F1019CE088E10FB6F894A89580936000C1
+:103730000FBE90936000FFCFEF92FF920F931F9305
+:10374000CF93DF93D82FC0E08C2F0E94230600E098
+:1037500010E0E82EF12CC701002E02C09595879548
+:103760000A94E2F780FD06C00F5F1F4F0630110577
+:1037700091F709C0602F7C2F80E00E94EA06D813E1
+:10378000F3CF81E004C0CF5FCE30F1F680E0DF916F
+:10379000CF911F910F91FF90EF900895CF93C82F75
+:1037A0008CE20E949C1B882321F08C2FCF910C94DB
+:1037B0009C1B80E0CF910895CF930E94231D81111F
+:1037C00002C00E94091DC5E6C15049F00E943105A2
+:1037D0008FE39CE90197F1F700C00000F5CF89E283
+:1037E0000E94CE1B811113C18AE20E94CE1B81115F
+:1037F0000E94091D85E00E94CE1B81110E947A1B48
+:103800000E942E1D8093CC0187E00E94CE1B88234E
+:10381000A9F18BE10E94CE1B882351F08091CC014D
+:1038200081FB222720F991E0922790FB81F90EC0BD
+:103830008EE00E94CE1B882361F08091CC0182FB38
+:10384000222720F991E0922790FB82F98093CC0106
+:1038500015C080E10E94CE1B9091CC01882341F0DD
+:1038600093FB222720F981E0822780FB93F904C093
+:10387000892F809580FB90F99093CC018091CC01A9
+:103880000E94321D0E94401D8093DF0180EE0E9445
+:10389000CE1B882341F08091DF01982F909590FBFB
+:1038A00080F98093DF0189E30E94CE1B882359F0C1
+:1038B0008091DF0181FB222720F991E0922790FB84
+:1038C00081F98093DF0182EE0E94CE1B882359F09C
+:1038D0008091DF0182FB222720F991E0922790FB63
+:1038E00082F98093DF0186EE0E94CE1B882359F077
+:1038F0008091DF0183FB222720F991E0922790FB42
+:1039000083F98093DF0183EE0E94CE1B882359F058
+:103910008091DF0184FB222720F991E0922790FB20
+:1039200084F98093DF0185E30E94CE1B882359F040
+:103930008091DF0185FB222720F991E0922790FBFF
+:1039400085F98093DF0181E30E94CE1B882359F023
+:103950008091DF0186FB222720F991E0922790FBDE
+:1039600086F98093DF0181E10E94CE1B882359F004
+:103970008091DF0187FB222720F991E0922790FBBD
+:1039800087F98093DF018091DF010E94441D8091BF
+:10399000DF0187FB882780F980930D0187E20E9471
+:1039A000CE1BC82F8EE10E94CE1B8111C2608FE119
+:1039B0000E94CE1B8111C46080E20E94CE1B811147
+:1039C000C86081E20E94CE1B8111C06182E20E9428
+:1039D000CE1B8111C06283E20E94CE1B8111C064A4
+:1039E00084E20E94CE1B882311F0C06802C0CC2361
+:1039F00029F08C2F0E943B1D6C2F03C00E94371DA5
+:103A0000682F70E080E090E0CF910C947718CF9110
+:103A100008956DEE7EEF80E090E00E946F2360E0FD
+:103A200082E090E00E94612360E083E090E00E94E9
+:103A3000612360E084E090E00E94612360E085E023
+:103A400090E00C94612380E090E00E945B2321E0F1
+:103A50008D3E9E4F09F020E0822F089582E090E095
+:103A60000C945323682F82E090E00C94612383E050
+:103A700090E00C945323682F83E090E00C94612332
+:103A800084E090E00C945323682F84E090E00C9441
+:103A900061238091D40180FF0BC06091130185E008
+:103AA000689FB001112475956795759567952BC032
+:103AB00081FF09C06091130185E0689FB001112466
+:103AC0007595679520C082FF07C06091130185E05E
+:103AD000689FB001112417C09091D5019923D1F0AE
+:103AE00060911201961788F72091130185E0289FB5
+:103AF00090011124929FA001939F500D112470E01A
+:103B0000CA010E9425236038710540F461157105D2
+:103B100039F002C065E070E0862F08958FE70895C0
+:103B200081E008958091D40180FF08C06091110167
+:103B300070E0759567957595679521C081FF06C002
+:103B40006091110170E07595679519C082FF04C0FE
+:103B50006091110170E010C09091D5019923C1F0DE
+:103B6000609110019617A0F780911101899FC00103
+:103B7000112470E00E9425236038710528F4611536
+:103B8000710521F0862F08958FE7089581E008954B
+:103B900061E070E0F4CF803F21F40E94491D8195DF
+:103BA00004C0813F29F40E94491D8093D8010895E3
+:103BB000823F21F40E94491D819504C0833F29F46E
+:103BC0000E94491D8093D7010895893F19F40E94EE
+:103BD000921D05C08A3F31F40E94921D8195809309
+:103BE000D90108958B3F21F40E94921D819504C054
+:103BF0008C3F29F40E94921D8093DA010895843F3E
+:103C000021F48091D601816017C0853F21F4809115
+:103C1000D601826011C0863F21F48091D601846074
+:103C20000BC0873F21F48091D601886005C0883F92
+:103C300031F48091D60180618093D60108958D3F43
+:103C400021F48091D40181600BC08E3F21F48091DA
+:103C5000D401826005C08F3F29F48091D401846033
+:103C60008093D4010895803F39F48091D80187FF73
+:103C70006CC01092D80169C0813F29F48091D801AD
+:103C80001816BCF362C09091D701823F29F497FFC8
+:103C90005CC01092D70159C0833F19F41916CCF3B8
+:103CA00054C0893F41F48091D90118160CF04DC0E1
+:103CB0001092D9014AC08A3F29F48091D90187FF27
+:103CC00044C0F6CF8B3F39F48091DA0187FF3DC0C5
+:103CD0001092DA013AC08C3F29F48091DA0118166B
+:103CE000BCF333C0843F21F48091D6018E7F17C08E
+:103CF000853F21F48091D6018D7F11C0863F21F44C
+:103D00008091D6018B7F0BC0873F21F48091D60133
+:103D1000877F05C0883F31F48091D6018F7E8093E4
+:103D2000D60113C08D3F21F48091D4018E7F0BC04A
+:103D30008E3F21F48091D4018D7F05C08F3F29F4FF
+:103D40008091D4018B7F8093D4018091D701811120
+:103D50000EC08091D80181110AC08091D9018111D2
+:103D600006C08091DA01811102C01092D501089538
+:103D700086ED91E00E945C0F0E941F1B9093D3017F
+:103D80008093D20108951F93CF93DF938091D20146
+:103D90009091D3010E942B1BAC019091D5019923E6
+:103DA00021F02091140130E006C0209115018AE035
+:103DB000289F900111244217530708F486C0809170
+:103DC000D701C091D801D091D9011091DA018111A8
+:103DD00007C0C11176C0D11174C0111172C075C075
+:103DE0009F3F19F09F5F9093D501181624F40E940D
+:103DF000491D8093D7018091D70187FF05C00E949C
+:103E0000491D81958093D7011C1624F40E94491DF9
+:103E10008093D8018091D80187FF05C00E94491D79
+:103E200081958093D8016091D701662339F1C091C3
+:103E3000D801CC2319F1772767FD7095872F972F2D
+:103E40000E94362223E333E343E35FE30E949A2296
+:103E50000E9403226093D7016C2F772767FD70952E
+:103E6000872F972F0E94362223E333E343E35FE358
+:103E70000E949A220E9403226093D8011D1624F406
+:103E80000E94921D8093D9018091D90187FF05C0BE
+:103E90000E94921D81958093D901111624F40E94ED
+:103EA000921D8093DA018091DA0187FF05C00E949C
+:103EB000921D81958093DA01DF91CF911F910C942F
+:103EC000B81E9F3F09F08ECF96CFDF91CF911F9103
+:103ED0000895E6EDF1E085E0DF011D928A95E9F7AE
+:103EE0001092D5011092D4010895833081F128F405
+:103EF000813059F08230D1F00895853009F449C0FD
+:103F0000B8F1863009F456C0089580911501262F26
+:103F100030E0280F311D2F3F310524F4680F6093E6
+:103F2000150108958FEF8093150108958091140174
+:103F3000262F30E0280F311D2F3F310524F4680F64
+:103F40006093140108958FEF809314010895809178
+:103F50001301262F30E0280F311D2F3F310524F4A7
+:103F6000680F6093130108958FEF809313010895F4
+:103F700080911201262F30E0280F311D2F3F31058F
+:103F800024F4680F6093120108958FEF809312015B
+:103F9000089580911101262F30E0280F311D2F3F09
+:103FA000310524F4680F6093110108958FEF809319
+:103FB0001101089580911001262F30E0280F311D46
+:103FC0002F3F310524F4680F6093100108958FEF9F
+:103FD000809310010895833011F128F4813049F065
+:103FE000823091F00895853081F120F18630C1F161
+:103FF000089580911501681720F4861B80931501A0
+:10400000089510921501089580911401681720F405
+:10401000861B8093140108951092140108958091D5
+:104020001301681720F4861B8093130108951092E2
+:104030001301089580911201681720F4861B809364
+:1040400012010895109212010895809111016817CC
+:1040500020F4861B80931101089510921101089598
+:1040600080911001681720F4861B80931001089539
+:104070001092100108950F931F938D3109F46BC0B6
+:1040800008F03FC08E3009F47DC0C0F4873009F4D9
+:104090006EC068F4863009F0AFC08091CC01817F9A
+:1040A0008E7F8093CC0181E08093DC01A6C08830B4
+:1040B00009F458C08B3009F49BC09EC0863109F4C6
+:1040C00097C078F4803109F470C0813109F094C050
+:1040D0000E94BB1490910D0181E0892780930D010E
+:1040E00087C0893109F484C08B3109F085C0809183
+:1040F000CC0181FB222720F991E0922790FB81F9E6
+:104100004AC0853309F45BC048F4873209F457C0CC
+:1041100008F45AC0893209F452C06EC0833438F4AE
+:104120008A3308F067C0883309F462C065C08334FD
+:1041300009F445C0883409F05FC00E94BB140FEF3A
+:1041400013ED20E3015010402040E1F700C00000D3
+:104150000E947A1B4DC00E94BD210E94450F0E9403
+:104160003F0846C00E942E1D0E94401D41C09091F4
+:10417000CC01892F817090FF12C0917F9E7F909318
+:10418000CC013BC08091CC0182FB222720F991E039
+:10419000922790FB82F98093CC01992349F1809179
+:1041A000CC0181608093CC0123C08091CC0183FB42
+:1041B000222720F991E0922790FB83F9ECCF61E070
+:1041C00070E080E090E010C08D5141E050E060E090
+:1041D00070E08A019B0104C0000F111F221F331FD2
+:1041E0008A95D2F7C901B8010E9477180E94BB14C2
+:1041F00081E003C08953E9CF80E01F910F910895BA
+:1042000080E0089580E00895CF93C82F8091DC016D
+:10421000813079F018F08230E9F187C0E0910E0129
+:10422000F0910F018081813169F0823209F07FC005
+:1042300009C0E0910E01F0910F018081813111F0F0
+:10424000823261F48C2F0E940021811104C08C2FD6
+:104250000E943B201DC081E090E01AC08C2F0E947C
+:104260000221811114C0C43179F048F4CB3079F0C7
+:10427000C03109F060C082E08093DC0108C0C9321F
+:1042800019F0C83321F057C01092DC0154C081E00E
+:10429000817053C0C93289F118F5C43171F1A8F4A5
+:1042A000C73009F046C08AE08093150194E19093ED
+:1042B000140193E0909313018093120188E080939E
+:1042C000110188E28093100134C0CE51C63088F5C8
+:1042D000EC2FF0E0E65DFE4F80818093DB0129C08A
+:1042E000CE34E9F020F4CB3421F56AE013C0C135B7
+:1042F00079F0C235F1F461E00DC08091DB018823D3
+:1043000019F01092DB0115C081E08093DC0115C02B
+:1043100061E006C08091DB010E94751F0AC06AE05F
+:104320008091DB010E94EB1F04C01092DC0180E051
+:1043300004C081E002C080E0ABCFCF910895E1E8F6
+:10434000F0E08081886080838081816080838FB786
+:10435000F89493E09093890090ED909388008FBF3C
+:104360000895EFE6F0E08081826080830895EFE6B3
+:10437000F0E080818D7F80830895EFE6F0E090810A
+:1043800082E08927808308951F920F920FB60F92C3
+:1043900011242F933F934F935F936F937F938F934A
+:1043A0009F93AF93BF93EF93FF938091DD01909123
+:1043B000DE0101969093DE018093DD01811103C03F
+:1043C00082E00E943F08E091DE01E695E695F0E08C
+:1043D000E95AF94FE4918091DD018E1303C080E02A
+:1043E0000E943F08FF91EF91BF91AF919F918F91F4
+:1043F0007F916F915F914F913F912F910F900FBEE1
+:104400000F901F90189504D06894B1118DC0089535
+:1044100070D088F09F5790F0B92F9927B751A0F02E
+:10442000D1F0660F771F881F991F1AF0BA95C9F748
+:1044300012C0B13081F077D0B1E0089574C0672F19
+:10444000782F8827B85F39F0B93FCCF386957795F8
+:104450006795B395D9F73EF49095809570956195E1
+:104460007F4F8F4F9F4F0895E89409C097FB3EF40C
+:1044700090958095709561957F4F8F4F9F4F9923B1
+:10448000A9F0F92F96E9BB279395F695879577952F
+:104490006795B795F111F8CFFAF4BB0F11F460FFEF
+:1044A0001BC06F5F7F4F8F4F9F4F16C0882311F047
+:1044B00096E911C0772321F09EE8872F762F05C05B
+:1044C000662371F096E8862F70E060E02AF09A95F6
+:1044D000660F771F881FDAF7880F9695879597F9EB
+:1044E000089557FD9058440F551F59F05F3F71F0E4
+:1044F0004795880F97FB991F61F09F3F79F087954B
+:104500000895121613061406551FF2CF4695F1DFD3
+:1045100008C0161617061806991FF1CF8695710563
+:10452000610508940895E894BB2766277727CB0197
+:1045300097F908950BD078C069D028F06ED018F0A4
+:10454000952309F05AC05FC01124EECFCADFA0F353
+:10455000959FD1F3950F50E0551F629FF001729F18
+:10456000BB27F00DB11D639FAA27F00DB11DAA1F37
+:10457000649F6627B00DA11D661F829F2227B00D84
+:10458000A11D621F739FB00DA11D621F839FA00D0F
+:10459000611D221F749F3327A00D611D231F849F5F
+:1045A000600D211D822F762F6A2F11249F575040B6
+:1045B0008AF0E1F088234AF0EE0FFF1FBB1F661F51
+:1045C000771F881F91505040A9F79E3F510570F00A
+:1045D00014C0AACF5F3FECF3983EDCF38695779545
+:1045E0006795B795F795E7959F5FC1F7FE2B880F05
+:1045F000911D9695879597F9089597F99F6780E89B
+:1046000070E060E008959FEF80EC089500240A9424
+:104610001616170618060906089500240A9412169D
+:104620001306140605060895092E0394000C11F4D0
+:10463000882352F0BB0F40F4BF2B11F460FF04C07D
+:104640006F5F7F4F8F4F9F4F089597FB072E16F494
+:10465000009407D077FD09D00E943F2307FC05D0C6
+:104660003EF4909581959F4F0895709561957F4F89
+:104670000895EE0FFF1F0590F491E02D0994AA1BF9
+:10468000BB1B51E107C0AA1FBB1FA617B70710F03D
+:10469000A61BB70B881F991F5A95A9F7809590956F
+:1046A000BC01CD010895F999FECF92BD81BDF89A64
+:1046B000992780B50895A8E1B0E042E050E00C945D
+:1046C0007623262FF999FECF1FBA92BD81BD20BD5A
+:1046D0000FB6F894FA9AF99A0FBE019608950E94BF
+:1046E0006123272F0C946223DC01CB01FC01F99993
+:1046F000FECF06C0F2BDE1BDF89A319600B40D922E
+:0C47000041505040B8F70895F894FFCFE6
+:10470C0020024008CE08AB08770843080101BA0123
+:10471C0028080A03140A3F4D36391806CB059505AF
+:10472C005C05EF04080521053A05010203040506A2
+:04473C000708090061
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png Binary files differnew file mode 100644 index 0000000000..57df5a1f99 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c new file mode 100644 index 0000000000..da540c7a30 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c @@ -0,0 +1,264 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "../../../../quantum/keymap_extras/keymap_norwegian.c" + +#define BASE 0 // default layer +#define BASE_MAC 1 // default layer mac +#define NUMB_SYMB 2 // numbers and symbols +#define NUMB_SYMB_MAC 3 // numbers and symbols mac +#define FUNCTION 4 // function keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Keymap 0: Basic layer PC + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | [ | ] | { | } | * |Mac/PC| | ^ | $ | ( | ) | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | ? | Q | W | F | P | G | " | | ' | J | L | U | Y | Å | Æ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | : | A | R | S | T | D |------| |------| H | N | E | I | O | Ø | + * |--------+------+------+------+------+------| ; | | = |------+------+------+------+------+--------| + * | ! | Z | X | C | V | B | | | | K | M | RIGHT| DOWN | UP | _ | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Func | Lclk | Rclk | TAB |,/CTRL| | LEFT | Esc | ` | # | Num | + * `----------------------------------' `----------------------------------' + * ,-------------. ,--------------. + * | & | | | |Insert| / | + * ,------|------|------| |------+-------+------. + * | | | + | | Del | | | + * | Shift| ./Spc|------| |------| Enter |Space| + * | | |-/Alt | | Bspc | | | + * `--------------------' `---------------------' + */ +[BASE] = KEYMAP( + // left hand + NO_BSLS, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, NO_ASTR, TG(1), + NO_QUES, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_QUO2, + NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D, + KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, + MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA), + NO_AMP, NO_PIPE, + NO_PLUS, + KC_FN1,CTL_T(KC_DOT),ALT_T(NO_MINS), + // right hand + KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, + NO_APOS, KC_J, KC_L, KC_U, KC_Y, NO_AA, NO_AE , + KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSLH, + NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS, + KC_LEFT, KC_ESC, KC_FN7, KC_HASH, MO(2), + KC_INSERT, NO_SLSH, + KC_DELT, + KC_BSPC,KC_ENT,KC_SPC + ), +/* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped) + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | | | { | } | | | | | $ | | | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | ' |------+------+------+------+------+--------| + * | | | | | | |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Func | | | |,/Ctrl| | | | ` | | Num | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | |./Cmd |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[BASE_MAC] = KEYMAP( + NO_BSLS_MAC, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CTL_T(KC_COMMA), + KC_TRNS, NO_PIPE_MAC, + KC_TRNS, + KC_TRNS,GUI_T(KC_DOT) , KC_TRNS, + // right hand + KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, + NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, NO_GRV_MAC, KC_TRNS, MO(3), + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 2: Number ++ layer pc + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | % | | | | | | ~ | ´ | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | 3 | 2 | 1 | 0 | |------| |------| | 5 | 6 | 7 | 8 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | 4 | | | | | | 9 | END | PGDWN| PGUP | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | HOME | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[NUMB_SYMB] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_PERC, KC_TRNS , KC_TRNS, + KC_TRNS, KC_3 , KC_2 , KC_1 , KC_0 , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_FN2, KC_FN6 , KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, + KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 3: Number ++ layer mac. Some keys have to be repeated from the pc symbol layer, since transient keys inherit from the layer we jump from, not the layer above. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | % | | | | | | ~ | ´ | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | 3 | 2 | 1 | 0 | |------| |------| | 5 | 6 | 7 | 8 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | 4 | | | | | | 9 | END | PGDWN| PGUP | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | HOME | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[NUMB_SYMB_MAC] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_PERC, KC_TRNS , KC_TRNS, + KC_TRNS, KC_3 , KC_2 , KC_1 , KC_0 , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_FN2, KC_FN10, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, + KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 4: Function layer mac + pc + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | F3 | F2 | F1 | | |------| |------| | F5 | F6 | F7 | F8 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | F4 | | | | | | F9 | F10 | F11 | F12 | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[FUNCTION] = KEYMAP( + KC_5, 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_F3 , KC_F2 , KC_F1 , KC_TRNS , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F4, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS, + KC_TRNS, NO_TILD, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +) +}; + +enum macro_id { + TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_MODS_ONESHOT(MOD_LSFT), // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift. + [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. + [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. + [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. + [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. + [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. + [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. + [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly + [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly + [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed +}; + + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + keyevent_t event = record->event; + + switch (id) { + case TILDE_NO: + return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); + case LESS_NO: + return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); + case GRTR_NO: + return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); + case CIRC_NO: + return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); + case ACUT_NO: + return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); + case GRV_NO: + return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); + case LESS_NO_MAC: + return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); + case GRTR_NO_MAC: + return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); + case ACUT_NO_MAC: + return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); + } + return MACRO_NONE; +}; diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md new file mode 100644 index 0000000000..48f095cae9 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md @@ -0,0 +1,23 @@ +# Norwegian Colemak setup with osx/pc toggle + +## Motivation +I wanted a Norwegian Colemak setup that worked in a similar way on both my Mac and PC. I also wanted it to translate from a standard Norwegian keyboard OS setup. + +## Overview +The setup is created to be programmer friendly. +- Most of the symbols used in code can be activated without using layers or shift key. +- You can reach the IDE/OS shortcut activators(Ctrl, Win/Cmd, Alt, Shift) with the thumb. +- Navigation is prioritized, arrows are right below the home row. + +## PC/Mac toggle +The default setup is for Norwegian keyboard setting(not colemak variants) on a PC(Windows or Linux). Use the Mac/PC toggle button to switch between OSX and PC setup. The settings will be reverted to PC setup each time you restart/connect the keyboard. + +## Layers +Numbers and function buttons are on their own layers. The easiest way to switch layers(at least with my hands) in this setup, is to push your hand right below the little finger, on the layer switches. You will then have all your fingers free to type numbers or press function buttons. + +## Shift-key +Tap for the next character to be shifted, hold down for regular shift functionality + +## Layout + +![keyboard-layout](keyboard-layout.png) diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png Binary files differnew file mode 100644 index 0000000000..1d2583740c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex new file mode 100644 index 0000000000..542a4662b6 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex @@ -0,0 +1,1472 @@ +:100000000C9403070C9447070C9447070C9447077C
+:100010000C9447070C9447070C9447070C94470728
+:100020000C9447070C9447070C945B120C942D1307
+:100030000C9447070C9447070C9447070C94470708
+:100040000C9447070C94072C0C9447070C94470713
+:100050000C9447070C94FF210C9447070C94470716
+:100060000C9447070C9447070C9447070C944707D8
+:100070000C9447070C9447070C9447070C944707C8
+:100080000C9447070C9447070C9447070C944707B8
+:100090000C9447070C9447070C9447070C944707A8
+:1000A0000C9447070C9447070C9447079A13BC130A
+:1000B000AA14BC13AA1401142414AA1479148C14BD
+:1000C000D317D31702180218451883189C1A9C1AC4
+:1000D0009C189C1A9D199D19701A9C1A9C1A871AB3
+:1000E0000000F0A135002B003171E1000152000049
+:1000F0001E00140004001D00E0004D001F001A0047
+:1001000016001B0050002A0020000800070006000F
+:100110004F002C002100150009001900E2004A00E0
+:10012000220017000A00050000004C0001542F00B7
+:100130000000E60000004900025430000000E60024
+:100140000000290023001C000B00110000006500C6
+:10015000240018000D001000E2004B0025000C00E8
+:100160000E00360052002800260012000F00370053
+:100170005100E3002700130033003800E4004E0074
+:100180002E002D003471E500025200000100010034
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000270001004100250022001F0027000100F7
+:100210004200260023002000370001004300250291
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+: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
+:100C10007573202D0A004743433A20342E392E3372
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A203230303630
+:100C90003038342D6469727479202830313A313615
+:100CA0003A3235204A616E203331203230313629D4
+:100CB0000A005649443A2030784645454428457252
+:100CC000676F446F7820455A29205049443A2030B4
+:100CD0007831333037284572676F446F7820455A32
+:100CE00029205645523A203078303030310A0044BD
+:100CF0004553433A20742E6D2E6B2E206B6579621E
+:100D00006F617264206669726D7761726520666FCB
+:100D100072204572676F646F780A000A092D2056A9
+:100D2000657273696F6E202D0A000A6D6F757365A9
+:100D30003A206F66660A000A6D6F7573653A206F18
+:100D40006E0A000A6B6579626F6172643A206F66A1
+:100D5000660A000A6B6579626F6172643A206F6E91
+:100D60000A000A6D61747269783A206F66660A003B
+:100D70000A6D61747269783A206F6E0A000A6465C0
+:100D80006275673A206F6E0A000A64656275673A99
+:100D9000206F66660A000A0A626F6F746C6F616486
+:100DA00065722E2E2E2000433E20006565636F6E17
+:100DB0006669673A0A00536C656570204C454420AB
+:100DC000746573740A000000000000000000000059
+:100DD00000010204060A0F17202C3A4A5D71879D14
+:100DE000B3C7DAE9F5FCFFFCF5E9DAC7B39D877113
+:100DF0005D4A3A2C20170F0A060402010000000089
+:100E000000000000000011241FBECFEFDAE0DEBFBB
+:100E1000CDBF04B603FE24C08091F9019091FA0180
+:100E2000A091FB01B091FC018730904BA740B04BE3
+:100E3000B9F41092F9011092FA011092FB0110928C
+:100E4000FC0114BE84B7877F84BF88E10FB6F89495
+:100E500080936000109260000FBEE0E0FFE3099510
+:100E600011E0A0E0B1E0EAEAFBE502C005900D92D6
+:100E7000AA33B107D9F711E0AAE3B1E001C01D928E
+:100E8000A93FB107E1F70E94930F0C94D32D0C9466
+:100E90000000FF93EF93E0913A01F0913B0130970E
+:100EA00009F00995EF91FF910895FC01859180303B
+:100EB00011F0EFDFFBCF0895FF27E0E230E247FFBC
+:100EC0000CC0419597FF09C0EDE260957095809543
+:100ED0009095611D711D811D911D27FF02C02195F7
+:100EE00030E350E2AA27660F771F881F991FAA1FB9
+:100EF000A41710F0A41B63955A95A9F7AA3008F01F
+:100F0000A95FA05DAF93F39561157105810591050A
+:100F100041F7ED3211F4EF93F395F21718F43F9384
+:100F2000F395FBCF8F91B5DFFA95E1F70895E9913D
+:100F3000F9918591803021F0853219F0AADFF9CF3F
+:100F4000089520E0E89455915532C1F3503311F4DF
+:100F5000689455915A3348F4505390F3220F022E5F
+:100F6000220F220F200D250FF4CF0EF42195899129
+:100F70009991533619F3533729F1533559F1BC017F
+:100F800088279927E8945C3621F48991999168948F
+:100F90005591543639F446EF7EF077FF0DC08FEF50
+:100FA0009FEF0AC055374AE039F0583540E121F04B
+:100FB000523642E009F00895FF93EF937DDFEF9101
+:100FC000FF91B7CFFF93EF93FC0181918030B9F38C
+:100FD00060DFFBCFFF93EF9368DFF1CFDF93CF9319
+:100FE000CDB7DEB72596A3DFCF91DF9108956111CC
+:100FF0000BC0FC018281882321F085EE0E947016CF
+:1010000003C085EE0E94381780E090E008950895AF
+:101010006091BC017091BD018091BE019091BF01B2
+:101020000E94FE2056985E9825982D9826982E9816
+:1010300027982F98813019F0823021F00895259A51
+:101040002D9A0895269A2E9A089588E098E0892B83
+:1010500011F00E94080880E090E0089556985E988C
+:1010600025982D9826982E9827982F988FEF90E006
+:10107000909389008093880090938B0080938A00DE
+:1010800090938D0080938C00259A2D9A2FEF80E706
+:1010900092E0215080409040E1F700C00000269A85
+:1010A0002E9A2FEF80E792E0215080409040E1F7A8
+:1010B00000C00000279A2F9A2FEF80E792E021507E
+:1010C00080409040E1F700C0000025982D982FEF58
+:1010D00080E792E0215080409040E1F700C000009E
+:1010E00026982E982FEF80E792E021508040904084
+:1010F000E1F700C0000027982F9856985E98259831
+:101100002D9826982E9827982F98089589EA8093ED
+:10111000800089E08093810024982C983F988AB1C0
+:101120008F748AB96E98479A8BB1806B8BB9769A17
+:101130000E942E0887E098E0892B11F00E94070892
+:1011400080E090E0089580E28093000180913C016E
+:1011500081110EC00E94F20881E080933C012FEFC4
+:1011600083ED90E3215080409040E1F700C0000003
+:1011700080E40E94F8088093000181112EC00E9433
+:10118000220980930001811128C00E9422098093C6
+:101190000001811122C08FE30E9422098093000187
+:1011A00081111BC00E941A0980E40E94F8088093F4
+:1011B0000001811112C08CE00E942209809300017D
+:1011C00081110BC00E94220980930001811105C08A
+:1011D0008FE30E942209809300010E941A098091E6
+:1011E000000108951092B9008AE08093B800089534
+:1011F00094EA9093BC009091BC0097FFFCCF909133
+:10120000B900987F983021F0903111F081E0089575
+:101210008093BB0084E88093BC008091BC0087FF72
+:10122000FCCF8091B900887F883111F0803471F74C
+:1012300080E0089584E98093BC008091BC0084FD27
+:10124000FCCF08958093BB0084E88093BC0080911C
+:10125000BC0087FFFCCF9091B900987F81E0983265
+:1012600009F480E0089584E88093BC008091BC007C
+:1012700087FFFCCF8091BB00089580910001811110
+:1012800015C080E40E94F8088093000181110CC011
+:1012900082E10E94220980930001811105C08FEF35
+:1012A0000E942209809300010E941A0984B1807F64
+:1012B00084B985B1807F85B98AB1837F8AB98BB1C2
+:1012C000837F8BB93E98469808950E94A308809327
+:1012D00000010E943D0980B38C7080BB81B3836F95
+:1012E00081BBAEE3B1E0ECE4F1E08EE08E0F119251
+:1012F0001D928E13FCCF86E898E0892B11F00C9498
+:10130000860808959F92AF92BF92CF92DF92EF929C
+:10131000FF920F931F93CF93DF9380910001882357
+:10132000E1F080913D018F5F80933D01811115C0F7
+:1013300082E493E00E9455070E94A3088093000175
+:10134000882329F088E293E00E94550706C084E1D3
+:1013500093E00E9455070E942E080EE311E0C0E0C2
+:10136000D0E0BB24B39482E0A82ECC24C394D12C2B
+:1013700025E0E22E23E0F22EC730D10500F5809162
+:101380000001811164C080E40E94F808809300018C
+:10139000811112C082E10E94220980930001811113
+:1013A0000BC0C6010C2E01C0880F0A94EAF7809585
+:1013B0000E942209809300010E941A0948C0CA3085
+:1013C000A1F028F4C83059F0C93061F005C0CC3024
+:1013D00089F070F0CD3089F0209A289810C0219AB9
+:1013E00029980DC0229A2A980AC0239A2B9807C0E0
+:1013F000529A01C0539A5B9802C03E9A469890EA6E
+:101400009A95F1F79FB1799902C082E001C080E01E
+:1014100091709B25982B7C9902C084E001C080E0EC
+:10142000892B7D9902C038E001C030E0832B7E9982
+:1014300002C020E101C020E0822B9FB19095991F4E
+:101440009927991F9295990F907E892B10C08091B2
+:101450000001811174C080E40E94F80880930001AB
+:10146000882309F459C0912C0E941A09892DF8018A
+:101470009081981739F1808380910101882301F1CF
+:101480008091D70180FF04C08AE093E00E94550755
+:101490008091D70180FF0CC0809101011F928F9332
+:1014A000FF92EF920E94EE070F900F900F900F9017
+:1014B0008091D70180FF04C083E093E00E9455072C
+:1014C000A09201010E943D0921960F5F1F4FCE306F
+:1014D000D10509F051CF809101018823B1F08150ED
+:1014E00080930101882339F08FE99FE00197F1F79C
+:1014F00000C000000AC0ACE4B1E0EEE3F1E0CF01CF
+:10150000825F91919D938E13FCCF85E298E0892BA9
+:10151000C1F00E94250815C083E10E942209809332
+:1015200000018111A0CF81E40E94F808809300019E
+:10153000811199CF0E943309982E909495CF80E025
+:1015400096CF81E0DF91CF911F910F91FF90EF90A7
+:10155000DF90CF90BF90AF909F900895E82FF0E07C
+:10156000E45BFE4F80810895CF92DF92EF92FF926D
+:101570000F931F93CF93DF938CEE92E00E94550759
+:101580008CE4E82E81E0F82EC0E0D0E097EEC92E82
+:1015900092E0D92E0EED12E0DF93CF93DF92CF923F
+:1015A0000E94EE0784EE92E00E945507F7018191B8
+:1015B0007F0190E00E9464219F938F931F930F936C
+:1015C0000E94EE078CED92E00E94550721968DB7A0
+:1015D0009EB708960FB6F8949EBF0FBE8DBFCE3053
+:1015E000D105D1F6DF91CF911F910F91FF90EF9030
+:1015F000DF90CF9008958B3B910578F4883A910560
+:1016000040F5853A9105D0F48430910508F0B1C0D9
+:101610008130910509F4ADC06BC0803E910508F49E
+:1016200067C0883E910508F4A4C09C01205F310981
+:101630002031310508F05CC090650895853A910528
+:1016400009F459C0863A910509F058C082E890E43F
+:101650000895883A910509F454C0893A910509F42E
+:1016600053C08A3A910509F452C08B3A910509F4A6
+:1016700051C08C3A910509F450C08D3A910509F496
+:101680004FC0803B910509F44EC08E3A910509F494
+:101690004DC08F3A910509F44CC0813B910509F486
+:1016A0004BC0823B910509F44AC0833B910509F484
+:1016B00049C0843B910509F448C0853B910509F474
+:1016C00047C0863B910509F446C0873B910509F464
+:1016D00045C0883B910509F444C0893B910509F454
+:1016E00043C08A3B910509F442C080E094E4089528
+:1016F00080E090E0089581E890E4089583E890E424
+:10170000089582EE94E4089589EE94E408958AEEB3
+:1017100094E4089585EB94E4089586EB94E40895A9
+:1017200087EB94E408958CEC94E408958DEC94E4B4
+:10173000089583E895E408958AE895E4089582E998
+:1017400095E4089584E995E4089581E296E4089586
+:1017500083E296E4089584E296E4089585E296E4AF
+:10176000089586E296E4089587E296E408958AE271
+:1017700096E40895089596E0799FF001112494E588
+:10178000899FE00DF11D1124E60FF11DEE0FFF1FE3
+:10179000EC51FF4F859194910895880F991FFC019A
+:1017A000E05AF040859194910895880F991FFC01AB
+:1017B000E052FF4F85919491089526E0729FF001C9
+:1017C000112444E5849FE00DF11D1124E60FF11D65
+:1017D000EE0FFF1FEC51FF4F859194919C013A95BC
+:1017E00021154FE1340708F41EC13F512115304146
+:1017F00020F49F700E94D50B08959C013053211551
+:10180000304118F49927906C0895811520E59207CE
+:1018100069F40E94BE1A4FEF84E39CE0415080407F
+:101820009040E1F700C000000C942422813020E5B4
+:10183000920751F48CE593E00E9455078091D701FF
+:1018400081608093D70108959C0130552115304166
+:1018500008F051C0292F33272F703327213031054D
+:10186000D9F4AC014370552702C0220F331F4A95AB
+:10187000E2F73C68AC0164E0440F551F6A95E1F75C
+:1018800044275370242B352B73E0880F991F7A95CA
+:10189000E1F7807699271DC02230310529F4982F71
+:1018A0008827816F906A089523303105A9F4AC012F
+:1018B0004370552721E030E002C0220F331F4A95C4
+:1018C000E2F73C6843E0880F991F4A95E1F7807E74
+:1018D0009770822B932B089524303105E1F4AC01ED
+:1018E0004370552721E030E002C0220F331F4A9594
+:1018F000E2F73A68E7CF9C0130572115304118F4E0
+:101900009F70906208959C0130582115304118F461
+:101910009F70906A0895803E9105E0F4803C9105A7
+:1019200058F58133910509F46FC048F48932910567
+:1019300009F463C08A32910509F46DC072C089331D
+:101940009105E9F082389105D1F08533910509F4CC
+:101950004DC067C0833E910581F138F4803E91050A
+:10196000B9F0823E9105D9F05CC0863E910561F1E7
+:10197000873E9105A1F155C00E94CD0B089520919D
+:10198000EA0120FD02C021FF4CC080EE90E049C07A
+:101990008091EA0180FFF9CF89E390E042C0809115
+:1019A000EA0182FF0EC08091EA0184FF03C080E05B
+:1019B00090E037C083EE90E034C08091EA0182FF6E
+:1019C000F2CF82EE90E02DC08091EA0183FF0BC040
+:1019D0008091EA0184FDEBCF87EE90E022C08091F8
+:1019E000EA0183FFF5CF86EE90E01BC08091EA010B
+:1019F00085FF07C089E290E014C08091EA0185FF6D
+:101A0000F9CF85E390E00DC08091EA0186FF07C021
+:101A10008AE290E006C08091EA0186FFF9CF81E377
+:101A200090E00E94FB0A0895089580916D01089549
+:101A30009FB7F89410925C019FBF9091F001943091
+:101A400009F057C09091E9009F703091EC00232F6E
+:101A5000217030FD20E8922B24E02093E9002091B2
+:101A6000EB0020FF43C02091EE0027FF3FC02091F4
+:101A70005A01222321F02091E80025FF37C010925F
+:101A80005A0126E03091E80035FD15C03091F00193
+:101A9000343061F53091EB0035FD28C0215021F440
+:101AA00081E080935A0122C0EFE9FFE03197F1F71E
+:101AB00000C00000E7CF8093F1008091E80085FD31
+:101AC0000AC08091E80080FFFCCF8091E8008E770B
+:101AD0008093E80006C08FB7F89421E020935C0162
+:101AE0008FBF9F709093E90080E008959F7090935E
+:101AF000E9008FEF0895CF93DF9300D01F92CDB709
+:101B0000DEB79C018091F001843019F593E0998350
+:101B10003B832A839093E9008FEF9091E8008150F6
+:101B200095FD06C095ED9A95F1F700008111F5CF6E
+:101B30008091E80085FF0DC040E050E063E070E078
+:101B4000CE0101960E944B108091E8008E77809321
+:101B5000E8000F900F900F90DF91CF910895CF93F1
+:101B6000DF9300D01F92CDB7DEB72091F001243073
+:101B700021F522E029839B838A8383E08093E90017
+:101B80008FEF9091E800815095FD06C095ED9A95F4
+:101B9000F1F700008111F5CF8091E80085FF0DC0BD
+:101BA00040E050E063E070E0CE0101960E944B10EF
+:101BB0008091E8008E778093E8000F900F900F904F
+:101BC000DF91CF9108952091F0012430F1F422E0CB
+:101BD0002093E9002FEF3091E800215035FD06C039
+:101BE00035ED3A95F1F700002111F5CF2091E8008D
+:101BF00025FF0BC040E050E065E070E00E944B1014
+:101C00008091E8008E778093E8000895CF93DF936A
+:101C10002091F001243009F048C0EC0180910C01C2
+:101C20008823E1F080910D018823C1F085E0809345
+:101C3000E9008FEF9091E800815095FD06C095E195
+:101C40009A95F1F700008111F5CF8091E80085FFAA
+:101C50002CC040E050E060E170E017C081E080936C
+:101C6000E9008FEF9091E800815095FD06C095ED59
+:101C70009A95F1F700008111F5CF8091E80085FF7A
+:101C800014C040E050E068E070E0CE010E944B10CC
+:101C90008091E8008E778093E80080E1FE01ADE559
+:101CA000B1E001900D928A95E1F7DF91CF9108950F
+:101CB00083E993E00E9455078091EF01811109C0EB
+:101CC0000E94E0110E943D128091E20084608093A6
+:101CD000E20008958FE893E00E9455071092EF010B
+:101CE00008958BE893E00C94550787E893E00E94F1
+:101CF00055070C94F42B83E893E00E9455070E944B
+:101D0000BA210E94FA2B0E94E2140C94140D209127
+:101D10005B012F5F822F62E30E94682D992319F0E7
+:101D200020935B01089510925B0180915C018823F0
+:101D300071F18091F001843041F58091E9008F705C
+:101D40002091EC00922F917020FD90E8892B94E077
+:101D50009093E9009091EB0090FF14C09091EE00F9
+:101D600097FF10C09091E80095FF03C01092F1001A
+:101D7000F9CF9091E80090FF05C09091E8009E7720
+:101D80009093E8008F708093E90010925C010895B1
+:101D900042E061EC81E00E945A1142E061EC82E095
+:101DA0000E945A1142E061EC83E00E945A1142E223
+:101DB00061EC84E00E945A1142E161EC85E00C94F0
+:101DC0005A118091F201833009F455C030F481300A
+:101DD00071F0823009F48EC008958A3009F47AC017
+:101DE0008B3009F460C0893009F09CC020C080911C
+:101DF000F101813A09F096C08091E800877F8093D5
+:101E0000E8008091F5019091F601892B21F460E1C1
+:101E10008DE591E003C060E080E090E070E00E941A
+:101E200096108091E8008B778093E8000895809168
+:101E3000F101813209F076C08091F5019091F601AF
+:101E4000009719F0049709F06DC08091E800877F32
+:101E50008093E8008091E80082FD05C08091F00148
+:101E60008111F8CF5FC08091F10080936D01809166
+:101E7000E8008B7753C08091F101813A09F052C09C
+:101E80008091F5019091F601892B09F04BC080916A
+:101E9000E800877F8093E8008091E80080FFFCCF16
+:101EA00080910C0136C08091F1018132D9F5809189
+:101EB000F5019091F601892BA9F58091E800877FC3
+:101EC0008093E8000E948F118091F30180930C01B0
+:101ED0000C94BE1A8091F101813221F58091E800C5
+:101EE000877F8093E8000E948F118091F401809396
+:101EF0006E0108958091F101813AA1F48091E8008A
+:101F0000877F8093E8008091E80080FFFCCF80917C
+:101F10006E018093F1008091E8008E778093E80055
+:101F20000C948F11089584B7877F84BF88E10FB622
+:101F3000F89480936000109260000FBE90E080E8FB
+:101F40000FB6F89480936100909361000FBE0E94D9
+:101F50006F150E94E0110E943D128091E2008460A2
+:101F60008093E20088E19DE00E94F92078940E942D
+:101F7000C2140E94711582E091E00E94DD140E945B
+:101F8000E22B82E793E00E9455078091F0018530B3
+:101F900089F48EE693E00E9455070E947E2180918D
+:101FA000EE01882391F30E94A621882371F30E94F9
+:101FB0003510EBCF0E949F15E8CF292F3327233010
+:101FC0003105C9F064F42130310581F0223031054A
+:101FD00009F043C08DE890E02BEC33E042C02132A1
+:101FE0003105F1F02232310541F137C082E190E054
+:101FF00028E534E036C099278130910541F08230E0
+:10200000910541F0892B49F5E7ECF3E005C0EFEAD3
+:10201000F3E002C0E7E9F3E0849190E09F0121C082
+:102020006530D8F4E62FF0E0EE0FFF1FEB5DFE4FBA
+:102030002081318189E090E014C0653070F470E057
+:10204000FB01EE0FFF1FE55EFE4F20813181FB019A
+:10205000EA5EFE4F808190E004C080E090E020E0E6
+:1020600030E0FA0131832083089580E189BD82E167
+:1020700089BD09B400FEFDCF8091D8008F7D80938B
+:10208000D8008091E00082608093E0008091E000C1
+:1020900081FDFCCF0895CF92DF92EF92FF920F93D4
+:1020A0001F93CF93DF93EC018B016A010E94AE1165
+:1020B000811133C0C114D10439F0F60180819181BE
+:1020C000081B190BC80FD91FE12CF12C01151105A4
+:1020D00019F18091E80085FD16C08091E8008E77A7
+:1020E0008093E800C114D10449F0F6018081918108
+:1020F000E80EF91EF182E08285E00FC00E94AE1169
+:10210000882321F30AC089918093F10001501109BD
+:10211000FFEFEF1AFF0ADACF80E0DF91CF911F9136
+:102120000F91FF90EF90DF90CF9008952091F701ED
+:102130003091F8012617370748F06115710539F419
+:102140002091E8002E772093E80001C0B90140E01B
+:1021500061157105A9F12091F001222309F443C012
+:10216000253009F442C02091E80023FD40C02091B1
+:10217000E80022FD32C02091E80020FFE9CF409125
+:10218000F3002091F20030E0342BFC01CF01611507
+:10219000710559F02830310540F481918093F100A8
+:1021A000615071092F5F3F4FF1CF41E02830310579
+:1021B00009F040E02091E8002E772093E800C8CF96
+:1021C0004111C9CF0AC08091F001882361F08530A8
+:1021D00061F08091E80083FD0AC08091E80082FFF1
+:1021E000F2CF80E0089582E0089583E0089581E0D1
+:1021F00008952091F7013091F8012617370748F02C
+:102200006115710539F42091E8002E772093E800DC
+:1022100001C0B901FC0120E06115710591F18091C7
+:10222000F001882309F440C0853009F43FC0809153
+:10223000E80083FD3DC08091E80082FD2FC08091C1
+:10224000E80080FFE9CF2091F3008091F20090E058
+:10225000922B6115710559F08830910540F4249155
+:102260002093F1003196615071090196F2CF21E07F
+:10227000089709F020E08091E8008E778093E800CD
+:10228000CBCF2111CCCF0AC08091F001882361F01F
+:10229000853061F08091E80083FD0AC08091E800FC
+:1022A00082FFF2CF80E0089582E0089583E00895F0
+:1022B00081E00895982F973058F59093E90098178A
+:1022C00039F07091EC002091ED005091F00003C0C6
+:1022D000242F762F50E021FF19C03091EB003E7F74
+:1022E0003093EB003091ED003D7F3093ED00309165
+:1022F000EB0031603093EB007093EC002093ED0025
+:102300005093F0002091EE0027FF07C09F5FD3CFCE
+:102310008F708093E90081E0089580E008958091B6
+:10232000F10187FF11C08091E80082FD05C0809116
+:10233000F0018111F8CF11C08091E8008B770BC0BC
+:102340008091F001882349F08091E80080FFF8CF68
+:102350008091E8008E778093E80008952091E40052
+:102360003091E50095E64091EC00842F817040FFAC
+:1023700022C08091E80080FD1CC08091F00188237C
+:1023800091F0853091F08091EB0085FD10C0409177
+:10239000E4005091E5004217530729F39A01915048
+:1023A00011F784E0089582E0089583E0089581E0C4
+:1023B000089580E008954091E80042FFDECF08953F
+:1023C0000E944E120E945612E0EEF0E08081816081
+:1023D0008083E8EDF0E080818F77808319BCA7EDE2
+:1023E000B0E08C918E7F8C9380818F7E8083109261
+:1023F000EF0108950F931F93CF93DF930E944E1226
+:102400000E945612C8EDD0E088818F77888388813A
+:102410008068888388818F7D888319BC1092F00141
+:102420001092EC011092EE011092ED0100EE10E01E
+:10243000F80180818B7F808388818160888342E07E
+:1024400060E080E00E945A11E1EEF0E080818E7F32
+:102450008083E2EEF0E0808181608083808188600B
+:102460008083F80180818E7F80838881806188836A
+:10247000DF91CF911F910F910895E8EDF0E08081F9
+:102480008F7E8083E7EDF0E080818160808384E04F
+:1024900082BF81E08093EF010C94FA11E8EDF0E047
+:1024A00080818E7F80831092E20008951092DA007E
+:1024B0001092E10008951F920F920FB60F9211240F
+:1024C0002F933F934F935F936F937F938F939F933C
+:1024D000AF93BF93EF93FF938091E10082FF0BC016
+:1024E0008091E20082FF07C08091E1008B7F8093A2
+:1024F000E1000E94870E8091DA0080FF1FC080916A
+:10250000D80080FF1BC08091DA008E7F8093DA00B4
+:102510008091D90080FF0DC080E189BD82E189BD35
+:1025200009B400FEFDCF81E08093F0010E94580EB7
+:1025300005C019BC1092F0010E946A0E8091E10062
+:1025400080FF19C08091E20080FF15C08091E200F9
+:102550008E7F8093E2008091E20080618093E200B0
+:102560008091D80080628093D80019BC85E0809368
+:10257000F0010E94750E8091E10084FF30C08091CF
+:10258000E20084FF2CC080E189BD82E189BD09B4ED
+:1025900000FEFDCF8091D8008F7D8093D800809180
+:1025A000E1008F7E8093E1008091E2008F7E809336
+:1025B000E2008091E20081608093E2008091EC0172
+:1025C000882311F084E007C08091E30087FD02C0FA
+:1025D00081E001C083E08093F0010E947B0E809136
+:1025E000E10083FF29C08091E20083FF25C0809134
+:1025F000E100877F8093E10082E08093F0011092F8
+:10260000EC018091E1008E7F8093E1008091E200F7
+:102610008E7F8093E2008091E20080618093E200EF
+:1026200042E060E080E00E945A118091F0008860F2
+:102630008093F0000E94710EFF91EF91BF91AF91D6
+:102640009F918F917F916F915F914F913F912F91CA
+:102650000F900FBE0F901F9018951F920F920FB6FC
+:102660000F9211242F933F934F935F936F937F9318
+:102670008F939F93AF93BF93CF93DF93EF93FF938A
+:10268000C091E900CF708091EC00D82FD17080FD0F
+:10269000D0E81092E9008091F000877F8093F000ED
+:1026A00078940E9471131092E9008091F000886084
+:1026B0008093F000CD2BCF70C093E900FF91EF9194
+:1026C000DF91CF91BF91AF919F918F917F916F914A
+:1026D0005F914F913F912F910F900FBE0F901F90E0
+:1026E00018951F93CF93DF93CDB7DEB7AA970FB698
+:1026F000F894DEBF0FBECDBFE1EFF1E088E08E0FB2
+:102700009091F10091938E13FBCF0E94E10E809186
+:10271000E80083FF1FC18091F1019091F201492FE0
+:1027200050E04A30510508F015C1FA01EA5AFF4F4E
+:102730000C94882D803881F0823809F00BC180918B
+:10274000F5018F708093E9008091EB0085FB88276D
+:1027500080F91092E90006C08091ED019091EE01A0
+:10276000911182609091E800977F9093E8008093A8
+:10277000F1001092F100C8C0282F2D7F09F0EAC0A7
+:10278000882319F0823061F0E5C08091F301813037
+:1027900009F0E0C0933009F080E08093EE012BC097
+:1027A0008091F301811127C08091F5018F7009F4A8
+:1027B000D1C08093E9002091EB0020FF1CC0933032
+:1027C00021F48091EB00806214C09091EB00906145
+:1027D0009093EB0021E030E0A90102C0440F551FA7
+:1027E0008A95E2F74093EA001092EA008091EB00AC
+:1027F00088608093EB001092E9008091E800877F69
+:1028000086C08111A7C01091F3011F778091E3006A
+:102810008078812B8093E3008091E800877F80930C
+:10282000E8000E948F118091E80080FFFCCF80912A
+:10283000E30080688093E300111102C082E001C0D0
+:1028400083E08093F00186C08058823008F082C017
+:102850008091F3019091F4018C3D53E0950779F557
+:1028600083E08A838AE289834FB7F894DE01139666
+:1028700020E03EE051E2E32FF0E050935700E49176
+:1028800020FF03C0E295EF703F5FEF708E2F90E066
+:10289000EA3010F0C79601C0C0968D939D932F5FCC
+:1028A000243149F74FBF8091E800877F8093E8008B
+:1028B0006AE270E0CE0101960E94961014C0AE014B
+:1028C0004F5F5F4F6091F5010E94DD0FBC01892BC6
+:1028D00009F440C09091E800977F9093E8008981C7
+:1028E0009A810E94F9108091E8008B778093E8002C
+:1028F00031C0803879F58091E800877F8093E800C7
+:102900008091EC018093F1008091E8008E778093B4
+:10291000E8000E948F111EC081111CC09091F3012C
+:102920009230C0F48091E800877F8093E800909314
+:10293000EC010E948F118091EC01811106C0809101
+:10294000E30087FD02C081E001C084E08093F001D4
+:102950000E94C80E8091E80083FF0AC08091E800C1
+:10296000877F8093E8008091EB0080628093EB008A
+:10297000AA960FB6F894DEBF0FBECDBFDF91CF9100
+:102980001F910895CF938091F0018823A1F0C09109
+:10299000E900CF709091EC00892F817090FD80E864
+:1029A000C82B1092E9008091E80083FD0E9471130A
+:1029B000CF70C093E900CF910895909374018093F4
+:1029C00073010895E0917301F0917401309721F043
+:1029D0000190F081E02D099480E00895EF92FF923C
+:1029E0000F931F93CF93DF93E0917301F0917401E4
+:1029F0003097B1F18C010280F381E02D099580912F
+:102A0000D70182FF2DC080FF04C08DE895E00E94B1
+:102A10005507E80110E187E8E82E85E0F82E80915F
+:102A2000D70180FF0BC088811F928F93FF92EF9296
+:102A30000E94EE070F900F900F900F90115021966B
+:102A40001111EDCF8091D70180FF0AC085E895E094
+:102A5000DF91CF911F910F91FF90EF900C9455074C
+:102A6000DF91CF911F910F91FF90EF900895E0912A
+:102A70007301F0917401309721F00480F581E02D0D
+:102A80000994089520917101309172018217930782
+:102A900071F09093720180937101E0917301F09154
+:102AA0007401309721F00680F781E02D0994089594
+:102AB00020916F01309170018217930771F090930C
+:102AC000700180936F01E0917301F0917401309770
+:102AD00021F00084F185E02D0994089508950C9467
+:102AE0006E150E94C0210E9465090C948622CF9326
+:102AF000C82F8091D70182FF1EC080FF04C086EAE4
+:102B000095E00E9455078091D70180FF0CC01F926D
+:102B1000CF9381EA95E09F938F930E94EE070F90E9
+:102B20000F900F900F908091D70180FF04C08FE924
+:102B300095E00E9455078C2FCF910C94140DCF92E5
+:102B4000DF92EF92FF920F931F93CF93DF93CDB756
+:102B5000DEB72B970FB6F894DEBF0FBECDBF0E9435
+:102B6000820986E7C82E81E0D82E00E010E0E02E32
+:102B7000802F0E94AE0AF60141916F01F42EF826D3
+:102B8000B1F40F5F1F4F0E30110589F78FEF898366
+:102B90008A831B820E94C9218160782F9D838C8348
+:102BA00049815A816B818D810E94421640C090916B
+:102BB000D70191FF04C08B870E94B40A8B8520E067
+:102BC00030E04F2D50E0922FBA01022E02C07595D1
+:102BD00067950A94E2F760FF24C02E83EF8221E01C
+:102BE00030E0690102C0CC0CDD1C9A95E2F790E060
+:102BF0008C219D21892B09F420E028870E94C9217E
+:102C00008160782F9A8789874E815F8168858A8560
+:102C10000E944216F801EA58FE4F8081C826C08201
+:102C200006C02F5F3F4F2630310569F6AACF0E94BC
+:102C3000F725109175010E94E2141817A1F00E9467
+:102C4000E214809375012B960FB6F894DEBF0FBE89
+:102C5000CDBFDF91CF911F910F91FF90EF90DF904B
+:102C6000CF900C9477152B960FB6F894DEBF0FBE5D
+:102C7000CDBFDF91CF911F910F91FF90EF90DF902B
+:102C8000CF900895CF93DF93CDB7DEB72B970FB6D4
+:102C9000F894DEBF0FBECDBF4F83588769877A8710
+:102CA0008B87DE01119686E0FD0111928A95E9F786
+:102CB00085E0FE01379601900D928A95E1F74981F2
+:102CC0005A816B817C818D819E810E94581D2B963B
+:102CD0000FB6F894DEBF0FBECDBFDF91CF91089540
+:102CE000CF93882309F4C2C0C82F823859F40E94B8
+:102CF000E21481FDBBC089E30E94F41F0E94D3202F
+:102D000089E30CC0833879F40E94E21480FDAEC0E0
+:102D100083E50E94F41F0E94D32083E50E94472090
+:102D2000CF910C94D320843859F40E94E21482FD90
+:102D30009DC087E40E94F41F0E94D32087E4EECF59
+:102D40008CEF8C0F813A48F48C2F0E948A2A8111D3
+:102D50008DC08C2F0E94F41FE3CF80E28C0F88304F
+:102D600048F4C77081E001C0880FCA95EAF70E9455
+:102D70009C20D6CF8BE58C0F833078F4C53A29F0B0
+:102D8000C63A31F083E890E005C081E890E002C0E7
+:102D900082E890E0CF910C94421588E58C0F833146
+:102DA00008F064C0C83A39F1C93A41F1CA3A49F168
+:102DB000CB3A51F1CC3A59F1CD3A61F1C03B69F1CE
+:102DC000CE3A71F1CF3A79F1C13B81F1C23B89F141
+:102DD000C33B91F1C43B99F1C53BA1F1C63BA9F1BD
+:102DE000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11D
+:102DF00080E090E038C082EE90E035C089EE90E04F
+:102E000032C08AEE90E02FC085EB90E02CC086EBBC
+:102E100090E029C087EB90E026C08CEC90E023C0C6
+:102E20008DEC90E020C083E891E01DC08AE891E03D
+:102E30001AC082E991E017C084E991E014C081E2F0
+:102E400092E011C083E292E00EC084E292E00BC0F7
+:102E500085E292E008C086E292E005C087E292E057
+:102E600002C08AE292E0CF910C945815CF91089558
+:102E7000882309F44BC0823859F40E94E21481FF80
+:102E800045C089E30E94F41F0E94D32089E30CC04F
+:102E9000833871F40E94E21480FF38C083E50E94F9
+:102EA000F41F0E94D32083E50E9447200C94D32076
+:102EB000843859F40E94E21482FF28C087E40E94FB
+:102EC000F41F0E94D32087E4EFCF9CEF980F913A34
+:102ED00058F390E2980F983050F4877091E001C059
+:102EE000990F8A95EAF7892F0E94A220DFCF9BE5F0
+:102EF000980F933020F480E090E00C944215885AAB
+:102F0000833120F480E090E00C94581508958823D4
+:102F100021F00E949C200C94D3200895882321F056
+:102F20000E94A2200C94D3200895BF92CF92DF92EA
+:102F3000EF92FF920F931F93CF93DF9300D000D0B7
+:102F400000D0CDB7DEB725E0FC01DE01119601907F
+:102F50000D922A95E1F7FC014081318102812581A2
+:102F600022952F7063817481672B09F4E5C23F3F7E
+:102F700019F44F3F09F4E0C27C0149833A83898107
+:102F80009A812E830E94B31F182FB92E0E94B21F60
+:102F90000E94791EEB2DE295EF70F0E0E05AFF4FB2
+:102FA0002E810C94882D8B2D807F9B2D9F70F92E68
+:102FB000882319F0F29480EFF822002349F0FF20D3
+:102FC00009F467C28F2D0E94AC200E94D32061C2F9
+:102FD000812F0E943817FF2009F4AEC28F2D0E9466
+:102FE000B22026960FB6F894DEBF0FBECDBFDF919C
+:102FF000CF911F910F91FF90EF90DF90CF90BF90F6
+:103000000C94D3203B2D307F8B2D8F70303211F0FC
+:103010008295807F112319F0113021F12CC00023FB
+:10302000B9F0222309F4A0C1213009F09DC12696F0
+:103030000FB6F894DEBF0FBECDBFDF91CF911F91C9
+:103040000F91FF90EF90DF90CF90BF900C94BC2039
+:10305000222319F0213009F46FC28E830E94BF2011
+:103060008E8196C1002321F0223008F065C27CC118
+:10307000211162C28DC1002321F0222309F474C101
+:1030800008C2222309F484C119C22B2D2695269546
+:10309000237030E02115310521F021303105D1F0C8
+:1030A0004BC2002321F0812F9B2D937002C080E042
+:1030B00090E026960FB6F894DEBF0FBECDBFDF912D
+:1030C000CF911F910F91FF90EF90DF90CF90BF9025
+:1030D0000C944215002321F0812F9B2D937002C088
+:1030E00080E090E026960FB6F894DEBF0FBECDBF0D
+:1030F000DF91CF911F910F91FF90EF90DF90CF90D4
+:10310000BF900C945815812F002319F00E947D2444
+:1031100002C00E94E52426960FB6F894DEBF0FBECB
+:10312000CDBFDF91CF911F910F91FF90EF90DF9076
+:10313000CF90BF900C946A258B2D837009F07BC0D3
+:103140000111FAC1812F829586958770880F880FAB
+:10315000912F9F70C92ED12CE12CF12C082E04C088
+:10316000CC0CDD1CEE1CFF1C0A94D2F714FF12C01D
+:103170004FE050E060E070E004C0440F551F661F50
+:10318000771F8A95D2F7CB01BA016095709580952B
+:10319000909503C060E070E0CB012B2D269526951D
+:1031A0002370422F50E042305105D9F04330510591
+:1031B00069F16C297D298E299F294130510551F1F2
+:1031C00026960FB6F894DEBF0FBECDBFDF91CF912C
+:1031D0001F910F91FF90EF90DF90CF90BF900C94D4
+:1031E000A01E6C297D298E299F2926960FB6F8945A
+:1031F000DEBF0FBECDBFDF91CF911F910F91FF902A
+:10320000EF90DF90CF90BF900C94BC1E0E94A01E48
+:10321000C701B60126960FB6F894DEBF0FBECDBF2C
+:10322000DF91CF911F910F91FF90EF90DF90CF90A2
+:10323000BF900C94841E002319F08B2D817001C067
+:103240008695882309F478C1812F829586958770A9
+:10325000880F880F912F9F70C92ED12CE12CF12C53
+:10326000082E04C0CC0CDD1CEE1CFF1C0A94D2F707
+:1032700014FF12C04FE050E060E070E004C0440F63
+:10328000551F661F771F8A95D2F7CB01BA0160954B
+:1032900070958095909503C060E070E0CB012B2D78
+:1032A000269526952370422F50E042305105D9F0E3
+:1032B0004330510569F16C297D298E299F294130C0
+:1032C000510551F126960FB6F894DEBF0FBECDBF63
+:1032D000DF91CF911F910F91FF90EF90DF90CF90F2
+:1032E000BF900C947A1F6C297D298E299F292696E0
+:1032F0000FB6F894DEBF0FBECDBFDF91CF911F9107
+:103300000F91FF90EF90DF90CF90BF900C94961F9D
+:103310000E947A1FC701B60126960FB6F894DEBF49
+:103320000FBECDBFDF91CF911F910F91FF90EF9016
+:10333000DF90CF90BF900C945E1F103FD1F118F436
+:10334000103E50F4A1C0123F09F463C008F44CC011
+:10335000133F09F473C098C01F708B2D8F71002329
+:10336000A1F00E94F71E812F26960FB6F894DEBFBB
+:103370000FBECDBFDF91CF911F910F91FF90EF90C6
+:10338000DF90CF90BF900C9487170E94181F812F59
+:1033900026960FB6F894DEBF0FBECDBFDF91CF915A
+:1033A0001F910F91FF90EF90DF90CF90BF900C9402
+:1033B0008E170023A9F02111BFC08B2D8F71269687
+:1033C0000FB6F894DEBF0FBECDBFDF91CF911F9136
+:1033D0000F91FF90EF90DF90CF90BF900C943D1F26
+:1033E000223008F0A9C0E9CF0023A9F08B2D8F71FE
+:1033F00026960FB6F894DEBF0FBECDBFDF91CF91FA
+:103400001F910F91FF90EF90DF90CF90BF900C94A1
+:10341000F71E002359F38B2D8F7126960FB6F89463
+:10342000DEBF0FBECDBFDF91CF911F910F91FF90F7
+:10343000EF90DF90CF90BF900C94181F002399F06D
+:103440008B2D8F7126960FB6F894DEBF0FBECDBFC1
+:10345000DF91CF911F910F91FF90EF90DF90CF9070
+:10346000BF900C94E21E26960FB6F894DEBF0FBEF6
+:10347000CDBFDF91CF911F910F91FF90EF90DF9023
+:10348000CF90BF900C94D81E0023A9F0222309F4FA
+:10349000ADCF812F26960FB6F894DEBF0FBECDBFFD
+:1034A000DF91CF911F910F91FF90EF90DF90CF9020
+:1034B000BF900C947016222309F4ADCF812F26966D
+:1034C0000FB6F894DEBF0FBECDBFDF91CF911F9135
+:1034D0000F91FF90EF90DF90CF90BF900C94381732
+:1034E0004B2D4F70612FC7010E94F70726960FB62C
+:1034F000F894DEBF0FBECDBFDF91CF911F910F912A
+:10350000FF90EF90DF90CF90BF900C94FC1D4B2D5F
+:103510004F70612FC70126960FB6F894DEBF0FBE1D
+:10352000CDBFDF91CF911F910F91FF90EF90DF9072
+:10353000CF90BF900C94BA0B26960FB6F894DEBFCE
+:103540000FBECDBFDF91CF911F910F91FF90EF90F4
+:10355000DF90CF90BF9008950E94B9200E948E20E6
+:103560000E94D3200E949D260E946A2580E090E060
+:103570000E94421580E090E00C9458150E94A9200A
+:103580000C94AC1A0E94B31F292F22952F7030E0A3
+:103590002C3031054CF42A3031056CF422503109BD
+:1035A0002230310588F407C02C30310549F02F3026
+:1035B000310531F009C0803E48F0803F29F406C053
+:1035C00093FB882780F9089580E0089581E00895AD
+:1035D000CF93DF9300D000D01F92CDB7DEB70F900E
+:1035E0000F900F900F900F90DF91CF910895CF9390
+:1035F000DF9300D000D000D0CDB7DEB726960FB64F
+:10360000F894DEBF0FBECDBFDF91CF9108951F9319
+:10361000CF93DF93C091840116E080918501C81794
+:1036200099F0D0E01C9FF0011D9FF00D1124EA5786
+:10363000FE4F4081518162817381848195810E9416
+:10364000F71A2196C770E9CFDF91CF911F910895A6
+:103650004091B6015091B7016091B8017091B901E4
+:103660008091BA019091BB010C94F71A8091BB0133
+:1036700082958F7009F054C08091B801882309F4B5
+:103680004FC080918401A09185016091B601709135
+:10369000B7014091B9015091BA01B6E08A1709F417
+:1036A0003FC090E041155105C1F17F3F11F46F3FDC
+:1036B000A1F1B89FF001B99FF00D1124EA57FE4F18
+:1036C000218172132AC02081621327C02281211117
+:1036D00024C0238134812417350710F42150310987
+:1036E000241B350B283C3105C0F42091BB012F7001
+:1036F00020612093BB0126E0289FF001299FF00D57
+:103700001124E557FE4F80818F708061808386EBA6
+:1037100091E00E9495170C94071B01968770BECF0D
+:103720000895CF92DF92EF92FF920F931F93CF9362
+:10373000DF93CDB7DEB762970FB6F894DEBF0FBE4A
+:10374000CDBF8C0185E0F801DE011D9601900D9240
+:103750008A95E1F7D8014C9111965C9111971296D8
+:103760006C9112971396CD90DC9014973091B6011E
+:103770007091B7018091B9019091BA01009709F455
+:103780006BC17F3F19F43F3F09F466C1E090B80177
+:10379000EE2009F4C0C02091BB01C816D90628F05C
+:1037A000F601E81BF90BCF0104C0809590958C0DB4
+:1037B0009D1DFF24F394883C910578F0F12C207F27
+:1037C00009F0C6C07C2DD98AC88A89890E94E81A66
+:1037D00086EB91E00E949517B1C0822F807F09F09F
+:1037E00046C0751314C0341312C0611110C02F707D
+:1037F00020612093BB010E94281B86EB91E00E9470
+:1038000095178091BB01D80115968C932EC0CD28B9
+:1038100019F15F3F11F44F3FF9F0F62E61111CC012
+:10382000809184012091850136E0821709F45AC005
+:1038300090E0389FF001399FF00D1124EA57FE4FB8
+:103840007181571306C07081471303C072817111D3
+:1038500003C001968770E9CFF62E662309F418C1DC
+:103860008091BB0181608093BB01F12C11C1751364
+:1038700008C0341306C0611104C08091BB01D80197
+:10388000C3C04D875E878D859E856A8B0E94C21A54
+:103890006A898823E1F16623D1F12091BB01822F4F
+:1038A00082958F7090E0029774F08091B6019091AC
+:1038B000B70198878F831986DB86CA862C87CE014D
+:1038C00007960E94951786E0F801A6EBB1E00190FB
+:1038D0000D928A95E1F70E94361B0E94281BFF2457
+:1038E000F394D6C04D875E878D859E850E94B31F59
+:1038F000292F22952F7030E0223031050CF0BCC00A
+:103900009F7009F0B6C0805E883008F4C1C0C8015D
+:103910000E949517E4CFC816D90608F453C0F601E3
+:10392000E81BF90BCF01883C910508F450C0F12C3D
+:103930007C2DD98AC88A89890E94E81AE6EBF1E0D1
+:1039400086E0DF011D928A95E9F70E94281BA0C03E
+:10395000751314C0341312C0611110C08091BB01E3
+:10396000F8018583C8010E94951786E0E6EBF1E037
+:10397000DF011D928A95E9F7FE2C8AC04D875E878C
+:103980008D859E856A8B0E94C21A6A89882309F4F4
+:10399000BECF662309F4BBCF2091BB01822F829555
+:1039A0008F7090E002970CF48ECF8091B6019091C9
+:1039B000B7019A8389831B82DD82CC822E83CE015C
+:1039C00001967FCF809590958C0D9D1DACCFF62EE6
+:1039D000662309F49CCF75132EC034132CC020919C
+:1039E000BB0120FD1FC0822F82958F70D9F0D801B6
+:1039F00015962C9315978F3049F08F5F982F9295DD
+:103A0000907F822F8F70892B15968C93C8010E940E
+:103A1000951786E0F801A6EBB1E001900D928A952A
+:103A2000E1F793CF86E0F801A6EBB1E001900D92AB
+:103A30008A95E1F72DC04D875E878D859E850E9412
+:103A4000C21A811140CF8091BB0181608093BB017C
+:103A5000C8010E9495171CC0662309F458CF4D87F2
+:103A60005E878D859E850E94C21A882309F44FCFF8
+:103A70002ACF811148CF0CC0243031050CF047CF3C
+:103A80009F7009F440CFF8019581907F09F03BCFFA
+:103A90008F2D62960FB6F894DEBF0FBECDBFDF91BB
+:103AA000CF911F910F91FF90EF90DF90CF900895ED
+:103AB0001F93CF93DF93CDB7DEB72C970FB6F89453
+:103AC000DEBF0FBECDBF4F83588769877A878B874C
+:103AD0009C87CE0107960E94911B882369F08F81F5
+:103AE00098852A853B85232BF1F19F3F09F063C020
+:103AF0008F3F09F060C037C086E0FE013796DE01D7
+:103B0000119601900D928A95E1F76F817885EA858B
+:103B1000FB85309741F17F3F11F46F3F21F12091F8
+:103B2000850130E0C9010196877099274091840191
+:103B300050E08417950709F447C069837A83FD83B1
+:103B4000EC8396E0929FD001939FB00D1124AA5769
+:103B5000BE4FFE01319601900D929A95E1F7809348
+:103B600085010E94071B16E08091840190918501D8
+:103B70008917C1F1189FC00111248A579E4F0E94D6
+:103B8000911B882379F1E09184011E9FF00111249B
+:103B9000EA57FE4F40815181628173818481958112
+:103BA0000E94F71A8091840190E00196877099270E
+:103BB00080938401D9CF4F81588569857A858B851B
+:103BC0009C850E94F71ACFCF0E94BE1A10928501E1
+:103BD00010928401E6EBF1E086E0DF011D928A9508
+:103BE000E9F7C1CF2C960FB6F894DEBF0FBECDBF5C
+:103BF000DF91CF911F910895EF92FF920F931F9342
+:103C0000CF93DF938C01892B09F46CC0F12CEE2447
+:103C1000E394E8012196F8018491843740F48430DC
+:103C200008F051C0813081F0823019F15BC08537D6
+:103C300009F444C0A8F19CE7980F903708F052C0EF
+:103C40008F770E94381741C00E5F1F4FFE01C4914D
+:103C500080E28C0F883048F4C7708E2D01C0880F29
+:103C6000CA95EAF70E94AC2014C08C2F0E947016EF
+:103C70002DC00E5F1F4FFE01C49180E28C0F883073
+:103C800058F4C7708E2D01C0880FCA95EAF70E94BC
+:103C9000B2200E94D3201AC08C2F0E94381716C061
+:103CA0000E5F1F4FFE01C491CC2381F08FE99FE08E
+:103CB0000197F1F700C00000C150F6CF0E5F1F4F13
+:103CC000FE01F49003C00E9470168E018F2D882390
+:103CD00009F49FCFEFE9FFE03197F1F700C0000052
+:103CE0008150F5CFDF91CF911F910F91FF90EF9011
+:103CF000089508956093C0017093C1018093C2013B
+:103D00009093C3010C94AC1A0F931F930091C001C0
+:103D10001091C1012091C2013091C301DC01CB019E
+:103D2000802B912BA22BB32B8093C0019093C101C8
+:103D3000A093C201B093C3011F910F910C94AC1AD0
+:103D40000F931F930091C0011091C1012091C201F6
+:103D50003091C301DC01CB0180239123A223B32343
+:103D60008093C0019093C101A093C201B093C3019D
+:103D70001F910F910C94AC1A0F931F930091C001E7
+:103D80001091C1012091C2013091C301DC01CB012E
+:103D900080279127A227B3278093C0019093C10168
+:103DA000A093C201B093C3011F910F910C94AC1A60
+:103DB0001092BC011092BD011092BE011092BF0181
+:103DC0000C94AC1A41E050E060E070E004C0440F95
+:103DD000551F661F771F8A95D2F74093BC015093F9
+:103DE000BD016093BE017093BF010C94AC1A41E019
+:103DF00050E060E070E004C0440F551F661F771F5D
+:103E00008A95D2F78091BC019091BD01A091BE012D
+:103E1000B091BF01482B592B6A2B7B2B4093BC01DF
+:103E20005093BD016093BE017093BF010C94AC1A16
+:103E300041E050E060E070E004C0440F551F661F91
+:103E4000771F8A95D2F7409550956095709580912F
+:103E5000BC019091BD01A091BE01B091BF0148236A
+:103E600059236A237B234093BC015093BD01609387
+:103E7000BE017093BF010C94AC1A41E050E060E0C9
+:103E800070E004C0440F551F661F771F8A95D2F754
+:103E90008091BC019091BD01A091BE01B091BF0184
+:103EA000482759276A277B274093BC015093BD01BF
+:103EB0006093BE017093BF010C94AC1A0F931F93D3
+:103EC0000091BC011091BD012091BE013091BF0154
+:103ED000DC01CB01802B912BA22BB32B8093BC0157
+:103EE0009093BD01A093BE01B093BF011F910F91AC
+:103EF0000C94AC1A0F931F930091BC011091BD015B
+:103F00002091BE013091BF01DC01CB0180239123C0
+:103F1000A223B3238093BC019093BD01A093BE0163
+:103F2000B093BF011F910F910C94AC1A0F931F9384
+:103F30000091BC011091BD012091BE013091BF01E3
+:103F4000DC01CB0180279127A227B3278093BC01F6
+:103F50009093BD01A093BE01B093BF011F910F913B
+:103F60000C94AC1A0895CF92DF92EF92FF920F93C8
+:103F70001F93CF93DF938C01C090C001D090C101FB
+:103F8000E090C201F090C3014091BC015091BD018D
+:103F90006091BE017091BF01C42AD52AE62AF72A92
+:103FA000CFE1D0E0D701C6010C2E04C0B695A7958D
+:103FB000979587950A94D2F780FF07C0B8018C2F98
+:103FC0000E94DD0B8130910531F4219758F7B8013B
+:103FD00080E00E94DD0BDF91CF911F910F91FF9048
+:103FE000EF90DF90CF90089590910C01992321F0EC
+:103FF00090910D01911109C020910E0130910F0196
+:10400000F90132969FEF40E030C0982F9695969533
+:1040100096959F30A0F4E0910E01F0910F01E90F09
+:10402000F11D877021E030E0A90102C0440F551F47
+:104030008A95E2F7CA019181892B81830895909135
+:10404000D70190FF23C01F928F9387ED95E09F9338
+:104050008F930E94EE070F900F900F900F9008958E
+:104060009F3F39F04F5F4E3041F051915813F8CFD8
+:104070000DC05111F7CF942FF5CF9F3F39F0F901C3
+:10408000E90FF11D97FDFA958283089508959091A7
+:104090000C01992321F090910D01911109C02091FB
+:1040A0000E0130910F01F9013296205F3F4F30C071
+:1040B000982F9695969596959F30A8F4E0910E01CD
+:1040C000F0910F01E90FF11D877021E030E0A901A7
+:1040D00002C0440F551F8A95E2F7CA01809591816D
+:1040E0008923818308959091D70190FF16C01F9274
+:1040F0008F9389EB95E09F938F930E94EE070F902B
+:104100000F900F900F9008953196E217F30729F062
+:1041100090819813F9CF1082F7CF089581E090E055
+:10412000E0910E01F0910F01E80FF91F1082019646
+:1041300080319105A9F708959091D601892B80933C
+:10414000D601089580959091D60189238093D60158
+:1041500008951092D60108959091D501892B8093EE
+:10416000D501089580959091D50189238093D5013B
+:1041700008951092D50108958093C4010895109276
+:10418000C401089580910E0190910F01FC013196B8
+:104190009C01205F3F4F80E0919191118F5FE2176A
+:1041A000F307D1F70895E0910E01F0910F0180918E
+:1041B000D6018083E0910E01F0910F0190818091F2
+:1041C000D501892B80838091C401882361F0E0911F
+:1041D0000E01F0910F019081892B80830E94C220F3
+:1041E00081111092C40180910E0190910F010C94E5
+:1041F000EE1490933B0180933A010895CF92DF92A1
+:10420000EF92FF926C01EE24FF24C114D104E1046B
+:10421000F10421F0C701B60120E101C020E0C72E62
+:10422000D82EE92EFF24C114D104E104F10419F0C1
+:10423000285FC701B6016B017C0154E0F694E79456
+:10424000D794C7945A95D1F7C114D104E104F1046D
+:1042500019F02C5FC701B6016B017C0142E0F694B6
+:10426000E794D794C7944A95D1F7C114D104E104D7
+:10427000F10419F02E5FC701B601DC01CB01B69540
+:10428000A79597958795892B8A2B8B2B09F02F5F04
+:10429000822FFF90EF90DF90CF9008958295982F16
+:1042A0009C7C392F36953695282F237344E0249F24
+:1042B000C0011124932F982B292F2A7A2695892F14
+:1042C0008575880F822B08951F93CF93DF931F92DC
+:1042D000CDB7DEB799830E944E21182F9981892F7F
+:1042E0000E944E21212F30E0322F2227A901482B96
+:1042F000CA010F90DF91CF911F9108958091F00135
+:10430000843009F11092D80120E488E190E00FB6E2
+:10431000F894A895809360000FBE2093600083B747
+:10432000817F846083BF83B7816083BF78948895E1
+:1043300083B78E7F83BF88E10FB6F89480936000C7
+:10434000109260000FBE089508950895CF930E94C3
+:10435000A4210E9482090E94A521C0E08C2F0E9406
+:10436000AE0A811104C0CF5FCE30C1F701C081E039
+:10437000CF9108950E94BE1A0E94E2140C94140D6D
+:1043800082E084BD93E095BD9AEF97BD80936E0067
+:1043900008952FB7F8948091D9019091DA01A091F6
+:1043A000DB01B091DC012FBF0895CF92DF92EF9235
+:1043B000FF920F931F932FB7F8944091D90150911A
+:1043C000DA016091DB017091DC012FBF6A017B0192
+:1043D000EE24FF248C0120E030E0C016D106E20676
+:1043E000F30610F4415051099A01281B390BC901F9
+:1043F0001F910F91FF90EF90DF90CF9008951F9243
+:104400000F920FB60F9211248F939F93AF93BF9388
+:104410008091D9019091DA01A091DB01B091DC018A
+:104420000196A11DB11D8093D9019093DA01A0934B
+:10443000DB01B093DC01BF91AF919F918F910F9001
+:104440000FBE0F901F9018950E94E011F8942FEF67
+:1044500087EA91E6215080409040E1F700C00000DB
+:1044600087E090EBDC018093F9019093FA01A0932F
+:10447000FB01B093FC019CE088E10FB6F894A8958D
+:10448000809360000FBE90936000FFCFEF92FF9289
+:104490000F931F93CF93DF93D82FC0E08C2F0E94F0
+:1044A000AE0A00E010E0E82EF12CC701002E02C099
+:1044B000959587950A94E2F780FD06C00F5F1F4F20
+:1044C0000630110591F709C0602F7C2F80E00E9413
+:1044D000BB0BD813F3CF81E004C0CF5FCE30F1F631
+:1044E00080E0DF91CF911F910F91FF90EF900895A1
+:1044F000CF93C82F8CE20E944622882321F08C2F74
+:10450000CF910C94462280E0CF910895CF930E94E2
+:10451000D523811102C00E94BB238CEF95E00E943D
+:104520005507C5E6C15049F00E9482098FE39CE916
+:104530000197F1F700C00000F5CF85EF95E00E94EC
+:10454000550789E20E947822811113C18AE20E94F4
+:10455000782281110E94BB2385E00E94782281117C
+:104560000E9424220E94E0238093D70187E00E94CA
+:1045700078228823A9F18BE10E947822882351F0C8
+:104580008091D70181FB222720F991E0922790FBAF
+:1045900081F90EC08EE00E947822882361F080911C
+:1045A000D70182FB222720F991E0922790FB82F924
+:1045B0008093D70115C080E10E9478229091D701A5
+:1045C000882341F093FB222720F981E0822780FB9A
+:1045D00093F904C0892F809580FB90F99093D701BF
+:1045E0008091D7010E94E4230E94F2238093EA0184
+:1045F00080EE0E947822882341F08091EA01982F72
+:10460000909590FB80F98093EA0189E30E947822DB
+:10461000882359F08091EA0181FB222720F991E05B
+:10462000922790FB81F98093EA0182EE0E94782222
+:10463000882359F08091EA0182FB222720F991E03A
+:10464000922790FB82F98093EA0186EE0E947822FD
+:10465000882359F08091EA0183FB222720F991E019
+:10466000922790FB83F98093EA0183EE0E947822DF
+:10467000882359F08091EA0184FB222720F991E0F8
+:10468000922790FB84F98093EA0185E30E947822C7
+:10469000882359F08091EA0185FB222720F991E0D7
+:1046A000922790FB85F98093EA0181E30E947822AA
+:1046B000882359F08091EA0186FB222720F991E0B6
+:1046C000922790FB86F98093EA0181E10E9478228B
+:1046D000882359F08091EA0187FB222720F991E095
+:1046E000922790FB87F98093EA018091EA010E946A
+:1046F000F6238091EA0187FB882780F980930D01DA
+:1047000087E20E947822C82F8EE10E9478228111D0
+:10471000C2608FE10E9478228111C46080E20E9411
+:1047200078228111C86081E20E9478228111C061E3
+:1047300082E20E9478228111C06283E20E94782284
+:104740008111C06484E20E947822882311F0C0683D
+:1047500002C0CC2329F08C2F0E94ED236C2F03C0C4
+:104760000E94E923682F70E080E090E0CF910C94E4
+:104770007A1ECF9108956DEE7EEF80E090E00E946A
+:10478000BE2D60E082E090E00E94B02D60E083E00A
+:1047900090E00E94B02D60E084E090E00E94B02D97
+:1047A00060E085E090E00C94B02D80E090E00E9405
+:1047B000AA2D21E08D3E9E4F09F020E0822F089522
+:1047C00082E090E00C94A22D682F82E090E00C949F
+:1047D000B02D83E090E00C94A22D682F83E090E050
+:1047E0000C94B02D84E090E00C94A22D682F84E00E
+:1047F00090E00C94B02D8091DF0180FF0BC06091A0
+:10480000130185E0689FB001112475956795759532
+:1048100067952BC081FF09C06091130185E0689FF7
+:10482000B00111247595679520C082FF07C0609183
+:10483000130185E0689FB001112417C09091E00139
+:104840009923D1F060911201961788F720911301F6
+:1048500085E0289F90011124929FA001939F500D05
+:10486000112470E0CA010E94742D6038710540F473
+:104870006115710539F002C065E070E0862F08957A
+:104880008FE7089581E008958091DF0180FF08C0DF
+:104890006091110170E0759567957595679521C0D8
+:1048A00081FF06C06091110170E07595679519C090
+:1048B00082FF04C06091110170E010C09091E0018E
+:1048C0009923C1F0609110019617A0F78091110112
+:1048D000899FC001112470E00E94742D6038710519
+:1048E00028F46115710521F0862F08958FE708954A
+:1048F00081E0089561E070E0F4CF803F21F40E94F0
+:10490000FB23819504C0813F29F40E94FB238093FF
+:10491000E3010895823F21F40E94FB23819504C0A6
+:10492000833F29F40E94FB238093E2010895893F8D
+:1049300019F40E94442405C08A3F31F40E944424A3
+:1049400081958093E40108958B3F21F40E944424D3
+:10495000819504C08C3F29F40E9444248093E50192
+:104960000895843F21F48091E101816017C0853F63
+:1049700021F48091E101826011C0863F21F4809191
+:10498000E10184600BC0873F21F48091E1018860E0
+:1049900005C0883F31F48091E10180618093E1019D
+:1049A00008958D3F21F48091DF0181600BC08E3F1F
+:1049B00021F48091DF01826005C08F3F29F480914E
+:1049C000DF0184608093DF010895803F39F4809196
+:1049D000E30187FF6CC01092E30169C0813F29F4B5
+:1049E0008091E3011816BCF362C09091E201823F0E
+:1049F00029F497FF5CC01092E20159C0833F19F47B
+:104A00001916CCF354C0893F41F48091E401181683
+:104A10000CF04DC01092E4014AC08A3F29F4809105
+:104A2000E40187FF44C0F6CF8B3F39F48091E50164
+:104A300087FF3DC01092E5013AC08C3F29F4809178
+:104A4000E5011816BCF333C0843F21F48091E101E5
+:104A50008E7F17C0853F21F48091E1018D7F11C0C9
+:104A6000863F21F48091E1018B7F0BC0873F21F4C9
+:104A70008091E101877F05C0883F31F48091E10199
+:104A80008F7E8093E10113C08D3F21F48091DF017F
+:104A90008E7F0BC08E3F21F48091DF018D7F05C09A
+:104AA0008F3F29F48091DF018B7F8093DF0180911C
+:104AB000E20181110EC08091E30181110AC0809151
+:104AC000E401811106C08091E501811102C01092BC
+:104AD000E00108958091D70183FF7EC088E396E0CE
+:104AE0000E9455078091E1011F928F9383E396E026
+:104AF0009F938F930E94EE0781E396E00E945507F3
+:104B00008091E201282F332727FD30953F938F9323
+:104B10008EE296E09F938F930E94EE078CE296E0E0
+:104B20000E9455078091E301282F332727FD3095F8
+:104B30003F938F9389E296E09F938F930E94EE07B5
+:104B400087E296E00E9455078091E401282F3327E1
+:104B500027FD30953F938F9384E296E09F938F9348
+:104B60000E94EE0782E296E00E9455078091E501DF
+:104B7000282F332727FD30953F938F938FE196E0C1
+:104B80009F938F930E94EE078CE196E00E94550759
+:104B90008091E0011F928F9389E196E09F938F931C
+:104BA0000E94EE0787E196E00E9455078091DF01A1
+:104BB0001F928F9384E196E09F938F930E94EE075C
+:104BC00081E196E00E9455078DB79EB74C960FB6CF
+:104BD000F8949EBF0FBE8DBF81EE91E00E94371505
+:104BE0000E94C9219093DE018093DD0108951F93F7
+:104BF000CF93DF938091DD019091DE010E94D5215A
+:104C0000AC019091E001992321F02091140130E052
+:104C100006C0209115018AE0289F900111244217B7
+:104C2000530708F486C08091E201C091E301D0915E
+:104C3000E4011091E501811107C0C11176C0D111C5
+:104C400074C0111172C075C09F3F19F09F5F90939F
+:104C5000E001181624F40E94FB238093E201809166
+:104C6000E20187FF05C00E94FB2381958093E2014A
+:104C70001C1624F40E94FB238093E3018091E3013E
+:104C800087FF05C00E94FB2381958093E30160911B
+:104C9000E201662339F1C091E301CC2319F17727B2
+:104CA00067FD7095872F972F0E94792C23E333E3BC
+:104CB00043E35FE30E94DD2C0E94462C6093E201F7
+:104CC0006C2F772767FD7095872F972F0E94792C7F
+:104CD00023E333E343E35FE30E94DD2C0E94462C91
+:104CE0006093E3011D1624F40E9444248093E401A0
+:104CF0008091E40187FF05C00E9444248195809340
+:104D0000E401111624F40E9444248093E50180916B
+:104D1000E50187FF05C00E94442481958093E50149
+:104D2000DF91CF911F910C946A259F3F09F08ECFA0
+:104D300096CFDF91CF911F910895E1EEF1E085E0EC
+:104D4000DF011D928A95E9F71092E0011092DF01D0
+:104D500008958BE598E00E9455071F9281E08F939C
+:104D60001F9285E08F938DE098E09F938F930E9430
+:104D7000EE070F900F900F900F900F900F900895E7
+:104D80008330E9F128F4813061F0823009F108952F
+:104D9000853009F462C008F449C0863009F474C053
+:104DA000089580911501262F30E0280F311D2F3FE7
+:104DB000310524F4680F6093150103C08FEF8093D1
+:104DC0001501809115011F928F9386E497E072C0C0
+:104DD00080911401262F30E0280F311D2F3F31051F
+:104DE00024F4680F6093140103C08FEF80931401C3
+:104DF000809114011F928F9384E397E05BC08091B0
+:104E00001301262F30E0280F311D2F3F310524F4E8
+:104E1000680F6093130103C08FEF8093130180919B
+:104E200013011F928F9381E297E044C08091120199
+:104E3000262F30E0280F311D2F3F310524F4680F55
+:104E40006093120103C08FEF8093120180911201D1
+:104E50001F928F938CE097E02DC080911101262F37
+:104E600030E0280F311D2F3F310524F4680F609387
+:104E7000110103C08FEF80931101809111011F92E6
+:104E80008F9383EF96E016C080911001262F30E0BB
+:104E9000280F311D2F3F310524F4680F6093100156
+:104EA00003C08FEF80931001809110011F928F93A8
+:104EB00088ED96E09F938F930E94EE070F900F90DE
+:104EC0000F900F900895833081F128F4813059F0CC
+:104ED0008230D1F00895853009F449C0B8F18630A8
+:104EE00009F456C0089580911501681720F4861BB7
+:104EF0008093150102C010921501809115011F9237
+:104F00008F9389EC96E054C080911401681720F4C7
+:104F1000861B8093140102C0109214018091140129
+:104F20001F928F9387EB96E043C08091130168171F
+:104F300020F4861B8093130102C01092130180910C
+:104F400013011F928F9384EA96E032C08091120180
+:104F5000681720F4861B8093120102C01092120180
+:104F6000809112011F928F938FE896E021C080916B
+:104F70001101681720F4861B8093110102C0109262
+:104F80001101809111011F928F9386E796E010C066
+:104F900080911001681720F4861B8093100102C0D5
+:104FA00010921001809110011F928F938BE596E073
+:104FB0009F938F930E94EE070F900F900F900F908A
+:104FC0000895CF93C82F1F928F9380E699E09F9307
+:104FD0008F930E94EE0781E090E0A0E0B0E0BC017A
+:104FE000CD0104C0660F771F881F991FCA95D2F79D
+:104FF0000E947A1E0F900F900F900F90CF910C94FB
+:10500000BE1ACF938D3109F465C0B0F58E3009F426
+:10501000CCC100F5873009F49BC1A8F4863009F0B3
+:105020006DC28091D701817F8E7F8093D70185E605
+:1050300099E00E94550787EA9DE00E94550781E0AC
+:105040008093E70180C1883009F44FC08B3009F4A8
+:105050007CC154C2863109F4F0C138F4803109F4BE
+:10506000B8C1813109F430C249C2893109F4CEC1D5
+:105070008B3109F486C142C2853309F437C248F442
+:10508000873209F433C208F433C2893209F42EC2DC
+:1050900035C2833438F48A3308F02CC2883309F4DB
+:1050A00054C12CC2833409F421C2883409F026C2C9
+:1050B0000E94BE1A86E99DE00E9455079FEF23EDEE
+:1050C00080E3915020408040E1F700C000000E9442
+:1050D000242239C186EB9DE00E9455070E94002CD6
+:1050E0000E94E2140E94140D2EC18BEA9DE00E94E2
+:1050F000550786E79BE00E9455070E94E9231F920F
+:105100008F9383E79BE09F938F930E94EE0781E745
+:105110009BE00E9455070E94E023C82F8EE59BE08C
+:105120000E9455071F92CF9389E59BE09F938F9331
+:105130000E94EE0787E59BE00E9455078DE49BE007
+:105140000E9455078C2F81701F928F938AE49BE0F9
+:105150009F938F930E94EE0788E49BE00E9455077F
+:105160008EE39BE00E945507C1FB882780F91F92C0
+:105170008F938BE39BE09F938F930E94EE0789E3CD
+:105180009BE00E9455078DE29BE00E945507C2FB01
+:10519000882780F91F928F938AE29BE09F938F93D9
+:1051A0000E94EE0788E29BE00E9455078FE19BE09A
+:1051B0000E945507C3FBCC27C0F91F92CF938CE107
+:1051C0009BE09F938F930E94EE078AE19BE00E94F1
+:1051D00055070E94F223C82F86E09BE00E945507E6
+:1051E0001F92CF9381E09BE09F938F930E94EE07E5
+:1051F0008FEF9AE00E94550786EE9AE00E945507CD
+:105200008C2F81701F928F9383EE9AE09F938F93E0
+:105210000E94EE078DB79EB780960FB6F8949EBF9A
+:105220000FBE8DBF81EE9AE00E9455078AEC9AE08E
+:105230000E945507C1FB882780F91F928F9387EC46
+:105240009AE09F938F930E94EE0785EC9AE00E946C
+:10525000550783EB9AE00E945507C2FB882780F927
+:105260001F928F9380EB9AE09F938F930E94EE079B
+:105270008EEA9AE00E9455078CE99AE00E94550751
+:10528000C3FB882780F91F928F9389E99AE09F9347
+:105290008F930E94EE0787E99AE00E9455078DE8F8
+:1052A0009AE00E945507C4FB882780F91F928F93CC
+:1052B0008AE89AE09F938F930E94EE0788E89AE02D
+:1052C0000E94550786E79AE00E945507C5FB88278C
+:1052D00080F91F928F9383E79AE09F938F930E94A8
+:1052E000EE0781E79AE00E94550785E59AE00E9463
+:1052F0005507C6FB882780F91F928F9382E59AE0B5
+:105300009F938F930E94EE0780E59AE00E945507D5
+:1053100088E49AE00E945507C7FBCC27C0F91F928A
+:10532000CF9385E49AE09F938F930E94EE0783E4E6
+:105330009AE00E9455078DB79EB74C960FB6F89429
+:105340009EBF0FBE8DBFC1E0DEC08CE899E05BC0A0
+:105350008091D701C82FC17080FF09C089E89DE006
+:105360000E9455078091D701817F8E7F47C08DE7CE
+:105370009DE00E9455078091D70181608093D701FD
+:10538000E2CF9091D70191FBCC27C0F981E0C827EB
+:10539000892FC0FB81F98093D701CC2319F080E7D6
+:1053A0009DE027C082E69DE02EC09091D70192FB40
+:1053B000CC27C0F981E0C827892FC0FB82F98093F0
+:1053C000D701CC2319F083E59DE013C083E49DE071
+:1053D0001AC09091D70193FBCC27C0F981E0C82770
+:1053E000892FC0FB83F98093D701CC2351F087E349
+:1053F0009DE00E9455078091D70181608093D7017D
+:1054000082C08AE29DE00E9455079DCF8BE19DE01E
+:105410000E9455078FEE9CE00E94550782EB9CE0AE
+:105420000E94550785E89CE00E94550781E49CE0B6
+:105430000E94550786E19CE0E6CF88E09CE00E9450
+:1054400055070E94E2141F928F938EEE9BE09F936C
+:105450008F930E94EE0780910C011F928F9387ED2E
+:105460009BE09F938F930E94EE0780916E011F92A5
+:105470008F9384EC9BE09F938F930E94EE07809123
+:105480000D011F928F9381EB9BE09F938F930E945E
+:10549000EE078091D9019091DA01A091DB01B091E2
+:1054A000DC01BF93AF939F938F938DE99BE09F9314
+:1054B0008F930E94EE078DB79EB746960FB6F8946D
+:1054C0009EBF0FBE8DBF3FCF0E94BE1AC0910D017F
+:1054D00081E0C827C0930D01CC2329F083E99BE02C
+:1054E0000E94550710C088E89BE08DCF80E003C084
+:1054F0008D5101C089530E94E12725CF86E89BE0AA
+:105500000E945507C0E08C2FCF91089580E0089548
+:1055100080E00895CF93C82F8091E701813081F01A
+:1055200020F0823009F44FC045C1E0910E01F091A6
+:105530000F018081813169F0823209F03DC109C0DB
+:10554000E0910E01F0910F018081813111F08232E2
+:1055500061F48C2F0E94862A811104C08C2F0E9436
+:1055600001282FC081E090E02CC08C2F0E94882A57
+:10557000811126C0C431E1F070F4CB3081F0C0312C
+:10558000D1F40E94A92688E599E00E94550782E09F
+:105590008093E70115C0C93259F0C83361F485E63C
+:1055A00099E00E9455078CE599E00E94550708C0D4
+:1055B0001092E70103C186E599E00E945507FEC0FD
+:1055C00081E08170FDC0C43220F5CE3108F0C0C04A
+:1055D000CB3099F1C8F4C73009F0D2C08AE080938B
+:1055E000150194E19093140193E09093130180933B
+:1055F000120188E08093110188E2809310018CEF02
+:1056000097E00E945507BFC0C33149F1C431C1F0D2
+:10561000B7C0CB3409F4A9C028F4C93289F0C83323
+:1056200061F0AEC0C13509F49EC0C23509F499C01D
+:10563000CE3409F0A5C06AE09EC00E94A926A3C08E
+:105640008091E601882319F01092E6019CC089E060
+:1056500098E00E94550781E08093E701B1C083EE96
+:1056600097E00E94550781ED97E00E9455078091D1
+:1056700015011F928F938EEC97E09F938F930E945A
+:10568000EE078CEC97E00E9455078AEB97E00E94AA
+:105690005507809114011F928F9387EB97E09F939A
+:1056A0008F930E94EE0785EB97E00E94550786EAEC
+:1056B00097E00E945507809113011F928F9383EA10
+:1056C00097E09F938F930E94EE0781EA97E00E94F4
+:1056D000550780E997E00E945507809112011F92BB
+:1056E0008F938DE897E09F938F930E94EE078BE84E
+:1056F00097E00E94550786E797E00E945507809142
+:1057000011011F928F9383E797E09F938F930E94DD
+:10571000EE0781E797E00E9455078AE597E00E942F
+:105720005507809110011F928F9387E597E09F9313
+:105730008F930E94EE0785E597E00E9455078DB78D
+:105740009EB748960FB6F8949EBF0FBE8DBF1BC084
+:10575000CE51EC2FF0E0E15DFE4F80818093E601B9
+:1057600012C061E003C061E006C06AE08091E6011A
+:105770000E94C02608C08091E6010E94632703C0F2
+:105780008AEF97E013C08091E601882369F01F92A9
+:105790008F9384EF97E09F938F930E94EE070F9073
+:1057A0000F900F900F9004C081EF97E00E94550773
+:1057B00081E006C01092E70180E002C080E001CFE6
+:1057C000CF910895E1E8F0E0808188608083808156
+:1057D000816080838FB7F89493E09093890090ED77
+:1057E000909388008FBF0895EFE6F0E0808182609B
+:1057F00080830895EFE6F0E080818D7F80830895B7
+:10580000EFE6F0E0908182E08927808308951F927F
+:105810000F920FB60F9211242F933F934F935F93E4
+:105820006F937F938F939F93AF93BF93EF93FF9368
+:105830008091E8019091E90101969093E9018093AC
+:10584000E801811103C082E00E94140DE091E9019A
+:10585000E695E695F0E0EA53F24FE4918091E80195
+:105860008E1303C080E00E94140DFF91EF91BF9151
+:10587000AF919F918F917F916F915F914F913F91E8
+:105880002F910F900FBE0F901F90189504D0689421
+:10589000B1118DC0089570D088F09F5790F0B92F46
+:1058A0009927B751A0F0D1F0660F771F881F991F75
+:1058B0001AF0BA95C9F712C0B13081F077D0B1E0D3
+:1058C000089574C0672F782F8827B85F39F0B93FE3
+:1058D000CCF3869577956795B395D9F73EF4909577
+:1058E0008095709561957F4F8F4F9F4F0895E894F5
+:1058F00009C097FB3EF490958095709561957F4F18
+:105900008F4F9F4F9923A9F0F92F96E9BB279395C5
+:10591000F695879577956795B795F111F8CFFAF4D5
+:10592000BB0F11F460FF1BC06F5F7F4F8F4F9F4F06
+:1059300016C0882311F096E911C0772321F09EE864
+:10594000872F762F05C0662371F096E8862F70E0CA
+:1059500060E02AF09A95660F771F881FDAF7880FA4
+:105960009695879597F9089557FD9058440F551FC0
+:1059700059F05F3F71F04795880F97FB991F61F0D1
+:105980009F3F79F087950895121613061406551F48
+:10599000F2CF4695F1DF08C0161617061806991FB4
+:1059A000F1CF86957105610508940895E894BB27A9
+:1059B00066277727CB0197F908950BD078C069D077
+:1059C00028F06ED018F0952309F05AC05FC011245A
+:1059D000EECFCADFA0F3959FD1F3950F50E0551F8E
+:1059E000629FF001729FBB27F00DB11D639FAA2734
+:1059F000F00DB11DAA1F649F6627B00DA11D661F83
+:105A0000829F2227B00DA11D621F739FB00DA11DA3
+:105A1000621F839FA00D611D221F749F3327A00D5D
+:105A2000611D231F849F600D211D822F762F6A2FF9
+:105A300011249F5750408AF0E1F088234AF0EE0F7E
+:105A4000FF1FBB1F661F771F881F91505040A9F78B
+:105A50009E3F510570F014C0AACF5F3FECF3983E13
+:105A6000DCF3869577956795B795F795E7959F5FF2
+:105A7000C1F7FE2B880F911D9695879597F908958C
+:105A800097F99F6780E870E060E008959FEF80ECF1
+:105A9000089500240A941616170618060906089594
+:105AA00000240A9412161306140605060895092EFA
+:105AB0000394000C11F4882352F0BB0F40F4BF2B69
+:105AC00011F460FF04C06F5F7F4F8F4F9F4F0895A9
+:105AD000991B79E004C0991F961708F0961B881F40
+:105AE0007A95C9F78095089597FB072E16F40094D0
+:105AF00007D077FD09D00E948E2D07FC05D03EF41B
+:105B0000909581959F4F0895709561957F4F089569
+:105B1000EE0FFF1F0590F491E02D0994AA1BBB1B0B
+:105B200051E107C0AA1FBB1FA617B70710F0A61B9D
+:105B3000B70B881F991F5A95A9F780959095BC01BE
+:105B4000CD010895F999FECF92BD81BDF89A9927AC
+:105B500080B50895A8E1B0E042E050E00C94C52D76
+:105B6000262FF999FECF1FBA92BD81BD20BD0FB679
+:105B7000F894FA9AF99A0FBE019608950E94B02DF2
+:105B8000272F0C94B12DDC01CB01FC01F999FECF3C
+:105B900006C0F2BDE1BDF89A319600B40D924150B5
+:0A5BA0005040B8F70895F894FFCFC5
+:105BAA002002150D060EE30DAF0D7B0D0101C50197
+:105BBA0028080A03140A3F4D3620394605F904C35A
+:105BCA0004A3046A04DD03F6030F0428044804014D
+:0A5BDA000203040506070809000095
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c new file mode 100644 index 0000000000..bdac229e5c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/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 + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Grv | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | \/LCtrl| A | S | D | F | G |------| |------| H | J | K | L | ; |'/RCtrl | + * |--------+------+------+------+------+------| RAlt | | RAlt |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | ~L1 | LCtrl| Left| Right| LAlt | | LAlt | Up | Down | RCtrl| ~L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Del | Ins | | Esc | App | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| LGui |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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_RALT, + MO(SYMB), KC_LCTRL, KC_LEFT,KC_RGHT,KC_LALT, + KC_DELT,KC_INS, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + TG(MDIA), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT), + KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_LALT,KC_UP, KC_DOWN,KC_RCTRL, MO(MDIA), + KC_ESC, KC_APP, + KC_PGUP, + KC_PGDN, KC_LGUI, 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 | 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_0, KC_0, KC_DOT, 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 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |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_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, 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/emacs_osx_dk/readme.md b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md new file mode 100644 index 0000000000..4839988d9b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md @@ -0,0 +1,10 @@ +# ErgoDox EZ Emacs-OSX-DeadKeys Configuration + +Since I'm an Emacs user, ctrl keys are very important and gets a placement where the usual caps_lock is. There +are an extra pair of ctrls, just in case there where problems with the holding one's, but not as comfortable. + +Gui button takes a predominant place on the thumb cluster, as I'm using a mac os x and it relies heavily on it. + +Finally there is also two Right Alts to easily access to accented letters of the spanish alphabet. + +![Default](default_highres.png) diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex index a9f1942a6f..928c0ecc3f 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex @@ -14,7 +14,7 @@ :1000D0009C118413931293125E138413841372136E
:1000E0000000F0A12E004C002A00E1003581000044
:1000F0001E00140004001D7134004D001F001A0082
-:1001000016001B00E104015420000800070006004F
+:1001000016001B00E104C1002000080007000600E3
:1001100050002C0021001500090019004F004A0072
:10012000220017000A000500000065745000015409
:100130000000007F0000E3004F0001540000007742
@@ -29,9 +29,9 @@ :1001C000250030004E0101003E00010026002700FE
:1001D000000001000100010000000100000001001A
:1001E0000100010000000100000001003F000100CB
-:1001F0002402310200000100400001002D0026020F
-:100200000100010041002E002D0227020100010023
-:100210004200010013002000010001004300010022
+:1001F0002402310200000100400022022D022602EA
+:100200000100010041002E002D0027020100010025
+:1002100042001F0213002000010001004300010002
:100220002E02010001000100440045000100010010
:1002300001000000010001000100010001000000B8
:1002400001000100010001000100010001000100A6
diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c index 3dbefe9498..20c95f1ee0 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c @@ -7,12 +7,6 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys -/* About this file: This is just an experimental keymap for my own use, with some ideas I'm testing out. -* Changlog: -* Jan 19: * Made J into dual-action key (Alt when held down), to make Alt-tab more ergonomic. -* * Made ' into dual-action key (Win/Cmd when held down). -*/ - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -30,9 +24,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------------. ,-------------. * | App | LGui | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | + * | | L1 | Home | | PgUp | | | + * | Space| Tap/ |------| |------| Tab/L1 |Enter | + * | |Toggle| End | | PgDn | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. @@ -46,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, - KC_SPC,TG(SYMB),KC_END, + KC_SPC,KC_FN1,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, @@ -62,9 +56,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | 1 | 2 | 3 | 4 | | | | | | | = | | | F12 | + * | | 1 | 2 | 3 | 4 | | | | | | % | = | @ | | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | 5 | 6 | 7 | 8 | 9 |------| |------| & | - | _ | ; | + | | + * | | 5 | 6 | 7 | 8 | 9 |------| |------| & | _ | - | ; | + | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | ( | ) | [ | ] | 0 | | | | | | ( | ) | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -91,8 +85,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_TRNS, KC_TRNS,KC_EQL, KC_TRNS, KC_TRNS, KC_F12, - KC_AMPR, KC_MINS,KC_UNDS, CM_SCLN, KC_PLUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_PERC,KC_EQL, KC_AT, KC_TRNS, KC_F12, + KC_AMPR, KC_UNDS,KC_MINS, CM_SCLN, KC_PLUS, KC_TRNS, KC_TRNS, KC_PIPE, KC_LPRN,KC_RPRN, KC_3, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/readme.md b/keyboard/ergodox_ez/keymaps/erez_experimental/readme.md index d7332a97bf..82e1c5e4a0 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/readme.md +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/readme.md @@ -4,6 +4,13 @@ This is my personal layout which I use to test out ideas which may or may not ma Changelog: +## Feb 11, 2016: + +* Updated ASCII legend for thumb clusters +* Made it so outer left-hand thumb key is L1 momentary toggle +* Added % and @ to L1 +* Swapped positions for _ and - on L1 + ## Feb 5, 2016: * A whole new design for the symbol layer. Specifically: diff --git a/keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c b/keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c index 178c290660..9f90c639aa 100644 --- a/keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c +++ b/keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Esc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * |--------+------+------+------+------+------| = | | - |------+------+------+------+------+--------| * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB), KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_LALT, F(LWIN), KC_HOME, @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - MEH_T(KC_NO),KC_K, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_MINS, KC_K, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, LT(SYMB,KC_NO), KC_LALT, KC_RALT, KC_PGUP, @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Esc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * |--------+------+------+------+------+------| = | | - |------+------+------+------+------+--------| * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_DELT, CM_Q, CM_W, CM_F, CM_P, CM_G, TG(SYMB), KC_ESC, CM_A, CM_R, CM_S, CM_T, CM_D, - KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, ALL_T(KC_NO), + KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, KC_EQL, LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_LALT, F(LWIN), KC_HOME, @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), CM_J, CM_L, CM_U, CM_Y, KC_P, /*CM_SCLN*/ KC_BSLS, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, - MEH_T(KC_NO),CM_K, CM_M, CM_COMM,CM_DOT, CTL_T(CM_SLSH), KC_RSFT, + KC_MINS, CM_K, CM_M, CM_COMM,CM_DOT, CTL_T(CM_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, LT(SYMB,KC_NO), KC_LALT, KC_RALT, KC_PGUP, @@ -222,22 +222,27 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } else { unregister_code(KC_LGUI); } + break; case PC1: if (!record->event.pressed) { - return MACRO(T(SLCK), T(SLCK), T(1), T(ENT), END); + return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(1), W(50), T(ENT), END); } + break; case PC2: if (!record->event.pressed) { - return MACRO(T(SLCK), T(SLCK), T(2), T(ENT), END); + return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(2), W(50), T(ENT), END); } + break; case PC3: if (!record->event.pressed) { - return MACRO(T(SLCK), T(SLCK), T(3), T(ENT), END); + return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(3), W(50), T(ENT), END); } + break; case PC4: if (!record->event.pressed) { - return MACRO(T(SLCK), T(SLCK), T(4), T(ENT), END); + return MACRO(T(SLCK), W(50), T(SLCK), W(50), T(4), W(50), T(ENT), END); } + break; } return MACRO_NONE; } diff --git a/keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex b/keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex index 4bb17147f0..e2f2b6caaf 100644 --- a/keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex +++ b/keyboard/ergodox_ez/keymaps/mpiechotka/mpiechotka.hex @@ -1,1493 +1,1494 @@ -:100000000C9476070C94BA070C94BA070C94BA07B0
-:100010000C94BA070C94BA070C94BA070C94BA075C
-:100020000C94BA070C94BA070C9405130C94D713CC
-:100030000C94BA070C94BA070C94BA070C94BA073C
-:100040000C94BA070C94B12C0C94BA070C94BA0710
-:100050000C94BA070C94A9220C94BA070C94BA0712
-:100060000C94BA070C94BA070C94BA070C94BA070C
-:100070000C94BA070C94BA070C94BA070C94BA07FC
-:100080000C94BA070C94BA070C94BA070C94BA07EC
-:100090000C94BA070C94BA070C94BA070C94BA07DC
-:1000A0000C94BA070C94BA070C94BA07441466145B
-:1000B000541566145415AB14CE1454152315361567
-:1000C0007D187D18AC18AC18EF182D19461B461B6F
-:1000D0004619461B471A471A1A1B461B461B311B5B
-:1000E0000147024701470247012102210128022856
-:1000F0000001470247014702470120022001280270
-:1001000028000147024701470247011F021F01283B
-:100110000228000147024701470247011E021E0153
-:1001200028022800000001C002C003C004C005C0AE
-:10013000018C028C2E004C002900E1003582000069
-:100140001E00140004001D0034004D821F001A0020
-:1001500015001B00E1042A712000090016000600AA
-:1001600050002C7221001300170019004F004A00A4
-:1001700022000A00070005000000E20050000254BF
-:100180000000007F000001204F00025400000077B3
-:100190000000E20023000D000B000E000000E6004E
-:1001A00024000F001100100052004B002500180021
-:1001B000080036005100287226001C000C00370091
-:1001C0002F002B71270033001200387130004E834E
-:1001D0002D0031003400E500008200002E004C00AC
-:1001E0002900E100358200001E00140004001D00FB
-:1001F00034004D821F001A0016001B00E1042A7112
-:10020000200008000700060050002C722100150095
-:10021000090019004F004A00220017000A000500DB
-:100220000000E200500002540000007F00000120A6
-:100230004F000254000000770000E20023001C0081
-:100240000B0011000000E600240018000D00100053
-:1002500052004B0025000C000E00360051002872A1
-:10026000260012000F0037002F002B71270013000B
-:100270003300387130004E832D0031003400E5002A
-:1002800000820000010001000100010001000000E7
-:100290003A001E0220022202010001003B001F0260
-:1002A00021022302010001003C002F0226022F0040
-:1002B000010001003D003002270230000100010072
-:1002C0003E0031023500350200000100010001004E
-:1002D0000000010000000100010001000000010019
-:1002E000000001003F005200510024020000010004
-:1002F0004000240021001E000100010041002500F3
-:1003000022001F00370001004200260023002000C9
-:1003100027000100430025022E0231002E000100BB
-:100320004400450001000100010000000000000041
-:100330000000000000000000000006200220000075
-:100340000000010000000720032000000000010061
-:100350000000000004200000000001000000000078
-:100360000520000000000100000000000000000067
-:10037000000001000000000000000000000001007B
+:100000000C9482070C94C6070C94C6070C94C60780
+:100010000C94C6070C94C6070C94C6070C94C6072C
+:100020000C94C6070C94C6070C940A130C94DC13AA
+:100030000C94C6070C94C6070C94C6070C94C6070C
+:100040000C94C6070C94B62C0C94C6070C94C607E7
+:100050000C94C6070C94AE220C94C6070C94C607E9
+:100060000C94C6070C94C6070C94C6070C94C607DC
+:100070000C94C6070C94C6070C94C6070C94C607CC
+:100080000C94C6070C94C6070C94C6070C94C607BC
+:100090000C94C6070C94C6070C94C6070C94C607AC
+:1000A0000C94C6070C94C6070C94C60749146B142D
+:1000B00059156B145915B014D314591528153B153F
+:1000C00082188218B118B118F41832194B1B4B1B47
+:1000D0004B194B1B4C1A4C1A1F1B4B1B4B1B361B33
+:1000E000014702477432014702477432012102215D
+:1000F0007432012802280001470247743201470286
+:10010000477432012002207432012802280001477E
+:1001100002477432014702477432011F021F7432D2
+:100120000128022800014702477432014702477440
+:1001300032011E021E74320128022800000001C094
+:1001400002C003C004C005C0018C028C2E004C000C
+:100150002900E100358200001E00140004001D008B
+:1001600034004D821F001A0015001B00E1042A71A3
+:10017000200009001600060050002C722100130018
+:10018000170019004F004A0022000A00070005006E
+:100190000000E2005000025400002E000000012088
+:1001A0004F00025400002D000000E20023000D006B
+:1001B0000B000E000000E60024000F0011001000EC
+:1001C00052004B002500180008003600510028722C
+:1001D00026001C000C0037002F002B712700330075
+:1001E0001200387130004E832D0031003400E500DC
+:1001F000008200002E004C002900E1003582000042
+:100200001E00140004001D0034004D821F001A005F
+:1002100016001B00E1042A712000080007000600F8
+:1002200050002C7221001500090019004F004A00EF
+:10023000220017000A0005000000E20050000254EE
+:1002400000002E00000001204F00025400002D008D
+:100250000000E20023001C000B0011000000E6007B
+:10026000240018000D00100052004B0025000C0067
+:100270000E00360051002872260012000F003700D1
+:100280002F002B71270013003300387130004E838C
+:100290002D0031003400E500008200000100010063
+:1002A00001000100010000003A001E0220022202AB
+:1002B000010001003B001F02210223020100010096
+:1002C0003C002F0226022F00010001003D003002F9
+:1002D00027023000010001003E00310235003502E6
+:1002E0000000010001000100000001000000010009
+:1002F0000100010000000100000001003F00520069
+:1003000051002402000001004000240021001E00D2
+:10031000010001004100250022001F0037000100FC
+:100320004200260023002000270001004300250290
+:100330002E0231002E0001004400450001000100A2
+:1003400001000000000000000000000000000000AC
+:10035000000006200220000000000100000007202D
+:100360000320000000000100000000000420000045
+:100370000000010000000000052000000000010056
:10038000000000000000000000000100000000006C
:10039000000000000000010000000000000000005C
:1003A000000001000000000000000000000001004B
:1003B000000000000000000000000100000000003C
:1003C000000000000000010000000000000000002C
-:1003D000000000000A002530313662003A20002576
-:1003E000303258000A722F632030313233343536C0
-:1003F0003738394142434445460A000A0025303225
-:100400005800626F756E6365213A20006C656674F2
-:1004100020736964652061747461636865640A00AF
-:100420006C6566742073696465206E6F74207265F4
-:1004300073706F6E64696E670A00747279696E67B3
-:1004400020746F207265736574206D637032333071
-:1004500031380A005B735D004B6579626F617264CD
-:100460002073746172742E0A005B575D005B535DEC
-:10047000005B525D005B445D005B435D001603451D
-:1004800000720067006F0044006F00780020004594
-:10049000005A00000016034500720067006F004418
-:1004A000006F007800200045005A00000004030996
-:1004B0000409028D00050100A0FA090400000103EF
-:1004C000010100092111010001223F0007058103FC
-:1004D00008000A09040100010301020009211101B9
-:1004E0000001224D000705820308000A09040200EA
-:1004F0000103000000092111010001223600070557
-:10050000830308000A090403000203000000092114
-:1005100011010001222000070584032000010705C6
-:100520000403200001090404000103000000092164
-:100530001101000122390007058503100001120195
-:10054000100100000008EDFE071301000102000188
-:1005500005010906A101050719E029E71500250194
-:100560009508750181020508190129059505750190
-:10057000910295017503910105071900297715006E
-:100580002501957875018102C00631FF0974A1012A
-:100590000975150025FF952075088102097615005B
-:1005A00025FF952075089102C005010980A10185EC
-:1005B0000216010026B7001A01002AB7007510952F
-:1005C000018100C0050C0901A10185031601002667
-:1005D0009C021A01002A9C02751095018100C00539
-:1005E000010902A1010901A1000509190129051547
-:1005F00000250195057501810295017503810105AD
-:1006000001093009311581257F9502750881060998
-:10061000381581257F950175088106050C0A380279
-:100620001581257F950175088106C0C00501090661
-:10063000A101050719E029E71500250195087501B5
-:1006400081029501750881010508190129059505A3
-:10065000750191029501750391010507190029FFA4
-:10066000150025FF950675088100C00A0025303267
-:100670005820006B6579626F6172645F7265706F9C
-:1006800072743A20000A0025303258006B65796296
-:100690006F6172645F7365745F6C65643A200064B7
-:1006A000656C5F6B65795F6269743A2063616E2780
-:1006B000742064656C3A20253032580A0061646405
-:1006C0005F6B65795F6269743A2063616E2774209D
-:1006D0006164643A20253032580A00646F6E652EDA
-:1006E0000A00626F6F676D61676963207363616E93
-:1006F0003A202E2E2E2000290A002575002F0025D5
-:1007000075005D2800256400200025640020002578
-:10071000640020002564007C0025303258006D6F95
-:100720007573656B6579205B62746E7C78207920C7
-:100730007620685D287265702F61636C293A205BB2
-:10074000006D6B5F776865656C5F74696D655F747C
-:100750006F5F6D6178203D2025640A006D6B5F77C7
-:100760006865656C5F6D61785F7370656564203D79
-:100770002025640A006D6B5F74696D655F746F5F3F
-:100780006D6178203D2025640A006D6B5F6D617896
-:100790005F7370656564203D2025640A006D6B5FA2
-:1007A000696E74657276616C203D2025640A006D67
-:1007B0006B5F64656C6179203D2025640A006D6B78
-:1007C0005F776865656C5F74696D655F746F5F6D99
-:1007D0006178203D2025640A006D6B5F7768656550
-:1007E0006C5F6D61785F7370656564203D20256482
-:1007F0000A006D6B5F74696D655F746F5F6D617822
-:10080000203D2025640A006D6B5F6D61785F737019
-:10081000656564203D2025640A006D6B5F696E7418
-:10082000657276616C203D2025640A006D6B5F6403
-:10083000656C6179203D2025640A000A0025750059
-:10084000363A20776865656C5F74696D655F746FB3
-:100850005F6D61783A20000A00257500353A2077EF
-:100860006865656C5F6D61785F73706565643A207B
-:10087000000A00257500343A2074696D655F746F55
-:100880005F6D61783A20000A00257500333A206DCB
-:1008900061785F73706565643A20000A0025750011
-:1008A000323A20696E74657276616C286D73293AEC
-:1008B00020000A00257500313A2064656C617928B2
-:1008C0002A31306D73293A20000A092D2056616CB7
-:1008D000756573202D0A004D3E004D25643E2000B5
-:1008E0003F007365742064656661756C740A00432B
-:1008F0003E200077686572652064656C74613A20FB
-:10090000637572736F723D25642C20776865656C22
-:100910003D25640A53656520687474703A2F2F650D
-:100920006E2E77696B6970656469612E6F72672FCF
-:1009300077696B692F4D6F7573655F6B6579730AA6
-:10094000000A092D204D6F7573656B6579202D0A9E
-:100950004553432F713A09717569740A313A096434
-:10096000656C6179282A31306D73290A323A096938
-:100970006E74657276616C286D73290A333A096D5D
-:1009800061785F73706565640A343A0974696D65EE
-:100990005F746F5F6D61780A353A09776865656CD9
-:1009A0005F6D61785F73706565640A363A097768D0
-:1009B00065656C5F74696D655F746F5F6D61780A02
-:1009C0000A703A097072696E742076616C7565738D
-:1009D0000A643A097365742064656661756C7473A2
-:1009E0000A75703A092B310A646F776E3A092D3116
-:1009F0000A706775703A092B31300A7067646F7737
-:100A00006E3A092D31300A0A7370656564203D2005
-:100A100064656C7461202A206D61785F7370656510
-:100A200064202A2028726570656174202F20746903
-:100A30006D655F746F5F6D6178290A003F004D3E00
-:100A40002000433E20004C25640A000A092D204363
-:100A50006F6E736F6C65202D0A4553432F713A09F1
-:100A6000717569740A6D3A096D6F7573656B657997
-:100A70000A000A092D204D61676963202D0A643A36
-:100A80000964656275670A783A096465627567206A
-:100A90006D61747269780A6B3A09646562756720E2
-:100AA0006B6579626F6172640A6D3A09646562759B
-:100AB00067206D6F7573650A763A0976657273699A
-:100AC0006F6E0A733A097374617475730A633A0935
-:100AD000636F6E736F6C65206D6F64650A302D34C3
-:100AE0003A096C61796572302D34284631302D46D3
-:100AF00034290A506175733A09626F6F746C6F61C3
-:100B00006465720A653A09656570726F6D0A6E3ABE
-:100B1000094E4B524F0A7A3A09736C656570204C46
-:100B2000454420746573740A000A002575002E6E12
-:100B30006B726F3A20000A002575002E7377617082
-:100B40005F6261636B736C6173685F6261636B7337
-:100B5000706163653A20000A002575002E73776185
-:100B6000705F67726176655F6573633A20000A00A3
-:100B70002575002E6E6F5F6775693A20000A0025A3
-:100B800075002E737761705F72616C745F72677548
-:100B9000693A20000A002575002E737761705F6C3A
-:100BA000616C745F6C6775693A20000A00257500F6
-:100BB0002E636170736C6F636B5F746F5F636F6ED6
-:100BC00074726F6C3A20000A002575002E737761ED
-:100BD000705F636F6E74726F6C5F636170736C6F64
-:100BE000636B3A20000A0025303258006B65796D3E
-:100BF00061705F636F6E6669672E7261773A20007D
-:100C00000A002575002E6D6F7573653A20000A0085
-:100C10002575002E6B6579626F6172643A20000A57
-:100C2000002575002E6D61747269783A20000A0003
-:100C30002575002E656E61626C653A20000A0025FC
-:100C40003032580064656275675F636F6E6669670E
-:100C50002E7261773A20000A00257500646566618E
-:100C6000756C745F6C617965723A20003F004E4B81
-:100C7000524F3A206F66660A004E4B524F3A206F31
-:100C80006E0A0074696D65725F636F756E743A20E9
-:100C90002530346C580A006B6579626F6172645F4D
-:100CA0006E6B726F3A2025580A006B6579626F612E
-:100CB00072645F69646C653A2025580A006B657937
-:100CC000626F6172645F70726F746F636F6C3A20F1
-:100CD00025580A00686F73745F6B6579626F617283
-:100CE000645F6C65647328293A2025580A000A0954
-:100CF0002D20537461747573202D0A004743433AC5
-:100D000020342E392E33204156522D4C4942433A3D
-:100D100020312E382E31204156525F415243483AFD
-:100D200020617672350A004F5054494F4E533A2095
-:100D30004C55464120424F4F544D41474943204D69
-:100D40004F5553454B45592045585452414B4559F1
-:100D500020434F4E534F4C4520434F4D4D414E4441
-:100D6000204E4B524F203531320A004255494C44F7
-:100D70003A20333064623330302D646972747920E4
-:100D80002830373A35373A3335204A616E203237CA
-:100D90002032303136290A005649443A203078460C
-:100DA000454544284572676F446F7820455A29208D
-:100DB0005049443A20307831333037284572676FD4
-:100DC000446F7820455A29205645523A20307830D1
-:100DD0003030310A00444553433A20742E6D2E6B57
-:100DE0002E206B6579626F617264206669726D771F
-:100DF00061726520666F72204572676F646F780A52
-:100E0000000A092D2056657273696F6E202D0A0045
-:100E10000A6D6F7573653A206F66660A000A6D6F1A
-:100E20007573653A206F6E0A000A6B6579626F61AF
-:100E300072643A206F66660A000A6B6579626F61B8
-:100E400072643A206F6E0A000A6D61747269783AB2
-:100E5000206F66660A000A6D61747269783A206FC5
-:100E60006E0A000A64656275673A206F6E0A000AAE
-:100E700064656275673A206F66660A000A0A626FE7
-:100E80006F746C6F616465722E2E2E2000433E20BD
-:100E9000006565636F6E6669673A0A00536C656545
-:100EA00070204C454420746573740A0000000000F3
-:100EB00000000000000000010204060A0F17202CA9
-:100EC0003A4A5D71879DB3C7DAE9F5FCFFFCF5E9A5
-:100ED000DAC7B39D87715D4A3A2C20170F0A0604C2
-:100EE00002010000000000000000000011241FBEED
-:100EF000CFEFDAE0DEBFCDBF04B603FE24C08091A1
-:100F0000F9019091FA01A091FB01B091FC018730A9
-:100F1000904BA740B04BB9F41092F9011092FA012E
-:100F20001092FB011092FC0114BE84B7877F84BF2E
-:100F300088E10FB6F89480936000109260000FBEB5
-:100F4000E0E0FFE3099511E0A0E0B1E0EEEFFCE5A1
-:100F500002C005900D92AA33B107D9F711E0AAE3B8
-:100F6000B1E001C01D92A93FB107E1F70E943D1019
-:100F70000C947D2E0C940000FF93EF93E0913A01C6
-:100F8000F0913B01309709F00995EF91FF91089599
-:100F9000FC018591803011F0EFDFFBCF0895FF2732
-:100FA000E0E230E247FF0CC0419597FF09C0EDE257
-:100FB0006095709580959095611D711D811D911DA5
-:100FC00027FF02C0219530E350E2AA27660F771F62
-:100FD000881F991FAA1FA41710F0A41B63955A9588
-:100FE000A9F7AA3008F0A95FA05DAF93F39561154A
-:100FF00071058105910541F7ED3211F4EF93F395F9
-:10100000F21718F43F93F395FBCF8F91B5DFFA9564
-:10101000E1F70895E991F9918591803021F08532C9
-:1010200019F0AADFF9CF089520E0E89455915532E0
-:10103000C1F3503311F4689455915A3348F4505326
-:1010400090F3220F022E220F220F200D250FF4CF36
-:101050000EF4219589919991533619F3533729F15B
-:10106000533559F1BC0188279927E8945C3621F45F
-:101070008991999168945591543639F446EF7EF0F0
-:1010800077FF0DC08FEF9FEF0AC055374AE039F068
-:10109000583540E121F0523642E009F00895FF93BF
-:1010A000EF937DDFEF91FF91B7CFFF93EF93FC01BB
-:1010B00081918030B9F360DFFBCFFF93EF9368DF5E
-:1010C000F1CFDF93CF93CDB7DEB72596A3DFCF91D6
-:1010D000DF910895CF93DF93EC01623039F128F46A
-:1010E000662349F0613091F02DC0643029F108F198
-:1010F000653029F127C08A81882321F085EE0E947E
-:101100001A1720C085EE0E94E2171CC08A8188232E
-:1011100051F085EE0E941A1785EE0E94E21783EEC9
-:101120000E941A1703C083EE0E94E2178A81882367
-:1011300061F08A81882361F08A81882361F08A8145
-:10114000882361F080E090E00BC083E191E008C06B
-:1011500082E091E005C081EF90E002C080EE90E077
-:10116000DF91CF91089580E090E008956091BC01F7
-:101170007091BD018091BE019091BF010E94A82194
-:1011800056985E9825982D9826982E9827982F98EF
-:10119000823019F0833021F00895259A2D9A089510
-:1011A000269A2E9A089586EB98E0892B11F00E94DA
-:1011B000B60880E090E0089556985E9825982D989E
-:1011C00026982E9827982F988FEF90E0909389007B
-:1011D0008093880090938B0080938A0090938D0079
-:1011E00080938C00259A2D9A2FEF80E792E0215072
-:1011F00080409040E1F700C00000269A2E9A2FEF21
-:1012000080E792E0215080409040E1F700C000006C
-:10121000279A2F9A2FEF80E792E02150804090404C
-:10122000E1F700C0000025982D982FEF80E792E0AD
-:10123000215080409040E1F700C0000026982E9891
-:101240002FEF80E792E0215080409040E1F700C00E
-:10125000000027982F9856985E9825982D982698E4
-:101260002E9827982F98089589EA8093800089E026
-:101270008093810024982C983F988AB18F748AB902
-:101280006E98479A8BB1806B8BB9769A0E94DC0876
-:1012900083EB98E0892B11F00E94B30880E090E086
-:1012A000089580E28093000180913C0181110EC07D
-:1012B0000E94A00981E080933C012FEF83ED90E331
-:1012C000215080409040E1F700C0000080E40E947F
-:1012D000A6098093000181112EC00E94D00980933D
-:1012E0000001811128C00E94D00980930001811162
-:1012F00022C08FE30E94D0098093000181111BC09E
-:101300000E94C80980E40E94A6098093000181110F
-:1013100012C08CE00E94D0098093000181110BC0A3
-:101320000E94D00980930001811105C08FE30E94C3
-:10133000D009809300010E94C8098091000108959E
-:101340001092B9008AE08093B800089594EA9093CF
-:10135000BC009091BC0097FFFCCF9091B900987FA2
-:10136000983021F0903111F081E008958093BB0016
-:1013700084E88093BC008091BC0087FFFCCF809103
-:10138000B900887F883111F0803471F780E00895CA
-:1013900084E98093BC008091BC0084FDFCCF08955B
-:1013A0008093BB0084E88093BC008091BC0087FFE1
-:1013B000FCCF9091B900987F81E0983209F480E0E9
-:1013C000089584E88093BC008091BC0087FFFCCF27
-:1013D0008091BB00089580910001811115C080E4C7
-:1013E0000E94A6098093000181110CC082E10E9435
-:1013F000D00980930001811105C08FEF0E94D009B0
-:10140000809300010E94C80984B1807F84B985B1AE
-:10141000807F85B98AB1837F8AB98BB1837F8BB98D
-:101420003E98469808950E945109809300010E94B9
-:10143000EB0980B38C7080BB81B3836F81BBAEE35B
-:10144000B1E0ECE4F1E08EE08E0F11921D928E136C
-:10145000FCCF84E399E0892B11F00C9434090895B2
-:101460009F92AF92BF92CF92DF92EF92FF920F9333
-:101470001F93CF93DF93809100018823E1F0809147
-:101480003D018F5F80933D01811115C08AE394E097
-:101490000E94C8070E94510980930001882329F007
-:1014A00080E294E00E94C80706C08CE094E00E94AD
-:1014B000C8070E94DC080EE311E0C0E0D0E0BB24C6
-:1014C000B39482E0A82ECC24C394D12C2DEFE22E2D
-:1014D00023E0F22EC730D10500F580910001811183
-:1014E00064C080E40E94A60980930001811112C0AB
-:1014F00082E10E94D0098093000181110BC0C601D6
-:101500000C2E01C0880F0A94EAF780950E94D0093A
-:10151000809300010E94C80948C0CA30A1F028F495
-:10152000C83059F0C93061F005C0CC3089F070F096
-:10153000CD3089F0209A289810C0219A29980DC0A2
-:10154000229A2A980AC0239A2B9807C0529A01C05F
-:10155000539A5B9802C03E9A469890EA9A95F1F7A2
-:101560009FB1799902C082E001C080E091709B2513
-:10157000982B7C9902C084E001C080E0892B7D9982
-:1015800002C038E001C030E0832B7E9902C020E128
-:1015900001C020E0822B9FB19095991F9927991F38
-:1015A0009295990F907E892B10C080910001811136
-:1015B00074C080E40E94A60980930001882309F486
-:1015C00059C0912C0E94C809892DF8019081981763
-:1015D00039F1808380910101882301F18091D70145
-:1015E00080FF04C082E094E00E94C8078091D70188
-:1015F00080FF0CC0809101011F928F93FF92EF92A8
-:101600000E9461080F900F900F900F908091D7016A
-:1016100080FF04C08BEF93E00E94C807A0920101F5
-:101620000E94EB0921960F5F1F4FCE30D10509F0C4
-:1016300051CF809101018823B1F081508093010145
-:10164000882339F08FE99FE00197F1F700C000008F
-:101650000AC0ACE4B1E0EEE3F1E0CF01825F91912A
-:101660009D938E13FCCF83ED98E0892BC1F00E94EF
-:10167000D30815C083E10E94D00980930001811135
-:10168000A0CF81E40E94A60980930001811199CF27
-:101690000E94E109982E909495CF80E096CF81E04A
-:1016A000DF91CF911F910F91FF90EF90DF90CF903E
-:1016B000BF90AF909F900895E82FF0E0E45BFE4F5D
-:1016C00080810895CF92DF92EF92FF920F931F9344
-:1016D000CF93DF9384EE93E00E94C8078CE4E82E5A
-:1016E00081E0F82EC0E0D0E09FEDC92E93E0D92E26
-:1016F00006ED13E0DF93CF93DF92CF920E94610853
-:101700008CED93E00E94C807F70181917F0190E082
-:101710000E940E229F938F931F930F930E94610844
-:1017200084ED93E00E94C80721968DB79EB7089676
-:101730000FB6F8949EBF0FBE8DBFCE30D105D1F647
-:10174000DF91CF911F910F91FF90EF90DF90CF909D
-:1017500008958B3B910578F4883A910540F5853AD8
-:101760009105D0F48430910508F0B1C08130910525
-:1017700009F4ADC06BC0803E910508F467C0883E97
-:10178000910508F4A4C09C01205F31092031310586
-:1017900008F05CC090650895853A910509F459C038
-:1017A000863A910509F058C082E890E40895883A95
-:1017B000910509F454C0893A910509F453C08A3A55
-:1017C000910509F452C08B3A910509F451C08C3A45
-:1017D000910509F450C08D3A910509F44FC0803B42
-:1017E000910509F44EC08E3A910509F44DC08F3A27
-:1017F000910509F44CC0813B910509F44BC0823B33
-:10180000910509F44AC0833B910509F449C0843B22
-:10181000910509F448C0853B910509F447C0863B12
-:10182000910509F446C0873B910509F445C0883B02
-:10183000910509F444C0893B910509F443C08A3BF2
-:10184000910509F442C080E094E4089580E090E0BE
-:10185000089581E890E4089583E890E4089582EE85
-:1018600094E4089589EE94E408958AEE94E408954A
-:1018700085EB94E4089586EB94E4089587EB94E473
-:1018800008958CEC94E408958DEC94E4089583E835
-:1018900095E408958AE895E4089582E995E4089529
-:1018A00084E995E4089581E296E4089583E296E45C
-:1018B000089584E296E4089585E296E4089586E228
-:1018C00096E4089587E296E408958AE296E40895FE
-:1018D000089596E0799FF001112494E5899FE00D29
-:1018E000F11D1124E60FF11DEE0FFF1FEC5CFE4F02
-:1018F000859194910895880F991FFC01EC55F04053
-:10190000859194910895880F991FFC01EC5DFE4F1D
-:1019100085919491089526E0729FF001112444E589
-:10192000849FE00DF11D1124E60FF11DEE0FFF1F46
-:10193000EC5CFE4F859194919C013A9521154FE105
-:10194000340708F41AC13F512115304120F49F702B
-:101950000E94830C08959C0130532115304118F4E6
-:101960009927906C0895811520E5920769F40E94EB
-:10197000681B4FEF84E39CE0415080409040E1F7CA
-:1019800000C000000C94CE22813020E5920731F493
-:101990008091D70181608093D70108959C013055D3
-:1019A0002115304108F051C0292F33272F703327DC
-:1019B00021303105D9F4AC014370552702C0220F04
-:1019C000331F4A95E2F73C68AC0164E0440F551FB1
-:1019D0006A95E1F744275370242B352B73E0880F69
-:1019E000991F7A95E1F7807699271DC0223031053D
-:1019F00029F4982F8827816F906A08952330310544
-:101A0000A9F4AC014370552721E030E002C0220F59
-:101A1000331F4A95E2F73C6843E0880F991F4A95C7
-:101A2000E1F7807E9770822B932B08952430310547
-:101A3000E1F4AC014370552721E030E002C0220FF1
-:101A4000331F4A95E2F73A68E7CF9C0130572115DA
-:101A5000304118F49F70906208959C013058211510
-:101A6000304118F49F70906A0895803E9105E0F42B
-:101A7000803C910558F58133910509F46FC048F415
-:101A80008932910509F463C08A32910509F46DC069
-:101A900072C089339105E9F082389105D1F0853320
-:101AA000910509F44DC067C0833E910581F138F47A
-:101AB000803E9105B9F0823E9105D9F05CC0863E2A
-:101AC000910561F1873E9105A1F155C00E947B0C03
-:101AD00008952091EA0120FD02C021FF4CC080EE54
-:101AE00090E049C08091EA0180FFF9CF89E390E05E
-:101AF00042C08091EA0182FF0EC08091EA0184FF1A
-:101B000003C080E090E037C083EE90E034C0809165
-:101B1000EA0182FFF2CF82EE90E02DC08091EA01CF
-:101B200083FF0BC08091EA0184FDEBCF87EE90E04C
-:101B300022C08091EA0183FFF5CF86EE90E01BC0C2
-:101B40008091EA0185FF07C089E290E014C080918E
-:101B5000EA0185FFF9CF85E390E00DC08091EA01AD
-:101B600086FF07C08AE290E006C08091EA0186FF06
-:101B7000F9CF81E390E00E94A90B08950895809128
-:101B80006D0108959FB7F89410925C019FBF9091EA
-:101B9000F001943009F057C09091E9009F703091A6
-:101BA000EC00232F217030FD20E8922B24E02093BD
-:101BB000E9002091EB0020FF43C02091EE0027FFB9
-:101BC0003FC020915A01222321F02091E80025FFF7
-:101BD00037C010925A0126E03091E80035FD15C05B
-:101BE0003091F001343061F53091EB0035FD28C0C3
-:101BF000215021F481E080935A0122C0EFE9FFE0F7
-:101C00003197F1F700C00000E7CF8093F100809199
-:101C1000E80085FD0AC08091E80080FFFCCF80913C
-:101C2000E8008E778093E80006C08FB7F89421E033
-:101C300020935C018FBF9F709093E90080E008952E
-:101C40009F709093E9008FEF0895CF93DF9300D0BA
-:101C50001F92CDB7DEB79C018091F001843019F559
-:101C600093E099833B832A839093E9008FEF9091CF
-:101C7000E800815095FD06C095ED9A95F1F70000BA
-:101C80008111F5CF8091E80085FF0DC040E050E064
-:101C900063E070E0CE0101960E94F5108091E800AB
-:101CA0008E778093E8000F900F900F90DF91CF9187
-:101CB0000895CF93DF9300D01F92CDB7DEB7209168
-:101CC000F001243021F522E029839B838A8383E07D
-:101CD0008093E9008FEF9091E800815095FD06C058
-:101CE00095ED9A95F1F700008111F5CF8091E8000C
-:101CF00085FF0DC040E050E063E070E0CE0101964A
-:101D00000E94F5108091E8008E778093E8000F9094
-:101D10000F900F90DF91CF9108952091F001243022
-:101D2000F1F422E02093E9002FEF3091E8002150F8
-:101D300035FD06C035ED3A95F1F700002111F5CFDC
-:101D40002091E80025FF0BC040E050E065E070E026
-:101D50000E94F5108091E8008E778093E800089546
-:101D6000CF93DF932091F001243009F048C0EC01BB
-:101D700080910C018823E1F080910D018823C1F04E
-:101D800085E08093E9008FEF9091E800815095FD08
-:101D900006C095E19A95F1F700008111F5CF809189
-:101DA000E80085FF2CC040E050E060E170E017C023
-:101DB00081E08093E9008FEF9091E800815095FDDC
-:101DC00006C095ED9A95F1F700008111F5CF80914D
-:101DD000E80085FF14C040E050E068E070E0CE010C
-:101DE0000E94F5108091E8008E778093E80080E1F2
-:101DF000FE01ADE5B1E001900D928A95E1F7DF912A
-:101E0000CF91089589E794E00E94C8078091EF017F
-:101E1000811109C00E948A120E94E7128091E2009B
-:101E200084608093E200089585E794E00E94C807EB
-:101E30001092EF01089581E794E00C94C8078DE6B5
-:101E400094E00E94C8070C949E2C89E694E00E94BE
-:101E5000C8070E9464220E94A42C0E948C150C9436
-:101E6000BE0D20915B012F5F822F62E30E94122E34
-:101E7000992319F020935B01089510925B018091E2
-:101E80005C01882371F18091F001843041F58091EB
-:101E9000E9008F702091EC00922F917020FD90E866
-:101EA000892B94E09093E9009091EB0090FF14C08F
-:101EB0009091EE0097FF10C09091E80095FF03C04D
-:101EC0001092F100F9CF9091E80090FF05C0909139
-:101ED000E8009E779093E8008F708093E90010925D
-:101EE0005C01089542E061EC81E00E94041242E04E
-:101EF00061EC82E00E94041242E061EC83E00E9407
-:101F0000041242E261EC84E00E94041242E161ECBE
-:101F100085E00C9404128091F201833009F455C0DD
-:101F200030F4813071F0823009F48EC008958A3027
-:101F300009F47AC08B3009F460C0893009F09CC084
-:101F400020C08091F101813A09F096C08091E800AB
-:101F5000877F8093E8008091F5019091F601892BAD
-:101F600021F460E18DE591E003C060E080E090E065
-:101F700070E00E9440118091E8008B778093E80028
-:101F800008958091F101813209F076C08091F501C8
-:101F90009091F601009719F0049709F06DC08091B7
-:101FA000E800877F8093E8008091E80082FD05C00B
-:101FB0008091F0018111F8CF5FC08091F100809392
-:101FC0006D018091E8008B7753C08091F101813AD7
-:101FD00009F052C08091F5019091F601892B09F02A
-:101FE0004BC08091E800877F8093E8008091E800F3
-:101FF00080FFFCCF80910C0136C08091F1018132CD
-:10200000D9F58091F5019091F601892BA9F5809180
-:10201000E800877F8093E8000E9439128091F301E5
-:1020200080930C010C94681B8091F101813221F5A1
-:102030008091E800877F8093E8000E9439128091A8
-:10204000F40180936E0108958091F101813AA1F429
-:102050008091E800877F8093E8008091E80080FF0E
-:10206000FCCF80916E018093F1008091E8008E7723
-:102070008093E8000C943912089584B7877F84BF59
-:1020800088E10FB6F89480936000109260000FBE54
-:1020900090E080E80FB6F89480936100909361001F
-:1020A0000FBE0E9419160E948A120E94E7128091A8
-:1020B000E20084608093E20082EC9DE00E94A32114
-:1020C00078940E946C150E941B1682E091E00E9499
-:1020D00087150E948C2C88E594E00E94C8078091A7
-:1020E000F001853089F484E594E00E94C8070E94DD
-:1020F00028228091EE01882391F30E9450228823A8
-:1021000071F30E94DF10EBCF0E944916E8CF292F10
-:10211000332723303105C9F064F42130310581F0D3
-:102120002230310509F043C08DE890E021EB34E026
-:1021300042C021323105F1F02232310541F137C080
-:1021400082E190E02EE335E036C099278130910599
-:1021500041F08230910541F0892B49F5EDEAF4E038
-:1021600005C0E5E9F4E002C0EDE7F4E0849190E019
-:102170009F0121C06530D8F4E62FF0E0EE0FFF1F7D
-:10218000EB5DFE4F2081318189E090E014C0653025
-:1021900070F470E0FB01EE0FFF1FE55EFE4F208143
-:1021A0003181FB01EA5EFE4F808190E004C080E057
-:1021B00090E020E030E0FA0131832083089580E14F
-:1021C00089BD82E189BD09B400FEFDCF8091D800B0
-:1021D0008F7D8093D8008091E00082608093E00042
-:1021E0008091E00081FDFCCF0895CF92DF92EF92C5
-:1021F000FF920F931F93CF93DF93EC018B016A0142
-:102200000E945812811133C0C114D10439F0F60173
-:1022100080819181081B190BC80FD91FE12CF12C6B
-:102220000115110519F18091E80085FD16C0809116
-:10223000E8008E778093E800C114D10449F0F601DC
-:1022400080819181E80EF91EF182E08285E00FC065
-:102250000E945812882321F30AC089918093F100CB
-:1022600001501109FFEFEF1AFF0ADACF80E0DF918A
-:10227000CF911F910F91FF90EF90DF90CF90089535
-:102280002091F7013091F8012617370748F06115C2
-:10229000710539F42091E8002E772093E80001C001
-:1022A000B90140E061157105A9F12091F0012223E7
-:1022B00009F443C0253009F442C02091E80023FD11
-:1022C00040C02091E80022FD32C02091E80020FFAC
-:1022D000E9CF4091F3002091F20030E0342BFC0173
-:1022E000CF016115710559F02830310540F4819115
-:1022F0008093F100615071092F5F3F4FF1CF41E0B2
-:102300002830310509F040E02091E8002E77209335
-:10231000E800C8CF4111C9CF0AC08091F0018823DD
-:1023200061F0853061F08091E80083FD0AC0809102
-:10233000E80082FFF2CF80E0089582E0089583E014
-:10234000089581E008952091F7013091F801261752
-:10235000370748F06115710539F42091E8002E77B0
-:102360002093E80001C0B901FC0120E0611571056E
-:1023700091F18091F001882309F440C0853009F47F
-:102380003FC08091E80083FD3DC08091E80082FD60
-:102390002FC08091E80080FFE9CF2091F300809169
-:1023A000F20090E0922B6115710559F0883091058B
-:1023B00040F424912093F100319661507109019607
-:1023C000F2CF21E0089709F020E08091E8008E77B5
-:1023D0008093E800CBCF2111CCCF0AC08091F001CF
-:1023E000882361F0853061F08091E80083FD0AC0A8
-:1023F0008091E80082FFF2CF80E0089582E00895A6
-:1024000083E0089581E00895982F973058F59093D0
-:10241000E900981739F07091EC002091ED0050918F
-:10242000F00003C0242F762F50E021FF19C0309117
-:10243000EB003E7F3093EB003091ED003D7F309319
-:10244000ED003091EB0031603093EB007093EC00C5
-:102450002093ED005093F0002091EE0027FF07C07D
-:102460009F5FD3CF8F708093E90081E0089580E073
-:1024700008958091F10187FF11C08091E80082FDED
-:1024800005C08091F0018111F8CF11C08091E80062
-:102490008B770BC08091F001882349F08091E80090
-:1024A00080FFF8CF8091E8008E778093E800089550
-:1024B0002091E4003091E50095E64091EC00842FF6
-:1024C000817040FF22C08091E80080FD1CC0809197
-:1024D000F001882391F0853091F08091EB0085FD2B
-:1024E00010C04091E4005091E5004217530729F3D2
-:1024F0009A01915011F784E0089582E0089583E0F5
-:10250000089581E0089580E008954091E80042FF39
-:10251000DECF08950E94F8120E940013E0EEF0E072
-:10252000808181608083E8EDF0E080818F77808317
-:1025300019BCA7EDB0E08C918E7F8C9380818F7E4B
-:1025400080831092EF0108950F931F93CF93DF9331
-:102550000E94F8120E940013C8EDD0E088818F77A6
-:10256000888388818068888388818F7D888319BC6F
-:102570001092F0011092EC011092EE011092ED0118
-:1025800000EE10E0F80180818B7F8083888181607C
-:10259000888342E060E080E00E940412E1EEF0E017
-:1025A00080818E7F8083E2EEF0E080818160808395
-:1025B000808188608083F80180818E7F808388811C
-:1025C00080618883DF91CF911F910F910895E8ED8D
-:1025D000F0E080818F7E8083E7EDF0E08081816094
-:1025E000808384E082BF81E08093EF010C94A41289
-:1025F000E8EDF0E080818E7F80831092E200089504
-:102600001092DA001092E10008951F920F920FB617
-:102610000F9211242F933F934F935F936F937F9368
-:102620008F939F93AF93BF93EF93FF938091E100BC
-:1026300082FF0BC08091E20082FF07C08091E10021
-:102640008B7F8093E1000E94310F8091DA0080FF40
-:102650001FC08091D80080FF1BC08091DA008E7F60
-:102660008093DA008091D90080FF0DC080E189BDA0
-:1026700082E189BD09B400FEFDCF81E08093F001C5
-:102680000E94020F05C019BC1092F0010E94140FA5
-:102690008091E10080FF19C08091E20080FF15C0A9
-:1026A0008091E2008E7F8093E2008091E200806161
-:1026B0008093E2008091D80080628093D80019BC9A
-:1026C00085E08093F0010E941F0F8091E10084FF5C
-:1026D00030C08091E20084FF2CC080E189BD82E19E
-:1026E00089BD09B400FEFDCF8091D8008F7D809315
-:1026F000D8008091E1008F7E8093E1008091E2001C
-:102700008F7E8093E2008091E20081608093E200FE
-:102710008091EC01882311F084E007C08091E300F0
-:1027200087FD02C081E001C083E08093F0010E9438
-:10273000250F8091E10083FF29C08091E20083FF93
-:1027400025C08091E100877F8093E10082E0809343
-:10275000F0011092EC018091E1008E7F8093E10006
-:102760008091E2008E7F8093E2008091E2008061A0
-:102770008093E20042E060E080E00E9404128091D9
-:10278000F00088608093F0000E941B0FFF91EF9192
-:10279000BF91AF919F918F917F916F915F914F9179
-:1027A0003F912F910F900FBE0F901F9018951F9281
-:1027B0000F920FB60F9211242F933F934F935F9375
-:1027C0006F937F938F939F93AF93BF93CF93DF9339
-:1027D000EF93FF93C091E900CF708091EC00D82F68
-:1027E000D17080FDD0E81092E9008091F000877FE1
-:1027F0008093F00078940E941B141092E90080915D
-:10280000F00088608093F000CD2BCF70C093E9007A
-:10281000FF91EF91DF91CF91BF91AF919F918F91F8
-:102820007F916F915F914F913F912F910F900FBECC
-:102830000F901F9018951F93CF93DF93CDB7DEB7FE
-:10284000AA970FB6F894DEBF0FBECDBFE1EFF1E05F
-:1028500088E08E0F9091F10091938E13FBCF0E9430
-:102860008B0F8091E80083FF1FC18091F10190914F
-:10287000F201492F50E04A30510508F015C1FA0124
-:10288000EA5AFF4F0C94322E803881F0823809F0DA
-:102890000BC18091F5018F708093E9008091EB006E
-:1028A00085FB882780F91092E90006C08091ED0130
-:1028B0009091EE01911182609091E800977F909342
-:1028C000E8008093F1001092F100C8C0282F2D7FFE
-:1028D00009F0EAC0882319F0823061F0E5C08091E8
-:1028E000F301813009F0E0C0933009F080E080937B
-:1028F000EE012BC08091F301811127C08091F50179
-:102900008F7009F4D1C08093E9002091EB0020FF83
-:102910001CC0933021F48091EB00806214C0909130
-:10292000EB0090619093EB0021E030E0A90102C040
-:10293000440F551F8A95E2F74093EA001092EA008F
-:102940008091EB0088608093EB001092E900809109
-:10295000E800877F86C08111A7C01091F3011F771F
-:102960008091E3008078812B8093E3008091E800E0
-:10297000877F8093E8000E9439128091E80080FFF1
-:10298000FCCF8091E30080688093E300111102C0C6
-:1029900082E001C083E08093F00186C080588230DD
-:1029A00008F082C08091F3019091F4018C3D53E0D6
-:1029B000950779F583E08A838AE289834FB7F89493
-:1029C000DE01139620E03EE051E2E32FF0E0509369
-:1029D0005700E49120FF03C0E295EF703F5FEF7076
-:1029E0008E2F90E0EA3010F0C79601C0C0968D930C
-:1029F0009D932F5F243149F74FBF8091E800877F77
-:102A00008093E8006AE270E0CE0101960E944011D6
-:102A100014C0AE014F5F5F4F6091F5010E948710B7
-:102A2000BC01892B09F440C09091E800977F9093F6
-:102A3000E80089819A810E94A3118091E8008B7738
-:102A40008093E80031C0803879F58091E800877F75
-:102A50008093E8008091EC018093F1008091E80080
-:102A60008E778093E8000E9439121EC081111CC02D
-:102A70009091F3019230C0F48091E800877F8093B9
-:102A8000E8009093EC010E9439128091EC018111D1
-:102A900006C08091E30087FD02C081E001C084E0B0
-:102AA0008093F0010E94720F8091E80083FF0AC0BA
-:102AB0008091E800877F8093E8008091EB0080623E
-:102AC0008093EB00AA960FB6F894DEBF0FBECDBF81
-:102AD000DF91CF911F910895CF938091F0018823CA
-:102AE000A1F0C091E900CF709091EC00892F817026
-:102AF00090FD80E8C82B1092E9008091E80083FDEA
-:102B00000E941B14CF70C093E900CF910895909359
-:102B10007401809373010895E0917301F091740141
-:102B2000309721F00190F081E02D099480E0089524
-:102B3000EF92FF920F931F93CF93DF93E091730176
-:102B4000F09174013097B1F18C010280F381E02D96
-:102B500009958091D70182FF2DC080FF04C083E7D3
-:102B600096E00E94C807E80110E18DE6E82E86E0B5
-:102B7000F82E8091D70180FF0BC088811F928F9320
-:102B8000FF92EF920E9461080F900F900F900F90AC
-:102B9000115021961111EDCF8091D70180FF0AC00D
-:102BA0008BE696E0DF91CF911F910F91FF90EF9010
-:102BB0000C94C807DF91CF911F910F91FF90EF9078
-:102BC0000895E0917301F0917401309721F0048031
-:102BD000F581E02D099408952091710130917201E1
-:102BE0008217930771F09093720180937101E091C5
-:102BF0007301F0917401309721F00680F781E02D88
-:102C00000994089520916F01309170018217930704
-:102C100071F09093700180936F01E0917301F091D6
-:102C20007401309721F00084F185E02D0994089516
-:102C300008950C9418160E946A220E94130A0C949C
-:102C40003023CF93C82F8091D70182FF1EC080FF11
-:102C500004C08CE896E00E94C8078091D70180FFED
-:102C60000CC01F92CF9387E896E09F938F930E94AA
-:102C700061080F900F900F900F908091D70180FF07
-:102C800004C085E896E00E94C8078C2FCF910C9471
-:102C9000BE0DCF92DF92EF92FF920F931F93CF93CF
-:102CA000DF93CDB7DEB72B970FB6F894DEBF0FBE1C
-:102CB000CDBF0E94300A86E7C82E81E0D82E00E002
-:102CC00010E0E02E802F0E945C0BF60141916F0115
-:102CD000F42EF826B1F40F5F1F4F0E30110589F75F
-:102CE0008FEF89838A831B820E9473228160782FF1
-:102CF0009D838C8349815A816B818D810E94EC1662
-:102D000040C09091D70191FF04C08B870E94620B55
-:102D10008B8520E030E04F2D50E0922FBA01022E3B
-:102D200002C0759567950A94E2F760FF24C02E8370
-:102D3000EF8221E030E0690102C0CC0CDD1C9A95E5
-:102D4000E2F790E08C219D21892B09F420E028876F
-:102D50000E9473228160782F9A8789874E815F81D4
-:102D600068858A850E94EC16F801EA58FE4F80813A
-:102D7000C826C08206C02F5F3F4F2630310569F656
-:102D8000AACF0E94A126109175010E948C151817D8
-:102D9000A1F00E948C15809375012B960FB6F894C4
-:102DA000DEBF0FBECDBFDF91CF911F910F91FF907E
-:102DB000EF90DF90CF900C9421162B960FB6F894DD
-:102DC000DEBF0FBECDBFDF91CF911F910F91FF905E
-:102DD000EF90DF90CF900895CF93DF93CDB7DEB71C
-:102DE0002B970FB6F894DEBF0FBECDBF4F83588729
-:102DF00069877A878B87DE01119686E0FD01119243
-:102E00008A95E9F785E0FE01379601900D928A9543
-:102E1000E1F749815A816B817C818D819E810E947D
-:102E2000021E2B960FB6F894DEBF0FBECDBFDF910A
-:102E3000CF910895CF93882309F4C2C0C82F823858
-:102E400059F40E948C1581FDBBC089E30E949E202D
-:102E50000E947D2189E30CC0833879F40E948C158F
-:102E600080FDAEC083E50E949E200E947D2183E507
-:102E70000E94F120CF910C947D21843859F40E9456
-:102E80008C1582FD9DC087E40E949E200E947D21BA
-:102E900087E4EECF8CEF8C0F813A48F48C2F0E94A0
-:102EA000342B81118DC08C2F0E949E20E3CF80E2B5
-:102EB0008C0F883048F4C77081E001C0880FCA9534
-:102EC000EAF70E944621D6CF8BE58C0F833078F449
-:102ED000C53A29F0C63A31F083E890E005C081E8B0
-:102EE00090E002C082E890E0CF910C94EC1588E568
-:102EF0008C0F833108F064C0C83A39F1C93A41F106
-:102F0000CA3A49F1CB3A51F1CC3A59F1CD3A61F193
-:102F1000C03B69F1CE3A71F1CF3A79F1C13B81F111
-:102F2000C23B89F1C33B91F1C43B99F1C53BA1F18F
-:102F3000C63BA9F1C73BB1F1C83BB9F1C93BC1F1EF
-:102F4000CA3BC9F180E090E038C082EE90E035C025
-:102F500089EE90E032C08AEE90E02FC085EB90E0E1
-:102F60002CC086EB90E029C087EB90E026C08CEC6B
-:102F700090E023C08DEC90E020C083E891E01DC07C
-:102F80008AE891E01AC082E991E017C084E991E0F3
-:102F900014C081E292E011C083E292E00EC084E2AC
-:102FA00092E00BC085E292E008C086E292E005C0A4
-:102FB00087E292E002C08AE292E0CF910C9402167E
-:102FC000CF910895882309F44BC0823859F40E94A8
-:102FD0008C1581FF45C089E30E949E200E947D21BF
-:102FE00089E30CC0833871F40E948C1580FF38C0CF
-:102FF00083E50E949E200E947D2183E50E94F120AE
-:103000000C947D21843859F40E948C1582FF28C0CD
-:1030100087E40E949E200E947D2187E4EFCF9CEFF1
-:10302000980F913A58F390E2980F983050F48770C7
-:1030300091E001C0990F8A95EAF7892F0E944C21EF
-:10304000DFCF9BE5980F933020F480E090E00C9464
-:10305000EC15885A833120F480E090E00C9402163D
-:103060000895882321F00E9446210C947D21089523
-:10307000882321F00E944C210C947D210895BF9259
-:10308000CF92DF92EF92FF920F931F93CF93DF9334
-:1030900000D000D000D0CDB7DEB725E0FC01DE01C6
-:1030A000119601900D922A95E1F7FC014081318142
-:1030B0000281258122952F7063817481672B09F429
-:1030C000E5C23F3F19F44F3F09F4E0C27C01498358
-:1030D0003A8389819A812E830E945D20182FB92E10
-:1030E0000E945C200E94231FEB2DE295EF70F0E020
-:1030F000E05AFF4F2E810C94322E8B2D807F9B2D1A
-:103100009F70F92E882319F0F29480EFF8220023A3
-:1031100049F0FF2009F467C28F2D0E9456210E94BA
-:103120007D2161C2812F0E94E217FF2009F4AEC207
-:103130008F2D0E945C2126960FB6F894DEBF0FBE3D
-:10314000CDBFDF91CF911F910F91FF90EF90DF9056
-:10315000CF90BF900C947D213B2D307F8B2D8F70B5
-:10316000303211F08295807F112319F0113021F156
-:103170002CC00023B9F0222309F4A0C1213009F0AA
-:103180009DC126960FB6F894DEBF0FBECDBFDF916E
-:10319000CF911F910F91FF90EF90DF90CF90BF9054
-:1031A0000C946621222319F0213009F46FC28E831A
-:1031B0000E9469218E8196C1002321F0223008F0FF
-:1031C00065C27CC1211162C28DC1002321F022237E
-:1031D00009F474C108C2222309F484C119C22B2D39
-:1031E00026952695237030E02115310521F02130F8
-:1031F0003105D1F04BC2002321F0812F9B2D93701C
-:1032000002C080E090E026960FB6F894DEBF0FBEB5
-:10321000CDBFDF91CF911F910F91FF90EF90DF9085
-:10322000CF90BF900C94EC15002321F0812F9B2DA3
-:10323000937002C080E090E026960FB6F894DEBF4F
-:103240000FBECDBFDF91CF911F910F91FF90EF90F7
-:10325000DF90CF90BF900C940216812F002319F0BD
-:103260000E94272502C00E948F2526960FB6F8944B
-:10327000DEBF0FBECDBFDF91CF911F910F91FF90A9
-:10328000EF90DF90CF90BF900C9414268B2D83701D
-:1032900009F07BC00111FAC1812F82958695877054
-:1032A000880F880F912F9F70C92ED12CE12CF12C03
-:1032B000082E04C0CC0CDD1CEE1CFF1C0A94D2F7B7
-:1032C00014FF12C04FE050E060E070E004C0440F13
-:1032D000551F661F771F8A95D2F7CB01BA016095FB
-:1032E00070958095909503C060E070E0CB012B2D28
-:1032F000269526952370422F50E042305105D9F093
-:103300004330510569F16C297D298E299F2941306F
-:10331000510551F126960FB6F894DEBF0FBECDBF12
-:10332000DF91CF911F910F91FF90EF90DF90CF90A1
-:10333000BF900C944A1F6C297D298E299F292696BF
-:103340000FB6F894DEBF0FBECDBFDF91CF911F91B6
-:103350000F91FF90EF90DF90CF90BF900C94661F7D
-:103360000E944A1FC701B60126960FB6F894DEBF29
-:103370000FBECDBFDF91CF911F910F91FF90EF90C6
-:10338000DF90CF90BF900C942E1F002319F08B2D4F
-:10339000817001C08695882309F478C1812F8295B8
-:1033A00086958770880F880F912F9F70C92ED12C1A
-:1033B000E12CF12C082E04C0CC0CDD1CEE1CFF1CF3
-:1033C0000A94D2F714FF12C04FE050E060E070E0C2
-:1033D00004C0440F551F661F771F8A95D2F7CB0193
-:1033E000BA01609570958095909503C060E070E09B
-:1033F000CB012B2D269526952370422F50E042308D
-:103400005105D9F04330510569F16C297D298E2988
-:103410009F294130510551F126960FB6F894DEBF31
-:103420000FBECDBFDF91CF911F910F91FF90EF9015
-:10343000DF90CF90BF900C9424206C297D298E2999
-:103440009F2926960FB6F894DEBF0FBECDBFDF9141
-:10345000CF911F910F91FF90EF90DF90CF90BF9091
-:103460000C9440200E942420C701B60126960FB676
-:10347000F894DEBF0FBECDBFDF91CF911F910F91AA
-:10348000FF90EF90DF90CF90BF900C940820103FFA
-:10349000D1F118F4103E50F4A1C0123F09F463C0FA
-:1034A00008F44CC0133F09F473C098C01F708B2DF3
-:1034B0008F710023A1F00E94A11F812F26960FB6C5
-:1034C000F894DEBF0FBECDBFDF91CF911F910F915A
-:1034D000FF90EF90DF90CF90BF900C9431180E9436
-:1034E000C21F812F26960FB6F894DEBF0FBECDBF48
-:1034F000DF91CF911F910F91FF90EF90DF90CF90D0
-:10350000BF900C9438180023A9F02111BFC08B2D57
-:103510008F7126960FB6F894DEBF0FBECDBFDF9138
-:10352000CF911F910F91FF90EF90DF90CF90BF90C0
-:103530000C94E71F223008F0A9C0E9CF0023A9F0BE
-:103540008B2D8F7126960FB6F894DEBF0FBECDBFC0
-:10355000DF91CF911F910F91FF90EF90DF90CF906F
-:10356000BF900C94A11F002359F38B2D8F712696C9
-:103570000FB6F894DEBF0FBECDBFDF91CF911F9184
-:103580000F91FF90EF90DF90CF90BF900C94C21FEF
-:10359000002399F08B2D8F7126960FB6F894DEBF1D
-:1035A0000FBECDBFDF91CF911F910F91FF90EF9094
-:1035B000DF90CF90BF900C948C1F26960FB6F89496
-:1035C000DEBF0FBECDBFDF91CF911F910F91FF9056
-:1035D000EF90DF90CF90BF900C94821F0023A9F052
-:1035E000222309F4ADCF812F26960FB6F894DEBFC3
-:1035F0000FBECDBFDF91CF911F910F91FF90EF9044
-:10360000DF90CF90BF900C941A17222309F4ADCF0E
-:10361000812F26960FB6F894DEBF0FBECDBFDF9187
-:10362000CF911F910F91FF90EF90DF90CF90BF90BF
-:103630000C94E2174B2D4F70612FC7010E946A084E
-:1036400026960FB6F894DEBF0FBECDBFDF91CF91A7
-:103650001F910F91FF90EF90DF90CF90BF900C944F
-:10366000A61E4B2D4F70612FC70126960FB6F894FA
-:10367000DEBF0FBECDBFDF91CF911F910F91FF90A5
-:10368000EF90DF90CF90BF900C94680C26960FB609
-:10369000F894DEBF0FBECDBFDF91CF911F910F9188
-:1036A000FF90EF90DF90CF90BF9008950E9463212C
-:1036B0000E9438210E947D210E9447270E941426E3
-:1036C00080E090E00E94EC1580E090E00C940216FF
-:1036D0000E9453210C94561B0E945D20292F229595
-:1036E0002F7030E02C3031054CF42A3031056CF469
-:1036F000225031092230310588F407C02C303105C1
-:1037000049F02F30310531F009C0803E48F0803F4C
-:1037100029F406C093FB882780F9089580E0089576
-:1037200081E00895CF93DF9300D000D01F92CDB7F2
-:10373000DEB70F900F900F900F900F90DF91CF9109
-:103740000895CF93DF9300D000D000D0CDB7DEB77F
-:1037500026960FB6F894DEBF0FBECDBFDF91CF9196
-:1037600008951F93CF93DF93C091840116E0809159
-:103770008501C81799F0D0E01C9FF0011D9FF00D46
-:103780001124EA57FE4F4081518162817381848107
-:1037900095810E94A11B2196C770E9CFDF91CF913F
-:1037A0001F9108954091B6015091B7016091B80101
-:1037B0007091B9018091BA019091BB010C94A11B49
-:1037C0008091BB0182958F7009F054C08091B8013F
-:1037D000882309F44FC080918401A09185016091F4
-:1037E000B6017091B7014091B9015091BA01B6E0AC
-:1037F0008A1709F43FC090E041155105C1F17F3FA0
-:1038000011F46F3FA1F1B89FF001B99FF00D1124A1
-:10381000EA57FE4F218172132AC02081621327C00C
-:103820002281211124C0238134812417350710F40B
-:1038300021503109241B350B283C3105C0F420915F
-:10384000BB012F7020612093BB0126E0289FF0016F
-:10385000299FF00D1124E557FE4F80818F70806104
-:10386000808386EB91E00E943F180C94B11B019677
-:103870008770BECF0895CF92DF92EF92FF920F93A1
-:103880001F93CF93DF93CDB7DEB762970FB6F8944F
-:10389000DEBF0FBECDBF8C0185E0F801DE011D96B5
-:1038A00001900D928A95E1F7D8014C9111965C91A7
-:1038B000119712966C9112971396CD90DC901497F5
-:1038C0003091B6017091B7018091B9019091BA0120
-:1038D000009709F46BC17F3F19F43F3F09F466C1BB
-:1038E000E090B801EE2009F4C0C02091BB01C816D9
-:1038F000D90628F0F601E81BF90BCF0104C080952A
-:1039000090958C0D9D1DFF24F394883C910578F0D3
-:10391000F12C207F09F0C6C07C2DD98AC88A8989FC
-:103920000E94921B86EB91E00E943F18B1C0822F4B
-:10393000807F09F046C0751314C0341312C06111A2
-:1039400010C02F7020612093BB010E94D21B86EB18
-:1039500091E00E943F188091BB01D80115968C938D
-:103960002EC0CD2819F15F3F11F44F3FF9F0F62E2C
-:1039700061111CC0809184012091850136E082177D
-:1039800009F45AC090E0389FF001399FF00D1124DE
-:10399000EA57FE4F7181571306C07081471303C069
-:1039A0007281711103C001968770E9CFF62E6623EC
-:1039B00009F418C18091BB0181608093BB01F12C97
-:1039C00011C1751308C0341306C0611104C0809181
-:1039D000BB01D801C3C04D875E878D859E856A8BEC
-:1039E0000E946C1B6A898823E1F16623D1F1209142
-:1039F000BB01822F82958F7090E0029774F08091C6
-:103A0000B6019091B70198878F831986DB86CA86A5
-:103A10002C87CE0107960E943F1886E0F801A6EB9E
-:103A2000B1E001900D928A95E1F70E94E01B0E949F
-:103A3000D21BFF24F394D6C04D875E878D859E856B
-:103A40000E945D20292F22952F7030E02230310511
-:103A50000CF0BCC09F7009F0B6C0805E883008F4DE
-:103A6000C1C0C8010E943F18E4CFC816D90608F4A7
-:103A700053C0F601E81BF90BCF01883C910508F40F
-:103A800050C0F12C7C2DD98AC88A89890E94921B4A
-:103A9000E6EBF1E086E0DF011D928A95E9F70E94EE
-:103AA000D21BA0C0751314C0341312C0611110C012
-:103AB0008091BB01F8018583C8010E943F1886E010
-:103AC000E6EBF1E0DF011D928A95E9F7FE2C8AC052
-:103AD0004D875E878D859E856A8B0E946C1B6A89E7
-:103AE000882309F4BECF662309F4BBCF2091BB0124
-:103AF000822F82958F7090E002970CF48ECF809188
-:103B0000B6019091B7019A8389831B82DD82CC82B2
-:103B10002E83CE0101967FCF809590958C0D9D1DB3
-:103B2000ACCFF62E662309F49CCF75132EC0341348
-:103B30002CC02091BB0120FD1FC0822F82958F7069
-:103B4000D9F0D80115962C9315978F3049F08F5FD7
-:103B5000982F9295907F822F8F70892B15968C933A
-:103B6000C8010E943F1886E0F801A6EBB1E0019081
-:103B70000D928A95E1F793CF86E0F801A6EBB1E0CC
-:103B800001900D928A95E1F72DC04D875E878D8556
-:103B90009E850E946C1B811140CF8091BB0181608A
-:103BA0008093BB01C8010E943F181CC0662309F422
-:103BB00058CF4D875E878D859E850E946C1B88231C
-:103BC00009F44FCF2ACF811148CF0CC024303105E2
-:103BD0000CF047CF9F7009F440CFF8019581907F9A
-:103BE00009F03BCF8F2D62960FB6F894DEBF0FBE63
-:103BF000CDBFDF91CF911F910F91FF90EF90DF909C
-:103C0000CF9008951F93CF93DF93CDB7DEB72C9756
-:103C10000FB6F894DEBF0FBECDBF4F8358876987BC
-:103C20007A878B879C87CE0107960E943B1C88234E
-:103C300069F08F8198852A853B85232BF1F19F3F81
-:103C400009F063C08F3F09F060C037C086E0FE0115
-:103C50003796DE01119601900D928A95E1F76F81FA
-:103C60007885EA85FB85309741F17F3F11F46F3FFE
-:103C700021F12091850130E0C901019687709927D3
-:103C80004091840150E08417950709F447C0698387
-:103C90007A83FD83EC8396E0929FD001939FB00DD1
-:103CA0001124AA57BE4FFE01319601900D929A95AC
-:103CB000E1F7809385010E94B11B16E08091840199
-:103CC000909185018917C1F1189FC00111248A576D
-:103CD0009E4F0E943B1C882379F1E09184011E9F36
-:103CE000F0011124EA57FE4F4081518162817381B6
-:103CF000848195810E94A11B8091840190E00196AE
-:103D00008770992780938401D9CF4F815885698521
-:103D10007A858B859C850E94A11BCFCF0E94681B52
-:103D20001092850110928401E6EBF1E086E0DF015C
-:103D30001D928A95E9F7C1CF2C960FB6F894DEBF95
-:103D40000FBECDBFDF91CF911F910895EF92FF92EB
-:103D50000F931F93CF93DF938C01892B09F46CC0D1
-:103D6000F12CEE24E394E8012196F8018491843744
-:103D700040F4843008F051C0813081F0823019F174
-:103D80005BC0853709F444C0A8F19CE7980F9037D1
-:103D900008F052C08F770E94E21741C00E5F1F4F9C
-:103DA000FE01C49180E28C0F883048F4C7708E2DDC
-:103DB00001C0880FCA95EAF70E94562114C08C2FC3
-:103DC0000E941A172DC00E5F1F4FFE01C49180E2A2
-:103DD0008C0F883058F4C7708E2D01C0880FCA959B
-:103DE000EAF70E945C210E947D211AC08C2F0E945C
-:103DF000E21716C00E5F1F4FFE01C491CC2381F065
-:103E00008FE99FE00197F1F700C00000C150F6CFA5
-:103E10000E5F1F4FFE01F49003C00E941A178E011F
-:103E20008F2D882309F49FCFEFE9FFE03197F1F759
-:103E300000C000008150F5CFDF91CF911F910F910D
-:103E4000FF90EF90089508956093C0017093C101B1
-:103E50008093C2019093C3010C94561B0F931F9340
-:103E60000091C0011091C1012091C2013091C301A4
-:103E7000DC01CB01802B912BA22BB32B8093C001B3
-:103E80009093C101A093C201B093C3011F910F9100
-:103E90000C94561B0F931F930091C0011091C10108
-:103EA0002091C2013091C301DC01CB018023912319
-:103EB000A223B3238093C0019093C101A093C201B8
-:103EC000B093C3011F910F910C94561B0F931F9336
-:103ED0000091C0011091C1012091C2013091C30134
-:103EE000DC01CB0180279127A227B3278093C00153
-:103EF0009093C101A093C201B093C3011F910F9190
-:103F00000C94561B1092BC011092BD011092BE0180
-:103F10001092BF010C94561B41E050E060E070E04D
-:103F200004C0440F551F661F771F8A95D2F7409330
-:103F3000BC015093BD016093BE017093BF010C940E
-:103F4000561B41E050E060E070E004C0440F551F94
-:103F5000661F771F8A95D2F78091BC019091BD01B1
-:103F6000A091BE01B091BF01482B592B6A2B7B2B2E
-:103F70004093BC015093BD016093BE017093BF019B
-:103F80000C94561B41E050E060E070E004C0440F28
-:103F9000551F661F771F8A95D2F7409550956095FB
-:103FA00070958091BC019091BD01A091BE01B0912E
-:103FB000BF01482359236A237B234093BC015093BC
-:103FC000BD016093BE017093BF010C94561B41E08C
-:103FD00050E060E070E004C0440F551F661F771F7B
-:103FE0008A95D2F78091BC019091BD01A091BE014C
-:103FF000B091BF01482759276A277B274093BC010E
-:104000005093BD016093BE017093BF010C94561B89
-:104010000F931F930091BC011091BD012091BE012F
-:104020003091BF01DC01CB01802B912BA22BB32B54
-:104030008093BC019093BD01A093BE01B093BF01DA
-:104040001F910F910C94561B0F931F930091BC016D
-:104050001091BD012091BE013091BF01DC01CB0167
-:1040600080239123A223B3238093BC019093BD01AD
-:10407000A093BE01B093BF011F910F910C94561BEA
-:104080000F931F930091BC011091BD012091BE01BF
-:104090003091BF01DC01CB0180279127A227B327F4
-:1040A0008093BC019093BD01A093BE01B093BF016A
-:1040B0001F910F910C94561B0895CF92DF92EF92AF
-:1040C000FF920F931F93CF93DF938C01C090C00199
-:1040D000D090C101E090C201F090C3014091BC01B9
-:1040E0005091BD016091BE017091BF01C42AD52AD3
-:1040F000E62AF72ACFE1D0E0D701C6010C2E04C092
-:10410000B695A795979587950A94D2F780FF07C033
-:10411000B8018C2F0E948B0C8130910531F42197CE
-:1041200058F7B80180E00E948B0CDF91CF911F916E
-:104130000F91FF90EF90DF90CF90089590910C0138
-:10414000992321F090910D01911109C020910E0148
-:1041500030910F01F90132969FEF40E030C0982F67
-:104160009695969596959F30A0F4E0910E01F0916A
-:104170000F01E90FF11D877021E030E0A90102C0B5
-:10418000440F551F8A95E2F7CA019181892B8183DB
-:1041900008959091D70190FF23C01F928F938DEBCC
-:1041A00096E09F938F930E9461080F900F900F905D
-:1041B0000F9008959F3F39F04F5F4E3041F051917D
-:1041C0005813F8CF0DC05111F7CF942FF5CF9F3F63
-:1041D00039F0F901E90FF11D97FDFA9582830895F1
-:1041E000089590910C01992321F090910D01911166
-:1041F00009C020910E0130910F01F9013296205F24
-:104200003F4F30C0982F9695969596959F30A8F47D
-:10421000E0910E01F0910F01E90FF11D877021E08F
-:1042200030E0A90102C0440F551F8A95E2F7CA0188
-:10423000809591818923818308959091D70190FF82
-:1042400016C01F928F938FE996E09F938F930E94E1
-:1042500061080F900F900F900F9008953196E2171C
-:10426000F30729F090819813F9CF1082F7CF0895C2
-:1042700081E090E0E0910E01F0910F01E80FF91F4D
-:104280001082019680319105A9F708959091D60189
-:10429000892B8093D601089580959091D60189232A
-:1042A0008093D60108951092D60108959091D5017A
-:1042B000892B8093D501089580959091D50189230C
-:1042C0008093D50108951092D50108958093C4017B
-:1042D00008951092C401089580910E0190910F01EC
-:1042E000FC0131969C01205F3F4F80E0919191113C
-:1042F0008F5FE217F307D1F70895E0910E01F09177
-:104300000F018091D6018083E0910E01F0910F01A1
-:1043100090818091D501892B80838091C40188236D
-:1043200061F0E0910E01F0910F019081892B808363
-:104330000E946C2181111092C40180910E01909114
-:104340000F010C94981590933B0180933A010895C6
-:10435000CF92DF92EF92FF926C01EE24FF24C11402
-:10436000D104E104F10421F0C701B60120E101C04C
-:1043700020E0C72ED82EE92EFF24C114D104E10479
-:10438000F10419F0285FC701B6016B017C0154E00C
-:10439000F694E794D794C7945A95D1F7C114D104F1
-:1043A000E104F10419F02C5FC701B6016B017C0137
-:1043B00042E0F694E794D794C7944A95D1F7C11494
-:1043C000D104E104F10419F02E5FC701B601DC014C
-:1043D000CB01B695A79597958795892B8A2B8B2B23
-:1043E00009F02F5F822FFF90EF90DF90CF9008951C
-:1043F0008295982F9C7C392F36953695282F2373DC
-:1044000044E0249FC0011124932F982B292F2A7A4E
-:104410002695892F8575880F822B08951F93CF933A
-:10442000DF931F92CDB7DEB799830E94F821182F32
-:104430009981892F0E94F821212F30E0322F2227E5
-:10444000A901482BCA010F90DF91CF911F910895C8
-:104450008091F001843009F11092D80120E488E1C4
-:1044600090E00FB6F894A895809360000FBE20935B
-:10447000600083B7817F846083BF83B7816083BF1F
-:104480007894889583B78E7F83BF88E10FB6F894C0
-:1044900080936000109260000FBE08950895089503
-:1044A000CF930E944E220E94300A0E944F22C0E009
-:1044B0008C2F0E945C0B811104C0CF5FCE30C1F7FE
-:1044C00001C081E0CF9108950E94681B0E948C1565
-:1044D0000C94BE0D82E084BD93E095BD9AEF97BD2C
-:1044E00080936E0008952FB7F8948091D901909130
-:1044F000DA01A091DB01B091DC012FBF0895CF92CA
-:10450000DF92EF92FF920F931F932FB7F894409191
-:10451000D9015091DA016091DB017091DC012FBF6C
-:104520006A017B01EE24FF248C0120E030E0C016FC
-:10453000D106E206F30610F4415051099A01281BF6
-:10454000390BC9011F910F91FF90EF90DF90CF9031
-:1045500008951F920F920FB60F9211248F939F937D
-:10456000AF93BF938091D9019091DA01A091DB01C3
-:10457000B091DC010196A11DB11D8093D9019093EA
-:10458000DA01A093DB01B093DC01BF91AF919F9161
-:104590008F910F900FBE0F901F9018950E948A1256
-:1045A000F8942FEF87EA91E6215080409040E1F7A0
-:1045B00000C0000087E090EBDC018093F90190934C
-:1045C000FA01A093FB01B093FC019CE088E10FB6D7
-:1045D000F894A895809360000FBE90936000FFCF81
-:1045E000EF92FF920F931F93CF93DF93D82FC0E0EA
-:1045F0008C2F0E945C0B00E010E0E82EF12CC7012C
-:10460000002E02C0959587950A94E2F780FD06C0BA
-:104610000F5F1F4F0630110591F709C0602F7C2FE7
-:1046200080E00E94690CD813F3CF81E004C0CF5F13
-:10463000CE30F1F680E0DF91CF911F910F91FF9086
-:10464000EF900895CF93C82F8CE20E94F022882328
-:1046500021F08C2FCF910C94F02280E0CF9108951F
-:10466000CF930E947F24811102C00E94652482EEB4
-:1046700096E00E94C807C5E6C15049F00E94300A82
-:104680008FE39CE90197F1F700C00000F5CF8BEDB7
-:1046900096E00E94C80789E20E942223811113C17B
-:1046A0008AE20E94222381110E94652485E00E94F3
-:1046B000222381110E94CE220E948A248093D70156
-:1046C00087E00E9422238823A9F18BE10E94222304
-:1046D000882351F08091D70181FB222720F991E0B6
-:1046E000922790FB81F90EC08EE00E94222388233E
-:1046F00061F08091D70182FB222720F991E0922777
-:1047000090FB82F98093D70115C080E10E9422239B
-:104710009091D701882341F093FB222720F981E073
-:10472000822780FB93F904C0892F809580FB90F944
-:104730009093D7018091D7010E948E240E949C24DF
-:104740008093EA0180EE0E942223882341F0809129
-:10475000EA01982F909590FB80F98093EA0189E314
-:104760000E942223882359F08091EA0181FB2227AD
-:1047700020F991E0922790FB81F98093EA0182EE83
-:104780000E942223882359F08091EA0182FB22278C
-:1047900020F991E0922790FB82F98093EA0186EE5E
-:1047A0000E942223882359F08091EA0183FB22276B
-:1047B00020F991E0922790FB83F98093EA0183EE40
-:1047C0000E942223882359F08091EA0184FB22274A
-:1047D00020F991E0922790FB84F98093EA0185E328
-:1047E0000E942223882359F08091EA0185FB222729
-:1047F00020F991E0922790FB85F98093EA0181E30B
-:104800000E942223882359F08091EA0186FB222707
-:1048100020F991E0922790FB86F98093EA0181E1EB
-:104820000E942223882359F08091EA0187FB2227E6
-:1048300020F991E0922790FB87F98093EA0180911B
-:10484000EA010E94A0248091EA0187FB882780F971
-:1048500080930D0187E20E942223C82F8EE10E94DF
-:1048600022238111C2608FE10E9422238111C46042
-:1048700080E20E9422238111C86081E20E942223EB
-:104880008111C06182E20E9422238111C06283E211
-:104890000E9422238111C06484E20E942223882383
-:1048A00011F0C06802C0CC2329F08C2F0E949724FD
-:1048B0006C2F03C00E949324682F70E080E090E08A
-:1048C000CF910C94241FCF9108956DEE7EEF80E080
-:1048D00090E00E94682E60E082E090E00E945A2EF4
-:1048E00060E083E090E00E945A2E60E084E090E077
-:1048F0000E945A2E60E085E090E00C945A2E80E0F1
-:1049000090E00E94542E21E08D3E9E4F09F020E061
-:10491000822F089582E090E00C944C2E682F82E064
-:1049200090E00C945A2E83E090E00C944C2E682F6B
-:1049300083E090E00C945A2E84E090E00C944C2E8E
-:10494000682F84E090E00C945A2E8091DF0180FF64
-:104950000BC06091130185E0689FB001112475952B
-:104960006795759567952BC081FF09C0609113010C
-:1049700085E0689FB00111247595679520C082FF7E
-:1049800007C06091130185E0689FB001112417C032
-:104990009091E0019923D1F060911201961788F768
-:1049A0002091130185E0289F90011124929FA0017E
-:1049B000939F500D112470E0CA010E941E2E603892
-:1049C000710540F46115710539F002C065E070E0D1
-:1049D000862F08958FE7089581E008958091DF0183
-:1049E00080FF08C06091110170E07595679575951D
-:1049F000679521C081FF06C06091110170E0759537
-:104A0000679519C082FF04C06091110170E010C069
-:104A10009091E0019923C1F0609110019617A0F7E1
-:104A200080911101899FC001112470E00E941E2E07
-:104A30006038710528F46115710521F0862F0895FD
-:104A40008FE7089581E0089561E070E0F4CF803F42
-:104A500021F40E94A524819504C0813F29F40E947D
-:104A6000A5248093E3010895823F21F40E94A524A8
-:104A7000819504C0833F29F40E94A5248093E2011C
-:104A80000895893F19F40E94EE2405C08A3F31F44D
-:104A90000E94EE2481958093E40108958B3F21F4D8
-:104AA0000E94EE24819504C08C3F29F40E94EE24DC
-:104AB0008093E5010895843F21F48091E1018160B4
-:104AC00017C0853F21F48091E101826011C0863FCB
-:104AD00021F48091E10184600BC0873F21F4809133
-:104AE000E101886005C0883F31F48091E101806177
-:104AF0008093E10108958D3F21F48091DF01816071
-:104B00000BC08E3F21F48091DF01826005C08F3F92
-:104B100029F48091DF0184608093DF010895803F54
-:104B200039F48091E30187FF6CC01092E30169C002
-:104B3000813F29F48091E3011816BCF362C0909183
-:104B4000E201823F29F497FF5CC01092E20159C054
-:104B5000833F19F41916CCF354C0893F41F4809176
-:104B6000E40118160CF04DC01092E4014AC08A3FCF
-:104B700029F48091E40187FF44C0F6CF8B3F39F4DC
-:104B80008091E50187FF3DC01092E5013AC08C3F5E
-:104B900029F48091E5011816BCF333C0843F21F459
-:104BA0008091E1018E7F17C0853F21F48091E10162
-:104BB0008D7F11C0863F21F48091E1018B7F0BC076
-:104BC000873F21F48091E101877F05C0883F31F460
-:104BD0008091E1018F7E8093E10113C08D3F21F42C
-:104BE0008091DF018E7F0BC08E3F21F48091DF0129
-:104BF0008D7F05C08F3F29F48091DF018B7F8093EB
-:104C0000DF018091E20181110EC08091E3018111E9
-:104C10000AC08091E401811106C08091E5018111F3
-:104C200002C01092E00108958091D70183FF7EC0F9
-:104C30008EE197E00E94C8078091E1011F928F9357
-:104C400089E197E09F938F930E94610887E197E045
-:104C50000E94C8078091E201282F332727FD309555
-:104C60003F938F9384E197E09F938F930E94610815
-:104C700082E197E00E94C8078091E301282F332743
-:104C800027FD30953F938F938FE097E09F938F930D
-:104C90000E9461088DE097E00E94C8078091E401BE
-:104CA000282F332727FD30953F938F938AE097E095
-:104CB0009F938F930E94610888E097E00E94C80745
-:104CC0008091E501282F332727FD30953F938F935F
-:104CD00085E097E09F938F930E94610882E097E0C0
-:104CE0000E94C8078091E0011F928F938FEF96E09A
-:104CF0009F938F930E9461088DEF96E00E94C807F2
-:104D00008091DF011F928F938AEF96E09F938F939C
-:104D10000E94610887EF96E00E94C8078DB79EB792
-:104D20004C960FB6F8949EBF0FBE8DBF81EE91E0FA
-:104D30000E94E1150E9473229093DE018093DD01B1
-:104D400008951F93CF93DF938091DD019091DE0151
-:104D50000E947F22AC019091E001992321F02091E3
-:104D6000140130E006C0209115018AE0289F9001CF
-:104D700011244217530708F486C08091E201C091C4
-:104D8000E301D091E4011091E501811107C0C11147
-:104D900076C0D11174C0111172C075C09F3F19F057
-:104DA0009F5F9093E001181624F40E94A52480933D
-:104DB000E2018091E20187FF05C00E94A524819550
-:104DC0008093E2011C1624F40E94A5248093E30141
-:104DD0008091E30187FF05C00E94A52481958093FF
-:104DE000E3016091E201662339F1C091E301CC2334
-:104DF00019F1772767FD7095872F972F0E94232D34
-:104E000023E333E343E35FE30E94872D0E94F02C0A
-:104E10006093E2016C2F772767FD7095872F972F9E
-:104E20000E94232D23E333E343E35FE30E94872DB6
-:104E30000E94F02C6093E3011D1624F40E94EE24DE
-:104E40008093E4018091E40187FF05C00E94EE2475
-:104E500081958093E401111624F40E94EE2480933E
-:104E6000E5018091E50187FF05C00E94EE24819550
-:104E70008093E501DF91CF911F910C9414269F3F01
-:104E800009F08ECF96CFDF91CF911F910895E1EE7B
-:104E9000F1E085E0DF011D928A95E9F71092E001CB
-:104EA0001092DF01089581E499E00E94C8071F92E3
-:104EB00081E08F931F9285E08F9383EF98E09F931B
-:104EC0008F930E9461080F900F900F900F900F909A
-:104ED0000F9008958330E9F128F4813061F0823039
-:104EE00009F10895853009F462C008F449C086309C
-:104EF00009F474C0089580911501262F30E0280F21
-:104F0000311D2F3F310524F4680F6093150103C054
-:104F10008FEF80931501809115011F928F938CE282
-:104F200098E072C080911401262F30E0280F311DC7
-:104F30002F3F310524F4680F6093140103C08FEFF5
-:104F400080931401809114011F928F938AE198E05D
-:104F50005BC080911301262F30E0280F311D2F3FB9
-:104F6000310524F4680F6093130103C08FEF809321
-:104F70001301809113011F928F9387E098E044C042
-:104F800080911201262F30E0280F311D2F3F31056F
-:104F900024F4680F6093120103C08FEF8093120115
-:104FA000809112011F928F9382EF97E02DC0809124
-:104FB0001101262F30E0280F311D2F3F310524F439
-:104FC000680F6093110103C08FEF809311018091EE
-:104FD00011011F928F9389ED97E016C08091100107
-:104FE000262F30E0280F311D2F3F310524F4680FA4
-:104FF0006093100103C08FEF809310018091100126
-:105000001F928F938EEB97E09F938F930E9461087E
-:105010000F900F900F900F900895833081F128F436
-:10502000813059F08230D1F00895853009F449C0BB
-:10503000B8F1863009F456C00895809115016817BB
-:1050400020F4861B8093150102C0109215018091F7
-:1050500015011F928F938FEA97E054C0809114013D
-:10506000681720F4861B8093140102C0109214016B
-:10507000809114011F928F938DE997E043C0809136
-:105080001301681720F4861B8093130102C010924D
-:105090001301809113011F928F938AE897E032C029
-:1050A00080911201681720F4861B8093120102C0C0
-:1050B00010921201809112011F928F9385E797E061
-:1050C00021C080911101681720F4861B8093110183
-:1050D00002C010921101809111011F928F938CE5F3
-:1050E00097E010C080911001681720F4861B809310
-:1050F000100102C010921001809110011F928F9335
-:1051000081E497E09F938F930E9461080F900F9026
-:105110000F900F900895CF93C82F1F928F9386E41E
-:105120009AE09F938F930E94610881E090E0A0E055
-:10513000B0E0BC01CD0104C0660F771F881F991F26
-:10514000CA95D2F70E94241F0F900F900F900F90D6
-:10515000CF910C94681BCF938D3109F465C0B0F5E5
-:105160008E3009F4CCC100F5873009F49BC1A8F456
-:10517000863009F06DC28091D701817F8E7F809348
-:10518000D7018BE49AE00E94C8078DE89EE00E9458
-:10519000C80781E08093E70180C1883009F44FC0DF
-:1051A0008B3009F47CC154C2863109F4F0C138F463
-:1051B000803109F4B8C1813109F430C249C2893162
-:1051C00009F4CEC18B3109F486C142C2853309F49A
-:1051D00037C248F4873209F433C208F433C2893243
-:1051E00009F42EC235C2833438F48A3308F02CC255
-:1051F000883309F454C12CC2833409F421C28834A1
-:1052000009F026C20E94681B8CE79EE00E94C80736
-:105210009FEF23ED80E3915020408040E1F700C0F4
-:1052200000000E94CE2239C18CE99EE00E94C8078E
-:105230000E94AA2C0E948C150E94BE0D2EC181E9ED
-:105240009EE00E94C8078CE59CE00E94C8070E946F
-:1052500093241F928F9389E59CE09F938F930E94E4
-:10526000610887E59CE00E94C8070E948A24C82F35
-:1052700084E49CE00E94C8071F92CF938FE39CE0D8
-:105280009F938F930E9461088DE39CE00E94C80762
-:1052900083E39CE00E94C8078C2F81701F928F933C
-:1052A00080E39CE09F938F930E9461088EE29CE0D4
-:1052B0000E94C80784E29CE00E94C807C1FB8827BF
-:1052C00080F91F928F9381E29CE09F938F930E94BD
-:1052D00061088FE19CE00E94C80783E19CE00E9486
-:1052E000C807C2FB882780F91F928F9380E19CE05A
-:1052F0009F938F930E9461088EE09CE00E94C807F4
-:1053000085E09CE00E94C807C3FBCC27C0F91F9230
-:10531000CF9382E09CE09F938F930E94610880E08E
-:105320009CE00E94C8070E949C24C82F8CEE9BE042
-:105330000E94C8071F92CF9387EE9BE09F938F93A5
-:105340000E94610885EE9BE00E94C8078CEC9BE000
-:105350000E94C8078C2F81701F928F9389EC9BE06D
-:105360009F938F930E9461088DB79EB780960FB66A
-:10537000F8949EBF0FBE8DBF87EC9BE00E94C807CC
-:1053800080EB9BE00E94C807C1FB882780F91F9231
-:105390008F938DEA9BE09F938F930E9461088BEA25
-:1053A0009BE00E94C80789E99BE00E94C807C2FBF6
-:1053B000882780F91F928F9386E99BE09F938F93B4
-:1053C0000E94610884E99BE00E94C80782E89BE094
-:1053D0000E94C807C3FB882780F91F928F938FE72D
-:1053E0009BE09F938F930E9461088DE79BE00E9452
-:1053F000C80783E79BE00E94C807C4FB882780F9A1
-:105400001F928F9380E79BE09F938F930E94610888
-:105410008EE69BE00E94C8078CE59BE00E94C807CF
-:10542000C5FB882780F91F928F9389E59BE09F93A6
-:105430008F930E94610887E59BE00E94C8078BE379
-:105440009BE00E94C807C6FB882780F91F928F93B4
-:1054500088E39BE09F938F930E94610886E39BE023
-:105460000E94C8078EE29BE00E94C807C7FBCC27BA
-:10547000C0F91F92CF938BE29BE09F938F930E9482
-:10548000610889E29BE00E94C8078DB79EB74C96E1
-:105490000FB6F8949EBF0FBE8DBFC1E0DEC082E79D
-:1054A0009AE05BC08091D701C82FC17080FF09C00E
-:1054B0008FE69EE00E94C8078091D701817F8E7F92
-:1054C00047C083E69EE00E94C8078091D7018160B3
-:1054D0008093D701E2CF9091D70191FBCC27C0F9FF
-:1054E00081E0C827892FC0FB81F98093D701CC23A5
-:1054F00019F086E59EE027C088E49EE02EC09091DA
-:10550000D70192FBCC27C0F981E0C827892FC0FBC7
-:1055100082F98093D701CC2319F089E39EE013C070
-:1055200089E29EE01AC09091D70193FBCC27C0F985
-:1055300081E0C827892FC0FB83F98093D701CC2352
-:1055400051F08DE19EE00E94C8078091D7018160F3
-:105550008093D70182C080E19EE00E94C8079DCF62
-:1055600081E09EE00E94C80785ED9DE00E94C8078B
-:1055700088E99DE00E94C8078BE69DE00E94C8076D
-:1055800087E29DE00E94C8078CEF9CE0E6CF8EEE9C
-:105590009CE00E94C8070E948C151F928F9384ED97
-:1055A0009CE09F938F930E94610880910C011F9251
-:1055B0008F938DEB9CE09F938F930E946108809165
-:1055C0006E011F928F938AEA9CE09F938F930E94B3
-:1055D000610880910D011F928F9387E99CE09F9352
-:1055E0008F930E9461088091D9019091DA01A09176
-:1055F000DB01B091DC01BF93AF939F938F9383E85E
-:105600009CE09F938F930E9461088DB79EB746964A
-:105610000FB6F8949EBF0FBE8DBF3FCF0E94681B90
-:10562000C0910D0181E0C827C0930D01CC2329F062
-:1056300089E79CE00E94C80710C08EE69CE08DCFF1
-:1056400080E003C08D5101C089530E948B2825CF73
-:105650008CE69CE00E94C807C0E08C2FCF91089593
-:1056600080E0089580E00895CF93C82F8091E701EE
-:10567000813081F020F0823009F44FC045C1E091C3
-:105680000E01F0910F018081813169F0823209F0C1
-:105690003DC109C0E0910E01F0910F01808181317F
-:1056A00011F0823261F48C2F0E94302B811104C0E2
-:1056B0008C2F0E94AB282FC081E090E02CC08C2F53
-:1056C0000E94322B811126C0C431E1F070F4CB303E
-:1056D00081F0C031D1F40E9453278EE39AE00E94FA
-:1056E000C80782E08093E70115C0C93259F0C8337A
-:1056F00061F48BE49AE00E94C80782E49AE00E9479
-:10570000C80708C01092E70103C18CE39AE00E9429
-:10571000C807FEC081E08170FDC0C43220F5CE31E3
-:1057200008F0C0C0CB3099F1C8F4C73009F0D2C03E
-:105730008AE08093150194E19093140193E0909393
-:1057400013018093120188E08093110188E2809315
-:10575000100182EE98E00E94C807BFC0C33149F132
-:10576000C431C1F0B7C0CB3409F4A9C028F4C932A0
-:1057700089F0C83361F0AEC0C13509F49EC0C235AE
-:1057800009F499C0CE3409F0A5C06AE09EC00E9419
-:105790005327A3C08091E601882319F01092E601F7
-:1057A0009CC08FEE98E00E94C80781E08093E701DB
-:1057B000B1C089EC98E00E94C80787EB98E00E948E
-:1057C000C807809115011F928F9384EB98E09F93F7
-:1057D0008F930E94610882EB98E00E94C80780EADC
-:1057E00098E00E94C807809114011F928F938DE961
-:1057F00098E09F938F930E9461088BE998E00E9444
-:10580000C8078CE898E00E94C807809113011F9296
-:105810008F9389E898E09F938F930E94610887E8AF
-:1058200098E00E94C80786E798E00E94C807809128
-:1058300012011F928F9383E798E09F938F930E94AA
-:10584000610881E798E00E94C8078CE598E00E9413
-:10585000C807809111011F928F9389E598E09F936B
-:105860008F930E94610887E598E00E94C80780E452
-:1058700098E00E94C807809110011F928F938DE3DA
-:1058800098E09F938F930E9461088BE398E00E94B9
-:10589000C8078DB79EB748960FB6F8949EBF0FBE47
-:1058A0008DBF1BC0CE51EC2FF0E0E15DFE4F80813B
-:1058B0008093E60112C061E003C061E006C06AE0C7
-:1058C0008091E6010E946A2708C08091E6010E944B
-:1058D0000D2803C080EE98E013C08091E601882374
-:1058E00069F01F928F938AED98E09F938F930E94A7
-:1058F00061080F900F900F900F9004C087ED98E013
-:105900000E94C80781E006C01092E70180E002C053
-:1059100080E001CFCF910895E1E8F0E080818860D8
-:1059200080838081816080838FB7F89493E0909327
-:10593000890090ED909388008FBF0895EFE6F0E026
-:105940008081826080830895EFE6F0E080818D7F22
-:1059500080830895EFE6F0E0908182E089278083DC
-:1059600008951F920F920FB60F9211242F933F9319
-:105970004F935F936F937F938F939F93AF93BF9357
-:10598000EF93FF938091E8019091E9010196909344
-:10599000E9018093E801811103C082E00E94BE0DFD
-:1059A000E091E901E695E695F0E0E455F14FE491E8
-:1059B0008091E8018E1303C080E00E94BE0DFF912C
-:1059C000EF91BF91AF919F918F917F916F915F9177
-:1059D0004F913F912F910F900FBE0F901F901895F0
-:1059E00004D06894B1118DC0089570D088F09F578D
-:1059F00090F0B92F9927B751A0F0D1F0660F771F1B
-:105A0000881F991F1AF0BA95C9F712C0B13081F0FA
-:105A100077D0B1E0089574C0672F782F8827B85FDA
-:105A200039F0B93FCCF3869577956795B395D9F75B
-:105A30003EF490958095709561957F4F8F4F9F4F65
-:105A40000895E89409C097FB3EF490958095709571
-:105A500061957F4F8F4F9F4F9923A9F0F92F96E9BA
-:105A6000BB279395F695879577956795B795F1112F
-:105A7000F8CFFAF4BB0F11F460FF1BC06F5F7F4FCC
-:105A80008F4F9F4F16C0882311F096E911C07723DE
-:105A900021F09EE8872F762F05C0662371F096E8E7
-:105AA000862F70E060E02AF09A95660F771F881FB6
-:105AB000DAF7880F9695879597F9089557FD9058CE
-:105AC000440F551F59F05F3F71F04795880F97FBC2
-:105AD000991F61F09F3F79F087950895121613067C
-:105AE0001406551FF2CF4695F1DF08C016161706AB
-:105AF0001806991FF1CF86957105610508940895E0
-:105B0000E894BB2766277727CB0197F908950BD038
-:105B100078C069D028F06ED018F0952309F05AC0EB
-:105B20005FC01124EECFCADFA0F3959FD1F3950F8C
-:105B300050E0551F629FF001729FBB27F00DB11D11
-:105B4000639FAA27F00DB11DAA1F649F6627B00DA1
-:105B5000A11D661F829F2227B00DA11D621F739F8A
-:105B6000B00DA11D621F839FA00D611D221F749F98
-:105B70003327A00D611D231F849F600D211D822FDF
-:105B8000762F6A2F11249F5750408AF0E1F0882326
-:105B90004AF0EE0FFF1FBB1F661F771F881F915033
-:105BA0005040A9F79E3F510570F014C0AACF5F3F47
-:105BB000ECF3983EDCF3869577956795B795F79566
-:105BC000E7959F5FC1F7FE2B880F911D96958795EE
-:105BD00097F9089597F99F6780E870E060E008956D
-:105BE0009FEF80EC089500240A94161617061806F5
-:105BF0000906089500240A941216130614060506D1
-:105C00000895092E0394000C11F4882352F0BB0F61
-:105C100040F4BF2B11F460FF04C06F5F7F4F8F4FC4
-:105C20009F4F0895991B79E004C0991F961708F0BB
-:105C3000961B881F7A95C9F78095089597FB072EC4
-:105C400016F4009407D077FD09D00E94382E07FC87
-:105C500005D03EF4909581959F4F0895709561957C
-:105C60007F4F0895EE0FFF1F0590F491E02D0994EA
-:105C7000AA1BBB1B51E107C0AA1FBB1FA617B70772
-:105C800010F0A61BB70B881F991F5A95A9F780958E
-:105C90009095BC01CD010895F999FECF92BD81BDCB
-:105CA000F89A992780B50895A8E1B0E042E050E065
-:105CB0000C946F2E262FF999FECF1FBA92BD81BD8D
-:105CC00020BD0FB6F894FA9AF99A0FBE019608957E
-:105CD0000E945A2E272F0C945B2EDC01CB01FC0175
-:105CE000F999FECF06C0F2BDE1BDF89A319600B435
-:0E5CF0000D9241505040B8F70895F894FFCF40
-:105CFE002002BF0DB00E8D0E590E250E0101C501ED
-:105D0E0028080A03140A3F4D3620392C06DF05A950
-:105D1E000589055005C304DC04F5040E052E0501A6
-:0A5D2E00020304050607080900003F
+:1003D000000001000000000000000000000001001B
+:1003E0000000000000000000000000000A002530AE
+:1003F000313662003A200025303258000A722F63ED
+:100400002030313233343536373839414243444570
+:10041000460A000A002530325800626F756E636527
+:10042000213A20006C6566742073696465206174EC
+:100430007461636865640A006C656674207369643E
+:1004400065206E6F7420726573706F6E64696E677D
+:100450000A00747279696E6720746F207265736523
+:1004600074206D637032333031380A005B735D0085
+:100470004B6579626F6172642073746172742E0AC5
+:10048000005B575D005B535D005B525D005B445D4C
+:10049000005B435D0016034500720067006F004477
+:1004A000006F007800200045005A00000016034548
+:1004B00000720067006F0044006F00780020004564
+:1004C000005A0000000403090409028D0005010020
+:1004D000A0FA090400000103010100092111010033
+:1004E00001223F000705810308000A0904010001F9
+:1004F00003010200092111010001224D00070582BC
+:100500000308000A09040200010300000009211188
+:100510000100012236000705830308000A090403CD
+:100520000002030000000921110100012220000740
+:1005300005840320000107050403200001090404C9
+:100540000001030000000921110100012239000708
+:100550000585031000011201100100000008EDFEE6
+:10056000071301000102000105010906A1010507A9
+:1005700019E029E715002501950875018102050894
+:1005800019012905950575019102950175039101E0
+:100590000507190029771500250195787501810255
+:1005A000C00631FF0974A1010975150025FF9520CA
+:1005B000750881020976150025FF952075089102BE
+:1005C000C005010980A101850216010026B7001AA5
+:1005D00001002AB700751095018100C0050C0901C2
+:1005E000A1018503160100269C021A01002A9C0223
+:1005F000751095018100C005010902A1010901A141
+:1006000000050919012905150025019505750181C8
+:100610000295017503810105010930093115812514
+:100620007F95027508810609381581257F9501752A
+:10063000088106050C0A38021581257F9501750889
+:100640008106C0C005010906A101050719E029E7D7
+:100650001500250195087501810295017508810134
+:100660000508190129059505750191029501750384
+:1006700091010507190029FF150025FF950675084A
+:100680008100C00A002530325820006B6579626F06
+:100690006172645F7265706F72743A20000A00259F
+:1006A000303258006B6579626F6172645F73657494
+:1006B0005F6C65643A200064656C5F6B65795F62AE
+:1006C00069743A2063616E27742064656C3A202552
+:1006D0003032580A006164645F6B65795F626974E7
+:1006E0003A2063616E2774206164643A20253032B9
+:1006F000580A00646F6E652E0A00626F6F676D6145
+:10070000676963207363616E3A202E2E2E200029C4
+:100710000A002575002F002575005D28002564005E
+:100720002000256400200025640020002564007C52
+:100730000025303258006D6F7573656B6579205BED
+:1007400062746E7C782079207620685D28726570EE
+:100750002F61636C293A205B006D6B5F776865657C
+:100760006C5F74696D655F746F5F6D6178203D20AB
+:1007700025640A006D6B5F776865656C5F6D6178F5
+:100780005F7370656564203D2025640A006D6B5FB2
+:1007900074696D655F746F5F6D6178203D202564BD
+:1007A0000A006D6B5F6D61785F7370656564203DF5
+:1007B0002025640A006D6B5F696E74657276616CEA
+:1007C000203D2025640A006D6B5F64656C617920B3
+:1007D0003D2025640A006D6B5F776865656C5F740A
+:1007E000696D655F746F5F6D6178203D2025640AD7
+:1007F000006D6B5F776865656C5F6D61785F7370C6
+:10080000656564203D2025640A006D6B5F74696D29
+:10081000655F746F5F6D6178203D2025640A006D0F
+:100820006B5F6D61785F7370656564203D20256442
+:100830000A006D6B5F696E74657276616C203D2095
+:1008400025640A006D6B5F64656C6179203D20252D
+:10085000640A000A00257500363A20776865656CE1
+:100860005F74696D655F746F5F6D61783A20000A2F
+:1008700000257500353A20776865656C5F6D617895
+:100880005F73706565643A20000A00257500343A8C
+:100890002074696D655F746F5F6D61783A20000A3E
+:1008A00000257500333A206D61785F73706565646B
+:1008B0003A20000A00257500323A20696E7465728C
+:1008C00076616C286D73293A20000A002575003185
+:1008D0003A2064656C6179282A31306D73293A2099
+:1008E000000A092D2056616C756573202D0A004D94
+:1008F0003E004D25643E20003F0073657420646512
+:100900006661756C740A00433E2000776865726505
+:100910002064656C74613A20637572736F723D2553
+:10092000642C20776865656C3D25640A53656520F5
+:10093000687474703A2F2F656E2E77696B697065D5
+:100940006469612E6F72672F77696B692F4D6F75C0
+:1009500073655F6B6579730A000A092D204D6F7509
+:1009600073656B6579202D0A4553432F713A0971E0
+:100970007569740A313A0964656C6179282A3130E5
+:100980006D73290A323A09696E74657276616C2852
+:100990006D73290A333A096D61785F737065656418
+:1009A0000A343A0974696D655F746F5F6D61780A26
+:1009B000353A09776865656C5F6D61785F7370655E
+:1009C00065640A363A09776865656C5F74696D65B8
+:1009D0005F746F5F6D61780A0A703A097072696EB0
+:1009E000742076616C7565730A643A0973657420C6
+:1009F00064656661756C74730A75703A092B310A07
+:100A0000646F776E3A092D310A706775703A092B59
+:100A100031300A7067646F776E3A092D31300A0AF7
+:100A20007370656564203D2064656C7461202A20C4
+:100A30006D61785F7370656564202A202872657027
+:100A4000656174202F2074696D655F746F5F6D61DF
+:100A500078290A003F004D3E2000433E20004C25EF
+:100A6000640A000A092D20436F6E736F6C65202D98
+:100A70000A4553432F713A09717569740A6D3A0931
+:100A80006D6F7573656B65790A000A092D204D61DC
+:100A9000676963202D0A643A0964656275670A789C
+:100AA0003A096465627567206D61747269780A6BD2
+:100AB0003A096465627567206B6579626F6172647B
+:100AC0000A6D3A096465627567206D6F7573650A12
+:100AD000763A0976657273696F6E0A733A097374B0
+:100AE000617475730A633A09636F6E736F6C652086
+:100AF0006D6F64650A302D343A096C617965723026
+:100B00002D34284631302D4634290A506175733A08
+:100B100009626F6F746C6F616465720A653A09658A
+:100B20006570726F6D0A6E3A094E4B524F0A7A3AEF
+:100B300009736C656570204C454420746573740AB4
+:100B4000000A002575002E6E6B726F3A20000A00B5
+:100B50002575002E737761705F6261636B736C61E2
+:100B600073685F6261636B73706163653A20000A4A
+:100B7000002575002E737761705F67726176655F1F
+:100B80006573633A20000A002575002E6E6F5F675B
+:100B900075693A20000A002575002E737761705F31
+:100BA00072616C745F726775693A20000A0025757E
+:100BB000002E737761705F6C616C745F6C67756930
+:100BC0003A20000A002575002E636170736C6F6314
+:100BD0006B5F746F5F636F6E74726F6C3A20000AA4
+:100BE000002575002E737761705F636F6E74726F8E
+:100BF0006C5F636170736C6F636B3A20000A002551
+:100C0000303258006B65796D61705F636F6E666935
+:100C1000672E7261773A20000A002575002E6D6FED
+:100C20007573653A20000A002575002E6B657962A0
+:100C30006F6172643A20000A002575002E6D6174A0
+:100C40007269783A20000A002575002E656E61628F
+:100C50006C653A20000A00253032580064656275E0
+:100C6000675F636F6E6669672E7261773A20000A6C
+:100C70000025750064656661756C745F6C617965EB
+:100C8000723A20003F004E4B524F3A206F66660A80
+:100C9000004E4B524F3A206F6E0A0074696D6572B8
+:100CA0005F636F756E743A202530346C580A006BA0
+:100CB0006579626F6172645F6E6B726F3A2025585E
+:100CC0000A006B6579626F6172645F69646C653A92
+:100CD0002025580A006B6579626F6172645F7072DB
+:100CE0006F746F636F6C3A2025580A00686F7374D5
+:100CF0005F6B6579626F6172645F6C6564732829EC
+:100D00003A2025580A000A092D205374617475731E
+:100D1000202D0A004743433A20342E392E332041F8
+:100D200056522D4C4942433A20312E382E31204123
+:100D300056525F415243483A20617672350A004F5D
+:100D40005054494F4E533A204C55464120424F4F44
+:100D5000544D41474943204D4F5553454B4559202C
+:100D600045585452414B455920434F4E534F4C45E3
+:100D700020434F4D4D414E44204E4B524F20353174
+:100D8000320A004255494C443A20333064623330D1
+:100D9000302D6469727479202830373A35373A3308
+:100DA00035204A616E2032372032303136290A0030
+:100DB0005649443A20307846454544284572676F85
+:100DC000446F7820455A29205049443A20307831E0
+:100DD000333037284572676F446F7820455A292091
+:100DE0005645523A203078303030310A004445536D
+:100DF000433A20742E6D2E6B2E206B6579626F61E5
+:100E00007264206669726D7761726520666F722008
+:100E10004572676F646F780A000A092D2056657263
+:100E200073696F6E202D0A000A6D6F7573653A2025
+:100E30006F66660A000A6D6F7573653A206F6E0AF9
+:100E4000000A6B6579626F6172643A206F66660AA8
+:100E5000000A6B6579626F6172643A206F6E0A00F6
+:100E60000A6D61747269783A206F66660A000A6DCD
+:100E700061747269783A206F6E0A000A646562755F
+:100E8000673A206F6E0A000A64656275673A206FE0
+:100E900066660A000A0A626F6F746C6F616465723D
+:100EA0002E2E2E2000433E20006565636F6E66691E
+:100EB000673A0A00536C656570204C4544207465A0
+:100EC00073740A0000000000000000000000000130
+:100ED0000204060A0F17202C3A4A5D71879DB3C79A
+:100EE000DAE9F5FCFFFCF5E9DAC7B39D87715D4AE5
+:100EF0003A2C20170F0A060402010000000000002F
+:100F00000000000011241FBECFEFDAE0DEBFCDBF2E
+:100F100004B603FE24C08091F9019091FA01A091DA
+:100F2000FB01B091FC018730904BA740B04BB9F466
+:100F30001092F9011092FA011092FB011092FC013B
+:100F400014BE84B7877F84BF88E10FB6F89480937E
+:100F50006000109260000FBEE0E0FFE3099511E031
+:100F6000A0E0B1E0E8E0FDE502C005900D92AA33F3
+:100F7000B107D9F711E0AAE3B1E001C01D92A93F82
+:100F8000B107E1F70E9442100C94822E0C940000ED
+:100F9000FF93EF93E0913A01F0913B01309709F014
+:100FA0000995EF91FF910895FC018591803011F032
+:100FB000EFDFFBCF0895FF27E0E230E247FF0CC0F0
+:100FC000419597FF09C0EDE26095709580959095E9
+:100FD000611D711D811D911D27FF02C0219530E308
+:100FE00050E2AA27660F771F881F991FAA1FA41710
+:100FF00010F0A41B63955A95A9F7AA3008F0A95FD1
+:10100000A05DAF93F395611571058105910541F7D9
+:10101000ED3211F4EF93F395F21718F43F93F39533
+:10102000FBCF8F91B5DFFA95E1F70895E991F9913A
+:101030008591803021F0853219F0AADFF9CF08952B
+:1010400020E0E89455915532C1F3503311F468947F
+:1010500055915A3348F4505390F3220F022E220F29
+:10106000220F200D250FF4CF0EF42195899199912F
+:10107000533619F3533729F1533559F1BC018827F9
+:101080009927E8945C3621F4899199916894559157
+:10109000543639F446EF7EF077FF0DC08FEF9FEFA7
+:1010A0000AC055374AE039F0583540E121F0523650
+:1010B00042E009F00895FF93EF937DDFEF91FF91F8
+:1010C000B7CFFF93EF93FC0181918030B9F360DFDC
+:1010D000FBCFFF93EF9368DFF1CFDF93CF93CDB7D3
+:1010E000DEB72596A3DFCF91DF910895FC01623032
+:1010F00021F128F4662349F0613071F036C0643084
+:1011000041F108F1653059F130C08281882311F036
+:1011100085EE0CC085EE0EC08281882351F085EEED
+:101120000E941F1785EE0E94E71783EE0E941F178B
+:101130001CC083EE0E94E71718C08281811115C080
+:1011400085E291E00895828181110FC08EE091E0E7
+:1011500008958281811109C087EF90E0089582810E
+:10116000811103C080EE90E0089580E090E0089542
+:1011700080E090E008956091BC017091BD01809184
+:10118000BE019091BF010E94AD2156985E982598AE
+:101190002D9826982E9827982F98823019F0833012
+:1011A00021F00895259A2D9A0895269A2E9A089549
+:1011B0008BEB98E0892B11F00E94BB0880E090E057
+:1011C000089556985E9825982D9826982E982798D9
+:1011D0002F988FEF90E090938900809388009093F0
+:1011E0008B0080938A0090938D0080938C00259AC9
+:1011F0002D9A2FEF80E792E0215080409040E1F758
+:1012000000C00000269A2E9A2FEF80E792E021502E
+:1012100080409040E1F700C00000279A2F9A2FEFFE
+:1012200080E792E0215080409040E1F700C000004C
+:1012300025982D982FEF80E792E021508040904034
+:10124000E1F700C0000026982E982FEF80E792E08B
+:10125000215080409040E1F700C0000027982F986F
+:1012600056985E9825982D9826982E9827982F980E
+:10127000089589EA8093800089E080938100249812
+:101280002C983F988AB18F748AB96E98479A8BB11F
+:10129000806B8BB9769A0E94E10888EB98E0892BE5
+:1012A00011F00E94B80880E090E0089580E28093F9
+:1012B000000180913C0181110EC00E94A50981E0CE
+:1012C00080933C012FEF83ED90E3215080409040CC
+:1012D000E1F700C0000080E40E94AB0980930001A8
+:1012E00081112EC00E94D50980930001811128C070
+:1012F0000E94D50980930001811122C08FE30E94D2
+:10130000D5098093000181111BC00E94CD0980E4A2
+:101310000E94AB0980930001811112C08CE00E94F1
+:10132000D5098093000181110BC00E94D5098093DB
+:101330000001811105C08FE30E94D509809300014F
+:101340000E94CD098091000108951092B9008AE0B1
+:101350008093B800089594EA9093BC009091BC00EB
+:1013600097FFFCCF9091B900987F983021F0903191
+:1013700011F081E008958093BB0084E88093BC0065
+:101380008091BC0087FFFCCF8091B900887F8831B5
+:1013900011F0803471F780E0089584E98093BC00F7
+:1013A0008091BC0084FDFCCF08958093BB0084E84D
+:1013B0008093BC008091BC0087FFFCCF9091B90066
+:1013C000987F81E0983209F480E0089584E8809362
+:1013D000BC008091BC0087FFFCCF8091BB000895CA
+:1013E00080910001811115C080E40E94AB098093B7
+:1013F000000181110CC082E10E94D5098093000197
+:10140000811105C08FEF0E94D509809300010E94D1
+:10141000CD0984B1807F84B985B1807F85B98AB1D7
+:10142000837F8AB98BB1837F8BB93E9846980895A4
+:101430000E945609809300010E94F00980B38C70CD
+:1014400080BB81B3836F81BBAEE3B1E0ECE4F1E03C
+:101450008EE08E0F11921D928E13FCCF89E399E0DE
+:10146000892B11F00C94390908959F92AF92BF9285
+:10147000CF92DF92EF92FF920F931F93CF93DF9360
+:10148000809100018823E1F080913D018F5F80937E
+:101490003D01811115C082E594E00E94D4070E94AD
+:1014A000560980930001882329F088E394E00E9484
+:1014B000D40706C084E294E00E94D4070E94E108A9
+:1014C0000EE311E0C0E0D0E0BB24B39482E0A82E8C
+:1014D000CC24C394D12C25E1E22E24E0F22EC73097
+:1014E000D10500F580910001811164C080E40E9463
+:1014F000AB0980930001811112C082E10E94D509DD
+:101500008093000181110BC0C6010C2E01C0880F11
+:101510000A94EAF780950E94D509809300010E9401
+:10152000CD0948C0CA30A1F028F4C83059F0C930FC
+:1015300061F005C0CC3089F070F0CD3089F0209A90
+:10154000289810C0219A29980DC0229A2A980AC07A
+:10155000239A2B9807C0529A01C0539A5B9802C0F5
+:101560003E9A469890EA9A95F1F79FB1799902C010
+:1015700082E001C080E091709B25982B7C9902C08D
+:1015800084E001C080E0892B7D9902C038E001C071
+:1015900030E0832B7E9902C020E101C020E0822B45
+:1015A0009FB19095991F9927991F9295990F907EB9
+:1015B000892B10C080910001811174C080E40E94C9
+:1015C000AB0980930001882309F459C0912C0E9433
+:1015D000CD09892DF8019081981739F18083809188
+:1015E0000101882301F18091D70180FF04C08AE1C5
+:1015F00094E00E94D4078091D70180FF0CC08091B5
+:1016000001011F928F93FF92EF920E946D080F903D
+:101610000F900F900F908091D70180FF04C083E15D
+:1016200094E00E94D407A09201010E94F009219643
+:101630000F5F1F4FCE30D10509F051CF80910101CE
+:101640008823B1F0815080930101882339F08FE91C
+:101650009FE00197F1F700C000000AC0ACE4B1E0E0
+:10166000EEE3F1E0CF01825F91919D938E13FCCF69
+:1016700088ED98E0892BC1F00E94D80815C083E15D
+:101680000E94D509809300018111A0CF81E40E94BE
+:10169000AB0980930001811199CF0E94E609982E31
+:1016A000909495CF80E096CF81E0DF91CF911F910C
+:1016B0000F91FF90EF90DF90CF90BF90AF909F90F1
+:1016C0000895E82FF0E0E45BFE4F80810895CF920B
+:1016D000DF92EF92FF920F931F93CF93DF938CEFE4
+:1016E00093E00E94D4078CE4E82E81E0F82EC0E05D
+:1016F000D0E097EFC92E93E0D92E0EEE13E0DF93E2
+:10170000CF93DF92CF920E946D0884EF93E00E9406
+:10171000D407F70181917F0190E00E9413229F93EB
+:101720008F931F930F930E946D088CEE93E00E949D
+:10173000D40721968DB79EB708960FB6F8949EBF32
+:101740000FBE8DBFCE30D105D1F6DF91CF911F9165
+:101750000F91FF90EF90DF90CF9008958B3B910514
+:1017600078F4883A910540F5853A9105D0F48430B3
+:10177000910508F0B1C08130910509F4ADC06BC08E
+:10178000803E910508F467C0883E910508F4A4C026
+:101790009C01205F31092031310508F05CC0906563
+:1017A0000895853A910509F459C0863A910509F0E2
+:1017B00058C082E890E40895883A910509F454C02D
+:1017C000893A910509F453C08A3A910509F452C047
+:1017D0008B3A910509F451C08C3A910509F450C037
+:1017E0008D3A910509F44FC0803B910509F44EC034
+:1017F0008E3A910509F44DC08F3A910509F44CC019
+:10180000813B910509F44BC0823B910509F44AC024
+:10181000833B910509F449C0843B910509F448C014
+:10182000853B910509F447C0863B910509F446C004
+:10183000873B910509F445C0883B910509F444C0F4
+:10184000893B910509F443C08A3B910509F442C0E4
+:1018500080E094E4089580E090E0089581E890E4C9
+:10186000089583E890E4089582EE94E4089589EE63
+:1018700094E408958AEE94E4089585EB94E4089541
+:1018800086EB94E4089587EB94E408958CEC94E45B
+:1018900008958DEC94E4089583E895E408958AE82A
+:1018A00095E4089582E995E4089584E995E408951E
+:1018B00081E296E4089583E296E4089584E296E452
+:1018C000089585E296E4089586E296E4089587E215
+:1018D00096E408958AE296E40895089596E0799F43
+:1018E000F001112494E5899FE00DF11D1124E60F0C
+:1018F000F11DEE0FFF1FE45BFE4F8591949108955B
+:10190000880F991FFC01E454F0408591949108954B
+:10191000880F991FFC01E45CFE4F85919491089516
+:1019200026E0729FF001112444E5849FE00DF11D33
+:101930001124E60FF11DEE0FFF1FE45BFE4F8591B2
+:1019400094919C013A9521154FE1340708F41AC18E
+:101950003F512115304120F49F700E94880C08955A
+:101960009C0130532115304118F49927906C08954B
+:10197000811520E5920769F40E946D1B4FEF84E307
+:101980009CE0415080409040E1F700C000000C9482
+:10199000D322813020E5920731F48091D701816014
+:1019A0008093D70108959C0130552115304108F0EE
+:1019B00051C0292F33272F70332721303105D9F417
+:1019C000AC014370552702C0220F331F4A95E2F73E
+:1019D0003C68AC0164E0440F551F6A95E1F7442769
+:1019E0005370242B352B73E0880F991F7A95E1F7FC
+:1019F000807699271DC02230310529F4982F882739
+:101A0000816F906A089523303105A9F4AC014370C9
+:101A1000552721E030E002C0220F331F4A95E2F73C
+:101A20003C6843E0880F991F4A95E1F7807E9770E4
+:101A3000822B932B089524303105E1F4AC014370DF
+:101A4000552721E030E002C0220F331F4A95E2F70C
+:101A50003A68E7CF9C0130572115304118F49F7048
+:101A6000906208959C0130582115304118F49F7000
+:101A7000906A0895803E9105E0F4803C910558F508
+:101A80008133910509F46FC048F48932910509F456
+:101A900063C08A32910509F46DC072C08933910523
+:101AA000E9F082389105D1F08533910509F44DC0F4
+:101AB00067C0833E910581F138F4803E9105B9F00D
+:101AC000823E9105D9F05CC0863E910561F1873E6A
+:101AD0009105A1F155C00E94800C08952091EA0162
+:101AE00020FD02C021FF4CC080EE90E049C08091F3
+:101AF000EA0180FFF9CF89E390E042C08091EA01DA
+:101B000082FF0EC08091EA0184FF03C080E090E074
+:101B100037C083EE90E034C08091EA0182FFF2CFBB
+:101B200082EE90E02DC08091EA0183FF0BC080918E
+:101B3000EA0184FDEBCF87EE90E022C08091EA01BC
+:101B400083FFF5CF86EE90E01BC08091EA0185FF10
+:101B500007C089E290E014C08091EA0185FFF9CFC7
+:101B600085E390E00DC08091EA0186FF07C08AE21C
+:101B700090E006C08091EA0186FFF9CF81E390E012
+:101B80000E94AE0B0895089580916D0108959FB74E
+:101B9000F89410925C019FBF9091F001943009F08D
+:101BA00057C09091E9009F703091EC00232F217075
+:101BB00030FD20E8922B24E02093E9002091EB00F7
+:101BC00020FF43C02091EE0027FF3FC020915A0123
+:101BD000222321F02091E80025FF37C010925A01FE
+:101BE00026E03091E80035FD15C03091F001343029
+:101BF00061F53091EB0035FD28C0215021F481E0E2
+:101C000080935A0122C0EFE9FFE03197F1F700C05D
+:101C10000000E7CF8093F1008091E80085FD0AC0C5
+:101C20008091E80080FFFCCF8091E8008E77809360
+:101C3000E80006C08FB7F89421E020935C018FBFC5
+:101C40009F709093E90080E008959F709093E90061
+:101C50008FEF0895CF93DF9300D01F92CDB7DEB7FB
+:101C60009C018091F001843019F593E099833B83C6
+:101C70002A839093E9008FEF9091E800815095FDC1
+:101C800006C095ED9A95F1F700008111F5CF80918E
+:101C9000E80085FF0DC040E050E063E070E0CE0159
+:101CA00001960E94FA108091E8008E778093E800F8
+:101CB0000F900F900F90DF91CF910895CF93DF9306
+:101CC00000D01F92CDB7DEB72091F001243021F56E
+:101CD00022E029839B838A8383E08093E9008FEF4E
+:101CE0009091E800815095FD06C095ED9A95F1F729
+:101CF00000008111F5CF8091E80085FF0DC040E024
+:101D000050E063E070E0CE0101960E94FA108091ED
+:101D1000E8008E778093E8000F900F900F90DF918E
+:101D2000CF9108952091F0012430F1F422E0209326
+:101D3000E9002FEF3091E800215035FD06C035ED68
+:101D40003A95F1F700002111F5CF2091E80025FF29
+:101D50000BC040E050E065E070E00E94FA10809116
+:101D6000E8008E778093E8000895CF93DF93209169
+:101D7000F001243009F048C0EC0180910C01882367
+:101D8000E1F080910D018823C1F085E08093E900A6
+:101D90008FEF9091E800815095FD06C095E19A95EE
+:101DA000F1F700008111F5CF8091E80085FF2CC08C
+:101DB00040E050E060E170E017C081E08093E9000E
+:101DC0008FEF9091E800815095FD06C095ED9A95B2
+:101DD000F1F700008111F5CF8091E80085FF14C074
+:101DE00040E050E068E070E0CE010E94FA1080917F
+:101DF000E8008E778093E80080E1FE01ADE5B1E078
+:101E000001900D928A95E1F7DF91CF91089581E9D4
+:101E100094E00E94D4078091EF01811109C00E94D3
+:101E20008F120E94EC128091E20084608093E200A5
+:101E300008958DE894E00E94D4071092EF01089570
+:101E400089E894E00C94D40785E894E00E94D407D4
+:101E50000C94A32C81E894E00E94D4070E9469228C
+:101E60000E94A92C0E9491150C94C30D20915B0136
+:101E70002F5F822F62E30E94172E992319F020937F
+:101E80005B01089510925B0180915C01882371F1E0
+:101E90008091F001843041F58091E9008F702091AC
+:101EA000EC00922F917020FD90E8892B94E09093A4
+:101EB000E9009091EB0090FF14C09091EE0097FF25
+:101EC00010C09091E80095FF03C01092F100F9CF87
+:101ED0009091E80090FF05C09091E8009E77909364
+:101EE000E8008F708093E90010925C01089542E051
+:101EF00061EC81E00E94091242E061EC82E00E9404
+:101F0000091242E061EC83E00E94091242E261ECB6
+:101F100084E00E94091242E161EC85E00C94091210
+:101F20008091F201833009F455C030F4813071F0B2
+:101F3000823009F48EC008958A3009F47AC08B305B
+:101F400009F460C0893009F09CC020C08091F10183
+:101F5000813A09F096C08091E800877F8093E8007D
+:101F60008091F5019091F601892B21F460E18DE5D6
+:101F700091E003C060E080E090E070E00E944511D5
+:101F80008091E8008B778093E80008958091F101BB
+:101F9000813209F076C08091F5019091F6010097A9
+:101FA00019F0049709F06DC08091E800877F809355
+:101FB000E8008091E80082FD05C08091F001811168
+:101FC000F8CF5FC08091F10080936D018091E800AF
+:101FD0008B7753C08091F101813A09F052C0809112
+:101FE000F5019091F601892B09F04BC08091E80032
+:101FF000877F8093E8008091E80080FFFCCF80918C
+:102000000C0136C08091F1018132D9F58091F50142
+:102010009091F601892BA9F58091E800877F809344
+:10202000E8000E943E128091F30180930C010C9411
+:102030006D1B8091F101813221F58091E800877F4D
+:102040008093E8000E943E128091F40180936E011B
+:1020500008958091F101813AA1F48091E800877F91
+:102060008093E8008091E80080FFFCCF80916E01B2
+:102070008093F1008091E8008E778093E8000C94C3
+:102080003E12089584B7877F84BF88E10FB6F89425
+:1020900080936000109260000FBE90E080E80FB661
+:1020A000F89480936100909361000FBE0E941E1609
+:1020B0000E948F120E94EC128091E2008460809353
+:1020C000E20087EC9DE00E94A82178940E9471159F
+:1020D0000E94201682E091E00E948C150E94912CB3
+:1020E00080E794E00E94D4078091F001853089F464
+:1020F0008CE694E00E94D4070E942D228091EE018C
+:10210000882391F30E945522882371F30E94E410E2
+:10211000EBCF0E944E16E8CF292F3327233031050D
+:10212000C9F064F42130310581F02230310509F025
+:1021300043C08DE890E029EC34E042C02132310503
+:10214000F1F02232310541F137C082E190E026E51D
+:1021500035E036C099278130910541F082309105F4
+:1021600041F0892B49F5E5ECF4E005C0EDEAF4E037
+:1021700002C0E5E9F4E0849190E09F0121C0653060
+:10218000D8F4E62FF0E0EE0FFF1FEB5DFE4F20814D
+:10219000318189E090E014C0653070F470E0FB019B
+:1021A000EE0FFF1FE55EFE4F20813181FB01EA5EED
+:1021B000FE4F808190E004C080E090E020E030E0BD
+:1021C000FA0131832083089580E189BD82E189BDD0
+:1021D00009B400FEFDCF8091D8008F7D8093D80098
+:1021E0008091E00082608093E0008091E00081FDBA
+:1021F000FCCF0895CF92DF92EF92FF920F931F933F
+:10220000CF93DF93EC018B016A010E945D12811173
+:1022100033C0C114D10439F0F60180819181081BCB
+:10222000190BC80FD91FE12CF12C0115110519F15B
+:102230008091E80085FD16C08091E8008E7780933C
+:10224000E800C114D10449F0F60180819181E80EC3
+:10225000F91EF182E08285E00FC00E945D128823A2
+:1022600021F30AC089918093F10001501109FFEF19
+:10227000EF1AFF0ADACF80E0DF91CF911F910F9123
+:10228000FF90EF90DF90CF9008952091F70130916B
+:10229000F8012617370748F06115710539F42091C8
+:1022A000E8002E772093E80001C0B90140E06115F5
+:1022B0007105A9F12091F001222309F443C02530D2
+:1022C00009F442C02091E80023FD40C02091E800BD
+:1022D00022FD32C02091E80020FFE9CF4091F300B9
+:1022E0002091F20030E0342BFC01CF016115710523
+:1022F00059F02830310540F481918093F10061500C
+:1023000071092F5F3F4FF1CF41E02830310509F0CF
+:1023100040E02091E8002E772093E800C8CF4111DB
+:10232000C9CF0AC08091F001882361F0853061F047
+:102330008091E80083FD0AC08091E80082FFF2CF1F
+:1023400080E0089582E0089583E0089581E0089593
+:102350002091F7013091F8012617370748F06115F1
+:10236000710539F42091E8002E772093E80001C030
+:10237000B901FC0120E06115710591F18091F00136
+:10238000882309F440C0853009F43FC08091E800FB
+:1023900083FD3DC08091E80082FD2FC08091E80060
+:1023A00080FFE9CF2091F3008091F20090E0922B22
+:1023B0006115710559F08830910540F424912093FE
+:1023C000F1003196615071090196F2CF21E0089732
+:1023D00009F020E08091E8008E778093E800CBCF71
+:1023E0002111CCCF0AC08091F001882361F08530A3
+:1023F00061F08091E80083FD0AC08091E80082FFCF
+:10240000F2CF80E0089582E0089583E0089581E0AE
+:102410000895982F973058F59093E900981739F060
+:102420007091EC002091ED005091F00003C0242F3A
+:10243000762F50E021FF19C03091EB003E7F3093A2
+:10244000EB003091ED003D7F3093ED003091EB00DB
+:1024500031603093EB007093EC002093ED005093CB
+:10246000F0002091EE0027FF07C09F5FD3CF8F7051
+:102470008093E90081E0089580E008958091F10162
+:1024800087FF11C08091E80082FD05C08091F001B6
+:102490008111F8CF11C08091E8008B770BC080913B
+:1024A000F001882349F08091E80080FFF8CF809107
+:1024B000E8008E778093E80008952091E400309141
+:1024C000E50095E64091EC00842F817040FF22C02A
+:1024D0008091E80080FD1CC08091F001882391F07C
+:1024E000853091F08091EB0085FD10C04091E400B3
+:1024F0005091E5004217530729F39A01915011F7C3
+:1025000084E0089582E0089583E0089581E00895CD
+:1025100080E008954091E80042FFDECF08950E94D8
+:10252000FD120E940513E0EEF0E08081816080835F
+:10253000E8EDF0E080818F77808319BCA7EDB0E0F3
+:102540008C918E7F8C9380818F7E80831092EF019F
+:1025500008950F931F93CF93DF930E94FD120E9463
+:102560000513C8EDD0E088818F77888388818068E3
+:10257000888388818F7D888319BC1092F001109226
+:10258000EC011092EE011092ED0100EE10E0F80166
+:1025900080818B7F808388818160888342E060E0D6
+:1025A00080E00E940912E1EEF0E080818E7F80835E
+:1025B000E2EEF0E0808181608083808188608083AA
+:1025C000F80180818E7F8083888180618883DF919C
+:1025D000CF911F910F910895E8EDF0E080818F7EFB
+:1025E0008083E7EDF0E080818160808384E082BFBA
+:1025F00081E08093EF010C94A912E8EDF0E0808176
+:102600008E7F80831092E20008951092DA0010927B
+:10261000E10008951F920F920FB60F9211242F938D
+:102620003F934F935F936F937F938F939F93AF935A
+:10263000BF93EF93FF938091E10082FF0BC08091E5
+:10264000E20082FF07C08091E1008B7F8093E10070
+:102650000E94360F8091DA0080FF1FC08091D80061
+:1026600080FF1BC08091DA008E7F8093DA0080911A
+:10267000D90080FF0DC080E189BD82E189BD09B428
+:1026800000FEFDCF81E08093F0010E94070F05C09E
+:1026900019BC1092F0010E94190F8091E10080FF97
+:1026A00019C08091E20080FF15C08091E2008E7F0A
+:1026B0008093E2008091E20080618093E20080914B
+:1026C000D80080628093D80019BC85E08093F00127
+:1026D0000E94240F8091E10084FF30C08091E200CD
+:1026E00084FF2CC080E189BD82E189BD09B400FE70
+:1026F000FDCF8091D8008F7D8093D8008091E1003C
+:102700008F7E8093E1008091E2008F7E8093E200D3
+:102710008091E20081608093E2008091EC01882347
+:1027200011F084E007C08091E30087FD02C081E0E2
+:1027300001C083E08093F0010E942A0F8091E100A4
+:1027400083FF29C08091E20083FF25C08091E100D2
+:10275000877F8093E10082E08093F0011092EC018A
+:102760008091E1008E7F8093E1008091E2008E7F76
+:102770008093E2008091E20080618093E20042E079
+:1027800060E080E00E9409128091F00088608093F0
+:10279000F0000E94200FFF91EF91BF91AF919F91A8
+:1027A0008F917F916F915F914F913F912F910F90FA
+:1027B0000FBE0F901F9018951F920F920FB60F9299
+:1027C00011242F933F934F935F936F937F938F9336
+:1027D0009F93AF93BF93CF93DF93EF93FF93C091FA
+:1027E000E900CF708091EC00D82FD17080FDD0E847
+:1027F0001092E9008091F000877F8093F000789438
+:102800000E9420141092E9008091F000886080936B
+:10281000F000CD2BCF70C093E900FF91EF91DF91D5
+:10282000CF91BF91AF919F918F917F916F915F9168
+:102830004F913F912F910F900FBE0F901F901895C1
+:102840001F93CF93DF93CDB7DEB7AA970FB6F89457
+:10285000DEBF0FBECDBFE1EFF1E088E08E0F9091BB
+:10286000F10091938E13FBCF0E94900F8091E800AE
+:1028700083FF1FC18091F1019091F201492F50E037
+:102880004A30510508F015C1FA01EA5AFF4F0C947D
+:10289000372E803881F0823809F00BC18091F50124
+:1028A0008F708093E9008091EB0085FB882780F989
+:1028B0001092E90006C08091ED019091EE01911116
+:1028C00082609091E800977F9093E8008093F100F8
+:1028D0001092F100C8C0282F2D7F09F0EAC088238C
+:1028E00019F0823061F0E5C08091F301813009F088
+:1028F000E0C0933009F080E08093EE012BC080911E
+:10290000F301811127C08091F5018F7009F4D1C0C6
+:102910008093E9002091EB0020FF1CC0933021F44C
+:102920008091EB00806214C09091EB0090619093D5
+:10293000EB0021E030E0A90102C0440F551F8A9549
+:10294000E2F74093EA001092EA008091EB00886081
+:102950008093EB001092E9008091E800877F86C0A9
+:102960008111A7C01091F3011F778091E300807857
+:10297000812B8093E3008091E800877F8093E800BB
+:102980000E943E128091E80080FFFCCF8091E3001E
+:1029900080688093E300111102C082E001C083E0EF
+:1029A0008093F00186C08058823008F082C0809108
+:1029B000F3019091F4018C3D53E0950779F583E0A4
+:1029C0008A838AE289834FB7F894DE01139620E068
+:1029D0003EE051E2E32FF0E050935700E49120FFF6
+:1029E00003C0E295EF703F5FEF708E2F90E0EA300A
+:1029F00010F0C79601C0C0968D939D932F5F243130
+:102A000049F74FBF8091E800877F8093E8006AE232
+:102A100070E0CE0101960E94451114C0AE014F5FD7
+:102A20005F4F6091F5010E948C10BC01892B09F465
+:102A300040C09091E800977F9093E80089819A8147
+:102A40000E94A8118091E8008B778093E80031C044
+:102A5000803879F58091E800877F8093E800809145
+:102A6000EC018093F1008091E8008E778093E8007C
+:102A70000E943E121EC081111CC09091F301923041
+:102A8000C0F48091E800877F8093E8009093EC0188
+:102A90000E943E128091EC01811106C08091E300FA
+:102AA00087FD02C081E001C084E08093F0010E94B4
+:102AB000770F8091E80083FF0AC08091E800877F4C
+:102AC0008093E8008091EB0080628093EB00AA96EF
+:102AD0000FB6F894DEBF0FBECDBFDF91CF911F912F
+:102AE0000895CF938091F0018823A1F0C091E9006F
+:102AF000CF709091EC00892F817090FD80E8C82BF9
+:102B00001092E9008091E80083FD0E942014CF70AC
+:102B1000C093E900CF91089590937401809373015D
+:102B20000895E0917301F0917401309721F00190C4
+:102B3000F081E02D099480E00895EF92FF920F93C9
+:102B40001F93CF93DF93E0917301F091740130975D
+:102B5000B1F18C010280F381E02D09958091D701BC
+:102B600082FF2DC080FF04C08BE896E00E94D4074E
+:102B7000E80110E185E8E82E86E0F82E8091D70183
+:102B800080FF0BC088811F928F93FF92EF920E946B
+:102B90006D080F900F900F900F901150219611110A
+:102BA000EDCF8091D70180FF0AC083E896E0DF91E6
+:102BB000CF911F910F91FF90EF900C94D407DF916C
+:102BC000CF911F910F91FF90EF900895E0917301C5
+:102BD000F0917401309721F00480F581E02D099483
+:102BE000089520917101309172018217930771F05D
+:102BF0009093720180937101E0917301F0917401DF
+:102C0000309721F00680F781E02D099408952091F6
+:102C10006F01309170018217930771F090937001EA
+:102C200080936F01E0917301F0917401309721F06E
+:102C30000084F185E02D0994089508950C941D16E3
+:102C40000E946F220E94180A0C943523CF93C82F3C
+:102C50008091D70182FF1EC080FF04C084EA96E005
+:102C60000E94D4078091D70180FF0CC01F92CF93A0
+:102C70008FE996E09F938F930E946D080F900F90BD
+:102C80000F900F908091D70180FF04C08DE996E0EE
+:102C90000E94D4078C2FCF910C94C30DCF92DF925A
+:102CA000EF92FF920F931F93CF93DF93CDB7DEB7D1
+:102CB0002B970FB6F894DEBF0FBECDBF0E94350A2A
+:102CC00086E7C82E81E0D82E00E010E0E02E802FAD
+:102CD0000E94610BF60141916F01F42EF826B1F4C8
+:102CE0000F5F1F4F0E30110589F78FEF89838A839D
+:102CF0001B820E9478228160782F9D838C8349817A
+:102D00005A816B818D810E94F11640C09091D7014C
+:102D100091FF04C08B870E94670B8B8520E030E019
+:102D20004F2D50E0922FBA01022E02C07595679583
+:102D30000A94E2F760FF24C02E83EF8221E030E0A6
+:102D4000690102C0CC0CDD1C9A95E2F790E08C2161
+:102D50009D21892B09F420E028870E947822816038
+:102D6000782F9A8789874E815F8168858A850E943E
+:102D7000F116F801EA58FE4F8081C826C08206C0CD
+:102D80002F5F3F4F2630310569F6AACF0E94A62655
+:102D9000109175010E9491151817A1F00E949115CC
+:102DA000809375012B960FB6F894DEBF0FBECDBF92
+:102DB000DF91CF911F910F91FF90EF90DF90CF9017
+:102DC0000C9426162B960FB6F894DEBF0FBECDBF1F
+:102DD000DF91CF911F910F91FF90EF90DF90CF90F7
+:102DE0000895CF93DF93CDB7DEB72B970FB6F89446
+:102DF000DEBF0FBECDBF4F83588769877A878B8729
+:102E0000DE01119686E0FD0111928A95E9F785E0D1
+:102E1000FE01379601900D928A95E1F749815A811A
+:102E20006B817C818D819E810E94071E2B960FB63F
+:102E3000F894DEBF0FBECDBFDF91CF910895CF9341
+:102E4000882309F4C2C0C82F823859F40E94911512
+:102E500081FDBBC089E30E94A3200E94822189E3F7
+:102E60000CC0833879F40E94911580FDAEC083E5D3
+:102E70000E94A3200E94822183E50E94F620CF9128
+:102E80000C948221843859F40E94911582FD9DC0D2
+:102E900087E40E94A3200E94822187E4EECF8CEF7A
+:102EA0008C0F813A48F48C2F0E94392B81118DC0F0
+:102EB0008C2F0E94A320E3CF80E28C0F883048F44F
+:102EC000C77081E001C0880FCA95EAF70E944B21C4
+:102ED000D6CF8BE58C0F833078F4C53A29F0C63A0B
+:102EE00031F083E890E005C081E890E002C082E81C
+:102EF00090E0CF910C94F11588E58C0F833108F0A8
+:102F000064C0C83A39F1C93A41F1CA3A49F1CB3AF9
+:102F100051F1CC3A59F1CD3A61F1C03B69F1CE3A69
+:102F200071F1CF3A79F1C13B81F1C23B89F1C33BE9
+:102F300091F1C43B99F1C53BA1F1C63BA9F1C73B57
+:102F4000B1F1C83BB9F1C93BC1F1CA3BC9F180E05D
+:102F500090E038C082EE90E035C089EE90E032C05B
+:102F60008AEE90E02FC085EB90E02CC086EB90E0DD
+:102F700029C087EB90E026C08CEC90E023C08DEC5C
+:102F800090E020C083E891E01DC08AE891E01AC07B
+:102F900082E991E017C084E991E014C081E292E0F7
+:102FA00011C083E292E00EC084E292E00BC085E2A1
+:102FB00092E008C086E292E005C087E292E002C09B
+:102FC0008AE292E0CF910C940716CF91089588235E
+:102FD00009F44BC0823859F40E94911581FF45C015
+:102FE00089E30E94A3200E94822189E30CC08338D8
+:102FF00071F40E94911580FF38C083E50E94A320E0
+:103000000E94822183E50E94F6200C94822184385C
+:1030100059F40E94911582FF28C087E40E94A320E2
+:103020000E94822187E4EFCF9CEF980F913A58F3EA
+:1030300090E2980F983050F4877091E001C0990F9A
+:103040008A95EAF7892F0E945121DFCF9BE5980FDF
+:10305000933020F480E090E00C94F115885A83318D
+:1030600020F480E090E00C9407160895882321F066
+:103070000E944B210C9482210895882321F00E9404
+:1030800051210C9482210895BF92CF92DF92EF924A
+:10309000FF920F931F93CF93DF9300D000D000D007
+:1030A000CDB7DEB725E0FC01DE01119601900D924F
+:1030B0002A95E1F7FC014081318102812581229529
+:1030C0002F7063817481672B09F4E5C23F3F19F4C7
+:1030D0004F3F09F4E0C27C0149833A8389819A8198
+:1030E0002E830E946220182FB92E0E9461200E9418
+:1030F000281FEB2DE295EF70F0E0E05AFF4F2E8194
+:103100000C94372E8B2D807F9B2D9F70F92E88235A
+:1031100019F0F29480EFF822002349F0FF2009F41F
+:1031200067C28F2D0E945B210E94822161C2812F84
+:103130000E94E717FF2009F4AEC28F2D0E94612183
+:1031400026960FB6F894DEBF0FBECDBFDF91CF91AC
+:103150001F910F91FF90EF90DF90CF90BF900C9454
+:1031600082213B2D307F8B2D8F70303211F0829574
+:10317000807F112319F0113021F12CC00023B9F008
+:10318000222309F4A0C1213009F09DC126960FB673
+:10319000F894DEBF0FBECDBFDF91CF911F910F918D
+:1031A000FF90EF90DF90CF90BF900C946B21222383
+:1031B00019F0213009F46FC28E830E946E218E8136
+:1031C00096C1002321F0223008F065C27CC1211194
+:1031D00062C28DC1002321F0222309F474C108C208
+:1031E000222309F484C119C22B2D2695269523701C
+:1031F00030E02115310521F021303105D1F04BC2ED
+:10320000002321F0812F9B2D937002C080E090E07D
+:1032100026960FB6F894DEBF0FBECDBFDF91CF91DB
+:103220001F910F91FF90EF90DF90CF90BF900C9483
+:10323000F115002321F0812F9B2D937002C080E0B7
+:1032400090E026960FB6F894DEBF0FBECDBFDF919B
+:10325000CF911F910F91FF90EF90DF90CF90BF9093
+:103260000C940716812F002319F00E942C2502C010
+:103270000E94942526960FB6F894DEBF0FBECDBFF0
+:10328000DF91CF911F910F91FF90EF90DF90CF9042
+:10329000BF900C9419268B2D837009F07BC001110F
+:1032A000FAC1812F829586958770880F880F912F9C
+:1032B0009F70C92ED12CE12CF12C082E04C0CC0C0F
+:1032C000DD1CEE1CFF1C0A94D2F714FF12C04FE065
+:1032D00050E060E070E004C0440F551F661F771F88
+:1032E0008A95D2F7CB01BA0160957095809590953B
+:1032F00003C060E070E0CB012B2D2695269523704E
+:10330000422F50E042305105D9F04330510569F168
+:103310006C297D298E299F294130510551F126962E
+:103320000FB6F894DEBF0FBECDBFDF91CF911F91D6
+:103330000F91FF90EF90DF90CF90BF900C944F1FB4
+:103340006C297D298E299F2926960FB6F894DEBF19
+:103350000FBECDBFDF91CF911F910F91FF90EF90E6
+:10336000DF90CF90BF900C946B1F0E944F1FC7013E
+:10337000B60126960FB6F894DEBF0FBECDBFDF9123
+:10338000CF911F910F91FF90EF90DF90CF90BF9062
+:103390000C94331F002319F08B2D817001C086958A
+:1033A000882309F478C1812F829586958770880FCC
+:1033B000880F912F9F70C92ED12CE12CF12C082E53
+:1033C00004C0CC0CDD1CEE1CFF1C0A94D2F714FFC9
+:1033D00012C04FE050E060E070E004C0440F551FA1
+:1033E000661F771F8A95D2F7CB01BA016095709559
+:1033F0008095909503C060E070E0CB012B2D269561
+:1034000026952370422F50E042305105D9F04330C9
+:10341000510569F16C297D298E299F29413051057B
+:1034200051F126960FB6F894DEBF0FBECDBFDF91E7
+:10343000CF911F910F91FF90EF90DF90CF90BF90B1
+:103440000C9429206C297D298E299F2926960FB658
+:10345000F894DEBF0FBECDBFDF91CF911F910F91CA
+:10346000FF90EF90DF90CF90BF900C9445200E948A
+:103470002920C701B60126960FB6F894DEBF0FBE0D
+:10348000CDBFDF91CF911F910F91FF90EF90DF9013
+:10349000CF90BF900C940D20103FD1F118F4103E46
+:1034A00050F4A1C0123F09F463C008F44CC0133FAC
+:1034B00009F473C098C01F708B2D8F710023A1F089
+:1034C0000E94A61F812F26960FB6F894DEBF0FBE6E
+:1034D000CDBFDF91CF911F910F91FF90EF90DF90C3
+:1034E000CF90BF900C9436180E94C71F812F26964C
+:1034F0000FB6F894DEBF0FBECDBFDF91CF911F9105
+:103500000F91FF90EF90DF90CF90BF900C943D18FB
+:103510000023A9F02111BFC08B2D8F7126960FB605
+:10352000F894DEBF0FBECDBFDF91CF911F910F91F9
+:10353000FF90EF90DF90CF90BF900C94EC1F223063
+:1035400008F0A9C0E9CF0023A9F08B2D8F71269632
+:103550000FB6F894DEBF0FBECDBFDF91CF911F91A4
+:103560000F91FF90EF90DF90CF90BF900C94A61F2B
+:10357000002359F38B2D8F7126960FB6F894DEBF7A
+:103580000FBECDBFDF91CF911F910F91FF90EF90B4
+:10359000DF90CF90BF900C94C71F002399F08B2D24
+:1035A0008F7126960FB6F894DEBF0FBECDBFDF91A8
+:1035B000CF911F910F91FF90EF90DF90CF90BF9030
+:1035C0000C94911F26960FB6F894DEBF0FBECDBFA8
+:1035D000DF91CF911F910F91FF90EF90DF90CF90EF
+:1035E000BF900C94871F0023A9F0222309F4ADCFCC
+:1035F000812F26960FB6F894DEBF0FBECDBFDF91A8
+:10360000CF911F910F91FF90EF90DF90CF90BF90DF
+:103610000C941F17222309F4ADCF812F26960FB6E5
+:10362000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10363000FF90EF90DF90CF90BF900C94E7174B2D49
+:103640004F70612FC7010E94760826960FB6F89436
+:10365000DEBF0FBECDBFDF91CF911F910F91FF90C5
+:10366000EF90DF90CF90BF900C94AB1E4B2D4F701E
+:10367000612FC70126960FB6F894DEBF0FBECDBFEF
+:10368000DF91CF911F910F91FF90EF90DF90CF903E
+:10369000BF900C946D0C26960FB6F894DEBF0FBE4B
+:1036A000CDBFDF91CF911F910F91FF90EF90DF90F1
+:1036B000CF90BF9008950E9468210E943D210E94F2
+:1036C00082210E944C270E94192680E090E00E94EF
+:1036D000F11580E090E00C9407160E9458210C949C
+:1036E0005B1B0E946220292F22952F7030E02C3026
+:1036F00031054CF42A3031056CF422503109223066
+:10370000310588F407C02C30310549F02F303105E0
+:1037100031F009C0803E48F0803F29F406C093FB99
+:10372000882780F9089580E0089581E00895CF9377
+:10373000DF9300D000D01F92CDB7DEB70F900F906F
+:103740000F900F900F90DF91CF910895CF93DF935B
+:1037500000D000D000D0CDB7DEB726960FB6F894D3
+:10376000DEBF0FBECDBFDF91CF9108951F93CF93E2
+:10377000DF93C091840116E080918501C81799F00C
+:10378000D0E01C9FF0011D9FF00D1124EA57FE4F61
+:103790004081518162817381848195810E94A61B41
+:1037A0002196C770E9CFDF91CF911F910895409185
+:1037B000B6015091B7016091B8017091B901809143
+:1037C000BA019091BB010C94A61B8091BB0182951C
+:1037D0008F7009F054C08091B801882309F44FC05C
+:1037E00080918401A09185016091B6017091B7012B
+:1037F0004091B9015091BA01B6E08A1709F43FC06F
+:1038000090E041155105C1F17F3F11F46F3FA1F1E7
+:10381000B89FF001B99FF00D1124EA57FE4F2181A6
+:1038200072132AC02081621327C02281211124C073
+:10383000238134812417350710F421503109241BCA
+:10384000350B283C3105C0F42091BB012F7020615D
+:103850002093BB0126E0289FF001299FF00D112441
+:10386000E557FE4F80818F708061808386EB91E009
+:103870000E9444180C94B61B01968770BECF089521
+:10388000CF92DF92EF92FF920F931F93CF93DF932C
+:10389000CDB7DEB762970FB6F894DEBF0FBECDBFCF
+:1038A0008C0185E0F801DE011D9601900D928A954C
+:1038B000E1F7D8014C9111965C91119712966C9199
+:1038C00012971396CD90DC9014973091B6017091B9
+:1038D000B7018091B9019091BA01009709F46BC1C9
+:1038E0007F3F19F43F3F09F466C1E090B801EE2034
+:1038F00009F4C0C02091BB01C816D90628F0F60112
+:10390000E81BF90BCF0104C0809590958C0D9D1D8F
+:10391000FF24F394883C910578F0F12C207F09F086
+:10392000C6C07C2DD98AC88A89890E94971B86EBDC
+:1039300091E00E944418B1C0822F807F09F046C0F8
+:10394000751314C0341312C0611110C02F702061A0
+:103950002093BB010E94D71B86EB91E00E94441884
+:103960008091BB01D80115968C932EC0CD2819F1FA
+:103970005F3F11F44F3FF9F0F62E61111CC08091AA
+:1039800084012091850136E0821709F45AC090E045
+:10399000389FF001399FF00D1124EA57FE4F7181D5
+:1039A000571306C07081471303C07281711103C0A1
+:1039B00001968770E9CFF62E662309F418C180912D
+:1039C000BB0181608093BB01F12C11C1751308C04C
+:1039D000341306C0611104C08091BB01D801C3C07B
+:1039E0004D875E878D859E856A8B0E94711B6A89D3
+:1039F0008823E1F16623D1F12091BB01822F8295CA
+:103A00008F7090E0029774F08091B6019091B701A9
+:103A100098878F831986DB86CA862C87CE01079606
+:103A20000E94441886E0F801A6EBB1E001900D92E7
+:103A30008A95E1F70E94E51B0E94D71BFF24F394AF
+:103A4000D6C04D875E878D859E850E946220292F76
+:103A500022952F7030E0223031050CF0BCC09F70F1
+:103A600009F0B6C0805E883008F4C1C0C8010E9469
+:103A70004418E4CFC816D90608F453C0F601E81B71
+:103A8000F90BCF01883C910508F450C0F12C7C2D36
+:103A9000D98AC88A89890E94971BE6EBF1E086E003
+:103AA000DF011D928A95E9F70E94D71BA0C075130C
+:103AB00014C0341312C0611110C08091BB01F80111
+:103AC0008583C8010E94441886E0E6EBF1E0DF013F
+:103AD0001D928A95E9F7FE2C8AC04D875E878D85F9
+:103AE0009E856A8B0E94711B6A89882309F4BECF68
+:103AF000662309F4BBCF2091BB01822F82958F7082
+:103B000090E002970CF48ECF8091B6019091B701AE
+:103B10009A8389831B82DD82CC822E83CE0101961B
+:103B20007FCF809590958C0D9D1DACCFF62E662392
+:103B300009F49CCF75132EC034132CC02091BB0107
+:103B400020FD1FC0822F82958F70D9F0D801159665
+:103B50002C9315978F3049F08F5F982F9295907F17
+:103B6000822F8F70892B15968C93C8010E94441860
+:103B700086E0F801A6EBB1E001900D928A95E1F79D
+:103B800093CF86E0F801A6EBB1E001900D928A9503
+:103B9000E1F72DC04D875E878D859E850E94711B44
+:103BA000811140CF8091BB0181608093BB01C8012E
+:103BB0000E9444181CC0662309F458CF4D875E87C5
+:103BC0008D859E850E94711B882309F44FCF2ACFD3
+:103BD000811148CF0CC0243031050CF047CF9F70C5
+:103BE00009F440CFF8019581907F09F03BCF8F2DEC
+:103BF00062960FB6F894DEBF0FBECDBFDF91CF91B6
+:103C00001F910F91FF90EF90DF90CF9008951F9339
+:103C1000CF93DF93CDB7DEB72C970FB6F894DEBF06
+:103C20000FBECDBF4F83588769877A878B879C8764
+:103C3000CE0107960E94401C882369F08F819885E9
+:103C40002A853B85232BF1F19F3F09F063C08F3F0D
+:103C500009F060C037C086E0FE013796DE0111969C
+:103C600001900D928A95E1F76F817885EA85FB8551
+:103C7000309741F17F3F11F46F3F21F12091850191
+:103C800030E0C9010196877099274091840150E086
+:103C90008417950709F447C069837A83FD83EC8311
+:103CA00096E0929FD001939FB00D1124AA57BE4F6A
+:103CB000FE01319601900D929A95E1F7809385016E
+:103CC0000E94B61B16E080918401909185018917AE
+:103CD000C1F1189FC00111248A579E4F0E94401CB9
+:103CE000882379F1E09184011E9FF0011124EA57A5
+:103CF000FE4F4081518162817381848195810E9450
+:103D0000A61B8091840190E001968770992780938B
+:103D10008401D9CF4F81588569857A858B859C85AB
+:103D20000E94A61BCFCF0E946D1B1092850110929E
+:103D30008401E6EBF1E086E0DF011D928A95E9F768
+:103D4000C1CF2C960FB6F894DEBF0FBECDBFDF916A
+:103D5000CF911F910895EF92FF920F931F93CF93EE
+:103D6000DF938C01892B09F46CC0F12CEE24E394D1
+:103D7000E8012196F8018491843740F4843008F0FA
+:103D800051C0813081F0823019F15BC0853709F470
+:103D900044C0A8F19CE7980F903708F052C08F7785
+:103DA0000E94E71741C00E5F1F4FFE01C49180E2E1
+:103DB0008C0F883048F4C7708E2D01C0880FCA95CB
+:103DC000EAF70E945B2114C08C2F0E941F172DC0A0
+:103DD0000E5F1F4FFE01C49180E28C0F883058F4B3
+:103DE000C7708E2D01C0880FCA95EAF70E94612125
+:103DF0000E9482211AC08C2F0E94E71716C00E5F06
+:103E00001F4FFE01C491CC2381F08FE99FE0019701
+:103E1000F1F700C00000C150F6CF0E5F1F4FFE014A
+:103E2000F49003C00E941F178E018F2D882309F480
+:103E30009FCFEFE9FFE03197F1F700C0000081501C
+:103E4000F5CFDF91CF911F910F91FF90EF900895E3
+:103E500008956093C0017093C1018093C201909353
+:103E6000C3010C945B1B0F931F930091C001109131
+:103E7000C1012091C2013091C301DC01CB01802B33
+:103E8000912BA22BB32B8093C0019093C101A093DF
+:103E9000C201B093C3011F910F910C945B1B0F9350
+:103EA0001F930091C0011091C1012091C201309176
+:103EB000C301DC01CB0180239123A223B323809390
+:103EC000C0019093C101A093C201B093C3011F919F
+:103ED0000F910C945B1B0F931F930091C0011091E5
+:103EE000C1012091C2013091C301DC01CB018027C7
+:103EF0009127A227B3278093C0019093C101A0937B
+:103F0000C201B093C3011F910F910C945B1B1092DF
+:103F1000BC011092BD011092BE011092BF010C9421
+:103F20005B1B41E050E060E070E004C0440F551FAF
+:103F3000661F771F8A95D2F74093BC015093BD014D
+:103F40006093BE017093BF010C945B1B41E050E095
+:103F500060E070E004C0440F551F661F771F8A950C
+:103F6000D2F78091BC019091BD01A091BE01B091AA
+:103F7000BF01482B592B6A2B7B2B4093BC015093DC
+:103F8000BD016093BE017093BF010C945B1B41E0C7
+:103F900050E060E070E004C0440F551F661F771FBB
+:103FA0008A95D2F740955095609570958091BC01A7
+:103FB0009091BD01A091BE01B091BF01482359234A
+:103FC0006A237B234093BC015093BD016093BE01E3
+:103FD0007093BF010C945B1B41E050E060E070E027
+:103FE00004C0440F551F661F771F8A95D2F7809132
+:103FF000BC019091BD01A091BE01B091BF014827C5
+:1040000059276A277B274093BC015093BD016093D9
+:10401000BE017093BF010C945B1B0F931F93009123
+:10402000BC011091BD012091BE013091BF01DC01A6
+:10403000CB01802B912BA22BB32B8093BC019093AF
+:10404000BD01A093BE01B093BF011F910F910C94CD
+:104050005B1B0F931F930091BC011091BD01209138
+:10406000BE013091BF01DC01CB0180239123A2234B
+:10407000B3238093BC019093BD01A093BE01B09384
+:10408000BF011F910F910C945B1B0F931F93009125
+:10409000BC011091BD012091BE013091BF01DC0136
+:1040A000CB0180279127A227B3278093BC0190934F
+:1040B000BD01A093BE01B093BF011F910F910C945D
+:1040C0005B1B0895CF92DF92EF92FF920F931F93A5
+:1040D000CF93DF938C01C090C001D090C101E090DC
+:1040E000C201F090C3014091BC015091BD016091AB
+:1040F000BE017091BF01C42AD52AE62AF72ACFE172
+:10410000D0E0D701C6010C2E04C0B695A7959795AF
+:1041100087950A94D2F780FF07C0B8018C2F0E94C0
+:10412000900C8130910531F4219758F7B80180E067
+:104130000E94900CDF91CF911F910F91FF90EF9013
+:10414000DF90CF90089590910C01992321F09091E8
+:104150000D01911109C020910E0130910F01F9015B
+:1041600032969FEF40E030C0982F969596959695A1
+:104170009F30A0F4E0910E01F0910F01E90FF11DC5
+:10418000877021E030E0A90102C0440F551F8A95D5
+:10419000E2F7CA019181892B818308959091D7011B
+:1041A00090FF23C01F928F9385ED96E09F938F938E
+:1041B0000E946D080F900F900F900F9008959F3FF1
+:1041C00039F04F5F4E3041F051915813F8CF0DC088
+:1041D0005111F7CF942FF5CF9F3F39F0F901E90F37
+:1041E000F11D97FDFA9582830895089590910C0131
+:1041F000992321F090910D01911109C020910E0198
+:1042000030910F01F9013296205F3F4F30C0982F57
+:104210009695969596959F30A8F4E0910E01F091B1
+:104220000F01E90FF11D877021E030E0A90102C004
+:10423000440F551F8A95E2F7CA0180959181892321
+:10424000818308959091D70190FF16C01F928F939C
+:1042500087EB96E09F938F930E946D080F900F90CD
+:104260000F900F9008953196E217F30729F090818F
+:104270009813F9CF1082F7CF089581E090E0E09194
+:104280000E01F0910F01E80FF91F108201968031A5
+:104290009105A9F708959091D601892B8093D601B5
+:1042A000089580959091D60189238093D601089531
+:1042B0001092D60108959091D501892B8093D50154
+:1042C000089580959091D50189238093D501089513
+:1042D0001092D50108958093C40108951092C401ED
+:1042E000089580910E0190910F01FC0131969C017F
+:1042F000205F3F4F80E0919191118F5FE217F307AC
+:10430000D1F70895E0910E01F0910F018091D6014F
+:104310008083E0910E01F0910F0190818091D50191
+:10432000892B80838091C401882361F0E0910E0184
+:10433000F0910F019081892B80830E94712181115E
+:104340001092C40180910E0190910F010C949D1563
+:1043500090933B0180933A010895CF92DF92EF92C0
+:10436000FF926C01EE24FF24C114D104E104F10496
+:1043700021F0C701B60120E101C020E0C72ED82EF0
+:10438000E92EFF24C114D104E104F10419F0285FDF
+:10439000C701B6016B017C0154E0F694E794D79411
+:1043A000C7945A95D1F7C114D104E104F10419F06E
+:1043B0002C5FC701B6016B017C0142E0F694E794E3
+:1043C000D794C7944A95D1F7C114D104E104F104FC
+:1043D00019F02E5FC701B601DC01CB01B695A79598
+:1043E00097958795892B8A2B8B2B09F02F5F822F2E
+:1043F000FF90EF90DF90CF9008958295982F9C7C4E
+:10440000392F36953695282F237344E0249FC00119
+:104410001124932F982B292F2A7A2695892F857579
+:10442000880F822B08951F93CF93DF931F92CDB7F0
+:10443000DEB799830E94FD21182F9981892F0E9450
+:10444000FD21212F30E0322F2227A901482BCA015C
+:104450000F90DF91CF911F9108958091F0018430EA
+:1044600009F11092D80120E488E190E00FB6F894A9
+:10447000A895809360000FBE2093600083B7817F72
+:10448000846083BF83B7816083BF7894889583B746
+:104490008E7F83BF88E10FB6F894809360001092FE
+:1044A00060000FBE089508950895CF930E9453228F
+:1044B0000E94350A0E945422C0E08C2F0E94610B9A
+:1044C000811104C0CF5FCE30C1F701C081E0CF9130
+:1044D00008950E946D1B0E9491150C94C30D82E0FB
+:1044E00084BD93E095BD9AEF97BD80936E000895CB
+:1044F0002FB7F8948091D9019091DA01A091DB0156
+:10450000B091DC012FBF0895CF92DF92EF92FF921E
+:104510000F931F932FB7F8944091D9015091DA016E
+:104520006091DB017091DC012FBF6A017B01EE24F9
+:10453000FF248C0120E030E0C016D106E206F3062D
+:1045400010F4415051099A01281B390BC9011F91E0
+:104550000F91FF90EF90DF90CF9008951F920F92F0
+:104560000FB60F9211248F939F93AF93BF938091B7
+:10457000D9019091DA01A091DB01B091DC010196A3
+:10458000A11DB11D8093D9019093DA01A093DB01A5
+:10459000B093DC01BF91AF919F918F910F900FBEAF
+:1045A0000F901F9018950E948F12F8942FEF87EAB2
+:1045B00091E6215080409040E1F700C0000087E084
+:1045C00090EBDC018093F9019093FA01A093FB0139
+:1045D000B093FC019CE088E10FB6F894A895809315
+:1045E00060000FBE90936000FFCFEF92FF920F9399
+:1045F0001F93CF93DF93D82FC0E08C2F0E94610BC5
+:1046000000E010E0E82EF12CC701002E02C09595C5
+:1046100087950A94E2F780FD06C00F5F1F4F0630B2
+:10462000110591F709C0602F7C2F80E00E946E0C6D
+:10463000D813F3CF81E004C0CF5FCE30F1F680E035
+:10464000DF91CF911F910F91FF90EF900895CF933D
+:10465000C82F8CE20E94F522882321F08C2FCF9165
+:104660000C94F52280E0CF910895CF930E9484248A
+:10467000811102C00E946A248AEF96E00E94D4074A
+:10468000C5E6C15049F00E94350A8FE39CE90197C5
+:10469000F1F700C00000F5CF83EF96E00E94D40749
+:1046A00089E20E942723811113C18AE20E942723F5
+:1046B00081110E946A2485E00E94272381110E94B3
+:1046C000D3220E948F248093D70187E00E94272362
+:1046D0008823A9F18BE10E942723882351F0809140
+:1046E000D70181FB222720F991E0922790FB81F9E5
+:1046F0000EC08EE00E942723882361F08091D701AD
+:1047000082FB222720F991E0922790FB82F9809387
+:10471000D70115C080E10E9427239091D7018823FB
+:1047200041F093FB222720F981E0822780FB93F957
+:1047300004C0892F809580FB90F99093D7018091D8
+:10474000D7010E9493240E94A1248093EA0180EE65
+:104750000E942723882341F08091EA01982F9095A9
+:1047600090FB80F98093EA0189E30E942723882344
+:1047700059F08091EA0181FB222720F991E09227EC
+:1047800090FB81F98093EA0182EE0E94272388231F
+:1047900059F08091EA0182FB222720F991E09227CB
+:1047A00090FB82F98093EA0186EE0E9427238823FA
+:1047B00059F08091EA0183FB222720F991E09227AA
+:1047C00090FB83F98093EA0183EE0E9427238823DC
+:1047D00059F08091EA0184FB222720F991E0922789
+:1047E00090FB84F98093EA0185E30E9427238823C4
+:1047F00059F08091EA0185FB222720F991E0922768
+:1048000090FB85F98093EA0181E30E9427238823A6
+:1048100059F08091EA0186FB222720F991E0922746
+:1048200090FB86F98093EA0181E10E942723882387
+:1048300059F08091EA0187FB222720F991E0922725
+:1048400090FB87F98093EA018091EA010E94A524F8
+:104850008091EA0187FB882780F980930D0187E228
+:104860000E942723C82F8EE10E9427238111C26056
+:104870008FE10E9427238111C46080E20E942723D8
+:104880008111C86081E20E9427238111C06182E208
+:104890000E9427238111C06283E20E942723811195
+:1048A000C06484E20E942723882311F0C06802C0FC
+:1048B000CC2329F08C2F0E949C246C2F03C00E94D3
+:1048C0009824682F70E080E090E0CF910C94291F2D
+:1048D000CF9108956DEE7EEF80E090E00E946D2E06
+:1048E00060E082E090E00E945F2E60E083E090E074
+:1048F0000E945F2E60E084E090E00E945F2E60E006
+:1049000085E090E00C945F2E80E090E00E94592EAC
+:1049100021E08D3E9E4F09F020E0822F089582E035
+:1049200090E00C94512E682F82E090E00C945F2E62
+:1049300083E090E00C94512E682F83E090E00C947B
+:104940005F2E84E090E00C94512E682F84E090E07C
+:104950000C945F2E8091DF0180FF0BC060911301EA
+:1049600085E0689FB00111247595679575956795E9
+:104970002BC081FF09C06091130185E0689FB001E1
+:1049800011247595679520C082FF07C060911301BF
+:1049900085E0689FB001112417C09091E001992330
+:1049A000D1F060911201961788F72091130185E0EC
+:1049B000289F90011124929FA001939F500D1124D4
+:1049C00070E0CA010E94232E6038710540F4611521
+:1049D000710539F002C065E070E0862F08958FE719
+:1049E000089581E008958091DF0180FF08C0609103
+:1049F000110170E0759567957595679521C081FFE8
+:104A000006C06091110170E07595679519C082FF2D
+:104A100004C06091110170E010C09091E0019923F1
+:104A2000C1F0609110019617A0F780911101899F44
+:104A3000C001112470E00E94232E6038710528F413
+:104A40006115710521F0862F08958FE7089581E0A3
+:104A5000089561E070E0F4CF803F21F40E94AA2421
+:104A6000819504C0813F29F40E94AA248093E30128
+:104A70000895823F21F40E94AA24819504C0833FB7
+:104A800029F40E94AA248093E2010895893F19F431
+:104A90000E94F32405C08A3F31F40E94F3248195DB
+:104AA0008093E40108958B3F21F40E94F3248195C3
+:104AB00004C08C3F29F40E94F3248093E5010895FB
+:104AC000843F21F48091E101816017C0853F21F48A
+:104AD0008091E101826011C0863F21F48091E10163
+:104AE00084600BC0873F21F48091E101886005C09C
+:104AF000883F31F48091E10180618093E101089564
+:104B00008D3F21F48091DF0181600BC08E3F21F445
+:104B10008091DF01826005C08F3F29F48091DF0121
+:104B200084608093DF010895803F39F48091E30130
+:104B300087FF6CC01092E30169C0813F29F4809126
+:104B4000E3011816BCF362C09091E201823F29F4A0
+:104B500097FF5CC01092E20159C0833F19F4191607
+:104B6000CCF354C0893F41F48091E40118160CF055
+:104B70004DC01092E4014AC08A3F29F48091E401BB
+:104B800087FF44C0F6CF8B3F39F48091E50187FF62
+:104B90003DC01092E5013AC08C3F29F48091E501B7
+:104BA0001816BCF333C0843F21F48091E1018E7F5D
+:104BB00017C0853F21F48091E1018D7F11C0863FB0
+:104BC00021F48091E1018B7F0BC0873F21F480911C
+:104BD000E101877F05C0883F31F48091E1018F7E3C
+:104BE0008093E10113C08D3F21F48091DF018E7F1E
+:104BF0000BC08E3F21F48091DF018D7F05C08F3F78
+:104C000029F48091DF018B7F8093DF018091E201A5
+:104C100081110EC08091E30181110AC08091E401ED
+:104C2000811106C08091E501811102C01092E0015E
+:104C300008958091D70183FF7EC086E397E00E94AC
+:104C4000D4078091E1011F928F9381E397E09F93B6
+:104C50008F930E946D088FE297E00E94D4078091A5
+:104C6000E201282F332727FD30953F938F938CE265
+:104C700097E09F938F930E946D088AE297E00E94CD
+:104C8000D4078091E301282F332727FD30953F93E8
+:104C90008F9387E297E09F938F930E946D0885E240
+:104CA00097E00E94D4078091E401282F332727FD45
+:104CB00030953F938F9382E297E09F938F930E946A
+:104CC0006D0880E297E00E94D4078091E501282FCB
+:104CD000332727FD30953F938F938DE197E09F9386
+:104CE0008F930E946D088AE197E00E94D40780911B
+:104CF000E0011F928F9387E197E09F938F930E942B
+:104D00006D0885E197E00E94D4078091DF011F9232
+:104D10008F9382E197E09F938F930E946D088FE0BD
+:104D200097E00E94D4078DB79EB74C960FB6F894C3
+:104D30009EBF0FBE8DBF81EE91E00E94E6150E94DE
+:104D400078229093DE018093DD0108951F93CF9325
+:104D5000DF938091DD019091DE010E948422AC01FD
+:104D60009091E001992321F02091140130E006C0D8
+:104D7000209115018AE0289F9001112442175307C2
+:104D800008F486C08091E201C091E301D091E40172
+:104D90001091E501811107C0C11176C0D11174C015
+:104DA000111172C075C09F3F19F09F5F9093E00191
+:104DB000181624F40E94AA248093E2018091E20153
+:104DC00087FF05C00E94AA2481958093E2011C16EA
+:104DD00024F40E94AA248093E3018091E30187FFD9
+:104DE00005C00E94AA2481958093E3016091E201AD
+:104DF000662339F1C091E301CC2319F1772767FDD0
+:104E00007095872F972F0E94282D23E333E343E3E8
+:104E10005FE30E948C2D0E94F52C6093E2016C2FC1
+:104E2000772767FD7095872F972F0E94282D23E302
+:104E300033E343E35FE30E948C2D0E94F52C6093E3
+:104E4000E3011D1624F40E94F3248093E401809171
+:104E5000E40187FF05C00E94F32481958093E4015B
+:104E6000111624F40E94F3248093E5018091E5015A
+:104E700087FF05C00E94F32481958093E501DF91AF
+:104E8000CF911F910C9419269F3F09F08ECF96CF9A
+:104E9000DF91CF911F910895E1EEF1E085E0DF0110
+:104EA0001D928A95E9F71092E0011092DF010895B2
+:104EB00089E599E00E94D4071F9281E08F931F92A9
+:104EC00085E08F938BE099E09F938F930E946D080C
+:104ED0000F900F900F900F900F900F9008958330C8
+:104EE000E9F128F4813061F0823009F108958530CC
+:104EF00009F462C008F449C0863009F474C008950A
+:104F000080911501262F30E0280F311D2F3F3105EC
+:104F100024F4680F6093150103C08FEF809315018F
+:104F2000809115011F928F9384E498E072C0809164
+:104F30001401262F30E0280F311D2F3F310524F4B6
+:104F4000680F6093140103C08FEF80931401809168
+:104F500014011F928F9382E398E05BC0809113014C
+:104F6000262F30E0280F311D2F3F310524F4680F24
+:104F70006093130103C08FEF80931301809113019D
+:104F80001F928F938FE198E044C080911201262FE9
+:104F900030E0280F311D2F3F310524F4680F609356
+:104FA000120103C08FEF80931201809112011F92B2
+:104FB0008F938AE098E02DC080911101262F30E078
+:104FC000280F311D2F3F310524F4680F6093110124
+:104FD00003C08FEF80931101809111011F928F9375
+:104FE00081EF97E016C080911001262F30E0280F46
+:104FF000311D2F3F310524F4680F6093100103C069
+:105000008FEF80931001809110011F928F9386ED96
+:1050100097E09F938F930E946D080F900F900F90D1
+:105020000F900895833081F128F4813059F0823057
+:10503000D1F00895853009F449C0B8F1863009F4FB
+:1050400056C0089580911501681720F4861B80933F
+:10505000150102C010921501809115011F928F93C6
+:1050600087EC97E054C080911401681720F4861BE8
+:105070008093140102C010921401809114011F92B8
+:105080008F9385EB97E043C080911301681720F45C
+:10509000861B8093130102C01092130180911301AB
+:1050A0001F928F9382EA97E032C0809112016817B5
+:1050B00020F4861B8093120102C01092120180918D
+:1050C00012011F928F938DE897E021C0809111010A
+:1050D000681720F4861B8093110102C01092110101
+:1050E000809111011F928F9384E797E010C0809107
+:1050F0001001681720F4861B8093100102C01092E3
+:105100001001809110011F928F9389E597E09F9382
+:105110008F930E946D080F900F900F900F9008953D
+:10512000CF93C82F1F928F938EE59AE09F938F9312
+:105130000E946D0881E090E0A0E0B0E0BC01CD01EC
+:1051400004C0660F771F881F991FCA95D2F70E9467
+:10515000291F0F900F900F900F90CF910C946D1B03
+:10516000CF938D3109F465C0B0F58E3009F4CCC110
+:1051700000F5873009F49BC1A8F4863009F06DC2B0
+:105180008091D701817F8E7F8093D70183E69AE05B
+:105190000E94D40785EA9EE00E94D40781E08093B4
+:1051A000E70180C1883009F44FC08B3009F47CC11D
+:1051B00054C2863109F4F0C138F4803109F4B8C121
+:1051C000813109F430C249C2893109F4CEC18B3131
+:1051D00009F486C142C2853309F437C248F48732E4
+:1051E00009F433C208F433C2893209F42EC235C23D
+:1051F000833438F48A3308F02CC2883309F454C15C
+:105200002CC2833409F421C2883409F026C20E94DA
+:105210006D1B84E99EE00E94D4079FEF23ED80E39D
+:10522000915020408040E1F700C000000E94D3224E
+:1052300039C184EB9EE00E94D4070E94AF2C0E94EB
+:1052400091150E94C30D2EC189EA9EE00E94D407E9
+:1052500084E79CE00E94D4070E9498241F928F93B9
+:1052600081E79CE09F938F930E946D088FE69CE0FE
+:105270000E94D4070E948F24C82F8CE59CE00E94D6
+:10528000D4071F92CF9387E59CE09F938F930E9452
+:105290006D0885E59CE00E94D4078BE49CE00E94A9
+:1052A000D4078C2F81701F928F9388E49CE09F938A
+:1052B0008F930E946D0886E49CE00E94D4078CE3E3
+:1052C0009CE00E94D407C1FB882780F91F928F932E
+:1052D00089E39CE09F938F930E946D0887E39CE095
+:1052E0000E94D4078BE29CE00E94D407C2FB88276F
+:1052F00080F91F928F9388E29CE09F938F930E9486
+:105300006D0886E29CE00E94D4078DE19CE00E943B
+:10531000D407C3FBCC27C0F91F92CF938AE19CE04E
+:105320009F938F930E946D0888E19CE00E94D407B0
+:105330000E94A124C82F84E09CE00E94D4071F9201
+:10534000CF938FEF9BE09F938F930E946D088DEF1B
+:105350009BE00E94D40784EE9BE00E94D4078C2F30
+:1053600081701F928F9381EE9BE09F938F930E9499
+:105370006D088DB79EB780960FB6F8949EBF0FBE8E
+:105380008DBF8FED9BE00E94D40788EC9BE00E94CC
+:10539000D407C1FB882780F91F928F9385EC9BE08F
+:1053A0009F938F930E946D0883EC9BE00E94D4072B
+:1053B00081EB9BE00E94D407C2FB882780F91F92F3
+:1053C0008F938EEA9BE09F938F930E946D088CEAE7
+:1053D0009BE00E94D4078AE99BE00E94D407C3FBAC
+:1053E000882780F91F928F9387E99BE09F938F9383
+:1053F0000E946D0885E99BE00E94D4078BE89BE042
+:105400000E94D407C4FB882780F91F928F9388E8F5
+:105410009BE09F938F930E946D0886E89BE00E941B
+:10542000D40784E79BE00E94D407C5FB882780F956
+:105430001F928F9381E79BE09F938F930E946D084B
+:105440008FE69BE00E94D40783E59BE00E94D4078F
+:10545000C6FB882780F91F928F9380E59BE09F937E
+:105460008F930E946D088EE49BE00E94D40786E42F
+:105470009BE00E94D407C7FBCC27C0F91F92CF93B3
+:1054800083E49BE09F938F930E946D0881E49BE0EF
+:105490000E94D4078DB79EB74C960FB6F8949EBF66
+:1054A0000FBE8DBFC1E0DEC08AE89AE05BC080918C
+:1054B000D701C82FC17080FF09C087E89EE00E9415
+:1054C000D4078091D701817F8E7F47C08BE79EE014
+:1054D0000E94D4078091D70181608093D701E2CFE9
+:1054E0009091D70191FBCC27C0F981E0C827892F83
+:1054F000C0FB81F98093D701CC2319F08EE69EE0A2
+:1055000027C080E69EE02EC09091D70192FBCC2769
+:10551000C0F981E0C827892FC0FB82F98093D701A9
+:10552000CC2319F081E59EE013C081E49EE01AC00F
+:105530009091D70193FBCC27C0F981E0C827892F30
+:10554000C0FB83F98093D701CC2351F085E39EE023
+:105550000E94D4078091D70181608093D70182C0D7
+:1055600088E29EE00E94D4079DCF89E19EE00E94E0
+:10557000D4078DEE9DE00E94D40780EB9DE00E9451
+:10558000D40783E89DE00E94D4078FE39DE00E944A
+:10559000D40784E19DE0E6CF86E09DE00E94D40739
+:1055A0000E9491151F928F938CEE9CE09F938F9396
+:1055B0000E946D0880910C011F928F9385ED9CE0F5
+:1055C0009F938F930E946D0880916E011F928F931D
+:1055D00082EC9CE09F938F930E946D0880910D0157
+:1055E0001F928F938FEA9CE09F938F930E946D0888
+:1055F0008091D9019091DA01A091DB01B091DC0199
+:10560000BF93AF939F938F938BE99CE09F938F936E
+:105610000E946D088DB79EB746960FB6F8949EBF50
+:105620000FBE8DBF3FCF0E946D1BC0910D0181E069
+:10563000C827C0930D01CC2329F081E99CE00E948A
+:10564000D40710C086E89CE08DCF80E003C08D5168
+:1056500001C089530E94902825CF84E89CE00E94D5
+:10566000D407C0E08C2FCF91089580E0089580E0AA
+:105670000895CF93C82F8091E701813081F020F009
+:10568000823009F44FC045C1E0910E01F0910F0145
+:105690008081813169F0823209F03DC109C0E09119
+:1056A0000E01F0910F018081813111F0823261F49D
+:1056B0008C2F0E94352B811104C08C2F0E94B028A2
+:1056C0002FC081E090E02CC08C2F0E94372B8111DD
+:1056D00026C0C431E1F070F4CB3081F0C031D1F498
+:1056E0000E94582786E59AE00E94D40782E08093C2
+:1056F000E70115C0C93259F0C83361F483E69AE076
+:105700000E94D4078AE59AE00E94D40708C010924C
+:10571000E70103C184E59AE00E94D407FEC081E05E
+:105720008170FDC0C43220F5CE3108F0C0C0CB304E
+:1057300099F1C8F4C73009F0D2C08AE0809315010E
+:1057400094E19093140193E09093130180931201DC
+:1057500088E08093110188E2809310018AEF98E03D
+:105760000E94D407BFC0C33149F1C431C1F0B7C0F2
+:10577000CB3409F4A9C028F4C93289F0C83361F0E8
+:10578000AEC0C13509F49EC0C23509F499C0CE340B
+:1057900009F0A5C06AE09EC00E945827A3C080916E
+:1057A000E601882319F01092E6019CC087E099E099
+:1057B0000E94D40781E08093E701B1C081EE98E0B8
+:1057C0000E94D4078FEC98E00E94D40780911501C5
+:1057D0001F928F938CEC98E09F938F930E946D089B
+:1057E0008AEC98E00E94D40788EB98E00E94D407E6
+:1057F000809114011F928F9385EB98E09F938F9374
+:105800000E946D0883EB98E00E94D40784EA98E038
+:105810000E94D407809113011F928F9381EA98E030
+:105820009F938F930E946D088FE998E00E94D407A0
+:105830008EE898E00E94D407809112011F928F9306
+:105840008BE898E09F938F930E946D0889E898E019
+:105850000E94D40784E798E00E94D4078091110148
+:105860001F928F9381E798E09F938F930E946D081A
+:105870008FE698E00E94D40788E598E00E94D4075C
+:10588000809110011F928F9385E598E09F938F93ED
+:105890000E946D0883E598E00E94D4078DB79EB7FB
+:1058A00048960FB6F8949EBF0FBE8DBF1BC0CE5159
+:1058B000EC2FF0E0E15DFE4F80818093E60112C0A5
+:1058C00061E003C061E006C06AE08091E6010E94E9
+:1058D0006F2708C08091E6010E94122803C088EF5C
+:1058E00098E013C08091E601882369F01F928F939E
+:1058F00082EF98E09F938F930E946D080F900F9016
+:105900000F900F9004C08FEE98E00E94D40781E0C2
+:1059100006C01092E70180E002C080E001CFCF9185
+:105920000895E1E8F0E08081886080838081816073
+:1059300080838FB7F89493E09093890090ED9093D3
+:1059400088008FBF0895EFE6F0E080818260808359
+:105950000895EFE6F0E080818D7F80830895EFE683
+:10596000F0E0908182E08927808308951F920F9252
+:105970000FB60F9211242F933F934F935F936F9322
+:105980007F938F939F93AF93BF93EF93FF938091F8
+:10599000E8019091E90101969093E9018093E80173
+:1059A000811103C082E00E94C30DE091E901E695F8
+:1059B000E695F0E0EC53F14FE4918091E8018E130D
+:1059C00003C080E00E94C30DFF91EF91BF91AF91A2
+:1059D0009F918F917F916F915F914F913F912F9107
+:1059E0000F900FBE0F901F90189504D06894B111BE
+:1059F0008DC0089570D088F09F5790F0B92F9927E7
+:105A0000B751A0F0D1F0660F771F881F991F1AF0C9
+:105A1000BA95C9F712C0B13081F077D0B1E00895DE
+:105A200074C0672F782F8827B85F39F0B93FCCF35F
+:105A3000869577956795B395D9F73EF490958095BF
+:105A4000709561957F4F8F4F9F4F0895E89409C0DF
+:105A500097FB3EF490958095709561957F4F8F4FA1
+:105A60009F4F9923A9F0F92F96E9BB279395F695B7
+:105A7000879577956795B795F111F8CFFAF4BB0F35
+:105A800011F460FF1BC06F5F7F4F8F4F9F4F16C099
+:105A9000882311F096E911C0772321F09EE8872F23
+:105AA000762F05C0662371F096E8862F70E060E0DF
+:105AB0002AF09A95660F771F881FDAF7880F969558
+:105AC000879597F9089557FD9058440F551F59F041
+:105AD0005F3F71F04795880F97FB991F61F09F3FDB
+:105AE00079F087950895121613061406551FF2CF04
+:105AF0004695F1DF08C0161617061806991FF1CF54
+:105B000086957105610508940895E894BB2766277A
+:105B10007727CB0197F908950BD078C069D028F08A
+:105B20006ED018F0952309F05AC05FC01124EECF53
+:105B3000CADFA0F3959FD1F3950F50E0551F629FE8
+:105B4000F001729FBB27F00DB11D639FAA27F00DD6
+:105B5000B11DAA1F649F6627B00DA11D661F829FFD
+:105B60002227B00DA11D621F739FB00DA11D621FE2
+:105B7000839FA00D611D221F749F3327A00D611DFF
+:105B8000231F849F600D211D822F762F6A2F1124E1
+:105B90009F5750408AF0E1F088234AF0EE0FFF1F34
+:105BA000BB1F661F771F881F91505040A9F79E3F6B
+:105BB000510570F014C0AACF5F3FECF3983EDCF3C0
+:105BC000869577956795B795F795E7959F5FC1F7A8
+:105BD000FE2B880F911D9695879597F9089597F953
+:105BE0009F6780E870E060E008959FEF80EC089583
+:105BF00000240A94161617061806090608950024AC
+:105C00000A9412161306140605060895092E039425
+:105C1000000C11F4882352F0BB0F40F4BF2B11F499
+:105C200060FF04C06F5F7F4F8F4F9F4F0895991B98
+:105C300079E004C0991F961708F0961B881F7A9583
+:105C4000C9F78095089597FB072E16F4009407D0A6
+:105C500077FD09D00E943D2E07FC05D03EF49095BB
+:105C600081959F4F0895709561957F4F0895EE0F30
+:105C7000FF1F0590F491E02D0994AA1BBB1B51E175
+:105C800007C0AA1FBB1FA617B70710F0A61BB70BAC
+:105C9000881F991F5A95A9F780959095BC01CD0151
+:105CA0000895F999FECF92BD81BDF89A992780B5E4
+:105CB0000895A8E1B0E042E050E00C94742E262F45
+:105CC000F999FECF1FBA92BD81BD20BD0FB6F894E1
+:105CD000FA9AF99A0FBE019608950E945F2E272F17
+:105CE0000C94602EDC01CB01FC01F999FECF06C0BB
+:105CF000F2BDE1BDF89A319600B40D92415050408A
+:085D0000B8F70895F894FFCFF5
+:105D08002002C40DB50E920E5E0E2A0E0101C501C9
+:105D180028080A03140A3F4D3620394406F705C1FE
+:105D280005A1056805DB04F4040D052605460501F3
+:0A5D38000203040506070809000035
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c new file mode 100644 index 0000000000..d44962b0dc --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c @@ -0,0 +1,190 @@ +#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 + +/* + * Ordinary Ergodox EZ keyboard layout, v1 + * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com + * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Grv | 1 | 2 | 3 | 4 | 5 | ESC | | = | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | \ | | / | Y | U | I | O | P | ~L2 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | ~L1 | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ~L1 | + * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |'/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl | + * `----------------------------------' `----------------------------------' + * ,---------------. ,---------------. + * | Home | End | | Left | Right | + * ,------|--------|------| |------+--------+------. + * | | | PgUp | | Up | | | + * |Backsp| Del |------| |------| Enter | Space| + * | | | PgDn | | Down | | |; + * `----------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_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, + // 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_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO), KC_RCTL, + KC_LEFT, KC_RGHT, + KC_UP, + KC_DOWN, KC_ENT, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CAPS | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | CAPS | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 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_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, + // 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 +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | Sleep| | | | | |MyComp| Mail | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| | | | | Mute | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser| Home | |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play | + * | | |Search| |VolDn | | | + * `--------------------' `--------------------' + */ +// 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_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, + // 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_MPRV, KC_MNXT, + KC_VOLU, + KC_VOLD, KC_MSTP, KC_MPLY +), +}; + +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/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex new file mode 100644 index 0000000000..c7782d1c25 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex @@ -0,0 +1,1122 @@ +:100000000C9465020C94A9020C94A9020C94A90208
+:100010000C94A9020C94A9020C94A9020C94A902B4
+:100020000C94A9020C94A9020C94C50B0C94970C87
+:100030000C94A9020C94A9020C94A9020C94A90294
+:100040000C94A9020C9420210C94A9020C94A902EE
+:100050000C94A9020C94C21A0C94A9020C94A90243
+:100060000C94A9020C94A9020C94A9020C94A90264
+:100070000C94A9020C94A9020C94A9020C94A90254
+:100080000C94A9020C94A9020C94A9020C94A90244
+:100090000C94A9020C94A9020C94A9020C94A90234
+:1000A0000C94A9020C94A9020C94A902FC0C1E0D3C
+:1000B000090E1E0D090E600D830D090ED80DEB0DF6
+:1000C000D810D81006110611481184118413841316
+:1000D0009C118413931293125E138413841372136E
+:1000E0000000F0A135002B00C100E100E00000009D
+:1000F0001E00140004001D7100774E001F001A003E
+:1001000016001B00007F4C002000080007000600BE
+:10011000E2002A002100150009001900E3004B004D
+:10012000220017000A00050000004A0029003100E3
+:1001300000002F0000004D002E00380000003000AD
+: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
+:1002D00001000100010001000100000016034500BB
+:1002E000720067006F0044006F0078002000450036
+:1002F0005A00000016034500720067006F004400BA
+:100300006F007800200045005A0000000403090433
+:1003100009026D00040100A0FA09040000010301B4
+:100320000100092111010001223F00070581030896
+:10033000000A090401000103010200092111010062
+:1003400001224D000705820308000A09040200018A
+:100350000300000009211101000122360007058376
+:100360000308000A09040300010300000009211129
+:100370000100012239000705840310000112011059
+:100380000100000008EDFE07130100010200010555
+:10039000010906A101050719E029E71500250195C6
+:1003A0000875018102050819012905950575019156
+:1003B000029501750391010507190029771500259C
+:1003C00001957875018102C005010980A1018502AE
+:1003D00016010026B7001A01002AB7007510950112
+:1003E0008100C0050C0901A1018503160100269CAE
+:1003F000021A01002A9C02751095018100C00501B6
+:100400000902A1010901A100050919012905150029
+:10041000250195057501810295017503810105018D
+:10042000093009311581257F950275088106093843
+:100430001581257F950175088106050C0A3802157E
+:1004400081257F950175088106C0C005010906A1B7
+:1004500001050719E029E7150025019508750181B7
+:100460000295017508810105081901290595057591
+:100470000191029501750391010507190029FF15E6
+:100480000025FF950675088100C0000000000000EF
+:100490000000000000010204060A0F17202C3A4A4F
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
+:1004B000B39D87715D4A3A2C20170F0A060402018A
+:1004C0000000000000000000000011241FBECFEF5C
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A
+:1004E0009091EF01A091F001B091F1018730904B14
+:1004F000A740B04BB9F41092EE011092EF011092A8
+:10050000F0011092F10114BE84B7877F84BF88E1A7
+:100510000FB6F89480936000109260000FBEE0E088
+:10052000FFE3099511E0A0E0B1E0E4ECF5E402C0DE
+:1005300005900D92A433B107D9F721E0A4E3B1E00F
+:1005400001C01D92AE3EB207E1F70E940B090C9468
+:10055000E0220C94000061110BC0FC018281882311
+:1005600021F085EE0E946C0F03C085EE0E943410CE
+:1005700080E090E0089508956091B1017091B2011A
+:100580008091B3019091B4010E94EE1956985E9843
+:1005900025982D9826982E9827982F98813019F015
+:1005A000823021F00895259A2D9A0895269A2E9A40
+:1005B00008958CEB92E0892B11F00E94BC0280E040
+:1005C00090E0089556985E9825982D9826982E9834
+:1005D00027982F988FEF90E0909389008093880060
+:1005E00090938B0080938A0090938D0080938C0071
+:1005F000259A2D9A2FEF80E792E02150804090407D
+:10060000E1F700C00000269A2E9A2FEF80E792E0D3
+:10061000215080409040E1F700C00000279A2F9AB7
+:100620002FEF80E792E0215080409040E1F700C03A
+:10063000000025982D982FEF80E792E02150804010
+:100640009040E1F700C0000026982E982FEF80E739
+:1006500092E0215080409040E1F700C000002798D0
+:100660002F9856985E9825982D9826982E9827981A
+:100670002F98089589EA8093800089E08093810013
+:1006800024982C983F988AB18F748AB96E98479AAB
+:100690008BB1806B8BB9769A0E94E2028BEB92E071
+:1006A000892B11F00E94BB0280E090E0089580E267
+:1006B000809300018091340181110EC00E94A60335
+:1006C00081E0809334012FEF83ED90E3215080404F
+:1006D0009040E1F700C0000080E40E94AC038093EA
+:1006E000000181112EC00E94D60380930001811168
+:1006F00028C00E94D60380930001811122C08FE39D
+:100700000E94D6038093000181111BC00E94CE037A
+:1007100080E40E94AC0380930001811112C08CE040
+:100720000E94D6038093000181110BC00E94D60362
+:1007300080930001811105C08FE30E94D60380934E
+:1007400000010E94CE038091000108951092B9002B
+:100750008AE08093B800089594EA9093BC00909149
+:10076000BC0097FFFCCF9091B900987F983021F0A2
+:10077000903111F081E008958093BB0084E880936C
+:10078000BC008091BC0087FFFCCF8091B900887FBE
+:10079000883111F0803471F780E0089584E9809306
+:1007A000BC008091BC0084FDFCCF08958093BB0009
+:1007B00084E88093BC008091BC0087FFFCCF9091BF
+:1007C000B900987F81E0983209F480E0089584E8C8
+:1007D0008093BC008091BC0087FFFCCF8091BB0060
+:1007E000089580910001811115C080E40E94AC033E
+:1007F0008093000181110CC082E10E94D603809396
+:100800000001811105C08FEF0E94D6038093000183
+:100810000E94CE0384B1807F84B985B1807F85B981
+:100820008AB1837F8AB98BB1837F8BB93E98469812
+:1008300008950E945703809300010E94F10380B342
+:100840008C7080BB81B3836F81BBE4E4F1E0A6E3ED
+:10085000B1E011921D9281E0E235F807D1F78AE309
+:1008600093E0892B11F00C943A030895BF92CF9234
+:10087000DF92EF92FF920F931F93CF93DF938091BC
+:100880000001882379F0809135018F5F80933501D5
+:10089000811108C00E94570380930001811102C09A
+:1008A0000E94E20206E311E0C0E0D0E0DD24D39430
+:1008B00082E0C82EEE24E394F12CC73000F580913D
+:1008C0000001811162C080E40E94AC0380930001AA
+:1008D000811112C082E10E94D60380930001811130
+:1008E0000BC0C7010C2E01C0880F0A94EAF780954F
+:1008F0000E94D603809300010E94CE0346C0CA30F6
+:10090000A1F028F4C83059F0C93061F005C0CC30EE
+:1009100089F070F0CD3089F0209A289810C0219A83
+:1009200029980DC0229A2A980AC0239A2B9807C0AA
+:10093000529A01C0539A5B9802C03E9A4698E0EAE8
+:10094000EA95F1F78FB1799960C092E081708D25B9
+:10095000892B7C9B02C090E001C094E0892B7D9B99
+:1009600002C090E001C098E0892B7E9B02C090E01D
+:1009700001C090E1892B9FB19095991F9927991FEC
+:100980009295990F907E892B0FC080910001811163
+:1009900051C080E40E94AC03809300018823B9F128
+:1009A000B12C0E94CE038B2DF8019081981719F07D
+:1009B0008083C09201010E94F10321960F5F1F4FB7
+:1009C000CE30D10509F079CF809101018823B1F0B3
+:1009D000815080930101882339F08FE99FE00197CE
+:1009E000F1F700C000000AC0A4E4B1E0E6E3F1E0E2
+:1009F00081918D9391E0E434F907D1F789ED92E08C
+:100A0000892BD1F00E94D90217C090E09FCF83E1DB
+:100A10000E94D603809300018111C2CF81E40E941D
+:100A2000AC03809300018111BBCF0E94E703B82E75
+:100A3000B094B7CF80E0B8CF81E0DF91CF911F9124
+:100A40000F91FF90EF90DF90CF90BF900895E82F27
+:100A5000F0E0EC5BFE4F8081089508958B3B91059B
+:100A600078F4883A910540F5853A9105D0F48430C0
+:100A7000910508F0B1C08130910509F4ADC06BC09B
+:100A8000803E910508F467C0883E910508F4A4C033
+:100A90009C01205F31092031310508F05CC0906570
+:100AA0000895853A910509F459C0863A910509F4EB
+:100AB00058C083E890E40895883A910509F454C039
+:100AC000893A910509F453C08A3A910509F452C054
+:100AD0008B3A910509F451C08C3A910509F450C044
+:100AE0008D3A910509F44FC0803B910509F44EC041
+:100AF0008E3A910509F44DC08F3A910509F44CC026
+:100B0000813B910509F44BC0823B910509F44AC031
+:100B1000833B910509F449C0843B910509F448C021
+:100B2000853B910509F447C0863B910509F446C011
+:100B3000873B910509F445C0883B910509F444C001
+:100B4000893B910509F443C08A3B910509F042C0F5
+:100B50008AE296E4089580E090E0089581E890E4C8
+:100B6000089582E890E4089582EE94E4089589EE71
+:100B700094E408958AEE94E4089585EB94E408954E
+:100B800086EB94E4089587EB94E408958CEC94E468
+:100B900008958DEC94E4089583E895E408958AE837
+:100BA00095E4089582E995E4089584E995E408952B
+:100BB00081E296E4089583E296E4089584E296E45F
+:100BC000089585E296E4089586E296E4089587E222
+:100BD00096E4089580E094E40895089596E0799F5E
+:100BE000F001112494E5899FE00DF11D1124E60F19
+:100BF000F11DEE0FFF1FEC51FF4F85919491089569
+:100C0000880F991F805A9040FC0185919491089516
+:100C1000880F991F80529F4FFC01859194910895F0
+:100C200026E0729FF001112444E5849FE00DF11D40
+:100C30001124E60FF11DEE0FFF1FEC51FF4F259120
+:100C40003491C9019A9581159F4110F4C901089505
+:100C5000C90190528115904128F4C9019F700E94EA
+:100C600008060895C90190538115904120F4C901E7
+:100C70009927906C0895211580E5380769F40E9442
+:100C8000A5139FEF24E34CE0915020404040E1F752
+:100C900000C000000C94E71A213080E5380731F4D9
+:100CA0008091CC0181608093CC010895C901905559
+:100CB0008115904108F050C0832F99278F70992794
+:100CC00081309105D9F4A9014370552702C0880FDE
+:100CD000991F4A95E2F79C68A90164E0440F551FEB
+:100CE0006A95E1F744275370842B952B73E0220F0C
+:100CF000331F7A95E1F7207633271DC082309105A6
+:100D000029F4922F8827816F906A08958330910586
+:100D1000A9F4A9014370552781E090E002C0880F33
+:100D2000991F4A95E2F79C6843E0220F331F4A95CA
+:100D3000E1F7207E3770822B932B08950497F1F40E
+:100D4000A9014370552781E090E002C0880F991FE8
+:100D50004A95E2F79A68E8CFC9019057811590410A
+:100D600020F4C9019F7090620895C90190588115BF
+:100D7000904120F4C9019F70906A0895203E31058A
+:100D8000E0F4203C310558F52133310509F470C0F9
+:100D900048F42932310509F464C02A32310509F4D6
+:100DA0006EC074C029333105F1F022383105D9F015
+:100DB0002533310509F44EC069C0233E310589F160
+:100DC00038F4203E3105C1F0223E3105E1F05EC02D
+:100DD000263E310569F1273E3105A9F157C0C90109
+:100DE0000E94000608958091DF0180FD02C081FF0E
+:100DF0004DC080EE90E04BC08091DF0180FFF9CFC5
+:100E000089E390E044C08091DF0182FF0EC08091B1
+:100E1000DF0184FF03C080E090E039C083EE90E002
+:100E200036C08091DF0182FFF2CF82EE90E02FC0CA
+:100E30008091DF0183FF0BC08091DF0184FDEBCF48
+:100E400087EE90E024C08091DF0183FFF5CF86EE2E
+:100E500090E01DC08091DF0185FF07C089E290E02E
+:100E600016C08091DF0185FFF9CF85E390E00FC0C8
+:100E70008091DF0186FF07C08AE290E008C0809180
+:100E8000DF0186FFF9CF81E390E001C0C9010E9434
+:100E90002E0508950895809162010895CF93DF9300
+:100EA00000D01F92CDB7DEB72091E501243019F5AF
+:100EB00023E029839B838A832093E9008FEF90911D
+:100EC000E800815095FD06C095ED9A95F1F7000078
+:100ED0008111F5CF8091E80085FF0DC040E050E022
+:100EE00063E070E0CE0101960E94B8098091E800AD
+:100EF0008E778093E8000F900F900F90DF91CF9145
+:100F00000895CF93DF9300D01F92CDB7DEB7209125
+:100F1000E501243021F522E029839B838A8383E045
+:100F20008093E9008FEF9091E800815095FD06C015
+:100F300095ED9A95F1F700008111F5CF8091E800C9
+:100F400085FF0DC040E050E063E070E0CE01019607
+:100F50000E94B8098091E8008E778093E8000F9096
+:100F60000F900F90DF91CF9108952091E5012430EB
+:100F7000F1F422E02093E9002FEF3091E8002150B6
+:100F800035FD06C035ED3A95F1F700002111F5CF9A
+:100F90002091E80025FF0BC040E050E065E070E0E4
+:100FA0000E94B8098091E8008E778093E800089548
+:100FB000CF93DF93EC018091E501843009F046C0C6
+:100FC00090910C019923D9F090910D019923B9F0DA
+:100FD0008093E9008FEF9091E800815095FD06C065
+:100FE00095E19A95F1F700008111F5CF8091E80025
+:100FF00085FF2CC040E050E060E170E017C081E068
+:101000008093E9008FEF9091E800815095FD06C034
+:1010100095ED9A95F1F700008111F5CF8091E800E8
+:1010200085FF14C040E050E068E070E0CE010E940F
+:10103000B8098091E8008E778093E80080E1FE0196
+:10104000A2E5B1E001900D928A95E1F7DF91CF9191
+:1010500008958091E401811109C00E944A0B0E9409
+:10106000A70B8091E20084608093E20008951092C3
+:10107000E401089508950C940D210E947E1A0E94A7
+:1010800013210E94440E0C944A0742E061EC81E077
+:101090000E94C40A42E061EC82E00E94C40A42E07D
+:1010A00061EC83E00E94C40A42E161EC84E00C94AC
+:1010B000C40A8091E701833009F455C030F48130CF
+:1010C00071F0823009F48EC008958A3009F47AC034
+:1010D0008B3009F460C0893009F09CC020C0809139
+:1010E000E601813A09F096C08091E800877F8093FD
+:1010F000E8008091EA019091EB01892B21F060E0FA
+:1011000080E090E003C060E182E591E070E00E9441
+:10111000010A8091E8008B778093E8000895809120
+:10112000E601813209F076C08091EA019091EB01ED
+:10113000009719F0039709F06DC08091E800877F50
+:101140008093E8008091E80082FD05C08091E50170
+:101150008111F8CF5FC08091F1008093620180918E
+:10116000E8008B7753C08091E601813A09F052C0C4
+:101170008091EA019091EB01892B09F04BC080919D
+:10118000E800877F8093E8008091E80080FFFCCF33
+:1011900080910C0136C08091E6018132D9F58091B1
+:1011A000EA019091EB01892BA9F58091E800877FF6
+:1011B0008093E8000E94F90A8091E80180930C0175
+:1011C0000C94A5138091E601813221F58091E8000D
+:1011D000877F8093E8000E94F90A8091E90180935B
+:1011E000630108958091E601813AA1F48091E800BD
+:1011F000877F8093E8008091E80080FFFCCF80919A
+:1012000063018093F1008091E8008E778093E8007D
+:101210000C94F90A089584B7877F84BF88E10FB6DC
+:10122000F89480936000109260000FBE90E080E818
+:101230000FB6F89480936100909361000FBE0E94F6
+:10124000930E0E944A0B0E94A70B8091E2008460DB
+:101250008093E20078940E94220E0E94950E82E014
+:1012600091E00E943F0E0E94FB208091E5018530B5
+:1012700069F40E94411A8091E3018823B1F30E942E
+:10128000691A882391F30E94A209EFCF0E949B0E56
+:10129000ECCF292F332723303105A9F06CF421300E
+:1012A000310509F442C02230310509F043C08DE612
+:1012B00090E020E133E042C021323105C9F0223212
+:1012C000310519F137C099278130910541F08230FD
+:1012D000910541F0892B71F5ECE0F3E005C0E4EFF6
+:1012E000F2E002C0ECEDF2E0849190E09F0126C0B4
+:1012F000643000F5E62FF0E0EE0FFF1FEE5DFE4FCD
+:101300002081318189E090E019C0643098F4E62FA3
+:10131000F0E0DF01AA0FBB1FA65EBE4F2D913C91EE
+:10132000EA5EFE4F808190E009C082E190E02DE707
+:1013300033E004C080E090E020E030E0FA01318347
+:101340002083089580E189BD82E189BD09B400FE52
+:10135000FDCF8091D8008F7D8093D8008091E000F0
+:1013600082608093E0008091E00081FDFCCF0895D1
+:10137000CF92DF92EF92FF920F931F93CF93DF9361
+:101380007C018B01EA010E941A0B811131C0209768
+:1013900031F088819981081B190BE80EF91EC12CC8
+:1013A000D12C0115110519F18091E80085FD14C0BB
+:1013B0008091E8008E778093E800209741F0888143
+:1013C00099818C0D9D1D9983888385E011C00E94B1
+:1013D0001A0B882331F30CC0F70181917F018093B0
+:1013E000F10001501109FFEFCF1ADF0ADACF80E0D8
+:1013F000DF91CF911F910F91FF90EF90DF90CF90F1
+:1014000008952091EC013091ED012617370748F03F
+:101410006115710539F42091E8002E772093E800DA
+:1014200001C0B901FC0120E061157105B9F180919D
+:10143000E501882309F440C0853009F43FC080915C
+:10144000E80083FD3DC08091E80082FF06C08091E6
+:10145000E80082FF26C080E008958091E80080FFC8
+:10146000E3CF2091F3008091F20090E0922B611580
+:10147000710551F08830910538F421912093F100E5
+:10148000615071090196F3CF21E0089709F020E03F
+:101490008091E8008E778093E800C6CF2111C7CFF6
+:1014A000D6CF8091E501882339F0853039F08091DD
+:1014B000E80083FFCCCF04C082E0089583E0089564
+:1014C00081E008952091EC013091ED012617370756
+:1014D00048F06115710539F42091E8002E772093CA
+:1014E000E80001C0B901FC0120E061157105C1F1FE
+:1014F0008091E501882309F441C0853009F440C09A
+:101500008091E80083FD3EC08091E80082FF06C024
+:101510008091E80082FF27C080E008958091E80074
+:1015200080FFE3CF2091F3008091F20090E0922BB6
+:101530006115710559F08830910540F4249120938C
+:10154000F1003196615071090196F2CF21E00897C0
+:1015500009F020E08091E8008E778093E800C5CF05
+:101560002111C6CFD5CF8091E501882339F0853090
+:1015700039F08091E80083FFCBCF04C082E008956A
+:1015800083E0089581E00895982F973058F590935F
+:10159000E900981739F07091EC002091ED0050911E
+:1015A000F00003C0242F762F50E021FF19C03091A6
+:1015B000EB003E7F3093EB003091ED003D7F3093A8
+:1015C000ED003091EB0031603093EB007093EC0054
+:1015D0002093ED005093F0002091EE0027FF07C00C
+:1015E0009F5FD3CF8F708093E90081E0089580E002
+:1015F00008958091E60187FD05C08091E80080FF95
+:101600000EC012C08091E80082FD05C08091E50106
+:101610008111F8CF08958091E8008B7708C0809100
+:10162000E5018111EACF08958091E8008E778093DB
+:10163000E80008958091E4009091E50045E620914E
+:10164000EC0020FF21C02091E80020FD21C0209166
+:10165000E501222389F0253089F02091EB0025FD5A
+:101660000FC02091E4003091E5002817390739F3C5
+:10167000415041F0C901E3CF82E0089583E008952D
+:1016800081E0089584E008952091E80022FFDFCFF3
+:1016900080E008950E94B80B0E94C00BE0EEF0E0DD
+:1016A000808181608083E8EDF0E080818F778083A6
+:1016B00019BCA7EDB0E08C918E7F8C9380818F7EDA
+:1016C00080831092E40108950F931F93CF93DF93CB
+:1016D0000E94B80B0E94C00BC8EDD0E088818F77C4
+:1016E000888388818068888388818F7D888319BCFE
+:1016F0001092E5011092E1011092E3011092E201D3
+:1017000000EE10E0F80180818B7F8083888181600A
+:10171000888342E060E080E00E94C40AE1EEF0E0ED
+:1017200080818E7F8083E2EEF0E080818160808323
+:10173000808188608083F80180818E7F80838881AA
+:1017400080618883DF91CF911F910F910895E8ED1B
+:10175000F0E080818F7E8083E7EDF0E08081816022
+:10176000808384E082BF81E08093E4010C94640B69
+:10177000E8EDF0E080818E7F80831092E200089592
+:101780001092DA001092E10008951F920F920FB6A6
+:101790000F9211242F933F934F935F936F937F93F7
+:1017A0008F939F93AF93BF93EF93FF938091E1004B
+:1017B00082FF0BC08091E20082FF07C08091E100B0
+:1017C0008B7F8093E1000E94210E8091DA0080FFE0
+:1017D0001FC08091D80080FF1BC08091DA008E7FEF
+:1017E0008093DA008091D90080FF0DC080E189BD2F
+:1017F00082E189BD09B400FEFDCF81E08093E5015F
+:101800000E94290805C019BC1092E5010E94370802
+:101810008091E10080FF19C08091E20080FF15C037
+:101820008091E2008E7F8093E2008091E2008061EF
+:101830008093E2008091D80080628093D80019BC28
+:1018400085E08093E5010E943B088091E10084FFE0
+:1018500030C08091E20084FF2CC080E189BD82E12C
+:1018600089BD09B400FEFDCF8091D8008F7D8093A3
+:10187000D8008091E1008F7E8093E1008091E200AA
+:101880008F7E8093E2008091E20081608093E2008D
+:101890008091E101882311F084E007C08091E3008A
+:1018A00087FF02C083E001C081E08093E5010E94D0
+:1018B0003D088091E10083FF29C08091E20083FF11
+:1018C00025C08091E100877F8093E10082E08093D2
+:1018D000E5011092E1018091E1008E7F8093E100AB
+:1018E0008091E2008E7F8093E2008091E20080612F
+:1018F0008093E20042E060E080E00E94C40A8091B0
+:10190000F00088608093F0000E943A08FF91EF9108
+:10191000BF91AF919F918F917F916F915F914F9107
+:101920003F912F910F900FBE0F901F9018951F920F
+:101930000F920FB60F9211242F933F934F935F9303
+:101940006F937F938F939F93AF93BF93CF93EF93B7
+:10195000FF93C091E900CF708091EC001092E900F4
+:101960008091F000877F8093F00078940E94D30CE0
+:101970001092E9008091F00088608093F000C0939D
+:10198000E900FF91EF91CF91BF91AF919F918F911E
+:101990007F916F915F914F913F912F910F900FBE6B
+:1019A0000F901F9018951F93CF93DF93CDB7DEB79D
+:1019B000AA970FB6F894DEBF0FBECDBFE6EEF1E0FA
+:1019C0008091F100819321E0EE3EF207C9F70E9479
+:1019D00059088091E80083FF1CC12091E6013091F5
+:1019E000E701832F90E08A30910508F012C1FC01D5
+:1019F000EA5AFF4F0C949522203881F0223809F0E2
+:101A000008C18091EA018F708093E9008091EB001A
+:101A100085FB882780F91092E90006C08091E201D9
+:101A20009091E301911182609091E800977F9093EB
+:101A3000E8008093F1001092F100C5C0822F8D7FE5
+:101A400009F0E7C0222319F0223061F0E2C0809152
+:101A5000E801813009F0DDC0333009F080E0809387
+:101A6000E30128C08091E801811124C02091EA019E
+:101A70002F7009F4CEC02093E9008091EB0080FF25
+:101A800019C08091EB00333011F4806211C0806185
+:101A90008093EB0081E090E0022E01C0880F0A9451
+:101AA000EAF78093EA001092EA008091EB008860E8
+:101AB0008093EB001092E9008091E800877F86C058
+:101AC0002111A7C01091E8011F778091E300807871
+:101AD000812B8093E3008091E800877F8093E8006A
+:101AE0000E94F90A8091E80080FFFCCF8091E3001A
+:101AF00080688093E300112311F083E001C082E04D
+:101B00008093E50186C02058223008F082C0809181
+:101B1000E8019091E9018C3D23E0920779F583E09B
+:101B20008A838AE289834FB7F894DE01139620E016
+:101B30003EE051E2E32FF0E050935700E49120FFA4
+:101B400003C0E295EF703F5FEF708E2F90E0EA30B8
+:101B500010F0C79601C0C0968D939D932F5F2431DE
+:101B600049F74FBF8091E800877F8093E8006AE2E1
+:101B700070E0CE0101960E94010A14C0AE014F5FD1
+:101B80005F4F6091EA010E944909009709F441C042
+:101B90002091E800277F2093E800BC0189819A8189
+:101BA0000E94620A8091E8008B778093E80031C040
+:101BB000203879F58091E800877F8093E800809154
+:101BC000E1018093F1008091E8008E778093E80036
+:101BD0000E94F90A1EC021111CC09091E8019230A8
+:101BE000C0F48091E800877F8093E8009093E10142
+:101BF0000E94F90A8091E101811104C08091E30003
+:101C000087FF02C084E001C081E08093E5010E946B
+:101C100045088091E80083FF0AC08091E800877F33
+:101C20008093E8008091EB0080628093EB00AA969D
+:101C30000FB6F894DEBF0FBECDBFDF91CF911F91DD
+:101C400008950895CF938091E5018823B1F08091A4
+:101C5000E9008F709091EC0090FF02C090E801C005
+:101C600090E0C92FC82B1092E9008091E80083FD15
+:101C70000E94D30CCF70C093E900CF910895909348
+:101C80006901809368010895E0916801F09169010C
+:101C9000309721F00190F081E02D099480E00895C3
+:101CA000E0916801F0916901309721F00280F381A1
+:101CB000E02D09940895E0916801F0916901309751
+:101CC00021F00480F581E02D0994089520916601AA
+:101CD000309167018217930771F0909367018093A9
+:101CE0006601E0916801F0916901309721F006806A
+:101CF000F781E02D099408952091640130916501E8
+:101D00008217930771F09093650180936401E091CD
+:101D10006801F0916901309721F00084F185E02D90
+:101D20000994089508950C94920E0E94841A0E94BA
+:101D300019040C944A1BCF92DF92EF92FF920F93FB
+:101D40001F93CF93DF93CDB7DEB72B970FB6F894E1
+:101D5000DEBF0FBECDBF0E9436043BE6E32E31E06E
+:101D6000F32E00E010E0C02E802F0E942705F7011F
+:101D7000D1907F01D826B1F40F5F1F4F0E301105AF
+:101D800091F78FEF89838A831B820E948D1A81606D
+:101D9000782F9D838C8349815A816B818D810E942C
+:101DA0003E0F41C09091CC0191FF04C08B870E94EF
+:101DB0002D058B8520E030E04D2D50E0922FBA01AB
+:101DC000022E02C0759567950A94E2F760FF25C060
+:101DD0002E83CF82EE24E394F12C02C0EE0CFF1C84
+:101DE0009A95E2F790E08E219F2121E0892B09F45A
+:101DF00020E028870E948D1A8160782F9A87898732
+:101E00004E815F8168858A850E943E0FF801E55901
+:101E1000FE4F80818E25808306C02F5F3F4F263086
+:101E2000310561F6A9CF0E942E1E10916A010E9411
+:101E3000440E1817A1F00E94440E80936A012B965D
+:101E40000FB6F894DEBF0FBECDBFDF91CF911F91CB
+:101E50000F91FF90EF90DF90CF900C944A072B9654
+:101E60000FB6F894DEBF0FBECDBFDF91CF911F91AB
+:101E70000F91FF90EF90DF90CF900895CF93DF9375
+:101E8000CDB7DEB72B970FB6F894DEBF0FBECDBF30
+:101E90004F83588769877A878B87DE01119686E0A2
+:101EA000FD0111928A95E9F785E0FE0137960190D0
+:101EB0000D928A95E1F749815A816B817C818D81F0
+:101EC0009E810E9471162B960FB6F894DEBF0FBE4E
+:101ED000CDBFDF91CF910895CF93C82F882309F408
+:101EE000C1C0823859F40E94440E81FDBBC089E311
+:101EF0000E940E190E94C81989E30CC0833879F436
+:101F00000E94440E80FDAEC083E50E940E190E941F
+:101F1000C81983E50E944E19CF910C94C8198438D2
+:101F200059F40E94440E82FD9DC087E40E940E1960
+:101F30000E94C81987E4EECF8CEF8C0F813A48F4E9
+:101F40008C2F0E94632081118DC08C2F0E940E194E
+:101F5000E3CF80E28C0F883048F4C77081E001C085
+:101F6000880FCA95EAF70E948F19D6CF8BE58C0FA0
+:101F7000833078F4C53A29F0C63A31F482E890E02B
+:101F800005C081E890E002C083E890E0CF910C9416
+:101F9000660E88E58C0F833108F064C0C83A39F1C9
+:101FA000C93A41F1CA3A49F1CB3A51F1CC3A59F127
+:101FB000CD3A61F1C03B69F1CE3A71F1CF3A79F196
+:101FC000C13B81F1C23B89F1C33B91F1C43B99F123
+:101FD000C53BA1F1C63BA9F1C73BB1F1C83BB9F183
+:101FE000C93BC1F1CA3BC9F58AE292E038C082EE32
+:101FF00090E035C089EE90E032C08AEE90E02FC0CC
+:1020000085EB90E02CC086EB90E029C087EB90E058
+:1020100026C08CEC90E023C08DEC90E020C083E8DB
+:1020200091E01DC08AE891E01AC082E991E017C0F2
+:1020300084E991E014C081E292E011C083E292E071
+:102040000EC084E292E00BC085E292E008C086E216
+:1020500092E005C087E292E002C080E090E0CF917C
+:102060000C947C0ECF910895882309F44BC08238DC
+:1020700059F40E94440E81FF45C089E30E940E1965
+:102080000E94C81989E30CC0833871F40E94440E81
+:1020900080FF38C083E50E940E190E94C81983E5AD
+:1020A0000E944E190C94C819843859F40E94440EA9
+:1020B00082FF28C087E40E940E190E94C81987E495
+:1020C000EFCF9CEF980F913A58F390E2980F983029
+:1020D00050F4877091E001C0990F8A95EAF7892F33
+:1020E0000E949519DFCF9BE5980F933020F480E094
+:1020F00090E00C94660E885A833120F480E090E0E2
+:102100000C947C0E0895882321F00E948F190C9462
+:10211000C8190895882321F00E9495190C94C819B4
+:102120000895CF92DF92EF92FF920F931F93CF9378
+:10213000DF93CDB7DEB728970FB6F894DEBF0FBE9A
+:10214000CDBF8C0185E0F801DE01119601900D9262
+:102150008A95E1F7F80140813181F280258122954D
+:102160002F7083819481892B31F03F3F31F481E0DE
+:102170004F3F19F403C081E001C080E080FDC4C27C
+:1021800049833A8389819A812F830E94CC189E8348
+:1021900088870E94CB180E949E174E81E42FE295FB
+:1021A000EF70F0E0E05AFF4F2F8168850C94952284
+:1021B000842F807F142F1F70882311F01295107FB9
+:1021C000FF2059F0112309F454C2812F68870E941F
+:1021D0009F190E94C81968854CC2862F0E9434102E
+:1021E000112309F491C2812F0E94A51928960FB6D8
+:1021F000F894DEBF0FBECDBFDF91CF911F910F913D
+:10220000FF90EF90DF90CF900C94C819342F307F5F
+:10221000842F8F70303211F08295807F662319F001
+:10222000613019F12BC0FF20B1F0222309F493C1D2
+:10223000213009F090C128960FB6F894DEBF0FBE8A
+:10224000CDBFDF91CF911F910F91FF90EF90DF9065
+:10225000CF900C94AF19222319F0213009F454C205
+:102260008E830E94B2198E8189C1FF2021F0223015
+:1022700008F04AC270C1211147C280C1FF2021F07D
+:10228000222309F468C1F5C1222309F477C105C2EC
+:10229000242F26952695237030E02115310521F055
+:1022A00021303105C9F030C2FF2021F0862F942F54
+:1022B000937002C080E090E028960FB6F894DEBFDD
+:1022C0000FBECDBFDF91CF911F910F91FF90EF9087
+:1022D000DF90CF900C94660EFF2021F0862F942F74
+:1022E000937002C080E090E028960FB6F894DEBFAD
+:1022F0000FBECDBFDF91CF911F910F91FF90EF9057
+:10230000DF90CF900C947C0E862FFF2019F00E9456
+:10231000361D02C00E949E1D28960FB6F894DEBF9F
+:102320000FBECDBFDF91CF911F910F91FF90EF9026
+:10233000DF90CF900C94231E842F837009F076C019
+:10234000F110E2C1262F229526952770220F220F29
+:10235000862F8F70C82ED12CE12CF12C022E04C0B8
+:10236000CC0CDD1CEE1CFF1C0A94D2F764FF10C0DD
+:102370006FE070E080E090E004C0660F771F881F78
+:10238000991F2A95D2F7609570958095909503C016
+:1023900060E070E0CB01242F269526952370422F14
+:1023A00050E042305105D1F04330510559F16C29CC
+:1023B0007D298E299F294130510541F128960FB67C
+:1023C000F894DEBF0FBECDBFDF91CF911F910F916B
+:1023D000FF90EF90DF90CF900C94C3176C297D296C
+:1023E0008E299F2928960FB6F894DEBF0FBECDBF69
+:1023F000DF91CF911F910F91FF90EF90DF90CF90E1
+:102400000C94DD170E94C317C701B60128960FB6BA
+:10241000F894DEBF0FBECDBFDF91CF911F910F911A
+:10242000FF90EF90DF90CF900C94A917FF2019F048
+:10243000842F817001C08695882309F465C1262FF9
+:10244000229526952770220F220F862F8F70C82E77
+:10245000D12CE12CF12C022E04C0CC0CDD1CEE1C86
+:10246000FF1C0A94D2F764FF10C06FE070E080E0B8
+:1024700090E004C0660F771F881F991F2A95D2F736
+:10248000609570958095909503C060E070E0CB01F9
+:10249000242F269526952370422F50E04230510577
+:1024A000D1F04330510559F16C297D298E299F299E
+:1024B0004130510541F128960FB6F894DEBF0FBEAA
+:1024C000CDBFDF91CF911F910F91FF90EF90DF90E3
+:1024D000CF900C9497186C297D298E299F292896D6
+:1024E0000FB6F894DEBF0FBECDBFDF91CF911F9125
+:1024F0000F91FF90EF90DF90CF900C94B1180E9455
+:102500009718C701B60128960FB6F894DEBF0FBE24
+:10251000CDBFDF91CF911F910F91FF90EF90DF9092
+:10252000CF900C947D18603FC9F118F4603E50F4D0
+:102530009BC0623F09F460C008F44AC0633F09F4DD
+:102540006FC092C0162F1F70842F8F71FF2099F0DB
+:102550000E941618812F28960FB6F894DEBF0FBE82
+:10256000CDBFDF91CF911F910F91FF90EF90DF9042
+:10257000CF900C9483100E943718812F28960FB6A5
+:10258000F894DEBF0FBECDBFDF91CF911F910F91A9
+:10259000FF90EF90DF90CF900C948A10FF20A1F075
+:1025A0002111B2C0842F8F7128960FB6F894DEBF28
+:1025B0000FBECDBFDF91CF911F910F91FF90EF9094
+:1025C000DF90CF900C945C18223008F09DC0EACFC9
+:1025D000FF20A1F0842F8F7128960FB6F894DEBFEC
+:1025E0000FBECDBFDF91CF911F910F91FF90EF9064
+:1025F000DF90CF900C941618FF2061F3842F8F7119
+:1026000028960FB6F894DEBF0FBECDBFDF91CF91F5
+:102610001F910F91FF90EF90DF90CF900C9437189F
+:10262000FF2091F0842F8F7128960FB6F894DEBFAB
+:102630000FBECDBFDF91CF911F910F91FF90EF9013
+:10264000DF90CF900C94011828960FB6F894DEBF57
+:102650000FBECDBFDF91CF911F910F91FF90EF90F3
+:10266000DF90CF900C94F717FF20A1F0222309F4FC
+:10267000B1CF862F28960FB6F894DEBF0FBECDBF20
+:10268000DF91CF911F910F91FF90EF90DF90CF904E
+:102690000C946C0F222309F4B1CF862F28960FB625
+:1026A000F894DEBF0FBECDBFDF91CF911F910F9188
+:1026B000FF90EF90DF90CF900C9434104F70C801D2
+:1026C0000E94AB0228960FB6F894DEBF0FBECDBFB6
+:1026D000DF91CF911F910F91FF90EF90DF90CF90FE
+:1026E0000C941E174F70C80128960FB6F894DEBFE1
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053
+:10270000DF90CF900C94ED0528960FB6F894DEBFBD
+:102710000FBECDBFDF91CF911F910F91FF90EF9032
+:10272000DF90CF9008950E94AC190E9481190E94F9
+:10273000C8190E94CF1E0E94231E80E090E00E94D4
+:10274000660E80E090E00C947C0E0E949C190C9424
+:1027500093130E94CC18292F22952F7030E02C3033
+:1027600031054CF42A3031056CF422503109223005
+:10277000310590F407C02C30310551F02F30310570
+:1027800039F00AC0803E10F0803F31F481E00895B6
+:1027900093FB882780F9089580E00895CF93DF9315
+:1027A00000D000D01F92CDB7DEB70F900F900F90E2
+:1027B0000F900F90DF91CF910895CF93DF9300D0CA
+:1027C00000D000D0CDB7DEB726960FB6F894DEBFA6
+:1027D0000FBECDBFDF91CF9108951F93CF93DF93AD
+:1027E000C091790116E080917A01C81799F0D0E084
+:1027F0001C9FF0011D9FF00D1124E558FE4F4081F4
+:10280000518162817381848195810E94DD132196BB
+:10281000C770E9CFDF91CF911F9108954091AB012F
+:102820005091AC016091AD017091AE018091AF010A
+:102830009091B0010C94DD13CF938091B0018295FB
+:102840008F7009F05FC08091AD01882309F45AC0F0
+:1028500020917901A0917A016091AB017091AC0156
+:102860008091AE019091AF0131E06F3F09F030E00F
+:10287000B32FC6E02A1709F445C0009721F07F3F27
+:1028800021F44B2F03C041E001C040E030E040FDA7
+:1028900035C0C29FF001C39FF00D1124E558FE4FD3
+:1028A000418174132BC04081641328C042814111BF
+:1028B00025C0438154814817590710F441505109EC
+:1028C000481B590B483C5105C8F48091B0018F70EA
+:1028D00080618093B00186E0829FF001839FF00DBC
+:1028E0001124E058FE4F80818F70806180838BEAD5
+:1028F00091E00E949110CF910C94ED132F5F3F4F08
+:102900002770B8CFCF910895CF92DF92EF92FF92C8
+:102910000F931F93CF93DF93CDB7DEB762970FB6B8
+:10292000F894DEBF0FBECDBF8C0185E0F801DE015B
+:102930001D9601900D928A95E1F7D8014C91119660
+:102940005C91119712966C9112971396ED90FC90F2
+:1029500014977091AB01E091AC012091AE013091E0
+:10296000AF012115310531F0EF3F31F481E07F3FB8
+:1029700019F403C081E001C080E0B82FB170CB2E04
+:1029800080FD6CC1D090AD01DD2009F4F5C0F0915F
+:10299000B001E216F30638F0C701821B930B883CA6
+:1029A000910548F09BC0209530952E0D3F1D283C89
+:1029B000310508F093C08F2F807F09F052C0E513D6
+:1029C00014C0741312C0D62E61110FC0FF70F061D5
+:1029D000F093B0010E940E148BEA91E00E949110D6
+:1029E0008091B001F80185836CC1EF2831F05F3F21
+:1029F00031F481E04F3F19F403C081E001C080E071
+:102A000080FD03C081E0862701C080E0F82FF170CF
+:102A1000FF2E80FF1CC08091790120917A0136E061
+:102A2000821709F428C190E0389FF001399FF00D1A
+:102A30001124E558FE4F7181571306C0708147136A
+:102A400003C07281671303C001968770E9CFD62E49
+:102A5000662309F436C18091B00181608093B00192
+:102A600053C0E51308C0741306C0611104C0D80137
+:102A70001596FC93AEC04D875E878D859E856A8BCB
+:102A80000E94A9136A89882329F1D62E662311F1A1
+:102A90002091B001822F82958F7090E002970CF404
+:102AA00060C08091AB019091AC0198878F831986AB
+:102AB000FB86EA862C87CE01079651C0E51731F1D7
+:102AC0004D875E878D859E856A8B0E94A9136A89D2
+:102AD00081112EC0C8010E949110A4C08F2F807F49
+:102AE00069F77E2DF98AE88A89890E94CE138BEADC
+:102AF00091E00E949110EBEAF1E086E0DF011D9287
+:102B00008A95E9F70E940E14D12CDBC07413D8CF3C
+:102B10006111D6CFD8011596FC93C8010E9491107F
+:102B2000EBEAF1E086E0DF011D928A95E9F7C9C082
+:102B3000D62E662379F22091B001822F82958F7074
+:102B400090E0029774F08091AB019091AC019A8370
+:102B500089831B82FD82EC822E83CE0101960E9426
+:102B6000911086E0F801ABEAB1E001900D928A95F0
+:102B7000E1F70E941C146FC0E216F30628F0C701AB
+:102B8000821B930B9C0104C0209530952E0D3F1D98
+:102B9000283C310508F052C0D62E662309F49ACF9E
+:102BA000E5132CC074132AC08091B00180FD1DC0B4
+:102BB000982F92959F70C9F0D80115968C93159710
+:102BC0009F3039F09F5F9295907F8F70892B15967B
+:102BD0008C93C8010E94911086E0F801ABEAB1E045
+:102BE00001900D928A95E1F736C086E0F801ABEAD4
+:102BF000B1E001900D928A95E1F763C04D875E8741
+:102C00008D859E850E94A913882379F086E0F801BE
+:102C1000ABEAB1E001900D928A95E1F70E941C1495
+:102C20000E940E14DD24D3944CC08091B0018160C9
+:102C30008093B001C8010E94911043C07E2DF98A93
+:102C4000E88A89890E94CE13EBEAF1E086E0DF0191
+:102C50001D928A95E9F70E940E1433C0662309F489
+:102C600039CF4D875E878D859E850E94A913882365
+:102C700009F430CFCBCF4D875E878D859E850E942E
+:102C8000CC18292F22952F7030E0223031052CF4FA
+:102C90009F7041F0811106C00CC0243031052CF426
+:102CA0009F7049F4805E883020F0C8010E94911026
+:102CB000CF2CDC2C06C0D80115969C91907F91F703
+:102CC000F8CF8D2D62960FB6F894DEBF0FBECDBF44
+:102CD000DF91CF911F910F91FF90EF90DF90CF90F8
+:102CE00008951F93CF93DF93CDB7DEB72C970FB620
+:102CF000F894DEBF0FBECDBF4F83588769877A87B0
+:102D00008B879C87CE0107960E9484148823C1F08C
+:102D10002F8138858A859B85892B31F03F3F11F0C3
+:102D200080E003C02F3FE1F781E0811147C04F8170
+:102D3000588569857A858B859C850E94DD133EC008
+:102D400086E0FE013796DE01119601900D928A957C
+:102D5000E1F7FF81E8854A855B854115510531F032
+:102D6000EF3F31F481E0FF3F19F403C081E001C07F
+:102D700080E080FD23C020917A0130E0C9010196F6
+:102D8000877099276091790170E086179707F1F1B4
+:102D9000F983EA835D834C8396E0929FD001939FF1
+:102DA000B00D1124A558BE4FFE01319601900D9231
+:102DB0009A95E1F780937A010E94ED1316E08091D5
+:102DC000790190917A01891779F1189FC001112436
+:102DD00085589E4F0E948414882331F1E091790137
+:102DE0001E9FF0011124E558FE4F40815181628100
+:102DF0007381848195810E94DD138091790190E037
+:102E000001968770992780937901D9CF0E94A513E5
+:102E100010927A0110927901EBEAF1E086E0DF018D
+:102E20001D928A95E9F7CACF2C960FB6F894DEBFAB
+:102E30000FBECDBFDF91CF911F910895EF92FF920A
+:102E40000F931F93CF93DF93FC01009709F46FC09A
+:102E5000F12CEE24E394EF0121968491843740F421
+:102E6000843008F055C0813081F0823021F15FC09C
+:102E7000853709F447C0C0F19CE7980F903708F0F8
+:102E800056C08F770E94341045C08F010E5F1F4FD0
+:102E9000FE01849190E2980F983050F48770FE2DD7
+:102EA00001C0FF0F8A95EAF78F2F0E949F1915C066
+:102EB0000E946C0F14C08F010E5F1F4FFE018491A2
+:102EC00090E2980F983068F48770FE2D01C0FF0FD4
+:102ED0008A95EAF78F2F0E94A5190E94C819E80168
+:102EE00019C00E943410FBCFCF010296FE01C4919D
+:102EF000CC2361F0EFE9FFE03197F1F700C000006B
+:102F0000C150F6CFCF010296FE01F490EC0102C051
+:102F10000E946C0F8F2D882341F0EFE9FFE031977D
+:102F2000F1F700C000008150F6CFFE0194CFDF9191
+:102F3000CF911F910F91FF90EF90089508956093A6
+:102F4000B5017093B6018093B7019093B8010C94CA
+:102F500093130F931F930091B5011091B601209127
+:102F6000B7013091B801062B172B282B392B009372
+:102F7000B5011093B6012093B7013093B8011F91AA
+:102F80000F910C9493130F931F930091B50110911F
+:102F9000B6012091B7013091B801062317232823E9
+:102FA00039230093B5011093B6012093B7013093F4
+:102FB000B8011F910F910C9493130F931F930091DD
+:102FC000B5011091B6012091B7013091B8010627E3
+:102FD0001727282739270093B5011093B6012093AE
+:102FE000B7013093B8011F910F910C949313109275
+:102FF000B1011092B2011092B3011092B4010C947D
+:10300000931341E050E060E070E004C0440F551FAE
+:10301000661F771F8A95D2F74093B1015093B20192
+:103020006093B3017093B4010C94931341E050E0AA
+:1030300060E070E004C0440F551F661F771F8A953B
+:10304000D2F78091B1019091B201A091B301B091FA
+:10305000B401842B952BA62BB72B8093B1019093B1
+:10306000B201A093B301B093B4010C94931341E067
+:1030700050E060E070E004C0440F551F661F771FEA
+:103080008A95D2F740955095609570958091B101E1
+:103090009091B201A091B301B091B4018423952322
+:1030A000A623B7238093B1019093B201A093B301FB
+:1030B000B093B4010C94931341E050E060E070E0F1
+:1030C00004C0440F551F661F771F8A95D2F7809161
+:1030D000B1019091B201A091B301B091B4018427E4
+:1030E0009527A627B7278093B1019093B201A093AB
+:1030F000B301B093B4010C9493130F931F930091F9
+:10310000B1011091B2012091B3013091B401062BAD
+:10311000172B282B392B0093B1011093B201209368
+:10312000B3013093B4011F910F910C9493130F933B
+:103130001F930091B1011091B2012091B301309120
+:10314000B40106231723282339230093B1011093D8
+:10315000B2012093B3013093B4011F910F910C94ED
+:1031600093130F931F930091B1011091B20120911D
+:10317000B3013091B4010627172728273927009378
+:10318000B1011093B2012093B3013093B4011F91A8
+:103190000F910C9493130895CF92DF92EF92FF92C8
+:1031A0000F931F93CF93DF93EC01C090B501D090A4
+:1031B000B601E090B701F090B8018091B101909113
+:1031C000B201A091B301B091B401C82AD92AEA2A68
+:1031D000FB2A0FE110E0B701A601002E04C076958E
+:1031E0006795579547950A94D2F740FF07C0BE01EF
+:1031F000802F0E9410068130910539F40150110989
+:1032000050F7BE0180E00E941006DF91CF911F9120
+:103210000F91FF90EF90DF90CF90089590910C0167
+:103220009923D9F090910D019923B9F0982F969593
+:10323000969596959F3088F5E0910E01F0910F01DB
+:10324000E90FF11D877021E030E001C0220F8A955F
+:10325000EAF78181822B8183089540910E0150917C
+:103260000F0120E030E09FEFFA01E20FF31F6281CF
+:10327000681799F09F3F19F4611101C0922F2F5FD9
+:103280003F4F2E30310581F79F3F39F0FA01E90FAA
+:10329000F11D97FDFA9582830895089590910C0190
+:1032A0009923E1F090910D019923C1F0982F969503
+:1032B000969596959F3020F5E0910E01F0910F01C3
+:1032C000E90FF11D877021E030E001C0220F8A95DF
+:1032D000EAF72095818128232183089540910E01EA
+:1032E00050910F0120E030E0FA01E20FF31F9281CC
+:1032F000981301C012822F5F3F4F2E303105A1F786
+:10330000089581E090E0E0910E01F0910F01E80F47
+:10331000F91F1082019680319105A9F708959091C7
+:10332000CB01982B9093CB01089580959091CB0180
+:1033300098239093CB0108951092CB01089590911A
+:10334000CA01982B9093CA01089580959091CA0163
+:1033500098239093CA0108951092CA01089580930A
+:10336000B90108951092B901089540910E0150914C
+:103370000F0120E030E080E0FA01E20FF31F9181BD
+:1033800091118F5F2F5F3F4F2F303105A9F70895BF
+:10339000E0910E01F0910F018091CB018083E091CB
+:1033A0000E01F0910F0180819091CA01892B8083D9
+:1033B0009091B901992361F0E0910E01F0910F0114
+:1033C0008081892B80830E94B51981111092B901E7
+:1033D00080910E0190910F010C94500ECF92DF92CC
+:1033E000EF92FF920F931F936C01EE24FF24C11400
+:1033F000D104E104F10421F46B017C0180E001C0FF
+:1034000080E133272F2D1E2D0D2D011511052105CE
+:10341000310519F0885F6801790197018601A4E000
+:103420003695279517950795AA95D1F7011511059A
+:103430002105310519F08C5F68017901970186013A
+:10344000F2E03695279517950795FA95D1F701156E
+:1034500011052105310519F08E5F68017901B70169
+:10346000A6017695679557954795452B462B472B93
+:1034700009F08F5F1F910F91FF90EF90DF90CF9039
+:1034800008958091E501843009F11092CD0120E486
+:1034900088E190E00FB6F894A895809360000FBE85
+:1034A0002093600083B7817F846083BF83B781608E
+:1034B00083BF7894889583B78E7F83BF88E10FB6EA
+:1034C000F89480936000109260000FBE08950895F4
+:1034D0000895CF930E94671A0E9436040E94681ACA
+:1034E000C0E08C2F0E942705811105C0CF5FCE3030
+:1034F000C1F780E001C081E0CF9108950E94A5133B
+:103500000E94440E0C944A0782E084BD93E095BD6E
+:103510009AEF97BD80936E0008952FB7F89480912D
+:10352000CE019091CF01A091D001B091D1012FBFD8
+:103530000895CF92DF92EF92FF920F931F932FB7D0
+:10354000F8944091CE015091CF016091D0017091DB
+:10355000D1012FBF6A017B01EE24FF248C0120E002
+:1035600030E0C016D106E206F30610F441505109CE
+:10357000481B590BCA011F910F91FF90EF90DF90EC
+:10358000CF9008951F920F920FB60F9211248F9330
+:103590009F93AF93BF938091CE019091CF01A09163
+:1035A000D001B091D1010196A11DB11D8093CE0132
+:1035B0009093CF01A093D001B093D101BF91AF916F
+:1035C0009F918F910F900FBE0F901F9018950E94A2
+:1035D0004A0BF8942FEF87EA91E621508040904003
+:1035E000E1F700C0000087E090EBDC018093EE0182
+:1035F0009093EF01A093F001B093F1012CE088E1EA
+:1036000090E00FB6F894A895809360000FBE2093C9
+:103610006000FFCFEF92FF920F931F93CF93DF9342
+:10362000E82EF12C8F2D0E942705C0E0D0E0082F56
+:1036300010E098010C2E02C0359527950A94E2F708
+:1036400020FD05C02196C630D10599F709C06C2F21
+:103650007F2D80E00E94EE05E812F4CF81E005C0E6
+:10366000F3948EE0F812DECF80E0DF91CF911F91CE
+:103670000F91FF90EF900895CF93C82F8CE20E9496
+:103680000A1B882321F08C2FCF910C940A1B80E019
+:10369000CF910895CF930E948F1C811102C00E9488
+:1036A000751CC5E6C15049F00E9436048FE39CE9C1
+:1036B0000197F1F700C00000F5CF89E20E943C1BA2
+:1036C000811111C18AE20E943C1B81110E94751C6C
+:1036D00085E00E943C1B81110E94E71A0E949A1CFF
+:1036E0008093CC0187E00E943C1B882399F18BE1F9
+:1036F0000E943C1B882351F09091CC0191FB8827BC
+:1037000080F921E0822780FB91F922C08EE00E949F
+:103710003C1B882351F09091CC0192FB882780F9C3
+:1037200021E0822780FB92F913C080E10E943C1BBC
+:103730009091CC01882341F093FB882780F921E008
+:10374000822780FB93F904C0892F809580FB90F934
+:103750009093CC018091CC010E949E1C0E94AC1CD5
+:103760008093DF0180EE0E943C1B882341F0809112
+:10377000DF01982F909590FB80F98093DF0189E31A
+:103780000E943C1B882359F09091DF0191FB882710
+:1037900080F921E0822780FB91F99093DF0182EE8E
+:1037A0000E943C1B882359F09091DF0192FB8827EF
+:1037B00080F921E0822780FB92F99093DF0186EE69
+:1037C0000E943C1B882359F09091DF0193FB8827CE
+:1037D00080F921E0822780FB93F99093DF0183EE4B
+:1037E0000E943C1B882359F09091DF0194FB8827AD
+:1037F00080F921E0822780FB94F99093DF0185E333
+:103800000E943C1B882359F09091DF0195FB88278B
+:1038100080F921E0822780FB95F99093DF0181E315
+:103820000E943C1B882359F09091DF0196FB88276A
+:1038300080F921E0822780FB96F99093DF0181E1F6
+:103840000E943C1B882359F09091DF0197FB882749
+:1038500080F921E0822780FB97F99093DF01809126
+:10386000DF010E94B01C8091DF0187FB882780F96F
+:1038700080930D0187E20E943C1BC82F8EE10E94BD
+:103880003C1B8111C2608FE10E943C1B8111C4600E
+:1038900080E20E943C1B8111C86081E20E943C1BB7
+:1038A0008111C06182E20E943C1B8111C06283E2EF
+:1038B0000E943C1B8111C06484E20E943C1B88234F
+:1038C00011F0C06802C0CC2329F08C2F0E94A71CE5
+:1038D0006C2F03C00E94A31C682F70E080E090E072
+:1038E000CF910C949F17CF9108956DEE7EEF80E0FD
+:1038F00090E00E94CB2260E082E090E00E94BD2236
+:1039000060E083E090E00E94BD2260E084E090E00F
+:103910000E94BD2260E085E090E00C94BD2280E032
+:1039200090E00E94B72221E08D3E9E4F09F020E0FA
+:10393000822F089582E090E00C94AF22682F82E0FD
+:1039400090E00C94BD2283E090E00C94AF22682FAD
+:1039500083E090E00C94BD2284E090E00C94AF22D0
+:10396000682F84E090E00C94BD228091D40180FF08
+:103970000BC06091130185E0689FB001112475951B
+:103980006795759567952AC081FF09C060911301FD
+:1039900085E0689FB0011124759567951FC082FF6F
+:1039A00007C06091130185E0689FB001112416C023
+:1039B0004091D5014423C9F060911201461788F760
+:1039C0002091130185E0289F90011124429FC0019E
+:1039D000439F900D112470E00E9481226038710590
+:1039E00040F46115710539F002C065E070E0862F82
+:1039F00008958FE7089581E008958091D40180FFB4
+:103A000008C06091110170E075956795759567958F
+:103A100021C081FF06C06091110170E07595679526
+:103A200019C082FF04C06091110170E010C0809144
+:103A3000D5018823C1F0609110018617A0F79091FD
+:103A40001101989FC001112470E00E94812260380A
+:103A5000710528F46115710521F0862F08958FE70F
+:103A6000089581E0089561E070E0F4CF803F21F493
+:103A70000E94B51C819504C0813F29F40E94B51CA9
+:103A80008093D8010895823F21F40E94B51C81954E
+:103A900004C0833F29F40E94B51C8093D701089588
+:103AA000893F19F40E94FD1C05C08A3F31F40E9431
+:103AB000FD1C81958093D90108958B3F21F40E94CC
+:103AC000FD1C819504C08C3F29F40E94FD1C80934D
+:103AD000DA010895843F21F48091D601816017C0F6
+:103AE000853F21F48091D601826011C0863F21F488
+:103AF0008091D60184600BC0873F21F48091D6016C
+:103B0000886005C0883F31F48091D6018061809340
+:103B1000D60108958D3F21F48091D40181600BC0BE
+:103B20008E3F21F48091D401826005C08F3F29F43B
+:103B30008091D40184608093D4010895803F39F44A
+:103B40008091D80187FF6CC01092D80169C0813F75
+:103B500029F48091D8011816BCF362C09091D70166
+:103B6000823F29F497FF5CC01092D70159C0833F70
+:103B700019F41916CCF354C0893F41F48091D9014E
+:103B800018160CF04DC01092D9014AC08A3F29F492
+:103B90008091D90187FF44C0F6CF8B3F39F48091E3
+:103BA000DA0187FF3DC01092DA013AC08C3F29F458
+:103BB0008091DA011816BCF333C0843F21F4809160
+:103BC000D6018E7F17C0853F21F48091D6018D7F6D
+:103BD00011C0863F21F48091D6018B7F0BC0873FB7
+:103BE00021F48091D601877F05C0883F31F4809110
+:103BF000D6018F7E8093D60113C08D3F21F4809132
+:103C0000D4018E7F0BC08E3F21F48091D4018D7F33
+:103C100005C08F3F29F48091D4018B7F8093D4011C
+:103C20008091D70181110EC08091D80181110AC005
+:103C30008091D901811106C08091DA01811102C001
+:103C40001092D501089586ED91E00E945B0E0E94CE
+:103C50008D1A9093D3018093D20108951F93CF932F
+:103C6000DF938091D2019091D3010E94991A4091E3
+:103C7000D501442321F02091140130E006C02091A9
+:103C800015015AE0259F900111248217930708F42B
+:103C900082C08091D7011091D801D091D901C091F3
+:103CA000DA01811107C0111105C0D11103C0CC2365
+:103CB00009F471C04F3F19F04F5F4093D5011816BA
+:103CC00024F40E94B51C8093D7018091D70187FF0F
+:103CD00005C00E94B51C81958093D701111624F46C
+:103CE0000E94B51C8093D8018091D80187FF05C040
+:103CF0000E94B51C81958093D8016091D7016623FD
+:103D000039F11091D801112319F1772767FD7095CA
+:103D1000872F972F0E94922123E333E343E35FE34E
+:103D20000E94F6210E945F216093D701612F7727BF
+:103D300067FD7095872F972F0E94922123E333E32D
+:103D400043E35FE30E94F6210E945F216093D80164
+:103D50001D1624F40E94FD1C8093D9018091D90185
+:103D600087FF05C00E94FD1C81958093D9011C1618
+:103D700024F40E94FD1C8093DA018091DA0187FF10
+:103D800005C00E94FD1C81958093DA01DF91CF91DF
+:103D90001F910C94231EDF91CF911F910895E6EDA2
+:103DA000F1E085E0DF011D928A95E9F71092D501D7
+:103DB0001092D4010895833081F128F4813059F0B4
+:103DC0008230D1F00895853009F449C0B8F18630C9
+:103DD00009F456C0089520911501862F90E0820FB6
+:103DE000911D8F3F910520F4620F60931501089596
+:103DF0008FEF80931501089520911401862F90E094
+:103E0000820F911D8F3F910520F4620F6093140182
+:103E100008958FEF80931401089520911301862F48
+:103E200090E0820F911D8F3F910520F4620F609307
+:103E3000130108958FEF80931301089520911201CB
+:103E4000862F90E0820F911D8F3F910520F4620F25
+:103E50006093120108958FEF8093120108952091CD
+:103E60001101862F90E0820F911D8F3F910520F464
+:103E7000620F6093110108958FEF809311010895EF
+:103E800020911001862F90E0820F911D8F3F9105A8
+:103E900020F4620F6093100108958FEF809310015A
+:103EA0000895833011F128F4813049F0823091F087
+:103EB0000895853081F120F18630C1F10895809117
+:103EC0001501681720F4861B809315010895109240
+:103ED0001501089580911401681720F4861B8093C2
+:103EE0001401089510921401089580911301681728
+:103EF00020F4861B809313010895109213010895F6
+:103F000080911201681720F4861B80931201089596
+:103F100010921201089580911101681720F4861BF8
+:103F2000809311010895109211010895809110015C
+:103F3000681720F4861B80931001089510921001D9
+:103F400008958D3109F442C020F58E3009F479C00E
+:103F500070F4873009F45EC020F4863009F442C062
+:103F600033C08830D1F18B3009F4A7C02DC0863121
+:103F700009F4A3C038F4803109F46DC0813109F42B
+:103F80007BC022C0893109F498C08B3109F44FC03D
+:103F90001BC0853309F479C048F4873209F475C031
+:103FA00008F478C0893209F470C00EC0833438F444
+:103FB0008A3308F071C0883309F47FC005C08334A8
+:103FC00009F463C08834C1F080E008950E9419218B
+:103FD0000E94440E0E944A0770C00E949A1C0E94D0
+:103FE000AC1C6BC08091CC01817F8E7F8093CC0113
+:103FF00081E08093DC0108950E94A5132FEF83EDEB
+:1040000090E3215080409040E1F700C000000E9402
+:10401000E71A53C09091CC01892F817090FF03C0A3
+:10402000917F9E7F26C091609093CC0146C0909175
+:10403000CC0191FB882780F921E0822780FB91F950
+:1040400013C09091CC0192FB882780F921E0822750
+:1040500080FB92F909C09091CC0193FB882780F9ED
+:1040600021E0822780FB93F99093CC01882329F1EA
+:1040700091609093CC0108950E94A51380910D0149
+:1040800091E0892780930D0118C061E070E080E025
+:1040900090E00FC023EE01C027EC280F61E070E034
+:1040A00080E090E004C0660F771F881F991F2A9553
+:1040B000D2F70E949F170E94A51381E0089580E027
+:1040C000089580E00895CF93C82F8091DC0181305E
+:1040D00079F018F08230D1F184C0A0910E01B09136
+:1040E0000F018C91813169F0823209F07CC009C0E6
+:1040F000A0910E01B0910F018C91813111F08232AB
+:1041000049F48C2F0E945F2081111DC08C2F0E94CA
+:10411000A11F1AC08C2F0E946120811114C0C431CC
+:1041200079F048F4CB3079F0C03109F060C082E01A
+:104130008093DC0108C0C93219F0C83321F057C0A0
+:104140001092DC0154C081E0817053C0C93289F102
+:1041500018F5C43171F1A8F4C73009F046C08AE0FF
+:104160008093150194E19093140193E090931301CF
+:104170008093120188E08093110188E280931001FE
+:1041800034C0CE51C63088F5EC2FF0E0E65DFE4F2E
+:1041900080818093DB0129C0CE34E9F020F4CB3458
+:1041A00021F56AE013C0C13579F0C235F1F461E060
+:1041B0000DC08091DB01882319F01092DB0115C03E
+:1041C00081E08093DC0115C061E006C08091DB01D5
+:1041D0000E94DB1E0AC06AE08091DB010E94511F31
+:1041E00004C01092DC0180E004C081E002C080E0E5
+:1041F000ABCFCF910895E1E8F0E0808188608083C3
+:104200008081816080838FB7F89493E090938900D8
+:1042100090ED909388008FBF0895EFE6F0E08081E5
+:10422000826080830895EFE6F0E080818D7F808357
+:104230000895EFE6F0E0808192E089278083089579
+:104240001F920F920FB60F9211242F933F934F930B
+:104250005F936F937F938F939F93AF93BF93EF93EE
+:10426000FF938091DD019091DE0101969093DE0134
+:104270008093DD01811103C082E00E944A07E09132
+:10428000DE01E695E695F0E0E657FB4FE49180917C
+:10429000DD018E1303C080E00E944A07FF91EF9179
+:1042A000BF91AF919F918F917F916F915F914F914E
+:1042B0003F912F910F900FBE0F901F90189504D033
+:1042C0006894B1118DC0089570D088F09F5790F018
+:1042D000B92F9927B751A0F0D1F0660F771F881F2B
+:1042E000991F1AF0BA95C9F712C0B13081F077D092
+:1042F000B1E0089574C0672F782F8827B85F39F030
+:10430000B93FCCF3869577956795B395D9F73EF489
+:1043100090958095709561957F4F8F4F9F4F089531
+:10432000E89409C097FB3EF490958095709561954F
+:104330007F4F8F4F9F4F9923A9F0F92F96E9BB2705
+:104340009395F695879577956795B795F111F8CF81
+:10435000FAF4BB0F11F460FF1BC06F5F7F4F8F4FEC
+:104360009F4F16C0882311F096E911C0772321F0E2
+:104370009EE8872F762F05C0662371F096E8862F7A
+:1043800070E060E02AF09A95660F771F881FDAF7D1
+:10439000880F9695879597F9089557FD9058440F83
+:1043A000551F59F05F3F71F04795880F97FB991F94
+:1043B00061F09F3F79F08795089512161306140651
+:1043C000551FF2CF4695F1DF08C0161617061806DE
+:1043D000991FF1CF86957105610508940895E894B9
+:1043E000BB2766277727CB0197F908950BD078C0B4
+:1043F00069D028F06ED018F0952309F05AC05FC03C
+:104400001124EECFCADFA0F3959FD1F3950F50E0B2
+:10441000551F629FF001729FBB27F00DB11D639F76
+:10442000AA27F00DB11DAA1F649F6627B00DA11D1C
+:10443000661F829F2227B00DA11D621F739FB00DC2
+:10444000A11D621F839FA00D611D221F749F332732
+:10445000A00D611D231F849F600D211D822F762FCB
+:104460006A2F11249F5750408AF0E1F088234AF0C8
+:10447000EE0FFF1FBB1F661F771F881F9150504014
+:10448000A9F79E3F510570F014C0AACF5F3FECF32F
+:10449000983EDCF3869577956795B795F795E79500
+:1044A0009F5FC1F7FE2B880F911D9695879597F911
+:1044B000089597F99F6780E870E060E008959FEFA6
+:1044C00080EC089500240A941616170618060906AB
+:1044D000089500240A94121613061406050608957A
+:1044E000092E0394000C11F4882352F0BB0F40F402
+:1044F000BF2B11F460FF04C06F5F7F4F8F4F9F4F42
+:10450000089597FB072E16F4009407D077FD09D085
+:104510000E949B2207FC05D03EF4909581959F4F09
+:104520000895709561957F4F0895EE0FFF1F0590D8
+:10453000F491E02D0994AA1BBB1B51E107C0AA1FEF
+:10454000BB1FA617B70710F0A61BB70B881F991F34
+:104550005A95A9F780959095BC01CD010895F999D8
+:10456000FECF92BD81BDF89A992780B50895A8E144
+:10457000B0E042E050E00C94D222262FF999FECF11
+:104580001FBA92BD81BD20BD0FB6F894FA9AF99A70
+:104590000FBE019608950E94BD22272F0C94BE22C3
+:1045A000DC01CB01FC01F999FECF06C0F2BDE1BDF3
+:1045B000F89A319600B40D9241505040B8F70895E2
+:0445C000F894FFCF9D
+:1045C40020024B07D807B50781074E070101BA013E
+:1045D40028080A03140A3F4D36394B04FE03C80366
+:1045E4008F0322033B0354036D03010203040506F6
+:0445F40007080900AB
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png Binary files differnew file mode 100644 index 0000000000..c83f972cfe --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md new file mode 100644 index 0000000000..033e8ef4d5 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md @@ -0,0 +1,5 @@ +# The Ordinary Layout. for users of common keyboards + +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. + +![Ordinary layout](ordinary.png) diff --git a/keyboard/ergodox_ez/keymaps/tm2030/README.md b/keyboard/ergodox_ez/keymaps/tm2030/README.md index 096939dc28..ae69adf78a 100644 --- a/keyboard/ergodox_ez/keymaps/tm2030/README.md +++ b/keyboard/ergodox_ez/keymaps/tm2030/README.md @@ -55,7 +55,7 @@ As on the original TM 2030, when `num` layer is activated, holding `fn` disables ## Dvorak Layer Same as Layer 0 but with _Dvorak_ layout, to use with QWERTY OS layout. -Enable Dvorak layout with [`Magic`](/TMK_README.md#magic-commands+`1` (`LShift`+`RShift`+`1`), disable with `Magic`-`0`. +Enable Dvorak layout with [`Magic`](/TMK_README.md#magic-commands)+`1` (`LShift`+`RShift`+`1`), disable with `Magic`-`0`. The middle (green) led indicates when the Dvorak layer is activated. diff --git a/keyboard/ergodox_ez/keymaps/tm2030/keymap.c b/keyboard/ergodox_ez/keymaps/tm2030/keymap.c index cbdf0ae00e..92efd9b5e6 100644 --- a/keyboard/ergodox_ez/keymaps/tm2030/keymap.c +++ b/keyboard/ergodox_ez/keymaps/tm2030/keymap.c @@ -11,9 +11,6 @@ #define MDBL0 1 #define MFNLR 2 -#define MCUT 3 -#define MCOPY 4 -#define MPSTE 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Basic layer @@ -142,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, // right hand - KC_INS, KC_F6, KC_F7, KC_TAB, KC_PSLS, KC_PAST, KC_PMNS, + KC_TRNS, KC_F6, KC_F7, KC_TAB, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_TRNS, KC_HOME, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_UP, KC_END, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, @@ -178,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM, - KC_TRNS, KC_TRNS, M(MCUT), M(MCOPY), M(MPSTE), KC_MUTE, KC_VOLD, + KC_TRNS, KC_TRNS, LSFT(KC_DELT),LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -210,22 +207,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } break; case MFNLR: - layer_state ^= (1 << NUMR) | (1 << FNLR); - break; - case MCUT: - if (record->event.pressed) { - return MACRO(D(LSFT), T(DELT), U(LSFT), END); - } - break; - case MCOPY: - if (record->event.pressed) { - return MACRO(D(LCTL), T(INS), U(LCTL), END); - } - break; - case MPSTE: - if (record->event.pressed) { - return MACRO(D(LSFT), T(INS), U(LSFT), END); - } + layer_invert(NUMR); + layer_invert(FNLR); break; } return MACRO_NONE; @@ -233,7 +216,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // Runs just one time when the keyboard initializes. void * matrix_init_user(void) { - + return NULL; }; // Runs constantly in the background, in a loop. @@ -255,4 +238,5 @@ void * matrix_scan_user(void) { if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) { ergodox_right_led_3_on(); } + return NULL; }; diff --git a/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex b/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex index 7e1118e3b2..1100ba2fa2 100644 --- a/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex +++ b/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex @@ -1,41 +1,41 @@ -:100000000C9462090C94A6090C94A6090C94A609F8
-:100010000C94A6090C94A6090C94A6090C94A609A4
-:100020000C94A6090C94A6090C94F4140C94C6150F
-:100030000C94A6090C94A6090C94A6090C94A60984
-:100040000C94A6090C94472E0C94A6090C94A609AE
-:100050000C94A6090C944E240C94A6090C94A609A1
-:100060000C94A6090C94A6090C94A6090C94A60954
-:100070000C94A6090C94A6090C94A6090C94A60944
-:100080000C94A6090C94A6090C94A6090C94A60934
-:100090000C94A6090C94A6090C94A6090C94A60924
-:1000A0000C94A6090C94A6090C94A6092B164D16BF
-:1000B00038174D1638178F16B216381707171A1734
-:1000C000681A681A961A961AD81A141B141D141D49
-:1000D0002C1B141D231C231CEE1C141D141D021D9F
-:1000E00001E10149024902E10001E001490249023E
-:1000F000E00001E1014C024C02E1007519016202CD
-:1001000062016202620035002B00E100E100E000C4
-:1001100000001E00140004001D0002304E001F00ED
-:100120001A0016001B00E300E10020000800070091
-:100130000600AE002C0021001500090019006574AE
-:100140004B00220017000A000500000029744C0033
-:100150002A0000002800000008544C002A0000007B
-:1001600028000000500023001C000B0011000000BC
-:100170004F00240018000D001000E600520025007A
-:100180000C000E0036002D002C00260012000F007F
-:1001900037004A00E50027001300330038002E0026
-:1001A000510030002F00347231724D710000350063
-:1001B0002B00E100E100E00000001E00340004001C
-:1001C000330002304E001F00360012001400E3001E
-:1001D000E1002000370008000D00AE002C002100D7
-:1001E000130018000E0065744B0022001C000C0068
-:1001F0001B00000029744C002A00000028000000A9
-:1002000008544C002A000000280000005000230081
-:1002100009000700050000004F0024000A000B0041
-:100220001000E60052002500060017001A002F00FB
-:100230002C0026001500110019004A00E5002700D7
-:100240000F0016001D00300051002E0038002D72E6
-:1002500031724D710000000000000000000000003D
+:100000000C9454090C9498090C9498090C94980930
+:100010000C9498090C9498090C9498090C949809DC
+:100020000C9498090C9498090C94C4140C9496158B
+:100030000C9498090C9498090C9498090C949809BC
+:100040000C9498090C94172E0C9498090C94980908
+:100050000C9498090C941E240C9498090C949809FB
+:100060000C9498090C9498090C9498090C9498098C
+:100070000C9498090C9498090C9498090C9498097C
+:100080000C9498090C9498090C9498090C9498096C
+:100090000C9498090C9498090C9498090C9498095C
+:1000A0000C9498090C9498090C949809FB151D164A
+:1000B00008171D1608175F1682160817D716EA16B6
+:1000C000381A381A661A661AA81AE41AE41CE41CCC
+:1000D000FC1AE41CF31BF31BBE1CE41CE41CD21C26
+:1000E000751901620262016202620035002B00E1B3
+:1000F00000E100E00000001E00140004001D0002EA
+:10010000304E001F001A0016001B00E300E1002023
+:1001100000080007000600AE002C002100150009B1
+:1001200000190065744B00220017000A000500004A
+:100130000029744C002A0000002800000008544CDC
+:10014000002A00000028000000500023001C000BC3
+:1001500000110000004F00240018000D001000E600
+:1001600000520025000C000E0036002D002C002649
+:100170000012000F0037004A00E50027001300338B
+:100180000038002E00510030002F00347231724DC3
+:1001900071000035002B00E100E100E00000001ECE
+:1001A0000034000400330002304E001F00360012FD
+:1001B000001400E300E1002000370008000D00AE4D
+:1001C000002C002100130018000E0065744B002263
+:1001D000001C000C001B00000029744C002A0000C9
+:1001E000002800000008544C002A000000280000ED
+:1001F000005000230009000700050000004F002404
+:10020000000A000B001000E600520025000600174F
+:10021000001A002F002C0026001500110019004ABA
+:1002200000E50027000F0016001D00300051002ED1
+:100230000038002D7231724D710000000000000086
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
:10026000000000000000000000000000000000008E
:10027000000000000000000000000000000000007E
:10028000000000000000000000000000000000006E
@@ -96,1449 +96,1443 @@ :1005F00000000000000000000000000000000000FB
:1006000000000000000000000000000000000000EA
:1006100000000000000000000000000000000000DA
-:1006200000000000000000000000000000000000CA
-:1006300000000000000000000000000000000000BA
-:1006400000000000000001000100010001000100A5
-:1006500000003A003F0044000100010001003B009F
-:10066000400045000100010001003C004100010084
-:100670000100010001003D004200010001000100F5
-:1006800001003E00430001000100000001000100E4
-:10069000010000000100000001004900010000000D
-:1006A0005000000053003F000100520051000000C4
-:1006B000390040004A004D004F00010001002B00AE
-:1006C0005F005C00590062000100540060005D00A2
-:1006D0005A0001300100550061005E005B006300BC
-:1006E00001005600570057005800587100000100E3
-:1006F00001000100010001000000010001000100F3
-:1007000001000100010001000100010003300100AF
-:10071000010001000100B20004300100A800010046
-:100720000100B10005300100010001000100B50029
-:10073000A800000001004900A9000000AA00000074
-:100740000100490001000000010000000100B000AC
-:1007500001000100010000000100A50001000100EE
-:1007600001000100AC00A600010001000100010031
-:100770000100A70001000100010001000100460086
-:100780000100010001000100AB004700480001002A
-:100790000100010000000A002530313662003A20D5
-:1007A0000025303258000A722F6320303132333442
-:1007B00035363738394142434445460A000A002558
-:1007C00030325800626F756E6365213A20006C65A7
-:1007D000667420736964652061747461636865641C
-:1007E0000A006C6566742073696465206E6F7420FE
-:1007F000726573706F6E64696E670A0074727969EE
-:100800006E6720746F207265736574206D6370323B
-:10081000333031380A000A44454255473A20656E64
-:1008200061626C65642E0A005B735D004B657962E2
-:100830006F6172642073746172742E0A005B575D7D
-:10084000005B535D005B525D005B445D005B435D9C
-:100850000016034500720067006F0044006F0078C7
-:1008600000200045005A0000001603450072006792
-:10087000006F0044006F007800200045005A00001F
-:10088000000403090409028D00050100A0FA09040F
-:1008900000000103010100092111010001223F00B4
-:1008A0000705810308000A09040100010301020091
-:1008B000092111010001224D000705820308000AE9
-:1008C00009040200010300000009211101000122B6
-:1008D00036000705830308000A0904030002030029
-:1008E00000000921110100012220000705840320D6
-:1008F00000010705040320000109040400010300AE
-:1009000000000921110100012239000705850310AB
-:1009100000011201100100000008EDFE07130100A4
-:100920000102000105010906A101050719E029E7F7
-:100930001500250195087501810205081901290591
-:10094000950575019102950175039101050719003F
-:10095000297715002501957875018102C00631FFC0
-:100960000974A1010975150025FF952075088102FC
-:100970000976150025FF952075089102C00501092B
-:1009800080A101850216010026B7001A01002AB7CE
-:1009900000751095018100C0050C0901A1018503B6
-:1009A000160100269C021A01002A9C02751095016E
-:1009B0008100C005010902A1010901A10005091971
-:1009C000012905150025019505750181029501751F
-:1009D0000381010501093009311581257F950275D3
-:1009E00008810609381581257F950175088106055E
-:1009F0000C0A38021581257F950175088106C0C053
-:100A000005010906A101050719E029E715002501DF
-:100A10009508750181029501750881010508190184
-:100A20002905950575019102950175039101050749
-:100A3000190029FF150025FF950675088100C00AD9
-:100A4000002530325820006B6579626F6172645FF7
-:100A50007265706F72743A20000A002530325800B7
-:100A60006B6579626F6172645F7365745F6C6564F6
-:100A70003A200064656C5F6B65795F6269743A2047
-:100A800063616E27742064656C3A20253032580A01
-:100A9000006164645F6B65795F6269743A206361C9
-:100AA0006E2774206164643A20253032580A00644D
-:100AB0006F6E652E0A00626F6F676D6167696320F4
-:100AC0007363616E3A202E2E2E2000290A002575B0
-:100AD000002F002575005D28002564002000256496
-:100AE00000200025640020002564007C00253032B1
-:100AF00058006D6F7573656B6579205B62746E7CF1
-:100B0000782079207620685D287265702F61636C8B
-:100B1000293A205B006D6B5F776865656C5F74696F
-:100B20006D655F746F5F6D6178203D2025640A00FC
-:100B30006D6B5F776865656C5F6D61785F7370651D
-:100B40006564203D2025640A006D6B5F74696D65E6
-:100B50005F746F5F6D6178203D2025640A006D6BC6
-:100B60005F6D61785F7370656564203D2025640A60
-:100B7000006D6B5F696E74657276616C203D202537
-:100B8000640A006D6B5F64656C6179203D202564AB
-:100B90000A006D6B5F776865656C5F74696D655F92
-:100BA000746F5F6D6178203D2025640A006D6B5F76
-:100BB000776865656C5F6D61785F737065656420EB
-:100BC0003D2025640A006D6B5F74696D655F746F0D
-:100BD0005F6D6178203D2025640A006D6B5F6D615B
-:100BE000785F7370656564203D2025640A006D6B35
-:100BF0005F696E74657276616C203D2025640A0021
-:100C00006D6B5F64656C6179203D2025640A000A84
-:100C100000257500363A20776865656C5F74696DEC
-:100C2000655F746F5F6D61783A20000A002575007A
-:100C3000353A20776865656C5F6D61785F737065C4
-:100C400065643A20000A00257500343A2074696D05
-:100C5000655F746F5F6D61783A20000A002575004A
-:100C6000333A206D61785F73706565643A20000ADD
-:100C700000257500323A20696E74657276616C28C1
-:100C80006D73293A20000A00257500313A20646509
-:100C90006C6179282A31306D73293A20000A092DB8
-:100CA0002056616C756573202D0A004D3E004D2560
-:100CB000643E20003F007365742064656661756C56
-:100CC000740A00433E200077686572652064656C95
-:100CD00074613A20637572736F723D25642C2077BE
-:100CE0006865656C3D25640A536565206874747099
-:100CF0003A2F2F656E2E77696B6970656469612E76
-:100D00006F72672F77696B692F4D6F7573655F6BB6
-:100D10006579730A000A092D204D6F7573656B653F
-:100D200079202D0A4553432F713A09717569740A68
-:100D3000313A0964656C6179282A31306D73290A6A
-:100D4000323A09696E74657276616C286D73290A8E
-:100D5000333A096D61785F73706565640A343A09E6
-:100D600074696D655F746F5F6D61780A353A0977F4
-:100D70006865656C5F6D61785F73706565640A3680
-:100D80003A09776865656C5F74696D655F746F5F5C
-:100D90006D61780A0A703A097072696E7420766122
-:100DA0006C7565730A643A097365742064656661DD
-:100DB000756C74730A75703A092B310A646F776E1B
-:100DC0003A092D310A706775703A092B31300A7073
-:100DD00067646F776E3A092D31300A0A7370656562
-:100DE00064203D2064656C7461202A206D61785F09
-:100DF0007370656564202A202872657065617420AF
-:100E00002F2074696D655F746F5F6D6178290A00CA
-:100E10003F004D3E2000433E20004C25640A000A5E
-:100E2000092D20436F6E736F6C65202D0A45534367
-:100E30002F713A09717569740A6D3A096D6F75738E
-:100E4000656B65790A000A092D204D616769632089
-:100E50002D0A643A0964656275670A783A0964651F
-:100E6000627567206D61747269780A6B3A0964650E
-:100E7000627567206B6579626F6172640A6D3A0909
-:100E80006465627567206D6F7573650A763A0976D9
-:100E9000657273696F6E0A733A097374617475735E
-:100EA0000A633A09636F6E736F6C65206D6F6465DA
-:100EB0000A302D343A096C61796572302D34284638
-:100EC00031302D4634290A506175733A09626F6FCB
-:100ED000746C6F616465720A653A09656570726F5A
-:100EE0006D0A6E3A094E4B524F0A7A3A09736C6595
-:100EF0006570204C454420746573740A000A00250F
-:100F000075002E6E6B726F3A20000A002575002E58
-:100F1000737761705F6261636B736C6173685F624A
-:100F200061636B73706163653A20000A0025750088
-:100F30002E737761705F67726176655F6573633A80
-:100F400020000A002575002E6E6F5F6775693A20D4
-:100F5000000A002575002E737761705F72616C74F2
-:100F60005F726775693A20000A002575002E737755
-:100F700061705F6C616C745F6C6775693A20000A20
-:100F8000002575002E636170736C6F636B5F746F07
-:100F90005F636F6E74726F6C3A20000A00257500F3
-:100FA0002E737761705F636F6E74726F6C5F6361D5
-:100FB00070736C6F636B3A20000A00253032580062
-:100FC0006B65796D61705F636F6E6669672E7261C4
-:100FD000773A20000A002575002E6D6F7573653A0B
-:100FE00020000A002575002E6B6579626F617264BE
-:100FF0003A20000A002575002E6D61747269783AF6
-:1010000020000A002575002E656E61626C653A202D
-:10101000000A00253032580064656275675F636FAF
-:101020006E6669672E7261773A20000A00257500A6
-:1010300064656661756C745F6C617965723A2000F5
-:101040003F004E4B524F3A206F66660A004E4B529D
-:101050004F3A206F6E0A0074696D65725F636F7539
-:101060006E743A202530346C580A006B6579626FD3
-:101070006172645F6E6B726F3A2025580A006B656F
-:1010800079626F6172645F69646C653A2025580A01
-:10109000006B6579626F6172645F70726F746F6309
-:1010A0006F6C3A2025580A00686F73745F6B65791E
-:1010B000626F6172645F6C65647328293A202558F9
-:1010C0000A000A092D20537461747573202D0A00DB
-:1010D0004743433A20342E382E31204156522D4C6E
-:1010E0004942433A20312E382E3073766E204156D5
-:1010F000525F415243483A20617672350A004F50A0
-:1011000054494F4E533A204C55464120424F4F547C
-:101110004D41474943204D4F5553454B4559204577
-:10112000585452414B455920434F4E534F4C452044
-:10113000434F4D4D414E44204E4B524F203531329E
-:101140000A004255494C443A2065356638343035FA
-:101150002D6469727479202831373A34363A33393C
-:10116000204A616E2032332032303136290A00564F
-:1011700049443A20307846454544284572676F44D3
-:101180006F7820455A29205049443A20307831332D
-:101190003037284572676F446F7820455A292056AA
-:1011A00045523A203078303030310A0044455343BC
-:1011B0003A20742E6D2E6B2E206B6579626F6172F2
-:1011C00064206669726D7761726520666F72204572
-:1011D00072676F646F780A000A092D205665727372
-:1011E000696F6E202D0A000A6D6F7573653A206F66
-:1011F00066660A000A6D6F7573653A206F6E0A00A5
-:101200000A6B6579626F6172643A206F66660A00E4
-:101210000A6B6579626F6172643A206F6E0A000A28
-:101220006D61747269783A206F66660A000A6D61B2
-:10123000747269783A206F6E0A000A646562756795
-:101240003A206F6E0A000A64656275673A206F661D
-:10125000660A000A0A626F6F746C6F616465722EB1
-:101260002E2E2000433E20006565636F6E66696721
-:101270003A0A00536C656570204C454420746573D0
-:10128000740A0000000000000000000000000102DD
-:1012900004060A0F17202C3A4A5D71879DB3C7DAFE
-:1012A000E9F5FCFFFCF5E9DAC7B39D87715D4A3AC1
-:1012B0002C20170F0A0604020100000000000000A5
-:1012C0000000000011241FBECFEFDAE0DEBFCDBF6B
-:1012D00004B603FE24C08091F9019091FA01A09117
-:1012E000FB01B091FC018730904BA740B04BB9F4A3
-:1012F0001092F9011092FA011092FB011092FC0178
-:1013000014BE84B7877F84BF88E10FB6F8948093BA
-:101310006000109260000FBEE0E0FFE3099511E06D
-:10132000A0E0B1E0EAE2F0E602C005900D92AA3337
-:10133000B107D9F721E0AAE3B1E001C01D92A93FAE
-:10134000B207E1F70E942E120C9413300C940000A7
-:10135000FF93EF93E0913A01F0913B01309709F050
-:101360000995EF91FF910895FC018591803011F06E
-:10137000EFDFFBCF0895FF27E0E230E247FF0CC02C
-:10138000419597FF09C0EDE2609570958095909525
-:10139000611D711D811D911D27FF02C0219530E344
-:1013A00050E2AA27660F771F881F991FAA1FA4174C
-:1013B00010F0A41B63955A95A9F7AA3008F0A95F0D
-:1013C000A05DAF93F395611571058105910541F716
-:1013D000ED3211F4EF93F395F21718F43F93F39570
-:1013E000FBCF8F91B5DFFA95E1F70895E991F99177
-:1013F0008591803021F0853219F0AADFF9CF089568
-:1014000020E0E89455915532C1F3503311F46894BB
-:1014100055915A3348F4505390F3220F022E220F65
-:10142000220F200D250FF4CF0EF42195899199916B
-:10143000533619F3533729F1533559F1BC01882735
-:101440009927E8945C3621F4899199916894559193
-:10145000543639F446EF7EF077FF0DC08FEF9FEFE3
-:101460000AC055374AE039F0583540E121F052368C
-:1014700042E009F00895FF93EF937DDFEF91FF9134
-:10148000B7CFFF93EF93FC0181918030B9F360DF18
-:10149000FBCFFF93EF9368DFF1CFDF93CF93CDB70F
-:1014A000DEB72596A3DFCF91DF910895FC0163306D
-:1014B00019F1B8F46130D1F0623081F58091BC014E
-:1014C0009091BD01A091BE01B091BF0123E0922790
-:1014D0008093BC019093BD01A093BE01B093BF0166
-:1014E0001DC0643079F0653099F018C0828188237E
-:1014F000A9F08BEF90E008958281882379F082EF44
-:1015000090E008958281882349F089EE90E0089563
-:101510008281882319F080EE90E0089580E090E0C9
-:101520000895089556985E9825982D9826982E9897
-:1015300027982F988091BC019091BD01A091BE0188
-:10154000B091BF0190FF02C0259A2D9A8091C001F1
-:101550009091C101A091C201B091C3010297A10570
-:10156000B10511F4269A2E9A0E94721781FF02C0CB
-:10157000279A2F9A089582E99AE0892B11F00E9408
-:10158000920A80E090E0089556985E9825982D98EC
-:1015900026982E9827982F988FEF90E090938900A7
-:1015A0008093880090938B0080938A0090938D00A5
-:1015B00080938C00259A2D9A2FEF80E792E021509E
-:1015C00080409040E1F700C00000269A2E9A2FEF4D
-:1015D00080E792E0215080409040E1F700C0000099
-:1015E000279A2F9A2FEF80E792E021508040904079
-:1015F000E1F700C0000025982D982FEF80E792E0DA
-:10160000215080409040E1F700C0000026982E98BD
-:101610002FEF80E792E0215080409040E1F700C03A
-:10162000000027982F9856985E9825982D98269810
-:101630002E9827982F98089589EA8093800089E052
-:101640008093810024982C983F988AB18F748AB92E
-:101650006E98479A8BB1806B8BB9769A0E94C40AB8
-:1016600081E99AE0892B11F00E94910A80E090E0D4
-:10167000089580E28093000180913C0181110EC0A9
-:101680000E94880B81E080933C012FEF83ED90E373
-:10169000215080409040E1F700C0000080E40E94AB
-:1016A0008E0B8093000181112EC00E94B80B809395
-:1016B0000001811128C00E94B80B809300018111A4
-:1016C00022C08FE30E94B80B8093000181111BC0E0
-:1016D0000E94B00B80E40E948E0B80930001811168
-:1016E00012C08CE00E94B80B8093000181110BC0E6
-:1016F0000E94B80B80930001811105C08FE30E9406
-:10170000B80B809300010E94B00B809100010895F6
-:101710001092B9008AE08093B800089594EA9093FB
-:10172000BC009091BC0097FFFCCF9091B900987FCE
-:10173000983021F0903111F081E008958093BB0042
-:1017400084E88093BC008091BC0087FFFCCF80912F
-:10175000B900887F883111F0803471F780E00895F6
-:1017600084E98093BC008091BC0084FDFCCF089587
-:101770008093BB0084E88093BC008091BC0087FF0D
-:10178000FCCF9091B900987F81E0983209F480E015
-:10179000089584E88093BC008091BC0087FFFCCF53
-:1017A0008091BB00089580910001811115C080E4F3
-:1017B0000E948E0B8093000181110CC082E10E9477
-:1017C000B80B80930001811105C08FEF0E94B80B08
-:1017D000809300010E94B00B84B1807F84B985B1F1
-:1017E000807F85B98AB1837F8AB98BB1837F8BB9BA
-:1017F0003E98469808950E94390B809300010E94FC
-:10180000D30B80B38C7080BB81B3836F81BBECE45E
-:10181000F1E0AEE3B1E011921D9281E0EA35F80704
-:10182000D1F78CE19BE0892B11F00C941C0B0895EF
-:101830009F92AF92BF92CF92DF92EF92FF920F935F
-:101840001F93CF93DF93809100018823E1F0809173
-:101850003D018F5F80933D01811115C08CEF97E0B2
-:101860000E94B4090E94390B80930001882329F05B
-:1018700082EE97E00E94B40906C08EEC97E00E94C9
-:10188000B4090E94C40A0EE311E0C0E0D0E0BB241A
-:10189000B39482E0A82ECC24C394D12C2FEBE22E5B
-:1018A00027E0F22EC73000F580910001811162C05F
-:1018B00080E40E948E0B80930001811112C082E1AE
-:1018C0000E94B80B8093000181110BC0C6010C2E41
-:1018D00001C0880F0A94EAF780950E94B80B8093A4
-:1018E00000010E94B00B46C0CA30A1F028F4C830F5
-:1018F00059F0C93061F005C0CC3089F070F0CD30BE
-:1019000089F0209A289810C0219A29980DC0229A0F
-:101910002A980AC0239A2B9807C0529A01C0539A5A
-:101920005B9802C03E9A4698E0EAEA95F1F78FB1DB
-:10193000799985C092E081708B25892B7C9B02C0B0
-:1019400090E001C094E0892B7D9B02C090E001C033
-:1019500098E0892B7E9B02C090E001C090E1892B2A
-:101960009FB19095991F9927991F9295990F907EF5
-:10197000892B10C080910001811176C080E40E9403
-:101980008E0B80930001882309F45BC0912C0E9488
-:10199000B00B892DF8019081981739F180838091DF
-:1019A0000101882301F18091D70180FF04C084ECFC
-:1019B00097E00E94B4098091D70180FF0CC080910C
-:1019C00001011F928F93FF92EF920E944D0A0F9098
-:1019D0000F900F900F908091D70180FF04C08DEB86
-:1019E00097E00E94B409A09201010E94D30B2196B6
-:1019F0000F5F1F4FCE30D10509F054CF8091010108
-:101A00008823B1F0815080930101882339F08FE958
-:101A10009FE00197F1F700C000000AC0ACE4B1E01C
-:101A2000EEE3F1E081918D9391E0EC34F907D1F789
-:101A30008BEB9AE0892BD1F00E94BB0A17C090E093
-:101A40007ACF83E10E94B80B8093000181119ECF71
-:101A500081E40E948E0B80930001811197CF0E9438
-:101A6000C90B982E909493CF80E094CF81E0DF91C2
-:101A7000CF911F910F91FF90EF90DF90CF90BF908B
-:101A8000AF909F900895E82FF0E0E45BFE4F8081D7
-:101A90000895CF92DF92EF92FF920F931F93CF930F
-:101AA000DF9386EA97E00E94B4093CE4E32E31E03C
-:101AB000F32EC0E0D0E041EAC42E47E0D42E08E97E
-:101AC00017E0DF93CF93DF92CF920E944D0A8EE909
-:101AD00097E00E94B409F70181917F0190E00E9494
-:101AE000B7239F938F931F930F930E944D0A86E90C
-:101AF00097E00E94B40921968DB79EB708960FB65D
-:101B0000F8949EBF0FBE8DBFCE30D105D1F6DF91C8
-:101B1000CF911F910F91FF90EF90DF90CF9008959C
-:101B20008B3B910578F4883A910540F5853A91050B
-:101B3000D0F48430910508F0B1C08130910509F4EA
-:101B4000ADC06BC0803E910508F467C0883E91052A
-:101B500008F4A4C09C01205F31092031310508F050
-:101B60005CC090650895853A910509F459C0863A9C
-:101B7000910509F458C083E890E40895883A9105E6
-:101B800009F454C0893A910509F453C08A3A910581
-:101B900009F452C08B3A910509F451C08C3A910571
-:101BA00009F450C08D3A910509F44FC0803B91056E
-:101BB00009F44EC08E3A910509F44DC08F3A910553
-:101BC00009F44CC0813B910509F44BC0823B91055F
-:101BD00009F44AC0833B910509F449C0843B91054F
-:101BE00009F448C0853B910509F447C0863B91053F
-:101BF00009F446C0873B910509F445C0883B91052F
-:101C000009F444C0893B910509F443C08A3B91051E
-:101C100009F042C08AE296E4089580E090E00895D9
-:101C200081E890E4089582E890E4089582EE94E4D7
-:101C3000089589EE94E408958AEE94E4089585EB7E
-:101C400094E4089586EB94E4089587EB94E4089572
-:101C50008CEC94E408958DEC94E4089583E895E485
-:101C600008958AE895E4089582E995E4089584E961
-:101C700095E4089581E296E4089583E296E4089558
-:101C800084E296E4089585E296E4089586E296E477
-:101C9000089587E296E4089580E094E40895089515
-:101CA00096E0799FF001112494E5899FE00DF11DE4
-:101CB0001124E60FF11DEE0FFF1FEA5FFE4F859125
-:101CC00094910895880F991F8A579040FC0185913F
-:101CD00094910895880F991F8A5F9E4FFC0185910A
-:101CE0009491089526E0729FF001112444E5849FA9
-:101CF000E00DF11D1124E60FF11DEE0FFF1FEA5F4D
-:101D0000FE4F25913491C9019A9581159F4110F498
-:101D1000C9010895C90190528115904128F4C90163
-:101D20009F700E946A0E0895C901905381159041D9
-:101D300020F4C9019927906C0895211580E5380792
-:101D400069F40E94351D9FEF24E34CE09150204040
-:101D50004040E1F700C000000C947324213080E57E
-:101D6000380751F486E198E00E94B4098091D701C8
-:101D700081608093D7010895C901905581159041E4
-:101D800008F050C0832F99278F70992781309105D3
-:101D9000D9F4A9014370552702C0880F991F4A95AD
-:101DA000E2F79C68A90164E0440F551F6A95E1F7CA
-:101DB00044275370842B952B73E0220F331F7A95A1
-:101DC000E1F7207633271DC08230910529F4922F48
-:101DD0008827816F906A089583309105A9F4A9013D
-:101DE0004370552781E090E002C0880F991F4A9503
-:101DF000E2F79C6843E0220F331F4A95E1F7207E0B
-:101E00003770822B932B08950497F1F4A901437046
-:101E1000552781E090E002C0880F991F4A95E2F7AC
-:101E20009A68E8CFC90190578115904120F4C90103
-:101E30009F7090620895C90190588115904120F4D7
-:101E4000C9019F70906A0895203E3105E0F4203C5E
-:101E5000310558F52133310509F470C048F42932B1
-:101E6000310509F464C02A32310509F46EC074C02A
-:101E700029333105F1F022383105D9F02533310508
-:101E800009F44EC069C0233E310589F138F4203E83
-:101E90003105C1F0223E3105E1F05EC0263E31053C
-:101EA00069F1273E3105A9F157C0C9010E94620EB0
-:101EB00008958091EA0180FD02C081FF4DC080EE4F
-:101EC00090E04BC08091EA0180FFF9CF89E390E078
-:101ED00044C08091EA0182FF0EC08091EA0184FF34
-:101EE00003C080E090E039C083EE90E036C080917E
-:101EF000EA0182FFF2CF82EE90E02FC08091EA01EA
-:101F000083FF0BC08091EA0184FDEBCF87EE90E068
-:101F100024C08091EA0183FFF5CF86EE90E01DC0DA
-:101F20008091EA0185FF07C089E290E016C08091A8
-:101F3000EA0185FFF9CF85E390E00FC08091EA01C7
-:101F400086FF07C08AE290E008C08091EA0186FF20
-:101F5000F9CF81E390E001C0C9010E94900D08957E
-:101F6000089580916D0108959FB7F89410925C01D7
-:101F70009FBF9091F001943009F058C09091E90012
-:101F80009F702091EC0020FF02C020E801C020E0FB
-:101F9000292B94E09093E9009091EB0090FF43C0CF
-:101FA0009091EE0097FF3FC090915A01992321F044
-:101FB0009091E80095FF37C010925A0196E0309159
-:101FC000E80035FD15C03091F001343061F53091F5
-:101FD000EB0035FD28C0915021F481E080935A0137
-:101FE00022C0EFE9FFE03197F1F700C00000E7CF32
-:101FF0008093F1008091E80085FD0AC08091E8009F
-:1020000080FFFCCF8091E8008E778093E80006C0C7
-:102010008FB7F89491E090935C018FBF2F7020935D
-:10202000E90080E008952F702093E9008FEF089574
-:10203000CF93DF9300D01F92CDB7DEB72091F00190
-:10204000243019F523E029839B838A832093E900B8
-:102050008FEF9091E800815095FD06C095ED9A951F
-:10206000F1F700008111F5CF8091E80085FF0DC0E8
-:1020700040E050E063E070E0CE0101960E94E7127C
-:102080008091E8008E778093E8000F900F900F907A
-:10209000DF91CF910895CF93DF9300D01F92CDB7FA
-:1020A000DEB72091F001243021F522E029839B83C3
-:1020B0008A8383E08093E9008FEF9091E80081505C
-:1020C00095FD06C095ED9A95F1F700008111F5CFC9
-:1020D0008091E80085FF0DC040E050E063E070E0D3
-:1020E000CE0101960E94E7128091E8008E778093DE
-:1020F000E8000F900F900F90DF91CF9108952091FD
-:10210000F0012430F1F422E02093E9002FEF309128
-:10211000E800215035FD06C035ED3A95F1F7000095
-:102120002111F5CF2091E80025FF0BC040E050E0E1
-:1021300065E070E00E94E7128091E8008E7780935E
-:10214000E8000895CF93DF93EC018091F001843093
-:1021500009F047C080910C018823E1F080910D01C6
-:102160008823C1F085E08093E9008FEF9091E8002B
-:10217000815095FD06C095E19A95F1F70000811117
-:10218000F5CF8091E80085FF2CC040E050E060E191
-:1021900070E017C081E08093E9008FEF9091E80034
-:1021A000815095FD06C095ED9A95F1F700008111DB
-:1021B000F5CF8091E80085FF14C040E050E068E072
-:1021C00070E0CE010E94E7128091E8008E77809344
-:1021D000E80080E1FE01ADE5B1E001900D928A9545
-:1021E000E1F7DF91CF9108958DE498E00E94B40962
-:1021F0008091EF01811109C00E9479140E94D614C8
-:102200008091E20084608093E200089589E498E080
-:102210000E94B4091092EF01089585E498E00C94AF
-:10222000B40981E498E00E94B4090C94342E8DE343
-:1022300098E00E94B4090E940E240E943A2E0E9447
-:1022400072170C94B00F80915B018F5F80935B01DC
-:1022500062E30E94A82F911135C010925B0180911A
-:102260005C01882379F18091F001843049F58091F7
-:10227000E9008F709091EC0090FF02C090E801C0DF
-:1022800090E0982B84E08093E9008091EB0080FF40
-:1022900014C08091EE0087FF10C08091E80085FF98
-:1022A00003C01092F100F9CF8091E80080FF05C0D3
-:1022B0008091E8008E778093E8009F709093E9000A
-:1022C00010925C01089542E061EC81E00E94F313FA
-:1022D00042E061EC82E00E94F31342E061EC83E0B3
-:1022E0000E94F31342E261EC84E00E94F31342E1A6
-:1022F00061EC85E00C94F3138091F201833009F4D2
-:1023000055C030F4813071F0823009F48EC00895E8
-:102310008A3009F47AC08B3009F460C0893009F042
-:102320009CC020C08091F101813A09F096C0809153
-:10233000E800877F8093E8008091F5019091F60195
-:10234000892B21F060E080E090E003C060E18DE542
-:1023500091E070E00E9430138091E8008B778093C9
-:10236000E80008958091F101813209F076C08091F2
-:10237000F5019091F601009719F0049709F06DC0EE
-:102380008091E800877F8093E8008091E80082FDDB
-:1023900005C08091F0018111F8CF5FC08091F100FC
-:1023A00080936D018091E8008B7753C08091F1019B
-:1023B000813A09F052C08091F5019091F601892B84
-:1023C00009F04BC08091E800877F8093E8008091FE
-:1023D000E80080FFFCCF80910C0136C08091F101B4
-:1023E0008132D9F58091F5019091F601892BA9F5FB
-:1023F0008091E800877F8093E8000E9428148091F4
-:10240000F30180930C010C94351D8091F101813210
-:1024100021F58091E800877F8093E8000E942814CE
-:102420008091F40180936E0108958091F101813AC9
-:10243000A1F48091E800877F8093E8008091E80014
-:1024400080FFFCCF80916E018093F1008091E800C5
-:102450008E778093E8000C942814089584B7877FC2
-:1024600084BF88E10FB6F8948093600010926000FA
-:102470000FBE90E080E80FB6F894809361009093CF
-:1024800061000FBE0E94FB170E9479140E94D614AF
-:102490008091E20084608093E20084EB9FE00E94E0
-:1024A000A02378940E9450170E94FD1782E091E0CB
-:1024B0000E946D170E94222E8CE298E00E94B409BF
-:1024C0008091F001853089F488E298E00E94B40997
-:1024D0000E94D1238091EE01882391F30E94F92379
-:1024E000882371F30E94D112EBCF0E942B18E8CF02
-:1024F000292F332723303105A9F06CF42130310521
-:1025000009F442C02230310509F043C08DE890E063
-:1025100025E838E042C021323105C9F022323105C8
-:1025200019F137C099278130910541F0823091052A
-:1025300041F0892B71F5E1E8F8E005C0E9E6F8E043
-:1025400002C0E1E5F8E0849190E09F0126C065308B
-:1025500000F5E62FF0E0EE0FFF1FEB5DFE4F208150
-:10256000318189E090E019C0653098F4E62FF0E001
-:10257000DF01AA0FBB1FA55EBE4F2D913C91EA5E05
-:10258000FE4F808190E009C082E190E022E139E0D5
-:1025900004C080E090E020E030E0FA013183208345
-:1025A000089580E189BD82E189BD09B400FEFDCFB7
-:1025B0008091D8008F7D8093D8008091E000826068
-:1025C0008093E0008091E00081FDFCCF0895CF92E0
-:1025D000DF92EF92FF920F931F93CF93DF937C01D3
-:1025E0008B01EA010E944914811131C0209731F01A
-:1025F00088819981081B190BE80EF91EC12CD12C7A
-:102600000115110519F18091E80085FD14C0809134
-:10261000E8008E778093E800209741F088819981C7
-:102620008C0D9D1D9983888385E011C00E944914FB
-:10263000882331F30CC0F70181917F018093F10071
-:1026400001501109FFEFCF1ADF0ADACF80E0DF91E6
-:10265000CF911F910F91FF90EF90DF90CF90089551
-:102660002091F7013091F8012617370748F06115DE
-:10267000710539F42091E8002E772093E80001C01D
-:10268000B901FC0120E061157105B9F18091F001FB
-:10269000882309F440C0853009F43FC08091E800E8
-:1026A00083FD3DC08091E80082FF06C08091E80074
-:1026B00082FF26C080E008958091E80080FFE3CF8C
-:1026C0002091F3008091F20090E0922B611571054A
-:1026D00051F08830910538F421912093F100615038
-:1026E00071090196F3CF21E0089709F020E080916D
-:1026F000E8008E778093E800C6CF2111C7CFD6CFF0
-:102700008091F001882339F0853039F08091E8001C
-:1027100083FFCCCF04C082E0089583E0089581E078
-:1027200008952091F7013091F8012617370748F0F6
-:102730006115710539F42091E8002E772093E800A7
-:1027400001C0B901FC0120E061157105C1F1809162
-:10275000F001882309F441C0853009F440C080911C
-:10276000E80083FD3EC08091E80082FF06C08091B2
-:10277000E80082FF27C080E008958091E80080FF94
-:10278000E3CF2091F3008091F20090E0922B61154D
-:10279000710559F08830910540F424912093F1009F
-:1027A0003196615071090196F2CF21E0089709F046
-:1027B00020E08091E8008E778093E800C5CF21115A
-:1027C000C6CFD5CF8091F001882339F0853039F01C
-:1027D0008091E80083FFCBCF04C082E0089583E0BE
-:1027E000089581E00895982F973058F59093E90067
-:1027F000981739F07091EC002091ED005091F000A5
-:1028000003C0242F762F50E021FF19C03091EB0038
-:102810003E7F3093EB003091ED003D7F3093ED0033
-:102820003091EB0031603093EB007093EC0020931B
-:10283000ED005093F0002091EE0027FF07C09F5F4E
-:10284000D3CF8F708093E90081E0089580E00895F0
-:102850008091F10187FD05C08091E80080FF0EC0E6
-:1028600012C08091E80082FD05C08091F0018111C5
-:10287000F8CF08958091E8008B7708C08091F0012F
-:102880008111EACF08958091E8008E778093E80067
-:1028900008958091E4009091E50045E62091EC00D8
-:1028A00020FF21C02091E80020FD21C02091F001EF
-:1028B000222389F0253089F02091EB0025FD0FC0FF
-:1028C0002091E4003091E5002817390739F3415091
-:1028D00041F0C901E3CF82E0089583E0089581E0EB
-:1028E000089584E008952091E80022FFDFCF80E082
-:1028F00008950E94E7140E94EF14E0EEF0E080815A
-:1029000081608083E8EDF0E080818F77808319BC5F
-:10291000A7EDB0E08C918E7F8C9380818F7E808339
-:102920001092EF0108950F931F93CF93DF930E94AE
-:10293000E7140E94EF14C8EDD0E088818F77888378
-:1029400088818068888388818F7D888319BC1092F4
-:10295000F0011092EC011092EE011092ED0100EEE8
-:1029600010E0F80180818B7F80838881816088837B
-:1029700042E060E080E00E94F313E1EEF0E080814D
-:102980008E7F8083E2EEF0E08081816080838081B1
-:1029900088608083F80180818E7F80838881806158
-:1029A0008883DF91CF911F910F910895E8EDF0E0BA
-:1029B00080818F7E8083E7EDF0E08081816080837D
-:1029C00084E082BF81E08093EF010C949314E8EDE2
-:1029D000F0E080818E7F80831092E2000895109253
-:1029E000DA001092E10008951F920F920FB60F9235
-:1029F00011242F933F934F935F936F937F938F9304
-:102A00009F93AF93BF93EF93FF938091E10082FF79
-:102A10000BC08091E20082FF07C08091E1008B7FB4
-:102A20008093E1000E9423118091DA0080FF1FC093
-:102A30008091D80080FF1BC08091DA008E7F809348
-:102A4000DA008091D90080FF0DC080E189BD82E16C
-:102A500089BD09B400FEFDCF81E08093F0010E94A2
-:102A6000F41005C019BC1092F0010E94061180916B
-:102A7000E10080FF19C08091E20080FF15C08091C5
-:102A8000E2008E7F8093E2008091E200806180937B
-:102A9000E2008091D80080628093D80019BC85E064
-:102AA0008093F0010E9411118091E10084FF30C0F9
-:102AB0008091E20084FF2CC080E189BD82E189BD64
-:102AC00009B400FEFDCF8091D8008F7D8093D8009F
-:102AD0008091E1008F7E8093E1008091E2008F7E03
-:102AE0008093E2008091E20081608093E200809117
-:102AF000EC01882311F084E007C08091E30087FF98
-:102B000002C083E001C081E08093F0010E941711B0
-:102B10008091E10083FF29C08091E20083FF25C0FE
-:102B20008091E100877F8093E10082E08093F00153
-:102B30001092EC018091E1008E7F8093E100809102
-:102B4000E2008E7F8093E2008091E20080618093BA
-:102B5000E20042E060E080E00E94F3138091F00028
-:102B600088608093F0000E940D11FF91EF91BF915A
-:102B7000AF919F918F917F916F915F914F913F9115
-:102B80002F910F900FBE0F901F9018951F920F92CC
-:102B90000FB60F9211242F933F934F935F936F9330
-:102BA0007F938F939F93AF93BF93CF93EF93FF93B5
-:102BB000C091E900CF708091EC001092E900809103
-:102BC000F000877F8093F00078940E9402161092A4
-:102BD000E9008091F00088608093F000C093E900E4
-:102BE000FF91EF91CF91BF91AF919F918F917F9185
-:102BF0006F915F914F913F912F910F900FBE0F906A
-:102C00001F9018951F93CF93DF93CDB7DEB7AA9788
-:102C10000FB6F894DEBF0FBECDBFE1EFF1E08091BB
-:102C2000F100819321E0E93FF207C9F70E947C118E
-:102C30008091E80083FF1CC12091F1013091F201E5
-:102C4000832F90E08A30910508F012C1FC01EA5A06
-:102C5000FF4F0C94C82F203881F0223809F008C1AA
-:102C60008091F5018F708093E9008091EB0085FBE6
-:102C7000882780F91092E90006C08091ED019091BB
-:102C8000EE01911182609091E800977F9093E800A7
-:102C90008093F1001092F100C5C0822F8D7F09F062
-:102CA000E7C0222319F0223061F0E2C08091F301E5
-:102CB000813009F0DDC0333009F080E08093EE010F
-:102CC00028C08091F301811124C02091F5012F705B
-:102CD00009F4CEC02093E9008091EB0080FF19C079
-:102CE0008091EB00333011F4806211C080618093D9
-:102CF000EB0081E090E0022E01C0880F0A94EAF711
-:102D00008093EA001092EA008091EB008860809343
-:102D1000EB001092E9008091E800877F86C02111C6
-:102D2000A7C01091F3011F778091E3008078812B79
-:102D30008093E3008091E800877F8093E8000E9401
-:102D400028148091E80080FFFCCF8091E300806828
-:102D50008093E300112311F083E001C082E08093AF
-:102D6000F00186C02058223008F082C08091F30123
-:102D70009091F4018C3D23E0920779F583E08A83FA
-:102D80008AE289834FB7F894DE01139620E03EE093
-:102D900051E2E32FF0E050935700E49120FF03C08D
-:102DA000E295EF703F5FEF708E2F90E0EA3010F009
-:102DB000C79601C0C0968D939D932F5F243149F72C
-:102DC0004FBF8091E800877F8093E8006AE270E05F
-:102DD000CE0101960E94301314C0AE014F5F5F4FC9
-:102DE0006091F5010E947812009709F441C020918A
-:102DF000E800277F2093E800BC0189819A810E9426
-:102E000091138091E8008B778093E80031C02038DF
-:102E100079F58091E800877F8093E8008091EC014C
-:102E20008093F1008091E8008E778093E8000E9403
-:102E300028141EC021111CC09091F3019230C0F4DF
-:102E40008091E800877F8093E8009093EC010E94D6
-:102E500028148091EC01811104C08091E30087FF68
-:102E600002C084E001C081E08093F0010E94631100
-:102E70008091E80083FF0AC08091E800877F8093FB
-:102E8000E8008091EB0080628093EB00AA960FB679
-:102E9000F894DEBF0FBECDBFDF91CF911F91089593
-:102EA000CF938091F0018823B1F08091E9008F7079
-:102EB0009091EC0090FF02C090E801C090E0C92F13
-:102EC000C82B1092E9008091E80083FD0E94021651
-:102ED000CF70C093E900CF910895909374018093CF
-:102EE00073010895E0917301F0917401309721F01E
-:102EF0000190F081E02D099480E00895FF920F93F6
-:102F00001F93CF93DF938C01E0917301F0917401D3
-:102F1000309799F10280F381E02D09958091D701D6
-:102F200082FF2BC080FF04C087E49AE00E94B409AE
-:102F3000E80180E1F82E01E41AE08091D70180FFDA
-:102F40000BC088811F928F931F930F930E944D0A8D
-:102F50000F900F900F900F90FA942196F110EDCFF3
-:102F60008091D70180FF09C08FE39AE0DF91CF9174
-:102F70001F910F91FF900C94B409DF91CF911F9195
-:102F80000F91FF900895E0917301F09174013097D3
-:102F900021F00480F581E02D0994089520917101BC
-:102FA000309172018217930771F0909372018093B0
-:102FB0007101E0917301F0917401309721F0068066
-:102FC000F781E02D0994089520916F0130917001EF
-:102FD0008217930771F09093700180936F01E091D5
-:102FE0007301F0917401309721F00084F185E02D98
-:102FF0000994089508950C94FA170E9410240E94D1
-:10300000FB0B0C94D624CF93C82F8091D70182FF5D
-:103010001EC080FF04C080E69AE00E94B40980913F
-:10302000D70180FF0CC01F92CF932BE53AE03F936E
-:103030002F930E944D0A0F900F900F900F90809148
-:10304000D70180FF04C089E59AE00E94B4098C2F63
-:10305000CF910C94B00FCF92DF92EF92FF920F932B
-:103060001F93CF93DF93CDB7DEB72B970FB6F894AE
-:10307000DEBF0FBECDBF0E94180C36E7E32E31E055
-:10308000F32E00E010E0C02E802F0E94430DF701C8
-:10309000D1907F01D826B1F40F5F1F4F0E3011057C
-:1030A00091F78FEF89838A831B820E9419248160A4
-:1030B000782F9D838C8349815A816B818D810E94F9
-:1030C000CE1841C09091D70191FF04C08B870E9418
-:1030D000490D8B8520E030E04D2D50E0922FBA0154
-:1030E000022E02C0759567950A94E2F760FF25C02D
-:1030F0002E83CF82EE24E394F12C02C0EE0CFF1C51
-:103100009A95E2F790E08E219F2121E0892B09F426
-:1031100020E028870E9419248160782F9A87898768
-:103120004E815F8168858A850E94CE18F801EA5831
-:10313000FE4F80818E25808306C02F5F3F4F263053
-:10314000310561F6A9CF0E944428109175010E94B3
-:1031500072171817A1F00E947217809375012B96B1
-:103160000FB6F894DEBF0FBECDBFDF91CF911F9198
-:103170000F91FF90EF90DF90CF900C9403182B9657
-:103180000FB6F894DEBF0FBECDBFDF91CF911F9178
-:103190000F91FF90EF90DF90CF900895CF93DF9342
-:1031A000CDB7DEB72B970FB6F894DEBF0FBECDBFFD
-:1031B0004F83588769877A878B87DE01119686E06F
-:1031C000FD0111928A95E9F785E0FE01379601909D
-:1031D0000D928A95E1F749815A816B817C818D81BD
-:1031E0009E810E9401202B960FB6F894DEBF0FBE81
-:1031F000CDBFDF91CF910895CF93C82F882309F4D5
-:10320000C1C0823859F40E94721781FDBBC089E3A6
-:103210000E949E220E947A2389E30CC0833879F4AD
-:103220000E94721780FDAEC083E50E949E220E941C
-:103230007A2383E50E94EF22CF910C947A2384387D
-:1032400059F40E94721782FD9DC087E40E949E225D
-:103250000E947A2387E4EECF8CEF8C0F813A48F4FA
-:103260008C2F0E94CD2C81118DC08C2F0E949E220C
-:10327000E3CF80E28C0F883048F4C77081E001C052
-:10328000880FCA95EAF70E944123D6CF8BE58C0FB1
-:10329000833078F4C53A29F0C63A31F482E890E0F8
-:1032A00005C081E890E002C083E890E0CF910C94E3
-:1032B000CE1788E58C0F833108F064C0C83A39F125
-:1032C000C93A41F1CA3A49F1CB3A51F1CC3A59F1F4
-:1032D000CD3A61F1C03B69F1CE3A71F1CF3A79F163
-:1032E000C13B81F1C23B89F1C33B91F1C43B99F1F0
-:1032F000C53BA1F1C63BA9F1C73BB1F1C83BB9F150
-:10330000C93BC1F1CA3BC9F58AE292E038C082EEFE
-:1033100090E035C089EE90E032C08AEE90E02FC098
-:1033200085EB90E02CC086EB90E029C087EB90E025
-:1033300026C08CEC90E023C08DEC90E020C083E8A8
-:1033400091E01DC08AE891E01AC082E991E017C0BF
-:1033500084E991E014C081E292E011C083E292E03E
-:103360000EC084E292E00BC085E292E008C086E2E3
-:1033700092E005C087E292E002C080E090E0CF9149
-:103380000C94E417CF910895882309F44BC0823838
-:1033900059F40E94721781FF45C089E30E949E2262
-:1033A0000E947A2389E30CC0833871F40E9472175B
-:1033B00080FF38C083E50E949E220E947A2383E525
-:1033C0000E94EF220C947A23843859F40E947217D9
-:1033D00082FF28C087E40E949E220E947A2387E40D
-:1033E000EFCF9CEF980F913A58F390E2980F9830F6
-:1033F00050F4877091E001C0990F8A95EAF7892F00
-:103400000E944723DFCF9BE5980F933020F480E0A4
-:1034100090E00C94CE17885A833120F480E090E03D
-:103420000C94E4170895882321F00E9441230C9402
-:103430007A230895882321F00E9447230C947A234D
-:103440000895CF92DF92EF92FF920F931F93CF9345
-:10345000DF93CDB7DEB728970FB6F894DEBF0FBE67
-:10346000CDBF8C0185E0F801DE01119601900D922F
-:103470008A95E1F7F80140813181F280258122951A
-:103480002F7083819481892B31F03F3F31F481E0AB
-:103490004F3F19F403C081E001C080E080FDC4C249
-:1034A00049833A8389819A812F830E945C229E837B
-:1034B00088870E945B220E942E214E81E42FE29594
-:1034C000EF70F0E0E05AFF4F2F8168850C94C82F11
-:1034D000842F807F142F1F70882311F01295107F86
-:1034E000FF2059F0112309F454C2812F68870E94EC
-:1034F00051230E947A2368854CC2862F0E94C419EA
-:10350000112309F491C2812F0E94572328960FB6E8
-:10351000F894DEBF0FBECDBFDF91CF911F910F9109
-:10352000FF90EF90DF90CF900C947A23342F307F70
-:10353000842F8F70303211F08295807F662319F0CE
-:10354000613019F12BC0FF20B1F0222309F493C19F
-:10355000213009F090C128960FB6F894DEBF0FBE57
-:10356000CDBFDF91CF911F910F91FF90EF90DF9032
-:10357000CF900C946123222319F0213009F454C216
-:103580008E830E9464238E8189C1FF2021F0223026
-:1035900008F04AC270C1211147C280C1FF2021F04A
-:1035A000222309F468C1F5C1222309F477C105C2B9
-:1035B000242F26952695237030E02115310521F022
-:1035C00021303105C9F030C2FF2021F0862F942F21
-:1035D000937002C080E090E028960FB6F894DEBFAA
+:1006200000000000000000000000000100010001C7
+:10063000000100010000003A003F004400010001F9
+:100640000001003B00400045000100010001003CAA
+:1006500000410001000100010001003D00420001D5
+:10066000000100010001003E004300010001000004
+:100670000001000100010000000100000001000174
+:1006800000010000005000000053003F0001005234
+:100690000051000000390040004A004D004F0001A9
+:1006A0000001002B005F005C005900620001005453
+:1006B0000060005D005A0001300100550061005EDD
+:1006C000005B0063000100560057005700580058B7
+:1006D00071000001000100010001000100000001A3
+:1006E0000001000100010001000100010001000102
+:1006F000004C020100010001000100B200490101AB
+:1007000000A80001000100B1004902010001000140
+:10071000000100B500A800000001004900A9000088
+:1007200000AA0000000100490001000000010000D3
+:10073000000100B00001000100010000000100A55F
+:10074000000100010001000100AC00A60001000151
+:1007500000010001000100A70001000100010001EB
+:1007600000010046000100010001000100AB00474C
+:1007700000480001000100010000000A002530319E
+:100780003662003A200025303258000A722F63206A
+:1007900030313233343536373839414243444546B7
+:1007A0000A000A002530325800626F756E636521B9
+:1007B0003A20006C65667420736964652061747406
+:1007C00061636865640A006C6566742073696465BA
+:1007D000206E6F7420726573706F6E64696E670A45
+:1007E00000747279696E6720746F20726573657426
+:1007F000206D637032333031380A000A4445425567
+:10080000473A20656E61626C65642E0A005B735D19
+:10081000004B6579626F6172642073746172742E2B
+:100820000A005B575D005B535D005B525D005B44FB
+:100830005D005B435D0016034500720067006F00BA
+:1008400044006F007800200045005A0000001603A5
+:100850004500720067006F0044006F0078002000C0
+:1008600045005A0000000403090409028D00050137
+:1008700000A0FA090400000103010100092111018F
+:100880000001223F000705810308000A0904010056
+:100890000103010200092111010001224D00070599
+:1008A000820308000A090402000103000000092174
+:1008B000110100012236000705830308000A09041C
+:1008C00003000203000000092111010001222000A1
+:1008D0000705840320000107050403200001090423
+:1008E0000400010300000009211101000122390068
+:1008F000070585031000011201100100000008ED3A
+:10090000FE071301000102000105010906A101050E
+:100910000719E029E71500250195087501810205F1
+:100920000819012905950575019102950175039135
+:1009300001050719002977150025019578750181B2
+:1009400002C00631FF0974A1010975150025FF9544
+:1009500020750881020976150025FF9520750891FC
+:1009600002C005010980A101850216010026B70019
+:100970001A01002AB700751095018100C0050C0905
+:1009800001A1018503160100269C021A01002A9C80
+:1009900002751095018100C005010902A10109013C
+:1009A000A100050919012905150025019505750105
+:1009B0008102950175038101050109300931158115
+:1009C000257F95027508810609381581257F9501D7
+:1009D00075088106050C0A38021581257F95017579
+:1009E000088106C0C005010906A101050719E02913
+:1009F000E7150025019508750181029501750881AB
+:100A000001050819012905950575019102950175E2
+:100A10000391010507190029FF150025FF950675AB
+:100A2000088100C00A002530325820006B657962C9
+:100A30006F6172645F7265706F72743A20000A00B1
+:100A400025303258006B6579626F6172645F73653F
+:100A5000745F6C65643A200064656C5F6B65795FF8
+:100A60006269743A2063616E27742064656C3A2071
+:100A7000253032580A006164645F6B65795F626992
+:100A8000743A2063616E2774206164643A202530D3
+:100A900032580A00646F6E652E0A00626F6F676DD0
+:100AA00061676963207363616E3A202E2E2E2000E9
+:100AB000290A002575002F002575005D2800256492
+:100AC000002000256400200025640020002564002B
+:100AD0007C0025303258006D6F7573656B65792029
+:100AE0005B62746E7C782079207620685D28726560
+:100AF000702F61636C293A205B006D6B5F776865CE
+:100B0000656C5F74696D655F746F5F6D6178203DC2
+:100B10002025640A006D6B5F776865656C5F6D61A9
+:100B2000785F7370656564203D2025640A006D6BF5
+:100B30005F74696D655F746F5F6D6178203D20251E
+:100B4000640A006D6B5F6D61785F7370656564202A
+:100B50003D2025640A006D6B5F696E746572766175
+:100B60006C203D2025640A006D6B5F64656C6179C3
+:100B7000203D2025640A006D6B5F776865656C5FBA
+:100B800074696D655F746F5F6D6178203D202564C9
+:100B90000A006D6B5F776865656C5F6D61785F7388
+:100BA00070656564203D2025640A006D6B5F746983
+:100BB0006D655F746F5F6D6178203D2025640A006C
+:100BC0006D6B5F6D61785F7370656564203D202596
+:100BD000640A006D6B5F696E74657276616C203DAE
+:100BE0002025640A006D6B5F64656C6179203D208F
+:100BF00025640A000A00257500363A207768656585
+:100C00006C5F74696D655F746F5F6D61783A200029
+:100C10000A00257500353A20776865656C5F6D615F
+:100C2000785F73706565643A20000A0025750034AA
+:100C30003A2074696D655F746F5F6D61783A20006A
+:100C40000A00257500333A206D61785F7370656521
+:100C5000643A20000A00257500323A20696E7465F6
+:100C60007276616C286D73293A20000A00257500A0
+:100C7000313A2064656C6179282A31306D73293AE4
+:100C800020000A092D2056616C756573202D0A001D
+:100C90004D3E004D25643E20003F00736574206486
+:100CA000656661756C740A00433E20007768657262
+:100CB000652064656C74613A20637572736F723D70
+:100CC00025642C20776865656C3D25640A5365654D
+:100CD00020687474703A2F2F656E2E77696B697077
+:100CE000656469612E6F72672F77696B692F4D6F2D
+:100CF0007573655F6B6579730A000A092D204D6F66
+:100D00007573656B6579202D0A4553432F713A0938
+:100D1000717569740A313A0964656C6179282A3100
+:100D2000306D73290A323A09696E74657276616CA6
+:100D3000286D73290A333A096D61785F73706565B0
+:100D4000640A343A0974696D655F746F5F6D617828
+:100D50000A353A09776865656C5F6D61785F737015
+:100D60006565640A363A09776865656C5F74696D14
+:100D7000655F746F5F6D61780A0A703A0970726915
+:100D80006E742076616C7565730A643A09736574D4
+:100D90002064656661756C74730A75703A092B314D
+:100DA0000A646F776E3A092D310A706775703A09D7
+:100DB0002B31300A7067646F776E3A092D31300A33
+:100DC0000A7370656564203D2064656C7461202A37
+:100DD000206D61785F7370656564202A20287265D4
+:100DE00070656174202F2074696D655F746F5F6D2D
+:100DF0006178290A003F004D3E2000433E20004C10
+:100E000025640A000A092D20436F6E736F6C6520FC
+:100E10002D0A4553432F713A09717569740A6D3A69
+:100E2000096D6F7573656B65790A000A092D204D90
+:100E300061676963202D0A643A0964656275670A0F
+:100E4000783A096465627567206D61747269780A21
+:100E50006B3A096465627567206B6579626F6172D0
+:100E6000640A6D3A096465627567206D6F75736514
+:100E70000A763A0976657273696F6E0A733A097376
+:100E800074617475730A633A09636F6E736F6C658E
+:100E9000206D6F64650A302D343A096C6179657292
+:100EA000302D34284631302D4634290A506175736F
+:100EB0003A09626F6F746C6F616465720A653A0912
+:100EC000656570726F6D0A6E3A094E4B524F0A7A21
+:100ED0003A09736C656570204C45442074657374E1
+:100EE0000A000A002575002E6E6B726F3A20000A08
+:100EF000002575002E737761705F6261636B736CA0
+:100F00006173685F6261636B73706163653A20004F
+:100F10000A002575002E737761705F6772617665D0
+:100F20005F6573633A20000A002575002E6E6F5FBF
+:100F30006775693A20000A002575002E7377617085
+:100F40005F72616C745F726775693A20000A0025F0
+:100F500075002E737761705F6C616C745F6C677580
+:100F6000693A20000A002575002E636170736C6F6A
+:100F7000636B5F746F5F636F6E74726F6C3A2000A7
+:100F80000A002575002E737761705F636F6E74724F
+:100F90006F6C5F636170736C6F636B3A20000A0063
+:100FA00025303258006B65796D61705F636F6E66D6
+:100FB00069672E7261773A20000A002575002E6D50
+:100FC0006F7573653A20000A002575002E6B6579F0
+:100FD000626F6172643A20000A002575002E6D610F
+:100FE000747269783A20000A002575002E656E61DA
+:100FF000626C653A20000A00253032580064656250
+:1010000075675F636F6E6669672E7261773A20005D
+:101010000A0025750064656661756C745F6C6179A2
+:1010200065723A20003F004E4B524F3A206F666681
+:101030000A004E4B524F3A206F6E0A0074696D657C
+:10104000725F636F756E743A202530346C580A00F5
+:101050006B6579626F6172645F6E6B726F3A2025A7
+:10106000580A006B6579626F6172645F69646C65D0
+:101070003A2025580A006B6579626F6172645F706F
+:10108000726F746F636F6C3A2025580A00686F7333
+:10109000745F6B6579626F6172645F6C65647328FD
+:1010A000293A2025580A000A092D205374617475C5
+:1010B00073202D0A004743433A20342E382E312026
+:1010C0004156522D4C4942433A20312E382E30732E
+:1010D000766E204156525F415243483A2061767203
+:1010E000350A004F5054494F4E533A204C55464113
+:1010F00020424F4F544D41474943204D4F55534592
+:101100004B45592045585452414B455920434F4E69
+:10111000534F4C4520434F4D4D414E44204E4B5272
+:101120004F203531320A004255494C443A2035614E
+:1011300031386134322D6469727479202831383A3B
+:1011400034363A343620466562203231203230312E
+:1011500036290A005649443A203078464545442805
+:101160004572676F446F7820455A29205049443AA8
+:1011700020307831333037284572676F446F7820DC
+:10118000455A29205645523A203078303030310ABD
+:1011900000444553433A20742E6D2E6B2E206B6510
+:1011A00079626F617264206669726D776172652021
+:1011B000666F72204572676F646F780A000A092DA6
+:1011C0002056657273696F6E202D0A000A6D6F7567
+:1011D00073653A206F66660A000A6D6F7573653A2B
+:1011E000206F6E0A000A6B6579626F6172643A2043
+:1011F0006F66660A000A6B6579626F6172643A20F5
+:101200006F6E0A000A6D61747269783A206F6666C3
+:101210000A000A6D61747269783A206F6E0A000ADA
+:1012200064656275673A206F6E0A000A64656275CC
+:10123000673A206F66660A000A0A626F6F746C6F05
+:10124000616465722E2E2E2000433E20006565638A
+:101250006F6E6669673A0A00536C656570204C458D
+:101260004420746573740A00000000000000000050
+:10127000000000010204060A0F17202C3A4A5D7193
+:10128000879DB3C7DAE9F5FCFFFCF5E9DAC7B39D42
+:1012900087715D4A3A2C20170F0A060402010000EC
+:1012A000000000000000000011241FBECFEFDAE0B4
+:1012B000DEBFCDBF04B603FE24C08091F90190913A
+:1012C000FA01A091FB01B091FC018730904BA7403F
+:1012D000B04BB9F41092F9011092FA011092FB018F
+:1012E0001092FC0114BE84B7877F84BF88E10FB6DB
+:1012F000F89480936000109260000FBEE0E0FFE37E
+:10130000099511E0A0E0B1E0EAECFFE502C005902C
+:101310000D92AA33B107D9F721E0AAE3B1E001C0E9
+:101320001D92A93FB207E1F70E94FE110C94E32F32
+:101330000C940000FF93EF93E0913A01F0913B0190
+:10134000309709F00995EF91FF910895FC0185917F
+:10135000803011F0EFDFFBCF0895FF27E0E230E2AD
+:1013600047FF0CC0419597FF09C0EDE2609570956D
+:1013700080959095611D711D811D911D27FF02C0F3
+:10138000219530E350E2AA27660F771F881F991F27
+:10139000AA1FA41710F0A41B63955A95A9F7AA30A9
+:1013A00008F0A95FA05DAF93F39561157105810504
+:1013B000910541F7ED3211F4EF93F395F21718F41C
+:1013C0003F93F395FBCF8F91B5DFFA95E1F7089541
+:1013D000E991F9918591803021F0853219F0AADFE9
+:1013E000F9CF089520E0E89455915532C1F3503378
+:1013F00011F4689455915A3348F4505390F3220FE6
+:10140000022E220F220F200D250FF4CF0EF421956E
+:1014100089919991533619F3533729F1533559F17D
+:10142000BC0188279927E8945C3621F48991999129
+:1014300068945591543639F446EF7EF077FF0DC02D
+:101440008FEF9FEF0AC055374AE039F0583540E139
+:1014500021F0523642E009F00895FF93EF937DDFCB
+:10146000EF91FF91B7CFFF93EF93FC018191803013
+:10147000B9F360DFFBCFFF93EF9368DFF1CFDF932A
+:10148000CF93CDB7DEB72596A3DFCF91DF91089537
+:10149000613049F0623071F488E00E94BC2189E03B
+:1014A0000E94BC2107C0FC018281882319F080EED4
+:1014B00090E0089580E090E0089580E090E0089545
+:1014C00056985E9825982D9826982E9827982F98AC
+:1014D0008091BC019091BD01A091BE01B091BF016E
+:1014E00090FF02C0259A2D9A8091C0019091C10170
+:1014F000A091C201B091C3010297A105B10511F4F9
+:10150000269A2E9A0E94421781FF02C0279A2F9A8C
+:1015100080E090E0089580E69AE0892B11F00E9427
+:10152000600A80E090E0089556985E9825982D987E
+:1015300026982E9827982F988FEF90E09093890007
+:101540008093880090938B0080938A0090938D0005
+:1015500080938C00259A2D9A2FEF80E792E02150FE
+:1015600080409040E1F700C00000269A2E9A2FEFAD
+:1015700080E792E0215080409040E1F700C00000F9
+:10158000279A2F9A2FEF80E792E0215080409040D9
+:10159000E1F700C0000025982D982FEF80E792E03A
+:1015A000215080409040E1F700C0000026982E981E
+:1015B0002FEF80E792E0215080409040E1F700C09B
+:1015C000000027982F9856985E9825982D98269871
+:1015D0002E9827982F98089589EA8093800089E0B3
+:1015E0008093810024982C983F988AB18F748AB98F
+:1015F0006E98479A8BB1806B8BB9769A0E94940A49
+:101600008DE59AE0892B11F00E945D0A80E090E060
+:10161000089580E28093000180913C0181110EC009
+:101620000E94580B81E080933C012FEF83ED90E303
+:10163000215080409040E1F700C0000080E40E940B
+:101640005E0B8093000181112EC00E94880B809355
+:101650000001811128C00E94880B80930001811134
+:1016600022C08FE30E94880B8093000181111BC070
+:101670000E94800B80E40E945E0B80930001811128
+:1016800012C08CE00E94880B8093000181110BC076
+:101690000E94880B80930001811105C08FE30E9496
+:1016A000880B809300010E94800B809100010895B7
+:1016B0001092B9008AE08093B800089594EA90935C
+:1016C000BC009091BC0097FFFCCF9091B900987F2F
+:1016D000983021F0903111F081E008958093BB00A3
+:1016E00084E88093BC008091BC0087FFFCCF809190
+:1016F000B900887F883111F0803471F780E0089557
+:1017000084E98093BC008091BC0084FDFCCF0895E7
+:101710008093BB0084E88093BC008091BC0087FF6D
+:10172000FCCF9091B900987F81E0983209F480E075
+:10173000089584E88093BC008091BC0087FFFCCFB3
+:101740008091BB00089580910001811115C080E453
+:101750000E945E0B8093000181110CC082E10E9407
+:10176000880B80930001811105C08FEF0E94880BC8
+:10177000809300010E94800B84B1807F84B985B181
+:10178000807F85B98AB1837F8AB98BB1837F8BB91A
+:101790003E98469808950E94090B809300010E948C
+:1017A000A30B80B38C7080BB81B3836F81BBECE4EF
+:1017B000F1E0AEE3B1E011921D9281E0EA35F80765
+:1017C000D1F78CEE9AE0892B11F00C94EC0A089575
+:1017D0009F92AF92BF92CF92DF92EF92FF920F93C0
+:1017E0001F93CF93DF93809100018823E1F08091D4
+:1017F0003D018F5F80933D01811115C081EE97E01F
+:101800000E94A6090E94090B80930001882329F0F9
+:1018100087EC97E00E94A60906C083EB97E00E9440
+:10182000A6090E94940A0EE311E0C0E0D0E0BB24B8
+:10183000B39482E0A82ECC24C394D12C24EAE22EC7
+:1018400027E0F22EC73000F580910001811162C0BF
+:1018500080E40E945E0B80930001811112C082E13E
+:101860000E94880B8093000181110BC0C6010C2ED1
+:1018700001C0880F0A94EAF780950E94880B809334
+:1018800000010E94800B46C0CA30A1F028F4C83085
+:1018900059F0C93061F005C0CC3089F070F0CD301E
+:1018A00089F0209A289810C0219A29980DC0229A70
+:1018B0002A980AC0239A2B9807C0529A01C0539ABB
+:1018C0005B9802C03E9A4698E0EAEA95F1F78FB13C
+:1018D000799985C092E081708B25892B7C9B02C011
+:1018E00090E001C094E0892B7D9B02C090E001C094
+:1018F00098E0892B7E9B02C090E001C090E1892B8B
+:101900009FB19095991F9927991F9295990F907E55
+:10191000892B10C080910001811176C080E40E9463
+:101920005E0B80930001882309F45BC0912C0E9418
+:10193000800B892DF8019081981739F1808380916F
+:101940000101882301F18091D70180FF04C089EA59
+:1019500097E00E94A6098091D70180FF0CC080917A
+:1019600001011F928F93FF92EF920E943F0A0F9006
+:101970000F900F900F908091D70180FF04C082EAF2
+:1019800097E00E94A609A09201010E94A30B219654
+:101990000F5F1F4FCE30D10509F054CF8091010168
+:1019A0008823B1F0815080930101882339F08FE9B9
+:1019B0009FE00197F1F700C000000AC0ACE4B1E07D
+:1019C000EEE3F1E081918D9391E0EC34F907D1F7EA
+:1019D0008BE89AE0892BD1F00E948B0A17C090E027
+:1019E0007ACF83E10E94880B8093000181119ECF02
+:1019F00081E40E945E0B80930001811197CF0E94C9
+:101A0000990B982E909493CF80E094CF81E0DF9152
+:101A1000CF911F910F91FF90EF90DF90CF90BF90EB
+:101A2000AF909F900895E82FF0E0E45BFE4F808137
+:101A30000895CF92DF92EF92FF920F931F93CF936F
+:101A4000DF938BE897E00E94A6093CE4E32E31E0A7
+:101A5000F32EC0E0D0E046E8C42E47E0D42E0DE7D8
+:101A600017E0DF93CF93DF92CF920E943F0A83E883
+:101A700097E00E94A609F70181917F0190E00E9402
+:101A800087239F938F931F930F930E943F0A8BE7A7
+:101A900097E00E94A60921968DB79EB708960FB6CB
+:101AA000F8949EBF0FBE8DBFCE30D105D1F6DF9129
+:101AB000CF911F910F91FF90EF90DF90CF900895FD
+:101AC0008B3B910578F4883A910540F5853A91056C
+:101AD000D0F48430910508F0B1C08130910509F44B
+:101AE000ADC06BC0803E910508F467C0883E91058B
+:101AF00008F4A4C09C01205F31092031310508F0B1
+:101B00005CC090650895853A910509F459C0863AFC
+:101B1000910509F458C083E890E40895883A910546
+:101B200009F454C0893A910509F453C08A3A9105E1
+:101B300009F452C08B3A910509F451C08C3A9105D1
+:101B400009F450C08D3A910509F44FC0803B9105CE
+:101B500009F44EC08E3A910509F44DC08F3A9105B3
+:101B600009F44CC0813B910509F44BC0823B9105BF
+:101B700009F44AC0833B910509F449C0843B9105AF
+:101B800009F448C0853B910509F447C0863B91059F
+:101B900009F446C0873B910509F445C0883B91058F
+:101BA00009F444C0893B910509F443C08A3B91057F
+:101BB00009F042C08AE296E4089580E090E008953A
+:101BC00081E890E4089582E890E4089582EE94E438
+:101BD000089589EE94E408958AEE94E4089585EBDF
+:101BE00094E4089586EB94E4089587EB94E40895D3
+:101BF0008CEC94E408958DEC94E4089583E895E4E6
+:101C000008958AE895E4089582E995E4089584E9C1
+:101C100095E4089581E296E4089583E296E40895B8
+:101C200084E296E4089585E296E4089586E296E4D7
+:101C3000089587E296E4089580E094E40895089575
+:101C400096E0799FF001112494E5899FE00DF11D44
+:101C50001124E60FF11DEE0FFF1FE551FF4F859197
+:101C600094910895880F991F85599040FC018591A2
+:101C700094910895880F991F85519F4FFC0185917C
+:101C80009491089526E0729FF001112444E5849F09
+:101C9000E00DF11D1124E60FF11DEE0FFF1FE551C0
+:101CA000FF4F25913491C9019A9581159F4110F4F8
+:101CB000C9010895C90190528115904128F4C901C4
+:101CC0009F700E943A0E0895C9019053811590416A
+:101CD00020F4C9019927906C0895211580E53807F3
+:101CE00069F40E94051D9FEF24E34CE091502040D1
+:101CF0004040E1F700C000000C944324213080E50F
+:101D0000380751F48BEF97E00E94A6098091D70124
+:101D100081608093D7010895C90190558115904144
+:101D200008F050C0832F99278F7099278130910533
+:101D3000D9F4A9014370552702C0880F991F4A950D
+:101D4000E2F79C68A90164E0440F551F6A95E1F72A
+:101D500044275370842B952B73E0220F331F7A9501
+:101D6000E1F7207633271DC08230910529F4922FA8
+:101D70008827816F906A089583309105A9F4A9019D
+:101D80004370552781E090E002C0880F991F4A9563
+:101D9000E2F79C6843E0220F331F4A95E1F7207E6B
+:101DA0003770822B932B08950497F1F4A9014370A7
+:101DB000552781E090E002C0880F991F4A95E2F70D
+:101DC0009A68E8CFC90190578115904120F4C90164
+:101DD0009F7090620895C90190588115904120F438
+:101DE000C9019F70906A0895203E3105E0F4203CBF
+:101DF000310558F52133310509F470C048F4293212
+:101E0000310509F464C02A32310509F46EC074C08A
+:101E100029333105F1F022383105D9F02533310568
+:101E200009F44EC069C0233E310589F138F4203EE3
+:101E30003105C1F0223E3105E1F05EC0263E31059C
+:101E400069F1273E3105A9F157C0C9010E94320E40
+:101E500008958091EA0180FD02C081FF4DC080EEAF
+:101E600090E04BC08091EA0180FFF9CF89E390E0D8
+:101E700044C08091EA0182FF0EC08091EA0184FF94
+:101E800003C080E090E039C083EE90E036C08091DE
+:101E9000EA0182FFF2CF82EE90E02FC08091EA014A
+:101EA00083FF0BC08091EA0184FDEBCF87EE90E0C9
+:101EB00024C08091EA0183FFF5CF86EE90E01DC03B
+:101EC0008091EA0185FF07C089E290E016C0809109
+:101ED000EA0185FFF9CF85E390E00FC08091EA0128
+:101EE00086FF07C08AE290E008C08091EA0186FF81
+:101EF000F9CF81E390E001C0C9010E94600D08950F
+:101F0000089580916D0108959FB7F89410925C0137
+:101F10009FBF9091F001943009F058C09091E90072
+:101F20009F702091EC0020FF02C020E801C020E05B
+:101F3000292B94E09093E9009091EB0090FF43C02F
+:101F40009091EE0097FF3FC090915A01992321F0A4
+:101F50009091E80095FF37C010925A0196E03091B9
+:101F6000E80035FD15C03091F001343061F5309155
+:101F7000EB0035FD28C0915021F481E080935A0197
+:101F800022C0EFE9FFE03197F1F700C00000E7CF92
+:101F90008093F1008091E80085FD0AC08091E800FF
+:101FA00080FFFCCF8091E8008E778093E80006C028
+:101FB0008FB7F89491E090935C018FBF2F702093BE
+:101FC000E90080E008952F702093E9008FEF0895D5
+:101FD000CF93DF9300D01F92CDB7DEB72091F001F1
+:101FE000243019F523E029839B838A832093E90019
+:101FF0008FEF9091E800815095FD06C095ED9A9580
+:10200000F1F700008111F5CF8091E80085FF0DC048
+:1020100040E050E063E070E0CE0101960E94B7120C
+:102020008091E8008E778093E8000F900F900F90DA
+:10203000DF91CF910895CF93DF9300D01F92CDB75A
+:10204000DEB72091F001243021F522E029839B8323
+:102050008A8383E08093E9008FEF9091E8008150BC
+:1020600095FD06C095ED9A95F1F700008111F5CF29
+:102070008091E80085FF0DC040E050E063E070E033
+:10208000CE0101960E94B7128091E8008E7780936E
+:10209000E8000F900F900F90DF91CF91089520915D
+:1020A000F0012430F1F422E02093E9002FEF309189
+:1020B000E800215035FD06C035ED3A95F1F70000F6
+:1020C0002111F5CF2091E80025FF0BC040E050E042
+:1020D00065E070E00E94B7128091E8008E778093EF
+:1020E000E8000895CF93DF93EC018091F0018430F4
+:1020F00009F047C080910C018823E1F080910D0127
+:102100008823C1F085E08093E9008FEF9091E8008B
+:10211000815095FD06C095E19A95F1F70000811177
+:10212000F5CF8091E80085FF2CC040E050E060E1F1
+:1021300070E017C081E08093E9008FEF9091E80094
+:10214000815095FD06C095ED9A95F1F7000081113B
+:10215000F5CF8091E80085FF14C040E050E068E0D2
+:1021600070E0CE010E94B7128091E8008E778093D4
+:10217000E80080E1FE01ADE5B1E001900D928A95A5
+:10218000E1F7DF91CF91089582E398E00E94A609DC
+:102190008091EF01811109C00E9449140E94A61488
+:1021A0008091E20084608093E20008958EE298E0DE
+:1021B0000E94A6091092EF0108958AE298E00C941B
+:1021C000A60986E298E00E94A6090C94042E82E2F9
+:1021D00098E00E94A6090E94DE230E940A2E0E9417
+:1021E00042170C94800F80915B018F5F80935B019D
+:1021F00062E30E94782F911135C010925B018091AB
+:102200005C01882379F18091F001843049F5809157
+:10221000E9008F709091EC0090FF02C090E801C03F
+:1022200090E0982B84E08093E9008091EB0080FFA0
+:1022300014C08091EE0087FF10C08091E80085FFF8
+:1022400003C01092F100F9CF8091E80080FF05C033
+:102250008091E8008E778093E8009F709093E9006A
+:1022600010925C01089542E061EC81E00E94C3138A
+:1022700042E061EC82E00E94C31342E061EC83E043
+:102280000E94C31342E261EC84E00E94C31342E166
+:1022900061EC85E00C94C3138091F201833009F462
+:1022A00055C030F4813071F0823009F48EC0089549
+:1022B0008A3009F47AC08B3009F460C0893009F0A3
+:1022C0009CC020C08091F101813A09F096C08091B4
+:1022D000E800877F8093E8008091F5019091F601F6
+:1022E000892B21F060E080E090E003C060E18DE5A3
+:1022F00091E070E00E9400138091E8008B7780935A
+:10230000E80008958091F101813209F076C0809152
+:10231000F5019091F601009719F0049709F06DC04E
+:102320008091E800877F8093E8008091E80082FD3B
+:1023300005C08091F0018111F8CF5FC08091F1005C
+:1023400080936D018091E8008B7753C08091F101FB
+:10235000813A09F052C08091F5019091F601892BE4
+:1023600009F04BC08091E800877F8093E80080915E
+:10237000E80080FFFCCF80910C0136C08091F10114
+:102380008132D9F58091F5019091F601892BA9F55B
+:102390008091E800877F8093E8000E94F813809185
+:1023A000F30180930C010C94051D8091F1018132A1
+:1023B00021F58091E800877F8093E8000E94F81360
+:1023C0008091F40180936E0108958091F101813A2A
+:1023D000A1F48091E800877F8093E8008091E80075
+:1023E00080FFFCCF80916E018093F1008091E80026
+:1023F0008E778093E8000C94F813089584B7877F54
+:1024000084BF88E10FB6F89480936000109260005A
+:102410000FBE90E080E80FB6F8948093610090932F
+:1024200061000FBE0E94CB170E9449140E94A6149F
+:102430008091E20084608093E20084E89FE00E9443
+:10244000702378940E9420170E94CD1782E091E0BB
+:102450000E943D170E94F22D81E198E00E94A6099A
+:102460008091F001853089F48DE098E00E94A60902
+:102470000E94A1238091EE01882391F30E94C92339
+:10248000882371F30E94A112EBCF0E94FB17E8CFC3
+:10249000292F332723303105A9F06CF42130310581
+:1024A00009F442C02230310509F043C08DE890E0C4
+:1024B0002AE638E042C021323105C9F02232310526
+:1024C00019F137C099278130910541F0823091058B
+:1024D00041F0892B71F5E6E6F8E005C0EEE4F8E09E
+:1024E00002C0E6E3F8E0849190E09F0126C06530E9
+:1024F00000F5E62FF0E0EE0FFF1FEB5DFE4F2081B1
+:10250000318189E090E019C0653098F4E62FF0E061
+:10251000DF01AA0FBB1FA55EBE4F2D913C91EA5E65
+:10252000FE4F808190E009C082E190E027EF38E023
+:1025300004C080E090E020E030E0FA0131832083A5
+:10254000089580E189BD82E189BD09B400FEFDCF17
+:102550008091D8008F7D8093D8008091E0008260C8
+:102560008093E0008091E00081FDFCCF0895CF9240
+:10257000DF92EF92FF920F931F93CF93DF937C0133
+:102580008B01EA010E941914811131C0209731F0AA
+:1025900088819981081B190BE80EF91EC12CD12CDA
+:1025A0000115110519F18091E80085FD14C0809195
+:1025B000E8008E778093E800209741F08881998128
+:1025C0008C0D9D1D9983888385E011C00E9419148C
+:1025D000882331F30CC0F70181917F018093F100D2
+:1025E00001501109FFEFCF1ADF0ADACF80E0DF9147
+:1025F000CF911F910F91FF90EF90DF90CF900895B2
+:102600002091F7013091F8012617370748F061153E
+:10261000710539F42091E8002E772093E80001C07D
+:10262000B901FC0120E061157105B9F18091F0015B
+:10263000882309F440C0853009F43FC08091E80048
+:1026400083FD3DC08091E80082FF06C08091E800D4
+:1026500082FF26C080E008958091E80080FFE3CFEC
+:102660002091F3008091F20090E0922B61157105AA
+:1026700051F08830910538F421912093F100615098
+:1026800071090196F3CF21E0089709F020E08091CD
+:10269000E8008E778093E800C6CF2111C7CFD6CF50
+:1026A0008091F001882339F0853039F08091E8007D
+:1026B00083FFCCCF04C082E0089583E0089581E0D9
+:1026C00008952091F7013091F8012617370748F057
+:1026D0006115710539F42091E8002E772093E80008
+:1026E00001C0B901FC0120E061157105C1F18091C3
+:1026F000F001882309F441C0853009F440C080917D
+:10270000E80083FD3EC08091E80082FF06C0809112
+:10271000E80082FF27C080E008958091E80080FFF4
+:10272000E3CF2091F3008091F20090E0922B6115AD
+:10273000710559F08830910540F424912093F100FF
+:102740003196615071090196F2CF21E0089709F0A6
+:1027500020E08091E8008E778093E800C5CF2111BA
+:10276000C6CFD5CF8091F001882339F0853039F07C
+:102770008091E80083FFCBCF04C082E0089583E01E
+:10278000089581E00895982F973058F59093E900C7
+:10279000981739F07091EC002091ED005091F00005
+:1027A00003C0242F762F50E021FF19C03091EB0099
+:1027B0003E7F3093EB003091ED003D7F3093ED0094
+:1027C0003091EB0031603093EB007093EC0020937C
+:1027D000ED005093F0002091EE0027FF07C09F5FAF
+:1027E000D3CF8F708093E90081E0089580E0089551
+:1027F0008091F10187FD05C08091E80080FF0EC047
+:1028000012C08091E80082FD05C08091F001811125
+:10281000F8CF08958091E8008B7708C08091F0018F
+:102820008111EACF08958091E8008E778093E800C7
+:1028300008958091E4009091E50045E62091EC0038
+:1028400020FF21C02091E80020FD21C02091F0014F
+:10285000222389F0253089F02091EB0025FD0FC05F
+:102860002091E4003091E5002817390739F34150F1
+:1028700041F0C901E3CF82E0089583E0089581E04B
+:10288000089584E008952091E80022FFDFCF80E0E2
+:1028900008950E94B7140E94BF14E0EEF0E080811A
+:1028A00081608083E8EDF0E080818F77808319BCC0
+:1028B000A7EDB0E08C918E7F8C9380818F7E80839A
+:1028C0001092EF0108950F931F93CF93DF930E940F
+:1028D000B7140E94BF14C8EDD0E088818F77888339
+:1028E00088818068888388818F7D888319BC109255
+:1028F000F0011092EC011092EE011092ED0100EE49
+:1029000010E0F80180818B7F8083888181608883DB
+:1029100042E060E080E00E94C313E1EEF0E08081DD
+:102920008E7F8083E2EEF0E0808181608083808111
+:1029300088608083F80180818E7F808388818061B8
+:102940008883DF91CF911F910F910895E8EDF0E01A
+:1029500080818F7E8083E7EDF0E0808181608083DD
+:1029600084E082BF81E08093EF010C946314E8ED72
+:10297000F0E080818E7F80831092E20008951092B3
+:10298000DA001092E10008951F920F920FB60F9295
+:1029900011242F933F934F935F936F937F938F9364
+:1029A0009F93AF93BF93EF93FF938091E10082FFDA
+:1029B0000BC08091E20082FF07C08091E1008B7F15
+:1029C0008093E1000E94F3108091DA0080FF1FC025
+:1029D0008091D80080FF1BC08091DA008E7F8093A9
+:1029E000DA008091D90080FF0DC080E189BD82E1CD
+:1029F00089BD09B400FEFDCF81E08093F0010E9403
+:102A0000C41005C019BC1092F0010E94D61080912C
+:102A1000E10080FF19C08091E20080FF15C0809125
+:102A2000E2008E7F8093E2008091E20080618093DB
+:102A3000E2008091D80080628093D80019BC85E0C4
+:102A40008093F0010E94E1108091E10084FF30C08A
+:102A50008091E20084FF2CC080E189BD82E189BDC4
+:102A600009B400FEFDCF8091D8008F7D8093D800FF
+:102A70008091E1008F7E8093E1008091E2008F7E63
+:102A80008093E2008091E20081608093E200809177
+:102A9000EC01882311F084E007C08091E30087FFF8
+:102AA00002C083E001C081E08093F0010E94E71042
+:102AB0008091E10083FF29C08091E20083FF25C05F
+:102AC0008091E100877F8093E10082E08093F001B4
+:102AD0001092EC018091E1008E7F8093E100809163
+:102AE000E2008E7F8093E2008091E200806180931B
+:102AF000E20042E060E080E00E94C3138091F000B9
+:102B000088608093F0000E94DD10FF91EF91BF91EB
+:102B1000AF919F918F917F916F915F914F913F9175
+:102B20002F910F900FBE0F901F9018951F920F922C
+:102B30000FB60F9211242F933F934F935F936F9390
+:102B40007F938F939F93AF93BF93CF93EF93FF9315
+:102B5000C091E900CF708091EC001092E900809163
+:102B6000F000877F8093F00078940E94D215109235
+:102B7000E9008091F00088608093F000C093E90044
+:102B8000FF91EF91CF91BF91AF919F918F917F91E5
+:102B90006F915F914F913F912F910F900FBE0F90CA
+:102BA0001F9018951F93CF93DF93CDB7DEB7AA97E9
+:102BB0000FB6F894DEBF0FBECDBFE1EFF1E080911C
+:102BC000F100819321E0E93FF207C9F70E944C111F
+:102BD0008091E80083FF1CC12091F1013091F20146
+:102BE000832F90E08A30910508F012C1FC01EA5A67
+:102BF000FF4F0C94982F203881F0223809F008C13B
+:102C00008091F5018F708093E9008091EB0085FB46
+:102C1000882780F91092E90006C08091ED0190911B
+:102C2000EE01911182609091E800977F9093E80007
+:102C30008093F1001092F100C5C0822F8D7F09F0C2
+:102C4000E7C0222319F0223061F0E2C08091F30145
+:102C5000813009F0DDC0333009F080E08093EE016F
+:102C600028C08091F301811124C02091F5012F70BB
+:102C700009F4CEC02093E9008091EB0080FF19C0D9
+:102C80008091EB00333011F4806211C08061809339
+:102C9000EB0081E090E0022E01C0880F0A94EAF771
+:102CA0008093EA001092EA008091EB0088608093A4
+:102CB000EB001092E9008091E800877F86C0211127
+:102CC000A7C01091F3011F778091E3008078812BDA
+:102CD0008093E3008091E800877F8093E8000E9462
+:102CE000F8138091E80080FFFCCF8091E3008068BA
+:102CF0008093E300112311F083E001C082E0809310
+:102D0000F00186C02058223008F082C08091F30183
+:102D10009091F4018C3D23E0920779F583E08A835A
+:102D20008AE289834FB7F894DE01139620E03EE0F3
+:102D300051E2E32FF0E050935700E49120FF03C0ED
+:102D4000E295EF703F5FEF708E2F90E0EA3010F069
+:102D5000C79601C0C0968D939D932F5F243149F78C
+:102D60004FBF8091E800877F8093E8006AE270E0BF
+:102D7000CE0101960E94001314C0AE014F5F5F4F59
+:102D80006091F5010E944812009709F441C020911A
+:102D9000E800277F2093E800BC0189819A810E9486
+:102DA00061138091E8008B778093E80031C0203870
+:102DB00079F58091E800877F8093E8008091EC01AD
+:102DC0008093F1008091E8008E778093E8000E9464
+:102DD000F8131EC021111CC09091F3019230C0F471
+:102DE0008091E800877F8093E8009093EC010E9437
+:102DF000F8138091EC01811104C08091E30087FFFA
+:102E000002C084E001C081E08093F0010E94331190
+:102E10008091E80083FF0AC08091E800877F80935B
+:102E2000E8008091EB0080628093EB00AA960FB6D9
+:102E3000F894DEBF0FBECDBFDF91CF911F910895F3
+:102E4000CF938091F0018823B1F08091E9008F70D9
+:102E50009091EC0090FF02C090E801C090E0C92F73
+:102E6000C82B1092E9008091E80083FD0E94D215E2
+:102E7000CF70C093E900CF9108959093740180932F
+:102E800073010895E0917301F0917401309721F07E
+:102E90000190F081E02D099480E00895FF920F9356
+:102EA0001F93CF93DF938C01E0917301F091740134
+:102EB000309799F10280F381E02D09958091D70137
+:102EC00082FF2BC080FF04C08CE29AE00E94A6091A
+:102ED000E80180E1F82E06E21AE08091D70180FF38
+:102EE0000BC088811F928F931F930F930E943F0AFC
+:102EF0000F900F900F900F90FA942196F110EDCF54
+:102F00008091D70180FF09C084E29AE0DF91CF91E0
+:102F10001F910F91FF900C94A609DF91CF911F9103
+:102F20000F91FF900895E0917301F0917401309733
+:102F300021F00480F581E02D09940895209171011C
+:102F4000309172018217930771F090937201809310
+:102F50007101E0917301F0917401309721F00680C6
+:102F6000F781E02D0994089520916F01309170014F
+:102F70008217930771F09093700180936F01E09135
+:102F80007301F0917401309721F00084F185E02DF8
+:102F90000994089508950C94CA170E94E0230E9492
+:102FA000CB0B0C94A624CF93C82F8091D70182FF1E
+:102FB0001EC080FF04C085E49AE00E94A6098091AB
+:102FC000D70180FF0CC01F92CF9320E43AE03F93DB
+:102FD0002F930E943F0A0F900F900F900F908091B7
+:102FE000D70180FF04C08EE39AE00E94A6098C2FCF
+:102FF000CF910C94800FCF92DF92EF92FF920F93BC
+:103000001F93CF93DF93CDB7DEB72B970FB6F8940E
+:10301000DEBF0FBECDBF0E94E80B36E7E32E31E0E6
+:10302000F32E00E010E0C02E802F0E94130DF70158
+:10303000D1907F01D826B1F40F5F1F4F0E301105DC
+:1030400091F78FEF89838A831B820E94E923816035
+:10305000782F9D838C8349815A816B818D810E9459
+:103060009E1841C09091D70191FF04C08B870E94A8
+:10307000190D8B8520E030E04D2D50E0922FBA01E4
+:10308000022E02C0759567950A94E2F760FF25C08D
+:103090002E83CF82EE24E394F12C02C0EE0CFF1CB1
+:1030A0009A95E2F790E08E219F2121E0892B09F487
+:1030B00020E028870E94E9238160782F9A878987FA
+:1030C0004E815F8168858A850E949E18F801EA58C2
+:1030D000FE4F80818E25808306C02F5F3F4F2630B4
+:1030E000310561F6A9CF0E941428109175010E9444
+:1030F00042171817A1F00E944217809375012B9672
+:103100000FB6F894DEBF0FBECDBFDF91CF911F91F8
+:103110000F91FF90EF90DF90CF900C94D3172B96E8
+:103120000FB6F894DEBF0FBECDBFDF91CF911F91D8
+:103130000F91FF90EF90DF90CF900895CF93DF93A2
+:10314000CDB7DEB72B970FB6F894DEBF0FBECDBF5D
+:103150004F83588769877A878B87DE01119686E0CF
+:10316000FD0111928A95E9F785E0FE0137960190FD
+:103170000D928A95E1F749815A816B817C818D811D
+:103180009E810E94D11F2B960FB6F894DEBF0FBE12
+:10319000CDBFDF91CF910895CF93C82F882309F435
+:1031A000C1C0823859F40E94421781FDBBC089E337
+:1031B0000E946E220E944A2389E30CC0833879F46E
+:1031C0000E94421780FDAEC083E50E946E220E94DD
+:1031D0004A2383E50E94BF22CF910C944A2384386E
+:1031E00059F40E94421782FD9DC087E40E946E221E
+:1031F0000E944A2387E4EECF8CEF8C0F813A48F48B
+:103200008C2F0E949D2C81118DC08C2F0E946E22CC
+:10321000E3CF80E28C0F883048F4C77081E001C0B2
+:10322000880FCA95EAF70E941123D6CF8BE58C0F41
+:10323000833078F4C53A29F0C63A31F482E890E058
+:1032400005C081E890E002C083E890E0CF910C9443
+:103250009E1788E58C0F833108F064C0C83A39F1B5
+:10326000C93A41F1CA3A49F1CB3A51F1CC3A59F154
+:10327000CD3A61F1C03B69F1CE3A71F1CF3A79F1C3
+:10328000C13B81F1C23B89F1C33B91F1C43B99F150
+:10329000C53BA1F1C63BA9F1C73BB1F1C83BB9F1B0
+:1032A000C93BC1F1CA3BC9F58AE292E038C082EE5F
+:1032B00090E035C089EE90E032C08AEE90E02FC0F9
+:1032C00085EB90E02CC086EB90E029C087EB90E086
+:1032D00026C08CEC90E023C08DEC90E020C083E809
+:1032E00091E01DC08AE891E01AC082E991E017C020
+:1032F00084E991E014C081E292E011C083E292E09F
+:103300000EC084E292E00BC085E292E008C086E243
+:1033100092E005C087E292E002C080E090E0CF91A9
+:103320000C94B417CF910895882309F44BC08238C8
+:1033300059F40E94421781FF45C089E30E946E2222
+:103340000E944A2389E30CC0833871F40E9442171B
+:1033500080FF38C083E50E946E220E944A2383E5E5
+:103360000E94BF220C944A23843859F40E944217C9
+:1033700082FF28C087E40E946E220E944A2387E4CD
+:10338000EFCF9CEF980F913A58F390E2980F983056
+:1033900050F4877091E001C0990F8A95EAF7892F60
+:1033A0000E941723DFCF9BE5980F933020F480E035
+:1033B00090E00C949E17885A833120F480E090E0CE
+:1033C0000C94B4170895882321F00E9411230C94C3
+:1033D0004A230895882321F00E9417230C944A233E
+:1033E0000895CF92DF92EF92FF920F931F93CF93A6
+:1033F000DF93CDB7DEB728970FB6F894DEBF0FBEC8
+:10340000CDBF8C0185E0F801DE01119601900D928F
+:103410008A95E1F7F80140813181F280258122957A
+:103420002F7083819481892B31F03F3F31F481E00B
+:103430004F3F19F403C081E001C080E080FDC4C2A9
+:1034400049833A8389819A812F830E942C229E830B
+:1034500088870E942B220E94FE204E81E42FE29555
+:10346000EF70F0E0E05AFF4F2F8168850C94982FA1
+:10347000842F807F142F1F70882311F01295107FE6
+:10348000FF2059F0112309F454C2812F68870E944C
+:1034900021230E944A2368854CC2862F0E949419DA
+:1034A000112309F491C2812F0E94272328960FB679
+:1034B000F894DEBF0FBECDBFDF91CF911F910F916A
+:1034C000FF90EF90DF90CF900C944A23342F307F01
+:1034D000842F8F70303211F08295807F662319F02F
+:1034E000613019F12BC0FF20B1F0222309F493C100
+:1034F000213009F090C128960FB6F894DEBF0FBEB8
+:10350000CDBFDF91CF911F910F91FF90EF90DF9092
+:10351000CF900C943123222319F0213009F454C2A6
+:103520008E830E9434238E8189C1FF2021F02230B6
+:1035300008F04AC270C1211147C280C1FF2021F0AA
+:10354000222309F468C1F5C1222309F477C105C219
+:10355000242F26952695237030E02115310521F082
+:1035600021303105C9F030C2FF2021F0862F942F81
+:10357000937002C080E090E028960FB6F894DEBF0A
+:103580000FBECDBFDF91CF911F910F91FF90EF90B4
+:10359000DF90CF900C949E17FF2021F0862F942F60
+:1035A000937002C080E090E028960FB6F894DEBFDA
+:1035B0000FBECDBFDF91CF911F910F91FF90EF9084
+:1035C000DF90CF900C94B417862FFF2019F00E9443
+:1035D0009A2602C00E94022728960FB6F894DEBFF2
:1035E0000FBECDBFDF91CF911F910F91FF90EF9054
-:1035F000DF90CF900C94CE17FF2021F0862F942FD0
-:10360000937002C080E090E028960FB6F894DEBF79
-:103610000FBECDBFDF91CF911F910F91FF90EF9023
-:10362000DF90CF900C94E417862FFF2019F00E94B2
-:10363000CA2602C00E94322728960FB6F894DEBF31
-:103640000FBECDBFDF91CF911F910F91FF90EF90F3
-:10365000DF90CF900C94B727842F837009F076C049
-:10366000F110E2C1262F229526952770220F220FF6
-:10367000862F8F70C82ED12CE12CF12C022E04C085
-:10368000CC0CDD1CEE1CFF1C0A94D2F764FF10C0AA
-:103690006FE070E080E090E004C0660F771F881F45
-:1036A000991F2A95D2F7609570958095909503C0E3
-:1036B00060E070E0CB01242F269526952370422FE1
-:1036C00050E042305105D1F04330510559F16C2999
-:1036D0007D298E299F294130510541F128960FB649
-:1036E000F894DEBF0FBECDBFDF91CF911F910F9138
-:1036F000FF90EF90DF90CF900C9453216C297D299F
-:103700008E299F2928960FB6F894DEBF0FBECDBF35
-:10371000DF91CF911F910F91FF90EF90DF90CF90AD
-:103720000C946D210E945321C701B60128960FB653
-:10373000F894DEBF0FBECDBFDF91CF911F910F91E7
-:10374000FF90EF90DF90CF900C943921FF2019F07B
-:10375000842F817001C08695882309F465C1262FC6
-:10376000229526952770220F220F862F8F70C82E44
-:10377000D12CE12CF12C022E04C0CC0CDD1CEE1C53
-:10378000FF1C0A94D2F764FF10C06FE070E080E085
-:1037900090E004C0660F771F881F991F2A95D2F703
-:1037A000609570958095909503C060E070E0CB01C6
-:1037B000242F269526952370422F50E04230510544
-:1037C000D1F04330510559F16C297D298E299F296B
-:1037D0004130510541F128960FB6F894DEBF0FBE77
-:1037E000CDBFDF91CF911F910F91FF90EF90DF90B0
-:1037F000CF900C9427226C297D298E299F29289609
-:103800000FB6F894DEBF0FBECDBFDF91CF911F91F1
-:103810000F91FF90EF90DF90CF900C9441220E9487
-:103820002722C701B60128960FB6F894DEBF0FBE57
-:10383000CDBFDF91CF911F910F91FF90EF90DF905F
-:10384000CF900C940D22603FC9F118F4603E50F403
-:103850009BC0623F09F460C008F44AC0633F09F4AA
-:103860006FC092C0162F1F70842F8F71FF2099F0A8
-:103870000E94A621812F28960FB6F894DEBF0FBEB6
-:10388000CDBFDF91CF911F910F91FF90EF90DF900F
-:10389000CF900C94131A0E94C721812F28960FB63F
-:1038A000F894DEBF0FBECDBFDF91CF911F910F9176
-:1038B000FF90EF90DF90CF900C941A1AFF20A1F0A8
-:1038C0002111B2C0842F8F7128960FB6F894DEBFF5
-:1038D0000FBECDBFDF91CF911F910F91FF90EF9061
-:1038E000DF90CF900C94EC21223008F09DC0EACFFD
-:1038F000FF20A1F0842F8F7128960FB6F894DEBFB9
-:103900000FBECDBFDF91CF911F910F91FF90EF9030
-:10391000DF90CF900C94A621FF2061F3842F8F714C
-:1039200028960FB6F894DEBF0FBECDBFDF91CF91C2
-:103930001F910F91FF90EF90DF90CF900C94C721D3
-:10394000FF2091F0842F8F7128960FB6F894DEBF78
-:103950000FBECDBFDF91CF911F910F91FF90EF90E0
-:10396000DF90CF900C94912128960FB6F894DEBF8B
-:103970000FBECDBFDF91CF911F910F91FF90EF90C0
-:10398000DF90CF900C948721FF20A1F0222309F42F
-:10399000B1CF862F28960FB6F894DEBF0FBECDBFED
-:1039A000DF91CF911F910F91FF90EF90DF90CF901B
-:1039B0000C94FC18222309F4B1CF862F28960FB659
-:1039C000F894DEBF0FBECDBFDF91CF911F910F9155
-:1039D000FF90EF90DF90CF900C94C4194F70C80106
-:1039E0000E94560A28960FB6F894DEBF0FBECDBFD0
-:1039F000DF91CF911F910F91FF90EF90DF90CF90CB
-:103A00000C94AE204F70C80128960FB6F894DEBF14
-:103A10000FBECDBFDF91CF911F910F91FF90EF901F
-:103A2000DF90CF900C944F0E28960FB6F894DEBF1F
-:103A30000FBECDBFDF91CF911F910F91FF90EF90FF
-:103A4000DF90CF9008950E945E230E9433230E944E
-:103A50007A230E94E5280E94B72780E090E00E9428
-:103A6000CE1780E090E00C94E4170E944E230C9453
-:103A7000231D0E945C22292F22952F7030E02C30CC
-:103A800031054CF42A3031056CF4225031092230D2
-:103A9000310590F407C02C30310551F02F3031053D
-:103AA00039F00AC0803E10F0803F31F481E0089583
-:103AB00093FB882780F9089580E00895CF93DF93E2
-:103AC00000D000D01F92CDB7DEB70F900F900F90AF
-:103AD0000F900F90DF91CF910895CF93DF9300D097
-:103AE00000D000D0CDB7DEB726960FB6F894DEBF73
-:103AF0000FBECDBFDF91CF9108951F93CF93DF937A
-:103B0000C091840116E080918501C81799F0D0E03A
-:103B10001C9FF0011D9FF00D1124EA57FE4F4081BC
-:103B2000518162817381848195810E946D1D2196EE
-:103B3000C770E9CFDF91CF911F9108954091B601F1
-:103B40005091B7016091B8017091B9018091BA01AB
-:103B50009091BB010C946D1DCF938091BB01829518
-:103B60008F7009F05FC08091B801882309F45AC0B2
-:103B700020918401A09185016091B6017091B701F7
-:103B80008091B9019091BA0131E06F3F09F030E0C6
-:103B9000B32FC6E02A1709F445C0009721F07F3FF4
-:103BA00021F44B2F03C041E001C040E030E040FD74
-:103BB00035C0C29FF001C39FF00D1124EA57FE4F9C
-:103BC000418174132BC04081641328C0428141118C
-:103BD00025C0438154814817590710F441505109B9
-:103BE000481B590B483C5105C8F48091BB018F70AC
-:103BF00080618093BB0186E0829FF001839FF00D7E
-:103C00001124E557FE4F80818F708061808386EBA1
-:103C100091E00E94211ACF910C947D1D2F5F3F4FA0
-:103C20002770B8CFCF910895CF92DF92EF92FF9295
-:103C30000F931F93CF93DF93CDB7DEB762970FB685
-:103C4000F894DEBF0FBECDBF8C0185E0F801DE0128
-:103C50001D9601900D928A95E1F7D8014C9111962D
-:103C60005C91119712966C9112971396ED90FC90BF
-:103C700014977091B601E091B7012091B90130918C
-:103C8000BA012115310531F0EF3F31F481E07F3F7A
-:103C900019F403C081E001C080E0B82FB170CB2ED1
-:103CA00080FD6CC1D090B801DD2009F4F5C0F09121
-:103CB000BB01E216F30638F0C701821B930B883C68
-:103CC000910548F09BC0209530952E0D3F1D283C56
-:103CD000310508F093C08F2F807F09F052C0E513A3
-:103CE00014C0741312C0D62E61110FC0FF70F061A2
-:103CF000F093BB010E949E1D86EB91E00E94211A69
-:103D00008091BB01F80185836CC1EF2831F05F3FE2
-:103D100031F481E04F3F19F403C081E001C080E03D
-:103D200080FD03C081E0862701C080E0F82FF1709C
-:103D3000FF2E80FF1CC0809184012091850136E018
-:103D4000821709F428C190E0389FF001399FF00DE7
-:103D50001124EA57FE4F7181571306C07081471333
-:103D600003C07281671303C001968770E9CFD62E16
-:103D7000662309F436C18091BB0181608093BB0149
-:103D800053C0E51308C0741306C0611104C0D80104
-:103D90001596FC93AEC04D875E878D859E856A8B98
-:103DA0000E94391D6A89882329F1D62E662311F1D4
-:103DB0002091BB01822F82958F7090E002970CF4C6
-:103DC00060C08091B6019091B70198878F83198662
-:103DD000FB86EA862C87CE01079651C0E51731F1A4
-:103DE0004D875E878D859E856A8B0E94391D6A8905
-:103DF00081112EC0C8010E94211AA4C08F2F807F7C
-:103E000069F77E2DF98AE88A89890E945E1D86EB12
-:103E100091E00E94211AE6EBF1E086E0DF011D92BD
-:103E20008A95E9F70E949E1DD12CDBC07413D8CF70
-:103E30006111D6CFD8011596FC93C8010E94211AB2
-:103E4000E6EBF1E086E0DF011D928A95E9F7C9C053
-:103E5000D62E662379F22091BB01822F82958F7036
-:103E600090E0029774F08091B6019091B7019A8327
-:103E700089831B82FD82EC822E83CE0101960E94F3
-:103E8000211A86E0F801A6EBB1E001900D928A9527
-:103E9000E1F70E94AC1D6FC0E216F30628F0C701DF
-:103EA000821B930B9C0104C0209530952E0D3F1D65
-:103EB000283C310508F052C0D62E662309F49ACF6B
-:103EC000E5132CC074132AC08091BB0180FD1DC076
-:103ED000982F92959F70C9F0D80115968C931597DD
-:103EE0009F3039F09F5F9295907F8F70892B159648
-:103EF0008C93C8010E94211A86E0F801A6EBB1E07C
-:103F000001900D928A95E1F736C086E0F801A6EBA4
-:103F1000B1E001900D928A95E1F763C04D875E870D
-:103F20008D859E850E94391D882379F086E0F801F1
-:103F3000A6EBB1E001900D928A95E1F70E94AC1DCD
-:103F40000E949E1DDD24D3944CC08091BB018160F2
-:103F50008093BB01C8010E94211A43C07E2DF98ABB
-:103F6000E88A89890E945E1DE6EBF1E086E0DF01C8
-:103F70001D928A95E9F70E949E1D33C0662309F4BD
-:103F800039CF4D875E878D859E850E94391D882398
-:103F900009F430CFCBCF4D875E878D859E850E94FB
-:103FA0005C22292F22952F7030E0223031052CF42D
-:103FB0009F7041F0811106C00CC0243031052CF4F3
-:103FC0009F7049F4805E883020F0C8010E94211A59
-:103FD000CF2CDC2C06C0D80115969C91907F91F7D0
-:103FE000F8CF8D2D62960FB6F894DEBF0FBECDBF11
-:103FF000DF91CF911F910F91FF90EF90DF90CF90C5
-:1040000008951F93CF93DF93CDB7DEB72C970FB6EC
-:10401000F894DEBF0FBECDBF4F83588769877A877C
-:104020008B879C87CE0107960E94141E8823C1F0BF
-:104030002F8138858A859B85892B31F03F3F11F090
-:1040400080E003C02F3FE1F781E0811147C04F813D
-:10405000588569857A858B859C850E946D1D3EC03B
-:1040600086E0FE013796DE01119601900D928A9549
-:10407000E1F7FF81E8854A855B854115510531F0FF
-:10408000EF3F31F481E0FF3F19F403C081E001C04C
-:1040900080E080FD23C02091850130E0C9010196B8
-:1040A000877099276091840170E086179707F1F176
-:1040B000F983EA835D834C8396E0929FD001939FBE
-:1040C000B00D1124AA57BE4FFE01319601900D92FA
-:1040D0009A95E1F7809385010E947D1D16E08091FD
-:1040E000840190918501891779F1189FC0011124ED
-:1040F0008A579E4F0E94141E882331F1E09184015B
-:104100001E9FF0011124EA57FE4F408151816281C8
-:104110007381848195810E946D1D8091840190E05E
-:1041200001968770992780938401D9CF0E94351D0D
-:104130001092850110928401E6EBF1E086E0DF0148
-:104140001D928A95E9F7CACF2C960FB6F894DEBF78
-:104150000FBECDBFDF91CF911F910895EF92FF92D7
-:104160000F931F93CF93DF93FC01009709F46FC067
-:10417000F12CEE24E394EF0121968491843740F4EE
-:10418000843008F055C0813081F0823021F15FC069
-:10419000853709F447C0C0F19CE7980F903708F0C5
-:1041A00056C08F770E94C41945C08F010E5F1F4F04
-:1041B000FE01849190E2980F983050F48770FE2DA4
-:1041C00001C0FF0F8A95EAF78F2F0E94512315C077
-:1041D0000E94FC1814C08F010E5F1F4FFE018491D6
-:1041E00090E2980F983068F48770FE2D01C0FF0FA1
-:1041F0008A95EAF78F2F0E9457230E947A23E801BD
-:1042000019C00E94C419FBCFCF010296FE01C491D0
-:10421000CC2361F0EFE9FFE03197F1F700C0000037
-:10422000C150F6CFCF010296FE01F490EC0102C01E
-:104230000E94FC188F2D882341F0EFE9FFE03197B1
-:10424000F1F700C000008150F6CFFE0194CFDF915E
-:10425000CF911F910F91FF90EF9008950895609373
-:10426000C0017093C1018093C2019093C3010C946B
-:10427000231D0F931F930091C0011091C101209144
-:10428000C2013091C301062B172B282B392B009329
-:10429000C0011093C1012093C2013093C3011F914B
-:1042A0000F910C94231D0F931F930091C001109147
-:1042B000C1012091C2013091C30106231723282395
-:1042C00039230093C0011093C1012093C2013093A0
-:1042D000C3011F910F910C94231D0F931F93009105
-:1042E000C0011091C1012091C2013091C301062784
-:1042F0001727282739270093C0011093C101209365
-:10430000C2013093C3011F910F910C94231D109291
-:10431000BC011092BD011092BE011092BF010C941D
-:10432000231D41E050E060E070E004C0440F551FE1
-:10433000661F771F8A95D2F74093BC015093BD0149
-:104340006093BE017093BF010C94231D41E050E0C7
-:1043500060E070E004C0440F551F661F771F8A9508
-:10436000D2F78091BC019091BD01A091BE01B091A6
-:10437000BF01842B952BA62BB72B8093BC01909368
-:10438000BD01A093BE01B093BF010C94231D41E079
-:1043900050E060E070E004C0440F551F661F771FB7
-:1043A0008A95D2F740955095609570958091BC01A3
-:1043B0009091BD01A091BE01B091BF0184239523CE
-:1043C000A623B7238093BC019093BD01A093BE01A7
-:1043D000B093BF010C94231D41E050E060E070E019
-:1043E00004C0440F551F661F771F8A95D2F780912E
-:1043F000BC019091BD01A091BE01B091BF01842785
-:104400009527A627B7278093BC019093BD01A09361
-:10441000BE01B093BF010C94231D0F931F93009115
-:10442000BC011091BD012091BE013091BF01062B4E
-:10443000172B282B392B0093BC011093BD0120931F
-:10444000BE013093BF011F910F910C94231D0F9358
-:104450001F930091BC011091BD012091BE013091CC
-:10446000BF0106231723282339230093BC0110938F
-:10447000BD012093BE013093BF011F910F910C9499
-:10448000231D0F931F930091BC011091BD0120913A
-:10449000BE013091BF01062717272827392700932F
-:1044A000BC011093BD012093BE013093BF011F9149
-:1044B0000F910C94231D0895CF92DF92EF92FF92FB
-:1044C0000F931F93CF93DF93EC01C090C001D09066
-:1044D000C101E090C201F090C3018091BC019091B4
-:1044E000BD01A091BE01B091BF01C82AD92AEA2A14
-:1044F000FB2A0FE110E0B701A601002E04C076955B
-:104500006795579547950A94D2F740FF07C0BE01BB
-:10451000802F0E94720E8130910539F401501109EB
-:1045200050F7BE0180E00E94720EDF91CF911F9183
-:104530000F91FF90EF90DF90CF90089590910C0134
-:10454000992361F190910D01992341F1982F96954E
-:10455000969596959F3088F4E0910E01F0910F01A9
-:10456000E90FF11D877021E030E001C0220F8A952C
-:10457000EAF78181822B818308959091D70190FF82
-:104580002DC01F928F9381E99AE09F938F930E9491
-:104590004D0A0F900F900F900F90089540910E01CB
-:1045A00050910F0120E030E09FEFFA01E20FF31F7E
-:1045B0006281681799F09F3F19F4611101C0922F31
-:1045C0002F5F3F4F2E30310581F79F3F39F0FA01C1
-:1045D000E90FF11D97FDFA95828308950895909152
-:1045E0000C01992369F190910D01992349F1982FBC
-:1045F0009695969596959F3090F4E0910E01F091E6
-:104600000F01E90FF11D877021E030E001C0220F9A
-:104610008A95EAF720958181282321830895909136
-:10462000D70190FF1FC01F928F9383E79AE09F935B
-:104630008F930E944D0A0F900F900F900F90089546
-:1046400040910E0150910F0120E030E0FA01E20F9D
-:10465000F31F9281981301C012822F5F3F4F2E30BB
-:104660003105A1F7089581E090E0E0910E01F0910D
-:104670000F01E80FF91F1082019680319105A9F70B
-:1046800008959091D601982B9093D6010895809526
-:104690009091D60198239093D60108951092D60157
-:1046A00008959091D501982B9093D5010895809508
-:1046B0009091D50198239093D50108951092D5013A
-:1046C00008958093C40108951092C4010895409103
-:1046D0000E0150910F0120E030E080E0FA01E20F7E
-:1046E000F31F918191118F5F2F5F3F4F2F30310565
-:1046F000A9F70895E0910E01F0910F018091D60184
-:104700008083E0910E01F0910F0180819091D5019D
-:10471000892B80839091C401992361F0E0910E016F
-:10472000F0910F018081892B80830E946723811182
-:104730001092C40180910E0190910F010C947E178C
-:1047400090933B0180933A0108958295982F9C7C29
-:1047500096959695837344E0849F90011124922B43
-:10476000892F8A7A86959575990F892B08951F93BD
-:10477000CF93DF931F92CDB7DEB799830E94A52315
-:10478000182F9981892F0E94A523212F30E0322FE5
-:104790002227A901482BCA010F90DF91CF911F91C9
-:1047A00008958091F001843009F11092D80120E43D
-:1047B00088E190E00FB6F894A895809360000FBE52
-:1047C0002093600083B7817F846083BF83B781605B
-:1047D00083BF7894889583B78E7F83BF88E10FB6B7
-:1047E000F89480936000109260000FBE08950895C1
-:1047F0000895CF930E94F7230E94180C0E94F8237B
-:10480000C0E08C2F0E94430D811105C0CF5FCE30D8
-:10481000C1F780E001C081E0CF9108950C94351D6F
-:1048200082E084BD93E095BD9AEF97BD80936E00C2
-:1048300008952FB7F8948091D9019091DA01A09151
-:10484000DB01B091DC012FBF0895CF92DF92EF9290
-:10485000FF920F931F932FB7F8944091D901509175
-:10486000DA016091DB017091DC012FBF6A017B01ED
-:10487000EE24FF248C0120E030E0C016D106E206D1
-:10488000F30610F441505109481B590BCA011F91FE
-:104890000F91FF90EF90DF90CF9008951F920F92AD
-:1048A0000FB60F9211248F939F93AF93BF93809174
-:1048B000D9019091DA01A091DB01B091DC01019660
-:1048C000A11DB11D8093D9019093DA01A093DB0162
-:1048D000B093DC01BF91AF919F918F910F900FBE6C
-:1048E0000F901F9018950E947914F8942FEF87EA83
-:1048F00091E6215080409040E1F700C0000087E041
-:1049000090EBDC018093F9019093FA01A093FB01F5
-:10491000B093FC012CE088E190E00FB6F894A895E4
-:10492000809360000FBE20936000FFCFEF92FF9254
-:104930000F931F93CF93DF93E82EF12C8F2D0E94BE
-:10494000430DC0E0D0E0082F10E098010C2E02C00B
-:10495000359527950A94E2F720FD05C02196C630CB
-:10496000D10599F709C06C2F7F2D80E00E94500E71
-:10497000E812F4CF81E005C0F3948EE0F812DECFA8
-:1049800080E0DF91CF911F910F91FF90EF900895FC
-:10499000CF93C82F8CE20E949624882321F08C2F7D
-:1049A000CF910C94962480E0CF910895CF930E94EC
-:1049B0002326811102C00E94092686EB9AE00E94FC
-:1049C000B409C5E6C15049F00E94180C8FE39CE978
-:1049D0000197F1F700C00000F5CF8FEA9AE00E943E
-:1049E000B40989E20E94C824811111C18AE20E949F
-:1049F000C82481110E94092685E00E94C8248111E3
-:104A00000E9473240E942E268093D70187E00E9483
-:104A1000C824882399F18BE10E94C824882351F08F
-:104A20009091D70191FB882780F921E0822780FBB4
-:104A300091F922C08EE00E94C824882351F0909101
-:104A4000D70192FB882780F921E0822780FB92F929
-:104A500013C080E10E94C8249091D701882341F0BF
-:104A600093FB882780F921E0822780FB93F904C01B
-:104A7000892F809580FB90F99093D7018091D70181
-:104A80000E9432260E9440268093EA0180EE0E9416
-:104A9000C824882341F08091EA01982F909590FBDB
-:104AA00080F98093EA0189E30E94C824882359F0A1
-:104AB0009091EA0191FB882780F921E0822780FB11
-:104AC00091F99093EA0182EE0E94C824882359F05C
-:104AD0009091EA0192FB882780F921E0822780FBF0
-:104AE00092F99093EA0186EE0E94C824882359F037
-:104AF0009091EA0193FB882780F921E0822780FBCF
-:104B000093F99093EA0183EE0E94C824882359F018
-:104B10009091EA0194FB882780F921E0822780FBAD
-:104B200094F99093EA0185E30E94C824882359F000
-:104B30009091EA0195FB882780F921E0822780FB8C
-:104B400095F99093EA0181E30E94C824882359F0E3
-:104B50009091EA0196FB882780F921E0822780FB6B
-:104B600096F99093EA0181E10E94C824882359F0C4
-:104B70009091EA0197FB882780F921E0822780FB4A
-:104B800097F99093EA018091EA010E94442680916E
-:104B9000EA0187FB882780F980930D0187E20E9454
-:104BA000C824C82F8EE10E94C8248111C2608FE101
-:104BB0000E94C8248111C46080E20E94C82481112F
-:104BC000C86081E20E94C8248111C06182E20E9413
-:104BD000C8248111C06283E20E94C8248111C0648C
-:104BE00084E20E94C824882311F0C06802C0CC234C
-:104BF00029F08C2F0E943B266C2F03C00E94372681
-:104C0000682F70E080E090E0CF910C942F21CF913D
-:104C100008956DEE7EEF80E090E00E94FE2F60E050
-:104C200082E090E00E94F02F60E083E090E00E943C
-:104C3000F02F60E084E090E00E94F02F60E085E0DB
-:104C400090E00C94F02F80E090E00E94EA2F21E0A9
-:104C50008D3E9E4F09F020E0822F089582E090E083
-:104C60000C94E22F682F82E090E00C94F02F83E008
-:104C700090E00C94E22F682F83E090E00C94F02FEA
-:104C800084E090E00C94E22F682F84E090E00C9494
-:104C9000F02F8091DF0180FF0BC06091130185E050
-:104CA000689FB001112475956795759567952AC021
-:104CB00081FF09C06091130185E0689FB001112454
-:104CC000759567951FC082FF07C06091130185E04D
-:104CD000689FB001112416C04091E0014423C9F03F
-:104CE00060911201461788F72091130185E0289FF3
-:104CF00090011124429FC001439F900D112470E048
-:104D00000E94B42F6038710540F46115710539F0C7
-:104D100002C065E070E0862F08958FE7089581E076
-:104D200008958091DF0180FF08C06091110170E05B
-:104D3000759567957595679521C081FF06C060914F
-:104D4000110170E07595679519C082FF04C06091EC
-:104D5000110170E010C08091E0018823C1F06091E2
-:104D600010018617A0F790911101989FC00111249E
-:104D700070E00E94B42F6038710528F46115710548
-:104D800021F0862F08958FE7089581E0089561E06E
-:104D900070E0F4CF803F21F40E944926819504C041
-:104DA000813F29F40E9449268093E3010895823FC0
-:104DB00021F40E944926819504C0833F29F40E9472
-:104DC00049268093E2010895893F19F40E949126B3
-:104DD00005C08A3F31F40E94912681958093E401B9
-:104DE00008958B3F21F40E949126819504C08C3F49
-:104DF00029F40E9491268093E5010895843F21F4CF
-:104E00008091E101816017C0853F21F48091E1012B
-:104E1000826011C0863F21F48091E10184600BC063
-:104E2000873F21F48091E101886005C0883F31F41B
-:104E30008091E10180618093E10108958D3F21F42B
-:104E40008091DF0181600BC08E3F21F48091DF01F2
-:104E5000826005C08F3F29F48091DF0184608093D8
-:104E6000DF010895803F39F48091E30187FF6CC032
-:104E70001092E30169C0813F29F48091E301181683
-:104E8000BCF362C09091E201823F29F497FF5CC0BD
-:104E90001092E20159C0833F19F41916CCF354C0A3
-:104EA000893F41F48091E40118160CF04DC0109236
-:104EB000E4014AC08A3F29F48091E40187FF44C09D
-:104EC000F6CF8B3F39F48091E50187FF3DC010920A
-:104ED000E5013AC08C3F29F48091E5011816BCF336
-:104EE00033C0843F21F48091E1018E7F17C0853F5C
-:104EF00021F48091E1018D7F11C0863F21F48091E2
-:104F0000E1018B7F0BC0873F21F48091E101877F16
-:104F100005C0883F31F48091E1018F7E8093E101EB
-:104F200013C08D3F21F48091DF018E7F0BC08E3F37
-:104F300021F48091DF018D7F05C08F3F29F480919E
-:104F4000DF018B7F8093DF018091E20181110EC030
-:104F50008091E30181110AC08091E401811106C0B2
-:104F60008091E501811102C01092E00108958091C5
-:104F7000D70183FF7EC082EF9AE00E94B40980913E
-:104F8000E1011F928F938DEE9AE09F938F930E9481
-:104F90004D0A8BEE9AE00E94B4092091E201822F23
-:104FA000992787FD90959F932F9388EE9AE09F9382
-:104FB0008F930E944D0A86EE9AE00E94B4092091D8
-:104FC000E301822F992787FD90959F932F9383EE7E
-:104FD0009AE09F938F930E944D0A81EE9AE00E947F
-:104FE000B4092091E401822F992787FD90959F9322
-:104FF0002F938EED9AE09F938F930E944D0A8CED34
-:105000009AE00E94B4092091E501822F992787FD3B
-:1050100090959F932F9389ED9AE09F938F930E9491
-:105020004D0A86ED9AE00E94B4098091E0011F923A
-:105030008F9383ED9AE09F938F930E944D0A81EDA9
-:105040009AE00E94B4098091DF011F928F938EEC49
-:105050009AE09F938F930E944D0A8BEC9AE00E94F6
-:10506000B4098DB79EB74C960FB6F8949EBF0FBE8D
-:105070008DBF81EE91E00E94C3170E941924909386
-:10508000DE018093DD0108951F93CF93DF9380911C
-:10509000DD019091DE010E9425244091E00144232E
-:1050A00021F02091140130E006C0209115015AE052
-:1050B000259F900111248217930708F482C08091E4
-:1050C000E2011091E301D091E401C091E501811169
-:1050D00007C0111105C0D11103C0CC2309F471C060
-:1050E0004F3F19F04F5F4093E001181624F40E94DF
-:1050F00049268093E2018091E20187FF05C00E946A
-:10510000492681958093E201111624F40E944926D4
-:105110008093E3018091E30187FF05C00E94492647
-:1051200081958093E3016091E201662339F110914A
-:10513000E301112319F1772767FD7095872F972FCA
-:105140000E94B92E23E333E343E35FE30E941D2F64
-:105150000E94862E6093E201612F772767FD70958C
-:10516000872F972F0E94B92E23E333E343E35FE3B6
-:105170000E941D2F0E94862E6093E3011D1624F4C9
-:105180000E9491268093E4018091E40187FF05C08D
-:105190000E94912681958093E4011C1624F40E94BC
-:1051A00091268093E5018091E50187FF05C00E946B
-:1051B000912681958093E501DF91CF911F910C9409
-:1051C000B727DF91CF911F910895E1EEF1E085E0DF
-:1051D000DF011D928A95E9F71092E0011092DF013C
-:1051E000089585E19DE00E94B4091F9281E08F93AC
-:1051F0001F9285E08F9387EC9CE09F938F930E9492
-:105200004D0A0F900F900F900F900F900F900895F0
-:105210008330E9F128F4813061F0823009F108959A
-:10522000853009F462C008F449C0863009F474C0BE
-:10523000089520911501862F90E0820F911D8F3FD8
-:10524000910520F4620F6093150103C08FEF8093E6
-:105250001501809115011F928F9380E09CE072C030
-:1052600020911401862F90E0820F911D8F3F9105B0
-:1052700020F4620F6093140103C08FEF8093140138
-:10528000809114011F928F938EEE9BE05BC0209162
-:105290001301862F90E0820F911D8F3F910520F41E
-:1052A000620F6093130103C08FEF8093130180910D
-:1052B00013011F928F938BED9BE044C0209112014C
-:1052C000862F90E0820F911D8F3F910520F4620F91
-:1052D0006093120103C08FEF80931201809112013D
-:1052E0001F928F9386EC9BE02DC020911101862F99
-:1052F00090E0820F911D8F3F910520F4620F609323
-:10530000110103C08FEF80931101809111011F9251
-:105310008F938DEA9BE016C020911001862F90E0BC
-:10532000820F911D8F3F910520F4620F6093100151
-:1053300003C08FEF80931001809110011F928F9313
-:1053400082E99BE09F938F930E944D0A0F900F90EC
-:105350000F900F900895833081F128F4813059F037
-:105360008230D1F00895853009F449C0B8F1863013
-:1053700009F456C0089580911501681720F4861B22
-:105380008093150102C010921501809115011F92A2
-:105390008F9383E89BE054C080911401681720F438
-:1053A000861B8093140102C0109214018091140195
-:1053B0001F928F9381E79BE043C080911301681790
-:1053C00020F4861B8093130102C010921301809178
-:1053D00013011F928F938EE59BE032C080911201E2
-:1053E000681720F4861B8093120102C010921201EC
-:1053F000809112011F928F9389E49BE021C08091DC
-:105400001101681720F4861B8093110102C01092CD
-:105410001101809111011F928F9380E39BE010C0D6
-:1054200080911001681720F4861B8093100102C040
-:1054300010921001809110011F928F9385E19BE0E3
-:105440009F938F930E944D0A0F900F900F900F9093
-:105450000895CF93C82F1F928F932AE13EE03F9388
-:105460002F930E944D0A61E070E080E090E004C05C
-:10547000660F771F881F991FCA95D2F70E942F21A8
-:105480000F900F900F900F90CF910C94351DCF93EC
-:105490008D3109F465C0B0F58E3009F4CBC100F54B
-:1054A000873009F49BC1A8F4863009F06AC2809164
-:1054B000D701817F8E7F8093D7018FE19EE00E948C
-:1054C000B40984E692E10E94B40981E08093E70187
-:1054D00080C1883009F44FC08B3009F47CC151C2BF
-:1054E000863109F4EDC138F4803109F4B6C1813157
-:1054F00009F42DC246C2893109F4CBC18B3109F4BC
-:1055000086C13FC2853309F434C248F4873209F4B6
-:1055100030C208F430C2893209F42BC232C283345B
-:1055200038F48A3308F029C2883309F454C129C2F7
-:10553000833409F41EC2883409F023C20E94351D49
-:1055400083E592E10E94B4099FEF23ED80E391503F
-:1055500020408040E1F700C000000E94732439C160
-:1055600083E792E10E94B4090E94402E0E947217C4
-:105570000E94B00F2EC188E692E10E94B40980E338
-:1055800090E10E94B4090E9437261F928F938DE20A
-:1055900090E19F938F930E944D0A8BE290E10E94CD
-:1055A000B4090E942E26C82F88E190E10E94B40918
-:1055B0001F92CF9323E130E13F932F930E944D0A36
-:1055C00081E190E10E94B40987E090E10E94B40972
-:1055D0008C2F81701F928F9324E030E13F932F93A3
-:1055E0000E944D0A82E090E10E94B40988EF9FE09A
-:1055F0000E94B409C1FB882780F91F928F9325EF81
-:105600003FE03F932F930E944D0A83EF9FE00E945B
-:10561000B40987EE9FE00E94B409C2FB882780F995
-:105620001F928F9324EE3FE03F932F930E944D0AE9
-:1056300082EE9FE00E94B40989ED9FE00E94B409C8
-:10564000C3FBCC27C0F91F92CF9386ED9FE09F93B9
-:105650008F930E944D0A84ED9FE00E94B4090E943E
-:105660004026C82F80EC9FE00E94B4091F92CF9380
-:105670002BEB3FE03F932F930E944D0A89EB9FE075
-:105680000E94B40980EA9FE00E94B4098C2F8170C7
-:105690001F928F932DE93FE03F932F930E944D0A75
-:1056A0008DB79EB780960FB6F8949EBF0FBE8DBF84
-:1056B0008BE99FE00E94B40984E89FE00E94B4094E
-:1056C000C1FB882780F91F928F9321E83FE03F9329
-:1056D0002F930E944D0A8FE79FE00E94B4098DE648
-:1056E0009FE00E94B409C2FB882780F91F928F9324
-:1056F0002AE63FE03F932F930E944D0A88E69FE001
-:105700000E94B40986E59FE00E94B409C3FB882784
-:1057100080F91F928F9323E53FE03F932F930E94E0
-:105720004D0A81E59FE00E94B40987E49FE00E9452
-:10573000B409C4FB882780F91F928F9324E43FE0CB
-:105740003F932F930E944D0A82E49FE00E94B40988
-:1057500080E39FE00E94B409C5FB882780F91F926F
-:105760008F932DE23FE03F932F930E944D0A8BE2EF
-:105770009FE00E94B4098FE09FE00E94B409C6FB3D
-:10578000882780F91F928F932CE03FE03F932F935F
-:105790000E944D0A8AE09FE00E94B40982E09FE0E7
-:1057A0000E94B409C7FBCC27C0F91F92CF938FEF9B
-:1057B0009EE09F938F930E944D0A8DEF9EE00E9482
-:1057C000B4098DB79EB74C960FB6F8949EBF0FBE26
-:1057D0008DBFC1E0DBC086E49EE058C08091D70158
-:1057E000C82FC17080FF09C086E492E10E94B4090D
-:1057F0008091D701817F8E7F44C08AE392E10E942D
-:10580000B4098091D70181608093D701E2CF809164
-:10581000D70181FBCC27C0F991E0C927C0FB81F9F2
-:105820008093D701CC2319F08DE292E125C08FE15E
-:1058300092E12CC08091D70182FBCC27C0F991E086
-:10584000C927C0FB82F98093D701CC2319F080E1EE
-:1058500092E112C080E092E119C08091D70183FBF0
-:10586000CC27C0F991E0C927C0FB83F98093D70109
-:10587000CC2351F084EF91E10E94B4098091D701CB
-:1058800081608093D70182C087EE91E10E94B409C4
-:10589000A0CF88ED91E10E94B4098CEA91E10E94C9
-:1058A000B4098FE691E10E94B40982E491E10E947B
-:1058B000B4098EEF90E10E94B40980ED90E1E6CF4B
-:1058C00082EC90E10E94B4090E9472171F928F939C
-:1058D00088EA90E19F938F930E944D0A80910C017A
-:1058E0001F928F9381E990E19F938F930E944D0ABD
-:1058F00080916E011F928F938EE790E19F938F931B
-:105900000E944D0A80910D011F928F938BE690E1CA
-:105910009F938F930E944D0A8091D9019091DA0153
-:10592000A091DB01B091DC01BF93AF939F938F9364
-:1059300087E590E19F938F930E944D0A8DB79EB7A4
-:1059400046960FB6F8949EBF0FBE8DBF42CF0E9401
-:10595000351DC0910D0181E0C827C0930D01CC23F6
-:1059600029F08DE490E10E94B40910C082E490E136
-:105970008DCF80E003C08D5101C089530E94292A38
-:1059800028CF80E490E10E94B409C0E08C2FCF9131
-:10599000089580E0089580E00895CF93C82F809106
-:1059A000E701813081F020F0823009F44CC042C11F
-:1059B000A0910E01B0910F018C91813169F082327A
-:1059C00009F03AC109C0A0910E01B0910F018C916C
-:1059D000813111F0823249F48C2F0E94C92C81113F
-:1059E0002FC08C2F0E94472A2CC08C2F0E94CB2CBA
-:1059F000811126C0C431E1F070F4CB3081F0C031A8
-:105A0000D1F40E94F12882E19EE00E94B40982E074
-:105A10008093E70115C0C93259F0C83361F48FE1B2
-:105A20009EE00E94B40986E19EE00E94B40908C08D
-:105A30001092E70103C180E19EE00E94B409FEC01C
-:105A400081E08170FDC0C43220F5CE3108F0C0C0C5
-:105A5000CB3099F1C8F4C73009F0D2C08AE0809306
-:105A6000150194E19093140193E0909313018093B6
-:105A7000120188E08093110188E28093100186EB87
-:105A80009CE00E94B409BFC0C33149F1C431C1F0E8
-:105A9000B7C0CB3409F4A9C028F4C93289F0C8339F
-:105AA00061F0AEC0C13509F49EC0C23509F499C099
-:105AB000CE3409F0A5C06AE09EC00E94F128A3C0C0
-:105AC0008091E601882319F01092E6019CC083ECD6
-:105AD0009CE00E94B40981E08093E701B1C08DE9A8
-:105AE0009CE00E94B4098BE89CE00E94B40980917C
-:105AF00015011F928F9388E89CE09F938F930E94DB
-:105B00004D0A86E89CE00E94B40984E79CE00E946C
-:105B1000B409809114011F928F9381E79CE09F93B9
-:105B20008F930E944D0A8FE69CE00E94B40980E6A4
-:105B30009CE00E94B409809113011F928F938DE520
-:105B40009CE09F938F930E944D0A8BE59CE00E94FE
-:105B5000B4098AE49CE00E94B409809112011F926A
-:105B60008F9387E49CE09F938F930E944D0A85E476
-:105B70009CE00E94B40980E39CE00E94B4098091FB
-:105B800011011F928F938DE29CE09F938F930E944F
-:105B90004D0A8BE29CE00E94B40984E19CE00E94E3
-:105BA000B409809110011F928F9381E19CE09F9333
-:105BB0008F930E944D0A8FE09CE00E94B4098DB73C
-:105BC0009EB748960FB6F8949EBF0FBE8DBF1BC000
-:105BD000CE51EC2FF0E0E15DFE4F80818093E60135
-:105BE00012C061E003C061E006C06AE08091E60196
-:105BF0000E94082908C08091E6010E94AB2903C0D9
-:105C000084EB9CE013C08091E601882369F01F9229
-:105C10008F938EEA9CE09F938F930E944D0A0F9082
-:105C20000F900F900F9004C08BEA9CE00E94B40983
-:105C300081E006C01092E70180E002C080E001CF61
-:105C4000CF910895E1E8F0E08081886080838081D1
-:105C5000816080838FB7F89493E09093890090EDF2
-:105C6000909388008FBF0895EFE6F0E08081826016
-:105C700080830895EFE6F0E080818D7F8083089532
-:105C8000EFE6F0E0808192E08927808308951F92FB
-:105C90000F920FB60F9211242F933F934F935F9360
-:105CA0006F937F938F939F93AF93BF93EF93FF93E4
-:105CB0008091E8019091E90101969093E901809328
-:105CC000E801811103C082E00E94B00FE091E90178
-:105CD000E695E695F0E0ED57FD4EE4918091E80100
-:105CE0008E1303C080E00E94B00FFF91EF91BF912F
-:105CF000AF919F918F917F916F915F914F913F9164
-:105D00002F910F900FBE0F901F90189504D068949C
-:105D1000B1118DC0089570D088F09F5790F0B92FC1
-:105D20009927B751A0F0D1F0660F771F881F991FF0
-:105D30001AF0BA95C9F712C0B13081F077D0B1E04E
-:105D4000089574C0672F782F8827B85F39F0B93F5E
-:105D5000CCF3869577956795B395D9F73EF49095F2
-:105D60008095709561957F4F8F4F9F4F0895E89470
-:105D700009C097FB3EF490958095709561957F4F93
-:105D80008F4F9F4F9923A9F0F92F96E9BB27939541
-:105D9000F695879577956795B795F111F8CFFAF451
-:105DA000BB0F11F460FF1BC06F5F7F4F8F4F9F4F82
-:105DB00016C0882311F096E911C0772321F09EE8E0
-:105DC000872F762F05C0662371F096E8862F70E046
-:105DD00060E02AF09A95660F771F881FDAF7880F20
-:105DE0009695879597F9089557FD9058440F551F3C
-:105DF00059F05F3F71F04795880F97FB991F61F04D
-:105E00009F3F79F087950895121613061406551FC3
-:105E1000F2CF4695F1DF08C0161617061806991F2F
-:105E2000F1CF86957105610508940895E894BB2724
-:105E300066277727CB0197F908950BD078C069D0F2
-:105E400028F06ED018F0952309F05AC05FC01124D5
-:105E5000EECFCADFA0F3959FD1F3950F50E0551F09
-:105E6000629FF001729FBB27F00DB11D639FAA27AF
-:105E7000F00DB11DAA1F649F6627B00DA11D661FFE
-:105E8000829F2227B00DA11D621F739FB00DA11D1F
-:105E9000621F839FA00D611D221F749F3327A00DD9
-:105EA000611D231F849F600D211D822F762F6A2F75
-:105EB00011249F5750408AF0E1F088234AF0EE0FFA
-:105EC000FF1FBB1F661F771F881F91505040A9F707
-:105ED0009E3F510570F014C0AACF5F3FECF3983E8F
-:105EE000DCF3869577956795B795F795E7959F5F6E
-:105EF000C1F7FE2B880F911D9695879597F9089508
-:105F000097F99F6780E870E060E008959FEF80EC6C
-:105F1000089500240A94161617061806090608950F
-:105F200000240A9412161306140605060895092E75
-:105F30000394000C11F4882352F0BB0F40F4BF2BE4
-:105F400011F460FF04C06F5F7F4F8F4F9F4F089524
-:105F5000991B79E004C0991F961708F0961B881FBB
-:105F60007A95C9F78095089597FB072E16F400944B
-:105F700007D077FD09D00E94CE2F07FC05D03EF454
-:105F8000909581959F4F0895709561957F4F0895E5
-:105F9000EE0FFF1F0590F491E02D0994AA1BBB1B87
-:105FA00051E107C0AA1FBB1FA617B70710F0A61B19
-:105FB000B70B881F991F5A95A9F780959095BC013A
-:105FC000CD010895F999FECF92BD81BDF89A992728
-:105FD00080B50895A8E1B0E042E050E00C940530AF
-:105FE000262FF999FECF1FBA92BD81BD20BD0FB6F5
-:105FF000F894FA9AF99A0FBE019608950E94F02F2C
-:10600000272F0C94F12FDC01CB01FC01F999FECF75
-:1060100006C0F2BDE1BDF89A319600B40D92415030
-:0A6020005040B8F70895F894FFCF40
-:10602A002002B10FA2107F104B1018100101C501F8
-:10603A0028080A03140A3F4D362039000AB3097D9D
-:10604A00095D0924099708B008C908E2080209018C
-:0A605A000203040506070809000010
+:1035F000DF90CF900C948727842F837009F076C0DA
+:10360000F110E2C1262F229526952770220F220F56
+:10361000862F8F70C82ED12CE12CF12C022E04C0E5
+:10362000CC0CDD1CEE1CFF1C0A94D2F764FF10C00A
+:103630006FE070E080E090E004C0660F771F881FA5
+:10364000991F2A95D2F7609570958095909503C043
+:1036500060E070E0CB01242F269526952370422F41
+:1036600050E042305105D1F04330510559F16C29F9
+:103670007D298E299F294130510541F128960FB6A9
+:10368000F894DEBF0FBECDBFDF91CF911F910F9198
+:10369000FF90EF90DF90CF900C9423216C297D292F
+:1036A0008E299F2928960FB6F894DEBF0FBECDBF96
+:1036B000DF91CF911F910F91FF90EF90DF90CF900E
+:1036C0000C943D210E942321C701B60128960FB614
+:1036D000F894DEBF0FBECDBFDF91CF911F910F9148
+:1036E000FF90EF90DF90CF900C940921FF2019F00C
+:1036F000842F817001C08695882309F465C1262F27
+:10370000229526952770220F220F862F8F70C82EA4
+:10371000D12CE12CF12C022E04C0CC0CDD1CEE1CB3
+:10372000FF1C0A94D2F764FF10C06FE070E080E0E5
+:1037300090E004C0660F771F881F991F2A95D2F763
+:10374000609570958095909503C060E070E0CB0126
+:10375000242F269526952370422F50E042305105A4
+:10376000D1F04330510559F16C297D298E299F29CB
+:103770004130510541F128960FB6F894DEBF0FBED7
+:10378000CDBFDF91CF911F910F91FF90EF90DF9010
+:10379000CF900C94F7216C297D298E299F2928969A
+:1037A0000FB6F894DEBF0FBECDBFDF91CF911F9152
+:1037B0000F91FF90EF90DF90CF900C9411220E9418
+:1037C000F721C701B60128960FB6F894DEBF0FBEE9
+:1037D000CDBFDF91CF911F910F91FF90EF90DF90C0
+:1037E000CF900C94DD21603FC9F118F4603E50F495
+:1037F0009BC0623F09F460C008F44AC0633F09F40B
+:103800006FC092C0162F1F70842F8F71FF2099F008
+:103810000E947621812F28960FB6F894DEBF0FBE46
+:10382000CDBFDF91CF911F910F91FF90EF90DF906F
+:10383000CF900C94E3190E949721812F28960FB600
+:10384000F894DEBF0FBECDBFDF91CF911F910F91D6
+:10385000FF90EF90DF90CF900C94EA19FF20A1F039
+:103860002111B2C0842F8F7128960FB6F894DEBF55
+:103870000FBECDBFDF91CF911F910F91FF90EF90C1
+:10388000DF90CF900C94BC21223008F09DC0EACF8D
+:10389000FF20A1F0842F8F7128960FB6F894DEBF19
+:1038A0000FBECDBFDF91CF911F910F91FF90EF9091
+:1038B000DF90CF900C947621FF2061F3842F8F71DD
+:1038C00028960FB6F894DEBF0FBECDBFDF91CF9123
+:1038D0001F910F91FF90EF90DF90CF900C94972164
+:1038E000FF2091F0842F8F7128960FB6F894DEBFD9
+:1038F0000FBECDBFDF91CF911F910F91FF90EF9041
+:10390000DF90CF900C94612128960FB6F894DEBF1B
+:103910000FBECDBFDF91CF911F910F91FF90EF9020
+:10392000DF90CF900C945721FF20A1F0222309F4BF
+:10393000B1CF862F28960FB6F894DEBF0FBECDBF4D
+:10394000DF91CF911F910F91FF90EF90DF90CF907B
+:103950000C94CC18222309F4B1CF862F28960FB6E9
+:10396000F894DEBF0FBECDBFDF91CF911F910F91B5
+:10397000FF90EF90DF90CF900C9494194F70C80196
+:103980000E94480A28960FB6F894DEBF0FBECDBF3E
+:10399000DF91CF911F910F91FF90EF90DF90CF902B
+:1039A0000C947E204F70C80128960FB6F894DEBFA5
+:1039B0000FBECDBFDF91CF911F910F91FF90EF9080
+:1039C000DF90CF900C941F0E28960FB6F894DEBFB0
+:1039D0000FBECDBFDF91CF911F910F91FF90EF9060
+:1039E000DF90CF9008950E942E230E9403230E940F
+:1039F0004A230E94B5280E94872780E090E00E9419
+:103A00009E1780E090E00C94B4170E941E230C9443
+:103A1000F31C0E942C22292F22952F7030E02C308D
+:103A200031054CF42A3031056CF422503109223032
+:103A3000310590F407C02C30310551F02F3031059D
+:103A400039F00AC0803E10F0803F31F481E00895E3
+:103A500093FB882780F9089580E00895CF93DF9342
+:103A600000D000D01F92CDB7DEB70F900F900F900F
+:103A70000F900F90DF91CF910895CF93DF9300D0F7
+:103A800000D000D0CDB7DEB726960FB6F894DEBFD3
+:103A90000FBECDBFDF91CF9108951F93CF93DF93DA
+:103AA000C091840116E080918501C81799F0D0E09B
+:103AB0001C9FF0011D9FF00D1124EA57FE4F40811D
+:103AC000518162817381848195810E943D1D21967F
+:103AD000C770E9CFDF91CF911F9108954091B60152
+:103AE0005091B7016091B8017091B9018091BA010C
+:103AF0009091BB010C943D1DCF938091BB018295A9
+:103B00008F7009F05FC08091B801882309F45AC012
+:103B100020918401A09185016091B6017091B70157
+:103B20008091B9019091BA0131E06F3F09F030E026
+:103B3000B32FC6E02A1709F445C0009721F07F3F54
+:103B400021F44B2F03C041E001C040E030E040FDD4
+:103B500035C0C29FF001C39FF00D1124EA57FE4FFC
+:103B6000418174132BC04081641328C042814111EC
+:103B700025C0438154814817590710F44150510919
+:103B8000481B590B483C5105C8F48091BB018F700C
+:103B900080618093BB0186E0829FF001839FF00DDE
+:103BA0001124E557FE4F80818F708061808386EB02
+:103BB00091E00E94F119CF910C944D1D2F5F3F4F62
+:103BC0002770B8CFCF910895CF92DF92EF92FF92F6
+:103BD0000F931F93CF93DF93CDB7DEB762970FB6E6
+:103BE000F894DEBF0FBECDBF8C0185E0F801DE0189
+:103BF0001D9601900D928A95E1F7D8014C9111968E
+:103C00005C91119712966C9112971396ED90FC901F
+:103C100014977091B601E091B7012091B9013091EC
+:103C2000BA012115310531F0EF3F31F481E07F3FDA
+:103C300019F403C081E001C080E0B82FB170CB2E31
+:103C400080FD6CC1D090B801DD2009F4F5C0F09181
+:103C5000BB01E216F30638F0C701821B930B883CC8
+:103C6000910548F09BC0209530952E0D3F1D283CB6
+:103C7000310508F093C08F2F807F09F052C0E51303
+:103C800014C0741312C0D62E61110FC0FF70F06102
+:103C9000F093BB010E946E1D86EB91E00E94F1192A
+:103CA0008091BB01F80185836CC1EF2831F05F3F43
+:103CB00031F481E04F3F19F403C081E001C080E09E
+:103CC00080FD03C081E0862701C080E0F82FF170FD
+:103CD000FF2E80FF1CC0809184012091850136E079
+:103CE000821709F428C190E0389FF001399FF00D48
+:103CF0001124EA57FE4F7181571306C07081471394
+:103D000003C07281671303C001968770E9CFD62E76
+:103D1000662309F436C18091BB0181608093BB01A9
+:103D200053C0E51308C0741306C0611104C0D80164
+:103D30001596FC93AEC04D875E878D859E856A8BF8
+:103D40000E94091D6A89882329F1D62E662311F164
+:103D50002091BB01822F82958F7090E002970CF426
+:103D600060C08091B6019091B70198878F831986C2
+:103D7000FB86EA862C87CE01079651C0E51731F104
+:103D80004D875E878D859E856A8B0E94091D6A8995
+:103D900081112EC0C8010E94F119A4C08F2F807F0D
+:103DA00069F77E2DF98AE88A89890E942E1D86EBA3
+:103DB00091E00E94F119E6EBF1E086E0DF011D924F
+:103DC0008A95E9F70E946E1DD12CDBC07413D8CF01
+:103DD0006111D6CFD8011596FC93C8010E94F11944
+:103DE000E6EBF1E086E0DF011D928A95E9F7C9C0B4
+:103DF000D62E662379F22091BB01822F82958F7097
+:103E000090E0029774F08091B6019091B7019A8387
+:103E100089831B82FD82EC822E83CE0101960E9453
+:103E2000F11986E0F801A6EBB1E001900D928A95B8
+:103E3000E1F70E947C1D6FC0E216F30628F0C7016F
+:103E4000821B930B9C0104C0209530952E0D3F1DC5
+:103E5000283C310508F052C0D62E662309F49ACFCB
+:103E6000E5132CC074132AC08091BB0180FD1DC0D6
+:103E7000982F92959F70C9F0D80115968C9315973D
+:103E80009F3039F09F5F9295907F8F70892B1596A8
+:103E90008C93C8010E94F11986E0F801A6EBB1E00D
+:103EA00001900D928A95E1F736C086E0F801A6EB05
+:103EB000B1E001900D928A95E1F763C04D875E876E
+:103EC0008D859E850E94091D882379F086E0F80182
+:103ED000A6EBB1E001900D928A95E1F70E947C1D5E
+:103EE0000E946E1DDD24D3944CC08091BB01816083
+:103EF0008093BB01C8010E94F11943C07E2DF98A4D
+:103F0000E88A89890E942E1DE6EBF1E086E0DF0158
+:103F10001D928A95E9F70E946E1D33C0662309F44D
+:103F200039CF4D875E878D859E850E94091D882328
+:103F300009F430CFCBCF4D875E878D859E850E945B
+:103F40002C22292F22952F7030E0223031052CF4BD
+:103F50009F7041F0811106C00CC0243031052CF453
+:103F60009F7049F4805E883020F0C8010E94F119EA
+:103F7000CF2CDC2C06C0D80115969C91907F91F730
+:103F8000F8CF8D2D62960FB6F894DEBF0FBECDBF71
+:103F9000DF91CF911F910F91FF90EF90DF90CF9025
+:103FA00008951F93CF93DF93CDB7DEB72C970FB64D
+:103FB000F894DEBF0FBECDBF4F83588769877A87DD
+:103FC0008B879C87CE0107960E94E41D8823C1F051
+:103FD0002F8138858A859B85892B31F03F3F11F0F1
+:103FE00080E003C02F3FE1F781E0811147C04F819E
+:103FF000588569857A858B859C850E943D1D3EC0CC
+:1040000086E0FE013796DE01119601900D928A95A9
+:10401000E1F7FF81E8854A855B854115510531F05F
+:10402000EF3F31F481E0FF3F19F403C081E001C0AC
+:1040300080E080FD23C02091850130E0C901019618
+:10404000877099276091840170E086179707F1F1D6
+:10405000F983EA835D834C8396E0929FD001939F1E
+:10406000B00D1124AA57BE4FFE01319601900D925A
+:104070009A95E1F7809385010E944D1D16E080918D
+:10408000840190918501891779F1189FC00111244D
+:104090008A579E4F0E94E41D882331F1E0918401EC
+:1040A0001E9FF0011124EA57FE4F40815181628129
+:1040B0007381848195810E943D1D8091840190E0EF
+:1040C00001968770992780938401D9CF0E94051D9E
+:1040D0001092850110928401E6EBF1E086E0DF01A9
+:1040E0001D928A95E9F7CACF2C960FB6F894DEBFD9
+:1040F0000FBECDBFDF91CF911F910895EF92FF9238
+:104100000F931F93CF93DF93FC01009709F46FC0C7
+:10411000F12CEE24E394EF0121968491843740F44E
+:10412000843008F055C0813081F0823021F15FC0C9
+:10413000853709F447C0C0F19CE7980F903708F025
+:1041400056C08F770E94941945C08F010E5F1F4F94
+:10415000FE01849190E2980F983050F48770FE2D04
+:1041600001C0FF0F8A95EAF78F2F0E94212315C007
+:104170000E94CC1814C08F010E5F1F4FFE01849166
+:1041800090E2980F983068F48770FE2D01C0FF0F01
+:104190008A95EAF78F2F0E9427230E944A23E8017D
+:1041A00019C00E949419FBCFCF010296FE01C49161
+:1041B000CC2361F0EFE9FFE03197F1F700C0000098
+:1041C000C150F6CFCF010296FE01F490EC0102C07F
+:1041D0000E94CC188F2D882341F0EFE9FFE0319742
+:1041E000F1F700C000008150F6CFFE0194CFDF91BF
+:1041F000CF911F910F91FF90EF90089508956093D4
+:10420000C0017093C1018093C2019093C3010C94CB
+:10421000F31C0F931F930091C0011091C1012091D5
+:10422000C2013091C301062B172B282B392B009389
+:10423000C0011093C1012093C2013093C3011F91AB
+:104240000F910C94F31C0F931F930091C0011091D8
+:10425000C1012091C2013091C301062317232823F5
+:1042600039230093C0011093C1012093C201309300
+:10427000C3011F910F910C94F31C0F931F93009196
+:10428000C0011091C1012091C2013091C3010627E4
+:104290001727282739270093C0011093C1012093C5
+:1042A000C2013093C3011F910F910C94F31C109223
+:1042B000BC011092BD011092BE011092BF010C947E
+:1042C000F31C41E050E060E070E004C0440F551F73
+:1042D000661F771F8A95D2F74093BC015093BD01AA
+:1042E0006093BE017093BF010C94F31C41E050E059
+:1042F00060E070E004C0440F551F661F771F8A9569
+:10430000D2F78091BC019091BD01A091BE01B09106
+:10431000BF01842B952BA62BB72B8093BC019093C8
+:10432000BD01A093BE01B093BF010C94F31C41E00A
+:1043300050E060E070E004C0440F551F661F771F17
+:104340008A95D2F740955095609570958091BC0103
+:104350009091BD01A091BE01B091BF01842395232E
+:10436000A623B7238093BC019093BD01A093BE0107
+:10437000B093BF010C94F31C41E050E060E070E0AA
+:1043800004C0440F551F661F771F8A95D2F780918E
+:10439000BC019091BD01A091BE01B091BF018427E5
+:1043A0009527A627B7278093BC019093BD01A093C2
+:1043B000BE01B093BF010C94F31C0F931F930091A7
+:1043C000BC011091BD012091BE013091BF01062BAF
+:1043D000172B282B392B0093BC011093BD01209380
+:1043E000BE013093BF011F910F910C94F31C0F93EA
+:1043F0001F930091BC011091BD012091BE0130912D
+:10440000BF0106231723282339230093BC011093EF
+:10441000BD012093BE013093BF011F910F910C94F9
+:10442000F31C0F931F930091BC011091BD012091CB
+:10443000BE013091BF01062717272827392700938F
+:10444000BC011093BD012093BE013093BF011F91A9
+:104450000F910C94F31C0895CF92DF92EF92FF928C
+:104460000F931F93CF93DF93EC01C090C001D090C6
+:10447000C101E090C201F090C3018091BC01909114
+:10448000BD01A091BE01B091BF01C82AD92AEA2A74
+:10449000FB2A0FE110E0B701A601002E04C07695BB
+:1044A0006795579547950A94D2F740FF07C0BE011C
+:1044B000802F0E94420E8130910539F4015011097C
+:1044C00050F7BE0180E00E94420EDF91CF911F9114
+:1044D0000F91FF90EF90DF90CF90089590910C0195
+:1044E000992361F190910D01992341F1982F9695AF
+:1044F000969596959F3088F4E0910E01F0910F010A
+:10450000E90FF11D877021E030E001C0220F8A958C
+:10451000EAF78181822B818308959091D70190FFE2
+:104520002DC01F928F9386E79AE09F938F930E94EE
+:104530003F0A0F900F900F900F90089540910E0139
+:1045400050910F0120E030E09FEFFA01E20FF31FDE
+:104550006281681799F09F3F19F4611101C0922F91
+:104560002F5F3F4F2E30310581F79F3F39F0FA0121
+:10457000E90FF11D97FDFA958283089508959091B2
+:104580000C01992369F190910D01992349F1982F1C
+:104590009695969596959F3090F4E0910E01F09146
+:1045A0000F01E90FF11D877021E030E001C0220FFB
+:1045B0008A95EAF720958181282321830895909197
+:1045C000D70190FF1FC01F928F9388E59AE09F93B9
+:1045D0008F930E943F0A0F900F900F900F900895B5
+:1045E00040910E0150910F0120E030E0FA01E20FFE
+:1045F000F31F9281981301C012822F5F3F4F2E301C
+:104600003105A1F7089581E090E0E0910E01F0916D
+:104610000F01E80FF91F1082019680319105A9F76B
+:1046200008959091D601982B9093D6010895809586
+:104630009091D60198239093D60108951092D601B7
+:1046400008959091D501982B9093D5010895809568
+:104650009091D50198239093D50108951092D5019A
+:1046600008958093C40108951092C4010895409163
+:104670000E0150910F0120E030E080E0FA01E20FDE
+:10468000F31F918191118F5F2F5F3F4F2F303105C5
+:10469000A9F70895E0910E01F0910F018091D601E4
+:1046A0008083E0910E01F0910F0180819091D501FE
+:1046B000892B80839091C401992361F0E0910E01D0
+:1046C000F0910F018081892B80830E943723811113
+:1046D0001092C40180910E0190910F010C944E171D
+:1046E00090933B0180933A0108958295982F9C7C8A
+:1046F00096959695837344E0849F90011124922BA4
+:10470000892F8A7A86959575990F892B08951F931D
+:10471000CF93DF931F92CDB7DEB799830E947523A5
+:10472000182F9981892F0E947523212F30E0322F75
+:104730002227A901482BCA010F90DF91CF911F9129
+:1047400008958091F001843009F11092D80120E49D
+:1047500088E190E00FB6F894A895809360000FBEB2
+:104760002093600083B7817F846083BF83B78160BB
+:1047700083BF7894889583B78E7F83BF88E10FB617
+:10478000F89480936000109260000FBE0895089521
+:104790000895CF930E94C7230E94E80B0E94C8236C
+:1047A000C0E08C2F0E94130D811105C0CF5FCE3069
+:1047B000C1F780E001C081E0CF9108950C94051D00
+:1047C00082E084BD93E095BD9AEF97BD80936E0023
+:1047D00008952FB7F8948091D9019091DA01A091B2
+:1047E000DB01B091DC012FBF0895CF92DF92EF92F1
+:1047F000FF920F931F932FB7F8944091D9015091D6
+:10480000DA016091DB017091DC012FBF6A017B014D
+:10481000EE24FF248C0120E030E0C016D106E20631
+:10482000F30610F441505109481B590BCA011F915E
+:104830000F91FF90EF90DF90CF9008951F920F920D
+:104840000FB60F9211248F939F93AF93BF938091D4
+:10485000D9019091DA01A091DB01B091DC010196C0
+:10486000A11DB11D8093D9019093DA01A093DB01C2
+:10487000B093DC01BF91AF919F918F910F900FBECC
+:104880000F901F9018950E944914F8942FEF87EA13
+:1048900091E6215080409040E1F700C0000087E0A1
+:1048A00090EBDC018093F9019093FA01A093FB0156
+:1048B000B093FC012CE088E190E00FB6F894A89545
+:1048C000809360000FBE20936000FFCFEF92FF92B5
+:1048D0000F931F93CF93DF93E82EF12C8F2D0E941F
+:1048E000130DC0E0D0E0082F10E098010C2E02C09C
+:1048F000359527950A94E2F720FD05C02196C6302C
+:10490000D10599F709C06C2F7F2D80E00E94200E01
+:10491000E812F4CF81E005C0F3948EE0F812DECF08
+:1049200080E0DF91CF911F910F91FF90EF9008955C
+:10493000CF93C82F8CE20E946624882321F08C2F0D
+:10494000CF910C94662480E0CF910895CF930E947C
+:10495000F325811102C00E94D9258BE99AE00E94BB
+:10496000A609C5E6C15049F00E94E80B8FE39CE917
+:104970000197F1F700C00000F5CF84E99AE00E94AA
+:10498000A60989E20E949824811111C18AE20E943D
+:10499000982481110E94D92585E00E9498248111D4
+:1049A0000E9443240E94FE258093D70187E00E9445
+:1049B0009824882399F18BE10E949824882351F050
+:1049C0009091D70191FB882780F921E0822780FB15
+:1049D00091F922C08EE00E949824882351F0909192
+:1049E000D70192FB882780F921E0822780FB92F98A
+:1049F00013C080E10E9498249091D701882341F050
+:104A000093FB882780F921E0822780FB93F904C07B
+:104A1000892F809580FB90F99093D7018091D701E1
+:104A20000E9402260E9410268093EA0180EE0E94D6
+:104A30009824882341F08091EA01982F909590FB6B
+:104A400080F98093EA0189E30E949824882359F031
+:104A50009091EA0191FB882780F921E0822780FB71
+:104A600091F99093EA0182EE0E949824882359F0EC
+:104A70009091EA0192FB882780F921E0822780FB50
+:104A800092F99093EA0186EE0E949824882359F0C7
+:104A90009091EA0193FB882780F921E0822780FB2F
+:104AA00093F99093EA0183EE0E949824882359F0A9
+:104AB0009091EA0194FB882780F921E0822780FB0E
+:104AC00094F99093EA0185E30E949824882359F091
+:104AD0009091EA0195FB882780F921E0822780FBED
+:104AE00095F99093EA0181E30E949824882359F074
+:104AF0009091EA0196FB882780F921E0822780FBCC
+:104B000096F99093EA0181E10E949824882359F054
+:104B10009091EA0197FB882780F921E0822780FBAA
+:104B200097F99093EA018091EA010E9414268091FE
+:104B3000EA0187FB882780F980930D0187E20E94B4
+:104B40009824C82F8EE10E9498248111C2608FE1C1
+:104B50000E9498248111C46080E20E9498248111EF
+:104B6000C86081E20E9498248111C06182E20E94A3
+:104B700098248111C06283E20E9498248111C0644C
+:104B800084E20E949824882311F0C06802C0CC23DC
+:104B900029F08C2F0E940B266C2F03C00E94072641
+:104BA000682F70E080E090E0CF910C94FF20CF91CF
+:104BB00008956DEE7EEF80E090E00E94CE2F60E0E1
+:104BC00082E090E00E94C02F60E083E090E00E94CD
+:104BD000C02F60E084E090E00E94C02F60E085E09C
+:104BE00090E00C94C02F80E090E00E94BA2F21E06A
+:104BF0008D3E9E4F09F020E0822F089582E090E0E4
+:104C00000C94B22F682F82E090E00C94C02F83E0C8
+:104C100090E00C94B22F682F83E090E00C94C02FAA
+:104C200084E090E00C94B22F682F84E090E00C9424
+:104C3000C02F8091DF0180FF0BC06091130185E0E0
+:104C4000689FB001112475956795759567952AC081
+:104C500081FF09C06091130185E0689FB0011124B4
+:104C6000759567951FC082FF07C06091130185E0AD
+:104C7000689FB001112416C04091E0014423C9F09F
+:104C800060911201461788F72091130185E0289F53
+:104C900090011124429FC001439F900D112470E0A8
+:104CA0000E94842F6038710540F46115710539F058
+:104CB00002C065E070E0862F08958FE7089581E0D7
+:104CC00008958091DF0180FF08C06091110170E0BC
+:104CD000759567957595679521C081FF06C06091B0
+:104CE000110170E07595679519C082FF04C060914D
+:104CF000110170E010C08091E0018823C1F0609143
+:104D000010018617A0F790911101989FC0011124FE
+:104D100070E00E94842F6038710528F461157105D8
+:104D200021F0862F08958FE7089581E0089561E0CE
+:104D300070E0F4CF803F21F40E941926819504C0D1
+:104D4000813F29F40E9419268093E3010895823F50
+:104D500021F40E941926819504C0833F29F40E9402
+:104D600019268093E2010895893F19F40E94612673
+:104D700005C08A3F31F40E94612681958093E40149
+:104D800008958B3F21F40E946126819504C08C3FD9
+:104D900029F40E9461268093E5010895843F21F45F
+:104DA0008091E101816017C0853F21F48091E1018C
+:104DB000826011C0863F21F48091E10184600BC0C4
+:104DC000873F21F48091E101886005C0883F31F47C
+:104DD0008091E10180618093E10108958D3F21F48C
+:104DE0008091DF0181600BC08E3F21F48091DF0153
+:104DF000826005C08F3F29F48091DF018460809339
+:104E0000DF010895803F39F48091E30187FF6CC092
+:104E10001092E30169C0813F29F48091E3011816E3
+:104E2000BCF362C09091E201823F29F497FF5CC01D
+:104E30001092E20159C0833F19F41916CCF354C003
+:104E4000893F41F48091E40118160CF04DC0109296
+:104E5000E4014AC08A3F29F48091E40187FF44C0FD
+:104E6000F6CF8B3F39F48091E50187FF3DC010926A
+:104E7000E5013AC08C3F29F48091E5011816BCF396
+:104E800033C0843F21F48091E1018E7F17C0853FBC
+:104E900021F48091E1018D7F11C0863F21F4809142
+:104EA000E1018B7F0BC0873F21F48091E101877F77
+:104EB00005C0883F31F48091E1018F7E8093E1014C
+:104EC00013C08D3F21F48091DF018E7F0BC08E3F98
+:104ED00021F48091DF018D7F05C08F3F29F48091FF
+:104EE000DF018B7F8093DF018091E20181110EC091
+:104EF0008091E30181110AC08091E401811106C013
+:104F00008091E501811102C01092E0010895809125
+:104F1000D70183FF7EC087ED9AE00E94A6098091A9
+:104F2000E1011F928F9382ED9AE09F938F930E94ED
+:104F30003F0A80ED9AE00E94A6092091E201822FAB
+:104F4000992787FD90959F932F938DEC9AE09F93DF
+:104F50008F930E943F0A8BEC9AE00E94A609209151
+:104F6000E301822F992787FD90959F932F9388ECDB
+:104F70009AE09F938F930E943F0A86EC9AE00E94EA
+:104F8000A6092091E401822F992787FD90959F9390
+:104F90002F9383EC9AE09F938F930E943F0A81ECBA
+:104FA0009AE00E94A6092091E501822F992787FDAA
+:104FB00090959F932F938EEB9AE09F938F930E94EF
+:104FC0003F0A8BEB9AE00E94A6098091E0011F92B4
+:104FD0008F9388EB9AE09F938F930E943F0A86EB12
+:104FE0009AE00E94A6098091DF011F928F9383EBC4
+:104FF0009AE09F938F930E943F0A80EB9AE00E9471
+:10500000A6098DB79EB74C960FB6F8949EBF0FBEFB
+:105010008DBF81EE91E00E9493170E94E923909347
+:10502000DE018093DD0108951F93CF93DF9380917C
+:10503000DD019091DE010E94F5234091E0014423BF
+:1050400021F02091140130E006C0209115015AE0B2
+:10505000259F900111248217930708F482C0809144
+:10506000E2011091E301D091E401C091E5018111C9
+:1050700007C0111105C0D11103C0CC2309F471C0C0
+:105080004F3F19F04F5F4093E001181624F40E943F
+:1050900019268093E2018091E20187FF05C00E94FA
+:1050A000192681958093E201111624F40E94192695
+:1050B0008093E3018091E30187FF05C00E941926D8
+:1050C00081958093E3016091E201662339F11091AB
+:1050D000E301112319F1772767FD7095872F972F2B
+:1050E0000E94892E23E333E343E35FE30E94ED2E26
+:1050F0000E94562E6093E201612F772767FD70951D
+:10510000872F972F0E94892E23E333E343E35FE346
+:105110000E94ED2E0E94562E6093E3011D1624F48A
+:105120000E9461268093E4018091E40187FF05C01D
+:105130000E94612681958093E4011C1624F40E944C
+:1051400061268093E5018091E50187FF05C00E94FB
+:10515000612681958093E501DF91CF911F910C9499
+:105160008727DF91CF911F910895E1EEF1E085E06F
+:10517000DF011D928A95E9F71092E0011092DF019C
+:1051800008958AEF9CE00E94A6091F9281E08F9308
+:105190001F9285E08F938CEA9CE09F938F930E94EF
+:1051A0003F0A0F900F900F900F900F900F9008955F
+:1051B0008330E9F128F4813061F0823009F10895FB
+:1051C000853009F462C008F449C0863009F474C01F
+:1051D000089520911501862F90E0820F911D8F3F39
+:1051E000910520F4620F6093150103C08FEF809347
+:1051F0001501809115011F928F9385EE9BE072C07F
+:1052000020911401862F90E0820F911D8F3F910510
+:1052100020F4620F6093140103C08FEF8093140198
+:10522000809114011F928F9383ED9BE05BC02091CE
+:105230001301862F90E0820F911D8F3F910520F47E
+:10524000620F6093130103C08FEF8093130180916D
+:1052500013011F928F9380EC9BE044C020911201B8
+:10526000862F90E0820F911D8F3F910520F4620FF1
+:105270006093120103C08FEF80931201809112019D
+:105280001F928F938BEA9BE02DC020911101862FF6
+:1052900090E0820F911D8F3F910520F4620F609383
+:1052A000110103C08FEF80931101809111011F92B2
+:1052B0008F9382E99BE016C020911001862F90E029
+:1052C000820F911D8F3F910520F4620F60931001B2
+:1052D00003C08FEF80931001809110011F928F9374
+:1052E00087E79BE09F938F930E943F0A0F900F9058
+:1052F0000F900F900895833081F128F4813059F098
+:105300008230D1F00895853009F449C0B8F1863073
+:1053100009F456C0089580911501681720F4861B82
+:105320008093150102C010921501809115011F9202
+:105330008F9388E69BE054C080911401681720F495
+:10534000861B8093140102C01092140180911401F5
+:105350001F928F9386E59BE043C0809113016817ED
+:1053600020F4861B8093130102C0109213018091D8
+:1053700013011F928F9383E49BE032C0809112014E
+:10538000681720F4861B8093120102C0109212014C
+:10539000809112011F928F938EE29BE021C0809139
+:1053A0001101681720F4861B8093110102C010922E
+:1053B0001101809111011F928F9385E19BE010C034
+:1053C00080911001681720F4861B8093100102C0A1
+:1053D00010921001809110011F928F938AEF9AE032
+:1053E0009F938F930E943F0A0F900F900F900F9002
+:1053F0000895CF93C82F1F928F932FEF3DE03F93D7
+:105400002F930E943F0A61E070E080E090E004C0CA
+:10541000660F771F881F991FCA95D2F70E94FF2039
+:105420000F900F900F900F90CF910C94051DCF937C
+:105430008D3109F465C0B0F58E3009F4CBC100F5AB
+:10544000873009F49BC1A8F4863009F06AC28091C4
+:10545000D701817F8E7F8093D70184E09EE00E94F8
+:10546000A60989E492E10E94A60981E08093E70100
+:1054700080C1883009F44FC08B3009F47CC151C21F
+:10548000863109F4EDC138F4803109F4B6C18131B7
+:1054900009F42DC246C2893109F4CBC18B3109F41C
+:1054A00086C13FC2853309F434C248F4873209F417
+:1054B00030C208F430C2893209F42BC232C28334BC
+:1054C00038F48A3308F029C2883309F454C129C258
+:1054D000833409F41EC2883409F023C20E94051DDA
+:1054E00088E392E10E94A6099FEF23ED80E39150AB
+:1054F00020408040E1F700C000000E94432439C1F1
+:1055000088E592E10E94A6090E94102E0E9442178F
+:105510000E94800F2EC18DE492E10E94A60985E1D0
+:1055200090E10E94A6090E9407261F928F9382E1B4
+:1055300090E19F938F930E943F0A80E190E10E9447
+:10554000A6090E94FE25C82F8DEF9FE00E94A609A4
+:105550001F92CF9328EF3FE03F932F930E943F0A83
+:1055600086EF9FE00E94A6098CEE9FE00E94A609AC
+:105570008C2F81701F928F9329EE3FE03F932F93E2
+:105580000E943F0A87EE9FE00E94A6098DED9FE0F2
+:105590000E94A609C1FB882780F91F928F932AEDEC
+:1055A0003FE03F932F930E943F0A88ED9FE00E94C7
+:1055B000A6098CEC9FE00E94A609C2FB882780F90F
+:1055C0001F928F9329EC3FE03F932F930E943F0A55
+:1055D00087EC9FE00E94A6098EEB9FE00E94A6093F
+:1055E000C3FBCC27C0F91F92CF938BEB9FE09F9317
+:1055F0008F930E943F0A89EB9FE00E94A6090E94B8
+:105600001026C82F85EA9FE00E94A6091F92CF931B
+:1056100020EA3FE03F932F930E943F0A8EE99FE0EC
+:105620000E94A60985E89FE00E94A6098C2F817040
+:105630001F928F9322E83FE03F932F930E943F0AEF
+:105640008DB79EB780960FB6F8949EBF0FBE8DBFE4
+:1056500080E89FE00E94A60989E69FE00E94A609D3
+:10566000C1FB882780F91F928F9326E63FE03F9386
+:105670002F930E943F0A84E69FE00E94A60982E5DC
+:105680009FE00E94A609C2FB882780F91F928F9392
+:105690002FE43FE03F932F930E943F0A8DE49FE069
+:1056A0000E94A6098BE39FE00E94A609C3FB8827FE
+:1056B00080F91F928F9328E33FE03F932F930E943E
+:1056C0003F0A86E39FE00E94A6098CE29FE00E94C9
+:1056D000A609C4FB882780F91F928F9329E23FE037
+:1056E0003F932F930E943F0A87E29FE00E94A60902
+:1056F00085E19FE00E94A609C5FB882780F91F92DB
+:105700008F9322E13FE03F932F930E943F0A80E175
+:105710009FE00E94A60984EF9EE00E94A609C6FBB6
+:10572000882780F91F928F9321EF3EE03F932F93BC
+:105730000E943F0A8FEE9EE00E94A60987EE9EE03F
+:105740000E94A609C7FBCC27C0F91F92CF9384EE15
+:105750009EE09F938F930E943F0A82EE9EE00E94FC
+:10576000A6098DB79EB74C960FB6F8949EBF0FBE94
+:105770008DBFC1E0DBC08BE29EE058C08091D701B5
+:10578000C82FC17080FF09C08BE292E10E94A60978
+:105790008091D701817F8E7F44C08FE192E10E948A
+:1057A000A6098091D70181608093D701E2CF8091D3
+:1057B000D70181FBCC27C0F991E0C927C0FB81F953
+:1057C0008093D701CC2319F082E192E125C084E0D7
+:1057D00092E12CC08091D70182FBCC27C0F991E0E7
+:1057E000C927C0FB82F98093D701CC2319F085EF3C
+:1057F00091E112C085EE91E119C08091D70183FB40
+:10580000CC27C0F991E0C927C0FB83F98093D70169
+:10581000CC2351F089ED91E10E94A6098091D70136
+:1058200081608093D70182C08CEC91E10E94A6092F
+:10583000A0CF8DEB91E10E94A60981E991E10E9440
+:10584000A60984E591E10E94A60987E291E10E9400
+:10585000A60983EE90E10E94A60985EB90E1E6CFD0
+:1058600087EA90E10E94A6090E9442171F928F9337
+:105870008DE890E19F938F930E943F0A80910C01E5
+:105880001F928F9386E790E19F938F930E943F0A28
+:1058900080916E011F928F9383E690E19F938F9387
+:1058A0000E943F0A80910D011F928F9380E590E145
+:1058B0009F938F930E943F0A8091D9019091DA01C2
+:1058C000A091DB01B091DC01BF93AF939F938F93C5
+:1058D0008CE390E19F938F930E943F0A8DB79EB710
+:1058E00046960FB6F8949EBF0FBE8DBF42CF0E9462
+:1058F000051DC0910D0181E0C827C0930D01CC2387
+:1059000029F082E390E10E94A60910C087E290E1AD
+:105910008DCF80E003C08D5101C089530E94F929C9
+:1059200028CF85E290E10E94A609C0E08C2FCF919C
+:10593000089580E0089580E00895CF93C82F809166
+:10594000E701813081F020F0823009F44CC042C17F
+:10595000A0910E01B0910F018C91813169F08232DA
+:1059600009F03AC109C0A0910E01B0910F018C91CC
+:10597000813111F0823249F48C2F0E94992C8111CF
+:105980002FC08C2F0E94172A2CC08C2F0E949B2C7A
+:10599000811126C0C431E1F070F4CB3081F0C03108
+:1059A000D1F40E94C12887EF9DE00E94A60982E001
+:1059B0008093E70115C0C93259F0C83361F484E01F
+:1059C0009EE00E94A6098BEF9DE00E94A60908C0F8
+:1059D0001092E70103C185EF9DE00E94A609FEC079
+:1059E00081E08170FDC0C43220F5CE3108F0C0C026
+:1059F000CB3099F1C8F4C73009F0D2C08AE0809367
+:105A0000150194E19093140193E090931301809316
+:105A1000120188E08093110188E2809310018BE9E4
+:105A20009CE00E94A609BFC0C33149F1C431C1F056
+:105A3000B7C0CB3409F4A9C028F4C93289F0C833FF
+:105A400061F0AEC0C13509F49EC0C23509F499C0F9
+:105A5000CE3409F0A5C06AE09EC00E94C128A3C050
+:105A60008091E601882319F01092E6019CC088EA33
+:105A70009CE00E94A60981E08093E701B1C082E822
+:105A80009CE00E94A60980E79CE00E94A609809104
+:105A900015011F928F938DE69CE09F938F930E9438
+:105AA0003F0A8BE69CE00E94A60989E59CE00E94E3
+:105AB000A609809114011F928F9386E59CE09F9325
+:105AC0008F930E943F0A84E59CE00E94A60985E42A
+:105AD0009CE00E94A609809113011F928F9382E49B
+:105AE0009CE09F938F930E943F0A80E49CE00E9479
+:105AF000A6098FE29CE00E94A609809112011F92E4
+:105B00008F938CE29CE09F938F930E943F0A8AE2DE
+:105B10009CE00E94A60985E19CE00E94A609809174
+:105B200011011F928F9382E19CE09F938F930E94BB
+:105B30003F0A80E19CE00E94A60989EF9BE00E9459
+:105B4000A609809110011F928F9386EF9BE09F938F
+:105B50008F930E943F0A84EF9BE00E94A6098DB7B5
+:105B60009EB748960FB6F8949EBF0FBE8DBF1BC060
+:105B7000CE51EC2FF0E0E15DFE4F80818093E60195
+:105B800012C061E003C061E006C06AE08091E601F6
+:105B90000E94D82808C08091E6010E947B2903C09A
+:105BA00089E99CE013C08091E601882369F01F9287
+:105BB0008F9383E99CE09F938F930E943F0A0F90FD
+:105BC0000F900F900F9004C080E99CE00E94A609FE
+:105BD00081E006C01092E70180E002C080E001CFC2
+:105BE000CF910895E1E8F0E0808188608083808132
+:105BF000816080838FB7F89493E09093890090ED53
+:105C0000909388008FBF0895EFE6F0E08081826076
+:105C100080830895EFE6F0E080818D7F8083089592
+:105C2000EFE6F0E0808192E08927808308951F925B
+:105C30000F920FB60F9211242F933F934F935F93C0
+:105C40006F937F938F939F93AF93BF93EF93FF9344
+:105C50008091E8019091E90101969093E901809388
+:105C6000E801811103C082E00E94800FE091E90108
+:105C7000E695E695F0E0E859FD4EE4918091E80163
+:105C80008E1303C080E00E94800FFF91EF91BF91BF
+:105C9000AF919F918F917F916F915F914F913F91C4
+:105CA0002F910F900FBE0F901F90189504D06894FD
+:105CB000B1118DC0089570D088F09F5790F0B92F22
+:105CC0009927B751A0F0D1F0660F771F881F991F51
+:105CD0001AF0BA95C9F712C0B13081F077D0B1E0AF
+:105CE000089574C0672F782F8827B85F39F0B93FBF
+:105CF000CCF3869577956795B395D9F73EF4909553
+:105D00008095709561957F4F8F4F9F4F0895E894D0
+:105D100009C097FB3EF490958095709561957F4FF3
+:105D20008F4F9F4F9923A9F0F92F96E9BB279395A1
+:105D3000F695879577956795B795F111F8CFFAF4B1
+:105D4000BB0F11F460FF1BC06F5F7F4F8F4F9F4FE2
+:105D500016C0882311F096E911C0772321F09EE840
+:105D6000872F762F05C0662371F096E8862F70E0A6
+:105D700060E02AF09A95660F771F881FDAF7880F80
+:105D80009695879597F9089557FD9058440F551F9C
+:105D900059F05F3F71F04795880F97FB991F61F0AD
+:105DA0009F3F79F087950895121613061406551F24
+:105DB000F2CF4695F1DF08C0161617061806991F90
+:105DC000F1CF86957105610508940895E894BB2785
+:105DD00066277727CB0197F908950BD078C069D053
+:105DE00028F06ED018F0952309F05AC05FC0112436
+:105DF000EECFCADFA0F3959FD1F3950F50E0551F6A
+:105E0000629FF001729FBB27F00DB11D639FAA270F
+:105E1000F00DB11DAA1F649F6627B00DA11D661F5E
+:105E2000829F2227B00DA11D621F739FB00DA11D7F
+:105E3000621F839FA00D611D221F749F3327A00D39
+:105E4000611D231F849F600D211D822F762F6A2FD5
+:105E500011249F5750408AF0E1F088234AF0EE0F5A
+:105E6000FF1FBB1F661F771F881F91505040A9F767
+:105E70009E3F510570F014C0AACF5F3FECF3983EEF
+:105E8000DCF3869577956795B795F795E7959F5FCE
+:105E9000C1F7FE2B880F911D9695879597F9089568
+:105EA00097F99F6780E870E060E008959FEF80ECCD
+:105EB000089500240A941616170618060906089570
+:105EC00000240A9412161306140605060895092ED6
+:105ED0000394000C11F4882352F0BB0F40F4BF2B45
+:105EE00011F460FF04C06F5F7F4F8F4F9F4F089585
+:105EF000991B79E004C0991F961708F0961B881F1C
+:105F00007A95C9F78095089597FB072E16F40094AB
+:105F100007D077FD09D00E949E2F07FC05D03EF4E4
+:105F2000909581959F4F0895709561957F4F089545
+:105F3000EE0FFF1F0590F491E02D0994AA1BBB1BE7
+:105F400051E107C0AA1FBB1FA617B70710F0A61B79
+:105F5000B70B881F991F5A95A9F780959095BC019A
+:105F6000CD010895F999FECF92BD81BDF89A992788
+:105F700080B50895A8E1B0E042E050E00C94D52F40
+:105F8000262FF999FECF1FBA92BD81BD20BD0FB655
+:105F9000F894FA9AF99A0FBE019608950E94C02FBC
+:105FA000272F0C94C12FDC01CB01FC01F999FECF06
+:105FB00006C0F2BDE1BDF89A319600B40D92415091
+:0A5FC0005040B8F70895F894FFCFA1
+:105FCA002002810F72104F101B10E80F0101C5014A
+:105FDA0028080A03140A3F4D362039E50998096250
+:105FEA0009420909097C089508AE08C708E70801AB
+:0A5FFA000203040506070809000071
:00000001FF
diff --git a/keyboard/ergodox_ez/readme.md b/keyboard/ergodox_ez/readme.md index a41a29e1ad..c1d0bd5dcf 100644 --- a/keyboard/ergodox_ez/readme.md +++ b/keyboard/ergodox_ez/readme.md @@ -40,6 +40,6 @@ The ErgoDox EZ firmware is open-source, so it would be wonderful to have your co Let's say you want a certain key in your layout to send a colon; to figure out what keycode to use to make it do that, you're going to need `quantum/keymap_common.h`. -That file contains a big list of all of the special, fancy keys (like, being able to shend % on its own and whatnot). +That file contains a big list of all of the special, fancy keys (like, being able to send % on its own and whatnot). If you want to send a plain vanilla key, you can look up its code under `doc/keycode.txt`. That's where all the boring keys hang out. diff --git a/keyboard/planck/CYGWIN_GUIDE.md b/keyboard/planck/CYGWIN_GUIDE.md new file mode 100755 index 0000000000..ac13e745d7 --- /dev/null +++ b/keyboard/planck/CYGWIN_GUIDE.md @@ -0,0 +1,352 @@ +#Planck Advanced (but not too advanced) `cygwin` Users Guide +If you are a user of the [cygwin environment](https://cygwin.com) in Windows and want the freedom to use the latest tools available, then this is the guide for you. If compiling your own copy of the latest and greatest Gnu C Compiler makes you super happy, then this is the guide for you. If the command line make you smile, then this is the guide for you. + +This guide was written step by step as I went through the process on a `Windows 10` `x86_64` and a `Windows 7` `amd k10` based system. This should be generally applicable to to any `Windows` environment with `cygwin`. + +#####Do not skip steps. Do not move past a step until the previous step finishes successfully. + +Based on [avr-libc installation guide](http://www.nongnu.org/avr-libc/user-manual/install_tools.html) + +##Get the Required Packages +Download the `cygwin` setup ([x86_64](https://cygwin.com/setup-x86_64.exe)) and install the default system plus the following if they are not already selected: +- devel/git +- devel/gcc-core +- devel/gcc-g++ +- devel/flex +- devel/bison +- devel/make +- devel/texinfo +- devel/gettext-devel +- devel/automake +- devel/autoconfig +- devel/libtool +- text/gettext +- libs/libgcc1 +- interpreters/m4 +- web/wget +- archive/unzip + +The following sources will be required: +- [gmp](https://gmplib.org/) (6.1.0) +- [mpfr](http://www.mpfr.org/) (3.1.4) +- [mpc](http://www.multiprecision.org/) (1.0.3) +- [binutils](https://www.sourceware.org/binutils/) (2.26) +- [gcc](https://gcc.gnu.org/) (5.3.0) +- [avr-libc](http://www.nongnu.org/avr-libc/) (2.0.0) + +The `dfu-programmer` will be required to flash the new firmware +- [dfu-programmer](https://dfu-programmer.github.io/) (0.7.2) + +The set of commands below will create a directory (`~/local/avr`) for the sources you compile to be installed on the machine and a directory (`~/src`) for these source files to be stored. The commands then download the sources of the needed packages and unpack them. Note: the expand commands are different depending on if the packages are offered as a `bz2` or `gz` archive +``` +$ mkdir ~/local +$ mkdir ~/local/avr +$ mkdir ~/src +$ cd ~/src +$ wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2 +$ wget http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2 +$ wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz +$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.gz +$ wget http://mirror0.babylon.network/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.gz +$ wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2 +$ tar -xjf gmp-6.1.0.tar.bz2 +$ tar -xjf mpfr-3.1.4.tar.bz2 +$ tar -zxf mpc-1.0.3.tar.gz +$ tar -zxf binutils-2.26.tar.gz +$ tar -zxf gcc-5.3.0.tar.gz +$ tar -xjf avr-libc-2.0.0.tar.bz2 +``` + +##Setup the Build Environment +These commands will set up the install directory and the `PATH` variable, which will allow you to access your installed packages. Note: if you close the `cygwin` terminal window, you will need to rerun these commands, they are not permanent. +``` +$ PREFIX=$HOME/local/avr +$ export PREFIX +$ PATH=/usr/local/bin:/usr/local/lib:/usr/local/include:/bin:/lib:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS +$ PATH=$PATH:$PREFIX/bin:$PREFIX/lib +$ export PATH +``` + +##The `gcc` Required Math Library Packages +The following packages are required to be complied and installed in order to compile `gcc`. They are not sufficiently available through the `cygwin` package system, so we have to make them ourselves. They must be complied in this order because each one depends on the previous. Verfiy that for each package, `make check` returns all passing and no fails. + +###Build and Install `gmp` +``` +$ cd ~/src/gmp-6.1.0 +$ ./configure --enable-static --disable-shared +$ make +$ make check +$ make install +``` + +###Build and Install `mpfr` +``` +$ cd ~/src/mpfr-3.1.4 +$ ./configure --with-gmp-build=../gmp-6.1.0 --enable-static --disable-shared +$ make +$ make check +$ make install +``` + +###Build and Install `mpc` +``` +$ cd ~/src/mpc-1.0.3 +$ ./configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-static --disable-shared +$ make +$ make check +$ make install +``` + +##OPTIONAL Part +You can build and install a brand new `gcc` or you can use the one supplied by `cygwin`. This will take about 4-5 hours to compile (It is a "native build", so it does the entire build **3 times**. This takes a long while). + +###Build and Install `gcc` for Your Machine +``` +$ cd ~/src/gcc-5.3.0 +$ mkdir obj-local +$ cd obj-local +$ ../configure --enable-languages=c,c++ --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --enable-static --disable-shared +$ make +$ make install +``` +##End OPTIONAL Part + +###Build and Install `binutils` for Your Machine +``` +$ cd ~/src/binutils-2.26 +$ mkdir obj-local +$ cd obj-local +$ ../configure +$ make +$ make install +``` + +##Buliding `binutils`, `gcc`, and `avr-libc` for the AVR system +Now we can make the critical stuff for compiling our firmware: `binutils`, `gcc`, and `avr-libc` for the AVR architecture. These allow us to build and manipulate the firmware for the keyboard. + +###Build `binutils` for AVR +If you plan to build and install `avr-gdb` also, use the `gdb` install at the end of this guide as it also builds the `binutils` +``` +$ cd ~/src/binutils-2.26 +$ mkdir obj-avr +$ cd obj-avr +$ ../configure --prefix=$PREFIX --target=avr --disable-nls +$ make +$ make install +``` + +###Build `gcc` for AVR +``` +$ cd ~/src/gcc-5.3.0 +$ mkdir obj-avr +$ cd obj-avr +$ ../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --enable-static --disable-shared --disable-nls --disable-libssp --with-dwarf2 +$ make +$ make install +``` + +###Build `avr-libc` for AVR +For building the `avr-libc`, we have to specify the host build system. In my case it is `x86_64-unknown-cygwin`. You can look for build system type in the `gcc` configure notes for the proper `--build` specification to pass when you configure `avr-libc`. +``` +$ cd ~/src/avr-libc-2.0.0 +$ ./configure --prefix=$PREFIX --build=x86_64-unknown-cygwin --host=avr +$ make +$ make install +``` + +##Building 'dfu-programmer' for flashing the firmware via USB and installing the drivers +We can either build our own, or use the precomplied binaries. The precompiled binaries don't play well with `cygwin` so it is better to build them ourselves. The procedure for the precompiled binaries is included at the end of this guide. + +### Build and Install the `libusb` +The `dfu-programmer` requires `libusb` so that it can interact with the USB system. These repos must be bootstrapped in order to create an appropriate `./configure` and `Makefile` for your system. +``` +$ cd ~/src +$ git clone https://github.com/libusb/libusb.git +$ cd libusb +$ ./bootstrap.sh +$ ./configure +$ make +$ make install +``` + +### Build and Install the `dfu-programmer` +``` +$ cd ~/src +$ git clone https://github.com/dfu-programmer/dfu-programmer.git +$ cd dfu-programmer +$ ./bootstrap.sh +$ ./configure +$ make +$ make install +``` + +Verify the installation with: +``` +$ which dfu-programmer +/usr/local/bin/dfu-programmer + +$ dfu-programmer +dfu-programmer 0.7.2 +https://github.com/dfu-programmer/dfu-programmer +Type 'dfu-programmer --help' for a list of commands + 'dfu-programmer --targets' to list supported target devices +``` +If you are not getting the above result, you will not be able to flash the firmware! + +###Install the USB drivers +The drivers are included in the windows binary version of [`dfu-programmer` 0.7.2](http://iweb.dl.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip). +``` +$ cd ~/src +$ wget http://iweb.dl.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip +$ unzip dfu-programmer-win-0.7.2.zip -d dfu-programmer-win-0.7.2 +``` + +or + +The official drivers are found in [Atmel's `FLIP` installer](http://www.atmel.com/images/Flip%20Installer%20-%203.4.7.112.exe). Download and then install `FLIP`. Upon installation, the drivers will be found in `C:\Program Files (x86)\Atmel\Flip 3.4.7\usb`. + +Then, from an **administrator-privileged** `Windows` terminal, run the following command (adjust the path for username, etc. as necessary) and accept the prompt that pops up: +``` +C:\> pnputil -i -a C:\cygwin64\home\Kevin\src\dfu-programmer-win-0.7.2\dfu-prog-usb-1.2.2\atmel_usb_dfu.inf +or +C:\> pnputil -i -a "C:\Program Files (x86)\Atmel\Flip 3.4.7\usb\atmel_usb_dfu.inf" +``` + +This should be the result: +``` +Microsoft PnP Utility + +Processing inf : atmel_usb_dfu.inf +Successfully installed the driver on a device on the system. +Driver package added successfully. +Published name : oem104.inf + + +Total attempted: 1 +Number successfully imported: 1 +``` + +Alternatively, the `Windows` driver can be installed when prompted by `Windows` when the keyboard is attached. Do not let `Windows` search for a driver; specify the path to search for a driver and point it to the `atmel_usb_dfu.inf` file. + +##Building and Flashing the Planck firmware! +If you did everything else right. This part should be a snap! Grab the latest sources from `github`, make the Plank firmware, then flash it. + +###Build Planck and Load the Firmware +``` +$ cd ~/src +$ git clone https://github.com/jackhumbert/qmk_firmware.git +$ cd qmk_firmware/keyboard/planck +$ make +``` + +Make sure there are no errors. You should end up with this or something similar: +``` +Creating load file for Flash: planck.hex +avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature planck.elf planck.hex + +Creating load file for EEPROM: planck.eep +avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ +--change-section-lma .eeprom=0 --no-change-warnings -O ihex planck.elf planck.eep || exit 0 + +Creating Extended Listing: planck.lss +avr-objdump -h -S -z planck.elf > planck.lss + +Creating Symbol Table: planck.sym +avr-nm -n planck.elf > planck.sym + +Size after: + text data bss dec hex filename + 18602 82 155 18839 4997 planck.elf + +-------- end -------- +``` + +If you do not get the above, you **did not** build the firmware, and you will have nothing to flash. If you have the fresh clone from `github`, it was probably something gone wrong in this install process, go check and see what didn't work and threw errors or what steps you might have missed. + +But if everything went OK, you are ready to flash! Press the reset button on the bottom of the Planck, wait two seconds, then: +``` +$ make dfu +``` +. +. +. +profit!!! + + + + + +##extra bits... + +###Installing Precompiled `dfu-programmer` Binaries (not recommended for `cygwin`) +To install the `dfu-programmer` from the binaries, we must get if from [the `dfu-programmer` website](https://dfu-programmer.github.io/) ([0.7.2](http://iweb.dl.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip)). + +Copy this file into your `cygwin` home\src directory. (For me, it is `C:\cygwin64\home\Kevin\src`), extract the files, move `dfu-programmer.exe` to `~/local/avr/bin`. Most obnoxiously, the `libusb0_x86.dll` and `libusb0.sys` need to be moved from `./dfu-prog-usb-1.2.2/x86/` to a directory in the `Windows` `PATH` and the `cygwin` `PATH`. This is because the `dfu-programmer` binary is `mingw` based, not `cygwin` based, so the `dlls` do not cooperate. I achieved acceptable pathing by moving the files to `C:\cygwin64\home\Kevin\local\avr\bin` Then, in a `WINDOWS` command prompt running (Adjusting your path for username, etc. as needed): +``` +C:\> set PATH=%PATH%;C:\cygwin64\home\Kevin\local\avr\bin +``` + +Then, rename `libusb0_x86.dll` to `libusb0.dll`. + +You can tell that you were successful by trying to execute 'dfu-programmer' from the 'cygwin' prompt: +``` +$ which dfu-programmer +/home/Kevin/local/avr/bin/dfu-programmer + +$ dfu-programmer +dfu-programmer 0.7.2 +https://github.com/dfu-programmer/dfu-programmer +Type 'dfu-programmer --help' for a list of commands + 'dfu-programmer --targets' to list supported target devices +``` + +If you are not getting the above result, you will not be able to flash the firmware! +- Try making sure your `PATH` variables are set correctly for both `Windows` and `cygwin`. +- Make sure the `dll` is named correctly. +- Do not extract it with `cygwin`'s `unzip` as it does not set the executable permission. If you did it anyway, do `chmod +x dfu-programmer.exe`. +- Still have problems? Try building it instead. + + +##Debugging Tools + +These tools are for debugging your firmware, etc. before flashing. Theoretically, it can save your memory from wearing out. However, these tool do not work 100% for the Planck firmware. + +### `gdb` for AVR +`gdb` has a simulator for AVR but it does not support all instructions (like WDT), so it immediately crashes when running the Planck firmware (because `lufa.c` disables the WDT in the first few lines of execution). But it can still be useful in debugging example code and test cases, if you know how to use it. + +``` +$ cd ~/src +$ git clone git://sourceware.org/git/binutils-gdb.git +$ cd binutils-gdb +$ mkdir obj-avr +$ cd obj-avr +$ ../configure --prefix=$PREFIX --target=avr --build=x86_64-unknown-cygwin --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --disable-nls --enable-static +$ make +$ make install +``` + +### `simulavr` +`simulavr` is an AVR simulator. It runs the complied AVR elfs. `simulavr` does not support the `atmega32u4` device... it does `atmega32` but that is not good enough for the firmware (no PORTE and other things), so you cannot run the Planck firmware. I use it to simulate ideas I have for features in separate test projects. + +This one is a major pain in the butt because it has a lot of dependencies and it is buggy. I will do my best to explain it but... it was hard to figure out. A few things need to be changed in the 'Makefile' to make it work in `cygwin`. + + +``` +$ cd ~/src +$ git clone https://github.com/Traumflug/simulavr.git +$ cd simulavr +$ ./bootstrap +$ ./configure --prefix=$PREFIX --enable-static --disable-tcl --disable-doxygen-doc +``` + Edit `src/Makefile.am` now so that `-no-undefined` is included (I did this by removing the SYS_MINGW conditional surrounding `libsim_la_LDFLAGS += -no-undefined` and `libsimulavr_la_LDFLAGS += -no-undefined \ libsimulavr_la_LIBADD += $(TCL_LIB)`. Also, `$(EXEEXT)` is added after `kbdgentables` in two places. + +``` +$ make +$ make install +``` + + +TODO: +- git repos for all sources +- command line magic for cygwin setup +- better options for `dfu-drivers` diff --git a/keyboard/planck/PCB_GUIDE.md b/keyboard/planck/PCB_GUIDE.md index 3daf0e0092..b36d8fb64c 100644 --- a/keyboard/planck/PCB_GUIDE.md +++ b/keyboard/planck/PCB_GUIDE.md @@ -3,10 +3,12 @@ ## Setting up the environment ### Windows +1. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. +2. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. +3. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. +4. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. +5. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! -1. Install [WinAVR Tools](http://sourceforge.net/projects/winavr/) for AVR GCC compiler. -2. Install [DFU-Programmer][dfu-prog] (the -win one). -3. Start DFU bootloader on the chip first time you will see 'Found New Hardware Wizard' to install driver. If you install device driver properly you can find chip name like 'ATmega32U4' under 'LibUSB-Win32 Devices' tree on 'Device Manager'. If not you will need to update its driver on 'Device Manager' to the `dfu-programmer` driver. ### Mac @@ -52,6 +54,28 @@ Generally, the instructions to flash the PCB are as follows: 4. Press the reset button on the PCB/press the key with the `RESET` keycode 5. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here. +## Troubleshooting +If you see something like this + + 0 [main] sh 13384 sync_with_child: child 9716(0x178) died before initialization with status code 0xC0000142 + 440 [main] sh 13384 sync_with_child: *** child state waiting for longjmp + /usr/bin/sh: fork: Resource temporarily unavailable + +after running 'make' on Windows than you are encountering a very popular issue with WinAVR on Windows 8.1 and 10. +You can easily fix this problem by replacing msys-1.0.dll in WinAVR/utils/bin with [this one](http://www.madwizard.org/download/electronics/msys-1.0-vista64.zip). +Restart your system and everything should work fine! + + +If you see this + + dfu-programmer atmega32u4 erase + process_begin: CreateProcess(NULL, dfu-programmer atmega32u4 erase, ...) failed. + make (e=2): The system cannot find the file specified. + make: *** [dfu] Error 2 + +when trying to 'make dfu' on Windows you need to copy the dfu-programmer.exe to qmk_firmware/keyboard/planck. + + ## Quantum MK Firmware ### Keymap diff --git a/keyboard/planck/common_keymaps/keymap_mitch.c b/keyboard/planck/common_keymaps/keymap_mitch.c new file mode 100644 index 0000000000..f7df7bbbaa --- /dev/null +++ b/keyboard/planck/common_keymaps/keymap_mitch.c @@ -0,0 +1,49 @@ +#include "keymap_common.h" + +const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( + TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, + LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN3, + ESC, DEL, LALT, LGUI, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), +[1] = KEYMAP( + GRV, GRV, FN22, FN19, FN10, TRNS, TRNS, 7, 8, 9, 0, BSPC, + TRNS, LBRC, RBRC, FN23, FN24, TRNS, TRNS, 4, 5, 6, TRNS, BSLS, + TRNS, MINS, FN20, EQL, FN21, TRNS, TRNS, 1, 2, 3, TRNS, ENT, + TRNS, TRNS, TRNS, TRNS, TRNS, SPC, FN1, TRNS, PGDN, PGUP, TRNS), +[2] = KEYMAP( + FN26, FN10, FN11, FN12, FN13, FN14, FN15, FN17, FN18, FN19, FN10, DEL, + TRNS, TRNS, MUTE, VOLD, VOLU, TRNS, BSPC, FN14, FN15, FN16, TRNS, FN25, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN11, FN12, FN13, TRNS, ENT, + TRNS, TRNS, TRNS, TRNS, FN2, ENT, TRNS, TRNS, PGDN, PGUP, TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_MOMENTARY(1), // Switch layer raise + [2] = ACTION_LAYER_MOMENTARY(2), // Switch layer lower + + [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // Right shift serves as Enter on tap + + // Numeric shift modifiers + [10] = ACTION_MODS_KEY(MOD_LSFT, KC_0), + [11] = ACTION_MODS_KEY(MOD_LSFT, KC_1), + [12] = ACTION_MODS_KEY(MOD_LSFT, KC_2), + [13] = ACTION_MODS_KEY(MOD_LSFT, KC_3), + [14] = ACTION_MODS_KEY(MOD_LSFT, KC_4), + [15] = ACTION_MODS_KEY(MOD_LSFT, KC_5), + [16] = ACTION_MODS_KEY(MOD_LSFT, KC_6), + [17] = ACTION_MODS_KEY(MOD_LSFT, KC_7), + [18] = ACTION_MODS_KEY(MOD_LSFT, KC_8), + [19] = ACTION_MODS_KEY(MOD_LSFT, KC_9), + + // Other shift modifiers + [20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // _ + [21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // + + [22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // ~ + [23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // { + [24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // } + [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // | + + // Switch windows in app + [26] = ACTION_MODS_KEY(MOD_LGUI, KC_GRV), +}; diff --git a/keyboard/planck/keymaps/brandon.c b/keyboard/planck/keymaps/brandon.c new file mode 100644 index 0000000000..2b89f86db2 --- /dev/null +++ b/keyboard/planck/keymaps/brandon.c @@ -0,0 +1,134 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#ifdef BACKLIGHT_ENABLE + #include "backlight.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QW 0 +#define _CM 1 +#define _TK 2 +#define _LW 3 +#define _RS 4 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_QW] = { /* Qwerty */ +/* MIT Layout (QWERTY layer) + * + * ,-----------------------------------------------------------------------. + * | esc | q | w | e | r | t | y | u | i | o | p | bspc| + * |-----------------------------------------------------------------------| + * | tab | a | s | d | f | g | h | j | k | l | ; | ' | + * |-----------------------------------------------------------------------| + * |shift| z | x | c | v | b | n | m | , | . | / |enter| + * |-----------------------------------------------------------------------| + * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right| + * `-----------------------------------------------------------------------' + */ + {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT) }, + {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, +[_CM] = { /* Colemak */ +/* MIT Layout (Colemak layer) + * + * ,-----------------------------------------------------------------------. + * | esc | q | w | f | p | g | j | l | u | y | ; | bspc| + * |-----------------------------------------------------------------------| + * | tab | a | r | s | t | d | h | n | e | i | o | ' | + * |-----------------------------------------------------------------------| + * |shift| z | x | c | v | b | k | m | , | . | / |enter| + * |-----------------------------------------------------------------------| + * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right| + * `-----------------------------------------------------------------------' + */ + {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT)}, + {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, +[_RS] = { /* RAISE */ +/* MIT Layout (RAISE layer) + * + * ,-----------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | bspc| + * |-----------------------------------------------------------------------| + * | tab | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |-----------------------------------------------------------------------| + * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter| + * |-----------------------------------------------------------------------| + * | ctl | alt | win | del |lower| spc |raise|next |vold |volu |PLAY | + * `-----------------------------------------------------------------------' + */ + + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, +[_LW] = { /* LOWER */ +/* MIT Layout (Colemak layer) + * + * ,-----------------------------------------------------------------------. + * | esc | q | w | f | p | g | j | l | u | y | ; | bspc| + * |-----------------------------------------------------------------------| + * | tab | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |-----------------------------------------------------------------------| + * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter| + * |-----------------------------------------------------------------------| + * | ctl | alt | win | TK |lower| spc |raise|next |vold |volu |PLAY | + * `-----------------------------------------------------------------------' + */ + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, + {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, +[_TK] = { /* Ten Key*/ +/* MIT Layout (Ten Key layer) + * + * ,-----------------------------------------------------------------------. + * | esc | F9 | F10 | F11 | F12 | PGUP| % | / | 7 | 8 | 9 | bspc| + * |-----------------------------------------------------------------------| + * | tab | F5 | F6 | F7 | F8 | PGDN| HOME| * | 4 | 5 | 6 | \ | + * |-----------------------------------------------------------------------| + * |shift| F1 | F2 | F3 | F4 | DEL | END | 0 | 1 | 2 | 3 |enter| + * |-----------------------------------------------------------------------| + * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right| + * `-----------------------------------------------------------------------' + */ + {KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_PERC, KC_SLSH, KC_7, KC_8, KC_9, KC_BSPC}, + {KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PGDN, KC_HOME, KC_ASTR, KC_4, KC_5, KC_6, KC_PIPE}, + {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_END, KC_0, KC_1, KC_2, KC_3, 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_RGHT} +} + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +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); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboard/planck/keymaps/lucas.c b/keyboard/planck/keymaps/lucas.c new file mode 100644 index 0000000000..27672e1bbc --- /dev/null +++ b/keyboard/planck/keymaps/lucas.c @@ -0,0 +1,163 @@ +/* +This is the keymap of /u/deepshitgoeshere! +Layer 1 exists so I can have the symbol positions of QWERTY while having my system in german. +The second layer has all the german umlauts I need and with capital and small letters on the +same layer there is no need to press shift+lower. +This keymap is made to work with software implemented QWERTZ. +The "Gaming" layer is mainly customized for CS:GO. +If you have any question about this keymap feel free to shoot me a message on reddit! +*/ + +#include "keymap_common.h" +#include "keymap_extras/keymap_german.h" +#include "backlight.h" +#include "debug.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = { /* Colemak + * ,-----------------------------------------------------------------------. + * | Esc | q | w | f | p | g | j | l | u | y | ; | - | + * |-----------------------------------------------------------------------| + * | BS | a | r | s | t | d | h | n | e | i | o | ' | + * |-----------------------------------------------------------------------| + * | SFT | z | x | c | v | b | k | m | , | . | / | Ent | + * |-----------------------------------------------------------------------| + * | CTL | GUI | Tab | ALT |Lower| Space |Raise|Left |Down | Up |Right| + * `-----------------------------------------------------------------------' + */ + {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Z, DE_SCLN, DE_MINS}, + {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, DE_QUOT}, + {M(0), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, DE_COMM, DE_DOT, DE_SLSH, KC_ENT}, + {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, F(2), F(3), F(3), F(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, +[1] = { /* Symbols + * ,-----------------------------------------------------------------------. + * | | | | | | | | | | | : | | + * |-----------------------------------------------------------------------| + * | | | | | | | | | | | | " | + * |-----------------------------------------------------------------------| + * | | | | | | | | | < | > | ? | | + * |-----------------------------------------------------------------------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------' + */ + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DOT, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQOT}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_MORE, DE_QST, 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} +}, +[2] = { /* Raise + * ,-----------------------------------------------------------------------. + * | | Ä | | | | | | | Ü | Ö | |Game | + * |-----------------------------------------------------------------------| + * | Del | ä | | ß | | | | | ü | ö | |FVol+| + * |-----------------------------------------------------------------------| + * | | | | | | | | |Stop | Prv | Nxt |FVol-| + * |-----------------------------------------------------------------------| + * |LCTL |LGUI | Tab |LALT |Lower| Space | |Mute |Vol- |Vol+ | P/P | + * `-----------------------------------------------------------------------' + */ + {KC_NO, S(DE_AE), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UE), S(DE_OE), KC_NO, F(4)}, + {KC_DEL, DE_AE, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UE, DE_OE, KC_NO, RALT(KC_F12)}, + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPRV, KC_MNXT, RALT(KC_F11)}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY} +}, +[3] = { /* Lower + * ,-----------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | + | + * |-----------------------------------------------------------------------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | + * |-----------------------------------------------------------------------| + * | | | | | | [ | ] | { | } | € | | \ | Ent | + * |-----------------------------------------------------------------------| + * |LCTL |LGUI | Tab |LALT | | Space |Raise|Home |PgDn |PgUp | End | + * `-----------------------------------------------------------------------' + */ + {DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_PLUS}, + {DE_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_EQL}, + {KC_NO, KC_NO, KC_NO, DE_PIPE, DE_LBRC, DE_RBRC, DE_LCBR, DE_RCBR, DE_EURO, KC_NO, DE_BSLS, KC_ENT}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END} +}, +[4] = { /* Function + * ,-----------------------------------------------------------------------. + * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | + * |-----------------------------------------------------------------------| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-----------------------------------------------------------------------| + * | | | | | | KP- | KP+ | | | | |Reset| + * |-----------------------------------------------------------------------| + * | |Light|BL DN|BL UP| | | | |Mute |Vol- |Vol+ | P/P | + * `-----------------------------------------------------------------------' + */ + {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24}, + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO}, + {KC_NO, BL_TOGG, BL_DEC, BL_INC, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY} +}, +[5] = { /* Gaming + * ,-----------------------------------------------------------------------. + * | Buy | ESC | q | w | e | r | t | y | u | i | o | p | + * |-----------------------------------------------------------------------| + * | ENT | BS | a | s | d | f | g | h | j | k | l | ; | + * |-----------------------------------------------------------------------| + * | CTL | SFT | z | x | c | v | b | n | m | , | Up | / | + * |-----------------------------------------------------------------------| + * | | | Tab | ALT | | Space |CrJmp| GUI |Left |Down |Right| + * `-----------------------------------------------------------------------' + */ + {MO(6), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, F(4)}, + {KC_ENT, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN}, + {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_DOT, KC_UP, DE_SLSH}, + {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT} +}, +[6] = { /* Gaming + /* CS:GO buy binds + * ,-----------------------------------------------------------------------. + * | | | | | | | | | 7 | 8 | 9 | | + * |-----------------------------------------------------------------------| + * | BS | | | | | | | | 6 | 5 | 4 | End | + * |-----------------------------------------------------------------------| + * | CTL | SFT | | | | | | | 1 | 2 | 3 |Pgdn | + * |-----------------------------------------------------------------------| + * | | | Tab | ALT | | Space |CrJmp| | 0 | KP+ |PEnt | + * `-----------------------------------------------------------------------' + */ + {KC_TRNS, KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_P7, KC_P8, KC_P9, KC_NO}, + {KC_BSPC, KC_NO, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_P4, KC_P5, KC_P6, KC_END}, + {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_P1, KC_P2, KC_P3, KC_PGDN}, + {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_NO, KC_P0, KC_PDOT, KC_PENT} +}, +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE + [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER + [3] = ACTION_LAYER_TAP_KEY(4,KC_SPC), // to Function + [4] = ACTION_LAYER_TOGGLE(5), // toggle Gaming + [5] = ACTION_MODS_TAP_KEY(KC_LSFT, KC_CAPS), //Shift on press, Caps on tap +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case 0: // M(0) + if (record->event.pressed) { + register_code(KC_LSFT); + layer_on(1); + } else { + layer_off(1); + unregister_code(KC_LSFT); + } + break; + case 1: // M(1) + if (record->event.pressed) { + unregister_code(KC_LSFT); + register_code(DE_MORE); + } else { + unregister_code(DE_MORE); + } + break; + } + return MACRO_NONE; + +};
\ No newline at end of file diff --git a/keyboard/planck/keymaps/lukas.c b/keyboard/planck/keymaps/lukas.c new file mode 100644 index 0000000000..6fd95378b1 --- /dev/null +++ b/keyboard/planck/keymaps/lukas.c @@ -0,0 +1,64 @@ +#include "planck.h" +#ifdef BACKLIGHT_ENABLE + #include "backlight.h" +#endif + +// This simple keymap is optimized for xmonad users using super as their modifier key. +// M(1) makes it possible to change virtual screens and swap windows between them. + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +#define _QW 0 +#define _LW 1 +#define _RS 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QW] = { /* Qwerty */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_LCTL, KC_LALT, KC_LGUI, M(1), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + }, + [_RS] = { /* RAISE */ + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} + }, + [_LW] = { /* LOWER */ + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +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); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + case 1: + if (record->event.pressed) { + register_code(KC_LGUI); + layer_on(_RS); + } else { + unregister_code(KC_LGUI); + layer_off(_RS); + } + break; + } + return MACRO_NONE; +}; diff --git a/new_project.sh b/new_project.sh index 199ced4113..28de9c2f9f 100755 --- a/new_project.sh +++ b/new_project.sh @@ -13,10 +13,9 @@ sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/config.h > keyboard/$KEYBOARD sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default.c > keyboard/$KEYBOARD/keymaps/default.c -cp quantum/template/bootloader.hex keyboard/$KEYBOARD/bootloader.hex echo "######################################################" echo "# keyboard/$KEYBOARD project created. To start" echo "# working on things, use the following command:" echo "# cd keyboard/$KEYBOARD" -echo "######################################################"
\ No newline at end of file +echo "######################################################" diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index ae109da16a..7068ca4f31 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -91,6 +91,9 @@ action_t action_for_key(uint8_t layer, keypos_t key) play_notes(&goodbye, 5, false); #endif _delay_ms(250); + #ifdef ATREUS_ASTAR + *(uint16_t *)0x0800 = 0x7777; // these two are a-star-specific + #endif bootloader_jump(); return; } else if (keycode == DEBUG) { // DEBUG is 0x5001 diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h new file mode 100644 index 0000000000..1ab2d63ddd --- /dev/null +++ b/quantum/keymap_extras/keymap_bepo.h @@ -0,0 +1,311 @@ +/* Keymap macros for the French BÉPO layout - http://bepo.fr */ +#ifndef KEYMAP_BEPO_H +#define KEYMAP_BEPO_H + +#include "keymap_common.h" + +// Alt gr +#ifndef ALTGR +#define ALTGR(kc) RALT(kc) +#endif +#ifndef ALGR +#define ALGR(kc) ALTGR(kc) +#endif +#define BP_ALGR KC_RALT + +// Normal characters +// First row (on usual keyboards) +#define BP_DOLLAR KC_GRAVE // $ +#define BP_DLR BP_DOLLAR +#define BP_DOUBLE_QUOTE KC_1 // " +#define BP_DQOT BP_DOUBLE_QUOTE +#define BP_LEFT_GUILLEMET KC_2 // « +#define BP_LGIL BP_LEFT_GUILLEMET +#define BP_RIGHT_GUILLEMET KC_3 // » +#define BP_RGIL BP_RIGHT_GUILLEMET +#define BP_LEFT_PAREN KC_4 // ( +#define BP_LPRN BP_LEFT_PAREN +#define BP_RIGHT_PAREN KC_5 // ) +#define BP_RPRN BP_RIGHT_PAREN +#define BP_AT KC_6 // @ +#define BP_PLUS KC_7 // + +#define BP_MINUS KC_8 // - +#define BP_MINS BP_MINUS +#define BP_SLASH KC_9 // / +#define BP_SLSH BP_SLASH +#define BP_ASTERISK KC_0 // * +#define BP_ASTR BP_ASTERISK +#define BP_EQUAL KC_MINUS // = +#define BP_EQL BP_EQUAL +#define BP_PERCENT KC_EQUAL // % +#define BP_PERC BP_PERCENT + +// Second row +#define BP_B KC_Q +#define BP_E_ACUTE KC_W // é +#define BP_ECUT BP_E_ACUTE +#define BP_P KC_E +#define BP_O KC_R +#define BP_E_GRAVE KC_T // è +#define BP_EGRV BP_E_GRAVE +#define BP_DEAD_CIRCUMFLEX KC_Y // dead ^ +#define BP_DCRC BP_DEAD_CIRCUMFLEX +#define BP_V KC_U +#define BP_D KC_I +#define BP_L KC_O +#define BP_J KC_P +#define BP_Z KC_LBRACKET +#define BP_W KC_RBRACKET + +// Third row +#define BP_A KC_A +#define BP_U KC_S +#define BP_I KC_D +#define BP_E KC_F +#define BP_COMMA KC_G // , +#define BP_COMM BP_COMMA +#define BP_C KC_H +#define BP_T KC_J +#define BP_S KC_K +#define BP_R KC_L +#define BP_N KC_SCOLON +#define BP_M KC_QUOTE +#define BP_C_CEDILLA KC_BSLASH // ç +#define BP_CCED BP_C_CEDILLA + +// Fourth row +#define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê +#define BP_ECRC BP_E_CIRCUMFLEX +#define BP_A_GRAVE KC_Z // à +#define BP_AGRV BP_A_GRAVE +#define BP_Y KC_X +#define BP_X KC_C +#define BP_DOT KC_V // . +#define BP_K KC_B +#define BP_APOSTROPHE KC_N +#define BP_APOS BP_APOSTROPHE // ' +#define BP_Q KC_M +#define BP_G KC_COMMA +#define BP_H KC_DOT +#define BP_F KC_SLASH + +// Shifted characters +// First row +#define BP_HASH LSFT(BP_DOLLAR) // # +#define BP_1 LSFT(KC_1) +#define BP_2 LSFT(KC_2) +#define BP_3 LSFT(KC_3) +#define BP_4 LSFT(KC_4) +#define BP_5 LSFT(KC_5) +#define BP_6 LSFT(KC_6) +#define BP_7 LSFT(KC_7) +#define BP_8 LSFT(KC_8) +#define BP_9 LSFT(KC_9) +#define BP_0 LSFT(KC_0) +#define BP_DEGREE LSFT(BP_EQUAL) // ° +#define BP_DEGR BP_DEGREE +#define BP_GRAVE LSFT(BP_PERCENT) // ` +#define BP_GRV BP_GRAVE + +// Second row +#define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // ! +#define BP_EXLM BP_EXCLAIM + +// Third row +#define BP_SCOLON LSFT(BP_COMMA) // ; +#define BP_SCLN BP_SCOLON + +// Fourth row +#define BP_COLON LSFT(BP_DOT) // : +#define BP_COLN BP_COLON +#define BP_QUESTION LSFT(BP_QUOTE) // ? +#define BP_QEST BP_QUESTION + +// Space bar +#define BP_NON_BREAKING_SPACE LSFT(KC_SPACE) +#define BP_NBSP BP_NON_BREAKING_SPACE + +// AltGr-ed characters +// First row +#define BP_EN_DASH ALTGR(BP_DOLLAR) // – +#define BP_NDSH BP_EN_DASH +#define BP_EM_DASH ALTGR(KC_1) // — +#define BP_MDSH BP_EM_DASH +#define BP_LESS ALTGR(KC_2) // < +#define BP_GREATER ALTGR(KC_3) // > +#define BP_GRTR BP_GREATER +#define BP_LBRACKET ALTGR(KC_4) // [ +#define BP_LBRC BP_LBRACKET +#define BP_RBRACKET ALTGR(KC_5) // ] +#define BP_RBRC BP_RBRACKET +#define BP_CIRCUMFLEX ALTGR(KC_6) // ^ +#define BP_CIRC BP_CIRCUMFLEX +#define BP_PLUS_MINUS ALTGR(KC_7) // ± +#define BP_PSMS BP_PLUS_MINUS +#define BP_MATH_MINUS ALTGR(KC_8) // − +#define BP_MMNS BP_MATH_MINUS +#define BP_OBELUS ALTGR(KC_9) // ÷ +#define BP_OBEL BP_OBELUS +// more conventional name of the symbol +#define BP_DIVISION_SIGN BP_OBELUS +#define BP_DVSN BP_DIVISION_SIGN +#define BP_TIMES ALTGR(KC_0) // × +#define BP_TIMS BP_TIMES +#define BP_DIFFERENT ALTGR(BP_EQUAL) // ≠ +#define BP_DIFF BP_DIFFERENT +#define BP_PERMILLE ALTGR(BP_PERCENT) // ‰ +#define BP_PMIL BP_PERMILLE + +// Second row +#define BP_PIPE ALTGR(BP_B) // | +#define BP_DEAD_ACUTE ALTGR(BP_E_ACUTE) // dead ´ +#define BP_DACT BP_DEAD_ACUTE +#define BP_AMPERSAND ALTGR(BP_P) // & +#define BP_AMPR BP_AMPERSAND +#define BP_OE_LIGATURE ALTGR(BP_O) // œ +#define BP_OE BP_OE_LIGATURE +#define BP_DEAD_GRAVE ALTGR(BP_E_GRAVE) // ` +#define BP_DGRV BP_DEAD_GRAVE +#define BP_INVERTED_EXCLAIM ALTGR(BP_DEAD_CIRCUMFLEX) // ¡ +#define BP_IXLM BP_INVERTED_EXCLAIM +#define BP_DEAD_CARON ALTGR(BP_V) // dead ˇ +#define BP_DCAR BP_DEAD_CARON +#define BP_ETH ALTGR(BP_D) // ð +#define BP_DEAD_SLASH ALTGR(BP_L) // dead / +#define BP_DSLH BP_DEAD_SLASH +#define BP_IJ_LIGATURE ALTGR(BP_J) // ij +#define BP_IJ BP_IJ_LIGATURE +#define BP_SCHWA ALTGR(BP_Z) // ə +#define BP_SCWA BP_SCHWA +#define BP_DEAD_BREVE ALTGR(BP_W) // dead ˘ +#define BP_DBRV BP_DEAD_BREVE + +// Third row +#define BP_AE_LIGATURE ALTGR(BP_A) // æ +#define BP_AE BP_AE_LIGATURE +#define BP_U_GRAVE AGR(BP_U) // ù +#define BP_UGRV BP_U_GRAVE +#define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis) +#define BP_DTRM BP_DEAD_TREMA +#define BP_EURO ALTGR(BP_E) // € +#define BP_TYPOGRAPHICAL_APOSTROPHE ALTGR(BP_COMMMA) // ’ +#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE +#define BP_COPYRIGHT ALTGR(BP_C) // © +#define BP_CPRT BP_COPYRIGHT +#define BP_THORN ALTGR(BP_T) // þ +#define BP_THRN BP_THORN +#define BP_SHARP_S ALTGR(BP_S) // ß +#define BP_SRPS BP_SHARP_S +#define BP_REGISTERED_TRADEMARK ALTGR(BP_R) // ® +#define BP_RTM BP_REGISTERED_TRADEMARK +#define BP_DEAD_TILDE ALTGR(BP_N) // dead ~ +#define BP_DTLD BP_DEAD_TILDE +#define BP_DEAD_MACRON ALTGR(BP_M) // dead ¯ +#define BP_DMCR BP_DEAD_MACRON +#define BP_DEAD_CEDILLA ALTGR(BP_C_CEDILLA) // dead ¸ +#define BP_DCED BP_DEAD_CEDILLA + +// Fourth row +#define BP_NONUS_SLASH ALTGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) +#define BP_NUSL BP_NONUS_SLASH +#define BP_BACKSLASH ALTGR(BP_A_GRAVE) /* \ */ +#define BP_BSLS BP_BACKSLASH +#define BP_LEFT_CURLY_BRACE ALTGR(BP_Y) // { +#define BP_LCBR BP_LEFT_CURLY_BRACE +#define BP_RIGHT_CURLY_BRACE ALTGR(BP_X) // } +#define BP_RCBR BP_RIGHT_CURLY_BRACE +#define BP_ELLIPSIS ALTGR(BP_DOT) // … +#define BP_ELPS BP_ELLIPSIS +#define BP_TILDE ALTGR(BP_K) // ~ +#define BP_TILD BP_TILDE +#define BP_INVERTED_QUESTION ALTGR(BP_QUESTION) // ¿ +#define BP_IQST BP_INVERTED_QUESTION +#define BP_DEAD_RING ALTGR(BP_Q) // dead ° +#define BP_DRNG BP_DEAD_RING +#define BP_DEAD_GREEK ALTGR(BP_G) // dead Greek key (following key will make a Greek letter) +#define BP_DGRK BP_DEAD_GREEK +#define BP_DAGGER ALTGR(BP_H) // † +#define BP_DAGR BP_DAGGER +#define BP_DEAD_OGONEK ALTGR(BP_F) // dead ˛ +#define BP_DOGO BP_DEAD_OGONEK + +// Space bar +#define BP_UNDERSCORE ALTGR(KC_SPACE) // _ +#define BP_UNDS BP_UNDERSCORE + +// AltGr-Shifted characters (different from capitalised AltGr-ed characters) +// First row +#define BP_PARAGRAPH ALTGR(BP_HASH) // ¶ +#define BP_PARG BP_PARAGRAPH +#define BP_LOW_DOUBLE_QUOTE ALTGR(BP_1) // „ +#define BP_LWQT BP_LOW_DOUBLE_QUOTE +#define BP_LEFT_DOUBLE_QUOTE ALTGR(BP_2) // “ +#define BP_LDQT BP_LEFT_DOUBLE_QUOTE +#define BP_RIGHT_DOUBLE_QUOTE ALTGR(BP_3) // ” +#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE +#define BP_LESS_OR_EQUAL ALTGR(BP_4) // ≤ +#define BP_LEQL BP_LESS_OR_EQUAL +#define BP_GREATER_OR_EQUAL ALTGR(BP_5) // ≥ +#define BP_GEQL BP_GREATER_OR_EQUAL +// nothing on ALTGR(BP_6) +#define BP_NEGATION ALTGR(BP_7) // ¬ +#define BP_NEGT BP_NEGATION +#define BP_ONE_QUARTER ALTGR(BP_8) // ¼ +#define BP_1QRT BP_ONE_QUARTER +#define BP_ONE_HALF ALTGR(BP_9) // ½ +#define BP_1HLF BP_ONE_HALF +#define BP_THREE_QUARTERS ALTGR(BP_0) // ¾ +#define BP_3QRT BP_THREE_QUARTERS +#define BP_MINUTES ALTGR(BP_DEGREE) // ′ +#define BP_MNUT BP_MINUTES +#define BP_SECONDS ALTGR(BP_GRAVE) // ″ +#define BP_SCND BP_SECONDS + +// Second row +#define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦ +#define BP_BPIP BP_BROKEN_PIPE +#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ +#define BP_DDCT BP_DEAD_DOUBLE_ACUTE +#define BP_SECTION ALTGR(LSFT(BP_P)) // § +#define BP_SECT BP_SECTION +// LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) +#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` +#define BP_GRVB BP_GRAVE_BIS + +// Third row +#define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙ +#define BP_DDTA BP_DEAD_DOT_ABOVE +#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) +#define BP_DCUR BP_DEAD_CURRENCY +#define BP_DEAD_HORN LSFT(ALTGR(BP_COMMA)) // dead ̛ +#define BP_DHRN BP_DEAD_HORN +#define BP_LONG_S LSFT(ALTGR(BP_C)) // ſ +#define BP_LNGS BP_LONG_S +#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ +#define BP_TM BP_TRADEMARK +#define BP_ORDINAL_INDICATOR_O LSFT(ALTGR(BP_M)) // º +#define BP_ORDO BP_ORDINAL_INDICATOR_O +#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ +#define BP_DCOM BP_DEAD_COMMA + +// Fourth row +#define BP_LEFT_QUOTE LSFT(ALTGR(BP_Y)) // ‘ +#define BP_LQOT BP_LEFT_QUOTE +#define BP_RIGHT_QUOTE LSFT(ALTGR(BP_X)) // ’ +#define BP_RQOT BP_RIGHT_QUOTE +#define BP_INTERPUNCT LSFT(ALTGR(BP_DOT)) // · +#define BP_IPCT BP_INTERPUNCT +#define BP_DEAD_HOOK_ABOVE LSFT(ALTGR(BP_QUESTION)) // dead ̉ +#define BP_DHKA BP_DEAD_HOOK_ABOVE +#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ +#define BP_DUDT BP_DEAD_UNDERDOT +#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ +#define BP_DDGR BP_DOUBLE_DAGGER +#define BP_ORDINAL_INDICATOR_A LSFT(ALTGR(BP_F)) // ª +#define BP_ORDA BP_ORDINAL_INDICATOR_A + +// Space bar +#define BP_NARROW_NON_BREAKING_SPACE ALTGR(BP_NON_BREAKING_SPACE) +#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE + +#endif diff --git a/quantum/keymap_extras/keymap_dvorak.h b/quantum/keymap_extras/keymap_dvorak.h index d172e0019b..93e355bf91 100644 --- a/quantum/keymap_extras/keymap_dvorak.h +++ b/quantum/keymap_extras/keymap_dvorak.h @@ -68,5 +68,7 @@ #define DV_RPRN LSFT(DV_0) #define DV_LCBR LSFT(DV_LBRC) #define DV_RCBR LSFT(DV_RBRC) +#define DV_UNDS LSFT(DV_MINS) +#define DV_PLUS LSFT(DV_EQL) -#endif
\ No newline at end of file +#endif diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h new file mode 100644 index 0000000000..d3884c19a1 --- /dev/null +++ b/quantum/keymap_extras/keymap_fr_ch.h @@ -0,0 +1,98 @@ +#ifndef KEYMAP_FR_CH +#define KEYMAP_FR_CH + +#include "keymap_common.h" + +// Alt gr +#define ALGR(kc) kc | 0x1400 +#define FR_CH_ALGR KC_RALT + +// normal characters +#define FR_CH_Z KC_Y +#define FR_CH_Y KC_Z + +#define FR_CH_A KC_A +#define FR_CH_B KC_B +#define FR_CH_C KC_C +#define FR_CH_D KC_D +#define FR_CH_E KC_E +#define FR_CH_F KC_F +#define FR_CH_G KC_G +#define FR_CH_H KC_H +#define FR_CH_I KC_I +#define FR_CH_J KC_J +#define FR_CH_K KC_K +#define FR_CH_L KC_L +#define FR_CH_M KC_M +#define FR_CH_N KC_N +#define FR_CH_O KC_O +#define FR_CH_P KC_P +#define FR_CH_Q KC_Q +#define FR_CH_R KC_R +#define FR_CH_S KC_S +#define FR_CH_T KC_T +#define FR_CH_U KC_U +#define FR_CH_V KC_V +#define FR_CH_W KC_W +#define FR_CH_X KC_X + +#define FR_CH_0 KC_0 +#define FR_CH_1 KC_1 +#define FR_CH_2 KC_2 +#define FR_CH_3 KC_3 +#define FR_CH_4 KC_4 +#define FR_CH_5 KC_5 +#define FR_CH_6 KC_6 +#define FR_CH_7 KC_7 +#define FR_CH_8 KC_8 +#define FR_CH_9 KC_9 + +#define FR_CH_DOT KC_DOT +#define FR_CH_COMM KC_COMM + +#define FR_CH_QUOT KC_MINS +#define FR_CH_AE KC_QUOT +#define FR_CH_UE KC_LBRC +#define FR_CH_OE KC_SCLN + +#define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~ +#define FR_CH_LESS KC_NUBS // < and > and backslash +#define FR_CH_MINS KC_SLSH // - and _ +#define FR_CH_DLR KC_BSLS // $, £ and } +#define FR_CH_PARA KC_GRV // § and ring ° +#define FR_CH_DIAE KC_RBRC // accent ¨ + +// shifted characters +#define FR_CH_RING LSFT(KC_GRV) // ° +#define FR_CH_EXLM LSFT(KC_RBRC) // ! +#define FR_CH_PLUS LSFT(KC_1) // + +#define FR_CH_DQOT LSFT(KC_2) // " +#define FR_CH_ASTR LSFT(KC_3) // * +#define FR_CH_PERC LSFT(KC_5) // % +#define FR_CH_AMPR LSFT(KC_6) // & +#define FR_CH_SLSH LSFT(KC_7) // / +#define FR_CH_LPRN LSFT(KC_8) // ( +#define FR_CH_RPRN LSFT(KC_9) // ) +#define FR_CH_EQL LSFT(KC_0) // = +#define FR_CH_QST LSFT(FR_CH_QUOT) // ? +#define FR_CH_MORE LSFT(FR_CH_LESS) // > +#define FR_CH_COLN LSFT(KC_DOT) // : +#define FR_CH_SCLN LSFT(KC_COMM) // ; +#define FR_CH_UNDS LSFT(FR_CH_MINS) // _ +#define FR_CH_CCED LSFT(KC_4) // ç +#define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave ` + +// Alt Gr-ed characters +#define FR_CH_LCBR ALGR(KC_QUOT) // { +#define FR_CH_LBRC ALGR(KC_LBRC) // [ +#define FR_CH_RBRC ALGR(KC_9) // ] +#define FR_CH_RCBR ALGR(KC_0) // } +#define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash +#define FR_CH_AT ALGR(KC_2) // @ +#define FR_CH_EURO ALGR(KC_E) // € +#define FR_CH_TILD ALGR(FR_CH_CIRC) // ~ +#define FR_CH_PIPE ALGR(KC_1) // | +#define FR_CH_HASH ALGR(KC_3) // # +#define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´ + +#endif diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h index ccfaed8f07..e03a121a2b 100644 --- a/quantum/keymap_extras/keymap_french.h +++ b/quantum/keymap_extras/keymap_french.h @@ -75,7 +75,7 @@ #define FR_CIRC ALGR(KC_9) #define FR_AT ALGR(KC_0) #define FR_RBRC ALGR(FR_RPRN) -#define FR_LCBR ALGR(FR_EQL) +#define FR_RCBR ALGR(FR_EQL) #define FR_EURO ALGR(KC_E) #define FR_BULT ALGR(FR_DLR) diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h index b011561e2f..da91b4bf46 100644 --- a/quantum/keymap_extras/keymap_german_osx.h +++ b/quantum/keymap_extras/keymap_german_osx.h @@ -12,7 +12,7 @@ #define DE_Z KC_Y #define DE_Y KC_Z -#define DE_A KC_A +#define DE_A KC_A #define DE_B KC_B #define DE_C KC_C #define DE_D KC_D @@ -87,7 +87,7 @@ // Alt-ed characters #define DE_SQ2 LALT(KC_2) // ² #define DE_SQ3 LALT(KC_3) // ³ -#define DE_LCBR LALT(KC_7) // { +#define DE_LCBR LALT(KC_8) // { #define DE_LBRC LALT(KC_5) // [ #define DE_RBRC LALT(KC_6) // ] #define DE_RCBR LALT(KC_9) // } diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h index 055d7d0d1e..a35ba55a55 100644 --- a/quantum/keymap_extras/keymap_neo2.h +++ b/quantum/keymap_extras/keymap_neo2.h @@ -35,6 +35,25 @@ #define NEO_UE DE_Y #define NEO_SS DE_UE +#define NEO_DOT DE_DOT +#define NEO_COMM DE_COMM + +#define NEO_1 DE_1 +#define NEO_2 DE_2 +#define NEO_3 DE_3 +#define NEO_4 DE_4 +#define NEO_5 DE_5 +#define NEO_6 DE_6 +#define NEO_7 DE_7 +#define NEO_8 DE_8 +#define NEO_9 DE_9 +#define NEO_0 DE_0 +#define NEO_MINS DE_SS + +#define NEO_ACUT DE_PLUS +#define NEO_GRV DE_ACUT +#define NEO_CIRC DE_CIRC + #define NEO_L1_L KC_CAPS #define NEO_L1_R DE_HASH diff --git a/quantum/keymap_extras/keymap_norwegian.c b/quantum/keymap_extras/keymap_norwegian.c new file mode 100644 index 0000000000..018bfeae59 --- /dev/null +++ b/quantum/keymap_extras/keymap_norwegian.c @@ -0,0 +1,41 @@ +#ifndef KEYMAP_NORWEGIAN_H +#define KEYMAP_NORWEGIAN_H + +#include "keymap_nordic.h" + +// There are slight differrences in the keyboards in the nordic contries + +// Norwegian redifinitions from the nordic keyset +#undef NO_ACUT +#define NO_ACUT ALGR(NO_BSLS) // ´ +#undef NO_AE +#define NO_AE KC_QUOT // æ +#undef NO_BSLS +#define NO_BSLS KC_EQL // '\' +#undef NO_CIRC +#define NO_CIRC LSFT(C_RBRC) // ^ +#undef NO_GRV +#define NO_GRV LSFT(NO_BSLS) // +#undef NO_OSLH +#define NO_OSLH KC_SCLN // ø +#undef NO_PIPE +#define NO_PIPE KC_GRV // | + +// Additional norwegian keys not defined in the nordic keyset +#define NO_AA KC_LBRC // å +#define NO_ASTR LSFT(KC_BSLS) // * + +// Norwegian unique MAC characters +#define NO_ACUT_MAC KC_EQL // = +#define NO_APOS_MAC KC_NUBS // ' +#define NO_AT_MAC KC_BSLS // @ +#define NO_BSLS_MAC ALGR(LSFT(KC_7)) // '\' +#define NO_DLR_MAC LSFT(KC_4) // $ +#define NO_GRV_MAC ALGR(NO_BSLS) // ` +#define NO_GRTR_MAC LSFT(KC_GRV) // > +#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // } +#define NO_LESS_MAC KC_GRV // > +#define NO_PIPE_MAC ALGR(KC_7) // | +#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // } + +#endif diff --git a/quantum/template/template.h b/quantum/template/template.h index d4d78e4c91..a15061b267 100644 --- a/quantum/template/template.h +++ b/quantum/template/template.h @@ -12,7 +12,7 @@ // The second converts the arguments into a two-dimensional array #define KEYMAP( \ k00, k01, k02, \ - k10, k11, \ + k10, k11 \ ) \ { \ { k00, k01, k02 }, \ |