From e3d0ec434ecade71834089d4c20e10f3e1513504 Mon Sep 17 00:00:00 2001 From: Paul XPS Date: Tue, 27 Nov 2018 23:26:26 -0600 Subject: [PATCH] Have the USB code effectively separated from the main application code! Need to physically separate them now. Then can focus on erasing & flashing ourselves. Added some speed checks to bnrom.lua script that I was testing usb code with. Was able to verify read/write speeds were no affected by changes in this commit. Did some testing against older firmware v2.2 though there does seem to have been a slight slow down on write speeds. Although, perhaps that's because of the nrom flash verifications that are also included in this build (but not commited)..? --- firmware/build_stm/inlretro_stm.bin | Bin 20940 -> 20892 bytes firmware/build_stm/inlretro_stm.elf | Bin 205760 -> 204464 bytes firmware/build_stm/inlretro_stm.hex | 2455 +++++++++++++-------------- firmware/build_stm/inlretro_stm.map | 755 ++++---- firmware/source/main.c | 27 +- firmware/source/usb.c | 8 +- firmware/source_stm_only/stm_init.c | 36 + firmware/source_stm_only/stm_init.h | 1 + firmware/source_stm_only/usbstm.c | 93 +- firmware/source_stm_only/usbstm.h | 22 +- host/scripts/app/time.lua | 35 + host/scripts/nes/bnrom.lua | 10 + 12 files changed, 1787 insertions(+), 1655 deletions(-) create mode 100644 host/scripts/app/time.lua diff --git a/firmware/build_stm/inlretro_stm.bin b/firmware/build_stm/inlretro_stm.bin index 6fd776b66fe76342f8d619c82c0ded60b2b4e953..06bb980d296dcba085bdbdd2b56b0c4e11301ce3 100644 GIT binary patch delta 9638 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 delta 9806 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 Ht1b6GTqPX< literal 205760 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 Uy@hB0z27~&7roX(xNEt80aaN^oB#j- diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex index 92f4d15..94a9cc2 100644 --- a/firmware/build_stm/inlretro_stm.hex +++ b/firmware/build_stm/inlretro_stm.hex @@ -1,5 +1,5 @@ :020000040800F2 -:1000000000180020C1000008FD0000087534000839 +:1000000000180020C1000008FD0000089939000810 :1000100000000000000000000000000000000000E0 :10002000000000000000000000000000FD000008CB :100030000000000000000000FD000008FD000008B6 @@ -10,1250 +10,1250 @@ :10008000FD000008FD000008FD000008FD0000085C :10009000FD000008FD000008FD000008FD0000084C :1000A000FD000008FD000008FD000008FD0000083C -:1000B000FD000008FD000008FD0000080101000827 +:1000B000FD000008FD000008FD000008AD36000846 :1000C00009490A4A0A4B9B1A03DD043BC858D05021 :1000D000FBDC0849084A0020521A02DD043A885025 -:1000E000FCDC02F003F900009C4D00080000002039 +:1000E000FCDC01F0DDFE00006C4D0008000000208B :1000F000300400203004002020070020FEE7C04626 -:10010000F0B5B74A89B0138800921BB2002B01DB0F -:1001100001F0E1FC80211288B24B1A40009B0A4397 -:100120001A80009B1B881B0501D401F09FFCAE4F79 -:100130007F223B78AD4819009143AD4AAD4D118007 -:10014000FA88AD49028000220A80AA490C88FF2162 -:100150008C431C432C8060240490234201D101F085 -:100160001BF8A64C21706270BB7901937878013836 -:100170000E2801D901F01BFC04F026FD0F00AD058F -:100180009907FC08BB0A190CE70B81092A0A8F0A98 -:10019000B80A39094B095D096F09B878BA888C2308 -:1001A00019281ED88023DB0004F00EFD1E00260057 -:1001B00042012202EA0289031204CE04EA04F60490 -:1001C000FE0406050F05180526052E0536053E0515 -:1001D0001A001A001A00430558056F05D202DE0204 -:1001E0000023237000F0CEFFB023854A5B035169E2 -:1001F0000B4353610023F4E7152A01D900F05CFD9D -:1002000010008022D20004F0DFFC160023002E0034 -:100210005705390044004F0057055C006900730022 -:100220008000570557058D009A00A500B200BF0059 -:10023000CC00D600E0009023DB051A6871490A4023 -:100240001A608022D96852030A43DA600023C8E7A3 -:1002500090230122DB05196891431960D9680A438C -:10026000DA600023BDE790230422DB05196891437F -:100270001960D9680A43DA600023B2E7902310229C -:10028000DB05196891431960D9680A43DA600023D5 -:10029000A7E790234022DB05196891431960D968CC -:1002A0000A43DA6000239CE79023DB051A6856496D -:1002B0000A401A608022D968D2040A43DA60002317 -:1002C0008FE79023DB051A6850490A401A608022A4 -:1002D000D96852010A43DA60002382E704224C4BBA -:1002E000196891431960D9680A43DA60002378E7F6 -:1002F0009023DB051A6847490A401A608022D968B2 -:10030000D2050A43DA6000236BE79023DB051A6805 -:1003100041490A401A608022D968D2020A43DA6051 -:1003200000235EE79023DB051A683C490A401A6007 -:100330008022D96852000A43DA60002351E79023F3 -:10034000DB051968364801401960D9680A43DA604C -:10035000002346E79023DB051A6832490A401A60F9 -:100360008022D968D2010A43DA60002339E790235A -:10037000DB051A6824490A401A608022D968D20431 -:100380000A43DA6000232CE79023DB051A6826492C -:100390000A401A608022D96852050A43DA600023B5 -:1003A0001FE701221A4B196891431960D9680A4363 -:1003B000DA60002315E710221C4B1968914319607D -:1003C000D9680A43DA6000230BE79023DB0519683C -:1003D000134801401960D9680A43DA60002300E736 -:1003E000005C00408F0F0000506000400060004043 -:1003F000086000400660004004600040EC060020F9 -:1004000000100240FFFFEFFFFFFFFFFBFFEFFFFFCA -:1004100000040048FFFFFFBFFFFFFBFFFFFEFFFFE1 -:10042000FFFBFFFFFFBFFFFFFFFFFFEF000C0048D8 -:10043000152A01D900F043FC100004F0C5FB16009A -:1004400021002C004004370042004D0040045800B9 -:1004500063006D0078004004400483008E00990022 -:10046000A400AF00BA00C400CE009023DB051968D9 -:10047000D14801401960DA680240DA600023B0E632 -:1004800090230121DB051A688A431A60DA688A43DF -:10049000DA600023A5E690230421DB051A688A436D -:1004A0001A60DA688A43DA6000239AE69023102102 -:1004B000DB051A688A431A60DA688A43DA60002327 -:1004C0008FE690234021DB051A688A431A60DA68B8 -:1004D0008A43DA60002384E69023DB051968B74875 -:1004E00001401960DA680240DA60002379E690235F -:1004F000DB051968B24801401960DA680240DA6029 -:1005000000236EE60421AF4B1A688A431A60DA684A -:100510008A43DA60002364E69023DB051968AA4861 -:1005200001401960DA680240DA60002359E690233E -:10053000DB051968A54801401960DA680240DA60F5 -:1005400000234EE69023DB051968A148014019609D -:10055000DA680240DA60002343E69023DB0519687D -:100560009C4801401960DA680240DA60002338E6EE -:100570009023DB051968984801401960DA68024049 -:10058000DA6000232DE69023DB0519688B480140D3 -:100590001960DA680240DA60002322E69023DB0566 -:1005A00019688E4801401960DA680240DA60002359 -:1005B00017E60121834B1A688A431A60DA688A4376 -:1005C000DA6000230DE61021854B1A688A431A6011 -:1005D000DA688A43DA60002303E69023DB051968B2 -:1005E0007C4801401960DA680240DA600023F8E5CF -:1005F000152A00D966E3100004F0E6FA16001F0081 -:10060000270064032F0037003F00640348005100B7 -:1006100058006100640364036A0073007A00830079 -:100620008C0095009C00A30090228023D2051168C5 -:100630005B030B4313600023D3E590220123D20513 -:1006400011680B4313600023CBE590220423D205ED -:1006500011680B4313600023C3E590221023D205D9 -:1006600011680B4313600023BBE590224023D205A1 -:1006700011680B4313600023B3E590228023D20559 -:100680001168DB040B4313600023AAE5902280234A -:10069000D20511685B010B4313600023A1E504231D -:1006A000484A11680B43136000239AE59022802387 -:1006B000D2051168DB050B431360002391E59022FE -:1006C0008023D2051168DB020B431360002388E509 -:1006D00090228023D20511685B000B431360002336 -:1006E0007FE59021C9050A6813430B60002378E574 -:1006F00090228023D2051168DB010B431360002395 -:100700006FE590228023D2051168DB040B43136050 -:10071000002366E590228023D20511685B050B4318 -:10072000136000235DE50123264A11680B43136023 -:10073000002356E510232A4A11680B431360002357 -:100740004FE59021C9050A6813430B60002348E573 -:100750008D23082A00D044E590224023D205516819 -:100760000B43536000233CE58D23082A00D038E575 -:1007700090224021D20553688B435360002330E51B -:10078000152A00D9A1E2100004F01EFA2C00310055 -:1007900037009F023D00430049009F025000560071 -:1007A0005B0062009F029F0269006F0075007B0082 -:1007B000820089008E009300FFFFEFFFFFFFFFFB29 -:1007C000FFEFFFFF00040048FFFFFFBFFFFFFBFF3D -:1007D000FFFEFFFFFFFBFFFFFFBFFFFFFFFFFFEF7E -:1007E000000C00489022D20593620023F9E4902384 -:1007F0000122DB059A620023F3E490230222DB0549 -:100800009A620023EDE490230422DB059A62002320 -:10081000E7E490230822DB059A620023E1E48022CA -:1008200090239201DB059A620023DAE490234022B0 -:10083000DB059A620023D4E40222CC4B9A620023A7 -:10084000CFE4802290231202DB059A620023C8E4E1 -:10085000802290239200DB059A620023C1E490235A -:100860001022DB059A620023BBE490232022DB05E3 -:100870009A620023B5E490238022DB059A6200236C -:10088000AFE4802290239201DB059A620023A8E462 -:1008900080229023D201DB059A620023A1E4012289 -:1008A000B24B9A6200239CE40422B14B9A6200236B -:1008B00097E490232022DB059A62002391E4152A15 -:1008C00000D905E2100004F07FF916001B0021009A -:1008D000030227002D00330003023A0040004500C8 -:1008E0004C0003020302530059005F0065006C00D6 -:1008F000730078007D009022D2059361002370E49C -:1009000090230122DB059A6100236AE490230222EE -:10091000DB059A61002364E490230422DB059A61DD -:1009200000235EE490230822DB059A61002358E44B -:10093000802290239201DB059A61002351E49023E9 -:100940004022DB059A6100234BE40222874B9A6127 -:10095000002346E4802290231202DB059A610023E3 -:100960003FE4802290239200DB059A61002338E463 -:1009700090231022DB059A61002332E49023202289 -:10098000DB059A6100232CE490238022DB059A6129 -:10099000002326E4802290239201DB059A61002344 -:1009A0001FE480229023D201DB059A61002318E422 -:1009B00001226E4B9A61002313E404226C4B9A616E -:1009C00000230EE490232022DB059A61002308E433 -:1009D00002236370152A00D9B1E0100004F0E0F89A -:1009E0000B151EAF273039AF434C545DAFAF677066 -:1009F00079828C969EA690238022DB051B69D2000B -:100A0000134063800023FFF7ECFB90230122DB05FA -:100A10001B69134063800023FFF7E3FB902302224E -:100A2000DB051B69134063800023FFF7DAFB90238B -:100A30000422DB051B69134063800023FFF7D1FB11 -:100A400090230822DB051B69134063800023FFF716 -:100A5000C8FB90238022DB051B6992011340638051 -:100A60000023FFF7BEFB90234022DB051B691340E8 -:100A700063800023FFF7B5FB02223C4B1B69134048 -:100A800063800023FFF7ADFB9023DB051B69DB0BC5 -:100A9000DB0363800023FFF7A4FB90238022DB05A8 -:100AA0001B699200134063800023FFF79AFB902399 -:100AB0001022DB051B69134063800023FFF791FBC5 -:100AC00090232022DB051B69134063800023FFF77E -:100AD00088FB90238022DB051B6913406380002381 -:100AE000FFF77FFB90238022DB051B6992011340F7 -:100AF00063800023FFF775FB90238022DB051B69D1 -:100B0000D201134063800023FFF76BFB0122174BD8 -:100B10001B69134063800023FFF763FB0422144B1F -:100B20001B69134063800023FFF75BFB90232022A7 -:100B3000DB051B69134063800023FFF752FB002392 -:100B400063708D33FFF74DFB80230A4ADB02516946 -:100B50000B435361054B08491A680A401A60D9686B -:100B6000064A0A43DA600023FFF73BFB0004004813 -:100B7000000C004800100240FFFFAAAA00005555D3 -:100B8000EF4BF0491A680A401A60D968EE4A0A43E6 -:100B9000DA600023FFF725FBE94AEA4913680B40B6 -:100BA00013600023FFF71DFBE54AE74B11680B4379 -:100BB00013600023FFF715FBE14912024B69DBB21A -:100BC0001A434A610023FFF70CFBDD4B1B691B0A2C -:100BD000A370012363700023FFF703FB8023DB4A2C -:100BE0001B0351690B435361D94ADA4B11680B431C -:100BF00013600023FFF7F5FAD54AD64BD1680B43B3 -:100C0000D3600023FFF7EDFAD14AD34913680B40B4 -:100C100013600023FFF7E5FACD4ACE4B11680B4372 -:100C200013600023FFF7DDFAC94B5A610023FFF779 -:100C3000D8FAC023C54ADB0251690B435361C04A4D -:100C4000C64B11680B4313609022A023D205116894 -:100C50005B030B4313600023FFF7C3FAB84ABF4B93 -:100C6000D1680B43D3609023A021DB05D8684903EA -:100C70000143D9601168BA48014011601A68B94946 -:100C80000A401A600023FFF7ACFAFF23AC48950036 -:100C900041692B40B44DD20029400B43436190235E -:100CA000C020DB05C00059690240B04801400A433A -:100CB0005A610023FFF795FA8D23FFF792FA8D23EF -:100CC000FFF78FFA8D23FFF78CFA8D23FFF789FA50 -:100CD0008D23FFF786FABD78BA88032D00D10BE18A -:100CE00055D8012D63D05ED901F056FA902201212A -:100CF000D20513680B4313601023916111680B43F5 -:100D0000136004234021936113680B43136008238D -:100D100093619161802311685B010B431360802311 -:100D20008A48DB024169874D0B43854943610B6863 -:100D30002B400B60CC68844B1C43CC600C682C406F -:100D40000C60CC682343CB60802344691B0323439E -:100D50007F4C436125687F4B2B43236000236361F5 -:100D6000C0244569E4022C4344610C687B4820435D -:100D70000860A020146840032043106048697A4C42 -:100D800020404861516979480140516151E0052D89 -:100D900052D000D211E1072D00D191E0802D00D179 -:100DA00030E1962345E001F0F7F9002341E001F03E -:100DB000F3F99023DB051A68624C2A431A608022FB -:100DC0009D61196852030A431A6080220421D200EF -:100DD0009A621A680A431A6002229A6118680E32EF -:100DE00002431A604022996119680A431A60082276 -:100DF0009A6180235549DB024A6913434B61504B8A -:100E00001A6822401A60D8684F4A1043D8601868A0 -:100E100020401860D8680243DA6080234A691B03C7 -:100E200013434B4A4B6111684A4B0B431360002339 -:100E300053614F4CFFF7D5F901F0AEF99022012133 -:100E4000D20513683F4D0B43136010239161116865 -:100E50000B43136004234021936113680B43136019 -:100E6000082393618023916211685B010B43136037 -:100E700080233649DB02486903434B61304B1868D5 -:100E800028401860DC6830480443DC601C682C4053 -:100E90001C60DC682043D860802348691B0303433F -:100EA0004B612B492B4B086803430B6000234B61BC -:100EB00080211068C9010143116080219162B8E767 -:100EC00001F06AF990220121D205136840200B43FA -:100ED00013601023916111680B4313600423936125 -:100EE0001168014311600821916111680B4313607F -:100EF0000223936190610DE7D2B2022A3ED0002313 -:100F0000032A96D09723012A93D180230F491B03EC -:100F1000486903434B610E490B6893430B60CB68F0 -:100F20001343CB604B6813434B608A610B681A43D1 -:100F300000230A600F4A13700F4A116079E7C04618 -:100F400000040048FFFFAAAA000055550010024007 -:100F50000008004855555555AAAAAAAA50550000A0 -:100F6000AFAAFFFFFFFFEBFF03FF0000FFF9000048 -:100F7000EC060020F8060020F4060020B023C24A48 -:100F80005B03516940200B4353619023DB051A68D2 -:100F9000BE490A401A608022D96852011143D960C3 -:100FA000596801435960986119680A4308211A6019 -:100FB000B74A1170B74A1360F7E6D2B29823012AF4 -:100FC00000D036E79022B44BD2051A6006220A21DF -:100FD000B24B1A70B24BB34A1360B34A1170B34AA2 -:100FE00001311360B24A1170B24A13600C22B24B45 -:100FF0001A70B023A44A5B0351690B43536100F09C -:10100000EFFFD2E69023012640218025DB056670A4 -:1010100099621A686D012A431A60C0469B481C6990 -:101020001A680C4002401A60DA680240DA60F02266 -:10103000002C39D11A6802401A60DA681543DD6065 -:101040001A6994461A690392C0461A690592C04605 -:10105000C0461A690692C046C046C0461A69079241 -:10106000C046C046C046C0461D691A6802401A60A4 -:10107000DA681040D860634622000B4214D1039B0B -:1010800032000B4210D1059B02320B420CD10B00F7 -:1010900006990332194207D107990432194203D144 -:1010A00005321D4200D1D132844B9A707DE6BD7865 -:1010B000F978B8880D2D00D1DFE02AD8062D00D1AF -:1010C0009FE012D8022D00D1A2E006D8002D56D004 -:1010D000012D00D199E0A02553E0042D00D1BAE004 -:1010E000052DF8D102F0A6FA8DE0092D00D1BBE064 -:1010F00007D8072D00D1F9E0082DECD101F070FFE1 -:1011000081E00B2D00D1BBE000D8B0E001F0ACFFD6 -:1011100079E0222D00D17EE015D8102D00D1E8E035 -:1011200007D80E2D00D1A5E00F2DD4D102F0DEF8A6 -:1011300069E0202D00D191E000D992E0112DCAD1B3 -:1011400001F0D6FF5FE0822D00D101E10AD8802DA9 -:1011500000D1D1E0812DBED10123637000F066FD86 -:10116000A07050E0852D00D1F7E0862D00D1F9E088 -:10117000842DB0D10123637002F084FAF0E700F00F -:1011800003FF2570049AA3B25381049B240C9C8115 -:101190006B469A884A4B1A803B78602259B20029E4 -:1011A00001DB00F031FC13401BD17A78062A14D100 -:1011B0007A88110A022901D100F0FCFB032901D130 -:1011C00000F0FBFB012907D13E4B3F4A99B2118049 -:1011D0003E4A1B0C1380122302936A46384B128935 -:1011E0001A80009B1A883A4B13433A4A1A40C0238C -:1011F0009B015340009A9BB2138002F0CFF800F09D -:1012000027FC00F033FD0025BBE700F079FEFAE78C -:1012100000F0D6FCF7E7304B902258610223D2054C -:1012200093621F4B2D4D1E68090235431D605D6999 -:1012300000B2EDB229435961002801DA012191621F -:10124000C046C04601219161491891611A6824493C -:101250000A401A60D7E702F0A3FBD4E7214B1870CD -:10126000D1E7214B1880CEE702F0C2F9CBE701F0BD -:10127000D9FEC8E702F06AF8C5E702F005F8C2E750 -:1012800001F070FFBFE7C04600100240FFEFFFFF14 -:10129000F8060020F40600200C07002010070020AC -:1012A000000400480407002008070020140700205D -:1012B00018070020FC06002000070020EC06002094 -:1012C00002600040F64B00080A6000400C600040DD -:1012D0008081FFFF8FBFFFFF0008004800005555C9 -:1012E000FFFFAAAA880400203404002001F0A4FF14 -:1012F00089E701F077FF86E7012290236270DB0522 -:101300001968CA4D29401960D9682940D9608021DF -:101310000225C90099629A619D61C54D6861C04608 -:10132000C04600B29961002800DA9A62C046C04601 -:10133000C046C046C046C04690228021BD4BD20563 -:10134000C9001B69916201211B0A9161A3705AE7D0 -:101350000123637000F0FCFD02E701236370B64BCC -:101360001B78F3E702236370B44B1B88A3701B0A3E -:10137000E37048E7B878F978BB88AA2206281AD81B -:1013800003F00EFC042A1B2226322000FF22A9486B -:101390009D0041692A40AA4DDB0029400A43426171 -:1013A0009022C020D205C00051690340A5480140E9 -:1013B0000B43536100222270E4E60022180001F082 -:1013C0006BFDF7E70122F9E7180001F0E1FDF1E715 -:1013D000180001F0B5FDEDE7012200216270180050 -:1013E00001F08AFDA070E5E701216170F7E7BA78A6 -:1013F000002A07D00023012A01D1FEF7F2FEAF2315 -:10140000FEF7EFFE01236370A933A3701300FEF70C -:10141000E8FEBA78002A07D00023012A01D1FEF79E -:10142000E0FEB023FEF7DDFE01236370A933A37055 -:101430001300FEF7D6FEBA78002A07D00023012A4F -:1014400001D1FEF7CEFEB123FEF7CBFE0123637080 -:10145000A933A3701300FEF7C4FEBA78002A07D0A0 -:101460000023012A01D1FEF7BCFEB223FEF7B9FE2C -:1014700001236370A933A3701300FEF7B2FEBD7899 -:10148000FA78B988112D00D19BE007D8012D6BD0D7 -:10149000002D0FD0022D7DD0822572E6212D00D1A6 -:1014A00085E0222D00D188E0122DF5D102231020F5 -:1014B000637089E001263100634A644D12782B681D -:1014C000914099625A6810208A435A6002F084F869 -:1014D00031005D4B2A681B78042599400B0091610F -:1014E000516803960B435360FA20400002F074F8F1 -:1014F000554A03991278FA209140544E40003368BF -:10150000013D99625A68ADB28A435A6002F064F8AC -:101510004D4B03991B78326899400B0091615168DB -:101520000B435360002DDFD10435FA2002F054F84C -:101530000121454A454E12783368914099625A68B4 -:10154000FA208A435A6002F047F801213E4B326884 -:101550001B78013D99400B0091615168ADB20B437E -:101560005360002DE1D10CE62900374A374E12783E -:101570003368914099625A6810208A435A6002F099 -:101580002BF8314A3368127895409D615A681543AB -:101590005D6038E601232C4A637012782C49934031 -:1015A0002A4A9BB21268002002F012FAD8E5012301 -:1015B0000020637001F060FFD2E50123102063700A -:1015C000F8E702230020637001F0B0FF60801AE6A4 -:1015D000BB78BA88042B1DD007D8022B1FD03FD868 -:1015E000012B12D08723FEF7FCFD072B41D003D837 -:1015F000052BF7D1174B16E0082B3FD0802BF1D1EC -:1016000000F0EEFC0023FEF7ECFD134A1278A27006 -:101610006370F7E7114B1B78A3700123F8E70E4BBB -:101620001A7083220D4B1A70ECE7C046FFEFFFFFE4 -:10163000000800480004004888040020340400200A -:1016400003FF0000FFF90000F8060020F406002068 -:1016500004000200D9040020B8040020DA040020AD -:10166000C14BC24D1A7083232B7000F029FD2B78DB -:10167000D2E7BF4B1A70120A5A70C3E7BC4B1A78F4 -:10168000A2705A78E2709A782271DA7862711A79C7 -:10169000A2715B79E3710623BAE7BB78BA88022BA3 -:1016A00017D0032B18D0012B1DD1024885460248C4 -:1016B000001C004778120020C5CAFF1F0600050065 -:1016C0000800070019C9FF1FEFBEADDE0023FEF7BB -:1016D00088FDA84B1A60F9E7A64B18680004104370 -:1016E00002F070F9F2E78A23FEF77BFD8823FEF70C -:1016F00078FDBA781300303B2F2B1CD8F8780328DC -:1017000016D803F04DFA180211139B4B512A00D141 -:1017100080E028D8312A59D00FD8002A37D0302A73 -:101720004DD0B423FEF75DFD944BEFE7944BEDE70E -:10173000B523FEF756FD934BE8E7332A54D04CD33C -:10174000502AEED100222270063262701A7AA270FC -:10175000DA78E2705A7A22719A7A62719A78A27172 -:101760005B7CE3710EE57F2A00D987E0702A61D2A5 -:10177000602A3ED0612A45D0522AD2D100221B884D -:101780002270A37002321B0A6270E370FAE4FF2336 -:101790007D4953540132102AFBD1774A7949D370DD -:1017A0009370774ACB70D370937001228B7073491A -:1017B000CB708B70754B1A700023FEF712FDBA8840 -:1017C000110AD9721A730023FEF70BFDBA88110AA9 -:1017D00059739A730023FEF704FDBA88110AD9736E -:1017E0001A740023FEF7FDFCBA885A740023FEF732 -:1017F000F8FC0023237001336370BB88624AD35C1A -:10180000A370BFE40023237001336370604B1B6837 -:10181000DB78F5E70022227006326270DA7AA27075 -:101820001A7BE2705A7B22719A7B6271DA7BA27119 -:101830001B7C96E7534B56495C683B787F2B00D95D -:101840006AE16846534B007918700B68D878002815 -:101850000DD000230193982805D165E10023019361 -:10186000D02800D160E11020484B187003E04A48AE -:1018700003609020D870FF23019355E107201040AA -:10188000032817D803F08CF919021B143A4B802A4D -:1018900000D277E4872A14D97032D2B2072A00D94D -:1018A00070E400222270FA789A72BA881A8069E489 -:1018B000334BECE7B523FEF794FC324BE7E72F4BB5 -:1018C000E5E7B988F8780A0AC9B245189446BE22F5 -:1018D000102D00DD6FE50432002800D16BE5DD78C6 -:1018E000033AFF2D00D066E59D780132FF2D00D030 -:1018F00061E50022D6B2B0421ED862464601013EE2 -:101900001E724E0135009A700022244EDA7076194C -:101910005A729A721A80DA721A735A739A73DA7355 -:101920001A745A745E60184B591863468B5401320E -:10193000D3B28342F9D33DE501328E18124D013EF8 -:10194000AE5DFF2ED6D0C12235E5BB78002B04D08A -:10195000402B25D0D223FEF744FC2370BA880B4BD2 -:101960001A70FFF70FFCC046B8040020DA0400200C -:10197000B9040020300400204C0400206004002042 -:101980007404002038040020DB04002098040020A8 -:101990008C0400209404002090040020EC0400201B -:1019A00000232370013363706C4B1B7828E780237E -:1019B000FEF717FC6A4BFFF708FCD2B2012A19D0D8 -:1019C000002A0DD0022A01D0FFF706FC654B664ABB -:1019D00099B21180654A1B0C1380654BFFF7FCFB25 -:1019E000644B614A99B21180604A1B0C1380042336 -:1019F000FFF7F2FB604B5C4A99B211805B4A1B0C0B -:101A000013805E4BFFF7E8FB13420BD17B78052B6D -:101A100008D15B4B1A887B88D2B21B021343584A09 -:101A20009BB21380009B574A1B8800991340564A6B -:101A300013439BB20B800021544B1980009B1B88E1 -:101A40001A43534B1A40534B5A40009B92B21A8090 -:101A5000514BDA8F520507D58021504A1180002260 -:101A6000DA874F4B009A138009B0F0BD444B1A88B7 -:101A700060231A40402AEBD1414B1B880B40E7D131 -:101A8000484A1188484AC9B21268557A5668DCB289 -:101A90006019C0B2A14218D8537A4448CB18537287 -:101AA00003785B1ADBB20370002B01D19833D3703B -:101AB000009B1A88344B13433D4A1A40C0239B01B4 -:101AC0005340009A9BB21380C2E73A4C1C19247809 -:101AD00001333454DBE78021009B1B880B42B7D0D5 -:101AE000009B354A1B881340802212021343009A40 -:101AF0001380324B1B888B4201D1FFF77EFBFF2402 -:101B00001F4A1088A043A3D013881B0A0B43234904 -:101B10000B8013882340D6E70B68D878D82800D0EC -:101B20009CE680205C68D8700B6800215972DB78D5 -:101B3000902B01D0FFF726FB712A01D0FFF722FB83 -:101B4000194BBA881B6859680A70BA885968120A12 -:101B50004A705A7A02325A72FFF714FB9804002036 -:101B6000E44B0008604C00080A6000400C60004034 -:101B70001E030000084C00080C4C00082A0300005B -:101B8000066000408F8EFFFF8080FFFF12600040E4 -:101B9000BFBFFFFF30300000065C00404C5C0040DF -:101BA00020320000166000409004002094040020C1 -:101BB0008FBFFFFF506000400F8FFFFF08600040A5 -:101BC0009023DB0530B51C68134D09022C401C60C6 -:101BD000DA68124C2A40DA60114A506102229A6295 -:101BE000104A00B215682C4314605469E4B22143D2 -:101BF00051618021C9009961002801DA01209862B1 -:101C0000C046C046996201219961491899611368DB -:101C100005490B40136030BDFFEFFFFF0000555535 -:101C20000008004800040048FFFFAAAA0D4B8022CC -:101C300058619023D200DB0500B29A61002801DAD6 -:101C400001229A62C046C046C046C046064B80226A -:101C500018699023D200DB059A620122000AC0B203 -:101C60009A61704700080048000400480D4B0E4A76 -:101C700058610E4B0902186802431A605A69D2B2C1 -:101C80001143902259618021D20510684901014316 -:101C900011604021916291611A6805490A401A60F9 -:101CA0007047C04600080048000055550004004831 -:101CB000FFFFAAAAF0B5404B8BB0089119783F4BB3 -:101CC00009921B78019002933D4B019D1C683D4B8E -:101CD0003D481A7801231E0096403C4AA662102D0A -:101CE0005ED1127800689340836201200200364B77 -:101CF00005901F68354B1B789A4003920200344BC5 -:101D00001B680693334B1B789A4093B202000793EB -:101D1000314B1B689C46314B1B789A400023049240 -:101D20001A000198202806D1029D05981D41054200 -:101D30003ED00398B861089820280FD1002B01D11C -:101D40001E488354069805690798054206D01B482B -:101D5000855C0598984005431848855409980139D1 -:101D6000C9B2002802D0002900D1A6616046049DB6 -:101D70000133DBB285618562082B05D101320F4B3F -:101D8000D2B29B5C029300230029CAD10E4B1A6881 -:101D90000E4B197801238B409362A6620BB0F0BD05 -:101DA000019D112DA1D112780068934083619CE7B9 -:101DB0000398B862BFE7C046D9040020B9040020E8 -:101DC000140700201807002004070020080700203F -:101DD0000C07002010070020FC0600200007002050 -:101DE000F7B51F4B1F491A781F4B10282ED101241D -:101DF0001E780D68B440AC62012635000C683100D5 -:101E00001B7801969D40194B1B680093184B1B785B -:101E1000994000238C46190020280DD1154E019FB2 -:101E2000765C1E413E4219D0A5610133DBB2082B1E -:101E300002D100230131C9B26646009F013AD2B2F5 -:101E4000BE61BE62002AE7D1A562F7BD1128D3D1D9 -:101E500001241E780D68B440AC61CDE7A562E4E7CB -:101E6000D90400201407002018070020FC060020D9 -:101E700000070020B9040020F7B50D001600FF2769 -:101E8000000203B24C7A01932A7AE3B2A24202D250 -:101E90006B720020FEBD20006A683840D15C019B57 -:101EA0000134184380B2B047A4B2EDE7022907D14C -:101EB0000F4B104A984218D0904209D1180007E001 -:101EC000032906D10A4B0B490B4A98420BD1080053 -:101ED00070470429FCD1064B064A984205D00649B2 -:101EE0009042F4D0054A8842E6D11000F0E7C0469F -:101EF000380400204C0400206004002074040020FA -:101F00000E4B984202D880231B0218430C4B0D4AFB -:101F100058610D4B0902186802431A605A69D2B21F -:101F200011435961C04690220821D2059162C046F2 -:101F300091611A6805490A401A607047FF1F000046 -:101F4000000800480000555500040048FFFFAAAAF9 -:101F50000A4B984202D880231B021843084B0422E4 -:101F600058619023DB059A62C046C046C046C04611 -:101F7000044908699A61000AC0B27047FF1F000057 -:101F80000008004800040048104B114A10B5586181 -:101F90001068104B09020343136053690E4CDBB207 -:101FA0001943902351618021DB05186849010843DA -:101FB000186040209862186820401860D868014373 -:101FC000D960136805490B40136010BD0008004834 -:101FD0000004004800005555FFEFFFFFFFFFAAAACD -:101FE000F0B52C4B85B019682B4B2C481B7800782A -:101FF0000193012302901E0018001F00019A029C09 -:102000009640A040264D274A2D781268AF408E6238 -:102010008446906224489D40006887620468039467 -:102020001C00AC402500039C254305604568019CCD -:10203000BD4345609C401D00A54008681C00284326 -:1020400008604868B04348601068029999408C4025 -:10205000210001436046116051688143134851607B -:102060000078134A984083401268124811689943D7 -:102070001160D1680B43D36080220F4B1A7000238C -:1020800019000E4A13701A1801331170202BFAD15F -:1020900005B0F0BD14070020180700200807002035 -:1020A0000007002004070020FC0600201007002085 -:1020B0000C070020B9040020DA040020D904002015 -:1020C00010B5334B1B78082B5DD016D8314C032B41 -:1020D00044D007D8012B2DD0022B31D0EE222D4B2E -:1020E0001A7023E0062B44D049D8042BF6D1812363 -:1020F000012223702021112027E00F2B34D008D893 -:10210000244C0D2B25D00E2BE8D1812300222370E7 -:1021100027E0802B08D01F4CFF2B08D0102BDDD1DF -:1021200081230022237027E0FFF75AFF10BDF02320 -:102130002370FBE7812320202370FFF751FE06E088 -:1021400081230122002123702020FFF7B3FD822389 -:10215000EEE78123002223701100F5E7812301229D -:10216000237020211020F0E781230A4C00222370E5 -:10217000C0E781230122237020210800E5E78123A5 -:1021800010202370D9E78123024C11202370D4E75B -:10219000B8040020DA040020BC234749DB038A6A24 -:1021A000F0B513438B628B6A444A012413408B625F -:1021B00090238022DB051868D20102431A60802236 -:1021C0009A61B0224869520302434A611A683C4846 -:1021D0003C4F02401A608022D86852030243042018 -:1021E000DA601A68A2431A60DA682243DA601A6871 -:1021F00082431A60DA680243DA6010221D68954350 -:102200001D60DD682A43DA6040221D6895431D6029 -:10221000DD682A43DA601A682B4D2A401A60802252 -:10222000DD68D2042A43DA601A68284D2A401A6011 -:102230008022DD68D2052A43DA601A68244D2A40DC -:1022400080251A60DA68ED022A43DA60214A1668AE -:10225000A6431660D6683443D4601E683E401E60B4 -:10226000DC683C40DC6080234C691B0323434B61EA -:10227000194B1A4C1E681A4F26431E601E683E40BA -:102280001E60DE683443DC604B691D434D6113689A -:10229000144D2B401360D468134B1C43D460116859 -:1022A00029401160D1680B43D360136883431360E6 -:1022B000D3681843D060F0BD00100240FFFFA1FFBB -:1022C000FFFFEFFFFFEFFFFFFFFFFFFBFFFFFFBF82 -:1022D000FFFFFBFF00040048000800485555555516 -:1022E000AAAAAAAAFFFFAAAA000055559022D24B7B -:1022F00012031968F0B50A431A60802289B092026D -:1023000019681142FCD0012259680A435A608022A0 -:10231000596852020A435A608022596852030A439C -:102320005A608022196852040A431A60802292047B -:1023300019681142FCD0112102248020BF4A11608B -:102340005A680E398A4322435A601A6B02431A6351 -:102350008022D96912040A43DA6162B6002310258B -:10236000B74A1380B74A1380B74A1380B74A13801D -:10237000B74A1380B74AD18FA143D187D18F013C8F -:10238000A143D187B44CB549CB872580B44C3835AF -:102390002580B44C083525808025B34C6D012580FF -:1023A000B24C2080CB87B249B24B19808021B24B0E -:1023B000090619608023D18FDB000B43D387AF4A16 -:1023C000AF4B1A80FFF7E8FEF022AE4B1A70AE4E0C -:1023D0002023327811009943D2292ED1AB49AC4841 -:1023E000C978C3780224FF2904D1FF3B1C00631E77 -:1023F0009C41E4B2A74BDB78FF2B00D00324A64B13 -:10240000DB78FF2B00D00424A44BA54F1C70386050 -:10241000D22A12D10023012505E02100FFF746FD55 -:1024200001230135EDB2A542F7D3002B00D038606F -:1024300080223B68DA70D02333703378F22B05D1D9 -:102440000022023B3370964B1B68DA703578D02D32 -:1024500001D000F0D1FC924E3068C378802B01D0BF -:1024600000F0CAFC8D4B1978FFF720FD0023306087 -:102470000400C57006884372C07AF5B2103815287A -:1024800001D900F0B7FC02F09FFB52008A00D20095 -:102490001301B504B504B504B504B504B504B50419 -:1024A000B504B504B504B504B5041600250036001E -:1024B0003B0041004B00E17BC4230F2901D900F010 -:1024C0009AFC09013143237AA278C9B2606801F00D -:1024D000FDF90EE0E17B3C230A009A438833002A91 -:1024E00001D000F088FC237AA2782943606801F0CB -:1024F00023FA607292E0237AA278E17B2943E5E730 -:10250000E17B3F230A009A438533E8E7227AE17BA7 -:10251000A378009200222943606801F099F9E8E766 -:10252000E17B227AA378294300920122F4E7E37B3E -:102530001E2B0BD1C020B6092233F1B200029D43FD -:10254000FFF73EFB237AA2788021D7E71C2B0FD11F -:10255000A0208121C001FFF733FB8020F609F1B2F2 -:102560000002FFF72DFBA0200021C001FFF728FB90 -:102570008021E27B49421F2A05D00D43EDB2237A28 -:10258000A2782900A2E77022A02095430D4321885C -:10259000C0010909C9B2EDB2FFF712FBEFE7E37B17 -:1025A000FE2B3BD17609F1B23E48FFF7A9FC1F2173 -:1025B0003D4B0D405A692D02D2B215438021902225 -:1025C000C900D205A0786768267A5D619161012112 -:1025D000FF259162033191625A692D022A4002431C -:1025E0005A61C046314900228C46C046614609699D -:1025F0000130090AB9545969C0B229400132014376 -:10260000D2B259619642F0D290230421DB05996140 -:102610008021C9009962012199616272204B1B6877 -:1026200019889A7A52181A80D822DA70E4E3237A49 -:10263000A278602162E7C0460010024000200240FC -:1026400000600040026000400460004006600040FE -:1026500008600040025C0040505C0040065C0040A6 -:102660001060004014600040166000404C5C004068 -:1026700020320000005C004000E100E00080FFFF2D -:10268000585C0040DA040020980400204C0400202C -:102690003804002060040020740400201907002082 -:1026A0008C040020FF3F00000008004800040048A0 -:1026B000E37B002B20D18033F6091D43F3B2029354 -:1026C000FF20029BC1499B004A690340C048024069 -:1026D00013434B61C0209021029BC905C000DB0061 -:1026E0004A690340BB48024013434B61227AA378F6 -:1026F0002900009200220FE7012BE1D14021B6040E -:10270000B60E31430291DBE7E37B002B0BD13300A4 -:10271000803B657A5BB21B02AFB20393237ABB4264 -:1027200000D3EBE06572E37B012B06D130008038EB -:10273000C0B2A94A2100FFF79FFBE37B032B06D120 -:1027400030008038C0B2A54A2100FFF795FBE37B3B -:10275000042B06D130008038C0B2A14A2100FFF717 -:102760008BFBE37B0A2B06D130008038C0B29D4A38 -:102770002100FFF781FBE37BFD2B15D13F20238850 -:1027800030409B0904936B4680261B7C06430693CE -:10279000677ABBB2039333021BB20793237A039A7F -:1027A000934200D3C9E06772E37B1E2B11D13F2017 -:1027B00030408026238806439B09DBB20593657A67 -:1027C00033021BB2AFB20693237ABB4200D319E1A6 -:1027D0006572E37B0C2B17D11F2030408026064307 -:1027E000C0202588A5216D09EDB2C001FFF7E8F9E9 -:1027F00029007D48FFF7E4F9677A35023D43237AE3 -:10280000BB4200D34DE16772E37B1C2B3BD1A02080 -:1028100023888121DB09DBB2C0010493FFF7D0F9E3 -:10282000802004990002FFF7CBF9A0205421C001B9 -:10283000FFF7C6F9677AAA21BBB26C480393FFF78A -:10284000BFF955216A48FFF7BBF920216748FFF718 -:10285000B7F9802333431B021BB20693237A039AF2 -:10286000934200D33AE18020902100026772FFF783 -:10287000A7F9802000210002FFF7A2F98020F021B3 -:102880000002FFF79DF9E37B1F2B30D1A0202188A8 -:10289000C0010909C9B2FFF793F9AA215348657A23 -:1028A000FFF78EF955215248FFF78AF94F4820214A -:1028B000FFF786F9702380209E434042304340B2A8 -:1028C0000302AFB20493237ABB4200D34EE18020CF -:1028D000902100026572FFF773F980200021000249 -:1028E000FFF76EF98020F0210002FFF769F9F42369 -:1028F0002288E370A37A9B1823809DE20398636883 -:102900002843595D80B200F073FE63685A5D2F4B17 -:10291000824206D004211A680A431A6002229A6190 -:10292000FCE604211A6801358A431A60DA68013727 -:102930000A43DA60EDB2BFB2F0E600212D48FFF79E -:102940003FF9AA212C48FFF791F955212B48FFF7B1 -:102950008DF9A0212848FFF789F96B46187C284B90 -:102960000699C01880B2FFF72BF9079D63683D43B5 -:10297000ADB2D95D2800FFF779F9C0462800FFF70E -:1029800055F905902800FFF751F9059B8342F4D1D2 -:1029900063680599DA5D0D4B8A420FD1039A196875 -:1029A000013292B20392042291431960D96801372F -:1029B0000A43DA600222FFB29A62EFE60422196843 -:1029C0000A431A6002229A61E8E6C0460004004801 -:1029D00003FF0000FFF900004D33000889320008B2 -:1029E00039320008E5310008FFFF0000AA8A000024 -:1029F0005585000069FD000055550000AA2A000019 -:102A000069FDFFFFC02001210002FFF7D9F8AA21CC -:102A1000BA48FFF7D5F8C02000210002FFF7D0F830 -:102A20005521B748FFF7CCF8C02001210002FFF77D -:102A3000C7F8A021B148FFF7C3F8C02005990002EC -:102A4000FFF7BEF8069B2B439BB203936368039882 -:102A5000595DFFF7B5F8C0460398FFF7E7F8049013 -:102A60000398FFF7E3F8049B8342F4D16368049969 -:102A70005A5DA44B8A420DD1042219680135914355 -:102A80001960D96801370A43DA600222EDB2BFB299 -:102A90009A6299E6042219680A431A6002229A612E -:102AA00092E6AA219848FFF78BF855219448FFF742 -:102AB00087F8A0219448FFF783F863682800D95D60 -:102AC000FFF77EF8C0462800FFF7B0F80390280013 -:102AD000FFF7ACF8039B8342F4D190E6A020542189 -:102AE000C001FFF76DF8069DA0213D43ADB228005F -:102AF000FFF766F863682800D95DFFF761F8C04604 -:102B00002800FFF793F805902800FFF78FF8059B42 -:102B10008342F4D16368059ADB5D7A4D93420FD10D -:102B2000039B2A6801339BB2039304239A432A60D0 -:102B3000EA6801371343EB600223FFB2AB628DE614 -:102B4000A0208121C001FFF73BF8802004990002FA -:102B5000FFF736F8A0205421C001FFF731F8042315 -:102B60002A6813432B600223AB6177E6049EA02101 -:102B70002E43B6B23000FFF723F863683000595D8A -:102B8000FFF71EF8C0463000FFF750F80390300002 -:102B9000FFF74CF8039B8342F4D1636803995A5DB5 -:102BA000584B8A420DD104211A6801358A431A60B4 -:102BB000DA6801370A43DA600222EDB2BFB29A62E4 -:102BC00081E604211A680A431A6002229A617AE6B1 -:102BD000E37B002B04D14D4A21003000FFF74CF974 -:102BE000E37B012B04D14A4A21003000FFF744F96E -:102BF000E37B022B04D1474A21003000FFF73CF968 -:102C0000E37B042B04D1444A21003000FFF734F960 -:102C1000E37B0A2B04D1414A21003000FFF72CF955 -:102C2000E37B0B2B04D13E4A21003000FFF724F94F -:102C3000E37BFE2B00D05AE621883A484909C9B205 -:102C4000FFF75EF9AA213848657A00F0F3FC5521B8 -:102C5000364800F0EFFC3448202100F0EBFC1F2048 -:102C600030400302AFB20493237ABB420DD26572A7 -:102C70009021002000F0DEFC0021080000F0DAFCCA -:102C8000F021002000F0D6FC31E6049EA0212E4366 -:102C9000300000F0CFFC63683000595D00F0CAFCE2 -:102CA000C046300000F0EEFC0390300000F0EAFC7B -:102CB000039B8342F4D1636803995A5D114B8A42A6 -:102CC0000DD104211A6801358A431A60DA68013788 -:102CD0000A43DA600222EDB2BFB29A62C4E704216D -:102CE0001A680A431A6002229A61BDE73000603018 -:102CF0000F4A2100C0B2FFF7BFF8F8E55595000074 -:102D0000AAAA00000004004855D50000253000089C -:102D1000ED32000865310008E12F0008F1300008AD -:102D200069300008FF3F0000AA0A000055050000B6 -:102D3000C11B0008E37B042B06D130008038C0B2F1 -:102D4000444A2100FFF798F8E37B052B04D1414A60 -:102D500021003000FFF790F8E37B062B06D130000E -:102D60008038C0B23C4A2100FFF786F8E37B072B8E -:102D700004D1394A21003000FFF77EF8E37B002BB5 -:102D80001CD1FF2580331E4323883448DB09DBB286 -:102D90009A0041692A40324DDB0029400A434261D2 -:102DA0009021C020C905C0004A6903402D48024057 -:102DB00013434B613000210000F080FCE37B012BCA -:102DC00000D094E52388254A254851699B049B0E31 -:102DD00001409B000B4390215361C9054B69214A77 -:102DE00030001A4080239B0013434B61210000F008 -:102DF00065FC7CE5C323E3701B4B1D78F02D1BD1D4 -:102E00001A4E3468E378982B16D1194B20001978A4 -:102E1000FFF74CF800233060C370E07AE57010389B -:102E20002678042806D801F0C5FE6FFCD3FE61FFAA -:102E300085FF62FDC323E3700E4B1B78F02B01D19D -:102E4000FFF7C5FA832B01D0FFF7C1FAFFF738F976 -:102E5000FFF7BDFA912F0008412F00080004004839 -:102E600003FF0000FFF90000980400208C040020FC -:102E700019070020DA040020002302000002002AC3 -:102E800004D1002B01D0802318437047DB43511E2F -:102E9000DBB20A40F3E70000134B10B55861134B47 -:102EA00013481C680902204318605869C0B20143E6 -:102EB000596190210820C9058862002A01D1013298 -:102EC0008A62C046C046C046C046C046C046C046EC -:102ED000C04690220821D2059161073991611A6894 -:102EE00004490A401A6010BD000800480004004868 -:102EF00000005555FFFFAAAA0F4B58619023DB0530 -:102F0000002901D101229A6204229A62C046C04679 -:102F1000C046C046C046C046C046C046C046C04681 -:102F2000C046C046C046054908699A61000A033A8E -:102F3000C0B29A617047C0460008004800040048CB -:102F400070B504000D000022AA210F48FFF7A4FF6E -:102F5000002255210D48FFF79FFF0022A0210A48BB -:102F6000FFF79AFF002229002000FFF795FF0021BC -:102F70002000FFF7C1FF0500C04600212000FFF739 -:102F8000BBFF8542F3D170BDAA8A000055850000C1 -:102F900070B504000D000022AA210F48FFF77CFF46 -:102FA000002255210D48FFF777FF0022A0210A4893 -:102FB000FFF772FF002229002000FFF76DFF0021BC -:102FC0002000FFF799FF0500C04600212000FFF711 -:102FD00093FF8542F3D170BD55550000AA2A000029 -:102FE00070B504000D000D48AA21FEF789FF552198 -:102FF0000B48FEF785FFA0210848FEF781FF290056 -:103000002000FEF77DFF2000FEF7A2FF0500C0466E -:103010002000FEF79DFF8542F5D170BD55150000DB -:10302000AA1A000070B504000D000D48AA21FEF791 -:1030300067FF55210B48FEF763FFA0210848FEF704 -:103040005FFF29002000FEF75BFF2000FEF780FFF6 -:103050000500C0462000FEF77BFF8542F5D170BD1C -:1030600055150000AA0A0000F8B505000E001C4F17 -:103070001C4B38882021203080B21C78FEF7A0FD40 -:10308000AA211948FEF73CFF38881021103080B281 -:10309000FEF796FD55211548FEF732FF38882021AE -:1030A000203080B2FEF78CFDA0210F48FEF728FFEC -:1030B00024013888E4B2001980B22100FEF780FDB7 -:1030C00031002800FEF71CFF2800FEF741FF040036 -:1030D000C0462800FEF73CFF8442F5D1F8BDC0464B -:1030E000340400208804002055150000AA0A0000BE -:1030F00070B50400B0200E0000020A21FEF760FD4A -:10310000C0200A210002FEF75BFDAA211248FEF74B -:10311000F7FE55211148FEF7F3FEA0210E48FEF7F9 -:10312000EFFEB0200E4D00022978FEF749FDC020C9 -:1031300029780002FEF744FD31002000FEF7E0FE92 -:103140002000FEF705FF0500C0462000FEF700FF47 -:103150008542F5D170BDC04655150000AA0A000091 -:103160008804002070B504000D001A4E022130883A -:10317000023080B2FEF724FDAA211748FEF7C0FEF8 -:1031800030880121013080B2FEF71AFD5521134825 -:10319000FEF7B6FE30880221023080B2FEF710FD45 -:1031A000A0210D48FEF7ACFE0D4B30881978401871 -:1031B00080B2FEF705FD29002000FEF7A1FE2000E9 -:1031C000FEF7C6FE0500C0462000FEF7C1FE8542A0 -:1031D000F5D170BD3404002055150000AA0A000086 -:1031E0008804002070B504000D001048AA21FEF7E5 -:1031F000E7FC55210E48FEF7E3FCA0210B48FEF743 -:10320000DFFC29002000FEF7DBFCA020094B0002B8 -:103210001978FEF7D5FC2000FEF708FD0500C04632 -:103220002000FEF703FD8542F5D170BDAAFA00002B -:1032300055F500008804002070B504000D0010480A -:10324000AA21FEF7BDFC55210E48FEF7B9FCA021CE -:103250000B48FEF7B5FC29002000FEF7B1FC8020EA -:1032600000210002FEF7ACFC2000FEF7DFFC0500A9 -:10327000C0462000FEF7DAFC8542F5D170BDC0469D -:1032800055D50000AAAA000070B504000D00134E29 -:1032900000213088FEF794FCAA211148FEF774FE45 -:1032A00055211048FEF770FEA0210D48FEF76CFE78 -:1032B0000D4B30881978401880B2FEF781FC290048 -:1032C0002000FEF761FE2000FEF7B0FC0500C046BE -:1032D0002000FEF7ABFC8542F5D170BD3404002020 -:1032E00055550000AA2A00008804002070B504008B -:1032F000A0200D000002022100F052FBAA2110487C -:10330000FEF7FEFD55210F48FEF7FAFDA0210C48FF -:10331000FEF7F6FDA0200C4B0002197800F040FBF0 -:1033200029002000FEF7ECFD2000FEF711FE05004D -:10333000C0462000FEF70CFE8542F5D170BDC046A8 -:1033400055150000AA0A00008804002070B504008A -:10335000C0200D000002052100F022FBAA210D482B -:10336000FEF72EFC55210C48FEF72AFCA021094847 -:10337000FEF726FC29002000FEF722FC2000FEF7C5 -:1033800055FC0500C0462000FEF750FC8542F5D1F3 -:1033900070BDC04655550000AAAA0000284B10B5C4 -:1033A0001A88284B12041B881A43274B198849088E -:1033B0004900885A254908801988023189B2198044 -:1033C000198849084900885A21490880198802311A -:1033D00089B21980198849084900885A1D4908800E -:1033E00019881D48023189B2198019884908490095 -:1033F000895A1A4A11801A881949023292B21A80DF -:103400001C880288944213D902881C880832121B37 -:1034100092B20A80028892B21A801249124B0A882C -:103420001343124A1A40302353409BB20B8010BD05 -:103430000F4804881A889442E6D308230B80ECE7EF -:103440000C6000400A60004004600040486000409A -:103450004A6000404C600040026000404E60004006 -:1034600012600040005C00408080FFFFBF8FFFFFC4 -:1034700000600040FEE70000F7B501230225294F58 -:1034800001923A780091054393400421A020264EF2 -:103490002D049BB229433268C00100F099FA040060 -:1034A00001283DD13B7809209C4005437830A3B2E8 -:1034B00032682900FF3000F08BFA040001282FD178 -:1034C0003B7832689C402900A3B2002000F080FACB -:1034D0000400012824D1009B180AFFF7CDFC3B789B -:1034E00032689C402900A3B200F072FA040001285F -:1034F00016D16B461878FFF7BFFC22003B782900F5 -:103500009A4093B2326800F063FA0198FFF7B4FC76 -:103510003B7832689C402900A3B200F059FA0400BD -:10352000E0B2FEBDF8060020F4060020F7B5012346 -:103530000225274F00903A780191054393400421DA -:10354000C020244E2D049BB229433268800100F034 -:103550003FFA0400012838D109231D433B78C020DD -:103560009C403268A3B22900400000F031FA040008 -:1035700001282AD13B7832689C402900A3B2002060 -:1035800000F026FA040001281FD1019B180AFFF75A -:1035900073FC3B7832689C402900A3B200F018FA13 -:1035A0000400012811D16B461879FFF765FC220051 -:1035B0003B789A4093B2009A14430922E1B209047D -:1035C0001143326800F004FA0400A0B2FEBDC04608 -:1035D000F8060020F40600200023800080B2834219 -:1035E00000D17047C046C04601339BB2F7E70000E8 -:1035F00070B504000D000D48AA21FEF7C5FC552149 -:103600000B48FEF7C1FCA0210848FEF7BDFC2900CD -:103610002000FEF7B9FC2000FEF708FB05002000A3 -:10362000FEF704FB8542F6D1280070BD5555000019 -:10363000AA2A00000F4B30B5902258618023012444 -:10364000D205DB0093620C4B94621D680B480902A3 -:10365000284318605869C0B201435961C046082127 -:103660009162C046916119680548014019609461F2 -:1036700030BDC04600080048000400480000555511 -:10368000FFFFAAAA0B4B10B580215861902301229D -:103690000424DB05C90099619A629C62C046C04659 -:1036A000C046054800699C61000A9962C0B29A61EF -:1036B00010BDC0460008004800040048F7B50400EB -:1036C0000E004D7AC046C046C046C046C046C04601 -:1036D000C046C046C0460022AA215848FFF7DCFB7E -:1036E000002255215648FFF7D7FB24020022202153 -:1036F0005248FFF7D1FB23B20193EBB20093337A28 -:10370000AB4217D26B4680201B7800227372902147 -:103710000002FFF7C1FB0022802011000002FFF72A -:10372000BBFB80200022F0210002FFF7B5FBC04662 -:103730000020FEBD434B444A196808200A43FF217C -:103740001A605A690A40A02109020A435A6190226C -:103750000121D20590629162C046C046C046C04673 -:10376000FF24906191611A6838492C400A401A6020 -:10377000019B009A1C437368A4B2995C200000224C -:10378000FFF78AFBC046C046C046C046C046C0469A -:10379000C046C046C046C04600212000FFF7ACFB33 -:1037A0000700C046C046C046C046C046C046C046E8 -:1037B000C046C0467368009A9B5C834217D0C046DF -:1037C000C046C046C046C046C046C046C046C046C9 -:1037D00000212000FFF790FBB8420BD1C046C04645 -:1037E000C046C046C046C046C046C046C046013579 -:1037F000ADB282E7C046C046C046C046C046C046DD -:10380000C046C046C046C046C046C046C046C04688 -:10381000C046C046C046C046C046C046C046C04678 -:10382000C046C046C046C046C046C046C046C04668 -:1038300000212000FFF760FB0700C9E7AA8A00000B -:10384000558500000004004800005555FFFFAAAA56 -:10385000F0B51C4D040005A8067868690902C0B2DD -:103860000843686190200421C00581622900002A74 -:1038700001D101328262FF2500204A692D022A40CF -:103880001A43114F4A61C046C046C046C046C046B2 -:10389000C046C046C046C046C0463A690133120A17 -:1038A00022544A69DBB22A4001301A43C0B24A614D -:1038B000B042E8D990230422DB059A61033A9A6169 -:1038C000F0BDC0460008004800040048F0B5184CA0 -:1038D000050060690E02C0B230436061802690200E -:1038E000F600C00549B28661002901DA0121816232 -:1038F000FF2661693602314011436161C0460020F4 -:103900000C4FC04639690132090A29546169D2B2A3 -:10391000314001301143C0B261619842F1D9902326 -:103920008022DB05D2009A6201229A61F0BDC04676 -:103930000008004800040048F0B5174C05000E00D0 -:1039400060691F2925D8802131430902C0B2014393 -:10395000616190210420FF26C905886261693602F1 -:10396000314011436161C04600200C4FC0463969A7 -:103970000132090A29546169D2B231400130114340 -:10398000C0B261619842F1D990230422DB059A61AB -:10399000F0BDC0B20902DAE70008004800040048A0 -:1039A00070B506000D0005243000013CFEF73EF91D -:1039B000E4B229003000FEF703F96D08002CF3D1C2 -:1039C00070BD00008047C0460000000000000000FD -:1039D000F0B5474680B4061C081C000C102801D521 -:1039E000162700E004270007000F8046FF20014053 -:1039F0005468251C1D439C43F60313850AD5C04615 -:103A0000C046C046C046C046C046C04694801383E8 -:103A1000958002E0012000F081F801390AD4381CB9 -:103A200000F07CF8C046948013839580C046C04661 -:103A30007600E2E7381C013800F070F894801383B8 -:103A40009580042000F06AF8108A184001D0FF2009 -:103A500061E0C046C046C046C046C046C0469480ED -:103A60009580108A184055D001200226B04552D0CA -:103A70000921168A1E40FCD1012000F04FF89480E5 -:103A8000C0469580C04603E0C046C046C046C0461A -:103A9000948095807600108A1840EFF300804000F3 -:103AA000C00F0643381C023800F038F89480958027 -:103AB000022000F033F80139EAD513859480012003 -:103AC00000F02CF813839580301C8021022399404C -:103AD0000E401BD1002341085E4149085E41490860 -:103AE0005E4149085E4149085E4149085E41490816 -:103AF0005E4149085E4149085E41760808D34008A6 -:103B0000FF21084048400002013004E00E2002E09E -:103B1000092000E0002080BCB846F0BD0138FDD18E -:103B20007047C04603685A0003D45B005B08C018A6 -:103B30007047802212061343F9E7C046F0B5574696 -:103B40004E46DE464546E0B5814683B092460029A2 -:103B500025D04B1E9B46002701935B46FB18DC0FCC -:103B6000E4184B466410E5005E193000FFF7DAFFF9 -:103B7000019B8046A3420BD0280008304844FFF741 -:103B8000D1FFD04506D80138504509D2671CE4E77B -:103B9000504505D9A74202D0631E9B46DDE70026AB -:103BA000300003B03CBC90469946A246AB46F0BDFF -:103BB000012809D0022805D0002801D00020704734 -:103BC0000248FCE70248FAE70248F8E7D142000859 -:103BD000E9420008DD42000830B5234B83B0050000 -:103BE0008C1E002B2AD001A9200000E000BF002875 -:103BF00020D001992200FFF7A1FF041E1AD0FFF781 -:103C000091FF6368A864012B10D0201D002B1BDBE3 -:103C1000FFF788FF0023E8642B650368002B17DBA0 -:103C2000FFF780FF2861002003B030BD002305208E -:103C30002B61F9E7002309202B61F5E70B480C49BC -:103C4000091AC9100191D5E70123E8642B65E4E75F -:103C50001801000FFFF7ACFF2861002801D10930DF -:103C6000E2E70020E0E7C04600000000CC4C00087E -:103C70009C4D0008036810B50400DA0705D49B07C3 -:103C80000FD5483000F084FC23685A070FD51A0777 -:103C900014D5DB0604D42000D130FF3000F084FCC2 -:103CA00010BD483000F070FC23685A07EFD42000A4 -:103CB000D03000F071FC23681A07EAD4200051309C -:103CC000FF3000F06DFC2368E3E7C0460368002B7B -:103CD00000D01B1818007047092070477047C04675 -:103CE00070B504000D0008E02B6C2A006361210010 -:103CF000012023699847082807D1296C2000FFF785 -:103D00006BFF0028F0D000F09FFE0728FBD10020B9 -:103D1000296CFFF7E3FF281D00F020FCF0B5CE462C -:103D2000474680B5C368324C9846A544836906006F -:103D300014000431402205A8994600F08DFE0023AE -:103D400004AD296C30000493FFF746FF631E9C41CD -:103D500007000934002F15D0AB6B10216B644B4664 -:103D600021430193C9B20095330032000120C047BE -:103D7000002833D13800F5239B009D440CBC9046AD -:103D80009946F0BDF0222B6C5200736129007CA88B -:103D900000F062FE7CAA31003369200098478A9BBC -:103DA00007006B6403934B46009501933200330088 -:103DB00021000120C047002810D1F0227CA9520028 -:103DC000280000F049FE082F06D1296C3000FFF7CB -:103DD00003FF09240700BDE7072F01D00927C9E722 -:103DE0000020296CFFF77AFF05A800F0B7FBC0465A -:103DF0002CFCFFFF406C704770B5CB6BFAB00B64C6 -:103E000004000E004022043103A800F025FE012327 -:103E10005B42029306E002AA21002369984705004D -:103E200008280AD1129B200019000193FFF7D4FE45 -:103E30000028F0D009207AB070BD02A8FFF71AFF61 -:103E4000062DF7D131002000FFF74AFF10B582613F -:103E5000DA6BC1601A6419000022FFF75FFF10BD22 -:103E6000436970B50B64C36804000D00002B04D0D7 -:103E70000122FFF753FF00F0E7FD0A00236901006C -:103E800002209847072807D0082803D129002000DE -:103E9000FFF726FF00F0D8FD0020296CFFF71EFF7A -:103EA000281D00F05BFBC046C36810B5002B05D091 -:103EB000CB6B00220B64FFF731FF10BDFFF79CFFB7 -:103EC000FBE7C0467047C046836810B5002B02D0A0 -:103ED00001000120984710BD10B5012907D0002925 -:103EE00007D003390224012901D9200010BD012483 -:103EF000FBE70224002BF8D10F2AF6D89200821893 -:103F00005268029B00241A60EFE7C04600B585B0F6 -:103F100003AB0A00009300210023FFF7DDFF0398A5 -:103F200005B000BD10B5012907D0002907D003391D -:103F30000224012901D9200010BD0124FBE702243D -:103F4000002BF8D10F2AF6D8029B92001B6882182A -:103F500053600024EFE7C04600B585B003AB039281 -:103F600000930A0000230021FFF7DCFF05B000BD2D -:103F700070B51A4CD36BA544136406000D0019A844 -:103F8000111D402200F068FD01235B42189314E0EC -:103F90000C2118A802AAFFF7DFFF290018A8B047D4 -:103FA000002812D1069B18AA02A90830019398474D -:103FB000040005280AD0092807D0289B02A8190068 -:103FC0000193FFF709FE0028E2D0092418A8FFF7A3 -:103FD00051FE200090239B009D4470BDC0FDFFFF5B -:103FE000F0B5DE464E464546574693460322E0B5B9 -:103FF0001E0013008BB003400193CB6C0D001C1D01 -:104000001B6808940793002E66D11B02079306AB2A -:104010005E731A73019B022B00D16EE02B6DDB07E0 -:1040200047D40023A846B2460293083303400393C3 -:104030002568002D00D137E15346022B49D0258851 -:10404000668804340123370099469F4343469B6C9E -:104050000F219C4658466744FFF758FF00228742CD -:1040600006D82A004B469A43D719B84280414242AB -:1040700002230121760033400D402B43012B3ED01B -:10408000002B5AD0022B1CD1236801995F007F08B6 -:10409000002965D1002A06D0039A002A00D188E0C1 -:1040A000002F00D1AAE0002B65DB0137BF00E41927 -:1040B000BEE700230293022E47DDFFF70DFE002826 -:1040C00049D009200BB03CBC90469946A246AB466D -:1040D000F0BD66680834B5E7022E9BDC1A0C1B04A1 -:1040E0000793022306A90B73FD3313409B00E418CA -:1040F000019B4A73022B00D090E7AC6B8EE7019BCB -:10410000002B3AD1002A16D02368DD0F63689A1C71 -:10411000D7D0424658320692013300D1C6E0201D66 -:10412000FFF7D4FD06AB01002A00404600E000BFC7 -:10413000002800D0A7E008347AE7019B002B02D0CA -:10414000002A00D08BE0043472E707A9584600F03B -:10415000D1FA0028B5D1029B002B5DD10820B1E730 -:1041600043460D2158461D6AFFF7D0FE854263D0B5 -:104170002368002B99DA043497E743460D2158460B -:104180001D6AFFF7C3FE8542D5D143469B6A9C4218 -:10419000D1D145462000FFF7C5FC0F21020058464B -:1041A000FFF7DAFE58462A000021FFF7D5FE072068 -:1041B00088E7002F22D058235146434406AABA4626 -:1041C000251D0026049405911F00914603E0043547 -:1041D0002600A24514D028000697FFF777FD4B462E -:1041E000010000224046741C00E000BF0028EED011 -:1041F0005746059B049C9A46B742B9D1454601E013 -:104200004546049C0D215846FFF780FE069B286218 -:104210006B62AC62062055E70F215846FFF776FE29 -:104220000E2102005846FFF797FE5846274A0F21F5 -:10423000FFF792FE072045E743469B6A9C4297D1D1 -:10424000434642469F620023D36204331363231D17 -:1042500053632368002B32DB0123029325E7200000 -:10426000FFF760FC454604340600AC63404600E0BE -:1042700000BF002800D124E7584632000F21FFF785 -:104280006BFE07201EE707000D2158464546FFF745 -:104290003DFE2862022F0FD1069BEB6243462C3372 -:1042A0006B62AC6206200DE7564604E70D215846C6 -:1042B0004546FFF72BFE2862069B6B62F1E738004C -:1042C000013080004546201865E7C0460000000028 -:1042D00010B50023FFF784FE10BDC04610B50123C2 -:1042E000FFF77EFE10BDC04610B50223FFF778FE33 -:1042F00010BDC046F0B5CE46474680B50600C3B0F7 -:1043000014001D0001294ED0002933D003290AD002 -:10431000042902D1002B00D189E0022043B00CBC5B -:1043200090469946F0BD032BF7D11404150C240CCC -:104330002B19102BF1D8082203681A4200D0E7E0AD -:1043400020AB1800984600F02DF9B36BED001A0071 -:10435000002C09D0E400EA1A1C1942441968D15013 -:1043600004339C42FAD12200B263404600F018F9AF -:104370000020D3E70220002BD0D100230127100416 -:10438000B56B000C321D39009940084202D02968F3 -:104390000435116001330432102BF4D10020A30442 -:1043A000BCD4B563BAE71404170C240C012B5FD0FE -:1043B000052BB2D13B19202BAFD80F2F7DD9A146A9 -:1043C000002C65D1002223009146B16B002B00DC4C -:1043D00088E020A88046FA00DB00521ACB1842443D -:1043E0000868505004318B42FAD119004B46002B1B -:1043F00010D04B4658003A00102F00D21022002354 -:10440000103AD2006A448000CC58D450043383421E -:10441000FAD1C918012D5ED0B1630F2F74D94B4664 -:10442000002BA5D0684600F0B7F8002076E7102AE8 -:1044300000D972E7102203681A4245D120AB180058 -:10444000984600F0B3F800230120B16B02009A40B7 -:10445000144204D045460F689A00AF50043101332E -:10446000042BF3D14046B16300F09EF8002055E7DD -:104470003B19102B00D950E70F2F00D94DE700232F -:104480009946012233681A4230D14B46002B5AD04C -:10449000042233681A4242D1012D47D00F2F06D88B -:1044A00020AB180000F076F84B46002B8AD0684607 -:1044B00000F074F81023DB1B87E7102BDFD91022E4 -:1044C000524291469944DCE793430360D130FF3078 -:1044D00000F06CF8B2E7043120A8B16300F054F8A2 -:1044E00000201BE74B46002B84D193E71900914332 -:1044F0000A003160052D1ED0032230009343336043 -:10450000483000F043F8C0E720A800F041F886E703 -:10451000934303605130FF3000F044F810E730005F -:1045200093433360D03000F039F8B5E720AB180082 -:1045300000F02CF8BEE7022330001A433260483006 -:1045400000F028F8A1E7012D03D00F2F00D939E79B -:10455000A6E720AB180000F019F833E7011C34314E -:1045600038C9043B9C461D60A646011C20313CC94D -:1045700090469946A246AB46011C0831FCC94168E9 -:104580000068E54600BDC0467047C0467047C0465B -:104590007047C0467047C0467047C0467047C04627 -:1045A0007047C0467047C0467047C0467047C04617 +:10010000FF23F0B5B74C85B023700023637083796B +:1001100005000093407801380E2801D901F0AAFBB0 +:1001200004F03AFD0F00B1059B07A708650AA80B6C +:10013000930B2D09D509380A620AE508F708090961 +:100140001B09A878AA888C2319281CD804F024FD40 +:1001500024002C0022011E02EA0289031804D404A0 +:10016000F004FC0404050C0515051E052C053405DA +:100170003C0544051A001A001A0049055E0575057C +:10018000D202DE0200232370974B0098A2B2240C07 +:100190005A819C8105B0F0BDB023944A5B0351693C +:1001A0000B4353610023EEE7152A01D900F05CFDF3 +:1001B000100004F0F1FC160023002E005905390050 +:1001C00044004F0059055C00690073008000590528 +:1001D00059058D009A00A700B400C100CE00D800D8 +:1001E000E2009023DB051A6881490A401A608022E8 +:1001F000D96852030A43DA600023C4E7902301223E +:10020000DB05196891431960D9680A43DA60002355 +:10021000B9E790230422DB05196891431960D96876 +:100220000A43DA600023AEE790231022DB05196849 +:1002300091431960D9680A43DA600023A3E7902349 +:100240004022DB05196891431960D9680A43DA60D6 +:10025000002398E79023DB051A6866490A401A6074 +:100260008022D968D2040A43DA6000238BE7902306 +:10027000DB051A6860490A401A608022D968520179 +:100280000A43DA6000237EE704225C4B196891433D +:100290001960D9680A43DA60002374E79023DB050C +:1002A0001A6857490A401A608022D968D2050A4361 +:1002B000DA60002367E79023DB051A6851490A409A +:1002C0001A608022D968D2020A43DA6000235AE712 +:1002D0009023DB051A684C490A401A608022D968CD +:1002E00052000A43DA6000234DE79023DB051A68C9 +:1002F00046490A401A608022D968D2000A43DA606F +:10030000002340E79023DB051A6841490A401A6040 +:100310008022D968D2010A43DA60002333E79023B0 +:10032000DB051A6833490A401A608022D968D20472 +:100330000A43DA60002326E79023DB051A68354973 +:100340000A401A608022D96852050A43DA60002305 +:1003500019E70122294B196891431960D9680A43AA +:10036000DA6000230FE710222B4B196891431960C4 +:10037000D9680A43DA60002305E79023DB051A6891 +:1003800022490A401A608022D968D2000A43DA6002 +:100390000023F8E6152A01D900F069FC100004F0EA +:1003A000FBFB16003D004800660453005E00690038 +:1003B000660474007F0089009400660466049F0050 +:1003C000AA00B500C000CB00D600E000EA009023F0 +:1003D000DB051968064801401960DA680240DA60F6 +:1003E0000023D0E6E4060020006000400010024038 +:1003F000FFFFEFFFFFFFFFFBFFEFFFFF00040048E1 +:10040000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF45 +:10041000FFBFFFFFFFFFFFEF000C0048902301210B +:10042000DB051A688A431A60DA688A43DA600023B7 +:10043000A9E690230421DB051A688A431A60DA686A +:100440008A43DA6000239EE690231021DB051A68B8 +:100450008A431A60DA688A43DA60002393E69023BD +:100460004021DB051A688A431A60DA688A43DA6039 +:10047000002388E69023DB051968CE480140196007 +:10048000DA680240DA6000237DE69023DB05196814 +:10049000C94801401960DA680240DA60002372E658 +:1004A0000421C64B1A688A431A60DA688A43DA6004 +:1004B000002368E69023DB051968C14801401960F4 +:1004C000DA680240DA6000235DE69023DB051968F4 +:1004D000BC4801401960DA680240DA60002352E645 +:1004E0009023DB051968B84801401960DA680240BA +:1004F000DA60002347E69023DB051968B348014022 +:100500001960DA680240DA6000233CE69023DB05DC +:100510001968AF4801401960DA680240DA600023C8 +:1005200031E69023DB051968A24801401960DA68BA +:100530000240DA60002326E69023DB051968A5480F +:1005400001401960DA680240DA6000231BE60121ED +:100550009A4B1A688A431A60DA688A43DA60002381 +:1005600011E610219C4B1A688A431A60DA688A43A4 +:10057000DA60002307E69023DB0519689348014001 +:100580001960DA680240DA600023FCE5152A00D918 +:1005900070E3100004F000FB16001F0027006E033C +:1005A0002F0037003F006E034800510058006100E3 +:1005B0006E036E036A0073007C0085008E00970056 +:1005C0009E00A50090228023D20511685B030B4397 +:1005D00013600023D7E590220123D20511680B4355 +:1005E00013600023CFE590220423D20511680B434A +:1005F00013600023C7E590221023D20511680B4336 +:1006000013600023BFE590224023D20511680B43FD +:1006100013600023B7E590228023D2051168DB0424 +:100620000B4313600023AEE590228023D2051168AE +:100630005B010B4313600023A5E504235F4A1168A7 +:100640000B43136000239EE590228023D20511689E +:10065000DB050B431360002395E590228023D20530 +:100660001168DB020B43136000238CE5902280238A +:10067000D20511685B000B431360002383E59022D1 +:100680008023D2051168DB000B43136000237AE559 +:1006900090228023D2051168DB010B4313600023F5 +:1006A00071E590228023D2051168DB040B431360AF +:1006B000002368E590228023D20511685B050B4377 +:1006C000136000235FE501233C4A11680B4313606C +:1006D000002358E51023404A11680B4313600023A0 +:1006E00051E590228023D2051168DB000B43136093 +:1006F000002348E58D23082A00D044E590224023BA +:10070000D20551680B43536000233CE58D23082A32 +:1007100000D038E590224021D20553688B435360C6 +:10072000002330E5152A00D9A7E2100004F034FABE +:1007300016001D002300A50229002F003500A50288 +:100740003C0056005B006200A502A50269006F0034 +:1007500075007B00820089008E0093008022902328 +:10076000D200DB059A6200230DE590230122DB0510 +:100770009A62002307E590230222DB059A62002398 +:1007800001E590230422DB059A620023FBE4902319 +:100790000822DB059A620023F5E48022902392016F +:1007A000DB059A620023EEE490234022DB059A6287 +:1007B0000023E8E4FFFFFFFBFFEFFFFF000400481A +:1007C000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF82 +:1007D000FFBFFFFFFFFFFFEF000C00480222CF4BDF +:1007E0009A620023CFE4802290231202DB059A62F2 +:1007F0000023C8E4802290239200DB059A62002344 +:10080000C1E490231022DB059A620023BBE490230D +:100810002022DB059A620023B5E490238022DB05C9 +:100820009A620023AFE4802290239201DB059A6252 +:100830000023A8E480229023D201DB059A620023E2 +:10084000A1E40122B54B9A6200239CE40422B44B3C +:100850009A62002397E490232022DB059A6200230A +:1008600091E4152A00D90BE2100004F095F9160066 +:100870001D002300090229002F00350009023C0059 +:10088000420047004E000902090255005B0061006A +:1008900067006E0076007C00820080229023D200E8 +:1008A000DB059A6100236EE490230122DB059A6147 +:1008B000002368E490230222DB059A61002362E4AE +:1008C00090230422DB059A6100235CE49023082234 +:1008D000DB059A61002356E4802290239201DB0518 +:1008E0009A6100234FE490234022DB059A610023A4 +:1008F00049E40222894B9A61002344E48022902338 +:100900001202DB059A6100233DE4802290239200CD +:10091000DB059A61002336E490231022DB059A61FF +:10092000002330E490232022DB059A6100232AE48F +:1009300090238022DB059A61002324E48022902307 +:100940009201DB059A6100231DE480229023D201ED +:10095000DB059A610023FFF716FC01226F4B9A61B9 +:100960000023FFF710FC04226D4B9A610023FFF770 +:100970000AFC90232022DB059A610023FFF703FC89 +:1009800002236370152A00D9B1E0100004F0F0F8DA +:100990000B151EAF273039AF434C545DAFAF6770B6 +:1009A00079828C969EA690238022DB051B69D2005B +:1009B000134063800023FFF7E6FB90230122DB0551 +:1009C0001B69134063800023FFF7DDFB90230222A5 +:1009D000DB051B69134063800023FFF7D4FB9023E2 +:1009E0000422DB051B69134063800023FFF7CBFB68 +:1009F00090230822DB051B69134063800023FFF767 +:100A0000C2FB90238022DB051B69920113406380A7 +:100A10000023FFF7B8FB90234022DB051B6913403E +:100A200063800023FFF7AFFB02223C4B1B6913409E +:100A300063800023FFF7A7FB9023DB051B69DB0B1B +:100A4000DB0363800023FFF79EFB90238022DB05FE +:100A50001B699200134063800023FFF794FB9023EF +:100A60001022DB051B69134063800023FFF78BFB1B +:100A700090232022DB051B69134063800023FFF7CE +:100A800082FB90238022DB051B69134063800023D7 +:100A9000FFF779FB90238022DB051B69920113404D +:100AA00063800023FFF76FFB90238022DB051B6927 +:100AB000D201134063800023FFF765FB0122174B2F +:100AC0001B69134063800023FFF75DFB0422144B76 +:100AD0001B69134063800023FFF755FB90232022FE +:100AE000DB051B69134063800023FFF74CFB0023E9 +:100AF00063708D33FFF747FB80230A4ADB0251699D +:100B00000B435361054B08491A680A401A60D968BB +:100B1000064A0A43DA600023FFF735FB0004004869 +:100B2000000C004800100240FFFFAAAA0000555523 +:100B3000EF4BF0491A680A401A60D968EE4A0A4336 +:100B4000DA600023FFF71FFBE94AEA4913680B400C +:100B500013600023FFF717FBE54AE74B11680B43CF +:100B600013600023FFF70FFBE14912024B69DBB270 +:100B70001A434A610023FFF706FBDD4B1B691B0A82 +:100B8000A370012363700023FFF7FDFA8023DB4A83 +:100B90001B0351690B435361D94ADA4B11680B436C +:100BA00013600023FFF7EFFAD54AD64BD1680B4309 +:100BB000D3600023FFF7E7FAD14AD34913680B400B +:100BC00013600023FFF7DFFACD4ACE4B11680B43C9 +:100BD00013600023FFF7D7FAC94B5A610023FFF7D0 +:100BE000D2FAC023C54ADB0251690B435361C04AA4 +:100BF000C64B11680B4313609022A023D2051168E5 +:100C00005B030B4313600023FFF7BDFAB84ABF4BE9 +:100C1000D1680B43D3609023A021DB05D86849033A +:100C20000143D9601168BA48014011601A68B94996 +:100C30000A401A600023FFF7A6FAFF25AC4893008C +:100C400041692B40B44DD20029400B4343619021B0 +:100C5000C020C905C0004B690240B04803401A4398 +:100C60004A610023FFF78FFA8D23FFF78CFA8D235B +:100C7000FFF789FA8D23FFF786FA8D23FFF783FAB2 +:100C80008D23FFF780FAAA88AD78032D00D10BE100 +:100C900055D8012D63D05ED901F058F8902201217A +:100CA000D20513680B4313601023916111680B4345 +:100CB000136004234021936113680B4313600823DE +:100CC00093619161802311685B010B431360802362 +:100CD0008A48DB024169874E0B43854943610B68B3 +:100CE00033400B60CD68844B1D43CD600C683440AD +:100CF0000C60CC682343CB60802344691B032343EF +:100D00007F4C436125687F4B2B4323600023636145 +:100D1000C0244569E4022C4344610C687B482043AD +:100D20000860A020146840032043106048697A4C92 +:100D300020404861516979480140516151E0052DD9 +:100D400052D000D211E1072D00D191E0802D00D1C9 +:100D500030E1962345E000F0F9FF002341E000F088 +:100D6000F5FF9023DB051A682A431A6080229D61F3 +:100D7000196852030A431A6080220421D2009A6241 +:100D80001A685C4D0A431A6002229A6118680E3292 +:100D900002431A604022996119680A431A600822C6 +:100DA0009A618023554ADB0251690B435361504BD2 +:100DB000196829401960DC684F490C43DC601868E9 +:100DC00028401860D8680143D960802351691B030B +:100DD0000B4353614A4A4B4B11680B43136000238A +:100DE00053614F4CFFF7CFF900F0B0FF9022012183 +:100DF000D20513683F4E0B431360102391611168B5 +:100E00000B43136004234021936113680B43136069 +:100E1000082393618023916211685B010B43136087 +:100E200080233649DB02486903434B61304B186825 +:100E300030401860DD6830480543DD601C68344090 +:100E40001C60DC682043D860802348691B0303438F +:100E50004B612B492B4B086803430B6000234B610C +:100E600080211068C9010143116080219162B8E7B7 +:100E700000F06CFF90220121D205136840200B4343 +:100E800013601023916111680B4313600423936175 +:100E90001168014311600821916111680B431360CF +:100EA0000223936190610DE7D2B2022A3ED0002363 +:100EB000032A96D09723012A93D180230F491B033D +:100EC000486903434B610E490B6893430B60CB6841 +:100ED0001343CB604B6813434B608A610B681A4322 +:100EE00000230A600F4A13700F4A116079E7C04669 +:100EF00000040048FFFFAAAA000055550010024058 +:100F00000008004855555555AAAAAAAA50550000F0 +:100F1000AFAAFFFFFFFFEBFF03FF0000FFF9000098 +:100F2000E4060020F0060020EC060020B023B74ABB +:100F30005B03516940200B4353619023DB051A6822 +:100F4000B3490A401A608022D96852011143D9601E +:100F5000596801435960986119680A4308211A6069 +:100F6000AC4A1170AC4A1360F7E6D2B29823012A5A +:100F700000D036E79022A94BD2051A6006220A213A +:100F8000A74B1A70A74BA84A1360A84A1170A84A29 +:100F900001311360A74A1170A74A13600C22A74BB6 +:100FA0001A70B023994A5B0351690B43536100F0F7 +:100FB000F1FDD2E69023012540218026DB056570F6 +:100FC00099621A68760132431A60C04690481C69DB +:100FD0001A680C4002401A60DA680240DA60F022B7 +:100FE000002C37D11A6802401A60DA681643DE60B6 +:100FF0001A6994461A690192C0461A690292C0465B +:10100000C0461A690392C046C046C0461F69C04622 +:10101000C046C046C0461E691A6802401A60DA68B7 +:101020001040D860634622000B4213D1019B2A0076 +:101030000B420FD1029B02320B420BD10B000399E2 +:101040000332194206D104321F4203D105321E4237 +:1010500000D1D1327A4B9A707FE6E978A888AD78D2 +:101060000D2D00D195E023D8062D56D00FD8022D96 +:101070005AD005D8002D4BD0012D52D0A02549E0E3 +:10108000042D74D0052DF9D101F030FE47E0092D73 +:1010900076D007D8072D00D181E0082DEED101F0E0 +:1010A0002BFF3CE00B2D77D06DD901F0A7FE36E089 +:1010B000222D3CD011D8102D74D006D80E2D65D01D +:1010C0000F2DDBD101F07AFF29E0202D52D054D82A +:1010D000112DD3D101F0D6FE21E0822D00D190E078 +:1010E00009D8802D61D0812DC8D10123637001F012 +:1010F000B7FFA07013E0852D00D1ADE0862D00D1A3 +:10110000AFE0842DBAD10123637001F017FEF0E740 +:1011100000F014FD2570FFF737F802F08FF8002576 +:10112000F8E701F027FEFAE701F0EEFCF7E7454BA0 +:10113000902258610223D20593623A4B424D1E68B9 +:10114000090235431D605D6900B2EDB22943596162 +:10115000002801DA01219162C046C0460121916157 +:10116000491891611A6839490A401A60D7E702F0B4 +:101170008BFAD4E7364B1870D1E7364B1880CEE7A0 +:1011800002F03AF8CBE701F049FFC8E702F00CF8AB +:10119000C5E701F0D7FFC2E701F0D0FEBFE701F0DD +:1011A000A9FFBCE701F07CFFB9E701219023617042 +:1011B000DB051D68164E35401D60DA680225324099 +:1011C000DA608022D2009A6299619D611D4D68614A +:1011D000C046C04600B29A61002800DA9962C04653 +:1011E000C046C046C046C046C046902280210D4B36 +:1011F000D205C9001B69916201211B0A9161A3708C +:101200008DE70123637001F0DDFD72E700100240FD +:10121000FFEFFFFFF0060020EC060020040700208F +:101220000807002000040048FC06002000070020FA +:101230000C07002010070020F4060020F80600200C +:10124000E40600200008004800005555FFFFAAAA48 +:10125000880400203404002001236370C14B1B78F4 +:10126000CDE702236370C04B1B88A3701B0AE37099 +:1012700055E7A878E978AB88AA2206281AD803F09F +:1012800077FC042B1C2327332100FF25B7489A0045 +:1012900041692A40B64DDB0029400A434261902152 +:1012A000C020C905C0004A690340B2480240134348 +:1012B0004B6100222270FEF767FF0022180001F048 +:1012C0007FFBF6E70122F9E7180001F0F5FBF0E7F4 +:1012D000180001F0C9FBECE7012200216270180040 +:1012E00001F09EFBA070E4E701216170F7E7AA78A6 +:1012F000002A07D00023012A01D1FEF744FFAF23C3 +:10130000FEF741FF01236370A933A3701300FEF7BA +:101310003AFFAA78002A07D00023012A01D1FEF75C +:1013200032FFB023FEF72FFF01236370A933A370B0 +:101330001300FEF728FFAA78002A07D00023012A0D +:1013400001D1FEF720FFB123FEF71DFF01236370DB +:10135000A933A3701300FEF716FFAA78002A07D05E +:101360000023012A01D1FEF70EFFB223FEF70BFF87 +:1013700001236370A933A3701300FEF704FFEA781A +:10138000A988AD78112D00D19AE007D8012D6BD036 +:10139000002D0FD0022D7CD08225BBE6212D00D15F +:1013A00084E0222D00D187E0122DF5D102231020F8 +:1013B000637088E0012631006F4D704F2A783B68DA +:1013C000914099625A6810208A435A6001F082FC69 +:1013D00031002B783A6899400B00FA270425916177 +:1013E00051687F000B4353600196380001F072FC96 +:1013F000614A01991278614E9140336838009962D0 +:101400005A68013D8A435A6001F064FC5A4B0199C5 +:101410001B78326899400B0091615168ADB20B4363 +:101420005360002DE1D1FA270435380001F052FC59 +:101430000121514A514E12783368914099625A689D +:1014400038008A435A6001F045FC01214A4B32685A +:101450001B78013D99400B0091615168ADB20B437F +:101460005360002DE1D155E62900434E434F3278B9 +:101470003B68914099625A6810208A435A6001F093 +:1014800029FC32783B6895409D615A6815435D6040 +:1014900045E60123384A6370127839499340374A48 +:1014A0009BB21268002002F07BFA22E601230020A2 +:1014B000637001F05FFB1CE6012310206370F8E706 +:1014C00002230020637001F0AFFB608027E6AB7859 +:1014D000AA88042B1DD007D8022B1FD024D8012B9B +:1014E00012D08723FEF74FFE072B26D003D8052BFB +:1014F000F7D1244B16E0082B24D0802BF1D100F03B +:1015000049FB0023FEF73FFE1F4A1278A27063706A +:10151000F7E71E4B1B78A3700123F8E71A4B1A70EC +:1015200083221A4B1A70ECE7174B184D1A7083235D +:101530002B7000F09FFB2B78EDE7154B1A70120A09 +:101540005A70DEE7124B1A78A2705A78E2709A78D5 +:101550002271DA7862711A79A2715B79E3710623DC +:10156000D5E7C04688040020340400200004004869 +:1015700003FF0000FFF90000F0060020EC06002049 +:1015800004000200D1040020B0040020D204002096 +:10159000B1040020AB78AA88022B18D0032B19D0F5 +:1015A000012B1ED1024885460248001C0047C04658 +:1015B00078120020C5CAFF1F0600050008000700BA +:1015C00019C9FF1FEFBEADDE0023FEF7DCFDBD4BEA +:1015D0001A60F9E7BB4B18680004104302F0DEF90B +:1015E000F2E78A23FEF7CFFD8823FEF7CCFDAA7829 +:1015F0001300303B2F2B1CD8E878032816D803F0B3 +:10160000B7FA18021113B04B512A00D183E029D840 +:10161000312A5BD00FD8002A39D0302A4FD0B423DA +:10162000FEF7B1FDA94BEFE7A94BEDE7B523FEF7B8 +:10163000AAFDA84BE8E7332A56D04ED3502AEED164 +:1016400000222270063262701A7AA270DA78E27092 +:101650005A7A22719A7A62719A78A2715B7CE371EC +:10166000FEF792FD7F2A00D989E0702A63D2602AB2 +:101670003FD0612A47D0522AD1D100221B88227044 +:10168000A37002321B0A6270E370FEF77DFDFF2338 +:10169000914953540132102AFBD18B4A8D49D370A2 +:1016A00093708B4ACB70D370937001228B708749F3 +:1016B000CB708B70894B1A700023FEF764FDAA88EB +:1016C000110AD9721A730023FEF75DFDAA88110A68 +:1016D00059739A730023FEF756FDAA88110AD9732D +:1016E0001A740023FEF74FFDAA885A740023FEF7F0 +:1016F0004AFD0023237001336370AB88764AD35CC4 +:10170000A370FEF741FD0023237001336370744B17 +:101710001B68DB78F4E70022227006326270DA7A06 +:10172000A2701A7BE2705A7B22719A7B6271DA7B1B +:10173000A2711B7C93E7674B69495C682B787F2B10 +:1017400000D99AE06846674B007818700B68D87823 +:1017500000280DD000230093982805D195E00023A0 +:101760000093D02800D190E010205C4B187003E06B +:101770005D4803609020D870FF23009385E0072028 +:10178000104003281AD803F0F3F91C021E174E4B21 +:10179000802A01D2FEF7F8FC872A16D97032D2B21D +:1017A000072A01D9FEF7F0FC00222270EA789A722B +:1017B000AA881A80FEF7E8FC454BE9E7B523FEF757 +:1017C000E2FC444BE4E7414BE2E7A888E978C6B283 +:1017D0008D19BE22102D00DD6CE50432002900D1E8 +:1017E00068E5DD78033AFF2D00D063E59D7801328E +:1017F000FF2D00D05EE50022374DD7B2B9421CD88C +:101800004F01013F1F727701BC460022374F000A8B +:1018100067449870DA705A729A721A80DA721A7380 +:101820005A739A73DA731A745A745F60AD19A854B4 +:101830000132D3B29942FAD83BE50132B718013FE1 +:10184000EF5DFF2FD9D0C12234E5AB78002B04D057 +:10185000402B08D0D223FEF796FC2370AA881F4B9A +:101860001A70FEF791FC00232370013363701B4B49 +:101870001B7845E78023FEF786FC0B68D878D828CC +:1018800000D06CE780205C68D8700B68002159722A +:10189000DB78902B01D0FEF777FC712A01D0FEF7A0 +:1018A00073FC114BA9881A68526811701A68516844 +:1018B000AA88120A4A701A68537A02335372FEF7E2 +:1018C00063FCC046300400204C040020600400206B +:1018D0007404002038040020D30400209004002069 +:1018E0008C0400201807002014070020E4040020C6 +:1018F000F0B5404B8BB0089119783F4B09921B789B +:10190000019002933D4B019D1C683D4B3D481A7868 +:1019100001231E0096403C4AA662102D5ED112782B +:1019200000689340836201200200364B05901F68D7 +:10193000354B1B789A4003920200344B1B68069388 +:10194000334B1B789A4093B202000793314B1B68CC +:101950009C46314B1B789A40002304921A00019850 +:10196000202806D1029D05981D4105423ED00398CE +:10197000B861089820280FD1002B01D11E4883544C +:10198000069805690798054206D01B48855C0598AE +:10199000984005431848855409980139C9B2002870 +:1019A00002D0002900D1A6616046049D0133DBB25C +:1019B00085618562082B05D101320F4BD2B29B5C49 +:1019C000029300230029CAD10E4B1A680E4B1978D6 +:1019D00001238B409362A6620BB0F0BD019D112DD7 +:1019E000A1D112780068934083619CE70398B862A4 +:1019F000BFE7C046D1040020B10400200C0700203E +:101A000010070020FC06002000070020040700202B +:101A100008070020F4060020F8060020F7B51F4B49 +:101A20001F491A781F4B10282ED101241E780D68EB +:101A3000B440AC62012635000C6831001B78019679 +:101A40009D40194B1B680093184B1B78994000234D +:101A50008C46190020280DD1154E019F765C1E4141 +:101A60003E4219D0A5610133DBB2082B02D100231D +:101A70000131C9B26646009F013AD2B2BE61BE6270 +:101A8000002AE7D1A562F7BD1128D3D101241E7821 +:101A90000D68B440AC61CDE7A562E4E7D104002055 +:101AA0000C07002010070020F4060020F806002094 +:101AB000B1040020F7B50D001600FF27000203B2A5 +:101AC0004C7A01932A7AE3B2A24202D26B720020CE +:101AD000FEBD20006A683840D15C019B0134184388 +:101AE00080B2B047A4B2EDE7022907D10F4B104AEC +:101AF000984218D0904209D1180007E0032906D176 +:101B00000A4B0B490B4A98420BD108007047042935 +:101B1000FCD1064B064A984205D006499042F4D0C3 +:101B2000054A8842E6D11000F0E7C046380400209C +:101B30004C0400206004002074040020104B114A63 +:101B400010B558611068104B0902034313605369C4 +:101B50000E4CDBB21943902351618021DB051868DC +:101B600049010843186040209862186820401860B6 +:101B7000D8680143D960136805490B40136010BD54 +:101B8000000800480004004800005555FFEFFFFF23 +:101B9000FFFFAAAAF0B52C4B85B019682B4B2C4837 +:101BA0001B7800780193012302901E0018001F008B +:101BB000019A029C9640A040264D274A2D78126833 +:101BC000AF408E628446906224489D4000688762E0 +:101BD000046803941C00AC402500039C2543056069 +:101BE0004568019CBD4345609C401D00A5400868B8 +:101BF0001C00284308604868B04348601068029998 +:101C000099408C4021000143604611605168814336 +:101C1000134851600078134A984083401268124874 +:101C2000116899431160D1680B43D36080220F4B38 +:101C30001A70002319000E4A13701A18013311701C +:101C4000202BFAD105B0F0BD0C07002010070020B2 +:101C500000070020F8060020FC060020F406002003 +:101C60000807002004070020B1040020D20400204F +:101C7000D104002010B5334B1B78082B5DD016D84B +:101C8000314C032B44D007D8012B2DD0022B31D05F +:101C9000EE222D4B1A7023E0062B44D049D8042B9A +:101CA000F6D18123012223702021112027E00F2B60 +:101CB00034D008D8244C0D2B25D00E2BE8D181230D +:101CC0000022237027E0802B08D01F4CFF2B08D068 +:101CD000102BDDD181230022237027E0FFF75AFF6C +:101CE00010BDF0232370FBE7812320202370FFF732 +:101CF00095FE06E081230122002123702020FFF7BA +:101D0000F7FD8223EEE78123002223701100F5E71F +:101D100081230122237020211020F0E781230A4C27 +:101D200000222370C0E781230122237020210800B4 +:101D3000E5E7812310202370D9E78123024C11208D +:101D40002370D4E7B0040020D2040020BC2347490C +:101D5000DB038A6AF0B513438B628B6A444A012421 +:101D600013408B6290238022DB051868D201024366 +:101D70001A6080229A61B0224869520302434A6184 +:101D80001A683C483C4F02401A608022D8685203CF +:101D900002430420DA601A68A2431A60DA68224318 +:101DA000DA601A6882431A60DA680243DA60102245 +:101DB0001D6895431D60DD682A43DA6040221D6876 +:101DC00095431D60DD682A43DA601A682B4D2A406E +:101DD0001A608022DD68D2042A43DA601A68284D2E +:101DE0002A401A608022DD68D2052A43DA601A6828 +:101DF000244D2A4080251A60DA68ED022A43DA6011 +:101E0000214A1668A6431660D6683443D4601E681B +:101E10003E401E60DC683C40DC6080234C691B0354 +:101E200023434B61194B1A4C1E681A4F26431E6000 +:101E30001E683E401E60DE683443DC604B691D4313 +:101E40004D611368144D2B401360D468134B1C4331 +:101E5000D460116829401160D1680B43D3601368C6 +:101E600083431360D3681843D060F0BD0010024074 +:101E7000FFFFA1FFFFFFEFFFFFEFFFFFFFFFFFFBF4 +:101E8000FFFFFFBFFFFFFBFF000400480008004802 +:101E900055555555AAAAAAAAFFFFAAAA000055554A +:101EA0009022D34B12031968F0B50A431A608022BE +:101EB00089B0920219681142FCD0012259680A4384 +:101EC0005A608022596852020A435A608022596837 +:101ED00052030A435A608022196852040A431A6066 +:101EE0008022920419681142FCD01121C14AC24CCF +:101EF00011605A680E398A43110002220A435A605F +:101F00008022196B0A431A638022D96912040A439A +:101F1000DA61BA4BE381BC231B689847B84B6382F4 +:101F2000B84B238262B6FFF711FFF022B64B1A704E +:101F3000B64E2023327811009943D2292ED1B449CC +:101F4000B448C978C3780224FF2904D1FF3B1C00A0 +:101F5000631E9C41E4B2B04BDB78FF2B00D003241E +:101F6000AE4BDB78FF2B00D00424AD4BAD4F1C7083 +:101F70003860D22A12D10023012505E02100FFF7A5 +:101F8000B3FD01230135EDB2A542F7D3002B00D0FC +:101F9000386080223B68DA70D02333703378F22BBC +:101FA00005D10022023B33709E4B1B68DA703578F6 +:101FB000D02D01D000F0A0FC9A4E3068C378802B61 +:101FC00001D000F099FC964B1978FFF78DFD0023A6 +:101FD00030600400C57006884372C07AF5B21038CC +:101FE000152801D900F086FC02F0D6FD52008A00C7 +:101FF000D200D60084048404840484048404840409 +:102000008404840484048404840484041600250065 +:1020100036003B0041004B00E17BC4230F2901D96E +:1020200000F069FC09013143237AA278C9B26068E3 +:1020300001F0C0FA0EE0E17B3C230A009A438833AA +:10204000002A01D000F057FC237AA2782943606867 +:1020500001F0E6FA607292E0237AA278E17B2943EC +:10206000E5E7E17B3F230A009A438533E8E7227ADC +:10207000E17BA378009200222943606801F05CFABA +:10208000E8E7E17B227AA378294300920122F4E772 +:10209000E37B1E2B0BD1C020B6092233F1B2000224 +:1020A0009D4300F031FD237AA2788021D7E71C2BD5 +:1020B0000FD1A0208121C00100F026FD8020F6096B +:1020C000F1B2000200F020FDA0200021C00100F0CC +:1020D0001BFD8021E27B49421F2A05D00D43EDB252 +:1020E000237AA2782900A2E77022A02095430D430D +:1020F0002188C0010909C9B2EDB200F005FDEFE782 +:10210000E37BFE2B3BD17609F1B2474800F032FE6B +:102110001F21464B0D405A692D02D2B21543802132 +:102120009022C900D205A0786768267A5D61916126 +:102130000121FF259162033191625A692D022A40E3 +:1021400002435A61C0463A4900228C46C046614665 +:1021500009690130090AB9545969C0B229400132EC +:102160000143D2B259619642F0D290230421DB059B +:1021700099618021C9009962012199616272294B9C +:102180001B6819889A7A52181A80D822DA70B3E339 +:10219000237AA278602162E7E37B002B20D1803391 +:1021A000F6091D43F3B20293FF20029B20499B00D6 +:1021B0004A6903401F48024013434B61C0209021ED +:1021C000029BC905C000DB004A6903401A4802406F +:1021D00013434B61227AA3782900009200224CE736 +:1021E000012BE1D14021B604B60E31430291DBE769 +:1021F0000010024000200240006000403CA5FFFFAC +:102200008532000801010008D2040020900400205B +:102210004C040020380400206004002074040020D6 +:10222000110700208C040020FF3F00000008004838 +:102230000004004803FF0000FFF90000E37B002BCF +:102240000BD13300803B657A5BB21B02AFB20393C4 +:10225000237ABB4200D3EBE06572E37B012B06D10E +:1022600030008038C0B2DC4A2100FFF723FCE37B5A +:10227000032B06D130008038C0B2D84A2100FFF7C6 +:1022800019FCE37B042B06D130008038C0B2D44A5D +:102290002100FFF70FFCE37B0A2B06D130008038CA +:1022A000C0B2D04A2100FFF705FCE37BFD2B15D11E +:1022B0003F20238830409B0904936B4680261B7C7B +:1022C00006430693677ABBB2039333021BB20793AC +:1022D000237A039A934200D3C9E06772E37B1E2BF3 +:1022E00011D13F2030408026238806439B09DBB272 +:1022F0000593657A33021BB2AFB20693237ABB42D1 +:1023000000D3FCE06572E37B0C2B17D11F2030401B +:1023100080260643C0202588A5216D09EDB2C001A5 +:1023200000F0F2FB2900B04800F0EEFB677A3502BE +:102330003D43237ABB4200D330E16772E37B1C2B21 +:102340003BD1A02023888121DB09DBB2C0010493AB +:1023500000F0DAFB80200499000200F0D5FBA020F9 +:102360005421C00100F0D0FB677AAA21BBB29F487C +:10237000039300F0C9FB55219D4800F0C5FB2021C7 +:102380009A4800F0C1FB802333431B021BB2069323 +:10239000237A039A934200D33CE1802090210002EB +:1023A000677200F0B1FB80200021000200F0ACFB5E +:1023B0008020F021000200F0A7FBE37B1F2B30D12F +:1023C000A0202188C0010909C9B200F09DFBAA2103 +:1023D0008648657A00F098FB5521854800F094FB0B +:1023E0008248202100F090FB702380209E434042D1 +:1023F000304340B20302AFB20493237ABB4200D30E +:1024000050E1802090210002657200F07DFB802069 +:102410000021000200F078FB8020F021000200F093 +:1024200073FBF4232288E370A37A9B18238083E252 +:10243000039863682843595D80B200F0DDFE63684D +:102440005A5D6C4B824206D004211A680A431A6016 +:1024500002229A61FCE604211A6801358A431A6057 +:10246000DA6801370A43DA60EDB2BFB2F0E6002164 +:10247000614800F049FBAA21604800F0DFFE5521C9 +:102480005F4800F0DBFEA0215C4800F0D7FE6B4601 +:10249000187C5C4B0699C01880B200F035FB079D94 +:1024A00063683D43ADB2D95D280000F0C7FEC04669 +:1024B000280000F0D5FD0590280000F0D1FD059B17 +:1024C0008342F4D163680599DA5D4A4B8A420FD1A1 +:1024D000039A1968013292B203920422914319605F +:1024E000D96801370A43DA600222FFB29A62EFE646 +:1024F000042219680A431A6002229A61E8E6C020A1 +:102500000121000200F000FBAA213F4800F0FCFA84 +:10251000C0200021000200F0F7FA55213B4800F0EE +:10252000F3FAC0200121000200F0EEFAA0213648A3 +:1025300000F0EAFAC0200599000200F0E5FA069BD7 +:102540002B439BB2039363680398595D00F0DCFA58 +:10255000C046039800F084FD0490039800F080FDCD +:10256000049B8342F4D1636804995A5D214B8A42EB +:102570000DD104221968013591431960D9680137DA +:102580000A43DA600222EDB2BFB29A62B6E60422D2 +:1025900019680A431A6002229A61AFE6AA211C4810 +:1025A00000F0B2FA5521194800F0AEFAA0211848FF +:1025B00000F0AAFA63682800D95D00F0A5FAC046C9 +:1025C000280000F04DFD0390280000F049FD039B1A +:1025D0008342F4D1ADE6C046A93100084531000878 +:1025E000F5300008A1300008FFFF0000AA8A0000B3 +:1025F000558500000004004869FD000055550000A5 +:10260000AA2A000069FDFFFF55950000AAAA000054 +:1026100055D50000A0205421C00100F075FA069D98 +:10262000A0213D43ADB2280000F06EFA6368280097 +:10263000D95D00F069FAC046280000F011FD059050 +:10264000280000F00DFD059B8342F4D16368059AD4 +:10265000DB5DC04D93420FD1039B2A6801339BB2CF +:10266000039304239A432A60EA6801371343EB601B +:102670000223FFB2AB628BE6A0208121C00100F0F3 +:1026800043FA80200499000200F03EFAA020542171 +:10269000C00100F039FA04232A6813432B60022397 +:1026A000AB6175E6049EA0212E43B6B2300000F067 +:1026B0002BFA63683000595D00F026FAC0463000FE +:1026C00000F0CEFC0390300000F0CAFC039B834274 +:1026D000F4D1636803995A5D9E4B8A420DD104215F +:1026E0001A6801358A431A60DA6801370A43DA60EA +:1026F0000222EDB2BFB29A627FE604211A680A4351 +:102700001A6002229A6178E6E37B002B04D1924A98 +:1027100021003000FFF7CEF9E37B012B04D18F4A73 +:1027200021003000FFF7C6F9E37B022B04D18C4A6D +:1027300021003000FFF7BEF9E37B042B04D1894A66 +:1027400021003000FFF7B6F9E37B0A2B04D1864A5B +:1027500021003000FFF7AEF9E37B0B2B04D1834A55 +:1027600021003000FFF7A6F9E37BFE2B00D058E6EE +:1027700021887F484909C9B200F0FCFAAA217D48A6 +:10278000657A00F0B3FA55217B4800F0AFFA79483A +:10279000202100F0ABFA1F2030400302AFB20493B7 +:1027A000237ABB420DD265729021002000F09EFA80 +:1027B0000021080000F09AFAF021002000F096FABB +:1027C0002FE6049EA0212E43300000F08FFA6368AC +:1027D0003000595D00F08AFAC046300000F0AEFAD1 +:1027E0000390300000F0AAFA039B8342F4D163689F +:1027F00003995A5D574B8A420DD104211A6801355D +:102800008A431A60DA6801370A43DA600222EDB2BD +:10281000BFB29A62C4E704211A680A431A6002220E +:102820009A61BDE730006030544A2100C0B2FFF722 +:1028300041F9F6E5E37B042B06D130008038C0B2C5 +:102840004F4A2100FFF736F9E37B052B04D14C4AB0 +:1028500021003000FFF72EF9E37B062B06D1300074 +:102860008038C0B2474A2100FFF724F9E37B072BE9 +:1028700004D1444A21003000FFF71CF9E37B002B10 +:102880001CD1FF2580331E4323883248DB09DBB28D +:102890009A0041692A403C4DDB0029400A434261CD +:1028A0009021C020C905C0004A6903403748024052 +:1028B00013434B613000210000F074FDE37B012BDA +:1028C00000D0AEE52388234A2F4851699B049B0E14 +:1028D00001409B000B4390215361C9054B692B4A72 +:1028E00030001A4080239B0013434B61210000F00D +:1028F00059FD96E5C323E370254B1D78F02D1BD1C0 +:10290000244E3468E378982B16D1234B2000197895 +:10291000FFF7EAF800233060C370E07AE570103802 +:102920002678042806D802F02DF989FCEFFE7DFFF9 +:1029300085FF7CFDC323E370184B1B78F02B01D17E +:10294000FFF7F6FA832B01D0FFF7F2FAFFF792F9BF +:10295000FFF7EEFA000400481D300008BD2F000804 +:102960003D2F0008F92E0008852E0008FD2D0008D7 +:10297000FF3F0000AA0A000055050000092B0008CF +:10298000B92A0008692A000803FF0000FFF90000C7 +:10299000900400208C04002011070020D2040020A5 +:1029A000002302000002002A04D1002B01D0802362 +:1029B00018437047DB43511EDBB20A40F3E70000C7 +:1029C000134B10B55861134B13481C680902204380 +:1029D00018605869C0B20143596190210820C905A7 +:1029E0008862002A01D101328A62C046C046C046D0 +:1029F000C046C046C046C046C04690220821D20507 +:102A00009161073991611A6804490A401A6010BD42 +:102A1000000800480004004800005555FFFFAAAA1E +:102A20000F4B58619023DB05002901D101229A62E6 +:102A300004229A62C046C046C046C046C046C04650 +:102A4000C046C046C046C046C046C046C04605490E +:102A500008699A61000A033AC0B29A617047C04699 +:102A6000000800480004004870B504000D00002272 +:102A7000AA210F48FFF7A4FF002255210D48FFF7B8 +:102A80009FFF0022A0210A48FFF79AFF0022290099 +:102A90002000FFF795FF00212000FFF7C1FF050090 +:102AA000C04600212000FFF7BBFF8542F3D170BD77 +:102AB000AA8A00005585000070B504000D000022B0 +:102AC000AA210F48FFF77CFF002255210D48FFF790 +:102AD00077FF0022A0210A48FFF772FF0022290099 +:102AE0002000FFF76DFF00212000FFF799FF050090 +:102AF000C04600212000FFF793FF8542F3D170BD4F +:102B000055550000AA2A00009023DB0530B51C684B +:102B1000134D09022C401C60DA68124C2A40DA601E +:102B2000114A506102229A62104A00B215682C4381 +:102B300014605469E4B2214351618021C900996154 +:102B4000002801DA01209862C046C046996201213E +:102B5000996149189961136805490B40136030BDAC +:102B6000FFEFFFFF00005555000800480004004833 +:102B7000FFFFAAAAF7B501230225294F01923A784F +:102B80000091054393400421A020264E2D049BB2C2 +:102B900029433268C00100F003FF040001283DD141 +:102BA0003B7809209C4005437830A3B23268290065 +:102BB000FF3000F0F5FE040001282FD13B78326889 +:102BC0009C402900A3B2002000F0EAFE0400012886 +:102BD00024D1009B180AFFF7E3FE3B7832689C4043 +:102BE0002900A3B200F0DCFE0400012816D16B46D8 +:102BF0001878FFF7D5FE22003B7829009A4093B25F +:102C0000326800F0CDFE0198FFF7CAFE3B783268CB +:102C10009C402900A3B200F0C3FE0400E0B2FEBD58 +:102C2000F0060020EC060020F7B501230225274F0F +:102C300000903A780191054393400421C020244E2E +:102C40002D049BB229433268800100F0A9FE0400E4 +:102C5000012838D109231D433B78C0209C403268AD +:102C6000A3B22900400000F09BFE040001282AD1F5 +:102C70003B7832689C402900A3B2002000F090FE0F +:102C8000040001281FD1019B180AFFF789FE3B7839 +:102C900032689C402900A3B200F082FE04000128A3 +:102CA00011D16B461879FFF77BFE22003B789A40E2 +:102CB00093B2009A14430922E1B209041143326825 +:102CC00000F06EFE0400A0B2FEBDC046F00600207B +:102CD000EC0600200023800080B2834200D17047C0 +:102CE000C046C04601339BB2F7E700000F4B30B53A +:102CF0009022586180230124D205DB0093620C4BA3 +:102D000094621D680B480902284318605869C0B2D4 +:102D100001435961C04608219162C046916119681A +:102D2000054801401960946130BDC0460008004864 +:102D30000004004800005555FFFFAAAA0B4B10B530 +:102D400080215861902301220424DB05C900996188 +:102D50009A629C62C046C046C046054800699C61B4 +:102D6000000A9962C0B29A6110BDC04600080048CE +:102D7000000400480E4B984202D880231B021843DF +:102D80000C4B0D4A58610D4B0902186802431A603A +:102D90005A69D2B211435961C04690220821D20526 +:102DA0009162C04691611A6805490A401A607047ED +:102DB000FF1F0000000800480000555500040048AF +:102DC000FFFFAAAA0A4B984202D880231B0218438D +:102DD000084B042258619023DB059A62C046C04626 +:102DE000C046C046044908699A61000AC0B27047EB +:102DF000FF1F00000008004800040048F8B5050067 +:102E00000E001C4F1C4B38882021203080B21C78CB +:102E1000FFF77AFEAA211948FFF7ACFF3888102186 +:102E2000103080B2FFF770FE55211548FFF7A2FF62 +:102E300038882021203080B2FFF766FEA0210F489D +:102E4000FFF798FF24013888E4B2001980B221000E +:102E5000FFF75AFE31002800FFF78CFF2800FFF72C +:102E6000B1FF0400C0462800FFF7ACFF8442F5D153 +:102E7000F8BDC04634040020880400205515000029 +:102E8000AA0A000070B50400B0200E0000020A215A +:102E9000FFF73AFEC0200A210002FFF735FEAA2103 +:102EA0001248FFF767FF55211148FFF763FFA02184 +:102EB0000E48FFF75FFFB0200E4D00022978FFF7A4 +:102EC00023FEC02029780002FFF71EFE31002000FB +:102ED000FFF750FF2000FFF775FF0500C0462000F8 +:102EE000FFF770FF8542F5D170BDC0465515000053 +:102EF000AA0A00008804002070B504000D000D48E7 +:102F0000AA21FFF737FF55210B48FFF733FFA02118 +:102F10000848FFF72FFF29002000FFF72BFF2000B4 +:102F2000FFF750FF0500C0462000FFF74BFF85422A +:102F3000F5D170BD55150000AA1A000070B5040047 +:102F40000D001A4E02213088023080B2FFF7DCFDFE +:102F5000AA211748FFF70EFF30880121013080B207 +:102F6000FFF7D2FD55211348FFF704FF30880221F7 +:102F7000023080B2FFF7C8FDA0210D48FFF7FAFE2E +:102F80000D4B30881978401880B2FFF7BDFD29003D +:102F90002000FFF7EFFE2000FFF714FF0500C046FA +:102FA0002000FFF70FFF8542F5D170BD34040020EB +:102FB00055150000AA0A00008804002070B504001E +:102FC000A0200D000002022100F05EFBAA211048A3 +:102FD000FFF7D0FE55210F48FFF7CCFEA0210C488B +:102FE000FFF7C8FEA0200C4B0002197800F04CFB44 +:102FF00029002000FFF7BEFE2000FFF7E3FE0500DA +:10300000C0462000FFF7DEFE8542F5D170BDC04608 +:1030100055150000AA0A00008804002070B50400BD +:103020000D000D48AA21FFF7A5FE55210B48FFF71B +:10303000A1FEA0210848FFF79DFE29002000FFF710 +:1030400099FE2000FFF7BEFE0500C0462000FFF7F6 +:10305000B9FE8542F5D170BD55150000AA0A0000E1 +:103060000D4B802258619023D200DB0500B29A619B +:10307000002801DA01229A62C046C046C046C04616 +:10308000064B802218699023D200DB059A62012248 +:10309000000AC0B29A617047000800480004004866 +:1030A00070B504000D001048AA21FFF72DFD552131 +:1030B0000E48FFF729FDA0210B48FFF725FD290049 +:1030C0002000FFF721FDA020094B00021978FFF72F +:1030D0001BFD2000FFF7C4FF0500C0462000FFF7DE +:1030E000BFFF8542F5D170BDAAFA000055F500007A +:1030F0008804002070B504000D001048AA21FFF7D5 +:1031000003FD55210E48FFF7FFFCA0210B48FFF7F8 +:10311000FBFC29002000FFF7F7FC802000210002C3 +:10312000FFF7F2FC2000FFF79BFF0500C0462000E0 +:10313000FFF796FF8542F5D170BDC04655D500001A +:10314000AAAA000070B504000D00134E00213088BB +:10315000FFF7DAFCAA211148FEF7F0FC55211048D0 +:10316000FEF7ECFCA0210D48FEF7E8FC0D4B308883 +:103170001978401880B2FFF7C7FC29002000FEF73D +:10318000DDFC2000FFF76CFF0500C0462000FFF7C4 +:1031900067FF8542F5D170BD34040020555500000D +:1031A000AA2A00008804002070B50400C0200D0089 +:1031B0000002052100F068FAAA210D48FFF7A4FCDF +:1031C00055210C48FFF7A0FCA0210948FFF79CFC03 +:1031D00029002000FFF798FC2000FFF741FF0500C1 +:1031E000C0462000FFF73CFF8542F5D170BDC046C8 +:1031F00055550000AAAA000070B504000D000D4846 +:10320000AA21FEF79BFC55210B48FEF797FCA02155 +:103210000848FEF793FC29002000FEF78FFC2000F1 +:10322000FFF71EFF05002000FFF71AFF8542F6D1C9 +:10323000280070BD55550000AA2A00000D4B0E4A0B +:1032400058610E4B0902186802431A605A69D2B2DB +:103250001143902259618021D20510684901014330 +:1032600011604021916291611A6805490A401A6013 +:103270007047C0460008004800005555000400484B +:10328000FFFFAAAA70B50F4C2268537A55685A18E6 +:10329000D2B293420FD122680B48537ACB185372A3 +:1032A0000378591AC9B201700020814202D19823D3 +:1032B0000130D37070BD06780130EE540133DBB2BB +:1032C000E7E7C0461407002018070020284B10B578 +:1032D0001A88284B12041B881A43274B198849085F +:1032E0004900885A254908801988023189B2198015 +:1032F000198849084900885A2149088019880231EB +:1033000089B21980198849084900885A1D490880DE +:1033100019881D48023189B2198019884908490065 +:10332000895A1A4A11801A881949023292B21A80AF +:103330001C880288944213D902881C880832121B08 +:1033400092B20A80028892B21A801249124B0A88FD +:103350001343124A1A40302353409BB20B8010BDD6 +:103360000F4804881A889442E6D308230B80ECE7C0 +:103370000C6000400A600040046000404C60004067 +:103380004E600040506000400260004052600040CB +:103390001A600040005C00408080FFFFBF8FFFFF8D +:1033A00000600040F7B504000E004D7AC046C046EC +:1033B000C046C046C046C046C046C046C0460022C1 +:1033C000AA215848FFF7FCFA002255215648FFF77A +:1033D000F7FA2402002220215248FFF7F1FA23B223 +:1033E0000193EBB20093337AAB4217D26B46802045 +:1033F0001B780022737290210002FFF7E1FA00228D +:10340000802011000002FFF7DBFA80200022F0216B +:103410000002FFF7D5FAC0460020FEBD434B444AE8 +:10342000196808200A43FF211A605A690A40A0213E +:1034300009020A435A6190220121D20590629162E9 +:10344000C046C046C046C046FF24906191611A68DC +:1034500038492C400A401A60019B009A1C4373684B +:10346000A4B2995C20000022FFF7AAFAC046C04629 +:10347000C046C046C046C046C046C046C046C0461C +:1034800000212000FFF7CCFA0700C046C046C04626 +:10349000C046C046C046C046C046C0467368009A93 +:1034A0009B5C834217D0C046C046C046C046C0465B +:1034B000C046C046C046C04600212000FFF7B0FA13 +:1034C000B8420BD1C046C046C046C046C046C04602 +:1034D000C046C046C0460135ADB282E7C046C046D0 +:1034E000C046C046C046C046C046C046C046C046AC +:1034F000C046C046C046C046C046C046C046C0469C +:10350000C046C046C046C046C046C046C046C0468B +:10351000C046C046C046C04600212000FFF780FAE2 +:103520000700C9E7AA8A000055850000000400488A +:1035300000005555FFFFAAAAF0B51C4D040005A8D0 +:10354000067868690902C0B20843686190200421C6 +:10355000C00581622900002A01D101328262FF2563 +:1035600000204A692D022A401A43114F4A61C04681 +:10357000C046C046C046C046C046C046C046C0461B +:10358000C0463A690133120A22544A69DBB22A4022 +:1035900001301A43C0B24A61B042E8D990230422F4 +:1035A000DB059A61033A9A61F0BDC0460008004805 +:1035B00000040048F0B5184C050060690E02C0B266 +:1035C0003043606180269020F600C00549B28661D4 +:1035D000002901DA01218162FF266169360231404A +:1035E00011436161C04600200C4FC0463969013269 +:1035F000090A29546169D2B2314001301143C0B285 +:1036000061619842F1D990238022DB05D2009A6251 +:1036100001229A61F0BDC04600080048000400483D +:10362000F0B5174C05000E0060691F2925D88021D0 +:1036300031430902C0B20143616190210420FF2699 +:10364000C905886261693602314011436161C04633 +:1036500000200C4FC04639690132090A29546169BA +:10366000D2B2314001301143C0B261619842F1D908 +:1036700090230422DB059A61F0BDC0B20902DAE7AB +:10368000000800480004004870B506000D0005243D +:103690003000013CFFF7E4FCE4B229003000FFF702 +:1036A00033FA6D08002CF3D170BD00009249F8B5D3 +:1036B0000B88924C002B3BD00A88914B9A4235D113 +:1036C000002302258F4A13808F4A13808F4A13806C +:1036D0008F4A13808F4A13808F4AD08FA843D08798 +:1036E000D08F013DA843D0878C481735C3878C48BD +:1036F00005808C48343505808B4808350580802549 +:103700008A486D0105808025894805808348C387E4 +:103710008020884B00062380874B18608023D08F41 +:10372000DB000343D387854A854B1A8000230B8037 +:1037300023881BB2002B00DBBFE02388814A744F33 +:10374000134080221343238023881B0500D497E075 +:103750007D4D7F232A78110099436E4B1980E988AB +:10376000684B19800021694B19803B88FF318B43DE +:1037700013433B8060231A4208D08022734B12050A +:103780001B8828009B1898475F4B18802B78602275 +:1037900059B2002949DA134014D16A78062A0FD1A8 +:1037A0006A88110A02291AD003291AD001291FD1C7 +:1037B000674B1226674A99B21180674A1B0C138027 +:1037C000514B1E802288654B1343654A1A40C02323 +:1037D0009B0153409BB22380FFF778FD43E0614B90 +:1037E000E7E7D2B2012A0ED0002A03D0022A13D072 +:1037F0001E00E5E75C4B574A99B21180564A1B0CF4 +:1038000013800426DCE7594B524A99B21180524A80 +:103810001B0C1380564ED3E7564B4E4A99B211807B +:103820004D4A1B0C1380544ECAE7134209D16B78E2 +:10383000052B06D13A886B88D2B21B0213439BB288 +:103840003B80002123884D4A13404D4A13439BB2CD +:1038500023804C4B198023881A434B4B1A404B4B07 +:103860005A4092B222802D4BDB8F5B0507D5802218 +:103870002F4B1A800023294AD3872E4B2380F8BD73 +:1038800060213B880B40402BEDD13B881342EAD1AD +:10389000264A3F4B2C481B881188802212059B1812 +:1038A000C9B298472288364B13432D4A1A40C02389 +:1038B0009B0153409BB22380D5E78022238813428B +:1038C000D1D0238833490B40802109020B43238048 +:1038D000104B1B88934200D17EE7FF200C4B1988C8 +:1038E0008143C0D01988090A0A4311490A801A88FD +:1038F00002401A80B7E7C0460E600040005C0040FE +:103900003CA50000006000400260004004600040F0 +:103910000660004008600040025C0040065C004019 +:10392000505C0040186000401C6000401E60004079 +:103930004C5C00402032000000E100E00080FFFF0E +:10394000585C00408F0F0000546000401060004041 +:10395000C64B00080A6000400C6000408081FFFFF9 +:103960008FBFFFFFB44B0008D84B0008DC4B0008AA +:103970002A030000304C00081E0300008F8EFFFF5A +:103980008080FFFF1A600040BFBFFFFF30300000A3 +:10399000126000400F8FFFFFFEE700008047C04627 +:1039A000F0B5474680B4061C081C000C102801D551 +:1039B000162700E004270007000F8046FF20014083 +:1039C0005468251C1D439C43F60313850AD5C04645 +:1039D000C046C046C046C046C046C0469480138319 +:1039E000958002E0012000F081F801390AD4381CEA +:1039F00000F07CF8C046948013839580C046C04692 +:103A00007600E2E7381C013800F070F894801383E8 +:103A10009580042000F06AF8108A184001D0FF2039 +:103A200061E0C046C046C046C046C046C04694801D +:103A30009580108A184055D001200226B04552D0FA +:103A40000921168A1E40FCD1012000F04FF8948015 +:103A5000C0469580C04603E0C046C046C046C0464A +:103A6000948095807600108A1840EFF30080400023 +:103A7000C00F0643381C023800F038F89480958057 +:103A8000022000F033F80139EAD513859480012033 +:103A900000F02CF813839580301C8021022399407C +:103AA0000E401BD1002341085E4149085E41490890 +:103AB0005E4149085E4149085E4149085E41490846 +:103AC0005E4149085E4149085E41760808D34008D6 +:103AD000FF21084048400002013004E00E2002E0CF +:103AE000092000E0002080BCB846F0BD0138FDD1BF +:103AF0007047C04603685A0003D45B005B08C018D7 +:103B00007047802212061343F9E7C046F0B55746C6 +:103B10004E46DE464546E0B5814683B092460029D2 +:103B200025D04B1E9B46002701935B46FB18DC0FFC +:103B3000E4184B466410E5005E193000FFF7DAFF29 +:103B4000019B8046A3420BD0280008304844FFF771 +:103B5000D1FFD04506D80138504509D2671CE4E7AB +:103B6000504505D9A74202D0631E9B46DDE70026DB +:103B7000300003B03CBC90469946A246AB46F0BD2F +:103B8000012809D0022805D0002801D00020704764 +:103B90000248FCE70248FAE70248F8E7A1420008B9 +:103BA000B9420008AD42000830B5234B83B0050090 +:103BB0008C1E002B2AD001A9200000E000BF0028A5 +:103BC00020D001992200FFF7A1FF041E1AD0FFF7B1 +:103BD00091FF6368A864012B10D0201D002B1BDB14 +:103BE000FFF788FF0023E8642B650368002B17DBD1 +:103BF000FFF780FF2861002003B030BD00230520BF +:103C00002B61F9E7002309202B61F5E70B480C49EC +:103C1000091AC9100191D5E70123E8642B65E4E78F +:103C20001801000FFFF7ACFF2861002801D109300F +:103C3000E2E70020E0E7C046000000009C4C0008DE +:103C40006C4D0008036810B50400DA0705D49B0723 +:103C50000FD5483000F084FC23685A070FD51A07A7 +:103C600014D5DB0604D42000D130FF3000F084FCF2 +:103C700010BD483000F070FC23685A07EFD42000D4 +:103C8000D03000F071FC23681A07EAD420005130CC +:103C9000FF3000F06DFC2368E3E7C0460368002BAB +:103CA00000D01B1818007047092070477047C046A5 +:103CB00070B504000D0008E02B6C2A006361210040 +:103CC000012023699847082807D1296C2000FFF7B5 +:103CD0006BFF0028F0D000F09FFE0728FBD10020EA +:103CE000296CFFF7E3FF281D00F020FCF0B5CE465D +:103CF000474680B5C368324C9846A54483690600A0 +:103D000014000431402205A8994600F08DFE0023DE +:103D100004AD296C30000493FFF746FF631E9C41FD +:103D200007000934002F15D0AB6B10216B644B4694 +:103D300021430193C9B20095330032000120C047EE +:103D4000002833D13800F5239B009D440CBC9046DD +:103D50009946F0BDF0222B6C5200736129007CA8BB +:103D600000F062FE7CAA31003369200098478A9BEC +:103D700007006B6403934B460095019332003300B8 +:103D800021000120C047002810D1F0227CA9520058 +:103D9000280000F049FE082F06D1296C3000FFF7FB +:103DA00003FF09240700BDE7072F01D00927C9E752 +:103DB0000020296CFFF77AFF05A800F0B7FBC0468A +:103DC0002CFCFFFF406C704770B5CB6BFAB00B64F6 +:103DD00004000E004022043103A800F025FE012358 +:103DE0005B42029306E002AA21002369984705007E +:103DF00008280AD1129B200019000193FFF7D4FE76 +:103E00000028F0D009207AB070BD02A8FFF71AFF91 +:103E1000062DF7D131002000FFF74AFF10B582616F +:103E2000DA6BC1601A6419000022FFF75FFF10BD52 +:103E3000436970B50B64C36804000D00002B04D007 +:103E40000122FFF753FF00F0E7FD0A00236901009C +:103E500002209847072807D0082803D1290020000E +:103E6000FFF726FF00F0D8FD0020296CFFF71EFFAA +:103E7000281D00F05BFBC046C36810B5002B05D0C1 +:103E8000CB6B00220B64FFF731FF10BDFFF79CFFE7 +:103E9000FBE7C0467047C046836810B5002B02D0D0 +:103EA00001000120984710BD10B5012907D0002955 +:103EB00007D003390224012901D9200010BD0124B3 +:103EC000FBE70224002BF8D10F2AF6D892008218C3 +:103ED0005268029B00241A60EFE7C04600B585B027 +:103EE00003AB0A00009300210023FFF7DDFF0398D6 +:103EF00005B000BD10B5012907D0002907D003394E +:103F00000224012901D9200010BD0124FBE702246D +:103F1000002BF8D10F2AF6D8029B92001B6882185A +:103F200053600024EFE7C04600B585B003AB0392B1 +:103F300000930A0000230021FFF7DCFF05B000BD5D +:103F400070B51A4CD36BA544136406000D0019A874 +:103F5000111D402200F068FD01235B42189314E01C +:103F60000C2118A802AAFFF7DFFF290018A8B04704 +:103F7000002812D1069B18AA02A90830019398477D +:103F8000040005280AD0092807D0289B02A8190098 +:103F90000193FFF709FE0028E2D0092418A8FFF7D3 +:103FA00051FE200090239B009D4470BDC0FDFFFF8B +:103FB000F0B5DE464E464546574693460322E0B5E9 +:103FC0001E0013008BB003400193CB6C0D001C1D31 +:103FD0001B6808940793002E66D11B02079306AB5B +:103FE0005E731A73019B022B00D16EE02B6DDB0711 +:103FF00047D40023A846B2460293083303400393F4 +:104000002568002D00D137E15346022B49D0258881 +:10401000668804340123370099469F4343469B6CCE +:104020000F219C4658466744FFF758FF00228742FD +:1040300006D82A004B469A43D719B84280414242DB +:1040400002230121760033400D402B43012B3ED04B +:10405000002B5AD0022B1CD1236801995F007F08E6 +:10406000002965D1002A06D0039A002A00D188E0F1 +:10407000002F00D1AAE0002B65DB0137BF00E41957 +:10408000BEE700230293022E47DDFFF70DFE002856 +:1040900049D009200BB03CBC90469946A246AB469D +:1040A000F0BD66680834B5E7022E9BDC1A0C1B04D1 +:1040B0000793022306A90B73FD3313409B00E418FA +:1040C000019B4A73022B00D090E7AC6B8EE7019BFB +:1040D000002B3AD1002A16D02368DD0F63689A1CA2 +:1040E000D7D0424658320692013300D1C6E0201D97 +:1040F000FFF7D4FD06AB01002A00404600E000BFF8 +:10410000002800D0A7E008347AE7019B002B02D0FA +:10411000002A00D08BE0043472E707A9584600F06B +:10412000D1FA0028B5D1029B002B5DD10820B1E760 +:1041300043460D2158461D6AFFF7D0FE854263D0E5 +:104140002368002B99DA043497E743460D2158463B +:104150001D6AFFF7C3FE8542D5D143469B6A9C4248 +:10416000D1D145462000FFF7C5FC0F21020058467B +:10417000FFF7DAFE58462A000021FFF7D5FE072098 +:1041800088E7002F22D058235146434406AABA4656 +:10419000251D0026049405911F00914603E0043577 +:1041A0002600A24514D028000697FFF777FD4B465E +:1041B000010000224046741C00E000BF0028EED041 +:1041C0005746059B049C9A46B742B9D1454601E043 +:1041D0004546049C0D215846FFF780FE069B286249 +:1041E0006B62AC62062055E70F215846FFF776FE5A +:1041F0000E2102005846FFF797FE5846274A0F2126 +:10420000FFF792FE072045E743469B6A9C4297D101 +:10421000434642469F620023D36204331363231D47 +:1042200053632368002B32DB0123029325E7200030 +:10423000FFF760FC454604340600AC63404600E0EE +:1042400000BF002800D124E7584632000F21FFF7B5 +:104250006BFE07201EE707000D2158464546FFF775 +:104260003DFE2862022F0FD1069BEB6243462C33A2 +:104270006B62AC6206200DE7564604E70D215846F6 +:104280004546FFF72BFE2862069B6B62F1E738007C +:10429000013080004546201865E7C0460000000058 +:1042A00010B50023FFF784FE10BDC04610B50123F2 +:1042B000FFF77EFE10BDC04610B50223FFF778FE63 +:1042C00010BDC046F0B5CE46474680B50600C3B027 +:1042D00014001D0001294ED0002933D003290AD033 +:1042E000042902D1002B00D189E0022043B00CBC8C +:1042F00090469946F0BD032BF7D11404150C240CFD +:104300002B19102BF1D8082203681A4200D0E7E0DD +:1043100020AB1800984600F02DF9B36BED001A00A1 +:10432000002C09D0E400EA1A1C1942441968D15043 +:1043300004339C42FAD12200B263404600F018F9DF +:104340000020D3E70220002BD0D100230127100446 +:10435000B56B000C321D39009940084202D0296823 +:104360000435116001330432102BF4D10020A30472 +:10437000BCD4B563BAE71404170C240C012B5FD02E +:10438000052BB2D13B19202BAFD80F2F7DD9A146D9 +:10439000002C65D1002223009146B16B002B00DC7C +:1043A00088E020A88046FA00DB00521ACB1842446D +:1043B0000868505004318B42FAD119004B46002B4B +:1043C00010D04B4658003A00102F00D21022002384 +:1043D000103AD2006A448000CC58D450043383424F +:1043E000FAD1C918012D5ED0B1630F2F74D94B4695 +:1043F000002BA5D0684600F0B7F8002076E7102A19 +:1044000000D972E7102203681A4245D120AB180088 +:10441000984600F0B3F800230120B16B02009A40E7 +:10442000144204D045460F689A00AF50043101335E +:10443000042BF3D14046B16300F09EF8002055E70D +:104440003B19102B00D950E70F2F00D94DE700235F +:104450009946012233681A4230D14B46002B5AD07C +:10446000042233681A4242D1012D47D00F2F06D8BB +:1044700020AB180000F076F84B46002B8AD0684637 +:1044800000F074F81023DB1B87E7102BDFD9102214 +:10449000524291469944DCE793430360D130FF30A8 +:1044A00000F06CF8B2E7043120A8B16300F054F8D2 +:1044B00000201BE74B46002B84D193E71900914362 +:1044C0000A003160052D1ED0032230009343336073 +:1044D000483000F043F8C0E720A800F041F886E734 +:1044E000934303605130FF3000F044F810E7300090 +:1044F00093433360D03000F039F8B5E720AB1800B3 +:1045000000F02CF8BEE7022330001A433260483036 +:1045100000F028F8A1E7012D03D00F2F00D939E7CB +:10452000A6E720AB180000F019F833E7011C34317E +:1045300038C9043B9C461D60A646011C20313CC97D +:1045400090469946A246AB46011C0831FCC9416819 +:104550000068E54600BDC0467047C0467047C0468B +:104560007047C0467047C0467047C0467047C04657 +:104570007047C0467047C0467047C0467047C04647 +:1045800001B401A801B585B0FFB408A841464A4668 +:1045900053465C4665463EC001A83EC80F98009051 +:1045A00000230CB401A9FFF70FFC109B12B01847B1 :1045B00001B401A801B585B0FFB408A841464A4638 :1045C00053465C4665463EC001A83EC80F98009021 -:1045D00000230CB401A9FFF70FFC109B12B0184781 +:1045D00000230CB401A9FFF72BFC109B12B0184765 :1045E00001B401A801B585B0FFB408A841464A4608 :1045F00053465C4665463EC001A83EC80F980090F1 -:1046000000230CB401A9FFF72BFC109B12B0184734 +:1046000000230CB401A9FFF737FC109B12B0184728 :1046100001B401A801B585B0FFB408A841464A46D7 :1046200053465C4665463EC001A83EC80F980090C0 -:1046300000230CB401A9FFF737FC109B12B01847F8 +:1046300000230CB401ABFFF7F1FB109B12B018473D :1046400001B401A801B585B0FFB408A841464A46A7 :1046500053465C4665463EC001A83EC80F98009090 -:1046600000230CB401ABFFF7F1FB109B12B018470D -:1046700001B401A801B585B0FFB408A841464A4677 -:1046800053465C4665463EC001A83EC80F98009060 -:1046900000230CB401AAFFF76BFC109B12B0184763 -:1046A000027A0300002A04D1427AB020002A07D1FE -:1046B0007047013A02720268100E12021A60F7E7A0 -:1046C000013A5A725A68111D596003211268197211 -:1046D000F2E7C04600B585B003AB00930C2200237F -:1046E0000021FFF7F9FB039805B000BD10B5FFF7F7 -:1046F000F1FF10BDF0B557464E464546DE46002355 -:10470000E0B587B003930F339846083B9946802362 -:104710001B0306000F009A463800FFF7C1FF040094 -:10472000B02821D0030632D4FF2583001D4005ABFD -:104730009B4600930D220023002130000435FFF733 -:10474000CBFB63064CD5059B5D1B05955B46009333 -:1047500000230D2200213000FFF7E4FB3800FFF7B3 -:104760009FFF0400B028DDD1039B0024002B2FD134 -:1047700005AD00950E2200213000FFF7ADFB00953E -:1047800000230F2200213000FFF7CCFB20E00300C4 -:1047900042469343DBB2802B63D0902B25D0A02BD5 -:1047A00032D0B02B45D0C02B00D173E003004A4675 -:1047B0009343DBB2D02B0AD15346024001321A4355 -:1047C000052301213000FFF795FD0028A4D009241E -:1047D000200007B03CBC90469946A246AB46F0BDCF -:1047E000059B9C4665440595B0E7833B03400D2B34 -:1047F000EDD0424605AD0240009500230021300077 -:10480000FFF76AFB0095A3E7FF234A461B01190047 -:10481000824311410A001A40030702D58023DB01BD -:104820001A43002300213000FFF764FD0028CED199 -:1048300072E7B1284AD0B2285ED0B32800D18BE00D -:10484000FC230340B42BC2D04A46534602400132F7 -:104850001A43012101233000FFF74CFD0028B6D197 -:104860005AE704023800FFF71BFF802520432D0282 -:10487000A842ACD004010005020C00230021300046 -:10488000FFF738FD0028A2D12C4200D144E70123D4 -:10489000039341E7C6286AD0C7287CD003004A4664 -:1048A0009343DBB2C02B00D18BE0C82800D18FE04E -:1048B000C92800D08BE73800FFF7F2FEF02302038F -:1048C0001B03134042460240013278E73800FFF7ED -:1048D000E7FE002800D17AE7030042469343DBB2AB -:1048E000002B00D073E7020000213000FFF702FD2B -:1048F000002800D06BE70FE705AB00939B460D2225 -:10490000002300213000FFF7E7FA3800FFF7C8FE68 -:1049100003066AD57F25B03C059B2840A0409C46F5 -:104920006044059038000734FFF7BAFE0306F3D45D -:10493000812292009446863AFF3A1040A040059B9F -:10494000723A634418185B460590009300210023D7 -:104950003000FFF7E7FADFE63800FFF7A1FEF023AB -:1049600002031B03134042460240013270E7380045 -:10497000FFF796FEF02302031B031340424602405A -:1049800001321A43032303213000FFF7B3FC002850 -:1049900000D01CE7C0E63800FFF782FE002800D1F7 -:1049A00015E7030042469343DBB2002B00D00EE72D -:1049B000020004213000FFF79DFC002800D006E72C -:1049C000AAE64346A0221C40013412032243D9E741 -:1049D0003800FFF765FE434602009A43D2B2103218 -:1049E0001840120301300243EAE60224A0E7C04661 -:1049F000030000B5DB6C85B05A6808001202019212 -:104A00001A0001A908324A6003220A72DB794B724C -:104A1000FFF770FE05B000BD10B5FFF767FE806CB4 -:104A200010BDC04610B5FFF761FEC26CD3799B0084 -:104A30000833D01810BDC04610B500F005F8C046C8 -:104A400010B5FFF7F9FFC04610B5062000F074F866 -:104A5000012000F0A3F8C046F0B505000F2A2FD9B9 -:104A60000B0003439B0734D116000C000300103EDB -:104A7000350901352D01451927681F6067685F609A -:104A8000A7689F60E7681034DF6010339D42F3D160 -:104A90000F239E431036851989191340032B1AD909 -:104AA0001E1F0023B4080134A400CF58EF50043374 -:104AB000A342FAD10324A643331D2240C918ED189E -:104AC000002A05D00023CC5CEC5401339342FAD188 -:104AD000F0BD0500F6E71A00F2E7C04670B5050024 -:104AE0000C001F2922D8B7239B00C358002B14D0D9 -:104AF0008A009B181A68002A0FD0012A0BD0511C7B -:104B000005D00021200019609047002070BD1623B9 -:104B100003600120FAE70020F8E7280000F02AF8F7 -:104B200022000100280000F011F8EFE716230360CF -:104B300001204042EAE7C04610B5034B0100186867 -:104B4000FFF7CCFF10BDC04600000020002370B569 -:104B5000074C050008001100236000F017F8431C03 -:104B600000D070BD2368002BFBD02B60F9E7C04656 -:104B70001C07002010B500F001F810BD58220120DC -:104B8000014B40421A6070471C0700205822012048 -:104B9000014B40421A6070471C070020FEE7C046E8 -:104BA00002B4714649084900095C49008E4402BCC0 -:104BB0007047C04603B47146490840004900095E89 -:104BC00049008E4403BC704703B471464908400055 -:104BD0004900095A49008E4403BC7047F8B5C046E5 -:104BE000F8B5C04609021200010100803209040034 -:104BF00000000000000012010002FF000008C016C3 -:104C0000DC05020201020001040309042A03490031 -:104C10006E00660069006E006900740065004E0059 -:104C2000650073004C0069007600650073002E007B -:104C300063006F006D000000000000000000000035 -:104C40000000000000000000000000000000000064 +:1046600000230CB401AAFFF76BFC109B12B0184793 +:10467000027A0300002A04D1427AB020002A07D12E +:104680007047013A02720268100E12021A60F7E7D0 +:10469000013A5A725A68111D596003211268197241 +:1046A000F2E7C04600B585B003AB00930C220023AF +:1046B0000021FFF7F9FB039805B000BD10B5FFF727 +:1046C000F1FF10BDF0B557464E464546DE46002385 +:1046D000E0B587B003930F339846083B9946802393 +:1046E0001B0306000F009A463800FFF7C1FF0400C5 +:1046F000B02821D0030632D4FF2583001D4005AB2E +:104700009B4600930D220023002130000435FFF763 +:10471000CBFB63064CD5059B5D1B05955B46009363 +:1047200000230D2200213000FFF7E4FB3800FFF7E3 +:104730009FFF0400B028DDD1039B0024002B2FD164 +:1047400005AD00950E2200213000FFF7ADFB00956E +:1047500000230F2200213000FFF7CCFB20E00300F4 +:1047600042469343DBB2802B63D0902B25D0A02B05 +:1047700032D0B02B45D0C02B00D173E003004A46A5 +:104780009343DBB2D02B0AD15346024001321A4385 +:10479000052301213000FFF795FD0028A4D009244E +:1047A000200007B03CBC90469946A246AB46F0BDFF +:1047B000059B9C4665440595B0E7833B03400D2B64 +:1047C000EDD0424605AD02400095002300213000A7 +:1047D000FFF76AFB0095A3E7FF234A461B01190078 +:1047E000824311410A001A40030702D58023DB01EE +:1047F0001A43002300213000FFF764FD0028CED1CA +:1048000072E7B1284AD0B2285ED0B32800D18BE03D +:10481000FC230340B42BC2D04A4653460240013227 +:104820001A43012101233000FFF74CFD0028B6D1C7 +:104830005AE704023800FFF71BFF802520432D02B2 +:10484000A842ACD004010005020C00230021300076 +:10485000FFF738FD0028A2D12C4200D144E7012304 +:10486000039341E7C6286AD0C7287CD003004A4694 +:104870009343DBB2C02B00D18BE0C82800D18FE07E +:10488000C92800D08BE73800FFF7F2FEF0230203BF +:104890001B03134042460240013278E73800FFF71D +:1048A000E7FE002800D17AE7030042469343DBB2DB +:1048B000002B00D073E7020000213000FFF702FD5B +:1048C000002800D06BE70FE705AB00939B460D2255 +:1048D000002300213000FFF7E7FA3800FFF7C8FE99 +:1048E00003066AD57F25B03C059B2840A0409C4626 +:1048F0006044059038000734FFF7BAFE0306F3D48E +:10490000812292009446863AFF3A1040A040059BCF +:10491000723A634418185B46059000930021002307 +:104920003000FFF7E7FADFE63800FFF7A1FEF023DB +:1049300002031B03134042460240013270E7380075 +:10494000FFF796FEF02302031B031340424602408A +:1049500001321A43032303213000FFF7B3FC002880 +:1049600000D01CE7C0E63800FFF782FE002800D127 +:1049700015E7030042469343DBB2002B00D00EE75D +:10498000020004213000FFF79DFC002800D006E75C +:10499000AAE64346A0221C40013412032243D9E771 +:1049A0003800FFF765FE434602009A43D2B2103248 +:1049B0001840120301300243EAE60224A0E7C04691 +:1049C000030000B5DB6C85B05A6808001202019242 +:1049D0001A0001A908324A6003220A72DB794B727D +:1049E000FFF770FE05B000BD10B5FFF767FE806CE5 +:1049F00010BDC04610B5FFF761FEC26CD3799B00B5 +:104A00000833D01810BDC04610B500F005F8C046F8 +:104A100010B5FFF7F9FFC04610B5062000F074F896 +:104A2000012000F0A3F8C046F0B505000F2A2FD9E9 +:104A30000B0003439B0734D116000C000300103E0B +:104A4000350901352D01451927681F6067685F60CA +:104A5000A7689F60E7681034DF6010339D42F3D190 +:104A60000F239E431036851989191340032B1AD939 +:104A70001E1F0023B4080134A400CF58EF500433A4 +:104A8000A342FAD10324A643331D2240C918ED18CE +:104A9000002A05D00023CC5CEC5401339342FAD1B8 +:104AA000F0BD0500F6E71A00F2E7C04670B5050054 +:104AB0000C001F2922D8B7239B00C358002B14D009 +:104AC0008A009B181A68002A0FD0012A0BD0511CAB +:104AD00005D00021200019609047002070BD1623EA +:104AE00003600120FAE70020F8E7280000F02AF828 +:104AF00022000100280000F011F8EFE71623036000 +:104B000001204042EAE7C04610B5034B0100186897 +:104B1000FFF7CCFF10BDC04600000020002370B599 +:104B2000074C050008001100236000F017F8431C33 +:104B300000D070BD2368002BFBD02B60F9E7C04686 +:104B40001C07002010B500F001F810BD582201200C +:104B5000014B40421A6070471C0700205822012078 +:104B6000014B40421A6070471C070020FEE7C04618 +:104B700002B4714649084900095C49008E4402BCF0 +:104B80007047C04603B47146490840004900095EB9 +:104B900049008E4403BC704703B471464908400085 +:104BA0004900095A49008E4403BC7047F8B5C04615 +:104BB000F8B5C04609021200010100803209040064 +:104BC00000000000000012010002FF000008C016F3 +:104BD000DC05020201020001040309042A03490062 +:104BE0006E00660069006E006900740065004E008A +:104BF000650073004C0069007600650073002E00AC +:104C000063006F006D000000000000000000000065 +:104C10000000000000000000000000000000000094 +:104C20000000000000000000000000000000000084 +:104C30001E0349004E004C00200052006500740025 +:104C400072006F002D00500072006F0067000000BE :104C50000000000000000000000000000000000054 -:104C60001E0349004E004C002000520065007400F5 -:104C700072006F002D00500072006F00670000008E -:104C80000000000000000000000000000000000024 -:0C4C900000000000000000000000000018 -:104C9C0074B20181B0AB308000000000800A018149 -:104CAC00B0B0ABF0000000003F020181B0AB30802F -:104CBC000000000080060181B0B0ABF000000000E5 -:104CCC00F8ECFF7FB0B0B08050EEFF7F0100000029 -:104CDC00FCEEFF7FB0A9028090EFFF7FB0B0A88000 -:104CEC00E0EFFF7F01000000ECEFFF7FB0B0AA8087 -:104CFC0020F0FF7F9CFFFF7FF0F0FF7F01000000A2 -:104D0C00ECF0FF7FAA3F398038F1FF7FB0B0A8806C -:104D1C0044F1FF7FB0B0AA8084F1FF7FB0B0A880CF -:104D2C0098F1FF7F0100000094F1FF7FB0B0A880E4 -:104D3C009CF1FF7F010000002CF2FF7FAA0FB280D4 -:104D4C0094F2FF7F58FFFF7F7CF5FF7FB0B0A88007 -:104D5C0098F5FF7F54FFFF7FF8F7FF7F01000000FD -:104D6C0068F9FF7F0084048078F9FF7FB0B0A880D9 -:104D7C0078F9FF7F40FFFF7F6CFCFF7F008404808D -:104D8C008CFCFF7FB0B0A880A4FCFF7F010000006A -:104D9C00080000200000000000000000F4020020C9 -:104DAC005C030020C4030020000000000000000091 +:0C4C600000000000000000000000000048 +:104C6C0074B20181B0AB308000000000800A018179 +:104C7C00B0B0ABF0000000003F020181B0AB30805F +:104C8C000000000080060181B0B0ABF00000000015 +:104C9C0000EDFF7FB0B0B08050EEFF7F0100000050 +:104CAC00FCEEFF7FB0A9028090EFFF7FB0B0A88030 +:104CBC00E0EFFF7F01000000ECEFFF7FB0B0AA80B7 +:104CCC0020F0FF7F9CFFFF7FF0F0FF7F01000000D2 +:104CDC00ECF0FF7FAA3F398038F1FF7FB0B0A8809D +:104CEC0044F1FF7FB0B0AA8084F1FF7FB0B0A88000 +:104CFC0098F1FF7F0100000094F1FF7FB0B0A88015 +:104D0C009CF1FF7F010000002CF2FF7FAA0FB28004 +:104D1C0094F2FF7F58FFFF7F7CF5FF7FB0B0A88037 +:104D2C0098F5FF7F54FFFF7FF8F7FF7F010000002D +:104D3C0068F9FF7F0084048078F9FF7FB0B0A88009 +:104D4C0078F9FF7F40FFFF7F6CFCFF7F00840480BD +:104D5C008CFCFF7FB0B0A880A4FCFF7F010000009A +:104D6C00080000200000000000000000F4020020F9 +:104D7C005C030020C40300200000000000000000C1 +:104D8C000000000000000000000000000000000017 +:104D9C000000000000000000000000000000000007 +:104DAC0000000000000000000000000000000000F7 :104DBC0000000000000000000000000000000000E7 :104DCC0000000000000000000000000000000000D7 :104DDC0000000000000000000000000000000000C7 :104DEC0000000000000000000000000000000000B7 :104DFC0000000000000000000000000000000000A7 :104E0C000000000000000000000000000000000096 -:104E1C000000000000000000000000000000000086 -:104E2C000000000000000000000000000000000076 +:104E1C0001000000000000000E33CDAB34126DE633 +:104E2C00ECDE05000B00000000000000000000009C :104E3C000000000000000000000000000000000066 -:104E4C0001000000000000000E33CDAB34126DE603 -:104E5C00ECDE05000B00000000000000000000006C +:104E4C000000000000000000000000000000000056 +:104E5C000000000000000000000000000000000046 :104E6C000000000000000000000000000000000036 :104E7C000000000000000000000000000000000026 :104E8C000000000000000000000000000000000016 @@ -1305,8 +1305,5 @@ :10516C000000000000000000000000000000000033 :10517C000000000000000000000000000000000023 :10518C000000000000000000000000000000000013 -:10519C000000000000000000000000000000000003 -:1051AC0000000000000000000000000000000000F3 -:1051BC0000000000000000000000000000000000E3 :04000005080000C12E :00000001FF diff --git a/firmware/build_stm/inlretro_stm.map b/firmware/build_stm/inlretro_stm.map index 83690ac..82bb0fb 100644 --- a/firmware/build_stm/inlretro_stm.map +++ b/firmware/build_stm/inlretro_stm.map @@ -1,7 +1,7 @@ Archive member included to satisfy reference by file (symbol) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\cci1eGxe.o (__aeabi_unwind_cpp_pr0) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) @@ -49,24 +49,21 @@ c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/ c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o (__gnu_thumb1_case_shi) + C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o (__gnu_thumb1_case_shi) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file errno 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) addrh 0x4 source/bootload.o (symbol from plugin) -incoming_bytes_remain - 0x1 source/buffer.o (symbol from plugin) pbje_cmd_update_flag 0x1 source/jtag.o (symbol from plugin) raw_bank_status 0x10 source/buffer.o (symbol from plugin) raw_buffer16 0x200 source/buffer.o (symbol from plugin) -cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin) Discarded input sections @@ -89,23 +86,23 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o .text 0x00000000 0x0 source/bootload.o (symbol from plugin) - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o .rodata.oper_info - 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .rodata.usb_buff + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .text 0x00000000 0x0 source/buffer.o (symbol from plugin) .text 0x00000000 0x0 source/ciccom.o (symbol from plugin) .text 0x00000000 0x0 source/dump.o (symbol from plugin) @@ -125,12 +122,12 @@ Discarded input sections .text 0x00000000 0x0 source/usb.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin) - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) .debug_frame 0x00000000 0x2c4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) @@ -367,12 +364,12 @@ Linker script and memory map LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o +LOAD C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o LOAD source/bootload.o -LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o LOAD source/buffer.o LOAD source/ciccom.o LOAD source/dump.o @@ -392,8 +389,8 @@ LOAD source/swim.o LOAD source/usb.o LOAD source_stm_only/stm_init.o LOAD source_stm_only/usbstm.o -LOAD C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o -LOAD C:\Users\paul\AppData\Local\Temp\cc2herkl.o +LOAD C:\Users\paul\AppData\Local\Temp\cci1eGxe.o +LOAD C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o START GROUP LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -407,12 +404,12 @@ END GROUP LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o -.text 0x08000000 0x4c9c +.text 0x08000000 0x4c6c *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o 0x08000000 __isr_vector *(.text*) - .text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o 0x080000c0 Reset_Handler 0x080000fc TSC_IRQHandler 0x080000fc ADC1_COMP_IRQHandler @@ -451,214 +448,216 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- 0x080000fc FLASH_IRQHandler 0x080000fc USART1_IRQHandler 0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler - .text.USB_IRQHandler - 0x08000100 0x1ac0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x08000100 USB_IRQHandler - .text.nes_cpu_wr - 0x08001bc0 0x6c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001bc0 nes_cpu_wr - .text.nes_cpu_rd - 0x08001c2c 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001c2c nes_cpu_rd - .text.disc_push_exp0_prgrom_wr - 0x08001c6c 0x48 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001c6c disc_push_exp0_prgrom_wr + .text 0x08000100 0x17f0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x08000100 usbFunctionSetup .text.pbje_scan - 0x08001cb4 0x12c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x080018f0 0x12c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .text.pbje_state_change - 0x08001de0 0x98 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001a1c 0x98 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .text.write_page - 0x08001e78 0x34 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001ab4 0x34 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .text.get_next_buff - 0x08001eac 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .text.nes_ppu_wr - 0x08001f00 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001f00 nes_ppu_wr - .text.nes_ppu_rd - 0x08001f50 0x38 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001f50 nes_ppu_rd + 0x08001ae8 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .text.discrete_exp0_prgrom_wr - 0x08001f88 0x58 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001f88 discrete_exp0_prgrom_wr + 0x08001b3c 0x58 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001b3c discrete_exp0_prgrom_wr .text.jtag_init_pbje - 0x08001fe0 0xe0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08001fe0 jtag_init_pbje + 0x08001b94 0xe0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001b94 jtag_init_pbje .text.jtag_run_pbje.part.0 - 0x080020c0 0xd8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x080020c0 jtag_run_pbje.part.0 + 0x08001c74 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001c74 jtag_run_pbje.part.0 .text.io_reset - 0x08002198 0x154 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x08002198 io_reset + 0x08001d4c 0x154 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001d4c io_reset .text.startup.main - 0x080022ec 0xb8c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x080022ec main + 0x08001ea0 0xb00 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001ea0 main .text.append_pairity - 0x08002e78 0x1e C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - *fill* 0x08002e96 0x2 - .text.snes_wr 0x08002e98 0x60 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08002e98 snes_wr - .text.snes_rd 0x08002ef8 0x48 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08002ef8 snes_rd + 0x080029a0 0x1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + *fill* 0x080029be 0x2 + .text.snes_wr 0x080029c0 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x080029c0 snes_wr + .text.snes_rd 0x08002a20 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002a20 snes_rd .text.snes_3v_flash_wr - 0x08002f40 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08002f40 snes_3v_flash_wr + 0x08002a68 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002a68 snes_3v_flash_wr .text.snes_5v_flash_wr - 0x08002f90 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08002f90 snes_5v_flash_wr - .text.mmc3_chrrom_flash_wr - 0x08002fe0 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08002fe0 mmc3_chrrom_flash_wr - .text.nrom_chrrom_flash_wr - 0x08003024 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003024 nrom_chrrom_flash_wr - .text.cdream_chrrom_flash_wr - 0x08003068 0x88 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003068 cdream_chrrom_flash_wr - .text.mmc4_chrrom_flash_wr - 0x080030f0 0x74 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x080030f0 mmc4_chrrom_flash_wr - .text.cnrom_chrrom_flash_wr - 0x08003164 0x80 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003164 cnrom_chrrom_flash_wr - .text.mmc4_prgrom_sop_flash_wr - 0x080031e4 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x080031e4 mmc4_prgrom_sop_flash_wr - .text.mmc3_prgrom_flash_wr - 0x08003238 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003238 mmc3_prgrom_flash_wr - .text.unrom_prgrom_flash_wr - 0x08003288 0x64 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003288 unrom_prgrom_flash_wr - .text.mmc1_chrrom_flash_wr - 0x080032ec 0x60 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x080032ec mmc1_chrrom_flash_wr - .text.mmc1_prgrom_flash_wr - 0x0800334c 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x0800334c mmc1_prgrom_flash_wr - .text.control_xfr_in.lto_priv.38 - 0x0800339c 0xd8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x0800339c control_xfr_in.lto_priv.38 - .text.HardFault_Handler - 0x08003474 0x2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003474 HardFault_Handler - *fill* 0x08003476 0x2 + 0x08002ab8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002ab8 snes_5v_flash_wr + .text.nes_cpu_wr + 0x08002b08 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002b08 nes_cpu_wr .text.swim_wotf - 0x08003478 0xb4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003478 swim_wotf + 0x08002b74 0xb4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002b74 swim_wotf .text.swim_rotf - 0x0800352c 0xac C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x0800352c swim_rotf + 0x08002c28 0xac C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002c28 swim_rotf .text.delay_us - 0x080035d8 0x16 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x080035d8 delay_us - *fill* 0x080035ee 0x2 - .text.nrom_prgrom_flash_wr - 0x080035f0 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x080035f0 nrom_prgrom_flash_wr + 0x08002cd4 0x16 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002cd4 delay_us + *fill* 0x08002cea 0x2 .text.nes_dualport_wr - 0x08003634 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003634 nes_dualport_wr + 0x08002cec 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002cec nes_dualport_wr .text.nes_dualport_rd - 0x08003684 0x38 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x08003684 nes_dualport_rd - .text.write_page_snes.constprop.33 - 0x080036bc 0x194 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x080036bc write_page_snes.constprop.33 - .text.snes_page_rd_poll.constprop.24 - 0x08003850 0x7c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x08003850 snes_page_rd_poll.constprop.24 - .text.nes_cpu_page_rd_poll.constprop.23 - 0x080038cc 0x6c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x080038cc nes_cpu_page_rd_poll.constprop.23 - .text.nes_ppu_page_rd_poll.constprop.21 - 0x08003938 0x68 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x08003938 nes_ppu_page_rd_poll.constprop.21 - .text.mmc1_wr.constprop.12 - 0x080039a0 0x22 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x080039a0 mmc1_wr.constprop.12 - *fill* 0x080039c2 0x2 - .text 0x080039c4 0x4 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - 0x080039c4 jump2addr - *fill* 0x080039c8 0x8 - .text 0x080039d0 0x154 C:\Users\paul\AppData\Local\Temp\cc2herkl.o - 0x080039d0 swim_xfr - .text 0x08003b24 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08003df4 _Unwind_GetCFA - 0x08003df8 __gnu_Unwind_RaiseException - 0x08003e4c __gnu_Unwind_ForcedUnwind - 0x08003e60 __gnu_Unwind_Resume - 0x08003ea8 __gnu_Unwind_Resume_or_Rethrow - 0x08003ec4 _Unwind_Complete - 0x08003ec8 _Unwind_DeleteException - 0x08003ed8 _Unwind_VRS_Get - 0x08003f24 _Unwind_VRS_Set - 0x08003f70 __gnu_Unwind_Backtrace - 0x080042d0 __aeabi_unwind_cpp_pr0 - 0x080042dc __aeabi_unwind_cpp_pr1 - 0x080042e8 __aeabi_unwind_cpp_pr2 - 0x080042f4 _Unwind_VRS_Pop - .text 0x0800455c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800455c __restore_core_regs - 0x0800455c restore_core_regs - 0x08004588 __gnu_Unwind_Restore_VFP - 0x0800458c __gnu_Unwind_Save_VFP - 0x08004590 __gnu_Unwind_Restore_VFP_D - 0x08004594 __gnu_Unwind_Save_VFP_D - 0x08004598 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800459c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x080045a0 __gnu_Unwind_Restore_WMMXD - 0x080045a4 __gnu_Unwind_Save_WMMXD - 0x080045a8 __gnu_Unwind_Restore_WMMXC - 0x080045ac __gnu_Unwind_Save_WMMXC - 0x080045b0 ___Unwind_RaiseException - 0x080045b0 _Unwind_RaiseException - 0x080045e0 _Unwind_Resume - 0x080045e0 ___Unwind_Resume - 0x08004610 _Unwind_Resume_or_Rethrow - 0x08004610 ___Unwind_Resume_or_Rethrow - 0x08004640 _Unwind_ForcedUnwind - 0x08004640 ___Unwind_ForcedUnwind - 0x08004670 ___Unwind_Backtrace - 0x08004670 _Unwind_Backtrace - .text 0x080046a0 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080046f4 __gnu_unwind_execute - 0x080049f0 __gnu_unwind_frame - 0x08004a18 _Unwind_GetRegionStart - 0x08004a24 _Unwind_GetLanguageSpecificData - 0x08004a38 _Unwind_GetTextRelBase - 0x08004a40 _Unwind_GetDataRelBase - .text.abort 0x08004a48 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x08004a48 abort - .text.memcpy 0x08004a58 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x08004a58 memcpy + 0x08002d3c 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002d3c nes_dualport_rd + .text.nes_ppu_wr + 0x08002d74 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002d74 nes_ppu_wr + .text.nes_ppu_rd + 0x08002dc4 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002dc4 nes_ppu_rd + .text.cdream_chrrom_flash_wr + 0x08002dfc 0x88 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002dfc cdream_chrrom_flash_wr + .text.mmc4_chrrom_flash_wr + 0x08002e84 0x74 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002e84 mmc4_chrrom_flash_wr + .text.mmc3_chrrom_flash_wr + 0x08002ef8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002ef8 mmc3_chrrom_flash_wr + .text.cnrom_chrrom_flash_wr + 0x08002f3c 0x80 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002f3c cnrom_chrrom_flash_wr + .text.mmc1_chrrom_flash_wr + 0x08002fbc 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08002fbc mmc1_chrrom_flash_wr + .text.nrom_chrrom_flash_wr + 0x0800301c 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x0800301c nrom_chrrom_flash_wr + .text.nes_cpu_rd + 0x08003060 0x40 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08003060 nes_cpu_rd + .text.mmc4_prgrom_sop_flash_wr + 0x080030a0 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x080030a0 mmc4_prgrom_sop_flash_wr + .text.mmc3_prgrom_flash_wr + 0x080030f4 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x080030f4 mmc3_prgrom_flash_wr + .text.unrom_prgrom_flash_wr + 0x08003144 0x64 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x08003144 unrom_prgrom_flash_wr + .text.mmc1_prgrom_flash_wr + 0x080031a8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x080031a8 mmc1_prgrom_flash_wr + .text.nrom_prgrom_flash_wr + 0x080031f8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x080031f8 nrom_prgrom_flash_wr + .text.disc_push_exp0_prgrom_wr + 0x0800323c 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x0800323c disc_push_exp0_prgrom_wr + .text 0x08003284 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x08003284 usbFunctionWrite + .text.control_xfr_in + 0x080032cc 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .text.write_page_snes.constprop.31 + 0x080033a4 0x194 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x080033a4 write_page_snes.constprop.31 + .text.snes_page_rd_poll.constprop.22 + 0x08003538 0x7c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x08003538 snes_page_rd_poll.constprop.22 + .text.nes_cpu_page_rd_poll.constprop.21 + 0x080035b4 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x080035b4 nes_cpu_page_rd_poll.constprop.21 + .text.nes_ppu_page_rd_poll.constprop.19 + 0x08003620 0x68 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x08003620 nes_ppu_page_rd_poll.constprop.19 + .text.mmc1_wr.constprop.10 + 0x08003688 0x22 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x08003688 mmc1_wr.constprop.10 + *fill* 0x080036aa 0x2 + .text.USB_IRQHandler + 0x080036ac 0x2ec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x080036ac USB_IRQHandler + .text.HardFault_Handler + 0x08003998 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x08003998 HardFault_Handler + *fill* 0x0800399a 0x2 + .text 0x0800399c 0x4 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + 0x0800399c jump2addr + .text 0x080039a0 0x154 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + 0x080039a0 swim_xfr + .text 0x08003af4 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x08003dc4 _Unwind_GetCFA + 0x08003dc8 __gnu_Unwind_RaiseException + 0x08003e1c __gnu_Unwind_ForcedUnwind + 0x08003e30 __gnu_Unwind_Resume + 0x08003e78 __gnu_Unwind_Resume_or_Rethrow + 0x08003e94 _Unwind_Complete + 0x08003e98 _Unwind_DeleteException + 0x08003ea8 _Unwind_VRS_Get + 0x08003ef4 _Unwind_VRS_Set + 0x08003f40 __gnu_Unwind_Backtrace + 0x080042a0 __aeabi_unwind_cpp_pr0 + 0x080042ac __aeabi_unwind_cpp_pr1 + 0x080042b8 __aeabi_unwind_cpp_pr2 + 0x080042c4 _Unwind_VRS_Pop + .text 0x0800452c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x0800452c __restore_core_regs + 0x0800452c restore_core_regs + 0x08004558 __gnu_Unwind_Restore_VFP + 0x0800455c __gnu_Unwind_Save_VFP + 0x08004560 __gnu_Unwind_Restore_VFP_D + 0x08004564 __gnu_Unwind_Save_VFP_D + 0x08004568 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800456c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08004570 __gnu_Unwind_Restore_WMMXD + 0x08004574 __gnu_Unwind_Save_WMMXD + 0x08004578 __gnu_Unwind_Restore_WMMXC + 0x0800457c __gnu_Unwind_Save_WMMXC + 0x08004580 ___Unwind_RaiseException + 0x08004580 _Unwind_RaiseException + 0x080045b0 _Unwind_Resume + 0x080045b0 ___Unwind_Resume + 0x080045e0 _Unwind_Resume_or_Rethrow + 0x080045e0 ___Unwind_Resume_or_Rethrow + 0x08004610 _Unwind_ForcedUnwind + 0x08004610 ___Unwind_ForcedUnwind + 0x08004640 ___Unwind_Backtrace + 0x08004640 _Unwind_Backtrace + .text 0x08004670 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080046c4 __gnu_unwind_execute + 0x080049c0 __gnu_unwind_frame + 0x080049e8 _Unwind_GetRegionStart + 0x080049f4 _Unwind_GetLanguageSpecificData + 0x08004a08 _Unwind_GetTextRelBase + 0x08004a10 _Unwind_GetDataRelBase + .text.abort 0x08004a18 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08004a18 abort + .text.memcpy 0x08004a28 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08004a28 memcpy .text._raise_r - 0x08004adc 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004adc _raise_r - .text.raise 0x08004b38 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004b38 raise - .text._kill_r 0x08004b4c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004b4c _kill_r + 0x08004aac 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004aac _raise_r + .text.raise 0x08004b08 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004b08 raise + .text._kill_r 0x08004b1c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004b1c _kill_r .text._getpid_r - 0x08004b74 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004b74 _getpid_r - .text._getpid 0x08004b7c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08004b7c _getpid - .text._kill 0x08004b8c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08004b8c _kill - .text._exit 0x08004b9c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08004b9c _exit - .text 0x08004ba0 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - 0x08004ba0 __gnu_thumb1_case_uqi - .text 0x08004bb4 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - 0x08004bb4 __gnu_thumb1_case_shi - .text 0x08004bc8 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - 0x08004bc8 __gnu_thumb1_case_uhi + 0x08004b44 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004b44 _getpid_r + .text._getpid 0x08004b4c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08004b4c _getpid + .text._kill 0x08004b5c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08004b5c _kill + .text._exit 0x08004b6c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08004b6c _exit + .text 0x08004b70 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x08004b70 __gnu_thumb1_case_uqi + .text 0x08004b84 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + 0x08004b84 __gnu_thumb1_case_shi + .text 0x08004b98 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x08004b98 __gnu_thumb1_case_uhi *(.init) - .init 0x08004bdc 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x08004bdc _init + .init 0x08004bac 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x08004bac _init *(.fini) - .fini 0x08004be0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x08004be0 _fini + .fini 0x08004bb0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x08004bb0 _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -671,54 +670,54 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- *(.dtors) *(.rodata*) .rodata.config_desc - 0x08004be4 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x08004bb4 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .rodata.device_desc - 0x08004bf6 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x08004bc6 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .rodata.string0_desc - 0x08004c08 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x08004bd8 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .rodata.string1_desc - 0x08004c0c 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x08004bdc 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .rodata.string2_desc - 0x08004c60 0x3c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x08004c30 0x3c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o *(.eh_frame*) -.glue_7 0x08004c9c 0x0 - .glue_7 0x08004c9c 0x0 linker stubs +.glue_7 0x08004c6c 0x0 + .glue_7 0x08004c6c 0x0 linker stubs -.glue_7t 0x08004c9c 0x0 - .glue_7t 0x08004c9c 0x0 linker stubs +.glue_7t 0x08004c6c 0x0 + .glue_7t 0x08004c6c 0x0 linker stubs -.vfp11_veneer 0x08004c9c 0x0 - .vfp11_veneer 0x08004c9c 0x0 linker stubs +.vfp11_veneer 0x08004c6c 0x0 + .vfp11_veneer 0x08004c6c 0x0 linker stubs -.v4_bx 0x08004c9c 0x0 - .v4_bx 0x08004c9c 0x0 linker stubs +.v4_bx 0x08004c6c 0x0 + .v4_bx 0x08004c6c 0x0 linker stubs -.iplt 0x08004c9c 0x0 - .iplt 0x08004c9c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.iplt 0x08004c6c 0x0 + .iplt 0x08004c6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.ARM.extab 0x08004c9c 0x30 +.ARM.extab 0x08004c6c 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08004c9c 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08004cc0 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08004ccc __exidx_start = . + .ARM.extab 0x08004c6c 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08004c90 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004c9c __exidx_start = . -.ARM.exidx 0x08004ccc 0xd0 +.ARM.exidx 0x08004c9c 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004ccc 0x8 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .ARM.exidx 0x08004cd4 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o + .ARM.exidx 0x08004c9c 0x8 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .ARM.exidx 0x08004ca4 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o 0x10 (size before relaxing) - .ARM.exidx 0x08004cd4 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.exidx 0x08004ca4 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) 0xd8 (size before relaxing) - .ARM.exidx 0x08004d6c 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.exidx 0x08004d3c 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) 0x48 (size before relaxing) - 0x08004d9c __exidx_end = . - 0x08004d9c __etext = ALIGN (0x4) + 0x08004d6c __exidx_end = . + 0x08004d6c __etext = ALIGN (0x4) -.rel.dyn 0x08004d9c 0x0 - .rel.iplt 0x08004d9c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.rel.dyn 0x08004d6c 0x0 + .rel.iplt 0x08004d6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.data 0x20000000 0x430 load address 0x08004d9c +.data 0x20000000 0x430 load address 0x08004d6c 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -746,87 +745,89 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- 0x20000430 . = ALIGN (0x4) 0x20000430 __data_end__ = . -.igot.plt 0x20000430 0x0 load address 0x080051cc +.igot.plt 0x20000430 0x0 load address 0x0800519c .igot.plt 0x20000430 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.bss 0x20000430 0x2f0 load address 0x080051cc +.bss 0x20000430 0x2f0 load address 0x0800519c 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o .bss.bank_table - 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x20000434 bank_table *fill* 0x20000436 0x2 - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x20000438 buff0 - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x2000044c buff1 - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x20000460 buff2 - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x20000474 buff3 - .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x20000488 cur_bank *fill* 0x20000489 0x3 - .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x2000048c cur_buff - .bss.cur_usb_load_buff - 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .bss.incoming_bytes_remain - 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - *fill* 0x20000495 0x3 .bss.oper_info_struct - 0x20000498 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000498 oper_info_struct + 0x20000490 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000490 oper_info_struct .bss.pbje_command - 0x200004b8 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200004b8 pbje_command + 0x200004b0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004b0 pbje_command .bss.pbje_data - 0x200004b9 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200004b9 pbje_data + 0x200004b1 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004b1 pbje_data .bss.pbje_numclk - 0x200004d9 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200004d9 pbje_numclk + 0x200004d1 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004d1 pbje_numclk .bss.pbje_status - 0x200004da 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200004da pbje_status + 0x200004d2 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004d2 pbje_status .bss.raw_bank_status - 0x200004db 0x10 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - *fill* 0x200004eb 0x1 + 0x200004d3 0x10 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + *fill* 0x200004e3 0x1 .bss.raw_buffer16 - 0x200004ec 0x200 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .bss.rv16.4995 - 0x200006ec 0x8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x200004e4 0x200 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.rv16.4991 + 0x200006e4 0x8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o .bss.swim_base - 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200006f4 swim_base - .bss.swim_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200006f8 swim_pin + 0x200006ec 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006ec swim_base + .bss.swim_pin 0x200006f0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006f0 swim_pin + *fill* 0x200006f1 0x3 + .bss.tck_base 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006f4 tck_base + .bss.tck_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006f8 tck_pin *fill* 0x200006f9 0x3 - .bss.tck_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x200006fc tck_base - .bss.tck_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000700 tck_pin + .bss.tdi_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006fc tdi_base + .bss.tdi_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000700 tdi_pin *fill* 0x20000701 0x3 - .bss.tdi_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000704 tdi_base - .bss.tdi_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000708 tdi_pin + .bss.tdo_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000704 tdo_base + .bss.tdo_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000708 tdo_pin *fill* 0x20000709 0x3 - .bss.tdo_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x2000070c tdo_base - .bss.tdo_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000710 tdo_pin - *fill* 0x20000711 0x3 - .bss.tms_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000714 tms_base - .bss.tms_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x20000718 tms_pin - .bss.num_buff.5075 - 0x20000719 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + .bss.tms_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x2000070c tms_base + .bss.tms_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000710 tms_pin + .bss.num_buff.5071 + 0x20000711 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + *fill* 0x20000712 0x2 + .bss.cur_usb_load_buff + 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x20000714 cur_usb_load_buff + .bss.incoming_bytes_remain + 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x20000718 incoming_bytes_remain *(COMMON) - *fill* 0x2000071a 0x2 + *fill* 0x20000719 0x3 COMMON 0x2000071c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) 0x2000071c errno 0x20000720 . = ALIGN (0x4) @@ -836,12 +837,12 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- 0x20000720 __end__ = . 0x20000720 PROVIDE (end, .) *(.heap*) - .heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o 0x20000720 __HeapLimit = . .stack_dummy 0x20000720 0xc00 *(.stack*) - .stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) 0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) 0x20001800 PROVIDE (__stack, __StackTop) @@ -853,19 +854,19 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o .ARM.attributes - 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o .ARM.attributes - 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .ARM.attributes - 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o .ARM.attributes - 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o + 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .ARM.attributes - 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o + 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o .ARM.attributes - 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\cc2herkl.o + 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o .ARM.attributes 0x00000137 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) .ARM.attributes @@ -874,82 +875,82 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) 0x00000173 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) .comment 0x00000000 0x6e - .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o 0x6f (size before relaxing) - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o -.debug_line 0x00000000 0x1b68 - .debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o - .debug_line 0x0000006f 0xaf7 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_line 0x00000b66 0x816 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_line 0x0000137c 0x44d C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_line 0x000017c9 0x263 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - .debug_line 0x00001a2c 0x49 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .debug_line 0x00001a75 0xf3 C:\Users\paul\AppData\Local\Temp\cc2herkl.o +.debug_line 0x00000000 0x1ba6 + .debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .debug_line 0x0000006f 0xa1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_line 0x00000a8d 0x6fe C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_line 0x0000118b 0x4a9 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_line 0x00001634 0x436 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .debug_line 0x00001a6a 0x49 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .debug_line 0x00001ab3 0xf3 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o -.debug_info 0x00000000 0x46d7 - .debug_info 0x00000000 0x9b C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o - .debug_info 0x0000009b 0x17a1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_info 0x0000183c 0x175a C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_info 0x00002f96 0xffb C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_info 0x00003f91 0x61a C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - .debug_info 0x000045ab 0x98 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .debug_info 0x00004643 0x94 C:\Users\paul\AppData\Local\Temp\cc2herkl.o +.debug_info 0x00000000 0x4757 + .debug_info 0x00000000 0x9b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .debug_info 0x0000009b 0x149a C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_info 0x00001535 0x14bf C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_info 0x000029f4 0x11f2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_info 0x00003be6 0xa45 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .debug_info 0x0000462b 0x98 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .debug_info 0x000046c3 0x94 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o -.debug_abbrev 0x00000000 0xb18 - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o - .debug_abbrev 0x00000014 0x35d C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_abbrev 0x00000371 0x40f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_abbrev 0x00000780 0x1ce C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_abbrev 0x0000094e 0x1a2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - .debug_abbrev 0x00000af0 0x14 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o - .debug_abbrev 0x00000b04 0x14 C:\Users\paul\AppData\Local\Temp\cc2herkl.o +.debug_abbrev 0x00000000 0xbe3 + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .debug_abbrev 0x00000014 0x31e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_abbrev 0x00000332 0x3b2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_abbrev 0x000006e4 0x190 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_abbrev 0x00000874 0x347 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .debug_abbrev 0x00000bbb 0x14 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + .debug_abbrev 0x00000bcf 0x14 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o -.debug_aranges 0x00000000 0x218 +.debug_aranges 0x00000000 0x228 .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o .debug_aranges - 0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o .debug_aranges - 0x00000040 0x88 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x00000040 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o .debug_aranges - 0x000000c8 0xd0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x000000a0 0xe8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o .debug_aranges - 0x00000198 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o + 0x00000188 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .debug_aranges - 0x000001d8 0x20 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o + 0x000001e8 0x20 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o .debug_aranges - 0x000001f8 0x20 C:\Users\paul\AppData\Local\Temp\cc2herkl.o + 0x00000208 0x20 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o -.debug_loc 0x00000000 0x45b6 - .debug_loc 0x00000000 0x27eb C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_loc 0x000027eb 0x1095 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_loc 0x00003880 0x922 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_loc 0x000041a2 0x414 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o +.debug_loc 0x00000000 0x4958 + .debug_loc 0x00000000 0x2b56 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_loc 0x00002b56 0xdec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_loc 0x00003942 0xa3f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_loc 0x00004381 0x5d7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o -.debug_ranges 0x00000000 0x1748 - .debug_ranges 0x00000000 0x13c8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_ranges 0x000013c8 0x270 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_ranges 0x00001638 0xc0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_ranges 0x000016f8 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o +.debug_ranges 0x00000000 0xc70 + .debug_ranges 0x00000000 0x840 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_ranges 0x00000840 0x230 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_ranges 0x00000a70 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_ranges 0x00000b48 0x128 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o -.debug_str 0x00000000 0xdcb - .debug_str 0x00000000 0x872 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - 0x8d7 (size before relaxing) - .debug_str 0x00000872 0x268 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - 0x52b (size before relaxing) - .debug_str 0x00000ada 0x1d2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - 0x3e8 (size before relaxing) - .debug_str 0x00000cac 0x11f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o - 0x39d (size before relaxing) +.debug_str 0x00000000 0xdd5 + .debug_str 0x00000000 0x76d C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x7d2 (size before relaxing) + .debug_str 0x0000076d 0x22c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x4c5 (size before relaxing) + .debug_str 0x00000999 0x1c7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x3e2 (size before relaxing) + .debug_str 0x00000b60 0x275 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x555 (size before relaxing) -.debug_frame 0x00000000 0x4c0 - .debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o - .debug_frame 0x00000030 0x174 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o - .debug_frame 0x000001a4 0x26c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o - .debug_frame 0x00000410 0xb0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o +.debug_frame 0x00000000 0x4fc + .debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .debug_frame 0x00000030 0x118 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + .debug_frame 0x00000148 0x2a0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + .debug_frame 0x000003e8 0x114 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o .stabstr 0x00000000 0x76 .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/source/main.c b/firmware/source/main.c index 17ef5b5..15113e5 100644 --- a/firmware/source/main.c +++ b/firmware/source/main.c @@ -80,10 +80,32 @@ int main(void) RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; //Initialize periphery clocks as needed + //tried to have this done but usb code but wasn't working.. + //having the main handle this prob makes more sense anyway, but would like to know + //why this didn't work.. init_usb_clock(); - //Initialize WDT, core features, etc + //init_usb(); + //don't call the USB code directly, + //instead set the usb flag to tell it to initialize then jump to the USB ISR + //we know where the USB ISR is because of the vector table + usbflag = INITUSB; + + typedef void (*pFunction)(void); + pFunction JumpToApplication; + //interrupts should already be disabled + JumpToApplication = (void (*)(void)) (*((uint32_t *) ((0x000000BC)))); //USB ISR vector location + + //Jump to the USB ISR + JumpToApplication(); + + //set the usb_buff ram function pointers to USB ISR can use them + usbfuncwrite = (uint32_t) &usbFunctionWrite; //should only assign lower 16bits + usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits + + //Initialize WDT, core features, etc + //enable interrupts __enable_irq(); //clear's processor PRIMASK register bit to allow interrupts to be taken //I think this gets done automatically when enabling individual IRQs @@ -92,8 +114,7 @@ int main(void) //setup LED as outputs and turn them on //setup user switch as input - init_usb(); - //Initialize board/system + #endif diff --git a/firmware/source/usb.c b/firmware/source/usb.c index 2d8428a..58d9792 100644 --- a/firmware/source/usb.c +++ b/firmware/source/usb.c @@ -46,7 +46,10 @@ USB_PUBLIC usbMsgLen_t usbFunctionSetup(uchar data[8]) { #endif #ifdef STM_CORE -uint16_t usbFunctionSetup(uint8_t data[8]) { +#define NOINLINE __attribute__ ((section (".text"), noinline, noclone)) +//NOINLINE should keep these functions at beinging of flash (.text) +//they need to be in the first 64KByte which is non issue with C6, but could prob with RB +NOINLINE uint16_t usbFunctionSetup(uint8_t data[8]) { #endif @@ -274,8 +277,9 @@ uint16_t usbFunctionSetup(uint8_t data[8]) { #ifdef AVR_CORE USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) { #endif + #ifdef STM_CORE -uint8_t usbFunctionWrite(uint8_t *data, uint8_t len) { +NOINLINE uint8_t usbFunctionWrite(uint8_t *data, uint8_t len) { #endif //defined and controled by buffer.c diff --git a/firmware/source_stm_only/stm_init.c b/firmware/source_stm_only/stm_init.c index 1ff7aa4..752bd07 100644 --- a/firmware/source_stm_only/stm_init.c +++ b/firmware/source_stm_only/stm_init.c @@ -230,3 +230,39 @@ void init_clock() } +//pick define based on xtal setup for init_clock and init_usb_clock functions +//#define NO_XTAL +#define EXTERNAL_XTAL +void init_usb_clock() +{ + // stm32f0x2 devices have HSI 48Mhz available to clock usb block, or PLL if it's source accurate enough + // stm32f0x0 devices must have ext xtal and use PLL output to drive usb block + +#ifdef EXTERNAL_XTAL + //by default the 072 has HSI 48Mhz selected as USB clock + //on the 070 this equates to off, so 070 must set USBSW bit + RCC->CFGR3 |= RCC_CFGR3_USBSW_PLLCLK; +#endif + +#ifdef NO_XTAL + //Turn on HSI48 supposedly it will turn itself on if USB is enabled with HSI48 selected as clock + RCC->CR2 |= RCC_CR2_HSI48ON; + + while ((RCC->CR2 & RCC_CR2_HSI48RDY) != RCC_CR2_HSI48RDY) /* (10) Wait until the HSI48 is stable */ + { /* For robust implementation, add here time-out management */ } + + //by default the 072 has HSI 48Mhz selected as USB clock + RCC->CFGR3 &= ~RCC_CFGR3_USBSW_Msk; + //on the 070 this equates to off, so 070 must set USBSW bit + //CRS system must be turned on to keep HSI 48Mhz calibrated + RCC->APB1ENR |= RCC_APB1ENR_CRSEN; + //Default settings are good using SOF packets for calibration +#endif + + //enable USB block by providing clock + RCC->APB1ENR |= RCC_APB1ENR_USBEN; + + +} + + diff --git a/firmware/source_stm_only/stm_init.h b/firmware/source_stm_only/stm_init.h index 91e7a8e..5a4c3d1 100644 --- a/firmware/source_stm_only/stm_init.h +++ b/firmware/source_stm_only/stm_init.h @@ -2,4 +2,5 @@ #include void init_clock(); +void init_usb_clock(); diff --git a/firmware/source_stm_only/usbstm.c b/firmware/source_stm_only/usbstm.c index 340ea7a..d4033a7 100644 --- a/firmware/source_stm_only/usbstm.c +++ b/firmware/source_stm_only/usbstm.c @@ -6,42 +6,6 @@ //since usb drivers don't use any .data nor .bss space //static int log = 0; -//pick define based on xtal setup for init_clock and init_usb_clock functions -//#define NO_XTAL -#define EXTERNAL_XTAL -void init_usb_clock() -{ - // stm32f0x2 devices have HSI 48Mhz available to clock usb block, or PLL if it's source accurate enough - // stm32f0x0 devices must have ext xtal and use PLL output to drive usb block - -#ifdef EXTERNAL_XTAL - //by default the 072 has HSI 48Mhz selected as USB clock - //on the 070 this equates to off, so 070 must set USBSW bit - RCC->CFGR3 |= RCC_CFGR3_USBSW_PLLCLK; -#endif - -#ifdef NO_XTAL - //Turn on HSI48 supposedly it will turn itself on if USB is enabled with HSI48 selected as clock - RCC->CR2 |= RCC_CR2_HSI48ON; - - while ((RCC->CR2 & RCC_CR2_HSI48RDY) != RCC_CR2_HSI48RDY) /* (10) Wait until the HSI48 is stable */ - { /* For robust implementation, add here time-out management */ } - - //by default the 072 has HSI 48Mhz selected as USB clock - RCC->CFGR3 &= ~RCC_CFGR3_USBSW_Msk; - //on the 070 this equates to off, so 070 must set USBSW bit - //CRS system must be turned on to keep HSI 48Mhz calibrated - RCC->APB1ENR |= RCC_APB1ENR_CRSEN; - //Default settings are good using SOF packets for calibration -#endif - - //enable USB block by providing clock - RCC->APB1ENR |= RCC_APB1ENR_USBEN; - - -} - - void usb_reset_recovery(){ // USB->CNTR |= USB_CNTR_FRES; @@ -206,10 +170,13 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; //static uint16_t num_bytes_req; #define num_bytes_req usb_buff[NUM_BYTES_REQ] //place this variable in USB RAM + //static uint16_t num_bytes_sending; #define num_bytes_sending usb_buff[NUM_BYTES_SENDING] //place this variable in USB RAM + //static uint16_t num_bytes_expecting; //this was never used, so it was cut //#define num_bytes_expecting usb_buff[NUM_BYTES_EXPECTING] //place this variable in USB RAM + //static uint16_t num_bytes_xfrd; #define num_bytes_xfrd usb_buff[NUM_BYTES_XFRD] //place this variable in USB RAM @@ -228,7 +195,6 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; #define newaddr_reqtype usb_buff[NEWADDR_REQTYPE] //place this variable in USB RAM - //static uint8_t req_dir; #define req_dir usb_buff[VAR_REQ_DIR] //place this variable in USB RAM @@ -240,9 +206,15 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; //#define TSSOP20 //defined when using TSSOP-20 part to get PA11/12 alternate mapping to the pins +//prereq: USB block's clock must be initialized prior to calling void init_usb() { + //initialize the clock + //init_usb_clock(); + //couldn't get this to work for some reason.. + //leaving it up to the main to turn on the USB clock + //clear variables stored in USB ram since can't rely on .bss clearning them anymore //Don't think most of these actually need to be cleared.. newaddr_reqtype might be only one.. num_bytes_req = 0; @@ -769,7 +741,22 @@ static void control_xfr_init( usbRequest_t *spacket ) { //setup packets not handled by standard requests sent to usbFunctionSetup (just like Vusb) if ((spacket->bmRequestType & REQ_TYPE_MASK) != REQ_TYPE_STD) { //function must set usbMsgPtr to point to return data for IN transfers - num_bytes_sending = usbFunctionSetup( (uint8_t*) spacket ); + //num_bytes_sending = usbFunctionSetup( (uint8_t*) spacket ); + + //the above worked great for a long time.. + //but now I want to separate application code from usb code for firmware updates + //to do this the usb code can't directly call application code (usbFunction Setup/Write) + //need the application code to tell the usb code where the functions are using variables + + //call the usbFunctionSetup function with some function pointer magic + typedef uint16_t (*pFunction)(uint8_t data[8]); + pFunction JumpToApplication; + JumpToApplication = (uint16_t (*)(uint8_t data[8])) ((0x08000000)); //base of flash + //application main makes the following assignment at powerup + //usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits + JumpToApplication += usbfuncsetup; + + num_bytes_sending = JumpToApplication( (uint8_t*) spacket ); } @@ -863,6 +850,7 @@ static void control_xfr_init( usbRequest_t *spacket ) { //control_xfr_out(); } + } @@ -881,6 +869,20 @@ static void control_xfr_init( usbRequest_t *spacket ) { void USB_IRQHandler(void) { + //communications between application code & USB to prevent direct calls + //USB interrupts should probably be disabled when getting things done in this manner.. + if (usbflag) { + //IDK if checking for it to be clear before switching will result in faster code or not.. + switch (usbflag) { + case INITUSB: + init_usb(); break; + } + //clear the flag so don't come back for same request + //TODO think this trough to make sure other IRQ triggers aren't going to mess this up.. + //perhaps we need to disable irq's while performing these flaging operations.. + usbflag = 0x0000; + } + //all interrupts enabled by USB_CNTR, plus any successful rx/tx to an endpoint triggers this ISR //should be our goal to get out of this ISR asap, signal the transaction to the main thread @@ -947,7 +949,20 @@ void USB_IRQHandler(void) // if ( log >= LOG_COUNT) { DEBUG_HI(); DEBUG_LO(); } //number of bytes received is denoted in USB_COUNTn_RX buffer table //control_xfr_out(); - usbFunctionWrite((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK)); + //usbFunctionWrite((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK)); + + //usb code doesn't know where usbFunctionWrite is at build time + //must use usb_buff variables as function pointers, but they're only 16bit + + //function pointer magic + typedef uint8_t (*pFunction)(uint8_t *data, uint8_t len); + pFunction JumpToApplication; + JumpToApplication = (uint8_t (*)(uint8_t *data, uint8_t len)) ((0x08000000)); //Base of flash + //application main makes the following assignment at powerup + //usbfuncwrite = (uint32_t) &usbFunctionWrite; //should only assign lower 16bits + JumpToApplication += usbfuncwrite; //must be within first 64KByte of flash + JumpToApplication((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK)); + USB_EP0R_RX_VALID(); } } diff --git a/firmware/source_stm_only/usbstm.h b/firmware/source_stm_only/usbstm.h index 98463be..07b89f7 100644 --- a/firmware/source_stm_only/usbstm.h +++ b/firmware/source_stm_only/usbstm.h @@ -87,12 +87,23 @@ //usbstm only uses the stack and usb_buff ram table //There are 2 bytes unused, perhaps these can be utilized for initialization flags or other communication between //usb driver and application code +#define USBFLAG 7 +#define usbflag usb_buff[USBFLAG] //used for communication between USB driver and main application + //different values for usbflag + // 0x0000 reserved for flag cleared + #define INITUSB 0xA53C + +//need 4 bytes for setup & write functions, bump the BTABLE another 8Bytes for now... +#define USBFUNCSETUP 8 +#define usbfuncsetup usb_buff[USBFUNCSETUP] +#define USBFUNCWRITE 9 +#define usbfuncwrite usb_buff[USBFUNCWRITE] //buffer table itself is located in 1KB buffer above, but it's location is programmable //the table must be aligned to an 8Byte boundary //#define USB_BTABLE_ADDR ((uint16_t) 0x0000) //least 3 significant bits are forced to zero -#define USB_BTABLE_ADDR ((uint16_t) 0x0010) //this skips the first 16Bytes of usb buffer so can be used for vars above +#define USB_BTABLE_ADDR ((uint16_t) 0x0018) //this skips the first 16+8Bytes of usb buffer so can be used for vars above #define USB_BTABLE_BASE USB_BTABLE_ADDR/2 //The base index is in 16bit half words #define USB_BTABLE_SIZE 64 //32x 16bit halfwords //NOTE!!! ADDR is the 8bit "BYTE" address, BASE is the index of the usb_buff array @@ -273,13 +284,14 @@ extern uint16_t volatile (* const usb_buff); #define usbMsgPtr_L usb_buff[USBMSGPTR_L] //place this variable in USB RAM #define usbMsgPtr_H usb_buff[USBMSGPTR_H] //place this variable in USB RAM +//These declarations are solely for compilation purposes of usb code so it knows what +//these functions contained in the application code look like extern uint16_t usbFunctionSetup(uint8_t data[8]); extern uint8_t usbFunctionWrite(uint8_t *data, uint8_t len); -void init_clock(); -void init_usb_clock(); -void usb_reset_recovery(); -void init_usb(); +//don't want any application functions/files calling this code! +//void usb_reset_recovery(); +//void init_usb(); #endif diff --git a/host/scripts/app/time.lua b/host/scripts/app/time.lua new file mode 100644 index 0000000..9bc019c --- /dev/null +++ b/host/scripts/app/time.lua @@ -0,0 +1,35 @@ + +-- create the module's table +local time = {} + +-- import required modules + +-- file constants & variables +local tstart + + +-- local functions +local function start() + tstart = os.clock() +end + + +--send the number of KBytes flashed so it can report KBps +local function report(sizeKB) + local time = os.clock() - tstart + print("total time:", time, "seconds, average speed:", (sizeKB/time), "KBps") +end + + +-- global variables so other modules can use them + + +-- call functions desired to run when script is called/imported + + +-- functions other modules are able to call +time.start = start +time.report = report + +-- return the module's table +return time diff --git a/host/scripts/nes/bnrom.lua b/host/scripts/nes/bnrom.lua index bcd9d6f..d36aa40 100644 --- a/host/scripts/nes/bnrom.lua +++ b/host/scripts/nes/bnrom.lua @@ -7,10 +7,12 @@ local dict = require "scripts.app.dict" local nes = require "scripts.app.nes" local dump = require "scripts.app.dump" local flash = require "scripts.app.flash" +local time = require "scripts.app.time" -- file constants & variables local mapname = "BxROM" local banktable_base = 0xFF94 --Lizard +--local banktable_base = 0xFFE0 --HH85 --local rom_FF_addr = 0x8000 -- local functions @@ -238,7 +240,9 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile, --TODO find bank table to avoid bus conflicts! --dump cart into file + time.start() dump_prgrom(file, prg_size, false) + time.report(prg_size) --close file assert(file:close()) @@ -280,6 +284,8 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile, --determine if auto-doubling, deinterleaving, etc, --needs done to make board compatible with rom + time.start() + --write bank table to all banks of cartridge wr_bank_table(banktable_base, prg_size/32) --32KB per bank --TODO need to verify where bank table belongs and properly determine number of banks @@ -287,6 +293,8 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile, --flash cart flash_prgrom(file, prg_size, true) + time.report(prg_size) + --close file assert(file:close()) @@ -300,7 +308,9 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile, file = assert(io.open(verifyfile, "wb")) --dump cart into file + time.start() dump_prgrom(file, prg_size, false) + time.report(prg_size) --close file assert(file:close())