From f0dfe8ab97e6919957e371dcb09989fcedaada77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Mon, 15 Feb 2016 14:13:29 +0100 Subject: testing moving the 6 to the left, having one key more on the right used for hash now feels a bit more natural to me. Need to investigate further. --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 22 +- keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex | 3058 +++++++++++++------------ 2 files changed, 1561 insertions(+), 1519 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 0298cb7028..e75187202f 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -31,18 +31,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß | + * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | |CMD-C | 7 | 8 | 9 | 0 | ß | # | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT| + * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT| * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | ! | ? | | | | | \ | [ | ] | | | # | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | | + * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | * | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | . | ! | | + * | | | | | | | + | - | . | ! | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -106,9 +106,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), LSFT(DE_PLUS), KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, - KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + DE_PLUS, DE_MINS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex index 2c83055b0d..8d74fd599b 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -1,1509 +1,1551 @@ -:100000000C94CA070C940E080C940E080C940E085D -:100010000C940E080C940E080C940E080C940E0808 -:100020000C940E080C940E080C9488130C945A141B -:100030000C940E080C940E080C940E080C940E08E8 -:100040000C940E080C94322D0C940E080C940E088F -:100050000C940E080C942A230C940E080C940E0891 -:100060000C940E080C940E080C940E080C940E08B8 -:100070000C940E080C940E080C940E080C940E08A8 -:100080000C940E080C940E080C940E080C940E0898 -:100090000C940E080C940E080C940E080C940E0888 -:1000A0000C940E080C940E080C940E08C714E91456 -:1000B000D715E914D7152E155115D715A615B9154D -:1000C000001900192F192F197319B119CB1BCB1B4C -:1000D000CA19CB1BCB1ACB1A9F1BCB1BCB1BB61B36 -:1000E00002E002E2012E022E02E10002E002E10241 -:1000F000E20001E001E101E20002E001E3010602A9 -:100100000602E30002E00001E00002E001E3011961 -:10011000021902E30002E00001E0000000F0A1F09B -:10012000A329002B00E200E100358100001E00142D -:100130000004001D7135004D001F001A0016001B41 -:1001400000E1044C00200008000700060050002ACF -:100150000021001500090019004F004A0022001775 -:10016000000A000500000003300130E3000000E257 -:1001700000000002540230E7000000E60000000426 -:100180005423001C000B00110000002E7F240018D7 -:10019000000D00100052004B0025000C000E003630 -:1001A0000051002C00260012000F003700E1082843 -:1001B00000270013003300387130004E002D002F4F -:1001C000003474E5003181000001000100010001EC -:1001D00000010000003A003500310001000100017B -:1001E000003B0035022102350001004C003C001E9E -:1001F0000224062202010001003D002D02240224F7 -:1002000004010001003E000100370011040000015C -:1002100000010001000000010000000100010001D8 -:100220000000000100000001003F0024062402231A -:1002300002000001004000220425023500010001F7 -:100240000041002304260235023700010042002449 -:100250000425041F021E0201004300310026043160 -:1002600002010001004400450001002D02010000D0 -:100270000001000100010001000100000001000177 -:100280000001000100010001000100F400F200FB88 -:1002900000010001000100F000F100FA000100017E -:1002A000000100F500F300FC00010001000100F96D -:1002B00000FA00F60000000100010001000000014A -:1002C0000000000100A80001000000010000000182 -:1002D0000001000100A900AA0000000100010001C6 -:1002E000000100010001000100010001000100AC5B -:1002F000000100B600010001000100AB0050000148 -:1003000000010001000100520051000100AE000197 -:1003100000010001004F0000000100010001000188 -:10032000000100000001000E000B001B7101000124 -:100330000001003700040014000100010001001258 -:10034000000800340001000100010036000C002FFD -:10035000000100010001001D001800330000000131 -:100360000001000100000001000000010001000187 -:100370000000000100000001000100190007000555 -:10038000000000010001000A001700130001000135 -:10039000000100060015001A000100010001000F15 -:1003A00000110010000100010001002D0016000DD9 -:1003B000710100010038001C0009820100010000E9 -:1003C0000001000100010001000100000001000126 -:1003D00000010001000100010001000100500001C6 -:1003E0000001000100010052005100010001000164 -:1003F00000010001004F00010001000100010001A7 -:1004000000010001000000010001000100000001E6 -:1004100000000001000100010000000100000001D7 -:10042000003F005200510023020000010040002460 -:100430000021001E00270001004100250022001FAE -:1004400000370001004200260023002000270001A1 -:100450000043003002300024022E00010044004519 -:100460000001000100010000000A00253031366261 -:10047000003A200025303258000A722F63203031B4 -:1004800032333435363738394142434445460A0021 -:100490000A002530325800626F756E6365213A207C -:1004A000006C6566742073696465206174746163AF -:1004B0006865640A006C6566742073696465206E03 -:1004C0006F7420726573706F6E64696E670A007472 -:1004D0007279696E6720746F207265736574206D20 -:1004E000637032333031380A000A44454255473A86 -:1004F00020656E61626C65642E0A005B735D004B63 -:100500006579626F6172642073746172742E0A007F -:100510005B575D005B535D005B525D005B445D00BB -:100520005B435D0016034500720067006F004400E6 -:100530006F007800200045005A00000016034500B7 -:10054000720067006F0044006F00780020004500D3 -:100550005A0000000403090409028D00050100A0EF -:10056000FA09040000010301010009211101000141 -:10057000223F000705810308000A09040100010366 -:10058000010200092111010001224D00070582032B -:1005900008000A09040200010300000009211101FA -:1005A00000012236000705830308000A090403003E -:1005B00002030000000921110100012220000705AB -:1005C000840320000107050403200001090404003E -:1005D0000103000000092111010001223900070573 -:1005E00085031000011201100100000008EDFE0754 -:1005F0001301000102000105010906A10105071907 -:10060000E029E71500250195087501810205081903 -:100610000129059505750191029501750391010563 -:10062000071900297715002501957875018102C009 -:100630000631FF0974A1010975150025FF95207584 -:100640000881020976150025FF952075089102C0E2 -:1006500005010980A101850216010026B7001A01D3 -:10066000002AB700751095018100C0050C0901A191 -:10067000018503160100269C021A01002A9C0275BE -:100680001095018100C005010902A1010901A10025 -:100690000509190129051500250195057501810236 -:1006A0009501750381010501093009311581257F07 -:1006B00095027508810609381581257F9501750811 -:1006C0008106050C0A38021581257F950175088180 -:1006D00006C0C005010906A101050719E029E715B3 -:1006E00000250195087501810295017508810105B4 -:1006F0000819012905950575019102950175039168 -:10070000010507190029FF150025FF9506750881C9 -:1007100000C00A002530325820006B6579626F6195 -:1007200072645F7265706F72743A20000A0025303F -:100730003258006B6579626F6172645F7365745FD4 -:100740006C65643A200064656C5F6B65795F626913 -:10075000743A2063616E27742064656C3A202530FA -:1007600032580A006164645F6B65795F6269743A4C -:100770002063616E2774206164643A20253032580A -:100780000A00646F6E652E0A00626F6F676D6167A5 -:100790006963207363616E3A202E2E2E2000290A91 -:1007A000002575002F002575005D280025640020B8 -:1007B00000256400200025640020002564007C00E2 -:1007C00025303258006D6F7573656B6579205B62FB -:1007D000746E7C782079207620685D287265702F91 -:1007E00061636C293A205B006D6B5F776865656CAF -:1007F0005F74696D655F746F5F6D6178203D202562 -:10080000640A006D6B5F776865656C5F6D61785F2A -:100810007370656564203D2025640A006D6B5F740C -:10082000696D655F746F5F6D6178203D2025640A96 -:10083000006D6B5F6D61785F7370656564203D204E -:1008400025640A006D6B5F696E74657276616C2059 -:100850003D2025640A006D6B5F64656C6179203D05 -:100860002025640A006D6B5F776865656C5F74694D -:100870006D655F746F5F6D6178203D2025640A00AF -:100880006D6B5F776865656C5F6D61785F737065D0 -:100890006564203D2025640A006D6B5F74696D6599 -:1008A0005F746F5F6D6178203D2025640A006D6B79 -:1008B0005F6D61785F7370656564203D2025640A13 -:1008C000006D6B5F696E74657276616C203D2025EA -:1008D000640A006D6B5F64656C6179203D2025645E -:1008E0000A000A00257500363A20776865656C5F56 -:1008F00074696D655F746F5F6D61783A20000A00FE -:10090000257500353A20776865656C5F6D61785FA5 -:1009100073706565643A20000A00257500343A203A -:1009200074696D655F746F5F6D61783A20000A00CD -:10093000257500333A206D61785F73706565643AA0 -:1009400020000A00257500323A20696E74657276BF -:10095000616C286D73293A20000A00257500313A30 -:100960002064656C6179282A31306D73293A200042 -:100970000A092D2056616C756573202D0A004D3EC5 -:10098000004D25643E20003F007365742064656659 -:1009900061756C740A00433E2000776865726520BB -:1009A00064656C74613A20637572736F723D25647F -:1009B0002C20776865656C3D25640A536565206861 -:1009C0007474703A2F2F656E2E77696B6970656449 -:1009D00069612E6F72672F77696B692F4D6F757321 -:1009E000655F6B6579730A000A092D204D6F757379 -:1009F000656B6579202D0A4553432F713A0971754E -:100A000069740A313A0964656C6179282A31306D5C -:100A100073290A323A09696E74657276616C286DC1 -:100A200073290A333A096D61785F73706565640AEA -:100A3000343A0974696D655F746F5F6D61780A356A -:100A40003A09776865656C5F6D61785F737065659D -:100A5000640A363A09776865656C5F74696D655F2D -:100A6000746F5F6D61780A0A703A097072696E740A -:100A70002076616C7565730A643A09736574206445 -:100A8000656661756C74730A75703A092B310A6476 -:100A90006F776E3A092D310A706775703A092B31FC -:100AA000300A7067646F776E3A092D31300A0A7325 -:100AB00070656564203D2064656C7461202A206D3A -:100AC00061785F7370656564202A2028726570659F -:100AD0006174202F2074696D655F746F5F6D61783C -:100AE000290A003F004D3E2000433E20004C256473 -:100AF0000A000A092D20436F6E736F6C65202D0A62 -:100B00004553432F713A09717569740A6D3A096D3D -:100B10006F7573656B65790A000A092D204D616751 -:100B20006963202D0A643A0964656275670A783A38 -:100B3000096465627567206D61747269780A6B3A41 -:100B4000096465627567206B6579626F6172640A1A -:100B50006D3A096465627567206D6F7573650A7615 -:100B60003A0976657273696F6E0A733A0973746134 -:100B70007475730A633A09636F6E736F6C65206DE9 -:100B80006F64650A302D343A096C61796572302DD5 -:100B900034284631302D4634290A506175733A099C -:100BA000626F6F746C6F616465720A653A0965659E -:100BB00070726F6D0A6E3A094E4B524F0A7A3A09BB -:100BC000736C656570204C454420746573740A002D -:100BD0000A002575002E6E6B726F3A20000A002500 -:100BE00075002E737761705F6261636B736C617304 -:100BF000685F6261636B73706163653A20000A002D -:100C00002575002E737761705F67726176655F6529 -:100C100073633A20000A002575002E6E6F5F6775BA -:100C2000693A20000A002575002E737761705F72A3 -:100C3000616C745F726775693A20000A002575005F -:100C40002E737761705F6C616C745F6C6775693A65 -:100C500020000A002575002E636170736C6F636B52 -:100C60005F746F5F636F6E74726F6C3A20000A007E -:100C70002575002E737761705F636F6E74726F6C91 -:100C80005F636170736C6F636B3A20000A002530FC -:100C90003258006B65796D61705F636F6E6669676E -:100CA0002E7261773A20000A002575002E6D6F754F -:100CB00073653A20000A002575002E6B6579626F16 -:100CC0006172643A20000A002575002E6D6174720D -:100CD00069783A20000A002575002E656E61626C05 -:100CE000653A20000A002530325800646562756755 -:100CF0005F636F6E6669672E7261773A20000A0043 -:100D000025750064656661756C745F6C61796572E8 -:100D10003A20003F004E4B524F3A206F66660A0061 -:100D20004E4B524F3A206F6E0A0074696D65725FC8 -:100D3000636F756E743A202530346C580A006B6509 -:100D400079626F6172645F6E6B726F3A2025580A28 -:100D5000006B6579626F6172645F69646C653A20EB -:100D600025580A006B6579626F6172645F70726FFB -:100D7000746F636F6C3A2025580A00686F73745F54 -:100D80006B6579626F6172645F6C65647328293A80 -:100D90002025580A000A092D2053746174757320A8 -:100DA0002D0A004743433A20342E392E3320415632 -:100DB000522D4C4942433A20312E382E3120415693 -:100DC000525F415243483A20617672350A004F50D3 -:100DD00054494F4E533A204C55464120424F4F54B0 -:100DE0004D41474943204D4F5553454B45592045AB -:100DF000585452414B455920434F4E534F4C452078 -:100E0000434F4D4D414E44204E4B524F20353132D1 -:100E10000A004255494C443A206130383532363563 -:100E20002D6469727479202830393A34343A313774 -:100E3000204A616E2031332032303136290A005683 -:100E400049443A20307846454544284572676F4406 -:100E50006F7820455A29205049443A203078313360 -:100E60003037284572676F446F7820455A292056DD -:100E700045523A203078303030310A0044455343EF -:100E80003A20742E6D2E6B2E206B6579626F617225 -:100E900064206669726D7761726520666F722045A5 -:100EA00072676F646F780A000A092D2056657273A5 -:100EB000696F6E202D0A000A6D6F7573653A206F99 -:100EC00066660A000A6D6F7573653A206F6E0A00D8 -:100ED0000A6B6579626F6172643A206F66660A0018 -:100EE0000A6B6579626F6172643A206F6E0A000A5C -:100EF0006D61747269783A206F66660A000A6D61E6 -:100F0000747269783A206F6E0A000A6465627567C8 -:100F10003A206F6E0A000A64656275673A206F6650 -:100F2000660A000A0A626F6F746C6F616465722EE4 -:100F30002E2E2000433E20006565636F6E66696754 -:100F40003A0A00536C656570204C45442074657303 -:100F5000740A000000000000000000000000010210 -:100F600004060A0F17202C3A4A5D71879DB3C7DA31 -:100F7000E9F5FCFFFCF5E9DAC7B39D87715D4A3AF4 -:100F80002C20170F0A0604020100000000000000D8 -:100F90000000000011241FBECFEFDAE0DEBFCDBF9E -:100FA00004B603FE24C08091FB019091FC01A09146 -:100FB000FD01B091FE018730904BA740B04BB9F4D2 -:100FC0001092FB011092FC011092FD011092FE01A3 -:100FD00014BE84B7877F84BF88E10FB6F8948093EE -:100FE0006000109260000FBEE0E0FFE3099511E0A1 -:100FF000A0E0B1E0E0E0FEE502C005900D92AA336A -:10100000B107D9F711E0AAE3B1E001C01D92AB3FEF -:10101000B107E1F70E94C0100C94FE2E0C94000062 -:10102000FF93EF93E0913A01F0913B01309709F083 -:101030000995EF91FF910895FC018591803011F0A1 -:10104000EFDFFBCF0895FF27E0E230E247FF0CC05F -:10105000419597FF09C0EDE2609570958095909558 -:10106000611D711D811D911D27FF02C0219530E377 -:1010700050E2AA27660F771F881F991FAA1FA4177F -:1010800010F0A41B63955A95A9F7AA3008F0A95F40 -:10109000A05DAF93F395611571058105910541F749 -:1010A000ED3211F4EF93F395F21718F43F93F395A3 -:1010B000FBCF8F91B5DFFA95E1F70895E991F991AA -:1010C0008591803021F0853219F0AADFF9CF08959B -:1010D00020E0E89455915532C1F3503311F46894EF -:1010E00055915A3348F4505390F3220F022E220F99 -:1010F000220F200D250FF4CF0EF42195899199919F -:10110000533619F3533729F1533559F1BC01882768 -:101110009927E8945C3621F48991999168945591C6 -:10112000543639F446EF7EF077FF0DC08FEF9FEF16 -:101130000AC055374AE039F0583540E121F05236BF -:1011400042E009F00895FF93EF937DDFEF91FF9167 -:10115000B7CFFF93EF93FC0181918030B9F360DF4B -:10116000FBCFFF93EF9368DFF1CFDF93CF93CDB742 -:10117000DEB72596A3DFCF91DF910895FC016130A2 -:1011800089F028F0623031F16330E1F153C082819F -:10119000882321F085EE0E949D174CC085EE0E94A9 -:1011A000651848C08281882349F00E94F4229093F8 -:1011B0003D0180933C0188E191E0089580913C01DC -:1011C00090913D010E94002387399105B4F58AE092 -:1011D00091E008958281882349F00E94F42290933F -:1011E0003D0180933C0187E091E0089580913C01AE -:1011F00090913D010E940023873991050CF589EFFC -:1012000090E008958281882349F00E94F42290930F -:101210003D0180933C0182EF90E0089580913C0174 -:1012200090913D010E9400238739910564F480EE7E -:1012300090E0089580E090E0089585E191E00895C0 -:1012400084E091E008958BEE90E008950895609118 -:10125000BE017091BF018091C0019091C1010E94B7 -:101260002D2256985E9825982D9826982E98279886 -:101270002F98823061F018F4813031F00895833076 -:1012800049F0843051F00895259A2D9A0895269AB0 -:101290002E9A0895279A2F9A0895259A2D9A279A7B -:1012A0002F9A089587E299E0892B11F00E9427096F -:1012B00080E090E0089556985E9825982D9826989D -:1012C0002E9827982F988FEF90E090938900809325 -:1012D000880090938B0080938A0090938D00809378 -:1012E0008C00259A2D9A2FEF80E792E021508040C4 -:1012F0009040E1F700C00000269A2E9A2FEF80E779 -:1013000092E0215080409040E1F700C00000279A11 -:101310002F9A2FEF80E792E0215080409040E1F734 -:1013200000C0000025982D982FEF80E792E0215013 -:1013300080409040E1F700C0000026982E982FEFE3 -:1013400080E792E0215080409040E1F700C000002B -:1013500027982F9856985E9825982D9826982E981D -:1013600027982F98089589EA8093800089E08093D8 -:10137000810024982C983F988AB18F748AB96E980E -:10138000479A8BB1806B8BB9769A0E945B0986E293 -:1013900099E0892B11F00E94260980E090E00895E1 -:1013A00080E28093000180913E0181110EC00E9475 -:1013B0001F0A81E080933E012FEF83ED90E32150DF -:1013C00080409040E1F700C0000080E40E94250AC0 -:1013D0008093000181112EC00E944F0A809300016A -:1013E000811128C00E944F0A80930001811122C000 -:1013F0008FE30E944F0A8093000181111BC00E945D -:10140000470A80E40E94250A80930001811112C0DE -:101410008CE00E944F0A8093000181110BC00E9452 -:101420004F0A80930001811105C08FE30E944F0A8B -:10143000809300010E94470A809100010895109254 -:10144000B9008AE08093B800089594EA9093BC00B4 -:101450009091BC0097FFFCCF9091B900987F983095 -:1014600021F0903111F081E008958093BB0084E871 -:101470008093BC008091BC0087FFFCCF8091B900B5 -:10148000887F883111F0803471F780E0089584E915 -:101490008093BC008091BC0084FDFCCF08958093B4 -:1014A000BB0084E88093BC008091BC0087FFFCCF28 -:1014B0009091B900987F81E0983209F480E0089516 -:1014C00084E88093BC008091BC0087FFFCCF8091B2 -:1014D000BB00089580910001811115C080E40E9435 -:1014E000250A8093000181110CC082E10E944F0AFD -:1014F00080930001811105C08FEF0E944F0A8093F5 -:1015000000010E94470A84B1807F84B985B1807F41 -:1015100085B98AB1837F8AB98BB1837F8BB93E98B5 -:10152000469808950E94D009809300010E946A0A9B -:1015300080B38C7080BB81B3836F81BBA0E4B1E0CA -:10154000EEE4F1E08EE08E0F11921D928E13FCCF2F -:1015500083EB99E0892B11F00C94B30908959F92C5 -:10156000AF92BF92CF92DF92EF92FF920F931F93B1 -:10157000CF93DF93809100018823E1F080913F01B8 -:101580008F5F80933F01811115C08FEC94E00E9422 -:101590001C080E94D00980930001882329F085EB64 -:1015A00094E00E941C0806C081EA94E00E941C0896 -:1015B0000E945B0900E411E0C0E0D0E0BB24B394DA -:1015C00082E0A82ECC24C394D12C22E9E22E24E080 -:1015D000F22EC730D10500F580910001811164C061 -:1015E00080E40E94250A80930001811112C082E1EB -:1015F0000E944F0A8093000181110BC0C6010C2E7E -:1016000001C0880F0A94EAF780950E944F0A8093E0 -:1016100000010E94470A48C0CA30A1F028F4C8302F -:1016200059F0C93061F005C0CC3089F070F0CD3090 -:1016300089F0209A289810C0219A29980DC0229AE2 -:101640002A980AC0239A2B9807C0529A01C0539A2D -:101650005B9802C03E9A469890EA9A95F1F79FB13E -:10166000799902C082E001C080E091709B25982B9F -:101670007C9902C084E001C080E0892B7D9902C082 -:1016800038E001C030E0832B7E9902C020E101C028 -:1016900020E0822B9FB19095991F9927991F9295D1 -:1016A000990F907E892B10C080910001811174C028 -:1016B00080E40E94250A80930001882309F459C020 -:1016C000912C0E94470A892DF8019081981739F1D1 -:1016D000808380910101882301F18091D90180FFED -:1016E00004C087E994E00E941C088091D90180FF22 -:1016F0000CC0809101011F928F93FF92EF920E9484 -:10170000B5080F900F900F900F908091D90180FF36 -:1017100004C080E994E00E941C08A09201010E948C -:101720006A0A21960F5F1F4FCE30D10509F051CFC5 -:10173000809101018823B1F08150809301018823B9 -:1017400039F08FE99FE00197F1F700C000000AC06F -:10175000AEE4B1E0E0E4F1E0CF01825F91919D93CE -:101760008E13FCCF82E599E0892BC1F00E945209CB -:1017700015C083E10E944F0A809300018111A0CF20 -:1017800081E40E94250A80930001811199CF0E9473 -:10179000600A982E909495CF80E096CF81E0DF91FB -:1017A000CF911F910F91FF90EF90DF90CF90BF905E -:1017B000AF909F900895E82FF0E0E25BFE4F8081AC -:1017C0000895CF92DF92EF92FF920F931F93CF93E2 -:1017D000DF9389E794E00E941C088EE4E82E81E004 -:1017E000F82EC0E0D0E094E7C92E94E0D92E0BE6A5 -:1017F00014E0DF93CF93DF92CF920E94B50881E788 -:1018000094E00E941C08F70181917F0190E00E9402 -:1018100093229F938F931F930F930E94B50889E69D -:1018200094E00E941C0821968DB79EB708960FB6CB -:10183000F8949EBF0FBE8DBFCE30D105D1F6DF919B -:10184000CF911F910F91FF90EF90DF90CF9008956F -:101850008B3B910578F4883A910540F5853A9105DE -:10186000D0F48430910508F0B1C08130910509F4BD -:10187000ADC06BC0803E910508F467C0883E9105FD -:1018800008F4A4C09C01205F31092031310508F023 -:101890005CC090650895853A910509F459C0863A6F -:1018A000910509F058C082E890E40895883A9105BE -:1018B00009F454C0893A910509F453C08A3A910554 -:1018C00009F452C08B3A910509F451C08C3A910544 -:1018D00009F450C08D3A910509F44FC0803B910541 -:1018E00009F44EC08E3A910509F44DC08F3A910526 -:1018F00009F44CC0813B910509F44BC0823B910532 -:1019000009F44AC0833B910509F449C0843B910521 -:1019100009F448C0853B910509F447C0863B910511 -:1019200009F446C0873B910509F445C0883B910501 -:1019300009F444C0893B910509F443C08A3B9105F1 -:1019400009F442C080E094E4089580E090E00895B6 -:1019500081E890E4089583E890E4089582EE94E4A9 -:10196000089589EE94E408958AEE94E4089585EB51 -:1019700094E4089586EB94E4089587EB94E4089545 -:101980008CEC94E408958DEC94E4089583E895E458 -:1019900008958AE895E4089582E995E4089584E934 -:1019A00095E4089581E296E4089583E296E408952B -:1019B00084E296E4089585E296E4089586E296E44A -:1019C000089587E296E408958AE296E408950895DA -:1019D00096E0799FF001112494E5899FE00DF11DB7 -:1019E0001124E60FF11DEE0FFF1FEF5DFE4F8591F5 -:1019F00094910895880F991FFC01E556F040859158 -:101A000094910895880F991FFC01E55EFE4F859122 -:101A10009491089526E0729FF001112444E5849F7B -:101A2000E00DF11D1124E60FF11DEE0FFF1FEF5D1C -:101A3000FE4F859194919C013A9521154FE1340711 -:101A400008F41EC13F512115304120F49F700E94BF -:101A5000020D08959C0130532115304118F4992747 -:101A6000906C0895811520E5920769F40E94ED1BA2 -:101A70004FEF84E39CE0415080409040E1F700C08C -:101A800000000C944F23813020E5920751F489EE39 -:101A900094E00E941C088091D90181608093D90153 -:101AA00008959C0130552115304108F051C0292F6F -:101AB00033272F70332721303105D9F4AC0143701F -:101AC000552702C0220F331F4A95E2F73C68AC014C -:101AD00064E0440F551F6A95E1F744275370242BA7 -:101AE000352B73E0880F991F7A95E1F78076992757 -:101AF0001DC02230310529F4982F8827816F906A04 -:101B0000089523303105A9F4AC014370552721E035 -:101B100030E002C0220F331F4A95E2F73C6843E0F1 -:101B2000880F991F4A95E1F7807E9770822B932B3F -:101B3000089524303105E1F4AC014370552721E0CC -:101B400030E002C0220F331F4A95E2F73A68E7CF30 -:101B50009C0130572115304118F49F709062089510 -:101B60009C0130582115304118F49F70906A0895F7 -:101B7000803E9105E0F4803C910558F58133910554 -:101B800009F46FC048F48932910509F463C08A32C0 -:101B9000910509F46DC072C089339105E9F082386E -:101BA0009105D1F08533910509F44DC067C0833E9E -:101BB000910581F138F4803E9105B9F0823E91059E -:101BC000D9F05CC0863E910561F1873E9105A1F197 -:101BD00055C00E94FA0C08952091EC0120FD02C02E -:101BE00021FF4CC080EE90E049C08091EC0180FF65 -:101BF000F9CF89E390E042C08091EC0182FF0EC0F2 -:101C00008091EC0184FF03C080E090E037C083EE58 -:101C100090E034C08091EC0182FFF2CF82EE90E040 -:101C20002DC08091EC0183FF0BC08091EC0184FDFD -:101C3000EBCF87EE90E022C08091EC0183FFF5CFDF -:101C400086EE90E01BC08091EC0185FF07C089E221 -:101C500090E014C08091EC0185FFF9CF85E390E01E -:101C60000DC08091EC0186FF07C08AE290E006C0BB -:101C70008091EC0186FFF9CF81E390E00E94280C6F -:101C80000895089580916F0108959FB7F894109278 -:101C90005E019FBF9091F201943009F057C090917E -:101CA000E9009F703091EC00232F217030FD20E877 -:101CB000922B24E02093E9002091EB0020FF43C009 -:101CC0002091EE0027FF3FC020915C01222321F0EC -:101CD0002091E80025FF37C010925C0126E030918A -:101CE000E80035FD15C03091F201343061F53091D6 -:101CF000EB0035FD28C0215021F481E080935C0188 -:101D000022C0EFE9FFE03197F1F700C00000E7CF14 -:101D10008093F1008091E80085FD0AC08091E80081 -:101D200080FFFCCF8091E8008E778093E80006C0AA -:101D30008FB7F89421E020935E018FBF9F7090933E -:101D4000E90080E008959F709093E9008FEF089577 -:101D5000CF93DF9300D01F92CDB7DEB79C01809167 -:101D6000F201843019F593E099833B832A839093A1 -:101D7000E9008FEF9091E800815095FD06C095ED48 -:101D80009A95F1F700008111F5CF8091E80085FF69 -:101D90000DC040E050E063E070E0CE0101960E948B -:101DA00078118091E8008E778093E8000F900F9073 -:101DB0000F90DF91CF910895CF93DF9300D01F92C2 -:101DC000CDB7DEB72091F201243021F522E029833E -:101DD0009B838A8383E08093E9008FEF9091E800F2 -:101DE000815095FD06C095ED9A95F1F7000081119F -:101DF000F5CF8091E80085FF0DC040E050E063E042 -:101E000070E0CE0101960E9478118091E8008E77F3 -:101E10008093E8000F900F900F90DF91CF9108957D -:101E20002091F2012430F1F422E02093E9002FEF19 -:101E30003091E800215035FD06C035ED3A95F1F7B7 -:101E400000002111F5CF2091E80025FF0BC040E0F4 -:101E500050E065E070E00E9478118091E8008E7794 -:101E60008093E8000895CF93DF932091F20124300E -:101E700009F048C0EC0180910C018823E1F08091C9 -:101E80000D018823C1F085E08093E9008FEF9091E8 -:101E9000E800815095FD06C095E19A95F1F70000A4 -:101EA0008111F5CF8091E80085FF2CC040E050E023 -:101EB00060E170E017C081E08093E9008FEF9091BE -:101EC000E800815095FD06C095ED9A95F1F7000068 -:101ED0008111F5CF8091E80085FF14C040E050E00B -:101EE00068E070E0CE010E9478118091E8008E7762 -:101EF0008093E80080E1FE01AFE5B1E001900D9232 -:101F00008A95E1F7DF91CF91089580E295E00E94F4 -:101F10001C088091F101811109C00E940D130E94DB -:101F20006A138091E20084608093E20008958CE15E -:101F300095E00E941C081092F101089588E195E057 -:101F40000C941C0884E195E00E941C080C941F2D41 -:101F500080E195E00E941C080E94E9220E94252D44 -:101F60000E940F160C94410E20915D012F5F822F6D -:101F700062E30E94932E992319F020935D01089546 -:101F800010925D0180915E01882371F18091F201D0 -:101F9000843041F58091E9008F702091EC00922F00 -:101FA000917020FD90E8892B94E09093E900909146 -:101FB000EB0090FF14C09091EE0097FF10C090913D -:101FC000E80095FF03C01092F100F9CF9091E8006E -:101FD00090FF05C09091E8009E779093E8008F7085 -:101FE0008093E90010925E01089542E061EC81E087 -:101FF0000E94871242E061EC82E00E94871242E078 -:1020000061EC83E00E94871242E261EC84E00E946E -:10201000871242E161EC85E00C9487128091F40113 -:10202000833009F455C030F4813071F0823009F406 -:102030008EC008958A3009F47AC08B3009F460C0EC -:10204000893009F09CC020C08091F301813A09F0E9 -:1020500096C08091E800877F8093E8008091F70127 -:102060009091F801892B21F460E18FE591E003C0A4 -:1020700060E080E090E070E00E94C3118091E80091 -:102080008B778093E80008958091F301813209F005 -:1020900076C08091F7019091F801009719F00497AC -:1020A00009F06DC08091E800877F8093E8008091FF -:1020B000E80082FD05C08091F2018111F8CF5FC078 -:1020C0008091F10080936F018091E8008B7753C07D -:1020D0008091F301813A09F052C08091F70190910B -:1020E000F801892B09F04BC08091E800877F80932D -:1020F000E8008091E80080FFFCCF80910C0136C0A1 -:102100008091F3018132D9F58091F7019091F80126 -:10211000892BA9F58091E800877F8093E8000E94D1 -:10212000BC128091F50180930C010C94ED1B809101 -:10213000F301813221F58091E800877F8093E800E8 -:102140000E94BC128091F6018093700108958091E5 -:10215000F301813AA1F48091E800877F8093E80041 -:102160008091E80080FFFCCF809170018093F100A6 -:102170008091E8008E778093E8000C94BC1208955B -:1021800084B7877F84BF88E10FB6F894809360009E -:10219000109260000FBE90E080E80FB6F894809334 -:1021A0006100909361000FBE0E949C160E940D1367 -:1021B0000E946A138091E20084608093E20085E4CB -:1021C0009EE00E94282278940E94EF150E949E169D -:1021D00082E091E00E940A160E940D2D8FEF94E09C -:1021E0000E941C088091F201853089F48BEF94E005 -:1021F0000E941C080E94AD228091F001882391F377 -:102200000E94D522882371F30E946211EBCF0E94B5 -:10221000CC16E8CF292F332723303105C9F064F4D9 -:102220002130310581F02230310509F043C08DE8BD -:1022300090E028E535E042C021323105F1F022324C -:10224000310541F137C082E190E025EE35E036C03E -:1022500099278130910541F08230910541F0892B19 -:1022600049F5E4E5F5E005C0ECE3F5E002C0E4E2A1 -:10227000F5E0849190E09F0121C06530D8F4E62F0D -:10228000F0E0EE0FFF1FEB5DFE4F2081318189E012 -:1022900090E014C0653070F470E0FB01EE0FFF1F9A -:1022A000E55EFE4F20813181FB01EA5EFE4F8081B9 -:1022B00090E004C080E090E020E030E0FA0131835B -:1022C0002083089580E189BD82E189BD09B400FEC3 -:1022D000FDCF8091D8008F7D8093D8008091E00061 -:1022E00082608093E0008091E00081FDFCCF089542 -:1022F000CF92DF92EF92FF920F931F93CF93DF93D2 -:10230000EC018B016A010E94DB12811133C0C11400 -:10231000D10439F0F60180819181081B190BC80F97 -:10232000D91FE12CF12C0115110519F18091E8005C -:1023300085FD16C08091E8008E778093E800C11477 -:10234000D10449F0F60180819181E80EF91EF182F5 -:10235000E08285E00FC00E94DB12882321F30AC0CF -:1023600089918093F10001501109FFEFEF1AFF0AE4 -:10237000DACF80E0DF91CF911F910F91FF90EF9026 -:10238000DF90CF9008952091F9013091FA0126173E -:10239000370748F06115710539F42091E8002E7770 -:1023A0002093E80001C0B90140E061157105A9F171 -:1023B0002091F201222309F443C0253009F442C0E0 -:1023C0002091E80023FD40C02091E80022FD32C0AA -:1023D0002091E80020FFE9CF4091F3002091F20026 -:1023E00030E0342BFC01CF016115710559F0283024 -:1023F000310540F481918093F100615071092F5FA4 -:102400003F4FF1CF41E02830310509F040E0209105 -:10241000E8002E772093E800C8CF4111C9CF0AC049 -:102420008091F201882361F0853061F08091E800AD -:1024300083FD0AC08091E80082FFF2CF80E008951A -:1024400082E0089583E0089581E008952091F901E4 -:102450003091FA012617370748F06115710539F4F4 -:102460002091E8002E772093E80001C0B901FC011B -:1024700020E06115710591F18091F201882309F442 -:1024800040C0853009F43FC08091E80083FD3DC025 -:102490008091E80082FD2FC08091E80080FFE9CFA5 -:1024A0002091F3008091F20090E0922B611571056C -:1024B00059F08830910540F424912093F100319631 -:1024C000615071090196F2CF21E0089709F020E0F0 -:1024D0008091E8008E778093E800CBCF2111CCCF9C -:1024E0000AC08091F201882361F0853061F080910B -:1024F000E80083FD0AC08091E80082FFF2CF80E00F -:10250000089582E0089583E0089581E00895982F6A -:10251000973058F59093E900981739F07091EC00D6 -:102520002091ED005091F00003C0242F762F50E051 -:1025300021FF19C03091EB003E7F3093EB003091CA -:10254000ED003D7F3093ED003091EB003160309332 -:10255000EB007093EC002093ED005093F00020917D -:10256000EE0027FF07C09F5FD3CF8F708093E900F5 -:1025700081E0089580E008958091F30187FF11C004 -:102580008091E80082FD05C08091F2018111F8CFB1 -:1025900011C08091E8008B770BC08091F2018823F5 -:1025A00049F08091E80080FFF8CF8091E8008E77B5 -:1025B0008093E80008952091E4003091E50095E6CD -:1025C0004091EC00842F817040FF22C08091E80090 -:1025D00080FD1CC08091F201882391F0853091F03C -:1025E0008091EB0085FD10C04091E4005091E50022 -:1025F0004217530729F39A01915011F784E0089587 -:1026000082E0089583E0089581E0089580E00895D0 -:102610004091E80042FFDECF08950E947B130E94A4 -:102620008313E0EEF0E0808181608083E8EDF0E0EC -:1026300080818F77808319BCA7EDB0E08C918E7F6D -:102640008C9380818F7E80831092F10108950F9387 -:102650001F93CF93DF930E947B130E948313C8EDD7 -:10266000D0E088818F77888388818068888388819B -:102670008F7D888319BC1092F2011092EE011092A6 -:10268000F0011092EF0100EE10E0F80180818B7FE5 -:10269000808388818160888342E060E080E00E94DE -:1026A0008712E1EEF0E080818E7F8083E2EEF0E041 -:1026B000808181608083808188608083F80180814F -:1026C0008E7F8083888180618883DF91CF911F9185 -:1026D0000F910895E8EDF0E080818F7E8083E7ED33 -:1026E000F0E080818160808384E082BF81E080931C -:1026F000F1010C942713E8EDF0E080818E7F808358 -:102700001092E20008951092DA001092E10008950C -:102710001F920F920FB60F9211242F933F934F9356 -:102720005F936F937F938F939F93AF93BF93EF9339 -:10273000FF938091E10082FF0BC08091E20082FF55 -:1027400007C08091E1008B7F8093E1000E94B40F6D -:102750008091DA0080FF1FC08091D80080FF1BC0ED -:102760008091DA008E7F8093DA008091D90080FF1B -:102770000DC080E189BD82E189BD09B400FEFDCFB5 -:1027800081E08093F2010E94850F05C019BC109270 -:10279000F2010E94970F8091E10080FF19C08091A3 -:1027A000E20080FF15C08091E2008E7F8093E200FE -:1027B0008091E20080618093E2008091D800806285 -:1027C0008093D80019BC85E08093F2010E94A20F8B -:1027D0008091E10084FF30C08091E20084FF2CC032 -:1027E00080E189BD82E189BD09B400FEFDCF809101 -:1027F000D8008F7D8093D8008091E1008F7E8093F8 -:10280000E1008091E2008F7E8093E2008091E200FF -:1028100081608093E2008091EE01882311F084E0D2 -:1028200007C08091E30087FD02C081E001C083E022 -:102830008093F2010E94A80F8091E10083FF29C0DC -:102840008091E20083FF25C08091E100877F809323 -:10285000E10082E08093F2011092EE018091E100AC -:102860008E7F8093E1008091E2008E7F8093E20072 -:102870008091E20080618093E20042E060E080E0CD -:102880000E9487128091F00088608093F0000E947F -:102890009E0FFF91EF91BF91AF919F918F917F918B -:1028A0006F915F914F913F912F910F900FBE0F90BD -:1028B0001F9018951F920F920FB60F9211242F930D -:1028C0003F934F935F936F937F938F939F93AF93B8 -:1028D000BF93CF93DF93EF93FF93C091E900CF7045 -:1028E0008091EC00D82FD17080FDD0E81092E900E3 -:1028F0008091F000877F8093F00078940E949E146E -:102900001092E9008091F00088608093F000CD2B58 -:10291000CF70C093E900FF91EF91DF91CF91BF910C -:10292000AF919F918F917F916F915F914F913F9167 -:102930002F910F900FBE0F901F9018951F93CF935C -:10294000DF93CDB7DEB7AA970FB6F894DEBF0FBE00 -:10295000CDBFE3EFF1E088E08E0F9091F10091930D -:102960008E13FBCF0E940E108091E80083FF1FC1E1 -:102970008091F3019091F401492F50E04A305105C4 -:1029800008F015C1FA01EA5AFF4F0C94B32E8038B3 -:1029900081F0823809F00BC18091F7018F7080932C -:1029A000E9008091EB0085FB882780F91092E9000F -:1029B00006C08091EF019091F00191118260909199 -:1029C000E800977F9093E8008093F1001092F10067 -:1029D000C8C0282F2D7F09F0EAC0882319F0823063 -:1029E00061F0E5C08091F501813009F0E0C09330DD -:1029F00009F080E08093F0012BC08091F5018111F6 -:102A000027C08091F7018F7009F4D1C08093E9004D -:102A10002091EB0020FF1CC0933021F48091EB004B -:102A2000806214C09091EB0090619093EB0021E0E4 -:102A300030E0A90102C0440F551F8A95E2F7409388 -:102A4000EA001092EA008091EB0088608093EB002E -:102A50001092E9008091E800877F86C08111A7C0AD -:102A60001091F5011F778091E3008078812B80938E -:102A7000E3008091E800877F8093E8000E94BC1209 -:102A80008091E80080FFFCCF8091E3008068809314 -:102A9000E300111102C082E001C083E08093F201E3 -:102AA00086C08058823008F082C08091F5019091F4 -:102AB000F6018C3D53E0950779F583E08A838AE23D -:102AC00089834FB7F894DE01139620E03EE051E28F -:102AD000E32FF0E050935700E49120FF03C0E2950C -:102AE000EF703F5FEF708E2F90E0EA3010F0C796E6 -:102AF00001C0C0968D939D932F5F243149F74FBF3E -:102B00008091E800877F8093E8006AE270E0CE0160 -:102B100001960E94C31114C0AE014F5F5F4F6091D8 -:102B2000F7010E940A11BC01892B09F440C0909161 -:102B3000E800977F9093E80089819A810E9426128D -:102B40008091E8008B778093E80031C0803879F578 -:102B50008091E800877F8093E8008091EE01809368 -:102B6000F1008091E8008E778093E8000E94BC120B -:102B70001EC081111CC09091F5019230C0F480916B -:102B8000E800877F8093E8009093EE010E94BC12DA -:102B90008091EE01811106C08091E30087FD02C0A3 -:102BA00081E001C084E08093F2010E94F50F8091E2 -:102BB000E80083FF0AC08091E800877F8093E800E7 -:102BC0008091EB0080628093EB00AA960FB6F89498 -:102BD000DEBF0FBECDBFDF91CF911F910895CF9380 -:102BE0008091F2018823A1F0C091E900CF7090910B -:102BF000EC00892F817090FD80E8C82B1092E900CD -:102C00008091E80083FD0E949E14CF70C093E9007C -:102C1000CF91089590937601809375010895E09186 -:102C20007501F0917601309721F00190F081E02D4F -:102C3000099480E00895EF92FF920F931F93CF9332 -:102C4000DF93E0917501F09176013097B1F18C013D -:102C50000280F381E02D09958091D90182FF2DC07A -:102C600080FF04C08AE197E00E941C08E80110E19F -:102C700084E1E82E87E0F82E8091D90180FF0BC017 -:102C800088811F928F93FF92EF920E94B5080F9058 -:102C90000F900F900F90115021961111EDCF809150 -:102CA000D90180FF0AC082E197E0DF91CF911F91A7 -:102CB0000F91FF90EF900C941C08DF91CF911F9122 -:102CC0000F91FF90EF900895E0917501F0917601DA -:102CD000309721F00480F581E02D0994089520912A -:102CE0007301309174018217930771F0909374010E -:102CF00080937301E0917501F0917601309721F096 -:102D00000680F781E02D099408952091710130919A -:102D100072018217930771F0909372018093710191 -:102D2000E0917501F0917601309721F00084F185F2 -:102D3000E02D0994089508950C949B160E94EB22AF -:102D40000E94920A0C94B123CF93C82F8091D9018D -:102D500082FF1EC080FF04C083E397E00E941C082E -:102D60008091D90180FF0CC01F92CF938EE297E033 -:102D70009F938F930E94B5080F900F900F900F9024 -:102D80008091D90180FF04C08CE297E00E941C086A -:102D90008C2FCF910C94410ECF92DF92EF92FF9245 -:102DA0000F931F93CF93DF93CDB7DEB72B970FB65B -:102DB000F894DEBF0FBECDBF0E94AF0A88E7C82ED1 -:102DC00081E0D82E00E010E0E02E802F0E94DB0B87 -:102DD000F60141916F01F42EF826B1F40F5F1F4FF9 -:102DE0000E30110589F78FEF89838A831B820E9439 -:102DF000F4228160782F9D838C8349815A816B8175 -:102E00008D810E946F1740C09091D90191FF04C03D -:102E10008B870E94E10B8B8520E030E04F2D50E046 -:102E2000922FBA01022E02C0759567950A94E2F7B7 -:102E300060FF24C02E83EF8221E030E0690102C0F0 -:102E4000CC0CDD1C9A95E2F790E08C219D21892B1A -:102E500009F420E028870E94F4228160782F9A8765 -:102E600089874E815F8168858A850E946F17F80186 -:102E7000E858FE4F8081C826C08206C02F5F3F4FB2 -:102E80002630310569F6AACF0E94222710917701DA -:102E90000E940F161817A1F00E940F168093770159 -:102EA0002B960FB6F894DEBF0FBECDBFDF91CF914A -:102EB0001F910F91FF90EF90DF90CF900C94A4168C -:102EC0002B960FB6F894DEBF0FBECDBFDF91CF912A -:102ED0001F910F91FF90EF90DF90CF900895CF93C7 -:102EE000DF93CDB7DEB72B970FB6F894DEBF0FBEDA -:102EF000CDBF4F83588769877A878B87DE0111960C -:102F000086E0FD0111928A95E9F785E0FE0137968A -:102F100001900D928A95E1F749815A816B817C81FC -:102F20008D819E810E94871E2B960FB6F894DEBF7E -:102F30000FBECDBFDF91CF910895CF93882309F4C1 -:102F4000C2C0C82F823859F40E940F1681FDBBC041 -:102F500089E30E9423210E94022289E30CC0833866 -:102F600079F40E940F1680FDAEC083E50E942321F4 -:102F70000E94022283E50E947621CF910C940222C6 -:102F8000843859F40E940F1682FD9DC087E40E9488 -:102F900023210E94022287E4EECF8CEF8C0F813A2E -:102FA00048F48C2F0E94B52B81118DC08C2F0E946C -:102FB0002321E3CF80E28C0F883048F4C77081E092 -:102FC00001C0880FCA95EAF70E94CB21D6CF8BE5C6 -:102FD0008C0F833078F4C53A29F0C63A31F083E893 -:102FE00090E005C081E890E002C082E890E0CF91D7 -:102FF0000C946F1688E58C0F833108F064C0C83AD2 -:1030000039F1C93A41F1CA3A49F1CB3A51F1CC3AD6 -:1030100059F1CD3A61F1C03B69F1CE3A71F1CF3A45 -:1030200079F1C13B81F1C23B89F1C33B91F1C43BD2 -:1030300099F1C53BA1F1C63BA9F1C73BB1F1C83B32 -:10304000B9F1C93BC1F1CA3BC9F180E090E038C099 -:1030500082EE90E035C089EE90E032C08AEE90E0DA -:103060002FC085EB90E02CC086EB90E029C087EB69 -:1030700090E026C08CEC90E023C08DEC90E020C066 -:1030800083E891E01DC08AE891E01AC082E991E0EE -:1030900017C084E991E014C081E292E011C083E29C -:1030A00092E00EC084E292E00BC085E292E008C09C -:1030B00086E292E005C087E292E002C08AE292E0F6 -:1030C000CF910C948516CF910895882309F44BC0B5 -:1030D000823859F40E940F1681FF45C089E30E948F -:1030E00023210E94022289E30CC0833871F40E94DC -:1030F0000F1680FF38C083E50E9423210E94022220 -:1031000083E50E9476210C940222843859F40E94AF -:103110000F1682FF28C087E40E9423210E9402220A -:1031200087E4EFCF9CEF980F913A58F390E2980F15 -:10313000983050F4877091E001C0990F8A95EAF7B2 -:10314000892F0E94D121DFCF9BE5980F933020F487 -:1031500080E090E00C946F16885A833120F480E070 -:1031600090E00C9485160895882321F00E94CB21CD -:103170000C9402220895882321F00E94D1210C94FE -:1031800002220895BF92CF92DF92EF92FF920F93A7 -:103190001F93CF93DF9300D000D000D0CDB7DEB720 -:1031A00025E0FC01DE01119601900D922A95E1F7D0 -:1031B000FC01408131810281258122952F7063813C -:1031C0007481672B09F4E7C23F3F19F44F3F09F4BC -:1031D000E2C27C0149833A8389819A812E830E94CD -:1031E000E220182FB92E0E94E1200E94A81FEB2D8B -:1031F000E295EF70F0E0E05AFF4F2E810C94B32E71 -:103200008B2D807F9B2D9F70F92E882319F0F294CF -:1032100080EFF822002349F0FF2009F469C28F2DC6 -:103220000E94DB210E94022263C2812F0E94651846 -:10323000FF2009F4B0C28F2D0E94E12126960FB61F -:10324000F894DEBF0FBECDBFDF91CF911F910F91DC -:10325000FF90EF90DF90CF90BF900C9402223B2D17 -:10326000307F8B2D8F70303211F08295807F11234B -:1032700019F0113021F12DC00023B9F0222309F4F7 -:10328000A1C1213009F09EC126960FB6F894DEBF89 -:103290000FBECDBFDF91CF911F910F91FF90EF90A7 -:1032A000DF90CF90BF900C94EB21222319F02130B6 -:1032B00009F471C28E830E94EE218E8197C1002392 -:1032C00021F0263008F067C27DC1253008F063C2C6 -:1032D0008DC1002321F0222309F474C109C22223E5 -:1032E00009F484C11AC22B2D26952695237030E04F -:1032F0002115310521F021303105D1F04CC20023D8 -:1033000021F0812F9B2D937002C080E090E02696E3 -:103310000FB6F894DEBF0FBECDBFDF91CF911F91E6 -:103320000F91FF90EF90DF90CF90BF900C946F16AD -:10333000002321F0812F9B2D937002C080E090E04C -:1033400026960FB6F894DEBF0FBECDBFDF91CF91AA -:103350001F910F91FF90EF90DF90CF90BF900C9452 -:103360008516812F002319F00E94A82502C00E9413 -:10337000102626960FB6F894DEBF0FBECDBFDF91A4 -:10338000CF911F910F91FF90EF90DF90CF90BF9062 -:103390000C9495268B2D837009F07BC00111FBC125 -:1033A000812F829586958770880F880F912F9F7047 -:1033B000C92ED12CE12CF12C082E04C0CC0CDD1C24 -:1033C000EE1CFF1C0A94D2F714FF12C04FE050E02D -:1033D00060E070E004C0440F551F661F771F8A9598 -:1033E000D2F7CB01BA01609570958095909503C096 -:1033F00060E070E0CB012B2D269526952370422F9F -:1034000050E042305105D9F04330510569F16C2943 -:103410007D298E299F294130510551F126960FB6FD -:10342000F894DEBF0FBECDBFDF91CF911F910F91FA -:10343000FF90EF90DF90CF90BF900C94CF1F6C293E -:103440007D298E299F2926960FB6F894DEBF0FBEE0 -:10345000CDBFDF91CF911F910F91FF90EF90DF9043 -:10346000CF90BF900C94EB1F0E94CF1FC701B601F5 -:1034700026960FB6F894DEBF0FBECDBFDF91CF9179 -:103480001F910F91FF90EF90DF90CF90BF900C9421 -:10349000B31F002319F08B2D817001C086958823FE -:1034A00009F479C1812F829586958770880F880FDE -:1034B000912F9F70C92ED12CE12CF12C082E04C025 -:1034C000CC0CDD1CEE1CFF1C0A94D2F714FF12C0BA -:1034D0004FE050E060E070E004C0440F551F661FED -:1034E000771F8A95D2F7CB01BA01609570958095C8 -:1034F000909503C060E070E0CB012B2D26952695BA -:103500002370422F50E042305105D9F0433051052D -:1035100069F16C297D298E299F294130510551F18E -:1035200026960FB6F894DEBF0FBECDBFDF91CF91C8 -:103530001F910F91FF90EF90DF90CF90BF900C9470 -:10354000A9206C297D298E299F2926960FB6F894EB -:10355000DEBF0FBECDBFDF91CF911F910F91FF90C6 -:10356000EF90DF90CF90BF900C94C5200E94A920CF -:10357000C701B60126960FB6F894DEBF0FBECDBFC9 -:10358000DF91CF911F910F91FF90EF90DF90CF903F -:10359000BF900C948D20103FD1F118F4103E50F4E0 -:1035A000A2C0123F09F464C008F44DC0133F09F4EF -:1035B00074C099C01F708B2D8F710023A1F00E94E1 -:1035C0002620812F26960FB6F894DEBF0FBECDBF02 -:1035D000DF91CF911F910F91FF90EF90DF90CF90EF -:1035E000BF900C94B4180E944720812F26960FB6E6 -:1035F000F894DEBF0FBECDBFDF91CF911F910F9129 -:10360000FF90EF90DF90CF90BF900C94BB180023F9 -:10361000B1F0253008F0BFC08B2D8F7126960FB604 -:10362000F894DEBF0FBECDBFDF91CF911F910F91F8 -:10363000FF90EF90DF90CF90BF900C946C202630DD -:1036400008F0A9C0E9CF0023A9F08B2D8F71269631 -:103650000FB6F894DEBF0FBECDBFDF91CF911F91A3 -:103660000F91FF90EF90DF90CF90BF900C942620A9 -:10367000002359F38B2D8F7126960FB6F894DEBF79 -:103680000FBECDBFDF91CF911F910F91FF90EF90B3 -:10369000DF90CF90BF900C944720002399F08B2DA2 -:1036A0008F7126960FB6F894DEBF0FBECDBFDF91A7 -:1036B000CF911F910F91FF90EF90DF90CF90BF902F -:1036C0000C94112026960FB6F894DEBF0FBECDBF26 -:1036D000DF91CF911F910F91FF90EF90DF90CF90EE -:1036E000BF900C9407200023A9F0222309F4ADCF4A -:1036F000812F26960FB6F894DEBF0FBECDBFDF91A7 -:10370000CF911F910F91FF90EF90DF90CF90BF90DE -:103710000C949D17222309F4ADCF812F26960FB666 -:10372000F894DEBF0FBECDBFDF91CF911F910F91F7 -:10373000FF90EF90DF90CF90BF900C9465184B2DC9 -:103740004F70612FC7010E94BE0826960FB6F894ED -:10375000DEBF0FBECDBFDF91CF911F910F91FF90C4 -:10376000EF90DF90CF90BF900C942B1F4B2D4F709C -:10377000612FC70126960FB6F894DEBF0FBECDBFEE -:10378000DF91CF911F910F91FF90EF90DF90CF903D -:10379000BF900C94E70C26960FB6F894DEBF0FBED0 -:1037A000CDBFDF91CF911F910F91FF90EF90DF90F0 -:1037B000CF90BF9008950E94E8210E94BD210E94F1 -:1037C00002220E94C8270E94952680E090E00E9475 -:1037D0006F1680E090E00C9485160E94D8210C941E -:1037E000DB1B0E94E220292F22952F7030E02C3025 -:1037F00031054CF42A3031056CF422503109223065 -:10380000310588F407C02C30310549F02F303105DF -:1038100031F009C0803E48F0803F29F406C093FB98 -:10382000882780F9089580E0089581E00895CF9376 -:10383000DF9300D000D01F92CDB7DEB70F900F906E -:103840000F900F900F90DF91CF910895CF93DF935A -:1038500000D000D000D0CDB7DEB726960FB6F894D2 -:10386000DEBF0FBECDBFDF91CF9108951F93CF93E1 -:10387000DF93C091860116E080918701C81799F007 -:10388000D0E01C9FF0011D9FF00D1124E857FE4F62 -:103890004081518162817381848195810E94261CBF -:1038A0002196C770E9CFDF91CF911F910895409184 -:1038B000B8015091B9016091BA017091BB0180913A -:1038C000BC019091BD010C94261C8091BD01829594 -:1038D0008F7009F054C08091BA01882309F44FC059 -:1038E00080918601A09187016091B8017091B90122 -:1038F0004091BB015091BC01B6E08A1709F43FC06A -:1039000090E041155105C1F17F3F11F46F3FA1F1E6 -:10391000B89FF001B99FF00D1124E857FE4F2181A7 -:1039200072132AC02081621327C02281211124C072 -:10393000238134812417350710F421503109241BC9 -:10394000350B283C3105C0F42091BD012F7020615A -:103950002093BD0126E0289FF001299FF00D11243E -:10396000E357FE4F80818F708061808388EB91E008 -:103970000E94C2180C94361C01968770BECF089521 -:10398000CF92DF92EF92FF920F931F93CF93DF932B -:10399000CDB7DEB762970FB6F894DEBF0FBECDBFCE -:1039A0008C0185E0F801DE011D9601900D928A954B -:1039B000E1F7D8014C9111965C91119712966C9198 -:1039C00012971396CD90DC9014973091B8017091B6 -:1039D000B9018091BB019091BC01009709F46BC1C2 -:1039E0007F3F19F43F3F09F466C1E090BA01EE2031 -:1039F00009F4C0C02091BD01C816D90628F0F6010F -:103A0000E81BF90BCF0104C0809590958C0D9D1D8E -:103A1000FF24F394883C910578F0F12C207F09F085 -:103A2000C6C07C2DD98AC88A89890E94171C88EB58 -:103A300091E00E94C218B1C0822F807F09F046C079 -:103A4000751314C0341312C0611110C02F7020619F -:103A50002093BD010E94571C88EB91E00E94C21880 -:103A60008091BD01D80115968C932EC0CD2819F1F7 -:103A70005F3F11F44F3FF9F0F62E61111CC08091A9 -:103A800086012091870136E0821709F45AC090E040 -:103A9000389FF001399FF00D1124E857FE4F7181D6 -:103AA000571306C07081471303C07281711103C0A0 -:103AB00001968770E9CFF62E662309F418C180912C -:103AC000BD0181608093BD01F12C11C1751308C047 -:103AD000341306C0611104C08091BD01D801C3C078 -:103AE0004D875E878D859E856A8B0E94F11B6A8952 -:103AF0008823E1F16623D1F12091BD01822F8295C7 -:103B00008F7090E0029774F08091B8019091B901A4 -:103B100098878F831986DB86CA862C87CE01079605 -:103B20000E94C21886E0F801A8EBB1E001900D9266 -:103B30008A95E1F70E94651C0E94571CFF24F394AC -:103B4000D6C04D875E878D859E850E94E220292FF5 -:103B500022952F7030E0223031050CF0BCC09F70F0 -:103B600009F0B6C0805E883008F4C1C0C8010E9468 -:103B7000C218E4CFC816D90608F453C0F601E81BF2 -:103B8000F90BCF01883C910508F450C0F12C7C2D35 -:103B9000D98AC88A89890E94171CE8EBF1E086E07F -:103BA000DF011D928A95E9F70E94571CA0C075138A -:103BB00014C0341312C0611110C08091BD01F8010E -:103BC0008583C8010E94C21886E0E8EBF1E0DF01BE -:103BD0001D928A95E9F7FE2C8AC04D875E878D85F8 -:103BE0009E856A8B0E94F11B6A89882309F4BECFE7 -:103BF000662309F4BBCF2091BD01822F82958F707F -:103C000090E002970CF48ECF8091B8019091B901A9 -:103C10009A8389831B82DD82CC822E83CE0101961A -:103C20007FCF809590958C0D9D1DACCFF62E662391 -:103C300009F49CCF75132EC034132CC02091BD0104 -:103C400020FD1FC0822F82958F70D9F0D801159664 -:103C50002C9315978F3049F08F5F982F9295907F16 -:103C6000822F8F70892B15968C93C8010E94C218E1 -:103C700086E0F801A8EBB1E001900D928A95E1F79A -:103C800093CF86E0F801A8EBB1E001900D928A9500 -:103C9000E1F72DC04D875E878D859E850E94F11BC3 -:103CA000811140CF8091BD0181608093BD01C80129 -:103CB0000E94C2181CC0662309F458CF4D875E8746 -:103CC0008D859E850E94F11B882309F44FCF2ACF52 -:103CD000811148CF0CC0243031050CF047CF9F70C4 -:103CE00009F440CFF8019581907F09F03BCF8F2DEB -:103CF00062960FB6F894DEBF0FBECDBFDF91CF91B5 -:103D00001F910F91FF90EF90DF90CF9008951F9338 -:103D1000CF93DF93CDB7DEB72C970FB6F894DEBF05 -:103D20000FBECDBF4F83588769877A878B879C8763 -:103D3000CE0107960E94C01C882369F08F81988568 -:103D40002A853B85232BF1F19F3F09F063C08F3F0C -:103D500009F060C037C086E0FE013796DE0111969B -:103D600001900D928A95E1F76F817885EA85FB8550 -:103D7000309741F17F3F11F46F3F21F1209187018E -:103D800030E0C9010196877099274091860150E083 -:103D90008417950709F447C069837A83FD83EC8310 -:103DA00096E0929FD001939FB00D1124A857BE4F6B -:103DB000FE01319601900D929A95E1F7809387016B -:103DC0000E94361C16E08091860190918701891728 -:103DD000C1F1189FC001112488579E4F0E94C01C3A -:103DE000882379F1E09186011E9FF0011124E857A4 -:103DF000FE4F4081518162817381848195810E944F -:103E0000261C8091860190E0019687709927809307 -:103E10008601D9CF4F81588569857A858B859C85A8 -:103E20000E94261CCFCF0E94ED1B1092870110929A -:103E30008601E8EBF1E086E0DF011D928A95E9F763 -:103E4000C1CF2C960FB6F894DEBF0FBECDBFDF9169 -:103E5000CF911F910895EF92FF920F931F93CF93ED -:103E6000DF938C01892B09F46CC0F12CEE24E394D0 -:103E7000E8012196F8018491843740F4843008F0F9 -:103E800051C0813081F0823019F15BC0853709F46F -:103E900044C0A8F19CE7980F903708F052C08F7784 -:103EA0000E94651841C00E5F1F4FFE01C49180E261 -:103EB0008C0F883048F4C7708E2D01C0880FCA95CA -:103EC000EAF70E94DB2114C08C2F0E949D172DC0A1 -:103ED0000E5F1F4FFE01C49180E28C0F883058F4B2 -:103EE000C7708E2D01C0880FCA95EAF70E94E121A4 -:103EF0000E9402221AC08C2F0E94651816C00E5F05 -:103F00001F4FFE01C491CC2381F08FE99FE0019700 -:103F1000F1F700C00000C150F6CF0E5F1F4FFE0149 -:103F2000F49003C00E949D178E018F2D882309F401 -:103F30009FCFEFE9FFE03197F1F700C0000081501B -:103F4000F5CFDF91CF911F910F91FF90EF900895E2 -:103F500008956093C2017093C3018093C40190934C -:103F6000C5010C94DB1B0F931F930091C2011091AC -:103F7000C3012091C4013091C501DC01CB01802B2C -:103F8000912BA22BB32B8093C2019093C301A093DA -:103F9000C401B093C5011F910F910C94DB1B0F93CB -:103FA0001F930091C2011091C3012091C40130916F -:103FB000C501DC01CB0180239123A223B32380938D -:103FC000C2019093C301A093C401B093C5011F9196 -:103FD0000F910C94DB1B0F931F930091C201109162 -:103FE000C3012091C4013091C501DC01CB018027C0 -:103FF0009127A227B3278093C2019093C301A09376 -:10400000C401B093C5011F910F910C94DB1B10925A -:10401000BE011092BF011092C0011092C1010C9418 -:10402000DB1B41E050E060E070E004C0440F551F2E -:10403000661F771F8A95D2F74093BE015093BF0148 -:104040006093C0017093C1010C94DB1B41E050E010 -:1040500060E070E004C0440F551F661F771F8A950B -:10406000D2F78091BE019091BF01A091C001B091A3 -:10407000C101482B592B6A2B7B2B4093BE015093D7 -:10408000BF016093C0017093C1010C94DB1B41E040 -:1040900050E060E070E004C0440F551F661F771FBA -:1040A0008A95D2F740955095609570958091BE01A4 -:1040B0009091BF01A091C001B091C1014823592343 -:1040C0006A237B234093BE015093BF016093C001DC -:1040D0007093C1010C94DB1B41E050E060E070E0A4 -:1040E00004C0440F551F661F771F8A95D2F7809131 -:1040F000BE019091BF01A091C001B091C1014827BC -:1041000059276A277B274093BE015093BF016093D4 -:10411000C0017093C1010C94DB1B0F931F9300919E -:10412000BE011091BF012091C0013091C101DC019D -:10413000CB01802B912BA22BB32B8093BE019093AC -:10414000BF01A093C001B093C1011F910F910C94C6 -:10415000DB1B0F931F930091BE011091BF012091B3 -:10416000C0013091C101DC01CB0180239123A22346 -:10417000B3238093BE019093BF01A093C001B0937D -:10418000C1011F910F910C94DB1B0F931F930091A2 -:10419000BE011091BF012091C0013091C101DC012D -:1041A000CB0180279127A227B3278093BE0190934C -:1041B000BF01A093C001B093C1011F910F910C9456 -:1041C000DB1B0895CF92DF92EF92FF920F931F9324 -:1041D000CF93DF938C01C090C201D090C301E090D7 -:1041E000C401F090C5014091BE015091BF016091A2 -:1041F000C0017091C101C42AD52AE62AF72ACFE16D -:10420000D0E0D701C6010C2E04C0B695A7959795AE -:1042100087950A94D2F780FF07C0B8018C2F0E94BF -:104220000A0D8130910531F4219758F7B80180E0EB -:104230000E940A0DDF91CF911F910F91FF90EF9097 -:10424000DF90CF90089590910C01992321F09091E7 -:104250000D01911109C020910E0130910F01F9015A -:1042600032969FEF40E030C0982F969596959695A0 -:104270009F30A0F4E0910E01F0910F01E90FF11DC4 -:10428000877021E030E0A90102C0440F551F8A95D4 -:10429000E2F7CA019181892B818308959091D90118 -:1042A00090FF23C01F928F9384E697E09F938F9394 -:1042B0000E94B5080F900F900F900F9008959F3FA8 -:1042C00039F04F5F4E3041F051915813F8CF0DC087 -:1042D0005111F7CF942FF5CF9F3F39F0F901E90F36 -:1042E000F11D97FDFA9582830895089590910C0130 -:1042F000992321F090910D01911109C020910E0197 -:1043000030910F01F9013296205F3F4F30C0982F56 -:104310009695969596959F30A8F4E0910E01F091B0 -:104320000F01E90FF11D877021E030E0A90102C003 -:10433000440F551F8A95E2F7CA0180959181892320 -:10434000818308959091D90190FF16C01F928F9399 -:1043500086E497E09F938F930E94B5080F900F908B -:104360000F900F9008953196E217F30729F090818E -:104370009813F9CF1082F7CF089581E090E0E09193 -:104380000E01F0910F01E80FF91F108201968031A4 -:104390009105A9F708959091D801892B8093D801B0 -:1043A000089580959091D80189238093D80108952C -:1043B0001092D80108959091D701892B8093D7014D -:1043C000089580959091D70189238093D70108950E -:1043D0001092D70108958093C60108951092C601E6 -:1043E000089580910E0190910F01FC0131969C017E -:1043F000205F3F4F80E0919191118F5FE217F307AB -:10440000D1F70895E0910E01F0910F018091D8014C -:104410008083E0910E01F0910F0190818091D7018E -:10442000892B80838091C601882361F0E0910E0181 -:10443000F0910F019081892B80830E94F1218111DD -:104440001092C60180910E0190910F010C941B16E1 -:1044500090933B0180933A010895CF92DF92EF92BF -:10446000FF926C01EE24FF24C114D104E104F10495 -:1044700021F0C701B60120E101C020E0C72ED82EEF -:10448000E92EFF24C114D104E104F10419F0285FDE -:10449000C701B6016B017C0154E0F694E794D79410 -:1044A000C7945A95D1F7C114D104E104F10419F06D -:1044B0002C5FC701B6016B017C0142E0F694E794E2 -:1044C000D794C7944A95D1F7C114D104E104F104FB -:1044D00019F02E5FC701B601DC01CB01B695A79597 -:1044E00097958795892B8A2B8B2B09F02F5F822F2D -:1044F000FF90EF90DF90CF9008958295982F9C7C4D -:10450000392F36953695282F237344E0249FC00118 -:104510001124932F982B292F2A7A2695892F857578 -:10452000880F822B08951F93CF93DF931F92CDB7EF -:10453000DEB799830E947D22182F9981892F0E94CE -:104540007D22212F30E0322F2227A901482BCA01DA -:104550000F90DF91CF911F9108958091F2018430E7 -:1045600009F11092DA0120E488E190E00FB6F894A6 -:10457000A895809360000FBE2093600083B7817F71 -:10458000846083BF83B7816083BF7894889583B745 -:104590008E7F83BF88E10FB6F894809360001092FD -:1045A00060000FBE089508950895CF930E94D3220E -:1045B0000E94AF0A0E94D422C0E08C2F0E94DB0B25 -:1045C000811104C0CF5FCE30C1F701C081E0CF912F -:1045D00008950C94ED1B82E084BD93E095BD9AEFA5 -:1045E00097BD80936E0008952FB7F8948091DB01FA -:1045F0009091DC01A091DD01B091DE012FBF089503 -:10460000CF92DF92EF92FF920F931F932FB7F89400 -:104610004091DB015091DC016091DD017091DE0180 -:104620002FBF6A017B01EE24FF248C0120E030E0E3 -:10463000C016D106E206F30610F4415051099A0162 -:10464000281B390BC9011F910F91FF90EF90DF904C -:10465000CF9008951F920F920FB60F9211248F934F -:104660009F93AF93BF938091DB019091DC01A09168 -:10467000DD01B091DE010196A11DB11D8093DB012A -:104680009093DC01A093DD01B093DE01BF91AF9167 -:104690009F918F910F900FBE0F901F9018950E94C1 -:1046A0000D13F8942FEF87EA91E621508040904057 -:1046B000E1F700C0000087E090EBDC018093FB0194 -:1046C0009093FC01A093FD01B093FE019CE088E172 -:1046D0000FB6F894A895809360000FBE9093600089 -:1046E000FFCFEF92FF920F931F93CF93DF93D82FBB -:1046F000C0E08C2F0E94DB0B00E010E0E82EF12CD4 -:10470000C701002E02C0959587950A94E2F780FDB7 -:1047100006C00F5F1F4F0630110591F709C0602FCB -:104720007C2F80E00E94E80CD813F3CF81E004C016 -:10473000CF5FCE30F1F680E0DF91CF911F910F91E6 -:10474000FF90EF900895CF93C82F8CE20E947123C1 -:10475000882321F08C2FCF910C94712380E0CF918E -:104760000895CF930E940025811102C00E94E62483 -:1047700089E897E00E941C08C5E6C15049F00E94F4 -:10478000AF0A8FE39CE90197F1F700C00000F5CF75 -:1047900082E897E00E941C0889E20E94A32381110D -:1047A00013C18AE20E94A32381110E94E62485E0BE -:1047B0000E94A32381110E944F230E940B25809306 -:1047C000D90187E00E94A3238823A9F18BE10E94ED -:1047D000A323882351F08091D90181FB222720F95E -:1047E00091E0922790FB81F90EC08EE00E94A323F6 -:1047F000882361F08091D90182FB222720F991E082 -:10480000922790FB82F98093D90115C080E10E9424 -:10481000A3239091D901882341F093FB222720F90B -:1048200081E0822780FB93F904C0892F809580FB6B -:1048300090F99093D9018091D9010E940F250E948F -:104840001D258093EC0180EE0E94A323882341F074 -:104850008091EC01982F909590FB80F98093EC016A -:1048600089E30E94A323882359F08091EC0181FB06 -:10487000222720F991E0922790FB81F98093EC01A7 -:1048800082EE0E94A323882359F08091EC0182FBE1 -:10489000222720F991E0922790FB82F98093EC0186 -:1048A00086EE0E94A323882359F08091EC0183FBBC -:1048B000222720F991E0922790FB83F98093EC0165 -:1048C00083EE0E94A323882359F08091EC0184FB9E -:1048D000222720F991E0922790FB84F98093EC0144 -:1048E00085E30E94A323882359F08091EC0185FB86 -:1048F000222720F991E0922790FB85F98093EC0123 -:1049000081E30E94A323882359F08091EC0186FB68 -:10491000222720F991E0922790FB86F98093EC0101 -:1049200081E10E94A323882359F08091EC0187FB49 -:10493000222720F991E0922790FB87F98093EC01E0 -:104940008091EC010E9421258091EC0187FB882752 -:1049500080F980930D0187E20E94A323C82F8EE186 -:104960000E94A3238111C2608FE10E94A3238111C1 -:10497000C46080E20E94A3238111C86081E20E948A -:10498000A3238111C06182E20E94A3238111C0622E -:1049900083E20E94A3238111C06484E20E94A323C6 -:1049A000882311F0C06802C0CC2329F08C2F0E940C -:1049B00018256C2F03C00E941425682F70E080E03A -:1049C00090E0CF910C94A91FCF9108956DEE7EEFEA -:1049D00080E090E00E94E92E60E082E090E00E949A -:1049E000DB2E60E083E090E00E94DB2E60E084E05C -:1049F00090E00E94DB2E60E085E090E00C94DB2EDE -:104A000080E090E00E94D52E21E08D3E9E4F09F07F -:104A100020E0822F089582E090E00C94CD2E682F44 -:104A200082E090E00C94DB2E83E090E00C94CD2E9D -:104A3000682F83E090E00C94DB2E84E090E00C94EF -:104A4000CD2E682F84E090E00C94DB2E8091E10164 -:104A500080FF0BC06091130185E0689FB0011124B5 -:104A600075956795759567952BC081FF09C0609115 -:104A7000130185E0689FB00111247595679520C0EA -:104A800082FF07C06091130185E0689FB001112487 -:104A900017C09091E2019923D1F06091120196170D -:104AA00088F72091130185E0289F90011124929F9F -:104AB000A001939F500D112470E0CA010E949F2E07 -:104AC0006038710540F46115710539F002C065E088 -:104AD00070E0862F08958FE7089581E00895809112 -:104AE000E10180FF08C06091110170E07595679544 -:104AF0007595679521C081FF06C06091110170E036 -:104B00007595679519C082FF04C06091110170E02E -:104B100010C09091E2019923C1F0609110019617A5 -:104B2000A0F780911101899FC001112470E00E94BB -:104B30009F2E6038710528F46115710521F0862FCC -:104B400008958FE7089581E0089561E070E0F4CF63 -:104B5000803F21F40E942625819504C0813F29F4DD -:104B60000E9426258093E5010895823F21F40E944A -:104B70002625819504C0833F29F40E942625809331 -:104B8000E4010895893F19F40E946F2505C08A3F0A -:104B900031F40E946F2581958093E60108958B3F43 -:104BA00021F40E946F25819504C08C3F29F40E9456 -:104BB0006F258093E7010895843F21F48091E301FC -:104BC000816017C0853F21F48091E301826011C0AC -:104BD000863F21F48091E30184600BC0873F21F47C -:104BE0008091E301886005C0883F31F48091E30142 -:104BF00080618093E30108958D3F21F48091E1016C -:104C000081600BC08E3F21F48091E101826005C07C -:104C10008F3F29F48091E10184608093E101089540 -:104C2000803F39F48091E50187FF6CC01092E50167 -:104C300069C0813F29F48091E5011816BCF362C078 -:104C40009091E401823F29F497FF5CC01092E40147 -:104C500059C0833F19F41916CCF354C0893F41F46D -:104C60008091E60118160CF04DC01092E6014AC082 -:104C70008A3F29F48091E60187FF44C0F6CF8B3F3D -:104C800039F48091E70187FF3DC01092E7013AC0F7 -:104C90008C3F29F48091E7011816BCF333C0843FA0 -:104CA00021F48091E3018E7F17C0853F21F480912C -:104CB000E3018D7F11C0863F21F48091E3018B7F5A -:104CC0000BC0873F21F48091E301877F05C0883FB7 -:104CD00031F48091E3018F7E8093E30113C08D3F17 -:104CE00021F48091E1018E7F0BC08E3F21F48091F1 -:104CF000E1018D7F05C08F3F29F48091E1018B7F19 -:104D00008093E1018091E40181110EC08091E50161 -:104D100081110AC08091E601811106C08091E701EE -:104D2000811102C01092E20108958091D90183FFA0 -:104D30007EC085EC97E00E941C088091E3011F92E1 -:104D40008F9380EC97E09F938F930E94B5088EEB32 -:104D500097E00E941C088091E401282F332727FD4B -:104D600030953F938F938BEB97E09F938F930E94A7 -:104D7000B50889EB97E00E941C088091E501282F77 -:104D8000332727FD30953F938F9386EB97E09F93D2 -:104D90008F930E94B50884EB97E00E941C088091D5 -:104DA000E601282F332727FD30953F938F9381EB22 -:104DB00097E09F938F930E94B5088FEA97E00E9437 -:104DC0001C088091E701282F332727FD30953F935A -:104DD0008F938CEA97E09F938F930E94B50889EA9E -:104DE00097E00E941C088091E2011F928F9386EA4F -:104DF00097E09F938F930E94B50884EA97E00E9402 -:104E00001C088091E1011F928F9381EA97E09F93A4 -:104E10008F930E94B5088EE997E00E941C088DB719 -:104E20009EB74C960FB6F8949EBF0FBE8DBF83EE13 -:104E300091E00E9464160E94F4229093E001809316 -:104E4000DF0108951F93CF93DF938091DF0190914D -:104E5000E0010E940023AC019091E201992321F02E -:104E60002091140130E006C0209115018AE0289FAE -:104E7000900111244217530708F486C08091E40181 -:104E8000C091E501D091E6011091E701811107C0C1 -:104E9000C11176C0D11174C0111172C075C09F3F8D -:104EA00019F09F5F9093E201181624F40E942625C2 -:104EB0008093E4018091E40187FF05C00E942625CC -:104EC00081958093E4011C1624F40E94262580938A -:104ED000E5018091E50187FF05C00E9426258195A7 -:104EE0008093E5016091E401662339F1C091E50109 -:104EF000CC2319F1772767FD7095872F972F0E9494 -:104F0000A42D23E333E343E35FE30E94082E0E94D2 -:104F1000712D6093E4016C2F772767FD7095872FC3 -:104F2000972F0E94A42D23E333E343E35FE30E9422 -:104F3000082E0E94712D6093E5011D1624F40E9435 -:104F40006F258093E6018091E60187FF05C00E94EE -:104F50006F2581958093E601111624F40E946F2538 -:104F60008093E7018091E70187FF05C00E946F25CC -:104F700081958093E701DF91CF911F910C94952645 -:104F80009F3F09F08ECF96CFDF91CF911F9108956B -:104F9000E3EEF1E085E0DF011D928A95E9F71092DA -:104FA000E2011092E101089588EE99E00E941C0848 -:104FB0001F9281E08F931F9285E08F938AE999E099 -:104FC0009F938F930E94B5080F900F900F900F90B2 -:104FD0000F900F9008958330E9F128F4813061F04B -:104FE000823009F10895853009F462C008F449C09F -:104FF000863009F474C0089580911501262F30E0A1 -:10500000280F311D2F3F310524F4680F60931501DF -:1050100003C08FEF80931501809115011F928F932C -:1050200083ED98E072C080911401262F30E0280FA4 -:10503000311D2F3F310524F4680F6093140103C024 -:105040008FEF80931401809114011F928F9381EC54 -:1050500098E05BC080911301262F30E0280F311DAE -:105060002F3F310524F4680F6093130103C08FEFC5 -:1050700080931301809113011F928F938EEA98E021 -:1050800044C080911201262F30E0280F311D2F3FA0 -:10509000310524F4680F6093120103C08FEF8093F1 -:1050A0001201809112011F928F9389E998E02DC01F -:1050B00080911101262F30E0280F311D2F3F31053F -:1050C00024F4680F6093110103C08FEF80931101E6 -:1050D000809111011F928F9380E898E016C0809113 -:1050E0001001262F30E0280F311D2F3F310524F409 -:1050F000680F6093100103C08FEF809310018091BF -:1051000010011F928F9385E698E09F938F930E94E2 -:10511000B5080F900F900F900F900895833081F194 -:1051200028F4813059F08230D1F00895853009F4A7 -:1051300049C0B8F1863009F456C008958091150130 -:10514000681720F4861B8093150102C01092150188 -:10515000809115011F928F9386E598E054C080914D -:105160001401681720F4861B8093140102C010926A -:105170001401809114011F928F9384E498E043C03E -:1051800080911301681720F4861B8093130102C0DD -:1051900010921301809113011F928F9381E398E085 -:1051A00032C080911201681720F4861B809312018F -:1051B00002C010921201809112011F928F938CE114 -:1051C00098E021C080911101681720F4861B80931C -:1051D000110102C010921101809111011F928F9351 -:1051E00083E098E010C080911001681720F4861BBE -:1051F0008093100102C010921001809110011F9243 -:105200008F9388EE97E09F938F930E94B5080F903D -:105210000F900F900F900895CF93C82F1F928F93E8 -:105220008DEE9AE09F938F930E94B50881E090E005 -:10523000A0E0B0E0BC01CD0104C0660F771F881F5D -:10524000991FCA95D2F70E94A91F0F900F900F9037 -:105250000F90CF910C94ED1BCF938D3109F465C065 -:10526000B0F58E3009F4CCC100F5873009F49BC14C -:10527000A8F4863009F06DC28091D901817F8E7FBC -:105280008093D90182EF9AE00E941C0884E39FE09A -:105290000E941C0881E08093E90180C1883009F4F4 -:1052A0004FC08B3009F47CC154C2863109F4F0C17F -:1052B00038F4803109F4B8C1813109F430C249C2EF -:1052C000893109F4CEC18B3109F486C142C28533DC -:1052D00009F437C248F4873209F433C208F433C200 -:1052E000893209F42EC235C2833438F48A3308F087 -:1052F0002CC2883309F454C12CC2833409F421C26E -:10530000883409F026C20E94ED1B83E29FE00E94D0 -:105310001C089FEF23ED80E3915020408040E1F78F -:1053200000C000000E944F2339C183E49FE00E9427 -:105330001C080E942B2D0E940F160E94410E2EC1A8 -:1053400088E39FE00E941C0883E09DE00E941C0807 -:105350000E9414251F928F9380E09DE09F938F936E -:105360000E94B5088EEF9CE00E941C080E940B254D -:10537000C82F8BEE9CE00E941C081F92CF9386EEF4 -:105380009CE09F938F930E94B50884EE9CE00E945E -:105390001C088AED9CE00E941C088C2F81701F92D3 -:1053A0008F9387ED9CE09F938F930E94B50885EDC6 -:1053B0009CE00E941C088BEC9CE00E941C08C1FB36 -:1053C000882780F91F928F9388EC9CE09F938F939E -:1053D0000E94B50886EC9CE00E941C088AEB9CE0C9 -:1053E0000E941C08C2FB882780F91F928F9387EBCD -:1053F0009CE09F938F930E94B50885EB9CE00E94F0 -:105400001C088CEA9CE00E941C08C3FBCC27C0F956 -:105410001F92CF9389EA9CE09F938F930E94B508D7 -:1054200087EA9CE00E941C080E941D25C82F83E982 -:105430009CE00E941C081F92CF938EE89CE09F93F3 -:105440008F930E94B5088CE89CE00E941C0883E7BB -:105450009CE00E941C088C2F81701F928F9380E724 -:105460009CE09F938F930E94B5088DB79EB780965E -:105470000FB6F8949EBF0FBE8DBF8EE69CE00E94D3 -:105480001C0887E59CE00E941C08C1FB882780F966 -:105490001F928F9384E59CE09F938F930E94B508A1 -:1054A00082E59CE00E941C0880E49CE00E941C08AD -:1054B000C2FB882780F91F928F938DE39CE09F9316 -:1054C0008F930E94B5088BE39CE00E941C0889E240 -:1054D0009CE00E941C08C3FB882780F91F928F93D1 -:1054E00086E29CE09F938F930E94B50884E29CE043 -:1054F0000E941C088AE19CE00E941C08C4FB8827CB -:1055000080F91F928F9387E19CE09F938F930E9475 -:10551000B50885E19CE00E941C0883E09CE00E94A5 -:105520001C08C5FB882780F91F928F9380E09CE0C0 -:105530009F938F930E94B5088EEF9BE00E941C08FA -:1055400082EE9BE00E941C08C6FB882780F91F9210 -:105550008F938FED9BE09F938F930E94B5088DED05 -:105560009BE00E941C0885ED9BE00E941C08C7FB85 -:10557000CC27C0F91F92CF9382ED9BE09F938F932E -:105580000E94B50880ED9BE00E941C088DB79EB775 -:105590004C960FB6F8949EBF0FBE8DBFC1E0DEC023 -:1055A00089E19BE05BC08091D901C82FC17080FF69 -:1055B00009C086E19FE00E941C088091D901817F8B -:1055C0008E7F47C08AE09FE00E941C088091D9012D -:1055D00081608093D901E2CF9091D90191FBCC27D2 -:1055E000C0F981E0C827892FC0FB81F98093D901D8 -:1055F000CC2319F08DEF9EE027C08FEE9EE02EC0E9 -:105600009091D90192FBCC27C0F981E0C827892F5E -:10561000C0FB82F98093D901CC2319F080EE9EE083 -:1056200013C080ED9EE01AC09091D90193FBCC2766 -:10563000C0F981E0C827892FC0FB83F98093D90185 -:10564000CC2351F084EC9EE00E941C088091D9018B -:1056500081608093D90182C087EB9EE00E941C0884 -:105660009DCF88EA9EE00E941C088CE79EE00E9485 -:105670001C088FE39EE00E941C0882E19EE00E94CD -:105680001C088EEC9DE00E941C0883EA9DE0E6CF9A -:1056900085E99DE00E941C080E940F161F928F93BF -:1056A0008BE79DE09F938F930E94B50880910C013A -:1056B0001F928F9384E69DE09F938F930E94B5087D -:1056C000809170011F928F9381E59DE09F938F934E -:1056D0000E94B50880910D011F928F938EE39DE08B -:1056E0009F938F930E94B5088091DB019091DC011C -:1056F000A091DD01B091DE01BF93AF939F938F9393 -:105700008AE29DE09F938F930E94B5088DB79EB764 -:1057100046960FB6F8949EBF0FBE8DBF3FCF0E9436 -:10572000ED1BC0910D0181E0C827C0930D01CC2372 -:1057300029F080E29DE00E941C0810C085E19DE0F8 -:105740008DCF80E003C08D5101C089530E940C2988 -:1057500025CF83E19DE00E941C08C0E08C2FCF91F3 -:10576000089580E0089580E00895CF93C82F809138 -:10577000E901813081F020F0823009F44FC045C149 -:10578000E0910E01F0910F018081813169F0823248 -:1057900009F03DC109C0E0910E01F0910F01808137 -:1057A000813111F0823261F48C2F0E94B12B811172 -:1057B00004C08C2F0E942C292FC081E090E02CC0C7 -:1057C0008C2F0E94B32B811126C0C431E1F070F4FC -:1057D000CB3081F0C031D1F40E94D42785EE9AE01D -:1057E0000E941C0882E08093E90115C0C93259F07B -:1057F000C83361F482EF9AE00E941C0889EE9AE0B7 -:105800000E941C0808C01092E90103C183EE9AE0CF -:105810000E941C08FEC081E08170FDC0C43220F5EA -:10582000CE3108F0C0C0CB3099F1C8F4C73009F0D0 -:10583000D2C08AE08093150194E19093140193E023 -:10584000909313018093120188E08093110188E204 -:105850008093100189E899E00E941C08BFC0C33101 -:1058600049F1C431C1F0B7C0CB3409F4A9C028F460 -:10587000C93289F0C83361F0AEC0C13509F49EC0A9 -:10588000C23509F499C0CE3409F0A5C06AE09EC0C3 -:105890000E94D427A3C08091E801882319F01092B8 -:1058A000E8019CC086E999E00E941C0881E0809391 -:1058B000E901B1C080E799E00E941C088EE599E0FB -:1058C0000E941C08809115011F928F938BE599E02F -:1058D0009F938F930E94B50889E599E00E941C0868 -:1058E00087E499E00E941C08809114011F928F9315 -:1058F00084E499E09F938F930E94B50882E499E035 -:105900000E941C0883E399E00E941C088091130107 -:105910001F928F9380E399E09F938F930E94B50825 -:105920008EE299E00E941C088DE199E00E941C081B -:10593000809112011F928F938AE199E09F938F9338 -:105940000E94B50888E199E00E941C0883E099E074 -:105950000E941C08809111011F928F9380E099E0B2 -:105960009F938F930E94B5088EEF98E00E941C08C9 -:1059700087EE98E00E941C08809110011F928F937F -:1059800084EE98E09F938F930E94B50882EE98E092 -:105990000E941C088DB79EB748960FB6F8949EBF1C -:1059A0000FBE8DBF1BC0CE51EC2FF0E0E15DFE4F6E -:1059B00080818093E80112C061E003C061E006C00D -:1059C0006AE08091E8010E94EB2708C08091E8011D -:1059D0000E948E2803C087E899E013C08091E801F7 -:1059E000882369F01F928F9381E899E09F938F93AA -:1059F0000E94B5080F900F900F900F9004C08EE793 -:105A000099E00E941C0881E006C01092E90180E044 -:105A100002C080E001CFCF910895E1E8F0E08081FD -:105A2000886080838081816080838FB7F89493E061 -:105A30009093890090ED909388008FBF0895EFE6D2 -:105A4000F0E08081826080830895EFE6F0E080815D -:105A50008D7F80830895EFE6F0E0908182E08927D2 -:105A6000808308951F920F920FB60F9211242F93E7 -:105A70003F934F935F936F937F938F939F93AF93D6 -:105A8000BF93EF93FF938091EA019091EB01019610 -:105A90009093EB018093EA01811103C082E00E94A0 -:105AA000410EE091EB01E695E695F0E0ED5AF04FFE -:105AB000E4918091EA018E1303C080E00E94410EC0 -:105AC000FF91EF91BF91AF919F918F917F916F91D6 -:105AD0005F914F913F912F910F900FBE0F901F90AC -:105AE000189504D06894B1118DC0089570D088F0D5 -:105AF0009F5790F0B92F9927B751A0F0D1F0660FBA -:105B0000771F881F991F1AF0BA95C9F712C0B130D4 -:105B100081F077D0B1E0089574C0672F782F88277F -:105B2000B85F39F0B93FCCF3869577956795B39513 -:105B3000D9F73EF490958095709561957F4F8F4F82 -:105B40009F4F0895E89409C097FB3EF49095809587 -:105B5000709561957F4F8F4F9F4F9923A9F0F92F33 -:105B600096E9BB279395F695879577956795B795B1 -:105B7000F111F8CFFAF4BB0F11F460FF1BC06F5F97 -:105B80007F4F8F4F9F4F16C0882311F096E911C0A9 -:105B9000772321F09EE8872F762F05C0662371F0CA -:105BA00096E8862F70E060E02AF09A95660F771FDE -:105BB000881FDAF7880F9695879597F9089557FD0E -:105BC0009058440F551F59F05F3F71F04795880F6B -:105BD00097FB991F61F09F3F79F087950895121602 -:105BE00013061406551FF2CF4695F1DF08C01616AE -:105BF00017061806991FF1CF86957105610508945F -:105C00000895E894BB2766277727CB0197F9089575 -:105C10000BD078C069D028F06ED018F0952309F029 -:105C20005AC05FC01124EECFCADFA0F3959FD1F315 -:105C3000950F50E0551F629FF001729FBB27F00D3A -:105C4000B11D639FAA27F00DB11DAA1F649F66278F -:105C5000B00DA11D661F829F2227B00DA11D621FDE -:105C6000739FB00DA11D621F839FA00D611D221F98 -:105C7000749F3327A00D611D231F849F600D211D7C -:105C8000822F762F6A2F11249F5750408AF0E1F01F -:105C900088234AF0EE0FFF1FBB1F661F771F881F68 -:105CA00091505040A9F79E3F510570F014C0AACF03 -:105CB0005F3FECF3983EDCF3869577956795B79553 -:105CC000F795E7959F5FC1F7FE2B880F911D96957D -:105CD000879597F9089597F99F6780E870E060E0ED -:105CE00008959FEF80EC089500240A941616170675 -:105CF00018060906089500240A94121613061406BD -:105D000005060895092E0394000C11F4882352F01F -:105D1000BB0F40F4BF2B11F460FF04C06F5F7F4FD7 -:105D20008F4F9F4F0895991B79E004C0991F9617D4 -:105D300008F0961B881F7A95C9F78095089597FB00 -:105D4000072E16F4009407D077FD09D00E94B92ED3 -:105D500007FC05D03EF4909581959F4F089570956E -:105D600061957F4F0895EE0FFF1F0590F491E02D90 -:105D70000994AA1BBB1B51E107C0AA1FBB1FA61792 -:105D8000B70710F0A61BB70B881F991F5A95A9F7E4 -:105D900080959095BC01CD010895F999FECF92BDF3 -:105DA00081BDF89A992780B50895A8E1B0E042E056 -:105DB00050E00C94F02E262FF999FECF1FBA92BD19 -:105DC00081BD20BD0FB6F894FA9AF99A0FBE0196DC -:105DD00008950E94DB2E272F0C94DC2EDC01CB01D2 -:105DE000FC01F999FECF06C0F2BDE1BDF89A3196EB -:105DF00000B40D9241505040B8F70895F894FFCF89 -:105E00002002420E330F100FDC0EA80E0101C70155 -:105E100028080A03140A3F4D362039D30686065057 -:105E2000063006F7056A0583059C05B505D505010D -:0A5E3000020304050607080900003C +:100000000C948E080C94D2080C94D2080C94D2084C +:100010000C94D2080C94D2080C94D2080C94D208F8 +:100020000C94D2080C94D2080C94D1140C94A315FF +:100030000C94D2080C94D2080C94D2080C94D208D8 +:100040000C94D2080C947D2E0C94D2080C94D208F7 +:100050000C94D2080C9475240C94D2080C94D208F9 +:100060000C94D2080C94D2080C94D2080C94D208A8 +:100070000C94D2080C94D2080C94D2080C94D20898 +:100080000C94D2080C94D2080C94D2080C94D20888 +:100090000C94D2080C94D2080C94D2080C94D20878 +:1000A0000C94D2080C94D2080C94D20890099A09A6 +:1000B000B209CA09120A180A390A1E0A340A2A0A97 +:1000C0002F0A240AFA09E2093E0A101632162017EE +:1000D0003216201777169A162017EF160217491AAC +:1000E000491A781A781ABB1AF91A121D121D121B16 +:1000F000121D131C131CE61C121D121DFD1C01E118 +:100100000137023702E10138023801E201250225F8 +:1001100002E20001E10137023702E1013802380151 +:10012000E10130023002E10001E10137023702E172 +:100130000138023801E10107020702E1000135023E +:1001400035012002200001E10137023702E10138C8 +:10015000023801E10125022502E10001E101360238 +:100160003602E10138023801E10125022502E100F1 +:1001700001E10136023602E10138023801E10126CF +:10018000022602E10001E10137023702E1013802F3 +:100190003801E10126022602E10002E002E201301C +:1001A00002300002E002E20001E001E20002E002AF +:1001B000E3016402640002E002E30001E001E30005 +:1001C00002E002E2012E022E02E10002E002E10260 +:1001D000E20001E001E101E20002E001E3010602C8 +:1001E0000602E30002E00001E00002E001E3011981 +:1001F000021902E30002E00001E0000000F0A1F0BB +:10020000A329002B00E200E100358100001E00144C +:100210000004001D710D304D831F001A0016001BD5 +:10022000000C304C002000080007000600E1042A02 +:10023000002100150009001900E1084A00220017FA +:10024000000A000500000003300130E3000000E276 +:1002500000000002540230E7000000E60000000445 +:100260005423001C000B00110000002E7F240018F6 +:10027000000D00100050004B0025000C000E003651 +:100280000052002C00260012000F003700510028F9 +:100290000027001300330038714F004E002D002F4F +:1002A000003474E50031810000010001000100010B +:1002B00000010000003A003500310001000100019A +:1002C000003B0035022102350001004C003C001EBD +:1002D0000224062202010001003D002D0224022416 +:1002E00004010001003E000100370011040000017C +:1002F000000100010000000100000001000E3001BB +:100300000000000100000001003F00240624022339 +:100310000200000100400022042502350001000116 +:100320000041002304260235023700010042002468 +:100330000425041F021E020100430031002604317F +:1003400002010001004400450001002D02010000EF +:100350000001000100010001000100000001000196 +:100360000001000100010001000100F400F200FBA7 +:1003700000010001000100F000F100FA000100019D +:10038000000100F500F300FC00010001000100F98C +:1003900000FA00F600000001000100010000000169 +:1003A0000000000100A800010000000100000001A1 +:1003B0000001000100A900AA0000000100010001E5 +:1003C000000100010001000100010001000100AC7A +:1003D000000100B600010001000100AB0050000167 +:1003E00000010001000100520051000100AE0001B7 +:1003F00000010001004F00000001000100010001A8 +:1004000000010000000100010001000100010001E5 +:1004100000010001000100010001000100010001D4 +:1004200000010001000100010001000100010001C4 +:1004300000010001000100010001000100000001B5 +:100440000001000100000001000000010004300173 +:1004500000000001000000010005300630093001F5 +:1004600000000001000A300B3008300100010001DB +:10047000000100073001000100010001000100013E +:100480000001000100010001000100010001000164 +:100490000001000100010001000100010001000055 +:1004A0000001000100010001000100000001000145 +:1004B00000010001000100010001000100500001E5 +:1004C0000001000100010052005100010001000183 +:1004D00000010001004F00010001000100010001C6 +:1004E0000001000100000001000100010000000106 +:1004F00000000001000100010000000100000001F7 +:10050000003F00520051002302000001004000247F +:100510000021001E00270001004100250022001FCD +:1005200000370001004200260023002000270001C0 +:10053000004300300230002402270201004400453D +:1005400000380001000100000001000100E100018D +:1005500000E0000000010001000100010001003D79 +:100560000001000100010001000100E000010001A4 +:10057000000100010001002C000100010001000148 +:100580000001003C00010001000100010000003AF0 +:1005900000010001000000010000003B000E3001DE +:1005A0000000000100000001000100010001000145 +:1005B0000000000100010001000100010001000134 +:1005C0000001000100010001000100010001000123 +:1005D0000001000100010001000100010001000113 +:1005E0000001000100010001000100010001000004 +:1005F000000A002530313662003A2000253032589A +:10060000000A722F632030313233343536373839AF +:100610004142434445460A000A00253032580062F0 +:100620006F756E6365213A20006C6566742073698E +:1006300064652061747461636865640A006C656652 +:10064000742073696465206E6F7420726573706FB7 +:100650006E64696E670A00747279696E6720746FE0 +:10066000207265736574206D637032333031380ADF +:10067000000A44454255473A20656E61626C6564E4 +:100680002E0A005B735D004B6579626F61726420B6 +:1006900073746172742E0A005B575D005B535D00DA +:1006A0005B525D005B445D005B435D0016034500EB +:1006B000720067006F0044006F0078002000450062 +:1006C0005A00000016034500720067006F004400E6 +:1006D0006F007800200045005A0000000403090460 +:1006E00009028D00050100A0FA09040000010301C0 +:1006F0000100092111010001223F000705810308C3 +:10070000000A09040100010301020009211101008E +:1007100001224D000705820308000A0904020001B6 +:1007200003000000092111010001223600070583A2 +:100730000308000A09040300020300000009211154 +:1007400001000122200007058403200001070504A1 +:100750000320000109040400010300000009211125 +:100760000100012239000705850310000112011064 +:100770000100000008EDFE07130100010200010561 +:10078000010906A101050719E029E71500250195D2 +:100790000875018102050819012905950575019162 +:1007A00002950175039101050719002977150025A8 +:1007B00001957875018102C00631FF0974A1010914 +:1007C00075150025FF95207508810209761500250D +:1007D000FF952075089102C005010980A1018502DD +:1007E00016010026B7001A01002AB70075109501FE +:1007F0008100C0050C0901A1018503160100269C9A +:10080000021A01002A9C02751095018100C00501A1 +:100810000902A1010901A100050919012905150015 +:100820002501950575018102950175038101050179 +:10083000093009311581257F95027508810609382F +:100840001581257F950175088106050C0A3802156A +:1008500081257F950175088106C0C005010906A1A3 +:1008600001050719E029E7150025019508750181A3 +:10087000029501750881010508190129059505757D +:100880000191029501750391010507190029FF15D2 +:100890000025FF950675088100C00A0025303258F2 +:1008A00020006B6579626F6172645F7265706F7250 +:1008B000743A20000A0025303258006B6579626F67 +:1008C0006172645F7365745F6C65643A200064658F +:1008D0006C5F6B65795F6269743A2063616E27743F +:1008E0002064656C3A20253032580A006164645FE8 +:1008F0006B65795F6269743A2063616E2774206169 +:1009000064643A20253032580A00646F6E652E0AFE +:1009100000626F6F676D61676963207363616E3A30 +:10092000202E2E2E2000290A002575002F00257567 +:10093000005D280025640020002564002000256457 +:100940000020002564007C0025303258006D6F7552 +:1009500073656B6579205B62746E7C782079207694 +:1009600020685D287265702F61636C293A205B00F6 +:100970006D6B5F776865656C5F74696D655F746FDB +:100980005F6D6178203D2025640A006D6B5F77689C +:1009900065656C5F6D61785F7370656564203D208F +:1009A00025640A006D6B5F74696D655F746F5F6DC0 +:1009B0006178203D2025640A006D6B5F6D61785F72 +:1009C0007370656564203D2025640A006D6B5F6966 +:1009D0006E74657276616C203D2025640A006D6B33 +:1009E0005F64656C6179203D2025640A006D6B5F52 +:1009F000776865656C5F74696D655F746F5F6D6165 +:100A000078203D2025640A006D6B5F776865656C12 +:100A10005F6D61785F7370656564203D2025640AB1 +:100A2000006D6B5F74696D655F746F5F6D617820D9 +:100A30003D2025640A006D6B5F6D61785F737065A2 +:100A40006564203D2025640A006D6B5F696E7465E6 +:100A50007276616C203D2025640A006D6B5F6465D1 +:100A60006C6179203D2025640A000A002575003656 +:100A70003A20776865656C5F74696D655F746F5F58 +:100A80006D61783A20000A00257500353A207768B4 +:100A900065656C5F6D61785F73706565643A2000B1 +:100AA0000A00257500343A2074696D655F746F5FC4 +:100AB0006D61783A20000A00257500333A206D6197 +:100AC000785F73706565643A20000A00257500320E +:100AD0003A20696E74657276616C286D73293A20CC +:100AE000000A00257500313A2064656C6179282A76 +:100AF00031306D73293A20000A092D2056616C753A +:100B00006573202D0A004D3E004D25643E20003FB8 +:100B1000007365742064656661756C740A00433EF9 +:100B2000200077686572652064656C74613A2063A3 +:100B30007572736F723D25642C20776865656C3D16 +:100B400025640A53656520687474703A2F2F656EAA +:100B50002E77696B6970656469612E6F72672F7794 +:100B6000696B692F4D6F7573655F6B6579730A00EB +:100B70000A092D204D6F7573656B6579202D0A4527 +:100B800053432F713A09717569740A313A096465E2 +:100B90006C6179282A31306D73290A323A09696EFD +:100BA00074657276616C286D73290A333A096D6138 +:100BB000785F73706565640A343A0974696D655FBE +:100BC000746F5F6D61780A353A09776865656C5FA7 +:100BD0006D61785F73706565640A363A0977686598 +:100BE000656C5F74696D655F746F5F6D61780A0A2B +:100BF000703A097072696E742076616C7565730A5B +:100C0000643A097365742064656661756C74730A6F +:100C100075703A092B310A646F776E3A092D310AE3 +:100C2000706775703A092B31300A7067646F776EA0 +:100C30003A092D31300A0A7370656564203D2064DD +:100C4000656C7461202A206D61785F7370656564DE +:100C5000202A2028726570656174202F2074696DC8 +:100C6000655F746F5F6D6178290A003F004D3E201B +:100C700000433E20004C25640A000A092D20436FE2 +:100C80006E736F6C65202D0A4553432F713A0971BD +:100C90007569740A6D3A096D6F7573656B65790ACC +:100CA000000A092D204D61676963202D0A643A0905 +:100CB00064656275670A783A096465627567206DD4 +:100CC00061747269780A6B3A096465627567206BB2 +:100CD0006579626F6172640A6D3A0964656275676D +:100CE000206D6F7573650A763A0976657273696F60 +:100CF0006E0A733A097374617475730A633A09630F +:100D00006F6E736F6C65206D6F64650A302D343AB9 +:100D1000096C61796572302D34284631302D4634A6 +:100D2000290A506175733A09626F6F746C6F616460 +:100D300065720A653A09656570726F6D0A6E3A09E7 +:100D40004E4B524F0A7A3A09736C656570204C45D8 +:100D50004420746573740A000A002575002E6E6BBA +:100D6000726F3A20000A002575002E737761705F5C +:100D70006261636B736C6173685F6261636B7370F4 +:100D80006163653A20000A002575002E7377617053 +:100D90005F67726176655F6573633A20000A0025BC +:100DA00075002E6E6F5F6775693A20000A00257521 +:100DB000002E737761705F72616C745F7267756922 +:100DC0003A20000A002575002E737761705F6C6110 +:100DD0006C745F6C6775693A20000A002575002EF7 +:100DE000636170736C6F636B5F746F5F636F6E745E +:100DF000726F6C3A20000A002575002E73776170BF +:100E00005F636F6E74726F6C5F636170736C6F633E +:100E10006B3A20000A0025303258006B65796D610D +:100E2000705F636F6E6669672E7261773A20000AA1 +:100E3000002575002E6D6F7573653A20000A002538 +:100E400075002E6B6579626F6172643A20000A004A +:100E50002575002E6D61747269783A20000A0025AC +:100E600075002E656E61626C653A20000A002530BF +:100E700032580064656275675F636F6E6669672EDE +:100E80007261773A20000A00257500646566617515 +:100E90006C745F6C617965723A20003F004E4B5272 +:100EA0004F3A206F66660A004E4B524F3A206F6EE3 +:100EB0000A0074696D65725F636F756E743A202500 +:100EC00030346C580A006B6579626F6172645F6ED2 +:100ED0006B726F3A2025580A006B6579626F6172F8 +:100EE000645F69646C653A2025580A006B65796215 +:100EF0006F6172645F70726F746F636F6C3A2025FC +:100F0000580A00686F73745F6B6579626F61726411 +:100F10005F6C65647328293A2025580A000A092D58 +:100F200020537461747573202D0A004743433A209F +:100F3000342E392E33204156522D4C4942433A200B +:100F4000312E382E31204156525F415243483A20CB +:100F5000617672350A004F5054494F4E533A204C37 +:100F600055464120424F4F544D41474943204D4F34 +:100F70005553454B45592045585452414B455920EE +:100F8000434F4E534F4C4520434F4D4D414E44200F +:100F90004E4B524F203531320A004255494C443AAB +:100FA00020666437326134362D6469727479202882 +:100FB00032313A35313A3231204A616E20323420B2 +:100FC00032303136290A005649443A2030784645B5 +:100FD0004544284572676F446F7820455A29205050 +:100FE00049443A20307831333037284572676F44AE +:100FF0006F7820455A29205645523A2030783030B3 +:1010000030310A00444553433A20742E6D2E6B2E26 +:10101000206B6579626F617264206669726D7761B9 +:10102000726520666F72204572676F646F780A0080 +:101030000A092D2056657273696F6E202D0A000A09 +:101040006D6F7573653A206F66660A000A6D6F757D +:1010500073653A206F6E0A000A6B6579626F617280 +:10106000643A206F66660A000A6B6579626F617286 +:10107000643A206F6E0A000A6D61747269783A20D2 +:101080006F66660A000A6D61747269783A206F6E45 +:101090000A000A64656275673A206F6E0A000A6486 +:1010A000656275673A206F66660A000A0A626F6FAA +:1010B000746C6F616465722E2E2E2000433E2000FA +:1010C0006565636F6E6669673A0A00536C656570A3 +:1010D000204C454420746573740A00000000000031 +:1010E000000000000000010204060A0F17202C3A3D +:1010F0004A5D71879DB3C7DAE9F5FCFFFCF5E9DAD3 +:10110000C7B39D87715D4A3A2C20170F0A06040267 +:1011100001000000000000000000000011241FBEBC +:10112000CFEFDAE0DEBFCDBF04B603FE24C080916E +:10113000FB019091FC01A091FD01B091FE0187306F +:10114000904BA740B04BB9F41092FB011092FC01F8 +:101150001092FD011092FE0114BE84B7877F84BFF8 +:1011600088E10FB6F89480936000109260000FBE83 +:10117000E0E0FFE3099511E0A0E0B1E0E6E9F0E688 +:1011800002C005900D92AA33B107D9F711E0AAE386 +:10119000B1E001C01D92AB3FB107E1F70E94091217 +:1011A0000C9449300C940000FF93EF93E0913A01C6 +:1011B000F0913B01309709F00995EF91FF91089567 +:1011C000FC018591803011F0EFDFFBCF0895FF2700 +:1011D000E0E230E247FF0CC0419597FF09C0EDE225 +:1011E0006095709580959095611D711D811D911D73 +:1011F00027FF02C0219530E350E2AA27660F771F30 +:10120000881F991FAA1FA41710F0A41B63955A9555 +:10121000A9F7AA3008F0A95FA05DAF93F395611517 +:1012200071058105910541F7ED3211F4EF93F395C6 +:10123000F21718F43F93F395FBCF8F91B5DFFA9532 +:10124000E1F70895E991F9918591803021F0853297 +:1012500019F0AADFF9CF089520E0E89455915532AE +:10126000C1F3503311F4689455915A3348F45053F4 +:1012700090F3220F022E220F220F200D250FF4CF04 +:101280000EF4219589919991533619F3533729F129 +:10129000533559F1BC0188279927E8945C3621F42D +:1012A0008991999168945591543639F446EF7EF0BE +:1012B00077FF0DC08FEF9FEF0AC055374AE039F036 +:1012C000583540E121F0523642E009F00895FF938D +:1012D000EF937DDFEF91FF91B7CFFF93EF93FC0189 +:1012E00081918030B9F360DFFBCFFF93EF9368DF2C +:1012F000F1CFDF93CF93CDB7DEB72596A3DFCF91A4 +:10130000DF910895462F50E04F30510508F0DEC0C0 +:10131000DC01FA01EA5AFF4F12968C910C94FE2FD1 +:10132000882321F085EE0E94E618D0C085EE0E9449 +:10133000AE19CCC0882349F00E943F2490933D0110 +:1013400080933C0188EF91E0089580913C01909159 +:101350003D010E944B24873991050CF0A8C08AEE0C +:1013600091E00895882349F00E943F2490933D0125 +:1013700080933C0187EE91E0089580913C0190912B +:101380003D010E944B24873991050CF093C089EDF3 +:1013900091E00895882349F00E943F2490933D01F5 +:1013A00080933C0182ED91E0089580913C01909101 +:1013B0003D010E944B24873991050CF07EC080ECE2 +:1013C00091E00895882349F00E943F2490933D01C5 +:1013D00080933C018BEB91E0089580913C019091CA +:1013E0003D010E944B24873991050CF069C08DEABC +:1013F00091E00895882349F00E943F2490933D0195 +:1014000080933C0188EA91E0089580913C0190919D +:101410003D010E944B24873991050CF054C08AE9A4 +:1014200091E00895882309F451C085E891E008957A +:10143000882309F44BC080E791E00895882309F4DC +:1014400045C08BE591E00895882309F43FC086E408 +:1014500091E008958823D1F18DE391E008958823E8 +:10146000A9F188E291E00895882381F183E191E078 +:101470000895882359F18EEF90E00895882331F183 +:101480008091BE019091BF01A091C001B091C101B6 +:1014900020E2822780729927AA27BB278093BE016A +:1014A0009093BF01A093C001B093C1010FC085EF1D +:1014B00091E0089584EE91E008958BEC91E0089519 +:1014C00086EB91E0089583EA91E0089580E090E052 +:1014D000089508956091BE017091BF018091C0018F +:1014E0009091C1010E94742356985E9825982D987A +:1014F00026982E9827982F98833099F028F48130D9 +:1015000041F0823049F00895843049F0853061F02F +:101510000895259A2D9A0895269A2E9A0895259A27 +:101520002D9A279A2F9A0895259A2D9A269A2E9ABF +:10153000279A2F9A08958AE69AE0892B11F00E9443 +:101540006A0A80E090E0089556985E9825982D9854 +:1015500026982E9827982F988FEF90E090938900E7 +:101560008093880090938B0080938A0090938D00E5 +:1015700080938C00259A2D9A2FEF80E792E02150DE +:1015800080409040E1F700C00000269A2E9A2FEF8D +:1015900080E792E0215080409040E1F700C00000D9 +:1015A000279A2F9A2FEF80E792E0215080409040B9 +:1015B000E1F700C0000025982D982FEF80E792E01A +:1015C000215080409040E1F700C0000026982E98FE +:1015D0002FEF80E792E0215080409040E1F700C07B +:1015E000000027982F9856985E9825982D98269851 +:1015F0002E9827982F98089589EA8093800089E093 +:101600008093810024982C983F988AB18F748AB96E +:101610006E98479A8BB1806B8BB9769A0E94A40A18 +:1016200089E69AE0892B11F00E94690A80E090E037 +:10163000089580E28093000180913E0181110EC0E7 +:101640000E94680B81E080933E012FEF83ED90E3D1 +:10165000215080409040E1F700C0000080E40E94EB +:101660006E0B8093000181112EC00E94980B809315 +:101670000001811128C00E94980B80930001811104 +:1016800022C08FE30E94980B8093000181111BC040 +:101690000E94900B80E40E946E0B809300018111E8 +:1016A00012C08CE00E94980B8093000181110BC046 +:1016B0000E94980B80930001811105C08FE30E9466 +:1016C000980B809300010E94900B80910001089577 +:1016D0001092B9008AE08093B800089594EA90933C +:1016E000BC009091BC0097FFFCCF9091B900987F0F +:1016F000983021F0903111F081E008958093BB0083 +:1017000084E88093BC008091BC0087FFFCCF80916F +:10171000B900887F883111F0803471F780E0089536 +:1017200084E98093BC008091BC0084FDFCCF0895C7 +:101730008093BB0084E88093BC008091BC0087FF4D +:10174000FCCF9091B900987F81E0983209F480E055 +:10175000089584E88093BC008091BC0087FFFCCF93 +:101760008091BB00089580910001811115C080E433 +:101770000E946E0B8093000181110CC082E10E94D7 +:10178000980B80930001811105C08FEF0E94980B88 +:10179000809300010E94900B84B1807F84B985B151 +:1017A000807F85B98AB1837F8AB98BB1837F8BB9FA +:1017B0003E98469808950E94190B809300010E945C +:1017C000B30B80B38C7080BB81B3836F81BBA0E40B +:1017D000B1E0EEE4F1E08EE08E0F11921D928E13D7 +:1017E000FCCF8CEF9AE0892B11F00C94FC0A089541 +:1017F0009F92AF92BF92CF92DF92EF92FF920F93A0 +:101800001F93CF93DF93809100018823E1F08091B3 +:101810003F018F5F80933F01811115C087E596E0FE +:101820000E94E0080E94190B80930001882329F090 +:101830008DE396E00E94E00806C089E296E00E94EF +:10184000E0080E94A40A00E411E0C0E0D0E0BB245C +:10185000B39482E0A82ECC24C394D12C2AE1E22EAA +:1018600026E0F22EC730D10500F5809100018111EC +:1018700064C080E40E946E0B80930001811112C04D +:1018800082E10E94980B8093000181110BC0C60178 +:101890000C2E01C0880F0A94EAF780950E94980BDD +:1018A000809300010E94900B48C0CA30A1F028F438 +:1018B000C83059F0C93061F005C0CC3089F070F003 +:1018C000CD3089F0209A289810C0219A29980DC00F +:1018D000229A2A980AC0239A2B9807C0529A01C0CC +:1018E000539A5B9802C03E9A469890EA9A95F1F70F +:1018F0009FB1799902C082E001C080E091709B2580 +:10190000982B7C9902C084E001C080E0892B7D99EE +:1019100002C038E001C030E0832B7E9902C020E194 +:1019200001C020E0822B9FB19095991F9927991FA4 +:101930009295990F907E892B10C0809100018111A2 +:1019400074C080E40E946E0B80930001882309F428 +:1019500059C0912C0E94900B892DF8019081981705 +:1019600039F1808380910101882301F18091D901AF +:1019700080FF04C08FE196E00E94E0088091D901C9 +:1019800080FF0CC0809101011F928F93FF92EF9214 +:101990000E9479090F900F900F900F908091D901BC +:1019A00080FF04C088E196E00E94E008A092010157 +:1019B0000E94B30B21960F5F1F4FCE30D10509F067 +:1019C00051CF809101018823B1F0815080930101B2 +:1019D000882339F08FE99FE00197F1F700C00000FC +:1019E0000AC0AEE4B1E0E0E4F1E0CF01825F9191A2 +:1019F0009D938E13FCCF8BE99AE0892BC1F00E9456 +:101A00009B0A15C083E10E94980B8093000181110D +:101A1000A0CF81E40E946E0B80930001811199CFC9 +:101A20000E94A90B982E909495CF80E096CF81E0EC +:101A3000DF91CF911F910F91FF90EF90DF90CF90AA +:101A4000BF90AF909F900895E82FF0E0E25BFE4FCB +:101A500080810895CF92DF92EF92FF920F931F93B0 +:101A6000CF93DF9381E096E00E94E0088EE4E82EB9 +:101A700081E0F82EC0E0D0E09CEFC92E95E0D92E91 +:101A800003EF15E0DF93CF93DF92CF920E947909A5 +:101A900089EF95E00E94E008F70181917F0190E0D5 +:101AA0000E94DA239F938F931F930F930E947909CB +:101AB00081EF95E00E94E00821968DB79EB70896C9 +:101AC0000FB6F8949EBF0FBE8DBFCE30D105D1F6B4 +:101AD000DF91CF911F910F91FF90EF90DF90CF900A +:101AE00008958B3B910578F4883A910540F5853A45 +:101AF0009105D0F48430910508F0B1C08130910592 +:101B000009F4ADC06BC0803E910508F467C0883E03 +:101B1000910508F4A4C09C01205F310920313105F2 +:101B200008F05CC090650895853A910509F459C0A4 +:101B3000863A910509F058C082E890E40895883A01 +:101B4000910509F454C0893A910509F453C08A3AC1 +:101B5000910509F452C08B3A910509F451C08C3AB1 +:101B6000910509F450C08D3A910509F44FC0803BAE +:101B7000910509F44EC08E3A910509F44DC08F3A93 +:101B8000910509F44CC0813B910509F44BC0823B9F +:101B9000910509F44AC0833B910509F449C0843B8F +:101BA000910509F448C0853B910509F447C0863B7F +:101BB000910509F446C0873B910509F445C0883B6F +:101BC000910509F444C0893B910509F443C08A3B5F +:101BD000910509F442C080E094E4089580E090E02B +:101BE000089581E890E4089583E890E4089582EEF2 +:101BF00094E4089589EE94E408958AEE94E40895B7 +:101C000085EB94E4089586EB94E4089587EB94E4DF +:101C100008958CEC94E408958DEC94E4089583E8A1 +:101C200095E408958AE895E4089582E995E4089595 +:101C300084E995E4089581E296E4089583E296E4C8 +:101C4000089584E296E4089585E296E4089586E294 +:101C500096E4089587E296E408958AE296E408956A +:101C6000089596E0799FF001112494E5899FE00D95 +:101C7000F11D1124E60FF11DEE0FFF1FEF5FFD4F69 +:101C8000859194910895880F991FFC01E558FF4FA5 +:101C9000859194910895880F991FFC01E550FE4F9E +:101CA00085919491089526E0729FF001112444E5F6 +:101CB000849FE00DF11D1124E60FF11DEE0FFF1FB3 +:101CC000EF5FFD4F859194919C013A9521154FE16D +:101CD000340708F41EC13F512115304120F49F7094 +:101CE0000E944B0E08959C0130532115304118F489 +:101CF0009927906C0895811520E5920769F40E9458 +:101D0000341D4FEF84E39CE0415080409040E1F768 +:101D100000C000000C949A24813020E5920751F411 +:101D200081E796E00E94E0088091D901816080936C +:101D3000D90108959C0130552115304108F051C05A +:101D4000292F33272F70332721303105D9F4AC01E7 +:101D50004370552702C0220F331F4A95E2F73C68B3 +:101D6000AC0164E0440F551F6A95E1F744275370B6 +:101D7000242B352B73E0880F991F7A95E1F7807635 +:101D800099271DC02230310529F4982F8827816FAB +:101D9000906A089523303105A9F4AC0143705527AA +:101DA00021E030E002C0220F331F4A95E2F73C6881 +:101DB00043E0880F991F4A95E1F7807E9770822B48 +:101DC000932B089524303105E1F4AC01437055277D +:101DD00021E030E002C0220F331F4A95E2F73A6853 +:101DE000E7CF9C0130572115304118F49F70906265 +:101DF00008959C0130582115304118F49F70906A65 +:101E00000895803E9105E0F4803C910558F58133BA +:101E1000910509F46FC048F48932910509F463C053 +:101E20008A32910509F46DC072C089339105E9F0D9 +:101E300082389105D1F08533910509F44DC067C012 +:101E4000833E910581F138F4803E9105B9F0823EE0 +:101E50009105D9F05CC0863E910561F1873E910500 +:101E6000A1F155C00E94430E08952091EC0120FD80 +:101E700002C021FF4CC080EE90E049C08091EC018F +:101E800080FFF9CF89E390E042C08091EC0182FFAE +:101E90000EC08091EC0184FF03C080E090E037C069 +:101EA00083EE90E034C08091EC0182FFF2CF82EEAD +:101EB00090E02DC08091EC0183FF0BC08091EC017C +:101EC00084FDEBCF87EE90E022C08091EC0183FF90 +:101ED000F5CF86EE90E01BC08091EC0185FF07C036 +:101EE00089E290E014C08091EC0185FFF9CF85E391 +:101EF00090E00DC08091EC0186FF07C08AE290E07F +:101F000006C08091EC0186FFF9CF81E390E00E944A +:101F1000710D0895089580916F0108959FB7F89409 +:101F200010925E019FBF9091F201943009F057C06A +:101F30009091E9009F703091EC00232F217030FDCB +:101F400020E8922B24E02093E9002091EB0020FF71 +:101F500043C02091EE0027FF3FC020915C01222367 +:101F600021F02091E80025FF37C010925C0126E0A7 +:101F70003091E80035FD15C03091F201343061F543 +:101F80003091EB0035FD28C0215021F481E0809391 +:101F90005C0122C0EFE9FFE03197F1F700C00000DB +:101FA000E7CF8093F1008091E80085FD0AC0809121 +:101FB000E80080FFFCCF8091E8008E778093E800F6 +:101FC00006C08FB7F89421E020935E018FBF9F7009 +:101FD0009093E90080E008959F709093E9008FEF5F +:101FE0000895CF93DF9300D01F92CDB7DEB79C0149 +:101FF0008091F201843019F593E099833B832A8321 +:102000009093E9008FEF9091E800815095FD06C014 +:1020100095ED9A95F1F700008111F5CF8091E800D8 +:1020200085FF0DC040E050E063E070E0CE01019616 +:102030000E94C1128091E8008E778093E8000F9093 +:102040000F900F90DF91CF910895CF93DF9300D041 +:102050001F92CDB7DEB72091F201243021F522E0A6 +:1020600029839B838A8383E08093E9008FEF90919B +:10207000E800815095FD06C095ED9A95F1F70000B6 +:102080008111F5CF8091E80085FF0DC040E050E060 +:1020900063E070E0CE0101960E94C1128091E800D9 +:1020A0008E778093E8000F900F900F90DF91CF9183 +:1020B00008952091F2012430F1F422E02093E90008 +:1020C0002FEF3091E800215035FD06C035ED3A95EF +:1020D000F1F700002111F5CF2091E80025FF0BC09A +:1020E00040E050E065E070E00E94C1128091E8009D +:1020F0008E778093E8000895CF93DF932091F201CB +:10210000243009F048C0EC0180910C018823E1F0F3 +:1021100080910D018823C1F085E08093E9008FEF65 +:102120009091E800815095FD06C095E19A95F1F7F0 +:1021300000008111F5CF8091E80085FF2CC040E0C0 +:1021400050E060E170E017C081E08093E9008FEF1C +:102150009091E800815095FD06C095ED9A95F1F7B4 +:1021600000008111F5CF8091E80085FF14C040E0A8 +:1021700050E068E070E0CE010E94C1128091E8005A +:102180008E778093E80080E1FE01AFE5B1E0019039 +:102190000D928A95E1F7DF91CF91089588EA96E054 +:1021A0000E94E0088091F101811109C00E9456143B +:1021B0000E94B3148091E20084608093E20008954D +:1021C00084EA96E00E94E0081092F101089580EA06 +:1021D00096E00C94E0088CE996E00E94E0080C94EC +:1021E0006A2E88E996E00E94E0080E9430240E944E +:1021F000702E0E9458170C948A0F20915D012F5F5A +:10220000822F62E30E94DE2F992319F020935D0153 +:10221000089510925D0180915E01882371F1809193 +:10222000F201843041F58091E9008F702091EC003B +:10223000922F917020FD90E8892B94E09093E90013 +:102240009091EB0090FF14C09091EE0097FF10C0AA +:102250009091E80095FF03C01092F100F9CF9091A2 +:10226000E80090FF05C09091E8009E779093E80009 +:102270008F708093E90010925E01089542E061EC56 +:1022800081E00E94D01342E061EC82E00E94D01312 +:1022900042E061EC83E00E94D01342E261EC84E012 +:1022A0000E94D01342E161EC85E00C94D013809140 +:1022B000F401833009F455C030F4813071F082307C +:1022C00009F48EC008958A3009F47AC08B3009F47D +:1022D00060C0893009F09CC020C08091F301813A30 +:1022E00009F096C08091E800877F8093E800809194 +:1022F000F7019091F801892B21F460E18FE591E0DD +:1023000003C060E080E090E070E00E940C138091D8 +:10231000E8008B778093E80008958091F301813283 +:1023200009F076C08091F7019091F801009719F0BB +:10233000049709F06DC08091E800877F8093E800E2 +:102340008091E80082FD05C08091F2018111F8CFF3 +:102350005FC08091F10080936F018091E8008B77DE +:1023600053C08091F301813A09F052C08091F70186 +:102370009091F801892B09F04BC08091E800877F8C +:102380008093E8008091E80080FFFCCF80910C01F1 +:1023900036C08091F3018132D9F58091F701909197 +:1023A000F801892BA9F58091E800877F8093E800E8 +:1023B0000E9405148091F50180930C010C94341D4A +:1023C0008091F301813221F58091E800877F80932D +:1023D000E8000E9405148091F60180937001089531 +:1023E0008091F301813AA1F48091E800877F809386 +:1023F000E8008091E80080FFFCCF8091700180931D +:10240000F1008091E8008E778093E8000C94051429 +:10241000089584B7877F84BF88E10FB6F8948093CE +:102420006000109260000FBE90E080E80FB6F89454 +:1024300080936100909361000FBE0E94E5170E9497 +:1024400056140E94B3148091E20084608093E200ED +:102450008EE89FE00E946F2378940E9438170E94B4 +:10246000E71782E091E00E9453170E94582E87E8F8 +:1024700096E00E94E0088091F201853089F483E8BB +:1024800096E00E94E0080E94F4238091F0018823E6 +:1024900091F30E941C24882371F30E94AB12EBCFAE +:1024A0000E941518E8CF292F332723303105C9F0B2 +:1024B00064F42130310581F02230310509F043C048 +:1024C0008DE890E020EE36E042C021323105F1F097 +:1024D0002232310541F137C082E190E02DE637E04C +:1024E00036C099278130910541F08230910541F045 +:1024F000892B49F5ECEDF6E005C0E4ECF6E002C00E +:10250000ECEAF6E0849190E09F0121C06530D8F4B8 +:10251000E62FF0E0EE0FFF1FEB5DFE4F20813181D3 +:1025200089E090E014C0653070F470E0FB01EE0FBC +:10253000FF1FE55EFE4F20813181FB01EA5EFE4F09 +:10254000808190E004C080E090E020E030E0FA017B +:1025500031832083089580E189BD82E189BD09B47A +:1025600000FEFDCF8091D8008F7D8093D8008091B0 +:10257000E00082608093E0008091E00081FDFCCF6C +:102580000895CF92DF92EF92FF920F931F93CF9314 +:10259000DF93EC018B016A010E942414811133C086 +:1025A000C114D10439F0F60180819181081B190B07 +:1025B000C80FD91FE12CF12C0115110519F18091DB +:1025C000E80085FD16C08091E8008E778093E800D2 +:1025D000C114D10449F0F60180819181E80EF91E01 +:1025E000F182E08285E00FC00E942414882321F349 +:1025F0000AC089918093F10001501109FFEFEF1A91 +:10260000FF0ADACF80E0DF91CF911F910F91FF9009 +:10261000EF90DF90CF9008952091F9013091FA0169 +:102620002617370748F06115710539F42091E80045 +:102630002E772093E80001C0B90140E061157105D3 +:10264000A9F12091F201222309F443C0253009F4B5 +:1026500042C02091E80023FD40C02091E80022FD07 +:1026600032C02091E80020FFE9CF4091F300209193 +:10267000F20030E0342BFC01CF016115710559F0F7 +:102680002830310540F481918093F1006150710947 +:102690002F5F3F4FF1CF41E02830310509F040E096 +:1026A0002091E8002E772093E800C8CF4111C9CFD0 +:1026B0000AC08091F201882361F0853061F0809139 +:1026C000E80083FD0AC08091E80082FFF2CF80E03D +:1026D000089582E0089583E0089581E008952091AF +:1026E000F9013091FA012617370748F06115710595 +:1026F00039F42091E8002E772093E80001C0B90159 +:10270000FC0120E06115710591F18091F2018823AF +:1027100009F440C0853009F43FC08091E80083FD92 +:102720003DC08091E80082FD2FC08091E80080FFCD +:10273000E9CF2091F3008091F20090E0922B611597 +:10274000710559F08830910540F424912093F100EF +:102750003196615071090196F2CF21E0089709F096 +:1027600020E08091E8008E778093E800CBCF2111A4 +:10277000CCCF0AC08091F201882361F0853061F0EE +:102780008091E80083FD0AC08091E80082FFF2CFCB +:1027900080E0089582E0089583E0089581E008953F +:1027A000982F973058F59093E900981739F0709169 +:1027B000EC002091ED005091F00003C0242F762F03 +:1027C00050E021FF19C03091EB003E7F3093EB00C9 +:1027D0003091ED003D7F3093ED003091EB003160A2 +:1027E0003093EB007093EC002093ED005093F000D9 +:1027F0002091EE0027FF07C09F5FD3CF8F7080939B +:10280000E90081E0089580E008958091F30187FF59 +:1028100011C08091E80082FD05C08091F201811114 +:10282000F8CF11C08091E8008B770BC08091F20146 +:10283000882349F08091E80080FFF8CF8091E8007C +:102840008E778093E80008952091E4003091E500B0 +:1028500095E64091EC00842F817040FF22C080916A +:10286000E80080FD1CC08091F201882391F0853042 +:1028700091F08091EB0085FD10C04091E4005091F3 +:10288000E5004217530729F39A01915011F784E0AC +:10289000089582E0089583E0089581E0089580E03E +:1028A00008954091E80042FFDECF08950E94C414CD +:1028B0000E94CC14E0EEF0E0808181608083E8ED3E +:1028C000F0E080818F77808319BCA7EDB0E08C9118 +:1028D0008E7F8C9380818F7E80831092F10108958A +:1028E0000F931F93CF93DF930E94C4140E94CC14C4 +:1028F000C8EDD0E088818F7788838881806888835D +:1029000088818F7D888319BC1092F2011092EE01AC +:102910001092F0011092EF0100EE10E0F8018081BA +:102920008B7F808388818160888342E060E080E0E3 +:102930000E94D013E1EEF0E080818E7F8083E2EE92 +:10294000F0E0808181608083808188608083F801ED +:1029500080818E7F8083888180618883DF91CF91A1 +:102960001F910F910895E8EDF0E080818F7E8083C4 +:10297000E7EDF0E080818160808384E082BF81E0C8 +:102980008093F1010C947014E8EDF0E080818E7F6B +:1029900080831092E20008951092DA001092E10014 +:1029A00008951F920F920FB60F9211242F933F9309 +:1029B0004F935F936F937F938F939F93AF93BF9347 +:1029C000EF93FF938091E10082FF0BC08091E200C2 +:1029D00082FF07C08091E1008B7F8093E1000E941D +:1029E000FD108091DA0080FF1FC08091D80080FF29 +:1029F0001BC08091DA008E7F8093DA008091D9002D +:102A000080FF0DC080E189BD82E189BD09B400FE6F +:102A1000FDCF81E08093F2010E94CE1005C019BC69 +:102A20001092F2010E94E0108091E10080FF19C035 +:102A30008091E20080FF15C08091E2008E7F80933C +:102A4000E2008091E20080618093E2008091D800F2 +:102A500080628093D80019BC85E08093F2010E94C7 +:102A6000EB108091E10084FF30C08091E20084FF90 +:102A70002CC080E189BD82E189BD09B400FEFDCF93 +:102A80008091D8008F7D8093D8008091E1008F7E67 +:102A90008093E1008091E2008F7E8093E20080913C +:102AA000E20081608093E2008091EE01882311F0C2 +:102AB00084E007C08091E30087FD02C081E001C08F +:102AC00083E08093F2010E94F1108091E10083FF86 +:102AD00029C08091E20083FF25C08091E100877FBB +:102AE0008093E10082E08093F2011092EE018091E8 +:102AF000E1008E7F8093E1008091E2008E7F8093E1 +:102B0000E2008091E20080618093E20042E060E0B8 +:102B100080E00E94D0138091F00088608093F000E4 +:102B20000E94E710FF91EF91BF91AF919F918F911C +:102B30007F916F915F914F913F912F910F900FBEB9 +:102B40000F901F9018951F920F920FB60F9211249D +:102B50002F933F934F935F936F937F938F939F93A5 +:102B6000AF93BF93CF93DF93EF93FF93C091E900AF +:102B7000CF708091EC00D82FD17080FDD0E81092FA +:102B8000E9008091F000877F8093F00078940E94A4 +:102B9000E7151092E9008091F00088608093F000C2 +:102BA000CD2BCF70C093E900FF91EF91DF91CF91D2 +:102BB000BF91AF919F918F917F916F915F914F9155 +:102BC0003F912F910F900FBE0F901F9018951F935C +:102BD000CF93DF93CDB7DEB7AA970FB6F894DEBFD9 +:102BE0000FBECDBFE3EFF1E088E08E0F9091F100D2 +:102BF00091938E13FBCF0E9457118091E80083FFC1 +:102C00001FC18091F3019091F401492F50E04A30A7 +:102C1000510508F015C1FA01EB59FF4F0C94FE2F36 +:102C2000803881F0823809F00BC18091F7018F70F4 +:102C30008093E9008091EB0085FB882780F9109252 +:102C4000E90006C08091EF019091F001911182603E +:102C50009091E800977F9093E8008093F1001092A4 +:102C6000F100C8C0282F2D7F09F0EAC0882319F091 +:102C7000823061F0E5C08091F501813009F0E0C05B +:102C8000933009F080E08093F0012BC08091F50132 +:102C9000811127C08091F7018F7009F4D1C0809312 +:102CA000E9002091EB0020FF1CC0933021F48091BB +:102CB000EB00806214C09091EB0090619093EB0068 +:102CC00021E030E0A90102C0440F551F8A95E2F7C8 +:102CD0004093EA001092EA008091EB0088608093B4 +:102CE000EB001092E9008091E800877F86C0811197 +:102CF000A7C01091F5011F778091E3008078812BA8 +:102D00008093E3008091E800877F8093E8000E9431 +:102D100005148091E80080FFFCCF8091E30080687B +:102D20008093E300111102C082E001C083E0809330 +:102D3000F20186C08058823008F082C08091F5018F +:102D40009091F6018C3D53E0950779F583E08A83F5 +:102D50008AE289834FB7F894DE01139620E03EE0C3 +:102D600051E2E32FF0E050935700E49120FF03C0BD +:102D7000E295EF703F5FEF708E2F90E0EA3010F039 +:102D8000C79601C0C0968D939D932F5F243149F75C +:102D90004FBF8091E800877F8093E8006AE270E08F +:102DA000CE0101960E940C1314C0AE014F5F5F4F1D +:102DB0006091F7010E945312BC01892B09F440C0B5 +:102DC0009091E800977F9093E80089819A810E9412 +:102DD0006F138091E8008B778093E80031C08038D2 +:102DE00079F58091E800877F8093E8008091EE017B +:102DF0008093F1008091E8008E778093E8000E9434 +:102E000005141EC081111CC09091F5019230C0F4D0 +:102E10008091E800877F8093E8009093EE010E9404 +:102E200005148091EE01811106C08091E30087FDB9 +:102E300002C081E001C084E08093F2010E943E1153 +:102E40008091E80083FF0AC08091E800877F80932B +:102E5000E8008091EB0080628093EB00AA960FB6A9 +:102E6000F894DEBF0FBECDBFDF91CF911F910895C3 +:102E7000CF938091F2018823A1F0C091E900CF7037 +:102E80009091EC00892F817090FD80E8C82B109202 +:102E9000E9008091E80083FD0E94E715CF70C093A0 +:102EA000E900CF910895909376018093750108957C +:102EB000E0917501F0917601309721F00190F08159 +:102EC000E02D099480E00895EF92FF920F931F93F5 +:102ED000CF93DF93E0917501F09176013097B1F1D6 +:102EE0008C010280F381E02D09958091D90182FF48 +:102EF0002DC080FF04C082EA98E00E94E008E8014B +:102F000010E18CE9E82E88E0F82E8091D90180FF4D +:102F10000BC088811F928F93FF92EF920E947909D4 +:102F20000F900F900F900F90115021961111EDCF2F +:102F30008091D90180FF0AC08AE998E0DF91CF91A2 +:102F40001F910F91FF90EF900C94E008DF91CF91CB +:102F50001F910F91FF90EF900895E0917501F0910E +:102F60007601309721F00480F581E02D09940895D1 +:102F700020917301309174018217930771F090933F +:102F8000740180937301E0917501F091760130979F +:102F900021F00680F781E02D0994089520917101B8 +:102FA000309172018217930771F0909372018093B0 +:102FB0007101E0917501F0917601309721F0008464 +:102FC000F185E02D0994089508950C94E4170E946A +:102FD00036240E94DB0B0C94FC24CF93C82F8091E5 +:102FE000D90182FF1EC080FF04C08BEB98E00E94D5 +:102FF000E0088091D90180FF0CC01F92CF9386EB2F +:1030000098E09F938F930E9479090F900F900F90F3 +:103010000F908091D90180FF04C084EB98E00E945A +:10302000E0088C2FCF910C948A0FCF92DF92EF9211 +:10303000FF920F931F93CF93DF93CDB7DEB72B97FC +:103040000FB6F894DEBF0FBECDBF0E94F80B88E725 +:10305000C82E81E0D82E00E010E0E02E802F0E94E4 +:10306000240DF60141916F01F42EF826B1F40F5FA3 +:103070001F4F0E30110589F78FEF89838A831B82DA +:103080000E943F248160782F9D838C8349815A81DF +:103090006B818D810E94B81840C09091D90191FF39 +:1030A00004C08B870E942A0D8B8520E030E04F2DD5 +:1030B00050E0922FBA01022E02C0759567950A94CE +:1030C000E2F760FF24C02E83EF8221E030E0690147 +:1030D00002C0CC0CDD1C9A95E2F790E08C219D217A +:1030E000892B09F420E028870E943F248160782FF3 +:1030F0009A8789874E815F8168858A850E94B81882 +:10310000F801E858FE4F8081C826C08206C02F5FB4 +:103110003F4F2630310569F6AACF0E946D281091E5 +:1031200077010E9458171817A1F00E945817809332 +:1031300077012B960FB6F894DEBF0FBECDBFDF919F +:10314000CF911F910F91FF90EF90DF90CF900C9453 +:10315000ED172B960FB6F894DEBF0FBECDBFDF91F3 +:10316000CF911F910F91FF90EF90DF90CF90089536 +:10317000CF93DF93CDB7DEB72B970FB6F894DEBFB2 +:103180000FBECDBF4F83588769877A878B87DE0153 +:10319000119686E0FD0111928A95E9F785E0FE011E +:1031A000379601900D928A95E1F749815A816B819A +:1031B0007C818D819E810E94CE1F2B960FB6F89444 +:1031C000DEBF0FBECDBFDF91CF910895CF9388238F +:1031D00009F4C2C0C82F823859F40E94581781FDE3 +:1031E000BBC089E30E946A220E94492389E30CC084 +:1031F000833879F40E94581780FDAEC083E50E94A1 +:103200006A220E94492383E50E94BD22CF910C943B +:103210004923843859F40E94581782FD9DC087E4E1 +:103220000E946A220E94492387E4EECF8CEF8C0F24 +:10323000813A48F48C2F0E94002D81118DC08C2F73 +:103240000E946A22E3CF80E28C0F883048F4C77076 +:1032500081E001C0880FCA95EAF70E941223D6CFF9 +:103260008BE58C0F833078F4C53A29F0C63A31F0FB +:1032700083E890E005C081E890E002C082E890E039 +:10328000CF910C94B81788E58C0F833108F064C097 +:10329000C83A39F1C93A41F1CA3A49F1CB3A51F148 +:1032A000CC3A59F1CD3A61F1C03B69F1CE3A71F1B6 +:1032B000CF3A79F1C13B81F1C23B89F1C33B91F136 +:1032C000C43B99F1C53BA1F1C63BA9F1C73BB1F1A4 +:1032D000C83BB9F1C93BC1F1CA3BC9F180E090E0FC +:1032E00038C082EE90E035C089EE90E032C08AEEC0 +:1032F00090E02FC085EB90E02CC086EB90E029C0D9 +:1033000087EB90E026C08CEC90E023C08DEC90E041 +:1033100020C083E891E01DC08AE891E01AC082E9EC +:1033200091E017C084E991E014C081E292E011C0FD +:1033300083E292E00EC084E292E00BC085E292E06C +:1033400008C086E292E005C087E292E002C08AE20D +:1033500092E0CF910C94CE17CF910895882309F471 +:103360004BC0823859F40E94581781FF45C089E349 +:103370000E946A220E94492389E30CC0833871F4B9 +:103380000E94581780FF38C083E50E946A220E947D +:10339000492383E50E94BD220C944923843859F4C3 +:1033A0000E94581782FF28C087E40E946A220E9468 +:1033B000492387E4EFCF9CEF980F913A58F390E2BE +:1033C000980F983050F4877091E001C0990F8A955A +:1033D000EAF7892F0E941823DFCF9BE5980F9330DF +:1033E00020F480E090E00C94B817885A833120F4E0 +:1033F00080E090E00C94CE170895882321F00E947D +:1034000012230C9449230895882321F00E94182345 +:103410000C9449230895BF92CF92DF92EF92FF92CE +:103420000F931F93CF93DF9300D000D000D0CDB780 +:10343000DEB725E0FC01DE01119601900D922A9580 +:10344000E1F7FC01408131810281258122952F70B5 +:1034500063817481672B09F4E5C23F3F19F44F3F44 +:1034600009F4E0C27C0149833A8389819A812E83E1 +:103470000E942922182FB92E0E9428220E94EF2094 +:10348000EB2DE295EF70F0E0E159FF4F2E810C94A7 +:10349000FE2F8B2D807F9B2D9F70F92E882319F096 +:1034A000F29480EFF822002349F0FF2009F467C26C +:1034B0008F2D0E9422230E94492361C2812F0E94E6 +:1034C000AE19FF2009F4AEC28F2D0E942823269644 +:1034D0000FB6F894DEBF0FBECDBFDF91CF911F9125 +:1034E0000F91FF90EF90DF90CF90BF900C94492305 +:1034F0003B2D307F8B2D8F70303211F08295807F85 +:10350000112319F0113021F12CC00023B9F022232E +:1035100009F4A0C1213009F09DC126960FB6F89498 +:10352000DEBF0FBECDBFDF91CF911F910F91FF90F6 +:10353000EF90DF90CF90BF900C943223222319F0AC +:10354000213009F46FC28E830E9435238E8196C18B +:10355000002321F0223008F065C27CC1211162C233 +:103560008DC1002321F0222309F474C108C2222353 +:1035700009F484C119C22B2D26952695237030E0BD +:103580002115310521F021303105D1F04BC2002346 +:1035900021F0812F9B2D937002C080E090E0269651 +:1035A0000FB6F894DEBF0FBECDBFDF91CF911F9154 +:1035B0000F91FF90EF90DF90CF90BF900C94B817D1 +:1035C000002321F0812F9B2D937002C080E090E0BA +:1035D00026960FB6F894DEBF0FBECDBFDF91CF9118 +:1035E0001F910F91FF90EF90DF90CF90BF900C94C0 +:1035F000CE17812F002319F00E94F32602C00E94EB +:103600005B2726960FB6F894DEBF0FBECDBFDF91C5 +:10361000CF911F910F91FF90EF90DF90CF90BF90CF +:103620000C94E0278B2D837009F07BC00111FAC147 +:10363000812F829586958770880F880F912F9F70B4 +:10364000C92ED12CE12CF12C082E04C0CC0CDD1C91 +:10365000EE1CFF1C0A94D2F714FF12C04FE050E09A +:1036600060E070E004C0440F551F661F771F8A9505 +:10367000D2F7CB01BA01609570958095909503C003 +:1036800060E070E0CB012B2D269526952370422F0C +:1036900050E042305105D9F04330510569F16C29B1 +:1036A0007D298E299F294130510551F126960FB66B +:1036B000F894DEBF0FBECDBFDF91CF911F910F9168 +:1036C000FF90EF90DF90CF90BF900C9416216C2963 +:1036D0007D298E299F2926960FB6F894DEBF0FBE4E +:1036E000CDBFDF91CF911F910F91FF90EF90DF90B1 +:1036F000CF90BF900C9432210E941621C701B601D1 +:1037000026960FB6F894DEBF0FBECDBFDF91CF91E6 +:103710001F910F91FF90EF90DF90CF90BF900C948E +:10372000FA20002319F08B2D817001C08695882323 +:1037300009F478C1812F829586958770880F880F4C +:10374000912F9F70C92ED12CE12CF12C082E04C092 +:10375000CC0CDD1CEE1CFF1C0A94D2F714FF12C027 +:103760004FE050E060E070E004C0440F551F661F5A +:10377000771F8A95D2F7CB01BA0160957095809535 +:10378000909503C060E070E0CB012B2D2695269527 +:103790002370422F50E042305105D9F0433051059B +:1037A00069F16C297D298E299F294130510551F1FC +:1037B00026960FB6F894DEBF0FBECDBFDF91CF9136 +:1037C0001F910F91FF90EF90DF90CF90BF900C94DE +:1037D000F0216C297D298E299F2926960FB6F89411 +:1037E000DEBF0FBECDBFDF91CF911F910F91FF9034 +:1037F000EF90DF90CF90BF900C940C220E94F021AC +:10380000C701B60126960FB6F894DEBF0FBECDBF36 +:10381000DF91CF911F910F91FF90EF90DF90CF90AC +:10382000BF900C94D421103FD1F118F4103E50F405 +:10383000A1C0123F09F463C008F44CC0133F09F45F +:1038400073C098C01F708B2D8F710023A1F00E9450 +:103850006D21812F26960FB6F894DEBF0FBECDBF27 +:10386000DF91CF911F910F91FF90EF90DF90CF905C +:10387000BF900C94FD190E948E21812F26960FB6C1 +:10388000F894DEBF0FBECDBFDF91CF911F910F9196 +:10389000FF90EF90DF90CF90BF900C94041A00231C +:1038A000A9F02111BFC08B2D8F7126960FB6F89409 +:1038B000DEBF0FBECDBFDF91CF911F910F91FF9063 +:1038C000EF90DF90CF90BF900C94B321223008F09E +:1038D000A9C0E9CF0023A9F08B2D8F7126960FB6D2 +:1038E000F894DEBF0FBECDBFDF91CF911F910F9136 +:1038F000FF90EF90DF90CF90BF900C946D2100234C +:1039000059F38B2D8F7126960FB6F894DEBF0FBE3C +:10391000CDBFDF91CF911F910F91FF90EF90DF907E +:10392000CF90BF900C948E21002399F08B2D8F7136 +:1039300026960FB6F894DEBF0FBECDBFDF91CF91B4 +:103940001F910F91FF90EF90DF90CF90BF900C945C +:10395000582126960FB6F894DEBF0FBECDBFDF917B +:10396000CF911F910F91FF90EF90DF90CF90BF907C +:103970000C944E210023A9F0222309F4ADCF812F0E +:1039800026960FB6F894DEBF0FBECDBFDF91CF9164 +:103990001F910F91FF90EF90DF90CF90BF900C940C +:1039A000E618222309F4ADCF812F26960FB6F8949E +:1039B000DEBF0FBECDBFDF91CF911F910F91FF9062 +:1039C000EF90DF90CF90BF900C94AE194B2D4F70BD +:1039D000612FC7010E94820926960FB6F894DEBFB8 +:1039E0000FBECDBFDF91CF911F910F91FF90EF9050 +:1039F000DF90CF90BF900C9472204B2D4F70612FB1 +:103A0000C70126960FB6F894DEBF0FBECDBFDF917B +:103A1000CF911F910F91FF90EF90DF90CF90BF90CB +:103A20000C94300E26960FB6F894DEBF0FBECDBFB5 +:103A3000DF91CF911F910F91FF90EF90DF90CF908A +:103A4000BF9008950E942F230E9404230E944923BF +:103A50000E9413290E94E02780E090E00E94B8179E +:103A600080E090E00C94CE170E941F230C94221D3E +:103A70000E942922292F22952F7030E02C30310509 +:103A80004CF42A3031056CF42250310922303105D2 +:103A900088F407C02C30310549F02F30310531F062 +:103AA00009C0803E48F0803F29F406C093FB882778 +:103AB00080F9089580E0089581E00895CF93DF9321 +:103AC00000D000D01F92CDB7DEB70F900F900F90AF +:103AD0000F900F90DF91CF910895CF93DF9300D097 +:103AE00000D000D0CDB7DEB726960FB6F894DEBF73 +:103AF0000FBECDBFDF91CF9108951F93CF93DF937A +:103B0000C091860116E080918701C81799F0D0E036 +:103B10001C9FF0011D9FF00D1124E857FE4F4081BE +:103B2000518162817381848195810E946D1D2196EE +:103B3000C770E9CFDF91CF911F9108954091B801EF +:103B40005091B9016091BA017091BB018091BC01A3 +:103B50009091BD010C946D1D8091BD0182958F7077 +:103B600009F054C08091BA01882309F44FC08091B4 +:103B70008601A09187016091B8017091B9014091CF +:103B8000BB015091BC01B6E08A1709F43FC090E038 +:103B900041155105C1F17F3F11F46F3FA1F1B89F6D +:103BA000F001B99FF00D1124E857FE4F21817213E7 +:103BB0002AC02081621327C02281211124C02381C1 +:103BC00034812417350710F421503109241B350B9B +:103BD000283C3105C0F42091BD012F702061209355 +:103BE000BD0126E0289FF001299FF00D1124E35725 +:103BF000FE4F80818F708061808388EB91E00E940E +:103C00000B1A0C947D1D01968770BECF0895CF923C +:103C1000DF92EF92FF920F931F93CF93DF93CDB775 +:103C2000DEB762970FB6F894DEBF0FBECDBF8C0132 +:103C300085E0F801DE011D9601900D928A95E1F76D +:103C4000D8014C9111965C91119712966C91129734 +:103C50001396CD90DC9014973091B8017091B90112 +:103C60008091BB019091BC01009709F46BC17F3F2B +:103C700019F43F3F09F466C1E090BA01EE2009F45F +:103C8000C0C02091BD01C816D90628F0F601E81B76 +:103C9000F90BCF0104C0809590958C0D9D1DFF24DC +:103CA000F394883C910578F0F12C207F09F0C6C090 +:103CB0007C2DD98AC88A89890E945E1D88EB91E093 +:103CC0000E940B1AB1C0822F807F09F046C0751385 +:103CD00014C0341312C0611110C02F7020612093E2 +:103CE000BD010E949E1D88EB91E00E940B1A8091FD +:103CF000BD01D80115968C932EC0CD2819F15F3FD8 +:103D000011F44F3FF9F0F62E61111CC0809186012D +:103D10002091870136E0821709F45AC090E0389F5D +:103D2000F001399FF00D1124E857FE4F71815713B0 +:103D300006C07081471303C07281711103C00196E0 +:103D40008770E9CFF62E662309F418C18091BD0172 +:103D500081608093BD01F12C11C1751308C034132B +:103D600006C0611104C08091BD01D801C3C04D8758 +:103D70005E878D859E856A8B0E94381D6A8988239F +:103D8000E1F16623D1F12091BD01822F82958F70E0 +:103D900090E0029774F08091B8019091B9019887F2 +:103DA0008F831986DB86CA862C87CE0107960E94F0 +:103DB0000B1A86E0F801A8EBB1E001900D928A950C +:103DC000E1F70E94AC1D0E949E1DFF24F394D6C013 +:103DD0004D875E878D859E850E942922292F2295F9 +:103DE0002F7030E0223031050CF0BCC09F7009F01C +:103DF000B6C0805E883008F4C1C0C8010E940B1AAA +:103E0000E4CFC816D90608F453C0F601E81BF90B35 +:103E1000CF01883C910508F450C0F12C7C2DD98A43 +:103E2000C88A89890E945E1DE8EBF1E086E0DF0127 +:103E30001D928A95E9F70E949E1DA0C0751314C0BB +:103E4000341312C0611110C08091BD01F801858347 +:103E5000C8010E940B1A86E0E8EBF1E0DF011D9239 +:103E60008A95E9F7FE2C8AC04D875E878D859E85F1 +:103E70006A8B0E94381D6A89882309F4BECF6623A5 +:103E800009F4BBCF2091BD01822F82958F7090E005 +:103E900002970CF48ECF8091B8019091B9019A836A +:103EA00089831B82DD82CC822E83CE0101967FCF57 +:103EB000809590958C0D9D1DACCFF62E662309F450 +:103EC0009CCF75132EC034132CC02091BD0120FD52 +:103ED0001FC0822F82958F70D9F0D80115962C9330 +:103EE00015978F3049F08F5F982F9295907F822F92 +:103EF0008F70892B15968C93C8010E940B1A86E04F +:103F0000F801A8EBB1E001900D928A95E1F793CF0B +:103F100086E0F801A8EBB1E001900D928A95E1F7F7 +:103F20002DC04D875E878D859E850E94381D81112D +:103F300040CF8091BD0181608093BD01C8010E9486 +:103F40000B1A1CC0662309F458CF4D875E878D85F8 +:103F50009E850E94381D882309F44FCF2ACF8111F6 +:103F600048CF0CC0243031050CF047CF9F7009F4C6 +:103F700040CFF8019581907F09F03BCF8F2D62965D +:103F80000FB6F894DEBF0FBECDBFDF91CF911F916A +:103F90000F91FF90EF90DF90CF9008951F93CF93F4 +:103FA000DF93CDB7DEB72C970FB6F894DEBF0FBE08 +:103FB000CDBF4F83588769877A878B879C87CE01CF +:103FC00007960E94071E882369F08F8198852A85AD +:103FD0003B85232BF1F19F3F09F063C08F3F09F030 +:103FE00060C037C086E0FE013796DE011196019071 +:103FF0000D928A95E1F76F817885EA85FB85309788 +:1040000041F17F3F11F46F3F21F12091870130E0B2 +:10401000C9010196877099274091860150E0841765 +:10402000950709F447C069837A83FD83EC8396E0A2 +:10403000929FD001939FB00D1124A857BE4FFE014F +:10404000319601900D929A95E1F7809387010E9435 +:104050007D1D16E080918601909187018917C1F13D +:10406000189FC001112488579E4F0E94071E882365 +:1040700079F1E09186011E9FF0011124E857FE4F6F +:104080004081518162817381848195810E946D1D7F +:104090008091860190E00196877099278093860130 +:1040A000D9CF4F81588569857A858B859C850E94FB +:1040B0006D1DCFCF0E94341D109287011092860192 +:1040C000E8EBF1E086E0DF011D928A95E9F7C1CFC8 +:1040D0002C960FB6F894DEBF0FBECDBFDF91CF9107 +:1040E0001F910895EF92FF920F931F93CF93DF9349 +:1040F0008C01892B09F46CC0F12CEE24E394E801C7 +:104100002196F8018491843740F4843008F051C03E +:10411000813081F0823019F15BC0853709F444C0E9 +:10412000A8F19CE7980F903708F052C08F770E9453 +:10413000AE1941C00E5F1F4FFE01C49180E28C0F8B +:10414000883048F4C7708E2D01C0880FCA95EAF7F1 +:104150000E94222314C08C2F0E94E6182DC00E5FEF +:104160001F4FFE01C49180E28C0F883058F4C77055 +:104170008E2D01C0880FCA95EAF70E9428230E945D +:1041800049231AC08C2F0E94AE1916C00E5F1F4F14 +:10419000FE01C491CC2381F08FE99FE00197F1F7F4 +:1041A00000C00000C150F6CF0E5F1F4FFE01F4901B +:1041B00003C00E94E6188E018F2D882309F49FCF3B +:1041C000EFE9FFE03197F1F700C000008150F5CF33 +:1041D000DF91CF911F910F91FF90EF900895089577 +:1041E0006093C2017093C3018093C4019093C50191 +:1041F0000C94221D0F931F930091C2011091C301D3 +:104200002091C4013091C501DC01CB01802B912BA1 +:10421000A22BB32B8093C2019093C301A093C4013E +:10422000B093C5011F910F910C94221D0F931F9302 +:104230000091C2011091C3012091C4013091C501C8 +:10424000DC01CB0180239123A223B3238093C201FD +:104250009093C301A093C401B093C5011F910F9126 +:104260000C94221D0F931F930091C2011091C30162 +:104270002091C4013091C501DC01CB018027912739 +:10428000A227B3278093C2019093C301A093C401D6 +:10429000B093C5011F910F910C94221D1092BE0185 +:1042A0001092BF011092C0011092C1010C94221D06 +:1042B00041E050E060E070E004C0440F551F661F0D +:1042C000771F8A95D2F74093BE015093BF01609348 +:1042D000C0017093C1010C94221D41E050E060E0E8 +:1042E00070E004C0440F551F661F771F8A95D2F7F0 +:1042F0008091BE019091BF01A091C001B091C10118 +:10430000482B592B6A2B7B2B4093BE015093BF0146 +:104310006093C0017093C1010C94221D41E050E0F4 +:1043200060E070E004C0440F551F661F771F8A9538 +:10433000D2F740955095609570958091BE0190910F +:10434000BF01A091C001B091C101482359236A2344 +:104350007B234093BE015093BF016093C0017093D3 +:10436000C1010C94221D41E050E060E070E004C007 +:10437000440F551F661F771F8A95D2F78091BE01A3 +:104380009091BF01A091C001B091C1014827592768 +:104390006A277B274093BE015093BF016093C00101 +:1043A0007093C1010C94221D0F931F930091BE01C5 +:1043B0001091BF012091C0013091C101DC01CB01FE +:1043C000802B912BA22BB32B8093BE019093BF0126 +:1043D000A093C001B093C1011F910F910C94221DB5 +:1043E0000F931F930091BE011091BF012091C00156 +:1043F0003091C101DC01CB0180239123A223B3239F +:104400008093BE019093BF01A093C001B093C101FE +:104410001F910F910C94221D0F931F930091BE01C9 +:104420001091BF012091C0013091C101DC01CB018D +:1044300080279127A227B3278093BE019093BF01C5 +:10444000A093C001B093C1011F910F910C94221D44 +:104450000895CF92DF92EF92FF920F931F93CF9325 +:10446000DF938C01C090C201D090C301E090C401E1 +:10447000F090C5014091BE015091BF016091C00113 +:104480007091C101C42AD52AE62AF72ACFE1D0E0EB +:10449000D701C6010C2E04C0B695A79597958795B0 +:1044A0000A94D2F780FF07C0B8018C2F0E94530EE8 +:1044B0008130910531F4219758F7B80180E00E94CE +:1044C000530EDF91CF911F910F91FF90EF90DF90EE +:1044D000CF90089590910C01992321F090910D01B6 +:1044E000911109C020910E0130910F01F90132960E +:1044F0009FEF40E030C0982F9695969596959F3007 +:10450000A0F4E0910E01F0910F01E90FF11D877009 +:1045100021E030E0A90102C0440F551F8A95E2F75F +:10452000CA019181892B818308959091D90190FFCF +:1045300023C01F928F938CEE98E09F938F930E94DD +:1045400079090F900F900F900F9008959F3F39F0C9 +:104550004F5F4E3041F051915813F8CF0DC05111BB +:10456000F7CF942FF5CF9F3F39F0F901E90FF11DF7 +:1045700097FDFA9582830895089590910C019923EF +:1045800021F090910D01911109C020910E013091FF +:104590000F01F9013296205F3F4F30C0982F96955A +:1045A000969596959F30A8F4E0910E01F0910F0139 +:1045B000E90FF11D877021E030E0A90102C0440F2E +:1045C000551F8A95E2F7CA018095918189238183DD +:1045D00008959091D90190FF16C01F928F938EEC91 +:1045E00098E09F938F930E9479090F900F900F90FE +:1045F0000F9008953196E217F30729F090819813F0 +:10460000F9CF1082F7CF089581E090E0E0910E019C +:10461000F0910F01E80FF91F10820196803191058A +:10462000A9F708959091D801892B8093D801089516 +:1046300080959091D80189238093D8010895109294 +:10464000D80108959091D701892B8093D7010895BF +:1046500080959091D70189238093D7010895109276 +:10466000D70108958093C60108951092C601089558 +:1046700080910E0190910F01FC0131969C01205F09 +:104680003F4F80E0919191118F5FE217F307D1F7CF +:104690000895E0910E01F0910F018091D80180837F +:1046A000E0910E01F0910F0190818091D701892B4B +:1046B00080838091C601882361F0E0910E01F09122 +:1046C0000F019081892B80830E94382381111092E1 +:1046D000C60180910E0190910F010C946417909384 +:1046E0003B0180933A010895CF92DF92EF92FF92BF +:1046F0006C01EE24FF24C114D104E104F10421F083 +:10470000C701B60120E101C020E0C72ED82EE92E56 +:10471000FF24C114D104E104F10419F0285FC7019A +:10472000B6016B017C0154E0F694E794D794C794EA +:104730005A95D1F7C114D104E104F10419F02C5FAA +:10474000C701B6016B017C0142E0F694E794D7946F +:10475000C7944A95D1F7C114D104E104F10419F0CA +:104760002E5FC701B601DC01CB01B695A7959795E1 +:104770008795892B8A2B8B2B09F02F5F822FFF9037 +:10478000EF90DF90CF9008958295982F9C7C392FE1 +:1047900036953695282F237344E0249FC0011124B9 +:1047A000932F982B292F2A7A2695892F8575880F84 +:1047B000822B08951F93CF93DF931F92CDB7DEB75F +:1047C00099830E94C423182F9981892F0E94C423A2 +:1047D000212F30E0322F2227A901482BCA010F9048 +:1047E000DF91CF911F9108958091F201843009F1FA +:1047F0001092DA0120E488E190E00FB6F894A895D1 +:10480000809360000FBE2093600083B7817F846037 +:1048100083BF83B7816083BF7894889583B78E7F89 +:1048200083BF88E10FB6F894809360001092600017 +:104830000FBE089508950895CF930E941A240E94F0 +:10484000F80B0E941B24C0E08C2F0E94240D8111C4 +:1048500004C0CF5FCE30C1F701C081E0CF91089591 +:104860000E94341D0E9458170C948A0F82E084BD68 +:1048700093E095BD9AEF97BD80936E0008952FB792 +:10488000F8948091DB019091DC01A091DD01B09161 +:10489000DE012FBF0895CF92DF92EF92FF920F9328 +:1048A0001F932FB7F8944091DB015091DC01609188 +:1048B000DD017091DE012FBF6A017B01EE24FF2430 +:1048C0008C0120E030E0C016D106E206F30610F4B9 +:1048D000415051099A01281B390BC9011F910F91B1 +:1048E000FF90EF90DF90CF9008951F920F920FB638 +:1048F0000F9211248F939F93AF93BF938091DB010D +:104900009091DC01A091DD01B091DE010196A11D25 +:10491000B11D8093DB019093DC01A093DD01B09386 +:10492000DE01BF91AF919F918F910F900FBE0F90BD +:104930001F9018950E945614F8942FEF87EA91E67D +:10494000215080409040E1F700C0000087E090EBEC +:10495000DC018093FB019093FC01A093FD01B093D7 +:10496000FE019CE088E10FB6F894A8958093600062 +:104970000FBE90936000FFCFEF92FF920F931F93B3 +:10498000CF93DF93D82FC0E08C2F0E94240D00E03E +:1049900010E0E82EF12CC701002E02C095958795F6 +:1049A0000A94E2F780FD06C00F5F1F4F0630110525 +:1049B00091F709C0602F7C2F80E00E94310ED81340 +:1049C000F3CF81E004C0CF5FCE30F1F680E0DF911D +:1049D000CF911F910F91FF90EF900895CF93C82F23 +:1049E0008CE20E94BC24882321F08C2FCF910C9460 +:1049F000BC2480E0CF910895CF930E944B26811173 +:104A000002C00E94312681E199E00E94E008C5E6DB +:104A1000C15049F00E94F80B8FE39CE90197F1F730 +:104A200000C00000F5CF8AE099E00E94E00889E22A +:104A30000E94EE24811113C18AE20E94EE248111AA +:104A40000E94312685E00E94EE2481110E949A2462 +:104A50000E9456268093D90187E00E94EE24882385 +:104A6000A9F18BE10E94EE24882351F08091D901B5 +:104A700081FB222720F991E0922790FB81F90EC05B +:104A80008EE00E94EE24882361F08091D90182FBA0 +:104A9000222720F991E0922790FB82F98093D90197 +:104AA00015C080E10E94EE249091D901882341F045 +:104AB00093FB222720F981E0822780FB93F904C031 +:104AC000892F809580FB90F99093D9018091D9012D +:104AD0000E945A260E9468268093EC0180EE0E9474 +:104AE000EE24882341F08091EC01982F909590FB63 +:104AF00080F98093EC0189E30E94EE24882359F029 +:104B00008091EC0181FB222720F991E0922790FB14 +:104B100081F98093EC0182EE0E94EE24882359F003 +:104B20008091EC0182FB222720F991E0922790FBF3 +:104B300082F98093EC0186EE0E94EE24882359F0DE +:104B40008091EC0183FB222720F991E0922790FBD2 +:104B500083F98093EC0183EE0E94EE24882359F0C0 +:104B60008091EC0184FB222720F991E0922790FBB1 +:104B700084F98093EC0185E30E94EE24882359F0A8 +:104B80008091EC0185FB222720F991E0922790FB90 +:104B900085F98093EC0181E30E94EE24882359F08B +:104BA0008091EC0186FB222720F991E0922790FB6F +:104BB00086F98093EC0181E10E94EE24882359F06C +:104BC0008091EC0187FB222720F991E0922790FB4E +:104BD00087F98093EC018091EC010E946C26809112 +:104BE000EC0187FB882780F980930D0187E20E9402 +:104BF000EE24C82F8EE10E94EE248111C2608FE165 +:104C00000E94EE248111C46080E20E94EE24811192 +:104C1000C86081E20E94EE248111C06182E20E949C +:104C2000EE248111C06283E20E94EE248111C064EF +:104C300084E20E94EE24882311F0C06802C0CC23D5 +:104C400029F08C2F0E9463266C2F03C00E945F26E0 +:104C5000682F70E080E090E0CF910C94F020CF912D +:104C600008956DEE7EEF80E090E00E94343060E0C9 +:104C700082E090E00E94263060E083E090E00E94B5 +:104C8000263060E084E090E00E94263060E085E01D +:104C900090E00C94263080E090E00E94203021E0EB +:104CA0008D3E9E4F09F020E0822F089582E090E033 +:104CB0000C941830682F82E090E00C94263083E04A +:104CC00090E00C941830682F83E090E00C9426302C +:104CD00084E090E00C941830682F84E090E00C940D +:104CE00026308091E10180FF0BC06091130185E0C7 +:104CF000689FB001112475956795759567952BC0D0 +:104D000081FF09C06091130185E0689FB001112403 +:104D10007595679520C082FF07C06091130185E0FB +:104D2000689FB001112417C09091E2019923D1F03E +:104D300060911201961788F72091130185E0289F52 +:104D400090011124929FA001939F500D112470E0B7 +:104D5000CA010E94EA2F6038710540F4611571059F +:104D600039F002C065E070E0862F08958FE708955E +:104D700081E008958091E10180FF08C060911101F8 +:104D800070E0759567957595679521C081FF06C0A0 +:104D90006091110170E07595679519C082FF04C09C +:104DA0006091110170E010C09091E2019923C1F06F +:104DB000609110019617A0F780911101899FC001A1 +:104DC000112470E00E94EA2F6038710528F4611503 +:104DD000710521F0862F08958FE7089581E00895E9 +:104DE00061E070E0F4CF803F21F40E94712681954C +:104DF00004C0813F29F40E9471268093E501089543 +:104E0000823F21F40E947126819504C0833F29F4DA +:104E10000E9471268093E4010895893F19F40E944D +:104E2000BA2605C08A3F31F40E94BA268195809344 +:104E3000E60108958B3F21F40E94BA26819504C0B3 +:104E40008C3F29F40E94BA268093E7010895843F9D +:104E500021F48091E301816017C0853F21F48091A6 +:104E6000E301826011C0863F21F48091E3018460F8 +:104E70000BC0873F21F48091E301886005C0883F23 +:104E800031F48091E30180618093E30108958D3FC7 +:104E900021F48091E10181600BC08E3F21F480916B +:104EA000E101826005C08F3F29F48091E1018460B7 +:104EB0008093E1010895803F39F48091E50187FFF7 +:104EC0006CC01092E50169C0813F29F48091E50131 +:104ED0001816BCF362C09091E401823F29F497FF59 +:104EE0005CC01092E40159C0833F19F41916CCF349 +:104EF00054C0893F41F48091E60118160CF04DC072 +:104F00001092E6014AC08A3F29F48091E60187FFAA +:104F100044C0F6CF8B3F39F48091E70187FF3DC055 +:104F20001092E7013AC08C3F29F48091E7011816EE +:104F3000BCF333C0843F21F48091E3018E7F17C01E +:104F4000853F21F48091E3018D7F11C0863F21F4DC +:104F50008091E3018B7F0BC0873F21F48091E301B7 +:104F6000877F05C0883F31F48091E3018F7E809375 +:104F7000E30113C08D3F21F48091E1018E7F0BC0CE +:104F80008E3F21F48091E1018D7F05C08F3F29F490 +:104F90008091E1018B7F8093E1018091E401811197 +:104FA0000EC08091E50181110AC08091E601811156 +:104FB00006C08091E701811102C01092E2010895BC +:104FC0008091D90183FF7EC08DE499E00E94E008C2 +:104FD0008091E3011F928F9388E499E09F938F93D0 +:104FE0000E94790986E499E00E94E0088091E4013A +:104FF000282F332727FD30953F938F9383E499E043 +:105000009F938F930E94790981E499E00E94E008C0 +:105010008091E501282F332727FD30953F938F930B +:105020008EE399E09F938F930E9479098CE399E036 +:105030000E94E0088091E601282F332727FD309554 +:105040003F938F9389E399E09F938F930E9479090F +:1050500087E399E00E94E0088091E701282F332739 +:1050600027FD30953F938F9384E399E09F938F932F +:105070000E94790981E399E00E94E0088091E201B1 +:105080001F928F938EE299E09F938F930E947909EC +:105090008CE299E00E94E0088091E1011F928F93D9 +:1050A00089E299E09F938F930E94790986E299E0C3 +:1050B0000E94E0088DB79EB74C960FB6F8949EBF3D +:1050C0000FBE8DBF83EE91E00E94AD170E943F247A +:1050D0009093E0018093DF0108951F93CF93DF93B6 +:1050E0008091DF019091E0010E944B24AC019091EE +:1050F000E201992321F02091140130E006C02091B3 +:1051000015018AE0289F900111244217530708F4E3 +:1051100086C08091E401C091E501D091E601109133 +:10512000E701811107C0C11176C0D11174C01111FE +:1051300072C075C09F3F19F09F5F9093E2011816EF +:1051400024F40E9471268093E4018091E40187FF9A +:1051500005C00E94712681958093E4011C1624F4F9 +:105160000E9471268093E5018091E50187FF05C0CB +:105170000E94712681958093E5016091E401662388 +:1051800039F1C091E501CC2319F1772767FD7095BE +:10519000872F972F0E94EF2E23E333E343E35FE350 +:1051A0000E94532F0E94BC2E6093E4016C2F77273E +:1051B00067FD7095872F972F0E94EF2E23E333E32F +:1051C00043E35FE30E94532F0E94BC2E6093E501EE +:1051D0001D1624F40E94BA268093E6018091E60110 +:1051E00087FF05C00E94BA2681958093E6011116BB +:1051F00024F40E94BA268093E7018091E70187FF9B +:1052000005C00E94BA2681958093E701DF91CF9176 +:105210001F910C94E0279F3F09F08ECF96CFDF912E +:10522000CF911F910895E3EEF1E085E0DF011D923B +:105230008A95E9F71092E2011092E101089580E762 +:105240009BE00E94E0081F9281E08F931F9285E00F +:105250008F9382E29BE09F938F930E9479090F9036 +:105260000F900F900F900F900F9008958330E9F1F9 +:1052700028F4813061F0823009F10895853009F415 +:1052800062C008F449C0863009F474C00895809162 +:105290001501262F30E0280F311D2F3F310524F452 +:1052A000680F6093150103C08FEF80931501809103 +:1052B00015011F928F938BE59AE072C080911401C3 +:1052C000262F30E0280F311D2F3F310524F4680FC1 +:1052D0006093140103C08FEF809314018091140137 +:1052E0001F928F9389E49AE05BC080911301262F6F +:1052F00030E0280F311D2F3F310524F4680F6093F3 +:10530000130103C08FEF80931301809113011F924B +:105310008F9386E39AE044C080911201262F30E0FB +:10532000280F311D2F3F310524F4680F60931201BF +:1053300003C08FEF80931201809112011F928F930F +:1053400081E29AE02DC080911101262F30E0280FD4 +:10535000311D2F3F310524F4680F6093110103C004 +:105360008FEF80931101809111011F928F9388E03C +:105370009AE016C080911001262F30E0280F311DD1 +:105380002F3F310524F4680F6093100103C08FEFA5 +:1053900080931001809110011F928F938DEE99E000 +:1053A0009F938F930E9479090F900F900F900F9009 +:1053B0000895833081F128F4813059F08230D1F0A2 +:1053C0000895853009F449C0B8F1863009F456C013 +:1053D000089580911501681720F4861B80931501AC +:1053E00002C010921501809115011F928F938EEDCE +:1053F00099E054C080911401681720F4861B8093B3 +:10540000140102C010921401809114011F928F9315 +:105410008CEC99E043C080911301681720F4861B3F +:105420008093130102C010921301809113011F9207 +:105430008F9389EB99E032C080911201681720F4B4 +:10544000861B8093120102C01092120180911201FA +:105450001F928F9384EA99E021C08091110168170F +:1054600020F4861B8093110102C0109211018091DB +:1054700011011F928F938BE899E010C08091100169 +:10548000681720F4861B8093100102C0109210014F +:10549000809110011F928F9380E799E09F938F93E3 +:1054A0000E9479090F900F900F900F900895CF935D +:1054B000C82F1F928F9385E79CE09F938F930E9444 +:1054C000790981E090E0A0E0B0E0BC01CD0104C02A +:1054D000660F771F881F991FCA95D2F70E94F02088 +:1054E0000F900F900F900F90CF910C94341DCF938D +:1054F0008D3109F465C0B0F58E3009F4CCC100F5EA +:10550000873009F49BC1A8F4863009F06DC2809100 +:10551000D901817F8E7F8093D9018AE79CE00E9428 +:10552000E0088CEB90E10E94E00881E08093E901C3 +:1055300080C1883009F44FC08B3009F47CC154C25B +:10554000863109F4F0C138F4803109F4B8C18131F1 +:1055500009F430C249C2893109F4CEC18B3109F452 +:1055600086C142C2853309F437C248F4873209F450 +:1055700033C208F433C2893209F42EC235C28334EF +:1055800038F48A3308F02CC2883309F454C12CC291 +:10559000833409F421C2883409F026C20E94341DE4 +:1055A0008BEA90E10E94E0089FEF23ED80E39150A9 +:1055B00020408040E1F700C000000E949A2439C1D9 +:1055C0008BEC90E10E94E0080E94762E0E94581712 +:1055D0000E948A0F2EC180EC90E10E94E0088BE8C7 +:1055E0009EE00E94E0080E945F261F928F9388E849 +:1055F0009EE09F938F930E94790986E89EE00E9427 +:10560000E0080E945626C82F83E79EE00E94E0082B +:105610001F92CF938EE69EE09F938F930E9479090D +:105620008CE69EE00E94E00882E69EE00E94E00890 +:105630008C2F81701F928F938FE59EE09F938F93A5 +:105640000E9479098DE59EE00E94E00883E59EE0D6 +:105650000E94E008C1FB882780F91F928F9380E5A4 +:105660009EE09F938F930E9479098EE49EE00E94B2 +:10567000E00882E49EE00E94E008C2FB882780F9EF +:105680001F928F938FE39EE09F938F930E947909DF +:105690008DE39EE00E94E00884E39EE00E94E00823 +:1056A000C3FBCC27C0F91F92CF9381E39EE09F9369 +:1056B0008F930E9479098FE29EE00E94E0080E9489 +:1056C0006826C82F8BE19EE00E94E0081F92CF93CE +:1056D00086E19EE09F938F930E94790984E19EE08A +:1056E0000E94E0088BEF9DE00E94E0088C2F817003 +:1056F0001F928F9388EF9DE09F938F930E9479096B +:105700008DB79EB780960FB6F8949EBF0FBE8DBF23 +:1057100086EF9DE00E94E0088FED9DE00E94E0088A +:10572000C1FB882780F91F928F938CED9DE09F939A +:105730008F930E9479098AED9DE00E94E00888EC31 +:105740009DE00E94E008C2FB882780F91F928F939A +:1057500085EC9DE09F938F930E94790983EC9DE0F7 +:105760000E94E00881EB9DE00E94E008C3FB8827CF +:1057700080F91F928F938EEA9DE09F938F930E94F2 +:1057800079098CEA9DE00E94E00882EA9DE00E948F +:10579000E008C4FB882780F91F928F938FE99DE072 +:1057A0009F938F930E9479098DE99DE00E94E00804 +:1057B0008BE89DE00E94E008C5FB882780F91F92D6 +:1057C0008F9388E89DE09F938F930E94790986E8E4 +:1057D0009DE00E94E0088AE69DE00E94E008C6FB8A +:1057E000882780F91F928F9387E69DE09F938F9380 +:1057F0000E94790985E69DE00E94E0088DE59DE024 +:105800000E94E008C7FBCC27C0F91F92CF938AE51E +:105810009DE09F938F930E94790988E59DE00E9407 +:10582000E0088DB79EB74C960FB6F8949EBF0FBE9A +:105830008DBFC1E0DEC081EA9CE05BC08091D901F0 +:10584000C82FC17080FF09C08EE990E10E94E00876 +:105850008091D901817F8E7F47C082E990E10E94CB +:10586000E0088091D90181608093D901E2CF9091C5 +:10587000D90191FBCC27C0F981E0C827892FC0FB53 +:1058800081F98093D901CC2319F085E890E127C0F4 +:1058900087E790E12EC09091D90192FBCC27C0F907 +:1058A00081E0C827892FC0FB82F98093D901CC23DE +:1058B00019F088E690E113C088E590E11AC0909154 +:1058C000D90193FBCC27C0F981E0C827892FC0FB01 +:1058D00083F98093D901CC2351F08CE490E10E94AC +:1058E000E0088091D90181608093D90182C08FE363 +:1058F00090E10E94E0089DCF80E390E10E94E008E3 +:1059000084E090E10E94E00887EC9FE00E94E008BC +:105910008AE99FE00E94E00886E59FE00E94E00897 +:105920008BE29FE0E6CF8DE19FE00E94E0080E94BD +:1059300058171F928F9383E09FE09F938F930E944D +:10594000790980910C011F928F938CEE9EE09F93BA +:105950008F930E947909809170011F928F9389ED36 +:105960009EE09F938F930E94790980910D011F9271 +:105970008F9386EC9EE09F938F930E94790980918C +:10598000DB019091DC01A091DD01B091DE01BF93BC +:10599000AF939F938F9382EB9EE09F938F930E9490 +:1059A00079098DB79EB746960FB6F8949EBF0FBE85 +:1059B0008DBF3FCF0E94341DC0910D0181E0C827EB +:1059C000C0930D01CC2329F088EA9EE00E94E008F4 +:1059D00010C08DE99EE08DCF80E003C08D5101C0E5 +:1059E00089530E94572A25CF8BE99EE00E94E00848 +:1059F000C0E08C2FCF91089580E0089580E0089555 +:105A0000CF93C82F8091E901813081F020F082305E +:105A100009F44FC045C1E0910E01F0910F01808162 +:105A2000813169F0823209F03DC109C0E0910E0177 +:105A3000F0910F018081813111F0823261F48C2F5D +:105A40000E94FC2C811104C08C2F0E94772A2FC049 +:105A500081E090E02CC08C2F0E94FE2C811126C08A +:105A6000C431E1F070F4CB3081F0C031D1F40E9448 +:105A70001F298DE69CE00E94E00882E08093E90106 +:105A800015C0C93259F0C83361F48AE79CE00E941E +:105A9000E00881E79CE00E94E00808C01092E9015C +:105AA00003C18BE69CE00E94E008FEC081E08170AB +:105AB000FDC0C43220F5CE3108F0C0C0CB3099F122 +:105AC000C8F4C73009F0D2C08AE08093150194E190 +:105AD0009093140193E0909313018093120188E056 +:105AE0008093110188E28093100181E19BE00E9484 +:105AF000E008BFC0C33149F1C431C1F0B7C0CB34F5 +:105B000009F4A9C028F4C93289F0C83361F0AEC0E5 +:105B1000C13509F49EC0C23509F499C0CE3409F0EC +:105B2000A5C06AE09EC00E941F29A3C08091E80121 +:105B3000882319F01092E8019CC08EE19BE00E943E +:105B4000E00881E08093E901B1C088EF9AE00E940B +:105B5000E00886EE9AE00E94E008809115011F920D +:105B60008F9383EE9AE09F938F930E94790981EE41 +:105B70009AE00E94E0088FEC9AE00E94E008809191 +:105B800014011F928F938CEC9AE09F938F930E9445 +:105B900079098AEC9AE00E94E0088BEB9AE00E9477 +:105BA000E008809113011F928F9388EB9AE09F93F6 +:105BB0008F930E94790986EB9AE00E94E00885EABB +:105BC0009AE00E94E008809112011F928F9382EA6E +:105BD0009AE09F938F930E94790980EA9AE00E944D +:105BE000E0088BE89AE00E94E008809111011F9282 +:105BF0008F9388E89AE09F938F930E94790986E8B3 +:105C00009AE00E94E0088FE69AE00E94E008809106 +:105C100010011F928F938CE69AE09F938F930E94BE +:105C200079098AE69AE00E94E0088DB79EB7489607 +:105C30000FB6F8949EBF0FBE8DBF1BC0CE51EC2F88 +:105C4000F0E0E15DFE4F80818093E80112C061E0E9 +:105C500003C061E006C06AE08091E8010E94362935 +:105C600008C08091E8010E94D92903C08FE09BE021 +:105C700013C08091E801882369F01F928F9389E017 +:105C80009BE09F938F930E9479090F900F900F9044 +:105C90000F9004C086E09BE00E94E00881E006C00F +:105CA0001092E90180E002C080E001CFCF91089519 +:105CB000E1E8F0E08081886080838081816080837A +:105CC0008FB7F89493E09093890090ED90938800BB +:105CD0008FBF0895EFE6F0E08081826080830895B1 +:105CE000EFE6F0E080818D7F80830895EFE6F0E0BD +:105CF000908182E08927808308951F920F920FB6CA +:105D00000F9211242F933F934F935F936F937F9341 +:105D10008F939F93AF93BF93EF93FF938091EA018B +:105D20009091EB0101969093EB018093EA01811130 +:105D300003C082E00E948A0FE091EB01E695E695B0 +:105D4000F0E0E552FF4EE4918091EA018E1303C02A +:105D500080E00E948A0FFF91EF91BF91AF919F91D8 +:105D60008F917F916F915F914F913F912F910F9004 +:105D70000FBE0F901F90189504D06894B1118DC07C +:105D8000089570D088F09F5790F0B92F9927B75198 +:105D9000A0F0D1F0660F771F881F991F1AF0BA95EF +:105DA000C9F712C0B13081F077D0B1E0089574C066 +:105DB000672F782F8827B85F39F0B93FCCF38695E5 +:105DC00077956795B395D9F73EF490958095709542 +:105DD00061957F4F8F4F9F4F0895E89409C097FBBF +:105DE0003EF490958095709561957F4F8F4F9F4FB2 +:105DF0009923A9F0F92F96E9BB279395F6958795F6 +:105E000077956795B795F111F8CFFAF4BB0F11F4B8 +:105E100060FF1BC06F5F7F4F8F4F9F4F16C088235F +:105E200011F096E911C0772321F09EE8872F762F95 +:105E300005C0662371F096E8862F70E060E02AF0D6 +:105E40009A95660F771F881FDAF7880F96958795C2 +:105E500097F9089557FD9058440F551F59F05F3F2B +:105E600071F04795880F97FB991F61F09F3F79F07C +:105E700087950895121613061406551FF2CF4695FE +:105E8000F1DF08C0161617061806991FF1CF869580 +:105E90007105610508940895E894BB276627772764 +:105EA000CB0197F908950BD078C069D028F06ED057 +:105EB00018F0952309F05AC05FC01124EECFCADF55 +:105EC000A0F3959FD1F3950F50E0551F629FF0010D +:105ED000729FBB27F00DB11D639FAA27F00DB11D66 +:105EE000AA1F649F6627B00DA11D661F829F2227EF +:105EF000B00DA11D621F739FB00DA11D621F839F76 +:105F0000A00D611D221F749F3327A00D611D231F4B +:105F1000849F600D211D822F762F6A2F11249F5799 +:105F200050408AF0E1F088234AF0EE0FFF1FBB1FBC +:105F3000661F771F881F91505040A9F79E3F51055B +:105F400070F014C0AACF5F3FECF3983EDCF3869567 +:105F500077956795B795F795E7959F5FC1F7FE2B06 +:105F6000880F911D9695879597F9089597F99F67E2 +:105F700080E870E060E008959FEF80EC08950024D1 +:105F80000A941616170618060906089500240A949E +:105F900012161306140605060895092E0394000C24 +:105FA00011F4882352F0BB0F40F4BF2B11F460FFB3 +:105FB00004C06F5F7F4F8F4F9F4F0895991B79E00B +:105FC00004C0991F961708F0961B881F7A95C9F789 +:105FD0008095089597FB072E16F4009407D077FD5F +:105FE00009D00E94043007FC05D03EF490958195BD +:105FF0009F4F0895709561957F4F0895EE0FFF1F95 +:106000000590F491E02D0994AA1BBB1B51E107C038 +:10601000AA1FBB1FA617B70710F0A61BB70B881F38 +:10602000991F5A95A9F780959095BC01CD010895C7 +:10603000F999FECF92BD81BDF89A992780B5089550 +:10604000A8E1B0E042E050E00C943B30262FF999F3 +:10605000FECF1FBA92BD81BD20BD0FB6F894FA9A4B +:10606000F99A0FBE019608950E942630272F0C94AE +:106070002730DC01CB01FC01F999FECF06C0F2BD4F +:10608000E1BDF89A319600B40D9241505040B8F7F6 +:066090000895F894FFCF13 +:1060960020028B0F7C1059102510F10F0101C7014A +:1060A60028080A03140A3F4D3620395B080E08D823 +:1060B60007B8077F07F2060B0724073D075D0701B0 +:0A60C60002030405060708090000A4 :00000001FF -- cgit v1.2.1 From fbfb034337a7b612bfcce00c62c0bdf4cec0d8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Wed, 2 Mar 2016 08:40:38 +0100 Subject: updated version, changed F-Key-Layout, minor change in code layer --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 14 +- keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex | 2946 ++++++++++++------------- 2 files changed, 1479 insertions(+), 1481 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index e75187202f..4e88376e49 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -74,15 +74,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 1: Symbol Layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | L5 | F6 | F7 | F8 | F9 | F10 | F11 | + * | | F1 | F2 | F3 | F4 | F5 | F6 | | L5 | F7 | F8 | F9 | F10 | F11 | F12 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 | + * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | ! | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | * | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | + * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | + | - | . | ! | | + * | | | | | | | + | - | . | ; | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -104,11 +104,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS,KC_DEL,KC_TRNS, // right hand - M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, + M(M_TOGGLE_5), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, DE_EXLM, DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), LSFT(DE_PLUS), KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, - DE_PLUS, DE_MINS, KC_DOT, KC_EXLM, KC_TRNS, + DE_PLUS, DE_MINS, KC_DOT, LSFT(DE_COMM), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex index 8d74fd599b..5346f1bdf8 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -1,19 +1,19 @@ -:100000000C948E080C94D2080C94D2080C94D2084C -:100010000C94D2080C94D2080C94D2080C94D208F8 -:100020000C94D2080C94D2080C94D1140C94A315FF -:100030000C94D2080C94D2080C94D2080C94D208D8 -:100040000C94D2080C947D2E0C94D2080C94D208F7 -:100050000C94D2080C9475240C94D2080C94D208F9 -:100060000C94D2080C94D2080C94D2080C94D208A8 -:100070000C94D2080C94D2080C94D2080C94D20898 -:100080000C94D2080C94D2080C94D2080C94D20888 -:100090000C94D2080C94D2080C94D2080C94D20878 -:1000A0000C94D2080C94D2080C94D20890099A09A6 -:1000B000B209CA09120A180A390A1E0A340A2A0A97 -:1000C0002F0A240AFA09E2093E0A101632162017EE -:1000D0003216201777169A162017EF160217491AAC -:1000E000491A781A781ABB1AF91A121D121D121B16 -:1000F000121D131C131CE61C121D121DFD1C01E118 +:100000000C9485080C94C9080C94C9080C94C90870 +:100010000C94C9080C94C9080C94C9080C94C9081C +:100020000C94C9080C94C9080C94C4140C9496152B +:100030000C94C9080C94C9080C94C9080C94C908FC +:100040000C94C9080C94702E0C94C9080C94C9081F +:100050000C94C9080C9468240C94C9080C94C90821 +:100060000C94C9080C94C9080C94C9080C94C908CC +:100070000C94C9080C94C9080C94C9080C94C908BC +:100080000C94C9080C94C9080C94C9080C94C908AC +:100090000C94C9080C94C9080C94C9080C94C9089C +:1000A0000C94C9080C94C9080C94C90887099109D3 +:1000B000A909C109090A0F0A300A150A2B0A210ADF +:1000C000260A1B0AF109D909350A03162516131742 +:1000D000251613176A168D161317E216F5163C1A15 +:1000E0003C1A6B1A6B1AAE1AEC1A051D051D051B7E +:1000F000051D061C061CD91C051D051DF01C01E173 :100100000137023702E10138023801E201250225F8 :1001100002E20001E10137023702E1013802380151 :10012000E10130023002E10001E10137023702E172 @@ -34,23 +34,23 @@ :100210000004001D710D304D831F001A0016001BD5 :10022000000C304C002000080007000600E1042A02 :10023000002100150009001900E1084A00220017FA -:10024000000A000500000003300130E3000000E276 +:10024000000A000500000003302300E3000000E284 :1002500000000002540230E7000000E60000000445 -:100260005423001C000B00110000002E7F240018F6 -:10027000000D00100050004B0025000C000E003651 -:100280000052002C00260012000F003700510028F9 -:100290000027001300330038714F004E002D002F4F -:1002A000003474E50031810000010001000100010B +:100260005424001C000B00110000002E7F250018F4 +:10027000000D00100050004B0026000C000E003650 +:100280000052002C00270012000F003700510028F8 +:10029000002D001300330038714F004E0031002F45 +:1002A000003474E50030810000010001000100010C :1002B00000010000003A003500310001000100019A :1002C000003B0035022102350001004C003C001EBD :1002D0000224062202010001003D002D0224022416 :1002E00004010001003E000100370011040000017C :1002F000000100010000000100000001000E3001BB -:100300000000000100000001003F00240624022339 -:100310000200000100400022042502350001000116 -:100320000041002304260235023700010042002468 -:100330000425041F021E020100430031002604317F -:1003400002010001004400450001002D02010000EF +:100300000000000100000001004000240624022338 +:1003100002000001004100220425023500300001E6 +:100320000042002304260235023800010043002465 +:100330000425041F02370001004400310026043167 +:10034000023602010045001E0230022D02010000AB :100350000001000100010001000100000001000196 :100360000001000100010001000100F400F200FBA7 :1003700000010001000100F000F100FA000100019D @@ -101,1451 +101,1449 @@ :10064000742073696465206E6F7420726573706FB7 :100650006E64696E670A00747279696E6720746FE0 :10066000207265736574206D637032333031380ADF -:10067000000A44454255473A20656E61626C6564E4 -:100680002E0A005B735D004B6579626F61726420B6 -:1006900073746172742E0A005B575D005B535D00DA -:1006A0005B525D005B445D005B435D0016034500EB -:1006B000720067006F0044006F0078002000450062 -:1006C0005A00000016034500720067006F004400E6 -:1006D0006F007800200045005A0000000403090460 -:1006E00009028D00050100A0FA09040000010301C0 -:1006F0000100092111010001223F000705810308C3 -:10070000000A09040100010301020009211101008E -:1007100001224D000705820308000A0904020001B6 -:1007200003000000092111010001223600070583A2 -:100730000308000A09040300020300000009211154 -:1007400001000122200007058403200001070504A1 -:100750000320000109040400010300000009211125 -:100760000100012239000705850310000112011064 -:100770000100000008EDFE07130100010200010561 -:10078000010906A101050719E029E71500250195D2 -:100790000875018102050819012905950575019162 -:1007A00002950175039101050719002977150025A8 -:1007B00001957875018102C00631FF0974A1010914 -:1007C00075150025FF95207508810209761500250D -:1007D000FF952075089102C005010980A1018502DD -:1007E00016010026B7001A01002AB70075109501FE -:1007F0008100C0050C0901A1018503160100269C9A -:10080000021A01002A9C02751095018100C00501A1 -:100810000902A1010901A100050919012905150015 -:100820002501950575018102950175038101050179 -:10083000093009311581257F95027508810609382F -:100840001581257F950175088106050C0A3802156A -:1008500081257F950175088106C0C005010906A1A3 -:1008600001050719E029E7150025019508750181A3 -:10087000029501750881010508190129059505757D -:100880000191029501750391010507190029FF15D2 -:100890000025FF950675088100C00A0025303258F2 -:1008A00020006B6579626F6172645F7265706F7250 -:1008B000743A20000A0025303258006B6579626F67 -:1008C0006172645F7365745F6C65643A200064658F -:1008D0006C5F6B65795F6269743A2063616E27743F -:1008E0002064656C3A20253032580A006164645FE8 -:1008F0006B65795F6269743A2063616E2774206169 -:1009000064643A20253032580A00646F6E652E0AFE -:1009100000626F6F676D61676963207363616E3A30 -:10092000202E2E2E2000290A002575002F00257567 -:10093000005D280025640020002564002000256457 -:100940000020002564007C0025303258006D6F7552 -:1009500073656B6579205B62746E7C782079207694 -:1009600020685D287265702F61636C293A205B00F6 -:100970006D6B5F776865656C5F74696D655F746FDB -:100980005F6D6178203D2025640A006D6B5F77689C -:1009900065656C5F6D61785F7370656564203D208F -:1009A00025640A006D6B5F74696D655F746F5F6DC0 -:1009B0006178203D2025640A006D6B5F6D61785F72 -:1009C0007370656564203D2025640A006D6B5F6966 -:1009D0006E74657276616C203D2025640A006D6B33 -:1009E0005F64656C6179203D2025640A006D6B5F52 -:1009F000776865656C5F74696D655F746F5F6D6165 -:100A000078203D2025640A006D6B5F776865656C12 -:100A10005F6D61785F7370656564203D2025640AB1 -:100A2000006D6B5F74696D655F746F5F6D617820D9 -:100A30003D2025640A006D6B5F6D61785F737065A2 -:100A40006564203D2025640A006D6B5F696E7465E6 -:100A50007276616C203D2025640A006D6B5F6465D1 -:100A60006C6179203D2025640A000A002575003656 -:100A70003A20776865656C5F74696D655F746F5F58 -:100A80006D61783A20000A00257500353A207768B4 -:100A900065656C5F6D61785F73706565643A2000B1 -:100AA0000A00257500343A2074696D655F746F5FC4 -:100AB0006D61783A20000A00257500333A206D6197 -:100AC000785F73706565643A20000A00257500320E -:100AD0003A20696E74657276616C286D73293A20CC -:100AE000000A00257500313A2064656C6179282A76 -:100AF00031306D73293A20000A092D2056616C753A -:100B00006573202D0A004D3E004D25643E20003FB8 -:100B1000007365742064656661756C740A00433EF9 -:100B2000200077686572652064656C74613A2063A3 -:100B30007572736F723D25642C20776865656C3D16 -:100B400025640A53656520687474703A2F2F656EAA -:100B50002E77696B6970656469612E6F72672F7794 -:100B6000696B692F4D6F7573655F6B6579730A00EB -:100B70000A092D204D6F7573656B6579202D0A4527 -:100B800053432F713A09717569740A313A096465E2 -:100B90006C6179282A31306D73290A323A09696EFD -:100BA00074657276616C286D73290A333A096D6138 -:100BB000785F73706565640A343A0974696D655FBE -:100BC000746F5F6D61780A353A09776865656C5FA7 -:100BD0006D61785F73706565640A363A0977686598 -:100BE000656C5F74696D655F746F5F6D61780A0A2B -:100BF000703A097072696E742076616C7565730A5B -:100C0000643A097365742064656661756C74730A6F -:100C100075703A092B310A646F776E3A092D310AE3 -:100C2000706775703A092B31300A7067646F776EA0 -:100C30003A092D31300A0A7370656564203D2064DD -:100C4000656C7461202A206D61785F7370656564DE -:100C5000202A2028726570656174202F2074696DC8 -:100C6000655F746F5F6D6178290A003F004D3E201B -:100C700000433E20004C25640A000A092D20436FE2 -:100C80006E736F6C65202D0A4553432F713A0971BD -:100C90007569740A6D3A096D6F7573656B65790ACC -:100CA000000A092D204D61676963202D0A643A0905 -:100CB00064656275670A783A096465627567206DD4 -:100CC00061747269780A6B3A096465627567206BB2 -:100CD0006579626F6172640A6D3A0964656275676D -:100CE000206D6F7573650A763A0976657273696F60 -:100CF0006E0A733A097374617475730A633A09630F -:100D00006F6E736F6C65206D6F64650A302D343AB9 -:100D1000096C61796572302D34284631302D4634A6 -:100D2000290A506175733A09626F6F746C6F616460 -:100D300065720A653A09656570726F6D0A6E3A09E7 -:100D40004E4B524F0A7A3A09736C656570204C45D8 -:100D50004420746573740A000A002575002E6E6BBA -:100D6000726F3A20000A002575002E737761705F5C -:100D70006261636B736C6173685F6261636B7370F4 -:100D80006163653A20000A002575002E7377617053 -:100D90005F67726176655F6573633A20000A0025BC -:100DA00075002E6E6F5F6775693A20000A00257521 -:100DB000002E737761705F72616C745F7267756922 -:100DC0003A20000A002575002E737761705F6C6110 -:100DD0006C745F6C6775693A20000A002575002EF7 -:100DE000636170736C6F636B5F746F5F636F6E745E -:100DF000726F6C3A20000A002575002E73776170BF -:100E00005F636F6E74726F6C5F636170736C6F633E -:100E10006B3A20000A0025303258006B65796D610D -:100E2000705F636F6E6669672E7261773A20000AA1 -:100E3000002575002E6D6F7573653A20000A002538 -:100E400075002E6B6579626F6172643A20000A004A -:100E50002575002E6D61747269783A20000A0025AC -:100E600075002E656E61626C653A20000A002530BF -:100E700032580064656275675F636F6E6669672EDE -:100E80007261773A20000A00257500646566617515 -:100E90006C745F6C617965723A20003F004E4B5272 -:100EA0004F3A206F66660A004E4B524F3A206F6EE3 -:100EB0000A0074696D65725F636F756E743A202500 -:100EC00030346C580A006B6579626F6172645F6ED2 -:100ED0006B726F3A2025580A006B6579626F6172F8 -:100EE000645F69646C653A2025580A006B65796215 -:100EF0006F6172645F70726F746F636F6C3A2025FC -:100F0000580A00686F73745F6B6579626F61726411 -:100F10005F6C65647328293A2025580A000A092D58 -:100F200020537461747573202D0A004743433A209F -:100F3000342E392E33204156522D4C4942433A200B -:100F4000312E382E31204156525F415243483A20CB -:100F5000617672350A004F5054494F4E533A204C37 -:100F600055464120424F4F544D41474943204D4F34 -:100F70005553454B45592045585452414B455920EE -:100F8000434F4E534F4C4520434F4D4D414E44200F -:100F90004E4B524F203531320A004255494C443AAB -:100FA00020666437326134362D6469727479202882 -:100FB00032313A35313A3231204A616E20323420B2 -:100FC00032303136290A005649443A2030784645B5 -:100FD0004544284572676F446F7820455A29205050 -:100FE00049443A20307831333037284572676F44AE -:100FF0006F7820455A29205645523A2030783030B3 -:1010000030310A00444553433A20742E6D2E6B2E26 -:10101000206B6579626F617264206669726D7761B9 -:10102000726520666F72204572676F646F780A0080 -:101030000A092D2056657273696F6E202D0A000A09 -:101040006D6F7573653A206F66660A000A6D6F757D -:1010500073653A206F6E0A000A6B6579626F617280 -:10106000643A206F66660A000A6B6579626F617286 -:10107000643A206F6E0A000A6D61747269783A20D2 -:101080006F66660A000A6D61747269783A206F6E45 -:101090000A000A64656275673A206F6E0A000A6486 -:1010A000656275673A206F66660A000A0A626F6FAA -:1010B000746C6F616465722E2E2E2000433E2000FA -:1010C0006565636F6E6669673A0A00536C656570A3 -:1010D000204C454420746573740A00000000000031 -:1010E000000000000000010204060A0F17202C3A3D -:1010F0004A5D71879DB3C7DAE9F5FCFFFCF5E9DAD3 -:10110000C7B39D87715D4A3A2C20170F0A06040267 -:1011100001000000000000000000000011241FBEBC -:10112000CFEFDAE0DEBFCDBF04B603FE24C080916E -:10113000FB019091FC01A091FD01B091FE0187306F -:10114000904BA740B04BB9F41092FB011092FC01F8 -:101150001092FD011092FE0114BE84B7877F84BFF8 -:1011600088E10FB6F89480936000109260000FBE83 -:10117000E0E0FFE3099511E0A0E0B1E0E6E9F0E688 -:1011800002C005900D92AA33B107D9F711E0AAE386 -:10119000B1E001C01D92AB3FB107E1F70E94091217 -:1011A0000C9449300C940000FF93EF93E0913A01C6 -:1011B000F0913B01309709F00995EF91FF91089567 -:1011C000FC018591803011F0EFDFFBCF0895FF2700 -:1011D000E0E230E247FF0CC0419597FF09C0EDE225 -:1011E0006095709580959095611D711D811D911D73 -:1011F00027FF02C0219530E350E2AA27660F771F30 -:10120000881F991FAA1FA41710F0A41B63955A9555 -:10121000A9F7AA3008F0A95FA05DAF93F395611517 -:1012200071058105910541F7ED3211F4EF93F395C6 -:10123000F21718F43F93F395FBCF8F91B5DFFA9532 -:10124000E1F70895E991F9918591803021F0853297 -:1012500019F0AADFF9CF089520E0E89455915532AE -:10126000C1F3503311F4689455915A3348F45053F4 -:1012700090F3220F022E220F220F200D250FF4CF04 -:101280000EF4219589919991533619F3533729F129 -:10129000533559F1BC0188279927E8945C3621F42D -:1012A0008991999168945591543639F446EF7EF0BE -:1012B00077FF0DC08FEF9FEF0AC055374AE039F036 -:1012C000583540E121F0523642E009F00895FF938D -:1012D000EF937DDFEF91FF91B7CFFF93EF93FC0189 -:1012E00081918030B9F360DFFBCFFF93EF9368DF2C -:1012F000F1CFDF93CF93CDB7DEB72596A3DFCF91A4 -:10130000DF910895462F50E04F30510508F0DEC0C0 -:10131000DC01FA01EA5AFF4F12968C910C94FE2FD1 -:10132000882321F085EE0E94E618D0C085EE0E9449 -:10133000AE19CCC0882349F00E943F2490933D0110 -:1013400080933C0188EF91E0089580913C01909159 -:101350003D010E944B24873991050CF0A8C08AEE0C -:1013600091E00895882349F00E943F2490933D0125 -:1013700080933C0187EE91E0089580913C0190912B -:101380003D010E944B24873991050CF093C089EDF3 -:1013900091E00895882349F00E943F2490933D01F5 -:1013A00080933C0182ED91E0089580913C01909101 -:1013B0003D010E944B24873991050CF07EC080ECE2 -:1013C00091E00895882349F00E943F2490933D01C5 -:1013D00080933C018BEB91E0089580913C019091CA -:1013E0003D010E944B24873991050CF069C08DEABC -:1013F00091E00895882349F00E943F2490933D0195 -:1014000080933C0188EA91E0089580913C0190919D -:101410003D010E944B24873991050CF054C08AE9A4 -:1014200091E00895882309F451C085E891E008957A -:10143000882309F44BC080E791E00895882309F4DC -:1014400045C08BE591E00895882309F43FC086E408 -:1014500091E008958823D1F18DE391E008958823E8 -:10146000A9F188E291E00895882381F183E191E078 -:101470000895882359F18EEF90E00895882331F183 -:101480008091BE019091BF01A091C001B091C101B6 -:1014900020E2822780729927AA27BB278093BE016A -:1014A0009093BF01A093C001B093C1010FC085EF1D -:1014B00091E0089584EE91E008958BEC91E0089519 -:1014C00086EB91E0089583EA91E0089580E090E052 -:1014D000089508956091BE017091BF018091C0018F -:1014E0009091C1010E94742356985E9825982D987A -:1014F00026982E9827982F98833099F028F48130D9 -:1015000041F0823049F00895843049F0853061F02F -:101510000895259A2D9A0895269A2E9A0895259A27 -:101520002D9A279A2F9A0895259A2D9A269A2E9ABF -:10153000279A2F9A08958AE69AE0892B11F00E9443 -:101540006A0A80E090E0089556985E9825982D9854 -:1015500026982E9827982F988FEF90E090938900E7 -:101560008093880090938B0080938A0090938D00E5 -:1015700080938C00259A2D9A2FEF80E792E02150DE -:1015800080409040E1F700C00000269A2E9A2FEF8D -:1015900080E792E0215080409040E1F700C00000D9 -:1015A000279A2F9A2FEF80E792E0215080409040B9 -:1015B000E1F700C0000025982D982FEF80E792E01A -:1015C000215080409040E1F700C0000026982E98FE -:1015D0002FEF80E792E0215080409040E1F700C07B -:1015E000000027982F9856985E9825982D98269851 -:1015F0002E9827982F98089589EA8093800089E093 -:101600008093810024982C983F988AB18F748AB96E -:101610006E98479A8BB1806B8BB9769A0E94A40A18 -:1016200089E69AE0892B11F00E94690A80E090E037 -:10163000089580E28093000180913E0181110EC0E7 -:101640000E94680B81E080933E012FEF83ED90E3D1 -:10165000215080409040E1F700C0000080E40E94EB -:101660006E0B8093000181112EC00E94980B809315 -:101670000001811128C00E94980B80930001811104 -:1016800022C08FE30E94980B8093000181111BC040 -:101690000E94900B80E40E946E0B809300018111E8 -:1016A00012C08CE00E94980B8093000181110BC046 -:1016B0000E94980B80930001811105C08FE30E9466 -:1016C000980B809300010E94900B80910001089577 -:1016D0001092B9008AE08093B800089594EA90933C -:1016E000BC009091BC0097FFFCCF9091B900987F0F -:1016F000983021F0903111F081E008958093BB0083 -:1017000084E88093BC008091BC0087FFFCCF80916F -:10171000B900887F883111F0803471F780E0089536 -:1017200084E98093BC008091BC0084FDFCCF0895C7 -:101730008093BB0084E88093BC008091BC0087FF4D -:10174000FCCF9091B900987F81E0983209F480E055 -:10175000089584E88093BC008091BC0087FFFCCF93 -:101760008091BB00089580910001811115C080E433 -:101770000E946E0B8093000181110CC082E10E94D7 -:10178000980B80930001811105C08FEF0E94980B88 -:10179000809300010E94900B84B1807F84B985B151 -:1017A000807F85B98AB1837F8AB98BB1837F8BB9FA -:1017B0003E98469808950E94190B809300010E945C -:1017C000B30B80B38C7080BB81B3836F81BBA0E40B -:1017D000B1E0EEE4F1E08EE08E0F11921D928E13D7 -:1017E000FCCF8CEF9AE0892B11F00C94FC0A089541 -:1017F0009F92AF92BF92CF92DF92EF92FF920F93A0 -:101800001F93CF93DF93809100018823E1F08091B3 -:101810003F018F5F80933F01811115C087E596E0FE -:101820000E94E0080E94190B80930001882329F090 -:101830008DE396E00E94E00806C089E296E00E94EF -:10184000E0080E94A40A00E411E0C0E0D0E0BB245C -:10185000B39482E0A82ECC24C394D12C2AE1E22EAA -:1018600026E0F22EC730D10500F5809100018111EC -:1018700064C080E40E946E0B80930001811112C04D -:1018800082E10E94980B8093000181110BC0C60178 -:101890000C2E01C0880F0A94EAF780950E94980BDD -:1018A000809300010E94900B48C0CA30A1F028F438 -:1018B000C83059F0C93061F005C0CC3089F070F003 -:1018C000CD3089F0209A289810C0219A29980DC00F -:1018D000229A2A980AC0239A2B9807C0529A01C0CC -:1018E000539A5B9802C03E9A469890EA9A95F1F70F -:1018F0009FB1799902C082E001C080E091709B2580 -:10190000982B7C9902C084E001C080E0892B7D99EE -:1019100002C038E001C030E0832B7E9902C020E194 -:1019200001C020E0822B9FB19095991F9927991FA4 -:101930009295990F907E892B10C0809100018111A2 -:1019400074C080E40E946E0B80930001882309F428 -:1019500059C0912C0E94900B892DF8019081981705 -:1019600039F1808380910101882301F18091D901AF -:1019700080FF04C08FE196E00E94E0088091D901C9 -:1019800080FF0CC0809101011F928F93FF92EF9214 -:101990000E9479090F900F900F900F908091D901BC -:1019A00080FF04C088E196E00E94E008A092010157 -:1019B0000E94B30B21960F5F1F4FCE30D10509F067 -:1019C00051CF809101018823B1F0815080930101B2 -:1019D000882339F08FE99FE00197F1F700C00000FC -:1019E0000AC0AEE4B1E0E0E4F1E0CF01825F9191A2 -:1019F0009D938E13FCCF8BE99AE0892BC1F00E9456 -:101A00009B0A15C083E10E94980B8093000181110D -:101A1000A0CF81E40E946E0B80930001811199CFC9 -:101A20000E94A90B982E909495CF80E096CF81E0EC -:101A3000DF91CF911F910F91FF90EF90DF90CF90AA -:101A4000BF90AF909F900895E82FF0E0E25BFE4FCB -:101A500080810895CF92DF92EF92FF920F931F93B0 -:101A6000CF93DF9381E096E00E94E0088EE4E82EB9 -:101A700081E0F82EC0E0D0E09CEFC92E95E0D92E91 -:101A800003EF15E0DF93CF93DF92CF920E947909A5 -:101A900089EF95E00E94E008F70181917F0190E0D5 -:101AA0000E94DA239F938F931F930F930E947909CB -:101AB00081EF95E00E94E00821968DB79EB70896C9 -:101AC0000FB6F8949EBF0FBE8DBFCE30D105D1F6B4 -:101AD000DF91CF911F910F91FF90EF90DF90CF900A -:101AE00008958B3B910578F4883A910540F5853A45 -:101AF0009105D0F48430910508F0B1C08130910592 -:101B000009F4ADC06BC0803E910508F467C0883E03 -:101B1000910508F4A4C09C01205F310920313105F2 -:101B200008F05CC090650895853A910509F459C0A4 -:101B3000863A910509F058C082E890E40895883A01 -:101B4000910509F454C0893A910509F453C08A3AC1 -:101B5000910509F452C08B3A910509F451C08C3AB1 -:101B6000910509F450C08D3A910509F44FC0803BAE -:101B7000910509F44EC08E3A910509F44DC08F3A93 -:101B8000910509F44CC0813B910509F44BC0823B9F -:101B9000910509F44AC0833B910509F449C0843B8F -:101BA000910509F448C0853B910509F447C0863B7F -:101BB000910509F446C0873B910509F445C0883B6F -:101BC000910509F444C0893B910509F443C08A3B5F -:101BD000910509F442C080E094E4089580E090E02B -:101BE000089581E890E4089583E890E4089582EEF2 -:101BF00094E4089589EE94E408958AEE94E40895B7 -:101C000085EB94E4089586EB94E4089587EB94E4DF -:101C100008958CEC94E408958DEC94E4089583E8A1 -:101C200095E408958AE895E4089582E995E4089595 -:101C300084E995E4089581E296E4089583E296E4C8 -:101C4000089584E296E4089585E296E4089586E294 -:101C500096E4089587E296E408958AE296E408956A -:101C6000089596E0799FF001112494E5899FE00D95 -:101C7000F11D1124E60FF11DEE0FFF1FEF5FFD4F69 -:101C8000859194910895880F991FFC01E558FF4FA5 -:101C9000859194910895880F991FFC01E550FE4F9E -:101CA00085919491089526E0729FF001112444E5F6 -:101CB000849FE00DF11D1124E60FF11DEE0FFF1FB3 -:101CC000EF5FFD4F859194919C013A9521154FE16D -:101CD000340708F41EC13F512115304120F49F7094 -:101CE0000E944B0E08959C0130532115304118F489 -:101CF0009927906C0895811520E5920769F40E9458 -:101D0000341D4FEF84E39CE0415080409040E1F768 -:101D100000C000000C949A24813020E5920751F411 -:101D200081E796E00E94E0088091D901816080936C -:101D3000D90108959C0130552115304108F051C05A -:101D4000292F33272F70332721303105D9F4AC01E7 -:101D50004370552702C0220F331F4A95E2F73C68B3 -:101D6000AC0164E0440F551F6A95E1F744275370B6 -:101D7000242B352B73E0880F991F7A95E1F7807635 -:101D800099271DC02230310529F4982F8827816FAB -:101D9000906A089523303105A9F4AC0143705527AA -:101DA00021E030E002C0220F331F4A95E2F73C6881 -:101DB00043E0880F991F4A95E1F7807E9770822B48 -:101DC000932B089524303105E1F4AC01437055277D -:101DD00021E030E002C0220F331F4A95E2F73A6853 -:101DE000E7CF9C0130572115304118F49F70906265 -:101DF00008959C0130582115304118F49F70906A65 -:101E00000895803E9105E0F4803C910558F58133BA -:101E1000910509F46FC048F48932910509F463C053 -:101E20008A32910509F46DC072C089339105E9F0D9 -:101E300082389105D1F08533910509F44DC067C012 -:101E4000833E910581F138F4803E9105B9F0823EE0 -:101E50009105D9F05CC0863E910561F1873E910500 -:101E6000A1F155C00E94430E08952091EC0120FD80 -:101E700002C021FF4CC080EE90E049C08091EC018F -:101E800080FFF9CF89E390E042C08091EC0182FFAE -:101E90000EC08091EC0184FF03C080E090E037C069 -:101EA00083EE90E034C08091EC0182FFF2CF82EEAD -:101EB00090E02DC08091EC0183FF0BC08091EC017C -:101EC00084FDEBCF87EE90E022C08091EC0183FF90 -:101ED000F5CF86EE90E01BC08091EC0185FF07C036 -:101EE00089E290E014C08091EC0185FFF9CF85E391 -:101EF00090E00DC08091EC0186FF07C08AE290E07F -:101F000006C08091EC0186FFF9CF81E390E00E944A -:101F1000710D0895089580916F0108959FB7F89409 -:101F200010925E019FBF9091F201943009F057C06A -:101F30009091E9009F703091EC00232F217030FDCB -:101F400020E8922B24E02093E9002091EB0020FF71 -:101F500043C02091EE0027FF3FC020915C01222367 -:101F600021F02091E80025FF37C010925C0126E0A7 -:101F70003091E80035FD15C03091F201343061F543 -:101F80003091EB0035FD28C0215021F481E0809391 -:101F90005C0122C0EFE9FFE03197F1F700C00000DB -:101FA000E7CF8093F1008091E80085FD0AC0809121 -:101FB000E80080FFFCCF8091E8008E778093E800F6 -:101FC00006C08FB7F89421E020935E018FBF9F7009 -:101FD0009093E90080E008959F709093E9008FEF5F -:101FE0000895CF93DF9300D01F92CDB7DEB79C0149 -:101FF0008091F201843019F593E099833B832A8321 -:102000009093E9008FEF9091E800815095FD06C014 -:1020100095ED9A95F1F700008111F5CF8091E800D8 -:1020200085FF0DC040E050E063E070E0CE01019616 -:102030000E94C1128091E8008E778093E8000F9093 -:102040000F900F90DF91CF910895CF93DF9300D041 -:102050001F92CDB7DEB72091F201243021F522E0A6 -:1020600029839B838A8383E08093E9008FEF90919B -:10207000E800815095FD06C095ED9A95F1F70000B6 -:102080008111F5CF8091E80085FF0DC040E050E060 -:1020900063E070E0CE0101960E94C1128091E800D9 -:1020A0008E778093E8000F900F900F90DF91CF9183 -:1020B00008952091F2012430F1F422E02093E90008 -:1020C0002FEF3091E800215035FD06C035ED3A95EF -:1020D000F1F700002111F5CF2091E80025FF0BC09A -:1020E00040E050E065E070E00E94C1128091E8009D -:1020F0008E778093E8000895CF93DF932091F201CB -:10210000243009F048C0EC0180910C018823E1F0F3 -:1021100080910D018823C1F085E08093E9008FEF65 -:102120009091E800815095FD06C095E19A95F1F7F0 -:1021300000008111F5CF8091E80085FF2CC040E0C0 -:1021400050E060E170E017C081E08093E9008FEF1C -:102150009091E800815095FD06C095ED9A95F1F7B4 -:1021600000008111F5CF8091E80085FF14C040E0A8 -:1021700050E068E070E0CE010E94C1128091E8005A -:102180008E778093E80080E1FE01AFE5B1E0019039 -:102190000D928A95E1F7DF91CF91089588EA96E054 -:1021A0000E94E0088091F101811109C00E9456143B -:1021B0000E94B3148091E20084608093E20008954D -:1021C00084EA96E00E94E0081092F101089580EA06 -:1021D00096E00C94E0088CE996E00E94E0080C94EC -:1021E0006A2E88E996E00E94E0080E9430240E944E -:1021F000702E0E9458170C948A0F20915D012F5F5A -:10220000822F62E30E94DE2F992319F020935D0153 -:10221000089510925D0180915E01882371F1809193 -:10222000F201843041F58091E9008F702091EC003B -:10223000922F917020FD90E8892B94E09093E90013 -:102240009091EB0090FF14C09091EE0097FF10C0AA -:102250009091E80095FF03C01092F100F9CF9091A2 -:10226000E80090FF05C09091E8009E779093E80009 -:102270008F708093E90010925E01089542E061EC56 -:1022800081E00E94D01342E061EC82E00E94D01312 -:1022900042E061EC83E00E94D01342E261EC84E012 -:1022A0000E94D01342E161EC85E00C94D013809140 -:1022B000F401833009F455C030F4813071F082307C -:1022C00009F48EC008958A3009F47AC08B3009F47D -:1022D00060C0893009F09CC020C08091F301813A30 -:1022E00009F096C08091E800877F8093E800809194 -:1022F000F7019091F801892B21F460E18FE591E0DD -:1023000003C060E080E090E070E00E940C138091D8 -:10231000E8008B778093E80008958091F301813283 -:1023200009F076C08091F7019091F801009719F0BB -:10233000049709F06DC08091E800877F8093E800E2 -:102340008091E80082FD05C08091F2018111F8CFF3 -:102350005FC08091F10080936F018091E8008B77DE -:1023600053C08091F301813A09F052C08091F70186 -:102370009091F801892B09F04BC08091E800877F8C -:102380008093E8008091E80080FFFCCF80910C01F1 -:1023900036C08091F3018132D9F58091F701909197 -:1023A000F801892BA9F58091E800877F8093E800E8 -:1023B0000E9405148091F50180930C010C94341D4A -:1023C0008091F301813221F58091E800877F80932D -:1023D000E8000E9405148091F60180937001089531 -:1023E0008091F301813AA1F48091E800877F809386 -:1023F000E8008091E80080FFFCCF8091700180931D -:10240000F1008091E8008E778093E8000C94051429 -:10241000089584B7877F84BF88E10FB6F8948093CE -:102420006000109260000FBE90E080E80FB6F89454 -:1024300080936100909361000FBE0E94E5170E9497 -:1024400056140E94B3148091E20084608093E200ED -:102450008EE89FE00E946F2378940E9438170E94B4 -:10246000E71782E091E00E9453170E94582E87E8F8 -:1024700096E00E94E0088091F201853089F483E8BB -:1024800096E00E94E0080E94F4238091F0018823E6 -:1024900091F30E941C24882371F30E94AB12EBCFAE -:1024A0000E941518E8CF292F332723303105C9F0B2 -:1024B00064F42130310581F02230310509F043C048 -:1024C0008DE890E020EE36E042C021323105F1F097 -:1024D0002232310541F137C082E190E02DE637E04C -:1024E00036C099278130910541F08230910541F045 -:1024F000892B49F5ECEDF6E005C0E4ECF6E002C00E -:10250000ECEAF6E0849190E09F0121C06530D8F4B8 -:10251000E62FF0E0EE0FFF1FEB5DFE4F20813181D3 -:1025200089E090E014C0653070F470E0FB01EE0FBC -:10253000FF1FE55EFE4F20813181FB01EA5EFE4F09 -:10254000808190E004C080E090E020E030E0FA017B -:1025500031832083089580E189BD82E189BD09B47A -:1025600000FEFDCF8091D8008F7D8093D8008091B0 -:10257000E00082608093E0008091E00081FDFCCF6C -:102580000895CF92DF92EF92FF920F931F93CF9314 -:10259000DF93EC018B016A010E942414811133C086 -:1025A000C114D10439F0F60180819181081B190B07 -:1025B000C80FD91FE12CF12C0115110519F18091DB -:1025C000E80085FD16C08091E8008E778093E800D2 -:1025D000C114D10449F0F60180819181E80EF91E01 -:1025E000F182E08285E00FC00E942414882321F349 -:1025F0000AC089918093F10001501109FFEFEF1A91 -:10260000FF0ADACF80E0DF91CF911F910F91FF9009 -:10261000EF90DF90CF9008952091F9013091FA0169 -:102620002617370748F06115710539F42091E80045 -:102630002E772093E80001C0B90140E061157105D3 -:10264000A9F12091F201222309F443C0253009F4B5 -:1026500042C02091E80023FD40C02091E80022FD07 -:1026600032C02091E80020FFE9CF4091F300209193 -:10267000F20030E0342BFC01CF016115710559F0F7 -:102680002830310540F481918093F1006150710947 -:102690002F5F3F4FF1CF41E02830310509F040E096 -:1026A0002091E8002E772093E800C8CF4111C9CFD0 -:1026B0000AC08091F201882361F0853061F0809139 -:1026C000E80083FD0AC08091E80082FFF2CF80E03D -:1026D000089582E0089583E0089581E008952091AF -:1026E000F9013091FA012617370748F06115710595 -:1026F00039F42091E8002E772093E80001C0B90159 -:10270000FC0120E06115710591F18091F2018823AF -:1027100009F440C0853009F43FC08091E80083FD92 -:102720003DC08091E80082FD2FC08091E80080FFCD -:10273000E9CF2091F3008091F20090E0922B611597 -:10274000710559F08830910540F424912093F100EF -:102750003196615071090196F2CF21E0089709F096 -:1027600020E08091E8008E778093E800CBCF2111A4 -:10277000CCCF0AC08091F201882361F0853061F0EE -:102780008091E80083FD0AC08091E80082FFF2CFCB -:1027900080E0089582E0089583E0089581E008953F -:1027A000982F973058F59093E900981739F0709169 -:1027B000EC002091ED005091F00003C0242F762F03 -:1027C00050E021FF19C03091EB003E7F3093EB00C9 -:1027D0003091ED003D7F3093ED003091EB003160A2 -:1027E0003093EB007093EC002093ED005093F000D9 -:1027F0002091EE0027FF07C09F5FD3CF8F7080939B -:10280000E90081E0089580E008958091F30187FF59 -:1028100011C08091E80082FD05C08091F201811114 -:10282000F8CF11C08091E8008B770BC08091F20146 -:10283000882349F08091E80080FFF8CF8091E8007C -:102840008E778093E80008952091E4003091E500B0 -:1028500095E64091EC00842F817040FF22C080916A -:10286000E80080FD1CC08091F201882391F0853042 -:1028700091F08091EB0085FD10C04091E4005091F3 -:10288000E5004217530729F39A01915011F784E0AC -:10289000089582E0089583E0089581E0089580E03E -:1028A00008954091E80042FFDECF08950E94C414CD -:1028B0000E94CC14E0EEF0E0808181608083E8ED3E -:1028C000F0E080818F77808319BCA7EDB0E08C9118 -:1028D0008E7F8C9380818F7E80831092F10108958A -:1028E0000F931F93CF93DF930E94C4140E94CC14C4 -:1028F000C8EDD0E088818F7788838881806888835D -:1029000088818F7D888319BC1092F2011092EE01AC -:102910001092F0011092EF0100EE10E0F8018081BA -:102920008B7F808388818160888342E060E080E0E3 -:102930000E94D013E1EEF0E080818E7F8083E2EE92 -:10294000F0E0808181608083808188608083F801ED -:1029500080818E7F8083888180618883DF91CF91A1 -:102960001F910F910895E8EDF0E080818F7E8083C4 -:10297000E7EDF0E080818160808384E082BF81E0C8 -:102980008093F1010C947014E8EDF0E080818E7F6B -:1029900080831092E20008951092DA001092E10014 -:1029A00008951F920F920FB60F9211242F933F9309 -:1029B0004F935F936F937F938F939F93AF93BF9347 -:1029C000EF93FF938091E10082FF0BC08091E200C2 -:1029D00082FF07C08091E1008B7F8093E1000E941D -:1029E000FD108091DA0080FF1FC08091D80080FF29 -:1029F0001BC08091DA008E7F8093DA008091D9002D -:102A000080FF0DC080E189BD82E189BD09B400FE6F -:102A1000FDCF81E08093F2010E94CE1005C019BC69 -:102A20001092F2010E94E0108091E10080FF19C035 -:102A30008091E20080FF15C08091E2008E7F80933C -:102A4000E2008091E20080618093E2008091D800F2 -:102A500080628093D80019BC85E08093F2010E94C7 -:102A6000EB108091E10084FF30C08091E20084FF90 -:102A70002CC080E189BD82E189BD09B400FEFDCF93 -:102A80008091D8008F7D8093D8008091E1008F7E67 -:102A90008093E1008091E2008F7E8093E20080913C -:102AA000E20081608093E2008091EE01882311F0C2 -:102AB00084E007C08091E30087FD02C081E001C08F -:102AC00083E08093F2010E94F1108091E10083FF86 -:102AD00029C08091E20083FF25C08091E100877FBB -:102AE0008093E10082E08093F2011092EE018091E8 -:102AF000E1008E7F8093E1008091E2008E7F8093E1 -:102B0000E2008091E20080618093E20042E060E0B8 -:102B100080E00E94D0138091F00088608093F000E4 -:102B20000E94E710FF91EF91BF91AF919F918F911C -:102B30007F916F915F914F913F912F910F900FBEB9 -:102B40000F901F9018951F920F920FB60F9211249D -:102B50002F933F934F935F936F937F938F939F93A5 -:102B6000AF93BF93CF93DF93EF93FF93C091E900AF -:102B7000CF708091EC00D82FD17080FDD0E81092FA -:102B8000E9008091F000877F8093F00078940E94A4 -:102B9000E7151092E9008091F00088608093F000C2 -:102BA000CD2BCF70C093E900FF91EF91DF91CF91D2 -:102BB000BF91AF919F918F917F916F915F914F9155 -:102BC0003F912F910F900FBE0F901F9018951F935C -:102BD000CF93DF93CDB7DEB7AA970FB6F894DEBFD9 -:102BE0000FBECDBFE3EFF1E088E08E0F9091F100D2 -:102BF00091938E13FBCF0E9457118091E80083FFC1 -:102C00001FC18091F3019091F401492F50E04A30A7 -:102C1000510508F015C1FA01EB59FF4F0C94FE2F36 -:102C2000803881F0823809F00BC18091F7018F70F4 -:102C30008093E9008091EB0085FB882780F9109252 -:102C4000E90006C08091EF019091F001911182603E -:102C50009091E800977F9093E8008093F1001092A4 -:102C6000F100C8C0282F2D7F09F0EAC0882319F091 -:102C7000823061F0E5C08091F501813009F0E0C05B -:102C8000933009F080E08093F0012BC08091F50132 -:102C9000811127C08091F7018F7009F4D1C0809312 -:102CA000E9002091EB0020FF1CC0933021F48091BB -:102CB000EB00806214C09091EB0090619093EB0068 -:102CC00021E030E0A90102C0440F551F8A95E2F7C8 -:102CD0004093EA001092EA008091EB0088608093B4 -:102CE000EB001092E9008091E800877F86C0811197 -:102CF000A7C01091F5011F778091E3008078812BA8 -:102D00008093E3008091E800877F8093E8000E9431 -:102D100005148091E80080FFFCCF8091E30080687B -:102D20008093E300111102C082E001C083E0809330 -:102D3000F20186C08058823008F082C08091F5018F -:102D40009091F6018C3D53E0950779F583E08A83F5 -:102D50008AE289834FB7F894DE01139620E03EE0C3 -:102D600051E2E32FF0E050935700E49120FF03C0BD -:102D7000E295EF703F5FEF708E2F90E0EA3010F039 -:102D8000C79601C0C0968D939D932F5F243149F75C -:102D90004FBF8091E800877F8093E8006AE270E08F -:102DA000CE0101960E940C1314C0AE014F5F5F4F1D -:102DB0006091F7010E945312BC01892B09F440C0B5 -:102DC0009091E800977F9093E80089819A810E9412 -:102DD0006F138091E8008B778093E80031C08038D2 -:102DE00079F58091E800877F8093E8008091EE017B -:102DF0008093F1008091E8008E778093E8000E9434 -:102E000005141EC081111CC09091F5019230C0F4D0 -:102E10008091E800877F8093E8009093EE010E9404 -:102E200005148091EE01811106C08091E30087FDB9 -:102E300002C081E001C084E08093F2010E943E1153 -:102E40008091E80083FF0AC08091E800877F80932B -:102E5000E8008091EB0080628093EB00AA960FB6A9 -:102E6000F894DEBF0FBECDBFDF91CF911F910895C3 -:102E7000CF938091F2018823A1F0C091E900CF7037 -:102E80009091EC00892F817090FD80E8C82B109202 -:102E9000E9008091E80083FD0E94E715CF70C093A0 -:102EA000E900CF910895909376018093750108957C -:102EB000E0917501F0917601309721F00190F08159 -:102EC000E02D099480E00895EF92FF920F931F93F5 -:102ED000CF93DF93E0917501F09176013097B1F1D6 -:102EE0008C010280F381E02D09958091D90182FF48 -:102EF0002DC080FF04C082EA98E00E94E008E8014B -:102F000010E18CE9E82E88E0F82E8091D90180FF4D -:102F10000BC088811F928F93FF92EF920E947909D4 -:102F20000F900F900F900F90115021961111EDCF2F -:102F30008091D90180FF0AC08AE998E0DF91CF91A2 -:102F40001F910F91FF90EF900C94E008DF91CF91CB -:102F50001F910F91FF90EF900895E0917501F0910E -:102F60007601309721F00480F581E02D09940895D1 -:102F700020917301309174018217930771F090933F -:102F8000740180937301E0917501F091760130979F -:102F900021F00680F781E02D0994089520917101B8 -:102FA000309172018217930771F0909372018093B0 -:102FB0007101E0917501F0917601309721F0008464 -:102FC000F185E02D0994089508950C94E4170E946A -:102FD00036240E94DB0B0C94FC24CF93C82F8091E5 -:102FE000D90182FF1EC080FF04C08BEB98E00E94D5 -:102FF000E0088091D90180FF0CC01F92CF9386EB2F -:1030000098E09F938F930E9479090F900F900F90F3 -:103010000F908091D90180FF04C084EB98E00E945A -:10302000E0088C2FCF910C948A0FCF92DF92EF9211 -:10303000FF920F931F93CF93DF93CDB7DEB72B97FC -:103040000FB6F894DEBF0FBECDBF0E94F80B88E725 -:10305000C82E81E0D82E00E010E0E02E802F0E94E4 -:10306000240DF60141916F01F42EF826B1F40F5FA3 -:103070001F4F0E30110589F78FEF89838A831B82DA -:103080000E943F248160782F9D838C8349815A81DF -:103090006B818D810E94B81840C09091D90191FF39 -:1030A00004C08B870E942A0D8B8520E030E04F2DD5 -:1030B00050E0922FBA01022E02C0759567950A94CE -:1030C000E2F760FF24C02E83EF8221E030E0690147 -:1030D00002C0CC0CDD1C9A95E2F790E08C219D217A -:1030E000892B09F420E028870E943F248160782FF3 -:1030F0009A8789874E815F8168858A850E94B81882 -:10310000F801E858FE4F8081C826C08206C02F5FB4 -:103110003F4F2630310569F6AACF0E946D281091E5 -:1031200077010E9458171817A1F00E945817809332 -:1031300077012B960FB6F894DEBF0FBECDBFDF919F -:10314000CF911F910F91FF90EF90DF90CF900C9453 -:10315000ED172B960FB6F894DEBF0FBECDBFDF91F3 -:10316000CF911F910F91FF90EF90DF90CF90089536 -:10317000CF93DF93CDB7DEB72B970FB6F894DEBFB2 -:103180000FBECDBF4F83588769877A878B87DE0153 -:10319000119686E0FD0111928A95E9F785E0FE011E -:1031A000379601900D928A95E1F749815A816B819A -:1031B0007C818D819E810E94CE1F2B960FB6F89444 -:1031C000DEBF0FBECDBFDF91CF910895CF9388238F -:1031D00009F4C2C0C82F823859F40E94581781FDE3 -:1031E000BBC089E30E946A220E94492389E30CC084 -:1031F000833879F40E94581780FDAEC083E50E94A1 -:103200006A220E94492383E50E94BD22CF910C943B -:103210004923843859F40E94581782FD9DC087E4E1 -:103220000E946A220E94492387E4EECF8CEF8C0F24 -:10323000813A48F48C2F0E94002D81118DC08C2F73 -:103240000E946A22E3CF80E28C0F883048F4C77076 -:1032500081E001C0880FCA95EAF70E941223D6CFF9 -:103260008BE58C0F833078F4C53A29F0C63A31F0FB -:1032700083E890E005C081E890E002C082E890E039 -:10328000CF910C94B81788E58C0F833108F064C097 -:10329000C83A39F1C93A41F1CA3A49F1CB3A51F148 -:1032A000CC3A59F1CD3A61F1C03B69F1CE3A71F1B6 -:1032B000CF3A79F1C13B81F1C23B89F1C33B91F136 -:1032C000C43B99F1C53BA1F1C63BA9F1C73BB1F1A4 -:1032D000C83BB9F1C93BC1F1CA3BC9F180E090E0FC -:1032E00038C082EE90E035C089EE90E032C08AEEC0 -:1032F00090E02FC085EB90E02CC086EB90E029C0D9 -:1033000087EB90E026C08CEC90E023C08DEC90E041 -:1033100020C083E891E01DC08AE891E01AC082E9EC -:1033200091E017C084E991E014C081E292E011C0FD -:1033300083E292E00EC084E292E00BC085E292E06C -:1033400008C086E292E005C087E292E002C08AE20D -:1033500092E0CF910C94CE17CF910895882309F471 -:103360004BC0823859F40E94581781FF45C089E349 -:103370000E946A220E94492389E30CC0833871F4B9 -:103380000E94581780FF38C083E50E946A220E947D -:10339000492383E50E94BD220C944923843859F4C3 -:1033A0000E94581782FF28C087E40E946A220E9468 -:1033B000492387E4EFCF9CEF980F913A58F390E2BE -:1033C000980F983050F4877091E001C0990F8A955A -:1033D000EAF7892F0E941823DFCF9BE5980F9330DF -:1033E00020F480E090E00C94B817885A833120F4E0 -:1033F00080E090E00C94CE170895882321F00E947D -:1034000012230C9449230895882321F00E94182345 -:103410000C9449230895BF92CF92DF92EF92FF92CE -:103420000F931F93CF93DF9300D000D000D0CDB780 -:10343000DEB725E0FC01DE01119601900D922A9580 -:10344000E1F7FC01408131810281258122952F70B5 -:1034500063817481672B09F4E5C23F3F19F44F3F44 -:1034600009F4E0C27C0149833A8389819A812E83E1 -:103470000E942922182FB92E0E9428220E94EF2094 -:10348000EB2DE295EF70F0E0E159FF4F2E810C94A7 -:10349000FE2F8B2D807F9B2D9F70F92E882319F096 -:1034A000F29480EFF822002349F0FF2009F467C26C -:1034B0008F2D0E9422230E94492361C2812F0E94E6 -:1034C000AE19FF2009F4AEC28F2D0E942823269644 -:1034D0000FB6F894DEBF0FBECDBFDF91CF911F9125 -:1034E0000F91FF90EF90DF90CF90BF900C94492305 -:1034F0003B2D307F8B2D8F70303211F08295807F85 -:10350000112319F0113021F12CC00023B9F022232E -:1035100009F4A0C1213009F09DC126960FB6F89498 -:10352000DEBF0FBECDBFDF91CF911F910F91FF90F6 -:10353000EF90DF90CF90BF900C943223222319F0AC -:10354000213009F46FC28E830E9435238E8196C18B -:10355000002321F0223008F065C27CC1211162C233 -:103560008DC1002321F0222309F474C108C2222353 -:1035700009F484C119C22B2D26952695237030E0BD -:103580002115310521F021303105D1F04BC2002346 -:1035900021F0812F9B2D937002C080E090E0269651 -:1035A0000FB6F894DEBF0FBECDBFDF91CF911F9154 -:1035B0000F91FF90EF90DF90CF90BF900C94B817D1 -:1035C000002321F0812F9B2D937002C080E090E0BA -:1035D00026960FB6F894DEBF0FBECDBFDF91CF9118 -:1035E0001F910F91FF90EF90DF90CF90BF900C94C0 -:1035F000CE17812F002319F00E94F32602C00E94EB -:103600005B2726960FB6F894DEBF0FBECDBFDF91C5 -:10361000CF911F910F91FF90EF90DF90CF90BF90CF -:103620000C94E0278B2D837009F07BC00111FAC147 -:10363000812F829586958770880F880F912F9F70B4 -:10364000C92ED12CE12CF12C082E04C0CC0CDD1C91 -:10365000EE1CFF1C0A94D2F714FF12C04FE050E09A -:1036600060E070E004C0440F551F661F771F8A9505 -:10367000D2F7CB01BA01609570958095909503C003 -:1036800060E070E0CB012B2D269526952370422F0C -:1036900050E042305105D9F04330510569F16C29B1 -:1036A0007D298E299F294130510551F126960FB66B -:1036B000F894DEBF0FBECDBFDF91CF911F910F9168 -:1036C000FF90EF90DF90CF90BF900C9416216C2963 -:1036D0007D298E299F2926960FB6F894DEBF0FBE4E -:1036E000CDBFDF91CF911F910F91FF90EF90DF90B1 -:1036F000CF90BF900C9432210E941621C701B601D1 -:1037000026960FB6F894DEBF0FBECDBFDF91CF91E6 -:103710001F910F91FF90EF90DF90CF90BF900C948E -:10372000FA20002319F08B2D817001C08695882323 -:1037300009F478C1812F829586958770880F880F4C -:10374000912F9F70C92ED12CE12CF12C082E04C092 -:10375000CC0CDD1CEE1CFF1C0A94D2F714FF12C027 -:103760004FE050E060E070E004C0440F551F661F5A -:10377000771F8A95D2F7CB01BA0160957095809535 -:10378000909503C060E070E0CB012B2D2695269527 -:103790002370422F50E042305105D9F0433051059B -:1037A00069F16C297D298E299F294130510551F1FC -:1037B00026960FB6F894DEBF0FBECDBFDF91CF9136 -:1037C0001F910F91FF90EF90DF90CF90BF900C94DE -:1037D000F0216C297D298E299F2926960FB6F89411 -:1037E000DEBF0FBECDBFDF91CF911F910F91FF9034 -:1037F000EF90DF90CF90BF900C940C220E94F021AC -:10380000C701B60126960FB6F894DEBF0FBECDBF36 -:10381000DF91CF911F910F91FF90EF90DF90CF90AC -:10382000BF900C94D421103FD1F118F4103E50F405 -:10383000A1C0123F09F463C008F44CC0133F09F45F -:1038400073C098C01F708B2D8F710023A1F00E9450 -:103850006D21812F26960FB6F894DEBF0FBECDBF27 -:10386000DF91CF911F910F91FF90EF90DF90CF905C -:10387000BF900C94FD190E948E21812F26960FB6C1 -:10388000F894DEBF0FBECDBFDF91CF911F910F9196 -:10389000FF90EF90DF90CF90BF900C94041A00231C -:1038A000A9F02111BFC08B2D8F7126960FB6F89409 -:1038B000DEBF0FBECDBFDF91CF911F910F91FF9063 -:1038C000EF90DF90CF90BF900C94B321223008F09E -:1038D000A9C0E9CF0023A9F08B2D8F7126960FB6D2 -:1038E000F894DEBF0FBECDBFDF91CF911F910F9136 -:1038F000FF90EF90DF90CF90BF900C946D2100234C -:1039000059F38B2D8F7126960FB6F894DEBF0FBE3C -:10391000CDBFDF91CF911F910F91FF90EF90DF907E -:10392000CF90BF900C948E21002399F08B2D8F7136 -:1039300026960FB6F894DEBF0FBECDBFDF91CF91B4 -:103940001F910F91FF90EF90DF90CF90BF900C945C -:10395000582126960FB6F894DEBF0FBECDBFDF917B -:10396000CF911F910F91FF90EF90DF90CF90BF907C -:103970000C944E210023A9F0222309F4ADCF812F0E -:1039800026960FB6F894DEBF0FBECDBFDF91CF9164 -:103990001F910F91FF90EF90DF90CF90BF900C940C -:1039A000E618222309F4ADCF812F26960FB6F8949E -:1039B000DEBF0FBECDBFDF91CF911F910F91FF9062 -:1039C000EF90DF90CF90BF900C94AE194B2D4F70BD -:1039D000612FC7010E94820926960FB6F894DEBFB8 -:1039E0000FBECDBFDF91CF911F910F91FF90EF9050 -:1039F000DF90CF90BF900C9472204B2D4F70612FB1 -:103A0000C70126960FB6F894DEBF0FBECDBFDF917B -:103A1000CF911F910F91FF90EF90DF90CF90BF90CB -:103A20000C94300E26960FB6F894DEBF0FBECDBFB5 -:103A3000DF91CF911F910F91FF90EF90DF90CF908A -:103A4000BF9008950E942F230E9404230E944923BF -:103A50000E9413290E94E02780E090E00E94B8179E -:103A600080E090E00C94CE170E941F230C94221D3E -:103A70000E942922292F22952F7030E02C30310509 -:103A80004CF42A3031056CF42250310922303105D2 -:103A900088F407C02C30310549F02F30310531F062 -:103AA00009C0803E48F0803F29F406C093FB882778 -:103AB00080F9089580E0089581E00895CF93DF9321 -:103AC00000D000D01F92CDB7DEB70F900F900F90AF -:103AD0000F900F90DF91CF910895CF93DF9300D097 -:103AE00000D000D0CDB7DEB726960FB6F894DEBF73 -:103AF0000FBECDBFDF91CF9108951F93CF93DF937A -:103B0000C091860116E080918701C81799F0D0E036 -:103B10001C9FF0011D9FF00D1124E857FE4F4081BE -:103B2000518162817381848195810E946D1D2196EE -:103B3000C770E9CFDF91CF911F9108954091B801EF -:103B40005091B9016091BA017091BB018091BC01A3 -:103B50009091BD010C946D1D8091BD0182958F7077 -:103B600009F054C08091BA01882309F44FC08091B4 -:103B70008601A09187016091B8017091B9014091CF -:103B8000BB015091BC01B6E08A1709F43FC090E038 -:103B900041155105C1F17F3F11F46F3FA1F1B89F6D -:103BA000F001B99FF00D1124E857FE4F21817213E7 -:103BB0002AC02081621327C02281211124C02381C1 -:103BC00034812417350710F421503109241B350B9B -:103BD000283C3105C0F42091BD012F702061209355 -:103BE000BD0126E0289FF001299FF00D1124E35725 -:103BF000FE4F80818F708061808388EB91E00E940E -:103C00000B1A0C947D1D01968770BECF0895CF923C -:103C1000DF92EF92FF920F931F93CF93DF93CDB775 -:103C2000DEB762970FB6F894DEBF0FBECDBF8C0132 -:103C300085E0F801DE011D9601900D928A95E1F76D -:103C4000D8014C9111965C91119712966C91129734 -:103C50001396CD90DC9014973091B8017091B90112 -:103C60008091BB019091BC01009709F46BC17F3F2B -:103C700019F43F3F09F466C1E090BA01EE2009F45F -:103C8000C0C02091BD01C816D90628F0F601E81B76 -:103C9000F90BCF0104C0809590958C0D9D1DFF24DC -:103CA000F394883C910578F0F12C207F09F0C6C090 -:103CB0007C2DD98AC88A89890E945E1D88EB91E093 -:103CC0000E940B1AB1C0822F807F09F046C0751385 -:103CD00014C0341312C0611110C02F7020612093E2 -:103CE000BD010E949E1D88EB91E00E940B1A8091FD -:103CF000BD01D80115968C932EC0CD2819F15F3FD8 -:103D000011F44F3FF9F0F62E61111CC0809186012D -:103D10002091870136E0821709F45AC090E0389F5D -:103D2000F001399FF00D1124E857FE4F71815713B0 -:103D300006C07081471303C07281711103C00196E0 -:103D40008770E9CFF62E662309F418C18091BD0172 -:103D500081608093BD01F12C11C1751308C034132B -:103D600006C0611104C08091BD01D801C3C04D8758 -:103D70005E878D859E856A8B0E94381D6A8988239F -:103D8000E1F16623D1F12091BD01822F82958F70E0 -:103D900090E0029774F08091B8019091B9019887F2 -:103DA0008F831986DB86CA862C87CE0107960E94F0 -:103DB0000B1A86E0F801A8EBB1E001900D928A950C -:103DC000E1F70E94AC1D0E949E1DFF24F394D6C013 -:103DD0004D875E878D859E850E942922292F2295F9 -:103DE0002F7030E0223031050CF0BCC09F7009F01C -:103DF000B6C0805E883008F4C1C0C8010E940B1AAA -:103E0000E4CFC816D90608F453C0F601E81BF90B35 -:103E1000CF01883C910508F450C0F12C7C2DD98A43 -:103E2000C88A89890E945E1DE8EBF1E086E0DF0127 -:103E30001D928A95E9F70E949E1DA0C0751314C0BB -:103E4000341312C0611110C08091BD01F801858347 -:103E5000C8010E940B1A86E0E8EBF1E0DF011D9239 -:103E60008A95E9F7FE2C8AC04D875E878D859E85F1 -:103E70006A8B0E94381D6A89882309F4BECF6623A5 -:103E800009F4BBCF2091BD01822F82958F7090E005 -:103E900002970CF48ECF8091B8019091B9019A836A -:103EA00089831B82DD82CC822E83CE0101967FCF57 -:103EB000809590958C0D9D1DACCFF62E662309F450 -:103EC0009CCF75132EC034132CC02091BD0120FD52 -:103ED0001FC0822F82958F70D9F0D80115962C9330 -:103EE00015978F3049F08F5F982F9295907F822F92 -:103EF0008F70892B15968C93C8010E940B1A86E04F -:103F0000F801A8EBB1E001900D928A95E1F793CF0B -:103F100086E0F801A8EBB1E001900D928A95E1F7F7 -:103F20002DC04D875E878D859E850E94381D81112D -:103F300040CF8091BD0181608093BD01C8010E9486 -:103F40000B1A1CC0662309F458CF4D875E878D85F8 -:103F50009E850E94381D882309F44FCF2ACF8111F6 -:103F600048CF0CC0243031050CF047CF9F7009F4C6 -:103F700040CFF8019581907F09F03BCF8F2D62965D -:103F80000FB6F894DEBF0FBECDBFDF91CF911F916A -:103F90000F91FF90EF90DF90CF9008951F93CF93F4 -:103FA000DF93CDB7DEB72C970FB6F894DEBF0FBE08 -:103FB000CDBF4F83588769877A878B879C87CE01CF -:103FC00007960E94071E882369F08F8198852A85AD -:103FD0003B85232BF1F19F3F09F063C08F3F09F030 -:103FE00060C037C086E0FE013796DE011196019071 -:103FF0000D928A95E1F76F817885EA85FB85309788 -:1040000041F17F3F11F46F3F21F12091870130E0B2 -:10401000C9010196877099274091860150E0841765 -:10402000950709F447C069837A83FD83EC8396E0A2 -:10403000929FD001939FB00D1124A857BE4FFE014F -:10404000319601900D929A95E1F7809387010E9435 -:104050007D1D16E080918601909187018917C1F13D -:10406000189FC001112488579E4F0E94071E882365 -:1040700079F1E09186011E9FF0011124E857FE4F6F -:104080004081518162817381848195810E946D1D7F -:104090008091860190E00196877099278093860130 -:1040A000D9CF4F81588569857A858B859C850E94FB -:1040B0006D1DCFCF0E94341D109287011092860192 -:1040C000E8EBF1E086E0DF011D928A95E9F7C1CFC8 -:1040D0002C960FB6F894DEBF0FBECDBFDF91CF9107 -:1040E0001F910895EF92FF920F931F93CF93DF9349 -:1040F0008C01892B09F46CC0F12CEE24E394E801C7 -:104100002196F8018491843740F4843008F051C03E -:10411000813081F0823019F15BC0853709F444C0E9 -:10412000A8F19CE7980F903708F052C08F770E9453 -:10413000AE1941C00E5F1F4FFE01C49180E28C0F8B -:10414000883048F4C7708E2D01C0880FCA95EAF7F1 -:104150000E94222314C08C2F0E94E6182DC00E5FEF -:104160001F4FFE01C49180E28C0F883058F4C77055 -:104170008E2D01C0880FCA95EAF70E9428230E945D -:1041800049231AC08C2F0E94AE1916C00E5F1F4F14 -:10419000FE01C491CC2381F08FE99FE00197F1F7F4 -:1041A00000C00000C150F6CF0E5F1F4FFE01F4901B -:1041B00003C00E94E6188E018F2D882309F49FCF3B -:1041C000EFE9FFE03197F1F700C000008150F5CF33 -:1041D000DF91CF911F910F91FF90EF900895089577 -:1041E0006093C2017093C3018093C4019093C50191 -:1041F0000C94221D0F931F930091C2011091C301D3 -:104200002091C4013091C501DC01CB01802B912BA1 -:10421000A22BB32B8093C2019093C301A093C4013E -:10422000B093C5011F910F910C94221D0F931F9302 -:104230000091C2011091C3012091C4013091C501C8 -:10424000DC01CB0180239123A223B3238093C201FD -:104250009093C301A093C401B093C5011F910F9126 -:104260000C94221D0F931F930091C2011091C30162 -:104270002091C4013091C501DC01CB018027912739 -:10428000A227B3278093C2019093C301A093C401D6 -:10429000B093C5011F910F910C94221D1092BE0185 -:1042A0001092BF011092C0011092C1010C94221D06 -:1042B00041E050E060E070E004C0440F551F661F0D -:1042C000771F8A95D2F74093BE015093BF01609348 -:1042D000C0017093C1010C94221D41E050E060E0E8 -:1042E00070E004C0440F551F661F771F8A95D2F7F0 -:1042F0008091BE019091BF01A091C001B091C10118 -:10430000482B592B6A2B7B2B4093BE015093BF0146 -:104310006093C0017093C1010C94221D41E050E0F4 -:1043200060E070E004C0440F551F661F771F8A9538 -:10433000D2F740955095609570958091BE0190910F -:10434000BF01A091C001B091C101482359236A2344 -:104350007B234093BE015093BF016093C0017093D3 -:10436000C1010C94221D41E050E060E070E004C007 -:10437000440F551F661F771F8A95D2F78091BE01A3 -:104380009091BF01A091C001B091C1014827592768 -:104390006A277B274093BE015093BF016093C00101 -:1043A0007093C1010C94221D0F931F930091BE01C5 -:1043B0001091BF012091C0013091C101DC01CB01FE -:1043C000802B912BA22BB32B8093BE019093BF0126 -:1043D000A093C001B093C1011F910F910C94221DB5 -:1043E0000F931F930091BE011091BF012091C00156 -:1043F0003091C101DC01CB0180239123A223B3239F -:104400008093BE019093BF01A093C001B093C101FE -:104410001F910F910C94221D0F931F930091BE01C9 -:104420001091BF012091C0013091C101DC01CB018D -:1044300080279127A227B3278093BE019093BF01C5 -:10444000A093C001B093C1011F910F910C94221D44 -:104450000895CF92DF92EF92FF920F931F93CF9325 -:10446000DF938C01C090C201D090C301E090C401E1 -:10447000F090C5014091BE015091BF016091C00113 -:104480007091C101C42AD52AE62AF72ACFE1D0E0EB -:10449000D701C6010C2E04C0B695A79597958795B0 -:1044A0000A94D2F780FF07C0B8018C2F0E94530EE8 -:1044B0008130910531F4219758F7B80180E00E94CE -:1044C000530EDF91CF911F910F91FF90EF90DF90EE -:1044D000CF90089590910C01992321F090910D01B6 -:1044E000911109C020910E0130910F01F90132960E -:1044F0009FEF40E030C0982F9695969596959F3007 -:10450000A0F4E0910E01F0910F01E90FF11D877009 -:1045100021E030E0A90102C0440F551F8A95E2F75F -:10452000CA019181892B818308959091D90190FFCF -:1045300023C01F928F938CEE98E09F938F930E94DD -:1045400079090F900F900F900F9008959F3F39F0C9 -:104550004F5F4E3041F051915813F8CF0DC05111BB -:10456000F7CF942FF5CF9F3F39F0F901E90FF11DF7 -:1045700097FDFA9582830895089590910C019923EF -:1045800021F090910D01911109C020910E013091FF -:104590000F01F9013296205F3F4F30C0982F96955A -:1045A000969596959F30A8F4E0910E01F0910F0139 -:1045B000E90FF11D877021E030E0A90102C0440F2E -:1045C000551F8A95E2F7CA018095918189238183DD -:1045D00008959091D90190FF16C01F928F938EEC91 -:1045E00098E09F938F930E9479090F900F900F90FE -:1045F0000F9008953196E217F30729F090819813F0 -:10460000F9CF1082F7CF089581E090E0E0910E019C -:10461000F0910F01E80FF91F10820196803191058A -:10462000A9F708959091D801892B8093D801089516 -:1046300080959091D80189238093D8010895109294 -:10464000D80108959091D701892B8093D7010895BF -:1046500080959091D70189238093D7010895109276 -:10466000D70108958093C60108951092C601089558 -:1046700080910E0190910F01FC0131969C01205F09 -:104680003F4F80E0919191118F5FE217F307D1F7CF -:104690000895E0910E01F0910F018091D80180837F -:1046A000E0910E01F0910F0190818091D701892B4B -:1046B00080838091C601882361F0E0910E01F09122 -:1046C0000F019081892B80830E94382381111092E1 -:1046D000C60180910E0190910F010C946417909384 -:1046E0003B0180933A010895CF92DF92EF92FF92BF -:1046F0006C01EE24FF24C114D104E104F10421F083 -:10470000C701B60120E101C020E0C72ED82EE92E56 -:10471000FF24C114D104E104F10419F0285FC7019A -:10472000B6016B017C0154E0F694E794D794C794EA -:104730005A95D1F7C114D104E104F10419F02C5FAA -:10474000C701B6016B017C0142E0F694E794D7946F -:10475000C7944A95D1F7C114D104E104F10419F0CA -:104760002E5FC701B601DC01CB01B695A7959795E1 -:104770008795892B8A2B8B2B09F02F5F822FFF9037 -:10478000EF90DF90CF9008958295982F9C7C392FE1 -:1047900036953695282F237344E0249FC0011124B9 -:1047A000932F982B292F2A7A2695892F8575880F84 -:1047B000822B08951F93CF93DF931F92CDB7DEB75F -:1047C00099830E94C423182F9981892F0E94C423A2 -:1047D000212F30E0322F2227A901482BCA010F9048 -:1047E000DF91CF911F9108958091F201843009F1FA -:1047F0001092DA0120E488E190E00FB6F894A895D1 -:10480000809360000FBE2093600083B7817F846037 -:1048100083BF83B7816083BF7894889583B78E7F89 -:1048200083BF88E10FB6F894809360001092600017 -:104830000FBE089508950895CF930E941A240E94F0 -:10484000F80B0E941B24C0E08C2F0E94240D8111C4 -:1048500004C0CF5FCE30C1F701C081E0CF91089591 -:104860000E94341D0E9458170C948A0F82E084BD68 -:1048700093E095BD9AEF97BD80936E0008952FB792 -:10488000F8948091DB019091DC01A091DD01B09161 -:10489000DE012FBF0895CF92DF92EF92FF920F9328 -:1048A0001F932FB7F8944091DB015091DC01609188 -:1048B000DD017091DE012FBF6A017B01EE24FF2430 -:1048C0008C0120E030E0C016D106E206F30610F4B9 -:1048D000415051099A01281B390BC9011F910F91B1 -:1048E000FF90EF90DF90CF9008951F920F920FB638 -:1048F0000F9211248F939F93AF93BF938091DB010D -:104900009091DC01A091DD01B091DE010196A11D25 -:10491000B11D8093DB019093DC01A093DD01B09386 -:10492000DE01BF91AF919F918F910F900FBE0F90BD -:104930001F9018950E945614F8942FEF87EA91E67D -:10494000215080409040E1F700C0000087E090EBEC -:10495000DC018093FB019093FC01A093FD01B093D7 -:10496000FE019CE088E10FB6F894A8958093600062 -:104970000FBE90936000FFCFEF92FF920F931F93B3 -:10498000CF93DF93D82FC0E08C2F0E94240D00E03E -:1049900010E0E82EF12CC701002E02C095958795F6 -:1049A0000A94E2F780FD06C00F5F1F4F0630110525 -:1049B00091F709C0602F7C2F80E00E94310ED81340 -:1049C000F3CF81E004C0CF5FCE30F1F680E0DF911D -:1049D000CF911F910F91FF90EF900895CF93C82F23 -:1049E0008CE20E94BC24882321F08C2FCF910C9460 -:1049F000BC2480E0CF910895CF930E944B26811173 -:104A000002C00E94312681E199E00E94E008C5E6DB -:104A1000C15049F00E94F80B8FE39CE90197F1F730 -:104A200000C00000F5CF8AE099E00E94E00889E22A -:104A30000E94EE24811113C18AE20E94EE248111AA -:104A40000E94312685E00E94EE2481110E949A2462 -:104A50000E9456268093D90187E00E94EE24882385 -:104A6000A9F18BE10E94EE24882351F08091D901B5 -:104A700081FB222720F991E0922790FB81F90EC05B -:104A80008EE00E94EE24882361F08091D90182FBA0 -:104A9000222720F991E0922790FB82F98093D90197 -:104AA00015C080E10E94EE249091D901882341F045 -:104AB00093FB222720F981E0822780FB93F904C031 -:104AC000892F809580FB90F99093D9018091D9012D -:104AD0000E945A260E9468268093EC0180EE0E9474 -:104AE000EE24882341F08091EC01982F909590FB63 -:104AF00080F98093EC0189E30E94EE24882359F029 -:104B00008091EC0181FB222720F991E0922790FB14 -:104B100081F98093EC0182EE0E94EE24882359F003 -:104B20008091EC0182FB222720F991E0922790FBF3 -:104B300082F98093EC0186EE0E94EE24882359F0DE -:104B40008091EC0183FB222720F991E0922790FBD2 -:104B500083F98093EC0183EE0E94EE24882359F0C0 -:104B60008091EC0184FB222720F991E0922790FBB1 -:104B700084F98093EC0185E30E94EE24882359F0A8 -:104B80008091EC0185FB222720F991E0922790FB90 -:104B900085F98093EC0181E30E94EE24882359F08B -:104BA0008091EC0186FB222720F991E0922790FB6F -:104BB00086F98093EC0181E10E94EE24882359F06C -:104BC0008091EC0187FB222720F991E0922790FB4E -:104BD00087F98093EC018091EC010E946C26809112 -:104BE000EC0187FB882780F980930D0187E20E9402 -:104BF000EE24C82F8EE10E94EE248111C2608FE165 -:104C00000E94EE248111C46080E20E94EE24811192 -:104C1000C86081E20E94EE248111C06182E20E949C -:104C2000EE248111C06283E20E94EE248111C064EF -:104C300084E20E94EE24882311F0C06802C0CC23D5 -:104C400029F08C2F0E9463266C2F03C00E945F26E0 -:104C5000682F70E080E090E0CF910C94F020CF912D -:104C600008956DEE7EEF80E090E00E94343060E0C9 -:104C700082E090E00E94263060E083E090E00E94B5 -:104C8000263060E084E090E00E94263060E085E01D -:104C900090E00C94263080E090E00E94203021E0EB -:104CA0008D3E9E4F09F020E0822F089582E090E033 -:104CB0000C941830682F82E090E00C94263083E04A -:104CC00090E00C941830682F83E090E00C9426302C -:104CD00084E090E00C941830682F84E090E00C940D -:104CE00026308091E10180FF0BC06091130185E0C7 -:104CF000689FB001112475956795759567952BC0D0 -:104D000081FF09C06091130185E0689FB001112403 -:104D10007595679520C082FF07C06091130185E0FB -:104D2000689FB001112417C09091E2019923D1F03E -:104D300060911201961788F72091130185E0289F52 -:104D400090011124929FA001939F500D112470E0B7 -:104D5000CA010E94EA2F6038710540F4611571059F -:104D600039F002C065E070E0862F08958FE708955E -:104D700081E008958091E10180FF08C060911101F8 -:104D800070E0759567957595679521C081FF06C0A0 -:104D90006091110170E07595679519C082FF04C09C -:104DA0006091110170E010C09091E2019923C1F06F -:104DB000609110019617A0F780911101899FC001A1 -:104DC000112470E00E94EA2F6038710528F4611503 -:104DD000710521F0862F08958FE7089581E00895E9 -:104DE00061E070E0F4CF803F21F40E94712681954C -:104DF00004C0813F29F40E9471268093E501089543 -:104E0000823F21F40E947126819504C0833F29F4DA -:104E10000E9471268093E4010895893F19F40E944D -:104E2000BA2605C08A3F31F40E94BA268195809344 -:104E3000E60108958B3F21F40E94BA26819504C0B3 -:104E40008C3F29F40E94BA268093E7010895843F9D -:104E500021F48091E301816017C0853F21F48091A6 -:104E6000E301826011C0863F21F48091E3018460F8 -:104E70000BC0873F21F48091E301886005C0883F23 -:104E800031F48091E30180618093E30108958D3FC7 -:104E900021F48091E10181600BC08E3F21F480916B -:104EA000E101826005C08F3F29F48091E1018460B7 -:104EB0008093E1010895803F39F48091E50187FFF7 -:104EC0006CC01092E50169C0813F29F48091E50131 -:104ED0001816BCF362C09091E401823F29F497FF59 -:104EE0005CC01092E40159C0833F19F41916CCF349 -:104EF00054C0893F41F48091E60118160CF04DC072 -:104F00001092E6014AC08A3F29F48091E60187FFAA -:104F100044C0F6CF8B3F39F48091E70187FF3DC055 -:104F20001092E7013AC08C3F29F48091E7011816EE -:104F3000BCF333C0843F21F48091E3018E7F17C01E -:104F4000853F21F48091E3018D7F11C0863F21F4DC -:104F50008091E3018B7F0BC0873F21F48091E301B7 -:104F6000877F05C0883F31F48091E3018F7E809375 -:104F7000E30113C08D3F21F48091E1018E7F0BC0CE -:104F80008E3F21F48091E1018D7F05C08F3F29F490 -:104F90008091E1018B7F8093E1018091E401811197 -:104FA0000EC08091E50181110AC08091E601811156 -:104FB00006C08091E701811102C01092E2010895BC -:104FC0008091D90183FF7EC08DE499E00E94E008C2 -:104FD0008091E3011F928F9388E499E09F938F93D0 -:104FE0000E94790986E499E00E94E0088091E4013A -:104FF000282F332727FD30953F938F9383E499E043 -:105000009F938F930E94790981E499E00E94E008C0 -:105010008091E501282F332727FD30953F938F930B -:105020008EE399E09F938F930E9479098CE399E036 -:105030000E94E0088091E601282F332727FD309554 -:105040003F938F9389E399E09F938F930E9479090F -:1050500087E399E00E94E0088091E701282F332739 -:1050600027FD30953F938F9384E399E09F938F932F -:105070000E94790981E399E00E94E0088091E201B1 -:105080001F928F938EE299E09F938F930E947909EC -:105090008CE299E00E94E0088091E1011F928F93D9 -:1050A00089E299E09F938F930E94790986E299E0C3 -:1050B0000E94E0088DB79EB74C960FB6F8949EBF3D -:1050C0000FBE8DBF83EE91E00E94AD170E943F247A -:1050D0009093E0018093DF0108951F93CF93DF93B6 -:1050E0008091DF019091E0010E944B24AC019091EE -:1050F000E201992321F02091140130E006C02091B3 -:1051000015018AE0289F900111244217530708F4E3 -:1051100086C08091E401C091E501D091E601109133 -:10512000E701811107C0C11176C0D11174C01111FE -:1051300072C075C09F3F19F09F5F9093E2011816EF -:1051400024F40E9471268093E4018091E40187FF9A -:1051500005C00E94712681958093E4011C1624F4F9 -:105160000E9471268093E5018091E50187FF05C0CB -:105170000E94712681958093E5016091E401662388 -:1051800039F1C091E501CC2319F1772767FD7095BE -:10519000872F972F0E94EF2E23E333E343E35FE350 -:1051A0000E94532F0E94BC2E6093E4016C2F77273E -:1051B00067FD7095872F972F0E94EF2E23E333E32F -:1051C00043E35FE30E94532F0E94BC2E6093E501EE -:1051D0001D1624F40E94BA268093E6018091E60110 -:1051E00087FF05C00E94BA2681958093E6011116BB -:1051F00024F40E94BA268093E7018091E70187FF9B -:1052000005C00E94BA2681958093E701DF91CF9176 -:105210001F910C94E0279F3F09F08ECF96CFDF912E -:10522000CF911F910895E3EEF1E085E0DF011D923B -:105230008A95E9F71092E2011092E101089580E762 -:105240009BE00E94E0081F9281E08F931F9285E00F -:105250008F9382E29BE09F938F930E9479090F9036 -:105260000F900F900F900F900F9008958330E9F1F9 -:1052700028F4813061F0823009F10895853009F415 -:1052800062C008F449C0863009F474C00895809162 -:105290001501262F30E0280F311D2F3F310524F452 -:1052A000680F6093150103C08FEF80931501809103 -:1052B00015011F928F938BE59AE072C080911401C3 -:1052C000262F30E0280F311D2F3F310524F4680FC1 -:1052D0006093140103C08FEF809314018091140137 -:1052E0001F928F9389E49AE05BC080911301262F6F -:1052F00030E0280F311D2F3F310524F4680F6093F3 -:10530000130103C08FEF80931301809113011F924B -:105310008F9386E39AE044C080911201262F30E0FB -:10532000280F311D2F3F310524F4680F60931201BF -:1053300003C08FEF80931201809112011F928F930F -:1053400081E29AE02DC080911101262F30E0280FD4 -:10535000311D2F3F310524F4680F6093110103C004 -:105360008FEF80931101809111011F928F9388E03C -:105370009AE016C080911001262F30E0280F311DD1 -:105380002F3F310524F4680F6093100103C08FEFA5 -:1053900080931001809110011F928F938DEE99E000 -:1053A0009F938F930E9479090F900F900F900F9009 -:1053B0000895833081F128F4813059F08230D1F0A2 -:1053C0000895853009F449C0B8F1863009F456C013 -:1053D000089580911501681720F4861B80931501AC -:1053E00002C010921501809115011F928F938EEDCE -:1053F00099E054C080911401681720F4861B8093B3 -:10540000140102C010921401809114011F928F9315 -:105410008CEC99E043C080911301681720F4861B3F -:105420008093130102C010921301809113011F9207 -:105430008F9389EB99E032C080911201681720F4B4 -:10544000861B8093120102C01092120180911201FA -:105450001F928F9384EA99E021C08091110168170F -:1054600020F4861B8093110102C0109211018091DB -:1054700011011F928F938BE899E010C08091100169 -:10548000681720F4861B8093100102C0109210014F -:10549000809110011F928F9380E799E09F938F93E3 -:1054A0000E9479090F900F900F900F900895CF935D -:1054B000C82F1F928F9385E79CE09F938F930E9444 -:1054C000790981E090E0A0E0B0E0BC01CD0104C02A -:1054D000660F771F881F991FCA95D2F70E94F02088 -:1054E0000F900F900F900F90CF910C94341DCF938D -:1054F0008D3109F465C0B0F58E3009F4CCC100F5EA -:10550000873009F49BC1A8F4863009F06DC2809100 -:10551000D901817F8E7F8093D9018AE79CE00E9428 -:10552000E0088CEB90E10E94E00881E08093E901C3 -:1055300080C1883009F44FC08B3009F47CC154C25B -:10554000863109F4F0C138F4803109F4B8C18131F1 -:1055500009F430C249C2893109F4CEC18B3109F452 -:1055600086C142C2853309F437C248F4873209F450 -:1055700033C208F433C2893209F42EC235C28334EF -:1055800038F48A3308F02CC2883309F454C12CC291 -:10559000833409F421C2883409F026C20E94341DE4 -:1055A0008BEA90E10E94E0089FEF23ED80E39150A9 -:1055B00020408040E1F700C000000E949A2439C1D9 -:1055C0008BEC90E10E94E0080E94762E0E94581712 -:1055D0000E948A0F2EC180EC90E10E94E0088BE8C7 -:1055E0009EE00E94E0080E945F261F928F9388E849 -:1055F0009EE09F938F930E94790986E89EE00E9427 -:10560000E0080E945626C82F83E79EE00E94E0082B -:105610001F92CF938EE69EE09F938F930E9479090D -:105620008CE69EE00E94E00882E69EE00E94E00890 -:105630008C2F81701F928F938FE59EE09F938F93A5 -:105640000E9479098DE59EE00E94E00883E59EE0D6 -:105650000E94E008C1FB882780F91F928F9380E5A4 -:105660009EE09F938F930E9479098EE49EE00E94B2 -:10567000E00882E49EE00E94E008C2FB882780F9EF -:105680001F928F938FE39EE09F938F930E947909DF -:105690008DE39EE00E94E00884E39EE00E94E00823 -:1056A000C3FBCC27C0F91F92CF9381E39EE09F9369 -:1056B0008F930E9479098FE29EE00E94E0080E9489 -:1056C0006826C82F8BE19EE00E94E0081F92CF93CE -:1056D00086E19EE09F938F930E94790984E19EE08A -:1056E0000E94E0088BEF9DE00E94E0088C2F817003 -:1056F0001F928F9388EF9DE09F938F930E9479096B -:105700008DB79EB780960FB6F8949EBF0FBE8DBF23 -:1057100086EF9DE00E94E0088FED9DE00E94E0088A -:10572000C1FB882780F91F928F938CED9DE09F939A -:105730008F930E9479098AED9DE00E94E00888EC31 -:105740009DE00E94E008C2FB882780F91F928F939A -:1057500085EC9DE09F938F930E94790983EC9DE0F7 -:105760000E94E00881EB9DE00E94E008C3FB8827CF -:1057700080F91F928F938EEA9DE09F938F930E94F2 -:1057800079098CEA9DE00E94E00882EA9DE00E948F -:10579000E008C4FB882780F91F928F938FE99DE072 -:1057A0009F938F930E9479098DE99DE00E94E00804 -:1057B0008BE89DE00E94E008C5FB882780F91F92D6 -:1057C0008F9388E89DE09F938F930E94790986E8E4 -:1057D0009DE00E94E0088AE69DE00E94E008C6FB8A -:1057E000882780F91F928F9387E69DE09F938F9380 -:1057F0000E94790985E69DE00E94E0088DE59DE024 -:105800000E94E008C7FBCC27C0F91F92CF938AE51E -:105810009DE09F938F930E94790988E59DE00E9407 -:10582000E0088DB79EB74C960FB6F8949EBF0FBE9A -:105830008DBFC1E0DEC081EA9CE05BC08091D901F0 -:10584000C82FC17080FF09C08EE990E10E94E00876 -:105850008091D901817F8E7F47C082E990E10E94CB -:10586000E0088091D90181608093D901E2CF9091C5 -:10587000D90191FBCC27C0F981E0C827892FC0FB53 -:1058800081F98093D901CC2319F085E890E127C0F4 -:1058900087E790E12EC09091D90192FBCC27C0F907 -:1058A00081E0C827892FC0FB82F98093D901CC23DE -:1058B00019F088E690E113C088E590E11AC0909154 -:1058C000D90193FBCC27C0F981E0C827892FC0FB01 -:1058D00083F98093D901CC2351F08CE490E10E94AC -:1058E000E0088091D90181608093D90182C08FE363 -:1058F00090E10E94E0089DCF80E390E10E94E008E3 -:1059000084E090E10E94E00887EC9FE00E94E008BC -:105910008AE99FE00E94E00886E59FE00E94E00897 -:105920008BE29FE0E6CF8DE19FE00E94E0080E94BD -:1059300058171F928F9383E09FE09F938F930E944D -:10594000790980910C011F928F938CEE9EE09F93BA -:105950008F930E947909809170011F928F9389ED36 -:105960009EE09F938F930E94790980910D011F9271 -:105970008F9386EC9EE09F938F930E94790980918C -:10598000DB019091DC01A091DD01B091DE01BF93BC -:10599000AF939F938F9382EB9EE09F938F930E9490 -:1059A00079098DB79EB746960FB6F8949EBF0FBE85 -:1059B0008DBF3FCF0E94341DC0910D0181E0C827EB -:1059C000C0930D01CC2329F088EA9EE00E94E008F4 -:1059D00010C08DE99EE08DCF80E003C08D5101C0E5 -:1059E00089530E94572A25CF8BE99EE00E94E00848 -:1059F000C0E08C2FCF91089580E0089580E0089555 -:105A0000CF93C82F8091E901813081F020F082305E -:105A100009F44FC045C1E0910E01F0910F01808162 -:105A2000813169F0823209F03DC109C0E0910E0177 -:105A3000F0910F018081813111F0823261F48C2F5D -:105A40000E94FC2C811104C08C2F0E94772A2FC049 -:105A500081E090E02CC08C2F0E94FE2C811126C08A -:105A6000C431E1F070F4CB3081F0C031D1F40E9448 -:105A70001F298DE69CE00E94E00882E08093E90106 -:105A800015C0C93259F0C83361F48AE79CE00E941E -:105A9000E00881E79CE00E94E00808C01092E9015C -:105AA00003C18BE69CE00E94E008FEC081E08170AB -:105AB000FDC0C43220F5CE3108F0C0C0CB3099F122 -:105AC000C8F4C73009F0D2C08AE08093150194E190 -:105AD0009093140193E0909313018093120188E056 -:105AE0008093110188E28093100181E19BE00E9484 -:105AF000E008BFC0C33149F1C431C1F0B7C0CB34F5 -:105B000009F4A9C028F4C93289F0C83361F0AEC0E5 -:105B1000C13509F49EC0C23509F499C0CE3409F0EC -:105B2000A5C06AE09EC00E941F29A3C08091E80121 -:105B3000882319F01092E8019CC08EE19BE00E943E -:105B4000E00881E08093E901B1C088EF9AE00E940B -:105B5000E00886EE9AE00E94E008809115011F920D -:105B60008F9383EE9AE09F938F930E94790981EE41 -:105B70009AE00E94E0088FEC9AE00E94E008809191 -:105B800014011F928F938CEC9AE09F938F930E9445 -:105B900079098AEC9AE00E94E0088BEB9AE00E9477 -:105BA000E008809113011F928F9388EB9AE09F93F6 -:105BB0008F930E94790986EB9AE00E94E00885EABB -:105BC0009AE00E94E008809112011F928F9382EA6E -:105BD0009AE09F938F930E94790980EA9AE00E944D -:105BE000E0088BE89AE00E94E008809111011F9282 -:105BF0008F9388E89AE09F938F930E94790986E8B3 -:105C00009AE00E94E0088FE69AE00E94E008809106 -:105C100010011F928F938CE69AE09F938F930E94BE -:105C200079098AE69AE00E94E0088DB79EB7489607 -:105C30000FB6F8949EBF0FBE8DBF1BC0CE51EC2F88 -:105C4000F0E0E15DFE4F80818093E80112C061E0E9 -:105C500003C061E006C06AE08091E8010E94362935 -:105C600008C08091E8010E94D92903C08FE09BE021 -:105C700013C08091E801882369F01F928F9389E017 -:105C80009BE09F938F930E9479090F900F900F9044 -:105C90000F9004C086E09BE00E94E00881E006C00F -:105CA0001092E90180E002C080E001CFCF91089519 -:105CB000E1E8F0E08081886080838081816080837A -:105CC0008FB7F89493E09093890090ED90938800BB -:105CD0008FBF0895EFE6F0E08081826080830895B1 -:105CE000EFE6F0E080818D7F80830895EFE6F0E0BD -:105CF000908182E08927808308951F920F920FB6CA -:105D00000F9211242F933F934F935F936F937F9341 -:105D10008F939F93AF93BF93EF93FF938091EA018B -:105D20009091EB0101969093EB018093EA01811130 -:105D300003C082E00E948A0FE091EB01E695E695B0 -:105D4000F0E0E552FF4EE4918091EA018E1303C02A -:105D500080E00E948A0FFF91EF91BF91AF919F91D8 -:105D60008F917F916F915F914F913F912F910F9004 -:105D70000FBE0F901F90189504D06894B1118DC07C -:105D8000089570D088F09F5790F0B92F9927B75198 -:105D9000A0F0D1F0660F771F881F991F1AF0BA95EF -:105DA000C9F712C0B13081F077D0B1E0089574C066 -:105DB000672F782F8827B85F39F0B93FCCF38695E5 -:105DC00077956795B395D9F73EF490958095709542 -:105DD00061957F4F8F4F9F4F0895E89409C097FBBF -:105DE0003EF490958095709561957F4F8F4F9F4FB2 -:105DF0009923A9F0F92F96E9BB279395F6958795F6 -:105E000077956795B795F111F8CFFAF4BB0F11F4B8 -:105E100060FF1BC06F5F7F4F8F4F9F4F16C088235F -:105E200011F096E911C0772321F09EE8872F762F95 -:105E300005C0662371F096E8862F70E060E02AF0D6 -:105E40009A95660F771F881FDAF7880F96958795C2 -:105E500097F9089557FD9058440F551F59F05F3F2B -:105E600071F04795880F97FB991F61F09F3F79F07C -:105E700087950895121613061406551FF2CF4695FE -:105E8000F1DF08C0161617061806991FF1CF869580 -:105E90007105610508940895E894BB276627772764 -:105EA000CB0197F908950BD078C069D028F06ED057 -:105EB00018F0952309F05AC05FC01124EECFCADF55 -:105EC000A0F3959FD1F3950F50E0551F629FF0010D -:105ED000729FBB27F00DB11D639FAA27F00DB11D66 -:105EE000AA1F649F6627B00DA11D661F829F2227EF -:105EF000B00DA11D621F739FB00DA11D621F839F76 -:105F0000A00D611D221F749F3327A00D611D231F4B -:105F1000849F600D211D822F762F6A2F11249F5799 -:105F200050408AF0E1F088234AF0EE0FFF1FBB1FBC -:105F3000661F771F881F91505040A9F79E3F51055B -:105F400070F014C0AACF5F3FECF3983EDCF3869567 -:105F500077956795B795F795E7959F5FC1F7FE2B06 -:105F6000880F911D9695879597F9089597F99F67E2 -:105F700080E870E060E008959FEF80EC08950024D1 -:105F80000A941616170618060906089500240A949E -:105F900012161306140605060895092E0394000C24 -:105FA00011F4882352F0BB0F40F4BF2B11F460FFB3 -:105FB00004C06F5F7F4F8F4F9F4F0895991B79E00B -:105FC00004C0991F961708F0961B881F7A95C9F789 -:105FD0008095089597FB072E16F4009407D077FD5F -:105FE00009D00E94043007FC05D03EF490958195BD -:105FF0009F4F0895709561957F4F0895EE0FFF1F95 -:106000000590F491E02D0994AA1BBB1B51E107C038 -:10601000AA1FBB1FA617B70710F0A61BB70B881F38 -:10602000991F5A95A9F780959095BC01CD010895C7 -:10603000F999FECF92BD81BDF89A992780B5089550 -:10604000A8E1B0E042E050E00C943B30262FF999F3 -:10605000FECF1FBA92BD81BD20BD0FB6F894FA9A4B -:10606000F99A0FBE019608950E942630272F0C94AE -:106070002730DC01CB01FC01F999FECF06C0F2BD4F -:10608000E1BDF89A319600B40D9241505040B8F7F6 -:066090000895F894FFCF13 -:1060960020028B0F7C1059102510F10F0101C7014A -:1060A60028080A03140A3F4D3620395B080E08D823 -:1060B60007B8077F07F2060B0724073D075D0701B0 -:0A60C60002030405060708090000A4 +:10067000005B735D004B6579626F61726420737417 +:100680006172742E0A005B575D005B535D005B5224 +:100690005D005B445D005B435D0016034500720036 +:1006A00067006F0044006F007800200045005A008A +:1006B000000016034500720067006F0044006F00E1 +:1006C0007800200045005A000000040309040902D4 +:1006D0008D00050100A0FA090400000103010100DA +:1006E000092111010001223F000705810308000ACA +:1006F0000904010001030102000921110100012286 +:100700004D000705820308000A09040200010300E6 +:1007100000000921110100012236000705830308AA +:10072000000A09040300020300000009211101006E +:10073000012220000705840320000107050403208F +:100740000001090404000103000000092111010057 +:100750000122390007058503100001120110010074 +:10076000000008EDFE071301000102000105010968 +:1007700006A101050719E029E7150025019508756F +:100780000181020508190129059505750191029558 +:1007900001750391010507190029771500250195B9 +:1007A0007875018102C00631FF0974A10109751530 +:1007B0000025FF9520750881020976150025FF9513 +:1007C0002075089102C005010980A101850216016A +:1007D0000026B7001A01002AB700751095018100A4 +:1007E000C0050C0901A1018503160100269C021A0F +:1007F00001002A9C02751095018100C005010902C3 +:10080000A1010901A100050919012905150025010A +:100810009505750181029501750381010501093076 +:1008200009311581257F95027508810609381581E2 +:10083000257F950175088106050C0A38021581256A +:100840007F950175088106C0C005010906A1010553 +:100850000719E029E7150025019508750181029522 +:100860000175088101050819012905950575019192 +:10087000029501750391010507190029FF1500254F +:10088000FF950675088100C00A0025303258200007 +:100890006B6579626F6172645F7265706F72743AD2 +:1008A00020000A0025303258006B6579626F617252 +:1008B000645F7365745F6C65643A200064656C5FA7 +:1008C0006B65795F6269743A2063616E2774206496 +:1008D000656C3A20253032580A006164645F6B65AC +:1008E000795F6269743A2063616E27742061646481 +:1008F0003A20253032580A00646F6E652E0A006275 +:100900006F6F676D61676963207363616E3A202E54 +:100910002E2E2000290A002575002F002575005D68 +:1009200028002564002000256400200025640020A4 +:10093000002564007C0025303258006D6F757365AA +:100940006B6579205B62746E7C78207920762068F4 +:100950005D287265702F61636C293A205B006D6BB6 +:100960005F776865656C5F74696D655F746F5F6DF7 +:100970006178203D2025640A006D6B5F77686565AE +:100980006C5F6D61785F7370656564203D202564E0 +:100990000A006D6B5F74696D655F746F5F6D617880 +:1009A000203D2025640A006D6B5F6D61785F737078 +:1009B000656564203D2025640A006D6B5F696E7477 +:1009C000657276616C203D2025640A006D6B5F6462 +:1009D000656C6179203D2025640A006D6B5F776846 +:1009E00065656C5F74696D655F746F5F6D617820BC +:1009F0003D2025640A006D6B5F776865656C5F6DEF +:100A000061785F7370656564203D2025640A006D20 +:100A10006B5F74696D655F746F5F6D6178203D20F9 +:100A200025640A006D6B5F6D61785F737065656446 +:100A3000203D2025640A006D6B5F696E74657276D7 +:100A4000616C203D2025640A006D6B5F64656C61FC +:100A500079203D2025640A000A00257500363A20D9 +:100A6000776865656C5F74696D655F746F5F6D61F4 +:100A7000783A20000A00257500353A2077686565C8 +:100A80006C5F6D61785F73706565643A20000A0081 +:100A9000257500343A2074696D655F746F5F6D6110 +:100AA000783A20000A00257500333A206D61785F9E +:100AB00073706565643A20000A00257500323A209B +:100AC000696E74657276616C286D73293A20000A2C +:100AD00000257500313A2064656C6179282A31302F +:100AE0006D73293A20000A092D2056616C756573D3 +:100AF000202D0A004D3E004D25643E20003F00732E +:100B000065742064656661756C740A00433E20005C +:100B100077686572652064656C74613A20637572EC +:100B2000736F723D25642C20776865656C3D256484 +:100B30000A53656520687474703A2F2F656E2E779E +:100B4000696B6970656469612E6F72672F77696B75 +:100B5000692F4D6F7573655F6B6579730A000A09BC +:100B60002D204D6F7573656B6579202D0A455343B4 +:100B70002F713A09717569740A313A0964656C61BB +:100B800079282A31306D73290A323A09696E746501 +:100B90007276616C286D73290A333A096D61785F4A +:100BA00073706565640A343A0974696D655F746FC2 +:100BB0005F6D61780A353A09776865656C5F6D61CC +:100BC000785F73706565640A363A09776865656CA5 +:100BD0005F74696D655F746F5F6D61780A0A703A62 +:100BE000097072696E742076616C7565730A643A77 +:100BF000097365742064656661756C74730A757039 +:100C00003A092B310A646F776E3A092D310A706701 +:100C100075703A092B31300A7067646F776E3A0944 +:100C20002D31300A0A7370656564203D2064656C5F +:100C30007461202A206D61785F7370656564202A75 +:100C40002028726570656174202F2074696D655F5E +:100C5000746F5F6D6178290A003F004D3E200043AC +:100C60003E20004C25640A000A092D20436F6E7354 +:100C70006F6C65202D0A4553432F713A09717569D0 +:100C8000740A6D3A096D6F7573656B65790A000AB0 +:100C9000092D204D61676963202D0A643A09646556 +:100CA0006275670A783A096465627567206D6174D8 +:100CB0007269780A6B3A096465627567206B6579B9 +:100CC000626F6172640A6D3A096465627567206DCE +:100CD0006F7573650A763A0976657273696F6E0A85 +:100CE000733A097374617475730A633A09636F6EBA +:100CF000736F6C65206D6F64650A302D343A096C32 +:100D000061796572302D34284631302D4634290AF8 +:100D1000506175733A09626F6F746C6F61646572CC +:100D20000A653A09656570726F6D0A6E3A094E4B35 +:100D3000524F0A7A3A09736C656570204C4544201D +:100D4000746573740A000A002575002E6E6B726F4D +:100D50003A20000A002575002E737761705F62618A +:100D6000636B736C6173685F6261636B7370616303 +:100D7000653A20000A002575002E737761705F6761 +:100D8000726176655F6573633A20000A002575001D +:100D90002E6E6F5F6775693A20000A002575002E78 +:100DA000737761705F72616C745F726775693A2006 +:100DB000000A002575002E737761705F6C616C749A +:100DC0005F6C6775693A20000A002575002E636123 +:100DD00070736C6F636B5F746F5F636F6E74726F51 +:100DE0006C3A20000A002575002E737761705F63EE +:100DF0006F6E74726F6C5F636170736C6F636B3A6C +:100E000020000A0025303258006B65796D61705FF3 +:100E1000636F6E6669672E7261773A20000A00255B +:100E200075002E6D6F7573653A20000A00257500F8 +:100E30002E6B6579626F6172643A20000A00257535 +:100E4000002E6D61747269783A20000A00257500E1 +:100E50002E656E61626C653A20000A0025303258BA +:100E60000064656275675F636F6E6669672E7261A5 +:100E7000773A20000A0025750064656661756C7418 +:100E80005F6C617965723A20003F004E4B524F3AD9 +:100E9000206F66660A004E4B524F3A206F6E0A0072 +:100EA00074696D65725F636F756E743A20253034B6 +:100EB0006C580A006B6579626F6172645F6E6B7269 +:100EC0006F3A2025580A006B6579626F6172645F22 +:100ED00069646C653A2025580A006B6579626F6118 +:100EE00072645F70726F746F636F6C3A2025580A7A +:100EF00000686F73745F6B6579626F6172645F6CB9 +:100F000065647328293A2025580A000A092D2053C0 +:100F10007461747573202D0A004743433A20342EC0 +:100F2000392E33204156522D4C4942433A20312E1E +:100F3000382E31204156525F415243483A20617663 +:100F400072350A004F5054494F4E533A204C554683 +:100F50004120424F4F544D41474943204D4F555337 +:100F6000454B45592045585452414B455920434F14 +:100F70004E534F4C4520434F4D4D414E44204E4B18 +:100F8000524F203531320A004255494C443A203202 +:100F90003430646230632D6469727479202830398A +:100FA0003A35383A3539204A616E203238203230AD +:100FB0003136290A005649443A203078464545449E +:100FC000284572676F446F7820455A29205049445C +:100FD0003A20307831333037284572676F446F7864 +:100FE00020455A29205645523A2030783030303149 +:100FF0000A00444553433A20742E6D2E6B2E206B0D +:101000006579626F617264206669726D776172657D +:1010100020666F72204572676F646F780A000A0954 +:101020002D2056657273696F6E202D0A000A6D6F50 +:101030007573653A206F66660A000A6D6F75736591 +:101040003A206F6E0A000A6B6579626F6172643ACA +:10105000206F66660A000A6B6579626F6172643A96 +:10106000206F6E0A000A6D61747269783A206F66AB +:10107000660A000A6D61747269783A206F6E0A0020 +:101080000A64656275673A206F6E0A000A646562D9 +:1010900075673A206F66660A000A0A626F6F746CA1 +:1010A0006F616465722E2E2E2000433E2000656520 +:1010B000636F6E6669673A0A00536C656570204C11 +:1010C000454420746573740A0000000000000000AD +:1010D00000000000010204060A0F17202C3A4A5DA6 +:1010E00071879DB3C7DAE9F5FCFFFCF5E9DAC7B310 +:1010F0009D87715D4A3A2C20170F0A0604020100F1 +:101100000000000000000000000011241FBECFEF0F +:10111000DAE0DEBFCDBF04B603FE24C08091FB0140 +:101120009091FC01A091FD01B091FE018730904BA0 +:10113000A740B04BB9F41092FB011092FC01109241 +:10114000FD011092FE0114BE84B7877F84BF88E141 +:101150000FB6F89480936000109260000FBEE0E03C +:10116000FFE3099511E0A0E0B1E0ECE7F0E602C092 +:1011700005900D92AA33B107D9F711E0AAE3B1E0C7 +:1011800001C01D92AB3FB107E1F70E94FC110C9426 +:101190003C300C940000FF93EF93E0913A01F09102 +:1011A0003B01309709F00995EF91FF910895FC01FB +:1011B0008591803011F0EFDFFBCF0895FF27E0E24B +:1011C00030E247FF0CC0419597FF09C0EDE2609502 +:1011D000709580959095611D711D811D911D27FF52 +:1011E00002C0219530E350E2AA27660F771F881FBF +:1011F000991FAA1FA41710F0A41B63955A95A9F76D +:10120000AA3008F0A95FA05DAF93F3956115710551 +:101210008105910541F7ED3211F4EF93F395F21743 +:1012200018F43F93F395FBCF8F91B5DFFA95E1F773 +:101230000895E991F9918591803021F0853219F076 +:10124000AADFF9CF089520E0E89455915532C1F313 +:10125000503311F4689455915A3348F4505390F335 +:10126000220F022E220F220F200D250FF4CF0EF495 +:10127000219589919991533619F3533729F15335B3 +:1012800059F1BC0188279927E8945C3621F48991AB +:10129000999168945591543639F446EF7EF077FF72 +:1012A0000DC08FEF9FEF0AC055374AE039F058352F +:1012B00040E121F0523642E009F00895FF93EF93A8 +:1012C0007DDFEF91FF91B7CFFF93EF93FC01819109 +:1012D0008030B9F360DFFBCFFF93EF9368DFF1CF8E +:1012E000DF93CF93CDB7DEB72596A3DFCF91DF9104 +:1012F0000895462F50E04F30510508F0DEC0DC0164 +:10130000FA01EA5AFF4F12968C910C94F12F882320 +:1013100021F085EE0E94D918D0C085EE0E94A11957 +:10132000CCC0882349F00E94322490933D018093E1 +:101330003C0188EF91E0089580913C0190913D013E +:101340000E943E24873991050CF0A8C08AEE91E0F6 +:101350000895882349F00E94322490933D018093A0 +:101360003C0187EE91E0089580913C0190913D0110 +:101370000E943E24873991050CF093C089ED91E0DD +:101380000895882349F00E94322490933D01809370 +:101390003C0182ED91E0089580913C0190913D01E6 +:1013A0000E943E24873991050CF07EC080EC91E0CC +:1013B0000895882349F00E94322490933D01809340 +:1013C0003C018BEB91E0089580913C0190913D01AF +:1013D0000E943E24873991050CF069C08DEA91E0A6 +:1013E0000895882349F00E94322490933D01809310 +:1013F0003C0188EA91E0089580913C0190913D0183 +:101400000E943E24873991050CF054C08AE991E08E +:101410000895882309F451C085E891E00895882350 +:1014200009F44BC080E791E00895882309F445C092 +:101430008BE591E00895882309F43FC086E491E0AC +:1014400008958823D1F18DE391E008958823A9F1CF +:1014500088E291E00895882381F183E191E0089585 +:10146000882359F18EEF90E00895882331F180911F +:10147000BE019091BF01A091C001B091C10120E2D5 +:10148000822780729927AA27BB278093BE01909359 +:10149000BF01A093C001B093C1010FC085EF91E0DF +:1014A000089584EE91E008958BEC91E0089586EB29 +:1014B00091E0089583EA91E0089580E090E0089536 +:1014C00008956091BE017091BF018091C00190911B +:1014D000C1010E94672356985E9825982D982698FA +:1014E0002E9827982F98833099F028F4813041F076 +:1014F000823049F00895843049F0853061F00895D4 +:10150000259A2D9A0895269A2E9A0895259A2D9A0D +:10151000279A2F9A0895259A2D9A269A2E9A279AD5 +:101520002F9A089581E69AE0892B11F00E94610AB2 +:1015300080E090E0089556985E9825982D9826981A +:101540002E9827982F988FEF90E0909389008093A2 +:10155000880090938B0080938A0090938D008093F5 +:101560008C00259A2D9A2FEF80E792E02150804041 +:101570009040E1F700C00000269A2E9A2FEF80E7F6 +:1015800092E0215080409040E1F700C00000279A8F +:101590002F9A2FEF80E792E0215080409040E1F7B2 +:1015A00000C0000025982D982FEF80E792E0215091 +:1015B00080409040E1F700C0000026982E982FEF61 +:1015C00080E792E0215080409040E1F700C00000A9 +:1015D00027982F9856985E9825982D9826982E989B +:1015E00027982F98089589EA8093800089E0809356 +:1015F000810024982C983F988AB18F748AB96E988C +:10160000479A8BB1806B8BB9769A0E949B0A80E6D1 +:101610009AE0892B11F00E94600A80E090E0089522 +:1016200080E28093000180913E0181110EC00E94F2 +:101630005F0B81E080933E012FEF83ED90E321501B +:1016400080409040E1F700C0000080E40E94650BFC +:101650008093000181112EC00E948F0B80930001A6 +:10166000811128C00E948F0B80930001811122C03C +:101670008FE30E948F0B8093000181111BC00E9499 +:10168000870B80E40E94650B80930001811112C0DA +:101690008CE00E948F0B8093000181110BC00E948F +:1016A0008F0B80930001811105C08FE30E948F0B87 +:1016B000809300010E94870B809100010895109291 +:1016C000B9008AE08093B800089594EA9093BC0032 +:1016D0009091BC0097FFFCCF9091B900987F983013 +:1016E00021F0903111F081E008958093BB0084E8EF +:1016F0008093BC008091BC0087FFFCCF8091B90033 +:10170000887F883111F0803471F780E0089584E992 +:101710008093BC008091BC0084FDFCCF0895809331 +:10172000BB0084E88093BC008091BC0087FFFCCFA5 +:101730009091B900987F81E0983209F480E0089593 +:1017400084E88093BC008091BC0087FFFCCF80912F +:10175000BB00089580910001811115C080E40E94B2 +:10176000650B8093000181110CC082E10E948F0BF8 +:1017700080930001811105C08FEF0E948F0B809331 +:1017800000010E94870B84B1807F84B985B1807F7E +:1017900085B98AB1837F8AB98BB1837F8BB93E9833 +:1017A000469808950E94100B809300010E94AA0B96 +:1017B00080B38C7080BB81B3836F81BBA0E4B1E048 +:1017C000EEE4F1E08EE08E0F11921D928E13FCCFAD +:1017D00083EF9AE0892B11F00C94F30A08959F92FD +:1017E000AF92BF92CF92DF92EF92FF920F931F932F +:1017F000CF93DF93809100018823E1F080913F0136 +:101800008F5F80933F01811115C087E596E00E94AC +:10181000D7080E94100B80930001882329F08DE3E4 +:1018200096E00E94D70806C089E296E00E94D70899 +:101830000E949B0A00E411E0C0E0D0E0BB24B39416 +:1018400082E0A82ECC24C394D12C2AE1E22E26E0FB +:10185000F22EC730D10500F580910001811164C0DE +:1018600080E40E94650B80930001811112C082E127 +:101870000E948F0B8093000181110BC0C6010C2EBA +:1018800001C0880F0A94EAF780950E948F0B80931D +:1018900000010E94870B48C0CA30A1F028F4C8306C +:1018A00059F0C93061F005C0CC3089F070F0CD300E +:1018B00089F0209A289810C0219A29980DC0229A60 +:1018C0002A980AC0239A2B9807C0529A01C0539AAB +:1018D0005B9802C03E9A469890EA9A95F1F79FB1BC +:1018E000799902C082E001C080E091709B25982B1D +:1018F0007C9902C084E001C080E0892B7D9902C000 +:1019000038E001C030E0832B7E9902C020E101C0A5 +:1019100020E0822B9FB19095991F9927991F92954E +:10192000990F907E892B10C080910001811174C0A5 +:1019300080E40E94650B80930001882309F459C05C +:10194000912C0E94870B892DF8019081981739F10D +:10195000808380910101882301F18091D90180FF6A +:1019600004C08FE196E00E94D7088091D90180FFE2 +:101970000CC0809101011F928F93FF92EF920E9401 +:1019800070090F900F900F900F908091D90180FFF8 +:1019900004C088E196E00E94D708A09201010E944D +:1019A000AA0B21960F5F1F4FCE30D10509F051CF02 +:1019B000809101018823B1F0815080930101882337 +:1019C00039F08FE99FE00197F1F700C000000AC0ED +:1019D000AEE4B1E0E0E4F1E0CF01825F91919D934C +:1019E0008E13FCCF82E99AE0892BC1F00E94920A03 +:1019F00015C083E10E948F0B809300018111A0CF5D +:101A000081E40E94650B80930001811199CF0E94AF +:101A1000A00B982E909495CF80E096CF81E0DF9137 +:101A2000CF911F910F91FF90EF90DF90CF90BF90DB +:101A3000AF909F900895E82FF0E0E25BFE4F808129 +:101A40000895CF92DF92EF92FF920F931F93CF935F +:101A5000DF9381E096E00E94D7088EE4E82E81E0D3 +:101A6000F82EC0E0D0E09CEFC92E95E0D92E03EF10 +:101A700015E0DF93CF93DF92CF920E94700989EF38 +:101A800095E00E94D708F70181917F0190E00E94C4 +:101A9000CD239F938F931F930F930E94700981EF23 +:101AA00095E00E94D70821968DB79EB708960FB68D +:101AB000F8949EBF0FBE8DBFCE30D105D1F6DF9119 +:101AC000CF911F910F91FF90EF90DF90CF900895ED +:101AD0008B3B910578F4883A910540F5853A91055C +:101AE000D0F48430910508F0B1C08130910509F43B +:101AF000ADC06BC0803E910508F467C0883E91057B +:101B000008F4A4C09C01205F31092031310508F0A0 +:101B10005CC090650895853A910509F459C0863AEC +:101B2000910509F058C082E890E40895883A91053B +:101B300009F454C0893A910509F453C08A3A9105D1 +:101B400009F452C08B3A910509F451C08C3A9105C1 +:101B500009F450C08D3A910509F44FC0803B9105BE +:101B600009F44EC08E3A910509F44DC08F3A9105A3 +:101B700009F44CC0813B910509F44BC0823B9105AF +:101B800009F44AC0833B910509F449C0843B91059F +:101B900009F448C0853B910509F447C0863B91058F +:101BA00009F446C0873B910509F445C0883B91057F +:101BB00009F444C0893B910509F443C08A3B91056F +:101BC00009F442C080E094E4089580E090E0089534 +:101BD00081E890E4089583E890E4089582EE94E427 +:101BE000089589EE94E408958AEE94E4089585EBCF +:101BF00094E4089586EB94E4089587EB94E40895C3 +:101C00008CEC94E408958DEC94E4089583E895E4D5 +:101C100008958AE895E4089582E995E4089584E9B1 +:101C200095E4089581E296E4089583E296E40895A8 +:101C300084E296E4089585E296E4089586E296E4C7 +:101C4000089587E296E408958AE296E40895089557 +:101C500096E0799FF001112494E5899FE00DF11D34 +:101C60001124E60FF11DEE0FFF1FEF5FFD4F859171 +:101C700094910895880F991FFC01E558FF4F8591B5 +:101C800094910895880F991FFC01E550FE4F8591AE +:101C90009491089526E0729FF001112444E5849FF9 +:101CA000E00DF11D1124E60FF11DEE0FFF1FEF5F98 +:101CB000FD4F859194919C013A9521154FE1340790 +:101CC00008F41AC13F512115304120F49F700E9441 +:101CD000420E08959C0130532115304118F4992784 +:101CE000906C0895811520E5920769F40E94271DE4 +:101CF0004FEF84E39CE0415080409040E1F700C00A +:101D000000000C948D24813020E5920731F48091FD +:101D1000D90181608093D90108959C013055211526 +:101D2000304108F051C0292F33272F70332721303D +:101D30003105D9F4AC014370552702C0220F331F7F +:101D40004A95E2F73C68AC0164E0440F551F6A9580 +:101D5000E1F744275370242B352B73E0880F991F2C +:101D60007A95E1F7807699271DC02230310529F454 +:101D7000982F8827816F906A089523303105A9F440 +:101D8000AC014370552721E030E002C0220F331F21 +:101D90004A95E2F73C6843E0880F991F4A95E1F7BE +:101DA000807E9770822B932B089524303105E1F4C7 +:101DB000AC014370552721E030E002C0220F331FF1 +:101DC0004A95E2F73A68E7CF9C0130572115304138 +:101DD00018F49F70906208959C013058211530418D +:101DE00018F49F70906A0895803E9105E0F4803C5D +:101DF000910558F58133910509F46FC048F4893293 +:101E0000910509F463C08A32910509F46DC072C06E +:101E100089339105E9F082389105D1F08533910538 +:101E200009F44DC067C0833E910581F138F4803ECE +:101E30009105B9F0823E9105D9F05CC0863E9105CE +:101E400061F1873E9105A1F155C00E943A0E0895B7 +:101E50002091EC0120FD02C021FF4CC080EE90E0FB +:101E600049C08091EC0180FFF9CF89E390E042C046 +:101E70008091EC0182FF0EC08091EC0184FF03C0D1 +:101E800080E090E037C083EE90E034C08091EC01B8 +:101E900082FFF2CF82EE90E02DC08091EC0183FFB3 +:101EA0000BC08091EC0184FDEBCF87EE90E022C067 +:101EB0008091EC0183FFF5CF86EE90E01BC080910E +:101EC000EC0185FF07C089E290E014C08091EC012D +:101ED00085FFF9CF85E390E00DC08091EC0186FF8E +:101EE00007C08AE290E006C08091EC0186FFF9CF3E +:101EF00081E390E00E94680D0895089580916F013C +:101F000008959FB7F89410925E019FBF9091F201DF +:101F1000943009F057C09091E9009F703091EC0027 +:101F2000232F217030FD20E8922B24E02093E9003C +:101F30002091EB0020FF43C02091EE0027FF3FC01F +:101F400020915C01222321F02091E80025FF37C079 +:101F500010925C0126E03091E80035FD15C030910B +:101F6000F201343061F53091EB0035FD28C021508D +:101F700021F481E080935C0122C0EFE9FFE031971A +:101F8000F1F700C00000E7CF8093F1008091E800F6 +:101F900085FD0AC08091E80080FFFCCF8091E800B9 +:101FA0008E778093E80006C08FB7F89421E02093E5 +:101FB0005E018FBF9F709093E90080E008959F704D +:101FC0009093E9008FEF0895CF93DF9300D01F9295 +:101FD000CDB7DEB79C018091F201843019F593E012 +:101FE00099833B832A839093E9008FEF9091E800D7 +:101FF000815095FD06C095ED9A95F1F7000081118D +:10200000F5CF8091E80085FF0DC040E050E063E02F +:1020100070E0CE0101960E94B4128091E8008E77A4 +:102020008093E8000F900F900F90DF91CF9108956B +:10203000CF93DF9300D01F92CDB7DEB72091F2018E +:10204000243021F522E029839B838A8383E08093D7 +:10205000E9008FEF9091E800815095FD06C095ED65 +:102060009A95F1F700008111F5CF8091E80085FF86 +:102070000DC040E050E063E070E0CE0101960E94A8 +:10208000B4128091E8008E778093E8000F900F9053 +:102090000F90DF91CF9108952091F2012430F1F457 +:1020A00022E02093E9002FEF3091E800215035FD28 +:1020B00006C035ED3A95F1F700002111F5CF2091DA +:1020C000E80025FF0BC040E050E065E070E00E94B2 +:1020D000B4128091E8008E778093E8000895CF9342 +:1020E000DF932091F201243009F048C0EC01809187 +:1020F0000C018823E1F080910D018823C1F085E077 +:102100008093E9008FEF9091E800815095FD06C023 +:1021100095E19A95F1F700008111F5CF8091E800E3 +:1021200085FF2CC040E050E060E170E017C081E026 +:102130008093E9008FEF9091E800815095FD06C0F3 +:1021400095ED9A95F1F700008111F5CF8091E800A7 +:1021500085FF14C040E050E068E070E0CE010E94CE +:10216000B4128091E8008E778093E80080E1FE0150 +:10217000AFE5B1E001900D928A95E1F7DF91CF9143 +:10218000089586E996E00E94D7088091F1018111B7 +:1021900009C00E9449140E94A6148091E200846044 +:1021A0008093E200089582E996E00E94D708109299 +:1021B000F10108958EE896E00C94D7088AE896E03D +:1021C0000E94D7080C945D2E86E896E00E94D708FE +:1021D0000E9423240E94632E0E944B170C947D0FB3 +:1021E00020915D012F5F822F62E30E94D12F9923FE +:1021F00019F020935D01089510925D0180915E01B8 +:10220000882371F18091F201843041F58091E900D9 +:102210008F702091EC00922F917020FD90E8892B17 +:1022200094E09093E9009091EB0090FF14C090919E +:10223000EE0097FF10C09091E80095FF03C0109248 +:10224000F100F9CF9091E80090FF05C09091E8006F +:102250009E779093E8008F708093E90010925E0162 +:10226000089542E061EC81E00E94C31342E061EC1A +:1022700082E00E94C31342E061EC83E00E94C3133A +:1022800042E261EC84E00E94C31342E161EC85E02C +:102290000C94C3138091F401833009F455C030F4D9 +:1022A000813071F0823009F48EC008958A3009F4CB +:1022B0007AC08B3009F460C0893009F09CC020C01E +:1022C0008091F301813A09F096C08091E800877F00 +:1022D0008093E8008091F7019091F801892B21F417 +:1022E00060E18FE591E003C060E080E090E070E0A5 +:1022F0000E94FF128091E8008B778093E800089598 +:102300008091F301813209F076C08091F7019091BC +:10231000F801009719F0049709F06DC08091E8006A +:10232000877F8093E8008091E80082FD05C080915E +:10233000F2018111F8CF5FC08091F10080936F01AD +:102340008091E8008B7753C08091F301813A09F0C6 +:1023500052C08091F7019091F801892B09F04BC090 +:102360008091E800877F8093E8008091E80080FFFB +:10237000FCCF80910C0136C08091F3018132D9F5F8 +:102380008091F7019091F801892BA9F58091E800DF +:10239000877F8093E8000E94F8138091F501809375 +:1023A0000C010C94271D8091F301813221F580915D +:1023B000E800877F8093E8000E94F8138091F6017F +:1023C0008093700108958091F301813AA1F4809186 +:1023D000E800877F8093E8008091E80080FFFCCFD1 +:1023E000809170018093F1008091E8008E77809356 +:1023F000E8000C94F813089584B7877F84BF88E1C0 +:102400000FB6F89480936000109260000FBE90E0C9 +:1024100080E80FB6F89480936100909361000FBE3E +:102420000E94D8170E9449140E94A6148091E200CD +:1024300084608093E20081E89FE00E9462237894A8 +:102440000E942B170E94DA1782E091E00E94461743 +:102450000E944B2E85E796E00E94D7088091F201FA +:10246000853089F481E796E00E94D7080E94E7232F +:102470008091F001882391F30E940F24882371F347 +:102480000E949E12EBCF0E940818E8CF292F332715 +:1024900023303105C9F064F42130310581F0223058 +:1024A000310509F043C08DE890E02EEC36E042C0E3 +:1024B00021323105F1F02232310541F137C082E19C +:1024C00090E02BE537E036C099278130910541F047 +:1024D0008230910541F0892B49F5EAECF6E005C020 +:1024E000E2EBF6E002C0EAE9F6E0849190E09F01B9 +:1024F00021C06530D8F4E62FF0E0EE0FFF1FEB5D52 +:10250000FE4F2081318189E090E014C0653070F485 +:1025100070E0FB01EE0FFF1FE55EFE4F2081318171 +:10252000FB01EA5EFE4F808190E004C080E090E015 +:1025300020E030E0FA0131832083089580E189BDF5 +:1025400082E189BD09B400FEFDCF8091D8008F7D66 +:102550008093D8008091E00082608093E0008091B9 +:10256000E00081FDFCCF0895CF92DF92EF92FF92C1 +:102570000F931F93CF93DF93EC018B016A010E94AD +:102580001714811133C0C114D10439F0F6018081D0 +:102590009181081B190BC80FD91FE12CF12C0115D3 +:1025A000110519F18091E80085FD16C08091E800C1 +:1025B0008E778093E800C114D10449F0F601808140 +:1025C0009181E80EF91EF182E08285E00FC00E9441 +:1025D0001714882321F30AC089918093F1000150D8 +:1025E0001109FFEFEF1AFF0ADACF80E0DF91CF91F8 +:1025F0001F910F91FF90EF90DF90CF900895209161 +:10260000F9013091FA012617370748F06115710575 +:1026100039F42091E8002E772093E80001C0B90139 +:1026200040E061157105A9F12091F201222309F41E +:1026300043C0253009F442C02091E80023FD40C08A +:102640002091E80022FD32C02091E80020FFE9CF70 +:102650004091F3002091F20030E0342BFC01CF01D7 +:102660006115710559F02830310540F4819180934E +:10267000F100615071092F5F3F4FF1CF41E02830E9 +:10268000310509F040E02091E8002E772093E80022 +:10269000C8CF4111C9CF0AC08091F201882361F0EF +:1026A000853061F08091E80083FD0AC08091E800E8 +:1026B00082FFF2CF80E0089582E0089583E00895DC +:1026C00081E008952091F9013091FA01261737072A +:1026D00048F06115710539F42091E8002E772093B8 +:1026E000E80001C0B901FC0120E06115710591F11C +:1026F0008091F201882309F440C0853009F43FC07D +:102700008091E80083FD3DC08091E80082FD2FC0EC +:102710008091E80080FFE9CF2091F3008091F200E2 +:1027200090E0922B6115710559F08830910540F4C5 +:1027300024912093F1003196615071090196F2CFF6 +:1027400021E0089709F020E08091E8008E778093DF +:10275000E800CBCF2111CCCF0AC08091F2018823B1 +:1027600061F0853061F08091E80083FD0AC08091BE +:10277000E80082FFF2CF80E0089582E0089583E0D0 +:10278000089581E00895982F973058F59093E900C7 +:10279000981739F07091EC002091ED005091F00005 +:1027A00003C0242F762F50E021FF19C03091EB0099 +:1027B0003E7F3093EB003091ED003D7F3093ED0094 +:1027C0003091EB0031603093EB007093EC0020937C +:1027D000ED005093F0002091EE0027FF07C09F5FAF +:1027E000D3CF8F708093E90081E0089580E0089551 +:1027F0008091F30187FF11C08091E80082FD05C040 +:102800008091F2018111F8CF11C08091E8008B779F +:102810000BC08091F201882349F08091E80080FF8D +:10282000F8CF8091E8008E778093E800089520919A +:10283000E4003091E50095E64091EC00842F817032 +:1028400040FF22C08091E80080FD1CC08091F20111 +:10285000882391F0853091F08091EB0085FD10C0C8 +:102860004091E4005091E5004217530729F39A0183 +:10287000915011F784E0089582E0089583E008956F +:1028800081E0089580E008954091E80042FFDECFA6 +:1028900008950E94B7140E94BF14E0EEF0E080811A +:1028A00081608083E8EDF0E080818F77808319BCC0 +:1028B000A7EDB0E08C918E7F8C9380818F7E80839A +:1028C0001092F10108950F931F93CF93DF930E940D +:1028D000B7140E94BF14C8EDD0E088818F77888339 +:1028E00088818068888388818F7D888319BC109255 +:1028F000F2011092EE011092F0011092EF0100EE41 +:1029000010E0F80180818B7F8083888181608883DB +:1029100042E060E080E00E94C313E1EEF0E08081DD +:102920008E7F8083E2EEF0E0808181608083808111 +:1029300088608083F80180818E7F808388818061B8 +:102940008883DF91CF911F910F910895E8EDF0E01A +:1029500080818F7E8083E7EDF0E0808181608083DD +:1029600084E082BF81E08093F1010C946314E8ED70 +:10297000F0E080818E7F80831092E20008951092B3 +:10298000DA001092E10008951F920F920FB60F9295 +:1029900011242F933F934F935F936F937F938F9364 +:1029A0009F93AF93BF93EF93FF938091E10082FFDA +:1029B0000BC08091E20082FF07C08091E1008B7F15 +:1029C0008093E1000E94F0108091DA0080FF1FC028 +:1029D0008091D80080FF1BC08091DA008E7F8093A9 +:1029E000DA008091D90080FF0DC080E189BD82E1CD +:1029F00089BD09B400FEFDCF81E08093F2010E9401 +:102A0000C11005C019BC1092F2010E94D310809130 +:102A1000E10080FF19C08091E20080FF15C0809125 +:102A2000E2008E7F8093E2008091E20080618093DB +:102A3000E2008091D80080628093D80019BC85E0C4 +:102A40008093F2010E94DE108091E10084FF30C08B +:102A50008091E20084FF2CC080E189BD82E189BDC4 +:102A600009B400FEFDCF8091D8008F7D8093D800FF +:102A70008091E1008F7E8093E1008091E2008F7E63 +:102A80008093E2008091E20081608093E200809177 +:102A9000EE01882311F084E007C08091E30087FDF8 +:102AA00002C081E001C083E08093F2010E94E41043 +:102AB0008091E10083FF29C08091E20083FF25C05F +:102AC0008091E100877F8093E10082E08093F201B2 +:102AD0001092EE018091E1008E7F8093E100809161 +:102AE000E2008E7F8093E2008091E200806180931B +:102AF000E20042E060E080E00E94C3138091F000B9 +:102B000088608093F0000E94DA10FF91EF91BF91EE +:102B1000AF919F918F917F916F915F914F913F9175 +:102B20002F910F900FBE0F901F9018951F920F922C +:102B30000FB60F9211242F933F934F935F936F9390 +:102B40007F938F939F93AF93BF93CF93DF93EF9335 +:102B5000FF93C091E900CF708091EC00D82FD17025 +:102B600080FDD0E81092E9008091F000877F80938B +:102B7000F00078940E94DA151092E9008091F0003C +:102B800088608093F000CD2BCF70C093E900FF9157 +:102B9000EF91DF91CF91BF91AF919F918F917F91F5 +:102BA0006F915F914F913F912F910F900FBE0F90BA +:102BB0001F9018951F93CF93DF93CDB7DEB7AA97D9 +:102BC0000FB6F894DEBF0FBECDBFE3EFF1E088E0B3 +:102BD0008E0F9091F10091938E13FBCF0E944A11BA +:102BE0008091E80083FF1FC18091F3019091F4016F +:102BF000492F50E04A30510508F015C1FA01EB5950 +:102C0000FF4F0C94F12F803881F0823809F00BC10E +:102C10008091F7018F708093E9008091EB0085FB34 +:102C2000882780F91092E90006C08091EF01909109 +:102C3000F001911182609091E800977F9093E800F5 +:102C40008093F1001092F100C8C0282F2D7F09F069 +:102C5000EAC0882319F0823061F0E5C08091F50167 +:102C6000813009F0E0C0933009F080E08093F001FA +:102C70002BC08091F501811127C08091F7018F70E1 +:102C800009F4D1C08093E9002091EB0020FF1CC023 +:102C9000933021F48091EB00806214C09091EB009E +:102CA00090619093EB0021E030E0A90102C0440F55 +:102CB000551F8A95E2F74093EA001092EA0080914E +:102CC000EB0088608093EB001092E9008091E800AF +:102CD000877F86C08111A7C01091F5011F77809171 +:102CE000E3008078812B8093E3008091E800877F68 +:102CF0008093E8000E94F8138091E80080FFFCCFE9 +:102D00008091E30080688093E300111102C082E0AB +:102D100001C083E08093F20186C08058823008F0C1 +:102D200082C08091F5019091F6018C3D53E09507AA +:102D300079F583E08A838AE289834FB7F894DE01CC +:102D4000139620E03EE051E2E32FF0E0509357006D +:102D5000E49120FF03C0E295EF703F5FEF708E2F8C +:102D600090E0EA3010F0C79601C0C0968D939D9315 +:102D70002F5F243149F74FBF8091E800877F809310 +:102D8000E8006AE270E0CE0101960E94FF1214C0D2 +:102D9000AE014F5F5F4F6091F7010E944612BC0188 +:102DA000892B09F440C09091E800977F9093E80048 +:102DB00089819A810E9462138091E8008B778093C9 +:102DC000E80031C0803879F58091E800877F8093F2 +:102DD000E8008091EE018093F1008091E8008E7709 +:102DE0008093E8000E94F8131EC081111CC09091CE +:102DF000F5019230C0F48091E800877F8093E8006D +:102E00009093EE010E94F8138091EE01811106C0AB +:102E10008091E30087FD02C081E001C084E08093DF +:102E2000F2010E9431118091E80083FF0AC0809175 +:102E3000E800877F8093E8008091EB0080628093B8 +:102E4000EB00AA960FB6F894DEBF0FBECDBFDF91A0 +:102E5000CF911F910895CF938091F2018823A1F023 +:102E6000C091E900CF709091EC00892F817090FDA6 +:102E700080E8C82B1092E9008091E80083FD0E9451 +:102E8000DA15CF70C093E900CF9108959093760141 +:102E9000809375010895E0917501F0917601309766 +:102EA00021F00190F081E02D099480E00895EF92E7 +:102EB000FF920F931F93CF93DF93E0917501F091F1 +:102EC00076013097B1F18C010280F381E02D0995F4 +:102ED0008091D90182FF2DC080FF04C080E998E075 +:102EE0000E94D708E80110E18AE8E82E88E0F82E71 +:102EF0008091D90180FF0BC088811F928F93FF9230 +:102F0000EF920E9470090F900F900F900F90115048 +:102F100021961111EDCF8091D90180FF0AC088E878 +:102F200098E0DF91CF911F910F91FF90EF900C945B +:102F3000D708DF91CF911F910F91FF90EF900895E7 +:102F4000E0917501F0917601309721F00480F581D0 +:102F5000E02D099408952091730130917401821736 +:102F6000930771F09093740180937301E091750160 +:102F7000F0917601309721F00680F781E02D0994D9 +:102F8000089520917101309172018217930771F0B9 +:102F90009093720180937101E0917501F091760137 +:102FA000309721F00084F185E02D0994089508956B +:102FB0000C94D7170E9429240E94D20B0C94EF2462 +:102FC000CF93C82F8091D90182FF1EC080FF04C01B +:102FD00089EA98E00E94D7088091D90180FF0CC04F +:102FE0001F92CF9384EA98E09F938F930E94700979 +:102FF0000F900F900F900F908091D90180FF04C027 +:1030000082EA98E00E94D7088C2FCF910C947D0F14 +:10301000CF92DF92EF92FF920F931F93CF93DF93A4 +:10302000CDB7DEB72B970FB6F894DEBF0FBECDBF7E +:103030000E94EF0B88E7C82E81E0D82E00E010E058 +:10304000E02E802F0E941B0DF60141916F01F42E9E +:10305000F826B1F40F5F1F4F0E30110589F78FEF7F +:1030600089838A831B820E9432248160782F9D830A +:103070008C8349815A816B818D810E94AB1840C03D +:103080009091D90191FF04C08B870E94210D8B85FF +:1030900020E030E04F2D50E0922FBA01022E02C006 +:1030A000759567950A94E2F760FF24C02E83EF823E +:1030B00021E030E0690102C0CC0CDD1C9A95E2F7FA +:1030C00090E08C219D21892B09F420E028870E9423 +:1030D00032248160782F9A8789874E815F81688545 +:1030E0008A850E94AB18F801E858FE4F8081C826F7 +:1030F000C08206C02F5F3F4F2630310569F6AACF48 +:103100000E946028109177010E944B171817A1F0B8 +:103110000E944B17809377012B960FB6F894DEBF71 +:103120000FBECDBFDF91CF911F910F91FF90EF9018 +:10313000DF90CF900C94E0172B960FB6F894DEBF7B +:103140000FBECDBFDF91CF911F910F91FF90EF90F8 +:10315000DF90CF900895CF93DF93CDB7DEB72B9755 +:103160000FB6F894DEBF0FBECDBF4F835887698777 +:103170007A878B87DE01119686E0FD0111928A9590 +:10318000E9F785E0FE01379601900D928A95E1F707 +:1031900049815A816B817C818D819E810E94C11FF2 +:1031A0002B960FB6F894DEBF0FBECDBFDF91CF9147 +:1031B0000895CF93882309F4C2C0C82F823859F4E8 +:1031C0000E944B1781FDBBC089E30E945D220E94D3 +:1031D0003C2389E30CC0833879F40E944B1780FDAF +:1031E000AEC083E50E945D220E943C2383E50E94DD +:1031F000B022CF910C943C23843859F40E944B1791 +:1032000082FD9DC087E40E945D220E943C2387E4EA +:10321000EECF8CEF8C0F813A48F48C2F0E94F32C68 +:1032200081118DC08C2F0E945D22E3CF80E28C0F34 +:10323000883048F4C77081E001C0880FCA95EAF76A +:103240000E940523D6CF8BE58C0F833078F4C53AE6 +:1032500029F0C63A31F083E890E005C081E890E0BB +:1032600002C082E890E0CF910C94AB1788E58C0FF8 +:10327000833108F064C0C83A39F1C93A41F1CA3A19 +:1032800049F1CB3A51F1CC3A59F1CD3A61F1C03B19 +:1032900069F1CE3A71F1CF3A79F1C13B81F1C23B8C +:1032A00089F1C33B91F1C43B99F1C53BA1F1C63B08 +:1032B000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B68 +:1032C000C9F180E090E038C082EE90E035C089EE30 +:1032D00090E032C08AEE90E02FC085EB90E02CC0E9 +:1032E00086EB90E029C087EB90E026C08CEC90E064 +:1032F00023C08DEC90E020C083E891E01DC08AE8F7 +:1033000091E01AC082E991E017C084E991E014C00D +:1033100081E292E011C083E292E00EC084E292E08A +:103320000BC085E292E008C086E292E005C087E229 +:1033300092E002C08AE292E0CF910C94C117CF9143 +:103340000895882309F44BC0823859F40E944B1722 +:1033500081FF45C089E30E945D220E943C2389E3EE +:103360000CC0833871F40E944B1780FF38C083E58E +:103370000E945D220E943C2383E50E94B0220C94AF +:103380003C23843859F40E944B1782FF28C087E4FD +:103390000E945D220E943C2387E4EFCF9CEF980FB0 +:1033A000913A58F390E2980F983050F4877091E07A +:1033B00001C0990F8A95EAF7892F0E940B23DFCF6E +:1033C0009BE5980F933020F480E090E00C94AB17CD +:1033D000885A833120F480E090E00C94C11708955E +:1033E000882321F00E9405230C943C230895882310 +:1033F00021F00E940B230C943C230895BF92CF929E +:10340000DF92EF92FF920F931F93CF93DF9300D041 +:1034100000D000D0CDB7DEB725E0FC01DE0111966B +:1034200001900D922A95E1F7FC01408131810281E2 +:10343000258122952F7063817481672B09F4E5C281 +:103440003F3F19F44F3F09F4E0C27C0149833A83BE +:1034500089819A812E830E941C22182FB92E0E94E6 +:103460001B220E94E220EB2DE295EF70F0E0E15983 +:10347000FF4F2E810C94F12F8B2D807F9B2D9F7001 +:10348000F92E882319F0F29480EFF822002349F0F6 +:10349000FF2009F467C28F2D0E9415230E943C2350 +:1034A00061C2812F0E94A119FF2009F4AEC28F2DA5 +:1034B0000E941B2326960FB6F894DEBF0FBECDBF29 +:1034C000DF91CF911F910F91FF90EF90DF90CF9000 +:1034D000BF900C943C233B2D307F8B2D8F7030326E +:1034E00011F08295807F112319F0113021F12CC049 +:1034F0000023B9F0222309F4A0C1213009F09DC1B5 +:1035000026960FB6F894DEBF0FBECDBFDF91CF91E8 +:103510001F910F91FF90EF90DF90CF90BF900C9490 +:103520002523222319F0213009F46FC28E830E94D3 +:1035300028238E8196C1002321F0223008F065C235 +:103540007CC1211162C28DC1002321F0222309F424 +:1035500074C108C2222309F484C119C22B2D2695F7 +:103560002695237030E02115310521F021303105F9 +:10357000D1F04BC2002321F0812F9B2D937002C00C +:1035800080E090E026960FB6F894DEBF0FBECDBF68 +:10359000DF91CF911F910F91FF90EF90DF90CF902F +:1035A000BF900C94AB17002321F0812F9B2D9370BB +:1035B00002C080E090E026960FB6F894DEBF0FBE02 +:1035C000CDBFDF91CF911F910F91FF90EF90DF90D2 +:1035D000CF90BF900C94C117812F002319F00E9447 +:1035E000E62602C00E944E2726960FB6F894DEBF4C +:1035F0000FBECDBFDF91CF911F910F91FF90EF9044 +:10360000DF90CF90BF900C94D3278B2D837009F05F +:103610007BC00111FAC1812F829586958770880F32 +:10362000880F912F9F70C92ED12CE12CF12C082EE0 +:1036300004C0CC0CDD1CEE1CFF1C0A94D2F714FF56 +:1036400012C04FE050E060E070E004C0440F551F2E +:10365000661F771F8A95D2F7CB01BA0160957095E6 +:103660008095909503C060E070E0CB012B2D2695EE +:1036700026952370422F50E042305105D9F0433057 +:10368000510569F16C297D298E299F294130510509 +:1036900051F126960FB6F894DEBF0FBECDBFDF9175 +:1036A000CF911F910F91FF90EF90DF90CF90BF903F +:1036B0000C9409216C297D298E299F2926960FB605 +:1036C000F894DEBF0FBECDBFDF91CF911F910F9158 +:1036D000FF90EF90DF90CF90BF900C9425210E9437 +:1036E0000921C701B60126960FB6F894DEBF0FBEBA +:1036F000CDBFDF91CF911F910F91FF90EF90DF90A1 +:10370000CF90BF900C94ED20002319F08B2D817089 +:1037100001C08695882309F478C1812F829586950A +:103720008770880F880F912F9F70C92ED12CE12CA4 +:10373000F12C082E04C0CC0CDD1CEE1CFF1C0A94DE +:10374000D2F714FF12C04FE050E060E070E004C018 +:10375000440F551F661F771F8A95D2F7CB01BA0118 +:10376000609570958095909503C060E070E0CB0106 +:103770002B2D269526952370422F50E0423051057F +:10378000D9F04330510569F16C297D298E299F2993 +:103790004130510551F126960FB6F894DEBF0FBEA9 +:1037A000CDBFDF91CF911F910F91FF90EF90DF90F0 +:1037B000CF90BF900C94E3216C297D298E299F29FD +:1037C00026960FB6F894DEBF0FBECDBFDF91CF9126 +:1037D0001F910F91FF90EF90DF90CF90BF900C94CE +:1037E000FF210E94E321C701B60126960FB6F89487 +:1037F000DEBF0FBECDBFDF91CF911F910F91FF9024 +:10380000EF90DF90CF90BF900C94C721103FD1F183 +:1038100018F4103E50F4A1C0123F09F463C008F43C +:103820004CC0133F09F473C098C01F708B2D8F716B +:103830000023A1F00E946021812F26960FB6F894F4 +:10384000DEBF0FBECDBFDF91CF911F910F91FF90D3 +:10385000EF90DF90CF90BF900C94F0190E948121DF +:10386000812F26960FB6F894DEBF0FBECDBFDF9135 +:10387000CF911F910F91FF90EF90DF90CF90BF906D +:103880000C94F7190023A9F02111BFC08B2D8F7163 +:1038900026960FB6F894DEBF0FBECDBFDF91CF9155 +:1038A0001F910F91FF90EF90DF90CF90BF900C94FD +:1038B000A621223008F0A9C0E9CF0023A9F08B2D62 +:1038C0008F7126960FB6F894DEBF0FBECDBFDF9185 +:1038D000CF911F910F91FF90EF90DF90CF90BF900D +:1038E0000C946021002359F38B2D8F7126960FB60F +:1038F000F894DEBF0FBECDBFDF91CF911F910F9126 +:10390000FF90EF90DF90CF90BF900C948121002327 +:1039100099F08B2D8F7126960FB6F894DEBF0FBEEF +:10392000CDBFDF91CF911F910F91FF90EF90DF906E +:10393000CF90BF900C944B2126960FB6F894DEBF23 +:103940000FBECDBFDF91CF911F910F91FF90EF90F0 +:10395000DF90CF90BF900C9441210023A9F0222347 +:1039600009F4ADCF812F26960FB6F894DEBF0FBEB7 +:10397000CDBFDF91CF911F910F91FF90EF90DF901E +:10398000CF90BF900C94D918222309F4ADCF812F8A +:1039900026960FB6F894DEBF0FBECDBFDF91CF9154 +:1039A0001F910F91FF90EF90DF90CF90BF900C94FC +:1039B000A1194B2D4F70612FC7010E9479092696DE +:1039C0000FB6F894DEBF0FBECDBFDF91CF911F9130 +:1039D0000F91FF90EF90DF90CF90BF900C946520F7 +:1039E0004B2D4F70612FC70126960FB6F894DEBF9E +:1039F0000FBECDBFDF91CF911F910F91FF90EF9040 +:103A0000DF90CF90BF900C94270E26960FB6F894B7 +:103A1000DEBF0FBECDBFDF91CF911F910F91FF9001 +:103A2000EF90DF90CF90BF9008950E9422230E94D4 +:103A3000F7220E943C230E9406290E94D32780E09F +:103A400090E00E94AB1780E090E00C94C1170E94B8 +:103A500012230C94151D0E941C22292F22952F70D1 +:103A600030E02C3031054CF42A3031056CF4225012 +:103A700031092230310588F407C02C30310549F076 +:103A80002F30310531F009C0803E48F0803F29F4E5 +:103A900006C093FB882780F9089580E0089581E0AF +:103AA0000895CF93DF9300D000D01F92CDB7DEB73B +:103AB0000F900F900F900F900F90DF91CF9108957E +:103AC000CF93DF9300D000D000D0CDB7DEB72696DD +:103AD0000FB6F894DEBF0FBECDBFDF91CF91089532 +:103AE0001F93CF93DF93C091860116E080918701E9 +:103AF000C81799F0D0E01C9FF0011D9FF00D112414 +:103B0000E857FE4F408151816281738184819581A4 +:103B10000E94601D2196C770E9CFDF91CF911F9160 +:103B200008954091B8015091B9016091BA01709126 +:103B3000BB018091BC019091BD010C94601D8091EE +:103B4000BD0182958F7009F054C08091BA0188231D +:103B500009F44FC080918601A09187016091B8015E +:103B60007091B9014091BB015091BC01B6E08A1738 +:103B700009F43FC090E041155105C1F17F3F11F4B8 +:103B80006F3FA1F1B89FF001B99FF00D1124E857E4 +:103B9000FE4F218172132AC02081621327C0228127 +:103BA000211124C0238134812417350710F42150BA +:103BB0003109241B350B283C3105C0F42091BD018F +:103BC0002F7020612093BD0126E0289FF001299FDE +:103BD000F00D1124E357FE4F80818F708061808348 +:103BE00088EB91E00E94FE190C94701D019687707D +:103BF000BECF0895CF92DF92EF92FF920F931F9363 +:103C0000CF93DF93CDB7DEB762970FB6F894DEBFE0 +:103C10000FBECDBF8C0185E0F801DE011D9601903D +:103C20000D928A95E1F7D8014C9111965C9111970C +:103C300012966C9112971396CD90DC901497309158 +:103C4000B8017091B9018091BB019091BC010097BE +:103C500009F46BC17F3F19F43F3F09F466C1E0905E +:103C6000BA01EE2009F4C0C02091BD01C816D906E2 +:103C700028F0F601E81BF90BCF0104C08095909560 +:103C80008C0D9D1DFF24F394883C910578F0F12C58 +:103C9000207F09F0C6C07C2DD98AC88A89890E94F4 +:103CA000511D88EB91E00E94FE19B1C0822F807FE8 +:103CB00009F046C0751314C0341312C0611110C04E +:103CC0002F7020612093BD010E94911D88EB91E02F +:103CD0000E94FE198091BD01D80115968C932EC0CB +:103CE000CD2819F15F3F11F44F3FF9F0F62E611125 +:103CF0001CC0809186012091870136E0821709F46B +:103D00005AC090E0389FF001399FF00D1124E85718 +:103D1000FE4F7181571306C07081471303C0728133 +:103D2000711103C001968770E9CFF62E662309F45E +:103D300018C18091BD0181608093BD01F12C11C13A +:103D4000751308C0341306C0611104C08091BD0111 +:103D5000D801C3C04D875E878D859E856A8B0E9482 +:103D60002B1D6A898823E1F16623D1F12091BD01E1 +:103D7000822F82958F7090E0029774F08091B80145 +:103D80009091B90198878F831986DB86CA862C8724 +:103D9000CE0107960E94FE1986E0F801A8EBB1E07B +:103DA00001900D928A95E1F70E949F1D0E94911D3E +:103DB000FF24F394D6C04D875E878D859E850E9433 +:103DC0001C22292F22952F7030E0223031050CF073 +:103DD000BCC09F7009F0B6C0805E883008F4C1C0D6 +:103DE000C8010E94FE19E4CFC816D90608F453C0D2 +:103DF000F601E81BF90BCF01883C910508F450C08F +:103E0000F12C7C2DD98AC88A89890E94511DE8EB42 +:103E1000F1E086E0DF011D928A95E9F70E94911D8D +:103E2000A0C0751314C0341312C0611110C080916A +:103E3000BD01F8018583C8010E94FE1986E0E8EB08 +:103E4000F1E0DF011D928A95E9F7FE2C8AC04D87CB +:103E50005E878D859E856A8B0E942B1D6A898823CB +:103E600009F4BECF662309F4BBCF2091BD01822F98 +:103E700082958F7090E002970CF48ECF8091B801FC +:103E80009091B9019A8389831B82DD82CC822E8333 +:103E9000CE0101967FCF809590958C0D9D1DACCF66 +:103EA000F62E662309F49CCF75132EC034132CC054 +:103EB0002091BD0120FD1FC0822F82958F70D9F007 +:103EC000D80115962C9315978F3049F08F5F982F56 +:103ED0009295907F822F8F70892B15968C93C801B5 +:103EE0000E94FE1986E0F801A8EBB1E001900D9266 +:103EF0008A95E1F793CF86E0F801A8EBB1E0019055 +:103F00000D928A95E1F72DC04D875E878D859E8540 +:103F10000E942B1D811140CF8091BD018160809353 +:103F2000BD01C8010E94FE191CC0662309F458CFC8 +:103F30004D875E878D859E850E942B1D882309F401 +:103F40004FCF2ACF811148CF0CC0243031050CF05F +:103F500047CF9F7009F440CFF8019581907F09F019 +:103F60003BCF8F2D62960FB6F894DEBF0FBECDBF4C +:103F7000DF91CF911F910F91FF90EF90DF90CF9045 +:103F800008951F93CF93DF93CDB7DEB72C970FB66D +:103F9000F894DEBF0FBECDBF4F83588769877A87FD +:103FA0008B879C87CE0107960E94FA1D882369F0B3 +:103FB0008F8198852A853B85232BF1F19F3F09F05E +:103FC00063C08F3F09F060C037C086E0FE013796BE +:103FD000DE01119601900D928A95E1F76F81788547 +:103FE000EA85FB85309741F17F3F11F46F3F21F166 +:103FF0002091870130E0C90101968770992740918F +:10400000860150E08417950709F447C069837A83D5 +:10401000FD83EC8396E0929FD001939FB00D112415 +:10402000A857BE4FFE01319601900D929A95E1F787 +:10403000809387010E94701D16E080918601909107 +:1040400087018917C1F1189FC001112488579E4F1D +:104050000E94FA1D882379F1E09186011E9FF001EC +:104060001124E857FE4F4081518162817381848120 +:1040700095810E94601D8091860190E00196877075 +:10408000992780938601D9CF4F81588569857A8594 +:104090008B859C850E94601DCFCF0E94271D1092AA +:1040A000870110928601E8EBF1E086E0DF011D92C6 +:1040B0008A95E9F7C1CF2C960FB6F894DEBF0FBEF4 +:1040C000CDBFDF91CF911F910895EF92FF920F9393 +:1040D0001F93CF93DF938C01892B09F46CC0F12CD3 +:1040E000EE24E394E8012196F8018491843740F4AA +:1040F000843008F051C0813081F0823019F15BC00A +:10410000853709F444C0A8F19CE7980F903708F070 +:1041100052C08F770E94A11941C00E5F1F4FFE0150 +:10412000C49180E28C0F883048F4C7708E2D01C096 +:10413000880FCA95EAF70E94152314C08C2F0E949D +:10414000D9182DC00E5F1F4FFE01C49180E28C0F65 +:10415000883058F4C7708E2D01C0880FCA95EAF7D1 +:104160000E941B230E943C231AC08C2F0E94A1197D +:1041700016C00E5F1F4FFE01C491CC2381F08FE962 +:104180009FE00197F1F700C00000C150F6CF0E5F2D +:104190001F4FFE01F49003C00E94D9188E018F2D8D +:1041A000882309F49FCFEFE9FFE03197F1F700C0D2 +:1041B00000008150F5CFDF91CF911F910F91FF90BB +:1041C000EF90089508956093C2017093C3018093A6 +:1041D000C4019093C5010C94151D0F931F9300917A +:1041E000C2011091C3012091C4013091C501DC01CD +:1041F000CB01802B912BA22BB32B8093C2019093E8 +:10420000C301A093C401B093C5011F910F910C94F9 +:10421000151D0F931F930091C2011091C3012091AE +:10422000C4013091C501DC01CB0180239123A2237D +:10423000B3238093C2019093C301A093C401B093B0 +:10424000C5011F910F910C94151D0F931F930091A1 +:10425000C2011091C3012091C4013091C501DC015C +:10426000CB0180279127A227B3278093C201909387 +:10427000C301A093C401B093C5011F910F910C9489 +:10428000151D1092BE011092BF011092C001109234 +:10429000C1010C94151D41E050E060E070E004C0E5 +:1042A000440F551F661F771F8A95D2F74093BE01B2 +:1042B0005093BF016093C0017093C1010C94151D10 +:1042C00041E050E060E070E004C0440F551F661FFD +:1042D000771F8A95D2F78091BE019091BF01A0917E +:1042E000C001B091C101482B592B6A2B7B2B409305 +:1042F000BE015093BF016093C0017093C1010C9443 +:10430000151D41E050E060E070E004C0440F551F0F +:10431000661F771F8A95D2F74095509560957095E6 +:104320008091BE019091BF01A091C001B091C101E7 +:10433000482359236A237B234093BE015093BF0136 +:104340006093C0017093C1010C94151D41E050E0D1 +:1043500060E070E004C0440F551F661F771F8A9508 +:10436000D2F78091BE019091BF01A091C001B091A0 +:10437000C101482759276A277B274093BE015093E4 +:10438000BF016093C0017093C1010C94151D0F9380 +:104390001F930091BE011091BF012091C001309187 +:1043A000C101DC01CB01802B912BA22BB32B80937D +:1043B000BE019093BF01A093C001B093C1011F91B2 +:1043C0000F910C94151D0F931F930091BE01109136 +:1043D000BF012091C0013091C101DC01CB018023DC +:1043E0009123A223B3238093BE019093BF01A09396 +:1043F000C001B093C1011F910F910C94151D0F9333 +:104400001F930091BE011091BF012091C001309116 +:10441000C101DC01CB0180279127A227B32780931C +:10442000BE019093BF01A093C001B093C1011F9141 +:104430000F910C94151D0895CF92DF92EF92FF9289 +:104440000F931F93CF93DF938C01C090C201D09044 +:10445000C301E090C401F090C5014091BE015091AC +:10446000BF016091C0017091C101C42AD52AE62A1A +:10447000F72ACFE1D0E0D701C6010C2E04C0B695D3 +:10448000A795979587950A94D2F780FF07C0B80142 +:104490008C2F0E944A0E8130910531F4219758F7F4 +:1044A000B80180E00E944A0EDF91CF911F910F91D9 +:1044B000FF90EF90DF90CF90089590910C01992399 +:1044C00021F090910D01911109C020910E013091C0 +:1044D0000F01F90132969FEF40E030C0982F96957A +:1044E000969596959F30A0F4E0910E01F0910F0102 +:1044F000E90FF11D877021E030E0A90102C0440FEF +:10450000551F8A95E2F7CA019181892B818308950D +:104510009091D90190FF23C01F928F938AED98E06C +:104520009F938F930E9470090F900F900F900F90A0 +:1045300008959F3F39F04F5F4E3041F0519158132D +:10454000F8CF0DC05111F7CF942FF5CF9F3F39F021 +:10455000F901E90FF11D97FDFA95828308950895F9 +:1045600090910C01992321F090910D01911109C0B6 +:1045700020910E0130910F01F9013296205F3F4FDB +:1045800030C0982F9695969596959F30A8F4E09117 +:104590000E01F0910F01E90FF11D877021E030E06D +:1045A000A90102C0440F551F8A95E2F7CA01809500 +:1045B00091818923818308959091D90190FF16C03C +:1045C0001F928F938CEB98E09F938F930E947009BA +:1045D0000F900F900F900F9008953196E217F30708 +:1045E00029F090819813F9CF1082F7CF089581E0D8 +:1045F00090E0E0910E01F0910F01E80FF91F108299 +:10460000019680319105A9F708959091D801892BE1 +:104610008093D801089580959091D8018923809343 +:10462000D80108951092D80108959091D701892B4F +:104630008093D701089580959091D7018923809325 +:10464000D70108951092D70108958093C601089567 +:104650001092C601089580910E0190910F01FC0106 +:1046600031969C01205F3F4F80E0919191118F5FC7 +:10467000E217F307D1F70895E0910E01F0910F01D1 +:104680008091D8018083E0910E01F0910F0190811B +:104690008091D701892B80838091C601882361F0A6 +:1046A000E0910E01F0910F019081892B80830E948F +:1046B0002B2381111092C60180910E0190910F0160 +:1046C0000C94571790933B0180933A010895CF9231 +:1046D000DF92EF92FF926C01EE24FF24C114D1040B +:1046E000E104F10421F0C701B60120E101C020E09E +:1046F000C72ED82EE92EFF24C114D104E104F10401 +:1047000019F0285FC701B6016B017C0154E0F694F3 +:10471000E794D794C7945A95D1F7C114D104E10412 +:10472000F10419F02C5FC701B6016B017C0142E076 +:10473000F694E794D794C7944A95D1F7C114D1045D +:10474000E104F10419F02E5FC701B601DC01CB01D1 +:10475000B695A79597958795892B8A2B8B2B09F072 +:104760002F5F822FFF90EF90DF90CF90089582957A +:10477000982F9C7C392F36953695282F237344E04B +:10478000249FC0011124932F982B292F2A7A269534 +:10479000892F8575880F822B08951F93CF93DF9300 +:1047A0001F92CDB7DEB799830E94B723182F998146 +:1047B000892F0E94B723212F30E0322F2227A90111 +:1047C000482BCA010F90DF91CF911F9108958091DE +:1047D000F201843009F11092DA0120E488E190E0DE +:1047E0000FB6F894A895809360000FBE20936000E8 +:1047F00083B7817F846083BF83B7816083BF7894F0 +:10480000889583B78E7F83BF88E10FB6F894809335 +:104810006000109260000FBE089508950895CF9330 +:104820000E940D240E94EF0B0E940E24C0E08C2FEA +:104830000E941B0D811104C0CF5FCE30C1F701C0B3 +:1048400081E0CF9108950E94271D0E944B170C9480 +:104850007D0F82E084BD93E095BD9AEF97BD809374 +:104860006E0008952FB7F8948091DB019091DC01E0 +:10487000A091DD01B091DE012FBF0895CF92DF92AC +:10488000EF92FF920F931F932FB7F8944091DB01A3 +:104890005091DC016091DD017091DE012FBF6A0152 +:1048A0007B01EE24FF248C0120E030E0C016D1060D +:1048B000E206F30610F4415051099A01281B390B06 +:1048C000C9011F910F91FF90EF90DF90CF90089555 +:1048D0001F920F920FB60F9211248F939F93AF9355 +:1048E000BF938091DB019091DC01A091DD01B0913B +:1048F000DE010196A11DB11D8093DB019093DC01C7 +:10490000A093DD01B093DE01BF91AF919F918F9194 +:104910000F900FBE0F901F9018950E944914F894A5 +:104920002FEF87EA91E6215080409040E1F700C0E8 +:10493000000087E090EBDC018093FB019093FC0189 +:10494000A093FD01B093FE019CE088E10FB6F894BE +:10495000A895809360000FBE90936000FFCFEF9208 +:10496000FF920F931F93CF93DF93D82FC0E08C2F2C +:104970000E941B0D00E010E0E82EF12CC701002E74 +:1049800002C0959587950A94E2F780FD06C00F5FF7 +:104990001F4F0630110591F709C0602F7C2F80E072 +:1049A0000E94280ED813F3CF81E004C0CF5FCE3031 +:1049B000F1F680E0DF91CF911F910F91FF90EF9082 +:1049C0000895CF93C82F8CE20E94AF24882321F052 +:1049D0008C2FCF910C94AF2480E0CF910895CF938A +:1049E0000E943E26811102C00E9424268FEF98E08B +:1049F0000E94D708C5E6C15049F00E94EF0B8FE333 +:104A00009CE90197F1F700C00000F5CF88EF98E02E +:104A10000E94D70889E20E94E124811113C18AE231 +:104A20000E94E12481110E94242685E00E94E12455 +:104A300081110E948D240E9449268093D90187E02C +:104A40000E94E1248823A9F18BE10E94E1248823BC +:104A500051F08091D90181FB222720F991E0922722 +:104A600090FB81F90EC08EE00E94E124882361F062 +:104A70008091D90182FB222720F991E0922790FBB7 +:104A800082F98093D90115C080E10E94E1249091C0 +:104A9000D901882341F093FB222720F981E0822766 +:104AA00080FB93F904C0892F809580FB90F9909347 +:104AB000D9018091D9010E944D260E945B268093E6 +:104AC000EC0180EE0E94E124882341F08091EC010A +:104AD000982F909590FB80F98093EC0189E30E94D8 +:104AE000E124882359F08091EC0181FB222720F9F1 +:104AF00091E0922790FB81F98093EC0182EE0E9475 +:104B0000E124882359F08091EC0182FB222720F9CF +:104B100091E0922790FB82F98093EC0186EE0E944F +:104B2000E124882359F08091EC0183FB222720F9AE +:104B300091E0922790FB83F98093EC0183EE0E9431 +:104B4000E124882359F08091EC0184FB222720F98D +:104B500091E0922790FB84F98093EC0185E30E9419 +:104B6000E124882359F08091EC0185FB222720F96C +:104B700091E0922790FB85F98093EC0181E30E94FC +:104B8000E124882359F08091EC0186FB222720F94B +:104B900091E0922790FB86F98093EC0181E10E94DD +:104BA000E124882359F08091EC0187FB222720F92A +:104BB00091E0922790FB87F98093EC018091EC01C2 +:104BC0000E945F268091EC0187FB882780F9809303 +:104BD0000D0187E20E94E124C82F8EE10E94E124AA +:104BE0008111C2608FE10E94E1248111C46080E2E2 +:104BF0000E94E1248111C86081E20E94E1248111B8 +:104C0000C06182E20E94E1248111C06283E20E94BD +:104C1000E1248111C06484E20E94E124882311F020 +:104C2000C06802C0CC2329F08C2F0E9456266C2F1E +:104C300003C00E945226682F70E080E090E0CF9180 +:104C40000C94E320CF9108956DEE7EEF80E090E02C +:104C50000E94273060E082E090E00E94193060E01E +:104C600083E090E00E94193060E084E090E00E94D0 +:104C7000193060E085E090E00C94193080E090E01D +:104C80000E94133021E08D3E9E4F09F020E0822FDC +:104C9000089582E090E00C940B30682F82E090E061 +:104CA0000C94193083E090E00C940B30682F83E073 +:104CB00090E00C94193084E090E00C940B30682F55 +:104CC00084E090E00C9419308091E10180FF0BC0EA +:104CD0006091130185E0689FB00111247595679577 +:104CE000759567952BC081FF09C06091130185E020 +:104CF000689FB00111247595679520C082FF07C099 +:104D00006091130185E0689FB001112417C0909154 +:104D1000E2019923D1F060911201961788F7209152 +:104D2000130185E0289F90011124929FA001939F79 +:104D3000500D112470E0CA010E94DD2F603871050A +:104D400040F46115710539F002C065E070E0862F0E +:104D500008958FE7089581E008958091E10180FF33 +:104D600008C06091110170E075956795759567951C +:104D700021C081FF06C06091110170E075956795B3 +:104D800019C082FF04C06091110170E010C09091C1 +:104D9000E2019923C1F0609110019617A0F780916C +:104DA0001101899FC001112470E00E94DD2F60383D +:104DB000710528F46115710521F0862F08958FE79C +:104DC000089581E0089561E070E0F4CF803F21F420 +:104DD0000E946426819504C0813F29F40E946426C4 +:104DE0008093E5010895823F21F40E946426819515 +:104DF00004C0833F29F40E9464268093E40108954F +:104E0000893F19F40E94AD2605C08A3F31F40E9403 +:104E1000AD2681958093E60108958B3F21F40E9491 +:104E2000AD26819504C08C3F29F40E94AD26809365 +:104E3000E7010895843F21F48091E301816017C068 +:104E4000853F21F48091E301826011C0863F21F407 +:104E50008091E30184600BC0873F21F48091E301DE +:104E6000886005C0883F31F48091E30180618093C0 +:104E7000E30108958D3F21F48091E10181600BC031 +:104E80008E3F21F48091E101826005C08F3F29F4BB +:104E90008091E10184608093E1010895803F39F4BD +:104EA0008091E50187FF6CC01092E50169C0813FE8 +:104EB00029F48091E5011816BCF362C09091E401D9 +:104EC000823F29F497FF5CC01092E40159C0833FF0 +:104ED00019F41916CCF354C0893F41F48091E601CE +:104EE00018160CF04DC01092E6014AC08A3F29F412 +:104EF0008091E60187FF44C0F6CF8B3F39F4809163 +:104F0000E70187FF3DC01092E7013AC08C3F29F4CA +:104F10008091E7011816BCF333C0843F21F48091DF +:104F2000E3018E7F17C0853F21F48091E3018D7FDF +:104F300011C0863F21F48091E3018B7F0BC0873F36 +:104F400021F48091E301877F05C0883F31F480918F +:104F5000E3018F7E8093E30113C08D3F21F48091A4 +:104F6000E1018E7F0BC08E3F21F48091E1018D7FA6 +:104F700005C08F3F29F48091E1018B7F8093E1018F +:104F80008091E40181110EC08091E50181110AC078 +:104F90008091E601811106C08091E701811102C074 +:104FA0001092E20108958091D90183FF7EC08BE3C6 +:104FB00099E00E94D7088091E3011F928F9386E3C6 +:104FC00099E09F938F930E94700984E399E00E9477 +:104FD000D7088091E401282F332727FD30953F9390 +:104FE0008F9381E399E09F938F930E9470098FE2E2 +:104FF00099E00E94D7088091E501282F332727FDEB +:1050000030953F938F938CE299E09F938F930E940A +:1050100070098AE299E00E94D7088091E601282F62 +:10502000332727FD30953F938F9387E299E09F9335 +:105030008F930E94700985E299E00E94D7088091C1 +:10504000E701282F332727FD30953F938F9382E286 +:1050500099E09F938F930E9470098FE199E00E94DD +:10506000D7088091E2011F928F938CE199E09F9382 +:105070008F930E9470098AE199E00E94D70880917D +:10508000E1011F928F9387E199E09F938F930E9494 +:10509000700984E199E00E94D7088DB79EB74C96BD +:1050A0000FB6F8949EBF0FBE8DBF83EE91E00E94B5 +:1050B000A0170E9432249093E0018093DF010895AD +:1050C0001F93CF93DF938091DF019091E0010E94C5 +:1050D0003E24AC019091E201992321F0209114012A +:1050E00030E006C0209115018AE0289F900111242C +:1050F0004217530708F486C08091E401C091E5018E +:10510000D091E6011091E701811107C0C11176C06D +:10511000D11174C0111172C075C09F3F19F09F5F0B +:105120009093E201181624F40E9464268093E4010F +:105130008091E40187FF05C00E94642681958093D9 +:10514000E4011C1624F40E9464268093E5018091FA +:10515000E50187FF05C00E94642681958093E501E3 +:105160006091E401662339F1C091E501CC2319F186 +:10517000772767FD7095872F972F0E94E22E23E3F4 +:1051800033E343E35FE30E94462F0E94AF2E609318 +:10519000E4016C2F772767FD7095872F972F0E946A +:1051A000E22E23E333E343E35FE30E94462F0E94B2 +:1051B000AF2E6093E5011D1624F40E94AD26809366 +:1051C000E6018091E60187FF05C00E94AD2681952A +:1051D0008093E601111624F40E94AD268093E70126 +:1051E0008091E70187FF05C00E94AD2681958093DD +:1051F000E701DF91CF911F910C94D3279F3F09F0D6 +:105200008ECF96CFDF91CF911F910895E3EEF1E01D +:1052100085E0DF011D928A95E9F71092E201109274 +:10522000E10108958EE59BE00E94D7081F9281E07E +:105230008F931F9285E08F9380E19BE09F938F93E4 +:105240000E9470090F900F900F900F900F900F9089 +:1052500008958330E9F128F4813061F0823009F15A +:105260000895853009F462C008F449C0863009F415 +:1052700074C0089580911501262F30E0280F311D4C +:105280002F3F310524F4680F6093150103C08FEFA1 +:1052900080931501809115011F928F9389E49AE004 +:1052A00072C080911401262F30E0280F311D2F3F4E +:1052B000310524F4680F6093140103C08FEF8093CD +:1052C0001401809114011F928F9387E39AE05BC0D1 +:1052D00080911301262F30E0280F311D2F3F31051B +:1052E00024F4680F6093130103C08FEF80931301C0 +:1052F000809113011F928F9384E29AE044C08091C1 +:105300001201262F30E0280F311D2F3F310524F4E4 +:10531000680F6093120103C08FEF80931201809198 +:1053200012011F928F938FE09AE02DC0809111019E +:10533000262F30E0280F311D2F3F310524F4680F50 +:105340006093110103C08FEF8093110180911101CF +:105350001F928F9386EF99E016C080911001262F3F +:1053600030E0280F311D2F3F310524F4680F609382 +:10537000100103C08FEF80931001809110011F92E4 +:105380008F938BED99E09F938F930E9470090F90FC +:105390000F900F900F900895833081F128F48130A1 +:1053A00059F08230D1F00895853009F449C0B8F140 +:1053B000863009F456C0089580911501681720F4CD +:1053C000861B8093150102C0109215018091150172 +:1053D0001F928F938CEC99E054C080911401681750 +:1053E00020F4861B8093140102C010921401809156 +:1053F00014011F928F938AEB99E043C080911301AF +:10540000681720F4861B8093130102C010921301C9 +:10541000809113011F928F9387EA99E032C08091A7 +:105420001201681720F4861B8093120102C01092AB +:105430001201809112011F928F9382E999E021C09D +:1054400080911101681720F4861B8093110102C01E +:1054500010921101809111011F928F9389E799E0B9 +:1054600010C080911001681720F4861B80931001F2 +:1054700002C010921001809110011F928F938EE54F +:1054800099E09F938F930E9470090F900F900F9057 +:105490000F900895CF93C82F1F928F9383E69CE0BF +:1054A0009F938F930E94700981E090E0A0E0B0E0AC +:1054B000BC01CD0104C0660F771F881F991FCA95D4 +:1054C000D2F70E94E3200F900F900F900F90CF9192 +:1054D0000C94271DCF938D3109F465C0B0F58E3043 +:1054E00009F4CCC100F5873009F49BC1A8F48630DB +:1054F00009F06DC28091D901817F8E7F8093D9019F +:1055000088E69CE00E94D7088AEA90E10E94D708CA +:1055100081E08093E90180C1883009F44FC08B306D +:1055200009F47CC154C2863109F4F0C138F48031E9 +:1055300009F4B8C1813109F430C249C2893109F492 +:10554000CEC18B3109F486C142C2853309F437C21A +:1055500048F4873209F433C208F433C2893209F4BB +:105560002EC235C2833438F48A3308F02CC2883313 +:1055700009F454C12CC2833409F421C2883409F0DF +:1055800026C20E94271D89E990E10E94D7089FEF5B +:1055900023ED80E3915020408040E1F700C00000FF +:1055A0000E948D2439C189EB90E10E94D7080E94A6 +:1055B000692E0E944B170E947D0F2EC18EEA90E14A +:1055C0000E94D70889E79EE00E94D7080E945226D1 +:1055D0001F928F9386E79EE09F938F930E9470099E +:1055E00084E79EE00E94D7080E944926C82F81E6E2 +:1055F0009EE00E94D7081F92CF938CE59EE09F9378 +:105600008F930E9470098AE59EE00E94D70880E58A +:105610009EE00E94D7088C2F81701F928F938DE49B +:105620009EE09F938F930E9470098BE49EE00E94FE +:10563000D70881E49EE00E94D708C1FB882780F943 +:105640001F928F938EE39EE09F938F930E94700929 +:105650008CE39EE00E94D70880E39EE00E94D7087A +:10566000C2FB882780F91F928F938DE29EE09F9363 +:105670008F930E9470098BE29EE00E94D70882E21D +:105680009EE00E94D708C3FBCC27C0F91F92CF939E +:105690008FE19EE09F938F930E9470098DE19EE0C1 +:1056A0000E94D7080E945B26C82F89E09EE00E94D6 +:1056B000D7081F92CF9384E09EE09F938F930E9420 +:1056C000700982E09EE00E94D70889EE9DE00E946A +:1056D000D7088C2F81701F928F9386EE9DE09F9349 +:1056E0008F930E9470098DB79EB780960FB6F8947D +:1056F0009EBF0FBE8DBF84EE9DE00E94D7088DEC4B +:105700009DE00E94D708C1FB882780F91F928F93E4 +:105710008AEC9DE09F938F930E94700988EC9DE036 +:105720000E94D70886EB9DE00E94D708C2FB88271D +:1057300080F91F928F9383EB9DE09F938F930E943C +:10574000700981EB9DE00E94D7088FE99DE00E94DF +:10575000D708C3FB882780F91F928F938CE99DE0BF +:105760009F938F930E9470098AE99DE00E94D70859 +:1057700080E99DE00E94D708C4FB882780F91F922A +:105780008F938DE89DE09F938F930E9470098BE823 +:105790009DE00E94D70889E79DE00E94D708C5FBDD +:1057A000882780F91F928F9386E79DE09F938F93C0 +:1057B0000E94700984E79DE00E94D70888E59DE07B +:1057C0000E94D708C6FB882780F91F928F9385E532 +:1057D0009DE09F938F930E94700983E59DE00E9456 +:1057E000D7088BE49DE00E94D708C7FBCC27C0F9FF +:1057F0001F92CF9388E49DE09F938F930E9470093E +:1058000086E49DE00E94D7088DB79EB74C960FB6F0 +:10581000F8949EBF0FBE8DBFC1E0DEC08FE89CE054 +:105820005BC08091D901C82FC17080FF09C08CE88E +:1058300090E10E94D7088091D901817F8E7F47C077 +:1058400080E890E10E94D7088091D901816080931F +:10585000D901E2CF9091D90191FBCC27C0F981E029 +:10586000C827892FC0FB81F98093D901CC2319F077 +:1058700083E790E127C085E690E12EC09091D901A1 +:1058800092FBCC27C0F981E0C827892FC0FB82F9A1 +:105890008093D901CC2319F086E590E113C086E40A +:1058A00090E11AC09091D90193FBCC27C0F981E017 +:1058B000C827892FC0FB83F98093D901CC2351F0ED +:1058C0008AE390E10E94D7088091D901816080939A +:1058D000D90182C08DE290E10E94D7089DCF8EE170 +:1058E00090E10E94D70882EF9FE00E94D70885EBE5 +:1058F0009FE00E94D70888E89FE00E94D70884E4D0 +:105900009FE00E94D70889E19FE0E6CF8BE09FE00F +:105910000E94D7080E944B171F928F9381EF9EE041 +:105920009F938F930E94700980910C011F928F9317 +:105930008AED9EE09F938F930E9470098091700181 +:105940001F928F9387EC9EE09F938F930E94700924 +:1059500080910D011F928F9384EB9EE09F938F9314 +:105960000E9470098091DB019091DC01A091DD0122 +:10597000B091DE01BF93AF939F938F9380EA9EE037 +:105980009F938F930E9470098DB79EB746960FB66E +:10599000F8949EBF0FBE8DBF3FCF0E94271DC091C0 +:1059A0000D0181E0C827C0930D01CC2329F086E9C1 +:1059B0009EE00E94D70810C08BE89EE08DCF80E06B +:1059C00003C08D5101C089530E944A2A25CF89E81E +:1059D0009EE00E94D708C0E08C2FCF91089580E010 +:1059E000089580E00895CF93C82F8091E901813018 +:1059F00081F020F0823009F44FC045C1E0910E01E2 +:105A0000F0910F018081813169F0823209F03DC14E +:105A100009C0E0910E01F0910F018081813111F0F8 +:105A2000823261F48C2F0E94EF2C811104C08C2FE4 +:105A30000E946A2A2FC081E090E02CC08C2F0E9427 +:105A4000F12C811126C0C431E1F070F4CB3081F02B +:105A5000C031D1F40E9412298BE59CE00E94D70846 +:105A600082E08093E90115C0C93259F0C83361F46E +:105A700088E69CE00E94D7088FE59CE00E94D7084A +:105A800008C01092E90103C189E59CE00E94D70893 +:105A9000FEC081E08170FDC0C43220F5CE3108F037 +:105AA000C0C0CB3099F1C8F4C73009F0D2C08AE049 +:105AB0008093150194E19093140193E09093130166 +:105AC0008093120188E08093110188E28093100195 +:105AD0008FEF9AE00E94D708BFC0C33149F1C431AB +:105AE000C1F0B7C0CB3409F4A9C028F4C93289F099 +:105AF000C83361F0AEC0C13509F49EC0C23509F4A7 +:105B000099C0CE3409F0A5C06AE09EC00E94122957 +:105B1000A3C08091E801882319F01092E8019CC08D +:105B20008CE09BE00E94D70881E08093E901B1C03E +:105B300086EE9AE00E94D70884ED9AE00E94D7088A +:105B4000809115011F928F9381ED9AE09F938F931F +:105B50000E9470098FEC9AE00E94D7088DEB9AE0C2 +:105B60000E94D708809114011F928F938AEB9AE0CC +:105B70009F938F930E94700988EB9AE00E94D70848 +:105B800089EA9AE00E94D708809113011F928F93AF +:105B900086EA9AE09F938F930E94700984EA9AE0C4 +:105BA0000E94D70883E99AE00E94D70880911201E9 +:105BB0001F928F9380E99AE09F938F930E947009C0 +:105BC0008EE89AE00E94D70889E79AE00E94D708F9 +:105BD000809111011F928F9386E79AE09F938F9394 +:105BE0000E94700984E79AE00E94D7088DE59AE048 +:105BF0000E94D708809110011F928F938AE59AE046 +:105C00009F938F930E94700988E59AE00E94D708BD +:105C10008DB79EB748960FB6F8949EBF0FBE8DBF46 +:105C20001BC0CE51EC2FF0E0E15DFE4F80818093F0 +:105C3000E80112C061E003C061E006C06AE0809143 +:105C4000E8010E94292908C08091E8010E94CC291E +:105C500003C08DEF9AE013C08091E801882369F0BA +:105C60001F928F9387EF9AE09F938F930E94700902 +:105C70000F900F900F900F9004C084EF9AE00E9455 +:105C8000D70881E006C01092E90180E002C080E000 +:105C900001CFCF910895E1E8F0E0808188608083B2 +:105CA0008081816080838FB7F89493E0909389001E +:105CB00090ED909388008FBF0895EFE6F0E080812B +:105CC000826080830895EFE6F0E080818D7F80839D +:105CD0000895EFE6F0E0908182E0892780830895BF +:105CE0001F920F920FB60F9211242F933F934F9351 +:105CF0005F936F937F938F939F93AF93BF93EF9334 +:105D0000FF938091EA019091EB0101969093EB0152 +:105D10008093EA01811103C082E00E947D0FE0912F +:105D2000EB01E695E695F0E0E753FF4EE4918091B4 +:105D3000EA018E1303C080E00E947D0FFF91EF9176 +:105D4000BF91AF919F918F917F916F915F914F9193 +:105D50003F912F910F900FBE0F901F90189504D078 +:105D60006894B1118DC0089570D088F09F5790F05D +:105D7000B92F9927B751A0F0D1F0660F771F881F70 +:105D8000991F1AF0BA95C9F712C0B13081F077D0D7 +:105D9000B1E0089574C0672F782F8827B85F39F075 +:105DA000B93FCCF3869577956795B395D9F73EF4CF +:105DB00090958095709561957F4F8F4F9F4F089577 +:105DC000E89409C097FB3EF4909580957095619595 +:105DD0007F4F8F4F9F4F9923A9F0F92F96E9BB274B +:105DE0009395F695879577956795B795F111F8CFC7 +:105DF000FAF4BB0F11F460FF1BC06F5F7F4F8F4F32 +:105E00009F4F16C0882311F096E911C0772321F027 +:105E10009EE8872F762F05C0662371F096E8862FBF +:105E200070E060E02AF09A95660F771F881FDAF716 +:105E3000880F9695879597F9089557FD9058440FC8 +:105E4000551F59F05F3F71F04795880F97FB991FD9 +:105E500061F09F3F79F08795089512161306140696 +:105E6000551FF2CF4695F1DF08C016161706180623 +:105E7000991FF1CF86957105610508940895E894FE +:105E8000BB2766277727CB0197F908950BD078C0F9 +:105E900069D028F06ED018F0952309F05AC05FC081 +:105EA0001124EECFCADFA0F3959FD1F3950F50E0F8 +:105EB000551F629FF001729FBB27F00DB11D639FBC +:105EC000AA27F00DB11DAA1F649F6627B00DA11D62 +:105ED000661F829F2227B00DA11D621F739FB00D08 +:105EE000A11D621F839FA00D611D221F749F332778 +:105EF000A00D611D231F849F600D211D822F762F11 +:105F00006A2F11249F5750408AF0E1F088234AF00D +:105F1000EE0FFF1FBB1F661F771F881F9150504059 +:105F2000A9F79E3F510570F014C0AACF5F3FECF374 +:105F3000983EDCF3869577956795B795F795E79545 +:105F40009F5FC1F7FE2B880F911D9695879597F956 +:105F5000089597F99F6780E870E060E008959FEFEB +:105F600080EC089500240A941616170618060906F0 +:105F7000089500240A9412161306140605060895BF +:105F8000092E0394000C11F4882352F0BB0F40F447 +:105F9000BF2B11F460FF04C06F5F7F4F8F4F9F4F87 +:105FA0000895991B79E004C0991F961708F0961B75 +:105FB000881F7A95C9F78095089597FB072E16F4E8 +:105FC000009407D077FD09D00E94F72F07FC05D079 +:105FD0003EF4909581959F4F0895709561957F4F00 +:105FE0000895EE0FFF1F0590F491E02D0994AA1B70 +:105FF000BB1B51E107C0AA1FBB1FA617B70710F0B4 +:10600000A61BB70B881F991F5A95A9F780959095E5 +:10601000BC01CD010895F999FECF92BD81BDF89ADA +:10602000992780B50895A8E1B0E042E050E00C94D3 +:106030002E30262FF999FECF1FBA92BD81BD20BD0B +:106040000FB6F894FA9AF99A0FBE019608950E9435 +:106050001930272F0C941A30DC01CB01FC01F9997F +:10606000FECF06C0F2BDE1BDF89A319600B40D92A4 +:0C60700041505040B8F70895F894FFCF5D +:10607C0020027E0F6F104C101810E40F0101C701A5 +:10608C0028080A03140A3F4D3620394908FC07C674 +:10609C0007A6076D07E006F90612072B074B070149 +:0A60AC0002030405060708090000BE :00000001FF -- cgit v1.2.1 From 46ddbd1fe27c910cd4d6ae3d2b6044cfbf71c3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Wed, 2 Mar 2016 08:43:21 +0100 Subject: forgot F6 --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 2 +- keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 4e88376e49..c3b296cd77 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // SYMBOLS [SYMB] = KEYMAP( // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex index 5346f1bdf8..bf12476a4f 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -45,7 +45,7 @@ :1002C000003B0035022102350001004C003C001EBD :1002D0000224062202010001003D002D0224022416 :1002E00004010001003E000100370011040000017C -:1002F000000100010000000100000001000E3001BB +:1002F000003F00010000000100000001000E30017D :100300000000000100000001004000240624022338 :1003100002000001004100220425023500300001E6 :100320000042002304260235023800010043002465 -- cgit v1.2.1 From d0c62feb7e5992c2a6de2e50d347572720fa92a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Mar 2016 22:53:43 +0100 Subject: tweaking it a bit further, fixing things --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index c3b296cd77..3efe3de8ba 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | |CMD-C | 7 | 8 | 9 | 0 | ß | # | + * | ESC | 1 | 2 | 3 | 4 | 5 |CTL_SFT| | # | 6 | 7 | 8 | 9 | 0 | ß | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | " | ' | ? | + * | | | ^ | % | | | ~ | | | | & | < | > | - | UP | + | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | + | - | . | ; | | + * | | | | | | | ' | " |Left | DOWN |Right | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -107,8 +107,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { M(M_TOGGLE_5), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, DE_EXLM, DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), LSFT(DE_PLUS), - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, - DE_PLUS, DE_MINS, KC_DOT, LSFT(DE_COMM), KC_TRNS, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_MINS, KC_UP, DE_PLUS, + DE_QUOT, DE_DQOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -- cgit v1.2.1 From 7ebc813e8291af61ea3ec6828d682c2d84e2b4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Mar 2016 23:00:20 +0100 Subject: changing cursor keys, back to "default" cursor key layout, adding ISO-cursor keys to Symb layer. Changed numbers back to symmetric layout again, keeping F-keys in symb though --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 3efe3de8ba..e661010133 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -80,9 +80,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | * | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | ^ | % | | | ~ | | | | & | < | > | - | UP | + | + * | | | ^ | % | | | ~ | | | | & | < | > | UP | - | + | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | ' | " |Left | DOWN |Right | + * | | | | | | | ' | LEFT| DOWN | RIGHT | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -107,8 +107,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { M(M_TOGGLE_5), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, DE_EXLM, DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), LSFT(DE_PLUS), - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_MINS, KC_UP, DE_PLUS, - DE_QUOT, DE_DQOT, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), KC_UP, DE_MINS, DE_PLUS, + DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -- cgit v1.2.1 From 1313e0c8283dc4c5f544aeb981ea047928950f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Mar 2016 23:07:38 +0100 Subject: fix number pad, add , --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index e661010133..7ecd1ae70f 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -211,7 +211,7 @@ KEYMAP( KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0,KC_DOT, KC_0, DE_EQL, KC_TRNS, + KC_0,KC_DOT, KC_COMM, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -- cgit v1.2.1 From 94e96456b87c28299b426e8d0f047033f6d93d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Thu, 24 Mar 2016 10:30:27 +0100 Subject: minor changes --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 30 +- keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex | 2194 ++++++++++++------------- 2 files changed, 1111 insertions(+), 1113 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 7dbe05b28e..0349c749bb 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -74,28 +74,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 1: Symbol Layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | | L5 | F7 | F8 | F9 | F10 | F11 | F12 | + * | | F1 | F2 | F3 | F4 | F5 | | | L5 | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | ! | + * | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | * | + * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | # | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | ^ | % | | | ~ | | | | & | < | > | UP | - | + | + * | | | ^ | % | | | ~ | | | | | | ~ | ^ | UP | | $ | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | ' | LEFT| DOWN | RIGHT | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | | | + * | | | | F13 | F12 | * ,------|------|------| |------+------+------. - * | | | | | | | | + * | | | | | F14 | | | * | | |------| |------| | | - * | | | | | | | | + * | | | | | F15 | | | * `--------------------' `--------------------' */ // SYMBOLS [SYMB] = KEYMAP( // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, @@ -104,14 +104,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS,KC_DEL,KC_TRNS, // right hand - M(M_TOGGLE_5), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, DE_EXLM, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), LSFT(DE_PLUS), - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), KC_UP, DE_MINS, DE_PLUS, + M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LESS, DE_MORE, DE_EXLM, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, + KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_F13, KC_F12, + KC_F14, + KC_F15, KC_TRNS, KC_TRNS ), /* Keymap 2: Media and mouse keys * diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex index 7f3ed1af5b..c7cb8d8630 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -1,19 +1,19 @@ -:100000000C94F0030C9437040C9437040C943704CC -:100010000C9437040C9437040C9437040C94370474 -:100020000C9437040C9437040C94370E0C94090F7D -:100030000C9437040C9437040C9437040C94370454 -:100040000C9437040C947D230C9437040C943704DF -:100050000C9437040C940F1D0C9437040C94370443 -:100060000C9437040C9437040C9437040C94370424 -:100070000C9437040C9437040C9437040C94370414 -:100080000C9437040C9437040C9437040C94370404 -:100090000C9437040C9437040C9437040C943704F4 -:1000A0000C9437040C9437040C943704470451041F -:1000B00069048104C904CF04F004D504EB04E1040D -:1000C000E604DB04B1049904F504760F980F8B1055 -:1000D000980F8B10DD0F00108B1055106810521305 -:1000E000521381138113C413FE130B160B1617142E -:1000F0000B160C150C15DF150B160B16F61501E17A +:100000000C94F0030C9434040C9434040C943404D5 +:100010000C9434040C9434040C9434040C94340480 +:100020000C9434040C9434040C94210E0C94F30EB0 +:100030000C9434040C9434040C9434040C94340460 +:100040000C9434040C9478230C9434040C943404ED +:100050000C9434040C94091D0C9434040C94340452 +:100060000C9434040C9434040C9434040C94340430 +:100070000C9434040C9434040C9434040C94340420 +:100080000C9434040C9434040C9434040C94340410 +:100090000C9434040C9434040C9434040C94340400 +:1000A0000C9434040C9434040C94340444044E042E +:1000B00066047E04C604CC04ED04D204E804DE0425 +:1000C000E304D804AE049604F204600F820F7010AB +:1000D000820F7010C70FEA0F70103F1052103413C8 +:1000E000341363136313A613E413FD15FD15FD13F9 +:1000F000FD15FE14FE14D115FD15FD15E81501E1E1 :100100000137023702E10138023801E201250225F8 :1001100002E20001E10137023702E1013802380151 :10012000E10130023002E10001E10137023702E172 @@ -32,25 +32,25 @@ :1001F000021902E30002E00001E0000000F0A1F0BB :10020000A329002B00E200E100358100001E00144C :100210000004001D710D304D831F001A0016001BD5 -:10022000000C304C002000080007000600E1042A02 -:10023000002100150009001900E1084A00220017FA -:10024000000A000500000003300130E3000000E276 -:1002500000000002540230E7000000E60000000445 +:10022000000C304C00200008000700060052002A95 +:1002300000210015000900190051004A0022001792 +:10024000000A00050000000330E101E3000000E2C5 +:1002500000000002543100E7000000E60000000446 :100260005423001C000B00110000002E7F240018F6 :10027000000D00100050004B0025000C000E003651 -:100280000052002C00260012000F003700510028F9 -:100290000027001300330038714F004E002D002F4F -:1002A000003474E50031810000010001000100010B +:10028000004F002C00260012000F003700E1082864 +:10029000002700130033003871E1044E002D002FB9 +:1002A000003474E50030810000010001000100010C :1002B00000010000003A003500310001000100019A :1002C000003B0035022102350001004C003C001EBD :1002D0000224062202010001003D002D0224022416 :1002E00004010001003E000100370011040000017C :1002F000000100010000000100000001000E3001BB -:100300000000000100000001003F00240624022339 -:100310000200000100400022042502350001000116 -:100320000041002304260235023700010042002468 -:100330000425041F021E020100430031002604317F -:1003400002010001004400450001002D02010000EF +:100300000000000100000068003F002406240224D1 +:100310000400004500400022042502110431026956 +:100320000041002304260264005000010042003511 +:100330000025045200510001004300350226043814 +:10034000004F006A0044001E02310021020100003B :100350000001000100010001000100000001000196 :100360000001000100010001000100F400F200FBA7 :1003700000010001000100F000F100FA000100019D @@ -80,7 +80,7 @@ :1004F00000000001000100010000000100000001F7 :10050000003F00520051002302000001004000247F :100510000021001E00270001004100250022001FCD -:1005200000370001004200260023002000270001C0 +:1005200000370001004200260023002000360001B1 :10053000004300300230002402270201004400453D :1005400000380001000100000001000100E100018D :1005500000E0000000010001000100010001003D79 @@ -125,1075 +125,1073 @@ :1007C000FCF5E9DAC7B39D87715D4A3A2C20170F13 :1007D0000A06040201000000000000000000000002 :1007E00011241FBECFEFDAE0DEBFCDBF04B603FE9B -:1007F00027C08091EF019091F001A091F101B0919B -:10080000F2018730904BA740B04BD1F41092EF012A -:100810001092F0011092F1011092F20114BE84B70F -:10082000877F84BF0FB6F894A89580916000886197 -:1008300080936000109260000FBEE0E0FFE3099536 -:1008400011E0A0E0B1E0ECE9FAE402C005900D92FD -:10085000A433B107D9F721E0A4E3B1E001C01D92B0 -:10086000AF3EB207E1F70E947E0B0C944C250C942E -:100870000000462F50E04F30510508F0DEC0FA016D -:10088000EA5AFF4FDC0112968C910C9401258823C3 -:1008900021F085EE0E94EC11D0C085EE0E94B412CA -:1008A000CCC0882349F00E94D91C909335018093D5 -:1008B000340188EF91E008958091340190913501E1 -:1008C0000E94E51C873991050CF0A8C08AEE91E0E2 -:1008D0000895882349F00E94D91C90933501809394 -:1008E000340187EE91E008958091340190913501B3 -:1008F0000E94E51C873991050CF093C089ED91E0C9 -:100900000895882349F00E94D91C90933501809363 -:10091000340182ED91E00895809134019091350188 -:100920000E94E51C873991050CF07EC080EC91E0B7 -:100930000895882349F00E94D91C90933501809333 -:1009400034018BEB91E00895809134019091350151 -:100950000E94E51C873991050CF069C08DEA91E091 -:100960000895882349F00E94D91C90933501809303 -:10097000340188EA91E00895809134019091350125 -:100980000E94E51C873991050CF054C08AE991E07A -:100990000895882309F451C085E891E008958823DB -:1009A00009F44BC080E791E00895882309F445C01D -:1009B0008BE591E00895882309F43FC086E491E037 -:1009C00008958823D1F18DE391E008958823A9F15A -:1009D00088E291E00895882381F183E191E0089510 -:1009E000882359F18EEF90E00895882331F18091AA -:1009F000B3019091B401A091B501B091B60120E28C -:100A0000822780729927AA27BB278093B3019093EE -:100A1000B401A093B501B093B6010FC085EF91E08A -:100A2000089584EE91E008958BEC91E0089586EBB3 -:100A300091E0089583EA91E0089580E090E00895C0 -:100A400008956091B3017091B4018091B5019091C6 -:100A5000B6010E943C1C56985E9825982D982698C1 -:100A60002E9827982F988330C1F028F4813041F0D8 -:100A7000823049F00895843049F0853051F008956E -:100A8000259A2D9A0895269A2E9A0895259A2D9A98 -:100A900004C0259A2D9A269A2E9A279A2F9A08955D -:100AA0000C94210556985E9825982D9826982E9896 -:100AB00027982F988FEF90E090938900809388007B -:100AC00090938B0080938A0090938D0080938C008C -:100AD000259A2D9A2FEF80E792E021508040904098 -:100AE000E1F700C00000269A2E9A2FEF80E792E0EF -:100AF000215080409040E1F700C00000279A2F9AD3 -:100B00002FEF80E792E0215080409040E1F700C055 -:100B1000000025982D982FEF80E792E0215080402B -:100B20009040E1F700C0000026982E982FEF80E754 -:100B300092E0215080409040E1F700C000002798EB -:100B40002F9856985E9825982D9826982E98279835 -:100B50002F98089589EA8093800089E0809381002E -:100B600024982C983F988AB18F748AB96E98479AC6 -:100B70008BB1806B8BB9769A0E9452050C9420053C -:100B800080E2809300018091360181110EC00E94A5 -:100B90000F0681E0809336012FEF83ED90E3215023 -:100BA00080409040E1F700C0000080E40E941506FC -:100BB0008093000181112EC00E943F0680930001A6 -:100BC000811128C00E943F0680930001811122C03C -:100BD0008FE30E943F068093000181111BC00E9499 -:100BE000370680E40E94150680930001811112C02F -:100BF0008CE00E943F068093000181110BC00E948F -:100C00003F0680930001811105C08FE30E943F06DB -:100C1000809300010E943706809100010895109290 -:100C2000B9008AE08093B800089594EA9093BC00DC -:100C30009091BC0097FFFCCF9091B900987F9830BD -:100C400021F0903111F081E008958093BB0084E899 -:100C50008093BC008091BC0087FFFCCF8091B900DD -:100C6000887F883111F0803471F780E0089584E93D -:100C70008093BC008091BC0084FDFCCF08958093DC -:100C8000BB0084E88093BC008091BC0087FFFCCF50 -:100C90009091B900987F81E0983209F480E008953E -:100CA00084E88093BC008091BC0087FFFCCF8091DA -:100CB000BB00089580910001811115C080E40E945D -:100CC00015068093000181110CC082E10E943F064D -:100CD00080930001811105C08FEF0E943F06809331 -:100CE00000010E94370684B1807F84B985B1807F7E -:100CF00085B98AB1837F8AB98BB1837F8BB93E98DE -:100D0000469808950E94C005809300010E945A06EB -:100D100080B38C7080BB81B3836F81BBE6E4F1E06C -:100D2000A8E3B1E011921D9281E0E435F807D1F714 -:100D30000C94AA059F92AF92BF92CF92DF92EF924E -:100D4000FF920F931F93CF93DF938091000188232D -:100D500079F0809137018F5F80933701811108C04E -:100D60000E94C00580930001811102C00E945205BB -:100D700088E3E82E81E0F82E8701C0E0D0E0BB24B4 -:100D8000B39492E0A92ECC24C394D12CC730D105C2 -:100D900000F580910001811164C080E40E94150675 -:100DA00080930001811112C082E10E943F0680936E -:100DB000000181110BC0C6010C2E01C0880F0A94DE -:100DC000EAF780950E943F06809300010E94370653 -:100DD00048C0CA30A1F028F4C83059F0C93061F0D9 -:100DE00005C0CC3089F070F0CD3089F0209A289879 -:100DF00010C0219A29980DC0229A2A980AC0239AD5 -:100E00002B9807C0529A01C0539A5B9802C03E9A31 -:100E10004698E0EAEA95F1F78FB181708B257999D0 -:100E200002C032E001C030E0832B7C9902C034E084 -:100E300001C030E0832B7D9902C028E001C020E092 -:100E4000822B7E9902C090E101C090E0892B9FB176 -:100E50009095991F9927991F9295990F907E892BAC -:100E60000FC08091000181114AC080E40E941506E4 -:100E700080930001882381F1912C0E943706892DEF -:100E8000D8019C91981719F08C93A09201010E94AF -:100E90005A0621960F5F1F4FCE30D10509F076CF4D -:100EA00080910101882369F1815080930101882399 -:100EB00039F0EFE9FFE03197F1F700C0000021C001 -:100EC000E6E4F1E0D7018D917D018193B6E4EB1664 -:100ED000B1E0FB06B9F715C083E10E943F0680939D -:100EE00000018111C9CF81E40E94150680930001A1 -:100EF0008111C2CF0E945006982E9094BECF80E000 -:100F0000BFCF0E94500581E0DF91CF911F910F91DB -:100F1000FF90EF90DF90CF90BF90AF909F9008959B -:100F2000E82FF0E0EA5BFE4F8081089508958B3B47 -:100F3000910580F4883A910548F5853A9105D8F4F1 -:100F40008430910508F0B2C0019709F06EC081E0CD -:100F500090E00895803E910508F467C0883E9105B1 -:100F600008F4A4C09C01205F31092031310508F04C -:100F70005CC090650895853A910509F459C0863A98 -:100F8000910509F058C082E890E40895883A9105E7 -:100F900009F454C0893A910509F453C08A3A91057D -:100FA00009F452C08B3A910509F451C08C3A91056D -:100FB00009F450C08D3A910509F44FC0803B91056A -:100FC00009F44EC08E3A910509F44DC08F3A91054F -:100FD00009F44CC0813B910509F44BC0823B91055B -:100FE00009F44AC0833B910509F449C0843B91054B -:100FF00009F448C0853B910509F447C0863B91053B -:1010000009F446C0873B910509F445C0883B91052A -:1010100009F444C0893B910509F443C08A3B91051A -:1010200009F442C080E094E4089580E090E00895DF -:1010300081E890E4089583E890E4089582EE94E4D2 -:10104000089589EE94E408958AEE94E4089585EB7A -:1010500094E4089586EB94E4089587EB94E408956E -:101060008CEC94E408958DEC94E4089583E895E481 -:1010700008958AE895E4089582E995E4089584E95D -:1010800095E4089581E296E4089583E296E4089554 -:1010900084E296E4089585E296E4089586E296E473 -:1010A000089587E296E408958AE296E40895089503 -:1010B00024E5829FC0011124FC0126E0729FE00D0F -:1010C000F11D1124E60FF11DEE0FFF1FEF5FFD4F25 -:1010D000859194910895880F991FFC01E558FF4F61 -:1010E000859194910895880F991FFC01E550FE4F5A -:1010F00085919491089524E5829FC0011124FC01FB -:1011000046E0749FE00DF11D1124E60FF11DEE0F76 -:10111000FF1FEF5FFD4F859194919C013A9521153A -:101120004FE1340708F425C13F512115304120F427 -:101130009F700E94730808959C013053211530411F -:1011400018F49927906C0895811520E5920769F4A9 -:101150000E942D164FEF84E39CE041508040904068 -:10116000E1F700C000000C94341D813020E59207A7 -:1011700031F48091CE0181608093CE0108959C016D -:1011800030552115304108F05CC0292F33272F70CE -:10119000332721303105E9F4AC0164E0440F551FD9 -:1011A0006A95E1F744275370BC016370772702C04A -:1011B000220F331F6A95E2F73C68242B352B73E02E -:1011C000880F991F7A95E1F780769927822B932BC8 -:1011D00008952230310529F4982F8827816F906A6D -:1011E000089523303105A1F4AC0133E0440F551FBD -:1011F0003A95E1F7407E57708370992721E030E0FF -:1012000002C0220F331F8A95E2F7C9019C6816C0FD -:101210002430310531F5AC0123E0440F551F2A95E8 -:10122000E1F7407E57708370992721E030E002C0DB -:10123000220F331F8A95E2F7C9019A68842B952BF8 -:1012400008959C0130572115304118F49F70906229 -:1012500008959C0130582115304118F49F70906A10 -:101260000895803E9105E0F4803C910558F5813366 -:10127000910509F46FC048F48932910509F463C0FF -:101280008A32910509F46DC072C089339105E9F085 -:1012900082389105D1F08533910509F44DC067C0BE -:1012A000833E910581F138F4803E9105B9F0823E8C -:1012B0009105D9F05CC0863E910561F1873E9105AC -:1012C000A1F155C00E946B0808952091E00120FD16 -:1012D00002C021FF4CC080EE90E049C08091E00147 -:1012E00080FFF9CF89E390E042C08091E00182FF66 -:1012F0000EC08091E00184FF03C080E090E037C021 -:1013000083EE90E034C08091E00182FFF2CF82EE64 -:1013100090E02DC08091E00183FF0BC08091E0013F -:1013200084FDEBCF87EE90E022C08091E00183FF47 -:10133000F5CF86EE90E01BC08091E00185FF07C0ED -:1013400089E290E014C08091E00185FFF9CF85E348 -:1013500090E00DC08091E00186FF07C08AE290E036 -:1013600006C08091E00186FFF9CF81E390E00E9402 -:10137000970708950895809164010895CF93DF93AE -:1013800000D01F92CDB7DEB79C018091E60184307A -:1013900019F593E099833B832A839093E9008FEFBB -:1013A0009091E800815095FD06C095ED9A95F1F772 -:1013B00000008111F5CF8091E80085FF0DC040E06D -:1013C00050E063E070E0CE0101960E942B0C80910A -:1013D000E8008E778093E8000F900F900F90DF91D8 -:1013E000CF910895CF93DF9300D01F92CDB7DEB792 -:1013F0002091E601243021F522E029839B838A8312 -:1014000083E08093E9008FEF9091E800815095FD93 -:1014100006C095ED9A95F1F700008111F5CF809106 -:10142000E80085FF0DC040E050E063E070E0CE01D1 -:1014300001960E942B0C8091E8008E778093E80043 -:101440000F900F900F90DF91CF9108959C018091A4 -:10145000E6018430F9F482E08093E9009FEF809107 -:10146000E800915085FD06C085ED8A95F1F70000F2 -:101470009111F5CF8091E80085FF0CC040E050E06D -:1014800065E070E0C9010E942B0C8091E8008E7726 -:101490008093E8000895CF93DF93EC018091E601FB -:1014A000843009F046C090910C019923D9F09091B5 -:1014B0000D019923B9F08093E9008FEF9091E80036 -:1014C000815095FD06C095E19A95F1F700008111D4 -:1014D000F5CF8091E80085FF2CC040E050E060E14E -:1014E00070E017C081E08093E9008FEF9091E800F1 -:1014F000815095FD06C095ED9A95F1F70000811198 -:10150000F5CF8091E80085FF14C040E050E068E02E -:1015100070E0CE010E942B0C8091E8008E778093C2 -:10152000E80080E1FE01A4E5B1E001900D928A950A -:10153000E1F7DF91CF9108958091E501811109C014 -:101540000E94BC0D0E94190E8091E200846080937D -:10155000E20008951092E501089508950C946A231D -:101560000E94CA1C0E9470230E94C4100C94BA09E5 -:1015700042E061EC81E00E94350D42E061EC82E0E6 -:101580000E94350D42E061EC83E00E94350D42E19E -:1015900061EC84E00C94350D8091E801833009F40E -:1015A00055C030F4813071F0823009F48EC0089556 -:1015B0008A3009F47AC08B3009F460C0893009F0B0 -:1015C0009CC020C08091E701813A09F096C08091CB -:1015D000E800877F8093E8008091EB019091EC0117 -:1015E000892B21F460E184E591E003C060E080E0B4 -:1015F00090E070E00E94760C8091E8008B778093F9 -:10160000E80008958091E701813209F076C0809169 -:10161000EB019091EC01009719F0039709F06DC070 -:101620008091E800877F8093E8008091E80082FD48 -:1016300005C08091E6018111F8CF5FC08091F10073 -:10164000809364018091E8008B7753C08091E7011B -:10165000813A09F052C08091EB019091EC01892B05 -:1016600009F04BC08091E800877F8093E80080916B -:10167000E80080FFFCCF80910C0136C08091E7012B -:101680008132D9F58091EB019091EC01892BA9F57C -:101690008091E800877F8093E8000E946A0D809126 -:1016A000E90180930C010C942D168091E7018132A1 -:1016B00021F58091E800877F8093E8000E946A0D01 -:1016C0008091EA018093650108958091E701813A54 -:1016D000A1F48091E800877F8093E8008091E80082 -:1016E00080FFFCCF809165018093F1008091E8003C -:1016F0008E778093E8000C946A0D089584B7877FF5 -:1017000084BF0FB6F894A89580916000886180939B -:101710006000109260000FBE90E080E80FB6F89471 -:1017200080936100909361000FBE0E9413110E948C -:10173000BC0D0E94190E8091E20084608093E2004B -:1017400078940E94A4100E94151182E091E00E94FA -:10175000BF100E9458238091E601853069F40E94F1 -:101760008C1C8091E4018823B1F30E94B61C88236D -:1017700091F30E94150CEFCF0E941B11ECCF292F83 -:10178000332723303105C9F060F42130310581F071 -:101790002230310509F041C08DE690E025E236E0C7 -:1017A00040C021323105E1F02232310531F135C03E -:1017B00082E190E022E936E034C09927813091053A -:1017C00049F028F0029749F5E1EFF5E005C0E1E2C4 -:1017D000F6E002C0E9E0F6E0849190E09F0121C0CC -:1017E0006430D8F4E62FF0E0EE0FFF1FEE5DFE4F01 -:1017F0002081318189E090E014C0643070F470E0A1 -:10180000FB01EE0FFF1FE65EFE4F20813181FB01E1 -:10181000EA5EFE4F808190E004C080E090E020E02E -:1018200030E0FA0131832083089580E189BD82E1AF -:1018300089BD09B400FEFDCF8091D8008F7D8093D3 -:10184000D8008091E00082608093E0008091E00009 -:1018500081FDFCCF0895CF92DF92EF92FF920F931C -:101860001F93CF93DF93EC018B016A010E94890DD6 -:10187000811133C0C114D10439F0F6018081918106 -:10188000081B190BC80FD91FE12CF12C01151105EC -:1018900019F18091E80085FD16C08091E8008E77EF -:1018A0008093E800C114D10449F0F6018081918150 -:1018B000E80EF91EF182E08285E00FC00E94890DDA -:1018C000882321F30AC089918093F1000150110906 -:1018D000FFEFEF1AFF0ADACF80E0DF91CF911F917F -:1018E0000F91FF90EF90DF90CF9008952091ED0140 -:1018F0003091EE012617370748F06115710539F46C -:101900002091E8002E772093E80001C0B901FC0186 -:1019100020E06115710579F18091E6018823F1F1EC -:101920008530F1F18091E80083FD3CC08091E800B2 -:1019300082FD2EC08091E80080FFEBCF2091F30064 -:101940008091F20090E0922B6115710551F0883082 -:10195000910538F421912093F100615071090196AD -:10196000F3CF21E0089709F020E08091E8008E771E -:101970008093E800CECF2111CFCF0AC08091E6013D -:10198000882361F0853061F08091E80083FD0AC012 -:101990008091E80082FFF2CF80E0089582E0089510 -:1019A00083E0089581E008952091ED013091EE01EA -:1019B0002617370748F06115710539F42091E800C2 -:1019C0002E772093E80001C0B901FC0120E06115E9 -:1019D000710591F18091E601882309F440C08530BA -:1019E00009F43FC08091E80083FD3DC08091E8008C -:1019F00082FD2FC08091E80080FFE9CF2091F300A5 -:101A00008091F20090E0922B6115710559F08830B9 -:101A1000910540F424912093F100319661507109B1 -:101A20000196F2CF21E0089709F020E08091E800CC -:101A30008E778093E800CBCF2111CCCF0AC0809164 -:101A4000E601882361F0853061F08091E80083FD34 -:101A50000AC08091E80082FFF2CF80E0089582E022 -:101A6000089583E0089581E00895982F973068F5F0 -:101A70009093E900981739F07091EC002091ED00F7 -:101A80005091F00003C0242F762F50E021FD02C0BA -:101A90009F5FECCF3091EB003E7F3093EB003091B5 -:101AA000ED003D7F3093ED003091EB0031603093DD -:101AB000EB007093EC002093ED005093F000209128 -:101AC000EE0027FDE5CF80E008958F708093E90058 -:101AD00081E008958091E70187FF11C08091E800BF -:101AE00082FD05C08091E6018111F8CF11C080917F -:101AF000E8008B770BC08091E601882349F0809144 -:101B0000E80080FFF8CF8091E8008E778093E800AE -:101B100008952091E4003091E50095E64091EC00B5 -:101B2000842F817040FF23C08091E80080FD1DC09C -:101B30008091E601882399F0853099F08091EB003F -:101B400085FD11C04091E4005091E5002417350750 -:101B500029F3915011F09A01E1CF84E0089582E0D9 -:101B6000089583E0089581E0089580E0089540910C -:101B7000E80042FFDDCF08950E942A0E0E94320E37 -:101B8000E0EEF0E0808181608083E8EDF0E080812C -:101B90008F77808319BCA7EDB0E08C918E7F8C93FA -:101BA00080818F7E80831092E50108950F931F93AB -:101BB000CF93DF930E942A0E0E94320EC8EDD0E030 -:101BC00088818F77888388818068888388818F7DEA -:101BD000888319BC1092E6011092E2011092E40190 -:101BE0001092E30100EE10E0F80180818B7F80838A -:101BF00088818160888342E060E080E00E94350D4A -:101C0000E1EEF0E080818E7F8083E2EEF0E0808183 -:101C100081608083808188608083F80180818E7FED -:101C20008083888180618883DF91CF911F910F919C -:101C30000895E8EDF0E080818F7E8083E7EDF0E0AD -:101C400080818160808384E082BF81E08093E501B0 -:101C50000C94D60DE8EDF0E080818E7F80831092A9 -:101C6000E20008951092DA001092E10008951F92A8 -:101C70000F920FB60F9211242F933F934F935F93C0 -:101C80006F937F938F939F93AF93BF93EF93FF9344 -:101C90008091E10082FF0BC08091E20082FF07C0CB -:101CA0008091E1008B7F8093E1000E94A3108091DE -:101CB000DA0080FF1FC08091D80080FF1BC0809198 -:101CC000DA008E7F8093DA008091D90080FF0DC00A -:101CD00080E189BD82E189BD09B400FEFDCF81E0CC -:101CE0008093E6010E949C0A05C019BC1092E6018F -:101CF0000E94AA0A8091E10080FF19C08091E20051 -:101D000080FF15C08091E2008E7F8093E200809179 -:101D1000E20080618093E2008091D800806280932D -:101D2000D80019BC85E08093E6010E94AE0A80913C -:101D3000E10084FF30C08091E20084FF2CC080E18C -:101D400089BD82E189BD09B400FEFDCF8091D80034 -:101D50008F7D8093D8008091E1008F7E8093E10099 -:101D60008091E2008F7E8093E2008091E2008160AA -:101D70008093E2008091E201882311F084E007C0A3 -:101D80008091E30087FD02C081E001C083E0809381 -:101D9000E6010E94B00A8091E10083FF29C0809192 -:101DA000E20083FF25C08091E100877F8093E100FE -:101DB00082E08093E6011092E2018091E1008E7F43 -:101DC0008093E1008091E2008E7F8093E200809119 -:101DD000E20080618093E20042E060E080E00E94E7 -:101DE000350D8091F00088608093F0000E94AD0A6C -:101DF000FF91EF91BF91AF919F918F917F916F91E3 -:101E00005F914F913F912F910F900FBE0F901F90B8 -:101E100018951F920F920FB60F9211242F933F9394 -:101E20004F935F936F937F938F939F93AF93BF93E2 -:101E3000CF93DF93EF93FF93C091E900CF70809130 -:101E4000EC00D82FD17080FDD0E81092E90080918D -:101E5000F000877F8093F00078940E944D0F1092DD -:101E6000E9008091F00088608093F000CD2BCF7066 -:101E7000C093E900FF91EF91DF91CF91BF91AF91B6 -:101E80009F918F917F916F915F914F913F912F9192 -:101E90000F900FBE0F901F9018951F93CF93DF9355 -:101EA000CDB7DEB7AA970FB6F894DEBF0FBECDBF91 -:101EB000E7EEF1E08091F100819321E0EF3EF2073F -:101EC000C9F70E94CC0A8091E80083FF24C1809169 -:101ED000E7019091E801492F50E04A30510508F0A0 -:101EE0001AC1FA01EB59FF4F0C940125803881F09B -:101EF000823809F010C18091EB018F708093E90066 -:101F00008091EB0085FB882780F91092E90006C0DC -:101F10008091E3019091E401911182609091E80039 -:101F2000977F9093E8008093F1001092F100C8C071 -:101F3000282F2D7F09F0EFC0882319F0823061F03F -:101F4000EAC08091E901813009F0E5C0933009F0E1 -:101F500080E08093E4012BC08091E901811127C0CA -:101F60008091EB018F7009F4D6C08093E900209135 -:101F7000EB0020FF1CC0933021F48091EB008062C5 -:101F800014C09091EB0090619093EB0021E030E061 -:101F9000A90102C0440F551F8A95E2F74093EA0059 -:101FA0001092EA008091EB0088608093EB00109221 -:101FB000E9008091E800877F86C08111ACC0109154 -:101FC000E9011F778091E3008078812B8093E30003 -:101FD0008091E800877F8093E8000E946A0D8091DD -:101FE000E80080FFFCCF8091E30080688093E300ED -:101FF000111102C082E001C083E08093E6018BC032 -:102000008058823008F087C08091E9019091EA0100 -:102010008C3D53E0950779F583E08A838AE28983D2 -:102020004FB7F894DE01139620E03EE051E2E32F33 -:10203000F0E050935700E49120FF03C0E295EF7069 -:102040003F5FEF708E2F90E0EA3010F0C79601C02E -:10205000C0968D939D932F5F243149F74FBF809198 -:10206000E800877F8093E8006AE270E0CE01019685 -:102070000E94760C14C0AE014F5F5F4F6091EB0180 -:102080000E94BF0BBC01892B09F445C09091E80068 -:10209000977F9093E80089819A810E94D40C809167 -:1020A000E8008B778093E80036C08038A1F58091F6 -:1020B000E800877F8093E8008091E2018093F1003F -:1020C0008091E8008E778093E8000E946A0D23C01B -:1020D000811121C08091E9019091EA01992702972D -:1020E000D4F48091E800877F8093E8008091E90133 -:1020F0008093E2010E946A0D8091E201811106C085 -:102100008091E30087FD02C081E001C084E08093FC -:10211000E6010E94B80A8091E80083FF0AC080911E -:10212000E800877F8093E8008091EB0080628093D5 -:10213000EB00AA960FB6F894DEBF0FBECDBFDF91BD -:10214000CF911F9108950895CF938091E601882340 -:10215000A1F0C091E900CF709091EC00892F8170BF -:1021600090FD80E8C82B1092E9008091E80083FD83 -:102170000E944D0FCF70C093E900CF9108959093C6 -:102180006B0180936A010895E0916A01F0916B01FF -:10219000309721F00190F081E02D099480E00895BE -:1021A000E0916A01F0916B01309721F00280F38198 -:1021B000E02D09940895E0916A01F0916B01309748 -:1021C00021F00480F581E02D0994089520916801A3 -:1021D000309169012817390771F090936901809354 -:1021E0006801E0916A01F0916B01309721F006805F -:1021F000F781E02D099408952091660130916701DF -:102200002817390771F09093670180936601E09178 -:102210006A01F0916B01309721F00084F185E02D87 -:102220000994089508950C9412110E94D01C0E94E4 -:1022300082060C94961DCF92DF92EF92FF920F933D -:102240001F93CF93DF93CDB7DEB72B970FB6F894DC -:10225000DEBF0FBECDBF0E949A068DE6C82E81E07C -:10226000D82E00E010E0E02E802F0E949007F601AB -:1022700041916F01F82EF426B1F40F5F1F4F0E301D -:10228000110589F78FEF89838A831B820E94D91CED -:102290008160782F9D838C8349815A816B818D81E8 -:1022A0000E94BE1140C09091CE0191FF04C08B8767 -:1022B0000E9496078B8520E030E04F2D50E0922F52 -:1022C000BA01022E02C0759567950A94E2F760FF85 -:1022D00024C02E83EF8221E030E0690102C0CC0CE3 -:1022E000DD1C9A95E2F790E08C219D21892B09F461 -:1022F00020E028870E94D91C8160782F9A878987DF -:102300004E815F8168858A850E94BE11F801E3597C -:10231000FE4F8081C826C08206C02F5F3F4F263007 -:10232000310569F6AACF0E947D200E94C4109091C9 -:102330006C018917A1F00E94C41080936C012B9648 -:102340000FB6F894DEBF0FBECDBFDF91CF911F91C6 -:102350000F91FF90EF90DF90CF900C94BA092B96DD -:102360000FB6F894DEBF0FBECDBFDF91CF911F91A6 -:102370000F91FF90EF90DF90CF900895CF93DF9370 -:10238000CDB7DEB72B970FB6F894DEBF0FBECDBF2B -:102390004F83588769877A878B87DE01119686E09D -:1023A000FD0111928A95E9F785E0FE0137960190CB -:1023B0000D928A95E1F749815A816B817C818D81EB -:1023C0009E810E94C1182B960FB6F894DEBF0FBEF7 -:1023D000CDBFDF91CF910895CF93C82F882309F403 -:1023E000C1C0823859F40E94C41081FDBBC089E38A -:1023F0000E945E1B0E94161C89E30CC0833879F48E -:102400000E94C41080FDAEC083E50E945E1B0E9446 -:10241000161C83E50E949D1BCF910C94161C8438DA -:1024200059F40E94C41082FD9DC087E40E945E1B87 -:102430000E94161C87E4EECF8CEF8C0F813A48F493 -:102440008C2F0E94BD2281118DC08C2F0E945E1B9B -:10245000E3CF80E28C0F883048F4C77081E001C080 -:10246000880FCA95EAF70E94DF1BD6CF8BE58C0F49 -:10247000833078F4C53A29F0C63A31F083E890E029 -:1024800005C081E890E002C082E890E0CF910C9412 -:10249000E61088E58C0F833108F064C0C83A39F142 -:1024A000C93A41F1CA3A49F1CB3A51F1CC3A59F122 -:1024B000CD3A61F1C03B69F1CE3A71F1CF3A79F191 -:1024C000C13B81F1C23B89F1C33B91F1C43B99F11E -:1024D000C53BA1F1C63BA9F1C73BB1F1C83BB9F17E -:1024E000C93BC1F1CA3BC9F180E090E038C082EE3F -:1024F00090E035C089EE90E032C08AEE90E02FC0C7 -:1025000085EB90E02CC086EB90E029C087EB90E053 -:1025100026C08CEC90E023C08DEC90E020C083E8D6 -:1025200091E01DC08AE891E01AC082E991E017C0ED -:1025300084E991E014C081E292E011C083E292E06C -:102540000EC084E292E00BC085E292E008C086E211 -:1025500092E005C087E292E002C08AE292E0CF9169 -:102560000C94FC10CF910895882309F44BC0823855 -:1025700059F40E94C41081FF45C089E30E945E1B8C -:102580000E94161C89E30CC0833871F40E94C410A9 -:1025900080FF38C083E50E945E1B0E94161C83E505 -:1025A0000E949D1B0C94161C843859F40E94C41080 -:1025B00082FF28C087E40E945E1B0E94161C87E4ED -:1025C000EFCF9CEF980F913A58F390E2980F983024 -:1025D00050F4877091E001C0990F8A95EAF7892F2E -:1025E0000E94E51BDFCF9BE5980F933020F480E03D -:1025F00090E00C94E610885A833120F480E090E05B -:102600000C94FC100895882321F00E94DF1B0C9489 -:10261000161C0895882321F00E94E51B0C94161CBB -:102620000895BF92CF92DF92EF92FF920F931F9384 -:10263000CF93DF9300D000D000D0CDB7DEB77C01C0 -:1026400085E0F701DE01119601900D928A95E1F780 -:10265000F70183819481892B09F4DDC29081818106 -:102660008F3F19F49F3F09F4D6C2F70102812581FB -:1026700022952F7099838A8389819A812E830E9463 -:102680001D1B182FB92E0E941C1B0E94E319EB2D55 -:10269000E295EF704E2F50E0FA01E159FF4F2E8185 -:1026A0000C9401258B2D807F9B2D9F70F92E882304 -:1026B00019F0F29480EFF822002349F0FF2009F48A -:1026C00057C28F2D0E94EF1B0E94161C51C2812FF2 -:1026D0000E94B412FF2009F49EC28F2D0E94F51BA8 -:1026E00026960FB6F894DEBF0FBECDBFDF91CF9117 -:1026F0001F910F91FF90EF90DF90CF90BF900C94BF -:10270000161C3B2D307F8B2D8F70303211F082954F -:10271000807F112319F0113021F12CC00023B9F072 -:10272000222309F490C1213009F08DC126960FB6FD -:10273000F894DEBF0FBECDBFDF91CF911F910F91F7 -:10274000FF90EF90DF90CF90BF900C94FF1B22235F -:1027500019F0213009F45FC28E830E94021C8E8121 -:1027600086C1002321F0223008F055C26CC121112E -:1027700052C27DC1002321F0222309F464C1F8C1B3 -:10278000222309F474C109C28B2D86958695837026 -:1027900019F08130D1F03FC2002321F0812F9B2D11 -:1027A000937002C080E090E026960FB6F894DEBFEA -:1027B0000FBECDBFDF91CF911F910F91FF90EF9092 -:1027C000DF90CF90BF900C94E610002321F0812F72 -:1027D0009B2D937002C080E090E026960FB6F8948F -:1027E000DEBF0FBECDBFDF91CF911F910F91FF9044 -:1027F000EF90DF90CF90BF900C94FC10812F0023BE -:1028000019F00E94851F02C00E94ED1F26960FB688 -:10281000F894DEBF0FBECDBFDF91CF911F910F9116 -:10282000FF90EF90DF90CF90BF900C9472208B2D93 -:10283000837009F075C00111EEC1812F82958695D4 -:102840008770880F880F912F9F70C92ED12CE12C93 -:10285000F12C082E04C0CC0CDD1CEE1CFF1C0A94CD -:10286000D2F714FF12C00FE010E020E030E004C007 -:10287000000F111F221F331F8A95D2F7C901B8011B -:10288000609570958095909503C060E070E0CB01F5 -:102890004B2D4695469543704230C1F060F56C294A -:1028A0007D298E299F29413051F126960FB6F89443 -:1028B000DEBF0FBECDBFDF91CF911F910F91FF9073 -:1028C000EF90DF90CF90BF900C940A1A6C297D296D -:1028D0008E299F2926960FB6F894DEBF0FBECDBF76 -:1028E000DF91CF911F910F91FF90EF90DF90CF90EC -:1028F000BF900C94261A0E940A1AC701B6012696A8 -:102900000FB6F894DEBF0FBECDBFDF91CF911F9100 -:102910000F91FF90EF90DF90CF90BF900C94EE1945 -:10292000002319F08B2D817001C08695882309F44E -:1029300072C1812F829586958770880F880F912F9D -:102940009F70C92ED12CE12CF12C082E04C0CC0C88 -:10295000DD1CEE1CFF1C0A94D2F714FF12C00FE01E -:1029600010E020E030E004C0000F111F221F331FD1 -:102970008A95D2F7C901B8016095709580959095B8 -:1029800003C060E070E0CB014B2D46954695437047 -:102990004230C1F060F56C297D298E299F29413094 -:1029A00051F126960FB6F894DEBF0FBECDBFDF9172 -:1029B000CF911F910F91FF90EF90DF90CF90BF903C -:1029C0000C94E41A6C297D298E299F2926960FB62E -:1029D000F894DEBF0FBECDBFDF91CF911F910F9155 -:1029E000FF90EF90DF90CF90BF900C94001B0E945F -:1029F000E41AC701B60126960FB6F894DEBF0FBEE3 -:102A0000CDBFDF91CF911F910F91FF90EF90DF909D -:102A1000CF90BF900C94C81A103FD1F118F4103E1B -:102A200050F4A1C0123F09F463C008F44CC0133F36 -:102A300009F473C098C01F708B2D8F710023A1F013 -:102A40000E94611A812F26960FB6F894DEBF0FBE42 -:102A5000CDBFDF91CF911F910F91FF90EF90DF904D -:102A6000CF90BF900C9403130E94821A812F269658 -:102A70000FB6F894DEBF0FBECDBFDF91CF911F918F -:102A80000F91FF90EF90DF90CF90BF900C940A13BE -:102A90000023A9F02111BFC08B2D8F7126960FB690 -:102AA000F894DEBF0FBECDBFDF91CF911F910F9184 -:102AB000FF90EF90DF90CF90BF900C94A71A223038 -:102AC00008F0A9C0E9CF0023A9F08B2D8F712696BD -:102AD0000FB6F894DEBF0FBECDBFDF91CF911F912F -:102AE0000F91FF90EF90DF90CF90BF900C94611A00 -:102AF000002359F38B2D8F7126960FB6F894DEBF05 -:102B00000FBECDBFDF91CF911F910F91FF90EF903E -:102B1000DF90CF90BF900C94821A002399F08B2DF8 -:102B20008F7126960FB6F894DEBF0FBECDBFDF9132 -:102B3000CF911F910F91FF90EF90DF90CF90BF90BA -:102B40000C944C1A26960FB6F894DEBF0FBECDBF7C -:102B5000DF91CF911F910F91FF90EF90DF90CF9079 -:102B6000BF900C94421A0023A9F0222309F4ADCFA0 -:102B7000812F26960FB6F894DEBF0FBECDBFDF9132 -:102B8000CF911F910F91FF90EF90DF90CF90BF906A -:102B90000C94EC11222309F4ADCF812F26960FB6A9 -:102BA000F894DEBF0FBECDBFDF91CF911F910F9183 -:102BB000FF90EF90DF90CF90BF900C94B4124B2D0C -:102BC0004F70612FC7010E94390426960FB6F89402 -:102BD000DEBF0FBECDBFDF91CF911F910F91FF9050 -:102BE000EF90DF90CF90BF900C9466194B2D4F70F3 -:102BF000612FC70126960FB6F894DEBF0FBECDBF7A -:102C0000DF91CF911F910F91FF90EF90DF90CF90C8 -:102C1000BF900C94570826960FB6F894DEBF0FBEEF -:102C2000CDBFDF91CF911F910F91FF90EF90DF907B -:102C3000CF90BF9008950E94FC1B0E94D11B0E9460 -:102C4000161C0E9422210E94722080E090E00E94C7 -:102C5000E61080E090E00C94FC100E94EC1B0C94B9 -:102C60001B160E941D1B292F22952F702C3030F42B -:102C70002A3048F42250223078F405C02C3041F03C -:102C80002F3031F009C0803E48F0803F29F406C063 -:102C900093FB882780F9089580E0089581E00895E6 -:102CA000CF93DF9300D000D01F92CDB7DEB70F9047 -:102CB0000F900F900F900F90DF91CF910895CF93C9 -:102CC000DF9300D000D000D0CDB7DEB726960FB688 -:102CD000F894DEBF0FBECDBFDF91CF9108951F9353 -:102CE000CF93DF93C0917B0116E080917C01C817E0 -:102CF00099F0D0E01C9FF0011D9FF00D1124E358C6 -:102D0000FE4F4081518162817381848195810E944F -:102D10005F162196C770E9CFDF91CF911F9108957B -:102D20004091AD015091AE016091AF017091B00141 -:102D30008091B1019091B2010C945F168091B20123 -:102D400082958F7009F054C08091AF01882309F4F7 -:102D50004FC080917B01A0917C014091B0015091C6 -:102D6000B1016091AD017091AE01B6E08A1709F42E -:102D70003FC090E041155105C1F17F3F11F46F3F15 -:102D8000A1F1B89FF001B99FF00D1124E358FE4F57 -:102D9000218127132AC02081261327C022812111D7 -:102DA00024C0238134812417350710F421503109C0 -:102DB000241B350B283C3105C0F42091B2012F7043 -:102DC00020612093B20126E0289FF001299FF00D99 -:102DD0001124EE57FE4F80818F70806180838DEAD1 -:102DE00091E00E9411130C946F1601968770BECF6C -:102DF0000895CF92DF92EF92FF920F931F93CF939C -:102E0000DF93CDB7DEB762970FB6F894DEBF0FBE83 -:102E1000CDBF8C0185E0F801DE011D9601900D9279 -:102E20008A95E1F7D8014C9111965C911197129611 -:102E30006C918091B0019091B101009709F475C136 -:102E40003091AD017091AE017F3F19F43F3F09F41D -:102E50006CC1F801C380D480E090AF01EE2009F48A -:102E6000BEC02091B201C816D90628F0D601A81B11 -:102E7000B90BCD0104C0809590958C0D9D1DFF244C -:102E8000F394883C910578F0F12C207F09F0C4C0C0 -:102E90007C2DD98AC88A89890E9450168DEA91E0D2 -:102EA0000E941113AFC0822F807F09F045C05713D5 -:102EB00013C0431311C061110FC02F702061209304 -:102EC000B2010E9490168DEA91E00E941113809148 -:102ED000B201F80185832EC0CD2819F15F3F11F4AE -:102EE0004F3FF9F0F62E61111CC080917B012091BB -:102EF0007C0136E0821709F45BC090E0389FF00156 -:102F0000399FF00D1124E358FE4F7181571306C00D -:102F10007081471303C07281711103C001968770DD -:102F2000E9CFF62E662309F41CC18091B2018160BD -:102F30008093B201F12C15C1571309C0431307C088 -:102F4000611105C08091B201F8018583C8C04D8729 -:102F50005E878D859E856A8B0E9431166A898823DB -:102F6000D1F16623C1F12091B201822F82958F7039 -:102F700090E0029774F08091AD019091AE01988736 -:102F80008F831986DB86CA862C87CE0107960E941E -:102F9000111386E0F801ADEAB1E001900D928A9537 -:102FA000E1F70E949E160E949016FF24F394D9C068 -:102FB0004D875E878D859E850E941D1B292F22953A -:102FC0002F70223008F0C1C09F7009F0BBC0805E36 -:102FD000883008F4C6C0C8010E941113E6CFC81695 -:102FE000D90608F453C0F601E81BF90BCF01883C61 -:102FF000910508F450C0F12C7C2DD98AC88A8989A2 -:103000000E945016EDEAF1E086E0DF011D928A95FC -:10301000E9F70E949016A5C0571314C0431312C0BD -:10302000611110C08091B201F8018583C8010E942E -:10303000111386E0EDEAF1E0DF011D928A95E9F7D0 -:10304000FE2C8FC04D875E878D859E856A8B0E9482 -:1030500031166A89882309F4BECF662309F4BBCFF1 -:103060002091B201822F82958F7090E002970CF42C -:1030700090CF8091AD019091AE019A8389831B829C -:10308000DD82CC822E83CE01019681CF80959095F2 -:103090008C0D9D1DACCFF62E662309F49CCF5713E3 -:1030A00033C0431331C02091B20120FD24C0822FD0 -:1030B00082958F70482F50E041155105E1F0D801FD -:1030C00015962C9315974F30510549F08F5F982F27 -:1030D0009295907F822F8F70892B15968C93C801C3 -:1030E0000E94111386E0F801ADEAB1E001900D9263 -:1030F0008A95E1F78ECF86E0F801ADEAB1E0019064 -:103100000D928A95E1F72DC04D875E878D859E854E -:103110000E94311681113DCF8091B2018160809370 -:10312000B201C8010E9411131CC0662309F453CFD9 -:103130004D875E878D859E850E943116882309F410 -:103140004ACF27CF811143CF0CC0243008F043CFA2 -:103150009F7009F43CCFD80115969C91907F09F09F -:1031600036CF8F2D62960FB6F894DEBF0FBECDBF5F -:10317000DF91CF911F910F91FF90EF90DF90CF9053 -:1031800008951F93CF93DF93CDB7DEB72C970FB67B -:10319000F894DEBF0FBECDBF4F83588769877A870B -:1031A0008B879C87CE0107960E94F916882371F0C1 -:1031B0008A859B85892B09F441C088858F3F09F05A -:1031C00065C08F818F3F09F061C038C086E0FE0185 -:1031D0003796DE01119601900D928A95E1F76A8586 -:1031E0007B856115710551F1FF81E885EF3F11F491 -:1031F000FF3F21F120917C0130E0C90101968770E9 -:10320000992740917B0150E08417950709F447C046 -:10321000F983EA837D836C8396E0929FD001939F2C -:10322000B00D1124A358BE4FFE01319601900D92AE -:103230009A95E1F780937C010E946F1616E08091C9 -:103240007B0190917C018917B9F1189FC00111246D -:1032500083589E4F0E94F916882371F1E0917B01FB -:103260001E9FF0011124E358FE4F4081518162817D -:103270007381848195810E945F1680917B0190E02B -:1032800001968770992780937B01D9CF4F8158850C -:1032900069857A858B859C850E945F16CFCF0E94B9 -:1032A0002D1610927C0110927B01EDEAF1E086E090 -:1032B000DF011D928A95E9F72C960FB6F894DEBFD0 -:1032C0000FBECDBFDF91CF911F910895EF92FF9276 -:1032D0000F931F93CF93DF938C01892B09F46CC05C -:1032E000F12CEE24E394E8012196F80184918437CF -:1032F00040F4843008F051C0813081F0823019F1FF -:103300005BC0853709F444C0A8F19CE7980F90375B -:1033100008F052C08F770E94B41241C00E5F1F4F59 -:10332000FE01849190E2980F983050F48770FE2D42 -:1033300001C0FF0F8A95EAF78F2F0E94EF1B14C080 -:103340000E94EC112DC00E5F1F4FFE01849190E290 -:10335000980F983060F48770FE2D01C0FF0F8A959A -:10336000EAF78F2F0E94F51B0E94161C19C00E94BD -:10337000B41216C00E5F1F4FFE01C491CC2381F022 -:103380008FE99FE00197F1F700C00000C150F6CF30 -:103390000E5F1F4FFE01F49003C00E94EC118E01DE -:1033A0008F2D882309F49FCFEFE9FFE03197F1F7E4 -:1033B00000C000008150F5CFDF91CF911F910F9198 -:1033C000FF90EF90089508956093B7017093B8014E -:1033D0008093B9019093BA010C941B160F931F931D -:1033E0000091B7011091B8012091B9013091BA0153 -:1033F000DC01CB01802B912BA22BB32B8093B70147 -:103400009093B801A093B901B093BA011F910F91A5 -:103410000C941B160F931F930091B7011091B801E4 -:103420002091B9013091BA01DC01CB0180239123B5 -:10343000A223B3238093B7019093B801A093B9015D -:10344000B093BA011F910F910C941B160F931F9309 -:103450000091B7011091B8012091B9013091BA01E2 -:10346000DC01CB0180279127A227B3278093B701E6 -:103470009093B801A093B901B093BA011F910F9135 -:103480000C941B161092B3011092B4011092B50166 -:103490001092B6010C941B1641E050E060E070E021 -:1034A00004C0440F551F661F771F8A95D2F74093BB -:1034B000B3015093B4016093B5017093B6010C94BD -:1034C0001B1641E050E060E070E004C0440F551F5F -:1034D000661F771F8A95D2F78091B3019091B4014E -:1034E000A091B501B091B601482B592B6A2B7B2BCB -:1034F0004093B3015093B4016093B5017093B6014A -:103500000C941B1641E050E060E070E004C0440FF2 -:10351000551F661F771F8A95D2F740955095609585 -:1035200070958091B3019091B401A091B501B091D3 -:10353000B601482359236A237B234093B301509358 -:10354000B4016093B5017093B6010C941B1641E071 -:1035500050E060E070E004C0440F551F661F771F05 -:103560008A95D2F78091B3019091B401A091B501F1 -:10357000B091B601482759276A277B274093B301AA -:103580005093B4016093B5017093B6010C941B166F -:103590000F931F930091B3011091B4012091B501D5 -:1035A0003091B601DC01CB01802B912BA22BB32BE8 -:1035B0008093B3019093B401A093B501B093B60189 -:1035C0001F910F910C941B160F931F930091B30141 -:1035D0001091B4012091B5013091B601DC01CB010D -:1035E00080239123A223B3238093B3019093B4014A -:1035F000A093B501B093B6011F910F910C941B16C7 -:103600000F931F930091B3011091B4012091B50164 -:103610003091B601DC01CB0180279127A227B32787 -:103620008093B3019093B401A093B501B093B60118 -:103630001F910F910C941B160895CF92DF92EF9279 -:10364000FF920F931F93CF93DF938C01C090B30130 -:10365000D090B401E090B501F090B6018091B7012F -:103660009091B801A091B901B091BA01C82AD92AA4 -:10367000EA2AFB2ACFE1D0E0D701C6010C2E04C014 -:10368000B695A795979587950A94D2F780FF07C0BE -:10369000B8018C2F0E947B088130910531F421976D -:1036A00058F7B80180E00E947B08DF91CF911F910D -:1036B0000F91FF90EF90DF90CF90089590910C01C3 -:1036C0009923F1F090910D019923D1F0982F9695BF -:1036D000969596959F3080F5E0910E01F0910F013F +:1007F00024C08091F0019091F101A091F201B0919B +:10080000F3018730904BA740B04BB9F41092F00140 +:100810001092F1011092F2011092F30114BE84B70C +:10082000877F84BF88E10FB6F894809360001092B0 +:1008300060000FBEE0E0FFE3099511E0A0E0B1E049 +:10084000E4E7FAE402C005900D92A433B107D9F7AA +:1008500011E0A4E3B1E001C01D92A03FB107E1F7B0 +:100860000E94650B0C9438250C940000462F50E034 +:100870004F30510508F0DEC0DC01FA01EA5AFF4FA3 +:1008800012968C910C94ED24882321F085EE0E9421 +:10089000D111D0C085EE0E949912CCC0882349F0B6 +:1008A0000E94D31C909335018093340188EF91E02E +:1008B000089580913401909135010E94DF1C8739A1 +:1008C00091050CF0A8C08AEE91E00895882349F0C4 +:1008D0000E94D31C909335018093340187EE91E000 +:1008E000089580913401909135010E94DF1C873971 +:1008F00091050CF093C089ED91E00895882349F0AB +:100900000E94D31C909335018093340182ED91E0D5 +:10091000089580913401909135010E94DF1C873940 +:1009200091050CF07EC080EC91E00895882349F099 +:100930000E94D31C90933501809334018BEB91E09E +:10094000089580913401909135010E94DF1C873910 +:1009500091050CF069C08DEA91E00895882349F073 +:100960000E94D31C909335018093340188EA91E072 +:10097000089580913401909135010E94DF1C8739E0 +:1009800091050CF054C08AE991E00895882309F498 +:1009900051C085E891E00895882309F44BC080E7B1 +:1009A00091E00895882309F445C08BE591E008950E +:1009B000882309F43FC086E491E008958823D1F1AB +:1009C0008DE391E008958823A9F188E291E00895EC +:1009D000882381F183E191E00895882359F18EEF16 +:1009E00090E00895882331F18091B3019091B40192 +:1009F000A091B501B091B60120E2822780729927BB +:100A0000AA27BB278093B3019093B401A093B501AB +:100A1000B093B6010FC085EF91E0089584EE91E0A8 +:100A200008958BEC91E0089586EB91E0089583EAB8 +:100A300091E0089580E090E0089508956091B301F9 +:100A40007091B4018091B5019091B6010E94381C5B +:100A500056985E9825982D9826982E9827982F9826 +:100A60008330C1F028F4813041F0823049F008959C +:100A7000843049F0853051F00895259A2D9A0895D3 +:100A8000269A2E9A0895259A2D9A04C0259A2D9A71 +:100A9000269A2E9A279A2F9A08950C941E055698F6 +:100AA0005E9825982D9826982E9827982F988FEF46 +:100AB00090E0909389008093880090938B008093BE +:100AC0008A0090938D0080938C00259A2D9A2FEFA9 +:100AD00080E792E0215080409040E1F700C00000A4 +:100AE000269A2E9A2FEF80E792E021508040904086 +:100AF000E1F700C00000279A2F9A2FEF80E792E0DD +:100B0000215080409040E1F700C0000025982D98CA +:100B10002FEF80E792E0215080409040E1F700C045 +:100B2000000026982E982FEF80E792E02150804019 +:100B30009040E1F700C0000027982F9856985E98E3 +:100B400025982D9826982E9827982F98089589EA09 +:100B50008093800089E08093810024982C983F98AE +:100B60008AB18F748AB96E98479A8BB1806B8BB9B2 +:100B7000769A0E944F050C941D0580E28093000137 +:100B80008091360181110EC00E940C0681E0809395 +:100B900036012FEF83ED90E3215080409040E1F744 +:100BA00000C0000080E40E941206809300018111C1 +:100BB0002EC00E943C0680930001811128C00E9433 +:100BC0003C0680930001811122C08FE30E943C0605 +:100BD0008093000181111BC00E94340680E40E94B2 +:100BE000120680930001811112C08CE00E943C0625 +:100BF0008093000181110BC00E943C06809300018C +:100C0000811105C08FE30E943C06809300010E9481 +:100C100034068091000108951092B9008AE0809313 +:100C2000B800089594EA9093BC009091BC0097FF9F +:100C3000FCCF9091B900987F983021F0903111F05D +:100C400081E008958093BB0084E88093BC0080918C +:100C5000BC0087FFFCCF8091B900887F883111F0FC +:100C6000803471F780E0089584E98093BC0080911E +:100C7000BC0084FDFCCF08958093BB0084E8809382 +:100C8000BC008091BC0087FFFCCF9091B900987F99 +:100C900081E0983209F480E0089584E88093BC00F4 +:100CA0008091BC0087FFFCCF8091BB0008958091AC +:100CB0000001811115C080E40E941206809300019A +:100CC00081110CC082E10E943C06809300018111D9 +:100CD00005C08FEF0E943C06809300010E943406FD +:100CE00084B1807F84B985B1807F85B98AB1837FE3 +:100CF0008AB98BB1837F8BB93E98469808950E943C +:100D0000BD05809300010E94570680B38C7080BBA4 +:100D100081B3836F81BBA8E3B1E0E6E4F1E08EE04C +:100D20008E0F11921D928E13FCCF0C94A705BF92CB +:100D3000CF92DF92EF92FF920F931F93CF93DF93A7 +:100D400080910001882379F0809137018F5F809333 +:100D50003701811108C00E94BD05809300018111F7 +:100D600002C00E944F0508E311E0C0E0D0E0DD249E +:100D7000D39482E0C82EEE24E394F12CC730D10541 +:100D800000F580910001811164C080E40E94120688 +:100D900080930001811112C082E10E943C06809381 +:100DA000000181110BC0C7010C2E01C0880F0A94ED +:100DB000EAF780950E943C06809300010E94340669 +:100DC00048C0CA30A1F028F4C83059F0C93061F0E9 +:100DD00005C0CC3089F070F0CD3089F0209A289889 +:100DE00010C0219A29980DC0229A2A980AC0239AE5 +:100DF0002B9807C0529A01C0539A5B9802C03E9A42 +:100E0000469890EA9A95F1F79FB1799902C082E0ED +:100E100001C080E091709D25982B7C9902C084E0F0 +:100E200001C080E0892B7D9902C038E001C030E02C +:100E3000832B7E9902C020E101C020E0822B9FB16C +:100E40009095991F9927991F9295990F907E892BBC +:100E50000FC080910001811149C080E40E941206F8 +:100E600080930001882379F1B12C0E9434068B2DE8 +:100E7000F8019081981719F08083C09201010E94B7 +:100E8000570621960F5F1F4FCE30D10509F076CF60 +:100E900080910101882361F18150809301018823B1 +:100EA00039F08FE99FE00197F1F700C0000020C002 +:100EB000A6E4B1E0E8E3F1E0CF01825F91919D9378 +:100EC0008E13FCCF15C083E10E943C068093000185 +:100ED0008111CACF81E40E94120680930001811122 +:100EE000C3CF0E944D06B82EB094BFCF80E0C0CFD4 +:100EF0000E944D0581E0DF91CF911F910F91FF90EE +:100F0000EF90DF90CF90BF900895E82FF0E0EA5B7C +:100F1000FE4F8081089508958B3B910578F4883ABF +:100F2000910540F5853A9105D0F48430910508F09B +:100F3000B1C08130910509F4ADC06BC0803E910510 +:100F400008F467C0883E910508F4A4C09C01205FA6 +:100F500031092031310508F05CC090650895853A6B +:100F6000910509F459C0863A910509F058C082E804 +:100F700090E40895883A910509F454C0893A91059E +:100F800009F453C08A3A910509F452C08B3A91058D +:100F900009F451C08C3A910509F450C08D3A91057D +:100FA00009F44FC0803B910509F44EC08E3A91057B +:100FB00009F44DC08F3A910509F44CC0813B91056D +:100FC00009F44BC0823B910509F44AC0833B91056B +:100FD00009F449C0843B910509F448C0853B91055B +:100FE00009F447C0863B910509F446C0873B91054B +:100FF00009F445C0883B910509F444C0893B91053B +:1010000009F443C08A3B910509F442C080E094E4AE +:10101000089580E090E0089581E890E4089583E8E1 +:1010200090E4089582EE94E4089589EE94E408959E +:101030008AEE94E4089585EB94E4089586EB94E4B5 +:10104000089587EB94E408958CEC94E408958DEC76 +:1010500094E4089583E895E408958AE895E4089572 +:1010600082E995E4089584E995E4089581E296E49F +:10107000089583E296E4089584E296E4089585E273 +:1010800096E4089586E296E4089587E296E408954A +:101090008AE296E40895089596E0799FF00111247C +:1010A00094E5899FE00DF11D1124E60FF11DEE0F6F +:1010B000FF1FEF5FFD4F859194910895880F991F51 +:1010C000FC01E558FF4F859194910895880F991F71 +:1010D000FC01E550FE4F85919491089526E0729FA2 +:1010E000F001112444E5849FE00DF11D1124E60F69 +:1010F000F11DEE0FFF1FEF5FFD4F859194919C0155 +:101100003A9521154FE1340708F41AC13F512115D2 +:10111000304120F49F700E94660808959C0130536E +:101120002115304118F49927906C0895811520E518 +:10113000920769F40E941F164FEF84E39CE0415030 +:1011400080409040E1F700C000000C942E1D8130DB +:1011500020E5920731F48091CE0181608093CE0129 +:1011600008959C0130552115304108F051C0292FB8 +:1011700033272F70332721303105D9F4AC01437068 +:10118000552702C0220F331F4A95E2F73C68AC0195 +:1011900064E0440F551F6A95E1F744275370242BF0 +:1011A000352B73E0880F991F7A95E1F780769927A0 +:1011B0001DC02230310529F4982F8827816F906A4D +:1011C000089523303105A9F4AC014370552721E07F +:1011D00030E002C0220F331F4A95E2F73C6843E03B +:1011E000880F991F4A95E1F7807E9770822B932B89 +:1011F000089524303105E1F4AC014370552721E016 +:1012000030E002C0220F331F4A95E2F73A68E7CF79 +:101210009C0130572115304118F49F709062089559 +:101220009C0130582115304118F49F70906A089540 +:10123000803E9105E0F4803C910558F5813391059D +:1012400009F46FC048F48932910509F463C08A3209 +:10125000910509F46DC072C089339105E9F08238B7 +:101260009105D1F08533910509F44DC067C0833EE7 +:10127000910581F138F4803E9105B9F0823E9105E7 +:10128000D9F05CC0863E910561F1873E9105A1F1E0 +:1012900055C00E945E0808952091E10120FD02C022 +:1012A00021FF4CC080EE90E049C08091E10180FFB9 +:1012B000F9CF89E390E042C08091E10182FF0EC046 +:1012C0008091E10184FF03C080E090E037C083EEAD +:1012D00090E034C08091E10182FFF2CF82EE90E095 +:1012E0002DC08091E10183FF0BC08091E10184FD5D +:1012F000EBCF87EE90E022C08091E10183FFF5CF34 +:1013000086EE90E01BC08091E10185FF07C089E275 +:1013100090E014C08091E10185FFF9CF85E390E072 +:101320000DC08091E10186FF07C08AE290E006C00F +:101330008091E10186FFF9CF81E390E00E948C0764 +:10134000089508950C94A109809164010895CF93A4 +:10135000DF9300D01F92CDB7DEB79C018091E701EB +:10136000843019F593E099833B832A839093E900B5 +:101370008FEF9091E800815095FD06C095ED9A950C +:10138000F1F700008111F5CF8091E80085FF0DC0D5 +:1013900040E050E063E070E0CE0101960E94110C45 +:1013A0008091E8008E778093E8000F900F900F9067 +:1013B000DF91CF910895CF93DF9300D01F92CDB7E7 +:1013C000DEB72091E701243021F522E029839B83B9 +:1013D0008A8383E08093E9008FEF9091E800815049 +:1013E00095FD06C095ED9A95F1F700008111F5CFB6 +:1013F0008091E80085FF0DC040E050E063E070E0C0 +:10140000CE0101960E94110C8091E8008E778093A6 +:10141000E8000F900F900F90DF91CF9108952091E9 +:10142000E7012430F1F422E02093E9002FEF30911E +:10143000E800215035FD06C035ED3A95F1F7000082 +:101440002111F5CF2091E80025FF0BC040E050E0CE +:1014500065E070E00E94110C8091E8008E77809327 +:10146000E8000895CF93DF93EC019091E701943069 +:1014700009F046C080910C018823D9F080910D01BC +:101480008823B9F09093E9008FEF9091E8008150A4 +:1014900095FD06C095E19A95F1F700008111F5CF11 +:1014A0008091E80085FF2CC040E050E060E170E0F2 +:1014B00017C081E08093E9008FEF9091E8008150A0 +:1014C00095FD06C095ED9A95F1F700008111F5CFD5 +:1014D0008091E80085FF14C040E050E068E070E0D3 +:1014E000CE010E94110C8091E8008E778093E80075 +:1014F00080E1FE01A4E5B1E001900D928A95E1F74B +:10150000DF91CF9108958091E601811109C00E9479 +:10151000A60D0E94030E8091E20084608093E20099 +:1015200008951092E601089508950C9465230E9491 +:10153000C41C0E946B230E94A9100C94A20942E0D3 +:1015400061EC81E00E94200D42E061EC82E00E94AB +:10155000200D42E061EC83E00E94200D42E161EC4D +:1015600084E00C94200D8091E901833009F455C08A +:1015700030F4813071F0823009F48EC008958A30E1 +:1015800009F47AC08B3009F460C0893009F09CC03E +:1015900020C08091E801813A09F096C08091E8006E +:1015A000877F8093E8008091EC019091ED01892B79 +:1015B00021F460E184E591E003C060E080E090E028 +:1015C00070E00E945C0C8091E8008B778093E800CB +:1015D00008958091E801813209F076C08091EC0194 +:1015E0009091ED01009719F0039709F06DC080917B +:1015F000E800877F8093E8008091E80082FD05C0C5 +:101600008091E7018111F8CF5FC08091F100809354 +:1016100064018091E8008B7753C08091E801813AA2 +:1016200009F052C08091EC019091ED01892B09F0F5 +:101630004BC08091E800877F8093E8008091E800AC +:1016400080FFFCCF80910C0136C08091E80181328F +:10165000D9F58091EC019091ED01892BA9F580914C +:10166000E800877F8093E8000E94550D8091EA0191 +:1016700080930C010C941F168091E801813221F5B2 +:101680008091E800877F8093E8000E94550D80914B +:10169000EB018093650108958091E801813AA1F4FE +:1016A0008091E800877F8093E8008091E80080FFC8 +:1016B000FCCF809165018093F1008091E8008E77E6 +:1016C0008093E8000C94550D089584B7877F84BFFC +:1016D00088E10FB6F89480936000109260000FBE0E +:1016E00090E080E80FB6F8948093610090936100D9 +:1016F0000FBE0E94F8100E94A60D0E94030E80915A +:10170000E20084608093E20078940E9489100E9435 +:10171000FA1082E091E00E94A4100E94532380916D +:10172000E701853069F40E94881C8091E5018823D7 +:10173000B1F30E94B01C882391F30E94FB0BEFCF02 +:101740000E940011ECCF292F332723303105C9F037 +:1017500064F42130310581F02230310509F043C0B5 +:101760008DE690E025E236E042C021323105F1F00D +:101770002232310541F137C082E190E022E936E0C2 +:1017800036C099278130910541F08230910541F0B2 +:10179000892B49F5E1E2F6E005C0E9E0F6E002C098 +:1017A000E1EFF5E0849190E09F0121C06430D8F42E +:1017B000E62FF0E0EE0FFF1FEE5DFE4F208131813E +:1017C00089E090E014C0643070F470E0FB01EE0F2B +:1017D000FF1FE65EFE4F20813181FB01EA5EFE4F76 +:1017E000808190E004C080E090E020E030E0FA01E9 +:1017F00031832083089580E189BD82E189BD09B4E8 +:1018000000FEFDCF8091D8008F7D8093D80080911D +:10181000E00082608093E0008091E00081FDFCCFD9 +:101820000895CF92DF92EF92FF920F931F93CF9381 +:10183000DF93EC018B016A010E94740D811133C0AA +:10184000C114D10439F0F60180819181081B190B74 +:10185000C80FD91FE12CF12C0115110519F1809148 +:10186000E80085FD16C08091E8008E778093E8003F +:10187000C114D10449F0F60180819181E80EF91E6E +:10188000F182E08285E00FC00E94740D882321F36D +:101890000AC089918093F10001501109FFEFEF1AFE +:1018A000FF0ADACF80E0DF91CF911F910F91FF9077 +:1018B000EF90DF90CF9008952091EE013091EF01ED +:1018C0002617370748F06115710539F42091E800B3 +:1018D0002E772093E80001C0B90140E06115710541 +:1018E000A9F12091E701222309F443C0253009F42E +:1018F00042C02091E80023FD40C02091E80022FD75 +:1019000032C02091E80020FFE9CF4091F300209100 +:10191000F20030E0342BFC01CF016115710559F064 +:101920002830310540F481918093F10061507109B4 +:101930002F5F3F4FF1CF41E02830310509F040E003 +:101940002091E8002E772093E800C8CF4111C9CF3D +:101950000AC08091E701882361F0853061F08091B1 +:10196000E80083FD0AC08091E80082FFF2CF80E0AA +:10197000089582E0089583E0089581E0089520911C +:10198000EE013091EF012617370748F06115710518 +:1019900039F42091E8002E772093E80001C0B901C6 +:1019A000FC0120E06115710591F18091E701882328 +:1019B00009F440C0853009F43FC08091E80083FD00 +:1019C0003DC08091E80082FD2FC08091E80080FF3B +:1019D000E9CF2091F3008091F20090E0922B611505 +:1019E000710559F08830910540F424912093F1005D +:1019F0003196615071090196F2CF21E0089709F004 +:101A000020E08091E8008E778093E800CBCF211111 +:101A1000CCCF0AC08091E701882361F0853061F066 +:101A20008091E80083FD0AC08091E80082FFF2CF38 +:101A300080E0089582E0089583E0089581E00895AC +:101A4000982F973058F59093E900981739F07091D6 +:101A5000EC002091ED005091F00003C0242F762F70 +:101A600050E021FF19C03091EB003E7F3093EB0036 +:101A70003091ED003D7F3093ED003091EB0031600F +:101A80003093EB007093EC002093ED005093F00046 +:101A90002091EE0027FF07C09F5FD3CF8F70809308 +:101AA000E90081E0089580E008958091E80187FFD2 +:101AB00011C08091E80082FD05C08091E70181118D +:101AC000F8CF11C08091E8008B770BC08091E701BF +:101AD000882349F08091E80080FFF8CF8091E800EA +:101AE0008E778093E80008952091E4003091E5001E +:101AF00095E64091EC00842F817040FF22C08091D8 +:101B0000E80080FD1CC08091E701882391F08530BA +:101B100091F08091EB0085FD10C04091E400509160 +:101B2000E5004217530729F39A01915011F784E019 +:101B3000089582E0089583E0089581E0089580E0AB +:101B400008954091E80042FFDECF08950E94140EF0 +:101B50000E941C0EE0EEF0E0808181608083E8ED61 +:101B6000F0E080818F77808319BCA7EDB0E08C9185 +:101B70008E7F8C9380818F7E80831092E601089502 +:101B80000F931F93CF93DF930E94140E0E941C0E9D +:101B9000C8EDD0E088818F778883888180688883CA +:101BA00088818F7D888319BC1092E7011092E30130 +:101BB0001092E5011092E40100EE10E0F80180813E +:101BC0008B7F808388818160888342E060E080E051 +:101BD0000E94200DE1EEF0E080818E7F8083E2EEB6 +:101BE000F0E0808181608083808188608083F8015B +:101BF00080818E7F8083888180618883DF91CF910F +:101C00001F910F910895E8EDF0E080818F7E808331 +:101C1000E7EDF0E080818160808384E082BF81E035 +:101C20008093E6010C94C00DE8EDF0E080818E7F9A +:101C300080831092E20008951092DA001092E10081 +:101C400008951F920F920FB60F9211242F933F9376 +:101C50004F935F936F937F938F939F93AF93BF93B4 +:101C6000EF93FF938091E10082FF0BC08091E2002F +:101C700082FF07C08091E1008B7F8093E1000E948A +:101C800088108091DA0080FF1FC08091D80080FF0B +:101C90001BC08091DA008E7F8093DA008091D9009A +:101CA00080FF0DC080E189BD82E189BD09B400FEDD +:101CB000FDCF81E08093E7010E94830A05C019BC33 +:101CC0001092E7010E94910A8091E10080FF19C003 +:101CD0008091E20080FF15C08091E2008E7F8093AA +:101CE000E2008091E20080618093E2008091D80060 +:101CF00080628093D80019BC85E08093E7010E9440 +:101D0000950A8091E10084FF30C08091E20084FF59 +:101D10002CC080E189BD82E189BD09B400FEFDCF00 +:101D20008091D8008F7D8093D8008091E1008F7ED4 +:101D30008093E1008091E2008F7E8093E2008091A9 +:101D4000E20081608093E2008091E301882311F03A +:101D500084E007C08091E30087FD02C081E001C0FC +:101D600083E08093E7010E94970A8091E10083FF5E +:101D700029C08091E20083FF25C08091E100877F28 +:101D80008093E10082E08093E7011092E30180916B +:101D9000E1008E7F8093E1008091E2008E7F80934E +:101DA000E2008091E20080618093E20042E060E026 +:101DB00080E00E94200D8091F00088608093F00008 +:101DC0000E94940AFF91EF91BF91AF919F918F91E3 +:101DD0007F916F915F914F913F912F910F900FBE27 +:101DE0000F901F9018951F920F920FB60F9211240B +:101DF0002F933F934F935F936F937F938F939F9313 +:101E0000AF93BF93CF93DF93EF93FF93C091E9001C +:101E1000CF708091EC00D82FD17080FDD0E8109267 +:101E2000E9008091F000877F8093F00078940E9411 +:101E3000370F1092E9008091F00088608093F000E5 +:101E4000CD2BCF70C093E900FF91EF91DF91CF913F +:101E5000BF91AF919F918F917F916F915F914F91C2 +:101E60003F912F910F900FBE0F901F9018951F93C9 +:101E7000CF93DF93CDB7DEB7AA970FB6F894DEBF46 +:101E80000FBECDBFE8EEF1E088E08E0F9091F1003B +:101E900091938E13FBCF0E94B30A8091E80083FFD9 +:101EA0001FC18091E8019091E901492F50E04A302B +:101EB000510508F015C1FA01EB59FF4F0C94ED24C0 +:101EC000803881F0823809F00BC18091EC018F706D +:101ED0008093E9008091EB0085FB882780F91092C0 +:101EE000E90006C08091E4019091E50191118260C2 +:101EF0009091E800977F9093E8008093F100109212 +:101F0000F100C8C0282F2D7F09F0EAC0882319F0FE +:101F1000823061F0E5C08091EA01813009F0E0C0D3 +:101F2000933009F080E08093E5012BC08091EA01B5 +:101F3000811127C08091EC018F7009F4D1C080938A +:101F4000E9002091EB0020FF1CC0933021F4809128 +:101F5000EB00806214C09091EB0090619093EB00D5 +:101F600021E030E0A90102C0440F551F8A95E2F735 +:101F70004093EA001092EA008091EB008860809321 +:101F8000EB001092E9008091E800877F86C0811104 +:101F9000A7C01091EA011F778091E3008078812B20 +:101FA0008093E3008091E800877F8093E8000E949F +:101FB000550D8091E80080FFFCCF8091E3008068A0 +:101FC0008093E300111102C082E001C083E080939E +:101FD000E70186C08058823008F082C08091EA0113 +:101FE0009091EB018C3D53E0950779F583E08A836E +:101FF0008AE289834FB7F894DE01139620E03EE031 +:1020000051E2E32FF0E050935700E49120FF03C02A +:10201000E295EF703F5FEF708E2F90E0EA3010F0A6 +:10202000C79601C0C0968D939D932F5F243149F7C9 +:102030004FBF8091E800877F8093E8006AE270E0FC +:10204000CE0101960E945C0C14C0AE014F5F5F4F41 +:102050006091EC010E94A30BBC01892B09F440C0E4 +:102060009091E800977F9093E80089819A810E947F +:10207000BF0C8091E8008B778093E80031C08038F6 +:1020800079F58091E800877F8093E8008091E301F3 +:102090008093F1008091E8008E778093E8000E94A1 +:1020A000550D1EC081111CC09091EA019230C0F400 +:1020B0008091E800877F8093E8009093E3010E947D +:1020C000550D8091E301811106C08091E30087FDE9 +:1020D00002C081E001C084E08093E7010E949F0A72 +:1020E0008091E80083FF0AC08091E800877F809399 +:1020F000E8008091EB0080628093EB00AA960FB617 +:10210000F894DEBF0FBECDBFDF91CF911F91089530 +:102110000895CF938091E7018823A1F0C091E90051 +:10212000CF709091EC00892F817090FD80E8C82BD2 +:102130001092E9008091E80083FD0E94370FCF7074 +:10214000C093E900CF91089590936B0180936A0149 +:102150000895E0916A01F0916B01309721F00190B0 +:10216000F081E02D099480E00895E0916A01F091FA +:102170006B01309721F00280F381E02D09940895DE +:10218000E0916A01F0916B01309721F00480F581B4 +:10219000E02D09940895209168013091690182171A +:1021A000930771F09093690180936801E0916A014F +:1021B000F0916B01309721F00680F781E02D0994B2 +:1021C000089520916601309167018217930771F09D +:1021D0009093670180936601E0916A01F0916B0131 +:1021E000309721F00084F185E02D09940895089539 +:1021F0000C94F7100E94CA1C0E947F060C94901D3C +:10220000CF92DF92EF92FF920F931F93CF93DF93C2 +:10221000CDB7DEB72B970FB6F894DEBF0FBECDBF9C +:102220000E9497068DE6C82E81E0D82E00E010E0CF +:10223000E02E802F0E948507F60141916F01F42E58 +:10224000F826B1F40F5F1F4F0E30110589F78FEF9D +:1022500089838A831B820E94D31C8160782F9D838F +:102260008C8349815A816B818D810E94A31140C06A +:102270009091CE0191FF04C08B870E948B078B85C4 +:1022800020E030E04F2D50E0922FBA01022E02C024 +:10229000759567950A94E2F760FF24C02E83EF825C +:1022A00021E030E0690102C0CC0CDD1C9A95E2F718 +:1022B00090E08C219D21892B09F420E028870E9441 +:1022C000D31C8160782F9A8789874E815F816885CA +:1022D0008A850E94A311F801E359FE4F8081C82628 +:1022E000C08206C02F5F3F4F2630310569F6AACF66 +:1022F0000E94772010916C010E94A9101817A1F07C +:102300000E94A91080936C012B960FB6F894DEBF43 +:102310000FBECDBFDF91CF911F910F91FF90EF9036 +:10232000DF90CF900C94A2092B960FB6F894DEBFE5 +:102330000FBECDBFDF91CF911F910F91FF90EF9016 +:10234000DF90CF900895CF93DF93CDB7DEB72B9773 +:102350000FB6F894DEBF0FBECDBF4F835887698795 +:102360007A878B87DE01119686E0FD0111928A95AE +:10237000E9F785E0FE01379601900D928A95E1F725 +:1023800049815A816B817C818D819E810E94B9181F +:102390002B960FB6F894DEBF0FBECDBFDF91CF9165 +:1023A0000895CF93882309F4C2C0C82F823859F406 +:1023B0000E94A91081FDBBC089E30E94551B0E94A9 +:1023C000121C89E30CC0833879F40E94A91080FDA7 +:1023D000AEC083E50E94551B0E94121C83E50E943B +:1023E000971BCF910C94121C843859F40E94A910A9 +:1023F00082FD9DC087E40E94551B0E94121C87E449 +:10240000EECF8CEF8C0F813A48F48C2F0E94B822CB +:1024100081118DC08C2F0E94551BE3CF80E28C0F61 +:10242000883048F4C77081E001C0880FCA95EAF788 +:102430000E94DB1BD6CF8BE58C0F833078F4C53A36 +:1024400029F0C63A31F083E890E005C081E890E0D9 +:1024500002C082E890E0CF910C94CB1088E58C0FFD +:10246000833108F064C0C83A39F1C93A41F1CA3A37 +:1024700049F1CB3A51F1CC3A59F1CD3A61F1C03B37 +:1024800069F1CE3A71F1CF3A79F1C13B81F1C23BAA +:1024900089F1C33B91F1C43B99F1C53BA1F1C63B26 +:1024A000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B86 +:1024B000C9F180E090E038C082EE90E035C089EE4E +:1024C00090E032C08AEE90E02FC085EB90E02CC007 +:1024D00086EB90E029C087EB90E026C08CEC90E082 +:1024E00023C08DEC90E020C083E891E01DC08AE815 +:1024F00091E01AC082E991E017C084E991E014C02C +:1025000081E292E011C083E292E00EC084E292E0A8 +:102510000BC085E292E008C086E292E005C087E247 +:1025200092E002C08AE292E0CF910C94E110CF9148 +:102530000895882309F44BC0823859F40E94A910E9 +:1025400081FF45C089E30E94551B0E94121C89E34C +:102550000CC0833871F40E94A91080FF38C083E555 +:102560000E94551B0E94121C83E50E94971B0C942D +:10257000121C843859F40E94A91082FF28C087E4F5 +:102580000E94551B0E94121C87E4EFCF9CEF980F0E +:10259000913A58F390E2980F983050F4877091E098 +:1025A00001C0990F8A95EAF7892F0E94E11BDFCFBE +:1025B0009BE5980F933020F480E090E00C94CB10D2 +:1025C000885A833120F480E090E00C94E110089563 +:1025D000882321F00E94DB1B0C94121C0895882391 +:1025E00021F00E94E11B0C94121C0895BF92CF921F +:1025F000DF92EF92FF920F931F93CF93DF9300D060 +:1026000000D000D0CDB7DEB725E0FC01DE01119689 +:1026100001900D922A95E1F7FC0140813181028100 +:10262000258122952F7063817481672B09F4E5C29F +:102630003F3F19F44F3F09F4E0C27C0149833A83DC +:1026400089819A812E830E94141B182FB92E0E9413 +:10265000131B0E94DA19EB2DE295EF70F0E0E159BF +:10266000FF4F2E810C94ED248B2D807F9B2D9F702E +:10267000F92E882319F0F29480EFF822002349F014 +:10268000FF2009F467C28F2D0E94EB1B0E94121CD1 +:1026900061C2812F0E949912FF2009F4AEC28F2DD2 +:1026A0000E94F11B26960FB6F894DEBF0FBECDBF79 +:1026B000DF91CF911F910F91FF90EF90DF90CF901E +:1026C000BF900C94121C3B2D307F8B2D8F703032BD +:1026D00011F08295807F112319F0113021F12CC067 +:1026E0000023B9F0222309F4A0C1213009F09DC1D3 +:1026F00026960FB6F894DEBF0FBECDBFDF91CF9107 +:102700001F910F91FF90EF90DF90CF90BF900C94AE +:10271000FB1B222319F0213009F46FC28E830E9423 +:10272000FE1B8E8196C1002321F0223008F065C285 +:102730007CC1211162C28DC1002321F0222309F442 +:1027400074C108C2222309F484C119C22B2D269515 +:102750002695237030E02115310521F02130310517 +:10276000D1F04BC2002321F0812F9B2D937002C02A +:1027700080E090E026960FB6F894DEBF0FBECDBF86 +:10278000DF91CF911F910F91FF90EF90DF90CF904D +:10279000BF900C94CB10002321F0812F9B2D9370C0 +:1027A00002C080E090E026960FB6F894DEBF0FBE20 +:1027B000CDBFDF91CF911F910F91FF90EF90DF90F0 +:1027C000CF90BF900C94E110812F002319F00E944C +:1027D0007F1F02C00E94E71F26960FB6F894DEBF47 +:1027E0000FBECDBFDF91CF911F910F91FF90EF9062 +:1027F000DF90CF90BF900C946C208B2D837009F0EC +:102800007BC00111FAC1812F829586958770880F50 +:10281000880F912F9F70C92ED12CE12CF12C082EFE +:1028200004C0CC0CDD1CEE1CFF1C0A94D2F714FF74 +:1028300012C04FE050E060E070E004C0440F551F4C +:10284000661F771F8A95D2F7CB01BA016095709504 +:102850008095909503C060E070E0CB012B2D26950C +:1028600026952370422F50E042305105D9F0433075 +:10287000510569F16C297D298E299F294130510527 +:1028800051F126960FB6F894DEBF0FBECDBFDF9193 +:10289000CF911F910F91FF90EF90DF90CF90BF905D +:1028A0000C94011A6C297D298E299F2926960FB632 +:1028B000F894DEBF0FBECDBFDF91CF911F910F9176 +:1028C000FF90EF90DF90CF90BF900C941D1A0E9464 +:1028D000011AC701B60126960FB6F894DEBF0FBEE7 +:1028E000CDBFDF91CF911F910F91FF90EF90DF90BF +:1028F000CF90BF900C94E519002319F08B2D8170B7 +:1029000001C08695882309F478C1812F8295869528 +:102910008770880F880F912F9F70C92ED12CE12CC2 +:10292000F12C082E04C0CC0CDD1CEE1CFF1C0A94FC +:10293000D2F714FF12C04FE050E060E070E004C036 +:10294000440F551F661F771F8A95D2F7CB01BA0136 +:10295000609570958095909503C060E070E0CB0124 +:102960002B2D269526952370422F50E0423051059D +:10297000D9F04330510569F16C297D298E299F29B1 +:102980004130510551F126960FB6F894DEBF0FBEC7 +:10299000CDBFDF91CF911F910F91FF90EF90DF900E +:1029A000CF90BF900C94DB1A6C297D298E299F292A +:1029B00026960FB6F894DEBF0FBECDBFDF91CF9144 +:1029C0001F910F91FF90EF90DF90CF90BF900C94EC +:1029D000F71A0E94DB1AC701B60126960FB6F894C3 +:1029E000DEBF0FBECDBFDF91CF911F910F91FF9042 +:1029F000EF90DF90CF90BF900C94BF1A103FD1F1B1 +:102A000018F4103E50F4A1C0123F09F463C008F45A +:102A10004CC0133F09F473C098C01F708B2D8F7189 +:102A20000023A1F00E94581A812F26960FB6F89421 +:102A3000DEBF0FBECDBFDF91CF911F910F91FF90F1 +:102A4000EF90DF90CF90BF900C94E8120E94791A1B +:102A5000812F26960FB6F894DEBF0FBECDBFDF9153 +:102A6000CF911F910F91FF90EF90DF90CF90BF908B +:102A70000C94EF120023A9F02111BFC08B2D8F7190 +:102A800026960FB6F894DEBF0FBECDBFDF91CF9173 +:102A90001F910F91FF90EF90DF90CF90BF900C941B +:102AA0009E1A223008F0A9C0E9CF0023A9F08B2D8F +:102AB0008F7126960FB6F894DEBF0FBECDBFDF91A3 +:102AC000CF911F910F91FF90EF90DF90CF90BF902B +:102AD0000C94581A002359F38B2D8F7126960FB63C +:102AE000F894DEBF0FBECDBFDF91CF911F910F9144 +:102AF000FF90EF90DF90CF90BF900C94791A002355 +:102B000099F08B2D8F7126960FB6F894DEBF0FBE0D +:102B1000CDBFDF91CF911F910F91FF90EF90DF908C +:102B2000CF90BF900C94431A26960FB6F894DEBF50 +:102B30000FBECDBFDF91CF911F910F91FF90EF900E +:102B4000DF90CF90BF900C94391A0023A9F0222374 +:102B500009F4ADCF812F26960FB6F894DEBF0FBED5 +:102B6000CDBFDF91CF911F910F91FF90EF90DF903C +:102B7000CF90BF900C94D111222309F4ADCF812FB7 +:102B800026960FB6F894DEBF0FBECDBFDF91CF9172 +:102B90001F910F91FF90EF90DF90CF90BF900C941A +:102BA00099124B2D4F70612FC7010E943604269653 +:102BB0000FB6F894DEBF0FBECDBFDF91CF911F914E +:102BC0000F91FF90EF90DF90CF90BF900C945D1924 +:102BD0004B2D4F70612FC70126960FB6F894DEBFBC +:102BE0000FBECDBFDF91CF911F910F91FF90EF905E +:102BF000DF90CF90BF900C944B0826960FB6F894B8 +:102C0000DEBF0FBECDBFDF91CF911F910F91FF901F +:102C1000EF90DF90CF90BF9008950E94F81B0E9424 +:102C2000CD1B0E94121C0E941D210E946C2080E07E +:102C300090E00E94CB1080E090E00C94E1100E94A4 +:102C4000E81B0C940D160E94141B292F22952F703F +:102C500030E02C3031054CF42A3031056CF4225030 +:102C600031092230310588F407C02C30310549F094 +:102C70002F30310531F009C0803E48F0803F29F403 +:102C800006C093FB882780F9089580E0089581E0CD +:102C90000895CF93DF9300D000D01F92CDB7DEB759 +:102CA0000F900F900F900F900F90DF91CF9108959C +:102CB000CF93DF9300D000D000D0CDB7DEB72696FB +:102CC0000FB6F894DEBF0FBECDBFDF91CF91089550 +:102CD0001F93CF93DF93C0917B0116E080917C011D +:102CE000C81799F0D0E01C9FF0011D9FF00D112432 +:102CF000E358FE4F408151816281738184819581C7 +:102D00000E9458162196C770E9CFDF91CF911F918D +:102D100008954091AD015091AE016091AF01709165 +:102D2000B0018091B1019091B2010C94581680913C +:102D3000B20182958F7009F054C08091AF01882351 +:102D400009F44FC080917B01A0917C016091AD019D +:102D50007091AE014091B0015091B101B6E08A1777 +:102D600009F43FC090E041155105C1F17F3F11F4D6 +:102D70006F3FA1F1B89FF001B99FF00D1124E35806 +:102D8000FE4F218172132AC02081621327C0228145 +:102D9000211124C0238134812417350710F42150D8 +:102DA0003109241B350B283C3105C0F42091B201B8 +:102DB0002F7020612093B20126E0289FF001299F07 +:102DC000F00D1124EE57FE4F80818F70806180835B +:102DD0008DEA91E00E94F6120C94681601968770B5 +:102DE000BECF0895CF92DF92EF92FF920F931F9381 +:102DF000CF93DF93CDB7DEB762970FB6F894DEBFFF +:102E00000FBECDBF8C0185E0F801DE011D9601905B +:102E10000D928A95E1F7D8014C9111965C9111972A +:102E200012966C9112971396CD90DC901497309176 +:102E3000AD017091AE018091B0019091B101009708 +:102E400009F46BC17F3F19F43F3F09F466C1E0907C +:102E5000AF01EE2009F4C0C02091B201C816D90616 +:102E600028F0F601E81BF90BCF0104C0809590957E +:102E70008C0D9D1DFF24F394883C910578F0F12C76 +:102E8000207F09F0C6C07C2DD98AC88A89890E9412 +:102E900049168DEA91E00E94F612B1C0822F807F20 +:102EA00009F046C0751314C0341312C0611110C06C +:102EB0002F7020612093B2010E9489168DEA91E063 +:102EC0000E94F6128091B201D80115968C932EC003 +:102ED000CD2819F15F3F11F44F3FF9F0F62E611143 +:102EE0001CC080917B0120917C0136E0821709F49F +:102EF0005AC090E0389FF001399FF00D1124E3583B +:102F0000FE4F7181571306C07081471303C0728151 +:102F1000711103C001968770E9CFF62E662309F47C +:102F200018C18091B20181608093B201F12C11C16E +:102F3000751308C0341306C0611104C08091B2013A +:102F4000D801C3C04D875E878D859E856A8B0E94A0 +:102F500023166A898823E1F16623D1F12091B20119 +:102F6000822F82958F7090E0029774F08091AD016E +:102F70009091AE0198878F831986DB86CA862C874D +:102F8000CE0107960E94F61286E0F801ADEAB1E0A4 +:102F900001900D928A95E1F70E9497160E9489167A +:102FA000FF24F394D6C04D875E878D859E850E9451 +:102FB000141B292F22952F7030E0223031050CF0A0 +:102FC000BCC09F7009F0B6C0805E883008F4C1C0F4 +:102FD000C8010E94F612E4CFC816D90608F453C0FF +:102FE000F601E81BF90BCF01883C910508F450C0AD +:102FF000F12C7C2DD98AC88A89890E944916EDEA6C +:10300000F1E086E0DF011D928A95E9F70E948916BA +:10301000A0C0751314C0341312C0611110C0809188 +:10302000B201F8018583C8010E94F61286E0EDEA3C +:10303000F1E0DF011D928A95E9F7FE2C8AC04D87E9 +:103040005E878D859E856A8B0E9423166A898823F8 +:1030500009F4BECF662309F4BBCF2091B201822FC1 +:1030600082958F7090E002970CF48ECF8091AD0125 +:103070009091AE019A8389831B82DD82CC822E835C +:10308000CE0101967FCF809590958C0D9D1DACCF84 +:10309000F62E662309F49CCF75132EC034132CC072 +:1030A0002091B20120FD1FC0822F82958F70D9F030 +:1030B000D80115962C9315978F3049F08F5F982F74 +:1030C0009295907F822F8F70892B15968C93C801D3 +:1030D0000E94F61286E0F801ADEAB1E001900D928F +:1030E0008A95E1F793CF86E0F801ADEAB1E001906F +:1030F0000D928A95E1F72DC04D875E878D859E855F +:103100000E942316811140CF8091B201816080938B +:10311000B201C8010E94F6121CC0662309F458CF00 +:103120004D875E878D859E850E942316882309F42E +:103130004FCF2ACF811148CF0CC0243031050CF07D +:1031400047CF9F7009F440CFF8019581907F09F037 +:103150003BCF8F2D62960FB6F894DEBF0FBECDBF6A +:10316000DF91CF911F910F91FF90EF90DF90CF9063 +:1031700008951F93CF93DF93CDB7DEB72C970FB68B +:10318000F894DEBF0FBECDBF4F83588769877A871B +:103190008B879C87CE0107960E94F216882369F0E0 +:1031A0008F8198852A853B85232BF1F19F3F09F07C +:1031B00063C08F3F09F060C037C086E0FE013796DC +:1031C000DE01119601900D928A95E1F76F81788565 +:1031D000EA85FB85309741F17F3F11F46F3F21F184 +:1031E00020917C0130E0C9010196877099274091B8 +:1031F0007B0150E08417950709F447C069837A83FF +:10320000FD83EC8396E0929FD001939FB00D112433 +:10321000A358BE4FFE01319601900D929A95E1F7A9 +:1032200080937C010E94681616E080917B0190914A +:103230007C018917C1F1189FC001112483589E4F4A +:103240000E94F216882379F1E0917B011E9FF00124 +:103250001124E358FE4F4081518162817381848142 +:1032600095810E94581680917B0190E001968770AD +:10327000992780937B01D9CF4F81588569857A85BD +:103280008B859C850E945816CFCF0E941F161092E6 +:103290007C0110927B01EDEAF1E086E0DF011D92F6 +:1032A0008A95E9F7C1CF2C960FB6F894DEBF0FBE12 +:1032B000CDBFDF91CF911F910895EF92FF920F93B1 +:1032C0001F93CF93DF938C01892B09F46CC0F12CF1 +:1032D000EE24E394E8012196F8018491843740F4C8 +:1032E000843008F051C0813081F0823019F15BC028 +:1032F000853709F444C0A8F19CE7980F903708F08F +:1033000052C08F770E94991241C00E5F1F4FFE017D +:10331000C49180E28C0F883048F4C7708E2D01C0B4 +:10332000880FCA95EAF70E94EB1B14C08C2F0E94ED +:10333000D1112DC00E5F1F4FFE01C49180E28C0F92 +:10334000883058F4C7708E2D01C0880FCA95EAF7EF +:103350000E94F11B0E94121C1AC08C2F0E9499120D +:1033600016C00E5F1F4FFE01C491CC2381F08FE980 +:103370009FE00197F1F700C00000C150F6CF0E5F4B +:103380001F4FFE01F49003C00E94D1118E018F2DBA +:10339000882309F49FCFEFE9FFE03197F1F700C0F0 +:1033A00000008150F5CFDF91CF911F910F91FF90D9 +:1033B000EF90089508956093B7017093B8018093DA +:1033C000B9019093BA010C940D160F931F930091BD +:1033D000B7011091B8012091B9013091BA01DC0117 +:1033E000CB01802B912BA22BB32B8093B701909311 +:1033F000B801A093B901B093BA011F910F910C9439 +:103400000D160F931F930091B7011091B8012091F1 +:10341000B9013091BA01DC01CB0180239123A223B1 +:10342000B3238093B7019093B801A093B901B093EF +:10343000BA011F910F910C940D160F931F930091D9 +:10344000B7011091B8012091B9013091BA01DC01A6 +:10345000CB0180279127A227B3278093B7019093B0 +:10346000B801A093B901B093BA011F910F910C94C8 +:103470000D161092B3011092B4011092B501109282 +:10348000B6010C940D1641E050E060E070E004C01D +:10349000440F551F661F771F8A95D2F74093B301DB +:1034A0005093B4016093B5017093B6010C940D165E +:1034B00041E050E060E070E004C0440F551F661F1B +:1034C000771F8A95D2F78091B3019091B401A091B2 +:1034D000B501B091B601482B592B6A2B7B2B409339 +:1034E000B3015093B4016093B5017093B6010C948D +:1034F0000D1641E050E060E070E004C0440F551F3D +:10350000661F771F8A95D2F7409550956095709504 +:103510008091B3019091B401A091B501B091B60131 +:10352000482359236A237B234093B3015093B4016A +:103530006093B5017093B6010C940D1641E050E014 +:1035400060E070E004C0440F551F661F771F8A9526 +:10355000D2F78091B3019091B401A091B501B091DF +:10356000B601482759276A277B274093B301509318 +:10357000B4016093B5017093B6010C940D160F93CE +:103580001F930091B3011091B4012091B5013091C6 +:10359000B601DC01CB01802B912BA22BB32B8093A6 +:1035A000B3019093B401A093B501B093B6011F91FC +:1035B0000F910C940D160F931F930091B30110916E +:1035C000B4012091B5013091B601DC01CB0180231B +:1035D0009123A223B3238093B3019093B401A093CA +:1035E000B501B093B6011F910F910C940D160F9376 +:1035F0001F930091B3011091B4012091B501309156 +:10360000B601DC01CB0180279127A227B327809345 +:10361000B3019093B401A093B501B093B6011F918B +:103620000F910C940D160895CF92DF92EF92FF92B6 +:103630000F931F93CF93DF938C01C090B701D0906D +:10364000B801E090B901F090BA014091B3015091F6 +:10365000B4016091B5017091B601C42AD52AE62A59 +:10366000F72ACFE1D0E0D701C6010C2E04C0B695F1 +:10367000A795979587950A94D2F780FF07C0B80160 +:103680008C2F0E946E088130910531F4219758F7F4 +:10369000B80180E00E946E08DF91CF911F910F91D9 +:1036A000FF90EF90DF90CF90089590910C019923B7 +:1036B00021F090910D01911109C020910E013091DE +:1036C0000F01F90132969FEF40E01FC0982F9695A9 +:1036D000969596959F3050F5E0910E01F0910F016F :1036E000E90FF11D877021E030E0A90102C0440F0D :1036F000551F8A95E2F7CA019181892B818308952C -:1037000020910E0130910F01F90132969FEF40E0B8 -:103710005191851789F09F3F19F4511101C0942FE1 -:103720004F5F4E30A9F79F3F39F0F901E90FF11DC6 -:1037300097FDFA9582830895089590910C0199233D -:10374000F9F090910D019923D9F0982F96959695BF -:1037500096959F3028F5E0910E01F0910F01E90F49 -:10376000F11D877021E030E0A90102C0440F551F10 -:103770008A95E2F7CA018095918189238183089512 -:1037800020910E0130910F01F9013296205F3F4FD9 -:103790009081891301C010823196E217F307C1F7B7 -:1037A000089581E090E0E0910E01F0910F01E80FA3 -:1037B000F91F1082019680319105A9F70895909123 -:1037C000CD01892B8093CD01089580959091CD01F5 -:1037D00089238093CD0108951092CD010895909191 -:1037E000CC01892B8093CC01089580959091CC01D8 -:1037F00089238093CC0108951092CC010895809381 -:10380000BB0108951092BB01089580910E01909123 -:103810000F01FC0131969C01205F3F4F80E09191A8 -:1038200091118F5FE217F307D1F70895E0910E0130 -:10383000F0910F018091CD018083E0910E01F09114 -:103840000F0190818091CC01892B80838091BB01F5 -:10385000882361F0E0910E01F0910F019081892B96 -:1038600080830E94051C81111092BB0180910E0182 -:1038700090910F010C94D010CF92DF92EF92FF92B3 -:103880006C01EE24FF24C114D104E104F10421F001 -:10389000C701B60120E101C020E0C72ED82EE92ED5 -:1038A000FF24C114D104E104F10419F0285FC70119 -:1038B000B6016B017C0154E0F694E794D794C79469 -:1038C0005A95D1F7C114D104E104F10419F02C5F29 -:1038D000C701B6016B017C0142E0F694E794D794EE -:1038E000C7944A95D1F7C114D104E104F10419F049 -:1038F0002E5FC701B601DC01CB01B695A795979560 -:103900008795892B8A2B8B2B09F02F5F822FFF90B5 -:10391000EF90DF90CF9008958091E601843011F10F -:1039200020E488E190E00FB6F894A89580936000B9 -:103930000FBE2093600083B7817F846083BF83B70D -:10394000816083BF7894889583B78E7F83BF0FB6DD -:10395000F894A8958091600088618093600010922F -:1039600060000FBE089508950C94B31CCF930E947D -:10397000B41C0E949A060E94B31CC0E08C2F0E94C7 -:103980009007811104C0CF5FCE30C1F701C081E044 -:10399000CF9108950E942D160E94C4100C94BA096C -:1039A00082E084BD93E095BD9AEF97BD80936E0051 -:1039B00008952FB7F8948091CF019091D001A091F4 -:1039C000D101B091D2012FBF0895CF92DF92EF9233 -:1039D000FF920F931F932FB7F8944091CF0150910E -:1039E000D0016091D1017091D2012FBF6A017B019A -:1039F000EE24FF248C0120E030E0C016D106E20660 -:103A0000F30610F4415051099A01281B390BC901E2 -:103A10001F910F91FF90EF90DF90CF9008951F922C -:103A20000F920FB60F9211248F939F93AF93BF9372 -:103A30008091CF019091D001A091D101B091D2019C -:103A40000196A11DB11D8093CF019093D001A09349 -:103A5000D101B093D201BF91AF919F918F910F90FF -:103A60000FBE0F901F9018950E94BC0DF8942FEF79 -:103A700087EA91E6215080409040E1F700C00000C5 -:103A800087E090EBDC018093EF019093F001A0932D -:103A9000F101B093F2019CE088E10FB6F894A8958B -:103AA000809360000FBE90936000FFCFEF92FF9273 -:103AB0000F931F93CF93DF93D82FC0E08C2F0E94DA -:103AC000900700E010E0E82EF12CC701002E02C0A4 -:103AD000959587950A94E2F780FD06C00F5F1F4F0A -:103AE0000630110591F709C0602F7C2F80E00E94FD -:103AF00058088D13F3CF81E004C0CF5FCE30F1F6CC -:103B000080E0DF91CF911F910F91FF90EF9008958A -:103B1000CF93C82F8CE20E94561D882321F08C2F52 -:103B2000CF910C94561D80E0CF910895CF930E94C1 -:103B3000DD1E811102C00E94C31EC5E6C15049F0BE -:103B40000E949A068FE39CE90197F1F700C00000FC -:103B5000F5CF89E20E94881D811113C18AE20E947B -:103B6000881D81110E94C31E85E00E94881D81115D -:103B70000E94341D0E94E81E8093CE0187E00E94BF -:103B8000881D8823A9F18BE10E94881D882351F0AC -:103B90008091CE0181FB222720F991E0922790FBB2 -:103BA00081F90EC08EE00E94881D882361F080910B -:103BB000CE0182FB222720F991E0922790FB82F927 -:103BC0008093CE0115C080E10E94881D9091CE01A6 -:103BD000882341F093FB222720F981E0822780FB94 -:103BE00093F904C0892F809580FB90F99093CE01C2 -:103BF0008091CE010E94EC1E0E94FA1E8093E0018B -:103C000080EE0E94881D882341F08091E001982F6A -:103C1000909590FB80F98093E00189E30E94881DD4 -:103C2000882359F08091E00181FB222720F991E05F -:103C3000922790FB81F98093E00182EE0E94881D1B -:103C4000882359F08091E00182FB222720F991E03E -:103C5000922790FB82F98093E00186EE0E94881DF6 -:103C6000882359F08091E00183FB222720F991E01D -:103C7000922790FB83F98093E00183EE0E94881DD8 -:103C8000882359F08091E00184FB222720F991E0FC -:103C9000922790FB84F98093E00185E30E94881DC0 -:103CA000882359F08091E00185FB222720F991E0DB -:103CB000922790FB85F98093E00181E30E94881DA3 -:103CC000882359F08091E00186FB222720F991E0BA -:103CD000922790FB86F98093E00181E10E94881D84 -:103CE000882359F08091E00187FB222720F991E099 -:103CF000922790FB87F98093E0018091E0010E9478 -:103D0000FE1E8091E00187FB882780F980930D01DA -:103D100087E20E94881DC82F8EE10E94881D8111B4 -:103D2000C2608FE10E94881D8111C46080E20E9400 -:103D3000881D8111C86081E20E94881D8111C061C7 -:103D400082E20E94881D8111C06283E20E94881D68 -:103D50008111C06484E20E94881D882311F0C0682C -:103D600002C0CC2329F08C2F0E94F51E6C2F03C0BB -:103D70000E94F11E682F70E080E090E0CF910C94DB -:103D8000E419CF9108956DEE7EEF80E090E00E94FF -:103D9000372560E082E090E00E94292560E083E022 -:103DA00090E00E94292560E084E090E00E942925AF -:103DB00060E085E090E00C94292580E090E00E948E -:103DC000232521E08D3E9E4F09F020E0822F0895AB -:103DD00082E090E00C941B25682F82E090E00C9428 -:103DE000292583E090E00C941B25682F83E090E068 -:103DF0000C94292584E090E00C941B25682F84E026 -:103E000090E00C9429258091D50180FF0BC0609132 -:103E1000130185E0689FB00111247595679575952C -:103E200067952BC081FF09C06091130185E0689FF1 -:103E3000B00111247595679520C082FF07C060917D -:103E4000130185E0689FB001112417C09091D6013D -:103E50009923D1F060911201961788F720911301F0 -:103E600085E0289F90011124929FA001939F500DFF -:103E7000112470E0CA010E94ED246038710540F4FD -:103E80006115710519F406C065E070E0862F08958C -:103E90008FE7089581E008958091D50180FF08C0E3 -:103EA0006091110170E0759567957595679521C0D2 -:103EB00081FF06C06091110170E07595679519C08A -:103EC00082FF04C06091110170E010C09091D60192 -:103ED000992399F0609110019617A0F78091110134 -:103EE000899FC001112470E00E94ED2460387105A3 -:103EF00040F46115710519F406C061E070E0862F89 -:103F000008958FE7089581E00895803F21F40E948D -:103F1000031F819504C0813F29F40E94031F8093F1 -:103F2000D9010895823F21F40E94031F819504C0A6 -:103F3000833F29F40E94031F8093D8010895893F8D -:103F400019F40E944C1F05C08A3F31F40E944C1F97 -:103F500081958093DA0108958B3F21F40E944C1FD4 -:103F6000819504C08C3F29F40E944C1F8093DB0193 -:103F70000895843F21F48091D701816017C0853F67 -:103F800021F48091D701826011C0863F21F4809195 -:103F9000D70184600BC0873F21F48091D7018860EE -:103FA00005C0883F31F48091D70180618093D701AB -:103FB00008958D3F21F48091D50181600BC08E3F23 -:103FC00021F48091D501826005C08F3F29F4809152 -:103FD000D50184608093D5010895803F39F48091A4 -:103FE000D90187FF6CC01092D90169C0813F29F4C3 -:103FF0008091D9011816BCF362C09091D801823F1C -:1040000029F497FF5CC01092D80159C0833F19F47E -:104010001916CCF354C0893F41F48091DA01181687 -:104020000CF04DC01092DA014AC08A3F29F4809109 -:10403000DA0187FF44C0F6CF8B3F39F48091DB0172 -:1040400087FF3DC01092DB013AC08C3F29F480917C -:10405000DB011816BCF333C0843F21F48091D701F3 -:104060008E7F17C0853F21F48091D7018D7F11C0CD -:10407000863F21F48091D7018B7F0BC0873F21F4CD -:104080008091D701877F05C0883F31F48091D701A7 -:104090008F7E8093D70113C08D3F21F48091D5018D -:1040A0008E7F0BC08E3F21F48091D5018D7F05C09E -:1040B0008F3F29F48091D5018B7F8093D50180912A -:1040C000D80181110EC08091D90181110AC080915F -:1040D000DA01811106C08091DB01811102C01092CA -:1040E000D601089587ED91E00E94DB100E94D91C53 -:1040F0009093D4018093D30108951F93CF93DF93BE -:104100008091D3019091D4010E94E51CAC01909163 -:10411000D601992321F02091140130E006C02091AE -:1041200015018AE0289F900111244217530708F4D3 -:1041300085C08091D801C091D901D091DA01109148 -:10414000DB01811107C0C11175C0D11173C01111FC -:1041500071C074C09F3F19F09F5F9093D6011816ED -:1041600024F40E94031F8093D8018091D80187FF17 -:1041700005C00E94031F81958093D8011C1624F46A -:104180000E94031F8093D9018091D90187FF05C048 -:104190000E94031F81958093D9016091D801662305 -:1041A00031F1C091D901CC2311F1062E000C770B0F -:1041B000880B990B0E94F42323E333E343E35FE38B -:1041C0000E9458240E94BC236093D8016C2FCC0F0E -:1041D000770B880B990B0E94F42323E333E343E32B -:1041E0005FE30E9458240E94BC236093D9011D16EE -:1041F00024F40E944C1F8093DA018091DA0187FF3A -:1042000005C00E944C1F81958093DA01111624F499 -:104210000E944C1F8093DB018091DB0187FF05C06A -:104220000E944C1F81958093DB01DF91CF911F91FC -:104230000C9472209F3F09F08FCFA0CFDF91CF91D8 -:104240001F910895E7EDF1E085E0DF011D928A9569 -:10425000E9F71092D6011092D5010895833081F1CB -:1042600028F4813059F08230D1F00895853009F476 -:1042700049C0B8F1863009F456C0089580911501FF -:10428000262F30E0280F311D2F3F310524F4680F11 -:104290006093150108958FEF809315010895809123 -:1042A0001401262F30E0280F311D2F3F310524F453 -:1042B000680F6093140108958FEF8093140108959F -:1042C00080911301262F30E0280F311D2F3F31053B -:1042D00024F4680F6093130108958FEF8093130106 -:1042E000089580911201262F30E0280F311D2F3FB5 -:1042F000310524F4680F6093120108958FEF8093C5 -:104300001201089580911101262F30E0280F311DF0 -:104310002F3F310524F4680F6093110108958FEF4A -:1043200080931101089580911001262F30E0280F0D -:10433000311D2F3F310524F4680F6093100108955B -:104340008FEF809310010895833011F128F48130AC -:1043500049F0823091F00895853081F120F1863066 -:10436000C1F1089580911501681720F4861B809390 -:104370001501089510921501089580911401681790 -:1043800020F4861B8093140108951092140108955F -:1043900080911301681720F4861B80931301089500 -:1043A00010921301089580911201681720F4861B62 -:1043B00080931201089510921201089580911101C5 -:1043C000681720F4861B8093110108951092110143 -:1043D000089580911001681720F4861B80931001C6 -:1043E00008951092100108950F931F938D3109F4D1 -:1043F0006BC008F03FC08E3009F47DC0C0F4873038 -:1044000009F46EC068F4863009F0AFC08091CE0127 -:10441000817F8E7F8093CE0181E08093DD01A6C0F5 -:10442000883009F458C08B3009F49BC09EC0863197 -:1044300009F497C078F4803109F470C0813109F033 -:1044400094C00E942D1690910D0181E089278093E0 -:104450000D0187C0893109F484C08B3109F085C012 -:104460008091CE0181FB222720F991E0922790FBD9 -:1044700081F94AC0853309F45BC048F4873209F4F6 -:1044800057C008F45AC0893209F452C06EC0833450 -:1044900038F48A3308F067C0883309F462C065C015 -:1044A000833409F445C0883409F05FC00E942D169A -:1044B0000FEF13ED20E3015010402040E1F700C062 -:1044C00000000E94341D4DC00E9476230E94C4103B -:1044D0000E94BA0946C00E94E81E0E94FA1E41C00E -:1044E0009091CE01892F817090FF12C0917F9E7FA5 -:1044F0009093CE013BC08091CE0182FB222720F910 -:1045000091E0922790FB82F98093CE01992349F1A3 -:104510008091CE0181608093CE0123C08091CE0135 -:1045200083FB222720F991E0922790FB83F9ECCFBF -:1045300061E070E080E090E010C08D5141E050E01B -:1045400060E070E08A019B0104C0000F111F221F70 -:10455000331F8A95D2F7C901B8010E94E4190E945D -:104560002D1681E003C08953E9CF80E01F910F91A0 -:10457000089580E008950C94B922CF93C82F8091BC -:10458000DD01813079F018F08230E9F187C0E091E7 -:104590000E01F0910F018081813169F0823209F0C2 -:1045A0007FC009C0E0910E01F0910F01808181313F -:1045B00011F0823261F48C2F0E94BB22811104C061 -:1045C0008C2F0E94F4211DC081E090E01AC08C2F36 -:1045D0000E94B922811114C0C43179F048F4CB3063 -:1045E00079F0C03109F060C082E08093DD0108C03D -:1045F000C93219F0C83321F057C01092DD0154C000 -:1046000081E0817053C0C93289F118F5C43171F16C -:10461000A8F4C73009F046C08AE08093150194E100 -:104620009093140193E0909313018093120188E01A -:104630008093110188E28093100134C0CE51C630BE -:1046400088F5EC2FF0E0E65DFE4F80818093DC0181 -:1046500029C0CE34E9F020F4CB3421F56AE013C050 -:10466000C13579F0C235F1F461E00DC08091DC0113 -:10467000882319F01092DC0115C081E08093DD01E0 -:1046800015C061E006C08091DC010E942E210AC0A5 -:104690006AE08091DC010E94A42104C01092DD0137 -:1046A00080E004C081E002C080E0ABCFCF910895EC -:1046B000E1E8F0E080818860808380818160808390 -:1046C0008FB7F89493E09093890090ED90938800D1 -:1046D0008FBF0895EFE6F0E08081826080830895C7 -:1046E000EFE6F0E080818D7F80830895EFE6F0E0D3 -:1046F000908182E08927808308951F920F920FB6E0 -:104700000F9211242F933F934F935F936F937F9357 -:104710008F939F93AF93BF93EF93FF938091DE01AD -:104720009091DF0101969093DF018093DE0181116A -:1047300003C082E00E94BA09E091DF01E695E695A8 -:10474000F0E0E156F84FE4918091DE018E1303C052 -:1047500080E00E94BA09FF91EF91BF91AF919F91C4 -:104760008F917F916F915F914F913F912F910F901A -:104770000FBE0F901F9018950E94C3236894B1112B -:104780000C94522408950E94372488F09F5798F083 -:10479000B92F9927B751B0F0E1F0660F771F881F46 -:1047A000991F1AF0BA95C9F714C0B13091F00E9460 -:1047B0005124B1E008950C945124672F782F882755 -:1047C000B85F39F0B93FCCF3869577956795B39587 -:1047D000D9F73EF490958095709561957F4F8F4FF6 -:1047E0009F4F0895E89409C097FB3EF490958095FB -:1047F000709561957F4F8F4F9F4F9923A9F0F92FA7 -:1048000096E9BB279395F695879577956795B79524 -:10481000F111F8CFFAF4BB0F11F460FF1BC06F5F0A -:104820007F4F8F4F9F4F16C0882311F096E911C01C -:10483000772321F09EE8872F762F05C0662371F03D -:1048400096E8862F70E060E02AF09A95660F771F51 -:10485000881FDAF7880F9695879597F9089557FD81 -:104860009058440F551F59F05F3F71F04795880FDE -:1048700097FB991F61F09F3F79F087950895121675 -:1048800013061406551FF2CF4695F1DF08C0161621 -:1048900017061806991FF1CF8695710561050894D2 -:1048A0000895E894BB2766277727CB0197F90895E9 -:1048B0000E946B240C94DC240E94CE2438F00E94C9 -:1048C000D52420F0952311F00C94C5240C94CB240E -:1048D00011240C9452240E942F2470F3959FC1F34D -:1048E000950F50E0551F629FF001729FBB27F00D9E -:1048F000B11D639FAA27F00DB11DAA1F649F6627F3 -:10490000B00DA11D661F829F2227B00DA11D621F41 -:10491000739FB00DA11D621F839FA00D611D221FFB -:10492000749F3327A00D611D231F849F600D211DDF -:10493000822F762F6A2F11249F5750409AF0F1F062 -:1049400088234AF0EE0FFF1FBB1F661F771F881FCB -:1049500091505040A9F79E3F510580F00C94C5241A -:104960000C9452245F3FE4F3983ED4F386957795F8 -:104970006795B795F795E7959F5FC1F7FE2B880F71 -:10498000911D9695879597F9089597F99F6780E807 -:1049900070E060E008959FEF80EC089500240A9491 -:1049A0001616170618060906089500240A9412160A -:1049B0001306140605060895092E0394000C11F43D -:1049C000882352F0BB0F40F4BF2B11F460FF04C0EA -:1049D0006F5F7F4F8F4F9F4F089597FB072E16F401 -:1049E000009407D077FD09D00E94072507FC05D069 -:1049F0003EF4909581959F4F0895709561957F4FF6 -:104A00000895EE0FFF1F0590F491E02D0994AA1B65 -:104A1000BB1B51E107C0AA1FBB1FA617B70710F0A9 -:104A2000A61BB70B881F991F5A95A9F780959095DB -:104A3000BC01CD010895F999FECF92BD81BDF89AD0 -:104A4000992780B50895A8E1B0E042E050E00C94C9 -:104A50003E25262FF999FECF1FBA92BD81BD20BDFC -:104A60000FB6F894FA9AF99A0FBE019608950E942B -:104A70002925272F0C942A25DC01CB01FC01F9996B -:104A8000FECF06C0F2BDE1BDF89A319600B40D929A -:0C4A900041505040B8F70895F894FFCF53 -:104A9C002002BB094B0A260AF209BE090101BC011E -:104AAC0028080A03140A3F4D363960071307DD0640 -:104ABC00A4063706500669068206010203040506A1 -:044ACC0007080900CE +:103700009F3F39F04F5F4E3041F051915813F8CF41 +:103710000DC05111F7CF942FF5CF9F3F39F0F9012C +:10372000E90FF11D97FDFA95828308950895909110 +:103730000C01992321F090910D01911109C0209164 +:103740000E0130910F01F9013296205F3F4F1FC0EB +:10375000982F9695969596959F30F0F4E0910E01EE +:10376000F0910F01E90FF11D877021E030E0A90110 +:1037700002C0440F551F8A95E2F7CA0180959181D6 +:103780008923818308953196E217F30729F0908108 +:103790009813F9CF1082F7CF089581E090E0E0917F +:1037A0000E01F0910F01E80FF91F10820196803190 +:1037B0009105A9F708959091CD01892B8093CD01B2 +:1037C000089580959091CD0189238093CD0108952E +:1037D0001092CD0108959091CC01892B8093CC015A +:1037E000089580959091CC0189238093CC01089510 +:1037F0001092CC0108958093BB0108951092BB01F3 +:10380000089580910E0190910F01FC0131969C0169 +:10381000205F3F4F80E0919191118F5FE217F30796 +:10382000D1F70895E0910E01F0910F018091CD0143 +:103830008083E0910E01F0910F0190818091CC0185 +:10384000892B80838091BB01882361F0E0910E0178 +:10385000F0910F019081892B80830E94011C8111BE +:103860001092BB0180910E0190910F010C94B51044 +:10387000CF92DF92EF92FF926C01EE24FF24C114ED +:10388000D104E104F10421F0C701B60120E101C037 +:1038900020E0C72ED82EE92EFF24C114D104E10464 +:1038A000F10419F0285FC701B6016B017C0154E0F7 +:1038B000F694E794D794C7945A95D1F7C114D104DC +:1038C000E104F10419F02C5FC701B6016B017C0122 +:1038D00042E0F694E794D794C7944A95D1F7C1147F +:1038E000D104E104F10419F02E5FC701B601DC0137 +:1038F000CB01B695A79597958795892B8A2B8B2B0E +:1039000009F02F5F822FFF90EF90DF90CF90089506 +:103910008091E701843009F11092CF0120E488E121 +:1039200090E00FB6F894A895809360000FBE2093A6 +:10393000600083B7817F846083BF83B7816083BF6A +:103940007894889583B78E7F83BF88E10FB6F8940B +:1039500080936000109260000FBE0895089508954E +:10396000CF930E94AE1C0E9497060E94AF1CC0E03D +:103970008C2F0E948507811104C0CF5FCE30C1F724 +:1039800001C081E0CF9108950E941F160E94A910E6 +:103990000C94A20982E084BD93E095BD9AEF97BD97 +:1039A00080936E0008952FB7F8948091D001909184 +:1039B000D101A091D201B091D3012FBF0895CF9230 +:1039C000DF92EF92FF920F931F932FB7F8944091DD +:1039D000D0015091D1016091D2017091D3012FBFDC +:1039E0006A017B01EE24FF248C0120E030E0C01648 +:1039F000D106E206F30610F4415051099A01281B42 +:103A0000390BC9011F910F91FF90EF90DF90CF907C +:103A100008951F920F920FB60F9211248F939F93C8 +:103A2000AF93BF938091D0019091D101A091D20129 +:103A3000B091D3010196A11DB11D8093D001909347 +:103A4000D101A093D201B093D301BF91AF919F91C7 +:103A50008F910F900FBE0F901F9018950E94A60D8A +:103A6000F8942FEF87EA91E6215080409040E1F7EB +:103A700000C0000087E090EBDC018093F0019093A0 +:103A8000F101A093F201B093F3019CE088E10FB63D +:103A9000F894A895809360000FBE90936000FFCFCC +:103AA000EF92FF920F931F93CF93DF93D82FC0E035 +:103AB0008C2F0E94850700E010E0E82EF12CC70152 +:103AC000002E02C0959587950A94E2F780FD06C006 +:103AD0000F5F1F4F0630110591F709C0602F7C2F33 +:103AE00080E00E944C08D813F3CF81E004C0CF5F80 +:103AF000CE30F1F680E0DF91CF911F910F91FF90D2 +:103B0000EF900895CF93C82F8CE20E94501D882318 +:103B100021F08C2FCF910C94501D80E0CF9108950F +:103B2000CF930E94D71E811102C00E94BD1EC5E620 +:103B3000C15049F00E9497068FE39CE90197F1F785 +:103B400000C00000F5CF89E20E94821D811113C1DF +:103B50008AE20E94821D81110E94BD1E85E00E94A2 +:103B6000821D81110E942E1D0E94E21E8093CE01B3 +:103B700087E00E94821D8823A9F18BE10E94821DAB +:103B8000882351F08091CE0181FB222720F991E01A +:103B9000922790FB81F90EC08EE00E94821D88233F +:103BA00061F08091CE0182FB222720F991E09227DB +:103BB00090FB82F98093CE0115C080E10E94821DA6 +:103BC0009091CE01882341F093FB222720F981E0D8 +:103BD000822780FB93F904C0892F809580FB90F9A0 +:103BE0009093CE018091CE010E94E61E0E94F41EA9 +:103BF0008093E10180EE0E94821D882341F0809134 +:103C0000E101982F909590FB80F98093E10189E381 +:103C10000E94821D882359F08091E10181FB2227B7 +:103C200020F991E0922790FB81F98093E10182EEE7 +:103C30000E94821D882359F08091E10182FB222796 +:103C400020F991E0922790FB82F98093E10186EEC2 +:103C50000E94821D882359F08091E10183FB222775 +:103C600020F991E0922790FB83F98093E10183EEA4 +:103C70000E94821D882359F08091E10184FB222754 +:103C800020F991E0922790FB84F98093E10185E38C +:103C90000E94821D882359F08091E10185FB222733 +:103CA00020F991E0922790FB85F98093E10181E36F +:103CB0000E94821D882359F08091E10186FB222712 +:103CC00020F991E0922790FB86F98093E10181E150 +:103CD0000E94821D882359F08091E10187FB2227F1 +:103CE00020F991E0922790FB87F98093E101809180 +:103CF000E1010E94F81E8091E10187FB882780F98D +:103D000080930D0187E20E94821DC82F8EE10E94E0 +:103D1000821D8111C2608FE10E94821D8111C460E9 +:103D200080E20E94821D8111C86081E20E94821D92 +:103D30008111C06182E20E94821D8111C06283E212 +:103D40000E94821D8111C06484E20E94821D88232A +:103D500011F0C06802C0CC2329F08C2F0E94EF1E06 +:103D60006C2F03C00E94EB1E682F70E080E090E093 +:103D7000CF910C94DB19CF9108956DEE7EEF80E02A +:103D800090E00E94232560E082E090E00E941525EB +:103D900060E083E090E00E94152560E084E090E020 +:103DA0000E94152560E085E090E00C94152580E0E8 +:103DB00090E00E940F2521E08D3E9E4F09F020E00B +:103DC000822F089582E090E00C940725682F82E00E +:103DD00090E00C94152583E090E00C940725682F63 +:103DE00083E090E00C94152584E090E00C94072586 +:103DF000682F84E090E00C9415258091D60180FF17 +:103E00000BC06091130185E0689FB0011124759586 +:103E10006795759567952BC081FF09C06091130167 +:103E200085E0689FB00111247595679520C082FFD9 +:103E300007C06091130185E0689FB001112417C08D +:103E40009091D7019923D1F060911201961788F7CC +:103E50002091130185E0289F90011124929FA001D9 +:103E6000939F500D112470E0CA010E94D92460383C +:103E7000710540F46115710539F002C065E070E02C +:103E8000862F08958FE7089581E008958091D601E7 +:103E900080FF08C06091110170E075956795759578 +:103EA000679521C081FF06C06091110170E0759592 +:103EB000679519C082FF04C06091110170E010C0C5 +:103EC0009091D7019923C1F0609110019617A0F746 +:103ED00080911101899FC001112470E00E94D924B2 +:103EE0006038710528F46115710521F0862F089559 +:103EF0008FE7089581E0089561E070E0F4CF803F9E +:103F000021F40E94FD1E819504C0813F29F40E9486 +:103F1000FD1E8093DA010895823F21F40E94FD1E68 +:103F2000819504C0833F29F40E94FD1E8093D9012E +:103F30000895893F19F40E94461F05C08A3F31F455 +:103F40000E94461F81958093DB0108958B3F21F4E9 +:103F50000E94461F819504C08C3F29F40E94461F91 +:103F60008093DC010895843F21F48091D801816021 +:103F700017C0853F21F48091D801826011C0863F2F +:103F800021F48091D80184600BC0873F21F4809197 +:103F9000D801886005C0883F31F48091D8018061E4 +:103FA0008093D80108958D3F21F48091D6018160DE +:103FB0000BC08E3F21F48091D601826005C08F3FF7 +:103FC00029F48091D60184608093D6010895803FC2 +:103FD00039F48091DA0187FF6CC01092DA0169C070 +:103FE000813F29F48091DA011816BCF362C09091E8 +:103FF000D901823F29F497FF5CC01092D90159C0C2 +:10400000833F19F41916CCF354C0893F41F48091D1 +:10401000DB0118160CF04DC01092DB014AC08A3F3C +:1040200029F48091DB0187FF44C0F6CF8B3F39F440 +:104030008091DC0187FF3DC01092DC013AC08C3FCB +:1040400029F48091DC011816BCF333C0843F21F4BD +:104050008091D8018E7F17C0853F21F48091D801CF +:104060008D7F11C0863F21F48091D8018B7F0BC0DA +:10407000873F21F48091D801877F05C0883F31F4C4 +:104080008091D8018F7E8093D80113C08D3F21F499 +:104090008091D6018E7F0BC08E3F21F48091D60196 +:1040A0008D7F05C08F3F29F48091D6018B7F80934F +:1040B000D6018091D90181110EC08091DA01811160 +:1040C0000AC08091DB01811106C08091DC01811161 +:1040D00002C01092D701089588ED91E00E94C010AF +:1040E0000E94D31C9093D5018093D40108951F930F +:1040F000CF93DF938091D4019091D5010E94DF1C72 +:10410000AC019091D701992321F02091140130E066 +:1041100006C0209115018AE0289F900111244217C2 +:10412000530708F486C08091D901C091DA01D0917B +:10413000DB011091DC01811107C0C11176C0D111E2 +:1041400074C0111172C075C09F3F19F09F5F9093AA +:10415000D701181624F40E94FD1E8093D901809186 +:10416000D90187FF05C00E94FD1E81958093D9016A +:104170001C1624F40E94FD1E8093DA018091DA015E +:1041800087FF05C00E94FD1E81958093DA01609132 +:10419000D901662339F1C091DA01CC2319F17727CF +:1041A00067FD7095872F972F0E94EA2323E333E35F +:1041B00043E35FE30E944E240E94B7236093D9013A +:1041C0006C2F772767FD7095872F972F0E94EA2322 +:1041D00023E333E343E35FE30E944E240E94B723CB +:1041E0006093DA011D1624F40E94461F8093DB01C0 +:1041F0008091DB0187FF05C00E94461F8195809357 +:10420000DB01111624F40E94461F8093DC0180918B +:10421000DC0187FF05C00E94461F81958093DC0169 +:10422000DF91CF911F910C946C209F3F09F08ECFAE +:1042300096CFDF91CF911F910895E8EDF1E085E0F1 +:10424000DF011D928A95E9F71092D7011092D601ED +:104250000895833081F128F4813059F08230D1F013 +:104260000895853009F449C0B8F1863009F456C084 +:10427000089580911501262F30E0280F311D2F3F22 +:10428000310524F4680F6093150108958FEF809332 +:104290001501089580911401262F30E0280F311D5B +:1042A0002F3F310524F4680F6093140108958FEFB8 +:1042B00080931401089580911301262F30E0280F78 +:1042C000311D2F3F310524F4680F609313010895C9 +:1042D0008FEF80931301089580911201262F30E013 +:1042E000280F311D2F3F310524F4680F6093120110 +:1042F00008958FEF80931201089580911101262F68 +:1043000030E0280F311D2F3F310524F4680F6093F2 +:10431000110108958FEF809311010895809110018C +:10432000262F30E0280F311D2F3F310524F4680F70 +:104330006093100108958FEF8093100108958330EA +:1043400011F128F4813049F0823091F008958530E0 +:1043500081F120F18630C1F108958091150168172F +:1043600020F4861B8093150108951092150108957D +:1043700080911401681720F4861B8093140108951E +:1043800010921401089580911301681720F4861B80 +:1043900080931301089510921301089580911201E2 +:1043A000681720F4861B8093120108951092120161 +:1043B000089580911101681720F4861B80931101E4 +:1043C000089510921101089580911001681720F44A +:1043D000861B8093100108951092100108950F9389 +:1043E0001F938D3109F46BC008F03FC08E3009F483 +:1043F0007DC0C0F4873009F46EC068F4863009F0DF +:10440000AFC08091CE01817F8E7F8093CE0181E00D +:104410008093DE01A6C0883009F458C08B3009F4BF +:104420009BC09EC0863109F497C078F4803109F4AE +:1044300070C0813109F094C00E941F1690910D0147 +:1044400081E0892780930D0187C0893109F484C0F8 +:104450008B3109F085C08091CE0181FB222720F9A4 +:1044600091E0922790FB81F94AC0853309F45BC043 +:1044700048F4873209F457C008F45AC0893209F465 +:1044800052C06EC0833438F48A3308F067C0883372 +:1044900009F462C065C0833409F445C0883409F06A +:1044A0005FC00E941F160FEF13ED20E30150104074 +:1044B0002040E1F700C000000E942E1D4DC00E9468 +:1044C00071230E94A9100E94A20946C00E94E21E08 +:1044D0000E94F41E41C09091CE01892F817090FFFF +:1044E00012C0917F9E7F9093CE013BC08091CE0100 +:1044F00082FB222720F991E0922790FB82F980939A +:10450000CE01992349F18091CE0181608093CE0143 +:1045100023C08091CE0183FB222720F991E09227CE +:1045200090FB83F9ECCF61E070E080E090E010C098 +:104530008D5141E050E060E070E08A019B0104C0D1 +:10454000000F111F221F331F8A95D2F7C901B8012E +:104550000E94DB190E941F1681E003C08953E9CF36 +:1045600080E01F910F91089580E0089580E0089504 +:10457000CF93C82F8091DE01813079F018F082301E +:10458000E9F187C0E0910E01F0910F018081813146 +:1045900069F0823209F07FC009C0E0910E01F0910C +:1045A0000F018081813111F0823261F48C2F0E94E1 +:1045B000B422811104C08C2F0E94EF211DC081E024 +:1045C00090E01AC08C2F0E94B622811114C0C43111 +:1045D00079F048F4CB3079F0C03109F060C082E066 +:1045E0008093DE0108C0C93219F0C83321F057C0EA +:1045F0001092DE0154C081E0817053C0C93289F14C +:1046000018F5C43171F1A8F4C73009F046C08AE04A +:104610008093150194E19093140193E0909313011A +:104620008093120188E08093110188E28093100149 +:1046300034C0CE51C63088F5EC2FF0E0E65DFE4F79 +:1046400080818093DD0129C0CE34E9F020F4CB34A1 +:1046500021F56AE013C0C13579F0C235F1F461E0AB +:104660000DC08091DD01882319F01092DD0115C085 +:1046700081E08093DE0115C061E006C08091DD011C +:104680000E9429210AC06AE08091DD010E949F21D9 +:1046900004C01092DE0180E004C081E002C080E02E +:1046A000ABCFCF910895E1E8F0E08081886080830E +:1046B0008081816080838FB7F89493E09093890024 +:1046C00090ED909388008FBF0895EFE6F0E0808131 +:1046D000826080830895EFE6F0E080818D7F8083A3 +:1046E0000895EFE6F0E0908182E0892780830895C5 +:1046F0001F920F920FB60F9211242F933F934F9357 +:104700005F936F937F938F939F93AF93BF93EF9339 +:10471000FF938091DF019091E00101969093E00179 +:104720008093DF01811103C082E00E94A209E09121 +:10473000E001E695E695F0E0E156F84FE4918091CE +:10474000DF018E1303C080E00E94A209FF91EF9168 +:10475000BF91AF919F918F917F916F915F914F9199 +:104760003F912F910F900FBE0F901F90189504D07E +:104770006894B1118DC0089570D088F09F5790F063 +:10478000B92F9927B751A0F0D1F0660F771F881F76 +:10479000991F1AF0BA95C9F712C0B13081F077D0DD +:1047A000B1E0089574C0672F782F8827B85F39F07B +:1047B000B93FCCF3869577956795B395D9F73EF4D5 +:1047C00090958095709561957F4F8F4F9F4F08957D +:1047D000E89409C097FB3EF490958095709561959B +:1047E0007F4F8F4F9F4F9923A9F0F92F96E9BB2751 +:1047F0009395F695879577956795B795F111F8CFCD +:10480000FAF4BB0F11F460FF1BC06F5F7F4F8F4F37 +:104810009F4F16C0882311F096E911C0772321F02D +:104820009EE8872F762F05C0662371F096E8862FC5 +:1048300070E060E02AF09A95660F771F881FDAF71C +:10484000880F9695879597F9089557FD9058440FCE +:10485000551F59F05F3F71F04795880F97FB991FDF +:1048600061F09F3F79F0879508951216130614069C +:10487000551FF2CF4695F1DF08C016161706180629 +:10488000991FF1CF86957105610508940895E89404 +:10489000BB2766277727CB0197F908950BD078C0FF +:1048A00069D028F06ED018F0952309F05AC05FC087 +:1048B0001124EECFCADFA0F3959FD1F3950F50E0FE +:1048C000551F629FF001729FBB27F00DB11D639FC2 +:1048D000AA27F00DB11DAA1F649F6627B00DA11D68 +:1048E000661F829F2227B00DA11D621F739FB00D0E +:1048F000A11D621F839FA00D611D221F749F33277E +:10490000A00D611D231F849F600D211D822F762F16 +:104910006A2F11249F5750408AF0E1F088234AF013 +:10492000EE0FFF1FBB1F661F771F881F915050405F +:10493000A9F79E3F510570F014C0AACF5F3FECF37A +:10494000983EDCF3869577956795B795F795E7954B +:104950009F5FC1F7FE2B880F911D9695879597F95C +:10496000089597F99F6780E870E060E008959FEFF1 +:1049700080EC089500240A941616170618060906F6 +:10498000089500240A9412161306140605060895C5 +:10499000092E0394000C11F4882352F0BB0F40F44D +:1049A000BF2B11F460FF04C06F5F7F4F8F4F9F4F8D +:1049B000089597FB072E16F4009407D077FD09D0D1 +:1049C0000E94F32407FC05D03EF4909581959F4FFB +:1049D0000895709561957F4F0895EE0FFF1F059024 +:1049E000F491E02D0994AA1BBB1B51E107C0AA1F3B +:1049F000BB1FA617B70710F0A61BB70B881F991F80 +:104A00005A95A9F780959095BC01CD010895F99923 +:104A1000FECF92BD81BDF89A992780B50895A8E18F +:104A2000B0E042E050E00C942A25262FF999FECF01 +:104A30001FBA92BD81BD20BD0FB6F894FA9AF99ABB +:104A40000FBE019608950E941525272F0C94162558 +:104A5000DC01CB01FC01F999FECF06C0F2BDE1BD3E +:104A6000F89A319600B40D9241505040B8F708952D +:044A7000F894FFCFE8 +:104A74002002A409320A0F0ADB09A7090101BC01BB +:104A840028080A03140A3F4D363960071307DD0668 +:104A9400A4063706500669068206010203040506C9 +:044AA40007080900F6 :00000001FF -- cgit v1.2.1 From 20a3229faf12d964403becf210bf7ba280ca2e49 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Sun, 27 Mar 2016 02:22:41 +0000 Subject: Add manuneo layout --- .../keymaps/german-manuneo/compile_keymap.py | 418 +++++++ .../ergodox_ez/keymaps/german-manuneo/keymap.c | 1278 ++++++++++++++++++++ .../ergodox_ez/keymaps/german-manuneo/keymap.md | 222 ++++ 3 files changed, 1918 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py create mode 100644 keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c create mode 100644 keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py new file mode 100644 index 0000000000..3bbb9340b2 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -0,0 +1,418 @@ +# encoding: utf-8 +from __future__ import division +from __future__ import print_function +from __future__ import absolute_import +from __future__ import unicode_literals + +import os +import io +import re +import sys +import json +import unicodedata +import collections + +PY2 = sys.version_info.major == 2 + +if PY2: + chr = unichr + + +ONELINE_COMMENT_RE = re.compile(r"^\s*//.*$", re.MULTILINE) +INLINE_COMMENT_RE = re.compile( + r"([\,\"\[\]\{\}\d])\s+//\s[^\"\]\}\{\[]*$", re.MULTILINE +) +TRAILING_COMMA_RE = re.compile( + r",$\s*([\]\}])", re.MULTILINE +) + +def loads(raw_data): + if isinstance(raw_data, bytes): + raw_data = raw_data.decode('utf-8') + raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data) + raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data) + raw_data = TRAILING_COMMA_RE.sub(r"\1", raw_data) + return json.loads(raw_data) + +with io.open("keymap.md", encoding="utf-8") as fh: + lines = fh.readlines() + +SECTIONS = [ + 'layout_config', + 'layers', +] + +config = { + "includes_basedir": "quantum/", + "keymaps_includes": [ + "keymap_common.h", + ], + 'filler': "-+.':x", + 'separator': "|", + 'default_key_prefix': ["KC_"], + 'unicode_macros': [], + 'macro_ids': ['UMS'], + 'layers': collections.OrderedDict(), + 'layer_lines': collections.OrderedDict(), +} + +section_start_index = -1 +current_section = None +current_layer_name = None +current_layer_lines = [] +config_data = [] + +def end_section(): + global section_start_index + global current_layer_lines + section_start_index = -1 + if current_section == 'layout_config': + config.update(loads("".join( + config_data + ))) + elif current_section == 'layers': + config['layer_lines'][current_layer_name] = current_layer_lines + current_layer_lines = [] + + +for i, line in enumerate(lines): + if line.startswith("# "): + section = line[2:].strip().replace(" ", "_").lower() + if section in SECTIONS: + current_section = section + elif line.startswith("## "): + sub_section = line[3:] + if current_section == 'layers': + current_layer_name = sub_section.strip() + # TODO: parse descriptio + config['layers'][current_layer_name] = "" + elif line.startswith(" "): + if section_start_index < 0: + section_start_index = i + if current_section == 'layout_config': + config_data.append(line) + elif current_section == 'layers': + if not line.strip(): + continue + current_layer_lines.append(line) + elif section_start_index > 0: + end_section() + +end_section() + +KEYDEF_RE = re.compile(r"#define ((?:{})(?:\w+))".format( + "|".join(config['key_prefixes']) +)) +IF0_RE = re.compile(r"^#if 0$.*?#endif", re.MULTILINE | re.DOTALL) +COMMENT_RE = re.compile(r"/\*.*?\*/", re.MULTILINE | re.DOTALL) +ENUM_RE = re.compile(r"(enum\s\w+\s\{.*?\};)", re.MULTILINE | re.DOTALL) +ENUM_KEY_RE = re.compile(r"({}\w+)".format( + "|".join(config['key_prefixes']) +)) + +def parse_keydefs(path): + with io.open(path, encoding="utf-8") as fh: + data = fh.read() + data, _ = COMMENT_RE.subn("", data) + data, _ = IF0_RE.subn("", data) + + for match in KEYDEF_RE.finditer(data): + yield match.groups()[0] + + for enum_match in ENUM_RE.finditer(data): + enum = enum_match.groups()[0] + for key_match in ENUM_KEY_RE.finditer(enum): + yield key_match.groups()[0] + +valid_keycodes = set() +basepath = os.path.abspath(os.path.join( + os.path.dirname(__file__), "..", "..", "..", ".." +)) + +valid_keycodes.update(parse_keydefs(os.path.join( + basepath, "tmk_core", "common", "keycode.h" +))) + +for include_path in config['keymaps_includes']: + path = os.path.join(basepath, config['includes_dir'], include_path) + path = path.replace("/", os.sep) + if os.path.exists(path): + valid_keycodes.update(parse_keydefs(path)) + +LAYER_CHANGE_RE = re.compile(r"(DF|TG|MO)\(\d+\)") +MACRO_RE = re.compile(r"M\(\w+\)") +UNICODE_RE = re.compile(r"U[0-9A-F]{4}") +NON_CODE = re.compile(r"^[^A-Z0-9_]$") + + +def UNICODE_MACRO(config, c): + # TODO: don't use macro for codepoints below 0x2000 + macro_id = "UC_" + ( + unicodedata.name(c) + .replace(" ", "_") + .replace("-", "_") + .replace("SUPERSCRIPT_", "SUP_") + .replace("SUBSCRIPT_", "SUB_") + .replace("GREEK_SMALL_LETTER", "GR_LC") + .replace("GREEK_CAPITAL_LETTER", "GR_UC") + .replace("VULGAR_FRACTION_", "FR_") + ) + if macro_id not in config['macro_ids']: + config['macro_ids'].append(macro_id) + code = "{:04X}".format(ord(c)) + if (macro_id, code) not in config['unicode_macros']: + config['unicode_macros'].append((macro_id, code)) + return "M({})".format(macro_id) + + +def MACRO(config, code): + macro_id = code[2:-1] + if macro_id not in config['macro_ids']: + config['macro_ids'].append(macro_id) + return code + +# TODO: presumably we can have a macro or function which takes +# the hex code and produces much smaller code. + +WIN_UNICODE_MACRO_TEMPLATE = """ +case {0}: + return MACRODOWN( + D(LALT), T(KP_PLUS), {1}, U(LALT), END + ); +""" + +LINUX_UNICODE_MACRO_TEMPLATE = """ +case {0}: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), {1}, T(KP_ENTER), END + ); +""" + +def macro_cases(config, mode): + if mode == 'win': + template = WIN_UNICODE_MACRO_TEMPLATE + elif mode == 'linux': + template = LINUX_UNICODE_MACRO_TEMPLATE + else: + raise ValueError("Invalid mode: ", mode) + template = template.strip() + + for macro_id, unimacro_chars in config['unicode_macros']: + unimacro_keys = ", ".join( + "T({})".format( + "KP_" + char if char.isdigit() else char + ) for char in unimacro_chars + ) + yield template.format(macro_id, unimacro_keys) + + +MACROCODE = """ +#define UC_MODE_WIN 0 +#define UC_MODE_LINUX 1 + +static uint16_t unicode_mode = UC_MODE_WIN; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ + if (!record->event.pressed) {{ + return MACRO_NONE; + }} + // MACRODOWN only works in this function + switch(id) {{ + case UMS: + unicode_mode = (unicode_mode + 1) % 2; + break; + {macro_cases} + default: + break; + }} + if (unicode_mode == UC_MODE_WIN) {{ + switch(id) {{ + {win_macro_cases} + default: + break; + }} + }} else if (unicode_mode == UC_MODE_LINUX) {{ + switch(id) {{ + {linux_macro_cases} + default: + break; + }} + }} + return MACRO_NONE; +}}; +""" + + +def iter_keycodes(layer_lines, config): + filler_re = re.compile("[" + + config['filler'] + " " + + "]") + + all_codes = [] + for line in layer_lines: + line, _ = filler_re.subn("", line.strip()) + if not line: + continue + codes = line.split(config['separator']) + all_codes.extend(codes[1:-1]) + + key_groups = {} + for group_index, key_indexes in enumerate(config['keymap_indexes']): + for key_index in key_indexes: + key_groups[key_index] = group_index + + keymap_indexes = sum(config['keymap_indexes'], []) + assert len(all_codes) == len(keymap_indexes) + code_index_pairs = zip(all_codes, keymap_indexes) + prev_index = None + for i, (code, key_index) in enumerate(code_index_pairs): + code = code.strip() + layer_match = LAYER_CHANGE_RE.match(code) + unicode_match = UNICODE_RE.match(code) + noncode_match = NON_CODE.match(code) + macro_match = MACRO_RE.match(code) + + ws = "\n" if key_groups[key_index] != prev_index else "" + prev_index = key_groups[key_index] + + try: + if not code: + code = 'KC_TRNS' + elif layer_match: + pass + elif macro_match: + code = MACRO(config, code) + elif unicode_match: + hex_code = code[1:] + code = UNICODE_MACRO(config, chr(int(hex_code, 16))) + elif noncode_match: + code = UNICODE_MACRO(config, code) + elif "_" in code: + assert code in valid_keycodes, "unknown code '{}'".format(code) + else: + for prefix in config['key_prefixes']: + if prefix + code in valid_keycodes: + code = prefix + code + break + assert code in valid_keycodes, "unknown code '{}'".format(code) + yield code, key_index, ws + except AssertionError: + print("Error processing code", repr(code).encode("utf-8")) + raise + +USERCODE = """ +// 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 L1: + ergodox_right_led_1_on(); + break; + case L2: + ergodox_right_led_2_on(); + break; + case L3: + ergodox_right_led_3_on(); + break; + case L4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + break; + case L5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + break; + // case L6: + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + // case L7: + // ergodox_right_led_1_on(); + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + default: + ergodox_board_led_off(); + break; + } +}; +""" + +def parse_keymaps(config): + keymaps = {} + layer_line_items = config['layer_lines'].items() + for i, (layer_name, layer_lines) in enumerate(layer_line_items): + print("parseing layer", layer_name) + keymap = {} + for code, key_index, ws in iter_keycodes(layer_lines, config): + keymap[key_index] = (code, ws) + keymaps[layer_name] = [v for k, v in sorted(keymap.items())] + return keymaps + + +def iter_keymap_lines(config, keymaps): + for include_path in config['keymaps_includes']: + yield '#include "{}"\n'.format(include_path) + + yield "\n" + + layer_items = config['layers'].items() + for i, (layer_name, description) in enumerate(layer_items): + yield '#define L{0:<3} {0:<5} // {1}\n'.format(i, layer_name) + + for i, macro_id in enumerate(config['macro_ids']): + yield "#define {} {}\n".format(macro_id, i) + + yield "\n" + + yield "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n" + + layer_line_items = config['layer_lines'].items() + last_index = config['keymap_indexes'][-1] + for i, (layer_name, layer_lines) in enumerate(layer_line_items): + keymap = keymaps[layer_name] + yield "/*\n" + for line in layer_lines: + yield " *{}".format(line) + yield "*/\n" + + yield "[L{0}] = KEYMAP(\n".format(i) + + for key_index, (code, ws) in enumerate(keymap): + yield "\t{}".format(code) + if key_index < len(keymap) - 1: + yield "," + yield ws + yield "),\n" + + yield "};\n\n" + + yield "const uint16_t PROGMEM fn_actions[] = {\n" + yield "};\n" + + yield MACROCODE.format( + macro_cases="", + win_macro_cases="\n".join(macro_cases(config, mode='win')), + linux_macro_cases="\n".join(macro_cases(config, mode='linux')), + ) + + yield USERCODE + + +with io.open("keymap.c", mode="w", encoding="utf-8") as fh: + for data in iter_keymap_lines(config, parse_keymaps(config)): + fh.write(data) + + +# print("\n".join(sorted(valid_keycodes))) +# print(json.dumps(config, indent=4)) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c new file mode 100644 index 0000000000..400ad6fcf8 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c @@ -0,0 +1,1278 @@ +#include "ergodox_ez.h" +#include "action_layer.h" +#include "keymap_common.h" +#include "keymap_extras/keymap_german.h" + +#define L0 0 // Layer 0 +#define L1 1 // Layer 1 +#define L2 2 // Layer 2 +#define L3 3 // Layer 3 +#define L4 4 // Layer 4 +#define L5 5 // Layer 5 +#define L6 6 // Layer 6 +#define L7 7 // Layer 7 +#define L8 8 // Layer 8 +#define UMS 0 +#define UC_UPWARDS_ARROW 1 +#define UC_LEFTWARDS_ARROW 2 +#define UC_DOWNWARDS_ARROW 3 +#define UC_RIGHTWARDS_ARROW 4 +#define UC_SUP_ONE 5 +#define UC_SUP_TWO 6 +#define UC_SUP_THREE 7 +#define UC_SUP_FOUR 8 +#define UC_SUP_FIVE 9 +#define UC_FOR_ALL 10 +#define UC_SUP_SIX 11 +#define UC_SUP_SEVEN 12 +#define UC_SUP_EIGHT 13 +#define UC_SUP_NINE 14 +#define UC_SUP_ZERO 15 +#define UC_MULTIPLICATION_SIGN 16 +#define UC_FR_ONE_HALF 17 +#define UC_DIVISION_SIGN 18 +#define UC_FR_ONE_QUARTER 19 +#define UC_FR_ONE_FIFTH 20 +#define UC_FR_ONE_SIXTH 21 +#define UC_FR_ONE_EIGHTH 22 +#define UC_PLUS_MINUS_SIGN 23 +#define UC_EMPTY_SET 24 +#define UC_INFINITY 25 +#define UC_SUP_LATIN_SMALL_LETTER_N 26 +#define UC_THERE_EXISTS 27 +#define UC_ELEMENT_OF 28 +#define UC_FR_ONE_THIRD 29 +#define UC_NOT_EQUAL_TO 30 +#define UC_FR_TWO_THIRDS 31 +#define UC_FR_THREE_QUARTERS 32 +#define UC_ASYMPTOTICALLY_EQUAL_TO 33 +#define UC_THERE_DOES_NOT_EXIST 34 +#define UC_NOT_AN_ELEMENT_OF 35 +#define UC_SUB_ONE 36 +#define UC_SUB_TWO 37 +#define UC_SUB_THREE 38 +#define UC_SUB_FOUR 39 +#define UC_SUB_FIVE 40 +#define UC_SUB_SIX 41 +#define UC_SUB_SEVEN 42 +#define UC_SUB_EIGHT 43 +#define UC_SUB_NINE 44 +#define UC_SUB_ZERO 45 +#define UC_GR_LC_CHI 46 +#define UC_GR_LC_PI 47 +#define UC_GR_LC_PHI 48 +#define UC_GR_LC_OMEGA 49 +#define UC_GR_LC_GAMMA 50 +#define UC_GR_LC_ETA 51 +#define UC_GR_LC_XI 52 +#define UC_GR_LC_KAPPA 53 +#define UC_GR_LC_LAMDA 54 +#define UC_GR_LC_ZETA 55 +#define UC_GR_LC_UPSILON 56 +#define UC_GR_LC_IOTA 57 +#define UC_GR_LC_ALPHA 58 +#define UC_GR_LC_EPSILON 59 +#define UC_GR_LC_OMICRON 60 +#define UC_GR_LC_SIGMA 61 +#define UC_GR_LC_NU 62 +#define UC_GR_LC_RHO 63 +#define UC_GR_LC_TAU 64 +#define UC_GR_LC_DELTA 65 +#define UC_GR_LC_FINAL_SIGMA 66 +#define UC_GR_LC_THETA 67 +#define UC_GR_LC_BETA 68 +#define UC_GR_LC_MU 69 +#define UC_GR_LC_PSI 70 +#define UC_GR_UC_CHI 71 +#define UC_GR_UC_PI 72 +#define UC_GR_UC_PHI 73 +#define UC_GR_UC_OMEGA 74 +#define UC_GR_UC_GAMMA 75 +#define UC_GR_UC_ETA 76 +#define UC_GR_UC_XI 77 +#define UC_GR_UC_KAPPA 78 +#define UC_GR_UC_LAMDA 79 +#define UC_GR_UC_ZETA 80 +#define UC_GR_UC_UPSILON 81 +#define UC_GR_UC_IOTA 82 +#define UC_GR_UC_ALPHA 83 +#define UC_GR_UC_EPSILON 84 +#define UC_GR_UC_OMICRON 85 +#define UC_GR_UC_SIGMA 86 +#define UC_GR_UC_NU 87 +#define UC_GR_UC_RHO 88 +#define UC_GR_UC_TAU 89 +#define UC_GR_UC_DELTA 90 +#define UC_GR_UC_THETA 91 +#define UC_GR_UC_BETA 92 +#define UC_GR_UC_MU 93 +#define UC_GR_UC_PSI 94 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * .-------------------------------------. .-------------------------------------. + * |MO(5)| 1 | 2 | 3 | 4 | 5 | ACUT | ! GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * |MO(4)| X | P | F | W | G | HOME | !TG(2) | H | J | K | L | Q | Z | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * |MO(1)| U | I | A | E | O |------! !------! S | N | R | T | D | SS | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * |MO(3)| UE | OE | AE | C | V | END | ! TAB | B | M |COMM| DOT| UP | Y | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + * '------------------------'.-------------. .-------------.'------------------------' + * | INS |TG(2) | !M(UMS)| DELT | + * .------+------+------! !------+------+------. + * ! ! | APP | ! PGUP | ! ! + * ! ! !------! !------! ! ! + * | BSPC | LSFT | ESC | ! PGDN |ENTER |SPACE | + * '--------------------' '--------------------' +*/ +[L0] = KEYMAP( + MO(5), + DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, MO(4), + DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, MO(1), + DE_U, DE_I, DE_A, DE_E, DE_O, MO(3), + DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, KC_TRNS, + KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, KC_INS, + TG(2), KC_APP, + KC_BSPC, + KC_LSFT, KC_ESC, DE_GRV, + DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, TG(2), + DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, DE_S, + DE_N, DE_R, DE_T, DE_D, DE_SS, KC_TAB, + DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, KC_LALT, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, M(UMS), + KC_DELT, KC_PGUP, + KC_PGDN, + KC_ENTER, KC_SPACE), +/* + * .-------------------------------------. .-------------------------------------. + * | |EXLM|DQOT|PARA| | | | ! | | | | |RING| | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | |ASTR|PIPE|SLSH|LCBR|RCBR| | ! |HASH|LESS|MORE| |DQOT| | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | |UNDS|MINS|AMPR|LBRC|RBRC|------! !------!DLR |LPRN|RPRN|TILD|QUOT|QST | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | |PLUS| EQL| | | | ! |BSLS|PERC|SCLN|COLN| ↑ | | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | ← | ↓ | → | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L1] = KEYMAP( + KC_TRNS, + DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, KC_TRNS, + DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, KC_TRNS, + KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, KC_TRNS, + DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, DE_DLR, + DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, KC_TRNS, + DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F11 | ! F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | | | | | | | ! | | P7 | P8 | P9 |PAST|PSLS | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | |------! !------! | P4 | P5 | P6 |PMNS|PMNS | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | | | ! NLCK | | P1 | P2 | P3 |PPLS|PPLS | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L2] = KEYMAP( + KC_TRNS, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_F12, + KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, KC_TRNS, + KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, KC_TRNS, + KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, KC_NLCK, + KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, KC_P0, + KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | ! | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | × | ½ | ÷ | ¼ | ⅕ | | ! | ⅙ | | ⅛ | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | ± | AT |EURO| ∅ |------! !------! ∞ | ⁿ | ∃ | ∈ | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | ! |EXLM| | ∄ | ∉ | | | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L3] = KEYMAP( + KC_TRNS, + M(UC_SUP_ONE), M(UC_SUP_TWO), M(UC_SUP_THREE), M(UC_SUP_FOUR), M(UC_SUP_FIVE), M(UC_FOR_ALL), KC_TRNS, + M(UC_MULTIPLICATION_SIGN), M(UC_FR_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_FR_ONE_QUARTER), M(UC_FR_ONE_FIFTH), KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), KC_TRNS, + M(UC_FR_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_FR_TWO_THIRDS), M(UC_FR_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + M(UC_SUP_SIX), M(UC_SUP_SEVEN), M(UC_SUP_EIGHT), M(UC_SUP_NINE), M(UC_SUP_ZERO), KC_TRNS, KC_TRNS, + M(UC_FR_ONE_SIXTH), KC_TRNS, M(UC_FR_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_INFINITY), + M(UC_SUP_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, KC_TRNS, + DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | ₁ | ₂ | ₃ | ₄ | ₅ | | ! | ₆ | ₇ | ₈ | ₉ | ₀ | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | χ | π | φ | ω | γ | | ! | η | ξ | κ | λ | | ζ | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | υ | ι | α | ε | ο |------! !------! σ | ν | ρ | τ | δ | ς | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | θ | | | | | ! | β | μ | | | | ψ | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L4] = KEYMAP( + KC_TRNS, + M(UC_SUB_ONE), M(UC_SUB_TWO), M(UC_SUB_THREE), M(UC_SUB_FOUR), M(UC_SUB_FIVE), KC_TRNS, KC_TRNS, + M(UC_GR_LC_CHI), M(UC_GR_LC_PI), M(UC_GR_LC_PHI), M(UC_GR_LC_OMEGA), M(UC_GR_LC_GAMMA), KC_TRNS, KC_TRNS, + M(UC_GR_LC_UPSILON), M(UC_GR_LC_IOTA), M(UC_GR_LC_ALPHA), M(UC_GR_LC_EPSILON), M(UC_GR_LC_OMICRON), KC_TRNS, + KC_TRNS, M(UC_GR_LC_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + M(UC_SUB_SIX), M(UC_SUB_SEVEN), M(UC_SUB_EIGHT), M(UC_SUB_NINE), M(UC_SUB_ZERO), KC_TRNS, KC_TRNS, + M(UC_GR_LC_ETA), M(UC_GR_LC_XI), M(UC_GR_LC_KAPPA), M(UC_GR_LC_LAMDA), KC_TRNS, M(UC_GR_LC_ZETA), M(UC_GR_LC_SIGMA), + M(UC_GR_LC_NU), M(UC_GR_LC_RHO), M(UC_GR_LC_TAU), M(UC_GR_LC_DELTA), M(UC_GR_LC_FINAL_SIGMA), KC_TRNS, + M(UC_GR_LC_BETA), M(UC_GR_LC_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GR_LC_PSI), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | Χ | Π | Φ | Ω | Γ | | ! | Η | Ξ | Κ | Λ | | Ζ | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | Υ | Ι | Α | Ε | Ο |------! !------! Σ | Ν | Ρ | Τ | Δ | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | Θ | | | | | ! | Β | Μ | | | | Ψ | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L5] = KEYMAP( + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + M(UC_GR_UC_CHI), M(UC_GR_UC_PI), M(UC_GR_UC_PHI), M(UC_GR_UC_OMEGA), M(UC_GR_UC_GAMMA), KC_TRNS, KC_TRNS, + M(UC_GR_UC_UPSILON), M(UC_GR_UC_IOTA), M(UC_GR_UC_ALPHA), M(UC_GR_UC_EPSILON), M(UC_GR_UC_OMICRON), KC_TRNS, + KC_TRNS, M(UC_GR_UC_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + M(UC_GR_UC_ETA), M(UC_GR_UC_XI), M(UC_GR_UC_KAPPA), M(UC_GR_UC_LAMDA), KC_TRNS, M(UC_GR_UC_ZETA), M(UC_GR_UC_SIGMA), + M(UC_GR_UC_NU), M(UC_GR_UC_RHO), M(UC_GR_UC_TAU), M(UC_GR_UC_DELTA), KC_TRNS, KC_TRNS, + M(UC_GR_UC_BETA), M(UC_GR_UC_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GR_UC_PSI), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | |------! !------! | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L6] = KEYMAP( + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | |------! !------! | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L7] = KEYMAP( + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +/* + * .-------------------------------------. .-------------------------------------. + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | |------! !------! | | | | | | + * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + * | | | | | | | | ! | | | | | | | + * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------'.-------------. .-------------.'------------------------' + * | | | ! | | + * .------+------+------! !------+------+------. + * ! ! | | ! | ! ! + * ! ! !------! !------! ! ! + * | | | | ! | | | + * '--------------------' '--------------------' +*/ +[L8] = KEYMAP( + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { +}; + +#define UC_MODE_WIN 0 +#define UC_MODE_LINUX 1 + +static uint16_t unicode_mode = UC_MODE_WIN; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (!record->event.pressed) { + return MACRO_NONE; + } + // MACRODOWN only works in this function + switch(id) { + case UMS: + unicode_mode = (unicode_mode + 1) % 2; + break; + + default: + break; + } + if (unicode_mode == UC_MODE_WIN) { + switch(id) { + case UC_UPWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_1), U(LALT), END + ); +case UC_LEFTWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_0), U(LALT), END + ); +case UC_DOWNWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_3), U(LALT), END + ); +case UC_RIGHTWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_2), U(LALT), END + ); +case UC_SUP_ONE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_9), U(LALT), END + ); +case UC_SUP_TWO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_2), U(LALT), END + ); +case UC_SUP_THREE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_3), U(LALT), END + ); +case UC_SUP_FOUR: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_4), U(LALT), END + ); +case UC_SUP_FIVE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_5), U(LALT), END + ); +case UC_FOR_ALL: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_0), U(LALT), END + ); +case UC_SUP_SIX: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_6), U(LALT), END + ); +case UC_SUP_SEVEN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_7), U(LALT), END + ); +case UC_SUP_EIGHT: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_8), U(LALT), END + ); +case UC_SUP_NINE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_9), U(LALT), END + ); +case UC_SUP_ZERO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_0), U(LALT), END + ); +case UC_MULTIPLICATION_SIGN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(D), T(KP_7), U(LALT), END + ); +case UC_FR_ONE_HALF: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(D), U(LALT), END + ); +case UC_DIVISION_SIGN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(F), T(KP_7), U(LALT), END + ); +case UC_FR_ONE_QUARTER: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(C), U(LALT), END + ); +case UC_FR_ONE_FIFTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_5), U(LALT), END + ); +case UC_FR_ONE_SIXTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_9), U(LALT), END + ); +case UC_FR_ONE_EIGHTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(B), U(LALT), END + ); +case UC_PLUS_MINUS_SIGN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_1), U(LALT), END + ); +case UC_EMPTY_SET: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_5), U(LALT), END + ); +case UC_INFINITY: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_1), T(E), U(LALT), END + ); +case UC_SUP_LATIN_SMALL_LETTER_N: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(F), U(LALT), END + ); +case UC_THERE_EXISTS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_3), U(LALT), END + ); +case UC_ELEMENT_OF: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_8), U(LALT), END + ); +case UC_FR_ONE_THIRD: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_3), U(LALT), END + ); +case UC_NOT_EQUAL_TO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_6), T(KP_0), U(LALT), END + ); +case UC_FR_TWO_THIRDS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_4), U(LALT), END + ); +case UC_FR_THREE_QUARTERS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(E), U(LALT), END + ); +case UC_ASYMPTOTICALLY_EQUAL_TO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_4), T(KP_3), U(LALT), END + ); +case UC_THERE_DOES_NOT_EXIST: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_4), U(LALT), END + ); +case UC_NOT_AN_ELEMENT_OF: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_9), U(LALT), END + ); +case UC_SUB_ONE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_1), U(LALT), END + ); +case UC_SUB_TWO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_2), U(LALT), END + ); +case UC_SUB_THREE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_3), U(LALT), END + ); +case UC_SUB_FOUR: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_4), U(LALT), END + ); +case UC_SUB_FIVE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_5), U(LALT), END + ); +case UC_SUB_SIX: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_6), U(LALT), END + ); +case UC_SUB_SEVEN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_7), U(LALT), END + ); +case UC_SUB_EIGHT: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_8), U(LALT), END + ); +case UC_SUB_NINE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_9), U(LALT), END + ); +case UC_SUB_ZERO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_0), U(LALT), END + ); +case UC_GR_LC_CHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_7), U(LALT), END + ); +case UC_GR_LC_PI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_0), U(LALT), END + ); +case UC_GR_LC_PHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_6), U(LALT), END + ); +case UC_GR_LC_OMEGA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_9), U(LALT), END + ); +case UC_GR_LC_GAMMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_3), U(LALT), END + ); +case UC_GR_LC_ETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_7), U(LALT), END + ); +case UC_GR_LC_XI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(E), U(LALT), END + ); +case UC_GR_LC_KAPPA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(A), U(LALT), END + ); +case UC_GR_LC_LAMDA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(B), U(LALT), END + ); +case UC_GR_LC_ZETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_6), U(LALT), END + ); +case UC_GR_LC_UPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_5), U(LALT), END + ); +case UC_GR_LC_IOTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_9), U(LALT), END + ); +case UC_GR_LC_ALPHA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_1), U(LALT), END + ); +case UC_GR_LC_EPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_5), U(LALT), END + ); +case UC_GR_LC_OMICRON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(F), U(LALT), END + ); +case UC_GR_LC_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_3), U(LALT), END + ); +case UC_GR_LC_NU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(D), U(LALT), END + ); +case UC_GR_LC_RHO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_1), U(LALT), END + ); +case UC_GR_LC_TAU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_4), U(LALT), END + ); +case UC_GR_LC_DELTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_4), U(LALT), END + ); +case UC_GR_LC_FINAL_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_2), U(LALT), END + ); +case UC_GR_LC_THETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_8), U(LALT), END + ); +case UC_GR_LC_BETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_2), U(LALT), END + ); +case UC_GR_LC_MU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(C), U(LALT), END + ); +case UC_GR_LC_PSI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_8), U(LALT), END + ); +case UC_GR_UC_CHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_7), U(LALT), END + ); +case UC_GR_UC_PI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_0), U(LALT), END + ); +case UC_GR_UC_PHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_6), U(LALT), END + ); +case UC_GR_UC_OMEGA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_9), U(LALT), END + ); +case UC_GR_UC_GAMMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_3), U(LALT), END + ); +case UC_GR_UC_ETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_7), U(LALT), END + ); +case UC_GR_UC_XI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(E), U(LALT), END + ); +case UC_GR_UC_KAPPA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(A), U(LALT), END + ); +case UC_GR_UC_LAMDA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(B), U(LALT), END + ); +case UC_GR_UC_ZETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_6), U(LALT), END + ); +case UC_GR_UC_UPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_5), U(LALT), END + ); +case UC_GR_UC_IOTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_9), U(LALT), END + ); +case UC_GR_UC_ALPHA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_1), U(LALT), END + ); +case UC_GR_UC_EPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_5), U(LALT), END + ); +case UC_GR_UC_OMICRON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(F), U(LALT), END + ); +case UC_GR_UC_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_3), U(LALT), END + ); +case UC_GR_UC_NU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(D), U(LALT), END + ); +case UC_GR_UC_RHO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_1), U(LALT), END + ); +case UC_GR_UC_TAU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_4), U(LALT), END + ); +case UC_GR_UC_DELTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_4), U(LALT), END + ); +case UC_GR_UC_THETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_8), U(LALT), END + ); +case UC_GR_UC_BETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_2), U(LALT), END + ); +case UC_GR_UC_MU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(C), U(LALT), END + ); +case UC_GR_UC_PSI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_8), U(LALT), END + ); + default: + break; + } + } else if (unicode_mode == UC_MODE_LINUX) { + switch(id) { + case UC_UPWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_1), T(KP_ENTER), END + ); +case UC_LEFTWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_0), T(KP_ENTER), END + ); +case UC_DOWNWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_3), T(KP_ENTER), END + ); +case UC_RIGHTWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_2), T(KP_ENTER), END + ); +case UC_SUP_ONE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_9), T(KP_ENTER), END + ); +case UC_SUP_TWO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_2), T(KP_ENTER), END + ); +case UC_SUP_THREE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_3), T(KP_ENTER), END + ); +case UC_SUP_FOUR: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_4), T(KP_ENTER), END + ); +case UC_SUP_FIVE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_5), T(KP_ENTER), END + ); +case UC_FOR_ALL: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_0), T(KP_ENTER), END + ); +case UC_SUP_SIX: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_6), T(KP_ENTER), END + ); +case UC_SUP_SEVEN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_7), T(KP_ENTER), END + ); +case UC_SUP_EIGHT: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_8), T(KP_ENTER), END + ); +case UC_SUP_NINE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_9), T(KP_ENTER), END + ); +case UC_SUP_ZERO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_0), T(KP_ENTER), END + ); +case UC_MULTIPLICATION_SIGN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(D), T(KP_7), T(KP_ENTER), END + ); +case UC_FR_ONE_HALF: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(D), T(KP_ENTER), END + ); +case UC_DIVISION_SIGN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(F), T(KP_7), T(KP_ENTER), END + ); +case UC_FR_ONE_QUARTER: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(C), T(KP_ENTER), END + ); +case UC_FR_ONE_FIFTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_5), T(KP_ENTER), END + ); +case UC_FR_ONE_SIXTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_9), T(KP_ENTER), END + ); +case UC_FR_ONE_EIGHTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(B), T(KP_ENTER), END + ); +case UC_PLUS_MINUS_SIGN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_1), T(KP_ENTER), END + ); +case UC_EMPTY_SET: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_5), T(KP_ENTER), END + ); +case UC_INFINITY: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_1), T(E), T(KP_ENTER), END + ); +case UC_SUP_LATIN_SMALL_LETTER_N: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(F), T(KP_ENTER), END + ); +case UC_THERE_EXISTS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_3), T(KP_ENTER), END + ); +case UC_ELEMENT_OF: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_8), T(KP_ENTER), END + ); +case UC_FR_ONE_THIRD: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_3), T(KP_ENTER), END + ); +case UC_NOT_EQUAL_TO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_6), T(KP_0), T(KP_ENTER), END + ); +case UC_FR_TWO_THIRDS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_4), T(KP_ENTER), END + ); +case UC_FR_THREE_QUARTERS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(E), T(KP_ENTER), END + ); +case UC_ASYMPTOTICALLY_EQUAL_TO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_4), T(KP_3), T(KP_ENTER), END + ); +case UC_THERE_DOES_NOT_EXIST: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_4), T(KP_ENTER), END + ); +case UC_NOT_AN_ELEMENT_OF: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_9), T(KP_ENTER), END + ); +case UC_SUB_ONE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_1), T(KP_ENTER), END + ); +case UC_SUB_TWO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_2), T(KP_ENTER), END + ); +case UC_SUB_THREE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_3), T(KP_ENTER), END + ); +case UC_SUB_FOUR: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_4), T(KP_ENTER), END + ); +case UC_SUB_FIVE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_5), T(KP_ENTER), END + ); +case UC_SUB_SIX: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_6), T(KP_ENTER), END + ); +case UC_SUB_SEVEN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_7), T(KP_ENTER), END + ); +case UC_SUB_EIGHT: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_8), T(KP_ENTER), END + ); +case UC_SUB_NINE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_9), T(KP_ENTER), END + ); +case UC_SUB_ZERO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_0), T(KP_ENTER), END + ); +case UC_GR_LC_CHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_7), T(KP_ENTER), END + ); +case UC_GR_LC_PI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_0), T(KP_ENTER), END + ); +case UC_GR_LC_PHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_6), T(KP_ENTER), END + ); +case UC_GR_LC_OMEGA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_9), T(KP_ENTER), END + ); +case UC_GR_LC_GAMMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_3), T(KP_ENTER), END + ); +case UC_GR_LC_ETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_7), T(KP_ENTER), END + ); +case UC_GR_LC_XI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(E), T(KP_ENTER), END + ); +case UC_GR_LC_KAPPA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(A), T(KP_ENTER), END + ); +case UC_GR_LC_LAMDA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(B), T(KP_ENTER), END + ); +case UC_GR_LC_ZETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_6), T(KP_ENTER), END + ); +case UC_GR_LC_UPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_5), T(KP_ENTER), END + ); +case UC_GR_LC_IOTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_9), T(KP_ENTER), END + ); +case UC_GR_LC_ALPHA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_1), T(KP_ENTER), END + ); +case UC_GR_LC_EPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_5), T(KP_ENTER), END + ); +case UC_GR_LC_OMICRON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(F), T(KP_ENTER), END + ); +case UC_GR_LC_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_3), T(KP_ENTER), END + ); +case UC_GR_LC_NU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(D), T(KP_ENTER), END + ); +case UC_GR_LC_RHO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_1), T(KP_ENTER), END + ); +case UC_GR_LC_TAU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_4), T(KP_ENTER), END + ); +case UC_GR_LC_DELTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_4), T(KP_ENTER), END + ); +case UC_GR_LC_FINAL_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_2), T(KP_ENTER), END + ); +case UC_GR_LC_THETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_8), T(KP_ENTER), END + ); +case UC_GR_LC_BETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_2), T(KP_ENTER), END + ); +case UC_GR_LC_MU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(C), T(KP_ENTER), END + ); +case UC_GR_LC_PSI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_8), T(KP_ENTER), END + ); +case UC_GR_UC_CHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_7), T(KP_ENTER), END + ); +case UC_GR_UC_PI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_0), T(KP_ENTER), END + ); +case UC_GR_UC_PHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_6), T(KP_ENTER), END + ); +case UC_GR_UC_OMEGA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_9), T(KP_ENTER), END + ); +case UC_GR_UC_GAMMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_3), T(KP_ENTER), END + ); +case UC_GR_UC_ETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_7), T(KP_ENTER), END + ); +case UC_GR_UC_XI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(E), T(KP_ENTER), END + ); +case UC_GR_UC_KAPPA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(A), T(KP_ENTER), END + ); +case UC_GR_UC_LAMDA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(B), T(KP_ENTER), END + ); +case UC_GR_UC_ZETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_6), T(KP_ENTER), END + ); +case UC_GR_UC_UPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_5), T(KP_ENTER), END + ); +case UC_GR_UC_IOTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_9), T(KP_ENTER), END + ); +case UC_GR_UC_ALPHA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_1), T(KP_ENTER), END + ); +case UC_GR_UC_EPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_5), T(KP_ENTER), END + ); +case UC_GR_UC_OMICRON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(F), T(KP_ENTER), END + ); +case UC_GR_UC_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_3), T(KP_ENTER), END + ); +case UC_GR_UC_NU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(D), T(KP_ENTER), END + ); +case UC_GR_UC_RHO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_1), T(KP_ENTER), END + ); +case UC_GR_UC_TAU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_4), T(KP_ENTER), END + ); +case UC_GR_UC_DELTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_4), T(KP_ENTER), END + ); +case UC_GR_UC_THETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_8), T(KP_ENTER), END + ); +case UC_GR_UC_BETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_2), T(KP_ENTER), END + ); +case UC_GR_UC_MU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(C), T(KP_ENTER), END + ); +case UC_GR_UC_PSI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_8), T(KP_ENTER), END + ); + default: + 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 L1: + ergodox_right_led_1_on(); + break; + case L2: + ergodox_right_led_2_on(); + break; + case L3: + ergodox_right_led_3_on(); + break; + case L4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + break; + case L5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + break; + // case L6: + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + // case L7: + // ergodox_right_led_1_on(); + // ergodox_right_led_2_on(); + // ergodox_right_led_3_on(); + // break; + default: + ergodox_board_led_off(); + break; + } +}; diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md new file mode 100644 index 0000000000..9c0c12528b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md @@ -0,0 +1,222 @@ +# ManuNeo Ergodox Keyboard Layout + +# Layout Config + + { + "includes_dir": "quantum/", + "keymaps_includes": [ + "ergodox_ez.h", + "action_layer.h", + "keymap_common.h", + "keymap_extras/keymap_german.h", + ], + "keymap_indexes": [ + [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44], + [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51], + [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57], + [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64], + [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69], + [ 32, 33], [70, 71 ], + [ 34], [72 ], + [ 35, 36, 37], [73, 74, 75 ], + ], + "key_prefixes": ["DE_", "KC_"], + "filler": "-+.'!x", + "separator": "|", + "macros": { + "MUC": "", + }, + } + + +# Layers + + +## Layer 0 + + .-------------------------------------. .-------------------------------------. + |MO(5)| 1 | 2 | 3 | 4 | 5 | ACUT | ! GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + |MO(4)| X | P | F | W | G | HOME | !TG(2) | H | J | K | L | Q | Z | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + |MO(1)| U | I | A | E | O |------! !------! S | N | R | T | D | SS | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + |MO(3)| UE | OE | AE | C | V | END | ! TAB | B | M |COMM| DOT| UP | Y | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + '------------------------'.-------------. .-------------.'------------------------' + | INS |TG(2) | !M(UMS)| DELT | + .------+------+------! !------+------+------. + ! ! | APP | ! PGUP | ! ! + ! ! !------! !------! ! ! + | BSPC | LSFT | ESC | ! PGDN |ENTER |SPACE | + '--------------------' '--------------------' + + +## Layer 1 + + .-------------------------------------. .-------------------------------------. + | |EXLM|DQOT|PARA| | | | ! | | | | |RING| | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | |ASTR|PIPE|SLSH|LCBR|RCBR| | ! |HASH|LESS|MORE| |DQOT| | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | |UNDS|MINS|AMPR|LBRC|RBRC|------! !------!DLR |LPRN|RPRN|TILD|QUOT|QST | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | |PLUS| EQL| | | | ! |BSLS|PERC|SCLN|COLN| ↑ | | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | ← | ↓ | → | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 2 + + .-------------------------------------. .-------------------------------------. + | | F1 | F2 | F3 | F4 | F5 | F11 | ! F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | | | | | | | ! | | P7 | P8 | P9 |PAST|PSLS | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | |------! !------! | P4 | P5 | P6 |PMNS|PMNS | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | | | ! NLCK | | P1 | P2 | P3 |PPLS|PPLS | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 3 + +http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html + + .-------------------------------------. .-------------------------------------. + | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | ! | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | × | ½ | ÷ | ¼ | ⅕ | | ! | ⅙ | | ⅛ | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | ± | AT |EURO| ∅ |------! !------! ∞ | ⁿ | ∃ | ∈ | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | ! |EXLM| | ∄ | ∉ | | | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 4 + + .-------------------------------------. .-------------------------------------. + | | ₁ | ₂ | ₃ | ₄ | ₅ | | ! | ₆ | ₇ | ₈ | ₉ | ₀ | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | χ | π | φ | ω | γ | | ! | η | ξ | κ | λ | | ζ | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | υ | ι | α | ε | ο |------! !------! σ | ν | ρ | τ | δ | ς | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | θ | | | | | ! | β | μ | | | | ψ | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 5 + + .-------------------------------------. .-------------------------------------. + | | | | | | | | ! | | | | | | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | Χ | Π | Φ | Ω | Γ | | ! | Η | Ξ | Κ | Λ | | Ζ | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | Υ | Ι | Α | Ε | Ο |------! !------! Σ | Ν | Ρ | Τ | Δ | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | Θ | | | | | ! | Β | Μ | | | | Ψ | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 6 + + .-------------------------------------. .-------------------------------------. + | | | | | | | | ! | | | | | | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | | | | | | | ! | | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | |------! !------! | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | | | ! | | | | | | | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + +## Layer 7 + + .-------------------------------------. .-------------------------------------. + | | | | | | | | ! | | | | | | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | | | | | | | ! | | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | |------! !------! | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | | | ! | | | | | | | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' + + +## Layer 8 + + .-------------------------------------. .-------------------------------------. + | | | | | | | | ! | | | | | | | + !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! + | | | | | | | | ! | | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | |------! !------! | | | | | | + !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! + | | | | | | | | ! | | | | | | | + '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------'.-------------. .-------------.'------------------------' + | | | ! | | + .------+------+------! !------+------+------. + ! ! | | ! | ! ! + ! ! !------! !------! ! ! + | | | | ! | | | + '--------------------' '--------------------' -- cgit v1.2.1 From 32c7832609414d02c19b6ec312daabc8c741b266 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Mon, 28 Mar 2016 21:32:16 +0000 Subject: Refactor compiler code --- .../keymaps/german-manuneo/compile_keymap.py | 864 ++++--- .../ergodox_ez/keymaps/german-manuneo/keymap.c | 2359 ++++++++++---------- .../ergodox_ez/keymaps/german-manuneo/keymap.md | 338 +-- 3 files changed, 1900 insertions(+), 1661 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py index 3bbb9340b2..9767b1e074 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -1,4 +1,13 @@ -# encoding: utf-8 +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Compiler for keymap.c files + +This scrip will generate a keymap.c file from a simple +markdown file with a specific layout. + +Usage: + python compile_keymap.py INPUT_PATH [OUTPUT_PATH] +""" from __future__ import division from __future__ import print_function from __future__ import absolute_import @@ -15,299 +24,423 @@ import collections PY2 = sys.version_info.major == 2 if PY2: - chr = unichr + chr = unichr -ONELINE_COMMENT_RE = re.compile(r"^\s*//.*$", re.MULTILINE) -INLINE_COMMENT_RE = re.compile( - r"([\,\"\[\]\{\}\d])\s+//\s[^\"\]\}\{\[]*$", re.MULTILINE -) -TRAILING_COMMA_RE = re.compile( - r",$\s*([\]\}])", re.MULTILINE -) +BASEPATH = os.path.abspath(os.path.join( + os.path.dirname(__file__), "..", ".." +)) -def loads(raw_data): - if isinstance(raw_data, bytes): - raw_data = raw_data.decode('utf-8') - raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data) - raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data) - raw_data = TRAILING_COMMA_RE.sub(r"\1", raw_data) - return json.loads(raw_data) -with io.open("keymap.md", encoding="utf-8") as fh: - lines = fh.readlines() +KEYBOARD_LAYOUTS = { + # These map positions in the parsed layout to + # positions in the KEYMAP MATRIX + 'ergodox_ez': [ + [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44], + [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51], + [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57], + [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64], + [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69], + [ 32, 33], [70, 71 ], + [ 34], [72 ], + [ 35, 36, 37], [73, 74, 75 ], + ] +} -SECTIONS = [ - 'layout_config', - 'layers', + +BLANK_LAYOUTS = [ +# Compact Layout +""" +.------------------------------------.------------------------------------. +| | | | | | | | | | | | | | | +!-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! +| | | | | | | | | | | | | | | +!-----+----+----+----x----x----! ! !----x----x----+----+----+-----! +| | | | | | |-----!-----! | | | | | | +!-----+----+----+----x----x----! ! !----x----x----+----+----+-----! +| | | | | | | | | | | | | | | +'-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' +""", + +# Wide Layout +""" +.--------------------------------------------. .--------------------------------------------. +| | | | | | | | ! | | | | | | | +!------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+------! +| | | | | | | | ! | | | | | | | +!------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+------! +| | | | | | |-------! !-------! | | | | | | +!------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+------! +| | | | | | | | ! | | | | | | | +'------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+------' + | | | | | | ! | | | | | + '-----------------------------' '-----------------------------' + .---------------. .---------------. + | | | ! | | + .-------+-------+-------! !-------+-------+-------. + ! ! | | ! | ! ! + ! ! !-------! !-------! ! ! + | | | | ! | | | + '-----------------------' '-----------------------' +""", ] -config = { - "includes_basedir": "quantum/", + +DEFAULT_CONFIG = { + "includes_basedir": "quantum/", "keymaps_includes": [ "keymap_common.h", ], - 'filler': "-+.':x", - 'separator': "|", + 'filler': "-+.':x", + 'separator': "|", 'default_key_prefix': ["KC_"], - 'unicode_macros': [], - 'macro_ids': ['UMS'], - 'layers': collections.OrderedDict(), - 'layer_lines': collections.OrderedDict(), } -section_start_index = -1 -current_section = None -current_layer_name = None -current_layer_lines = [] -config_data = [] - -def end_section(): - global section_start_index - global current_layer_lines - section_start_index = -1 - if current_section == 'layout_config': - config.update(loads("".join( - config_data - ))) - elif current_section == 'layers': - config['layer_lines'][current_layer_name] = current_layer_lines - current_layer_lines = [] - - -for i, line in enumerate(lines): - if line.startswith("# "): - section = line[2:].strip().replace(" ", "_").lower() - if section in SECTIONS: - current_section = section - elif line.startswith("## "): - sub_section = line[3:] - if current_section == 'layers': - current_layer_name = sub_section.strip() - # TODO: parse descriptio - config['layers'][current_layer_name] = "" - elif line.startswith(" "): - if section_start_index < 0: - section_start_index = i - if current_section == 'layout_config': - config_data.append(line) - elif current_section == 'layers': - if not line.strip(): - continue - current_layer_lines.append(line) - elif section_start_index > 0: - end_section() - -end_section() - -KEYDEF_RE = re.compile(r"#define ((?:{})(?:\w+))".format( - "|".join(config['key_prefixes']) -)) -IF0_RE = re.compile(r"^#if 0$.*?#endif", re.MULTILINE | re.DOTALL) -COMMENT_RE = re.compile(r"/\*.*?\*/", re.MULTILINE | re.DOTALL) -ENUM_RE = re.compile(r"(enum\s\w+\s\{.*?\};)", re.MULTILINE | re.DOTALL) -ENUM_KEY_RE = re.compile(r"({}\w+)".format( - "|".join(config['key_prefixes']) -)) -def parse_keydefs(path): - with io.open(path, encoding="utf-8") as fh: - data = fh.read() - data, _ = COMMENT_RE.subn("", data) - data, _ = IF0_RE.subn("", data) +SECTIONS = [ + 'layout_config', + 'layers', +] - for match in KEYDEF_RE.finditer(data): - yield match.groups()[0] - for enum_match in ENUM_RE.finditer(data): - enum = enum_match.groups()[0] - for key_match in ENUM_KEY_RE.finditer(enum): - yield key_match.groups()[0] +# Markdown Parsing -valid_keycodes = set() -basepath = os.path.abspath(os.path.join( - os.path.dirname(__file__), "..", "..", "..", ".." -)) +def loads(raw_data): + ONELINE_COMMENT_RE = re.compile(r""" + ^ # comment must be at the start of the line + \s* # arbitrary whitespace + // # start of the comment + (.*) # the comment + $ # until the end of line + """, re.MULTILINE | re.VERBOSE + ) + + INLINE_COMMENT_RE = re.compile(r""" + (?:[\,\"\[\]\{\}\d]) # anythig that might end a expression + \s+ # comment must be preceded by whitespace + // # start of the comment + \s # and succeded by whitespace + ([^\"\]\}\{\[]*) # the comment (except things which might be json) + $ # until the end of line + """, re.MULTILINE | re.VERBOSE + ) + + TRAILING_COMMA_RE = re.compile(r""" + , # the comma + \s* # arbitrary whitespace (including newlines) + ([\]\}]) # end of an array or object + """, re.MULTILINE | re.VERBOSE + ) -valid_keycodes.update(parse_keydefs(os.path.join( - basepath, "tmk_core", "common", "keycode.h" -))) - -for include_path in config['keymaps_includes']: - path = os.path.join(basepath, config['includes_dir'], include_path) - path = path.replace("/", os.sep) - if os.path.exists(path): - valid_keycodes.update(parse_keydefs(path)) - -LAYER_CHANGE_RE = re.compile(r"(DF|TG|MO)\(\d+\)") -MACRO_RE = re.compile(r"M\(\w+\)") -UNICODE_RE = re.compile(r"U[0-9A-F]{4}") -NON_CODE = re.compile(r"^[^A-Z0-9_]$") - - -def UNICODE_MACRO(config, c): - # TODO: don't use macro for codepoints below 0x2000 - macro_id = "UC_" + ( - unicodedata.name(c) - .replace(" ", "_") - .replace("-", "_") - .replace("SUPERSCRIPT_", "SUP_") - .replace("SUBSCRIPT_", "SUB_") - .replace("GREEK_SMALL_LETTER", "GR_LC") - .replace("GREEK_CAPITAL_LETTER", "GR_UC") - .replace("VULGAR_FRACTION_", "FR_") - ) - if macro_id not in config['macro_ids']: - config['macro_ids'].append(macro_id) - code = "{:04X}".format(ord(c)) - if (macro_id, code) not in config['unicode_macros']: - config['unicode_macros'].append((macro_id, code)) - return "M({})".format(macro_id) - - -def MACRO(config, code): - macro_id = code[2:-1] - if macro_id not in config['macro_ids']: - config['macro_ids'].append(macro_id) - return code - -# TODO: presumably we can have a macro or function which takes -# the hex code and produces much smaller code. + if isinstance(raw_data, bytes): + raw_data = raw_data.decode('utf-8') -WIN_UNICODE_MACRO_TEMPLATE = """ -case {0}: - return MACRODOWN( - D(LALT), T(KP_PLUS), {1}, U(LALT), END - ); -""" + raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data) + raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data) + raw_data = TRAILING_COMMA_RE.sub(r"\1", raw_data) + return json.loads(raw_data) -LINUX_UNICODE_MACRO_TEMPLATE = """ -case {0}: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), {1}, T(KP_ENTER), END - ); -""" -def macro_cases(config, mode): - if mode == 'win': - template = WIN_UNICODE_MACRO_TEMPLATE - elif mode == 'linux': - template = LINUX_UNICODE_MACRO_TEMPLATE - else: - raise ValueError("Invalid mode: ", mode) - template = template.strip() - - for macro_id, unimacro_chars in config['unicode_macros']: - unimacro_keys = ", ".join( - "T({})".format( - "KP_" + char if char.isdigit() else char - ) for char in unimacro_chars - ) - yield template.format(macro_id, unimacro_keys) +def parse_config(path): + def reset_section(): + section.update({ + 'name': section.get('name', ""), + 'sub_name': "", + 'start_line': -1, + 'end_line': -1, + 'code_lines': [], + }) + + def start_section(line_index, line): + end_section() + if line.startswith("# "): + name = line[2:] + elif line.startswith("## "): + name = line[3:] + + name = name.strip().replace(" ", "_").lower() + if name in SECTIONS: + section['name'] = name + else: + section['sub_name'] = name + section['start_line'] = line_index + + def end_section(): + if section['start_line'] >= 0: + if section['name'] == 'layout_config': + config.update(loads("\n".join( + section['code_lines'] + ))) + elif section['sub_name'].startswith('layer'): + layer_name = section['sub_name'] + config['layer_lines'][layer_name] = section['code_lines'] + + reset_section() + + def amend_section(line_index, line): + section['end_line'] = line_index + section['code_lines'].append(line) + + config = DEFAULT_CONFIG.copy() + config.update({ + 'layer_lines': collections.OrderedDict(), + 'macro_ids': {'UM'}, + 'unicode_macros': {}, + }) + + section = {} + reset_section() + + with io.open(path, encoding="utf-8") as fh: + for i, line in enumerate(fh): + if line.startswith("#"): + start_section(i, line) + elif line.startswith(" "): + amend_section(i, line[4:]) + else: + # TODO: maybe parse description + pass + + end_section() + return config + +# header file parsing + +IF0_RE = re.compile(r""" + ^ + #if 0 + $.*? + #endif + """, re.MULTILINE | re.DOTALL | re.VERBOSE +) -MACROCODE = """ -#define UC_MODE_WIN 0 -#define UC_MODE_LINUX 1 +COMMENT_RE = re.compile(r""" + /\* + .*? + \*/" + """, re.MULTILINE | re.DOTALL | re.VERBOSE +) -static uint16_t unicode_mode = UC_MODE_WIN; +def read_header_file(path): + with io.open(path, encoding="utf-8") as fh: + data = fh.read() + data, _ = COMMENT_RE.subn("", data) + data, _ = IF0_RE.subn("", data) + return data + + +def regex_partial(re_str_fmt, flags=re.MULTILINE | re.DOTALL | re.VERBOSE): + def partial(*args, **kwargs): + re_str = re_str_fmt.format(*args, **kwargs) + return re.compile(re_str, flags) + return partial + + +KEYDEF_REP = regex_partial(r""" + #define + \s + ( + (?:{}) # the prefixes + (?:\w+) # the key name + ) # capture group end + """ +) + + +ENUM_RE = re.compile(r""" + ( + enum + \s\w+\s + \{ + .*? # the enum content + \} + ; + ) # capture group end + """, re.MULTILINE | re.DOTALL | re.VERBOSE +) + + +ENUM_KEY_REP = regex_partial(r""" + ( + {} # the prefixes + \w+ # the key name + ) # capture group end + """ +) + +def parse_keydefs(config, data): + prefix_options = "|".join(config['key_prefixes']) + keydef_re = KEYDEF_REP(prefix_options) + enum_key_re = ENUM_KEY_REP(prefix_options) + for match in keydef_re.finditer(data): + yield match.groups()[0] + + for enum_match in ENUM_RE.finditer(data): + enum = enum_match.groups()[0] + for key_match in enum_key_re.finditer(enum): + yield key_match.groups()[0] + + +def parse_valid_keys(config): + valid_keycodes = set() + paths = [ + os.path.join(BASEPATH, "tmk_core", "common", "keycode.h") + ] + [ + os.path.join( + BASEPATH, config['includes_dir'], include_path + ) for include_path in config['keymaps_includes'] + ] + + for path in paths: + path = path.replace("/", os.sep) + # the config always uses forward slashe + if os.path.exists(path): + header_data = read_header_file(path) + valid_keycodes.update( + parse_keydefs(config, header_data) + ) + return valid_keycodes + +# Keymap Parsing + +def iter_raw_codes(layer_lines, filler, separator): + filler_re = re.compile("[" + filler + " ]") + for line in layer_lines: + line, _ = filler_re.subn("", line.strip()) + if not line: + continue + codes = line.split(separator) + for code in codes[1:-1]: + yield code + + +def iter_indexed_codes(raw_codes, key_indexes): + key_rows = {} + key_indexes_flat = [] + for row_index, key_indexes in enumerate(key_indexes): + for key_index in key_indexes: + key_rows[key_index] = row_index + key_indexes_flat.extend(key_indexes) + assert len(raw_codes) == len(key_indexes_flat) + for raw_code, key_index in zip(raw_codes, key_indexes_flat): + # we keep track of the row mostly for layout purposes + yield raw_code, key_index, key_rows[key_index] + + +LAYER_CHANGE_RE = re.compile(r""" + (DF|TG|MO)\(\d+\) +""", re.VERBOSE) + + +MACRO_RE = re.compile(r""" + M\(\w+\) +""", re.VERBOSE) + + +UNICODE_RE = re.compile(r""" + U[0-9A-F]{4} +""", re.VERBOSE) + + +NON_CODE = re.compile(r""" + ^[^A-Z0-9_]$ +""", re.VERBOSE) + + +def parse_uni_code(raw_code): + macro_id = "UC_" + ( + unicodedata.name(raw_code) + .replace(" ", "_") + .replace("-", "_") + ) + code = "M({})".format(macro_id) + uc_hex = "{:04X}".format(ord(raw_code)) + return code, macro_id, uc_hex + + +def parse_key_code(raw_code, key_prefixes, valid_keycodes): + if raw_code in valid_keycodes: + return raw_code + + for prefix in key_prefixes: + code = prefix + raw_code + if code in valid_keycodes: + return code + + +def parse_code(raw_code, key_prefixes, valid_keycodes): + if not raw_code: + return 'KC_TRNS', None, None + + if LAYER_CHANGE_RE.match(raw_code): + return raw_code, None, None + + if MACRO_RE.match(raw_code): + code = macro_id = raw_code[2:-1] + return code, macro_id, None + + if UNICODE_RE.match(raw_code): + hex_code = raw_code[1:] + return parse_uni_code(chr(int(hex_code, 16))) + + if NON_CODE.match(raw_code): + return parse_uni_code(raw_code) + + code = parse_key_code(raw_code, key_prefixes, valid_keycodes) + return code, None, None + + +def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): + keymap = {} + raw_codes = list(iter_raw_codes( + layer_lines, config['filler'], config['separator'] + )) + indexed_codes = iter_indexed_codes(raw_codes, key_indexes) + for raw_code, key_index, row_index in indexed_codes: + code, macro_id, uc_hex = parse_code( + raw_code, config['key_prefixes'], valid_keycodes + ) + if macro_id: + config['macro_ids'].add(macro_id) + if uc_hex: + config['unicode_macros'][macro_id] = uc_hex + keymap[key_index] = (code, row_index) + return keymap -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ - if (!record->event.pressed) {{ - return MACRO_NONE; - }} - // MACRODOWN only works in this function - switch(id) {{ - case UMS: - unicode_mode = (unicode_mode + 1) % 2; - break; - {macro_cases} - default: - break; - }} - if (unicode_mode == UC_MODE_WIN) {{ - switch(id) {{ - {win_macro_cases} - default: - break; - }} - }} else if (unicode_mode == UC_MODE_LINUX) {{ - switch(id) {{ - {linux_macro_cases} - default: - break; - }} - }} - return MACRO_NONE; -}}; -""" +def parse_keymaps(config, valid_keycodes): + keymaps = collections.OrderedDict() + key_indexes = config.get( + 'key_indexes', KEYBOARD_LAYOUTS[config['layout']] + ) + # TODO: maybe validate key_indexes -def iter_keycodes(layer_lines, config): - filler_re = re.compile("[" + - config['filler'] + " " + - "]") - - all_codes = [] - for line in layer_lines: - line, _ = filler_re.subn("", line.strip()) - if not line: - continue - codes = line.split(config['separator']) - all_codes.extend(codes[1:-1]) - - key_groups = {} - for group_index, key_indexes in enumerate(config['keymap_indexes']): - for key_index in key_indexes: - key_groups[key_index] = group_index - - keymap_indexes = sum(config['keymap_indexes'], []) - assert len(all_codes) == len(keymap_indexes) - code_index_pairs = zip(all_codes, keymap_indexes) - prev_index = None - for i, (code, key_index) in enumerate(code_index_pairs): - code = code.strip() - layer_match = LAYER_CHANGE_RE.match(code) - unicode_match = UNICODE_RE.match(code) - noncode_match = NON_CODE.match(code) - macro_match = MACRO_RE.match(code) - - ws = "\n" if key_groups[key_index] != prev_index else "" - prev_index = key_groups[key_index] - - try: - if not code: - code = 'KC_TRNS' - elif layer_match: - pass - elif macro_match: - code = MACRO(config, code) - elif unicode_match: - hex_code = code[1:] - code = UNICODE_MACRO(config, chr(int(hex_code, 16))) - elif noncode_match: - code = UNICODE_MACRO(config, code) - elif "_" in code: - assert code in valid_keycodes, "unknown code '{}'".format(code) - else: - for prefix in config['key_prefixes']: - if prefix + code in valid_keycodes: - code = prefix + code - break - assert code in valid_keycodes, "unknown code '{}'".format(code) - yield code, key_index, ws - except AssertionError: - print("Error processing code", repr(code).encode("utf-8")) - raise + for layer_name, layer_lines, in config['layer_lines'].items(): + keymaps[layer_name] = parse_keymap( + config, key_indexes, layer_lines, valid_keycodes + ) + return keymaps + +# keymap.c output USERCODE = """ // Runs just one time when the keyboard initializes. -void * matrix_init_user(void) { +void matrix_init_user(void) { }; // Runs constantly in the background, in a loop. -void * matrix_scan_user(void) { +void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); ergodox_board_led_off(); @@ -348,71 +481,158 @@ void * matrix_scan_user(void) { }; """ -def parse_keymaps(config): - keymaps = {} - layer_line_items = config['layer_lines'].items() - for i, (layer_name, layer_lines) in enumerate(layer_line_items): - print("parseing layer", layer_name) - keymap = {} - for code, key_index, ws in iter_keycodes(layer_lines, config): - keymap[key_index] = (code, ws) - keymaps[layer_name] = [v for k, v in sorted(keymap.items())] - return keymaps - - -def iter_keymap_lines(config, keymaps): - for include_path in config['keymaps_includes']: - yield '#include "{}"\n'.format(include_path) - - yield "\n" - - layer_items = config['layers'].items() - for i, (layer_name, description) in enumerate(layer_items): - yield '#define L{0:<3} {0:<5} // {1}\n'.format(i, layer_name) - - for i, macro_id in enumerate(config['macro_ids']): - yield "#define {} {}\n".format(macro_id, i) - - yield "\n" - - yield "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n" - - layer_line_items = config['layer_lines'].items() - last_index = config['keymap_indexes'][-1] - for i, (layer_name, layer_lines) in enumerate(layer_line_items): - keymap = keymaps[layer_name] - yield "/*\n" - for line in layer_lines: - yield " *{}".format(line) - yield "*/\n" - - yield "[L{0}] = KEYMAP(\n".format(i) - - for key_index, (code, ws) in enumerate(keymap): - yield "\t{}".format(code) - if key_index < len(keymap) - 1: - yield "," - yield ws - yield "),\n" - - yield "};\n\n" - - yield "const uint16_t PROGMEM fn_actions[] = {\n" - yield "};\n" +MACROCODE = """ +#define UC_MODE_WIN 0 +#define UC_MODE_LINUX 1 - yield MACROCODE.format( - macro_cases="", - win_macro_cases="\n".join(macro_cases(config, mode='win')), - linux_macro_cases="\n".join(macro_cases(config, mode='linux')), - ) +static uint16_t unicode_mode = UC_MODE_WIN; - yield USERCODE +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ + if (!record->event.pressed) {{ + return MACRO_NONE; + }} + // MACRODOWN only works in this function + switch(id) {{ + case UM: + unicode_mode = (unicode_mode + 1) % 2; + break; + {macro_cases} + default: + break; + }} + if (unicode_mode == UC_MODE_WIN) {{ + switch(id) {{ + {win_macro_cases} + default: + break; + }} + }} else if (unicode_mode == UC_MODE_LINUX) {{ + switch(id) {{ + {linux_macro_cases} + default: + break; + }} + }} + return MACRO_NONE; +}}; +""" +WIN_UNICODE_MACRO_TEMPLATE = """ +case {0}: + return MACRODOWN( + D(LALT), T(KP_PLUS), {1}, U(LALT), END + ); +""" -with io.open("keymap.c", mode="w", encoding="utf-8") as fh: - for data in iter_keymap_lines(config, parse_keymaps(config)): - fh.write(data) +LINUX_UNICODE_MACRO_TEMPLATE = """ +case {0}: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), {1}, T(KP_ENTER), END + ); +""" + +def macro_cases(config, mode): + if mode == 'win': + template = WIN_UNICODE_MACRO_TEMPLATE + elif mode == 'linux': + template = LINUX_UNICODE_MACRO_TEMPLATE + else: + raise ValueError("Invalid mode: ", mode) + template = template.strip() + + for macro_id, uc_hex in config['unicode_macros'].items(): + unimacro_keys = ", ".join( + "T({})".format( + "KP_" + digit if digit.isdigit() else digit + ) for digit in uc_hex + ) + yield template.format(macro_id, unimacro_keys) + + +def iter_keymap_lines(keymap): + prev_row_index = None + for key_index in sorted(keymap): + code, row_index = keymap[key_index] + if row_index != prev_row_index: + yield "\n" + yield " {}".format(code) + if key_index < len(keymap) - 1: + yield "," + prev_row_index = row_index + + +def iter_keymap_parts(config, keymaps): + # includes + for include_path in config['keymaps_includes']: + yield '#include "{}"\n'.format(include_path) + + yield "\n" + + # definitions + for i, macro_id in enumerate(sorted(config['macro_ids'])): + yield "#define {} {}\n".format(macro_id, i) + + yield "\n" + + for i, layer_name in enumerate(config['layer_lines']): + yield '#define L{0:<3} {0:<5} // {1}\n'.format(i, layer_name) + + yield "\n" + + # keymaps + yield "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n" + + for i, layer_name in enumerate(config['layer_lines']): + # comment + layer_lines = config['layer_lines'][layer_name] + prefixed_lines = " * " + " * ".join(layer_lines) + yield "/*\n{}*/\n".format(prefixed_lines) + + # keymap codes + keymap = keymaps[layer_name] + keymap_lines = "".join(iter_keymap_lines(keymap)) + yield "[L{0}] = KEYMAP({1}\n),\n".format(i, keymap_lines) + + yield "};\n\n" + + # no idea what this is for + yield "const uint16_t PROGMEM fn_actions[] = {};\n" + + # macros + yield MACROCODE.format( + macro_cases="", + win_macro_cases="\n".join(macro_cases(config, mode='win')), + linux_macro_cases="\n".join(macro_cases(config, mode='linux')), + ) + + # TODO: dynamically create blinking lights + yield USERCODE + + +def main(argv=sys.argv[1:]): + if not argv or '-h' in argv or '--help' in argv: + print(__doc__) + return 0 + + in_path = os.path.abspath(argv[0]) + if not os.path.exists(in_path): + print("No such file '{}'".format(in_path)) + return 1 + + if len(argv) > 1: + out_path = os.path.abspath(argv[1]) + else: + dirname = os.path.dirname(in_path) + out_path = os.path.join(dirname, "keymap.c") + + config = parse_config(in_path) + valid_keys = parse_valid_keys(config) + keymaps = parse_keymaps(config, valid_keys) + + with io.open(out_path, mode="w", encoding="utf-8") as fh: + for part in iter_keymap_parts(config, keymaps): + fh.write(part) -# print("\n".join(sorted(valid_keycodes))) -# print(json.dumps(config, indent=4)) +if __name__ == '__main__': + sys.exit(main()) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c index 400ad6fcf8..23611ddd89 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c @@ -3,449 +3,458 @@ #include "keymap_common.h" #include "keymap_extras/keymap_german.h" -#define L0 0 // Layer 0 -#define L1 1 // Layer 1 -#define L2 2 // Layer 2 -#define L3 3 // Layer 3 -#define L4 4 // Layer 4 -#define L5 5 // Layer 5 -#define L6 6 // Layer 6 -#define L7 7 // Layer 7 -#define L8 8 // Layer 8 -#define UMS 0 -#define UC_UPWARDS_ARROW 1 -#define UC_LEFTWARDS_ARROW 2 -#define UC_DOWNWARDS_ARROW 3 -#define UC_RIGHTWARDS_ARROW 4 -#define UC_SUP_ONE 5 -#define UC_SUP_TWO 6 -#define UC_SUP_THREE 7 -#define UC_SUP_FOUR 8 -#define UC_SUP_FIVE 9 -#define UC_FOR_ALL 10 -#define UC_SUP_SIX 11 -#define UC_SUP_SEVEN 12 -#define UC_SUP_EIGHT 13 -#define UC_SUP_NINE 14 -#define UC_SUP_ZERO 15 -#define UC_MULTIPLICATION_SIGN 16 -#define UC_FR_ONE_HALF 17 -#define UC_DIVISION_SIGN 18 -#define UC_FR_ONE_QUARTER 19 -#define UC_FR_ONE_FIFTH 20 -#define UC_FR_ONE_SIXTH 21 -#define UC_FR_ONE_EIGHTH 22 -#define UC_PLUS_MINUS_SIGN 23 -#define UC_EMPTY_SET 24 -#define UC_INFINITY 25 -#define UC_SUP_LATIN_SMALL_LETTER_N 26 -#define UC_THERE_EXISTS 27 -#define UC_ELEMENT_OF 28 -#define UC_FR_ONE_THIRD 29 -#define UC_NOT_EQUAL_TO 30 -#define UC_FR_TWO_THIRDS 31 -#define UC_FR_THREE_QUARTERS 32 -#define UC_ASYMPTOTICALLY_EQUAL_TO 33 -#define UC_THERE_DOES_NOT_EXIST 34 -#define UC_NOT_AN_ELEMENT_OF 35 -#define UC_SUB_ONE 36 -#define UC_SUB_TWO 37 -#define UC_SUB_THREE 38 -#define UC_SUB_FOUR 39 -#define UC_SUB_FIVE 40 -#define UC_SUB_SIX 41 -#define UC_SUB_SEVEN 42 -#define UC_SUB_EIGHT 43 -#define UC_SUB_NINE 44 -#define UC_SUB_ZERO 45 -#define UC_GR_LC_CHI 46 -#define UC_GR_LC_PI 47 -#define UC_GR_LC_PHI 48 -#define UC_GR_LC_OMEGA 49 -#define UC_GR_LC_GAMMA 50 -#define UC_GR_LC_ETA 51 -#define UC_GR_LC_XI 52 -#define UC_GR_LC_KAPPA 53 -#define UC_GR_LC_LAMDA 54 -#define UC_GR_LC_ZETA 55 -#define UC_GR_LC_UPSILON 56 -#define UC_GR_LC_IOTA 57 -#define UC_GR_LC_ALPHA 58 -#define UC_GR_LC_EPSILON 59 -#define UC_GR_LC_OMICRON 60 -#define UC_GR_LC_SIGMA 61 -#define UC_GR_LC_NU 62 -#define UC_GR_LC_RHO 63 -#define UC_GR_LC_TAU 64 -#define UC_GR_LC_DELTA 65 -#define UC_GR_LC_FINAL_SIGMA 66 -#define UC_GR_LC_THETA 67 -#define UC_GR_LC_BETA 68 -#define UC_GR_LC_MU 69 -#define UC_GR_LC_PSI 70 -#define UC_GR_UC_CHI 71 -#define UC_GR_UC_PI 72 -#define UC_GR_UC_PHI 73 -#define UC_GR_UC_OMEGA 74 -#define UC_GR_UC_GAMMA 75 -#define UC_GR_UC_ETA 76 -#define UC_GR_UC_XI 77 -#define UC_GR_UC_KAPPA 78 -#define UC_GR_UC_LAMDA 79 -#define UC_GR_UC_ZETA 80 -#define UC_GR_UC_UPSILON 81 -#define UC_GR_UC_IOTA 82 -#define UC_GR_UC_ALPHA 83 -#define UC_GR_UC_EPSILON 84 -#define UC_GR_UC_OMICRON 85 -#define UC_GR_UC_SIGMA 86 -#define UC_GR_UC_NU 87 -#define UC_GR_UC_RHO 88 -#define UC_GR_UC_TAU 89 -#define UC_GR_UC_DELTA 90 -#define UC_GR_UC_THETA 91 -#define UC_GR_UC_BETA 92 -#define UC_GR_UC_MU 93 -#define UC_GR_UC_PSI 94 +#define UC_ASYMPTOTICALLY_EQUAL_TO 0 +#define UC_DIVISION_SIGN 1 +#define UC_DOWNWARDS_ARROW 2 +#define UC_ELEMENT_OF 3 +#define UC_EMPTY_SET 4 +#define UC_FOR_ALL 5 +#define UC_GREEK_CAPITAL_LETTER_ALPHA 6 +#define UC_GREEK_CAPITAL_LETTER_BETA 7 +#define UC_GREEK_CAPITAL_LETTER_CHI 8 +#define UC_GREEK_CAPITAL_LETTER_DELTA 9 +#define UC_GREEK_CAPITAL_LETTER_EPSILON 10 +#define UC_GREEK_CAPITAL_LETTER_ETA 11 +#define UC_GREEK_CAPITAL_LETTER_GAMMA 12 +#define UC_GREEK_CAPITAL_LETTER_IOTA 13 +#define UC_GREEK_CAPITAL_LETTER_KAPPA 14 +#define UC_GREEK_CAPITAL_LETTER_LAMDA 15 +#define UC_GREEK_CAPITAL_LETTER_MU 16 +#define UC_GREEK_CAPITAL_LETTER_NU 17 +#define UC_GREEK_CAPITAL_LETTER_OMEGA 18 +#define UC_GREEK_CAPITAL_LETTER_OMICRON 19 +#define UC_GREEK_CAPITAL_LETTER_PHI 20 +#define UC_GREEK_CAPITAL_LETTER_PI 21 +#define UC_GREEK_CAPITAL_LETTER_PSI 22 +#define UC_GREEK_CAPITAL_LETTER_RHO 23 +#define UC_GREEK_CAPITAL_LETTER_SIGMA 24 +#define UC_GREEK_CAPITAL_LETTER_TAU 25 +#define UC_GREEK_CAPITAL_LETTER_THETA 26 +#define UC_GREEK_CAPITAL_LETTER_UPSILON 27 +#define UC_GREEK_CAPITAL_LETTER_XI 28 +#define UC_GREEK_CAPITAL_LETTER_ZETA 29 +#define UC_GREEK_SMALL_LETTER_ALPHA 30 +#define UC_GREEK_SMALL_LETTER_BETA 31 +#define UC_GREEK_SMALL_LETTER_CHI 32 +#define UC_GREEK_SMALL_LETTER_DELTA 33 +#define UC_GREEK_SMALL_LETTER_EPSILON 34 +#define UC_GREEK_SMALL_LETTER_ETA 35 +#define UC_GREEK_SMALL_LETTER_FINAL_SIGMA 36 +#define UC_GREEK_SMALL_LETTER_GAMMA 37 +#define UC_GREEK_SMALL_LETTER_IOTA 38 +#define UC_GREEK_SMALL_LETTER_KAPPA 39 +#define UC_GREEK_SMALL_LETTER_LAMDA 40 +#define UC_GREEK_SMALL_LETTER_MU 41 +#define UC_GREEK_SMALL_LETTER_NU 42 +#define UC_GREEK_SMALL_LETTER_OMEGA 43 +#define UC_GREEK_SMALL_LETTER_OMICRON 44 +#define UC_GREEK_SMALL_LETTER_PHI 45 +#define UC_GREEK_SMALL_LETTER_PI 46 +#define UC_GREEK_SMALL_LETTER_PSI 47 +#define UC_GREEK_SMALL_LETTER_RHO 48 +#define UC_GREEK_SMALL_LETTER_SIGMA 49 +#define UC_GREEK_SMALL_LETTER_TAU 50 +#define UC_GREEK_SMALL_LETTER_THETA 51 +#define UC_GREEK_SMALL_LETTER_UPSILON 52 +#define UC_GREEK_SMALL_LETTER_XI 53 +#define UC_GREEK_SMALL_LETTER_ZETA 54 +#define UC_INFINITY 55 +#define UC_LEFTWARDS_ARROW 56 +#define UC_MULTIPLICATION_SIGN 57 +#define UC_NOT_AN_ELEMENT_OF 58 +#define UC_NOT_EQUAL_TO 59 +#define UC_PLUS_MINUS_SIGN 60 +#define UC_RIGHTWARDS_ARROW 61 +#define UC_SUBSCRIPT_EIGHT 62 +#define UC_SUBSCRIPT_FIVE 63 +#define UC_SUBSCRIPT_FOUR 64 +#define UC_SUBSCRIPT_NINE 65 +#define UC_SUBSCRIPT_ONE 66 +#define UC_SUBSCRIPT_SEVEN 67 +#define UC_SUBSCRIPT_SIX 68 +#define UC_SUBSCRIPT_THREE 69 +#define UC_SUBSCRIPT_TWO 70 +#define UC_SUBSCRIPT_ZERO 71 +#define UC_SUPERSCRIPT_EIGHT 72 +#define UC_SUPERSCRIPT_FIVE 73 +#define UC_SUPERSCRIPT_FOUR 74 +#define UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N 75 +#define UC_SUPERSCRIPT_NINE 76 +#define UC_SUPERSCRIPT_ONE 77 +#define UC_SUPERSCRIPT_SEVEN 78 +#define UC_SUPERSCRIPT_SIX 79 +#define UC_SUPERSCRIPT_THREE 80 +#define UC_SUPERSCRIPT_TWO 81 +#define UC_SUPERSCRIPT_ZERO 82 +#define UC_THERE_DOES_NOT_EXIST 83 +#define UC_THERE_EXISTS 84 +#define UC_UPWARDS_ARROW 85 +#define UC_VULGAR_FRACTION_ONE_EIGHTH 86 +#define UC_VULGAR_FRACTION_ONE_FIFTH 87 +#define UC_VULGAR_FRACTION_ONE_HALF 88 +#define UC_VULGAR_FRACTION_ONE_QUARTER 89 +#define UC_VULGAR_FRACTION_ONE_SIXTH 90 +#define UC_VULGAR_FRACTION_ONE_THIRD 91 +#define UC_VULGAR_FRACTION_THREE_QUARTERS 92 +#define UC_VULGAR_FRACTION_TWO_THIRDS 93 +#define UM 94 + +#define L0 0 // layer_0 +#define L1 1 // layer_1 +#define L2 2 // layer_2 +#define L3 3 // layer_3 +#define L4 4 // layer_4 +#define L5 5 // layer_5 +#define L6 6 // layer_6 +#define L7 7 // layer_7 +#define L8 8 // layer_8 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * .-------------------------------------. .-------------------------------------. - * |MO(5)| 1 | 2 | 3 | 4 | 5 | ACUT | ! GRV | 6 | 7 | 8 | 9 | 0 |CIRC | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * |MO(4)| X | P | F | W | G | HOME | !TG(2) | H | J | K | L | Q | Z | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * |MO(1)| U | I | A | E | O |------! !------! S | N | R | T | D | SS | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * |MO(3)| UE | OE | AE | C | V | END | ! TAB | B | M |COMM| DOT| UP | Y | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| - * '------------------------'.-------------. .-------------.'------------------------' - * | INS |TG(2) | !M(UMS)| DELT | - * .------+------+------! !------+------+------. - * ! ! | APP | ! PGUP | ! ! - * ! ! !------! !------! ! ! - * | BSPC | LSFT | ESC | ! PGDN |ENTER |SPACE | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + * '------------------------' '------------------------' + * .-----------. .-----------. + * |INS |TG(2)| !M(UM)|DELT | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | APP | ! PGUP| ! ! + * ! ! !-----! !-----! ! ! + * |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE| + * '-----------------' '-----------------' */ [L0] = KEYMAP( - MO(5), - DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, MO(4), - DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, MO(1), - DE_U, DE_I, DE_A, DE_E, DE_O, MO(3), - DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, KC_TRNS, - KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, KC_INS, - TG(2), KC_APP, - KC_BSPC, - KC_LSFT, KC_ESC, DE_GRV, - DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, TG(2), - DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, DE_S, - DE_N, DE_R, DE_T, DE_D, DE_SS, KC_TAB, - DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, KC_LALT, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, M(UMS), - KC_DELT, KC_PGUP, - KC_PGDN, - KC_ENTER, KC_SPACE), + MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, + MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, + MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, + MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, + KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, + KC_INS, TG(2), + KC_APP, + KC_BSPC, KC_LSFT, KC_ESC, + DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, + TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, + DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, + KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, + KC_LALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, + UM, KC_DELT, + KC_PGUP, + KC_PGDN, KC_ENTER, KC_SPACE +), /* - * .-------------------------------------. .-------------------------------------. - * | |EXLM|DQOT|PARA| | | | ! | | | | |RING| | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | |ASTR|PIPE|SLSH|LCBR|RCBR| | ! |HASH|LESS|MORE| |DQOT| | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | |UNDS|MINS|AMPR|LBRC|RBRC|------! !------!DLR |LPRN|RPRN|TILD|QUOT|QST | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | |PLUS| EQL| | | | ! |BSLS|PERC|SCLN|COLN| ↑ | | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | ← | ↓ | → | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | |EXLM|DQOT|PARA| | | | | | | | |RING| | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | ← | ↓ | → | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L1] = KEYMAP( - KC_TRNS, - DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, KC_TRNS, - DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, KC_TRNS, - KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, KC_TRNS, - DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, DE_DLR, - DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, KC_TRNS, - DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, + KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, + KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, + KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, + DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, + KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, + KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F11 | ! F12 | F6 | F7 | F8 | F9 |F10 |PEQL | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | | | | | | | ! | | P7 | P8 | P9 |PAST|PSLS | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | |------! !------! | P4 | P5 | P6 |PMNS|PMNS | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | | | ! NLCK | | P1 | P2 | P3 |PPLS|PPLS | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L2] = KEYMAP( - KC_TRNS, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_F12, - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, KC_TRNS, - KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, KC_TRNS, - KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, KC_NLCK, - KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, KC_P0, - KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, + KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, + KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, + KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | ! | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | × | ½ | ÷ | ¼ | ⅕ | | ! | ⅙ | | ⅛ | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | ± | AT |EURO| ∅ |------! !------! ∞ | ⁿ | ∃ | ∈ | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | ! |EXLM| | ∄ | ∉ | | | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L3] = KEYMAP( - KC_TRNS, - M(UC_SUP_ONE), M(UC_SUP_TWO), M(UC_SUP_THREE), M(UC_SUP_FOUR), M(UC_SUP_FIVE), M(UC_FOR_ALL), KC_TRNS, - M(UC_MULTIPLICATION_SIGN), M(UC_FR_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_FR_ONE_QUARTER), M(UC_FR_ONE_FIFTH), KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), KC_TRNS, - M(UC_FR_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_FR_TWO_THIRDS), M(UC_FR_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - M(UC_SUP_SIX), M(UC_SUP_SEVEN), M(UC_SUP_EIGHT), M(UC_SUP_NINE), M(UC_SUP_ZERO), KC_TRNS, KC_TRNS, - M(UC_FR_ONE_SIXTH), KC_TRNS, M(UC_FR_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_INFINITY), - M(UC_SUP_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, KC_TRNS, - DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL), + KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS, + KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, + M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, + KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | ₁ | ₂ | ₃ | ₄ | ₅ | | ! | ₆ | ₇ | ₈ | ₉ | ₀ | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | χ | π | φ | ω | γ | | ! | η | ξ | κ | λ | | ζ | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | υ | ι | α | ε | ο |------! !------! σ | ν | ρ | τ | δ | ς | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | θ | | | | | ! | β | μ | | | | ψ | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | θ | | | | | | β | μ | | | | ψ | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L4] = KEYMAP( - KC_TRNS, - M(UC_SUB_ONE), M(UC_SUB_TWO), M(UC_SUB_THREE), M(UC_SUB_FOUR), M(UC_SUB_FIVE), KC_TRNS, KC_TRNS, - M(UC_GR_LC_CHI), M(UC_GR_LC_PI), M(UC_GR_LC_PHI), M(UC_GR_LC_OMEGA), M(UC_GR_LC_GAMMA), KC_TRNS, KC_TRNS, - M(UC_GR_LC_UPSILON), M(UC_GR_LC_IOTA), M(UC_GR_LC_ALPHA), M(UC_GR_LC_EPSILON), M(UC_GR_LC_OMICRON), KC_TRNS, - KC_TRNS, M(UC_GR_LC_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - M(UC_SUB_SIX), M(UC_SUB_SEVEN), M(UC_SUB_EIGHT), M(UC_SUB_NINE), M(UC_SUB_ZERO), KC_TRNS, KC_TRNS, - M(UC_GR_LC_ETA), M(UC_GR_LC_XI), M(UC_GR_LC_KAPPA), M(UC_GR_LC_LAMDA), KC_TRNS, M(UC_GR_LC_ZETA), M(UC_GR_LC_SIGMA), - M(UC_GR_LC_NU), M(UC_GR_LC_RHO), M(UC_GR_LC_TAU), M(UC_GR_LC_DELTA), M(UC_GR_LC_FINAL_SIGMA), KC_TRNS, - M(UC_GR_LC_BETA), M(UC_GR_LC_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GR_LC_PSI), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA), + M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA), + KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | Χ | Π | Φ | Ω | Γ | | ! | Η | Ξ | Κ | Λ | | Ζ | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | Υ | Ι | Α | Ε | Ο |------! !------! Σ | Ν | Ρ | Τ | Δ | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | Θ | | | | | ! | Β | Μ | | | | Ψ | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | Θ | | | | | | Β | Μ | | | | Ψ | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L5] = KEYMAP( - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - M(UC_GR_UC_CHI), M(UC_GR_UC_PI), M(UC_GR_UC_PHI), M(UC_GR_UC_OMEGA), M(UC_GR_UC_GAMMA), KC_TRNS, KC_TRNS, - M(UC_GR_UC_UPSILON), M(UC_GR_UC_IOTA), M(UC_GR_UC_ALPHA), M(UC_GR_UC_EPSILON), M(UC_GR_UC_OMICRON), KC_TRNS, - KC_TRNS, M(UC_GR_UC_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - M(UC_GR_UC_ETA), M(UC_GR_UC_XI), M(UC_GR_UC_KAPPA), M(UC_GR_UC_LAMDA), KC_TRNS, M(UC_GR_UC_ZETA), M(UC_GR_UC_SIGMA), - M(UC_GR_UC_NU), M(UC_GR_UC_RHO), M(UC_GR_UC_TAU), M(UC_GR_UC_DELTA), KC_TRNS, KC_TRNS, - M(UC_GR_UC_BETA), M(UC_GR_UC_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GR_UC_PSI), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA), + M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | |------! !------! | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | | | | | | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L6] = KEYMAP( - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | |------! !------! | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | | | | | | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L7] = KEYMAP( - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), /* - * .-------------------------------------. .-------------------------------------. - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | |------! !------! | | | | | | - * !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - * | | | | | | | | ! | | | | | | | - * '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------'.-------------. .-------------.'------------------------' - * | | | ! | | - * .------+------+------! !------+------+------. - * ! ! | | ! | ! ! - * ! ! !------! !------! ! ! - * | | | | ! | | | - * '--------------------' '--------------------' + * .------------------------------------.------------------------------------. + * | | | | | | | | | | | | | | | + * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + * | | | | | | | | | | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | |-----!-----! | | | | | | + * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + * | | | | | | | | | | | | | | | + * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + * | | | | | | ! | | | | | + * '------------------------' '------------------------' + * .-----------. .-----------. + * | | | ! | | + * .-----+-----+-----! !-----+-----+-----. + * ! ! | | ! | ! ! + * ! ! !-----! !-----! ! ! + * | | | | ! | | | + * '-----------------' '-----------------' */ [L8] = KEYMAP( - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), }; -const uint16_t PROGMEM fn_actions[] = { -}; +const uint16_t PROGMEM fn_actions[] = {}; #define UC_MODE_WIN 0 #define UC_MODE_LINUX 1 @@ -453,791 +462,791 @@ const uint16_t PROGMEM fn_actions[] = { static uint16_t unicode_mode = UC_MODE_WIN; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - if (!record->event.pressed) { - return MACRO_NONE; - } - // MACRODOWN only works in this function + if (!record->event.pressed) { + return MACRO_NONE; + } + // MACRODOWN only works in this function switch(id) { - case UMS: - unicode_mode = (unicode_mode + 1) % 2; - break; - - default: - break; + case UM: + unicode_mode = (unicode_mode + 1) % 2; + break; + + default: + break; } - if (unicode_mode == UC_MODE_WIN) { - switch(id) { - case UC_UPWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_1), U(LALT), END - ); + if (unicode_mode == UC_MODE_WIN) { + switch(id) { + case UC_GREEK_SMALL_LETTER_OMICRON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(F), U(LALT), END + ); case UC_LEFTWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_0), U(LALT), END - ); -case UC_DOWNWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_3), U(LALT), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_0), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_RHO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_1), U(LALT), END + ); +case UC_SUBSCRIPT_THREE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_3), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_EIGHTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(B), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_LAMDA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(B), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_THIRD: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_3), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_XI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(E), U(LALT), END + ); +case UC_THERE_DOES_NOT_EXIST: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_4), U(LALT), END + ); +case UC_SUPERSCRIPT_ONE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_9), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_BETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_2), U(LALT), END + ); +case UC_SUBSCRIPT_FIVE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_5), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_IOTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_9), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_FIFTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_5), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_PSI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_8), U(LALT), END + ); +case UC_SUBSCRIPT_NINE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_9), U(LALT), END + ); +case UC_SUPERSCRIPT_FOUR: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_4), U(LALT), END + ); case UC_RIGHTWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_2), U(LALT), END - ); -case UC_SUP_ONE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_9), U(LALT), END - ); -case UC_SUP_TWO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_2), U(LALT), END - ); -case UC_SUP_THREE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_3), U(LALT), END - ); -case UC_SUP_FOUR: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_4), U(LALT), END - ); -case UC_SUP_FIVE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_5), U(LALT), END - ); -case UC_FOR_ALL: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_0), U(LALT), END - ); -case UC_SUP_SIX: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_6), U(LALT), END - ); -case UC_SUP_SEVEN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_7), U(LALT), END - ); -case UC_SUP_EIGHT: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_8), U(LALT), END - ); -case UC_SUP_NINE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_9), U(LALT), END - ); -case UC_SUP_ZERO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_0), U(LALT), END - ); -case UC_MULTIPLICATION_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(D), T(KP_7), U(LALT), END - ); -case UC_FR_ONE_HALF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(D), U(LALT), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_2), U(LALT), END + ); +case UC_SUPERSCRIPT_SIX: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_6), U(LALT), END + ); +case UC_DOWNWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_3), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_PI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_0), U(LALT), END + ); +case UC_SUPERSCRIPT_TWO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_2), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_OMEGA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_9), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_PSI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_8), U(LALT), END + ); +case UC_SUBSCRIPT_FOUR: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_4), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_NU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(D), U(LALT), END + ); case UC_DIVISION_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(F), T(KP_7), U(LALT), END - ); -case UC_FR_ONE_QUARTER: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(C), U(LALT), END - ); -case UC_FR_ONE_FIFTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_5), U(LALT), END - ); -case UC_FR_ONE_SIXTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_9), U(LALT), END - ); -case UC_FR_ONE_EIGHTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(B), U(LALT), END - ); -case UC_PLUS_MINUS_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_1), U(LALT), END - ); -case UC_EMPTY_SET: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_5), U(LALT), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(F), T(KP_7), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_3), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_RHO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_1), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_SIXTH: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_9), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_GAMMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_3), U(LALT), END + ); +case UC_VULGAR_FRACTION_TWO_THIRDS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_4), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_NU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(D), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_ZETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_6), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_EPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_5), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_KAPPA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(A), U(LALT), END + ); +case UC_SUPERSCRIPT_SEVEN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_7), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_PI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_0), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_FINAL_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_2), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_XI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(E), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_THETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_8), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_ETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_7), U(LALT), END + ); +case UC_SUBSCRIPT_TWO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_2), U(LALT), END + ); +case UC_ASYMPTOTICALLY_EQUAL_TO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_4), T(KP_3), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_ALPHA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_1), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_PHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_6), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_PHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_6), U(LALT), END + ); case UC_INFINITY: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_1), T(E), U(LALT), END - ); -case UC_SUP_LATIN_SMALL_LETTER_N: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(F), U(LALT), END - ); -case UC_THERE_EXISTS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_3), U(LALT), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_1), T(E), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_OMICRON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(F), U(LALT), END + ); case UC_ELEMENT_OF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_8), U(LALT), END - ); -case UC_FR_ONE_THIRD: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_3), U(LALT), END - ); -case UC_NOT_EQUAL_TO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_6), T(KP_0), U(LALT), END - ); -case UC_FR_TWO_THIRDS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_4), U(LALT), END - ); -case UC_FR_THREE_QUARTERS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(E), U(LALT), END - ); -case UC_ASYMPTOTICALLY_EQUAL_TO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_4), T(KP_3), U(LALT), END - ); -case UC_THERE_DOES_NOT_EXIST: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_4), U(LALT), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_8), U(LALT), END + ); +case UC_MULTIPLICATION_SIGN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(D), T(KP_7), U(LALT), END + ); +case UC_SUBSCRIPT_ZERO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_0), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_SIGMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_3), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_OMEGA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_9), U(LALT), END + ); +case UC_SUBSCRIPT_ONE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_1), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_ZETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_6), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_TAU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_4), U(LALT), END + ); +case UC_SUPERSCRIPT_FIVE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_5), U(LALT), END + ); +case UC_THERE_EXISTS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_3), U(LALT), END + ); +case UC_PLUS_MINUS_SIGN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_1), U(LALT), END + ); +case UC_VULGAR_FRACTION_THREE_QUARTERS: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(E), U(LALT), END + ); +case UC_SUPERSCRIPT_THREE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_3), U(LALT), END + ); +case UC_EMPTY_SET: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_5), U(LALT), END + ); +case UC_UPWARDS_ARROW: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_1), U(LALT), END + ); +case UC_SUPERSCRIPT_NINE: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_9), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_DELTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_4), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_MU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(C), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_KAPPA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(A), U(LALT), END + ); +case UC_SUBSCRIPT_EIGHT: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_8), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_ALPHA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_1), U(LALT), END + ); +case UC_SUBSCRIPT_SEVEN: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_7), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_BETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_2), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_ETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_7), U(LALT), END + ); +case UC_SUPERSCRIPT_EIGHT: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_8), U(LALT), END + ); +case UC_SUPERSCRIPT_ZERO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_0), U(LALT), END + ); case UC_NOT_AN_ELEMENT_OF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_9), U(LALT), END - ); -case UC_SUB_ONE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_1), U(LALT), END - ); -case UC_SUB_TWO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_2), U(LALT), END - ); -case UC_SUB_THREE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_3), U(LALT), END - ); -case UC_SUB_FOUR: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_4), U(LALT), END - ); -case UC_SUB_FIVE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_5), U(LALT), END - ); -case UC_SUB_SIX: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_6), U(LALT), END - ); -case UC_SUB_SEVEN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_7), U(LALT), END - ); -case UC_SUB_EIGHT: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_8), U(LALT), END - ); -case UC_SUB_NINE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_9), U(LALT), END - ); -case UC_SUB_ZERO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_0), U(LALT), END - ); -case UC_GR_LC_CHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_7), U(LALT), END - ); -case UC_GR_LC_PI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_0), U(LALT), END - ); -case UC_GR_LC_PHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_6), U(LALT), END - ); -case UC_GR_LC_OMEGA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_9), U(LALT), END - ); -case UC_GR_LC_GAMMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_3), U(LALT), END - ); -case UC_GR_LC_ETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_7), U(LALT), END - ); -case UC_GR_LC_XI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(E), U(LALT), END - ); -case UC_GR_LC_KAPPA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(A), U(LALT), END - ); -case UC_GR_LC_LAMDA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(B), U(LALT), END - ); -case UC_GR_LC_ZETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_6), U(LALT), END - ); -case UC_GR_LC_UPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_5), U(LALT), END - ); -case UC_GR_LC_IOTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_9), U(LALT), END - ); -case UC_GR_LC_ALPHA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_1), U(LALT), END - ); -case UC_GR_LC_EPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_5), U(LALT), END - ); -case UC_GR_LC_OMICRON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(F), U(LALT), END - ); -case UC_GR_LC_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_3), U(LALT), END - ); -case UC_GR_LC_NU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(D), U(LALT), END - ); -case UC_GR_LC_RHO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_1), U(LALT), END - ); -case UC_GR_LC_TAU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_4), U(LALT), END - ); -case UC_GR_LC_DELTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_4), U(LALT), END - ); -case UC_GR_LC_FINAL_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_2), U(LALT), END - ); -case UC_GR_LC_THETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_8), U(LALT), END - ); -case UC_GR_LC_BETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_2), U(LALT), END - ); -case UC_GR_LC_MU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(C), U(LALT), END - ); -case UC_GR_LC_PSI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_8), U(LALT), END - ); -case UC_GR_UC_CHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_7), U(LALT), END - ); -case UC_GR_UC_PI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_0), U(LALT), END - ); -case UC_GR_UC_PHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_6), U(LALT), END - ); -case UC_GR_UC_OMEGA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_9), U(LALT), END - ); -case UC_GR_UC_GAMMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_3), U(LALT), END - ); -case UC_GR_UC_ETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_7), U(LALT), END - ); -case UC_GR_UC_XI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(E), U(LALT), END - ); -case UC_GR_UC_KAPPA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(A), U(LALT), END - ); -case UC_GR_UC_LAMDA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(B), U(LALT), END - ); -case UC_GR_UC_ZETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_6), U(LALT), END - ); -case UC_GR_UC_UPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_5), U(LALT), END - ); -case UC_GR_UC_IOTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_9), U(LALT), END - ); -case UC_GR_UC_ALPHA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_1), U(LALT), END - ); -case UC_GR_UC_EPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_5), U(LALT), END - ); -case UC_GR_UC_OMICRON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(F), U(LALT), END - ); -case UC_GR_UC_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_3), U(LALT), END - ); -case UC_GR_UC_NU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(D), U(LALT), END - ); -case UC_GR_UC_RHO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_1), U(LALT), END - ); -case UC_GR_UC_TAU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_4), U(LALT), END - ); -case UC_GR_UC_DELTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_4), U(LALT), END - ); -case UC_GR_UC_THETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_8), U(LALT), END - ); -case UC_GR_UC_BETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_2), U(LALT), END - ); -case UC_GR_UC_MU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(C), U(LALT), END - ); -case UC_GR_UC_PSI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_8), U(LALT), END - ); - default: - break; - } - } else if (unicode_mode == UC_MODE_LINUX) { - switch(id) { - case UC_UPWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_1), T(KP_ENTER), END - ); + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_9), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_UPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_5), U(LALT), END + ); +case UC_NOT_EQUAL_TO: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_6), T(KP_0), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_CHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_7), U(LALT), END + ); +case UC_FOR_ALL: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_0), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_TAU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_4), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_QUARTER: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(C), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_CHI: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_7), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_THETA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_8), U(LALT), END + ); +case UC_GREEK_SMALL_LETTER_IOTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_9), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_LAMDA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(B), U(LALT), END + ); +case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(F), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_UPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_5), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_MU: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(C), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_EPSILON: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_5), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_GAMMA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_3), U(LALT), END + ); +case UC_SUBSCRIPT_SIX: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_6), U(LALT), END + ); +case UC_GREEK_CAPITAL_LETTER_DELTA: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_4), U(LALT), END + ); +case UC_VULGAR_FRACTION_ONE_HALF: + return MACRODOWN( + D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(D), U(LALT), END + ); + default: + break; + } + } else if (unicode_mode == UC_MODE_LINUX) { + switch(id) { + case UC_GREEK_SMALL_LETTER_OMICRON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(F), T(KP_ENTER), END + ); case UC_LEFTWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_0), T(KP_ENTER), END - ); -case UC_DOWNWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_3), T(KP_ENTER), END - ); + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_0), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_RHO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_1), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_THREE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_3), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_EIGHTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(B), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_LAMDA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(B), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_THIRD: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_3), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_XI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(E), T(KP_ENTER), END + ); +case UC_THERE_DOES_NOT_EXIST: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_4), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_ONE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_BETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_2), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_FIVE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_5), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_IOTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_9), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_FIFTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_5), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_PSI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_8), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_NINE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_9), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_FOUR: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_4), T(KP_ENTER), END + ); case UC_RIGHTWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_2), T(KP_ENTER), END - ); -case UC_SUP_ONE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_9), T(KP_ENTER), END - ); -case UC_SUP_TWO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_2), T(KP_ENTER), END - ); -case UC_SUP_THREE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_3), T(KP_ENTER), END - ); -case UC_SUP_FOUR: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_4), T(KP_ENTER), END - ); -case UC_SUP_FIVE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_5), T(KP_ENTER), END - ); -case UC_FOR_ALL: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_0), T(KP_ENTER), END - ); -case UC_SUP_SIX: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_6), T(KP_ENTER), END - ); -case UC_SUP_SEVEN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_7), T(KP_ENTER), END - ); -case UC_SUP_EIGHT: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_8), T(KP_ENTER), END - ); -case UC_SUP_NINE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_9), T(KP_ENTER), END - ); -case UC_SUP_ZERO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_0), T(KP_ENTER), END - ); -case UC_MULTIPLICATION_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(D), T(KP_7), T(KP_ENTER), END - ); -case UC_FR_ONE_HALF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(D), T(KP_ENTER), END - ); + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_2), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_SIX: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_6), T(KP_ENTER), END + ); +case UC_DOWNWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_3), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_PI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_0), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_TWO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_2), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_OMEGA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_PSI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_8), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_FOUR: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_4), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_NU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(D), T(KP_ENTER), END + ); case UC_DIVISION_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(F), T(KP_7), T(KP_ENTER), END - ); -case UC_FR_ONE_QUARTER: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(C), T(KP_ENTER), END - ); -case UC_FR_ONE_FIFTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_5), T(KP_ENTER), END - ); -case UC_FR_ONE_SIXTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_9), T(KP_ENTER), END - ); -case UC_FR_ONE_EIGHTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(B), T(KP_ENTER), END - ); -case UC_PLUS_MINUS_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_1), T(KP_ENTER), END - ); -case UC_EMPTY_SET: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_5), T(KP_ENTER), END - ); + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(F), T(KP_7), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_3), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_RHO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_1), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_SIXTH: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_GAMMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_3), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_TWO_THIRDS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_4), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_NU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(D), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_ZETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_6), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_EPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_5), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_KAPPA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(A), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_SEVEN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_7), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_PI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_0), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_FINAL_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_2), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_XI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(E), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_THETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_8), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_ETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_7), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_TWO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_2), T(KP_ENTER), END + ); +case UC_ASYMPTOTICALLY_EQUAL_TO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_4), T(KP_3), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_ALPHA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_1), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_PHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_6), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_PHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_6), T(KP_ENTER), END + ); case UC_INFINITY: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_1), T(E), T(KP_ENTER), END - ); -case UC_SUP_LATIN_SMALL_LETTER_N: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(F), T(KP_ENTER), END - ); -case UC_THERE_EXISTS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_3), T(KP_ENTER), END - ); + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_1), T(E), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_OMICRON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(F), T(KP_ENTER), END + ); case UC_ELEMENT_OF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_8), T(KP_ENTER), END - ); -case UC_FR_ONE_THIRD: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_3), T(KP_ENTER), END - ); -case UC_NOT_EQUAL_TO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_6), T(KP_0), T(KP_ENTER), END - ); -case UC_FR_TWO_THIRDS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_4), T(KP_ENTER), END - ); -case UC_FR_THREE_QUARTERS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(E), T(KP_ENTER), END - ); -case UC_ASYMPTOTICALLY_EQUAL_TO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_4), T(KP_3), T(KP_ENTER), END - ); -case UC_THERE_DOES_NOT_EXIST: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_4), T(KP_ENTER), END - ); + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_8), T(KP_ENTER), END + ); +case UC_MULTIPLICATION_SIGN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(D), T(KP_7), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_ZERO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_0), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_SIGMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_3), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_OMEGA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_9), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_ONE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_1), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_ZETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_6), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_TAU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_4), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_FIVE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_5), T(KP_ENTER), END + ); +case UC_THERE_EXISTS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_3), T(KP_ENTER), END + ); +case UC_PLUS_MINUS_SIGN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_1), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_THREE_QUARTERS: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(E), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_THREE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_3), T(KP_ENTER), END + ); +case UC_EMPTY_SET: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_5), T(KP_ENTER), END + ); +case UC_UPWARDS_ARROW: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_1), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_NINE: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_DELTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_4), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_MU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(C), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_KAPPA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(A), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_EIGHT: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_8), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_ALPHA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_1), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_SEVEN: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_7), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_BETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_2), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_ETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_7), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_EIGHT: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_8), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_ZERO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_0), T(KP_ENTER), END + ); case UC_NOT_AN_ELEMENT_OF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_9), T(KP_ENTER), END - ); -case UC_SUB_ONE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_1), T(KP_ENTER), END - ); -case UC_SUB_TWO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_2), T(KP_ENTER), END - ); -case UC_SUB_THREE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_3), T(KP_ENTER), END - ); -case UC_SUB_FOUR: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_4), T(KP_ENTER), END - ); -case UC_SUB_FIVE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_5), T(KP_ENTER), END - ); -case UC_SUB_SIX: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_6), T(KP_ENTER), END - ); -case UC_SUB_SEVEN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_7), T(KP_ENTER), END - ); -case UC_SUB_EIGHT: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_8), T(KP_ENTER), END - ); -case UC_SUB_NINE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_9), T(KP_ENTER), END - ); -case UC_SUB_ZERO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_0), T(KP_ENTER), END - ); -case UC_GR_LC_CHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_7), T(KP_ENTER), END - ); -case UC_GR_LC_PI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_0), T(KP_ENTER), END - ); -case UC_GR_LC_PHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_6), T(KP_ENTER), END - ); -case UC_GR_LC_OMEGA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_9), T(KP_ENTER), END - ); -case UC_GR_LC_GAMMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_3), T(KP_ENTER), END - ); -case UC_GR_LC_ETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_7), T(KP_ENTER), END - ); -case UC_GR_LC_XI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(E), T(KP_ENTER), END - ); -case UC_GR_LC_KAPPA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(A), T(KP_ENTER), END - ); -case UC_GR_LC_LAMDA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(B), T(KP_ENTER), END - ); -case UC_GR_LC_ZETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_6), T(KP_ENTER), END - ); -case UC_GR_LC_UPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_5), T(KP_ENTER), END - ); -case UC_GR_LC_IOTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_9), T(KP_ENTER), END - ); -case UC_GR_LC_ALPHA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_1), T(KP_ENTER), END - ); -case UC_GR_LC_EPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_5), T(KP_ENTER), END - ); -case UC_GR_LC_OMICRON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(F), T(KP_ENTER), END - ); -case UC_GR_LC_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_3), T(KP_ENTER), END - ); -case UC_GR_LC_NU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(D), T(KP_ENTER), END - ); -case UC_GR_LC_RHO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_1), T(KP_ENTER), END - ); -case UC_GR_LC_TAU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_4), T(KP_ENTER), END - ); -case UC_GR_LC_DELTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_4), T(KP_ENTER), END - ); -case UC_GR_LC_FINAL_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_2), T(KP_ENTER), END - ); -case UC_GR_LC_THETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_8), T(KP_ENTER), END - ); -case UC_GR_LC_BETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_2), T(KP_ENTER), END - ); -case UC_GR_LC_MU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(C), T(KP_ENTER), END - ); -case UC_GR_LC_PSI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_8), T(KP_ENTER), END - ); -case UC_GR_UC_CHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_7), T(KP_ENTER), END - ); -case UC_GR_UC_PI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_0), T(KP_ENTER), END - ); -case UC_GR_UC_PHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_6), T(KP_ENTER), END - ); -case UC_GR_UC_OMEGA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_9), T(KP_ENTER), END - ); -case UC_GR_UC_GAMMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_3), T(KP_ENTER), END - ); -case UC_GR_UC_ETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_7), T(KP_ENTER), END - ); -case UC_GR_UC_XI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(E), T(KP_ENTER), END - ); -case UC_GR_UC_KAPPA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(A), T(KP_ENTER), END - ); -case UC_GR_UC_LAMDA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(B), T(KP_ENTER), END - ); -case UC_GR_UC_ZETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_6), T(KP_ENTER), END - ); -case UC_GR_UC_UPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_5), T(KP_ENTER), END - ); -case UC_GR_UC_IOTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_9), T(KP_ENTER), END - ); -case UC_GR_UC_ALPHA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_1), T(KP_ENTER), END - ); -case UC_GR_UC_EPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_5), T(KP_ENTER), END - ); -case UC_GR_UC_OMICRON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(F), T(KP_ENTER), END - ); -case UC_GR_UC_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_3), T(KP_ENTER), END - ); -case UC_GR_UC_NU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(D), T(KP_ENTER), END - ); -case UC_GR_UC_RHO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_1), T(KP_ENTER), END - ); -case UC_GR_UC_TAU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_4), T(KP_ENTER), END - ); -case UC_GR_UC_DELTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_4), T(KP_ENTER), END - ); -case UC_GR_UC_THETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_8), T(KP_ENTER), END - ); -case UC_GR_UC_BETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_2), T(KP_ENTER), END - ); -case UC_GR_UC_MU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(C), T(KP_ENTER), END - ); -case UC_GR_UC_PSI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_8), T(KP_ENTER), END - ); - default: - break; - } - } + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_UPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_5), T(KP_ENTER), END + ); +case UC_NOT_EQUAL_TO: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_6), T(KP_0), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_CHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_7), T(KP_ENTER), END + ); +case UC_FOR_ALL: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_0), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_TAU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_4), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_QUARTER: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(C), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_CHI: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_7), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_THETA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_8), T(KP_ENTER), END + ); +case UC_GREEK_SMALL_LETTER_IOTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_9), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_LAMDA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(B), T(KP_ENTER), END + ); +case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(F), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_UPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_5), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_MU: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(C), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_EPSILON: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_5), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_GAMMA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_3), T(KP_ENTER), END + ); +case UC_SUBSCRIPT_SIX: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_6), T(KP_ENTER), END + ); +case UC_GREEK_CAPITAL_LETTER_DELTA: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_4), T(KP_ENTER), END + ); +case UC_VULGAR_FRACTION_ONE_HALF: + return MACRODOWN( + D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(D), T(KP_ENTER), END + ); + default: + break; + } + } return MACRO_NONE; }; // Runs just one time when the keyboard initializes. -void * matrix_init_user(void) { +void matrix_init_user(void) { }; // Runs constantly in the background, in a loop. -void * matrix_scan_user(void) { +void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); ergodox_board_led_off(); diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md index 9c0c12528b..1dc019ab05 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md @@ -1,8 +1,14 @@ # ManuNeo Ergodox Keyboard Layout +Compile this file to a `keymap.c` file using `compile_keymap.py` + + compile_keymap.py keymaps/german-manuneo/keymap.md + + # Layout Config { + "layout": "ergodox_ez", "includes_dir": "quantum/", "keymaps_includes": [ "ergodox_ez.h", @@ -10,22 +16,14 @@ "keymap_common.h", "keymap_extras/keymap_german.h", ], - "keymap_indexes": [ - [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44], - [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51], - [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57], - [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64], - [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69], - [ 32, 33], [70, 71 ], - [ 34], [72 ], - [ 35, 36, 37], [73, 74, 75 ], - ], "key_prefixes": ["DE_", "KC_"], "filler": "-+.'!x", "separator": "|", "macros": { - "MUC": "", + // TODO: implement macros + // "MUC": "", }, + // TODO: implement default unicode mode } @@ -34,189 +32,201 @@ ## Layer 0 - .-------------------------------------. .-------------------------------------. - |MO(5)| 1 | 2 | 3 | 4 | 5 | ACUT | ! GRV | 6 | 7 | 8 | 9 | 0 |CIRC | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - |MO(4)| X | P | F | W | G | HOME | !TG(2) | H | J | K | L | Q | Z | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - |MO(1)| U | I | A | E | O |------! !------! S | N | R | T | D | SS | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - |MO(3)| UE | OE | AE | C | V | END | ! TAB | B | M |COMM| DOT| UP | Y | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| - '------------------------'.-------------. .-------------.'------------------------' - | INS |TG(2) | !M(UMS)| DELT | - .------+------+------! !------+------+------. - ! ! | APP | ! PGUP | ! ! - ! ! !------! !------! ! ! - | BSPC | LSFT | ESC | ! PGDN |ENTER |SPACE | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + '------------------------' '------------------------' + .-----------. .-----------. + |INS |TG(2)| !M(UM)|DELT | + .-----+-----+-----! !-----+-----+-----. + ! ! | APP | ! PGUP| ! ! + ! ! !-----! !-----! ! ! + |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE| + '-----------------' '-----------------' ## Layer 1 - .-------------------------------------. .-------------------------------------. - | |EXLM|DQOT|PARA| | | | ! | | | | |RING| | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | |ASTR|PIPE|SLSH|LCBR|RCBR| | ! |HASH|LESS|MORE| |DQOT| | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | |UNDS|MINS|AMPR|LBRC|RBRC|------! !------!DLR |LPRN|RPRN|TILD|QUOT|QST | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | |PLUS| EQL| | | | ! |BSLS|PERC|SCLN|COLN| ↑ | | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | ← | ↓ | → | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | |EXLM|DQOT|PARA| | | | | | | | |RING| | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | ← | ↓ | → | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' ## Layer 2 - .-------------------------------------. .-------------------------------------. - | | F1 | F2 | F3 | F4 | F5 | F11 | ! F12 | F6 | F7 | F8 | F9 |F10 |PEQL | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | | | | | | | ! | | P7 | P8 | P9 |PAST|PSLS | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | |------! !------! | P4 | P5 | P6 |PMNS|PMNS | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | | | ! NLCK | | P1 | P2 | P3 |PPLS|PPLS | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! P0 |PCMM|PDOT|PENT|PENT| + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + ## Layer 3 http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html - .-------------------------------------. .-------------------------------------. - | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | ! | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | × | ½ | ÷ | ¼ | ⅕ | | ! | ⅙ | | ⅛ | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | ± | AT |EURO| ∅ |------! !------! ∞ | ⁿ | ∃ | ∈ | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | ! |EXLM| | ∄ | ∉ | | | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' ## Layer 4 - .-------------------------------------. .-------------------------------------. - | | ₁ | ₂ | ₃ | ₄ | ₅ | | ! | ₆ | ₇ | ₈ | ₉ | ₀ | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | χ | π | φ | ω | γ | | ! | η | ξ | κ | λ | | ζ | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | υ | ι | α | ε | ο |------! !------! σ | ν | ρ | τ | δ | ς | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | θ | | | | | ! | β | μ | | | | ψ | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + + .------------------------------------.------------------------------------. + | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | θ | | | | | | β | μ | | | | ψ | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' ## Layer 5 - .-------------------------------------. .-------------------------------------. - | | | | | | | | ! | | | | | | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | Χ | Π | Φ | Ω | Γ | | ! | Η | Ξ | Κ | Λ | | Ζ | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | Υ | Ι | Α | Ε | Ο |------! !------! Σ | Ν | Ρ | Τ | Δ | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | Θ | | | | | ! | Β | Μ | | | | Ψ | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | Θ | | | | | | Β | Μ | | | | Ψ | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' ## Layer 6 - .-------------------------------------. .-------------------------------------. - | | | | | | | | ! | | | | | | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | | | | | | | ! | | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | |------! !------! | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | | | ! | | | | | | | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | | | | | | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' + ## Layer 7 - .-------------------------------------. .-------------------------------------. - | | | | | | | | ! | | | | | | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | | | | | | | ! | | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | |------! !------! | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | | | ! | | | | | | | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | | | | | | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' ## Layer 8 - .-------------------------------------. .-------------------------------------. - | | | | | | | | ! | | | | | | | - !-----+----+----+----+----+-----------! !------+----+----+----+----+----+-----! - | | | | | | | | ! | | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | |------! !------! | | | | | | - !-----+----+----+----x----x----! ! ! !----x----x----+----+----+-----! - | | | | | | | | ! | | | | | | | - '-----+----+----+----+----+-----------' '-----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------'.-------------. .-------------.'------------------------' - | | | ! | | - .------+------+------! !------+------+------. - ! ! | | ! | ! ! - ! ! !------! !------! ! ! - | | | | ! | | | - '--------------------' '--------------------' + .------------------------------------.------------------------------------. + | | | | | | | | | | | | | | | + !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! + | | | | | | | | | | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | |-----!-----! | | | | | | + !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! + | | | | | | | | | | | | | | | + '-----+----+----+----+----+----------'----------+----+----+----+----+-----' + | | | | | | ! | | | | | + '------------------------' '------------------------' + .-----------. .-----------. + | | | ! | | + .-----+-----+-----! !-----+-----+-----. + ! ! | | ! | ! ! + ! ! !-----! !-----! ! ! + | | | | ! | | | + '-----------------' '-----------------' -- cgit v1.2.1 From a2d3c0bd93bf97264bb94510c126d4fd21b7b135 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Mon, 28 Mar 2016 23:42:55 +0200 Subject: add hex file --- .../keymaps/german-manuneo/german-manuneo.hex | 1624 ++++++++++++++++++++ 1 file changed, 1624 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex new file mode 100644 index 0000000000..cb8b7fa8d4 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex @@ -0,0 +1,1624 @@ +:100000000C94BD0F0C9401100C9401100C94011071 +:100010000C9401100C9401100C9401100C9401101C +:100020000C9401100C9401100C94791B0C944B1C33 +:100030000C9401100C9401100C9401100C940110FC +:100040000C9401100C94D6300C9401100C940110F7 +:100050000C9401100C94782A0C9401100C9401104B +:100060000C9401100C9401100C9401100C940110CC +:100070000C9401100C9401100C9401100C940110BC +:100080000C9401100C9401100C9401100C940110AC +:100090000C9401100C9401100C9401100C9401109C +:1000A0000C9401100C9401100C940110AB107810FA +:1000B0006310BD10E4101711F910FF1014113E1158 +:1000C0003511021138114E10F3102911321175102B +:1000D0006C10BA10B11099106F103010C6101A11B0 +:1000E00023112F119F10CF10AE1048102011ED10CA +:1000F0009010A5109C108410261193103910F01048 +:100100008A10C9106C12B410661054107E107B1047 +:10011000D210A2100E113F108D10B7102D10C0106C +:100120000B111111DB105D10F6104B1072105710EF +:10013000CC10FC103B113310A810C3100511D510C2 +:100140005A102C11EA10451096106010E110691039 +:1001500008114210D810E7103610511041111D112E +:1001600081103C10DE108710D311A0118B11E51106 +:100170000C123F12211227123C1266125D122A1233 +:10018000601276111B1251125A129D119411E21134 +:10019000D911C11197115811EE1142124B12571279 +:1001A000C711F711D611701148121512B811CD11DF +:1001B000C411AC114E12BB1161111812B211F11120 +:1001C0006F12DC118E117C11A611A311FA11CA1144 +:1001D00036126711B511DF115511E81133123912BA +:1001E000031285111E1273119A117F11F41124123A +:1001F00063125B11D011EB112D12FD1182115412FB +:1002000012126D11BE1188110912911130126A116A +:1002100000120F125E11791169124512A9116411B1 +:100220000612AF11B01CD21CBD1DD21CBD1D141D69 +:10023000371DBD1D8C1D9F1D8C208C20BA20BA201F +:10024000FC203821382338235021382347224722E5 +:10025000122338233823262301E001E10118021874 +:1002600002E002E10162026201620262010502052E +:1002700001070207015802580001E001E1011802DC +:100280001802E002E101620262015B025B016102AD +:1002900061015C025C015802580001E001E10118B3 +:1002A000021802E002E1015A025A01620262016090 +:1002B0000260015E025E015802580001E001E101A6 +:1002C00018021802E002E101620262015B025B01B6 +:1002D000610261015B025B015802580001E001E12B +:1002E0000118021802E002E101620262015B025B96 +:1002F00001610261015D025D015802580001E001E7 +:10030000E10118021802E002E101620262015B02EF +:100310005B0161026101060206015802580001E01A +:1003200001E10118021802E002E101620262015BD0 +:10033000025B01040204015D025D015802580001E4 +:10034000E001E10118021802E002E1015A025A013B +:10035000620262015F025F0109020901580258004E +:1003600001E001E10118021802E002E1016202620B +:10037000015B025B0161026101050205015802583F +:100380000001E001E10118021802E002E10162024D +:1003900062015B025B010502050161026101580215 +:1003A000580001E001E10118021802E002E10162D7 +:1003B0000262015B025B016102610160026001583F +:1003C00002580001E001E10118021802E002E10117 +:1003D000620262015B025B01060206015F025F01CD +:1003E0005802580001E001E10118021802E002E1A0 +:1003F0000162026201620262010502050106020653 +:10040000015802580001E001E10118021802E0025F +:10041000E101620262015B025B01040204015C0211 +:100420005C015802580001E001E10118021802E0E5 +:1004300002E1015A025A015A025A01620262016241 +:100440000262015802580001E001E101180218029D +:10045000E002E101620262015B025B01040204014D +:100460005F025F015802580001E001E10118021823 +:1004700002E002E1015A025A015A025A015E025E8A +:1004800001620262015802580001E001E101180214 +:100490001802E002E101620262015B025B010602F6 +:1004A00006015D025D015802580001E001E10118FA +:1004B000021802E002E1015A025A015A025A01628C +:1004C000026201610261015802580001E001E1018C +:1004D00018021802E002E1015A025A0162026201A6 +:1004E0005F025F01620262015802580001E001E10F +:1004F0000118021802E002E1015A025A0162026286 +:10050000015F025F01600260015802580001E001D2 +:10051000E10118021802E002E101620262015B02DD +:100520005B01610261015F025F015802580001E056 +:1005300001E10118021802E002E101620262015BBE +:10054000025B01610261015A025A0158025800011E +:10055000E001E10118021802E002E1015A025A0129 +:1005600062026201600260015F025F01580258008E +:1005700001E001E10118021802E002E101620262F9 +:10058000015B025B01610261015902590158025885 +:100590000001E001E10118021802E002E1015A0243 +:1005A0005A01620262016002600160026001580249 +:1005B000580001E001E10118021802E002E10162C5 +:1005C0000262015B025B01610261010402040158E5 +:1005D00002580001E001E10118021802E002E10105 +:1005E000620262015B025B0105020501060206016F +:1005F0005802580001E001E10118021802E002E18E +:1006000001620262015B025B01050205015C025CA2 +:10061000015802580001E001E10118021802E0024D +:10062000E1015A025A01620262015F025F01610246 +:1006300061015802580001E001E10118021802E0CE +:1006400002E1015A025A015902590161026101593C +:100650000259015802580001E001E1011802180294 +:10066000E002E1015A025A015A025A016202620191 +:100670005D025D015802580001E001E10118021815 +:1006800002E002E10162026201620262010502050A +:10069000015B025B015802580001E001E101180210 +:1006A0001802E002E10162026201620262010502D7 +:1006B0000501080208015802580001E001E1011893 +:1006C000021802E002E101620262016202620105B7 +:1006D000020501590259015802580001E001E101E7 +:1006E00018021802E002E1015A025A015A025A01A4 +:1006F000620262015B025B015802580001E001E105 +:100700000118021802E002E1015A025A0162026273 +:10071000015F025F015D025D015802580001E001C6 +:10072000E10118021802E002E101620262015B02CB +:100730005B01060206015C025C015802580001E000 +:1007400001E10118021802E002E101620262015BAC +:10075000025B01610261015E025E01580258000104 +:10076000E001E10118021802E002E1015A025A0117 +:100770006202620160026001590259015802580088 +:1007800001E001E10118021802E002E101620262E7 +:10079000015B025B01060206016102610158025819 +:1007A0000001E001E10118021802E002E101620229 +:1007B00062015B025B01040204015B025B015802FF +:1007C000580001E001E10118021802E002E1015ABB +:1007D000025A016202620160026001620262015813 +:1007E00002580001E001E10118021802E002E101F3 +:1007F0006202620162026201070207015F025F0199 +:100800005802580001E001E10118021802E002E17B +:10081000015A025A015A025A0162026201600260E0 +:10082000015802580001E001E10118021802E0023B +:10083000E101620262015B025B0161026101090286 +:1008400009015802580001E001E10118021802E014 +:1008500002E1015A025A015A025A01590259010889 +:100860000208015802580001E001E10118021802D3 +:10087000E002E101620262015B025B010602060125 +:100880005E025E015802580001E001E10118021801 +:1008900002E002E101620262015B025B0104020408 +:1008A000015E025E015802580001E001E1011802F8 +:1008B0001802E002E101620262015B025B010502D3 +:1008C0000501590259015802580001E001E10118DF +:1008D000021802E002E1015A025A015A025A015C6E +:1008E000025C015B025B015802580001E001E1017A +:1008F00018021802E002E1015A025A016202620182 +:10090000600260015A025A015802580001E001E1F8 +:100910000118021802E002E101620262015B025B5F +:1009200001050205015F025F015802580001E00164 +:10093000E10118021802E002E101620262015B02B9 +:100940005B0105020501600260015802580001E0E8 +:1009500001E10118021802E002E101620262015B9A +:10096000025B01610261010802080158025800019E +:10097000E001E10118021802E002E10162026201F5 +:100980005B025B01060206015A025A015802580036 +:1009900001E001E10118021802E002E101620262D5 +:1009A000015B025B01040204016202620158025809 +:1009B0000001E001E10118021802E002E1015A021F +:1009C0005A01620262015F025F015F025F01580229 +:1009D000580001E001E10118021802E002E10162A1 +:1009E0000262015B025B0105020501040204015879 +:1009F00002580001E001E10118021802E002E101E1 +:100A0000620262015B025B01050205015D025D019C +:100A10005802580001E001E10118021802E002E169 +:100A200001620262015B025B01050205015E025E7A +:100A3000015802580001E001E10118021802E00229 +:100A4000E101620262015B025B010502050107022E +:100A500007015802580001E001E10118021802E004 +:100A600002E1015A025A01590259015D025D015C1D +:100A7000025C015802580001E001E101180218026D +:100A8000E002E101620262015B025B010502050115 +:100A90005B025B015802580001E001E101180218F5 +:100AA00002E002E1015A025A01590259015D025D58 +:100AB00001610261015802580001E001E1011802E0 +:100AC0001802E002E101620262015B025B010602C0 +:100AD0000601590259015802580001E001E10118CC +:100AE000021802E002E101620262015B025B0106A0 +:100AF0000206015B025B015802580001E001E101BE +:100B000018021802E002E10162026201620262015F +:100B1000090209015F025F015802580001E001E18A +:100B20000118021802E002E101620262015B025B4D +:100B30000161026101070207015802580001E0014A +:100B4000E10118021802E002E1015A025A016202B0 +:100B50006201600260015C025C015802580001E021 +:100B600001E10118021802E002E101620262015B88 +:100B7000025B010402040160026001580258000196 +:100B8000E001E10118021802E002E10162026201E3 +:100B90005B025B010402040161026101580258001A +:100BA00001E001E10118021802E002E101620262C3 +:100BB0000162026201050205015A025A01580258F7 +:100BC0000001E001E10118021802E002E101620205 +:100BD00062015B025B0106020601620262015802C9 +:100BE000580001E001E10118021802E002E1015A97 +:100BF000025A0159025901610261015B025B01580D +:100C000002580001E001E10118021802E002E101CE +:100C10005A025A01620262015F025F015E025E01D6 +:100C20005802580001E001E10118021802E002E157 +:100C3000015A025A0159025901610261015A025ACC +:100C4000015802580001E001E10118021802E00217 +:100C5000E1015A025A01620262015F025F015C0215 +:100C60005C015802580001E001E10118021802E09D +:100C700002E1015A025A01620262016002600161EE +:100C80000261015802580001E001E1011802180256 +:100C9000E002E101620262015B025B010602060101 +:100CA000600260015802580001E001E101180218D9 +:100CB00002E002E1015A025A01590259015D025D46 +:100CC000015D025D015802580001E001E1011802D6 +:100CD0001802E002E101620262015B025B01610253 +:100CE0006101610261015802580001E001E101184F +:100CF000021802E002E1015A025A01620262016036 +:100D00000260015D025D015802580001E001E1014D +:100D100018021802E002E101620262015B025B015B +:100D2000050205015A025A015802580001E001E18A +:100D30000118021802E002E101620262016202622D +:100D40000105020501610261015802580001E0013C +:100D5000E10118021802E002E1015A025A015A02A6 +:100D60005A01620262015C025C015802580001E013 +:100D700001E10118021802E002E101620262015B76 +:100D8000025B010502050108020801580258000132 +:100D9000E001E10118021802E002E1015A025A01E1 +:100DA000590259015D025D015B025B015802580066 +:100DB00001E001E10118021802E002E101620262B1 +:100DC000015B025B0105020501050205015802589D +:100DD0000001E001E10118021802E002E1015A02FB +:100DE0005A01590259015D025D01050205015802CF +:100DF000580001E001E10118021802E002E1015A85 +:100E0000025A0162026201600260015B025B0158EA +:100E100002580001E001E10118021802E002E101BC +:100E2000620262015B025B01040204015902590182 +:100E30005802580001E001E10118021802E002E145 +:100E4000015A025A015902590161026101620262AA +:100E5000015802580001E001E10118021802E00205 +:100E6000E101620262015B025B0105020501090208 +:100E700009015802580001E201570257016202625B +:100E800001620262010502050107020702E2000198 +:100E9000E20157025701620262015B025B016102DB +:100EA00061015C025C02E20001E201570257015A53 +:100EB000025A0162026201600260015E025E02E2A9 +:100EC0000001E20157025701620262015B025B010D +:100ED000610261015B025B02E20001E2015702571D +:100EE00001620262015B025B01610261015D025D00 +:100EF00002E20001E20157025701620262015B0255 +:100F00005B016102610106020602E20001E2015793 +:100F1000025701620262015B025B01040204015D8F +:100F2000025D02E20001E201570257015A025A0132 +:100F3000620262015F025F0109020902E20001E24E +:100F40000157025701620262015B025B01610261AB +:100F50000105020502E20001E201570257016202A7 +:100F600062015B025B010502050161026102E200B0 +:100F700001E20157025701620262015B025B0161FB +:100F800002610160026002E20001E20157025701C2 +:100F9000620262015B025B01060206015F025F0200 +:100FA000E20001E20157025701620262016202623D +:100FB000010502050106020602E20001E2015702F4 +:100FC0005701620262015B025B01040204015C02E0 +:100FD0005C02E20001E201570257015A025A015A2B +:100FE000025A016202620162026202E20001E2014F +:100FF00057025701620262015B025B0104020401B5 +:101000005F025F02E20001E201570257015A025AF1 +:10101000015A025A015E025E0162026202E20001AE +:10102000E20157025701620262015B025B010602A4 +:1010300006015D025D02E20001E201570257015A1A +:10104000025A015A025A016202620161026102E21D +:101050000001E201570257015A025A01620262017D +:101060005F025F0162026202E20001E20157025781 +:10107000015A025A01620262015F025F016002606E +:1010800002E20001E20157025701620262015B02C3 +:101090005B01610261015F025F02E20001E2015750 +:1010A000025701620262015B025B01610261015A47 +:1010B000025A02E20001E201570257015A025A01A4 +:1010C00062026201600260015F025F02E20001E20F +:1010D0000157025701620262015B025B016102611A +:1010E0000159025902E20001E201570257015A0276 +:1010F0005A01620262016002600160026002E20065 +:1011000001E20157025701620262015B025B016169 +:1011100002610104020402E20001E20157025701E8 +:10112000620262015B025B01050205010602060222 +:10113000E20001E20157025701620262015B025BB9 +:1011400001050205015C025C02E20001E2015702B6 +:1011500057015A025A01620262015F025F01610295 +:101160006102E20001E201570257015A025A015995 +:101170000259016102610159025902E20001E201D2 +:10118000570257015A025A015A025A016202620179 +:101190005D025D02E20001E2015702570162026254 +:1011A0000162026201050205015B025B02E20001CD +:1011B000E201570257016202620162026201050206 +:1011C000050108020802E20001E20157025701622C +:1011D000026201620262010502050159025902E23E +:1011E0000001E201570257015A025A015A025A01FC +:1011F000620262015B025B02E20001E201570257F8 +:10120000015A025A01620262015F025F015D025DE2 +:1012100002E20001E20157025701620262015B0231 +:101220005B01060206015C025C02E20001E201577A +:10123000025701620262015B025B01610261015EB1 +:10124000025E02E20001E201570257015A025A010E +:10125000620262016002600159025902E20001E289 +:101260000157025701620262015B025B010602063E +:101270000161026102E20001E201570257016202CC +:1012800062015B025B01040204015B025B02E2009B +:1012900001E201570257015A025A016202620160DB +:1012A00002600162026202E20001E201570257019C +:1012B0006202620162026201070207015F025F02CD +:1012C000E20001E201570257015A025A015A025A3A +:1012D000016202620160026002E20001E201570263 +:1012E0005701620262015B025B0161026101090256 +:1012F0000902E20001E201570257015A025A015A5B +:10130000025A015902590108020802E20001E201F1 +:1013100057025701620262015B025B01060206018D +:101320005E025E02E20001E20157025701620262C0 +:10133000015B025B01040204015E025E02E2000145 +:10134000E20157025701620262015B025B01050282 +:10135000050159025902E20001E201570257015A00 +:10136000025A015A025A015C025C015B025B02E212 +:101370000001E201570257015A025A01620262015A +:10138000600260015A025A02E20001E2015702576C +:1013900001620262015B025B01050205015F025FFF +:1013A00002E20001E20157025701620262015B02A0 +:1013B0005B010502050160026002E20001E20157E3 +:1013C000025701620262015B025B01610261010876 +:1013D000020802E20001E2015702570162026201C3 +:1013E0005B025B01060206015A025A02E20001E2B8 +:1013F0000157025701620262015B025B01040204B1 +:101400000162026202E20001E201570257015A0240 +:101410005A01620262015F025F015F025F02E20045 +:1014200001E20157025701620262015B025B0105A2 +:1014300002050104020402E20001E2015702570121 +:10144000620262015B025B01050205015D025D0251 +:10145000E20001E20157025701620262015B025B96 +:1014600001050205015E025E02E20001E20157028F +:101470005701620262015B025B010502050107027E +:101480000702E20001E201570257015A025A0159CC +:101490000259015D025D015C025C02E20001E201B1 +:1014A00057025701620262015B025B0105020501FE +:1014B0005B025B02E20001E201570257015A025A45 +:1014C00001590259015D025D0161026102E2000100 +:1014D000E20157025701620262015B025B010602F0 +:1014E000060159025902E20001E201570257016266 +:1014F0000262015B025B01060206015B025B02E223 +:101500000001E201570257016202620162026201B8 +:10151000090209015F025F02E20001E2015702577E +:1015200001620262015B025B016102610107020765 +:1015300002E20001E201570257015A025A01620217 +:101540006201600260015C025C02E20001E201579C +:10155000025701620262015B025B01040204016046 +:10156000026002E20001E2015702570162026201D9 +:101570005B025B010402040161026102E20001E21C +:10158000015702570162026201620262010502050F +:10159000015A025A02E20001E201570257016202B7 +:1015A00062015B025B010602060162026202E20066 +:1015B00001E201570257015A025A015902590161C9 +:1015C0000261015B025B02E20001E2015702570186 +:1015D0005A025A01620262015F025F015E025E020C +:1015E000E20001E201570257015A025A0159025919 +:1015F00001610261015A025A02E20001E20157024E +:1016000057015A025A01620262015F025F015C02E5 +:101610005C02E20001E201570257015A025A0162DC +:101620000262016002600161026102E20001E20106 +:1016300057025701620262015B025B01060206016A +:1016400060026002E20001E201570257015A025AA9 +:1016500001590259015D025D015D025D02E2000176 +:10166000E20157025701620262015B025B01610203 +:10167000610161026102E20001E201570257015A71 +:10168000025A0162026201600260015D025D02E2D3 +:101690000001E20157025701620262015B025B0135 +:1016A000050205015A025A02E20001E201570257FF +:1016B00001620262016202620105020501610261CA +:1016C00002E20001E201570257015A025A015A028E +:1016D0005A01620262015C025C02E20001E201570F +:1016E000025701620262015B025B0105020501080B +:1016F000020802E20001E201570257015A025A01B0 +:10170000590259015D025D015B025B02E20001E2E8 +:101710000157025701620262015B025B010502058B +:101720000105020502E20001E201570257015A02D7 +:101730005A01590259015D025D0105020502E200EC +:1017400001E201570257015A025A01620262016026 +:101750000260015B025B02E20001E20157025701F5 +:10176000620262015B025B01040204015902590238 +:10177000E20001E201570257015A025A0159025987 +:10178000016102610162026202E20001E2015702AC +:101790005701620262015B025B0105020501090259 +:1017A0000902E200055204520152035201000000F6 +:1017B0001E001B0018002F00010029001F0013004D +:1017C0000C003300E300E1002000090004003400B5 +:1017D000E2002A0021001A0008000600E00065006F +:1017E00022000A0012001900000049002E004A00E1 +:1017F00000004D00000002542E02025400002B0095 +:1018000000005E0023000B001600050000004C00E5 +:1018100024000D0011001000E2004B0025000E0016 +:101820001500360001002C0026000F0017003700BD +:1018300050002800270014000700520051004E00FD +:1018400035001C002D001D004F00000001000100AC +:1018500001000100010000001E02300238020100F8 +:10186000010001001F026414380030000100010073 +:101870002002240223022702010001000100241497 +:1018800025140100010001000100271426140100A5 +:101890000000010001000100000001000000010043 +:1018A0000100010000000100000001000100310002 +:1018B00021022D1400000100010064002502220213 +:1018C000010001000100640226023602010001004D +:1018D00001000100301437023830010035021F02C8 +:1018E0003102553002300100010001002D020100DB +:1018F0003D30000001000100010001000100000076 +:101900003A00010001000100010001003B0001005C +:1019100001000100010001003C0001000100010084 +:10192000010001003D000100010001000100010073 +:101930003E00010001000100000001004400010020 +:1019400000000100000001004500010000005300FC +:10195000000001003F000100010001000000010043 +:1019600040005F005C00590062000100410060001F +:101970005D005A0085000100420061005E005B00CE +:101980006300010043005500560057005800010055 +:101990006700540056005700580000000100010085 +:1019A00001000100010000004D30393001005B30C2 +:1019B00001000100513058303C303B300100010043 +:1019C0005030013014145D30010001004A305930AC +:1019D00008145C30010001004930573004300030F9 +:1019E00000000100053001000000010000000100BE +:1019F0000100010000000100000001004F305A30DA +:101A000037301E02000001004E3001004B30010053 +:101A100001000100483056305430533001000100BD +:101A20004C30010003303A30010001005230010017 +:101A3000010001000100010001000100010001009E +:101A40000100000001000100010001000100000090 +:101A500042302030343001000100010046302E3089 +:101A6000263033300100010045302D301E3001009A +:101A70000100010040302B30223001000100010044 +:101A80003F3025302C300100000001000100010032 +:101A90000000010000000100010001000000010041 +:101AA000000001004430233031301F3000000100BD +:101AB000433035302A302930010001003E302730D4 +:101AC0003030010001000100413028303230010087 +:101AD0000100010047300100213001000100010038 +:101AE0000100363024302F300100000001000100D9 +:101AF0000100010001000000010008301B3001005E +:101B000001000100010015300D301A300100010004 +:101B10000100143006300100010001000100123004 +:101B20000A3001000100010001000C3013300100F7 +:101B300000000100010001000000010000000100A0 +:101B400001000100000001000000010001000B3055 +:101B5000183007300000010001001C301130103037 +:101B60000100010001000E301730010001000100EA +:101B700001000F30193001000100010001000100D7 +:101B8000093001000100010001001D300100163084 +:101B9000010000000100010001000100010000003F +:101BA000010001000100010001000100010001002D +:101BB000010001000100010001000100010001001D +:101BC000010001000100010001000100010001000D +:101BD00001000100010001000000010001000100FE +:101BE00000000100000001000100010000000100F0 +:101BF00000000100010001000100010000000100DF +:101C000001000100010001000100010001000100CC +:101C100001000100010001000100010001000100BC +:101C200001000100010001000100010001000100AC +:101C3000010001000100010001000000010001009D +:101C4000010001000100000001000100010001008D +:101C5000010001000100010001000100010001007C +:101C6000010001000100010001000100010001006C +:101C7000010001000100010001000100010001005C +:101C8000000001000100010000000100000001004F +:101C9000010001000000010000000100010001003E +:101CA000010001000000010001000100010001002D +:101CB000010001000100010001000100010001001C +:101CC000010001000100010001000100010001000C +:101CD00001000100010001000100010001000100FC +:101CE00001000000010001000100010001000000EE +:101CF00001000100010001000100010001000100DC +:101D000001000100010001000100010001000100CB +:101D100001000100010001000100010001000100BB +:101D200001000100010001000000010001000100AC +:101D3000000001000000010001000100000001009E +:101D4000000001000100010001000100000001008D +:101D5000010001000100010001000100010001007B +:101D6000010001000100010001000100010001006B +:101D7000010001000100010001000100010001005B +:101D800001000100010001000100000016034500F0 +:101D9000720067006F0044006F007800200045006B +:101DA0005A00000016034500720067006F004400EF +:101DB0006F007800200045005A0000000403090469 +:101DC00009026D00040100A0FA09040000010301EA +:101DD0000100092111010001223F000705810308CC +:101DE000000A090401000103010200092111010098 +:101DF00001224D000705820308000A0904020001C0 +:101E000003000000092111010001223600070583AB +:101E10000308000A0904030001030000000921115E +:101E2000010001223900070584031000011201108E +:101E30000100000008EDFE0713010001020001058A +:101E4000010906A101050719E029E71500250195FB +:101E5000087501810205081901290595057501918B +:101E600002950175039101050719002977150025D1 +:101E700001957875018102C005010980A1018502E3 +:101E800016010026B7001A01002AB7007510950147 +:101E90008100C0050C0901A1018503160100269CE3 +:101EA000021A01002A9C02751095018100C00501EB +:101EB0000902A1010901A10005091901290515005F +:101EC00025019505750181029501750381010501C3 +:101ED000093009311581257F950275088106093879 +:101EE0001581257F950175088106050C0A380215B4 +:101EF00081257F950175088106C0C005010906A1ED +:101F000001050719E029E7150025019508750181EC +:101F100002950175088101050819012905950575C6 +:101F20000191029501750391010507190029FF151B +:101F30000025FF950675088100C000000000000024 +:101F40000000000000010204060A0F17202C3A4A84 +:101F50005D71879DB3C7DAE9F5FCFFFCF5E9DAC7E7 +:101F6000B39D87715D4A3A2C20170F0A06040201BF +:101F70000000000000000000000011241FBECFEF91 +:101F8000DAE0DEBFCDBF04B603FE24C08091F001CD +:101F90009091F101A091F201B091F3018730904B43 +:101FA000A740B04BB9F41092F0011092F1011092D9 +:101FB000F2011092F30114BE84B7877F84BF88E1D9 +:101FC0000FB6F89480936000109260000FBEE0E0BE +:101FD000FFE3099511E0A0E0B1E0E0E3F5E602C01F +:101FE00005900D92A433B107D9F711E0A4E3B1E055 +:101FF00001C01D92A03FB107E1F70E94BF180C94E9 +:1020000096320C940000FC018281811103C080E0B3 +:1020100090E008956E3561F42091340130913501DE +:102020002F5F3F4F217033273093350120933401C8 +:1020300020913401309135012115310509F024C179 +:10204000862F90E08E35910528F4FC01EA5AFF4F67 +:102050000C944B3280E090E0089582E797E1089578 +:1020600089E597E1089580E497E1089587E297E193 +:1020700008958EE097E1089585EF96E108958CED3F +:1020800096E1089583EC96E108958AEA96E1089531 +:1020900081E996E1089588E796E108958FE596E154 +:1020A000089586E496E108958DE296E1089584E12D +:1020B00096E108958BEF95E1089582EE95E10895FC +:1020C00089EC95E1089580EB95E1089587E995E124 +:1020D00008958EE795E1089585E695E108958CE4ED +:1020E00095E1089583E395E108958AE195E10895E6 +:1020F00081E095E1089588EE94E108958FEC94E1F4 +:10210000089586EB94E108958DE994E1089584E8BB +:1021100094E108958BE694E1089582E594E10895B1 +:1021200089E394E1089580E294E1089587E094E1E1 +:1021300008958EEE93E1089585ED93E108958CEB7B +:1021400093E1089583EA93E108958AE893E108957D +:1021500081E793E1089588E593E108958FE393E1A2 +:10216000089586E293E108958DE093E1089584EF68 +:1021700092E108958BED92E1089582EC92E1089549 +:1021800089EA92E1089580E992E1089587E792E172 +:1021900008958EE592E1089585E492E108958CE238 +:1021A00092E1089583E192E108958AEF91E1089523 +:1021B00081EE91E1089588EC91E108958FEA91E133 +:1021C000089586E991E108958DE791E1089584E607 +:1021D00091E108958BE491E1089582E391E10895FE +:1021E00089E191E1089580E091E1089587EE90E121 +:1021F00008958EEC90E1089585EB90E108958CE9C7 +:1022000090E1089583E890E108958AE690E10895C9 +:1022100081E590E1089588E390E108958FE190E1F0 +:10222000089586E090E108958DEE9FE0089584ED95 +:102230009FE008958BEB9FE0089582EA9FE0089568 +:1022400089E89FE0089580E79FE0089587E59FE093 +:1022500008958EE39FE0089585E29FE008958CE065 +:102260009FE0089583EF9EE008958AED9EE0089533 +:1022700081EC9EE0089588EA9EE008958FE89EE054 +:10228000089586E79EE008952130310509F0BFCE1C +:10229000862F90E08E35910528F4FC01EC54FF4F19 +:1022A0000C944B3280E090E0089584E39EE0089522 +:1022B00083E19EE0089582EF9DE0089581ED9DE029 +:1022C000089580EB9DE008958FE89DE008958EE6E7 +:1022D0009DE008958DE49DE008958CE29DE00895D1 +:1022E0008BE09DE008958AEE9CE0089589EC9CE0E7 +:1022F000089588EA9CE0089587E89CE0089586E6C2 +:102300009CE0089585E49CE0089584E29CE00895B3 +:1023100083E09CE0089582EE9BE0089581EC9BE0D1 +:10232000089580EA9BE008958FE79BE008958EE58D +:102330009BE008958DE39BE008958CE19BE0089578 +:102340008BEF9AE008958AED9AE0089589EB9AE080 +:10235000089588E99AE0089587E79AE0089586E568 +:102360009AE0089585E39AE0089584E19AE008955B +:1023700083EF99E0089582ED99E0089581EB99E06B +:10238000089580E999E008958FE699E008958EE434 +:1023900099E008958DE299E008958CE099E0089520 +:1023A0008BEE98E008958AEC98E0089589EA98E029 +:1023B000089588E898E0089587E698E0089586E40F +:1023C00098E0089585E298E0089584E098E0089503 +:1023D00083EE97E0089582EC97E0089581EA97E014 +:1023E000089580E897E008958FE597E008958EE3DB +:1023F00097E008958DE197E008958CEF96E00895B9 +:102400008BED96E008958AEB96E0089589E996E0D1 +:10241000089588E796E0089587E596E0089586E3B5 +:1024200096E0089585E196E0089584EF95E008959B +:1024300083ED95E0089582EB95E0089581E995E0BC +:10244000089580E795E008958FE495E008958EE281 +:1024500095E008958DE095E008958CEE94E0089560 +:102460008BEC94E008958AEA94E0089589E894E07A +:10247000089588E694E0089587E494E0089586E25C +:1024800094E0089585E094E0089584EE93E0089543 +:1024900083EC93E0089582EA93E0089581E893E065 +:1024A000089580E693E008958FE393E008958EE128 +:1024B00093E008958DEF92E008958CED92E00895F9 +:1024C0008BEB92E008958AE992E0089589E792E023 +:1024D000089588E592E008958BE897E1089585E5F1 +:1024E0009EE0089508956091B3017091B4018091C8 +:1024F000B5019091B6010E94A42956985E9825983E +:102500002D9826982E9827982F988330A9F028F494 +:10251000813051F0823069F012C0843041F0853052 +:1025200071F4259A2D9A08C0259A2D9A0895259A16 +:102530002D9A269A2E9A0895279A2F9A089556989A +:102540005E9808950C94731256985E9825982D986D +:1025500026982E9827982F988FEF90E090938900D7 +:102560008093880090938B0080938A0090938D00D5 +:1025700080938C00259A2D9A2FEF80E792E02150CE +:1025800080409040E1F700C00000269A2E9A2FEF7D +:1025900080E792E0215080409040E1F700C00000C9 +:1025A000279A2F9A2FEF80E792E0215080409040A9 +:1025B000E1F700C0000025982D982FEF80E792E00A +:1025C000215080409040E1F700C0000026982E98EE +:1025D0002FEF80E792E0215080409040E1F700C06B +:1025E000000027982F9856985E9825982D98269841 +:1025F0002E9827982F98089589EA8093800089E083 +:102600008093810024982C983F988AB18F748AB95E +:102610006E98479A8BB1806B8BB9769A0E94A41200 +:102620000C94721280E28093000180913601811136 +:102630000EC00E94611381E0809336012FEF83ED7D +:1026400090E3215080409040E1F700C0000080E41A +:102650000E9467138093000181112EC00E94911384 +:1026600080930001811128C00E9491138093000182 +:10267000811122C08FE30E94911380930001811188 +:102680001BC00E94891380E40E946713809300019D +:10269000811112C08CE00E9491138093000181117E +:1026A0000BC00E94911380930001811105C08FE33C +:1026B0000E949113809300010E9489138091000170 +:1026C00008951092B9008AE08093B800089594EAC2 +:1026D0009093BC009091BC0097FFFCCF9091B90003 +:1026E000987F983021F0903111F081E00895809327 +:1026F000BB0084E88093BC008091BC0087FFFCCFC6 +:102700008091B900887F883111F0803471F780E0C2 +:10271000089584E98093BC008091BC0084FDFCCFC7 +:1027200008958093BB0084E88093BC008091BC0036 +:1027300087FFFCCF9091B900987F81E0983209F42F +:1027400080E0089584E88093BC008091BC0087FFFE +:10275000FCCF8091BB00089580910001811115C0CC +:1027600080E40E9467138093000181110CC082E114 +:102770000E94911380930001811105C08FEF0E9488 +:102780009113809300010E94891384B1807F84B9E2 +:1027900085B1807F85B98AB1837F8AB98BB1837F08 +:1027A0008BB93E98469808950E94121380930001B9 +:1027B0000E94AC1380B38C7080BB81B3836F81BBEC +:1027C000E6E4F1E0A8E3B1E011921D9281E0E43586 +:1027D000F807D1F70C94FC12BF92CF92DF92EF92E0 +:1027E000FF920F931F93CF93DF9380910001882373 +:1027F00079F0809137018F5F80933701811108C094 +:102800000E94121380930001811102C00E94A41241 +:1028100008E311E0C0E0D0E0DD24D39482E0C82ECC +:10282000EE24E394F12CC73000F580910001811172 +:1028300062C080E40E94671380930001811112C07E +:1028400082E10E9491138093000181110BC0C701A6 +:102850000C2E01C0880F0A94EAF780950E9491130C +:10286000809300010E94891346C0CA30A1F028F469 +:10287000C83059F0C93061F005C0CC3089F070F033 +:10288000CD3089F0209A289810C0219A29980DC03F +:10289000229A2A980AC0239A2B9807C0529A01C0FC +:1028A000539A5B9802C03E9A4698E0EAEA95F1F79F +:1028B0008FB179995AC092E081708D25892B7C9BCC +:1028C00002C090E001C094E0892B7D9B02C090E0A3 +:1028D00001C098E0892B7E9B02C090E001C090E18E +:1028E000892B9FB19095991F9927991F9295990FC0 +:1028F000907E892B0FC08091000181114BC080E434 +:102900000E94671380930001882389F1B12C0E94F3 +:1029100089138B2DF8019081981719F08083C0924C +:1029200001010E94AC1321960F5F1F4FCE30D105DD +:1029300009F079CF80910101882371F18150809352 +:102940000101882339F08FE99FE00197F1F700C07A +:10295000000022C0A6E4B1E0E8E3F1E081918D93AC +:1029600091E0E634F907D1F717C090E0A5CF83E1F5 +:102970000E949113809300018111C8CF81E40E94CD +:102980006713809300018111C1CF0E94A213B82E5A +:10299000B094BDCF80E0BECF0E94A21281E0DF9153 +:1029A000CF911F910F91FF90EF90DF90CF90BF904C +:1029B0000895E82FF0E0EA5BFE4F808108950895C6 +:1029C0008B3B910578F4883A910540F5853A91055D +:1029D000D0F48430910508F0B1C08130910509F43C +:1029E000ADC06BC0803E910508F467C0883E91057C +:1029F00008F4A4C09C01205F31092031310508F0A2 +:102A00005CC090650895853A910509F459C0863AED +:102A1000910509F458C083E890E40895883A910537 +:102A200009F454C0893A910509F453C08A3A9105D2 +:102A300009F452C08B3A910509F451C08C3A9105C2 +:102A400009F450C08D3A910509F44FC0803B9105BF +:102A500009F44EC08E3A910509F44DC08F3A9105A4 +:102A600009F44CC0813B910509F44BC0823B9105B0 +:102A700009F44AC0833B910509F449C0843B9105A0 +:102A800009F448C0853B910509F447C0863B910590 +:102A900009F446C0873B910509F445C0883B910580 +:102AA00009F444C0893B910509F443C08A3B910570 +:102AB00009F042C08AE296E4089580E090E008952B +:102AC00081E890E4089582E890E4089582EE94E429 +:102AD000089589EE94E408958AEE94E4089585EBD0 +:102AE00094E4089586EB94E4089587EB94E40895C4 +:102AF0008CEC94E408958DEC94E4089583E895E4D7 +:102B000008958AE895E4089582E995E4089584E9B2 +:102B100095E4089581E296E4089583E296E40895A9 +:102B200084E296E4089585E296E4089586E296E4C8 +:102B3000089587E296E4089580E094E40895089566 +:102B400096E0799FF001112494E5899FE00DF11D35 +:102B50001124E60FF11DEE0FFF1FEC55F84E859185 +:102B600094910895880F991F8C5D994EFC01859171 +:102B700094910895880F991F8C55984EFC0185916A +:102B80009491089526E0729FF001112444E5849FFA +:102B9000E00DF11D1124E60FF11DEE0FFF1FEC55A6 +:102BA000F84E25913491C9019A9581159F4110F4F1 +:102BB000C9010895C90190528115904128F4C901B5 +:102BC0009F700E94BA150895C901905381159041D4 +:102BD00020F4C9019927906C0895211580E53807E4 +:102BE00069F40E9459239FEF24E34CE09150204068 +:102BF0004040E1F700C000000C949D2A213080E5A0 +:102C0000380731F48091CE0181608093CE01089520 +:102C1000C90190558115904108F050C0832F992724 +:102C20008F70992781309105D9F4A90143705527F8 +:102C300002C0880F991F4A95E2F79C68A90164E0D9 +:102C4000440F551F6A95E1F744275370842B952B49 +:102C500073E0220F331F7A95E1F7207633271DC0EA +:102C60008230910529F4922F8827816F906A089508 +:102C700083309105A9F4A9014370552781E090E0C4 +:102C800002C0880F991F4A95E2F79C6843E0220F23 +:102C9000331F4A95E1F7207E3770822B932B0895DE +:102CA0000497F1F4A9014370552781E090E002C038 +:102CB000880F991F4A95E2F79A68E8CFC9019057A3 +:102CC0008115904120F4C9019F7090620895C90157 +:102CD00090588115904120F4C9019F70906A089521 +:102CE000203E3105E0F4203C310558F52133310513 +:102CF00009F470C048F42932310509F464C02A325D +:102D0000310509F46EC074C029333105F1F0223861 +:102D10003105D9F02533310509F44EC069C0233E91 +:102D2000310589F138F4203E3105C1F0223E3105EC +:102D3000E1F05EC0263E310569F1273E3105A9F17B +:102D400057C0C9010E94B21508958091E10180FD2C +:102D500002C081FF4DC080EE90E04BC08091E10148 +:102D600080FFF9CF89E390E044C08091E10182FFC8 +:102D70000EC08091E10184FF03C080E090E039C083 +:102D800083EE90E036C08091E10182FFF2CF82EEC7 +:102D900090E02FC08091E10183FF0BC08091E101A1 +:102DA00084FDEBCF87EE90E024C08091E10183FFAA +:102DB000F5CF86EE90E01DC08091E10185FF07C050 +:102DC00089E290E016C08091E10185FFF9CF85E3AB +:102DD00090E00FC08091E10186FF07C08AE290E099 +:102DE00008C08091E10186FFF9CF81E390E001C046 +:102DF000C9010E94E014089508950C94FC16809176 +:102E000064010895CF93DF9300D01F92CDB7DEB752 +:102E10002091E701243019F523E029839B838A83DD +:102E20002093E9008FEF9091E800815095FD06C056 +:102E300095ED9A95F1F700008111F5CF8091E800AA +:102E400085FF0DC040E050E063E070E0CE010196E8 +:102E50000E946C198091E8008E778093E8000F90B3 +:102E60000F900F90DF91CF910895CF93DF9300D013 +:102E70001F92CDB7DEB72091E701243021F522E083 +:102E800029839B838A8383E08093E9008FEF90916D +:102E9000E800815095FD06C095ED9A95F1F7000088 +:102EA0008111F5CF8091E80085FF0DC040E050E032 +:102EB00063E070E0CE0101960E946C198091E800F9 +:102EC0008E778093E8000F900F900F90DF91CF9155 +:102ED00008952091E7012430F1F422E02093E900E5 +:102EE0002FEF3091E800215035FD06C035ED3A95C1 +:102EF000F1F700002111F5CF2091E80025FF0BC06C +:102F000040E050E065E070E00E946C198091E800BC +:102F10008E778093E8000895CF93DF93EC01809142 +:102F2000E701843009F046C090910C019923D9F053 +:102F300090910D019923B9F08093E9008FEF909162 +:102F4000E800815095FD06C095E19A95F1F70000E3 +:102F50008111F5CF8091E80085FF2CC040E050E062 +:102F600060E170E017C081E08093E9008FEF9091FD +:102F7000E800815095FD06C095ED9A95F1F70000A7 +:102F80008111F5CF8091E80085FF14C040E050E04A +:102F900068E070E0CE010E946C198091E8008E77A5 +:102FA0008093E80080E1FE01A4E5B1E001900D927C +:102FB0008A95E1F7DF91CF9108958091E601811123 +:102FC00009C00E94FE1A0E945B1B8091E20084608F +:102FD0008093E20008951092E601089508950C94FC +:102FE000C3300E94342A0E94C9300E94F81D0C94FC +:102FF000FD1642E061EC81E00E94781A42E061EC4B +:1030000082E00E94781A42E061EC83E00E94781A24 +:1030100042E161EC84E00C94781A8091E9018330FC +:1030200009F455C030F4813071F0823009F48EC05B +:1030300008958A3009F47AC08B3009F460C0893071 +:1030400009F09CC020C08091E801813A09F096C047 +:103050008091E800877F8093E8008091EC01909157 +:10306000ED01892B21F060E080E090E003C060E199 +:1030700084E591E070E00E94B5198091E8008B77BB +:103080008093E80008958091E801813209F076C0CC +:103090008091EC019091ED01009719F0039709F0F0 +:1030A0006DC08091E800877F8093E8008091E80000 +:1030B00082FD05C08091E7018111F8CF5FC080914A +:1030C000F100809364018091E8008B7753C0809178 +:1030D000E801813A09F052C08091EC019091ED0134 +:1030E000892B09F04BC08091E800877F8093E8002E +:1030F0008091E80080FFFCCF80910C0136C0809168 +:10310000E8018132D9F58091EC019091ED01892B94 +:10311000A9F58091E800877F8093E8000E94AD1AAE +:103120008091EA0180930C010C9459238091E8016D +:10313000813221F58091E800877F8093E8000E942A +:10314000AD1A8091EB018093650108958091E801AB +:10315000813AA1F48091E800877F8093E800809114 +:10316000E80080FFFCCF809165018093F1008091A1 +:10317000E8008E778093E8000C94AD1A089584B728 +:10318000877F84BF88E10FB6F89480936000109227 +:1031900060000FBE90E080E80FB6F8948093610065 +:1031A000909361000FBE0E94471E0E94FE1A0E946B +:1031B0005B1B8091E20084608093E20078940E941F +:1031C000D61D0E94491E82E091E00E94F31D0E94DC +:1031D000B1308091E701853069F40E94F729809130 +:1031E000E5018823B1F30E941F2A882391F30E94EE +:1031F0005619EFCF0E944F1EECCF292F33272330D3 +:103200003105A9F06CF42130310509F442C02230B7 +:10321000310509F043C08DE690E020EC3DE142C06D +:1032200021323105C9F02232310519F137C0992711 +:103230008130910541F08230910541F0892B71F583 +:10324000ECEBFDE105C0E4EAFDE102C0ECE8FDE1E4 +:10325000849190E09F0126C0643000F5E62FF0E0F5 +:10326000EE0FFF1FEE5DFE4F2081318189E090E07F +:1032700019C0643098F4E62FF0E0DF01AA0FBB1FFD +:10328000A65EBE4F2D913C91EA5EFE4F808190E09C +:1032900009C082E190E02DE23EE104C080E090E0D0 +:1032A00020E030E0FA0131832083089580E189BD78 +:1032B00082E189BD09B400FEFDCF8091D8008F7DE9 +:1032C0008093D8008091E00082608093E00080913C +:1032D000E00081FDFCCF0895CF92DF92EF92FF9244 +:1032E0000F931F93CF93DF937C018B01EA010E9420 +:1032F000CE1A811131C0209731F088819981081B45 +:10330000190BE80EF91EC12CD12C0115110519F16C +:103310008091E80085FD14C08091E8008E7780934D +:10332000E800209741F0888199818C0D9D1D99833B +:10333000888385E011C00E94CE1A882331F30CC027 +:10334000F70181917F018093F10001501109FFEF96 +:10335000CF1ADF0ADACF80E0DF91CF911F910F9172 +:10336000FF90EF90DF90CF9008952091EE01309183 +:10337000EF012617370748F06115710539F42091E0 +:10338000E8002E772093E80001C0B901FC0120E09D +:1033900061157105B9F18091E701882309F440C0F6 +:1033A000853009F43FC08091E80083FD3DC08091E5 +:1033B000E80082FF06C08091E80082FF26C080E01E +:1033C00008958091E80080FFE3CF2091F300809181 +:1033D000F20090E0922B6115710551F08830910553 +:1033E00038F421912093F100615071090196F3CFD7 +:1033F00021E0089709F020E08091E8008E77809323 +:10340000E800C6CF2111C7CFD6CF8091E70188232E +:1034100039F0853039F08091E80083FFCCCF04C0CB +:1034200082E0089583E0089581E008952091EE01FF +:103430003091EF012617370748F06115710539F40F +:103440002091E8002E772093E80001C0B901FC012B +:1034500020E061157105C1F18091E701882309F42D +:1034600041C0853009F440C08091E80083FD3EC032 +:103470008091E80082FF06C08091E80082FF27C0AB +:1034800080E008958091E80080FFE3CF2091F30071 +:103490008091F20090E0922B6115710559F088300F +:1034A000910540F424912093F10031966150710907 +:1034B0000196F2CF21E0089709F020E08091E80022 +:1034C0008E778093E800C5CF2111C6CFD5CF8091EC +:1034D000E701882339F0853039F08091E80083FFD7 +:1034E000CBCF04C082E0089583E0089581E0089581 +:1034F000982F973058F59093E900981739F070910C +:10350000EC002091ED005091F00003C0242F762FA5 +:1035100050E021FF19C03091EB003E7F3093EB006B +:103520003091ED003D7F3093ED003091EB00316044 +:103530003093EB007093EC002093ED005093F0007B +:103540002091EE0027FF07C09F5FD3CF8F7080933D +:10355000E90081E0089580E008958091E80187FD09 +:1035600005C08091E80080FF0EC012C08091E80085 +:1035700082FD05C08091E7018111F8CF0895809107 +:10358000E8008B7708C08091E7018111EACF0895A8 +:103590008091E8008E778093E80008958091E400A0 +:1035A0009091E50045E62091EC0020FF21C020919C +:1035B000E80020FD21C02091E701222389F0253079 +:1035C00089F02091EB0025FD0FC02091E40030919F +:1035D000E5002817390739F3415041F0C901E3CF1D +:1035E00082E0089583E0089581E0089584E00895DD +:1035F0002091E80022FFDFCF80E008950E946C1B3D +:103600000E94741BE0EEF0E0808181608083E8ED31 +:10361000F0E080818F77808319BCA7EDB0E08C91BA +:103620008E7F8C9380818F7E80831092E601089537 +:103630000F931F93CF93DF930E946C1B0E94741B08 +:10364000C8EDD0E088818F778883888180688883FF +:1036500088818F7D888319BC1092E7011092E30165 +:103660001092E5011092E40100EE10E0F801808173 +:103670008B7F808388818160888342E060E080E086 +:103680000E94781AE1EEF0E080818E7F8083E2EE86 +:10369000F0E0808181608083808188608083F80190 +:1036A00080818E7F8083888180618883DF91CF9144 +:1036B0001F910F910895E8EDF0E080818F7E808367 +:1036C000E7EDF0E080818160808384E082BF81E06B +:1036D0008093E6010C94181BE8EDF0E080818E7F6A +:1036E00080831092E20008951092DA001092E100B7 +:1036F00008951F920F920FB60F9211242F933F93AC +:103700004F935F936F937F938F939F93AF93BF93E9 +:10371000EF93FF938091E10082FF0BC08091E20064 +:1037200082FF07C08091E1008B7F8093E1000E94BF +:10373000D51D8091DA0080FF1FC08091D80080FFE6 +:103740001BC08091DA008E7F8093DA008091D900CF +:1037500080FF0DC080E189BD82E189BD09B400FE12 +:10376000FDCF81E08093E7010E94DD1705C019BC01 +:103770001092E7010E94EB178091E10080FF19C0D1 +:103780008091E20080FF15C08091E2008E7F8093DF +:10379000E2008091E20080618093E2008091D80095 +:1037A00080628093D80019BC85E08093E7010E9475 +:1037B000EF178091E10084FF30C08091E20084FF28 +:1037C0002CC080E189BD82E189BD09B400FEFDCF36 +:1037D0008091D8008F7D8093D8008091E1008F7E0A +:1037E0008093E1008091E2008F7E8093E2008091DF +:1037F000E20081608093E2008091E301882311F070 +:1038000084E007C08091E30087FF02C083E001C02D +:1038100081E08093E7010E94F1178091E10083FF2E +:1038200029C08091E20083FF25C08091E100877F5D +:103830008093E10082E08093E7011092E3018091A0 +:10384000E1008E7F8093E1008091E2008E7F809383 +:10385000E2008091E20080618093E20042E060E05B +:1038600080E00E94781A8091F00088608093F000D8 +:103870000E94EE17FF91EF91BF91AF919F918F91B1 +:103880007F916F915F914F913F912F910F900FBE5C +:103890000F901F9018951F920F920FB60F92112440 +:1038A0002F933F934F935F936F937F938F939F9348 +:1038B000AF93BF93CF93EF93FF93C091E900CF7085 +:1038C0008091EC001092E9008091F000877F809356 +:1038D000F00078940E94871C1092E9008091F0001B +:1038E00088608093F000C093E900FF91EF91CF9141 +:1038F000BF91AF919F918F917F916F915F914F9108 +:103900003F912F910F900FBE0F901F9018951F930E +:10391000CF93DF93CDB7DEB7AA970FB6F894DEBF8B +:103920000FBECDBFE8EEF1E08091F100819321E080 +:10393000E03FF207C9F70E940D188091E80083FF6D +:103940001CC12091E8013091E901832F90E08A3079 +:10395000910508F012C1FC01EE5EFE4F0C944B3253 +:10396000203881F0223809F008C18091EC018F7075 +:103970008093E9008091EB0085FB882780F9109205 +:10398000E90006C08091E4019091E5019111826007 +:103990009091E800977F9093E8008093F100109257 +:1039A000F100C5C0822F8D7F09F0E7C0222319F0F6 +:1039B000223061F0E2C08091EA01813009F0DDC07F +:1039C000333009F080E08093E50128C08091EA015E +:1039D000811124C02091EC012F7009F4CEC02093F6 +:1039E000E9008091EB0080FF19C08091EB0033303B +:1039F00011F4806211C080618093EB0081E090E05F +:103A0000022E01C0880F0A94EAF78093EA00109210 +:103A1000EA008091EB0088608093EB001092E9004F +:103A20008091E800877F86C02111A7C01091EA012C +:103A30001F778091E3008078812B8093E300809151 +:103A4000E800877F8093E8000E94AD1A8091E8002B +:103A500080FFFCCF8091E30080688093E300112316 +:103A600011F083E001C082E08093E70186C0205816 +:103A7000223008F082C08091EA019091EB018C3DE8 +:103A800023E0920779F583E08A838AE289834FB73E +:103A9000F894DE01139620E03EE051E2E32FF0E0DF +:103AA00050935700E49120FF03C0E295EF703F5F11 +:103AB000EF708E2F90E0EA3010F0C79601C0C096EC +:103AC0008D939D932F5F243149F74FBF8091E8007C +:103AD000877F8093E8006AE270E0CE0101960E9441 +:103AE000B51914C0AE014F5F5F4F6091EC010E94A9 +:103AF000FD18009709F441C02091E800277F20932A +:103B0000E800BC0189819A810E94161A8091E80020 +:103B10008B778093E80031C0203879F58091E800F8 +:103B2000877F8093E8008091E3018093F10080918A +:103B3000E8008E778093E8000E94AD1A1EC0211124 +:103B40001CC09091EA019230C0F48091E800877F18 +:103B50008093E8009093E3010E94AD1A8091E30105 +:103B6000811104C08091E30087FF02C084E001C09E +:103B700081E08093E7010E94F9178091E80083FFBC +:103B80000AC08091E800877F8093E8008091EB0075 +:103B900080628093EB00AA960FB6F894DEBF0FBE4A +:103BA000CDBFDF91CF911F9108950895CF9380915C +:103BB000E7018823B1F08091E9008F709091EC00CB +:103BC00090FF02C090E801C090E0C92FC82B10926E +:103BD000E9008091E80083FD0E94871CCF70C093AC +:103BE000E900CF91089590936B0180936A01089545 +:103BF000E0916A01F0916B01309721F00190F08122 +:103C0000E02D099480E00895E0916A01F0916B0144 +:103C1000309721F00280F381E02D09940895E0911E +:103C20006A01F0916B01309721F00480F581E02D5D +:103C300009940895209168013091690182179307D2 +:103C400071F09093690180936801E0916A01F091AD +:103C50006B01309721F00680F781E02D09940895DB +:103C600020916601309167018217930771F090935C +:103C7000670180936601E0916A01F0916B013097D2 +:103C800021F00084F185E02D0994089508950C94A5 +:103C9000461E0E943A2A0E94D4130C94002BCF9205 +:103CA000DF92EF92FF920F931F93CF93DF93CDB7E5 +:103CB000DEB72B970FB6F894DEBF0FBECDBF0E94C4 +:103CC000EC133DE6E32E31E0F32E00E010E0C02ED1 +:103CD000802F0E94D914F701D1907F01D826B1F42A +:103CE0000F5F1F4F0E30110591F78FEF89838A8385 +:103CF0001B820E94432A8160782F9D838C83498197 +:103D00005A816B818D810E94F21E41C09091CE013B +:103D100091FF04C08B870E94DF148B8520E030E088 +:103D20004D2D50E0922FBA01022E02C07595679575 +:103D30000A94E2F760FF25C02E83CF82EE24E3943D +:103D4000F12C02C0EE0CFF1C9A95E2F790E08E2158 +:103D50009F2121E0892B09F420E028870E94432A33 +:103D60008160782F9A8789874E815F8168858A85EF +:103D70000E94F21EF801E359FE4F80818E25808358 +:103D800006C02F5F3F4F2630310561F6A9CF0E9454 +:103D9000E42D10916C010E94F81D1817A1F00E94EB +:103DA000F81D80936C012B960FB6F894DEBF0FBE02 +:103DB000CDBFDF91CF911F910F91FF90EF90DF90DA +:103DC000CF900C94FD162B960FB6F894DEBF0FBE65 +:103DD000CDBFDF91CF911F910F91FF90EF90DF90BA +:103DE000CF900895CF93DF93CDB7DEB72B970FB663 +:103DF000F894DEBF0FBECDBF4F83588769877A879F +:103E00008B87DE01119686E0FD0111928A95E9F714 +:103E100085E0FE01379601900D928A95E1F7498180 +:103E20005A816B817C818D819E810E9425262B96F3 +:103E30000FB6F894DEBF0FBECDBFDF91CF910895CE +:103E4000CF93C82F882309F4C1C0823859F40E9447 +:103E5000F81D81FDBBC089E30E94C4280E947E2911 +:103E600089E30CC0833879F40E94F81D80FDAEC050 +:103E700083E50E94C4280E947E2983E50E940429CC +:103E8000CF910C947E29843859F40E94F81D82FD4C +:103E90009DC087E40E94C4280E947E2987E4EECF5B +:103EA0008CEF8C0F813A48F48C2F0E9419308111CD +:103EB0008DC08C2F0E94C428E3CF80E28C0F883005 +:103EC00048F4C77081E001C0880FCA95EAF70E94E4 +:103ED0004529D6CF8BE58C0F833078F4C53A29F08D +:103EE000C63A31F482E890E005C081E890E002C073 +:103EF00083E890E0CF910C941A1E88E58C0F8331F3 +:103F000008F064C0C83A39F1C93A41F1CA3A49F1F6 +:103F1000CB3A51F1CC3A59F1CD3A61F1C03B69F15C +:103F2000CE3A71F1CF3A79F1C13B81F1C23B89F1CF +:103F3000C33B91F1C43B99F1C53BA1F1C63BA9F14B +:103F4000C73BB1F1C83BB9F1C93BC1F1CA3BC9F5A7 +:103F50008AE292E038C082EE90E035C089EE90E0CF +:103F600032C08AEE90E02FC085EB90E02CC086EB4B +:103F700090E029C087EB90E026C08CEC90E023C055 +:103F80008DEC90E020C083E891E01DC08AE891E0CC +:103F90001AC082E991E017C084E991E014C081E27F +:103FA00092E011C083E292E00EC084E292E00BC086 +:103FB00085E292E008C086E292E005C087E292E0E6 +:103FC00002C080E090E0CF910C94301ECF91089514 +:103FD000882309F44BC0823859F40E94F81D81FFF0 +:103FE00045C089E30E94C4280E947E2989E30CC051 +:103FF000833871F40E94F81D80FF38C083E50E9469 +:10400000C4280E947E2983E50E9404290C947E29FD +:10401000843859F40E94F81D82FF28C087E40E946A +:10402000C4280E947E2987E4EFCF9CEF980F913A35 +:1040300058F390E2980F983050F4877091E001C0E7 +:10404000990F8A95EAF7892F0E944B29DFCF9BE5CC +:10405000980F933020F480E090E00C941A1E885A58 +:10406000833120F480E090E00C94301E0895882382 +:1040700021F00E9445290C947E290895882321F07F +:104080000E944B290C947E290895CF92DF92EF92E3 +:10409000FF920F931F93CF93DF93CDB7DEB728978F +:1040A0000FB6F894DEBF0FBECDBF8C0185E0F801DE +:1040B000DE01119601900D928A95E1F7F801408199 +:1040C0003181F280258122952F7083819481892B03 +:1040D00031F03F3F31F481E04F3F19F403C081E0FC +:1040E00001C080E080FDC4C249833A8389819A81FE +:1040F0002F830E9482289E8388870E9481280E94A5 +:1041000054274E81E42FE295EF70F0E0E45EFE4F1D +:104110002F8168850C944B32842F807F142F1F7061 +:10412000882311F01295107FFF2059F0112309F414 +:1041300054C2812F68870E9455290E947E29688574 +:104140004CC2862F0E94E81F112309F491C2812FCF +:104150000E945B2928960FB6F894DEBF0FBECDBF34 +:10416000DF91CF911F910F91FF90EF90DF90CF9053 +:104170000C947E29342F307F842F8F70303211F0D1 +:104180008295807F662319F0613019F12BC0FF20E2 +:10419000B1F0222309F493C1213009F090C128968F +:1041A0000FB6F894DEBF0FBECDBFDF91CF911F9148 +:1041B0000F91FF90EF90DF90CF900C946529222310 +:1041C00019F0213009F454C28E830E9468298E812F +:1041D00089C1FF2021F0223008F04AC270C12111AC +:1041E00047C280C1FF2021F0222309F468C1F5C134 +:1041F000222309F477C105C2242F26952695237022 +:1042000030E02115310521F021303105C9F030C2EF +:10421000FF2021F0862F942F937002C080E090E061 +:1042200028960FB6F894DEBF0FBECDBFDF91CF91B9 +:104230001F910F91FF90EF90DF90CF900C941A1E7A +:10424000FF2021F0862F942F937002C080E090E031 +:1042500028960FB6F894DEBF0FBECDBFDF91CF9189 +:104260001F910F91FF90EF90DF90CF900C94301E34 +:10427000862FFF2019F00E94EC2C02C00E94542DC2 +:1042800028960FB6F894DEBF0FBECDBFDF91CF9159 +:104290001F910F91FF90EF90DF90CF900C94D92D4C +:1042A000842F837009F076C0F110E2C1262F229589 +:1042B00026952770220F220F862F8F70C82ED12CA3 +:1042C000E12CF12C022E04C0CC0CDD1CEE1CFF1CDA +:1042D0000A94D2F764FF10C06FE070E080E090E0D5 +:1042E00004C0660F771F881F991F2A95D2F7609523 +:1042F00070958095909503C060E070E0CB01242F0D +:10430000269526952370422F50E042305105D1F07A +:104310004330510559F16C297D298E299F2941305F +:10432000510541F128960FB6F894DEBF0FBECDBF00 +:10433000DF91CF911F910F91FF90EF90DF90CF9081 +:104340000C9479276C297D298E299F2928960FB6F0 +:10435000F894DEBF0FBECDBFDF91CF911F910F91BB +:10436000FF90EF90DF90CF900C9493270E947927D5 +:10437000C701B60128960FB6F894DEBF0FBECDBFB9 +:10438000DF91CF911F910F91FF90EF90DF90CF9031 +:104390000C945F27FF2019F0842F817001C086954F +:1043A000882309F465C1262F229526952770220FB0 +:1043B000220F862F8F70C82ED12CE12CF12C022ECB +:1043C00004C0CC0CDD1CEE1CFF1C0A94D2F764FF69 +:1043D00010C06FE070E080E090E004C0660F771FCF +:1043E000881F991F2A95D2F76095709580959095B2 +:1043F00003C060E070E0CB01242F26952695237042 +:10440000422F50E042305105D1F04330510559F16F +:104410006C297D298E299F294130510541F128962B +:104420000FB6F894DEBF0FBECDBFDF91CF911F91C5 +:104430000F91FF90EF90DF90CF900C944D286C2956 +:104440007D298E299F2928960FB6F894DEBF0FBECE +:10445000CDBFDF91CF911F910F91FF90EF90DF9033 +:10446000CF900C9467280E944D28C701B60128966A +:104470000FB6F894DEBF0FBECDBFDF91CF911F9175 +:104480000F91FF90EF90DF90CF900C943328603F16 +:10449000C9F118F4603E50F49BC0623F09F460C05B +:1044A00008F44AC0633F09F46FC092C0162F1F7012 +:1044B000842F8F71FF2099F00E94CC27812F28969E +:1044C0000FB6F894DEBF0FBECDBFDF91CF911F9125 +:1044D0000F91FF90EF90DF90CF900C9437200E94C7 +:1044E000ED27812F28960FB6F894DEBF0FBECDBF03 +:1044F000DF91CF911F910F91FF90EF90DF90CF90C0 +:104500000C943E20FF20A1F02111B2C0842F8F71A6 +:1045100028960FB6F894DEBF0FBECDBFDF91CF91C6 +:104520001F910F91FF90EF90DF90CF900C94122885 +:10453000223008F09DC0EACFFF20A1F0842F8F71B8 +:1045400028960FB6F894DEBF0FBECDBFDF91CF9196 +:104550001F910F91FF90EF90DF90CF900C94CC279C +:10456000FF2061F3842F8F7128960FB6F894DEBF79 +:104570000FBECDBFDF91CF911F910F91FF90EF90B4 +:10458000DF90CF900C94ED27FF2091F0842F8F7156 +:1045900028960FB6F894DEBF0FBECDBFDF91CF9146 +:1045A0001F910F91FF90EF90DF90CF900C94B72761 +:1045B00028960FB6F894DEBF0FBECDBFDF91CF9126 +:1045C0001F910F91FF90EF90DF90CF900C94AD274B +:1045D000FF20A1F0222309F4B1CF862F28960FB631 +:1045E000F894DEBF0FBECDBFDF91CF911F910F9129 +:1045F000FF90EF90DF90CF900C94201F222309F4BE +:10460000B1CF862F28960FB6F894DEBF0FBECDBF70 +:10461000DF91CF911F910F91FF90EF90DF90CF909E +:104620000C94E81F4F70C8010E94031028960FB623 +:10463000F894DEBF0FBECDBFDF91CF911F910F91D8 +:10464000FF90EF90DF90CF900C94D2264F70C8016E +:1046500028960FB6F894DEBF0FBECDBFDF91CF9185 +:104660001F910F91FF90EF90DF90CF900C949F15CA +:1046700028960FB6F894DEBF0FBECDBFDF91CF9165 +:104680001F910F91FF90EF90DF90CF9008950E94BF +:1046900062290E9437290E947E290E94852E0E944D +:1046A000D92D80E090E00E941A1E80E090E00C94EA +:1046B000301E0E9452290C9447230E948228292FE1 +:1046C00022952F7030E02C3031054CF42A30310522 +:1046D0006CF4225031092230310590F407C02C309F +:1046E000310551F02F30310539F00AC0803E10F00D +:1046F000803F31F481E0089593FB882780F9089585 +:1047000080E00895CF93DF9300D000D01F92CDB703 +:10471000DEB70F900F900F900F900F90DF91CF9119 +:104720000895CF93DF9300D000D000D0CDB7DEB78F +:1047300026960FB6F894DEBF0FBECDBFDF91CF91A6 +:1047400008951F93CF93DF93C0917B0116E0809172 +:104750007C01C81799F0D0E01C9FF0011D9FF00D5F +:104760001124E358FE4F408151816281738184811D +:1047700095810E9491232196C770E9CFDF91CF9157 +:104780001F9108954091AD015091AE016091AF012C +:104790007091B0018091B1019091B2010C9491237C +:1047A000CF938091B20182958F7009F05FC08091A4 +:1047B000AF01882309F45AC020917B01A0917C01AC +:1047C0006091AD017091AE018091B0019091B10105 +:1047D00031E06F3F09F030E0B32FC6E02A1709F44B +:1047E00045C0009721F07F3F21F44B2F03C041E0EB +:1047F00001C040E030E040FD35C0C29FF001C39FE2 +:10480000F00D1124E358FE4F418174132BC04081F9 +:10481000641328C04281411125C043815481481747 +:10482000590710F441505109481B590B483C510598 +:10483000C8F48091B2018F7080618093B20186E0EC +:10484000829FF001839FF00D1124EE57FE4F80816F +:104850008F70806180838DEA91E00E944520CF9126 +:104860000C94A1232F5F3F4F2770B8CFCF910895AD +:10487000CF92DF92EF92FF920F931F93CF93DF932C +:10488000CDB7DEB762970FB6F894DEBF0FBECDBFCF +:104890008C0185E0F801DE011D9601900D928A954C +:1048A000E1F7D8014C9111965C91119712966C9199 +:1048B00012971396ED90FC9014977091AD01E091D2 +:1048C000AE012091B0013091B1012115310531F0D7 +:1048D000EF3F31F481E07F3F19F403C081E001C074 +:1048E00080E0B82FB170CB2E80FD6CC1D090AF01AD +:1048F000DD2009F4F5C0F091B201E216F30638F0BC +:10490000C701821B930B883C910548F09BC0209502 +:1049100030952E0D3F1D283C310508F093C08F2F98 +:10492000807F09F052C0E51314C0741312C0D62E54 +:1049300061110FC0FF70F061F093B2010E94C223B9 +:104940008DEA91E00E9445208091B201F8018583B3 +:104950006CC1EF2831F05F3F31F481E04F3F19F433 +:1049600003C081E001C080E080FD03C081E08627B4 +:1049700001C080E0F82FF170FF2E80FF1CC08091F5 +:104980007B0120917C0136E0821709F428C190E078 +:10499000389FF001399FF00D1124E358FE4F7181CB +:1049A000571306C07081471303C07281671303C099 +:1049B00001968770E9CFD62E662309F436C180911F +:1049C000B20181608093B20153C0E51308C0741333 +:1049D00006C0611104C0D8011596FC93AEC04D8786 +:1049E0005E878D859E856A8B0E945D236A898823F8 +:1049F00029F1D62E662311F12091B201822F8295E2 +:104A00008F7090E002970CF460C08091AD0190919E +:104A1000AE0198878F831986FB86EA862C87CE01A4 +:104A2000079651C0E51731F14D875E878D859E85CC +:104A30006A8B0E945D236A8981112EC0C8010E9481 +:104A40004520A4C08F2F807F69F77E2DF98AE88AE0 +:104A500089890E9482238DEA91E00E944520EDEA37 +:104A6000F1E086E0DF011D928A95E9F70E94C223FA +:104A7000D12CDBC07413D8CF6111D6CFD8011596D5 +:104A8000FC93C8010E944520EDEAF1E086E0DF01D9 +:104A90001D928A95E9F7C9C0D62E662379F2209136 +:104AA000B201822F82958F7090E0029774F080910E +:104AB000AD019091AE019A8389831B82FD82EC82C5 +:104AC0002E83CE0101960E94452086E0F801ADEAD2 +:104AD000B1E001900D928A95E1F70E94D0236FC05A +:104AE000E216F30628F0C701821B930B9C0104C059 +:104AF000209530952E0D3F1D283C310508F052C001 +:104B0000D62E662309F49ACFE5132CC074132AC05D +:104B10008091B20180FD1DC0982F92959F70C9F0C1 +:104B2000D80115968C9315979F3039F09F5F929519 +:104B3000907F8F70892B15968C93C8010E94452019 +:104B400086E0F801ADEAB1E001900D928A95E1F7B7 +:104B500036C086E0F801ADEAB1E001900D928A9589 +:104B6000E1F763C04D875E878D859E850E945D233A +:104B7000882379F086E0F801ADEAB1E001900D926A +:104B80008A95E1F70E94D0230E94C223DD24D394AA +:104B90004CC08091B20181608093B201C8010E9433 +:104BA000452043C07E2DF98AE88A89890E948223A4 +:104BB000EDEAF1E086E0DF011D928A95E9F70E94B7 +:104BC000C22333C0662309F439CF4D875E878D85B4 +:104BD0009E850E945D23882309F430CFCBCF4D877B +:104BE0005E878D859E850E948228292F22952F70B1 +:104BF00030E0223031052CF49F7041F0811106C065 +:104C00000CC0243031052CF49F7049F4805E88304C +:104C100020F0C8010E944520CF2CDC2C06C0D80112 +:104C200015969C91907F91F7F8CF8D2D62960FB6D7 +:104C3000F894DEBF0FBECDBFDF91CF911F910F91D2 +:104C4000FF90EF90DF90CF9008951F93CF93DF9365 +:104C5000CDB7DEB72C970FB6F894DEBF0FBECDBF31 +:104C60004F83588769877A878B879C87CE01079601 +:104C70000E9438248823C1F02F8138858A859B853E +:104C8000892B31F03F3F11F080E003C02F3FE1F767 +:104C900081E0811147C04F81588569857A858B8570 +:104CA0009C850E9491233EC086E0FE013796DE017E +:104CB000119601900D928A95E1F7FF81E8854A856A +:104CC0005B854115510531F0EF3F31F481E0FF3F45 +:104CD00019F403C081E001C080E080FD23C0209171 +:104CE0007C0130E0C90101968770992760917B01B2 +:104CF00070E086179707F1F1F983EA835D834C83AF +:104D000096E0929FD001939FB00D1124A358BE4FFF +:104D1000FE01319601900D929A95E1F780937C0106 +:104D20000E94A12316E080917B0190917C0189175C +:104D300079F1189FC001112483589E4F0E94382496 +:104D4000882331F1E0917B011E9FF0011124E3588B +:104D5000FE4F4081518162817381848195810E94DF +:104D6000912380917B0190E0019687709927809331 +:104D70007B01D9CF0E94592310927C0110927B01B4 +:104D8000EDEAF1E086E0DF011D928A95E9F7CACFEE +:104D90002C960FB6F894DEBF0FBECDBFDF91CF913A +:104DA0001F910895EF92FF920F931F93CF93DF937C +:104DB0009C01009709F471C0F12CEE24E394E90101 +:104DC0002196F9018491843740F4843008F056C06C +:104DD000813081F0823021F160C0853709F449C00B +:104DE000C0F19CE7980F903708F057C08F770E946A +:104DF000E81F46C089010E5F1F4FFE01849190E2BB +:104E0000980F983050F48770FE2D01C0FF0F8A95DF +:104E1000EAF78F2F0E94552915C00E94201F14C049 +:104E200089010E5F1F4FFE01849190E2980F983028 +:104E300068F48770FE2D01C0FF0F8A95EAF78F2F67 +:104E40000E945B290E947E29E8011AC00E94E81F87 +:104E5000FBCF2E5F3F4FFE01C491CC2341F08FE981 +:104E60009FE00197F1F700C00000C150F6CFE901C3 +:104E700007C0FE01F490E901229602C00E94201FA3 +:104E80008F2D882341F0EFE9FFE03197F1F700C063 +:104E900000008150F6CF9E0192CFDF91CF911F91FC +:104EA0000F91FF90EF90089508956093B70170936C +:104EB000B8018093B9019093BA010C9447230F93E2 +:104EC0001F930091B7011091B8012091B901309161 +:104ED000BA01062B172B282B392B0093B7011093FF +:104EE000B8012093B9013093BA011F910F910C942E +:104EF00047230F931F930091B7011091B8012091A0 +:104F0000B9013091BA0106231723282339230093CE +:104F1000B7011093B8012093B9013093BA011F91E2 +:104F20000F910C9447230F931F930091B701109199 +:104F3000B8012091B9013091BA0106271727282717 +:104F400039270093B7011093B8012093B90130932A +:104F5000BA011F910F910C9447231092B301109244 +:104F6000B4011092B5011092B6010C94472341E0B0 +:104F700050E060E070E004C0440F551F661F771FCB +:104F80008A95D2F74093B3015093B4016093B50171 +:104F90007093B6010C94472341E050E060E070E06C +:104FA00004C0440F551F661F771F8A95D2F7809162 +:104FB000B3019091B401A091B501B091B601842BD9 +:104FC000952BA62BB72B8093B3019093B401A0939C +:104FD000B501B093B6010C94472341E050E060E086 +:104FE00070E004C0440F551F661F771F8A95D2F7E3 +:104FF00040955095609570958091B3019091B40162 +:10500000A091B501B091B60184239523A623B723BF +:105010008093B3019093B401A093B501B093B6010E +:105020000C94472341E050E060E070E004C0440F7E +:10503000551F661F771F8A95D2F78091B301909113 +:10504000B401A091B501B091B60184279527A62798 +:10505000B7278093B3019093B401A093B501B093A7 +:10506000B6010C9447230F931F930091B301109145 +:10507000B4012091B5013091B601062B172B282BD6 +:10508000392B0093B3011093B4012093B5013093F1 +:10509000B6011F910F910C9447230F931F9300911A +:1050A000B3011091B4012091B5013091B6010623EE +:1050B0001723282339230093B3011093B4012093BD +:1050C000B5013093B6011F910F910C9447230F93B4 +:1050D0001F930091B3011091B4012091B50130915B +:1050E000B60106271727282739270093B301109305 +:1050F000B4012093B5013093B6011F910F910C9428 +:1051000047230895CF92DF92EF92FF920F931F9360 +:10511000CF93DF93EC01C090B701D090B801E0903D +:10512000B901F090BA018091B3019091B401A091BE +:10513000B501B091B601C82AD92AEA2AFB2A0FE1A3 +:1051400010E0B701A601002E04C07695679557952B +:1051500047950A94D2F740FF07C0BE01802F0E94F6 +:10516000C2158130910539F40150110950F7BE0183 +:1051700080E00E94C215DF91CF911F910F91FF90A7 +:10518000EF90DF90CF90089590910C019923D9F082 +:1051900090910D019923B9F0982F96959695969533 +:1051A0009F3088F5E0910E01F0910F01E90FF11D9C +:1051B000877021E030E001C0220F8A95EAF78181F3 +:1051C000822B8183089540910E0150910F0120E0C0 +:1051D00030E09FEFFA01E20FF31F6281681799F048 +:1051E0009F3F19F4611101C0922F2F5F3F4F2E3066 +:1051F000310581F79F3F39F0FA01E90FF11D97FD65 +:10520000FA9582830895089590910C019923E1F015 +:1052100090910D019923C1F0982F969596959695AA +:105220009F3020F5E0910E01F0910F01E90FF11D83 +:10523000877021E030E001C0220F8A95EAF72095BF +:10524000818128232183089540910E0150910F01FF +:1052500020E030E0FA01E20FF31F9281981301C0C1 +:1052600012822F5F3F4F2E303105A1F7089581E064 +:1052700090E0E0910E01F0910F01E80FF91F10820C +:10528000019680319105A9F708959091CD01982B51 +:105290009093CD01089580959091CD01982390939E +:1052A000CD0108951092CD0108959091CC01982BD5 +:1052B0009093CC01089580959091CC019823909380 +:1052C000CC0108951092CC0108958093BB010895FC +:1052D0001092BB01089540910E0150910F0120E002 +:1052E00030E080E0FA01E20FF31F918191118F5FAE +:1052F0002F5F3F4F2F303105A9F70895E0910E0140 +:10530000F0910F018091CD018083E0910E01F09129 +:105310000F0180819091CC01892B80839091BB01FA +:10532000992361F0E0910E01F0910F018081892BAA +:1053300080830E946B2981111092BB0180910E0124 +:1053400090910F010C94041ECF92DF92EF92FF9286 +:105350000F931F936C01EE24FF24C114D104E104C8 +:10536000F10421F46B017C0180E001C080E133276E +:105370002F2D1E2D0D2D011511052105310519F0BB +:10538000885F6801790197018601A4E03695279529 +:1053900017950795AA95D1F7011511052105310536 +:1053A00019F08C5F6801790197018601F2E036956A +:1053B000279517950795FA95D1F701151105210540 +:1053C000310519F08E5F68017901B701A601769564 +:1053D000679557954795452B462B472B09F08F5FCF +:1053E0001F910F91FF90EF90DF90CF9008958091E3 +:1053F000E701843009F11092CF0120E488E190E0C8 +:105400000FB6F894A895809360000FBE20936000BB +:1054100083B7817F846083BF83B7816083BF7894C3 +:10542000889583B78E7F83BF88E10FB6F894809309 +:105430006000109260000FBE089508950895CF9304 +:105440000E941D2A0E94EC130E941E2AC0E08C2F8D +:105450000E94D914811105C0CF5FCE30C1F780E022 +:1054600001C081E0CF9108950E9459230E94F81D48 +:105470000C94FD1682E084BD93E095BD9AEF97BD34 +:1054800080936E0008952FB7F8948091D001909189 +:10549000D101A091D201B091D3012FBF0895CF9235 +:1054A000DF92EF92FF920F931F932FB7F8944091E2 +:1054B000D0015091D1016091D2017091D3012FBFE1 +:1054C0006A017B01EE24FF248C0120E030E0C0164D +:1054D000D106E206F30610F441505109481B590B5E +:1054E000CA011F910F91FF90EF90DF90CF90089528 +:1054F0001F920F920FB60F9211248F939F93AF9329 +:10550000BF938091D0019091D101A091D201B0912F +:10551000D3010196A11DB11D8093D0019093D101BB +:10552000A093D201B093D301BF91AF919F918F917E +:105530000F900FBE0F901F9018950E94FE1AF894BE +:105540002FEF87EA91E6215080409040E1F700C0BC +:10555000000087E090EBDC018093F0019093F10173 +:10556000A093F201B093F3012CE088E190E00FB634 +:10557000F894A895809360000FBE20936000FFCF41 +:10558000EF92FF920F931F93CF93DF93E82EF12CAE +:105590008F2D0E94D914C0E0D0E0082F10E09801B0 +:1055A0000C2E02C0359527950A94E2F720FD05C020 +:1055B0002196C630D10599F709C06C2F7F2D80E068 +:1055C0000E94A015E812F4CF81E005C0F3948EE0AC +:1055D000F812DECF80E0DF91CF911F910F91FF9005 +:1055E000EF900895CF93C82F8CE20E94C02A8823A1 +:1055F00021F08C2FCF910C94C02A80E0CF91089598 +:10560000CF930E94452C811102C00E942B2CC5E62D +:10561000C15049F00E94EC138FE39CE90197F1F728 +:1056200000C00000F5CF89E20E94F22A811111C169 +:105630008AE20E94F22A81110E942B2C85E00E94AE +:10564000F22A81110E949D2A0E94502C8093CE0143 +:1056500087E00E94F22A882399F18BE10E94F22AC6 +:10566000882351F09091CE0191FB882780F921E0A9 +:10567000822780FB91F922C08EE00E94F22A8823C3 +:1056800051F09091CE0192FB882780F921E082278A +:1056900080FB92F913C080E10E94F22A9091CE0122 +:1056A000882341F093FB882780F921E0822780FB43 +:1056B00093F904C0892F809580FB90F99093CE01D7 +:1056C0008091CE010E94542C0E94622C8093E101B3 +:1056D00080EE0E94F22A882341F08091E101982F08 +:1056E000909590FB80F98093E10189E30E94F22A72 +:1056F000882359F09091E10191FB882780F921E0FE +:10570000822780FB91F99093E10182EE0E94F22AB8 +:10571000882359F09091E10192FB882780F921E0DC +:10572000822780FB92F99093E10186EE0E94F22A93 +:10573000882359F09091E10193FB882780F921E0BB +:10574000822780FB93F99093E10183EE0E94F22A75 +:10575000882359F09091E10194FB882780F921E09A +:10576000822780FB94F99093E10185E30E94F22A5D +:10577000882359F09091E10195FB882780F921E079 +:10578000822780FB95F99093E10181E30E94F22A40 +:10579000882359F09091E10196FB882780F921E058 +:1057A000822780FB96F99093E10181E10E94F22A21 +:1057B000882359F09091E10197FB882780F921E037 +:1057C000822780FB97F99093E1018091E1010E948B +:1057D000662C8091E10187FB882780F980930D0179 +:1057E00087E20E94F22AC82F8EE10E94F22A8111DC +:1057F000C2608FE10E94F22A8111C46080E20E949F +:10580000F22A8111C86081E20E94F22A8111C061EE +:1058100082E20E94F22A8111C06283E20E94F22A8F +:105820008111C06484E20E94F22A882311F0C068CA +:1058300002C0CC2329F08C2F0E945D2C6C2F03C05A +:105840000E94592C682F70E080E090E0CF910C947A +:105850005527CF9108956DEE7EEF80E090E00E9495 +:10586000813260E082E090E00E94733260E083E089 +:1058700090E00E94733260E084E090E00E94733216 +:1058800060E085E090E00C94733280E090E00E944C +:105890006D3221E08D3E9E4F09F020E0822F089569 +:1058A00082E090E00C946532682F82E090E00C94E6 +:1058B000733283E090E00C946532682F83E090E0CF +:1058C0000C94733284E090E00C946532682F84E08D +:1058D00090E00C9473328091D60180FF0BC06091F0 +:1058E000130185E0689FB001112475956795759542 +:1058F00067952AC081FF09C06091130185E0689F08 +:10590000B0011124759567951FC082FF07C0609193 +:10591000130185E0689FB001112416C04091D701A2 +:105920004423C9F060911201461788F720911301B2 +:1059300085E0289F90011124429FC001439F900D54 +:10594000112470E00E9437326038710540F461150F +:10595000710539F002C065E070E0862F08958FE789 +:10596000089581E008958091D60180FF08C060917C +:10597000110170E0759567957595679521C081FF58 +:1059800006C06091110170E07595679519C082FF9E +:1059900004C06091110170E010C08091D70188238C +:1059A000C1F0609110018617A0F790911101989FA6 +:1059B000C001112470E00E9437326038710528F46C +:1059C0006115710521F0862F08958FE7089581E014 +:1059D000089561E070E0F4CF803F21F40E946B2CC9 +:1059E000819504C0813F29F40E946B2C8093DA01D9 +:1059F0000895823F21F40E946B2C819504C0833F5F +:105A000029F40E946B2C8093D9010895893F19F4E1 +:105A10000E94B32C05C08A3F31F40E94B32C8195BB +:105A20008093DB0108958B3F21F40E94B32C819574 +:105A300004C08C3F29F40E94B32C8093DC010895AC +:105A4000843F21F48091D801816017C0853F21F403 +:105A50008091D801826011C0863F21F48091D801E5 +:105A600084600BC0873F21F48091D801886005C015 +:105A7000883F31F48091D80180618093D8010895E6 +:105A80008D3F21F48091D60181600BC08E3F21F4BF +:105A90008091D601826005C08F3F29F48091D601A4 +:105AA00084608093D6010895803F39F48091DA01B3 +:105AB00087FF6CC01092DA0169C0813F29F48091A0 +:105AC000DA011816BCF362C09091D901823F29F423 +:105AD00097FF5CC01092D90159C0833F19F4191681 +:105AE000CCF354C0893F41F48091DB0118160CF0CF +:105AF0004DC01092DB014AC08A3F29F48091DB013E +:105B000087FF44C0F6CF8B3F39F48091DC0187FFDB +:105B10003DC01092DC013AC08C3F29F48091DC0139 +:105B20001816BCF333C0843F21F48091D8018E7FD6 +:105B300017C0853F21F48091D8018D7F11C0863F29 +:105B400021F48091D8018B7F0BC0873F21F4809195 +:105B5000D801877F05C0883F31F48091D8018F7EBE +:105B60008093D80113C08D3F21F48091D6018E7FA0 +:105B70000BC08E3F21F48091D6018D7F05C08F3FF1 +:105B800029F48091D6018B7F8093D6018091D90131 +:105B900081110EC08091DA0181110AC08091DB0170 +:105BA000811106C08091DC01811102C01092D701E1 +:105BB000089588ED91E00E940F1E0E94432A909361 +:105BC000D5018093D40108951F93CF93DF938091E3 +:105BD000D4019091D5010E944F2A4091D7014423CE +:105BE00021F02091140130E006C0209115015AE007 +:105BF000259F900111248217930708F482C0809199 +:105C0000D9011091DA01D091DB01C091DC01811141 +:105C100007C0111105C0D11103C0CC2309F471C014 +:105C20004F3F19F04F5F4093D701181624F40E949C +:105C30006B2C8093D9018091D90187FF05C00E9408 +:105C40006B2C81958093D901111624F40E946B2C42 +:105C50008093DA018091DA0187FF05C00E946B2CE6 +:105C600081958093DA016091D901662339F1109111 +:105C7000DA01112319F1772767FD7095872F972F88 +:105C80000E94483123E333E343E35FE30E94AC31F6 +:105C90000E9415316093D901612F772767FD7095B8 +:105CA000872F972F0E94483123E333E343E35FE3D9 +:105CB0000E94AC310E9415316093DA011D1624F464 +:105CC0000E94B32C8093DB018091DB0187FF05C02C +:105CD0000E94B32C81958093DB011C1624F40E9452 +:105CE000B32C8093DC018091DC0187FF05C00E940A +:105CF000B32C81958093DC01DF91CF911F910C949F +:105D0000D92DDF91CF911F910895E8EDF1E085E065 +:105D1000DF011D928A95E9F71092D7011092D60102 +:105D20000895833081F128F4813059F08230D1F028 +:105D30000895853009F449C0B8F1863009F456C099 +:105D4000089520911501862F90E0820F911D8F3FBD +:105D5000910520F4620F6093150108958FEF8093F1 +:105D60001501089520911401862F90E0820F911D56 +:105D70008F3F910520F4620F6093140108958FEF17 +:105D800080931401089520911301862F90E0820FD3 +:105D9000911D8F3F910520F4620F609313010895C8 +:105DA0008FEF80931301089520911201862F90E0C8 +:105DB000820F911D8F3F910520F4620F60931201B5 +:105DC00008958FEF80931201089520911101862F7D +:105DD00090E0820F911D8F3F910520F4620F609338 +:105DE000110108958FEF8093110108952091100102 +:105DF000862F90E0820F911D8F3F910520F4620F56 +:105E00006093100108958FEF8093100108958330FF +:105E100011F128F4813049F0823091F008958530F5 +:105E200081F120F18630C1F1089580911501681744 +:105E300020F4861B80931501089510921501089592 +:105E400080911401681720F4861B80931401089533 +:105E500010921401089580911301681720F4861B95 +:105E600080931301089510921301089580911201F7 +:105E7000681720F4861B8093120108951092120176 +:105E8000089580911101681720F4861B80931101F9 +:105E9000089510921101089580911001681720F45F +:105EA000861B8093100108951092100108958D3182 +:105EB00009F442C020F58E3009F479C070F48730BF +:105EC00009F45EC020F4863009F442C033C0883043 +:105ED000D1F18B3009F4A7C02DC0863109F4A3C0DD +:105EE00038F4803109F46DC0813109F47BC022C0DF +:105EF000893109F498C08B3109F44FC01BC0853338 +:105F000009F479C048F4873209F475C008F478C000 +:105F1000893209F470C00EC0833438F48A3308F033 +:105F200071C0883309F47FC005C0833409F463C0AD +:105F30008834C1F080E008950E94CF300E94F81D9F +:105F40000E94FD1670C00E94502C0E94622C6BC0F3 +:105F50008091CE01817F8E7F8093CE0181E08093FE +:105F6000DE0108950E9459232FEF83ED90E3215025 +:105F700080409040E1F700C000000E949D2A53C07D +:105F80009091CE01892F817090FF03C0917F9E7FF9 +:105F900026C091609093CE0146C09091CE0191FBB6 +:105FA000882780F921E0822780FB91F913C0909126 +:105FB000CE0192FB882780F921E0822780FB92F9AD +:105FC00009C09091CE0193FB882780F921E08227B8 +:105FD00080FB93F99093CE01882329F191609093EF +:105FE000CE0108950E94592380910D0191E08927E7 +:105FF00080930D0118C061E070E080E090E00FC078 +:1060000023EE01C027EC280F61E070E080E090E013 +:1060100004C0660F771F881F991F2A95D2F70E9428 +:1060200055270E94592381E0089580E0089580E07B +:106030000895CF93C82F8091DE01813079F018F058 +:106040008230D1F184C0A0910E01B0910F018C91EA +:10605000813169F0823209F07CC009C0A0910E0143 +:10606000B0910F018C91813111F0823249F48C2F63 +:106070000E94153081111DC08C2F0E94572F1AC00D +:106080008C2F0E941730811114C0C43179F048F46C +:10609000CB3079F0C03109F060C082E08093DE013E +:1060A00008C0C93219F0C83321F057C01092DE0180 +:1060B00054C081E0817053C0C93289F118F5C431F0 +:1060C00071F1A8F4C73009F046C08AE08093150149 +:1060D00094E19093140193E0909313018093120143 +:1060E00088E08093110188E28093100134C0CE5182 +:1060F000C63088F5EC2FF0E0E65DFE4F808180939E +:10610000DD0129C0CE34E9F020F4CB3421F56AE07A +:1061100013C0C13579F0C235F1F461E00DC0809152 +:10612000DD01882319F01092DD0115C081E0809314 +:10613000DE0115C061E006C08091DD010E94912E54 +:106140000AC06AE08091DD010E94072F04C010920E +:10615000DE0180E004C081E002C080E0ABCFCF91DF +:106160000895E1E8F0E0808188608083808181602B +:1061700080838FB7F89493E09093890090ED90938B +:1061800088008FBF0895EFE6F0E080818260808311 +:106190000895EFE6F0E080818D7F80830895EFE63B +:1061A000F0E0808192E08927808308951F920F920A +:1061B0000FB60F9211242F933F934F935F936F93DA +:1061C0007F938F939F93AF93BF93EF93FF938091B0 +:1061D000DF019091E00101969093E0018093DF014F +:1061E000811103C082E00E94FD16E091E001E69576 +:1061F000E695F0E0E65CF04EE4918091DF018E13CD +:1062000003C080E00E94FD16FF91EF91BF91AF9116 +:106210009F918F917F916F915F914F913F912F91BE +:106220000F900FBE0F901F90189504D06894B11175 +:106230008DC0089570D088F09F5790F0B92F99279E +:10624000B751A0F0D1F0660F771F881F991F1AF081 +:10625000BA95C9F712C0B13081F077D0B1E0089596 +:1062600074C0672F782F8827B85F39F0B93FCCF317 +:10627000869577956795B395D9F73EF49095809577 +:10628000709561957F4F8F4F9F4F0895E89409C097 +:1062900097FB3EF490958095709561957F4F8F4F59 +:1062A0009F4F9923A9F0F92F96E9BB279395F6956F +:1062B000879577956795B795F111F8CFFAF4BB0FED +:1062C00011F460FF1BC06F5F7F4F8F4F9F4F16C051 +:1062D000882311F096E911C0772321F09EE8872FDB +:1062E000762F05C0662371F096E8862F70E060E097 +:1062F0002AF09A95660F771F881FDAF7880F969510 +:10630000879597F9089557FD9058440F551F59F0F8 +:106310005F3F71F04795880F97FB991F61F09F3F92 +:1063200079F087950895121613061406551FF2CFBB +:106330004695F1DF08C0161617061806991FF1CF0B +:1063400086957105610508940895E894BB27662732 +:106350007727CB0197F908950BD078C069D028F042 +:106360006ED018F0952309F05AC05FC01124EECF0B +:10637000CADFA0F3959FD1F3950F50E0551F629FA0 +:10638000F001729FBB27F00DB11D639FAA27F00D8E +:10639000B11DAA1F649F6627B00DA11D661F829FB5 +:1063A0002227B00DA11D621F739FB00DA11D621F9A +:1063B000839FA00D611D221F749F3327A00D611DB7 +:1063C000231F849F600D211D822F762F6A2F112499 +:1063D0009F5750408AF0E1F088234AF0EE0FFF1FEC +:1063E000BB1F661F771F881F91505040A9F79E3F23 +:1063F000510570F014C0AACF5F3FECF3983EDCF378 +:10640000869577956795B795F795E7959F5FC1F75F +:10641000FE2B880F911D9695879597F9089597F90A +:106420009F6780E870E060E008959FEF80EC08953A +:1064300000240A9416161706180609060895002463 +:106440000A9412161306140605060895092E0394DD +:10645000000C11F4882352F0BB0F40F4BF2B11F451 +:1064600060FF04C06F5F7F4F8F4F9F4F089597FB72 +:10647000072E16F4009407D077FD09D00E94513200 +:1064800007FC05D03EF4909581959F4F0895709537 +:1064900061957F4F0895EE0FFF1F0590F491E02D59 +:1064A0000994AA1BBB1B51E107C0AA1FBB1FA6175B +:1064B000B70710F0A61BB70B881F991F5A95A9F7AD +:1064C00080959095BC01CD010895F999FECF92BDBC +:1064D00081BDF89A992780B50895A8E1B0E042E01F +:1064E00050E00C948832262FF999FECF1FBA92BD46 +:1064F00081BD20BD0FB6F894FA9AF99A0FBE0196A5 +:1065000008950E947332272F0C947432DC01CB0162 +:10651000FC01F999FECF06C0F2BDE1BDF89A3196B3 +:1065200000B40D9241505040B8F70895F894FFCF51 +:106530002002FF168C176917351702170101BC01DD +:1065400028080A03140A3F4D3639FB1EAE1E781E7A +:106550003F1ED21DEB1D041E1D1E01020304050675 +:04656000070809001F +:00000001FF -- cgit v1.2.1 From ac22d1c185fe3caf3581650390309aa8232e55bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Tue, 29 Mar 2016 13:02:14 +0200 Subject: added CTL_Shift / Hash macro --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 35 ++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 0349c749bb..df8d996508 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -16,6 +16,7 @@ #define M_DE_PLUS_CTRLALT 12 #define M_DE_CIRC_CTRLCMD 13 #define M_TOGGLE_5 14 +#define M_CTL_SFT_HASH 15 #define SM_SMILE 4 #define SM_SMIRK 5 @@ -30,15 +31,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 |CTL_SFT| | # | 6 | 7 | 8 | 9 | 0 | ß | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT| - * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| - * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * ,-----------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |CTL_SFT/#| |CTL_SFT/#| 6 | 7 | 8 | 9 | 0 | ß | + * |--------+------+------+------+------+----------------| |---------+------+------+------+------+------+--------| + * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LALT | A | S | D | F | G |---------| |---------| H | J | K | L | ö | ä/RALT| + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | + * `--------+------+------+------+------+----------------' `-------------+------+------+------+------+--------' * |event.pressed) { + start=timer_read(); + return MACRO(D(LCTRL),D(LSFT),END); + } else { + if (timer_elapsed(start) > 150){ + return MACRO(U(LCTRL),U(LSFT),END); + } else { + return MACRO(U(LCTRL),U(LSFT),T(BSLS),END); + } + } + break; case M_DE_CIRC_CTRLCMD: if (record->event.pressed) { start = timer_read(); -- cgit v1.2.1 From 77fa2b0056f10c079af541a746fb12cb96fabe72 Mon Sep 17 00:00:00 2001 From: mbarkhau Date: Tue, 29 Mar 2016 18:35:47 +0200 Subject: Update compile_keymap.py --- .../keymaps/german-manuneo/compile_keymap.py | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py index 9767b1e074..af68672226 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -121,32 +121,30 @@ def loads(raw_data): // # start of the comment (.*) # the comment $ # until the end of line - """, re.MULTILINE | re.VERBOSE - ) - + """, re.MULTILINE | re.VERBOSE) + INLINE_COMMENT_RE = re.compile(r""" - (?:[\,\"\[\]\{\}\d]) # anythig that might end a expression + ([\,\"\[\]\{\}\d]) # anythig that might end a expression \s+ # comment must be preceded by whitespace // # start of the comment \s # and succeded by whitespace - ([^\"\]\}\{\[]*) # the comment (except things which might be json) + (?:[^\"\]\}\{\[]*) # the comment (except things which might be json) $ # until the end of line - """, re.MULTILINE | re.VERBOSE - ) - + """, re.MULTILINE | re.VERBOSE) + TRAILING_COMMA_RE = re.compile(r""" , # the comma - \s* # arbitrary whitespace (including newlines) + (?:\s*) # arbitrary whitespace + $ # only works if the trailing comma is followed by newline + (\s*) # arbitrary whitespace ([\]\}]) # end of an array or object - """, re.MULTILINE | re.VERBOSE - ) - + """, re.MULTILINE | re.VERBOSE) if isinstance(raw_data, bytes): raw_data = raw_data.decode('utf-8') raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data) raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data) - raw_data = TRAILING_COMMA_RE.sub(r"\1", raw_data) + raw_data = TRAILING_COMMA_RE.sub(r"\1\2", raw_data) return json.loads(raw_data) -- cgit v1.2.1 From dbd4ab3457dd001ab4bbcec14315047b815f7dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Thu, 31 Mar 2016 23:15:59 +0200 Subject: fixed de_osx prefix in keymap include to avoid conflicts --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 50 ++++----- quantum/keymap_extras/keymap_german_osx.h | 156 ++++++++++++++-------------- 2 files changed, 103 insertions(+), 103 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index df8d996508..5d12964192 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -13,8 +13,8 @@ #define M_CTRL_CMDV 1 #define M_CTRL_CMDC 2 #define M_MEH_SH_ACUT 3 -#define M_DE_PLUS_CTRLALT 12 -#define M_DE_CIRC_CTRLCMD 13 +#define M_DE_OSX_PLUS_CTRLALT 12 +#define M_DE_OSX_CIRC_CTRLCMD 13 #define M_TOGGLE_5 14 #define M_CTL_SFT_HASH 15 @@ -54,21 +54,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH), - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, - KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, - KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LESS), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN, + KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), + KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, + KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, + KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, + LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, M(M_MEH_SH_ACUT), TG(2), KC_HOME, KC_BSPC,KC_DEL, LT(SMLY,KC_END), // right hand - M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, - KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE, - DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE), - KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT, - KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_PLUS), - TG(4), ALL_T(DE_ACUT), + M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, + KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, + DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), + KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM,DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, + KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), + TG(4), ALL_T(DE_OSX_ACUT), KC_PGUP, KC_PGDN,KC_ENT, KC_SPC ), @@ -97,19 +97,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = KEYMAP( // left hand KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, - KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, - KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, + KC_TRNS,DE_OSX_LESS,DE_OSX_MORE,DE_OSX_EXLM,DE_OSX_QST, KC_TRNS,KC_TRNS, + KC_TRNS,DE_OSX_HASH,DE_OSX_DLR, DE_OSX_BSLS,DE_OSX_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_OSX_LESS,DE_OSX_PERC,DE_OSX_PIPE,DE_OSX_TILD,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_DEL,KC_TRNS, // right hand M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LESS, DE_MORE, DE_EXLM, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, - KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), - DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, + DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, + KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), + DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_F13, KC_F12, KC_F14, KC_F15, KC_TRNS, KC_TRNS @@ -210,9 +210,9 @@ KEYMAP( // right hand KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0,KC_DOT, KC_COMM, DE_EQL, KC_TRNS, + KC_0,KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -309,7 +309,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (timer_elapsed(start) > 150){ return MACRO(U(LCTRL),U(LSFT),U(LALT),END); } else { - return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix + return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_OSX_ACUT here, as macro needs KC_ prefix } } break; @@ -325,7 +325,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; - case M_DE_CIRC_CTRLCMD: + case M_DE_OSX_CIRC_CTRLCMD: if (record->event.pressed) { start = timer_read(); return MACRO(D(LCTRL),D(LGUI),END); @@ -337,7 +337,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; - case M_DE_PLUS_CTRLALT: + case M_DE_OSX_PLUS_CTRLALT: if (record->event.pressed) { start = timer_read(); return MACRO(D(LCTRL),D(LALT),END); diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h index da91b4bf46..d0b77fb803 100644 --- a/quantum/keymap_extras/keymap_german_osx.h +++ b/quantum/keymap_extras/keymap_german_osx.h @@ -9,92 +9,92 @@ // Alt gr // normal characters -#define DE_Z KC_Y -#define DE_Y KC_Z +#define DE_OSX_Z KC_Y +#define DE_OSX_Y KC_Z -#define DE_A KC_A -#define DE_B KC_B -#define DE_C KC_C -#define DE_D KC_D -#define DE_E KC_E -#define DE_F KC_F -#define DE_G KC_G -#define DE_H KC_H -#define DE_I KC_I -#define DE_J KC_J -#define DE_K KC_K -#define DE_L KC_L -#define DE_M KC_M -#define DE_N KC_N -#define DE_O KC_O -#define DE_P KC_P -#define DE_Q KC_Q -#define DE_R KC_R -#define DE_S KC_S -#define DE_T KC_T -#define DE_U KC_U -#define DE_V KC_V -#define DE_W KC_W -#define DE_X KC_X +#define DE_OSX_A KC_A +#define DE_OSX_B KC_B +#define DE_OSX_C KC_C +#define DE_OSX_D KC_D +#define DE_OSX_E KC_E +#define DE_OSX_F KC_F +#define DE_OSX_G KC_G +#define DE_OSX_H KC_H +#define DE_OSX_I KC_I +#define DE_OSX_J KC_J +#define DE_OSX_K KC_K +#define DE_OSX_L KC_L +#define DE_OSX_M KC_M +#define DE_OSX_N KC_N +#define DE_OSX_O KC_O +#define DE_OSX_P KC_P +#define DE_OSX_Q KC_Q +#define DE_OSX_R KC_R +#define DE_OSX_S KC_S +#define DE_OSX_T KC_T +#define DE_OSX_U KC_U +#define DE_OSX_V KC_V +#define DE_OSX_W KC_W +#define DE_OSX_X KC_X -#define DE_0 KC_0 -#define DE_1 KC_1 -#define DE_2 KC_2 -#define DE_3 KC_3 -#define DE_4 KC_4 -#define DE_5 KC_5 -#define DE_6 KC_6 -#define DE_7 KC_7 -#define DE_8 KC_8 -#define DE_9 KC_9 +#define DE_OSX_0 KC_0 +#define DE_OSX_1 KC_1 +#define DE_OSX_2 KC_2 +#define DE_OSX_3 KC_3 +#define DE_OSX_4 KC_4 +#define DE_OSX_5 KC_5 +#define DE_OSX_6 KC_6 +#define DE_OSX_7 KC_7 +#define DE_OSX_8 KC_8 +#define DE_OSX_9 KC_9 -#define DE_DOT KC_DOT -#define DE_COMM KC_COMM +#define DE_OSX_DOT KC_DOT +#define DE_OSX_COMM KC_COMM -#define DE_SS KC_MINS -#define DE_AE KC_QUOT -#define DE_UE KC_LBRC -#define DE_OE KC_SCLN +#define DE_OSX_SS KC_MINS +#define DE_OSX_AE KC_QUOT +#define DE_OSX_UE KC_LBRC +#define DE_OSX_OE KC_SCLN -#define DE_CIRC KC_NUBS // accent circumflex ^ and ring ° -#define DE_ACUT KC_EQL // accent acute ´ and grave ` -#define DE_PLUS KC_RBRC // + and * and ~ -#define DE_HASH KC_BSLS // # and ' -#define DE_LESS KC_GRV // < and > and | -#define DE_MINS KC_SLSH // - and _ +#define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring ° +#define DE_OSX_ACUT KC_EQL // accent acute ´ and grave ` +#define DE_OSX_PLUS KC_RBRC // + and * and ~ +#define DE_OSX_HASH KC_BSLS // # and ' +#define DE_OSX_LESS KC_GRV // < and > and | +#define DE_OSX_MINS KC_SLSH // - and _ // shifted characters -#define DE_RING LSFT(DE_CIRC) // ° -#define DE_EXLM LSFT(KC_1) // ! -#define DE_DQOT LSFT(KC_2) // " -#define DE_PARA LSFT(KC_3) // § -#define DE_DLR LSFT(KC_4) // $ -#define DE_PERC LSFT(KC_5) // % -#define DE_AMPR LSFT(KC_6) // & -#define DE_SLSH LSFT(KC_7) // / -#define DE_LPRN LSFT(KC_8) // ( -#define DE_RPRN LSFT(KC_9) // ) -#define DE_EQL LSFT(KC_0) // = -#define DE_QST LSFT(DE_SS) // ? -#define DE_GRV LSFT(DE_ACUT) // ` -#define DE_ASTR LSFT(DE_PLUS) // * -#define DE_QUOT LSFT(DE_HASH) // ' -#define DE_MORE LSFT(DE_LESS) // > -#define DE_COLN LSFT(KC_DOT) // : -#define DE_SCLN LSFT(KC_COMM) // ; -#define DE_UNDS LSFT(DE_MINS) // _ +#define DE_OSX_RING LSFT(DE_OSX_CIRC) // ° +#define DE_OSX_EXLM LSFT(KC_1) // ! +#define DE_OSX_DQOT LSFT(KC_2) // " +#define DE_OSX_PARA LSFT(KC_3) // § +#define DE_OSX_DLR LSFT(KC_4) // $ +#define DE_OSX_PERC LSFT(KC_5) // % +#define DE_OSX_AMPR LSFT(KC_6) // & +#define DE_OSX_SLSH LSFT(KC_7) // / +#define DE_OSX_LPRN LSFT(KC_8) // ( +#define DE_OSX_RPRN LSFT(KC_9) // ) +#define DE_OSX_EQL LSFT(KC_0) // = +#define DE_OSX_QST LSFT(DE_OSX_SS) // ? +#define DE_OSX_GRV LSFT(DE_OSX_ACUT) // ` +#define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // * +#define DE_OSX_QUOT LSFT(DE_OSX_HASH) // ' +#define DE_OSX_MORE LSFT(DE_OSX_LESS) // > +#define DE_OSX_COLN LSFT(KC_DOT) // : +#define DE_OSX_SCLN LSFT(KC_COMM) // ; +#define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ // Alt-ed characters -#define DE_SQ2 LALT(KC_2) // ² -#define DE_SQ3 LALT(KC_3) // ³ -#define DE_LCBR LALT(KC_8) // { -#define DE_LBRC LALT(KC_5) // [ -#define DE_RBRC LALT(KC_6) // ] -#define DE_RCBR LALT(KC_9) // } -#define DE_BSLS LALT(LSFT(KC_7)) // backslash -#define DE_AT LALT(DE_L) // @ -#define DE_EURO LALT(KC_E) // € -#define DE_TILD LALT(DE_N) // ~ -#define DE_PIPE LALT(DE_7) // | +#define DE_OSX_SQ2 LALT(KC_2) // ² +#define DE_OSX_SQ3 LALT(KC_3) // ³ +#define DE_OSX_LCBR LALT(KC_8) // { +#define DE_OSX_LBRC LALT(KC_5) // [ +#define DE_OSX_RBRC LALT(KC_6) // ] +#define DE_OSX_RCBR LALT(KC_9) // } +#define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash +#define DE_OSX_AT LALT(DE_OSX_L) // @ +#define DE_OSX_EURO LALT(KC_E) // € +#define DE_OSX_TILD LALT(DE_OSX_N) // ~ +#define DE_OSX_PIPE LALT(DE_OSX_7) // | #endif -- cgit v1.2.1 From ad3ec12fb62b67fa2a69f3950a073fafc22be8f4 Mon Sep 17 00:00:00 2001 From: tak3over Date: Fri, 1 Apr 2016 15:26:09 -0500 Subject: Create tak3over.c Custom keymap with an additional function layer for numpad, pgup, pgdn, del, ins, home, end, and additional arrow keys. --- keyboard/planck/keymaps/tak3over.c | 136 +++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 keyboard/planck/keymaps/tak3over.c diff --git a/keyboard/planck/keymaps/tak3over.c b/keyboard/planck/keymaps/tak3over.c new file mode 100644 index 0000000000..c49af7d0e7 --- /dev/null +++ b/keyboard/planck/keymaps/tak3over.c @@ -0,0 +1,136 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. +// +// Custom style by tak3over. Dropped the dvorak layer as it was not being used by me. Shifted over +// keys to make room for a second function key on the left side. Now has a keypad and most all +// standard keyboard keys. Including Delete. See TK layer. + +#include "planck.h" +#ifdef BACKLIGHT_ENABLE + #include "backlight.h" +#endif + +// 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 _QW 0 +#define _CM 1 +#define _TK 2 +#define _LW 3 +#define _RS 4 + +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 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | TK |Raise | Space |Lower | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QW] = { + {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 }, + {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), 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 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | TK |Raise | Space |Lower | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_CM] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* TenKey, Arrow, and Function key Layer + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | Left | Up | Down | Right| Del | * | 4 | 5 | 6 | + | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Home | PGUP | PGDN | End | Ins | . | 1 | 2 | 3 | - |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | TK |Raise | Space |Lower | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_TK] = { + {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_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_DEL, KC_ASTR, KC_4, KC_5, KC_6, KC_PLUS, KC_SLSH}, + {KC_LSFT, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_INS, KC_DOT, KC_1, KC_2, KC_3, KC_MINS, KC_ENT }, + {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Brite | Reset|Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | TK |Raise | Space |Lower | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RS] = { + {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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Brite | Reset|Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | TK |Raise | Space |Lower | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LW] = { + {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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +} +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; -- cgit v1.2.1 From c274699085b2f922a5e8b14b21aa377249e62d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Fri, 1 Apr 2016 23:53:09 +0200 Subject: minor tweaks at the keymap, new png for documentation --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 12 ++++++------ .../ergodox_ez/keymaps/osx_de/osx_de_highres.png | Bin 749565 -> 684862 bytes 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index 5d12964192..269e7a0fbd 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, - M(M_MEH_SH_ACUT), TG(2), + M(M_MEH_SH_ACUT), TG(MDIA), KC_HOME, KC_BSPC,KC_DEL, LT(SMLY,KC_END), // right hand @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM,DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), - TG(4), ALL_T(DE_OSX_ACUT), + TG(NUMB), ALL_T(DE_OSX_ACUT), KC_PGUP, KC_PGDN,KC_ENT, KC_SPC ), @@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, @@ -178,7 +178,7 @@ KEYMAP( * | | | | | | | | * `--------------------' `----------------------' */ -KEYMAP( +[SMLY] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -198,7 +198,7 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS ), //number pad -KEYMAP( +[NUMB] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, @@ -239,7 +239,7 @@ KEYMAP( * | | | F4 | | | | | * `--------------------' `----------------------' */ -KEYMAP( +[EGOS] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png index 1d5226974f..8e709ee260 100644 Binary files a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png and b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png differ -- cgit v1.2.1 From 71cdfe11682cf63c262380747d8a1b3d48a6bad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sat, 2 Apr 2016 15:14:14 +0200 Subject: new keymap --- keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index df8d996508..a1b47ae8be 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -17,6 +17,7 @@ #define M_DE_CIRC_CTRLCMD 13 #define M_TOGGLE_5 14 #define M_CTL_SFT_HASH 15 +#define M_LGUI_SHFT 16 #define SM_SMILE 4 #define SM_SMIRK 5 @@ -67,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE, DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE), KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT, - KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_PLUS), + KC_LEFT, KC_RIGHT,M(M_LGUI_SHFT),LALT(KC_LSFT), LT(SYMB,DE_PLUS), TG(4), ALL_T(DE_ACUT), KC_PGUP, KC_PGDN,KC_ENT, KC_SPC @@ -313,6 +314,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; + case M_LGUI_SHFT: + if (record->event.pressed){ + return MACRO(D(LGUI),D(LSFT),END); + }else{ + return MACRO(U(LGUI),U(LSFT),END); + } + break; case M_CTL_SFT_HASH: if (record->event.pressed) { start=timer_read(); -- cgit v1.2.1 From 381a9fd55319d1f29783748f5d6d5c5820e81636 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Sat, 2 Apr 2016 23:07:58 +0200 Subject: use action function for unicode --- .../keymaps/german-manuneo/compile_keymap.py | 273 +- .../keymaps/german-manuneo/german-manuneo.hex | 2862 +++++++++----------- .../ergodox_ez/keymaps/german-manuneo/keymap.c | 1004 ++----- .../ergodox_ez/keymaps/german-manuneo/keymap.md | 52 +- 4 files changed, 1651 insertions(+), 2540 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py index af68672226..3d26672762 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -20,6 +20,7 @@ import sys import json import unicodedata import collections +import itertools as it PY2 = sys.version_info.major == 2 @@ -27,11 +28,6 @@ if PY2: chr = unichr -BASEPATH = os.path.abspath(os.path.join( - os.path.dirname(__file__), "..", ".." -)) - - KEYBOARD_LAYOUTS = { # These map positions in the parsed layout to # positions in the KEYMAP MATRIX @@ -73,34 +69,33 @@ BLANK_LAYOUTS = [ # Wide Layout """ -.--------------------------------------------. .--------------------------------------------. -| | | | | | | | ! | | | | | | | -!------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+------! -| | | | | | | | ! | | | | | | | -!------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+------! -| | | | | | |-------! !-------! | | | | | | -!------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+------! -| | | | | | | | ! | | | | | | | -'------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+------' - | | | | | | ! | | | | | - '-----------------------------' '-----------------------------' - .---------------. .---------------. - | | | ! | | - .-------+-------+-------! !-------+-------+-------. - ! ! | | ! | ! ! - ! ! !-------! !-------! ! ! - | | | | ! | | | - '-----------------------' '-----------------------' +.---------------------------------------------. .---------------------------------------------. +| | | | | | | | ! | | | | | | | +!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------! +| | | | | | | | ! | | | | | | | +!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------! +| | | | | | |-------! !-------! | | | | | | +!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------! +| | | | | | | | ! | | | | | | | +'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------' + | | | | | | ! | | | | | + '------------------------------' '------------------------------' + .---------------. .---------------. + | | | ! | | + .-------+-------+-------! !-------+-------+-------. + ! ! | | ! | ! ! + ! ! !-------! !-------! ! ! + | | | | ! | | | + '-----------------------' '-----------------------' """, ] DEFAULT_CONFIG = { - "includes_basedir": "quantum/", "keymaps_includes": [ "keymap_common.h", ], - 'filler': "-+.':x", + 'filler': "-+.'!:x", 'separator': "|", 'default_key_prefix': ["KC_"], } @@ -114,31 +109,34 @@ SECTIONS = [ # Markdown Parsing +ONELINE_COMMENT_RE = re.compile(r""" + ^ # comment must be at the start of the line + \s* # arbitrary whitespace + // # start of the comment + (.*) # the comment + $ # until the end of line +""", re.MULTILINE | re.VERBOSE +) + +INLINE_COMMENT_RE = re.compile(r""" + ([\,\"\[\]\{\}\d]) # anythig that might end a expression + \s+ # comment must be preceded by whitespace + // # start of the comment + \s # and succeded by whitespace + (?:[^\"\]\}\{\[]*) # the comment (except things which might be json) + $ # until the end of line +""", re.MULTILINE | re.VERBOSE) + +TRAILING_COMMA_RE = re.compile(r""" + , # the comma + (?:\s*) # arbitrary whitespace + $ # only works if the trailing comma is followed by newline + (\s*) # arbitrary whitespace + ([\]\}]) # end of an array or object +""", re.MULTILINE | re.VERBOSE) + + def loads(raw_data): - ONELINE_COMMENT_RE = re.compile(r""" - ^ # comment must be at the start of the line - \s* # arbitrary whitespace - // # start of the comment - (.*) # the comment - $ # until the end of line - """, re.MULTILINE | re.VERBOSE) - - INLINE_COMMENT_RE = re.compile(r""" - ([\,\"\[\]\{\}\d]) # anythig that might end a expression - \s+ # comment must be preceded by whitespace - // # start of the comment - \s # and succeded by whitespace - (?:[^\"\]\}\{\[]*) # the comment (except things which might be json) - $ # until the end of line - """, re.MULTILINE | re.VERBOSE) - - TRAILING_COMMA_RE = re.compile(r""" - , # the comma - (?:\s*) # arbitrary whitespace - $ # only works if the trailing comma is followed by newline - (\s*) # arbitrary whitespace - ([\]\}]) # end of an array or object - """, re.MULTILINE | re.VERBOSE) if isinstance(raw_data, bytes): raw_data = raw_data.decode('utf-8') @@ -164,6 +162,8 @@ def parse_config(path): name = line[2:] elif line.startswith("## "): name = line[3:] + else: + name = "" name = name.strip().replace(" ", "_").lower() if name in SECTIONS: @@ -209,6 +209,7 @@ def parse_config(path): pass end_section() + assert 'layout' in config return config # header file parsing @@ -218,16 +219,15 @@ IF0_RE = re.compile(r""" #if 0 $.*? #endif - """, re.MULTILINE | re.DOTALL | re.VERBOSE -) +""", re.MULTILINE | re.DOTALL | re.VERBOSE) COMMENT_RE = re.compile(r""" /\* .*? \*/" - """, re.MULTILINE | re.DOTALL | re.VERBOSE -) +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + def read_header_file(path): with io.open(path, encoding="utf-8") as fh: @@ -237,7 +237,7 @@ def read_header_file(path): return data -def regex_partial(re_str_fmt, flags=re.MULTILINE | re.DOTALL | re.VERBOSE): +def regex_partial(re_str_fmt, flags): def partial(*args, **kwargs): re_str = re_str_fmt.format(*args, **kwargs) return re.compile(re_str, flags) @@ -251,8 +251,7 @@ KEYDEF_REP = regex_partial(r""" (?:{}) # the prefixes (?:\w+) # the key name ) # capture group end - """ -) +""", re.MULTILINE | re.DOTALL | re.VERBOSE) ENUM_RE = re.compile(r""" @@ -264,8 +263,7 @@ ENUM_RE = re.compile(r""" \} ; ) # capture group end - """, re.MULTILINE | re.DOTALL | re.VERBOSE -) +""", re.MULTILINE | re.DOTALL | re.VERBOSE) ENUM_KEY_REP = regex_partial(r""" @@ -273,8 +271,8 @@ ENUM_KEY_REP = regex_partial(r""" {} # the prefixes \w+ # the key name ) # capture group end - """ -) +""", re.MULTILINE | re.DOTALL | re.VERBOSE) + def parse_keydefs(config, data): prefix_options = "|".join(config['key_prefixes']) @@ -289,26 +287,31 @@ def parse_keydefs(config, data): yield key_match.groups()[0] -def parse_valid_keys(config): - valid_keycodes = set() - paths = [ - os.path.join(BASEPATH, "tmk_core", "common", "keycode.h") - ] + [ - os.path.join( - BASEPATH, config['includes_dir'], include_path - ) for include_path in config['keymaps_includes'] - ] +def parse_valid_keys(config, out_path): + basepath = os.path.abspath(os.path.join(os.path.dirname(out_path))) + dirpaths = [] + subpaths = [] + while len(subpaths) < 6: + path = os.path.join(basepath, *subpaths) + dirpaths.append(path) + dirpaths.append(os.path.join(path, "tmk_core", "common")) + dirpaths.append(os.path.join(path, "quantum")) + subpaths.append('..') + + includes = set(config['keymaps_includes']) + includes.add("keycode.h") - for path in paths: - path = path.replace("/", os.sep) - # the config always uses forward slashe - if os.path.exists(path): - header_data = read_header_file(path) + valid_keycodes = set() + for dirpath, include in it.product(dirpaths, includes): + include_path = os.path.join(dirpath, include) + if os.path.exists(include_path): + header_data = read_header_file(include_path) valid_keycodes.update( parse_keydefs(config, header_data) ) return valid_keycodes + # Keymap Parsing def iter_raw_codes(layer_lines, filler, separator): @@ -325,6 +328,7 @@ def iter_raw_codes(layer_lines, filler, separator): def iter_indexed_codes(raw_codes, key_indexes): key_rows = {} key_indexes_flat = [] + for row_index, key_indexes in enumerate(key_indexes): for key_index in key_indexes: key_rows[key_index] = row_index @@ -384,8 +388,8 @@ def parse_code(raw_code, key_prefixes, valid_keycodes): return raw_code, None, None if MACRO_RE.match(raw_code): - code = macro_id = raw_code[2:-1] - return code, macro_id, None + macro_id = raw_code[2:-1] + return raw_code, macro_id, None if UNICODE_RE.match(raw_code): hex_code = raw_code[1:] @@ -404,10 +408,17 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): layer_lines, config['filler'], config['separator'] )) indexed_codes = iter_indexed_codes(raw_codes, key_indexes) + key_prefixes = config['key_prefixes'] for raw_code, key_index, row_index in indexed_codes: code, macro_id, uc_hex = parse_code( - raw_code, config['key_prefixes'], valid_keycodes + raw_code, key_prefixes, valid_keycodes + ) + # TODO: line numbers for invalid codes + err_msg = "Could not parse key '{}' on row {}".format( + raw_code, row_index ) + assert code is not None, err_msg + # print(repr(raw_code), repr(code), macro_id, uc_hex) if macro_id: config['macro_ids'].add(macro_id) if uc_hex: @@ -482,9 +493,64 @@ void matrix_scan_user(void) { MACROCODE = """ #define UC_MODE_WIN 0 #define UC_MODE_LINUX 1 +#define UC_MODE_OSX 2 +// TODO: allow default mode to be configured static uint16_t unicode_mode = UC_MODE_WIN; +uint16_t hextokeycode(uint8_t hex) {{ + if (hex == 0x0) {{ + return KC_P0; + }} + if (hex < 0xA) {{ + return KC_P1 + (hex - 0x1); + }} + return KC_A + (hex - 0xA); +}} + +void unicode_action_function(uint16_t hi, uint16_t lo) {{ + switch (unicode_mode) {{ + case UC_MODE_WIN: + register_code(KC_LALT); + + register_code(KC_PPLS); + unregister_code(KC_PPLS); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LALT); + break; + case UC_MODE_LINUX: + register_code(KC_LCTL); + register_code(KC_LSFT); + + register_code(KC_U); + unregister_code(KC_U); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + break; + case UC_MODE_OSX: + break; + }} +}} + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ if (!record->event.pressed) {{ return MACRO_NONE; @@ -494,57 +560,35 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ case UM: unicode_mode = (unicode_mode + 1) % 2; break; - {macro_cases} +{macro_cases} +{unicode_macro_cases} default: break; }} - if (unicode_mode == UC_MODE_WIN) {{ - switch(id) {{ - {win_macro_cases} - default: - break; - }} - }} else if (unicode_mode == UC_MODE_LINUX) {{ - switch(id) {{ - {linux_macro_cases} - default: - break; - }} - }} return MACRO_NONE; }}; """ -WIN_UNICODE_MACRO_TEMPLATE = """ -case {0}: - return MACRODOWN( - D(LALT), T(KP_PLUS), {1}, U(LALT), END - ); -""" -LINUX_UNICODE_MACRO_TEMPLATE = """ -case {0}: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), {1}, T(KP_ENTER), END - ); -""" +UNICODE_MACRO_TEMPLATE = """ +case {macro_id}: + unicode_action_function(0x{hi:02x}, 0x{lo:02x}); + break; +""".strip() -def macro_cases(config, mode): - if mode == 'win': - template = WIN_UNICODE_MACRO_TEMPLATE - elif mode == 'linux': - template = LINUX_UNICODE_MACRO_TEMPLATE - else: - raise ValueError("Invalid mode: ", mode) - template = template.strip() +def unicode_macro_cases(config): for macro_id, uc_hex in config['unicode_macros'].items(): + hi = int(uc_hex, 16) >> 8 + lo = int(uc_hex, 16) & 0xFF unimacro_keys = ", ".join( "T({})".format( "KP_" + digit if digit.isdigit() else digit ) for digit in uc_hex ) - yield template.format(macro_id, unimacro_keys) + yield UNICODE_MACRO_TEMPLATE.format( + macro_id=macro_id, hi=hi, lo=lo + ) def iter_keymap_lines(keymap): @@ -599,8 +643,7 @@ def iter_keymap_parts(config, keymaps): # macros yield MACROCODE.format( macro_cases="", - win_macro_cases="\n".join(macro_cases(config, mode='win')), - linux_macro_cases="\n".join(macro_cases(config, mode='linux')), + unicode_macro_cases="\n".join(unicode_macro_cases(config)), ) # TODO: dynamically create blinking lights @@ -624,7 +667,7 @@ def main(argv=sys.argv[1:]): out_path = os.path.join(dirname, "keymap.c") config = parse_config(in_path) - valid_keys = parse_valid_keys(config) + valid_keys = parse_valid_keys(config, out_path) keymaps = parse_keymaps(config, valid_keys) with io.open(out_path, mode="w", encoding="utf-8") as fh: diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex index cb8b7fa8d4..ee1d30967d 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex @@ -1,1624 +1,1240 @@ -:100000000C94BD0F0C9401100C9401100C94011071 -:100010000C9401100C9401100C9401100C9401101C -:100020000C9401100C9401100C94791B0C944B1C33 -:100030000C9401100C9401100C9401100C940110FC -:100040000C9401100C94D6300C9401100C940110F7 -:100050000C9401100C94782A0C9401100C9401104B -:100060000C9401100C9401100C9401100C940110CC -:100070000C9401100C9401100C9401100C940110BC -:100080000C9401100C9401100C9401100C940110AC -:100090000C9401100C9401100C9401100C9401109C -:1000A0000C9401100C9401100C940110AB107810FA -:1000B0006310BD10E4101711F910FF1014113E1158 -:1000C0003511021138114E10F3102911321175102B -:1000D0006C10BA10B11099106F103010C6101A11B0 -:1000E00023112F119F10CF10AE1048102011ED10CA -:1000F0009010A5109C108410261193103910F01048 -:100100008A10C9106C12B410661054107E107B1047 -:10011000D210A2100E113F108D10B7102D10C0106C -:100120000B111111DB105D10F6104B1072105710EF -:10013000CC10FC103B113310A810C3100511D510C2 -:100140005A102C11EA10451096106010E110691039 -:1001500008114210D810E7103610511041111D112E -:1001600081103C10DE108710D311A0118B11E51106 -:100170000C123F12211227123C1266125D122A1233 -:10018000601276111B1251125A129D119411E21134 -:10019000D911C11197115811EE1142124B12571279 -:1001A000C711F711D611701148121512B811CD11DF -:1001B000C411AC114E12BB1161111812B211F11120 -:1001C0006F12DC118E117C11A611A311FA11CA1144 -:1001D00036126711B511DF115511E81133123912BA -:1001E000031285111E1273119A117F11F41124123A -:1001F00063125B11D011EB112D12FD1182115412FB -:1002000012126D11BE1188110912911130126A116A -:1002100000120F125E11791169124512A9116411B1 -:100220000612AF11B01CD21CBD1DD21CBD1D141D69 -:10023000371DBD1D8C1D9F1D8C208C20BA20BA201F -:10024000FC203821382338235021382347224722E5 -:10025000122338233823262301E001E10118021874 -:1002600002E002E10162026201620262010502052E -:1002700001070207015802580001E001E1011802DC -:100280001802E002E101620262015B025B016102AD -:1002900061015C025C015802580001E001E10118B3 -:1002A000021802E002E1015A025A01620262016090 -:1002B0000260015E025E015802580001E001E101A6 -:1002C00018021802E002E101620262015B025B01B6 -:1002D000610261015B025B015802580001E001E12B -:1002E0000118021802E002E101620262015B025B96 -:1002F00001610261015D025D015802580001E001E7 -:10030000E10118021802E002E101620262015B02EF -:100310005B0161026101060206015802580001E01A -:1003200001E10118021802E002E101620262015BD0 -:10033000025B01040204015D025D015802580001E4 -:10034000E001E10118021802E002E1015A025A013B -:10035000620262015F025F0109020901580258004E -:1003600001E001E10118021802E002E1016202620B -:10037000015B025B0161026101050205015802583F -:100380000001E001E10118021802E002E10162024D -:1003900062015B025B010502050161026101580215 -:1003A000580001E001E10118021802E002E10162D7 -:1003B0000262015B025B016102610160026001583F -:1003C00002580001E001E10118021802E002E10117 -:1003D000620262015B025B01060206015F025F01CD -:1003E0005802580001E001E10118021802E002E1A0 -:1003F0000162026201620262010502050106020653 -:10040000015802580001E001E10118021802E0025F -:10041000E101620262015B025B01040204015C0211 -:100420005C015802580001E001E10118021802E0E5 -:1004300002E1015A025A015A025A01620262016241 -:100440000262015802580001E001E101180218029D -:10045000E002E101620262015B025B01040204014D -:100460005F025F015802580001E001E10118021823 -:1004700002E002E1015A025A015A025A015E025E8A -:1004800001620262015802580001E001E101180214 -:100490001802E002E101620262015B025B010602F6 -:1004A00006015D025D015802580001E001E10118FA -:1004B000021802E002E1015A025A015A025A01628C -:1004C000026201610261015802580001E001E1018C -:1004D00018021802E002E1015A025A0162026201A6 -:1004E0005F025F01620262015802580001E001E10F -:1004F0000118021802E002E1015A025A0162026286 -:10050000015F025F01600260015802580001E001D2 -:10051000E10118021802E002E101620262015B02DD -:100520005B01610261015F025F015802580001E056 -:1005300001E10118021802E002E101620262015BBE -:10054000025B01610261015A025A0158025800011E -:10055000E001E10118021802E002E1015A025A0129 -:1005600062026201600260015F025F01580258008E -:1005700001E001E10118021802E002E101620262F9 -:10058000015B025B01610261015902590158025885 -:100590000001E001E10118021802E002E1015A0243 -:1005A0005A01620262016002600160026001580249 -:1005B000580001E001E10118021802E002E10162C5 -:1005C0000262015B025B01610261010402040158E5 -:1005D00002580001E001E10118021802E002E10105 -:1005E000620262015B025B0105020501060206016F -:1005F0005802580001E001E10118021802E002E18E -:1006000001620262015B025B01050205015C025CA2 -:10061000015802580001E001E10118021802E0024D -:10062000E1015A025A01620262015F025F01610246 -:1006300061015802580001E001E10118021802E0CE -:1006400002E1015A025A015902590161026101593C -:100650000259015802580001E001E1011802180294 -:10066000E002E1015A025A015A025A016202620191 -:100670005D025D015802580001E001E10118021815 -:1006800002E002E10162026201620262010502050A -:10069000015B025B015802580001E001E101180210 -:1006A0001802E002E10162026201620262010502D7 -:1006B0000501080208015802580001E001E1011893 -:1006C000021802E002E101620262016202620105B7 -:1006D000020501590259015802580001E001E101E7 -:1006E00018021802E002E1015A025A015A025A01A4 -:1006F000620262015B025B015802580001E001E105 -:100700000118021802E002E1015A025A0162026273 -:10071000015F025F015D025D015802580001E001C6 -:10072000E10118021802E002E101620262015B02CB -:100730005B01060206015C025C015802580001E000 -:1007400001E10118021802E002E101620262015BAC -:10075000025B01610261015E025E01580258000104 -:10076000E001E10118021802E002E1015A025A0117 -:100770006202620160026001590259015802580088 -:1007800001E001E10118021802E002E101620262E7 -:10079000015B025B01060206016102610158025819 -:1007A0000001E001E10118021802E002E101620229 -:1007B00062015B025B01040204015B025B015802FF -:1007C000580001E001E10118021802E002E1015ABB -:1007D000025A016202620160026001620262015813 -:1007E00002580001E001E10118021802E002E101F3 -:1007F0006202620162026201070207015F025F0199 -:100800005802580001E001E10118021802E002E17B -:10081000015A025A015A025A0162026201600260E0 -:10082000015802580001E001E10118021802E0023B -:10083000E101620262015B025B0161026101090286 -:1008400009015802580001E001E10118021802E014 -:1008500002E1015A025A015A025A01590259010889 -:100860000208015802580001E001E10118021802D3 -:10087000E002E101620262015B025B010602060125 -:100880005E025E015802580001E001E10118021801 -:1008900002E002E101620262015B025B0104020408 -:1008A000015E025E015802580001E001E1011802F8 -:1008B0001802E002E101620262015B025B010502D3 -:1008C0000501590259015802580001E001E10118DF -:1008D000021802E002E1015A025A015A025A015C6E -:1008E000025C015B025B015802580001E001E1017A -:1008F00018021802E002E1015A025A016202620182 -:10090000600260015A025A015802580001E001E1F8 -:100910000118021802E002E101620262015B025B5F -:1009200001050205015F025F015802580001E00164 -:10093000E10118021802E002E101620262015B02B9 -:100940005B0105020501600260015802580001E0E8 -:1009500001E10118021802E002E101620262015B9A -:10096000025B01610261010802080158025800019E -:10097000E001E10118021802E002E10162026201F5 -:100980005B025B01060206015A025A015802580036 -:1009900001E001E10118021802E002E101620262D5 -:1009A000015B025B01040204016202620158025809 -:1009B0000001E001E10118021802E002E1015A021F -:1009C0005A01620262015F025F015F025F01580229 -:1009D000580001E001E10118021802E002E10162A1 -:1009E0000262015B025B0105020501040204015879 -:1009F00002580001E001E10118021802E002E101E1 -:100A0000620262015B025B01050205015D025D019C -:100A10005802580001E001E10118021802E002E169 -:100A200001620262015B025B01050205015E025E7A -:100A3000015802580001E001E10118021802E00229 -:100A4000E101620262015B025B010502050107022E -:100A500007015802580001E001E10118021802E004 -:100A600002E1015A025A01590259015D025D015C1D -:100A7000025C015802580001E001E101180218026D -:100A8000E002E101620262015B025B010502050115 -:100A90005B025B015802580001E001E101180218F5 -:100AA00002E002E1015A025A01590259015D025D58 -:100AB00001610261015802580001E001E1011802E0 -:100AC0001802E002E101620262015B025B010602C0 -:100AD0000601590259015802580001E001E10118CC -:100AE000021802E002E101620262015B025B0106A0 -:100AF0000206015B025B015802580001E001E101BE -:100B000018021802E002E10162026201620262015F -:100B1000090209015F025F015802580001E001E18A -:100B20000118021802E002E101620262015B025B4D -:100B30000161026101070207015802580001E0014A -:100B4000E10118021802E002E1015A025A016202B0 -:100B50006201600260015C025C015802580001E021 -:100B600001E10118021802E002E101620262015B88 -:100B7000025B010402040160026001580258000196 -:100B8000E001E10118021802E002E10162026201E3 -:100B90005B025B010402040161026101580258001A -:100BA00001E001E10118021802E002E101620262C3 -:100BB0000162026201050205015A025A01580258F7 -:100BC0000001E001E10118021802E002E101620205 -:100BD00062015B025B0106020601620262015802C9 -:100BE000580001E001E10118021802E002E1015A97 -:100BF000025A0159025901610261015B025B01580D -:100C000002580001E001E10118021802E002E101CE -:100C10005A025A01620262015F025F015E025E01D6 -:100C20005802580001E001E10118021802E002E157 -:100C3000015A025A0159025901610261015A025ACC -:100C4000015802580001E001E10118021802E00217 -:100C5000E1015A025A01620262015F025F015C0215 -:100C60005C015802580001E001E10118021802E09D -:100C700002E1015A025A01620262016002600161EE -:100C80000261015802580001E001E1011802180256 -:100C9000E002E101620262015B025B010602060101 -:100CA000600260015802580001E001E101180218D9 -:100CB00002E002E1015A025A01590259015D025D46 -:100CC000015D025D015802580001E001E1011802D6 -:100CD0001802E002E101620262015B025B01610253 -:100CE0006101610261015802580001E001E101184F -:100CF000021802E002E1015A025A01620262016036 -:100D00000260015D025D015802580001E001E1014D -:100D100018021802E002E101620262015B025B015B -:100D2000050205015A025A015802580001E001E18A -:100D30000118021802E002E101620262016202622D -:100D40000105020501610261015802580001E0013C -:100D5000E10118021802E002E1015A025A015A02A6 -:100D60005A01620262015C025C015802580001E013 -:100D700001E10118021802E002E101620262015B76 -:100D8000025B010502050108020801580258000132 -:100D9000E001E10118021802E002E1015A025A01E1 -:100DA000590259015D025D015B025B015802580066 -:100DB00001E001E10118021802E002E101620262B1 -:100DC000015B025B0105020501050205015802589D -:100DD0000001E001E10118021802E002E1015A02FB -:100DE0005A01590259015D025D01050205015802CF -:100DF000580001E001E10118021802E002E1015A85 -:100E0000025A0162026201600260015B025B0158EA -:100E100002580001E001E10118021802E002E101BC -:100E2000620262015B025B01040204015902590182 -:100E30005802580001E001E10118021802E002E145 -:100E4000015A025A015902590161026101620262AA -:100E5000015802580001E001E10118021802E00205 -:100E6000E101620262015B025B0105020501090208 -:100E700009015802580001E201570257016202625B -:100E800001620262010502050107020702E2000198 -:100E9000E20157025701620262015B025B016102DB -:100EA00061015C025C02E20001E201570257015A53 -:100EB000025A0162026201600260015E025E02E2A9 -:100EC0000001E20157025701620262015B025B010D -:100ED000610261015B025B02E20001E2015702571D -:100EE00001620262015B025B01610261015D025D00 -:100EF00002E20001E20157025701620262015B0255 -:100F00005B016102610106020602E20001E2015793 -:100F1000025701620262015B025B01040204015D8F -:100F2000025D02E20001E201570257015A025A0132 -:100F3000620262015F025F0109020902E20001E24E -:100F40000157025701620262015B025B01610261AB -:100F50000105020502E20001E201570257016202A7 -:100F600062015B025B010502050161026102E200B0 -:100F700001E20157025701620262015B025B0161FB -:100F800002610160026002E20001E20157025701C2 -:100F9000620262015B025B01060206015F025F0200 -:100FA000E20001E20157025701620262016202623D -:100FB000010502050106020602E20001E2015702F4 -:100FC0005701620262015B025B01040204015C02E0 -:100FD0005C02E20001E201570257015A025A015A2B -:100FE000025A016202620162026202E20001E2014F -:100FF00057025701620262015B025B0104020401B5 -:101000005F025F02E20001E201570257015A025AF1 -:10101000015A025A015E025E0162026202E20001AE -:10102000E20157025701620262015B025B010602A4 -:1010300006015D025D02E20001E201570257015A1A -:10104000025A015A025A016202620161026102E21D -:101050000001E201570257015A025A01620262017D -:101060005F025F0162026202E20001E20157025781 -:10107000015A025A01620262015F025F016002606E -:1010800002E20001E20157025701620262015B02C3 -:101090005B01610261015F025F02E20001E2015750 -:1010A000025701620262015B025B01610261015A47 -:1010B000025A02E20001E201570257015A025A01A4 -:1010C00062026201600260015F025F02E20001E20F -:1010D0000157025701620262015B025B016102611A -:1010E0000159025902E20001E201570257015A0276 -:1010F0005A01620262016002600160026002E20065 -:1011000001E20157025701620262015B025B016169 -:1011100002610104020402E20001E20157025701E8 -:10112000620262015B025B01050205010602060222 -:10113000E20001E20157025701620262015B025BB9 -:1011400001050205015C025C02E20001E2015702B6 -:1011500057015A025A01620262015F025F01610295 -:101160006102E20001E201570257015A025A015995 -:101170000259016102610159025902E20001E201D2 -:10118000570257015A025A015A025A016202620179 -:101190005D025D02E20001E2015702570162026254 -:1011A0000162026201050205015B025B02E20001CD -:1011B000E201570257016202620162026201050206 -:1011C000050108020802E20001E20157025701622C -:1011D000026201620262010502050159025902E23E -:1011E0000001E201570257015A025A015A025A01FC -:1011F000620262015B025B02E20001E201570257F8 -:10120000015A025A01620262015F025F015D025DE2 -:1012100002E20001E20157025701620262015B0231 -:101220005B01060206015C025C02E20001E201577A -:10123000025701620262015B025B01610261015EB1 -:10124000025E02E20001E201570257015A025A010E -:10125000620262016002600159025902E20001E289 -:101260000157025701620262015B025B010602063E -:101270000161026102E20001E201570257016202CC -:1012800062015B025B01040204015B025B02E2009B -:1012900001E201570257015A025A016202620160DB -:1012A00002600162026202E20001E201570257019C -:1012B0006202620162026201070207015F025F02CD -:1012C000E20001E201570257015A025A015A025A3A -:1012D000016202620160026002E20001E201570263 -:1012E0005701620262015B025B0161026101090256 -:1012F0000902E20001E201570257015A025A015A5B -:10130000025A015902590108020802E20001E201F1 -:1013100057025701620262015B025B01060206018D -:101320005E025E02E20001E20157025701620262C0 -:10133000015B025B01040204015E025E02E2000145 -:10134000E20157025701620262015B025B01050282 -:10135000050159025902E20001E201570257015A00 -:10136000025A015A025A015C025C015B025B02E212 -:101370000001E201570257015A025A01620262015A -:10138000600260015A025A02E20001E2015702576C -:1013900001620262015B025B01050205015F025FFF -:1013A00002E20001E20157025701620262015B02A0 -:1013B0005B010502050160026002E20001E20157E3 -:1013C000025701620262015B025B01610261010876 -:1013D000020802E20001E2015702570162026201C3 -:1013E0005B025B01060206015A025A02E20001E2B8 -:1013F0000157025701620262015B025B01040204B1 -:101400000162026202E20001E201570257015A0240 -:101410005A01620262015F025F015F025F02E20045 -:1014200001E20157025701620262015B025B0105A2 -:1014300002050104020402E20001E2015702570121 -:10144000620262015B025B01050205015D025D0251 -:10145000E20001E20157025701620262015B025B96 -:1014600001050205015E025E02E20001E20157028F -:101470005701620262015B025B010502050107027E -:101480000702E20001E201570257015A025A0159CC -:101490000259015D025D015C025C02E20001E201B1 -:1014A00057025701620262015B025B0105020501FE -:1014B0005B025B02E20001E201570257015A025A45 -:1014C00001590259015D025D0161026102E2000100 -:1014D000E20157025701620262015B025B010602F0 -:1014E000060159025902E20001E201570257016266 -:1014F0000262015B025B01060206015B025B02E223 -:101500000001E201570257016202620162026201B8 -:10151000090209015F025F02E20001E2015702577E -:1015200001620262015B025B016102610107020765 -:1015300002E20001E201570257015A025A01620217 -:101540006201600260015C025C02E20001E201579C -:10155000025701620262015B025B01040204016046 -:10156000026002E20001E2015702570162026201D9 -:101570005B025B010402040161026102E20001E21C -:10158000015702570162026201620262010502050F -:10159000015A025A02E20001E201570257016202B7 -:1015A00062015B025B010602060162026202E20066 -:1015B00001E201570257015A025A015902590161C9 -:1015C0000261015B025B02E20001E2015702570186 -:1015D0005A025A01620262015F025F015E025E020C -:1015E000E20001E201570257015A025A0159025919 -:1015F00001610261015A025A02E20001E20157024E -:1016000057015A025A01620262015F025F015C02E5 -:101610005C02E20001E201570257015A025A0162DC -:101620000262016002600161026102E20001E20106 -:1016300057025701620262015B025B01060206016A -:1016400060026002E20001E201570257015A025AA9 -:1016500001590259015D025D015D025D02E2000176 -:10166000E20157025701620262015B025B01610203 -:10167000610161026102E20001E201570257015A71 -:10168000025A0162026201600260015D025D02E2D3 -:101690000001E20157025701620262015B025B0135 -:1016A000050205015A025A02E20001E201570257FF -:1016B00001620262016202620105020501610261CA -:1016C00002E20001E201570257015A025A015A028E -:1016D0005A01620262015C025C02E20001E201570F -:1016E000025701620262015B025B0105020501080B -:1016F000020802E20001E201570257015A025A01B0 -:10170000590259015D025D015B025B02E20001E2E8 -:101710000157025701620262015B025B010502058B -:101720000105020502E20001E201570257015A02D7 -:101730005A01590259015D025D0105020502E200EC -:1017400001E201570257015A025A01620262016026 -:101750000260015B025B02E20001E20157025701F5 -:10176000620262015B025B01040204015902590238 -:10177000E20001E201570257015A025A0159025987 -:10178000016102610162026202E20001E2015702AC -:101790005701620262015B025B0105020501090259 -:1017A0000902E200055204520152035201000000F6 -:1017B0001E001B0018002F00010029001F0013004D -:1017C0000C003300E300E1002000090004003400B5 -:1017D000E2002A0021001A0008000600E00065006F -:1017E00022000A0012001900000049002E004A00E1 -:1017F00000004D00000002542E02025400002B0095 -:1018000000005E0023000B001600050000004C00E5 -:1018100024000D0011001000E2004B0025000E0016 -:101820001500360001002C0026000F0017003700BD -:1018300050002800270014000700520051004E00FD -:1018400035001C002D001D004F00000001000100AC -:1018500001000100010000001E02300238020100F8 -:10186000010001001F026414380030000100010073 -:101870002002240223022702010001000100241497 -:1018800025140100010001000100271426140100A5 -:101890000000010001000100000001000000010043 -:1018A0000100010000000100000001000100310002 -:1018B00021022D1400000100010064002502220213 -:1018C000010001000100640226023602010001004D -:1018D00001000100301437023830010035021F02C8 -:1018E0003102553002300100010001002D020100DB -:1018F0003D30000001000100010001000100000076 -:101900003A00010001000100010001003B0001005C -:1019100001000100010001003C0001000100010084 -:10192000010001003D000100010001000100010073 -:101930003E00010001000100000001004400010020 -:1019400000000100000001004500010000005300FC -:10195000000001003F000100010001000000010043 -:1019600040005F005C00590062000100410060001F -:101970005D005A0085000100420061005E005B00CE -:101980006300010043005500560057005800010055 -:101990006700540056005700580000000100010085 -:1019A00001000100010000004D30393001005B30C2 -:1019B00001000100513058303C303B300100010043 -:1019C0005030013014145D30010001004A305930AC -:1019D00008145C30010001004930573004300030F9 -:1019E00000000100053001000000010000000100BE -:1019F0000100010000000100000001004F305A30DA -:101A000037301E02000001004E3001004B30010053 -:101A100001000100483056305430533001000100BD -:101A20004C30010003303A30010001005230010017 -:101A3000010001000100010001000100010001009E -:101A40000100000001000100010001000100000090 -:101A500042302030343001000100010046302E3089 -:101A6000263033300100010045302D301E3001009A -:101A70000100010040302B30223001000100010044 -:101A80003F3025302C300100000001000100010032 -:101A90000000010000000100010001000000010041 -:101AA000000001004430233031301F3000000100BD -:101AB000433035302A302930010001003E302730D4 -:101AC0003030010001000100413028303230010087 -:101AD0000100010047300100213001000100010038 -:101AE0000100363024302F300100000001000100D9 -:101AF0000100010001000000010008301B3001005E -:101B000001000100010015300D301A300100010004 -:101B10000100143006300100010001000100123004 -:101B20000A3001000100010001000C3013300100F7 -:101B300000000100010001000000010000000100A0 -:101B400001000100000001000000010001000B3055 -:101B5000183007300000010001001C301130103037 -:101B60000100010001000E301730010001000100EA -:101B700001000F30193001000100010001000100D7 -:101B8000093001000100010001001D300100163084 -:101B9000010000000100010001000100010000003F -:101BA000010001000100010001000100010001002D -:101BB000010001000100010001000100010001001D -:101BC000010001000100010001000100010001000D -:101BD00001000100010001000000010001000100FE -:101BE00000000100000001000100010000000100F0 -:101BF00000000100010001000100010000000100DF -:101C000001000100010001000100010001000100CC -:101C100001000100010001000100010001000100BC -:101C200001000100010001000100010001000100AC -:101C3000010001000100010001000000010001009D -:101C4000010001000100000001000100010001008D -:101C5000010001000100010001000100010001007C -:101C6000010001000100010001000100010001006C -:101C7000010001000100010001000100010001005C -:101C8000000001000100010000000100000001004F -:101C9000010001000000010000000100010001003E -:101CA000010001000000010001000100010001002D -:101CB000010001000100010001000100010001001C -:101CC000010001000100010001000100010001000C -:101CD00001000100010001000100010001000100FC -:101CE00001000000010001000100010001000000EE -:101CF00001000100010001000100010001000100DC -:101D000001000100010001000100010001000100CB -:101D100001000100010001000100010001000100BB -:101D200001000100010001000000010001000100AC -:101D3000000001000000010001000100000001009E -:101D4000000001000100010001000100000001008D -:101D5000010001000100010001000100010001007B -:101D6000010001000100010001000100010001006B -:101D7000010001000100010001000100010001005B -:101D800001000100010001000100000016034500F0 -:101D9000720067006F0044006F007800200045006B -:101DA0005A00000016034500720067006F004400EF -:101DB0006F007800200045005A0000000403090469 -:101DC00009026D00040100A0FA09040000010301EA -:101DD0000100092111010001223F000705810308CC -:101DE000000A090401000103010200092111010098 -:101DF00001224D000705820308000A0904020001C0 -:101E000003000000092111010001223600070583AB -:101E10000308000A0904030001030000000921115E -:101E2000010001223900070584031000011201108E -:101E30000100000008EDFE0713010001020001058A -:101E4000010906A101050719E029E71500250195FB -:101E5000087501810205081901290595057501918B -:101E600002950175039101050719002977150025D1 -:101E700001957875018102C005010980A1018502E3 -:101E800016010026B7001A01002AB7007510950147 -:101E90008100C0050C0901A1018503160100269CE3 -:101EA000021A01002A9C02751095018100C00501EB -:101EB0000902A1010901A10005091901290515005F -:101EC00025019505750181029501750381010501C3 -:101ED000093009311581257F950275088106093879 -:101EE0001581257F950175088106050C0A380215B4 -:101EF00081257F950175088106C0C005010906A1ED -:101F000001050719E029E7150025019508750181EC -:101F100002950175088101050819012905950575C6 -:101F20000191029501750391010507190029FF151B -:101F30000025FF950675088100C000000000000024 -:101F40000000000000010204060A0F17202C3A4A84 -:101F50005D71879DB3C7DAE9F5FCFFFCF5E9DAC7E7 -:101F6000B39D87715D4A3A2C20170F0A06040201BF -:101F70000000000000000000000011241FBECFEF91 -:101F8000DAE0DEBFCDBF04B603FE24C08091F001CD -:101F90009091F101A091F201B091F3018730904B43 -:101FA000A740B04BB9F41092F0011092F1011092D9 -:101FB000F2011092F30114BE84B7877F84BF88E1D9 -:101FC0000FB6F89480936000109260000FBEE0E0BE -:101FD000FFE3099511E0A0E0B1E0E0E3F5E602C01F -:101FE00005900D92A433B107D9F711E0A4E3B1E055 -:101FF00001C01D92A03FB107E1F70E94BF180C94E9 -:1020000096320C940000FC018281811103C080E0B3 -:1020100090E008956E3561F42091340130913501DE -:102020002F5F3F4F217033273093350120933401C8 -:1020300020913401309135012115310509F024C179 -:10204000862F90E08E35910528F4FC01EA5AFF4F67 -:102050000C944B3280E090E0089582E797E1089578 -:1020600089E597E1089580E497E1089587E297E193 -:1020700008958EE097E1089585EF96E108958CED3F -:1020800096E1089583EC96E108958AEA96E1089531 -:1020900081E996E1089588E796E108958FE596E154 -:1020A000089586E496E108958DE296E1089584E12D -:1020B00096E108958BEF95E1089582EE95E10895FC -:1020C00089EC95E1089580EB95E1089587E995E124 -:1020D00008958EE795E1089585E695E108958CE4ED -:1020E00095E1089583E395E108958AE195E10895E6 -:1020F00081E095E1089588EE94E108958FEC94E1F4 -:10210000089586EB94E108958DE994E1089584E8BB -:1021100094E108958BE694E1089582E594E10895B1 -:1021200089E394E1089580E294E1089587E094E1E1 -:1021300008958EEE93E1089585ED93E108958CEB7B -:1021400093E1089583EA93E108958AE893E108957D -:1021500081E793E1089588E593E108958FE393E1A2 -:10216000089586E293E108958DE093E1089584EF68 -:1021700092E108958BED92E1089582EC92E1089549 -:1021800089EA92E1089580E992E1089587E792E172 -:1021900008958EE592E1089585E492E108958CE238 -:1021A00092E1089583E192E108958AEF91E1089523 -:1021B00081EE91E1089588EC91E108958FEA91E133 -:1021C000089586E991E108958DE791E1089584E607 -:1021D00091E108958BE491E1089582E391E10895FE -:1021E00089E191E1089580E091E1089587EE90E121 -:1021F00008958EEC90E1089585EB90E108958CE9C7 -:1022000090E1089583E890E108958AE690E10895C9 -:1022100081E590E1089588E390E108958FE190E1F0 -:10222000089586E090E108958DEE9FE0089584ED95 -:102230009FE008958BEB9FE0089582EA9FE0089568 -:1022400089E89FE0089580E79FE0089587E59FE093 -:1022500008958EE39FE0089585E29FE008958CE065 -:102260009FE0089583EF9EE008958AED9EE0089533 -:1022700081EC9EE0089588EA9EE008958FE89EE054 -:10228000089586E79EE008952130310509F0BFCE1C -:10229000862F90E08E35910528F4FC01EC54FF4F19 -:1022A0000C944B3280E090E0089584E39EE0089522 -:1022B00083E19EE0089582EF9DE0089581ED9DE029 -:1022C000089580EB9DE008958FE89DE008958EE6E7 -:1022D0009DE008958DE49DE008958CE29DE00895D1 -:1022E0008BE09DE008958AEE9CE0089589EC9CE0E7 -:1022F000089588EA9CE0089587E89CE0089586E6C2 -:102300009CE0089585E49CE0089584E29CE00895B3 -:1023100083E09CE0089582EE9BE0089581EC9BE0D1 -:10232000089580EA9BE008958FE79BE008958EE58D -:102330009BE008958DE39BE008958CE19BE0089578 -:102340008BEF9AE008958AED9AE0089589EB9AE080 -:10235000089588E99AE0089587E79AE0089586E568 -:102360009AE0089585E39AE0089584E19AE008955B -:1023700083EF99E0089582ED99E0089581EB99E06B -:10238000089580E999E008958FE699E008958EE434 -:1023900099E008958DE299E008958CE099E0089520 -:1023A0008BEE98E008958AEC98E0089589EA98E029 -:1023B000089588E898E0089587E698E0089586E40F -:1023C00098E0089585E298E0089584E098E0089503 -:1023D00083EE97E0089582EC97E0089581EA97E014 -:1023E000089580E897E008958FE597E008958EE3DB -:1023F00097E008958DE197E008958CEF96E00895B9 -:102400008BED96E008958AEB96E0089589E996E0D1 -:10241000089588E796E0089587E596E0089586E3B5 -:1024200096E0089585E196E0089584EF95E008959B -:1024300083ED95E0089582EB95E0089581E995E0BC -:10244000089580E795E008958FE495E008958EE281 -:1024500095E008958DE095E008958CEE94E0089560 -:102460008BEC94E008958AEA94E0089589E894E07A -:10247000089588E694E0089587E494E0089586E25C -:1024800094E0089585E094E0089584EE93E0089543 -:1024900083EC93E0089582EA93E0089581E893E065 -:1024A000089580E693E008958FE393E008958EE128 -:1024B00093E008958DEF92E008958CED92E00895F9 -:1024C0008BEB92E008958AE992E0089589E792E023 -:1024D000089588E592E008958BE897E1089585E5F1 -:1024E0009EE0089508956091B3017091B4018091C8 -:1024F000B5019091B6010E94A42956985E9825983E -:102500002D9826982E9827982F988330A9F028F494 -:10251000813051F0823069F012C0843041F0853052 -:1025200071F4259A2D9A08C0259A2D9A0895259A16 -:102530002D9A269A2E9A0895279A2F9A089556989A -:102540005E9808950C94731256985E9825982D986D -:1025500026982E9827982F988FEF90E090938900D7 -:102560008093880090938B0080938A0090938D00D5 -:1025700080938C00259A2D9A2FEF80E792E02150CE -:1025800080409040E1F700C00000269A2E9A2FEF7D -:1025900080E792E0215080409040E1F700C00000C9 -:1025A000279A2F9A2FEF80E792E0215080409040A9 -:1025B000E1F700C0000025982D982FEF80E792E00A -:1025C000215080409040E1F700C0000026982E98EE -:1025D0002FEF80E792E0215080409040E1F700C06B -:1025E000000027982F9856985E9825982D98269841 -:1025F0002E9827982F98089589EA8093800089E083 -:102600008093810024982C983F988AB18F748AB95E -:102610006E98479A8BB1806B8BB9769A0E94A41200 -:102620000C94721280E28093000180913601811136 -:102630000EC00E94611381E0809336012FEF83ED7D -:1026400090E3215080409040E1F700C0000080E41A -:102650000E9467138093000181112EC00E94911384 -:1026600080930001811128C00E9491138093000182 -:10267000811122C08FE30E94911380930001811188 -:102680001BC00E94891380E40E946713809300019D -:10269000811112C08CE00E9491138093000181117E -:1026A0000BC00E94911380930001811105C08FE33C -:1026B0000E949113809300010E9489138091000170 -:1026C00008951092B9008AE08093B800089594EAC2 -:1026D0009093BC009091BC0097FFFCCF9091B90003 -:1026E000987F983021F0903111F081E00895809327 -:1026F000BB0084E88093BC008091BC0087FFFCCFC6 -:102700008091B900887F883111F0803471F780E0C2 -:10271000089584E98093BC008091BC0084FDFCCFC7 -:1027200008958093BB0084E88093BC008091BC0036 -:1027300087FFFCCF9091B900987F81E0983209F42F -:1027400080E0089584E88093BC008091BC0087FFFE -:10275000FCCF8091BB00089580910001811115C0CC -:1027600080E40E9467138093000181110CC082E114 -:102770000E94911380930001811105C08FEF0E9488 -:102780009113809300010E94891384B1807F84B9E2 -:1027900085B1807F85B98AB1837F8AB98BB1837F08 -:1027A0008BB93E98469808950E94121380930001B9 -:1027B0000E94AC1380B38C7080BB81B3836F81BBEC -:1027C000E6E4F1E0A8E3B1E011921D9281E0E43586 -:1027D000F807D1F70C94FC12BF92CF92DF92EF92E0 -:1027E000FF920F931F93CF93DF9380910001882373 -:1027F00079F0809137018F5F80933701811108C094 -:102800000E94121380930001811102C00E94A41241 -:1028100008E311E0C0E0D0E0DD24D39482E0C82ECC -:10282000EE24E394F12CC73000F580910001811172 -:1028300062C080E40E94671380930001811112C07E -:1028400082E10E9491138093000181110BC0C701A6 -:102850000C2E01C0880F0A94EAF780950E9491130C -:10286000809300010E94891346C0CA30A1F028F469 -:10287000C83059F0C93061F005C0CC3089F070F033 -:10288000CD3089F0209A289810C0219A29980DC03F -:10289000229A2A980AC0239A2B9807C0529A01C0FC -:1028A000539A5B9802C03E9A4698E0EAEA95F1F79F -:1028B0008FB179995AC092E081708D25892B7C9BCC -:1028C00002C090E001C094E0892B7D9B02C090E0A3 -:1028D00001C098E0892B7E9B02C090E001C090E18E -:1028E000892B9FB19095991F9927991F9295990FC0 -:1028F000907E892B0FC08091000181114BC080E434 -:102900000E94671380930001882389F1B12C0E94F3 -:1029100089138B2DF8019081981719F08083C0924C -:1029200001010E94AC1321960F5F1F4FCE30D105DD -:1029300009F079CF80910101882371F18150809352 -:102940000101882339F08FE99FE00197F1F700C07A -:10295000000022C0A6E4B1E0E8E3F1E081918D93AC -:1029600091E0E634F907D1F717C090E0A5CF83E1F5 -:102970000E949113809300018111C8CF81E40E94CD -:102980006713809300018111C1CF0E94A213B82E5A -:10299000B094BDCF80E0BECF0E94A21281E0DF9153 -:1029A000CF911F910F91FF90EF90DF90CF90BF904C -:1029B0000895E82FF0E0EA5BFE4F808108950895C6 -:1029C0008B3B910578F4883A910540F5853A91055D -:1029D000D0F48430910508F0B1C08130910509F43C -:1029E000ADC06BC0803E910508F467C0883E91057C -:1029F00008F4A4C09C01205F31092031310508F0A2 -:102A00005CC090650895853A910509F459C0863AED -:102A1000910509F458C083E890E40895883A910537 -:102A200009F454C0893A910509F453C08A3A9105D2 -:102A300009F452C08B3A910509F451C08C3A9105C2 -:102A400009F450C08D3A910509F44FC0803B9105BF -:102A500009F44EC08E3A910509F44DC08F3A9105A4 -:102A600009F44CC0813B910509F44BC0823B9105B0 -:102A700009F44AC0833B910509F449C0843B9105A0 -:102A800009F448C0853B910509F447C0863B910590 -:102A900009F446C0873B910509F445C0883B910580 -:102AA00009F444C0893B910509F443C08A3B910570 -:102AB00009F042C08AE296E4089580E090E008952B -:102AC00081E890E4089582E890E4089582EE94E429 -:102AD000089589EE94E408958AEE94E4089585EBD0 -:102AE00094E4089586EB94E4089587EB94E40895C4 -:102AF0008CEC94E408958DEC94E4089583E895E4D7 -:102B000008958AE895E4089582E995E4089584E9B2 -:102B100095E4089581E296E4089583E296E40895A9 -:102B200084E296E4089585E296E4089586E296E4C8 -:102B3000089587E296E4089580E094E40895089566 -:102B400096E0799FF001112494E5899FE00DF11D35 -:102B50001124E60FF11DEE0FFF1FEC55F84E859185 -:102B600094910895880F991F8C5D994EFC01859171 -:102B700094910895880F991F8C55984EFC0185916A -:102B80009491089526E0729FF001112444E5849FFA -:102B9000E00DF11D1124E60FF11DEE0FFF1FEC55A6 -:102BA000F84E25913491C9019A9581159F4110F4F1 -:102BB000C9010895C90190528115904128F4C901B5 -:102BC0009F700E94BA150895C901905381159041D4 -:102BD00020F4C9019927906C0895211580E53807E4 -:102BE00069F40E9459239FEF24E34CE09150204068 -:102BF0004040E1F700C000000C949D2A213080E5A0 -:102C0000380731F48091CE0181608093CE01089520 -:102C1000C90190558115904108F050C0832F992724 -:102C20008F70992781309105D9F4A90143705527F8 -:102C300002C0880F991F4A95E2F79C68A90164E0D9 -:102C4000440F551F6A95E1F744275370842B952B49 -:102C500073E0220F331F7A95E1F7207633271DC0EA -:102C60008230910529F4922F8827816F906A089508 -:102C700083309105A9F4A9014370552781E090E0C4 -:102C800002C0880F991F4A95E2F79C6843E0220F23 -:102C9000331F4A95E1F7207E3770822B932B0895DE -:102CA0000497F1F4A9014370552781E090E002C038 -:102CB000880F991F4A95E2F79A68E8CFC9019057A3 -:102CC0008115904120F4C9019F7090620895C90157 -:102CD00090588115904120F4C9019F70906A089521 -:102CE000203E3105E0F4203C310558F52133310513 -:102CF00009F470C048F42932310509F464C02A325D -:102D0000310509F46EC074C029333105F1F0223861 -:102D10003105D9F02533310509F44EC069C0233E91 -:102D2000310589F138F4203E3105C1F0223E3105EC -:102D3000E1F05EC0263E310569F1273E3105A9F17B -:102D400057C0C9010E94B21508958091E10180FD2C -:102D500002C081FF4DC080EE90E04BC08091E10148 -:102D600080FFF9CF89E390E044C08091E10182FFC8 -:102D70000EC08091E10184FF03C080E090E039C083 -:102D800083EE90E036C08091E10182FFF2CF82EEC7 -:102D900090E02FC08091E10183FF0BC08091E101A1 -:102DA00084FDEBCF87EE90E024C08091E10183FFAA -:102DB000F5CF86EE90E01DC08091E10185FF07C050 -:102DC00089E290E016C08091E10185FFF9CF85E3AB -:102DD00090E00FC08091E10186FF07C08AE290E099 -:102DE00008C08091E10186FFF9CF81E390E001C046 -:102DF000C9010E94E014089508950C94FC16809176 -:102E000064010895CF93DF9300D01F92CDB7DEB752 -:102E10002091E701243019F523E029839B838A83DD -:102E20002093E9008FEF9091E800815095FD06C056 -:102E300095ED9A95F1F700008111F5CF8091E800AA -:102E400085FF0DC040E050E063E070E0CE010196E8 -:102E50000E946C198091E8008E778093E8000F90B3 -:102E60000F900F90DF91CF910895CF93DF9300D013 -:102E70001F92CDB7DEB72091E701243021F522E083 -:102E800029839B838A8383E08093E9008FEF90916D -:102E9000E800815095FD06C095ED9A95F1F7000088 -:102EA0008111F5CF8091E80085FF0DC040E050E032 -:102EB00063E070E0CE0101960E946C198091E800F9 -:102EC0008E778093E8000F900F900F90DF91CF9155 -:102ED00008952091E7012430F1F422E02093E900E5 -:102EE0002FEF3091E800215035FD06C035ED3A95C1 -:102EF000F1F700002111F5CF2091E80025FF0BC06C -:102F000040E050E065E070E00E946C198091E800BC -:102F10008E778093E8000895CF93DF93EC01809142 -:102F2000E701843009F046C090910C019923D9F053 -:102F300090910D019923B9F08093E9008FEF909162 -:102F4000E800815095FD06C095E19A95F1F70000E3 -:102F50008111F5CF8091E80085FF2CC040E050E062 -:102F600060E170E017C081E08093E9008FEF9091FD -:102F7000E800815095FD06C095ED9A95F1F70000A7 -:102F80008111F5CF8091E80085FF14C040E050E04A -:102F900068E070E0CE010E946C198091E8008E77A5 -:102FA0008093E80080E1FE01A4E5B1E001900D927C -:102FB0008A95E1F7DF91CF9108958091E601811123 -:102FC00009C00E94FE1A0E945B1B8091E20084608F -:102FD0008093E20008951092E601089508950C94FC -:102FE000C3300E94342A0E94C9300E94F81D0C94FC -:102FF000FD1642E061EC81E00E94781A42E061EC4B -:1030000082E00E94781A42E061EC83E00E94781A24 -:1030100042E161EC84E00C94781A8091E9018330FC -:1030200009F455C030F4813071F0823009F48EC05B -:1030300008958A3009F47AC08B3009F460C0893071 -:1030400009F09CC020C08091E801813A09F096C047 -:103050008091E800877F8093E8008091EC01909157 -:10306000ED01892B21F060E080E090E003C060E199 -:1030700084E591E070E00E94B5198091E8008B77BB -:103080008093E80008958091E801813209F076C0CC -:103090008091EC019091ED01009719F0039709F0F0 -:1030A0006DC08091E800877F8093E8008091E80000 -:1030B00082FD05C08091E7018111F8CF5FC080914A -:1030C000F100809364018091E8008B7753C0809178 -:1030D000E801813A09F052C08091EC019091ED0134 -:1030E000892B09F04BC08091E800877F8093E8002E -:1030F0008091E80080FFFCCF80910C0136C0809168 -:10310000E8018132D9F58091EC019091ED01892B94 -:10311000A9F58091E800877F8093E8000E94AD1AAE -:103120008091EA0180930C010C9459238091E8016D -:10313000813221F58091E800877F8093E8000E942A -:10314000AD1A8091EB018093650108958091E801AB -:10315000813AA1F48091E800877F8093E800809114 -:10316000E80080FFFCCF809165018093F1008091A1 -:10317000E8008E778093E8000C94AD1A089584B728 -:10318000877F84BF88E10FB6F89480936000109227 -:1031900060000FBE90E080E80FB6F8948093610065 -:1031A000909361000FBE0E94471E0E94FE1A0E946B -:1031B0005B1B8091E20084608093E20078940E941F -:1031C000D61D0E94491E82E091E00E94F31D0E94DC -:1031D000B1308091E701853069F40E94F729809130 -:1031E000E5018823B1F30E941F2A882391F30E94EE -:1031F0005619EFCF0E944F1EECCF292F33272330D3 -:103200003105A9F06CF42130310509F442C02230B7 -:10321000310509F043C08DE690E020EC3DE142C06D -:1032200021323105C9F02232310519F137C0992711 -:103230008130910541F08230910541F0892B71F583 -:10324000ECEBFDE105C0E4EAFDE102C0ECE8FDE1E4 -:10325000849190E09F0126C0643000F5E62FF0E0F5 -:10326000EE0FFF1FEE5DFE4F2081318189E090E07F -:1032700019C0643098F4E62FF0E0DF01AA0FBB1FFD -:10328000A65EBE4F2D913C91EA5EFE4F808190E09C -:1032900009C082E190E02DE23EE104C080E090E0D0 -:1032A00020E030E0FA0131832083089580E189BD78 -:1032B00082E189BD09B400FEFDCF8091D8008F7DE9 -:1032C0008093D8008091E00082608093E00080913C -:1032D000E00081FDFCCF0895CF92DF92EF92FF9244 -:1032E0000F931F93CF93DF937C018B01EA010E9420 -:1032F000CE1A811131C0209731F088819981081B45 -:10330000190BE80EF91EC12CD12C0115110519F16C -:103310008091E80085FD14C08091E8008E7780934D -:10332000E800209741F0888199818C0D9D1D99833B -:10333000888385E011C00E94CE1A882331F30CC027 -:10334000F70181917F018093F10001501109FFEF96 -:10335000CF1ADF0ADACF80E0DF91CF911F910F9172 -:10336000FF90EF90DF90CF9008952091EE01309183 -:10337000EF012617370748F06115710539F42091E0 -:10338000E8002E772093E80001C0B901FC0120E09D -:1033900061157105B9F18091E701882309F440C0F6 -:1033A000853009F43FC08091E80083FD3DC08091E5 -:1033B000E80082FF06C08091E80082FF26C080E01E -:1033C00008958091E80080FFE3CF2091F300809181 -:1033D000F20090E0922B6115710551F08830910553 -:1033E00038F421912093F100615071090196F3CFD7 -:1033F00021E0089709F020E08091E8008E77809323 -:10340000E800C6CF2111C7CFD6CF8091E70188232E -:1034100039F0853039F08091E80083FFCCCF04C0CB -:1034200082E0089583E0089581E008952091EE01FF -:103430003091EF012617370748F06115710539F40F -:103440002091E8002E772093E80001C0B901FC012B -:1034500020E061157105C1F18091E701882309F42D -:1034600041C0853009F440C08091E80083FD3EC032 -:103470008091E80082FF06C08091E80082FF27C0AB -:1034800080E008958091E80080FFE3CF2091F30071 -:103490008091F20090E0922B6115710559F088300F -:1034A000910540F424912093F10031966150710907 -:1034B0000196F2CF21E0089709F020E08091E80022 -:1034C0008E778093E800C5CF2111C6CFD5CF8091EC -:1034D000E701882339F0853039F08091E80083FFD7 -:1034E000CBCF04C082E0089583E0089581E0089581 -:1034F000982F973058F59093E900981739F070910C -:10350000EC002091ED005091F00003C0242F762FA5 -:1035100050E021FF19C03091EB003E7F3093EB006B -:103520003091ED003D7F3093ED003091EB00316044 -:103530003093EB007093EC002093ED005093F0007B -:103540002091EE0027FF07C09F5FD3CF8F7080933D -:10355000E90081E0089580E008958091E80187FD09 -:1035600005C08091E80080FF0EC012C08091E80085 -:1035700082FD05C08091E7018111F8CF0895809107 -:10358000E8008B7708C08091E7018111EACF0895A8 -:103590008091E8008E778093E80008958091E400A0 -:1035A0009091E50045E62091EC0020FF21C020919C -:1035B000E80020FD21C02091E701222389F0253079 -:1035C00089F02091EB0025FD0FC02091E40030919F -:1035D000E5002817390739F3415041F0C901E3CF1D -:1035E00082E0089583E0089581E0089584E00895DD -:1035F0002091E80022FFDFCF80E008950E946C1B3D -:103600000E94741BE0EEF0E0808181608083E8ED31 -:10361000F0E080818F77808319BCA7EDB0E08C91BA -:103620008E7F8C9380818F7E80831092E601089537 -:103630000F931F93CF93DF930E946C1B0E94741B08 -:10364000C8EDD0E088818F778883888180688883FF -:1036500088818F7D888319BC1092E7011092E30165 -:103660001092E5011092E40100EE10E0F801808173 -:103670008B7F808388818160888342E060E080E086 -:103680000E94781AE1EEF0E080818E7F8083E2EE86 -:10369000F0E0808181608083808188608083F80190 -:1036A00080818E7F8083888180618883DF91CF9144 -:1036B0001F910F910895E8EDF0E080818F7E808367 -:1036C000E7EDF0E080818160808384E082BF81E06B -:1036D0008093E6010C94181BE8EDF0E080818E7F6A -:1036E00080831092E20008951092DA001092E100B7 -:1036F00008951F920F920FB60F9211242F933F93AC -:103700004F935F936F937F938F939F93AF93BF93E9 -:10371000EF93FF938091E10082FF0BC08091E20064 -:1037200082FF07C08091E1008B7F8093E1000E94BF -:10373000D51D8091DA0080FF1FC08091D80080FFE6 -:103740001BC08091DA008E7F8093DA008091D900CF -:1037500080FF0DC080E189BD82E189BD09B400FE12 -:10376000FDCF81E08093E7010E94DD1705C019BC01 -:103770001092E7010E94EB178091E10080FF19C0D1 -:103780008091E20080FF15C08091E2008E7F8093DF -:10379000E2008091E20080618093E2008091D80095 -:1037A00080628093D80019BC85E08093E7010E9475 -:1037B000EF178091E10084FF30C08091E20084FF28 -:1037C0002CC080E189BD82E189BD09B400FEFDCF36 -:1037D0008091D8008F7D8093D8008091E1008F7E0A -:1037E0008093E1008091E2008F7E8093E2008091DF -:1037F000E20081608093E2008091E301882311F070 -:1038000084E007C08091E30087FF02C083E001C02D -:1038100081E08093E7010E94F1178091E10083FF2E -:1038200029C08091E20083FF25C08091E100877F5D -:103830008093E10082E08093E7011092E3018091A0 -:10384000E1008E7F8093E1008091E2008E7F809383 -:10385000E2008091E20080618093E20042E060E05B -:1038600080E00E94781A8091F00088608093F000D8 -:103870000E94EE17FF91EF91BF91AF919F918F91B1 -:103880007F916F915F914F913F912F910F900FBE5C -:103890000F901F9018951F920F920FB60F92112440 -:1038A0002F933F934F935F936F937F938F939F9348 -:1038B000AF93BF93CF93EF93FF93C091E900CF7085 -:1038C0008091EC001092E9008091F000877F809356 -:1038D000F00078940E94871C1092E9008091F0001B -:1038E00088608093F000C093E900FF91EF91CF9141 -:1038F000BF91AF919F918F917F916F915F914F9108 -:103900003F912F910F900FBE0F901F9018951F930E -:10391000CF93DF93CDB7DEB7AA970FB6F894DEBF8B -:103920000FBECDBFE8EEF1E08091F100819321E080 -:10393000E03FF207C9F70E940D188091E80083FF6D -:103940001CC12091E8013091E901832F90E08A3079 -:10395000910508F012C1FC01EE5EFE4F0C944B3253 -:10396000203881F0223809F008C18091EC018F7075 -:103970008093E9008091EB0085FB882780F9109205 -:10398000E90006C08091E4019091E5019111826007 -:103990009091E800977F9093E8008093F100109257 -:1039A000F100C5C0822F8D7F09F0E7C0222319F0F6 -:1039B000223061F0E2C08091EA01813009F0DDC07F -:1039C000333009F080E08093E50128C08091EA015E -:1039D000811124C02091EC012F7009F4CEC02093F6 -:1039E000E9008091EB0080FF19C08091EB0033303B -:1039F00011F4806211C080618093EB0081E090E05F -:103A0000022E01C0880F0A94EAF78093EA00109210 -:103A1000EA008091EB0088608093EB001092E9004F -:103A20008091E800877F86C02111A7C01091EA012C -:103A30001F778091E3008078812B8093E300809151 -:103A4000E800877F8093E8000E94AD1A8091E8002B -:103A500080FFFCCF8091E30080688093E300112316 -:103A600011F083E001C082E08093E70186C0205816 -:103A7000223008F082C08091EA019091EB018C3DE8 -:103A800023E0920779F583E08A838AE289834FB73E -:103A9000F894DE01139620E03EE051E2E32FF0E0DF -:103AA00050935700E49120FF03C0E295EF703F5F11 -:103AB000EF708E2F90E0EA3010F0C79601C0C096EC -:103AC0008D939D932F5F243149F74FBF8091E8007C -:103AD000877F8093E8006AE270E0CE0101960E9441 -:103AE000B51914C0AE014F5F5F4F6091EC010E94A9 -:103AF000FD18009709F441C02091E800277F20932A -:103B0000E800BC0189819A810E94161A8091E80020 -:103B10008B778093E80031C0203879F58091E800F8 -:103B2000877F8093E8008091E3018093F10080918A -:103B3000E8008E778093E8000E94AD1A1EC0211124 -:103B40001CC09091EA019230C0F48091E800877F18 -:103B50008093E8009093E3010E94AD1A8091E30105 -:103B6000811104C08091E30087FF02C084E001C09E -:103B700081E08093E7010E94F9178091E80083FFBC -:103B80000AC08091E800877F8093E8008091EB0075 -:103B900080628093EB00AA960FB6F894DEBF0FBE4A -:103BA000CDBFDF91CF911F9108950895CF9380915C -:103BB000E7018823B1F08091E9008F709091EC00CB -:103BC00090FF02C090E801C090E0C92FC82B10926E -:103BD000E9008091E80083FD0E94871CCF70C093AC -:103BE000E900CF91089590936B0180936A01089545 -:103BF000E0916A01F0916B01309721F00190F08122 -:103C0000E02D099480E00895E0916A01F0916B0144 -:103C1000309721F00280F381E02D09940895E0911E -:103C20006A01F0916B01309721F00480F581E02D5D -:103C300009940895209168013091690182179307D2 -:103C400071F09093690180936801E0916A01F091AD -:103C50006B01309721F00680F781E02D09940895DB -:103C600020916601309167018217930771F090935C -:103C7000670180936601E0916A01F0916B013097D2 -:103C800021F00084F185E02D0994089508950C94A5 -:103C9000461E0E943A2A0E94D4130C94002BCF9205 -:103CA000DF92EF92FF920F931F93CF93DF93CDB7E5 -:103CB000DEB72B970FB6F894DEBF0FBECDBF0E94C4 -:103CC000EC133DE6E32E31E0F32E00E010E0C02ED1 -:103CD000802F0E94D914F701D1907F01D826B1F42A -:103CE0000F5F1F4F0E30110591F78FEF89838A8385 -:103CF0001B820E94432A8160782F9D838C83498197 -:103D00005A816B818D810E94F21E41C09091CE013B -:103D100091FF04C08B870E94DF148B8520E030E088 -:103D20004D2D50E0922FBA01022E02C07595679575 -:103D30000A94E2F760FF25C02E83CF82EE24E3943D -:103D4000F12C02C0EE0CFF1C9A95E2F790E08E2158 -:103D50009F2121E0892B09F420E028870E94432A33 -:103D60008160782F9A8789874E815F8168858A85EF -:103D70000E94F21EF801E359FE4F80818E25808358 -:103D800006C02F5F3F4F2630310561F6A9CF0E9454 -:103D9000E42D10916C010E94F81D1817A1F00E94EB -:103DA000F81D80936C012B960FB6F894DEBF0FBE02 -:103DB000CDBFDF91CF911F910F91FF90EF90DF90DA -:103DC000CF900C94FD162B960FB6F894DEBF0FBE65 -:103DD000CDBFDF91CF911F910F91FF90EF90DF90BA -:103DE000CF900895CF93DF93CDB7DEB72B970FB663 -:103DF000F894DEBF0FBECDBF4F83588769877A879F -:103E00008B87DE01119686E0FD0111928A95E9F714 -:103E100085E0FE01379601900D928A95E1F7498180 -:103E20005A816B817C818D819E810E9425262B96F3 -:103E30000FB6F894DEBF0FBECDBFDF91CF910895CE -:103E4000CF93C82F882309F4C1C0823859F40E9447 -:103E5000F81D81FDBBC089E30E94C4280E947E2911 -:103E600089E30CC0833879F40E94F81D80FDAEC050 -:103E700083E50E94C4280E947E2983E50E940429CC -:103E8000CF910C947E29843859F40E94F81D82FD4C -:103E90009DC087E40E94C4280E947E2987E4EECF5B -:103EA0008CEF8C0F813A48F48C2F0E9419308111CD -:103EB0008DC08C2F0E94C428E3CF80E28C0F883005 -:103EC00048F4C77081E001C0880FCA95EAF70E94E4 -:103ED0004529D6CF8BE58C0F833078F4C53A29F08D -:103EE000C63A31F482E890E005C081E890E002C073 -:103EF00083E890E0CF910C941A1E88E58C0F8331F3 -:103F000008F064C0C83A39F1C93A41F1CA3A49F1F6 -:103F1000CB3A51F1CC3A59F1CD3A61F1C03B69F15C -:103F2000CE3A71F1CF3A79F1C13B81F1C23B89F1CF -:103F3000C33B91F1C43B99F1C53BA1F1C63BA9F14B -:103F4000C73BB1F1C83BB9F1C93BC1F1CA3BC9F5A7 -:103F50008AE292E038C082EE90E035C089EE90E0CF -:103F600032C08AEE90E02FC085EB90E02CC086EB4B -:103F700090E029C087EB90E026C08CEC90E023C055 -:103F80008DEC90E020C083E891E01DC08AE891E0CC -:103F90001AC082E991E017C084E991E014C081E27F -:103FA00092E011C083E292E00EC084E292E00BC086 -:103FB00085E292E008C086E292E005C087E292E0E6 -:103FC00002C080E090E0CF910C94301ECF91089514 -:103FD000882309F44BC0823859F40E94F81D81FFF0 -:103FE00045C089E30E94C4280E947E2989E30CC051 -:103FF000833871F40E94F81D80FF38C083E50E9469 -:10400000C4280E947E2983E50E9404290C947E29FD -:10401000843859F40E94F81D82FF28C087E40E946A -:10402000C4280E947E2987E4EFCF9CEF980F913A35 -:1040300058F390E2980F983050F4877091E001C0E7 -:10404000990F8A95EAF7892F0E944B29DFCF9BE5CC -:10405000980F933020F480E090E00C941A1E885A58 -:10406000833120F480E090E00C94301E0895882382 -:1040700021F00E9445290C947E290895882321F07F -:104080000E944B290C947E290895CF92DF92EF92E3 -:10409000FF920F931F93CF93DF93CDB7DEB728978F -:1040A0000FB6F894DEBF0FBECDBF8C0185E0F801DE -:1040B000DE01119601900D928A95E1F7F801408199 -:1040C0003181F280258122952F7083819481892B03 -:1040D00031F03F3F31F481E04F3F19F403C081E0FC -:1040E00001C080E080FDC4C249833A8389819A81FE -:1040F0002F830E9482289E8388870E9481280E94A5 -:1041000054274E81E42FE295EF70F0E0E45EFE4F1D -:104110002F8168850C944B32842F807F142F1F7061 -:10412000882311F01295107FFF2059F0112309F414 -:1041300054C2812F68870E9455290E947E29688574 -:104140004CC2862F0E94E81F112309F491C2812FCF -:104150000E945B2928960FB6F894DEBF0FBECDBF34 -:10416000DF91CF911F910F91FF90EF90DF90CF9053 -:104170000C947E29342F307F842F8F70303211F0D1 -:104180008295807F662319F0613019F12BC0FF20E2 -:10419000B1F0222309F493C1213009F090C128968F -:1041A0000FB6F894DEBF0FBECDBFDF91CF911F9148 -:1041B0000F91FF90EF90DF90CF900C946529222310 -:1041C00019F0213009F454C28E830E9468298E812F -:1041D00089C1FF2021F0223008F04AC270C12111AC -:1041E00047C280C1FF2021F0222309F468C1F5C134 -:1041F000222309F477C105C2242F26952695237022 -:1042000030E02115310521F021303105C9F030C2EF -:10421000FF2021F0862F942F937002C080E090E061 -:1042200028960FB6F894DEBF0FBECDBFDF91CF91B9 -:104230001F910F91FF90EF90DF90CF900C941A1E7A -:10424000FF2021F0862F942F937002C080E090E031 -:1042500028960FB6F894DEBF0FBECDBFDF91CF9189 -:104260001F910F91FF90EF90DF90CF900C94301E34 -:10427000862FFF2019F00E94EC2C02C00E94542DC2 -:1042800028960FB6F894DEBF0FBECDBFDF91CF9159 -:104290001F910F91FF90EF90DF90CF900C94D92D4C -:1042A000842F837009F076C0F110E2C1262F229589 -:1042B00026952770220F220F862F8F70C82ED12CA3 -:1042C000E12CF12C022E04C0CC0CDD1CEE1CFF1CDA -:1042D0000A94D2F764FF10C06FE070E080E090E0D5 -:1042E00004C0660F771F881F991F2A95D2F7609523 -:1042F00070958095909503C060E070E0CB01242F0D -:10430000269526952370422F50E042305105D1F07A -:104310004330510559F16C297D298E299F2941305F -:10432000510541F128960FB6F894DEBF0FBECDBF00 -:10433000DF91CF911F910F91FF90EF90DF90CF9081 -:104340000C9479276C297D298E299F2928960FB6F0 -:10435000F894DEBF0FBECDBFDF91CF911F910F91BB -:10436000FF90EF90DF90CF900C9493270E947927D5 -:10437000C701B60128960FB6F894DEBF0FBECDBFB9 -:10438000DF91CF911F910F91FF90EF90DF90CF9031 -:104390000C945F27FF2019F0842F817001C086954F -:1043A000882309F465C1262F229526952770220FB0 -:1043B000220F862F8F70C82ED12CE12CF12C022ECB -:1043C00004C0CC0CDD1CEE1CFF1C0A94D2F764FF69 -:1043D00010C06FE070E080E090E004C0660F771FCF -:1043E000881F991F2A95D2F76095709580959095B2 -:1043F00003C060E070E0CB01242F26952695237042 -:10440000422F50E042305105D1F04330510559F16F -:104410006C297D298E299F294130510541F128962B -:104420000FB6F894DEBF0FBECDBFDF91CF911F91C5 -:104430000F91FF90EF90DF90CF900C944D286C2956 -:104440007D298E299F2928960FB6F894DEBF0FBECE -:10445000CDBFDF91CF911F910F91FF90EF90DF9033 -:10446000CF900C9467280E944D28C701B60128966A -:104470000FB6F894DEBF0FBECDBFDF91CF911F9175 -:104480000F91FF90EF90DF90CF900C943328603F16 -:10449000C9F118F4603E50F49BC0623F09F460C05B -:1044A00008F44AC0633F09F46FC092C0162F1F7012 -:1044B000842F8F71FF2099F00E94CC27812F28969E -:1044C0000FB6F894DEBF0FBECDBFDF91CF911F9125 -:1044D0000F91FF90EF90DF90CF900C9437200E94C7 -:1044E000ED27812F28960FB6F894DEBF0FBECDBF03 -:1044F000DF91CF911F910F91FF90EF90DF90CF90C0 -:104500000C943E20FF20A1F02111B2C0842F8F71A6 -:1045100028960FB6F894DEBF0FBECDBFDF91CF91C6 -:104520001F910F91FF90EF90DF90CF900C94122885 -:10453000223008F09DC0EACFFF20A1F0842F8F71B8 -:1045400028960FB6F894DEBF0FBECDBFDF91CF9196 -:104550001F910F91FF90EF90DF90CF900C94CC279C -:10456000FF2061F3842F8F7128960FB6F894DEBF79 -:104570000FBECDBFDF91CF911F910F91FF90EF90B4 -:10458000DF90CF900C94ED27FF2091F0842F8F7156 -:1045900028960FB6F894DEBF0FBECDBFDF91CF9146 -:1045A0001F910F91FF90EF90DF90CF900C94B72761 -:1045B00028960FB6F894DEBF0FBECDBFDF91CF9126 -:1045C0001F910F91FF90EF90DF90CF900C94AD274B -:1045D000FF20A1F0222309F4B1CF862F28960FB631 -:1045E000F894DEBF0FBECDBFDF91CF911F910F9129 -:1045F000FF90EF90DF90CF900C94201F222309F4BE -:10460000B1CF862F28960FB6F894DEBF0FBECDBF70 -:10461000DF91CF911F910F91FF90EF90DF90CF909E -:104620000C94E81F4F70C8010E94031028960FB623 -:10463000F894DEBF0FBECDBFDF91CF911F910F91D8 -:10464000FF90EF90DF90CF900C94D2264F70C8016E -:1046500028960FB6F894DEBF0FBECDBFDF91CF9185 -:104660001F910F91FF90EF90DF90CF900C949F15CA -:1046700028960FB6F894DEBF0FBECDBFDF91CF9165 -:104680001F910F91FF90EF90DF90CF9008950E94BF -:1046900062290E9437290E947E290E94852E0E944D -:1046A000D92D80E090E00E941A1E80E090E00C94EA -:1046B000301E0E9452290C9447230E948228292FE1 -:1046C00022952F7030E02C3031054CF42A30310522 -:1046D0006CF4225031092230310590F407C02C309F -:1046E000310551F02F30310539F00AC0803E10F00D -:1046F000803F31F481E0089593FB882780F9089585 -:1047000080E00895CF93DF9300D000D01F92CDB703 -:10471000DEB70F900F900F900F900F90DF91CF9119 -:104720000895CF93DF9300D000D000D0CDB7DEB78F -:1047300026960FB6F894DEBF0FBECDBFDF91CF91A6 -:1047400008951F93CF93DF93C0917B0116E0809172 -:104750007C01C81799F0D0E01C9FF0011D9FF00D5F -:104760001124E358FE4F408151816281738184811D -:1047700095810E9491232196C770E9CFDF91CF9157 -:104780001F9108954091AD015091AE016091AF012C -:104790007091B0018091B1019091B2010C9491237C -:1047A000CF938091B20182958F7009F05FC08091A4 -:1047B000AF01882309F45AC020917B01A0917C01AC -:1047C0006091AD017091AE018091B0019091B10105 -:1047D00031E06F3F09F030E0B32FC6E02A1709F44B -:1047E00045C0009721F07F3F21F44B2F03C041E0EB -:1047F00001C040E030E040FD35C0C29FF001C39FE2 -:10480000F00D1124E358FE4F418174132BC04081F9 -:10481000641328C04281411125C043815481481747 -:10482000590710F441505109481B590B483C510598 -:10483000C8F48091B2018F7080618093B20186E0EC -:10484000829FF001839FF00D1124EE57FE4F80816F -:104850008F70806180838DEA91E00E944520CF9126 -:104860000C94A1232F5F3F4F2770B8CFCF910895AD -:10487000CF92DF92EF92FF920F931F93CF93DF932C -:10488000CDB7DEB762970FB6F894DEBF0FBECDBFCF -:104890008C0185E0F801DE011D9601900D928A954C -:1048A000E1F7D8014C9111965C91119712966C9199 -:1048B00012971396ED90FC9014977091AD01E091D2 -:1048C000AE012091B0013091B1012115310531F0D7 -:1048D000EF3F31F481E07F3F19F403C081E001C074 -:1048E00080E0B82FB170CB2E80FD6CC1D090AF01AD -:1048F000DD2009F4F5C0F091B201E216F30638F0BC -:10490000C701821B930B883C910548F09BC0209502 -:1049100030952E0D3F1D283C310508F093C08F2F98 -:10492000807F09F052C0E51314C0741312C0D62E54 -:1049300061110FC0FF70F061F093B2010E94C223B9 -:104940008DEA91E00E9445208091B201F8018583B3 -:104950006CC1EF2831F05F3F31F481E04F3F19F433 -:1049600003C081E001C080E080FD03C081E08627B4 -:1049700001C080E0F82FF170FF2E80FF1CC08091F5 -:104980007B0120917C0136E0821709F428C190E078 -:10499000389FF001399FF00D1124E358FE4F7181CB -:1049A000571306C07081471303C07281671303C099 -:1049B00001968770E9CFD62E662309F436C180911F -:1049C000B20181608093B20153C0E51308C0741333 -:1049D00006C0611104C0D8011596FC93AEC04D8786 -:1049E0005E878D859E856A8B0E945D236A898823F8 -:1049F00029F1D62E662311F12091B201822F8295E2 -:104A00008F7090E002970CF460C08091AD0190919E -:104A1000AE0198878F831986FB86EA862C87CE01A4 -:104A2000079651C0E51731F14D875E878D859E85CC -:104A30006A8B0E945D236A8981112EC0C8010E9481 -:104A40004520A4C08F2F807F69F77E2DF98AE88AE0 -:104A500089890E9482238DEA91E00E944520EDEA37 -:104A6000F1E086E0DF011D928A95E9F70E94C223FA -:104A7000D12CDBC07413D8CF6111D6CFD8011596D5 -:104A8000FC93C8010E944520EDEAF1E086E0DF01D9 -:104A90001D928A95E9F7C9C0D62E662379F2209136 -:104AA000B201822F82958F7090E0029774F080910E -:104AB000AD019091AE019A8389831B82FD82EC82C5 -:104AC0002E83CE0101960E94452086E0F801ADEAD2 -:104AD000B1E001900D928A95E1F70E94D0236FC05A -:104AE000E216F30628F0C701821B930B9C0104C059 -:104AF000209530952E0D3F1D283C310508F052C001 -:104B0000D62E662309F49ACFE5132CC074132AC05D -:104B10008091B20180FD1DC0982F92959F70C9F0C1 -:104B2000D80115968C9315979F3039F09F5F929519 -:104B3000907F8F70892B15968C93C8010E94452019 -:104B400086E0F801ADEAB1E001900D928A95E1F7B7 -:104B500036C086E0F801ADEAB1E001900D928A9589 -:104B6000E1F763C04D875E878D859E850E945D233A -:104B7000882379F086E0F801ADEAB1E001900D926A -:104B80008A95E1F70E94D0230E94C223DD24D394AA -:104B90004CC08091B20181608093B201C8010E9433 -:104BA000452043C07E2DF98AE88A89890E948223A4 -:104BB000EDEAF1E086E0DF011D928A95E9F70E94B7 -:104BC000C22333C0662309F439CF4D875E878D85B4 -:104BD0009E850E945D23882309F430CFCBCF4D877B -:104BE0005E878D859E850E948228292F22952F70B1 -:104BF00030E0223031052CF49F7041F0811106C065 -:104C00000CC0243031052CF49F7049F4805E88304C -:104C100020F0C8010E944520CF2CDC2C06C0D80112 -:104C200015969C91907F91F7F8CF8D2D62960FB6D7 -:104C3000F894DEBF0FBECDBFDF91CF911F910F91D2 -:104C4000FF90EF90DF90CF9008951F93CF93DF9365 -:104C5000CDB7DEB72C970FB6F894DEBF0FBECDBF31 -:104C60004F83588769877A878B879C87CE01079601 -:104C70000E9438248823C1F02F8138858A859B853E -:104C8000892B31F03F3F11F080E003C02F3FE1F767 -:104C900081E0811147C04F81588569857A858B8570 -:104CA0009C850E9491233EC086E0FE013796DE017E -:104CB000119601900D928A95E1F7FF81E8854A856A -:104CC0005B854115510531F0EF3F31F481E0FF3F45 -:104CD00019F403C081E001C080E080FD23C0209171 -:104CE0007C0130E0C90101968770992760917B01B2 -:104CF00070E086179707F1F1F983EA835D834C83AF -:104D000096E0929FD001939FB00D1124A358BE4FFF -:104D1000FE01319601900D929A95E1F780937C0106 -:104D20000E94A12316E080917B0190917C0189175C -:104D300079F1189FC001112483589E4F0E94382496 -:104D4000882331F1E0917B011E9FF0011124E3588B -:104D5000FE4F4081518162817381848195810E94DF -:104D6000912380917B0190E0019687709927809331 -:104D70007B01D9CF0E94592310927C0110927B01B4 -:104D8000EDEAF1E086E0DF011D928A95E9F7CACFEE -:104D90002C960FB6F894DEBF0FBECDBFDF91CF913A -:104DA0001F910895EF92FF920F931F93CF93DF937C -:104DB0009C01009709F471C0F12CEE24E394E90101 -:104DC0002196F9018491843740F4843008F056C06C -:104DD000813081F0823021F160C0853709F449C00B -:104DE000C0F19CE7980F903708F057C08F770E946A -:104DF000E81F46C089010E5F1F4FFE01849190E2BB -:104E0000980F983050F48770FE2D01C0FF0F8A95DF -:104E1000EAF78F2F0E94552915C00E94201F14C049 -:104E200089010E5F1F4FFE01849190E2980F983028 -:104E300068F48770FE2D01C0FF0F8A95EAF78F2F67 -:104E40000E945B290E947E29E8011AC00E94E81F87 -:104E5000FBCF2E5F3F4FFE01C491CC2341F08FE981 -:104E60009FE00197F1F700C00000C150F6CFE901C3 -:104E700007C0FE01F490E901229602C00E94201FA3 -:104E80008F2D882341F0EFE9FFE03197F1F700C063 -:104E900000008150F6CF9E0192CFDF91CF911F91FC -:104EA0000F91FF90EF90089508956093B70170936C -:104EB000B8018093B9019093BA010C9447230F93E2 -:104EC0001F930091B7011091B8012091B901309161 -:104ED000BA01062B172B282B392B0093B7011093FF -:104EE000B8012093B9013093BA011F910F910C942E -:104EF00047230F931F930091B7011091B8012091A0 -:104F0000B9013091BA0106231723282339230093CE -:104F1000B7011093B8012093B9013093BA011F91E2 -:104F20000F910C9447230F931F930091B701109199 -:104F3000B8012091B9013091BA0106271727282717 -:104F400039270093B7011093B8012093B90130932A -:104F5000BA011F910F910C9447231092B301109244 -:104F6000B4011092B5011092B6010C94472341E0B0 -:104F700050E060E070E004C0440F551F661F771FCB -:104F80008A95D2F74093B3015093B4016093B50171 -:104F90007093B6010C94472341E050E060E070E06C -:104FA00004C0440F551F661F771F8A95D2F7809162 -:104FB000B3019091B401A091B501B091B601842BD9 -:104FC000952BA62BB72B8093B3019093B401A0939C -:104FD000B501B093B6010C94472341E050E060E086 -:104FE00070E004C0440F551F661F771F8A95D2F7E3 -:104FF00040955095609570958091B3019091B40162 -:10500000A091B501B091B60184239523A623B723BF -:105010008093B3019093B401A093B501B093B6010E -:105020000C94472341E050E060E070E004C0440F7E -:10503000551F661F771F8A95D2F78091B301909113 -:10504000B401A091B501B091B60184279527A62798 -:10505000B7278093B3019093B401A093B501B093A7 -:10506000B6010C9447230F931F930091B301109145 -:10507000B4012091B5013091B601062B172B282BD6 -:10508000392B0093B3011093B4012093B5013093F1 -:10509000B6011F910F910C9447230F931F9300911A -:1050A000B3011091B4012091B5013091B6010623EE -:1050B0001723282339230093B3011093B4012093BD -:1050C000B5013093B6011F910F910C9447230F93B4 -:1050D0001F930091B3011091B4012091B50130915B -:1050E000B60106271727282739270093B301109305 -:1050F000B4012093B5013093B6011F910F910C9428 -:1051000047230895CF92DF92EF92FF920F931F9360 -:10511000CF93DF93EC01C090B701D090B801E0903D -:10512000B901F090BA018091B3019091B401A091BE -:10513000B501B091B601C82AD92AEA2AFB2A0FE1A3 -:1051400010E0B701A601002E04C07695679557952B -:1051500047950A94D2F740FF07C0BE01802F0E94F6 -:10516000C2158130910539F40150110950F7BE0183 -:1051700080E00E94C215DF91CF911F910F91FF90A7 -:10518000EF90DF90CF90089590910C019923D9F082 -:1051900090910D019923B9F0982F96959695969533 -:1051A0009F3088F5E0910E01F0910F01E90FF11D9C -:1051B000877021E030E001C0220F8A95EAF78181F3 -:1051C000822B8183089540910E0150910F0120E0C0 -:1051D00030E09FEFFA01E20FF31F6281681799F048 -:1051E0009F3F19F4611101C0922F2F5F3F4F2E3066 -:1051F000310581F79F3F39F0FA01E90FF11D97FD65 -:10520000FA9582830895089590910C019923E1F015 -:1052100090910D019923C1F0982F969596959695AA -:105220009F3020F5E0910E01F0910F01E90FF11D83 -:10523000877021E030E001C0220F8A95EAF72095BF -:10524000818128232183089540910E0150910F01FF -:1052500020E030E0FA01E20FF31F9281981301C0C1 -:1052600012822F5F3F4F2E303105A1F7089581E064 -:1052700090E0E0910E01F0910F01E80FF91F10820C -:10528000019680319105A9F708959091CD01982B51 -:105290009093CD01089580959091CD01982390939E -:1052A000CD0108951092CD0108959091CC01982BD5 -:1052B0009093CC01089580959091CC019823909380 -:1052C000CC0108951092CC0108958093BB010895FC -:1052D0001092BB01089540910E0150910F0120E002 -:1052E00030E080E0FA01E20FF31F918191118F5FAE -:1052F0002F5F3F4F2F303105A9F70895E0910E0140 -:10530000F0910F018091CD018083E0910E01F09129 -:105310000F0180819091CC01892B80839091BB01FA -:10532000992361F0E0910E01F0910F018081892BAA -:1053300080830E946B2981111092BB0180910E0124 -:1053400090910F010C94041ECF92DF92EF92FF9286 -:105350000F931F936C01EE24FF24C114D104E104C8 -:10536000F10421F46B017C0180E001C080E133276E -:105370002F2D1E2D0D2D011511052105310519F0BB -:10538000885F6801790197018601A4E03695279529 -:1053900017950795AA95D1F7011511052105310536 -:1053A00019F08C5F6801790197018601F2E036956A -:1053B000279517950795FA95D1F701151105210540 -:1053C000310519F08E5F68017901B701A601769564 -:1053D000679557954795452B462B472B09F08F5FCF -:1053E0001F910F91FF90EF90DF90CF9008958091E3 -:1053F000E701843009F11092CF0120E488E190E0C8 -:105400000FB6F894A895809360000FBE20936000BB -:1054100083B7817F846083BF83B7816083BF7894C3 -:10542000889583B78E7F83BF88E10FB6F894809309 -:105430006000109260000FBE089508950895CF9304 -:105440000E941D2A0E94EC130E941E2AC0E08C2F8D -:105450000E94D914811105C0CF5FCE30C1F780E022 -:1054600001C081E0CF9108950E9459230E94F81D48 -:105470000C94FD1682E084BD93E095BD9AEF97BD34 -:1054800080936E0008952FB7F8948091D001909189 -:10549000D101A091D201B091D3012FBF0895CF9235 -:1054A000DF92EF92FF920F931F932FB7F8944091E2 -:1054B000D0015091D1016091D2017091D3012FBFE1 -:1054C0006A017B01EE24FF248C0120E030E0C0164D -:1054D000D106E206F30610F441505109481B590B5E -:1054E000CA011F910F91FF90EF90DF90CF90089528 -:1054F0001F920F920FB60F9211248F939F93AF9329 -:10550000BF938091D0019091D101A091D201B0912F -:10551000D3010196A11DB11D8093D0019093D101BB -:10552000A093D201B093D301BF91AF919F918F917E -:105530000F900FBE0F901F9018950E94FE1AF894BE -:105540002FEF87EA91E6215080409040E1F700C0BC -:10555000000087E090EBDC018093F0019093F10173 -:10556000A093F201B093F3012CE088E190E00FB634 -:10557000F894A895809360000FBE20936000FFCF41 -:10558000EF92FF920F931F93CF93DF93E82EF12CAE -:105590008F2D0E94D914C0E0D0E0082F10E09801B0 -:1055A0000C2E02C0359527950A94E2F720FD05C020 -:1055B0002196C630D10599F709C06C2F7F2D80E068 -:1055C0000E94A015E812F4CF81E005C0F3948EE0AC -:1055D000F812DECF80E0DF91CF911F910F91FF9005 -:1055E000EF900895CF93C82F8CE20E94C02A8823A1 -:1055F00021F08C2FCF910C94C02A80E0CF91089598 -:10560000CF930E94452C811102C00E942B2CC5E62D -:10561000C15049F00E94EC138FE39CE90197F1F728 -:1056200000C00000F5CF89E20E94F22A811111C169 -:105630008AE20E94F22A81110E942B2C85E00E94AE -:10564000F22A81110E949D2A0E94502C8093CE0143 -:1056500087E00E94F22A882399F18BE10E94F22AC6 -:10566000882351F09091CE0191FB882780F921E0A9 -:10567000822780FB91F922C08EE00E94F22A8823C3 -:1056800051F09091CE0192FB882780F921E082278A -:1056900080FB92F913C080E10E94F22A9091CE0122 -:1056A000882341F093FB882780F921E0822780FB43 -:1056B00093F904C0892F809580FB90F99093CE01D7 -:1056C0008091CE010E94542C0E94622C8093E101B3 -:1056D00080EE0E94F22A882341F08091E101982F08 -:1056E000909590FB80F98093E10189E30E94F22A72 -:1056F000882359F09091E10191FB882780F921E0FE -:10570000822780FB91F99093E10182EE0E94F22AB8 -:10571000882359F09091E10192FB882780F921E0DC -:10572000822780FB92F99093E10186EE0E94F22A93 -:10573000882359F09091E10193FB882780F921E0BB -:10574000822780FB93F99093E10183EE0E94F22A75 -:10575000882359F09091E10194FB882780F921E09A -:10576000822780FB94F99093E10185E30E94F22A5D -:10577000882359F09091E10195FB882780F921E079 -:10578000822780FB95F99093E10181E30E94F22A40 -:10579000882359F09091E10196FB882780F921E058 -:1057A000822780FB96F99093E10181E10E94F22A21 -:1057B000882359F09091E10197FB882780F921E037 -:1057C000822780FB97F99093E1018091E1010E948B -:1057D000662C8091E10187FB882780F980930D0179 -:1057E00087E20E94F22AC82F8EE10E94F22A8111DC -:1057F000C2608FE10E94F22A8111C46080E20E949F -:10580000F22A8111C86081E20E94F22A8111C061EE -:1058100082E20E94F22A8111C06283E20E94F22A8F -:105820008111C06484E20E94F22A882311F0C068CA -:1058300002C0CC2329F08C2F0E945D2C6C2F03C05A -:105840000E94592C682F70E080E090E0CF910C947A -:105850005527CF9108956DEE7EEF80E090E00E9495 -:10586000813260E082E090E00E94733260E083E089 -:1058700090E00E94733260E084E090E00E94733216 -:1058800060E085E090E00C94733280E090E00E944C -:105890006D3221E08D3E9E4F09F020E0822F089569 -:1058A00082E090E00C946532682F82E090E00C94E6 -:1058B000733283E090E00C946532682F83E090E0CF -:1058C0000C94733284E090E00C946532682F84E08D -:1058D00090E00C9473328091D60180FF0BC06091F0 -:1058E000130185E0689FB001112475956795759542 -:1058F00067952AC081FF09C06091130185E0689F08 -:10590000B0011124759567951FC082FF07C0609193 -:10591000130185E0689FB001112416C04091D701A2 -:105920004423C9F060911201461788F720911301B2 -:1059300085E0289F90011124429FC001439F900D54 -:10594000112470E00E9437326038710540F461150F -:10595000710539F002C065E070E0862F08958FE789 -:10596000089581E008958091D60180FF08C060917C -:10597000110170E0759567957595679521C081FF58 -:1059800006C06091110170E07595679519C082FF9E -:1059900004C06091110170E010C08091D70188238C -:1059A000C1F0609110018617A0F790911101989FA6 -:1059B000C001112470E00E9437326038710528F46C -:1059C0006115710521F0862F08958FE7089581E014 -:1059D000089561E070E0F4CF803F21F40E946B2CC9 -:1059E000819504C0813F29F40E946B2C8093DA01D9 -:1059F0000895823F21F40E946B2C819504C0833F5F -:105A000029F40E946B2C8093D9010895893F19F4E1 -:105A10000E94B32C05C08A3F31F40E94B32C8195BB -:105A20008093DB0108958B3F21F40E94B32C819574 -:105A300004C08C3F29F40E94B32C8093DC010895AC -:105A4000843F21F48091D801816017C0853F21F403 -:105A50008091D801826011C0863F21F48091D801E5 -:105A600084600BC0873F21F48091D801886005C015 -:105A7000883F31F48091D80180618093D8010895E6 -:105A80008D3F21F48091D60181600BC08E3F21F4BF -:105A90008091D601826005C08F3F29F48091D601A4 -:105AA00084608093D6010895803F39F48091DA01B3 -:105AB00087FF6CC01092DA0169C0813F29F48091A0 -:105AC000DA011816BCF362C09091D901823F29F423 -:105AD00097FF5CC01092D90159C0833F19F4191681 -:105AE000CCF354C0893F41F48091DB0118160CF0CF -:105AF0004DC01092DB014AC08A3F29F48091DB013E -:105B000087FF44C0F6CF8B3F39F48091DC0187FFDB -:105B10003DC01092DC013AC08C3F29F48091DC0139 -:105B20001816BCF333C0843F21F48091D8018E7FD6 -:105B300017C0853F21F48091D8018D7F11C0863F29 -:105B400021F48091D8018B7F0BC0873F21F4809195 -:105B5000D801877F05C0883F31F48091D8018F7EBE -:105B60008093D80113C08D3F21F48091D6018E7FA0 -:105B70000BC08E3F21F48091D6018D7F05C08F3FF1 -:105B800029F48091D6018B7F8093D6018091D90131 -:105B900081110EC08091DA0181110AC08091DB0170 -:105BA000811106C08091DC01811102C01092D701E1 -:105BB000089588ED91E00E940F1E0E94432A909361 -:105BC000D5018093D40108951F93CF93DF938091E3 -:105BD000D4019091D5010E944F2A4091D7014423CE -:105BE00021F02091140130E006C0209115015AE007 -:105BF000259F900111248217930708F482C0809199 -:105C0000D9011091DA01D091DB01C091DC01811141 -:105C100007C0111105C0D11103C0CC2309F471C014 -:105C20004F3F19F04F5F4093D701181624F40E949C -:105C30006B2C8093D9018091D90187FF05C00E9408 -:105C40006B2C81958093D901111624F40E946B2C42 -:105C50008093DA018091DA0187FF05C00E946B2CE6 -:105C600081958093DA016091D901662339F1109111 -:105C7000DA01112319F1772767FD7095872F972F88 -:105C80000E94483123E333E343E35FE30E94AC31F6 -:105C90000E9415316093D901612F772767FD7095B8 -:105CA000872F972F0E94483123E333E343E35FE3D9 -:105CB0000E94AC310E9415316093DA011D1624F464 -:105CC0000E94B32C8093DB018091DB0187FF05C02C -:105CD0000E94B32C81958093DB011C1624F40E9452 -:105CE000B32C8093DC018091DC0187FF05C00E940A -:105CF000B32C81958093DC01DF91CF911F910C949F -:105D0000D92DDF91CF911F910895E8EDF1E085E065 -:105D1000DF011D928A95E9F71092D7011092D60102 -:105D20000895833081F128F4813059F08230D1F028 -:105D30000895853009F449C0B8F1863009F456C099 -:105D4000089520911501862F90E0820F911D8F3FBD -:105D5000910520F4620F6093150108958FEF8093F1 -:105D60001501089520911401862F90E0820F911D56 -:105D70008F3F910520F4620F6093140108958FEF17 -:105D800080931401089520911301862F90E0820FD3 -:105D9000911D8F3F910520F4620F609313010895C8 -:105DA0008FEF80931301089520911201862F90E0C8 -:105DB000820F911D8F3F910520F4620F60931201B5 -:105DC00008958FEF80931201089520911101862F7D -:105DD00090E0820F911D8F3F910520F4620F609338 -:105DE000110108958FEF8093110108952091100102 -:105DF000862F90E0820F911D8F3F910520F4620F56 -:105E00006093100108958FEF8093100108958330FF -:105E100011F128F4813049F0823091F008958530F5 -:105E200081F120F18630C1F1089580911501681744 -:105E300020F4861B80931501089510921501089592 -:105E400080911401681720F4861B80931401089533 -:105E500010921401089580911301681720F4861B95 -:105E600080931301089510921301089580911201F7 -:105E7000681720F4861B8093120108951092120176 -:105E8000089580911101681720F4861B80931101F9 -:105E9000089510921101089580911001681720F45F -:105EA000861B8093100108951092100108958D3182 -:105EB00009F442C020F58E3009F479C070F48730BF -:105EC00009F45EC020F4863009F442C033C0883043 -:105ED000D1F18B3009F4A7C02DC0863109F4A3C0DD -:105EE00038F4803109F46DC0813109F47BC022C0DF -:105EF000893109F498C08B3109F44FC01BC0853338 -:105F000009F479C048F4873209F475C008F478C000 -:105F1000893209F470C00EC0833438F48A3308F033 -:105F200071C0883309F47FC005C0833409F463C0AD -:105F30008834C1F080E008950E94CF300E94F81D9F -:105F40000E94FD1670C00E94502C0E94622C6BC0F3 -:105F50008091CE01817F8E7F8093CE0181E08093FE -:105F6000DE0108950E9459232FEF83ED90E3215025 -:105F700080409040E1F700C000000E949D2A53C07D -:105F80009091CE01892F817090FF03C0917F9E7FF9 -:105F900026C091609093CE0146C09091CE0191FBB6 -:105FA000882780F921E0822780FB91F913C0909126 -:105FB000CE0192FB882780F921E0822780FB92F9AD -:105FC00009C09091CE0193FB882780F921E08227B8 -:105FD00080FB93F99093CE01882329F191609093EF -:105FE000CE0108950E94592380910D0191E08927E7 -:105FF00080930D0118C061E070E080E090E00FC078 -:1060000023EE01C027EC280F61E070E080E090E013 -:1060100004C0660F771F881F991F2A95D2F70E9428 -:1060200055270E94592381E0089580E0089580E07B -:106030000895CF93C82F8091DE01813079F018F058 -:106040008230D1F184C0A0910E01B0910F018C91EA -:10605000813169F0823209F07CC009C0A0910E0143 -:10606000B0910F018C91813111F0823249F48C2F63 -:106070000E94153081111DC08C2F0E94572F1AC00D -:106080008C2F0E941730811114C0C43179F048F46C -:10609000CB3079F0C03109F060C082E08093DE013E -:1060A00008C0C93219F0C83321F057C01092DE0180 -:1060B00054C081E0817053C0C93289F118F5C431F0 -:1060C00071F1A8F4C73009F046C08AE08093150149 -:1060D00094E19093140193E0909313018093120143 -:1060E00088E08093110188E28093100134C0CE5182 -:1060F000C63088F5EC2FF0E0E65DFE4F808180939E -:10610000DD0129C0CE34E9F020F4CB3421F56AE07A -:1061100013C0C13579F0C235F1F461E00DC0809152 -:10612000DD01882319F01092DD0115C081E0809314 -:10613000DE0115C061E006C08091DD010E94912E54 -:106140000AC06AE08091DD010E94072F04C010920E -:10615000DE0180E004C081E002C080E0ABCFCF91DF -:106160000895E1E8F0E0808188608083808181602B -:1061700080838FB7F89493E09093890090ED90938B -:1061800088008FBF0895EFE6F0E080818260808311 -:106190000895EFE6F0E080818D7F80830895EFE63B -:1061A000F0E0808192E08927808308951F920F920A -:1061B0000FB60F9211242F933F934F935F936F93DA -:1061C0007F938F939F93AF93BF93EF93FF938091B0 -:1061D000DF019091E00101969093E0018093DF014F -:1061E000811103C082E00E94FD16E091E001E69576 -:1061F000E695F0E0E65CF04EE4918091DF018E13CD -:1062000003C080E00E94FD16FF91EF91BF91AF9116 -:106210009F918F917F916F915F914F913F912F91BE -:106220000F900FBE0F901F90189504D06894B11175 -:106230008DC0089570D088F09F5790F0B92F99279E -:10624000B751A0F0D1F0660F771F881F991F1AF081 -:10625000BA95C9F712C0B13081F077D0B1E0089596 -:1062600074C0672F782F8827B85F39F0B93FCCF317 -:10627000869577956795B395D9F73EF49095809577 -:10628000709561957F4F8F4F9F4F0895E89409C097 -:1062900097FB3EF490958095709561957F4F8F4F59 -:1062A0009F4F9923A9F0F92F96E9BB279395F6956F -:1062B000879577956795B795F111F8CFFAF4BB0FED -:1062C00011F460FF1BC06F5F7F4F8F4F9F4F16C051 -:1062D000882311F096E911C0772321F09EE8872FDB -:1062E000762F05C0662371F096E8862F70E060E097 -:1062F0002AF09A95660F771F881FDAF7880F969510 -:10630000879597F9089557FD9058440F551F59F0F8 -:106310005F3F71F04795880F97FB991F61F09F3F92 -:1063200079F087950895121613061406551FF2CFBB -:106330004695F1DF08C0161617061806991FF1CF0B -:1063400086957105610508940895E894BB27662732 -:106350007727CB0197F908950BD078C069D028F042 -:106360006ED018F0952309F05AC05FC01124EECF0B -:10637000CADFA0F3959FD1F3950F50E0551F629FA0 -:10638000F001729FBB27F00DB11D639FAA27F00D8E -:10639000B11DAA1F649F6627B00DA11D661F829FB5 -:1063A0002227B00DA11D621F739FB00DA11D621F9A -:1063B000839FA00D611D221F749F3327A00D611DB7 -:1063C000231F849F600D211D822F762F6A2F112499 -:1063D0009F5750408AF0E1F088234AF0EE0FFF1FEC -:1063E000BB1F661F771F881F91505040A9F79E3F23 -:1063F000510570F014C0AACF5F3FECF3983EDCF378 -:10640000869577956795B795F795E7959F5FC1F75F -:10641000FE2B880F911D9695879597F9089597F90A -:106420009F6780E870E060E008959FEF80EC08953A -:1064300000240A9416161706180609060895002463 -:106440000A9412161306140605060895092E0394DD -:10645000000C11F4882352F0BB0F40F4BF2B11F451 -:1064600060FF04C06F5F7F4F8F4F9F4F089597FB72 -:10647000072E16F4009407D077FD09D00E94513200 -:1064800007FC05D03EF4909581959F4F0895709537 -:1064900061957F4F0895EE0FFF1F0590F491E02D59 -:1064A0000994AA1BBB1B51E107C0AA1FBB1FA6175B -:1064B000B70710F0A61BB70B881F991F5A95A9F7AD -:1064C00080959095BC01CD010895F999FECF92BDBC -:1064D00081BDF89A992780B50895A8E1B0E042E01F -:1064E00050E00C948832262FF999FECF1FBA92BD46 -:1064F00081BD20BD0FB6F894FA9AF99A0FBE0196A5 -:1065000008950E947332272F0C947432DC01CB0162 -:10651000FC01F999FECF06C0F2BDE1BDF89A3196B3 -:1065200000B40D9241505040B8F70895F894FFCF51 -:106530002002FF168C176917351702170101BC01DD -:1065400028080A03140A3F4D3639FB1EAE1E781E7A -:106550003F1ED21DEB1D041E1D1E01020304050675 -:04656000070809001F +:100000000C9412040C9456040C9456040C9456044C +:100010000C9456040C9456040C9456040C945604F8 +:100020000C9456040C9456040C944F0F0C9421100D +:100030000C9456040C9456040C9456040C945604D8 +:100040000C9456040C94D6240C9456040C94560428 +:100050000C9456040C94751E0C9456040C9456047F +:100060000C9456040C9456040C9456040C945604A8 +:100070000C9456040C9456040C9456040C94560498 +:100080000C9456040C9456040C9456040C94560488 +:100090000C9456040C9456040C9456040C94560478 +:1000A0000C9456040C9456040C945604A305700545 +:1000B0005B05B505DC050F06F105F7050C063A06EC +:1000C0002F06FA0532064605EB0523062C066D05BC +:1000D0006405B205A905910567052605BE05140648 +:1000E0001D0629069705C705A60540051A06E5055C +:1000F00088059D0594057C0520068B053105E805DE +:100100008205C1052005AC055E054C057605730525 +:10011000CA059A05060637058505AF052305B80506 +:1001200003060906D3055505EE0543056A054F0587 +:10013000C405F40535062905A005BB05FD05CD055B +:1001400052052606E2053D058E055805D9056105CF +:1001500000063A05D005DF052C0549053F061706C0 +:1001600079053405D6057F0514058610A81093116E +:10017000A8109311EA100D119311621175116E14EC +:100180006E149C149C14DE141A151A171A173215C3 +:100190001A1729162916F4161A171A1708170552CE +:1001A000045201520352010000001E001B001800FF +:1001B0002F00010029001F0013000C003300E30092 +:1001C000E1002000090004003400E2002A002100C0 +:1001D0001A0008000600E000650022000A00120074 +:1001E0001900000049002E004A0000004D000000E8 +:1001F00002542E02025400002B0000005E30230047 +:100200000B001600050000004C0024000D0011003A +:100210001000E4004B0025000E0015003600E6003B +:100220002C0026000F001700370050002800270080 +:1002300014000700520051004E0035001C002D0034 +:100240001D004F000000010001000100010001003D +:1002500000001E02300238020100010001001F02EE +:10026000641438003000010001002002240223023F +:1002700027020100010001002414251401000100DF +:1002800001000100271426140100000001000100F4 +:100290000100000001000000010001000100000059 +:1002A0000100000001000100310021022D140000B6 +:1002B000010001006400250222020100010001008A +:1002C0006402260236020100010001000100301420 +:1002D00037023830010035021F023102553002303A +:1002E0000100010001002D0201003D30000001006D +:1002F000010001000100010000003A0001000100BE +:100300000100010001003B000100010001000100AB +:1003100001003C00010001000100010001003D005E +:10032000010001000100010001003E000100010088 +:100330000100000001004400010000000100000075 +:1003400001004500010000005300000001003F00D3 +:100350000100010001000000010040005F005C009E +:10036000590062000100410060005D005A008500F4 +:100370000100420061005E005B0063000100430079 +:100380005500560057005800010067005400560001 +:1003900057005800000001000100010001000100A9 +:1003A00000004D30393001005B3001000100513058 +:1003B00058303C303B300100010050300130141403 +:1003C0005D30010001004A30593008145C300100F2 +:1003D0000100493057300430003000000100053082 +:1003E0000100000001000000010001000100000008 +:1003F0000100000001004F305A3037301E0200006B +:1004000001004E3001004B30010001000100483076 +:10041000563054305330010001004C30010003309D +:100420003A300100010052300100010001000100DA +:1004300001000100010001000100010000000100B5 +:100440000100010001000100000042302030343082 +:1004500001000100010046302E302630333001000B +:10046000010045302D301E300100010001004030F8 +:100470002B3022300100010001003F3025302C30AC +:100480000100000001000100010000000100000067 +:1004900001000100010000000100000001004430E3 +:1004A000233031301F3000000100433035302A3016 +:1004B0002930010001003E302730303001000100BA +:1004C0000100413028303230010001000100473086 +:1004D000010021300100010001000100363024300C +:1004E0002F300100000001000100010001000100A7 +:1004F0000000010008301B30010001000100010074 +:1005000015300D301A3001000100010014300630A2 +:10051000010001000100010012300A300100010059 +:10052000010001000C301330010000000100010047 +:1005300001000000010000000100010001000000B6 +:1005400001000000010001000B30183007300000EE +:10055000010001001C3011301030010001000100C9 +:100560000E30173001000100010001000F3019307A +:10057000010001000100010001000930010001003B +:10058000010001001D3001001630010000000100D3 +:100590000100010001000100000001000100010054 +:1005A0000100010001000100010001000100010043 +:1005B0000100010001000100010001000100010033 +:1005C0000100010001000100010001000100010023 +:1005D0000100000001000100010000000100000016 +:1005E0000100010001000000010000000100010005 +:1005F00001000100010000000100010001000100F4 +:1006000001000100010001000100010001000100E2 +:1006100001000100010001000100010001000100D2 +:1006200001000100010001000100010001000100C2 +:1006300001000100000016034500720067006F0012 +:1006400044006F007800200045005A0000001603A7 +:100650004500720067006F0044006F0078002000C2 +:1006600045005A0000000403090409026D0004015A +:1006700000A0FA0904000001030101000921110191 +:100680000001223F000705810308000A0904010058 +:100690000103010200092111010001224D0007059B +:1006A000820308000A090402000103000000092176 +:1006B000110100012236000705830308000A09041E +:1006C000030001030000000921110100012239008B +:1006D000070584031000011201100100000008ED5D +:1006E000FE071301000102000105010906A1010531 +:1006F0000719E029E7150025019508750181020514 +:100700000819012905950575019102950175039157 +:1007100001050719002977150025019578750181D4 +:1007200002C005010980A101850216010026B7005B +:100730001A01002AB700751095018100C0050C0947 +:1007400001A1018503160100269C021A01002A9CC2 +:1007500002751095018100C005010902A10109017E +:10076000A100050919012905150025019505750147 +:100770008102950175038101050109300931158157 +:10078000257F95027508810609381581257F950119 +:1007900075088106050C0A38021581257F950175BB +:1007A000088106C0C005010906A101050719E02955 +:1007B000E7150025019508750181029501750881ED +:1007C0000105081901290595057501910295017525 +:1007D0000391010507190029FF150025FF950675EE +:1007E000088100C0000000000000000000000001BF +:1007F0000204060A0F17202C3A4A5D71879DB3C781 +:10080000DAE9F5FCFFFCF5E9DAC7B39D87715D4ACB +:100810003A2C20170F0A0604020100000000000015 +:100820000000000011241FBECFEFDAE0DEBFCDBF15 +:1008300004B603FE24C08091F1019091F201A091D1 +:10084000F301B091F4018730904BA740B04BB9F45D +:100850001092F1011092F2011092F3011092F40142 +:1008600014BE84B7877F84BF88E10FB6F894809365 +:100870006000109260000FBEE0E0FFE3099511E018 +:10088000A0E0B1E0E0E3FDE402C005900D92A433E6 +:10089000B107D9F711E0A4E3B1E001C01D92A13F77 +:1008A000B107E1F70E94950C0C9496260C94000079 +:1008B000282F882341F090E02A3018F4885A9F4F5F +:1008C00008950697089582E690E008950F931F9388 +:1008D000CF93DF938C01EB0180913401909135012E +:1008E000009709F448C0019709F089C080EE0E9482 +:1008F000F71281EE0E94F71288E10E94F71288E158 +:100900000E94BF13C801807F992724E096958795A0 +:100910002A95E1F70E945804182F0E94F712812FA0 +:100920000E94BF13802F8F700E945804182F0E94BE +:10093000F712812F0E94BF13CE01807F992734E0E8 +:10094000969587953A95E1F70E945804D82F0E9412 +:10095000F7128D2F0E94BF138C2F8F700E945804A6 +:10096000C82F0E94F7128C2F0E94BF1380EE0E94A6 +:10097000BF1381EE3EC082EE0E94F71287E50E940F +:10098000F71287E50E94BF13C801807F992744E0D2 +:10099000969587954A95E1F70E945804182F0E9472 +:1009A000F712812F0E94BF13802F8F700E9458046E +:1009B000182F0E94F712812F0E94BF13CE01807F53 +:1009C000992754E0969587955A95E1F70E94580427 +:1009D000D82F0E94F7128D2F0E94BF138C2F8F707B +:1009E0000E945804C82F0E94F7128C2F0E94BF1338 +:1009F00082EEDF91CF911F910F910C94BF13DF9185 +:100A0000CF911F910F910895FC018281882309F4F1 +:100A10003CC1862F90E08F35910508F036C1FC016E +:100A2000EA5AFF4F0C944B26809134019091350186 +:100A3000019681709927909335018093340125C1E7 +:100A40006FEB70E019C160E970E008C061EA70E026 +:100A500013C163E870E00BC16BE570E081E290E0E8 +:100A600012C16BEB70E008C163E570E0F7CF6EEB8D +:100A700070E002C164E070E0D4C069EB70E001C1D5 +:100A800062EB70E0F9C065E870E0F1C069E970E020 +:100A9000F3C065E570E0E2CF68EC70E0EDC069E8B6 +:100AA00070E0E5C064E770E0E2C062E970E0D6CFD4 +:100AB00066E770E0DCC063E970E0D0CF60EC70E026 +:100AC000DBC062EB70E0DDC069EA70E0D5C068EAC7 +:100AD00070E0D2C064E870E0CAC06DE970E0CCC0DC +:100AE00067EF70E0CEC063EC70E0C6C061EC70E010 +:100AF000C3C069E570E0B2CF63EB70E0BDC064E5F0 +:100B000070E0ACCF6DEB70E0B7C066EB70E0B4C0E6 +:100B100065EB70E0B1C06AEB70E0AEC067E770E013 +:100B2000A6C060EA70E0A8C062EC70E0A5C06EE903 +:100B300070E0A2C068EB70E09FC067EB70E09CC003 +:100B400062E870E094C063E470E06BC061EB70E059 +:100B500093C066EA70E090C066EC70E08DC06EE114 +:100B600070E05FC06FE970E087C068E070E059C076 +:100B700067ED70E086C060E870E079C063EA70E01D +:100B80007BC069EC70E078C061E870E070C066E935 +:100B900070E072C064EC70E06FC065E770E067C041 +:100BA00063E070E03EC061EB70E06BC06EEB70E044 +:100BB00068C063EB70E065C065E070E032C061E979 +:100BC00070E04CCF69E770E052C064EB70E054C055 +:100BD0006CEB70E051C06AE970E04EC068E870E00C +:100BE00046C061E970E048C067E870E040C062E973 +:100BF00070E042C067E970E03FC068E770E037C06E +:100C000060E770E034C069E070E00BC065EC70E054 +:100C100033C060E670E005C067EA70E02DC060E0B8 +:100C200070E082E290E02FC064EA70E025C06CEBD7 +:100C300070E027C067EC70E01FC068E970E01CC07E +:100C400069EB70E019C06BE970E016C06FE770E007 +:100C50000EC065EA70E010C06CE970E00DC065E997 +:100C600070E00AC063E970E007C066E870E080E207 +:100C700090E009C064E970E083E090E004C06DEBAF +:100C800070E080E090E00E94660480E090E00895CB +:100C900008956091B3017091B4018091B501909174 +:100CA000B6010E94A11D56985E9825982D98269809 +:100CB0002E9827982F988330A9F028F4813051F08E +:100CC000823069F012C0843041F0853071F4259A89 +:100CD0002D9A08C0259A2D9A0895259A2D9A269A1C +:100CE0002E9A0895279A2F9A089556985E980895F7 +:100CF0000C94490656985E9825982D9826982E981B +:100D000027982F988FEF90E0909389008093880028 +:100D100090938B0080938A0090938D0080938C0039 +:100D2000259A2D9A2FEF80E792E021508040904045 +:100D3000E1F700C00000269A2E9A2FEF80E792E09C +:100D4000215080409040E1F700C00000279A2F9A80 +:100D50002FEF80E792E0215080409040E1F700C003 +:100D6000000025982D982FEF80E792E021508040D9 +:100D70009040E1F700C0000026982E982FEF80E702 +:100D800092E0215080409040E1F700C00000279899 +:100D90002F9856985E9825982D9826982E982798E3 +:100DA0002F98089589EA8093800089E080938100DC +:100DB00024982C983F988AB18F748AB96E98479A74 +:100DC0008BB1806B8BB9769A0E947A060C94480698 +:100DD00080E2809300018091360181110EC00E9453 +:100DE000370781E0809336012FEF83ED90E32150A8 +:100DF00080409040E1F700C0000080E40E943D0781 +:100E00008093000181112EC00E946707809300012A +:100E1000811128C00E94670780930001811122C0C0 +:100E20008FE30E9467078093000181111BC00E941D +:100E30005F0780E40E943D0780930001811112C08A +:100E40008CE00E9467078093000181110BC00E9413 +:100E5000670780930001811105C08FE30E94670737 +:100E6000809300010E945F07809100010895109215 +:100E7000B9008AE08093B800089594EA9093BC008A +:100E80009091BC0097FFFCCF9091B900987F98306B +:100E900021F0903111F081E008958093BB0084E847 +:100EA0008093BC008091BC0087FFFCCF8091B9008B +:100EB000887F883111F0803471F780E0089584E9EB +:100EC0008093BC008091BC0084FDFCCF089580938A +:100ED000BB0084E88093BC008091BC0087FFFCCFFE +:100EE0009091B900987F81E0983209F480E00895EC +:100EF00084E88093BC008091BC0087FFFCCF809188 +:100F0000BB00089580910001811115C080E40E940A +:100F10003D078093000181110CC082E10E946707A8 +:100F200080930001811105C08FEF0E9467078093B5 +:100F300000010E945F0784B1807F84B985B1807F02 +:100F400085B98AB1837F8AB98BB1837F8BB93E988B +:100F5000469808950E94E806809300010E94820747 +:100F600080B38C7080BB81B3836F81BBE6E4F1E01A +:100F7000A8E3B1E011921D9281E0E435F807D1F7C2 +:100F80000C94D206BF92CF92DF92EF92FF920F9312 +:100F90001F93CF93DF9380910001882379F0809194 +:100FA00037018F5F80933701811108C00E94E806E6 +:100FB00080930001811102C00E947A0608E311E0CB +:100FC000C0E0D0E0DD24D39482E0C82EEE24E39488 +:100FD000F12CC73000F580910001811162C080E4DE +:100FE0000E943D0780930001811112C082E10E949E +:100FF00067078093000181110BC0C7010C2E01C04F +:10100000880F0A94EAF780950E9467078093000191 +:101010000E945F0746C0CA30A1F028F4C83059F0DA +:10102000C93061F005C0CC3089F070F0CD3089F066 +:10103000209A289810C0219A29980DC0229A2A989F +:101040000AC0239A2B9807C0529A01C0539A5B9802 +:1010500002C03E9A4698E0EAEA95F1F78FB1799995 +:101060005AC092E081708D25892B7C9B02C090E054 +:1010700001C094E0892B7D9B02C090E001C098E004 +:10108000892B7E9B02C090E001C090E1892B9FB12B +:101090009095991F9927991F9295990F907E892B6A +:1010A0000FC08091000181114BC080E40E943D0778 +:1010B00080930001882389F1B12C0E945F078B2D5A +:1010C000F8019081981719F08083C09201010E9465 +:1010D000820721960F5F1F4FCE30D10509F079CFDF +:1010E00080910101882371F181508093010188234F +:1010F00039F08FE99FE00197F1F700C0000022C0AE +:10110000A6E4B1E0E8E3F1E081918D9391E0E6346B +:10111000F907D1F717C090E0A5CF83E10E946707D8 +:10112000809300018111C8CF81E40E943D07809324 +:1011300000018111C1CF0E947807B82EB094BDCFB5 +:1011400080E0BECF0E94780681E0DF91CF911F91B1 +:101150000F91FF90EF90DF90CF90BF900895E82F10 +:10116000F0E0EA5BFE4F8081089508958B3B910586 +:1011700078F4883A910540F5853A9105D0F48430A9 +:10118000910508F0B1C08130910509F4ADC06BC084 +:10119000803E910508F467C0883E910508F4A4C01C +:1011A0009C01205F31092031310508F05CC0906559 +:1011B0000895853A910509F459C0863A910509F4D4 +:1011C00058C083E890E40895883A910509F454C022 +:1011D000893A910509F453C08A3A910509F452C03D +:1011E0008B3A910509F451C08C3A910509F450C02D +:1011F0008D3A910509F44FC0803B910509F44EC02A +:101200008E3A910509F44DC08F3A910509F44CC00E +:10121000813B910509F44BC0823B910509F44AC01A +:10122000833B910509F449C0843B910509F448C00A +:10123000853B910509F447C0863B910509F446C0FA +:10124000873B910509F445C0883B910509F444C0EA +:10125000893B910509F443C08A3B910509F042C0DE +:101260008AE296E4089580E090E0089581E890E4B1 +:10127000089582E890E4089582EE94E4089589EE5A +:1012800094E408958AEE94E4089585EB94E4089537 +:1012900086EB94E4089587EB94E408958CEC94E451 +:1012A00008958DEC94E4089583E895E408958AE820 +:1012B00095E4089582E995E4089584E995E4089514 +:1012C00081E296E4089583E296E4089584E296E448 +:1012D000089585E296E4089586E296E4089587E20B +:1012E00096E4089580E094E40895089596E0799F47 +:1012F000F001112494E5899FE00DF11D1124E60F02 +:10130000F11DEE0FFF1FE256FE4F85919491089557 +:10131000880F991F825E9F4FFC01859194910895DB +:10132000880F991F82569E4FFC01859194910895D4 +:1013300026E0729FF001112444E5849FE00DF11D29 +:101340001124E60FF11DEE0FFF1FE256FE4F25910F +:101350003491C9019A9581159F4110F4C9010895EE +:10136000C90190528115904128F4C9019F700E94D3 +:1013700090090895C90190538115904120F4C90145 +:101380009927906C0895211580E5380769F40E942B +:101390003D179FEF24E34CE0915020404040E1F79F +:1013A00000C000000C949A1E213080E5380731F40B +:1013B0008091CF0181608093CF010895C90190553C +:1013C0008115904108F050C0832F99278F7099277D +:1013D00081309105D9F4A9014370552702C0880FC7 +:1013E000991F4A95E2F79C68A90164E0440F551FD4 +:1013F0006A95E1F744275370842B952B73E0220FF5 +:10140000331F7A95E1F7207633271DC0823091058E +:1014100029F4922F8827816F906A0895833091056F +:10142000A9F4A9014370552781E090E002C0880F1C +:10143000991F4A95E2F79C6843E0220F331F4A95B3 +:10144000E1F7207E3770822B932B08950497F1F4F7 +:10145000A9014370552781E090E002C0880F991FD1 +:101460004A95E2F79A68E8CFC901905781159041F3 +:1014700020F4C9019F7090620895C90190588115A8 +:10148000904120F4C9019F70906A0895203E310573 +:10149000E0F4203C310558F52133310509F470C0E2 +:1014A00048F42932310509F464C02A32310509F4BF +:1014B0006EC074C029333105F1F022383105D9F0FE +:1014C0002533310509F44EC069C0233E310589F149 +:1014D00038F4203E3105C1F0223E3105E1F05EC016 +:1014E000263E310569F1273E3105A9F157C0C901F2 +:1014F0000E94880908958091E20180FD02C081FF69 +:101500004DC080EE90E04BC08091E20180FFF9CFAA +:1015100089E390E044C08091E20182FF0EC0809197 +:10152000E20184FF03C080E090E039C083EE90E0E8 +:1015300036C08091E20182FFF2CF82EE90E02FC0B0 +:101540008091E20183FF0BC08091E20184FDEBCF2B +:1015500087EE90E024C08091E20183FFF5CF86EE14 +:1015600090E01DC08091E20185FF07C089E290E014 +:1015700016C08091E20185FFF9CF85E390E00FC0AE +:101580008091E20186FF07C08AE290E008C0809166 +:10159000E20186FFF9CF81E390E001C0C9010E941A +:1015A000B608089508950C94D20A809164010895B4 +:1015B000CF93DF9300D01F92CDB7DEB72091E80123 +:1015C000243019F523E029839B838A832093E90043 +:1015D0008FEF9091E800815095FD06C095ED9A95AA +:1015E000F1F700008111F5CF8091E80085FF0DC073 +:1015F00040E050E063E070E0CE0101960E94420DB1 +:101600008091E8008E778093E8000F900F900F9004 +:10161000DF91CF910895CF93DF9300D01F92CDB784 +:10162000DEB72091E801243021F522E029839B8355 +:101630008A8383E08093E9008FEF9091E8008150E6 +:1016400095FD06C095ED9A95F1F700008111F5CF53 +:101650008091E80085FF0DC040E050E063E070E05D +:10166000CE0101960E94420D8091E8008E77809312 +:10167000E8000F900F900F90DF91CF910895209187 +:10168000E8012430F1F422E02093E9002FEF3091BB +:10169000E800215035FD06C035ED3A95F1F7000020 +:1016A0002111F5CF2091E80025FF0BC040E050E06C +:1016B00065E070E00E94420D8091E8008E77809393 +:1016C000E8000895CF93DF93EC018091E801843026 +:1016D00009F046C090910C019923D9F090910D0129 +:1016E0009923B9F08093E9008FEF9091E800815041 +:1016F00095FD06C095E19A95F1F700008111F5CFAF +:101700008091E80085FF2CC040E050E060E170E08F +:1017100017C081E08093E9008FEF9091E80081503D +:1017200095FD06C095ED9A95F1F700008111F5CF72 +:101730008091E80085FF14C040E050E068E070E070 +:10174000CE010E94420D8091E8008E778093E800E0 +:1017500080E1FE01A4E5B1E001900D928A95E1F7E8 +:10176000DF91CF9108958091E701811109C00E9416 +:10177000D40E0E94310F8091E20084608093E200D9 +:1017800008951092E701089508950C94C3240E94CF +:10179000311E0E94C9240E94CE110C94D30A42E04B +:1017A00061EC81E00E944E0E42E061EC82E00E941A +:1017B0004E0E42E061EC83E00E944E0E42E161EC8D +:1017C00084E00C944E0E8091EA01833009F455C0F8 +:1017D00030F4813071F0823009F48EC008958A307F +:1017E00009F47AC08B3009F460C0893009F09CC0DC +:1017F00020C08091E901813A09F096C08091E8000B +:10180000877F8093E8008091ED019091EE01892B14 +:1018100021F060E080E090E003C060E184E591E0C9 +:1018200070E00E948B0D8091E8008B778093E80038 +:1018300008958091E901813209F076C08091ED012F +:101840009091EE01009719F0039709F06DC0809117 +:10185000E800877F8093E8008091E80082FD05C062 +:101860008091E8018111F8CF5FC08091F1008093F1 +:1018700064018091E8008B7753C08091E901813A3F +:1018800009F052C08091ED019091EE01892B09F091 +:101890004BC08091E800877F8093E8008091E8004A +:1018A00080FFFCCF80910C0136C08091E90181322C +:1018B000D9F58091ED019091EE01892BA9F58091E8 +:1018C000E800877F8093E8000E94830E8091EB01FF +:1018D00080930C010C943D178091E901813221F530 +:1018E0008091E800877F8093E8000E94830E8091BA +:1018F000EC018093650108958091E901813AA1F49A +:101900008091E800877F8093E8008091E80080FF65 +:10191000FCCF809165018093F1008091E8008E7783 +:101920008093E8000C94830E089584B7877F84BF6A +:1019300088E10FB6F89480936000109260000FBEAB +:1019400090E080E80FB6F894809361009093610076 +:101950000FBE0E941D120E94D40E0E94310F809172 +:10196000E20084608093E20078940E94AC110E94AF +:101970001F1282E091E00E94C9110E94B12480915F +:10198000E801853069F40E94F41D8091E601882306 +:10199000B1F30E941C1E882391F30E942C0DEFCFFF +:1019A0000E942512ECCF292F332723303105A9F0CF +:1019B0006CF42130310509F442C02230310509F0C0 +:1019C00043C08DE690E02AE636E042C02132310580 +:1019D000C9F02232310519F137C0992781309105BC +:1019E00041F08230910541F0892B71F5E6E6F6E091 +:1019F00005C0EEE4F6E002C0E6E3F6E0849190E094 +:101A00009F0126C0643000F5E62FF0E0EE0FFF1FC7 +:101A1000EE5DFE4F2081318189E090E019C0643095 +:101A200098F4E62FF0E0DF01AA0FBB1FA65EBE4FC1 +:101A30002D913C91EA5EFE4F808190E009C082E1E9 +:101A400090E027ED36E004C080E090E020E030E058 +:101A5000FA0131832083089580E189BD82E189BD47 +:101A600009B400FEFDCF8091D8008F7D8093D8000F +:101A70008091E00082608093E0008091E00081FD31 +:101A8000FCCF0895CF92DF92EF92FF920F931F93B6 +:101A9000CF93DF937C018B01EA010E94A40E811198 +:101AA00031C0209731F088819981081B190BE80E0D +:101AB000F91EC12CD12C0115110519F18091E800F6 +:101AC00085FD14C08091E8008E778093E800209710 +:101AD00041F0888199818C0D9D1D9983888385E0D3 +:101AE00011C00E94A40E882331F30CC0F70181912C +:101AF0007F018093F10001501109FFEFCF1ADF0A37 +:101B0000DACF80E0DF91CF911F910F91FF90EF909E +:101B1000DF90CF9008952091EF013091F0012617CA +:101B2000370748F06115710539F42091E8002E77E8 +:101B30002093E80001C0B901FC0120E061157105A6 +:101B4000B9F18091E801882309F440C0853009F497 +:101B50003FC08091E80083FD3DC08091E80082FF96 +:101B600006C08091E80082FF26C080E00895809141 +:101B7000E80080FFE3CF2091F3008091F20090E035 +:101B8000922B6115710551F08830910538F421913F +:101B90002093F100615071090196F3CF21E008977D +:101BA00009F020E08091E8008E778093E800C6CFAE +:101BB0002111C7CFD6CF8091E801882339F0853035 +:101BC00039F08091E80083FFCCCF04C082E0089513 +:101BD00083E0089581E008952091EF013091F001B4 +:101BE0002617370748F06115710539F42091E80090 +:101BF0002E772093E80001C0B901FC0120E06115B7 +:101C00007105C1F18091E801882309F441C0853054 +:101C100009F440C08091E80083FD3EC08091E80057 +:101C200082FF06C08091E80082FF27C080E008950F +:101C30008091E80080FFE3CF2091F3008091F200D3 +:101C400090E0922B6115710559F08830910540F4B0 +:101C500024912093F1003196615071090196F2CFE1 +:101C600021E0089709F020E08091E8008E778093CA +:101C7000E800C5CF2111C6CFD5CF8091E8018823D8 +:101C800039F0853039F08091E80083FFCBCF04C074 +:101C900082E0089583E0089581E00895982F9730B9 +:101CA00058F59093E900981739F07091EC00209165 +:101CB000ED005091F00003C0242F762F50E021FF5B +:101CC00019C03091EB003E7F3093EB003091ED0076 +:101CD0003D7F3093ED003091EB0031603093EB00AD +:101CE0007093EC002093ED005093F0002091EE00F3 +:101CF00027FF07C09F5FD3CF8F708093E90081E0FB +:101D0000089580E008958091E90187FD05C08091E4 +:101D1000E80080FF0EC012C08091E80082FD05C07F +:101D20008091E8018111F8CF08958091E8008B77C8 +:101D300008C08091E8018111EACF08958091E80000 +:101D40008E778093E80008958091E4009091E500FB +:101D500045E62091EC0020FF21C02091E80020FD05 +:101D600021C02091E801222389F0253089F02091BB +:101D7000EB0025FD0FC02091E4003091E50028170D +:101D8000390739F3415041F0C901E3CF82E00895AA +:101D900083E0089581E0089584E008952091E800AB +:101DA00022FFDFCF80E008950E94420F0E944A0F79 +:101DB000E0EEF0E0808181608083E8EDF0E08081FA +:101DC0008F77808319BCA7EDB0E08C918E7F8C93C8 +:101DD00080818F7E80831092E70108950F931F9377 +:101DE000CF93DF930E94420F0E944A0FC8EDD0E0CC +:101DF00088818F77888388818068888388818F7DB8 +:101E0000888319BC1092E8011092E4011092E60157 +:101E10001092E50100EE10E0F80180818B7F808355 +:101E200088818160888342E060E080E00E944E0EFD +:101E3000E1EEF0E080818E7F8083E2EEF0E0808151 +:101E400081608083808188608083F80180818E7FBB +:101E50008083888180618883DF91CF911F910F916A +:101E60000895E8EDF0E080818F7E8083E7EDF0E07B +:101E700080818160808384E082BF81E08093E7017C +:101E80000C94EE0EE8EDF0E080818E7F808310925E +:101E9000E20008951092DA001092E10008951F9276 +:101EA0000F920FB60F9211242F933F934F935F938E +:101EB0006F937F938F939F93AF93BF93EF93FF9312 +:101EC0008091E10082FF0BC08091E20082FF07C099 +:101ED0008091E1008B7F8093E1000E94AB118091A3 +:101EE000DA0080FF1FC08091D80080FF1BC0809166 +:101EF000DA008E7F8093DA008091D90080FF0DC0D8 +:101F000080E189BD82E189BD09B400FEFDCF81E099 +:101F10008093E8010E94B30B05C019BC1092E80140 +:101F20000E94C10B8091E10080FF19C08091E20006 +:101F300080FF15C08091E2008E7F8093E200809147 +:101F4000E20080618093E2008091D80080628093FB +:101F5000D80019BC85E08093E8010E94C50B8091F0 +:101F6000E10084FF30C08091E20084FF2CC080E15A +:101F700089BD82E189BD09B400FEFDCF8091D80002 +:101F80008F7D8093D8008091E1008F7E8093E10067 +:101F90008091E2008F7E8093E2008091E200816078 +:101FA0008093E2008091E401882311F084E007C06F +:101FB0008091E30087FF02C083E001C081E080934D +:101FC000E8010E94C70B8091E10083FF29C0809146 +:101FD000E20083FF25C08091E100877F8093E100CC +:101FE00082E08093E8011092E4018091E1008E7F0D +:101FF0008093E1008091E2008E7F8093E2008091E7 +:10200000E20080618093E20042E060E080E00E94B4 +:102010004E0E8091F00088608093F0000E94C40B07 +:10202000FF91EF91BF91AF919F918F917F916F91B0 +:102030005F914F913F912F910F900FBE0F901F9086 +:1020400018951F920F920FB60F9211242F933F9362 +:102050004F935F936F937F938F939F93AF93BF93B0 +:10206000CF93EF93FF93C091E900CF708091EC0084 +:102070001092E9008091F000877F8093F0007894BF +:102080000E945D101092E9008091F00088608093BA +:10209000F000C093E900FF91EF91CF91BF91AF9114 +:1020A0009F918F917F916F915F914F913F912F9170 +:1020B0000F900FBE0F901F9018951F93CF93DF9333 +:1020C000CDB7DEB7AA970FB6F894DEBF0FBECDBF6F +:1020D000E9EEF1E08091F100819321E0E13FF20728 +:1020E000C9F70E94E30B8091E80083FF1CC1209197 +:1020F000E9013091EA01832F90E08A30910508F0E0 +:1021000012C1FC01EB54FF4F0C944B26203881F098 +:10211000223809F008C18091ED018F708093E900A9 +:102120008091EB0085FB882780F91092E90006C0BA +:102130008091E5019091E601911182609091E80013 +:10214000977F9093E8008093F1001092F100C5C052 +:10215000822F8D7F09F0E7C0222319F0223061F031 +:10216000E2C08091EB01813009F0DDC0333009F02D +:1021700080E08093E60128C08091EB01811124C0AA +:102180002091ED012F7009F4CEC02093E9008091D9 +:10219000EB0080FF19C08091EB00333011F48062B6 +:1021A00011C080618093EB0081E090E0022E01C0BD +:1021B000880F0A94EAF78093EA001092EA0080916F +:1021C000EB0088608093EB001092E9008091E800BA +:1021D000877F86C02111A7C01091EB011F778091E6 +:1021E000E3008078812B8093E3008091E800877F73 +:1021F0008093E8000E94830E8091E80080FFFCCF6E +:102200008091E30080688093E300112311F083E064 +:1022100001C082E08093E80186C02058223008F097 +:1022200082C08091EB019091EC018C3D23E09207FC +:1022300079F583E08A838AE289834FB7F894DE01D7 +:10224000139620E03EE051E2E32FF0E05093570078 +:10225000E49120FF03C0E295EF703F5FEF708E2F97 +:1022600090E0EA3010F0C79601C0C0968D939D9320 +:102270002F5F243149F74FBF8091E800877F80931B +:10228000E8006AE270E0CE0101960E948B0D14C056 +:10229000AE014F5F5F4F6091ED010E94D30C00973C +:1022A00009F441C02091E800277F2093E800BC0199 +:1022B00089819A810E94EC0D8091E8008B77809350 +:1022C000E80031C0203879F58091E800877F80935D +:1022D000E8008091E4018093F1008091E8008E771E +:1022E0008093E8000E94830E1EC021111CC09091B3 +:1022F000EB019230C0F48091E800877F8093E80082 +:102300009093E4010E94830E8091E401811104C046 +:102310008091E30087FF02C084E001C081E08093E8 +:10232000E8010E94CF0B8091E80083FF0AC08091F2 +:10233000E800877F8093E8008091EB0080628093C3 +:10234000EB00AA960FB6F894DEBF0FBECDBFDF91AB +:10235000CF911F9108950895CF938091E80188232C +:10236000B1F08091E9008F709091EC0090FF02C075 +:1023700090E801C090E0C92FC82B1092E90080912D +:10238000E80083FD0E945D10CF70C093E900CF91FB +:10239000089590936B0180936A010895E0916A011A +:1023A000F0916B01309721F00190F081E02D0994BC +:1023B00080E00895E0916A01F0916B01309721F07F +:1023C0000280F381E02D09940895E0916A01F09173 +:1023D0006B01309721F00480F581E02D0994089578 +:1023E00020916801309169018217930771F09093F1 +:1023F000690180936801E0916A01F0916B01309767 +:1024000021F00680F781E02D09940895209166015E +:10241000309167018217930771F090936701809361 +:102420006601E0916A01F0916B01309721F0008420 +:10243000F185E02D0994089508950C941C120E94D2 +:10244000371E0E94AA070C94FD1ECF92DF92EF92D6 +:10245000FF920F931F93CF93DF93CDB7DEB72B97E8 +:102460000FB6F894DEBF0FBECDBF0E94C2073DE697 +:10247000E32E31E0F32E00E010E0C02E802F0E940A +:10248000AF08F701D1907F01D826B1F40F5F1F4F3D +:102490000E30110591F78FEF89838A831B820E948A +:1024A000401E8160782F9D838C8349815A816B8186 +:1024B0008D810E94C81241C09091CF0191FF04C04C +:1024C0008B870E94B5088B8520E030E04D2D50E0D1 +:1024D000922FBA01022E02C0759567950A94E2F711 +:1024E00060FF25C02E83CF82EE24E394F12C02C03E +:1024F000EE0CFF1C9A95E2F790E08E219F2121E0DF +:10250000892B09F420E028870E94401E8160782FE3 +:102510009A8789874E815F8168858A850E94C81263 +:10252000F801E359FE4F80818E25808306C02F5F1E +:102530003F4F2630310561F6A9CF0E94E12110916D +:102540006C010E94CE111817A1F00E94CE11809349 +:102550006C012B960FB6F894DEBF0FBECDBFDF9196 +:10256000CF911F910F91FF90EF90DF90CF900C943F +:10257000D30A2B960FB6F894DEBF0FBECDBFDF9106 +:10258000CF911F910F91FF90EF90DF90CF90089522 +:10259000CF93DF93CDB7DEB72B970FB6F894DEBF9E +:1025A0000FBECDBF4F83588769877A878B87DE013F +:1025B000119686E0FD0111928A95E9F785E0FE010A +:1025C000379601900D928A95E1F749815A816B8186 +:1025D0007C818D819E810E94091A2B960FB6F894FA +:1025E000DEBF0FBECDBFDF91CF9108950895CF9389 +:1025F000C82F882309F4C1C0823859F40E94CE1133 +:1026000081FDBBC089E30E94A81C0E94721D89E362 +:102610000CC0833879F40E94CE1180FDAEC083E5F2 +:102620000E94A81C0E94721D83E50E94E81CCF91A5 +:102630000C94721D843859F40E94CE1182FD9DC005 +:1026400087E40E94A81C0E94721D87E4EECF8CEFE5 +:102650008C0F813A48F48C2F0E94192481118DC06F +:102660008C2F0E94A81CE3CF80E28C0F883048F4A6 +:10267000C77081E001C0880FCA95EAF70E94291D42 +:10268000D6CF8BE58C0F833078F4C53A29F0C63A63 +:1026900031F482E890E005C081E890E002C083E870 +:1026A00090E0CF910C94F01188E58C0F833108F005 +:1026B00064C0C83A39F1C93A41F1CA3A49F1CB3A52 +:1026C00051F1CC3A59F1CD3A61F1C03B69F1CE3AC2 +:1026D00071F1CF3A79F1C13B81F1C23B89F1C33B42 +:1026E00091F1C43B99F1C53BA1F1C63BA9F1C73BB0 +:1026F000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2A6 +:1027000092E038C082EE90E035C089EE90E032C0B1 +:102710008AEE90E02FC085EB90E02CC086EB90E035 +:1027200029C087EB90E026C08CEC90E023C08DECB4 +:1027300090E020C083E891E01DC08AE891E01AC0D3 +:1027400082E991E017C084E991E014C081E292E04F +:1027500011C083E292E00EC084E292E00BC085E2F9 +:1027600092E008C086E292E005C087E292E002C0F3 +:1027700080E090E0CF910C940612CF9108958823C9 +:1027800009F44BC0823859F40E94CE1181FF45C034 +:1027900089E30E94A81C0E94721D89E30CC0833843 +:1027A00071F40E94CE1180FF38C083E50E94A81CFE +:1027B0000E94721D83E50E94E81C0C94721D8438EF +:1027C00059F40E94CE1182FF28C087E40E94A81C01 +:1027D0000E94721D87E4EFCF9CEF980F913A58F357 +:1027E00090E2980F983050F4877091E001C0990FF3 +:1027F0008A95EAF7892F0E942F1DDFCF9BE5980F5E +:10280000933020F480E090E00C94F011885A8331EA +:1028100020F480E090E00C9406120895882321F0C3 +:102820000E94291D0C94721D0895882321F00E9496 +:102830002F1D0C94721D0895CF92DF92EF92FF929C +:102840000F931F93CF93DF93CDB7DEB728970FB6C3 +:10285000F894DEBF0FBECDBF8C0185E0F801DE012C +:10286000119601900D928A95E1F7F801D080E180F0 +:10287000F280258122952F7083819481892B39F0F4 +:10288000FFEFEF1206C081E0DF1203C003C081E05A +:1028900001C080E080FDCEC2C8012F830E94F612E5 +:1028A000D982EA8289819A810E94661C9E838887E8 +:1028B0000E94651C0E94381B2F814E816885FF2075 +:1028C00029F00E94461D68854E812F81E42FE295F4 +:1028D000EF70F0E0E154FF4F0C944B26842F807F83 +:1028E000142F1F70882311F01295107FFF2059F0CC +:1028F000112309F454C2812F68870E94391D0E9458 +:10290000721D68854CC2862F0E94BF13112309F4E3 +:1029100091C2812F0E943F1D28960FB6F894DEBF0A +:102920000FBECDBFDF91CF911F910F91FF90EF9020 +:10293000DF90CF900C94721D342F307F842F8F70D6 +:10294000303211F08295807F662319F0613019F1E1 +:102950002BC0FF20B1F0222309F493C1213009F0EC +:1029600090C128960FB6F894DEBF0FBECDBFDF91A1 +:10297000CF911F910F91FF90EF90DF90CF900C942B +:10298000591D222319F0213009F454C28E830E946C +:102990005C1D8E8189C1FF2021F0223008F04AC2DF +:1029A00070C1211147C280C1FF2021F0222309F408 +:1029B00068C1F5C1222309F477C105C2242F2695E9 +:1029C0002695237030E02115310521F021303105A5 +:1029D000C9F030C2FF2021F0862F942F937002C0DF +:1029E00080E090E028960FB6F894DEBF0FBECDBF12 +:1029F000DF91CF911F910F91FF90EF90DF90CF90DB +:102A00000C94F011FF2021F0862F942F937002C0B8 +:102A100080E090E028960FB6F894DEBF0FBECDBFE1 +:102A2000DF91CF911F910F91FF90EF90DF90CF90AA +:102A30000C940612862FFF2019F00E94E92002C094 +:102A40000E94512128960FB6F894DEBF0FBECDBF6D +:102A5000DF91CF911F910F91FF90EF90DF90CF907A +:102A60000C94D621842F837009F076C0F110E2C156 +:102A7000262F229526952770220F220F862F8F70E2 +:102A8000C82ED12CE12CF12C022E04C0CC0CDD1C64 +:102A9000EE1CFF1C0A94D2F764FF10C06FE070E0D8 +:102AA00080E090E004C0660F771F881F991F2A9569 +:102AB000D2F7609570958095909503C060E070E0C6 +:102AC000CB01242F269526952370422F50E04230CB +:102AD0005105D1F04330510559F16C297D298E29DA +:102AE0009F294130510541F128960FB6F894DEBF79 +:102AF0000FBECDBFDF91CF911F910F91FF90EF904F +:102B0000DF90CF900C945D1B6C297D298E299F2925 +:102B100028960FB6F894DEBF0FBECDBFDF91CF91E0 +:102B20001F910F91FF90EF90DF90CF900C94771B47 +:102B30000E945D1BC701B60128960FB6F894DEBF50 +:102B40000FBECDBFDF91CF911F910F91FF90EF90FE +:102B5000DF90CF900C94431BFF2019F0842F8170DD +:102B600001C08695882309F465C1262F22952695F4 +:102B70002770220F220F862F8F70C82ED12CE12CA8 +:102B8000F12C022E04C0CC0CDD1CEE1CFF1C0A94A0 +:102B9000D2F764FF10C06FE070E080E090E004C006 +:102BA000660F771F881F991F2A95D2F76095709539 +:102BB0008095909503C060E070E0CB01242F2695AE +:102BC00026952370422F50E042305105D1F043301A +:102BD000510559F16C297D298E299F2941305105D4 +:102BE00041F128960FB6F894DEBF0FBECDBFDF913E +:102BF000CF911F910F91FF90EF90DF90CF900C94A9 +:102C0000311C6C297D298E299F2928960FB6F894AE +:102C1000DEBF0FBECDBFDF91CF911F910F91FF900F +:102C2000EF90DF90CF900C944B1C0E94311CC70199 +:102C3000B60128960FB6F894DEBF0FBECDBFDF9168 +:102C4000CF911F910F91FF90EF90DF90CF900C9458 +:102C5000171C603FC9F118F4603E50F49BC0623FFE +:102C600009F460C008F44AC0633F09F46FC092C021 +:102C7000162F1F70842F8F71FF2099F00E94B01BB8 +:102C8000812F28960FB6F894DEBF0FBECDBFDF911F +:102C9000CF911F910F91FF90EF90DF90CF900C9408 +:102CA0000E140E94D11B812F28960FB6F894DEBF18 +:102CB0000FBECDBFDF91CF911F910F91FF90EF908D +:102CC000DF90CF900C941514FF20A1F02111B2C019 +:102CD000842F8F7128960FB6F894DEBF0FBECDBF3C +:102CE000DF91CF911F910F91FF90EF90DF90CF90E8 +:102CF0000C94F61B223008F09DC0EACFFF20A1F013 +:102D0000842F8F7128960FB6F894DEBF0FBECDBF0B +:102D1000DF91CF911F910F91FF90EF90DF90CF90B7 +:102D20000C94B01BFF2061F3842F8F7128960FB68F +:102D3000F894DEBF0FBECDBFDF91CF911F910F91F1 +:102D4000FF90EF90DF90CF900C94D11BFF2091F07B +:102D5000842F8F7128960FB6F894DEBF0FBECDBFBB +:102D6000DF91CF911F910F91FF90EF90DF90CF9067 +:102D70000C949B1B28960FB6F894DEBF0FBECDBFF8 +:102D8000DF91CF911F910F91FF90EF90DF90CF9047 +:102D90000C94911BFF20A1F0222309F4B1CF862FC0 +:102DA00028960FB6F894DEBF0FBECDBFDF91CF914E +:102DB0001F910F91FF90EF90DF90CF900C94F7123E +:102DC000222309F4B1CF862F28960FB6F894DEBFE0 +:102DD0000FBECDBFDF91CF911F910F91FF90EF906C +:102DE000DF90CF900C94BF134F70C8010E94040570 +:102DF00028960FB6F894DEBF0FBECDBFDF91CF91FE +:102E00001F910F91FF90EF90DF90CF900C94B61A26 +:102E10004F70C80128960FB6F894DEBF0FBECDBF25 +:102E2000DF91CF911F910F91FF90EF90DF90CF90A6 +:102E30000C94750928960FB6F894DEBF0FBECDBF6F +:102E4000DF91CF911F910F91FF90EF90DF90CF9086 +:102E500008950E94461D0E94561D0E941B1D0E943F +:102E6000721D0E9482220E94D62180E090E00E9482 +:102E7000F01180E090E00C9406120E94361D0C9434 +:102E800029170E94661C292F22952F7030E02C30C4 +:102E900031054CF42A3031056CF4225031092230CE +:102EA000310590F407C02C30310551F02F30310539 +:102EB00039F00AC0803E10F0803F31F481E008957F +:102EC00093FB882780F9089580E00895CF93DF93DE +:102ED00000D000D01F92CDB7DEB70F900F900F90AB +:102EE0000F900F90DF91CF910895CF93DF9300D093 +:102EF00000D000D0CDB7DEB726960FB6F894DEBF6F +:102F00000FBECDBFDF91CF9108951F93CF93DF9375 +:102F1000C0917B0116E080917C01C81799F0D0E048 +:102F20001C9FF0011D9FF00D1124E358FE4F4081BE +:102F3000518162817381848195810E9475172196E8 +:102F4000C770E9CFDF91CF911F9108954091AD01F6 +:102F50005091AE016091AF017091B0018091B101CB +:102F60009091B2010C947517CF938091B201829524 +:102F70008F7009F05FC08091AF01882309F45AC0B7 +:102F800020917B01A0917C016091AD017091AE0117 +:102F90008091B0019091B10131E06F3F09F030E0D4 +:102FA000B32FC6E02A1709F445C0009721F07F3FF0 +:102FB00021F44B2F03C041E001C040E030E040FD70 +:102FC00035C0C29FF001C39FF00D1124E358FE4F9E +:102FD000418174132BC04081641328C04281411188 +:102FE00025C0438154814817590710F441505109B5 +:102FF000481B590B483C5105C8F48091B2018F70B1 +:1030000080618093B20186E0829FF001839FF00D82 +:103010001124EE57FE4F80818F70806180838DEA8E +:1030200091E00E941C14CF910C9485172F5F3F4FA5 +:103030002770B8CFCF910895CF92DF92EF92FF9291 +:103040000F931F93CF93DF93CDB7DEB762970FB681 +:10305000F894DEBF0FBECDBF8C0185E0F801DE0124 +:103060001D9601900D928A95E1F7D8014C91119629 +:103070005C91119712966C9112971396ED90FC90BB +:1030800014977091AD01E091AE012091B0013091A3 +:10309000B1012115310531F0EF3F31F481E07F3F7F +:1030A00019F403C081E001C080E0B82FB170CB2ECD +:1030B00080FD6CC1D090AF01DD2009F4F5C0F09126 +:1030C000B201E216F30638F0C701821B930B883C6D +:1030D000910548F09BC0209530952E0D3F1D283C52 +:1030E000310508F093C08F2F807F09F052C0E5139F +:1030F00014C0741312C0D62E61110FC0FF70F0619E +:10310000F093B2010E94A6178DEA91E00E941C1470 +:103110008091B201F80185836CC1EF2831F05F3FE7 +:1031200031F481E04F3F19F403C081E001C080E039 +:1031300080FD03C081E0862701C080E0F82FF17098 +:10314000FF2E80FF1CC080917B0120917C0136E026 +:10315000821709F428C190E0389FF001399FF00DE3 +:103160001124E358FE4F7181571306C07081471335 +:1031700003C07281671303C001968770E9CFD62E12 +:10318000662309F436C18091B20181608093B20157 +:1031900053C0E51308C0741306C0611104C0D80100 +:1031A0001596FC93AEC04D875E878D859E856A8B94 +:1031B0000E9441176A89882329F1D62E662311F1CE +:1031C0002091B201822F82958F7090E002970CF4CB +:1031D00060C08091AD019091AE0198878F83198670 +:1031E000FB86EA862C87CE01079651C0E51731F1A0 +:1031F0004D875E878D859E856A8B0E9441176A89FF +:1032000081112EC0C8010E941C14A4C08F2F807F82 +:1032100069F77E2DF98AE88A89890E9466178DEA06 +:1032200091E00E941C14EDEAF1E086E0DF011D92BE +:103230008A95E9F70E94A617D12CDBC07413D8CF6A +:103240006111D6CFD8011596FC93C8010E941C14B9 +:10325000EDEAF1E086E0DF011D928A95E9F7C9C049 +:10326000D62E662379F22091B201822F82958F703B +:1032700090E0029774F08091AD019091AE019A8335 +:1032800089831B82FD82EC822E83CE0101960E94EF +:103290001C1486E0F801ADEAB1E001900D928A9528 +:1032A000E1F70E94B4176FC0E216F30628F0C701D9 +:1032B000821B930B9C0104C0209530952E0D3F1D61 +:1032C000283C310508F052C0D62E662309F49ACF67 +:1032D000E5132CC074132AC08091B20180FD1DC07B +:1032E000982F92959F70C9F0D80115968C931597D9 +:1032F0009F3039F09F5F9295907F8F70892B159644 +:103300008C93C8010E941C1486E0F801ADEAB1E07C +:1033100001900D928A95E1F736C086E0F801ADEA9A +:10332000B1E001900D928A95E1F763C04D875E8709 +:103330008D859E850E944117882379F086E0F801EB +:10334000ADEAB1E001900D928A95E1F70E94B417C1 +:103350000E94A617DD24D3944CC08091B2018160F5 +:103360008093B201C8010E941C1443C07E2DF98ACB +:10337000E88A89890E946617EDEAF1E086E0DF01BC +:103380001D928A95E9F70E94A61733C0662309F4B7 +:1033900039CF4D875E878D859E850E944117882392 +:1033A00009F430CFCBCF4D875E878D859E850E94F7 +:1033B000661C292F22952F7030E0223031052CF425 +:1033C0009F7041F0811106C00CC0243031052CF4EF +:1033D0009F7049F4805E883020F0C8010E941C1460 +:1033E000CF2CDC2C06C0D80115969C91907F91F7CC +:1033F000F8CF8D2D62960FB6F894DEBF0FBECDBF0D +:10340000DF91CF911F910F91FF90EF90DF90CF90C0 +:1034100008951F93CF93DF93CDB7DEB72C970FB6E8 +:10342000F894DEBF0FBECDBF4F83588769877A8778 +:103430008B879C87CE0107960E941C188823C1F0B9 +:103440002F8138858A859B85892B31F03F3F11F08C +:1034500080E003C02F3FE1F781E0811147C04F8139 +:10346000588569857A858B859C850E9475173EC035 +:1034700086E0FE013796DE01119601900D928A9545 +:10348000E1F7FF81E8854A855B854115510531F0FB +:10349000EF3F31F481E0FF3F19F403C081E001C048 +:1034A00080E080FD23C020917C0130E0C9010196BD +:1034B0008770992760917B0170E086179707F1F17B +:1034C000F983EA835D834C8396E0929FD001939FBA +:1034D000B00D1124A358BE4FFE01319601900D92FC +:1034E0009A95E1F780937C010E94851716E0809100 +:1034F0007B0190917C01891779F1189FC0011124FB +:1035000083589E4F0E941C18882331F1E0917B0163 +:103510001E9FF0011124E358FE4F408151816281CA +:103520007381848195810E94751780917B0190E061 +:1035300001968770992780937B01D9CF0E943D1710 +:1035400010927C0110927B01EDEAF1E086E0DF0150 +:103550001D928A95E9F7CACF2C960FB6F894DEBF74 +:103560000FBECDBFDF91CF911F910895EF92FF92D3 +:103570000F931F93CF93DF939C01009709F471C0C1 +:10358000F12CEE24E394E9012196F901849184372A +:1035900040F4843008F056C0813081F0823021F14F +:1035A00060C0853709F449C0C0F19CE7980F903797 +:1035B00008F057C08F770E94BF1346C089010E5F85 +:1035C0001F4FFE01849190E2980F983050F487705D +:1035D000FE2D01C0FF0F8A95EAF78F2F0E94491D2B +:1035E00015C00E94F71214C089010E5F1F4FFE0123 +:1035F000849190E2980F983068F48770FE2D01C096 +:10360000FF0F8A95EAF78F2F0E944F1D0E94721DAF +:10361000E8011AC00E94BF13FBCF2E5F3F4FFE018F +:10362000C491CC2341F08FE99FE00197F1F700C0EE +:103630000000C150F6CFE90107C0FE01F490E90196 +:10364000229602C00E94F7128F2D882341F0EFE9E5 +:10365000FFE03197F1F700C000008150F6CF9E01E6 +:1036600092CFDF91CF911F910F91FF90EF9008952E +:1036700008956093B7017093B8018093B901909356 +:10368000BA010C9429170F931F930091B701109161 +:10369000B8012091B9013091BA01062B172B282BC4 +:1036A000392B0093B7011093B8012093B9013093DF +:1036B000BA011F910F910C9429170F931F9300913A +:1036C000B7011091B8012091B9013091BA010623D8 +:1036D0001723282339230093B7011093B8012093AF +:1036E000B9013093BA011F910F910C9429170F93D0 +:1036F0001F930091B7011091B8012091B901309149 +:10370000BA0106271727282739270093B7011093F6 +:10371000B8012093B9013093BA011F910F910C9415 +:1037200029171092B3011092B4011092B5011092B2 +:10373000B6010C94291741E050E060E070E004C04D +:10374000440F551F661F771F8A95D2F74093B30128 +:103750005093B4016093B5017093B6010C9429178E +:1037600041E050E060E070E004C0440F551F661F68 +:10377000771F8A95D2F78091B3019091B401A091FF +:10378000B501B091B601842B952BA62BB72B809356 +:10379000B3019093B401A093B501B093B6010C941A +:1037A000291741E050E060E070E004C0440F551F6D +:1037B000661F771F8A95D2F7409550956095709552 +:1037C0008091B3019091B401A091B501B091B6017F +:1037D00084239523A623B7238093B3019093B40148 +:1037E000A093B501B093B6010C94291741E050E0C5 +:1037F00060E070E004C0440F551F661F771F8A9574 +:10380000D2F78091B3019091B401A091B501B0912C +:10381000B60184279527A627B7278093B3019093F5 +:10382000B401A093B501B093B6010C9429170F937E +:103830001F930091B3011091B4012091B501309113 +:10384000B601062B172B282B392B0093B3011093AD +:10385000B4012093B5013093B6011F910F910C94E0 +:1038600029170F931F930091B3011091B401209178 +:10387000B5013091B601062317232823392300937D +:10388000B3011093B4012093B5013093B6011F9199 +:103890000F910C9429170F931F930091B30110916E +:1038A000B4012091B5013091B601062717272827CA +:1038B00039270093B3011093B4012093B5013093DD +:1038C000B6011F910F910C9429170895CF92DF92A2 +:1038D000EF92FF920F931F93CF93DF93EC01C09071 +:1038E000B701D090B801E090B901F090BA01809191 +:1038F000B3019091B401A091B501B091B601C82A6D +:10390000D92AEA2AFB2A0FE110E0B701A601002E0E +:1039100004C076956795579547950A94D2F740FF6E +:1039200007C0BE01802F0E9498098130910539F4AB +:103930000150110950F7BE0180E00E949809DF9103 +:10394000CF911F910F91FF90EF90DF90CF9008954E +:1039500090910C019923D9F090910D019923B9F020 +:10396000982F9695969596959F3088F5E0910E0143 +:10397000F0910F01E90FF11D877021E030E001C0E7 +:10398000220F8A95EAF78181822B818308954091E5 +:103990000E0150910F0120E030E09FEFFA01E20F9D +:1039A000F31F6281681799F09F3F19F4611101C0FC +:1039B000922F2F5F3F4F2E30310581F79F3F39F017 +:1039C000FA01E90FF11D97FDFA9582830895089594 +:1039D00090910C019923E1F090910D019923C1F090 +:1039E000982F9695969596959F3020F5E0910E012B +:1039F000F0910F01E90FF11D877021E030E001C067 +:103A0000220F8A95EAF72095818128232183089542 +:103A100040910E0150910F0120E030E0FA01E20FD9 +:103A2000F31F9281981301C012822F5F3F4F2E30F7 +:103A30003105A1F7089581E090E0E0910E01F09149 +:103A40000F01E80FF91F1082019680319105A9F747 +:103A500008959091CE01982B9093CE010895809572 +:103A60009091CE0198239093CE0108951092CE01AB +:103A700008959091CD01982B9093CD010895809554 +:103A80009091CD0198239093CD0108951092CD018E +:103A900008959091CC01982B9093CC010895809536 +:103AA0009091CC0198239093CC0108951092CC0171 +:103AB00008958093BB0108951092BB010895409131 +:103AC0000E0150910F0120E030E080E0FA01E20F9A +:103AD000F31F918191118F5F2F5F3F4F2F30310581 +:103AE000A9F70895E0910E01F0910F018091CE01A8 +:103AF0008083E0910E01F0910F0180819091CD01C2 +:103B0000892B8083E0910E01F0910F0180819091CB +:103B1000CC01892B80839091BB01992361F0E091C6 +:103B20000E01F0910F018081892B80830E945F1D1F +:103B300081111092BB0180910E0190910F010C94A4 +:103B4000DA11CF92DF92EF92FF920F931F936C01E5 +:103B5000EE24FF24C114D104E104F10421F46B012B +:103B60007C0180E001C080E133272F2D1E2D0D2D1B +:103B7000011511052105310519F0885F68017901EA +:103B800097018601A4E03695279517950795AA9584 +:103B9000D1F7011511052105310519F08C5F680178 +:103BA000790197018601F2E03695279517950795DB +:103BB000FA95D1F7011511052105310519F08E5F30 +:103BC00068017901B701A6017695679557954795E4 +:103BD000452B462B472B09F08F5F1F910F91FF90CC +:103BE000EF90DF90CF9008958091E801843009F143 +:103BF0001092D00120E488E190E00FB6F894A895E7 +:103C0000809360000FBE2093600083B7817F846043 +:103C100083BF83B7816083BF7894889583B78E7F95 +:103C200083BF88E10FB6F894809360001092600023 +:103C30000FBE089508950895CF930E941A1E0E9402 +:103C4000C2070E941B1EC0E08C2F0E94AF0881118A +:103C500005C0CF5FCE30C1F780E001C081E0CF91D9 +:103C600008950E943D170E94CE110C94D30A82E061 +:103C700084BD93E095BD9AEF97BD80936E00089543 +:103C80002FB7F8948091D1019091D201A091D301E6 +:103C9000B091D4012FBF0895CF92DF92EF92FF929F +:103CA0000F931F932FB7F8944091D1015091D201F7 +:103CB0006091D3017091D4012FBF6A017B01EE2482 +:103CC000FF248C0120E030E0C016D106E206F306A6 +:103CD00010F441505109481B590BCA011F910F9113 +:103CE000FF90EF90DF90CF9008951F920F920FB644 +:103CF0000F9211248F939F93AF93BF938091D10123 +:103D00009091D201A091D301B091D4010196A11D4F +:103D1000B11D8093D1019093D201A093D301B093B0 +:103D2000D401BF91AF919F918F910F900FBE0F90D3 +:103D30001F9018950E94D40EF8942FEF87EA91E611 +:103D4000215080409040E1F700C0000087E090EBF8 +:103D5000DC018093F1019093F201A093F301B09301 +:103D6000F4012CE088E190E00FB6F894A8958093D8 +:103D700060000FBE20936000FFCFEF92FF920F9381 +:103D80001F93CF93DF93E82EF12C8F2D0E94AF0865 +:103D9000C0E0D0E0082F10E098010C2E02C035954D +:103DA00027950A94E2F720FD05C02196C630D1057B +:103DB00099F709C06C2F7F2D80E00E947609E812E8 +:103DC000F4CF81E005C0F3948EE0F812DECF80E0FE +:103DD000DF91CF911F910F91FF90EF900895CF93B6 +:103DE000C82F8CE20E94BD1E882321F08C2FCF911A +:103DF0000C94BD1E80E0CF910895CF930E94422085 +:103E0000811102C00E942820C5E6C15049F00E94DD +:103E1000C2078FE39CE90197F1F700C00000F5CFDE +:103E200089E20E94EF1E811111C18AE20E94EF1EF9 +:103E300081110E94282085E00E94EF1E81110E94BE +:103E40009A1E0E944D208093CF0187E00E94EF1EB2 +:103E5000882399F18BE10E94EF1E882351F0909105 +:103E6000CF0191FB882780F921E0822780FB91F91F +:103E700022C08EE00E94EF1E882351F09091CF0166 +:103E800092FB882780F921E0822780FB92F913C0FA +:103E900080E10E94EF1E9091CF01882341F093FBB7 +:103EA000882780F921E0822780FB93F904C0892FBD +:103EB000809580FB90F99093CF018091CF010E9473 +:103EC00051200E945F208093E20180EE0E94EF1E4D +:103ED000882341F08091E201982F909590FB80F922 +:103EE0008093E20189E30E94EF1E882359F09091AC +:103EF000E20191FB882780F921E0822780FB91F97C +:103F00009093E20182EE0E94EF1E882359F0909177 +:103F1000E20192FB882780F921E0822780FB92F959 +:103F20009093E20186EE0E94EF1E882359F0909153 +:103F3000E20193FB882780F921E0822780FB93F937 +:103F40009093E20183EE0E94EF1E882359F0909136 +:103F5000E20194FB882780F921E0822780FB94F915 +:103F60009093E20185E30E94EF1E882359F090911F +:103F7000E20195FB882780F921E0822780FB95F9F3 +:103F80009093E20181E30E94EF1E882359F0909103 +:103F9000E20196FB882780F921E0822780FB96F9D1 +:103FA0009093E20181E10E94EF1E882359F09091E5 +:103FB000E20197FB882780F921E0822780FB97F9AF +:103FC0009093E2018091E2010E9463208091E201DE +:103FD00087FB882780F980930D0187E20E94EF1EFE +:103FE000C82F8EE10E94EF1E8111C2608FE10E94F6 +:103FF000EF1E8111C46080E20E94EF1E8111C86033 +:1040000081E20E94EF1E8111C06182E20E94EF1ED8 +:104010008111C06283E20E94EF1E8111C06484E2BC +:104020000E94EF1E882311F0C06802C0CC2329F043 +:104030008C2F0E945A206C2F03C00E945620682F9C +:1040400070E080E090E0CF910C94391BCF910895FF +:104050006DEE7EEF80E090E00E94812660E082E0DD +:1040600090E00E94732660E083E090E00E94732657 +:1040700060E084E090E00E94732660E085E090E0DC +:104080000C94732680E090E00E946D2621E08D3E26 +:104090009E4F09F020E0822F089582E090E00C947A +:1040A0006526682F82E090E00C94732683E090E010 +:1040B0000C946526682F83E090E00C94732684E0CE +:1040C00090E00C946526682F84E090E00C947326B1 +:1040D0008091D70180FF0BC06091130185E0689F3C +:1040E000B001112475956795759567952AC081FF74 +:1040F00009C06091130185E0689FB0011124759596 +:1041000067951FC082FF07C06091130185E0689F1B +:10411000B001112416C04091D8014423C9F0609128 +:104120001201461788F72091130185E0289F90011E +:104130001124429FC001439F900D112470E00E9402 +:1041400037266038710540F46115710539F002C0F9 +:1041500065E070E0862F08958FE7089581E0089567 +:104160008091D70180FF08C06091110170E07595C2 +:1041700067957595679521C081FF06C06091110113 +:1041800070E07595679519C082FF04C060911101B8 +:1041900070E010C08091D8018823C1F060911001B7 +:1041A0008617A0F790911101989FC001112470E02B +:1041B0000E9437266038710528F46115710521F0D9 +:1041C000862F08958FE7089581E0089561E070E0FB +:1041D000F4CF803F21F40E946820819504C0813F84 +:1041E00029F40E9468208093DB010895823F21F426 +:1041F0000E946820819504C0833F29F40E946820B2 +:104200008093DA010895893F19F40E94B02005C017 +:104210008A3F31F40E94B02081958093DC0108959B +:104220008B3F21F40E94B020819504C08C3F29F47B +:104230000E94B0208093DD010895843F21F4809195 +:10424000D901816017C0853F21F48091D901826036 +:1042500011C0863F21F48091D90184600BC0873F53 +:1042600021F48091D901886005C0883F31F48091A4 +:10427000D90180618093D90108958D3F21F4809107 +:10428000D70181600BC08E3F21F48091D7018260FD +:1042900005C08F3F29F48091D70184608093D701B6 +:1042A0000895803F39F48091DB0187FF6CC0109244 +:1042B000DB0169C0813F29F48091DB011816BCF352 +:1042C00062C09091DA01823F29F497FF5CC010929E +:1042D000DA0159C0833F19F41916CCF354C0893F51 +:1042E00041F48091DC0118160CF04DC01092DC01F5 +:1042F0004AC08A3F29F48091DC0187FF44C0F6CF91 +:104300008B3F39F48091DD0187FF3DC01092DD01C4 +:104310003AC08C3F29F48091DD011816BCF333C0FC +:10432000843F21F48091D9018E7F17C0853F21F40D +:104330008091D9018D7F11C0863F21F48091D901F0 +:104340008B7F0BC0873F21F48091D901877F05C007 +:10435000883F31F48091D9018F7E8093D90113C0B9 +:104360008D3F21F48091D7018E7F0BC08E3F21F4C9 +:104370008091D7018D7F05C08F3F29F48091D701AF +:104380008B7F8093D7018091DA0181110EC08091DB +:10439000DB0181110AC08091DC01811106C080918E +:1043A000DD01811102C01092D801089589ED91E0DC +:1043B0000E94E5110E94401E9093D6018093D50182 +:1043C00008951F93CF93DF938091D5019091D601EB +:1043D0000E944C1E4091D801442321F020911401E9 +:1043E00030E006C0209115015AE0259F900111246C +:1043F0008217930708F482C08091DA011091DB01E3 +:10440000D091DC01C091DD01811107C0111105C0FF +:10441000D11103C0CC2309F471C04F3F19F04F5F95 +:104420004093D801181624F40E9468208093DA0182 +:104430008091DA0187FF05C00E94682081958093F2 +:10444000DA01111624F40E9468208093DB01809128 +:10445000DB0187FF05C00E94682081958093DB0106 +:104460006091DA01662339F11091DB01112319F112 +:10447000772767FD7095872F972F0E94482523E3A4 +:1044800033E343E35FE30E94AC250E94152560936C +:10449000DA01612F772767FD7095872F972F0E948C +:1044A000482523E333E343E35FE30E94AC250E9406 +:1044B00015256093DB011D1624F40E94B020809323 +:1044C000DC018091DC0187FF05C00E94B02081954E +:1044D0008093DC011C1624F40E94B0208093DD013F +:1044E0008091DD0187FF05C00E94B02081958093F7 +:1044F000DD01DF91CF911F910C94D621DF91CF91F7 +:104500001F910895E9EDF1E085E0DF011D928A95A4 +:10451000E9F71092D8011092D7010895833081F104 +:1045200028F4813059F08230D1F00895853009F4B3 +:1045300049C0B8F1863009F456C00895209115019C +:10454000862F90E0820F911D8F3F910520F4620F1E +:104550006093150108958FEF8093150108952091C0 +:104560001401862F90E0820F911D8F3F910520F45A +:10457000620F6093140108958FEF809314010895E2 +:1045800020911301862F90E0820F911D8F3F91059E +:1045900020F4620F6093130108958FEF809313014D +:1045A000089520911201862F90E0820F911D8F3F78 +:1045B000910520F4620F6093120108958FEF8093AC +:1045C0001201089520911101862F90E0820F911D14 +:1045D0008F3F910520F4620F6093110108958FEFD2 +:1045E00080931101089520911001862F90E0820F91 +:1045F000911D8F3F910520F4620F60931001089583 +:104600008FEF809310010895833011F128F48130E9 +:1046100049F0823091F00895853081F120F18630A3 +:10462000C1F1089580911501681720F4861B8093CD +:1046300015010895109215010895809114016817CD +:1046400020F4861B8093140108951092140108959C +:1046500080911301681720F4861B8093130108953D +:1046600010921301089580911201681720F4861B9F +:104670008093120108951092120108958091110102 +:10468000681720F4861B8093110108951092110180 +:10469000089580911001681720F4861B8093100103 +:1046A00008951092100108958D3109F442C020F54B +:1046B0008E3009F47CC070F4873009F45EC020F4B9 +:1046C000863009F442C033C08830D1F18B3009F410 +:1046D000AAC02DC0863109F4A6C038F4803109F48F +:1046E00070C0813109F47EC022C0893109F49BC0B9 +:1046F0008B3109F452C01BC0853309F48CC048F4D7 +:10470000873209F488C008F478C0893209F483C07C +:104710000EC0833438F48A3308F06DC0883309F44E +:1047200082C005C0833409F476C08834C1F080E0CB +:1047300008950E94CF240E94CE110E94D30A73C014 +:104740000E944D200E945F206EC08091CF01817F2A +:104750008E7F8093CF0181E08093DF0108950E94D6 +:104760003D172FEF83ED90E3215080409040E1F71B +:1047700000C000000E949A1E56C09091CF01892F60 +:104780008095817080FB90F919F09660986027C041 +:10479000997F977F9093CF0146C09091CF0191FB75 +:1047A000882780F921E0822780FB91F913C090913E +:1047B000CF0192FB882780F921E0822780FB92F9C4 +:1047C00009C09091CF0193FB882780F921E08227CF +:1047D00080FB93F99093CF01882329F19160909306 +:1047E000CF0108950E943D1780910D0191E0892726 +:1047F00080930D0118C027EC01C023EE280F61E063 +:1048000070E080E090E004C0660F771F881F991F5A +:104810002A95D2F704C061E070E080E090E00E9449 +:10482000391B0E943D1781E0089580E0089580E0E3 +:104830000895CF93C82F8091DF01813079F018F06F +:104840008230D1F184C0A0910E01B0910F018C9102 +:10485000813169F0823209F07CC009C0A0910E015B +:10486000B0910F018C91813111F0823249F48C2F7B +:104870000E94152481111DC08C2F0E9454231AC040 +:104880008C2F0E941724811114C0C43179F048F490 +:10489000CB3079F0C03109F060C082E08093DF0155 +:1048A00008C0C93219F0C83321F057C01092DF0197 +:1048B00054C081E0817053C0C93289F118F5C43108 +:1048C00071F1A8F4C73009F046C08AE08093150161 +:1048D00094E19093140193E090931301809312015B +:1048E00088E08093110188E28093100134C0CE519A +:1048F000C63088F5EC2FF0E0E65DFE4F80818093B6 +:10490000DE0129C0CE34E9F020F4CB3421F56AE091 +:1049100013C0C13579F0C235F1F461E00DC080916A +:10492000DE01882319F01092DE0115C081E080932A +:10493000DF0115C061E006C08091DE010E948E2279 +:104940000AC06AE08091DE010E94042304C0109234 +:10495000DF0180E004C081E002C080E0ABCFCF91F6 +:104960000895E1E8F0E08081886080838081816043 +:1049700080838FB7F89493E09093890090ED9093A3 +:1049800088008FBF0895EFE6F0E080818260808329 +:104990000895EFE6F0E080818D7F80830895EFE653 +:1049A000F0E0808192E08927808308951F920F9222 +:1049B0000FB60F9211242F933F934F935F936F93F2 +:1049C0007F938F939F93AF93BF93EF93FF938091C8 +:1049D000E0019091E10101969093E1018093E00163 +:1049E000811103C082E00E94D30AE091E101E695C3 +:1049F000E695F0E0EC51F84FE4918091E0018E13E0 +:104A000003C080E00E94D30AFF91EF91BF91AF9164 +:104A10009F918F917F916F915F914F913F912F91D6 +:104A20000F900FBE0F901F90189504D06894B1118D +:104A30008DC0089570D088F09F5790F0B92F9927B6 +:104A4000B751A0F0D1F0660F771F881F991F1AF099 +:104A5000BA95C9F712C0B13081F077D0B1E00895AE +:104A600074C0672F782F8827B85F39F0B93FCCF32F +:104A7000869577956795B395D9F73EF4909580958F +:104A8000709561957F4F8F4F9F4F0895E89409C0AF +:104A900097FB3EF490958095709561957F4F8F4F71 +:104AA0009F4F9923A9F0F92F96E9BB279395F69587 +:104AB000879577956795B795F111F8CFFAF4BB0F05 +:104AC00011F460FF1BC06F5F7F4F8F4F9F4F16C069 +:104AD000882311F096E911C0772321F09EE8872FF3 +:104AE000762F05C0662371F096E8862F70E060E0AF +:104AF0002AF09A95660F771F881FDAF7880F969528 +:104B0000879597F9089557FD9058440F551F59F010 +:104B10005F3F71F04795880F97FB991F61F09F3FAA +:104B200079F087950895121613061406551FF2CFD3 +:104B30004695F1DF08C0161617061806991FF1CF23 +:104B400086957105610508940895E894BB2766274A +:104B50007727CB0197F908950BD078C069D028F05A +:104B60006ED018F0952309F05AC05FC01124EECF23 +:104B7000CADFA0F3959FD1F3950F50E0551F629FB8 +:104B8000F001729FBB27F00DB11D639FAA27F00DA6 +:104B9000B11DAA1F649F6627B00DA11D661F829FCD +:104BA0002227B00DA11D621F739FB00DA11D621FB2 +:104BB000839FA00D611D221F749F3327A00D611DCF +:104BC000231F849F600D211D822F762F6A2F1124B1 +:104BD0009F5750408AF0E1F088234AF0EE0FFF1F04 +:104BE000BB1F661F771F881F91505040A9F79E3F3B +:104BF000510570F014C0AACF5F3FECF3983EDCF390 +:104C0000869577956795B795F795E7959F5FC1F777 +:104C1000FE2B880F911D9695879597F9089597F922 +:104C20009F6780E870E060E008959FEF80EC089552 +:104C300000240A941616170618060906089500247B +:104C40000A9412161306140605060895092E0394F5 +:104C5000000C11F4882352F0BB0F40F4BF2B11F469 +:104C600060FF04C06F5F7F4F8F4F9F4F089597FB8A +:104C7000072E16F4009407D077FD09D00E94512624 +:104C800007FC05D03EF4909581959F4F089570954F +:104C900061957F4F0895EE0FFF1F0590F491E02D71 +:104CA0000994AA1BBB1B51E107C0AA1FBB1FA61773 +:104CB000B70710F0A61BB70B881F991F5A95A9F7C5 +:104CC00080959095BC01CD010895F999FECF92BDD4 +:104CD00081BDF89A992780B50895A8E1B0E042E037 +:104CE00050E00C948826262FF999FECF1FBA92BD6A +:104CF00081BD20BD0FB6F894FA9AF99A0FBE0196BD +:104D000008950E947326272F0C947426DC01CB0192 +:104D1000FC01F999FECF06C0F2BDE1BDF89A3196CB +:104D200000B40D9241505040B8F70895F894FFCF69 +:104D30002002D50A620B3F0B0B0BD80A0101BC0104 +:104D400028080A03140A3F4D3639A50758072207D9 +:104D5000E9067C069506AE06C706010203040506B1 +:044D60000708090037 :00000001FF diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c index 23611ddd89..92b712bd8a 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c @@ -106,8 +106,6 @@ #define L4 4 // layer_4 #define L5 5 // layer_5 #define L6 6 // layer_6 -#define L7 7 // layer_7 -#define L8 8 // layer_8 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -120,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! * |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - * | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + * | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| * '------------------------' '------------------------' * .-----------. .-----------. * |INS |TG(2)| !M(UM)|DELT | @@ -143,8 +141,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, - KC_LALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, - UM, KC_DELT, + KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, + M(UM), KC_DELT, KC_PGUP, KC_PGDN, KC_ENTER, KC_SPACE ), @@ -376,91 +374,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -/* - * .------------------------------------.------------------------------------. - * | | | | | | | | | | | | | | | - * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! - * | | | | | | | | | | | | | | | - * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - * | | | | | | |-----!-----! | | | | | | - * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - * | | | | | | | | | | | | | | | - * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------' '------------------------' - * .-----------. .-----------. - * | | | ! | | - * .-----+-----+-----! !-----+-----+-----. - * ! ! | | ! | ! ! - * ! ! !-----! !-----! ! ! - * | | | | ! | | | - * '-----------------' '-----------------' -*/ -[L7] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* - * .------------------------------------.------------------------------------. - * | | | | | | | | | | | | | | | - * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! - * | | | | | | | | | | | | | | | - * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - * | | | | | | |-----!-----! | | | | | | - * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - * | | | | | | | | | | | | | | | - * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - * | | | | | | ! | | | | | - * '------------------------' '------------------------' - * .-----------. .-----------. - * | | | ! | | - * .-----+-----+-----! !-----+-----+-----. - * ! ! | | ! | ! ! - * ! ! !-----! !-----! ! ! - * | | | | ! | | | - * '-----------------' '-----------------' -*/ -[L8] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), }; const uint16_t PROGMEM fn_actions[] = {}; #define UC_MODE_WIN 0 #define UC_MODE_LINUX 1 +#define UC_MODE_OSX 2 +// TODO: allow default mode to be configured static uint16_t unicode_mode = UC_MODE_WIN; +uint16_t hextokeycode(uint8_t hex) { + if (hex == 0x0) { + return KC_P0; + } + if (hex < 0xA) { + return KC_P1 + (hex - 0x1); + } + return KC_A + (hex - 0xA); +} + +void unicode_action_function(uint16_t hi, uint16_t lo) { + switch (unicode_mode) { + case UC_MODE_WIN: + register_code(KC_LALT); + + register_code(KC_PPLS); + unregister_code(KC_PPLS); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LALT); + break; + case UC_MODE_LINUX: + register_code(KC_LCTL); + register_code(KC_LSFT); + + register_code(KC_U); + unregister_code(KC_U); + + register_code(hextokeycode((hi & 0xF0) >> 4)); + unregister_code(hextokeycode((hi & 0xF0) >> 4)); + register_code(hextokeycode((hi & 0x0F))); + unregister_code(hextokeycode((hi & 0x0F))); + register_code(hextokeycode((lo & 0xF0) >> 4)); + unregister_code(hextokeycode((lo & 0xF0) >> 4)); + register_code(hextokeycode((lo & 0x0F))); + unregister_code(hextokeycode((lo & 0x0F))); + + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + break; + case UC_MODE_OSX: + break; + } +} + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { if (!record->event.pressed) { return MACRO_NONE; @@ -470,772 +447,291 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { case UM: unicode_mode = (unicode_mode + 1) % 2; break; - - default: - break; - } - if (unicode_mode == UC_MODE_WIN) { - switch(id) { - case UC_GREEK_SMALL_LETTER_OMICRON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(F), U(LALT), END - ); -case UC_LEFTWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_0), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_RHO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_1), U(LALT), END - ); -case UC_SUBSCRIPT_THREE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_3), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_EIGHTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(B), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_LAMDA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(B), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_THIRD: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_3), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_XI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(E), U(LALT), END - ); -case UC_THERE_DOES_NOT_EXIST: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_4), U(LALT), END - ); -case UC_SUPERSCRIPT_ONE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_9), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_BETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_2), U(LALT), END - ); -case UC_SUBSCRIPT_FIVE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_5), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_IOTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_9), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_FIFTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_5), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_PSI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_8), U(LALT), END - ); -case UC_SUBSCRIPT_NINE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_9), U(LALT), END - ); -case UC_SUPERSCRIPT_FOUR: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_4), U(LALT), END - ); -case UC_RIGHTWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_2), U(LALT), END - ); -case UC_SUPERSCRIPT_SIX: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_6), U(LALT), END - ); -case UC_DOWNWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_3), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_PI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_0), U(LALT), END - ); -case UC_SUPERSCRIPT_TWO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_2), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_OMEGA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_9), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_PSI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_8), U(LALT), END - ); -case UC_SUBSCRIPT_FOUR: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_4), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_NU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(D), U(LALT), END - ); -case UC_DIVISION_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(F), T(KP_7), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_3), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_RHO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_1), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_SIXTH: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_9), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_GAMMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_3), U(LALT), END - ); -case UC_VULGAR_FRACTION_TWO_THIRDS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_5), T(KP_4), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_NU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(D), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_ZETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_6), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_EPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_5), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_KAPPA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(A), U(LALT), END - ); -case UC_SUPERSCRIPT_SEVEN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_7), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_PI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_0), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_FINAL_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_2), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_XI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(E), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_THETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_8), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_ETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_7), U(LALT), END - ); -case UC_SUBSCRIPT_TWO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_2), U(LALT), END - ); -case UC_ASYMPTOTICALLY_EQUAL_TO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_4), T(KP_3), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_ALPHA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_1), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_PHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_6), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_PHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_6), U(LALT), END - ); -case UC_INFINITY: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_1), T(E), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_OMICRON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(F), U(LALT), END - ); -case UC_ELEMENT_OF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_8), U(LALT), END - ); -case UC_MULTIPLICATION_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(D), T(KP_7), U(LALT), END - ); -case UC_SUBSCRIPT_ZERO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_0), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_SIGMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_3), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_OMEGA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_9), U(LALT), END - ); -case UC_SUBSCRIPT_ONE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_1), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_ZETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_6), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_TAU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_4), U(LALT), END - ); -case UC_SUPERSCRIPT_FIVE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_5), U(LALT), END - ); -case UC_THERE_EXISTS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_3), U(LALT), END - ); -case UC_PLUS_MINUS_SIGN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_1), U(LALT), END - ); -case UC_VULGAR_FRACTION_THREE_QUARTERS: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(E), U(LALT), END - ); -case UC_SUPERSCRIPT_THREE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(KP_3), U(LALT), END - ); -case UC_EMPTY_SET: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_5), U(LALT), END - ); -case UC_UPWARDS_ARROW: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_1), T(KP_9), T(KP_1), U(LALT), END - ); -case UC_SUPERSCRIPT_NINE: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_9), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_DELTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_4), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_MU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(C), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_KAPPA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(A), U(LALT), END - ); -case UC_SUBSCRIPT_EIGHT: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_8), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_ALPHA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_1), U(LALT), END - ); -case UC_SUBSCRIPT_SEVEN: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_7), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_BETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_2), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_ETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_7), U(LALT), END - ); -case UC_SUPERSCRIPT_EIGHT: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_8), U(LALT), END - ); -case UC_SUPERSCRIPT_ZERO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(KP_0), U(LALT), END - ); -case UC_NOT_AN_ELEMENT_OF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_9), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_UPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_5), U(LALT), END - ); -case UC_NOT_EQUAL_TO: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_6), T(KP_0), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_CHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_7), U(LALT), END - ); -case UC_FOR_ALL: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_2), T(KP_0), T(KP_0), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_TAU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_4), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_QUARTER: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(C), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_CHI: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(C), T(KP_7), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_THETA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_8), U(LALT), END - ); -case UC_GREEK_SMALL_LETTER_IOTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(B), T(KP_9), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_LAMDA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(B), U(LALT), END - ); -case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_7), T(F), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_UPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(A), T(KP_5), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_MU: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(C), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_EPSILON: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_5), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_GAMMA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_3), U(LALT), END - ); -case UC_SUBSCRIPT_SIX: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_2), T(KP_0), T(KP_8), T(KP_6), U(LALT), END - ); -case UC_GREEK_CAPITAL_LETTER_DELTA: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_3), T(KP_9), T(KP_4), U(LALT), END - ); -case UC_VULGAR_FRACTION_ONE_HALF: - return MACRODOWN( - D(LALT), T(KP_PLUS), T(KP_0), T(KP_0), T(B), T(D), U(LALT), END - ); - default: - break; - } - } else if (unicode_mode == UC_MODE_LINUX) { - switch(id) { - case UC_GREEK_SMALL_LETTER_OMICRON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(F), T(KP_ENTER), END - ); + +case UC_GREEK_SMALL_LETTER_OMICRON: + unicode_action_function(0x03, 0xbf); + break; case UC_LEFTWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x90); + break; case UC_GREEK_CAPITAL_LETTER_RHO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa1); + break; case UC_SUBSCRIPT_THREE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x83); + break; case UC_VULGAR_FRACTION_ONE_EIGHTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(B), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x5b); + break; case UC_GREEK_SMALL_LETTER_LAMDA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(B), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xbb); + break; case UC_VULGAR_FRACTION_ONE_THIRD: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x53); + break; case UC_GREEK_SMALL_LETTER_XI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(E), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xbe); + break; case UC_THERE_DOES_NOT_EXIST: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x04); + break; case UC_SUPERSCRIPT_ONE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xb9); + break; case UC_GREEK_SMALL_LETTER_BETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb2); + break; case UC_SUBSCRIPT_FIVE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x85); + break; case UC_GREEK_CAPITAL_LETTER_IOTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x99); + break; case UC_VULGAR_FRACTION_ONE_FIFTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x55); + break; case UC_GREEK_SMALL_LETTER_PSI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc8); + break; case UC_SUBSCRIPT_NINE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x89); + break; case UC_SUPERSCRIPT_FOUR: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x74); + break; case UC_RIGHTWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x92); + break; case UC_SUPERSCRIPT_SIX: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x76); + break; case UC_DOWNWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x93); + break; case UC_GREEK_SMALL_LETTER_PI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc0); + break; case UC_SUPERSCRIPT_TWO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xb2); + break; case UC_GREEK_CAPITAL_LETTER_OMEGA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa9); + break; case UC_GREEK_CAPITAL_LETTER_PSI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa8); + break; case UC_SUBSCRIPT_FOUR: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x84); + break; case UC_GREEK_CAPITAL_LETTER_NU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(D), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9d); + break; case UC_DIVISION_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(F), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xf7); + break; case UC_GREEK_SMALL_LETTER_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc3); + break; case UC_GREEK_SMALL_LETTER_RHO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc1); + break; case UC_VULGAR_FRACTION_ONE_SIXTH: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x59); + break; case UC_GREEK_SMALL_LETTER_GAMMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb3); + break; case UC_VULGAR_FRACTION_TWO_THIRDS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_5), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x54); + break; case UC_GREEK_SMALL_LETTER_NU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(D), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xbd); + break; case UC_GREEK_SMALL_LETTER_ZETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb6); + break; case UC_GREEK_SMALL_LETTER_EPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb5); + break; case UC_GREEK_SMALL_LETTER_KAPPA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(A), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xba); + break; case UC_SUPERSCRIPT_SEVEN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x77); + break; case UC_GREEK_CAPITAL_LETTER_PI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa0); + break; case UC_GREEK_SMALL_LETTER_FINAL_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc2); + break; case UC_GREEK_CAPITAL_LETTER_XI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(E), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9e); + break; case UC_GREEK_SMALL_LETTER_THETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb8); + break; case UC_GREEK_SMALL_LETTER_ETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb7); + break; case UC_SUBSCRIPT_TWO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x82); + break; case UC_ASYMPTOTICALLY_EQUAL_TO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_4), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x43); + break; case UC_GREEK_SMALL_LETTER_ALPHA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb1); + break; case UC_GREEK_CAPITAL_LETTER_PHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa6); + break; case UC_GREEK_SMALL_LETTER_PHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc6); + break; case UC_INFINITY: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_1), T(E), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x1e); + break; case UC_GREEK_CAPITAL_LETTER_OMICRON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(F), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9f); + break; case UC_ELEMENT_OF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x08); + break; case UC_MULTIPLICATION_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(D), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xd7); + break; case UC_SUBSCRIPT_ZERO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x80); + break; case UC_GREEK_CAPITAL_LETTER_SIGMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa3); + break; case UC_GREEK_SMALL_LETTER_OMEGA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc9); + break; case UC_SUBSCRIPT_ONE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x81); + break; case UC_GREEK_CAPITAL_LETTER_ZETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x96); + break; case UC_GREEK_SMALL_LETTER_TAU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc4); + break; case UC_SUPERSCRIPT_FIVE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x75); + break; case UC_THERE_EXISTS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x03); + break; case UC_PLUS_MINUS_SIGN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xb1); + break; case UC_VULGAR_FRACTION_THREE_QUARTERS: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(E), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xbe); + break; case UC_SUPERSCRIPT_THREE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xb3); + break; case UC_EMPTY_SET: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x05); + break; case UC_UPWARDS_ARROW: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_1), T(KP_9), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x21, 0x91); + break; case UC_SUPERSCRIPT_NINE: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x79); + break; case UC_GREEK_SMALL_LETTER_DELTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb4); + break; case UC_GREEK_SMALL_LETTER_MU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(C), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xbc); + break; case UC_GREEK_CAPITAL_LETTER_KAPPA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(A), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9a); + break; case UC_SUBSCRIPT_EIGHT: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x88); + break; case UC_GREEK_CAPITAL_LETTER_ALPHA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_1), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x91); + break; case UC_SUBSCRIPT_SEVEN: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x87); + break; case UC_GREEK_CAPITAL_LETTER_BETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_2), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x92); + break; case UC_GREEK_CAPITAL_LETTER_ETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x97); + break; case UC_SUPERSCRIPT_EIGHT: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x78); + break; case UC_SUPERSCRIPT_ZERO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x70); + break; case UC_NOT_AN_ELEMENT_OF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x09); + break; case UC_GREEK_SMALL_LETTER_UPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc5); + break; case UC_NOT_EQUAL_TO: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_6), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x60); + break; case UC_GREEK_CAPITAL_LETTER_CHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa7); + break; case UC_FOR_ALL: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_2), T(KP_0), T(KP_0), T(KP_ENTER), END - ); + unicode_action_function(0x22, 0x00); + break; case UC_GREEK_CAPITAL_LETTER_TAU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa4); + break; case UC_VULGAR_FRACTION_ONE_QUARTER: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(C), T(KP_ENTER), END - ); + unicode_action_function(0x00, 0xbc); + break; case UC_GREEK_SMALL_LETTER_CHI: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(C), T(KP_7), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xc7); + break; case UC_GREEK_CAPITAL_LETTER_THETA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_8), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x98); + break; case UC_GREEK_SMALL_LETTER_IOTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(B), T(KP_9), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xb9); + break; case UC_GREEK_CAPITAL_LETTER_LAMDA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(B), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9b); + break; case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_7), T(F), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x7f); + break; case UC_GREEK_CAPITAL_LETTER_UPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(A), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0xa5); + break; case UC_GREEK_CAPITAL_LETTER_MU: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(C), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x9c); + break; case UC_GREEK_CAPITAL_LETTER_EPSILON: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_5), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x95); + break; case UC_GREEK_CAPITAL_LETTER_GAMMA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_3), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x93); + break; case UC_SUBSCRIPT_SIX: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_2), T(KP_0), T(KP_8), T(KP_6), T(KP_ENTER), END - ); + unicode_action_function(0x20, 0x86); + break; case UC_GREEK_CAPITAL_LETTER_DELTA: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_3), T(KP_9), T(KP_4), T(KP_ENTER), END - ); + unicode_action_function(0x03, 0x94); + break; case UC_VULGAR_FRACTION_ONE_HALF: - return MACRODOWN( - D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), T(KP_0), T(KP_0), T(B), T(D), T(KP_ENTER), END - ); - default: - break; - } + unicode_action_function(0x00, 0xbd); + break; + default: + break; } return MACRO_NONE; }; diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md index 1dc019ab05..2c9e0a8376 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md @@ -2,14 +2,15 @@ Compile this file to a `keymap.c` file using `compile_keymap.py` - compile_keymap.py keymaps/german-manuneo/keymap.md + python compile_keymap.py keymaps/german-manuneo/keymap.md + +Tested with python 2.7 and python 3.4 # Layout Config { "layout": "ergodox_ez", - "includes_dir": "quantum/", "keymaps_includes": [ "ergodox_ez.h", "action_layer.h", @@ -17,8 +18,6 @@ Compile this file to a `keymap.c` file using `compile_keymap.py` "keymap_extras/keymap_german.h", ], "key_prefixes": ["DE_", "KC_"], - "filler": "-+.'!x", - "separator": "|", "macros": { // TODO: implement macros // "MUC": "", @@ -41,7 +40,7 @@ Compile this file to a `keymap.c` file using `compile_keymap.py` !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - | | |LGUI|LALT|LCTL| !LALT| |LEFT|DOWN|RGHT| + | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| '------------------------' '------------------------' .-----------. .-----------. |INS |TG(2)| !M(UM)|DELT | @@ -187,46 +186,3 @@ http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html | | | | ! | | | '-----------------' '-----------------' - -## Layer 7 - - .------------------------------------.------------------------------------. - | | | | | | | | | | | | | | | - !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! - | | | | | | | | | | | | | | | - !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - | | | | | | |-----!-----! | | | | | | - !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - | | | | | | | | | | | | | | | - '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------' '------------------------' - .-----------. .-----------. - | | | ! | | - .-----+-----+-----! !-----+-----+-----. - ! ! | | ! | ! ! - ! ! !-----! !-----! ! ! - | | | | ! | | | - '-----------------' '-----------------' - - -## Layer 8 - - .------------------------------------.------------------------------------. - | | | | | | | | | | | | | | | - !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! - | | | | | | | | | | | | | | | - !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - | | | | | | |-----!-----! | | | | | | - !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! - | | | | | | | | | | | | | | | - '-----+----+----+----+----+----------'----------+----+----+----+----+-----' - | | | | | | ! | | | | | - '------------------------' '------------------------' - .-----------. .-----------. - | | | ! | | - .-----+-----+-----! !-----+-----+-----. - ! ! | | ! | ! ! - ! ! !-----! !-----! ! ! - | | | | ! | | | - '-----------------' '-----------------' -- cgit v1.2.1 From 22691de580da46c09ba9024f9543e43e115ce2b6 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Sun, 3 Apr 2016 21:46:32 +0200 Subject: add indent to generated keymap --- .../keymaps/german-manuneo/compile_keymap.py | 37 ++++- .../ergodox_ez/keymaps/german-manuneo/keymap.c | 178 ++++++++++----------- 2 files changed, 123 insertions(+), 92 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py index 3d26672762..7076a6ecb2 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py @@ -43,6 +43,9 @@ KEYBOARD_LAYOUTS = { ] } +ROW_INDENTS = { + 'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0] +} BLANK_LAYOUTS = [ # Compact Layout @@ -591,16 +594,43 @@ def unicode_macro_cases(config): ) -def iter_keymap_lines(keymap): +def iter_keymap_lines(keymap, row_indents=None): + col_widths = {} + col = 0 + # first pass, figure out the column widths + prev_row_index = None + for code, row_index in keymap.values(): + if row_index != prev_row_index: + col = 0 + if row_indents: + col = row_indents[row_index] + col_widths[col] = max(len(code), col_widths.get(col, 0)) + prev_row_index = row_index + col += 1 + + # second pass, yield the cell values + col = 0 prev_row_index = None for key_index in sorted(keymap): code, row_index = keymap[key_index] if row_index != prev_row_index: + col = 0 yield "\n" + if row_indents: + for indent_col in range(row_indents[row_index]): + pad = " " * (col_widths[indent_col] - 4) + yield (" /*-*/" + pad) + col = row_indents[row_index] + else: + yield pad yield " {}".format(code) if key_index < len(keymap) - 1: yield "," + # This will be yielded on the next iteration when + # we know that we're not at the end of a line. + pad = " " * (col_widths[col] - len(code)) prev_row_index = row_index + col += 1 def iter_keymap_parts(config, keymaps): @@ -628,11 +658,12 @@ def iter_keymap_parts(config, keymaps): # comment layer_lines = config['layer_lines'][layer_name] prefixed_lines = " * " + " * ".join(layer_lines) - yield "/*\n{}*/\n".format(prefixed_lines) + yield "/*\n{} */\n".format(prefixed_lines) # keymap codes keymap = keymaps[layer_name] - keymap_lines = "".join(iter_keymap_lines(keymap)) + row_indents = ROW_INDENTS.get(config['layout']) + keymap_lines = "".join(iter_keymap_lines(keymap, row_indents)) yield "[L{0}] = KEYMAP({1}\n),\n".format(i, keymap_lines) yield "};\n\n" diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c index 92b712bd8a..d8911af412 100644 --- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c +++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c @@ -127,22 +127,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE| * '-----------------' '-----------------' -*/ + */ [L0] = KEYMAP( - MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, - MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, - MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, - MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, - KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, - KC_INS, TG(2), - KC_APP, - KC_BSPC, KC_LSFT, KC_ESC, - DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, - TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, - DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, - KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, - KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, - M(UM), KC_DELT, + MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, + MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME, + MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, + MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END, + KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2), + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP, + /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, KC_LSFT, KC_ESC, + DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, + TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z, + /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, + KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, + /*-*/ /*-*/ KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, + M(UM), KC_DELT, KC_PGUP, KC_PGDN, KC_ENTER, KC_SPACE ), @@ -165,21 +165,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L1] = KEYMAP( - KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, - KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, - KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS, + KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC, + KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, - KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, - DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, - KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, - KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS, + KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS, + /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST, + KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -203,21 +203,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L2] = KEYMAP( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, - KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, - KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, - KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, - KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, + /*-*/ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS, + KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS, + /*-*/ /*-*/ KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -241,24 +241,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L3] = KEYMAP( - KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL), - KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS, - KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), - KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL), + KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS, + KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET), + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, + KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), KC_TRNS, KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS, - KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS, - M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS, - KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS ), /* * .------------------------------------.------------------------------------. @@ -279,24 +279,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L4] = KEYMAP( - KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS, - KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS, - KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON), - KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS, - KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA), - M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA), - KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS, + KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA), + /*-*/ M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA), + KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI), + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS ), /* * .------------------------------------.------------------------------------. @@ -317,24 +317,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L5] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS, - KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON), - KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA), - M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS, - KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON), + KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA), + /*-*/ M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS, + KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI), + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS ), /* * .------------------------------------.------------------------------------. @@ -355,21 +355,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ! ! !-----! !-----! ! ! * | | | | ! | | | * '-----------------' '-----------------' -*/ + */ [L6] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, + /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -- cgit v1.2.1 From a90d68739a29debe93bdf9e26f2c126e8eca46e9 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 3 Apr 2016 16:00:10 -0400 Subject: music mode file --- keyboard/preonic/Makefile | 4 +- keyboard/preonic/keymaps/default/keymap.c | 2 +- keyboard/preonic/keymaps/lock/keymap.c | 2 +- keyboard/preonic/preonic.c | 16 +- keyboard/preonic/preonic.h | 4 +- keyboard/preonic/preonic_music.hex | 1713 +++++++++++++++++++++++++++++ 6 files changed, 1725 insertions(+), 16 deletions(-) create mode 100644 keyboard/preonic/preonic_music.hex diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile index 89c48e50a9..664aff7321 100644 --- a/keyboard/preonic/Makefile +++ b/keyboard/preonic/Makefile @@ -139,8 +139,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend # NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls -# AUDIO_ENABLE = YES # Audio output on port C6 +MIDI_ENABLE = YES # MIDI controls +AUDIO_ENABLE = YES # Audio output on port C6 # UNICODE_ENABLE = YES # Unicode # BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time. diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c index 392197f1d8..5099b65817 100644 --- a/keyboard/preonic/keymaps/default/keymap.c +++ b/keyboard/preonic/keymaps/default/keymap.c @@ -88,7 +88,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return MACRO_NONE; }; -void * matrix_init_user(void) { +void matrix_init_user(void) { #ifdef AUDIO_ENABLE init_notes(); play_notes(&start_up, 9, false); diff --git a/keyboard/preonic/keymaps/lock/keymap.c b/keyboard/preonic/keymaps/lock/keymap.c index e253f25819..cfb7f08035 100644 --- a/keyboard/preonic/keymaps/lock/keymap.c +++ b/keyboard/preonic/keymaps/lock/keymap.c @@ -99,7 +99,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return MACRO_NONE; }; -void * matrix_init_user(void) { +void matrix_init_user(void) { init_notes(); play_notes(&start_up, 9, false); } diff --git a/keyboard/preonic/preonic.c b/keyboard/preonic/preonic.c index a678f7b09f..e9ececb6d8 100644 --- a/keyboard/preonic/preonic.c +++ b/keyboard/preonic/preonic.c @@ -1,16 +1,16 @@ #include "preonic.h" __attribute__ ((weak)) -void * matrix_init_user(void) { +void matrix_init_user(void) { }; __attribute__ ((weak)) -void * matrix_scan_user(void) { +void matrix_scan_user(void) { }; -void * matrix_init_kb(void) { +void matrix_init_kb(void) { #ifdef BACKLIGHT_ENABLE backlight_init_ports(); #endif @@ -24,13 +24,9 @@ void * matrix_init_kb(void) { DDRE |= (1<<6); PORTE |= (1<<6); - if (matrix_init_user) { - (*matrix_init_user)(); - } + matrix_init_user(); }; -void * matrix_scan_kb(void) { - if (matrix_scan_user) { - (*matrix_scan_user)(); - } +void matrix_scan_kb(void) { + matrix_scan_user(); }; diff --git a/keyboard/preonic/preonic.h b/keyboard/preonic/preonic.h index 42d2123290..6cfe14726a 100644 --- a/keyboard/preonic/preonic.h +++ b/keyboard/preonic/preonic.h @@ -44,7 +44,7 @@ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \ } -void * matrix_init_user(void); -void * matrix_scan_user(void); +void matrix_init_user(void); +void matrix_scan_user(void); #endif diff --git a/keyboard/preonic/preonic_music.hex b/keyboard/preonic/preonic_music.hex new file mode 100644 index 0000000000..603693bffb --- /dev/null +++ b/keyboard/preonic/preonic_music.hex @@ -0,0 +1,1713 @@ +:100000000C9410030C9454030C9454030C94540358 +:100010000C9454030C9454030C9454030C94540304 +:100020000C9454030C9454030C9410170C94E21782 +:100030000C94BD290C9454030C9454030C94540355 +:100040000C9454030C9454030C9454030C945403D4 +:100050000C9454030C942A2A0C9454030C945403C7 +:100060000C9454030C9454030C9454030C945403B4 +:100070000C9454030C9454030C9454030C945403A4 +:100080000C94440E0C9454030C9454030C94540399 +:100090000C9454030C9454030C9454030C94540384 +:1000A0000C9454030C9454030C9454030763423689 +:1000B000B79BD8A71A39685618AEBAAB558C1D3CF9 +:1000C000B7CC5763BD6DEDFD753EF6177231BF00BD +:1000D0000000803F08000000BE922449123EABAAF7 +:1000E000AA2ABECDCCCC4C3E00000080BEABAAAA52 +:1000F000AA3E00000000BF000000803F000000009A +:1001000000084178D3BB4387D1133D190E3CC3BDD2 +:100110004282AD2B3E68EC8276BED98FE1A93E4C7F +:1001200080EFFFBE01C4FF7F3F00000000003500EC +:100130001E001F00200021002200230024002500B3 +:10014000260027002A002B0014001A0008001500C2 +:1001500017001C0018000C00120013002A002900D0 +:1001600004001600070009000A000B000D000E0035 +:100170000F0033003400E1001D001B0006001900D1 +:10018000050011001000360037003800280000304C +:10019000E000E200E30003522C002C000452500067 +:1001A000510052004F0035001E001F0020002100AA +:1001B0002200230024002500260027002A002B000F +:1001C00014001A00090013000A000D000F001800A7 +:1001D0001C0033002A002900040015001600170037 +:1001E00007000B00110008000C0012003400E100B1 +:1001F0001D001B000600190005000E00100036004F +:100200003700380028000030E000E200E30003522D +:100210002C002C0004525000510052004F003500B9 +:100220001E001F00200021002200230024002500C2 +:10023000260027002A002B00340036003700130068 +:100240001C0009000A00060015000F002A00290002 +:1002500004001200080018000C0007000B00170033 +:10026000110016003800E100330014000D000E00EC +:100270001B00050010001A0019001D0028000030A6 +:10028000E000E200E30003522C002C000452500076 +:10029000510052004F0035001E001F0020002100B9 +:1002A0002200230024002500260027002A00350212 +:1002B0001E021F0220022102220223022402250222 +:1002C000260227022A0001003A003B003C003D00C4 +:1002D0003E003F002D022E022F02300231020100AB +:1002E00040004100420043004400450000530153D8 +:1002F0000253005001000100010001000100010053 +:10030000010001000100AB00AA00A900AE00350009 +:100310001E001F00200021002200230024002500D1 +:10032000260027002A0035001E001F0020002100A3 +:100330002200230024002500260027002A000100B7 +:100340003A003B003C003D003E003F002D002E00E7 +:100350002F00300031000100400041004200430006 +:1003600044004500005301530253005001000100B6 +:100370000100010001000100010001000100AB00CB +:10038000AA00A900AE00006000600060006000608C +:10039000006000600060006000600060006000605D +:1003A000006000600060006000600060006000604D +:1003B000006000600060006000600060006000603D +:1003C000006000600060006000600060006000602D +:1003D000006000600060006000600060006000601D +:1003E00000600060006000300100010001000100B9 +:1003F00001000100010000600060006000602A034D +:1004000054006800650020005000720065006F0015 +:100410006E006900630020004B00650079006200F7 +:100420006F0061007200640000002C034F00720036 +:10043000740068006F006C0069006E006500610068 +:10044000720020004B006500790062006F006100BF +:100450007200640073000000040309040902D00064 +:10046000060100A0FA0904000001030101000921AE +:1004700011010001223F000705810308000A090459 +:1004800001000103010200092111010001224D00B8 +:100490000705820308000A090402000103000000A6 +:1004A0000921110100012236000705830308000A13 +:1004B00009040300020300000009211101000122C8 +:1004C0002000070584032000010705040320000124 +:1004D00009040400000101000009240100010900D1 +:1004E00001050904050002010300000724010001C1 +:1004F0004100062402010100062402020200092430 +:1005000003010301020100092403020401010100A7 +:100510000905060240000500000525010101090545 +:1005200085024000050000052501010312011001AC +:1005300000000008EDFE61600100010200010631CB +:10054000FF0974A1010975150025FF952075088123 +:10055000020976150025FF952075089102C0050156 +:100560000980A101850216010026B7001A01002AA0 +:10057000B700751095018100C0050C0901A1018526 +:1005800003160100269C021A01002A9C0275109590 +:10059000018100C005010902A1010901A1000509AD +:1005A000190129051500250195057501810295019F +:1005B000750381010501093009311581257F9502F7 +:1005C0007508810609381581257F95017508810612 +:1005D000050C0A38021581257F950175088106C032 +:1005E000C005010906A101050719E029E715002545 +:1005F00001950875018102950175088101050819A9 +:100600000129059505750191029501750391010573 +:1006100007190029FF150025FF950675088100C000 +:1006200011241FBECFEFDAE0DEBFCDBF04B603FE5C +:1006300024C08091050490910604A0910704B09114 +:1006400008048730904BA740B04BB9F410920504D2 +:1006500010920604109207041092080414BE84B786 +:10066000877F84BF88E10FB6F89480936000109272 +:1006700060000FBEE0E0F8E3099512E0A0E0B1E011 +:10068000E6ECF9E602C005900D92A832B107D9F761 +:1006900014E0A8E2B2E001C01D92A530B107E1F775 +:1006A0000E94C8130C94E1340C94000061111DC029 +:1006B000FC018281882351F085EE0E94901E0E94E9 +:1006C000BC3080E290E0A0E0B0E007C085EE0E9480 +:1006D000581F81E090E0A0E0B0E08093E1029093A9 +:1006E000E202A093E302B093E40280E090E0089578 +:1006F0000E94370E40E050E069E070E080E091E059 +:100700000C94880F08950E948B036E9A769A0C942D +:1007100078030C948203279A2F988FEF9FEF909382 +:100720008700809386008AE08093800089E180932F +:1007300081000C94653081110BC080918000877F0F +:100740008093800010928D0010928C002F98089555 +:100750002F98833041F480918000886080938000DE +:100760008FEF9FEF12C0909180009860909380006F +:1007700023E030E0281B3109220F331F8FEF9FEF5A +:1007800002C0969587952A95E2F790938D00809305 +:100790008C0008958B3B910568F4883A910530F5FB +:1007A000853A9105C0F48430910598F4019709F0D9 +:1007B0006FC071C0803E910508F46AC0883E910503 +:1007C00040F09C01205F31092031310508F060C004 +:1007D0005CC09C01A1C0853A910509F45FC0863ACE +:1007E000910509F45EC023E830E496C0883A91058B +:1007F00009F45AC0893A910509F459C08A3A910519 +:1008000009F458C08B3A910509F457C08C3A910508 +:1008100009F456C08D3A910509F455C0803B910505 +:1008200009F454C08E3A910509F453C08F3A9105EA +:1008300009F452C0813B910509F451C0823B9105F6 +:1008400009F450C0833B910509F44FC0843B9105E6 +:1008500009F44EC0853B910509F44DC0863B9105D6 +:1008600009F44CC0873B910509F44BC0883B9105C6 +:1008700009F44AC0893B910509F449C08A3B9105B6 +:1008800009F048C02AE236E447C09C01306544C004 +:1008900020E030E041C021E030E03EC021E830E41B +:1008A0003BC022E830E438C022EE34E435C029EE03 +:1008B00034E432C02AEE34E42FC025EB34E42CC0FB +:1008C00026EB34E429C027EB34E426C02CEC34E4D6 +:1008D00023C02DEC34E420C023E835E41DC02AE811 +:1008E00035E41AC022E935E417C024E935E414C020 +:1008F00021E236E411C023E236E40EC024E236E4FD +:100900000BC025E236E408C026E236E405C027E243 +:1009100036E402C020E034E4C90108959CE0799FE8 +:10092000F00111249CE3899FE00DF11D1124E60FD5 +:10093000F11DEE0FFF1FE25DFE4F25913491C901BD +:100940000895880F991F82559040FC01259134919C +:10095000C9010895880F991F825D9E4FFC01259162 +:100960003491C90108950E948E049C019A958115C5 +:100970009F4110F4C9010895C90190528115904119 +:1009800028F4C9019F700E94AA040895C9019053D8 +:100990008115904120F4C9019927906C0895C901EF +:1009A0009054409728F4C9018F709927946D089549 +:1009B000203180E4380719F480E091ED0895213169 +:1009C00090E4390719F480E090ED0895223140E475 +:1009D000340719F480E092ED0895233180E438075C +:1009E00019F480E093ED0895211590E53907A1F4FD +:1009F0000E948B2340E065E088E491E00E94880F2C +:100A00002FEF44E38CE0215040408040E1F700C0EC +:100A100000000E944F2A1EC1213090E5390731F4B1 +:100A20008091F10281608093F10214C1C901905557 +:100A30008115904108F062C0432F55274F7055270C +:100A400041305105F9F4C90174E0880F991F7A9576 +:100A5000E1F788279370B901E3E0660F771FEA9505 +:100A6000E1F760767727862B972B9C6823703327D6 +:100A700002C0440F551F2A95E2F74F715527842B6A +:100A8000952B08954230510529F4922F8827816FC4 +:100A9000906A089543305105B9F4C90153E0880FB5 +:100AA000991F5A95E1F7807E97702370332741E0B4 +:100AB00050E002C0440F551F2A95E2F74F715527A9 +:100AC000842B952B9C6808954430510589F5C90104 +:100AD00043E0880F991F4A95E1F7807E9770237055 +:100AE000332741E050E002C0440F551F2A95E2F73A +:100AF0004F715527842B952B9A680895C9019056FC +:100B00008115904118F4C901906F0895C90190575B +:100B10008115904120F4C9019F7090620895C90128 +:100B200090588115904120F4C9019F70906A0895F2 +:100B3000203E3105E0F4203C310568F521333105D4 +:100B400009F475C048F42932310509F46BC02A3222 +:100B5000310509F07BC075C02933310501F1223818 +:100B60003105E9F02533310509F070C051C0233E4D +:100B70003105B1F140F4203E3105D1F0223E31057E +:100B800009F064C01CC0263E310579F1273E3105CD +:100B900009F05CC038C0C9010E94A1040895809189 +:100BA000020380FD02C081FF51C080EE90E04FC083 +:100BB0008091020380FFF9CF89E390E048C08091E3 +:100BC000020382FF0AC08091020384FF03C080E019 +:100BD00090E03DC083EE90E03AC082EE90E037C0F6 +:100BE0008091020382FFEFCFF8CF8091020383FF51 +:100BF00007C08091020384FDEACF87EE90E027C012 +:100C000086EE90E024C08091020383FFF2CFF8CFFC +:100C10008091020385FF03C089E290E018C085E35C +:100C200090E015C08091020385FDF9CFF5CF80914A +:100C3000020386FF03C08AE290E009C081E390E0EE +:100C400006C08091020386FDF9CFF5CFC9010E944D +:100C5000CA030895089508950C942B065F926F922D +:100C60007F928F929F92AF92BF92CF92DF92EF923C +:100C7000FF920F931F93CF93DF93CDB7DEB72A97E1 +:100C80000FB6F894DEBF0FBECDBF9E012F5F3F4F62 +:100C90004E018BE0880E911C60E070E000E010E0F7 +:100CA000E12CF12CC12CD12CA12CB12C8AE0782E76 +:100CB000622E532E41E050E0E3E9F1E0A62DB52D80 +:100CC000872D01900D928A95E1F7F901819191911B +:100CD0009F01FC01E07FFF27E032F10559F48F709E +:100CE0009927FA0102C0EE0FFF1F8A95E2F7AE2A9C +:100CF000BF2A37C0E033F10559F48F709927FA0104 +:100D000002C0EE0FFF1F8A95E2F7CE2ADF2A29C024 +:100D1000E034F10559F48F709927FA0102C0EE0F03 +:100D2000FF1F8A95E2F7EE2AFF2A1BC0E035F10586 +:100D300059F48F709927FA0102C0EE0FFF1F8A95B0 +:100D4000E2F70E2B1F2B0DC0E036F10551F48F702A +:100D50009927FA0102C0EE0FFF1F8A95E2F76E2B6A +:100D60007F2B2815390509F0A7CF94B18A2D8095DE +:100D7000892384B985B18A2985B997B18C2D80954D +:100D8000892387B988B18C2988B99AB18E2D80952D +:100D900089238AB98BB18E298BB99DB1802F80951B +:100DA00089238DB98EB1802B8EB990B3862F809513 +:100DB000892380BB81B3862B81BB2A960FB6F8941A +:100DC000DEBF0FBECDBFDF91CF911F910F91FF907E +:100DD000EF90DF90CF90BF90AF909F908F907F90DB +:100DE0006F905F9008955F926F927F928F929F9223 +:100DF000AF92BF92CF92DF92EF92FF920F931F9329 +:100E0000CF93DF93CDB7DEB768970FB6F894DEBF08 +:100E10000FBECDBF85B7806885BF85B7806885BFA9 +:100E20000E942E069E012F5F3F4F4E0189E1880EE2 +:100E3000911C60E070E000E010E0E12CF12CC12C8E +:100E4000D12CA12CB12C98E1792E622E532E41E0A9 +:100E500050E0EDE9F1E0A62DB52D872D01900D9222 +:100E60008A95E1F7F901819191919F01FC01E07F61 +:100E7000FF27E032F10559F48F709927FA0102C07B +:100E8000EE0FFF1F8A95E2F7AE2ABF2A37C0E03384 +:100E9000F10559F48F709927FA0102C0EE0FFF1F78 +:100EA0008A95E2F7CE2ADF2A29C0E034F10559F409 +:100EB0008F709927FA0102C0EE0FFF1F8A95E2F7A3 +:100EC000EE2AFF2A1BC0E035F10559F48F709927EF +:100ED000FA0102C0EE0FFF1F8A95E2F70E2B1F2BBF +:100EE0000DC0E036F10551F48F709927FA0102C068 +:100EF000EE0FFF1F8A95E2F76E2B7F2B2815390521 +:100F000009F0A7CF94B18A2D8095892384B985B142 +:100F10008A2985B997B18C2D8095892387B988B1A5 +:100F20008C2988B99AB18E2D809589238AB98BB185 +:100F30008E298BB99DB1802F809589238DB98EB173 +:100F4000802B8EB990B3862F8095892380BB81B387 +:100F5000862B81BB10922902109228021092330234 +:100F60001092320210922B0210922A021092350235 +:100F70001092340210922D0210922C02109237021D +:100F80001092360210922F0210922E021092390205 +:100F900010923802109231021092300210923B02ED +:100FA00010923A0268960FB6F894DEBF0FBECDBF1E +:100FB000DF91CF911F910F91FF90EF90DF90CF9035 +:100FC000BF90AF909F908F907F906F905F900C94A8 +:100FD00083035F926F927F928F929F92AF92BF92A4 +:100FE000CF92DF92EF92FF920F931F93CF93DF93F5 +:100FF000CDB7DEB7A2970FB6F894DEBF0FBECDBF58 +:101000007E0149E1E40EF11C22E3C22E22E0D22E41 +:101010005E0153E2A50EB11C3AE0532E470101E0F8 +:1010200010E048E1642E55E0752EE3E9F1E0D401CB +:10103000852D01900D928A95E1F7F70181919191AB +:101040007F019C01207F33272032310589F424B1B0 +:101050008F709927A80102C0440F551F8A95E2F7A7 +:10106000CA01242B24B995B18095892385B94FC035 +:101070002033310589F427B18F709927F80102C018 +:10108000EE0FFF1F8A95E2F7CF012E2B27B998B1FB +:101090008095892388B93BC02034310589F42AB171 +:1010A0008F709927A80102C0440F551F8A95E2F757 +:1010B000CA01242B2AB99BB1809589238BB927C0FB +:1010C0002035310589F42DB18F709927F80102C0C0 +:1010D000EE0FFF1F8A95E2F7CF012E2B2DB99EB19F +:1010E000809589238EB913C02036310581F420B351 +:1010F0008F709927A80102C0440F551F8A95E2F707 +:10110000CA01242B20BB91B38095892381BB50EA6F +:101110005A95F1F7BE016F5F7F4F80E090E020E0CD +:1011200030E0EDE9F1E0DE011196462D01900D92DF +:101130004A95E1F7FB0141915191BF01FA01E07F2E +:10114000FF27E032F10511F4E3B113C0E033F105FC +:1011500011F4E6B10EC0E034F10511F4E9B109C0B3 +:10116000E035F10511F4ECB104C0E036F105B9F455 +:10117000EFB1F0E04F70552702C0F595E7954A951D +:10118000E2F7E0FD08C0A801022E02C0440F551F7F +:101190000A94E2F702C040E050E0842B952B2F5FC9 +:1011A0003F4F2C30310509F0BCCFF6012081318151 +:1011B0002817390721F091838083709270010E9473 +:1011C0002E06F2E0CF0ED11CEA14FB0409F02DCF5D +:1011D000809170018823A1F1815080937001882350 +:1011E00039F08FE99FE00197F1F700C0000028C0B7 +:1011F00080913202909133029093290280932802C9 +:10120000809134029091350290932B0280932A02B0 +:10121000809136029091370290932D0280932C0298 +:10122000809138029091390290932F0280932E0280 +:1012300080913A0290913B02909331028093300268 +:101240000E94890381E0A2960FB6F894DEBF0FBE1C +:10125000CDBFDF91CF911F910F91FF90EF90DF9065 +:10126000CF90BF90AF909F908F907F906F905F9046 +:101270000895E82FF0E0EE0FFF1FE85DFD4F80813D +:10128000918108950895CF92DF92EF92FF920F938C +:101290001F93CF93DF93CDB7DEB7CC5BD2400FB6B1 +:1012A000F894DEBF0FBECDBF8C01862F642F88233C +:1012B00079F0F80192812FE7482F992329F084E0F3 +:1012C00093E00E94EC1904C084E093E00E94FC19B2 +:1012D000F80180818B3091F59181943009F0A8C29A +:1012E0009281809173019923B1F08F5F8093730194 +:1012F00096E4E5EBF1E0DE01A958BD4F01900D92B7 +:101300009A95E1F7E0917101F0917201EE0FFF1FE4 +:1013100027E732E036C096E4E5EBF1E0DE01AF5CB2 +:10132000BD4F01900D929A95E1F7E0917101F09116 +:101330007201EE0FFF1F21E332E093C08A3009F003 +:10134000CBC0F8019181943009F072C292818091F2 +:101350007301992309F473C081508093730196E45B +:10136000E5EBF1E0DE01A551BE4F01900D929A959B +:10137000E1F7E0917101F0917201EE0FFF1F2BEE8A +:1013800031E02C0F3D1FE20FF31F60817181680F68 +:10139000711D882777FD8095982F0E94003220E0EC +:1013A00030E040E451E40E94653120E030E040E864 +:1013B00050E40E94FD309B01AC0160E070E080E0F1 +:1013C00090E40E94173321E230ED42E053E40E94A2 +:1013D000B4324CE050E00E94E30F20E04BE760E0C5 +:1013E00084E093E00E94DC1920E04BE761E084E0B8 +:1013F00093E00E94DC1920E04BE762E084E093E098 +:101400000E94DC1920E04BE763E084E093E00E9457 +:10141000DC1920E04BE764E084E093E0C454DD4F46 +:101420000FB6F894DEBF0FBECDBFDF91CF911F91F5 +:101430000F91FF90EF90DF90CF900C94DC1996E421 +:10144000E5EBF1E0DE01AB55BE4F01900D929A95B0 +:10145000E1F7E0917101F0917201EE0FFF1F25EAB3 +:1014600031E02C0F3D1FE20FF31F60817181680F87 +:10147000711D882777FD8095982F0E94003220E00B +:1014800030E040E451E40E94653120E030E040E883 +:1014900050E40E94FD309B01AC0160E070E080E010 +:1014A00090E40E94173321E230ED42E053E40E94C1 +:1014B000B4320E94130DC454DD4F0FB6F894DEBF52 +:1014C0000FBECDBFDF91CF911F910F91FF90EF9095 +:1014D000DF90CF900C94E60C893009F0D3C0F8016E +:1014E0009181943009F0A4C19281992309F4A0C19B +:1014F0008091710190917201019690937201809395 +:10150000710120E04BE760E084E093E00E94DC1989 +:1015100020E04BE761E084E093E00E94DC1920E0EA +:101520004BE762E084E093E00E94DC1920E04BE7A7 +:1015300063E084E093E00E94DC1920E04BE764E084 +:1015400084E093E00E94DC190E94E60C00E010E0C9 +:10155000E6E4FE2E80917301E5EBF1E0DE01A15A95 +:10156000BE4F9F2D01900D929A95E1F7E091710188 +:10157000F0917201E00FF11FEE0FFF1F2FE531E038 +:101580002C0F3D1FE20FF31F60817181680F711DE9 +:10159000882777FD8095982F0E94003220E030E068 +:1015A00040E451E40E94653120E030E040E850E43E +:1015B0000E94FD309B01AC0160E070E080E090E4AF +:1015C0000E94173321E230ED42E053E40E94B4322E +:1015D0004CE050E00E94E30F3FEF87EE93E0315084 +:1015E00080409040E1F700C0000080917301E5EB7E +:1015F000F1E0DE01A75EBE4F9F2D01900D929A95FE +:10160000E1F7E0917101F0917201E00FF11FEE0F2F +:10161000FF1F29E131E02C0F3D1FE20FF31F608116 +:101620007181680F711D882777FD8095982F0E9422 +:10163000003220E030E040E451E40E94653120E0D7 +:1016400030E040E850E40E94FD309B01AC0160E0D6 +:1016500070E080E090E40E94173321E230ED42E038 +:1016600053E40E94B4320E94130D8FEF9CE7019760 +:10167000F1F700C000000F5F1F4F0830110509F09F +:1016800069CF94C1883009F0D3C0F80191819430BA +:1016900009F0CEC09281992309F4CAC080917101EA +:1016A000909172010197909372018093710120E0F3 +:1016B0004BE760E084E093E00E94DC1920E04BE718 +:1016C00061E084E093E00E94DC1920E04BE762E0F7 +:1016D00084E093E00E94DC1920E04BE763E084E0C3 +:1016E00093E00E94DC1920E04BE764E084E093E0A3 +:1016F0000E94DC190E94E60C00E010E056E4F52E92 +:1017000080917301E5EBF1E0DE01AD52BF4F9F2DFB +:1017100001900D929A95E1F7E0917101F0917201BB +:10172000E00FF11FEE0FFF1F23ED30E02C0F3D1FE8 +:10173000E20FF31F60817181680F711D882777FDAB +:101740008095982F0E94003220E030E040E451E480 +:101750000E94653120E030E040E850E40E94FD3016 +:101760009B01AC0160E070E080E090E40E941733E0 +:1017700021E230ED42E053E40E94B4324CE050E00C +:101780000E94E30F3FEF87EE93E03150804090409E +:10179000E1F700C0000080917301E5EBF1E0DE01AC +:1017A000A357BF4F9F2D01900D929A95E1F7E091BD +:1017B0007101F0917201E00FF11FEE0FFF1F2DE894 +:1017C00030E02C0F3D1FE20FF31F60817181680F25 +:1017D000711D882777FD8095982F0E94003220E0A8 +:1017E00030E040E451E40E94653120E030E040E820 +:1017F00050E40E94FD309B01AC0160E070E080E0AD +:1018000090E40E94173321E230ED42E053E40E945D +:10181000B4320E94130D8FEF9CE70197F1F700C0DF +:1018200000000F5F1F4F0830110509F069CFBEC0DF +:10183000F801228190917301222309F45DC026E40E +:10184000E5EBF1E0DE01A95BBF4F01900D922A9517 +:10185000E1F7E0917101F0917201E80FF11DEE0FD7 +:10186000FF1F27E430E02C0F3D1FE20FF31F6081C4 +:101870007181690F711D882777FD8095982F0E94CF +:10188000003220E030E040E451E40E9465316B0119 +:101890007C01F801818165E070E0681B710988278F +:1018A00077FD8095982F0E9400329B01AC01C70103 +:1018B000B6010E94FD309B01AC0160E070E080E069 +:1018C00090E40E94173321E230ED42E053E40E949D +:1018D000B4324FE050E0C454DD4F0FB6F894DEBF91 +:1018E0000FBECDBFDF91CF911F910F91FF90EF9071 +:1018F000DF90CF900C94E30F26E4E5EBF1E0DE01FE +:10190000119601900D922A95E1F7E0917101F09105 +:101910007201E80FF11DEE0FFF1F21E030E02C0FE8 +:101920003D1FE20FF31F60817181690F711D8827D0 +:1019300077FD8095982F0E94003220E030E040E44F +:1019400051E40E9465316B017C01F801818165E001 +:1019500070E0681B7109882777FD8095982F0E9499 +:1019600000329B01AC01C701B6010E94FD309B0112 +:10197000AC0160E070E080E090E40E94173321E267 +:1019800030ED42E053E40E94B432C454DD4F0FB650 +:10199000F894DEBF0FBECDBFDF91CF911F910F91A5 +:1019A000FF90EF90DF90CF900C94130DC454DD4F57 +:1019B0000FB6F894DEBF0FBECDBFDF91CF911F9160 +:1019C0000F91FF90EF90DF90CF90089510928702D3 +:1019D00010928602809171008D7F809371008091BA +:1019E00090008F77809390001092480210924702E7 +:1019F0001092800210928102109282021092830251 +:101A000010927F0210927E02EEE5F2E0AEE4B2E0C8 +:101A100011921192119211921D921D9282E0EE3755 +:101A2000F807B1F708956F927F928F929F92AF92CD +:101A3000BF92CF92DF92EF92FF920F931F93CF93BB +:101A4000DF936B017C010EE712E04CE5A42E42E02F +:101A5000B42EC7E0D0E0A7019601F80192918291DF +:101A6000729162918F010E946131882349F0219720 +:101A7000F2E0AF1AB108CF3F8FEFD80761F734C05B +:101A8000F8011082118212821382F50111821082F4 +:101A9000FE01EE0FFF1FEE0FFF1FE25AFD4FDE01AA +:101AA000AA0FBB1FA25BBD4FCE011AC00196448195 +:101AB0005581668177814083518362837383148269 +:101AC00015821682178212962D913C9113971196CA +:101AD0003C932E9313961C921E9212973496129654 +:101AE0008730910519F7C3CF8091860290918702C4 +:101AF000019797FD05C0909387028093860204C0EA +:101B00001092870210928602E0918602F09187027D +:101B10003097C9F4809171008D7F8093710080911E +:101B200090008F7780939000109280021092810233 +:101B3000109282021092830210927F0210927E0213 +:101B40001092470285C03197DF01AA0FBB1FAA0F71 +:101B5000BB1FA25ABD4FCD90DD90ED90FC90EE0FD3 +:101B6000FF1FE25BFD4FC081D181609080027090C9 +:101B700081028090820290908302A7019601662DD7 +:101B8000772D882D992D0E94613187FF25C0262D44 +:101B9000372D482D592DC701B6010E94FC3020E099 +:101BA00030E04AEF54E40E9465315B018C012A2D3C +:101BB0003B2D402F512F662D772D882D992D0E947A +:101BC000FD303B014C01A7019601772D992D0E9414 +:101BD0006131181664F72EC0A7019601662D772D86 +:101BE000882D992D0E94B032181634F5A701960160 +:101BF000662D772D882D992D0E94FC3020E030E055 +:101C00004AEF54E40E9465315B018C012A2D3B2D83 +:101C1000402F512F662D772D882D992D0E94FC3055 +:101C20003B014C01A7019601772D992D0E94B032FE +:101C300087FFECCF10924D02C0928002D0928102B9 +:101C4000E0928202F0928302D0937F02C0937E02E0 +:101C5000DF91CF911F910F91FF90EF90DF90CF9088 +:101C6000BF90AF909F908F907F906F9008953E9A15 +:101C7000E1E7F0E080818D7F808382E080939000B7 +:101C80008AE18093910008951F920F920FB60F92F0 +:101C90001124CF92DF92EF92FF922F933F934F93B5 +:101CA0005F936F937F938F939F93AF93BF93CF93E4 +:101CB000DF93EF93FF9380914702882309F479C063 +:101CC00020E030E0A9016091800270918102809152 +:101CD0008202909183020E94B03218160CF069C003 +:101CE00020E030E040E251E46091490270914A0204 +:101CF00080914B0290914C020E94B0321816BCF4B5 +:101D00008091840290918502019660918602709183 +:101D100087020E949C3490938502809384021092E3 +:101D2000490210924A0210924B0210924C02C0914A +:101D30008402D0918502CC0FDD1FCC0FDD1FC25A6B +:101D4000DD4F288139814A815B8160E074E284E75C +:101D50009BE40E9465310E94CD317093970060939F +:101D60009600288139814A815B8160E074E284E7D2 +:101D70009BE40E9465310E94CD3175956795709303 +:101D800099006093980020E030E040E85FE36091C4 +:101D9000490270914A0280914B0290914C020E943C +:101DA000FD306093490270934A0280934B029093F6 +:101DB0004C0280914802882309F493C0C0904302EA +:101DC000D0904402E0904502F090460220E030E0DE +:101DD000A901C701B6010E94B0321816F4F4A70198 +:101DE000960160E074E284E79BE40E9465310E9402 +:101DF000CD317093970060939600A701960160E043 +:101E000074E284E79BE40E9465310E94CD317595B0 +:101E10006795709399006093980060913D0270916E +:101E20003E026F5F7F4F70933E0260933D0280E001 +:101E300090E00E94FE3120913F023091400240919B +:101E40004102509142020E94B03287FD4AC0809107 +:101E50003C028F5F80933C029091F1038917A0F0C0 +:101E60008091F603882319F010923C020DC08091F6 +:101E700071008D7F80937100809190008F778093A7 +:101E80009000109248022DC0E091F203F091F3030C +:101E900080913C0298E0899FE00DF11D1124808122 +:101EA0009181A281B3818093430290934402A093D5 +:101EB0004502B093460220E030E040E85EE36481F2 +:101EC0007581868197810E94B43260933F0270933E +:101ED0004002809341029093420210923E0210927F +:101EE0003D02FF91EF91DF91CF91BF91AF919F9113 +:101EF0008F917F916F915F914F913F912F91FF90C3 +:101F0000EF90DF90CF900F900FBE0F901F9018951D +:101F10000F931F93CF93DF9300D0CDB7DEB78C0123 +:101F200080914702882331F04A8369830E94E60C3E +:101F300069814A8181E0809348021093F303009302 +:101F4000F2036093F1034093F6031092490210925A +:101F50004A0210924B0210924C0210923C02F8017D +:101F600040815181628173814093430250934402C6 +:101F7000609345027093460220E030E040E85EE363 +:101F800064817581868197810E94B43260933F029B +:101F900070934002809341029093420210923E025D +:101FA00010923D0280917100826080937100809157 +:101FB00090008068809390000F900F90DF91CF91F8 +:101FC0001F910F9108956F927F928F929F92AF927F +:101FD000BF92CF92DF92EF92FF920F931F93CF9316 +:101FE000DF936B017C01EA018091480281110E941C +:101FF000E60C81E08093470220E030E0A901C701B0 +:10200000B6010E94B03218160CF09AC0609080029F +:1020100070908102809082029090830220E030E0F4 +:10202000A901662D772D882D992D0E94613181118E +:1020300028C0C0928002D0928102E0928202F09287 +:102040008302D0937F02C0937E028091860290919A +:102050008702FC01EE0FFF1FEE0FFF1FE25AFD4F3C +:10206000C082D182E282F382FC01EE0FFF1FE25BAD +:10207000FD4FD183C083019690938702809386029F +:102080005FC0A7019601662D772D882D992D0E949E +:10209000613187FF25C0262D372D482D592DC701C9 +:1020A000B6010E94FC3020E030E04AEF54E40E9488 +:1020B00065315B018C012A2D3B2D402F512F662D60 +:1020C000772D882D992D0E94FD303B014C01A701F1 +:1020D0009601772D992D0E946131181664F7A9CFCA +:1020E000A7019601662D772D882D992D0E94B0327B +:1020F00018160CF09ECFA7019601662D772D882D1E +:10210000992D0E94FC3020E030E04AEF54E40E9418 +:1021100065315B018C012A2D3B2D402F512F662DFF +:10212000772D882D992D0E94FC303B014C01A70191 +:102130009601772D992D0E94B03287FFECCF79CF91 +:10214000809171008260809371008091900080681E +:1021500080939000DF91CF911F910F91FF90EF90AE +:10216000DF90CF90BF90AF909F908F907F906F90B7 +:102170000895809191020895CF93DF9300D01F922C +:10218000CDB7DEB72091FB03243021F523E029836E +:102190009B838A832093E9008FEF06C095ED9A9583 +:1021A000F1F70000882329F09091E800815095FF15 +:1021B000F5CF8091E80085FF0DC040E050E063E07E +:1021C00070E0CE0101960E94A6148091E8008E77FF +:1021D0008093E8000F900F900F90DF91CF910895BA +:1021E000CF93DF9300D01F92CDB7DEB72091FB03D2 +:1021F000243029F522E029839B838A8383E080931E +:10220000E9008FEF06C095ED9A95F1F7000088235D +:1022100029F09091E800815095FFF5CF8091E8007A +:1022200085FF0DC040E050E063E070E0CE01019614 +:102230000E94A6148091E8008E778093E8000F90AA +:102240000F900F90DF91CF9108952091FB032430E0 +:10225000F9F422E02093E9002FEF06C035ED3A951E +:10226000F1F70000222329F03091E800215035FFDA +:10227000F5CF2091E80025FF0BC040E050E065E07D +:1022800070E00E94A6148091E8008E778093E800A9 +:102290000895CF93DF93EC018091FB03843041F5E7 +:1022A00081E08093E9008FEF06C095ED9A95F1F7F4 +:1022B0000000882329F09091E800815095FFF5CF28 +:1022C0008091E80085FF14C040E050E068E070E0D5 +:1022D000CE010E94A6148091E8008E778093E800DA +:1022E00088E0FE01A9E8B2E001900D928A95E1F73D +:1022F000DF91CF910895BF92CF92DF92EF92FF923C +:102300000F931F93CF93DF937C01B62EE90100E07A +:1023100010E0C42ED12C0BC04991202F2B0D2F770C +:102320004F776FE0C7010E94DC190F5F1F4F0C153C +:102330001D0594F3DF91CF911F910F91FF90EF90C6 +:10234000DF90CF90BF90089570E06F5F7F4F6F7008 +:1023500077270C94DC190F931F93CF93C42F63300E +:10236000710509F04AC0842F807F803849F1803997 +:1023700009F043C0622F6F7770E080E090E00E9428 +:10238000003220E030E040E451E40E9465319B01DE +:10239000AC0160E070E080E090E40E9417330F77BA +:1023A00010E023E0159507952A95E1F72DEC3CEC1C +:1023B00042E053E40E94B432A8010E94E30F1DC022 +:1023C000622F6F7770E080E090E00E94003220E0A2 +:1023D00030E040E451E40E9465319B01AC0160E0D3 +:1023E00070E080E090E40E9417332DEC3CEC42E07A +:1023F00053E40E94B4320E94130DCC3F29F4CF91D4 +:102400001F910F910C94E60CCF911F910F9108959D +:102410000F931F93CF93DF93CDB7DEB727970FB6F8 +:10242000F894DEBF0FBECDBF8C0114C08A810E941C +:10243000B6199A819D839B819E839C819F83811184 +:102440001EC089818430B1F08730A1F08630A1F0C0 +:102450008530A1F0BE016F5F7F4F84E791E00E945D +:10246000231D8111E3CF84E791E00E94141D0E9497 +:102470008F190DC083E003C082E001C081E0AE018E +:102480004B5F5F4F682FC8010E94491AE3CF279620 +:102490000FB6F894DEBF0FBECDBFDF91CF911F9175 +:1024A0000F910895EF92FF920F93CF93DF9300D097 +:1024B00000D000D0CDB7DEB77B014A832B830C83DD +:1024C000842F2E834D830E94B6192E814D81811158 +:1024D0001BC082E0E816F10479F083E0E816F1040D +:1024E00021F0EA94EF2821F50BC0073F11F487E0B3 +:1024F00001C084E089830BC0273FD9F786E0FACF7B +:10250000473FB9F785E0F6CF42954F704983BE014A +:102510006F5F7F4F84E791E00E94D91C84E791E0D0 +:102520000E94F71C84E791E00E94141D0E948F19FD +:1025300026960FB6F894DEBF0FBECDBFDF91CF91C8 +:102540000F91FF90EF9008958091FA03811109C0D7 +:102550000E9495160E94F2168091E200846080939A +:10256000E20008951092FA030895089508950C94D6 +:10257000B229809192028F5F8093920262E30E945F +:102580007C34911135C0109292028091930288237D +:1025900079F18091FB03843049F58091E9008F70D7 +:1025A0009091EC0090FF02C090E801C090E0982B61 +:1025B00084E08093E9008091EB0080FF14C080915B +:1025C000EE0087FD03C00FC01092F1008091E8007B +:1025D00085FDFACF8091E80080FF05C08091E8007A +:1025E0008E778093E8009F709093E9001092930299 +:1025F000089542E061EC81E00E940B1642E061EC3C +:1026000082E00E940B1642E061EC83E00E940B1610 +:1026100042E261EC84E00E940B1642E361E885E04F +:102620000E940B1642E360E886E00C940B16809142 +:10263000FD03833009F454C030F4813071F08230EE +:1026400009F0A5C08CC08A3009F479C08B3009F438 +:102650005FC0893009F09BC020C08091FC03813AA3 +:1026600009F095C08091E800877F8093E800809111 +:10267000000490910104892B21F060E080E090E05B +:1026800003C068E089E892E070E00E944415809100 +:10269000E8008B778093E80008958091FC038132F5 +:1026A00009F075C08091000490910104892B09F014 +:1026B0006EC08091E800877F8093E80005C080911C +:1026C000FB03882309F463C08091E80082FFF7CF01 +:1026D0008091F100809391028091E8008B7753C044 +:1026E0008091FC03813A09F052C0809100049091DE +:1026F0000104892B09F04BC08091E800877F80930B +:10270000E8008091E80080FFFCCF80918A0136C00C +:102710008091FC038132D9F58091000490910104ED +:10272000892BA9F58091E800877F8093E8000E94BB +:1027300042168091FE0380938A010C948B23809132 +:10274000FC03813221F58091E800877F8093E800C7 +:102750000E9442168091FF03809388020895809121 +:10276000FC03813AA1F48091E800877F8093E80020 +:102770008091E80080FFFCCF809188028093F10077 +:102780008091E8008E778093E8000C9442160895BB +:1027900084E093E00E94181A62E572E184E093E01D +:1027A0000E946E1A68E072E184E093E00E94721A5F +:1027B00084B7877F84BF88E10FB6F8948093600068 +:1027C000109260000FBE90E080E80FB6F8948093FE +:1027D0006100909361000FBE0E949C1D0E9495169F +:1027E0000E94F2168091E20084608093E200789467 +:1027F0006BEA71E184E093E00E94141A64EA71E1EB +:1028000084E093E00E940C1A6BE771E184E093E0AE +:102810000E94101A0E94370E0E948F190E949E1D5E +:1028200080E891E00E94481D0BC00E946C298091B5 +:10283000F903882329F00E949A2981110E9490149B +:102840008091FB03853089F384E093E00E94211C92 +:102850000E94A81DF5CF292F332723303105B1F071 +:102860004CF42130310509F44DC02230310509F016 +:102870004EC007C02132310541F12232310591F1BC +:1028800046C0E0EDF0E08CE594E045C0992781304A +:10289000910569F08230910589F0892B09F037C0E4 +:1028A000E8E5F4E0E491F0E088E594E034C0EAE2A1 +:1028B000F4E0E491F0E08AE294E02DC0EEEFF3E082 +:1028C000E491F0E08EEF93E026C0643000F5E62F4F +:1028D000F0E0EE0FFF1FE550FE4F80819181E9E0AF +:1028E000F0E019C0643098F4E62FF0E0DF01AA0FA1 +:1028F000BB1FAD5FBD4F8D919C91E55FFD4FE081AA +:10290000F0E009C0E2E1F0E08CE295E004C0E0E034 +:10291000F0E080E090E0DA018D939C93CF01089580 +:1029200080E189BD82E189BD09B400FEFDCF8091BF +:10293000D8008F7D8093D8008091E00082608093E2 +:10294000E0008091E00081FDFCCF0895BF92CF921E +:10295000DF92EF92FF920F931F93CF93DF937C014F +:102960008B01EA010E946316B82E811133C02097B3 +:1029700031F028813981021B130BE20EF31EC12CAA +:10298000D12C23C08091E80085FD15C08091E8001E +:102990008E778093E800209749F0888199818C0D8B +:1029A0009D1D9983888325E0B22E14C00E94631672 +:1029B000882359F00EC0F70181917F018093F100C7 +:1029C00001501109FFEFCF1ADF0A01151105D1F6E9 +:1029D00001C0B82E8B2DDF91CF911F910F91FF90E9 +:1029E000EF90DF90CF90BF900895BF92CF92DF928B +:1029F000EF92FF920F931F93CF93DF937C018B0194 +:102A0000EA010E946316B82E811133C0209731F07D +:102A100028813981021B130BE20EF31EC12CD12C2D +:102A200023C08091E80085FD15C08091E8008B7778 +:102A30008093E800209749F0888199818C0D9D1D35 +:102A40009983888345E0B42E14C00E9463168823BE +:102A500059F00EC08091F100F70181937F01015080 +:102A60001109FFEFCF1ADF0A01151105D1F601C0D8 +:102A7000B82E8B2DDF91CF911F910F91FF90EF908A +:102A8000DF90CF90BF9008954091020450910304CD +:102A90004617570748F06115710539F44091E80071 +:102AA0004E774093E80001C0BA01FC0140E033C01A +:102AB0008091FB03882309F444C0853009F443C0A6 +:102AC0008091E80083FD41C08091E80082FD33C021 +:102AD0008091E80080FF1FC09091F3008091F20088 +:102AE000392F20E0A901482BCA0106C0419140932B +:102AF000F1006150710901966115710519F0883076 +:102B00009105A0F341E0089709F040E08091E800CA +:102B10008E778093E8006115710551F64111C8CF99 +:102B20000AC08091FB03882361F0853061F08091B9 +:102B3000E80083FD0AC08091E80082FFF2CF80E0C8 +:102B4000089582E0089583E0089581E0089540911A +:102B50000204509103044617570748F061157105A8 +:102B600039F44091E8004E774093E80001C0BA0183 +:102B7000FC0140E034C08091FB03882309F445C088 +:102B8000853009F444C08091E80083FD42C0809103 +:102B9000E80082FD34C08091E80080FF20C0909161 +:102BA000F3008091F200392F20E0A901482BCA01DF +:102BB00007C044914093F10031966150710901962C +:102BC0006115710519F08830910598F341E0089777 +:102BD00009F040E08091E8008E778093E80061156D +:102BE000710549F64111C7CF0AC08091FB038823C4 +:102BF00061F0853061F08091E80083FD0AC080912A +:102C0000E80082FFF2CF80E0089582E0089583E03B +:102C1000089581E00895982F2CC09093E9009817AB +:102C200039F07091EC002091ED005091F00003C05C +:102C3000242F762F50E021FD02C09F5F1AC03091F3 +:102C4000EB003E7F3093EB003091ED003D7F309301 +:102C5000ED003091EB0031603093EB007093EC00AD +:102C60002093ED005093F0002091EE0027FDE5CF7A +:102C700007C0973090F28F708093E90081E008954B +:102C800080E008958091FC0387FD05C08091E800F5 +:102C900080FF0EC012C08091E80082FD05C08091C7 +:102CA000FB038111F8CF08958091E8008B7708C06D +:102CB0008091FB038111EACF08958091E8008E771F +:102CC0008093E80008958091E4009091E50045E646 +:102CD0002091EC0020FD1FC023C02091FB03222384 +:102CE00091F0253091F02091EB0025FD10C020914E +:102CF000E4003091E5002817390751F34150C9012C +:102D000039F784E0089582E0089583E0089581E032 +:102D1000089580E008952091E80020FFDECFF9CFEC +:102D20002091E80022FFD9CFF4CF0E9403170E9420 +:102D30000B17E0EEF0E0808181608083E8EDF0E049 +:102D400080818F77808319BCA7EDB0E08C918E7F56 +:102D50008C9380818F7E80831092FA0308950F9365 +:102D60001F93CF93DF930E9403170E940B17C8EDA8 +:102D7000D0E088818F778883888180688883888184 +:102D80008F7D888319BC1092FB031092F703109279 +:102D9000F9031092F80300EE10E0F80180818B7FB8 +:102DA000808388818160888342E060E080E00E94C7 +:102DB0000B16E1EEF0E080818E7F8083E2EEF0E0A2 +:102DC000808181608083808188608083F801808138 +:102DD0008E7F8083888180618883DF91CF911F916E +:102DE0000F910895E8EDF0E080818F7E8083E7ED1C +:102DF000F0E080818160808384E082BF81E0809305 +:102E0000FA030C94AF16E8EDF0E080818E7F8083AA +:102E10001092E20008951092DA001092E1000895F5 +:102E20001F920F920FB60F9211242F933F934F933F +:102E30005F936F937F938F939F93AF93BF93EF9322 +:102E4000FF938091E10082FF0BC08091E20082FF3E +:102E500007C08091E1008B7F8093E1000E94B9124E +:102E60008091DA0080FF1FC08091D80080FF1BC0D6 +:102E70008091DA008E7F8093DA008091D90080FF04 +:102E80000DC080E189BD82E189BD09B400FEFDCF9E +:102E900081E08093FB030E94A41205C019BC10922C +:102EA000FB030E94B2128091E10080FF19C0809163 +:102EB000E20080FF15C08091E2008E7F8093E200E7 +:102EC0008091E20080618093E2008091D80080626E +:102ED0008093D80019BC85E08093FB030E94B61252 +:102EE0008091E10084FF30C08091E20084FF2CC01B +:102EF00080E189BD82E189BD09B400FEFDCF8091EA +:102F0000D8008F7D8093D8008091E1008F7E8093E0 +:102F1000E1008091E2008F7E8093E2008091E200E8 +:102F200081608093E2008091F703882311F084E0B0 +:102F300007C08091E30087FF02C083E001C081E009 +:102F40008093FB030E94B7128091E10083FF29C0A8 +:102F50008091E20083FF25C08091E100877F80930C +:102F6000E10082E08093FB031092F7038091E1007F +:102F70008E7F8093E1008091E2008E7F8093E2005B +:102F80008091E20080618093E20042E060E080E0B6 +:102F90000E940B168091F00088608093F0000E94E0 +:102FA000B512FF91EF91BF91AF919F918F917F915A +:102FB0006F915F914F913F912F910F900FBE0F90A6 +:102FC0001F9018951F920F920FB60F9211242F93F6 +:102FD0003F934F935F936F937F938F939F93AF93A1 +:102FE000BF93CF93EF93FF938091E9008F709091FF +:102FF000EC0090FF02C090E801C090E0C92FC82B00 +:103000001092E9008091F000877F8093F00078941F +:103010000E9426181092E9008091F0008860809349 +:10302000F000CF70C093E900FF91EF91CF91BF9175 +:10303000AF919F918F917F916F915F914F913F9150 +:103040002F910F900FBE0F901F9018951F93CF9345 +:10305000DF93CDB7DEB7AC970FB6F894DEBF0FBEE7 +:10306000CDBFECEFF3E08091F100819324E0E430F8 +:10307000F207C9F70E9417138091E80083FF37C158 +:103080008091FC039091FD03953009F488C038F4D9 +:103090009130B1F170F0933009F029C131C098300E +:1030A00009F4F8C0993009F404C1963009F01FC141 +:1030B0009DC0803821F0823809F019C108C0809184 +:1030C000F8039091F903992389F082600FC08091F1 +:1030D0000004909101048F7099278093E9008091FA +:1030E000EB0085FB882780F91092E9009091E800B9 +:1030F000977F9093E8008093F1001092F100D5C083 +:10310000882319F0823009F0F2C08F7121F08230EB +:1031100009F0EDC00BC08091FE03813009F0E7C0DB +:10312000933009F080E08093F9032FC08091FE0373 +:1031300081112BC080910004909101048F70992718 +:10314000009709F4D4C08093E9002091EB0020FFA0 +:103150001CC02091FD03233021F48091EB0080629C +:1031600012C09091EB0090619093EB0021E030E071 +:1031700001C0220F8A95EAF72093EA001092EA0034 +:103180008091EB0088608093EB001092E9008091C1 +:10319000E800877F8093E8000E944216A8C0811152 +:1031A000A6C08091FE039091FF038F779927182F77 +:1031B0009091E3009078982B9093E3008091E80041 +:1031C000877F8093E8000E9442168091E80080FF8C +:1031D000FCCF8091E30080688093E300112311F01D +:1031E00083E001C082E08093FB0381C0805882307D +:1031F00008F07DC08091FE039091FF038C3D23E099 +:10320000920779F583E08A838AE289834FB7F8943D +:10321000DE01139620E03EE051E2E32FF0E0509310 +:103220005700E49120FF03C0E295EF703F5FEF701D +:103230008E2F90E0EA3010F0C79601C0C0968D93B3 +:103240009D932F5F243149F74FBF8091E800877F1E +:103250008093E8006AE270E0CE0101960E94441576 +:1032600013C0AE01455D5F4F609100040E942B14B6 +:103270000097E9F12091E800277F2093E800BC0146 +:103280008BA59CA50E94A7158091E8008B77809361 +:10329000E8002DC0803859F58091E800877F809341 +:1032A000E8008091F7038093F1008091E8008E7729 +:1032B00071CF81111CC09091FE039230C0F48091B7 +:1032C000E800877F8093E8009093F7030E944216FE +:1032D0008091F703811104C08091E30087FF02C051 +:1032E00084E001C081E08093FB030E94F912809189 +:1032F000E80083FF0AC08091E800877F8093E800A0 +:103300008091EB0080628093EB00AC960FB6F8944E +:10331000DEBF0FBECDBFDF91CF911F910895CF9338 +:103320008091FB038823B1F08091E9008F70909128 +:10333000EC0090FF02C090E801C090E0C92FC82BBC +:103340001092E9008091E80083FD0E942618CF705A +:10335000C093E900CF910895881F8827881F08959A +:1033600091E0883F08F490E0892F0895982F907F8E +:10337000903B99F038F4903981F0903A71F09038A0 +:10338000C9F40BC0903DA1F018F4903C99F410C022 +:10339000903E19F0903F71F402C083E00895E82F49 +:1033A000E15FEF3038F4F0E0E15FFD4F8081089598 +:1033B00082E0089580E008950F932F774F776F7024 +:1033C000606BDC01ED91FC91022F242F462F63E00E +:1033D00070E009950F9108950F932F774F776F70D5 +:1033E0006069DC01ED91FC91022F242F462F63E0F0 +:1033F00070E009950F9108950F932F774F776F70B5 +:103400006068DC01ED91FC91022F242F462F63E0D0 +:1034100070E009950F910895FC017383628308950C +:10342000FC01738F628F0895FC01758F648F08957E +:10343000CF93DF93EC011DA21FA21EA2BC01685D09 +:103440007F4F40EC88519F4F0E94551C1B821A826F +:103450001D821C821F821E82198618861B861A8670 +:103460001D861C861F861E86198A188A1B8A1A8A40 +:103470001D8A1C8A1F8A1E8A198E188E1B8E1A8E10 +:103480001D8E1C8E1F8E1E8E19A218A2DF91CF9149 +:103490000895CF92DF92FF920F931F93CF93DF9304 +:1034A0001F92CDB7DEB7F62E6A018C0108511F4F6F +:1034B00008C0F60161916F01C80149830E945C1C3C +:1034C00049818C2D841B8F15A0F30F90DF91CF9134 +:1034D0001F910F91FF90DF90CF900895FC017183B1 +:1034E00060830895FC0171A360A30895AF92BF9219 +:1034F000CF92DF92EF92FF920F931F93CF93DF93C0 +:1035000000D01F92CDB7DEB77C016B01142FB22E15 +:10351000A02EDC0195968C9195978430F1F45A9603 +:10352000ED91FC915B97309709F4D8C0CB010197DE +:1035300063E070E00E948834DB01AA0FBB1FA60F76 +:10354000B71F49832A830B834C2D4A1B9E012F5F93 +:103550003F4FBD01C7010995B1C06230710509F443 +:1035600053C06330710529F06130710509F09CC0CA +:1035700083C0842F807F803A01F130F48038B9F025 +:10358000803909F0ABC00DC0803EE9F0803F09F101 +:10359000803B09F0A3C0D7011296ED91FC911397DF +:1035A00023C0D7011496ED91FC9115971DC0D7014A +:1035B0001696ED91FC91179717C0D7011896ED91CB +:1035C000FC91199711C0D7011A96ED91FC911B97A8 +:1035D0000BC0423F09F082C0D7011C96ED91FC91CF +:1035E0001D97309731F47AC0309709F477C0123FB5 +:1035F00021F42A2D4B2D62EF04C0612F6F702A2D0C +:103600004B2DC70109955AC0842F807F803D59F00A +:10361000803F79F0803C09F061C0D7011E96ED91A2 +:10362000FC911F9719C0D7015096ED91FC915197CD +:1036300013C0433F31F4D7015296ED91FC9153975B +:1036400008C0413F09F04AC0D7015496ED91FC9162 +:103650005597309741F442C0309709F43FC0133F6B +:1036600011F0113F19F44B2D612F03C0612F6F70C2 +:103670004B2DC701099522C0842F0E94B0198823C1 +:1036800031F0D7015696ED91FC91579707C0163F40 +:1036900029F5D7015896ED91FC9159973097F1F0A3 +:1036A000612FC70109950AC064307105A8F416C0DE +:1036B0000A2D2B2D412FB601C7010995D7015E9622 +:1036C000ED91FC915F97309789F00A2D2B2D412FBA +:1036D000B601C70109950AC0C12CD12CD7015C964F +:1036E000ED91FC915D97309719F7E8CF0F900F900F +:1036F0000F90DF91CF911F910F91FF90EF90DF908E +:10370000CF90BF90AF900895EF92FF920F931F93C9 +:10371000CF93DF93EC01162F862F0E94B0198823D8 +:1037200069F0FDA081E08DA300E020E0412F61E081 +:1037300070E0CE010E94761AFDA27CC0812F0E940B +:10374000AC194DA1882309F440C0443029F01AA3D4 +:1037500021E030E03FA32EA3812F0E94B6198130D3 +:1037600031F070F0823051F0833059F507C08DA3ED +:1037700000E020E0412F61E070E01EC08DA35AC040 +:10378000103F19F0173FE9F404C084E08DA31AA399 +:103790003FC02EA13FA1C90163E070E00E948834C0 +:1037A0008C0F9D1FFC0112A3B9016F5F7F4F7FA398 +:1037B0006EA30CA12BA14AA1CE010E94761A1DA2D4 +:1037C00039C01DA21FA21EA235C0442399F12EA10B +:1037D0003FA1C90163E070E00E9488347C01FE01D2 +:1037E000E80FF91F12A3B9016F5F7F4F7FA36EA38C +:1037F0008130910591F082E0E816F104D9F40CA132 +:103800002BA14AA1CE010E94761A8DA1843091F09D +:1038100081E090E09FA38EA30DC0423059F400E0F8 +:103820002BA14AA1CE010E94761A8DA1843011F0FD +:10383000FFA2EEA2DF91CF911F910F91FF90EF9029 +:103840000895CF92DF92EF92FF920F931F93CF9341 +:10385000DF93EC01E8A1F9A1309709F009958E01F9 +:1038600008511F4FC8010E948E1CE12CF12CC82E5C +:10387000D12C0FC060E0C8010E94A21C682FCE01AD +:103880000E94841B61E0C8010E94B31C8FEFE81AFC +:10389000F80AEC14FD0470F3DF91CF911F910F91A2 +:1038A000FF90EF90DF90CF900895FC0142837483E6 +:1038B00063831182108208950F931F93CF93DF9338 +:1038C000EC01062F0E94D41C182F298130E0C90179 +:1038D00001966A8170E00E949C34488150E0841710 +:1038E000950729F4812F0E94D71C80E012C0EB813C +:1038F000FC81E20FF31F00832981822F90E0019663 +:103900006A8170E00E949C348983812F0E94D71CB9 +:1039100081E0DF91CF911F910F910895CF93DF93B5 +:10392000EC010E94D41C29819881291710F0C22F24 +:1039300002C0CA81C20FC91B0E94D71C8C2FDF9105 +:10394000CF910895FC012081862F90E0820F911D78 +:10395000628170E00E949C340380F481E02DE80FC6 +:10396000F91F808108950F931F93CF93DF931F92C8 +:10397000CDB7DEB78C0169830E94D41C482FF801B3 +:1039800080816981262F30E0280F311D6281C901B5 +:1039900070E00E949C348083842F0F90DF91CF9140 +:1039A0001F910F910C94D71C8FB7F89408958FBF77 +:1039B0000895FC01CB012091FB032430B1F4218157 +:1039C0002F702093E90040E050E064E070E00E9436 +:1039D000A61481110BC09091E80095FD07C090914D +:1039E000E8009E779093E800089582E00895209182 +:1039F000FB032430A9F4FC0181818F708093E900DE +:103A00003091F3002091F200932F80E0822B892BDC +:103A100049F08091E8008E778093E8000C9463165B +:103A200082E0089580E008952091FB03243051F452 +:103A3000FC0121812F702093E9002091E80020FDF6 +:103A40000C94F71C0895FC01CB012091FB0324305A +:103A500011F080E0089526812F702093E9002091D5 +:103A6000E80022FFF6CF2091E80025FFF2CF40E0EA +:103A700050E064E070E00E94F5148091E80085FD5C +:103A800005C08091E8008B778093E80081E008957D +:103A900090939502809394020895E0919402F0919E +:103AA0009502309721F00190F081E02D099480E09B +:103AB0000895E0919402F0919502309721F00280F0 +:103AC000F381E02D09940895E0919402F09195021C +:103AD000309721F00480F581E02D0994089520911C +:103AE0009602309197028217930771F09093970294 +:103AF00080939602E0919402F0919502309721F024 +:103B00000680F781E02D0994089520919802309164 +:103B100099028217930771F090939902809398020B +:103B2000E0919402F0919502309721F00084F185A4 +:103B3000E02D0994089508950C949B1D0E94E62998 +:103B40000E94F3060E94BA2A0C9465300C942C064D +:103B50005F926F927F928F929F92AF92BF92CF921D +:103B6000DF92EF92FF920F931F93CF93DF93CDB726 +:103B7000DEB72A970FB6F894DEBF0FBECDBF0E9406 +:103B8000E9079AE9C92E92E0D92E00E010E0AA24B4 +:103B9000A394B12C502E802F0E9439093C01F601CC +:103BA000E190F1906F01E826F926E114F10431F477 +:103BB0000F5F1F4F0530110569F73AC08091F10280 +:103BC00081FD0E94420920E030E04501022E02C042 +:103BD000880C991C0A94E2F7C4018E219F21892B3D +:103BE00009F12E835F826820792081E0672809F43B +:103BF00080E088870E94EF298160782F9A878987E3 +:103C00004E815F8168858A850E94611EF801EE0FF2 +:103C1000FF1FE656FD4F808191818825992591836C +:103C2000808316C02F5F3F4F2C30310571F6C0CF17 +:103C30008FEF89838A831B820E94EF298160782F0E +:103C40009D838C8349815A816B818D810E94611E85 +:103C50000E94A72D1091A4020E944D1D1817D9F0A3 +:103C60000E944D1D8093A4022A960FB6F894DEBFE1 +:103C70000FBECDBFDF91CF911F910F91FF90EF90BD +:103C8000DF90CF90BF90AF909F908F907F906F907C +:103C90005F900C94A61D2A960FB6F894DEBF0FBE57 +:103CA000CDBFDF91CF911F910F91FF90EF90DF90EB +:103CB000CF90BF90AF909F908F907F906F905F90CC +:103CC0000895CF93DF93CDB7DEB72B970FB6F89457 +:103CD000DEBF0FBECDBF4F83588769877A878B873A +:103CE000DE01119686E0FD0111928A95E9F785E0E3 +:103CF000FE01379601900D928A95E1F749815A812C +:103D00006B817C818D819E810E944A262B960FB605 +:103D1000F894DEBF0FBECDBFDF91CF910895089517 +:103D2000CF93C82F882309F4C1C0823859F40E9468 +:103D30004D1D81FDBBC089E30E94B1280E943D2931 +:103D400089E30CC0833879F40E944D1D80FDAEC01C +:103D500083E50E94B1280E943D2983E50E94D32873 +:103D6000CF910C943D29843859F40E944D1D82FD59 +:103D70009DC087E40E94B1280E943D2987E4EECFD0 +:103D80008450813A48F48C2F0E94C72F81118EC035 +:103D90008C2F0E94B128E4CF8C2F805E883050F4A5 +:103DA000C77081E090E001C0880FCA95EAF70E94D1 +:103DB000F428D6CF8C2F855A833078F4C53A29F071 +:103DC000C63A31F482E890E005C081E890E002C094 +:103DD00083E890E0CF910C946F1D8C2F885A83312B +:103DE00008F064C0C83A39F1C93A41F1CA3A49F118 +:103DF000CB3A51F1CC3A59F1CD3A61F1C03B69F17E +:103E0000CE3A71F1CF3A79F1C13B81F1C23B89F1F0 +:103E1000C33B91F1C43B99F1C53BA1F1C63BA9F16C +:103E2000C73BB1F1C83BB9F1C93BC1F1CA3BC9F5C8 +:103E30008AE292E038C082EE90E035C089EE90E0F0 +:103E400032C08AEE90E02FC085EB90E02CC086EB6C +:103E500090E029C087EB90E026C08CEC90E023C076 +:103E60008DEC90E020C083E891E01DC08AE891E0ED +:103E70001AC082E991E017C084E991E014C081E2A0 +:103E800092E011C083E292E00EC084E292E00BC0A7 +:103E900085E292E008C086E292E005C087E292E007 +:103EA00002C080E090E0CF910C94851DCF910895E1 +:103EB000882309F44DC0823859F40E944D1D81FFBA +:103EC00047C089E30E94B1280E943D2989E30CC0C4 +:103ED000833871F40E944D1D80FF3AC083E50E9433 +:103EE000B1280E943D2983E50E94D3280C943D29E6 +:103EF000843859F40E944D1D82FF2AC087E40E9435 +:103F0000B1280E943D2987E4EFCF982F9450913A31 +:103F100008F4EACF982F905E983058F4282F277035 +:103F200081E090E001C0880F2A95EAF70E94FA2804 +:103F3000DDCF982F955A933020F480E090E00C94D8 +:103F40006F1D885A833120F480E090E00C94851D29 +:103F50000895882321F00E94F4280C943D290895A7 +:103F6000882321F00E94FA280C943D290895BF92DD +:103F7000CF92DF92EF92FF920F931F93CF93DF9335 +:103F8000CDB7DEB727970FB6F894DEBF0FBECDBF13 +:103F90008C0185E0F801DE01119601900D928A9561 +:103FA000E1F7F801D080E180F280558152955F7091 +:103FB00083819481892B41F0FFEFEF1208C081E0EB +:103FC00090E0DF1631F003C081E090E002C080E0B5 +:103FD00090E080FD7CC3C8015E830E948F1ED98261 +:103FE000EA8289819A810E946E28B92E8F830E946D +:103FF0006D280E9495275E816F81FF2021F00E942D +:1040000011296F815E812B2D22952F7030E0253094 +:10401000310509F4E6C06CF4243031050CF0A2C07F +:104020004B2D407F8B2D8F70223031050CF045C019 +:1040300017C02C3031054CF42A3031050CF0E7C1A3 +:104040002830310509F043C3E5C02D30310509F4AE +:10405000BAC20CF4A2C22F30310509F038C323C311 +:10406000182F411101C002C01295107FFF2059F096 +:10407000112309F46BC2812F6F830E9404290E94CF +:104080003D296F8163C2862F0E94581F112309F4B6 +:104090001EC3812F0E940A2927960FB6F894DEBF0F +:1040A0000FBECDBFDF91CF911F910F91FF90EF9089 +:1040B000DF90CF90BF900C943D29403211F0829553 +:1040C000807F662319F0613071F523C0FF20B1F0C5 +:1040D000511101C032C0513081F527960FB6F894C6 +:1040E000DEBF0FBECDBFDF91CF911F910F91FF902B +:1040F000EF90DF90CF90BF900C942429511101C014 +:1041000003C0513009F4E3C28E830E9427298E81B7 +:104110009AC1FF2021F0563008F0D9C20EC05530A8 +:1041200008F0D5C290C1FF20C9F0552331F0F80145 +:10413000958190FF0BC29F70958327960FB6F894D8 +:10414000DEBF0FBECDBFDF91CF911F910F91FF90CA +:10415000EF90DF90CF90BF900C94A91F552309F4E6 +:1041600072C109C22B2D26952695237030E02115AA +:10417000310529F02130310509F0A9C219C0FF200D +:1041800021F0862F9B2D937002C080E090E027964F +:104190000FB6F894DEBF0FBECDBFDF91CF911F9158 +:1041A0000F91FF90EF90DF90CF90BF900C946F1D18 +:1041B000FF2021F0862F9B2D937002C080E090E0BD +:1041C00027960FB6F894DEBF0FBECDBFDF91CF911B +:1041D0001F910F91FF90EF90DF90CF90BF900C94C4 +:1041E000851D862FFF2019F00E94AD2C02C00E9471 +:1041F000152D27960FB6F894DEBF0FBECDBFDF9109 +:10420000CF911F910F91FF90EF90DF90CF90BF90D3 +:104210000C949C2D8B2D837009F079C0F11057C23E +:10422000262F229526952770220F220F862F8F701A +:10423000C82ED12CE12CF12C022E04C0CC0CDD1C9C +:10424000EE1CFF1C0A94D2F764FF10C06FE070E010 +:1042500080E090E004C0660F771F881F991F2A95A1 +:10426000D2F7609570958095909503C060E070E0FE +:10427000CB012B2D269526952370422F50E04230FE +:104280005105D9F04330510569F16C297D298E29FA +:104290009F294130510551F127960FB6F894DEBFA2 +:1042A0000FBECDBFDF91CF911F910F91FF90EF9087 +:1042B000DF90CF90BF900C94AA276C297D298E297E +:1042C0009F2927960FB6F894DEBF0FBECDBFDF91B2 +:1042D000CF911F910F91FF90EF90DF90CF90BF9003 +:1042E0000C94BC270E94AA27C701B60127960FB6D7 +:1042F000F894DEBF0FBECDBFDF91CF911F910F911C +:10430000FF90EF90DF90CF90BF900C949827FF2004 +:1043100019F08B2D817001C08695882309F4D7C1CF +:10432000262F229526952770220F220F862F8F7019 +:10433000C82ED12CE12CF12C022E04C0CC0CDD1C9B +:10434000EE1CFF1C0A94D2F764FF10C06FE070E00F +:1043500080E090E004C0660F771F881F991F2A95A0 +:10436000D2F7609570958095909503C060E070E0FD +:10437000CB012B2D269526952370422F50E04230FD +:104380005105D9F04330510569F16C297D298E29F9 +:104390009F294130510551F127960FB6F894DEBFA1 +:1043A0000FBECDBFDF91CF911F910F91FF90EF9086 +:1043B000DF90CF90BF900C9449286C297D298E29DD +:1043C0009F2927960FB6F894DEBF0FBECDBFDF91B1 +:1043D000CF911F910F91FF90EF90DF90CF90BF9002 +:1043E0000C945B280E944928C701B60127960FB696 +:1043F000F894DEBF0FBECDBFDF91CF911F910F911B +:10440000FF90EF90DF90CF90BF900C943728603FE3 +:1044100059F120F4603E08F494C008C0623F09F4EA +:1044200067C0F0F1633F09F08CC065C0162F1F70A4 +:104430008B2D8F71FF2021F00E94E227812F7DCEEE +:104440000E94FD27812F27960FB6F894DEBF0FBE7E +:10445000CDBFDF91CF911F910F91FF90EF90DF9033 +:10446000CF90BF900C94B01FFF20B1F0553008F0F2 +:104470002EC18B2D8F7127960FB6F894DEBF0FBE1D +:10448000CDBFDF91CF911F910F91FF90EF90DF9003 +:10449000CF90BF900C941C28563008F018C1E9CF7B +:1044A000FF2099F08B2D8F7127960FB6F894DEBF01 +:1044B0000FBECDBFDF91CF911F910F91FF90EF9075 +:1044C000DF90CF90BF900C94E2278B2D8F712796B1 +:1044D0000FB6F894DEBF0FBECDBFDF91CF911F9115 +:1044E0000F91FF90EF90DF90CF90BF900C94FD273D +:1044F000F110EBCFD7CFFF2099F08B2D8F7127963E +:104500000FB6F894DEBF0FBECDBFDF91CF911F91E4 +:104510000F91FF90EF90DF90CF90BF900C94D32736 +:1045200027960FB6F894DEBF0FBECDBFDF91CF91B7 +:104530001F910F91FF90EF90DF90CF90BF900C9460 +:10454000CE27FF20A9F0552309F4ACCF862F27965C +:104550000FB6F894DEBF0FBECDBFDF91CF911F9194 +:104560000F91FF90EF90DF90CF90BF900C94901E32 +:10457000552309F4AACF862F27960FB6F894DEBFED +:104580000FBECDBFDF91CF911F910F91FF90EF90A4 +:10459000DF90CF90BF900C94581F4B2D4F70C801E7 +:1045A0000E94560327960FB6F894DEBF0FBECDBF0C +:1045B000DF91CF911F910F91FF90EF90DF90CF90FF +:1045C000BF900C940027F11082C09B2D9F70492F43 +:1045D00050E04230510599F144F44115510569F01C +:1045E0004130510509F073C019C043305105C1F184 +:1045F0004430510509F06BC044C027960FB6F894BB +:10460000DEBF0FBECDBFDF91CF911F910F91FF9005 +:10461000EF90DF90CF90BF900C94763027960FB636 +:10462000F894DEBF0FBECDBFDF91CF911F910F91E8 +:10463000FF90EF90DF90CF90BF900C948D30279635 +:104640000FB6F894DEBF0FBECDBFDF91CF911F91A3 +:104650000F91FF90EF90DF90CF90BF900C94A93016 +:1046600027960FB6F894DEBF0FBECDBFDF91CF9176 +:104670001F910F91FF90EF90DF90CF90BF900C941F +:10468000BC30862F27960FB6F894DEBF0FBECDBF85 +:10469000DF91CF911F910F91FF90EF90DF90CF901E +:1046A000BF900C94E0304B2D4F70C80127960FB689 +:1046B000F894DEBF0FBECDBFDF91CF911F910F9158 +:1046C000FF90EF90DF90CF90BF900C944309279616 +:1046D0000FB6F894DEBF0FBECDBFDF91CF911F9113 +:1046E0000F91FF90EF90DF90CF90BF9008950E94C0 +:1046F00011290E9421290E94E6280E943D290E943A +:10470000482E0E949C2D80E090E00E946F1D80E06A +:1047100090E00C94851D0E9401290C9477230E943F +:104720006E28292F22952F7030E02C3031054CF463 +:104730002A3031056CF4225031092230310590F4D1 +:1047400007C02C30310551F02F30310559F406C027 +:10475000803E10F0803F31F481E0089593FB88277C +:1047600080F9089580E00895CF93DF9300D000D0C2 +:104770001F92CDB7DEB70F900F900F900F900F9054 +:10478000DF91CF910895CF93DF9300D000D000D078 +:10479000CDB7DEB726960FB6F894DEBF0FBECDBFFD +:1047A000DF91CF9108951F93CF93DF93C091DB02E8 +:1047B00016E012C0D0E01C9FF0011D9FF00D1124E7 +:1047C000E555FD4F408151816281738184819581DE +:1047D0000E94C3232196C7708091DC02C813EACFE0 +:1047E000DF91CF911F9108954091A5025091A602AB +:1047F0006091A7027091A8028091A9029091AA02EB +:104800000C94C3230F931F93CF93DF938091AA023D +:1048100082958F7009F069C08091A702882309F4FE +:1048200064C0A091DB02D091DC02B091A502C091DE +:10483000A6028091A8029091A90221E030E0BF3F3A +:1048400011F020E030E0122FBC016095709506E079 +:104850004AC0009721F0CF3F29F4212F05C021E065 +:1048600030E002C020E030E020FD3BC04A2F50E0A5 +:10487000049FF001059FF00D1124E555FD4F2181A6 +:10488000C2132FC02081B2132CC02281211129C054 +:10489000238134812817390718F0281B390B02C0EF +:1048A000260F371F283C3105E0F48091AA028F7053 +:1048B00080618093AA0286E0849FF001859FF00DBD +:1048C0001124E055FD4F80818F708061808385EADF +:1048D00092E00E94B71FDF91CF911F910F910C942E +:1048E000D323AF5FA770AD13B4CFDF91CF911F91EA +:1048F0000F910895EF92FF920F931F93CF93DF9341 +:10490000CDB7DEB762970FB6F894DEBF0FBECDBF4E +:104910008C0185E0F801DE011D9601900D928A95CB +:10492000E1F7D8014C9111965C91119712966C9118 +:1049300012971396ED90FC9014977091A502E09158 +:10494000A6028091A8029091A902009739F0EF3F4A +:1049500041F421E030E07F3F31F003C021E030E05E +:1049600002C020E030E020FD5CC12091A70222239C +:1049700009F4F1C0E816F90628F09701281B390B55 +:10498000C90104C0809590958E0D9F1D883C9105AE +:1049900008F098C08091AA02982F907F09F064C017 +:1049A000E51314C0741312C0611110C08F708061C0 +:1049B0008093AA020E94F42385EA92E00E94B71F26 +:1049C0008091AA02D80115968C9343C1EF2839F043 +:1049D0005F3F41F481E090E04F3F31F003C081E060 +:1049E00090E002C080E090E080FD03C081E0862777 +:1049F00002C080E090E080FF2EC08091DB02209119 +:104A0000DC0236E013C090E0389FF001399FF00DD2 +:104A10001124E555FD4F7181571306C0708147136E +:104A200003C07281671317C0019687708213EBCFA2 +:104A300012C19F7059F0882309F40BC107C09F7001 +:104A400029F0F8019581907F09F403C1805E8830D8 +:104A500008F4FFC0D2C0662309F4FBC08091AA020B +:104A600081608093AA02F5C0E51308C0741306C0E4 +:104A7000611104C0D80115968C939DC04D875E8747 +:104A80008D859E856A8B0E948F236A89882309F40D +:104A9000B4C0662309F4B1C02091AA02822F829586 +:104AA0008F7090E002970CF4C6C08091A50290919F +:104AB000A60298878F831986FB86EA862C87CE010B +:104AC000079646C08091AA02982F907F59F47E2DB8 +:104AD000F98AE88A89890E94B42385EA92E00E94D3 +:104AE000B71F95C0E51311C074130FC061110DC03D +:104AF000F8018583C8010E94B71FE5EAF2E086E06D +:104B0000DF011D928A95E9F7A2C04D875E878D85EA +:104B10009E856A8B0E948F236A89882309F46DC061 +:104B2000662309F46AC02091AA02822F82958F70B1 +:104B300090E002970CF47FC08091A5029091A602AC +:104B40009A8389831B82FD82EC822E83CE0101969B +:104B50000E94B71F70C0E816F90628F09701281BBD +:104B6000390BC90104C0809590958E0D9F1D883C1E +:104B7000910508F046C0662309F43FC0E51330C034 +:104B800074132EC02091AA0220FD21C0322F32952D +:104B90003F70832F90E00097D1F0D80115962C93A9 +:104BA00015970F9741F0832F8F5F8295807F2F702D +:104BB000282B15962C93C8010E94B71F86E0F80198 +:104BC000A5EAB2E001900D928A95E1F73EC086E039 +:104BD000F801A5EAB2E001900D928A95E1F737C09D +:104BE0004D875E878D859E850E948F23811123C00E +:104BF0008091AA0281608093AA02C8010E94B71F17 +:104C000026C07E2DF98AE88A89890E94B423E5EAC4 +:104C1000F2E086E0DF011D928A95E9F70E94F42315 +:104C200018C0662351F34D875E878D859E850E944F +:104C30008F23882311F386E0F801A5EAB2E0019002 +:104C40000D928A95E1F70E9402240E94F42381E0EC +:104C500014C080E012C04D875E878D859E850E94BE +:104C60006E28292F22952F7030E0223031050CF468 +:104C7000E0CE243031050CF6E2CE62960FB6F89401 +:104C8000DEBF0FBECDBFDF91CF911F910F91FF907F +:104C9000EF9008951F93CF93DF93CDB7DEB72C9796 +:104CA0000FB6F894DEBF0FBECDBF4F83588769871C +:104CB0007A878B879C87CE0107960E947A24882367 +:104CC000D9F02F8138858A859B85892B39F03F3F24 +:104CD00019F080E090E004C02F3FD9F781E090E028 +:104CE000892B09F06DC04F81588569857A858B8540 +:104CF0009C850E94C32364C086E0FE013796DE01D6 +:104D0000119601900D928A95E1F7FF81E8854A8519 +:104D10005B854115510539F0EF3F41F481E090E0AA +:104D2000FF3F31F003C081E090E002C080E090E0FE +:104D300080FD46C02091DC0230E0C90101968770F9 +:104D400099276091DB0270E08617970709F440C04D +:104D5000F983EA835D834C8396E0929FD001939F11 +:104D6000B00D1124A555BD4FFE01319601900D9255 +:104D70009A95E1F78093DC020E94D32321C0189F0B +:104D8000C001112485559D4F0E947A24882371F11A +:104D9000E091DB021E9FF0011124E555FD4F40819B +:104DA000518162817381848195810E94C3238091A6 +:104DB000DB0290E00196877099278093DB0201C0A7 +:104DC00016E08091DB029091DC028913D8CF0EC0EF +:104DD0000E948B231092DC021092DB02E5EAF2E0E3 +:104DE00086E0DF011D928A95E9F7EACF2C960FB68F +:104DF000F894DEBF0FBECDBFDF91CF911F91089514 +:104E0000DF92EF92FF920F931F93CF93DF93EC010A +:104E1000009709F46EC0D12CEE24E394F12C8E019E +:104E20000F5F1F4FFE018491843748F4843008F0EF +:104E30004CC0813071F0823009F05BC01EC08537F4 +:104E400009F43FC080F1982F9458903708F051C072 +:104E50003FC02296F8018491982F905E983050F4CC +:104E60008770FE2D01C0FF0F8A95EAF78F2F0E94F1 +:104E7000142913C00E94901E2FC02296F80184911D +:104E8000982F905E983060F48770FE2D01C0FF0F60 +:104E90008A95EAF78F2F0E941A290E943D291CC08B +:104EA0000E94581F19C02296F801049107C08FE98B +:104EB0009FE00197F1F700C0000001500111F7CF0A +:104EC0000BC02296F801D49007C00E94901E03C028 +:104ED0008F770E94581FE8018D2D07C08150EFE9A0 +:104EE000FFE03197F1F700C00000882309F497CF65 +:104EF000F5CFDF91CF911F910F91FF90EF90DF9051 +:104F000008956093E1027093E2028093E30290932C +:104F1000E4020C9477236093DD027093DE028093A9 +:104F2000DF029093E0020C94772308950C9481277C +:104F30000F931F930091E1021091E2022091E3028E +:104F40003091E402602B712B822B932B1F910F91D8 +:104F50000C9481270F931F930091E1021091E202BC +:104F60002091E3023091E402602371238223932392 +:104F70001F910F910C9481270F931F930091E102D1 +:104F80001091E2022091E3023091E4026027712740 +:104F9000822793271F910F910C94812760E070E086 +:104FA000CB010C948B2741E050E060E070E004C03E +:104FB000440F551F661F771F8A95D2F7CB01BA01A0 +:104FC0000C948B2741E050E060E070E004C0440F97 +:104FD000551F661F771F8A95D2F78091DD02909149 +:104FE000DE02A091DF02B091E002482B592B6A2B20 +:104FF0007B2BCB01BA010C948B2741E050E060E0A1 +:1050000070E004C0440F551F661F771F8A95D2F7C2 +:1050100040955095609570958091DD029091DE02EB +:10502000A091DF02B091E002482359236A237B2339 +:10503000CB01BA010C948B2741E050E060E070E0B6 +:1050400004C0440F551F661F771F8A95D2F78091C1 +:10505000DD029091DE02A091DF02B091E0024827CC +:1050600059276A277B27CB01BA010C948B270F9312 +:105070001F930091DD021091DE022091DF0230913A +:10508000E002602B712B822B932B1F910F910C94BC +:105090008B270F931F930091DD021091DE02209168 +:1050A000DF023091E00260237123822393231F915A +:1050B0000F910C948B270F931F930091DD02109199 +:1050C000DE022091DF023091E00260277127822703 +:1050D00093271F910F910C948B270895CF92DF9205 +:1050E000EF92FF920F931F93CF93DF93EC01C09049 +:1050F000E102D090E202E090E302F090E4028091BD +:10510000DD029091DE02A091DF02B091E002C82A98 +:10511000D92AEA2AFB2A0FE110E0B701A601002EE6 +:1051200004C076956795579547950A94D2F740FF46 +:1051300008C0BE01802F0E94B3048130910509F0A0 +:1051400007C00150110948F7BE0180E00E94B30476 +:10515000DF91CF911F910F91FF90EF90DF90CF9053 +:10516000089540918B0150918C0120E030E09FEF39 +:10517000FA01E20FF31F62816817A1F09F3F19F453 +:10518000611101C0922F2F5F3F4F2630310581F70B +:1051900007C0FA01E90FF11D97FDFA958283089582 +:1051A0009F3FB9F7089540918B0150918C0120E009 +:1051B00030E0FA01E20FF31F9281981301C01282CE +:1051C0002F5F3F4F26303105A1F7089581E090E031 +:1051D000E0918B01F0918C01E80FF91F108201968C +:1051E00088309105A9F708959091E502982B909346 +:1051F000E502089580959091E50298239093E50249 +:1052000008951092E50208959091E602982B9093EC +:10521000E602089580959091E60298239093E60225 +:1052200008951092E60208959091E702982B9093CA +:10523000E702089580959091E70298239093E70202 +:1052400008951092E70208958093E802089510925D +:10525000E802089540918B0150918C0120E030E0EC +:1052600080E0FA01E20FF31F918191118F5F2F5FB0 +:105270003F4F27303105A9F70895E0918B01F09158 +:105280008C018091E5028083E0918B01F0918C018B +:1052900080819091E602892B8083E0918B01F091CF +:1052A0008C0180819091E702892B80839091E802A4 +:1052B000992361F0E0918B01F0918C018081892B21 +:1052C00080830E942A2981110E94272980918B01C5 +:1052D00090918C010C94591D8091FB03843039F11D +:1052E0001092F20220E488E190E00FB6F894A895BD +:1052F000809360000FBE2093600080E00E949B03BB +:1053000080E00E942C0683B7817F846083BF83B7CF +:10531000816083BF7894889583B78E7F83BF88E14F +:105320000FB6F89480936000109260000FBE08954D +:1053300008950895CF9380E00E949B030E949829CE +:105340000E94E9070E949929C0E08C2F0E94390928 +:10535000892B29F4CF5FC530C1F780E001C081E01F +:10536000CF9108950E948B2380E00E949B030E94AE +:1053700065300E944D1D0C942C061F920F920FB6A3 +:105380000F9211248F939F93AF93BF938091F2025A +:10539000811113C08091F3029091F402A091F50263 +:1053A000B091F6024196A11DB11D8093F302909336 +:1053B000F402A093F502B093F602BF91AF919F91D2 +:1053C0008F910F900FBE0F901F90189582E084BDB3 +:1053D00093E095BD9AEF97BD80936E0008958FB7C7 +:1053E000F8944091F3025091F4026091F5027091AB +:1053F000F6028FBFCA010895CF92DF92EF92FF921B +:105400000F931F932FB7F8944091F3025091F40239 +:105410006091F5027091F6022FBF6A017B01EE24C4 +:10542000FF248C0120E030E0C016D106E206F3062E +:1054300020F09A01281B390B05C09C01209530955E +:10544000240F351FC9011F910F91FF90EF90DF903E +:10545000CF9008951F920F920FB60F9211248F9341 +:105460009F93AF93BF938091F3029091F402A09128 +:10547000F502B091F6020196A11DB11D8093F302D1 +:105480009093F402A093F502B093F602BF91AF910E +:105490009F918F910F900FBE0F901F9018950E94B3 +:1054A0009516F8942FEF87EA91E6215080409040BE +:1054B000E1F700C0000087E090EBDC018093050479 +:1054C00090930604A0930704B09308042CE088E1AD +:1054D00090E00FB6F894A895809360000FBE2093DB +:1054E0006000FFCFCF92DF92EF92FF920F931F9356 +:1054F000CF93DF93C82ED12C01E010E08D2D0E94B8 +:1055000039097C01C0E0D0E098010C2E02C0220FC6 +:10551000331F0A94E2F72E213F21232B29F42196F1 +:10552000CC30D10589F708C06C2F7D2D80E00E941A +:105530008E04C812F4CF06C0D39485E0D812DECF13 +:1055400080E001C081E0DF91CF911F910F91FF902A +:10555000EF90DF90CF900895CF93C82F8CE20E94F8 +:10556000722A882321F08C2FCF910C94722A80E02C +:10557000CF910895CF930E94FD2B811102C00E940C +:10558000DE2BC5E608C00E94E9078FE39CE901977E +:10559000F1F700C00000C150B1F789E20E94AC2AC7 +:1055A00081110AC18AE20E94AC2A81110E94DE2B7D +:1055B00085E00E94AC2A81110E944F2A0E94082C8B +:1055C0008093F10287E00E94AC2A882399F18BE155 +:1055D0000E94AC2A882351F09091F10291FB882718 +:1055E00080F921E0822780FB91F922C08EE00E94A1 +:1055F000AC2A882351F09091F10292FB882780F920 +:1056000021E0822780FB92F913C080E10E94AC2A3E +:105610009091F102882341F093FB882780F921E0E3 +:10562000822780FB93F904C0892F809580FB90F935 +:105630009093F1028091F1020E940C2C0E941A2C8E +:105640008093020380EE0E94AC2A882341F080916F +:105650000203982F909590FB80F98093020389E3D1 +:105660000E94AC2A882359F09091020391FB88276D +:1056700080F921E0822780FB91F99093020382EE6A +:105680000E94AC2A882359F09091020392FB88274C +:1056900080F921E0822780FB92F99093020386EE45 +:1056A0000E94AC2A882359F09091020393FB88272B +:1056B00080F921E0822780FB93F99093020383EE27 +:1056C0000E94AC2A882359F09091020394FB88270A +:1056D00080F921E0822780FB94F99093020385E30F +:1056E0000E94AC2A882359F09091020395FB8827E9 +:1056F00080F921E0822780FB95F99093020381E3F2 +:105700000E94AC2A882359F09091020396FB8827C7 +:1057100080F921E0822780FB96F99093020381E1D2 +:105720000E94AC2A882359F09091020397FB8827A6 +:1057300080F921E0822780FB97F990930203809102 +:1057400002030E941E2C87E20E94AC2AC82F8EE121 +:105750000E94AC2A8111C2608FE10E94AC2A8111A3 +:10576000C46080E20E94AC2A8111C86081E20E947C +:10577000AC2A8111C06182E20E94AC2A8111C06210 +:1057800083E20E94AC2A8111C06484E20E94AC2AA8 +:10579000882311F0C06802C0CC2329F08C2F0E940E +:1057A000152C6C2F03C00E94112C682F70E080E034 +:1057B00090E0CF910C949627CF9108956DEE7EEFF7 +:1057C00080E090E00E94CC3460E082E090E00E94B3 +:1057D000BE3460E083E090E00E94BE3460E084E08C +:1057E00090E00E94BE3460E085E090E00E94BE340C +:1057F00060E086E090E00C94BE3480E090E00E948F +:10580000B83421E08D3E9E4F09F020E0822F0895AC +:1058100082E090E00C94B034682F82E090E00C9429 +:10582000BE3483E090E00C94B034682F83E090E0C5 +:105830000C94BE3484E090E00C94B034682F84E083 +:1058400090E00C94BE3486E090E00C94B034682F65 +:1058500086E090E00C94BE348091FF0280FF0BC084 +:105860006091900185E0689FB0011124759567955E +:10587000759567952AC081FF09C06091900185E008 +:10588000689FB0011124759567951FC082FF07C0FE +:105890006091900185E0689FB001112416C040918D +:1058A000F9024423C9F060918F01461788F72091CF +:1058B000900185E0289F90011124429FC001439FE1 +:1058C000900D112470E00E949C346038710540F402 +:1058D0006115710539F002C065E070E0862F08950A +:1058E0008FE7089581E008958091FF0280FF08C04E +:1058F00060918E0170E0759567957595679521C0EB +:1059000081FF06C060918E0170E07595679519C0A2 +:1059100082FF04C060918E0170E010C08091F90296 +:105920008823C1F060918D018617A0F790918E01B8 +:10593000989FC001112470E00E949C34603871056A +:1059400028F46115710521F0862F08958FE70895D9 +:1059500081E0089561E070E0F4CF803F21F40E947F +:105960002C2C819504C0813F29F40E942C2C80931B +:10597000FC020895823F21F40E942C2C819504C0E2 +:10598000833F29F40E942C2C8093FB020895893FC9 +:1059900019F40E94742C05C08A3F31F40E94742CC3 +:1059A00081958093FD0208958B3F21F40E94742C11 +:1059B000819504C08C3F29F40E94742C8093FE02D0 +:1059C0000895843F21F48091FA02816017C0853FD9 +:1059D00021F48091FA02826011C0863F21F4809107 +:1059E000FA0284600BC0873F21F48091FA0288603C +:1059F00005C0883F31F48091FA0280618093FA02F9 +:105A000008958D3F21F48091FF0281600BC08E3F8D +:105A100021F48091FF02826005C08F3F29F48091BC +:105A2000FF0284608093FF020895803F29F48091F3 +:105A3000FC0287FF6EC007C0813F41F48091FC02E9 +:105A400018160CF066C01092FC0263C09091FB0225 +:105A5000823F19F497FF5DC005C0833F31F41916EA +:105A60000CF057C01092FB0254C0893F31F4809172 +:105A7000FD0218160CF04DC006C08A3F39F4809123 +:105A8000FD0287FF46C01092FD0243C08B3F29F400 +:105A90008091FE0287FF3DC006C08C3F39F48091A3 +:105AA000FE021816B4F51092FE0233C0843F21F4B2 +:105AB0008091FA028E7F05C0853F31F48091FA0211 +:105AC0008D7F8093FA0225C0863F21F48091FA02EF +:105AD0008B7FF7CF873F21F48091FA02877FF1CF48 +:105AE000883F21F48091FA028F7EEBCF8D3F21F425 +:105AF0008091FF028E7F0BC08E3F21F48091FF02C8 +:105B00008D7F05C08F3F29F48091FF028B7F8093AA +:105B1000FF028091FB0281110EC08091FC02811175 +:105B20000AC08091FD02811106C08091FE028111A0 +:105B300002C01092F90208958AEF92E00E94641D5B +:105B40000E94EF299093F8028093F7020895CF9373 +:105B50008091F7029091F8020E94FC294091F9028D +:105B6000442321F02091910130E006C02091920160 +:105B70005AE0259F900111248217930708F486C0EC +:105B80008091FB0281110DC09091FC02911109C01E +:105B90009091FD02911105C09091FE02992309F4A4 +:105BA00075C04F3F19F04F5F4093F902181624F467 +:105BB0000E942C2C8093FB028091FB0287FF05C082 +:105BC0000E942C2C81958093FB028091FC02181678 +:105BD00024F40E942C2C8093FC028091FC0287FF0D +:105BE00005C00E942C2C81958093FC026091FB02E1 +:105BF000662339F1C091FC02CC2319F1772767FDA8 +:105C00007095872F972F0E94003223E333E343E3FD +:105C10005FE30E94B4320E94CD316093FB026C2F8F +:105C2000772767FD7095872F972F0E94003223E317 +:105C300033E343E35FE30E94B4320E94CD316093CB +:105C4000FC028091FD02181624F40E94742C8093AB +:105C5000FD028091FD0287FF05C00E94742C819592 +:105C60008093FD028091FE02181624F40E94742C89 +:105C70008093FE028091FE0287FF05C00E94742C73 +:105C800081958093FE02CF910C949C2DCF91089525 +:105C9000EAEFF2E085E0DF011D928A95E9F71092C4 +:105CA000F9021092FF020895833089F130F48130B7 +:105CB00061F0823009F06EC019C0853009F449C026 +:105CC000B8F1863009F066C055C020919201862F48 +:105CD00090E0820F911D8F3F910520F4620F609339 +:105CE000920108958FEF8093920108952091910180 +:105CF000862F90E0820F911D8F3F910520F4620F57 +:105D00006093910108958FEF809391010895209100 +:105D10009001862F90E0820F911D8F3F910520F416 +:105D2000620F6093900108958FEF80939001089522 +:105D300020918F01862F90E0820F911D8F3F91055A +:105D400020F4620F60938F0108958FEF80938F018D +:105D5000089520918E01862F90E0820F911D8F3F34 +:105D6000910520F4620F60938E0108958FEF809368 +:105D70008E01089520918D01862F90E0820F911D54 +:105D80008F3F910520F4620F60938D0108958FEF8E +:105D900080938D010895833021F130F4813059F0E2 +:105DA000823009F049C012C0853089F128F186306F +:105DB00009F042C037C080919201681720F4861B19 +:105DC000809392010895109292010895809191011B +:105DD000681720F4861B8093910108951092910119 +:105DE000089580919001681720F4861B809390019C +:105DF000089510929001089580918F01681720F402 +:105E0000861B80938F01089510928F0108958091D1 +:105E10008E01681720F4861B80938E0108951092DE +:105E20008E01089580918D01681720F4861B809360 +:105E30008D01089510928D01089541E050E060E0D9 +:105E400070E004C0440F551F661F771F8A95D2F774 +:105E5000CB01BA010E9496270C948B23873200F560 +:105E60008E3108F089C08E3009F469C060F4873043 +:105E700009F44DC018F4863049F531C0883041F13D +:105E80008B3021F57EC0863109F47BC018F4803157 +:105E9000E9F45FC0893109F474C08B31B9F445C0AD +:105EA000883309F46EC048F4893209F467C0853339 +:105EB00009F464C0873251F461C0833409F45EC0D0 +:105EC00018F48A3318F056C0883499F080E00895A9 +:105ED0000E94082C0E941A2C0E94232C52C08091F0 +:105EE000F102817F8E7F8093F10281E08093000335 +:105EF00008950E948B232FEF83ED90E32150804083 +:105F00009040E1F700C000000E944F2A3AC09091F3 +:105F1000F102892F8095817080FB90F919F09660CD +:105F2000986025C0997F977F22C09091F10291FBE4 +:105F3000882780F921E0822780FB91F913C0909196 +:105F4000F10292FB882780F921E0822780FB92F9F9 +:105F500009C09091F10293FB882780F921E0822704 +:105F600080FB93F99093F102882359F0916090930C +:105F7000F10207C0895303C08D5101C080E00E9427 +:105F80001D2F81E0089580E0089580E00895CF936B +:105F9000C82F80910003813071F020F0823009F029 +:105FA00089C037C0A0918B01B0918C018C91823255 +:105FB00009F082C007C0A0918B01B0918C018C9137 +:105FC000823249F48C2F0E94C32F81111EC08C2F66 +:105FD0000E942E2F1CC08C2F0E94C52F811115C02E +:105FE000C43169F030F4CB3081F0C03109F068C0C1 +:105FF00009C0C93221F0C83309F062C006C010924E +:1060000000035EC082E08093000381E090E0817035 +:106010005AC0C932C9F060F4C431B1F020F4C730BD +:1060200009F04CC034C0CE51C63008F047C017C08C +:10603000CE3439F120F4CB3409F040C01CC0C13556 +:10604000C1F0C235D9F513C080910103882319F03E +:106050001092010333C081E08093000334C0EC2F21 +:10606000F0E0E25EFD4F80818093010327C061E094 +:1060700003C061E007C06AE0809101030E94542ED2 +:106080001DC06AE0809101030E94CB2E17C08EE1F3 +:106090008093920182E3809391018AE08093900142 +:1060A00084E180938F0188E080938E0188E2809361 +:1060B0008D0104C01092000380E005C081E003C0A0 +:1060C00080E090E0A4CFCF9108950E94FD2B811134 +:1060D00002C00E94DE2B0E94232C8093040480FFC8 +:1060E00002C0869501C080E00C949B03809104045B +:1060F000982F9695292F30E0233031054CF49F5F7F +:10610000990F8170892B8160809304040E94272C51 +:106110008091040486950C949B0380910404982F2D +:10612000969591F09158990F8170892B8093040472 +:106130008E7F91E009F490E08091040490FB80F957 +:10614000809304040E94272C8091040486950C946B +:106150009B0380910404982F909590FB80F9809385 +:1061600004040E94272C8091040480FF02C08695BD +:1061700001C080E00C949B0330910404232F2695EA +:106180002F5F2F77822F90E0317004972CF4220F2D +:10619000232B2093040402C0309304048091040450 +:1061A000282F2E7F91E009F490E090FB80F98093F6 +:1061B00004040E94272C8091040486950C949B0370 +:1061C00020910404922F96959827990F822F817021 +:1061D000892B809304048E7F91E009F490E08091F4 +:1061E000040490FB80F9809304040E94272C809182 +:1061F000040486950C949B035058BB27AA270ED005 +:1062000075C166D130F06BD120F031F49F3F11F4AD +:106210001EF45BC10EF4E095E7FB51C1E92F77D185 +:1062200080F3BA17620773078407950718F071F4B3 +:106230009EF58FC10EF4E0950B2EBA2FA02D0B0109 +:10624000B90190010C01CA01A0011124FF27591BBB +:1062500099F0593F50F4503E68F11A16F040A22FC1 +:10626000232F342F4427585FF3CF46953795279532 +:10627000A795F0405395C9F77EF41F16BA0B620B31 +:10628000730B840BBAF09150A1F0FF0FBB1F661F78 +:10629000771F881FC2F70EC0BA0F621F731F841FBB +:1062A00048F4879577956795B795F7959E3F08F0E1 +:1062B000B3CF9395880F08F09927EE0F97958795A0 +:1062C0000895D9D008F481E008950CD00FC107D10A +:1062D00040F0FED030F021F45F3F19F0F0C05111D2 +:1062E00039C1F3C014D198F39923C9F35523B1F3FD +:1062F000951B550BBB27AA2762177307840738F035 +:106300009F5F5F4F220F331F441FAA1FA9F333D093 +:106310000E2E3AF0E0E830D091505040E695001C47 +:10632000CAF729D0FE2F27D0660F771F881FBB1F03 +:10633000261737074807AB07B0E809F0BB0B802DDD +:10634000BF01FF2793585F4F2AF09E3F510568F029 +:10635000B6C000C15F3FECF3983EDCF386957795BD +:106360006795B795F7959F5FC9F7880F911D96952B +:10637000879597F90895E1E0660F771F881FBB1F87 +:10638000621773078407BA0720F0621B730B840B34 +:10639000BA0BEE1F88F7E095089504D06894B11108 +:1063A000D9C00895BCD088F09F5790F0B92F992795 +:1063B000B751A0F0D1F0660F771F881F991F1AF010 +:1063C000BA95C9F712C0B13081F0C3D0B1E00895D9 +:1063D000C0C0672F782F8827B85F39F0B93FCCF35A +:1063E000869577956795B395D9F73EF49095809506 +:1063F000709561957F4F8F4F9F4F0895E89409C026 +:1064000097FB3EF490958095709561957F4F8F4FE7 +:106410009F4F9923A9F0F92F96E9BB279395F695FD +:10642000879577956795B795F111F8CFFAF4BB0F7B +:1064300011F460FF1BC06F5F7F4F8F4F9F4F16C0DF +:10644000882311F096E911C0772321F09EE8872F69 +:10645000762F05C0662371F096E8862F70E060E025 +:106460002AF09A95660F771F881FDAF7880F96959E +:10647000879597F90895990F0008550FAA0BE0E842 +:10648000FEEF16161706E807F907C0F012161306F6 +:10649000E407F50798F0621B730B840B950B39F436 +:1064A0000A2661F0232B242B252B21F408950A269C +:1064B00009F4A140A6958FEF811D811D089597F9DC +:1064C0009F6780E870E060E008959FEF80EC08959A +:1064D00000240A94161617061806090608950024C3 +:1064E0000A9412161306140605060895092E03943D +:1064F000000C11F4882352F0BB0F40F4BF2B11F4B1 +:1065000060FF04C06F5F7F4F8F4F9F4F089557FD0F +:106510009058440F551F59F05F3F71F04795880F11 +:1065200097FB991F61F09F3F79F0879508951216A8 +:1065300013061406551FF2CF4695F1DF08C0161654 +:1065400017061806991FF1CF869571056105089405 +:106550000895E894BB2766277727CB0197F908951C +:106560008ADF08F48FEF08950BD0C0CFB1DF28F099 +:10657000B6DF18F0952309F0A2CFA7CF1124EACFF8 +:10658000C6DFA0F3959FD1F3950F50E0551F629F92 +:10659000F001729FBB27F00DB11D639FAA27F00D7C +:1065A000B11DAA1F649F6627B00DA11D661F829FA3 +:1065B0002227B00DA11D621F739FB00DA11D621F88 +:1065C000839FA00D611D221F749F3327A00D611DA5 +:1065D000231F849F600D211D822F762F6A2F112487 +:1065E0009F5750408AF0E1F088234AF0EE0FFF1FDA +:1065F000BB1F661F771F881F91505040A9F79E3F11 +:10660000510570F05CCFA6CF5F3FECF3983EDCF312 +:10661000869577956795B795F795E7959F5FC1F74D +:10662000FE2B880F911D9695879597F90895FA018D +:10663000EE0FFF1F30962105310599F161157105A7 +:1066400061F48038BFE39B0749F168949038810575 +:1066500061F08038BFEF9B0741F0992342F5FF3F7F +:10666000E1053105210511F1E8940894E795D90178 +:10667000AA2329F4AB2FBE2FF85FD0F310C0FF5F21 +:1066800070F4A695E0F7F73950F019F0FF3A38F4B6 +:106690009F779F930CD00F9007FC905808953EF081 +:1066A00014CF60E070E080E89FE308954FE79F77A4 +:1066B0005F934F933F932F939ED02F913F914F9194 +:1066C0005F9152DF05C019F40EF0F9CE42CFFDCE36 +:1066D00026DFC8F39638C0F707F80F92E8942BE34B +:1066E0003AEA48EB5FE74EDF0F920F920F924DB7F9 +:1066F0005EB70F92C0D0ECEAF0E016D04F915F91F8 +:10670000EF91FF91E595EE1FFF1F49F0FE57E068FE +:106710004427EE0F441FFA95E1F74195550B32D00F +:106720000F9007FE26C00895DF93CF931F930F931A +:10673000FF92EF92DF927B018C01689405C0DA2E04 +:10674000EF011EDFFE01E894A59125913591459159 +:106750005591AEF3EF0162DDFE019701A801DA94D5 +:1067600079F7DF90EF90FF900F911F91CF91DF911C +:1067700008959B01AC0160E070E080E89FE3A5CD47 +:106780009ECEACC0CCDEE8F39923D9F3940F511D13 +:10679000BBF39150504094F059F0882332F0660FCB +:1067A000771F881F91505040C1F79E3F510544F715 +:1067B000880F911D9695879597F908955F3FACF0E6 +:1067C000983E9CF0BB27869577956795B79508F41A +:1067D000B1609395C1F7BB0F58F711F460FFE8CF94 +:1067E0006F5F7F4F8F4F9F4FE3CFB4CE0EF076C0D9 +:1067F0006CCE689464CE93DEC8F39923D1F3C6F3CC +:10680000DF93CF931F930F93FF92C92FDD27882328 +:106810002AF02197660F771F881FDAF720E030E013 +:1068200040E85FEB9FE3883920F0803E30F021960E +:106830008F77E3DCE4EDF0E003C0DFDCE1E0F1E0E2 +:1068400073DF8B01BE01EC01FB2E6F57710975954B +:10685000771F880B990BD4DD28E132E741E35FE332 +:106860008FDEAF2D9801AE01FF900F911F91CF9158 +:10687000DF91D4DC3BCEFA01DC01AA0FBB1F9B01E8 +:10688000AC01BF5728F422273327442750781FC074 +:10689000B75188F4AB2F0024469537952795011CF6 +:1068A000A395D2F3002069F0220F331F441FB39544 +:1068B000DAF30DD0A1CC61307105A0E88A07B946A2 +:1068C00030F49B01AC0166277727882790783096B3 +:1068D00021F0208331834283538308959F3F31F019 +:1068E000915020F4879577956795B795880F911DFE +:1068F0009695879597F90895991B79E004C0991F9B +:10690000961708F0961B881F7A95C9F78095089509 +:10691000AA1BBB1B51E107C0AA1FBB1FA617B707C5 +:1069200010F0A61BB70B881F991F5A95A9F78095E1 +:106930009095BC01CD01089597FB072E16F40094A5 +:1069400007D077FD09D00E94883407FC05D03EF4BB +:10695000909581959F4F0895709561957F4F08950B +:10696000F999FECF92BD81BDF89A992780B5089517 +:10697000A8E1B0E042E050E00C94D334262FF9991E +:10698000FECF1FBA92BD81BD20BD0FB6F894FA9A12 +:10699000F99A0FBE019608950E94BE34272F0C94D9 +:1069A000BF34DC01CB01FC01F999FECF06C0F2BD7A +:1069B000E1BDF89A319600B40D9241505040B8F7BD +:0669C0000895F894FFCFDA +:1069C60055D0A446000016440000000000004842CE +:1069D60061978A460000C843000000000000484254 +:1069E60055D024460000C84300000000000048427D +:1069F60000005C460000C84300000000000048425A +:106A060061978A4600007A4455D0A4460000C843E0 +:106A1600000000000000484200005C460000C84339 +:106A2600000000000000484255D0244600001644ED +:106A36000507000C05854000000106400000010026 +:106A4600B91049112511F010BC1001E902280814EB +:106A56000A321E4200450025002600430061006000 +:106A660000200037006400650066006700440046A9 +:106A7600002400470000000200040005000700098A +:106A8600000B000C000E001000110013001500177B +:106A96000018001A001C001D001F002100230024FE +:106AA600002600280029002B002D002F0030003280 +:106AB6000034003500370039003B006E048704A01F +:106AC60004B904E10594055E053E053F4D362002F6 +:106AD60003020000010001010101010001010102A0 +:086AE60003040506070809007E +:00000001FF -- cgit v1.2.1