summaryrefslogtreecommitdiff
path: root/keyboard/kc60/keymaps/stanleylai
diff options
context:
space:
mode:
authorStanley Lai <stanleylai.sg@gmail.com>2016-06-20 21:49:54 -0700
committerJack Humbert <jack.humb@gmail.com>2016-06-21 00:49:54 -0400
commitc976c03547e069d76bb26577fbbfc29c894d17fa (patch)
tree59dd72065f72db0580b77b457196ba7e1415f4f3 /keyboard/kc60/keymaps/stanleylai
parent650e77c6576b7893b430ba210be6ae439e363516 (diff)
Added stanleylai's personal keymap (#420)
* Added WS2812 support for KC60 * Reorganized WS2812 support into its own keymap * Fixed relative link in README * Moved WS2812 mention in README to the bottom * Fixed titling in WS2812 README * Reverted KC60 Makefile and default keymap back * Moved RGB specific config.h to ws2812 keymap folder * Added my personal keymap * Updated compiled hex * Reverted KC60 files to 3f6fac47 before pull request #419
Diffstat (limited to 'keyboard/kc60/keymaps/stanleylai')
-rw-r--r--keyboard/kc60/keymaps/stanleylai/Makefile63
-rw-r--r--keyboard/kc60/keymaps/stanleylai/README.md26
-rw-r--r--keyboard/kc60/keymaps/stanleylai/base_layer.pngbin0 -> 35164 bytes
-rw-r--r--keyboard/kc60/keymaps/stanleylai/compiled.hex1773
-rw-r--r--keyboard/kc60/keymaps/stanleylai/config.h3
-rw-r--r--keyboard/kc60/keymaps/stanleylai/keymap.c151
-rw-r--r--keyboard/kc60/keymaps/stanleylai/rgb_layer.pngbin0 -> 19192 bytes
7 files changed, 2016 insertions, 0 deletions
diff --git a/keyboard/kc60/keymaps/stanleylai/Makefile b/keyboard/kc60/keymaps/stanleylai/Makefile
new file mode 100644
index 0000000000..633ab01801
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/Makefile
@@ -0,0 +1,63 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+# Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+# (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= no # Console for debug(+400)
+COMMAND_ENABLE ?= no # Commands for debug and configuration
+KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE ?= yes # Enable WS2812 underglow RGB strip
+MIDI_ENABLE ?= no # MIDI controls
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no # Audio output on port C6
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE ?= yes # USB Nkey Rollover
+
+ifndef QUANTUM_DIR
+ include ../../Makefile
+endif
diff --git a/keyboard/kc60/keymaps/stanleylai/README.md b/keyboard/kc60/keymaps/stanleylai/README.md
new file mode 100644
index 0000000000..a7daa6e77f
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/README.md
@@ -0,0 +1,26 @@
+Stanley Lai's Split Right Shift with Dedicated Arrow Keys
+======================
+
+![Image of KC60 with RGB Underglow](../ws2812/ws2812_example.jpg)
+
+## Quantum MK Firmware
+For the full Quantum feature list, see [the parent README.md](/README.md).
+
+## Keymap Notes
+- Keymap setup with split Right Shift in mind.
+- Right-side modifiers are setup as dedicated arrow keys
+
+### Base Layer Reference
+- Fn Layer indicated on keycap front legends.
+- Tapping Caps Lock key toggles Caps. Holding it down momentarily switches us to the Fn Layer.
+- Holding down "Fn" and "Page Down" momentarily switches us to the RGB Layer. Tapping "Page Down" behaves as expected.
+![Base Layer](base_layer.jpg)
+
+### RGB Layer Reference
+![RGB Layer](rgb_layer.jpg)
+
+## WS2812 Support
+By default, it is now setup for 16 LEDs on the PF5 breakout pin. See [included image](../ws2812/ws2812_wiring.jpg) for wiring reference.
+
+### Build
+To build this keymap, simply run `make KEYMAP=stanleylai`.
diff --git a/keyboard/kc60/keymaps/stanleylai/base_layer.png b/keyboard/kc60/keymaps/stanleylai/base_layer.png
new file mode 100644
index 0000000000..97235c6af4
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/base_layer.png
Binary files differ
diff --git a/keyboard/kc60/keymaps/stanleylai/compiled.hex b/keyboard/kc60/keymaps/stanleylai/compiled.hex
new file mode 100644
index 0000000000..b65c14cd40
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/compiled.hex
@@ -0,0 +1,1773 @@
+:100000000C9408090C944F090C944F090C944F0957
+:100010000C944F090C944F090C944F090C944F0900
+:100020000C944F090C944F090C94C31B0C94951C11
+:100030000C942B2A0C944F090C944F090C944F09E3
+:100040000C944F090C944F090C944F090C944F09D0
+:100050000C944F090C94932A0C944F090C944F095B
+:100060000C944F090C944F090C944F090C944F09B0
+:100070000C944F090C944F090C944F090C944F09A0
+:100080000C9462160C944F090C944F090C944F0970
+:100090000C944F090C944F090C944F090C944F0980
+:1000A0000C944F090C944F090C944F09570A740A89
+:1000B000A50A7B0A820A890A900A970A9E0A021DEB
+:1000C000241D171E241D171E691D8C1D171EE11DE2
+:1000D000F41D4621462175217521B121CF2111231F
+:1000E0001123DA2111237F227F22E522ED22112321
+:1000F0000C238C228C228C228C228C228C228C220F
+:100100008C228C228C228C228C228C228C228C227F
+:100110008C229C22AA22B122B822C22200F001F035
+:1001200002F003F004F005F006F007F008F00020FC
+:100130001E001F00200021002200230024002500B3
+:10014000260027002D002E002A002B0014001A0084
+:100150000800150017001C0018000C001200130006
+:100160002F0030003100394104001600070009005B
+:100170000A000B000D000E000F00330034000000D9
+:100180002800E10000001D001B000600190005000A
+:100190001100100036003700380001515200E00015
+:1001A000E200E300000000002C000000000000005E
+:1001B0000000E700500051004F0035003A003B00BE
+:1001C0003C003D003E003F00400041004200430033
+:1001D000440045004C000000AC005200AB000000A1
+:1001E000000000000000000000004600470048003A
+:1001F00049000100500051004F00000000000000C5
+:1002000000000000000000000000000000000100ED
+:100210000000A800AA00A9000000000000000000E3
+:1002200000000000000001004B420100010001003D
+:1002300000000000AE00000000000000000001000F
+:100240004A004E004D000070000000000000000059
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000100000001203C
+:1002A00002200320042005200620072008203270A9
+:1002B0003170010001000100010001000000000098
+:1002C000010000000000000000000100010001002A
+:1002D00001000A44454255473A20656E61626C65EB
+:1002E000642E0A005374617465206F6620726F7704
+:1002F0002025583A2025303136620A0048756D6154
+:100300006E2D7265616461626C65206D61747269E5
+:10031000782073746174653A0D0A004465626F75E4
+:100320006E63696E672064656C61792072656D61CA
+:10033000696E696E673A2025580A0054494D455246
+:10034000332064697361626C65642E0A0054494D00
+:1003500045523320656E61626C65642E0A007267D7
+:10036000626C696768742073657420687376205BBB
+:10037000454550524F4D5D3A2025752C25752C254D
+:10038000750A007267626C6967687420746F6767CA
+:100390006C653A207267626C696768745F636F6E40
+:1003A0006669672E656E61626C65203D2025750A61
+:1003B000007267626C69676874206D6F64653A20CB
+:1003C00025750A007267626C696768745F696E6997
+:1003D00074207267626C696768745F636F6E6669C8
+:1003E000672E6D6F6465203D20302E205772697432
+:1003F000652064656661756C742076616C756573E3
+:1004000020746F20454550524F4D2E0A007267628E
+:100410006C696768745F696E6974206565636F6E87
+:10042000666967206973206E6F7420656E61626C07
+:1004300065642E0A007267626C696768745F696E32
+:100440006974207374617274210A007267626C6946
+:100450006768745F696E69742063616C6C65642E93
+:100460000A007267626C696768745F636F6E6669C1
+:10047000672E76616C203D2025640A007267626CED
+:10048000696768745F636F6E6669672E7361742055
+:100490003D2025640A007267626C696768745F6357
+:1004A0006F6E6669672E687565203D2025640A00B9
+:1004B0007267686C696768745F636F6E6669672EE0
+:1004C0006D6F6465203D2025640A007267626C6967
+:1004D0006768745F636F6E6669672E656E61626CD4
+:1004E00065203D2025640A007267626C6967687444
+:1004F0005F636F6E666967206570726F6D0A006575
+:1005000065636F6E6669675F7570646174655F725D
+:1005100067626C696768745F64656661756C740AAC
+:1005200000643214643214783C1E1E140A05000064
+:1005300000000101010202030405050607090A0B78
+:100540000C0E0F1112141517191B1D1F212325281E
+:100550002A2C2F313436393B3E414346494C4F52C9
+:1005600055585A5D6164676A6D707376797C7F83D4
+:1005700086898C8F9295989B9EA2A5A7AAADB0B3B1
+:10058000B6B9BCBEC1C4C6C9CBCED0D3D5D7DADCD0
+:10059000DEE0E2E4E6E8EAEBEDEEF0F1F3F4F5F6A6
+:1005A000F8F9FAFAFBFCFDFDFEFEFEFFFFFFFFFF80
+:1005B000FFFFFEFEFEFDFDFCFBFAFAF9F8F6F5F48E
+:1005C000F3F1F0EEEDEBEAE8E6E4E2E0DEDCDAD7C8
+:1005D000D5D3D0CECBC9C6C4C1BEBCB9B6B3B0ADFD
+:1005E000AAA7A5A29E9B9895928F8C898683807CD2
+:1005F000797673706D6A6764615D5A5855524F4CD5
+:10060000494643413E3B393634312F2C2A28252395
+:10061000211F1D1B1917151412110F0E0C0B0A099F
+:1006200007060505040302020101010000000001A4
+:100630000102020202020203030303030303030392
+:10064000030303030304040404040404040404046F
+:100650000405050505050505050505060606060646
+:100660000606060707070707070708080808080817
+:100670000909090909090A0A0A0A0A0B0B0B0B0BDB
+:100680000C0C0C0C0C0D0D0D0D0E0E0E0E0F0F0F95
+:10069000101010101111111212121313131414143C
+:1006A0001515161616171718181919191A1A1B1BCB
+:1006B0001C1C1D1D1E1E1F2020212122232324243B
+:1006C000252626272828292A2B2B2C2D2E2F303083
+:1006D0003132333435363738393A3B3C3D3E3F4092
+:1006E000414244454647494A4B4C4E4F515253555F
+:1006F00056585A5B5D5E6062636567696B6D6E70CC
+:10070000727476797B7D7F818486888B8D909295BB
+:10071000979A9D9FA2A5A8ABAEB1B4B7BABEC1C40B
+:10072000C8CBCFD3D6DADEE2E6EAEEF2F8FF5B73AF
+:100730005D004B6579626F617264207374617274DD
+:100740002E0A005B575D005B535D005B525D005BF2
+:10075000445D005B435D000E036B006300360030B8
+:1007600000760032000000080359006F0075000099
+:10077000000403090409027400040100A0FA09043A
+:1007800000000103010100092111010001224000C4
+:100790000705810308000A090401000103010200A2
+:1007A000092111010001224D000705820308000AFA
+:1007B00009040200010300000009211101000122C7
+:1007C00036000705830308000A090403000203003A
+:1007D00000000921110100012220000705840320E7
+:1007E00000010705040320000112011001000000B0
+:1007F00008EDFE60600100010200010631FF09748E
+:10080000A1010975150025FF95207508810209765B
+:10081000150025FF952075089102C005010980A1EA
+:1008200001850216010026B7001A01002AB70075DB
+:100830001095018100C0050C0901A1018503160175
+:1008400000269C021A01002A9C0275109501810065
+:10085000C005010902A1010901A100050919012929
+:100860000515002501950575018102950175038126
+:10087000010501093009311581257F95027508812F
+:100880000609381581257F950175088106050C0A32
+:1008900038021581257F950175088106C0C00501C4
+:1008A0000906A101050719E029E7150025019508AA
+:1008B0007501810295017508810105081901290555
+:1008C00095057501910295017503910105071900C0
+:1008D00029FF150026FF00950675088100C00A0053
+:1008E0002530325820006B6579626F6172645F72E7
+:1008F00065706F72743A20004B6579626F61726443
+:10090000204C4544732073746174653A2025780A3D
+:1009100000646F6E652E0A00626F6F676D616769B4
+:1009200063207363616E3A202E2E2E2000290A0068
+:100930002575002F002575005D2800256400200026
+:10094000256400200025640020002564007C00252B
+:10095000303258006D6F7573656B6579205B62741A
+:100960006E7C782079207620685D287265702F6112
+:10097000636C293A205B006D6B5F776865656C5F1F
+:1009800074696D655F746F5F6D6178203D202564CB
+:100990000A006D6B5F776865656C5F6D61785F738A
+:1009A00070656564203D2025640A006D6B5F746985
+:1009B0006D655F746F5F6D6178203D2025640A006E
+:1009C0006D6B5F6D61785F7370656564203D202598
+:1009D000640A006D6B5F696E74657276616C203DB0
+:1009E0002025640A006D6B5F64656C6179203D2091
+:1009F00025640A006D6B5F776865656C5F74696D6F
+:100A0000655F746F5F6D6178203D2025640A006D1D
+:100A10006B5F776865656C5F6D61785F7370656546
+:100A200064203D2025640A006D6B5F74696D655F0D
+:100A3000746F5F6D6178203D2025640A006D6B5FE7
+:100A40006D61785F7370656564203D2025640A00E0
+:100A50006D6B5F696E74657276616C203D202564F4
+:100A60000A006D6B5F64656C6179203D2025640A26
+:100A7000000A00257500363A20776865656C5F745A
+:100A8000696D655F746F5F6D61783A20000A0025BB
+:100A90007500353A20776865656C5F6D61785F73C6
+:100AA000706565643A20000A00257500343A2074A8
+:100AB000696D655F746F5F6D61783A20000A00258B
+:100AC0007500333A206D61785F73706565643A2014
+:100AD000000A00257500323A20696E7465727661ED
+:100AE0006C286D73293A20000A00257500313A20E0
+:100AF00064656C6179282A31306D73293A20000AC7
+:100B0000092D2056616C756573202D0A004D3E003D
+:100B10004D25643E20003F00736574206465666166
+:100B2000756C740A00433E20007768657265206426
+:100B3000656C74613A20637572736F723D25642C25
+:100B400020776865656C3D25640A53656520687487
+:100B500074703A2F2F656E2E77696B6970656469C2
+:100B6000612E6F72672F77696B692F4D6F75736593
+:100B70005F6B6579730A000A092D204D6F757365E7
+:100B80006B6579202D0A4553432F713A09717569B8
+:100B9000740A313A0964656C6179282A31306D73C1
+:100BA000290A323A09696E74657276616C286D7330
+:100BB000290A333A096D61785F73706565640A3498
+:100BC0003A0974696D655F746F5F6D61780A353AD3
+:100BD00009776865656C5F6D61785F7370656564E2
+:100BE0000A363A09776865656C5F74696D655F748C
+:100BF0006F5F6D61780A0A703A097072696E7420CD
+:100C000076616C7565730A643A097365742064656E
+:100C10006661756C74730A75703A092B310A646FDA
+:100C2000776E3A092D310A706775703A092B3130A9
+:100C30000A7067646F776E3A092D31300A0A737053
+:100C4000656564203D2064656C7461202A206D61B7
+:100C5000785F7370656564202A202872657065610D
+:100C600074202F2074696D655F746F5F6D617829E2
+:100C70000A003F004D3E2000433E20004C25640A00
+:100C80000074696D65725F636F756E743A2025300C
+:100C9000346C580A006B6579626F6172645F6964D5
+:100CA0006C653A2025580A006B6579626F61726441
+:100CB0005F70726F746F636F6C3A2025580A00681A
+:100CC0006F73745F6B6579626F6172645F6C65648A
+:100CD0007328293A2025580A000A092D20537461E7
+:100CE000747573202D0A004743433A20352E332E66
+:100CF00030204156522D4C4942433A20322E302E5C
+:100D000030204156525F415243483A206176723555
+:100D10000A004F5054494F4E533A204C55464120FB
+:100D2000424F4F544D41474943204D4F5553454B3A
+:100D300045592045585452414B455920434F4E5335
+:100D40004F4C4520434F4D4D414E442034303936B1
+:100D50000A004255494C443A20756E6B6E6F776EAF
+:100D6000202830323A35383A3231204A756E2032F6
+:100D7000312032303136290A005649443A20307841
+:100D80004645454428596F7529205049443A20303A
+:100D90007836303630286B63363076322920564527
+:100DA000523A203078303030310A00444553433ACB
+:100DB000204120637573746F6D206B6579626F617C
+:100DC00072640A000A092D2056657273696F6E20DD
+:100DD0002D0A000A092D20436F6E736F6C65202D5C
+:100DE0000A4553432F713A09717569740A6D3A09BE
+:100DF0006D6F7573656B65790A000A092D204D6169
+:100E0000676963202D0A443A094465627567204D7D
+:100E100065737361676520546F67676C650A583A3C
+:100E2000094D6174726978204465627567204D6F61
+:100E3000646520546F67676C65202D2053686F7759
+:100E4000206B65797072657373657320696E206DB0
+:100E5000617472697820677269640A4B3A094B655C
+:100E600079626F61726420446562756720546F67B0
+:100E7000676C65202D2053686F77206B65797072E1
+:100E8000657373207265706F72740A4D3A09446518
+:100E9000627567204D6F75736520546F67676C6569
+:100EA0000A563A0956657273696F6E0A533A0953C6
+:100EB00074617475730A433A0941637469766174A5
+:100EC0006520436F6E736F6C65204D6F64650A46D5
+:100ED000312D4631303A0953776974636820746F55
+:100EE000204C6179657220302D3920284631302020
+:100EF0003D204C30290A302D393A09537769746303
+:100F00006820746F204C6179657220302D390A4554
+:100F100053433A0953776974636820746F204C61B6
+:100F200079657220302028616C7465726E61746519
+:100F3000206B65792031290A47524156453A0953B9
+:100F4000776974636820746F204C61796572203012
+:100F50002028616C7465726E617465206B65792000
+:100F600032290A50415553453A094A756D7020742B
+:100F70006F20426F6F746C6F6164657220285265D8
+:100F8000736574290A453A095072696E74204545A3
+:100F900050524F4D2053657474696E67730A000A8E
+:100FA000002575002E6C6576656C3A20000A0025D8
+:100FB00075002E656E61626C653A20000A0025306E
+:100FC0003258006261636B6C696768745F636F6E4F
+:100FD0006669672E7261773A20000A002575002E37
+:100FE0006E6B726F3A20000A002575002E737761D0
+:100FF000705F6261636B736C6173685F6261636B86
+:1010000073706163653A20000A002575002E7377BE
+:1010100061705F67726176655F6573633A20000A8D
+:10102000002575002E6E6F5F6775693A20000A0013
+:101030002575002E737761705F72616C745F7267E3
+:1010400075693A20000A002575002E737761705F7C
+:101050006C616C745F6C6775693A20000A002575D5
+:10106000002E636170736C6F636B5F746F5F636F8F
+:101070006E74726F6C3A20000A002575002E73772B
+:1010800061705F636F6E74726F6C5F636170736CBD
+:101090006F636B3A20000A0025303258006B657987
+:1010A0006D61705F636F6E6669672E7261773A205B
+:1010B000000A002575002E6D6F7573653A20000AD1
+:1010C000002575002E6B6579626F6172643A2000AD
+:1010D0000A002575002E6D61747269783A20000A45
+:1010E000002575002E656E61626C653A20000A006D
+:1010F000253032580064656275675F636F6E66699C
+:10110000672E7261773A20000A00257500646566D3
+:1011100061756C745F6C617965723A20003F000AFA
+:101120006D6F7573653A206F66660A000A6D6F759C
+:1011300073653A206F6E0A000A6B6579626F61729F
+:10114000643A206F66660A000A6B6579626F6172A5
+:10115000643A206F6E0A000A6D61747269783A20F1
+:101160006F66660A000A6D61747269783A206F6E64
+:101170000A000A64656275673A206F66660A000AAB
+:1011800064656275673A206F6E0A000A0A4A756DD7
+:1011900070696E6720746F20626F6F746C6F61642A
+:1011A00065722E2E2E2000433E20006565636F6E13
+:1011B0006669673A0A006261636B6C6967687420EC
+:1011C000737465703A2025750A006261636B6C69FF
+:1011D00067687420746F67676C653A2025750A002C
+:1011E0006261636B6C6967687420646563726561D2
+:1011F00073653A2025750A006261636B6C696768E4
+:101200007420696E6372656173653A2025750A0002
+:1012100011241FBECFEFDAE0DEBFCDBF04B603FE60
+:1012200027C080913F0290914002A0914102B0916D
+:1012300042028730904BA740B04BD1F410923F024E
+:1012400010924002109241021092420214BE84B7E2
+:10125000877F84BF0FB6F894A8958091600088615D
+:1012600080936000109260000FBEE0E0F8E3099503
+:1012700011E0A0E0B1E0E6E6FEE602C005900D92C6
+:10128000A634B107D9F722E0A6E4B1E001C01D926F
+:10129000AF33B207E1F70E9404190C9431370C9474
+:1012A0000000FF93EF93E0914601F09147013097E2
+:1012B00009F00995EF91FF910895FC018591803027
+:1012C00011F0EFDFFBCF0895FF27E0E230E247FFA8
+:1012D0000CC0419597FF09C0EDE26095709580952F
+:1012E0009095611D711D811D911D27FF02C02195E3
+:1012F00030E350E2AA27660F771F881F991FAA1FA5
+:10130000A41710F0A41B63955A95A9F7AA3008F00A
+:10131000A95FA05DAF93F3956115710581059105F6
+:1013200041F7ED3211F4EF93F395F21718F43F9370
+:10133000F395FBCF8F91B5DFFA95E1F70895E99129
+:10134000F9918591803021F0853219F0AADFF9CF2B
+:10135000089520E0E89455915532C1F3503311F4CB
+:10136000689455915A3348F4505390F3220F022E4B
+:10137000220F220F200D250FF4CF0EF42195899115
+:101380009991533619F3533729F1533559F1BC016B
+:1013900088279927E8945C3621F48991999168947B
+:1013A0005591543639F446EF7EF077FF0DC08FEF3C
+:1013B0009FEF0AC055374AE039F0583540E121F037
+:1013C000523642E009F00895FF93EF937DDFEF91ED
+:1013D000FF91B7CFFF93EF93FC0181918030B9F378
+:1013E00060DFFBCFFF93EF9368DFF1CFDF93CF9305
+:1013F000CDB7DEB72596A3DFCF91DF91089508958D
+:101400000C94FF0981E0089508950C94FF090C9451
+:10141000020A0C94040A269A2E988FEF9FEF90935D
+:1014200087008093860082E28093800089E1809328
+:1014300081000C949B340E940B0A0C94000A282F04
+:101440002E9880918000211108C08F7D80938000AC
+:1014500010928B0010928A00089580628093800021
+:10146000233019F48FEF9FEF0FC083E090E0821BD1
+:101470009109880F991F2FEF3FEFA90102C05695E0
+:1014800047958A95E2F7CA0190938B0080938A0072
+:101490000895CF93DF93EC01862F90E0893091057A
+:1014A00008F05AC0FC01EA5AFF4F0C94E3360E9440
+:1014B000292982729A81992369F0882319F085E39A
+:1014C00090E002C089E290E00E94ED28DF91CF9188
+:1014D0000C947329882319F085E390E002C089E217
+:1014E00090E00E940A29F2CF8A818823A9F1DF9136
+:1014F000CF910C940D148A81882371F1DF91CF91E3
+:101500000C9479128A81882339F1DF91CF910C9460
+:1015100091128A81882301F1DF91CF910C94B0124E
+:101520008A818823C9F0DF91CF910C94CB128A81F4
+:10153000882391F0DF91CF910C94E5128A81882362
+:1015400059F0DF91CF910C9400138A81882321F008
+:10155000DF91CF910C940314DF91CF91089581E036
+:1015600008950C94AF0A08950F931F93CF93DF93C0
+:101570008C01FC01C081D181CE010E946E28BE0188
+:101580000E94ED0DEC01B8010E94B10A882309F414
+:1015900074C1F8018281882309F45BC080915301F2
+:1015A00081111FC0C431F0E7DF0709F00AC10E94B2
+:1015B000B30A81E0809353010E945D2A9093520107
+:1015C0008093510110924A0110924C0110924B01EC
+:1015D00010924E0110924D011092500110924F0145
+:1015E0004CC180915101909152010E94692A883C1E
+:1015F000910570F480914A01E82FF0E0EE0FFF1F93
+:10160000E55BFE4FD183C0838F5F80934A0135C174
+:10161000C43120E7D20708F028C1C23080E7D807DC
+:1016200010F5C11590E7D90709F0DAC0F8018281F9
+:10163000882309F4BFC00E947A23FFEF24E38CE0E3
+:10164000F15020408040E1F700C000000E94B82A1D
+:1016500014C1C431F0E7DF0708F0D3C0C23020E77F
+:10166000D20708F49BC0F8018281882309F4A2C044
+:101670000E94722C811102C00E94532C0E948F2C58
+:1016800090E09093F8018093F701C230F0E7DF0714
+:1016900021F48091F70181607AC0C33020E7D2073E
+:1016A00021F48091F701826072C0C43080E7D807CE
+:1016B00021F48091F70184606AC0C53090E7D907B2
+:1016C00019F48091F70127C0C630E0E7DE0721F466
+:1016D0008091F70180615BC0C730F0E7DF0721F43C
+:1016E0008091F701806253C0C83020E7D20721F40F
+:1016F0008091F70180644BC0C93080E7D80721F49E
+:101700008091F701806843C0CA3090E7D90729F477
+:101710008091F701846088603AC0CB30E0E7DE0753
+:1017200021F48091F7018E7F32C0CC30F0E7DF07E3
+:1017300021F48091F7018D7F2AC0CD3020E7D207B8
+:1017400021F48091F7018B7F22C0CE3080E7D8074B
+:1017500019F48091F7011AC08091F701CF3090E71A
+:10176000D90711F48F7E13C0C031E0E7DE0711F412
+:101770008F7D0DC0C131F0E7DF0711F48F7B07C00B
+:10178000C231D04711F48F7702C08B7F877F80935F
+:10179000F7018091F7010E94932C6FC0C11580E77B
+:1017A000D80741F0C130D047F1F081E08093480183
+:1017B00080934901C801DF91CF911F910F910C9443
+:1017C000070AC43120E7D20708F04FC0C23080E7D3
+:1017D000D80708F048CFC11590E7D90709F42BCFF7
+:1017E000C130D04711F7F8018281882319F382EDC7
+:1017F00092E00E945D098091E60181608093E6019C
+:101800003CC0C333E0E7DE07A1F4F80182818823FE
+:1018100021F01092480182E017C0809148018111A7
+:1018200006C086E20E94E31F86E20E94AB2082E0AF
+:1018300019C0C433D04709F0B8CFF801828188239A
+:1018400031F01092490182E10E94FA2016C0809185
+:101850004901811106C087E20E94E31F87E20E94CE
+:10186000AB2082E10E94012108C0C333F0E7DF070B
+:1018700061F2C433D04709F398CF80E0DF91CF9174
+:101880001F910F9108950C941B0A0C94050A26E4ED
+:10189000829FC0011124FC013EE0739FE00DF11D09
+:1018A0001124E60FF11DEE0FFF1FE25DFE4F859143
+:1018B00094910E94000E811540E5940708F047C0FE
+:1018C000811520E4920708F014C1883E910520F5A7
+:1018D000803E910508F07DC1883A910578F4853AFB
+:1018E000910508F0A6C08130910509F472C108F491
+:1018F0002FC18430910508F06CC12AC18B3B910542
+:1019000008F4A2C0803C910508F422C1FC01EE0F4E
+:10191000FF1FE456F040E7C0811530E2930758F40A
+:10192000811541E0940708F054C1803F910508F407
+:101930000FC190650895811520E3920708F0D6C085
+:10194000FC01FF70EE0FFF1FE45EFE4FCCC081155F
+:1019500035E5930708F044C0811544E5940708F085
+:10196000DFC0811522E5920710F5811531E5930757
+:1019700008F0C2C09C0154E0369527955A95E1F7CE
+:10198000922F9370482F437021E030E002C0220F65
+:10199000331F4A95E2F73C68392B8F708695869500
+:1019A00040E2849FC0011124822B932B0895AC0147
+:1019B00043705527282F269526958115934508F0C5
+:1019C000A0C081E090E002C0880F991F4A95E2F71D
+:1019D00040E2249F90011124822B932B9C68089550
+:1019E0008F3240E7940790F48F3120E7920708F098
+:1019F000A2C0811536E5930708F497C09C013056C4
+:101A00002115304108F0A4C09F7093C0803320E7B7
+:101A1000920709F497C008F492C0813340E7940715
+:101A200009F493C08233904709F092C080E093EDAF
+:101A30000895853A910509F48EC0863A910509F01A
+:101A40008DC082E890E40895883A910509F489C030
+:101A5000893A910509F488C08A3A910509F487C04A
+:101A60008B3A910509F486C08C3A910509F485C03A
+:101A70008D3A910509F484C0803B910509F483C037
+:101A80008E3A910509F482C08F3A910509F481C01C
+:101A9000813B910509F480C0823B910509F47FC028
+:101AA000833B910509F47EC0843B910509F47DC018
+:101AB000853B910509F47CC0863B910509F47BC008
+:101AC000873B910509F47AC0883B910509F479C0F8
+:101AD000893B910509F478C08A3B910509F477C0E8
+:101AE00080E094E408958591949108959927906CED
+:101AF00008959F70906A0895982F8827816F906A43
+:101B0000089581E090E002C0880F991F4A95E2F79E
+:101B100040E2249F90011124822B932B9A68089510
+:101B2000982F8827846F906A08958F719927982F2E
+:101B30008827906208958F519047946D089580E0B2
+:101B400091ED089580E090ED089580E092ED089584
+:101B500080E090E0089581E890E4089583E890E4BF
+:101B6000089582EE94E4089589EE94E408958AEE4F
+:101B700094E4089585EB94E4089586EB94E4089545
+:101B800087EB94E408958CEC94E408958DEC94E450
+:101B9000089583E895E408958AE895E4089582E934
+:101BA00095E4089584E995E4089581E296E4089522
+:101BB00083E296E4089584E296E4089585E296E44B
+:101BC000089586E296E4089587E296E408958AE20D
+:101BD00096E4089580E090E0089526E4829FC00195
+:101BE0001124FC012EE0729FE00DF11D1124E60F7F
+:101BF000F11DEE0FFF1FE25DFE4F85919491089558
+:101C00008238910549F1B0F48133910509F459C046
+:101C100048F48932910509F44FC08A32910509F4DC
+:101C200055C008958533910509F441C08933910564
+:101C300099F00895833E910531F138F4803E910585
+:101C400091F0823E9105A9F00895863E910501F13B
+:101C5000873E910539F108952091F70120FD3BC0A1
+:101C600021FD39C008958091F70180FF34C089E3D8
+:101C700041C08091F70182FF30C08091F70184FD5F
+:101C80002EC083EE37C08091F70182FD26C0F5CFCC
+:101C90008091F70183FF25C08091F70184FD1FC06B
+:101CA00087EE28C08091F70183FD1BC0F5CF80919E
+:101CB000F70185FD18C019C08091F70185FD15C099
+:101CC00012C08091F70186FD12C013C08091F70108
+:101CD00086FD0FC00CC080EE0DC082EE0BC080E010
+:101CE00009C086EE07C089E205C085E303C08AE229
+:101CF00001C081E390E008950C94090AE82FF0E018
+:101D0000ED5DFE4F8081E82FEF70F0E082958F70DF
+:101D100021E030E0A90102C0440F551F8A95E2F787
+:101D200040A308950F931F93CF93DF93C4E0D0E0B7
+:101D300001E010E0FE01ED5DFE4F8081E82FEF70C5
+:101D4000F0E021A182958F70A80102C0440F551FB9
+:101D50008A95E2F7CA01822B81A38C2F0E947E0E06
+:101D6000219740F78DE090E061E070E0FC01EB5ED0
+:101D7000FE4F2081E22FEF70F0E042A122952F70FC
+:101D8000DB0102C0AA0FBB1F2A95E2F79D01242B9D
+:101D900022A3019758F7DF91CF911F910F910895DA
+:101DA0000F931F93CF93DF9385B7806885BF85B767
+:101DB000806885BFC4E0D0E001E010E0FE01ED5D89
+:101DC000FE4F8081E82FEF70F0E021A182958F70A7
+:101DD000A80102C0440F551F8A95E2F7CA01822B61
+:101DE00081A38C2F0E947E0E219740F78DE090E01A
+:101DF00061E070E0FC01EB5EFE4F2081E22FEF70AE
+:101E0000F0E042A122952F70DB0102C0AA0FBB1F98
+:101E10002A95E2F79D01242B22A3019758F7DF9121
+:101E2000CF911F910F910C94430CCF92DF92EF92C0
+:101E3000FF920F931F93CF93DF930EE511E078018C
+:101E4000C4E0CC24C394D12CD5E08C2F0E947E0E0C
+:101E50008DE090E040E050E0FC01EB5EFE4F6081E1
+:101E6000E62FEF70F0E020A130E062956F7002C0C5
+:101E7000359527956A95E2F720FD09C09601082E51
+:101E800002C0220F331F0A94E2F7422B532B019713
+:101E900018F7D7019E918E917D018417950721F047
+:101EA0004D935C93D09300018C2F0E947E0EC15005
+:101EB00060F68091000187FD2FC09091E60190FFB0
+:101EC00010C0282F082E000C330B3F938F938BE10B
+:101ED00093E09F938F930E94F6090F900F900F90BD
+:101EE0000F908091000181508093000187FD07C011
+:101EF000EFE9FFE03197F1F700C000000DC0E8E620
+:101F0000F1E084E591E0D8013E912E918D0132936C
+:101F100022938A179B07B9F70E94450C81E0DF9155
+:101F2000CF911F910F91FF90EF90DF90CF90089588
+:101F3000E82FF0E0EE0FFF1FE25AFE4F8081918103
+:101F40000895EF92FF920F931F93CF93DF938091A9
+:101F5000E60180FF04C08CEF92E00E945D090EE56F
+:101F600011E0C0E0D0E084EEE82E82E0F82E80910F
+:101F7000E60180FF13C0F801808191810E94C5298C
+:101F80009F938F93DF93CF93FF92EF920E94F60976
+:101F90000F900F900F900F900F900F9021960E5F63
+:101FA0001F4FC530D10519F7DF91CF911F910F91C8
+:101FB000FF90EF9008950F931F93CF9308E611E0E1
+:101FC000C0E0F801929182918F010E94A729C80F69
+:101FD000F1E00E351F07A9F78C2FCF911F910F91BC
+:101FE000089521B3342F3095232331B3432B3FB7CA
+:101FF000F894FC01680F791FE617F70789F08191C3
+:1020000098E041BB000000C087FF21BB880F0000A3
+:1020100000C000C000C021BB00C09A9591F7ECCF72
+:102020003FBF089520B3242B20BB9B01220F331FF9
+:10203000620F731F0E94F10F87EC90E00197F1F798
+:1020400000C00000089540E20C941210AF92BF92BD
+:10205000CF92DF92EF92FF920F931F93CF93DF9374
+:102060006C01790150E0FA01E25DF94F44918FEF84
+:1020700090E0FC01E61BF109E25DF94FE491E09587
+:1020800009F495C0C42FD0E08E1B91098C9F90015C
+:102090008D9F300D9C9F300D1124E32F8CE3A82ED3
+:1020A000B12CC601B5010E94BB36DC01623071055E
+:1020B00009F446C0D0F46115710599F161307105DC
+:1020C00009F079C0C31BD109B501681B790BC69F04
+:1020D000C001C79F900DD69F900D1124B5010E949D
+:1020E000BB36032F060F142F67C06430710509F447
+:1020F0004BC0B8F16530710509F05DC0C31BD10953
+:10210000B501681B790BC69FC001C79F900DD69F74
+:10211000900D1124B5010E94BB36132FE32FE60F5B
+:1021200044C0C31BD109CC9DC001CD9D900DDC9D49
+:10213000900D1124B5010E94BB36132F160F35C028
+:10214000C31BD109CA9FC001CB9F900DDA9F900D90
+:102150001124B5010E94BB36142F032FE32FE60F85
+:102160002BC0C31BD109B501681B790BC69FC001E9
+:10217000C79F900DD69F900D1124B5010E94BB36CC
+:10218000132F160F032F0FC0C31BD109CA9FC00105
+:10219000CB9F900DDA9F900D1124B5010E94BB36A4
+:1021A000032F060F132FE42F07C0042F05C0E42FC1
+:1021B000142F042F01C0E0E0D70111960C93119762
+:1021C0001C931296EC93DF91CF911F910F91FF908A
+:1021D000EF90DF90CF90BF90AF90089587E090E0B0
+:1021E0000C94F136AB01BC0187E090E00C940F3702
+:1021F0008091E60180FF08C08FEF94E09F938F935A
+:102200000E94F6090F900F9083E08093F90180916E
+:10221000FA01807884668F778093FA018CEC809342
+:10222000FB018093FC016091F9017091FA018091AA
+:10223000FB019091FC010C94F2108091E60180FF6B
+:1022400008C088EE94E09F938F930E94F6090F9048
+:102250000F908091E60180FF0FC08091F90181709D
+:102260001F928F938BEC94E09F938F930E94F609BB
+:102270000F900F900F900F908091E60180FF10C09B
+:102280008091F90186958F731F928F9380EB94E074
+:102290009F938F930E94F6090F900F900F900F90CD
+:1022A0008091E60180FF19C08091F901881F88277D
+:1022B000881F9091FA01292F220F822B97FB9927D3
+:1022C00090F99F938F9386E994E09F938F930E9458
+:1022D000F6090F900F900F900F908091E60180FF0C
+:1022E0000EC08091FB011F928F938CE794E09F9327
+:1022F0008F930E94F6090F900F900F900F9080918E
+:10230000E60180FF0EC08091FC011F928F9382E650
+:1023100094E09F938F930E94F6090F900F900F9077
+:102320000F9008958091F90180FF06C060E170E090
+:1023300081E092E00C942310E3E0F2E0DF011197DA
+:102340001C9211971C921082339682E0E333F807B7
+:10235000A9F7ECCFE3E0F2E0DF0111978C9311973E
+:102360006C934083339692E0E333F907A9F70C941A
+:102370009211EF92FF920F931F93CF93DF9300D0B0
+:102380001F92CDB7DEB7182FE92EF62E042F8091BD
+:10239000F9019091FA01A091FB01B091FC018093A9
+:1023A000FD019093FE01A093FF01B0930002809184
+:1023B000F90180FF1FC09E012F5F3F4F812F9E2D8F
+:1023C0000E9426108091FD0110FB87F98093FD018A
+:1023D00016958091FE018078182BE0FA17F910937A
+:1023E000FE01F092FF01009300024B8169818A8116
+:1023F0000E94AA110F900F900F90DF91CF911F9123
+:102400000F91FF90EF9008950F931F93CF93DF9359
+:10241000EC01062F142F9091F90190FF65C0892FD0
+:102420008E77823021F4CE010E94B9111BC0892F12
+:1024300086958F732EE3280F2F73243018F4109194
+:10244000FC0110C0865C8F73893060F4C92FCC1FEB
+:10245000CC27CC1FD091FA018D2F880FC82BD7FB2A
+:10246000DD27D0F98091F901C0FB87F98093F9014C
+:10247000C6958091FA018078C82BD0FBC7F9C0932C
+:10248000FA010093FB011093FC016091F901709136
+:10249000FA018091FB019091FC010E94F210809161
+:1024A000FC011F928F938091FB011F928F9380916B
+:1024B000F901881F8827881F9091FA01292F220F80
+:1024C000822B97FB992790F99F938F938EE593E04A
+:1024D0009F938F930E94F6098DB79EB708960FB60B
+:1024E000F8949EBF0FBE8DBFDF91CF911F910F91CA
+:1024F0000895E9EFF1E02081221F2227221F309169
+:10250000FA01432F440F842F822B37FB992790F930
+:10251000089668E671E00E94CF36438162810C9490
+:1025200004122091F901221F2227221F3091FA0163
+:10253000432F440F842F822B37FB992790F9883043
+:1025400091051CF4805A9E4F05C0089768E671E01B
+:102550000E94CF364091FC016091FB010C94041263
+:102560006091FB01862F90E0883F910514F4685F2D
+:1025700001C06FEF8091F901881F8827881F909113
+:10258000FA01292F220F97FB992790F94091FC011E
+:10259000822B0C9404126091FB01862F90E0089727
+:1025A00014F0685001C060E08091F901881F88270D
+:1025B000881F9091FA01292F220F97FB992790F9F4
+:1025C0004091FC01822B0C9404124091FC01842F59
+:1025D00090E0883F910514F4485F01C04FEF80916F
+:1025E000F901881F8827881F9091FA01292F220F4F
+:1025F00097FB992790F96091FB01822B0C940412B0
+:102600004091FC01842F90E0089714F0485001C0DD
+:1026100040E08091F901881F8827881F9091FA0176
+:10262000292F220F97FB992790F96091FB01822BAC
+:102630000C9404128091790181110FC081E0809384
+:10264000790189E0809391008FB7F89493E090939B
+:10265000990090ED909398008FBF0895809171003C
+:102660008260809371008091E60180FF08C08DE454
+:1026700093E09F938F930E94F6090F900F90089517
+:10268000809171008D7F809371008091E60180FFC1
+:1026900008C08BE393E09F938F930E94F6090F90FD
+:1026A0000F9008959091F90190FF4BC0917881119E
+:1026B00002C0926007C0883110F09E6203C08F7321
+:1026C000880F982B9093F9016091F9017091FA01AC
+:1026D0008091FB019091FC010E94F2108091F90120
+:1026E00086958F731F928F9381EB93E09F938F93C7
+:1026F0000E94F6098091F901982F9E770F900F9014
+:102700000F900F90923019F40E94401307C08695E5
+:10271000825C8F73863110F40E942E138091F90130
+:10272000881F8827881F9091FA01292F220F97FB75
+:10273000992790F94091FC016091FB01822B0C9448
+:10274000041208958091E60181608093E6018BE494
+:1027500094E09F938F930E94F60981E080937A0121
+:102760008091E6010F900F9080FF08C085E394E010
+:102770009F938F930E94F6090F900F900E94722CE6
+:10278000811110C08091E60180FF08C08DE094E0C7
+:102790009F938F930E94F6090F900F900E94532CE5
+:1027A0000E94F8100E94EE106093F9017093FA01F4
+:1027B0008093FB019093FC016E77C1F48091E60158
+:1027C00080FF08C084EC93E09F938F930E94F609EA
+:1027D0000F900F900E94F8100E94EE106093F90184
+:1027E0007093FA018093FB019093FC010E941D11EC
+:1027F0000E941A138091F90180FF04C086958F739F
+:102800000C94521308958091F90186958F738F5F10
+:10281000883108F081E00C9452138091F901982FCF
+:10282000909590FB80F98093F9016091F901709186
+:10283000FA018091FB019091FC010E94F2108091BD
+:10284000F90181701F928F9383E893E09F938F9398
+:102850000E94F6098091F9010F900F900F900F9050
+:1028600080FF04C086958F730C9452130E9440130E
+:102870002FEF80E792E0215080409040E1F700C0C8
+:1028800000000C949211CF93C82F80917701909102
+:1028900078010E94692AEC2FF0E0E65DFA4FE4919E
+:1028A000F0E08E179F0718F10E945D2A909378013F
+:1028B00080937701E0917601F0E0E25DFA4F449178
+:1028C0008091F901881F8827881F9091FA01292F8C
+:1028D000220F97FB992790F96091FB01822B0E94B0
+:1028E000B9118091760190E0019680937601CF91A5
+:1028F0000895CF93C82F80917401909175010E9423
+:10290000692AEC2FF0E0E95DFA4FE491F0E08E17D0
+:102910009F07E8F00E945D2A9093750180937401EF
+:102920004091FC016091FB018091720190917301D3
+:102930000E94B9118091720190917301019668E62D
+:1029400071E00E94BB369093730180937201CF9126
+:102950000895CF92DF92FF920F931F93CF93DF934F
+:10296000F82E80917001909171010E94692AEF2DDB
+:10297000E695F0E0E95DFA4FE491F0E08E179F07ED
+:10298000C0F10E945D2A909371018093700101E073
+:1029900012E0C0E0D0E088E6C82EDD24D394809118
+:1029A0006E0190916F018C0F9D1FB6010E94BB3686
+:1029B00098014091FC016091FB010E9426106696EF
+:1029C0000D5F1F4FC03681E0D80749F70E94921172
+:1029D00080916E0190916F01F0FE06C0019668E64D
+:1029E00071E00E94BB3601C0019790936F01809304
+:1029F0006E01DF91CF911F910F91FF90DF90CF90EB
+:102A000008958F929F92AF92BF92CF92DF92EF92F2
+:102A1000FF920F931F93CF93DF93C82F80FF03C0C4
+:102A2000DD24DA9402C0DD24D39480916C0190916E
+:102A30006D010E94692AC695EC2FF0E0EC5DFA4F1B
+:102A4000E491F0E08E179F0708F466C00E945D2AAB
+:102A500090936D0180936C0191E0E92E92E0F92E44
+:102A600003E012E0C0E0D0E027E0822E912CF801D4
+:102A700031971082F7011082F801108287E0A82EAA
+:102A8000B12CC12C80916B018C0D87FD805F082ECD
+:102A9000000C990BC817D907E9F42091FC012A9D75
+:102AA000C0012B9D900D1124B4010E94CF36462FFA
+:102AB0008091F901881F8827881F9091FA01592F6A
+:102AC000550F97FB992790F997016091FB01852B92
+:102AD0000E942610CD0CF1E0AF1AB10899F62196AC
+:102AE00083E0E80EF11C0D5F1F4FC031D10509F0E6
+:102AF000BECF0E94921180916B0191E0D91206C065
+:102B0000811102C08FE006C0815004C090E00196A0
+:102B10008F70992780936B01DF91CF911F910F9157
+:102B2000FF90EF90DF90CF90BF90AF909F908F90ED
+:102B300008959F92AF92BF92CF92DF92EF92FF9251
+:102B40000F931F93CF93DF93CDB7DEB7E0970FB608
+:102B5000F894DEBF0FBECDBF182F80916901909110
+:102B60006A010E94692AE12FF0E0EF5DFA4FE491DB
+:102B7000F0E08E179F0708F493C00E945D2A90939F
+:102B80006A0180936901CE0101967C015E0193E0A8
+:102B9000A90EB11CC12CD12C8701F50131971082EF
+:102BA000F7011082F5011082912C90910101809122
+:102BB0006801999E800D112487FD04C080311CF0AE
+:102BC0008FE001C080E0082E000C990BC816D906D2
+:102BD000A1F48091F901881F8827881F9091FA013C
+:102BE000592F550F97FB992790F997014091FC01B8
+:102BF0006091FB01852B0E9426109394F7E09F12B1
+:102C0000D4CF8FEFC81AD80A93E0E90EF11CE3E0A5
+:102C1000AE0EB11CF0E1CF16D10409F0BECFA3E097
+:102C2000B2E089E090E0FC01EF70FF279D012150A8
+:102C30003109AF01440F551FE40FF51FBF01600FAD
+:102C4000711FFB014181F901408321503109FB01D2
+:102C50004081F9014083FB0122812C930196139658
+:102C60008931910501F70E949211909101018091A3
+:102C70006801913049F48A3F2CF489EF8093680110
+:102C80008FEF08C081500AC087313CF086E1809305
+:102C9000680181E08093010103C08F5F8093680128
+:102CA000E0960FB6F894DEBF0FBECDBFDF91CF9197
+:102CB0001F910F91FF90EF90DF90CF90BF90AF905A
+:102CC0009F9008951F920F920FB60F9211242F9389
+:102CD0003F934F935F936F937F938F939F93AF93A4
+:102CE000BF93EF93FF938091F90186958F739EE3D5
+:102CF000980F9F73943020F482500E94431423C095
+:102D00009AE3980F9F73933020F486500E947914B1
+:102D10001AC097E3980F9F73963020F489500E9451
+:102D2000A91411C091E3980F9F73963020F48F502F
+:102D30000E94011508C09BE2980F9F73933018F40E
+:102D400085510E949915FF91EF91BF91AF919F918D
+:102D50008F917F916F915F914F913F912F910F9044
+:102D60000FBE0F901F9018958091860108959FB710
+:102D7000F89410927D019FBF90913502943009F034
+:102D800057C09091E9009F703091EC00232F217083
+:102D900030FD20E8922B24E02093E9002091EB0005
+:102DA00020FF43C02091EE0027FF3FC020917B0110
+:102DB000222321F02091E80025FF37C010927B01EB
+:102DC00026E03091E80035FD15C0309135023430F1
+:102DD00061F53091EB0035FD28C0215021F481E0F0
+:102DE00080937B0122C0EFE9FFE03197F1F700C04B
+:102DF0000000E7CF8093F1008091E80085FD0AC0D4
+:102E00008091E80080FFFCCF8091E8008E7780936E
+:102E1000E80006C08FB7F89421E020937D018FBFB2
+:102E20009F709093E90080E008959F709093E9006F
+:102E30008FEF0895CF93DF9300D01F92CDB7DEB709
+:102E40009C0180913502843019F593E099833B838E
+:102E50002A839093E9008FEF9091E800815095FDCF
+:102E600006C095ED9A95F1F700008111F5CF80919C
+:102E7000E80085FF0DC040E050E063E070E0CE0167
+:102E800001960E94B7198091E8008E778093E80040
+:102E90000F900F900F90DF91CF910895CF93DF9314
+:102EA00000D01F92CDB7DEB720913502243021F536
+:102EB00022E029839B838A8383E08093E9008FEF5C
+:102EC0009091E800815095FD06C095ED9A95F1F737
+:102ED00000008111F5CF8091E80085FF0DC040E032
+:102EE00050E063E070E0CE0101960E94B719809136
+:102EF000E8008E778093E8000F900F900F90DF919D
+:102F0000CF9108959C01809135028430F9F482E0DC
+:102F10008093E9009FEF8091E800915085FD06C005
+:102F200085ED8A95F1F700009111F5CF8091E800C9
+:102F300085FF0CC040E050E065E070E0C9010E94F0
+:102F4000B7198091E8008E778093E8000895CF93B9
+:102F5000DF93EC0180913502843039F581E0809374
+:102F6000E9008FEF9091E800815095FD06C095ED46
+:102F70009A95F1F700008111F5CF8091E80085FF67
+:102F800014C040E050E068E070E0CE010E94B71944
+:102F90008091E8008E778093E80088E0FE01AEE73C
+:102FA000B1E001900D928A95E1F7DF91CF910895FC
+:102FB00083E597E00E945D0980913402811109C088
+:102FC0000E94481B0E94A51B8091E20084608093B0
+:102FD000E20008958FE497E00E945D0910923402A8
+:102FE00008958BE497E00C945D0987E497E00C94D6
+:102FF0005D0983E497E00E945D090C94202A2091EA
+:103000007C012F5F822F62E30E94AF36992319F073
+:1030100020937C01089510927C0180917D0188238A
+:1030200071F180913502843041F58091E9008F7013
+:103030002091EC00922F917020FD90E8892B94E074
+:103040009093E9009091EB0090FF14C09091EE00F6
+:1030500097FF10C09091E80095FF03C01092F10017
+:10306000F9CF9091E80090FF05C09091E8009E771D
+:103070009093E8008F708093E90010927D0108958D
+:1030800042E061EC81E00E94C11A42E061EC82E022
+:103090000E94C11A42E061EC83E00E94C11A42E240
+:1030A00061EC84E00C94C11A80913702833009F4FA
+:1030B00053C030F4813071F0823009F48CC008952F
+:1030C0008A3009F478C08B3009F45EC0893009F089
+:1030D0009AC020C080913602813A09F094C0809154
+:1030E000E800877F8093E80080913A0290913B024C
+:1030F000892B21F468E08EE791E003C060E080E076
+:1031000090E070E00E94021A8091E8008B77809333
+:10311000E800089580913602813209F074C08091F0
+:103120003A0290913B02892B09F06DC08091E80032
+:10313000877F8093E8008091E80082FD05C0809140
+:1031400035028111F8CF5FC08091F1008093860134
+:103150008091E8008B7753C080913602813A09F064
+:1031600052C080913A0290913B02892B09F04BC0EA
+:103170008091E800877F8093E8008091E80080FFDD
+:10318000FCCF80910C0136C0809136028132D9F596
+:1031900080913A0290913B02892BA9F58091E80039
+:1031A000877F8093E8000E94F61A8091380280930E
+:1031B0000C010C947A2380913602813221F58091A2
+:1031C000E800877F8093E8000E94F61A8091390218
+:1031D00080938701089580913602813AA1F480910D
+:1031E000E800877F8093E8008091E80080FFFCCFB3
+:1031F000809187018093F1008091E8008E77809321
+:10320000E8000C94F61A089584B7877F84BF0FB640
+:10321000F894A89580916000886180936000109276
+:1032200060000FBE80E880936100109261000E94F0
+:10323000DB1E0E94481B0E94A51B8091E200846057
+:103240008093E20087EB96E10E94A22978940E9485
+:103250002F1E0E94DD1E82E091E00E944A1E82E342
+:1032600097E00E945D0980913502853089F48EE2F5
+:1032700097E00E945D090E94DF2980913302882334
+:1032800091F30E940F2A882371F30E94A119EBCFBA
+:103290000E94051FE8CF292F332723303105C9F0BD
+:1032A00060F42130310581F02230310509F041C050
+:1032B00084E790E025E737E040C021323105E1F0B6
+:1032C0002232310531F135C082E190E029EE37E05C
+:1032D00034C099278130910549F028F0029749F5CB
+:1032E000E7E5F7E005C0E1E7F7E002C0E7E6F7E071
+:1032F000849190E09F0121C06430D8F4E62FF0E083
+:10330000EE0FFF1FEC5CFE4F2081318189E090E0E1
+:1033100014C0643070F470E0FB01EE0FFF1FE45D39
+:10332000FE4F20813181FB01E85DFE4F808190E0FE
+:1033300004C080E090E020E030E0FA013183208397
+:10334000089580E189BD82E189BD09B400FEFDCF09
+:103350008091D8008F7D8093D8008091E0008260BA
+:103360008093E0008091E00081FDFCCF0895CF9232
+:10337000DF92EF92FF920F931F93CF93DF93EC01B5
+:103380008B016A010E94151B811133C0C114D10445
+:1033900039F0F60180819181081B190BC80FD91FE4
+:1033A000E12CF12C0115110519F18091E80085FD42
+:1033B00016C08091E8008E778093E800C114D10494
+:1033C00049F0F60180819181E80EF91EF182E082D8
+:1033D00085E00FC00E94151B882321F30AC0899144
+:1033E0008093F10001501109FFEFEF1AFF0ADACFC5
+:1033F00080E0DF91CF911F910F91FF90EF90DF90D0
+:10340000CF90089520913C0230913D022617370756
+:1034100048F06115710539F42091E8002E7720936A
+:10342000E80001C0B901FC0120E06115710579F1E6
+:10343000809135028823F1F18530F1F18091E80027
+:1034400083FD3CC08091E80082FD2EC08091E800A1
+:1034500080FFEBCF2091F3008091F20090E0922B5F
+:103460006115710551F08830910538F42191209350
+:10347000F100615071090196F3CF21E0089709F03E
+:1034800020E08091E8008E778093E800CECF211174
+:10349000CFCF0AC080913502882361F0853061F07A
+:1034A0008091E80083FD0AC08091E80082FFF2CF9E
+:1034B00080E0089582E0089583E0089581E0089512
+:1034C00020913C0230913D022617370748F06115E4
+:1034D000710539F42091E8002E772093E80001C0AF
+:1034E000B901FC0120E06115710591F1809135026F
+:1034F000882309F440C0853009F43FC08091E8007A
+:1035000083FD3DC08091E80082FD2FC08091E800DE
+:1035100080FFE9CF2091F3008091F20090E0922BA0
+:103520006115710559F08830910540F4249120937C
+:10353000F1003196615071090196F2CF21E00897B0
+:1035400009F020E08091E8008E778093E800CBCFEF
+:103550002111CCCF0AC080913502882361F08530DB
+:1035600061F08091E80083FD0AC08091E80082FF4D
+:10357000F2CF80E0089582E0089583E0089581E02D
+:103580000895982F973068F59093E900981739F0CF
+:103590007091EC002091ED005091F00003C0242FB9
+:1035A000762F50E021FD02C09F5FECCF3091EB0001
+:1035B0003E7F3093EB003091ED003D7F3093ED0086
+:1035C0003091EB0031603093EB007093EC0020936E
+:1035D000ED005093F0002091EE0027FDE5CF80E054
+:1035E00008958F708093E90081E0089580913602FC
+:1035F00087FF11C08091E80082FD05C080913502EF
+:103600008111F8CF11C08091E8008B770BC08091B9
+:103610003502882349F08091E80080FFF8CF80913F
+:10362000E8008E778093E80008952091E4003091BF
+:10363000E50095E64091EC00842F817040FF23C0A7
+:103640008091E80080FD1DC080913502882399F0AB
+:10365000853099F08091EB0085FD11C04091E40028
+:103660005091E5002417350729F3915011F09A0184
+:10367000E1CF84E0089582E0089583E0089581E039
+:10368000089580E008954091E80042FFDDCF08955D
+:103690000E94B61B0E94BE1BE0EEF0E080818160BC
+:1036A0008083E8EDF0E080818F77808319BCA7EDFF
+:1036B000B0E08C918E7F8C9380818F7E808310927E
+:1036C000340208950F931F93CF93DF930E94B61B8C
+:1036D0000E94BE1BC8EDD0E088818F7788838881E7
+:1036E0008068888388818F7D888319BC1092350219
+:1036F00010923102109233021092320200EE10E06A
+:10370000F80180818B7F808388818160888342E09B
+:1037100060E080E00E94C11AE1EEF0E080818E7FDF
+:103720008083E2EEF0E08081816080838081886028
+:103730008083F80180818E7F808388818061888387
+:10374000DF91CF911F910F910895E8EDF0E0808116
+:103750008F7E8083E7EDF0E080818160808384E06C
+:1037600082BF81E0809334020C94621BE8EDF0E0AC
+:1037700080818E7F80831092E20008951092DA009B
+:103780001092E10008951F920F920FB60F9211242C
+:103790002F933F934F935F936F937F938F939F9359
+:1037A000AF93BF93EF93FF938091E10082FF0BC033
+:1037B0008091E20082FF07C08091E1008B7F8093BF
+:1037C000E1000E94FF178091DA0080FF1FC0809106
+:1037D000D80080FF1BC08091DA008E7F8093DA00D2
+:1037E0008091D90080FF0DC080E189BD82E189BD53
+:1037F00009B400FEFDCF81E0809335020E94D81706
+:1038000005C019BC109235020E94EA178091E100B0
+:1038100080FF19C08091E20080FF15C08091E20016
+:103820008E7F8093E2008091E20080618093E200CD
+:103830008091D80080628093D80019BC85E0809385
+:1038400035020E94F5178091E10084FF30C080911D
+:10385000E20084FF2CC080E189BD82E189BD09B40A
+:1038600000FEFDCF8091D8008F7D8093D80080919D
+:10387000E1008F7E8093E1008091E2008F7E809353
+:10388000E2008091E20081608093E2008091310249
+:10389000882311F084E007C08091E30087FD02C017
+:1038A00081E001C083E0809335020E94F917809186
+:1038B000E10083FF29C08091E20083FF25C0809151
+:1038C000E100877F8093E10082E0809335021092CF
+:1038D00031028091E1008E7F8093E1008091E200CF
+:1038E0008E7F8093E2008091E20080618093E2000D
+:1038F00042E060E080E00E94C11A8091F0008860A0
+:103900008093F0000E94F117FF91EF91BF91AF916A
+:103910009F918F917F916F915F914F913F912F91E7
+:103920000F900FBE0F901F9018951F920F920FB619
+:103930000F9211242F933F934F935F936F937F9335
+:103940008F939F93AF93BF93CF93DF93EF93FF93A7
+:10395000C091E900CF708091EC00D82FD17080FD2C
+:10396000D0E81092E9008091F000877F8093F0000A
+:1039700078940E94D91C1092E9008091F000886030
+:103980008093F000CD2BCF70C093E900FF91EF91B1
+:10399000DF91CF91BF91AF919F918F917F916F9167
+:1039A0005F914F913F912F910F900FBE0F901F90FD
+:1039B00018951F93CF93DF93CDB7DEB7AA970FB6B5
+:1039C000F894DEBF0FBECDBFE6E3F2E08091F100D8
+:1039D000819322E0EE33F207C9F70E9454188091D8
+:1039E000E80083FF24C18091360290913702492F6D
+:1039F00050E04A30510508F01AC1FA01E15AFF4F70
+:103A00000C94E336803881F0823809F010C180913F
+:103A10003A028F708093E9008091EB0085FB882744
+:103A200080F91092E90006C0809132029091330231
+:103A3000911182609091E800977F9093E8008093C5
+:103A4000F1001092F100C8C0282F2D7F09F0EFC0BF
+:103A5000882319F0823061F0EAC080913802813009
+:103A600009F0E5C0933009F080E0809333022BC069
+:103A700080913802811127C080913A028F7009F439
+:103A8000D6C08093E9002091EB0020FF1CC093304A
+:103A900021F48091EB00806214C09091EB00906162
+:103AA0009093EB0021E030E0A90102C0440F551FC4
+:103AB0008A95E2F74093EA001092EA008091EB00C9
+:103AC00088608093EB001092E9008091E800877F86
+:103AD00086C08111ACC0109138021F778091E3003D
+:103AE0008078812B8093E3008091E800877F80932A
+:103AF000E8000E94F61A8091E80080FFFCCF8091D8
+:103B0000E30080688093E300111102C082E001C0ED
+:103B100083E0809335028BC08058823008F087C0E4
+:103B200080913802909139028C3D53E0950779F5E8
+:103B300083E08A838AE289834FB7F894DE01139683
+:103B400020E03EE051E2E32FF0E050935700E49193
+:103B500020FF03C0E295EF703F5FEF708E2F90E083
+:103B6000EA3010F0C79601C0C0968D939D932F5FE9
+:103B7000243149F74FBF8091E800877F8093E800A8
+:103B80006AE270E0CE0101960E94021A14C0AE01F2
+:103B90004F5F5F4F60913A020E944B19BC01892B25
+:103BA00009F445C09091E800977F9093E8008981DF
+:103BB0009A810E94601A8091E8008B778093E800D8
+:103BC00036C08038A1F58091E800877F8093E800B7
+:103BD000809131028093F1008091E8008E7780938C
+:103BE000E8000E94F61A23C0811121C0809138029A
+:103BF0009091390299270297D4F48091E800877F49
+:103C00008093E80080913802809331020E94F61A76
+:103C100080913102811106C08091E30087FD02C0CE
+:103C200081E001C084E0809335020E9440188091B9
+:103C3000E80083FF0AC08091E800877F8093E80056
+:103C40008091EB0080628093EB00AA960FB6F89407
+:103C5000DEBF0FBECDBFDF91CF911F910895CF93EF
+:103C6000809135028823A1F0C091E900CF70909136
+:103C7000EC00892F817090FD80E8C82B1092E9003C
+:103C80008091E80083FD0E94D91CCF70C093E900A9
+:103C9000CF91089590938D0180938C010895E091C8
+:103CA0008C01F0918D01309721F00190F081E02D91
+:103CB000099480E00895EF92FF921F93CF93DF93D2
+:103CC000F82E192FE0918C01F0918D013097A9F118
+:103CD0000280F381E02D09958091E60182FF2DC0DD
+:103CE00080FF04C086EE98E00E945D09CF2DD12FA1
+:103CF00018E080EEE82E88E0F82E8091E60180FF43
+:103D00000BC088811F928F93FF92EF920E94F60959
+:103D10000F900F900F900F90115021961111EDCF31
+:103D20008091E60180FF09C08EED98E0DF91CF9190
+:103D30001F91FF90EF900C945D09DF91CF911F913F
+:103D4000FF90EF900895E0918C01F0918D013097F4
+:103D500021F00480F581E02D0994089520918A01D5
+:103D600030918B012817390771F090938B01809364
+:103D70008A01E0918C01F0918D01309721F006804D
+:103D8000F781E02D099408952091880130918901EF
+:103D90002817390771F09093890180938801E09189
+:103DA0008C01F0918D01309721F00084F185E02D98
+:103DB0000994089508950C94DA1E0E94542A0E94D2
+:103DC000D00E0E94222B0E949B340C94A213CF93FE
+:103DD000DF931F92CDB7DEB79091E60192FF10C03E
+:103DE00090FF0EC01F928F9328EF38E03F932F93E0
+:103DF00089830E94F6090F900F900F900F90898190
+:103E00000F90DF91CF910C947C0E4F925F927F9236
+:103E10008F929F92AF92BF92CF92DF92EF92FF92DA
+:103E20000F931F93CF93DF9300D000D01F92CDB795
+:103E3000DEB70E94150F99E9C92E91E0D92E04E052
+:103E400010E0AA24A394B12C702E802F0E94980F0A
+:103E50004C01F601529042906F01482659264114B8
+:103E60005104A1F40150110978F78FEF89838A83F7
+:103E70001B820E945D2A8160782F9D838C834981FB
+:103E80005A816B818D810E94B51F38C08091E601F7
+:103E900081FD0E94A10F2DE030E07501022E02C0CD
+:103EA000EE0CFF1C0A94E2F7C2018E219F21892BA0
+:103EB00009F129837A828E209F2091E0892809F4D4
+:103EC00090E09B830E945D2A8160782F9D838C8384
+:103ED00049815A816B818D810E94B51F000F111F8E
+:103EE000F801E157FE4F80819181E826F926F182A1
+:103EF000E08204C02150310980F6B4CF0E949D2E8B
+:103F00000E944F1E90918E018917D1F00E944F1E82
+:103F100080938E010F900F900F900F900F90DF9174
+:103F2000CF911F910F91FF90EF90DF90CF90BF90B6
+:103F3000AF909F908F907F905F904F900C94E71E72
+:103F40000F900F900F900F900F90DF91CF911F91D6
+:103F50000F91FF90EF90DF90CF90BF90AF909F9028
+:103F60008F907F905F904F900895CF93DF93CDB760
+:103F7000DEB72B970FB6F894DEBF0FBECDBF4F83D1
+:103F8000588769877A878B87DE01119686E0FD0165
+:103F900011928A95E9F785E0FE01379601900D921E
+:103FA0008A95E1F749815A816B817C818D819E815F
+:103FB0000E9412262B960FB6F894DEBF0FBECDBF1F
+:103FC000DF91CF910895CF93C82F882309F4C1C002
+:103FD000823859F40E944F1E81FDBBC089E30E94C4
+:103FE000ED280E94732989E30CC0833879F40E947C
+:103FF0004F1E80FDAEC083E50E94ED280E9473290C
+:1040000083E50E940A29CF910C947329843859F4CE
+:104010000E944F1E82FD9DC087E40E94ED280E94F1
+:10402000732987E4EECF8CEF8C0F813A48F48C2F04
+:104030000E94463381118DC08C2F0E94ED28E3CF62
+:1040400080E28C0F883048F4C77081E001C0880F8F
+:10405000CA95EAF70E942C29D6CF8BE58C0F8330C6
+:1040600078F4C53A29F0C63A31F083E890E005C00B
+:1040700081E890E002C082E890E0CF910C94AE1EFF
+:1040800088E58C0F833108F064C0C83A39F1C93A29
+:1040900041F1CA3A49F1CB3A51F1CC3A59F1CD3A12
+:1040A00061F1C03B69F1CE3A71F1CF3A79F1C13B90
+:1040B00081F1C23B89F1C33B91F1C43B99F1C53B0E
+:1040C000A1F1C63BA9F1C73BB1F1C83BB9F1C93B6E
+:1040D000C1F1CA3BC9F180E090E038C082EE90E0C7
+:1040E00035C089EE90E032C08AEE90E02FC085EBBB
+:1040F00090E02CC086EB90E029C087EB90E026C0D2
+:104100008CEC90E023C08DEC90E020C083E891E03F
+:104110001DC08AE891E01AC082E991E017C084E9E5
+:1041200091E014C081E292E011C083E292E00EC0FF
+:1041300084E292E00BC085E292E008C086E292E061
+:1041400005C087E292E002C08AE292E0CF910C942F
+:10415000C41ECF910895882309F44BC0823859F4C6
+:104160000E944F1E81FF45C089E30E94ED280E94F6
+:10417000732989E30CC0833871F40E944F1E80FFBD
+:1041800038C083E50E94ED280E94732983E50E94D0
+:104190000A290C947329843859F40E944F1E82FF17
+:1041A00028C087E40E94ED280E94732987E4EFCF9E
+:1041B0009CEF980F913A58F390E2980F983050F492
+:1041C000877091E001C0990F8A95EAF7892F0E94C4
+:1041D0003229DFCF9BE5980F933020F480E090E008
+:1041E0000C94AE1E885A833120F480E090E00C9449
+:1041F000C41E0895882321F00E942C290C94732951
+:104200000895882321F00E9432290C94732908957F
+:104210008F929F92AF92BF92CF92DF92EF92FF92D6
+:104220000F931F93CF93DF931F92CDB7DEB77C011F
+:10423000C62E472FFC01058102950F7012811123B4
+:1042400021F079830E944929498149830E94E62807
+:104250004981882381F0112371F080E28C0D883030
+:1042600050F082E00E94CF280E94E62891E0D82EEC
+:10427000D926498101C0D12CE42FE295EF708E2F11
+:1042800090E0FC01E759FF4F0C94E336842F807FC8
+:10429000042F0F70882311F00295007F112389F0FD
+:1042A000002309F488C180E28C0D883020F4802F2F
+:1042B0000E942C2903C0802F0E943C290E94732950
+:1042C0007AC18C2D0E94AB20002309F4AAC180E2A0
+:1042D0008C0D883020F4802F0E94322903C0802F5B
+:1042E0000E9442290E9473299CC1942F907F842FA1
+:1042F0008F70903211F08295807FCC2021F0F1E018
+:10430000CF16A1F01DC0112339F0002319F101309F
+:1043100009F50E945C2985C1002319F0013009F4D8
+:1043200080C189830E945F29898103C1112321F003
+:10433000063008F076C10EC0053008F072C1F9C031
+:10434000112359F0002331F0F701958190FF33C11B
+:104350009F7095830E94FA2064C1002309F4E9C08C
+:1043600030C1842F86958695837019F0813061F075
+:1043700058C1112321F08C2D942F937002C080E03E
+:1043800090E00E94AE1E4DC1112321F08C2D942F80
+:10439000937002C080E090E00E94C41E42C18C2D48
+:1043A000112319F00E94232D02C00E948B2D0E9420
+:1043B000102E37C1842F837009F04DC0111131C107
+:1043C0002C2D229526952770220F220F6C2D6F70B1
+:1043D000862F90E0A0E0B0E04C015D01022E04C009
+:1043E000880C991CAA1CBB1C0A94D2F7C4FE12C0EC
+:1043F0008FE090E0A0E0B0E004C0880F991FAA1FF2
+:10440000BB1F2A95D2F7BC01CD01609570958095B0
+:10441000909503C060E070E0CB01242F269526958F
+:104420002370223051F080F4682979298A299B2948
+:10443000213071F00E945B27F4C0682979298A290C
+:104440009B290E947727EDC00E945B27C501B4011C
+:104450000E943F27E6C0112319F0842F817001C00C
+:104460008695882309F4DDC02C2D2295269527708A
+:10447000220F220F6C2D6F70862F90E0A0E0B0E02D
+:104480004C015D01022E04C0880C991CAA1CBB1CA7
+:104490000A94D2F7C4FE12C08FE090E0A0E0B0E032
+:1044A00004C0880F991FAA1FBB1F2A95D2F7BC0111
+:1044B000CD01609570958095909503C060E070E0A7
+:1044C000CB01242F269526952370223051F080F4BD
+:1044D000682979298A299B29213071F00E94352881
+:1044E000A0C0682979298A299B290E94512899C04E
+:1044F0000E943528C501B4010E94192892C08C2D54
+:1045000090E0FC01E05EF109E531F10508F04FC0F3
+:10451000E758FF4F0C94E3360C2D0F70842F8F71EA
+:10452000112321F00E94B227802F14CF0E94D3279D
+:10453000802F0E94012175C0112341F0053008F041
+:1045400070C0842F8F710E94F8276BC0063008F06E
+:1045500068C0F7CF112339F0842F8F710E94B227E2
+:1045600060C01123C9F3842F8F710E94D32759C0D3
+:10457000112329F0842F8F710E949D2752C00E9421
+:1045800093274FC0112351F0142F1F71812F0E94C8
+:10459000B22763E0812F0E94C62843C081E00E94B9
+:1045A000CF280230F0F182E00E94CF283AC01123D8
+:1045B00031F0002389F28C2D0E94E31F32C00023CA
+:1045C00091F28C2D0E94AB202CC04F706C2DC70136
+:1045D0000E94EA0D0E94B72624C0111122C0842F28
+:1045E0008F70823099F038F4882369F08130C9F4F3
+:1045F0000E94D63416C0833061F0843091F48C2D43
+:104600000E9461350EC00E94AC340BC00E9405357B
+:1046100008C00E942B3505C04F706C2DC7010E9449
+:10462000490ADD20F1F00E94C22880FD1AC0F7017E
+:1046300012820E94BC280E94B227C7010E943F2319
+:104640000E94BC280F90DF91CF911F910F91FF9096
+:10465000EF90DF90CF90BF90AF909F908F900C9491
+:10466000D3270F90DF91CF911F910F91FF90EF9083
+:10467000DF90CF90BF90AF909F908F9008950F9351
+:104680001F93CF93DF93EC018B819C81892BC9F021
+:1046900089818F3F19F488818F3F99F0CE010E9464
+:1046A000B40A882371F0688179818A810E94B828D0
+:1046B0008C010E946D280E943427B801CE010E940F
+:1046C0000821DF91CF911F910F9108950E944929F0
+:1046D0000E9459290E941B290E9473290E94422F7F
+:1046E0000E94102E80E090E00E94AE1E80E090E0DC
+:1046F0000C94C41E0E9439290C9466230E94AD2894
+:10470000292F22952F702C3030F42A3048F4225073
+:10471000223098F405C02C3061F02F3051F00DC0DC
+:10472000803F69F018F4803E40F409C0843F29F4CA
+:1047300006C093FB882780F9089580E0089581E002
+:104740000895CF93DF9300D000D01F92CDB7DEB78E
+:104750000F900F900F900F900F90DF91CF910895D1
+:10476000CF93DF9300D000D000D0CDB7DEB7269630
+:104770000FB6F894DEBF0FBECDBFDF91CF91089585
+:104780001F93CF93DF93C091990116E080919A0116
+:10479000C81799F0D0E01C9FF0011D9FF00D112467
+:1047A000E556FE4F408151816281738184819581FC
+:1047B0000E94B0232196C770E9CFDF91CF911F915E
+:1047C00008954091CB015091CC016091CD01709141
+:1047D000CE018091CF019091D0010C94B0238091B3
+:1047E000D00182958F7009F054C08091CD0188234B
+:1047F00009F44FC080919901A0919A014091CE0196
+:104800005091CF016091CB017091CC01B6E08A1735
+:1048100009F43FC090E041155105C1F17F3F11F40B
+:104820006F3FA1F1B89FF001B99FF00D1124E5563B
+:10483000FE4F218127132AC02081261327C0228101
+:10484000211124C0238134812417350710F421500D
+:104850003109241B350B283C3105C0F42091D001CF
+:104860002F7020612093D00126E0289FF001299F1E
+:10487000F00D1124E056FE4F80818F70806180839F
+:104880008BEC91E00E943F230C94C023019687702B
+:10489000BECF0895CF92DF92EF92FF920F931F93B6
+:1048A000CF93DF93CDB7DEB762970FB6F894DEBF34
+:1048B0000FBECDBF8C0185E0F801DE011D96019091
+:1048C0000D928A95E1F7D8014C9111965C91119760
+:1048D00012966C918091CE019091CF01009709F4CE
+:1048E00075C13091CB017091CC017F3F19F43F3FEE
+:1048F00009F46CC1F801C380D480E090CD01EE20B2
+:1049000009F4BEC02091D001C816D90628F0D601FE
+:10491000A81BB90BCD0104C0809590958C0D9D1DF1
+:10492000FF24F394883C910578F0F12C207F09F066
+:10493000C4C07C2DD98AC88A89890E94A1238BECA6
+:1049400091E00E943F23AFC0822F807F09F045C0D5
+:10495000571313C0431311C061110FC02F70206192
+:104960002093D0010E94E1238BEC91E00E943F2331
+:104970008091D001F80185832EC0CD2819F15F3FC9
+:1049800011F44F3FF9F0F62E61111CC0809199018E
+:1049900020919A0136E0821709F45BC090E0389FBD
+:1049A000F001399FF00D1124E556FE4F7181571328
+:1049B00006C07081471303C07281711103C0019654
+:1049C0008770E9CFF62E662309F41CC18091D001CF
+:1049D00081608093D001F12C15C1571309C0431396
+:1049E00007C0611105C08091D001F8018583C8C05E
+:1049F0004D875E878D859E856A8B0E947E236A899E
+:104A00008823D1F16623C1F12091D001822F8295B4
+:104A10008F7090E0029774F08091CB019091CC015F
+:104A200098878F831986DB86CA862C87CE010796E6
+:104A30000E943F2386E0F801ABECB1E001900D92BB
+:104A40008A95E1F70E94EF230E94E123FF24F3946B
+:104A5000D9C04D875E878D859E850E94AD28292F00
+:104A600022952F70223008F0C1C09F7009F0BBC0A2
+:104A7000805E883008F4C6C0C8010E943F23E6CF9C
+:104A8000C816D90608F453C0F601E81BF90BCF018C
+:104A9000883C910508F450C0F12C7C2DD98AC88A35
+:104AA00089890E94A123EBECF1E086E0DF011D92F1
+:104AB0008A95E9F70E94E123A5C0571314C0431358
+:104AC00012C0611110C08091D001F8018583C80126
+:104AD0000E943F2386E0EBECF1E0DF011D928A9516
+:104AE000E9F7FE2C8FC04D875E878D859E856A8B8A
+:104AF0000E947E236A89882309F4BECF662309F4C5
+:104B0000BBCF2091D001822F82958F7090E00297C9
+:104B10000CF490CF8091CB019091CC019A83898342
+:104B20001B82DD82CC822E83CE01019681CF8095BF
+:104B300090958C0D9D1DACCFF62E662309F49CCF6D
+:104B4000571333C0431331C02091D00120FD24C03E
+:104B5000822F82958F70482F50E041155105E1F06A
+:104B6000D80115962C9315974F30510549F08F5F5A
+:104B7000982F9295907F822F8F70892B15968C930A
+:104B8000C8010E943F2386E0F801ABECB1E0019040
+:104B90000D928A95E1F78ECF86E0F801ABECB1E09B
+:104BA00001900D928A95E1F72DC04D875E878D8526
+:104BB0009E850E947E2381113DCF8091D00181602E
+:104BC0008093D001C8010E943F231CC0662309F4D2
+:104BD00053CF4D875E878D859E850E947E238823D7
+:104BE00009F44ACF27CF811143CF0CC0243008F0FD
+:104BF00043CF9F7009F43CCFD80115969C91907FCC
+:104C000009F036CF8F2D62960FB6F894DEBF0FBE37
+:104C1000CDBFDF91CF911F910F91FF90EF90DF906B
+:104C2000CF9008951F93CF93DF93CDB7DEB72C9726
+:104C30000FB6F894DEBF0FBECDBF4F83588769878C
+:104C40007A878B879C87CE0107960E944A24882307
+:104C500071F08A859B85892B09F441C088858F3F37
+:104C600009F065C08F818F3F09F061C038C086E0D0
+:104C7000FE013796DE01119601900D928A95E1F7BB
+:104C80006A857B856115710551F1FF81E885EF3FEC
+:104C900011F4FF3F21F120919A0130E0C901019602
+:104CA000877099274091990150E08417950709F47E
+:104CB00047C0F983EA837D836C8396E0929FD0019D
+:104CC000939FB00D1124A556BE4FFE013196019061
+:104CD0000D929A95E1F780939A010E94C02316E005
+:104CE0008091990190919A018917B9F1189FC0019B
+:104CF000112485569E4F0E944A24882371F1E09129
+:104D000099011E9FF0011124E556FE4F408151810B
+:104D100062817381848195810E94B0238091990181
+:104D200090E001968770992780939901D9CF4F81A0
+:104D3000588569857A858B859C850E94B023CFCF65
+:104D40000E947A2310929A0110929901EBECF1E003
+:104D500086E0DF011D928A95E9F72C960FB6F8944C
+:104D6000DEBF0FBECDBFDF91CF911F910895EF92AF
+:104D7000FF920F931F93CF93DF938C01892B09F43C
+:104D80006CC0F12CEE24E394E8012196F8018491A3
+:104D9000843740F4843008F051C0813081F0823093
+:104DA00019F15BC0853709F444C0A8F19CE7980F5E
+:104DB000903708F052C08F770E94AB2041C00E5F41
+:104DC0001F4FFE01849190E2980F983050F4877045
+:104DD000FE2D01C0FF0F8A95EAF78F2F0E944C2904
+:104DE00014C00E94E31F2DC00E5F1F4FFE0184916F
+:104DF00090E2980F983060F48770FE2D01C0FF0F8D
+:104E00008A95EAF78F2F0E9452290E94732919C0B0
+:104E10000E94AB2016C00E5F1F4FFE01C491CC2331
+:104E200081F08FE99FE00197F1F700C00000C150C9
+:104E3000F6CF0E5F1F4FFE01F49003C00E94E31FE8
+:104E40008E018F2D882309F49FCFEFE9FFE0319782
+:104E5000F1F700C000008150F5CFDF91CF911F9195
+:104E60000F91FF90EF90089508956093D50170938E
+:104E7000D6018093D7019093D8010C9466230F93A9
+:104E80001F930091D5011091D6012091D701309147
+:104E9000D801DC01CB01802B912BA22BB32B80936B
+:104EA000D5019093D601A093D701B093D8011F915B
+:104EB0000F910C9466230F931F930091D5011091CD
+:104EC000D6012091D7013091D801DC01CB0180239C
+:104ED0009123A223B3238093D5019093D601A0936D
+:104EE000D701B093D8011F910F910C9466230F93B3
+:104EF0001F930091D5011091D6012091D7013091D7
+:104F0000D801DC01CB0180279127A227B32780930A
+:104F1000D5019093D601A093D701B093D8011F91EA
+:104F20000F910C9466231092D1011092D20110922D
+:104F3000D3011092D4010C94662341E050E060E06C
+:104F400070E004C0440F551F661F771F8A95D2F783
+:104F50004093D1015093D2016093D3017093D40157
+:104F60000C94662341E050E060E070E004C0440F20
+:104F7000551F661F771F8A95D2F78091D1019091B6
+:104F8000D201A091D301B091D401482B592B6A2BA7
+:104F90007B2B4093D1015093D2016093D301709346
+:104FA000D4010C94662341E050E060E070E004C05E
+:104FB000440F551F661F771F8A95D2F7409550956D
+:104FC000609570958091D1019091D201A091D3010B
+:104FD000B091D401482359236A237B234093D10104
+:104FE0005093D2016093D3017093D4010C94662343
+:104FF00041E050E060E070E004C0440F551F661FC0
+:10500000771F8A95D2F78091D1019091D201A0911A
+:10501000D301B091D401482759276A277B274093B1
+:10502000D1015093D2016093D3017093D4010C94B9
+:1050300066230F931F930091D1011091D20120910B
+:10504000D3013091D401DC01CB01802B912BA22B19
+:10505000B32B8093D1019093D201A093D301B0934D
+:10506000D4011F910F910C9466230F931F9300910D
+:10507000D1011091D2012091D3013091D401DC01F2
+:10508000CB0180239123A223B3238093D10190935A
+:10509000D201A093D301B093D4011F910F910C942E
+:1050A00066230F931F930091D1011091D20120919B
+:1050B000D3013091D401DC01CB0180279127A227B5
+:1050C000B3278093D1019093D201A093D301B093E1
+:1050D000D4011F910F910C9466230895CF92DF9213
+:1050E000EF92FF920F931F93CF93DF938C01C090A9
+:1050F000D101D090D201E090D301F090D401809101
+:10510000D5019091D601A091D701B091D801C82ABC
+:10511000D92AEA2AFB2ACFE1D0E0D701C6010C2E1A
+:1051200004C0B695A795979587950A94D2F780FD08
+:1051300004C0219790F780E007C0B8018C2F0E942F
+:10514000470C0197B1F38C2FDF91CF911F910F91F5
+:10515000FF90EF90DF90CF900895CF93DF93EC0115
+:105160000E946E28BE010E94470CDF91CF910895E6
+:10517000CB010E94AD2808958091D9018595859530
+:10518000859508958091D9018770089598E0899F49
+:1051900090011124262B2093D9010C94B227209141
+:1051A000D901809582238093D901982F977069F453
+:1051B00030E0482F082E000C550B2417350729F036
+:1051C0008595859585950C94D32708959091D9015F
+:1051D000977081E009F480E0089520910D013091ED
+:1051E0000E01F90132969FEF40E05191851789F049
+:1051F0009F3F19F4511101C0942F4F5F4630A9F71A
+:105200009F3F39F0F901E90FF11D97FDFA9582836F
+:105210000895089520910D0130910E01F901329603
+:10522000285F3F4F9081891301C010823196E217A9
+:10523000F307C1F7089581E090E0E0910D01F0914E
+:105240000E01E80FF91F1082019688309105A9F729
+:1052500008958091E50108959091E501892B80934F
+:10526000E501089580959091E50189238093E501FA
+:1052700008951092E50108959091E401892B80939F
+:10528000E401089580959091E40189238093E401DD
+:1052900008951092E40108959091E301892B809381
+:1052A000E301089580959091E30189238093E301C0
+:1052B00008951092E30108958093DA010895109201
+:1052C000DA01089580910D0190910E01FC01319653
+:1052D0009C01285F3F4F80E0919191118F5FE21711
+:1052E000F307D1F70895E0910D01F0910E0180913F
+:1052F000E5018083E0910D01F0910E019081809194
+:10530000E401892B8083E0910D01F0910E019081E1
+:105310008091E301892B80838091DA01882361F0F9
+:10532000E0910D01F0910E019081892B80830E9404
+:10533000622981111092DA0180910D0190910E0184
+:105340000C945B1E9093470180934601089520E0E2
+:10535000009739F0AC0141505109842395232F5F08
+:10536000F7CF822F08958295982F937344E0949FEE
+:10537000900111248C7C86958695282B822F85752B
+:10538000880F2A7A2695822B08951F93CF93DF9357
+:105390001F92CDB7DEB799830E94B329182F998148
+:1053A000892F0E94B329212F30E0322F2227A90113
+:1053B000482BCA010F90DF91CF911F9108958091E2
+:1053C0003502843051F11092E70120E488E190E049
+:1053D0000FB6F894A895809360000FBE20936000EC
+:1053E00080E00E941F0A80E00E947C0E83B7817FCC
+:1053F000846083BF83B7816083BF7894889583B7C7
+:105400008E7F83BF0FB6F894A89580916000886165
+:1054100080936000109260000FBE0895089580E0B0
+:105420000E941F0A0E94920E0E94150F0E940E2ACF
+:105430000E94DB0F91E0811101C090E0892F089557
+:105440000E947A2380E00E941F0A0E949B340E94DF
+:105450004F1E0C947C0E1F920F920FB60F921124C8
+:105460008F939F93AF93BF938091E701811113C0F6
+:105470008091E8019091E901A091EA01B091EB01DE
+:105480004196A11DB11D8093E8019093E901A0937D
+:10549000EA01B093EB01BF91AF919F918F910F9073
+:1054A0000FBE0F901F90189582E084BD93E095BDCC
+:1054B0009AEF97BD80936E0008952FB7F89480916E
+:1054C000E8019091E901A091EA01B091EB012FBFB1
+:1054D0000895CF92DF92EF92FF920F931F932FB711
+:1054E000F8944091E8015091E9016091EA017091CE
+:1054F000EB012FBF6A017B01EE24FF248C0120E029
+:1055000030E0C016D106E206F30610F4415051090E
+:105510009A01281B390BC9011F910F91FF90EF9041
+:10552000DF90CF9008951F920F920FB60F92112423
+:105530008F939F93AF93BF938091E8019091E9017E
+:10554000A091EA01B091EB010196A11DB11D8093DC
+:10555000E8019093E901A093EA01B093EB01BF91B8
+:10556000AF919F918F910F900FBE0F901F90189544
+:105570000E94481BF8942FEF87EA91E62150804063
+:105580009040E1F700C0000087E090EBDC018093E1
+:105590003F0290934002A0934102B09342029CE0EC
+:1055A00088E10FB6F894A895809360000FBE9093A1
+:1055B0006000FFCFAF92BF92CF92DF92EF92FF9247
+:1055C0000F931F93CF93C4E0CC24C394D12CE82E27
+:1055D000F12C8C2F0E94980F5C010DE010E0C601A9
+:1055E000002E02C0880F991F0A94E2F78A219B219E
+:1055F000892B51F0602F7C2F80E00E94ED0DE81682
+:10560000F90611F481E006C00150110940F7C150BC
+:1056100000F780E0CF911F910F91FF90EF90DF9006
+:10562000CF90BF90AF900895CF93C82F8CE20E9487
+:10563000DA2A882321F08C2FCF910C94DA2A80E08B
+:10564000CF910895CF930E94722C811102C00E94C5
+:10565000532C88E199E00E945D09C5E6C15049F0EC
+:105660000E94150F8FE39CE90197F1F700C000003D
+:10567000F5CF81E199E00E945D0989E20E94142B37
+:1056800081110FC18AE20E94142B81110E94532CB8
+:1056900085E00E94142B81110E94B82A0E947D2C63
+:1056A0008093E60187E00E94142B8823A9F18BE107
+:1056B0000E94142B882351F08091E60181FB222760
+:1056C00020F991E0922790FB81F90EC08EE00E94B4
+:1056D000142B882361F08091E60182FB222720F9B8
+:1056E00091E0922790FB82F98093E60115C080E15A
+:1056F0000E94142B9091E601882341F093FB22270E
+:1057000020F981E0822780FB93F904C0892F8095DE
+:1057100080FB90F99093E6018091E6010E94812C34
+:105720000E948F2C90E09093F8018093F70180EE17
+:105730000E94142B882341F08091F701982F9095B7
+:1057400090FB80F98093F70189E30E94142B882352
+:1057500059F08091F70181FB222720F991E09227EF
+:1057600090FB81F98093F70182EE0E94142B88232D
+:1057700059F08091F70182FB222720F991E09227CE
+:1057800090FB82F98093F70186EE0E94142B882308
+:1057900059F08091F70183FB222720F991E09227AD
+:1057A00090FB83F98093F70183EE0E94142B8823EA
+:1057B00059F08091F70184FB222720F991E092278C
+:1057C00090FB84F98093F70185E30E94142B8823D2
+:1057D00059F08091F70185FB222720F991E092276B
+:1057E00090FB85F98093F70181E30E94142B8823B5
+:1057F00059F08091F70186FB222720F991E092274A
+:1058000090FB86F98093F70181E10E94142B882395
+:1058100059F08091F70187FB222720F991E0922728
+:1058200090FB87F98093F7018091F7010E94932CF8
+:1058300087E20E94142BC82F8EE10E94142B811145
+:10584000C2608FE10E94142B8111C46080E20E942B
+:10585000142B8111C86081E20E94142B8111C06158
+:1058600082E20E94142B8111C06283E20E94142BF9
+:105870008111C06484E20E94142B882311F0C06857
+:1058800002C0CC2329F08C2F0E948A2C6C2F03C0DD
+:105890000E94862C682F70E080E090E0CF910C94FD
+:1058A0003527CF9108956DEE7EEF80E090E00E9465
+:1058B0001B3760E082E090E00E94FD3660E083E00C
+:1058C00090E00E94FD3660E084E090E00E94FD36AA
+:1058D00060E085E090E00E94FD3660E086E090E0C8
+:1058E0000C94FD3680E090E00E94F73621E08D3E7A
+:1058F0009E4F09F020E0822F089582E090E00C9402
+:10590000E936682F82E090E00C94FD3683E090E069
+:105910000C94E936682F83E090E00C94FD3684E027
+:1059200090E00C94E936682F84E090E00C94FD360A
+:1059300086E090E00C94E936682F86E090E00C94C5
+:10594000FD368091EE0180FF0BC06091120185E071
+:10595000689FB001112475956795759567952BC063
+:1059600081FF09C06091120185E0689FB001112498
+:105970007595679520C082FF07C06091120185E090
+:10598000689FB001112417C09091EF019923D1F0C5
+:1059900060911101961788F72091120185E0289FE8
+:1059A00090011124929FA001939F500D112470E04B
+:1059B000CA010E94CF366038710540F46115710547
+:1059C00019F406C065E070E0862F08958FE708950A
+:1059D00081E008958091EE0180FF08C06091100180
+:1059E00070E0759567957595679521C081FF06C034
+:1059F0006091100170E07595679519C082FF04C031
+:105A00006091100170E010C09091EF01992399F01E
+:105A100060910F019617A0F780911001899FC00136
+:105A2000112470E00E94CF366038710540F4611592
+:105A3000710519F406C061E070E0862F08958FE7C4
+:105A4000089581E00895803F21F40E94A12C819562
+:105A500004C0813F29F40E94A12C8093F201089593
+:105A6000823F21F40E94A12C819504C0833F29F438
+:105A70000E94A12C8093F1010895893F19F40E949E
+:105A8000EA2C05C08A3F31F40E94EA2C819580936C
+:105A9000F30108958B3F21F40E94EA2C819504C004
+:105AA0008C3F29F40E94EA2C8093F4010895843FEE
+:105AB00021F48091F001816017C0853F21F480912D
+:105AC000F001826011C0863F21F48091F001846072
+:105AD0000BC0873F21F48091F001886005C0883FAA
+:105AE00031F48091F00180618093F00108958D3F41
+:105AF00021F48091EE0181600BC08E3F21F48091F2
+:105B0000EE01826005C08F3F29F48091EE01846030
+:105B10008093EE010895803F39F48091F20187FF70
+:105B20006CC01092F20169C0813F29F48091F201AA
+:105B30001816BCF362C09091F101823F29F497FFDF
+:105B40005CC01092F10159C0833F19F41916CCF3CF
+:105B500054C0893F41F48091F30118160CF04DC0F8
+:105B60001092F3014AC08A3F29F48091F30187FF24
+:105B700044C0F6CF8B3F39F48091F40187FF3DC0DC
+:105B80001092F4013AC08C3F29F48091F401181668
+:105B9000BCF333C0843F21F48091F0018E7F17C0A5
+:105BA000853F21F48091F0018D7F11C0863F21F463
+:105BB0008091F0018B7F0BC0873F21F48091F00131
+:105BC000877F05C0883F31F48091F0018F7E8093FC
+:105BD000F00113C08D3F21F48091EE018E7F0BC048
+:105BE0008E3F21F48091EE018D7F05C08F3F29F417
+:105BF0008091EE018B7F8093EE018091F101811104
+:105C00000EC08091F20181110AC08091F3018111CF
+:105C100006C08091F401811102C01092EF01089535
+:105C20008091E60183FF7EC084E599E00E945D09D2
+:105C30008091F0011F928F938FE499E09F938F934F
+:105C40000E94F6098DE499E00E945D098091F101BE
+:105C5000282F082E000C330B3F938F938AE499E092
+:105C60009F938F930E94F60988E499E00E945D0952
+:105C70008091F201282F082E000C330B3F938F9355
+:105C800085E499E09F938F930E94F60983E499E05D
+:105C90000E945D098091F301282F082E000C330B20
+:105CA0003F938F9380E499E09F938F930E94F6092E
+:105CB0008EE399E00E945D098091F401282F082E5F
+:105CC000000C330B3F938F938BE399E09F938F935B
+:105CD0000E94F60988E399E00E945D098091EF0136
+:105CE0001F928F9385E399E09F938F930E94F6090B
+:105CF00083E399E00E945D098091EE011F928F93EA
+:105D000080E399E09F938F930E94F6098DE299E0DA
+:105D10000E945D098DB79EB74C960FB6F8949EBF52
+:105D20000FBE8DBF80EF91E00E94A31E0E945D2AEE
+:105D30009093ED018093EC0108951F93CF93DF932F
+:105D40008091EC019091ED010E94692AAC01909143
+:105D5000EF01992321F02091130130E006C020913A
+:105D600014018AE0289F900111244217530708F478
+:105D700085C08091F101C091F201D091F3011091A1
+:105D8000F401811107C0C11175C0D11173C0111187
+:105D900071C074C09F3F19F09F5F9093EF01181678
+:105DA00024F40E94A12C8093F1018091F10187FFDE
+:105DB00005C00E94A12C81958093F1011C1624F44A
+:105DC0000E94A12C8093F2018091F20187FF05C00F
+:105DD0000E94A12C81958093F2016091F1016623CC
+:105DE00031F1C091F201CC2311F1062E000C770B9A
+:105DF000880B990B0E94B63523E333E343E35FE35B
+:105E00000E941A360E947E356093F1016C2FCC0FF0
+:105E1000770B880B990B0E94B63523E333E343E3FA
+:105E20005FE30E941A360E947E356093F2011D16D0
+:105E300024F40E94EA2C8093F3018091F30187FF00
+:105E400005C00E94EA2C81958093F301111624F479
+:105E50000E94EA2C8093F4018091F40187FF05C031
+:105E60000E94EA2C81958093F401DF91CF911F91DC
+:105E70000C94102E9F3F09F08FCFA0CFDF91CF91D0
+:105E80001F910895E0EFF1E085E0DF011D928A9512
+:105E9000E9F71092EF011092EE01089587E79BE079
+:105EA0000E945D091F9281E08F931F9285E08F937E
+:105EB00089E29BE09F938F930E94F6090F900F90C9
+:105EC0000F900F900F900F9008958330E9F128F410
+:105ED000813061F0823009F10895853009F462C0A3
+:105EE00008F449C0863009F474C008958091140103
+:105EF000262F30E0280F311D2F3F310524F4680F85
+:105F00006093140103C08FEF8093140180911401FA
+:105F10001F928F9382E69AE072C080911301262F20
+:105F200030E0280F311D2F3F310524F4680F6093B6
+:105F3000130103C08FEF80931301809113011F920F
+:105F40008F9380E59AE05BC080911201262F30E0AC
+:105F5000280F311D2F3F310524F4680F6093120183
+:105F600003C08FEF80931201809112011F928F93D3
+:105F70008DE39AE044C080911101262F30E0280F74
+:105F8000311D2F3F310524F4680F6093110103C0C8
+:105F90008FEF80931101809111011F928F9388E2FE
+:105FA0009AE02DC080911001262F30E0280F311D7E
+:105FB0002F3F310524F4680F6093100103C08FEF69
+:105FC00080931001809110011F928F938FE09AE0CF
+:105FD00016C080910F01262F30E0280F311D2F3F72
+:105FE000310524F4680F60930F0103C08FEF809395
+:105FF0000F0180910F011F928F9384EF99E09F937F
+:106000008F930E94F6090F900F900F900F900895B4
+:10601000833081F128F4813059F08230D1F0089535
+:10602000853009F449C0B8F1863009F456C00895A6
+:1060300080911401681720F4861B8093140102C01C
+:1060400010921401809114011F928F9385EE99E0B4
+:1060500054C080911301681720F4861B80931301AC
+:1060600002C010921301809113011F928F9383ED50
+:1060700099E043C080911201681720F4861B809339
+:10608000120102C010921201809112011F928F938F
+:1060900080EC99E032C080911101681720F4861BD2
+:1060A0008093110102C010921101809111011F9281
+:1060B0008F938BEA99E021C080911001681720F43A
+:1060C000861B8093100102C0109210018091100174
+:1060D0001F928F9382E999E010C080910F01681799
+:1060E00020F4861B80930F0102C010920F01809153
+:1060F0000F011F928F9387E799E09F938F930E94E0
+:10610000F6090F900F900F900F900895CF93C82F1E
+:106110001F928F938CE79CE09F938F930E94F609C8
+:1061200081E090E0A0E0B0E0BC01CD0104C0660FCA
+:10613000771F881F991FCA95D2F70E9435270F90A5
+:106140000F900F900F90CF910C947A23CF938732BA
+:10615000B0F58E3108F088C28E3009F402C200F525
+:10616000873009F4CBC1A8F4863009F083C280914E
+:10617000E601817F8E7F8093E60183ED9DE00E94A2
+:106180005D0987EA91E10E945D0981E08093F60153
+:10619000B3C1883009F43FC08B3009F4A9C16AC289
+:1061A000863109F424C220F4803109F4EEC162C2C0
+:1061B000893109F405C28B3109F4BFC15BC2883350
+:1061C00009F496C150F4893209F450C2853309F4B8
+:1061D0004DC2873209F44AC24DC2833409F446C223
+:1061E00028F48A3308F446C2895341C2883409F03E
+:1061F00041C20E947A238BE891E10E945D099FEFE2
+:1062000023ED80E3915020408040E1F700C0000082
+:106210000E94B82A71C18BEA91E10E945D098DE06C
+:1062200091E10E945D090E94862C1F928F938AE063
+:1062300091E19F938F930E94F60988E091E10E947B
+:106240005D090E947D2CC82F85EF90E10E945D09B9
+:106250001F92CF9380EF90E19F938F930E94F60956
+:106260008EEE90E10E945D0984EE90E10E945D094E
+:106270008C2F81701F928F9381EE90E19F938F936B
+:106280000E94F6098FED90E10E945D0985ED90E195
+:106290000E945D09C1FB882780F91F928F9382EDD0
+:1062A00090E19F938F930E94F60980ED90E10E9408
+:1062B0005D0984EC90E10E945D09C2FB882780F9AA
+:1062C0001F928F9381EC90E19F938F930E94F60928
+:1062D0008FEB90E10E945D0986EB90E10E945D09E1
+:1062E000C3FBCC27C0F91F92CF9383EB90E19F9320
+:1062F0008F930E94F60981EB90E10E945D090E9454
+:106300008F2CC82F8DE990E10E945D091F92CF93D9
+:1063100088E990E19F938F930E94F60986E990E1C6
+:106320000E945D098DE790E10E945D098C2F8170CC
+:106330001F928F938AE790E19F938F930E94F609B3
+:106340008DB79EB780960FB6F8949EBF0FBE8DBFD7
+:1063500088E790E10E945D0981E690E10E945D0975
+:10636000C1FB882780F91F928F938EE590E19F9360
+:106370008F930E94F6098CE590E10E945D098AE402
+:1063800090E10E945D09C2FB882780F91F928F93DC
+:1063900087E490E19F938F930E94F60985E490E152
+:1063A0000E945D0983E390E10E945D09C3FB882799
+:1063B00080F91F928F9380E390E19F938F930E94C7
+:1063C000F6098EE290E10E945D0984E290E10E946C
+:1063D0005D09C4FB882780F91F928F9381E290E1C9
+:1063E0009F938F930E94F6098FE190E10E945D09CF
+:1063F0008DE090E10E945D09C5FB882780F91F921E
+:106400008F938AE090E19F938F930E94F60988E032
+:1064100090E10E945D098CEE9FE00E945D09C6FB41
+:10642000882780F91F928F9389EE9FE09F938F9327
+:106430000E94F60987EE9FE00E945D098FED9FE0C4
+:106440000E945D09C7FBCC27C0F91F92CF938CED4A
+:106450009FE09F938F930E94F6098AED9FE00E9430
+:106460005D090E94982CC82F83EC9FE00E945D0973
+:106470001F92CF938EEB9FE09F938F930E94F6091C
+:106480008DB79EB780960FB6F8949EBF0FBE8DBF96
+:106490008CEB9FE00E945D0982EB9FE00E945D090A
+:1064A0008C2F81701F928F938FEA9FE09F938F9321
+:1064B0000E94F6098DEA9FE00E945D0984EA9FE050
+:1064C0000E945D09C6951F92CF9381EA9FE09F933A
+:1064D0008F930E94F6098FE99FE00E945D098DB7B6
+:1064E0009EB708960FB6F8949EBF0FBE8DBF04C02E
+:1064F0008AEF9DE00E945D09C1E0C1C08091E60184
+:10650000C82FC095C170C0FB80F98093E601CC23F1
+:1065100049F08FE791E10E945D098091E601866074
+:10652000886048C082E791E10E945D098091E601A0
+:10653000897F877F8093E601DFCF9091E60191FB11
+:10654000CC27C0F981E0C827892FC0FB81F980934F
+:10655000E601CC2319F085E691E127C087E591E1BA
+:10656000C9CF9091E60192FBCC27C0F981E0C82702
+:10657000892FC0FB82F98093E601CC2319F088E4CF
+:1065800091E113C088E391E1B5CF9091E60193FBCF
+:10659000CC27C0F981E0C827892FC0FB83F98093FD
+:1065A000E601CC2351F08CE291E10E945D098091DB
+:1065B000E60181608093E60162C08FE191E19ACFAC
+:1065C00084EC9DE00E945D098BEA9DE00E945D09DC
+:1065D00089E79DE00E945D0982E59DE00E945D09DA
+:1065E00082E19DE00E945D0987EE9CE083CF89ED0A
+:1065F0009CE00E945D090E944F1E1F928F938FEBBB
+:106600009CE09F938F930E94F60980910C011F924A
+:106610008F9388EA9CE09F938F930E94F609809164
+:1066200087011F928F9385E99CE09F938F930E942F
+:10663000F6098091E8019091E901A091EA01B091F9
+:10664000EB01BF93AF939F938F9381E89CE09F935F
+:106650008F930E94F6098DB79EB742960FB6F894B5
+:106660009EBF0FBE8DBF48CF8D5101C080E00E94FC
+:10667000863042CF8DE191E10E945D09C0E08C2F10
+:10668000CF91089580E008950C944233CF93C82FA2
+:106690008091F601813071F020F0823009F44BC016
+:1066A00042C1E0910D01F0910E018081823209F02A
+:1066B0003CC107C0E0910D01F0910E018081823252
+:1066C00061F48C2F0E944433811104C08C2F0E94EE
+:1066D000A6302FC081E090E02CC08C2F0E94423366
+:1066E000811126C0C431E1F070F4CB3081F0C031AB
+:1066F000D1F40E944E2F84E79CE00E945D0982E065
+:106700008093F60115C0C93259F0C83361F483EDA6
+:106710009DE00E945D0988E79CE00E945D0908C039
+:106720001092F60104C182E79CE00E945D09FFC05F
+:1067300081E08170FEC0C43228F5CE3108F0C1C0BE
+:10674000CB30A1F1D0F4C73009F0D3C08EE18093F3
+:10675000140182E3809313018AE08093120184E1A3
+:106760008093110188E08093100188E280930F01EB
+:1067700088E19BE00E945D09BFC0C33149F1C4318B
+:10678000C1F0B7C0CB3409F4A9C028F4C93289F0EC
+:10679000C83361F0AEC0C13509F49EC0C23509F4FA
+:1067A00099C0CE3409F0A5C06AE09EC00E944E2F69
+:1067B000A3C08091F501882319F01092F5019CC0C7
+:1067C00085E29BE00E945D0981E08093F601B1C003
+:1067D0008FEF9AE00E945D098DEE9AE00E945D09BC
+:1067E000809114011F928F938AEE9AE09F938F936A
+:1067F0000E94F60988EE9AE00E945D0986ED9AE013
+:106800000E945D09809113011F928F9383ED9AE09E
+:106810009F938F930E94F60981ED9AE00E945D0993
+:1068200082EC9AE00E945D09809112011F928F9381
+:106830008FEB9AE09F938F930E94F6098DEB9AE07D
+:106840000E945D098CEA9AE00E945D098091110125
+:106850001F928F9389EA9AE09F938F930E94F60983
+:1068600087EA9AE00E945D0982E99AE00E945D0948
+:10687000809110011F928F938FE89AE09F938F93DE
+:106880000E94F6098DE89AE00E945D0986E79AE089
+:106890000E945D0980910F011F928F9383E79AE018
+:1068A0009F938F930E94F60981E79AE00E945D0909
+:1068B0008DB79EB748960FB6F8949EBF0FBE8DBF9A
+:1068C0001BC0CE51EC2FF0E0E45CFE4F8081809342
+:1068D000F50112C061E003C061E006C06AE080918A
+:1068E000F5010E94652F08C08091F5010E940830D3
+:1068F00003C086E19BE013C08091F501882369F015
+:106900001F928F9380E19BE09F938F930E94F609E3
+:106910000F900F900F900F9004C08DE09BE00E94AD
+:106920005D0981E006C01092F60180E002C080E0BF
+:1069300000CFCF9108950E94722C811102C00E9455
+:10694000532C0E94982C80933E0280FF02C08695B3
+:1069500001C080E00C941F0A80913E02982F96950A
+:10696000292F30E0233031054CF49F5F990F81705F
+:10697000892B816080933E020E949C2C8091E601CD
+:1069800080FF0FC080913E0286951F928F9388EF03
+:1069900091E19F938F930E94F6090F900F900F90B3
+:1069A0000F9080913E0286950C941F0A80913E02C2
+:1069B000982F969591F09158990F8170892B80931B
+:1069C0003E028E7F91E009F490E080913E0290FBC0
+:1069D00080F980933E020E949C2C8091E60180FF0A
+:1069E0000FC080913E0286951F928F9380EE91E1B9
+:1069F0009F938F930E94F6090F900F900F900F9026
+:106A000080913E0286950C941F0A80913E02982F39
+:106A1000909590FB80F980933E020E949C2C80917F
+:106A2000E60180FF0FC080913E0281701F928F931C
+:106A30008AEC91E19F938F930E94F6090F900F903B
+:106A40000F900F9080913E0280FF02C0869501C09A
+:106A500080E00C941F0A90913E02892F86958F5FEB
+:106A60008F779170843028F4880F892B80933E02B1
+:106A700002C090933E0280913E028E7F91E009F425
+:106A800090E080913E0290FB80F980933E020E944C
+:106A90009C2C8091E60180FF0FC080913E0286957C
+:106AA0001F928F9386EB91E19F938F930E94F6093B
+:106AB0000F900F900F900F9080913E0286950C944E
+:106AC0001F0A20913E02922F96958927982F990FA1
+:106AD000822F8170892B80933E028E7F91E009F492
+:106AE00090E080913E0290FB80F980933E020E94EC
+:106AF0009C2C80913E0286950C941F0A0E9485353D
+:106B00006894B1110C94143608950E94F93588F0F8
+:106B10009F5798F0B92F9927B751B0F0E1F0660F61
+:106B2000771F881F991F1AF0BA95C9F714C0B130A2
+:106B300091F00E941336B1E008950C941336672F3C
+:106B4000782F8827B85F39F0B93FCCF386957795D1
+:106B50006795B395D9F73EF49095809570956195BA
+:106B60007F4F8F4F9F4F0895E89409C097FB3EF4E5
+:106B700090958095709561957F4F8F4F9F4F99238A
+:106B8000A9F0F92F96E9BB279395F6958795779508
+:106B90006795B795F111F8CFFAF4BB0F11F460FFC8
+:106BA0001BC06F5F7F4F8F4F9F4F16C0882311F020
+:106BB00096E911C0772321F09EE8872F762F05C034
+:106BC000662371F096E8862F70E060E02AF09A95CF
+:106BD000660F771F881FDAF7880F9695879597F9C4
+:106BE000089557FD9058440F551F59F05F3F71F0BD
+:106BF0004795880F97FB991F61F09F3F79F0879524
+:106C00000895121613061406551FF2CF4695F1DFAC
+:106C100008C0161617061806991FF1CF869571053C
+:106C2000610508940895E894BB2766277727CB0170
+:106C300097F908950E942D360C949E360E94903646
+:106C400038F00E94973620F0952311F00C94873687
+:106C50000C948D3611240C9414360E94F13570F387
+:106C6000959FC1F3950F50E0551F629FF001729FF1
+:106C7000BB27F00DB11D639FAA27F00DB11DAA1F00
+:106C8000649F6627B00DA11D661F829F2227B00D4D
+:106C9000A11D621F739FB00DA11D621F839FA00DD8
+:106CA000611D221F749F3327A00D611D231F849F28
+:106CB000600D211D822F762F6A2F11249F5750407F
+:106CC0009AF0F1F088234AF0EE0FFF1FBB1F661FFA
+:106CD000771F881F91505040A9F79E3F510580F0C3
+:106CE0000C9487360C9414365F3FE4F3983ED4F34B
+:106CF000869577956795B795F795E7959F5FC1F767
+:106D0000FE2B880F911D9695879597F9089597F911
+:106D10009F6780E870E060E008959FEF80EC089541
+:106D200000240A941616170618060906089500246A
+:106D30000A9412161306140605060895092E0394E4
+:106D4000000C11F4882352F0BB0F40F4BF2B11F458
+:106D500060FF04C06F5F7F4F8F4F9F4F0895991B57
+:106D600079E004C0991F961708F0961B881F7A9542
+:106D7000C9F780950895AA1BBB1B51E107C0AA1F44
+:106D8000BB1FA617B70710F0A61BB70B881F991FCC
+:106D90005A95A9F780959095BC01CD01089597FB70
+:106DA000072E16F4009407D077FD09D00E94BB3659
+:106DB00007FC05D03EF4909581959F4F08957095FE
+:106DC00061957F4F0895EE0FFF1F0590F491E02D20
+:106DD0000994F999FECF92BD81BDF89A992780B5A3
+:106DE0000895A6E1B0E044E050E00C942337A8E118
+:106DF000B0E042E050E00C942337262FF999FECF03
+:106E000092BD81BDF89A019700B4021639F01FBAFD
+:106E100020BD0FB6F894FA9AF99A0FBE089503961A
+:106E2000272F0E94FE360E94FD36252F0E94FE3637
+:106E3000242F0C94FE360196272F0E94FE360C94C8
+:106E4000FD36DC01CB01FC01F999FECF06C0F2BD95
+:106E5000E1BDF89A319600B40D9241505040B8F718
+:066E60000895F894FFCF35
+:106E6600FFFFB416A71782174E171A1701DB012862
+:106E760008140A321E0F1F6C7666734913035343B8
+:106E860079693309196F7F59404D36209E0851089C
+:106E96001B08FB078707A007B907D20701020304EF
+:066EA600050607080900C3
+:00000001FF
diff --git a/keyboard/kc60/keymaps/stanleylai/config.h b/keyboard/kc60/keymaps/stanleylai/config.h
new file mode 100644
index 0000000000..b5024a6d02
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/config.h
@@ -0,0 +1,3 @@
+// Use configs from WS2812 enabled Keymap
+
+#include "../ws2812/config.h"
diff --git a/keyboard/kc60/keymaps/stanleylai/keymap.c b/keyboard/kc60/keymaps/stanleylai/keymap.c
new file mode 100644
index 0000000000..a7ea6040d5
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/keymap.c
@@ -0,0 +1,151 @@
+// 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 "kc60.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 _BL 0
+#define _FL 1
+#define _RGBL 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// See base_layer.png and rgb_layer.png for layout reference
+
+// Base Default Layer
+// Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
+[_BL] = KEYMAP(
+ F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
+ LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, MO(_FL), KC_UP, \
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT),
+
+// Function layer
+[_FL] = KEYMAP(
+ KC_GRV, 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_DEL, \
+ KC_NO, KC_MPRV,KC_UP, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK, KC_PAUS, KC_INS, \
+ KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_TRNS,KC_NO, KC_MUTE,KC_VOLD,KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, LT(_RGBL, KC_PGUP),\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_TRNS,KC_HOME, KC_PGDN, KC_END),
+
+// RGB Layer
+[_RGBL] = KEYMAP(
+ #ifdef RGBLIGHT_ENABLE
+ RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_TRNS,KC_NO, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
+ #else
+ RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
+ #endif
+};
+
+
+enum function_id {
+ SHIFT_ESC,
+ #ifdef RGBLIGHT_ENABLE
+ RGBLED_TOGGLE,
+ RGBLED_STEP_MODE,
+ RGBLED_INCREASE_HUE,
+ RGBLED_DECREASE_HUE,
+ RGBLED_INCREASE_SAT,
+ RGBLED_DECREASE_SAT,
+ RGBLED_INCREASE_VAL,
+ RGBLED_DECREASE_VAL,
+ #endif
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(SHIFT_ESC),
+ #ifdef RGBLIGHT_ENABLE
+ [1] = ACTION_FUNCTION(RGBLED_TOGGLE),
+ [2] = ACTION_FUNCTION(RGBLED_STEP_MODE),
+ [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+ [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+ [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+ [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+ [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+ [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+ #endif
+};
+
+#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ static uint8_t shift_esc_shift_mask;
+ switch (id) {
+ case SHIFT_ESC:
+ shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+ if (record->event.pressed) {
+ if (shift_esc_shift_mask) {
+ add_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ add_key(KC_ESC);
+ send_keyboard_report();
+ }
+ } else {
+ if (shift_esc_shift_mask) {
+ del_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ del_key(KC_ESC);
+ send_keyboard_report();
+ }
+ }
+ break;
+
+ #ifdef RGBLIGHT_ENABLE
+
+ case RGBLED_TOGGLE:
+ //led operations
+ if (record->event.pressed) {
+ rgblight_toggle();
+ }
+ break;
+ case RGBLED_INCREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_increase_hue();
+ }
+ break;
+ case RGBLED_DECREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_decrease_hue();
+ }
+ break;
+ case RGBLED_INCREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_increase_sat();
+ }
+ break;
+ case RGBLED_DECREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_decrease_sat();
+ }
+ break;
+ case RGBLED_INCREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_increase_val();
+ }
+ break;
+ case RGBLED_DECREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_decrease_val();
+ }
+ break;
+ case RGBLED_STEP_MODE:
+ if (record->event.pressed) {
+ rgblight_step();
+ }
+ break;
+ #endif
+ }
+}
diff --git a/keyboard/kc60/keymaps/stanleylai/rgb_layer.png b/keyboard/kc60/keymaps/stanleylai/rgb_layer.png
new file mode 100644
index 0000000000..2bba028bb3
--- /dev/null
+++ b/keyboard/kc60/keymaps/stanleylai/rgb_layer.png
Binary files differ