diff --git a/firmware/build_stm/inlretro_stm.bin b/firmware/build_stm/inlretro_stm.bin index 1a9588c..6fd776b 100644 Binary files a/firmware/build_stm/inlretro_stm.bin and b/firmware/build_stm/inlretro_stm.bin differ diff --git a/firmware/build_stm/inlretro_stm.elf b/firmware/build_stm/inlretro_stm.elf index cba581d..ca2ae04 100644 Binary files a/firmware/build_stm/inlretro_stm.elf and b/firmware/build_stm/inlretro_stm.elf differ diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex index 8cd50c2..92f4d15 100644 --- a/firmware/build_stm/inlretro_stm.hex +++ b/firmware/build_stm/inlretro_stm.hex @@ -1,5 +1,5 @@ :020000040800F2 -:1000000000180020C1000008FD000008FD2F0008B6 +:1000000000180020C1000008FD0000087534000839 :1000100000000000000000000000000000000000E0 :10002000000000000000000000000000FD000008CB :100030000000000000000000FD000008FD000008B6 @@ -13,1236 +13,1236 @@ :1000B000FD000008FD000008FD0000080101000827 :1000C00009490A4A0A4B9B1A03DD043BC858D05021 :1000D000FBDC0849084A0020521A02DD043A885025 -:1000E000FCDC01F0DDFF0000AC4B0008000000204C -:1000F000300400203004002038070020FEE7C0460E -:10010000F0B5BA4A89B0138801921BB2002B01DB0B -:1001100001F0B9FC1388B64A1A4080231343019AB0 -:100120001380019B1A8880231B011340B14A01D11F -:1001300001F077FCB049B14C0B68B14801330B605A -:1001400023787F211D008D43AE49AF4E0D70E188AD -:10015000018000203080602633401370AB4A2600B7 -:100160001570834201D100F0C2FEFF23A84CCAB231 -:100170002370A84B60701C600292707801380E28C2 -:1001800001D901F0D7FB04F027FC0F00FD053A0868 -:100190000F09A00AD50BC00B6D09160A770A9E0A33 -:1001A00046094F0957095F09B078B3888C2219288E -:1001B00024D88022D20004F00FFC1A00240047014A -:1001C0002702EF028E031704D304EF04FB04030598 -:1001D0000B0514051D052B0533053B054305480597 -:1001E0005C0572059305A805BF05D702E302B0239D -:1001F000894A5B0351690B4353610022227000F06E -:1002000072FE152B01D900F0AEFD18008023DB0033 -:1002100004F0E2FB160023002E00A905390044007B -:100220004F00A9055C00690073008000A905A905BD -:100230008D009A00A500B200BF00CC00D600E000FF -:100240009022D205136875490B4013608023D16852 -:100250005B030B43D3600022D0E790210123C90543 -:100260000A689A430A60CA681343CB600022C5E754 -:1002700090210423C9050A689A430A60CA68134397 -:10028000CB600022BAE790211023C9050A689A437F -:100290000A60CA681343CB600022AFE79021402375 -:1002A000C9050A689A430A60CA681343CB600022F2 -:1002B000A4E79022D205136859490B4013608023AC -:1002C000D168DB040B43D360002297E79022D2056C -:1002D000136854490B4013608023D1685B010B43C2 -:1002E000D36000228AE704234F490A689A430A60D0 -:1002F000CA681343CB60002280E79022D2051368BE -:100300004A490B4013608023D168DB050B43D3605F -:10031000002273E79022D205136845490B40136011 -:100320008023D168DB020B43D360002266E7902272 -:10033000D20513683F490B4013608023D1685B00EE -:100340000B43D360002259E79022D20511683A4846 -:1003500001401160D1680B43D36000224EE7902228 -:10036000D205136835490B4013608023D168DB0147 -:100370000B43D360002241E79022D205136828493D -:100380000B4013608023D168DB040B43D360002251 -:1003900034E79022D205136829490B40136080236B -:1003A000D1685B050B43D360002227E701231E4978 -:1003B0000A689A430A60CA681343CB6000221DE7AB -:1003C000102320490A689A430A60CA681343CB6025 -:1003D000002213E79021C9050A68174802400A6005 -:1003E000CA681343CB60002208E7C046005C0040A7 -:1003F0008F0F0000FA06002098040020486000409B -:100400009E040020F8060020A2040020F906002027 -:10041000FC0600202C07002000100240FFFFEFFF29 -:10042000FFFFFFFBFFEFFFFF00040048FFFFFFBFE0 -:10043000FFFFFBFFFFFEFFFFFFFBFFFFFFBFFFFF15 -:10044000FFFFFFEF000C0048152B01D900F08EFCD8 -:10045000180004F0C1FA160021002C008B043700AC -:1004600042004D008B04580063006D0078008B043F -:100470008B0483008E009900A400AF00BA00C40072 -:10048000CE009023DB051968D14801401960DA6875 -:100490000240DA600022B1E690230121DB051A68F0 -:1004A0008A431A60DA688A43DA600022A6E690235B -:1004B0000421DB051A688A431A60DA688A43DA6025 -:1004C00000229BE690231021DB051A688A431A60FC -:1004D000DA688A43DA60002290E690234021DB0547 -:1004E0001A688A431A60DA688A43DA60002285E66D -:1004F0009023DB051968B74801401960DA680240AB -:10050000DA6000227AE69023DB051968B2480140E0 -:100510001960DA680240DA6000226FE60421AF4B0E -:100520001A688A431A60DA688A43DA60002265E64C -:100530009023DB051968AA4801401960DA68024077 -:10054000DA6000225AE69023DB051968A5480140CD -:100550001960DA680240DA6000224FE69023DB057A -:100560001968A14801401960DA680240DA60002287 -:1005700044E69023DB0519689C4801401960DA685D -:100580000240DA60002239E69023DB0519689848BA -:1005900001401960DA680240DA6000222EE69023FA -:1005A000DB0519688B4801401960DA680240DA609F -:1005B000002223E69023DB0519688E48014019606C -:1005C000DA680240DA60002218E60121834B1A68DB -:1005D0008A431A60DA688A43DA6000220EE6102144 -:1005E000854B1A688A431A60DA688A43DA60002207 -:1005F00004E69023DB0519687C4801401960DA683D -:100600000240DA600022F9E5152B00D9B1E31800A9 -:1006100004F0E2F916001F002700AF032F00370097 -:100620003F00AF034800510058006100AF03AF0323 -:100630006A0073007A0083008C0095009C00A30080 -:1006400090228023D20511685B030B4313600022C4 -:10065000D4E590220123D20511680B4313600022D8 -:10066000CCE590220423D20511680B4313600022CD -:10067000C4E590221023D20511680B4313600022B9 -:10068000BCE590224023D20511680B431360002281 -:10069000B4E590228023D2051168DB040B4313607C -:1006A0000022ABE590228023D20511685B010B4349 -:1006B00013600022A2E50423484A11680B4313602B -:1006C00000229BE590228023D2051168DB050B43B5 -:1006D0001360002292E590228023D2051168DB028C -:1006E0000B431360002289E590228023D205116814 -:1006F0005B000B431360002280E59021C9050B6865 -:100700001A430A60002279E590228023D2051168FD -:10071000DB010B431360002270E590228023D20599 -:100720001168DB040B431360002267E590228023ED -:10073000D20511685B050B43136000225EE50123BF -:10074000264A11680B431360002257E510232A4AFA -:1007500011680B431360002250E59021C9050B6816 -:100760001A430A60002249E58D22082B00D045E596 -:100770009022D205516838330B43536000223DE587 -:100780008D22082B00D039E590224021D2055368F4 -:100790008B435360002231E5152B00D9ECE21800A1 -:1007A00004F01AF92C0031003700EA023D00430042 -:1007B0004900EA02500056005B006200EA02EA02C9 -:1007C00069006F0075007B00820089008E00930035 -:1007D000FFFFEFFFFFFFFFFBFFEFFFFF00040048FD -:1007E000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF62 -:1007F000FFBFFFFFFFFFFFEF000C00489023DB056A -:100800009A620022FAE490230122DB059A62002218 -:10081000F4E490230222DB059A620022EEE49023A6 -:100820000422DB059A620022E8E490230822DB051B -:100830009A620022E2E4802290239201DB059A6210 -:100840000022DBE490234022DB059A620022D5E4FB -:100850000222CC4B9A620022D0E480229023120222 -:10086000DB059A620022C9E4802290239200DB0516 -:100870009A620022C2E490231022DB059A620022D1 -:10088000BCE490232022DB059A620022B6E4902388 -:100890008022DB059A620022B0E48022902392013C -:1008A000DB059A620022A9E480229023D201DB05B5 -:1008B0009A620022A2E40122B24B9A6200229DE4D5 -:1008C0000422B14B9A62002298E490232022DB0597 -:1008D0009A62002292E4152B00D950E2180004F02D -:1008E0007BF816001B0021004E0227002D0033006C -:1008F0004E023A00400045004C004E024E025300AA -:1009000059005F0065006C00730078007D00902343 -:10091000DB059A61002271E490230122DB059A61D4 -:1009200000226BE490230222DB059A61002265E439 -:1009300090230422DB059A6100225FE490230822C1 -:10094000DB059A61002259E4802290239201DB05A5 -:100950009A61002252E490234022DB059A61002232 -:100960004CE40222874B9A61002247E480229023C4 -:100970001202DB059A61002240E48022902392005B -:10098000DB059A61002239E490231022DB059A618D -:10099000002233E490232022DB059A6100222DE41B -:1009A00090238022DB059A61002227E48022902395 -:1009B0009201DB059A61002220E480229023D2017B -:1009C000DB059A61002219E401226E4B9A61002234 -:1009D00014E404226C4B9A6100220FE4902320223D -:1009E000DB059A61002209E402226270152B00D90E -:1009F000B1E0180003F0DCFF0B151EAF273039AF54 -:100A0000434C545DAFAF677079828C969EA690235D -:100A10008022DB051B69D200134063800022FFF7B0 -:100A2000EDFB90230122DB051B691340638000224C -:100A3000FFF7E4FB90230222DB051B691340638070 -:100A40000022FFF7DBFB90230422DB051B69134028 -:100A500063800022FFF7D2FB90230822DB051B698D -:100A6000134063800022FFF7C9FB90238022DB053F -:100A70001B699201134063800022FFF7BFFB9023A4 -:100A80004022DB051B69134063800022FFF7B6FBA1 -:100A900002223C4B1B69134063800022FFF7AEFB30 -:100AA0009023DB051B690022DB0BDB036380FFF770 -:100AB000A5FB90238022DB051B6992001340638015 -:100AC0000022FFF79BFB90231022DB051B691340DC -:100AD00063800022FFF792FB90232022DB051B6935 -:100AE000134063800022FFF789FB90238022DB05FF -:100AF0001B69134063800022FFF780FB9023802254 -:100B0000DB051B699201134063800022FFF776FB2F -:100B100090238022DB051B69D201134063800022F1 -:100B2000FFF76CFB0122174B1B6913406380002207 -:100B3000FFF764FB0422144B1B69134063800022FF -:100B4000FFF75CFB90232022DB051B6913406380C9 -:100B50000022FFF753FB00238D226370FFF74EFB4B -:100B600080230A4ADB0251690B435361054A084955 -:100B700013680B401360D168064B0B43D36000220F -:100B8000FFF73CFB00040048000C00480010024046 -:100B9000FFFFAAAA00005555ED4AEE4913680B4025 -:100BA0001360D168EC4B0B43D3600022FFF726FBA8 -:100BB000E74AE84913680B4013600022FFF71EFB69 -:100BC000E34AE54B11680B4313600022FFF716FB65 -:100BD000DF491B024A69D2B213434B610022FFF77F -:100BE0000DFBDB4B00221B691B0AA3700123637002 -:100BF000FFF704FB8023D94A1B0351690B43536160 -:100C0000D74AD84B11680B4313600022FFF7F6FA5E -:100C1000D34AD44BD1680B43D3600022FFF7EEFADE -:100C2000CF4AD14913680B4013600022FFF7E6FA60 -:100C3000CB4ACC4B11680B4313600022FFF7DEFA5E -:100C4000C74A53610022FFF7D9FA8023C34A1B0326 -:100C500051690B435361BE4AC44B11680B43136087 -:100C60009022D2051168C24B0B4313600022FFF79C -:100C7000C5FAB74ABD4BD1680B43D3609023DB055F -:100C8000D868BB490143D9601168BA480140116076 -:100C90001A68B9490A401A600022FFF7AFFAF82231 -:100CA0008027AB4D98026969D20110403F025A0279 -:100CB0003A4089051043890D08439021686110204E -:100CC0005D08C90528404A69AC4DDB012A40024352 -:100CD0008020C001034013434B610022FFF78EFACE -:100CE000C0239E4ADB0251690B435361984AA44BCF -:100CF00011680B4313609022A023D20511685B0397 -:100D00000B4313600022FFF779FA914A9C4BD1689C -:100D10000B43D3609023A021DB05D868490301432E -:100D2000D96011689748014011601A6896490A40D5 -:100D30001A600022FFF762FAFF2185489D00426990 -:100D40002940924DDB002A400A4342619022C02094 -:100D5000D205C000516903408D4801400B435361E7 -:100D60000022FFF74BFA8D22FFF748FA8D22FFF79A -:100D700045FA8D22FFF742FA8D22FFF73FFA8D22C6 -:100D8000FFF73CFAB578B288032D00D16CE155D855 -:100D9000012D64D05FD901F0D9F890220121D2054C -:100DA00013680B4313601023916111680B431360A8 -:100DB00004234021936113680B431360082393615C -:100DC0009161802311685B010B43136080236348AA -:100DD000DB0241695F4D0B435D4943610B682B406A -:100DE0000B60CC685C4B1C43CC600C682C400C60E6 -:100DF000CC682343CB60802344691B032343584CB6 -:100E000043612568574B2B43236000236361C02453 -:100E10004569E4022C4344610C685948204308604A -:100E2000A02014684003204310604869574C2040BC -:100E30004861516956480140516152E0052D00D189 -:100E4000B2E000D254E1072D00D1F1E0802D00D1B5 -:100E500080E1962345E001F079F8002341E001F0BC -:100E600075F89023DB051A683A4C2A431A608022F1 -:100E70009D61196852030A431A6080220421D2003E -:100E80009A621A680A431A6002229A6118680E323E -:100E900002431A604022996119680A431A600822C5 -:100EA0009A6180232D49DB024A6913434B61284B29 -:100EB0001A6822401A60D868274A1043D860186818 -:100EC00020401860D8680243DA6080234A691B0317 -:100ED0001343234A4B611168224B0B4313600023D9 -:100EE00053612C4A13706A462B4B12891A8033784F -:100EF000602259B2002901DB00F064FD134016D1D5 -:100F00007278062A0FD17288110A022901D100F0E5 -:100F100013FD032901D100F015FD204A012901D15B -:100F200000F00BFD03936A461B4B92891A80019BCC -:100F30001A881B4B13431B4A1A40C0239B01534082 -:100F4000019A9BB2138001F0FBFF00F05CFDC046EC -:100F500000040048FFFFAAAA0000555500100240F7 -:100F60000008004855555555AAAAAAAA0000505590 -:100F700000010010FFFFAFAAFFFEFFEFEFBF000070 -:100F800050550000AFAAFFFFFFFFEBFF03FF00007B -:100F9000FFF90000FC060020A0040020064A00081B -:100FA0008081FFFF8FBFFFFF00F0D0FF9022012163 -:100FB000D2051368C84D0B4313601023916111686B -:100FC0000B43136004234021936113680B431360A8 -:100FD000082393618023916211685B010B431360C6 -:100FE0008023BE49DB02486903434B61BC4B186850 -:100FF00028401860DC68BB480443DC601C682C4057 -:101000001C60DC682043D860802348691B030343CD -:101010004B61B549B54B086803430B6000234B6136 -:1010200080211068C901014311608021916258E755 -:1010300000F08CFF90220121D205136840200B4361 -:1010400013601023916111680B43136004239361B3 -:101050001168014311600821916111680B4313600D -:10106000022393619061ACE6D2B2022A21D0002320 -:10107000032A00D135E79723012A00D031E78023E6 -:1010800096491B03486903434B6197490B68934397 -:101090000B60CB681343CB604B6813434B608A6192 -:1010A0000B681A4300230A60914A1370914A116039 -:1010B00017E7B023894A5B03516940200B43536112 -:1010C0009023DB051A688C490A401A608022D9688F -:1010D00052011143D96059680143596098611968F8 -:1010E0000A4308211A60824A1170824A1360B4E6EA -:1010F000D2B29823012A00D0F3E690210A207F4B38 -:10110000C90519607E4B05321A70754B7D4A136014 -:101110007D4A10707D4A013013607D4A10707D4A0F -:10112000013013607C4A107080206C4A00035469BF -:10113000204350611C687948204318600868784B48 -:1011400003430B60B02351695B030B43536100F011 -:1011500021FE82E69023012740218025DB05677070 -:1011600099621A686D012A431A60C04662481C6978 -:101170001A680C4002401A60DA680240DA60F02215 -:10118000002C39D11A6802401A60DA681543DD6014 -:101190001A6994461A690492C0461A690592C046B3 -:1011A000C0461A690692C046C046C0461A690792F0 -:1011B000C046C046C046C0461D691A6802401A6053 -:1011C000DA681040D860634622000B4214D1049BB9 -:1011D0003A000B4210D1059B02320B420CD10B009E -:1011E00006990332194207D107990432194203D1F3 -:1011F00005321D4200D1D1324A4B9A702DE6B578A6 -:10120000F178B0880A2D58D016D8052D4BD009D8C2 -:10121000012D42D0002D38D0022D41D0042D45D0D3 -:10122000A02534E0072D4ED033D3082D4ED0092D04 -:10123000F6D101F063FE2EE0802D00D178E009D8D0 -:101240000C2D46D03CD3202D34D0212DE8D1364B67 -:10125000188020E0842D00D19CE009D8812D00D198 -:1012600092E0822DDCD10123637002F00DF88FE053 -:10127000852D00D193E0862DD2D1022363702A4BB5 -:101280001B88A3701B0AE37005E001F00BFE2570BC -:1012900029E601F0E3FD0025F9E701F0CDFFFAE7CB -:1012A00001F05EFDF7E701F083FFF4E7002201F0B3 -:1012B00062FFF0E71D4B1870EDE702F0A7F8EAE7D0 -:1012C00002F064F8E7E701F0A1FDE4E702F03CF882 -:1012D000E1E701F0F5FFDEE7FFFFAAAA00100240F8 -:1012E0000004004800005555000800485555555564 -:1012F0000807002004070020FFEFFFFF1C07002065 -:1013000020070020140700201807002024070020D1 -:10131000280700200C07002010070020000050556F -:1013200000010010FC060020340400208804002086 -:10133000012290236270DB051968C24D29401960B3 -:10134000D9682940D96080210225C90099629A6133 -:101350009D61BD4D6861C046C04600B299610028DC -:1013600000DA9A62C046C046C046C046C046C04683 -:1013700090228021B54BD205C9001B6991620121E1 -:101380001B0A9161A37086E70123637001F01EFDC3 -:10139000A07080E70123637001F032FFF8E70123BA -:1013A0006370AB4B1B78EDE7B078F178B388AA2275 -:1013B000042801D9FEF722FF03F0FAFA03261A1EC9 -:1013C0002200FF21A1489D0042692940A14DDB0078 -:1013D0002A400A4342619022C020D205C0005169D0 -:1013E00003409D4801400B4353610022FEF706FF76 -:1013F000180001F02BFCF8E7180001F08FFCF4E76F -:10140000180001F069FCF0E701221800627001F099 -:1014100043FCA070E9E7B278002A1DD00023012A1E -:1014200000D0AF2323705EE5B278002A14D00023E9 -:10143000012AF7D0B023F5E7B278002A0CD00023B8 -:10144000012AEFD0B123EDE7B278002A04D00023BF -:10145000012AE7D0B223E5E701236370A933A37023 -:101460000023DFE7B578F278B188112D00D19BE039 -:1014700007D8012D6BD0002D0FD0022D7DD08225F5 -:1014800005E7212D00D185E0222D00D188E0122D25 -:10149000F5D102231020637089E0012529006F4AED -:1014A0006F4F12783B68914099625A6810208A43C6 -:1014B0005A6001F055FE2900684B3A681B780427F2 -:1014C00099400B009161516804950B435360FA20D9 -:1014D000400001F045FE614A04991278FA209140DB -:1014E0005F4D40002B68013F99625A68BFB28A4342 -:1014F0005A6001F035FE594B04991B782A689940CF -:101500000B00916151680B435360002FDFD104251C -:10151000FA2001F025FE0121504A514F12783B6814 -:10152000914099625A68FA208A435A6001F018FE85 -:1015300001214A4B3A681B78013D99400B009161AB -:101540005168ADB20B435360002DE1D19FE62900F5 -:10155000424A434F12783B68914099625A68102082 -:101560008A435A6001F0FCFD3C4A3B681278954082 -:101570009D615A6815435D608DE60123374A6370AB -:10158000127838499340364A9BB21268002002F024 -:1015900027F9FDE601230020637001F031FDF7E635 -:1015A000012310206370F8E702230020637001F02C -:1015B00081FD60806FE6B378B288042B1AD006D81C -:1015C000022B1CD021D8012B0FD087232AE7072B11 -:1015D00024D003D8052BF8D1234B14E0082B22D0BC -:1015E000802BF2D100F0D6FB3AE7204A1278A270A5 -:1015F000637035E71E4B1B78A3700123F8E71B4B84 -:101600001A7083221A4B1A702AE7184B184D1A7059 -:1016100083232B7000F02EFC2B78EDE7154B1A700E -:10162000120A5A701CE7134B1A78A2705A78E270AB -:101630009A782271DA7862711A79A2715B79E37112 -:101640000623D5E7FFEFFFFF00080048000400482D -:101650008804002003FF0000FFF9000008070020B5 -:101660000407002004000200E5040020C404002058 -:10167000E6040020C5040020B378B288022B16D0FF -:10168000032B17D0012B1CD1024885460248001CB1 -:101690000047C04678120020C5CAFF1F060005009B -:1016A0000800070019C9FF1FEFBEADDED8E6B34B37 -:1016B0001A60D5E6B14B18680004104302F08AF8AE -:1016C000CEE68A23AEE68823ACE6B2781300303B40 -:1016D0002F2B19D8F078032800D9CEE003F068F951 -:1016E00014021012A64B512A00D177E024D8312AD7 -:1016F00053D00BD8002A33D0302A49D0B42345E048 -:10170000A04BF0E7A04BEEE7A04BECE7332A4ED01E -:1017100048D3502AF2D100222270063262701A7A1F -:10172000A270DA78E2705A7A22719A7A62719A78A3 -:10173000A2715B7CE37145E07F2A00D983E0702AC7 -:101740005CD2602A36D0612A40D0522AD6D10022FB -:101750001B882270A37002321B0A6270E37031E0B2 -:10176000FF238B4953540132102AFBD1844A874905 -:10177000D3709370844ACB70D370937001228B70B6 -:101780008049CB708B70834B1A700023237019E053 -:10179000B288110AD9721A73F7E7B288110A59731D -:1017A0009A73F2E7B288110AD9731A74EDE7B28816 -:1017B0005A74EAE70023237001336370B388744AD4 -:1017C000D35CA370744B1C60FFF78DFB0023237068 -:1017D00001336370714B1B68DB78F2E700222270E3 -:1017E00006326270DA7AA2701A7BE2705A7B22713A -:1017F0009A7B6271DA7BA2711B7C9BE7634B674922 -:101800005C6833787F2B00D95BE16846644B007AD3 -:1018100018700868C378002B0ED000200290982B17 -:1018200005D156E100200290D02B00D151E1594B57 -:1018300010301870FF2304E05A4B18609023C370D7 -:101840006F33029345E107201040032815D803F0B9 -:10185000AFF8160218124A4B802AB3D3872A12D93E -:101860007032D2B2072AADD800222270F2789A7272 -:10187000B2881A80A6E7444BEEE7B52386E7434BD0 -:10188000EAE7404BE8E7B188F0780A0AC9B24518A0 -:101890009446BE22102D2DDC043200282AD0DD789B -:1018A000033AFF2D26D19D780132FF2D22D100224F -:1018B000D5B2A84220D862464501013D1D724D01B6 -:1018C0002F009A700022384DDA70ED195A729A7210 -:1018D0001A80DA721A735A739A73DA731A745A7412 -:1018E0005D602B4B591863468B540132D3B283424F -:1018F000F9D30022227065E701328D18244F013D93 -:101900007D5DFF2DD4D0C122F4E7B278002A04D047 -:10191000402A07D0D222227055E72270B1881D4A92 -:10192000117050E70022227001326270194A127859 -:10193000A27048E7802375E51C4A174B1A601223F2 -:10194000FFF7F0FAD2B2012A11D0002A09D0022AF8 -:1019500001D0FFF7E7FA104B154A1A60154BFFF755 -:10196000E1FA0D4B144A1A600423FFF7DBFA0A4B25 -:10197000124A1A60124BFFF7D5FAC0463004002015 -:101980004C0400206004002074040020380400206F -:10199000E7040020A40400202C0700208C04002071 -:1019A0009404002090040020F8040020F44900086A -:1019B000704A00081E030000184A00081C4A00086C -:1019C0002A030000134208D17378052B05D17388D0 -:1019D0004B4A13704B4ADBB21380019B4A4A1B8867 -:1019E00001991340494A13439BB20B800021484B95 -:1019F0001980019B1B881A43464B1A40464B5A409C -:101A0000019B92B21A80454BDA8F520507D580218F -:101A1000434A11800022DA87424B019A138009B0B1 -:101A2000F0BD1278402AEED13F4A1278002AEAD15E -:101A30003E4A10883E4AC0B211684D7A4E68DAB20A -:101A40005419E4B2904218D84A7A82184A72394A34 -:101A500013781B1ADBB21370002B01D19833CB70B3 -:101A6000019B1A88294B1343334A1A40C0239B0118 -:101A70005340019A9BB21380C5E7304A9A181278F6 -:101A800001333255DBE7019B1B881B06BBD5019B4D -:101A90002B4A1B881340802212021343019A1380A1 -:101AA000284B1B78802B01D1FFF74DFA144A13788D -:101AB000002BA8D080210B4319490B800023137001 -:101AC000A1E70868C378D82B00D0ABE68023446830 -:101AD000C3700B6800215972DB78902B00D071E63F -:101AE000712A00D06EE6124BB2881B6859680A70E2 -:101AF000B2885968120A4A705A7A02325A7261E6FA -:101B00009C040020506000408F8EFFFF8080FFFF0C -:101B100002600040BFBFFFFF30300000065C0040A5 -:101B20004C5C004020320000F906002006600040B6 -:101B300090040020940400208FBFFFFF4860004005 -:101B40000F8FFFFFF8060020F0B5404B8BB00891D7 -:101B500019783F4B09921B78019002933D4B019DF0 -:101B60001C683D4B3D481A7801231E0096403C4AB4 -:101B7000A662102D5ED11278006893408362012026 -:101B80000200364B05901F68354B1B789A40039234 -:101B90000200344B1B680693334B1B789A4093B278 -:101BA00002000793314B1B689C46314B1B789A40CF -:101BB000002304921A000198202806D1029D05985E -:101BC0001D4105423ED00398B861089820280FD1E6 -:101BD000002B01D11E4883540698056907980542D9 -:101BE00006D01B48855C05989840054318488554E5 -:101BF00009980139C9B2002802D0002900D1A66194 -:101C00006046049D0133DBB285618562082B05D1F6 -:101C100001320F4BD2B29B5C029300230029CAD140 -:101C20000E4B1A680E4B197801238B409362A66203 -:101C30000BB0F0BD019D112DA1D112780068934029 -:101C400083619CE70398B862BFE7C046E5040020C3 -:101C5000C5040020240700202807002014070020C6 -:101C6000180700201C070020200700200C07002078 -:101C700010070020F7B51F4B1F491A781F4B10287B -:101C80002ED101241E780D68B440AC6201263500C7 -:101C90000C6831001B7801969D40194B1B6800931E -:101CA000184B1B78994000238C46190020280DD131 -:101CB000154E019F765C1E413E4219D0A56101334D -:101CC000DBB2082B02D100230131C9B26646009F66 -:101CD000013AD2B2BE61BE62002AE7D1A562F7BD69 -:101CE0001128D3D101241E780D68B440AC61CDE732 -:101CF000A562E4E7E504002024070020280700206F -:101D00000C07002010070020C5040020F7B50D00C7 -:101D10001600FF27000203B24C7A01932A7AE3B23D -:101D2000A24202D26B720020FEBD20006A683840D9 -:101D3000D15C019B0134184380B2B047A4B2EDE7F7 -:101D4000022907D10F4B104A984218D0904209D16E -:101D5000180007E0032906D10A4B0B490B4A9842A9 -:101D60000BD1080070470429FCD1064B064A984263 -:101D700005D006499042F4D0054A8842E6D11000C9 -:101D8000F0E7C046380400204C0400206004002026 -:101D900074040020F0B52C4B85B019682B4B2C48EF -:101DA0001B7800780193012302901E0018001F0089 -:101DB000019A029C9640A040264D274A2D78126831 -:101DC000AF408E628446906224489D4000688762DE -:101DD000046803941C00AC402500039C2543056067 -:101DE0004568019CBD4345609C401D00A5400868B6 -:101DF0001C00284308604868B04348601068029996 -:101E000099408C4021000143604611605168814334 -:101E1000134851600078134A984083401268124872 -:101E2000116899431160D1680B43D36080220F4B36 -:101E30001A70002319000E4A13701A18013311701A -:101E4000202BFAD105B0F0BD240700202807002080 -:101E50001807002010070020140700200C0700209E -:101E6000200700201C070020C5040020E6040020F5 -:101E7000E504002010B5334B1B78082B5DD016D835 -:101E8000314C032B44D007D8012B2DD0022B31D05D -:101E9000EE222D4B1A7023E0062B44D049D8042B98 -:101EA000F6D18123012223702021112027E00F2B5E -:101EB00034D008D8244C0D2B25D00E2BE8D181230B -:101EC0000022237027E0802B08D01F4CFF2B08D066 -:101ED000102BDDD181230022237027E0FFF75AFF6A -:101EE00010BDF0232370FBE7812320202370FFF730 -:101EF000C1FE06E081230122002123702020FFF78C -:101F000023FE8223EEE78123002223701100F5E7F0 -:101F100081230122237020211020F0E781230A4C25 -:101F200000222370C0E781230122237020210800B2 -:101F3000E5E7812310202370D9E78123024C11208B -:101F40002370D4E7C4040020E6040020BC234749E2 -:101F5000DB038A6AF0B513438B628B6A444A01241F -:101F600013408B6290238022DB051868D201024364 -:101F70001A6080229A61B0224869520302434A6182 -:101F80001A683C483C4F02401A608022D8685203CD -:101F900002430420DA601A68A2431A60DA68224316 -:101FA000DA601A6882431A60DA680243DA60102243 -:101FB0001D6895431D60DD682A43DA6040221D6874 -:101FC00095431D60DD682A43DA601A682B4D2A406C -:101FD0001A608022DD68D2042A43DA601A68284D2C -:101FE0002A401A608022DD68D2052A43DA601A6826 -:101FF000244D2A4080251A60DA68ED022A43DA600F -:10200000214A1668A6431660D6683443D4601E6819 -:102010003E401E60DC683C40DC6080234C691B0352 -:1020200023434B61194B1A4C1E681A4F26431E60FE -:102030001E683E401E60DE683443DC604B691D4311 -:102040004D611368144D2B401360D468134B1C432F -:10205000D460116829401160D1680B43D3601368C4 -:1020600083431360D3681843D060F0BD0010024072 -:10207000FFFFA1FFFFFFEFFFFFEFFFFFFFFFFFFBF2 -:10208000FFFFFFBFFFFFFBFF000400480008004800 -:1020900055555555AAAAAAAAFFFFAAAA0000555548 -:1020A0009022B64B12031968F0B50A431A608022D9 -:1020B00087B0920219681142FCD0012259680A4384 -:1020C0005A608022596852020A435A608022596835 -:1020D00052030A435A608022196852040A431A6064 -:1020E0008022920419681142FCD011210220A44AD6 -:1020F00011605A680E398A4302435A601A6B7D3167 -:102100000A431A638022DC6912042243DA6162B650 -:102110009C4B4025DA8F9C4C8243DA87DA8F01385A -:102120008243DA8700229948C2872280984C258012 -:10213000984C083525808025974C6D012580974C5B -:102140002180C2879649974A11808021964A0906C4 -:1021500011608022D98FD2000A43DA87934A944BC8 -:102160001A80FFF7F3FEF022924B1A70924E202352 -:10217000327811009943D2292ED190499048C978DC -:10218000C3780224FF2904D1FF3B1C00631E9C413D -:10219000E4B28C4BDB78FF2B00D003248A4BDB7836 -:1021A000FF2B00D00424894B894F1C703860D22A41 -:1021B00012D10023012505E02100FFF7C1FD012315 -:1021C0000135EDB2A542F7D3002B00D03860802254 -:1021D0003B68DA70D02333703378F22B05D10022BC -:1021E000023B33707A4B1B68DA703578D02D01D002 -:1021F00000F0DAFC764E3068C378802B01D000F016 -:10220000D3FC724B1978FFF79BFD002330600188E7 -:10221000C57004004372C07ACDB21038142801D9B9 -:1022200000F0C0FC02F0D8FB5100D80031013501AC -:102230003400BE04BE04BE04BE04BE04BE04BE041C -:10224000BE04BE04BE04BE04150024003E004300CC -:102250004900E07BC4230F2801D900F0A4FC000151 -:102260000143237AA278C9B2606801F049FA0EE00E -:10227000E17B3C230A009A438833002A01D000F016 -:1022800092FC237AA2782943606801F06FFA6072A9 -:102290004F4B1B6819889A7A52181A80D822DA7024 -:1022A00000F082FC237AA278E17B2943DCE7E17B22 -:1022B0003F230A009A438533DFE7E17B237AA27844 -:1022C0002943606801F0E2F9E1E7E27B012A0DD1E0 -:1022D00080208909CEB20002102100F04CFF0F21AE -:1022E000E02031400022000200F045FFE37B032B99 -:1022F0000ED120883D3380099D43364BC1B2C0B218 -:10230000C01880B200F02CFD237AA2788021CCE79F -:102310001E2B07D1C0202188223389099D43C9B2D1 -:102320000002EFE71C2B11D1A0208121C0012688DB -:1023300000F016FD8020F609F6B23100000200F030 -:102340000FFDA0200021C00100F00AFD8021E27BEA -:1023500049421F2A05D00D43EDB2237AA278290005 -:1023600082E77022A02095430D432188C00109090E -:10237000C9B2EDB200F0F4FCEFE7C0460010024035 -:1023800000200240025C0040505C0040065C0040BF -:102390000060004004600040066000404C5C00406B -:1023A00020320000005C004000E100E00080FFFF00 -:1023B000585C0040E6040020A40400204C040020E7 -:1023C000380400206004002074040020300700203E -:1023D0008C04002069FDFFFFE37BFE2B3DD1490902 -:1023E000C9B2C14800F028FF1F231D40237AA178FD -:1023F0000193BE4B28025A696768D2B202435A6100 -:1024000080209022C000D20590610120FF269062BA -:10241000033090625A69360232400A435A61C0461C -:10242000B34800228446C046604600690131000A74 -:10243000B8545869C9B23040084358610132019814 -:10244000D2B29042EFD290230421DB059961802122 -:10245000C9009962012199616272E27B012A00D070 -:1024600016E7802010210002268800F084FE1F213C -:10247000A0203609F6B231400022000200F07BFEB7 -:102480000F21237AA2782940FEE6237AA2786021E0 -:102490000BE7E37B002B1ED18033C9091D43CBB270 -:1024A0000293FF20029B92499B004A690340914896 -:1024B000024013434B61C0209021029BC905C0001C -:1024C000DB004A6903408C48024013434B61237A86 -:1024D000A2782900F5E6012BE3D18904890E3F3368 -:1024E0000B43DDE7F37B002B06D128008038C0B218 -:1024F000824A3100FFF70AFCF27B012A1CD18020BE -:1025000037881021BF053B0F0002019300F033FE16 -:10251000E02000220199000200F02DFE777ABBB284 -:10252000039380232B431B021BB20593337A039A38 -:10253000934200D3F0E07772F37B032B0BD13F2063 -:1025400028408025054330886D4B8009C0B2320099 -:10255000290001F03DF8F37B042B06D128008038D8 -:10256000C0B2684A3100FFF7D1FBF37BFD2B0BD1E2 -:102570003F202840802505433088634B8009C0B246 -:102580003200290001F024F8F37B1E2B11D13F20EB -:1025900028408025338805439B09DBB20493747A75 -:1025A0002B021BB2A7B20593337ABB4200D30DE1D5 -:1025B0007472F37B0C2B19D11F2028408025054312 -:1025C000C0203488A5216409E4B2C00100F0C8FB32 -:1025D00021004E4800F0C4FB2B021BB2747A039317 -:1025E000337AE7B2A34200D33FE17772F37B1C2B2F -:1025F0003BD1A02033888121DB09DBB2C0010393EA -:1026000000F0AEFB80200399000200F0A9FBA0209F -:102610005421C00100F0A4FB777AAA21BBB23C4848 -:10262000019300F09DFB55213A4800F099FB2021D1 -:10263000374800F095FB80232B431B021BB2059308 -:10264000337A019A934200D332E180209021000234 -:10265000777200F085FB80200021000200F080FBF3 -:102660008020F021000200F07BFBF37B1F2B33D195 -:10267000A0203188C0010909C9B200F071FB747A49 -:10268000AA21A3B22248019300F06AFB55212148F8 -:1026900000F066FB1E48202100F062FB70238020C2 -:1026A00004279D434042284340B203020493337AF7 -:1026B000019A934200D343E180209021000274727A -:1026C00000F04EFB80200021000200F049FB80203A -:1026D000F021000200F044FBF4233288F370B37A57 -:1026E0009B18338080E2C046FF3F0000000800488E -:1026F0000004004803FF0000FFF90000FD2E000861 -:10270000A52E00080D2E00085D2E0008FFFF00001A -:10271000AA8A0000558500008020002210210002B6 -:1027200000F029FDAA21E04800F01AFB5521DF48FE -:1027300000F016FBA021DC4800F012FB059C73683A -:102740003C43A4B2D95D200000F00AFB80200122A6 -:102750001021000200F00FFDE0200022019900028C -:1027600000F009FDC046200000F030FB049020007E -:1027700000F02CFB049B8342F4D17368049ADB5D68 -:10278000CB4C93420FD17B1CDFB2039B22680133F9 -:102790009BB2039304239A432260E2681343E360ED -:1027A0000223A362C2E6802001221021000200F071 -:1027B000E2FCE02000220199000200F0DCFC04238E -:1027C0002268134323600223A361AFE6C0200121E6 -:1027D000000200F0C5FAAA21B64800F0C1FAC020F4 -:1027E0000021000200F0BCFA5521B04800F0B8FA10 -:1027F000C0200121000200F0B3FAA021AD4800F092 -:10280000AFFAC0200499000200F0AAFA059B234306 -:102810009BB2019373680198195D00F0A1FAC0465C -:10282000019800F0D3FA0390019800F0CFFA039BCF -:102830008342F4D1736803991A5D9D4B8A420DD18E -:1028400004221968013491431960D96801370A4399 -:10285000DA600222E4B2BFB29A62A5E604221968E5 -:102860000A431A6002229A619EE6AA218E4800F06D -:1028700077FA55218D4800F073FAA0218A4800F0BC -:102880006FFA039AE3B213439BB201937368019802 -:10289000D95D00F065FAC046019800F097FA07008C -:1028A000019800F093FA8742F5D10134A4B297E67B -:1028B000A0205421C00100F053FA059CA0213C4304 -:1028C000A4B2200000F04CFA73682000D95D00F03B -:1028D00047FAC046200000F079FA0490200000F08A -:1028E00075FA049B8342F4D17368049ADB5D704CE3 -:1028F00093420FD17B1CDFB2019B226801339BB254 -:10290000019304239A432260E2681343E3600223A5 -:10291000A36295E6A0208121C00100F021FA802069 -:102920000399000200F01CFAA0205421C00100F01D -:1029300017FA04232268134323600223A3617FE66E -:10294000049DA0212543ADB2280000F009FA736868 -:102950002800195D00F004FAC046280000F036FA9D -:102960000390280000F032FA039B8342F4D173688D -:1029700003991A5D4E4B8A420ED1019A01340132FD -:1029800092B201921A68E4B2BA431A60DA683A4322 -:10299000DA6002229A628AE61A683A431A600222D0 -:1029A0009A6184E6F37B002B04D1434A310028006E -:1029B000FFF7ACF9F37B022B04D1404A3100280029 -:1029C000FFF7A4F9F37B042B04D13D4A3100280022 -:1029D000FFF79CF9F37B0B2B04D13A4A3100280016 -:1029E000FFF794F9F37BFE2B00D075E6318836486B -:1029F0004909C9B200F020FC747AAA21A3B2334875 -:102A0000019300F0D5FB5521314800F0D1FB2F4850 -:102A1000202100F0CDFB1F2004272840030204934F -:102A2000337A019A93420DD274729021002000F003 -:102A3000BFFB0021080000F0BBFBF021002000F0EC -:102A4000B7FB49E6049DA0212543280000F0B0FB18 -:102A500073682800195D00F0ABFBC046280000F049 -:102A6000CFFB0390280000F0CBFB039B8342F4D103 -:102A7000736803991A5D0E4B8A420ED1019A013494 -:102A8000013292B201921A68E4B2BA431A60DA686B -:102A90003A43DA6002229A62C2E71A683A431A603D -:102AA00002229A61BCE7C04655D50000AAAA0000E0 -:102AB00000040048559500000D3400088D330008CF -:102AC00049330008C1320008FF3F0000AA0A000095 -:102AD00055050000280060304A4A3100C0B2FFF7B7 -:102AE00015F9F9E5F37B042B06D128008038C0B234 -:102AF000454A3100FFF70AF9F37B052B04D1424A1E -:102B000031002800FFF702F9F37B062B06D12800DD -:102B10008038C0B23D4A3100FFF7F8F8F37B072B4D -:102B200004D13A4A31002800FFF7F0F8F37B002B7C -:102B30001CD1FF2480331D4333883548DB09DBB2C9 -:102B40009A0041692240334CDB0021400A43426134 -:102B50009021C020C905C0004A6903402E480240A8 -:102B600013434B612800310000F072FCF37B012B12 -:102B700000D0B1E53388264A264851699B049B0E54 -:102B800001409B000B4390215361C9054B69224AC8 -:102B900028001A4080239B0013434B61310000F052 -:102BA00057FC99E5C323E3701C4B1C78F02C1BD118 -:102BB0001B4D2E68F378982B16D11A4B30001978DC -:102BC000FFF7BEF800232860C370F07AF470103865 -:102BD0003578042806D801F0F5FE85FCE5FE7DFF7A -:102BE00085FF7FFDC323F3700F4B1B78F02B01D1C2 -:102BF000FFF7BCFA832B01D0FFF7B8FAFFF73AF9D9 -:102C0000FFF7B4FA612D00081D2D0008D92C00082B -:102C10000004004803FF0000FFF90000A4040020A6 -:102C20008C04002030070020E6040020002302006E -:102C30000002002A04D1002B01D0802318437047E2 -:102C4000DB43511EDBB20A40F3E700000E4B0F4A94 -:102C500058610F4B0902186802431A605A6908202C -:102C6000D2B21143902259610121D2059062916242 -:102C7000C046C046C046C046906191611A68054989 -:102C80000A401A607047C0460008004800005555C9 -:102C900000040048FFFFAAAA0D4B012258619023AF -:102CA0000421DB059A629962C046C046C046C04610 -:102CB000C046C046C046C046C046C046C046C046E4 -:102CC000C046044800699961000AC0B29A61704721 -:102CD000000800480004004870B504000D000D48CD -:102CE000AA21FFF7B3FF55210B48FFF7AFFFA02143 -:102CF0000848FFF7ABFF29002000FFF7A7FF2000DF -:102D0000FFF7CAFF0500C0462000FFF7C5FF854258 -:102D1000F5D170BDAA8A00005585000070B5040089 -:102D20000D000D48AA21FFF791FF55210B48FFF731 -:102D30008DFFA0210848FFF789FF29002000FFF739 -:102D400085FF2000FFF7A8FF0500C0462000FFF721 -:102D5000A3FF8542F5D170BD55550000AA2A000099 -:102D60009023DB0530B51C68134D09022C401C6014 -:102D7000DA68124C2A40DA60114A506102229A62E3 -:102D8000104A00B215682C4314605469E4B2214320 -:102D900051618021C9009961002801DA01209862FF -:102DA000C046C0469962012199614918996113682A -:102DB00005490B40136030BDFFEFFFFF0000555584 -:102DC0000008004800040048FFFFAAAA0D4B80221B -:102DD00058619023D200DB0500B29A61002801DA25 -:102DE00001229A62C046C046C046C046064B8022B9 -:102DF00018699023D200DB059A620122000AC0B252 -:102E00009A617047000800480004004870B504004B -:102E10000D001048AA21FFF7A3FF55210E48FFF728 -:102E20009FFFA0210B48FFF79BFF29002000FFF721 -:102E300097FF802000210002FFF792FF2000FFF79C -:102E4000C5FF0500C0462000FFF7C0FF8542F5D151 -:102E500070BDC04655D50000AAAA00000D4B0E4A11 -:102E600058610E4B0902186802431A605A69D2B2BF -:102E70001143902259618021D20510684901014314 -:102E800011604021916291611A6805490A401A60F7 -:102E90007047C0460008004800005555000400482F -:102EA000FFFFAAAA104B114A10B558611068104BC9 -:102EB00009020343136053690E4CDBB2194390239C -:102EC00051618021DB0518684901084318604020E2 -:102ED0009862186820401860D8680143D960136868 -:102EE00005490B40136010BD00080048000400486D -:102EF00000005555FFEFFFFFFFFFAAAA70B50400C1 -:102F00000D000D48AA21FFF7CDFF55210B48FFF713 -:102F1000C9FFA0210848FFF7C5FF29002000FFF7DF -:102F2000C1FF2000FFF752FF0500C0462000FFF759 -:102F30004DFF8542F5D170BD55550000AA2A00000D -:102F4000224B10B51968224B224C1A8852085200A5 -:102F5000505A214A10801A88023292B21A805208BE -:102F60005200505A1D4A10801A88023292B21A80BA -:102F700052085200505A1A4A10801A8819480232D0 -:102F800092B21A8052085200515A174A11801A8878 -:102F90002188023292B21A808A4210D908318A1AE4 -:102FA00092B2028022881A801049114B0A8813437A -:102FB000104A1A40302353409BB20B8010BD0E4C78 -:102FC00021888A42EAD808230380EDE72C070020F5 -:102FD000A2040020A00400204060004042600040A5 -:102FE000446000400260004046600040005C0040D9 -:102FF0008080FFFFBF8FFFFF9E040020FEE70000E0 -:10300000F7B501230225294F01923A780091054333 -:1030100093400421A020264E2D049BB22943326800 -:10302000C00100F0DDFB040001283DD13B78092000 -:103030009C4005437830A3B232682900FF3000F08D -:10304000CFFB040001282FD13B7832689C40290037 -:10305000A3B2002000F0C4FB0400012824D1009B8F -:10306000180AFFF7E3FD3B7832689C402900A3B2C1 -:1030700000F0B6FB0400012816D16B461878FFF764 -:10308000D5FD22003B7829009A4093B2326800F0C7 -:10309000A7FB0198FFF7CAFD3B7832689C402900E6 -:1030A000A3B200F09DFB0400E0B2FEBD08070020C3 -:1030B00004070020F7B501230225274F00903A7836 -:1030C0000191054393400421C020244E2D049BB25E -:1030D00029433268800100F083FB0400012838D1C5 -:1030E00009231D433B78C0209C403268A3B22900CD -:1030F000400000F075FB040001282AD13B783268BB -:103100009C402900A3B2002000F06AFB04000128C3 -:103110001FD1019B180AFFF789FD3B7832689C405C -:103120002900A3B200F05CFB0400012811D16B461A -:103130001879FFF77BFD22003B789A4093B2009A02 -:1031400014430922E1B209041143326800F048FB3C -:103150000400A0B2FEBDC0460807002004070020FE -:103160000023800080B2834200D17047C046C04631 -:1031700001339BB2F7E770B506000D00002A08D0B6 -:1031800080200002FFF722FE802080210002FFF74E -:10319000E7FD05243000013CFFF718FEE4B22900EA -:1031A0003000FFF7DDFD6D08002CF3D170BD00008D -:1031B0000F4B30B59022586180230124D205DB00EB -:1031C00093620C4B94621D680B48090228431860F7 -:1031D0005869C0B201435961C04608219162C04696 -:1031E00091611968054801401960946130BDC0467D -:1031F000000800480004004800005555FFFFAAAA37 -:103200000B4B10B580215861902301220424DB056B -:10321000C90099619A629C62C046C046C046054892 -:1032200000699C61000A9962C0B29A6110BDC046F3 -:1032300000080048000400480E4B984202D8802342 -:103240001B0218430C4B0D4A58610D4B09021868BC -:1032500002431A605A69D2B211435961C0469022A2 -:103260000821D2059162C04691611A6805490A4059 -:103270001A607047FF1F0000000800480000555505 -:1032800000040048FFFFAAAA0A4B984202D88023F4 -:103290001B021843084B042258619023DB059A62F5 -:1032A000C046C046C046C046044908699A61000A43 -:1032B000C0B27047FF1F000000080048000400482B -:1032C000F8B505000E001C4F1C4B3888202120301B -:1032D00080B21C78FFF744FDAA211948FFF7ACFF24 -:1032E00038881021103080B2FFF73AFD552115487B -:1032F000FFF7A2FF38882021203080B2FFF730FD91 -:10330000A0210F48FFF798FF24013888E4B2001984 -:1033100080B22100FFF724FD31002800FFF78CFF69 -:103320002800FFF7B1FF0400C0462800FFF7ACFFFC -:103330008442F5D1F8BDC046340400208804002042 -:1033400055150000AA0A000070B504000D000D48D4 -:10335000AA21FFF771FF55210B48FFF76DFFA02150 -:103360000848FFF769FF29002000FFF765FF2000EC -:10337000FFF78AFF0500C0462000FFF785FF854262 -:10338000F5D170BD55150000AA1A000070B50400F3 -:103390000D001A4E02213088023080B2FFF7E0FCA7 -:1033A000AA211748FFF748FF30880121013080B279 -:1033B000FFF7D6FC55211348FFF73EFF3088022166 -:1033C000023080B2FFF7CCFCA0210D48FFF734FF9C -:1033D0000D4B30881978401880B2FFF7C1FC2900E6 -:1033E0002000FFF729FF2000FFF74EFF0500C04631 -:1033F0002000FFF749FF8542F5D170BD340400205D -:1034000055150000AA0A00008804002070B50400C9 -:103410000D000D48AA21FFF70FFF55210B48FFF7BC -:103420000BFFA0210848FFF707FF29002000FFF746 -:1034300003FF2000FFF728FF0500C0462000FFF72C -:1034400023FF8542F5D170BD55150000AA0A000082 -:10345000F7B504000E004D7AC046C046C046C046CF -:10346000C046C046C046C046C046AA215348FFF7E2 -:10347000EDFB55215248FFF7E9FB240220214F487C -:10348000FFF7E4FB23B20193EBB20093337AAB4234 -:1034900014D26B4680201B78902173720002FFF7D4 -:1034A000D5FB802000210002FFF7D0FB8020F02117 -:1034B0000002FFF7CBFBC0460020FEBD414B424A55 -:1034C000196808200A43FF211A605A690A40A0219E -:1034D00009020A435A6190220121D2059062916249 -:1034E000C046C046C046C046FF24906191611A683C -:1034F00036492C400A401A60019B009A1C437368AD -:10350000A4B2995C2000FFF7A1FBC046C046C046AC -:10351000C046C046C046C046C046C046C046200061 -:10352000FFF7BAFB0700C046C046C046C046C046CB -:10353000C046C046C046C0467368009A9B5C834242 -:1035400016D0C046C046C046C046C046C046C0466B -:10355000C046C0462000FFF79FFBB8420BD1C046D3 -:10356000C046C046C046C046C046C046C046C0462B -:103570000135ADB288E7C046C046C046C046C04629 -:10358000C046C046C046C046C046C046C046C0460B -:10359000C046C046C046C046C046C046C046C046FB -:1035A000C046C046C046C046C046C046C046C046EB -:1035B000C0462000FFF770FB0700CBE7AA8A000097 -:1035C000558500000004004800005555FFFFAAAAD9 -:1035D000F0B5150085B00190547A09021E000BB2B7 -:1035E000A7B203932B7ABB4203D200206C7205B0C2 -:1035F000F0BD00212048FFF7B3FBAA211F48B047C8 -:1036000055211F48B047A0211C48B047019B1D4AC7 -:103610001900981880B2FFF7A3FB039B23439BB2CA -:1036200000936B680098195DB047C0460098FFF79B -:10363000CDFB02900098FFF7C9FB029B8342F4D1B7 -:103640006B6802991A5D104B8A420DD104221968E9 -:10365000013491431960D96801370A43DA600222C4 -:10366000E4B2BFB29A62BDE7042219680A431A6045 -:1036700002229A61B6E7C04669FD00005555000078 -:10368000AA2A000069FDFFFF00040048F0B51A4CAB -:10369000050060690902C0B2014361619021042004 -:1036A000FF26C905886203388862616936023140A5 -:1036B0001143616100202100104FC046C046C04642 -:1036C000C046C046C046C046C046C046C0463C692B -:1036D0000132240A2C544C69D2B2344001301443D4 -:1036E000C0B24C619842E8D990230422DB059A616C -:1036F000033A9A61F0BDC046000800480004004843 -:10370000F0B5184C050060690E02C0B2304360612C -:1037100080269020F600C00549B28661002901DAB2 -:1037200001218162FF2661693602314011436161E6 -:10373000C04600200C4FC04639690132090A29549D -:103740006169D2B2314001301143C0B26161984227 -:10375000F1D990238022DB05D2009A6201229A617E -:10376000F0BDC0460008004800040048F0B5174C02 -:1037700005000E0060691F2925D880213143090208 -:10378000C0B20143616190210420FF26C90588620F -:1037900061693602314011436161C04600200C4F1F -:1037A000C04639690132090A29546169D2B23140EF -:1037B00001301143C0B261619842F1D990230422D3 -:1037C000DB059A61F0BDC0B20902DAE700080048E3 -:1037D000000400488047C0460000000000000000D0 -:1037E000F0B5474680B4061C081C000C102801D513 -:1037F000162700E004270007000F8046FF20014045 -:103800005468251C1D439C43F60313850AD5C04606 -:10381000C046C046C046C046C046C04694801383DA -:10382000958002E0012000F081F801390AD4381CAB -:1038300000F07CF8C046948013839580C046C04653 -:103840007600E2E7381C013800F070F894801383AA -:103850009580042000F06AF8108A184001D0FF20FB -:1038600061E0C046C046C046C046C046C0469480DF -:103870009580108A184055D001200226B04552D0BC -:103880000921168A1E40FCD1012000F04FF89480D7 -:10389000C0469580C04603E0C046C046C046C0460C -:1038A000948095807600108A1840EFF300804000E5 -:1038B000C00F0643381C023800F038F89480958019 -:1038C000022000F033F80139EAD5138594800120F5 -:1038D00000F02CF813839580301C8021022399403E -:1038E0000E401BD1002341085E4149085E41490852 -:1038F0005E4149085E4149085E4149085E41490808 -:103900005E4149085E4149085E41760808D3400897 -:10391000FF21084048400002013004E00E2002E090 -:10392000092000E0002080BCB846F0BD0138FDD180 -:103930007047C04603685A0003D45B005B08C01898 -:103940007047802212061343F9E7C046F0B5574688 -:103950004E46DE464546E0B5814683B09246002994 -:1039600025D04B1E9B46002701935B46FB18DC0FBE -:10397000E4184B466410E5005E193000FFF7DAFFEB -:10398000019B8046A3420BD0280008304844FFF733 -:10399000D1FFD04506D80138504509D2671CE4E76D -:1039A000504505D9A74202D0631E9B46DDE700269D -:1039B000300003B03CBC90469946A246AB46F0BDF1 -:1039C000012809D0022805D0002801D00020704726 -:1039D0000248FCE70248FAE70248F8E7E14000083D -:1039E000F9400008ED40000830B5234B83B00500D6 -:1039F0008C1E002B2AD001A9200000E000BF002867 -:103A000020D001992200FFF7A1FF041E1AD0FFF772 -:103A100091FF6368A864012B10D0201D002B1BDBD5 -:103A2000FFF788FF0023E8642B650368002B17DB92 -:103A3000FFF780FF2861002003B030BD0023052080 -:103A40002B61F9E7002309202B61F5E70B480C49AE -:103A5000091AC9100191D5E70123E8642B65E4E751 -:103A60001801000FFFF7ACFF2861002801D10930D1 -:103A7000E2E70020E0E7C04600000000DC4A000862 -:103A8000AC4B0008036810B50400DA0705D49B07A7 -:103A90000FD5483000F084FC23685A070FD51A0769 -:103AA00014D5DB0604D42000D130FF3000F084FCB4 -:103AB00010BD483000F070FC23685A07EFD4200096 -:103AC000D03000F071FC23681A07EAD4200051308E -:103AD000FF3000F06DFC2368E3E7C0460368002B6D -:103AE00000D01B1818007047092070477047C04667 -:103AF00070B504000D0008E02B6C2A006361210002 -:103B0000012023699847082807D1296C2000FFF776 -:103B10006BFF0028F0D000F09FFE0728FBD10020AB -:103B2000296CFFF7E3FF281D00F020FCF0B5CE461E -:103B3000474680B5C368324C9846A5448369060061 -:103B400014000431402205A8994600F08DFE0023A0 -:103B500004AD296C30000493FFF746FF631E9C41BF -:103B600007000934002F15D0AB6B10216B644B4656 -:103B700021430193C9B20095330032000120C047B0 -:103B8000002833D13800F5239B009D440CBC90469F -:103B90009946F0BDF0222B6C5200736129007CA87D -:103BA00000F062FE7CAA31003369200098478A9BAE -:103BB00007006B6403934B4600950193320033007A -:103BC00021000120C047002810D1F0227CA952001A -:103BD000280000F049FE082F06D1296C3000FFF7BD -:103BE00003FF09240700BDE7072F01D00927C9E714 -:103BF0000020296CFFF77AFF05A800F0B7FBC0464C -:103C00002CFCFFFF406C704770B5CB6BFAB00B64B7 -:103C100004000E004022043103A800F025FE012319 -:103C20005B42029306E002AA21002369984705003F -:103C300008280AD1129B200019000193FFF7D4FE37 -:103C40000028F0D009207AB070BD02A8FFF71AFF53 -:103C5000062DF7D131002000FFF74AFF10B5826131 -:103C6000DA6BC1601A6419000022FFF75FFF10BD14 -:103C7000436970B50B64C36804000D00002B04D0C9 -:103C80000122FFF753FF00F0E7FD0A00236901005E -:103C900002209847072807D0082803D129002000D0 -:103CA000FFF726FF00F0D8FD0020296CFFF71EFF6C -:103CB000281D00F05BFBC046C36810B5002B05D083 -:103CC000CB6B00220B64FFF731FF10BDFFF79CFFA9 -:103CD000FBE7C0467047C046836810B5002B02D092 -:103CE00001000120984710BD10B5012907D0002917 -:103CF00007D003390224012901D9200010BD012475 -:103D0000FBE70224002BF8D10F2AF6D89200821884 -:103D10005268029B00241A60EFE7C04600B585B0E8 -:103D200003AB0A00009300210023FFF7DDFF039897 -:103D300005B000BD10B5012907D0002907D003390F -:103D40000224012901D9200010BD0124FBE702242F -:103D5000002BF8D10F2AF6D8029B92001B6882181C -:103D600053600024EFE7C04600B585B003AB039273 -:103D700000930A0000230021FFF7DCFF05B000BD1F -:103D800070B51A4CD36BA544136406000D0019A836 -:103D9000111D402200F068FD01235B42189314E0DE -:103DA0000C2118A802AAFFF7DFFF290018A8B047C6 -:103DB000002812D1069B18AA02A90830019398473F -:103DC000040005280AD0092807D0289B02A819005A -:103DD0000193FFF709FE0028E2D0092418A8FFF795 -:103DE00051FE200090239B009D4470BDC0FDFFFF4D -:103DF000F0B5DE464E464546574693460322E0B5AB -:103E00001E0013008BB003400193CB6C0D001C1DF2 -:103E10001B6808940793002E66D11B02079306AB1C -:103E20005E731A73019B022B00D16EE02B6DDB07D2 -:103E300047D40023A846B2460293083303400393B5 -:103E40002568002D00D137E15346022B49D0258843 -:103E5000668804340123370099469F4343469B6C90 -:103E60000F219C4658466744FFF758FF00228742BF -:103E700006D82A004B469A43D719B842804142429D -:103E800002230121760033400D402B43012B3ED00D -:103E9000002B5AD0022B1CD1236801995F007F08A8 -:103EA000002965D1002A06D0039A002A00D188E0B3 -:103EB000002F00D1AAE0002B65DB0137BF00E41919 -:103EC000BEE700230293022E47DDFFF70DFE002818 -:103ED00049D009200BB03CBC90469946A246AB465F -:103EE000F0BD66680834B5E7022E9BDC1A0C1B0493 -:103EF0000793022306A90B73FD3313409B00E418BC -:103F0000019B4A73022B00D090E7AC6B8EE7019BBC -:103F1000002B3AD1002A16D02368DD0F63689A1C63 -:103F2000D7D0424658320692013300D1C6E0201D58 -:103F3000FFF7D4FD06AB01002A00404600E000BFB9 -:103F4000002800D0A7E008347AE7019B002B02D0BC -:103F5000002A00D08BE0043472E707A9584600F02D -:103F6000D1FA0028B5D1029B002B5DD10820B1E722 -:103F700043460D2158461D6AFFF7D0FE854263D0A7 -:103F80002368002B99DA043497E743460D215846FD -:103F90001D6AFFF7C3FE8542D5D143469B6A9C420A -:103FA000D1D145462000FFF7C5FC0F21020058463D -:103FB000FFF7DAFE58462A000021FFF7D5FE07205A -:103FC00088E7002F22D058235146434406AABA4618 -:103FD000251D0026049405911F00914603E0043539 -:103FE0002600A24514D028000697FFF777FD4B4620 -:103FF000010000224046741C00E000BF0028EED003 -:104000005746059B049C9A46B742B9D1454601E004 -:104010004546049C0D215846FFF780FE069B28620A -:104020006B62AC62062055E70F215846FFF776FE1B -:104030000E2102005846FFF797FE5846274A0F21E7 -:10404000FFF792FE072045E743469B6A9C4297D1C3 -:10405000434642469F620023D36204331363231D09 -:1040600053632368002B32DB0123029325E72000F2 -:10407000FFF760FC454604340600AC63404600E0B0 -:1040800000BF002800D124E7584632000F21FFF777 -:104090006BFE07201EE707000D2158464546FFF737 -:1040A0003DFE2862022F0FD1069BEB6243462C3364 -:1040B0006B62AC6206200DE7564604E70D215846B8 -:1040C0004546FFF72BFE2862069B6B62F1E738003E -:1040D000013080004546201865E7C046000000001A -:1040E00010B50023FFF784FE10BDC04610B50123B4 -:1040F000FFF77EFE10BDC04610B50223FFF778FE25 -:1041000010BDC046F0B5CE46474680B50600C3B0E8 -:1041100014001D0001294ED0002933D003290AD0F4 -:10412000042902D1002B00D189E0022043B00CBC4D -:1041300090469946F0BD032BF7D11404150C240CBE -:104140002B19102BF1D8082203681A4200D0E7E09F -:1041500020AB1800984600F02DF9B36BED001A0063 -:10416000002C09D0E400EA1A1C1942441968D15005 -:1041700004339C42FAD12200B263404600F018F9A1 -:104180000020D3E70220002BD0D100230127100408 -:10419000B56B000C321D39009940084202D02968E5 -:1041A0000435116001330432102BF4D10020A30434 -:1041B000BCD4B563BAE71404170C240C012B5FD0F0 -:1041C000052BB2D13B19202BAFD80F2F7DD9A1469B -:1041D000002C65D1002223009146B16B002B00DC3E -:1041E00088E020A88046FA00DB00521ACB1842442F -:1041F0000868505004318B42FAD119004B46002B0D -:1042000010D04B4658003A00102F00D21022002345 -:10421000103AD2006A448000CC58D4500433834210 -:10422000FAD1C918012D5ED0B1630F2F74D94B4656 -:10423000002BA5D0684600F0B7F8002076E7102ADA -:1042400000D972E7102203681A4245D120AB18004A -:10425000984600F0B3F800230120B16B02009A40A9 -:10426000144204D045460F689A00AF500431013320 -:10427000042BF3D14046B16300F09EF8002055E7CF -:104280003B19102B00D950E70F2F00D94DE7002321 -:104290009946012233681A4230D14B46002B5AD03E -:1042A000042233681A4242D1012D47D00F2F06D87D -:1042B00020AB180000F076F84B46002B8AD06846F9 -:1042C00000F074F81023DB1B87E7102BDFD91022D6 -:1042D000524291469944DCE793430360D130FF306A -:1042E00000F06CF8B2E7043120A8B16300F054F894 -:1042F00000201BE74B46002B84D193E71900914324 -:104300000A003160052D1ED0032230009343336034 -:10431000483000F043F8C0E720A800F041F886E7F5 -:10432000934303605130FF3000F044F810E7300051 -:1043300093433360D03000F039F8B5E720AB180074 -:1043400000F02CF8BEE7022330001A4332604830F8 -:1043500000F028F8A1E7012D03D00F2F00D939E78D -:10436000A6E720AB180000F019F833E7011C343140 -:1043700038C9043B9C461D60A646011C20313CC93F -:1043800090469946A246AB46011C0831FCC94168DB -:104390000068E54600BDC0467047C0467047C0464D -:1043A0007047C0467047C0467047C0467047C04619 -:1043B0007047C0467047C0467047C0467047C04609 -:1043C00001B401A801B585B0FFB408A841464A462A -:1043D00053465C4665463EC001A83EC80F98009013 -:1043E00000230CB401A9FFF70FFC109B12B0184773 -:1043F00001B401A801B585B0FFB408A841464A46FA -:1044000053465C4665463EC001A83EC80F980090E2 -:1044100000230CB401A9FFF72BFC109B12B0184726 -:1044200001B401A801B585B0FFB408A841464A46C9 -:1044300053465C4665463EC001A83EC80F980090B2 -:1044400000230CB401A9FFF737FC109B12B01847EA -:1044500001B401A801B585B0FFB408A841464A4699 -:1044600053465C4665463EC001A83EC80F98009082 -:1044700000230CB401ABFFF7F1FB109B12B01847FF -:1044800001B401A801B585B0FFB408A841464A4669 -:1044900053465C4665463EC001A83EC80F98009052 -:1044A00000230CB401AAFFF76BFC109B12B0184755 -:1044B000027A0300002A04D1427AB020002A07D1F0 -:1044C0007047013A02720268100E12021A60F7E792 -:1044D000013A5A725A68111D596003211268197203 -:1044E000F2E7C04600B585B003AB00930C22002371 -:1044F0000021FFF7F9FB039805B000BD10B5FFF7E9 -:10450000F1FF10BDF0B557464E464546DE46002346 -:10451000E0B587B003930F339846083B9946802354 -:104520001B0306000F009A463800FFF7C1FF040086 -:10453000B02821D0030632D4FF2583001D4005ABEF -:104540009B4600930D220023002130000435FFF725 -:10455000CBFB63064CD5059B5D1B05955B46009325 -:1045600000230D2200213000FFF7E4FB3800FFF7A5 -:104570009FFF0400B028DDD1039B0024002B2FD126 -:1045800005AD00950E2200213000FFF7ADFB009530 -:1045900000230F2200213000FFF7CCFB20E00300B6 -:1045A00042469343DBB2802B63D0902B25D0A02BC7 -:1045B00032D0B02B45D0C02B00D173E003004A4667 -:1045C0009343DBB2D02B0AD15346024001321A4347 -:1045D000052301213000FFF795FD0028A4D0092410 -:1045E000200007B03CBC90469946A246AB46F0BDC1 -:1045F000059B9C4665440595B0E7833B03400D2B26 -:10460000EDD0424605AD0240009500230021300068 -:10461000FFF76AFB0095A3E7FF234A461B01190039 -:10462000824311410A001A40030702D58023DB01AF -:104630001A43002300213000FFF764FD0028CED18B -:1046400072E7B1284AD0B2285ED0B32800D18BE0FF -:10465000FC230340B42BC2D04A46534602400132E9 -:104660001A43012101233000FFF74CFD0028B6D189 -:104670005AE704023800FFF71BFF802520432D0274 -:10468000A842ACD004010005020C00230021300038 -:10469000FFF738FD0028A2D12C4200D144E70123C6 -:1046A000039341E7C6286AD0C7287CD003004A4656 -:1046B0009343DBB2C02B00D18BE0C82800D18FE040 -:1046C000C92800D08BE73800FFF7F2FEF023020381 -:1046D0001B03134042460240013278E73800FFF7DF -:1046E000E7FE002800D17AE7030042469343DBB29D -:1046F000002B00D073E7020000213000FFF702FD1D -:10470000002800D06BE70FE705AB00939B460D2216 -:10471000002300213000FFF7E7FA3800FFF7C8FE5A -:1047200003066AD57F25B03C059B2840A0409C46E7 -:104730006044059038000734FFF7BAFE0306F3D44F -:10474000812292009446863AFF3A1040A040059B91 -:10475000723A634418185B460590009300210023C9 -:104760003000FFF7E7FADFE63800FFF7A1FEF0239D -:1047700002031B03134042460240013270E7380037 -:10478000FFF796FEF02302031B031340424602404C -:1047900001321A43032303213000FFF7B3FC002842 -:1047A00000D01CE7C0E63800FFF782FE002800D1E9 -:1047B00015E7030042469343DBB2002B00D00EE71F -:1047C000020004213000FFF79DFC002800D006E71E -:1047D000AAE64346A0221C40013412032243D9E733 -:1047E0003800FFF765FE434602009A43D2B210320A -:1047F0001840120301300243EAE60224A0E7C04653 -:10480000030000B5DB6C85B05A6808001202019203 -:104810001A0001A908324A6003220A72DB794B723E -:10482000FFF770FE05B000BD10B5FFF767FE806CA6 -:1048300010BDC04610B5FFF761FEC26CD3799B0076 -:104840000833D01810BDC04610B500F005F8C046BA -:1048500010B5FFF7F9FFC04610B5062000F074F858 -:10486000012000F0A3F8C046F0B505000F2A2FD9AB -:104870000B0003439B0734D116000C000300103ECD -:10488000350901352D01451927681F6067685F608C -:10489000A7689F60E7681034DF6010339D42F3D152 -:1048A0000F239E431036851989191340032B1AD9FB -:1048B0001E1F0023B4080134A400CF58EF50043366 -:1048C000A342FAD10324A643331D2240C918ED1890 -:1048D000002A05D00023CC5CEC5401339342FAD17A -:1048E000F0BD0500F6E71A00F2E7C04670B5050016 -:1048F0000C001F2922D8B7239B00C358002B14D0CB -:104900008A009B181A68002A0FD0012A0BD0511C6C -:1049100005D00021200019609047002070BD1623AB -:1049200003600120FAE70020F8E7280000F02AF8E9 -:1049300022000100280000F011F8EFE716230360C1 -:1049400001204042EAE7C04610B5034B0100186859 -:10495000FFF7CCFF10BDC04600000020002370B55B -:10496000074C050008001100236000F017F8431CF5 -:1049700000D070BD2368002BFBD02B60F9E7C04648 -:104980003407002010B500F001F810BD58220120B6 -:10499000014B40421A607047340700205822012022 -:1049A000014B40421A60704734070020FEE7C046C2 -:1049B00002B4714649084900095C49008E4402BCB2 -:1049C0007047C04603B47146490840004900095E7B -:1049D00049008E4403BC704703B471464908400047 -:1049E0004900095A49008E4403BC7047F8B5C046D7 -:1049F000F8B5C04609021200010100803209040026 -:104A000000000000000012010002FF000008C016B4 -:104A1000DC05010201020001040309042A03490024 -:104A20006E00660069006E006900740065004E004B -:104A3000650073004C0069007600650073002E006D -:104A400063006F006D000000000000000000000027 -:104A50000000000000000000000000000000000056 -:104A60000000000000000000000000000000000046 -:104A70001E0349004E004C002000520065007400E7 -:104A800072006F002D00500072006F006700000080 -:104A90000000000000000000000000000000000016 -:0C4AA0000000000000000000000000000A -:104AAC0074B20181B0AB308000000000800A01813B -:104ABC00B0B0ABF0000000003F020181B0AB308021 -:104ACC000000000080060181B0B0ABF000000000D7 -:104ADC00F8ECFF7FB0B0B08050EEFF7F010000001B -:104AEC00FCEEFF7FB0A9028090EFFF7FB0B0A880F2 -:104AFC00E0EFFF7F01000000ECEFFF7FB0B0AA8079 -:104B0C0020F0FF7F9CFFFF7FF0F0FF7F0100000093 -:104B1C00ECF0FF7FAA3F398038F1FF7FB0B0A8805E -:104B2C0044F1FF7FB0B0AA8084F1FF7FB0B0A880C1 -:104B3C0098F1FF7F0100000094F1FF7FB0B0A880D6 -:104B4C009CF1FF7F010000002CF2FF7FAA0FB280C6 -:104B5C0094F2FF7F58FFFF7F7CF5FF7FB0B0A880F9 -:104B6C0098F5FF7F54FFFF7FF8F7FF7F01000000EF -:104B7C0068F9FF7F0084048078F9FF7FB0B0A880CB -:104B8C0078F9FF7F40FFFF7F6CFCFF7F008404807F -:104B9C008CFCFF7FB0B0A880A4FCFF7F010000005C -:104BAC00080000200000000000000000F4020020BB -:104BBC005C030020C4030020000000000000000083 -:104BCC0000000000000000000000000000000000D9 -:104BDC0000000000000000000000000000000000C9 -:104BEC0000000000000000000000000000000000B9 -:104BFC0000000000000000000000000000000000A9 -:104C0C000000000000000000000000000000000098 -:104C1C000000000000000000000000000000000088 -:104C2C000000000000000000000000000000000078 -:104C3C000000000000000000000000000000000068 -:104C4C000000000000000000000000000000000058 -:104C5C0001000000000000000E33CDAB34126DE6F5 -:104C6C00ECDE05000B00000000000000000000005E -:104C7C000000000000000000000000000000000028 -:104C8C000000000000000000000000000000000018 -:104C9C000000000000000000000000000000000008 -:104CAC0000000000000000000000000000000000F8 -:104CBC0000000000000000000000000000000000E8 -:104CCC0000000000000000000000000000000000D8 -:104CDC0000000000000000000000000000000000C8 -:104CEC0000000000000000000000000000000000B8 -:104CFC0000000000000000000000000000000000A8 -:104D0C000000000000000000000000000000000097 -:104D1C000000000000000000000000000000000087 -:104D2C000000000000000000000000000000000077 -:104D3C000000000000000000000000000000000067 -:104D4C000000000000000000000000000000000057 -:104D5C000000000000000000000000000000000047 -:104D6C000000000000000000000000000000000037 -:104D7C000000000000000000000000000000000027 -:104D8C000000000000000000000000000000000017 -:104D9C000000000000000000000000000000000007 -:104DAC0000000000000000000000000000000000F7 +:1000E000FCDC02F003F900009C4D00080000002039 +: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 +:1045B00001B401A801B585B0FFB408A841464A4638 +:1045C00053465C4665463EC001A83EC80F98009021 +:1045D00000230CB401A9FFF70FFC109B12B0184781 +:1045E00001B401A801B585B0FFB408A841464A4608 +:1045F00053465C4665463EC001A83EC80F980090F1 +:1046000000230CB401A9FFF72BFC109B12B0184734 +:1046100001B401A801B585B0FFB408A841464A46D7 +:1046200053465C4665463EC001A83EC80F980090C0 +:1046300000230CB401A9FFF737FC109B12B01847F8 +: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 +:104C50000000000000000000000000000000000054 +:104C60001E0349004E004C002000520065007400F5 +:104C700072006F002D00500072006F00670000008E +:104C80000000000000000000000000000000000024 +:0C4C900000000000000000000000000018 +:104C9C0074B20181B0AB308000000000800A018149 +:104CAC00B0B0ABF0000000003F020181B0AB30802F +:104CBC000000000080060181B0B0ABF000000000E5 +:104CCC00F8ECFF7FB0B0B08050EEFF7F0100000029 +:104CDC00FCEEFF7FB0A9028090EFFF7FB0B0A88000 +:104CEC00E0EFFF7F01000000ECEFFF7FB0B0AA8087 +:104CFC0020F0FF7F9CFFFF7FF0F0FF7F01000000A2 +:104D0C00ECF0FF7FAA3F398038F1FF7FB0B0A8806C +:104D1C0044F1FF7FB0B0AA8084F1FF7FB0B0A880CF +:104D2C0098F1FF7F0100000094F1FF7FB0B0A880E4 +:104D3C009CF1FF7F010000002CF2FF7FAA0FB280D4 +:104D4C0094F2FF7F58FFFF7F7CF5FF7FB0B0A88007 +:104D5C0098F5FF7F54FFFF7FF8F7FF7F01000000FD +:104D6C0068F9FF7F0084048078F9FF7FB0B0A880D9 +:104D7C0078F9FF7F40FFFF7F6CFCFF7F008404808D +:104D8C008CFCFF7FB0B0A880A4FCFF7F010000006A +:104D9C00080000200000000000000000F4020020C9 +:104DAC005C030020C4030020000000000000000091 :104DBC0000000000000000000000000000000000E7 :104DCC0000000000000000000000000000000000D7 :104DDC0000000000000000000000000000000000C7 @@ -1252,8 +1252,8 @@ :104E1C000000000000000000000000000000000086 :104E2C000000000000000000000000000000000076 :104E3C000000000000000000000000000000000066 -:104E4C000000000000000000000000000000000056 -:104E5C000000000000000000000000000000000046 +:104E4C0001000000000000000E33CDAB34126DE603 +:104E5C00ECDE05000B00000000000000000000006C :104E6C000000000000000000000000000000000036 :104E7C000000000000000000000000000000000026 :104E8C000000000000000000000000000000000016 @@ -1277,5 +1277,36 @@ :104FAC0000000000000000000000000000000000F5 :104FBC0000000000000000000000000000000000E5 :104FCC0000000000000000000000000000000000D5 +:104FDC0000000000000000000000000000000000C5 +:104FEC0000000000000000000000000000000000B5 +:104FFC0000000000000000000000000000000000A5 +:10500C000000000000000000000000000000000094 +:10501C000000000000000000000000000000000084 +:10502C000000000000000000000000000000000074 +:10503C000000000000000000000000000000000064 +:10504C000000000000000000000000000000000054 +:10505C000000000000000000000000000000000044 +:10506C000000000000000000000000000000000034 +:10507C000000000000000000000000000000000024 +:10508C000000000000000000000000000000000014 +:10509C000000000000000000000000000000000004 +:1050AC0000000000000000000000000000000000F4 +:1050BC0000000000000000000000000000000000E4 +:1050CC0000000000000000000000000000000000D4 +:1050DC0000000000000000000000000000000000C4 +:1050EC0000000000000000000000000000000000B4 +:1050FC0000000000000000000000000000000000A4 +:10510C000000000000000000000000000000000093 +:10511C000000000000000000000000000000000083 +:10512C000000000000000000000000000000000073 +:10513C000000000000000000000000000000000063 +:10514C000000000000000000000000000000000053 +:10515C000000000000000000000000000000000043 +: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 0f0feb5..83690ac 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\ccdBPmvz.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\ccSIjLzW.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,11 +49,11 @@ 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\cc6XiCXY.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\ccKkt1EM.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\cc6XiCXY.ltrans1.ltrans.o (__gnu_thumb1_case_shi) + C:\Users\paul\AppData\Local\Temp\ccKkt1EM.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\cc6XiCXY.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file @@ -89,23 +89,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\ccA8zS7I.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o .text 0x00000000 0x0 source/bootload.o (symbol from plugin) - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .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 .rodata.oper_info - 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o + 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 .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 +125,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\ccdBPmvz.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o + .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:/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 +367,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\ccA8zS7I.o +LOAD C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o LOAD source/bootload.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.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 source/buffer.o LOAD source/ciccom.o LOAD source/dump.o @@ -392,8 +392,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\ccdBPmvz.o -LOAD C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o +LOAD C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o +LOAD C:\Users\paul\AppData\Local\Temp\cc2herkl.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 +407,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 0x4aac +.text 0x08000000 0x4c9c *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o 0x08000000 __isr_vector *(.text*) - .text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o + .text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o 0x080000c0 Reset_Handler 0x080000fc TSC_IRQHandler 0x080000fc ADC1_COMP_IRQHandler @@ -452,201 +452,213 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- 0x080000fc USART1_IRQHandler 0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler .text.USB_IRQHandler - 0x08000100 0x1a48 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08000100 0x1ac0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x08000100 USB_IRQHandler - .text.pbje_scan - 0x08001b48 0x12c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .text.pbje_state_change - 0x08001c74 0x98 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .text.write_page - 0x08001d0c 0x34 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .text.get_next_buff - 0x08001d40 0x54 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .text.jtag_init_pbje - 0x08001d94 0xe0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - 0x08001d94 jtag_init_pbje - .text.jtag_run_pbje.part.0 - 0x08001e74 0xd8 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - 0x08001e74 jtag_run_pbje.part.0 - .text.io_reset - 0x08001f4c 0x154 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - 0x08001f4c io_reset - .text.startup.main - 0x080020a0 0xb8c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - 0x080020a0 main - .text.append_pairity - 0x08002c2c 0x1e C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - *fill* 0x08002c4a 0x2 - .text.snes_rom_wr - 0x08002c4c 0x4c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002c4c snes_rom_wr - .text.snes_rom_rd - 0x08002c98 0x40 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002c98 snes_rom_rd - .text.snes_3v_flash_wr - 0x08002cd8 0x44 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002cd8 snes_3v_flash_wr - .text.snes_5v_flash_wr - 0x08002d1c 0x44 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002d1c snes_5v_flash_wr .text.nes_cpu_wr - 0x08002d60 0x6c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002d60 nes_cpu_wr + 0x08001bc0 0x6c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001bc0 nes_cpu_wr .text.nes_cpu_rd - 0x08002dcc 0x40 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002dcc nes_cpu_rd - .text.mmc3_prgrom_flash_wr - 0x08002e0c 0x50 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002e0c mmc3_prgrom_flash_wr + 0x08001c2c 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001c2c nes_cpu_rd .text.disc_push_exp0_prgrom_wr - 0x08002e5c 0x48 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002e5c disc_push_exp0_prgrom_wr - .text.discrete_exp0_prgrom_wr - 0x08002ea4 0x58 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002ea4 discrete_exp0_prgrom_wr - .text.nrom_prgrom_flash_wr - 0x08002efc 0x44 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002efc nrom_prgrom_flash_wr - .text.control_xfr_in.lto_priv.37 - 0x08002f40 0xbc C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002f40 control_xfr_in.lto_priv.37 - .text.HardFault_Handler - 0x08002ffc 0x2 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08002ffc HardFault_Handler - *fill* 0x08002ffe 0x2 - .text.swim_wotf - 0x08003000 0xb4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003000 swim_wotf - .text.swim_rotf - 0x080030b4 0xac C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x080030b4 swim_rotf - .text.delay_us - 0x08003160 0x16 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003160 delay_us - .text.mmc1_wr 0x08003176 0x38 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003176 mmc1_wr - *fill* 0x080031ae 0x2 - .text.nes_dualport_wr - 0x080031b0 0x50 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x080031b0 nes_dualport_wr - .text.nes_dualport_rd - 0x08003200 0x38 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003200 nes_dualport_rd + 0x08001c6c 0x48 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001c6c disc_push_exp0_prgrom_wr + .text.pbje_scan + 0x08001cb4 0x12c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + .text.pbje_state_change + 0x08001de0 0x98 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + .text.write_page + 0x08001e78 0x34 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + .text.get_next_buff + 0x08001eac 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o .text.nes_ppu_wr - 0x08003238 0x50 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003238 nes_ppu_wr + 0x08001f00 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001f00 nes_ppu_wr .text.nes_ppu_rd - 0x08003288 0x38 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003288 nes_ppu_rd - .text.cdream_chrrom_flash_wr - 0x080032c0 0x88 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x080032c0 cdream_chrrom_flash_wr + 0x08001f50 0x38 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001f50 nes_ppu_rd + .text.discrete_exp0_prgrom_wr + 0x08001f88 0x58 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001f88 discrete_exp0_prgrom_wr + .text.jtag_init_pbje + 0x08001fe0 0xe0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08001fe0 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 + .text.io_reset + 0x08002198 0x154 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x08002198 io_reset + .text.startup.main + 0x080022ec 0xb8c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o + 0x080022ec 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 + .text.snes_3v_flash_wr + 0x08002f40 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x08002f40 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 - 0x08003348 0x44 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x08003348 mmc3_chrrom_flash_wr - .text.cnrom_chrrom_flash_wr - 0x0800338c 0x80 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x0800338c cnrom_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 - 0x0800340c 0x44 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x0800340c nrom_chrrom_flash_wr - .text.write_page_snes.constprop.32 - 0x08003450 0x180 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - 0x08003450 write_page_snes.constprop.32 - .text.write_page_bank.constprop.26 - 0x080035d0 0xbc C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - 0x080035d0 write_page_bank.constprop.26 - .text.snes_rom_page_rd_poll.constprop.23 - 0x0800368c 0x74 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - 0x0800368c snes_rom_page_rd_poll.constprop.23 - .text.nes_cpu_page_rd_poll.constprop.22 - 0x08003700 0x6c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - 0x08003700 nes_cpu_page_rd_poll.constprop.22 + 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 + .text.swim_wotf + 0x08003478 0xb4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x08003478 swim_wotf + .text.swim_rotf + 0x0800352c 0xac C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x0800352c 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 + .text.nes_dualport_wr + 0x08003634 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o + 0x08003634 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 - 0x0800376c 0x68 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - 0x0800376c nes_ppu_page_rd_poll.constprop.21 - .text 0x080037d4 0x4 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - 0x080037d4 jump2addr - *fill* 0x080037d8 0x8 - .text 0x080037e0 0x154 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o - 0x080037e0 swim_xfr - .text 0x08003934 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) - 0x08003c04 _Unwind_GetCFA - 0x08003c08 __gnu_Unwind_RaiseException - 0x08003c5c __gnu_Unwind_ForcedUnwind - 0x08003c70 __gnu_Unwind_Resume - 0x08003cb8 __gnu_Unwind_Resume_or_Rethrow - 0x08003cd4 _Unwind_Complete - 0x08003cd8 _Unwind_DeleteException - 0x08003ce8 _Unwind_VRS_Get - 0x08003d34 _Unwind_VRS_Set - 0x08003d80 __gnu_Unwind_Backtrace - 0x080040e0 __aeabi_unwind_cpp_pr0 - 0x080040ec __aeabi_unwind_cpp_pr1 - 0x080040f8 __aeabi_unwind_cpp_pr2 - 0x08004104 _Unwind_VRS_Pop - .text 0x0800436c 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) - 0x0800436c __restore_core_regs - 0x0800436c restore_core_regs - 0x08004398 __gnu_Unwind_Restore_VFP - 0x0800439c __gnu_Unwind_Save_VFP - 0x080043a0 __gnu_Unwind_Restore_VFP_D - 0x080043a4 __gnu_Unwind_Save_VFP_D - 0x080043a8 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x080043ac __gnu_Unwind_Save_VFP_D_16_to_31 - 0x080043b0 __gnu_Unwind_Restore_WMMXD - 0x080043b4 __gnu_Unwind_Save_WMMXD - 0x080043b8 __gnu_Unwind_Restore_WMMXC - 0x080043bc __gnu_Unwind_Save_WMMXC - 0x080043c0 ___Unwind_RaiseException - 0x080043c0 _Unwind_RaiseException - 0x080043f0 _Unwind_Resume - 0x080043f0 ___Unwind_Resume - 0x08004420 _Unwind_Resume_or_Rethrow - 0x08004420 ___Unwind_Resume_or_Rethrow - 0x08004450 _Unwind_ForcedUnwind - 0x08004450 ___Unwind_ForcedUnwind - 0x08004480 ___Unwind_Backtrace - 0x08004480 _Unwind_Backtrace - .text 0x080044b0 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) - 0x08004504 __gnu_unwind_execute - 0x08004800 __gnu_unwind_frame - 0x08004828 _Unwind_GetRegionStart - 0x08004834 _Unwind_GetLanguageSpecificData - 0x08004848 _Unwind_GetTextRelBase - 0x08004850 _Unwind_GetDataRelBase - .text.abort 0x08004858 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) - 0x08004858 abort - .text.memcpy 0x08004868 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) - 0x08004868 memcpy + 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 .text._raise_r - 0x080048ec 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) - 0x080048ec _raise_r - .text.raise 0x08004948 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) - 0x08004948 raise - .text._kill_r 0x0800495c 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) - 0x0800495c _kill_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 .text._getpid_r - 0x08004984 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) - 0x08004984 _getpid_r - .text._getpid 0x0800498c 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) - 0x0800498c _getpid - .text._kill 0x0800499c 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) - 0x0800499c _kill - .text._exit 0x080049ac 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) - 0x080049ac _exit - .text 0x080049b0 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) - 0x080049b0 __gnu_thumb1_case_uqi - .text 0x080049c4 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) - 0x080049c4 __gnu_thumb1_case_shi - .text 0x080049d8 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) - 0x080049d8 __gnu_thumb1_case_uhi + 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 *(.init) - .init 0x080049ec 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 - 0x080049ec _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 *(.fini) - .fini 0x080049f0 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 - 0x080049f0 _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 *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -659,54 +671,54 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- *(.dtors) *(.rodata*) .rodata.config_desc - 0x080049f4 0x12 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08004be4 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .rodata.device_desc - 0x08004a06 0x12 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08004bf6 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .rodata.string0_desc - 0x08004a18 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08004c08 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .rodata.string1_desc - 0x08004a1c 0x54 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08004c0c 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .rodata.string2_desc - 0x08004a70 0x3c C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x08004c60 0x3c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o *(.eh_frame*) -.glue_7 0x08004aac 0x0 - .glue_7 0x08004aac 0x0 linker stubs +.glue_7 0x08004c9c 0x0 + .glue_7 0x08004c9c 0x0 linker stubs -.glue_7t 0x08004aac 0x0 - .glue_7t 0x08004aac 0x0 linker stubs +.glue_7t 0x08004c9c 0x0 + .glue_7t 0x08004c9c 0x0 linker stubs -.vfp11_veneer 0x08004aac 0x0 - .vfp11_veneer 0x08004aac 0x0 linker stubs +.vfp11_veneer 0x08004c9c 0x0 + .vfp11_veneer 0x08004c9c 0x0 linker stubs -.v4_bx 0x08004aac 0x0 - .v4_bx 0x08004aac 0x0 linker stubs +.v4_bx 0x08004c9c 0x0 + .v4_bx 0x08004c9c 0x0 linker stubs -.iplt 0x08004aac 0x0 - .iplt 0x08004aac 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 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 -.ARM.extab 0x08004aac 0x30 +.ARM.extab 0x08004c9c 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08004aac 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 0x08004ad0 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) - 0x08004adc __exidx_start = . + .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.exidx 0x08004adc 0xd0 +.ARM.exidx 0x08004ccc 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004adc 0x8 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .ARM.exidx 0x08004ae4 0x0 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o + .ARM.exidx 0x08004ccc 0x8 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o + .ARM.exidx 0x08004cd4 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o 0x10 (size before relaxing) - .ARM.exidx 0x08004ae4 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 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) 0xd8 (size before relaxing) - .ARM.exidx 0x08004b7c 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 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) 0x48 (size before relaxing) - 0x08004bac __exidx_end = . - 0x08004bac __etext = ALIGN (0x4) + 0x08004d9c __exidx_end = . + 0x08004d9c __etext = ALIGN (0x4) -.rel.dyn 0x08004bac 0x0 - .rel.iplt 0x08004bac 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 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 -.data 0x20000000 0x430 load address 0x08004bac +.data 0x20000000 0x430 load address 0x08004d9c 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -734,123 +746,102 @@ 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 0x08004fdc +.igot.plt 0x20000430 0x0 load address 0x080051cc .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 0x308 load address 0x08004fdc +.bss 0x20000430 0x2f0 load address 0x080051cc 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .bss.bank_table - 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x20000434 bank_table *fill* 0x20000436 0x2 - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x20000438 buff0 - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x2000044c buff1 - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x20000460 buff2 - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x20000474 buff3 - .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x20000488 cur_bank *fill* 0x20000489 0x3 - .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x2000048c cur_buff .bss.cur_usb_load_buff - 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .bss.incoming_bytes_remain - 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o *fill* 0x20000495 0x3 - .bss.log 0x20000498 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .bss.new_address - 0x2000049c 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - *fill* 0x2000049d 0x1 - .bss.num_bytes_req.lto_priv.40 - 0x2000049e 0x2 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x2000049e num_bytes_req.lto_priv.40 - .bss.num_bytes_sending.lto_priv.39 - 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004a0 num_bytes_sending.lto_priv.39 - .bss.num_bytes_xfrd.lto_priv.38 - 0x200004a2 0x2 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004a2 num_bytes_xfrd.lto_priv.38 .bss.oper_info_struct - 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004a4 oper_info_struct + 0x20000498 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x20000498 oper_info_struct .bss.pbje_command - 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004c4 pbje_command + 0x200004b8 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x200004b8 pbje_command .bss.pbje_data - 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004c5 pbje_data + 0x200004b9 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x200004b9 pbje_data .bss.pbje_numclk - 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004e5 pbje_numclk + 0x200004d9 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x200004d9 pbje_numclk .bss.pbje_status - 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x200004e6 pbje_status + 0x200004da 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + 0x200004da pbje_status .bss.raw_bank_status - 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - *fill* 0x200004f7 0x1 + 0x200004db 0x10 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o + *fill* 0x200004eb 0x1 .bss.raw_buffer16 - 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .bss.req_dir 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .bss.reqdir 0x200006f9 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .bss.reqtype 0x200006fa 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - *fill* 0x200006fb 0x1 - .bss.rv16.4963 - 0x200006fc 0x8 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 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 .bss.swim_base - 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000704 swim_base - .bss.swim_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000708 swim_pin + 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 + *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 + *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 *fill* 0x20000709 0x3 - .bss.tck_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x2000070c tck_base - .bss.tck_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000710 tck_pin + .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.tdi_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000714 tdi_base - .bss.tdi_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000718 tdi_pin - *fill* 0x20000719 0x3 - .bss.tdo_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x2000071c tdo_base - .bss.tdo_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000720 tdo_pin - *fill* 0x20000721 0x3 - .bss.tms_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000724 tms_base - .bss.tms_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x20000728 tms_pin - *fill* 0x20000729 0x3 - .bss.usbMsgPtr - 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x2000072c usbMsgPtr - .bss.num_buff.5043 - 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o + .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 *(COMMON) - *fill* 0x20000731 0x3 - COMMON 0x20000734 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) - 0x20000734 errno - 0x20000738 . = ALIGN (0x4) - 0x20000738 __bss_end__ = . + *fill* 0x2000071a 0x2 + 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) + 0x20000720 __bss_end__ = . -.heap 0x20000738 0x0 - 0x20000738 __end__ = . - 0x20000738 PROVIDE (end, .) +.heap 0x20000720 0x0 + 0x20000720 __end__ = . + 0x20000720 PROVIDE (end, .) *(.heap*) - .heap 0x20000738 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o - 0x20000738 __HeapLimit = . + .heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o + 0x20000720 __HeapLimit = . -.stack_dummy 0x20000738 0xc00 +.stack_dummy 0x20000720 0xc00 *(.stack*) - .stack 0x20000738 0xc00 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o + .stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) 0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) 0x20001800 PROVIDE (__stack, __StackTop) @@ -862,19 +853,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\ccA8zS7I.o + 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o .ARM.attributes - 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .ARM.attributes - 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o + 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o .ARM.attributes - 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o + 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o .ARM.attributes - 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o + 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o .ARM.attributes - 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o + 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o .ARM.attributes - 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o + 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\cc2herkl.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 @@ -883,82 +874,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\cc6XiCXY.ltrans0.ltrans.o + .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o 0x6f (size before relaxing) - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o + .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 -.debug_line 0x00000000 0x1b32 - .debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o - .debug_line 0x0000006f 0xae1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_line 0x00000b50 0x720 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_line 0x00001270 0x4c5 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_line 0x00001735 0x2c1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - .debug_line 0x000019f6 0x49 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .debug_line 0x00001a3f 0xf3 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.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_info 0x00000000 0x4349 - .debug_info 0x00000000 0x8b C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o - .debug_info 0x0000008b 0x185d C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_info 0x000018e8 0x14d6 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_info 0x00002dbe 0xdd0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_info 0x00003b8e 0x6af C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - .debug_info 0x0000423d 0x88 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .debug_info 0x000042c5 0x84 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.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_abbrev 0x00000000 0xb23 - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o - .debug_abbrev 0x00000014 0x3b5 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_abbrev 0x000003c9 0x3bf C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_abbrev 0x00000788 0x1c3 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_abbrev 0x0000094b 0x1b0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o - .debug_abbrev 0x00000afb 0x14 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o - .debug_abbrev 0x00000b0f 0x14 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.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_aranges 0x00000000 0x1f8 +.debug_aranges 0x00000000 0x218 .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA8zS7I.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o .debug_aranges - 0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o + 0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o .debug_aranges - 0x00000040 0x58 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o + 0x00000040 0x88 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o .debug_aranges - 0x00000098 0xe0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o + 0x000000c8 0xd0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o .debug_aranges - 0x00000178 0x40 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o + 0x00000198 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o .debug_aranges - 0x000001b8 0x20 C:\Users\paul\AppData\Local\Temp\ccdBPmvz.o + 0x000001d8 0x20 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o .debug_aranges - 0x000001d8 0x20 C:\Users\paul\AppData\Local\Temp\ccgj2WWv.o + 0x000001f8 0x20 C:\Users\paul\AppData\Local\Temp\cc2herkl.o -.debug_loc 0x00000000 0x42c1 - .debug_loc 0x00000000 0x2767 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_loc 0x00002767 0xda4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_loc 0x0000350b 0x91b C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_loc 0x00003e26 0x49b C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.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_ranges 0x00000000 0x16b8 - .debug_ranges 0x00000000 0x1378 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_ranges 0x00001378 0x220 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_ranges 0x00001598 0xd0 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_ranges 0x00001668 0x50 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.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_str 0x00000000 0xdd6 - .debug_str 0x00000000 0x90a C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - 0x96f (size before relaxing) - .debug_str 0x0000090a 0x1f1 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - 0x494 (size before relaxing) - .debug_str 0x00000afb 0x1c5 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - 0x3c7 (size before relaxing) - .debug_str 0x00000cc0 0x116 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.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_frame 0x00000000 0x44c - .debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans0.ltrans.o - .debug_frame 0x00000030 0x100 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans1.ltrans.o - .debug_frame 0x00000130 0x268 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans2.ltrans.o - .debug_frame 0x00000398 0xb4 C:\Users\paul\AppData\Local\Temp\cc6XiCXY.ltrans3.ltrans.o +.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 .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/usb.c b/firmware/source/usb.c index 8545b37..2d8428a 100644 --- a/firmware/source/usb.c +++ b/firmware/source/usb.c @@ -66,6 +66,10 @@ uint16_t usbFunctionSetup(uint8_t data[8]) { #ifdef STM_CORE static uint16_t rv16[RETURN_BUFF_SIZE/2]; uint8_t *rv = (uint8_t*)rv16; + + //create a usbMsgPtr variable from the stack which we can use convienently + //but then at end of the function we'll need to copy the value over to usb_buff usbMsgPtr_H/L + usbMsgPtr_t usbMsgPtr; #else static uint8_t rv[RETURN_BUFF_SIZE]; #endif @@ -186,6 +190,14 @@ uint16_t usbFunctionSetup(uint8_t data[8]) { rv[RETURN_ERR_IDX] = ERR_UNKN_DICTIONARY; } +#ifdef STM_CORE + //now we need to copy usbMsgPtr over to usb_buff so the usb drivers actually get the pointer value + usbMsgPtr_L = (uint32_t)usbMsgPtr; + usbMsgPtr_H = ((uint32_t)usbMsgPtr)>>16; + //this is a hack for stm32 devices only. It allows usb firmware to be mostly separated + //from application code. Usb code doesn't use any .data nor .bss, only the stack and usb_buff +#endif + return rlen; //need to return USB_NO_MSG for OUT transfers to make usbFunctionWrite called diff --git a/firmware/source/usb.h b/firmware/source/usb.h index 5f719f1..91ca61b 100644 --- a/firmware/source/usb.h +++ b/firmware/source/usb.h @@ -25,7 +25,6 @@ #include "bootload.h" #include "ciccom.h" #include "types.h" -#include "shared_usb.h" #include "shared_errors.h" #include "shared_dictionaries.h" diff --git a/firmware/source_stm_only/usbstm.c b/firmware/source_stm_only/usbstm.c index 114dc2c..340ea7a 100644 --- a/firmware/source_stm_only/usbstm.c +++ b/firmware/source_stm_only/usbstm.c @@ -208,8 +208,8 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; #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 tried to cut it but couldn't.. -#define num_bytes_expecting usb_buff[NUM_BYTES_EXPECTING] //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 @@ -232,7 +232,10 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; //static uint8_t req_dir; #define req_dir usb_buff[VAR_REQ_DIR] //place this variable in USB RAM -usbMsgPtr_t usbMsgPtr; +//move this into USB buffer ram, definition kept in usbstm.h so application code can import it +//usbMsgPtr_t usbMsgPtr; +//#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 //#define TSSOP20 //defined when using TSSOP-20 part to get PA11/12 alternate mapping to the pins @@ -244,10 +247,11 @@ void init_usb() //Don't think most of these actually need to be cleared.. newaddr_reqtype might be only one.. num_bytes_req = 0; num_bytes_sending = 0; - num_bytes_expecting = 0; + //num_bytes_expecting = 0; num_bytes_xfrd = 0; newaddr_reqtype = 0; //two single byte variables stored in single 16bit half word req_dir = 0; + //usbMsgPtr_H/L shouldn't need pre-initialized //initialize i/o // TSSOP-20: On STM32F070x6 devices, pin pair PA11/12 can be remapped instead of pin pair PA9/10 using SYSCFG_CFGR1 register. @@ -477,17 +481,24 @@ static void control_xfr_in(){ // // return; // } + + //need a usbMsgPtr but want it to be a variable from the stack + usbMsgPtr_t usbMsgPtr_temp; + //copy the actual pointer from usb_buffer ram + //the usb_buffer ram can only be accessed in halfwords (16bits) + //so this assigment respects this and then casts it to the necessary pointer type + usbMsgPtr_temp = (uint16_t *) ((usbMsgPtr_H<<16) | usbMsgPtr_L); //copy over 8bytes from transmit data to EP0 buffer //copy data into EP0 buffer table ram //usb buffer ram is only accessible in halfwords/bytes (16/8bits) - usb_buff[EP0_TX_BASE] = usbMsgPtr[num_bytes_xfrd/2]; + usb_buff[EP0_TX_BASE] = usbMsgPtr_temp[num_bytes_xfrd/2]; num_bytes_xfrd += 2; - usb_buff[EP0_TX_BASE+1] = usbMsgPtr[num_bytes_xfrd/2]; + usb_buff[EP0_TX_BASE+1] = usbMsgPtr_temp[num_bytes_xfrd/2]; num_bytes_xfrd += 2; - usb_buff[EP0_TX_BASE+2] = usbMsgPtr[num_bytes_xfrd/2]; + usb_buff[EP0_TX_BASE+2] = usbMsgPtr_temp[num_bytes_xfrd/2]; num_bytes_xfrd += 2; - usb_buff[EP0_TX_BASE+3] = usbMsgPtr[num_bytes_xfrd/2]; + usb_buff[EP0_TX_BASE+3] = usbMsgPtr_temp[num_bytes_xfrd/2]; num_bytes_xfrd += 2; //if there aren't 8bytes of data to send, junk will be copied into end of EP0 TX buffer @@ -645,19 +656,42 @@ static uint16_t standard_req_in( usbRequest_t *spacket ){ case STD_REQ_GET_DESCRIPTOR: switch ( (spacket->wValue & DESC_TYPE_MASK)>>8) { //must mask out upper byte and shift to get desc type case DESC_TYPE_DEVICE: - usbMsgPtr = (uint16_t *)device_desc; + //usbMsgPtr = (uint16_t *)device_desc; + //set the usb_buff[] message ptr instead.. + //this works, but requires assingment above + //usbMsgPtr_L = (uint32_t)usbMsgPtr; + //usbMsgPtr_H = ((uint32_t)usbMsgPtr)>>16; + + //do the same but without the use of an actual usbMsgPtr + //first the const array (which is actually a pointer), is cast to a + //16bit pointer. Then that pointer is cast to an int and assinged + //to the usb_buff ram/index. + //the upper 16bits needs to get shifted prior to assignment + usbMsgPtr_L = (uint32_t)(uint16_t *)device_desc; + usbMsgPtr_H = ((uint32_t)(uint16_t *)device_desc)>>16; + return device_desc[bLength]; + case DESC_TYPE_CONFIG: //Must return all config, interface, and endpoint descriptors in one shot - usbMsgPtr = (uint16_t *)config_desc; + //usbMsgPtr = (uint16_t *)config_desc; + usbMsgPtr_L = (uint32_t)(uint16_t *)config_desc; + usbMsgPtr_H = ((uint32_t)(uint16_t *)config_desc)>>16; return config_desc[wTotalLength]; + case DESC_TYPE_STRING: //determine which string index switch ( spacket->wValue & DESC_IDX_MASK ) { //Must mask out index from lower byte - case 0: usbMsgPtr = (uint16_t *)string0_desc; + case 0: //usbMsgPtr = (uint16_t *)string0_desc; + usbMsgPtr_L = (uint32_t)(uint16_t *)string0_desc; + usbMsgPtr_H = ((uint32_t)(uint16_t *)string0_desc)>>16; return string0_desc[bLength]; - case 1: usbMsgPtr = (uint16_t *)string1_desc; + case 1: //usbMsgPtr = (uint16_t *)string1_desc; + usbMsgPtr_L = (uint32_t)(uint16_t *)string1_desc; + usbMsgPtr_H = ((uint32_t)(uint16_t *)string1_desc)>>16; return string1_desc[bLength]; - case 2: usbMsgPtr = (uint16_t *)string2_desc; + case 2: //usbMsgPtr = (uint16_t *)string2_desc; + usbMsgPtr_L = (uint32_t)(uint16_t *)string2_desc; + usbMsgPtr_H = ((uint32_t)(uint16_t *)string2_desc)>>16; return string2_desc[bLength]; default: //error send stall return 0; @@ -795,7 +829,10 @@ static void control_xfr_init( usbRequest_t *spacket ) { //the compiler was cutting it anyway, no need to put in usb_buff[].. //BUT! When I cut it, USB device descriptor fails.. //IDK why, so just let's just keep it anyway.. - num_bytes_expecting = standard_req_out( spacket ); + //num_bytes_expecting = standard_req_out( spacket ); + //The reason was because that function actually does something required even + //if the return value is ignored you bozo! + standard_req_out( spacket ); break; // case REQ_TYPE_CLASS: // //num_bytes_sending = 0;//class_req_in( spacket ); diff --git a/firmware/source_stm_only/usbstm.h b/firmware/source_stm_only/usbstm.h index 6383791..98463be 100644 --- a/firmware/source_stm_only/usbstm.h +++ b/firmware/source_stm_only/usbstm.h @@ -76,12 +76,18 @@ //So let's place those 14Bytes worth of variables in the begining of USB RAM #define NUM_BYTES_REQ 0 //variable placed in first 16bit index #define NUM_BYTES_SENDING 1 //variable placed in second index... -#define NUM_BYTES_EXPECTING 2 -#define NUM_BYTES_XFRD 3 -#define NEWADDR_REQTYPE 4 //two single byte variables stored in this index -#define VAR_REQ_DIR 5 //might be able to combine with above..? -//6 variables above use up 12Bytes of USB buffer RAM -//there's 4Bytes of available space, could be used for usbMsgPtr, but need to ensure half word access is used.. +//#define NUM_BYTES_EXPECTING 2 //variable cut +#define NUM_BYTES_XFRD 2 +#define NEWADDR_REQTYPE 3 //two single byte variables stored in this index +#define VAR_REQ_DIR 4 //might be able to combine with above..? +//there's 6Bytes of available space, could be used for usbMsgPtr, but need to ensure half word access is used.. +#define USBMSGPTR_L 5 //lower 16bit of pointer +#define USBMSGPTR_H 6 //upper 16bit of pointer +//now there's 7 indexes = 14Bytes used for usb_buff ram variables and the usb code shouldn't be using any .data nor .bss +//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 + //buffer table itself is located in 1KB buffer above, but it's location is programmable //the table must be aligned to an 8Byte boundary @@ -258,7 +264,14 @@ typedef struct usbRequest_t{ #define usbPoll() NOP() #define usbMsgPtr_t uint16_t * -extern usbMsgPtr_t usbMsgPtr; +//extern usbMsgPtr_t usbMsgPtr; //this variable is defined in usbstm.c + //putting extern here allows any file that imports usbstm.h access to usbMsgPtr + +//application code can access the entire usb_buff as well as the usbMsgPtr_H/L +//extern used here to declare usb_buff so other files can use it, definition is in usbstm.c +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 extern uint16_t usbFunctionSetup(uint8_t data[8]); extern uint8_t usbFunctionWrite(uint8_t *data, uint8_t len); diff --git a/shared/shared_dict_usb.h b/shared/shared_dict_usb.h index 6f1f34d..d97590c 100644 --- a/shared/shared_dict_usb.h +++ b/shared/shared_dict_usb.h @@ -15,7 +15,7 @@ //============================================================================================= // USB DICTIONARY // -// opcodes contained in this dictionary must be implemented in firmware/source/io.c +// opcodes contained in this dictionary must be implemented in firmware/source/usb.c // //============================================================================================= //============================================================================================= diff --git a/shared/shared_usb.h b/shared/shared_usb.h deleted file mode 100644 index 6f1f34d..0000000 --- a/shared/shared_usb.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _shared_dict_usb_h -#define _shared_dict_usb_h - -//define dictionary's reference number in the shared_dictionaries.h file -//then include this dictionary file in shared_dictionaries.h -//The dictionary number is literally used as usb transfer request field -//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields - -#define RETURN_BUFF_SIZE 8 //number of bytes in generic return buffer -#define RETURN_ERR_IDX 0 //index of IN DATA stage that contains SUCCESS/ERROR# -#define RETURN_LEN_IDX 1 //index of IN DATA stage that contains length of return value(s) in bytes (0-125) -#define RETURN_DATA 2 //index of IN DATA stage that contains start of return data - -//============================================================================================= -//============================================================================================= -// USB DICTIONARY -// -// opcodes contained in this dictionary must be implemented in firmware/source/io.c -// -//============================================================================================= -//============================================================================================= - -#endif