From 70e99c20b4125685ae57bc769b2c3b97fbc3526c Mon Sep 17 00:00:00 2001 From: rodion Date: Wed, 8 Aug 2018 23:05:04 +0300 Subject: [PATCH] Release 1.5 --- README.md | 21 +- arduino-bin/bare-atmega328-8mhz.hex | 929 ++++++++++++ arduino-bin/micro-or-leonardo.hex | 1085 ++++++++++++++ arduino-bin/mini-nano-duemilanove-16mhz.hex | 930 ++++++++++++ arduino-mini/main.h | 8 - {arduino-mini => arduino-src}/ardubasic.ino | 24 +- {arduino-mini => arduino-src}/editor.cpp | 41 +- {arduino-mini => arduino-src}/editor.h | 4 +- {arduino-mini => arduino-src}/exectoks.cpp | 194 ++- {arduino-mini => arduino-src}/exectoks.h | 11 +- {arduino-mini => arduino-src}/expr.cpp | 0 {arduino-mini => arduino-src}/expr.h | 0 {arduino-mini => arduino-src}/extern.h | 7 +- {arduino-mini => arduino-src}/main.cpp | 163 ++- arduino-src/main.h | 11 + {arduino-mini => arduino-src}/mystdlib.h | 0 {arduino-mini => arduino-src}/mytypes.h | 9 + {arduino-mini => arduino-src}/textual.h | 5 +- {arduino-mini => arduino-src}/tokenint.h | 0 {arduino-mini => arduino-src}/tokens.cpp | 43 +- {arduino-mini => arduino-src}/tokens.h | 1 + {arduino-mini => arduino-src}/utils.cpp | 35 +- {arduino-mini => arduino-src}/utils.h | 2 +- stm32f103/miskatino.hex | 1462 +++++++++++++++++++ 24 files changed, 4777 insertions(+), 208 deletions(-) create mode 100644 arduino-bin/bare-atmega328-8mhz.hex create mode 100644 arduino-bin/micro-or-leonardo.hex create mode 100644 arduino-bin/mini-nano-duemilanove-16mhz.hex delete mode 100644 arduino-mini/main.h rename {arduino-mini => arduino-src}/ardubasic.ino (90%) rename {arduino-mini => arduino-src}/editor.cpp (71%) rename {arduino-mini => arduino-src}/editor.h (77%) rename {arduino-mini => arduino-src}/exectoks.cpp (76%) rename {arduino-mini => arduino-src}/exectoks.h (54%) rename {arduino-mini => arduino-src}/expr.cpp (100%) rename {arduino-mini => arduino-src}/expr.h (100%) rename {arduino-mini => arduino-src}/extern.h (83%) rename {arduino-mini => arduino-src}/main.cpp (54%) create mode 100644 arduino-src/main.h rename {arduino-mini => arduino-src}/mystdlib.h (100%) rename {arduino-mini => arduino-src}/mytypes.h (76%) rename {arduino-mini => arduino-src}/textual.h (65%) rename {arduino-mini => arduino-src}/tokenint.h (100%) rename {arduino-mini => arduino-src}/tokens.cpp (93%) rename {arduino-mini => arduino-src}/tokens.h (97%) rename {arduino-mini => arduino-src}/utils.cpp (85%) rename {arduino-mini => arduino-src}/utils.h (95%) create mode 100644 stm32f103/miskatino.hex diff --git a/README.md b/README.md index 8febf70..67d69a4 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,27 @@ -**Miskatino Basic for Arduino Mini (with 2k RAM) v1.1** +# Miskatino Releases -Just open it in your Arduino IDE and upload to your chip. +### Miskatino Basic for Arduino -It could also be compiled for other Arduinos with sufficient RAM, -e.g. for Arduino Pro Micro / Leonardo. +It can be used with various chips having at least 2k of RAM: + +- Arduino Pro Mini / Nano / Duemilanove (AtMega328) +- Arduino Pro Micro / Leonardo (AtMega32u4) + +Just open the folder `arduino-src` in your Arduino IDE and upload to your chip. + +It will work with default `Serial` connection (i.e. first UART on Mini or USB on Micro). However you may want to change `Serial` in this case so that MCU works with UART interface (D0-D1) instead of USB - this can be helpful when attaching Bluetooth module, for example. Just change `Serial` to `Serial1` in the `ardubasic.ino`. +Note that default baud rate is 115200. To work with BlueTooth modules it should +be either changed to 9600 or the module itself should be reconfigured to higher speed. + +### Miskatino Basic for STM32F103 +Upload the hex file to your controller. It will work via first UART. Default +baud rate is 115200. +Pins 0-15 are assigned to PA0-PA15. ADC pins are the same as digital pins 0-7. diff --git a/arduino-bin/bare-atmega328-8mhz.hex b/arduino-bin/bare-atmega328-8mhz.hex new file mode 100644 index 0000000..3117d25 --- /dev/null +++ b/arduino-bin/bare-atmega328-8mhz.hex @@ -0,0 +1,929 @@ +:100000000C94F4000C941C010C941C010C941C0125 +:100010000C941C010C941C010C941C010C941C01EC +:100020000C941C010C941C010C941C010C941C01DC +:100030000C941C010C941C010C941C010C941C01CC +:100040000C9424180C941C010C942F1B0C94611B11 +:100050000C941C010C941C010C941C010C941C01AC +:100060000C941C010C941C010A436D64206F7220D7 +:10007000566172206578702D640A53796D626F6CD9 +:1000800020273D27206578702D640A4E616D65201C +:1000900065787065637465640A53796D626F6C206E +:1000A000273B27206578702D640A4578747261209B +:1000B000636861727320617420656E640A556E65B1 +:1000C00078706563746564206572726F720A4E752C +:1000D0006D626572206F7574206F662072616E6745 +:1000E000650A4E756D62657220657870656374652A +:1000F000640A556E65787065637465642073796D04 +:10010000626F6C0A556E6578702D64206C696E653F +:1001100020656E640A004D69736B6174696E6F20AF +:10012000424153494320312E350A636F64653A20BA +:100130000A766172733A200A6E6578743A200A4230 +:100140005245414B0A456E64206F6620636F6465BB +:100150000A53617665640A4C6F616465640A62796A +:100160007465730A4C6F6164206661696C65640A2A +:100170004175746F72756E20696E203120736563EE +:100180000A43616E63656C6564210A000000000823 +:10019000000201000003040700000000000000004E +:1001A000010204081020408001020408102001020E +:1001B00004081020040404040404040402020202DB +:1001C00002020303030303030000000023002600D0 +:1001D000290000000000250028002B00000000007E +:1001E000240027002A00911B11241FBECFEFD8E066 +:1001F000DEBFCDBF11E0A0E0B1E0EEE5F9E302C063 +:1002000005900D92A239B107D9F726E0A2E9B1E035 +:1002100001C01D92A93CB207E1F711E0C8EED1E0A0 +:1002200004C02297FE010E94781CC63ED107C9F780 +:100230000E94FD1B0C94AD1C0C940000DC01ED91A0 +:10024000FC910190F081E02D0994CF93C82F8A3062 +:1002500019F46DE070E00AC0883061F468E070E085 +:100260008CE296E00E941E0160E270E08CE296E073 +:100270000E941E016C2F772767FD70958CE296E037 +:10028000CF910C941E010C9425018F3F59F580E00D +:100290000E94121980917C00807F8E6080937C0088 +:1002A00061E070E080E090E00E949D1880917A000B +:1002B000806480937A0080917A0086FDFCCF209143 +:1002C0007800309179001216130674F4442737FD34 +:1002D0004095542F64EB7BE281E190E00E94431C47 +:1002E000C90108950C9412198FEF9FEF08950E9491 +:1002F000C71921E0019709F020E0822F0895CF93DC +:10030000DF93C82FD62F67FD0CC061E00E945819FB +:1003100061E0D11101C060E08C2FDF91CF910C948E +:1003200091196F3F11F460E001C062E08C2FDF9102 +:10033000CF910C945819CF93DF93EC018230910543 +:1003400014F40E946E180E946E189E01442737FD17 +:100350004095542F0E94211CC901DF91CF9108952F +:100360000F931F93CF93DF93EA01882329F0813005 +:1003700029F508E610E002C006E111E080E090E017 +:1003800016164CF4F801E80FF91FE4910196EA30D3 +:10039000C9F76150F5CF080F191FF80184918A3011 +:1003A00051F0209719F08883219602C00E94250100 +:1003B0000F5F1F4FF2CF209709F01882DF91CF9186 +:1003C0001F910F9108958C3921E0920749F08F36E3 +:1003D000934019F480E490E008958FEF9FEF089523 +:1003E00081E490E008958F3C21E0920769F0853523 +:1003F00023E0920731F08C39914049F08FEF9FEF65 +:10040000089580E090E0089582E090E0089581E012 +:1004100090E00895FB01882319F0813031F00895B0 +:10042000A081B18182818C930895628180810C9436 +:100430007F01FB01813051F0823079F0811110C0D1 +:100440000190F081E02D808190E0089580810E94EC +:100450007701992787FD9095089580810C94450137 +:1004600080E090E008951F93CF93DF93EC0110E0BC +:100470001C161D0634F42197CE010E94971C1827E4 +:10048000F7CF812FDF91CF911F910895EF92FF92C7 +:100490000F931F93CF93DF93EC01009799F56115AC +:1004A000710561F4C0919201D0919301CE010E9437 +:1004B0003302682FCE010E949F1C07C01092930147 +:1004C000109292011616170614F491E051C081E0C3 +:1004D00090E00E94971CC82FD0E0DC2FCC2780E052 +:1004E00090E00E94971C9E01282BC90121503109E0 +:1004F0002B3B3240E0F503960E94330291E08823C3 +:10050000B9F135C016161706ACF48C01060F171F8B +:10051000699180919201909193019C012F5F3F4FCF +:1005200030939301209392010E949F1CC017D10722 +:1005300079F7CBCFEE24FF24E61AF70A8C01C80125 +:100540008C1B9D0B8E159F050CF0BFCF80919201E7 +:10055000909193019C012F5F3F4F30939301209323 +:1005600092010E94971CF80181938F01E8CF90E0DF +:10057000892FDF91CF911F910F91FF90EF900895F8 +:1005800026E040E052EC61E070E08CE296E00E94F0 +:10059000D31A68E270E08CE291E00C946F108CE268 +:1005A00096E00E94F019181619062CF48CE296E0D9 +:1005B0000E94091A089580E008950E94CF02809356 +:1005C000F4050C94C510E091F805F091F90511823D +:1005D000108282E090E09093F7058093F6051092E8 +:1005E000F50508959093F9058093F8050C94E302BE +:1005F0008091F4058D3011F08A3099F484E991E00E +:100600000E944116E091F505FF27E7FDF095EC56B5 +:10061000FE4F10821092F5058AE00E94430181E0AE +:100620000895883011F08F3759F48091F505181628 +:10063000ACF498E09093F40581508093F5050EC0DA +:10064000803264F0E091F50591E09E0F9093F505FE +:10065000FF27E7FDF095EC56FE4F80838091F4056F +:100660000E94430180E00895E091F805F091F905BA +:10067000208131812115310551F0281739073CF4CB +:10068000228130E02D5F3F4FE20FF31FF1CFCF010A +:1006900008958F929F92AF92BF92CF92DF92EF9286 +:1006A000FF920F931F93CF93DF937C016B01CB01DC +:1006B0000E943403EC01888199818C159D0511F508 +:1006C0000A8110E00D5F1F4F0C0F1D1F4091F805B0 +:1006D0005091F9058091F6059091F705480F591F43 +:1006E000401B510BB801CE010E94851C0C1B1D0B39 +:1006F0008091F6059091F705801B91099093F7057D +:100700008093F605F70101900020E9F78F01015071 +:1007100011090E191F090023B9F15801BB2440919A +:10072000F8055091F9058091F6059091F705480F6D +:10073000591F4C1B5D0B4501F3E08F0E911CBE0150 +:10074000CE01880D991D0E94851C8091F60590911F +:10075000F705880D991D9093F7058093F605D982CA +:10076000C8820A83A501B701CE010396DF91CF911C +:100770001F910F91FF90EF90DF90CF90BF90AF90BF +:100780009F908F900C947C1CDF91CF911F910F91C3 +:10079000FF90EF90DF90CF90BF90AF909F908F90A1 +:1007A000089561E070E080E090E00E9446028823B6 +:1007B000B9F062E070E086EF95E00E944602609139 +:1007C000F6057091F7058091F8059091F9050E9462 +:1007D000460260E070E080E090E00E94460281E026 +:1007E00008956FEF7FEF80E090E00E94460288233B +:1007F000D1F06EEF7FEF86EF95E00E9446026091A8 +:10080000F6057091F7057195619571098091F8056C +:100810009091F9050E94460260E070E080E090E06F +:100820000E94460281E00895EF92FF920F931F937A +:10083000CF93DF931F92CDB7DEB70091F8051091EB +:10084000F9056FEF7FEF80E090E00E944602882379 +:1008500009F466C06EEF7FEF84E991E00E944602E2 +:100860006EEF7FEFC8010E944602F80180819181FE +:10087000892B09F442C0609114067091150684E931 +:1008800091E00E9416167801F2E0EF0EF11C6FEF76 +:100890007FEFCE0101960E944602698170E071955A +:1008A0006195710984E991E00E944602E981F0E0D6 +:1008B000EC56FE4F1082609114067091150684E983 +:1008C00091E00E94161680911406909115060E94E0 +:1008D0005C118983F8018283AC015527609114066D +:1008E00070911506C80103960E947C1C098110E0D6 +:1008F0000F5F1F4F0E0D1F1DB3CF60E070E080E053 +:1009000090E00E9446028091F8059091F905081B3D +:10091000190B0E5F1F4F1093F7050093F60581E04A +:100920000F90DF91CF911F910F91FF90EF9008955D +:10093000E0911106F091120680910D0690910E063D +:100940009C012F5F3F4F30930E0620930D06880FBA +:10095000991FE80FF91F8081918190932201809364 +:10096000210108958FEF9FE7909322018093210149 +:10097000089580911F0690912006FC01208122237A +:1009800031F00E9452119093200680931F06089523 +:10099000E0911F06F09120068081882319F00E94C3 +:1009A000B904F6CF0895E0911F06F09120068181E9 +:1009B000928190932201809321010C94B904E091DB +:1009C0001106F091120680910D0690910E06019786 +:1009D00090930E0680930D06880F991FE80FF91F5C +:1009E000809121019091220191838083E0911F06E3 +:1009F000F0912006818192819093220180932101C0 +:100A00000C94B904809113068260809313068FE3DF +:100A10000E946C16E0911F06F091200682810E94D0 +:100A20006C168DE30C946C16109208061092070653 +:100A30001092060680910B0690910C0690930E067C +:100A400080930D06E0910906F0910A06118210824A +:100A5000089520910806809106069091070634E0DB +:100A60002302800D911D112408957695679570934A +:100A70000C0660930B0690930A06809309069093E8 +:100A80001206809311060C941405FC0181819927AC +:100A900087FD90952081223030F022813FE72302AC +:100AA000800D911D1124089560910806772767FD38 +:100AB0007095A0910906B0910A0640E050E04617F3 +:100AC0005707C4F49B01240F351F35952795F9016D +:100AD000EE0FFF1FEE0FFF1FEA0FFB1F0190F081CB +:100AE000E02DE817F90714F0B901E9CFA9014F5F2C +:100AF0005F4FE5CF842F0895CF93DF93EC010E94E1 +:100B00005405E0910906F0910A0694E08902E00D8F +:100B1000F11D1124808191818C179D0719F4828128 +:100B2000938102C080E090E0DF91CF910895CF9350 +:100B3000DF93C82FDD27C7FDD095DF67CE010E9468 +:100B40005405E0910906F0910A0694E08902E00D4F +:100B5000F11D1124808191818C179D0719F48281E8 +:100B6000938102C08FEF9FEFDF91CF910895EF92B5 +:100B7000FF920F931F93CF93DF938C017B010E9411 +:100B800054052091090630910A06E82FFF27E7FD5A +:100B9000F095EF01CC0FDD1FCC0FDD1FB9016C0FFD +:100BA0007D1FDB014D915C914017510731F1409160 +:100BB00008068417ACF4552747FD50954E1B5F0B74 +:100BC000440F551F440F551F80910606909107064C +:100BD000480F591FCE010496820F931F0E94851C57 +:100BE000E0910906F0910A06EC0FFD1F11830083C6 +:100BF000809108068F5F80930806E0910906F091C6 +:100C00000A06EC0FFD1FF382E282DF91CF911F9164 +:100C10000F91FF90EF900895FF920F931F93CF9342 +:100C2000DF93E0911F06F09120068181C82FDD2718 +:100C3000C7FDD095DF678F71992787FD90959093B9 +:100C40000106809300060E94B904E0911F06F0910E +:100C50002006018112810E94B904E0911F06F091E3 +:100C600020068081882329F00E94B904FF24F39490 +:100C700002C022E0F22ECE010E945405E091090646 +:100C8000F0910A0694E08902E00DF11D11248081A3 +:100C900091818C179D0701F16091060670910706FE +:100CA00081E0F81203C080E090E802C080E090E0AC +:100CB000682B792BCE010E94B705F09E9001F19E22 +:100CC000300D11248091060690910706820F931F24 +:100CD0009093070680930606DF91CF911F910F91A5 +:100CE000FF900895DC014091020650910306609147 +:100CF00004067091050680E090E084179507BCF427 +:100D00009A01280F391F35952795F901EE0FFF1F1E +:100D1000EE0FFF1FE60FF71F0190F081E02DEA179D +:100D2000FB0714F0A901E9CFC9010196E6CF0895A8 +:100D3000CF93DF93EC010E947206880F991F880FF2 +:100D4000991FE0910406F0910506E80FF91F8081D4 +:100D500091818C179D0749F48091F8059091F905D0 +:100D600022813381820F931F02C080E090E0DF91E7 +:100D7000CF910895EF92FF920F931F93CF93DF933C +:100D80008C017B010E9472069C01409102065091E9 +:100D90000306EC01CC0FDD1FCC0FDD1F8417950778 +:100DA000A4F48091040690910506421B530B440F56 +:100DB000551F440F551FBC016C0F7D1F9E012C5FFA +:100DC0003F4F820F931F0E94851CE0910406F09113 +:100DD0000506EC0FFD1F11830083F382E2828091F0 +:100DE00002069091030601969093030680930206F3 +:100DF000DF91CF911F910F91FF90EF900895209177 +:100E0000110630911206E0910D06F0910E06AF0129 +:100E10004F5F5F4F50930E0640930D06AF01440F96 +:100E2000551FD901A40FB51F6D917C9111978F3279 +:100E300009F452C01CF5863209F4C5C054F483325B +:100E400009F4B3C0853209F452C0813209F0DEC022 +:100E500061C08B3279F18D32B1F18A3209F0D6C09E +:100E6000FA013296E20FF31F20813181269FC001E3 +:100E7000279F900D369F900D1124C6C08E3509F422 +:100E8000BBC054F48D3309F46CC08E3309F45CC0DC +:100E90008C3309F0BBC04BC08C3709F49DC024F4DF +:100EA0008B3709F46AC008958D3709F472C08E3704 +:100EB00039F10895FA013296E20FF31F8081918192 +:100EC000860F971FA1C0FA013296E20FF31F8081AF +:100ED0009181861B970B98C0FA013296E20FF31F9F +:100EE000808191810E940D1C718360830895FA01B5 +:100EF0003296E20FF31F808191810E940D1C84C005 +:100F0000F0930E06E0930D067195619571096D934E +:100F10007C930895F0930E06E0930D0681E090E037 +:100F2000672B11F080E090E08D939C930895FA0177 +:100F30003296E20FF31F81E090E020813181261785 +:100F400037070CF461C03CC0FA013296E20FF31F80 +:100F500081E090E020813181621773070CF454C066 +:100F60002FC0FA013296E20FF31F81E090E020815A +:100F700031812617370721F547C0FA013296E20F73 +:100F8000F31F81E090E02081318162177307E4F55F +:100F900017C0FA013296E20FF31F81E090E0208142 +:100FA00031812617370784F50BC0FA013296E20F1C +:100FB000F31F81E090E0208131812617370721F56A +:100FC00080E090E021C0FA013296E20FF31F8081A9 +:100FD0009181892B61F008C0FA013296E20FF31F6C +:100FE00080819181892B29F481E0672B19F480E0BD +:100FF00001C081E090E008C0FA013296E20FF31FD1 +:101000008081918186279727918380830895CF934C +:10101000DF930E940B188F3F21E09207D9F4809153 +:101020000D0690910E06880F991FE0911106F09120 +:101030001206E80FF91F808191812091F405332772 +:1010400027FD309531832083892B09F469C01092E4 +:10105000F40566C0893C910599F480910D06909144 +:101060000E06880F991FC0911106D0911206C80F65 +:10107000D91F888199810E949B019983888350C0E0 +:10108000833D21E09207A1F480910D0690910E0618 +:10109000880F991FE0911106F0911206E80FF91FD1 +:1010A0008081918197FF3CC09195819591092FC0D6 +:1010B0000E94F301EC01E0910D06F0910E06809183 +:1010C000110690911206D7FD25C0BF01660F771F4C +:1010D000680F791F8C2F0E941902C050DF4F2881A2 +:1010E000332727FD30952150310940910D0650914D +:1010F0000E06240F351F30930E0620930D06220F87 +:10110000331FE0911106F0911206E20FF31F918355 +:10111000808306C0EE0FFF1FE80FF91F11821082B7 +:10112000DF91CF9108950E949705E0910D06F0910F +:101130000E0620911106309112068F3F4FEF940753 +:1011400039F4EE0FFF1FE20FF31F11821082089592 +:10115000492F441F4427441F62E0641B9F77EE0F12 +:10116000FF1FE20FF31F7091080640815181640355 +:101170009001659F300D1124820F931F24E07202AD +:10118000800D911D1124A0910906B0910A06A80FA7 +:10119000B91F623019F48D919C9102C08C9190E03E +:1011A000918380830895CF93DF93E0911F06F091A0 +:1011B00020068081833209F45CC03CF4803149F11F +:1011C0008232E9F181115DC00CC0823351F083336A +:1011D00009F454C0803309F054C081810E94FF0695 +:1011E00050C0E0911106F091120680910D06909189 +:1011F0000E069C012F5F3F4F30930E0620930D0685 +:10120000880F991FE80FF91F80819181DF91CF919D +:101210000895A0911106B091120680910D0690914B +:101220000E06019790930E0680930D062181328160 +:10123000880F991FA80FB91F2D933C9322C0C0910E +:101240001106D091120680910D0690910E0601971D +:1012500090930E0680930D06880F991FC80FD91F13 +:10126000CF0101960E9445050E947C0599838883E1 +:1012700008C0CF0101960E94070803C081810E9427 +:1012800093080E94B90491CFCF93DF9380911F06FA +:101290009091200601960E944505EC010E94B90438 +:1012A0000E94D308BC01CE01DF91CF910C94B70509 +:1012B00080911F0690912006FC012081223399F035 +:1012C000203421F0211106C00C94281701960E94A9 +:1012D0007A1609C00E94D308BC01882777FD809543 +:1012E000982F0E9495160E94B904E2CFE0911F0644 +:1012F000F09120068081882349F0823321F00E94FA +:10130000D3080E946C160E94B904F0CF08950E9481 +:10131000D308892B59F4E0911F06F09120068081B3 +:10132000882319F00E94B904F6CF08950C94B904EB +:101330000F931F93CF93DF9300D0CDB7DEB78B0110 +:1013400049835A830E94970549815A818F3F2FEF25 +:101350009207F9F0292F221F2227221F62E0621B29 +:101360009F777091080660039001619F300D1124F2 +:10137000820F931FE4E07E02800D911D1124E09105 +:101380000906F0910A06E80FF91F4083623009F45C +:1013900051830F900F90DF91CF911F910F9108957E +:1013A0001F93CF93DF93E0911F06F09120061181E8 +:1013B0000E94B9040E94D308EC010E94B9040E9463 +:1013C000D308AC01BE01812FDF91CF911F910C9406 +:1013D0009809CF93DF93C0910006CF71C0648FEB63 +:1013E0008C0F8A3108F056C0E0911F06F09120065C +:1013F0008081803111F0D0E019C04181528160912B +:10140000000670910106D5E075956795DA95E1F7CC +:101410008C2F0E9498092091000630910106205ED1 +:101420003F4F30930106209300062BC02D2F33270A +:1014300027FD3095E0911F06F0912006418150E094 +:1014400024173507F4F4E20FF31F4281552747FDB7 +:1014500050956091000670910106B5E0759567950D +:10146000BA95E1F78C2F0E949809209100063091DF +:101470000106205E3F4F3093010620930006DF5F98 +:10148000D5CF0E94B904E0911F06F091200680811B +:101490008111AACFDF91CF910895CF93DF93EC0113 +:1014A00081E090E00E949B019093FD058093FC05F4 +:1014B000D093FB05C093FA05DF91CF9108950E9468 +:1014C000D3080E944D0A8091130681608093130611 +:1014D000089581E090E00E949B012091FC053091ED +:1014E000FD05AC01421B530B81E02091FA053091C0 +:1014F000FB05241735070CF080E008950E94690A67 +:10150000882329F0809113068E7F80931306089517 +:10151000CF93DF938091F4058823D1F00E94F802E5 +:101520008823B1F084E991E00E947517EC01809165 +:101530001F069091200601960E944505BE010E945B +:10154000B7050E94B904809113068D7F809313061E +:10155000DF91CF910895DF92EF92FF920F931F9347 +:10156000CF93DF93E82EE82FFF27E7FDF095ED5F9F +:10157000FE4FD0800D2D112707FD109520910D06EF +:1015800030910E06201B310B30930E0620930D0672 +:10159000F12CC0910D06D0910E06209111063091CC +:1015A0001206FD1484F4CF0DD11DF7FCDA95CC0F93 +:1015B000DD1FC20FD31F0E94D308998388830E9426 +:1015C000B904F394E6CFBE01660F771F620F731F55 +:1015D0008E2D0E940A0280910D0690910E06800FBA +:1015E000911F90930E0680930D06DF91CF911F916E +:1015F0000F91FF90EF90DF900895CF93DF93EC0170 +:101600009093200680931F0688818823D1F00E9442 +:10161000B904898180346CF4E82FEE0FFF0BEB5F87 +:10162000FE4F0190F081E02D09958981823021F4EF +:1016300008C080540E94AB0AC0911F06D0912006BA +:10164000E3CFDF91CF91089540E050E065E080E086 +:101650000E94B0010C9428178091130684FD0E940B +:10166000F103809113068C7C809313060895CF9329 +:10167000DF9380912101909122010E943403EC01BB +:1016800088819981009731F40E942C0B0E94240BD1 +:1016900081E022C0019690932201809321014A812A +:1016A00050E0BE016D5F7F4F84E991E00E947C1C99 +:1016B000EA81F0E0EC56FE4F1082609114067091C2 +:1016C000150684E991E00E94161680911406909107 +:1016D00015060E94FD0A80E0DF91CF9108950E94D7 +:1016E0002C0B1092FF051092FE0580910B06909135 +:1016F0000C0690930E0680930D0640E050E064E0E7 +:1017000080E00E94B0010C942817009729F0909374 +:10171000FF058093FE0508958091FE059091FF05D9 +:101720008F3F2FEF920729F001979093FF05809349 +:10173000FE050E94370B882321F01092FF051092BE +:10174000FE058091FE059091FF05892B11F40C9404 +:101750002C0B089581E090E0909322018093210169 +:101760000E9434039093100680930F061092030694 +:10177000109202068091F8059091F9052091F605E6 +:101780003091F705820F931F90930506809304060E +:101790008091130680618093130608950F931F9321 +:1017A000CF93DF93E0910F06F09110068081918135 +:1017B000892B31F08091210190912201892B41F4F4 +:1017C0000E942C0BDF91CF911F910F910C94240B51 +:1017D000C281D0E02396CE0FDF1F8881998190933C +:1017E000220180932101CF0103960E94FD0A0091FE +:1017F000210110912201888199818017910709F1B7 +:10180000C8010E9498069093100680930F06892BBA +:10181000E1F4C8010E9434039093100680930F06F0 +:101820002091F8053091F905BC01621B730B809182 +:10183000210190912201DF91CF911F910F910C9482 +:10184000BA06D0931006C0930F06DF91CF911F9177 +:101850000F9108950E94F910FC0180818D3211F0E2 +:10186000813261F40E94C712E0911D06F0911E06BC +:1018700081818D3229F48EE7818302C080E0089552 +:1018800081E00895CF930E94B111882339F00E941E +:10189000F910FC018081883271F526C080E00E9439 +:1018A000D7148823A1F00E94F910FC018081E091F7 +:1018B0001D06F0911E06883239F483E2808381E0B0 +:1018C0000E948111C6E61AC082E2808314C00E9481 +:1018D000F910FC01C081C83219F40E94C7120EC071 +:1018E0000E942A0C811109C00E94F91069E00E942F +:1018F0004511C5E603C0CBE201C0C1E38C2FCF91F7 +:1019000008950E94F910FC018081882329F18B330E +:1019100019F1893219F18C3219F1982F9D7F9D327E +:1019200081F096ED980F923060F08E3551F09BED7E +:10193000980F923030F094EC980F933010F08C3771 +:1019400021F40E94C71281E308950E94F91069E012 +:101950000E94451185E6089583E7089589E2089578 +:101960008CE20895CF93DF931F92CDB7DEB71816A0 +:101970003CF00E94F91069E00E94451185E60EC016 +:1019800069830E94C712698116163CF4E0911D0616 +:10199000F0911E0681E3808361838BE20F90DF91DB +:1019A000CF910895811107C00E94F91069E00E944B +:1019B000451185E608950E94C71281E3089581527A +:1019C0008E3530F4E82FF0E0EC5DFE4F8081089515 +:1019D0008FEF0895813231F091E08E3709F090E079 +:1019E000892F089581E00895883281F0E0911F06E3 +:1019F000F091200690E390838183CF010E945211E1 +:101A00009093200680931F0681E0089580E008955A +:101A10008F929F92AF92BF92CF92DF92EF92FF92FE +:101A20000F931F93CF93DF93CDB7DEB760970FB6B9 +:101A3000F894DEBF0FBECDBF7C018C01BB24BA94ED +:101A400083E3D82E98E2C92EF8018081813009F411 +:101A5000AEC0823211F0803161F4B80180911F066E +:101A6000909120060E942C1180911F0690912006D3 +:101A700093C0803309F03FC0F801A180F8E2AF16AF +:101A800009F4A6C089E2A81619F0ECE2AE1218C05B +:101A900099249A949B0CE1E0F0E0EC0FFD1FEB0D14 +:101AA000F11DB7FCFA9580810E94F40C882311F097 +:101AB000B92CEECFFCE2AF1609F474C0B92C72C099 +:101AC0008A2D0E94DF0C982E8A2D0E94EA0C81112B +:101AD0009394B7FC7DC0E1E0F0E0EC0FFD1FEB0D4F +:101AE000F11DB7FCFA958080882D0E94DF0C8915C6 +:101AF0000CF079C06DC08332D1F481E08B0DE1E050 +:101B0000F0E0EC0FFD1FE80FF11D87FDFA95C8010D +:101B10008E199F098083B394B394E1E0F0E0EC0F59 +:101B2000FD1FEB0DF11DB7FCFA95C0823BC0813360 +:101B3000C9F5AA24AA94AB0CE1E0F0E0EC0FFD1F7C +:101B4000EB0DF11DB7FCFA9580810E94F40C8823FF +:101B500011F0BA2CEECFBA94BA94E1E0F0E0EC0FB9 +:101B6000FD1FEA0DF11DA7FCFA958081B701680FF2 +:101B7000711D87FD7A9580911F06909120060E9425 +:101B80002C11E0911F06F09120068181813019F41B +:101B9000D08282818183CF010E94521190932006CE +:101BA00080931F06C8010E9452118C014DCFB7FCD3 +:101BB0001FC01FEF1B0DE1E0F0E0EC0FFD1FEB0D70 +:101BC000F11DB7FCFA9580810E94F40CB12EEFCF85 +:101BD000B394E1E0F0E0EC0FFD1FEB0DF11DB7FC5D +:101BE000FA95A082DFCFBA94882D0E94F40C71CFB1 +:101BF00060960FB6F894DEBF0FBECDBFDF91CF91D8 +:101C00001F910F91FF90EF90DF90CF90BF90AF901A +:101C10009F908F900895FF920F931F93CF93DF9320 +:101C2000CDB7DEB7C05AD1090FB6F894DEBF0FBEEC +:101C3000CDBF8C01E0911F06F0912006FF24F394A4 +:101C4000F082AF01481B590B4F5F5F4FBC01CE01C3 +:101C500001960E947C1C1093200600931F06CE0163 +:101C600001960E94080DE0911F06F0912006F08277 +:101C700010921E0610921D06C056DF4F0FB6F89444 +:101C8000DEBF0FBECDBFDF91CF911F910F91FF90AF +:101C90000895EF92FF920F931F93CF93DF93CDB7E9 +:101CA000DEB760970FB6F894DEBF0FBECDBF0091D0 +:101CB0001F061091200619820E94F910FC01F08085 +:101CC000F11006C00E94F9106AE00E94451155C04B +:101CD000F12C81E3EE24E3948C32B9F18CF4893257 +:101CE00031F18B3209F18832B9F7F394E1E0F0E099 +:101CF000EC0FFD1FEF0DF11DF7FCFA95108206C0E9 +:101D00008536D1F1863629F0813331F70E94420CB5 +:101D10002AC0F394E1E0F0E0EC0FFD1FEF0DF11DA0 +:101D2000F7FCFA95E082F2CF0E94810C1CC0E1E042 +:101D3000F0E0EC0FFD1FEF0DF11DF7FCFA9560814F +:101D40008F2D0E94B20CFA940EC0E1E0F0E0EC0F8F +:101D5000FD1FEF0DF11DF7FCFA95808191E0980FC2 +:101D600090830E94D20C833709F0B6CFC8010E943D +:101D70000B0EFF24F39401C0F12C8F2D60960FB64B +:101D8000F894DEBF0FBECDBFDF91CF911F910F91B1 +:101D9000FF90EF9008950F931F93CF93DF9380915F +:101DA0001806909119060E943403EC0188819981EC +:101DB000892B59F4809118069091190602972CF0FE +:101DC00081E090E00E943403EC0100E010E06881C3 +:101DD00079816115710529F1809116069091170698 +:101DE00008171907F4F4CB01019690931906809314 +:101DF0001806882777FD8095982F0E94951680E217 +:101E00000E946C16CE0102960E947A160E94281734 +:101E10008881998101960E943403EC010F5F1F4F66 +:101E2000D6CFDF91CF911F910F9108950E9452114B +:101E30000E945211FC012081203191F421813281D4 +:101E400030931906209318060E945211FC0120813C +:101E5000203131F481819281909317068093160688 +:101E60000C94CB0E80911406909115060E9452118D +:101E70000E94521120911306206220931306FC0148 +:101E80002081203119F48181928102C081E090E0AB +:101E90000C94850B0E94D103882321F00E94140426 +:101EA0000C94AA0B8FEF9FEF0C94850B0E94D1032B +:101EB00040E050E066E080E00E94B00180E20E94D5 +:101EC0006C166091F6057091F7056E5F7F4F88275D +:101ED00077FD8095982F0E94951680E20E946C16DF +:101EE00040E050E068E080E00E94B0010C942817C8 +:101EF0000E94F10340E050E08823D1F067E080E0E9 +:101F00000E94B00180E20E946C166091F60570910B +:101F1000F7056E5F7F4F882777FD8095982F0E9489 +:101F2000951680E20E946C1640E050E068E001C027 +:101F300069E080E00E94B0010C9428170E94E3023F +:101F40000C94140540E050E061E080E00E94B00194 +:101F50006091F6057091F705882777FD8095982F99 +:101F60000E9495160E94281740E050E062E080E051 +:101F70000E94B0010E942905BC01882777FD809549 +:101F8000982F0E9495160E94281740E050E063E0C9 +:101F900080E00E94B00160912101709122018827A8 +:101FA00077FD8095982F0E9495160C9428178091A4 +:101FB0001406909115060E945714863B23E0920761 +:101FC00031F480911406909115060C94160F82310D +:101FD00023E0920711F40C94320F8C3A21E092071F +:101FE00011F40C944A0F853723E0920711F40C94F6 +:101FF000560F8A3923E0920711F40C94780F8A392E +:1020000026E0920711F40C949E0F833B934011F449 +:102010000C94A20F84E991E00E943B1684E991E0C0 +:102020000E946E1680E20E946C160E943616845939 +:102030009140BC01882777FD8095982F6F5F7F4F77 +:102040008F4F9F4F0E9495160C942817CF93DF93C4 +:1020500080919401882351F16091140670911506C6 +:1020600084E991E00E9416160E943616892B21F011 +:10207000DF91CF910C94D70F8091140690911506A3 +:10208000FC012081203121F0DF91CF910C94FD0AD9 +:10209000FC01C181D28184E991E00E9464160E9412 +:1020A000F817BE01DF91CF910C944903DF91CF91D6 +:1020B00008950E941404882381F040E050E06AE013 +:1020C00080E00E94B0010E94281788EE93E00E94F1 +:1020D0004D0A84E08093130608950C949E0F0F938D +:1020E0001F93CF93DF93EC018B010E94281740E0F0 +:1020F00050E060E080E00E94B0010E942817CE010D +:10210000845F9D4F0E94F202BE018CE092E00E942B +:10211000350581E090E0909319068093180683E0DE +:1021200090E0909317068093160610921306B8015C +:102130006C567E4F709315066093140684E991E007 +:10214000DF91CF911F910F910C9459108091F4055C +:1021500018167CF4809113068B7F8093130640E061 +:1021600050E06BE080E00E94B0010E9428170C94C0 +:10217000F1030E94690A882339F0809113068B7F4E +:10218000809313060C94AA0B08952091F405233034 +:1021900029F48091130683608093130680911306BF +:1021A000982F9371903111F40C94CE0B982F93705B +:1021B000923031F0933039F0913041F40C947E0A32 +:1021C0000E94880A13C00E946F0B10C085FF04C0D4 +:1021D00080E090E00C94850B82FD0C94A610121602 +:1021E0003CF40E94F80281110E9426101092F4051E +:1021F000089580912106909122060895FC01208186 +:1022000024326CF42232D4F42031A9F01CF42230B0 +:10221000D0F01CC0203291F02132D9F017C0223307 +:1022200091F01CF42033ACF411C0233391F020540E +:10223000223020F00BC083E090E00895FC01818102 +:1022400090E00296089581E090E0089580E090E0AB +:10225000089582E090E008950F931F93CF93DF934A +:1022600000D0CDB7DEB78C01CB0169837A830E94A1 +:10227000FE10AC0169817A81C8010F900F90DF9147 +:10228000CF911F910F910C947C1C60931A06909330 +:102290001C0680931B06E0911F06F091200681E04A +:1022A00080830895CF93DF93EC010E94FE108C0F82 +:1022B0009D1FDF91CF910895CF93DF93EC01FC0137 +:1022C0002081222319F00E945211F9CF8C1B9D0B03 +:1022D0000196DF91CF9108950E94F81790932206FE +:1022E0008093210680911F069091200690931E06F0 +:1022F00080931D060E9452119093200680931F0622 +:1023000008952091210630912206A901480F511D00 +:1023100087FD5A95CA010E94F81790932206809370 +:1023200021060895E0912106F091220680818732EE +:10233000B1F4A0911F06B091200680E18C938181B9 +:1023400090E012969C938E931197CF0102969093F2 +:102350002206809321060E946C1181E0089580E09E +:102360000895CF92DF92EF92FF920F931F93CF9336 +:10237000DF931F92CDB7DEB7E0912106F0912206E0 +:1023800080810E943A1781110BC00F90DF91CF918D +:102390001F910F91FF90EF90DF90CF900C949211CE +:1023A000E0911F06F091200680E180831282118265 +:1023B000E0912106F09122068081803381F48181B1 +:1023C0000E942B17E0912106F0912206883549F4EE +:1023D0003296F0932206E093210620E108C02AE01D +:1023E00006C081810E942B17823431F028E0022F31 +:1023F000112707FD10950BC08091210690912206B0 +:102400000296909322068093210622E0F0CFE0917D +:102410002106F0912206622F808129830E944117B4 +:10242000E0912106F09122062981882339F1C0909C +:102430001F06D0902006D60111968D919C9112977F +:10244000089F7001099FF00C189FF00C1124622F57 +:10245000808129830E946917E80EF11C87FDFA9498 +:10246000F601F282E1828091210690912206019686 +:1024700090932206809321062981C9CFCF010E9423 +:102480006C1181E00F90DF91CF911F910F91FF9020 +:10249000EF90DF90CF9008958091210690912206D1 +:1024A000FC012081222329F065E00E94451180E093 +:1024B0000895E0911F06F0912006108281E00895B2 +:1024C000CF93DF936091210670912206FB0101906A +:1024D0000020E9F73197E61BF70BA0911F06B0919A +:1024E000200681E48C931196EC931197EF01DD2780 +:1024F000AE01CD0102960E947C1C80912106909134 +:1025000022068C0F9D1F0E946C11DF91CF910C94BD +:102510004C120F931F93CF93DF93009121061091DC +:102520002206F8018081823261F5A0911F06B091E8 +:10253000200680E48C93E801219621E030E0AE0192 +:102540006991611114C08FEF820F11968C9381E015 +:1025500090E0FA014081423211F080E090E0820F79 +:10256000931F800F911F0E946C1181E00BC062329B +:1025700051F3CD01820F931FFC0161832F5F3F4F09 +:10258000DECF80E0DF91CF911F910F910895CF931F +:10259000DF93C0911F06D091200680E38883E091ED +:1025A0002106F091220680818C3339F491819E338B +:1025B00059F09D3379F48BE708C08E3359F491813B +:1025C0009D3341F48DE701C083E23196F0932206FA +:1025D000E09321060E942B17898380912106909118 +:1025E000220601960E946C1181E0DF91CF9108953F +:1025F000CF93DF93C0912106D09122060E94B111A2 +:10260000882389F0E0911D06F0911E062181328118 +:10261000215031092033354730F067E0CE010E9468 +:10262000451180E001C081E0DF91CF910895809154 +:10263000210690912206FC0120812B3329F064E0D1 +:102640000E94451180E00895E0911F06F091200658 +:1026500022E3208301960E946C1181E00895E091AD +:102660002106F091220620E0CF013191332341F081 +:10267000383211F42F5FF8CF3932B1F72150A1F77A +:102680000895CF938091210690912206FC0120812C +:102690002D33F1F0283211F062E016C00E942F13A2 +:1026A000FC01C081C11104C06AE00E94451113C041 +:1026B00001960E94F817FC0180818D3359F062E089 +:1026C00080912106909122060E944511C0E003C02E +:1026D000C8E001C0C9E08C2FCF910895CF93DF935C +:1026E0000E942F13EC018BE3888320912106309107 +:1026F00022062F5F3F4F30932206209321060E942F +:10270000490E882329F00E94171389E2888381E00B +:10271000DF91CF9108950F931F93CF93DF930E9482 +:102720004113182F811102C080E050C0E0911F06B4 +:10273000F091200601E20083C0911D06D0911E0693 +:10274000CE010E94FE10AC01BE01CE0102960E9495 +:10275000851CE0911D06F0911E0600831183CF01B8 +:102760000E945211FC019093200680931F0619309D +:1027700021F483E3808382818183F0931E06E093BA +:102780001D06CF010E9452119093200680931F06D0 +:10279000193081F0809121069091220601960E94C5 +:1027A000F81790932206809321060E94490E8823F1 +:1027B00059F005C00E946E138111ECCFB5CF0E9475 +:1027C0004C1291E0811101C090E0892FDF91CF91EF +:1027D0001F910F9108950E948912811102C00C94DB +:1027E000490E81E008950E94490E882371F0E0911E +:1027F0002106F09122068081882329F00E94171378 +:10280000882319F0F0CF0C944C1280E008950E94B8 +:10281000EB13882371F0E0912106F091220680816C +:10282000882329F00E941713882319F0F0CF0C9405 +:102830004C1280E008950E94B111811104C00E94E1 +:102840008912882349F0E0912106F09122068081C7 +:102850008111F1CF0C944C1268E080912106909187 +:1028600022060E94451180E00895CF93C82F1816C4 +:102870004CF0CF910C944C12C150D9F30E94171315 +:10288000882321F00E94490E8111F6CF80E0CF917C +:1028900008950E94B11181110C944C1268E080914E +:1028A0002106909122060E94451180E00895FC01C6 +:1028B0002081207F203219F401960C940B1880E0BF +:1028C00090E0089580911F06909120060E94571471 +:1028D0008A3D23E0920709F44BC0D4F48C3CF1E02C +:1028E0009F0709F43FC04CF4843D910579F18F387E +:1028F000E1E09E0709F444C03EC08F3CF1E09F0731 +:10290000A1F18D3C23E09207B1F58CE090E03AC054 +:102910008E35E7E09E0709F446C04CF4833E23E081 +:102920009207B9F08C37E6E09E07D1F124C08C3ACB +:10293000F7E09F0789F08E302DE0920781F0833811 +:10294000E7E09E07C1F48BE090E01CC083E090E0DC +:1029500019C084E090E016C085E090E013C086E0E6 +:1029600090E010C087E090E00DC08AE090E00AC0DF +:102970008DE090E007C00E94E30197FD17C002C000 +:1029800080E090E0E0911F06F091200691E29083B4 +:102990008183CF010E94521121E0FC012083089520 +:1029A00081E090E0EFCF82E090E0ECCF0895FF92DD +:1029B0000F931F93CF93DF93F82EE0912106F091B0 +:1029C000220680810E9431178823A1F1E0911F0621 +:1029D000F091200680E28083C0E0D0E0E091210603 +:1029E000F0912206EC0FFD1F80810E94E0170091FC +:1029F0001F0610912006882379F0E0912106F091BE +:102A00002206EC0FFD1F80810E942B17F801EC0FAE +:102A1000FD1F82832196E2CFF801C183F1100E944D +:102A2000621480912106909122068C0F9D1F0E94B6 +:102A30006C1181E0DF91CF911F910F91FF9008956C +:102A4000CF9380E00E94D714C82F811108C063E0A3 +:102A500080912106909122060E94451107C0E091C5 +:102A60001D06F0911E0682E28083C1E08C2FCF917B +:102A7000089580E00E94D714811102C063E02BC04A +:102A8000E0911D06F0911E0683E38083828181839D +:102A9000CF010E9452119093200680931F060E943E +:102AA000B111E0912106F0912206811103C068E086 +:102AB000CF0115C08081811102C00C944C120E947C +:102AC000C712882339F0E0911D06F0911E0681811E +:102AD000823499F369E080912106909122060E9448 +:102AE000451180E0089580911F06909120060E9474 +:102AF00052119093200680931F0680E00E94D71405 +:102B00008111FBCF0E94B1118111F7CF0E94891270 +:102B10008111F3CFE0911F06F091200681E08083C0 +:102B20000895CF9381E00E94D714C82F811108C067 +:102B300061E080912106909122060E94451161C0BA +:102B4000E0911D06F0911E068081813241F00E94C5 +:102B50008B13C82F811154C00E94731552C0E1819C +:102B6000E11103C0CF910C9460128CEF8E0F823074 +:102B700018F4CF910C9449148AEF8E0F823018F418 +:102B8000CF910C944C12E13019F4CF910C940714AE +:102B9000E23051F40E942015882381F10E944C12EA +:102BA000C1E081112EC02AC0E33019F4CF910C94FA +:102BB0000416EA3019F4CF910C943915EB3011F466 +:102BC00081E012C0EC3019F4CF910C941B14ED305D +:102BD00019F4CF910C94F313E0344CF0FF27E7FD88 +:102BE000F095ED53FF4F8081CF910C94351466E042 +:102BF00080912106909122060E944511C0E001C0FB +:102C0000C1E08C2FCF9108950E94490E882369F06E +:102C10000E941713882341F00E94911591E08111C1 +:102C200001C090E0892F089580E0089590932206D6 +:102C3000809321067093200660931F0610921E0653 +:102C400010921D0660E080E090E00E9445110E9415 +:102C5000F812882351F0E0912106F091220680813C +:102C600081110C9491150C944C12089580911B06BF +:102C700090911C060895AC0160911A0681E00C94B5 +:102C8000B001FC01AF01481B590B2191211102C079 +:102C9000FC0103C02132B4F3FBCF9F01281B390B89 +:102CA000DF01A40FB51F6C91662311F06193F5CF7E +:102CB000FC01E20FF31F21503109108237FD03C0E0 +:102CC00082918132C4F30895FC0101962081205342 +:102CD0002A30D0F3CF0108950C942501CF93DF93D0 +:102CE000EC018991882319F00E942501FACFDF9128 +:102CF000CF9108950F931F93CF93DF938C01C0E082 +:102D0000D0E09E012196F801808190E028173907D4 +:102D10003CF4F801EC0FFD1F80810E942501F1CFEA +:102D2000DF91CF911F910F9108954F925F926F9213 +:102D30007F928F929F92AF92BF92CF92DF92EF924B +:102D4000FF921F93CF93DF9300D01F92CDB7DEB7D2 +:102D50006B017C0197FF0CC08DE20E942501F0946D +:102D6000E094D094C094C11CD11CE11CF11C05C09E +:102D7000611571058105910569F0812C9AEC992EF8 +:102D80009AE9A92E9BE3B92E2AE0422E512C612C00 +:102D9000712C15C080E30F900F900F90DF91CF91B1 +:102DA0001F91FF90EF90DF90CF90BF90AF909F90DA +:102DB0008F907F906F905F904F900C942501C81476 +:102DC000D904EA04FB044CF4C501B401A301920147 +:102DD0000E94431C49015A01F2CF8AE0482E512C2F +:102DE000612C712C181419041A041B04F4F4C70183 +:102DF000B601A50194010E94431C182F80E3820FA5 +:102E000069837A839B830E9425016981C62E7A811A +:102E1000D72EE12E9B81F92EC501B401A3019201A9 +:102E20000E94431C49015A01DDCF0F900F900F9073 +:102E3000DF91CF911F91FF90EF90DF90CF90BF90E7 +:102E4000AF909F908F907F906F905F904F9008957C +:102E50008AE00C9425019FE9980F9A3108F480527A +:102E600008950E942B179FEB980F81E09A3108F08C +:102E700080E0089590ED980F81E09A3008F080E0AE +:102E80000895CF93DF931F92CDB7DEB78033E4F080 +:102E90008A333CF4282F332727FD30952F523109F0 +:102EA0000CC069830E942B17698181346CF0282F34 +:102EB000332727FD309526533109772767FD709515 +:102EC00081E0621773070CF480E00F90DF91CF91DF +:102ED0000895803344F08A3314F4805308950E9497 +:102EE0002B178753089580E00895AF92BF92DF9229 +:102EF000EF92FF920F931F93CF93DF9300D0CDB744 +:102F0000DEB75C01FC0180818D3231F4FFEFAF1A36 +:102F1000BF0A2FEF298302C031E03983F501808198 +:102F2000803351F481810E942B17883569F4F2E0D7 +:102F3000AF0EB11C90E101C09AE000E010E0E92E74 +:102F4000FF24E7FCF0940CC0823429F02FEFA21A82 +:102F5000B20A98E0F2CF32E0A30EB11C92E0EDCFBE +:102F6000F501D1905F01692F8D2D9A830E94411741 +:102F70009A81882399F0F801EE9D8001EF9D100D54 +:102F8000FE9D100D1124692F8D2D9A830E946917C3 +:102F9000080F111D87FD1A959A81E2CF2981200320 +:102FA000C001219F900D11240F900F90DF91CF91C0 +:102FB0001F910F91FF90EF90DF90BF90AF90089519 +:102FC00090ED980F9A3040F00E94311791E08111F6 +:102FD00001C090E0892F089581E00895893034F090 +:102FE0008E3014F0803211F481E0089580E008956D +:102FF0000F931F93CF93DF93EC018E012196F8017D +:1030000080810E94EE178111F8CFC801DF91CF9126 +:103010001F910F910895FC01508180E090E040E005 +:1030200045178CF49C01220F331FDF01A40FB11D43 +:1030300047FDBA9511968C91992787FD9095822727 +:1030400093274F5FEDCF08951F920F920FB60F9207 +:1030500011242F933F938F939F93AF93BF938091AE +:10306000240690912506A0912606B091270630915E +:10307000230626E0230F2D3720F40296A11DB11D53 +:1030800005C029E8230F0396A11DB11D2093230637 +:103090008093240690932506A0932606B0932706D6 +:1030A0008091280690912906A0912A06B0912B06BE +:1030B0000196A11DB11D8093280690932906A09327 +:1030C0002A06B0932B06BF91AF919F918F913F91AC +:1030D0002F910F900FBE0F901F9018952FB7F89457 +:1030E000609124067091250680912606909127060E +:1030F0002FBF08953FB7F894809128069091290634 +:10310000A0912A06B0912B0626B5A89B05C02F3F9B +:1031100019F00196A11DB11D3FBF6627782F892F99 +:103120009A2F620F711D811D911D43E0660F771F5D +:10313000881F991F4A95D1F708958F929F92AF9259 +:10314000BF92CF92DF92EF92FF926B017C010E94BF +:103150007A184B015C01C114D104E104F104F1F0CF +:103160000E940C1C0E947A18681979098A099B0927 +:10317000683E73408105910570F321E0C21AD108C1 +:10318000E108F10888EE880E83E0981EA11CB11CAE +:10319000C114D104E104F10429F7DDCFFF90EF90D1 +:1031A000DF90CF90BF90AF909F908F9008957894CC +:1031B00084B5826084BD84B5816084BD85B582603C +:1031C00085BD85B5816085BDEEE6F0E080818160DA +:1031D0008083E1E8F0E010828081826080838081DA +:1031E00081608083E0E8F0E0808181608083E1EBB2 +:1031F000F0E0808184608083E0EBF0E0808181609A +:103200008083EAE7F0E0808184608083808182604F +:10321000808380818E7F808380818068808310920C +:10322000C10008958E3008F08E50877020912301E0 +:1032300090E4299F90011124822B80937C0080913F +:103240007A00806480937A0080917A0086FDFCCFBA +:10325000809178002091790090E0922B089583303E +:1032600081F028F4813099F08230A1F00895873000 +:10327000A9F08830B9F08430D1F4809180008F7D3E +:1032800003C0809180008F7780938000089584B57B +:103290008F7702C084B58F7D84BD08958091B00082 +:1032A0008F7703C08091B0008F7D8093B000089528 +:1032B000CF93DF9390E0FC01E056FE4F2491FC0198 +:1032C000EC54FE4F8491882349F190E0880F991FB8 +:1032D000FC01E452FE4FA591B4918E529E4FFC0129 +:1032E000C591D4919FB7611108C0F8948C91209535 +:1032F00082238C93888182230AC0623051F4F8942F +:103300008C91322F309583238C938881822B8883F4 +:1033100004C0F8948C91822B8C939FBFDF91CF9146 +:1033200008950F931F93CF93DF931F92CDB7DEB70E +:10333000282F30E0F901E457FE4F8491F901E0565F +:10334000FE4F1491F901EC54FE4F04910023C9F093 +:10335000882321F069830E942F196981E02FF0E012 +:10336000EE0FFF1FEE52FE4FA591B4919FB7F89458 +:103370008C91611103C01095812301C0812B8C9326 +:103380009FBF0F90DF91CF911F910F910895CF9321 +:10339000DF93282F30E0F901E457FE4F8491F901C3 +:1033A000E056FE4FD491F901EC54FE4FC491CC236A +:1033B00091F081110E942F19EC2FF0E0EE0FFF1F0A +:1033C000E853FE4FA591B4912C912D2381E090E01C +:1033D00021F480E002C080E090E0DF91CF91089579 +:1033E000FC01818D228D90E0805C9F4F821B9109B2 +:1033F0008F7399270895FC01918D828D981731F074 +:10340000828DE80FF11D858D90E008958FEF9FEF7D +:103410000895FC01918D828D981761F0828DDF01F6 +:10342000A80FB11D5D968C91928D9F5F9F73928FB7 +:1034300090E008958FEF9FEF089587E89BE1892B37 +:1034400049F080E090E0892B29F00E94871B8111D0 +:103450000C9400000895FC01848DDF01A80FB11DBC +:10346000A35ABF4F2C91848D90E001968F739927BA +:10347000848FA689B7892C93A089B1898C918064A7 +:103480008C93938D848D981306C00288F389E02D68 +:1034900080818F7D80830895CF93DF93EC01888DA9 +:1034A0008823C9F0EA89FB89808185FD05C0A88948 +:1034B000B9898C9186FD0FC00FB607FCF5CF8081CE +:1034C00085FFF2CFA889B9898C9185FFEDCFCE0118 +:1034D0000E942B1AE7CFDF91CF910895CF92DF9210 +:1034E000FF920F931F93CF93DF931F92CDB7DEB759 +:1034F0006C0181E0D60158968C9358975B969C910D +:103500005B975C968C915C97981307C05096ED91F1 +:10351000FC915197808185FD2EC0F601038D10E04E +:103520000F5F1F4F0F731127F02EF601848DF812D5 +:1035300011C00FB607FCF9CFD6015096ED91FC9162 +:103540005197808185FFF1CFC60169830E942B1AB4 +:103550006981EBCF838DE80FF11DE35AFF4F608344 +:10356000D6015B960C935B975296ED91FC91539725 +:10357000808180620CC0D6015696ED91FC915797E0 +:1035800060835096ED91FC91519780818064808397 +:1035900081E090E00F90DF91CF911F910F91FF900C +:1035A000DF90CF900895BF92CF92DF92EF92FF927B +:1035B000CF93DF93EC016A017B01B22E60E874E8DF +:1035C0008EE190E0A70196010E94211C2150310953 +:1035D000410951095695479537952795E889F98905 +:1035E00082E08083211580E1380798F0E889F98925 +:1035F000108260E472E48FE090E0A70196010E94DF +:10360000211C21503109410951095695479537959B +:103610002795EC85FD853083EE85FF852083188E08 +:10362000EC89FD89B082EA89FB8980818061808391 +:10363000EA89FB89808188608083EA89FB898081AF +:1036400080688083EA89FB8980818F7D8083DF9118 +:10365000CF91FF90EF90DF90CF90BF9008951F9291 +:103660000F920FB60F9211242F938F939F93EF9386 +:10367000FF93E0913C06F0913D068081E091420687 +:10368000F091430682FD12C09081809145068F5FC4 +:103690008F7320914606821751F0E0914506F0E0C5 +:1036A000E45DF94F958F8093450601C08081FF91BD +:1036B000EF919F918F912F910F900FBE0F901F90C0 +:1036C00018951F920F920FB60F9211242F933F93CC +:1036D0004F935F936F937F938F939F93AF93BF931A +:1036E000EF93FF938CE296E00E942B1AFF91EF91EB +:1036F000BF91AF919F918F917F916F915F914F910A +:103700003F912F910F900FBE0F901F9018958CE254 +:1037100096E00E94F01921E0892B09F420E0822F25 +:10372000089510922F0610922E0688EE93E0A0E0E6 +:10373000B0E08093300690933106A0933206B093A8 +:10374000330686E891E090932D0680932C0685EC55 +:1037500090E0909339068093380684EC90E0909343 +:103760003B0680933A0680EC90E090933D06809370 +:103770003C0681EC90E090933F0680933E0682ECFD +:1037800090E0909341068093400686EC90E0909301 +:103790004306809342061092450610924606109208 +:1037A0004706109248060895CF92DF92EF92FF925B +:1037B0000F931F93CF93DF937C016A01EB0100E02D +:1037C00010E00C151D0571F06991D701ED91FC9188 +:1037D0000190F081E02DC7010995892B19F00F5F49 +:1037E0001F4FEFCFC801DF91CF911F910F91FF9035 +:1037F000EF90DF90CF90089508950E94D7180E940F +:10380000FC1B0E94C002CDE1DAE10E94DD0220979C +:10381000E1F30E941D1AF9CF089597FB072E16F4C5 +:10382000009407D077FD09D00E94621C07FC05D0E8 +:103830003EF4909581959F4F0895709561957F4FC7 +:103840000895A1E21A2EAA1BBB1BFD010DC0AA1FE1 +:10385000BB1FEE1FFF1FA217B307E407F50720F0F9 +:10386000A21BB30BE40BF50B661F771F881F991F74 +:103870001A9469F760957095809590959B01AC01BD +:10388000BD01CF010895052E97FB1EF400940E9400 +:103890005A1C57FD07D00E94211C07FC03D04EF490 +:1038A0000C945A1C50954095309521953F4F4F4FA1 +:1038B0005F4F089590958095709561957F4F8F4FDC +:1038C0009F4F0895AA1BBB1B51E107C0AA1FBB1F36 +:1038D000A617B70710F0A61BB70B881F991F5A959C +:1038E000A9F780959095BC01CD010895EE0FFF1FBB +:1038F0000590F491E02D0994FB01DC0102C00190D8 +:103900000D9241505040D8F708956817790768F430 +:10391000FB01DC01E40FF51FA40FB51F02C00290EC +:103920000E9241505040D8F708950C947C1CF999A0 +:10393000FECF92BD81BDF89A992780B50895262FB4 +:10394000F999FECF1FBA92BD81BD20BD0FB6F89484 +:0E395000FA9AF99A0FBE01960895F894FFCFE7 +:10395E000101010202C804580902058709D304DFD8 +:10396E00049804B2044409D0090C065F0AE90976EA +:10397E000901000119FF0AFF1405FF00FF140FFFD4 +:10398E000FFF14FFFFFFFFFFFFFFFFFFFFFFFF0A09 +:10399E000A0AFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:1039AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1039BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1039CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFF0A05E8 +:1039DE000A19000000006E1AD41BF019091AFB19FF +:0239EE004C1A71 +:00000001FF diff --git a/arduino-bin/micro-or-leonardo.hex b/arduino-bin/micro-or-leonardo.hex new file mode 100644 index 0000000..84dab1c --- /dev/null +++ b/arduino-bin/micro-or-leonardo.hex @@ -0,0 +1,1085 @@ +:100000000C9484010C94AC010C94AC010C94AC01E4 +:100010000C94AC010C94AC010C94AC010C94AC01AC +:100020000C94AC010C94AC010C948D1F0C941F1E0D +:100030000C94AC010C94AC010C94AC010C94AC018C +:100040000C94AC010C94AC010C94AC010C94AC017C +:100050000C94AC010C94AC010C94AC010C94AC1855 +:100060000C94AC010C94AC010C94AC010C94AC015C +:100070000C94AC010C94AC010C94AC010C94AC014C +:100080000C94AC010C94AC010C94AC010C94AC013C +:100090000C94AC010C94AC010C94AC010C94AC012C +:1000A0000C94AC010C94AC010C94AC01FE19011A37 +:1000B000F019F419FA19221A221A221A051A091A21 +:1000C0000D1A131A171A221A1D1A0A436D64206F8B +:1000D0007220566172206578702D640A53796D62C2 +:1000E0006F6C20273D27206578702D640A4E616D66 +:1000F000652065787065637465640A53796D626F15 +:100100006C20273B27206578702D640A457874722F +:100110006120636861727320617420656E640A55A2 +:100120006E6578706563746564206572726F720ABB +:100130004E756D626572206F7574206F66207261F6 +:100140006E67650A4E756D626572206578706563CD +:100150007465640A556E65787065637465642073B0 +:10016000796D626F6C0A556E6578702D64206C69CC +:100170006E6520656E640A004D69736B6174696E0B +:100180006F20424153494320312E350A636F646525 +:100190003A200A766172733A200A6E6578743A20C2 +:1001A0000A425245414B0A456E64206F6620636FD8 +:1001B00064650A53617665640A4C6F616465640A1C +:1001C00062797465730A4C6F6164206661696C655D +:1001D000640A4175746F72756E20696E20312073E8 +:1001E00065630A43616E63656C6564210A000706F6 +:1001F00005040100080A0B0C0D09000000020009AB +:100200000F0000030401000C0000000000000000CB +:1002100000000000000000000004080201104080FF +:1002200040102040804080080204018040201002DD +:10023000011080102040402004040404040304053D +:100240000202020204030202020206060606060673 +:100250000404020202040400000000230026002916 +:10026000002C002F0000000000250028002B002E8D +:1002700000310000000000240027002A002D00307B +:1002800000080B0002020201000904000001020242 +:1002900000000524001001052401010104240206C8 +:1002A0000524060001070581031000400904010030 +:1002B000020A000000070502024000000705830251 +:1002C00040000012010002EF02014041233780008C +:1002D0000101020301120100020000004041233726 +:1002E0008000010102030141726475696E6F204C48 +:1002F0004C430041726475696E6F204D6963726F83 +:10030000000403090400C11B11241FBECFEFDAE073 +:10031000DEBFCDBF11E0A0E0B1E0E2E0F3E402C057 +:1003200005900D92A63AB107D9F726E0A6EAB1E00A +:1003300001C01D92A83AB207E1F713E0C8E0D3E08C +:1003400004C02297FE010E943621C630D107C9F7AA +:100350000E9430200C947F210C9400008F3F59F5AF +:1003600080E00E94B51980917C00807F8E60809330 +:100370007C0061E070E080E090E00E9425198091AF +:100380007A00806480937A0080917A0086FDFCCFA9 +:1003900020917800309179001216130674F44427E6 +:1003A00037FD4095542F64EB7BE281E190E00E94A1 +:1003B0001521C90108950C94B5198FEF9FEF089589 +:1003C0000E94921A21E0019709F020E0822F0895FF +:1003D000CF93DF93C82FD62F67FD0CC061E00E943A +:1003E000231A61E0D11101C060E08C2FDF91CF9121 +:1003F0000C945C1A6F3F11F460E001C062E08C2F36 +:10040000DF91CF910C94231ACF93DF93EC018230CC +:10041000910514F40E94F6180E94F6189E014427D4 +:1004200037FD4095542F0E94F320C901DF91CF91F1 +:1004300008958C3921E0920749F08F36934019F4E2 +:1004400080E490E008958FEF9FEF089581E490E0BD +:1004500008958F3C21E0920769F0853523E09207EB +:1004600031F08C39914049F08FEF9FEF089580E093 +:1004700090E0089582E090E0089581E090E0089592 +:10048000FB01882319F0813031F00895A081B181FA +:1004900082818C930895628180810C94E801FB0134 +:1004A000813051F0823079F0811110C00190F081DB +:1004B000E02D808190E0089580810E94E0019927DD +:1004C00087FD9095089580810C94AE0180E090E0C6 +:1004D00008951F93CF93DF93EC0110E01C161D06C7 +:1004E00034F42197CE010E9469211827F7CF812F7C +:1004F000DF91CF911F910895EF92FF920F931F9379 +:10050000CF93DF93EC01009799F56115710561F4C4 +:10051000C091A601D091A701CE010E946902682F67 +:10052000CE010E94712107C01092A7011092A6016E +:100530001616170614F491E051C081E090E00E9475 +:100540006921C82FD0E0DC2FCC2780E090E00E940A +:1005500069219E01282BC901215031092B3B3240D2 +:10056000E0F503960E94690291E08823B9F135C055 +:1005700016161706ACF48C01060F171F69918091AF +:10058000A6019091A7019C012F5F3F4F3093A701D7 +:100590002093A6010E947121C017D10779F7CBCF14 +:1005A000EE24FF24E61AF70A8C01C8018C1B9D0B70 +:1005B0008E159F050CF0BFCF8091A6019091A701E9 +:1005C0009C012F5F3F4F3093A7012093A6010E940B +:1005D0006921F80181938F01E8CF90E0892FDF91A5 +:1005E000CF911F910F91FF90EF90089540E052EC52 +:1005F00061E070E080E496E00E94AC1B80E496E04D +:100600000E94B21B8823D1F368E270E08CE291E093 +:100610000C94F71080E496E00E94E51A181619066B +:100620002CF480E496E00E94F51A089580E0089585 +:100630000E940A03809308060C944D11CF93C82F93 +:100640008A3011F46DE008C0883051F468E080E42D +:1006500096E00E94BB1A60E280E496E00E94BB1A1A +:100660006C2F80E496E0CF910C94BB1A0C941E037F +:100670000F931F93CF93DF93EA01882329F08130F2 +:1006800029F50AEC10E002C008E711E080E090E0F4 +:1006900016164CF4F801E80FF91FE4910196EA30C0 +:1006A000C9F76150F5CF080F191FF80184918A30FE +:1006B00051F0209719F08883219602C00E941E03F2 +:1006C0000F5F1F4FF2CF209709F01882DF91CF9173 +:1006D0001F910F910895E0910C06F0910D06118283 +:1006E000108282E090E090930B0680930A061092AD +:1006F0000906089590930D0680930C060C946B03E5 +:10070000809108068D3011F08A3099F488EA91E0E2 +:100710000E94C916E0910906FF27E7FDF095E8550C +:10072000FE4F1082109209068AE00E94360381E093 +:100730000895883011F08F3759F480910906181602 +:10074000ACF498E0909308068150809309060EC09F +:10075000803264F0E091090691E09E0F90930906C3 +:10076000FF27E7FDF095E855FE4F8083809108064E +:100770000E94360380E00895E0910C06F0910D068A +:10078000208131812115310551F0281739073CF4BA +:10079000228130E02D5F3F4FE20FF31FF1CFCF01F9 +:1007A00008958F929F92AF92BF92CF92DF92EF9275 +:1007B000FF920F931F93CF93DF937C016B01CB01CB +:1007C0000E94BC03EC01888199818C159D0511F56F +:1007D0000A8110E00D5F1F4F0C0F1D1F40910C068A +:1007E00050910D0680910A0690910B06480F591FF3 +:1007F000401B510BB801CE010E9457210C1B1D0B51 +:1008000080910A0690910B06801B910990930B062C +:1008100080930A06F70101900020E9F78F0101504B +:1008200011090E191F090023B9F15801BB24409189 +:100830000C0650910D0680910A0690910B06480F08 +:10084000591F4C1B5D0B4501F3E08F0E911CBE013F +:10085000CE01880D991D0E94572180910A06909122 +:100860000B06880D991D90930B0680930A06D9827A +:10087000C8820A83A501B701CE010396DF91CF910B +:100880001F910F91FF90EF90DF90CF90BF90AF90AE +:100890009F908F900C944E21DF91CF911F910F91DB +:1008A000FF90EF90DF90CF90BF90AF909F908F9090 +:1008B000089561E070E080E090E00E947C0288236F +:1008C000B9F062E070E08AE096E00E947C026091FC +:1008D0000A0670910B0680910C0690910D060E94FD +:1008E0007C0260E070E080E090E00E947C0281E0A9 +:1008F00008956FEF7FEF80E090E00E947C028823F4 +:10090000D1F06EEF7FEF8AE096E00E947C0260916A +:100910000A0670910B0671956195710980910C061C +:1009200090910D060E947C0260E070E080E090E013 +:100930000E947C0281E00895EF92FF920F931F9333 +:10094000CF93DF931F92CDB7DEB700910C061091C5 +:100950000D066FEF7FEF80E090E00E947C0288231D +:1009600009F466C06EEF7FEF88EA91E00E947C0296 +:100970006EEF7FEFC8010E947C02F80180819181B7 +:10098000892B09F442C0609128067091290688EAF3 +:1009900091E00E949E167801F2E0EF0EF11C6FEFDD +:1009A0007FEFCE0101960E947C02698170E0719513 +:1009B0006195710988EA91E00E947C02E981F0E08A +:1009C000E855FE4F1082609128067091290688EA4A +:1009D00091E00E949E1680912806909129060E941F +:1009E000E4118983F8018283AC01552760912806C0 +:1009F00070912906C80103960E944E21098110E0DA +:100A00000F5F1F4F0E0D1F1DB3CF60E070E080E041 +:100A100090E00E947C0280910C0690910D06081BCC +:100A2000190B0E5F1F4F10930B0600930A0681E00F +:100A30000F90DF91CF911F910F91FF90EF9008954C +:100A4000E0912506F09126068091210690912206DC +:100A50009C012F5F3F4F3093220620932106880F81 +:100A6000991FE80FF91F8081918190932201809353 +:100A7000210108958FEF9FE7909322018093210138 +:100A800008958091330690913406FC012081222341 +:100A900031F00E94DA119093340680933306089562 +:100AA000E0913306F09134068081882319F00E948A +:100AB0004105F6CF0895E0913306F0913406818127 +:100AC000928190932201809321010C944105E09141 +:100AD0002506F09126068091210690912206019725 +:100AE0009093220680932106880F991FE80FF91F23 +:100AF000809121019091220191838083E0913306BE +:100B0000F09134068181928190932201809321019A +:100B10000C944105809127068260809327068FE31D +:100B20000E94F416E0913306F091340682810E940F +:100B3000F4168DE30C94F41610921C0610921B060A +:100B400010921A0680911F0690912006909322061B +:100B500080932106E0911D06F0911E0611821082FD +:100B6000089520911C0680911A0690911B0634E08E +:100B70002302800D911D1124089576956795709339 +:100B8000200660931F0690931E0680931D06909387 +:100B90002606809325060C949C05FC0181819927EB +:100BA00087FD90952081223030F022813FE723029B +:100BB000800D911D1124089560911C06772767FD13 +:100BC0007095A0911D06B0911E0640E050E04617BA +:100BD0005707C4F49B01240F351F35952795F9015C +:100BE000EE0FFF1FEE0FFF1FEA0FFB1F0190F081BA +:100BF000E02DE817F90714F0B901E9CFA9014F5F1B +:100C00005F4FE5CF842F0895CF93DF93EC010E94CF +:100C1000DC05E0911D06F0911E0694E08902E00DCE +:100C2000F11D1124808191818C179D0719F4828117 +:100C3000938102C080E090E0DF91CF910895CF933F +:100C4000DF93C82FDD27C7FDD095DF67CE010E9457 +:100C5000DC05E0911D06F0911E0694E08902E00D8E +:100C6000F11D1124808191818C179D0719F48281D7 +:100C7000938102C08FEF9FEFDF91CF910895EF92A4 +:100C8000FF920F931F93CF93DF938C017B010E9400 +:100C9000DC0520911D0630911E06E82FFF27E7FD99 +:100CA000F095EF01CC0FDD1FCC0FDD1FB9016C0FEC +:100CB0007D1FDB014D915C914017510731F140914F +:100CC0001C068417ACF4552747FD50954E1B5F0B4F +:100CD000440F551F440F551F80911A0690911B0613 +:100CE000480F591FCE010496820F931F0E9457216F +:100CF000E0911D06F0911E06EC0FFD1F118300838D +:100D000080911C068F5F80931C06E0911D06F09178 +:100D10001E06EC0FFD1FF382E282DF91CF911F913F +:100D20000F91FF90EF900895FF920F931F93CF9331 +:100D3000DF93E0913306F09134068181C82FDD27DF +:100D4000C7FDD095DF678F71992787FD90959093A8 +:100D50001506809314060E944105E0913306F09138 +:100D60003406018112810E944105E0913306F09121 +:100D700034068081882329F00E944105FF24F394E2 +:100D800002C022E0F22ECE010E94DC05E0911D0699 +:100D9000F0911E0694E08902E00DF11D112480817E +:100DA00091818C179D0701F160911A0670911B06C5 +:100DB00081E0F81203C080E090E802C080E090E09B +:100DC000682B792BCE010E943F06F09E9001F19E88 +:100DD000300D112480911A0690911B06820F931FEB +:100DE00090931B0680931A06DF91CF911F910F916C +:100DF000FF900895DC01409116065091170660910E +:100E000018067091190680E090E084179507BCF4ED +:100E10009A01280F391F35952795F901EE0FFF1F0D +:100E2000EE0FFF1FE60FF71F0190F081E02DEA178C +:100E3000FB0714F0A901E9CFC9010196E6CF089597 +:100E4000CF93DF93EC010E94FA06880F991F880F59 +:100E5000991FE0911806F0911906E80FF91F80819B +:100E600091818C179D0749F480910C0690910D0695 +:100E700022813381820F931F02C080E090E0DF91D6 +:100E8000CF910895EF92FF920F931F93CF93DF932B +:100E90008C017B010E94FA069C014091160650913C +:100EA0001706EC01CC0FDD1FCC0FDD1F8417950753 +:100EB000A4F48091180690911906421B530B440F1D +:100EC000551F440F551FBC016C0F7D1F9E012C5FE9 +:100ED0003F4F820F931F0E945721E0911806F09117 +:100EE0001906EC0FFD1F11830083F382E2828091CB +:100EF0001606909117060196909317068093160692 +:100F0000DF91CF911F910F91FF90EF900895209165 +:100F1000250630912606E0912106F0912206AF01C8 +:100F20004F5F5F4F5093220640932106AF01440F5D +:100F3000551FD901A40FB51F6D917C9111978F3268 +:100F400009F452C01CF5863209F4C5C054F483324A +:100F500009F4B3C0853209F452C0813209F0DEC011 +:100F600061C08B3279F18D32B1F18A3209F0D6C08D +:100F7000FA013296E20FF31F20813181269FC001D2 +:100F8000279F900D369F900D1124C6C08E3509F411 +:100F9000BBC054F48D3309F46CC08E3309F45CC0CB +:100FA0008C3309F0BBC04BC08C3709F49DC024F4CE +:100FB0008B3709F46AC008958D3709F472C08E37F3 +:100FC00039F10895FA013296E20FF31F8081918181 +:100FD000860F971FA1C0FA013296E20FF31F80819E +:100FE0009181861B970B98C0FA013296E20FF31F8E +:100FF000808191810E94DF20718360830895FA01CE +:101000003296E20FF31F808191810E94DF2084C01D +:10101000F0932206E09321067195619571096D9315 +:101020007C930895F0932206E093210681E090E0FE +:10103000672B11F080E090E08D939C930895FA0166 +:101040003296E20FF31F81E090E020813181261774 +:1010500037070CF461C03CC0FA013296E20FF31F6F +:1010600081E090E020813181621773070CF454C055 +:101070002FC0FA013296E20FF31F81E090E0208149 +:1010800031812617370721F547C0FA013296E20F62 +:10109000F31F81E090E02081318162177307E4F54E +:1010A00017C0FA013296E20FF31F81E090E0208131 +:1010B00031812617370784F50BC0FA013296E20F0B +:1010C000F31F81E090E0208131812617370721F559 +:1010D00080E090E021C0FA013296E20FF31F808198 +:1010E0009181892B61F008C0FA013296E20FF31F5B +:1010F00080819181892B29F481E0672B19F480E0AC +:1011000001C081E090E008C0FA013296E20FF31FBF +:101110008081918186279727918380830895CF933B +:10112000DF930E9493188F3F21E09207D9F48091BA +:10113000210690912206880F991FE0912506F091D3 +:101140002606E80FF91F8081918120910806332738 +:1011500027FD309531832083892B09F469C01092D3 +:10116000080666C0893C910599F48091210690910A +:101170002206880F991FC0912506D0912606C80F18 +:10118000D91F888199810E9404029983888350C065 +:10119000833D21E09207A1F48091210690912206DF +:1011A000880F991FE0912506F0912606E80FF91F98 +:1011B0008081918197FF3CC09195819591092FC0C5 +:1011C0000E942902EC01E0912106F0912206809113 +:1011D000250690912606D7FD25C0BF01660F771F13 +:1011E000680F791F8C2F0E944F02C050DF4F28815B +:1011F000332727FD30952150310940912106509128 +:101200002206240F351F3093220620932106220F39 +:10121000331FE0912506F0912606E20FF31F91831C +:10122000808306C0EE0FFF1FE80FF91F11821082A6 +:10123000DF91CF9108950E941F06E0912106F09161 +:10124000220620912506309126068F3F4FEF940706 +:1012500039F4EE0FFF1FE20FF31F11821082089581 +:10126000492F441F4427441F62E0641B9F77EE0F01 +:10127000FF1FE20FF31F70911C0640815181640330 +:101280009001659F300D1124820F931F24E072029C +:10129000800D911D1124A0911D06B0911E06A80F6E +:1012A000B91F623019F48D919C9102C08C9190E02D +:1012B000918380830895CF93DF93E0913306F0917B +:1012C00034068081833209F45CC03CF4803149F1FA +:1012D0008232E9F181115DC00CC0823351F0833359 +:1012E00009F454C0803309F054C081810E948707FB +:1012F00050C0E0912506F09126068091210690913C +:1013000022069C012F5F3F4F309322062093210637 +:10131000880F991FE80FF91F80819181DF91CF918C +:101320000895A0912506B0912606809121069091FE +:101330002206019790932206809321062181328113 +:10134000880F991FA80FB91F2D933C9322C0C091FD +:101350002506D091260680912106909122060197BC +:101360009093220680932106880F991FC80FD91FDA +:10137000CF0101960E94CD050E94040699838883BF +:1013800008C0CF0101960E948F0803C081810E948E +:101390001B090E94410591CFCF93DF9380913306C3 +:1013A0009091340601960E94CD05EC010E94410502 +:1013B0000E945B09BC01CE01DF91CF910C943F06E6 +:1013C0008091330690913406FC012081223399F0FC +:1013D000203421F0211106C00C94B01701960E9410 +:1013E000021709C00E945B09BC01882777FD809520 +:1013F000982F0E941D170E944105E2CFE09133060D +:10140000F09134068081882349F0823321F00E94D4 +:101410005B090E94F4160E944105F0CF08950E94D6 +:101420005B09892B59F4E0913306F09134068081F1 +:10143000882319F00E944105F6CF08950C944105C8 +:101440000F931F93CF93DF9300D0CDB7DEB78B01FF +:1014500049835A830E941F0649815A818F3F2FEF8B +:101460009207F9F0292F221F2227221F62E0621B18 +:101470009F7770911C0660039001619F300D1124CD +:10148000820F931FE4E07E02800D911D1124E091F4 +:101490001D06F0911E06E80FF91F4083623009F423 +:1014A00051830F900F90DF91CF911F910F9108956D +:1014B0001F93CF93DF93E0913306F09134061181AF +:1014C0000E9441050E945B09EC010E9441050E94B7 +:1014D0005B09AC01BE01812FDF91CF911F910C946C +:1014E000200ACF93DF93C0911406CF71C0648FEBB5 +:1014F0008C0F8A3108F056C0E0913306F091340623 +:101500008081803111F0D0E019C041815281609119 +:10151000140670911506D5E075956795DA95E1F793 +:101520008C2F0E94200A2091140630911506205E0F +:101530003F4F30931506209314062BC02D2F3327D1 +:1015400027FD3095E0913306F0913406418150E05B +:1015500024173507F4F4E20FF31F4281552747FDA6 +:1015600050956091140670911506B5E075956795D4 +:10157000BA95E1F78C2F0E94200A20911406309131 +:101580001506205E3F4F3093150620931406DF5F4B +:10159000D5CF0E944105E0913306F0913406808159 +:1015A0008111AACFDF91CF910895CF93DF93EC0102 +:1015B00081E090E00E94040290931106809310064F +:1015C000D0930F06C0930E06DF91CF9108950E942D +:1015D0005B090E94D50A80912706816080932706C7 +:1015E000089581E090E00E9404022091100630915D +:1015F0001106AC01421B530B81E020910E06309185 +:101600000F06241735070CF080E008950E94F10AB8 +:10161000882329F0809127068E7F809327060895DE +:10162000CF93DF93809108068823D1F00E94800336 +:101630008823B1F088EA91E00E94FD17EC018091C7 +:1016400033069091340601960E94CD05BE010E949A +:101650003F060E944105809127068D7F80932706D3 +:10166000DF91CF910895DF92EF92FF920F931F9336 +:10167000CF93DF93E82EE82FFF27E7FDF095ED5F8E +:10168000FE4FD0800D2D112707FD109520912106CA +:1016900030912206201B310B309322062093210625 +:1016A000F12CC0912106D09122062091250630917F +:1016B0002606FD1484F4CF0DD11DF7FCDA95CC0F6E +:1016C000DD1FC20FD31F0E945B09998388830E948C +:1016D0004105F394E6CFBE01660F771F620F731FBB +:1016E0008E2D0E9440028091210690912206800F4B +:1016F000911F9093220680932106DF91CF911F9135 +:101700000F91FF90EF90DF900895CF93DF93EC015E +:10171000909334068093330688818823D1F00E9409 +:101720004105898180346CF4E82FEE0FFF0BEB5FED +:10173000FE4F0190F081E02D09958981823021F4DE +:1017400008C080540E94330BC0913306D0913406F8 +:10175000E3CFDF91CF91089540E050E065E080E075 +:101760000E9438030C94B0178091270684FD0E94D4 +:101770007904809127068C7C809327060895CF9367 +:10178000DF9380912101909122010E94BC03EC0122 +:1017900088819981009731F40E94B40B0E94AC0BB0 +:1017A00081E022C0019690932201809321014A8119 +:1017B00050E0BE016D5F7F4F88EA91E00E944E21AC +:1017C000EA81F0E0E855FE4F1082609128067091A2 +:1017D000290688EA91E00E949E1680912806909141 +:1017E00029060E94850B80E0DF91CF9108950E9429 +:1017F000B40B109213061092120680911F0690915E +:101800002006909322068093210640E050E064E099 +:1018100080E00E9438030C94B017009729F0909351 +:101820001306809312060895809112069091130674 +:101830008F3F2FEF920729F0019790931306809323 +:1018400012060E94BF0B882321F0109213061092FB +:1018500012068091120690911306892B11F40C94B4 +:10186000B40B089581E090E09093220180932101D0 +:101870000E94BC03909324068093230610921706BF +:101880001092160680910C0690910D0620910A0682 +:1018900030910B06820F931F9093190680931806C0 +:1018A0008091270680618093270608950F931F93E8 +:1018B000CF93DF93E0912306F091240680819181FC +:1018C000892B31F08091210190912201892B41F4E3 +:1018D0000E94B40BDF91CF911F910F910C94AC0B30 +:1018E000C281D0E02396CE0FDF1F8881998190932B +:1018F000220180932101CF0103960E94850B009164 +:10190000210110912201888199818017910709F1A5 +:10191000C8010E9420079093240680932306892BF8 +:10192000E1F4C8010E94BC0390932406809323062F +:1019300020910C0630910D06BC01621B730B809147 +:10194000210190912201DF91CF911F910F910C9471 +:101950004207D0932406C0932306DF91CF911F91B5 +:101960000F9108950E948111FC0180818D3211F048 +:10197000813261F40E944F13E0913106F0913206FA +:1019800081818D3229F48EE7818302C080E0089541 +:1019900081E00895CF930E943912882339F00E9484 +:1019A0008111FC018081883271F526C080E00E949F +:1019B0005F158823A1F00E948111FC018081E091D4 +:1019C0003106F0913206883239F483E2808381E077 +:1019D0000E940912C6E61AC082E2808314C00E94E7 +:1019E0008111FC01C081C83219F40E944F130EC04E +:1019F0000E94B20C811109C00E94811169E00E940D +:101A0000CD11C5E603C0CBE201C0C1E38C2FCF915D +:101A100008950E948111FC018081882329F18B3374 +:101A200019F1893219F18C3219F1982F9D7F9D326D +:101A300081F096ED980F923060F08E3551F09BED6D +:101A4000980F923030F094EC980F933010F08C3760 +:101A500021F40E944F1381E308950E94811169E0EF +:101A60000E94CD1185E6089583E7089589E20895DF +:101A70008CE20895CF93DF931F92CDB7DEB718168F +:101A80003CF00E94811169E00E94CD1185E60EC0F4 +:101A900069830E944F13698116163CF4E091310668 +:101AA000F091320681E3808361838BE20F90DF91B6 +:101AB000CF910895811107C00E94811169E00E94B1 +:101AC000CD1185E608950E944F1381E30895815258 +:101AD0008E3530F4E82FF0E0E95CFE4F8081089508 +:101AE0008FEF0895813231F091E08E3709F090E068 +:101AF000892F089581E00895883281F0E0913306BE +:101B0000F091340690E390838183CF010E94DA1133 +:101B1000909334068093330681E0089580E0089521 +:101B20008F929F92AF92BF92CF92DF92EF92FF92ED +:101B30000F931F93CF93DF93CDB7DEB760970FB6A8 +:101B4000F894DEBF0FBECDBF7C018C01BB24BA94DC +:101B500083E3D82E98E2C92EF8018081813009F400 +:101B6000AEC0823211F0803161F4B8018091330649 +:101B7000909134060E94B4118091330690913406FE +:101B800093C0803309F03FC0F801A180F8E2AF169E +:101B900009F4A6C089E2A81619F0ECE2AE1218C04A +:101BA00099249A949B0CE1E0F0E0EC0FFD1FEB0D03 +:101BB000F11DB7FCFA9580810E947C0D882311F0FD +:101BC000B92CEECFFCE2AF1609F474C0B92C72C088 +:101BD0008A2D0E94670D982E8A2D0E94720D811108 +:101BE0009394B7FC7DC0E1E0F0E0EC0FFD1FEB0D3E +:101BF000F11DB7FCFA958080882D0E94670D89152C +:101C00000CF079C06DC08332D1F481E08B0DE1E03E +:101C1000F0E0EC0FFD1FE80FF11D87FDFA95C801FC +:101C20008E199F098083B394B394E1E0F0E0EC0F48 +:101C3000FD1FEB0DF11DB7FCFA95C0823BC081334F +:101C4000C9F5AA24AA94AB0CE1E0F0E0EC0FFD1F6B +:101C5000EB0DF11DB7FCFA9580810E947C0D882365 +:101C600011F0BA2CEECFBA94BA94E1E0F0E0EC0FA8 +:101C7000FD1FEA0DF11DA7FCFA958081B701680FE1 +:101C8000711D87FD7A9580913306909134060E94EC +:101C9000B411E0913306F09134068181813019F45A +:101CA000D08282818183CF010E94DA119093340621 +:101CB00080933306C8010E94DA118C014DCFB7FC26 +:101CC0001FC01FEF1B0DE1E0F0E0EC0FFD1FEB0D5F +:101CD000F11DB7FCFA9580810E947C0DB12EEFCFEB +:101CE000B394E1E0F0E0EC0FFD1FEB0DF11DB7FC4C +:101CF000FA95A082DFCFBA94882D0E947C0D71CF17 +:101D000060960FB6F894DEBF0FBECDBFDF91CF91C6 +:101D10001F910F91FF90EF90DF90CF90BF90AF9009 +:101D20009F908F900895FF920F931F93CF93DF930F +:101D3000CDB7DEB7C05AD1090FB6F894DEBF0FBEDB +:101D4000CDBF8C01E0913306F0913406FF24F3946B +:101D5000F082AF01481B590B4F5F5F4FBC01CE01B2 +:101D600001960E944E211093340600933306CE0153 +:101D700001960E94900DE0913306F0913406F082B6 +:101D80001092320610923106C056DF4F0FB6F8940B +:101D9000DEBF0FBECDBFDF91CF911F910F91FF909E +:101DA0000895EF92FF920F931F93CF93DF93CDB7D8 +:101DB000DEB760970FB6F894DEBF0FBECDBF0091BF +:101DC00033061091340619820E948111FC01F080C3 +:101DD000F11006C00E9481116AE00E94CD1155C029 +:101DE000F12C81E3EE24E3948C32B9F18CF4893246 +:101DF00031F18B3209F18832B9F7F394E1E0F0E088 +:101E0000EC0FFD1FEF0DF11DF7FCFA95108206C0D7 +:101E10008536D1F1863629F0813331F70E94CA0C1C +:101E20002AC0F394E1E0F0E0EC0FFD1FEF0DF11D8F +:101E3000F7FCFA95E082F2CF0E94090D1CC0E1E0A8 +:101E4000F0E0EC0FFD1FEF0DF11DF7FCFA9560813E +:101E50008F2D0E943A0DFA940EC0E1E0F0E0EC0FF5 +:101E6000FD1FEF0DF11DF7FCFA95808191E0980FB1 +:101E700090830E945A0D833709F0B6CFC8010E94A3 +:101E8000930EFF24F39401C0F12C8F2D60960FB6B2 +:101E9000F894DEBF0FBECDBFDF91CF911F910F91A0 +:101EA000FF90EF9008950F931F93CF93DF9380914E +:101EB0002C0690912D060E94BC03EC01888199812B +:101EC000892B59F480912C0690912D0602972CF0C5 +:101ED00081E090E00E94BC03EC0100E010E068812A +:101EE00079816115710529F180912A0690912B065F +:101EF00008171907F4F4CB01019690932D068093EF +:101F00002C06882777FD8095982F0E941D1780E268 +:101F10000E94F416CE0102960E9402170E94B0178A +:101F20008881998101960E94BC03EC010F5F1F4FCD +:101F3000D6CFDF91CF911F910F9108950E94DA11B2 +:101F40000E94DA11FC012081203191F4218132813B +:101F500030932D0620932C060E94DA11FC0120817B +:101F6000203131F48181928190932B0680932A064F +:101F70000C94530F80912806909129060E94DA1143 +:101F80000E94DA1120912706206220932706FC0187 +:101F90002081203119F48181928102C081E090E09A +:101FA0000C940D0C0E945904882321F00E949C047B +:101FB0000C94320C8FEF9FEF0C940D0C0E9459047F +:101FC00040E050E066E080E00E94380380E20E943A +:101FD000F41660910A0670910B066E5F7F4F88279A +:101FE00077FD8095982F0E941D1780E20E94F416BD +:101FF00040E050E068E080E00E9438030C94B017A5 +:102000000E94790440E050E08823D1F067E080E04E +:102010000E94380380E20E94F41660910A067091D3 +:102020000B066E5F7F4F882777FD8095982F0E9463 +:102030001D1780E20E94F41640E050E068E001C005 +:1020400069E080E00E9438030C94B0170E946B0393 +:102050000C949C0540E050E061E080E00E94380371 +:1020600060910A0670910B06882777FD8095982F5E +:102070000E941D170E94B01740E050E062E080E02F +:102080000E9438030E94B105BC01882777FD809526 +:10209000982F0E941D170E94B01740E050E063E0A7 +:1020A00080E00E943803609121017091220188270D +:1020B00077FD8095982F0E941D170C94B017809182 +:1020C0002806909129060E94DF14863B23E09207A0 +:1020D00031F480912806909129060C949E0F82314C +:1020E00023E0920711F40C94BA0F8C3A21E0920786 +:1020F00011F40C94D20F853723E0920711F40C945D +:10210000DE0F8A3923E0920711F40C9400108A390B +:1021100026E0920711F40C942610833B934011F4AF +:102120000C942A1088EA91E00E94C31688EA91E094 +:102130000E94F61680E20E94F4160E94BE16885A8B +:102140009140BC01882777FD8095982F6F5F7F4F66 +:102150008F4F9F4F0E941D170C94B017CF93DF93A2 +:102160008091A801882351F1609128067091290679 +:1021700088EA91E00E949E160E94BE16892B21F0EB +:10218000DF91CF910C945F108091280690912906E1 +:10219000FC012081203121F0DF91CF910C94850B3F +:1021A000FC01C181D28188EA91E00E94EC160E9474 +:1021B0008018BE01DF91CF910C94D103DF91CF91B4 +:1021C00008950E949C04882381F040E050E06AE07A +:1021D00080E00E9438030E94B01788EE93E00E94CE +:1021E000D50A84E08093270608950C9426100F9357 +:1021F0001F93CF93DF93EC018B010E94B01740E057 +:1022000050E060E080E00E9438030E94B017CE01E9 +:10221000805E9D4F0E947A03BE0180E292E00E94A0 +:10222000BD0581E090E090932D0680932C0683E01D +:1022300090E090932B0680932A0610922706B8010F +:1022400068557E4F709329066093280688EA91E0CE +:10225000DF91CF911F910F910C94E11080910806AE +:1022600018167CF4809127068B7F8093270640E028 +:1022700050E06BE080E00E9438030E94B0170C949D +:1022800079040E94F10A882339F0809127068B7F18 +:10229000809327060C94320C089520910806233071 +:1022A00029F4809127068360809327068091270672 +:1022B000982F9371903111F40C94560C982F9370C1 +:1022C000923031F0933039F0913041F40C94060B98 +:1022D0000E94100B13C00E94F70B10C085FF04C0B2 +:1022E00080E090E00C940D0C82FD0C942E111216DF +:1022F0003CF40E94800381110E94AE1010920806E7 +:10230000089580913506909136060895FC0120814C +:1023100024326CF42232D4F42031A9F01CF422309F +:10232000D0F01CC0203291F02132D9F017C02233F6 +:1023300091F01CF42033ACF411C0233391F02054FD +:10234000223020F00BC083E090E00895FC018181F1 +:1023500090E00296089581E090E0089580E090E09A +:10236000089582E090E008950F931F93CF93DF9339 +:1023700000D0CDB7DEB78C01CB0169837A830E9490 +:102380008611AC0169817A81C8010F900F90DF91AD +:10239000CF911F910F910C944E2160932E06909334 +:1023A000300680932F06E0913306F091340681E0E9 +:1023B00080830895CF93DF93EC010E9486118C0FE8 +:1023C0009D1FDF91CF910895CF93DF93EC01FC0126 +:1023D0002081222319F00E94DA11F9CF8C1B9D0B6A +:1023E0000196DF91CF9108950E9480189093360650 +:1023F000809335068091330690913406909332068F +:10240000809331060E94DA1190933406809333064C +:1024100008952091350630913606A901480F511DC7 +:1024200087FD5A95CA010E948018909336068093C2 +:1024300035060895E0913506F091360680818732A1 +:10244000B1F4A0913306B091340680E18C93818180 +:1024500090E012969C938E931197CF0102969093E1 +:102460003606809335060E94F41181E0089580E0DD +:102470000895CF92DF92EF92FF920F931F93CF9325 +:10248000DF931F92CDB7DEB7E0913506F0913606A7 +:1024900080810E94C21781110BC00F90DF91CF91F4 +:1024A0001F910F91FF90EF90DF90CF900C941A1234 +:1024B000E0913306F091340680E18083128211822C +:1024C000E0913506F09136068081803381F4818178 +:1024D0000E94B317E0913506F0913606883549F42D +:1024E0003296F0933606E093350620E108C02AE0E4 +:1024F00006C081810E94B317823431F028E0022F98 +:10250000112707FD10950BC0809135069091360676 +:102510000296909336068093350622E0F0CFE09144 +:102520003506F0913606622F808129830E94C917F3 +:10253000E0913506F09136062981882339F1C09063 +:102540003306D0903406D60111968D919C91129746 +:10255000089F7001099FF00C189FF00C1124622F46 +:10256000808129830E94F117E80EF11C87FDFA94FF +:10257000F601F282E182809135069091360601964D +:1025800090933606809335062981C9CFCF010E94EA +:10259000F41181E00F90DF91CF911F910F91FF9087 +:1025A000EF90DF90CF900895809135069091360698 +:1025B000FC012081222329F065E00E94CD1180E0FA +:1025C0000895E0913306F0913406108281E0089579 +:1025D000CF93DF936091350670913606FB01019031 +:1025E0000020E9F73197E61BF70BA0913306B09175 +:1025F000340681E48C931196EC931197EF01DD275B +:10260000AE01CD0102960E944E2180913506909137 +:1026100036068C0F9D1F0E94F411DF91CF910C9410 +:10262000D4120F931F93CF93DF930091350610912F +:102630003606F8018081823261F5A0913306B091AF +:10264000340680E48C93E801219621E030E0AE016D +:102650006991611114C08FEF820F11968C9381E004 +:1026600090E0FA014081423211F080E090E0820F68 +:10267000931F800F911F0E94F41181E00BC0623202 +:1026800051F3CD01820F931FFC0161832F5F3F4FF8 +:10269000DECF80E0DF91CF911F910F910895CF930E +:1026A000DF93C0913306D091340680E38883E091B4 +:1026B0003506F091360680818C3339F491819E3352 +:1026C00059F09D3379F48BE708C08E3359F491812A +:1026D0009D3341F48DE701C083E23196F0933606D5 +:1026E000E09335060E94B317898380913506909157 +:1026F000360601960E94F41181E0DF91CF91089592 +:10270000CF93DF93C0913506D09136060E943912DF +:10271000882389F0E0913106F091320621813281DF +:10272000215031092033354730F067E0CE010E9457 +:10273000CD1180E001C081E0DF91CF9108958091BB +:10274000350690913606FC0120812B3329F064E098 +:102750000E94CD1180E00895E0913306F091340697 +:1027600022E3208301960E94F41181E00895E09114 +:102770003506F091360620E0CF013191332341F048 +:10278000383211F42F5FF8CF3932B1F72150A1F769 +:102790000895CF938091350690913606FC012081F3 +:1027A0002D33F1F0283211F062E016C00E94B71309 +:1027B000FC01C081C11104C06AE00E94CD1113C0A8 +:1027C00001960E948018FC0180818D3359F062E0EF +:1027D00080913506909136060E94CD11C0E003C06D +:1027E000C8E001C0C9E08C2FCF910895CF93DF934B +:1027F0000E94B713EC018BE388832091350630915A +:1028000036062F5F3F4F30933606209335060E94E1 +:10281000D10E882329F00E949F1389E2888381E0EA +:10282000DF91CF9108950F931F93CF93DF930E9471 +:10283000C913182F811102C080E050C0E091330607 +:10284000F091340601E20083C0913106D091320646 +:10285000CE010E948611AC01BE01CE0102960E94FB +:102860005721E0913106F091320600831183CF01A8 +:102870000E94DA11FC0190933406809333061930DC +:1028800021F483E3808382818183F0933206E09395 +:102890003106CF010E94DA119093340680933306FB +:1028A000193081F0809135069091360601960E948C +:1028B000801890933606809335060E94D10E8823A7 +:1028C00059F005C00E94F6138111ECCFB5CF0E94DC +:1028D000D41291E0811101C090E0892FDF91CF9156 +:1028E0001F910F9108950E941113811102C00C9441 +:1028F000D10E81E008950E94D10E882371F0E091FD +:102900003506F09136068081882329F00E949F13B6 +:10291000882319F0F0CF0C94D41280E008950E941F +:102920007314882371F0E0913506F09136068081AA +:10293000882329F00E949F13882319F0F0CF0C946C +:10294000D41280E008950E943912811104C00E94BF +:102950001113882349F0E0913506F0913606808105 +:102960008111F1CF0C94D41268E0809135069091DA +:1029700036060E94CD1180E00895CF93C82F181617 +:102980004CF0CF910C94D412C150D9F30E949F13F4 +:10299000882321F00E94D10E8111F6CF80E0CF91E3 +:1029A00008950E94391281110C94D41268E080912C +:1029B0003506909136060E94CD1180E00895FC0105 +:1029C0002081207F203219F401960C94931880E026 +:1029D00090E0089580913306909134060E94DF14B0 +:1029E0008A3D23E0920709F44BC0D4F48C3CF1E01B +:1029F0009F0709F43FC04CF4843D910579F18F386D +:102A0000E1E09E0709F444C03EC08F3CF1E09F071F +:102A1000A1F18D3C23E09207B1F58CE090E03AC043 +:102A20008E35E7E09E0709F446C04CF4833E23E070 +:102A30009207B9F08C37E6E09E07D1F124C08C3ABA +:102A4000F7E09F0789F08E302DE0920781F0833800 +:102A5000E7E09E07C1F48BE090E01CC083E090E0CB +:102A600019C084E090E016C085E090E013C086E0D5 +:102A700090E010C087E090E00DC08AE090E00AC0CE +:102A80008DE090E007C00E94190297FD17C002C0B8 +:102A900080E090E0E0913306F091340691E290837B +:102AA0008183CF010E94DA1121E0FC012083089587 +:102AB00081E090E0EFCF82E090E0ECCF0895FF92CC +:102AC0000F931F93CF93DF93F82EE0913506F0918B +:102AD000360680810E94B9178823A1F1E091330660 +:102AE000F091340680E28083C0E0D0E0E0913506CA +:102AF000F0913606EC0FFD1F80810E94681800914E +:102B0000330610913406882379F0E0913506F09170 +:102B10003606EC0FFD1F80810E94B317F801EC0F01 +:102B2000FD1F82832196E2CFF801C183F1100E943C +:102B3000EA1480913506909136068C0F9D1F0E94F5 +:102B4000F41181E0DF91CF911F910F91FF900895D3 +:102B5000CF9380E00E945F15C82F811108C063E009 +:102B600080913506909136060E94CD1107C0E09104 +:102B70003106F091320682E28083C1E08C2FCF9142 +:102B8000089580E00E945F15811102C063E02BC0B0 +:102B9000E0913106F091320683E380838281818364 +:102BA000CF010E94DA1190933406809333060E947D +:102BB0003912E0913506F0913606811103C068E0C4 +:102BC000CF0115C08081811102C00C94D4120E94E3 +:102BD0004F13882339F0E0913106F091320681815C +:102BE000823499F369E080913506909136060E940F +:102BF000CD1180E0089580913306909134060E94B3 +:102C0000DA11909334068093330680E00E945F15BA +:102C10008111FBCF0E9439128111F7CF0E9411134D +:102C20008111F3CFE0913306F091340681E0808387 +:102C30000895CF9381E00E945F15C82F811108C0CD +:102C400061E080913506909136060E94CD1161C0F9 +:102C5000E0913106F09132068081813241F00E948C +:102C60001314C82F811154C00E94FB1552C0E1817A +:102C7000E11103C0CF910C94E8128CEF8E0F8230DB +:102C800018F4CF910C94D1148AEF8E0F823018F47F +:102C9000CF910C94D412E13019F4CF910C948F148D +:102CA000E23051F40E94A815882381F10E94D412C9 +:102CB000C1E081112EC02AC0E33019F4CF910C94E9 +:102CC0008C16EA3019F4CF910C94C115EB3011F445 +:102CD00081E012C0EC3019F4CF910C94A314ED30C4 +:102CE00019F4CF910C947B14E0344CF0FF27E7FDEE +:102CF000F095ED53FF4F8081CF910C94BD1466E0A9 +:102D000080913506909136060E94CD11C0E001C039 +:102D1000C1E08C2FCF9108950E94D10E882369F0D5 +:102D20000E949F13882341F00E94191691E081119F +:102D300001C090E0892F089580E0089590933606B1 +:102D400080933506709334066093330610923206F2 +:102D50001092310660E080E090E00E94CD110E9468 +:102D60008013882351F0E0913506F091360680817A +:102D700081110C9419160C94D412089580912F0689 +:102D8000909130060895AC0160912E0681E00C947C +:102D90003803FC01AF01481B590B2191211102C0DE +:102DA000FC0103C02132B4F3FBCF9F01281B390B78 +:102DB000DF01A40FB51F6C91662311F06193F5CF6D +:102DC000FC01E20FF31F21503109108237FD03C0CF +:102DD00082918132C4F30895FC0101962081205331 +:102DE0002A30D0F3CF0108950C941E03CF93DF93C4 +:102DF000EC018991882319F00E941E03FACFDF911C +:102E0000CF9108950F931F93CF93DF938C01C0E070 +:102E1000D0E09E012196F801808190E028173907C3 +:102E20003CF4F801EC0FFD1F80810E941E03F1CFDE +:102E3000DF91CF911F910F9108954F925F926F9202 +:102E40007F928F929F92AF92BF92CF92DF92EF923A +:102E5000FF921F93CF93DF9300D01F92CDB7DEB7C1 +:102E60006B017C0197FF0CC08DE20E941E03F09461 +:102E7000E094D094C094C11CD11CE11CF11C05C08D +:102E8000611571058105910569F0812C9AEC992EE7 +:102E90009AE9A92E9BE3B92E2AE0422E512C612CEF +:102EA000712C15C080E30F900F900F90DF91CF91A0 +:102EB0001F91FF90EF90DF90CF90BF90AF909F90C9 +:102EC0008F907F906F905F904F900C941E03C8146A +:102ED000D904EA04FB044CF4C501B401A301920136 +:102EE0000E94152149015A01F2CF8AE0482E512C47 +:102EF000612C712C181419041A041B04F4F4C70172 +:102F0000B601A50194010E941521182F80E3820FBC +:102F100069837A839B830E941E036981C62E7A810E +:102F2000D72EE12E9B81F92EC501B401A301920198 +:102F30000E94152149015A01DDCF0F900F900F908B +:102F4000DF91CF911F91FF90EF90DF90CF90BF90D6 +:102F5000AF909F908F907F906F905F904F9008956B +:102F60008AE00C941E039FE9980F9A3108F480526E +:102F700008950E94B3179FEB980F81E09A3108F0F3 +:102F800080E0089590ED980F81E09A3008F080E09D +:102F90000895CF93DF931F92CDB7DEB78033E4F06F +:102FA0008A333CF4282F332727FD30952F523109DF +:102FB0000CC069830E94B317698181346CF0282F9B +:102FC000332727FD309526533109772767FD709504 +:102FD00081E0621773070CF480E00F90DF91CF91CE +:102FE0000895803344F08A3314F4805308950E9486 +:102FF000B3178753089580E00895AF92BF92DF9290 +:10300000EF92FF920F931F93CF93DF9300D0CDB732 +:10301000DEB75C01FC0180818D3231F4FFEFAF1A25 +:10302000BF0A2FEF298302C031E03983F501808187 +:10303000803351F481810E94B317883569F4F2E03E +:10304000AF0EB11C90E101C09AE000E010E0E92E63 +:10305000FF24E7FCF0940CC0823429F02FEFA21A71 +:10306000B20A98E0F2CF32E0A30EB11C92E0EDCFAD +:10307000F501D1905F01692F8D2D9A830E94C917A8 +:103080009A81882399F0F801EE9D8001EF9D100D43 +:10309000FE9D100D1124692F8D2D9A830E94F1172A +:1030A000080F111D87FD1A959A81E2CF298120030F +:1030B000C001219F900D11240F900F90DF91CF91AF +:1030C0001F910F91FF90EF90DF90BF90AF90089508 +:1030D00090ED980F9A3040F00E94B91791E081115D +:1030E00001C090E0892F089581E00895893034F07F +:1030F0008E3014F0803211F481E0089580E008955C +:103100000F931F93CF93DF93EC018E012196F8016B +:1031100080810E9476188111F8CFC801DF91CF918C +:103120001F910F910895FC01508180E090E040E0F4 +:1031300045178CF49C01220F331FDF01A40FB11D32 +:1031400047FDBA9511968C91992787FD9095822716 +:1031500093274F5FEDCF08951F920F920FB60F92F6 +:1031600011242F933F938F939F93AF93BF9380919D +:10317000380690913906A0913A06B0913B063091FD +:10318000370623E0230F2D3720F40196A11DB11D32 +:1031900005C026E8230F0296A11DB11D2093370616 +:1031A0008093380690933906A0933A06B0933B0675 +:1031B00080913C0690913D06A0913E06B0913F065D +:1031C0000196A11DB11D80933C0690933D06A093EE +:1031D0003E06B0933F06BF91AF919F918F913F9173 +:1031E0002F910F900FBE0F901F9018952FB7F89446 +:1031F000609138067091390680913A0690913B06AD +:103200002FBF08953FB7F89480913C0690913D06FA +:10321000A0913E06B0913F0626B5A89B05C02F3F62 +:1032200019F00196A11DB11D3FBF6627782F892F88 +:103230009A2F620F711D811D911D42E0660F771F4D +:10324000881F991F4A95D1F708958F929F92AF9248 +:10325000BF92CF92DF92EF92FF926B017C010E94AE +:1032600002194B015C01C114D104E104F104F1F035 +:103270000E9443200E940219681979098A099B0952 +:10328000683E73408105910570F321E0C21AD108B0 +:10329000E108F10888EE880E83E0981EA11CB11C9D +:1032A000C114D104E104F10429F7DDCFFF90EF90C0 +:1032B000DF90CF90BF90AF909F908F9008957894BB +:1032C00084B5826084BD84B5816084BD85B582602B +:1032D00085BD85B5816085BDEEE6F0E080818160C9 +:1032E0008083E1E8F0E010828081826080838081C9 +:1032F00081608083E0E8F0E0808181608083E1E9A3 +:10330000F0E0808182608083808181608083E0E959 +:10331000F0E0808181608083E1ECF0E08081846076 +:103320008083808182608083808181608083E3EC00 +:10333000F0E0808181608083E0ECF0E08081826059 +:103340008083E2ECF0E0808181608083EAE7F0E056 +:1033500080818460808380818260808380818160BD +:1033600080838081806880830895823108F0825153 +:10337000E82FF0E0E251FE4FE49180917B00E3FB07 +:10338000222720F930E095E0220F331F9A95E1F7CC +:103390008F7D822B80937B00E7708091230120E456 +:1033A000829FC0011124E82BE0937C0080917A0079 +:1033B000806480937A0080917A0086FDFCCF8091B2 +:1033C00078002091790090E0922B089590E0FC0124 +:1033D0003197EF30F105B0F5EA5AFF4F0C943421E4 +:1033E000809180008F7703C0809180008F7D8093D3 +:1033F0008000089580918000877FF9CF84B58F7712 +:1034000002C084B58F7D84BD0895809190008F7730 +:1034100007C0809190008F7D03C080919000877FCE +:103420008093900008958091C0008F7703C08091B1 +:10343000C0008F7D8093C00008958091C200877F77 +:103440008093C2000895CF93DF9390E0FC01E75E84 +:10345000FD4F2491FC01E85CFD4F8491882349F1E4 +:1034600090E0880F991FFC01ED58FD4FA591B49194 +:103470008B599D4FFC01C591D4919FB7611108C034 +:10348000F8948C91209582238C93888182230AC0A2 +:10349000623051F4F8948C91322F309583238C93C1 +:1034A0008881822B888304C0F8948C91822B8C9322 +:1034B0009FBFDF91CF9108950F931F93CF93DF9319 +:1034C0001F92CDB7DEB7282F30E0F901E650FE4F4E +:1034D0008491F901E75EFD4F1491F901E85CFD4F1D +:1034E00004910023C9F0882321F069830E94E61922 +:1034F0006981E02FF0E0EE0FFF1FEB59FD4FA59122 +:10350000B4919FB7F8948C91611103C010958123F9 +:1035100001C0812B8C939FBF0F90DF91CF911F91A2 +:103520000F910895CF93DF93282F30E0F901E650F3 +:10353000FE4F8491F901E75EFD4FD491F901E85CFB +:10354000FD4FC491CC2391F081110E94E619EC2F1C +:10355000F0E0EE0FFF1FE95AFD4FA591B4912C91B9 +:103560002D2381E090E021F480E002C080E090E033 +:10357000DF91CF910895CF93DF931F92CDB7DEB740 +:103580006983DC01ED91FC910280F381E02D41E043 +:1035900050E0BE016F5F7F4F09950F90DF91CF9193 +:1035A0000895CF93DF93EC018C859D8597FF05C02F +:1035B00082E00E94EF1C9D878C878C859D85DF9122 +:1035C000CF91089583E00C94831FFC018485958539 +:1035D00097FD06C082E00E94971C90E00196089536 +:1035E00082E00E94971C90E00895FC0184859585F7 +:1035F00097FD05C02FEF3FEF35872487089582E0C0 +:103600000C94EF1CCF93DF93EC0180912F01882362 +:1036100031F083E00E94201D1816190634F081E075 +:1036200090E09B838A8380E090E0DF91CF910895C2 +:10363000FC0120812E5F208342E450E061E872E0CB +:1036400080E80C94BB1DFC0121818081813A59F4F2 +:10365000213209F04BC047E050E068E271E080E0C1 +:103660000E94BB1D5EC0813209F040C0233289F444 +:10367000838190E0982F88273281832BA0E0B0E0EF +:103680008093240190932501A0932601B0932701F4 +:103690000FC0203239F467E070E088E291E00E94C8 +:1036A000EC1D09C0223221F4828180932F0103C0D6 +:1036B0002D7F2032B1F580919006811103C0E0E0AA +:1036C000F8E002C0EEEFFAE0809128019091290124 +:1036D000A0912A01B0912B01803B9440A105B10536 +:1036E00011F580912F0180FF03C01DC080E0089577 +:1036F000EE3F2AE0F20731F0808191819093FF0A3A +:103700008093FE0A87E797E7918380832BE088E127 +:1037100090E00FB6F894A895809360000FBE2093B8 +:10372000600081E0089588E10FB6F894809360000E +:10373000109260000FBEA895EE3F8AE0F80739F0BE +:103740008091FE0A9091FF0A91838083EACF1092C4 +:10375000FF0A1092FE0AE5CF2FEF3FEFFC013587FD +:1037600024870895CF93C0912F016AE070E080E034 +:1037700090E00E94251981E0C11101C080E0CF9145 +:103780000895109243061092420688EE93E0A0E05E +:10379000B0E08093440690934506A0934606B0930C +:1037A000470689E991E090934106809340068FEFA8 +:1037B0009FEF90934D0680934C060895615030F032 +:1037C0002091F100FC0120830196F8CF289A84E62D +:1037D00080939A06089540919506509196062091FF +:1037E00093063091940642175307B4F49091E80081 +:1037F0009570E1F39091E80092FD19C08093F1007B +:10380000809195069091960601968F739927892B42 +:1038100019F48EEF8093E8008091950690919606BA +:103820000196909396068093950681E0089580E036 +:103830000895CF92DF92EF92FF920F931F93CF9351 +:10384000DF931F92CDB7DEB7082F162FF42E862FE9 +:10385000880F8E5F99830E94EB1B83E00E94EB1B15 +:10386000E02EC02E9981D92E8C2D8E19811798F4B7 +:10387000F601F7FE02C0849101C080810E94EB1B1B +:10388000082F80E00E94EB1B8023FFEFCF1ADF0A96 +:103890008111EACF01C081E00F90DF91CF911F919C +:1038A0000F91FF90EF90DF90CF9008958091D70017 +:1038B00081608093D70080EA8093D80089B58061C9 +:1038C00089BD89B5826089BD09B400FEFDCF61E084 +:1038D00070E080E090E00E9425198091D8008F7CF4 +:1038E00080618093D8008091E000807F8093E00029 +:1038F0000895CF93DF931F92CDB7DEB71982CE0123 +:1039000001960E94181B0E94CB20BE016F5F7F4F63 +:103910000E94442089810F90DF91CF9108952FB7A5 +:10392000FC012083F89467706093E9000895CF93B9 +:10393000DF931F92CDB7DEB7682FCE0101960E94AC +:103940008F1C8091F20099819FBF0F90DF91CF91E2 +:103950000895FF920F931F93CF93DF9300D0CDB7BD +:10396000DEB7F62E8A0190919906992311F057FF40 +:1039700003C08FEF9FEF2BC0682FCE0101967A8393 +:103980000E948F1C8091F20090E0A8017A8180173C +:1039900091070CF4AC01EF2DF72FF40E84E6FE1620 +:1039A00039F0289A80939A069091F1009193F7CF7D +:1039B0004115510521F08091F200882321F0898181 +:1039C0008FBFCA0104C08BE68093E800F8CF0F9048 +:1039D0000F90DF91CF911F910F91FF900895CF939A +:1039E000DF931F92CDB7DEB741E050E0BE016F5FBD +:1039F0007F4F0E94A91C019719F4898190E002C0B1 +:103A00008FEF9FEF0F90DF91CF910895CF93DF93CA +:103A10001F92CDB7DEB7682FCE0101960E948F1C92 +:103A20009091E800892F807295FF04C09091F20078 +:103A300080E4891B99819FBF0F90DF91CF910895FA +:103A40006F927F928F929F92AF92BF92CF92DF92AE +:103A5000EF92FF920F931F93CF93DF931F92CDB7F7 +:103A6000DEB7782E7B01C42EB52E8091990688236F +:103A700069F0042F152F8AEFD82E872D8072982E8B +:103A80009AE3A92E872D8074882E11C08FEF9FEFA7 +:103A900057C0872D0E94061D682E81110CC0DA9434 +:103AA000A9F361E070E080E090E00E942519011523 +:103AB000110579F73BC0282F30E0021713070CF4EB +:103AC000602E672DCE0101960E948F1C8091E80028 +:103AD00085FF29C0262D30E0021B130B992039F0F9 +:103AE0006A948FEF6816B1F01092F100F9CFF701E8 +:103AF000862D77FE07C0815058F094919093F10085 +:103B00003196F9CF815020F091919093F100FACF46 +:103B1000E20EF31E8091E80085FF0FC0011511052C +:103B200011F481100AC089818FBFC1CF5D9A84E6EC +:103B300080939B068C2D9B2D03C0A092E800F3CFB1 +:103B40000F90DF91CF911F910F91FF90EF90DF9039 +:103B5000CF90BF90AF909F908F907F906F9008957F +:103B60001092E90010929606109295069093940692 +:103B7000809393060895CF92DF92FF920F931F9345 +:103B8000CF93DF9300D0CDB7DEB7F82E8A016B015B +:103B900001151105B1F0F601F7FE02C0849101C0D4 +:103BA000808149835A830E94EB1B01501109FFEF6A +:103BB000CF1ADF0A49815A818111EACF8FEF9FEF37 +:103BC00001C0CA010F900F90DF91CF911F910F910B +:103BD000FF90DF90CF900895BF92CF92DF92EF9247 +:103BE000FF920F931F93CF93DF936C018B01EB0137 +:103BF0003BEFB32E2097C1F07E01C134D1051CF0FC +:103C000020E4E22EF12C8091E80082FFFCCFC80175 +:103C10008C1B9D0B6E2D8C0D9D1D0E94DE1BB0928A +:103C2000E800CE19DF09E6CFC801DF91CF911F91DF +:103C30000F91FF90EF90DF90CF90BF9008951F926B +:103C40000F920FB60F921124DF92EF92FF920F9313 +:103C50001F932F933F934F935F936F937F938F9314 +:103C60009F93AF93BF93EF93FF93CF93DF93CDB722 +:103C7000DEB76C97DEBFCDBF1092E9008091E800FF +:103C800083FF23C168E0CE0145960E94DE1B82EFD0 +:103C90008093E8003D8937FF05C08091E80080FFF0 +:103CA000FCCF03C08EEF8093E800832F807609F06D +:103CB000F0C02E894F89D88C21110CC0303829F4DE +:103CC000809198068093F10002C01092F10010924A +:103CD000F100F4C0842F90E09D29213049F4311186 +:103CE000EDC0019709F0EAC0809198068D7F0AC067 +:103CF000233059F43111E2C0019709F0DFC08091FF +:103D00009806826080939806D9C0253041F480914E +:103D1000E80080FFFCCF40684093E300CFC026302E +:103D200009F08DC0EB8CFC8C22E0D2122CC080E01C +:103D300090E00E94B01D0E94791C99E08E010F5FF7 +:103D40001F4FF801292F11922A95E9F79983DA82FA +:103D500091E09E8390EA98879AEF99872091950643 +:103D600030919606275F3F4F3C832B838D83C7019D +:103D70000E94B01D49E050E0B80180E00E94BB1DE8 +:103D80000E94791C9BC0C7010E94B01D0E94CB20DD +:103D9000BE016B5E7F4F0E946D20009719F00CF002 +:103DA0008DC090C081E0D8120EC08B8D9C8D08977D +:103DB00019F481E0809392068091920681112FC0C0 +:103DC00065ED72E031C0E3E0DE127CC08F898823AC +:103DD00049F1823029F440E86DE083EF92E01CC0A5 +:103DE000813029F440E86BE087EE92E015C0833023 +:103DF00009F068C00E94CB208E010F5F1F4FB801F1 +:103E00000E948C20F80101900020E9F73197E01B17 +:103E1000F10B40E06E2FC8010E94191C4DC063ECED +:103E200072E002C061E073E06115710509F44AC0F7 +:103E3000FB01449150E080E80E94BB1D3FC0273049 +:103E400009F440C0283021F481E08093F10036C0AD +:103E50002930A1F53370B1F5E1E3F1E081E021E033 +:103E600036E39081992361F08093E9002093EB0081 +:103E700091919093EC003093ED008F5F873089F73C +:103E80008EE78093EA001092EA008F89809399066A +:103E900015C08B8D9C8D0E94B01D898D811105C030 +:103EA000CE0145960E94231B07C00E94CB20BE0175 +:103EB0006B5E7F4F0E94AB20882321F08EEF8093B2 +:103EC000E80003C081E28093EB006C960FB6F89493 +:103ED000DEBF0FBECDBFDF91CF91FF91EF91BF91BC +:103EE000AF919F918F917F916F915F914F913F9192 +:103EF0002F911F910F91FF90EF90DF900F900FBEC9 +:103F00000F901F9018958093E9008091F20088230C +:103F100019F08AE38093E80008951F920F920FB67C +:103F20000F9211242F933F934F935F936F937F933F +:103F30008F939F93AF93BF93CF93EF93FF93C091D2 +:103F4000E1008091E100837F8093E1008093E100B4 +:103F5000C3FF0FC01092E90081E08093EB00109244 +:103F6000EC0082E38093ED001092990688E0809344 +:103F7000F000C2FF19C083E00E94831F80919B065E +:103F8000882339F080919B06815080939B0688237B +:103F900089F180919A06882339F080919A068150A0 +:103FA00080939A06882341F1C4FF10C08091E200FB +:103FB0008E7E81608093E2008091E1008F7E80930D +:103FC000E100809197068E7E806111C0C0FF16C00F +:103FD0008091E2008E7E80618093E2008091E1001A +:103FE0008E7E8093E100809197068E7E8160809323 +:103FF000970604C05D98CDCF2898D6CFFF91EF915A +:10400000CF91BF91AF919F918F917F916F915F9170 +:104010004F913F912F910F900FBE0F901F901895C9 +:104020001092990610929806109297060E94561CBC +:104030008091E1008E7E8093E1008DE08093E2002C +:10404000559A209A5D982898EEEFFFE78591949114 +:104050008B3F9C4D19F481E080939006089508955C +:104060000E945F190E942F2081E996E00E94102093 +:104070000E94F602C0E0D0E00E9418032097E1F30E +:104080000E940000F9CF0895EF92FF920F931F93C3 +:10409000CF93DF937B01FC01C281D38100E010E06C +:1040A000209781F0E881F9810280F381E02DB7014A +:1040B000CE01099597FD08C0080F191F0884D985FE +:1040C000C02DEECFC80102C08FEF9FEFDF91CF91DF +:1040D0001F910F91FF90EF9008950F931F93CF932F +:1040E000DF938B01FC01C281D381209771F0E881BD +:1040F000F9810480F581E02DB801CE010995009782 +:1041000031F40884D985C02DF0CF80E090E0DF91B4 +:10411000CF911F910F9108950F931F93CF93DF932A +:104120008B01FC01C281D381209771F0E881F98174 +:104130000680F781E02DB801CE010995080F111D09 +:104140000884D985C02DF0CFF8011082DF91CF917E +:104150001F910F9108950F931F93CF93DF938B01BE +:10416000FC01C281D381209771F0E881F98101902F +:10417000F081E02DB801CE010995811106C00884B7 +:10418000D985C02DF0CF80E001C081E0DF91CF91D3 +:104190001F910F9108958091A00681110DC082E0BA +:1041A00080939C0684E080939D0610929F06109257 +:1041B0009E0681E08093A0068CE996E0089597FB27 +:1041C000072E16F4009407D077FD09D00E943A21FB +:1041D00007FC05D03EF4909581959F4F089570950A +:1041E00061957F4F0895A1E21A2EAA1BBB1BFD010A +:1041F0000DC0AA1FBB1FEE1FFF1FA217B307E407C6 +:10420000F50720F0A21BB30BE40BF50B661F771F1D +:10421000881F991F1A9469F76095709580959095FD +:104220009B01AC01BD01CF010895052E97FB1EF443 +:1042300000940E942C2157FD07D00E94F32007FC18 +:1042400003D04EF40C942C21509540953095219537 +:104250003F4F4F4F5F4F08959095809570956195B2 +:104260007F4F8F4F9F4F0895EE0FFF1F0590F491E2 +:10427000E02D0994AA1BBB1B51E107C0AA1FBB1F5D +:10428000A617B70710F0A61BB70B881F991F5A95E2 +:10429000A9F780959095BC01CD010895FB01DC0143 +:1042A00002C001900D9241505040D8F70895681710 +:1042B000790768F4FB01DC01E40FF51FA40FB51FBB +:1042C00002C002900E9241505040D8F708950C94CD +:1042D0004E21F999FECF92BD81BDF89A992780B5FC +:1042E0000895262FF999FECF1FBA92BD81BD20BD3A +:1042F0000FB6F894FA9AF99A0FBE01960895F894B9 +:02430000FFCFED +:1043020001010102025005E0098A050F0A5B0567F7 +:104312000520053A05CC09580A9406E70A710AFEF7 +:1043220009010001FFFFFFFF00E1000000000000A3 +:1043320000C1808100000019FF0AFF1405FF00FF81 +:10434200140FFF0FFF14FFFFFFFFFFFFFFFFFFFF31 +:10435200FFFF0A0A0AFFFFFFFFFFFFFFFFFFFFFF4A +:10436200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10437200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10438200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10439200FF0A050A1900000000BB1A021BE51AF504 +:0643A2001AD11AE21A0014 +:00000001FF diff --git a/arduino-bin/mini-nano-duemilanove-16mhz.hex b/arduino-bin/mini-nano-duemilanove-16mhz.hex new file mode 100644 index 0000000..0d5bddb --- /dev/null +++ b/arduino-bin/mini-nano-duemilanove-16mhz.hex @@ -0,0 +1,930 @@ +:100000000C94F4000C941C010C941C010C941C0125 +:100010000C941C010C941C010C941C010C941C01EC +:100020000C941C010C941C010C941C010C941C01DC +:100030000C941C010C941C010C941C010C941C01CC +:100040000C9424180C941C010C94351B0C94671B05 +:100050000C941C010C941C010C941C010C941C01AC +:100060000C941C010C941C010A436D64206F7220D7 +:10007000566172206578702D640A53796D626F6CD9 +:1000800020273D27206578702D640A4E616D65201C +:1000900065787065637465640A53796D626F6C206E +:1000A000273B27206578702D640A4578747261209B +:1000B000636861727320617420656E640A556E65B1 +:1000C00078706563746564206572726F720A4E752C +:1000D0006D626572206F7574206F662072616E6745 +:1000E000650A4E756D62657220657870656374652A +:1000F000640A556E65787065637465642073796D04 +:10010000626F6C0A556E6578702D64206C696E653F +:1001100020656E640A004D69736B6174696E6F20AF +:10012000424153494320312E350A636F64653A20BA +:100130000A766172733A200A6E6578743A200A4230 +:100140005245414B0A456E64206F6620636F6465BB +:100150000A53617665640A4C6F616465640A62796A +:100160007465730A4C6F6164206661696C65640A2A +:100170004175746F72756E20696E203120736563EE +:100180000A43616E63656C6564210A000000000823 +:10019000000201000003040700000000000000004E +:1001A000010204081020408001020408102001020E +:1001B00004081020040404040404040402020202DB +:1001C00002020303030303030000000023002600D0 +:1001D000290000000000250028002B00000000007E +:1001E000240027002A00971B11241FBECFEFD8E060 +:1001F000DEBFCDBF11E0A0E0B1E0EAE6F9E302C066 +:1002000005900D92A239B107D9F726E0A2E9B1E035 +:1002100001C01D92A93CB207E1F711E0C8EED1E0A0 +:1002200004C02297FE010E947E1CC63ED107C9F77A +:100230000E94031C0C94B31C0C940000DC01ED9193 +:10024000FC910190F081E02D0994CF93C82F8A3062 +:1002500019F46DE070E00AC0883061F468E070E085 +:100260008CE296E00E941E0160E270E08CE296E073 +:100270000E941E016C2F772767FD70958CE296E037 +:10028000CF910C941E010C9425018F3F59F580E00D +:100290000E94121980917C00807F8E6080937C0088 +:1002A00061E070E080E090E00E949D1880917A000B +:1002B000806480937A0080917A0086FDFCCF209143 +:1002C0007800309179001216130674F4442737FD34 +:1002D0004095542F64EB7BE281E190E00E94491C41 +:1002E000C90108950C9412198FEF9FEF08950E9491 +:1002F000C71921E0019709F020E0822F0895CF93DC +:10030000DF93C82FD62F67FD0CC061E00E945819FB +:1003100061E0D11101C060E08C2FDF91CF910C948E +:1003200091196F3F11F460E001C062E08C2FDF9102 +:10033000CF910C945819CF93DF93EC018230910543 +:1003400014F40E946E180E946E189E01442737FD17 +:100350004095542F0E94271CC901DF91CF91089529 +:100360000F931F93CF93DF93EA01882329F0813005 +:1003700029F508E610E002C006E111E080E090E017 +:1003800016164CF4F801E80FF91FE4910196EA30D3 +:10039000C9F76150F5CF080F191FF80184918A3011 +:1003A00051F0209719F08883219602C00E94250100 +:1003B0000F5F1F4FF2CF209709F01882DF91CF9186 +:1003C0001F910F9108958C3921E0920749F08F36E3 +:1003D000934019F480E490E008958FEF9FEF089523 +:1003E00081E490E008958F3C21E0920769F0853523 +:1003F00023E0920731F08C39914049F08FEF9FEF65 +:10040000089580E090E0089582E090E0089581E012 +:1004100090E00895FB01882319F0813031F00895B0 +:10042000A081B18182818C930895628180810C9436 +:100430007F01FB01813051F0823079F0811110C0D1 +:100440000190F081E02D808190E0089580810E94EC +:100450007701992787FD9095089580810C94450137 +:1004600080E090E008951F93CF93DF93EC0110E0BC +:100470001C161D0634F42197CE010E949D1C1827DE +:10048000F7CF812FDF91CF911F910895EF92FF92C7 +:100490000F931F93CF93DF93EC01009799F56115AC +:1004A000710561F4C0919201D0919301CE010E9437 +:1004B0003302682FCE010E94A51C07C01092930141 +:1004C000109292011616170614F491E051C081E0C3 +:1004D00090E00E949D1CC82FD0E0DC2FCC2780E04C +:1004E00090E00E949D1C9E01282BC90121503109DA +:1004F0002B3B3240E0F503960E94330291E08823C3 +:10050000B9F135C016161706ACF48C01060F171F8B +:10051000699180919201909193019C012F5F3F4FCF +:1005200030939301209392010E94A51CC017D1071C +:1005300079F7CBCFEE24FF24E61AF70A8C01C80125 +:100540008C1B9D0B8E159F050CF0BFCF80919201E7 +:10055000909193019C012F5F3F4F30939301209323 +:1005600092010E949D1CF80181938F01E8CF90E0D9 +:10057000892FDF91CF911F910F91FF90EF900895F8 +:1005800026E040E052EC61E070E08CE296E00E94F0 +:10059000D31A68E270E08CE291E00C946F108CE268 +:1005A00096E00E94F019181619062CF48CE296E0D9 +:1005B0000E94091A089580E008950E94CF02809356 +:1005C000F4050C94C510E091F805F091F90511823D +:1005D000108282E090E09093F7058093F6051092E8 +:1005E000F50508959093F9058093F8050C94E302BE +:1005F0008091F4058D3011F08A3099F484E991E00E +:100600000E944116E091F505FF27E7FDF095EC56B5 +:10061000FE4F10821092F5058AE00E94430181E0AE +:100620000895883011F08F3759F48091F505181628 +:10063000ACF498E09093F40581508093F5050EC0DA +:10064000803264F0E091F50591E09E0F9093F505FE +:10065000FF27E7FDF095EC56FE4F80838091F4056F +:100660000E94430180E00895E091F805F091F905BA +:10067000208131812115310551F0281739073CF4CB +:10068000228130E02D5F3F4FE20FF31FF1CFCF010A +:1006900008958F929F92AF92BF92CF92DF92EF9286 +:1006A000FF920F931F93CF93DF937C016B01CB01DC +:1006B0000E943403EC01888199818C159D0511F508 +:1006C0000A8110E00D5F1F4F0C0F1D1F4091F805B0 +:1006D0005091F9058091F6059091F705480F591F43 +:1006E000401B510BB801CE010E948B1C0C1B1D0B33 +:1006F0008091F6059091F705801B91099093F7057D +:100700008093F605F70101900020E9F78F01015071 +:1007100011090E191F090023B9F15801BB2440919A +:10072000F8055091F9058091F6059091F705480F6D +:10073000591F4C1B5D0B4501F3E08F0E911CBE0150 +:10074000CE01880D991D0E948B1C8091F605909119 +:10075000F705880D991D9093F7058093F605D982CA +:10076000C8820A83A501B701CE010396DF91CF911C +:100770001F910F91FF90EF90DF90CF90BF90AF90BF +:100780009F908F900C94821CDF91CF911F910F91BD +:10079000FF90EF90DF90CF90BF90AF909F908F90A1 +:1007A000089561E070E080E090E00E9446028823B6 +:1007B000B9F062E070E086EF95E00E944602609139 +:1007C000F6057091F7058091F8059091F9050E9462 +:1007D000460260E070E080E090E00E94460281E026 +:1007E00008956FEF7FEF80E090E00E94460288233B +:1007F000D1F06EEF7FEF86EF95E00E9446026091A8 +:10080000F6057091F7057195619571098091F8056C +:100810009091F9050E94460260E070E080E090E06F +:100820000E94460281E00895EF92FF920F931F937A +:10083000CF93DF931F92CDB7DEB70091F8051091EB +:10084000F9056FEF7FEF80E090E00E944602882379 +:1008500009F466C06EEF7FEF84E991E00E944602E2 +:100860006EEF7FEFC8010E944602F80180819181FE +:10087000892B09F442C0609114067091150684E931 +:1008800091E00E9416167801F2E0EF0EF11C6FEF76 +:100890007FEFCE0101960E944602698170E071955A +:1008A0006195710984E991E00E944602E981F0E0D6 +:1008B000EC56FE4F1082609114067091150684E983 +:1008C00091E00E94161680911406909115060E94E0 +:1008D0005C118983F8018283AC015527609114066D +:1008E00070911506C80103960E94821C098110E0D0 +:1008F0000F5F1F4F0E0D1F1DB3CF60E070E080E053 +:1009000090E00E9446028091F8059091F905081B3D +:10091000190B0E5F1F4F1093F7050093F60581E04A +:100920000F90DF91CF911F910F91FF90EF9008955D +:10093000E0911106F091120680910D0690910E063D +:100940009C012F5F3F4F30930E0620930D06880FBA +:10095000991FE80FF91F8081918190932201809364 +:10096000210108958FEF9FE7909322018093210149 +:10097000089580911F0690912006FC01208122237A +:1009800031F00E9452119093200680931F06089523 +:10099000E0911F06F09120068081882319F00E94C3 +:1009A000B904F6CF0895E0911F06F09120068181E9 +:1009B000928190932201809321010C94B904E091DB +:1009C0001106F091120680910D0690910E06019786 +:1009D00090930E0680930D06880F991FE80FF91F5C +:1009E000809121019091220191838083E0911F06E3 +:1009F000F0912006818192819093220180932101C0 +:100A00000C94B904809113068260809313068FE3DF +:100A10000E946C16E0911F06F091200682810E94D0 +:100A20006C168DE30C946C16109208061092070653 +:100A30001092060680910B0690910C0690930E067C +:100A400080930D06E0910906F0910A06118210824A +:100A5000089520910806809106069091070634E0DB +:100A60002302800D911D112408957695679570934A +:100A70000C0660930B0690930A06809309069093E8 +:100A80001206809311060C941405FC0181819927AC +:100A900087FD90952081223030F022813FE72302AC +:100AA000800D911D1124089560910806772767FD38 +:100AB0007095A0910906B0910A0640E050E04617F3 +:100AC0005707C4F49B01240F351F35952795F9016D +:100AD000EE0FFF1FEE0FFF1FEA0FFB1F0190F081CB +:100AE000E02DE817F90714F0B901E9CFA9014F5F2C +:100AF0005F4FE5CF842F0895CF93DF93EC010E94E1 +:100B00005405E0910906F0910A0694E08902E00D8F +:100B1000F11D1124808191818C179D0719F4828128 +:100B2000938102C080E090E0DF91CF910895CF9350 +:100B3000DF93C82FDD27C7FDD095DF67CE010E9468 +:100B40005405E0910906F0910A0694E08902E00D4F +:100B5000F11D1124808191818C179D0719F48281E8 +:100B6000938102C08FEF9FEFDF91CF910895EF92B5 +:100B7000FF920F931F93CF93DF938C017B010E9411 +:100B800054052091090630910A06E82FFF27E7FD5A +:100B9000F095EF01CC0FDD1FCC0FDD1FB9016C0FFD +:100BA0007D1FDB014D915C914017510731F1409160 +:100BB00008068417ACF4552747FD50954E1B5F0B74 +:100BC000440F551F440F551F80910606909107064C +:100BD000480F591FCE010496820F931F0E948B1C51 +:100BE000E0910906F0910A06EC0FFD1F11830083C6 +:100BF000809108068F5F80930806E0910906F091C6 +:100C00000A06EC0FFD1FF382E282DF91CF911F9164 +:100C10000F91FF90EF900895FF920F931F93CF9342 +:100C2000DF93E0911F06F09120068181C82FDD2718 +:100C3000C7FDD095DF678F71992787FD90959093B9 +:100C40000106809300060E94B904E0911F06F0910E +:100C50002006018112810E94B904E0911F06F091E3 +:100C600020068081882329F00E94B904FF24F39490 +:100C700002C022E0F22ECE010E945405E091090646 +:100C8000F0910A0694E08902E00DF11D11248081A3 +:100C900091818C179D0701F16091060670910706FE +:100CA00081E0F81203C080E090E802C080E090E0AC +:100CB000682B792BCE010E94B705F09E9001F19E22 +:100CC000300D11248091060690910706820F931F24 +:100CD0009093070680930606DF91CF911F910F91A5 +:100CE000FF900895DC014091020650910306609147 +:100CF00004067091050680E090E084179507BCF427 +:100D00009A01280F391F35952795F901EE0FFF1F1E +:100D1000EE0FFF1FE60FF71F0190F081E02DEA179D +:100D2000FB0714F0A901E9CFC9010196E6CF0895A8 +:100D3000CF93DF93EC010E947206880F991F880FF2 +:100D4000991FE0910406F0910506E80FF91F8081D4 +:100D500091818C179D0749F48091F8059091F905D0 +:100D600022813381820F931F02C080E090E0DF91E7 +:100D7000CF910895EF92FF920F931F93CF93DF933C +:100D80008C017B010E9472069C01409102065091E9 +:100D90000306EC01CC0FDD1FCC0FDD1F8417950778 +:100DA000A4F48091040690910506421B530B440F56 +:100DB000551F440F551FBC016C0F7D1F9E012C5FFA +:100DC0003F4F820F931F0E948B1CE0910406F0910D +:100DD0000506EC0FFD1F11830083F382E2828091F0 +:100DE00002069091030601969093030680930206F3 +:100DF000DF91CF911F910F91FF90EF900895209177 +:100E0000110630911206E0910D06F0910E06AF0129 +:100E10004F5F5F4F50930E0640930D06AF01440F96 +:100E2000551FD901A40FB51F6D917C9111978F3279 +:100E300009F452C01CF5863209F4C5C054F483325B +:100E400009F4B3C0853209F452C0813209F0DEC022 +:100E500061C08B3279F18D32B1F18A3209F0D6C09E +:100E6000FA013296E20FF31F20813181269FC001E3 +:100E7000279F900D369F900D1124C6C08E3509F422 +:100E8000BBC054F48D3309F46CC08E3309F45CC0DC +:100E90008C3309F0BBC04BC08C3709F49DC024F4DF +:100EA0008B3709F46AC008958D3709F472C08E3704 +:100EB00039F10895FA013296E20FF31F8081918192 +:100EC000860F971FA1C0FA013296E20FF31F8081AF +:100ED0009181861B970B98C0FA013296E20FF31F9F +:100EE000808191810E94131C718360830895FA01AF +:100EF0003296E20FF31F808191810E94131C84C0FF +:100F0000F0930E06E0930D067195619571096D934E +:100F10007C930895F0930E06E0930D0681E090E037 +:100F2000672B11F080E090E08D939C930895FA0177 +:100F30003296E20FF31F81E090E020813181261785 +:100F400037070CF461C03CC0FA013296E20FF31F80 +:100F500081E090E020813181621773070CF454C066 +:100F60002FC0FA013296E20FF31F81E090E020815A +:100F700031812617370721F547C0FA013296E20F73 +:100F8000F31F81E090E02081318162177307E4F55F +:100F900017C0FA013296E20FF31F81E090E0208142 +:100FA00031812617370784F50BC0FA013296E20F1C +:100FB000F31F81E090E0208131812617370721F56A +:100FC00080E090E021C0FA013296E20FF31F8081A9 +:100FD0009181892B61F008C0FA013296E20FF31F6C +:100FE00080819181892B29F481E0672B19F480E0BD +:100FF00001C081E090E008C0FA013296E20FF31FD1 +:101000008081918186279727918380830895CF934C +:10101000DF930E940B188F3F21E09207D9F4809153 +:101020000D0690910E06880F991FE0911106F09120 +:101030001206E80FF91F808191812091F405332772 +:1010400027FD309531832083892B09F469C01092E4 +:10105000F40566C0893C910599F480910D06909144 +:101060000E06880F991FC0911106D0911206C80F65 +:10107000D91F888199810E949B019983888350C0E0 +:10108000833D21E09207A1F480910D0690910E0618 +:10109000880F991FE0911106F0911206E80FF91FD1 +:1010A0008081918197FF3CC09195819591092FC0D6 +:1010B0000E94F301EC01E0910D06F0910E06809183 +:1010C000110690911206D7FD25C0BF01660F771F4C +:1010D000680F791F8C2F0E941902C050DF4F2881A2 +:1010E000332727FD30952150310940910D0650914D +:1010F0000E06240F351F30930E0620930D06220F87 +:10110000331FE0911106F0911206E20FF31F918355 +:10111000808306C0EE0FFF1FE80FF91F11821082B7 +:10112000DF91CF9108950E949705E0910D06F0910F +:101130000E0620911106309112068F3F4FEF940753 +:1011400039F4EE0FFF1FE20FF31F11821082089592 +:10115000492F441F4427441F62E0641B9F77EE0F12 +:10116000FF1FE20FF31F7091080640815181640355 +:101170009001659F300D1124820F931F24E07202AD +:10118000800D911D1124A0910906B0910A06A80FA7 +:10119000B91F623019F48D919C9102C08C9190E03E +:1011A000918380830895CF93DF93E0911F06F091A0 +:1011B00020068081833209F45CC03CF4803149F11F +:1011C0008232E9F181115DC00CC0823351F083336A +:1011D00009F454C0803309F054C081810E94FF0695 +:1011E00050C0E0911106F091120680910D06909189 +:1011F0000E069C012F5F3F4F30930E0620930D0685 +:10120000880F991FE80FF91F80819181DF91CF919D +:101210000895A0911106B091120680910D0690914B +:101220000E06019790930E0680930D062181328160 +:10123000880F991FA80FB91F2D933C9322C0C0910E +:101240001106D091120680910D0690910E0601971D +:1012500090930E0680930D06880F991FC80FD91F13 +:10126000CF0101960E9445050E947C0599838883E1 +:1012700008C0CF0101960E94070803C081810E9427 +:1012800093080E94B90491CFCF93DF9380911F06FA +:101290009091200601960E944505EC010E94B90438 +:1012A0000E94D308BC01CE01DF91CF910C94B70509 +:1012B00080911F0690912006FC012081223399F035 +:1012C000203421F0211106C00C94281701960E94A9 +:1012D0007A1609C00E94D308BC01882777FD809543 +:1012E000982F0E9495160E94B904E2CFE0911F0644 +:1012F000F09120068081882349F0823321F00E94FA +:10130000D3080E946C160E94B904F0CF08950E9481 +:10131000D308892B59F4E0911F06F09120068081B3 +:10132000882319F00E94B904F6CF08950C94B904EB +:101330000F931F93CF93DF9300D0CDB7DEB78B0110 +:1013400049835A830E94970549815A818F3F2FEF25 +:101350009207F9F0292F221F2227221F62E0621B29 +:101360009F777091080660039001619F300D1124F2 +:10137000820F931FE4E07E02800D911D1124E09105 +:101380000906F0910A06E80FF91F4083623009F45C +:1013900051830F900F90DF91CF911F910F9108957E +:1013A0001F93CF93DF93E0911F06F09120061181E8 +:1013B0000E94B9040E94D308EC010E94B9040E9463 +:1013C000D308AC01BE01812FDF91CF911F910C9406 +:1013D0009809CF93DF93C0910006CF71C0648FEB63 +:1013E0008C0F8A3108F056C0E0911F06F09120065C +:1013F0008081803111F0D0E019C04181528160912B +:10140000000670910106D5E075956795DA95E1F7CC +:101410008C2F0E9498092091000630910106205ED1 +:101420003F4F30930106209300062BC02D2F33270A +:1014300027FD3095E0911F06F0912006418150E094 +:1014400024173507F4F4E20FF31F4281552747FDB7 +:1014500050956091000670910106B5E0759567950D +:10146000BA95E1F78C2F0E949809209100063091DF +:101470000106205E3F4F3093010620930006DF5F98 +:10148000D5CF0E94B904E0911F06F091200680811B +:101490008111AACFDF91CF910895CF93DF93EC0113 +:1014A00081E090E00E949B019093FD058093FC05F4 +:1014B000D093FB05C093FA05DF91CF9108950E9468 +:1014C000D3080E944D0A8091130681608093130611 +:1014D000089581E090E00E949B012091FC053091ED +:1014E000FD05AC01421B530B81E02091FA053091C0 +:1014F000FB05241735070CF080E008950E94690A67 +:10150000882329F0809113068E7F80931306089517 +:10151000CF93DF938091F4058823D1F00E94F802E5 +:101520008823B1F084E991E00E947517EC01809165 +:101530001F069091200601960E944505BE010E945B +:10154000B7050E94B904809113068D7F809313061E +:10155000DF91CF910895DF92EF92FF920F931F9347 +:10156000CF93DF93E82EE82FFF27E7FDF095ED5F9F +:10157000FE4FD0800D2D112707FD109520910D06EF +:1015800030910E06201B310B30930E0620930D0672 +:10159000F12CC0910D06D0910E06209111063091CC +:1015A0001206FD1484F4CF0DD11DF7FCDA95CC0F93 +:1015B000DD1FC20FD31F0E94D308998388830E9426 +:1015C000B904F394E6CFBE01660F771F620F731F55 +:1015D0008E2D0E940A0280910D0690910E06800FBA +:1015E000911F90930E0680930D06DF91CF911F916E +:1015F0000F91FF90EF90DF900895CF93DF93EC0170 +:101600009093200680931F0688818823D1F00E9442 +:10161000B904898180346CF4E82FEE0FFF0BEB5F87 +:10162000FE4F0190F081E02D09958981823021F4EF +:1016300008C080540E94AB0AC0911F06D0912006BA +:10164000E3CFDF91CF91089540E050E065E080E086 +:101650000E94B0010C9428178091130684FD0E940B +:10166000F103809113068C7C809313060895CF9329 +:10167000DF9380912101909122010E943403EC01BB +:1016800088819981009731F40E942C0B0E94240BD1 +:1016900081E022C0019690932201809321014A812A +:1016A00050E0BE016D5F7F4F84E991E00E94821C93 +:1016B000EA81F0E0EC56FE4F1082609114067091C2 +:1016C000150684E991E00E94161680911406909107 +:1016D00015060E94FD0A80E0DF91CF9108950E94D7 +:1016E0002C0B1092FF051092FE0580910B06909135 +:1016F0000C0690930E0680930D0640E050E064E0E7 +:1017000080E00E94B0010C942817009729F0909374 +:10171000FF058093FE0508958091FE059091FF05D9 +:101720008F3F2FEF920729F001979093FF05809349 +:10173000FE050E94370B882321F01092FF051092BE +:10174000FE058091FE059091FF05892B11F40C9404 +:101750002C0B089581E090E0909322018093210169 +:101760000E9434039093100680930F061092030694 +:10177000109202068091F8059091F9052091F605E6 +:101780003091F705820F931F90930506809304060E +:101790008091130680618093130608950F931F9321 +:1017A000CF93DF93E0910F06F09110068081918135 +:1017B000892B31F08091210190912201892B41F4F4 +:1017C0000E942C0BDF91CF911F910F910C94240B51 +:1017D000C281D0E02396CE0FDF1F8881998190933C +:1017E000220180932101CF0103960E94FD0A0091FE +:1017F000210110912201888199818017910709F1B7 +:10180000C8010E9498069093100680930F06892BBA +:10181000E1F4C8010E9434039093100680930F06F0 +:101820002091F8053091F905BC01621B730B809182 +:10183000210190912201DF91CF911F910F910C9482 +:10184000BA06D0931006C0930F06DF91CF911F9177 +:101850000F9108950E94F910FC0180818D3211F0E2 +:10186000813261F40E94C712E0911D06F0911E06BC +:1018700081818D3229F48EE7818302C080E0089552 +:1018800081E00895CF930E94B111882339F00E941E +:10189000F910FC018081883271F526C080E00E9439 +:1018A000D7148823A1F00E94F910FC018081E091F7 +:1018B0001D06F0911E06883239F483E2808381E0B0 +:1018C0000E948111C6E61AC082E2808314C00E9481 +:1018D000F910FC01C081C83219F40E94C7120EC071 +:1018E0000E942A0C811109C00E94F91069E00E942F +:1018F0004511C5E603C0CBE201C0C1E38C2FCF91F7 +:1019000008950E94F910FC018081882329F18B330E +:1019100019F1893219F18C3219F1982F9D7F9D327E +:1019200081F096ED980F923060F08E3551F09BED7E +:10193000980F923030F094EC980F933010F08C3771 +:1019400021F40E94C71281E308950E94F91069E012 +:101950000E94451185E6089583E7089589E2089578 +:101960008CE20895CF93DF931F92CDB7DEB71816A0 +:101970003CF00E94F91069E00E94451185E60EC016 +:1019800069830E94C712698116163CF4E0911D0616 +:10199000F0911E0681E3808361838BE20F90DF91DB +:1019A000CF910895811107C00E94F91069E00E944B +:1019B000451185E608950E94C71281E3089581527A +:1019C0008E3530F4E82FF0E0EC5DFE4F8081089515 +:1019D0008FEF0895813231F091E08E3709F090E079 +:1019E000892F089581E00895883281F0E0911F06E3 +:1019F000F091200690E390838183CF010E945211E1 +:101A00009093200680931F0681E0089580E008955A +:101A10008F929F92AF92BF92CF92DF92EF92FF92FE +:101A20000F931F93CF93DF93CDB7DEB760970FB6B9 +:101A3000F894DEBF0FBECDBF7C018C01BB24BA94ED +:101A400083E3D82E98E2C92EF8018081813009F411 +:101A5000AEC0823211F0803161F4B80180911F066E +:101A6000909120060E942C1180911F0690912006D3 +:101A700093C0803309F03FC0F801A180F8E2AF16AF +:101A800009F4A6C089E2A81619F0ECE2AE1218C05B +:101A900099249A949B0CE1E0F0E0EC0FFD1FEB0D14 +:101AA000F11DB7FCFA9580810E94F40C882311F097 +:101AB000B92CEECFFCE2AF1609F474C0B92C72C099 +:101AC0008A2D0E94DF0C982E8A2D0E94EA0C81112B +:101AD0009394B7FC7DC0E1E0F0E0EC0FFD1FEB0D4F +:101AE000F11DB7FCFA958080882D0E94DF0C8915C6 +:101AF0000CF079C06DC08332D1F481E08B0DE1E050 +:101B0000F0E0EC0FFD1FE80FF11D87FDFA95C8010D +:101B10008E199F098083B394B394E1E0F0E0EC0F59 +:101B2000FD1FEB0DF11DB7FCFA95C0823BC0813360 +:101B3000C9F5AA24AA94AB0CE1E0F0E0EC0FFD1F7C +:101B4000EB0DF11DB7FCFA9580810E94F40C8823FF +:101B500011F0BA2CEECFBA94BA94E1E0F0E0EC0FB9 +:101B6000FD1FEA0DF11DA7FCFA958081B701680FF2 +:101B7000711D87FD7A9580911F06909120060E9425 +:101B80002C11E0911F06F09120068181813019F41B +:101B9000D08282818183CF010E94521190932006CE +:101BA00080931F06C8010E9452118C014DCFB7FCD3 +:101BB0001FC01FEF1B0DE1E0F0E0EC0FFD1FEB0D70 +:101BC000F11DB7FCFA9580810E94F40CB12EEFCF85 +:101BD000B394E1E0F0E0EC0FFD1FEB0DF11DB7FC5D +:101BE000FA95A082DFCFBA94882D0E94F40C71CFB1 +:101BF00060960FB6F894DEBF0FBECDBFDF91CF91D8 +:101C00001F910F91FF90EF90DF90CF90BF90AF901A +:101C10009F908F900895FF920F931F93CF93DF9320 +:101C2000CDB7DEB7C05AD1090FB6F894DEBF0FBEEC +:101C3000CDBF8C01E0911F06F0912006FF24F394A4 +:101C4000F082AF01481B590B4F5F5F4FBC01CE01C3 +:101C500001960E94821C1093200600931F06CE015D +:101C600001960E94080DE0911F06F0912006F08277 +:101C700010921E0610921D06C056DF4F0FB6F89444 +:101C8000DEBF0FBECDBFDF91CF911F910F91FF90AF +:101C90000895EF92FF920F931F93CF93DF93CDB7E9 +:101CA000DEB760970FB6F894DEBF0FBECDBF0091D0 +:101CB0001F061091200619820E94F910FC01F08085 +:101CC000F11006C00E94F9106AE00E94451155C04B +:101CD000F12C81E3EE24E3948C32B9F18CF4893257 +:101CE00031F18B3209F18832B9F7F394E1E0F0E099 +:101CF000EC0FFD1FEF0DF11DF7FCFA95108206C0E9 +:101D00008536D1F1863629F0813331F70E94420CB5 +:101D10002AC0F394E1E0F0E0EC0FFD1FEF0DF11DA0 +:101D2000F7FCFA95E082F2CF0E94810C1CC0E1E042 +:101D3000F0E0EC0FFD1FEF0DF11DF7FCFA9560814F +:101D40008F2D0E94B20CFA940EC0E1E0F0E0EC0F8F +:101D5000FD1FEF0DF11DF7FCFA95808191E0980FC2 +:101D600090830E94D20C833709F0B6CFC8010E943D +:101D70000B0EFF24F39401C0F12C8F2D60960FB64B +:101D8000F894DEBF0FBECDBFDF91CF911F910F91B1 +:101D9000FF90EF9008950F931F93CF93DF9380915F +:101DA0001806909119060E943403EC0188819981EC +:101DB000892B59F4809118069091190602972CF0FE +:101DC00081E090E00E943403EC0100E010E06881C3 +:101DD00079816115710529F1809116069091170698 +:101DE00008171907F4F4CB01019690931906809314 +:101DF0001806882777FD8095982F0E94951680E217 +:101E00000E946C16CE0102960E947A160E94281734 +:101E10008881998101960E943403EC010F5F1F4F66 +:101E2000D6CFDF91CF911F910F9108950E9452114B +:101E30000E945211FC012081203191F421813281D4 +:101E400030931906209318060E945211FC0120813C +:101E5000203131F481819281909317068093160688 +:101E60000C94CB0E80911406909115060E9452118D +:101E70000E94521120911306206220931306FC0148 +:101E80002081203119F48181928102C081E090E0AB +:101E90000C94850B0E94D103882321F00E94140426 +:101EA0000C94AA0B8FEF9FEF0C94850B0E94D1032B +:101EB00040E050E066E080E00E94B00180E20E94D5 +:101EC0006C166091F6057091F7056E5F7F4F88275D +:101ED00077FD8095982F0E94951680E20E946C16DF +:101EE00040E050E068E080E00E94B0010C942817C8 +:101EF0000E94F10340E050E08823D1F067E080E0E9 +:101F00000E94B00180E20E946C166091F60570910B +:101F1000F7056E5F7F4F882777FD8095982F0E9489 +:101F2000951680E20E946C1640E050E068E001C027 +:101F300069E080E00E94B0010C9428170E94E3023F +:101F40000C94140540E050E061E080E00E94B00194 +:101F50006091F6057091F705882777FD8095982F99 +:101F60000E9495160E94281740E050E062E080E051 +:101F70000E94B0010E942905BC01882777FD809549 +:101F8000982F0E9495160E94281740E050E063E0C9 +:101F900080E00E94B00160912101709122018827A8 +:101FA00077FD8095982F0E9495160C9428178091A4 +:101FB0001406909115060E945714863B23E0920761 +:101FC00031F480911406909115060C94160F82310D +:101FD00023E0920711F40C94320F8C3A21E092071F +:101FE00011F40C944A0F853723E0920711F40C94F6 +:101FF000560F8A3923E0920711F40C94780F8A392E +:1020000026E0920711F40C949E0F833B934011F449 +:102010000C94A20F84E991E00E943B1684E991E0C0 +:102020000E946E1680E20E946C160E943616845939 +:102030009140BC01882777FD8095982F6F5F7F4F77 +:102040008F4F9F4F0E9495160C942817CF93DF93C4 +:1020500080919401882351F16091140670911506C6 +:1020600084E991E00E9416160E943616892B21F011 +:10207000DF91CF910C94D70F8091140690911506A3 +:10208000FC012081203121F0DF91CF910C94FD0AD9 +:10209000FC01C181D28184E991E00E9464160E9412 +:1020A000F817BE01DF91CF910C944903DF91CF91D6 +:1020B00008950E941404882381F040E050E06AE013 +:1020C00080E00E94B0010E94281788EE93E00E94F1 +:1020D0004D0A84E08093130608950C949E0F0F938D +:1020E0001F93CF93DF93EC018B010E94281740E0F0 +:1020F00050E060E080E00E94B0010E942817CE010D +:10210000845F9D4F0E94F202BE018CE092E00E942B +:10211000350581E090E0909319068093180683E0DE +:1021200090E0909317068093160610921306B8015C +:102130006C567E4F709315066093140684E991E007 +:10214000DF91CF911F910F910C9459108091F4055C +:1021500018167CF4809113068B7F8093130640E061 +:1021600050E06BE080E00E94B0010E9428170C94C0 +:10217000F1030E94690A882339F0809113068B7F4E +:10218000809313060C94AA0B08952091F405233034 +:1021900029F48091130683608093130680911306BF +:1021A000982F9371903111F40C94CE0B982F93705B +:1021B000923031F0933039F0913041F40C947E0A32 +:1021C0000E94880A13C00E946F0B10C085FF04C0D4 +:1021D00080E090E00C94850B82FD0C94A610121602 +:1021E0003CF40E94F80281110E9426101092F4051E +:1021F000089580912106909122060895FC01208186 +:1022000024326CF42232D4F42031A9F01CF42230B0 +:10221000D0F01CC0203291F02132D9F017C0223307 +:1022200091F01CF42033ACF411C0233391F020540E +:10223000223020F00BC083E090E00895FC01818102 +:1022400090E00296089581E090E0089580E090E0AB +:10225000089582E090E008950F931F93CF93DF934A +:1022600000D0CDB7DEB78C01CB0169837A830E94A1 +:10227000FE10AC0169817A81C8010F900F90DF9147 +:10228000CF911F910F910C94821C60931A0690932A +:102290001C0680931B06E0911F06F091200681E04A +:1022A00080830895CF93DF93EC010E94FE108C0F82 +:1022B0009D1FDF91CF910895CF93DF93EC01FC0137 +:1022C0002081222319F00E945211F9CF8C1B9D0B03 +:1022D0000196DF91CF9108950E94F81790932206FE +:1022E0008093210680911F069091200690931E06F0 +:1022F00080931D060E9452119093200680931F0622 +:1023000008952091210630912206A901480F511D00 +:1023100087FD5A95CA010E94F81790932206809370 +:1023200021060895E0912106F091220680818732EE +:10233000B1F4A0911F06B091200680E18C938181B9 +:1023400090E012969C938E931197CF0102969093F2 +:102350002206809321060E946C1181E0089580E09E +:102360000895CF92DF92EF92FF920F931F93CF9336 +:10237000DF931F92CDB7DEB7E0912106F0912206E0 +:1023800080810E943A1781110BC00F90DF91CF918D +:102390001F910F91FF90EF90DF90CF900C949211CE +:1023A000E0911F06F091200680E180831282118265 +:1023B000E0912106F09122068081803381F48181B1 +:1023C0000E942B17E0912106F0912206883549F4EE +:1023D0003296F0932206E093210620E108C02AE01D +:1023E00006C081810E942B17823431F028E0022F31 +:1023F000112707FD10950BC08091210690912206B0 +:102400000296909322068093210622E0F0CFE0917D +:102410002106F0912206622F808129830E944117B4 +:10242000E0912106F09122062981882339F1C0909C +:102430001F06D0902006D60111968D919C9112977F +:10244000089F7001099FF00C189FF00C1124622F57 +:10245000808129830E946917E80EF11C87FDFA9498 +:10246000F601F282E1828091210690912206019686 +:1024700090932206809321062981C9CFCF010E9423 +:102480006C1181E00F90DF91CF911F910F91FF9020 +:10249000EF90DF90CF9008958091210690912206D1 +:1024A000FC012081222329F065E00E94451180E093 +:1024B0000895E0911F06F0912006108281E00895B2 +:1024C000CF93DF936091210670912206FB0101906A +:1024D0000020E9F73197E61BF70BA0911F06B0919A +:1024E000200681E48C931196EC931197EF01DD2780 +:1024F000AE01CD0102960E94821C8091210690912E +:1025000022068C0F9D1F0E946C11DF91CF910C94BD +:102510004C120F931F93CF93DF93009121061091DC +:102520002206F8018081823261F5A0911F06B091E8 +:10253000200680E48C93E801219621E030E0AE0192 +:102540006991611114C08FEF820F11968C9381E015 +:1025500090E0FA014081423211F080E090E0820F79 +:10256000931F800F911F0E946C1181E00BC062329B +:1025700051F3CD01820F931FFC0161832F5F3F4F09 +:10258000DECF80E0DF91CF911F910F910895CF931F +:10259000DF93C0911F06D091200680E38883E091ED +:1025A0002106F091220680818C3339F491819E338B +:1025B00059F09D3379F48BE708C08E3359F491813B +:1025C0009D3341F48DE701C083E23196F0932206FA +:1025D000E09321060E942B17898380912106909118 +:1025E000220601960E946C1181E0DF91CF9108953F +:1025F000CF93DF93C0912106D09122060E94B111A2 +:10260000882389F0E0911D06F0911E062181328118 +:10261000215031092033354730F067E0CE010E9468 +:10262000451180E001C081E0DF91CF910895809154 +:10263000210690912206FC0120812B3329F064E0D1 +:102640000E94451180E00895E0911F06F091200658 +:1026500022E3208301960E946C1181E00895E091AD +:102660002106F091220620E0CF013191332341F081 +:10267000383211F42F5FF8CF3932B1F72150A1F77A +:102680000895CF938091210690912206FC0120812C +:102690002D33F1F0283211F062E016C00E942F13A2 +:1026A000FC01C081C11104C06AE00E94451113C041 +:1026B00001960E94F817FC0180818D3359F062E089 +:1026C00080912106909122060E944511C0E003C02E +:1026D000C8E001C0C9E08C2FCF910895CF93DF935C +:1026E0000E942F13EC018BE3888320912106309107 +:1026F00022062F5F3F4F30932206209321060E942F +:10270000490E882329F00E94171389E2888381E00B +:10271000DF91CF9108950F931F93CF93DF930E9482 +:102720004113182F811102C080E050C0E0911F06B4 +:10273000F091200601E20083C0911D06D0911E0693 +:10274000CE010E94FE10AC01BE01CE0102960E9495 +:102750008B1CE0911D06F0911E0600831183CF01B2 +:102760000E945211FC019093200680931F0619309D +:1027700021F483E3808382818183F0931E06E093BA +:102780001D06CF010E9452119093200680931F06D0 +:10279000193081F0809121069091220601960E94C5 +:1027A000F81790932206809321060E94490E8823F1 +:1027B00059F005C00E946E138111ECCFB5CF0E9475 +:1027C0004C1291E0811101C090E0892FDF91CF91EF +:1027D0001F910F9108950E948912811102C00C94DB +:1027E000490E81E008950E94490E882371F0E0911E +:1027F0002106F09122068081882329F00E94171378 +:10280000882319F0F0CF0C944C1280E008950E94B8 +:10281000EB13882371F0E0912106F091220680816C +:10282000882329F00E941713882319F0F0CF0C9405 +:102830004C1280E008950E94B111811104C00E94E1 +:102840008912882349F0E0912106F09122068081C7 +:102850008111F1CF0C944C1268E080912106909187 +:1028600022060E94451180E00895CF93C82F1816C4 +:102870004CF0CF910C944C12C150D9F30E94171315 +:10288000882321F00E94490E8111F6CF80E0CF917C +:1028900008950E94B11181110C944C1268E080914E +:1028A0002106909122060E94451180E00895FC01C6 +:1028B0002081207F203219F401960C940B1880E0BF +:1028C00090E0089580911F06909120060E94571471 +:1028D0008A3D23E0920709F44BC0D4F48C3CF1E02C +:1028E0009F0709F43FC04CF4843D910579F18F387E +:1028F000E1E09E0709F444C03EC08F3CF1E09F0731 +:10290000A1F18D3C23E09207B1F58CE090E03AC054 +:102910008E35E7E09E0709F446C04CF4833E23E081 +:102920009207B9F08C37E6E09E07D1F124C08C3ACB +:10293000F7E09F0789F08E302DE0920781F0833811 +:10294000E7E09E07C1F48BE090E01CC083E090E0DC +:1029500019C084E090E016C085E090E013C086E0E6 +:1029600090E010C087E090E00DC08AE090E00AC0DF +:102970008DE090E007C00E94E30197FD17C002C000 +:1029800080E090E0E0911F06F091200691E29083B4 +:102990008183CF010E94521121E0FC012083089520 +:1029A00081E090E0EFCF82E090E0ECCF0895FF92DD +:1029B0000F931F93CF93DF93F82EE0912106F091B0 +:1029C000220680810E9431178823A1F1E0911F0621 +:1029D000F091200680E28083C0E0D0E0E091210603 +:1029E000F0912206EC0FFD1F80810E94E0170091FC +:1029F0001F0610912006882379F0E0912106F091BE +:102A00002206EC0FFD1F80810E942B17F801EC0FAE +:102A1000FD1F82832196E2CFF801C183F1100E944D +:102A2000621480912106909122068C0F9D1F0E94B6 +:102A30006C1181E0DF91CF911F910F91FF9008956C +:102A4000CF9380E00E94D714C82F811108C063E0A3 +:102A500080912106909122060E94451107C0E091C5 +:102A60001D06F0911E0682E28083C1E08C2FCF917B +:102A7000089580E00E94D714811102C063E02BC04A +:102A8000E0911D06F0911E0683E38083828181839D +:102A9000CF010E9452119093200680931F060E943E +:102AA000B111E0912106F0912206811103C068E086 +:102AB000CF0115C08081811102C00C944C120E947C +:102AC000C712882339F0E0911D06F0911E0681811E +:102AD000823499F369E080912106909122060E9448 +:102AE000451180E0089580911F06909120060E9474 +:102AF00052119093200680931F0680E00E94D71405 +:102B00008111FBCF0E94B1118111F7CF0E94891270 +:102B10008111F3CFE0911F06F091200681E08083C0 +:102B20000895CF9381E00E94D714C82F811108C067 +:102B300061E080912106909122060E94451161C0BA +:102B4000E0911D06F0911E068081813241F00E94C5 +:102B50008B13C82F811154C00E94731552C0E1819C +:102B6000E11103C0CF910C9460128CEF8E0F823074 +:102B700018F4CF910C9449148AEF8E0F823018F418 +:102B8000CF910C944C12E13019F4CF910C940714AE +:102B9000E23051F40E942015882381F10E944C12EA +:102BA000C1E081112EC02AC0E33019F4CF910C94FA +:102BB0000416EA3019F4CF910C943915EB3011F466 +:102BC00081E012C0EC3019F4CF910C941B14ED305D +:102BD00019F4CF910C94F313E0344CF0FF27E7FD88 +:102BE000F095ED53FF4F8081CF910C94351466E042 +:102BF00080912106909122060E944511C0E001C0FB +:102C0000C1E08C2FCF9108950E94490E882369F06E +:102C10000E941713882341F00E94911591E08111C1 +:102C200001C090E0892F089580E0089590932206D6 +:102C3000809321067093200660931F0610921E0653 +:102C400010921D0660E080E090E00E9445110E9415 +:102C5000F812882351F0E0912106F091220680813C +:102C600081110C9491150C944C12089580911B06BF +:102C700090911C060895AC0160911A0681E00C94B5 +:102C8000B001FC01AF01481B590B2191211102C079 +:102C9000FC0103C02132B4F3FBCF9F01281B390B89 +:102CA000DF01A40FB51F6C91662311F06193F5CF7E +:102CB000FC01E20FF31F21503109108237FD03C0E0 +:102CC00082918132C4F30895FC0101962081205342 +:102CD0002A30D0F3CF0108950C942501CF93DF93D0 +:102CE000EC018991882319F00E942501FACFDF9128 +:102CF000CF9108950F931F93CF93DF938C01C0E082 +:102D0000D0E09E012196F801808190E028173907D4 +:102D10003CF4F801EC0FFD1F80810E942501F1CFEA +:102D2000DF91CF911F910F9108954F925F926F9213 +:102D30007F928F929F92AF92BF92CF92DF92EF924B +:102D4000FF921F93CF93DF9300D01F92CDB7DEB7D2 +:102D50006B017C0197FF0CC08DE20E942501F0946D +:102D6000E094D094C094C11CD11CE11CF11C05C09E +:102D7000611571058105910569F0812C9AEC992EF8 +:102D80009AE9A92E9BE3B92E2AE0422E512C612C00 +:102D9000712C15C080E30F900F900F90DF91CF91B1 +:102DA0001F91FF90EF90DF90CF90BF90AF909F90DA +:102DB0008F907F906F905F904F900C942501C81476 +:102DC000D904EA04FB044CF4C501B401A301920147 +:102DD0000E94491C49015A01F2CF8AE0482E512C29 +:102DE000612C712C181419041A041B04F4F4C70183 +:102DF000B601A50194010E94491C182F80E3820F9F +:102E000069837A839B830E9425016981C62E7A811A +:102E1000D72EE12E9B81F92EC501B401A3019201A9 +:102E20000E94491C49015A01DDCF0F900F900F906D +:102E3000DF91CF911F91FF90EF90DF90CF90BF90E7 +:102E4000AF909F908F907F906F905F904F9008957C +:102E50008AE00C9425019FE9980F9A3108F480527A +:102E600008950E942B179FEB980F81E09A3108F08C +:102E700080E0089590ED980F81E09A3008F080E0AE +:102E80000895CF93DF931F92CDB7DEB78033E4F080 +:102E90008A333CF4282F332727FD30952F523109F0 +:102EA0000CC069830E942B17698181346CF0282F34 +:102EB000332727FD309526533109772767FD709515 +:102EC00081E0621773070CF480E00F90DF91CF91DF +:102ED0000895803344F08A3314F4805308950E9497 +:102EE0002B178753089580E00895AF92BF92DF9229 +:102EF000EF92FF920F931F93CF93DF9300D0CDB744 +:102F0000DEB75C01FC0180818D3231F4FFEFAF1A36 +:102F1000BF0A2FEF298302C031E03983F501808198 +:102F2000803351F481810E942B17883569F4F2E0D7 +:102F3000AF0EB11C90E101C09AE000E010E0E92E74 +:102F4000FF24E7FCF0940CC0823429F02FEFA21A82 +:102F5000B20A98E0F2CF32E0A30EB11C92E0EDCFBE +:102F6000F501D1905F01692F8D2D9A830E94411741 +:102F70009A81882399F0F801EE9D8001EF9D100D54 +:102F8000FE9D100D1124692F8D2D9A830E946917C3 +:102F9000080F111D87FD1A959A81E2CF2981200320 +:102FA000C001219F900D11240F900F90DF91CF91C0 +:102FB0001F910F91FF90EF90DF90BF90AF90089519 +:102FC00090ED980F9A3040F00E94311791E08111F6 +:102FD00001C090E0892F089581E00895893034F090 +:102FE0008E3014F0803211F481E0089580E008956D +:102FF0000F931F93CF93DF93EC018E012196F8017D +:1030000080810E94EE178111F8CFC801DF91CF9126 +:103010001F910F910895FC01508180E090E040E005 +:1030200045178CF49C01220F331FDF01A40FB11D43 +:1030300047FDBA9511968C91992787FD9095822727 +:1030400093274F5FEDCF08951F920F920FB60F9207 +:1030500011242F933F938F939F93AF93BF938091AE +:10306000240690912506A0912606B091270630915E +:10307000230623E0230F2D3720F40196A11DB11D57 +:1030800005C026E8230F0296A11DB11D209323063B +:103090008093240690932506A0932606B0932706D6 +:1030A0008091280690912906A0912A06B0912B06BE +:1030B0000196A11DB11D8093280690932906A09327 +:1030C0002A06B0932B06BF91AF919F918F913F91AC +:1030D0002F910F900FBE0F901F9018952FB7F89457 +:1030E000609124067091250680912606909127060E +:1030F0002FBF08953FB7F894809128069091290634 +:10310000A0912A06B0912B0626B5A89B05C02F3F9B +:1031100019F00196A11DB11D3FBF6627782F892F99 +:103120009A2F620F711D811D911D42E0660F771F5E +:10313000881F991F4A95D1F708958F929F92AF9259 +:10314000BF92CF92DF92EF92FF926B017C010E94BF +:103150007A184B015C01C114D104E104F104F1F0CF +:103160000E94121C0E947A18681979098A099B0921 +:10317000683E73408105910570F321E0C21AD108C1 +:10318000E108F10888EE880E83E0981EA11CB11CAE +:10319000C114D104E104F10429F7DDCFFF90EF90D1 +:1031A000DF90CF90BF90AF909F908F9008957894CC +:1031B00084B5826084BD84B5816084BD85B582603C +:1031C00085BD85B5816085BDEEE6F0E080818160DA +:1031D0008083E1E8F0E010828081826080838081DA +:1031E00081608083E0E8F0E0808181608083E1EBB2 +:1031F000F0E0808184608083E0EBF0E0808181609A +:103200008083EAE7F0E0808184608083808182604F +:103210008083808181608083808180688083109238 +:10322000C10008958E3008F08E50877020912301E0 +:1032300090E4299F90011124822B80937C0080913F +:103240007A00806480937A0080917A0086FDFCCFBA +:10325000809178002091790090E0922B089583303E +:1032600081F028F4813099F08230A1F00895873000 +:10327000A9F08830B9F08430D1F4809180008F7D3E +:1032800003C0809180008F7780938000089584B57B +:103290008F7702C084B58F7D84BD08958091B00082 +:1032A0008F7703C08091B0008F7D8093B000089528 +:1032B000CF93DF9390E0FC01E056FE4F2491FC0198 +:1032C000EC54FE4F8491882349F190E0880F991FB8 +:1032D000FC01E452FE4FA591B4918E529E4FFC0129 +:1032E000C591D4919FB7611108C0F8948C91209535 +:1032F00082238C93888182230AC0623051F4F8942F +:103300008C91322F309583238C938881822B8883F4 +:1033100004C0F8948C91822B8C939FBFDF91CF9146 +:1033200008950F931F93CF93DF931F92CDB7DEB70E +:10333000282F30E0F901E457FE4F8491F901E0565F +:10334000FE4F1491F901EC54FE4F04910023C9F093 +:10335000882321F069830E942F196981E02FF0E012 +:10336000EE0FFF1FEE52FE4FA591B4919FB7F89458 +:103370008C91611103C01095812301C0812B8C9326 +:103380009FBF0F90DF91CF911F910F910895CF9321 +:10339000DF93282F30E0F901E457FE4F8491F901C3 +:1033A000E056FE4FD491F901EC54FE4FC491CC236A +:1033B00091F081110E942F19EC2FF0E0EE0FFF1F0A +:1033C000E853FE4FA591B4912C912D2381E090E01C +:1033D00021F480E002C080E090E0DF91CF91089579 +:1033E000FC01818D228D90E0805C9F4F821B9109B2 +:1033F0008F7399270895FC01918D828D981731F074 +:10340000828DE80FF11D858D90E008958FEF9FEF7D +:103410000895FC01918D828D981761F0828DDF01F6 +:10342000A80FB11D5D968C91928D9F5F9F73928FB7 +:1034300090E008958FEF9FEF08958DE89BE1892B31 +:1034400049F080E090E0892B29F00E948D1B8111CA +:103450000C9400000895FC01848DDF01A80FB11DBC +:10346000A35ABF4F2C91848D90E001968F739927BA +:10347000848FA689B7892C93A089B1898C918064A7 +:103480008C93938D848D981306C00288F389E02D68 +:1034900080818F7D80830895CF93DF93EC01888DA9 +:1034A0008823C9F0EA89FB89808185FD05C0A88948 +:1034B000B9898C9186FD0FC00FB607FCF5CF8081CE +:1034C00085FFF2CFA889B9898C9185FFEDCFCE0118 +:1034D0000E942B1AE7CFDF91CF910895CF92DF9210 +:1034E000FF920F931F93CF93DF931F92CDB7DEB759 +:1034F0006C0181E0D60158968C9358975B969C910D +:103500005B975C968C915C97981307C05096ED91F1 +:10351000FC915197808185FD2EC0F601038D10E04E +:103520000F5F1F4F0F731127F02EF601848DF812D5 +:1035300011C00FB607FCF9CFD6015096ED91FC9162 +:103540005197808185FFF1CFC60169830E942B1AB4 +:103550006981EBCF838DE80FF11DE35AFF4F608344 +:10356000D6015B960C935B975296ED91FC91539725 +:10357000808180620CC0D6015696ED91FC915797E0 +:1035800060835096ED91FC91519780818064808397 +:1035900081E090E00F90DF91CF911F910F91FF900C +:1035A000DF90CF900895BF92CF92DF92EF92FF927B +:1035B000CF93DF93EC016A017B01B22EE889F98990 +:1035C00082E08083411581EE580761057105A1F005 +:1035D00060E079E08DE390E0A70196010E94271C4E +:1035E000215031094109510956954795379527953D +:1035F000211580E1380798F0E889F989108260E8A0 +:1036000074E88EE190E0A70196010E94271C2150EA +:103610003109410951095695479537952795EC850C +:10362000FD853083EE85FF852083188EEC89FD892A +:10363000B082EA89FB89808180618083EA89FB8985 +:10364000808188608083EA89FB89808180688083AB +:10365000EA89FB8980818F7D8083DF91CF91FF9004 +:10366000EF90DF90CF90BF9008951F920F920FB60A +:103670000F9211242F938F939F93EF93FF93E091D9 +:103680003C06F0913D068081E0914206F0914306B0 +:1036900082FD12C09081809145068F5F8F732091CB +:1036A0004606821751F0E0914506F0E0E45DF94FDF +:1036B000958F8093450601C08081FF91EF919F9186 +:1036C0008F912F910F900FBE0F901F9018951F9202 +:1036D0000F920FB60F9211242F933F934F935F9346 +:1036E0006F937F938F939F93AF93BF93EF93FF93CA +:1036F0008CE296E00E942B1AFF91EF91BF91AF915F +:103700009F918F917F916F915F914F913F912F91F9 +:103710000F900FBE0F901F9018958CE296E00E94BC +:10372000F01921E0892B09F420E0822F08951092EE +:103730002F0610922E0688EE93E0A0E0B0E0809372 +:10374000300690933106A0933206B093330686E894 +:1037500091E090932D0680932C0685EC90E0909359 +:1037600039068093380684EC90E090933B06809372 +:103770003A0680EC90E090933D0680933C0681EC05 +:1037800090E090933F0680933E0682EC90E0909309 +:1037900041068093400686EC90E090934306809328 +:1037A0004206109245061092460610924706109265 +:1037B00048060895CF92DF92EF92FF920F931F93E6 +:1037C000CF93DF937C016A01EB0100E010E00C1560 +:1037D0001D0571F06991D701ED91FC910190F08187 +:1037E000E02DC7010995892B19F00F5F1F4FEFCF0F +:1037F000C801DF91CF911F910F91FF90EF90DF9063 +:10380000CF90089508950E94D7180E94021C0E942C +:10381000C002CDE1DAE10E94DD022097E1F30E94CF +:103820001D1AF9CF089597FB072E16F4009407D0C0 +:1038300077FD09D00E94681C07FC05D03EF49095E6 +:1038400081959F4F0895709561957F4F0895A1E2EE +:103850001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F0A +:10386000FF1FA217B307E407F50720F0A21BB30B55 +:10387000E40BF50B661F771F881F991F1A9469F7D1 +:1038800060957095809590959B01AC01BD01CF012D +:103890000895052E97FB1EF400940E94601C57FDAE +:1038A00007D00E94271C07FC03D04EF40C94601C28 +:1038B00050954095309521953F4F4F4F5F4F08955C +:1038C00090958095709561957F4F8F4F9F4F08958C +:1038D000AA1BBB1B51E107C0AA1FBB1FA617B70736 +:1038E00010F0A61BB70B881F991F5A95A9F7809552 +:1038F0009095BC01CD010895EE0FFF1F0590F49146 +:10390000E02D0994FB01DC0102C001900D924150B1 +:103910005040D8F708956817790768F4FB01DC0177 +:10392000E40FF51FA40FB51F02C002900E92415084 +:103930005040D8F708950C94821CF999FECF92BD9F +:1039400081BDF89A992780B50895262FF999FECF61 +:103950001FBA92BD81BD20BD0FB6F894FA9AF99AAC +:0A3960000FBE01960895F894FFCF02 +:10396A000101010202C804580902058709D304DFCC +:10397A00049804B2044409D0090C065F0AE90976DE +:10398A000901000119FF0AFF1405FF00FF140FFFC8 +:10399A000FFF14FFFFFFFFFFFFFFFFFFFFFFFF0AFD +:1039AA000A0AFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1039BA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1039CA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1039DA00FFFFFFFFFFFFFFFFFFFFFFFFFFFF0A05DC +:1039EA000A19000000006E1ADA1BF019091AFB19ED +:0239FA004C1A65 +:00000001FF diff --git a/arduino-mini/main.h b/arduino-mini/main.h deleted file mode 100644 index 0dfc237..0000000 --- a/arduino-mini/main.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __MAIN_H_ -#define __MAIN_H_ - -void init(char* space, short dataSize); -void dispatch(void); - -#endif - diff --git a/arduino-mini/ardubasic.ino b/arduino-src/ardubasic.ino similarity index 90% rename from arduino-mini/ardubasic.ino rename to arduino-src/ardubasic.ino index 02005f2..9220604 100644 --- a/arduino-mini/ardubasic.ino +++ b/arduino-src/ardubasic.ino @@ -5,11 +5,13 @@ #include "mytypes.h" #include "textual.h" #include "tokens.h" +#include "extern.h" #define UART_SPEED 115200 #define PROG_SPACE_SIZE 700 #define VARS_SPACE_SIZE 300 +#define LINE_SIZE 40 char extraCmdArgCnt[] = {2, 2}; @@ -19,11 +21,12 @@ static const char commonStrings[] PROGMEM = CONST_COMMON_STRINGS; static const char parsingErrors[] PROGMEM = CONST_PARSING_ERRORS; char dataSpace[VARS_SPACE_SIZE + PROG_SPACE_SIZE]; +char lineSpace[LINE_SIZE * 3]; short filePtr; -short sysGetc(void) { - return Serial.read(); +char sysGetc(void) { + return (Serial.available() > 0) ? (char) Serial.read() : 0; } void sysPutc(char c) { @@ -74,11 +77,11 @@ uchar peek(short addr) { return *((uchar*) addr); } -void sysQuit(void) { -} - -void sysDelay(numeric pause) { - delay(pause); +numeric sysMillis(numeric div) { + if (div <= 1) { + (numeric) millis(); + } + return (numeric) (millis() / div); } void outputConstStr(char strId, char index, char* w) { @@ -186,10 +189,11 @@ char storageOperation(void* data, short size) { return 1; } size = EEPROM.read(1); - size = ((size << 8) | EEPROM.read(0)) + 2; + size = ((size << 8) | EEPROM.read(0)); if (size <= 0 || size >= PROG_SPACE_SIZE) { return 0; } + size += 2; return storageChecksum(size + 1) == 0; } } @@ -208,10 +212,12 @@ char storageOperation(void* data, short size) { void setup() { Serial.begin(UART_SPEED); - init(dataSpace, VARS_SPACE_SIZE); + while (!Serial); + init(VARS_SPACE_SIZE, LINE_SIZE); } void loop() { + lastInput = sysGetc(); dispatch(); } diff --git a/arduino-mini/editor.cpp b/arduino-src/editor.cpp similarity index 71% rename from arduino-mini/editor.cpp rename to arduino-src/editor.cpp index 5939ab6..490ea71 100644 --- a/arduino-mini/editor.cpp +++ b/arduino-src/editor.cpp @@ -4,12 +4,16 @@ #include "tokens.h" #include "extern.h" +extern token* toksBody; char* prgStore; short prgSize; +static char lineSpacePos; +char lastInput; void resetEditor(void) { ((prgline*)prgStore)->num = 0; prgSize = 2; + lineSpacePos = 0; } void initEditor(char* prgBody) { @@ -17,12 +21,23 @@ void initEditor(char* prgBody) { resetEditor(); } -char readLine(char* line) { - if (!input(line, MAX_LINE_LEN)) { - return 0; +char readLine() { + if (lastInput == '\r' || lastInput == '\n') { + trim(lineSpace); + lineSpace[lineSpacePos] = 0; + lineSpacePos = 0; + sysEcho('\n'); + return 1; + } else if (lastInput == '\b' || lastInput == 127) { + if (lineSpacePos > 0) { + lastInput = '\b'; + lineSpacePos -= 1; + } + } else if (lastInput >= ' ') { + lineSpace[lineSpacePos++] = lastInput; } - trim(line); - return 1; + sysEcho(lastInput); + return 0; } short lineSize(prgline* p) { @@ -79,27 +94,27 @@ char editorLoad(void) { return 1; } -char editorLoadParsed(char* lineBuf, token* tokenBuf) { +char editorLoadParsed() { void* p = prgStore; unsigned char len; if (!storageOperation(NULL, -1)) { return 0; } - storageOperation(lineBuf, -2); + storageOperation(lineSpace, -2); while (1) { storageOperation(p, (short) -sizeof(short)); if (*((short*)p) == 0) { break; } - parseLine(lineBuf, tokenBuf); + parseLine(lineSpace, toksBody); p = (char*)p + sizeof(short); storageOperation(&len, (short) -sizeof(len)); - storageOperation(lineBuf, -len); - lineBuf[len] = 0; - parseLine(lineBuf, tokenBuf); - len = tokenChainSize(tokenBuf); + storageOperation(lineSpace, -len); + lineSpace[len] = 0; + parseLine(lineSpace, toksBody); + len = tokenChainSize(toksBody); *((char*)p) = len; - memcpy((char*)p + 1, tokenBuf, len); + memcpy((char*)p + 1, toksBody, len); p = (char*)p + len + 1; } storageOperation(NULL, 0); diff --git a/arduino-mini/editor.h b/arduino-src/editor.h similarity index 77% rename from arduino-mini/editor.h rename to arduino-src/editor.h index 9bb63a4..99592d1 100644 --- a/arduino-mini/editor.h +++ b/arduino-src/editor.h @@ -8,12 +8,12 @@ extern short prgSize; void resetEditor(void); void initEditor(char* prgBody); -char readLine(char* line); +char readLine(); prgline* findLine(short num); void injectLine(char* s, short num); char editorSave(void); char editorLoad(void); -char editorLoadParsed(char* lineBuf, token* tokenBuf); +char editorLoadParsed(void); #endif diff --git a/arduino-mini/exectoks.cpp b/arduino-src/exectoks.cpp similarity index 76% rename from arduino-mini/exectoks.cpp rename to arduino-src/exectoks.cpp index 5869c37..d65bcae 100644 --- a/arduino-mini/exectoks.cpp +++ b/arduino-src/exectoks.cpp @@ -7,18 +7,21 @@ #include "extern.h" #include "textual.h" -#define BREAK_DETECTED() (lastInput == 3) +extern char mainState; +extern token* toksBody; numeric* calcStack; short nextLineNum = 1; +static prgline* progLine; short sp, spInit; varHolder* vars; char numVars; short arrayBytes; labelCacheElem* labelCache; short labelsCached; -short lastInput; numeric lastDim; +static numeric execStepsCount; +static numeric delayT0, delayLimit; void execRem(void); void execPrint(void); @@ -33,6 +36,7 @@ void execLeta(void); void execDim(void); void execDelay(void); void execData(void); +void execEmit(void); void (*executors[])(void) = { execRem, @@ -48,6 +52,7 @@ void (*executors[])(void) = { execDim, execDelay, execData, + execEmit, }; void resetTokenExecutor(void) { @@ -202,6 +207,9 @@ void calcOperation(char op) { case '|': calcStack[sp] = calcStack[sp] || top; break; + case '^': + calcStack[sp] = calcStack[sp] ^ top; + break; } } @@ -212,11 +220,15 @@ void calcFunction(nstring* name) { if (h == 0x1FF) { // KEY i = calcStack[sp]; calcStack[sp] = lastInput; - if (i != 0 && !BREAK_DETECTED()) { - lastInput = -1; + if (i != 0) { + lastInput = 0; } return; } + if (h == 0xC9) { // MS + calcStack[sp] = sysMillis(calcStack[sp]); + return; + } if (h == 0x1D3) { // ABS if (calcStack[sp] < 0) { calcStack[sp] = -calcStack[sp]; @@ -328,18 +340,42 @@ void execDim(void) { void execData(void) { char a = (lastDim & 0x1F) | 0x40; // capital letter + char i; if (a < 'A' || a > 'Z') { return; } do { - setArray(a, lastDim >> 5, curTok->body.integer); + if (curTok->type == TT_NUMBER) { + setArray(a, lastDim >> 5, curTok->body.integer); + lastDim += (1 << 5); + } else { + for (i = 0; i < curTok->body.str.len; i += 1) { + setArray(a, lastDim >> 5, curTok->body.str.text[i]); + lastDim += (1 << 5); + } + } advance(); - lastDim += (1 << 5); } while (curTok->type != TT_NONE); } +void setDelay(numeric millis) { + delayT0 = sysMillis(1); + delayLimit = millis; +} + void execDelay(void) { - sysDelay(calcExpression()); + setDelay(calcExpression()); + mainState |= STATE_DELAY; +} + +char checkDelay() { + return sysMillis(1) - delayT0 > delayLimit; +} + +void dispatchDelay() { + if (checkDelay()) { + mainState &= ~STATE_DELAY; + } } void execRem(void) { @@ -368,18 +404,33 @@ void execPrint(void) { } void execInput(void) { - char s[16]; + mainState |= STATE_INPUT; + outputChar('?'); + outputChar(curTok->body.str.text[0]); + outputChar('='); +} + +void dispatchInput() { + if (lastInput == 0) { + return; + } + if (!readLine()) { + return; + } + setVar(shortVarName(&(curTok->body.str)), decFromStr(lineSpace)); + advance(); + mainState &= ~STATE_INPUT; +} + +void execEmit(void) { while (1) { switch (curTok->type) { case TT_NONE: return; case TT_SEPARATOR: break; - case TT_VARIABLE: - outputChar('?'); - outputChar(' '); - input(s, sizeof(s)); - setVar(shortVarName(&(curTok->body.str)), decFromStr(s)); + default: + outputChar(calcExpression() & 0xFF); break; } advance(); @@ -427,26 +478,20 @@ void execExtra(char cmd) { sp += n; } -void fetchLastInput(void) { - short c = sysGetc(); - if (lastInput == -1 || c == 3) { - lastInput = c; - } -} - -char executeTokens(token* t) { - fetchLastInput(); +void executeTokens(token* t) { curTok = t; while (t->type != TT_NONE) { advance(); if (t->body.command < CMD_EXTRA) { executors[t->body.command](); + if (t->body.command == CMD_INPUT) { + break; + } } else { execExtra(t->body.command - CMD_EXTRA); } t = curTok; } - return 1; } void signalEndOfCode(void) { @@ -454,74 +499,79 @@ void signalEndOfCode(void) { outputCr(); } -char executeStep(char* lineBuf, token* tokenBuf) { +void stopExecution() { + if ((mainState & STATE_RUN) != 0) { + editorLoad(); + } + mainState &= ~(STATE_RUN | STATE_STEPS | STATE_BREAK); +} + +char executeStep() { prgline* p = findLine(nextLineNum); if (p->num == 0) { + stopExecution(); signalEndOfCode(); return 1; } nextLineNum = p->num + 1; - memcpy(lineBuf, p->str.text, p->str.len); - lineBuf[p->str.len] = 0; - parseLine(lineBuf, tokenBuf); - executeTokens(tokenBuf); + memcpy(lineSpace, p->str.text, p->str.len); + lineSpace[p->str.len] = 0; + parseLine(lineSpace, toksBody); + executeTokens(toksBody); return 0; } -void resetLastInput() { - lastInput = -1; -} - -void execBreak() { +void dispatchBreak() { + stopExecution(); + execStepsCount = 0; + sp = spInit; outputConstStr(ID_COMMON_STRINGS, 4, NULL); // BREAK outputCr(); - sp = spInit; - resetLastInput(); } -void executeNonParsed(char* lineBuf, token* tokenBuf, numeric count) { - resetLastInput(); - while (count != 0) { - if (executeStep(lineBuf, tokenBuf)) { - break; - } - if (BREAK_DETECTED()) { - execBreak(); - break; - } - if (count != -1) { - count -= 1; - } +void executeNonParsed(numeric count) { + if (count != 0) { + execStepsCount = count; + return; + } + if (execStepsCount != -1) { + execStepsCount -= 1; + } + if (executeStep()) { + execStepsCount = 0; + } + if (execStepsCount == 0) { + stopExecution(); } } -void executeParsedRun(void) { - prgline* p = findLine(nextLineNum); - prgline* next; +void initParsedRun(void) { + nextLineNum = 1; + progLine = findLine(nextLineNum); labelsCached = 0; labelCache = (labelCacheElem*)(void*)(prgStore + prgSize); - resetLastInput(); - while (1) { - if (p->num == 0 || nextLineNum == 0) { - break; - } - next = (prgline*)(void*)((char*)(void*)p + sizeof(p->num) + sizeof(p->str.len) + p->str.len); - nextLineNum = next->num; - executeTokens((token*)(void*)(p->str.text)); - if (next->num != nextLineNum) { - p = getCachedLabel(nextLineNum); - if (p == NULL) { - p = findLine(nextLineNum); - addCachedLabel(nextLineNum, (short)((char*)(void*)p - (char*)(void*)prgStore)); - } - } else { - p = next; - } - if (BREAK_DETECTED()) { - execBreak(); - return; + mainState |= STATE_RUN; +} + +void executeParsedRun(void) { + prgline* next; + if (progLine->num == 0 || nextLineNum == 0) { + stopExecution(); + signalEndOfCode(); + return; + } + next = (prgline*)(void*)((char*)(void*)progLine + + sizeof(progLine->num) + sizeof(progLine->str.len) + progLine->str.len); + nextLineNum = next->num; + executeTokens((token*)(void*)(progLine->str.text)); + if (next->num != nextLineNum) { + progLine = getCachedLabel(nextLineNum); + if (progLine == NULL) { + progLine = findLine(nextLineNum); + addCachedLabel(nextLineNum, (short)((char*)(void*)progLine - (char*)(void*)prgStore)); } + } else { + progLine = next; } - signalEndOfCode(); } diff --git a/arduino-mini/exectoks.h b/arduino-src/exectoks.h similarity index 54% rename from arduino-mini/exectoks.h rename to arduino-src/exectoks.h index 40c4afe..3a183c0 100644 --- a/arduino-mini/exectoks.h +++ b/arduino-src/exectoks.h @@ -8,11 +8,18 @@ extern short nextLineNum; void resetTokenExecutor(void); void initTokenExecutor(char* space, short size); short varSize(void); -char executeTokens(token* t); +void executeTokens(token* t); char executeStep(char* lineBuf, token* tokenBuf); void execBreak(void); -void executeNonParsed(char* lineBuf, token* tokenBuf, numeric count); +void executeNonParsed(numeric count); +void initParsedRun(void); void executeParsedRun(void); +void setLastInput(short c); +void dispatchInput(void); +void dispatchDelay(void); +void setDelay(numeric millis); +char checkDelay(); +void dispatchBreak(void); #endif diff --git a/arduino-mini/expr.cpp b/arduino-src/expr.cpp similarity index 100% rename from arduino-mini/expr.cpp rename to arduino-src/expr.cpp diff --git a/arduino-mini/expr.h b/arduino-src/expr.h similarity index 100% rename from arduino-mini/expr.h rename to arduino-src/expr.h diff --git a/arduino-mini/extern.h b/arduino-src/extern.h similarity index 83% rename from arduino-mini/extern.h rename to arduino-src/extern.h index 2e992e2..12a6ce7 100644 --- a/arduino-mini/extern.h +++ b/arduino-src/extern.h @@ -6,14 +6,15 @@ extern char extraFuncArgCnt[]; short extraCommandByHash(numeric h); short extraFunctionByHash(numeric h); +extern char dataSpace[]; +extern char lineSpace[]; +extern char lastInput; -short sysGetc(void); void sysPutc(char c); void sysEcho(char c); -void sysDelay(numeric t); +numeric sysMillis(numeric div); void extraCommand(char cmd, numeric args[]); numeric extraFunction(char cmd, numeric args[]); -void sysQuit(void); void outputConstStr(char strId, char index, char* s); /* data=NULL for open/close, size > 0 for write, diff --git a/arduino-mini/main.cpp b/arduino-src/main.cpp similarity index 54% rename from arduino-mini/main.cpp rename to arduino-src/main.cpp index 01d5ea7..deccc92 100644 --- a/arduino-mini/main.cpp +++ b/arduino-src/main.cpp @@ -6,7 +6,9 @@ #include "extern.h" #include "textual.h" -short listLine, listPage; +static short listLine, listPage; +token* toksBody; +char mainState; #if 0 void printToken(token* t) { @@ -110,19 +112,42 @@ void listProgram(token* t) { printProgram(); } -void executeSteps(char* lineBody, token* tokensBody) { - token* t = nextToken(nextToken(tokensBody)); - executeNonParsed(lineBody, tokensBody, t->type == TT_NUMBER ? t->body.integer : 1); +void executeSteps() { + token* t = nextToken(nextToken(toksBody)); + mainState |= STATE_STEPS; + executeNonParsed(t->type == TT_NUMBER ? t->body.integer : 1); } -void executeRun(char* lineBody, token* tokensBody) { - nextLineNum = 1; +void executeRun() { if (editorSave()) { - editorLoadParsed(lineBody, tokensBody); - executeParsedRun(); - editorLoad(); + editorLoadParsed(); + initParsedRun(); } else { - executeNonParsed(lineBody, tokensBody, -1); + executeNonParsed(-1); + } +} + +void manualSave(void) { + editorSave(); + outputConstStr(ID_COMMON_STRINGS, 6, NULL); // Saved + outputChar(' '); + outputInt(prgSize + 2); + outputChar(' '); + outputConstStr(ID_COMMON_STRINGS, 8, NULL); // bytes + outputCr(); +} + +void manualLoad(void) { + if (editorLoad()) { + outputConstStr(ID_COMMON_STRINGS, 7, NULL); // Loaded + outputChar(' '); + outputInt(prgSize + 2); + outputChar(' '); + outputConstStr(ID_COMMON_STRINGS, 8, NULL); // bytes + outputCr(); + } else { + outputConstStr(ID_COMMON_STRINGS, 9, NULL); // bytes + outputCr(); } } @@ -143,79 +168,117 @@ void showInfo(void) { outputCr(); } -void metaOrError(token* t, char* line) { - numeric h = tokenHash(t); - if (h == 0x31A) { // QUIT - sysQuit(); - } else if (h == 0x3B6) { // LIST - listProgram(t); +void metaOrError() { + numeric h = tokenHash(toksBody); + if (h == 0x3B6) { // LIST + listProgram(toksBody); } else if (h == 0x312) { // STEP - executeSteps(line, t); + executeSteps(); } else if (h == 0x1AC) { // RUN - executeRun(line, t); + executeRun(); } else if (h == 0x375) { // SAVE - editorSave(); + manualSave(); } else if (h == 0x39A) { // LOAD - editorLoad(); + manualLoad(); } else if (h == 0x69A) { // RESET prgReset(); } else if (h == 0x3B3) { // INFO showInfo(); } else { - getParseErrorMsg(line); - outputStr(line); + getParseErrorMsg(lineSpace); + outputStr(lineSpace); outputChar(' '); - outputInt((long)(getParseErrorPos() - line) + 1); + outputInt((long)(getParseErrorPos() - lineSpace) + 1); outputCr(); } } -void processLine(char* line, token* t) { - if (line[0] == 0) { +void processLine() { + if (lineSpace[0] == 0) { return; } - parseLine(line, t); - printTokens(t); + parseLine(lineSpace, toksBody); + printTokens(toksBody); if (getParseErrorPos() != NULL) { - metaOrError(t, line); + metaOrError(); return; } - if (t->type != TT_NUMBER) { - executeTokens(t); + if (toksBody->type != TT_NUMBER) { + executeTokens(toksBody); + } else { + injectLine(skipSpaces(skipDigits(lineSpace)), toksBody->body.integer); + } +} + +void preload(char* line, token* t) { + if (editorLoadParsed()) { + outputConstStr(ID_COMMON_STRINGS, 10, NULL); // code found, autorun message + outputCr(); + setDelay(1000); + mainState = STATE_PRELOAD; } else { - injectLine(skipSpaces(skipDigits(line)), t->body.integer); + prgReset(); } } -void init(char* space, short dataSize) { +void init(short dataSize, short lineSize) { outputCr(); outputConstStr(ID_COMMON_STRINGS, 0, NULL); // Miskatino vX.X outputCr(); - outputCr(); - initEditor(space + dataSize); - initTokenExecutor(space, dataSize); + initEditor(dataSpace + dataSize); + initTokenExecutor(dataSpace, dataSize); listLine = 1; listPage = 3; + mainState = STATE_INTERACTIVE; + toksBody = (token*)(void*) (lineSpace + lineSize); + preload(lineSpace, toksBody); } -void preload(char* line, token* t) { - if (editorLoadParsed(line, t)) { - sysDelay(1000); - if (sysGetc() < 0) { - executeParsedRun(); - } +void waitPreloadRunDelay() { + if (lastInput > 0) { + mainState &= ~STATE_PRELOAD; + outputConstStr(ID_COMMON_STRINGS, 11, NULL); // canceled + outputCr(); + editorLoad(); + } else if (checkDelay()) { + mainState &= ~STATE_PRELOAD; + initParsedRun(); } - prgReset(); } -void dispatch(void) { - char line[MAX_LINE_LEN]; - char toksBody[MAX_LINE_LEN * 2]; - token* t = (token*)(void*) toksBody; - preload(line, t); - while (1) { - readLine(line); - processLine(line, t); +void dispatch() { + if (lastInput == 3) { + mainState |= STATE_BREAK; + } + if ((mainState & (STATE_RUN | STATE_SLOWED)) == STATE_RUN) { + executeParsedRun(); + return; + } + switch (mainState & STATE_SLOWED) { + case STATE_DELAY: + dispatchDelay(); + return; + case STATE_INPUT: + dispatchInput(); + lastInput = 0; + return; + case STATE_BREAK: + dispatchBreak(); + lastInput = 0; + return; + } + if ((mainState & STATE_STEPS) != 0) { + executeNonParsed(0); + } else if ((mainState & STATE_PRELOAD) != 0) { + waitPreloadRunDelay(); + } else { + if (lastInput > 0) { + if (readLine()) { + processLine(); + } + lastInput = 0; + } } + return; } diff --git a/arduino-src/main.h b/arduino-src/main.h new file mode 100644 index 0000000..e853234 --- /dev/null +++ b/arduino-src/main.h @@ -0,0 +1,11 @@ +#ifndef __MAIN_H_ +#define __MAIN_H_ + +#include "mytypes.h" + +void init(short dataSize, short lineSize); +void dispatch(); +void processLine(char* line, token* t); + +#endif + diff --git a/arduino-mini/mystdlib.h b/arduino-src/mystdlib.h similarity index 100% rename from arduino-mini/mystdlib.h rename to arduino-src/mystdlib.h diff --git a/arduino-mini/mytypes.h b/arduino-src/mytypes.h similarity index 76% rename from arduino-mini/mytypes.h rename to arduino-src/mytypes.h index 2e9743d..9b7f343 100644 --- a/arduino-mini/mytypes.h +++ b/arduino-src/mytypes.h @@ -3,6 +3,15 @@ #define MAX_LINE_LEN 80 +#define STATE_INTERACTIVE 0x00 +#define STATE_DELAY 0x01 +#define STATE_INPUT 0x02 +#define STATE_BREAK 0x03 +#define STATE_SLOWED (STATE_DELAY | STATE_INPUT | STATE_BREAK) +#define STATE_PRELOAD 0x04 +#define STATE_RUN 0x10 +#define STATE_STEPS 0x20 + //16 bit for arduino, 32 on stm32 and linux typedef signed int numeric; diff --git a/arduino-mini/textual.h b/arduino-src/textual.h similarity index 65% rename from arduino-mini/textual.h rename to arduino-src/textual.h index 92ac98e..b999c53 100644 --- a/arduino-mini/textual.h +++ b/arduino-src/textual.h @@ -1,8 +1,9 @@ #ifndef __TEXTUAL_H_ #define __TEXTUAL_H_ -#define CONST_COMMON_STRINGS "Miskatino v1.1\ncode: \nvars: \nnext: \n"\ - "BREAK\nEnd of code\n" +#define CONST_COMMON_STRINGS "Miskatino BASIC 1.5\ncode: \nvars: \nnext: \n"\ + "BREAK\nEnd of code\nSaved\nLoaded\nbytes\nLoad failed\n"\ + "Autorun in 1 sec\nCanceled!\n" #define CONST_PARSING_ERRORS "\nCmd or Var exp-d\nSymbol '=' exp-d\nName expected\n"\ "Symbol ';' exp-d\nExtra chars at end\nUnexpected error\nNumber out of range\n"\ diff --git a/arduino-mini/tokenint.h b/arduino-src/tokenint.h similarity index 100% rename from arduino-mini/tokenint.h rename to arduino-src/tokenint.h diff --git a/arduino-mini/tokens.cpp b/arduino-src/tokens.cpp similarity index 93% rename from arduino-mini/tokens.cpp rename to arduino-src/tokens.cpp index 5abb573..edfc767 100644 --- a/arduino-mini/tokens.cpp +++ b/arduino-src/tokens.cpp @@ -36,6 +36,8 @@ static short cmdCodeByHash(numeric h) { return CMD_DELAY; case 0x03CD: // DATA return CMD_DATA; + case 0x03DA: // EMIT + return CMD_EMIT; default: return extraCommandByHash(h); } @@ -134,10 +136,21 @@ char parseName(char checkCmd) { return 1; } +char parseChar(void) { + if (cur[0] != '\'') { + return 0; + } + curTok->type = TT_NUMBER; + curTok->body.integer = ((unsigned char*) cur)[1]; + cur += 2; + advance(cur); + return 1; +} + char parseNumber(void) { char base = 10; if (!isDigit(*cur)) { - return 0; + return parseChar(); } curTok->type = TT_NUMBER; curTok->body.integer = 0; @@ -328,12 +341,12 @@ char parseVar(void) { return 1; } -char parseVarList(void) { - if (!parseVar()) { +char parseExprList(void) { + if (!parseExpression()) { return 0; } while (*cur != 0) { - if (!parseSemicolon() || !parseVar()) { + if (!parseSemicolon() || !parseExpression()) { return 0; } } @@ -352,9 +365,9 @@ char parsePrintList(void) { return parseNone(); } -char parseNumberList(void) { +char parseDataList(void) { do { - if (!parseNumber()) { + if (!parseNumber() && !parseLiteral()) { setTokenError(cur, 8); return 0; } @@ -363,13 +376,15 @@ char parseNumberList(void) { } char parseNExpressions(char cnt) { - if (!parseExpression()) { - return 0; - } - while (--cnt > 0) { - if (!parseSemicolon() || !parseExpression()) { + if (cnt > 0) { + if (!parseExpression()) { return 0; } + while (--cnt > 0) { + if (!parseSemicolon() || !parseExpression()) { + return 0; + } + } } return parseNone(); } @@ -442,7 +457,7 @@ char parseStatement(void) { } else if (cmd == CMD_PRINT) { return parsePrintList(); } else if (cmd == CMD_INPUT) { - return parseVarList(); + return parseVar() && parseNone(); } else if (cmd == CMD_IF) { return parseConditional(); } else if (cmd == CMD_DIM) { @@ -450,7 +465,9 @@ char parseStatement(void) { } else if (cmd == CMD_DELAY) { return parseNExpressions(1); } else if (cmd == CMD_DATA) { - return parseNumberList(); + return parseDataList(); + } else if (cmd == CMD_EMIT) { + return parseExprList(); } else if (cmd >= CMD_EXTRA) { return parseNExpressions(extraCmdArgCnt[cmd - CMD_EXTRA]); } diff --git a/arduino-mini/tokens.h b/arduino-src/tokens.h similarity index 97% rename from arduino-mini/tokens.h rename to arduino-src/tokens.h index 59368cc..7693f5b 100644 --- a/arduino-mini/tokens.h +++ b/arduino-src/tokens.h @@ -28,6 +28,7 @@ #define CMD_DIM 10 #define CMD_DELAY 11 #define CMD_DATA 12 +#define CMD_EMIT 13 #define CMD_EXTRA 0x40 #define MAX_LINE_NUMBER 30000 diff --git a/arduino-mini/utils.cpp b/arduino-src/utils.cpp similarity index 85% rename from arduino-mini/utils.cpp rename to arduino-src/utils.cpp index 2ac134f..d84bf3b 100644 --- a/arduino-mini/utils.cpp +++ b/arduino-src/utils.cpp @@ -47,35 +47,6 @@ char cmpNStrToStr(nstring* ns, char* s) { return memcmp(&(ns->text), s, ns->len) == 0; } -char input(char* s, short n) { - short i = 0; - short c; - n -= 1; - while (i < n) { - c = sysGetc(); - if (c < 0) { - continue; - } - if (c == '\r' || c == '\n') { - break; - } - if (c == '\b' || c == 127) { - if (i <= 0) { - continue; - } - c = '\b'; - i -= 1; - } - if (c >= ' ') { - s[i++] = c; - } - sysEcho(c); - } - sysEcho('\n'); - s[i] = 0; - return 1; -} - void outputChar(char c) { sysPutc(c); } @@ -203,3 +174,9 @@ numeric hashOfNStr(nstring* t) { return res; } +void pause(numeric millis) { + numeric t0 = sysMillis(1); + while (sysMillis(1) - t0 < millis) { + } +} + diff --git a/arduino-mini/utils.h b/arduino-src/utils.h similarity index 95% rename from arduino-mini/utils.h rename to arduino-src/utils.h index ddff5f7..20a392e 100644 --- a/arduino-mini/utils.h +++ b/arduino-src/utils.h @@ -17,8 +17,8 @@ char isSpace(char c); char toUpper(char c); char makeDigit(char c, char base); numeric hashOfNStr(nstring* t); +void pause(numeric millis); -char input(char* s, short n); void outputChar(char c); void outputStr(char* s); void outputNStr(nstring* s); diff --git a/stm32f103/miskatino.hex b/stm32f103/miskatino.hex new file mode 100644 index 0000000..f319104 --- /dev/null +++ b/stm32f103/miskatino.hex @@ -0,0 +1,1462 @@ +:020000040800F2 +:1000000000500020752F00080000000000000000D4 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:100080000000000000000000000000000000000070 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D00000000000552200080000000000000000A1 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:1001100000000000000000000000000000000000DF +:1001200000000000000000000000000000000000CF +:1001300000230220054A10B41268054C05491370CB +:1001400053702370088010BC704700BF84000020EB +:100150005C000020800000200023022130B4054A0A +:10016000054D064C286023700370437030BC11802D +:10017000704700BF80000020840000205C00002049 +:1001800010B5184B18780D281DD00A281BD0082848 +:100190000DD07F280BD01F2805D9134A1349137897 +:1001A0005C1C1470C85402F097FB002010BD0E496F +:1001B0000A78002AF7D00820013A18700A7002F075 +:1001C0008BFB002010BD094C204605F0D9F9002317 +:1001D000054A0A2011781370635402F07DFB012058 +:1001E00010BD00BF880000205C000020B800002087 +:1001F00080780330704700BF83780333184470471A +:10020000094B1B68B3F900205AB1904202DC08E0A8 +:10021000824206DA9A7803321344B3F90020002AA6 +:10022000F6D11846704700BF840000202DE9F8433E +:10023000DFF894800746D8F800200D46B2F9003068 +:10024000144633B907E0A37803331C44B4F90030F3 +:100250000BB19D42F7DC9D4222D0384602F040FAB5 +:10026000C6B20EB9BDE8F883DFF86090D8F8003068 +:10027000B9F90020F01C1A44121B2146204402F058 +:10028000A3FAB9F80030A67003333344A9F800305C +:10029000394632462580E01CBDE8F84302F02CBA0E +:1002A000DFF82890A678B9F9003003361A44A1196E +:1002B000521A204602F088FAB9F80030F6B29E1BB6 +:1002C000A9F80060C9E700BF84000020800000207A +:1002D00010B50121002002F0FFFC78B1084C02218A +:1002E000204602F0F9FC074BB4F90010186802F040 +:1002F000F3FC0021084602F0EFFC012010BD00BF16 +:10030000800000208400002010B54FF0FF31002055 +:1003100002F0E2FC88B1094C6FF00101204602F0C6 +:10032000DBFC2188064B494209B2186802F0D4FC74 +:100330000021084602F0D0FC012010BD8000002002 +:10034000840000202DE9F041DFF8AC8082B04FF04E +:10035000FF310020D8F8005002F0BEFC10B902B006 +:10036000BDE8F0816FF00101204802F0B5FC204E9D +:100370001E4F24E0316805F0A9F84FF0FF310DF170 +:10038000070002F0A9FC9DF807101848494202F046 +:10039000A3FC00229DF8073031681448FA5405F098 +:1003A00095F8306803F05EF9C4B2AC702246E81CE0 +:1003B00031688DF8074002F09FF9033425446FF04F +:1003C0000101284602F088FCB5F900100748002911 +:1003D000D0D1084602F080FC0120D8F80020054B5F +:1003E000AD1A02351D8002B0BDE8F081B8000020D2 +:1003F000340B00208000002084000020054B064ABA +:100400001868B2F90030054950F823000133138011 +:100410000880704798000020A00000200000002005 +:1004200047F6FF72014B1A80704700BF00000020A2 +:1004300010B5054C206803782BB103F099F92060C2 +:100440000378002BF9D110BD400B002010B5064CED +:10045000064B2068D0F801201A80037813B103F00E +:1004600087F9206010BD00BF400B00200000002075 +:100470000B4970B50B880B480B4A0C4C0568B2F958 +:100480000060013B1BB220680B8045F82360D0F868 +:1004900001301380037813B103F06AF9206070BD56 +:1004A000A00000209800002000000020400B002049 +:1004B00008B5094A3F20137843F00203137005F092 +:1004C000CFF8064B1B68987805F0CAF8BDE80840DD +:1004D0003D2005F0C5B800BF300B0020400B0020C8 +:1004E0002DE9F04FDFF8F4B183B0DBF8003003F012 +:1004F0001F0848F04008A8F14103192B62D8744B3B +:1005000048F4FE48D3F8009099F80070102F7DD081 +:1005100099F801A0BAF1000F53D04FF0000C6D4BC9 +:10052000DBF80000019300226B4B4FEA601E1F783E +:10053000019B3CB21E68944215DDA3185B1003EBCF +:10054000430136F9115019B2454505DA3DE036F957 +:10055000144044453ADB29468B185B10914203EB6B +:1005600043041DB2F3DCD2B202EB420206EB4202BC +:10057000B2F90030434519D1D2F8023019B24A1C01 +:1005800014D009EB0C020029927823DBC3F30E038D +:1005900003EB8E0E07EB47070FFA8EFE06EB4706BE +:1005A00046F80E20DBF8000099F801A00CF1010CD0 +:1005B0005FFA8CFC2030D445CBF80000B3D399F817 +:1005C0000070C7B903B0BDE8F08F214601330C4677 +:1005D0001AB2B0E7C3F30E03734407EB47071BB22D +:1005E00006EB4706F2543A4BDBF80000D3F80090D4 +:1005F00099F801A0DAE7484603F0BAF8344B81468F +:1006000018600778002FDDD0102F81D10022324BE7 +:10061000DBF8004018782F4BD9F801601968651194 +:100620000FFA80FC944519DD0CEB02035B1003EB21 +:10063000430E31F91EA00FFA83FEC24505DA30E001 +:1006400031F91AA0C2452DDBE6460EEB02035B1022 +:10065000964503EB430A0FFA83FCF1DCD2B202EBBE +:10066000420201EB4203B3F90020424515D1D3F811 +:1006700002301AB2B2F1FF3F0FD0002A16DBC3F3EB +:100680000E0303EB850300EB40001BB201EB4001BE +:10069000CE50DBF8004099F800702034CBF80040D1 +:1006A0008FE7E6460133F4461AB2BBE7C3F30E0305 +:1006B0002B4400EB40001BB201EB4001CE54044B35 +:1006C000DBF80040D3F8009099F80070E5E700BF30 +:1006D000400B00209C000020A2000020A40000206D +:1006E0002DE9F04F574C584B206883B0457805F002 +:1006F0001F021A60037845F4FE45002B79D10426C9 +:100700003146D0F801A0514F002297F800C0DFF821 +:1007100040910FFA8CFEF046D9F80000904517DDA5 +:1007200008EB02035B1003EB430430F914B01CB276 +:10073000AB4505DA53E030F91880A84550DB5C463C +:10074000A3185B10A24203EB43080FFA83FBF2DB12 +:10075000D2B202EB420230F91230AB423CD0012956 +:100760000CBF4FF4004300230021DFF8E880B8F904 +:100770000020134301938E4517DD0EEB01035B1040 +:1007800003EB430430F914B01CB2AB4505DA2BE09F +:1007900030F91EE0AE4528DB5C4663185B10A142D1 +:1007A00003EB430E0FFA83FBF2DBCBB203EB430404 +:1007B00064000119B1F900E0AE4506D09C4527D888 +:1007C0000CF1010C0D8087F800C00AFB0626019B86 +:1007D000A8F80060C1F8023003B0BDE8F08F4446CD +:1007E0000133A0461AB299E774460133A64619B2FE +:1007F000C1E702F0BDFF20600278D0F801A022B16D +:1008000002F0B6FF20600378ABB9042631467AE7E0 +:10081000ACEB030303EB430304F1060E02EB4302CC +:10082000704401F0D1FFD9F8001097F800C0B8F972 +:1008300000202144C4E702F09BFF012620603146DE +:1008400061E700BF400B0020A4000020A2000020B0 +:100850009C00002096000020002330B40649074A7F +:1008600007480D88074C12680749037025800B80E4 +:1008700030BC137053707047940000209C0000201F +:10088000A2000020A000002096000020044A054B92 +:1008900010781B8800EB400003EB400000B270476B +:1008A000A2000020960000200023F0B4084A89101E +:1008B0001180084F084E094D094C0A4A38603060D3 +:1008C000298023701380F0BC03704370704700BF11 +:1008D000940000209C00002098000020A000002030 +:1008E000A20000209600002002784378012A05D952 +:1008F0008078C0EBC010184400B2704718B270473F +:1009000040F4FE40704700BF002170B4114A124B02 +:1009100014781E68A14215DA63185B1003EB4302DA +:1009200036F912501AB2854205DA0EE036F9144053 +:1009300084420BDB2A4653185B10914203EB4304BD +:100940001DB2F3DBC8B270BC7047224601331446B7 +:1009500019B2DFE7A20000209C000020002170B443 +:10096000174A184B14781E688C4215DD63185B100B +:1009700003EB430236F912501AB2854205DA19E048 +:1009800036F91440844216DB2A4653185B10914214 +:1009900003EB43041DB2F3DBCBB203EB430306EBE3 +:1009A0004303B3F9002070BC82420CBFD3F80200AD +:1009B0000020704722460133144619B2D4E700BF25 +:1009C000A20000209C000020002170B4194A1A4B9C +:1009D00014781E6840F4FE408C4215DD63185B10ED +:1009E00003EB430236F912501AB2854205DA1BE0D6 +:1009F00036F91440844218DB2A4653185B109142A2 +:100A000003EB43041DB2F3DBCBB203EB430306EB72 +:100A10004303B3F9002070BC824214BF4FF0FF3093 +:100A2000D3F8020000B2704722460133144619B2CF +:100A3000D2E700BFA20000209C0000202DE9F04179 +:100A40000F460021274D284E95F800E004463068F7 +:100A50000FFA8EFC8C4517DD0CEB01035B1003EBEA +:100A6000430230F912801AB2A04505DA21E030F9CC +:100A70001CC0A4451EDB424653185B10914203EB99 +:100A8000430C0FFA83F8F2DBCBB203EB43084FEAD7 +:100A9000480800EB0801B1F90020A24205D09E45AC +:100AA0000CD80EF101030C802B70C1F80270BDE868 +:100AB000F08162460133944619B2CBE70B4AAEEBA4 +:100AC0000303B2F9002008F1060E03EB4303704460 +:100AD00002EB430201F078FE316895F800E04144F2 +:100AE000DFE700BFA20000209C000020960000204D +:100AF00070B406460020104A104BB2F900101D6871 +:100B0000814211DD0B185B1035F923401AB2B44253 +:100B100005DA0BE035F92340B44208DB0A46131826 +:100B20005B10904219B2F5DB70BC70470A46013386 +:100B3000114618B2E4E700BF8C00002090000020AE +:100B40000021174A174B70B4B2F900401E688C425E +:100B500011DD63185B1036F923501AB2854205DAAD +:100B600016E036F92350854213DB224653185B10FA +:100B700091421CB2F5DB06EB8103B3F900208242FF +:100B80000BD170BC084AB3F90200136818447047CF +:100B900022460133144619B2D9E7002070BC7047D1 +:100BA0008C00002090000020840000202DE9F041FE +:100BB000224D0446B5F900C04FF0000E6046204EAD +:100BC0000F463168704513DD00EB0E035B1031F901 +:100BD00023801AB2A04505DA19E031F92380A04537 +:100BE00016DB024602EB0E035B10964518B2F4DBEF +:100BF000F44512DC4FEA8E080CF1010C01EB0803FE +:100C000021F80840A5F800C05F80BDE8F0810246E9 +:100C1000013310460FFA83FED4E70EF10100800085 +:100C2000ACEB0E02A0F1040892000844414401F02C +:100C3000CBFD3168B5F900C0DEE700BF8C000020B5 +:100C4000900000205D495E4BB1F9002030B51D6871 +:100C5000531C1BB221380B8055F822405D2835D833 +:100C6000DFE800F03A34413449523434345B6234C2 +:100C700068346E3434343434343434343434347585 +:100C80007E87343434343434343434343434343487 +:100C90003434343434343434343434343434343414 +:100CA000342F343434343434343434343434343409 +:100CB0003434343434343434343434343434909933 +:100CC000A03555F82320544045F8234030BD6442F8 +:100CD0000A8045F8224030BDB4FA84F464090A80E1 +:100CE00045F8224030BD55F82320141B18BF0124BD +:100CF00045F8234030BD55F8231091FBF4F204FB76 +:100D0000121445F8234030BD55F8232012B1221C9F +:100D100018BF012245F8232030BD55F8232004FBDD +:100D200002F445F8234030BD55F82320144445F81B +:100D3000234030BD55F82320141B45F8234030BD17 +:100D400055F8232092FBF4F445F8234030BD55F8C4 +:100D500023209442D4BF0024012445F8234030BD11 +:100D600055F82320141BB4FA84F4640945F8234091 +:100D700030BD55F823209442ACBF0024012445F82F +:100D8000234030BD55F823209442B4BF00240124F1 +:100D900045F8234030BD55F8232062B9003418BF10 +:100DA000012491E755F823209442CCBF002401246C +:100DB00045F8234030BD012486E700BFA000002095 +:100DC0009800002070B504F067FD40F2FF129042D9 +:100DD0001CD0C92843D040F2D31290420CD001F06D +:100DE000A3FE041E22DA0021234A244BB2F900207C +:100DF0001B6843F8221070BD1F4B204AB3F9001046 +:100E0000126852F82130002B25DB70BD1B4B1A4AAB +:100E10001B68B2F900201A4933F922000C7843F814 +:100E200022400028F1D000230B7070BD124D134EEC +:100E3000B5F900103368E0B203EB810101F0E8FE80 +:100E4000104A2B88115D013B32680B441BB22B808A +:100E500042F8230070BD5B4242F8213070BD074A62 +:100E6000054B1468B3F9005054F8250001F0E2FD79 +:100E700044F8250070BD00BFA000002098000020AD +:100E800088000020500000200021F0B42C4A2D4B97 +:100E900017781E6840F4FE403CB28C4215DD6318A2 +:100EA0005B1003EB430236F912501AB2854205DAA1 +:100EB00036E036F91440844233DB2A4653185B107F +:100EC000914203EB43041DB2F3DBCBB203EB4303CC +:100ED00006EB4303B3F90020824226D1D3F8022067 +:100EE00013B2591C21D0002BACBF042301231D4693 +:100EF000154916480968B0F90000C2F30E0251F80E +:100F0000204007EB470704FB03231BB203EB470317 +:100F1000012D14BFF358F35CF0BC41F8203070474A +:100F200022460133144619B2B7E70021F0BC074A44 +:100F3000054BB2F900201B6843F82210704700BF30 +:100F4000A20000209C00002098000020A0000020AB +:100F50002DE9F84F4D4E4E4F3068DFF83C91DFF8E9 +:100F60003C810378332B20D8DFE803F0211F1F1FBB +:100F70001F1F1F1F1F1F1F1F1F1F1F1F7E1F1F1F22 +:100F80001F1F1F1F1F1F1F1F1F1F1F1F1F1F2B780C +:100F90001F1F1F1F1F1F1F1F1F1F1F1F721F211A11 +:100FA0004078FFF771FF30680378002B4CD1B9F916 +:100FB000003039685A1C51F82300A9F80020BDE818 +:100FC000F88FB9F80050D7F800E0013D2DB2A9F82C +:100FD000005043788178012B03D9C378C3EBC31346 +:100FE000194400222B4B98F800A01C6809B29245C6 +:100FF00019DD0AEB02035B1003EB430C34F91CB060 +:101000000FFA83FC8B4505DA3BE034F91AA08A45D8 +:1010100038DBDC460CEB02035B10624503EB430A52 +:101020000FFA83FBF1DBD2B202EB420204EB420285 +:10103000B2F900308B4214BF0023D2F802304EF8D0 +:1010400025300378002BB2D002F092FB306088E7A5 +:101050004078FFF7F7FD30680378A6E70130FFF727 +:10106000B1FE30680378A0E7B9F80030D0F801107D +:101070003A68013B1BB2A9F8003042F8231003780C +:1010800093E7D4460133E2461AB2B0E7400B0020A2 +:10109000980000209C000020A0000020A20000205A +:1010A0002DE9F843304D286843788478012B03D923 +:1010B000C378C3EBC3131C44037824B213B102F00A +:1010C00057FB2860FFF744FF0021284D284E95F874 +:1010D0000090074630680FFA89FE8E4517DD0EEB4B +:1010E00001035B1003EB430230F912C01AB2A445AE +:1010F00005DA21E030F91EE0A6451EDB62465318F2 +:101100005B10914203EB430E0FFA83FCF2DBCBB290 +:1011100003EB43084FEA480800EB0801B1F900204F +:10112000A24205D099450CD809F101030C802B701F +:10113000C1F80270BDE8F88372460133964619B2D1 +:10114000CBE70C4AA9EB0303B2F9002003EB4303FE +:1011500008F1060E02EB4302704401F035FB3168E2 +:1011600095F800904144DFE7400B0020A2000020EA +:101170009C0000209600002010B50F4C23681A78C0 +:10118000581C322A12D0402A0BD032B1FFF7E0FEB1 +:1011900004F086FA23681A7842B9BDE8104004F0DA +:1011A0000BBB04F06BFA23681A78F5E7184602F0D7 +:1011B000DFFA03462060E2E7400B002010B5094C3F +:1011C000206803784BB1322B08D0FFF7C1FEC0B2C4 +:1011D00004F046FA2068037803B910BD02F0C8FA9B +:1011E0002060EEE7400B002010B5FFF7B1FE094C80 +:1011F00048B92068037863B102F0BAFA2060037836 +:10120000002BF9D110BD2068037813B102F0B0FAB9 +:10121000206010BD400B0020F8B5304E30680378D8 +:101220004578002B55D1FFF793FE044630680378CC +:1012300013B102F09DFA3060FFF78AFE0021284AC0 +:10124000284B17781E6845F4FE450FFA87FE8E4539 +:1012500017DD0EEB01035B1003EB430236F912C0FE +:101260001AB2AC4505DA2FE036F91EE0AE452CDBAC +:10127000624653185B108A4203EB430E0FFA83FC5D +:10128000F2DCCBB203EB430306EB4303B3F90020DC +:10129000AA4218D1D3F802301AB2511C13D0002A36 +:1012A000C3F30E0308DB03EB840407EB470724B208 +:1012B00006EB47063051F8BD234407EB47071BB246 +:1012C00006EB4706F054F8BD72460133964619B254 +:1012D000BDE702F04DFA3060A5E700BF400B0020EB +:1012E000A20000209C00002010B5FFF731FE04464C +:1012F000012001F09FFB044A044913784C6043F03D +:1013000001031370086010BD300B00206000002046 +:10131000F0B50025244C254B27781E6840F4FE408C +:101320000FFA87FEAE4517DD0EEB05035B1003EBEE +:10133000430436F914C01CB2844505DA27E036F9B7 +:101340001EE0864524DB644663195B10AC4203EB68 +:10135000430E0FFA83FCF2DCEBB203EB430306EB24 +:101360004303B3F90040844210D1D3F8023018B2DD +:10137000441C0BD00028C3F30E030DDB03EB8101EB +:1013800007EB470709B206EB47067250F0BD7446FB +:101390000133A6461DB2C5E70B4407EB47071BB256 +:1013A00006EB4706F254F0BDA20000209C0000208E +:1013B00010B50446012001F03DFB024B83E811000B +:1013C00010BD00BF6000002008B5012001F032FB15 +:1013D000044A13685268C01A9042D4BF002001200A +:1013E00008BD00BF6000002008B5012001F022FB0D +:1013F000054A13685268C01A904204DD034A137804 +:1014000023F00103137008BD60000020300B0020A2 +:101410002DE9F843394B1B780BB9BDE8F883FEF78B +:10142000AFFE0028F9D0364D2B685A789C78012AF7 +:1014300003D9DB78C3EBC3131C44324804F062F9D0 +:101440000021314E314F96F800C08046386824B2F2 +:101450000FFA8CFE8E4517DD0EEB01035B1003EBDC +:10146000430230F912901AB2A14505DA29E030F9A9 +:101470001EE0A64526DB4A4653185B10914203EB5B +:10148000430E0FFA83F9F2DBCBB203EB43094FEAC9 +:10149000490900EB0901B1F90020A24205D09C45A1 +:1014A00018D80CF101030C8033702868C1F8028051 +:1014B00003785BB9164A137823F002031370BDE872 +:1014C000F88372460133964619B2C3E702F050F929 +:1014D0002860EFE70F4AACEB0303B2F9002003EBFF +:1014E000430309F1060E02EB4302704401F06CF96C +:1014F000396896F800C04944D3E700BF880000204F +:10150000400B0020B8000020A20000209C0000201A +:10151000300B0020960000202DE9F04F214B224D8A +:101520001E5C2B88B2B29B1A83B01BB2804601921C +:101530002B80A6B34FF0000BDFF870A0DFF870909F +:1015400005E05FFA8BF39E42B5F9003019D903EB41 +:101550000B04DAF80070FFF7FBFCD9F8003047F80D +:1015600024001A780BF1010B002AEAD0184602F089 +:10157000FFF85FFA8BF39E42C9F80000B5F900301E +:10158000E5D8DAF80010404601EB830101F0ECFAEF +:101590002B88019A1A442A8003B0BDE8F08FDFF847 +:1015A0000CA0EEE758000020A000002098000020CA +:1015B000400B00202DE9F04F304C83B020600378C1 +:1015C000002B57D006462E4D2E4F0CE02E4B03EB32 +:1015D0008808D8F8043098477378022B4AD02668D8 +:1015E0003378002B46D0304602F0C2F8206096F8DF +:1015F0000180B8F13F0FE9D9A8F14008234A5FFA0A +:1016000088F3D65C01932B881FFA86F9A3EB0903B4 +:101610001BB22B8006B34FF0000A05E05FFA8AF395 +:10162000B342B5F9003017D203EB0A0BD7F80080AC +:10163000FFF78EFC236848F82B0019780AF1010A9D +:101640000029EBD0184602F093F85FFA8AF3B34210 +:101650002060B5F90030E7D33968019801EB8301C8 +:1016600001F082FA2B8826689944A5F80090337817 +:10167000002BB8D103B0BDE8F08F00BF400B0020B5 +:10168000A00000209800002000000020580000204A +:10169000002208B50521104601F0E6F9BDE8084032 +:1016A00004F08AB810B5054C2378DA0602D5FEF7A7 +:1016B0002BFE237823F03303237010BD300B002062 +:1016C000F8B5194EB6F90000FEF79AFDB0F90030F2 +:1016D0009BB9164C2378DA060BD4002223F033038F +:1016E00010460521237001F0BFF904F065F80120D0 +:1016F000F8BDFEF709FE2378EFE7054600240C4FFE +:101700000133AA78E91C338038460A4E00F0F4FF12 +:10171000AB7838463168FC5403F0D8FE3068FFF7E8 +:1017200049FF2046F8BD00BF00000020300B00201C +:10173000B8000020340B0020F8B50E4C2378DA06F0 +:1017400002D5FEF7E1FD237800250B4A0B4FB2F8D6 +:1017500000E00B4E23F033032A4628460421237071 +:10176000A7F800E0B56001F07FF9BDE8F84004F0AB +:1017700023B800BF300B002094000020A000002000 +:1017800060000020F8B550BB244D254EAB68581CB6 +:1017900018BF03F1FF33B6F9000018BFAB60FEF7C6 +:1017A0002FFDB0F900300446E3B91E4C2378D9066A +:1017B00002D5FEF7A9FD2378002223F0330310465B +:1017C0000521237001F050F903F0F6FF0023AB6010 +:1017D0002378DA061ED423F033032370F8BD0F4BB1 +:1017E0009860F8BD104F0133A278E11C3846338071 +:1017F00000F082FF00220D4EA37838463168FA547B +:1018000003F064FE3068FFF7D5FEAB68002BE5D12E +:10181000044CDDE7FEF778FD2378DCE7600000206C +:1018200000000020300B0020B8000020340B002006 +:10183000F8B501230B4A184613800025FEF7E0FC9B +:10184000094A0A4B0A491468B3F900200B7822446C +:10185000084F094E094C43F010030B70F8603260DA +:101860002580F8BD000000208400002080000020BA +:10187000300B002060000020900000208C00002031 +:101880002DE9F041554FFB68B3F9002022B1DFF894 +:101890006081B8F9002092B9514C2378DA0602D55C +:1018A000FEF732FD2378002223F033031046052192 +:1018B000237001F0D9F8BDE8F04103F07DBF9A78BC +:1018C000D81C03329C189B5C627843EA0223A8F878 +:1018D0000030FFF76FFEB4F90030B8F90000834222 +:1018E0002ED000213F4D404EB5F90040D6F800C043 +:1018F0008C4211DD63185B103CF923E01AB2864577 +:1019000005DA18E03CF923E0864515DB224653183A +:101910005B1091421CB2F5DB0CEB8103B3F90020A4 +:10192000824210D1314CB3F9023022681344FB607B +:1019300063B1BDE8F08122460133144619B2D7E7FE +:10194000FC60BDE8F0810023284CFB60FEF758FCEA +:101950002468B5F900C0041BF8604FF0000E604623 +:10196000B8F90070316824B2704513DD00EB0E0346 +:101970005B1031F923801AB2B84505DA18E031F965 +:101980002380B84515DB024602EB0E035B1096453B +:1019900018B2F4DBF44511DC63464FEA8E080133DC +:1019A00001EB080221F808702B805480BDE8F0811B +:1019B0000246013310460FFA83FED5E70EF101000F +:1019C0008000ACEB0E02A0F10408920008444144F0 +:1019D00000F0FAFE3168B5F90030E0E76000002061 +:1019E000300B00208C00002090000020840000209C +:1019F0000000002008B501F0FDFD03782D2B03D079 +:101A0000212B01D0002008BD02F0F2F9054B1B6824 +:101A10005A782D2A01D0012008BD7E225A7001205B +:101A200008BD00BF3C0B002010B502F00BF838B128 +:101A300001F0E0FD0378282B1DD02B24204610BD9B +:101A400001F03CFF58B101F0D5FD0378282B28D0D8 +:101A500022222B24174B20461B681A7010BD01F060 +:101A6000C9FD0478282C19D001F0C4FD03782D2B72 +:101A700009D0212B07D0652401F0BCFD092101F01C +:101A800065FE204610BD02F0B3F90A4B1B685A7878 +:101A90002D2A01D17E225A703124CFE702F0A8F915 +:101AA000CCE72322034B01201B6866241A7001F047 +:101AB00095FEC3E73C0B002008B501F09BFD0078C4 +:101AC00090B13B2810D0292810D02C280ED05E28A9 +:101AD00006D0A0F12503DBB2192B08D97C280BD145 +:101AE00002F086F9312008BD732008BD08BD064A02 +:101AF00022FA03F3DB07F3D401F07CFD092101F0A6 +:101B000025FE652008BD00BF6305800310B560B1E8 +:101B10000C4602F06DF934B13122074B2B201B68C3 +:101B20005C701A7010BD2B2010BD01F063FD0921FF +:101B300001F00CFE652010BD3C0B002008B518B16B +:101B400002F056F9312008BD01F054FD092101F0E1 +:101B5000FDFD652008BD00BF2138C0B25D289ABFD9 +:101B6000024B18564FF0FF30704700BF385900083D +:101B700021281DBF7E38B0FA80F04009012070474F +:101B800028280CD00346302210B5064C206843703C +:101B9000027001F0EDFD01232060184610BD002306 +:101BA00018467047400B00200378012B00F0058198 +:101BB0002DE9F04F804685B006464FF0FF34824F46 +:101BC000DFF808920DE0302B35D0232B75D0312B68 +:101BD00000F08480304601F0CBFD03780646012BEF +:101BE00012D0222B01D0102BEDD13146386801F0F4 +:101BF00077FD386801F0BCFD3860304601F0B8FD73 +:101C000003780646012BECD1002C11DB30266E4DFB +:101C100004AB234413F8103C013C282B64B205D0DC +:101C200028680670437001F0A3FD2860631CEFD1A3 +:101C300005B0BDE8F08F7578282D37D0292D00F03C +:101C400083802C2D00F0A180A5F12103DBB25D2B58 +:101C500071D94FF0FF0A002C28DB04AB234413F8A2 +:101C6000102CA2F12103DBB25D2B1FD819F9033030 +:101C70009A451BDC4FF0300B013C282A64B206D099 +:101C8000386880F800B0427001F072FD386004AB33 +:101C9000621C23440AD013F8102CA2F12103DBB2FA +:101CA0005D2B03D819F903305345E5DA013464B2EA +:101CB00004AB234403F8105C8CE72820E4B2631CD7 +:101CC000023404AA5BB264B204A913442144A6EB13 +:101CD000080203F8102C01F8100C7BE704AB234436 +:101CE00013F8102CE4B2651E282A6DB266D04FF0AE +:101CF000300A3868427080F800A001F039FD04AB6A +:101D0000ECB21D4415F8102C631E5BB2282A386013 +:101D10001D46EFD104AA134413F8101C023C4144A1 +:101D200001F0DEFC386864B24378012B38D001F052 +:101D30001FFD38604EE7212D19F803A035D10AF1B7 +:101D4000010A5FFA8AFA86E704AB234413F8103CD1 +:101D5000013C282B4FFA84FB33D04FF0300A38680F +:101D600000E0A346437080F800A001F001FD04AB41 +:101D70005B4413F8103C0BF1FF34282B386064B23D +:101D8000EFD12C2D08BF5C4624E704AB234413F8A5 +:101D9000103C04F1FF3B282B4FFA8BFBDDD119E7F8 +:101DA0003322837802704370C1E77E2D7FF453AFF6 +:101DB0000AF1010A5FFA8AFA4DE770472B46386844 +:101DC000A8E75C4606E700BF400B00203859000832 +:101DD00070B5012605460A4CA8B0236801461A1AB8 +:101DE00032441E70684600F087FC68462560FFF7A5 +:101DF000DBFE00222168034B0E701A6028B070BD14 +:101E0000400B00203C0B00202DE9F0474FF000096B +:101E10008C4CACB08DF80090256801F0EBFB067897 +:101E2000002E00F0008131200746874EDFF81C822B +:101E300028383E28FDD801A353F820F0D11F000810 +:101E4000ED1F0008331E0008991F0008791F0008C5 +:101E5000331E0008331E0008331E0008331E00081E +:101E6000431F0008331E0008331E0008331E0008FD +:101E7000331E0008331E0008331E0008331E0008FE +:101E8000331E0008331E0008331E0008331E0008EE +:101E9000331E0008331E0008331E0008331E0008DE +:101EA000331E0008331E0008331E0008331E0008CE +:101EB000331E0008331E0008331E0008331E0008BE +:101EC000331E0008331E0008331E0008331E0008AE +:101ED000331E0008331E0008331E0008331E00089E +:101EE000331E0008331E0008331E0008331E00088E +:101EF000331E0008331E0008331E0008331E00087E +:101F0000331E0008331E0008331E0008331E00086D +:101F1000331E0008331E0008331E0008331E00085D +:101F2000331E0008331E0008331E0008331E00084D +:101F3000391F0008E71F0008002630462CB0BDE816 +:101F4000F087FFF771FD73287FF472AF01262368D5 +:101F500029465A1B32441E7004A800F0CDFB04A889 +:101F60002560FFF721FE002230462168364B0E70B7 +:101F70001A602CB0BDE8F0872CAB03EB090212F815 +:101F8000B03C591C02F8B01CF3B901F033FB092135 +:101F900001F0DCFB65204BE701F02CFB007800280A +:101FA000D4D03B28D2D029283FF442AF2C283FF48C +:101FB0003FAF5E2808D0A0F12503DBB2192B3DD836 +:101FC00028FA03F3DB07E0D501F012FF31202FE7F9 +:101FD000002209F101095FFA89F92CAB4B4403F89F +:101FE000B02C312024E701229144F4E7B9F1000F2D +:101FF00012D02CAB4B4413F8B0AC01F0F9FEBAF19F +:10200000000F19D02B2033681F7083F801A009F14D +:10201000FF395FFA89F90BE701F0ECFA092101F0C9 +:1020200095FB6520F3E701F0E5FA0A2101F08EFB4C +:1020300030462CB0BDE8F0872B20E8E77C28C3D0E1 +:10204000A3E700BF400B00203C0B0020630580038A +:1020500062B67047012143099B0003F1604303F519 +:1020600061431A6800F01F0001FA00F01043186085 +:10207000704700BF082970B434BF002604260F251E +:1020800001F00701345889008D4042EA830324EAB5 +:10209000050403FA01F12143315070BC704700BFC1 +:1020A0000AB91031C9B20122036902FA01F11943D8 +:1020B000016170470123826803FA01F1114214BFE4 +:1020C00018460020704700BF174A10B4136817491C +:1020D000174C23F0800313600A68216802F0800225 +:1020E00021F07043002A43F0804314BF01200020F8 +:1020F00023600DD10F4C104923680A6823F0F003C8 +:1021000043F0900322F0040223600A6010BC704781 +:10211000094A21F07F41136841F0924143F00403E2 +:102120002160136010BC70470C0C0140080C01408A +:10213000000C014004080140040001402E4B70B423 +:102140001A682E4D42F008021A601A682C4C42F0B0 +:1021500001021A602A68216822F08002294E2A6052 +:10216000356821F0704242F0804222602A0638D45D +:10217000254D264C2968226821F004012960196840 +:1021800022F0F00221F0080142F090021960226072 +:102190000024194A1E4913681E4D43F480431360FE +:1021A0000B681D499B040A6844BF00EBD0704010C7 +:1021B0001A4B104308601A68194842F400521A601A +:1021C0001A68184942F00C021A601A6842F020029C +:1021D0001A602C7004700B6870BC43F020030B6015 +:1021E0007047094A21F07F41136841F0924143F062 +:1021F000040321601360CBE7181002400C0C01406F +:10220000000C0140080C014004000140040801409A +:1022100004100240A8000020083801400C3801409A +:10222000A900002004E100E00749084A0B78127871 +:102230009A4206D006485A1CC05C02F007030B7095 +:1022400070474FF0FF307047A8000020A900002021 +:10225000AC00002030B40849084B0A7808481D78C3 +:102260000078531C03F00703064C984218BF0B700C +:10227000A55430BC704700BFA900002004380140BD +:10228000A8000020AC000020054A1368190603D4FA +:1022900000BF13681B06FBD5024B1860704700BFD8 +:1022A0000038014004380140017869B110B4074A90 +:1022B000074C00E000BF13681B06FBD5216010F837 +:1022C000011F0029F7D110BC704700BF0038014042 +:1022D00004380140002916DDF0B44B1E0A4F0B4AAA +:1022E0000B4E990040FA01F3156803F00F03FC5CF4 +:1022F0002B0603D400BF13681D06FBD504390B1D44 +:102300003460EFD1F0BC70473C0000200038014041 +:1023100004380140002870B440F3A1805B4AC31721 +:1023200082FB0012C3EBA202D5B2C5EB4514C5EB8C +:102330008404574900EB44040C70002A00F0948098 +:10234000544A82FB0042C3EB6212D4B2C4EB44167F +:10235000C4EB860605EB46054D70002A00F086802A +:102360004D4A82FB0052C3EBA212D5B2C5EB451613 +:10237000C5EB860604EB46048C70002A78D0474AE9 +:1023800082FB0042C3EB2232D4B2C4EB4416C4EB4E +:10239000860605EB4605CD70002A6BD0404A82FBCD +:1023A0000052C3EB6232D5B2C5EB4516C5EB8606CB +:1023B00004EB46040C71002A5ED03A4A82FB0042CC +:1023C000C3EBA242D4B2C4EB4416C4EB860605EBC1 +:1023D00046054D71002A51D0334A82FB0052C3EBAF +:1023E000A252D5B2C5EB4516C5EB860604EB4604F2 +:1023F0008C71002A44D02D4C84FB0024C3EB646410 +:10240000E2B2C2EB4216C2EB860605EB4605CD7181 +:10241000002C37D0264C84FB0040C3EB2070C4B2A4 +:10242000C4EB4413C4EB830302EB43020A7258B3B8 +:102430000A234C72013B1F4D1F4A204CC8181368D9 +:1024400010F801191E0601F1300103D400BF136812 +:102450001B06FBD5A8422160F1D170BC7047002259 +:102460000B4901230A70E5E70123E3E70223E1E7D3 +:102470000323DFE70423DDE70523DBE70623D9E7B2 +:102480000723D7E70823D5E70923D3E767666666FE +:10249000700000201F85EB51D34D6210AD8BDB68BF +:1024A00089B5F81483DE1B436BCA5F6B893BE65525 +:1024B000A12FB8446F0000200038014004380140CB +:1024C000F0B4002001270C490C4B0A680C4E42F472 +:1024D00000720A601A680B4C22F440421A601A68B3 +:1024E000094DA1F56B41EC3942F480421A60376026 +:1024F00025600860F0BC70471810024004100240CC +:102500000824014010240140244992001D4A00285B +:102510001368B8BF033023F0807313601368801012 +:102520009901A0F1020003D500BF13689B01FBD401 +:10253000154900F00F039B040B600B68114A43F42C +:1025400000530B600B6843F480630B60136843F027 +:10255000807313601368990103D400BF13689B0153 +:10256000FBD5094A136843F0020313601368C3F3F1 +:102570008103022B05D000BF1368C3F38103022B34 +:10258000F9D170470010024004100240044A136859 +:10259000990603D400BF13689B06FBD5704700BFA4 +:1025A0000428004025482649036870B443F0C0530E +:1025B00003600B68234A43F480730B60136843F095 +:1025C000010313601368990703D400BF13689B07C6 +:1025D000FBD51D491D4A0B6843F402430B60136889 +:1025E0001E0703D400BF13681D07FBD5174A1368E5 +:1025F0009C0603D400BF13689806FBD5002128264B +:10260000124A134D1368134C134843F01003136020 +:102610002E6021600160136823F0100313601368BB +:10262000990603D400BF13689B06FBD5044A70BC0F +:10263000136823F480731360704700BF1C100240BE +:102640000070004024100240201002400428004086 +:102650000C280040182800401C2800401E4A002872 +:102660001368B8BF033023F08073136013688010C1 +:102670009901A0F1020003D500BF13689B01FBD4B0 +:10268000164900F00F039B040B600B68124A43F4D9 +:1026900000530B600B6843F480630B60136843F0D6 +:1026A000807313601368990103D400BF13689B0102 +:1026B000FBD50A4A136843F0020313601368C3F39F +:1026C0008103022B05D000BF1368C3F38103022BE3 +:1026D000F9D1FFF767BF00BF0010024004100240AD +:1026E00003783BB10346002013F8012F0130002A84 +:1026F000FAD1704718467047002A47DD031DF0B530 +:102700000D1DA84238BF99422CBF01230023092A7E +:1027100094BF002303F001036BB341EA00039B075E +:1027200029D1131F541E9B080133022C4FEA830644 +:102730001BD9864600250F1F57F804CF01359D424F +:102740004EF804CBF8D3B2423144A4EB060400EBBC +:10275000060319D00A78002C1A700BDD4A78012C78 +:102760005A7012DD8A789A70F0BD03460A78002C00 +:102770001A70F3DCF0BD0A44431E11F8014B91427C +:1027800003F8014FF9D1F0BDF0BDF0BD704700BFB7 +:10279000002A14DD70B403780E78451C9B1B01F1F0 +:1027A00001040ED1114405E015F8010B14F8013BAA +:1027B000C01A02D1A142F7D1002070BC704700209E +:1027C00070471846F9E700BF8842F0B536D2002AB4 +:1027D00040DD031D0C1DA04238BF99422CBF0123D0 +:1027E0000023092A94BF002303F001039BB340EAAE +:1027F00001039B072FD107460025131F9B080133B8 +:102800009C000E1F56F804EF01359D4247F804EB7B +:10281000F8D3A24200EB040501EB04061AD011F82C +:102820002370611C8A4200F8237013DD7378023430 +:10283000A2426B7018DDB378AB70F0BD002A114472 +:1028400000EB020306DD8A1A11F8014D914203F8EC +:10285000014DF9D1F0BD0A44431E11F8014B9142DC +:1028600003F8014FF9D1F0BDF0BD00BF0A280CD02C +:10287000082816D0164A1368190603D400BF136837 +:102880001B06FBD5134B18607047114A13681906D5 +:1028900003D400BF13681B06FBD50D220D4B1A6035 +:1028A000E8E70B4A1368190603D400BF13681B0638 +:1028B000FBD50821074B064A19601368190603D493 +:1028C00000BF13681B06FBD52022024B1A60D1E71C +:1028D00000380140043801400A280CD0082816D0DE +:1028E000164A1368190603D400BF13681B06FBD5EC +:1028F000134B18607047114A1368190603D400BFC0 +:1029000013681B06FBD50D220D4B1A60E8E70B4A36 +:102910001368190603D400BF13681B06FBD50821F2 +:10292000074B064A19601368190603D400BF1368E1 +:102930001B06FBD52022024B1A60D1E7003801406C +:1029400004380140104A114B0F21072898BF134645 +:1029500070B4012500F007041A68A400A1400C4ED1 +:102960000C4C22EA01010C4A1960306025601368A2 +:10297000990703D400BF13689B07FBD5074B70BCB6 +:102980001868C0F30B0070470008014004080140BC +:102990003424014008240140002401404C2401401B +:1029A0000123044A03FA00F01368184214BF0120FF +:1029B0000020704708080140002970B41A4B1B4CD6 +:1029C0001ADB072898BF1C460F26012500F00703D5 +:1029D00022689B009E4022EA060205FA03F31A438E +:1029E000226009B91030C0B20123114A8340106837 +:1029F0001843106070BC70474A1C14BF082504259A +:102A0000072898BF1C460F2600F0070322689B008A +:102A10009E4022EA060205FA03F31A4322604C1C88 +:102A2000E8D00231DED1DFE70008014004080140B0 +:102A3000100801400A4A0B4B116830B41D68136836 +:102A40008CB29AB2944206BFABB243EA01431B0474 +:102A50000128C8BF93FBF0F030BCD8BF18467047C0 +:102A6000182800401C280040F0B4002833D001286A +:102A700018D11A4B39B113F8010B0A28FBD10139CF +:102A800011F0FF01F7D1164C164D0827202602E061 +:102A900052B11170013213F8011B0A29F8D10AB1A1 +:102AA00000231370F0BC7047082901D106E000BF75 +:102AB00020680006FBD52960EDE700BF206800060E +:102AC000FBD52F602068000603D400BF20680006F5 +:102AD000FBD52E60ECE7044BCCE700BF105A000892 +:102AE00000380140043801409859000840F26F3323 +:102AF000984216D0B0F55C7F0BDB40F2EA63984257 +:102B000005D040F2EC63984208D141207047422042 +:102B10007047B0F5CE7F01D1432070474FF0FF30B2 +:102B200070474020704700BF40F25533984219D09B +:102B300008DCB0F5CE7F13D040F2CF1398420AD113 +:102B400004207047B0F5D36F08D040F29E639842DE +:102B500001D1022070474FF0FF30704701207047CD +:102B60000320704700207047032806D8DFE800F0F4 +:102B7000022D29060B684A681A70704770B491F9E3 +:102B800004400B78002C1F481F4A22DB072B98BFFC +:102B900010460F26012503F00702016892009640B7 +:102BA00021EA060105FA02F20A4302600CB9103369 +:102BB000DBB2012215499A400B6813430B6070BCCD +:102BC00070470B684A681A6070470B684A681A8039 +:102BD0007047611C14BF08250425072B98BF1046B9 +:102BE0000F2603F0070201689200964021EA0601D1 +:102BF00005FA02F20A430260601CE0D00234D6D12A +:102C0000D7E700BF04080140000801401008014058 +:102C100004283AD8DFE800F02636292C030009788A +:102C20001B4A1C4B0F20072998BF134670B401257F +:102C300001F007041A68A400A040174E174C22EABE +:102C40000000174A1860316025601368990703D4A3 +:102C500000BF13689B07FBD5124B70BC1868C0F30C +:102C60000B0070470B68187870470B68186870473E +:102C700001230D4A097812688B40134214BF0120CA +:102C8000002070470B68188870470020704700BF0D +:102C90000008014004080140342401400824014098 +:102CA000002401404C24014008080140031E4FF05D +:102CB00000000FDD4FF6FF71013B9BB203F1006294 +:102CC00002F54042013B12789BB28B4280EA02003F +:102CD000F4D17047704700BF2DE9F043002866D05B +:102CE00000294FDD4FF0010E4FF00208824E4D1EBD +:102CF000ADB23388814F824C8249DFF814C205445B +:102D00000138DA0710F8019F23D4C3F3090287F8CA +:102D10000090B2B903F1006202F54042C4F80080AD +:102D2000CCF80020226842F0400222600A68D207F4 +:102D300003D500BF0A68D207FBD4226822F0420202 +:102D4000226001339BB2A8423380DAD10120BDE872 +:102D5000F083C4F800E03A7823F0010303F1006344 +:102D600003F5404342EA09221A800B68DA0703D5CB +:102D700000BF0B68DB07FBD42268338822F0010216 +:102D80002260DEE7CA435C4E59B13388541E1344B7 +:102D900003F1006303F540431B78835422B2541CB3 +:102DA000F3D133880120591A3180BDE8F08300291E +:102DB00022D0514B1880C9DC40F2FE71524A534B6D +:102DC00012781B7843EA02235A1E92B28A4200F21A +:102DD0008F8003331BB2013B9BB203F1006202F50B +:102DE000404212781BB2002B80EA0200F3DCB0FAFA +:102DF00080F04009BDE8F0833F4E308820F00105A7 +:102E00002BB2002B0EDD4FF6FF74013B9BB203F19A +:102E1000006202F54042013B12789BB2A34281EA74 +:102E20000201F4D1C40721D4344AC0F3090311705C +:102E3000002B5FD10225324B354C00F1006202F5C8 +:102E400040421D6022601C682E4A44F040041C6011 +:102E50001368DB0703D500BF1368DF07FBD4284ADC +:102E60000C46136823F0420313601AE00127234B3A +:102E700005F100651C782248614044EA012305F50C +:102E80004045204A07602B801368D90703D500BF4F +:102E90001368DD07FBD41A4A3088136823F0010356 +:102EA0001360431C9BB2DA0733807FF54FAF0125D7 +:102EB00023F00103124803F1006364F0FF0103F5FE +:102EC000404389B20F4A056019801368D80704D5BA +:102ED000134600BF1A68D107FBD4094933880A6832 +:102EE000013322F001020A6001203380BDE8F08343 +:102EF000BDE8F0830C46D4E7B4000020B600002003 +:102F0000102002400C20024001C0000800C0000850 +:102F1000142002400D480E49421A0AD00D480346BB +:102F200010441A780133D2B283420A7001F10101D0 +:102F3000F7D1094A094B9A4218BF002104D01970F1 +:102F400001339342FBD17047704700BF5C00002003 +:102F500000000020C05A0008490B00205C0000203F +:102F600008B5FFF761F910F4004F18BF0020C0B298 +:102F700008BD00BF08B50D480D4B984209D00D495A +:102F80000A780133D2B203F8012C834201F1010126 +:102F9000F6D1094A094B9A4218BF002103D0197093 +:102FA00001339342FBD102F097FC00BF5C0000208C +:102FB00000000020C05A0008490B00205C000020DF +:102FC000704700BF70B51C4EB6F90000FDF718F948 +:102FD0000546B0F9000050B9B6F90030012B29DDE3 +:102FE0000120FDF70DF90546B0F9000010B3B6F960 +:102FF0000230002B1EDD002403E0B6F90230A342AC +:1030000018DD431C338002F04BFB202002F028FB2C +:10301000A81C02F033FB02F0CFFBB5F9000001342D +:10302000013000B2FDF7ECF80546B0F9000024B21B +:103030000028E2D170BD00BF7A00002070B500F01A +:1030400097FB00F095FB0278102A37D0224EB6F994 +:103050000000FDF7D5F80546B0F9000050B9B6F903 +:103060000030012B29DD0120FDF7CAF80546B0F933 +:10307000000010B3B6F90230002B1EDD002403E07F +:10308000B6F90230A34218DD431C338002F008FB7E +:10309000202002F0E5FAA81C02F0F0FA02F08CFB06 +:1030A000B5F900000134013000B2FDF7A9F805467A +:1030B000B0F9000024B20028E2D170BDD0F8013090 +:1030C000054E338000F054FB0378102B04BFD0F87A +:1030D00001307380BBE700BF7A00002008B50A4BBF +:1030E000186800F045FB00F043FB084A137843F0F2 +:1030F000200313700378102B0CBFD0F801000120BF +:10310000BDE80840FEF73EBB340B0020300B00202A +:1031100008B5FDF7DDF828B9BDE808404FF0FF30ED +:10312000FEF730BBFDF70EF9BDE80840FEF780BBA7 +:1031300008B5FDF7CDF8002206211046FFF794FCF4 +:10314000202002F08DFA094BB3F90000023002F0A2 +:10315000A7FA202002F084FA002208211046FFF787 +:1031600083FCBDE8084002F027BB00BF80000020C0 +:1031700008B5FDF7C9F838B902460921FFF774FC14 +:10318000BDE8084002F018BB002207211046FFF7F7 +:103190006BFC202002F064FA084BB3F90000023007 +:1031A00002F07EFA202002F05BFA0022082110468D +:1031B000FFF75AFCBDE8084002F0FEBA800000208C +:1031C00008B5FCF7B5FFBDE80840FDF745BB00BFFB +:1031D000002208B510460121FFF746FC0F4BB3F95A +:1031E000000002F05DFA02F0E7FA00220221104628 +:1031F000FFF73AFCFDF74AFB02F052FA02F0DCFA64 +:10320000002203211046FFF72FFC054BB3F9000005 +:1032100002F046FABDE8084002F0CEBA8000002075 +:103220000000002010B5574C206802F091F940F2E0 +:10323000B633984251D040F21233984252D0B0F592 +:10324000D67F63D040F27533984265D040F29A330E +:1032500098427DD040F29A63984200F0848040F218 +:10326000B333984214D0484C204602F081F92046EE +:1032700002F0F8F9202002F0F3F902F073F9C4F13A +:103280000104204402F00CFABDE8104002F094BAA8 +:10329000002201211046FFF7E7FB3C4BB3F9000089 +:1032A00002F0FEF902F088FA002202211046FFF730 +:1032B000DBFBFDF7EBFA02F0F3F902F07DFA0022F6 +:1032C00003211046FFF7D0FB314BB3F9000002F0A9 +:1032D000E7F9BDE8104002F06FBA2068BDE8104081 +:1032E000FFF7ACBE206800F043FA00F041FA294A2B +:1032F000137843F0200313700378102B14BF0120C0 +:10330000D0F80100BDE81040FEF73CBAFCF7E0FF42 +:1033100078BB4FF0FF30F5E7FCF7DAFF002206211B +:103320001046FFF7A1FB202002F09AF9174BB3F9E2 +:103330000000023002F0B4F9202002F091F90022DE +:1033400008211046FFF790FBBDE8104002F034BAA8 +:10335000FCF7DAFF024690B90921FFF785FBBDE8CB +:10336000104002F029BAFCF7E3FEBDE81040FDF77B +:1033700073BAFCF7E7FFBDE81040FEF759BA002228 +:103380000721CDE7340B0020B8000020800000208A +:1033900000000020300B002038B5124C237803B910 +:1033A00038BD114D2046296802F090F802F0DAF895 +:1033B00018B1BDE83840FFF735BF28680378102BF7 +:1033C00003D0BDE83840FEF7F5B8204602F01AF900 +:1033D00002F0FCF82B68D3F80110BDE8384009B2C0 +:1033E000FCF724BFB8000020340B002008B5FCF720 +:1033F000A9FF28B9FCF79CFEBDE80840FDF72CBAF0 +:1034000000220A211046FFF72FFB02F0D5F94FF4F6 +:103410007A70FDF7CDFF0422014B1A7008BD00BF82 +:10342000300B0020F8B505460E4602F0C5F9002223 +:10343000184C11461046FFF717FB02F0BDF9601952 +:10344000FCF78AFE29462046FDF72EFA00250120CA +:1034500003221149114B124F124C3144396018802C +:103460005A802570FCF76EFF28B9FCF761FEBDE8B5 +:10347000F840FDF7F1B92A4628460A21FFF7F4FA89 +:1034800002F09AF94FF47A70FDF792FF042323704B +:10349000F8BD00BF30010020B80000207A000020F5 +:1034A000340B0020300B002010B5104B1B7863B993 +:1034B000FDF78AFF00B910BD0D4A137823F004030D +:1034C0001370BDE81040FEF7B3B90022084C104657 +:1034D00023780B2123F004032370FFF7C5FA02F0D1 +:1034E0006BF9BDE81040FCF70FBF00BF880000205B +:1034F000300B002038B53B4C3B4D2178032918D0C8 +:103500002B7803F01302102A22D003F00302022AC0 +:1035100015D0032A08D0012A16D013F0200221D199 +:10352000580732D4C1B938BDFEF706F9002323701D +:1035300038BD2A7842F0030213462A70E1E7FDF70E +:1035400067FF0023237038BDBDE83840FDF74CBF4E +:10355000BDE83840FEF794B9FCF712FE38B90023F5 +:103560002370E0E70020BDE83840FEF70BB91F48A4 +:103570000378002BF3D01E4D296801F0A7FF01F05E +:10358000F1FFE0B1FFF74EFEE9E759B9FDF71CFF87 +:103590000028C8D02B7823F004032B70BDE83840F6 +:1035A000FEF746B923F0040310460B212B70FFF7FA +:1035B0005BFA02F001F9BDE83840FCF7A5BE2868C7 +:1035C0000378102B02D0FDF7F5FFC8E7074802F09B +:1035D00019F801F0FBFF2B68D3F8011009B2FCF7D2 +:1035E00025FEBCE788000020300B0020B80000203A +:1035F000340B0020014B1868704700BF440B0020BB +:103600000378412B2BD8DFE803F023232A2A2A2A28 +:103610002A2A2A2A2A2A2A2A2A2A212A2A2A2A2A13 +:103620002A2A2A2A2A2A2A2A2A2A272527272A2A08 +:103630002A2A2A2A2A2A2A2A2A2A252523252A2A00 +:103640002A2A2A2A2A2A2A2A2A2A272705207047AC +:1036500001207047022070474078023070470020F8 +:10366000704700BF0378002B37D00246412B32D879 +:10367000DFE803F02D2D313131313131313131314C +:10368000313131312F31313131313131313131312C +:10369000313131312A212A2A31313131313131313F +:1036A0003131313121212D2131313131313131313E +:1036B000313131312A2A02231A441378002BD5D113 +:1036C000101A013000B2704753780233F4E7012337 +:1036D000F2E70523F0E70023EEE70120704700BF83 +:1036E0000B78412B2FD8DFE803F02B2B2E2E2E2E1C +:1036F0002E2E2E2E2E2E2E2E2E2E282E2E2E2E2EF0 +:103700002E2E2E2E2E2E2E2E2E2E242124242E2E04 +:103710002E2E2E2E2E2E2E2E2E2E21212B212E2EF3 +:103720002E2E2E2E2E2E2E2E2E2E24240222FEF76C +:10373000E3BF4A780232FEF7DFBF0522FEF7DCBFA7 +:103740000122FEF7D9BF0022FEF7D6BF012230B416 +:10375000044B054D054C1B68297020601A7030BC65 +:10376000704700BF400B0020480B0020380B0020A2 +:103770000378412B2FD8DFE803F02B2B2E2E2E2E93 +:103780002E2E2E2E2E2E2E2E2E2E282E2E2E2E2E5F +:103790002E2E2E2E2E2E2E2E2E2E242124242E2E74 +:1037A0002E2E2E2E2E2E2E2E2E2E21212B212E2E63 +:1037B0002E2E2E2E2E2E2E2E2E2E24240223184474 +:1037C0007047437802331844704705231844704704 +:1037D00001231844704700231844704710B5034C68 +:1037E0002368184401F0F2FE206010BD440B002055 +:1037F00010B5314C2068037803F0F003202B05D07E +:103800000020FFF773F9002854DA10BD013002F0F0 +:1038100043F840F2DA33984213D01ADD40F25E7377 +:10382000984245D024DD40F2AC7398422DD040F64A +:103830000E53984227D040F283739842E1D10B2275 +:1038400000E00D222120012123685A701870997020 +:1038500010BDB0F5E67F09D01DDCD42819D040F2A8 +:103860008F13984208BF0022ECD0CAE70722E9E78D +:1038700040F2E33398420AD040F27C63984208BF9A +:103880000122DFD0BDE70622DCE70522DAE70422C9 +:10389000D8E70322D6E740F2CF13984206D040F291 +:1038A000CD33984208BF0C22CCD0AAE70A22C9E740 +:1038B0000222C7E7C2B2C5E7400B00202DE9F0475E +:1038C000344E81463368187801F082FF002852D0C8 +:1038D0002022DFF8C8800025D8F800301A7008E0F0 +:1038E0003368D8F800A0185D01F06AFF3D465444E3 +:1038F000A07033682CB2185D01F0AAFF6F1C00287D +:10390000EED1D8F800305D70B9F1000F35D13068D4 +:10391000204401F05BFED8F800101F4B30601960A6 +:103920000B78412B33D8DFE803F02E2E32323232BF +:103930003232323232323232323230323232323269 +:10394000323232323232323232322B212B2B32327D +:103950003232323232323232323221212E2132327E +:10396000323232323232323232322B2B02230120C7 +:103970000B44C8F80030BDE8F087FFF739FFC6E711 +:103980004A78931CF3E70123F1E70523EFE70023CF +:10399000EDE700BF440B00203C0B0020400B002053 +:1039A00070B5254C23681A78272A01D0002070BDF5 +:1039B0001026224D9A1C296810460E705B78C1F8BB +:1039C0000130226001F002FE29681D4B2060196061 +:1039D0000B78412B2ED8DFE803F02B2B2D2D2D2D2E +:1039E0002D2D2D2D2D2D2D2D2D2D292D2D2D2D2D0B +:1039F0002D2D2D2D2D2D2D2D2D2D262126262D2D18 +:103A00002D2D2D2D2D2D2D2D2D2D21212B212D2D0C +:103A10002D2D2D2D2D2D2D2D2D2D262602230B4424 +:103A20002B60012070BD4A78931CF8E70523F6E768 +:103A30000123F4E70023F2E7440B0020400B0020B1 +:103A40003C0B00202DE9F8436A4D2B68187801F0F3 +:103A5000CBFE002856D000224FF01008664F3B687E +:103A600083F800805A709A70DA7029681A710878A1 +:103A700030285CD04FF00A08464611E02B68D7F892 +:103A8000009018783146D9F8014001F0CFFE08FBCC +:103A900004F42044C9F801002B685A1C2A605878A5 +:103AA000314601F0A7FE0028E8D1286801F08EFD1C +:103AB0003968524B286019600B78412B35D8DFE804 +:103AC00003F02D2D34343434343434343434343439 +:103AD00034342F34343434343434343434343434AB +:103AE00034343127313134343434343434343434AC +:103AF000343427272D2734343434343434343434B4 +:103B0000343431312B681A78272A26D0BDE8F8835F +:103B100002230B4401203B60BDE8F8830123F8E752 +:103B20000523F6E74A78931CF3E70023F1E748788A +:103B300001F046FE58282B6804D19A1C2A6046469C +:103B40009878ADE7587801F03BFE42283BD04FF023 +:103B500008082B6846461878A2E71024264F9A1CBE +:103B6000396810460C705B78C1F801302A6001F0AA +:103B70002DFD3A68214B28601A601378412B37D805 +:103B8000DFE803F0343436363636363636363636F7 +:103B900036363636323636363636363636363636C9 +:103BA000363636362F292F2F3636363636363636D7 +:103BB00036363636292934293636363636363636CE +:103BC000363636362F2F4FF0020846462B689A19A4 +:103BD0002A60987864E7022313443B600120BDE823 +:103BE000F88353780233F7E70523F5E70123F3E77A +:103BF0000023F1E7440B0020400B00203C0B002089 +:103C00000A4B1A68137823B9094A01201268137005 +:103C1000704730B401210525054B064C06481B684A +:103C2000257002601970002030BC7047440B0020E2 +:103C3000400B0020480B0020380B0020F8B52E4D1B +:103C40002E4C2F683846FEF74BFD41222368C6B242 +:103C500058701A70981C32463946FEF74DFD286898 +:103C6000304401F0B3FC2368254A286013601A78B9 +:103C7000412A3ED8DFE802F039393D3D3D3D3D3D2A +:103C80003D3D3D3D3D3D3D3D3B3D3D3D3D3D3D3D66 +:103C90003D3D3D3D3D3D3D3D292129293D3D3D3DAC +:103CA0003D3D3D3D3D3D3D3D212139213D3D3D3D9C +:103CB0003D3D3D3D3D3D3D3D292902229918216074 +:103CC000017849B999540120F8BD5A7802329918FF +:103CD000216001780029F5D005260121094D0A4C03 +:103CE0002E70206099540020F8BD0122E6E70522DD +:103CF000E4E70022E2E700BF440B0020400B002075 +:103D00003C0B0020480B0020380B0020F8B5354D47 +:103D10002C682378222B01D00020F8BD4023324E9E +:103D200004F1010E37683B706178002953D02229D5 +:103D300054D0012301E022290AD05A1C92B23B44FC +:103D4000597013B2E15C184604EB030E0029F2D15E +:103D5000013AD2B27A709EF80030222B08BF0130AF +:103D6000204401F033FC3268204B28601A6013783D +:103D7000412B2ED8DFE803F02B2B2D2D2D2D2D2DB3 +:103D80002D2D2D2D2D2D2D2D292D2D2D2D2D2D2D67 +:103D90002D2D2D2D2D2D2D2D262126262D2D2D2D74 +:103DA0002D2D2D2D2D2D2D2D21212B212D2D2D2D69 +:103DB0002D2D2D2D2D2D2D2D262602231344336040 +:103DC0000120F8BD53780233F8E70523F6E7012315 +:103DD000F4E70023F2E70A460120BBE700220120B6 +:103DE000B8E700BF440B0020400B00203C0B002034 +:103DF000302370B5324D334C2E68337023681878F9 +:103E00003C284CD03E2851D001F0DAFC707020687C +:103E1000013001F0DBFB29682B4B206019600B7827 +:103E2000412B37D8DFE803F03131363636363636B7 +:103E300036363636363636362C363636363636362C +:103E40003636363636363636262126263636363657 +:103E50003636363636363636212131213636363646 +:103E60003636363636363636262602230B442B6057 +:103E7000012070BD4A780120931C0B442B6070BD5B +:103E800005230B442B60012070BD01230B442B60E4 +:103E9000012070BD00230B442B60012070BD5A78B7 +:103EA0003E2A0AD03D2AAFD17B2003E05A783D2A32 +:103EB000AAD17D2001332360A6E72320FAE700BFC3 +:103EC000400B0020440B00203C0B002038B50D4B6C +:103ED0001C68FFF7B7FD98B147F22F520A4B1B68D9 +:103EE000D3F80130013B93420AD907250122074B41 +:103EF00007481B68074905700C601A70002038BD20 +:103F0000012038BD440B00203C0B0020400B00205A +:103F1000480B0020380B002038B5274C2068037868 +:103F20003B2B0AD004250122244B254C1B68254934 +:103F3000257008601A70002038BD32221F4D0130F4 +:103F40002B681A7001F042FB29681F4B2060196032 +:103F50000B78412B2ED8DFE803F02B2B2D2D2D2DA8 +:103F60002D2D2D2D2D2D2D2D2D2D292D2D2D2D2D85 +:103F70002D2D2D2D2D2D2D2D2D2D262126262D2D92 +:103F80002D2D2D2D2D2D2D2D2D2D21212B212D2D87 +:103F90002D2D2D2D2D2D2D2D2D2D262602230B449F +:103FA00001202B6038BD4A78931CF8E70523F6E71B +:103FB0000123F4E70023F2E7440B0020400B00202C +:103FC000480B0020380B00203C0B00200C4B1868DD +:103FD000037873B1002204E0292B0BD010F8013FC5 +:103FE0003BB1282BF8D110F8013F0132D2B2002B9F +:103FF000F7D17047013A12F0FF02EFD1704700BFCE +:10400000440B0020F8B5224D2B6818783D283BD092 +:1040100028280AD0022501211E4A1F4C12681F4879 +:104020002570036011700020F8BD002404E02928E9 +:1040300014D013F8010F38B12828F8D113F8010F64 +:104040000134E4B20028F7D10A260121114A124DA9 +:104050001268124C2E7023601170F8BD013C14F0F0 +:10406000FF04E6D1581C01F0B1FA03783D2B0DD0C6 +:1040700002260122074B2F680749084D1B682F6055 +:104080000E701A702046F8BD0820F8BD0920F8BD52 +:10409000440B0020400B0020480B0020380B002070 +:1040A00070B5384D2C68237873B1002204E0292BB9 +:1040B00013D014F8013F3BB1282BF8D114F8013F7D +:1040C0000132D2B2002BF7D13B2323702B6801338E +:1040D0002B60FDF799FE28B970BD013A12F0FF027E +:1040E000E7D1F1E7286803783B2B0CD004260122A6 +:1040F000254B264D1B6826492E7008601A7029230F +:104100002370012070BD32221F4E013033681A70B7 +:1041100001F05CFA32681F4B28601A601378412B5B +:104120002DD8DFE803F02A2A2C2C2C2C2C2C2C2C1C +:104130002C2C2C2C2C2C282C2C2C2C2C2C2C2C2CC3 +:104140002C2C2C2C2C2C252125252C2C2C2C2C2CCF +:104150002C2C2C2C2C2C21212A212C2C2C2C2C2CC2 +:104160002C2C2C2C2C2C2525022313443360C6E741 +:1041700053780233F9E70523F7E70123F5E7002336 +:10418000F3E700BF440B0020400B0020480B002049 +:10419000380B00203C0B0020F8B56D4C20680378EC +:1041A0003D2B33D0282B0AD002250122694B6A4CC3 +:1041B0001B686A49257008601A700020F8BD00224B +:1041C00004E0292B0CD010F8013F3BB1282BF8D18B +:1041D00010F8013F0132D2B2002BF7D10A25E4E7F3 +:1041E000013A12F0FF02EED1013001F0EFF903784D +:1041F0003D2B00F0E18002200122564B25685649F4 +:10420000564C1B68256008701A70D6E72122514E63 +:10421000534F33681A7039680B78881C412B00F2B1 +:10422000A880DFE803F02121A6A6A6A6A6A6A6A63A +:10423000A6A6A6A6A6A67AA6A6A6A6A6A6A6A6A64A +:10424000A6A6A6A6A6A676527676A6A6A6A6A6A6F2 +:10425000A6A6A6A6A6A652522152A6A6A6A6A6A67F +:10426000A6A6A6A6A6A67676212508200B788B7092 +:104270003B689A1C1D70587032603A6099784129E9 +:1042800000F2C780DFE801F07373C5C5C5C5C5C5B9 +:10429000C5C5C5C5C5C5C5C54CC5C5C5C5C5C5C547 +:1042A000C5C5C5C5C5C5C5C56E956E6EC5C5C5C5F3 +:1042B000C5C5C5C5C5C5C5C595957395C5C5C5C590 +:1042C000C5C5C5C5C5C5C5C56E6E08250222FEF7A4 +:1042D0007BFA21213B68092D03F1020219705D7000 +:1042E0003260CAD1332019799870D9702568931C2F +:1042F0003A6033602B78002233B947E0292B41D054 +:1043000015F8013F002B41D0282BF7D10132D2B252 +:10431000F6E708254A780232D9E708250522D6E7CC +:10432000073333602068013001F050F92060FDF759 +:104330006BFD30B322681378002B36D005250121A0 +:104340003368054C05482570026019700020F8BDDF +:10435000440B0020400B0020480B0020380B0020AD +:104360003C0B0020DB7802331A443260DAE7012389 +:10437000FAE7212008213B689A1C187059703260B6 +:104380007BE7F8BD013A12F0FF02B9D13B232B7055 +:10439000236801332360FDF737FD00283FF40DAF9C +:1043A000FFF7BAFD29232B70BCE732680120137098 +:1043B000F8BD02323260B5E72122224E224F336827 +:1043C0001A7039680B78881C412B2AD8DFE803F073 +:1043D000303029292929292929292929292929293F +:1043E000272929292929292929292929292929293F +:1043F000252325252929292929292929292929293F +:104400002323302329292929292929292929292927 +:1044100025250023A8E7092558E709257AE7092576 +:104420007CE7092221213B685A7019709A1C59E7D0 +:10443000092221200B788B703B685A7018709A1CE7 +:1044400050E700BF400B00203C0B0020F8B5364D74 +:104450002C682378222B03D0BDE8F840FDF7D4BCAC +:104460004023324E04F1010E37683B706178002919 +:1044700053D0222954D0012301E022290AD05A1C0A +:1044800092B23B44597013B2E15C184604EB030E40 +:104490000029F2D1013AD2B27A709EF80030222B74 +:1044A00008BF0130204401F091F83268204B2860A9 +:1044B0001A601378412B2ED8DFE803F02B2B2D2D1B +:1044C0002D2D2D2D2D2D2D2D2D2D2D2D292D2D2D20 +:1044D0002D2D2D2D2D2D2D2D2D2D2D2D262126262D +:1044E0002D2D2D2D2D2D2D2D2D2D2D2D21212B2122 +:1044F0002D2D2D2D2D2D2D2D2D2D2D2D262602232F +:10450000134433600120F8BD53780233F8E70523E4 +:10451000F6E70123F4E70023F2E70A460120BBE7B0 +:1045200000220120B8E700BF440B0020400B002010 +:104530003C0B00202DE9F843374E3368187801F022 +:1045400047F900284AD02022DFF8D4900025D9F876 +:1045500000301A7008E03368D9F80080185D01F067 +:104560002FF93D464444A07033682CB2185D01F029 +:104570006FF96F1C0028EED1D9F800305D703068FB +:10458000204401F023F8D9F80030244A3060136049 +:104590001A78412A3ED8DFE802F036363D3D3D3DEF +:1045A0003D3D3D3D3D3D3D3D3D3D383D3D3D3D3D40 +:1045B0003D3D3D3D3D3D3D3D3D3D3A2D3A3A3D3D44 +:1045C0003D3D3D3D3D3D3D3D3D3D2D2D362D3D3D52 +:1045D0003D3D3D3D3D3D3D3D3D3D3A3A03240122BB +:1045E0000F4B36680F4D10491B682E600C701A7007 +:1045F000BDE8F883022222211A44C9F8002019706C +:104600000120BDE8F8830122F5E70522F3E75A7897 +:104610000232F0E70022EEE7440B00203C0B0020C2 +:10462000400B0020380B0020480B0020F8B5FDF7A8 +:10463000EBFB002848D032262B4F2C4C2C4D206809 +:104640000378002B4BD03B2B09D0042501223B687B +:10465000284C2949257008601A700020F8BD3B6875 +:1046600001301E7000F0B2FF3968206029600B78BD +:10467000412B32D8DFE803F02F2F31313131313186 +:1046800031313131313131312D313131313131311E +:1046900031313131313131312A212A2A313131312F +:1046A000313131313131313121212F21313131312C +:1046B00031313131313131312A2A02230B443B600F +:1046C000FDF7A2FB0028BAD10020F8BD4A78931C60 +:1046D000F4E70523F2E70123F0E70023EEE73A6869 +:1046E00001201370F8BD00BF400B0020440B0020D8 +:1046F0003C0B0020480B0020380B00202DE9F04136 +:104700006D4C20680378222B00F0C980FDF77CFBFC +:1047100010B90020BDE8F081684F20683B68322660 +:10472000674D0278002A4AD03B2A09D0042501228D +:10473000644C6549257008601A700020BDE8F0815E +:104740001E70013000F042FF3B6820602B601A7839 +:10475000412A00F29580DFE802F0919193939393C0 +:10476000939393939393939393938F93939393931D +:104770009393939393939393939336213636939392 +:104780009393939393939393939321219121939351 +:10479000939393939393939393933636022103EBDE +:1047A000010EC7F800E00278222A15D0FDF72CFB95 +:1047B0000028AED020683B680278002AB4D11A7075 +:1047C0000120BDE8F0815978023103EB010EC7F8F2 +:1047D00000E00278222AE9D140225A54417800F1BF +:1047E0000108002900F0C180222900F0C2800123C5 +:1047F00001E022290AD05A1C92B27344597013B2B4 +:10480000C15C9C4600EB03080029F2D1013AD2B208 +:104810008EF8012098F80030222B08BF0CF1010C13 +:10482000604400F0D3FE3A6820602A601378412B80 +:1048300033D8DFE803F030303232323232323232C3 +:104840003232323232322E3232323232323232324C +:104850003232323232322B272B2B32323232323258 +:10486000323232323232272730273232323232324B +:104870003232323232322B2B052190E701218EE782 +:1048800000218CE7022313443B604AE7537802334C +:10489000F9E70523F7E70123F5E70023F3E74023D2 +:1048A000064F00F1010E3E6833704278002A65D051 +:1048B000222A62D001230BE0440B0020400B002091 +:1048C0003C0B0020480B0020380B0020222A0AD085 +:1048D000591C89B233445A700BB2C25C1D4600EBBE +:1048E000030E002AF2D14A1ED2B272709EF8003036 +:1048F000222B08BF0135284400F068FE3A68204B9F +:1049000020601A601378412B2DD8DFE803F02A2AA3 +:104910002C2C2C2C2C2C2C2C2C2C2C2C2C2C282CDB +:104920002C2C2C2C2C2C2C2C2C2C2C2C2C2C2521D9 +:1049300025252C2C2C2C2C2C2C2C2C2C2C2C2121DB +:104940002A212C2C2C2C2C2C2C2C2C2C2C2C2525C2 +:10495000022313443B60E2E653780233F9E7052370 +:10496000F7E70123F5E70023F3E70A464FF0010CD0 +:104970004EE700224FF0010C4AE700220125B4E780 +:104980003C0B00202DE9F8434027414C414DDFF816 +:10499000109103E020680378002B61D0FFF752F8F4 +:1049A0000028F7D121680B78222B09D00826012294 +:1049B0002B68394C394D21602E701A70BDE8F88390 +:1049C000D5F800E001F101088EF800704E78002E55 +:1049D00058D0222E59D0012301E0222E0AD05A1C91 +:1049E00092B273445E7013B2CE5C184601EB0308BA +:1049F000002EF2D1013AD2B28EF8012098F80030A0 +:104A0000222B08BF0130084400F0E0FD2A68206036 +:104A1000C9F800201378412B32D8DFE803F02F2F9C +:104A200031313131313131313131313131312D317A +:104A300031313131313131313131313131312A2678 +:104A40002A2A31313131313131313131313126267A +:104A50002F263131313131313131313131312A2A61 +:104A60002A6801201370BDE8F883022313442B60E9 +:104A700091E753780233F9E70523F7E70123F5E7D8 +:104A80000023F3E732460120B6E702460120B3E7F0 +:104A9000440B0020400B0020380B0020480B002066 +:104AA0003C0B00202DE9F041B8B96F4DDFF8C8810B +:104AB0002A6813785BB105250121D8F800306B4CCA +:104AC0006B482570026019700020BDE8F081D8F8AD +:104AD000002001201370BDE8F0810446FDF794F931 +:104AE00000B33227604DDFF89081624E601E10F0F7 +:104AF000FF04DDD0286803783B2B16D00425012263 +:104B0000D8F80030594C5A49257008601A700020B6 +:104B1000BDE8F08102230B44C8F80030FDF774F9BA +:104B20000028E3D10020BDE8F081D8F80030013042 +:104B30001F7000F04BFDD8F80010286031600B7832 +:104B4000412B00F28E8001A252F823F05F4C000846 +:104B50005F4C0008634C0008634C0008634C00087D +:104B6000634C0008634C0008634C0008634C000869 +:104B7000634C0008634C0008634C0008634C000859 +:104B8000634C0008634C0008634C00085B4C000851 +:104B9000634C0008634C0008634C0008634C000839 +:104BA000634C0008634C0008634C0008634C000829 +:104BB000634C0008634C0008634C0008634C000819 +:104BC000634C0008634C0008634C0008554C000817 +:104BD000154B0008554C0008554C0008634C000864 +:104BE000634C0008634C0008634C0008634C0008E9 +:104BF000634C0008634C0008634C0008634C0008D9 +:104C0000634C0008634C0008634C0008154B000817 +:104C1000154B00085F4C0008154B0008634C00085A +:104C2000634C0008634C0008634C0008634C0008A8 +:104C3000634C0008634C0008634C0008634C000898 +:104C4000634C0008634C0008634C0008554C000896 +:104C5000554C00084A78931C5DE705235BE7012368 +:104C600059E7002357E700BF440B0020480B002002 +:104C7000380B00203C0B0020400B002070B5FEF7E5 +:104C8000E1FE70B10F4B1A681378B3B1052501210D +:104C90000D4B0E4C1B680E482570026019700020E9 +:104CA00070BD082401220749074B0E68084D0749CB +:104CB0001B682E600C701A7070BD034A01201268C8 +:104CC000137070BD440B0020400B0020480B0020E7 +:104CD000380B00202DE9F843404F3B68187800F06E +:104CE00077FD00283CD02022DFF8F4800026D8F899 +:104CF00000301A7008E03B68D8F80050185D00F0EA +:104D00005FFD4E462C44A0703B6834B2185D00F045 +:104D10009FFD06F1010905460028ECD1D8F80030C6 +:104D2000DFF8C8905E703868204400F04FFC3321F3 +:104D3000D8F800303860C9F800309A7819705A7085 +:104D40000233C8F80030FEF77DFEA8B13B681B783F +:104D5000F3B90022D8F8003001201A70BDE8F883BA +:104D6000032401221E4B3E681E4D1F491B682E6006 +:104D70000C701A70BDE8F883082401223E68D8F848 +:104D80000030184D18492E600C701A70BDE8F88379 +:104D9000FFF72EF8A0B1D9F800305B78422B0FD185 +:104DA0003F683B78002BD4D005260122D8F800308C +:104DB0000D4C0C4926700F601A702846BDE8F88328 +:104DC000092001223D68D8F80030064C06492560CC +:104DD00008701A700020BDE8F88300BF440B002063 +:104DE000400B0020380B0020480B00203C0B00201B +:104DF0002DE9F84FDFF86082D8F800201378412BB6 +:104E000043D8DFE813F024012401420042004200AD +:104E10004200420042004200420042004200420082 +:104E20004200420042002201420042004200420091 +:104E30004200420042004200420042004200420062 +:104E40004200420042001F011D011F011F014200DC +:104E50004200420042004200420042004200420042 +:104E60004200420042001D011D0124011D014200BB +:104E70004200420042004200420042004200420022 +:104E80004200420042001F011F0100234FF0200A90 +:104E9000704F13443868DFF8C491C8F800300078C8 +:104EA00000F096FC002852D0D8F80030002683F895 +:104EB00000A008E03B68D8F80050185D00F080FCC6 +:104EC0005E462C44A0703B6834B2185D00F0C0FC14 +:104ED00006F1010B0028EDD1D8F800305E7038687B +:104EE000204400F073FBD8F800103860C9F80010B7 +:104EF0000B78412B37D8DFE803F0343436363636BA +:104F00003636363636363636363632363636363645 +:104F1000363636363636363636362F212F2F36365B +:104F20003636363636363636363621213421363662 +:104F3000363636363636363636362F2F02230B4483 +:104F4000C8F80030007800F043FC0028ACD1FEF730 +:104F500079FD50B13868A2E74A78931CEFE7052342 +:104F6000EDE70123EBE70023E9E739680B78222B13 +:104F700005D00122D8F800301A70BDE8F88F402320 +:104F8000D8F800404E1C23704D78002D55D0222DAE +:104F900050D0012201E0222D09D0531C9BB22244A3 +:104FA00055701AB28D5C10468E18002DF3D1013B5E +:104FB000DBB263703378222B08BF0130084400F065 +:104FC00005FBD8F800203860C9F800201378412B81 +:104FD0002ED8DFE803F02B2B2D2D2D2D2D2D2D2D53 +:104FE0002D2D2D2D2D2D292D2D2D2D2D2D2D2D2DF5 +:104FF0002D2D2D2D2D2D262126262D2D2D2D2D2D02 +:105000002D2D2D2D2D2D21212B212D2D2D2D2D2DF6 +:105010002D2D2D2D2D2D262602231344C8F80030CA +:105020003DE753780233F8E70523F6E70123F4E779 +:105030000023F2E703460120BBE72B460120B8E737 +:10504000022323E75378023320E705231EE70123D9 +:105050001CE700BF440B0020400B00203C0B00204D +:105060002DE9F0477A4F3B68187800F0B1FB002833 +:1050700051D02022DFF8DC810026D8F800301A70E9 +:1050800008E03B68D8F80050185D00F099FB4E46E8 +:105090002C44A0703B6834B2185D00F0D9FB06F1D7 +:1050A000010905460028ECD1D8F80030DFF8B091AE +:1050B0005E70FEF79DFB3868204400F087FAD8F850 +:1050C00000303860C9F800301A780646412A6ED898 +:1050D000DFE802F02E2E6D6D6D6D6D6D6D6D6D6D79 +:1050E0006D6D6D6D5D6D6D6D6D6D6D6D6D6D6D6D00 +:1050F0006D6D6D6D686B68686D6D6D6D6D6D6D6DF1 +:105100006D6D6D6D6B6B2E6B6D6D6D6D6D6D6D6D14 +:105110006D6D6D6D686801234E4A3C6805464E49C9 +:105120004E48126804600B7013702846BDE8F08783 +:1051300001241C44212AC8F800402BD15B78DBB342 +:105140001A1F012A40F29F809A1F012A70D9012B51 +:1051500000F0C880022B00F0B780032B00F0CB805A +:105160000A2B00F02A810B2B00F09C800C2B00F006 +:1051700028810D2B00F0D2803F2B00F2AB8006205F +:1051800001233549354A087016602370CDE7053391 +:10519000C8F80030FFF700F8054650B10125284651 +:1051A000BDE8F0875C780234C3E70224C1E700243D +:1051B000BFE7FFF71DFEB8E73046FDF791FA412340 +:1051C0005FFA80FA5246237060703146A01CFDF7EA +:1051D00093FA3868504400F0F9F9D8F80030386094 +:1051E000C9F800301A78412A43D8DFE802F040407D +:1051F00042424242424242424242424242423E4293 +:1052000042424242424242424242424242423B289F +:105210003B3B4242424242424242424242422828B0 +:1052200040284242424242424242424242423B3B88 +:1052300033780BB10520A3E72370012575E702221F +:105240009918C8F800100178A9B9995401256CE79C +:10525000440B0020400B0020480B0020380B00209E +:105260003C0B00205A780232EAE70522E8E70122E7 +:10527000E6E70022E4E705270121604E604C377025 +:105280002060995451E7FEF7DDFB80B90824012224 +:105290003F68D8F800305A4E584937600C700546C0 +:1052A0001A7042E7FCF7B0FD00283FF43EAF3A68C1 +:1052B0001378DBB105260121D8F800304F4C504857 +:1052C00026700260197030E7FFF734F90028EED13C +:1052D00005462AE74B4ABDE8F047134413F8400C53 +:1052E000FFF7E0BBBDE8F047FFF708BAD8F80020A9 +:1052F0000125137019E7FCF787FD00283FF415AF6F +:10530000386803783B2B60D004260122D8F800309F +:105310003A4C3B49267008601A7006E7FCF774FDAA +:1053200000283FF402AF322438680378002BDDD028 +:105330003B2BE9D1D8F8003001301C7000F046F961 +:10534000D8F800203860C9F800201378412B32D8F3 +:10535000DFE803F02F2F313131313131313131314B +:10536000313131312D313131313131313131313131 +:10537000313131312A212A2A313131313131313142 +:105380003131313121212F2131313131313131313F +:10539000313131312A2A02231344C8F80030FCF796 +:1053A00033FD0028C0D1C0E653780233F4E705236B +:1053B000F2E70123F0E70023EEE7BDE8F047FFF74F +:1053C00089BCBDE8F047FFF7DDBA3222D8F80030DB +:1053D00001301A7000F0FAF8D8F80010386008466A +:1053E000C9F80010FEF70CF90844C8F80000FFF7F0 +:1053F00037FE051C18BF012597E600BF480B0020AB +:10540000380B00205800002038B5FCF7FDFC00B92F +:1054100038BD294C206803783B2B0AD00425012293 +:10542000264B274C1B682749257008601A700020FE +:1054300038BD3222214D01302B681A7000F0C6F8B9 +:105440002968214B206019600B78412B32D8DFE8A6 +:1054500003F02F2F313131313131313131313131AF +:1054600031312D3131313131313131313131313130 +:1054700031312A212A2A3131313131313131313141 +:10548000313121212F21313131313131313131313E +:1054900031312A2A02230B442B60FFF7E1FD003053 +:1054A00018BF012038BD4A78931CF4E70523F2E7C2 +:1054B0000123F0E70023EEE7440B0020400B00201F +:1054C000480B0020380B00203C0B00202DE9F04752 +:1054D00000230127174C184D184EDFF86480DFF8C1 +:1054E00064A020602960336088F80030CAF800307A +:1054F0000F708146FEF7A6FA80B147F22F5233684B +:10550000D3F80130013B934208D907222B68CAF82F +:10551000009088F800201F70BDE8F08723681B7892 +:105520001BB92A681370BDE8F087BDE8F047FFF7A4 +:1055300097BD00BF440B0020400B00203C0B002017 +:10554000480B0020380B0020007800F0F000704776 +:10555000037803F0F003202B01D0002070470130C6 +:1055600000F09AB9014B1868704700BF380B002053 +:10557000024B024619780120FDF776BA480B00204D +:1055800002780021531E1F2B05D8013109B2425C5D +:10559000531E1F2BF9D9BAB130B400256B1C9BB236 +:1055A0005C18425522B2825C1BB21D46002AF5D11E +:1055B00011465A1E12B2002AC15403DB845C134602 +:1055C000202CF6D930BC7047027070470378093B35 +:1055D000DBB2172B07D8012110B4094C01FA03F3F1 +:1055E000234203D110BC70472242FBD010F8013F88 +:1055F000093BDBB2172B01FA03F2F5D9F2E700BF42 +:105600001F0080000378303B092B04D810F8013FBD +:10561000303B092BFAD970470B7843B1984202D13D +:1056200007E0834205D011F8013F002BF9D118465D +:10563000704701231846704770B5044608460D466A +:10564000FDF74EF82678864201D0002070BD324624 +:105650002946601CFDF79CF8B0FA80F0400970BD47 +:10566000FDF704B910B50446007828B1FDF7FEF83F +:1056700014F8010F0028F9D110BD00BF38B5037828 +:1056800063B1002305461C462B445878FDF7EEF81D +:1056900001342A7824B294422346F5DB38BD00BF9A +:1056A000F8B5051E23DB1DD0134B144C9D4208DCBE +:1056B000134A82FB0413E417C4EBA304AC42F8DCE6 +:1056C0007CB10F4F95FBF4F606F13000C0B2FDF748 +:1056D000CDF887FB0432E31704FB1655D3EBA20485 +:1056E000F0D1F8BD3020BDE8F840FDF7BFB82D205F +:1056F0006D42FDF7BBF8D7E7FFC99A3B00CA9A3B5A +:105700006766666630B403782D2B03BF43784FF08D +:10571000FF3501300125302B31D00A242F2B88BFD3 +:1057200000223FD9392B0DD9A3F16101192919D8CC +:10573000A3F12001C9B23639A14207DD02FB05F011 +:1057400030BC7047A3F12F01A142F7DC392B04FBD9 +:1057500002F20BD8303BD9B210F8013F0A442F2B8C +:10576000E0D8EBE7402BE9D91946E4E7A3F1610162 +:1057700019299CBF203BDBB2373BD9B2ECE7437819 +:10578000A3F16102192A07D9582B0DD01A46422AD3 +:105790000ED001300824C1E7782B05D0A3F12002F8 +:1057A000D2B2F4E70020CBE7837810240230B5E7CB +:1057B000022483782044B1E70A20FDF757B800BFE0 +:1057C000A0F16103192B9CBF2038C0B2704700BF05 +:1057D000A0F16103192B9CBF2038C0B241381928B1 +:1057E0008CBF002001207047303809288CBF002072 +:1057F000012070472F280FD939280FD9A0F1610354 +:10580000192B07D82038C3B2363B8B42CCBF0020BF +:1058100001207047402807D8002070472F38884261 +:10582000CCBF0020012070470346EDE72F280DD99B +:10583000392808D9A0F16103192B9CBF2038C0B2C8 +:105840003738C0B270473038C0B270470020704758 +:10585000A0F13003092B0BD9A0F16103192B9CBFD8 +:105860002038C0B2413819288CBF00200120704771 +:10587000012070470938C0B2172808D80122054B0B +:1058800002FA00F00340181C18BF012070470020E6 +:10589000704700BF1F008000027862B103460020FD +:1058A000511EC9B20131194413F8012F994282EAFD +:1058B0004000F9D170471046704700BF38B5054623 +:1058C0000120FDF7B7F804460120FDF7B3F8001BEF +:0858D000A842F9DB38BD00BF5E +:1058D800124A08B51368302043F004031360FCF73C +:1058E800B9FE0F4B0F49104A19604FF4D0701A6077 +:1058F800FCF720FCFCF7E0FDFCF7A6FB28214FF4A1 +:1059080000700A4CFDF78AFDFCF78AFC10F4004F82 +:1059180018BF00202070FDF7E9FDF5E718100240D8 +:105928000420024023016745AB89EFCD88000020A1 +:1059380019FF0AFF1405FF00FF140FFF0FFF14FFE4 +:10594800FFFFFFFFFFFFFFFFFFFFFF0A0A0AFFFF3E +:10595800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10596800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10597800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:0E598800FFFFFFFFFFFFFFFFFFFF0A050A19E9 +:105998004D69736B6174696E6F20424153494320AE +:1059A800312E350A636F64653A200A766172733A5C +:1059B800200A6E6578743A200A425245414B0A45DE +:1059C8006E64206F6620636F64650A536176656450 +:1059D8000A4C6F616465640A62797465730A4C6F76 +:1059E8006164206661696C65640A4175746F7275DB +:1059F8006E20696E2031207365630A43616E6365AA +:105A08006C6564210A0000000A436D64206F7220EF +:105A1800566172206578702D640A53796D626F6CD7 +:105A280020273D27206578702D640A4E616D65201A +:105A380065787065637465640A53796D626F6C206C +:105A4800273B27206578702D640A45787472612099 +:105A5800636861727320617420656E640A556E65AF +:105A680078706563746564206572726F720A4E752A +:105A78006D626572206F7574206F662072616E6743 +:105A8800650A4E756D626572206578706563746528 +:105A9800640A556E65787065637465642073796D02 +:105AA800626F6C0A556E6578702D64206C696E653E +:085AB80020656E640A00000085 +:105AC000010000003104000879110008B104000849 +:105AD000E91100084D04000871040008FD030008E6 +:105AE00021040008A110000819120008E1060008AE +:105AF000E9120008E1040008BD110008303132331A +:105B000034353637383941424344454600000000B9 +:0C5B10000101010101000000020202027C +:0400000508000000EF +:00000001FF