diff options
Diffstat (limited to 'keyboards/planck/keymaps/pete')
-rw-r--r-- | keyboards/planck/keymaps/pete/Makefile | 15 | ||||
-rw-r--r-- | keyboards/planck/keymaps/pete/README.md | 14 | ||||
-rw-r--r-- | keyboards/planck/keymaps/pete/compiled.hex | 1143 | ||||
-rw-r--r-- | keyboards/planck/keymaps/pete/keymap.c | 225 |
4 files changed, 1397 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/pete/Makefile b/keyboards/planck/keymaps/pete/Makefile new file mode 100644 index 0000000000..20bba3f491 --- /dev/null +++ b/keyboards/planck/keymaps/pete/Makefile @@ -0,0 +1,15 @@ + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +AUDIO_ENABLE = no +NKRO_ENABLE = yes + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/planck/keymaps/pete/README.md b/keyboards/planck/keymaps/pete/README.md new file mode 100644 index 0000000000..3cf594f3a9 --- /dev/null +++ b/keyboards/planck/keymaps/pete/README.md @@ -0,0 +1,14 @@ +# Planck Layout by Pete + +This layout is based on the default layout but uses a FN key in the bottom left corner instead of the shift / backlight key. +On the FN layer you can do the following things + +- Step through back light +- Put a mac to sleep +- The Fxx keys in a block to click with the right hand +- The delete key in the upper right corner +- Quick access to screenshot functions +- Control volume and media playback +- Home/PgDown/PgUp/End buttons where the arrow keys are + +Pressing the lower and raise buttons allows to reset and change from QWERT to Colemak or Dvorak. diff --git a/keyboards/planck/keymaps/pete/compiled.hex b/keyboards/planck/keymaps/pete/compiled.hex new file mode 100644 index 0000000000..ddf70df507 --- /dev/null +++ b/keyboards/planck/keymaps/pete/compiled.hex @@ -0,0 +1,1143 @@ +:100000000C94F1020C9435030C9435030C943503D5
+:100010000C9435030C9435030C9435030C94350380
+:100020000C9435030C9435030C94D20D0C94A40E4F
+:100030000C94061C0C9435030C9435030C94350376
+:100040000C9435030C9496030C9435030C943503EF
+:100050000C9435030C946E1C0C9435030C943503EE
+:100060000C9435030C9435030C9435030C94350330
+:100070000C9435030C9435030C9435030C94350320
+:100080000C9435030C9435030C9435030C94350310
+:100090000C9435030C9435030C9435030C94350300
+:1000A0000C9435030C9435030C943503FC030404C1
+:1000B0000E0416041E042F0458045804580458044F
+:1000C0005804580458045804580458043B04110FA9
+:1000D000330F2110330F2110780F9B0F2110F00FD9
+:1000E0000310ED12ED121C131C135B137B13D114C0
+:1000F000D1148613D114361436149D14A614D114B9
+:10010000CB144314431443144314431443144314AF
+:100110004314431443144314431443144314431427
+:1001200043145314611468146F1479140000000010
+:1001300000000000000000010204060A0F17202C36
+:100140003A4A5D71879DB3C7DAE9F5FCFFFCF5E932
+:10015000DAC7B39D87715D4A3A2C20170F0A06044F
+:100160000201000000000000000000002B0014004D
+:100170001A000800150017001C0018000C001200DF
+:1001800013002A00290004001600070009000A00D5
+:100190000B000D000E000F0033003400E1001D00C5
+:1001A0001B00060019000500110010003600370082
+:1001B000380028000530E000E200E30003302C00A6
+:1001C0002C0004305000510052004F002B0014004E
+:1001D0001A00090013000A000D000F0018001C008F
+:1001E00033002A002900040015001600170007003C
+:1001F0000B00110008000C0012003400E1001D008B
+:100200001B000600190005000E0010003600370024
+:10021000380028000530E000E200E30003302C0045
+:100220002C0004305000510052004F002B003400CD
+:100230003600370013001C0009000A0006001500F4
+:100240000F002A00290004001200080018000C000A
+:1002500007000B001700110016003800E100330002
+:1002600014000D000E001B00050010001A001900FC
+:100270001D0028000530E000E200E30003302C0000
+:100280002C0004305000510052004F0035021E0275
+:100290001F0220022102220223022402250226023A
+:1002A00027022A00010001000100010001000100F5
+:1002B00001002D022E022F02300231020100010046
+:1002C0000100010001000100010001000100010026
+:1002D0000100010001000100010001000100010016
+:1002E00001000100AB00AA00A900AE0035001E000D
+:1002F0001F002000210022002300240025002600EA
+:1003000027002A0001000100010001000100010096
+:1003100001002D002E002F003000310001000100EF
+:1003200001000100010001000100010001000100C5
+:1003300001000100010001000100010001000100B5
+:1003400001000100AB00AA00A900AE0083506603C3
+:10035000000000000000000000003A003B003C00EC
+:100360003D004C0001001030A800AA00A9000000C8
+:1003700000003E003F0040004100200A0100350817
+:10038000AC00AE00AB00000000004200430044009F
+:100390004500210A053001000100010000000000B5
+:1003A000000000004A004E004B004D00010001001B
+:1003B0000100010001000100010001000100010035
+:1003C0000100010001000100010001000100010025
+:1003D0000100003001300230010001000100010085
+:1003E0000100010001000100010001000100010005
+:1003F00001000100010001000100010001000050A6
+:100400000050010001000100010001002803540018
+:1004100068006500200050006C0061006E00630001
+:100420006B0020004B006500790062006F006100E6
+:100430007200640000002C034F007200740068001A
+:100440006F006C0069006E006500610072002000A2
+:100450004B006500790062006F006100720064006B
+:10046000730000000403090409026D00040100A0E8
+:10047000FA09040000010301010009211101000132
+:10048000223F000705810308000A09040100010357
+:10049000010200092111010001224D00070582031C
+:1004A00008000A09040200010300000009211101EB
+:1004B00000012236000705830308000A090403002F
+:1004C0000103000000092111010001223900070584
+:1004D00084031000011201100100000008EDFE600D
+:1004E0006001000102000105010906A101050719CB
+:1004F000E029E71500250195087501810205081915
+:100500000129059505750191029501750391010574
+:10051000071900297715002501957875018102C01A
+:1005200005010980A101850216010026B7001A0104
+:10053000002AB700751095018100C0050C0901A1C2
+:10054000018503160100269C021A01002A9C0275EF
+:100550001095018100C005010902A1010901A10056
+:100560000509190129051500250195057501810267
+:100570009501750381010501093009311581257F38
+:1005800095027508810609381581257F9501750842
+:100590008106050C0A38021581257F9501750881B1
+:1005A00006C0C005010906A101050719E029E715E4
+:1005B00000250195087501810295017508810105E5
+:1005C0000819012905950575019102950175039199
+:1005D000010507190029FF150025FF9506750881FB
+:1005E00000C011241FBECFEFDAE0DEBFCDBF04B6DE
+:1005F00003FE24C08091FB019091FC01A091FD01BC
+:10060000B091FE018730904BA740B04BB9F41092E7
+:10061000FB011092FC011092FD011092FE0114BE2C
+:1006200084B7877F84BF88E10FB6F8948093600019
+:10063000109260000FBEE0E0F8E3099511E0A0E041
+:10064000B1E0E6E0F7E402C005900D92A434B107F2
+:10065000D9F711E0A4E4B1E001C01D92AB3FB107AE
+:10066000E1F70E94180B0C9481230C94000008956C
+:1006700081E0089508950C9437030C9438030C948A
+:100680003A030E94F72123E030E0281B3109220FB2
+:10069000209348010895282F2F98809180002111E0
+:1006A00008C0877F8093800010928D0010928C008C
+:1006B0001BC0886080938000233019F48FEF9FEF78
+:1006C0000FC083E090E0821B9109880F991F2FEFE4
+:1006D0003FEFA90102C0569547958A95E2F7CA01F6
+:1006E00090938D0080938C000C9441030E944103F1
+:1006F00084E080934701109244010895279A2F982F
+:100700008FEF9FEF90938700809386008AE080931D
+:10071000800089E1809381000E9460210C9476031F
+:100720000E947E036E9A769A0C945B041F920F923D
+:100730000FB60F9211242F933F938F939F93EF93B4
+:10074000FF93E0914501F0914601CF01019690930E
+:100750004601809345010090470102C0F695E79558
+:100760000A94E2F7EF7380914401823019F4E03289
+:1007700051F404C0813039F4EF3329F480916F00D3
+:100780008D7F80936F00F0E0E45DFE4FE49121E007
+:1007900031E0E29FC001E39F900D112400904801D9
+:1007A00002C0969587950A94E2F790938D00809306
+:1007B0008C00FF91EF919F918F913F912F910F901E
+:1007C0000FBE0F901F901895CF93DF93EC010E94FE
+:1007D000021DBE0180E090E0DF91CF910C94FC18E7
+:1007E000462F50E04131510508F062C0DC01FA01AA
+:1007F000EA5AFF4F0C94312312968C91882309F406
+:1008000057C081E090E007C012968C91882309F4CC
+:100810004FC082E090E00E94E4034AC012968C919F
+:10082000882309F445C084E090E0F5CF12968C91BE
+:10083000882311F083E007C083E00EC012968C91EC
+:10084000882349F084E00E94791946E064E083E05F
+:100850000E9428082DC084E00E949A19F6CF1296B3
+:100860008C91882321F085E00E94791921C085E0D0
+:100870000E949A191DC012968C91882369F085EE0A
+:100880000E94911184EE0E94911186EE0E949111B6
+:1008900087EE0E9491110CC085EE0E94591284EEE1
+:1008A0000E94591286EE0E94591287EE0E94591238
+:1008B00080E090E00895089581E008950C945C0430
+:1008C00008950F931F93CF93DF938C01FC01C08198
+:1008D000D181CE010E94351ABE010E940E05EC01A5
+:1008E000B8010E945E04882309F48DC0F80182815A
+:1008F000882309F44AC08091540181111FC0C4317A
+:10090000F0E5DF0709F051C00E94600481E08093A8
+:1009100054010E94381C909353018093520110920D
+:100920004B0110924D0110924C0110924F01109208
+:100930004E01109251011092500165C080915201F8
+:10094000909153010E94441C883C910570F4809161
+:100950004B01E82FF0E0EE0FFF1FE45BFE4FD18369
+:10096000C0838F5F80934B014EC0C43880E5D807A9
+:1009700021F0C538D04501F13AC0F80182818823C1
+:1009800041F01092490182E01EC0C438E0E5DE0764
+:1009900059F580914901811106C086E20E949111AA
+:1009A00086E20E94591282E01CC0C438F0E5DF07DD
+:1009B00041F3C538D045D9F4F8018281882331F05C
+:1009C00010924A0180E20E94A8121DC080914A0143
+:1009D000811106C087E20E94911187E20E9459129C
+:1009E00080E20E94AF120FC0C538D04529F381E0E4
+:1009F0008093490180934A01C801DF91CF911F91F3
+:100A00000F910C943D0380E0DF91CF911F910F91E6
+:100A100008950C9490030C943B0308959CE0799FF7
+:100A2000F001112490E3899FE00DF11D1124E60FE0
+:100A3000F11DEE0FFF1FE459FE4F8591949108952B
+:100A4000880F991FFC01E451F0408591949108951D
+:100A5000880F991FFC01E459FE4F859194910895E8
+:100A60000F931F93CF93DF93EC01811521E392073E
+:100A7000A0F5C11580E3D80708F0D7C0C83ED1055E
+:100A8000D8F4C03ED10508F003C2C83AD10578F4C5
+:100A9000C53AD10508F06AC0C130D10509F463C078
+:100AA00008F4F3C1C430D10508F0F2C1EEC1CB3B6C
+:100AB000D10508F466C0E9C1C11590E2D90708F074
+:100AC000AFC0C11521E0D20708F0E2C1C03FD10597
+:100AD00008F4DBC18E0110651BC2C03880E5D80761
+:100AE00000F5C03790E5D90708F0A3C0C11520E58F
+:100AF000D20709F4ACC050F4CE01905480319F402D
+:100B000008F0C3C1DF708E01106A02C2C13080E5F7
+:100B1000D80709F4AAC0C43190E5D90708F4ABC0DE
+:100B2000B4C1C33820E5D20709F48EC050F4C138EF
+:100B300090E5D90709F482C008F083C000E011ED08
+:100B4000E7C1C03181E5D80708F49FC1C11597E519
+:100B5000D90708F432C1CE0190578115904108F0B1
+:100B600094C1DF708FC101E010E0D2C1C53AD10558
+:100B700009F490C1C63AD10509F08FC102E810E42A
+:100B8000C7C1C83AD10509F48BC1C93AD10509F4E6
+:100B90008AC1CA3AD10509F489C1CB3AD10509F411
+:100BA00088C1CC3AD10509F487C1CD3AD10509F401
+:100BB00086C1C03BD10509F485C1CE3AD10509F4FF
+:100BC00084C1CF3AD10509F483C1C13BD10509F4F1
+:100BD00082C1C23BD10509F481C1C33BD10509F4EF
+:100BE00080C1C43BD10509F47FC1C53BD10509F4DF
+:100BF0007EC1C63BD10509F47DC1C73BD10509F4CF
+:100C00007CC1C83BD10509F47BC1C93BD10509F4BE
+:100C10007AC1CA3BD10509F479C100E014E478C176
+:100C2000CE019F700E94280574C1DD278E01106CD3
+:100C30006FC1CF70DD278E01146D6AC100E010ED29
+:100C400067C100E012ED64C100E013ED61C10E94D4
+:100C50003C158FEF94E32CE0815090402040E1F769
+:100C600000C000000E94931C53C18091DB01816091
+:100C70008093DB014DC10E94EF1C811102C00E94D4
+:100C8000D01C0E94071D90E09093FA018093F90117
+:100C9000C23080E5D80721F48091F901816086C0D7
+:100CA000C43090E5D90721F48091F90182607EC0BB
+:100CB000C63020E5D20721F48091F901846076C026
+:100CC000C83080E5D80719F48091F90127C0CA30EF
+:100CD00090E5D90721F48091F901806167C0CC309B
+:100CE00020E5D20721F48091F90180625FC0CE3007
+:100CF00080E5D80721F48091F901806457C0C031A4
+:100D000090E5D90721F48091F90180684FC0C23184
+:100D100020E5D20729F48091F9018460886046C0FB
+:100D2000C33080E5D80721F48091F9018E7F3EC061
+:100D3000C53090E5D90721F48091F9018D7F36C047
+:100D4000C73020E5D20721F48091F9018B7F2EC0B6
+:100D5000C93080E5D80719F48091F90126C0CB305D
+:100D600090E5D90721F48091F9018F7E1FC0CD3025
+:100D700020E5D20721F48091F9018F7D17C0CF3093
+:100D800080E5D80721F48091F9018F7B0FC0C13134
+:100D900090E5D90721F48091F9018F7707C0C3311D
+:100DA000D04531F48091F9018B7F877F8093F901E1
+:100DB0008091F9010E940B1DABC08D2F99278F7078
+:100DC000992781309105D9F49E012370332702C001
+:100DD000880F991F2A95E2F79C688E0144E0000F66
+:100DE000111F4A95E1F700271370802B912B53E0D8
+:100DF000CC0FDD1F5A95E1F7C076DD272FC082307A
+:100E0000910531F4DC2FCC278E01016F106A80C070
+:100E10008330910569F4CE018370992701E010E0D9
+:100E200002C0000F111F8A95E2F7C8019C680FC02D
+:100E300084309105B9F4CE018370992701E010E068
+:100E400002C0000F111F8A95E2F7C8019A6823E0DB
+:100E5000CC0FDD1F2A95E1F7C07ED7708C010C2BDB
+:100E60001D2B56C08530910531F4DC2FCC278E0127
+:100E7000046F106A4DC0069709F04AC0CF71DD2794
+:100E8000DC2FCC278E01106243C000E010E040C090
+:100E90008E013EC001E810E43BC003E810E438C016
+:100EA00002EE14E435C009EE14E432C00AEE14E494
+:100EB0002FC005EB14E42CC006EB14E429C007EBAB
+:100EC00014E426C00CEC14E423C00DEC14E420C0A0
+:100ED00003E815E41DC00AE815E41AC002E915E4A8
+:100EE00017C004E915E414C001E216E411C003E2DE
+:100EF00016E40EC004E216E40BC005E216E408C0D6
+:100F000006E216E405C007E216E402C00AE216E4AF
+:100F1000C801DF91CF911F910F9108959CE0799FB7
+:100F2000F001112490E3899FE00DF11D1124E60FDB
+:100F3000F11DEE0FFF1FE459FE4F85919491803E05
+:100F40009105E0F4803C910558F58133910509F451
+:100F50006FC048F48932910509F463C08A32910563
+:100F600009F46DC072C089339105E9F082389105AA
+:100F7000D1F08533910509F44DC067C0833E9105DA
+:100F800081F138F4803E9105B9F0823E9105D9F0A7
+:100F90005CC0863E910561F1873E9105A1F155C087
+:100FA0000E94200508952091F90120FD02C021FF33
+:100FB0004CC080EE90E049C08091F90180FFF9CFEC
+:100FC00089E390E042C08091F90182FF0EC08091D8
+:100FD000F90184FF03C080E090E037C083EE90E029
+:100FE00034C08091F90182FFF2CF82EE90E02DC0F3
+:100FF0008091F90183FF0BC08091F90184FDEBCF53
+:1010000087EE90E022C08091F90183FFF5CF86EE54
+:1010100090E01BC08091F90185FF07C089E290E054
+:1010200014C08091F90185FFF9CF85E390E00DC0F0
+:101030008091F90186FF07C08AE290E006C08091A6
+:10104000F90186FFF9CF81E390E00E943005089511
+:10105000CF92DF92EF92FF920F931F9301E010E087
+:1010600020E030E06801790104C0CC0CDD1CEE1CEE
+:10107000FF1C8A95D2F704C0000F111F221F331FD7
+:101080006A95D2F70C291D292E293F29C090BE014F
+:10109000D090BF01E090C001F090C101C022D122E8
+:1010A000E222F322842FC016D106E206F30641F4B1
+:1010B0001F910F91FF90EF90DF90CF900C947919D2
+:1010C0001F910F91FF90EF90DF90CF900C949A19A1
+:1010D0000C943F03E82FF0E0EF5DFE4F8081E82F96
+:1010E000EF70F0E082958F7021E030E0A90102C03E
+:1010F000440F551F8A95E2F740A308950F931F935D
+:10110000CF93DF9385B7806885BF85B7806885BF3B
+:10111000C3E0D0E001E010E0FE01EF5DFE4F808112
+:10112000E82FEF70F0E021A182958F70A80102C036
+:10113000440F551F8A95E2F7CA01822B81A38C2F99
+:101140000E946A08219740F78BE090E061E070E030
+:10115000FC01EB5EFE4F2081E22FEF70F0E042A138
+:1011600022952F70DB0102C0AA0FBB1F2A95E2F760
+:101170009D01242B22A3019758F7DF91CF911F9156
+:101180000F910C940905EF92FF920F931F93CF9349
+:10119000DF930DE511E0C3E0EE24E394F12CD5E0FC
+:1011A0008C2F0E946A088BE090E040E050E0FC0148
+:1011B000EB5EFE4F6081E62FEF70F0E020A130E0A3
+:1011C00062956F7002C0359527956A95E2F720FD0C
+:1011D00009C09701082E02C0220F331F0A94E2F7BC
+:1011E000422B532B019718F7F801929182918F01AE
+:1011F0008417950721F051834083D09300018C2FF1
+:101200000E946A08C15060F68091000187FD2CC0E1
+:101210008150809300018F3F39F08FE99FE0019763
+:10122000F1F700C0000020C080915B0190915C014B
+:1012300090936401809363018091590190915A01C8
+:1012400090936201809361018091570190915801C0
+:101250009093600180935F018091550190915601B8
+:1012600090935E0180935D010E940B0581E0DF9108
+:10127000CF911F910F91FF90EF900895E82FF0E02C
+:10128000EE0FFF1FE35AFE4F80819181089508956C
+:101290000F931F93CF9305E611E0C0E0F801929100
+:1012A00082918F010E94B01BC80FF1E00D351F071E
+:1012B000A9F78C2FCF911F910F91089580917501FF
+:1012C0000895CF93DF9300D01F92CDB7DEB79C0176
+:1012D0008091F001843019F593E099833B832A8350
+:1012E0009093E9008FEF9091E800815095FD06C042
+:1012F00095ED9A95F1F700008111F5CF8091E80006
+:1013000085FF0DC040E050E063E070E0CE01019643
+:101310000E94C20B8091E8008E778093E8000F90C6
+:101320000F900F90DF91CF910895CF93DF9300D06E
+:101330001F92CDB7DEB72091F001243021F522E0D5
+:1013400029839B838A8383E08093E9008FEF9091C8
+:10135000E800815095FD06C095ED9A95F1F70000E3
+:101360008111F5CF8091E80085FF0DC040E050E08D
+:1013700063E070E0CE0101960E94C20B8091E8000C
+:101380008E778093E8000F900F900F90DF91CF91B0
+:1013900008952091F0012430F1F422E02093E90037
+:1013A0002FEF3091E800215035FD06C035ED3A951C
+:1013B000F1F700002111F5CF2091E80025FF0BC0C7
+:1013C00040E050E065E070E00E94C20B8091E800D0
+:1013D0008E778093E8000895CF93DF93EC0190918E
+:1013E000F001943009F046C080910B018823D9F0B8
+:1013F00080910C018823B9F09093E9008FEF9091D0
+:10140000E800815095FD06C095E19A95F1F700003E
+:101410008111F5CF8091E80085FF2CC040E050E0BD
+:1014200060E170E017C081E08093E9008FEF909158
+:10143000E800815095FD06C095ED9A95F1F7000002
+:101440008111F5CF8091E80085FF14C040E050E0A5
+:1014500068E070E0CE010E94C20B8091E8008E77B8
+:101460008093E80080E1FE01A5E6B1E001900D92D5
+:101470008A95E1F7DF91CF9108958091EF01811175
+:1014800009C00E94570D0E94B40D8091E200846053
+:101490008093E20008951092EF0108950895089551
+:1014A0000C94FB1B42E061EC81E00E94D10C42E015
+:1014B00061EC82E00E94D10C42E061EC83E00E948A
+:1014C000D10C42E161EC84E00C94D10C8091F201EA
+:1014D000833009F455C030F4813071F0823009F462
+:1014E0008EC008958A3009F47AC08B3009F460C048
+:1014F000893009F09CC020C08091F101813A09F047
+:1015000096C08091E800877F8093E8008091F50184
+:101510009091F601892B21F460E185E691E003C00A
+:1015200060E080E090E070E00E940D0C8091E800A7
+:101530008B778093E80008958091F101813209F062
+:1015400076C08091F5019091F601009719F003970C
+:1015500009F06DC08091E800877F8093E80080915A
+:10156000E80082FD05C08091F0018111F8CF5FC0D5
+:101570008091F100809375018091E8008B7753C0D2
+:101580008091F101813A09F052C08091F50190916A
+:10159000F601892B09F04BC08091E800877F80938A
+:1015A000E8008091E80080FFFCCF80910B0136C0FD
+:1015B0008091F1018132D9F58091F5019091F60188
+:1015C000892BA9F58091E800877F8093E8000E942D
+:1015D000060D8091F30180930B010C943C158091D2
+:1015E000F101813221F58091E800877F8093E80046
+:1015F0000E94060D8091F4018093760108958091F8
+:10160000F101813AA1F48091E800877F8093E8009E
+:101610008091E80080FFFCCF809176018093F100FB
+:101620008091E8008E778093E8000C94060D089571
+:1016300084B7877F84BF88E10FB6F89480936000F9
+:10164000109260000FBE90E080E80FB6F89480938F
+:101650006100909361000FBE0E94A9100E94570D77
+:101660000E94B40D8091E20084608093E20078943F
+:101670000E943A100E94AB1081E091E00E94551048
+:101680008091F001853069F40E94BC1B8091EE01CD
+:101690008823B1F30E94EA1B882391F30E94AC0BCC
+:1016A000EFCF0E94B310ECCF292F33272330310521
+:1016B000C9F064F42130310581F02230310509F0A0
+:1016C00043C08DE690E028E634E042C02132310587
+:1016D000F1F02232310541F137C082E190E025ED91
+:1016E00034E036C099278130910541F08230910570
+:1016F00041F0892B49F5E4E6F4E005C0E6E3F4E0C7
+:1017000002C0ECE0F4E0849190E09F0121C06430DD
+:10171000D8F4E62FF0E0EE0FFF1FEF5CFE4F2081C4
+:10172000318189E090E014C0643070F470E0FB0116
+:10173000EE0FFF1FE75DFE4F20813181FB01EB5D66
+:10174000FE4F808190E004C080E090E020E030E037
+:10175000FA0131832083089580E189BD82E189BD4A
+:1017600009B400FEFDCF8091D8008F7D8093D80012
+:101770008091E00082608093E0008091E00081FD34
+:10178000FCCF0895CF92DF92EF92FF920F931F93B9
+:10179000CF93DF93EC018B016A010E94250D81112B
+:1017A00033C0C114D10439F0F60180819181081B46
+:1017B000190BC80FD91FE12CF12C0115110519F1D6
+:1017C0008091E80085FD16C08091E8008E778093B7
+:1017D000E800C114D10449F0F60180819181E80E3E
+:1017E000F91EF182E08285E00FC00E94250D88235A
+:1017F00021F30AC089918093F10001501109FFEF94
+:10180000EF1AFF0ADACF80E0DF91CF911F910F919D
+:10181000FF90EF90DF90CF9008952091F7013091E5
+:10182000F8012617370748F06115710539F4209142
+:10183000E8002E772093E80001C0B90140E061156F
+:101840007105A9F12091F001222309F443C025304C
+:1018500009F442C02091E80023FD40C02091E80037
+:1018600022FD32C02091E80020FFE9CF4091F30033
+:101870002091F20030E0342BFC01CF01611571059D
+:1018800059F02830310540F481918093F100615086
+:1018900071092F5F3F4FF1CF41E02830310509F04A
+:1018A00040E02091E8002E772093E800C8CF411156
+:1018B000C9CF0AC08091F001882361F0853061F0C2
+:1018C0008091E80083FD0AC08091E80082FFF2CF9A
+:1018D00080E0089582E0089583E0089581E008950E
+:1018E0002091F7013091F8012617370748F061156C
+:1018F000710539F42091E8002E772093E80001C0AB
+:10190000B901FC0120E06115710591F18091F001B0
+:10191000882309F440C0853009F43FC08091E80075
+:1019200083FD3DC08091E80082FD2FC08091E800DA
+:1019300080FFE9CF2091F3008091F20090E0922B9C
+:101940006115710559F08830910540F42491209378
+:10195000F1003196615071090196F2CF21E00897AC
+:1019600009F020E08091E8008E778093E800CBCFEB
+:101970002111CCCF0AC08091F001882361F085301D
+:1019800061F08091E80083FD0AC08091E80082FF49
+:10199000F2CF80E0089582E0089583E0089581E029
+:1019A0000895982F973058F59093E900981739F0DB
+:1019B0007091EC002091ED005091F00003C0242FB5
+:1019C000762F50E021FF19C03091EB003E7F30931D
+:1019D000EB003091ED003D7F3093ED003091EB0056
+:1019E00031603093EB007093EC002093ED00509346
+:1019F000F0002091EE0027FF07C09F5FD3CF8F70CC
+:101A00008093E90081E0089580E008958091F101DC
+:101A100087FF11C08091E80082FD05C08091F00130
+:101A20008111F8CF11C08091E8008B770BC08091B5
+:101A3000F001882349F08091E80080FFF8CF809181
+:101A4000E8008E778093E80008952091E4003091BB
+:101A5000E50095E64091EC00842F817040FF22C0A4
+:101A60008091E80080FD1CC08091F001882391F0F6
+:101A7000853091F08091EB0085FD10C04091E4002D
+:101A80005091E5004217530729F39A01915011F73D
+:101A900084E0089582E0089583E0089581E0089548
+:101AA00080E008954091E80042FFDECF08950E9453
+:101AB000C50D0E94CD0DE0EEF0E080818160808355
+:101AC000E8EDF0E080818F77808319BCA7EDB0E06E
+:101AD0008C918E7F8C9380818F7E80831092EF011A
+:101AE00008950F931F93CF93DF930E94C50D0E941B
+:101AF000CD0DC8EDD0E088818F778883888180689C
+:101B0000888388818F7D888319BC1092F0011092A0
+:101B1000EC011092EE011092ED0100EE10E0F801E0
+:101B200080818B7F808388818160888342E060E050
+:101B300080E00E94D10CE1EEF0E080818E7F808316
+:101B4000E2EEF0E080818160808380818860808324
+:101B5000F80180818E7F8083888180618883DF9116
+:101B6000CF911F910F910895E8EDF0E080818F7E75
+:101B70008083E7EDF0E080818160808384E082BF34
+:101B800081E08093EF010C94710DE8EDF0E080812D
+:101B90008E7F80831092E20008951092DA001092F6
+:101BA000E10008951F920F920FB60F9211242F9308
+:101BB0003F934F935F936F937F938F939F93AF93D5
+:101BC000BF93EF93FF938091E10082FF0BC0809160
+:101BD000E20082FF07C08091E1008B7F8093E100EB
+:101BE0000E9439108091DA0080FF1FC08091D800D8
+:101BF00080FF1BC08091DA008E7F8093DA00809195
+:101C0000D90080FF0DC080E189BD82E189BD09B4A2
+:101C100000FEFDCF81E08093F0010E943D0A05C0E7
+:101C200019BC1092F0010E944B0A8091E10080FFE4
+:101C300019C08091E20080FF15C08091E2008E7F84
+:101C40008093E2008091E20080618093E2008091C5
+:101C5000D80080628093D80019BC85E08093F001A1
+:101C60000E944F0A8091E10084FF30C08091E20021
+:101C700084FF2CC080E189BD82E189BD09B400FEEA
+:101C8000FDCF8091D8008F7D8093D8008091E100B6
+:101C90008F7E8093E1008091E2008F7E8093E2004E
+:101CA0008091E20081608093E2008091EC018823C2
+:101CB00011F084E007C08091E30087FD02C081E05D
+:101CC00001C083E08093F0010E94500A8091E100FE
+:101CD00083FF29C08091E20083FF25C08091E1004D
+:101CE000877F8093E10082E08093F0011092EC0105
+:101CF0008091E1008E7F8093E1008091E2008E7FF1
+:101D00008093E2008091E20080618093E20042E0F3
+:101D100060E080E00E94D10C8091F00088608093A8
+:101D2000F0000E944E0AFF91EF91BF91AF919F91F9
+:101D30008F917F916F915F914F913F912F910F9074
+:101D40000FBE0F901F9018951F920F920FB60F9213
+:101D500011242F933F934F935F936F937F938F93B0
+:101D60009F93AF93BF93CF93DF93EF93FF93C09174
+:101D7000E900CF708091EC00D82FD17080FDD0E8C1
+:101D80001092E9008091F000877F8093F0007894B2
+:101D90000E94E80E1092E9008091F0008860809324
+:101DA000F000CD2BCF70C093E900FF91EF91DF9150
+:101DB000CF91BF91AF919F918F917F916F915F91E3
+:101DC0004F913F912F910F900FBE0F901F9018953C
+:101DD0001F93CF93DF93CDB7DEB7AA970FB6F894D2
+:101DE000DEBF0FBECDBFE1EFF1E088E08E0F909136
+:101DF000F10091938E13FBCF0E94660A8091E80058
+:101E000083FF1FC18091F1019091F201492F50E0B1
+:101E10004A30510508F015C1FA01E959FF4F0C94F9
+:101E20003123803881F0823809F00BC18091F501AF
+:101E30008F708093E9008091EB0085FB882780F903
+:101E40001092E90006C08091ED019091EE01911190
+:101E500082609091E800977F9093E8008093F10072
+:101E60001092F100C8C0282F2D7F09F0EAC0882306
+:101E700019F0823061F0E5C08091F301813009F002
+:101E8000E0C0933009F080E08093EE012BC0809198
+:101E9000F301811127C08091F5018F7009F4D1C041
+:101EA0008093E9002091EB0020FF1CC0933021F4C7
+:101EB0008091EB00806214C09091EB009061909350
+:101EC000EB0021E030E0A90102C0440F551F8A95C4
+:101ED000E2F74093EA001092EA008091EB008860FC
+:101EE0008093EB001092E9008091E800877F86C024
+:101EF0008111A7C01091F3011F778091E3008078D2
+:101F0000812B8093E3008091E800877F8093E80035
+:101F10000E94060D8091E80080FFFCCF8091E300D5
+:101F200080688093E300111102C082E001C083E069
+:101F30008093F00186C08058823008F082C0809182
+:101F4000F3019091F4018C3D53E0950779F583E01E
+:101F50008A838AE289834FB7F894DE01139620E0E2
+:101F60003EE051E2E32FF0E050935700E49120FF70
+:101F700003C0E295EF703F5FEF708E2F90E0EA3084
+:101F800010F0C79601C0C0968D939D932F5F2431AA
+:101F900049F74FBF8091E800877F8093E8006AE2AD
+:101FA00070E0CE0101960E940D0C14C0AE014F5F8F
+:101FB0005F4F6091F5010E94540BBC01009709F43A
+:101FC00040C09091E800977F9093E80089819A81C2
+:101FD0000E94700C8091E8008B778093E80031C0FC
+:101FE000803879F58091E800877F8093E8008091C0
+:101FF000EC018093F1008091E8008E778093E800F7
+:102000000E94060D1EC081111CC09091F3019230F8
+:10201000C0F48091E800877F8093E8009093EC0102
+:102020000E94060D8091EC01811106C08091E300B1
+:1020300087FD02C081E001C084E08093F0010E942E
+:10204000520A8091E80083FF0AC08091E800877FF0
+:102050008093E8008091EB0080628093EB00AA9669
+:102060000FB6F894DEBF0FBECDBFDF91CF911F91A9
+:1020700008950895CF938091F0018823A1F0C09135
+:10208000E900CF709091EC00892F817090FD80E87D
+:10209000C82B1092E9008091E80083FD0E94E80EB1
+:1020A000CF70C093E900CF91089590937C01809305
+:1020B0007B010895E0917B01F0917C01309721F044
+:1020C0000190F081E02D099480E00895E0917B017A
+:1020D000F0917C01309721F00280F381E02D09948A
+:1020E0000895E0917B01F0917C01309721F004800C
+:1020F000F581E02D099408952091790130917A01BC
+:102100008217930771F090937A0180937901E0919F
+:102110007B01F0917C01309721F00680F781E02D62
+:1021200009940895209177013091780182179307DF
+:1021300071F09093780180937701E0917B01F091A9
+:102140007C01309721F00084F185E02D09940895F9
+:1021500008950C94A8100E942F1C0E947E080E94D3
+:10216000B51C0C9460215F926F927F928F929F9228
+:10217000AF92BF92CF92DF92EF92FF920F931F9395
+:10218000CF93DF9300D000D01F92CDB7DEB70E946F
+:10219000C30896E8C92E91E0D92E03E010E0AA24E6
+:1021A000A394B12C502E802F0E943E094C01F601C1
+:1021B000729062906F016826792661147104A1F40F
+:1021C0000150110978F78FEF89838A831B820E945F
+:1021D000381C8160782F9D838C8349815A816B8163
+:1021E0008D810E94631138C08091DB0181FD0E94C6
+:1021F00047092BE030E07501022E02C0EE0CFF1CF7
+:102200000A94E2F7C70186219721892B09F12983D6
+:102210005A828E209F2091E0892809F490E09B83C8
+:102220000E94381C8160782F9D838C8349815A815C
+:102230006B818D810E946311000F111FF801E2581C
+:10224000FE4F80819181E826F926F182E08204C068
+:102250002150310980F6B4CF0E94931E10917D0168
+:102260000E945A101817D1F00E945A1080937D01D5
+:102270000F900F900F900F900F90DF91CF911F91C3
+:102280000F91FF90EF90DF90CF90BF90AF909F9015
+:102290008F907F906F905F900C9468080F900F90D4
+:1022A0000F900F900F90DF91CF911F910F91FF90A2
+:1022B000EF90DF90CF90BF90AF909F908F907F90E6
+:1022C0006F905F900895CF93DF93CDB7DEB72B97D4
+:1022D0000FB6F894DEBF0FBECDBF4F835887698716
+:1022E0007A878B87DE01119686E0FD0111928A952F
+:1022F000E9F785E0FE01379601900D928A95E1F7A6
+:1023000049815A816B817C818D819E810E94DA177F
+:102310002B960FB6F894DEBF0FBECDBFDF91CF91E5
+:102320000895CF93882309F4C2C0C82F823859F486
+:102330000E945A1081FDBBC089E30E94B41A0E941A
+:10234000811B89E30CC0833879F40E945A1080FD08
+:10235000AEC083E50E94B41A0E94811B83E50E94EF
+:10236000F61ACF910C94811B843859F40E945A10AC
+:1023700082FD9DC087E40E94B41A0E94811B87E4FD
+:10238000EECF8CEF8C0F813A48F48C2F0E94C8203E
+:1023900081118DC08C2F0E94B41AE3CF80E28C0F84
+:1023A000883048F4C77081E001C0880FCA95EAF709
+:1023B0000E943A1BD6CF8BE58C0F833078F4C53A58
+:1023C00029F0C63A31F083E890E005C081E890E05A
+:1023D00002C082E890E0CF910C947C1088E58C0FCD
+:1023E000833108F064C0C83A39F1C93A41F1CA3AB8
+:1023F00049F1CB3A51F1CC3A59F1CD3A61F1C03BB8
+:1024000069F1CE3A71F1CF3A79F1C13B81F1C23B2A
+:1024100089F1C33B91F1C43B99F1C53BA1F1C63BA6
+:10242000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B06
+:10243000C9F180E090E038C082EE90E035C089EECE
+:1024400090E032C08AEE90E02FC085EB90E02CC087
+:1024500086EB90E029C087EB90E026C08CEC90E002
+:1024600023C08DEC90E020C083E891E01DC08AE895
+:1024700091E01AC082E991E017C084E991E014C0AC
+:1024800081E292E011C083E292E00EC084E292E029
+:102490000BC085E292E008C086E292E005C087E2C8
+:1024A00092E002C08AE292E0CF910C949210CF9118
+:1024B0000895882309F44BC0823859F40E945A10B9
+:1024C00081FF45C089E30E94B41A0E94811B89E301
+:1024D0000CC0833871F40E945A1080FF38C083E525
+:1024E0000E94B41A0E94811B83E50E94F61A0C9484
+:1024F000811B843859F40E945A1082FF28C087E457
+:102500000E94B41A0E94811B87E4EFCF9CEF980FC2
+:10251000913A58F390E2980F983050F4877091E018
+:1025200001C0990F8A95EAF7892F0E94401BDFCFDF
+:102530009BE5980F933020F480E090E00C947C10A1
+:10254000885A833120F480E090E00C949210089532
+:10255000882321F00E943A1B0C94811B0895882344
+:1025600021F00E94401B0C94811B08957F928F9252
+:102570009F92AF92BF92CF92DF92EF92FF920F9312
+:102580001F93CF93DF931F92CDB7DEB77C01C62E8A
+:10259000772EFC01058102950F70128111110E94A6
+:1025A000571B0E94AD1A882379F0112369F080E24D
+:1025B0008C0D883048F082E00E94961A0E94AD1A75
+:1025C00091E0D82ED92601C0D12CE72DE295EF70ED
+:1025D000F0E0EF58FF4F0C943123872D807F072DBB
+:1025E0000F70882311F00295007F112389F00023DA
+:1025F00009F499C180E28C0D883020F4802F0E946C
+:102600003A1B03C0802F0E944A1B0E94811B8BC172
+:102610008C2D0E945912002309F4C3C180E28C0D55
+:10262000883020F4802F0E94401B03C0802F0E941E
+:10263000501B0E94811BB5C1872D807F972D9F70F5
+:10264000803211F4892F03C0892F8295807FCC209E
+:1026500021F0F1E0CF16A1F01DC0112339F00023C5
+:1026600019F1013009F50E946A1B9BC1002319F082
+:10267000013009F496C189830E946D1B898110C1C4
+:10268000112321F0063008F08CC10EC0053008F08F
+:1026900088C106C1112359F0002331F0F70195815B
+:1026A00090FF41C19F7095830E94A8127AC10023B8
+:1026B00009F4F6C03EC1872D86958695837090E01B
+:1026C000009719F0019761F06CC1112321F08C2D56
+:1026D000972D937002C080E090E00E947C1061C151
+:1026E000112321F08C2D972D937002C080E090E093
+:1026F0000E94921056C18C2D112319F00E949B1D2F
+:1027000002C00E94031E0E94881E4BC1872D837049
+:1027100009F052C0111145C18C2D829586958770A4
+:10272000880F880F9C2D9F70892E912CA12CB12C85
+:10273000082E04C0880C991CAA1CBB1C0A94D2F752
+:10274000C4FE14C00FE010E020E030E0B901A801A1
+:1027500004C0440F551F661F771F8A95D2F7CB011F
+:10276000BA01609570958095909503C060E070E027
+:10277000CB01272D26952695237030E02230310598
+:1027800069F02330310589F0682979298A299B2944
+:102790002130310571F00E94221903C1682979297D
+:1027A0008A299B290E943E19FCC00E942219C5015A
+:1027B000B4010E940619F5C0112319F0872D81700C
+:1027C00001C08695882309F4ECC08C2D82958695EE
+:1027D0008770880F880F9C2D9F70892E912CA12CBB
+:1027E000B12C082E04C0880C991CAA1CBB1C0A948E
+:1027F000D2F7C4FE14C00FE010E020E030E0B901D1
+:10280000A80104C0440F551F661F771F8A95D2F791
+:10281000CB01BA01609570958095909503C060E0FA
+:1028200070E0CB01272D269526952370422F50E08E
+:102830004230510569F04330510589F06829792902
+:102840008A299B294130510571F00E94FC19A9C0C9
+:10285000682979298A299B290E94181AA2C00E94F6
+:10286000FC19C501B4010E94E0199BC08C2D90E0B9
+:10287000FC01E05EF109E531F10508F050C0EF57C9
+:10288000FF4F0C9431230C2D0F70872D8F71112366
+:1028900021F00E947919802F07CF0E949A19802F6A
+:1028A0000E94AF127EC0112341F0053008F079C0BC
+:1028B000872D8F710E94BF1974C0063008F071C057
+:1028C000F7CF112339F0872D8F710E94791969C0D4
+:1028D0001123C9F3872D8F710E949A1962C01123A9
+:1028E00029F0872D8F710E9464195BC00E945A19CC
+:1028F00058C0112351F0172D1F71812F0E94791993
+:1029000063E0812F0E948D1A4CC081E00E94961ACC
+:10291000023008F446C082E00E94961A42C0112399
+:1029200031F0002381F28C2D0E9491113AC00023D6
+:1029300089F28C2D0E94591234C0472D4F706C2D96
+:10294000C7010E94F0030E947E182BC0111129C0FC
+:10295000472D4F7050E042305105B9F04CF441150D
+:10296000510581F041305105E1F40E94882119C0E0
+:102970004330510569F04430510599F48C2D0E9483
+:10298000DA210FC00E9471210CC00E94A42109C04D
+:102990000E94B72106C0472D4F706C2DC7010E94C1
+:1029A0000D05DD20F9F00E94891A80FD1BC0F7019A
+:1029B00012820E94831A0E947919C7010E94011590
+:1029C0000E94831A0F90DF91CF911F910F91FF907A
+:1029D000EF90DF90CF90BF90AF909F908F907F90BF
+:1029E0000C949A190F90DF91CF911F910F91FF9046
+:1029F000EF90DF90CF90BF90AF909F908F907F909F
+:102A000008950F931F93CF93DF93EC0188819981F1
+:102A10002B813C81232BB9F09F3F11F48F3F99F01C
+:102A2000CE010E946104882371F0688179818A81D6
+:102A30000E947F1A8C010E94341A0E94FB18B80170
+:102A4000CE010E94B612DF91CF911F910F91089590
+:102A50000E94571B0E94671B0E942C1B0E94811B17
+:102A60000E94391F0E94881E80E090E00E947C1026
+:102A700080E090E00C9492100E94471B0C94281563
+:102A80000E94741A292F22952F7030E02C303105C6
+:102A90004CF42A3031056CF42250310922303105D2
+:102AA000A8F407C02C30310569F02F30310551F002
+:102AB0000DC0803F69F018F4803E40F409C0843FA7
+:102AC00029F406C093FB882780F9089580E00895D3
+:102AD00081E00895CF93DF9300D000D01F92CDB74F
+:102AE000DEB70F900F900F900F900F90DF91CF9166
+:102AF0000895CF93DF9300D000D000D0CDB7DEB7DC
+:102B000026960FB6F894DEBF0FBECDBFDF91CF91F2
+:102B100008951F93CF93DF93C091860116E08091B3
+:102B20008701C81799F0D0E01C9FF0011D9FF00DA0
+:102B30001124E857FE4F4081518162817381848165
+:102B400095810E9479152196C770E9CFDF91CF91C9
+:102B50001F9108954091B8015091B9016091BA0157
+:102B60007091BB018091BC019091BD010C947915CD
+:102B70008091BD0182958F7009F054C08091BA0197
+:102B8000882309F44FC080918601A091870160914C
+:102B9000B8017091B9014091BB015091BC01B6E000
+:102BA0008A1709F43FC090E041155105C1F17F3FFC
+:102BB00011F46F3FA1F1B89FF001B99FF00D1124FE
+:102BC000E857FE4F218172132AC02081621327C06B
+:102BD0002281211124C0238134812417350710F468
+:102BE00021503109241B350B283C3105C0F42091BC
+:102BF000BD012F7020612093BD0126E0289FF001C8
+:102C0000299FF00D1124E357FE4F80818F70806162
+:102C1000808388EB91E00E9401150C948915019640
+:102C20008770BECF0895CF92DF92EF92FF920F93FD
+:102C30001F93CF93DF93CDB7DEB762970FB6F894AB
+:102C4000DEBF0FBECDBF8C0185E0F801DE011D9611
+:102C500001900D928A95E1F7D8014C9111965C9103
+:102C6000119712966C9112971396CD90DC90149751
+:102C70003091B8017091B9018091BB019091BC0174
+:102C8000009709F46BC17F3F19F43F3F09F466C117
+:102C9000E090BA01EE2009F4C0C02091BD01C81631
+:102CA000D90628F0F601E81BF90BCF0104C0809586
+:102CB00090958C0D9D1DFF24F394883C910578F030
+:102CC000F12C207F09F0C6C07C2DD98AC88A898959
+:102CD0000E946A1588EB91E00E940115B1C0822F15
+:102CE000807F09F046C0751314C0341312C06111FF
+:102CF00010C02F7020612093BD010E94AA1588EB9F
+:102D000091E00E9401158091BD01D80115968C9328
+:102D10002EC0CD2819F15F3F11F44F3FF9F0F62E88
+:102D200061111CC0809186012091870136E08217D5
+:102D300009F45AC090E0389FF001399FF00D11243A
+:102D4000E857FE4F7181571306C07081471303C0C7
+:102D50007281711103C001968770E9CFF62E662348
+:102D600009F418C18091BD0181608093BD01F12CEF
+:102D700011C1751308C0341306C0611104C08091DD
+:102D8000BD01D801C3C04D875E878D859E856A8B46
+:102D90000E9440156A898823E1F16623D1F12091D0
+:102DA000BD01822F82958F7090E0029774F0809120
+:102DB000B8019091B90198878F831986DB86CA86FE
+:102DC0002C87CE0107960E94011586E0F801A8EB3A
+:102DD000B1E001900D928A95E1F70E94B8150E942A
+:102DE000AA15FF24F394D6C04D875E878D859E85F6
+:102DF0000E94741A292F22952F7030E0223031055D
+:102E00000CF0BCC09F7009F0B6C0805E883008F43A
+:102E1000C1C0C8010E940115E4CFC816D90608F444
+:102E200053C0F601E81BF90BCF01883C910508F46B
+:102E300050C0F12C7C2DD98AC88A89890E946A15D4
+:102E4000E8EBF1E086E0DF011D928A95E9F70E9448
+:102E5000AA15A0C0751314C0341312C0611110C09C
+:102E60008091BD01F8018583C8010E94011586E0AB
+:102E7000E8EBF1E0DF011D928A95E9F7FE2C8AC0AC
+:102E80004D875E878D859E856A8B0E9440156A8975
+:102E9000882309F4BECF662309F4BBCF2091BD017E
+:102EA000822F82958F7090E002970CF48ECF8091E4
+:102EB000B8019091B9019A8389831B82DD82CC820B
+:102EC0002E83CE0101967FCF809590958C0D9D1D10
+:102ED000ACCFF62E662309F49CCF75132EC03413A5
+:102EE0002CC02091BD0120FD1FC0822F82958F70C4
+:102EF000D9F0D80115962C9315978F3049F08F5F34
+:102F0000982F9295907F822F8F70892B15968C9396
+:102F1000C8010E94011586E0F801A8EBB1E001901C
+:102F20000D928A95E1F793CF86E0F801A8EBB1E026
+:102F300001900D928A95E1F72DC04D875E878D85B2
+:102F40009E850E944015811140CF8091BD01816016
+:102F50008093BD01C8010E9401151CC0662309F4BD
+:102F600058CF4D875E878D859E850E9440158823AA
+:102F700009F44FCF2ACF811148CF0CC0243031053E
+:102F80000CF047CF9F7009F440CFF8019581907FF6
+:102F900009F03BCF8F2D62960FB6F894DEBF0FBEBF
+:102FA000CDBFDF91CF911F910F91FF90EF90DF90F8
+:102FB000CF9008951F93CF93DF93CDB7DEB72C97B3
+:102FC0000FB6F894DEBF0FBECDBF4F835887698719
+:102FD0007A878B879C87CE0107960E9413168823D9
+:102FE00069F08F8198852A853B85232BF1F19F3FDE
+:102FF00009F063C08F3F09F060C037C086E0FE0172
+:103000003796DE01119601900D928A95E1F76F8156
+:103010007885EA85FB85309741F17F3F11F46F3F5A
+:1030200021F12091870130E0C9010196877099272D
+:103030004091860150E08417950709F447C06983E1
+:103040007A83FD83EC8396E0929FD001939FB00D2D
+:103050001124A857BE4FFE01319601900D929A950A
+:10306000E1F7809387010E94891516E0809186011F
+:10307000909187018917C1F1189FC00111248857C9
+:103080009E4F0E941316882379F1E09186011E9FBE
+:10309000F0011124E857FE4F408151816281738114
+:1030A000848195810E9479158091860190E0019636
+:1030B0008770992780938601D9CF4F81588569857C
+:1030C0007A858B859C850E947915CFCF0E943C150F
+:1030D0001092870110928601E8EBF1E086E0DF01B3
+:1030E0001D928A95E9F7C1CF2C960FB6F894DEBFF2
+:1030F0000FBECDBFDF91CF911F910895EF92FF9248
+:103100000F931F93CF93DF938C01009709F46CC04A
+:10311000F12CEE24E394E8012196F80184918437A0
+:1031200040F4843008F051C0813081F0823019F1D0
+:103130005BC0853709F444C0A8F19CE7980F90372D
+:1031400008F052C08F770E94591241C00E5F1F4F86
+:10315000FE01C49180E28C0F883048F4C7708E2D38
+:1031600001C0880FCA95EAF70E945A1B14C08C2F21
+:103170000E9491112DC00E5F1F4FFE01C49180E28D
+:103180008C0F883058F4C7708E2D01C0880FCA95F7
+:10319000EAF70E94601B0E94811B1AC08C2F0E94BC
+:1031A000591216C00E5F1F4FFE01C491CC2381F04F
+:1031B0008FE99FE00197F1F700C00000C150F6CF02
+:1031C0000E5F1F4FFE01F49003C00E9491118E010B
+:1031D0008F2D882309F49FCFEFE9FFE03197F1F7B6
+:1031E00000C000008150F5CFDF91CF911F910F916A
+:1031F000FF90EF90089508956093C2017093C3010A
+:103200008093C4019093C5010C9428150F931F93CC
+:103210000091C2011091C3012091C4013091C501F8
+:10322000DC01CB01802B912BA22BB32B8093C2010D
+:103230009093C301A093C401B093C5011F910F9156
+:103240000C9428150F931F930091C2011091C30194
+:103250002091C4013091C501DC01CB018023912371
+:10326000A223B3238093C2019093C301A093C4010E
+:10327000B093C5011F910F910C9428150F931F93C4
+:103280000091C2011091C3012091C4013091C50188
+:10329000DC01CB0180279127A227B3278093C201AD
+:1032A0009093C301A093C401B093C5011F910F91E6
+:1032B0000C9428151092BE011092BF011092C0010B
+:1032C0001092C1010C94281541E050E060E070E0DC
+:1032D00004C0440F551F661F771F8A95D2F740938D
+:1032E000BE015093BF016093C0017093C1010C9463
+:1032F000281541E050E060E070E004C0440F551F25
+:10330000661F771F8A95D2F78091BE019091BF0109
+:10331000A091C001B091C101482B592B6A2B7B2B86
+:103320004093BE015093BF016093C0017093C101EF
+:103330000C94281541E050E060E070E004C0440FB8
+:10334000551F661F771F8A95D2F740955095609557
+:1033500070958091BE019091BF01A091C001B09184
+:10336000C101482359236A237B234093BE01509314
+:10337000BF016093C0017093C1010C94281541E016
+:1033800050E060E070E004C0440F551F661F771FD7
+:103390008A95D2F78091BE019091BF01A091C001A2
+:1033A000B091C101482759276A277B274093BE0166
+:1033B0005093BF016093C0017093C1010C94281514
+:1033C0000F931F930091BE011091BF012091C00186
+:1033D0003091C101DC01CB01802B912BA22BB32BAF
+:1033E0008093BE019093BF01A093C001B093C1012F
+:1033F0001F910F910C9428150F931F930091BE01FC
+:103400001091BF012091C0013091C101DC01CB01BD
+:1034100080239123A223B3238093BE019093BF0105
+:10342000A093C001B093C1011F910F910C94281576
+:103430000F931F930091BE011091BF012091C00115
+:103440003091C101DC01CB0180279127A227B3274E
+:103450008093BE019093BF01A093C001B093C101BE
+:103460001F910F910C9428150895CF92DF92EF923F
+:10347000FF920F931F93CF93DF938C01C090C201F3
+:10348000D090C301E090C401F090C5018091BE01CD
+:103490009091BF01A091C001B091C101C82AD92A61
+:1034A000EA2AFB2ACFE1D0E0D701C6010C2E04C0E6
+:1034B000B695A795979587950A94D2F780FF06C091
+:1034C000B8018C2F0E948E07019721F4219760F795
+:1034D00080E001C08C2FDF91CF911F910F91FF9061
+:1034E000EF90DF90CF900895CF93DF93EC010E948F
+:1034F000351ABE010E948E07DF91CF910895CB014E
+:103500000E94741A08958091C601859585958595C8
+:1035100008958091C6018770089598E0899F900171
+:103520001124262B2093C6010C9479192091C601F1
+:10353000809582238093C601982F977069F430E0BC
+:10354000482F552747FD50952417350729F08595B5
+:10355000859585950C949A1908959091C601977058
+:1035600081E009F480E0089590910B01992321F006
+:1035700090910C01911109C020910D0130910E0123
+:10358000F90132969FEF40E01FC0982F96959695CF
+:1035900096959F3050F5E0910D01F0910E01E90FE5
+:1035A000F11D877021E030E0A90102C0440F551FD2
+:1035B0008A95E2F7CA019181892B818308959F3F03
+:1035C00039F04F5F4E3041F051915813F8CF0DC094
+:1035D0005111F7CF942FF5CF9F3F39F0F901E90F43
+:1035E000F11D97FDFA9582830895089590910B013E
+:1035F000992321F090910C01911109C020910D01A6
+:1036000030910E01F9013296205F3F4F1FC0982F75
+:103610009695969596959F30F0F4E0910D01F09176
+:103620000E01E90FF11D877021E030E0A90102C011
+:10363000440F551F8A95E2F7CA018095918189232D
+:10364000818308953196E217F30729F0908198134A
+:10365000F9CF1082F7CF089581E090E0E0910D015D
+:10366000F0910E01E80FF91F10820196803191054B
+:10367000A9F708959091DA01892B8093DA010895D2
+:1036800080959091DA0189238093DA010895109250
+:10369000DA0108959091D901892B8093D901089579
+:1036A00080959091D90189238093D9010895109232
+:1036B000D90108959091D801892B8093D80108955C
+:1036C00080959091D80189238093D8010895109214
+:1036D000D80108958093C70108951092C7010895F5
+:1036E00080910D0190910E01FC0131969C01205FAB
+:1036F0003F4F80E0919191118F5FE217F307D1F76F
+:103700000895E0910D01F0910E018091DA0180831E
+:10371000E0910D01F0910E0190818091D901892BEA
+:103720008083E0910D01F0910E0190818091D8018C
+:10373000892B80838091C701882361F0E0910D017E
+:10374000F0910E019081892B80830E94701B811162
+:103750001092C70180910D0190910E010C9466109A
+:1037600020E0009739F0AC014150510984239523A2
+:103770002F5FF7CF822F08958091F001843039F1C7
+:103780001092DC0120E488E190E00FB6F894A8954F
+:10379000809360000FBE2093600080E00E944B0386
+:1037A00080E00E94680883B7817F846083BF83B70D
+:1037B000816083BF7894889583B78E7F83BF88E1CB
+:1037C0000FB6F89480936000109260000FBE0895C9
+:1037D0000895089580E00E944B030E94E81B0E9418
+:1037E000C3080E94E91B0E94480991E0811101C0B1
+:1037F00090E0892F08950E943C1580E00E944B03C1
+:103800000E9460210E945A100C9468081F920F9227
+:103810000FB60F9211248F939F93AF93BF93809114
+:10382000DC01811113C08091DD019091DE01A09136
+:10383000DF01B091E0014196A11DB11D8093DD0132
+:103840009093DE01A093DF01B093E001BF91AF91AF
+:103850009F918F910F900FBE0F901F90189582E04F
+:1038600084BD93E095BD9AEF97BD80936E00089557
+:103870002FB7F8948091DD019091DE01A091DF01D6
+:10388000B091E0012FBF0895CF92DF92EF92FF92A7
+:103890000F931F932FB7F8944091DD015091DE01F3
+:1038A0006091DF017091E0012FBF6A017B01EE247E
+:1038B000FF248C0120E030E0C016D106E206F306BA
+:1038C00010F4415051099A01281B390BC9011F916D
+:1038D0000F91FF90EF90DF90CF9008951F920F927D
+:1038E0000FB60F9211248F939F93AF93BF93809144
+:1038F000DD019091DE01A091DF01B091E001019620
+:10390000A11DB11D8093DD019093DE01A093DF0125
+:10391000B093E001BF91AF919F918F910F900FBE37
+:103920000F901F9018950E94570DF8942FEF87EA7B
+:1039300091E6215080409040E1F700C0000087E010
+:1039400090EBDC018093FB019093FC01A093FD01BF
+:10395000B093FE019CE088E10FB6F894A89580939F
+:1039600060000FBE90936000FFCF0E94EF1C81119A
+:1039700002C00E94D01C0E94FA1C8093DB010E94AE
+:10398000071D8093F90187FB882780F980930C013C
+:103990000E94FE1C682F70E080E090E00C94FC1800
+:1039A0006DEE7EEF80E090E00E946B2360E082E0AD
+:1039B00090E00E94592360E083E090E00E94592348
+:1039C00060E084E090E00E94592360E085E090E0B0
+:1039D0000E94592360E086E090E00C94592380E037
+:1039E00090E00E94532321E08D3E9E4F09F020E09D
+:1039F000822F089582E090E00C944B2383E090E0C6
+:103A00000C944B23682F83E090E00C94592384E0BE
+:103A100090E00C944B23682F84E090E00C945923A1
+:103A200086E090E00C944B23682F86E090E00C94A5
+:103A300059238091E30180FF0BC06091120185E062
+:103A4000689FB001112475956795759567952BC092
+:103A500081FF09C06091120185E0689FB0011124C7
+:103A60007595679520C082FF07C06091120185E0BF
+:103A7000689FB001112417C09091E4019923D1F0FF
+:103A800060911101961788F72091120185E0289F17
+:103A900090011124929FA001939F500D112470E07A
+:103AA000CA010E941D236038710540F4611571053B
+:103AB00039F002C065E070E0862F08958FE7089521
+:103AC00081E008958091E30180FF08C060911001BA
+:103AD00070E0759567957595679521C081FF06C063
+:103AE0006091100170E07595679519C082FF04C060
+:103AF0006091100170E010C09091E4019923C1F031
+:103B000060910F019617A0F780911001899FC00165
+:103B1000112470E00E941D236038710528F461159E
+:103B2000710521F0862F08958FE7089581E00895AB
+:103B300061E070E0F4CF803F21F40E94191D81956F
+:103B400004C0813F29F40E94191D8093E701089564
+:103B5000823F21F40E94191D819504C0833F29F4FE
+:103B60000E94191D8093E6010895893F19F40E946F
+:103B7000621D05C08A3F31F40E94621D81958093C9
+:103B8000E80108958B3F21F40E94621D819504C0D5
+:103B90008C3F29F40E94621D8093E9010895843FBF
+:103BA00021F48091E501816017C0853F21F4809167
+:103BB000E501826011C0863F21F48091E5018460B7
+:103BC0000BC0873F21F48091E501886005C0883FE4
+:103BD00031F48091E50180618093E50108958D3F86
+:103BE00021F48091E30181600BC08E3F21F480912C
+:103BF000E301826005C08F3F29F48091E301846076
+:103C00008093E3010895803F39F48091E70187FFB5
+:103C10006CC01092E70169C0813F29F48091E701EF
+:103C20001816BCF362C09091E601823F29F497FF19
+:103C30005CC01092E60159C0833F19F41916CCF309
+:103C400054C0893F41F48091E80118160CF04DC032
+:103C50001092E8014AC08A3F29F48091E80187FF69
+:103C600044C0F6CF8B3F39F48091E90187FF3DC016
+:103C70001092E9013AC08C3F29F48091E9011816AD
+:103C8000BCF333C0843F21F48091E5018E7F17C0DF
+:103C9000853F21F48091E5018D7F11C0863F21F49D
+:103CA0008091E5018B7F0BC0873F21F48091E50176
+:103CB000877F05C0883F31F48091E5018F7E809336
+:103CC000E50113C08D3F21F48091E3018E7F0BC08D
+:103CD0008E3F21F48091E3018D7F05C08F3F29F451
+:103CE0008091E3018B7F8093E3018091E601811154
+:103CF0000EC08091E70181110AC08091E801811115
+:103D000006C08091E901811102C01092E40108957A
+:103D100085EE91E00E9471100E94381C9093E201A0
+:103D20008093E10108951F93CF93DF938091E10188
+:103D30009091E2010E94441CAC019091E40199230E
+:103D400021F02091130130E006C0209114018AE097
+:103D5000289F900111244217530708F486C08091D0
+:103D6000E601C091E701D091E8011091E9018111CC
+:103D700007C0C11176C0D11174C0111172C075C0D5
+:103D80009F3F19F09F5F9093E401181624F40E945E
+:103D9000191D8093E6018091E60187FF05C00E940E
+:103DA000191D81958093E6011C1624F40E94191DAB
+:103DB0008093E7018091E70187FF05C00E94191DEC
+:103DC00081958093E7016091E601662339F1C09106
+:103DD000E701CC2319F1772767FD7095872F972F7F
+:103DE0000E942E2223E333E343E35FE30E94922207
+:103DF0000E94FB216093E6016C2F772767FD709589
+:103E0000872F972F0E942E2223E333E343E35FE3C0
+:103E10000E9492220E94FB216093E7011D1624F468
+:103E20000E94621D8093E8018091E80187FF05C030
+:103E30000E94621D81958093E801111624F40E946E
+:103E4000621D8093E9018091E90187FF05C00E940E
+:103E5000621D81958093E901DF91CF911F910C94B0
+:103E6000881E9F3F09F08ECF96CFDF91CF911F9193
+:103E70000895E5EEF1E085E0DF011D928A95E9F70E
+:103E80001092E4011092E3010895833081F128F447
+:103E9000813059F08230D1F00895853009F449C05D
+:103EA000B8F1863009F456C0089580911401262F88
+:103EB00030E0280F311D2F3F310524F4680F609347
+:103EC000140108958FEF80931401089580911301D8
+:103ED000262F30E0280F311D2F3F310524F4680FC5
+:103EE0006093130108958FEF8093130108958091DB
+:103EF0001201262F30E0280F311D2F3F310524F409
+:103F0000680F6093120108958FEF80931201089556
+:103F100080911101262F30E0280F311D2F3F3105F0
+:103F200024F4680F6093110108958FEF80931101BD
+:103F3000089580911001262F30E0280F311D2F3F6A
+:103F4000310524F4680F6093100108958FEF80937A
+:103F50001001089580910F01262F30E0280F311DA8
+:103F60002F3F310524F4680F60930F0108958FEF00
+:103F700080930F010895833011F128F4813049F0C6
+:103F8000823091F00895853081F120F18630C1F1C1
+:103F9000089580911401681720F4861B8093140102
+:103FA000089510921401089580911301681720F468
+:103FB000861B809313010895109213010895809138
+:103FC0001201681720F4861B809312010895109245
+:103FD0001201089580911101681720F4861B8093C7
+:103FE0001101089510921101089580911001681730
+:103FF00020F4861B809310010895109210010895FB
+:1040000080910F01681720F4861B80930F0108959B
+:1040100010920F0108950F931F93873208F048C044
+:104020008E3108F092C0803109F47CC008F58730E9
+:1040300009F466C068F4863009F0A2C08091DB0103
+:10404000817F8E7F8093DB0181E08093EB0199C0BB
+:104050008B3009F48EC08E3009F092C08091DB0164
+:1040600082FB222720F991E0922790FB82F963C01E
+:10407000863109F47EC060F4813109F081C00E946C
+:104080003C1590910C0181E0892780930C0171C04F
+:10409000893109F46EC08B3109F072C08091DB0167
+:1040A00081FB222720F991E0922790FB81F943C000
+:1040B000883309F45EC050F4893209F45CC085335A
+:1040C00009F459C0873209F456C05AC0833409F440
+:1040D00052C028F48A3308F453C0895337C0883457
+:1040E00009F04EC00E943C150FEF13ED20E3015084
+:1040F00010402040E1F700C000000E94931C39C02E
+:104100009091DB01892F8095817080FB90F929F0D7
+:10411000966098609093DB0134C0997F977F90936D
+:10412000DB0127C08091DB0183FB222720F991E08E
+:10413000922790FB83F98093DB019923D1F0809142
+:10414000DB0181608093DB0114C08D5141E050E0C0
+:1041500060E070E08A019B0104C0000F111F221F64
+:10416000331F8A95D2F7C901B8010E94FC180E943A
+:104170003C1581E006C061E070E080E090E0F5CFA2
+:1041800080E01F910F91089580E0089580E00895E8
+:10419000CF93C82F8091EB01813069F018F0823005
+:1041A000C9F184C0E0910D01F0910E01808182324D
+:1041B00009F07EC007C0E0910D01F0910E018081F1
+:1041C000823261F48C2F0E94C420811104C08C2F94
+:1041D0000E940B201DC081E090E01AC08C2F0E942D
+:1041E000C620811114C0C43179F048F4CB3079F085
+:1041F000C03109F061C082E08093EB0108C0C93290
+:1042000019F0C83321F058C01092EB0155C081E07D
+:10421000817054C0C93291F120F5C43179F1B0F404
+:10422000C73009F047C08EE18093140182E3809388
+:1042300013018AE08093120184E18093110188E0E8
+:104240008093100188E280930F0134C0CE51C630B4
+:1042500088F5EC2FF0E0E75CFE4F80818093EA0167
+:1042600029C0CE34E9F020F4CB3421F56AE013C044
+:10427000C13579F0C235F1F461E00DC08091EA01F9
+:10428000882319F01092EA0115C081E08093EB01B8
+:1042900015C061E006C08091EA010E94451F0AC076
+:1042A0006AE08091EA010E94BB1F04C01092EB01FA
+:1042B00080E004C081E002C080E0AACFCF910895E1
+:1042C0000E94EF1C811102C00E94D01C0E94101D90
+:1042D0008093FA0180FF02C0869501C080E00C94B3
+:1042E0004B038091FA01982F9695292F30E02330C7
+:1042F00031054CF49F5F990F8170892B8160809309
+:10430000FA010E94141D8091FA0186950C944B03CA
+:104310008091FA01982F969591F09158990F81709C
+:10432000892B8093FA018E7F91E009F490E08091CF
+:10433000FA0190FB80F98093FA010E94141D80918C
+:10434000FA0186950C944B038091FA01982F909571
+:1043500090FB80F98093FA010E94141D8091FA016C
+:1043600080FF02C0869501C080E00C944B039091C1
+:10437000FA01892F86958F5F8F779170843028F4AA
+:10438000880F892B8093FA0102C09093FA018091E3
+:10439000FA018E7F91E009F490E08091FA0190FBA0
+:1043A00080F98093FA010E94141D8091FA0186958C
+:1043B0000C944B032091FA01922F96958927982F00
+:1043C000990F822F8170892B8093FA018E7F91E063
+:1043D00009F490E08091FA0190FB80F98093FA0152
+:1043E0000E94141D8091FA0186950C944B038091D4
+:1043F000FA018695089504D06894B1118DC008958E
+:1044000070D088F09F5790F0B92F9927B751A0F03E
+:10441000D1F0660F771F881F991F1AF0BA95C9F758
+:1044200012C0B13081F077D0B1E0089574C0672F29
+:10443000782F8827B85F39F0B93FCCF38695779508
+:104440006795B395D9F73EF49095809570956195F1
+:104450007F4F8F4F9F4F0895E89409C097FB3EF41C
+:1044600090958095709561957F4F8F4F9F4F9923C1
+:10447000A9F0F92F96E9BB279395F695879577953F
+:104480006795B795F111F8CFFAF4BB0F11F460FFFF
+:104490001BC06F5F7F4F8F4F9F4F16C0882311F057
+:1044A00096E911C0772321F09EE8872F762F05C06B
+:1044B000662371F096E8862F70E060E02AF09A9506
+:1044C000660F771F881FDAF7880F9695879597F9FB
+:1044D000089557FD9058440F551F59F05F3F71F0F4
+:1044E0004795880F97FB991F61F09F3F79F087955B
+:1044F0000895121613061406551FF2CF4695F1DFE4
+:1045000008C0161617061806991FF1CF8695710573
+:10451000610508940895E894BB2766277727CB01A7
+:1045200097F908950BD078C069D028F06ED018F0B4
+:10453000952309F05AC05FC01124EECFCADFA0F363
+:10454000959FD1F3950F50E0551F629FF001729F28
+:10455000BB27F00DB11D639FAA27F00DB11DAA1F47
+:10456000649F6627B00DA11D661F829F2227B00D94
+:10457000A11D621F739FB00DA11D621F839FA00D1F
+:10458000611D221F749F3327A00D611D231F849F6F
+:10459000600D211D822F762F6A2F11249F575040C6
+:1045A0008AF0E1F088234AF0EE0FFF1FBB1F661F61
+:1045B000771F881F91505040A9F79E3F510570F01A
+:1045C00014C0AACF5F3FECF3983EDCF38695779555
+:1045D0006795B795F795E7959F5FC1F7FE2B880F15
+:1045E000911D9695879597F9089597F99F6780E8AB
+:1045F00070E060E008959FEF80EC089500240A9435
+:104600001616170618060906089500240A941216AD
+:104610001306140605060895092E0394000C11F4E0
+:10462000882352F0BB0F40F4BF2B11F460FF04C08D
+:104630006F5F7F4F8F4F9F4F089597FB072E16F4A4
+:10464000009407D077FD09D00E94372307FC05D0DE
+:104650003EF4909581959F4F0895709561957F4F99
+:104660000895EE0FFF1F0590F491E02D0994AA1B09
+:10467000BB1B51E107C0AA1FBB1FA617B70710F04D
+:10468000A61BB70B881F991F5A95A9F7809590957F
+:10469000BC01CD010895F999FECF92BD81BDF89A74
+:1046A000992780B50895A8E1B0E042E050E00C946D
+:1046B0007323262FF999FECF92BD81BDF89A0197F9
+:1046C00000B4021639F01FBA20BD0FB6F894FA9A5A
+:1046D000F99A0FBE08950196272F0E945A230C9431
+:1046E0005923DC01CB01FC01F999FECF06C0F2BDD4
+:1046F000E1BDF89A319600B40D9241505040B8F7A0
+:064700000895F894FFCFBC
+:10470600FF5E09EC09C909950961090101C801287B
+:1047160008140A321E1F0F03764F5F6F7F496943E5
+:1047260079095953633F4D3639A30556052005E7E8
+:10473600047A049304AC04C50401020304050607C5
+:04474600080900005E
+:00000001FF
diff --git a/keyboards/planck/keymaps/pete/keymap.c b/keyboards/planck/keymaps/pete/keymap.c new file mode 100644 index 0000000000..fb2d9692d0 --- /dev/null +++ b/keyboards/planck/keymaps/pete/keymap.c @@ -0,0 +1,225 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _FCT 5 +#define _SETUP 6 +#define _MUSIC 7 +#define _MICMUTE 16 + +// Macro name shortcuts +#define QWERTY M(_QWERTY) +#define COLEMAK M(_COLEMAK) +#define DVORAK M(_DVORAK) +#define LOWER M(_LOWER) +#define RAISE M(_RAISE) +#define FCT M(_FCT) +#define MICMUTE M(_MICMUTE) + +#define MACPRNT LGUI(LSFT(KC_3)) +#define MACPRNT2 LGUI(LSFT(KC_4)) +#define CYCLWIN LGUI(KC_GRV) +#define MAC_SLEP LSFT(LCTL(KC_POWER)) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {FCT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +[_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {FCT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +[_DVORAK] = { + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, + {FCT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +[_LOWER] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, + {_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +[_FCT] = { /* Function */ + {BL_STEP, MAC_SLEP,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DELT}, + {_______, MICMUTE, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, MACPRNT}, + {_______, CYCLWIN, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, MACPRNT2}, + {FCT, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDOWN,KC_PGUP,KC_END } +}, + +[_SETUP] = { /* Setup */ + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______} +} +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +#ifdef AUDIO_ENABLE +float tone_startup[][2] = { + {440.0*pow(2.0,(31)/12.0), 12}, + {440.0*pow(2.0,(28)/12.0), 8}, + {440.0*pow(2.0,(19)/12.0), 8}, + {440.0*pow(2.0,(24)/12.0), 8}, + {440.0*pow(2.0,(28)/12.0), 20} +}; + +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +float tone_plover[][2] = SONG(PLOVER_SOUND); +float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); + +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); +float goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + break; + case _DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _SETUP); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _SETUP); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _SETUP); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _SETUP); + } + break; + case _FCT: + if (record->event.pressed) { + layer_on(_FCT); + } else { + layer_off(_FCT); + } + break; + case _MICMUTE: + if (record->event.pressed) { + register_code(KC_RSFT); + register_code(KC_RCTL); + register_code(KC_RALT); + register_code(KC_RGUI); + } else { + unregister_code(KC_RSFT); + unregister_code(KC_RCTL); + unregister_code(KC_RALT); + unregister_code(KC_RGUI); + } + break; + + } + return MACRO_NONE; +}; + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + _delay_ms(20); // stops the tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); + #endif +} + +#ifdef AUDIO_ENABLE +void play_goodbye_tone() +{ + PLAY_NOTE_ARRAY(goodbye, false, 0); + _delay_ms(150); +} + +uint8_t starting_note = 0x0C; +int offset = 0; + +bool process_action_user(keyrecord_t *record) { + + if (IS_LAYER_ON(_MUSIC)) { + if (record->event.pressed) { + play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); + } else { + stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); + } + return false; + } + return true; +} +#endif |