diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-06-21 22:39:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-21 22:39:54 -0400 |
commit | 649b33d7783cf3021928534b7ae127e0a89e8807 (patch) | |
tree | c2b5e0cf8ff4aa2918e3b88ab75dbdb071cc0a1d /keyboards/retro_refit | |
parent | 464c8e274f993d3571fe5ea5e836fe55a3912ffe (diff) |
Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
* fixes from tmk's repo
* rename keyboard to keyboards
Diffstat (limited to 'keyboards/retro_refit')
-rw-r--r-- | keyboards/retro_refit/Makefile | 74 | ||||
-rw-r--r-- | keyboards/retro_refit/README.md | 24 | ||||
-rw-r--r-- | keyboards/retro_refit/config.h | 123 | ||||
-rw-r--r-- | keyboards/retro_refit/keymaps/default/compiled.hex | 1423 | ||||
-rw-r--r-- | keyboards/retro_refit/keymaps/default/keymap.c | 33 | ||||
-rw-r--r-- | keyboards/retro_refit/retro_refit.c | 68 | ||||
-rw-r--r-- | keyboards/retro_refit/retro_refit.h | 45 |
7 files changed, 1790 insertions, 0 deletions
diff --git a/keyboards/retro_refit/Makefile b/keyboards/retro_refit/Makefile new file mode 100644 index 0000000000..2dd8cc5f79 --- /dev/null +++ b/keyboards/retro_refit/Makefile @@ -0,0 +1,74 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=512 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality +# MIDI_ENABLE ?= YES # MIDI controls +# UNICODE_ENABLE ?= YES # Unicode +# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID + + +ifndef QUANTUM_DIR + include ../../Makefile +endif + diff --git a/keyboards/retro_refit/README.md b/keyboards/retro_refit/README.md new file mode 100644 index 0000000000..c64e1b8066 --- /dev/null +++ b/keyboards/retro_refit/README.md @@ -0,0 +1,24 @@ +retro_refit keyboard firmware +====================== + +## Quantum MK Firmware + +For the full Quantum feature list, see [the parent README.md](/README.md). + +## Building + +Download or clone the whole firmware and navigate to the keyboards/retro_refit folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default +To build with the default keymap, simply run `make`. + +### Other Keymaps +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top README.md) and existent keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: +``` +$ make KEYMAP=[default|jack|<name>] +``` +Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
\ No newline at end of file diff --git a/keyboards/retro_refit/config.h b/keyboards/retro_refit/config.h new file mode 100644 index 0000000000..f2194e550c --- /dev/null +++ b/keyboards/retro_refit/config.h @@ -0,0 +1,123 @@ +/* +Copyright 2012 Jun Wako <wakojun@gmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nobody +#define PRODUCT retro_refit +#define DESCRIPTION Retro Refit + +/* key matrix size */ +#define MATRIX_ROWS 11 +#define MATRIX_COLS 8 + +// See note in retro_refit.h for an explanation of how this matrix is wired up +#define MATRIX_ROW_PINS { D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 } +#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D3, C7, D5 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 0 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + +/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +#define FORCE_NKRO + +/* + * Magic key options + * These options allow the magic key functionality to be changed. This is useful + * if your keyboard/keypad is missing keys and you want magic key support. + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* remap magic keys */ +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +#define MAGIC_KEY_LOCK BSLS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/retro_refit/keymaps/default/compiled.hex b/keyboards/retro_refit/keymaps/default/compiled.hex new file mode 100644 index 0000000000..870787585c --- /dev/null +++ b/keyboards/retro_refit/keymaps/default/compiled.hex @@ -0,0 +1,1423 @@ +:100000000C94A8060C94EC060C94EC060C94EC06EC
+:100010000C94EC060C94EC060C94EC060C94EC0698
+:100020000C94EC060C94EC060C94D4110C94A612CF
+:100030000C9472200C94EC060C94EC060C94EC06D8
+:100040000C94EC060C94EC060C94EC060C94EC0668
+:100050000C94EC060C94DA200C94EC060C94EC0650
+:100060000C94EC060C94EC060C94EC060C94EC0648
+:100070000C94EC060C94EC060C94EC060C94EC0638
+:100080000C94EC060C94EC060C94EC060C94EC0628
+:100090000C94EC060C94EC060C94EC060C94EC0618
+:1000A0000C94EC060C94EC060C94EC06131335132C
+:1000B0002314351323147A139D132314F2130514F8
+:1000C0003317331762176217A117C117F118F11808
+:1000D000CC17F1187C187C18E218F118F118EB18FD
+:1000E0008918891889188918891889188918891808
+:1000F00089188918891889188918891889188918F8
+:100100009918A718AE18B518BF183F003E003D005B
+:100110003C003B003A00E3002C00E0004600E50014
+:1001200038003700360010001100050019000600E5
+:100130001B001D00E200E1003500340033000F0019
+:100140000E000D000B000A00090007001600040055
+:100150003100280030002F00130012000C0018009E
+:100160001C001700150008001A0014002B002A00BC
+:100170002E002D0027002600250024002300220049
+:10018000210020001F001E002900000000000000C8
+:10019000000000004C0049004E0051004D000000DE
+:1001A0004F004800500000004B0052004A0047003A
+:1001B000530043004200410040000A444542554775
+:1001C0003A20656E61626C65642E0A005374617436
+:1001D00065206F6620726F772025583A20253031D0
+:1001E00036620A0048756D616E2D726561646162E8
+:1001F0006C65206D61747269782073746174653AFE
+:100200000D0A004465626F756E63696E67206465F0
+:100210006C61792072656D61696E696E673A20253F
+:10022000580A005B735D004B6579626F61726420F0
+:1002300073746172742E0A005B575D005B535D003E
+:100240005B525D005B445D005B435D001803720020
+:100250006500740072006F005F0072006500660048
+:100260006900740000000E034E006F0062006F0012
+:100270006400790000000403090409028D000501EF
+:1002800000A0FA0904000001030101000921110185
+:100290000001223F000705810308000A090401004C
+:1002A0000103010200092111010001224D0007058F
+:1002B000820308000A09040200010300000009216A
+:1002C000110100012236000705830308000A090412
+:1002D0000300020300000009211101000122200097
+:1002E0000705840320000107050403200001090419
+:1002F000040001030000000921110100012239005E
+:10030000070585031000011201100100000008ED2F
+:10031000FE606001000102000105010906A101055E
+:100320000719E029E71500250195087501810205E7
+:10033000081901290595057501910295017503912B
+:1003400001050719002977150025019578750181A8
+:1003500002C00631FF0974A1010975150025FF953A
+:1003600020750881020976150025FF9520750891F2
+:1003700002C005010980A101850216010026B7000F
+:100380001A01002AB700751095018100C0050C09FB
+:1003900001A1018503160100269C021A01002A9C76
+:1003A00002751095018100C005010902A101090132
+:1003B000A1000509190129051500250195057501FB
+:1003C000810295017503810105010930093115810B
+:1003D000257F95027508810609381581257F9501CD
+:1003E00075088106050C0A38021581257F9501756F
+:1003F000088106C0C005010906A101050719E02909
+:10040000E7150025019508750181029501750881A0
+:1004100001050819012905950575019102950175D8
+:100420000391010507190029FF150025FF950675A1
+:10043000088100C00A002530325820006B657962BF
+:100440006F6172645F7265706F72743A20004B6501
+:1004500079626F617264204C4544732073746174D7
+:10046000653A2025780A0064656C5F6B65795F6288
+:1004700069743A2063616E27742064656C3A2025A4
+:100480003032580A006164645F6B65795F62697439
+:100490003A2063616E2774206164643A202530320B
+:1004A000580A00646F6E652E0A00626F6F676D6197
+:1004B000676963207363616E3A202E2E2E20002917
+:1004C0000A002575002F002575005D2800256400B1
+:1004D0002000256400200025640020002564007CA5
+:1004E0000025303258006D6F7573656B6579205B40
+:1004F00062746E7C782079207620685D2872657041
+:100500002F61636C293A205B006D6B5F77686565CE
+:100510006C5F74696D655F746F5F6D6178203D20FD
+:1005200025640A006D6B5F776865656C5F6D617847
+:100530005F7370656564203D2025640A006D6B5F04
+:1005400074696D655F746F5F6D6178203D2025640F
+:100550000A006D6B5F6D61785F7370656564203D47
+:100560002025640A006D6B5F696E74657276616C3C
+:10057000203D2025640A006D6B5F64656C61792005
+:100580003D2025640A006D6B5F776865656C5F745C
+:10059000696D655F746F5F6D6178203D2025640A29
+:1005A000006D6B5F776865656C5F6D61785F737018
+:1005B000656564203D2025640A006D6B5F74696D7C
+:1005C000655F746F5F6D6178203D2025640A006D62
+:1005D0006B5F6D61785F7370656564203D20256495
+:1005E0000A006D6B5F696E74657276616C203D20E8
+:1005F00025640A006D6B5F64656C6179203D202580
+:10060000640A000A00257500363A20776865656C33
+:100610005F74696D655F746F5F6D61783A20000A81
+:1006200000257500353A20776865656C5F6D6178E7
+:100630005F73706565643A20000A00257500343ADE
+:100640002074696D655F746F5F6D61783A20000A90
+:1006500000257500333A206D61785F7370656564BD
+:100660003A20000A00257500323A20696E746572DE
+:1006700076616C286D73293A20000A0025750031D7
+:100680003A2064656C6179282A31306D73293A20EB
+:10069000000A092D2056616C756573202D0A004DE6
+:1006A0003E004D25643E20003F0073657420646564
+:1006B0006661756C740A00433E2000776865726558
+:1006C0002064656C74613A20637572736F723D25A6
+:1006D000642C20776865656C3D25640A5365652048
+:1006E000687474703A2F2F656E2E77696B69706528
+:1006F0006469612E6F72672F77696B692F4D6F7513
+:1007000073655F6B6579730A000A092D204D6F755B
+:1007100073656B6579202D0A4553432F713A097132
+:100720007569740A313A0964656C6179282A313037
+:100730006D73290A323A09696E74657276616C28A4
+:100740006D73290A333A096D61785F73706565646A
+:100750000A343A0974696D655F746F5F6D61780A78
+:10076000353A09776865656C5F6D61785F737065B0
+:1007700065640A363A09776865656C5F74696D650A
+:100780005F746F5F6D61780A0A703A097072696E02
+:10079000742076616C7565730A643A097365742018
+:1007A00064656661756C74730A75703A092B310A59
+:1007B000646F776E3A092D310A706775703A092BAC
+:1007C00031300A7067646F776E3A092D31300A0A4A
+:1007D0007370656564203D2064656C7461202A2017
+:1007E0006D61785F7370656564202A20287265707A
+:1007F000656174202F2074696D655F746F5F6D6132
+:1008000078290A003F004D3E2000433E20004C2541
+:10081000640A0074696D65725F636F756E743A2067
+:100820002530346C580A006B6579626F6172645FC1
+:100830006E6B726F3A2025580A006B6579626F61A2
+:1008400072645F69646C653A2025580A006B6579AB
+:10085000626F6172645F70726F746F636F6C3A2065
+:1008600025580A00686F73745F6B6579626F6172F7
+:10087000645F6C65647328293A2025580A000A09C8
+:100880002D20537461747573202D0A004743433A39
+:1008900020342E392E32204156522D4C4942433AB3
+:1008A00020312E382E31204156525F415243483A72
+:1008B00020617672350A004F5054494F4E533A200A
+:1008C0004C55464120424F4F544D41474943204DDE
+:1008D0004F5553454B45592045585452414B455966
+:1008E00020434F4E534F4C4520434F4D4D414E44B6
+:1008F000204E4B524F203531320A004255494C446C
+:100900003A20313637313865662D64697274792042
+:100910002832333A35333A3330204A756E20203945
+:100920002032303136290A005649443A2030784680
+:10093000454544284E6F626F647929205049443AF6
+:100940002030783630363028726574726F5F726589
+:1009500066697429205645523A203078303030315B
+:100960000A00444553433A20526574726F20526521
+:100970006669740A000A092D2056657273696F6EE4
+:10098000202D0A000A092D20436F6E736F6C6520BD
+:100990002D0A4553432F713A09717569740A6D3AEE
+:1009A000096D6F7573656B65790A000A092D204D15
+:1009B00061676963202D0A443A09446562756720BE
+:1009C0004D65737361676520546F67676C650A587E
+:1009D0003A094D6174726978204465627567204DEB
+:1009E0006F646520546F67676C65202D2053686FB6
+:1009F00077206B65797072657373657320696E20FB
+:100A00006D617472697820677269640A4B3A094BA8
+:100A10006579626F61726420446562756720546F06
+:100A200067676C65202D2053686F77206B65797040
+:100A300072657373207265706F72740A4D3A09445F
+:100A400065627567204D6F75736520546F67676CBD
+:100A5000650A563A0956657273696F6E0A533A0908
+:100A60005374617475730A433A094163746976611A
+:100A7000746520436F6E736F6C65204D6F64650AFB
+:100A800046312D4631303A095377697463682074D2
+:100A90006F204C6179657220302D39202846313025
+:100AA000203D204C30290A302D393A09537769749A
+:100AB000636820746F204C6179657220302D390A8B
+:100AC0004553433A0953776974636820746F204C27
+:100AD0006179657220302028616C7465726E617472
+:100AE00065206B65792031290A47524156453A09FC
+:100AF00053776974636820746F204C617965722044
+:100B0000302028616C7465726E617465206B657944
+:100B10002032290A50415553453A094A756D7020D3
+:100B2000746F20426F6F746C6F616465722028521D
+:100B300065736574290A453A095072696E742045D7
+:100B40004550524F4D2053657474696E67730A4E59
+:100B50003A094E4B524F20546F67676C650A000A82
+:100B6000002575002E6E6B726F3A20000A00257505
+:100B7000002E737761705F6261636B736C61736881
+:100B80005F6261636B73706163653A20000A0025E0
+:100B900075002E737761705F67726176655F65734C
+:100BA000633A20000A002575002E6E6F5F67756935
+:100BB0003A20000A002575002E737761705F72611C
+:100BC0006C745F726775693A20000A002575002E03
+:100BD000737761705F6C616C745F6C6775693A20E4
+:100BE000000A002575002E636170736C6F636B5F84
+:100BF000746F5F636F6E74726F6C3A20000A002529
+:100C000075002E737761705F636F6E74726F6C5FC7
+:100C1000636170736C6F636B3A20000A0025303299
+:100C200058006B65796D61705F636F6E6669672EE2
+:100C30007261773A20000A002575002E6D6F75737A
+:100C4000653A20000A002575002E6B6579626F6198
+:100C500072643A20000A002575002E6D6174726975
+:100C6000783A20000A002575002E656E61626C6579
+:100C70003A20000A00253032580064656275675FCB
+:100C8000636F6E6669672E7261773A20000A0025ED
+:100C9000750064656661756C745F6C617965723A44
+:100CA00020003F004E4B524F3A206F66660A004EBE
+:100CB0004B524F3A206F6E0A000A6D6F7573653A9A
+:100CC000206F66660A000A6D6F7573653A206F6E55
+:100CD0000A000A6B6579626F6172643A206F66661A
+:100CE0000A000A6B6579626F6172643A206F6E0A5E
+:100CF000000A6D61747269783A206F66660A000AAC
+:100D00006D61747269783A206F6E0A000A646562D8
+:100D100075673A206F66660A000A64656275673A0D
+:100D2000206F6E0A000A0A4A756D70696E6720743A
+:100D30006F20626F6F746C6F616465722E2E2E204F
+:100D400000433E20006565636F6E6669673A0A007E
+:100D500011241FBECFEFDAE0DEBFCDBF04B603FE25
+:100D600024C080910B0290910C02A0910D02B091D1
+:100D70000E028730904BA740B04BB9F410920B0293
+:100D800010920C0210920D0210920E0214BE84B743
+:100D9000877F84BF88E10FB6F8948093600010923B
+:100DA00060000FBEE0E0FFE3099511E0A0E0B1E0D4
+:100DB000E8E8F8E502C005900D92AC34B107D9F728
+:100DC00012E0ACE4B1E001C01D92AB30B107E1F735
+:100DD0000E940E0F0C94422C0C940000FF93EF9392
+:100DE000E0914C01F0914D01309709F00995EF9198
+:100DF000FF910895FC018591803011F0EFDFFBCF6A
+:100E00000895FF27E0E230E247FF0CC0419597FFCD
+:100E100009C0EDE26095709580959095611D711DFA
+:100E2000811D911D27FF02C0219530E350E2AA27C2
+:100E3000660F771F881F991FAA1FA41710F0A41B05
+:100E400063955A95A9F7AA3008F0A95FA05DAF9302
+:100E5000F395611571058105910541F7ED3211F4A6
+:100E6000EF93F395F21718F43F93F395FBCF8F911F
+:100E7000B5DFFA95E1F70895E991F9918591803010
+:100E800021F0853219F0AADFF9CF089520E0E89427
+:100E900055915532C1F3503311F4689455915A333A
+:100EA00048F4505390F3220F022E220F220F200DF0
+:100EB000250FF4CF0EF4219589919991533619F3AA
+:100EC000533729F1533559F1BC0188279927E89404
+:100ED0005C3621F48991999168945591543639F48E
+:100EE00046EF7EF077FF0DC08FEF9FEF0AC05537BA
+:100EF0004AE039F0583540E121F0523642E009F03D
+:100F00000895FF93EF937DDFEF91FF91B7CFFF93AC
+:100F1000EF93FC0181918030B9F360DFFBCFFF9349
+:100F2000EF9368DFF1CFDF93CF93CDB7DEB7259690
+:100F3000A3DFCF91DF91089508950895569A5E9AA0
+:100F40000C949C0781FF02C0509A01C05098589899
+:100F500080FF02C0519A01C05198599882FF02C087
+:100F60003E9A01C03E9846980C949D0761110BC0B3
+:100F7000FC018281882321F085EE0E94D71503C0F1
+:100F800085EE0E949F1680E090E00895089581E02C
+:100F9000089581E008950C94C90708950F931F9355
+:100FA000CF93DF938C01FC01C081D181CE010E94DF
+:100FB000551EBE010E947B08EC01B8010E94CB07C0
+:100FC000882309F48DC0F8018281882309F44AC07E
+:100FD0008091590181111FC0C431F0E5DF0709F08C
+:100FE00051C00E94CD0781E0809359010E94A42046
+:100FF0009093580180935701109250011092520122
+:101000001092510110925401109253011092560106
+:101010001092550165C080915701909158010E942E
+:10102000B020883C910570F480915001E82FF0E0E9
+:10103000EE0FFF1FEF5AFE4FD183C0838F5F809367
+:1010400050014EC0C43880E5D80721F0C538D045DE
+:1010500001F13AC0F8018281882341F010924E01DB
+:1010600082E01EC0C438E0E5DE0759F580914E01EC
+:10107000811106C086E20E94D71586E20E949F1663
+:1010800082E01CC0C438F0E5DF0741F3C538D04525
+:10109000D9F4F8018281882331F010924F0180E267
+:1010A0000E94EE161DC080914F01811106C087E29B
+:1010B0000E94D71587E20E949F1680E20E94F516D3
+:1010C0000FC0C538D04529F381E080934E0180934D
+:1010D0004F01C801DF91CF911F910F910C94C70769
+:1010E00080E0DF91CF911F910F9108950C949E079E
+:1010F0000C94C6070895E72FF0E09BE0899FE00D70
+:10110000F11D112483E0EE0FFF1F8A95E1F7E60F32
+:10111000F11DEE0FFF1FE65FFE4F8591949108953C
+:10112000880F991FFC01E657F0408591949108952E
+:10113000880F991FFC01E65FFE4F859194910895F9
+:101140000F931F93CF93DF93EC01811520E3920758
+:1011500050F5C11580E2D80708F0C3C0CB3BD105DC
+:1011600090F4C83AD10508F06AC0C53AD10508F034
+:101170005BC0C430D10508F0D4C1219709F0CEC1BD
+:1011800001E010E00EC2CF3FD10511F008F0C9C157
+:10119000C03FD10508F0A2C0CE01805E910908973A
+:1011A00008F4BFC1BBC1C13090E5D90709F4A2C0A2
+:1011B00020F5C0318FE4D80770F4C11590E4D90749
+:1011C00008F094C0C11521E3D20708F0A7C1DD27BC
+:1011D0008E01106CE6C1C115D04509F09FC10E9477
+:1011E0005C198FEF94E32CE0815090402040E1F7B0
+:1011F00000C000000E94FF20D4C1C11597E5D907A7
+:1012000058F4C03121E5D20708F020C1C43180E58F
+:10121000D80708F479C082C1CE019057811590415A
+:1012200008F07CC1DF7077C1C53AD10509F47BC1F4
+:10123000C63AD10509F07AC102E810E4B2C1C83A51
+:10124000D10509F476C1C93AD10509F475C1CA3A84
+:10125000D10509F474C1CB3AD10509F473C1CC3A74
+:10126000D10509F472C1CD3AD10509F471C1C03B71
+:10127000D10509F470C1CE3AD10509F46FC1CF3A56
+:10128000D10509F46EC1C13BD10509F46DC1C23B62
+:10129000D10509F46CC1C33BD10509F46BC1C43B52
+:1012A000D10509F46AC1C53BD10509F469C1C63B42
+:1012B000D10509F468C1C73BD10509F467C1C83B32
+:1012C000D10509F466C1C93BD10509F465C1CA3B22
+:1012D000D10509F464C100E014E463C18E01106516
+:1012E00060C1CE019F700E9498085CC1DF708E01C2
+:1012F000106A57C18AEB91E00E94FA068091EC01D6
+:1013000081608093EC014DC10E94AC22811102C02A
+:101310000E9492220E94C92290E090930B02809337
+:101320000A02C23080E5D80721F480910A02816068
+:1013300086C0C43090E5D90721F480910A0282600A
+:101340007EC0C63020E5D20721F480910A02846075
+:1013500076C0C83080E5D80719F480910A0227C00A
+:10136000CA3090E5D90721F480910A02806167C0F4
+:10137000CC3020E5D20721F480910A0280625FC060
+:10138000CE3080E5D80721F480910A02806457C0EE
+:10139000C03190E5D90721F480910A0280684FC0DE
+:1013A000C23120E5D20729F480910A028460886066
+:1013B00046C0C33080E5D80721F480910A028E7FB1
+:1013C0003EC0C53090E5D90721F480910A028D7F97
+:1013D00036C0C73020E5D20721F480910A028B7F06
+:1013E0002EC0C93080E5D80719F480910A0226C0C2
+:1013F000CB3090E5D90721F480910A028F7E1FC07F
+:10140000CD3020E5D20721F480910A028F7D17C0EC
+:10141000CF3080E5D80721F480910A028F7B0FC07E
+:10142000C13190E5D90721F480910A028F7707C076
+:10143000C331D04531F480910A028B7F877F80933E
+:101440000A0280910A020E94CD22ABC08D2F9927FB
+:101450008F70992781309105D9F49E01237033272D
+:1014600002C0880F991F2A95E2F79C688E0144E01C
+:10147000000F111F4A95E1F700271370802B912B65
+:1014800053E0CC0FDD1F5A95E1F7C076DD272FC062
+:101490008230910531F4DC2FCC278E01016F106A68
+:1014A00080C08330910569F4CE018370992701E0F3
+:1014B00010E002C0000F111F8A95E2F7C8019C6876
+:1014C0000FC084309105B9F4CE018370992701E0F3
+:1014D00010E002C0000F111F8A95E2F7C8019A6858
+:1014E00023E0CC0FDD1F2A95E1F7C07ED7708C0179
+:1014F0000C2B1D2B56C08530910531F4DC2FCC27E9
+:101500008E01046F106A4DC0069709F04AC0CF7172
+:10151000DD27DC2FCC278E01106243C000E010E0F5
+:1015200040C08E013EC001E810E43BC003E810E477
+:1015300038C002EE14E435C009EE14E432C00AEEFD
+:1015400014E42FC005EB14E42CC006EB14E429C00E
+:1015500007EB14E426C00CEC14E423C00DEC14E4F7
+:1015600020C003E815E41DC00AE815E41AC002E92A
+:1015700015E417C004E915E414C001E216E411C033
+:1015800003E216E40EC004E216E40BC005E216E422
+:1015900008C006E216E405C007E216E402C00AE24B
+:1015A00016E4C801DF91CF911F910F910895E72FA5
+:1015B000F0E09BE0899FE00DF11D112483E0EE0F28
+:1015C000FF1F8A95E1F7E60FF11DEE0FFF1FE65FA3
+:1015D000FE4F85919491803E9105E0F4803C910509
+:1015E00058F58133910509F46FC048F489329105AB
+:1015F00009F463C08A32910509F46DC072C0893361
+:101600009105E9F082389105D1F08533910509F40F
+:101610004DC067C0833E910581F138F4803E91054D
+:10162000B9F0823E9105D9F05CC0863E910561F12A
+:10163000873E9105A1F155C00E9490080895209120
+:101640000A0220FD02C021FF4CC080EE90E049C09C
+:1016500080910A0280FFF9CF89E390E042C0809137
+:101660000A0282FF0EC080910A0284FF03C080E05C
+:1016700090E037C083EE90E034C080910A0282FF90
+:10168000F2CF82EE90E02DC080910A0283FF0BC062
+:1016900080910A0284FDEBCF87EE90E022C080911A
+:1016A0000A0283FFF5CF86EE90E01BC080910A020C
+:1016B00085FF07C089E290E014C080910A0285FF8F
+:1016C000F9CF85E390E00DC080910A0286FF07C044
+:1016D0008AE290E006C080910A0286FFF9CF81E39A
+:1016E00090E00E94A00808950C94A207E82FF0E073
+:1016F000E35EFE4F8081E82FEF70F0E082958F70FF
+:1017000021E030E0A90102C0440F551F8A95E2F79D
+:1017100040A308950F931F93CF93DF9385B78068FD
+:1017200085BF85B7806885BFCAE0D0E001E010E0E2
+:10173000FE01E35EFE4F8081E82FEF70F0E021A113
+:1017400082958F70A80102C0440F551F8A95E2F759
+:10175000CA01822B81A38C2F0E94760B219740F720
+:1017600087E090E061E070E0FC01EB5EFE4F2081DD
+:10177000E22FEF70F0E042A122952F70DB0102C052
+:10178000AA0FBB1F2A95E2F79D01242B22A30197E4
+:1017900058F7DF91CF911F910F910C947608EF923B
+:1017A000FF920F931F93CF93DF9305E611E0CAE0FA
+:1017B000EE24E394F12CD5E08C2F0E94760B87E089
+:1017C00090E040E0FC01EB5EFE4F5081E52FEF70B2
+:1017D000F0E020A130E052955F7002C0359527956A
+:1017E0005A95E2F720FD07C09701082E01C0220F8D
+:1017F0000A94EAF7422B019728F7F80182918F01AA
+:10180000841719F04083D09300018C2F0E94760B2F
+:10181000C15090F68091000187FD32C09091EC019B
+:1018200090FF10C0282F332727FD30953F938F93CB
+:1018300083E092E09F938F930E9493070F900F9005
+:101840000F900F908091000181508093000187FDDF
+:1018500007C08FE99FE00197F1F700C0000010C0BA
+:1018600080E090E0FC01EB59FE4FDC01A65ABE4F30
+:101870001A962C9122870197853FEFEF9E0791F7EB
+:101880000E94780881E0DF91CF911F910F91FF9026
+:10189000EF900895E82FF0E0EB59FE4F8081089516
+:1018A0000F931F93CF93DF938091EC0180FF04C0CF
+:1018B00084EE91E00E94FA06C0E0D0E00CEC11E06A
+:1018C0008091EC0180FF15C0FE01EB59FE4F808135
+:1018D00090E00E9419209F938F93DF93CF931F93E3
+:1018E0000F930E9493070F900F900F900F900F90FF
+:1018F0000F902196CB30D10519F7DF91CF911F9131
+:101900000F9108950F931F93CF9300E711E0C0E06C
+:10191000F80182918F0190E00E94F71FC80FF1E05B
+:1019200005361F07A9F78C2FCF911F910F910895AE
+:101930008091830108959FB7F894109272019FBF20
+:1019400090910102943009F057C09091E9009F7086
+:101950003091EC00232F217030FD20E8922B24E001
+:101960002093E9002091EB0020FF43C02091EE007E
+:1019700027FF3FC020917001222321F02091E80031
+:1019800025FF37C01092700126E03091E80035FD48
+:1019900015C030910102343061F53091EB0035FD16
+:1019A00028C0215021F481E08093700122C0EFE92A
+:1019B000FFE03197F1F700C00000E7CF8093F1001E
+:1019C0008091E80085FD0AC08091E80080FFFCCF8F
+:1019D0008091E8008E778093E80006C08FB7F89476
+:1019E00021E0209372018FBF9F709093E90080E007
+:1019F00008959F709093E9008FEF0895CF93DF9340
+:101A000000D01F92CDB7DEB79C01809101028430D7
+:101A100019F593E099833B832A839093E9008FEF34
+:101A20009091E800815095FD06C095ED9A95F1F7EB
+:101A300000008111F5CF8091E80085FF0DC040E0E6
+:101A400050E063E070E0CE0101960E94C40F8091E7
+:101A5000E8008E778093E8000F900F900F90DF9151
+:101A6000CF910895CF93DF9300D01F92CDB7DEB70B
+:101A700020910102243021F522E029839B838A836F
+:101A800083E08093E9008FEF9091E800815095FD0D
+:101A900006C095ED9A95F1F700008111F5CF809180
+:101AA000E80085FF0DC040E050E063E070E0CE014B
+:101AB00001960E94C40F8091E8008E778093E80021
+:101AC0000F900F900F90DF91CF9108952091010218
+:101AD0002430F1F422E02093E9002FEF3091E80068
+:101AE000215035FD06C035ED3A95F1F70000211182
+:101AF000F5CF2091E80025FF0BC040E050E065E005
+:101B000070E00E94C40F8091E8008E778093E80017
+:101B10000895CF93DF9320910102243009F048C04B
+:101B2000EC0180910B018823E1F080910C01882366
+:101B3000C1F085E08093E9008FEF9091E80081503B
+:101B400095FD06C095E19A95F1F700008111F5CF5A
+:101B50008091E80085FF2CC040E050E060E170E03B
+:101B600017C081E08093E9008FEF9091E8008150E9
+:101B700095FD06C095ED9A95F1F700008111F5CF1E
+:101B80008091E80085FF14C040E050E068E070E01C
+:101B9000CE010E94C40F8091E8008E778093E80008
+:101BA00080E1FE01A3E7B1E001900D928A95E1F793
+:101BB000DF91CF91089588E492E00E94FA06809127
+:101BC0000002811109C00E9459110E94B611809132
+:101BD000E20084608093E200089584E492E00E9431
+:101BE000FA0610920002089580E492E00C94FA063E
+:101BF0008CE392E00C94FA0688E392E00E94FA06E5
+:101C00000C946C20209171012F5F822F62E30E945F
+:101C1000D22B992319F0209371010895109271012C
+:101C200080917201882371F180910102843041F525
+:101C30008091E9008F702091EC00922F917020FD2F
+:101C400090E8892B94E09093E9009091EB0090FF4D
+:101C500014C09091EE0097FF10C09091E80095FF9E
+:101C600003C01092F100F9CF9091E80090FF05C0F9
+:101C70009091E8009E779093E8008F708093E90040
+:101C800010927201089542E061EC81E00E94D3104D
+:101C900042E061EC82E00E94D31042E061EC83E01C
+:101CA0000E94D31042E261EC84E00E94D31042E132
+:101CB00061EC85E00C94D31080910302833009F429
+:101CC00055C030F4813071F0823009F48EC008952F
+:101CD0008A3009F47AC08B3009F460C0893009F089
+:101CE0009CC020C080910202813A09F096C0809188
+:101CF000E800877F8093E8008091060290910702B8
+:101D0000892B21F460E183E791E003C060E080E08B
+:101D100090E070E00E940F108091E8008B77809334
+:101D2000E800089580910202813209F076C0809126
+:101D3000060290910702009719F0049709F06DC010
+:101D40008091E800877F8093E8008091E80082FD21
+:101D500005C0809101028111F8CF5FC08091F10030
+:101D6000809383018091E8008B7753C080910202B9
+:101D7000813A09F052C08091060290910702892BA6
+:101D800009F04BC08091E800877F8093E800809144
+:101D9000E80080FFFCCF80910B0136C080910202E9
+:101DA0008132D9F58091060290910702892BA9F51D
+:101DB0008091E800877F8093E8000E94081180915D
+:101DC000040280930B010C945C1980910202813211
+:101DD00021F58091E800877F8093E8000E94081138
+:101DE0008091050280938401089580910202813AD6
+:101DF000A1F48091E800877F8093E8008091E8005B
+:101E000080FFFCCF809184018093F1008091E800F5
+:101E10008E778093E8000C940811089584B7877F2B
+:101E200084BF88E10FB6F894809360001092600040
+:101E30000FBE90E080E80FB6F89480936100909315
+:101E400061000FBE0E94E8140E9459110E94B61151
+:101E50008091E20084608093E2008BE99CE00E9424
+:101E6000F21F78940E943B140E94EA1481E091E0F2
+:101E70000E94561487E292E00E94FA0680910102C5
+:101E8000853089F483E292E00E94FA060E943320B2
+:101E90008091FF01882391F30E945E20882371F3D3
+:101EA0000E94AE0FEBCF0E941215E8CF292F3327E7
+:101EB00023303105C9F064F42130310581F022303E
+:101EC000310509F043C08DE890E02AE732E042C0D6
+:101ED00021323105F1F02232310541F137C082E182
+:101EE00090E027E033E036C099278130910541F03A
+:101EF0008230910541F0892B49F5E6E7F2E005C013
+:101F0000E6E6F2E002C0ECE4F2E0849190E09F01AA
+:101F100021C06530D8F4E62FF0E0EE0FFF1FE95C3A
+:101F2000FE4F2081318189E090E014C0653070F46B
+:101F300070E0FB01EE0FFF1FE35DFE4F208131815A
+:101F4000FB01E85DFE4F808190E004C080E090E0FE
+:101F500020E030E0FA0131832083089580E189BDDB
+:101F600082E189BD09B400FEFDCF8091D8008F7D4C
+:101F70008093D8008091E00082608093E00080919F
+:101F8000E00081FDFCCF0895CF92DF92EF92FF92A7
+:101F90000F931F93CF93DF93EC018B016A010E9493
+:101FA0002711811133C0C114D10439F0F6018081A9
+:101FB0009181081B190BC80FD91FE12CF12C0115B9
+:101FC000110519F18091E80085FD16C08091E800A7
+:101FD0008E778093E800C114D10449F0F601808126
+:101FE0009181E80EF91EF182E08285E00FC00E9427
+:101FF0002711882321F30AC089918093F1000150B1
+:102000001109FFEFEF1AFF0ADACF80E0DF91CF91DD
+:102010001F910F91FF90EF90DF90CF900895209146
+:102020000802309109022617370748F0611571053B
+:1020300039F42091E8002E772093E80001C0B9011F
+:1020400040E061157105A9F120910102222309F4F4
+:1020500043C0253009F442C02091E80023FD40C070
+:102060002091E80022FD32C02091E80020FFE9CF56
+:102070004091F3002091F20030E0342BFC01CF01BD
+:102080006115710559F02830310540F48191809334
+:10209000F100615071092F5F3F4FF1CF41E02830CF
+:1020A000310509F040E02091E8002E772093E80008
+:1020B000C8CF4111C9CF0AC080910102882361F0C5
+:1020C000853061F08091E80083FD0AC08091E800CE
+:1020D00082FFF2CF80E0089582E0089583E00895C2
+:1020E00081E00895209108023091090226173707F0
+:1020F00048F06115710539F42091E8002E7720939E
+:10210000E80001C0B901FC0120E06115710591F101
+:1021100080910102882309F440C0853009F43FC052
+:102120008091E80083FD3DC08091E80082FD2FC0D2
+:102130008091E80080FFE9CF2091F3008091F200C8
+:1021400090E0922B6115710559F08830910540F4AB
+:1021500024912093F1003196615071090196F2CFDC
+:1021600021E0089709F020E08091E8008E778093C5
+:10217000E800CBCF2111CCCF0AC080910102882387
+:1021800061F0853061F08091E80083FD0AC08091A4
+:10219000E80082FFF2CF80E0089582E0089583E0B6
+:1021A000089581E00895982F973058F59093E900AD
+:1021B000981739F07091EC002091ED005091F000EB
+:1021C00003C0242F762F50E021FF19C03091EB007F
+:1021D0003E7F3093EB003091ED003D7F3093ED007A
+:1021E0003091EB0031603093EB007093EC00209362
+:1021F000ED005093F0002091EE0027FF07C09F5F95
+:10220000D3CF8F708093E90081E0089580E0089536
+:102210008091020287FF11C08091E80082FD05C015
+:10222000809101028111F8CF11C08091E8008B7775
+:102230000BC080910102882349F08091E80080FF63
+:10224000F8CF8091E8008E778093E8000895209180
+:10225000E4003091E50095E64091EC00842F817018
+:1022600040FF22C08091E80080FD1CC080910102E7
+:10227000882391F0853091F08091EB0085FD10C0AE
+:102280004091E4005091E5004217530729F39A0169
+:10229000915011F784E0089582E0089583E0089555
+:1022A00081E0089580E008954091E80042FFDECF8C
+:1022B00008950E94C7110E94CF11E0EEF0E08081E6
+:1022C00081608083E8EDF0E080818F77808319BCA6
+:1022D000A7EDB0E08C918E7F8C9380818F7E808380
+:1022E0001092000208950F931F93CF93DF930E94E3
+:1022F000C7110E94CF11C8EDD0E088818F77888305
+:1023000088818068888388818F7D888319BC10923A
+:1023100001021092FD011092FF011092FE0100EEE9
+:1023200010E0F80180818B7F8083888181608883C1
+:1023300042E060E080E00E94D310E1EEF0E08081B6
+:102340008E7F8083E2EEF0E08081816080838081F7
+:1023500088608083F80180818E7F8083888180619E
+:102360008883DF91CF911F910F910895E8EDF0E000
+:1023700080818F7E8083E7EDF0E0808181608083C3
+:1023800084E082BF81E0809300020C947311E8ED39
+:10239000F0E080818E7F80831092E2000895109299
+:1023A000DA001092E10008951F920F920FB60F927B
+:1023B00011242F933F934F935F936F937F938F934A
+:1023C0009F93AF93BF93EF93FF938091E10082FFC0
+:1023D0000BC08091E20082FF07C08091E1008B7FFB
+:1023E0008093E1000E94020E8091DA0080FF1FC0FE
+:1023F0008091D80080FF1BC08091DA008E7F80938F
+:10240000DA008091D90080FF0DC080E189BD82E1B2
+:1024100089BD09B400FEFDCF81E0809301020E94D6
+:10242000DB0D05C019BC109201020E94ED0D8091D8
+:10243000E10080FF19C08091E20080FF15C080910B
+:10244000E2008E7F8093E2008091E20080618093C1
+:10245000E2008091D80080628093D80019BC85E0AA
+:10246000809301020E94F80D8091E10084FF30C04A
+:102470008091E20084FF2CC080E189BD82E189BDAA
+:1024800009B400FEFDCF8091D8008F7D8093D800E5
+:102490008091E1008F7E8093E1008091E2008F7E49
+:1024A0008093E2008091E20081608093E20080915D
+:1024B000FD01882311F084E007C08091E30087FDCF
+:1024C00002C081E001C083E0809301020E94FC0D04
+:1024D0008091E10083FF29C08091E20083FF25C045
+:1024E0008091E100877F8093E10082E08093010288
+:1024F0001092FD018091E1008E7F8093E100809138
+:10250000E2008E7F8093E2008091E2008061809300
+:10251000E20042E060E080E00E94D3108091F00091
+:1025200088608093F0000E94F40DFF91EF91BF91BD
+:10253000AF919F918F917F916F915F914F913F915B
+:102540002F910F900FBE0F901F9018951F920F9212
+:102550000FB60F9211242F933F934F935F936F9376
+:102560007F938F939F93AF93BF93CF93DF93EF931B
+:10257000FF93C091E900CF708091EC00D82FD1700B
+:1025800080FDD0E81092E9008091F000877F809371
+:10259000F00078940E94EA121092E9008091F00015
+:1025A00088608093F000CD2BCF70C093E900FF913D
+:1025B000EF91DF91CF91BF91AF919F918F917F91DB
+:1025C0006F915F914F913F912F910F900FBE0F90A0
+:1025D0001F9018951F93CF93DF93CDB7DEB7AA97BF
+:1025E0000FB6F894DEBF0FBECDBFE2E0F2E088E0A8
+:1025F0008E0F9091F10091938E13FBCF0E945C0E91
+:102600008091E80083FF1FC1809102029091030234
+:10261000492F50E04A30510508F015C1FA01EA5A35
+:10262000FF4F0C94F22B803881F0823809F00BC1F7
+:10263000809106028F708093E9008091EB0085FB0A
+:10264000882780F91092E90006C08091FE019091E0
+:10265000FF01911182609091E800977F9093E800CC
+:102660008093F1001092F100C8C0282F2D7F09F04F
+:10267000EAC0882319F0823061F0E5C0809104023D
+:10268000813009F0 |