diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-06-21 22:39:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-21 22:39:54 -0400 |
commit | 649b33d7783cf3021928534b7ae127e0a89e8807 (patch) | |
tree | c2b5e0cf8ff4aa2918e3b88ab75dbdb071cc0a1d /keyboards/planck/keymaps/unicode | |
parent | 464c8e274f993d3571fe5ea5e836fe55a3912ffe (diff) |
Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
* fixes from tmk's repo
* rename keyboard to keyboards
Diffstat (limited to 'keyboards/planck/keymaps/unicode')
-rw-r--r-- | keyboards/planck/keymaps/unicode/Makefile | 11 | ||||
-rw-r--r-- | keyboards/planck/keymaps/unicode/compiled.hex | 1206 | ||||
-rw-r--r-- | keyboards/planck/keymaps/unicode/keymap.c | 326 |
3 files changed, 1543 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/unicode/Makefile b/keyboards/planck/keymaps/unicode/Makefile new file mode 100644 index 0000000000..110af7501c --- /dev/null +++ b/keyboards/planck/keymaps/unicode/Makefile @@ -0,0 +1,11 @@ + + +# 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 +# +UNICODE_ENABLE = yes # Unicode + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/planck/keymaps/unicode/compiled.hex b/keyboards/planck/keymaps/unicode/compiled.hex new file mode 100644 index 0000000000..ad95012764 --- /dev/null +++ b/keyboards/planck/keymaps/unicode/compiled.hex @@ -0,0 +1,1206 @@ +:100000000C94B3040C94F7040C94F7040C94F704C8
+:100010000C94F7040C94F7040C94F7040C94F70474
+:100020000C94F7040C94F7040C9426100C94F8101C
+:100030000C940F1E0C94F7040C94F7040C94F70422
+:100040000C94F7040C9458050C94F7040C94F704E2
+:100050000C94F7040C94771E0C94F7040C94F7049A
+:100060000C94F7040C94F7040C94F7040C94F70424
+:100070000C94F7040C94F7040C94F7040C94F70414
+:100080000C94F7040C94F7040C94F7040C94F70404
+:100090000C94F7040C94F7040C94F7040C94F704F4
+:1000A0000C94F7040C94F7040C94F704BE05C605F1
+:1000B000D005D805E705F1052E062E062E062E06DC
+:1000C0002E062E06FF0522062A06651187117512D7
+:1000D00087117512CC11EF11751244125712411588
+:1000E000411570157015AF15CF1525172517DA15A1
+:1000F00025178A168A16F116FA1625171F1797164E
+:100100009716971697169716971697169716971687
+:100110009716971697169716971697169716A71667
+:10012000B516BC16C316CD16000000000000000076
+:10013000000000010204060A0F17202C3A4A5D71E4
+:10014000879DB3C7DAE9F5FCFFFCF5E9DAC7B39D93
+:1001500087715D4A3A2C20170F0A0604020100003D
+:10016000000000000000000001080115010901194C
+:100170000112010F02080215020902190212020FF0
+:10018000002B0014001A000800150017001C0018AE
+:10019000000C00120013002A0029000400160007BA
+:1001A0000009000A000B000D000E000F00330034A0
+:1001B00000E1001D001B00060019000500110010E1
+:1001C0000036003700380028000530E000E200E388
+:1001D0000003302C002C0004305000510052004F1E
+:1001E000002B00718077806680708067806A806CE9
+:1001F00080758079803B80088029006180728073DF
+:10020000807480648068806E80658069806F8027DC
+:1002100080E1007A8078806380768062806B806D78
+:10022000802C802E802F8028000100E000E200E377
+:100230000003302C002C0004305000510052004FBD
+:10024000002B0034003600370013001C0009000AA0
+:1002500000060015000F002A002900040012000803
+:100260000018000C0007000B0017001100160038E2
+:1002700000E100330014000D000E001B000500100B
+:10028000001A0019001D0028000530E000E200E31C
+:100290000003302C002C0004305000510052004F5D
+:1002A0000035021E021F0220022102220223022424
+:1002B000022502260227022A004C003A003B003C9D
+:1002C000003D003E003F002D022E022F0230023181
+:1002D000020100400041004200430044004500018B
+:1002E0000001000100010001000100010001000106
+:1002F000000100010001000100AB00AA00A900AE4E
+:100300000035001E001F00200021002200230024D1
+:10031000002500260027002A004C003A003B003C44
+:10032000003D003E003F002D002E002F0030003128
+:10033000000100400041004200430044004500012C
+:1003400000010001000100010001000100010001A5
+:10035000000100010001000100AB00AA00A900AEED
+:10036000001E001E001E001E001E001E001E001E9D
+:10037000001E001E001E001E00000014001A0008CF
+:1003800000150017001C0018000C00120013002FAD
+:10039000000E3004001600070009000A000B000DD3
+:1003A000000E000F00330034000D30000000000686
+:1003B0000019000000000011001000000000000003
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:1007800000010000700100010001000100010001F2
+:10079000000100010001004C0001000100010015F2
+:1007A00070167013700A700030013002300C300186
+:1007B0000001001C701B70187019701D701E7001F4
+:1007C0000001000100010001000100010001000121
+:1007D0000001000100010001000100010001000111
+:1007E000002803540068006500200050006C006180
+:1007F000006E0063006B0020004B00650079006212
+:10080000006F0061007200640000002C034F007252
+:1008100000740068006F006C0069006E0065006184
+:1008200000720020004B006500790062006F0061DB
+:1008300000720064007300000004030904090254FC
+:1008400000030100A0FA09040000010301010009EE
+:1008500021110100012240000705810308000A0957
+:100860000401000103010200092111010001224DD0
+:10087000000705820308000A0904020001030000C2
+:100880000009211101000122360007058303080039
+:100890000A1201100100000008EDFE606001000175
+:1008A00002000105010980A101850216010026B799
+:1008B000001A01002AB700751095018100C0050CCF
+:1008C0000901A1018503160100269C021A01002AD4
+:1008D0009C02751095018100C005010902A1010962
+:1008E00001A10005091901290515002501950575C6
+:1008F0000181029501750381010501093009311556
+:1009000081257F95027508810609381581257F9517
+:100910000175088106050C0A38021581257F9501AD
+:1009200075088106C0C005010906A101050719E087
+:1009300029E71500250195087501810295017508C3
+:100940008101050819012905950575019102950197
+:10095000750391010507190029FF150026FF009571
+:100960000675088100C011241FBECFEFDAE0DEBF9C
+:10097000CDBF04B603FE24C08091E7019091E80149
+:10098000A091E901B091EA018730904BA740B04BAC
+:10099000B9F41092E7011092E8011092E901109267
+:1009A000EA0114BE84B7877F84BF88E10FB6F8944C
+:1009B00080936000109260000FBEE0E0F8E30995BC
+:1009C00011E0A0E0B1E0ECE0FBE402C005900D9284
+:1009D000AE33B107D9F711E0AEE3B1E001C01D922B
+:1009E000A73EB107E1F70E94700D0C9484250C948A
+:1009F0000000089581E0089508950C94F9040C9482
+:100A0000FA040C94FC040E94FA2323E030E0281B33
+:100A10003109220F209342010895282F2F988091A9
+:100A20008000211108C0877F8093800010928D0084
+:100A300010928C001BC0886080938000233019F4D2
+:100A40008FEF9FEF0FC083E090E0821B9109880F2A
+:100A5000991F2FEF3FEFA90102C0569547958A9540
+:100A6000E2F7CA0190938D0080938C000C940305EB
+:100A70000E94030584E08093410110923E01089595
+:100A8000279A2F988FEF9FEF90938700809386008F
+:100A90008AE08093800089E1809381000E94632333
+:100AA0000C9438050E9440056E9A769A0C94340690
+:100AB0001F920F920FB60F9211242F933F938F9393
+:100AC0009F93EF93FF93E0913F01F0914001CF019D
+:100AD00001969093400180933F010090410102C034
+:100AE000F695E7950A94E2F7EF7380913E01823024
+:100AF00019F4E03251F404C0813039F4EF3329F4B1
+:100B000080916F008D7F80936F00F0E0E85DFE4F75
+:100B1000E49121E031E0E29FC001E39F900D1124B8
+:100B20000090420102C0969587950A94E2F790934F
+:100B30008D0080938C00FF91EF919F918F913F9159
+:100B40002F910F900FBE0F901F901895CF93DF93AA
+:100B5000EC010E94091FBE0180E090E0DF91CF917F
+:100B60000C94501B462F50E04F30510508F076C0D2
+:100B7000DC01FA01EA5AFF4F0C94342512968C914D
+:100B8000882309F46BC081E090E007C012968C9135
+:100B9000882309F463C082E090E00E94A6055EC04D
+:100BA00012968C91882309F459C084E090E0F5CF27
+:100BB00012968C91882311F083E00EC083E00E948E
+:100BC000EE1B40E164E083E00E94350847C01296C6
+:100BD0008C91882321F084E00E94CD1BF2CF84E029
+:100BE000EECF12968C91882331F085EE0E94E513AA
+:100BF0000E94BA2333C085EE0E94AD142FC0129616
+:100C00008C91882359F184E00E94EE1B83E00E94BE
+:100C1000EE1B80E10E94EE1B85E00E94CD1B0E942E
+:100C2000F61E811102C00E94D71E0E940E1F90E086
+:100C30009093D8018093D70180688093D7010E9458
+:100C4000121F0CC012968C91882341F085E00E94FF
+:100C5000EE1B04C012968C91811103C080E090E0DD
+:100C6000089588E691E00895089581E008950C9430
+:100C700035060895282F882339F090E02A3010F4A3
+:100C80004D9608950697089587E290E00895AF92F3
+:100C9000BF92DF92EF92FF920F931F93CF93DF9358
+:100CA0008C01FC01C081D181CE010E94891CBE0152
+:100CB0000E941B0AEC01B8010E943706882309F440
+:100CC000C9C1F8018281882309F4BEC080914F0117
+:100CD00081111FC0C431F0E7DF0709F0B5C10E94E0
+:100CE000390681E080934F010E94411E90934E018E
+:100CF00080934D01109246011092480110924701D5
+:100D000010924A011092490110924C0110924B012D
+:100D1000A1C180914D0190914E010E944D1E883CD1
+:100D2000910570F480914601E82FF0E0EE0FFF1F6F
+:100D3000E95BFE4FD183C0838F5F809346018AC1F8
+:100D4000C13020E8D20708F451C0F801828188231D
+:100D500009F47EC05E01E894B7F8809145018130C6
+:100D600079F050F08230C1F482EE0E94E51387E5FD
+:100D70000E94E51387E50EC082EE0E94E5130CC0C9
+:100D800080EE0E94E51381EE0E94E51388E10E9447
+:100D9000E51388E10E94AD148CE0E82EF12CC5012A
+:100DA0000E2C02C0969587950A94E2F78F700E94E8
+:100DB0003A06D82E0E94E5138D2D0E94AD14F4E062
+:100DC000EF1AF1082CEFE2162FEFF20641F78091AF
+:100DD0004501813029F010F0823041F482EE04C0E8
+:100DE00080EE0E94AD1481EE0E94AD14C43180E704
+:100DF000D80768F4C23090E7D90708F046C0C1159B
+:100E0000E0E7DE0771F0C130D047A1F10CC1C33378
+:100E100020E7D20709F4D8C0C433D04709F4EBC0A7
+:100E200002C1F8018281882309F402C10E9490174F
+:100E3000FFEF24E38CE0F15020408040E1F700C058
+:100E400000000E949C1E06C1C13080E8D80770F2E5
+:100E5000C43120E7D20708F0B3C0C23080E7D8071A
+:100E6000A0F4C11590E7D90709F4E2C0C130D0471A
+:100E700009F0D9C0F8018281882309F4D9C0809192
+:100E8000C60181608093C601E5C0F8018281882394
+:100E900009F4CEC00E94F61E811102C00E94D71E26
+:100EA0000E940E1F90E09093D8018093D701C2302A
+:100EB000F0E7DF0721F48091D70181607AC0C33069
+:100EC00020E7D20721F48091D701826072C0C4303C
+:100ED00080E7D80721F48091D70184606AC0C530CB
+:100EE00090E7D90719F48091D70127C0C630E0E711
+:100EF000DE0721F48091D70180615BC0C730F0E745
+:100F0000DF0721F48091D701806253C0C83020E709
+:100F1000D20721F48091D70180644BC0C93080E7AB
+:100F2000D80721F48091D701806843C0CA3090E788
+:100F3000D90729F48091D701846088603AC0CB300A
+:100F4000E0E7DE0721F48091D7018E7F32C0CC30FC
+:100F5000F0E7DF0721F48091D7018D7F2AC0CD30E3
+:100F600020E7D20721F48091D7018B7F22C0CE30B9
+:100F700080E7D80719F48091D7011AC08091D70172
+:100F8000CF3090E7D90711F48F7E13C0C031E0E76E
+:100F9000DE0711F48F7D0DC0C131F0E7DF0711F4DA
+:100FA0008F7B07C0C231D04711F48F7702C08B7F8F
+:100FB000877F8093D7018091D7010E94121F4AC07A
+:100FC000C333F0E7DF07A1F4F8018281882321F021
+:100FD0001092430182E016C080914301811106C046
+:100FE00086E20E94E51386E20E94AD1482E018C0FA
+:100FF000C433D047C1F4F8018281882331F01092C4
+:10100000440180E20E94FC1425C0809144018111BA
+:1010100006C087E20E94E51387E20E94AD1480E2D9
+:101020000E94031517C081E080934301809344011F
+:10103000C801DF91CF911F910F91FF90EF90DF904A
+:10104000BF90AF900C94FF04C130F0E8DF0708F0C8
+:1010500081CECCCE80E0DF91CF911F910F91FF9098
+:10106000EF90DF90BF90AF900895CF92DF92EF9214
+:10107000FF920F931F9301E010E020E030E0680141
+:10108000790104C0CC0CDD1CEE1CFF1C8A95D2F744
+:1010900004C0000F111F221F331F6A95D2F70C29BD
+:1010A0001D292E293F29C090B101D090B201E090B6
+:1010B000B301F090B401C022D122E222F322842FA6
+:1010C000C016D106E206F30641F41F910F91FF907E
+:1010D000EF90DF90CF900C94CD1B1F910F91FF905C
+:1010E000EF90DF90CF900C94EE1B0C9452050C9473
+:1010F000FD042CE0729FF001112430E3839FE00D8A
+:10110000F11D1124E60FF11DEE0FFF1FEF57FE4FEB
+:10111000859194910E942D0A811540E5940708F06D
+:1011200047C0811520E4920708F013C1883E91055D
+:1011300020F5803E910508F07CC1883A910578F44D
+:10114000853A910508F0A5C08130910509F471C177
+:1011500008F42EC18430910508F06BC129C18B3B86
+:10116000910508F4A1C0803C910508F421C1FC015F
+:10117000EE0FFF1FEF5FFF4FE6C0811530E29307D0
+:1011800058F4811541E0940708F053C1803F910560
+:1011900008F40EC190650895811520E3920708F0C8
+:1011A000D5C0FC01FF70EE0FFF1FEF57FE4FCBC005
+:1011B000811535E5930708F043C0811544E5940790
+:1011C00008F0DEC0811522E5920708F5811531E5AA
+:1011D000930708F0C1C0482F437021E030E002C0FF
+:1011E000220F331F4A95E2F73C68AC0164E0569544
+:1011F00047956A95E1F74370342B8F7086958695F5
+:1012000040E2849FC0011124822B932B0895282F44
+:1012100026952695AC01437055278115934508F016
+:10122000A0C080E2289F9001112481E090E002C0DC
+:10123000880F991F4A95E2F7822B932B9C6808959B
+:101240008F3240E7940790F48F3120E7920708F03F
+:10125000A2C0811536E5930708F497C09C0130566B
+:101260002115304108F0A4C09F7093C0803320E75F
+:10127000920709F497C008F492C0813340E79407BD
+:1012800009F493C08233904709F092C080E093ED57
+:101290000895853A910509F48EC0863A910509F0C2
+:1012A0008DC082E890E40895883A910509F489C0D8
+:1012B000893A910509F488C08A3A910509F487C0F2
+:1012C0008B3A910509F486C08C3A910509F485C0E2
+:1012D0008D3A910509F484C0803B910509F483C0DF
+:1012E0008E3A910509F482C08F3A910509F481C0C4
+:1012F000813B910509F480C0823B910509F47FC0D0
+:10130000833B910509F47EC0843B910509F47DC0BF
+:10131000853B910509F47CC0863B910509F47BC0AF
+:10132000873B910509F47AC0883B910509F479C09F
+:10133000893B910509F478C08A3B910509F477C08F
+:1013400080E094E408958591949108959927906C94
+:1013500008959F70906A0895982F8827816F906AEA
+:10136000089590E2299F9001112481E090E002C04D
+:10137000880F991F4A95E2F7822B932B9A6808955C
+:10138000982F8827846F906A08958F719927982FD6
+:101390008827906208958F519047946D089580E05A
+:1013A00091ED089580E090ED089580E092ED08952C
+:1013B00080E090E0089581E890E4089583E890E467
+:1013C000089582EE94E4089589EE94E408958AEEF7
+:1013D00094E4089585EB94E4089586EB94E40895ED
+:1013E00087EB94E408958CEC94E408958DEC94E4F8
+:1013F000089583E895E408958AE895E4089582E9DC
+:1014000095E4089584E995E4089581E296E40895C9
+:1014100083E296E4089584E296E4089585E296E4F2
+:10142000089586E296E4089587E296E408958AE2B4
+:1014300096E4089508959CE0799FF001112490E3CB
+:10144000899FE00DF11D1124E60FF11DEE0FFF1F26
+:10145000EF57FE4F8591949108958238910549F197
+:10146000B0F48133910509F458C048F489329105EC
+:1014700009F44EC08A32910509F454C008958533A9
+:10148000910509F440C08933910599F00895833E90
+:10149000910529F138F4803E910591F0823E910545
+:1014A000A1F00895863E9105F9F0873E910531F14E
+:1014B00008952091D70120FD3AC021FD38C008953C
+:1014C0008091D70180FD35C032C08091D70182FF65
+:1014D00032C08091D70184FD30C083EE39C0809145
+:1014E000D70182FD28C0F5CF8091D70183FF27C0A7
+:1014F0008091D70184FD21C087EE2AC08091D70159
+:1015000083FD1DC0F5CF8091D70185FD1AC01BC09A
+:101510008091D70185FD17C014C08091D70186FD49
+:1015200014C015C08091D70186FD11C00EC080EE99
+:101530000FC089E30DC082EE0BC080E009C086EECB
+:1015400007C089E205C085E303C08AE201C081E3E8
+:1015500090E008950C940105E82FF0E0E05EFE4F66
+:101560008081E82FEF70F0E082958F7021E030E00D
+:10157000A90102C0440F551F8A95E2F740A30895C0
+:101580000F931F93CF93DF93C3E0D0E001E010E00F
+:10159000FE01E05EFE4F8081E82FEF70F0E021A1B8
+:1015A00082958F70A80102C0440F551F8A95E2F7FB
+:1015B000CA01822B81A38C2F0E94AC0A219740F78D
+:1015C0008BE090E061E070E0FC01EC5EFE4F20817A
+:1015D000E22FEF70F0E042A122952F70DB0102C0F4
+:1015E000AA0FBB1F2A95E2F79D01242B22A3019786
+:1015F00058F7DF91CF911F910F9108950F931F938B
+:10160000CF93DF9385B7806885BF85B7806885BF36
+:10161000C3E0D0E001E010E0FE01E05EFE4F80811B
+:10162000E82FEF70F0E021A182958F70A80102C031
+:10163000440F551F8A95E2F7CA01822B81A38C2F94
+:101640000E94AC0A219740F78BE090E061E070E0E7
+:10165000FC01EC5EFE4F2081E22FEF70F0E042A132
+:1016600022952F70DB0102C0AA0FBB1F2A95E2F75B
+:101670009D01242B22A3019758F7DF91CF911F9151
+:101680000F910C947508EF92FF920F931F93CF93D5
+:10169000DF9308E511E0C3E0EE24E394F12CD5E0FC
+:1016A0008C2F0E94AC0A8BE090E040E050E0FC01FF
+:1016B000EC5EFE4F6081E62FEF70F0E020A130E09D
+:1016C00062956F7002C0359527956A95E2F720FD07
+:1016D00009C09701082E02C0220F331F0A94E2F7B7
+:1016E000422B532B019718F7F801929182918F01A9
+:1016F0008417950721F051834083D09300018C2FEC
+:101700000E94AC0AC15060F68091000187FD2CC098
+:101710008150809300018F3F39F08FE99FE001975E
+:10172000F1F700C0000020C0809156019091570150
+:1017300090935F0180935E018091540190915501D7
+:1017400090935D0180935C018091520190915301CF
+:1017500090935B0180935A018091500190915101C7
+:1017600090935901809358010E94770881E0DF919E
+:10177000CF911F910F91FF90EF900895E82FF0E027
+:10178000EE0FFF1FE85AFE4F808191810895089562
+:101790000F931F93CF9300E611E0C0E0F801929100
+:1017A00082918F010E94BA1DC80FF1E008351F0712
+:1017B000A9F78C2FCF911F910F9108958091680107
+:1017C0000895CF93DF9300D01F92CDB7DEB79C0171
+:1017D0008091DD01843019F593E099833B832A835E
+:1017E0009093E9008FEF9091E800815095FD06C03D
+:1017F00095ED9A95F1F700008111F5CF8091E80001
+:1018000085FF0DC040E050E063E070E0CE0101963E
+:101810000E94160E8091E8008E778093E8000F906A
+:101820000F900F90DF91CF910895CF93DF9300D069
+:101830001F92CDB7DEB72091DD01243021F522E0E3
+:1018400029839B838A8383E08093E9008FEF9091C3
+:10185000E800815095FD06C095ED9A95F1F70000DE
+:101860008111F5CF8091E80085FF0DC040E050E088
+:1018700063E070E0CE0101960E94160E8091E800B0
+:101880008E778093E8000F900F900F90DF91CF91AB
+:1018900008952091DD012430F1F422E02093E90045
+:1018A0002FEF3091E800215035FD06C035ED3A9517
+:1018B000F1F700002111F5CF2091E80025FF0BC0C2
+:1018C00040E050E065E070E00E94160E8091E80074
+:1018D0008E778093E8000895CF93DF932091DD0108
+:1018E000243039F521E02093E9002FEF3091E80012
+:1018F000215035FD06C035ED3A95F1F70000211174
+:10190000F5CF2091E80025FF14C0EC0140E050E045
+:1019100068E070E00E94160E8091E8008E77809358
+:10192000E80088E0FE01A0E6B1E001900D928A9502
+:10193000E1F7DF91CF9108958091DC01811109C019
+:101940000E94AB0F0E9408108091E2008460809397
+:10195000E20008951092DC010895089508950C9412
+:10196000041E42E061EC81E00E94250F42E061EC40
+:1019700082E00E94250F42E061EC83E00C94250F89
+:101980008091DF01833009F453C030F4813071F06D
+:10199000823009F48CC008958A3009F478C08B3005
+:1019A00009F45EC0893009F09AC020C08091DE0140
+:1019B000813A09F094C08091E800877F8093E80025
+:1019C0008091E2019091E301892B21F468E080E6A7
+:1019D00091E003C060E080E090E070E00E94610E62
+:1019E0008091E8008B778093E80008958091DE0174
+:1019F000813209F074C08091E2019091E301892B5A
+:101A000009F06DC08091E800877F8093E8008091A5
+:101A1000E80082FD05C08091DD018111F8CF5FC033
+:101A20008091F100809368018091E8008B7753C02A
+:101A30008091DE01813A09F052C08091E2019091DB
+:101A4000E301892B09F04BC08091E800877F8093E8
+:101A5000E8008091E80080FFFCCF80910B0136C048
+:101A60008091DE018132D9F58091E2019091E3010C
+:101A7000892BA9F58091E800877F8093E8000E9478
+:101A80005A0F8091E00180930B010C949017809184
+:101A9000DE01813221F58091E800877F8093E800A4
+:101AA0000E945A0F8091E10180936901089580910D
+:101AB000DE01813AA1F48091E800877F8093E800FD
+:101AC0008091E80080FFFCCF809169018093F10054
+:101AD0008091E8008E778093E8000C945A0F089567
+:101AE00084B7877F84BF88E10FB6F8948093600045
+:101AF000109260000FBE80E8809361001092610038
+:101B00000E94FD120E94AB0F0E9408108091E2001B
+:101B100084608093E20078940E948E120E94FF12EB
+:101B200081E091E00E94A9128091DD01853069F485
+:101B30000E94C61D8091DB018823B1F30E94F31D32
+:101B4000882391F30E94000EEFCF0E940713ECCF81
+:101B5000292F332723303105C9F064F421303105B2
+:101B600081F02230310509F043C084E590E02DE397
+:101B700038E042C021323105F1F02232310541F125
+:101B800037C082E190E021E938E036C09927813002
+:101B9000910541F08230910541F0892B49F5E9E347
+:101BA000F8E005C0EBE0F8E002C0E1EEF7E0849178
+:101BB00090E09F0121C06330D8F4E62FF0E0EE0FF3
+:101BC000FF1FE35DFE4F2081318189E090E014C06A
+:101BD000633070F470E0FB01EE0FFF1FE95DFE4F14
+:101BE00020813181FB01EC5DFE4F808190E004C0DB
+:101BF00080E090E020E030E0FA0131832083089516
+:101C000080E189BD82E189BD09B400FEFDCF8091EC
+:101C1000D8008F7D8093D8008091E000826080930F
+:101C2000E0008091E00081FDFCCF0895CF92DF922B
+:101C3000EF92FF920F931F93CF93DF93EC018B01F1
+:101C40006A010E94790F811133C0C114D10439F0A7
+:101C5000F60180819181081B190BC80FD91FE12C57
+:101C6000F12C0115110519F18091E80085FD16C0D0
+:101C70008091E8008E778093E800C114D10449F088
+:101C8000F60180819181E80EF91EF182E08285E003
+:101C90000FC00E94790F882321F30AC08991809395
+:101CA000F10001501109FFEFEF1AFF0ADACF80E0CF
+:101CB000DF91CF911F910F91FF90EF90DF90CF9028
+:101CC00008952091E4013091E5012617370748F087
+:101CD0006115710539F42091E8002E772093E80012
+:101CE00001C0B90140E061157105A9F12091DD0144
+:101CF000222309F443C0253009F442C02091E800B2
+:101D000023FD40C02091E80022FD32C02091E80070
+:101D100020FFE9CF4091F3002091F20030E0342B16
+:101D2000FC01CF016115710559F02830310540F4EF
+:101D300081918093F100615071092F5F3F4FF1CF86
+:101D400041E02830310509F040E02091E8002E778D
+:101D50002093E800C8CF4111C9CF0AC08091DD01AE
+:101D6000882361F0853061F08091E80083FD0AC02E
+:101D70008091E80082FFF2CF80E0089582E008952C
+:101D800083E0089581E008952091E4013091E50118
+:101D90002617370748F06115710539F42091E800DE
+:101DA0002E772093E80001C0B901FC0120E0611505
+:101DB000710591F18091DD01882309F440C08530DF
+:101DC00009F43FC08091E80083FD3DC08091E800A8
+:101DD00082FD2FC08091E80080FFE9CF2091F300C1
+:101DE0008091F20090E0922B6115710559F08830D6
+:101DF000910540F424912093F100319661507109CE
+:101E00000196F2CF21E0089709F020E08091E800E8
+:101E10008E778093E800CBCF2111CCCF0AC0809180
+:101E2000DD01882361F0853061F08091E80083FD59
+:101E30000AC08091E80082FFF2CF80E0089582E03E
+:101E4000089583E0089581E00895982F973058F51C
+:101E50009093E900981739F07091EC002091ED0013
+:101E60005091F00003C0242F762F50E021FF19C0BD
+:101E70003091EB003E7F3093EB003091ED003D7FE1
+:101E80003093ED003091EB0031603093EB007093B4
+:101E9000EC002093ED005093F0002091EE0027FF1E
+:101EA00007C09F5FD3CF8F708093E90081E00895D2
+:101EB00080E008958091DE0187FF11C08091E800E5
+:101EC00082FD05C08091DD018111F8CF11C08091A4
+:101ED000E8008B770BC08091DD01882349F0809169
+:101EE000E80080FFF8CF8091E8008E778093E800CB
+:101EF00008952091E4003091E50095E64091EC00D2
+:101F0000842F817040FF22C08091E80080FD1CC0BA
+:101F10008091DD01882391F0853091F08091EB0074
+:101F200085FD10C04091E4005091E5004217530731
+:101F300029F39A01915011F784E0089582E0089501
+:101F400083E0089581E0089580E008954091E800DD
+:101F500042FFDECF08950E9419100E942110E0EE8A
+:101F6000F0E0808181608083E8EDF0E080818F7710
+:101F7000808319BCA7EDB0E08C918E7F8C9380811B
+:101F80008F7E80831092DC0108950F931F93CF936F
+:101F9000DF930E9419100E942110C8EDD0E08881C3
+:101FA0008F77888388818068888388818F7D888304
+:101FB00019BC1092DD011092D9011092DB01109230
+:101FC000DA0100EE10E0F80180818B7F8083888148
+:101FD0008160888342E060E080E00E94250FE1EEAE
+:101FE000F0E080818E7F8083E2EEF0E0808181608E
+:101FF0008083808188608083F80180818E7F8083E8
+:10200000888180618883DF91CF911F910F9108951E
+:10201000E8EDF0E080818F7E8083E7EDF0E0808165
+:102020008160808384E082BF81E08093DC010C9436
+:10203000C50FE8EDF0E080818E7F80831092E20092
+:1020400008951092DA001092E10008951F920F9205
+:102050000FB60F9211242F933F934F935F936F937B
+:102060007F938F939F93AF93BF93EF93FF93809151
+:10207000E10082FF0BC08091E20082FF07C08091E7
+:10208000E1008B7F8093E1000E948D128091DA0045
+:1020900080FF1FC08091D80080FF1BC08091DA00B4
+:1020A0008E7F8093DA008091D90080FF0DC080E19F
+:1020B00089BD82E189BD09B400FEFDCF81E0809336
+:1020C000DD010E949C0C05C019BC1092DD010E942C
+:1020D000AA0C8091E10080FF19C08091E20080FF8E
+:1020E00015C08091E2008E7F8093E2008091E20033
+:1020F00080618093E2008091D80080628093D80054
+:1021000019BC85E08093DD010E94AE0C8091E10056
+:1021100084FF30C08091E20084FF2CC080E189BD43
+:1021200082E189BD09B400FEFDCF8091D8008F7D8A
+:102130008093D8008091E1008F7E8093E1008091B0
+:10214000E2008F7E8093E2008091E20081608093C4
+:10215000E2008091D901882311F084E007C08091CA
+:10216000E30087FD02C081E001C083E08093DD01D0
+:102170000E94AF0C8091E10083FF29C08091E200B2
+:1021800083FF25C08091E100877F8093E10082E09A
+:102190008093DD011092D9018091E1008E7F8093C0
+:1021A000E1008091E2008E7F8093E2008091E20066
+:1021B00080618093E20042E060E080E00E94250FB1
+:1021C0008091F00088608093F0000E94AD0CFF9138
+:1021D000EF91BF91AF919F918F917F916F915F919F
+:1021E0004F913F912F910F900FBE0F901F90189518
+:1021F0001F920F920FB60F9211242F933F934F937C
+:102200005F936F937F938F939F93AF93BF93CF937E
+:10221000DF93EF93FF93C091E900CF708091EC00C2
+:10222000D82FD17080FDD0E81092E9008091F000A5
+:10223000877F8093F00078940E943C111092E9000F
+:102240008091F00088608093F000CD2BCF70C09318
+:10225000E900FF91EF91DF91CF91BF91AF919F91F5
+:102260008F917F916F915F914F913F912F910F903F
+:102270000FBE0F901F9018951F93CF93DF93CDB78C
+:10228000DEB7AA970FB6F894DEBF0FBECDBFEEED56
+:10229000F1E088E08E0F9091F10091938E13FBCFC7
+:1022A0000E94C00C8091E80083FF1FC18091DE0175
+:1022B0009091DF01492F50E04A30510508F015C1D7
+:1022C000FA01EB59FF4F0C943425803881F08238A5
+:1022D00009F00BC18091E2018F708093E900809139
+:1022E000EB0085FB882780F91092E90006C08091F9
+:1022F000DA019091DB01911182609091E800977F63
+:102300009093E8008093F1001092F100C8C0282F4C
+:102310002D7F09F0EAC0882319F0823061F0E5C012
+:102320008091E001813009F0E0C0933009F080E055
+:102330008093DB012BC08091E001811127C0809147
+:10234000E2018F7009F4D1C08093E9002091EB0085
+:1023500020FF1CC0933021F48091EB00806214C0F8
+:102360009091EB0090619093EB0021E030E0A901A7
+:1023700002C0440F551F8A95E2F74093EA0010927D
+:10238000EA008091EB0088608093EB001092E900F6
+:102390008091E800877F86C08111A7C01091E0017D
+:1023A0001F778091E3008078812B8093E3008091F8
+:1023B000E800877F8093E8000E945A0F8091E80030
+:1023C00080FFFCCF8091E30080688093E3001111CF
+:1023D00002C082E001C083E08093DD0186C08058A6
+:1023E000823008F082C08091E0019091E1018C3D43
+:1023F00053E0950779F583E08A838AE289834FB7B2
+:10240000F894DE01139620E03EE051E2E32FF0E085
+:1024100050935700E49120FF03C0E295EF703F5FB7
+:10242000EF708E2F90E0EA3010F0C79601C0C09692
+:102430008D939D932F5F243149F74FBF8091E80022
+:10244000877F8093E8006AE270E0CE0101960E94E7
+:10245000610E14C0AE014F5F5F4F6091E2010E94B8
+:10246000A80DBC01009709F440C09091E800977F47
+:102470009093E80089819A810E94C40E8091E800BF
+:102480008B778093E80031C0803879F58091E8003F
+:10249000877F8093E8008091D9018093F10080913B
+:1024A000E8008E778093E8000E945A0F1EC08111C9
+:1024B0001CC09091E0019230C0F48091E800877FC9
+:1024C0008093E8009093D9010E945A0F8091D9011E
+:1024D000811106C08091E30087FD02C081E001C048
+:1024E00084E08093DD010E94B10C8091E80083FFBD
+:1024F0000AC08091E800877F8093E8008091EB001C
+:1025000080628093EB00AA960FB6F894DEBF0FBEF0
+:10251000CDBFDF91CF911F9108950895CF93809102
+:10252000DD018823A1F0C091E900CF709091EC000B
+:10253000892F817090FD80E8C82B1092E90080916E
+:10254000E80083FD0E943C11CF70C093E900CF9159
+:10255000089590936F0180936E010895E0916E014C
+:10256000F0916F01309721F00190F081E02D0994F6
+:1025700080E00895E0916E01F0916F01309721F0B5
+:102580000280F381E02D09940895E0916E01F091AD
+:102590006F01309721F00480F581E02D09940895B2
+:1025A00020916C0130916D018217930771F0909327
+:1025B0006D0180936C01E0916E01F0916F01309795
+:1025C00021F00680F781E02D0994089520916A0199
+:1025D00030916B018217930771F090936B01809398
+:1025E0006A01E0916E01F0916F01309721F0008453
+:1025F000F185E02D0994089508950C94FC120E9431
+:10260000381E0E94FE0A0E94BE1E0C9463235F9235
+:102610006F927F928F929F92AF92BF92CF92DF92F2
+:10262000EF92FF920F931F93CF93DF9300D000D0D0
+:102630001F92CDB7DEB70E94430B99E7C92E91E0F8
+:10264000D92E03E010E0AA24A394B12C502E802FA1
+:102650000E94BE0B4C01F601729062906F016826D9
+:10266000792661147104A1F40150110978F78FEFF4
+:1026700089838A831B820E94411E8160782F9D83FB
+:102680008C8349815A816B818D810E94B71338C038
+:102690008091C60181FD0E94C70B2BE030E07501DF
+:1026A000022E02C0EE0CFF1C0A94E2F7C70186213D
+:1026B0009721892B09F129835A828E209F2091E04E
+:1026C000892809F490E09B830E94411E8160782F45
+:1026D0009D838C8349815A816B818D810E94B713C0
+:1026E000000F111FF801EF58FE4F80819181E826FD
+:1026F000F926F182E08204C02150310980F6B4CF7E
+:102700000E949A20109170010E94AE121817D1F009
+:102710000E94AE12809370010F900F900F900F9057
+:102720000F90DF91CF911F910F91FF90EF90DF906D
+:10273000CF90BF90AF909F908F907F906F905F9061
+:102740000C94AA0A0F900F900F900F900F90DF91AA
+:10275000CF911F910F91FF90EF90DF90CF90BF909E
+:10276000AF909F908F907F906F905F900895CF93E0
+:10277000DF93CDB7DEB72B970FB6F894DEBF0FBE51
+:10278000CDBF4F83588769877A878B87DE01119683
+:1027900086E0FD0111928A95E9F785E0FE01379602
+:1027A00001900D928A95E1F749815A816B817C8174
+:1027B0008D819E810E942E1A2B960FB6F894DEBF53
+:1027C0000FBECDBFDF91CF910895CF93882309F439
+:1027D000C2C0C82F823859F40E94AE1281FDBBC01E
+:1027E00089E30E94081D0E948B1D89E30CC0833879
+:1027F00079F40E94AE1280FDAEC083E50E94081DF0
+:102800000E948B1D83E50E94251DCF910C948B1D8A
+:10281000843859F40E94AE1282FD9DC087E40E9464
+:10282000081D0E948B1D87E4EECF8CEF8C0F813A40
+:1028300048F48C2F0E94CC2281118DC08C2F0E94D5
+:10284000081DE3CF80E28C0F883048F4C77081E028
+:1028500001C0880FCA95EAF70E94441DD6CF8BE5C8
+:102860008C0F833078F4C53A29F0C63A31F083E80A
+:1028700090E005C081E890E002C082E890E0CF914E
+:102880000C94D01288E58C0F833108F064C0C83AEC
+:1028900039F1C93A41F1CA3A49F1CB3A51F1CC3A4E
+:1028A00059F1CD3A61F1C03B69F1CE3A71F1CF3ABD
+:1028B00079F1C13B81F1C23B89F1C33B91F1C43B4A
+:1028C00099F1C53BA1F1C63BA9F1C73BB1F1C83BAA
+:1028D000B9F1C93BC1F1CA3BC9F180E090E038C011
+:1028E00082EE90E035C089EE90E032C08AEE90E052
+:1028F0002FC085EB90E02CC086EB90E029C087EBE1
+:1029000090E026C08CEC90E023C08DEC90E020C0DD
+:1029100083E891E01DC08AE891E01AC082E991E065
+:1029200017C084E991E014C081E292E011C083E213
+:1029300092E00EC084E292E00BC085E292E008C013
+:1029400086E292E005C087E292E002C08AE292E06D
+:10295000CF910C94E612CF910895882309F44BC0CF
+:10296000823859F40E94AE1281FF45C089E30E946B
+:10297000081D0E948B1D89E30CC0833871F40E94EE
+:10298000AE1280FF38C083E50E94081D0E948B1D97
+:1029900083E50E94251D0C948B1D843859F40E94F8
+:1029A000AE1282FF28C087E40E94081D0E948B1D82
+:1029B00087E4EFCF9CEF980F913A58F390E2980F8D
+:1029C000983050F4877091E001C0990F8A95EAF72A
+:1029D000892F0E944A1DDFCF9BE5980F933020F48A
+:1029E00080E090E00C94D012885A833120F480E08B
+:1029F00090E00C94E6120895882321F00E94441D73
+:102A00000C948B1D0895882321F00E944A1D0C947C
+:102A10008B1D08957F928F929F92AF92BF92CF921B
+:102A2000DF92EF92FF920F931F93CF93DF931F924A
+:102A3000CDB7DEB77C01C62E772EFC01058102954D
+:102A40000F70128111110E94611D0E94011D8823C7
+:102A500079F0112369F080E28C0D883048F082E033
+:102A60000E94EA1C0E94011D91E0D82ED92601C0C7
+:102A7000D12CE72DE295EF70F0E0E159FF4F0C9477
+:102A80003425872D807F072D0F70882311F0029544
+:102A9000007F112389F0002309F499C180E28C0D95
+:102AA000883020F4802F0E94441D03C0802F0E9494
+:102AB000541D0E948B1D8BC18C2D0E94AD140023D0
+:102AC00009F4C3C180E28C0D883020F4802F0E946D
+:102AD0004A1D03C0802F0E945A1D0E948B1DB5C144
+:102AE000872D807F972D9F70803211F4892F03C02E
+:102AF000892F8295807FCC2021F0F1E0CF16A1F0C4
+:102B00001DC0112339F0002319F1013009F50E948D
+:102B1000741D9BC1002319F0013009F496C189830B
+:102B20000E94771D898110C1112321F0063008F021
+:102B30008CC10EC0053008F088C106C1112359F0C0
+:102B4000002331F0F701958190FF41C19F7095837B
+:102B50000E94FC147AC1002309F4F6C03EC1872DFF
+:102B600086958695837090E0009719F0019761F043
+:102B70006CC1112321F08C2D972D937002C080E041
+:102B800090E00E94D01261C1112321F08C2D972D6D
+:102B9000937002C080E090E00E94E61256C18C2D36
+:102BA000112319F00E94A21F02C00E940A200E9455
+:102BB0008F204BC1872D837009F052C0111145C180
+:102BC0008C2D829586958770880F880F9C2D9F701D
+:102BD000892E912CA12CB12C082E04C0880C991C94
+:102BE000AA1CBB1C0A94D2F7C4FE14C00FE010E06C
+:102BF00020E030E0B901A80104C0440F551F661F52
+:102C0000771F8A95D2F7CB01BA01609570958095B0
+:102C1000909503C060E070E0CB01272D26952695A6
+:102C2000237030E02230310569F02330310589F01E
+:102C3000682979298A299B292130310571F00E9460
+:102C4000761B03C1682979298A299B290E94921B36
+:102C5000FCC00E94761BC501B4010E945A1BF5C03E
+:102C6000112319F0872D817001C08695882309F4FE
+:102C7000ECC08C2D829586958770880F880F9C2DCF
+:102C80009F70892E912CA12CB12C082E04C0880C89
+:102C9000991CAA1CBB1C0A94D2F7C4FE14C00FE0F6
+:102CA00010E020E030E0B901A80104C0440F551F36
+:102CB000661F771F8A95D2F7CB01BA016095709590
+:102CC0008095909503C060E070E0CB01272D26959C
+:102CD00026952370422F50E04230510569F0433071
+:102CE000510589F0682979298A299B2941305105A4
+:102CF00071F00E94501CA9C0682979298A299B2952
+:102D00000E946C1CA2C00E94501CC501B4010E940C
+:102D1000341C9BC08C2D90E0FC01E05EF109E53194
+:102D2000F10508F050C0E158FF4F0C9434250C2DEC
+:102D30000F70872D8F71112321F00E94CD1B802FE2
+:102D400007CF0E94EE1B802F0E9403157EC0112327
+:102D500041F0053008F079C0872D8F710E94131C57
+:102D600074C0063008F071C0F7CF112339F0872DF9
+:102D70008F710E94CD1B69C01123C9F3872D8F71FC
+:102D80000E94EE1B62C0112329F0872D8F710E94D3
+:102D9000B81B5BC00E94AE1B58C0112351F0172D09
+:102DA0001F71812F0E94CD1B63E0812F0E94E11CC7
+:102DB0004CC081E00E94EA1C023008F446C082E068
+:102DC0000E94EA1C42C0112331F0002381F28C2DB5
+:102DD0000E94E5133AC0002389F28C2D0E94AD14A5
+:102DE00034C0472D4F706C2DC7010E94B2050E9460
+:102DF000D21A2BC0111129C0472D4F7050E042301C
+:102E00005105B9F04CF44115510581F0413051059F
+:102E1000E1F40E948B2319C04330510569F044301E
+:102E2000510599F48C2D0E94DD230FC00E9474235C
+:102E30000CC00E94A72309C00E94BA2306C0472DD8
+:102E40004F706C2DC7010E941A0ADD20F9F00E9414
+:102E5000DD1C80FD1BC0F70112820E94D71C0E945E
+:102E6000CD1BC7010E9455170E94D71C0F90DF9100
+:102E7000CF911F910F91FF90EF90DF90CF90BF9077
+:102E8000AF909F908F907F900C94EE1B0F90DF91EE
+:102E9000CF911F910F91FF90EF90DF90CF90BF9057
+:102EA000AF909F908F907F9008950F931F93CF9333
+:102EB000DF93EC01888199812B813C81232BB9F030
+:102EC0009F3F11F48F3F99F0CE010E94470688235F
+:102ED00071F0688179818A810E94D31C8C010E94E3
+:102EE000881C0E944F1BB801CE010E940A15DF9179
+:102EF000CF911F910F9108950E94611D0E94711D35
+:102F00000E94361D0E948B1D0E9440210E948F202E
+:102F100080E090E00E94D01280E090E00C94E612F5
+:102F20000E94511D0C947C170E94C81C292F2295C9
+:102F30002F7030E02C3031054CF42A3031056CF420
+:102F40002250310922303105A8F407C02C30310558
+:102F500069F02F30310551F00DC0803F69F018F451
+:102F6000803E40F409C0843F29F406C093FB8827C3
+:102F700080F9089580E0089581E00895CF93DF936C
+:102F800000D000D01F92CDB7DEB70F900F900F90FA
+:102F90000F900F90DF91CF910895CF93DF9300D0E2
+:102FA00000D000D0CDB7DEB726960FB6F894DEBFBE
+:102FB0000FBECDBFDF91CF9108951F93CF93DF93C5
+:102FC000C091790116E080917A01C81799F0D0E09C
+:102FD0001C9FF0011D9FF00D1124E558FE4F40810C
+:102FE000518162817381848195810E94CD172196E0
+:102FF000C770E9CFDF91CF911F9108954091AB0148
+:103000005091AC016091AD017091AE018091AF0122
+:103010009091B0010C94CD178091B00182958F7082
+:1030200009F054C08091AD01882309F44FC080910C
+:103030007901A0917A016091AB017091AC0140914E
+:10304000AE015091AF01B6E08A1709F43FC090E09D
+:1030500041155105C1F17F3F11F46F3FA1F1B89FB8
+:10306000F001B99FF00D1124E558FE4F2181721334
+:103070002AC02081621327C02281211124C023810C
+:1030800034812417350710F421503109241B350BE6
+:10309000283C3105C0F42091B0012F7020612093AD
+:1030A000B00126E0289FF001299FF00D1124E0587F
+:1030B000FE4F80818F70806180838BEA91E00E9457
+:1030C00055170C94DD1701968770BECF0895CF92E7
+:1030D000DF92EF92FF920F931F93CF93DF93CDB7C1
+:1030E000DEB762970FB6F894DEBF0FBECDBF8C017E
+:1030F00085E0F801DE011D9601900D928A95E1F7B9
+:10310000D8014C9111965C91119712966C9112977F
+:103110001396CD90DC9014973091AB017091AC0177
+:103120008091AE019091AF01009709F46BC17F3F90
+:1031300019F43F3F09F466C1E090AD01EE2009F4B7
+:10314000C0C02091B001C816D90628F0F601E81BCE
+:10315000F90BCF0104C0809590958C0D9D1DFF2427
+:10316000F394883C910578F0F12C207F09F0C6C0DB
+:103170007C2DD98AC88A89890E94BE178BEA91E082
+:103180000E945517B1C0822F807F09F046C0751389
+:1031900014C0341312C0611110C02F70206120932D
+:1031A000B0010E94FE178BEA91E00E9455178091B2
+:1031B000B001D80115968C932EC0CD2819F15F3F30
+:1031C00011F44F3FF9F0F62E61111CC08091790186
+:1031D00020917A0136E0821709F45AC090E0389FB6
+:1031E000F001399FF00D1124E558FE4F71815713FE
+:1031F00006C07081471303C07281711103C001962C
+:103200008770E9CFF62E662309F418C18091B001CA
+:1032100081608093B001F12C11C1751308C0341383
+:1032200006C0611104C08091B001D801C3C04D87B0
+:103230005E878D859E856A8B0E9494176A89882394
+:10324000E1F16623D1F12091B001822F82958F7038
+:1032500090E0029774F08091AB019091AC01988757
+:103260008F831986DB86CA862C87CE0107960E943B
+:10327000551786E0F801ABEAB1E001900D928A950E
+:10328000E1F70E940C180E94FE17FF24F394D6C0A9
+:103290004D875E878D859E850E94C81C292F2295AB
+:1032A0002F7030E0223031050CF0BCC09F7009F067
+:1032B000B6C0805E883008F4C1C0C8010E945517AE
+:1032C000E4CFC816D90608F453C0F601E81BF90B81
+:1032D000CF01883C910508F450C0F12C7C2DD98A8F
+:1032E000C88A89890E94BE17EBEAF1E086E0DF0117
+:1032F0001D928A95E9F70E94FE17A0C0751314C0AD
+:10330000341312C0611110C08091B001F80185839F
+:10331000C8010E94551786E0EBEAF1E0DF011D923B
+:103320008A95E9F7FE2C8AC04D875E878D859E853C
+:103330006A8B0E9494176A89882309F4BECF66239A
+:1033400009F4BBCF2091B001822F82958F7090E05D
+:1033500002970CF48ECF8091AB019091AC019A83CF
+:1033600089831B82DD82CC822E83CE0101967FCFA2
+:10337000809590958C0D9D1DACCFF62E662309F49B
+:103380009CCF75132EC034132CC02091B00120FDAA
+:103390001FC0822F82958F70D9F0D80115962C937B
+:1033A00015978F3049F08F5F982F9295907F822FDD
+:1033B0008F70892B15968C93C8010E94551786E053
+:1033C000F801ABEAB1E001900D928A95E1F793CF55
+:1033D00086E0F801ABEAB1E001900D928A95E1F741
+:1033E0002DC04D875E878D859E850E949417811123
+:1033F00040CF8091B00181608093B001C8010E94EC
+:1034000055171CC0662309F458CF4D875E878D85FC
+:103410009E850E949417882309F44FCF2ACF8111EB
+:1034200048CF0CC0243031050CF047CF9F7009F411
+:1034300040CFF8019581907F09F03BCF8F2D6296A8
+:103440000FB6F894DEBF0FBECDBFDF91CF911F91B5
+:103450000F91FF90EF90DF90CF9008951F93CF933F
+:10346000DF93CDB7DEB72C970FB6F894DEBF0FBE53
+:10347000CDBF4F83588769877A878B879C87CE011A
+:1034800007960E946718882369F08F8198852A859E
+:103490003B85232BF1F19F3F09F063C08F3F09F07B
+:1034A00060C037C086E0FE013796DE0111960190BC
+:1034B0000D928A95E1F76F817885EA85FB853097D3
+:1034C00041F17F3F11F46F3F21F120917A0130E00B
+:1034D000C9010196877099274091790150E08417BE
+:1034E000950709F447C069837A83FD83EC8396E0EE
+:1034F000929FD001939FB00D1124A558BE4FFE019D
+:10350000319601900D929A95E1F780937A010E948D
+:10351000DD1716E08091790190917A018917C1F148
+:10352000189FC001112485589E4F0E946718882358
+:1035300079F1E09179011E9FF0011124E558FE4FC9
+:103540004081518162817381848195810E94CD1770
+:103550008091790190E00196877099278093790195
+:10356000D9CF4F81588569857A858B859C850E9446
+:10357000CD17CFCF0E94901710927A011092790147
+:10358000EBEAF1E086E0DF011D928A95E9F7C1CF11
+:103590002C960FB6F894DEBF0FBECDBFDF91CF9152
+:1035A0001F910895EF92FF920F931F93CF93DF9394
+:1035B0008C01009709F46CC0F12CEE24E394E8012F
+:1035C0002196F8018491843740F4843008F051C08A
+:1035D000813081F0823019F15BC0853709F444C035
+:1035E000A8F19CE7980F903708F052C08F770E949F
+:1035F000AD1441C00E5F1F4FFE01C49180E28C0FDD
+:10360000883048F4C7708E2D01C0880FCA95EAF73C
+:103610000E94641D14C08C2F0E94E5132DC00E5F04
+:103620001F4FFE01C49180E28C0F883058F4C770A0
+:103630008E2D01C0880FCA95EAF70E946A1D0E946C
+:103640008B1D1AC08C2F0E94AD1416C00E5F1F4F29
+:10365000FE01C491CC2381F08FE99FE00197F1F73F
+:1036600000C00000C150F6CF0E5F1F4FFE01F49066
+:1036700003C00E94E5138E018F2D882309F49FCF8C
+:10368000EFE9FFE03197F1F700C000008150F5CF7E
+:10369000DF91CF911F910F91FF90EF9008950895C2
+:1036A0006093B5017093B6018093B7019093B80110
+:1036B0000C947C170F931F930091B5011091B601E4
+:1036C0002091B7013091B801DC01CB01802B912B07
+:1036D000A22BB32B8093B5019093B601A093B701B1
+:1036E000B093B8011F910F910C947C170F931F9307
+:1036F0000091B5011091B6012091B7013091B80148
+:10370000DC01CB0180239123A223B3238093B50155
+:103710009093B601A093B701B093B8011F910F9198
+:103720000C947C170F931F930091B5011091B60173
+:103730002091B7013091B801DC01CB01802791279E
+:10374000A227B3278093B5019093B601A093B70148
+:10375000B093B8011F910F910C947C171092B10196
+:103760001092B2011092B3011092B4010C947C1724
+:1037700041E050E060E070E004C0440F551F661F58
+:10378000771F8A95D2F74093B1015093B2016093AD
+:10379000B3017093B4010C947C1741E050E060E0F9
+:1037A00070E004C0440F551F661F771F8A95D2F73B
+:1037B0008091B1019091B201A091B301B091B40197
+:1037C000482B592B6A2B7B2B4093B1015093B201AC
+:1037D0006093B3017093B4010C947C1741E050E006
+:1037E00060E070E004C0440F551F661F771F8A9584
+:1037F000D2F740955095609570958091B101909168
+:10380000B201A091B301B091B401482359236A23B6
+:103810007B234093B1015093B2016093B301709345
+:10382000B4010C947C1741E050E060E070E004C00B
+:10383000440F551F661F771F8A95D2F78091B101FB
+:103840009091B201A091B301B091B40148275927DA
+:103850006A277B274093B1015093B2016093B30173
+:103860007093B4010C947C170F931F930091B101D6
+:103870001091B2012091B3013091B401DC01CB0170
+:10388000802B912BA22BB32B8093B1019093B2018B
+:10389000A093B301B093B4011F910F910C947C17C6
+:1038A0000F931F930091B1011091B2012091B301C8
+:1038B0003091B401DC01CB0180239123A223B323F7
+:1038C0008093B1019093B201A093B301B093B4017E
+:1038D0001F910F910C947C170F931F930091B101CE
+:1038E0001091B2012091B3013091B401DC01CB0100
+:1038F00080279127A227B3278093B1019093B2012B
+:10390000A093B301B093B4011F910F910C947C1755
+:103910000895CF92DF92EF92FF920F931F93CF9370
+:10392000DF938C01C090B501D090B601E090B70153
+:10393000F090B8018091B1019091B201A091B301D2
+:10394000B091B401C82AD92AEA2AFB2ACFE1D0E0F3
+:10395000D701C6010C2E04C0B695A79597958795FB
+:103960000A94D2F780FF06C0B8018C2F0E94790814
+:10397000019721F4219760F780E001C08C2FDF913F
+:10398000CF911F910F91FF90EF90DF90CF9008950E
+:10399000CF93DF93EC010E94891CBE010E9479083D
+:1039A000DF91CF910895CB010E94C81C08958091AA
+:1039B000B90185958595859508958091B9018770A0
+:1039C000089598E0899F90011124262B2093B90136
+:1039D0000C94CD1B2091B901809582238093B9016D
+:1039E000982F977069F430E0482F552747FD509580
+:1039F0002417350729F08595859585950C94EE1B40
+:103A000008959091B901977081E009F480E00895DC
+:103A100020910C0130910D01F90132969FEF40E0A9
+:103A20005191581789F09F3F19F4511101C0942FFB
+:103A30004F5F4630A9F79F3F39F0F901E90FF11DBB
+:103A400097FDFA9582830895089520910C01309195
+:103A50000D01F9013296285F3F4F9081981301C004
+:103A600010823196E217F307C1F7089581E090E0E4
+:103A7000E0910C01F0910D01E80FF91F1082019601
+:103A800088309105A9F708959091C501892B8093FD
+:103A9000C501089580959091C50189238093C50142
+:103AA00008951092C50108959091C401892B8093C7
+:103AB000C401089580959091C40189238093C40125
+:103AC00008951092C40108959091C301892B8093A9
+:103AD000C301089580959091C30189238093C30108
+:103AE00008951092C30108958093BA010895109229
+:103AF000BA01089580910C0190910D01FC0131965D
+:103B00009C01285F3F4F80E0919191118F5FE217F8
+:103B1000F307D1F70895E0910C01F0910D01809128
+:103B2000C5018083E0910C01F0910D01908180919D
+:103B3000C401892B8083E0910C01F0910D019081EB
+:103B40008091C301892B80838091BA01882361F021
+:103B5000E0910C01F0910D019081892B80830E94EE
+:103B60007A1D81111092BA0180910C0190910D0182
+:103B70000C94BA1220E0009739F0AC014150510981
+:103B8000842395232F5FF7CF822F08958091DD0145
+:103B9000843039F11092C70120E488E190E00FB63B
+:103BA000F894A895809360000FBE2093600080E099
+:103BB0000E940D0580E00E94AA0A83B7817F84607D
+:103BC00083BF83B7816083BF7894889583B78E7FE6
+:103BD00083BF88E10FB6F894809360001092600074
+:103BE0000FBE0895089580E00E940D050E94C00A4E
+:103BF0000E94430B0E94F21D0E94C80B91E08111AC
+:103C000001C090E0892F08950E94901780E00E94E3
+:103C10000D050E9463230E94AE120C94AA0A1F9203
+:103C20000F920FB60F9211248F939F93AF93BF9370
+:103C30008091C701811113C08091C8019091C90181
+:103C4000A091CA01B091CB014196A11DB11D8093F5
+:103C5000C8019093C901A093CA01B093CB01BF9151
+:103C6000AF919F918F910F900FBE0F901F9018955D
+:103C700082E084BD93E095BD9AEF97BD80936E007E
+:103C800008952FB7F8948091C8019091C901A0912F
+:103C9000CA01B091CB012FBF0895CF92DF92EF926E
+:103CA000FF920F931F932FB7F8944091C801509142
+:103CB000C9016091CA017091CB012FBF6A017B01DC
+:103CC000EE24FF248C0120E030E0C016D106E2068D
+:103CD000F30610F4415051099A01281B390BC90110
+:103CE0001F910F91FF90EF90DF90CF9008951F925A
+:103CF0000F920FB60F9211248F939F93AF93BF93A0
+:103D00008091C8019091C901A091CA01B091CB01E5
+:103D10000196A11DB11D8093C8019093C901A09384
+:103D2000CA01B093CB01BF91AF919F918F910F903A
+:103D30000FBE0F901F9018950E94AB0FF8942FEFB5
+:103D400087EA91E6215080409040E1F700C00000F2
+:103D500087E090EBDC018093E7019093E801A0936A
+:103D6000E901B093EA019CE088E10FB6F894A895C8
+:103D7000809360000FBE90936000FFCF0E94F61EFC
+:103D8000811102C00E94D71E0E94011F8093C601AC
+:103D90000E940E1F90E09093D8018093D7010E945B
+:103DA000051F682F70E080E090E00C94501B6DEED2
+:103DB0007EEF80E090E00E946E2560E082E090E07F
+:103DC0000E945C2560E083E090E00E945C2560E05A
+:103DD00084E090E00E945C2560E085E090E00E9435
+:103DE0005C2560E086E090E00C945C2580E090E04B
+:103DF0000E94562521E08D3E9E4F09F020E0822F43
+:103E0000089582E090E00C944E2583E090E00C94BD
+:103E10004E25682F83E090E00C945C2584E090E0D0
+:103E20000C944E25682F84E090E00C945C2586E08D
+:103E300090E00C944E25682F86E090E00C945C2571
+:103E40008091CE0180FF0BC06091110185E0689FD9
+:103E5000B001112475956795759567952BC081FF05
+:103E600009C06091110185E0689FB001112475952A
+:103E7000679520C082FF07C06091110185E0689FAF
+:103E8000B001112417C09091CF019923D1F0609116
+:103E90001001961788F72091110185E0289F900165
+:103EA0001124929FA001939F500D112470E0CA012C
+:103EB0000E9420256038710540F46115710539F0C4
+:103EC00002C065E070E0862F08958FE7089581E0D5
+:103ED00008958091CE0180FF08C060910F0170E0CD
+:103EE000759567957595679521C081FF06C06091AE
+:103EF0000F0170E07595679519C082FF04C060914D
+:103F00000F0170E010C09091CF019923C1F0609132
+:103F10000E019617A0F780910F01899FC00111240F
+:103F200070E00E9420256038710528F46115710544
+:103F300021F0862F08958FE7089581E0089561E0CC
+:103F400070E0F4CF803F21F40E94201F819504C0CF
+:103F5000813F29F40E94201F8093D2010895823F5F
+:103F600021F40E94201F819504C0833F29F40E9400
+:103F7000201F8093D1010895893F19F40E94691F81
+:103F800005C08A3F31F40E94691F81958093D30157
+:103F900008958B3F21F40E94691F819504C08C3FD6
+:103FA00029F40E94691F8093D4010895843F21F46D
+:103FB0008091D001816017C0853F21F48091D001AC
+:103FC000826011C0863F21F48091D00184600BC0D3
+:103FD000873F21F48091D001886005C0883F31F48B
+:103FE0008091D00180618093D00108958D3F21F4AC
+:103FF0008091CE0181600BC08E3F21F48091CE0173
+:10400000826005C08F3F29F48091CE018460809347
+:10401000CE010895803F39F48091D20187FF6CC0B2
+:104020001092D20169C0813F29F48091D201181603
+:10403000BCF362C09091D101823F29F497FF5CC02C
+:104040001092D10159C0833F19F41916CCF354C012
+:10405000893F41F48091D30118160CF04DC01092A5
+:10406000D3014AC08A3F29F48091D30187FF44C01D
+:10407000F6CF8B3F39F48091D40187FF3DC0109279
+:10408000D4013AC08C3F29F48091D4011816BCF3B6
+:1040900033C0843F21F48091D0018E7F17C0853FCB
+:1040A00021F48091D0018D7F11C0863F21F4809151
+:1040B000D0018B7F0BC0873F21F48091D001877F97
+:1040C00005C0883F31F48091D0018F7E8093D0016C
+:1040D00013C08D3F21F48091CE018E7F0BC08E3FA7
+:1040E00021F48091CE018D7F05C08F3F29F480910E
+:1040F000CE018B7F8093CE018091D10181110EC0C2
+:104100008091D20181110AC08091D301811106C032
+:104110008091D401811102C01092CF01089580EDE9
+:1041200091E00E94C5120E94411E9093CD018093A0
+:10413000CC0108951F93CF93DF938091CC01909190
+:10414000CD010E944D1EAC019091CF01992321F029
+:104150002091120130E006C0209113018AE0289FCF
+:10416000900111244217530708F486C08091D101B1
+:10417000C091D201D091D3011091D401811107C017
+:10418000C11176C0D11174C0111172C075C09F3FAA
+:1041900019F09F5F9093CF01181624F40E94201FFE
+:1041A0008093D1018091D10187FF05C00E94201F1B
+:1041B00081958093D1011C1624F40E94201F8093C6
+:1041C000D2018091D20187FF05C00E94201F8195F6
+:1041D0008093D2016091D101662339F1C091D2015F
+:1041E000CC2319F1772767FD7095872F972F0E94B1
+:1041F000312423E333E343E35FE30E9495240E94E9
+:10420000FE236093D1016C2F772767FD7095872F70
+:10421000972F0E94312423E333E343E35FE30E94BB
+:1042200095240E94FE236093D2011D1624F40E945F
+:10423000691F8093D3018091D30187FF05C00E943D
+:10424000691F81958093D301111624F40E94691F80
+:104250008093D4018091D40187FF05C00E94691F1B
+:1042600081958093D401DF91CF911F910C948F2081
+:104270009F3F09F08ECF96CFDF91CF911F91089588
+:10428000E0EDF1E085E0DF011D928A95E9F71092FB
+:10429000CF011092CE010895833081F128F481304E
+:1042A00059F08230D1F00895853009F449C0B8F151
+:1042B000863009F456C0089580911301262F30E00E
+:1042C000280F311D2F3F310524F4680F609313012F
+:1042D00008958FEF80931301089580911201262F86
+:1042E00030E0280F311D2F3F310524F4680F609313
+:1042F000120108958FEF80931201089580911101AA
+:10430000262F30E0280F311D2F3F310524F4680F90
+:104310006093110108958FEF8093110108958091AA
+:104320001001262F30E0280F311D2F3F310524F4D6
+:10433000680F6093100108958FEF80931001089526
+:1043400080910F01262F30E0280F311D2F3F3105BE
+:1043500024F4680F60930F0108958FEF80930F018D
+:10436000089580910E01262F30E0280F311D2F3F38
+:10437000310524F4680F60930E0108958FEF809348
+:104380000E010895833011F128F4813049F0823014
+:1043900091F00895853081F120F18630C1F10895C2
+:1043A00080911301681720F4861B809313010895F0
+:1043B00010921301089580911201681720F4861B52
+:1043C00080931201089510921201089580911101B5
+:1043D000681720F4861B8093110108951092110133
+:1043E000089580911001681720F4861B80931001B6
+:1043F000089510921001089580910F01681720F41C
+:10440000861B80930F01089510920F0108958091EB
+:104410000E01681720F4861B80930E0108951092F8
+:104420000E0108950F931F938732D8F58E3108F04F
+:1044300085C08E3009F46FC098F4873009F459C0F4
+:104440008B3009F48FC0863009F093C08091C6018B
+:10445000817F8E7F8093C60181E08093D6018AC0E0
+:10446000863109F47FC068F4803109F082C0809100
+:10447000C60183FB222720F991E0922790FB83F964
+:1044800053C0893109F46EC08B3109F072C080913C
+:10449000C60181FB222720F991E0922790FB81F948
+:1044A00043C0883309F45EC050F4893209F45CC01B
+:1044B000853309F459C0873209F456C05AC0833491
+:1044C00009F452C028F48A3308F453C0895337C022
+:1044D000883409F04EC00E9490170FEF13ED20E3CF
+:1044E000015010402040E1F700C000000E949C1ED7
+:1044F00039C09091C601892F8095817080FB90F919
+:1045000029F0966098609093C60134C0997F977F98
+:104510009093C60127C08091C60182FB222720F913
+:1045200091E0922790FB82F98093C6019923D1F004
+:104530008091C60181608093C60114C08D5141E015
+:1045400050E060E070E08A019B0104C0000F111F81
+:10455000221F331F8A95D2F7C901B8010E94501B50
+:104560000E94901781E006C061E070E080E090E07A
+:10457000F5CF80E01F910F91089580E0089580E0CD
+:1045800008958E518A3030F4E82FF0E0ED5CFE4F54
+:104590008081089580E00895CF93C82F8091D6013F
+:1045A000813069F018F08230C9F183C0E0910C01CC
+:1045B000F0910D018081823209F07DC007C0E09149
+:1045C0000C01F0910D018081823261F48C2F0E94E8
+:1045D000BD22811104C08C2F0E9412221DC081E0D7
+:1045E00090E01AC08C2F0E94BF22811114C0C431E8
+:1045F00079F048F4CB3079F0C03109F060C082E046
+:104600008093D60108C0C93219F0C83321F057C0D1
+:104610001092D60154C081E0817053C0C93289F133
+:1046200018F5C43171F1B0F4C73009F046C08EE11D
+:104630008093130182E3809312018AE08093110139
+:1046400084E18093100188E080930F0188E28093D9
+:104650000E0133C082EE8C0F863078F58C2F0E94CD
+:10466000C1228093D50129C0CE34E9F020F4CB34A7
+:1046700021F56AE013C0C13579F0C235F1F461E08B
+:104680000DC08091D501882319F01092D50115C075
+:1046900081E08093D60115C061E006C08091D5010C
+:1046A0000E944C210AC06AE08091D5010E94C2217B
+:1046B00004C01092D60180E004C081E002C080E016
+:1046C000ABCFCF9108950E94F61E811102C00E94C7
+:1046D000D71E0E94171F8093E60180FF02C08695B7
+:1046E00001C080E00C940D058091E601982F96950D
+:1046F000292F30E0233031054CF49F5F990F8170F2
+:10470000892B81608093E6010E941B1F8091E60146
+:1047100086950C940D058091E601982F969591F061
+:104720009158990F8170892B8093E6018E7F91E0DB
+:1047300009F490E08091E60190FB80F98093E60116
+:104740000E941B1F8091E60186950C940D058091B7
+:10475000E601982F909590FB80F98093E6010E94E6
+:104760001B1F8091E60180FF02C0869501C080E09A
+:104770000C940D059091E601892F86958F5F8F77B8
+:104780009170843028F4880F892B8093E60102C051
+:104790009093E6018091E6018E7F91E009F490E02C
+:1047A0008091E60190FB80F98093E6010E941B1F37
+:1047B0008091E60186950C940D052091E601922FDB
+:1047C00096958927982F990F822F8170892B809336
+:1047D000E6018E7F91E009F490E08091E60190FB84
+:1047E00080F98093E6010E941B1F8091E601869567
+:1047F0000C940D058091E6018695089504D0689487
+:10480000B1118DC0089570D088F09F5790F0B92FE6
+:104810009927B751A0F0D1F0660F771F881F991F15
+:104820001AF0BA95C9F712C0B13081F077D0B1E073
+:10483000089574C0672F782F8827B85F39F0B93F83
+:10484000CCF3869577956795B395D9F73EF4909517
+:104850008095709561957F4F8F4F9F4F0895E89495
+:1048600009C097FB3EF490958095709561957F4FB8
+:104870008F4F9F4F9923A9F0F92F96E9BB27939566
+:10488000F695879577956795B795F111F8CFFAF476
+:10489000BB0F11F460FF1BC06F5F7F4F8F4F9F4FA7
+:1048A00016C0882311F096E911C0772321F09EE805
+:1048B000872F762F05C0662371F096E8862F70E06B
+:1048C00060E02AF09A95660F771F881FDAF7880F45
+:1048D0009695879597F9089557FD9058440F551F61
+:1048E00059F05F3F71F04795880F97FB991F61F072
+:1048F0009F3F79F087950895121613061406551FE9
+:10490000F2CF4695F1DF08C0161617061806991F54
+:10491000F1CF86957105610508940895E894BB2749
+:1049200066277727CB0197F908950BD078C069D017
+:1049300028F06ED018F0952309F05AC05FC01124FA
+:10494000EECFCADFA0F3959FD1F3950F50E0551F2E
+:10495000629FF001729FBB27F00DB11D639FAA27D4
+:10496000F00DB11DAA1F649F6627B00DA11D661F23
+:10497000829F2227B00DA11D621F739FB00DA11D44
+:10498000621F839FA00D611D221F749F3327A00DFE
+:10499000611D231F849F600D211D822F762F6A2F9A
+:1049A00011249F5750408AF0E1F088234AF0EE0F1F
+:1049B000FF1FBB1F661F771F881F91505040A9F72C
+:1049C0009E3F510570F014C0AACF5F3FECF3983EB4
+:1049D000DCF3869577956795B795F795E7959F5F93
+:1049E000C1F7FE2B880F911D9695879597F908952D
+:1049F00097F99F6780E870E060E008959FEF80EC92
+:104A0000089500240A941616170618060906089534
+:104A100000240A9412161306140605060895092E9A
+:104A20000394000C11F4882352F0BB0F40F4BF2B09
+:104A300011F460FF04C06F5F7F4F8F4F9F4F089549
+:104A400097FB072E16F4009407D077FD09D00E943B
+:104A50003A2507FC05D03EF4909581959F4F089527
+:104A6000709561957F4F0895EE0FFF1F0590F491AB
+:104A7000E02D0994AA1BBB1B51E107C0AA1FBB1F55
+:104A8000A617B70710F0A61BB70B881F991F5A95DA
+:104A9000A9F780959095BC01CD010895F999FECFB5
+:104AA00092BD81BDF89A992780B50895A8E1B0E03C
+:104AB00042E050E00C947625262FF999FECF92BD66
+:104AC00081BDF89A019700B4021639F01FBA20BDD3
+:104AD0000FB6F894FA9AF99A0FBE08950196272F07
+:104AE0000E945D250C945C25DC01CB01FC01F99949
+:104AF000FECF06C0F2BDE1BDF89A319600B40D922A
+:0C4B000041505040B8F70895F894FFCFE2
+:104B0C00FFDE0B6C0C490C150CE10B01BB012808EA
+:104B1C00140A321E1F0F03764F5F6F7F496943796A
+:104B2C0009595363404D362609D908A3084F086824
+:0E4B3C000881080102030405060708090000AD
+:00000001FF
diff --git a/keyboards/planck/keymaps/unicode/keymap.c b/keyboards/planck/keymaps/unicode/keymap.c new file mode 100644 index 0000000000..d73e7e09d4 --- /dev/null +++ b/keyboards/planck/keymaps/unicode/keymap.c @@ -0,0 +1,326 @@ +/* + Copyright + 2015 Jack Humbert <jack.humb@gmail.com> + 2016 Francois Marlier <fmarlier@gmail.com> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + For more info on how this works per OS, see here + https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input +*/ + + +#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 _PLOVER 5 +#define _ADJUST 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 M_BL 5 +#define PLOVER M(12) +#define EXT_PLV M(13) +#define TOG_OUT M(14) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_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 }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_TAB, UC_q, UC_w, UC_f, UC_p, UC_g, UC_j, UC_l, UC_u, UC_y, UC_SCLN, UC_BSPC}, + {KC_ESC, UC_a, UC_r, UC_s, UC_t, UC_d, UC_h, UC_n, UC_e, UC_i, UC_o, UC_QUOT}, + {KC_LSFT, UC_z, UC_x, UC_c, UC_v, UC_b, UC_k, UC_m, UC_COMM, UC_DOT, UC_SLSH, KC_ENT}, + {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_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 }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {TOG_OUT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff| | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +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 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, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case M_BL: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + case 12: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + break; + case 13: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + break; + case 14: + if (record->event.pressed) { + return MACRO( D(E), D(R), D(F), D(V), D(O), D(L), U(E), U(R), U(F), U(V), U(O), U(L), END ); + } + 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); +} +#endif + + |