summaryrefslogtreecommitdiff
path: root/keyboards/arrow_pad/keymaps
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-21 22:39:54 -0400
committerGitHub <noreply@github.com>2016-06-21 22:39:54 -0400
commit649b33d7783cf3021928534b7ae127e0a89e8807 (patch)
treec2b5e0cf8ff4aa2918e3b88ab75dbdb071cc0a1d /keyboards/arrow_pad/keymaps
parent464c8e274f993d3571fe5ea5e836fe55a3912ffe (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/arrow_pad/keymaps')
-rw-r--r--keyboards/arrow_pad/keymaps/default/compiled.hex1490
-rw-r--r--keyboards/arrow_pad/keymaps/default/keymap.c163
-rw-r--r--keyboards/arrow_pad/keymaps/pad_21/Makefile17
-rw-r--r--keyboards/arrow_pad/keymaps/pad_21/compiled.hex893
-rw-r--r--keyboards/arrow_pad/keymaps/pad_21/config.h158
-rw-r--r--keyboards/arrow_pad/keymaps/pad_21/keymap.c160
-rw-r--r--keyboards/arrow_pad/keymaps/pad_24/Makefile17
-rw-r--r--keyboards/arrow_pad/keymaps/pad_24/compiled.hex935
-rw-r--r--keyboards/arrow_pad/keymaps/pad_24/config.h158
-rw-r--r--keyboards/arrow_pad/keymaps/pad_24/keymap.c163
10 files changed, 4154 insertions, 0 deletions
diff --git a/keyboards/arrow_pad/keymaps/default/compiled.hex b/keyboards/arrow_pad/keymaps/default/compiled.hex
new file mode 100644
index 0000000000..789eb4c3fc
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/default/compiled.hex
@@ -0,0 +1,1490 @@
+:100000000C94E8060C942C070C942C070C942C07E9
+:100010000C942C070C942C070C942C070C942C0794
+:100020000C942C070C942C070C94DE120C94B01337
+:100030000C9458210C942C070C942C070C942C072E
+:100040000C942C070C942C070C942C070C942C0764
+:100050000C942C070C94C0210C942C070C942C07A6
+:100060000C942C070C942C070C942C070C942C0744
+:100070000C942C070C942C070C942C070C942C0734
+:100080000C942C070C942C070C942C070C942C0724
+:100090000C942C070C942C070C942C070C942C0714
+:1000A0000C942C070C942C070C942C071D143F1453
+:1000B0002D153F142D158414A7142D15FC140F15A0
+:1000C000E817E8171718171856187618CC19CC190E
+:1000D0008118CC19311931199819A119CC19C619DF
+:1000E0003E193E193E193E193E193E193E193E1958
+:1000F0003E193E193E193E193E193E193E193E1948
+:100100004E195C1963196A197419F1A2028A00D296
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C00053005400550056005F00600061009D
+:1001300067005C005D005E00570059005A005B00DC
+:100140000000620000006300580029002B002C0012
+:100150000100C10019011C011D014A0052004B00A1
+:10016000E2005000C5004F00E0004D0051004E007D
+:1001700000002A0000004C00C600C200C300C400FA
+:100180000100C100010001000100010001000100A7
+:100190000100010001000100010001000100010057
+:1001A000000000500000010001000A44454255478C
+:1001B0003A20656E61626C65642E0A005374617446
+:1001C00065206F6620726F772025583A20253031E0
+:1001D00036620A0048756D616E2D726561646162F8
+:1001E0006C65206D61747269782073746174653A0E
+:1001F0000D0A004465626F756E63696E6720646501
+:100200006C61792072656D61696E696E673A20254F
+:10021000580A005B735D004B6579626F6172642000
+:1002200073746172742E0A005B575D005B535D004E
+:100230005B525D005B445D005B435D001003470063
+:100240006F006C00640050006100640000000E0349
+:100250004E006F0062006F0064007900000004032C
+:10026000090409028D00050100A0FA09040000013B
+:1002700003010100092111010001223F000705814E
+:100280000308000A09040100010301020009211109
+:10029000010001224D000705820308000A0904023B
+:1002A00000010300000009211101000122360007AE
+:1002B00005830308000A0904030002030000000983
+:1002C00021110100012220000705840320000107FD
+:1002D00005040320000109040400010300000009D3
+:1002E00021110100012239000705850310000112C8
+:1002F00001100100000008EDFE964001000102001F
+:100300000105010906A101050719E029E7150025E6
+:1003100001950875018102050819012905950575E2
+:1003200001910295017503910105071900297715BF
+:10033000002501957875018102C00631FF0974A17D
+:10034000010975150025FF952075088102097615AC
+:100350000025FF952075089102C005010980A101C3
+:10036000850216010026B7001A01002AB700751091
+:1003700095018100C0050C0901A10185031601004A
+:10038000269C021A01002A9C02751095018100C06A
+:1003900005010902A1010901A100050919012905A9
+:1003A00015002501950575018102950175038101EF
+:1003B0000501093009311581257F950275088106EF
+:1003C00009381581257F950175088106050C0A38C5
+:1003D000021581257F950175088106C0C0050109B8
+:1003E00006A101050719E029E71500250195087503
+:1003F00001810295017508810105081901290595FA
+:1004000005750191029501750391010507190029F0
+:10041000FF150025FF950675088100C00A002530EC
+:10042000325820006B6579626F6172645F7265702B
+:100430006F72743A20004B6579626F617264204C70
+:100440004544732073746174653A2025780A00640A
+:10045000656C5F6B65795F6269743A2063616E27D2
+:10046000742064656C3A20253032580A0061646457
+:100470005F6B65795F6269743A2063616E277420EF
+:100480006164643A20253032580A00646F6E652E2C
+:100490000A00626F6F676D61676963207363616EE5
+:1004A0003A202E2E2E2000290A002575002F002527
+:1004B00075005D28002564002000256400200025CB
+:1004C000640020002564007C0025303258006D6FE8
+:1004D0007573656B6579205B62746E7C782079201A
+:1004E0007620685D287265702F61636C293A205B05
+:1004F000006D6B5F776865656C5F74696D655F74CF
+:100500006F5F6D6178203D2025640A006D6B5F7719
+:100510006865656C5F6D61785F7370656564203DCB
+:100520002025640A006D6B5F74696D655F746F5F91
+:100530006D6178203D2025640A006D6B5F6D6178E8
+:100540005F7370656564203D2025640A006D6B5FF4
+:10055000696E74657276616C203D2025640A006DB9
+:100560006B5F64656C6179203D2025640A006D6BCA
+:100570005F776865656C5F74696D655F746F5F6DEB
+:100580006178203D2025640A006D6B5F77686565A2
+:100590006C5F6D61785F7370656564203D202564D4
+:1005A0000A006D6B5F74696D655F746F5F6D617874
+:1005B000203D2025640A006D6B5F6D61785F73706C
+:1005C000656564203D2025640A006D6B5F696E746B
+:1005D000657276616C203D2025640A006D6B5F6456
+:1005E000656C6179203D2025640A000A00257500AC
+:1005F000363A20776865656C5F74696D655F746F06
+:100600005F6D61783A20000A00257500353A207741
+:100610006865656C5F6D61785F73706565643A20CD
+:10062000000A00257500343A2074696D655F746FA7
+:100630005F6D61783A20000A00257500333A206D1D
+:1006400061785F73706565643A20000A0025750063
+:10065000323A20696E74657276616C286D73293A3E
+:1006600020000A00257500313A2064656C61792804
+:100670002A31306D73293A20000A092D2056616C09
+:10068000756573202D0A004D3E004D25643E200007
+:100690003F007365742064656661756C740A00437D
+:1006A0003E200077686572652064656C74613A204D
+:1006B000637572736F723D25642C20776865656C75
+:1006C0003D25640A53656520687474703A2F2F6560
+:1006D0006E2E77696B6970656469612E6F72672F22
+:1006E00077696B692F4D6F7573655F6B6579730AF9
+:1006F000000A092D204D6F7573656B6579202D0AF1
+:100700004553432F713A09717569740A313A096486
+:10071000656C6179282A31306D73290A323A09698A
+:100720006E74657276616C286D73290A333A096DAF
+:1007300061785F73706565640A343A0974696D6540
+:100740005F746F5F6D61780A353A09776865656C2B
+:100750005F6D61785F73706565640A363A09776822
+:1007600065656C5F74696D655F746F5F6D61780A54
+:100770000A703A097072696E742076616C756573DF
+:100780000A643A097365742064656661756C7473F4
+:100790000A75703A092B310A646F776E3A092D3168
+:1007A0000A706775703A092B31300A7067646F7789
+:1007B0006E3A092D31300A0A7370656564203D2058
+:1007C00064656C7461202A206D61785F7370656563
+:1007D00064202A2028726570656174202F20746956
+:1007E0006D655F746F5F6D6178290A003F004D3E53
+:1007F0002000433E20004C25640A0074696D657238
+:100800005F636F756E743A202530346C580A006B44
+:100810006579626F6172645F6E6B726F3A20255802
+:100820000A006B6579626F6172645F69646C653A36
+:100830002025580A006B6579626F6172645F70727F
+:100840006F746F636F6C3A2025580A00686F737479
+:100850005F6B6579626F6172645F6C656473282990
+:100860003A2025580A000A092D20537461747573C3
+:10087000202D0A004743433A20342E392E3220419E
+:1008800056522D4C4942433A20312E382E312041C8
+:1008900056525F415243483A20617672350A004F02
+:1008A0005054494F4E533A204C55464120424F4FE9
+:1008B000544D41474943204D4F5553454B455920D1
+:1008C00045585452414B455920434F4E534F4C4588
+:1008D00020434F4D4D414E44204E4B524F20353119
+:1008E000320A004255494C443A2031363731386596
+:1008F000662D6469727479202832333A30373A327F
+:1009000039204A756E2020392032303136290A00CC
+:100910005649443A20307846454544284E6F626F28
+:10092000647929205049443A2030783430393628C7
+:10093000476F6C6450616429205645523A203078E4
+:10094000303030310A00444553433A20412063752A
+:1009500073746F6D206B6579626F6172640A000A4F
+:10096000092D2056657273696F6E202D0A000A09E1
+:100970002D20436F6E736F6C65202D0A4553432FF6
+:10098000713A09717569740A6D3A096D6F7573650D
+:100990006B65790A000A092D204D61676963202D76
+:1009A0000A443A094465627567204D65737361674F
+:1009B0006520546F67676C650A583A094D61747217
+:1009C0006978204465627567204D6F646520546FB7
+:1009D00067676C65202D2053686F77206B65797091
+:1009E00072657373657320696E206D6174726978C6
+:1009F00020677269640A4B3A094B6579626F6172CC
+:100A00006420446562756720546F67676C65202DAC
+:100A10002053686F77206B657970726573732072ED
+:100A200065706F72740A4D3A094465627567204DAE
+:100A30006F75736520546F67676C650A563A09567F
+:100A4000657273696F6E0A533A09537461747573F2
+:100A50000A433A09416374697661746520436F6E95
+:100A6000736F6C65204D6F64650A46312D463130D9
+:100A70003A0953776974636820746F204C61796513
+:100A80007220302D392028463130203D204C30292D
+:100A90000A302D393A0953776974636820746F20DE
+:100AA0004C6179657220302D390A4553433A095318
+:100AB000776974636820746F204C617965722030A7
+:100AC0002028616C7465726E617465206B65792095
+:100AD00031290A47524156453A0953776974636888
+:100AE00020746F204C6179657220302028616C740D
+:100AF00065726E617465206B65792032290A5041F8
+:100B00005553453A094A756D7020746F20426F6FD6
+:100B1000746C6F6164657220285265736574290A6C
+:100B2000453A095072696E7420454550524F4D2028
+:100B300053657474696E67730A4E3A094E4B524F8F
+:100B400020546F67676C650A000A002575002E6CDB
+:100B50006576656C3A20000A002575002E656E6189
+:100B6000626C653A20000A002530325800626163E9
+:100B70006B6C696768745F636F6E6669672E72611C
+:100B8000773A20000A002575002E6E6B726F3A20AE
+:100B9000000A002575002E737761705F6261636BD8
+:100BA000736C6173685F6261636B73706163653AF4
+:100BB00020000A002575002E737761705F677261EF
+:100BC00076655F6573633A20000A002575002E6E16
+:100BD0006F5F6775693A20000A002575002E7377EC
+:100BE00061705F72616C745F726775693A20000AA8
+:100BF000002575002E737761705F6C616C745F6C9B
+:100C00006775693A20000A002575002E63617073CC
+:100C10006C6F636B5F746F5F636F6E74726F6C3A4F
+:100C200020000A002575002E737761705F636F6E78
+:100C300074726F6C5F636170736C6F636B3A2000EA
+:100C40000A0025303258006B65796D61705F636F03
+:100C50006E6669672E7261773A20000A002575007A
+:100C60002E6D6F7573653A20000A002575002E6B96
+:100C70006579626F6172643A20000A002575002E62
+:100C80006D61747269783A20000A002575002E653E
+:100C90006E61626C653A20000A00253032580064AB
+:100CA000656275675F636F6E6669672E7261773A1A
+:100CB00020000A0025750064656661756C745F6CC0
+:100CC000617965723A20003F004E4B524F3A206FD7
+:100CD00066660A004E4B524F3A206F6E0A000A6D4C
+:100CE0006F7573653A206F66660A000A6D6F7573DB
+:100CF000653A206F6E0A000A6B6579626F617264F3
+:100D00003A206F66660A000A6B6579626F617264E9
+:100D10003A206F6E0A000A6D61747269783A206F2A
+:100D200066660A000A6D61747269783A206F6E0A0D
+:100D3000000A64656275673A206F66660A000A6495
+:100D4000656275673A206F6E0A000A0A4A756D700F
+:100D5000696E6720746F20626F6F746C6F61646579
+:100D6000722E2E2E2000433E20006565636F6E6656
+:100D700069673A0A006261636B6C69676874207323
+:100D80007465703A2025750A006261636B6C69674F
+:100D9000687420746F67676C653A2025750A006275
+:100DA00061636B6C69676874206465637265617305
+:100DB000653A2025750A006261636B6C6967687427
+:100DC00020696E6372656173653A2025750A0000BB
+:100DD00011241FBECFEFDAE0DEBFCDBF04B603FEA5
+:100DE00024C08091EF019091F001A091F101B091A8
+:100DF000F2018730904BA740B04BB9F41092EF014D
+:100E00001092F0011092F1011092F20114BE84B719
+:100E1000877F84BF88E10FB6F894809360001092BA
+:100E200060000FBEE0E0FFE3099511E0A0E0B1E053
+:100E3000E2EBFCE502C005900D92A234B107D9F7B0
+:100E400011E0A2E4B1E001C01D92AF3EB107E1F7AD
+:100E50000E9418100C94572E0C940000FF93EF93EF
+:100E6000E0914201F0914301309709F00995EF912B
+:100E7000FF910895FC018591803011F0EFDFFBCFE9
+:100E80000895FF27E0E230E247FF0CC0419597FF4D
+:100E900009C0EDE26095709580959095611D711D7A
+:100EA000811D911D27FF02C0219530E350E2AA2742
+:100EB000660F771F881F991FAA1FA41710F0A41B85
+:100EC00063955A95A9F7AA3008F0A95FA05DAF9382
+:100ED000F395611571058105910541F7ED3211F426
+:100EE000EF93F395F21718F43F93F395FBCF8F919F
+:100EF000B5DFFA95E1F70895E991F9918591803090
+:100F000021F0853219F0AADFF9CF089520E0E894A6
+:100F100055915532C1F3503311F4689455915A33B9
+:100F200048F4505390F3220F022E220F220F200D6F
+:100F3000250FF4CF0EF4219589919991533619F329
+:100F4000533729F1533559F1BC0188279927E89483
+:100F50005C3621F48991999168945591543639F40D
+:100F600046EF7EF077FF0DC08FEF9FEF0AC0553739
+:100F70004AE039F0583540E121F0523642E009F0BC
+:100F80000895FF93EF937DDFEF91FF91B7CFFF932C
+:100F9000EF93FC0181918030B9F360DFFBCFFF93C9
+:100FA000EF9368DFF1CFDF93CF93CDB7DEB7259610
+:100FB000A3DFCF91DF9108950895089581E008950A
+:100FC0000C94DD070C94DE070C948B08279A2F985D
+:100FD0008FEF9FEF90938700809386008AE0809345
+:100FE000800089E1809381000C94E22B0E94E60747
+:100FF0000C94DC07282F81110BC080918000877F23
+:101000008093800010928D0010928C002F9808958C
+:101010002F9880918000886080938000233019F49D
+:101020008FEF9FEF0FC083E090E0821B9109880F44
+:10103000991F2FEF3FEFA90102C0569547958A955A
+:10104000E2F7CA0190938D0080938C000895089573
+:10105000CF93DF93EC016130F1F018F06230E9F1E9
+:1010600055C08A81882309F451C080EE0E94DC16A5
+:101070008D81807F803129F486E00E94DC1686E035
+:1010800006C0803231F48BE10E94DC168BE10E94B5
+:101090007B1780EE1FC08A818823C1F08D818295E5
+:1010A0008F7090E003971CF482E00E94A3178D815B
+:1010B000807F803219F481E00E94A3178D81807FA8
+:1010C000803321F588E50E94DC1620C083E00E9471
+:1010D000AA1788E50E947B1719C08A81882399F096
+:1010E0008D8182958F7090E002971CF481E00E94C0
+:1010F000A3178D8182958F7090E002973CF084E079
+:101100000E94A31703C085E00E94AA1780E090E028
+:10111000DF91CF91089581FF03C0569A5E9A02C075
+:1011200056985E9880FF05C03F9A88B18F6788B94E
+:1011300008953F984798089581E008950C949C087D
+:1011400008950F931F93CF93DF938C01FC01C0810F
+:10115000D181CE010E94301FBE010E944D09EC01D9
+:10116000B8010E949E08882309F48DC0F80182818D
+:10117000882309F44AC080914F0181111FC0C431F6
+:10118000F0E5DF0709F051C00E94A00881E08093DC
+:101190004F010E948A2190934E0180934D0110923D
+:1011A0004601109248011092470110924A01109294
+:1011B000490110924C0110924B0165C080914D0184
+:1011C00090914E010E949621883C910570F4809187
+:1011D0004601E82FF0E0EE0FFF1FE95BFE4FD183E1
+:1011E000C0838F5F809346014EC0C43880E5D80726
+:1011F00021F0C538D04501F13AC0F8018281882339
+:1012000041F01092440182E01EC0C438E0E5DE07E0
+:1012100059F580914401811106C086E20E94DC16D6
+:1012200086E20E947B1782E01CC0C438F0E5DF072D
+:1012300041F3C538D045D9F4F8018281882331F0D3
+:101240001092450180E20E94A3171DC080914501C4
+:10125000811106C087E20E94DC1687E20E947B179C
+:1012600080E20E94AA170FC0C538D04529F381E05B
+:101270008093440180934501C801DF91CF911F9174
+:101280000F910C94E20780E0DF91CF911F910F91B5
+:1012900008950C94F6070C94E007E72FF0E096E031
+:1012A000899FE00DF11D1124EE0FFF1FEE0FFF1FB0
+:1012B000E60FF11DEE0FFF1FE65EFE4F8591949144
+:1012C0000895880F991FFC01E657F040859194918D
+:1012D0000895880F991FFC01E65FFE4F8591949158
+:1012E00008950F931F93CF93DF93EC01811521E3B2
+:1012F0009207A0F5C11580E3D80708F0D7C0C83E13
+:10130000D105D8F4C03ED10508F007C2C83AD105CE
+:1013100078F4C53AD10508F06AC0C130D10509F4A6
+:1013200063C008F4F7C1C430D10508F0F6C1F2C1BA
+:10133000CB3BD10508F466C0EDC1C11590E2D907D9
+:1013400008F0AFC0C11521E0D20708F0E6C1C03FE8
+:10135000D10508F4DFC18E0110651FC2C03880E5D9
+:10136000D80700F5C03790E5D90708F0A3C0C1152C
+:1013700020E5D20709F4ACC050F4CE01905480317E
+:101380009F4008F0C7C1DF708E01106A06C2C130ED
+:1013900080E5D80709F4AAC0C43190E5D90708F45C
+:1013A000AFC0B8C1C33820E5D20709F48EC050F4ED
+:1013B000C13890E5D90709F482C008F083C000E085
+:1013C00011EDEBC1C03181E5D80708F4A3C1C11507
+:1013D00097E5D90708F436C1CE01905781159041A1
+:1013E00008F098C1DF7093C101E010E0D6C1C53AA2
+:1013F000D10509F494C1C63AD10509F093C102E8B8
+:1014000010E4CBC1C83AD10509F48FC1C93AD1055E
+:1014100009F48EC1CA3AD10509F48DC1CB3AD10580
+:1014200009F48CC1CC3AD10509F48BC1CD3AD10570
+:1014300009F48AC1C03BD10509F489C1CE3AD1056E
+:1014400009F488C1CF3AD10509F487C1C13BD10560
+:1014500009F486C1C23BD10509F485C1C33BD1055E
+:1014600009F484C1C43BD10509F483C1C53BD1054E
+:1014700009F482C1C63BD10509F481C1C73BD1053E
+:1014800009F480C1C83BD10509F47FC1C93BD1052E
+:1014900009F47EC1CA3BD10509F47DC100E014E422
+:1014A0007CC1CE019F700E94690978C1DD278E0141
+:1014B000106C73C1CF70DD278E01146D6EC100E01A
+:1014C00010ED6BC100E012ED68C100E013ED65C1E5
+:1014D0000E94371A8FEF94E32CE081509040204017
+:1014E000E1F700C000000E94E52157C18AEA91E0BF
+:1014F0000E943A078091CF0181608093CF014DC156
+:101500000E949723811102C00E9478230E94B42375
+:1015100090E09093EE018093ED01C23080E5D80712
+:1015200021F48091ED01816086C0C43090E5D90737
+:1015300021F48091ED0182607EC0C63020E5D207A3
+:1015400021F48091ED01846076C0C83080E5D80731
+:1015500019F48091ED0127C0CA3090E5D90721F434
+:101560008091ED01806167C0CC3020E5D20721F485
+:101570008091ED0180625FC0CE3080E5D80721F414
+:101580008091ED01806457C0C03190E5D90721F406
+:101590008091ED0180684FC0C23120E5D20729F467
+:1015A0008091ED018460886046C0C33080E5D80733
+:1015B00021F48091ED018E7F3EC0C53090E5D907C2
+:1015C00021F48091ED018D7F36C0C73020E5D20730
+:1015D00021F48091ED018B7F2EC0C93080E5D807C2
+:1015E00019F48091ED0126C0CB3090E5D90721F4A4
+:1015F0008091ED018F7E1FC0CD3020E5D20721F410
+:101600008091ED018F7D17C0CF3080E5D80721F4A0
+:101610008091ED018F7B0FC0C13190E5D90721F496
+:101620008091ED018F7707C0C331D04531F48091AF
+:10163000ED018B7F877F8093ED018091ED010E940A
+:10164000B823ABC08D2F99278F70992781309105D2
+:10165000D9F49E012370332702C0880F991F2A9561
+:10166000E2F79C688E0144E0000F111F4A95E1F7F4
+:1016700000271370802B912B53E0CC0FDD1F5A9560
+:10168000E1F7C076DD272FC08230910531F4DC2FE1
+:10169000CC278E01016F106A80C08330910569F4F8
+:1016A000CE018370992701E010E002C0000F111FE6
+:1016B0008A95E2F7C8019C680FC084309105B9F49F
+:1016C000CE018370992701E010E002C0000F111FC6
+:1016D0008A95E2F7C8019A6823E0CC0FDD1F2A95AE
+:1016E000E1F7C07ED7708C010C2B1D2B56C08530C6
+:1016F000910531F4DC2FCC278E01046F106A4DC0A8
+:10170000069709F04AC0CF71DD27DC2FCC278E0168
+:10171000106243C000E010E040C08E013EC001E80E
+:1017200010E43BC003E810E438C002EE14E435C016
+:1017300009EE14E432C00AEE14E42FC005EB14E401
+:101740002CC006EB14E429C007EB14E426C00CEC13
+:1017500014E423C00DEC14E420C003E815E41DC01C
+:101760000AE815E41AC002E915E417C004E915E413
+:1017700014C001E216E411C003E216E40EC004E254
+:1017800016E40BC005E216E408C006E216E405C044
+:1017900007E216E402C00AE216E4C801DF91CF9125
+:1017A0001F910F910895E72FF0E096E0899FE00DDB
+:1017B000F11D1124EE0FFF1FEE0FFF1FE60FF11DAD
+:1017C000EE0FFF1FE65EFE4F85919491803E9105DE
+:1017D000E0F4803C910558F58133910509F46FC020
+:1017E00048F48932910509F463C08A32910509F4FD
+:1017F0006DC072C089339105E9F082389105D1F04E
+:101800008533910509F44DC067C0833E910581F190
+:1018100038F4803E9105B9F0823E9105D9F05CC064
+:10182000863E910561F1873E9105A1F155C00E9468
+:10183000610908952091ED0120FD02C021FF4CC0F7
+:1018400080EE90E049C08091ED0180FFF9CF89E3FF
+:1018500090E042C08091ED0182FF0EC08091ED01C9
+:1018600084FF03C080E090E037C083EE90E034C096
+:101870008091ED0182FFF2CF82EE90E02DC0809149
+:10188000ED0183FF0BC08091ED0184FDEBCF87EE6E
+:1018900090E022C08091ED0183FFF5CF86EE90E0CD
+:1018A0001BC08091ED0185FF07C089E290E014C064
+:1018B0008091ED0185FFF9CF85E390E00DC0809127
+:1018C000ED0186FF07C08AE290E006C08091ED013D
+:1018D00086FFF9CF81E390E00E94710908950C948E
+:1018E000E407E82FF0E0EB5EFE4F8081E82FEF7019
+:1018F000F0E082958F7021E030E0A90102C0440F32
+:10190000551F8A95E2F740A308950F931F93CF9335
+:10191000DF9385B7806885BF85B7806885BFC3E0E2
+:10192000D0E001E010E0FE01EB5EFE4F8081E82F89
+:10193000EF70F0E021A182958F70A80102C0440FE2
+:10194000551F8A95E2F7CA01822B81A38C2F0E9432
+:10195000710C219740F785E090E061E070E0FC01B8
+:10196000E75EFE4F2081E22FEF70F0E042A122956A
+:101970002F70DB0102C0AA0FBB1F2A95E2F79D0161
+:10198000242B22A3019758F7DF91CF911F910F913C
+:101990000C944909EF92FF920F931F93CF93DF931B
+:1019A00004E511E0C3E0EE24E394F12CD5E08C2FA4
+:1019B0000E94710C85E090E040E0FC01E75EFE4F84
+:1019C0005081E52FEF70F0E020A130E052955F707C
+:1019D00002C0359527955A95E2F720FD07C097017B
+:1019E000082E01C0220F0A94EAF7422B019728F72C
+:1019F000F80182918F01841719F04083D093000180
+:101A00008C2F0E94710CC15090F68091000187FDCF
+:101A100032C09091CF0190FF10C0282F332727FDAF
+:101A200030953F938F9383EF91E09F938F930E9424
+:101A3000D3070F900F900F900F908091000181506D
+:101A40008093000187FD07C08FE99FE00197F1F7C0
+:101A500000C0000010C08091530180935701809115
+:101A600052018093560180915101809355018091DC
+:101A70005001809354010E944B0981E0DF91CF9186
+:101A80001F910F91FF90EF90089591E001C0990F81
+:101A90008A95EAF723E030E080E061E070E0F90148
+:101AA000EC5AFE4F4081492339F0AB01022E01C0B0
+:101AB000440F0A94EAF7842B2150310980F70895E6
+:101AC0000F931F93CF93DF938091CF0180FF04C0CA
+:101AD00084ED91E00E943A07C0E0D0E00CEB11E009
+:101AE0008091CF0180FF14C08C2F0E94450D90E0A3
+:101AF0000E94F4209F938F93DF93CF931F930F93B4
+:101B00000E94D3070F900F900F900F900F900F909F
+:101B10002196C630D10521F7DF91CF911F910F910A
+:101B20000895CF93DF93C5E0D0E08C2F0E94450D40
+:101B300090E00E94D220D80FC150B8F78D2FDF91CE
+:101B4000CF91089580916B0108959FB7F8941092FA
+:101B50005A019FBF9091E401943009F057C09091D1
+:101B6000E9009F703091EC00232F217030FD20E8B8
+:101B7000922B24E02093E9002091EB0020FF43C04A
+:101B80002091EE0027FF3FC020915801222321F031
+:101B90002091E80025FF37C01092580126E03091CF
+:101BA000E80035FD15C03091E401343061F5309125
+:101BB000EB0035FD28C0215021F481E080935801CD
+:101BC00022C0EFE9FFE03197F1F700C00000E7CF56
+:101BD0008093F1008091E80085FD0AC08091E800C3
+:101BE00080FFFCCF8091E8008E778093E80006C0EC
+:101BF0008FB7F89421E020935A018FBF9F70909384
+:101C0000E90080E008959F709093E9008FEF0895B8
+:101C1000CF93DF9300D01F92CDB7DEB79C018091A8
+:101C2000E401843019F593E099833B832A839093F0
+:101C3000E9008FEF9091E800815095FD06C095ED89
+:101C40009A95F1F700008111F5CF8091E80085FFAA
+:101C50000DC040E050E063E070E0CE0101960E94CC
+:101C6000CE108091E8008E778093E8000F900F905F
+:101C70000F90DF91CF910895CF93DF9300D01F9203
+:101C8000CDB7DEB72091E401243021F522E029838D
+:101C90009B838A8383E08093E9008FEF9091E80033
+:101CA000815095FD06C095ED9A95F1F700008111E0
+:101CB000F5CF8091E80085FF0DC040E050E063E083
+:101CC00070E0CE0101960E94CE108091E8008E77E0
+:101CD0008093E8000F900F900F90DF91CF910895BF
+:101CE0002091E4012430F1F422E02093E9002FEF69
+:101CF0003091E800215035FD06C035ED3A95F1F7F9
+:101D000000002111F5CF2091E80025FF0BC040E035
+:101D100050E065E070E00E94CE108091E8008E7780
+:101D20008093E8000895CF93DF932091E40124305D
+:101D300009F048C0EC0180910B018823E1F080910B
+:101D40000C018823C1F085E08093E9008FEF90912A
+:101D5000E800815095FD06C095E19A95F1F70000E5
+:101D60008111F5CF8091E80085FF2CC040E050E064
+:101D700060E170E017C081E08093E9008FEF9091FF
+:101D8000E800815095FD06C095ED9A95F1F70000A9
+:101D90008111F5CF8091E80085FF14C040E050E04C
+:101DA00068E070E0CE010E94CE108091E8008E774E
+:101DB0008093E80080E1FE01ABE5B1E001900D9277
+:101DC0008A95E1F7DF91CF91089588E392E00E9430
+:101DD0003A078091E301811109C00E9463120E94B9
+:101DE000C0128091E20084608093E200089584E351
+:101DF00092E00E943A071092E301089580E392E096
+:101E00000C943A078CE292E00C943A0788E292E054
+:101E10000E943A070C944D21209159012F5F822F87
+:101E200062E30E94E72D992319F020935901089548
+:101E30001092590180915A01882371F18091E40137
+:101E4000843041F58091E9008F702091EC00922F51
+:101E5000917020FD90E8892B94E09093E900909197
+:101E6000EB0090FF14C09091EE0097FF10C090918E
+:101E7000E80095FF03C01092F100F9CF9091E800BF
+:101E800090FF05C09091E8009E779093E8008F70D6
+:101E90008093E90010925A01089542E061EC81E0DC
+:101EA0000E94DD1142E061EC82E00E94DD1142E01F
+:101EB00061EC83E00E94DD1142E261EC84E00E946B
+:101EC000DD1142E161EC85E00C94DD118091E601C9
+:101ED000833009F455C030F4813071F0823009F458
+:101EE0008EC008958A3009F47AC08B3009F460C03E
+:101EF000893009F09CC020C08091E501813A09F049
+:101F000096C08091E800877F8093E8008091E90186
+:101F10009091EA01892B21F460E18BE591E003C007
+:101F200060E080E090E070E00E9419118091E8008C
+:101F30008B778093E80008958091E501813209F064
+:101F400076C08091E9019091EA01009719F0049719
+:101F500009F06DC08091E800877F8093E800809150
+:101F6000E80082FD05C08091E4018111F8CF5FC0D7
+:101F70008091F10080936B018091E8008B7753C0D2
+:101F80008091E501813A09F052C08091E901909178
+:101F9000EA01892B09F04BC08091E800877F80938C
+:101FA000E8008091E80080FFFCCF80910B0136C0F3
+:101FB0008091E5018132D9F58091E9019091EA01A2
+:101FC000892BA9F58091E800877F8093E8000E9423
+:101FD00012128091E70180930B010C94371A8091C3
+:101FE000E501813221F58091E800877F8093E80048
+:101FF0000E9412128091E80180936C0108958091F3
+:10200000E501813AA1F48091E800877F8093E800A0
+:102010008091E80080FFFCCF80916C018093F100FB
+:102020008091E8008E778093E8000C941212089556
+:1020300084B7877F84BF88E10FB6F89480936000EF
+:10204000109260000FBE90E080E80FB6F894809385
+:102050006100909361000FBE0E94F2150E9463120E
+:102060000E94C0128091E20084608093E20085EAC1
+:102070009DE00E94CD2078940E9445150E94F415A1
+:1020800081E091E00E94601587E192E00E943A07AA
+:102090008091E401853089F483E192E00E943A075F
+:1020A0000E940E218091E201882391F30E943C213D
+:1020B000882371F30E94B810EBCF0E941E16E8CF60
+:1020C000292F332723303105C9F064F4213031053D
+:1020D00081F02230310509F043C08DE890E022E61E
+:1020E00032E042C021323105F1F02232310541F1B6
+:1020F00037C082E190E02FEE32E036C09927813080
+:10210000910541F08230910541F0892B49F5EEE5CA
+:10211000F2E005C0EEE4F2E002C0ECE3F2E084910C
+:1021200090E09F0121C06530D8F4E62FF0E0EE0F7B
+:10213000FF1FE25DFE4F2081318189E090E014C0F5
+:10214000653070F470E0FB01EE0FFF1FEC5DFE4F99
+:1021500020813181FB01E15EFE4F808190E004C06F
+:1021600080E090E020E030E0FA01318320830895A0
+:1021700080E189BD82E189BD09B400FEFDCF809177
+:10218000D8008F7D8093D8008091E000826080939A
+:10219000E0008091E00081FDFCCF0895CF92DF92B6
+:1021A000EF92FF920F931F93CF93DF93EC018B017C
+:1021B0006A010E943112811133C0C114D10439F077
+:1021C000F60180819181081B190BC80FD91FE12CE2
+:1021D000F12C0115110519F18091E80085FD16C05B
+:1021E0008091E8008E778093E800C114D10449F013
+:1021F000F60180819181E80EF91EF182E08285E08E
+:102200000FC00E943112882321F30AC08991809364
+:10221000F10001501109FFEFEF1AFF0ADACF80E059
+:10222000DF91CF911F910F91FF90EF90DF90CF90B2
+:1022300008952091EB013091EC012617370748F003
+:102240006115710539F42091E8002E772093E8009C
+:1022500001C0B90140E061157105A9F12091E401C7
+:10226000222309F443C0253009F442C02091E8003C
+:1022700023FD40C02091E80022FD32C02091E800FB
+:1022800020FFE9CF4091F3002091F20030E0342BA1
+:10229000FC01CF016115710559F02830310540F47A
+:1022A00081918093F100615071092F5F3F4FF1CF11
+:1022B00041E02830310509F040E02091E8002E7718
+:1022C0002093E800C8CF4111C9CF0AC08091E40132
+:1022D000882361F0853061F08091E80083FD0AC0B9
+:1022E0008091E80082FFF2CF80E0089582E00895B7
+:1022F00083E0089581E008952091EB013091EC0195
+:102300002617370748F06115710539F42091E80068
+:102310002E772093E80001C0B901FC0120E061158F
+:10232000710591F18091E401882309F440C0853062
+:1023300009F43FC08091E80083FD3DC08091E80032
+:1023400082FD2FC08091E80080FFE9CF2091F3004B
+:102350008091F20090E0922B6115710559F0883060
+:10236000910540F424912093F10031966150710958
+:102370000196F2CF21E0089709F020E08091E80073
+:102380008E778093E800CBCF2111CCCF0AC080910B
+:10239000E401882361F0853061F08091E80083FDDD
+:1023A0000AC08091E80082FFF2CF80E0089582E0C9
+:1023B000089583E0089581E00895982F973058F5A7
+:1023C0009093E900981739F07091EC002091ED009E
+:1023D0005091F00003C0242F762F50E021FF19C048
+:1023E0003091EB003E7F3093EB003091ED003D7F6C
+:1023F0003093ED003091EB0031603093EB0070933F
+:10240000EC002093ED005093F0002091EE0027FFA8
+:1024100007C09F5FD3CF8F708093E90081E008955C
+:1024200080E008958091E50187FF11C08091E80068
+:1024300082FD05C08091E4018111F8CF11C0809127
+:10244000E8008B770BC08091E401882349F08091EC
+:10245000E80080FFF8CF8091E8008E778093E80055
+:1024600008952091E4003091E50095E64091EC005C
+:10247000842F817040FF22C08091E80080FD1CC045
+:102480008091E401882391F0853091F08091EB00F8
+:1024900085FD10C04091E4005091E50042175307BC
+:1024A00029F39A01915011F784E0089582E008958C
+:1024B00083E0089581E0089580E008954091E80068
+:1024C00042FFDECF08950E94D1120E94D912E0EEA1
+:1024D000F0E0808181608083E8EDF0E080818F779B
+:1024E000808319BCA7EDB0E08C918E7F8C938081A6
+:1024F0008F7E80831092E30108950F931F93CF93F3
+:10250000DF930E94D1120E94D912C8EDD0E08881D9
+:102510008F77888388818068888388818F7D88838E
+:1025200019BC1092E4011092E0011092E2011092A5
+:10253000E10100EE10E0F80180818B7F80838881CB
+:102540008160888342E060E080E00E94DD11E1EE7E
+:10255000F0E080818E7F8083E2EEF0E08081816018
+:102560008083808188608083F80180818E7F808372
+:10257000888180618883DF91CF911F910F910895A9
+:10258000E8EDF0E080818F7E8083E7EDF0E08081F0
+:102590008160808384E082BF81E08093E3010C94BA
+:1025A0007D12E8EDF0E080818E7F80831092E20062
+:1025B00008951092DA001092E10008951F920F9290
+:1025C0000FB60F9211242F933F934F935F936F9306
+:1025D0007F938F939F93AF93BF93EF93FF938091DC
+:1025E000E10082FF0BC08091E20082FF07C0809172
+:1025F000E1008B7F8093E1000E940C0F8091DA0054
+:1026000080FF1FC08091D80080FF1BC08091DA003E
+:102610008E7F8093DA008091D90080FF0DC080E129
+:1026200089BD82E189BD09B400FEFDCF81E08093C0
+:10263000E4010E94E50E05C019BC1092E4010E945D
+:10264000F70E8091E10080FF19C08091E20080FFC9
+:1026500015C08091E2008E7F8093E2008091E200BD
+:1026600080618093E2008091D80080628093D800DE
+:1026700019BC85E08093E4010E94020F8091E10083
+:1026800084FF30C08091E20084FF2CC080E189BDCE
+:1026900082E189BD09B400FEFDCF8091D8008F7D15
+:1026A0008093D8008091E1008F7E8093E10080913B
+:1026B000E2008F7E8093E2008091E200816080934F
+:1026C000E2008091E001882311F084E007C080914E
+:1026D000E30087FD02C081E001C083E08093E40154
+:1026E0000E94060F8091E10083FF29C08091E200E3
+:1026F00083FF25C08091E100877F8093E10082E025
+:102700008093E4011092E0018091E1008E7F80933C
+:10271000E1008091E2008E7F8093E2008091E200F0
+:1027200080618093E20042E060E080E00E94DD1181
+:102730008091F00088608093F0000E94FE0EFF916F
+:10274000EF91BF91AF919F918F917F916F915F9129
+:102750004F913F912F910F900FBE0F901F901895A2
+:102760001F920F920FB60F9211242F933F934F9306
+:102770005F936F937F938F939F93AF93BF93CF9309
+:10278000DF93EF93FF93C091E900CF708091EC004D
+:10279000D82FD17080FDD0E81092E9008091F00030
+:1027A000877F8093F00078940E94F4131092E900E0
+:1027B0008091F00088608093F000CD2BCF70C093A3
+:1027C000E900FF91EF91DF91CF91BF91AF919F9180
+:1027D0008F917F916F915F914F913F912F910F90CA
+:1027E0000FBE0F901F9018951F93CF93DF93CDB717
+:1027F000DEB7AA970FB6F894DEBF0FBECDBFE5EEE9
+:10280000F1E088E08E0F9091F10091938E13FBCF51
+:102810000E94660F8091E80083FF1FC18091E5014F
+:102820009091E601492F50E04A30510508F015C15A
+:10283000FA01EA5AFF4F0C94072E803881F0823853
+:1028400009F00BC18091E9018F708093E9008091BC
+:10285000EB0085FB882780F91092E90006C0809183
+:10286000E1019091E201911182609091E800977FDF
+:102870009093E8008093F1001092F100C8C0282FD7
+:102880002D7F09F0EAC0882319F0823061F0E5C09D
+:102890008091E701813009F0E0C0933009F080E0D9
+:1028A0008093E2012BC08091E701811127C08091C4
+:1028B000E9018F7009F4D1C08093E9002091EB0009
+:1028C00020FF1CC0933021F48091EB00806214C083
+:1028D0009091EB0090619093EB0021E030E0A90132
+:1028E00002C0440F551F8A95E2F74093EA00109208
+:1028F000EA008091EB0088608093EB001092E90081
+:102900008091E800877F86C08111A7C01091E70100
+:102910001F778091E3008078812B8093E300809182
+:10292000E800877F8093E8000E9412128091E800FF
+:1029300080FFFCCF8091E30080688093E300111159
+:1029400002C082E001C083E08093E40186C0805829
+:10295000823008F082C08091E7019091E8018C3DBF
+:1029600053E0950779F583E08A838AE289834FB73C
+:10297000F894DE01139620E03EE051E2E32FF0E010
+:1029800050935700E49120FF03C0E295EF703F5F42
+:10299000EF708E2F90E0EA3010F0C79601C0C0961D
+:1029A0008D939D932F5F243149F74FBF8091E800AD
+:1029B000877F8093E8006AE270E0CE0101960E9472
+:1029C000191114C0AE014F5F5F4F6091E9010E9481
+:1029D0006010BC01009709F440C09091E800977F17
+:1029E0009093E80089819A810E947C118091E8008F
+:1029F0008B778093E80031C0803879F58091E800CA
+:102A0000877F8093E8008091E0018093F1008091BE
+:102A1000E8008E778093E8000E9412121EC0811198
+:102A20001CC09091E7019230C0F48091E800877F4C
+:102A30008093E8009093E0010E9412128091E001DF
+:102A4000811106C08091E30087FD02C081E001C0D2
+:102A500084E08093E4010E944D0F8091E80083FFA1
+:102A60000AC08091E800877F8093E8008091EB00A6
+:102A700080628093EB00AA960FB6F894DEBF0FBE7B
+:102A8000CDBFDF91CF911F910895CF938091E40145
+:102A90008823A1F0C091E900CF709091EC00892FBC
+:102AA000817090FD80E8C82B1092E9008091E800C9
+:102AB00083FD0E94F413CF70C093E900CF91089575
+:102AC00090937201809371010895E0917101F091EA
+:102AD0007201309721F00190F081E02D099480E09F
+:102AE0000895EF92FF920F931F93CF93DF93E0919E
+:102AF0007101F09172013097B1F18C010280F38184
+:102B0000E02D09958091CF0182FF2DC080FF04C088
+:102B100084E294E00E943A07E80110E18EE1E82E99
+:102B200084E0F82E8091CF0180FF0BC088811F9236
+:102B30008F93FF92EF920E94D3070F900F900F9008
+:102B40000F90115021961111EDCF8091CF0180FF90
+:102B50000AC08CE194E0DF91CF911F910F91FF901B
+:102B6000EF900C943A07DF91CF911F910F91FF9056
+:102B7000EF900895E0917101F0917201309721F08A
+:102B80000480F581E02D0994089520916F01309122
+:102B900070018217930771F09093700180936F0119
+:102BA000E0917101F0917201309721F00680F78178
+:102BB000E02D0994089520916D0130916E018217E6
+:102BC000930771F090936E0180936D01E091710114
+:102BD000F0917201309721F00084F185E02D099485
+:102BE000089508950C94F1150E9481210E94850C8E
+:102BF0000E9443220E94E22B81E080930C01089501
+:102C0000CF93DF931F92CDB7DEB79091CF0192FFA4
+:102C100010C090FF0EC01F928F9326E334E03F93C5
+:102C20002F9389830E94D3070F900F900F900F90DE
+:102C300089810F90DF91CF910C946F0CCF92DF922E
+:102C4000EF92FF920F931F93CF93DF9300D000D0AA
+:102C500000D0CDB7DEB70E94CA0C85E0E82EF12C7B
+:102C60000E2D8E2D0E94450D97012C583E4F690167
+:102C7000F90110811827A9F4F1E0EF1AF10880F7A3
+:102C80008FEF89838A831B820E948A218160782F3B
+:102C90009D838C8349815A816B818D810E94AE1600
+:102CA00032C09091CF0191FF04C08E830E94600DCD
+:102CB0008E8113FD09C012FD0AC011FD0BC010FF6B
+:102CC000DBCF90E011E008C093E018E005C092E08F
+:102CD00014E002C091E012E099830A83812391E01D
+:102CE00009F490E09B830E948A218160782F9D8364
+:102CF0008C8349815A816B818D810E94AE16F601C9
+:102D00008081182710830E94C225109173010E94B0
+:102D100065151817A1F00E9465158093730126961A
+:102D20000FB6F894DEBF0FBECDBFDF91CF911F91DC
+:102D30000F91FF90EF90DF90CF900C9400162696A5
+:102D40000FB6F894DEBF0FBECDBFDF91CF911F91BC
+:102D50000F91FF90EF90DF90CF900895CF93DF9386
+:102D6000CDB7DEB72B970FB6F894DEBF0FBECDBF41
+:102D70004F83588769877A878B87DE01119686E0B3
+:102D8000FD0111928A95E9F785E0FE0137960190E1
+:102D90000D928A95E1F749815A816B817C818D8101
+:102DA0009E810E94D51C2B960FB6F894DEBF0FBEF5
+:102DB000CDBFDF91CF910895CF93882309F499C0B7
+:102DC000C82F8CEF8C0F813A48F48C2F0E948D2AEB
+:102DD00081118FC08C2F0E94AF1F0CC080E28C0F1E
+:102DE000883058F4C77081E001C0880FCA95EAF7AF
+:102DF0000E945720CF910C949E208BE58C0F83303E
+:102E000078F4C53A29F0C63A31F083E890E005C07D
+:102E100081E890E002C082E890E0CF910C94C51563
+:102E200088E58C0F833108F064C0C83A39F1C93A9B
+:102E300041F1CA3A49F1CB3A51F1CC3A59F1CD3A84
+:102E400061F1C03B69F1CE3A71F1CF3A79F1C13B02
+:102E500081F1C23B89F1C33B91F1C43B99F1C53B80
+:102E6000A1F1C63BA9F1C73BB1F1C83BB9F1C93BE0
+:102E7000C1F1CA3BC9F180E090E038C082EE90E039
+:102E800035C089EE90E032C08AEE90E02FC085EB2D
+:102E900090E02CC086EB90E029C087EB90E026C044
+:102EA0008CEC90E023C08DEC90E020C083E891E0B2
+:102EB0001DC08AE891E01AC082E991E017C084E958
+:102EC00091E014C081E292E011C083E292E00EC072
+:102ED00084E292E00BC085E292E008C086E292E0D4
+:102EE00005C087E292E002C08AE292E0CF910C94A2
+:102EF000DB15CF910895882329F19CEF980F913A23
+:102F000018F40E9402200DC090E2980F983058F4F7
+:102F1000877091E001C0990F8A95EAF7892F0E9486
+:102F20005D200C949E209BE5980F933020F480E068
+:102F300090E00C94C515885A833120F480E090E02D
+:102F40000C94DB150895882321F00E9457200C94DF
+:102F50009E200895882321F00E945D200C949E20DD
+:102F600008957F928F929F92AF92BF92CF92DF92FD
+:102F7000EF92FF920F931F93CF93DF931F92CDB7E2
+:102F8000DEB77C01C62E772EFC01058102950F70FD
+:102F9000128111110E9474200E94A81F882379F0C9
+:102FA000112369F080E28C0D883048F082E00E94A5
+:102FB000911F0E94A81F91E0D82ED92601C0D12CC4
+:102FC000E72DE295EF70F0E0E05AFF4F0C94072EEA
+:102FD000872D807F072D0F70882311F00295007FC9
+:102FE000112389F0002309F499C180E28C0D883007
+:102FF00020F4802F0E94572003C0802F0E9467205A
+:103000000E949E208BC18C2D0E947B17002309F407
+:10301000C3C180E28C0D883020F4802F0E945D2097
+:1030200003C0802F0E946D200E949E20B5C1872D75
+:10303000807F972D9F70803211F4892F03C0892FD4
+:103040008295807FCC2021F0F1E0CF16A1F01DC049
+:10305000112339F0002319F1013009F50E9487206E
+:103060009BC1002319F0013009F496C189830E94A5
+:103070008A20898110C1112321F0063008F08CC10B
+:103080000EC0053008F088C106C1112359F0002395
+:1030900031F0F701958190FF41C19F7095830E94A7
+:1030A000A3177AC1002309F4F6C03EC1872D869587
+:1030B0008695837090E0009719F0019761F06CC1DC
+:1030C000112321F08C2D972D937002C080E090E0A9
+:1030D0000E94C51561C1112321F08C2D972D93708D
+:1030E00002C080E090E00E94DB1556C18C2D1123B8
+:1030F00019F00E94482402C00E94B0240E94352585
+:103100004BC1872D837009F052C0111145C18C2D20
+:10311000829586958770880F880F9C2D9F70892EC9
+:10312000912CA12CB12C082E04C0880C991CAA1C2F
+:10313000BB1C0A94D2F7C4FE14C00FE010E020E0DC
+:1031400030E0B901A80104C0440F551F661F771F66
+:103150008A95D2F7CB01BA016095709580959095CC
+:1031600003C060E070E0CB01272D269526952370E3
+:1031700030E02230310569F02330310589F06829CB
+:1031800079298A299B292130310571F00E941D1E61
+:1031900003C1682979298A299B290E94391EFCC00C
+:1031A0000E941D1EC501B4010E94011EF5C011231D
+:1031B00019F0872D817001C08695882309F4ECC031
+:1031C0008C2D829586958770880F880F9C2D9F7017
+:1031D000892E912CA12CB12C082E04C0880C991C8E
+:1031E000AA1CBB1C0A94D2F7C4FE14C00FE010E066
+:1031F00020E030E0B901A80104C0440F551F661F4C
+:10320000771F8A95D2F7CB01BA01609570958095AA
+:10321000909503C060E070E0CB01272D26952695A0
+:103220002370422F50E04230510569F04330510580
+:1032300089F0682979298A299B294130510571F043
+:103240000E94F71EA9C0682979298A299B290E9412
+:10325000131FA2C00E94F71EC501B4010E94DB1E0D
+:103260009BC08C2D90E0FC01E05EF109E531F10599
+:1032700008F050C0E059FF4F0C94072E0C2D0F7032
+:10328000872D8F71112321F00E94741E802F07CF8C
+:103290000E94951E802F0E94AA177EC0112341F024
+:1032A000053008F079C0872D8F710E94BA1E74C056
+:1032B000063008F071C0F7CF112339F0872D8F71D8
+:1032C0000E94741E69C01123C9F3872D8F710E945B
+:1032D000951E62C0112329F0872D8F710E945F1EF9
+:1032E0005BC00E94551E58C0112351F0172D1F714D
+:1032F000812F0E94741E63E0812F0E94881F4CC0A2
+:1033000081E00E94911F023008F446C082E00E94D2
+:10331000911F42C0112331F0002381F28C2D0E94B5
+:10332000DC163AC0002389F28C2D0E947B1734C032
+:10333000472D4F706C2DC7010E9428080E94791DEF
+:103340002BC0111129C0472D4F7050E0423051055C
+:10335000B9F04CF44115510581F041305105E1F4CB
+:103360000E941D2C19C04330510569F044305105AD
+:1033700099F48C2D0E94A82C0FC00E94F32B0CC036
+:103380000E944C2C09C00E94722C06C0472D4F7021
+:103390006C2DC7010E942708DD20F9F00E94841FD0
+:1033A00080FD1BC0F70112820E947E1F0E94741EC6
+:1033B000C7010E94FC190E947E1F0F90DF91CF91E0
+:1033C0001F910F91FF90EF90DF90CF90BF90AF9043
+:1033D0009F908F907F900C94951E0F90DF91CF91CE
+:1033E0001F910F91FF90EF90DF90CF90BF90AF9023
+:1033F0009F908F907F9008950F931F93CF93DF93AB
+:10340000EC01888199812B813C81232BB9F09F3F6E
+:1034100011F48F3F99F0CE010E94A108882371F02A
+:10342000688179818A810E947A1F8C010E942F1FF6
+:103430000E94F61DB801CE010E94B117DF91CF9115
+:103440001F910F9108950E9474200E9484200E9471
+:1034500049200E949E200E9468260E94352580E017
+:1034600090E00E94C51580E090E00C94DB150E946E
+:1034700064200C94231A0E946F1F292F22952F700D
+:1034800030E02C3031054CF42A3031056CF42250F8
+:10349000310922303105A8F407C02C30310569F01C
+:1034A0002F30310551F00DC0803F69F018F4803E97
+:1034B00040F409C0843F29F406C093FB882780F9B3
+:1034C000089580E0089581E00895CF93DF9300D0C0
+:1034D00000D01F92CDB7DEB70F900F900F900F90D6
+:1034E0000F90DF91CF910895CF93DF9300D000D05C
+:1034F00000D0CDB7DEB726960FB6F894DEBF0FBE6C
+:10350000CDBFDF91CF9108951F93CF93DF93C091EB
+:103510007A0116E080917B01C81799F0D0E01C9FDA
+:10352000F0011D9FF00D1124E458FE4F40815181A0
+:1035300062817381848195810E94741A2196C7707B
+:10354000E9CFDF91CF911F9108954091AC01509147
+:10355000AD016091AE017091AF018091B001909189
+:10356000B1010C94741A8091B10182958F7009F0A9
+:1035700054C08091AE01882309F44FC080917A0134
+:10358000A0917B016091AC017091AD014091AF01C0
+:103590005091B001B6E08A1709F43FC090E04115A0
+:1035A0005105C1F17F3F11F46F3FA1F1B89FF001C8
+:1035B000B99FF00D1124E458FE4F218172132AC0E7
+:1035C0002081621327C02281211124C023813481EC
+:1035D0002417350710F421503109241B350B283CE2
+:1035E0003105C0F42091B1012F7020612093B10109
+:1035F00026E0289FF001299FF00D1124EF57FE4F80
+:1036000080818F70806180838CEA91E00E94FC1938
+:103610000C94841A01968770BECF0895CF92DF92E2
+:10362000EF92FF920F931F93CF93DF93CDB7DEB747
+:1036300062970FB6F894DEBF0FBECDBF8C0185E058
+:10364000F801DE011D9601900D928A95E1F7D801EF
+:103650004C9111965C91119712966C91129713965A
+:10366000CD90DC9014973091AC017091AD018091B8
+:10367000AF019091B001009709F46BC17F3F19F43D
+:103680003F3F09F466C1E090AE01EE2009F4C0C0EE
+:103690002091B101C816D90628F0F601E81BF90BF4
+:1036A000CF0104C0809590958C0D9D1DFF24F3944F
+:1036B000883C910578F0F12C207F09F0C6C07C2D64
+:1036C000D98AC88A89890E94651A8CEA91E00E9489
+:1036D000FC19B1C0822F807F09F046C0751314C059
+:1036E000341312C0611110C02F7020612093B101FA
+:1036F0000E94A51A8CEA91E00E94FC198091B10108
+:10370000D80115968C932EC0CD2819F15F3F11F486
+:103710004F3FF9F0F62E61111CC080917A01209183
+:103720007B0136E0821709F45AC090E0389FF0011F
+:10373000399FF00D1124E458FE4F7181571306C0D4
+:103740007081471303C07281711103C001968770A5
+:10375000E9CFF62E662309F418C18091B10181608A
+:103760008093B101F12C11C1751308C0341306C048
+:10377000611104C08091B101D801C3C04D875E873B
+:103780008D859E856A8B0E943B1A6A898823E1F1A8
+:103790006623D1F12091B101822F82958F7090E044
+:1037A000029774F08091AC019091AD0198878F835E
+:1037B0001986DB86CA862C87CE0107960E94FC19E3
+:1037C00086E0F801ACEAB1E001900D928A95E1F74C
+:1037D0000E94B31A0E94A51AFF24F394D6C04D8705
+:1037E0005E878D859E850E946F1F292F22952F70E1
+:1037F00030E0223031050CF0BCC09F7009F0B6C03B
+:10380000805E883008F4C1C0C8010E94FC19E4CF72
+:10381000C816D90608F453C0F601E81BF90BCF010E
+:10382000883C910508F450C0F12C7C2DD98AC88AB7
+:1038300089890E94651AECEAF1E086E0DF011D92B9
+:103840008A95E9F70E94A51AA0C0751314C0341315
+:1038500012C0611110C08091B101F8018583C801C7
+:103860000E94FC1986E0ECEAF1E0DF011D928A95E6
+:10387000E9F7FE2C8AC04D875E878D859E856A8B11
+:103880000E943B1A6A89882309F4BECF662309F493
+:10389000BBCF2091B101822F82958F7090E002976B
+:1038A0000CF48ECF8091AC019091AD019A83898305
+:1038B0001B82DD82CC822E83CE0101967FCF809544
+:1038C00090958C0D9D1DACCFF62E662309F49CCFF0
+:1038D00075132EC034132CC02091B10120FD1FC0E0
+:1038E000822F82958F70D9F0D80115962C93159759
+:1038F0008F3049F08F5F982F9295907F822F8F7035
+:10390000892B15968C93C8010E94FC1986E0F8015A
+:10391000ACEAB1E001900D928A95E1F793CF86E091
+:10392000F801ACEAB1E001900D928A95E1F72DC063
+:103930004D875E878D859E850E943B1A811140CF01
+:103940008091B10181608093B101C8010E94FC198E
+:103950001CC0662309F458CF4D875E878D859E85F0
+:103960000E943B1A882309F44FCF2ACF811148CFF8
+:103970000CC0243031050CF047CF9F7009F440CFC4
+:10398000F8019581907F09F03BCF8F2D62960FB69D
+:10399000F894DEBF0FBECDBFDF91CF911F910F9185
+:1039A000FF90EF90DF90CF9008951F93CF93DF9318
+:1039B000CDB7DEB72C970FB6F894DEBF0FBECDBFE4
+:1039C0004F83588769877A878B879C87CE010796B4
+:1039D0000E940E1B882369F08F8198852A853B857C
+:1039E000232BF1F19F3F09F063C08F3F09F060C0C6
+:1039F00037C086E0FE013796DE01119601900D92E8
+:103A00008A95E1F76F817885EA85FB85309741F1EA
+:103A10007F3F11F46F3F21F120917B0130E0C9011C
+:103A200001968770992740917A0150E08417950795
+:103A300009F447C069837A83FD83EC8396E0929F03
+:103A4000D001939FB00D1124A458BE4FFE013196B2
+:103A500001900D929A95E1F780937B010E94841A60
+:103A600016E080917A0190917B018917C1F1189F2E
+:103A7000C001112484589E4F0E940E1B882379F1A7
+:103A8000E0917A011E9FF0011124E458FE4F40811D
+:103A9000518162817381848195810E94741A809121
+:103AA0007A0190E001968770992780937A01D9CFA7
+:103AB0004F81588569857A858B859C850E94741A0B
+:103AC000CFCF0E94371A10927B0110927A01ECEA54
+:103AD000F1E086E0DF011D928A95E9F7C1CF2C96CF
+:103AE0000FB6F894DEBF0FBECDBFDF91CF911F910F
+:103AF0000895EF92FF920F931F93CF93DF938C0162
+:103B0000009709F46CC0F12CEE24E394E8012196AF
+:103B1000F8018491843740F4843008F051C081303A
+:103B200081F0823019F15BC0853709F444C0A8F1F7
+:103B30009CE7980F903708F052C08F770E947B1750
+:103B400041C00E5F1F4FFE01C49180E28C0F883090
+:103B500048F4C7708E2D01C0880FCA95EAF70E94FD
+:103B6000772014C08C2F0E94DC162DC00E5F1F4FD3
+:103B7000FE01C49180E28C0F883058F4C7708E2DFE
+:103B800001C0880FCA95EAF70E947D200E949E20FE
+:103B90001AC08C2F0E947B1716C00E5F1F4FFE01AC
+:103BA000C491CC2381F08FE99FE00197F1F700C029
+:103BB0000000C150F6CF0E5F1F4FFE01F49003C00E
+:103BC0000E94DC168E018F2D882309F49FCFEFE928
+:103BD000FFE03197F1F700C000008150F5CFDF9191
+:103BE000CF911F910F91FF90EF90089508956093EA
+:103BF000B6017093B7018093B8019093B9010C940A
+:103C0000231A0F931F930091B6011091B7012091D1
+:103C1000B8013091B901DC01CB01802B912BA22B93
+:103C2000B32B8093B6019093B701A093B801B093E2
+:103C3000B9011F910F910C94231A0F931F930091B8
+:103C4000B6011091B7012091B8013091B901DC01A2
+:103C5000CB0180239123A223B3238093B6019093B9
+:103C6000B701A093B801B093B9011F910F910C94C3
+:103C7000231A0F931F930091B6011091B701209161
+:103C8000B8013091B901DC01CB0180279127A2272F
+:103C9000B3278093B6019093B701A093B801B09376
+:103CA000B9011F910F910C94231A1092B201109236
+:103CB000B3011092B4011092B5010C94231A41E0A3
+:103CC00050E060E070E004C0440F551F661F771F8E
+:103CD0008A95D2F74093B2015093B3016093B40137
+:103CE0007093B5010C94231A41E050E060E070E05D
+:103CF00004C0440F551F661F771F8A95D2F7809125
+:103D0000B2019091B301A091B401B091B501482BDB
+:103D1000592B6A2B7B2B4093B2015093B3016093D4
+:103D2000B4017093B5010C94231A41E050E060E0B7
+:103D300070E004C0440F551F661F771F8A95D2F7A5
+:103D400040955095609570958091B2019091B30126
+:103D5000A091B401B091B501482359236A237B2374
+:103D60004093B2015093B3016093B4017093B501D5
+:103D70000C94231A41E050E060E070E004C0440F6E
+:103D8000551F661F771F8A95D2F78091B2019091D7
+:103D9000B301A091B401B091B501482759276A2712
+:103DA0007B274093B2015093B3016093B4017093A9
+:103DB000B5010C94231A0F931F930091B201109137
+:103DC000B3012091B4013091B501DC01CB01802B0E
+:103DD000912BA22BB32B8093B2019093B301A093AC
+:103DE000B401B093B5011F910F910C94231A0F9356
+:103DF0001F930091B2011091B3012091B401309151
+:103E0000B501DC01CB0180239123A223B32380934E
+:103E1000B2019093B301A093B401B093B5011F9187
+:103E20000F910C94231A0F931F930091B2011091DC
+:103E3000B3012091B4013091B501DC01CB018027A1
+:103E40009127A227B3278093B2019093B301A09347
+:103E5000B401B093B5011F910F910C94231A0895EA
+:103E6000CF92DF92EF92FF920F931F93CF93DF9346
+:103E70008C01C090B601D090B701E090B801F090ED
+:103E8000B9018091B2019091B301A091B401B091B8
+:103E9000B501C82AD92AEA2AFB2ACFE1D0E0D70106
+:103EA000C6010C2E04C0B695A795979587950A94E0
+:103EB000D2F780FF06C0B8018C2F0E94D30B019768
+:103EC00021F4219760F780E001C08C2FDF91CF9122
+:103ED0001F910F91FF90EF90DF90CF900895CF93B7
+:103EE000DF93EC010E94301FBE010E94D30BDF91D3
+:103EF000CF910895CB010E946F1F08958091BA0160
+:103F000085958595859508958091BA018770089566
+:103F100098E0899F90011124262B2093BA010C94DC
+:103F2000741E2091BA01809582238093BA01982F44
+:103F3000977069F430E0482F552747FD50952417B6
+:103F4000350729F08595859585950C94951E0895DE
+:103F50009091BA01977081E009F480E00895909102
+:103F60000B01992321F090910C01911109C020912E
+:103F70000D0130910E01F90132969FEF40E030C003
+:103F8000982F9695969596959F30A0F4E0910D0107
+:103F9000F0910E01E90FF11D877021E030E0A901D9
+:103FA00002C0440F551F8A95E2F7CA019181892BFF
+:103FB000818308959091CF0190FF23C01F928F932A
+:103FC0008DE694E09F938F930E94D3070F900F90FC
+:103FD0000F900F9008959F3F39F04F5F4E3041F0A2
+:103FE00051915813F8CF0DC05111F7CF942FF5CF41
+:103FF0009F3F39F0F901E90FF11D97FDFA95828392
+:104000000895089590910B01992321F090910C014E
+:10401000911109C020910D0130910E01F9013296E4
+:10402000205F3F4F30C0982F9695969596959F307C
+:10403000A8F4E0910D01F0910E01E90FF11D8770D8
+:1040400021E030E0A90102C0440F551F8A95E2F734
+:10405000CA01809591818923818308959091CF0130
+:1040600090FF16C01F928F938FE494E09F938F93DD
+:104070000E94D3070F900F900F900F9008953196E4
+:10408000E217F30729F090819813F9CF1082F7CF48
+:10409000089581E090E0E0910D01F0910E01E80FAC
+:1040A000F91F1082019680319105A9F7089590912A
+:1040B000CE01892B8093CE01089580959091CE01F9
+:1040C00089238093CE0108951092CE010895909196
+:1040D000CD01892B8093CD01089580959091CD01DC
+:1040E00089238093CD0108951092CD010895909178
+:1040F000CC01892B8093CC01089580959091CC01BF
+:1041000089238093CC0108951092CC010895809367
+:10411000BB0108951092BB01089580910D0190910B
+:104120000E01FC0131969C01205F3F4F80E0919190
+:1041300091118F5FE217F307D1F70895E0910D0118
+:10414000F0910E018091CE018083E0910D01F091FC
+:104150000E0190818091CD01892B8083E0910D012A
+:10416000F0910E0190818091CC01892B8083809108
+:10417000BB01882361F0E0910D01F0910E01908167
+:10418000892B80830E948D2081111092BB01809128
+:104190000D0190910E010C94711590934301809341
+:1041A0004201089520E0009739F0AC0141505109D7
+:1041B000842395232F5FF7CF822F08958295982F20
+:1041C0009C7C392F36953695282F237344E0249F05
+:1041D000C0011124932F982B292F2A7A2695892FF5
+:1041E0008575880F822B08951F93CF93DF931F92BD
+:1041F000CDB7DEB799830E94DE20182F9981892FD1
+:104200000E94DE20212F30E0322F2227A901482BE7
+:10421000CA010F90DF91CF911F9108958091E40121
+:10422000843039F11092D00120E488E190E00FB69B
+:10423000F894A895809360000FBE2093600080E002
+:104240000E94FA0780E00E946F0C83B7817F846030
+:1042500083BF83B7816083BF7894889583B78E7F4F
+:1042600083BF88E10FB6F8948093600010926000DD
+:104270000FBE08950895089580E00E94FA070E94F5
+:104280003A210E94CA0C0E943B210E94910D91E0AC
+:10429000811101C090E0892F08950E94371A80E0B3
+:1042A0000E94FA070E94E22B0E9465150C946F0C85
+:1042B0001F920F920FB60F9211248F939F93AF937B
+:1042C000BF938091D001811113C08091D101909151
+:1042D000D201A091D301B091D4014196A11DB11D8D
+:1042E0008093D1019093D201A093D301B093D401D4
+:1042F000BF91AF919F918F910F900FBE0F901F9024
+:10430000189582E084BD93E095BD9AEF97BD8093A8
+:104310006E0008952FB7F8948091D1019091D20149
+:10432000A091D301B091D4012FBF0895CF92DF9215
+:10433000EF92FF920F931F932FB7F8944091D10102
+:104340005091D2016091D3017091D4012FBF6A01C5
+:104350007B01EE24FF248C0120E030E0C016D10662
+:10436000E206F30610F4415051099A01281B390B5B
+:10437000C9011F910F91FF90EF90DF90CF900895AA
+:104380001F920F920FB60F9211248F939F93AF93AA
+:10439000BF938091D1019091D201A091D301B091AE
+:1043A000D4010196A11DB11D8093D1019093D2013A
+:1043B000A093D301B093D401BF91AF919F918F91FE
+:1043C0000F900FBE0F901F9018950E946312F894E3
+:1043D0002FEF87EA91E6215080409040E1F700C03E
+:1043E000000087E090EBDC018093EF019093F001F7
+:1043F000A093F101B093F2019CE088E10FB6F8942C
+:10440000A895809360000FBE90936000FFCFEF925D
+:10441000FF920F931F93CF93DF93D82FC5E08C2F7C
+:104420000E94450D03E010E0E82EF12CC701002E9C
+:1044300002C0959587950A94E2F780FF09C0602F26
+:104440007C2F80E00E944D09D81302C081E006C095
+:104450000150110958F7C15010F780E0DF91CF915A
+:104460001F910F91FF90EF900895CF93C82F8CE28A
+:104470000E940722882321F08C2FCF910C940722D1
+:1044800080E0CF910895CF930E949723811102C0BD
+:104490000E94782382E994E00E943A07C5E6C15061
+:1044A00049F00E94CA0C8FE39CE90197F1F700C024
+:1044B0000000F5CF8BE894E00E943A0789E20E9461
+:1044C0003522811113C18AE20E94352281110E9496
+:1044D000782385E00E94352281110E94E5210E9407
+:1044E000A2238093CF0187E00E9435228823A9F17F
+:1044F0008BE10E943522882351F08091CF0181FB0E
+:10450000222720F991E0922790FB81F90EC08EE0DE
+:104510000E943522882361F08091CF0182FB2227FF
+:1045200020F991E0922790FB82F98093CF0115C08A
+:1045300080E10E9435229091CF01882341F093FBC6
+:10454000222720F981E0822780FB93F904C0892F7C
+:10455000809580FB90F99093CF018091CF010E94CC
+:10456000A6230E94B4238093ED0180EE0E943522A1
+:10457000882341F08091ED01982F909590FB80F970
+:104580008093ED0189E30E943522882359F08091C0
+:10459000ED0181FB222720F991E0922790FB81F920
+:1045A0008093ED0182EE0E943522882359F080919C
+:1045B000ED0182FB222720F991E0922790FB82F9FE
+:1045C0008093ED0186EE0E943522882359F0809178
+:1045D000ED0183FB222720F991E0922790FB83F9DC
+:1045E0008093ED0183EE0E943522882359F080915B
+:1045F000ED0184FB222720F991E0922790FB84F9BA
+:104600008093ED0185E30E943522882359F0809143
+:10461000ED0185FB222720F991E0922790FB85F997
+:104620008093ED0181E30E943522882359F0809127
+:10463000ED0186FB222720F991E0922790FB86F975
+:104640008093ED0181E10E943522882359F0809109
+:10465000ED0187FB222720F991E0922790FB87F953
+:104660008093ED018091ED010E94B8238091ED01CE
+:1046700087FB882780F980930C0187E20E9435220E
+:10468000C82F8EE10E9435228111C2608FE10E9405
+:1046900035228111C46080E20E9435228111C860F8
+:1046A00081E20E9435228111C06182E20E9435229E
+:1046B0008111C06283E20E9435228111C06484E2CC
+:1046C0000E943522882311F0C06802C0CC2329F053
+:1046D0008C2F0E94AF236C2F03C00E94AB23682F46
+:1046E00070E080E090E0CF910C94F71DCF91089599
+:1046F0006DEE7EEF80E090E00E94412E60E082E06F
+:1047000090E00E942F2E60E083E090E00E942F2E28
+:1047100060E084E090E00E942F2E60E085E090E071
+:104720000E942F2E60E086E090E00C942F2E80E017
+:1047300090E00E94292E21E08D3E9E4F09F020E05E
+:10474000822F089582E090E00C94212E682F82E061
+:1047500090E00C942F2E83E090E00C94212E682F93
+:1047600083E090E00C942F2E84E090E00C94212EB6
+:10477000682F84E090E00C942F2E86E090E00C945B
+:10478000212E682F86E090E00C942F2E8091D70187
+:1047900080FF0BC06091120185E0689FB001112479
+:1047A00075956795759567952BC081FF09C06091D8
+:1047B000120185E0689FB00111247595679520C0AE
+:1047C00082FF07C06091120185E0689FB00111244B
+:1047D00017C09091D8019923D1F0609111019617DB
+:1047E00088F72091120185E0289F90011124929F63
+:1047F000A001939F500D112470E0CA010E94F32D77
+:104800006038710540F46115710539F002C065E04A
+:1048100070E0862F08958FE7089581E008958091D4
+:10482000D70180FF08C06091100170E07595679511
+:104830007595679521C081FF06C06091100170E0F9
+:104840007595679519C082FF04C06091100170E0F2
+:1048500010C09091D8019923C1F060910F01961773
+:10486000A0F780911001899FC001112470E00E947F
+:10487000F32D6038710528F46115710521F0862F3C
+:1048800008958FE7089581E0089561E070E0F4CF26
+:10489000803F21F40E94C623819504C0813F29F402
+:1048A0000E94C6238093DB010895823F21F40E9479
+:1048B000C623819504C0833F29F40E94C6238093B8
+:1048C000DA010895893F19F40E940F2405C08A3F38
+:1048D00031F40E940F2481958093DC0108958B3F71
+:1048E00021F40E940F24819504C08C3F29F40E947A
+:1048F0000F248093DD010895843F21F48091D90134
+:10490000816017C0853F21F48091D901826011C078
+:10491000863F21F48091D90184600BC0873F21F448
+:104920008091D901886005C0883F31F48091D90118
+:1049300080618093D90108958D3F21F48091D70142
+:1049400081600BC08E3F21F48091D701826005C049
+:104950008F3F29F48091D70184608093D701089517
+:10496000803F39F48091DB0187FF6CC01092DB013E
+:1049700069C0813F29F48091DB011816BCF362C045
+:104980009091DA01823F29F497FF5CC01092DA011E
+:1049900059C0833F19F41916CCF354C0893F41F430
+:1049A0008091DC0118160CF04DC01092DC014AC059
+:1049B0008A3F29F48091DC0187FF44C0F6CF8B3F0A
+:1049C00039F48091DD0187FF3DC01092DD013AC0CE
+:1049D0008C3F29F48091DD011816BCF333C0843F6D
+:1049E00021F48091D9018E7F17C0853F21F48091F9
+:1049F000D9018D7F11C0863F21F48091D9018B7F31
+:104A00000BC0873F21F48091D901877F05C0883F83
+:104A100031F48091D9018F7E8093D90113C08D3FED
+:104A200021F48091D7018E7F0BC08E3F21F48091BD
+:104A3000D7018D7F05C08F3F29F48091D7018B7FEF
+:104A40008093D7018091DA0181110EC08091DB0142
+:104A500081110AC08091DC01811106C08091DD01C5
+:104A6000811102C01092D80108958091CF0183FF77
+:104A70007EC08EEC94E00E943A078091D9011F928B
+:104A80008F9389EC94E09F938F930E94D30787ECD8
+:104A900094E00E943A078091DA01282F332727FDFE
+:104AA00030953F938F9384EC94E09F938F930E9473
+:104AB000D30782EC94E00E943A078091DB01282F13
+:104AC000332727FD30953F938F938FEB94E09F938F
+:104AD0008F930E94D3078DEB94E00E943A07809158
+:104AE000DC01282F332727FD30953F938F938AEBE6
+:104AF00094E09F938F930E94D30788EB94E00E94E9
+:104B00003A078091DD01282F332727FD30953F9309
+:104B10008F9385EB94E09F938F930E94D30782EB52
+:104B200094E00E943A078091D8011F928F938FEAF8
+:104B300094E09F938F930E94D3078DEA94E00E94A4
+:104B40003A078091D7011F928F938AEA94E09F934E
+:104B50008F930E94D30787EA94E00E943A078DB7AB
+:104B60009EB74C960FB6F8949EBF0FBE8DBF89EDD1
+:104B700091E00E94BA150E948A219093D6018093F9
+:104B8000D50108951F93CF93DF938091D501909124
+:104B9000D6010E949621AC019091D801992321F071
+:104BA0002091130130E006C0209114018AE0289F73
+:104BB000900111244217530708F486C08091DA014E
+:104BC000C091DB01D091DC011091DD01811107C0A2
+:104BD000C11176C0D11174C0111172C075C09F3F50
+:104BE00019F09F5F9093D801181624F40E94C623F1
+:104BF0008093DA018091DA0187FF05C00E94C62305
+:104C000081958093DA011C1624F40E94C6238093B8
+:104C1000DB018091DB0187FF05C00E94C6238195DF
+:104C20008093DB016091DA01662339F1C091DB01E9
+:104C3000CC2319F1772767FD7095872F972F0E9456
+:104C4000F82C23E333E343E35FE30E945C2D0E94EF
+:104C5000C52C6093DA016C2F772767FD7095872F3D
+:104C6000972F0E94F82C23E333E343E35FE30E9492
+:104C70005C2D0E94C52C6093DB011D1624F40E945C
+:104C80000F248093DC018091DC0187FF05C00E9426
+:104C90000F2481958093DC01111624F40E940F24C7
+:104CA0008093DD018091DD0187FF05C00E940F2404
+:104CB00081958093DD01DF91CF911F910C94352573
+:104CC0009F3F09F08ECF96CFDF91CF911F9108952E
+:104CD000E9EDF1E085E0DF011D928A95E9F7109298
+:104CE000D8011092D701089581EF96E00E943A070B
+:104CF0001F9281E08F931F9285E08F9383EA96E065
+:104D00009F938F930E94D3070F900F900F900F9057
+:104D10000F900F9008958330E9F128F4813061F00D
+:104D2000823009F10895853009F462C008F449C061
+:104D3000863009F474C0089580911401262F30E064
+:104D4000280F311D2F3F310524F4680F60931401A3
+:104D500003C08FEF80931401809114011F928F93F1
+:104D60008CED95E072C080911301262F30E0280F62
+:104D7000311D2F3F310524F4680F6093130103C0E8
+:104D80008FEF80931301809113011F928F938AEC10
+:104D900095E05BC080911201262F30E0280F311D75
+:104DA0002F3F310524F4680F6093120103C08FEF89
+:104DB00080931201809112011F928F9387EB95E0EF
+:104DC00044C080911101262F30E0280F311D2F3F64
+:104DD000310524F4680F6093110103C08FEF8093B5
+:104DE0001101809111011F928F9382EA95E02DC0ED
+:104DF00080911001262F30E0280F311D2F3F310503
+:104E000024F4680F6093100103C08FEF80931001AA
+:104E1000809110011F928F9389E895E016C08091D0
+:104E20000F01262F30E0280F311D2F3F310524F4CC
+:104E3000680F60930F0103C08FEF80930F01809183
+:104E40000F011F928F938EE695E09F938F930E94A0
+:104E5000D3070F900F900F900F900895833081F13A
+:104E600028F4813059F08230D1F00895853009F46A
+:104E700049C0B8F1863009F456C0089580911401F4
+:104E8000681720F4861B8093140102C0109214014D
+:104E9000809114011F928F938FE595E054C080910B
+:104EA0001301681720F4861B8093130102C010922F
+:104EB0001301809113011F928F938DE495E043C0FD
+:104EC00080911201681720F4861B8093120102C0A2
+:104ED00010921201809112011F928F938AE395E044
+:104EE00032C080911101681720F4861B8093110154
+:104EF00002C010921101809111011F928F9385E2DF
+:104F000095E021C080911001681720F4861B8093E2
+:104F1000100102C010921001809110011F928F9316
+:104F20008CE095E010C080910F01681720F4861B7B
+:104F300080930F0102C010920F0180910F011F9208
+:104F40008F9381EF94E09F938F930E94D3070F90EC
+:104F50000F900F900F900895CF93C82F1F928F93AB
+:104F600086EF97E09F938F930E94D30781E090E0B4
+:104F7000A0E0B0E0BC01CD0104C0660F771F881F20
+:104F8000991FCA95D2F70E94F71D0F900F900F90AE
+:104F90000F90CF910C94371ACF938B3109F40FC235
+:104FA00008F049C08E3009F41EC200F5873009F4BC
+:104FB000E7C1A8F4863009F0A4C28091CF01817FB7
+:104FC0008E7F8093CF018EE699E00E943A0786E6B5
+:104FD0009DE00E943A0781E08093DF01CFC18830D5
+:104FE00009F45BC08B3009F4C5C18BC2813109F46F
+:104FF00070C220F4803109F40AC283C2863109F4F8
+:1050000021C2893109F07DC28FE599E00E943A07FB
+:1050100086E499E00E943A0780E199E00E943A070D
+:1050200083EE98E00E943A078FE998E00E943A07E1
+:1050300084E798E0A1C1853309F45FC268F4873240
+:1050400009F45BC228F48E3108F45BC28D5156C25C
+:10505000893209F452C255C2833438F48A3308F0D5
+:105060004AC2883309F486C14CC2833409F445C26C
+:10507000883409F046C20E94371A8AE49DE00E94F3
+:105080003A079FEF23ED80E3915020408040E1F705
+:1050900000C000000E94E52171C18AE69DE00E94E7
+:1050A0003A0787EB9CE00E943A070E94AB231F92CD
+:1050B0008F9384EB9CE09F938F930E94D30782EBA6
+:1050C0009CE00E943A070E94A223C82F8FE99CE02F
+:1050D0000E943A071F92CF938AE99CE09F938F9397
+:1050E0000E94D30788E99CE00E943A078EE89CE082
+:1050F0000E943A078C2F81701F928F938BE89CE05F
+:105100009F938F930E94D30789E89CE00E943A07FF
+:105110008FE79CE00E943A07C1FB882780F91F9225
+:105120008F938CE79CE09F938F930E94D3078AE72D
+:105130009CE00E943A078EE69CE00E943A07C2FB80
+:10514000882780F91F928F938BE69CE09F938F9323
+:105150000E94D30789E69CE00E943A0780E69CE023
+:105160000E943A07C3FBCC27C0F91F92CF938DE56D
+:105170009CE09F938F930E94D3078BE59CE00E9455
+:105180003A070E94B423C82F87E49CE00E943A07A4
+:105190001F92CF9382E49CE09F938F930E94D3074A
+:1051A00080E49CE00E943A0787E29CE00E943A0774
+:1051B0008C2F81701F928F9384E29CE09F938F933A
+:1051C0000E94D3078DB79EB780960FB6F8949EBF06
+:1051D0000FBE8DBF82E29CE00E943A078BE09CE00C
+:1051E0000E943A07C1FB882780F91F928F9388E0BD
+:1051F0009CE09F938F930E94D30786E09CE00E94DF
+:105200003A0784EF9BE00E943A07C2FB882780F9A7
+:105210001F928F9381EF9BE09F938F930E94D30700
+:105220008FEE9BE00E943A078DED9BE00E943A07CB
+:10523000C3FB882780F91F928F938AED9BE09F9391
+:105240008F930E94D30788ED9BE00E943A078EEC73
+:105250009BE00E943A07C4FB882780F91F928F9336
+:105260008BEC9BE09F938F930E94D30789EC9BE08C
+:105270000E943A0787EB9BE00E943A07C5FB88270C
+:1052800080F91F928F9384EB9BE09F938F930E94F2
+:10529000D30782EB9BE00E943A0786E99BE00E94DD
+:1052A0003A07C6FB882780F91F928F9383E99BE01A
+:1052B0009F938F930E94D30781E99BE00E943A0756
+:1052C00089E89BE00E943A07C7FBCC27C0F91F92F0
+:1052D000CF9386E89BE09F938F930E94D30784E847
+:1052E0009BE00E943A070E94BD23C82F8DE69BE0F9
+:1052F0000E943A071F92CF9388E69BE09F938F937B
+:105300000E94D3078DB79EB780960FB6F8949EBFC4
+:105310000FBE8DBF86E69BE00E943A078CE59BE0BE
+:105320000E943A078C2F81701F928F9389E59BE032
+:105330009F938F930E94D30787E59BE00E943A07D3
+:105340008EE49BE00E943A07C6951F92CF938BE4B0
+:105350009BE09F938F930E94D30789E49BE00E9478
+:105360003A078DB79EB708960FB6F8949EBF0FBE4A
+:105370008DBF04C085E999E00E943A07C1E0C6C02C
+:105380008091CF01C82FC095C170C0FB80F9809378
+:10539000CF01CC2349F08EE39DE00E943A07809133
+:1053A000CF018660886048C081E39DE00E943A0793
+:1053B0008091CF01897F877F8093CF01DFCF90914C
+:1053C000CF0191FBCC27C0F981E0C827892FC0FB12
+:1053D00081F98093CF01CC2319F084E29DE027C0AE
+:1053E00086E19DE0C9CF9091CF0192FBCC27C0F917
+:1053F00081E0C827892FC0FB82F98093CF01CC239D
+:1054000019F087E09DE013C087EF9CE0B5CF909145
+:10541000CF0193FBCC27C0F981E0C827892FC0FBBF
+:1054200083F98093CF01CC2351F08BEE9CE00E9456
+:105430003A078091CF0181608093CF0167C08EEDE4
+:105440009CE09ACF86E698E00E943A070E94651594
+:105450001F928F938CE498E09F938F930E94D307C1
+:1054600080910B011F928F9385E398E09F938F9318
+:105470000E94D30780916C011F928F9382E298E083
+:105480009F938F930E94D30780910C011F928F935B
+:105490008FE098E09F938F930E94D3078091D10172
+:1054A0009091D201A091D301B091D401BF93AF9359
+:1054B0009F938F938BEF97E09F938F930E94D307D7
+:1054C0008DB79EB746960FB6F8949EBF0FBE8DBFA0
+:1054D00055CF0E94371AC0910C0181E0C827C093B4
+:1054E0000C01CC2329F084ED9CE00E943A070EC009
+:1054F00089EC9CE041CF895301C080E00E94AC2739
+:105500003DCF87EC9CE00E943A07C0E08C2FCF9102
+:10551000089580E0089580E00895CF93C82F80918A
+:10552000DF01813071F020F0823009F44BC042C1BC
+:10553000E0910D01F0910E018081823209F03CC1B1
+:1055400007C0E0910D01F0910E018081823261F47B
+:105550008C2F0E94892A811104C08C2F0E94CC2795
+:105560002FC081E090E02CC08C2F0E948B2A8111EB
+:1055700026C0C431E1F070F4CB3081F0C031D1F4F9
+:105580000E9474268EEE97E00E943A0782E0809394
+:10559000DF0115C0C93259F0C83361F48EE699E0D5
+:1055A0000E943A0782EF97E00E943A0708C01092E3
+:1055B000DF0104C18CEE97E00E943A07FFC081E052
+:1055C0008170FEC0C43228F5CE3108F0C1C0CB30A6
+:1055D000A1F1D0F4C73009F0D3C08EE1809314015B
+:1055E00082E3809313018AE08093120184E1809327
+:1055F000110188E08093100188E280930F0182E915
+:1056000096E00E943A07BFC0C33149F1C431C1F0EE
+:10561000B7C0CB3409F4A9C028F4C93289F0C83323
+:1056200061F0AEC0C13509F49EC0C23509F499C01D
+:10563000CE3409F0A5C06AE09EC00E947426A3C0C3
+:105640008091DE01882319F01092DE019CC08FE961
+:1056500096E00E943A0781E08093DF01B1C089E7BC
+:1056600096E00E943A0787E696E00E943A0780910A
+:1056700014011F928F9384E696E09F938F930E946C
+:10568000D30782E696E00E943A0780E596E00E9402
+:105690003A07809113011F928F938DE496E09F93B8
+:1056A0008F930E94D3078BE496E00E943A078CE325
+:1056B00096E00E943A07809112011F928F9389E32E
+:1056C00096E09F938F930E94D30787E396E00E9412
+:1056D0003A0786E296E00E943A07809111011F92F4
+:1056E0008F9383E296E09F938F930E94D30781E28A
+:1056F00096E00E943A078CE096E00E943A0780917B
+:1057000010011F928F9389E096E09F938F930E94E0
+:10571000D30787E096E00E943A0780EF95E00E9469
+:105720003A0780910F011F928F938DEE95E09F9322
+:105730008F930E94D3078BEE95E00E943A078DB7B6
+:105740009EB748960FB6F8949EBF0FBE8DBF1BC084
+:10575000CE51EC2FF0E0E85CFE4F80818093DE01BB
+:1057600012C061E003C061E006C06AE08091DE0122
+:105770000E948B2608C08091DE010E942E2703C064
+:1057800080E996E013C08091DE01882369F01F92C2
+:105790008F938AE896E09F938F930E94D3070F9090
+:1057A0000F900F900F9004C087E896E00E943A0790
+:1057B00081E006C01092DF0180E002C080E000CFEF
+:1057C000CF9108950E949723811102C00E947823EF
+:1057D0000E94BD238093EE0180FF02C0869501C028
+:1057E00080E00C94FA078091EE01982F9695292F6E
+:1057F00030E0233031054CF49F5F990F8170892B85
+:1058000081608093EE010E94C1238091CF0180FFCF
+:105810000FC08091EE0186951F928F9387EB9DE0DC
+:105820009F938F930E94D3070F900F900F900F902C
+:105830008091EE0186950C94FA078091EE01982FE5
+:10584000969591F09158990F8170892B8093EE0174
+:105850008E7F91E009F490E08091EE0190FB80F959
+:105860008093EE010E94C1238091CF0180FF0FC081
+:105870008091EE0186951F928F938FE99DE09F9313
+:105880008F930E94D3070F900F900F900F908091ED
+:10589000EE0186950C94FA078091EE01982F909571
+:1058A00090FB80F98093EE010E94C1238091CF018B
+:1058B00080FF0FC08091EE0181701F928F9389E865
+:1058C0009DE09F938F930E94D3070F900F900F90AE
+:1058D0000F908091EE0180FF02C0869501C080E0AC
+:1058E0000C94FA079091EE01892F86958F5F8F7740
+:1058F0009170843028F4880F892B8093EE0102C0C8
+:105900009093EE018091EE018E7F91E009F490E09A
+:105910008091EE0190FB80F98093EE010E94C123FB
+:105920008091CF0180FF0FC08091EE0186951F927C
+:105930008F9385E79DE09F938F930E94D3070F90ED
+:105940000F900F900F908091EE0186950C94FA07BE
+:105950002091EE01922F96958927982F990F822FEB
+:105960008170892B8093EE018E7F91E009F490E0A5
+:105970008091EE0190FB80F98093EE010E94C1239B
+:105980008091EE0186950C94FA0704D06894B111C9
+:105990008DC0089570D088F09F5790F0B92F992747
+:1059A000B751A0F0D1F0660F771F881F991F1AF02A
+:1059B000BA95C9F712C0B13081F077D0B1E008953F
+:1059C00074C0672F782F8827B85F39F0B93FCCF3C0
+:1059D000869577956795B395D9F73EF49095809520
+:1059E000709561957F4F8F4F9F4F0895E89409C040
+:1059F00097FB3EF490958095709561957F4F8F4F02
+:105A00009F4F9923A9F0F92F96E9BB279395F69517
+:105A1000879577956795B795F111F8CFFAF4BB0F95
+:105A200011F460FF1BC06F5F7F4F8F4F9F4F16C0F9
+:105A3000882311F096E911C0772321F09EE8872F83
+:105A4000762F05C0662371F096E8862F70E060E03F
+:105A50002AF09A95660F771F881FDAF7880F9695B8
+:105A6000879597F9089557FD9058440F551F59F0A1
+:105A70005F3F71F04795880F97FB991F61F09F3F3B
+:105A800079F087950895121613061406551FF2CF64
+:105A90004695F1DF08C0161617061806991FF1CFB4
+:105AA00086957105610508940895E894BB276627DB
+:105AB0007727CB0197F908950BD078C069D028F0EB
+:105AC0006ED018F0952309F05AC05FC01124EECFB4
+:105AD000CADFA0F3959FD1F3950F50E0551F629F49
+:105AE000F001729FBB27F00DB11D639FAA27F00D37
+:105AF000B11DAA1F649F6627B00DA11D661F829F5E
+:105B00002227B00DA11D621F739FB00DA11D621F42
+:105B1000839FA00D611D221F749F3327A00D611D5F
+:105B2000231F849F600D211D822F762F6A2F112441
+:105B30009F5750408AF0E1F088234AF0EE0FFF1F94
+:105B4000BB1F661F771F881F91505040A9F79E3FCB
+:105B5000510570F014C0AACF5F3FECF3983EDCF320
+:105B6000869577956795B795F795E7959F5FC1F708
+:105B7000FE2B880F911D9695879597F9089597F9B3
+:105B80009F6780E870E060E008959FEF80EC0895E3
+:105B900000240A941616170618060906089500240C
+:105BA0000A9412161306140605060895092E039486
+:105BB000000C11F4882352F0BB0F40F4BF2B11F4FA
+:105BC00060FF04C06F5F7F4F8F4F9F4F0895991BF9
+:105BD00079E004C0991F961708F0961B881F7A95E4
+:105BE000C9F78095089597FB072E16F4009407D007
+:105BF00077FD09D00E940D2E07FC05D03EF490954C
+:105C000081959F4F0895709561957F4F0895EE0F90
+:105C1000FF1F0590F491E02D0994AA1BBB1B51E1D5
+:105C200007C0AA1FBB1FA617B70710F0A61BB70B0C
+:105C3000881F991F5A95A9F780959095BC01CD01B1
+:105C40000895F999FECF92BD81BDF89A992780B544
+:105C50000895A8E1B0E042E050E00C94492E262FD0
+:105C6000F999FECF92BD81BDF89A019700B4021652
+:105C700039F01FBA20BD0FB6F894FA9AF99A0FBE00
+:105C800008950196272F0E94302E0C942F2EDC01B0
+:105C9000CB01FC01F999FECF06C0F2BDE1BDF89A37
+:105CA000319600B40D9241505040B8F70895F894E1
+:025CB000FFCF24
+:105CB200FFA20D930E700E3C0E080E0101BC0128CE
+:105CC20008140A321E031323330F1F4F5F6F7F3FE7
+:105CD2004D362039DD0390035A033A03010374025F
+:105CE2008D02A602BF02DF020102030405060708B5
+:025CF2000900A7
+:00000001FF
diff --git a/keyboards/arrow_pad/keymaps/default/keymap.c b/keyboards/arrow_pad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5647f75afe
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/default/keymap.c
@@ -0,0 +1,163 @@
+// 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 "arrow_pad.h"
+#include "led.h"
+
+// This is the 21-key keypad to 2x11 element matrix mapping
+#define KEYMAP( \
+ KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
+ KM_NUM, KM_FSL, KM_AST, KM_MIN, \
+ KM___7, KM___8, KM___9, KM_EQU, \
+ KM___4, KM___5, KM___6, KM_PLS, \
+ KM___1, KM___2, KM___3, ___ENT, \
+ KM___0, _____0, KM_DOT, KM_ENT \
+) { \
+ { KM_ESC, KM_TAB, KM_BSL, KM_ARR }, \
+ { KM_NUM, KM_FSL, KM_AST, KM_MIN }, \
+ { KM___7, KM___8, KM___9, KM_EQU }, \
+ { KM___4, KM___5, KM___6, KM_PLS }, \
+ { KM___1, KM___2, KM___3, KC_NO }, \
+ { KM___0, KC_NO, KM_DOT, KM_ENT } \
+}
+
+#define LAYER_BASE 0
+#define LAYER_EDIT 1
+#define LAYER_FUNCTION 2
+
+#define MACRO_COPY_CUT 0
+#define MACRO_SHIFT_CONTROL 1
+#define MACRO_CONTROL_ALT 2
+
+#define M_COPY KC_FN5
+#define M_SHFCT KC_FN6
+#define M_CTALT KC_FN7
+
+#define SC_UNDO LCTL(KC_Z)
+#define SC_REDO LCTL(KC_Y)
+#define SC_CUT LCTL(KC_X)
+#define SC_COPY LCTL(KC_C)
+#define SC_PSTE LCTL(KC_V)
+#define SC_SELA LCTL(KC_A)
+#define SC_SAVE LCTL(KC_S)
+#define SC_OPEN LCTL(KC_O)
+#define SC_ACLS LALT(KC_F4)
+#define SC_CCLS LCTL(KC_F4)
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[LAYER_BASE] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_BSLS, KC_FN0, \
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
+ KC_P7, KC_P8, KC_P9, KC_PEQL, \
+ KC_P4, KC_P5, KC_P6, KC_PPLS, \
+ KC_P1, KC_P2, KC_P3, XXXXXXX, \
+ KC_P0, KC_PCMM, KC_PDOT, KC_PENT ),
+
+[LAYER_EDIT] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_SPC, _______, \
+ KC_FN1, SC_PSTE, SC_REDO, SC_UNDO, \
+ KC_HOME, KC_UP, KC_PGUP, KC_LALT, \
+ KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \
+ KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \
+ KC_BSPC, KC_PENT, KC_DEL, M_SHFCT),
+
+[LAYER_FUNCTION] = KEYMAP( \
+ KC_FN2, KC_FN3, KC_FN4, _______, \
+ KC_FN1, _______, _______, _______, \
+ _______, _______, _______, _______, \
+ _______, _______, _______, _______, \
+ _______, _______, _______, XXXXXXX, \
+ RESET, _______, _______, _______ ),
+
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(LAYER_FUNCTION),
+ [1] = ACTION_LAYER_TOGGLE(LAYER_EDIT),
+ [2] = ACTION_BACKLIGHT_TOGGLE(),
+ [3] = ACTION_BACKLIGHT_INCREASE(),
+ [4] = ACTION_BACKLIGHT_DECREASE(),
+ [5] = ACTION_MACRO_TAP(MACRO_COPY_CUT),
+ [6] = ACTION_MACRO_TAP(MACRO_SHIFT_CONTROL),
+ [7] = ACTION_MACRO_TAP(MACRO_CONTROL_ALT),
+
+};
+
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+}
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch (id) {
+
+ case MACRO_COPY_CUT:
+ if (record->event.pressed) {
+ register_code(KC_LCTL);
+ if (record->tap.count == 1) {
+ register_code(KC_C);
+ unregister_code(KC_C);
+ }
+ else if (record->tap.count == 2) {
+ register_code(KC_X);
+ unregister_code(KC_X);
+ }
+ unregister_code(KC_LCTL);
+ }
+ break;
+
+ case MACRO_SHIFT_CONTROL:
+ if (record->event.pressed) {
+ if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
+ if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count == 3) register_code(KC_PENT);;
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
+ unregister_code(KC_PENT);
+ }
+ break;
+
+ case MACRO_CONTROL_ALT:
+ if (record->event.pressed) {
+ if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+}
+
+void led_set_user(uint8_t usb_led)
+{
+ if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+ // output high
+ DDRD |= (1<<6);
+ PORTD |= (1<<6);
+ } else {
+ // Hi-Z
+ DDRD &= ~(1<<6);
+ PORTD &= ~(1<<6);
+ }
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) {
+ // output low
+ DDRC |= (1<<7);
+ PORTC |= ~(1<<7);
+ } else {
+ // Hi-Z
+ DDRC &= ~(1<<7);
+ PORTC &= ~(1<<7);
+ }
+} \ No newline at end of file
diff --git a/keyboards/arrow_pad/keymaps/pad_21/Makefile b/keyboards/arrow_pad/keymaps/pad_21/Makefile
new file mode 100644
index 0000000000..af51976a89
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_21/Makefile
@@ -0,0 +1,17 @@
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/arrow_pad/keymaps/pad_21/compiled.hex b/keyboards/arrow_pad/keymaps/pad_21/compiled.hex
new file mode 100644
index 0000000000..642c9e40c8
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_21/compiled.hex
@@ -0,0 +1,893 @@
+:100000000C944A010C948E010C948E010C948E0178
+:100010000C948E010C948E010C948E010C948E0124
+:100020000C948E010C948E010C94B10A0C94830BE9
+:100030000C9424180C948E010C948E010C948E0157
+:100040000C948E010C948E010C948E010C948E01F4
+:100050000C948E010C948C180C948E010C948E01CF
+:100060000C948E010C948E010C948E010C948E01D4
+:100070000C948E010C948E010C948E010C948E01C4
+:100080000C948E010C948E010C948E010C948E01B4
+:100090000C948E010C948E010C948E010C948E01A4
+:1000A0000C948E010C948E010C948E01F00B120CAA
+:1000B000000D120C000D570C7A0C000DCF0CE20C49
+:1000C000730F730FA20FA20F06110611061106116E
+:1000D000E10F061191109110F71006110611001191
+:1000E0009E109E109E109E109E109E109E109E10A0
+:1000F0009E109E109E109E109E109E109E109E1090
+:10010000AE10BC10C310CA10D410F1A2028A00D2E3
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C0005F0060006100570059005A005B008A
+:1001300053005400550056005C005D005E005800FE
+:1001400000006200630029002B002C0001004A001F
+:1001500052004B00C7004D0051004E00C100190174
+:100160001C011D015000C5004F00C60000002A0000
+:100170004C00C200C300C4000100010001000100E6
+:100180000100010001000100C100010001000100A7
+:1001900001000100010001000000005001001A03ED
+:1001A0004100720072006F00770020005000610073
+:1001B000640020003200310000000E034E006F008A
+:1001C00062006F0064007900000004030904090262
+:1001D0003B00020100A0FA09040000010301010034
+:1001E000092111010001223F000705810308000ACF
+:1001F000090401000103000000092111010001228E
+:1002000039000705820310000112011001000000EF
+:1002100008EDFE974001000102000105010906A159
+:1002200001050719E029E7150025019508750181E9
+:1002300002050819012905950575019102950175B9
+:100240000391010507190029771500250195787597
+:10025000018102C005010906A101050719E029E78E
+:100260001500250195087501810295017508810128
+:100270000508190129059505750191029501750378
+:1002800091010507190029FF150025FF950675083E
+:100290008100C00011241FBECFEFDAE0DEBFCDBF6A
+:1002A00004B603FE24C08091C3019091C401A091C3
+:1002B000C501B091C6018730904BA740B04BB9F44F
+:1002C0001092C3011092C4011092C5011092C60190
+:1002D00014BE84B7877F84BF88E10FB6F8948093FB
+:1002E0006000109260000FBEE0E0FFE3099511E0AE
+:1002F000A0E0B1E0E4E9F7E302C005900D92AA3175
+:10030000B107D9F711E0AAE1B1E001C01D92A33C09
+:10031000B107E1F70E94F8070C94C81B0C94000089
+:100320000895089581E008950C9490010C94910132
+:100330000C9492010C9400020895CF93DF93EC018A
+:100340006130F1F018F06230E9F155C08A818823FC
+:1003500009F451C080EE0E94670E8D81807F80314C
+:1003600029F486E00E94670E86E006C0803231F4F0
+:100370008BE10E94670E8BE10E94060F80EE1FC08A
+:100380008A818823C1F08D8182958F7090E00397D8
+:100390001CF482E00E942E0F8D81807F803219F440
+:1003A00081E00E942E0F8D81807F803321F588E5CA
+:1003B0000E94670E20C083E00E94350F88E50E94EE
+:1003C000060F19C08A81882399F08D8182958F70DC
+:1003D00090E002971CF481E00E942E0F8D8182959F
+:1003E0008F7090E002973CF084E00E942E0F03C0D3
+:1003F00085E00E94350F80E090E0DF91CF91089575
+:1004000081FF03C0569A5E9A02C056985E9880FF9C
+:1004100005C03F9A88B18F6788B908953F9847987B
+:10042000089581E008950C94110208950F931F938D
+:10043000CF93DF938C01FC01C081D181CE010E945A
+:100440005E16BE010E94C202EC01B8010E941302B6
+:10045000882309F48DC0F8018281882309F44AC0F9
+:100460008091250181111FC0C431F0E5DF0709F03B
+:1004700051C00E94150281E0809325010E94561808
+:10048000909324018093230110921C0110921E016D
+:1004900010921D011092200110921F011092220152
+:1004A0001092210165C080912301909124010E9446
+:1004B0006218883C910570F480911C01E82FF0E0EF
+:1004C000EE0FFF1FE35EFE4FD183C0838F5F8093EB
+:1004D0001C014EC0C43880E5D80721F0C538D0458E
+:1004E00001F13AC0F8018281882341F010921A018B
+:1004F00082E01EC0C438E0E5DE0759F580911A019C
+:10050000811106C086E20E94670E86E20E94060FF5
+:1005100082E01CC0C438F0E5DF0741F3C538D045A0
+:10052000D9F4F8018281882331F010921B0180E216
+:100530000E942E0F1DC080911B01811106C087E211
+:100540000E94670E87E20E94060F80E20E94350F2C
+:100550000FC0C538D04529F381E080931A018093FC
+:100560001B01C801DF91CF911F910F910C9498014D
+:1005700080E0DF91CF911F910F9108950C94940129
+:100580000C9496019BE0799FF001112496E1899FDC
+:10059000E00DF11D1124E60FF11DEE0FFF1FE65EC9
+:1005A000FE4F859194910895880F991FFC01E6579D
+:1005B000F040859194910895880F991FFC01E65FA2
+:1005C000FE4F8591949108950F931F93CF93DF93DE
+:1005D000EC01811520E3920750F5C11580E2D807A0
+:1005E00008F0C3C0CB3BD10590F4C83AD10508F060
+:1005F0006AC0C53AD10508F05BC0C430D10508F027
+:10060000D0C1219709F0CAC101E010E00AC2CF3F72
+:10061000D10511F008F0C5C1C03FD10508F0A2C056
+:10062000CE01805E9109089708F4BBC1B7C1C13003
+:1006300090E5D90709F4A2C020F5C0318FE4D807AE
+:1006400070F4C11590E4D90708F094C0C11521E3F6
+:10065000D20708F0A3C1DD278E01106CE2C1C115DD
+:10066000D04509F09BC10E9465118FEF94E32CE007
+:10067000815090402040E1F700C000000E94B11876
+:10068000D0C1C11597E5D90758F4C03121E5D2078B
+:1006900008F01CC1C43180E5D80708F475C07EC1DC
+:1006A000CE0190578115904108F078C1DF7073C179
+:1006B000C53AD10509F477C1C63AD10509F076C12A
+:1006C00002E810E4AEC1C83AD10509F472C1C93AD2
+:1006D000D10509F471C1CA3AD10509F470C1CB3A08
+:1006E000D10509F46FC1CC3AD10509F46EC1CD3AF8
+:1006F000D10509F46DC1C03BD10509F46CC1CE3AF6
+:10070000D10509F46BC1CF3AD10509F46AC1C13BE7
+:10071000D10509F469C1C23BD10509F468C1C33BE5
+:10072000D10509F467C1C43BD10509F466C1C53BD5
+:10073000D10509F465C1C63BD10509F464C1C73BC5
+:10074000D10509F463C1C83BD10509F462C1C93BB5
+:10075000D10509F461C1CA3BD10509F460C100E0CB
+:1007600014E45FC18E0110655CC1CE019F700E94D0
+:10077000DC0258C1DF708E01106A53C18091AE0156
+:1007800081608093AE014DC10E94611A811102C047
+:100790000E94471A0E947E1A90E09093C3018093B2
+:1007A000C201C23080E5D80721F48091C201816086
+:1007B00086C0C43090E5D90721F48091C2018260DF
+:1007C0007EC0C63020E5D20721F48091C20184604A
+:1007D00076C0C83080E5D80719F48091C20127C0DF
+:1007E000CA3090E5D90721F48091C201806167C0C9
+:1007F000CC3020E5D20721F48091C20180625FC035
+:10080000CE3080E5D80721F48091C201806457C0C2
+:10081000C03190E5D90721F48091C20180684FC0B2
+:10082000C23120E5D20729F48091C201846088603A
+:1008300046C0C33080E5D80721F48091C2018E7F85
+:100840003EC0C53090E5D90721F48091C2018D7F6B
+:1008500036C0C73020E5D20721F48091C2018B7FDA
+:100860002EC0C93080E5D80719F48091C20126C096
+:10087000CB3090E5D90721F48091C2018F7E1FC053
+:10088000CD3020E5D20721F48091C2018F7D17C0C1
+:10089000CF3080E5D80721F48091C2018F7B0FC053
+:1008A000C13190E5D90721F48091C2018F7707C04B
+:1008B000C331D04531F48091C2018B7F877F809313
+:1008C000C2018091C2010E94821AABC08D2F99276C
+:1008D0008F70992781309105D9F49E0123703327B9
+:1008E00002C0880F991F2A95E2F79C688E0144E0A8
+:1008F000000F111F4A95E1F700271370802B912BF1
+:1009000053E0CC0FDD1F5A95E1F7C076DD272FC0ED
+:100910008230910531F4DC2FCC278E01016F106AF3
+:1009200080C08330910569F4CE018370992701E07E
+:1009300010E002C0000F111F8A95E2F7C8019C6801
+:100940000FC084309105B9F4CE018370992701E07E
+:1009500010E002C0000F111F8A95E2F7C8019A68E3
+:1009600023E0CC0FDD1F2A95E1F7C07ED7708C0104
+:100970000C2B1D2B56C08530910531F4DC2FCC2774
+:100980008E01046F106A4DC0069709F04AC0CF71FE
+:10099000DD27DC2FCC278E01106243C000E010E081
+:1009A00040C08E013EC001E810E43BC003E810E403
+:1009B00038C002EE14E435C009EE14E432C00AEE89
+:1009C00014E42FC005EB14E42CC006EB14E429C09A
+:1009D00007EB14E426C00CEC14E423C00DEC14E483
+:1009E00020C003E815E41DC00AE815E41AC002E9B6
+:1009F00015E417C004E915E414C001E216E411C0BF
+:100A000003E216E40EC004E216E40BC005E216E4AD
+:100A100008C006E216E405C007E216E402C00AE2D6
+:100A200016E4C801DF91CF911F910F9108959BE0CB
+:100A3000799FF001112496E1899FE00DF11D1124A9
+:100A4000E60FF11DEE0FFF1FE65EFE4F85919491BC
+:100A5000803E9105E0F4803C910558F58133910585
+:100A600009F46FC048F48932910509F463C08A32F1
+:100A7000910509F46DC072C089339105E9F082389F
+:100A80009105D1F08533910509F44DC067C0833ECF
+:100A9000910581F138F4803E9105B9F0823E9105CF
+:100AA000D9F05CC0863E910561F1873E9105A1F1C8
+:100AB00055C00E94D40208952091C20120FD02C0B9
+:100AC00021FF4CC080EE90E049C08091C20180FFC0
+:100AD000F9CF89E390E042C08091C20182FF0EC04D
+:100AE0008091C20184FF03C080E090E037C083EEB4
+:100AF00090E034C08091C20182FFF2CF82EE90E09C
+:100B00002DC08091C20183FF0BC08091C20184FD82
+:100B1000EBCF87EE90E022C08091C20183FFF5CF3A
+:100B200086EE90E01BC08091C20185FF07C089E27C
+:100B300090E014C08091C20185FFF9CF85E390E079
+:100B40000DC08091C20186FF07C08AE290E006C016
+:100B50008091C20186FFF9CF81E390E00E94E40218
+:100B600008950C949A01E82FF0E0E15FFE4F808138
+:100B7000E82FEF70F0E082958F7021E030E0A9015E
+:100B800002C0440F551F8A95E2F740A308950F93C2
+:100B90001F93CF93DF9385B7806885BF85B7806843
+:100BA00085BFCAE0D0E001E010E0FE01E15FFE4F4A
+:100BB0008081E82FEF70F0E021A182958F70A8016D
+:100BC00002C0440F551F8A95E2F7CA01822B81A308
+:100BD0008C2F0E94B305219740F75D9A5B9ADF91B5
+:100BE000CF911F910F910C94BE020F931F93CF933F
+:100BF000DF9301E311E0CAE0D5E08C2F0E94B3053A
+:100C00004D9902C082E001C080E04B9B8160F801F9
+:100C100092918F01981719F08083D09300018C2F47
+:100C20000E94B305C15048F78091000187FD1CC0A8
+:100C30008150809300018F3F39F08FE99FE0019749
+:100C4000F1F700C0000010C080E090E0FC01EF5C14
+:100C5000FE4FDC01AA5DBE4F1A962C9122870197A8
+:100C6000853FEFEF9E0791F70E94C00281E0DF9180
+:100C7000CF911F910F91089591E001C0990F8A952E
+:100C8000EAF72AE030E040E050E061E070E0F9018E
+:100C9000EF5CFE4F8081892349F0FB01022E02C0E8
+:100CA000EE0FFF1F0A94E2F74E2B5F2B2150310904
+:100CB00070F7CA0108950895CF9381E00E943C0621
+:100CC0000E94D917C82F80E00E943C060E94D917C5
+:100CD0008C0FCF91089580914C0108950895CF9382
+:100CE000DF9300D01F92CDB7DEB72091B901243039
+:100CF00021F523E029839B838A8381E08093E900A7
+:100D00008FEF9091E800815095FD06C095ED9A9582
+:100D1000F1F700008111F5CF8091E80085FF0DC04B
+:100D200040E050E063E070E0CE0101960E94A1082F
+:100D30008091E8008E778093E8000F900F900F90DD
+:100D4000DF91CF910895CF93DF9300D01F92CDB75D
+:100D5000DEB72091B901243021F522E029839B835D
+:100D60008A8381E08093E9008FEF9091E8008150C1
+:100D700095FD06C095ED9A95F1F700008111F5CF2C
+:100D80008091E80085FF0DC040E050E063E070E036
+:100D9000CE0101960E94A1088091E8008E77809391
+:100DA000E8000F900F900F90DF91CF910895CF93AF
+:100DB000DF932091B901243009F048C0EC01809103
+:100DC0000B018823E1F080910C018823C1F082E0BF
+:100DD0008093E9008FEF9091E800815095FD06C067
+:100DE00095E19A95F1F700008111F5CF8091E80027
+:100DF00085FF2CC040E050E060E170E017C081E06A
+:100E00008093E9008FEF9091E800815095FD06C036
+:100E100095ED9A95F1F700008111F5CF8091E800EA
+:100E200085FF14C040E050E068E070E0CE010E9411
+:100E3000A1088091E8008E778093E80080E1FE01B0
+:100E4000ACE3B1E001900D928A95E1F7DF91CF918B
+:100E500008958091B801811109C00E94360A0E944C
+:100E6000930A8091E20084608093E20008951092DA
+:100E7000B8010895089508950C941E1842E061EC9D
+:100E800081E00E94B00942E161EC82E00C94B0097B
+:100E90008091BB01833009F453C030F4813071F08C
+:100EA000823009F48CC008958A3009F478C08B3000
+:100EB00009F45EC0893009F09AC020C08091BA015F
+:100EC000813A09F094C08091E800877F8093E80020
+:100ED0008091BE019091BF01892B21F460E18CE3E8
+:100EE00091E003C060E080E090E070E00E94EC08D8
+:100EF0008091E8008B778093E80008958091BA0193
+:100F0000813209F074C08091BE019091BF010297B7
+:100F100008F06DC08091E800877F8093E8008091A1
+:100F2000E80082FD05C08091B9018111F8CF5FC052
+:100F30008091F10080934C018091E8008B7753C041
+:100F40008091BA01813A09F052C08091BE0190911E
+:100F5000BF01892B09F04BC08091E800877F809307
+:100F6000E8008091E80080FFFCCF80910B0136C043
+:100F70008091BA018132D9F58091BE019091BF0173
+:100F8000892BA9F58091E800877F8093E8000E9473
+:100F9000E5098091BC0180930B010C94651180914F
+:100FA000BA01813221F58091E800877F8093E800C3
+:100FB0000E94E5098091BD0180934D0108958091C3
+:100FC000BA01813AA1F48091E800877F8093E8001C
+:100FD0008091E80080FFFCCF80914D018093F1006B
+:100FE0008091E8008E778093E8000C94E5090895DD
+:100FF00084B7877F84BF88E10FB6F8948093600040
+:10100000109260000FBE90E080E80FB6F8948093D5
+:101010006100909361000FBE0E947D0D0E94360A10
+:101020000E94930A8091E20084608093E2007894A9
+:101030000E94190D0E947F0D81E091E00E94340D05
+:101040008091B901853069F40E94E5178091B7015C
+:101050008823B1F30E941018882391F30E948B0813
+:10106000EFCF0E94890DECCF292F33272330310594
+:10107000C9F064F42130310581F02230310509F0E6
+:1010800042C08BE390E02EEC31E041C021323105CB
+:10109000F1F02232310549F136C082E190E029E0D9
+:1010A00032E035C099278130910541F082309105B9
+:1010B00041F0892B41F5EAECF1E005C0EAEBF1E003
+:1010C00002C0EEE9F1E0849190E09F0120C0662328
+:1010D00039F06130C1F489E090E029EF31E017C0C8
+:1010E00089E090E020EE31E012C0662339F06130F3
+:1010F00051F489E390E02BE132E009C08FE390E006
+:1011000024E532E004C080E090E020E030E0FA0125
+:1011100031832083089580E189BD82E189BD09B4CE
+:1011200000FEFDCF8091D8008F7D8093D800809104
+:10113000E00082608093E0008091E00081FDFCCFC0
+:101140000895CF92DF92EF92FF920F931F93CF9368
+:10115000DF93EC018B016A010E94040A811133C004
+:10116000C114D10439F0F60180819181081B190B5B
+:10117000C80FD91FE12CF12C0115110519F180912F
+:10118000E80085FD16C08091E8008E778093E80026
+:10119000C114D10449F0F60180819181E80EF91E55
+:1011A000F182E08285E00FC00E94040A882321F3C7
+:1011B0000AC089918093F10001501109FFEFEF1AE5
+:1011C000FF0ADACF80E0DF91CF911F910F91FF905E
+:1011D000EF90DF90CF9008952091C0013091C10130
+:1011E0002617370748F06115710539F42091E8009A
+:1011F0002E772093E80001C0B90140E06115710528
+:10120000A9F12091B901222309F443C0253009F442
+:1012100042C02091E80023FD40C02091E80022FD5B
+:1012200032C02091E80020FFE9CF4091F3002091E7
+:10123000F20030E0342BFC01CF016115710559F04B
+:101240002830310540F481918093F100615071099B
+:101250002F5F3F4FF1CF41E02830310509F040E0EA
+:101260002091E8002E772093E800C8CF4111C9CF24
+:101270000AC08091B901882361F0853061F08091C6
+:10128000E80083FD0AC08091E80082FFF2CF80E091
+:10129000089582E0089583E0089581E00895209103
+:1012A000C0013091C1012617370748F0611571055B
+:1012B00039F42091E8002E772093E80001C0B901AD
+:1012C000FC0120E06115710591F18091B90188233D
+:1012D00009F440C0853009F43FC08091E80083FDE7
+:1012E0003DC08091E80082FD2FC08091E80080FF22
+:1012F000E9CF2091F3008091F20090E0922B6115EC
+:10130000710559F08830910540F424912093F10043
+:101310003196615071090196F2CF21E0089709F0EA
+:1013200020E08091E8008E778093E800CBCF2111F8
+:10133000CCCF0AC08091B901882361F0853061F07B
+:101340008091E80083FD0AC08091E80082FFF2CF1F
+:1013500080E0089582E0089583E0089581E0089593
+:10136000982F973058F59093E900981739F07091BD
+:10137000EC002091ED005091F00003C0242F762F57
+:1013800050E021FF19C03091EB003E7F3093EB001D
+:101390003091ED003D7F3093ED003091EB003160F6
+:1013A0003093EB007093EC002093ED005093F0002D
+:1013B0002091EE0027FF07C09F5FD3CF8F708093EF
+:1013C000E90081E0089580E008958091BA0187FFE7
+:1013D00011C08091E80082FD05C08091B9018111A2
+:1013E000F8CF11C08091E8008B770BC08091B901D4
+:1013F000882349F08091E80080FFF8CF8091E800D1
+:101400008E778093E80008952091E4003091E50004
+:1014100095E64091EC00842F817040FF22C08091BE
+:10142000E80080FD1CC08091B901882391F08530CF
+:1014300091F08091EB0085FD10C04091E400509147
+:10144000E5004217530729F39A01915011F784E000
+:10145000089582E0089583E0089581E0089580E092
+:1014600008954091E80042FFDECF08950E94A40A4B
+:101470000E94AC0AE0EEF0E0808181608083E8EDBC
+:10148000F0E080818F77808319BCA7EDB0E08C916C
+:101490008E7F8C9380818F7E80831092B801089517
+:1014A0000F931F93CF93DF930E94A40A0E94AC0A6C
+:1014B000C8EDD0E088818F778883888180688883B1
+:1014C00088818F7D888319BC1092B9011092B50173
+:1014D0001092B7011092B60100EE10E0F801808181
+:1014E0008B7F808388818160888342E060E080E038
+:1014F0000E94B009E1EEF0E080818E7F8083E2EE11
+:10150000F0E0808181608083808188608083F80141
+:1015100080818E7F8083888180618883DF91CF91F5
+:101520001F910F910895E8EDF0E080818F7E808318
+:10153000E7EDF0E080818160808384E082BF81E01C
+:101540008093B8010C94500AE8EDF0E080818E7F22
+:1015500080831092E20008951092DA001092E10068
+:1015600008951F920F920FB60F9211242F933F935D
+:101570004F935F936F937F938F939F93AF93BF939B
+:10158000EF93FF938091E10082FF0BC08091E20016
+:1015900082FF07C08091E1008B7F8093E1000E9471
+:1015A000180D8091DA0080FF1FC08091D80080FF65
+:1015B0001BC08091DA008E7F8093DA008091D90081
+:1015C00080FF0DC080E189BD82E189BD09B400FEC4
+:1015D000FDCF81E08093B9010E94290705C019BCA5
+:1015E0001092B9010E9437078091E10080FF19C075
+:1015F0008091E20080FF15C08091E2008E7F809391
+:10160000E2008091E20080618093E2008091D80046
+:1016100080628093D80019BC85E08093B9010E9454
+:101620003B078091E10084FF30C08091E20084FF9D
+:101630002CC080E189BD82E189BD09B400FEFDCFE7
+:101640008091D8008F7D8093D8008091E1008F7EBB
+:101650008093E1008091E2008F7E8093E200809190
+:10166000E20081608093E2008091B501882311F04F
+:1016700084E007C08091E30087FD02C081E001C0E3
+:1016800083E08093B9010E943C078091E10083FFD1
+:1016900029C08091E20083FF25C08091E100877F0F
+:1016A0008093E10082E08093B9011092B5018091AE
+:1016B000E1008E7F8093E1008091E2008E7F809335
+:1016C000E2008091E20080618093E20042E060E00D
+:1016D00080E00E94B0098091F00088608093F00063
+:1016E0000E943A07FF91EF91BF91AF919F918F9127
+:1016F0007F916F915F914F913F912F910F900FBE0E
+:101700000F901F9018951F920F920FB60F921124F1
+:101710002F933F934F935F936F937F938F939F93F9
+:10172000AF93BF93CF93DF93EF93FF93C091E90003
+:10173000CF708091EC00D82FD17080FDD0E810924E
+:10174000E9008091F000877F8093F00078940E94F8
+:10175000C70B1092E9008091F00088608093F00040
+:10176000CD2BCF70C093E900FF91EF91DF91CF9126
+:10177000BF91AF919F918F917F916F915F914F91A9
+:101780003F912F910F900FBE0F901F9018951F93B0
+:10179000CF93DF93CDB7DEB7AA970FB6F894DEBF2D
+:1017A0000FBECDBFEAEBF1E088E08E0F9091F10023
+:1017B00091938E13FBCF0E9448078091E80083FF2E
+:1017C0001FC18091BA019091BB01492F50E04A306E
+:1017D000510508F015C1FA01EA5AFF4F0C948C1B11
+:1017E000803881F0823809F00BC18091BE018F7082
+:1017F0008093E9008091EB0085FB882780F91092A7
+:10180000E90006C08091B6019091B7019111826004
+:101810009091E800977F9093E8008093F1001092F8
+:10182000F100C8C0282F2D7F09F0EAC0882319F0E5
+:10183000823061F0E5C08091BC01813009F0E0C0E8
+:10184000933009F080E08093B7012BC08091BC01F8
+:10185000811127C08091BE018F7009F4D1C080939F
+:10186000E9002091EB0020FF1CC0933021F480910F
+:10187000EB00806214C09091EB0090619093EB00BC
+:1018800021E030E0A90102C0440F551F8A95E2F71C
+:101890004093EA001092EA008091EB008860809308
+:1018A000EB001092E9008091E800877F86C08111EB
+:1018B000A7C01091BC011F778091E3008078812B35
+:1018C0008093E3008091E800877F8093E8000E9486
+:1018D000E5098091E80080FFFCCF8091E3008068FB
+:1018E0008093E300111102C082E001C083E0809385
+:1018F000B90186C08058823008F082C08091BC0156
+:101900009091BD018C3D53E0950779F583E08A8382
+:101910008AE289834FB7F894DE01139620E03EE017
+:1019200051E2E32FF0E050935700E49120FF03C011
+:10193000E295EF703F5FEF708E2F90E0EA3010F08D
+:10194000C79601C0C0968D939D932F5F243149F7B0
+:101950004FBF8091E800877F8093E8006AE270E0E3
+:10196000CE0101960E94EC0814C0AE014F5F5F4F9C
+:101970006091BE010E943408BC01009709F440C088
+:101980009091E800977F9093E80089819A810E9466
+:101990004F098091E8008B778093E80031C0803850
+:1019A00079F58091E800877F8093E8008091B50108
+:1019B0008093F1008091E8008E778093E8000E9488
+:1019C000E5091EC081111CC09091BC019230C0F489
+:1019D0008091E800877F8093E8009093B5010E9492
+:1019E000E5098091B501811106C08091E30087FD72
+:1019F00002C081E001C084E08093B9010E943E07EB
+:101A00008091E80083FF0AC08091E800877F80937F
+:101A1000E8008091EB0080628093EB00AA960FB6FD
+:101A2000F894DEBF0FBECDBFDF91CF911F91089517
+:101A30000895CF938091B9018823A1F0C091E90066
+:101A4000CF709091EC00892F817090FD80E8C82BB9
+:101A50001092E9008091E80083FD0E94C70BCF70CF
+:101A6000C093E900CF910895909353018093520160
+:101A70000895E0915201F0915301309721F00190C7
+:101A8000F081E02D099480E00895E0915201F091F9
+:101A90005301309721F00280F381E02D09940895DD
+:101AA00020915001309151018217930771F090936A
+:101AB000510180935001E0915201F0915301309710
+:101AC00021F00680F781E02D0994089520914E01C0
+:101AD00030914F018217930771F090934F018093DB
+:101AE0004E01E0915201F0915301309721F00084B2
+:101AF000F185E02D0994089508950C947C0D0E94C1
+:101B00004D180E94C7050E941A1981E080930C01AC
+:101B100008955F926F927F928F929F92AF92BF9241
+:101B2000CF92DF92EF92FF920F931F93CF93DF93A9
+:101B300000D000D01F92CDB7DEB70E94F50599E521
+:101B4000C92E91E0D92E01E010E0AA24A394B12C73
+:101B5000502E802F0E943C064C01F601729062903C
+:101B60006F01682679266114710431F4012B09F4A0
+:101B70003BC000E010E0ECCF8091AE0181FD0E94FF
+:101B80005B062AE030E07501022E02C0EE0CFF1C5D
+:101B90000A94E2F7C70186219721892B09F129834D
+:101BA0005A828E209F2091E0892809F490E09B833F
+:101BB0000E9456188160782F9D838C8349815A81B9
+:101BC0006B818D810E94390E000F111FF801EB5AB5
+:101BD000FE4F80819181E826F926F182E08214C0CF
+:101BE0002150310980F6C2CF8FEF89838A831B820F
+:101BF0000E9456188160782F9D838C8349815A8179
+:101C00006B818D810E94390E109154010E94390D13
+:101C10001817D1F00E94390D809354010F900F9046
+:101C20000F900F900F90DF91CF911F910F91FF9028
+:101C3000EF90DF90CF90BF90AF909F908F907F906C
+:101C40006F905F900C94B1050F900F900F900F90D4
+:101C50000F90DF91CF911F910F91FF90EF90DF9048
+:101C6000CF90BF90AF909F908F907F906F905F903C
+:101C70000895CF93DF93CDB7DEB72B970FB6F894C7
+:101C8000DEBF0FBECDBF4F83588769877A878B87AA
+:101C9000DE01119686E0FD0111928A95E9F785E053
+:101CA000FE01379601900D928A95E1F749815A819C
+:101CB0006B817C818D819E810E9403142B960FB6CF
+:101CC000F894DEBF0FBECDBFDF91CF910895CF93C3
+:101CD000882309F499C0C82F8CEF8C0F813A48F4FF
+:101CE0008C2F0E944A1B81118FC08C2F0E94DD1601
+:101CF0000CC080E28C0F883058F4C77081E001C0BE
+:101D0000880FCA95EAF70E946317CF910C94AA171F
+:101D10008BE58C0F833078F4C53A29F0C63A31F060
+:101D200083E890E005C081E890E002C082E890E09E
+:101D3000CF910C94500D88E58C0F833108F064C06E
+:101D4000C83A39F1C93A41F1CA3A49F1CB3A51F1AD
+:101D5000CC3A59F1CD3A61F1C03B69F1CE3A71F11B
+:101D6000CF3A79F1C13B81F1C23B89F1C33B91F19B
+:101D7000C43B99F1C53BA1F1C63BA9F1C73BB1F109
+:101D8000C83BB9F1C93BC1F1CA3BC9F180E090E061
+:101D900038C082EE90E035C089EE90E032C08AEE25
+:101DA00090E02FC085EB90E02CC086EB90E029C03E
+:101DB00087EB90E026C08CEC90E023C08DEC90E0A7
+:101DC00020C083E891E01DC08AE891E01AC082E952
+:101DD00091E017C084E991E014C081E292E011C063
+:101DE00083E292E00EC084E292E00BC085E292E0D2
+:101DF00008C086E292E005C087E292E002C08AE273
+:101E000092E0CF910C94660DCF910895882329F12B
+:101E10009CEF980F913A18F40E941F170DC090E2A2
+:101E2000980F983058F4877091E001C0990F8A9507
+:101E3000EAF7892F0E9469170C94AA179BE5980F5F
+:101E4000933020F480E090E00C94500D885A833158
+:101E500020F480E090E00C94660D0895882321F032
+:101E60000E9463170C94AA170895882321F00E94FA
+:101E700069170C94AA1708957F928F929F92AF9240
+:101E8000BF92CF92DF92EF92FF920F931F93CF9367
+:101E9000DF931F92CDB7DEB77C01C62E772EFC01F3
+:101EA000158112951F70028101110E9480170E94F6
+:101EB000D616882379F0002369F080E28C0D8830F3
+:101EC00048F082E00E94BF160E94D61691E0D82EFC
+:101ED000D92601C0D12CE72DE295EF70F0E0E05A51
+:101EE000FF4F0C948C1B872D807F172D1F7088232C
+:101EF00011F01295107F002389F0112309F46DC1B0
+:101F000080E28C0D883020F4812F0E94631703C07B
+:101F1000812F0E9473170E94AA175FC18C2D0E9407
+:101F2000060F112309F472C180E28C0D883020F471
+:101F3000812F0E94691703C0812F0E9479170E9488
+:101F4000AA1764C1872D807F972D9F70803211F46E
+:101F5000892F03C0892F8295807FCC2021F0F1E06A
+:101F6000CF16A1F01DC0002339F0112319F1113053
+:101F700009F50E9493174AC1112319F0113009F491
+:101F800045C189830E9496178981E5C0002321F00D
+:101F9000163008F03BC10EC0153008F037C1DBC069
+:101FA000002359F0112331F0F701958190FF15C1FD
+:101FB0009F7095830E942E0F29C1112309F4CBC075
+:101FC00012C1872D837009F052C001111FC18C2DE1
+:101FD000829586958770880F880F9C2D9F70892E1B
+:101FE000912CA12CB12C082E04C0880C991CAA1C81
+:101FF000BB1C0A94D2F7C4FE14C00FE010E020E02E
+:1020000030E0B901A80104C0440F551F661F771FB7
+:102010008A95D2F7CB01BA0160957095809590951D
+:1020200003C060E070E0CB01272D26952695237034
+:1020300030E02230310569F02330310589F068291C
+:1020400079298A299B292130310571F00E944B158D
+:10205000DDC0682979298A299B290E946715D6C085
+:102060000E944B15C501B4010E942F15CFC000235B
+:1020700019F0872D817001C08695882309F4C6C0A8
+:102080008C2D829586958770880F880F9C2D9F7068
+:10209000892E912CA12CB12C082E04C0880C991CDF
+:1020A000AA1CBB1C0A94D2F7C4FE14C00FE010E0B7
+:1020B00020E030E0B901A80104C0440F551F661F9D
+:1020C000771F8A95D2F7CB01BA01609570958095FC
+:1020D000909503C060E070E0CB01272D26952695F2
+:1020E0002370422F50E04230510569F043305105D2
+:1020F00089F0682979298A299B294130510571F095
+:102100000E94251683C0682979298A299B290E9463
+:1021100041167CC00E942516C501B4010E94091613
+:1021200075C08C2D90E0FC01E05EF109E531F10510
+:1021300008F04FC0E059FF4F0C948C1B1C2D1F70F2
+:10214000872D8F71002321F00E94A215812F32CF9D
+:102150000E94C315812F0E94350F58C0002341F003
+:10216000153008F053C0872D8F710E94E8154EC0BE
+:10217000163008F04BC0F7CF002339F0872D8F7150
+:102180000E94A21543C00023C9F3872D8F710E94BE
+:10219000C3153CC0002329F0872D8F710E948D1537
+:1021A00035C00E94831532C0002351F0172D1F71D6
+:1021B000812F0E94A21563E0812F0E94B61626C0CF
+:1021C00081E00E94BF16123008F182E00E94BF1623
+:1021D0001DC0002331F0112389F28C2D0E94670E5F
+:1021E00015C0112391F28C2D0E94060F0FC0472DB0
+:1021F0004F706C2DC7010E949D010E94A71406C05C
+:10220000472D4F706C2DC7010E949C01DD20F9F015
+:102210000E94B21680FD1BC0F70112820E94AC160C
+:102220000E94A215C7010E9436110E94AC160F90A1
+:10223000DF91CF911F910F91FF90EF90DF90CF90A2
+:10224000BF90AF909F908F907F900C94C3150F908C
+:10225000DF91CF911F910F91FF90EF90DF90CF9082
+:10226000BF90AF909F908F907F9008950F931F9392
+:10227000CF93DF93EC01888199812B813C81232BC3
+:10228000B9F09F3F11F48F3F99F0CE010E941602E2
+:10229000882371F0688179818A810E94A8168C0157
+:1022A0000E945D160E942415B801CE010E943C0FC9
+:1022B000DF91CF911F910F9108950E9480170E9486
+:1022C00090170E9455170C94AA170E9470170C942F
+:1022D0005D110E949D16292F22952F7030E02C3021
+:1022E00031054CF42A3031056CF42250310922308A
+:1022F0003105A8F407C02C30310569F02F303105C5
+:1023000051F00DC0803F69F018F4803E40F409C0E0
+:10231000843F29F406C093FB882780F9089580E064
+:10232000089581E00895CF93DF9300D000D01F92ED
+:10233000CDB7DEB70F900F900F900F900F90DF91F9
+:10234000CF910895CF93DF9300D000D000D0CDB7C8
+:10235000DEB726960FB6F894DEBF0FBECDBFDF9175
+:10236000CF9108951F93CF93DF93C091590116E049
+:1023700080915A01C81799F0D0E01C9FF0011D9F71
+:10238000F00D1124E55AFE4F408151816281738125
+:10239000848195810E94A2112196C770E9CFDF91B7
+:1023A000CF911F91089540918B0150918C016091C4
+:1023B0008D0170918E0180918F01909190010C940C
+:1023C000A2118091900182958F7009F054C0809184
+:1023D0008D01882309F44FC080915901A0915A01C1
+:1023E00060918B0170918C0140918E0150918F0111
+:1023F000B6E08A1709F43FC090E041155105C1F1DC
+:102400007F3F11F46F3FA1F1B89FF001B99FF00D2C
+:102410001124E55AFE4F218172132AC020816213D4
+:1024200027C02281211124C023813481241735073C
+:1024300010F421503109241B350B283C3105C0F420
+:10244000209190012F7020612093900126E0289F19
+:10245000F001299FF00D1124E05AFE4F80818F700A
+:10246000806180838BE891E00E9436110C94B21158
+:1024700001968770BECF0895CF92DF92EF92FF92C0
+:102480000F931F93CF93DF93CDB7DEB762970FB64D
+:10249000F894DEBF0FBECDBF8C0185E0F801DE01F0
+:1024A0001D9601900D928A95E1F7D8014C911196F5
+:1024B0005C91119712966C9112971396CD90DC90C7
+:1024C000149730918B0170918C0180918E019091C5
+:1024D0008F01009709F46BC17F3F19F43F3F09F466
+:1024E00066C1E0908D01EE2009F4C0C020919001FA
+:1024F000C816D90628F0F601E81BF90BCF0104C075
+:10250000809590958C0D9D1DFF24F394883C91053A
+:1025100078F0F12C207F09F0C6C07C2DD98AC88ABA
+:1025200089890E9493118BE891E00E943611B1C015
+:10253000822F807F09F046C0751314C0341312C077
+:10254000611110C02F702061209390010E94D3115F
+:102550008BE891E00E94361180919001D801159688
+:102560008C932EC0CD2819F15F3F11F44F3FF9F045
+:10257000F62E61111CC08091590120915A0136E05C
+:10258000821709F45AC090E0389FF001399FF00D8E
+:102590001124E55AFE4F7181571306C0708147130D
+:1025A00003C07281711103C001968770E9CFF62EC6
+:1025B000662309F418C18091900181608093900195
+:1025C000F12C11C1751308C0341306C0611104C089
+:1025D00080919001D801C3C04D875E878D859E850F
+:1025E0006A8B0E9469116A898823E1F16623D1F11F
+:1025F00020919001822F82958F7090E0029774F065
+:1026000080918B0190918C0198878F831986DB864E
+:10261000CA862C87CE0107960E94361186E0F80103
+:10262000ABE8B1E001900D928A95E1F70E94E111CB
+:102630000E94D311FF24F394D6C04D875E878D8509
+:102640009E850E949D16292F22952F7030E0223002
+:1026500031050CF0BCC09F7009F0B6C0805E8830B8
+:1026600008F4C1C0C8010E943611E4CFC816D906CB
+:1026700008F453C0F601E81BF90BCF01883C910523
+:1026800008F450C0F12C7C2DD98AC88A89890E940F
+:102690009311EBE8F1E086E0DF011D928A95E9F7FE
+:1026A0000E94D311A0C0751314C0341312C061115D
+:1026B00010C080919001F8018583C8010E943611F5
+:1026C00086E0EBE8F1E0DF011D928A95E9F7FE2C48
+:1026D0008AC04D875E878D859E856A8B0E946911B1
+:1026E0006A89882309F4BECF662309F4BBCF209101
+:1026F0009001822F82958F7090E002970CF48ECF1C
+:1027000080918B0190918C019A8389831B82DD8259
+:10271000CC822E83CE0101967FCF809590958C0D33
+:102720009D1DACCFF62E662309F49CCF75132EC0E9
+:1027300034132CC02091900120FD1FC0822F829560
+:102740008F70D9F0D80115962C9315978F3049F0DA
+:102750008F5F982F9295907F822F8F70892B15967F
+:102760008C93C8010E94361186E0F801ABE8B1E015
+:1027700001900D928A95E1F793CF86E0F801ABE8DE
+:10278000B1E001900D928A95E1F72DC04D875E87EB
+:102790008D859E850E946911811140CF80919001A5
+:1027A000816080939001C8010E9436111CC066238D
+:1027B00009F458CF4D875E878D859E850E946911EB
+:1027C000882309F44FCF2ACF811148CF0CC0243081
+:1027D00031050CF047CF9F7009F440CFF801958187
+:1027E000907F09F03BCF8F2D62960FB6F894DEBF35
+:1027F0000FBECDBFDF91CF911F910F91FF90EF9052
+:10280000DF90CF9008951F93CF93DF93CDB7DEB7BE
+:102810002C970FB6F894DEBF0FBECDBF4F835887FD
+:1028200069877A878B879C87CE0107960E943C1226
+:10283000882369F08F8198852A853B85232BF1F1C8
+:102840009F3F09F063C08F3F09F060C037C086E04A
+:10285000FE013796DE01119601900D928A95E1F7FF
+:102860006F817885EA85FB85309741F17F3F11F4D0
+:102870006F3F21F120915A0130E0C9010196877024
+:1028800099274091590150E08417950709F447C0F2
+:1028900069837A83FD83EC8396E0929FD001939FB6
+:1028A000B00D1124A55ABE4FFE01319601900D9234
+:1028B0009A95E1F780935A010E94B21116E0809137
+:1028C000590190915A018917C1F1189FC001112433
+:1028D000855A9E4F0E943C12882379F1E09159015C
+:1028E0001E9FF0011124E55AFE4F40815181628103
+:1028F0007381848195810E94A2118091590190E099
+:1029000001968770992780935901D9CF4F815885B7
+:1029100069857A858B859C850E94A211CFCF0E9404
+:10292000651110925A0110925901EBE8F1E086E02E
+:10293000DF011D928A95E9F7C1CF2C960FB6F89466
+:10294000DEBF0FBECDBFDF91CF911F910895EF92F3
+:10295000FF920F931F93CF93DF938C01009709F49D
+:102960006CC0F12CEE24E394E8012196F8018491E7
+:10297000843740F4843008F051C0813081F08230D7
+:1029800019F15BC0853709F444C0A8F19CE7980FA2
+:10299000903708F052C08F770E94060F41C00E5F3B
+:1029A0001F4FFE01C49180E28C0F883048F4C7703D
+:1029B0008E2D01C0880FCA95EAF70E94831714C0B4
+:1029C0008C2F0E94670E2DC00E5F1F4FFE01C49119
+:1029D00080E28C0F883058F4C7708E2D01C0880FAC
+:1029E000CA95EAF70E9489170E94AA171AC08C2F6D
+:1029F0000E94060F16C00E5F1F4FFE01C491CC232C
+:102A000081F08FE99FE00197F1F700C00000C1500D
+:102A1000F6CF0E5F1F4FFE01F49003C00E94670EB9
+:102A20008E018F2D882309F49FCFEFE9FFE03197C6
+:102A3000F1F700C000008150F5CFDF91CF911F91D9
+:102A40000F91FF90EF900895089560939501709312
+:102A5000960180939701909398010C945D110F93C8
+:102A60001F9300919501109196012091970130914B
+:102A70009801DC01CB01802B912BA22BB32B8093EF
+:102A8000950190939601A0939701B09398011F919F
+:102A90000F910C945D110F931F930091950110916C
+:102AA00096012091970130919801DC01CB018023A0
+:102AB0009123A223B3238093950190939601A09331
+:102AC0009701B09398011F910F910C945D110F9392
+:102AD0001F930091950110919601209197013091DB
+:102AE0009801DC01CB0180279127A227B32780938F
+:102AF000950190939601A0939701B09398011F912F
+:102B00000F910C945D11109291011092920110920C
+:102B10009301109294010C945D1141E050E060E04B
+:102B200070E004C0440F551F661F771F8A95D2F7C7
+:102B3000409391015093920160939301709394019B
+:102B40000C945D1141E050E060E070E004C0440F7F
+:102B5000551F661F771F8A95D2F78091910190913A
+:102B60009201A0919301B0919401482B592B6A2BAB
+:102B70007B2B40939101509392016093930170934A
+:102B800094010C945D1141E050E060E070E004C0FD
+:102B9000440F551F661F771F8A95D2F740955095B1
+:102BA000609570958091910190919201A09193010F
+:102BB000B0919401482359236A237B2340939101C8
+:102BC0005093920160939301709394010C945D1162
+:102BD00041E050E060E070E004C0440F551F661F04
+:102BE000771F8A95D2F78091910190919201A091DF
+:102BF0009301B0919401482759276A277B27409376
+:102C000091015093920160939301709394010C94FD
+:102C10005D110F931F9300919101109192012091EA
+:102C2000930130919401DC01CB01802B912BA22BDD
+:102C3000B32B8093910190939201A0939301B09351
+:102C400094011F910F910C945D110F931F930091AC
+:102C50009101109192012091930130919401DC0136
+:102C6000CB0180239123A223B323809391019093DE
+:102C70009201A0939301B09394011F910F910C9432
+:102C80005D110F931F93009191011091920120917A
+:102C9000930130919401DC01CB0180279127A22779
+:102CA000B3278093910190939201A0939301B093E5
+:102CB00094011F910F910C945D110895CF92DF92B2
+:102CC000EF92FF920F931F93CF93DF938C01C090ED
+:102CD0009501D0909601E0909701F0909801809135
+:102CE000910190919201A0919301B0919401C82A11
+:102CF000D92AEA2AFB2ACFE1D0E0D701C6010C2E5F
+:102D000004C0B695A795979587950A94D2F780FF4A
+:102D100006C0B8018C2F0E941705019721F4219756
+:102D200060F780E001C08C2FDF91CF911F910F9150
+:102D3000FF90EF90DF90CF900895CF93DF93EC0159
+:102D40000E945E16BE010E941705DF91CF91089583
+:102D5000CB010E949D1608958091990185958595D6
+:102D600085950895809199018770089598E0899FCD
+:102D700090011124262B209399010C94A2152091E7
+:102D800099018095822380939901982F977069F417
+:102D900030E0482F552747FD50952417350729F077
+:102DA0008595859585950C94C31508959091990105
+:102DB000977081E009F480E0089590910B019923C8
+:102DC00021F090910C01911109C020910D013091D9
+:102DD0000E01F90132969FEF40E01FC0982F9695A3
+:102DE000969596959F3050F5E0910D01F0910E016A
+:102DF000E90FF11D877021E030E0A90102C0440F06
+:102E0000551F8A95E2F7CA019181892B8183089524
+:102E10009F3F39F04F5F4E3041F051915813F8CF3A
+:102E20000DC05111F7CF942FF5CF9F3F39F0F90125
+:102E3000E90FF11D97FDFA95828308950895909109
+:102E40000B01992321F090910C01911109C020915F
+:102E50000D0130910E01F9013296205F3F4F1FC0E6
+:102E6000982F9695969596959F30F0F4E0910D01E8
+:102E7000F0910E01E90FF11D877021E030E0A9010A
+:102E800002C0440F551F8A95E2F7CA0180959181CF
+:102E90008923818308953196E217F30729F0908101
+:102EA0009813F9CF1082F7CF089581E090E0E09178
+:102EB0000D01F0910E01E80FF91F1082019680318B
+:102EC0009105A9F708959091AD01892B8093AD01EB
+:102ED000089580959091AD0189238093AD01089567
+:102EE0001092AD0108959091AC01892B8093AC01B3
+:102EF000089580959091AC0189238093AC01089549
+:102F00001092AC0108959091AB01892B8093AB0195
+:102F1000089580959091AB0189238093AB0108952A
+:102F20001092AB01089580939A01089510929A012E
+:102F3000089580910D0190910E01FC0131969C0144
+:102F4000205F3F4F80E0919191118F5FE217F3076F
+:102F5000D1F70895E0910D01F0910E018091AD013E
+:102F60008083E0910D01F0910E0190818091AC0180
+:102F7000892B8083E0910D01F0910E019081809169
+:102F8000AB01892B808380919A01882361F0E091C5
+:102F90000D01F0910E019081892B80830E94991779
+:102FA000811110929A0180910D0190910E010C9463
+:102FB000450D20E0009739F0AC01415051098423C0
+:102FC00095232F5FF7CF822F08958091B901843028
+:102FD00021F11092AF0120E488E190E00FB6F8945F
+:102FE000A895809360000FBE2093600080E00E944F
+:102FF000B10583B7817F846083BF83B7816083BF5E
+:103000007894889583B78E7F83BF88E10FB6F89454
+:1030100080936000109260000FBE08950895089597
+:103020000E940E180E94F5050E940F180E945C066F
+:1030300091E0811101C090E0892F08950E946511EF
+:103040000E94390D0C94B1051F920F920FB60F928A
+:1030500011248F939F93AF93BF938091AF01811100
+:1030600013C08091B0019091B101A091B201B091D3
+:10307000B3014196A11DB11D8093B0019093B101A0
+:10308000A093B201B093B301BF91AF919F918F9183
+:103090000F900FBE0F901F90189582E084BD93E0B3
+:1030A00095BD9AEF97BD80936E0008952FB7F89461
+:1030B0008091B0019091B101A091B201B091B301A2
+:1030C0002FBF0895CF92DF92EF92FF920F931F933D
+:1030D0002FB7F8944091B0015091B1016091B201C5
+:1030E0007091B3012FBF6A017B01EE24FF248C0194
+:1030F00020E030E0C016D106E206F30610F441509D
+:1031000051099A01281B390BC9011F910F91FF909A
+:10311000EF90DF90CF9008951F920F920FB60F920D
+:1031200011248F939F93AF93BF938091B00190919F
+:10313000B101A091B201B091B3010196A11DB11DE1
+:103140008093B0019093B101A093B201B093B30109
+:10315000BF91AF919F918F910F900FBE0F901F90D5
+:1031600018950E94360AF8942FEF87EA91E62150CD
+:1031700080409040E1F700C0000087E090EBDC0168
+:103180008093C3019093C401A093C501B093C6017D
+:103190009CE088E10FB6F894A895809360000FBE7C
+:1031A00090936000FFCFBF92CF92DF92EF92FF9299
+:1031B0000F931F93CF93DF93B82E11E0EE24E39487
+:1031C000F12C012F812F0E943C066C01CAE0D0E057
+:1031D00097010C2E02C0220F331F0A94E2F72C2114
+:1031E0003D21232B49F06C2F712F80E00E94C202F9
+:1031F000B81202C081E006C0219750F710E001111B
+:10320000E0CF80E0DF91CF911F910F91FF90EF9081
+:10321000DF90CF90BF900895CF93C82F8CE20E948B
+:10322000D318882321F08C2FCF910C94D31880E0F1
+:10323000CF910895CF930E94611A811102C00E941C
+:10324000471AC5E6C15049F00E94F5058FE39CE995
+:103250000197F1F700C00000F5CF89E20E940C1938
+:10326000811113C18AE20E940C1981110E94471A30
+:1032700085E00E940C1981110E94B1180E946C1AFD
+:103280008093AE0187E00E940C198823A9F18BE19D
+:103290000E940C19882351F08091AE0181FB2227F6
+:1032A00020F991E0922790FB81F90EC08EE00E94F8
+:1032B0000C19882361F08091AE0182FB222720F94E
+:1032C00091E0922790FB82F98093AE0115C080E1D6
+:1032D0000E940C199091AE01882341F093FB2227A4
+:1032E00020F981E0822780FB93F904C0892F809523
+:1032F00080FB90F99093AE018091AE010E94701A0C
+:103300000E947E1A8093C20180EE0E940C198823CD
+:1033100041F08091C201982F909590FB80F98093A5
+:10332000C20189E30E940C19882359F08091C201DF
+:1033300081FB222720F991E0922790FB81F980936D
+:10334000C20182EE0E940C19882359F08091C201BB
+:1033500082FB222720F991E0922790FB82F980934B
+:10336000C20186EE0E940C19882359F08091C20197
+:1033700083FB222720F991E0922790FB83F9809329
+:10338000C20183EE0E940C19882359F08091C2017A
+:1033900084FB222720F991E0922790FB84F9809307
+:1033A000C20185E30E940C19882359F08091C20163
+:1033B00085FB222720F991E0922790FB85F98093E5
+:1033C000C20181E30E940C19882359F08091C20147
+:1033D00086FB222720F991E0922790FB86F98093C3
+:1033E000C20181E10E940C19882359F08091C20129
+:1033F00087FB222720F991E0922790FB87F98093A1
+:10340000C2018091C2010E94821A8091C20187FB91
+:10341000882780F980930C0187E20E940C19C82F3D
+:103420008EE10E940C198111C2608FE10E940C197B
+:103430008111C46080E20E940C198111C86081E290
+:103440000E940C198111C06182E20E940C19811145
+:10345000C06283E20E940C198111C06484E20E9460
+:103460000C19882311F0C06802C0CC2329F08C2FDE
+:103470000E94791A6C2F03C00E94751A682F70E0A1
+:1034800080E090E0CF910C942515CF9108956DEEDA
+:103490007EEF80E090E00E94B21B60E082E090E06E
+:1034A0000E94A01B60E083E090E00E94A01B60E00F
+:1034B00084E090E00E94A01B60E085E090E00C9426
+:1034C000A01B80E090E00E949A1B21E08D3E9E4F61
+:1034D00009F020E0822F089582E090E00C94921B86
+:1034E000682F82E090E00C94A01B83E090E00C94A5
+:1034F000921B682F83E090E00C94A01B84E090E086
+:103500000C94921B682F84E090E00C94A01B0F9306
+:103510001F938B3109F475C0A0F58E3009F484C077
+:10352000C0F4873009F45BC068F4863009F0AAC0A3
+:103530008091AE01817F8E7F8093AE0181E0809388
+:10354000B401A1C0883009F496C08B3009F493C04F
+:1035500099C0813109F472C068F4803109F092C0D9
+:103560008091AE0183FB222720F991E0922790FB06
+:1035700083F950C0863109F47EC0893109F47BC0DB
+:1035800081C0853309F479C068F4873209F475C0C5
+:1035900028F48E3108F476C08D515AC0893209F46E
+:1035A0006CC070C0833438F48A3308F050C088335C
+:1035B00009F461C067C0833409F45FC0883409F03E
+:1035C00061C00E9465110FEF13ED20E30150104020
+:1035D0002040E1F700C000000E94B1184CC090915B
+:1035E000AE01892F8095817080FB90F929F096605B
+:1035F00098609093AE0147C0997F977F9093AE01FA
+:103600003AC08091AE0181FB222720F991E09227F8
+:1036100090FB81F98093AE01992369F18091AE010D
+:1036200081608093AE0127C08091AE0182FB22278A
+:1036300020F991E0922790FB82F9ECCF0E9465116E
+:1036400090910C0181E0892780930C0114C089536B
+:1036500041E050E060E070E08A019B0104C0000F8F
+:10366000111F221F331F8A95D2F7C901B8010E948A
+:1036700025150E94651181E006C061E070E080E0E0
+:1036800090E0F5CF80E01F910F91089580E00895BC
+:1036900080E00895CF93C82F8091B401882319F05A
+:1036A000813049F031C0E0910D01F0910E0180812F
+:1036B000823261F507C0E0910D01F0910E01808129
+:1036C000823261F48C2F0E94461B811104C08C2F22
+:1036D0000E94871A17C081E090E014C08C2F0E94CE
+:1036E000481B81110EC0C43149F018F4CB3049F0A9
+:1036F0000FC0C93219F0C83321F00AC01092B401CA
+:1037000007C081E0817006C01092B40180E002C061
+:1037100080E0F8CFCF910895EE0FFF1F0590F49150
+:10372000E02D0994F999FECF92BD81BDF89A9927B1
+:1037300080B50895A8E1B0E042E050E00C94BA1BD7
+:10374000262FF999FECF92BD81BDF89A019700B45A
+:10375000021639F01FBA20BD0FB6F894FA9AF99AFA
+:103760000FBE08950196272F0E94A11B0C94A01B49
+:10377000DC01CB01FC01F999FECF06C0F2BDE1BD31
+:10378000F89A319600B40D9241505040B8F7089520
+:04379000F894FFCFDB
+:10379400FF6B06D7066E06A3066F0601019B010F99
+:0A37A4001F4F5F6F7F6353437949A5
+:00000001FF
diff --git a/keyboards/arrow_pad/keymaps/pad_21/config.h b/keyboards/arrow_pad/keymaps/pad_21/config.h
new file mode 100644
index 0000000000..a095e87374
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_21/config.h
@@ -0,0 +1,158 @@
+/*
+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 0x4097
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Nobody
+#define PRODUCT Arrow Pad 21
+#define DESCRIPTION 21-Key QMK Assistant
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 11
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { D3, D5 }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* 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/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/arrow_pad/keymaps/pad_21/keymap.c
new file mode 100644
index 0000000000..28917a5d9e
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_21/keymap.c
@@ -0,0 +1,160 @@
+// 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 "arrow_pad.h"
+#include "led.h"
+
+// This is the 21-key keypad to 2x11 element matrix mapping
+#define KEYMAP( \
+ KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
+ KM_NUM, KM_FSL, KM_AST, KM_MIN, \
+ KM___7, KM___8, KM___9, ___PLS, \
+ KM___4, KM___5, KM___6, KM_PLS, \
+ KM___1, KM___2, KM___3, ___ENT, \
+ KM___0, _____0, KM_DOT, KM_ENT \
+) { \
+ { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
+ { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO, KM___0, KM_DOT, }, \
+}
+
+
+#define LAYER_BASE 0
+#define LAYER_EDIT 1
+#define LAYER_FUNCTION 2
+
+#define MACRO_COPY_CUT 0
+#define MACRO_SHIFT_CONTROL 1
+#define MACRO_CONTROL_ALT 2
+
+#define M_COPY KC_FN5
+#define M_SHFCT KC_FN6
+#define M_CTALT KC_FN7
+
+#define SC_UNDO LCTL(KC_Z)
+#define SC_REDO LCTL(KC_Y)
+#define SC_CUT LCTL(KC_X)
+#define SC_COPY LCTL(KC_C)
+#define SC_PSTE LCTL(KC_V)
+#define SC_SELA LCTL(KC_A)
+#define SC_SAVE LCTL(KC_S)
+#define SC_OPEN LCTL(KC_O)
+#define SC_ACLS LALT(KC_F4)
+#define SC_CCLS LCTL(KC_F4)
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[LAYER_BASE] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_BSLS, KC_FN0, \
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
+ KC_P7, KC_P8, KC_P9, XXXXXXX, \
+ KC_P4, KC_P5, KC_P6, KC_PPLS, \
+ KC_P1, KC_P2, KC_P3, XXXXXXX, \
+ KC_P0, XXXXXXX, KC_PDOT, KC_PENT ),
+
+[LAYER_EDIT] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_SPC, _______, \
+ KC_FN1, SC_PSTE, SC_REDO, SC_UNDO, \
+ KC_HOME, KC_UP, KC_PGUP, XXXXXXX, \
+ KC_LEFT, M_COPY, KC_RGHT, M_CTALT, \
+ KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \
+ KC_BSPC, XXXXXXX, KC_DEL, M_SHFCT),
+
+[LAYER_FUNCTION] = KEYMAP( \
+ KC_FN2, KC_FN3, KC_FN4, _______, \
+ KC_FN1, _______, _______, _______, \
+ _______, _______, _______, XXXXXXX, \
+ _______, _______, _______, _______, \
+ _______, _______, _______, XXXXXXX, \
+ RESET, XXXXXXX, _______, _______ ),
+
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(LAYER_FUNCTION),
+ [1] = ACTION_LAYER_TOGGLE(LAYER_EDIT),
+ [2] = ACTION_BACKLIGHT_TOGGLE(),
+ [3] = ACTION_BACKLIGHT_INCREASE(),
+ [4] = ACTION_BACKLIGHT_DECREASE(),
+ [5] = ACTION_MACRO_TAP(MACRO_COPY_CUT),
+ [6] = ACTION_MACRO_TAP(MACRO_SHIFT_CONTROL),
+ [7] = ACTION_MACRO_TAP(MACRO_CONTROL_ALT),
+
+};
+
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+}
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch (id) {
+
+ case MACRO_COPY_CUT:
+ if (record->event.pressed) {
+ register_code(KC_LCTL);
+ if (record->tap.count == 1) {
+ register_code(KC_C);
+ unregister_code(KC_C);
+ }
+ else if (record->tap.count == 2) {
+ register_code(KC_X);
+ unregister_code(KC_X);
+ }
+ unregister_code(KC_LCTL);
+ }
+ break;
+
+ case MACRO_SHIFT_CONTROL:
+ if (record->event.pressed) {
+ if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
+ if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count == 3) register_code(KC_PENT);;
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
+ unregister_code(KC_PENT);
+ }
+ break;
+
+ case MACRO_CONTROL_ALT:
+ if (record->event.pressed) {
+ if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+}
+
+void led_set_user(uint8_t usb_led)
+{
+ if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+ // output high
+ DDRD |= (1<<6);
+ PORTD |= (1<<6);
+ } else {
+ // Hi-Z
+ DDRD &= ~(1<<6);
+ PORTD &= ~(1<<6);
+ }
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) {
+ // output low
+ DDRC |= (1<<7);
+ PORTC |= ~(1<<7);
+ } else {
+ // Hi-Z
+ DDRC &= ~(1<<7);
+ PORTC &= ~(1<<7);
+ }
+} \ No newline at end of file
diff --git a/keyboards/arrow_pad/keymaps/pad_24/Makefile b/keyboards/arrow_pad/keymaps/pad_24/Makefile
new file mode 100644
index 0000000000..e31bfe1af2
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_24/Makefile
@@ -0,0 +1,17 @@
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # 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 = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/arrow_pad/keymaps/pad_24/compiled.hex b/keyboards/arrow_pad/keymaps/pad_24/compiled.hex
new file mode 100644
index 0000000000..77c385adca
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_24/compiled.hex
@@ -0,0 +1,935 @@
+:100000000C9450010C9494010C9494010C94940160
+:100010000C9494010C9494010C9494010C9494010C
+:100020000C9494010C9494010C94580B0C942A0C8D
+:100030000C94DC180C9494010C9494010C9494018D
+:100040000C9494010C9494010C9494010C949401DC
+:100050000C9494010C9444190C9494010C94940104
+:100060000C9494010C9494010C9494010C949401BC
+:100070000C9494010C9494010C9494010C949401AC
+:100080000C9494010C9494010C9494010C9494019C
+:100090000C9494010C9494010C9494010C9494018C
+:1000A0000C9494010C9494010C949401970CB90C49
+:1000B000A70DB90CA70DFE0C210DA70D760D890D0E
+:1000C000FA0FFA0F29102910B311B311B311B3119C
+:1000D0006810B311181118117F118811B311AD11E7
+:1000E0002511251125112511251125112511251160
+:1000F0002511251125112511251125112511251150
+:10010000351143114A1151115B11F1A2028A00D23B
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C00053005400550056005F00600061009D
+:1001300067005C005D005E00570059005A005B00DC
+:100140000000620000006300580029002B002C0012
+:100150000100C10019011C011D014A0052004B00A1
+:10016000E2005000C5004F00E0004D0051004E007D
+:1001700000002A0000004C00C600C200C300C400FA
+:100180000100C100010001000100010001000100A7
+:100190000100010001000100010001000100010057
+:1001A000000000500000010001001A03410072002D
+:1001B00072006F0077002000500061006400200092
+:1001C0003200340000000E034E006F0062006F002A
+:1001D0006400790000000403090409023B000201E5
+:1001E00000A0FA0904000001030101000921110126
+:1001F0000001223F000705810308000A09040100ED
+:100200000103000000092111010001223900070546
+:1002100082031000011201100100000008EDFE969B
+:100220004001000102000105010906A101050719AD
+:10023000E029E715002501950875018102050819D7
+:100240000129059505750191029501750391010537
+:10025000071900297715002501957875018102C0DD
+:1002600005010906A101050719E029E71500250187
+:10027000950875018102950175088101050819012C
+:1002800029059505750191029501750391010507F1
+:10029000190029FF150025FF950675088100C0008B
+:1002A00011241FBECFEFDAE0DEBFCDBF04B603FEE0
+:1002B00024C08091B8019091B901A091BA01B09188
+:1002C000BB018730904BA740B04BB9F41092B801F6
+:1002D0001092B9011092BA011092BB0114BE84B7FA
+:1002E000877F84BF88E10FB6F894809360001092F6
+:1002F00060000FBEE0E0FFE3099511E0A0E0B1E08F
+:10030000E8E3FAE302C005900D92AA31B107D9F7EC
+:1003100011E0AAE1B1E001C01D92A83BB107E1F7ED
+:100320000E949F080C941A1D0C94000008950895D3
+:1003300081E008950C9497010C9498010C94450267
+:10034000279A2F988FEF9FEF9093870080938600D6
+:100350008AE08093800089E1809381000C94471C9F
+:100360000E94A0010C949601282F81110BC080914E
+:100370008000877F8093800010928D0010928C0007
+:100380002F9808952F988091800088608093800036
+:10039000233019F48FEF9FEF0FC083E090E0821BB2
+:1003A0009109880F991F2FEF3FEFA90102C05695C1
+:1003B00047958A95E2F7CA0190938D0080938C004F
+:1003C00008950895CF93DF93EC016130F1F018F0B8
+:1003D0006230E9F155C08A81882309F451C080EE6A
+:1003E0000E94EE0E8D81807F803129F486E00E948C
+:1003F000EE0E86E006C0803231F48BE10E94EE0EF4
+:100400008BE10E948D0F80EE1FC08A818823C1F08E
+:100410008D8182958F7090E003971CF482E00E949A
+:10042000B50F8D81807F803219F481E00E94B50F75
+:100430008D81807F803321F588E50E94EE0E20C0FB
+:1004400083E00E94BC0F88E50E948D0F19C08A814D
+:10045000882399F08D8182958F7090E002971CF42B
+:1004600081E00E94B50F8D8182958F7090E0029798
+:100470003CF084E00E94B50F03C085E00E94BC0FF1
+:1004800080E090E0DF91CF91089581FF03C0569AFC
+:100490005E9A02C056985E9880FF05C03F9A88B168
+:1004A0008F6788B908953F984798089581E0089527
+:1004B0000C94560208950F931F93CF93DF938C01F2
+:1004C000FC01C081D181CE010E940B17BE010E94A8
+:1004D0000703EC01B8010E945802882309F48DC07B
+:1004E000F8018281882309F44AC080912501811195
+:1004F0001FC0C431F0E5DF0709F051C00E945A0265
+:1005000081E0809325010E940E199093240180932D
+:10051000230110921C0110921E0110921D011092D5
+:10052000200110921F01109222011092210165C03A
+:1005300080912301909124010E941A19883C910511
+:1005400070F480911C01E82FF0E0EE0FFF1FE35ED6
+:10055000FE4FD183C0838F5F80931C014EC0C4388F
+:1005600080E5D80721F0C538D04501F13AC0F8013F
+:100570008281882341F010921A0182E01EC0C438A3
+:10058000E0E5DE0759F580911A01811106C086E287
+:100590000E94EE0E86E20E948D0F82E01CC0C438DD
+:1005A000F0E5DF0741F3C538D045D9F4F801828181
+:1005B000882331F010921B0180E20E94B50F1DC00C
+:1005C00080911B01811106C087E20E94EE0E87E236
+:1005D0000E948D0F80E20E94BC0F0FC0C538D0452D
+:1005E00029F381E080931A0180931B01C801DF91F8
+:1005F000CF911F910F910C949C0180E0DF91CF91DE
+:100600001F910F9108950C94B0010C949A01E72F5B
+:10061000F0E096E0899FE00DF11D1124EE0FFF1F21
+:10062000EE0FFF1FE60FF11DEE0FFF1FE65EFE4F00
+:10063000859194910895880F991FFC01E657F04029
+:10064000859194910895880F991FFC01E65FFE4FF4
+:100650008591949108950F931F93CF93DF93EC01AD
+:10066000811521E39207A0F5C11580E3D80708F0B2
+:10067000D7C0C83ED105D8F4C03ED10508F003C2AA
+:10068000C83AD10578F4C53AD10508F06AC0C1303E
+:10069000D10509F463C008F4F3C1C430D10508F0F2
+:1006A000F2C1EEC1CB3BD10508F466C0E9C1C1156A
+:1006B00090E2D90708F0AFC0C11521E0D20708F0D9
+:1006C000E2C1C03FD10508F4DBC18E0110651BC239
+:1006D000C03880E5D80700F5C03790E5D90708F0A5
+:1006E000A3C0C11520E5D20709F4ACC050F4CE0177
+:1006F000905480319F4008F0C3C1DF708E01106AB2
+:1007000002C2C13080E5D80709F4AAC0C43190E51F
+:10071000D90708F4ABC0B4C1C33820E5D20709F447
+:100720008EC050F4C13890E5D90709F482C008F0B2
+:1007300083C000E011EDE7C1C03181E5D80708F4BE
+:100740009FC1C11597E5D90708F432C1CE01905772
+:100750008115904108F094C1DF708FC101E010E075
+:10076000D2C1C53AD10509F490C1C63AD10509F004
+:100770008FC102E810E4C7C1C83AD10509F48BC1A2
+:10078000C93AD10509F48AC1CA3AD10509F489C127
+:10079000CB3AD10509F488C1CC3AD10509F487C117
+:1007A000CD3AD10509F486C1C03BD10509F485C114
+:1007B000CE3AD10509F484C1CF3AD10509F483C1F9
+:1007C000C13BD10509F482C1C23BD10509F481C105
+:1007D000C33BD10509F480C1C43BD10509F47FC1F5
+:1007E000C53BD10509F47EC1C63BD10509F47DC1E5
+:1007F000C73BD10509F47CC1C83BD10509F47BC1D5
+:10080000C93BD10509F47AC1CA3BD10509F479C1C4
+:1008100000E014E478C1CE019F700E94230374C1EC
+:10082000DD278E01106C6FC1CF70DD278E01146D36
+:100830006AC100E010ED67C100E012ED64C100E0A4
+:1008400013ED61C10E9412128FEF94E32CE08150EE
+:1008500090402040E1F700C000000E94691953C198
+:100860008091A20181608093A2014DC10E94131B5F
+:10087000811102C00E94F41A0E94301B90E09093F4
+:10088000B7018093B601C23080E5D80721F480918A
+:10089000B601816086C0C43090E5D90721F480910B
+:1008A000B60182607EC0C63020E5D20721F4809177
+:1008B000B601846076C0C83080E5D80719F480910D
+:1008C000B60127C0CA3090E5D90721F48091B6015E
+:1008D000806167C0CC3020E5D20721F48091B60159
+:1008E00080625FC0CE3080E5D80721F48091B601E8
+:1008F000806457C0C03190E5D90721F48091B601DA
+:1009000080684FC0C23120E5D20729F48091B6013A
+:100910008460886046C0C33080E5D80721F48091A8
+:10092000B6018E7F3EC0C53090E5D90721F4809195
+:10093000B6018D7F36C0C73020E5D20721F4809103
+:10094000B6018B7F2EC0C93080E5D80719F480919D
+:10095000B60126C0CB3090E5D90721F48091B601CD
+:100960008F7E1FC0CD3020E5D20721F48091B601E3
+:100970008F7D17C0CF3080E5D80721F48091B60174
+:100980008F7B0FC0C13190E5D90721F48091B6016A
+:100990008F7707C0C331D04531F48091B6018B7F8A
+:1009A000877F8093B6018091B6010E94341BABC053
+:1009B0008D2F99278F70992781309105D9F49E0149
+:1009C0002370332702C0880F991F2A95E2F79C688D
+:1009D0008E0144E0000F111F4A95E1F700271370C4
+:1009E000802B912B53E0CC0FDD1F5A95E1F7C07699
+:1009F000DD272FC08230910531F4DC2FCC278E010A
+:100A0000016F106A80C08330910569F4CE01837054
+:100A1000992701E010E002C0000F111F8A95E2F74C
+:100A2000C8019C680FC084309105B9F4CE01837071
+:100A3000992701E010E002C0000F111F8A95E2F72C
+:100A4000C8019A6823E0CC0FDD1F2A95E1F7C07E2C
+:100A5000D7708C010C2B1D2B56C08530910531F4BD
+:100A6000DC2FCC278E01046F106A4DC0069709F069
+:100A70004AC0CF71DD27DC2FCC278E01106243C026
+:100A800000E010E040C08E013EC001E810E43BC031
+:100A900003E810E438C002EE14E435C009EE14E4B3
+:100AA00032C00AEE14E42FC005EB14E42CC006EBB0
+:100AB00014E429C007EB14E426C00CEC14E423C0B2
+:100AC0000DEC14E420C003E815E41DC00AE815E4A9
+:100AD0001AC002E915E417C004E915E414C001E2E4
+:100AE00016E411C003E216E40EC004E216E40BC0E3
+:100AF00005E216E408C006E216E405C007E216E4C3
+:100B000002C00AE216E4C801DF91CF911F910F9154
+:100B10000895E72FF0E096E0899FE00DF11D112484
+:100B2000EE0FFF1FEE0FFF1FE60FF11DEE0FFF1F71
+:100B3000E65EFE4F85919491803E9105E0F4803C05
+:100B4000910558F58133910509F46FC048F4893255
+:100B5000910509F463C08A32910509F46DC072C031
+:100B600089339105E9F082389105D1F085339105FB
+:100B700009F44DC067C0833E910581F138F4803E91
+:100B80009105B9F0823E9105D9F05CC0863E910591
+:100B900061F1873E9105A1F155C00E941B030895A4
+:100BA0002091B60120FD02C021FF4CC080EE90E0F4
+:100BB00049C08091B60180FFF9CF89E390E042C03F
+:100BC0008091B60182FF0EC08091B60184FF03C000
+:100BD00080E090E037C083EE90E034C08091B601B1
+:100BE00082FFF2CF82EE90E02DC08091B60183FFAC
+:100BF0000BC08091B60184FDEBCF87EE90E022C060
+:100C00008091B60183FFF5CF86EE90E01BC0809106
+:100C1000B60185FF07C089E290E014C08091B6015B
+:100C200085FFF9CF85E390E00DC08091B60186FF86
+:100C300007C08AE290E006C08091B60186FFF9CF36
+:100C400081E390E00E942B0308950C949E01E82F0D
+:100C5000F0E0E15FFE4F8081E82FEF70F0E08295D9
+:100C60008F7021E030E0A90102C0440F551F8A9522
+:100C7000E2F740A308950F931F93CF93DF9385B7B7
+:100C8000806885BF85B7806885BFC3E0D0E001E09C
+:100C900010E0FE01E15FFE4F8081E82FEF70F0E091
+:100CA00021A182958F70A80102C0440F551F8A951B
+:100CB000E2F7CA01822B81A38C2F0E94270621977D
+:100CC00040F785E090E061E070E0FC01ED5EFE4FF2
+:100CD0002081E22FEF70F0E042A122952F70DB011E
+:100CE00002C0AA0FBB1F2A95E2F79D01242B22A365
+:100CF000019758F7DF91CF911F910F910C94030347
+:100D0000EF92FF920F931F93CF93DF930AE211E0CC
+:100D1000C3E0EE24E394F12CD5E08C2F0E9427064B
+:100D200085E090E040E0FC01ED5EFE4F5081E52F54
+:100D3000EF70F0E020A130E052955F7002C0359571
+:100D400027955A95E2F720FD07C09701082E01C0AC
+:100D5000220F0A94EAF7422B019728F7F8018291B3
+:100D60008F01841719F04083D09300018C2F0E94CB
+:100D70002706C15090F68091000187FD1CC081506C
+:100D8000809300018F3F39F08FE99FE00197F1F7E1
+:100D900000C0000010C08091290180932D01809136
+:100DA000280180932C018091270180932B01809151
+:100DB000260180932A010E94050381E0DF91CF91F3
+:100DC0001F910F91FF90EF90089591E001C0990F4E
+:100DD0008A95EAF723E030E080E061E070E0F90115
+:100DE000E65DFE4F4081492339F0AB01022E01C080
+:100DF000440F0A94EAF7842B2150310980F70895B3
+:100E00000895CF93DF93C5E0D0E08C2F0E94E506D4
+:100E100090E00E948618D80FC150B8F78D2FDF914F
+:100E2000CF91089580913E0108950895CF93DF9367
+:100E300000D01F92CDB7DEB72091AD01243021F54F
+:100E400023E029839B838A8381E08093E9008FEFED
+:100E50009091E800815095FD06C095ED9A95F1F7C7
+:100E600000008111F5CF8091E80085FF0DC040E0C2
+:100E700050E063E070E0CE0101960E944809809145
+:100E8000E8008E778093E8000F900F900F90DF912D
+:100E9000CF910895CF93DF9300D01F92CDB7DEB7E7
+:100EA0002091AD01243021F522E029839B838A83A0
+:100EB00081E08093E9008FEF9091E800815095FDEB
+:100EC00006C095ED9A95F1F700008111F5CF80915C
+:100ED000E80085FF0DC040E050E063E070E0CE0127
+:100EE00001960E9448098091E8008E778093E8007F
+:100EF0000F900F900F90DF91CF910895CF93DF93D4
+:100F00002091AD01243009F048C0EC0180910B0123
+:100F10008823E1F080910C018823C1F082E0809366
+:100F2000E9008FEF9091E800815095FD06C095E1B2
+:100F30009A95F1F700008111F5CF8091E80085FFC7
+:100F40002CC040E050E060E170E017C081E0809389
+:100F5000E9008FEF9091E800815095FD06C095ED76
+:100F60009A95F1F700008111F5CF8091E80085FF97
+:100F700014C040E050E068E070E0CE010E944809F3
+:100F80008091E8008E778093E80080E1FE01AEE278
+:100F9000B1E001900D928A95E1F7DF91CF9108952C
+:100FA0008091AC01811109C00E94DD0A0E943A0BB8
+:100FB0008091E20084608093E20008951092AC0179
+:100FC0000895089508950C94D11842E061EC81E0F1
+:100FD0000E94570A42E161EC82E00C94570A80912A
+:100FE000AF01833009F453C030F4813071F08230A6
+:100FF00009F48CC008958A3009F478C08B3009F464
+:101000005EC0893009F09AC020C08091AE01813A5B
+:1010100009F094C08091E800877F8093E800809178
+:10102000B2019091B301892B21F460E18EE291E04D
+:1010300003C060E080E090E070E00E94930980913E
+:10104000E8008B778093E80008958091AE018132AB
+:1010500009F074C08091B2019091B301029708F039
+:101060006DC08091E800877F8093E8008091E80060
+:1010700082FD05C08091AD018111F8CF5FC08091E4
+:10108000F10080933E018091E8008B7753C08091FE
+:10109000AE01813A09F052C08091B2019091B30142
+:1010A000892B09F04BC08091E800877F8093E8008E
+:1010B0008091E80080FFFCCF80910B0136C08091C9
+:1010C000AE018132D9F58091B2019091B301892BA3
+:1010D000A9F58091E800877F8093E8000E948C0A40
+:1010E0008091B00180930B010C9412128091AE019B
+:1010F000813221F58091E800877F8093E8000E948B
+:101100008C0A8091B10180933F0108958091AE01D6
+:10111000813AA1F48091E800877F8093E800809174
+:10112000E80080FFFCCF80913F018093F100809127
+:10113000E8008E778093E8000C948C0A089584B7B9
+:10114000877F84BF88E10FB6F89480936000109287
+:1011500060000FBE90E080E80FB6F89480936100C5
+:10116000909361000FBE0E94240E0E94DD0A0E942F
+:101170003A0B8091E20084608093E20078940E94B0
+:10118000C00D0E94260E81E091E00E94DB0D80914F
+:10119000AD01853069F40E9492188091AB018823DB
+:1011A000B1F30E94C018882391F30E943209EFCF57
+:1011B0000E94320EECCF292F332723303105C9F09E
+:1011C00064F42130310581F02230310509F042C04C
+:1011D0008BE390E02AED31E041C021323105F1F09E
+:1011E0002232310549F136C082E190E025E132E05A
+:1011F00035C099278130910541F08230910541F049
+:10120000892B41F5E6EDF1E005C0E6ECF1E002C026
+:10121000EAEAF1E0849190E09F0120C0662339F072
+:101220006130C1F489E090E025E032E017C089E048
+:1012300090E02CEE31E012C0662339F0613051F4B9
+:1012400089E390E027E232E009C08FE390E020E6F6
+:1012500032E004C080E090E020E030E0FA01318329
+:101260002083089580E189BD82E189BD09B400FE33
+:10127000FDCF8091D8008F7D8093D8008091E000D1
+:1012800082608093E0008091E00081FDFCCF0895B2
+:10129000CF92DF92EF92FF920F931F93CF93DF9342
+:1012A000EC018B016A010E94AB0A811133C0C114A9
+:1012B000D10439F0F60180819181081B190BC80F08
+:1012C000D91FE12CF12C0115110519F18091E800CD
+:1012D00085FD16C08091E8008E778093E800C114E8
+:1012E000D10449F0F60180819181E80EF91EF18266
+:1012F000E08285E00FC00E94AB0A882321F30AC078
+:1013000089918093F10001501109FFEFEF1AFF0A54
+:10131000DACF80E0DF91CF911F910F91FF90EF9096
+:10132000DF90CF9008952091B4013091B501261738
+:10133000370748F06115710539F42091E8002E77E0
+:101340002093E80001C0B90140E061157105A9F1E1
+:101350002091AD01222309F443C0253009F442C095
+:101360002091E80023FD40C02091E80022FD32C01A
+:101370002091E80020FFE9CF4091F3002091F20096
+:1013800030E0342BFC01CF016115710559F0283094
+:10139000310540F481918093F100615071092F5F14
+:1013A0003F4FF1CF41E02830310509F040E0209176
+:1013B000E8002E772093E800C8CF4111C9CF0AC0BA
+:1013C0008091AD01882361F0853061F08091E80063
+:1013D00083FD0AC08091E80082FFF2CF80E008958B
+:1013E00082E0089583E0089581E008952091B4019A
+:1013F0003091B5012617370748F06115710539F4AA
+:101400002091E8002E772093E80001C0B901FC018B
+:1014100020E06115710591F18091AD01882309F4F7
+:1014200040C0853009F43FC08091E80083FD3DC095
+:101430008091E80082FD2FC08091E80080FFE9CF15
+:101440002091F3008091F20090E0922B61157105DC
+:1014500059F08830910540F424912093F1003196A1
+:10146000615071090196F2CF21E0089709F020E060
+:101470008091E8008E778093E800CBCF2111CCCF0C
+:101480000AC08091AD01882361F0853061F08091C0
+:10149000E80083FD0AC08091E80082FFF2CF80E07F
+:1014A000089582E0089583E0089581E00895982FDB
+:1014B000973058F59093E900981739F07091EC0047
+:1014C0002091ED005091F00003C0242F762F50E0C2
+:1014D00021FF19C03091EB003E7F3093EB0030913B
+:1014E000ED003D7F3093ED003091EB0031603093A3
+:1014F000EB007093EC002093ED005093F0002091EE
+:10150000EE0027FF07C09F5FD3CF8F708093E90065
+:1015100081E0089580E008958091AE0187FF11C0B9
+:101520008091E80082FD05C08091AD018111F8CF66
+:1015300011C08091E8008B770BC08091AD018823AA
+:1015400049F08091E80080FFF8CF8091E8008E7725
+:101550008093E80008952091E4003091E50095E63D
+:101560004091EC00842F817040FF22C08091E80000
+:1015700080FD1CC08091AD01882391F0853091F0F1
+:101580008091EB0085FD10C04091E4005091E50092
+:101590004217530729F39A01915011F784E00895F7
+:1015A00082E0089583E0089581E0089580E0089541
+:1015B0004091E80042FFDECF08950E944B0B0E944D
+:1015C000530BE0EEF0E0808181608083E8EDF0E095
+:1015D00080818F77808319BCA7EDB0E08C918E7FDE
+:1015E0008C9380818F7E80831092AC0108950F933D
+:1015F0001F93CF93DF930E944B0B0E94530BC8EDB8
+:10160000D0E088818F77888388818068888388810B
+:101610008F7D888319BC1092AD011092A9011092A0
+:10162000AB011092AA0100EE10E0F80180818B7FDF
+:10163000808388818160888342E060E080E00E944E
+:10164000570AE1EEF0E080818E7F8083E2EEF0E0E9
+:10165000808181608083808188608083F8018081BF
+:101660008E7F8083888180618883DF91CF911F91F5
+:101670000F910895E8EDF0E080818F7E8083E7EDA3
+:10168000F0E080818160808384E082BF81E080938C
+:10169000AC010C94F70AE8EDF0E080818E7F808346
+:1016A0001092E20008951092DA001092E10008957D
+:1016B0001F920F920FB60F9211242F933F934F93C7
+:1016C0005F936F937F938F939F93AF93BF93EF93AA
+:1016D000FF938091E10082FF0BC08091E20082FFC6
+:1016E00007C08091E1008B7F8093E1000E94BF0DD5
+:1016F0008091DA0080FF1FC08091D80080FF1BC05E
+:101700008091DA008E7F8093DA008091D90080FF8B
+:101710000DC080E189BD82E189BD09B400FEFDCF25
+:1017200081E08093AD010E94D00705C019BC1092E2
+:10173000AD010E94DE078091E10080FF19C0809119
+:10174000E20080FF15C08091E2008E7F8093E2006E
+:101750008091E20080618093E2008091D8008062F5
+:101760008093D80019BC85E08093AD010E94E20708
+:101770008091E10084FF30C08091E20084FF2CC0A2
+:1017800080E189BD82E189BD09B400FEFDCF809171
+:10179000D8008F7D8093D8008091E1008F7E809368
+:1017A000E1008091E2008F7E8093E2008091E20070
+:1017B00081608093E2008091A901882311F084E088
+:1017C00007C08091E30087FD02C081E001C083E093
+:1017D0008093AD010E94E3078091E10083FF29C05F
+:1017E0008091E20083FF25C08091E100877F809394
+:1017F000E10082E08093AD011092A9018091E100A7
+:101800008E7F8093E1008091E2008E7F8093E200E2
+:101810008091E20080618093E20042E060E080E03D
+:101820000E94570A8091F00088608093F0000E9427
+:10183000E107FF91EF91BF91AF919F918F917F91C0
+:101840006F915F914F913F912F910F900FBE0F902D
+:101850001F9018951F920F920FB60F9211242F937D
+:101860003F934F935F936F937F938F939F93AF9328
+:10187000BF93CF93DF93EF93FF93C091E900CF70B5
+:101880008091EC00D82FD17080FDD0E81092E90053
+:101890008091F000877F8093F00078940E946E0C16
+:1018A0001092E9008091F00088608093F000CD2BC9
+:1018B000CF70C093E900FF91EF91DF91CF91BF917D
+:1018C000AF919F918F917F916F915F914F913F91D8
+:1018D0002F910F900FBE0F901F9018951F93CF93CD
+:1018E000DF93CDB7DEB7AA970FB6F894DEBF0FBE71
+:1018F000CDBFEEEAF1E088E08E0F9091F100919378
+:101900008E13FBCF0E94EF078091E80083FF1FC179
+:101910008091AE019091AF01492F50E04A305105BE
+:1019200008F015C1FA01EA5AFF4F0C94DE1C80380A
+:1019300081F0823809F00BC18091B2018F708093E1
+:10194000E9008091EB0085FB882780F91092E9007F
+:1019500006C08091AA019091AB0191118260909193
+:10196000E800977F9093E8008093F1001092F100D7
+:10197000C8C0282F2D7F09F0EAC0882319F08230D3
+:1019800061F0E5C08091B001813009F0E0C0933092
+:1019900009F080E08093AB012BC08091B0018111F0
+:1019A00027C08091B2018F7009F4D1C08093E90003
+:1019B0002091EB0020FF1CC0933021F48091EB00BC
+:1019C000806214C09091EB0090619093EB0021E055
+:1019D00030E0A90102C0440F551F8A95E2F74093F9
+:1019E000EA001092EA008091EB0088608093EB009F
+:1019F0001092E9008091E800877F86C08111A7C01E
+:101A00001091B0011F778091E3008078812B809343
+:101A1000E3008091E800877F8093E8000E948C0AB1
+:101A20008091E80080FFFCCF8091E3008068809384
+:101A3000E300111102C082E001C083E08093AD0198
+:101A400086C08058823008F082C08091B0019091A9
+:101A5000B1018C3D53E0950779F583E08A838AE2F2
+:101A600089834FB7F894DE01139620E03EE051E2FF
+:101A7000E32FF0E050935700E49120FF03C0E2957C
+:101A8000EF703F5FEF708E2F90E0EA3010F0C79656
+:101A900001C0C0968D939D932F5F243149F74FBFAE
+:101AA0008091E800877F8093E8006AE270E0CE01D1
+:101AB00001960E94930914C0AE014F5F5F4F609181
+:101AC000B2010E94DB08BC01009709F440C090916C
+:101AD000E800977F9093E80089819A810E94F60937
+:101AE0008091E8008B778093E80031C0803879F5E9
+:101AF0008091E800877F8093E8008091A90180931E
+:101B0000F1008091E8008E778093E8000E948C0AB3
+:101B10001EC081111CC09091B0019230C0F4809120
+:101B2000E800877F8093E8009093A9010E948C0AC7
+:101B30008091A901811106C08091E30087FD02C058
+:101B400081E001C084E08093AD010E94E5078091AF
+:101B5000E80083FF0AC08091E800877F8093E80057
+:101B60008091EB0080628093EB00AA960FB6F89408
+:101B7000DEBF0FBECDBFDF91CF911F9108950895B5
+:101B8000CF938091AD018823A1F0C091E900CF707F
+:101B90009091EC00892F817090FD80E8C82B109205
+:101BA000E9008091E80083FD0E946E0CCF70C09325
+:101BB000E900CF91089590934501809344010895E1
+:101BC000E0914401F0914501309721F00190F081BE
+:101BD000E02D099480E00895E0914401F0914501E1
+:101BE000309721F00280F381E02D0994089520912F
+:101BF0004201309143018217930771F090934301A2
+:101C000080934201E0914401F0914501309721F029
+:101C10000680F781E02D09940895209140013091CC
+:101C200041018217930771F0909341018093400125
+:101C3000E0914401F0914501309721F00084F18555
+:101C4000E02D0994089508950C94230E0E9405191F
+:101C50000E943B060E94C7190E94471C81E08093A6
+:101C60000C010895CF92DF92EF92FF920F931F9392
+:101C7000CF93DF9300D000D000D0CDB7DEB70E9465
+:101C8000800685E0E82EF12C0E2D8E2D0E94E506B3
+:101C90009701295B3E4F6901F90110811827A9F4CA
+:101CA000F1E0EF1AF10880F78FEF89838A831B82B6
+:101CB0000E940E198160782F9D838C8349815A81FF
+:101CC0006B818D810E94C00E32C09091A20191FF64
+:101CD00004C08E830E9400078E8113FD09C012FD8F
+:101CE0000AC011FD0BC010FFDBCF90E011E008C06F
+:101CF00093E018E005C092E014E002C091E012E029
+:101D000099830A83812391E009F490E09B830E94E8
+:101D10000E198160782F9D838C8349815A816B8154
+:101D20008D810E94C00EF6018081182710831091CA
+:101D300046010E94E00D1817A1F00E94E00D80936B
+:101D4000460126960FB6F894DEBF0FBECDBFDF91D9
+:101D5000CF911F910F91FF90EF90DF90CF900C9457
+:101D6000250626960FB6F894DEBF0FBECDBFDF91D5
+:101D7000CF911F910F91FF90EF90DF90CF9008953A
+:101D8000CF93DF93CDB7DEB72B970FB6F894DEBFB6
+:101D90000FBECDBF4F83588769877A878B87DE0157
+:101DA000119686E0FD0111928A95E9F785E0FE0122
+:101DB000379601900D928A95E1F749815A816B819E
+:101DC0007C818D819E810E94B0142B960FB6F89471
+:101DD000DEBF0FBECDBFDF91CF910895CF93882393
+:101DE00009F499C0C82F8CEF8C0F813A48F48C2FDE
+:101DF0000E94051C81118FC08C2F0E948A170CC075
+:101E000080E28C0F883058F4C77081E001C0880FE1
+:101E1000CA95EAF70E941018CF910C9457188BE5D9
+:101E20008C0F833078F4C53A29F0C63A31F083E854
+:101E300090E005C081E890E002C082E890E0CF9198
+:101E40000C94F70D88E58C0F833108F064C0C83A14
+:101E500039F1C93A41F1CA3A49F1CB3A51F1CC3A98
+:101E600059F1CD3A61F1C03B69F1CE3A71F1CF3A07
+:101E700079F1C13B81F1C23B89F1C33B91F1C43B94
+:101E800099F1C53BA1F1C63BA9F1C73BB1F1C83BF4
+:101E9000B9F1C93BC1F1CA3BC9F180E090E038C05B
+:101EA00082EE90E035C089EE90E032C08AEE90E09C
+:101EB0002FC085EB90E02CC086EB90E029C087EB2B
+:101EC00090E026C08CEC90E023C08DEC90E020C028
+:101ED00083E891E01DC08AE891E01AC082E991E0B0
+:101EE00017C084E991E014C081E292E011C083E25E
+:101EF00092E00EC084E292E00BC085E292E008C05E
+:101F000086E292E005C087E292E002C08AE292E0B7
+:101F1000CF910C940D0ECF910895882329F19CEF59
+:101F2000980F913A18F40E94CC170DC090E2980FC8
+:101F3000983058F4877091E001C0990F8A95EAF7BC
+:101F4000892F0E9416180C9457189BE5980F933010
+:101F500020F480E090E00C94F70D885A833120F44F
+:101F600080E090E00C940D0E0895882321F00E94EB
+:101F700010180C9457180895882321F00E94161801
+:101F80000C94571808957F928F929F92AF92BF92B0
+:101F9000CF92DF92EF92FF920F931F93CF93DF9335
+:101FA0001F92CDB7DEB77C01C62E772EFC010581CE
+:101FB00002950F70128111110E942D180E94831733
+:101FC000882379F0112369F080E28C0D883048F085
+:101FD00082E00E946C170E94831791E0D82ED926C8
+:101FE00001C0D12CE72DE295EF70F0E0E05AFF4FF1
+:101FF0000C94DE1C872D807F072D0F70882311F035
+:102000000295007F112389F0002309F46EC180E25C
+:102010008C0D883020F4802F0E94101803C0802F70
+:102020000E9420180E94571860C18C2D0E948D0FAD
+:10203000002309F498C180E28C0D883020F4802FB1
+:102040000E94161803C0802F0E9426180E9457185D
+:102050008AC1872D807F972D9F70803211F4892F40
+:1020600003C0892F8295807FCC2021F0F1E0CF162C
+:10207000A1F01DC0112339F0002319F1013009F539
+:102080000E94401870C1002319F0013009F46BC19F
+:1020900089830E9443188981E5C0112321F006300D
+:1020A00008F061C10EC0053008F05DC1DBC011232E
+:1020B00059F0002331F0F701958190FF16C19F7010
+:1020C00095830E94B50F4FC1002309F4CBC013C103
+:1020D000872D837009F052C0111145C18C2D829556
+:1020E00086958770880F880F9C2D9F70892E912C64
+:1020F000A12CB12C082E04C0880C991CAA1CBB1C56
+:102100000A94D2F7C4FE14C00FE010E020E030E0E3
+:10211000B901A80104C0440F551F661F771F8A9597
+:10212000D2F7CB01BA01609570958095909503C068
+:1021300060E070E0CB01272D26952695237030E0D6
+:102140002230310569F02330310589F06829792979
+:102150008A299B292130310571F00E94F81503C1AD
+:10216000682979298A299B290E941416FCC00E949B
+:10217000F815C501B4010E94DC15F5C0112319F052
+:10218000872D817001C08695882309F4ECC08C2DC1
+:10219000829586958770880F880F9C2D9F70892E59
+:1021A000912CA12CB12C082E04C0880C991CAA1CBF
+:1021B000BB1C0A94D2F7C4FE14C00FE010E020E06C
+:1021C00030E0B901A80104C0440F551F661F771FF6
+:1021D0008A95D2F7CB01BA0160957095809590955C
+:1021E00003C060E070E0CB01272D26952695237073
+:1021F000422F50E04230510569F04330510589F0DB
+:10220000682979298A299B294130510571F00E945A
+:10221000D216A9C0682979298A299B290E94EE161D
+:10222000A2C00E94D216C501B4010E94B6169BC07E
+:102230008C2D90E0FC01E05EF109E531F10508F03C
+:1022400050C0E059FF4F0C94DE1C0C2D0F70872DF1
+:102250008F71112321F00E944F16802F32CF0E94E0
+:102260007016802F0E94BC0F7EC0112341F00530F4
+:1022700008F079C0872D8F710E94951674C00630C2
+:1022800008F071C0F7CF112339F0872D8F710E94AC
+:102290004F1669C01123C9F3872D8F710E947016E4
+:1022A00062C0112329F0872D8F710E943A165BC0FE
+:1022B0000E94301658C0112351F0172D1F71812F25
+:1022C0000E944F1663E0812F0E9463174CC081E08B
+:1022D0000E946C17023008F446C082E00E946C171E
+:1022E00042C0112331F0002381F28C2D0E94EE0EAA
+:1022F0003AC0002389F28C2D0E948D0F34C0472DE7
+:102300004F706C2DC7010E94E2010E9454152BC032
+:10231000111129C0472D4F7050E042305105B9F0DE
+:102320004CF44115510581F041305105E1F40E9412
+:102330006F1C19C04330510569F04430510599F4C0
+:102340008C2D0E94C11C0FC00E94581C0CC00E9402
+:102350008B1C09C00E949E1C06C0472D4F706C2D1F
+:10236000C7010E94E101DD20F9F00E945F1780FDA6
+:102370001BC0F70112820E9459170E944F16C70115
+:102380000E94E3110E9459170F90DF91CF911F9186
+:102390000F91FF90EF90DF90CF90BF90AF909F9004
+:1023A0008F907F900C9470160F90DF91CF911F91BA
+:1023B0000F91FF90EF90DF90CF90BF90AF909F90E4
+:1023C0008F907F9008950F931F93CF93DF93EC012D
+:1023D000888199812B813C81232BB9F09F3F11F497
+:1023E0008F3F99F0CE010E945B02882371F06881D3
+:1023F00079818A810E9455178C010E940A170E94D8
+:10240000D115B801CE010E94C30FDF91CF911F916A
+:102410000F9108950E942D180E943D180E940218E5
+:102420000C9457180E941D180C940A120E944A1707
+:10243000292F22952F7030E02C3031054CF42A30B2
+:1024400031056CF42250310922303105A8F407C05F
+:102450002C30310569F02F30310551F00DC0803F2F
+:1024600069F018F4803E40F409C0843F29F406C0A6
+:1024700093FB882780F9089580E0089581E008950E
+:10248000CF93DF9300D000D01F92CDB7DEB70F906F
+:102490000F900F900F900F90DF91CF910895CF93F1
+:1024A000DF9300D000D000D0CDB7DEB726960FB6B0
+:1024B000F894DEBF0FBECDBFDF91CF9108951F937B
+:1024C000CF93DF93C0914D0116E080914E01C81764
+:1024D00099F0D0E01C9FF0011D9FF00D1124E15BED
+:1024E000FE4F4081518162817381848195810E9478
+:1024F0004F122196C770E9CFDF91CF911F910895B8
+:1025000040917F0150918001609181017091820121
+:1025100080918301909184010C944F1280918401E9
+:1025200082958F7009F054C080918101882309F44D
+:102530004FC080914D01A0914E0160917F0170913B
+:1025400080014091820150918301B6E08A1709F41D
+:102550003FC090E041155105C1F17F3F11F46F3F3D
+:10256000A1F1B89FF001B99FF00D1124E15BFE4F7E
+:10257000218172132AC02081621327C02281211178
+:1025800024C0238134812417350710F421503109E8
+:10259000241B350B283C3105C0F4209184012F7099
+:1025A00020612093840126E0289FF001299FF00DEF
+:1025B0001124EC5AFE4F80818F70806180838FE7F9
+:1025C00091E00E94E3110C945F1201968770BECFD8
+:1025D0000895CF92DF92EF92FF920F931F93CF93C4
+:1025E000DF93CDB7DEB762970FB6F894DEBF0FBEAC
+:1025F000CDBF8C0185E0F801DE011D9601900D92A2
+:102600008A95E1F7D8014C9111965C911197129639
+:102610006C9112971396CD90DC90149730917F01B6
+:10262000709180018091820190918301009709F45B
+:102630006BC17F3F19F43F3F09F466C1E09081010F
+:10264000EE2009F4C0C020918401C816D90628F0F4
+:10265000F601E81BF90BCF0104C0809590958C0D15
+:102660009D1DFF24F394883C910578F0F12C207F88
+:1026700009F0C6C07C2DD98AC88A89890E94401277
+:102680008FE791E00E94E311B1C0822F807F09F0B3
+:1026900046C0751314C0341312C0611110C02F70DE
+:1026A0002061209384010E9480128FE791E00E94B4
+:1026B000E31180918401D80115968C932EC0CD280A
+:1026C00019F15F3F11F44F3FF9F0F62E61111CC074
+:1026D00080914D0120914E0136E0821709F45AC0D5
+:1026E00090E0389FF001399FF00D1124E15BFE4F1F
+:1026F0007181571306C07081471303C07281711135
+:1027000003C001968770E9CFF62E662309F418C13D
+:1027100080918401816080938401F12C11C1751333
+:1027200008C0341306C0611104C080918401D8012F
+:10273000C3C04D875E878D859E856A8B0E94161269
+:102740006A898823E1F16623D1F120918401822FE7
+:1027500082958F7090E0029774F080917F01909144
+:10276000800198878F831986DB86CA862C87CE01E5
+:1027700007960E94E31186E0F801AFE7B1E001900F
+:102780000D928A95E1F70E948E120E948012FF241A
+:10279000F394D6C04D875E878D859E850E944A172B
+:1027A000292F22952F7030E0223031050CF0BCC06B
+:1027B0009F7009F0B6C0805E883008F4C1C0C801BF
+:1027C0000E94E311E4CFC816D90608F453C0F601FD
+:1027D000E81BF90BCF01883C910508F450C0F12C9F
+:1027E0007C2DD98AC88A89890E944012EFE7F1E0DE
+:1027F00086E0DF011D928A95E9F70E948012A0C051
+:10280000751314C0341312C0611110C0809184017B
+:10281000F8018583C8010E94E31186E0EFE7F1E04B
+:10282000DF011D928A95E9F7FE2C8AC04D875E87ED
+:102830008D859E856A8B0E9416126A89882309F409
+:10284000BECF662309F4BBCF20918401822F8295ED
+:102850008F7090E002970CF48ECF80917F01909161
+:1028600080019A8389831B82DD82CC822E83CE01F4
+:1028700001967FCF809590958C0D9D1DACCFF62E47
+:10288000662309F49CCF75132EC034132CC02091FD
+:10289000840120FD1FC0822F82958F70D9F0D8014E
+:1028A00015962C9315978F3049F08F5F982F92953E
+:1028B000907F822F8F70892B15968C93C8010E9470
+:1028C000E31186E0F801AFE7B1E001900D928A953F
+:1028D000E1F793CF86E0F801AFE7B1E001900D9208
+:1028E0008A95E1F72DC04D875E878D859E850E9474
+:1028F0001612811140CF8091840181608093840100
+:10290000C8010E94E3111CC0662309F458CF4D870B
+:102910005E878D859E850E941612882309F44FCF0D
+:102920002ACF811148CF0CC0243031050CF047CF9D
+:102930009F7009F440CFF8019581907F09F03BCF5B
+:102940008F2D62960FB6F894DEBF0FBECDBFDF911C
+:10295000CF911F910F91FF90EF90DF90CF9008954E
+:102960001F93CF93DF93CDB7DEB72C970FB6F894B4
+:10297000DEBF0FBECDBF4F83588769877A878B87AD
+:102980009C87CE0107960E94E912882369F08F8107
+:1029900098852A853B85232BF1F19F3F09F063C081
+:1029A0008F3F09F060C037C086E0FE013796DE0138
+:1029B000119601900D928A95E1F76F817885EA85ED
+:1029C000FB85309741F17F3F11F46F3F21F120915A
+:1029D0004E0130E0C90101968770992740914D0161
+:1029E00050E08417950709F447C069837A83FD8313
+:1029F000EC8396E0929FD001939FB00D1124A15BD0
+:102A0000BE4FFE01319601900D929A95E1F78093A9
+:102A10004E010E945F1216E080914D0190914E018F
+:102A20008917C1F1189FC0011124815B9E4F0E943C
+:102A3000E912882379F1E0914D011E9FF0011124E4
+:102A4000E15BFE4F40815181628173818481958178
+:102A50000E944F1280914D0190E001968770992756
+:102A600080934D01D9CF4F81588569857A858B85B3
+:102A70009C850E944F12CFCF0E94121210924E01DD
+:102A800010924D01EFE7F1E086E0DF011D928A959B
+:102A9000E9F7C1CF2C960FB6F894DEBF0FBECDBFBD
+:102AA000DF91CF911F910895EF92FF920F931F93A3
+:102AB000CF93DF938C01009709F46CC0F12CEE24C6
+:102AC000E394E8012196F8018491843740F484303E
+:102AD00008F051C0813081F0823019F15BC0853738
+:102AE00009F444C0A8F19CE7980F903708F052C051
+:102AF0008F770E948D0F41C00E5F1F4FFE01C49162
+:102B000080E28C0F883048F4C7708E2D01C0880F8A
+:102B1000CA95EAF70E94301814C08C2F0E94EE0E5E
+:102B20002DC00E5F1F4FFE01C49180E28C0F8830D4
+:102B300058F4C7708E2D01C0880FCA95EAF70E941D
+:102B400036180E9457181AC08C2F0E948D0F16C07D
+:102B50000E5F1F4FFE01C491CC2381F08FE99FE0EF
+:102B60000197F1F700C00000C150F6CF0E5F1F4F74
+:102B7000FE01F49003C00E94EE0E8E018F2D88237B
+:102B800009F49FCFEFE9FFE03197F1F700C00000B3
+:102B90008150F5CFDF91CF911F910F91FF90EF9072
+:102BA000089508956093890170938A0180938B0141
+:102BB00090938C010C940A120F931F93009189013A
+:102BC00010918A0120918B0130918C01DC01CB01A5
+:102BD000802B912BA22BB32B8093890190938A0198
+:102BE000A0938B01B0938C011F910F910C940A124A
+:102BF0000F931F930091890110918A0120918B01FD
+:102C000030918C01DC01CB0180239123A223B323DB
+:102C10008093890190938A01A0938B01B0938C01DA
+:102C20001F910F910C940A120F931F930091890129
+:102C300010918A0120918B0130918C01DC01CB0134
+:102C400080279127A227B3278093890190938A0137
+:102C5000A0938B01B0938C011F910F910C940A12D9
+:102C600010928501109286011092870110928801BE
+:102C70000C940A1241E050E060E070E004C0440FA0
+:102C8000551F661F771F8A95D2F740938501509391
+:102C9000860160938701709388010C940A1241E0C9
+:102CA00050E060E070E004C0440F551F661F771FBE
+:102CB0008A95D2F78091850190918601A091870134
+:102CC000B0918801482B592B6A2B7B2B40938501AF
+:102CD0005093860160938701709388010C940A12C7
+:102CE00041E050E060E070E004C0440F551F661FF3
+:102CF000771F8A95D2F74095509560957095809191
+:102D0000850190918601A0918701B09188014823A7
+:102D100059236A237B234093850150938601609356
+:102D20008701709388010C940A1241E050E060E042
+:102D300070E004C0440F551F661F771F8A95D2F7B5
+:102D40008091850190918601A0918701B0918801C1
+:102D5000482759276A277B2740938501509386018E
+:102D600060938701709388010C940A120F931F934C
+:102D70000091850110918601209187013091880191
+:102D8000DC01CB01802B912BA22BB32B80938501EF
+:102D900090938601A0938701B09388011F910F91B2
+:102DA0000C940A120F931F930091850110918601D4
+:102DB0002091870130918801DC01CB018023912390
+:102DC000A223B3238093850190938601A09387016A
+:102DD000B09388011F910F910C940A120F931F93C7
+:102DE0000091850110918601209187013091880121
+:102DF000DC01CB0180279127A227B327809385018F
+:102E000090938601A0938701B09388011F910F9141
+:102E10000C940A120895CF92DF92EF92FF920F93D3
+:102E20001F93CF93DF938C01C0908901D0908A01CA
+:102E3000E0908B01F0908C0180918501909186014A
+:102E4000A0918701B0918801C82AD92AEA2AFB2AD1
+:102E5000CFE1D0E0D701C6010C2E04C0B695A795EE
+:102E6000979587950A94D2F780FF06C0B8018C2FFA
+:102E70000E948905019721F4219760F780E001C045
+:102E80008C2FDF91CF911F910F91FF90EF90DF90EA
+:102E9000CF900895CF93DF93EC010E940B17BE01F2
+:102EA0000E948905DF91CF910895CB010E944A17B6
+:102EB000089580918D0185958595859508958091DA
+:102EC0008D018770089598E0899F90011124262B29
+:102ED00020938D010C944F1620918D0180958223B3
+:102EE00080938D01982F977069F430E0482F552713
+:102EF00047FD50952417350729F0859585958595CB
+:102F00000C947016089590918D01977081E009F4EA
+:102F100080E0089590910B01992321F090910C018C
+:102F2000911109C020910D0130910E01F9013296E5
+:102F30009FEF40E01FC0982F9695969596959F30ED
+:102F400050F5E0910D01F0910E01E90FF11D877030
+:102F500021E030E0A90102C0440F551F8A95E2F735
+:102F6000CA019181892B818308959F3F39F04F5F7A
+:102F70004E3041F051915813F8CF0DC05111F7CF99
+:102F8000942FF5CF9F3F39F0F901E90FF11D97FD1F
+:102F9000FA9582830895089590910B01992321F069
+:102FA00090910C01911109C020910D0130910E01F9
+:102FB000F9013296205F3F4F1FC0982F9695969546
+:102FC00096959F30F0F4E0910D01F0910E01E90F1C
+:102FD000F11D877021E030E0A90102C0440F551FA8
+:102FE0008A95E2F7CA0180959181892381830895AA
+:102FF0003196E217F30729F090819813F9CF1082E8
+:10300000F7CF089581E090E0E0910D01F0910E017D
+:10301000E80FF91F1082019680319105A9F70895F4
+:103020009091A101892B8093A101089580959091A1
+:10303000A10189238093A10108951092A10108950F
+:103040009091A001892B8093A00108958095909183
+:10305000A00189238093A00108951092A0010895F2
+:1030600090919F01892B80939F0108958095909165
+:103070009F01892380939F01089510929F010895D5
+:1030800080938E01089510928E01089580910D0114
+:1030900090910E01FC0131969C01205F3F4F80E032
+:1030A000919191118F5FE217F307D1F70895E091A5
+:1030B0000D01F0910E018091A1018083E0910D013D
+:1030C000F0910E0190818091A001892B8083E09185
+:1030D0000D01F0910E01908180919F01892B8083D9
+:1030E00080918E01882361F0E0910D01F0910E0135
+:1030F0009081892B80830E944618811110928E0145
+:1031000080910D0190910E010C94EC0D20E0009740
+:1031100039F0AC0141505109842395232F5FF7CF3B
+:10312000822F08958091AD01843039F11092A3016E
+:1031300020E488E190E00FB6F894A89580936000B1
+:103140000FBE2093600080E00E94B40180E00E94E6
+:10315000250683B7817F846083BF83B7816083BF87
+:103160007894889583B78E7F83BF88E10FB6F894F3
+:1031700080936000109260000FBE08950895089536
+:1031800080E00E94B4010E94BE180E9480060E9446
+:10319000BF180E94010791E0811101C090E0892FC2
+:1031A00008950E94121280E00E94B4010E94471C00
+:1031B0000E94E00D0C9425061F920F920FB60F92FD
+:1031C00011248F939F93AF93BF938091A30181119B
+:1031D00013C08091A4019091A501A091A601B09186
+:1031E000A7014196A11DB11D8093A4019093A50153
+:1031F000A093A601B093A701BF91AF919F918F912A
+:103200000F900FBE0F901F90189582E084BD93E041
+:1032100095BD9AEF97BD80936E0008952FB7F894EF
+:103220008091A4019091A501A091A601B091A70160
+:103230002FBF0895CF92DF92EF92FF920F931F93CB
+:103240002FB7F8944091A4015091A5016091A60177
+:103250007091A7012FBF6A017B01EE24FF248C012E
+:1032600020E030E0C016D106E206F30610F441502B
+:1032700051099A01281B390BC9011F910F91FF9029
+:10328000EF90DF90CF9008951F920F920FB60F929C
+:1032900011248F939F93AF93BF938091A40190913A
+:1032A000A501A091A601B091A7010196A11DB11D94
+:1032B0008093A4019093A501A093A601B093A701C8
+:1032C000BF91AF919F918F910F900FBE0F901F9064
+:1032D00018950E94DD0AF8942FEF87EA91E62150B5
+:1032E00080409040E1F700C0000087E090EBDC01F7
+:1032F0008093B8019093B901A093BA01B093BB0138
+:103300009CE088E10FB6F894A895809360000FBE0A
+:1033100090936000FFCFEF92FF920F931F93CF9394
+:10332000DF93D82FC5E08C2F0E94E50603E010E064
+:10333000E82EF12CC701002E02C0959587950A94BE
+:10334000E2F780FF09C0602F7C2F80E00E94070316
+:10335000D81302C081E006C00150110958F7C150CE
+:1033600010F780E0DF91CF911F910F91FF90EF90C8
+:103370000895CF93C82F8CE20E948B19882321F0E7
+:103380008C2FCF910C948B1980E0CF910895CF931F
+:103390000E94131B811102C00E94F41AC5E6C1509D
+:1033A00049F00E9480068FE39CE90197F1F700C085
+:1033B0000000F5CF89E20E94B919811113C18AE298
+:1033C0000E94B91981110E94F41A85E00E94B9196E
+:1033D00081110E9469190E941E1B8093A20187E03F
+:1033E0000E94B9198823A9F18BE10E94B919882399
+:1033F00051F08091A20181FB222720F991E09227D0
+:1034000090FB81F90EC08EE00E94B919882361F00B
+:103410008091A20182FB222720F991E0922790FB64
+:1034200082F98093A20115C080E10E94B9199091A0
+:10343000A201882341F093FB222720F981E0822713
+:1034400080FB93F904C0892F809580FB90F99093BD
+:10345000A2018091A2010E94221B0E94301B809336
+:10346000B60180EE0E94B919882341F08091B6011F
+:10347000982F909590FB80F98093B60189E30E9484
+:10348000B919882359F08091B60181FB222720F9D0
+:1034900091E0922790FB81F98093B60182EE0E9421
+:1034A000B919882359F08091B60182FB222720F9AF
+:1034B00091E0922790FB82F98093B60186EE0E94FC
+:1034C000B919882359F08091B60183FB222720F98E
+:1034D00091E0922790FB83F98093B60183EE0E94DE
+:1034E000B919882359F08091B60184FB222720F96D
+:1034F00091E0922790FB84F98093B60185E30E94C6
+:10350000B919882359F08091B60185FB222720F94B
+:1035100091E0922790FB85F98093B60181E30E94A8
+:10352000B919882359F08091B60186FB222720F92A
+:1035300091E0922790FB86F98093B60181E10E9489
+:10354000B919882359F08091B60187FB222720F909
+:1035500091E0922790FB87F98093B6018091B601A4
+:103560000E94341B8091B60187FB882780F98093E5
+:103570000C0187E20E94B919C82F8EE10E94B91987
+:103580008111C2608FE10E94B9198111C46080E28B
+:103590000E94B9198111C86081E20E94B919811194
+:1035A000C06182E20E94B9198111C06283E20E9467
+:1035B000B9198111C06484E20E94B919882311F0FD
+:1035C000C06802C0CC2329F08C2F0E942B1B6C2FCB
+:1035D00003C00E94271B682F70E080E090E0CF912D
+:1035E0000C94D215CF9108956DEE7EEF80E090E0BF
+:1035F0000E94041D60E082E090E00E94F21C60E006
+:1036000083E090E00E94F21C60E084E090E00E9481
+:10361000F21C60E085E090E00E94F21C60E086E031
+:1036200090E00C94F21C80E090E00E94EC1C21E001
+:103630008D3E9E4F09F020E0822F089582E090E0B9
+:103640000C94E41C682F82E090E00C94F21C83E060
+:1036500090E00C94E41C682F83E090E00C94F21C42
+:1036600084E090E00C94E41C682F84E090E00C94DB
+:10367000F21C86E090E00C94E41C682F86E090E059
+:103680000C94F21C0F931F938B3109F475C0A0F5B5
+:103690008E3009F484C0C0F4873009F45BC068F44C
+:1036A000863009F0AAC08091A201817F8E7F80932D
+:1036B000A20181E08093A801A1C0883009F496C0DE
+:1036C0008B3009F493C099C0813109F472C068F459
+:1036D000803109F092C08091A20183FB222720F95A
+:1036E00091E0922790FB83F950C0863109F47EC0A7
+:1036F000893109F47BC081C0853309F479C068F44D
+:10370000873209F475C028F48E3108F476C08D51E3
+:103710005AC0893209F46CC070C0833438F48A33DB
+:1037200008F050C0883309F461C067C0833409F4DD
+:103730005FC0883409F061C00E9412120FEF13EDD0
+:1037400020E3015010402040E1F700C000000E943B
+:1037500069194CC09091A201892F8095817080FBDE
+:1037600090F929F0966098609093A20147C0997FE4
+:10377000977F9093A2013AC08091A20181FB2227FA
+:1037800020F991E0922790FB81F98093A20199237F
+:1037900069F18091A20181608093A20127C080918C
+:1037A000A20182FB222720F991E0922790FB82F967
+:1037B000ECCF0E94121290910C0181E08927809336
+:1037C0000C0114C0895341E050E060E070E08A01D0
+:1037D0009B0104C0000F111F221F331F8A95D2F7CF
+:1037E000C901B8010E94D2150E94121281E006C0E0
+:1037F00061E070E080E090E0F5CF80E01F910F91F4
+:10380000089580E0089580E00895CF93C82F8091B7
+:10381000A801882319F0813049F031C0E0910D01F1
+:10382000F0910E018081823261F507C0E0910D01B7
+:10383000F0910E018081823261F48C2F0E94011C74
+:10384000811104C08C2F0E94421B17C081E090E0C0
+:1038500014C08C2F0E94031C81110EC0C43149F08A
+:1038600018F4CB3049F00FC0C93219F0C83321F039
+:103870000AC01092A80107C081E0817006C01092B2
+:10388000A80180E002C080E0F8CFCF9108950E94A7
+:10389000131B811102C00E94F41A0E94391B8093ED
+:1038A000B70180FF02C0869501C080E00C94B4018E
+:1038B0008091B701982F9695292F30E0233031055C
+:1038C0004CF49F5F990F8170892B81608093B701C1
+:1038D0000E943D1B8091B70186950C94B4018091A4
+:1038E000B701982F969591F09158990F8170892B77
+:1038F0008093B7018E7F91E009F490E08091B70149
+:1039000090FB80F98093B7010E943D1B8091B70125
+:1039100086950C94B4018091B701982F909590FBF7
+:1039200080F98093B7010E943D1B8091B70180FF11
+:1039300002C0869501C080E00C94B4019091B7015B
+:10394000892F86958F5F8F779170843028F4880F48
+:10395000892B8093B70102C09093B7018091B70182
+:103960008E7F91E009F490E08091B70190FB80F99F
+:103970008093B7010E943D1B8091B70186950C94FE
+:10398000B4012091B701922F96958927982F990F0E
+:10399000822F8170892B8093B7018E7F91E009F48B
+:1039A00090E08091B70190FB80F98093B7010E946D
+:1039B0003D1B8091B70186950C94B401EE0FFF1F5B
+:1039C0000590F491E02D0994F999FECF92BD81BD47
+:1039D000F89A992780B50895A8E1B0E042E050E058
+:1039E0000C940C1D262FF999FECF92BD81BDF89A3B
+:1039F000019700B4021639F01FBA20BD0FB6F89433
+:103A0000FA9AF99A0FBE08950196272F0E94F31C87
+:103A10000C94F21CDC01CB01FC01F999FECF06C02D
+:103A2000F2BDE1BDF89A319600B40D92415050407C
+:083A3000B8F70895F894FFCFE8
+:103A3800FF12077E0715074A07160701018F0103C2
+:0A3A48001323330F1F4F5F6F7F0041
+:00000001FF
diff --git a/keyboards/arrow_pad/keymaps/pad_24/config.h b/keyboards/arrow_pad/keymaps/pad_24/config.h
new file mode 100644
index 0000000000..75369c047f
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_24/config.h
@@ -0,0 +1,158 @@
+/*
+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 0x4096
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Nobody
+#define PRODUCT Arrow Pad 24
+#define DESCRIPTION 24-Key QMK Assistant
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 4
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { B0, B1, B2, B3 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* 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/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/arrow_pad/keymaps/pad_24/keymap.c
new file mode 100644
index 0000000000..5647f75afe
--- /dev/null
+++ b/keyboards/arrow_pad/keymaps/pad_24/keymap.c
@@ -0,0 +1,163 @@
+// 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 "arrow_pad.h"
+#include "led.h"
+
+// This is the 21-key keypad to 2x11 element matrix mapping
+#define KEYMAP( \
+ KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
+ KM_NUM, KM_FSL, KM_AST, KM_MIN, \
+ KM___7, KM___8, KM___9, KM_EQU, \
+ KM___4, KM___5, KM___6, KM_PLS, \
+ KM___1, KM___2, KM___3, ___ENT, \
+ KM___0, _____0, KM_DOT, KM_ENT \
+) { \
+ { KM_ESC, KM_TAB, KM_BSL, KM_ARR }, \
+ { KM_NUM, KM_FSL, KM_AST, KM_MIN }, \
+ { KM___7, KM___8, KM___9, KM_EQU }, \
+ { KM___4, KM___5, KM___6, KM_PLS }, \
+ { KM___1, KM___2, KM___3, KC_NO }, \
+ { KM___0, KC_NO, KM_DOT, KM_ENT } \
+}
+
+#define LAYER_BASE 0
+#define LAYER_EDIT 1
+#define LAYER_FUNCTION 2
+
+#define MACRO_COPY_CUT 0
+#define MACRO_SHIFT_CONTROL 1
+#define MACRO_CONTROL_ALT 2
+
+#define M_COPY KC_FN5
+#define M_SHFCT KC_FN6
+#define M_CTALT KC_FN7
+
+#define SC_UNDO LCTL(KC_Z)
+#define SC_REDO LCTL(KC_Y)
+#define SC_CUT LCTL(KC_X)
+#define SC_COPY LCTL(KC_C)
+#define SC_PSTE LCTL(KC_V)
+#define SC_SELA LCTL(KC_A)
+#define SC_SAVE LCTL(KC_S)
+#define SC_OPEN LCTL(KC_O)
+#define SC_ACLS LALT(KC_F4)
+#define SC_CCLS LCTL(KC_F4)
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[LAYER_BASE] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_BSLS, KC_FN0, \
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
+ KC_P7, KC_P8, KC_P9, KC_PEQL, \
+ KC_P4, KC_P5, KC_P6, KC_PPLS, \
+ KC_P1, KC_P2, KC_P3, XXXXXXX, \
+ KC_P0, KC_PCMM, KC_PDOT, KC_PENT ),
+
+[LAYER_EDIT] = KEYMAP( \
+ KC_ESC, KC_TAB, KC_SPC, _______, \
+ KC_FN1, SC_PSTE, SC_REDO, SC_UNDO, \
+ KC_HOME, KC_UP, KC_PGUP, KC_LALT, \
+ KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \
+ KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \
+ KC_BSPC, KC_PENT, KC_DEL, M_SHFCT),
+
+[LAYER_FUNCTION] = KEYMAP( \
+ KC_FN2, KC_FN3, KC_FN4, _______, \
+ KC_FN1, _______, _______, _______, \
+ _______, _______, _______, _______, \
+ _______, _______, _______, _______, \
+ _______, _______, _______, XXXXXXX, \
+ RESET, _______, _______, _______ ),
+
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(LAYER_FUNCTION),
+ [1] = ACTION_LAYER_TOGGLE(LAYER_EDIT),
+ [2] = ACTION_BACKLIGHT_TOGGLE(),
+ [3] = ACTION_BACKLIGHT_INCREASE(),
+ [4] = ACTION_BACKLIGHT_DECREASE(),
+ [5] = ACTION_MACRO_TAP(MACRO_COPY_CUT),
+ [6] = ACTION_MACRO_TAP(MACRO_SHIFT_CONTROL),
+ [7] = ACTION_MACRO_TAP(MACRO_CONTROL_ALT),
+
+};
+
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+}
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch (id) {
+
+ case MACRO_COPY_CUT:
+ if (record->event.pressed) {
+ register_code(KC_LCTL);
+ if (record->tap.count == 1) {
+ register_code(KC_C);
+ unregister_code(KC_C);
+ }
+ else if (record->tap.count == 2) {
+ register_code(KC_X);
+ unregister_code(KC_X);
+ }
+ unregister_code(KC_LCTL);
+ }
+ break;
+
+ case MACRO_SHIFT_CONTROL:
+ if (record->event.pressed) {
+ if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
+ if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count == 3) register_code(KC_PENT);;
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
+ unregister_code(KC_PENT);
+ }
+ break;
+
+ case MACRO_CONTROL_ALT:
+ if (record->event.pressed) {
+ if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
+ if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
+ }
+ else {
+ unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+}
+
+void led_set_user(uint8_t usb_led)
+{
+ if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+ // output high
+ DDRD |= (1<<6);
+ PORTD |= (1<<6);
+ } else {
+ // Hi-Z
+ DDRD &= ~(1<<6);
+ PORTD &= ~(1<<6);
+ }
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) {
+ // output low
+ DDRC |= (1<<7);
+ PORTC |= ~(1<<7);
+ } else {
+ // Hi-Z
+ DDRC &= ~(1<<7);
+ PORTC &= ~(1<<7);
+ }
+} \ No newline at end of file