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/ergodox_ez/keymaps/dvorak_spanish | |
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/ergodox_ez/keymaps/dvorak_spanish')
-rw-r--r-- | keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md | 99 | ||||
-rw-r--r-- | keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex | 1149 | ||||
-rwxr-xr-x | keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c | 284 |
3 files changed, 1532 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md b/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md new file mode 100644 index 0000000000..e075e3cd7d --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md @@ -0,0 +1,99 @@ +# Ergodox Spanish Dvorak Layout + * See spanish dvorak layout [here](http://djelibeibi.unex.es/dvorak/) + * Software layout must be set to SPANISH QWERTY to work properly + +## Keymap Layers + - L0: spanish dvorak with some customizations (see layout below) + - L1: auxiliary keys (includes qwerty shortcuts, numpad...) + - L2: qwerty layout with customizations + + +### Keymap 0: Base layer +Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively + +<pre><code> + +,--------------------------------------------------. ,--------------------------------------------------. +| \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| F1/~L1 | . | , | Ñ | P | Y |MEH_T | | L1 | F | G | C | H | L |ALL_T/+ | +|--------+------+------+------+------+------| DEL | | ~L1 |------+------+------+------+------+--------| +|Esc/Ctrl| A | O | E | U | I |------| |------| D | R | T | N | S |'/RCtrl | +|--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| +| {/LSft | - | Q | J | K | X | | | | B | M | W | V | Z | }/RSft | +'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' + |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + '----------------------------------' '----------------------------------' + ,-------------. ,-------------. + |F5/CAG|F6/~L1| |F7/~L1|F8/CAG| + ,------|------|------| |------+--------+------. + | | |F4/CA | |F11/CA| | | + | ENTER| TAB |------| |------| BSPC | SPACE| + | | |F3/SA | |F12/SA| | | + '--------------------' '----------------------' + CAG = CTRL-ALT-GUI + CA = CTRL-ALT + SA = SHIFT-ALT + +</pre></code> + +### Keymap 1: Aux layer + +<pre><code> + +,--------------------------------------------------. ,--------------------------------------------------. +| | F1 | F2 | F3 | F4 | F5 | SLEEP| | PWR | F6 | F7 | F8 | F9 | F10 | F11 | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | < | > | MsUp | | | | | ~L0 | | 7 | 8 | 9 | * | '^ | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | |MsLeft|MsDown|MsRght| |------| |------| | 4 | 5 | 6 | + | Ç | +|--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------| +|CAPSLOCK| | | | | | | | | | 1 | 2 | 3 | / | | +'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' + |CTRL-S|CTRL-Z|CTRL-X|CTRL-C|CTRL-V| | | . | 0 | = | | + '----------------------------------' '----------------------------------' + ,-------------. ,-------------. + | | | | | Play | + ,------|------|------| |------+------+------. + | | | | | VolUp| | | + | Lclk | Rclk |------| |------| Prev | Next | + | | | L2 | | VolDn| | | + '--------------------' '--------------------' + +</pre></code> + +### Keymap 2: QWERTY layer + +<pre><code> + +,--------------------------------------------------. ,--------------------------------------------------. +| \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| TRANS | Q | W | E | R | T |MEH_T | | TRANS| Y | U | I | O | P |ALL_T/+ | +|--------+------+------+------+------+------| DEL | | |------+------+------+------+------+--------| +|Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | Ñ |'/RCtrl | +|--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| +| {/LSft | Z | X | C | V | B | | | | N | M | , | . | - | }/RSft | +'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' + |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + '----------------------------------' '----------------------------------' + ,-------------. ,-------------. + |F5/CAG| TRANS| | TRANS|F8/CAG| + ,------|------|------| |------+--------+------. + | | |F4/CA | |F11/CA| | | + | ENTER| TAB |------| |------| BSPC | SPACE| + | | | TRANS| |F12/SA| | | + '--------------------' '----------------------' + CAG = CTRL-ALT-GUI + CA = CTRL-ALT + SA = SHIFT-ALT + +</pre></code> + + +## Generation of .hex file +> [Download scripts from here](https://github.com/johgh/keyboard/tree/master/ergodox) + +> Execute install.sh and generate.sh scripts. + +> Flash with `teensy_loader` binary (should be installed from previous step) diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex b/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex new file mode 100644 index 0000000000..dcac1fe29d --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex @@ -0,0 +1,1149 @@ +:100000000C947B020C94BF020C94BF020C94BF02B0
+:100010000C94BF020C94BF020C94BF020C94BF025C
+:100020000C94BF020C94BF020C946D0E0C943F0F05
+:100030000C94BF020C94BF020C94BF020C94BF023C
+:100040000C94BF020C94F9210C94BF020C94BF02D3
+:100050000C94BF020C94DB1C0C94BF020C94BF02E6
+:100060000C94BF020C94BF020C94BF020C94BF020C
+:100070000C94BF020C94BF020C94BF020C94BF02FC
+:100080000C94BF020C94BF020C94BF020C94BF02EC
+:100090000C94BF020C94BF020C94BF020C94BF02DC
+:1000A0000C94BF020C94BF020C94BF02AC0FCE0F95
+:1000B000BC10CE0FBC1013103610BC108B109E104D
+:1000C0006D136D139C139C13D213F2132315231578
+:1000D000FD132315AD14AD141415231523151D158B
+:1000E000BA14BA14BA14BA14BA14BA14BA14BA14A0
+:1000F000BA14BA14BA14BA14BA14BA14BA14BA1490
+:10010000CC14D914E014E714F1140000F0A1350068
+:100110003A4129610030023000001E00370004001F
+:1001200038004A003C661F003600120014004E00E2
+:100130002B002000330008000D004B002800210098
+:10014000130018000E004D003D6522001C000C003D
+:100150001B0000003E6D64004C670000E3000000DF
+:100160003F412E00C1000000E60000004041230096
+:100170000900070005000000416D24000A00150079
+:100180001000500044652500060017001A005100B9
+:100190002C0026000B001100190052002A00270035
+:1001A0000F0016001D004F0045662D00306F3461B2
+:1001B000013003300000000001000000043016018F
+:1001C00000003A006400000000001D0102533B00E3
+:1001D0006402F20000001B01F5003C00F000F10099
+:1001E00000000601F4003D000000F30000001901CA
+:1001F00000003E0000000000000000000000A6001B
+:1002000000000000000000000100A5000100000047
+:100210004600000001003F00000000000000000058
+:10022000AE004000240021001E000000A900410093
+:10023000250022001F003700AB00420026002300EB
+:1002400020002700AC004300550057005400670011
+:10025000AA0044002F00310000000000000035001B
+:10026000010029610030023000001E00140004006B
+:100270001D004A0001001F001A0016001B004E005E
+:100280002B0020000800070006004B00280021007A
+:100290001500090019004D003D65220017000A00F5
+:1002A000050000003E6D64004C670000E3000000A4
+:1002B00001002E0001000000E60000000100230004
+:1002C0001C000B0011000000416D240018000D00FF
+:1002D00010005000446525000C000E00360051004F
+:1002E0002C00260012000F00370052002A002700C1
+:1002F0001300330038004F0045662D00306F346125
+:1003000001300330000016034500720067006F00E3
+:1003100044006F007800200045005A0000001603DA
+:100320004500720067006F0044006F0078002000F5
+:1003300045005A0000000403090409026D0004018D
+:1003400000A0FA09040000010301010009211101C4
+:1003500000012240000705810308000A090401008A
+:100360000103010200092111010001224D000705CE
+:10037000820308000A0904020001030000000921A9
+:10038000110100012236000705830308000A090451
+:1003900003000103000000092111010001223900BE
+:1003A000070584031000011201100100000008ED90
+:1003B000FE071301000102000105010906A1010564
+:1003C0000719E029E7150025019508750181020547
+:1003D000081901290595057501910295017503918B
+:1003E0000105071900297715002501957875018108
+:1003F00002C005010980A101850216010026B7008F
+:100400001A01002AB700751095018100C0050C097A
+:1004100001A1018503160100269C021A01002A9CF5
+:1004200002751095018100C005010902A1010901B1
+:10043000A10005091901290515002501950575017A
+:10044000810295017503810105010930093115818A
+:10045000257F95027508810609381581257F95014C
+:1004600075088106050C0A38021581257F950175EE
+:10047000088106C0C005010906A101050719E02988
+:10048000E715002501950875018102950175088120
+:100490000105081901290595057501910295017558
+:1004A0000391010507190029FF150026FF00950695
+:1004B00075088100C000000000000000000000007E
+:1004C000010204060A0F17202C3A4A5D71879DB37A
+:1004D000C7DAE9F5FCFFFCF5E9DAC7B39D87715D82
+:1004E0004A3A2C20170F0A060402010000000000FF
+:1004F00000000000000011241FBECFEFDAE0DEBFD5
+:10050000CDBF04B603FE24C08091FF01909100028C
+:10051000A0910102B09102028730904BA740B04BEE
+:10052000B9F41092FF011092000210920102109291
+:10053000020214BE84B7877F84BF88E10FB6F894A7
+:1005400080936000109260000FBEE0E0FFE3099529
+:1005500011E0A0E0B1E0E0E8F7E402C005900D9200
+:10056000A433B107D9F711E0A4E3B1E001C01D92B3
+:10057000AF3FB107E1F70E94B50B0C94BE230C947A
+:1005800000001092B9008AE08093B800089594EAC0
+:100590009093BC009091BC0097FFFCCF9091B90064
+:1005A000987F983021F0903111F081E00895809388
+:1005B000BB0084E88093BC008091BC0087FFFCCF27
+:1005C0008091B900887F883111F0803471F780E024
+:1005D000089584E98093BC008091BC0084FDFCCF29
+:1005E00008958093BB0084E88093BC008091BC0098
+:1005F00087FFFCCF9091B900987F81E0983209F491
+:1006000080E0089584E88093BC008091BC0087FF5F
+:10061000FCCF8091BB00089580B38C7080BB81B308
+:10062000836F81BB089580910101811115C080E421
+:100630000E94C7028093010181110CC082E10E94D7
+:10064000F10280930101811105C08FEF0E94F10238
+:10065000809301010E94E90284B1807F84B985B151
+:10066000807F85B98AB1837F8AB98BB1837F8BB94B
+:100670003E98469808950E94DD04809301010E94EF
+:1006800013030E940C03A5E3B1E0E3E4F1E08EE084
+:100690008E0F11921D928E13FCCF0C94C7040E94F2
+:1006A000DD04809301010E9413030E940C03A5E363
+:1006B000B1E0E3E4F1E08EE08E0F11921D928E1313
+:1006C000FCCF0895BF92CF92DF92EF92FF920F93EB
+:1006D0001F93CF93DF9380910101882379F080915C
+:1006E00034018F5F80933401811108C00E94DD04C2
+:1006F00080930101811102C00E946F0405E311E0A3
+:10070000C0E0D0E0DD24D39482E0C82EEE24E39450
+:10071000F12CC730D10500F580910101811164C031
+:1007200080E40E94C70280930101811112C082E11E
+:100730000E94F1028093010181110BC0C7010C2EB0
+:1007400001C0880F0A94EAF780950E94F102809315
+:1007500001010E94E90248C0CA30A1F028F4C83063
+:1007600059F0C93061F005C0CC3089F070F0CD305F
+:1007700089F0209A289810C0219A29980DC0229AB1
+:100780002A980AC0239A2B9807C0529A01C0539AFC
+:100790005B9802C03E9A469890EA9A95F1F79FB10D
+:1007A000799902C082E001C080E091709D25982B6C
+:1007B0007C9902C084E001C080E0892B7D9902C051
+:1007C00038E001C030E0832B7E9902C020E101C0F7
+:1007D00020E0822B9FB19095991F9927991F9295A0
+:1007E000990F907E892B0FC080910101811149C022
+:1007F00080E40E94C70280930101882379F1B12C23
+:100800000E94E9028B2DF8019081981719F08083DE
+:10081000C09200010E94130321960F5F1F4FCE303C
+:10082000D10509F076CF80910001882361F18150D4
+:1008300080930001882339F08FE99FE00197F1F759
+:1008400000C0000020C0A3E4B1E0E5E3F1E0CF0187
+:10085000825F91919D938E13FCCF15C083E10E941E
+:10086000F102809301018111CACF81E40E94C70285
+:10087000809301018111C3CF0E940203B82EB0946E
+:10088000BFCF80E0C0CF0E946D0481E0DF91CF91A7
+:100890001F910F91FF90EF90DF90CF90BF90089540
+:1008A000E82FF0E0ED5BFE4F8081089508950F93EF
+:1008B0001F93CF93DF93C3E4D1E010E00C2F025FCE
+:1008C000899190E00E94021C180F0C13F9CF812F20
+:1008D000DF91CF911F910F9108950C94BC0556980C
+:1008E0005E9825982D9826982E9827982F988FEF08
+:1008F00090E0909389008093880090938B00809380
+:100900008A0090938D0080938C00259A2D9A2FEF6A
+:1009100080E792E0215080409040E1F700C0000065
+:10092000269A2E9A2FEF80E792E021508040904047
+:10093000E1F700C00000279A2F9A2FEF80E792E09E
+:10094000215080409040E1F700C0000025982D988C
+:100950002FEF80E792E0215080409040E1F700C007
+:10096000000026982E982FEF80E792E021508040DB
+:100970009040E1F700C0000027982F9856985E98A5
+:1009800025982D9826982E9827982F98089589EACB
+:100990008093800089E08093810024982C983F9870
+:1009A0008AB18F748AB96E98479A8BB1806B8BB974
+:1009B000769A0E946F040C94BB0580E2809301013B
+:1009C0008091510181110EC00E94C10281E080938B
+:1009D00051012FEF83ED90E3215080409040E1F7EB
+:1009E00000C0000080E40E94C702809301018111D1
+:1009F0002EC00E94F10280930101811128C00E9443
+:100A0000F10280930101811122C08FE30E94F10263
+:100A10008093010181111BC00E94E90280E40E94C1
+:100A2000C70280930101811112C08CE00E94F10283
+:100A30008093010181110BC00E94F102809301019A
+:100A4000811105C08FE30E94F102809301010E9491
+:100A5000E902809101010895FC01623009F445C06A
+:100A600028F4662351F0613041F182C0633009F40B
+:100A70005BC0643009F472C07BC08281882341F07E
+:100A80000E94A51C909353018093520185EE6AC089
+:100A900085EE0E94D91280915201909153010E94DB
+:100AA000B11C8F35910508F063C086EE0E941112CB
+:100AB00084E30E94111284E34DC082818111E0CF52
+:100AC00085EE0E94D91280915201909153010E94AB
+:100AD000B11C8F35910508F04BC086EE0E941112B3
+:100AE00081E30E94111281E335C08281882341F0A5
+:100AF0000E94A51C909353018093520182EE32C054
+:100B000082EE0E94D91280915201909153010E946D
+:100B1000B11C8F35910560F586EE0E9411128FE2AF
+:100B20000E9411128FE216C082818111E1CF82EE04
+:100B30000E94D91280915201909153010E94B11CE0
+:100B40008F359105A8F486EE0E94111280E30E9471
+:100B5000111280E30E94D91286EE08C08281882398
+:100B600021F089E30E94111203C089E30E94D91287
+:100B700080E090E0089508956091C0017091C101F6
+:100B80008091C2019091C3010E940E1C56985E98FC
+:100B900025982D9826982E9827982F98813029F0FF
+:100BA000823029F4269A2E9A02C0279A2F9A0E9400
+:100BB000F51081FF02C0259A2D9A089581E00895CD
+:100BC00081E008950C94E0050895282F882339F0DA
+:100BD00090E02A3010F44D9608950697089587E224
+:100BE00090E00895AF92BF92DF92EF92FF920F9341
+:100BF0001F93CF93DF938C01FC01C081D181CE0183
+:100C00000E94871ABE010E946209EC01B8010E948D
+:100C1000E205882309F4C9C1F8018281882309F417
+:100C2000BEC08091600181111FC0C431F0E7DF07B1
+:100C300009F0B5C10E94E40581E0809360010E9443
+:100C4000A51C90935F0180935E0110925701109252
+:100C500059011092580110925B0110925A011092A2
+:100C60005D0110925C01A1C180915E0190915F01D4
+:100C70000E94B11C883C910570F480915701E82FC7
+:100C8000F0E0EE0FFF1FE85AFE4FD183C0838F5F65
+:100C9000809357018AC1C13020E8D20708F451C0BF
+:100CA000F8018281882309F47EC05E01E894B7F8D8
+:100CB00080915601813079F050F08230C1F482EE9B
+:100CC0000E94111287E50E94111287E50EC082EE84
+:100CD0000E9411120CC080EE0E94111281EE0E943F
+:100CE000111288E10E94111288E10E94D9128CE051
+:100CF000E82EF12CC5010E2C02C0969587950A941A
+:100D0000E2F78F700E94E505D82E0E9411128D2DFA
+:100D10000E94D912F4E0EF1AF1082CEFE2162FEF3F
+:100D2000F20641F780915601813029F010F08230AF
+:100D300041F482EE04C080EE0E94D91281EE0E943E
+:100D4000D912C43180E7D80768F4C23090E7D907D8
+:100D500008F046C0C115E0E7DE0771F0C130D047AA
+:100D6000A1F10CC1C33320E7D20709F4D8C0C433C2
+:100D7000D04709F4EBC002C1F8018281882309F44D
+:100D800002C10E948E15FFEF24E38CE0F150204059
+:100D90008040E1F700C000000E94001D06C1C13084
+:100DA00080E8D80770F2C43120E7D20708F0B3C05A
+:100DB000C23080E7D807A0F4C11590E7D90709F43D
+:100DC000E2C0C130D04709F0D9C0F8018281882340
+:100DD00009F4D9C08091DD0181608093DD01E5C017
+:100DE000F8018281882309F4CEC00E945A1D811126
+:100DF00002C00E94401D0E946D1D90E09093F10181
+:100E00008093F001C230F0E7DF0721F48091F00118
+:100E100081607AC0C33020E7D20721F48091F001CD
+:100E2000826072C0C43080E7D80721F48091F0015D
+:100E300084606AC0C53090E7D90719F48091F00149
+:100E400027C0C630E0E7DE0721F48091F001806121
+:100E50005BC0C730F0E7DF0721F48091F0018062CA
+:100E600053C0C83020E7D20721F48091F00180649C
+:100E70004BC0C93080E7D80721F48091F001806829
+:100E800043C0CA3090E7D90729F48091F00184600B
+:100E900088603AC0CB30E0E7DE0721F48091F001B2
+:100EA0008E7F32C0CC30F0E7DF0721F48091F00173
+:100EB0008D7F2AC0CD3020E7D20721F48091F00148
+:100EC0008B7F22C0CE3080E7D80719F48091F001E3
+:100ED0001AC08091F001CF3090E7D90711F48F7ECE
+:100EE00013C0C031E0E7DE0711F48F7D0DC0C131C2
+:100EF000F0E7DF0711F48F7B07C0C231D04711F450
+:100F00008F7702C08B7F877F8093F0018091F00103
+:100F10000E94711D4AC0C333F0E7DF07A1F4F80156
+:100F20008281882321F01092540182E016C08091C2
+:100F30005401811106C086E20E94111286E20E94CD
+:100F4000D91282E018C0C433D047C1F4F8018281BD
+:100F5000882331F01092550180E20E94281325C0A9
+:100F600080915501811106C087E20E94111287E22B
+:100F70000E94D91280E20E942F1317C081E0809353
+:100F8000540180935501C801DF91CF911F910F91BA
+:100F9000FF90EF90DF90BF90AF900C94DE05C130D2
+:100FA000F0E8DF0708F081CECCCE80E0DF91CF9172
+:100FB0001F910F91FF90EF90DF90BF90AF90089539
+:100FC00026E0729FF001112444E5849FE00DF11D9D
+:100FD0001124E60FF11DEE0FFF1FE25FFE4F85911A
+:100FE00094910E947409811560E49607B0F581150B
+:100FF00070E3970708F0DEC0803E9105D8F4803C8E
+:10100000910508F06CC0883A910578F4853A91050D
+:1010100008F06BC08130910509F452C108F40FC18A
+:101020008430910508F04CC10AC18B3B910508F44E
+:1010300067C005C18F3F910509F048F4803F9105D5
+:1010400008F0ADC0883E910508F43AC1F8C081159A
+:1010500020E2920708F0A5C00895811543E59407A2
+:1010600090F4811562E5960708F0C8C0811571E516
+:10107000970708F0BEC0811520E5920708F09DC0D3
+:101080009F70906A0895811545E59407D8F48115FD
+:1010900064E5960708F0C8C0482F4695469570E26B
+:1010A000479FA00111248370992721E030E0B90106
+:1010B00002C0660F771F8A95E2F7CB01842B952B30
+:1010C0009A680895811576E5970708F4B2C09C01E7
+:1010D00030562115304108F0B2C09F70AEC0FC01FF
+:1010E000EE0FFF1FE657F04062C0853A910509F404
+:1010F000A9C0863A910509F0A8C082E890E4089555
+:10110000883A910509F4A4C0893A910509F4A3C06D
+:101110008A3A910509F4A2C08B3A910509F4A1C05D
+:101120008C3A910509F4A0C08D3A910509F49FC04D
+:10113000803B910509F49EC08E3A910509F49DC04B
+:101140008F3A910509F49CC0813B910509F49BC03D
+:10115000823B910509F49AC0833B910509F499C03B
+:10116000843B910509F498C0853B910509F497C02B
+:10117000863B910509F496C0873B910509F495C01B
+:10118000883B910509F494C0893B910509F493C00B
+:101190008A3B910509F492C080E094E4089590653B
+:1011A0000895FC01FF70EE0FFF1FE65FFE4F859173
+:1011B000949108959927906C0895482F437021E0E9
+:1011C00030E002C0220F331F4A95E2F73C68AC01C1
+:1011D00064E0569547956A95E1F74370342B8F701C
+:1011E0008695869560E2869FC0011124822B932B01
+:1011F0000895982F8827816F906A0895482F469503
+:10120000469570E2479FA00111248370992721E041
+:1012100030E0B90102C0660F771F8A95E2F7CB0173
+:10122000842B952B9C680895982F8827846F906A4B
+:1012300008958F719927982F88279062089580E0EC
+:1012400090E0089581E890E4089583E890E408959B
+:1012500082EE94E4089589EE94E408958AEE94E48D
+:10126000089585EB94E4089586EB94E4089587EB64
+:1012700094E408958CEC94E408958DEC94E408953E
+:1012800083E895E408958AE895E4089582E995E471
+:10129000089584E995E4089581E296E4089583E24F
+:1012A00096E4089584E296E4089585E296E408952C
+:1012B00086E296E4089587E296E408958AE296E449
+:1012C0000895089596E0799FF001112494E5899F8F
+:1012D000E00DF11D1124E60FF11DEE0FFF1FE25F7F
+:1012E000FE4F8591949108958238910549F1B0F4AB
+:1012F0008133910509F458C048F48932910509F405
+:101300004EC08A32910509F454C008958533910581
+:1013100009F440C08933910599F00895833E910501
+:1013200029F138F4803E910591F0823E9105A1F0BB
+:101330000895863E9105F9F0873E910531F10895B3
+:101340002091F00120FD3AC021FD38C00895809120
+:10135000F00180FD35C032C08091F00182FF32C0C3
+:101360008091F00184FD30C083EE39C08091F0019E
+:1013700082FD28C0F5CF8091F00183FF27C08091C6
+:10138000F00184FD21C087EE2AC08091F00183FD29
+:101390001DC0F5CF8091F00185FD1AC01BC0809162
+:1013A000F00185FD17C014C08091F00186FD14C0C6
+:1013B00015C08091F00186FD11C00EC080EE0FC0F7
+:1013C00089E30DC082EE0BC080E009C086EE07C045
+:1013D00089E205C085E303C08AE201C081E390E0B1
+:1013E000089508950C94F109809171010895CF93A7
+:1013F000DF9300D01F92CDB7DEB79C018091F6013C
+:10140000843019F593E099833B832A839093E90014
+:101410008FEF9091E800815095FD06C095ED9A956B
+:10142000F1F700008111F5CF8091E80085FF0DC034
+:1014300040E050E063E070E0CE0101960E945D0C58
+:101440008091E8008E778093E8000F900F900F90C6
+:10145000DF91CF910895CF93DF9300D01F92CDB746
+:10146000DEB72091F601243021F522E029839B8309
+:101470008A8383E08093E9008FEF9091E8008150A8
+:1014800095FD06C095ED9A95F1F700008111F5CF15
+:101490008091E80085FF0DC040E050E063E070E01F
+:1014A000CE0101960E945D0C8091E8008E778093BA
+:1014B000E8000F900F900F90DF91CF910895209149
+:1014C000F6012430F1F422E02093E9002FEF30916F
+:1014D000E800215035FD06C035ED3A95F1F70000E2
+:1014E0002111F5CF2091E80025FF0BC040E050E02E
+:1014F00065E070E00E945D0C8091E8008E7780933B
+:10150000E8000895CF93DF93EC019091F6019430B9
+:1015100009F046C080910C018823D9F080910D011B
+:101520008823B9F09093E9008FEF9091E800815003
+:1015300095FD06C095E19A95F1F700008111F5CF70
+:101540008091E80085FF2CC040E050E060E170E051
+:1015500017C081E08093E9008FEF9091E8008150FF
+:1015600095FD06C095ED9A95F1F700008111F5CF34
+:101570008091E80085FF14C040E050E068E070E032
+:10158000CE010E945D0C8091E8008E778093E80088
+:1015900080E1FE01A1E6B1E001900D928A95E1F7AC
+:1015A000DF91CF9108958091F501811109C00E94CA
+:1015B000F20D0E944F0E8091E20084608093E20061
+:1015C00008951092F501089508950C94E6210E9463
+:1015D000961C0E94EC210E94F5100C94F20942E046
+:1015E00061EC81E00E946C0D42E061EC82E00E94BF
+:1015F0006C0D42E061EC83E00E946C0D42E161EC15
+:1016000084E00C946C0D8091F801833009F455C08E
+:1016100030F4813071F0823009F48EC008958A3040
+:1016200009F47AC08B3009F460C0893009F09CC09D
+:1016300020C08091F701813A09F096C08091E800BE
+:10164000877F8093E8008091FB019091FC01892BBA
+:1016500021F460E181E691E003C060E080E090E089
+:1016600070E00E94A80C8091E8008B778093E800DE
+:1016700008958091F701813209F076C08091FB01D5
+:101680009091FC01009719F0039709F06DC08091CB
+:10169000E800877F8093E8008091E80082FD05C024
+:1016A0008091F6018111F8CF5FC08091F1008093A5
+:1016B00071018091E8008B7753C08091F701813AE6
+:1016C00009F052C08091FB019091FC01892B09F037
+:1016D0004BC08091E800877F8093E8008091E8000C
+:1016E00080FFFCCF80910C0136C08091F7018132E0
+:1016F000D9F58091FB019091FC01892BA9F580918E
+:10170000E800877F8093E8000E94A10D8091F90195
+:1017100080930C010C948E158091F701813221F594
+:101720008091E800877F8093E8000E94A10D80915E
+:10173000FA018093720108958091F701813AA1F432
+:101740008091E800877F8093E8008091E80080FF27
+:10175000FCCF809172018093F1008091E8008E7738
+:101760008093E8000C94A10D089584B7877F84BF0F
+:1017700088E10FB6F89480936000109260000FBE6D
+:1017800080E880936100109261000E9444110E94E1
+:10179000F20D0E944F0E8091E20084608093E2007F
+:1017A00078940E94D5100E94461182E091E00E9438
+:1017B000F0100E94D4218091F601853069F40E94D6
+:1017C0005E1C8091F4018823B1F30E94881C882359
+:1017D00091F30E94470CEFCF0E944C11ECCF292FC0
+:1017E000332723303105C9F064F42130310581F00D
+:1017F0002230310509F043C08DE690E02AE333E062
+:1018000042C021323105F1F02232310541F137C0B9
+:1018100082E190E027EA33E036C0992781309105D4
+:1018200041F08230910541F0892B49F5E6E3F3E080
+:1018300005C0EEE1F3E002C0E6E0F3E0849190E061
+:101840009F0121C06430D8F4E62FF0E0EE0FFF1FB7
+:10185000EE5DFE4F2081318189E090E014C064305C
+:1018600070F470E0FB01EE0FFF1FE65EFE4F20817B
+:101870003181FB01EA5EFE4F808190E004C080E090
+:1018800090E020E030E0FA0131832083089580E188
+:1018900089BD82E189BD09B400FEFDCF8091D800E9
+:1018A0008F7D8093D8008091E00082608093E0007B
+:1018B0008091E00081FDFCCF0895CF92DF92EF92FE
+:1018C000FF920F931F93CF93DF93EC018B016A017B
+:1018D0000E94C00D811133C0C114D10439F0F6014A
+:1018E00080819181081B190BC80FD91FE12CF12CA5
+:1018F0000115110519F18091E80085FD16C0809150
+:10190000E8008E778093E800C114D10449F0F60115
+:1019100080819181E80EF91EF182E08285E00FC09E
+:101920000E94C00D882321F30AC089918093F100A1
+:1019300001501109FFEFEF1AFF0ADACF80E0DF91C3
+:10194000CF911F910F91FF90EF90DF90CF9008956E
+:101950002091FD013091FE012617370748F06115EF
+:10196000710539F42091E8002E772093E80001C03A
+:10197000B90140E061157105A9F12091F60122231A
+:1019800009F443C0253009F442C02091E80023FD4A
+:1019900040C02091E80022FD32C02091E80020FFE5
+:1019A000E9CF4091F3002091F20030E0342BFC01AC
+:1019B000CF016115710559F02830310540F481914E
+:1019C0008093F100615071092F5F3F4FF1CF41E0EB
+:1019D0002830310509F040E02091E8002E7720936F
+:1019E000E800C8CF4111C9CF0AC08091F601882311
+:1019F00061F0853061F08091E80083FD0AC080913C
+:101A0000E80082FFF2CF80E0089582E0089583E04D
+:101A1000089581E008952091FD013091FE0126177F
+:101A2000370748F06115710539F42091E8002E77E9
+:101A30002093E80001C0B901FC0120E061157105A7
+:101A400091F18091F601882309F440C0853009F4B2
+:101A50003FC08091E80083FD3DC08091E80082FD99
+:101A60002FC08091E80080FFE9CF2091F3008091A2
+:101A7000F20090E0922B6115710559F088309105C4
+:101A800040F424912093F100319661507109019640
+:101A9000F2CF21E0089709F020E08091E8008E77EE
+:101AA0008093E800CBCF2111CCCF0AC08091F60102
+:101AB000882361F0853061F08091E80083FD0AC0E1
+:101AC0008091E80082FFF2CF80E0089582E00895DF
+:101AD00083E0089581E00895982F973058F590930A
+:101AE000E900981739F07091EC002091ED005091C9
+:101AF000F00003C0242F762F50E021FF19C0309151
+:101B0000EB003E7F3093EB003091ED003D7F309352
+:101B1000ED003091EB0031603093EB007093EC00FE
+:101B20002093ED005093F0002091EE0027FF07C0B6
+:101B30009F5FD3CF8F708093E90081E0089580E0AC
+:101B400008958091F70187FF11C08091E80082FD20
+:101B500005C08091F6018111F8CF11C08091E80095
+:101B60008B770BC08091F601882349F08091E800C3
+:101B700080FFF8CF8091E8008E778093E800089589
+:101B80002091E4003091E50095E64091EC00842F2F
+:101B9000817040FF22C08091E80080FD1CC08091D0
+:101BA000F601882391F0853091F08091EB0085FD5E
+:101BB00010C04091E4005091E5004217530729F30B
+:101BC0009A01915011F784E0089582E0089583E02E
+:101BD000089581E0089580E008954091E80042FF73
+:101BE000DECF08950E94600E0E94680EE0EEF0E0E5
+:101BF000808181608083E8EDF0E080818F77808351
+:101C000019BCA7EDB0E08C918E7F8C9380818F7E84
+:101C100080831092F50108950F931F93CF93DF9364
+:101C20000E94600E0E94680EC8EDD0E088818F7718
+:101C3000888388818068888388818F7D888319BCA8
+:101C40001092F6011092F2011092F4011092F30139
+:101C500000EE10E0F80180818B7F808388818160B5
+:101C6000888342E060E080E00E946C0DE1EEF0E0ED
+:101C700080818E7F8083E2EEF0E0808181608083CE
+:101C8000808188608083F80180818E7F8083888155
+:101C900080618883DF91CF911F910F910895E8EDC6
+:101CA000F0E080818F7E8083E7EDF0E080818160CD
+:101CB000808384E082BF81E08093F5010C940C0E58
+:101CC000E8EDF0E080818E7F80831092E20008953D
+:101CD0001092DA001092E10008951F920F920FB651
+:101CE0000F9211242F933F934F935F936F937F93A2
+:101CF0008F939F93AF93BF93EF93FF938091E100F6
+:101D000082FF0BC08091E20082FF07C08091E1005A
+:101D10008B7F8093E1000E94D4108091DA0080FFD5
+:101D20001FC08091D80080FF1BC08091DA008E7F99
+:101D30008093DA008091D90080FF0DC080E189BDD9
+:101D400082E189BD09B400FEFDCF81E08093F601F8
+:101D50000E94D30A05C019BC1092F6010E94E10A44
+:101D60008091E10080FF19C08091E20080FF15C0E2
+:101D70008091E2008E7F8093E2008091E20080619A
+:101D80008093E2008091D80080628093D80019BCD3
+:101D900085E08093F6010E94E50A8091E10084FFCE
+:101DA00030C08091E20084FF2CC080E189BD82E1D7
+:101DB00089BD09B400FEFDCF8091D8008F7D80934E
+:101DC000D8008091E1008F7E8093E1008091E20055
+:101DD0008F7E8093E2008091E20081608093E20038
+:101DE0008091F201882311F084E007C08091E30024
+:101DF00087FD02C081E001C083E08093F6010E946C
+:101E0000E70A8091E10083FF29C08091E20083FF0F
+:101E100025C08091E100877F8093E10082E080937C
+:101E2000F6011092F2018091E1008E7F8093E10033
+:101E30008091E2008E7F8093E2008091E2008061D9
+:101E40008093E20042E060E080E00E946C0D8091AF
+:101E5000F00088608093F0000E94E40AFF91EF9107
+:101E6000BF91AF919F918F917F916F915F914F91B2
+:101E70003F912F910F900FBE0F901F9018951F92BA
+:101E80000F920FB60F9211242F933F934F935F93AE
+:101E90006F937F938F939F93AF93BF93CF93DF9372
+:101EA000EF93FF93C091E900CF708091EC00D82FA1
+:101EB000D17080FDD0E81092E9008091F000877F1A
+:101EC0008093F00078940E94830F1092E900809133
+:101ED000F00088608093F000CD2BCF70C093E900B4
+:101EE000FF91EF91DF91CF91BF91AF919F918F9132
+:101EF0007F916F915F914F913F912F910F900FBE06
+:101F00000F901F9018951F93CF93DF93CDB7DEB737
+:101F1000AA970FB6F894DEBF0FBECDBFE7EFF1E092
+:101F200088E08E0F9091F10091938E13FBCF0E9469
+:101F3000030B8091E80083FF1FC18091F70190910E
+:101F4000F801492F50E04A30510508F015C1FA0157
+:101F5000EA5AFF4F0C946E23803881F0823809F0E2
+:101F60000BC18091FB018F708093E9008091EB00A1
+:101F700085FB882780F91092E90006C08091F30163
+:101F80009091F401911182609091E800977F909375
+:101F9000E8008093F1001092F100C8C0282F2D7F37
+:101FA00009F0EAC0882319F0823061F0E5C0809121
+:101FB000F901813009F0E0C0933009F080E08093AE
+:101FC000F4012BC08091F901811127C08091FB01A0
+:101FD0008F7009F4D1C08093E9002091EB0020FFBD
+:101FE0001CC0933021F48091EB00806214C090916A
+:101FF000EB0090619093EB0021E030E0A90102C07A
+:10200000440F551F8A95E2F74093EA001092EA00C8
+:102010008091EB0088608093EB001092E900809142
+:10202000E800877F86C08111A7C01091F9011F7752
+:102030008091E3008078812B8093E3008091E80019
+:10204000877F8093E8000E94A10D8091E80080FFC7
+:10205000FCCF8091E30080688093E300111102C0FF
+:1020600082E001C083E08093F60186C08058823010
+:1020700008F082C08091F9019091FA018C3D53E003
+:10208000950779F583E08A838AE289834FB7F894CC
+:10209000DE01139620E03EE051E2E32FF0E05093A2
+:1020A0005700E49120FF03C0E295EF703F5FEF70AF
+:1020B0008E2F90E0EA3010F0C79601C0C0968D9345
+:1020C0009D932F5F243149F74FBF8091E800877FB0
+:1020D0008093E8006AE270E0CE0101960E94A80CAD
+:1020E00014C0AE014F5F5F4F6091FB010E94EF0B88
+:1020F000BC01009709F440C09091E800977F90934D
+:10210000E80089819A810E940B0D8091E8008B770D
+:102110008093E80031C0803879F58091E800877FAE
+:102120008093E8008091F2018093F1008091E800B3
+:102130008E778093E8000E94A10D1EC081111CC003
+:102140009091F9019230C0F48091E800877F8093EC
+:10215000E8009093F2010E94A10D8091F20181119B
+:1021600006C08091E30087FD02C081E001C084E0E9
+:102170008093F6010E94EF0A8091E80083FF0AC075
+:102180008091E800877F8093E8008091EB00806277
+:102190008093EB00AA960FB6F894DEBF0FBECDBFBA
+:1021A000DF91CF911F9108950895CF938091F6010B
+:1021B0008823A1F0C091E900CF709091EC00892FA5
+:1021C000817090FD80E8C82B1092E9008091E800B2
+:1021D00083FD0E94830FCF70C093E900CF910895D3
+:1021E00090937801809377010895E0917701F091C1
+:1021F0007801309721F00190F081E02D099480E082
+:102200000895E0917701F0917801309721F00280F4
+:10221000F381E02D09940895E0917701F091780120
+:10222000309721F00480F581E02D099408952091E4
+:102230007501309176018217930771F090937601C2
+:1022400080937501E0917701F0917801309721F04A
+:102250000680F781E02D0994089520917301309153
+:1022600074018217930771F0909374018093730146
+:10227000E0917701F0917801309721F00084F185A9
+:10228000E02D0994089508950C9443110E949C1C1C
+:102290000E943B030C94221D9F92AF92BF92CF925B
+:1022A000DF92EF92FF920F931F93CF93DF9300D0B3
+:1022B00000D000D0CDB7DEB70E9462030DE010E081
+:1022C000AA24A394B12C902E802F0E945004980130
+:1022D00026583E4F6901F901F080F826A1F401501B
+:1022E000110988F78FEF89838A831B820E94A51CBE
+:1022F0008160782F9D838C8349815A816B818D8188
+:102300000E94E3112FC09091DD0191FF04C08E83E4
+:102310000E9456048E8125E030E0A501022E01C006
+:10232000440F0A94EAF7E42E4F21C1F029839A82E0
+:102330008E2191E009F490E09B830E94A51C8160AE
+:10234000782F9D838C8349815A816B818D810E9476
+:10235000E311F6018081E826E08204C021503109B2
+:10236000E0F6BDCF0E94F01E109179010E94F51099
+:102370001817B9F00E94F5108093790126960FB6D0
+:10238000F894DEBF0FBECDBFDF91CF911F910F91AB
+:10239000FF90EF90DF90CF90BF90AF909F900C9404
+:1023A000F20926960FB6F894DEBF0FBECDBFDF91BF
+:1023B000CF911F910F91FF90EF90DF90CF90BF9042
+:1023C000AF909F900895CF93DF93CDB7DEB72B9753
+:1023D0000FB6F894DEBF0FBECDBF4F835887698715
+:1023E0007A878B87DE01119686E0FD0111928A952E
+:1023F000E9F785E0FE01379601900D928A95E1F7A5
+:1024000049815A816B817C818D819E810E942C182B
+:102410002B960FB6F894DEBF0FBECDBFDF91CF91E4
+:102420000895CF93882309F4C2C0C82F823859F485
+:102430000E94F51081FDBBC089E30E94061B0E942B
+:10244000D31B89E30CC0833879F40E94F51080FD1A
+:10245000AEC083E50E94061B0E94D31B83E50E9449
+:10246000481BCF910C94D31B843859F40E94F5106B
+:1024700082FD9DC087E40E94061B0E94D31B87E457
+:10248000EECF8CEF8C0F813A48F48C2F0E943A21CA
+:1024900081118DC08C2F0E94061BE3CF80E28C0F30
+:1024A000883048F4C77081E001C0880FCA95EAF708
+:1024B0000E948C1BD6CF8BE58C0F833078F4C53A05
+:1024C00029F0C63A31F083E890E005C081E890E059
+:1024D00002C082E890E0CF910C94171188E58C0F30
+:1024E000833108F064C0C83A39F1C93A41F1CA3AB7
+:1024F00049F1CB3A51F1CC3A59F1CD3A61F1C03BB7
+:1025000069F1CE3A71F1CF3A79F1C13B81F1C23B29
+:1025100089F1C33B91F1C43B99F1C53BA1F1C63BA5
+:10252000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B05
+:10253000C9F180E090E038C082EE90E035C089EECD
+:1025400090E032C08AEE90E02FC085EB90E02CC086
+:1025500086EB90E029C087EB90E026C08CEC90E001
+:1025600023C08DEC90E020C083E891E01DC08AE894
+:1025700091E01AC082E991E017C084E991E014C0AB
+:1025800081E292E011C083E292E00EC084E292E028
+:102590000BC085E292E008C086E292E005C087E2C7
+:1025A00092E002C08AE292E0CF910C942D11CF917B
+:1025B0000895882309F44BC0823859F40E94F5101D
+:1025C00081FF45C089E30E94061B0E94D31B89E35B
+:1025D0000CC0833871F40E94F51080FF38C083E589
+:1025E0000E94061B0E94D31B83E50E94481B0C948B
+:1025F000D31B843859F40E94F51082FF28C087E469
+:102600000E94061B0E94D31B87E4EFCF9CEF980F1C
+:10261000913A58F390E2980F983050F4877091E017
+:1026200001C0990F8A95EAF7892F0E94921BDFCF8C
+:102630009BE5980F933020F480E090E00C94171104
+:10264000885A833120F480E090E00C942D11089595
+:10265000882321F00E948C1B0C94D31B089588239F
+:1026600021F00E94921B0C94D31B08957F928F92AD
+:102670009F92AF92BF92CF92DF92EF92FF920F9311
+:102680001F93CF93DF931F92CDB7DEB77C01C62E89
+:10269000772EFC01058102950F70128111110E94A5
+:1026A000A91B0E94FF1A882379F0112369F080E2A8
+:1026B0008C0D883048F082E00E94E81A0E94FF1AD0
+:1026C00091E0D82ED92601C0D12CE72DE295EF70EC
+:1026D000F0E0E05AFF4F0C946E23872D807F072D8A
+:1026E0000F70882311F00295007F112389F00023D9
+:1026F00009F490C180E28C0D883020F4802F0E9474
+:102700008C1B03C0802F0E949C1B0E94D31B82C184
+:102710008C2D0E94D912002309F495C180E28C0D02
+:10272000883020F4802F0E94921B03C0802F0E94CB
+:10273000A21B0E94D31B87C1972D907F872D8F707E
+:10274000903211F08295807FCC2021F0F1E0CF16FD
+:10275000B1F01EC0112349F0002309F414C1013067
+:1027600009F011C10E94BC1B6EC1002319F0013099
+:1027700009F469C189830E94BF1B89810AC11123A1
+:1027800021F0023008F05FC1FEC001115CC101C13F
+:10279000112321F0002309F4F6C03CC1002309F401
+:1027A000F8C03EC1872D86958695837090E000978E
+:1027B00019F0019761F047C1112321F08C2D972D5D
+:1027C000937002C080E090E00E9417113CC1112379
+:1027D00021F08C2D972D937002C080E090E00E9434
+:1027E0002D1131C18C2D112319F00E94F81D02C04A
+:1027F0000E94601E0E94E51E26C1872D837009F08D
+:1028000052C0111120C18C2D829586958770880F3A
+:10281000880F9C2D9F70892E912CA12CB12C082EF5
+:1028200004C0880C991CAA1CBB1C0A94D2F7C4FED5
+:1028300014C00FE010E020E030E0B901A80104C0AE
+:10284000440F551F661F771F8A95D2F7CB01BA0137
+:10285000609570958095909503C060E070E0CB0125
+:10286000272D26952695237030E02230310569F01A
+:102870002330310589F0682979298A299B2921305B
+:10288000310571F00E947419DEC0682979298A29FE
+:102890009B290E949019D7C00E947419C501B401E8
+:1028A0000E945819D0C0112319F0872D817001C0E2
+:1028B0008695882309F4C7C08C2D829586958770EC
+:1028C000880F880F9C2D9F70892E912CA12CB12CE4
+:1028D000082E04C0880C991CAA1CBB1C0A94D2F7B1
+:1028E000C4FE14C00FE010E020E030E0B901A80100
+:1028F00004C0440F551F661F771F8A95D2F7CB017E
+:10290000BA01609570958095909503C060E070E085
+:10291000CB01272D269526952370422F50E042307B
+:10292000510569F04330510589F0682979298A29D0
+:102930009B294130510571F00E944E1A84C06829CC
+:1029400079298A299B290E946A1A7DC00E944E1A01
+:10295000C501B4010E94321A76C08C2D90E0FC01B2
+:10296000E05EF109E531F10508F050C0E059FF4F94
+:102970000C946E230C2D0F70872D8F71112331F065
+:102980000E94CB19802F0E9428135DC00E94EC1971
+:10299000802F0E942F1357C0112339F0011153C00B
+:1029A000872D8F710E94111A4EC0023008F04BC063
+:1029B000F7CF112339F0872D8F710E94CB1943C0B7
+:1029C0001123C9F3872D8F710E94EC193CC011238C
+:1029D00029F0872D8F710E94B61935C00E94AC195D
+:1029E00032C0112351F0172D1F71812F0E94CB1976
+:1029F00063E0812F0E94DF1A26C081E00E94E81A5E
+:102A0000023008F182E00E94E81A1DC0112331F063
+:102A1000002389F28C2D0E94111215C0002391F21F
+:102A20008C2D0E94D9120FC0472D4F706C2DC701FD
+:102A30000E942C050E94D01806C0472D4F706C2DA7
+:102A4000C7010E946109DD20F9F00E94DB1A80FDB8
+:102A50001BC0F70112820E94D51A0E94CB19C70130
+:102A60000E9453150E94D51A0F90DF91CF911F91AC
+:102A70000F91FF90EF90DF90CF90BF90AF909F901D
+:102A80008F907F900C94EC190F90DF91CF911F9154
+:102A90000F91FF90EF90DF90CF90BF90AF909F90FD
+:102AA0008F907F9008950F931F93CF93DF93EC0146
+:102AB000888199812B813C81232BB9F09F3F11F4B0
+:102AC0008F3F99F0CE010E94F205882371F0688152
+:102AD00079818A810E94D11A8C010E94861A0E94F3
+:102AE0004D19B801CE010E943613DF91CF911F918D
+:102AF0000F9108950E94A91B0E94B91B0E947E1B82
+:102B00000E94D31B0E94961F0E94E51E80E090E069
+:102B10000E94171180E090E00C942D110E94991BE7
+:102B20000C947A150E94C61A292F22952F7030E036
+:102B30002C3031054CF42A3031056CF42250310927
+:102B400022303105A8F407C02C30310569F02F3050
+:102B5000310551F00DC0803F69F018F4803E40F41B
+:102B600009C0843F29F406C093FB882780F90895A3
+:102B700080E0089581E00895CF93DF9300D000D0E6
+:102B80001F92CDB7DEB70F900F900F900F900F9060
+:102B9000DF91CF910895CF93DF9300D000D000D084
+:102BA000CDB7DEB726960FB6F894DEBF0FBECDBF09
+:102BB000DF91CF9108951F93CF93DF93C091880148
+:102BC00016E080918901C81799F0D0E01C9FF001B0
+:102BD0001D9FF00D1124E657FE4F40815181628107
+:102BE0007381848195810E94CB152196C770E9CFAE
+:102BF000DF91CF911F9108954091BA015091BB018F
+:102C00006091BC017091BD018091BE019091BF01A6
+:102C10000C94CB158091BF0182958F7009F054C040
+:102C20008091BC01882309F44FC080918801A09154
+:102C300089016091BA017091BB014091BD01509131
+:102C4000BE01B6E08A1709F43FC090E04115510576
+:102C5000C1F17F3F11F46F3FA1F1B89FF001B99F1F
+:102C6000F00D1124E657FE4F218172132AC02081F6
+:102C7000621327C02281211124C0238134812417AB
+:102C8000350710F421503109241B350B283C310540
+:102C9000C0F42091BF012F7020612093BF0126E076
+:102CA000289FF001299FF00D1124E157FE4F8081EC
+:102CB0008F70806180838AEB91E00E9453150C94A1
+:102CC000DB1501968770BECF0895CF92DF92EF9209
+:102CD000FF920F931F93CF93DF93CDB7DEB7629729
+:102CE0000FB6F894DEBF0FBECDBF8C0185E0F801B2
+:102CF000DE011D9601900D928A95E1F7D8014C9165
+:102D000011965C91119712966C9112971396CD9033
+:102D1000DC9014973091BA017091BB018091BD0194
+:102D20009091BE01009709F46BC17F3F19F43F3FBA
+:102D300009F466C1E090BC01EE2009F4C0C0209106
+:102D4000BF01C816D90628F0F601E81BF90BCF0120
+:102D500004C0809590958C0D9D1DFF24F394883CB4
+:102D6000910578F0F12C207F09F0C6C07C2DD98A1E
+:102D7000C88A89890E94BC158AEB91E00E9453158C
+:102D8000B1C0822F807F09F046C0751314C0341380
+:102D900012C0611110C02F7020612093BF010E94EA
+:102DA000FC158AEB91E00E9453158091BF01D80178
+:102DB00015968C932EC0CD2819F15F3F11F44F3F2B
+:102DC000F9F0F62E61111CC08091880120918901D3
+:102DD00036E0821709F45AC090E0389FF001399F1D
+:102DE000F00D1124E657FE4F7181571306C0708114
+:102DF000471303C07281711103C001968770E9CF38
+:102E0000F62E662309F418C18091BF01816080937A
+:102E1000BF01F12C11C1751308C0341306C0611134
+:102E200004C08091BF01D801C3C04D875E878D85E6
+:102E30009E856A8B0E9492156A898823E1F1662338
+:102E4000D1F12091BF01822F82958F7090E002977F
+:102E500074F08091BA019091BB0198878F83198695
+:102E6000DB86CA862C87CE0107960E94531586E022
+:102E7000F801AAEBB1E001900D928A95E1F70E946A
+:102E80000A160E94FC15FF24F394D6C04D875E8776
+:102E90008D859E850E94C61A292F22952F7030E0BD
+:102EA000223031050CF0BCC09F7009F0B6C0805EC6
+:102EB000883008F4C1C0C8010E945315E4CFC81679
+:102EC000D90608F453C0F601E81BF90BCF01883C82
+:102ED000910508F450C0F12C7C2DD98AC88A8989C3
+:102EE0000E94BC15EAEBF1E086E0DF011D928A95B5
+:102EF000E9F70E94FC15A0C0751314C0341312C06A
+:102F0000611110C08091BF01F8018583C8010E9442
+:102F1000531586E0EAEBF1E0DF011D928A95E9F7AF
+:102F2000FE2C8AC04D875E878D859E856A8B0E94A8
+:102F300092156A89882309F4BECF662309F4BBCFB2
+:102F40002091BF01822F82958F7090E002970CF440
+:102F50008ECF8091BA019091BB019A8389831B82A5
+:102F6000DD82CC822E83CE0101967FCF8095909515
+:102F70008C0D9D1DACCFF62E662309F49CCF7513E6
+:102F80002EC034132CC02091BF0120FD1FC0822F02
+:102F900082958F70D9F0D80115962C9315978F30A4
+:102FA00049F08F5F982F9295907F822F8F70892B99
+:102FB00015968C93C8010E94531586E0F801AAEB80
+:102FC000B1E001900D928A95E1F793CF86E0F80188
+:102FD000AAEBB1E001900D928A95E1F72DC04D87E3
+:102FE0005E878D859E850E949215811140CF8091CC
+:102FF000BF0181608093BF01C8010E9453151CC0AE
+:10300000662309F458CF4D875E878D859E850E9483
+:103010009215882309F44FCF2ACF811148CF0CC0D5
+:10302000243031050CF047CF9F7009F440CFF801F0
+:103030009581907F09F03BCF8F2D62960FB6F89463
+:10304000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10305000EF90DF90CF9008951F93CF93DF93CDB77C
+:10306000DEB72C970FB6F894DEBF0FBECDBF4F83EF
+:10307000588769877A878B879C87CE0107960E943D
+:103080006516882369F08F8198852A853B85232BD7
+:10309000F1F19F3F09F063C08F3F09F060C037C076
+:1030A00086E0FE013796DE01119601900D928A9519
+:1030B000E1F76F817885EA85FB85309741F17F3FA5
+:1030C00011F46F3F21F12091890130E0C90101968F
+:1030D000877099274091880150E08417950709F47B
+:1030E00047C069837A83FD83EC8396E0929FD00189
+:1030F000939FB00D1124A657BE4FFE01319601904B
+:103100000D929A95E1F7809389010E94DB1516E0F4
+:1031100080918801909189018917C1F1189FC001A0
+:10312000112486579E4F0E946516882379F1E091FD
+:1031300088011E9FF0011124E657FE4F4081518106
+:1031400062817381848195810E94CB158091880171
+:1031500090E001968770992780938801D9CF4F819D
+:10316000588569857A858B859C850E94CB15CFCF44
+:103170000E948E151092890110928801EAEBF1E00D
+:1031800086E0DF011D928A95E9F7C1CF2C960FB634
+:10319000F894DEBF0FBECDBFDF91CF911F91089590
+:1031A000EF92FF920F931F93CF93DF938C010097C1
+:1031B00009F46CC0F12CEE24E394E8012196F801A7
+:1031C0008491843740F4843008F051C0813081F01C
+:1031D000823019F15BC0853709F444C0A8F19CE73F
+:1031E000980F903708F052C08F770E94D91241C0D3
+:1031F0000E5F1F4FFE01C49180E28C0F883048F4AF
+:10320000C7708E2D01C0880FCA95EAF70E94AC1BCB
+:1032100014C08C2F0E9411122DC00E5F1F4FFE0193
+:10322000C49180E28C0F883058F4C7708E2D01C095
+:10323000880FCA95EAF70E94B21B0E94D31B1AC0DE
+:103240008C2F0E94D91216C00E5F1F4FFE01C49131
+:10325000CC2381F08FE99FE00197F1F700C00000D7
+:10326000C150F6CF0E5F1F4FFE01F49003C00E94C5
+:1032700011128E018F2D882309F49FCFEFE9FFE013
+:103280003197F1F700C000008150F5CFDF91CF9169
+:103290001F910F91FF90EF90089508956093C401DE
+:1032A0007093C5018093C6019093C7010C947A1561
+:1032B0000F931F930091C4011091C5012091C60185
+:1032C0003091C701DC01CB01802B912BA22BB32BBA
+:1032D0008093C4019093C501A093C601B093C70128
+:1032E0001F910F910C947A150F931F930091C401B5
+:1032F0001091C5012091C6013091C701DC01CB01BD
+:1033000080239123A223B3238093C4019093C5010A
+:10331000A093C601B093C7011F910F910C947A1529
+:103320000F931F930091C4011091C5012091C60114
+:103330003091C701DC01CB0180279127A227B32759
+:103340008093C4019093C501A093C601B093C701B7
+:103350001F910F910C947A151092C0011092C10127
+:103360001092C2011092C3010C947A1541E050E012
+:1033700060E070E004C0440F551F661F771F8A95F8
+:10338000D2F74093C0015093C1016093C201709382
+:10339000C3010C947A1541E050E060E070E004C095
+:1033A000440F551F661F771F8A95D2F78091C00181
+:1033B0009091C101A091C201B091C301482B592B3A
+:1033C0006A2B7B2B4093C0015093C1016093C201D3
+:1033D0007093C3010C947A1541E050E060E070E016
+:1033E00004C0440F551F661F771F8A95D2F740957A
+:1033F0005095609570958091C0019091C101A09108
+:10340000C201B091C301482359236A237B2340930F
+:10341000C0015093C1016093C2017093C3010C9429
+:103420007A1541E050E060E070E004C0440F551FA1
+:10343000661F771F8A95D2F78091C0019091C101D4
+:10344000A091C201B091C301482759276A277B2761
+:103450004093C0015093C1016093C2017093C301B6
+:103460000C947A150F931F930091C0011091C10124
+:103470002091C2013091C301DC01CB01802B912B43
+:10348000A22BB32B8093C0019093C101A093C201E2
+:10349000B093C3011F910F910C947A150F931F9352
+:1034A0000091C0011091C1012091C2013091C3016E
+:1034B000DC01CB0180239123A223B3238093C0019D
+:1034C0009093C101A093C201B093C3011F910F91CA
+:1034D0000C947A150F931F930091C0011091C101B4
+:1034E0002091C2013091C301DC01CB0180279127DB
+:1034F000A227B3278093C0019093C101A093C2017A
+:10350000B093C3011F910F910C947A150895CF9237
+:10351000DF92EF92FF920F931F93CF93DF938C0173
+:10352000C090C401D090C501E090C601F090C701E1
+:103530008091C0019091C101A091C201B091C301DD
+:10354000C82AD92AEA2AFB2ACFE1D0E0D701C6014E
+:103550000C2E04C0B695A795979587950A94D2F737
+:1035600080FF06C0B8018C2F0E94E007019721F46C
+:10357000219760F780E001C08C2FDF91CF911F91E0
+:103580000F91FF90EF90DF90CF900895CF93DF934E
+:10359000EC010E94871ABE010E94E007DF91CF91E3
+:1035A0000895CB010E94C61A08958091C80185959F
+:1035B0008595859508958091C8018770089598E054
+:1035C000899F90011124262B2093C8010C94CB19BC
+:1035D0002091C801809582238093C801982F97700D
+:1035E00069F430E0482F552747FD509524173507DB
+:1035F00029F08595859585950C94EC190895909101
+:10360000C801977081E009F480E0089590910C0161
+:10361000992321F090910D01911109C020910E0183
+:1036200030910F01F90132969FEF40E01FC0982FB3
+:103630009695969596959F3050F5E0910E01F091F4
+:103640000F01E90FF11D877021E030E0A90102C0F0
+:10365000440F551F8A95E2F7CA019181892B818316
+:1036600008959F3F39F04F5F4E3041F0519158130C
+:10367000F8CF0DC05111F7CF942FF5CF9F3F39F000
+:10368000F901E90FF11D97FDFA95828308950895D8
+:1036900090910C01992321F090910D01911109C095
+:1036A00020910E0130910F01F9013296205F3F4FBA
+:1036B0001FC0982F9695969596959F30F0F4E091BF
+:1036C0000E01F0910F01E90FF11D877021E030E04C
+:1036D000A90102C0440F551F8A95E2F7CA018095DF
+:1036E00091818923818308953196E217F30729F0A8
+:1036F00090819813F9CF1082F7CF089581E090E080
+:10370000E0910E01F0910F01E80FF91F1082019670
+:1037100080319105A9F708959091DC01892B809360
+:10372000DC01089580959091DC0189238093DC0170
+:1037300008951092DC0108959091DB01892B80930C
+:10374000DB01089580959091DB0189238093DB0153
+:1037500008951092DB0108959091DA01892B8093EE
+:10376000DA01089580959091DA0189238093DA0136
+:1037700008951092DA0108958093C9010895109276
+:10378000C901089580910E0190910F01FC013196BD
+:103790009C01205F3F4F80E0919191118F5FE21774
+:1037A000F307D1F70895E0910E01F0910F01809198
+:1037B000DC018083E0910E01F0910F0190818091F6
+:1037C000DB01892B8083E0910E01F0910F01908144
+:1037D0008091DA01892B80838091C901882361F06F
+:1037E000E0910E01F0910F019081892B80830E945E
+:1037F000C21B81111092C90180910E0190910F019D
+:103800000C94011120E0009739F0AC0141505109AE
+:10381000842395232F5FF7CF822F0895CF92DF92D5
+:10382000EF92FF926C01EE24FF24C114D104E10455
+:10383000F10421F0C701B60120E101C020E0C72E4C
+:10384000D82EE92EFF24C114D104E104F10419F0AB
+:10385000285FC701B6016B017C0154E0F694E79440
+:10386000D794C7945A95D1F7C114D104E104F10457
+:1038700019F02C5FC701B6016B017C0142E0F694A0
+:10388000E794D794C7944A95D1F7C114D104E104C1
+:10389000F10419F02E5FC701B601DC01CB01B6952A
+:1038A000A79597958795892B8A2B8B2B09F02F5FEE
+:1038B000822FFF90EF90DF90CF9008958091F601D6
+:1038C000843021F11092DE0120E488E190E00FB60F
+:1038D000F894A895809360000FBE2093600080E06C
+:1038E0000E94F20983B7817F846083BF83B78160C0
+:1038F00083BF7894889583B78E7F83BF88E10FB6A6
+:10390000F89480936000109260000FBE08950895AF
+:103910000E944F030E9462030E94871C0E9457046A
+:1039200091E0811101C090E0892F08950E948E15C9
+:103930000E94F5100C94F20982E084BD93E095BDDD
+:103940009AEF97BD80936E0008952FB7F8948091F9
+:10395000DF019091E001A091E101B091E2012FBF60
+:103960000895CF92DF92EF92FF920F931F932FB79C
+:10397000F8944091DF015091E0016091E101709174
+:10398000E2012FBF6A017B01EE24FF248C0120E0BD
+:1039900030E0C016D106E206F30610F4415051099A
+:1039A0009A01281B390BC9011F910F91FF90EF90CD
+:1039B000DF90CF9008951F920F920FB60F921124AF
+:1039C0008F939F93AF93BF938091DF019091E0011C
+:1039D000A091E101B091E2010196A11DB11D80937A
+:1039E000DF019093E001A093E101B093E201BF9168
+:1039F000AF919F918F910F900FBE0F901F901895D0
+:103A00000E94F20DF8942FEF87EA91E62150804052
+:103A10009040E1F700C0000087E090EBDC0180936C
+:103A2000FF0190930002A0930102B09302029CE078
+:103A300088E10FB6F894A895809360000FBE90932C
+:103A40006000FFCF0E945A1D811102C00E94401DDC
+:103A50000E94651D8093DD010E946D1D90E0909392
+:103A6000F1018093F00187FB882780F980930D0195
+:103A70000E94691D682F70E080E090E00C944E1960
+:103A80006DEE7EEF80E090E00E94A82360E082E08F
+:103A900090E00E94962360E083E090E00E949623ED
+:103AA00060E084E090E00E94962360E085E090E092
+:103AB0000C94962380E090E00E94902321E08D3EBC
+:103AC0009E4F09F020E0822F089582E090E00C9450
+:103AD000882383E090E00C94882384E090E00C94A9
+:103AE0008823682F84E090E00C9496238091E50170
+:103AF00080FF0BC06091130185E0689FB001112425
+:103B000075956795759567952BC081FF09C0609184
+:103B1000130185E0689FB00111247595679520C059
+:103B200082FF07C06091130185E0689FB0011124F6
+:103B300017C09091E6019923D1F060911201961778
+:103B400088F72091130185E0289F90011124929F0E
+:103B5000A001939F500D112470E0CA010E945A23C6
+:103B60006038710540F46115710539F002C065E0F7
+:103B700070E0862F08958FE7089581E00895809181
+:103B8000E50180FF08C06091110170E075956795AF
+:103B90007595679521C081FF06C06091110170E0A5
+:103BA0007595679519C082FF04C06091110170E09E
+:103BB00010C09091E6019923C1F060911001961711
+:103BC000A0F780911101899FC001112470E00E942B
+:103BD0005A236038710528F46115710521F0862F8C
+:103BE00008958FE7089581E0089561E070E0F4CFD3
+:103BF000803F21F40E94761D819504C0813F29F405
+:103C00000E94761D8093E9010895823F21F40E946D
+:103C1000761D819504C0833F29F40E94761D809310
+:103C2000E8010895893F19F40E94BF1D05C08A3F2D
+:103C300031F40E94BF1D81958093EA0108958B3F66
+:103C400021F40E94BF1D819504C08C3F29F40E947D
+:103C5000BF1D8093EB010895843F21F48091E7011B
+:103C6000816017C0853F21F48091E701826011C017
+:103C7000863F21F48091E70184600BC0873F21F4E7
+:103C80008091E701886005C0883F31F48091E701A9
+:103C900080618093E70108958D3F21F48091E501D3
+:103CA00081600BC08E3F21F48091E501826005C0E8
+:103CB0008F3F29F48091E50184608093E5010895A8
+:103CC000803F39F48091E90187FF6CC01092E901CF
+:103CD00069C0813F29F48091E9011816BCF362C0E4
+:103CE0009091E801823F29F497FF5CC01092E801AF
+:103CF00059C0833F19F41916CCF354C0893F41F4DD
+:103D00008091EA0118160CF04DC01092EA014AC0E9
+:103D10008A3F29F48091EA0187FF44C0F6CF8B3FA8
+:103D200039F48091EB0187FF3DC01092EB013AC05E
+:103D30008C3F29F48091EB011816BCF333C0843F0B
+:103D400021F48091E7018E7F17C0853F21F4809197
+:103D5000E7018D7F11C0863F21F48091E7018B7FC1
+:103D60000BC0873F21F48091E701877F05C0883F22
+:103D700031F48091E7018F7E8093E70113C08D3F7E
+:103D800021F48091E5018E7F0BC08E3F21F480915C
+:103D9000E5018D7F05C08F3F29F48091E5018B7F80
+:103DA0008093E5018091E80181110EC08091E901C5
+:103DB00081110AC08091EA01811106C08091EB0156
+:103DC000811102C01092E601089587EE91E00E94F1
+:103DD0000C110E94A51C9093E4018093E3010895C7
+:103DE0001F93CF93DF938091E3019091E4010E94B0
+:103DF000B11CAC019091E601992321F020911401AE
+:103E000030E006C0209115018AE0289F900111241E
+:103E10004217530708F486C08091E801C091E90178
+:103E2000D091EA011091EB01811107C0C11176C058
+:103E3000D11174C0111172C075C09F3F19F09F5FFE
+:103E40009093E601181624F40E94761D8093E801F1
+:103E50008091E80187FF05C00E94761D81958093BF
+:103E6000E8011C1624F40E94761D8093E9018091DC
+:103E7000E90187FF05C00E94761D81958093E901C5
+:103E80006091E801662339F1C091E901CC2319F171
+:103E9000772767FD7095872F972F0E946B2223E36A
+:103EA00033E343E35FE30E94CF220E943822609312
+:103EB000E8016C2F772767FD7095872F972F0E9459
+:103EC0006B2223E333E343E35FE30E94CF220E94AC
+:103ED00038226093E9011D1624F40E94BF1D8093CF
+:103EE000EA018091EA0187FF05C00E94BF1D81950C
+:103EF0008093EA01111624F40E94BF1D8093EB0108
+:103F00008091EB0187FF05C00E94BF1D81958093C2
+:103F1000EB01DF91CF911F910C94E51E9F3F09F0BB
+:103F20008ECF96CFDF91CF911F910895E7EEF1E00C
+:103F300085E0DF011D928A95E9F71092E601109263
+:103F4000E5010895833081F128F4813059F0823001
+:103F5000D1F00895853009F449C0B8F1863009F4EC
+:103F600056C0089580911501262F30E0280F311D8D
+:103F70002F3F310524F4680F6093150108958FEFEA
+:103F800080931501089580911401262F30E0280FA9
+:103F9000311D2F3F310524F4680F609314010895FB
+:103FA0008FEF80931401089580911301262F30E044
+:103FB000280F311D2F3F310524F4680F6093130142
+:103FC00008958FEF80931301089580911201262F99
+:103FD00030E0280F311D2F3F310524F4680F609326
+:103FE000120108958FEF80931201089580911101BD
+:103FF000262F30E0280F311D2F3F310524F4680FA4
+:104000006093110108958FEF8093110108958091BD
+:104010001001262F30E0280F311D2F3F310524F4E9
+:10402000680F6093100108958FEF80931001089539
+:10403000833011F128F4813049F0823091F00895F5
+:10404000853081F120F18630C1F10895809115010C
+:10405000681720F4861B80931501089510921501AE
+:10406000089580911401681720F4861B8093140131
+:10407000089510921401089580911301681720F497
+:10408000861B809313010895109213010895809167
+:104090001201681720F4861B809312010895109274
+:1040A0001201089580911101681720F4861B8093F6
+:1040B000110108951092110108958091100168175F
+:1040C00020F4861B8093100108951092100108952A
+:1040D0000F931F938D3109F471C008F045C08031F2
+:1040E00009F485C008F5873009F46FC068F486309C
+:1040F00009F0ADC08091DD01817F8E7F8093DD016D
+:1041000081E08093ED01A4C08B3009F49EC08E3015
+:1041100009F09DC08091DD0182FB222720F991E00A
+:10412000922790FB82F96CC0863109F48EC060F44E
+:10413000813109F08CC00E948E1590910D0181E0B3
+:10414000892780930D0181C0893109F47EC08B31AC
+:1041500009F07DC08091DD0181FB222720F991E0EB
+:10416000922790FB81F94CC0853309F466C048F46E
+:10417000873209F462C008F44FC0893209F45DC087
+:1041800066C0833438F48A3308F044C0883309F4B5
+:104190005CC05DC0833409F450C0883409F057C056
+:1041A0000E948E150FEF13ED20E3015010402040C8
+:1041B000E1F700C000000E94001D47C00E94F221EC
+:1041C0000E94F5100E94F20940C09091DD01892FF4
+:1041D0008095817080FB90F929F0966098609093AB
+:1041E000DD0136C0997F977F9093DD012EC08091CD
+:1041F000DD0183FB222720F991E0922790FB83F9D0
+:104200008093DD01992309F18091DD018160809324
+:10421000DD011BC0895301C08D5141E050E060E0D9
+:1042200070E08A019B0104C0000F111F221F331F81
+:104230008A95D2F7C901B80104C061E070E080E05E
+:1042400090E00E944E190E948E1581E001C080E02E
+:104250001F910F91089580E0089580E008958E5198
+:104260008A3030F4E82FF0E0E65DFE4F808108955B
+:1042700080E00895CF93C82F8091ED01813079F0CF
+:1042800018F08230E9F186C0E0910E01F0910F0143
+:104290008081813169F0823209F07EC009C0E091ED
+:1042A0000E01F0910F018081813111F0823261F4B1
+:1042B0008C2F0E942B21811104C08C2F0E9468201A
+:1042C0001DC081E090E01AC08C2F0E942D21811129
+:1042D00014C0C43179F048F4CB3079F0C03109F022
+:1042E0005FC082E08093ED0108C0C93219F0C83385
+:1042F00021F056C01092ED0153C081E0817052C090
+:10430000C93281F110F5C43169F1A8F4C73009F060
+:1043100045C08AE08093150194E19093140193E0E5
+:10432000909313018093120188E08093110188E239
+:104330008093100133C082EE8C0F863078F58C2F7D
+:104340000E942F218093EC0129C0CE34E9F020F4A3
+:10435000CB3421F56AE013C0C13579F0C235F1F4F0
+:1043600061E00DC08091EC01882319F01092EC01FE
+:1043700015C081E08093ED0115C061E006C0809119
+:10438000EC010E94A21F0AC06AE08091EC010E9429
+:10439000182004C01092ED0180E004C081E002C04A
+:1043A00080E0ACCFCF910895E1E8F0E080818860B3
+:1043B00080838081816080838FB7F89493E09093AD
+:1043C000890090ED909388008FBF0895EFE6F0E0AC
+:1043D0008081826080830895EFE6F0E080818D7FA8
+:1043E00080830895EFE6F0E0908182E08927808362
+:1043F00008951F920F920FB60F9211242F933F939F
+:104400004F935F936F937F938F939F93AF93BF93DC
+:10441000EF93FF938091EE019091EF0101969093BD
+:10442000EF018093EE01811103C082E00E94F20946
+:10443000E091EF01E695E695F0E0EB54FB4FE49157
+:104440008091EE018E1303C080E00E94F209FF917B
+:10445000EF91BF91AF919F918F917F916F915F91FC
+:104460004F913F912F910F900FBE0F901F90189575
+:1044700004D06894B1118DC0089570D088F09F5712
+:1044800090F0B92F9927B751A0F0D1F0660F771FA0
+:10449000881F991F1AF0BA95C9F712C0B13081F080
+:1044A00077D0B1E0089574C0672F782F8827B85F60
+:1044B00039F0B93FCCF3869577956795B395D9F7E1
+:1044C0003EF490958095709561957F4F8F4F9F4FEB
+:1044D0000895E89409C097FB3EF4909580957095F7
+:1044E00061957F4F8F4F9F4F9923A9F0F92F96E940
+:1044F000BB279395F695879577956795B795F111B5
+:10450000F8CFFAF4BB0F11F460FF1BC06F5F7F4F51
+:104510008F4F9F4F16C0882311F096E911C0772363
+:1045200021F09EE8872F762F05C0662371F096E86C
+:10453000862F70E060E02AF09A95660F771F881F3B
+:10454000DAF7880F9695879597F9089557FD905853
+:10455000440F551F59F05F3F71F04795880F97FB47
+:10456000991F61F09F3F79F0879508951216130601
+:104570001406551FF2CF4695F1DF08C01616170630
+:104580001806991FF1CF8695710561050894089565
+:10459000E894BB2766277727CB0197F908950BD0BE
+:1045A00078C069D028F06ED018F0952309F05AC071
+:1045B0005FC01124EECFCADFA0F3959FD1F3950F12
+:1045C00050E0551F629FF001729FBB27F00DB11D97
+:1045D000639FAA27F00DB11DAA1F649F6627B00D27
+:1045E000A11D661F829F2227B00DA11D621F739F10
+:1045F000B00DA11D621F839FA00D611D221F749F1E
+:104600003327A00D611D231F849F600D211D822F64
+:10461000762F6A2F11249F5750408AF0E1F08823AB
+:104620004AF0EE0FFF1FBB1F661F771F881F9150B8
+:104630005040A9F79E3F510570F014C0AACF5F3FCC
+:10464000ECF3983EDCF3869577956795B795F795EB
+:10465000E7959F5FC1F7FE2B880F911D9695879573
+:1046600097F9089597F99F6780E870E060E00895F2
+:104670009FEF80EC089500240A941616170618067A
+:104680000906089500240A94121613061406050656
+:104690000895092E0394000C11F4882352F0BB0FE7
+:1046A00040F4BF2B11F460FF04C06F5F7F4F8F4F4A
+:1046B0009F4F089597FB072E16F4009407D077FDBF
+:1046C00009D00E94742307FC05D03EF49095819593
+:1046D0009F4F0895709561957F4F0895EE0FFF1FCE
+:1046E0000590F491E02D0994AA1BBB1B51E107C072
+:1046F000AA1FBB1FA617B70710F0A61BB70B881F72
+:10470000991F5A95A9F780959095BC01CD01089500
+:10471000F999FECF92BD81BDF89A992780B5089589
+:10472000A8E1B0E042E050E00C94B023262FF999C4
+:10473000FECF92BD81BDF89A019700B4021639F000
+:104740001FBA20BD0FB6F894FA9AF99A0FBE0895D1
+:104750000196272F0E9497230C949623DC01CB010E
+:10476000FC01F999FECF06C0F2BDE1BDF89A319681
+:1047700000B40D9241505040B8F70895F894FFCF1F
+:104780000220F409820A5F0A2B0AF7090101CA0113
+:1047900028080A03140A404D363975042804F20328
+:1047A000B9034C0365037E03970301020304050666
+:0447B00007080900ED
+:00000001FF
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c new file mode 100755 index 0000000000..6eb864b447 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c @@ -0,0 +1,284 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +/****************************************************************************************** + * SPANISH DVORAK LAYOUT (see http://djelibeibi.unex.es/dvorak/) + * Layer 1: auxiliary keys + * Layer 2: full qwerty layout + ****************************************************************************************** + * IMPORTANT: Software layout must be set to SPANISH QWERTY to work properly + *****************************************************************************************/ + +// LAYERS +#define BASE 0 // dvorak layout (default) +#define AUX 1 // auxiliary keys +#define QWERTY 2 // qwerty layout + +// MACROS +#define OBRACE 0 // key { or shift +#define CBRACE 1 // key } or shift +#define OBRACK 2 // key [ or left alt +#define CBRACK 3 // key ] or left alt +#define CAPS 4 // caps lock + +// LEDS +#define USB_LED_NUM_LOCK 0 +#define USB_LED_CAPS_LOCK 1 +#define USB_LED_SCROLL_LOCK 2 +#define USB_LED_COMPOSE 3 +#define USB_LED_KANA 4 + +// TIMERS +#define KEY_TAP_FAST 85 +#define KEY_TAP_SLOW 95 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Base layer + * Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | F1/~L1 | . | , | Ñ | P | Y |MEH_T | | L1 | F | G | C | H | L |ALL_T/+ | + * |--------+------+------+------+------+------| DEL | | ~L1 |------+------+------+------+------+--------| + * |Esc/Ctrl| A | O | E | U | I |------| |------| D | R | T | N | S |'/RCtrl | + * |--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| + * | {/LSft | - | Q | J | K | X | | | | B | M | W | V | Z | }/RSft | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |F5/CAG|F6/~L1| |F7/~L1|F8/CAG| + * ,------|------|------| |------+--------+------. + * | | |F4/CA | |F11/CA| | | + * | ENTER| TAB |------| |------| BSPC | SPACE| + * | | |F3/SA | |F12/SA| | | + * `--------------------' `----------------------' + * CAG = CTRL-ALT-GUI + * CA = CTRL-ALT + * SA = SHIFT-ALT + * + */ +[BASE] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + LT(AUX, KC_F1), KC_DOT, KC_COMM,KC_SCLN,KC_P, KC_Y, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I, + M(OBRACE), KC_SLSH,KC_Q, KC_J, KC_K, KC_X, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), LT(AUX, KC_F6), + MT((MOD_LALT | MOD_LCTL), KC_F4), + KC_ENT,KC_TAB,MT((MOD_LALT | MOD_LSFT), KC_F3), + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_FN1, KC_F, KC_G, KC_C, KC_H, KC_L, ALL_T(KC_RBRACKET), + KC_D, KC_R, KC_T, KC_N, KC_S, CTL_T(KC_QUOTE), + KC_RALT, KC_B, KC_M, KC_W, KC_V, KC_Z, M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + LT(AUX, KC_F7), LCAG_T(KC_F8), + MT((MOD_LALT | MOD_LCTL), KC_F11), + MT((MOD_LALT | MOD_LSFT), KC_F12),KC_BSPC, KC_SPC + ), +/* Keymap 1: Aux layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | SLEEP | PWR | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | < | > | MsUp | | | | | ~L0 | | 7 | 8 | 9 | * | `^ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | 4 | 5 | 6 | + | Ç | + * |--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------| + * |CAPSLOCK| | | | | | | | | | 1 | 2 | 3 | / | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |CTRL-S|CTRL-Z|CTRL-X|CTRL-C|CTRL-V| | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | Play | + * ,------|------|------| |------+------+------. + * | | | | | VolUp| | | + * | Lclk | Rclk |------| |------| Prev | Next | + * | | | L2 | | VolDn| | | + * `--------------------' `--------------------' + */ +[AUX] = KEYMAP( + // left hand + KC_NO , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_SLEP, + KC_TRNS, KC_NONUS_BSLASH, LSFT(KC_NONUS_BSLASH), KC_MS_U, KC_NO, KC_NO, KC_NO, + KC_NO , KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO , + M(CAPS), KC_NO, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, + LCTL(KC_S), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), + KC_NO , KC_TRNS, + KC_NO, + KC_BTN1, KC_BTN2, TG(QWERTY), + // right hand + KC_PWR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_LBRACKET, + KC_NO, KC_4, KC_5, KC_6, KC_PPLS, KC_BSLASH, + KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_NO, + KC_NO ,KC_DOT, KC_0, KC_PEQL, KC_NO, + KC_TRNS, KC_MPLY, + KC_VOLU, + KC_VOLD, KC_MPRV, KC_MNXT +), +/* Keymap 2: QWERTY layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TRANS | Q | W | E | R | T |MEH_T | | TRANS| Y | U | I | O | P |ALL_T/+ | + * |--------+------+------+------+------+------| DEL | | |------+------+------+------+------+--------| + * |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | Ñ |'/RCtrl | + * |--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| + * | {/LSft | Z | X | C | V | B | | | | N | M | , | . | - | }/RSft | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |F5/CAG| TRANS| | TRANS|F8/CAG| + * ,------|------|------| |------+--------+------. + * | | |F4/CA | |F11/CA| | | + * | ENTER| TAB |------| |------| BSPC | SPACE| + * | | | TRANS| |F12/SA| | | + * `--------------------' `----------------------' + * CAG = CTRL-ALT-GUI + * CA = CTRL-ALT + * SA = SHIFT-ALT + * + */ +[QWERTY] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + M(OBRACE), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), KC_TRNS, + MT((MOD_LALT | MOD_LCTL), KC_F4), + KC_ENT,KC_TAB,KC_TRNS, + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, ALL_T(KC_RBRACKET), + KC_H, KC_J, KC_K, KC_L, KC_SCLN,CTL_T(KC_QUOTE), + KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + KC_TRNS, LCAG_T(KC_F8), + MT((MOD_LALT | MOD_LCTL), KC_F11), + MT((MOD_LALT | MOD_LSFT), KC_F12),KC_BSPC, KC_SPC +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(AUX) // FN1 - Momentary Layer 1 (Aux) +}; + +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case OBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_QUOTE); + unregister_code(KC_QUOTE); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_BSLS); + unregister_code(KC_BSLS); + unregister_code(KC_RALT); + } + } + break; + } + case OBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_LBRACKET); + unregister_code(KC_LBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_RBRACKET); + unregister_code(KC_RBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CAPS: { + if (record->event.pressed) { + register_code(KC_CAPSLOCK); + } else { + unregister_code(KC_CAPSLOCK); + } + break; + } + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case 1: + ergodox_right_led_3_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + + // Turn the caps lock led on + if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) { + ergodox_right_led_1_on(); + } + +} + |