summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErez Zukerman <ezuk@madmimi.com>2015-10-28 02:55:28 +0200
committerErez Zukerman <ezuk@madmimi.com>2015-10-28 02:55:28 +0200
commit2739aa8d780a8210eac30a284786d60dedc671bc (patch)
tree9b7822b5175fbbdd53190fc1fb0eb4516fd4a092
parent18da1e6801335b0d9515ab72e9236a01d629915f (diff)
Initial working version of ErgoDox EZ layout using new syntax
-rw-r--r--keyboard/ergodox_ez/README.md10
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.h6
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.hex1468
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_default.c176
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_ergodox_ez.c2
-rw-r--r--quantum/keymap_common.h13
6 files changed, 1617 insertions, 58 deletions
diff --git a/keyboard/ergodox_ez/README.md b/keyboard/ergodox_ez/README.md
index f750d8dbec..5280698a62 100644
--- a/keyboard/ergodox_ez/README.md
+++ b/keyboard/ergodox_ez/README.md
@@ -1 +1,9 @@
-// TODO: Make up a proper readme for the ErgoDox EZ.
+# Some tips on navigating the Quantum codebase
+
+## These are the keycodes you're looking for
+
+Let's say you want a certain key in your layout to send a colon; to figure out what keycode to use to make it do that, you're going to need `quantum/keymap_common.h`.
+
+That file contains a big list of all of the special, fancy keys (like, being able to shend % on its own and whatnot).
+
+If you want to send a plain vanilla key, you can look up its code under `doc/keycode.txt`. That's where all the boring keys hang out.
diff --git a/keyboard/ergodox_ez/ergodox_ez.h b/keyboard/ergodox_ez/ergodox_ez.h
index 9d0691dfe2..219b4bd0b6 100644
--- a/keyboard/ergodox_ez/ergodox_ez.h
+++ b/keyboard/ergodox_ez/ergodox_ez.h
@@ -1,5 +1,5 @@
-#ifndef PLANCK_H
-#define PLANCK_H
+#ifndef ERGODOX_EZ_H
+#define ERGODOX_EZ_H
#include "matrix.h"
#include "keymap_common.h"
@@ -142,4 +142,4 @@ void * matrix_scan_user(void);
-#endif \ No newline at end of file
+#endif
diff --git a/keyboard/ergodox_ez/ergodox_ez.hex b/keyboard/ergodox_ez/ergodox_ez.hex
new file mode 100644
index 0000000000..21b6a9f916
--- /dev/null
+++ b/keyboard/ergodox_ez/ergodox_ez.hex
@@ -0,0 +1,1468 @@
+:100000000C9456060C949A060C949A060C949A0634
+:100010000C949A060C949A060C949A060C949A06E0
+:100020000C949A060C949A060C94F7120C94C9132B
+:100030000C940B220C949A060C949A060C949A0633
+:100040000C949A060C949A060C949A060C949A06B0
+:100050000C949A060C9472220C949A060C949A06AC
+:100060000C949A060C949A060C949A060C949A0690
+:100070000C949A060C949A060C949A060C949A0680
+:100080000C949A060C949A060C949A060C949A0670
+:100090000C949A060C949A060C949A060C949A0660
+:1000A0000C949A060C949A060C949A0677077D078E
+:1000B0008407880788078607880781078C072E141E
+:1000C00050143B1550143B159214B5143B150A15EA
+:1000D0001D156B186B1899189918EE182A191B1B07
+:1000E0001B1B42191B1B391A391AF51A1B1B1B1B28
+:1000F000091B0000F0A12E004C002A00E100357120
+:1001000000001E00140004001D71E1044D001F00DA
+:100110001A0016001B002B002A0020000800070010
+:10012000060050002C0021001500090019004F00A6
+:100130004A00220017000A00050000007600500067
+:100140002B00000033020000E3004F0033020000E8
+:1001500001540000E60023001C000B001100000009
+:100160002971240018000D00100052004B002500DA
+:100170000C000E00360051002800260012000F006F
+:10018000370030002B0027001300337238712F0026
+:100190004E002D0031003400E500C1000000005089
+:1001A000010033020100010000003A001E0220029B
+:1001B0002202010001003B001F0221022302010074
+:1001C00001003C002F0226022F00010001003D002B
+:1001D000300227023000010001003E0038023500E5
+:1001E00035020000010001000100000001000000D4
+:1001F00001000100010000000100000001003F00BB
+:10020000520051002402000001004000240021009F
+:100210001E00010001004100250022001F003700E0
+:1002200001004200260023002000270001004300B7
+:1002300025022E0231002E0001004400450001007D
+:1002400001000100000001000100010001000100A7
+:10025000000001000100F2000100010001000100A6
+:10026000F000F10001000100010001000100F300B5
+:100270000100F60001000100010001000100F5008D
+:100280000100010001000100010000000100010067
+:100290000100000001000000010001000100000059
+:1002A0000100000001000100010001000100000048
+:1002B00001000100010001000100A900010001008E
+:1002C00001000100AC00AA00B60001000100AE0070
+:1002D000AB0001000100010001000100010001006C
+:1002E000010001000100A8000100010000000A4413
+:1002F000454255473A20656E61626C65642E0A007E
+:100300000A002530313662003A200025303258008C
+:100310000A722F6320303132333435363738394161
+:1003200042434445460A000A002530325800626FB5
+:10033000756E6365213A20005B735D004B657962E1
+:100340006F6172642073746172742E0A005B575D72
+:10035000005B535D005B525D005B445D005B435D91
+:100360000016034500720067006F0044006F0078BC
+:1003700000200045005A0000001603450072006787
+:10038000006F0044006F007800200045005A000014
+:10039000000403090409027400040100A0FA09041E
+:1003A00000000103010100092111010001223F00A9
+:1003B0000705810308000A09040100010301020086
+:1003C000092111010001224D000705820308000ADE
+:1003D00009040200010300000009211101000122AB
+:1003E00036000705830308000A090403000203001E
+:1003F00000000921110100012220000705840320CB
+:100400000001070504032000011201100100000093
+:1004100008EDFE07130100010200010631FF097417
+:10042000A1010975150025FF95207508810209763F
+:10043000150025FF952075089102C005010980A1CE
+:1004400001850216010026B7001A01002AB70075BF
+:100450001095018100C0050C0901A1018503160159
+:1004600000269C021A01002A9C0275109501810049
+:10047000C005010902A1010901A10005091901290D
+:10048000051500250195057501810295017503810A
+:10049000010501093009311581257F950275088113
+:1004A0000609381581257F950175088106050C0A16
+:1004B00038021581257F950175088106C0C00501A8
+:1004C0000906A101050719E029E71500250195088E
+:1004D0007501810295017508810105081901290539
+:1004E00095057501910295017503910105071900A4
+:1004F00029FF150025FF950675088100C00A002513
+:1005000030325820006B6579626F6172645F72658A
+:10051000706F72743A20000A0025303258006B6503
+:1005200079626F6172645F7365745F6C65643A20B1
+:1005300000646F6E652E0A00626F6F676D61676998
+:1005400063207363616E3A202E2E2E2000290A004C
+:100550002575002F002575005D280025640020000A
+:10056000256400200025640020002564007C00250F
+:10057000303258006D6F7573656B6579205B6274FE
+:100580006E7C782079207620685D287265702F61F6
+:10059000636C293A205B006D6B5F776865656C5F03
+:1005A00074696D655F746F5F6D6178203D202564AF
+:1005B0000A006D6B5F776865656C5F6D61785F736E
+:1005C00070656564203D2025640A006D6B5F746969
+:1005D0006D655F746F5F6D6178203D2025640A0052
+:1005E0006D6B5F6D61785F7370656564203D20257C
+:1005F000640A006D6B5F696E74657276616C203D94
+:100600002025640A006D6B5F64656C6179203D2074
+:1006100025640A006D6B5F776865656C5F74696D52
+:10062000655F746F5F6D6178203D2025640A006D01
+:100630006B5F776865656C5F6D61785F737065652A
+:1006400064203D2025640A006D6B5F74696D655FF1
+:10065000746F5F6D6178203D2025640A006D6B5FCB
+:100660006D61785F7370656564203D2025640A00C4
+:100670006D6B5F696E74657276616C203D202564D8
+:100680000A006D6B5F64656C6179203D2025640A0A
+:10069000000A00257500363A20776865656C5F743E
+:1006A000696D655F746F5F6D61783A20000A00259F
+:1006B0007500353A20776865656C5F6D61785F73AA
+:1006C000706565643A20000A00257500343A20748C
+:1006D000696D655F746F5F6D61783A20000A00256F
+:1006E0007500333A206D61785F73706565643A20F8
+:1006F000000A00257500323A20696E7465727661D1
+:100700006C286D73293A20000A00257500313A20C3
+:1007100064656C6179282A31306D73293A20000AAA
+:10072000092D2056616C756573202D0A004D3E0021
+:100730004D25643E20003F0073657420646566614A
+:10074000756C740A00433E2000776865726520640A
+:10075000656C74613A20637572736F723D25642C09
+:1007600020776865656C3D25640A5365652068746B
+:1007700074703A2F2F656E2E77696B6970656469A6
+:10078000612E6F72672F77696B692F4D6F75736577
+:100790005F6B6579730A000A092D204D6F757365CB
+:1007A0006B6579202D0A4553432F713A097175699C
+:1007B000740A313A0964656C6179282A31306D73A5
+:1007C000290A323A09696E74657276616C286D7314
+:1007D000290A333A096D61785F73706565640A347C
+:1007E0003A0974696D655F746F5F6D61780A353AB7
+:1007F00009776865656C5F6D61785F7370656564C6
+:100800000A363A09776865656C5F74696D655F746F
+:100810006F5F6D61780A0A703A097072696E7420B0
+:1008200076616C7565730A643A0973657420646552
+:100830006661756C74730A75703A092B310A646FBE
+:10084000776E3A092D310A706775703A092B31308D
+:100850000A7067646F776E3A092D31300A0A737037
+:10086000656564203D2064656C7461202A206D619B
+:10087000785F7370656564202A20287265706561F1
+:1008800074202F2074696D655F746F5F6D617829C6
+:100890000A003F004D3E2000433E20004C25640AE4
+:1008A000000A092D20436F6E736F6C65202D0A4579
+:1008B00053432F713A09717569740A6D3A096D6F66
+:1008C0007573656B65790A000A092D204D616769AA
+:1008D00063202D0A643A0964656275670A783A09EB
+:1008E0006465627567206D61747269780A6B3A0994
+:1008F0006465627567206B6579626F6172640A6D09
+:100900003A096465627567206D6F7573650A763A9A
+:100910000976657273696F6E0A733A09737461744C
+:1009200075730A633A09636F6E736F6C65206D6F40
+:1009300064650A302D343A096C61796572302D3462
+:10094000284631302D4634290A506175733A0962C0
+:100950006F6F746C6F616465720A653A09656570E2
+:10096000726F6D0A000A002575002E6E6B726F3A69
+:1009700020000A002575002E737761705F62616345
+:100980006B736C6173685F6261636B7370616365E5
+:100990003A20000A002575002E737761705F677238
+:1009A0006176655F6573633A20000A002575002E45
+:1009B0006E6F5F6775693A20000A002575002E7317
+:1009C0007761705F72616C745F726775693A20005D
+:1009D0000A002575002E737761705F6C616C745F1F
+:1009E0006C6775693A20000A002575002E636170F6
+:1009F000736C6F636B5F746F5F636F6E74726F6C39
+:100A00003A20000A002575002E737761705F636FCE
+:100A10006E74726F6C5F636170736C6F636B3A209E
+:100A2000000A0025303258006B65796D61705F6394
+:100A30006F6E6669672E7261773A20000A0025752D
+:100A4000002E6D6F7573653A20000A002575002E23
+:100A50006B6579626F6172643A20000A0025750047
+:100A60002E6D61747269783A20000A002575002E97
+:100A7000656E61626C653A20000A002530325800CC
+:100A800064656275675F636F6E6669672E72617712
+:100A90003A20000A0025750064656661756C745F14
+:100AA0006C617965723A20003F0074696D65725F10
+:100AB000636F756E743A202530346C580A006B658C
+:100AC00079626F6172645F69646C653A2025580AC7
+:100AD000006B6579626F6172645F70726F746F63CF
+:100AE0006F6C3A2025580A00686F73745F6B6579E4
+:100AF000626F6172645F6C65647328293A202558BF
+:100B00000A000A092D20537461747573202D0A00A0
+:100B10004743433A20342E382E32204156522D4C32
+:100B20004942433A20312E382E30204156525F41FF
+:100B30005243483A20617672350A004F5054494F6B
+:100B40004E533A204C55464120424F4F544D414759
+:100B50004943204D4F5553454B4559204558545214
+:100B6000414B455920434F4E534F4C4520434F4D29
+:100B70004D414E4420343039360A004255494C44E8
+:100B80003A20313864613165362D64697274792098
+:100B90002830323A35343A3238204F6374203238B4
+:100BA0002032303135290A005649443A20307846FF
+:100BB000454544284572676F446F7820455A29207F
+:100BC0005049443A20307831333037284572676FC6
+:100BD000446F7820455A29205645523A20307830C3
+:100BE0003030310A00444553433A20742E6D2E6B49
+:100BF0002E206B6579626F617264206669726D7711
+:100C000061726520666F72204572676F646F780A43
+:100C1000000A092D2056657273696F6E202D0A0037
+:100C20000A6D6F7573653A206F66660A000A6D6F0C
+:100C30007573653A206F6E0A000A6B6579626F61A1
+:100C400072643A206F66660A000A6B6579626F61AA
+:100C500072643A206F6E0A000A6D61747269783AA4
+:100C6000206F66660A000A6D61747269783A206FB7
+:100C70006E0A000A64656275673A206F6E0A000AA0
+:100C800064656275673A206F66660A000A0A626FD9
+:100C90006F746C6F616465722E2E2E2000433E20AF
+:100CA000006565636F6E6669673A0A0011241FBEAE
+:100CB000CFEFDAE0DEBFCDBF04B603FE24C08091E3
+:100CC000020290910302A0910402B09105028730C4
+:100CD000904BA740B04BB9F410920202109203025D
+:100CE000109204021092050214BE84B7877F84BF5D
+:100CF00088E10FB6F89480936000109260000FBEF8
+:100D0000E0E0F8E3099511E0A0E0B1E0E2E4FBE502
+:100D100002C005900D92A435B107D9F712E0A4E501
+:100D2000B1E001C01D92A230B107E1F70E9433107B
+:100D30000C949F2D0C940000FF93EF93E0915401CD
+:100D4000F0915501309709F00995EF91FF910895C1
+:100D5000FC018591803011F0EFDFFBCF0895FF2774
+:100D6000E0E230E247FF0CC0419597FF09C0EDE299
+:100D70006095709580959095611D711D811D911DE7
+:100D800027FF02C0219530E350E2AA27660F771FA4
+:100D9000881F991FAA1FA41710F0A41B63955A95CA
+:100DA000A9F7AA3008F0A95FA05DAF93F39561158C
+:100DB00071058105910541F7ED3211F4EF93F3953B
+:100DC000F21718F43F93F395FBCF8F91B5DFFA95A7
+:100DD000E1F70895E991F9918591803021F085320C
+:100DE00019F0AADFF9CF089520E0E8945591553223
+:100DF000C1F3503311F4689455915A3348F4505369
+:100E000090F3220F022E220F220F200D250FF4CF78
+:100E10000EF4219589919991533619F3533729F19D
+:100E2000533559F1BC0188279927E8945C3621F4A1
+:100E30008991999168945591543639F446EF7EF032
+:100E400077FF0DC08FEF9FEF0AC055374AE039F0AA
+:100E5000583540E121F0523642E009F00895FF9301
+:100E6000EF937DDFEF91FF91B7CFFF93EF93FC01FD
+:100E700081918030B9F360DFFBCFFF93EF9368DFA0
+:100E8000F1CFDF93CF93CDB7DEB72596A3DFCF9118
+:100E9000DF91089561110BC0FC018281882321F04C
+:100EA00085EE0E94FF1603C085EE0E94C71780E002
+:100EB00090E0089508956091CF017091D0018091E4
+:100EC000D1019091D2010E944D2156985E981092C6
+:100ED0005801109257011092560190E0FC01319791
+:100EE000E930F105F0F4EA5AFF4F0C94542D81E0FB
+:100EF000809358018093570112C081E0809357017D
+:100F000010C081E08093570181E009C0569A5E9A33
+:100F100081E08093580105C081E08093580180935F
+:100F200056010E949D078093000108958BE597E08C
+:100F3000892B11F00C945B070895809100018111B9
+:100F40002FC080E40E94340880930001811124C0E6
+:100F500084E10E945E088093000181111DC0809190
+:100F6000560187958827879580950E945E08809313
+:100F70000001811111C080915801879588278795BC
+:100F8000909157019295990F990F907C892B80959C
+:100F90000E945E08809300010E9456088091000123
+:100FA000089556985E9825982D9826982E982798FB
+:100FB0002F981092580110925701109256010E94DA
+:100FC0009D078FEF90E09093890080938800909325
+:100FD0008B0080938A0090938D0080938C00569AAA
+:100FE0005E9A259A2D9A269A2E9A279A2F9A81E010
+:100FF0008093580180935701809356010E949D076A
+:101000002FE782E490E1215080409040E1F700C05A
+:10101000000056985E9825982D9826982E98279827
+:101020002F981092580110925701109256010C946B
+:101030009D0789EA8093800089E08093810024984D
+:101040002C983F988AB18F748AB96E98479A8BB161
+:10105000806B8BB9769A0E94D1078AE597E0892B3D
+:1010600011F00C945A07089594EA9093BC00909163
+:10107000BC0097FFFCCF9091B900987F983021F089
+:10108000903111F081E008958093BB0084E8809353
+:10109000BC008091BC0087FFFCCF8091B900887FA5
+:1010A000883111F0803471F780E0089584E98093ED
+:1010B000BC008091BC0084FDFCCF08958093BB00F0
+:1010C00084E88093BC008091BC0087FFFCCF9091A6
+:1010D000B900987F81E0983209F480E008958B3B55
+:1010E000910578F4883A910540F5853A9105D0F458
+:1010F0008430910508F0B1C08130910509F4ADC08C
+:101100006BC0803E910508F467C0883E910508F4E5
+:10111000A4C09C01205F31092031310508F05CC07A
+:1011200090650895853A910509F459C0863A91056C
+:1011300009F458C083E890E40895883A910509F4C9
+:1011400054C0893A910509F453C08A3A910509F4CB
+:1011500052C08B3A910509F451C08C3A910509F4BB
+:1011600050C08D3A910509F44FC0803B910509F4B8
+:101170004EC08E3A910509F44DC08F3A910509F49D
+:101180004CC0813B910509F44BC0823B910509F4A9
+:101190004AC0833B910509F449C0843B910509F499
+:1011A00048C0853B910509F447C0863B910509F489
+:1011B00046C0873B910509F445C0883B910509F479
+:1011C00044C0893B910509F443C08A3B910509F06D
+:1011D00042C08AE296E4089580E090E0089581E8B4
+:1011E00090E4089582E890E4089582EE94E40895EE
+:1011F00089EE94E408958AEE94E4089585EB94E4EE
+:10120000089586EB94E4089587EB94E408958CECBC
+:1012100094E408958DEC94E4089583E895E40895AA
+:101220008AE895E4089582E995E4089584E995E4CF
+:10123000089581E296E4089583E296E4089584E2B5
+:1012400096E4089585E296E4089586E296E408958A
+:1012500087E296E4089580E094E40895089596E086
+:10126000799FF001112494E5899FE00DF11D11246F
+:10127000E60FF11DEE0FFF1FEA50FF4F859194918D
+:101280000895880F991F8E589040FC018591949184
+:101290000895880F991F8E509F4FFC01859194915E
+:1012A000089546E0749FF001112494E5899FE00DB4
+:1012B000F11D1124E60FF11DEE0FFF1FEA50FF4F45
+:1012C00025913491C9019A9581159F4110F4C90166
+:1012D0000895C90190528115904128F4C9019F7069
+:1012E0000E9449090895C90190538115904120F445
+:1012F000C9019927906C0895211580E5380711F4EC
+:101300000C949722213090E5390751F48EEE92E04B
+:101310000E94A8068091E20181608093E201089515
+:10132000C90190558115904108F050C0832F99272D
+:101330008F70992781309105D9F4A9014370552701
+:1013400002C0880F991F4A95E2F79C68A90164E0E2
+:10135000440F551F6A95E1F744275370842B952B52
+:1013600073E0220F331F7A95E1F7207633271DC0F3
+:101370008230910529F4922F8827816F906A089511
+:1013800083309105A9F4A9014370552781E090E0CD
+:1013900002C0880F991F4A95E2F79C6843E0220F2C
+:1013A000331F4A95E1F7207E3770822B932B0895E7
+:1013B0000497F1F4A9014370552781E090E002C041
+:1013C000880F991F4A95E2F79A68E8CFC9019057AC
+:1013D0008115904120F4C9019F7090620895C90160
+:1013E00090588115904120F4C9019F70906A08952A
+:1013F000203E3105E0F4203C310558F5213331051C
+:1014000009F470C048F42932310509F464C02A3265
+:10141000310509F46EC074C029333105F1F022386A
+:101420003105D9F02533310509F44EC069C0233E9A
+:10143000310589F138F4203E3105C1F0223E3105F5
+:10144000E1F05EC0263E310569F1273E3105A9F184
+:1014500057C0C9010E94410908958091F30180FDA0
+:1014600002C081FF4DC080EE90E04BC08091F3013F
+:1014700080FFF9CF89E390E044C08091F30182FFBF
+:101480000EC08091F30184FF03C080E090E039C07A
+:1014900083EE90E036C08091F30182FFF2CF82EEBE
+:1014A00090E02FC08091F30183FF0BC08091F30186
+:1014B00084FDEBCF87EE90E024C08091F30183FFA1
+:1014C000F5CF86EE90E01DC08091F30185FF07C047
+:1014D00089E290E016C08091F30185FFF9CF85E3A2
+:1014E00090E00FC08091F30186FF07C08AE290E090
+:1014F00008C08091F30186FFF9CF81E390E001C03D
+:10150000C9010E946F08089508955F926F927F92BB
+:101510008F929F92AF92BF92CF92DF92EF92FF9203
+:101520000F931F93CF93DF93CDB7DEB728970FB6F6
+:10153000F894DEBF0FBECDBF9E012F5F3F4F4E011F
+:101540008DE1880E911C60E070E000E010E0E12C7D
+:10155000F12CC12CD12CA12CB12C622E532E88E061
+:10156000782E41E050E0E5E1F1E0A62DB52D872D84
+:1015700001900D928A95E1F7F901819191919F0176
+:10158000FC01E07FFF27E032F10559F48F709927C5
+:10159000FA0102C0EE0FFF1F8A95E2F7AE2ABF2ABA
+:1015A00037C0E033F10559F48F709927FA0102C072
+:1015B000EE0FFF1F8A95E2F7CE2ADF2A29C0E0341A
+:1015C000F10559F48F709927FA0102C0EE0FFF1F41
+:1015D0008A95E2F7EE2AFF2A1BC0E035F10559F49F
+:1015E0008F709927FA0102C0EE0FFF1F8A95E2F76C
+:1015F0000E2B1F2B0DC0E036F10551F48F7099278B
+:10160000FA0102C0EE0FFF1F8A95E2F76E2B7F2BC7
+:101610002815390509F0A7CF94B18A2D8095892323
+:1016200084B985B18A2985B997B18C2D8095892394
+:1016300087B988B18C2988B99AB18E2D8095892374
+:101640008AB98BB18E298BB99DB1802F8095892362
+:101650008DB98EB1802B8EB990B3862F809589235A
+:1016600080BB81B3862B81BB28960FB6F894DEBF72
+:101670000FBECDBFDF91CF911F910F91FF90EF90E3
+:10168000DF90CF90BF90AF909F908F907F906F90A2
+:101690005F9008955F926F927F928F929F92AF9228
+:1016A000BF92CF92DF92EF92FF920F931F93CF934F
+:1016B000DF93CDB7DEB768970FB6F894DEBF0FBEE5
+:1016C000CDBF85B7806885BF85B7806885BF0E941C
+:1016D000850A9E012F5F3F4F4E018DE0880E911CC1
+:1016E00060E070E000E010E0E12CF12CC12CD12C86
+:1016F000A12CB12C622E532E98E1792E41E050E0BE
+:10170000EDE1F1E0A62DB52D872D01900D928A9582
+:10171000E1F7F901819191919F01FC01E07FFF27A1
+:10172000E032F10559F48F709927FA0102C0EE0FEB
+:10173000FF1F8A95E2F7AE2ABF2A37C0E033F105D2
+:1017400059F48F709927FA0102C0EE0FFF1F8A9596
+:10175000E2F7CE2ADF2A29C0E034F10559F48F7070
+:101760009927FA0102C0EE0FFF1F8A95E2F7EE2AD1
+:10177000FF2A1BC0E035F10559F48F709927FA0153
+:1017800002C0EE0FFF1F8A95E2F70E2B1F2B0DC034
+:10179000E036F10551F48F709927FA0102C0EE0F7F
+:1017A000FF1F8A95E2F76E2B7F2B2815390509F06C
+:1017B000A7CF94B18A2D8095892384B985B18A29D0
+:1017C00085B997B18C2D8095892387B988B18C29EB
+:1017D00088B99AB18E2D809589238AB98BB18E29CB
+:1017E0008BB99DB1802F809589238DB98EB1802BC7
+:1017F0008EB990B3862F8095892380BB81B3862BC9
+:1018000081BBE7E6F1E0A9E5B1E011921D9281E02C
+:10181000E537F807D1F789E198E0892BB9F06896A8
+:101820000FB6F894DEBF0FBECDBFDF91CF911F91F1
+:101830000F91FF90EF90DF90CF90BF90AF909F906F
+:101840008F907F906F905F900C94190868960FB6F8
+:10185000F894DEBF0FBECDBFDF91CF911F910F91E6
+:10186000FF90EF90DF90CF90BF90AF909F908F90C0
+:101870007F906F905F9008952F923F924F925F926A
+:101880006F927F928F929F92AF92BF92CF92DF9290
+:10189000EF92FF920F931F93CF93DF93CDB7DEB7F5
+:1018A000A0970FB6F894DEBF0FBECDBF7E0149E111
+:1018B000E40EF11C4E0155E3850E911C29E5C22E64
+:1018C00021E0D22E38E0232E5E2C6F2C01E010E0B8
+:1018D00048E1342E52E0452E69E2A62E63E0B62E92
+:1018E000E5E1F1E0A52DB62D822D01900D928A95AE
+:1018F000E1F7F701819191917F019C01207F3327CE
+:101900002032310589F424B18F709927A80102C0D3
+:10191000440F551F8A95E2F7CA01242B24B995B1CB
+:101920008095892385B94FC02033310589F427B1CB
+:101930008F709927F80102C0EE0FFF1F8A95E2F71A
+:10194000CF012E2B27B998B18095892388B93BC048
+:101950002034310589F42AB18F709927A80102C07B
+:10196000440F551F8A95E2F7CA01242B2AB99BB16F
+:10197000809589238BB927C02035310589F42DB195
+:101980008F709927F80102C0EE0FFF1F8A95E2F7CA
+:10199000CF012E2B2DB99EB1809589238EB913C00E
+:1019A0002036310581F420B38F709927A80102C039
+:1019B000440F551F8A95E2F7CA01242B20BB91B32F
+:1019C0008095892381BB50EA5A95F1F7AE014F5FAC
+:1019D0005F4F712C80E090E0EDE1F1E0DE011196C7
+:1019E000232D01900D922A95E1F7FA012191319171
+:1019F000AF01B901607F77276032710511F463B1DF
+:101A000013C06033710511F466B10EC06034710506
+:101A100011F469B109C06035710511F46CB104C0ED
+:101A200060367105A1F46FB170E02F70332702C0EA
+:101A3000759567952A95E2F760FD07C0202F082E5F
+:101A400001C0220F0A94EAF701C020E0722A019631
+:101A50008630910509F6F6018081871539F170828B
+:101A600080910101882301F18091E20180FF04C08F
+:101A70008EE293E00E94A8068091E20180FF0CC0F4
+:101A8000809101011F928F93BF92AF920E944107F4
+:101A90000F900F900F900F908091E20180FF04C093
+:101AA00087E293E00E94A806409201010E94850A05
+:101AB000FFEFCF1ADF0AE814F90409F011CF809183
+:101AC00001018823B1F0815080930101882339F00E
+:101AD0008FE99FE00197F1F700C000000AC0A7E678
+:101AE000B1E0E9E5F1E081918D9391E0E736F90706
+:101AF000D1F786E997E0892B11F00E94960781E0E3
+:101B0000A0960FB6F894DEBF0FBECDBFDF91CF9188
+:101B10001F910F91FF90EF90DF90CF90BF90AF900B
+:101B20009F908F907F906F905F904F903F902F90FD
+:101B30000895E82FF0E0E959FE4F80810895CF9293
+:101B4000DF92EF92FF920F931F93CF93DF9380E189
+:101B500093E00E94A80677E6E72E71E0F72EC0E03A
+:101B6000D0E0EBE0CE2EE3E0DE2E02E013E0DF93E8
+:101B7000CF93DF92CF920E94410788E093E00E94CA
+:101B8000A806F70181917F0190E00E94B2219F9306
+:101B90008F931F930F930E94410780E093E00E9470
+:101BA000A80621968DB79EB708960FB6F8949EBFEB
+:101BB0000FBE8DBFCE30D105D1F6DF91CF911F91F1
+:101BC0000F91FF90EF90DF90CF900895809180016A
+:101BD00008959FB7F894109277019FBF9091F901F3
+:101BE000943009F058C09091E9009F702091EC006A
+:101BF00020FF02C020E801C020E0292B94E0909350
+:101C0000E9009091EB0090FF43C09091EE0097FFA8
+:101C10003FC090917501992321F09091E80095FFC4
+:101C200037C01092750196E03091E80035FD15C07F
+:101C30003091F901343061F53091EB0035FD28C069
+:101C4000915021F481E08093750122C0EFE9FFE01B
+:101C50003197F1F700C00000E7CF8093F100809149
+:101C6000E80085FD0AC08091E80080FFFCCF8091EC
+:101C7000E8008E778093E80006C08FB7F89491E073
+:101C8000909377018FBF2F702093E90080E0089533
+:101C90002F702093E9008FEF0895CF93DF9300D04A
+:101CA0001F92CDB7DEB72091F901243019F523E05A
+:101CB00029839B838A832093E9008FEF9091E8002A
+:101CC000815095FD06C095ED9A95F1F700008111C0
+:101CD000F5CF8091E80085FF0DC040E050E063E063
+:101CE00070E0CE0101960E94EA108091E8008E77A4
+:101CF0008093E8000F900F900F90DF91CF9108959F
+:101D0000CF93DF9300D01F92CDB7DEB72091F901BA
+:101D1000243021F522E029839B838A8383E080930A
+:101D2000E9008FEF9091E800815095FD06C095ED98
+:101D30009A95F1F700008111F5CF8091E80085FFB9
+:101D40000DC040E050E063E070E0CE0101960E94DB
+:101D5000EA108091E8008E778093E8000F900F9052
+:101D60000F90DF91CF9108952091F9012430F1F483
+:101D700022E02093E9002FEF3091E800215035FD5B
+:101D800006C035ED3A95F1F700002111F5CF20910D
+:101D9000E80025FF0BC040E050E065E070E00E94E5
+:101DA000EA108091E8008E778093E8000895CF9341
+:101DB000DF93EC018091F901843039F581E0809363
+:101DC000E9008FEF9091E800815095FD06C095EDF8
+:101DD0009A95F1F700008111F5CF8091E80085FF19
+:101DE00014C040E050E068E070E0CE010E94EA10CC
+:101DF0008091E8008E778093E80088E0FE01A8E7F4
+:101E0000B1E001900D928A95E1F7DF91CF910895AD
+:101E10008DE593E00E94A8068091F801811109C028
+:101E20000E947C120E94D9128091E200846080930B
+:101E3000E200089589E593E00E94A8061092F80157
+:101E4000089585E593E00C94A80681E593E00C9451
+:101E5000A8068DE493E00E94A8060C9409228091C4
+:101E600076018F5F8093760162E30E94342D911199
+:101E700035C01092760180917701882379F18091A5
+:101E8000F901843049F58091E9008F709091EC0060
+:101E900090FF02C090E801C090E0982B84E080930E
+:101EA000E9008091EB0080FF14C08091EE0087FF75
+:101EB00010C08091E80085FF03C01092F100F9CFB7
+:101EC0008091E80080FF05C08091E8008E778093C4
+:101ED000E8009F709093E90010927701089542E026
+:101EE00061EC81E00E94F61142E061EC82E00E9428
+:101EF000F61142E061EC83E00E94F61142E261ECEF
+:101F000084E00C94F6118091FB01833009F453C0F6
+:101F100030F4813071F0823009F48CC008958A3039
+:101F200009F478C08B3009F45EC0893009F09AC09A
+:101F300020C08091FA01813A09F094C08091E800B4
+:101F4000877F8093E8008091FE019091FF01892BAB
+:101F500021F060E080E090E003C068E088E791E075
+:101F600070E00E9433118091E8008B778093E80045
+:101F700008958091FA01813209F074C08091FE01C8
+:101F80009091FF01892B09F06DC08091E800877F57
+:101F90008093E8008091E80082FD05C08091F901FE
+:101FA0008111F8CF5FC08091F10080938001809112
+:101FB000E8008B7753C08091FA01813A09F052C052
+:101FC0008091FE019091FF01892B09F04BC0809117
+:101FD000E800877F8093E8008091E80080FFFCCFD5
+:101FE00080910C0136C08091FA018132D9F580913F
+:101FF000FE019091FF01892BA9F58091E800877F70
+:102000008093E8000E942B128091FC0180930C01C8
+:102010000C943C1B8091FA01813221F58091E800FB
+:10202000877F8093E8000E942B128091FD018093AE
+:10203000810108958091FA01813AA1F48091E8002C
+:10204000877F8093E8008091E80080FFFCCF80913B
+:1020500081018093F1008091E8008E778093E80001
+:102060000C942B12089584B7877F84BF88E10FB644
+:10207000F89480936000109260000FBE90E080E8BA
+:102080000FB6F89480936100909361000FBE0E9498
+:10209000FE150E947C120E94D9128091E200846099
+:1020A0008093E20089EE9DE00E94482178940E948E
+:1020B00053150E94001682E091E00E9470158CE397
+:1020C00093E00E94A8068091F901853089F488E3A5
+:1020D00093E00E94A8060E94CC218091F7018823FA
+:1020E00091F30E94F421882371F30E94D410EBCF66
+:1020F0000E942E16E8CF292F332723303105A9F06F
+:102100006CF42130310509F442C02230310509F068
+:1021100043C084E790E025E933E042C02132310535
+:10212000C9F02232310519F137C099278130910564
+:1021300041F08230910541F0892B71F5E1E9F3E03E
+:1021400005C0E9E7F3E002C0E1E6F3E0849190E046
+:102150009F0126C0643000F5E62FF0E0EE0FFF1F70
+:10216000EF5BFE4F2081318189E090E019C064303F
+:1021700098F4E62FF0E0DF01AA0FBB1FA75CBE4F6B
+:102180002D913C91EB5CFE4F808190E009C082E193
+:1021900090E029E034E004C080E090E020E030E00E
+:1021A000FA0131832083089580E189BD82E189BDF0
+:1021B00009B400FEFDCF8091D8008F7D8093D800B8
+:1021C0008091E00082608093E0008091E00081FDDA
+:1021D000FCCF0895CF92DF92EF92FF920F931F935F
+:1021E000CF93DF937C018B01EA010E944C12811195
+:1021F00031C0209731F088819981081B190BE80EB6
+:10220000F91EC12CD12C0115110519F18091E8009E
+:1022100085FD14C08091E8008E778093E8002097B8
+:1022200041F0888199818C0D9D1D9983888385E07B
+:1022300011C00E944C12882331F30CC0F701819128
+:102240007F018093F10001501109FFEFCF1ADF0ADF
+:10225000DACF80E0DF91CF911F910F91FF90EF9047
+:10226000DF90CF900895209100023091010226174F
+:10227000370748F06115710539F42091E8002E7791
+:102280002093E80001C0B901FC0120E0611571054F
+:10229000B9F18091F901882309F440C0853009F42F
+:1022A0003FC08091E80083FD3DC08091E80082FF3F
+:1022B00006C08091E80082FF26C080E008958091EA
+:1022C000E80080FFE3CF2091F3008091F20090E0DE
+:1022D000922B6115710551F08830910538F42191E8
+:1022E0002093F100615071090196F3CF21E0089726
+:1022F00009F020E08091E8008E778093E800C6CF57
+:102300002111C7CFD6CF8091F901882339F08530CC
+:1023100039F08091E80083FFCCCF04C082E00895BB
+:1023200083E0089581E00895209100023091010238
+:102330002617370748F06115710539F42091E80038
+:102340002E772093E80001C0B901FC0120E061155F
+:102350007105C1F18091F901882309F441C08530EC
+:1023600009F440C08091E80083FD3EC08091E80000
+:1023700082FF06C08091E80082FF27C080E00895B8
+:102380008091E80080FFE3CF2091F3008091F2007C
+:1023900090E0922B6115710559F08830910540F459
+:1023A00024912093F1003196615071090196F2CF8A
+:1023B00021E0089709F020E08091E8008E77809373
+:1023C000E800C5CF2111C6CFD5CF8091F901882370
+:1023D00039F0853039F08091E80083FFCBCF04C01D
+:1023E00082E0089583E0089581E00895982F973062
+:1023F00058F59093E900981739F07091EC0020910E
+:10240000ED005091F00003C0242F762F50E021FF03
+:1024100019C03091EB003E7F3093EB003091ED001E
+:102420003D7F3093ED003091EB0031603093EB0055
+:102430007093EC002093ED005093F0002091EE009B
+:1024400027FF07C09F5FD3CF8F708093E90081E0A3
+:10245000089580E008958091FA0187FD05C080917C
+:10246000E80080FF0EC012C08091E80082FD05C028
+:102470008091F9018111F8CF08958091E8008B7760
+:1024800008C08091F9018111EACF08958091E80098
+:102490008E778093E80008958091E4009091E500A4
+:1024A00045E62091EC0020FF21C02091E80020FDAE
+:1024B00021C02091F901222389F0253089F0209153
+:1024C000EB0025FD0FC02091E4003091E5002817B6
+:1024D000390739F3415041F0C901E3CF82E0089553
+:1024E00083E0089581E0089584E008952091E80054
+:1024F00022FFDFCF80E008950E94EA120E94F212CC
+:10250000E0EEF0E0808181608083E8EDF0E08081A2
+:102510008F77808319BCA7EDB0E08C918E7F8C9370
+:1025200080818F7E80831092F80108950F931F930E
+:10253000CF93DF930E94EA120E94F212C8EDD0E01E
+:1025400088818F77888388818068888388818F7D60
+:10255000888319BC1092F9011092F5011092F701CD
+:102560001092F60100EE10E0F80180818B7F8083ED
+:1025700088818160888342E060E080E00E94F611FB
+:10258000E1EEF0E080818E7F8083E2EEF0E08081FA
+:1025900081608083808188608083F80180818E7F64
+:1025A0008083888180618883DF91CF911F910F9113
+:1025B0000895E8EDF0E080818F7E8083E7EDF0E024
+:1025C00080818160808384E082BF81E08093F80114
+:1025D0000C949612E8EDF0E080818E7F808310925B
+:1025E000E20008951092DA001092E10008951F921F
+:1025F0000F920FB60F9211242F933F934F935F9337
+:102600006F937F938F939F93AF93BF93EF93FF93BA
+:102610008091E10082FF0BC08091E20082FF07C041
+:102620008091E1008B7F8093E1000E942F0F8091C9
+:10263000DA0080FF1FC08091D80080FF1BC080910E
+:10264000DA008E7F8093DA008091D90080FF0DC080
+:1026500080E189BD82E189BD09B400FEFDCF81E042
+:102660008093F9010E94080F05C019BC1092F9016E
+:102670000E941A0F8091E10080FF19C08091E20052
+:1026800080FF15C08091E2008E7F8093E2008091F0
+:10269000E20080618093E2008091D80080628093A4
+:1026A000D80019BC85E08093F9010E94250F809124
+:1026B000E10084FF30C08091E20084FF2CC080E103
+:1026C00089BD82E189BD09B400FEFDCF8091D800AB
+:1026D0008F7D8093D8008091E1008F7E8093E10010
+:1026E0008091E2008F7E8093E2008091E200816021
+:1026F0008093E2008091F501882311F084E007C007
+:102700008091E30087FF02C083E001C081E08093F5
+:10271000F9010E94290F8091E10083FF29C0809177
+:10272000E20083FF25C08091E100877F8093E10074
+:1027300082E08093F9011092F5018091E1008E7F93
+:102740008093E1008091E2008E7F8093E20080918F
+:10275000E20080618093E20042E060E080E00E945D
+:10276000F6118091F00088608093F0000E94210FA4
+:10277000FF91EF91BF91AF919F918F917F916F9159
+:102780005F914F913F912F910F900FBE0F901F902F
+:1027900018951F920F920FB60F9211242F933F930B
+:1027A0004F935F936F937F938F939F93AF93BF9359
+:1027B000CF93EF93FF93C091E900CF708091EC002D
+:1027C0001092E9008091F000877F8093F000789468
+:1027D0000E9405141092E9008091F00088608093B7
+:1027E000F000C093E900FF91EF91CF91BF91AF91BD
+:1027F0009F918F917F916F915F914F913F912F9119
+:102800000F900FBE0F901F9018951F93CF93DF93DB
+:10281000CDB7DEB7AA970FB6F894DEBF0FBECDBF17
+:10282000EAEFF1E08091F100819322E0E230F207DB
+:10283000C9F70E94830F8091E80083FF1CC120919B
+:10284000FA013091FB01832F90E08A30910508F066
+:1028500012C1FC01E15AFF4F0C94542D203881F035
+:10286000223809F008C18091FE018F708093E90041
+:102870008091EB0085FB882780F91092E90006C063
+:102880008091F6019091F701911182609091E8009A
+:10289000977F9093E8008093F1001092F100C5C0FB
+:1028A000822F8D7F09F0E7C0222319F0223061F0DA
+:1028B000E2C08091FC01813009F0DDC0333009F0C5
+:1028C00080E08093F70128C08091FC01811124C031
+:1028D0002091FE012F7009F4CEC02093E900809171
+:1028E000EB0080FF19C08091EB00333011F480625F
+:1028F00011C080618093EB0081E090E0022E01C066
+:10290000880F0A94EAF78093EA001092EA00809117
+:10291000EB0088608093EB001092E9008091E80062
+:10292000877F86C02111A7C01091FC011F7780917D
+:10293000E3008078812B8093E3008091E800877F1B
+:102940008093E8000E942B128091E80080FFFCCF6A
+:102950008091E30080688093E300112311F083E00D
+:1029600001C082E08093F90186C02058223008F02F
+:1029700082C08091FC019091FD018C3D23E0920783
+:1029800079F583E08A838AE289834FB7F894DE0180
+:10299000139620E03EE051E2E32FF0E05093570021
+:1029A000E49120FF03C0E295EF703F5FEF708E2F40
+:1029B00090E0EA3010F0C79601C0C0968D939D93C9
+:1029C0002F5F243149F74FBF8091E800877F8093C4
+:1029D000E8006AE270E0CE0101960E94331114C053
+:1029E000AE014F5F5F4F6091FE010E947B10009728
+:1029F00009F441C02091E800277F2093E800BC0142
+:102A000089819A810E9494118091E8008B7780934C
+:102A1000E80031C0203879F58091E800877F809305
+:102A2000E8008091F5018093F1008091E8008E77B5
+:102A30008093E8000E942B121EC021111CC09091AF
+:102A4000FC019230C0F48091E800877F8093E80019
+:102A50009093F5010E942B128091F501811104C021
+:102A60008091E30087FF02C084E001C081E0809391
+:102A7000F9010E946F0F8091E80083FF0AC08091E6
+:102A8000E800877F8093E8008091EB00806280936C
+:102A9000EB00AA960FB6F894DEBF0FBECDBFDF9154
+:102AA000CF911F910895CF938091F9018823B1F0C0
+:102AB0008091E9008F709091EC0090FF02C090E847
+:102AC00001C090E0C92FC82B1092E9008091E80066
+:102AD00083FD0E940514CF70C093E900CF91089543
+:102AE00090938701809386010895E0918601F0918B
+:102AF0008701309721F00190F081E02D099480E06A
+:102B00000895FF920F931F93CF93DF938C01E09171
+:102B10008601F0918701309799F10280F381E02DD1
+:102B200009958091E20182FF2BC080FF04C085E0FF
+:102B300095E00E94A806E80188E0F82E0FEF14E067
+:102B40008091E20180FF0BC088811F928F931F93B9
+:102B50000F930E9441070F900F900F900F90FA94DF
+:102B60002196F110EDCF8091E20180FF09C08DEF39
+:102B700094E0DF91CF911F910F91FF900C94A806E4
+:102B8000DF91CF911F910F91FF900895E091860101
+:102B9000F0918701309721F00480F581E02D0994B0
+:102BA000089520918401309185018217930771F077
+:102BB0009093850180938401E0918601F0918701D3
+:102BC000309721F00680F781E02D09940895209137
+:102BD0008201309183018217930771F090938301F2
+:102BE00080938201E0918601F0918701309721F076
+:102BF0000084F185E02D0994089508950C94FD1545
+:102C00000E9434220E944A0B0C94FA22CF93C82FC0
+:102C10008091E20182FF1EC080FF04C08EE195E03A
+:102C20000E94A8068091E20180FF0CC01F92CF9302
+:102C300029E135E03F932F930E9441070F900F90B9
+:102C40000F900F908091E20180FF04C087E195E032
+:102C50000E94A8068C2FCF910C94840ACF92DF9209
+:102C6000EF92FF920F931F93CF93DF93CDB7DEB711
+:102C70002B970FB6F894DEBF0FBECDBF0E943C0C61
+:102C800039E8E32E31E0F32E00E010E0C02E802F73
+:102C90000E94990DF701D1907F01D826B1F40F5F02
+:102CA0001F4F0E30110591F78FEF89838A831B82A6
+:102CB0000E943D228160782F9D838C8349815A81B7
+:102CC0006B818D810E94D11641C09091E20191FFEC
+:102CD00004C08B870E949F0D8B8520E030E04D2D36
+:102CE00050E0922FBA01022E02C0759567950A94A2
+:102CF000E2F760FF25C02E83CF82EE24E394F12C0F
+:102D000002C0EE0CFF1C9A95E2F790E08E219F2105
+:102D100021E0892B09F420E028870E943D22816070
+:102D2000782F9A8789874E815F8168858A850E947E
+:102D3000D116F801E757FE4F80818E25808306C0AB
+:102D40002F5F3F4F2630310561F6A9CF0E946126E3
+:102D5000109188010E9475151817A1F00E94751531
+:102D6000809388012B960FB6F894DEBF0FBECDBFBF
+:102D7000DF91CF911F910F91FF90EF90DF90CF9057
+:102D80000C9406162B960FB6F894DEBF0FBECDBF7F
+:102D9000DF91CF911F910F91FF90EF90DF90CF9037
+:102DA0000895CF93DF93CDB7DEB72B970FB6F89486
+:102DB000DEBF0FBECDBF4F83588769877A878B8769
+:102DC000DE01119686E0FD0111928A95E9F785E012
+:102DD000FE01379601900D928A95E1F749815A815B
+:102DE0006B817C818D819E810E94081E2B960FB67F
+:102DF000F894DEBF0FBECDBFDF91CF910895CF9382
+:102E0000C82F882309F4C1C0823859F40E9475156F
+:102E100081FDBBC089E30E94A7200E94222189E393
+:102E20000CC0833879F40E94751580FDAEC083E52F
+:102E30000E94A7200E94222183E50E94C820CF91F2
+:102E40000C942221843859F40E94751582FD9DC08E
+:102E500087E40E94A7200E94222187E4EECF8CEF16
+:102E60008C0F813A48F48C2F0E94BD2A81118DC0AD
+:102E70008C2F0E94A720E3CF80E28C0F883048F48B
+:102E8000C77081E001C0880FCA95EAF70E94E92067
+:102E9000D6CF8BE58C0F833078F4C53A29F0C63A4B
+:102EA00031F482E890E005C081E890E002C083E858
+:102EB00090E0CF910C94D11588E58C0F833108F008
+:102EC00064C0C83A39F1C93A41F1CA3A49F1CB3A3A
+:102ED00051F1CC3A59F1CD3A61F1C03B69F1CE3AAA
+:102EE00071F1CF3A79F1C13B81F1C23B89F1C33B2A
+:102EF00091F1C43B99F1C53BA1F1C63BA9F1C73B98
+:102F0000B1F1C83BB9F1C93BC1F1CA3BC9F58AE28D
+:102F100092E038C082EE90E035C089EE90E032C099
+:102F20008AEE90E02FC085EB90E02CC086EB90E01D
+:102F300029C087EB90E026C08CEC90E023C08DEC9C
+:102F400090E020C083E891E01DC08AE891E01AC0BB
+:102F500082E991E017C084E991E014C081E292E037
+:102F600011C083E292E00EC084E292E00BC085E2E1
+:102F700092E008C086E292E005C087E292E002C0DB
+:102F800080E090E0CF910C94E715CF9108958823CD
+:102F900009F44BC0823859F40E94751581FF45C071
+:102FA00089E30E94A7200E94222189E30CC0833874
+:102FB00071F40E94751580FF38C083E50E94A72038
+:102FC0000E94222183E50E94C8200C94222184388B
+:102FD00059F40E94751582FF28C087E40E94A7203B
+:102FE0000E94222187E4EFCF9CEF980F913A58F38B
+:102FF00090E2980F983050F4877091E001C0990FDB
+:103000008A95EAF7892F0E94EF20DFCF9BE5980F82
+:10301000933020F480E090E00C94D115885A8331ED
+:1030200020F480E090E00C94E7150895882321F0C7
+:103030000E94E9200C9422210895882321F00E9407
+:10304000EF200C9422210895CF92DF92EF92FF920D
+:103050000F931F93CF93DF93CDB7DEB728970FB6AB
+:10306000F894DEBF0FBECDBF8C0185E0F801DE0114
+:10307000119601900D928A95E1F7F8014081318116
+:10308000F280258122952F7083819481892B31F0E4
+:103090003F3F31F481E04F3F19F403C081E001C0AC
+:1030A00080E080FDC8C249833A8389819A812F8359
+:1030B0000E9465209E8388870E9464200E94371F9B
+:1030C0004E81E42FE295EF70F0E0E759FF4F2F813A
+:1030D00068850C94542D842F807F142F1F708823B3
+:1030E00011F01295107FFF2059F0112309F458C2F6
+:1030F000812F68870E94F9200E942221688550C292
+:10310000862F0E94C717112309F495C2812F0E94B0
+:10311000FF2028960FB6F894DEBF0FBECDBFDF911B
+:10312000CF911F910F91FF90EF90DF90CF900C9473
+:103130002221342F307F842F8F70303211F082950E
+:10314000807F662319F0613009F12AC0FF20A1F0C9
+:10315000222381F1213071F528960FB6F894DEBF55
+:103160000FBECDBFDF91CF911F910F91FF90EF90D8
+:10317000DF90CF900C940921222319F0213009F41B
+:103180005AC28E830E940C218E818EC1FF2021F0B5
+:10319000263008F050C20EC0253008F04CC284C161
+:1031A000FF20C1F0222331F0F801958190FFF8C192
+:1031B0009F70958328960FB6F894DEBF0FBECDBFE3
+:1031C000DF91CF911F910F91FF90EF90DF90CF9003
+:1031D0000C941618222309F467C1F6C1242F2695F2
+:1031E0002695237030E02115310521F0213031057D
+:1031F000C9F021C2FF2021F0862F942F937002C0C6
+:1032000080E090E028960FB6F894DEBF0FBECDBFE9
+:10321000DF91CF911F910F91FF90EF90DF90CF90B2
+:103220000C94D115FF2021F0862F942F937002C0AB
+:1032300080E090E028960FB6F894DEBF0FBECDBFB9
+:10324000DF91CF911F910F91FF90EF90DF90CF9082
+:103250000C94E715862FFF2019F00E94E72402C086
+:103260000E944F2528960FB6F894DEBF0FBECDBF43
+:10327000DF91CF911F910F91FF90EF90DF90CF9052
+:103280000C94D425842F837009F076C0F110D3C13B
+:10329000262F229526952770220F220F862F8F70BA
+:1032A000C82ED12CE12CF12C022E04C0CC0CDD1C3C
+:1032B000EE1CFF1C0A94D2F764FF10C06FE070E0B0
+:1032C00080E090E004C0660F771F881F991F2A9541
+:1032D000D2F7609570958095909503C060E070E09E
+:1032E000CB01242F269526952370422F50E04230A3
+:1032F0005105D1F04330510559F16C297D298E29B2
+:103300009F294130510541F128960FB6F894DEBF50
+:103310000FBECDBFDF91CF911F910F91FF90EF9026
+:10332000DF90CF900C945C1F6C297D298E299F29FA
+:1033300028960FB6F894DEBF0FBECDBFDF91CF91B8
+:103340001F910F91FF90EF90DF90CF900C94761F1C
+:103350000E945C1FC701B60128960FB6F894DEBF25
+:103360000FBECDBFDF91CF911F910F91FF90EF90D6
+:10337000DF90CF900C94421FFF2019F0842F8170B2
+:1033800001C08695882309F456C1262F22952695DB
+:103390002770220F220F862F8F70C82ED12CE12C80
+:1033A000F12C022E04C0CC0CDD1CEE1CFF1C0A9478
+:1033B000D2F764FF10C06FE070E080E090E004C0DE
+:1033C000660F771F881F991F2A95D2F76095709511
+:1033D0008095909503C060E070E0CB01242F269586
+:1033E00026952370422F50E042305105D1F04330F2
+:1033F000510559F16C297D298E299F2941305105AC
+:1034000041F128960FB6F894DEBF0FBECDBFDF9115
+:10341000CF911F910F91FF90EF90DF90CF900C9480
+:1034200030206C297D298E299F2928960FB6F89483
+:10343000DEBF0FBECDBFDF91CF911F910F91FF90E7
+:10344000EF90DF90CF900C944A200E943020C7016B
+:10345000B60128960FB6F894DEBF0FBECDBFDF9140
+:10346000CF911F910F91FF90EF90DF90CF900C9430
+:103470001620603F49F118F4603E48F48CC0623F6A
+:1034800009F451C0E0F1633F09F461C084C0162F14
+:103490001F70842F8F71FF2021F00E94AF1F812F9A
+:1034A00089CE0E94D01F812F28960FB6F894DEBFD8
+:1034B0000FBECDBFDF91CF911F910F91FF90EF9085
+:1034C000DF90CF900C941D18FF20A9F0253008F054
+:1034D000B2C0842F8F7128960FB6F894DEBF0FBE4E
+:1034E000CDBFDF91CF911F910F91FF90EF90DF90B3
+:1034F000CF900C94F51F263008F09DC0EACFFF2036
+:10350000A1F0842F8F7128960FB6F894DEBF0FBEFE
+:10351000CDBFDF91CF911F910F91FF90EF90DF9082
+:10352000CF900C94AF1FFF2061F3842F8F712896EA
+:103530000FB6F894DEBF0FBECDBFDF91CF911F91C4
+:103540000F91FF90EF90DF90CF900C94D01FFF2051
+:1035500091F0842F8F7128960FB6F894DEBF0FBEBE
+:10356000CDBFDF91CF911F910F91FF90EF90DF9032
+:10357000CF900C949A1F28960FB6F894DEBF0FBE1A
+:10358000CDBFDF91CF911F910F91FF90EF90DF9012
+:10359000CF900C94901FFF20A1F0222309F4B1CF0B
+:1035A000862F28960FB6F894DEBF0FBECDBFDF91F1
+:1035B000CF911F910F91FF90EF90DF90CF900C94DF
+:1035C000FF16222309F4B1CF862F28960FB6F89460
+:1035D000DEBF0FBECDBFDF91CF911F910F91FF9046
+:1035E000EF90DF90CF900C94C7174F70C8010E94E6
+:1035F0004A0728960FB6F894DEBF0FBECDBFDF9105
+:10360000CF911F910F91FF90EF90DF90CF900C948E
+:10361000B51E4F70C80128960FB6F894DEBF0FBED6
+:10362000CDBFDF91CF911F910F91FF90EF90DF9071
+:10363000CF900C942E0928960FB6F894DEBF0FBEDB
+:10364000CDBFDF91CF911F910F91FF90EF90DF9051
+:10365000CF9008950E9406210E94DB200E94222123
+:103660000E9402270E94D42580E090E00E94D1159C
+:1036700080E090E00C94E7150E94F6200C942A1B41
+:103680000E946520292F22952F7030E02C303105C3
+:103690004CF42A3031056CF42250310922303105C6
+:1036A00090F407C02C30310551F02F30310539F03E
+:1036B0000AC0803E10F0803F31F481E0089593FB12
+:1036C000882780F9089580E00895CF93DF9300D094
+:1036D00000D01F92CDB7DEB70F900F900F900F90D4
+:1036E0000F90DF91CF910895CF93DF9300D000D05A
+:1036F00000D0CDB7DEB726960FB6F894DEBF0FBE6A
+:10370000CDBFDF91CF9108951F93CF93DF93C091E9
+:10371000970116E080919801C81799F0D0E01C9F9E
+:10372000F0011D9FF00D1124E756FE4F408151819D
+:1037300062817381848195810E94741B2196C77078
+:10374000E9CFDF91CF911F9108954091C901509128
+:10375000CA016091CB017091CC018091CD01909113
+:10376000CE010C94741BCF938091CE0182958F7003
+:1037700009F05FC08091CB01882309F45AC02091E1
+:103780009701A09198016091C9017091CA0180913F
+:10379000CC019091CD0131E06F3F09F030E0B32FC3
+:1037A000C6E02A1709F445C0009721F07F3F21F4B5
+:1037B0004B2F03C041E001C040E030E040FD35C088
+:1037C000C29FF001C39FF00D1124E756FE4F4181C7
+:1037D00074132BC04081641328C04281411125C05D
+:1037E000438154814817590710F441505109481B2F
+:1037F000590B44365105C8F48091CE018F70806119
+:103800008093CE0186E0829FF001839FF00D11240A
+:10381000E256FE4F80818F708061808389EC91E059
+:103820000E942418CF910C94841B2F5F3F4F277068
+:10383000B8CFCF910895CF92DF92EF92FF920F937E
+:103840001F93CF93DF93CDB7DEB762970FB6F8948F
+:10385000DEBF0FBECDBF8C0185E0F801DE011D96F5
+:1038600001900D928A95E1F7D8014C9111965C91E7
+:10387000119712966C9112971396ED90FC901497F5
+:103880007091C901E091CA012091CC013091CD0124
+:103890002115310531F0EF3F31F481E07F3F19F41C
+:1038A00003C081E001C080E0B82FB170CB2E80FD55
+:1038B0006CC1D090CB01DD2009F4F5C0F091CE01B0
+:1038C000E216F30638F0C701821B930B843691058C
+:1038D00048F09BC0209530952E0D3F1D24363105B4
+:1038E00008F093C08F2F807F09F052C0E51314C0F9
+:1038F000741312C0D62E61110FC0FF70F061F093E7
+:10390000CE010E94A51B89EC91E00E9424188091B1
+:10391000CE01F80185836CC1EF2831F05F3F31F4AF
+:1039200081E04F3F19F403C081E001C080E080FDD9
+:1039300003C081E0862701C080E0F82FF170FF2EE0
+:1039400080FF1CC0809197012091980136E082177A
+:1039500009F428C190E0389FF001399FF00D11243F
+:10396000E756FE4F7181571306C07081471303C09D
+:103970007281671303C001968770E9CFD62E662344
+:1039800009F436C18091CE0181608093CE0153C08D
+:10399000E51308C0741306C0611104C0D801159660
+:1039A000FC93AEC04D875E878D859E856A8B0E9495
+:1039B000401B6A89882329F1D62E662311F12091B4
+:1039C000CE01822F82958F7090E002970CF460C038
+:1039D0008091C9019091CA0198878F831986FB86CF
+:1039E000EA862C87CE01079651C0E51731F14D8745
+:1039F0005E878D859E856A8B0E94401B6A89811136
+:103A00002EC0C8010E942418A4C08F2F807F69F7A0
+:103A10007E2DF98AE88A89890E94651B89EC91E0EC
+:103A20000E942418E9ECF1E086E0DF011D928A95FE
+:103A3000E9F70E94A51BD12CDBC07413D8CF61110C
+:103A4000D6CFD8011596FC93C8010E942418E9EC42
+:103A5000F1E086E0DF011D928A95E9F7C9C0D62E14
+:103A6000662379F22091CE01822F82958F7090E0AB
+:103A7000029774F08091C9019091CA019A83898359
+:103A80001B82FD82EC822E83CE0101960E942418B7
+:103A900086E0F801A9ECB1E001900D928A95E1F77A
+:103AA0000E94B31B6FC0E216F30628F0C701821B09
+:103AB000930B9C0104C0209530952E0D3F1D24369C
+:103AC000310508F052C0D62E662309F49ACFE513CB
+:103AD0002CC074132AC08091CE0180FD1DC0982F88
+:103AE00092959F70C9F0D80115968C9315979F30C9
+:103AF00039F09F5F9295907F8F70892B15968C93EC
+:103B0000C8010E94241886E0F801A9ECB1E00190F8
+:103B10000D928A95E1F736C086E0F801A9ECB1E094
+:103B200001900D928A95E1F763C04D875E878D8580
+:103B30009E850E94401B882379F086E0F801A9EC5D
+:103B4000B1E001900D928A95E1F70E94B31B0E94AB
+:103B5000A51BDD24D3944CC08091CE01816080935D
+:103B6000CE01C8010E94241843C07E2DF98AE88A3C
+:103B700089890E94651BE9ECF1E086E0DF011D9276
+:103B80008A95E9F70E94A51B33C0662309F439CF53
+:103B90004D875E878D859E850E94401B882309F492
+:103BA00030CFCBCF4D875E878D859E850E94652067
+:103BB000292F22952F7030E0223031052CF49F7090
+:103BC00041F0811106C00CC0243031052CF49F70E7
+:103BD00049F4805E883020F0C8010E942418CF2C60
+:103BE000DC2C06C0D80115969C91907F91F7F8CFF8
+:103BF0008D2D62960FB6F894DEBF0FBECDBFDF915C
+:103C0000CF911F910F91FF90EF90DF90CF9008958B
+:103C10001F93CF93DF93CDB7DEB72C970FB6F894F1
+:103C2000DEBF0FBECDBF4F83588769877A878B87EA
+:103C30009C87CE0107960E941B1C8823C1F02F8110
+:103C400038858A859B85892B31F03F3F11F080E0D4
+:103C500003C02F3FE1F781E0811147C04F815885B4
+:103C600069857A858B859C850E94741B3EC086E0A1
+:103C7000FE013796DE01119601900D928A95E1F7CB
+:103C8000FF81E8854A855B854115510531F0EF3F9D
+:103C900031F481E0FF3F19F403C081E001C080E00E
+:103CA00080FD23C02091980130E0C9010196877002
+:103CB00099276091970170E086179707F1F1F983D2
+:103CC000EA835D834C8396E0929FD001939FB00D71
+:103CD0001124A756BE4FFE01319601900D929A9580
+:103CE000E1F7809398010E94841B16E08091970170
+:103CF00090919801891779F1189FC0011124875676
+:103D00009E4F0E941B1C882331F1E09197011E9F5A
+:103D1000F0011124E756FE4F408151816281738189
+:103D2000848195810E94741B8091970190E0019697
+:103D30008770992780939701D9CF0E943C1B1092DE
+:103D4000980110929701E9ECF1E086E0DF011D9205
+:103D50008A95E9F7CACF2C960FB6F894DEBF0FBE4E
+:103D6000CDBFDF91CF911F910895EF92FF920F93F6
+:103D70001F93CF93DF939C01009709F471C0F12C3E
+:103D8000EE24E394E9012196F9018491843740F40B
+:103D9000843008F056C0813081F0823021F160C05B
+:103DA000853709F449C0C0F19CE7980F903708F0B7
+:103DB00057C08F770E94C71746C089010E5F1F4FFB
+:103DC000FE01849190E2980F983050F48770FE2D98
+:103DD00001C0FF0F8A95EAF78F2F0E94F92015C0C6
+:103DE0000E94FF1614C089010E5F1F4FFE018491CF
+:103DF00090E2980F983068F48770FE2D01C0FF0F95
+:103E00008A95EAF78F2F0E94FF200E942221E80165
+:103E10001AC00E94C717FBCF2E5F3F4FFE01C4910F
+:103E2000CC2341F08FE99FE00197F1F700C000003B
+:103E3000C150F6CFE90107C0FE01F490E9012296D6
+:103E400002C00E94FF168F2D882341F0EFE9FFE0AA
+:103E50003197F1F700C000008150F6CF9E0192CF5C
+:103E6000DF91CF911F910F91FF90EF9008950895EA
+:103E70006093D3017093D4018093D5019093D601C0
+:103E80000C942A1B0F931F930091D3011091D4011E
+:103E90002091D5013091D601062B172B282B392BD9
+:103EA0000093D3011093D4012093D5013093D60110
+:103EB0001F910F910C942A1B0F931F930091D30114
+:103EC0001091D4012091D5013091D60106231723FA
+:103ED000282339230093D3011093D4012093D501D3
+:103EE0003093D6011F910F910C942A1B0F931F93AF
+:103EF0000091D3011091D4012091D5013091D601C8
+:103F000006271727282739270093D3011093D401B8
+:103F10002093D5013093D6011F910F910C942A1B49
+:103F20001092CF011092D0011092D1011092D201C3
+:103F30000C942A1B41E050E060E070E004C0440FA4
+:103F4000551F661F771F8A95D2F74093CF01509374
+:103F5000D0016093D1017093D2010C942A1B41E0EF
+:103F600050E060E070E004C0440F551F661F771FEB
+:103F70008A95D2F78091CF019091D001A091D10183
+:103F8000B091D201842B952BA62BB72B8093CF0118
+:103F90009093D001A093D101B093D2010C942A1B2D
+:103FA00041E050E060E070E004C0440F551F661F20
+:103FB000771F8A95D2F740955095609570958091BE
+:103FC000CF019091D001A091D101B091D201842371
+:103FD0009523A623B7238093CF019093D001A0937C
+:103FE000D101B093D2010C942A1B41E050E060E073
+:103FF00070E004C0440F551F661F771F8A95D2F7E3
+:104000008091CF019091D001A091D101B091D201C6
+:1040100084279527A627B7278093CF019093D001B7
+:10402000A093D101B093D2010C942A1B0F931F933C
+:104030000091CF011091D0012091D1013091D20196
+:10404000062B172B282B392B0093CF011093D0016F
+:104050002093D1013093D2011F910F910C942A1B10
+:104060000F931F930091CF011091D0012091D101A6
+:104070003091D20106231723282339230093CF013F
+:104080001093D0012093D1013093D2011F910F9151
+:104090000C942A1B0F931F930091CF011091D00114
+:1040A0002091D1013091D2010627172728273927DF
+:1040B0000093CF011093D0012093D1013093D2010E
+:1040C0001F910F910C942A1B0895CF92DF92EF92CB
+:1040D000FF920F931F93CF93DF93EC01C090D30116
+:1040E000D090D401E090D501F090D6018091CF011D
+:1040F0009091D001A091D101B091D201C82AD92AC2
+:10410000EA2AFB2A0FE110E0B701A601002E04C045
+:1041100076956795579547950A94D2F740FF07C063
+:10412000BE01802F0E9451098130910539F4015060
+:10413000110950F7BE0180E00E945109DF91CF9133
+:104140001F910F91FF90EF90DF90CF9008954091D5
+:104150000D0150910E0120E030E09FEFFA01E20FD7
+:10416000F31F6281681799F09F3F19F4611101C034
+:10417000922F2F5F3F4F2630310581F79F3F39F057
+:10418000FA01E90FF11D97FDFA95828308950895CC
+:1041900040910D0150910E0120E030E0FA01E20F54
+:1041A000F31F9281981301C012822F5F3F4F263078
+:1041B0003105A1F7089581E090E0E0910D01F091C3
+:1041C0000E01E80FF91F1082019688309105A9F7BA
+:1041D00008959091E101982B9093E10108958095C5
+:1041E0009091E10198239093E10108951092E101EB
+:1041F00008959091E001982B9093E00108958095A7
+:104200009091E00198239093E00108951092E001CD
+:1042100008958093D70108951092D7010895409191
+:104220000D0150910E0120E030E080E0FA01E20F34
+:10423000F31F918191118F5F2F5F3F4F2730310521
+:10424000A9F70895E0910D01F0910E018091E1012F
+:104250008083E0910D01F0910E0180819091E00149
+:10426000892B80839091D701992361F0E0910D0112
+:10427000F0910E018081892B80830E940F21811192
+:104280001092D70180910D0190910E010C9481152F
+:1042900090935501809354010895CF92DF92EF924D
+:1042A000FF920F931F936C01EE24FF24C114D104DD
+:1042B000E104F10421F46B017C0180E001C080E1A4
+:1042C00033272F2D1E2D0D2D01151105210531052B
+:1042D00019F0885F6801790197018601A4E036959D
+:1042E000279517950795AA95D1F701151105210571
+:1042F000310519F08C5F6801790197018601F2E0C0
+:104300003695279517950795FA95D1F7011511055B
+:104310002105310519F08E5F68017901B701A60109
+:104320007695679557954795452B462B472B09F072
+:104330008F5F1F910F91FF90EF90DF90CF900895C6
+:104340008295982F9C7C96959695837344E0849FE4
+:1043500090011124922B892F8A7A86959575990F51
+:10436000892B08951F93CF93DF931F92CDB7DEB7AC
+:1043700099830E94A021182F9981892F0E94A02142
+:10438000212F30E0322F2227A901482BCA010F909C
+:10439000DF91CF911F9108958091F901843009F147
+:1043A0001092E30120E488E190E00FB6F894A8951C
+:1043B000809360000FBE2093600083B7817F84608C
+:1043C00083BF83B7816083BF7894889583B78E7FDE
+:1043D00083BF88E10FB6F89480936000109260006C
+:1043E0000FBE089508950895CF930E94F2210E9470
+:1043F0003C0C0E94F321C0E08C2F0E94990D81118A
+:1044000005C0CF5FCE30C1F780E001C081E0CF9121
+:1044100008950C943C1B1F920F920FB60F9211241B
+:104420008F939F93AF93BF938091E301811113C04A
+:104430008091E4019091E501A091E601B091E7013E
+:104440004196A11DB11D8093E4019093E501A093D5
+:10445000E601B093E701BF91AF919F918F910F90CB
+:104460000FBE0F901F90189582E084BD93E095BD1C
+:104470009AEF97BD80936E0008952FB7F8948091BE
+:10448000E4019091E501A091E601B091E7012FBF11
+:104490000895CF92DF92EF92FF920F931F932FB761
+:1044A000F8944091E4015091E5016091E60170912A
+:1044B000E7012FBF6A017B01EE24FF248C0120E07D
+:1044C00030E0C016D106E206F30610F4415051095F
+:1044D000481B590BCA011F910F91FF90EF90DF907D
+:1044E000CF9008951F920F920FB60F9211248F93C1
+:1044F0009F93AF93BF938091E4019091E501A091C8
+:10450000E601B091E7010196A11DB11D8093E40180
+:104510009093E501A093E601B093E701BF91AF91BD
+:104520009F918F910F900FBE0F901F9018950E9432
+:104530007C12F8942FEF87EA91E62150804090405A
+:10454000E1F700C0000087E090EBDC0180930202FD
+:1045500090930302A0930402B09305022CE088E13B
+:1045600090E00FB6F894A895809360000FBE20935A
+:104570006000FFCFEF92FF920F931F93CF93DF93D3
+:10458000E82EF12C8F2D0E94990DC0E0D0E0082F6D
+:1045900010E098010C2E02C0359527950A94E2F799
+:1045A00020FD05C02196C630D10599F709C06C2FB2
+:1045B0007F2D80E00E942F09E812F4CF81E005C032
+:1045C000F3948EE0F812DECF80E0DF91CF911F915F
+:1045D0000F91FF90EF900895CF93C82F8CE20E9427
+:1045E000BA22882321F08C2FCF910C94BA2280E03C
+:1045F000CF910895CF930E944024811102C00E9460
+:10460000262488E395E00E94A806C5E6C15049F03B
+:104610000E943C0C8FE39CE90197F1F700C0000079
+:10462000F5CF81E395E00E94A80689E20E94EC2282
+:1046300081110AC18AE20E94EC2281110E94262483
+:1046400085E00E94EC2281110E9497220E944B2457
+:104650008093E20187E00E94EC22882399F18BE1AC
+:104660000E94EC22882351F09091E20191FB88276F
+:1046700080F921E0822780FB91F922C08EE00E9420
+:10468000EC22882351F09091E20192FB882780F977
+:1046900021E0822780FB92F913C080E10E94EC2286
+:1046A0009091E201882341F093FB882780F921E073
+:1046B000822780FB93F904C0892F809580FB90F9B5
+:1046C0009093E2018091E2010E944F240E945D24B8
+:1046D0008093F30180EE0E94EC22882341F08091C8
+:1046E000F301982F909590FB80F98093F30189E373
+:1046F0000E94EC22882359F09091F30191FB8827C6
+:1047000080F921E0822780FB91F99093F30182EEFA
+:104710000E94EC22882359F09091F30192FB8827A4
+:1047200080F921E0822780FB92F99093F30186EED5
+:104730000E94EC22882359F09091F30193FB882783
+:1047400080F921E0822780FB93F99093F30183EEB7
+:104750000E94EC22882359F09091F30194FB882762
+:1047600080F921E0822780FB94F99093F30185E39F
+:104770000E94EC22882359F09091F30195FB882741
+:1047800080F921E0822780FB95F99093F30181E382
+:104790000E94EC22882359F09091F30196FB882720
+:1047A00080F921E0822780FB96F99093F30181E163
+:1047B0000E94EC22882359F09091F30197FB8827FF
+:1047C00080F921E0822780FB97F99093F301809193
+:1047D000F3010E94612487E20E94EC22C82F8EE13F
+:1047E0000E94EC228111C2608FE10E94EC228111B3
+:1047F000C46080E20E94EC228111C86081E20E94C4
+:10480000EC228111C06182E20E94EC228111C0621F
+:1048100083E20E94EC228111C06484E20E94EC22B7
+:10482000882311F0C06802C0CC2329F08C2F0E948D
+:1048300058246C2F03C00E945424682F70E080E03D
+:1048400090E0CF910C94381FCF9108956DEE7EEFDC
+:1048500080E090E00E948A2D60E082E090E00E947B
+:104860007C2D60E083E090E00E947C2D60E084E09D
+:1048700090E00E947C2D60E085E090E00C947C2D1F
+:1048800080E090E00E94762D21E08D3E9E4F09F061
+:1048900020E0822F089582E090E00C946E2D682F26
+:1048A00082E090E00C947C2D83E090E00C946E2DDF
+:1048B000682F83E090E00C947C2D84E090E00C94D1
+:1048C0006E2D682F84E090E00C947C2D8091EA019D
+:1048D00080FF0BC06091120185E0689FB001112438
+:1048E00075956795759567952AC081FF09C0609198
+:1048F000120185E0689FB0011124759567951FC06E
+:1049000082FF07C06091120185E0689FB001112409
+:1049100016C04091EB014423C9F060911101461784
+:1049200088F72091120185E0289F90011124429F71
+:10493000C001439F900D112470E00E94402D60380B
+:10494000710540F46115710539F002C065E070E051
+:10495000862F08958FE7089581E008958091EA01F8
+:1049600080FF08C06091100170E07595679575959E
+:10497000679521C081FF06C06091100170E07595B8
+:10498000679519C082FF04C06091100170E010C0EB
+:104990008091EB018823C1F060910F018617A0F789
+:1049A00090911001989FC001112470E00E94402D49
+:1049B0006038710528F46115710521F0862F08957E
+:1049C0008FE7089581E0089561E070E0F4CF803FC3
+:1049D00021F40E946624819504C0813F29F40E943D
+:1049E00066248093EE010895823F21F40E9466249C
+:1049F000819504C0833F29F40E9466248093ED01D1
+:104A00000895893F19F40E94AE2405C08A3F31F40D
+:104A10000E94AE2481958093EF0108958B3F21F48D
+:104A20000E94AE24819504C08C3F29F40E94AE24DC
+:104A30008093F0010895843F21F48091EC0181601E
+:104A400017C0853F21F48091EC01826011C0863F40
+:104A500021F48091EC0184600BC0873F21F48091A8
+:104A6000EC01886005C0883F31F48091EC018061E1
+:104A70008093EC0108958D3F21F48091EA018160DB
+:104A80000BC08E3F21F48091EA01826005C08F3F08
+:104A900029F48091EA0184608093EA010895803FBF
+:104AA00039F48091EE0187FF6CC01092EE0169C06D
+:104AB000813F29F48091EE011816BCF362C09091F9
+:104AC000ED01823F29F497FF5CC01092ED0159C0BF
+:104AD000833F19F41916CCF354C0893F41F48091F7
+:104AE000EF0118160CF04DC01092EF014AC08A3F3A
+:104AF00029F48091EF0187FF44C0F6CF8B3F39F452
+:104B00008091F00187FF3DC01092F0013AC08C3FC8
+:104B100029F48091F0011816BCF333C0843F21F4CE
+:104B20008091EC018E7F17C0853F21F48091EC01CC
+:104B30008D7F11C0863F21F48091EC018B7F0BC0EB
+:104B4000873F21F48091EC01877F05C0883F31F4D5
+:104B50008091EC018F7E8093EC0113C08D3F21F496
+:104B60008091EA018E7F0BC08E3F21F48091EA0193
+:104B70008D7F05C08F3F29F48091EA018B7F809360
+:104B8000EA018091ED0181110EC08091EE01811149
+:104B90000AC08091EF01811106C08091F00181115E
+:104BA00002C01092EB0108958091E20183FF7EC064
+:104BB00084E795E00E94A8068091EC011F928F93F4
+:104BC0008FE695E09F938F930E9441078DE695E0D5
+:104BD0000E94A8062091ED01822F992787FD9095CC
+:104BE0009F932F938AE695E09F938F930E944107AE
+:104BF00088E695E00E94A8062091EE01822F992771
+:104C000087FD90959F932F9385E695E09F938F93D3
+:104C10000E94410783E695E00E94A8062091EF01DB
+:104C2000822F992787FD90959F932F9380E695E09B
+:104C30009F938F930E9441078EE595E00E94A806FE
+:104C40002091F001822F992787FD90959F932F93B4
+:104C50008BE595E09F938F930E94410788E595E04F
+:104C60000E94A8068091EB011F928F9385E595E045
+:104C70009F938F930E94410783E595E00E94A806C9
+:104C80008091EA011F928F9380E595E09F938F9327
+:104C90000E9441078DE495E00E94A8068DB79EB75B
+:104CA0004C960FB6F8949EBF0FBE8DBF8CEE91E070
+:104CB0000E94C6150E943D229093E9018093E8016D
+:104CC00008951F93CF93DF938091E8019091E901BC
+:104CD0000E9449224091EB01442321F020911301CD
+:104CE00030E006C0209114015AE0259F9001112464
+:104CF0008217930708F482C08091ED011091EE01B4
+:104D0000D091EF01C091F001811107C0111105C0D0
+:104D1000D11103C0CC2309F471C04F3F19F04F5F8C
+:104D20004093EB01181624F40E9466248093ED0151
+:104D30008091ED0187FF05C00E94662481958093D4
+:104D4000ED01111624F40E9466248093EE018091F7
+:104D5000EE0187FF05C00E94662481958093EE01D5
+:104D60006091ED01662339F11091EE01112319F1E3
+:104D7000772767FD7095872F972F0E94452C23E397
+:104D800033E343E35FE30E94A92C0E94122C60935B
+:104D9000ED01612F772767FD7095872F972F0E9470
+:104DA000452C23E333E343E35FE30E94A92C0E94F5
+:104DB000122C6093EE011D1624F40E94AE24809301
+:104DC000EF018091EF0187FF05C00E94AE2481951D
+:104DD0008093EF011C1624F40E94AE248093F0010E
+:104DE0008091F00187FF05C00E94AE2481958093D9
+:104DF000F001DF91CF911F910C94D425DF91CF91D9
+:104E00001F910895ECEEF1E085E0DF011D928A9597
+:104E1000E9F71092EB011092EA01089587E997E013
+:104E20000E94A8061F9281E08F931F9285E08F93C6
+:104E300089E497E09F938F930E9441070F900F9012
+:104E40000F900F900F900F9008958330E9F128F4A0
+:104E5000813061F0823009F10895853009F462C033
+:104E600008F449C0863009F474C0089520911401F3
+:104E7000862F90E0820F911D8F3F910520F4620FE5
+:104E80006093140103C08FEF80931401809114018B
+:104E90001F928F9382E896E072C020911301862FB3
+:104EA00090E0820F911D8F3F910520F4620F609377
+:104EB000130103C08FEF80931301809113011F92A0
+:104EC0008F9380E796E05BC020911201862F90E0DF
+:104ED000820F911D8F3F910520F4620F60931201A4
+:104EE00003C08FEF80931201809112011F928F9364
+:104EF0008DE596E044C020911101862F90E0820F4D
+:104F0000911D8F3F910520F4620F6093110103C042
+:104F10008FEF80931101809111011F928F9388E48C
+:104F200096E02DC020911001862F90E0820F911DF8
+:104F30008F3F910520F4620F6093100103C08FEF43
+:104F400080931001809110011F928F938FE296E061
+:104F500016C020910F01862F90E0820F911D8F3F88
+:104F6000910520F4620F60930F0103C08FEF8093CF
+:104F70000F0180910F011F928F9384E196E09F9320
+:104F80008F930E9441070F900F900F900F900895FC
+:104F9000833081F128F4813059F08230D1F00895C6
+:104FA000853009F449C0B8F1863009F456C0089537
+:104FB00080911401681720F4861B8093140102C0AD
+:104FC00010921401809114011F928F9385E096E056
+:104FD00054C080911301681720F4861B809313013D
+:104FE00002C010921301809113011F928F9383EFDF
+:104FF00095E043C080911201681720F4861B8093CE
+:10500000120102C010921201809112011F928F931F
+:1050100080EE95E032C080911101681720F4861B64
+:105020008093110102C010921101809111011F9211
+:105030008F938BEC95E021C080911001681720F4CC
+:10504000861B8093100102C0109210018091100104
+:105050001F928F9382EB95E010C080910F0168172B
+:1050600020F4861B80930F0102C010920F018091E3
+:105070000F011F928F9387E995E09F938F930E9472
+:1050800041070F900F900F900F900895CF93C82F66
+:105090001F928F932CE938E03F932F930E94410792
+:1050A00061E070E080E090E004C0660F771F881F29
+:1050B000991FCA95D2F70E94381F0F900F900F903A
+:1050C0000F90CF910C943C1BCF938732B0F58E316B
+:1050D00008F043C28E3009F4BDC100F5873009F4F1
+:1050E0008DC1A8F4863009F03CC28091E201817F35
+:1050F0008E7F8093E20181EA98E00E94A8068DE904
+:105100009CE00E94A80681E08093F20175C188307E
+:1051100009F43FC08B3009F46BC123C2863109F416
+:10512000DDC120F4803109F4A8C11BC2893109F422
+:10513000BEC18B3109F47BC114C2883309F458C154
+:1051400050F4893209F407C2853309F404C2873266
+:1051500009F007C200C2833409F4FDC128F48A3380
+:1051600008F4FFC18953FAC1883409F0FAC10E94DA
+:105170003C1B8CE89CE00E94A8069FEF23ED80E397
+:10518000915020408040E1F700C000000E9497222B
+:1051900033C181EA9CE00E94A80688E99AE00E9457
+:1051A000A8060E9454241F928F9385E99AE09F934A
+:1051B0008F930E94410783E99AE00E94A8060E940B
+:1051C0004B24C82F80E89AE00E94A8061F92CF9334
+:1051D0002BE73AE03F932F930E94410789E79AE03B
+:1051E0000E94A8068FE69AE00E94A8068C2F817084
+:1051F0001F928F932CE63AE03F932F930E94410732
+:105200008AE69AE00E94A80680E69AE00E94A80634
+:10521000C1FB882780F91F928F932DE53AE03F93D9
+:105220002F930E9441078BE59AE00E94A8068FE425
+:105230009AE00E94A806C2FB882780F91F928F93EC
+:105240002CE43AE03F932F930E9441078AE49AE0CE
+:105250000E94A80681E49AE00E94A806C3FBCC271E
+:10526000C0F91F92CF938EE39AE09F938F930E9491
+:1052700041078CE39AE00E94A8060E945D24C82F93
+:1052800088E29AE00E94A8061F92CF9323E23AE0B8
+:105290003F932F930E94410781E29AE00E94A80663
+:1052A00088E09AE00E94A8068C2F81701F928F934D
+:1052B00025E03AE03F932F930E9441078DB79EB7B8
+:1052C00080960FB6F8949EBF0FBE8DBF83E09AE024
+:1052D0000E94A8068CEE99E00E94A806C1FB8827D0
+:1052E00080F91F928F9329EE39E03F932F930E940C
+:1052F000410787EE99E00E94A80685ED99E00E949B
+:10530000A806C2FB882780F91F928F9322ED39E00F
+:105310003F932F930E94410780ED99E00E94A806D9
+:105320008EEB99E00E94A806C3FB882780F91F92A4
+:105330008F932BEB39E03F932F930E94410789EB2A
+:1053400099E00E94A8068FEA99E00E94A806C4FB93
+:10535000882780F91F928F932CEA39E03F932F938F
+:105360000E9441078AEA99E00E94A80688E999E02C
+:105370000E94A806C5FB882780F91F928F9325E914
+:1053800039E03F932F930E94410783E999E00E94FF
+:10539000A80687E799E00E94A806C6FB882780F93F
+:1053A0001F928F9324E739E03F932F930E94410788
+:1053B00082E799E00E94A8068AE699E00E94A80682
+:1053C000C7FBCC27C0F91F92CF9387E699E09F9344
+:1053D0008F930E94410785E699E00E94A8068DB749
+:1053E0009EB74C960FB6F8949EBF0FBE8DBF04C0FB
+:1053F00088EC98E00E94A806C1E0B8C08091E20164
+:10540000C82FC17080FF09C08FE79CE00E94A806EA
+:105410008091E201817F8E7F44C083E79CE00E94FF
+:10542000A8068091E20181608093E201E5CF80913E
+:10543000E20181FBCC27C0F991E0C927C0FB81F9CB
+:105440008093E201CC2319F086E69CE025C088E534
+:105450009CE0D0CF8091E20182FBCC27C0F991E0A3
+:10546000C927C0FB82F98093E201CC2319F089E4BB
+:105470009CE012C089E39CE0BDCF8091E20183FBF8
+:10548000CC27C0F991E0C927C0FB83F98093E201E2
+:10549000CC2351F08DE29CE00E94A8068091E201AD
+:1054A00081608093E20162C080E29CE0A3CF81E151
+:1054B0009CE00E94A80685EE9BE00E94A80688EA70
+:1054C0009BE00E94A8068BE79BE00E94A8068BE366
+:1054D0009BE00E94A80680E19BE08CCF82E09BE0ED
+:1054E0000E94A8060E9475151F928F9388EE9AE07D
+:1054F0009F938F930E94410780910C011F928F937D
+:1055000081ED9AE09F938F930E94410780918101E2
+:105510001F928F938EEB9AE09F938F930E94410787
+:105520008091E4019091E501A091E601B091E7013D
+:10553000BF93AF939F938F938AEA9AE09F938F9341
+:105540000E9441078DB79EB742960FB6F8949EBF52
+:105550000FBE8DBF51CF80E001C08D510E94462803
+:105560004BCF88EA9AE00E94A806C0E08C2FCF912A
+:10557000089580E0089580E00895CF93C82F80912A
+:10558000F201813081F020F0823009F44CC042C138
+:10559000A0910D01B0910E018C91813169F08232A0
+:1055A00009F03AC109C0A0910D01B0910E018C9192
+:1055B000813111F0823249F48C2F0E94B92A811175
+:1055C0002FC08C2F0E9464282CC08C2F0E94BB2AD5
+:1055D000811126C0C431E1F070F4CB3081F0C031CC
+:1055E000D1F40E940E2784E998E00E94A80682E088
+:1055F0008093F20115C0C93259F0C83361F481EAD1
+:1056000098E00E94A80688E998E00E94A80608C0D1
+:105610001092F20103C182E998E00E94A806FEC040
+:1056200081E08170FDC0C43220F5CE3108F0C0C0E9
+:10563000CB3099F1C8F4C73009F0D2C08AE080932A
+:10564000140194E19093130193E0909312018093DD
+:10565000110188E08093100188E280930F0188E3B4
+:1056600097E00E94A806BFC0C33149F1C431C1F020
+:10567000B7C0CB3409F4A9C028F4C93289F0C833C3
+:1056800061F0AEC0C13509F49EC0C23509F499C0BD
+:10569000CE3409F0A5C06AE09EC00E940E27A3C0C8
+:1056A0008091F101882319F01092F1019CC085E4EA
+:1056B00097E00E94A80681E08093F201B1C08FE1DB
+:1056C00097E00E94A8068DE097E00E94A8068091CE
+:1056D00014011F928F938AE097E09F938F930E940B
+:1056E000410788E097E00E94A80686EF96E00E94B6
+:1056F000A806809113011F928F9383EF96E09F93EA
+:105700008F930E94410781EF96E00E94A80682EEE7
+:1057100096E00E94A806809112011F928F938FED50
+:1057200096E09F938F930E9441078DED96E00E9433
+:10573000A8068CEC96E00E94A806809111011F92A9
+:105740008F9389EC96E09F938F930E94410787EC9B
+:1057500096E00E94A80682EB96E00E94A80680913F
+:1057600010011F928F938FEA96E09F938F930E9470
+:1057700041078DEA96E00E94A80686E996E00E941D
+:10578000A80680910F011F928F9383E996E09F9363
+:105790008F930E94410781E996E00E94A8068DB789
+:1057A0009EB748960FB6F8949EBF0FBE8DBF1BC024
+:1057B000CE51EC2FF0E0E75BFE4F80818093F1014A
+:1057C00012C061E003C061E006C06AE08091F101AF
+:1057D0000E94252708C08091F1010E94C82703C0BC
+:1057E00086E397E013C08091F101882369F01F924E
+:1057F0008F9380E397E09F938F930E9441070F90D0
+:105800000F900F900F9004C08DE297E00E94A806C1
+:1058100081E006C01092F20180E002C080E001CF7A
+:10582000CF91089504D06894B1118DC0089570D0BF
+:1058300088F09F5790F0B92F9927B751A0F0D1F079
+:10584000660F771F881F991F1AF0BA95C9F712C003
+:10585000B13081F077D0B1E0089574C0672F782F10
+:105860008827B85F39F0B93FCCF38695779567956F
+:10587000B395D9F73EF490958095709561957F4FDB
+:105880008F4F9F4F0895E89409C097FB3EF4909581
+:105890008095709561957F4F8F4F9F4F9923A9F009
+:1058A000F92F96E9BB279395F69587957795679598
+:1058B000B795F111F8CFFAF4BB0F11F460FF1BC0DC
+:1058C0006F5F7F4F8F4F9F4F16C0882311F096E96F
+:1058D00011C0772321F09EE8872F762F05C066231D
+:1058E00071F096E8862F70E060E02AF09A95660FD6
+:1058F000771F881FDAF7880F9695879597F908958F
+:1059000057FD9058440F551F59F05F3F71F0479570
+:10591000880F97FB991F61F09F3F79F08795089555
+:10592000121613061406551FF2CF4695F1DF08C074
+:10593000161617061806991FF1CF86957105610591
+:1059400008940895E894BB2766277727CB0197F939
+:1059500008950BD078C069D028F06ED018F0952348
+:1059600009F05AC05FC01124EECFCADFA0F3959FA3
+:10597000D1F3950F50E0551F629FF001729FBB2736
+:10598000F00DB11D639FAA27F00DB11DAA1F649FE2
+:105990006627B00DA11D661F829F2227B00DA11D95
+:1059A000621F739FB00DA11D621F839FA00D611D1B
+:1059B000221F749F3327A00D611D231F849F600D3C
+:1059C000211D822F762F6A2F11249F5750408AF075
+:1059D000E1F088234AF0EE0FFF1FBB1F661F771F01
+:1059E000881F91505040A9F79E3F510570F014C098
+:1059F000AACF5F3FECF3983EDCF3869577956795E9
+:105A0000B795F795E7959F5FC1F7FE2B880F911D1E
+:105A10009695879597F9089597F99F6780E870E0C4
+:105A200060E008959FEF80EC089500240A94161614
+:105A3000170618060906089500240A94121613067C
+:105A4000140605060895092E0394000C11F488230A
+:105A500052F0BB0F40F4BF2B11F460FF04C06F5F26
+:105A60007F4F8F4F9F4F0895991B79E004C0991F76
+:105A7000961708F0961B881F7A95C9F780950895A8
+:105A800097FB072E16F4009407D077FD09D00E94EB
+:105A90005A2D07FC05D03EF4909581959F4F0895AF
+:105AA000709561957F4F0895EE0FFF1F0590F4915B
+:105AB000E02D0994AA1BBB1B51E107C0AA1FBB1F05
+:105AC000A617B70710F0A61BB70B881F991F5A958A
+:105AD000A9F780959095BC01CD010895F999FECF65
+:105AE00092BD81BDF89A992780B50895A8E1B0E0EC
+:105AF00042E050E00C94912D262FF999FECF1FBA69
+:105B000092BD81BD20BD0FB6F894FA9AF99A0FBEE6
+:105B1000019608950E947C2D272F0C947D2DDC0189
+:105B2000CB01FC01F999FECF06C0F2BDE1BDF89AA8
+:105B3000319600B40D9241505040B8F70895F89452
+:025B4000FFCF95
+:105B42002002E60DD70EB40E800E4D0E01D80128AC
+:105B5200080A03140A40004500250026006100607F
+:105B620000200037006400650066006700440046BC
+:105B720000240047003F4D3620BE0471043B041B45
+:105B820004A703C003D903F20301020304050607B5
+:045B920008090000FE
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c
index 98cc9c5a6f..2965dc74ef 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_default.c
+++ b/keyboard/ergodox_ez/keymaps/keymap_default.c
@@ -3,63 +3,141 @@
#include "action_layer.h"
// TODO: Define layer names that make sense for the ErgoDox EZ.
-#define DEFAULT_LAYER 0
-#define COLEMAK_LAYER 1
-#define DVORAK_LAYER 2
-#define LOWER_LAYER 1
-#define RAISE_LAYER 4
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[DEFAULT_LAYER] = KEYMAP( // layer 0 : default
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | Q | W | E | R | T | Tab | | : | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
+ * |--------+------+------+------+------+------| : | | L1 |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1|AltSft| TAB | Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Rclk | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
// left hand
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
- KC_BSLS,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_FN2,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
- KC_LGUI,KC_GRV, KC_BSLS,KC_LEFT,KC_RGHT,
- KC_LCTL,KC_LALT,
- KC_HOME,
- KC_BSPC,KC_DEL, KC_END,
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB,
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_COLN,
+ LT(SYMB,KC_GRV),LALT(KC_LSFT),KC_TAB, KC_LEFT,KC_RGHT,
+ KC_MENU,KC_LGUI,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
// right hand
- KC_FN3, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_LBRC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- KC_FN1, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
- KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RGUI,
- KC_RALT,KC_RCTL,
- KC_PGUP,
- KC_PGDN,KC_ENT, KC_SPC
+ KC_RGHT,KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_COLN,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT,
+ TG(1), KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_RBRC,KC_LBRC, KC_FN1,
+ KC_RALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
),
-[LOWER_LAYER] = KEYMAP( // layer 0 : default
- // left hand
- KC_EQL, KC_1, KC_2, KC_3, LALT(KC_TAB), KC_5, KC_ESC,
- KC_BSLS,KC_Q, S(KC_W), KC_E, KC_R, KC_T, KC_FN2,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
- KC_LGUI,KC_GRV, KC_BSLS,KC_LEFT,KC_RGHT,
- KC_LCTL,KC_LALT,
- KC_HOME,
- KC_BSPC,KC_DEL, KC_END,
- // right hand
- KC_FN3, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_LBRC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- KC_FN1, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
- KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RGUI,
- KC_RALT,KC_RCTL,
- KC_PGUP,
- KC_PGDN,KC_ENT, KC_SPC
- )
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Flash | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | : | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_COLN,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | MsUp | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | |MsLeft|MsDown|MsRght| | |------| |------| | | | Play | | Mute |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
};
const uint16_t PROGMEM fn_actions[] = {
-
- [1] = ACTION_LAYER_MOMENTARY(LOWER_LAYER), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(LOWER_LAYER), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(DEFAULT_LAYER),
- [4] = ACTION_DEFAULT_LAYER_SET(COLEMAK_LAYER),
- [5] = ACTION_DEFAULT_LAYER_SET(DVORAK_LAYER),
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
diff --git a/keyboard/ergodox_ez/keymaps/keymap_ergodox_ez.c b/keyboard/ergodox_ez/keymaps/keymap_ergodox_ez.c
index bab16ece53..84c61320ac 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_ergodox_ez.c
+++ b/keyboard/ergodox_ez/keymaps/keymap_ergodox_ez.c
@@ -101,7 +101,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | MsUp | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | |MsLeft|MsDown|MsRght| | |------| |------| | | | Play | | |
+ * | |MsLeft|MsDown|MsRght| | |------| |------| | | | Play | | Mute |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | Prev | Next | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h
index e93e864833..5735631d95 100644
--- a/quantum/keymap_common.h
+++ b/quantum/keymap_common.h
@@ -117,8 +117,13 @@ extern const uint16_t fn_actions[];
#define KC_RCBR LSFT(KC_RBRC) // }
#define KC_RIGHT_CURLY_BRACE KC_RCBR
+#define KC_COLN LSFT(KC_SCLN) // :
+#define KC_COLON KC_COLN
+
#define KC_PIPE LSFT(KC_SLSH) // |
+#define KC_DELT KC_DELETE // Del key (four letter code)
+
// Alias for function layers than expand past FN31
#define FUNC(kc) kc | 0x2000
@@ -179,10 +184,10 @@ extern const uint16_t fn_actions[];
// M-od, T-ap - 256 keycode max
#define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8))
-#define CTL_T(kc) HT(0x1, kc)
-#define SFT_T(kc) HT(0x2, kc)
-#define ALT_T(kc) HT(0x4, kc)
-#define GUI_T(kc) HT(0x8, kc)
+#define CTL_T(kc) MT(0x1, kc)
+#define SFT_T(kc) MT(0x2, kc)
+#define ALT_T(kc) MT(0x4, kc)
+#define GUI_T(kc) MT(0x8, kc)
// L-ayer, T-ap - 256 keycode max, 16 layer max
#define LT(layer, kc) (kc | 0x7000 | ((layer & 0xF) << 8))