diff --git a/Upstream/.cproject b/Upstream/.cproject index cb9c94f..34b9536 100755 --- a/Upstream/.cproject +++ b/Upstream/.cproject @@ -109,7 +109,7 @@ - + @@ -228,7 +228,7 @@ - + diff --git a/Upstream/Debug/Upstream.elf b/Upstream/Debug/Upstream.elf index ef75167..98c54d1 100755 Binary files a/Upstream/Debug/Upstream.elf and b/Upstream/Debug/Upstream.elf differ diff --git a/Upstream/Debug/Upstream.hex b/Upstream/Debug/Upstream.hex index b568d77..3326866 100644 --- a/Upstream/Debug/Upstream.hex +++ b/Upstream/Debug/Upstream.hex @@ -1,944 +1,1783 @@ :020000040800F2 -:1000000000C00120E9360008353700083537000800 -:100010003537000835370008353700080000000084 -:10002000000000000000000000000000353700085C -:100030003537000800000000353700080D070008BC -:1000400035370008353700083537000835370008E0 -:1000500035370008353700083537000835370008D0 -:1000600035370008353700083537000835370008C0 -:1000700035370008353700083537000835370008B0 -:1000800035370008353700083537000835370008A0 -:100090003537000835370008353700083537000890 -:1000A0003537000835370008353700083537000880 -:1000B0003537000835370008353700083537000870 -:1000C0003537000835370008353700083537000860 -:1000D0003537000835370008353700083537000850 -:1000E0003537000835370008353700083537000840 -:1000F0003537000835370008353700083537000830 -:10010000353700083537000835370008353700081F -:10011000353700083537000835370008353700080F -:1001200035370008353700083537000835370008FF -:1001300035370008000000000000000035370008D7 -:10014000353700083537000835370008ED06000858 -:1001500035370008353700083537000835370008CF -:1001600035370008353700083537000835370008BF -:100170003537000835370008000000000000000097 -:10018000353700083537000808B1022070470020D5 -:10019000704700BF30B94FF480330B604FF40073E9 -:1001A000138070470220704708B10220704700207A -:1001B000704700BF08B1022070470020704700BFA1 -:1001C00090B910B400240BE0002041F8040B043275 -:1001D00092B200E00022B2F5007FF5D30134A4B260 -:1001E0009C42F7D3002002E0FF2040B2704740B2AB -:1001F0005DF8044B704700BF08B1FF2000E000200D -:1002000040B270470020704712230B8000487047AF -:100210004000002004230B80004870473C00002071 -:1002200010B50A46034C0448214600F04DFD204617 -:1002300010BD00BF74010020EC38000810B50A465C -:10024000034C0448214600F03FFD204610BD00BF8E -:10025000740100200039000808B50A4620B9054895 -:10026000054900F031FD03E00248034900F02CFD90 -:10027000014808BD143900087401002008B50A4679 -:1002800020B90548054900F01FFD03E00248034975 -:1002900000F01AFD014808BD24390008740100204F -:1002A00008B50A4620B90548054900F00DFD03E0F0 -:1002B0000248034900F008FD014808BD3039000834 -:1002C000740100200368B3F1A04F22D130B587B08C -:1002D000104B5A6B42F080025A635A6C42F48042CF -:1002E0005A644FF4C05301930223029300240394F1 -:1002F00004940A250595084801A903F03BF843201A -:100300002946224603F03EF9432003F06DF907B079 -:1003100030BD7047003802400000024008B5014679 -:10032000D0F8AC0301F55F7100F024FD08BD00BFFB -:1003300008B5C1EBC1039B000344D0F8AC03D3F86C -:10034000E02100F045FD08BD08B5C1EBC1039B00ED -:100350000344D0F8AC03DA6B00F06AFD08BD00BFBF -:1003600008B5D0F8AC0300F0DDFD08BD10B50446BB -:10037000C3680BB9002100E00121D4F8AC0300F000 -:10038000BDFDD4F8AC0300F099FD10BD10B50446D6 -:10039000D0F8AC0300F0B6FD2268D2F8003E43F07E -:1003A0000103C2F8003E10BD08B50268D2F8003E55 -:1003B00023F00103C2F8003ED0F8AC0300F0ACFD1E -:1003C00008BD00BF08B5D0F8AC0300F0B9FD08BD0A -:1003D00008B5D0F8AC0300F0B1FD08BD08B5D0F801 -:1003E000AC0300F0AFFD08BD08B5D0F8AC0300F0D9 -:1003F000ABFD08BD38B503782BBB144CC4F8AC0377 -:10040000C0F820424FF0A04323600723636002231B -:10041000E360002525616561A361E5612562656290 -:10042000A562E562204602F099FB2046802102F099 -:1004300033FB20462946402202F00AFB20460121D8 -:10044000802202F005FB002038BD00BF74030020AD -:1004500008B5D0F8200202F0EFFB002008BD00BF75 -:1004600010B51446D0F820021A46234602F034FE96 -:10047000002010BD08B5D0F8200202F061FE002077 -:1004800008BD00BF08B5D0F8200202F057FF0020D9 -:1004900008BD00BF08B5D0F8200202F0F1FE002030 -:1004A00008BD00BF08B5D0F8200202F01BFF0020F5 -:1004B00008BD00BFD0F8202211F0800F08D001F055 -:1004C0007F03C3EBC3039B00134493F832007047D0 -:1004D00001F07F01C1EBC1018900114491F8D601FF -:1004E000704700BF08B5D0F8200202F0E3FD0020FD -:1004F00008BD00BF08B5D0F8200202F08DFE002034 -:1005000008BD00BF08B5D0F8200202F045FE00206B -:1005100008BD00BF08B5D0F8200202F073FE08BD88 -:1005200010B5094C20460949002200F0EBFB20469B -:10053000074900F0FBFB2046064901F05BFA204624 -:1005400000F0FCFB10BD00BF2407002020000020AD -:10055000A000002000000020F0B587B0224B1A6BED -:1005600042F001021A631A6B42F002021A631A6B1C -:1005700042F004021A631A6B42F008021A6341F651 -:10058000FF730193002502950127039704950595B4 -:10059000164801A902F0EEFE4FF6E77301931448E6 -:1005A00001A902F0E7FE4FF6FF730193114C2046BC -:1005B00001A902F0DFFE104801A902F0DBFE1023C2 -:1005C000019303230293204601A902F0D3FE4FF4C6 -:1005D0008056019602970395204601A902F0CAFEB3 -:1005E000A66107B0F0BD00BF003802400000024025 -:1005F0000004024000080240000C024008B5044814 -:10060000044B03600023437102F09AFF08BD00BF52 -:10061000480900200030024008B50D480D4B03602A -:10062000002380F851304FF4827242608360C360CF -:10063000036143614FF480228261C36103624362BC -:100640004FF4005383620723C36201F0BBFE08BD71 -:10065000500900200030014000B593B01B4A136CD4 -:1006600043F080531364A2F5E432136823F440434B -:1006700043F40043136001230693079302230C9372 -:100680004FF480030D9308230E934FF4A8730F9338 -:10069000042310930723119306A801F0D3FE00B1A1 -:1006A000FEE70D23019302210291002303934FF4EF -:1006B000A05304934FF48053059301A802F04AF825 -:1006C00000B1FEE713B05DF804FB00BF0038024044 -:1006D00008B502F0B3FFFFF7BFFFFFF73DFFFFF7DD -:1006E0008DFFFFF799FFFFF71BFFFEE710B5054CE5 -:1006F0004FF08053A361044802F0B4FA4FF48053E2 -:10070000A36110BD000802407403002008B502F088 -:10071000AFFF08BD08B54FF0FF300221002202F004 -:1007200031FF08BD0268044B9A4204D1034A136B9F -:1007300043F4805313637047003002400038024096 -:1007400002680D4B9A4216D100B587B00B4A536C24 -:1007500043F480535364F0230193022302930393E1 -:100760000123049305230593054801A902F002FE25 -:1007700007B05DF804FB70470030014000380240CC -:100780000000024038B50D4613460222C0F8F4219D -:100790008361C36100212A46FFF7ACFE002038BD0B -:1007A00010B50C46134600212246FFF7A3FE002099 -:1007B00010BD00BF10B50C46134600212246FFF7BE -:1007C000A1FE002010BD00BF08B50423C0F8F4311D -:1007D00000210A460B46FFF78DFE002008BD00BF32 -:1007E00008B50523C0F8F43100210A460B46FFF78F -:1007F00089FE002008BD00BF0346002002E0013052 -:10080000C0B201331A78002AF9D170474B88012B06 -:100810000BD110B50446C0F80432D0F814329B68EE -:1008200098472046FFF7D0FF10BD70470B78037044 -:100830004B7843708B78CA7803EB022343800B79A3 -:100840004A7903EB022383808B79CA7903EB022375 -:10085000C380704710B504468021FFF71BFE204679 -:100860000021FFF717FE10BD30B583B004460D46DA -:100870004A88130A013B062B00F28580DFE803F06B -:10088000040D238383657300D0F810321B68007C4D -:100890000DF106019847014679E0037C4BB9D0F889 -:1008A00014329B6A0DF106009847014602234370FB -:1008B0006DE0D0F81432DB6A0DF10600984701466E -:1008C0000223437063E0D2B2052A3AD8DFE802F08F -:1008D000030C151E2730D0F810325B68007C0DF138 -:1008E00006019847014652E0D0F810329B68007C20 -:1008F0000DF106019847014649E0D0F81032DB6857 -:10090000007C0DF106019847014640E0D0F8103216 -:100910001B69007C0DF106019847014637E0D0F8CD -:1009200010325B69007C0DF10601984701462EE00C -:10093000D0F810329B69007C0DF106019847014602 -:1009400025E02946FFF786FF2EE0037C3BB9D0F86F -:1009500014325B6B0DF106009847014617E02946FB -:10096000FFF778FF20E0037C4BB9D0F814321B6B03 -:100970000DF10600984701460723437007E029461A -:10098000FFF768FF10E02946FFF764FF0CE0BDF8B1 -:1009900006304BB1EA883AB19A4228BF1A46ADF800 -:1009A00006202046FFF7EEFE03B030BD38B5044602 -:1009B0008B88E3B9CB88D3B98D7805F07F0590F8A3 -:1009C000FC31032B02D1FFF745FF38BD80F8FE5103 -:1009D0002946FFF787FD2046FFF7F6FE1DB10223EB -:1009E00084F8FC3138BD012384F8FC3138BD204641 -:1009F000FFF730FF38BD00BF38B504460D46897893 -:100A0000264B1970012903D92946FFF723FF38BD6A -:100A100090F8FC31022B02D0032B15D039E081B1C4 -:100A20004160032380F8FC3100F08EF9022804D1E4 -:100A300020462946FFF70EFF38BD2046FFF7C4FECB -:100A400038BDFFF7C1FE38BD49B9022380F8FC313B -:100A5000416000F087F92046FFF7B6FE38BD4368D5 -:100A6000994213D0D9B200F07DF90C4B197861602E -:100A7000204600F069F9022804D120462946FFF7F4 -:100A8000E9FE38BD2046FFF79FFE38BDFFF79CFE0C -:100A900038BD2946FFF7DEFE38BD00BF60010020EB -:100AA00008B50346CA88012A02D0FFF7D3FE08BD65 -:100AB00090F8FC21022A02D0032A08D00CE001465B -:100AC000002241F8082F0122FFF75CFE08BD191D26 -:100AD0000122FFF757FE08BDFFF7BCFE08BD00BFAF -:100AE00008B5034690F8FC21023A012A0DD80122EC -:100AF000C260D0F804220AB10322C260184603F192 -:100B00000C010222FFF73EFE08BDFFF7A3FE08BD61 -:100B100010B5044690F8FC31023B012B0DD84B88F0 -:100B2000012B0CD10023C0F80432D0F814329B689A -:100B300098472046FFF748FE10BDFFF78BFE10BD1B -:100B400008B54B78092B1BD8DFE803F011171A14EE -:100B50001A08051A0E0BFFF787FE13E0FFF726FFB2 -:100B600010E0FFF749FF0DE0FFF79AFF0AE0FFF7FB -:100B7000B7FF07E0FFF74AFE04E0FFF7C9FF01E017 -:100B8000FFF768FE002008BD38B504460D4690F812 -:100B9000FC31032B0FD10B79012B09D8D0F814327B -:100BA0009B689847EB8843B92046FFF70DFE04E0A9 -:100BB000FFF750FE01E0FFF74DFE002038BD00BFFB -:100BC00038B505460C468A88D1B26378012B26D009 -:100BD000002B48D0032B74D190F8FC31022B02D0AB -:100BE000032B07D017E000296BD0802969D0FFF7CD -:100BF00051FC66E0638823B919B1802901D0FFF761 -:100C000049FCD5F814329B68284621469847284667 -:100C1000FFF7DAFD55E02146FFF71CFE51E090F8A2 -:100C2000FC31022B02D0032B07D018E0002948D05A -:100C3000802946D0FFF72EFC43E06388002B40D18B -:100C400011F07F0F07D0FFF72DFCD5F814329B6809 -:100C50002846214698472846FFF7B6FD31E0214651 -:100C6000FFF7F8FD2DE090F8FC31022B02D0032BAA -:100C700006D023E011F07F0F23D0FFF70BFC20E01C -:100C800012F0800F05D001F07F0400EB041414343F -:100C900005E001F07F0400EB041404F5827428469B -:100CA000FFF708FC10B10123236001E0002323605B -:100CB000284621460222FFF765FD02E02146FFF7A4 -:100CC000C9FD002038BD00BFD0B170B50D46164635 -:100CD0000446FFF791FD0130400080B2308028705B -:100CE00003236B70022307E05A1CD2B20134E9548B -:100CF000531CDBB20021A95421780029F4D170BD26 -:100D0000704700BF80B108B503460020C3F8140245 -:100D100009B1C3F81012012183F8FC111A701846AA -:100D2000FFF768FB002008BD0220704719B1C0F82A -:100D30001412002070470220704700BF08B5FFF76B -:100D400087FB002008BD00BF08B5D0F8143223B1DE -:100D50001B68984718B1022008BD022008BD00207A -:100D600008BD00BF08B5D0F814325B689847002072 -:100D700008BD00BF38B5044600F502752846FFF7E8 -:100D800055FD0123C4F8F431B4F80E32C4F8F8313B -:100D900094F8081201F01F03012B08D013B1022BA5 -:100DA0000AD00EE020462946FFF7CAFE0EE0204694 -:100DB0002946FFF7E9FE09E020462946FFF700FF34 -:100DC00004E0204601F08001FFF764FB002038BDFD -:100DD00038B5044609BBD0F8F431032B26D1D0F83E -:100DE0000C31D0F810118B420AD95B1AC0F80C31C3 -:100DF0008B4228BF0B4611469AB2FFF7DBFC15E089 -:100E0000D0F814321B6923B190F8FC21032A00D1D9 -:100E100098472046FFF7D8FC08E0D0F814329B69C9 -:100E200023B190F8FC21032A00D19847002038BD57 -:100E300038B50446B9BBD0F8F431022B2BD1C169C7 -:100E4000036A994206D9CB1AC36111469AB2FFF7D9 -:100E5000A7FC20E08169B1FBF3F203FB12126AB92F -:100E60008B420BD8D0F8F831994207D200210A46BC -:100E7000FFF796FC0023C4F8F8310CE0D4F81432E4 -:100E8000DB682BB194F8FC21032A01D12046984756 -:100E90002046FFF7A5FC94F80032012B0CD100236B -:100EA00084F8003208E0D0F814325B6923B190F87E -:100EB000FC21032A00D19847002038BD38B50446EC -:100EC00000210A464023FFF7CBFA4025C4F8105111 -:100ED0002046802100222B46FFF7C2FA256201231B -:100EE00084F8FC31D4F818322BB1D4F814325B6892 -:100EF000204621799847002038BD00BF01740020AA -:100F0000704700BF90F8FC3180F8FD31042380F871 -:100F1000FC310020704700BF90F8FD3180F8FC31B3 -:100F20000020704708B590F8FC31032B04D1D0F8AD -:100F30001432DB6903B19847002008BD00207047D8 -:100F4000002070470020704708B5012280F8FC217E -:100F5000D0F81422526801799047002008BD00BFE4 -:100F600010B4D0F81842537813F0010F0DD1D0F817 -:100F70001C32D86901EBC1018900084401790531AF -:100F800013798B4203D90B4601E00723064863819E -:100F900004E0013B9BB2C15CE2181173002BF8D155 -:100FA00000205DF8044B704740390008D0F8180263 -:100FB0000823438105E0013B9BB2044AD15CC2187F -:100FC0001173002BF7D10020704700BF5039000883 -:100FD000D0F818020823438105E0013B9BB2044A84 -:100FE000D15CC2181173002BF7D10020704700BFED -:100FF0004839000810B4D0F81842002304E0E11882 -:10100000002008730133DBB2112BF8D9702323734E -:101010000C23E37494F85C3294F85D128B4212D086 -:1010200003F1470104EBC1010879A073487A2076E7 -:10103000097A61760133DBB284F85C32042B02D189 -:10104000002384F85C32122363811379122B00D8B9 -:10105000638100205DF8044B704700BFD0F8183260 -:1010600000205881704700BF10B4D0F8184294F89F -:101070005D1201F1470004EBC00002711B028360A6 -:101080000131C9B284F85D12042902D1002384F829 -:101090005D325DF8044B704770B50446D0F81852C5 -:1010A000D5F814323BB195F8191205222023FFF729 -:1010B000DBFFFF2313E00E46D0F81C329B68084686 -:1010C0009847034648B12046314602223A23FFF7AB -:1010D000CBFF05232B72FF2301E000226A8158B267 -:1010E00070BD00BF70B582B005460E46D0F81842FC -:1010F000002304E0E2180021117301339BB20B2B93 -:10110000F8D9D5F81C325B68304669460DF1060205 -:101110009847014638B12846314602223A23FFF764 -:10112000A3FFFF2118E00823E373009A531E180E53 -:101130002074C3F307406074C3F30723A374013A18 -:10114000E27402232375BDF80630002262751A0A84 -:10115000A275E3750C23638148B202B070BD00BF75 -:10116000F8B505460F46D0F81842D0F81C325B6837 -:10117000084604F5187104F25E22984738B12846F3 -:10118000394602223A23FFF76FFFFF261DE006468D -:10119000B4F85E124FF4007393FBF1F3A4F86A32D3 -:1011A000D4F86022531E180E2073C3F307406073F7 -:1011B000C3F30723A373013AE27300232374637418 -:1011C0000B0AA374E1740823638170B2F8BD00BFF9 -:1011D00010B5D0F818421344D4F86042A34205D9A0 -:1011E00005222123FFF740FFFF2000E0002040B24E -:1011F00010BD00BF2DE9F84307468946D0F81842D4 -:10120000B4F86A52B4F868329D4228BF1D46B4F85B -:101210005E6206FB05F6D0F81C32D3F810C004F16C -:101220000C0808464146D4F864222B46E0470028C3 -:1012300007DA3846494604221123FFF715FFFF203D -:101240001BE0384681214246B3B2FFF753F9D4F888 -:1012500064322B44C4F86432B4F868325D1BADB21A -:10126000A4F86852D4F834329E1BC4F834621DB915 -:1012700003232372002000E0002040B2BDE8F88381 -:10128000F8B506460F46D0F81842237A002B47D10E -:10129000154694F91832002B07DB94F81912052231 -:1012A0002023FFF7E1FEFF2043E0D0F81C329B68CB -:1012B0000846984738B13046394602223A23FFF7AC -:1012C000D3FEFF2035E0AA78EB781B0443EA0263E3 -:1012D0002A7943EA02236A791A43C4F86422EB7933 -:1012E000297A41EA0323A4F8683230463946FFF7E9 -:1012F0006FFF00281CDB02232372D4F81422B4F8F9 -:101300006812B4F85E3203FB01F39A4208D030460B -:1013100094F8191205222023FFF7A6FEFF2008E00B -:101320004FF40073638130463946FFF763FF00E0F6 -:10133000FF2040B2F8BD00BF2DE9F04106468846C7 -:10134000D0F81842B4F86852B5F5007F01D34FF4D5 -:101350000075D6F81C32D3F814C004F10C07D4F889 -:101360006422B4F85E3240463946B2FBF3F2B5FB74 -:10137000F3F3E047002807DA30464146042203230E -:10138000FFF772FEFF2021E0D4F864322B44C4F84A -:101390006432B4F868325B1B9BB2A4F86832D4F8AC -:1013A0003422551BC4F834522BB93046002100F0CA -:1013B0007BF900200AE0304601213A46B3F5007F70 -:1013C00028BF4FF40073FFF79DF8002040B2BDE83E -:1013D000F08100BF2DE9F04105460F46D0F81842D4 -:1013E000237A002B6ED1164694F91832002B08DAB6 -:1013F00094F8191205222023FFF736FE4FF0FF085C -:1014000066E0D0F81C329B680846984740B12846F1 -:10141000394602223A23FFF727FE4FF0FF0857E034 -:10142000D5F81C32DB6838469847804640B12846DC -:10143000394602222723FFF717FE4FF0FF0847E047 -:10144000B278F3781B0443EA0263327943EA022359 -:1014500072791A43C4F86422F379317A41EA03239A -:10146000A4F8683228463946FFF7B2FE00282DDB83 -:10147000B4F85E12D4F8642201FB02F2C4F86422CC -:10148000B4F8683203FB01F39BB2A4F86832D4F8D5 -:1014900014229A4209D0284694F8191205222023D2 -:1014A000FFF7E2FD4FF0FF0812E00121217228460C -:1014B00004F10C02B3F5007F28BF4FF40073FFF76F -:1014C00021F805E0FFF738FF804601E04FF0FF0804 -:1014D0004FFA88F0BDE8F08110B5D0F81842537883 -:1014E00013F0020F05D005222423FFF7BDFDFF20D6 -:1014F0000BE0D4F86422B4F86832FFF769FE0028E4 -:1015000002DB0020608100E0FF2040B210BD00BF80 -:1015100008B513785A2B53D8DFE803F02E52523116 -:1015200052525252525252525252525252523452B9 -:101530005252525252523D3752523A5252525243E2 -:101540005246525249524C525252524F5252525299 -:10155000525252525252525252525252525252526B -:10156000525252525252525252525252525252525B -:101570005252525252524000FFF78EFD25E0FFF7C3 -:1015800039FD22E0FFF7ECFC1FE0FFF767FD1CE0F0 -:10159000FFF764FD19E0FFF709FD16E0FFF718FDFE -:1015A00013E0FFF79FFD10E0FFF7DAFD0DE0FFF716 -:1015B00067FE0AE0FFF70EFF07E0FFF78DFF04E08C -:1015C00005222023FFF750FDFF2040B208BD00BFD9 -:1015D00038B50546D0F8184294F818323BB9D4F81B -:1015E000143223B1637A13B90121FEF753FF284661 -:1015F0008121FEF74FFF637A022B06D12846012195 -:1016000004F503721F23FEF77DFF38BD10B50C46AD -:10161000D0F81812D1F814329A4228BF1A4693B261 -:10162000D1F83422D21AC1F83422002281F83822AB -:1016300004220A7281212246FEF75CFF10BD00BF22 -:1016400038B50546D0F8184200202072607284F840 -:101650005D0284F85C02D5F81C321B689847284666 -:101660000121FEF70FFF28468121FEF70BFF2846D8 -:10167000012104F503721F23FEF744FF38BD00BFAC -:1016800008B5D0F81822002313720121517202F517 -:1016900003721F23FEF736FF08BD00BFD0F81832D3 -:1016A00000221A72704700BF38B50546D0F81842BC -:1016B0000A4BC4F82C3284F838120023237281219B -:1016C00004F50B720D23FEF715FF2846012104F5E2 -:1016D00003721F23FEF716FF38BD00BF5553425358 -:1016E00010B50446D0F81822137A022B03D012D377 -:1016F000042B0DD910BD92F8191202F21B22FFF72C -:1017000007FF002807DA20460121FFF7CDFF10BDB3 -:101710000021FFF7C9FF10BD38B50546D0F81842C3 -:10172000D4F81032C4F83032D4F81432C4F8343259 -:101730000121FEF7EFFE1F280DD1D4F80C221F4B1C -:101740009A4208D194F81912012904D894F81A324F -:101750000BB1102B0CD9284694F81912052220231E -:10176000FFF782FC022363722846FFF731FF38BD82 -:10177000284604F21B22FFF7CBFE00280BDA237A5F -:10178000052B04D128460121FFF78EFF38BD2846DE -:10179000FFF71EFF38BD237A013BDBB2022B0CD9C9 -:1017A00062892AB1284604F10C01FFF72FFF38BDEA -:1017B0001AB928460021FFF777FF38BD5553424339 -:1017C00010B50446D0F81822137A13B1012B03D0B8 -:1017D00010BDFFF7A1FF10BD92F8191202F21B22F3 -:1017E000FFF796FE002803DA20460121FFF75CFF91 -:1017F00010BD00BF10B5D0F81842637A022B05D196 -:101800008121FEF747FE0023637210BD11F0800FA7 -:1018100004D0012B02D00121FFF746FF10BD00BF0D -:10182000202303800048704780000020202303808D -:1018300000487047D80000202023038000487047EC -:10184000540000200A2303800048704774000020E1 -:1018500010B50446037C6BB9012102224FF40073DA -:10186000FEF7FEFD2046812102224FF40073FEF7B1 -:10187000F7FD0AE0012102224023FEF7F1FD204698 -:10188000812102224023FEF7EBFD4FF41B7001F093 -:1018900053FFC4F8180220B12046FFF7D1FE002004 -:1018A00010BD012010BD00BF10B504460121FEF798 -:1018B000E1FD20468121FEF7DDFD2046FFF7EEFE2B -:1018C000D4F8180220B101F03FFF0023C4F8183209 -:1018D000002010BDF8B506460C46D0F818720B78FB -:1018E00013F0600536D0202D75D14A78FE2A02D03B -:1018F000FF2A1AD02AE04A888AB9CA88012A0ED15A -:1019000013F0800F0BD0D0F81C329B6998473860D9 -:10191000304639460122FEF735FF00255CE03046AF -:101920002146FEF797FF022556E04A8842B9CA8849 -:1019300032B913F0800F03D1FFF7A2FE00254BE070 -:1019400030462146FEF786FF022545E0FEF782FF7E -:10195000022541E04B780A2B04D00B2B07D0012B3A -:101960003AD107E0391D0122FEF70CFF34E08B78F5 -:101970007B6031E00979FEF785FD30462179FEF77D -:1019800079FD94F90430002B10DA337C3BB93046F2 -:10199000812102224FF40073FEF762FD16E030460B -:1019A000812102224023FEF75BFD0FE0337C3BB92F -:1019B0003046012102224FF40073FEF751FD05E08D -:1019C0003046012102224023FEF74AFD30462179AC -:1019D000FFF710FF00E000252846F8BD08B5FFF727 -:1019E0007FFE002008BD00BF08B5FFF7E9FE00201C -:1019F00008BD00BF09B1C0F81C120020704700BF2D -:101A00000C4B01E0013B10D00269002AFADA0369AD -:101A100043F001030361074B01E0013B07D002697A -:101A200012F0010FF9D10020704703207047032006 -:101A3000704700BF400D030084B010B5044603A8F2 -:101A400080E80E00089B012B18D1A36B23F4803390 -:101A5000A363E36823F4840323F04003E360E368B3 -:101A600023F44013E3600D9B012B03D1E36843F49F -:101A70008013E3602046FFF7C3FF09E0E36843F00B -:101A80004003E3602046FFF7BBFF4FF48033A363BE -:101A9000069B012B07D1A36843F00C03A360A36846 -:101AA00043F02003A3600020BDE8104004B070475D -:101AB000836843F00103836000207047836823F04C -:101AC000010383600020704708B5C36823F0C0435A -:101AD000C360012904D1C36843F00053C36004E02C -:101AE00019B9C36843F08043C360322001F0CEFDD2 -:101AF000002008BD490141F020010161054B01E0D2 -:101B0000013B05D0026912F0200FF9D10020704787 -:101B100003207047400D030010230361054B01E0D3 -:101B2000013B05D0026912F0100FF9D10020704777 -:101B300003207047400D0300D0F800381943C0F867 -:101B400000180020704700BF84B0F8B5044607A80D -:101B500080E80E00A36B43F40023A3630F9E1EB91D -:101B6000A36B43F40013A3630023C4F8003E04F501 -:101B70000065D4F80038C4F800380C9B012B0BD159 -:101B8000099B23B920460021FFF7D6FF08E0204635 -:101B90000121FFF7D1FF03E020460321FFF7CCFF2F -:101BA00020461021FFF7A6FF2046FFF7B5FF0023D0 -:101BB0002B616B614FF0FF32AA61EB61079848B36C -:101BC00004F51063002219461F68002F03DA4FF056 -:101BD00090471F6001E000271F6000270F61FF276B -:101BE0008F60013220338242EDD304F5306300224E -:101BF00019461F68002F03DA4FF090471F6001E07D -:101C000000271F6000270F61FF278F6001322033FC -:101C10008242EDD12B6923F480732B610A9B012B47 -:101C20000ED1184B2B632B6B43F4803343F003032B -:101C30002B632B6B0023A3616FF08043636109E08A -:101C40000022A2616FF0804262611BB9A36943F078 -:101C50001003A361A2690C4B1343A3610D9B1BB13D -:101C6000A36943F00803A361012E05D1A36943F0E2 -:101C7000804343F00403A3610020BDE8F84004B0B2 -:101C8000704700BF0001800000383C80D0F8083861 -:101C900000F5006013F0060F10D0836803F0060310 -:101CA000022B0DD0836803F00603062B0AD083684D -:101CB00003F00603042B07D1022070470020704771 -:101CC00003207047032070470020704770B44B78A2 -:101CD000012B1FD1D0F81C280D78AB409BB21343C9 -:101CE000C0F81C380E78730103F510631A5812F40B -:101CF000004F2DD11C5844F0805545F400458A68AA -:101D0000C2F30A042C43CA7844EA824242EA865269 -:101D10001A501DE0D0F81C280D784FF48033AB40EA -:101D20001343C0F81C380B785B0103F530631A5875 -:101D300012F4004F0CD11A5842F0805444F400447D -:101D40008A68C2F30A022243C97842EA81421A50E1 -:101D5000002070BC704700BF30B44B78012B1BD102 -:101D6000D0F83C580C7803FA04F4A4B225EA040431 -:101D7000C0F83C48D0F81C480D78AB409BB224EA30 -:101D80000303C0F81C380B785B0103F510631A5885 -:101D900022F400421A5019E0D0F83C480D78012294 -:101DA00002FA05F524EA0544C0F83C48D0F81C487E -:101DB0000D78AA4024EA0242C0F81C280B785B0187 -:101DC00003F530631A5822F400421A50002030BC48 -:101DD000704700BF30B44B78012B68D14B69EBB929 -:101DE0000B7800EB4313D3F8104924F0FF5424F48C -:101DF000C014C3F810490B7800EB4313D3F8104913 -:101E000044F40024C3F810490B7800EB4313D3F8D3 -:101E10001049E40CE404C3F810492CE00B7800EB03 -:101E20004313D3F81049E40CE404C3F810490B78C9 -:101E300000EB4313D3F8104924F0FF5424F4C014EA -:101E4000C3F810498B684C699C4200D94B610B78F0 -:101E500000EB4313D3F8104944F40024C3F81049AD -:101E60000B7800EB4313D3F810594C69C4F31204F8 -:101E70002C43C3F81049012A06D10B7800EB431319 -:101E80000A69C3F8142909E04B693BB1D0F834283A -:101E90000D780123AB401343C0F834380B785B0155 -:101EA00003F51063C25842F00442C2503BE00B7885 -:101EB00000EB4313D3F8104BE40CE404C3F8104BCD -:101EC0000B7800EB4313D3F8104B24F0FF5424F4A9 -:101ED000C014C3F8104B4B690BB18B684B610B7886 -:101EE00000EB4313D3F8104B44F40024C3F8104B19 -:101EF0000B7800EB4313D3F8105B8C68C4F3120427 -:101F00002C43C3F8104B012A05D10B7800EB431387 -:101F1000CA68C3F8142B0B785B0103F53063C25811 -:101F200042F00442C250002030BC704730B49DF8EB -:101F3000084064B903339B1009D000F5805000EBD2 -:101F4000023251F8045B15600134A342F9D100203C -:101F500030BC704770B582B04B78012B40F0A9803F -:101F60004B69EBB90B7800EB4313D3F8104924F01D -:101F7000FF5424F4C014C3F810490B7800EB43134A -:101F8000D3F8104944F40024C3F810490B7800EB4F -:101F90004313D3F81049E40CE404C3F8104945E0B6 -:101FA0000B7800EB4313D3F81049E40CE404C3F8B6 -:101FB00010490B7800EB4313D3F8104924F0FF5479 -:101FC00024F4C014C3F810490C7800EB4414D4F87E -:101FD00010598E684B693344013BB3FBF6F3724EE4 -:101FE00006EAC3432B43C4F810390B7800EB4313C4 -:101FF000D3F810594C69C4F312042C43C3F81049A8 -:10200000CB78012B40F0C8800B7800EB4313D3F85A -:10201000104924F0C044C3F810490B7800EB431377 -:10202000D3F8104944F00054C3F81049012A06D1EE -:102030000B7800EB43130C69C3F814490CE0CB7820 -:10204000012B0CD04B6903B3D0F834480E78012330 -:10205000B3402343C0F83438CB78012B15D1D0F8E6 -:10206000083813F4807F08D10B785B0103F5106307 -:10207000C45844F00054C45007E00B785B0103F5EA -:102080001063C45844F08054C4500B785B0103F5CE -:102090001063C45844F00444C450CB78012B7FD162 -:1020A00014460B46C9681A789B8A0094FFF73EFFD6 -:1020B00076E00B7800EB4313D3F8104BE40CE40408 -:1020C000C3F8104B0B7800EB4313D3F8104B24F0FC -:1020D000FF5424F4C014C3F8104B4B69A3B90B7818 -:1020E00000EB4313D3F8105B8C68C4F312042C4349 -:1020F000C3F8104B0B7800EB4313D3F8104B44F4A8 -:102100000024C3F8104B1DE08D680C7800EB4414DC -:10211000D4F8106B2B44013BB3FBF5F39BB2224D7B -:1021200005EAC3453543C4F8105B0C7800EB441452 -:10213000D4F8106B8D6805FB03F3C3F3120333432C -:10214000C4F8103B012A05D10B7800EB4313CA6891 -:10215000C3F8142BCB78012B15D1D0F8083813F421 -:10216000807F08D10B785B0103F53063C25842F0E1 -:102170000052C25007E00B785B0103F53063C25890 -:1021800042F08052C2500B785B0103F53063C258B5 -:1021900042F00442C25003E0012A7FF453AF47E704 -:1021A000002002B070BD00BF0000F81F0332921083 -:1021B0000FD030B40C46002300F580552D6844F84C -:1021C000045B01339A42F7D101EB8201084630BC2F -:1021D00070470846704700BF4B78012B13D10B782E -:1021E0005B0103F51063C258002A03DBC25822F0DA -:1021F0008042C2500B785B0103F51063C25842F471 -:102200000012C25012E00B785B0103F53063C25834 -:10221000002A03DBC25822F08042C2500B785B01D7 -:1022200003F53063C25842F40012C25000207047D8 -:102230004B78012B15D10B785B0103F51063C25865 -:1022400022F40012C250CB78023BDBB2012B1DD826 -:102250000B785B0103F51063C25842F08052C25004 -:1022600014E00B785B0103F53063C25822F40012CE -:10227000C250CB78023BDBB2012B07D80B785B0155 -:1022800003F53063C25842F08052C25000207047BC -:10229000D0F8003823F4FE63C0F80038D0F80038D6 -:1022A000090101F4FE610B43C0F8003800207047BB -:1022B00008B5D0F8043823F00203C0F8043803202E -:1022C00001F0E4F9002008BD08B5D0F8043843F067 -:1022D0000203C0F80438032001F0D8F9002008BD3B -:1022E0004369806918407047D0F8183800F50060DD -:1022F000C0691840000C704700F50063D0F818085A -:10230000DB69184080B2704700F5306303EB411180 -:102310008B6800F5006040691840704710B4D0F831 -:102320001048D0F8343800EB4110D0F80809CB4001 -:10233000DB01DBB2234318405DF8044B704700BF5C -:10234000406900F001007047D0F8003923F4FF63C2 -:1023500023F00703C0F8003900F500639A6802F023 -:102360000602042A05D1D0F8002942F00302C0F881 -:1023700000295A6842F480725A600020704700BFFA -:1023800010B40024C0F8104BD0F8104B44F40024D3 -:10239000C0F8104BD0F8104B44F01804C0F8104BA4 -:1023A000D0F8104B44F0C044C0F8104B012905D1BF -:1023B000C0F8142B4FF08023C0F8003B00205DF8DC -:1023C000044B704700283AD010B5044690F85130BD -:1023D00013F0FF0F01D1FEF7B3F9022384F8513057 -:1023E0002268136823F04003136021686268A368C1 -:1023F0001A43E3681A4323691A4363691A43A369BA -:1024000003F400731343E2691343226A1343A26A7D -:102410001A430A602168638B03F00402636A134362 -:102420004B602368E26A1A612268D36923F400636F -:10243000D36100206065012384F8513010BD012074 -:10244000704700BF38B50446036813F0010F3AD057 -:10245000B34B9B6803F00C03042B00F04B81B04B93 -:102460009B6803F00C03082B05D1AD4B5B6813F49C -:10247000800F40F041810022AA4B1A7001F000F950 -:10248000054606E001F0FCF8401BB0F5FA7F00F2CB -:102490003581A34B1B6813F4003FF3D12279A14B84 -:1024A0001A7063687BB101F0EBF8054606E001F0B5 -:1024B000E7F8401BB0F5FA7F00F22281984B1B68C9 -:1024C00013F4003FF3D0236813F0020F49D0944B6C -:1024D0009B6813F00C0F0AD0914B9B6803F00C0320 -:1024E000082B09D18E4B5B6813F4800F04D1E3688D -:1024F000012B40F0078126E0E36893B101228A4B6B -:102500001A6001F0BDF8054605E001F0B9F8401B7E -:10251000642800F2F980824B1B6813F0020FF4D09C -:1025200011E00022804B1A6001F0AAF8054605E090 -:1025300001F0A6F8401B642800F2E880784B1B6885 -:1025400013F0020FF4D17648026822F0F8012269F4 -:10255000F82393FAA3F3B3FA83F3DBB29A400A4366 -:102560000260236813F0080F26D0636993B101223B -:102570006E4B1A6001F084F8054605E001F080F822 -:10258000401B642800F2C480654B5B6F13F0020FA0 -:10259000F4D011E00022654B1A6001F071F8054695 -:1025A00005E001F06DF8401B642800F2B3805C4B3D -:1025B0005B6F13F0020FF4D1236813F0040F42D0C5 -:1025C000574A136C43F080531364A2F5E432136846 -:1025D00043F48073136001F053F8054605E001F001 -:1025E0004FF8401B642800F29780514B1B6813F48E -:1025F000807FF4D000224F4B1A7001F041F805465D -:1026000007E001F03DF8401B41F28833984200F2A8 -:102610008580434B1B6F13F0020FF2D1227A454B9A -:102620001A70A3687BB101F02BF8054606E001F0B3 -:1026300027F8401B41F2883398427FD8384B1B6FF4 -:1026400013F0020FF3D0A369002B79D0344B9B68B1 -:1026500003F00C03082B75D00022374B1A6001F0F1 -:102660000FF8054604E001F00BF8401B64286BD816 -:102670002B4B1B6813F0007FF5D1A369022B65D1AA -:10268000216A626A47F6C07393FAA3F3B3FA83F33D -:10269000DBB29A401143A36A5B08013B4FF440321E -:1026A00092FAA2F2B2FA82F2D2B293400B43E269FA -:1026B0001343E26A4FF0706191FAA1F1B1FA81F12E -:1026C000C9B28A40134343F00053154A53600122B4 -:1026D000194B1A6000F0D4FF044604E000F0D0FF6C -:1026E000001B642834D80E4B1B6813F0007FF5D014 -:1026F000002038BD012038BD012038BD032038BD81 -:10270000032038BD012038BD032038BD032038BD6B -:10271000032038BD032038BD032038BD032038BD59 -:10272000003802400238024000004742800E474213 -:10273000007000407038024060004742032038BDFE -:10274000002038BD012038BD032038BD002038BD31 -:10275000032038BD70B504460D46874B1B6803F057 -:102760000F038B426BD2CAB2834B1A701B6803F003 -:102770000F038B4240F0E480036813F0020F06D091 -:102780007E498B6823F0F002836813438B602368D3 -:1027900013F0010F00F0B8806268012A05D1774B71 -:1027A0001B6813F4003F0ED1CCE0022A05D1734B15 -:1027B0001B6813F0007F06D1C6E0704B1B6813F056 -:1027C000020F00F0C3806D498B6823F003031343AD -:1027D0008B6000F055FF05466368012B0FD107E0C1 -:1027E00000F04EFF401B41F28833984200F2B08067 -:1027F000624B9B6803F00C03042BF1D184E0022BA5 -:1028000017D107E000F03CFF401B41F288339842AB -:1028100000F2A080594B9B6803F00C03082BF1D108 -:1028200072E000F02DFF401B41F28833984200F225 -:102830009380524B9B6813F00C0FF2D164E0036855 -:1028400013F0020F06D04D498B6823F0F002836825 -:1028500013438B60236813F0010F4DD06268012A87 -:1028600005D1464B1B6813F4003F0DD176E0022AD8 -:1028700005D1424B1B6813F0007F05D170E03F4B40 -:102880001B6813F0020F6DD03C498B6823F00303E3 -:1028900013438B6000F0F4FE06466368012B0ED1F3 -:1028A00006E000F0EDFE801B41F2883398425BD8D1 -:1028B000324B9B6803F00C03042BF2D11CE0022B7B -:1028C00015D106E000F0DCFE801B41F2883398420F -:1028D0004CD82A4B9B6803F00C03082BF2D10BE079 -:1028E00000F0CEFE801B41F28833984240D8234B43 -:1028F0009B6813F00C0FF3D1EAB21F4B1A701B68E0 -:1029000003F00F03AB4235D1236813F0040F06D058 -:102910001A498B6823F4E052E36813438B60236801 -:1029200013F0080F07D0154A936823F46043216918 -:1029300043EAC1039360002000F072FE002070BDE6 -:10294000012070BD012070BD012070BD012070BD4F -:10295000032070BD032070BD032070BD012070BD39 -:10296000012070BD012070BD032070BD032070BD2B -:10297000032070BD012070BD003C024000380240C1 -:10298000224B9B6803F00C03042B3DD0082B01D095 -:102990001F4870471D4B586800F03F005B6813F4F8 -:1029A000800F10D01B4BB3FBF0F3184A506847F66A -:1029B000C072104092FAA2F2B2FA82F2D2B2D040C1 -:1029C00000FB03F30FE0124BB3FBF0F30F4A506828 -:1029D00047F6C072104092FAA2F2B2FA82F2D2B274 -:1029E000D04000FB03F3094A506800F440304FF434 -:1029F000403292FAA2F2B2FA82F2D2B2D040013060 -:102A00004000B3FBF0F070470248704700380240C6 -:102A10000024F40000127A0008B5FFF7B1FF094B5B -:102A20009B6803F0F002F02393FAA3F3B3FA83F365 -:102A3000DBB222FA03F3044AD35CD840034B18609C -:102A400008BD00BF0038024058390008F8000020D7 -:102A500030B40468636A19B943EA0240A06218E01E -:102A60000D46A06A03EB1040002308E003F140018B -:102A700004EB8101496800EB11400133DBB2691EB0 -:102A80008B42F3DB40EA024005F13F0104EB810198 -:102A90004860002030BC70470368596200207047CE -:102AA0002DE9F04782B007460D46D0F80080CB00F4 -:102AB0005B1A9B0003445E6C9A6CB61A9B6B9E4239 -:102AC00000D91E4616F1030901D509F103094FEAA1 -:102AD000A90921E05E1AC5EBC5039B003B449B6B33 -:102AE0009E4200D91E4616F1030901D509F10309DA -:102AF0004FEAA909EC00641BA4003C44E16B3B7C59 -:102B000000934046EAB2B3B2FFF710FAE36B3344E6 -:102B1000E363A36C3344A364424608EB451303F517 -:102B200010639B699BB24B4509D9EB005B1B9B0073 -:102B30003B44996C5B6C994201D2002BCAD1002EA8 -:102B400007DC0123AB40D2F8341821EA0303C2F8B2 -:102B50003438002002B0BDE8F08700BF002866D0FE -:102B6000F0B589B00446032380F87933FDF7AAFB5A -:102B70002068FEF7A3FF254655F8107B6E460FCD63 -:102B80000FC695E80F0086E80F00231D0ECB3846D0 -:102B9000FEF752FF20680021FEF796FF002210E0AA -:102BA000D3009B1A9B002344012183F8311083F842 -:102BB0003020DA86002183F833109963D963596491 -:102BC00001320E2AECD9002218E0D3009B1A9B0098 -:102BD0002344002183F8D51183F8D421DA8683F8C1 -:102BE000D711C3F8DC11C3F8E011C3F8E81123686A -:102BF00002F1400003EB8003596001320E2AE4D950 -:102C0000254655F8107B6E460FCD0FC695E80F0090 -:102C100086E80F00231D0ECB3846FEF795FF0123F3 -:102C200084F879332068FFF74FFB002001E0012092 -:102C3000704709B0F0BD00BF90F87833012B0ED07B -:102C400010B50446012380F878330068FFF730FBA5 -:102C50002068FEF72DFF002084F8780310BD0220C5 -:102C6000704700BF2DE9F84F044606683046FFF76D -:102C700067FB002840F01B822068FFF731FB00282B -:102C800000F015822068FFF72BFB10F0020F02D036 -:102C9000236802225A612068FFF722FB10F4002FFC -:102CA0005CD02068FFF720FB0746002553E017F0B3 -:102CB000010F4ED05FFA85F920684946FFF724FBE3 -:102CC000804610F0010F31D006EB45130122C3F806 -:102CD000082B03F530632269012A12D1EA00521B46 -:102CE0009200224402F5EC71D2F8DC011B69C3F3B7 -:102CF0001203C01AC2F8EC01D2F8E0214B68134469 -:102D00008B6020464946FDF713FB2369012B0DD14B -:102D100065B9C5EBC5039B002344D3F8E8312BB953 -:102D20002068012104F55F72FFF72AFB18F0080FF5 -:102D300007D02046FDF7F2FA06EB45130822C3F848 -:102D4000082B18F0100F04D006EB45131022C3F81F -:102D5000082B01357F08002FA9D100E0002520684D -:102D6000FFF7BEFA10F4802F6BD02068FFF7C4FA8B -:102D70000746002563E017F0010F5ED05FFA85F982 -:102D800020684946FFF7CAFA804610F0010F2DD09F -:102D9000012202FA05F0D6F8343823EA0003C6F817 -:102DA000343806EB4513C3F808292369934209D147 -:102DB000EB005B1B9B00234403F13802D96B9B6B38 -:102DC0000B44536020464946FDF7BEFA2369012BA8 -:102DD0000CD15DB9C5EBC5039B0023445B6C2BB9DB -:102DE0002068012104F55F72FFF7CAFA18F0080F96 -:102DF00004D006EB45130822C3F8082918F0100F79 -:102E000004D006EB45131022C3F8082918F0400F30 -:102E100004D006EB45134022C3F8082918F0020F2E -:102E200004D006EB45130222C3F8082918F0800FDE -:102E300003D020462946FFF733FE01357F08002FD7 -:102E400099D12068FFF74CFA00280CDAD6F804383C -:102E500023F00103C6F804382046FDF7A5FA2368DD -:102E60004FF000425A612068FFF73AFA10F4006F01 -:102E70000BD0D6F8083813F0010F02D02046FDF72A -:102E800085FA23684FF400625A612068FFF728FA38 -:102E900010F4805F4ED0374606F50068D8F804304D -:102EA00023F00103C8F8043020680021FEF722FE59 -:102EB000002207E007EB4213FF21C3F80819C3F80B -:102EC000081B013263689342F4D84FF0FF33C8F80F -:102ED0001830D8F81C3043F00113C8F81C30A36A2E -:102EE00063B1D8F8843043F00B03C8F88430D8F8C5 -:102EF000443043F00B03C8F844300BE0D8F81430EA -:102F000043F00B03C8F81430D8F8103043F00B032B -:102F1000C8F81030D6F8003823F4FE63C6F800383D -:102F20002068217C04F55F72FFF72AFA23684FF4CA -:102F300080525A612068FFF7D3F910F4005F26D061 -:102F40002068FFF701FA2268D36823F47053D36036 -:102F50002068FEF79BFE50B90023E3604FF4007336 -:102F600063612268D36843F41053D36008E00323FD -:102F7000E360402363612268D36843F4A053D360C5 -:102F80002046FDF7F3F923684FF400525A61206898 -:102F9000FFF7A6F910F0100F42D02268936923F0D2 -:102FA00010039361376A07F00F08C7F34343022BFE -:102FB0001CD147F6F0731F402DD03F094FEAC809D6 -:102FC000C8EB090A4FEA8A0AA2443046DAF8E0114F -:102FD0003A46FFF7EBF8DAF8E0313B44CAF8E03163 -:102FE000DAF8EC311F44CAF8EC7114E0062B12D168 -:102FF000304604F55F710822FFF7D8F8C7F30A17C7 -:103000004FEAC803C8EB030292002244D2F8EC3125 -:103010003B44C2F8EC312268936943F0100393619A -:103020002068FFF75DF910F0080F05D02046FDF786 -:1030300097F9236808225A612068FFF751F910F4C4 -:10304000801F07D02046E9B2FDF7C2F923684FF48C -:1030500080125A612068FFF743F910F4001F07D06F -:103060002046E9B2FDF7AEF923684FF400125A6129 -:103070002068FFF735F910F0804F06D02046FDF7A5 -:10308000ADF923684FF080425A612068FFF728F9B4 -:1030900010F0040F0BD023685D6815F0040F02D008 -:1030A0002046FDF7A1F923685A6815435D60BDE825 -:1030B000F88F00BF90F87833012B0BD010B5044681 -:1030C000012380F878330068FFF7E2F8002084F8E5 -:1030D000780310BD0220704738B50546C8B210F01D -:1030E000800F07D001F07F04C4EBC404A400303487 -:1030F0002C4407E001F07F04C4EBC404A4002C447A -:1031000004F5EA7401F07F012170C0096070A260CB -:10311000E37000B1E180022B01D10023237195F807 -:103120007833012B0AD0012385F8783328682146AB -:10313000FEF7CCFD002085F8780338BD022038BDAD -:1031400010B50446CAB212F0800F07D001F07F0319 -:10315000C3EBC3039B003033034407E001F07F035C -:10316000C3EBC3039B00034403F5EA7301F07F0143 -:103170001970D2095A7094F87823012A0AD00122D2 -:1031800084F8782320681946FEF7E6FD002084F8CD -:10319000780310BD022010BD70B501F07F06F40069 -:1031A000A51BAD00054405F5EA712C46C5F8E021E4 -:1031B000C5F8E8310023C4F8EC3184F8D53184F83F -:1031C000D4610369012B05D1C6EBC604A4000444F5 -:1031D000C4F8E42190F87823012A11D00446012292 -:1031E00080F8782326B90068DAB2FEF7F3FD03E031 -:1031F0000068DAB2FEF7AEFE002084F8780370BDF6 -:10320000022070BD01F07F01C1EBC10189000844BB -:10321000B0F8EC01704700BF70B501F07F06F40014 -:10322000A51BAD0030354119A41BA4000444E26382 -:1032300063640023A364012384F8313084F8306090 -:103240000369012B04D1C6EBC604A4000444226424 -:1032500090F87823012A11D00446012280F87823BF -:1032600026B90068DAB2FEF7B5FD03E00068DAB20D -:10327000FEF770FE002084F8780370BD022070BD58 -:1032800038B50446CAB212F0800F07D001F07F03B0 -:10329000C3EBC3039B003033034405E0C1EBC10320 -:1032A0009B00034403F5EA730120987001F07F0549 -:1032B0001D70D2095A7094F87823824210D084F895 -:1032C000780320681946FEF787FF2DB92068217C16 -:1032D00004F55F72FFF754F8002084F8780338BDD6 -:1032E000022038BD10B50446CAB212F0800F07D0D4 -:1032F00001F07F03C3EBC3039B003033034405E0BD -:10330000C1EBC1039B00034403F5EA7300209870EE -:1033100001F07F011970D2095A7094F87823012ABC -:103320000AD0012284F8782320681946FEF780FF2E -:10333000002084F8780310BD022010BD90F8783387 -:10334000012B14D010B50446012380F8783311F016 -:10335000800F05D0006801F07F01FEF7CBFB02E093 -:103360000068FEF7D9FB002084F8780310BD022026 -:10337000704700BF2DE9F0410023D3E09C460122B5 -:103380009A400C681440944240F0CB804D68022D66 -:1033900001D0122D14D14FEAD30808F1080850F8D3 -:1033A000287003F0070E4FEA8E0E0F2505FA0EF572 -:1033B00027EA05060D6905FA0EF5354340F8285051 -:1033C00006684FEA430E032505FA0EF5ED4305EABC -:1033D00006074E6806F0030606FA0EF63E43066040 -:1033E0004E68771E012F03D9112E01D0122E12D153 -:1033F000866805EA0607CE6806FA0EF63E43866042 -:10340000476827EA02074E68C6F3001202FA0CF674 -:1034100046EA07024260C2682A408D6805FA0EF546 -:103420001543C5604A6812F0805F7AD0404D6A6CDF -:1034300042F480426A649A08961CA5F5803555F8D6 -:10344000266003F00307BF000F25BD4026EA0506EE -:10345000384DA84231D005F58065A8422BD005F53E -:103460008065A84225D005F58065A8421FD005F5E6 -:103470008065A84219D005F58065A84213D005F5EE -:103480008065A8420DD005F58065A84207D005F5F6 -:103490008065A84201D1082510E009250EE0072526 -:1034A0000CE006250AE0052508E0042506E00325D2 -:1034B00004E0022502E0012500E00025BD4035437F -:1034C00002321D4E46F822501C4A1568E24302EAB9 -:1034D00005064F6817F4803F01D044EA0506174DF2 -:1034E0002E606D6802EA05064F6817F4003F01D0B0 -:1034F00044EA0506114D6E60AD6802EA05064F68A4 -:1035000017F4801F01D044EA05060C4DAE60ED684B -:103510002A404E6816F4001F01D044EA0502074C09 -:10352000E26001330F2B7FF629AFBDE8F08100BFC9 -:10353000003802400000024000380140003C0140D9 -:1035400058B110B50446437913F0FF0F01D1FDF7D0 -:10355000E9F801236371002010BD0120704700BF0E -:1035600000F00700064AD36823F4E0631B041B0C39 -:1035700043EA002040F0BF6040F40030D060704764 -:1035800000ED00E030B4164BDC68C4F30224C4F153 -:103590000705042D28BF0425231D062B01D9033C54 -:1035A00000E00024012303FA05F5013D2940A14074 -:1035B000A340013B1A400A43002806DA00F00F003E -:1035C0001201D2B2074B1A5407E01201D2B200F135 -:1035D000604000F5614080F8002330BC704700BFB8 -:1035E00000ED00E014ED00E0410900F01F000123B0 -:1035F0008340024A42F82130704700BF00E100E0FA -:103600000138B0F1807F06D2044B586000209860EA -:1036100007221A6070470120704700BF10E000E0E9 -:1036200008B5FFF7F9F9044BA3FB00308009FFF759 -:10363000E7FF002008BD00BFD34D621008B50B4B5B -:103640001A6842F400721A601A6842F480621A60C2 -:103650001A6842F480721A600320FFF781FF00208D -:10366000FFF7DEFFFDF756F8002008BD003C0240E2 -:10367000024A136801331360704700BF64010020E1 -:10368000014B1868704700BF6401002010B582B07C -:103690000190FFF7F5FF0446FFF7F2FF001B019BC7 -:1036A0009842F9D302B010BD0C4B1A6842F00102E7 -:1036B0001A60002199601A6822F0847222F4803224 -:1036C0001A60074A5A601A6822F480221A60D96088 -:1036D0004FF00062034B9A60704700BF0038024011 -:1036E0001030002400ED00E0DFF830D0002103E0CE -:1036F0000B4B5B58435004310A480B4B42189A421B -:10370000F6D30A4A02E0002342F8043B084B9A42EF -:10371000F9D3FFF7C9FFFCF7DBFF704700C00120BA -:103720006A390008000000206001002060010020CC -:10373000AC090020FEE70000024B0146186800F0CB -:103740004FB800BF5C010020024B0146186800F032 -:1037500003B800BF5C01002030B500293CD051F80F -:10376000042C0B1F1D49002AB8BF9B180A680C4681 -:1037700012B95A600B6030BD93420DD219685818C7 -:10378000904201BF5A5852181A60426823605A602A -:1037900030BD994203D80A4651680029F9D114680E -:1037A00015199D420AD11B682344D0188842136022 -:1037B00012D10868034413604B680CE002D90C2353 -:1037C000036030BD1C681819884201BF0868496849 -:1037D000001918605960536030BD00BF6C010020B3 -:1037E00070B5CC1C24F0030408340C2C38BF0C2416 -:1037F000002C064603DA0C233360002070BD8C4297 -:10380000F9D3204A136810461946A1B10A68121B61 -:103810000ED40B2A03D90A608B188C501FE08B4200 -:103820000BBF5A684A6802605A6018BF0B4616E020 -:103830000B464968E9E7144D2B681BB9304600F088 -:1038400025F828603046214600F020F8421C034647 -:10385000D1D0C51C25F0030585420AD11C6003F1B7 -:103860000B001A1D20F00700821A0AD0514299500D -:1038700070BD3046E91A00F009F80130BBD02B4684 -:10388000ECE770BD6C0100206801002038B5064CE3 -:10389000002305460846236000F008F8431C02D1C7 -:1038A000236803B12B6038BDA8090020044A0549EC -:1038B0001368002B08BF0B46184410601846704769 -:1038C00070010020AC090020008002021F000000EF -:1038D00053544D202020202050726F647563742053 -:1038E0002020202020202020302E303153544D33F2 -:1038F00032204D6173732053746F726167650000ED -:1039000053544D6963726F656C656374726F6E6951 -:10391000637300003030303030303030303031417F -:10392000000000004D534320436F6E66696700003E -:103930004D534320496E74657266616365000000F3 -:10394000000000030080830000060000000000006B -:10395000000000000000000000000000010203045D -:0A39600001020304060708094300F2 -:10396A008901000895010008A9010008B5010008AD -:10397A00C1010008F901000805020008C83800085A -:10398A0009020008150200083D0200082102000889 -:10399A00590200087D020008A10200080403090474 -:1039AA00120100020000004083042A5700020102AB -:1039BA000301000009072000010104C032090400C4 -:1039CA0000020806500507058102400000070501AC -:1039DA00024000000A060002000000400100000048 -:1039EA0009022000010104C032090400000208068D -:1039FA0050050705810200020007050102000200C6 -:103A0A0051180008A9180008D5180008000000007D -:103A1A0000000000DD190008E91900080000000094 -:103A2A000000000000000000211800082D180008FE -:103A3A00391800084518000809022000010104C0CD -:103A4A0032090400000208065005070581024000F9 -:103A5A0000070501024000000024F40000000000F5 -:103A6A00000000000000000000000000000000004C -:103A7A000000000000000000000000006839000893 -:103A8A00000000000000000000000000000000002C -:103A9A00000000000000000000000000000000001C -:103AAA00000000000000000000000000000000000C -:103ABA00000000000000000000000000FC000020E0 -:04000005080036E9D0 +:1000000000C00120656B0008B16B0008B16B0008EF +:10001000B16B0008B16B0008B16B00080000000074 +:10002000000000000000000000000000B16B0008AC +:10003000B16B000800000000B16B00081106000859 +:10004000B16B0008B16B0008B16B0008B16B000820 +:10005000B16B0008B16B0008B16B0008B16B000810 +:10006000B16B000879060008B16B0008B16B00089D +:10007000B16B0008B16B0008B16B0008B16B0008F0 +:10008000B16B0008B16B0008B16B0008B16B0008E0 +:10009000B16B0008B16B0008B16B0008B16B0008D0 +:1000A000B16B0008B16B0008B16B0008B16B0008C0 +:1000B000B16B0008B16B0008B16B0008B16B0008B0 +:1000C000B16B0008B16B0008B16B0008B16B0008A0 +:1000D000B16B0008B16B0008B16B0008B16B000890 +:1000E000B16B0008B16B0008B16B0008B16B000880 +:1000F000B16B0008B16B0008B16B0008B16B000870 +:10010000B16B0008B16B0008B16B0008B16B00085F +:10011000B16B0008B16B0008B16B0008B16B00084F +:10012000B16B0008B16B00083906000859060008D9 +:10013000B16B00080000000000000000B16B000877 +:10014000B16B0008B16B0008B16B0008190600081C +:10015000B16B0008B16B0008B16B0008B16B00080F +:10016000B16B0008B16B0008B16B0008B16B0008FF +:10017000B16B0008B16B0008000000000000000037 +:10018000B16B0008B16B000812230B800048704768 +:100190002000002004230B80004870471C00002032 +:1001A00010B50A46034C0448214601F0D5F8204614 +:1001B00010BD00BF5C010020446D000810B50A4668 +:1001C000034C0448214601F0C7F8204610BD00BF8B +:1001D0005C010020586D000810B50A46034C044825 +:1001E000214601F0B9F8204610BD00BF5C01002097 +:1001F0006C6D000810B50A46034C0448214601F016 +:10020000ABF8204610BD00BF5C0100207C6D0008EB +:1002100010B50A46034C0448214601F09DF82046DB +:1002200010BD00BF5C010020886D00080368B3F1B9 +:10023000A04F22D130B587B0104B5A6B42F08002EC +:100240005A635A6C42F480425A644FF4C05301938B +:10025000022302930024039404940A250595084878 +:1002600001A904F095F843202946224606F0C8FB70 +:10027000432006F0F7FB07B030BD7047003802405E +:100280000000024008B50146D0F8AC0301F55F71EB +:1002900001F0BAF808BD00BF08B5C1EBC1039B006F +:1002A0000344D0F8AC03D3F8E02101F0DBF808BD3B +:1002B00008B5C1EBC1039B000344D0F8AC03DA6B73 +:1002C00001F000F908BD00BF08B5D0F8AC0301F09B +:1002D00073F908BD10B50446C3680BB9002100E0EE +:1002E0000121D4F8AC0301F053F9D4F8AC0301F0C8 +:1002F0002FF910BD10B50446D0F8AC0301F04CF94D +:100300002268D2F8003E43F00103C2F8003E10BD5F +:1003100008B50268D2F8003E23F00103C2F8003E9F +:10032000D0F8AC0301F042F908BD00BF08B5D0F821 +:10033000AC0301F04FF908BD08B5D0F8AC0301F0EB +:1003400047F908BD08B5D0F8AC0301F045F908BD80 +:1003500008B5D0F8AC0301F041F908BD08B5D0F8F4 +:10036000AC0301F047F908BD38B503782BBB144C3A +:10037000C4F8AC03C0F820424FF0A0432360072329 +:1003800063600223E360002525616561A361E56187 +:1003900025626562A562E562204603F0EBFB20461C +:1003A000802103F08BFB20462946402203F062FBAC +:1003B00020460121802203F05DFB002038BD00BFF4 +:1003C0005C03002008B5D0F8200203F043FC0020B5 +:1003D00008BD00BF10B51446D0F820021A462346C7 +:1003E00003F088FE002010BD08B5D0F8200203F00D +:1003F000B5FE002008BD00BF08B5D0F8200203F00C +:10040000ABFF002008BD00BF08B5D0F8200203F004 +:1004100045FF002008BD00BF08B5D0F8200203F05A +:100420006FFF002008BD00BFD0F8202211F0800F20 +:1004300008D001F07F03C3EBC3039B00134493F880 +:100440003200704701F07F01C1EBC1018900114406 +:1004500091F8D601704700BF08B5D0F8200203F02C +:1004600037FE002008BD00BF08B5D0F8200203F019 +:10047000E1FE002008BD00BF08B5D0F8200203F05F +:1004800099FE002008BD00BF08B5D0F8200203F097 +:10049000C7FE08BD10B5074C20460749002200F0F2 +:1004A00079FF2046054900F08BFF204600F090FFC1 +:1004B00010BD00BF0C0700200000002080000020BD +:1004C0002DE9F04186B0294B1A6B42F001021A6304 +:1004D0001A6B42F002021A631A6B42F004021A63AA +:1004E0001A6B42F008021A6341F6FF73019300246D +:1004F000029401270397049405941D4801A903F071 +:1005000047FF4FF6E77301931A4E304601A903F0F7 +:100510003FFF4FF6FF730193174D284601A903F0E3 +:1005200037FF164801A903F033FF1023019303237B +:100530000293284601A903F02BFF4FF48058CDF811 +:10054000048002970394284601A903F021FFC5F80F +:1005500018802025019502970394304601A903F0E5 +:1005600017FFB56106B0BDE8F08100BF003802405A +:10057000000002400004024000080240000C02405B +:1005800000B593B01B4A136C43F080531364A2F57B +:10059000E432136823F4404343F40043136001231F +:1005A0000693079302230C934FF480030D930823C3 +:1005B0000E934FF4A8730F93042310930723119302 +:1005C00006A802F051FF00B1FEE70D2301930221BE +:1005D0000291002303934FF4A05304934FF48053EC +:1005E000059301A803F0C8F800B1FEE713B05DF869 +:1005F00004FB00BF0038024008B506F05DFAFFF7C3 +:10060000BFFFFFF75DFFFFF745FF00F023F9FEE7AF +:1006100008B506F06BFA08BD10B5054C4FF08053D5 +:10062000A361044803F02CFB4FF48053A36110BD79 +:10063000000802405C03002010B5054C4FF4001385 +:10064000A361044804F014F82023A36110BD00BF87 +:10065000000402403009002010B5054C4FF400138F +:10066000A361044804F004F82023A36110BD00BF77 +:10067000000402408009002010B5064C4FF400131E +:10068000A3610322044B5A6100F082F92023A36185 +:1006900010BD00BF00040240003C014008B54FF00F +:1006A000FF300221002206F0ABF908BD0268404B82 +:1006B0009A427BD12DE9F04786B0044603F5843396 +:1006C0005A6C42F480525A641A6B42F480021A63E4 +:1006D000E023019302270297002503954FF00109BB +:1006E000CDF8109005230593324E304601A903F052 +:1006F0004FFE4FF01008CDF80480CDF8089030463A +:1007000001A903F045FEC6F818802B4820642B4B46 +:10071000036084634FF0C06AC0F804A04023836084 +:10072000C5604FF48069C0F8109045618561C5616E +:100730004FF48038C0F82080456203F025FF3B204D +:100740000A212A4606F05CF93B2006F08BF91C488A +:1007500060641C4B03608463C0F804A08560C560BE +:10076000C0F8109045618561C561C0F82080456280 +:1007700003F00AFF3A200A212A4606F041F93A20FE +:1007800006F070F9082301930F4B0293039730464C +:1007900001A903F0FDFD09200A212A4606F030F9DF +:1007A000092006F05FF906B0BDE8F087704700BF8A +:1007B00000300140000002408009002058640240DF +:1007C00030090020406402400000211008B50E48A6 +:1007D0000E4B0360002380F851304FF48272426068 +:1007E0008360C360036143614FF400728261202221 +:1007F000C261036243624FF4005383620723C36202 +:1008000002F042FB08BD00BFFC0D0020003001409B +:1008100008B50C4B1B78072B00D0FEE701460822D9 +:10082000084B1A70084B1860002321F8043F4FF45E +:100830008012064B9A610648032202F06DFC00B15B +:10084000FEE708BDD1090020F00D002000000240A5 +:10085000FC0D002010B500240B4B1C70FFF7B6FFF9 +:100860000A4B1C700A4B1C700A4B1C600A4B1C6024 +:100870000A4B1C600A4B1B6913F0080FFAD10222C5 +:10088000014B1A7010BD00BFD1090020E40B0020FD +:10089000D4090020F80D0020540E0020E00B0020A9 +:1008A0000000024008B5104B1B78023BDBB2082B5E +:1008B00000D9FEE70D4B1B6803B1FEE703460C4A67 +:1008C000127822B90A4801220270984709E0094AC1 +:1008D000127822B9074801220270984701E0034AC2 +:1008E0001060002008BD00BFD1090020540E002078 +:1008F000E40B0020D409002008B50D4B1A78931E94 +:10090000DBB2082B00D9FEE7022A02D10722084BEE +:100910001A70074B1B78072B07D1064B1B6913F086 +:10092000080F02D10448FFF7BDFF002008BD00BF3B +:10093000D109002000000240110800080A4B1B7872 +:10094000023BDBB2082B00D9FEE7084B1B781BB932 +:100950000648012303707047054B1B781BB90448F8 +:10096000012303707047FEE7D1090020E40B00204B +:10097000D409002008B5054B1B6823B10021034AA8 +:100980001160984708BD0023037008BD540E002075 +:1009900008B5214B1B78033B062B3BD8DFE803F05F +:1009A000043A143A243A280004221B4B1A704FF4DC +:1009B00080121A4B9A611A4B19681A4804310222A4 +:1009C00002F0A4FA38B3FEE70622134B1A704FF474 +:1009D0008012124B9A61124B1B681248991D9A881B +:1009E00002F094FAB8B1FEE70F48FFF75BFF08BDCD +:1009F0000A22094B1A704FF48012084B9A61084B77 +:100A000019688A8801320748063192B202F084FBE5 +:100A100008B1FEE7FEE708BDD10900200000024052 +:100A2000F00D0020FC0D00201108000808B51F4B38 +:100A3000984203D01E4B984200D0FEE70378012B6A +:100A400006D18388012B03D940F20222934200D9B8 +:100A5000FEE70022174B1A60174B1B78023B082B4E +:100A600021D8DFE803F00D050505050C0C0C0C0082 +:100A7000124B1B6803B1FEE7104B186014E0FEE751 +:100A800003220D4B1A700E4B186082790D4B1A70B1 +:100A9000C2790D4B1A700D4B1B6913F0080F03D16F +:100AA000FFF776FF00E0FEE7002008BDE40B002022 +:100AB000D4090020E00B0020D1090020F80D00200F +:100AC000F00D0020F40D0020D009002000000240AD +:100AD00008B510221B4B9A611B4B1B78042B02D0CC +:100AE000062B00D0FEE7042B0AD10522164B1A7004 +:100AF000144B1B6913F0080F23D1FFF749FF08BD02 +:100B0000062B1ED1114B1868FFF734FF104B1B68E2 +:100B10007BB103210C4A11700C4A136000220C4B6C +:100B20001A60084B1B6913F0080F0AD1FFF730FF5A +:100B300008BD0222044B1A70064B1B680BB1FFF76D +:100B4000DBFE08BD00000240D1090020F00D0020AE +:100B5000F80D0020E00B002008B510221D4B9A6113 +:100B60001D4B1B78082B02D00A2B00D0FEE7082B68 +:100B700013D11A4B1B689B88023B9BB2B3F5007FD5 +:100B800000D9FEE70922144B1A70124B1B6913F0AF +:100B9000080F1ED1FFF7FCFE08BD0A2B19D1022257 +:100BA0000D4B1A700E4B1A780C4B1868837903F0B2 +:100BB0007F03934204D1C2790A4B1B789A4200D03A +:100BC000FEE7094B1B6803B9FEE70021064A1160E6 +:100BD000984708BD00000240D1090020F00D002018 +:100BE000F40D0020D0090020E00B0020FEE700BF3C +:100BF00000B583B002464FF4802181604FF400734A +:100C0000C36000910193044B1B680020694698471C +:100C100003B05DF804FB00BF6C0E002008B5FFF7C1 +:100C2000A9FE024B1B680020984708BD740E0020E7 +:100C300010B50446FFF79EFE024B1B68207A9847CA +:100C400010BD00BF740E002008B5094B1860FFF7F7 +:100C500075FE02228280012282710022C271FFF79A +:100C6000E5FE18B90348FFF71DFE08BD08BD00BF2B +:100C7000740E00201D0C000808B5084B1860FFF723 +:100C80005DFE0222828001218171C271FFF7CEFEDA +:100C900018B90348FFF706FE08BD08BD6C0E00201A +:100CA000F10B0008F8B50021134C2160134C2170A2 +:100CB00013490860134DC5E90023134C069B2360BC +:100CC000124B079A1A60FFF739FE0E22828001222A +:100CD00082710322C271D5E90067C0E90267226808 +:100CE0000261FFF7A3FE10B1054A12689047084859 +:100CF000FFF7D8FDF8BD00BF580E0020680E002099 +:100D0000740E0020600E0020700E00207C0E00206B +:100D10001D0C000808B50C4B18600C4B1B788BB9E8 +:100D200001220A4B1A700A4B1B683BB130B11846BE +:100D300000F012F80020064B186008BD0548FFF7C8 +:100D4000B1FD08BD002008BD780E0020680E00200F +:100D5000580E0020590D000838B500220F4B1A70AC +:100D60000F4B1D6815B90F4B186038BD01460E4C6E +:100D70002068821C40F202239A4228BF1A4692B28F +:100D80008A80023A92B2801A20600020A847236825 +:100D900013B10020FFF7BEFF38BD00BF680E002072 +:100DA000780E0020580E00207C0E0020F8B5104967 +:100DB0000860104DC5E900230F4C069B2360FFF728 +:100DC000BDFD0E228280012282710422C271D5E90A +:100DD0000067C0E9026722680261FFF727FE10B1D1 +:100DE000034A126890470548FFF75CFDF8BD00BF55 +:100DF000740E0020600E0020700E0020310C0008E0 +:100E000008B502318180812282710422C271FFF70C +:100E10000DFE08BD38B50D4613460222C0F8F42178 +:100E20008361C36100212A46FFF71EFB002038BD05 +:100E300010B50C46134600212246FFF715FB002093 +:100E400010BD00BF10B50C46134600212246FFF727 +:100E500013FB002010BD00BF08B50423C0F8F43117 +:100E600000210A460B46FFF7FFFA002008BD00BF2D +:100E700008B50523C0F8F43100210A460B46FFF7F8 +:100E8000FBFA002008BD00BF0346002002E001304D +:100E9000C0B201331A78002AF9D170474B88012B70 +:100EA0000BD110B50446C0F80432D0F814329B6858 +:100EB00098472046FFF7D0FF10BD70470B780370AE +:100EC0004B7843708B78CA7803EB022343800B790D +:100ED0004A7903EB022383808B79CA7903EB0223DF +:100EE000C380704710B504468021FFF78DFA204675 +:100EF0000021FFF789FA10BD30B583B004460D46D6 +:100F00004A88130A013B062B00F28580DFE803F0D4 +:100F1000040D238383657300D0F810321B68007CB6 +:100F20000DF106019847014679E0037C4BB9D0F8F2 +:100F30001432DB6A0DF10600984701460223437024 +:100F40006DE0D0F814321B6B0DF106009847014696 +:100F50000223437063E0D2B2052A3AD8DFE802F0F8 +:100F6000030C151E2730D0F810325B68007C0DF1A1 +:100F700006019847014652E0D0F810329B68007C89 +:100F80000DF106019847014649E0D0F81032DB68C0 +:100F9000007C0DF106019847014640E0D0F8103280 +:100FA0001B69007C0DF106019847014637E0D0F837 +:100FB00010325B69007C0DF10601984701462EE076 +:100FC000D0F810329B69007C0DF10601984701466C +:100FD00025E02946FFF786FF2EE0037C3BB9D0F8D9 +:100FE00014329B6B0DF106009847014617E0294625 +:100FF000FFF778FF20E0037C4BB9D0F814325B6B2D +:101000000DF10600984701460723437007E0294683 +:10101000FFF768FF10E02946FFF764FF0CE0BDF81A +:1010200006304BB1EA883AB19A4228BF1A46ADF869 +:1010300006202046FFF7EEFE03B030BD38B504466B +:101040008B88E3B9CB88D3B98D7805F07F0590F80C +:10105000FC31032B02D1FFF745FF38BD80F8FE516C +:101060002946FFF7F9F92046FFF7F6FE1DB10223E6 +:1010700084F8FC3138BD012384F8FC3138BD2046AA +:10108000FFF730FF38BD00BF38B504460D468978FC +:10109000264B1970012903D92946FFF723FF38BDD4 +:1010A00090F8FC31022B02D0032B15D039E081B12E +:1010B0004160032380F8FC3100F090F9022804D14C +:1010C00020462946FFF70EFF38BD2046FFF7C4FE35 +:1010D00038BDFFF7C1FE38BD49B9022380F8FC31A5 +:1010E000416000F089F92046FFF7B6FE38BD43683D +:1010F000994213D0D9B200F07FF90C4B1978616096 +:10110000204600F06BF9022804D120462946FFF75B +:10111000E9FE38BD2046FFF79FFE38BDFFF79CFE75 +:1011200038BD2946FFF7DEFE38BD00BF480100206C +:1011300008B50346CA88012A02D0FFF7D3FE08BDCE +:1011400090F8FC21022A02D0032A08D00CE00146C4 +:10115000002241F8082F0122FFF75CFE08BD191D8F +:101160000122FFF757FE08BDFFF7BCFE08BD00BF18 +:1011700008B5034690F8FC21023A012A0DD8012255 +:10118000C260D0F804220AB10322C260184603F1FB +:101190000C010222FFF73EFE08BDFFF7A3FE08BDCB +:1011A00010B5044690F8FC31023B012B0DD84B885A +:1011B000012B0CD10023C0F80432D0F814329B6804 +:1011C00098472046FFF748FE10BDFFF78BFE10BD85 +:1011D00008B54B78092B1BD8DFE803F011171A1458 +:1011E0001A08051A0E0BFFF787FE13E0FFF726FF1C +:1011F00010E0FFF749FF0DE0FFF79AFF0AE0FFF765 +:10120000B7FF07E0FFF74AFE04E0FFF7C9FF01E080 +:10121000FFF768FE002008BD38B504460D4690F87B +:10122000FC31032B0FD10B79012B09D8D0F81432E4 +:101230009B689847EB8843B92046FFF70DFE04E012 +:10124000FFF750FE01E0FFF74DFE002038BD00BF64 +:1012500038B505460C468A88D1B26378012B26D072 +:10126000002B48D0032B74D190F8FC31022B02D014 +:10127000032B07D017E000296BD0802969D0FFF736 +:10128000C3F866E0638823B919B1802901D0FFF75C +:10129000BBF8D5F814329B68284621469847284663 +:1012A000FFF7DAFD55E02146FFF71CFE51E090F80C +:1012B000FC31022B02D0032B07D018E0002948D0C4 +:1012C000802946D0FFF7A0F843E06388002B40D187 +:1012D00011F07F0F07D0FFF79FF8D5F814329B6805 +:1012E0002846214698472846FFF7B6FD31E02146BB +:1012F000FFF7F8FD2DE090F8FC31022B02D0032B14 +:1013000006D023E011F07F0F23D0FFF77DF820E017 +:1013100012F0800F05D001F07F0400EB04141434A8 +:1013200005E001F07F0400EB041404F58274284604 +:10133000FFF77AF810B10123236001E00023236056 +:10134000284621460222FFF765FD02E02146FFF70D +:10135000C9FD002038BD00BFD0B170B50D4616469E +:101360000446FFF791FD0130400080B230802870C4 +:1013700003236B70022307E05A1CD2B20134E954F4 +:10138000531CDBB20021A95421780029F4D170BD8F +:10139000704700BF90B108B503460020C3F814029F +:1013A000C3F8180209B1C3F81012012183F8FC1127 +:1013B0001A701846FEF7D8FF002008BD02207047BB +:1013C00019B1C0F81412002070470220704700BF06 +:1013D00008B5FEF7F7FF002008BD00BF08B5D0F83C +:1013E000143223B11B68984718B1022008BD0220AF +:1013F00008BD002008BD00BF08B5D0F814325B68F6 +:101400009847002008BD00BF38B5044600F50275B6 +:101410002846FFF753FD0123C4F8F431B4F80E3227 +:10142000C4F8F83194F8081201F01F03012B08D01A +:1014300013B1022B0AD00EE020462946FFF7C8FE62 +:101440000EE020462946FFF7E7FE09E02046294640 +:10145000FFF7FEFE04E0204601F08001FEF7D4FF16 +:10146000002038BD38B5044609BBD0F8F431032B51 +:1014700026D1D0F80C31D0F810118B420AD95B1A62 +:10148000C0F80C318B4228BF0B4611469AB2FFF7C9 +:10149000D9FC15E0D0F814321B6923B190F8FC2177 +:1014A000032A00D198472046FFF7D6FC08E0D0F881 +:1014B00014329B6923B190F8FC21032A00D198478C +:1014C000002038BD38B50446B9BBD0F8F431022B42 +:1014D0002BD1C169036A994206D9CB1AC36111465F +:1014E0009AB2FFF7A5FC20E08169B1FBF3F203FBA0 +:1014F00012126AB98B420BD8D0F8F831994207D250 +:1015000000210A46FFF794FC0023C4F8F8310CE0F0 +:10151000D4F81432DB682BB194F8FC21032A01D1F2 +:10152000204698472046FFF7A3FC94F80032012B91 +:101530000CD1002384F8003208E0D0F814325B6943 +:1015400023B190F8FC21032A00D19847002038BD30 +:1015500038B5044600210A464023FEF73BFF4025EC +:10156000C4F810512046802100222B46FEF732FF9E +:101570002562012384F8FC31D4F818322BB1D4F859 +:1015800014325B68204621799847002038BD00BF9F +:1015900001740020704700BF90F8FC3180F8FD31E5 +:1015A000042380F8FC310020704700BF90F8FD3123 +:1015B00080F8FC310020704708B590F8FC31032B0F +:1015C00004D1D0F81432DB6903B19847002008BD7C +:1015D00000207047002070470020704708B50122A6 +:1015E00080F8FC21D0F8142252680179904700203D +:1015F00008BD00BF08B5D0F814329B6A9847002098 +:1016000008BD00BF08B5044B1B6800205881034B80 +:101610001B68984708BD00BF800E00208C0E00207C +:1016200008B5FFF78BF9284B1B6818610830D860A4 +:10163000002306E0244A1268D2680021D154013305 +:10164000DBB2112BF6D9204B1A68D26870211170C9 +:101650001B68DA680C21D17193F8642093F8651047 +:101660008A4222D0D96803EBC20393F844308B70CE +:10167000154B1B68D96893F8642003EBC20292F8FB +:1016800049200A73D96893F8642003EBC20292F8E8 +:1016900048204A7393F864200132D2B283F8642060 +:1016A000042A02D1002283F86420074B1B6812220F +:1016B0005A81064A12681279122A00D85A81044BBC +:1016C0001B680020984708BD800E0020840E002073 +:1016D0008C0E002008B5FFF731F9144B1A68106121 +:1016E0000830D060124B1B68597811F0010F08D1F7 +:1016F0001049097905311B798B4205D90B460D48F4 +:1017000003E007230C4800E00A48538106E0013B50 +:101710009BB2064A1268D268C15CD154002BF6D144 +:10172000064B1B680020984708BD00BF800E0020B4 +:10173000840E0020986D0008BC6D00088C0E0020FF +:1017400008B5FFF7FBF80B4B1A6810610830D06042 +:101750000823538107E0013B9BB2064A1268D26816 +:101760000549C95CD154002BF5D1044B1B680020FE +:10177000984708BD800E0020CC6D00088C0E00201C +:1017800008B5FFF7DBF80B4B1A6810610830D06022 +:101790000823538107E0013B9BB2064A1268D268D6 +:1017A0000549C95CD154002BF5D1044B1B680020BE +:1017B000984708BD800E0020C46D00088C0E0020E4 +:1017C00008B50B4B1B68186100F10802DA60DB6B8F +:1017D000B3F5007F28BF4FF4007306490868012164 +:1017E0009BB2FEF749FE044B1B680020984708BDDA +:1017F000800E0020900E00208C0E002010B4D0F837 +:10180000184294F8651001F1080004EBC000027161 +:101810001B0283600131C9B284F86510042902D12A +:10182000002384F865305DF8044B704708B5014427 +:10183000084B1B689B6E994209D9074B1868074BE8 +:10184000197805222123FFF7D9FFFF2000E00020AF +:1018500040B208BD800E0020900E0020880E0020AF +:1018600008B5154B1B685B7813F0020F0DD0134BB6 +:101870001868134B197805222423FFF7BFFF114B7B +:101880001B684FF0FF30984708BD0F4B1B68D86EA0 +:10189000B3F87010FFF7CAFF002805DA094B1B6880 +:1018A0004FF0FF30984708BD074B1B680020588158 +:1018B000044B1B68984708BD840E0020900E002042 +:1018C000880E00208C0E0020800E002008B588B104 +:1018D0000C4B18680C4B197802223A23FFF78EFF45 +:1018E0000A4B1B6805221A72094B1B684FF0FF3028 +:1018F000984708BD054B1B6800205881044B1B68A6 +:10190000984708BD900E0020880E0020800E002011 +:101910008C0E002008B5104B1B68DB696BB10F4BB8 +:1019200018680F4B197805222023FFF767FF0D4B2E +:101930001B684FF0FF30984708BD094B1B781BB15F +:101940000120FFF7C3FF08BD0748FFF77DF910B17D +:101950000120FFF7BBFF08BD800E0020900E002085 +:10196000880E00208C0E0020CD18000810B568B13C +:10197000214B1868214B197802223A23FFF73EFFCA +:101980001F4B1B684FF0FF30984710BD1D4C23685C +:101990001A6102F10800D860086898664968A3F8DF +:1019A00066100138000E1072DA689B6E013BC3F3BB +:1019B000074353702368DA689B6E013BC3F3072328 +:1019C00093702368DA689B6E013BD3702368DA68F2 +:1019D00000211171DA685171D968B3F86620120AD2 +:1019E0008A71DA6893F86610D17108225A81044B23 +:1019F0001B680020984710BD900E0020880E002024 +:101A00008C0E0020800E002008B50548FFF734F941 +:101A100020B1012000210A46FFF7A8FF08BD00BF42 +:101A20006D19000810B568B1234B1868234B19785D +:101A300002223A23FFF7E2FE214B1B684FF0FF30F2 +:101A4000984710BD1F4B1C68226102F10800E0603E +:101A500000201072E26850701A68D26890701A689C +:101A6000D2680824D4701B68DC680A68013A120E38 +:101A70002271DC680A68013AC2F307426271DC68CD +:101A80000A68013AC2F30722A271DC680A68013AC7 +:101A9000E271DA6802241472DA688C795472DA68B6 +:101AA0004C799472DA680979D1720C225A81044B0C +:101AB0001B68984710BD00BF900E0020880E0020C4 +:101AC0008C0E0020800E002008B50548FFF7D4F8E2 +:101AD00020B1012000210A46FFF7A4FF08BD00BF86 +:101AE000251A000810B568B1154B1868154B197800 +:101AF00004221123FFF782FE134B1B684FF0FF30C7 +:101B0000984710BD1446114B1B681A6902B1FEE7D5 +:101B1000196101F10802DA60094B18688121234636 +:101B2000FEF7A2FC094B1A68D36B1B1BD3630BB9DE +:101B300003231372044B1B680020984710BD00BF9D +:101B4000900E0020880E00208C0E0020800E0020B9 +:101B500008B568B10D4B18680D4B197802223A236D +:101B6000FFF74CFE0B4B1B684FF0FF30984708BD4A +:101B7000094B1B6802221A720848FFF7CBF820B104 +:101B8000012000210A46FFF7ADFF08BD900E00209E +:101B9000880E00208C0E0020800E0020E51A000820 +:101BA00010B582B0364B1B681A7A002A5DD193F9C2 +:101BB0002020002A0DDB334A106893F821100522FB +:101BC0002023FFF71BFE304B1B684FF0FF30984778 +:101BD00054E02E4A1468A078E278120442EA0062C7 +:101BE000207942EA002260791043D866E279217AAE +:101BF00041EA0221A3F87010FFF718FE00280FDA5F +:101C00001F4B1B681F4A106893F8211005222023E0 +:101C1000FFF7F4FD1C4B1B684FF0FF3098472DE099 +:101C2000174B1B68D969B3F87000B3F8662002FB44 +:101C300000F291420DD0134A106893F8211005224A +:101C40002023FFF7DBFD104B1B684FF0FF30984758 +:101C500014E0DA6E009001910D480023FFF722F89E +:101C600060B10120FFF774FF08E00A48FFF752F85F +:101C700020B1012000210A46FFF734FF02B010BD59 +:101C8000800E0020900E00208C0E0020840E00207C +:101C9000511B0008E51A000808B502280DD1194BA0 +:101CA0001868194B197802222723FFF7A7FD174B55 +:101CB0001B684FF0FF30984708BD68B1114B18689A +:101CC000114B197802223A23FFF798FD0F4B1B683E +:101CD0004FF0FF30984708BD0D4B1B6801221A7268 +:101CE0000C48FEF7DFFD60B1064B1868064B19780B +:101CF00002223A23FFF782FD044B1B684FF0FF30AE +:101D0000984708BD900E0020880E00208C0E002001 +:101D1000800E0020C117000810B582B04F4B1A6822 +:101D2000137A002B5DD192F92030002B0DDA4C4B49 +:101D3000186892F8211005222023FFF75FFD494B18 +:101D40001B684FF0FF30984785E0474B1C68A07830 +:101D5000E3781B0443EA0063207943EA00236079B7 +:101D60001843D066E379217A41EA0321A2F8701082 +:101D7000FFF75CFD00280FDA384B1B68384A106803 +:101D800093F8211005222023FFF738FD354B1B68FF +:101D90004FF0FF3098475EE0304B1B68D869B3F8CE +:101DA0007010B3F8662002FB01F290420DD02C4A6D +:101DB000106893F8211005222023FFF71FFD294BFF +:101DC0001B684FF0FF30984745E0DA6E00912748D6 +:101DD0000023FEF7EBFF00283DD00120FFF75CFF5A +:101DE00039E0D46BB4F5007F28BF4FF4007410695C +:101DF0002146FFF705F868B1194B18681C4B197894 +:101E000004220323FFF7FAFC164B1B684FF0FF3048 +:101E1000984720E0114B1A68D36B1C1BD4634CB954 +:101E20000F4B1868002100F051F90E4B1B68002081 +:101E3000984710E00F48FEF735FD60B1084B186871 +:101E40000B4B197802223A23FFF7D8FC054B1B688D +:101E50004FF0FF30984702B010BD00BF800E002049 +:101E6000900E00208C0E0020840E0020991C00088B +:101E7000880E0020C117000810B5364C2060364C83 +:101E80002260364C2170364C2360D0F81842354B16 +:101E90001C6013785A2B53D8DFE803F02E525231CE +:101EA0005252525252525252525252525252345230 +:101EB0005252525252523D3752523A525252524359 +:101EC0005246525249524C525252524F5252525210 +:101ED00052525252525252525252525252525252E2 +:101EE00052525252525252525252525252525252D2 +:101EF0005252525252524000FFF70CFD10BDFFF7F4 +:101F00008FFB10BDFFF7E6FB10BDFFF77BFB10BD9D +:101F1000FFF778FB10BDFFF713FC10BDFFF730FC97 +:101F200010BDFFF7D1FD10BDFFF76EFD10BDFFF72F +:101F300037FE10BDFFF7F0FE10BDFFF791FC10BD9E +:101F400005222023FFF75AFC054B1B684FF0FF309A +:101F5000984710BD900E0020840E0020880E0020AF +:101F60008C0E0020800E002038B50546D0F81842AF +:101F700094F8203033B9E36923B1637A13B90121AE +:101F8000FEF742FA28468121FEF73EFA637A022BD9 +:101F900006D12846012104F114021F23FEF76CFA32 +:101FA00038BD00BF38B50546D0F81842A369A36311 +:101FB000E369E3630121FEF767FA1F280CD1626928 +:101FC000114B9A4208D194F82110012904D894F8B1 +:101FD00022300BB1102B0CD9284694F82110052281 +:101FE0002023FFF70BFC022363722846FFF7BCFF98 +:101FF00038BD064B1D60064B1C60284604F12302C9 +:10200000044BFFF739FF38BD55534243940E00206F +:10201000980E00206921000810B50C46D0F818125F +:10202000CB699A4228BF1A4693B2CA6BD21ACA63C6 +:10203000002281F8402004220A7281212246FEF704 +:1020400013FA10BD38B50546D0F8184200232372A4 +:10205000637284F8653084F864300121FEF7CCF9AE +:1020600028468121FEF7C8F92846012104F114020F +:102070001F23FEF701FA38BD08B5D0F81822002357 +:1020800013720121517214321F23FEF7F5F908BDB6 +:10209000D0F8183200221A72704700BF08B5D0F885 +:1020A0001822137A13B1012B03D008BDFFF77AFF72 +:1020B00008BD044B186092F821102332024BFFF741 +:1020C000DBFE08BD940E00205121000838B50546FE +:1020D000D0F81842094B636384F840100023237240 +:1020E000812104F134020D23FEF7BEF928460121B7 +:1020F00004F114021F23FEF7BFF938BD55534253B4 +:1021000008B5D0F81822137A022B03D00ED3042B73 +:1021100009D908BD064B186092F821102332054BEF +:10212000FFF7AAFE08BD0021FFF7D0FF08BD00BFE2 +:10213000940E002039210008002806DA08B5034B68 +:1021400018680121FFF7C2FF08BD7047940E0020F8 +:10215000002806DA08B5034B18680121FFF7B6FF1F +:1021600008BD7047940E002008B500280FDA134B05 +:102170001B681B7A052B05D1114B18680121FFF74D +:10218000A5FF08BD0E4B1868FFF7EEFE08BD0B4B10 +:1021900019680B7A013BDBB2022B0DD94A892AB1AF +:1021A000074B1868C968FFF737FF08BD22B9044B11 +:1021B00018680021FFF78AFF08BD00BF980E0020B5 +:1021C000940E002010B5D0F81842637A022B05D186 +:1021D0008121FEF719F90023637210BD11F0800F01 +:1021E00004D0012B02D00121FFF770FF10BD00BF0A +:1021F00020230380004870476000002020230380D4 +:1022000000487047BC00002020230380004870472E +:10221000340000200A230380004870475400002047 +:1022200010B50446037C6BB9012102224FF4007300 +:10223000FEF7D0F82046812102224FF40073FEF70A +:10224000C9F80AE0012102224023FEF7C3F8204624 +:10225000812102224023FEF7BDF8742004F0AAFC7D +:10226000C4F8180238B12046FFF7ECFED4F8183253 +:102270000020186110BD012010BD00BF10B504463C +:102280000121FEF7B1F820468121FEF7ADF8204686 +:10229000FFF7FEFED4F8180220B104F093FC0023EF +:1022A000C4F81832002010BD70B506460C46D0F8B0 +:1022B0001812237813F0600530D0202D6FD162788A +:1022C000FE2A02D0FF2A13D023E0628852B9E288A6 +:1022D000012A07D113F0800F04D000250D60FEF70E +:1022E00099FD5DE030462146FEF7FCFD022557E0F2 +:1022F000628842B9E28832B913F0800F03D1FFF748 +:10230000BBFE00254CE030462146FEF7EBFD0225E2 +:1023100046E02146FEF7E6FD022541E063780A2B00 +:1023200004D00B2B07D0012B3AD107E00431012256 +:10233000FEF770FD34E0A3784B6031E02179FEF7C1 +:102340005BF830462179FEF74FF894F90430002B02 +:1023500010DA337C3BB93046812102224FF40073FE +:10236000FEF738F816E03046812102224023FEF7BE +:1023700031F80FE0337C3BB93046012102224FF4A3 +:102380000073FEF727F805E03046012102224023C2 +:10239000FEF720F830462179FFF714FF00E0002512 +:1023A000284670BD08B5FFF7ABFE002008BD00BF92 +:1023B00008B5FFF773FE002008BD00BFD0F8183243 +:1023C00063B11B6953B110B504461846FEF7D2FA43 +:1023D000D4F8183200221A61002010BD0020704786 +:1023E0000C4B01E0013B10D00269002AFADA0369C4 +:1023F00043F001030361074B01E0013B07D0026991 +:1024000012F0010FF9D1002070470320704703201C +:10241000704700BF400D030084B010B5044603A808 +:1024200080E80E00089B012B18D1A36B23F48033A6 +:10243000A363E36823F4840323F04003E360E368C9 +:1024400023F44013E3600D9B012B03D1E36843F4B5 +:102450008013E3602046FFF7C3FF09E0E36843F021 +:102460004003E3602046FFF7BBFF4FF48033A363D4 +:10247000069B012B07D1A36843F00C03A360A3685C +:1024800043F02003A3600020BDE8104004B0704773 +:10249000836843F00103836000207047836823F062 +:1024A000010383600020704708B5C36823F0C04370 +:1024B000C360012904D1C36843F00053C36004E042 +:1024C00019B9C36843F08043C360322004F01CFB99 +:1024D000002008BD490141F020010161054B01E0E8 +:1024E000013B05D0026912F0200FF9D1002070479E +:1024F00003207047400D030010230361054B01E0EA +:10250000013B05D0026912F0100FF9D1002070478D +:1025100003207047400D0300D0F800381943C0F87D +:1025200000180020704700BF84B0F8B5044607A823 +:1025300080E80E00A36B43F40023A3630F9E1EB933 +:10254000A36B43F40013A3630023C4F8003E04F517 +:102550000065D4F80038C4F800380C9B012B0BD16F +:10256000099B23B920460021FFF7D6FF08E020464B +:102570000121FFF7D1FF03E020460321FFF7CCFF45 +:1025800020461021FFF7A6FF2046FFF7B5FF0023E6 +:102590002B616B614FF0FF32AA61EB61079848B382 +:1025A00004F51063002219461F68002F03DA4FF06C +:1025B00090471F6001E000271F6000270F61FF2781 +:1025C0008F60013220338242EDD304F53063002264 +:1025D00019461F68002F03DA4FF090471F6001E093 +:1025E00000271F6000270F61FF278F600132203313 +:1025F0008242EDD12B6923F480732B610A9B012B5E +:102600000ED1184B2B632B6B43F4803343F0030341 +:102610002B632B6B0023A3616FF08043636109E0A0 +:102620000022A2616FF0804262611BB9A36943F08E +:102630001003A361A2690C4B1343A3610D9B1BB153 +:10264000A36943F00803A361012E05D1A36943F0F8 +:10265000804343F00403A3610020BDE8F84004B0C8 +:10266000704700BF0001800000383C80D0F8083877 +:1026700000F5006013F0060F10D0836803F0060326 +:10268000022B0DD0836803F00603062B0AD0836863 +:1026900003F00603042B07D1022070470020704787 +:1026A00003207047032070470020704770B44B78B8 +:1026B000012B1FD1D0F81C280D78AB409BB21343DF +:1026C000C0F81C380E78730103F510631A5812F421 +:1026D000004F2DD11C5844F0805545F400458A68C0 +:1026E000C2F30A042C43CA7844EA824242EA865280 +:1026F0001A501DE0D0F81C280D784FF48033AB4001 +:102700001343C0F81C380B785B0103F530631A588B +:1027100012F4004F0CD11A5842F0805444F4004493 +:102720008A68C2F30A022243C97842EA81421A50F7 +:10273000002070BC704700BF30B44B78012B1BD118 +:10274000D0F83C580C7803FA04F4A4B225EA040447 +:10275000C0F83C48D0F81C480D78AB409BB224EA46 +:102760000303C0F81C380B785B0103F510631A589B +:1027700022F400421A5019E0D0F83C480D780122AA +:1027800002FA05F524EA0544C0F83C48D0F81C4894 +:102790000D78AA4024EA0242C0F81C280B785B019D +:1027A00003F530631A5822F400421A50002030BC5E +:1027B000704700BF30B44B78012B68D14B69EBB93F +:1027C0000B7800EB4313D3F8104924F0FF5424F4A2 +:1027D000C014C3F810490B7800EB4313D3F8104929 +:1027E00044F40024C3F810490B7800EB4313D3F8EA +:1027F0001049E40CE404C3F810492CE00B7800EB1A +:102800004313D3F81049E40CE404C3F810490B78DF +:1028100000EB4313D3F8104924F0FF5424F4C01400 +:10282000C3F810498B684C699C4200D94B610B7806 +:1028300000EB4313D3F8104944F40024C3F81049C3 +:102840000B7800EB4313D3F810594C69C4F312040E +:102850002C43C3F81049012A06D10B7800EB43132F +:102860000A69C3F8142909E04B693BB1D0F8342850 +:102870000D780123AB401343C0F834380B785B016B +:1028800003F51063C25842F00442C2503BE00B789B +:1028900000EB4313D3F8104BE40CE404C3F8104BE3 +:1028A0000B7800EB4313D3F8104B24F0FF5424F4BF +:1028B000C014C3F8104B4B690BB18B684B610B789C +:1028C00000EB4313D3F8104B44F40024C3F8104B2F +:1028D0000B7800EB4313D3F8105B8C68C4F312043D +:1028E0002C43C3F8104B012A05D10B7800EB43139E +:1028F000CA68C3F8142B0B785B0103F53063C25828 +:1029000042F00442C250002030BC704730B49DF801 +:10291000084064B903339B1009D000F5805000EBE8 +:10292000023251F8045B15600134A342F9D1002052 +:1029300030BC704770B582B04B78012B40F0A98055 +:102940004B69EBB90B7800EB4313D3F8104924F033 +:10295000FF5424F4C014C3F810490B7800EB431360 +:10296000D3F8104944F40024C3F810490B7800EB65 +:102970004313D3F81049E40CE404C3F8104945E0CC +:102980000B7800EB4313D3F81049E40CE404C3F8CC +:1029900010490B7800EB4313D3F8104924F0FF548F +:1029A00024F4C014C3F810490C7800EB4414D4F894 +:1029B00010598E684B693344013BB3FBF6F3724EFA +:1029C00006EAC3432B43C4F810390B7800EB4313DA +:1029D000D3F810594C69C4F312042C43C3F81049BE +:1029E000CB78012B40F0C8800B7800EB4313D3F871 +:1029F000104924F0C044C3F810490B7800EB43138E +:102A0000D3F8104944F00054C3F81049012A06D104 +:102A10000B7800EB43130C69C3F814490CE0CB7836 +:102A2000012B0CD04B6903B3D0F834480E78012346 +:102A3000B3402343C0F83438CB78012B15D1D0F8FC +:102A4000083813F4807F08D10B785B0103F510631D +:102A5000C45844F00054C45007E00B785B0103F500 +:102A60001063C45844F08054C4500B785B0103F5E4 +:102A70001063C45844F00444C450CB78012B7FD178 +:102A800014460B46C9681A789B8A0094FFF73EFFEC +:102A900076E00B7800EB4313D3F8104BE40CE4041E +:102AA000C3F8104B0B7800EB4313D3F8104B24F012 +:102AB000FF5424F4C014C3F8104B4B69A3B90B782E +:102AC00000EB4313D3F8105B8C68C4F312042C435F +:102AD000C3F8104B0B7800EB4313D3F8104B44F4BE +:102AE0000024C3F8104B1DE08D680C7800EB4414F3 +:102AF000D4F8106B2B44013BB3FBF5F39BB2224D92 +:102B000005EAC3453543C4F8105B0C7800EB441468 +:102B1000D4F8106B8D6805FB03F3C3F31203334342 +:102B2000C4F8103B012A05D10B7800EB4313CA68A7 +:102B3000C3F8142BCB78012B15D1D0F8083813F437 +:102B4000807F08D10B785B0103F53063C25842F0F7 +:102B50000052C25007E00B785B0103F53063C258A6 +:102B600042F08052C2500B785B0103F53063C258CB +:102B700042F00442C25003E0012A7FF453AF47E71A +:102B8000002002B070BD00BF0000F81F0332921099 +:102B90000FD030B40C46002300F580552D6844F862 +:102BA000045B01339A42F7D101EB8201084630BC45 +:102BB00070470846704700BF4B78012B13D10B7844 +:102BC0005B0103F51063C258002A03DBC25822F0F0 +:102BD0008042C2500B785B0103F51063C25842F487 +:102BE0000012C25012E00B785B0103F53063C2584B +:102BF000002A03DBC25822F08042C2500B785B01EE +:102C000003F53063C25842F40012C25000207047EE +:102C10004B78012B15D10B785B0103F51063C2587B +:102C200022F40012C250CB78023BDBB2012B1DD83C +:102C30000B785B0103F51063C25842F08052C2501A +:102C400014E00B785B0103F53063C25822F40012E4 +:102C5000C250CB78023BDBB2012B07D80B785B016B +:102C600003F53063C25842F08052C25000207047D2 +:102C7000D0F8003823F4FE63C0F80038D0F80038EC +:102C8000090101F4FE610B43C0F8003800207047D1 +:102C900008B5D0F8043823F00203C0F80438032044 +:102CA00003F032FF002008BD08B5D0F8043843F027 +:102CB0000203C0F80438032003F026FF002008BDFB +:102CC0004369806918407047D0F8183800F50060F3 +:102CD000C0691840000C704700F50063D0F8180870 +:102CE000DB69184080B2704700F5306303EB411197 +:102CF0008B6800F5006040691840704710B4D0F848 +:102D00001048D0F8343800EB4110D0F80809CB4017 +:102D1000DB01DBB2234318405DF8044B704700BF72 +:102D2000406900F001007047D0F8003923F4FF63D8 +:102D300023F00703C0F8003900F500639A6802F039 +:102D40000602042A05D1D0F8002942F00302C0F897 +:102D500000295A6842F480725A600020704700BF10 +:102D600010B40024C0F8104BD0F8104B44F40024E9 +:102D7000C0F8104BD0F8104B44F01804C0F8104BBA +:102D8000D0F8104B44F0C044C0F8104B012905D1D5 +:102D9000C0F8142B4FF08023C0F8003B00205DF8F2 +:102DA000044B70472DE9F04106460C4690461D46FF +:102DB00003F0A4FE0746B8F1000F2AD05BE0B5F19E +:102DC000FF3F26D025B103F099FEC01BA84220D9B1 +:102DD0003268536823F0E00353603268136823F0CD +:102DE00040031360B36AB3F5005F09D1326813681A +:102DF00023F4005313603268136843F400531360E4 +:102E0000012386F85130002386F850300320BDE8B6 +:102E1000F08133689B682340A342D0D10020BDE8F5 +:102E2000F081B5F1FF3F26D025B103F067FEC01B4E +:102E3000A84220D93268536823F0E0035360326817 +:102E4000136823F040031360B36AB3F5005F09D140 +:102E50003268136823F4005313603268136843F434 +:102E600000531360012386F85130002386F8503058 +:102E70000320BDE8F08133689B682340A342D0D093 +:102E80000020BDE8F08100BF00283CD010B504460A +:102E900090F8513013F0FF0F01D1FDF707FC02232A +:102EA00084F851302268136823F0400313602168CE +:102EB0006268A3681A43E3681A4323691A43636983 +:102EC0001A43A36903F400731343E2691343226AAC +:102ED0001343A26A1A430A602168638B03F0040259 +:102EE000636A13434B602368E26A1A612268D369FC +:102EF00023F40063D36100206065012384F851301E +:102F000084F8500010BD0120704700BF10B5044682 +:102F100090F85130DBB2012B50D1002950D0002A5B +:102F200050D090F85030012B4ED0012380F8503013 +:102F3000122380F851300023436501638286C286E4 +:102F4000C36483648387C3878368B3F5004F04D168 +:102F50000268136843F480431360A36AB3F5005F0B +:102F600009D12268136823F40053136022681368A0 +:102F700043F400531360236C154A1A64236C154AFA +:102F8000DA63236C144A9A642268206C216B0C3239 +:102F9000E38E01F037FB2268536843F0020353606D +:102FA000002384F8503023681A6812F0400F0DD1C6 +:102FB0001A6842F040021A60002010BD022010BDC5 +:102FC000012010BD012010BD022010BD002010BD49 +:102FD000113200085D3200083D32000838B5044661 +:102FE00090F85100C0B2012808D06568B5F5827F1D +:102FF0007AD1A568002D79D1222879D1002979D0FC +:10300000002A79D0002B79D094F85000012877D08D +:10301000012084F8500094F85100C0B2222802D058 +:10302000322084F85100002060652163A386E38686 +:10303000A263A387E387A064E064A36AB3F5005F9B +:1030400009D12268136823F40053136022681368BF +:1030500043F40053136094F85130DBB2222B06D1B5 +:10306000636C284A1A64636C274ADA6305E0636C70 +:10307000264A1A64636C264ADA63636C254A9A64AA +:103080002168606C0C31A26BE38F01F0BBFA2268FF +:10309000536843F001035360236C0022DA6394F811 +:1030A0005130DBB2322B03D1236C1A4A9A6402E00E +:1030B000236C00229A642268206C216B0C32E38E10 +:1030C00001F0A0FA23681A6812F0400F03D11A68C1 +:1030D00042F040021A602268536843F002035360D2 +:1030E000002084F8500038BD022038BD022038BDD1 +:1030F000022038BD012038BD012038BD012038BD77 +:10310000022038BD21320008D532000831320008D3 +:103110009D3300083D32000838B50446134690F848 +:103120005120D2B2012A5ED10D4600295DD0002B7C +:103130005DD090F85020012A5BD0012280F8502009 +:10314000222280F8512000224265A1638387C38731 +:103150008264C2648286C2868268B2F5004F05D15D +:103160000268136823F4804313600BE052B942688D +:10317000B2F5827F06D1002280F850202A46FFF760 +:103180002DFF38BDA36AB3F5005F09D1226813682B +:1031900023F4005313602268136843F40053136050 +:1031A000636C164A1A64636C154ADA63636C154AD9 +:1031B0009A642168606C0C31A26BE38F01F022FAF3 +:1031C0002268536843F001035360002384F85030B1 +:1031D00023681A6812F0400F0DD11A6842F04002BD +:1031E0001A60002038BD022038BD012038BD012002 +:1031F00038BD022038BD002038BD00BF2132000894 +:10320000D53200083D320008704700BF704700BF4C +:1032100008B5806BFFF7FAFF08BD00BF704700BF1D +:1032200008B5806BFFF7FAFF08BD00BF704700BF0D +:1032300008B5806BFFF7FAFF08BD00BF08B5806BCB +:103240000023C386C387012380F85130436D43F0C8 +:1032500010034365FDF7CAFC08BD00BF10B582B07E +:10326000846B03681B6813F4807F1FD12046022102 +:1032700000220A23FFF796FD18B1636D43F0100397 +:1032800063652268536823F002035360204680215F +:1032900001220A23FFF786FD18B1636D43F0100386 +:1032A00063650023E386012384F85130A3682BB9BA +:1032B0002368DA6801929B680193019B636D1BB1DF +:1032C0002046FDF793FC02E02046FDF701FC02B02A +:1032D00010BD00BF10B582B0846B03681B6813F487 +:1032E000807F55D16368B3F5827F0BD1A368B3F5B6 +:1032F000004F02D0B3F5806F04D12268136823F029 +:10330000400313602268536823F00103536022686E +:10331000536823F0020353600023E387012384F8FA +:103320005130A36AB3F5005F28D120460121002265 +:103330000A23FFF737FD18B1636D43F0100363658F +:103340002368DB689BB2ADF80630BDF80630204636 +:1033500001210A460A23FFF725FD18B1636D43F0EA +:103360001003636523689A6812F0100F06D0626D2F +:1033700042F0020262656FF010029A60636D1BB149 +:103380002046FDF733FC06E02046FDF7E5FB02E0B2 +:103390002046FDF7E1FB02B010BD00BF10B582B0C2 +:1033A000846B03681B6813F4807F57D1A36AB3F55D +:1033B000005F23D1204601210A460A23FFF7F2FCD1 +:1033C00050B92046012100220A23FFF7EBFC18B177 +:1033D000636D43F0100363652268D3689BB2ADF858 +:1033E0000630BDF80630936813F0100F06D0636DF9 +:1033F00043F0020363656FF01003936020460221DF +:1034000000220A23FFF7CEFC18B1636D43F01003CE +:1034100063652268536823F00203536020468021CD +:1034200001220A23FFF7BEFC18B1636D43F01003BD +:1034300063652268536823F0010353600023E38629 +:10344000E387012384F85130636D1BB12046FDF7FB +:10345000CDFB06E02046FFF7D7FE02E02046FFF74F +:10346000D3FE02B010BD00BF38B50446036813F0A8 +:10347000010F3AD0B34B9B6803F00C03042B00F010 +:103480004B81B04B9B6803F00C03082B05D1AD4B6F +:103490005B6813F4800F40F041810022AA4B1A7040 +:1034A00003F02CFB054606E003F028FB401BB0F5BB +:1034B000FA7F00F23581A34B1B6813F4003FF3D170 +:1034C0002279A14B1A7063687BB103F017FB0546A4 +:1034D00006E003F013FB401BB0F5FA7F00F22281F7 +:1034E000984B1B6813F4003FF3D0236813F0020FCE +:1034F00049D0944B9B6813F00C0F0AD0914B9B68FA +:1035000003F00C03082B09D18E4B5B6813F4800F7A +:1035100004D1E368012B40F0078126E0E36893B112 +:1035200001228A4B1A6003F0E9FA054605E003F030 +:10353000E5FA401B642800F2F980824B1B6813F007 +:10354000020FF4D011E00022804B1A6003F0D6FA8B +:10355000054605E003F0D2FA401B642800F2E8803B +:10356000784B1B6813F0020FF4D17648026822F002 +:10357000F8012269F82393FAA3F3B3FA83F3DBB2D9 +:103580009A400A430260236813F0080F26D063694B +:1035900093B101226E4B1A6003F0B0FA054605E0C4 +:1035A00003F0ACFA401B642800F2C480654B5B6FEB +:1035B00013F0020FF4D011E00022654B1A6003F003 +:1035C0009DFA054605E003F099FA401B642800F2D5 +:1035D000B3805C4B5B6F13F0020FF4D1236813F0E0 +:1035E000040F42D0574A136C43F080531364A2F582 +:1035F000E432136843F48073136003F07FFA0546E6 +:1036000005E003F07BFA401B642800F29780514BE1 +:103610001B6813F4807FF4D000224F4B1A7003F024 +:103620006DFA054607E003F069FA401B41F2883362 +:10363000984200F28580434B1B6F13F0020FF2D1CA +:10364000227A454B1A70A3687BB103F057FA0546FE +:1036500006E003F053FA401B41F2883398427FD8CA +:10366000384B1B6F13F0020FF3D0A369002B79D0F6 +:10367000344B9B6803F00C03082B75D00022374BAA +:103680001A6003F03BFA054604E003F037FA401BEA +:1036900064286BD82B4B1B6813F0007FF5D1A3690E +:1036A000022B65D1216A626A47F6C07393FAA3F3CD +:1036B000B3FA83F3DBB29A401143A36A5B08013B80 +:1036C0004FF4403292FAA2F2B2FA82F2D2B29340AE +:1036D0000B43E2691343E26A4FF0706191FAA1F182 +:1036E000B1FA81F1C9B28A40134343F00053154A3D +:1036F00053600122194B1A6003F000FA044604E0FB +:1037000003F0FCF9001B642834D80E4B1B6813F03F +:10371000007FF5D0002038BD012038BD012038BD24 +:10372000032038BD032038BD012038BD032038BD3B +:10373000032038BD032038BD032038BD032038BD29 +:10374000032038BD003802400238024000004742E2 +:10375000800E4742007000407038024060004742CF +:10376000032038BD002038BD012038BD032038BDFE +:10377000002038BD032038BD70B504460D46874B88 +:103780001B6803F00F038B426BD2CAB2834B1A70D3 +:103790001B6803F00F038B4240F0E480036813F0D2 +:1037A000020F06D07E498B6823F0F0028368134332 +:1037B0008B60236813F0010F00F0B8806268012A63 +:1037C00005D1774B1B6813F4003F0ED1CCE0022AE1 +:1037D00005D1734B1B6813F0007F06D1C6E0704B18 +:1037E0001B6813F0020F00F0C3806D498B6823F053 +:1037F000030313438B6003F081F905466368012BD3 +:103800000FD107E003F07AF9401B41F28833984268 +:1038100000F2B080624B9B6803F00C03042BF1D1E3 +:1038200084E0022B17D107E003F068F9401B41F256 +:103830008833984200F2A080594B9B6803F00C0338 +:10384000082BF1D172E003F059F9401B41F28833A3 +:10385000984200F29380524B9B6813F00C0FF2D108 +:1038600064E0036813F0020F06D04D498B6823F023 +:10387000F002836813438B60236813F0010F4DD06F +:103880006268012A05D1464B1B6813F4003F0DD135 +:1038900076E0022A05D1424B1B6813F0007F05D168 +:1038A00070E03F4B1B6813F0020F6DD03C498B68F2 +:1038B00023F0030313438B6003F020F9064663688B +:1038C000012B0ED106E003F019F9801B41F2883379 +:1038D00098425BD8324B9B6803F00C03042BF2D167 +:1038E0001CE0022B15D106E003F008F9801B41F221 +:1038F000883398424CD82A4B9B6803F00C03082B62 +:10390000F2D10BE003F0FAF8801B41F288339842C1 +:1039100040D8234B9B6813F00C0FF3D1EAB21F4B36 +:103920001A701B6803F00F03AB4235D1236813F004 +:10393000040F06D01A498B6823F4E052E36813435E +:103940008B60236813F0080F07D0154A936823F49F +:103950006043216943EAC1039360002003F09EF8AD +:10396000002070BD012070BD012070BD012070BD20 +:10397000012070BD032070BD032070BD032070BD09 +:10398000012070BD012070BD012070BD032070BDFD +:10399000032070BD032070BD012070BD003C0240BB +:1039A00000380240224B9B6803F00C03042B3DD0EF +:1039B000082B01D01F4870471D4B586800F03F008E +:1039C0005B6813F4800F10D01B4BB3FBF0F3184A65 +:1039D000506847F6C072104092FAA2F2B2FA82F230 +:1039E000D2B2D04000FB03F30FE0124BB3FBF0F375 +:1039F0000F4A506847F6C072104092FAA2F2B2FA2B +:103A000082F2D2B2D04000FB03F3094A506800F4BE +:103A100040304FF4403292FAA2F2B2FA82F2D2B2BD +:103A2000D04001304000B3FBF0F0704702487047CF +:103A3000003802400024F40000127A0008B5FFF7B5 +:103A4000B1FF094B9B6803F0F002F02393FAA3F354 +:103A5000B3FA83F3DBB222FA03F3044AD35CD8400F +:103A6000034B186008BD00BF00380240D46D000849 +:103A7000DC00002030B40468636A19B943EA0240EC +:103A8000A06218E00D46A06A03EB1040002308E096 +:103A900003F1400104EB8101496800EB114001335F +:103AA000DBB2691E8B42F3DB40EA024005F13F01C5 +:103AB00004EB81014860002030BC70470368596204 +:103AC000002070472DE9F04383B007460E46D0F83A +:103AD0000080CB005B1A9B0003445D6C9A6CAD1AAE +:103AE0009B6B9D4200D91D46EB1C00D503339B10F8 +:103AF0001BE0F400A41BA4003C44E16B3B7C00935E +:103B00004046F2B2ABB2FEF701FFE36B2B44E36336 +:103B1000A36C1D44A564636C5D1BA36B9D4200D91F +:103B20001D46EB1C00D503339B10414608EB4612A3 +:103B300002F51062926992B29A4209D3F3009B1B7C +:103B40009B003B449A6C5B6C9A4201D2002BD0D113 +:103B5000002D0ADC0123B340D1F8342822EA030304 +:103B6000C1F834383846FCF7F9FB002003B0BDE853 +:103B7000F08300BF002869D0F0B589B00446032364 +:103B800080F87933FCF752FB2068FEF787FC254666 +:103B900055F8107B6E460FCD0FC695E80F0086E8EE +:103BA0000F00231D0ECB3846FEF736FC206800219F +:103BB000FEF77AFC002210E0D3009B1A9B002344FE +:103BC000012183F8311083F83020DA86002183F850 +:103BD00033109963D963596401320E2AECD900225B +:103BE00018E0D3009B1A9B002344002183F8D511D1 +:103BF00083F8D421DA8683F8D711C3F8DC11C3F82F +:103C0000E011C3F8E811236802F1400003EB8003E0 +:103C1000596001320E2AE4D9254655F8107B6E46CC +:103C20000FCD0FC695E80F0086E80F00231D0ECBC1 +:103C30003846FEF779FC012384F87933002584F8AF +:103C400078532068FFF730F8284601E001207047DC +:103C500009B0F0BD90F87833012B0ED010B50446B2 +:103C6000012380F878330068FFF712F82068FEF728 +:103C70000FFC002084F8780310BD0220704700BFBD +:103C80002DE9F84F044606683046FFF749F800284A +:103C900040F01B822068FFF713F8002800F015821F +:103CA0002068FFF70DF810F0020F02D023680222FF +:103CB0005A612068FFF704F810F4002F5CD02068E8 +:103CC000FFF702F80746002553E017F0010F4ED02A +:103CD0005FFA85F920684946FFF706F8804610F03C +:103CE000010F31D006EB45130122C3F8082B03F571 +:103CF00030632269012A12D1EA00521B9200224449 +:103D000002F5EC71D2F8DC011B69C3F31203C01A8F +:103D1000C2F8EC01D2F8E0214B6813448B602046D6 +:103D20004946FCF7B9FA2369012B0DD165B9C5EBFA +:103D3000C5039B002344D3F8E8312BB92068012147 +:103D400004F55F72FFF70CF818F0080F07D0204653 +:103D5000FCF798FA06EB45130822C3F8082B18F075 +:103D6000100F04D006EB45131022C3F8082B0135C1 +:103D70007F08002FA9D100E000252068FEF7A0FFF2 +:103D800010F4802F6BD02068FEF7A6FF07460025B1 +:103D900063E017F0010F5ED05FFA85F920684946AD +:103DA000FEF7ACFF804610F0010F2DD0012202FA81 +:103DB00005F0D6F8343823EA0003C6F8343806EBA9 +:103DC0004513C3F808292369934209D1EB005B1B13 +:103DD0009B00234403F13802D96B9B6B0B44536067 +:103DE00020464946FCF764FA2369012B0CD15DB9E2 +:103DF000C5EBC5039B0023445B6C2BB920680121F4 +:103E000004F55F72FEF7ACFF18F0080F04D006EB64 +:103E100045130822C3F8082918F0100F04D006EB48 +:103E200045131022C3F8082918F0400F04D006EB00 +:103E300045134022C3F8082918F0020F04D006EBFE +:103E400045130222C3F8082918F0800F03D020463A +:103E50002946FFF737FE01357F08002F99D12068EA +:103E6000FEF72EFF00280CDAD6F8043823F0010301 +:103E7000C6F804382046FCF74BFA23684FF000429E +:103E80005A612068FEF71CFF10F4006F0BD0D6F8C3 +:103E9000083813F0010F02D02046FCF72BFA2368F4 +:103EA0004FF400625A612068FEF70AFF10F4805F49 +:103EB0004ED0374606F50068D8F8043023F00103E9 +:103EC000C8F8043020680021FEF704FB002207E058 +:103ED00007EB4213FF21C3F80819C3F8081B01328E +:103EE00063689342F4D84FF0FF33C8F81830D8F81D +:103EF0001C3043F00113C8F81C30A36A63B1D8F832 +:103F0000843043F00B03C8F88430D8F8443043F0D1 +:103F10000B03C8F844300BE0D8F8143043F00B031F +:103F2000C8F81430D8F8103043F00B03C8F810303C +:103F3000D6F8003823F4FE63C6F800382068217CE8 +:103F400004F55F72FEF70CFF23684FF480525A614C +:103F50002068FEF7B5FE10F4005F26D02068FEF75B +:103F6000E3FE2268D36823F47053D3602068FEF721 +:103F70007DFB50B90023E3604FF400736361226856 +:103F8000D36843F41053D36008E00323E360402375 +:103F900063612268D36843F4A053D3602046FCF7E2 +:103FA00099F923684FF400525A612068FEF788FEA1 +:103FB00010F0100F42D02268936923F01003936130 +:103FC000376A07F00F08C7F34343022B1CD147F6AB +:103FD000F0731F402DD03F094FEAC809C8EB090A0A +:103FE0004FEA8A0AA2443046DAF8E0113A46FEF770 +:103FF000CDFDDAF8E0313B44CAF8E031DAF8EC31D3 +:104000001F44CAF8EC7114E0062B12D1304604F5B7 +:104010005F710822FEF7BAFDC7F30A174FEAC8031B +:10402000C8EB030292002244D2F8EC313B44C2F8C0 +:10403000EC312268936943F0100393612068FEF726 +:104040003FFE10F0080F05D02046FCF73DF923682D +:1040500008225A612068FEF733FE10F4801F07D053 +:104060002046E9B2FCF768F923684FF480125A61E0 +:104070002068FEF725FE10F4001F07D02046E9B2A5 +:10408000FCF754F923684FF400125A612068FEF7D8 +:1040900017FE10F0804F06D02046FCF753F9236836 +:1040A0004FF080425A612068FEF70AFE10F0040FBC +:1040B0000BD023685D6815F0040F02D02046FCF792 +:1040C00047F923685A6815435D60BDE8F88F00BF63 +:1040D00090F87833012B0BD010B50446012380F8FB +:1040E00078330068FEF7C4FD002084F8780310BD23 +:1040F0000220704738B50546C8B210F0800F07D0CF +:1041000001F07F04C4EBC404A40030342C4407E065 +:1041100001F07F04C4EBC404A4002C4404F5EA7449 +:1041200001F07F012170C0096070A260E37000B1EE +:10413000E180022B01D10023237195F87833012B04 +:104140000AD0012385F8783328682146FEF7AEFAB5 +:10415000002085F8780338BD022038BD10B504462C +:10416000CAB212F0800F07D001F07F03C3EBC30384 +:104170009B003033034407E001F07F03C3EBC3032C +:104180009B00034403F5EA7301F07F011970D20923 +:104190005A7094F87823012A0AD0012284F87823EF +:1041A00020681946FEF7C8FA002084F8780310BD8D +:1041B000022010BD70B501F07F06F400A51BAD0014 +:1041C000054405F5EA712C46C5F8E021C5F8E8314B +:1041D0000023C4F8EC3184F8D53184F8D461036944 +:1041E000012B05D1C6EBC604A4000444C4F8E421A5 +:1041F00090F87823012A11D00446012280F8782310 +:1042000026B90068DAB2FEF7D5FA03E00068DAB240 +:10421000FEF790FB002084F8780370BD022070BD8B +:1042200001F07F01C1EBC10189000844B0F8EC0145 +:10423000704700BF70B501F07F06F400A51BAD000C +:1042400030354119A41BA4000444E26363640023D5 +:10425000A364012384F8313084F830600369012BB2 +:1042600004D1C6EBC604A4000444226490F8782369 +:10427000012A11D00446012280F8782326B900686B +:10428000DAB2FEF797FA03E00068DAB2FEF752FB03 +:10429000002084F8780370BD022070BD38B5044654 +:1042A000CAB212F0800F07D001F07F03C3EBC30343 +:1042B0009B003033034405E0C1EBC1039B00034482 +:1042C00003F5EA730120987001F07F051D70D20993 +:1042D0005A7094F87823824210D084F878032068CA +:1042E0001946FEF769FC2DB92068217C04F55F7240 +:1042F000FEF736FD002084F8780338BD022038BD73 +:1043000010B50446CAB212F0800F07D001F07F0347 +:10431000C3EBC3039B003033034405E0C1EBC1038F +:104320009B00034403F5EA730020987001F07F01BD +:104330001970D2095A7094F87823012A0AD0012200 +:1043400084F8782320681946FEF762FC002084F880 +:10435000780310BD022010BD90F87833012B14D0E3 +:1043600010B50446012380F8783311F0800F05D092 +:10437000006801F07F01FEF7ADF802E00068FEF78B +:10438000BBF8002084F8780310BD0220704700BFFE +:104390002DE9F0410023D3E09C4601229A400C68AD +:1043A0001440944240F0CB804D68022D01D0122D74 +:1043B00014D14FEAD30808F1080850F8287003F028 +:1043C000070E4FEA8E0E0F2505FA0EF527EA0506B1 +:1043D0000D6905FA0EF5354340F8285006684FEA96 +:1043E000430E032505FA0EF5ED4305EA06074E6870 +:1043F00006F0030606FA0EF63E4306604E68771E88 +:10440000012F03D9112E01D0122E12D1866805EA90 +:104410000607CE6806FA0EF63E438660476827EA2E +:1044200002074E68C6F3001202FA0CF646EA0702CB +:104430004260C2682A408D6805FA0EF51543C560D2 +:104440004A6812F0805F7AD0404D6A6C42F4804234 +:104450006A649A08961CA5F5803555F8266003F025 +:104460000307BF000F25BD4026EA0506384DA842C8 +:1044700031D005F58065A8422BD005F58065A842AE +:1044800025D005F58065A8421FD005F58065A842B6 +:1044900019D005F58065A84213D005F58065A842BE +:1044A0000DD005F58065A84207D005F58065A842C6 +:1044B00001D1082510E009250EE007250CE00625AE +:1044C0000AE0052508E0042506E0032504E00225AE +:1044D00002E0012500E00025BD40354302321D4EBB +:1044E00046F822501C4A1568E24302EA05064F6866 +:1044F00017F4803F01D044EA0506174D2E606D6821 +:1045000002EA05064F6817F4003F01D044EA0506A9 +:10451000114D6E60AD6802EA05064F6817F4801F02 +:1045200001D044EA05060C4DAE60ED682A404E68A5 +:1045300016F4001F01D044EA0502074CE260013383 +:104540000F2B7FF629AFBDE8F08100BF0038024095 +:104550000000024000380140003C014030B40568D2 +:104560002C6824F480242C60046863608368402BEA +:1045700004D103689A600368D96003E00368996016 +:104580000368DA6030BC7047002833D010B40346AB +:10459000022280F8352004682168194A0A404068E0 +:1045A00099680843D9680843196908435969084359 +:1045B00099690843D9690843196A01430A43596A4A +:1045C000042903D1D86A196B01430A432260196890 +:1045D0004A6922F00702586A0243042801D1986A06 +:1045E00002434A610020D864012283F8352083F811 +:1045F000340001E0012070475DF8044B704700BFB4 +:104600003F8010F038B590F83440012C2ED004468D +:10461000012084F83400022084F8350025682868D9 +:1046200020F0010028602046FFF798FF22681368F9 +:1046300043F0100313602268136843F0080313600B +:104640002268136843F0040313602268536943F03F +:10465000800353612268136843F0020313602268E9 +:10466000136843F001031360002038BD022038BDF9 +:1046700010B504460368B24A934257D9583A526873 +:10468000B0498B424CD001F580618B4246D0A1F5F8 +:1046900068718B4240D001F580618B423AD0A1F520 +:1046A00089618B4233D001F580618B422CD0A1F51A +:1046B00068718B4225D001F580618B421ED0A1F537 +:1046C00089618B4217D001F580618B4210D0A1F532 +:1046D00068718B4209D001F580618B4202D14FF4A1 +:1046E00000211EE04FF000711BE04FF4002118E0A4 +:1046F0004FF4002115E04FF4002112E04FF4007157 +:104700000FE04FF400710CE04FF4007109E04FF43A +:10471000007106E0082104E0082102E0082100E021 +:1047200008210A4214BF0122002218E1864A93425E +:1047300058D902F55272126882498B424CD001F569 +:1047400080618B4246D0A1F568718B4240D001F563 +:1047500080618B423AD0A1F589618B4233D001F55B +:1047600080618B422CD0A1F568718B4225D001F578 +:1047700080618B421ED0A1F589618B4217D001F573 +:1047800080618B4210D0A1F568718B4209D001F590 +:1047900080618B4202D14FF400211EE04FF0007186 +:1047A0001BE04FF4002118E04FF4002115E04FF416 +:1047B000002112E04FF400710FE04FF400710CE0A3 +:1047C0004FF4007109E04FF4007106E0082104E0A5 +:1047D000082102E0082100E008210A4214BF01225A +:1047E0000022BCE0594A934257D9583A5268554979 +:1047F0008B424CD001F580618B4246D0A1F56871A7 +:104800008B4240D001F580618B423AD0A1F589619D +:104810008B4233D001F580618B422CD0A1F56871B9 +:104820008B4225D001F580618B421ED0A1F58961B4 +:104830008B4217D001F580618B4210D0A1F56871D1 +:104840008B4209D001F580618B4202D14FF40021E7 +:104850001EE04FF000711BE04FF4002118E04FF410 +:10486000002115E04FF4002112E04FF400710FE039 +:104870004FF400710CE04FF4007109E04FF4007147 +:1048800006E0082104E0082102E0082100E00821F8 +:104890000A4214BF0122002261E02D4A1268294910 +:1048A0008B4257D001F580618B4246D0A1F56871EB +:1048B0008B4240D001F580618B423AD0A1F58961ED +:1048C0008B4233D001F580618B422CD0A1F5687109 +:1048D0008B4225D001F580618B421ED0A1F5896104 +:1048E0008B4217D001F580618B4210D0A1F5687121 +:1048F0008B4209D001F580618B4202D14FF4002137 +:1049000029E04FF0007126E04FF4002123E04FF43E +:10491000002120E04FF400211DE04FF400711AE067 +:104920004FF4007117E04FF4007114E04FF4007180 +:1049300011E008210FE008210DE008210BE000BF85 +:104940005864024010600240B86002405860024063 +:104950000060024008210A4214BF01220022002AFE +:1049600000F07D811A6812F0040F00F078811A6857 +:1049700022F004021A602368AA4A934254D9A2F58D +:10498000896293424CD002F58062934246D0A2F5F0 +:104990006872934240D002F5806293423AD0A2F509 +:1049A0008962934233D002F5806293422CD0A2F503 +:1049B0006872934225D002F5806293421ED0A2F520 +:1049C0008962934217D002F58062934210D0A2F51B +:1049D0006872934209D002F58062934202D14FF48B +:1049E00000221EE04FF000721BE04FF4002218E09E +:1049F0004FF4002215E04FF4002212E04FF4007251 +:104A00000FE04FF400720CE04FF4007209E04FF435 +:104A1000007206E0082204E0082202E0082200E01A +:104A20000822814BDA600CE1804A934253D9A83ABC +:104A300093424CD002F58062934246D0A2F5687250 +:104A4000934240D002F5806293423AD0A2F5896247 +:104A5000934233D002F5806293422CD0A2F5687263 +:104A6000934225D002F5806293421ED0A2F589625E +:104A7000934217D002F58062934210D0A2F568727B +:104A8000934209D002F58062934202D14FF4002292 +:104A90001EE04FF000721BE04FF4002218E04FF4CC +:104AA000002215E04FF4002212E04FF400720FE0F4 +:104AB0004FF400720CE04FF4007209E04FF4007202 +:104AC00006E0082204E0082202E0082200E00822B2 +:104AD000554B9A60B5E0564A934253D9483A9342AF +:104AE0004CD002F58062934246D0A2F568729342A0 +:104AF00040D002F5806293423AD0A2F58962934297 +:104B000033D002F5806293422CD0A2F568729342B2 +:104B100025D002F5806293421ED0A2F589629342AD +:104B200017D002F58062934210D0A2F568729342CA +:104B300009D002F58062934202D14FF400221EE0B8 +:104B40004FF000721BE04FF4002218E04FF40022F7 +:104B500015E04FF4002212E04FF400720FE04FF422 +:104B600000720CE04FF4007209E04FF4007206E0AE +:104B7000082204E0082202E0082200E008222D4B6F +:104B8000DA605EE02C4A934258D002F5806293428C +:104B900046D0A2F56872934240D002F580629342FB +:104BA0003AD0A2F58962934233D002F580629342F3 +:104BB0002CD0A2F56872934225D002F58062934210 +:104BC0001ED0A2F58962934217D002F5806293420B +:104BD00010D0A2F56872934209D002F58062934228 +:104BE00002D14FF400222AE04FF0007227E04FF488 +:104BF000002224E04FF4002221E04FF400221EE0C6 +:104C00004FF400721BE04FF4007218E04FF4007292 +:104C100015E04FF4007212E0082210E008220EE0C6 +:104C200008220CE05864024000640240B860024070 +:104C30005860024000600240106002400822B24BFF +:104C40009A60E36C43F00103E364042384F8353095 +:104C5000002384F83430A36C0BB1204698472368B6 +:104C6000AA4A934253D9583A5268A9498B4248D02C +:104C700001F580618B4242D0A1F568718B423CD036 +:104C800001F580618B4236D0A1F589618B4230D02D +:104C900001F580618B422AD0A1F568718B4224D046 +:104CA00001F580618B421ED0A1F589618B4217D03E +:104CB00001F580618B4210D0A1F568718B4209D05B +:104CC00001F580618B4202D14FF480311AE04FF43C +:104CD000800117E04FF4803114E04FF4803111E08F +:104CE0004FF480310EE040210CE040210AE04021E9 +:104CF00008E0402106E0874904E0864902E0854952 +:104D000000E084490A4214BF012200220DE1824AD8 +:104D1000934254D902F5527212687D498B4248D0B1 +:104D200001F580618B4242D0A1F568718B423CD085 +:104D300001F580618B4236D0A1F589618B4230D07C +:104D400001F580618B422AD0A1F568718B4224D095 +:104D500001F580618B421ED0A1F589618B4217D08D +:104D600001F580618B4210D0A1F568718B4209D0AA +:104D700001F580618B4202D14FF480311AE04FF48B +:104D8000800117E04FF4803114E04FF4803111E0DE +:104D90004FF480310EE040210CE040210AE0402138 +:104DA00008E0402106E05B4904E05A4902E0594925 +:104DB00000E058490A4214BF01220022B5E0574AD8 +:104DC000934253D9583A526851498B4248D001F521 +:104DD00080618B4242D0A1F568718B423CD001F5D5 +:104DE00080618B4236D0A1F589618B4230D001F5CC +:104DF00080618B422AD0A1F568718B4224D001F5E5 +:104E000080618B421ED0A1F589618B4217D001F5DC +:104E100080618B4210D0A1F568718B4209D001F5F9 +:104E200080618B4202D14FF480311AE04FF480014F +:104E300017E04FF4803114E04FF4803111E04FF46B +:104E400080310EE040210CE040210AE0402108E0E2 +:104E5000402106E02F4904E02E4902E02D4900E000 +:104E60002C490A4214BF012200225EE0264A126841 +:104E700027498B4254D001F580618B4242D0A1F585 +:104E800068718B423CD001F580618B4236D0A1F530 +:104E900089618B4230D001F580618B422AD0A1F527 +:104EA00068718B4224D001F580618B421ED0A1F540 +:104EB00089618B4217D001F580618B4210D0A1F53A +:104EC00068718B4209D001F580618B4202D14FF4A9 +:104ED000803126E04FF4800123E04FF4803120E060 +:104EE0004FF480311DE04FF480311AE0402118E08A +:104EF000402116E0402114E0402112E0054910E075 +:104F000004490EE003490CE000600240586402408E +:104F10001060024001008000B8600240586002400A +:104F2000AB490A4214BF01220022002A00F06F811F +:104F30005A6912F0800F00F06A815A6922F08002EB +:104F40005A612368A34A934250D9A2F589629342D9 +:104F500048D002F58062934242D0A2F56872934233 +:104F60003CD002F58062934236D0A2F5896293422A +:104F700030D002F5806293422AD0A2F56872934243 +:104F800024D002F5806293421ED0A2F5896293423A +:104F900017D002F58062934210D0A2F56872934256 +:104FA00009D002F58062934202D14FF480321AE0B8 +:104FB0004FF4800217E04FF4803214E04FF4803257 +:104FC00011E04FF480320EE040220CE040220AE073 +:104FD000402208E0402206E07D4A04E07C4A02E0EC +:104FE0007B4A00E07A4A7C4BDA6002E17B4A9342DA +:104FF0004FD9A83A934248D002F58062934242D0FA +:10500000A2F5687293423CD002F58062934236D09A +:10501000A2F58962934230D002F5806293422AD091 +:10502000A2F56872934224D002F5806293421ED0AA +:10503000A2F58962934217D002F58062934210D0A4 +:10504000A2F56872934209D002F58062934202D1C0 +:105050004FF480321AE04FF4800217E04FF48032B0 +:1050600014E04FF4803211E04FF480320EE0402221 +:105070000CE040220AE0402208E0402206E0544AC8 +:1050800004E0534A02E0524A00E0514A524B9A600F +:10509000AFE0534A93424FD9483A934248D002F581 +:1050A0008062934242D0A2F5687293423CD002F5EE +:1050B0008062934236D0A2F58962934230D002F5E5 +:1050C000806293422AD0A2F56872934224D002F5FE +:1050D000806293421ED0A2F58962934217D002F5F6 +:1050E0008062934210D0A2F56872934209D002F513 +:1050F0008062934202D14FF480321AE04FF4800272 +:1051000017E04FF4803214E04FF4803211E04FF496 +:1051100080320EE040220CE040220AE0402208E00B +:10512000402206E02A4A04E0294A02E0284A00E038 +:10513000274A2C4BDA605CE02B4A934256D002F5AA +:105140008062934242D0A2F5687293423CD002F54D +:105150008062934236D0A2F58962934230D002F544 +:10516000806293422AD0A2F56872934224D002F55D +:10517000806293421ED0A2F58962934217D002F555 +:105180008062934210D0A2F56872934209D002F572 +:105190008062934202D14FF4803228E04FF48002C3 +:1051A00025E04FF4803222E04FF480321FE04FF4CC +:1051B00080321CE040221AE0402218E0402216E033 +:1051C000402214E0024A12E0014A10E0004A0EE0D8 +:1051D000010080005864024000640240B860024050 +:1051E000586002400060024010600240B44AB54B73 +:1051F0009A60E36C43F00203E364042384F83530DF +:10520000002384F83430A36C0BB120469847236800 +:10521000AD4A934257D9583A5268AC498B424CD068 +:1052200001F580618B4246D0A1F568718B4240D078 +:1052300001F580618B423AD0A1F589618B4233D070 +:1052400001F580618B422CD0A1F568718B4225D08D +:1052500001F580618B421ED0A1F589618B4217D088 +:1052600001F580618B4210D0A1F568718B4209D0A5 +:1052700001F580618B4202D14FF480211EE04FF096 +:1052800080711BE04FF4802118E04FF4802115E07D +:105290004FF4802112E04FF480710FE04FF48071E1 +:1052A0000CE04FF4807109E04FF4807106E088490A +:1052B00004E0874902E0864900E085490A4214BFBC +:1052C000012200221BE1834A934258D902F552720F +:1052D00012687E498B424CD001F580618B4246D0EA +:1052E000A1F568718B4240D001F580618B423AD0C4 +:1052F000A1F589618B4233D001F580618B422CD0BE +:10530000A1F568718B4225D001F580618B421ED0DA +:10531000A1F589618B4217D001F580618B4210D0D5 +:10532000A1F568718B4209D001F580618B4202D1F1 +:105330004FF480211EE04FF080711BE04FF480217C +:1053400018E04FF4802115E04FF4802112E04FF473 +:1053500080710FE04FF480710CE04FF4807109E030 +:105360004FF4807106E05A4904E0594902E0584977 +:1053700000E057490A4214BF01220022BFE0564A0A +:10538000934257D9583A526850498B424CD001F554 +:1053900080618B4246D0A1F568718B4240D001F507 +:1053A00080618B423AD0A1F589618B4233D001F5FF +:1053B00080618B422CD0A1F568718B4225D001F51C +:1053C00080618B421ED0A1F589618B4217D001F517 +:1053D00080618B4210D0A1F568718B4209D001F534 +:1053E00080618B4202D14FF480211EE04FF080712A +:1053F0001BE04FF4802118E04FF4802115E04FF4BA +:10540000802112E04FF480710FE04FF480710CE0C6 +:105410004FF4807109E04FF4807106E02C4904E0FC +:105420002B4902E02A4900E029490A4214BF01221F +:10543000002264E0234A126824498B425AD001F5C5 +:1054400080618B4254D0A1F568718B424ED001F53A +:1054500080618B4248D0A1F589618B4241D001F532 +:1054600080618B423AD0A1F568718B4225D001F55D +:1054700080618B421ED0A1F589618B4217D001F566 +:1054800080618B4210D0A1F568718B4209D001F583 +:1054900080618B4202D14FF480212CE04FF080716B +:1054A00029E04FF4802126E04FF4802123E04FF4DF +:1054B000802120E04FF480711DE04FF480711AE0EC +:1054C0000100800000600240586402401060024009 +:1054D00004008000B8600240586002404FF48071C0 +:1054E00009E04FF4807106E0B54904E0B44902E0F8 +:1054F000B34900E0B2490A4214BF01220022002A47 +:1055000000F07F811A6812F0020F00F07A811A68A9 +:1055100022F002021A602368AA4A934254D9A2F5E3 +:10552000896293424CD002F58062934246D0A2F544 +:105530006872934240D002F5806293423AD0A2F55D +:105540008962934233D002F5806293422CD0A2F557 +:105550006872934225D002F5806293421ED0A2F574 +:105560008962934217D002F58062934210D0A2F56F +:105570006872934209D002F58062934202D14FF4DF +:1055800080221EE04FF080721BE04FF4802218E072 +:105590004FF4802215E04FF4802212E04FF4807225 +:1055A0000FE04FF480720CE04FF4807209E04FF48A +:1055B000807206E0824A04E0814A02E0804A00E00C +:1055C0007F4A814BDA600EE1804A934253D9A83A70 +:1055D00093424CD002F58062934246D0A2F56872A5 +:1055E000934240D002F5806293423AD0A2F589629C +:1055F000934233D002F5806293422CD0A2F56872B8 +:10560000934225D002F5806293421ED0A2F58962B2 +:10561000934217D002F58062934210D0A2F56872CF +:10562000934209D002F58062934202D14FF4802266 +:105630001EE04FF080721BE04FF4802218E04FF420 +:10564000802215E04FF4802212E04FF480720FE0C8 +:105650004FF480720CE04FF4807209E04FF48072D6 +:1056600006E0574A04E0564A02E0554A00E0544A30 +:10567000554B9A60B7E0564A934253D9483A934201 +:105680004CD002F58062934246D0A2F568729342F4 +:1056900040D002F5806293423AD0A2F589629342EB +:1056A00033D002F5806293422CD0A2F56872934207 +:1056B00025D002F5806293421ED0A2F58962934202 +:1056C00017D002F58062934210D0A2F5687293421F +:1056D00009D002F58062934202D14FF480221EE08D +:1056E0004FF080721BE04FF4802218E04FF48022CC +:1056F00015E04FF4802212E04FF480720FE04FF477 +:1057000080720CE04FF4807209E04FF4807206E082 +:105710002B4A04E02A4A02E0294A00E0284A2D4B9D +:10572000DA6060E02C4A93425AD002F580629342DC +:1057300054D0A2F56872934240D002F58062934241 +:105740003AD0A2F58962934233D002F58062934247 +:105750002CD0A2F56872934225D002F58062934264 +:105760001ED0A2F58962934217D002F5806293425F +:1057700010D0A2F56872934209D002F5806293427C +:1057800002D14FF480222CE04FF0807229E04FF4D8 +:10579000802226E04FF4802223E04FF4802220E094 +:1057A0004FF480721DE04FF480721AE04FF4807263 +:1057B00017E04FF4807214E0014A12E0004A10E052 +:1057C000040080005864024000640240B860024057 +:1057D000586002400060024010600240B84A00E099 +:1057E000B74AB84B9A60E36C43F00403E3640423C4 +:1057F00084F83530002384F83430A36C0BB1204694 +:1058000098472368B04A934257D9583A5268AF49EB +:105810008B424CD001F580618B4246D0A1F5687176 +:105820008B4240D001F580618B423AD0A1F589616D +:105830008B4233D001F580618B422CD0A1F5687189 +:105840008B4225D001F580618B421ED0A1F5896184 +:105850008B4217D001F580618B4210D0A1F56871A1 +:105860008B4209D001F580618B4202D14FF4801147 +:105870001EE04FF080611BE04FF4801118E04FF400 +:10588000801115E04FF4801112E04FF480610FE0B9 +:105890004FF480610CE04FF4806109E04FF48061C7 +:1058A00006E0102104E0102102E0102100E01021A8 +:1058B0000A4214BF0122002219E1854A934258D9B5 +:1058C00002F55272126881498B424CD001F5806119 +:1058D0008B4246D0A1F568718B4240D001F58061C2 +:1058E0008B423AD0A1F589618B4233D001F58061BA +:1058F0008B422CD0A1F568718B4225D001F58061D7 +:105900008B421ED0A1F589618B4217D001F58061D1 +:105910008B4210D0A1F568718B4209D001F58061EE +:105920008B4202D14FF480111EE04FF080611BE0EA +:105930004FF4801118E04FF4801115E04FF48011FE +:1059400012E04FF480610FE04FF480610CE04FF4FF +:10595000806109E04FF4806106E0102104E010212D +:1059600002E0102100E010210A4214BF01220022AF +:10597000BDE0584A934257D9583A526853498B422E +:105980004CD001F580618B4246D0A1F568718B4205 +:1059900040D001F580618B423AD0A1F589618B42FC +:1059A00033D001F580618B422CD0A1F568718B4218 +:1059B00025D001F580618B421ED0A1F589618B4213 +:1059C00017D001F580618B4210D0A1F568718B4230 +:1059D00009D001F580618B4202D14FF480111EE0A5 +:1059E0004FF080611BE04FF4801118E04FF48011FC +:1059F00015E04FF4801112E04FF480610FE04FF496 +:105A000080610CE04FF4806109E04FF4806106E0B2 +:105A1000102104E0102102E0102100E010210A42D0 +:105A200014BF0122002262E0264A126827498B42F5 +:105A300058D001F580618B4252D0A1F568718B423C +:105A40004CD001F580618B4246D0A1F589618B4233 +:105A500033D001F580618B422CD0A1F568718B4267 +:105A600025D001F580618B421ED0A1F589618B4262 +:105A700017D001F580618B4210D0A1F568718B427F +:105A800009D001F580618B4202D14FF480112AE0E8 +:105A90004FF0806127E04FF4801124E04FF4801133 +:105AA00021E04FF480111EE04FF480611BE04FF4C1 +:105AB000806118E04FF4806115E04FF4806112E0DE +:105AC0000400800000600240586402401060024000 +:105AD000B860024058600240102104E0102102E04A +:105AE000102100E010210A4214BF01220022002AE6 +:105AF00000F0F8821A6812F0080F00F0F3821A68BA +:105B000012F4802F00F07881B54A934254D9A2F55F +:105B1000896293424CD002F58062934246D0A2F54E +:105B20006872934240D002F5806293423AD0A2F567 +:105B30008962934233D002F5806293422CD0A2F561 +:105B40006872934225D002F5806293421ED0A2F57E +:105B50008962934217D002F58062934210D0A2F579 +:105B60006872934209D002F58062934202D14FF4E9 +:105B700080121EE04FF080621BE04FF4801218E0AC +:105B80004FF4801215E04FF4801212E04FF480625F +:105B90000FE04FF480620CE04FF4806209E04FF4B4 +:105BA000806206E0102204E0102202E0102200E0F1 +:105BB00010228C4BDA6000E18B4A934253D9A83A09 +:105BC00093424CD002F58062934246D0A2F56872AF +:105BD000934240D002F5806293423AD0A2F58962A6 +:105BE000934233D002F5806293422CD0A2F56872C2 +:105BF000934225D002F5806293421ED0A2F58962BD +:105C0000934217D002F58062934210D0A2F56872D9 +:105C1000934209D002F58062934202D14FF4801280 +:105C20001EE04FF080621BE04FF4801218E04FF44A +:105C3000801215E04FF4801212E04FF480620FE002 +:105C40004FF480620CE04FF4806209E04FF4806210 +:105C500006E0102204E0102202E0102200E01022F0 +:105C6000604B9A60A9E0614A934253D9483A934203 +:105C70004CD002F58062934246D0A2F568729342FE +:105C800040D002F5806293423AD0A2F589629342F5 +:105C900033D002F5806293422CD0A2F56872934211 +:105CA00025D002F5806293421ED0A2F5896293420C +:105CB00017D002F58062934210D0A2F56872934229 +:105CC00009D002F58062934202D14FF480131EE0A6 +:105CD0004FF080631BE04FF4801318E04FF4801303 +:105CE00015E04FF4801312E04FF480630FE04FF49F +:105CF00080630CE04FF4806309E04FF4806306E0BA +:105D0000102304E0102302E0102300E01023384A9F +:105D1000D36052E0374A93424CD002F580629342FE +:105D200046D0A2F56872934240D002F58062934259 +:105D30003AD0A2F58962934233D002F58062934251 +:105D40002CD0A2F56872934225D002F5806293426E +:105D50001ED0A2F58962934217D002F58062934269 +:105D600010D0A2F56872934209D002F58062934286 +:105D700002D14FF480131EE04FF080631BE04FF41C +:105D8000801318E04FF4801315E04FF4801312E0F5 +:105D90004FF480630FE04FF480630CE04FF48063B6 +:105DA00009E04FF4806306E0102304E0102302E0D2 +:105DB000102300E010230E4A936023681A6812F43F +:105DC000002F03D1312384F8353087E11B6813F4A9 +:105DD000002F00F08381412384F835307EE100BF3D +:105DE0005864024000640240B860024058600240BB +:105DF00000600240106002401A6812F4807F03D1F4 +:105E00001A6822F008021A602368AB4A934254D9F8 +:105E1000A2F5896293424CD002F58062934246D04B +:105E2000A2F56872934240D002F5806293423AD064 +:105E3000A2F58962934233D002F5806293422CD05E +:105E4000A2F56872934225D002F5806293421ED07B +:105E5000A2F58962934217D002F58062934210D076 +:105E6000A2F56872934209D002F58062934202D192 +:105E70004FF480121EE04FF080621BE04FF480125E +:105E800018E04FF4801215E04FF4801212E04FF446 +:105E900080620FE04FF480620CE04FF4806209E012 +:105EA0004FF4806206E0102204E0102202E010228B +:105EB00000E01022814BDA600DE1814A934253D910 +:105EC000A83A93424CD002F58062934246D0A2F5A4 +:105ED0006872934240D002F5806293423AD0A2F5B4 +:105EE0008962934233D002F5806293422CD0A2F5AE +:105EF0006872934225D002F5806293421ED0A2F5CB +:105F00008962934217D002F58062934210D0A2F5C5 +:105F10006872934209D002F58062934202D14FF435 +:105F200080121EE04FF080621BE04FF4801218E0F8 +:105F30004FF4801215E04FF4801212E04FF48062AB +:105F40000FE04FF480620CE04FF4806209E04FF400 +:105F5000806206E0102204E0102202E0102200E03D +:105F60001022564B9A60B6E0564A934253D9483AAB +:105F700093424CD002F58062934246D0A2F56872FB +:105F8000934240D002F5806293423AD0A2F58962F2 +:105F9000934233D002F5806293422CD0A2F568720E +:105FA000934225D002F5806293421ED0A2F5896209 +:105FB000934217D002F58062934210D0A2F5687226 +:105FC000934209D002F58062934202D14FF48013CC +:105FD0001EE04FF080631BE04FF4801318E04FF495 +:105FE000801315E04FF4801312E04FF480630FE04C +:105FF0004FF480630CE04FF4806309E04FF480635A +:1060000006E0102304E0102302E0102300E0102338 +:106010002D4AD3605FE02D4A934259D002F5806249 +:10602000934246D0A2F56872934240D002F5806256 +:1060300093423AD0A2F58962934233D002F580624E +:1060400093422CD0A2F56872934225D002F580626B +:1060500093421ED0A2F58962934217D002F5806266 +:10606000934210D0A2F56872934209D002F5806283 +:10607000934202D14FF480132BE04FF0806328E06D +:106080004FF4801325E04FF4801322E04FF4801387 +:106090001FE04FF480631CE04FF4806319E04FF47D +:1060A000806316E04FF4806313E0102311E01023A7 +:1060B0000FE010230DE000BF58640240006402406E +:1060C000B860024058600240006002401060024028 +:1060D0001023B74A9360312384F83530236C0BB119 +:1060E000204698472368B34A934257D9583A526892 +:1060F000B1498B424CD001F580618B4246D0A1F56D +:1061000068718B4240D001F580618B423AD0A1F595 +:1061100089618B4233D001F580618B422CD0A1F58F +:1061200068718B4225D001F580618B421ED0A1F5AC +:1061300089618B4217D001F580618B4210D0A1F5A7 +:1061400068718B4209D001F580618B4202D14FF416 +:1061500000111EE04FF000611BE04FF4001118E049 +:106160004FF4001115E04FF4001112E04FF40061FC +:106170000FE04FF400610CE04FF4006109E04FF4D0 +:10618000006106E0202104E0202102E0202100E05F +:1061900020210A4214BF0122002218E1874A9342BB +:1061A00058D902F55272126883498B424CD001F5DE +:1061B00080618B4246D0A1F568718B4240D001F5D9 +:1061C00080618B423AD0A1F589618B4233D001F5D1 +:1061D00080618B422CD0A1F568718B4225D001F5EE +:1061E00080618B421ED0A1F589618B4217D001F5E9 +:1061F00080618B4210D0A1F568718B4209D001F506 +:1062000080618B4202D14FF400111EE04FF000611B +:106210001BE04FF4001118E04FF4001115E04FF4AB +:10622000001112E04FF400610FE04FF400610CE048 +:106230004FF4006109E04FF4006106E0202104E022 +:10624000202102E0202100E020210A4214BF012287 +:106250000022BCE05A4A934257D9583A52685649EC +:106260008B424CD001F580618B4246D0A1F568711C +:106270008B4240D001F580618B423AD0A1F5896113 +:106280008B4233D001F580618B422CD0A1F568712F +:106290008B4225D001F580618B421ED0A1F589612A +:1062A0008B4217D001F580618B4210D0A1F5687147 +:1062B0008B4209D001F580618B4202D14FF400116D +:1062C0001EE04FF000611BE04FF4001118E04FF4A6 +:1062D000001115E04FF4001112E04FF400610FE0DF +:1062E0004FF400610CE04FF4006109E04FF40061ED +:1062F00006E0202104E0202102E0202100E020210E +:106300000A4214BF0122002261E0294A12682A4988 +:106310008B4257D001F580618B4246D0A1F5687160 +:106320008B4240D001F580618B423AD0A1F5896162 +:106330008B4233D001F580618B422CD0A1F568717E +:106340008B4225D001F580618B421ED0A1F5896179 +:106350008B4217D001F580618B4210D0A1F5687196 +:106360008B4209D001F580618B4202D14FF40011BC +:1063700029E04FF0006126E04FF4001123E04FF4D4 +:10638000001120E04FF400111DE04FF400611AE00D +:106390004FF4006117E04FF4006114E04FF4006126 +:1063A00011E020210FE020210DE020210BE000BFB3 +:1063B000006002405864024010600240B860024031 +:1063C0005860024020210A4214BF01220022002A04 +:1063D00000F0F6821A6812F0100F00F0F1821A68CD +:1063E00012F4802F00F07E81B84A934254D9A2F56E +:1063F000896293424CD002F58062934246D0A2F566 +:106400006872934240D002F5806293423AD0A2F57E +:106410008962934233D002F5806293422CD0A2F578 +:106420006872934225D002F5806293421ED0A2F595 +:106430008962934217D002F58062934210D0A2F590 +:106440006872934209D002F58062934202D14FF400 +:1064500000121EE04FF000621BE04FF4001218E043 +:106460004FF4001215E04FF4001212E04FF40062F6 +:106470000FE04FF400620CE04FF4006209E04FF4CB +:10648000006206E0202204E0202202E0202200E058 +:1064900020228F4BDA6000E18E4A934253D9A83A0A +:1064A00093424CD002F58062934246D0A2F56872C6 +:1064B000934240D002F5806293423AD0A2F58962BD +:1064C000934233D002F5806293422CD0A2F56872D9 +:1064D000934225D002F5806293421ED0A2F58962D4 +:1064E000934217D002F58062934210D0A2F56872F1 +:1064F000934209D002F58062934202D14FF4001218 +:106500001EE04FF000621BE04FF4001218E04FF461 +:10651000001215E04FF4001212E04FF400620FE099 +:106520004FF400620CE04FF4006209E04FF40062A7 +:1065300006E0202204E0202202E0202200E02022C7 +:10654000634B9A60A9E0644A934253D9483A934214 +:106550004CD002F58062934246D0A2F56872934215 +:1065600040D002F5806293423AD0A2F5896293420C +:1065700033D002F5806293422CD0A2F56872934228 +:1065800025D002F5806293421ED0A2F58962934223 +:1065900017D002F58062934210D0A2F56872934240 +:1065A00009D002F58062934202D14FF400131EE03D +:1065B0004FF000631BE04FF4001318E04FF400139A +:1065C00015E04FF4001312E04FF400630FE04FF4B6 +:1065D00000630CE04FF4006309E04FF4006306E051 +:1065E000202304E0202302E0202300E020233B4A74 +:1065F000D36052E03A4A93424CD002F58062934213 +:1066000046D0A2F56872934240D002F58062934270 +:106610003AD0A2F58962934233D002F58062934268 +:106620002CD0A2F56872934225D002F58062934285 +:106630001ED0A2F58962934217D002F58062934280 +:1066400010D0A2F56872934209D002F5806293429D +:1066500002D14FF400131EE04FF000631BE04FF433 +:10666000001318E04FF4001315E04FF4001312E08C +:106670004FF400630FE04FF400630CE04FF400634D +:1066800009E04FF4006306E0202304E0202302E049 +:10669000202300E02023114A936023681A6812F433 +:1066A000002F06D1636C002B00F08A8120469847AA +:1066B00010BD1B6813F4002F00F08281E36B002BE8 +:1066C00000F07E812046984710BD00BF586402400C +:1066D00000640240B860024058600240006002401E +:1066E000106002401A6812F4807F03D11A6822F009 +:1066F00010021A602368B34A934254D9A2F5896202 +:1067000093424CD002F58062934246D0A2F5687263 +:10671000934240D002F5806293423AD0A2F589625A +:10672000934233D002F5806293422CD0A2F5687276 +:10673000934225D002F5806293421ED0A2F5896271 +:10674000934217D002F58062934210D0A2F568728E +:10675000934209D002F58062934202D14FF40012B5 +:106760001EE04FF000621BE04FF4001218E04FF4FF +:10677000001215E04FF4001212E04FF400620FE037 +:106780004FF400620CE04FF4006209E04FF4006245 +:1067900006E0202204E0202202E0202200E0202265 +:1067A000894BDA6000E1894A934253D9A83A93426F +:1067B0004CD002F58062934246D0A2F568729342B3 +:1067C00040D002F5806293423AD0A2F589629342AA +:1067D00033D002F5806293422CD0A2F568729342C6 +:1067E00025D002F5806293421ED0A2F589629342C1 +:1067F00017D002F58062934210D0A2F568729342DE +:1068000009D002F58062934202D14FF400121EE0DB +:106810004FF000621BE04FF4001218E04FF400123A +:1068200015E04FF4001212E04FF400620FE04FF455 +:1068300000620CE04FF4006209E04FF4006206E0F1 +:10684000202204E0202202E0202200E020225E4BF1 +:106850009A60A9E05E4A934253D9483A93424CD099 +:1068600002F58062934246D0A2F56872934240D00E +:1068700002F5806293423AD0A2F58962934233D006 +:1068800002F5806293422CD0A2F56872934225D023 +:1068900002F5806293421ED0A2F58962934217D01E +:1068A00002F58062934210D0A2F56872934209D03B +:1068B00002F58062934202D14FF400131EE04FF0C4 +:1068C00000631BE04FF4001318E04FF4001315E0D1 +:1068D0004FF4001312E04FF400630FE04FF4006335 +:1068E0000CE04FF4006309E04FF4006306E020235E +:1068F00004E0202302E0202300E02023354AD36077 +:1069000052E0354A93424CD002F58062934246D021 +:10691000A2F56872934240D002F5806293423AD069 +:10692000A2F58962934233D002F5806293422CD063 +:10693000A2F56872934225D002F5806293421ED080 +:10694000A2F58962934217D002F58062934210D07B +:10695000A2F56872934209D002F58062934202D197 +:106960004FF400131EE04FF000631BE04FF40013E0 +:1069700018E04FF4001315E04FF4001312E04FF449 +:1069800000630FE04FF400630CE04FF4006309E094 +:106990004FF4006306E0202304E0202302E02023DC +:1069A00000E020230B4A9360E36CE364112384F836 +:1069B0003530002384F83430E36B0BB12046984720 +:1069C00010BD00BF5864024000640240B86002403D +:1069D00058600240006002401060024000F0070072 +:1069E000064AD36823F4E0631B041B0C43EA00202F +:1069F00040F0BF6040F40030D060704700ED00E030 +:106A000030B4164BDC68C4F30224C4F10705042D2E +:106A100028BF0425231D062B01D9033C00E00024D8 +:106A2000012303FA05F5013D2940A140A340013BA4 +:106A30001A400A43002806DA00F00F001201D2B211 +:106A4000074B1A5407E01201D2B200F1604000F582 +:106A5000614080F8002330BC704700BF00ED00E0CB +:106A600014ED00E0410900F01F0001238340024AB9 +:106A700042F82130704700BF00E100E00138B0F17A +:106A8000807F06D2044B58600020986007221A606D +:106A900070470120704700BF10E000E008B5FCF728 +:106AA000CDFF044BA3FB00308009FFF7E7FF002078 +:106AB00008BD00BFD34D621008B50B4B1A6842F4F5 +:106AC00000721A601A6842F480621A601A6842F40E +:106AD00080721A600320FFF781FF0020FFF7DEFFBE +:106AE000F9F7DCFD002008BD003C0240024A1368B3 +:106AF00001331360704700BF4C010020014B186840 +:106B0000704700BF4C01002010B582B00190FFF724 +:106B1000F5FF0446FFF7F2FF001B019B9842F9D3F3 +:106B200002B010BD0C4B1A6842F001021A6000213D +:106B300099601A6822F0847222F480321A60074A3F +:106B40005A601A6822F480221A60D9604FF00062FD +:106B5000034B9A60704700BF003802401030002499 +:106B600000ED00E0DFF830D0002103E00B4B5B5874 +:106B7000435004310A480B4B42189A42F6D30A4A52 +:106B800002E0002342F8043B084B9A42F9D3FFF796 +:106B9000C9FFF9F731FD704700C00120E66D00081C +:106BA000000000204401002048010020A00E002029 +:106BB000FEE70000024B0146186800F04FB800BF26 +:106BC00040010020024B0146186800F003B800BFE6 +:106BD0004001002030B500293CD051F8042C0B1F97 +:106BE0001D49002AB8BF9B180A680C4612B95A60A2 +:106BF0000B6030BD93420DD219685818904201BF06 +:106C00005A5852181A60426823605A6030BD99423F +:106C100003D80A4651680029F9D1146815199D4214 +:106C20000AD11B682344D0188842136012D1086827 +:106C3000034413604B680CE002D90C23036030BDA1 +:106C40001C681819884201BF086849680019186053 +:106C50005960536030BD00BF5401002070B5CC1C9A +:106C600024F0030408340C2C38BF0C24002C0646F6 +:106C700003DA0C233360002070BD8C42F9D3204A24 +:106C8000136810461946A1B10A68121B0ED40B2ACC +:106C900003D90A608B188C501FE08B420BBF5A68D7 +:106CA0004A6802605A6018BF0B4616E00B464968F6 +:106CB000E9E7144D2B681BB9304600F025F8286031 +:106CC0003046214600F020F8421C0346D1D0C51CB6 +:106CD00025F0030585420AD11C6003F10B001A1D43 +:106CE00020F00700821A0AD05142995070BD3046F8 +:106CF000E91A00F009F80130BBD02B46ECE770BD73 +:106D0000540100205001002038B5064C00230546F0 +:106D10000846236000F008F8431C02D1236803B141 +:106D20002B6038BD9C0E0020044A05491368002BD7 +:106D300008BF0B46184410601846704758010020E1 +:106D4000A00E002053544D3332204D6173732053F5 +:106D5000746F72616765000053544D6963726F65AB +:106D60006C656374726F6E6963730000303030302D +:106D70003030303030303141000000004D5343207E +:106D8000436F6E66696700004D534320496E74651A +:106D90007266616365000000008002021F0000004F +:106DA00053544D202020202050726F64756374204E +:106DB0002020202020202020302E30310000000311 +:106DC00000808300000600000000000000000000BA +:106DD000000000000000000001020304010203049F +:066DE0000607080943004C +:106DE6008901000895010008BD010008A1010008FD +:106DF600D9010008F501000811020008040309047E +:106E0600120100020000004083042A57000201021A +:106E16000301000009072000010104C03209040033 +:106E2600000208065005070581024000000705011B +:106E3600024000000A0600020000004001000000B7 +:106E460009022000010104C0FA0904000002080634 +:106E56005005070581020002000705010200020035 +:106E6600212200087D220008A92200080000000057 +:106E760000000000A5230008B12300080000000060 +:106E86000000000000000000BD230008F1210008FA +:106E9600FD21000809220008152200080902200029 +:106EA600010104C032090400000208065005070566 +:106EB6008102400000070501024000000024F400A2 +:106EC60000000000000000000000000000000000BC +:106ED60000000000000000000000000000000000AC +:106EE600E46D000800000000000000000000000043 +:106EF600000000000000000000000000000000008C +:106F0600000000000000000000000000000000007B +:106F1600000000000000000000000000000000006B +:046F2600E000002067 +:0400000508006B651F :00000001FF diff --git a/Upstream/Debug/Upstream.map b/Upstream/Debug/Upstream.map index f778da9..7590deb 100644 --- a/Upstream/Debug/Upstream.map +++ b/Upstream/Debug/Upstream.map @@ -19,22 +19,23 @@ Allocating common symbols Common symbol size file hUsbDeviceFS 0x224 Src/usb_device.o -ReadStreamPacket 0x4 Src/downstream_interface_msc.o +ReadStreamPacket 0x4 Src/downstream_interface_msc_mock.o SCSI_ProcessCmd_hmsc 0x4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o -BlockStart 0x8 Src/downstream_interface_msc.o +BlockStart 0x8 Src/downstream_interface_msc_mock.o SCSI_ProcessCmd_params 0x4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o errno 0x4 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-reent.o) hpcd_USB_OTG_FS 0x3b0 Src/usbd_config.o spiRxDmaHandle 0x50 Src/hal_msp.o +ReadStreamBusy 0x1 Src/downstream_interface_msc_mock.o SentCommand 0x1 Src/downstream_spi.o GetCapacityCallback - 0x4 Src/downstream_interface_msc.o + 0x4 Src/downstream_interface_msc_mock.o DownstreamInterfaceState 0x1 Src/downstream_spi.o -BlockCount 0x4 Src/downstream_interface_msc.o -TestReadyCallback 0x4 Src/downstream_interface_msc.o +BlockCount 0x4 Src/downstream_interface_msc_mock.o +TestReadyCallback 0x4 Src/downstream_interface_msc_mock.o SCSI_ProcessCmd_lun 0x1 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o DownstreamPacket1 0x20c Src/downstream_spi.o @@ -49,11 +50,11 @@ CurrentWorkingPacket 0x4 Src/downstream_spi.o MSC_BOT_pdev 0x4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o GetStreamDataCallback - 0x4 Src/downstream_interface_msc.o + 0x4 Src/downstream_interface_msc_mock.o SentCommandClass 0x1 Src/downstream_spi.o MSC_BOT_hmsc 0x4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o NextTxPacket 0x4 Src/downstream_spi.o -ByteCount 0x4 Src/downstream_interface_msc.o +ByteCount 0x4 Src/downstream_interface_msc_mock.o hspi1 0x58 Src/downstream_spi.o spiTxDmaHandle 0x50 Src/hal_msp.o PendingFreePacketCallback @@ -383,7 +384,7 @@ Discarded input sections .debug_macro 0x00000000 0x1b6 Src/usb_device.o .debug_macro 0x00000000 0x82 Src/usb_device.o .debug_macro 0x00000000 0x160 Src/usb_device.o - .debug_macro 0x00000000 0x28 Src/usb_device.o + .debug_macro 0x00000000 0x22 Src/usb_device.o .debug_macro 0x00000000 0x34 Src/usb_device.o .group 0x00000000 0x8 Src/main.o .group 0x00000000 0x8 Src/main.o @@ -506,8 +507,34 @@ Discarded input sections .debug_macro 0x00000000 0x1df Src/main.o .debug_macro 0x00000000 0x109 Src/main.o .debug_macro 0x00000000 0x125 Src/main.o - .debug_macro 0x00000000 0x6a Src/main.o .debug_macro 0x00000000 0x1b6 Src/main.o + .debug_macro 0x00000000 0x6a Src/main.o + .debug_macro 0x00000000 0x22 Src/main.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o + .group 0x00000000 0x8 Src/interrupts.o .group 0x00000000 0x8 Src/interrupts.o .group 0x00000000 0x8 Src/interrupts.o .group 0x00000000 0x8 Src/interrupts.o @@ -584,7 +611,32 @@ Discarded input sections .debug_macro 0x00000000 0x1df Src/interrupts.o .debug_macro 0x00000000 0x109 Src/interrupts.o .debug_macro 0x00000000 0x125 Src/interrupts.o - .debug_macro 0x00000000 0x82 Src/interrupts.o + .debug_macro 0x00000000 0x9a Src/interrupts.o + .debug_macro 0x00000000 0x58 Src/interrupts.o + .debug_macro 0x00000000 0x35 Src/interrupts.o + .debug_macro 0x00000000 0x9c Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x97 Src/interrupts.o + .debug_macro 0x00000000 0x27a Src/interrupts.o + .debug_macro 0x00000000 0xf6 Src/interrupts.o + .debug_macro 0x00000000 0x10 Src/interrupts.o + .debug_macro 0x00000000 0x52 Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x43 Src/interrupts.o + .debug_macro 0x00000000 0x180 Src/interrupts.o + .debug_macro 0x00000000 0x10 Src/interrupts.o + .debug_macro 0x00000000 0x22 Src/interrupts.o + .debug_macro 0x00000000 0xbd Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x16d Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x35 Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x29 Src/interrupts.o + .debug_macro 0x00000000 0x16 Src/interrupts.o + .debug_macro 0x00000000 0x1b6 Src/interrupts.o + .debug_macro 0x00000000 0x6a Src/interrupts.o + .debug_macro 0x00000000 0x22 Src/interrupts.o .group 0x00000000 0x8 Src/hal_msp.o .group 0x00000000 0x8 Src/hal_msp.o .group 0x00000000 0x8 Src/hal_msp.o @@ -663,7 +715,7 @@ Discarded input sections .debug_macro 0x00000000 0x109 Src/hal_msp.o .debug_macro 0x00000000 0x125 Src/hal_msp.o .debug_macro 0x00000000 0x1c Src/hal_msp.o - .debug_macro 0x00000000 0x82 Src/hal_msp.o + .debug_macro 0x00000000 0x9a Src/hal_msp.o .group 0x00000000 0x8 Src/downstream_spi.o .group 0x00000000 0x8 Src/downstream_spi.o .group 0x00000000 0x8 Src/downstream_spi.o @@ -729,6 +781,8 @@ Discarded input sections .text 0x00000000 0x0 Src/downstream_spi.o .data 0x00000000 0x0 Src/downstream_spi.o .bss 0x00000000 0x0 Src/downstream_spi.o + .text.Downstream_GetPacket + 0x00000000 0x18 Src/downstream_spi.o .debug_macro 0x00000000 0x868 Src/downstream_spi.o .debug_macro 0x00000000 0x58 Src/downstream_spi.o .debug_macro 0x00000000 0x22 Src/downstream_spi.o @@ -786,135 +840,135 @@ Discarded input sections .debug_macro 0x00000000 0x1df Src/downstream_spi.o .debug_macro 0x00000000 0x109 Src/downstream_spi.o .debug_macro 0x00000000 0x125 Src/downstream_spi.o - .debug_macro 0x00000000 0x6a Src/downstream_spi.o .debug_macro 0x00000000 0x1b6 Src/downstream_spi.o + .debug_macro 0x00000000 0x6a Src/downstream_spi.o .debug_macro 0x00000000 0x22 Src/downstream_spi.o - .debug_macro 0x00000000 0x82 Src/downstream_spi.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .group 0x00000000 0x8 Src/downstream_interface_msc.o - .text 0x00000000 0x0 Src/downstream_interface_msc.o - .data 0x00000000 0x0 Src/downstream_interface_msc.o - .bss 0x00000000 0x0 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x868 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1a7 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x2e Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x28 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x3b Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x22 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x44 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1c Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1f7 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x2d Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x26 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0xd39 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x8861 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x43 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x2694 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x64 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0xa22 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x39f Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x15b Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x11e Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x130 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x27 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x272 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x5f Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x5d Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x133 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x217 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x2e Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x13a Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x5e Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x97 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x209 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1df Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x109 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x125 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x58 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x35 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x9c Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x97 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x27a Src/downstream_interface_msc.o - .debug_macro 0x00000000 0xf6 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x10 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x52 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x43 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x180 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x10 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x22 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0xbd Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16d Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x35 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x29 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x16 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x6a Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1b6 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x22 Src/downstream_interface_msc.o - .debug_macro 0x00000000 0x1c Src/downstream_interface_msc.o + .debug_macro 0x00000000 0x9a Src/downstream_spi.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .group 0x00000000 0x8 Src/downstream_interface_msc_mock.o + .text 0x00000000 0x0 Src/downstream_interface_msc_mock.o + .data 0x00000000 0x0 Src/downstream_interface_msc_mock.o + .bss 0x00000000 0x0 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x868 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1a7 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x2e Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x28 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x3b Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x22 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x44 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1c Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1f7 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x2d Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x26 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0xd39 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x8861 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x43 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x2694 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x64 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0xa22 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x39f Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x15b Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x11e Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x130 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x27 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x272 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x5f Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x5d Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x133 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x217 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x2e Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x13a Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x5e Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x97 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x209 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1df Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x109 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x125 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x58 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x35 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x9c Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x97 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x27a Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0xf6 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x10 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x52 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x43 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x180 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x10 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x22 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0xbd Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16d Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x35 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x29 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x16 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1b6 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x6a Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x22 Src/downstream_interface_msc_mock.o + .debug_macro 0x00000000 0x1c Src/downstream_interface_msc_mock.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o @@ -1416,7 +1470,7 @@ Discarded input sections .debug_macro 0x00000000 0x1b6 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .debug_macro 0x00000000 0x6a Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .debug_macro 0x00000000 0x160 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_macro 0x00000000 0x28 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_macro 0x00000000 0x22 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .debug_macro 0x00000000 0x34 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .debug_macro 0x00000000 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o @@ -1668,7 +1722,7 @@ Discarded input sections .debug_macro 0x00000000 0x6a Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o .debug_macro 0x00000000 0x7c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o .debug_macro 0x00000000 0x160 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_macro 0x00000000 0x28 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_macro 0x00000000 0x22 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o .debug_macro 0x00000000 0x34 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .group 0x00000000 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o @@ -1798,7 +1852,7 @@ Discarded input sections .debug_macro 0x00000000 0x6a Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .debug_macro 0x00000000 0x7c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .debug_macro 0x00000000 0x160 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_macro 0x00000000 0x28 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_macro 0x00000000 0x22 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .debug_macro 0x00000000 0x34 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .debug_macro 0x00000000 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .group 0x00000000 0x8 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o @@ -2850,7 +2904,7 @@ LOAD Src/main.o LOAD Src/interrupts.o LOAD Src/hal_msp.o LOAD Src/downstream_spi.o -LOAD Src/downstream_interface_msc.o +LOAD Src/downstream_interface_msc_mock.o LOAD Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o LOAD Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o LOAD Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o @@ -2886,7 +2940,7 @@ LOAD /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/ LOAD /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a END GROUP -.text 0x08000000 0x6df6 +.text 0x08000000 0x6de6 *(.vectors) .vectors 0x08000000 0x188 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o 0x08000000 __Vectors @@ -2994,241 +3048,238 @@ END GROUP 0x08000494 0x2c Src/usb_device.o 0x08000494 USB_Device_Init .text.GPIO_Init - 0x080004c0 0xa4 Src/main.o + 0x080004c0 0xc0 Src/main.o .text.SystemClock_Config - 0x08000564 0x78 Src/main.o - 0x08000564 SystemClock_Config - .text.main 0x080005dc 0x18 Src/main.o - 0x080005dc main + 0x08000580 0x78 Src/main.o + 0x08000580 SystemClock_Config + .text.main 0x080005f8 0x18 Src/main.o + 0x080005f8 main .text.SysTick_Handler - 0x080005f4 0x8 Src/interrupts.o - 0x080005f4 SysTick_Handler + 0x08000610 0x8 Src/interrupts.o + 0x08000610 SysTick_Handler .text.OTG_FS_IRQHandler - 0x080005fc 0x20 Src/interrupts.o - 0x080005fc OTG_FS_IRQHandler + 0x08000618 0x20 Src/interrupts.o + 0x08000618 OTG_FS_IRQHandler .text.DMA2_Stream2_IRQHandler - 0x0800061c 0x10 Src/interrupts.o - 0x0800061c DMA2_Stream2_IRQHandler + 0x08000638 0x20 Src/interrupts.o + 0x08000638 DMA2_Stream2_IRQHandler .text.DMA2_Stream3_IRQHandler - 0x0800062c 0x10 Src/interrupts.o - 0x0800062c DMA2_Stream3_IRQHandler + 0x08000658 0x20 Src/interrupts.o + 0x08000658 DMA2_Stream3_IRQHandler .text.EXTI3_IRQHandler - 0x0800063c 0x14 Src/interrupts.o - 0x0800063c EXTI3_IRQHandler + 0x08000678 0x24 Src/interrupts.o + 0x08000678 EXTI3_IRQHandler .text.HAL_MspInit - 0x08000650 0x10 Src/hal_msp.o - 0x08000650 HAL_MspInit + 0x0800069c 0x10 Src/hal_msp.o + 0x0800069c HAL_MspInit .text.HAL_SPI_MspInit - 0x08000660 0x118 Src/hal_msp.o - 0x08000660 HAL_SPI_MspInit + 0x080006ac 0x120 Src/hal_msp.o + 0x080006ac HAL_SPI_MspInit .text.SPI1_Init - 0x08000778 0x44 Src/downstream_spi.o + 0x080007cc 0x44 Src/downstream_spi.o .text.Downstream_BeginPacketReception - 0x080007bc 0x44 Src/downstream_spi.o + 0x08000810 0x44 Src/downstream_spi.o .text.Downstream_InitInterface - 0x08000800 0x50 Src/downstream_spi.o - 0x08000800 Downstream_InitInterface + 0x08000854 0x50 Src/downstream_spi.o + 0x08000854 Downstream_InitInterface .text.Downstream_GetFreePacket - 0x08000850 0x54 Src/downstream_spi.o - 0x08000850 Downstream_GetFreePacket + 0x080008a4 0x54 Src/downstream_spi.o + 0x080008a4 Downstream_GetFreePacket .text.Downstream_CheckBeginPacketReception - 0x080008a4 0x44 Src/downstream_spi.o + 0x080008f8 0x44 Src/downstream_spi.o .text.Downstream_GetFreePacketImmediately - 0x080008e8 0x38 Src/downstream_spi.o - 0x080008e8 Downstream_GetFreePacketImmediately + 0x0800093c 0x38 Src/downstream_spi.o + 0x0800093c Downstream_GetFreePacketImmediately .text.Downstream_ReleasePacket - 0x08000920 0x1c Src/downstream_spi.o - 0x08000920 Downstream_ReleasePacket - .text.Downstream_GetPacket - 0x0800093c 0x18 Src/downstream_spi.o - 0x0800093c Downstream_GetPacket + 0x08000974 0x1c Src/downstream_spi.o + 0x08000974 Downstream_ReleasePacket .text.Downstream_TxOkInterrupt - 0x08000954 0x9c Src/downstream_spi.o - 0x08000954 Downstream_TxOkInterrupt + 0x08000990 0x9c Src/downstream_spi.o + 0x08000990 Downstream_TxOkInterrupt .text.Downstream_SendPacket - 0x080009f0 0xa4 Src/downstream_spi.o - 0x080009f0 Downstream_SendPacket + 0x08000a2c 0xa4 Src/downstream_spi.o + 0x08000a2c Downstream_SendPacket .text.HAL_SPI_TxCpltCallback - 0x08000a94 0x9c Src/downstream_spi.o - 0x08000a94 HAL_SPI_TxCpltCallback + 0x08000ad0 0x88 Src/downstream_spi.o + 0x08000ad0 HAL_SPI_TxCpltCallback .text.HAL_SPI_RxCpltCallback - 0x08000b30 0x94 Src/downstream_spi.o - 0x08000b30 HAL_SPI_RxCpltCallback + 0x08000b58 0x94 Src/downstream_spi.o + 0x08000b58 HAL_SPI_RxCpltCallback .text.HAL_SPI_ErrorCallback - 0x08000bc4 0x4 Src/downstream_spi.o - 0x08000bc4 HAL_SPI_ErrorCallback + 0x08000bec 0x4 Src/downstream_spi.o + 0x08000bec HAL_SPI_ErrorCallback .text.DownstreamInterface_GetCapacityReplyCallback - 0x08000bc8 0x3c Src/downstream_interface_msc.o - .text.DownstreamInterface_GetStreamDataPacketCallback - 0x08000c04 0x48 Src/downstream_interface_msc.o + 0x08000bf0 0x2c Src/downstream_interface_msc_mock.o .text.DownstreamInterface_TestReadyReplyCallback - 0x08000c4c 0x34 Src/downstream_interface_msc.o + 0x08000c1c 0x14 Src/downstream_interface_msc_mock.o .text.DownstreamInterface_BeginWriteReplyCallback - 0x08000c80 0x40 Src/downstream_interface_msc.o + 0x08000c30 0x18 Src/downstream_interface_msc_mock.o .text.DownstreamInterface_TestReady - 0x08000cc0 0x30 Src/downstream_interface_msc.o - 0x08000cc0 DownstreamInterface_TestReady + 0x08000c48 0x30 Src/downstream_interface_msc_mock.o + 0x08000c48 DownstreamInterface_TestReady .text.DownstreamInterface_GetCapacity - 0x08000cf0 0x2c Src/downstream_interface_msc.o - 0x08000cf0 DownstreamInterface_GetCapacity + 0x08000c78 0x2c Src/downstream_interface_msc_mock.o + 0x08000c78 DownstreamInterface_GetCapacity .text.DownstreamInterface_BeginRead - 0x08000d1c 0x68 Src/downstream_interface_msc.o - 0x08000d1c DownstreamInterface_BeginRead + 0x08000ca4 0x70 Src/downstream_interface_msc_mock.o + 0x08000ca4 DownstreamInterface_BeginRead .text.DownstreamInterface_GetStreamDataPacket - 0x08000d84 0x30 Src/downstream_interface_msc.o - 0x08000d84 DownstreamInterface_GetStreamDataPacket + 0x08000d14 0x44 Src/downstream_interface_msc_mock.o + 0x08000d14 DownstreamInterface_GetStreamDataPacket + .text.DownstreamInterface_GetStreamDataPacketCallback + 0x08000d58 0x54 Src/downstream_interface_msc_mock.o .text.DownstreamInterface_BeginWrite - 0x08000db4 0x54 Src/downstream_interface_msc.o - 0x08000db4 DownstreamInterface_BeginWrite + 0x08000dac 0x54 Src/downstream_interface_msc_mock.o + 0x08000dac DownstreamInterface_BeginWrite .text.DownstreamInterface_PutStreamDataPacket - 0x08000e08 0x14 Src/downstream_interface_msc.o - 0x08000e08 DownstreamInterface_PutStreamDataPacket + 0x08000e00 0x14 Src/downstream_interface_msc_mock.o + 0x08000e00 DownstreamInterface_PutStreamDataPacket .text.USBD_CtlSendData - 0x08000e1c 0x1c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08000e1c USBD_CtlSendData + 0x08000e14 0x1c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08000e14 USBD_CtlSendData .text.USBD_CtlContinueSendData - 0x08000e38 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08000e38 USBD_CtlContinueSendData + 0x08000e30 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08000e30 USBD_CtlContinueSendData .text.USBD_CtlContinueRx - 0x08000e4c 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08000e4c USBD_CtlContinueRx + 0x08000e44 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08000e44 USBD_CtlContinueRx .text.USBD_CtlSendStatus - 0x08000e60 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08000e60 USBD_CtlSendStatus + 0x08000e58 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08000e58 USBD_CtlSendStatus .text.USBD_CtlReceiveStatus - 0x08000e78 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08000e78 USBD_CtlReceiveStatus + 0x08000e70 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08000e70 USBD_CtlReceiveStatus .text.USBD_GetLen - 0x08000e90 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08000e88 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetFeature - 0x08000ea4 0x20 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08000e9c 0x20 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_ParseSetupRequest - 0x08000ec4 0x28 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08000ec4 USBD_ParseSetupRequest + 0x08000ebc 0x28 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08000ebc USBD_ParseSetupRequest .text.USBD_CtlError - 0x08000eec 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08000eec USBD_CtlError + 0x08000ee4 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08000ee4 USBD_CtlError .text.USBD_GetDescriptor - 0x08000f00 0x144 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08000ef8 0x144 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetAddress - 0x08001044 0x4c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x0800103c 0x4c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetConfig - 0x08001090 0xa8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001088 0xa8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_GetConfig - 0x08001138 0x40 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001130 0x40 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_GetStatus - 0x08001178 0x30 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001170 0x30 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_ClrFeature - 0x080011a8 0x30 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x080011a0 0x30 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_StdDevReq - 0x080011d8 0x48 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x080011d8 USBD_StdDevReq + 0x080011d0 0x48 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x080011d0 USBD_StdDevReq .text.USBD_StdItfReq - 0x08001220 0x38 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08001220 USBD_StdItfReq + 0x08001218 0x38 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001218 USBD_StdItfReq .text.USBD_StdEPReq - 0x08001258 0x108 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08001258 USBD_StdEPReq + 0x08001250 0x108 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001250 USBD_StdEPReq .text.USBD_GetString - 0x08001360 0x3c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08001360 USBD_GetString + 0x08001358 0x3c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08001358 USBD_GetString .text.USBD_Init - 0x0800139c 0x28 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x0800139c USBD_Init + 0x08001394 0x2c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001394 USBD_Init .text.USBD_RegisterClass - 0x080013c4 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080013c4 USBD_RegisterClass + 0x080013c0 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080013c0 USBD_RegisterClass .text.USBD_Start - 0x080013d4 0xc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080013d4 USBD_Start + 0x080013d0 0xc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080013d0 USBD_Start .text.USBD_SetClassConfig - 0x080013e0 0x1c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080013e0 USBD_SetClassConfig + 0x080013dc 0x1c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080013dc USBD_SetClassConfig .text.USBD_ClrClassConfig - 0x080013fc 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080013fc USBD_ClrClassConfig + 0x080013f8 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080013f8 USBD_ClrClassConfig .text.USBD_SetupStage - 0x0800140c 0x5c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x0800140c USBD_SetupStage + 0x08001408 0x5c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001408 USBD_SetupStage .text.USBD_DataOutStage - 0x08001468 0x60 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08001468 USBD_DataOutStage + 0x08001464 0x60 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001464 USBD_DataOutStage .text.USBD_DataInStage - 0x080014c8 0x8c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080014c8 USBD_DataInStage + 0x080014c4 0x8c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080014c4 USBD_DataInStage .text.USBD_Reset - 0x08001554 0x40 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08001554 USBD_Reset + 0x08001550 0x40 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001550 USBD_Reset .text.USBD_SetSpeed - 0x08001594 0x8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08001594 USBD_SetSpeed + 0x08001590 0x8 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001590 USBD_SetSpeed .text.USBD_Suspend - 0x0800159c 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x0800159c USBD_Suspend + 0x08001598 0x14 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08001598 USBD_Suspend .text.USBD_Resume - 0x080015b0 0xc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015b0 USBD_Resume + 0x080015ac 0xc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015ac USBD_Resume .text.USBD_SOF - 0x080015bc 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015bc USBD_SOF + 0x080015b8 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015b8 USBD_SOF .text.USBD_IsoINIncomplete - 0x080015d4 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015d4 USBD_IsoINIncomplete + 0x080015d0 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015d0 USBD_IsoINIncomplete .text.USBD_IsoOUTIncomplete - 0x080015d8 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015d8 USBD_IsoOUTIncomplete + 0x080015d4 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015d4 USBD_IsoOUTIncomplete .text.USBD_DevConnected - 0x080015dc 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015dc USBD_DevConnected + 0x080015d8 0x4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015d8 USBD_DevConnected .text.USBD_DevDisconnected - 0x080015e0 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015e0 USBD_DevDisconnected + 0x080015dc 0x18 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015dc USBD_DevDisconnected .text.USBD_BufferFreed - 0x080015f8 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080015f8 USBD_BufferFreed + 0x080015f4 0x10 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080015f4 USBD_BufferFreed .text.SCSI_StartStopUnit - 0x08001608 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001604 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_RequestSense - 0x08001624 0xb4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001620 0xb4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_Inquiry - 0x080016d8 0x6c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x080016d4 0x6c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_ModeSense6 - 0x08001744 0x40 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001740 0x40 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_ModeSense10 - 0x08001784 0x40 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001780 0x40 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_Write10FreePacketCallback - 0x080017c4 0x3c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x080017c4 SCSI_Write10FreePacketCallback + 0x080017c0 0x3c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x080017c0 SCSI_Write10FreePacketCallback .text.SCSI_SenseCode - 0x08001800 0x30 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x08001800 SCSI_SenseCode + 0x080017fc 0x30 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x080017fc SCSI_SenseCode .text.SCSI_CheckAddressRange - 0x08001830 0x34 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x0800182c 0x34 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_Verify10 - 0x08001864 0x6c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001860 0x6c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_TestUnitReadyCallback - 0x080018d0 0x48 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x080018d0 SCSI_TestUnitReadyCallback + 0x080018cc 0x48 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x080018cc SCSI_TestUnitReadyCallback .text.SCSI_TestUnitReady - 0x08001918 0x58 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001914 0x58 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_ReadCapacity10Callback - 0x08001970 0x9c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x08001970 SCSI_ReadCapacity10Callback + 0x0800196c 0x9c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x0800196c SCSI_ReadCapacity10Callback .text.SCSI_ReadCapacity10 - 0x08001a0c 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001a08 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_ReadFormatCapacityCallback - 0x08001a28 0xa4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x08001a28 SCSI_ReadFormatCapacityCallback + 0x08001a24 0xa4 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001a24 SCSI_ReadFormatCapacityCallback .text.SCSI_ReadFormatCapacity - 0x08001acc 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001ac8 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .text.SCSI_Read10ReplyCallback + 0x08001ae4 0x6c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001ae4 SCSI_Read10ReplyCallback .text.SCSI_Read10BeginCallback - 0x08001ae8 0x60 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x08001ae8 SCSI_Read10BeginCallback + 0x08001b50 0x50 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x08001b50 SCSI_Read10BeginCallback .text.SCSI_Read10 - 0x08001b48 0xec Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .text.SCSI_Read10ReplyCallback - 0x08001c34 0x64 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x08001c34 SCSI_Read10ReplyCallback + 0x08001ba0 0xf8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .text.SCSI_Write10BeginCallback 0x08001c98 0x80 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o 0x08001c98 SCSI_Write10BeginCallback @@ -3448,233 +3499,233 @@ END GROUP 0x08003abc 0x8 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o 0x08003abc HAL_PCDEx_SetRxFiFo .text.PCD_WriteEmptyTxFifo - 0x08003ac4 0xc0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08003ac4 0xb0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o .text.HAL_PCD_Init - 0x08003b84 0xe0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08003b84 HAL_PCD_Init + 0x08003b74 0xe0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08003b74 HAL_PCD_Init .text.HAL_PCD_Start - 0x08003c64 0x2c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08003c64 HAL_PCD_Start + 0x08003c54 0x2c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08003c54 HAL_PCD_Start .text.HAL_PCD_IRQHandler - 0x08003c90 0x450 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08003c90 HAL_PCD_IRQHandler + 0x08003c80 0x450 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08003c80 HAL_PCD_IRQHandler .text.HAL_PCD_SetAddress - 0x080040e0 0x24 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x080040e0 HAL_PCD_SetAddress + 0x080040d0 0x24 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x080040d0 HAL_PCD_SetAddress .text.HAL_PCD_EP_Open - 0x08004104 0x68 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08004104 HAL_PCD_EP_Open + 0x080040f4 0x68 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x080040f4 HAL_PCD_EP_Open .text.HAL_PCD_EP_Close - 0x0800416c 0x58 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x0800416c HAL_PCD_EP_Close + 0x0800415c 0x58 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x0800415c HAL_PCD_EP_Close .text.HAL_PCD_EP_Receive - 0x080041c4 0x6c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x080041c4 HAL_PCD_EP_Receive + 0x080041b4 0x6c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x080041b4 HAL_PCD_EP_Receive .text.HAL_PCD_EP_GetRxCount - 0x08004230 0x14 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08004230 HAL_PCD_EP_GetRxCount + 0x08004220 0x14 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08004220 HAL_PCD_EP_GetRxCount .text.HAL_PCD_EP_Transmit - 0x08004244 0x68 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08004244 HAL_PCD_EP_Transmit + 0x08004234 0x68 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08004234 HAL_PCD_EP_Transmit .text.HAL_PCD_EP_SetStall - 0x080042ac 0x64 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x080042ac HAL_PCD_EP_SetStall + 0x0800429c 0x64 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x0800429c HAL_PCD_EP_SetStall .text.HAL_PCD_EP_ClrStall - 0x08004310 0x58 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08004310 HAL_PCD_EP_ClrStall + 0x08004300 0x58 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08004300 HAL_PCD_EP_ClrStall .text.HAL_PCD_EP_Flush - 0x08004368 0x38 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - 0x08004368 HAL_PCD_EP_Flush + 0x08004358 0x38 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + 0x08004358 HAL_PCD_EP_Flush .text.HAL_GPIO_Init - 0x080043a0 0x1cc Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - 0x080043a0 HAL_GPIO_Init + 0x08004390 0x1cc Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + 0x08004390 HAL_GPIO_Init .text.DMA_SetConfig - 0x0800456c 0x2c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + 0x0800455c 0x2c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o .text.HAL_DMA_Init - 0x08004598 0x7c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - 0x08004598 HAL_DMA_Init + 0x08004588 0x7c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + 0x08004588 HAL_DMA_Init .text.HAL_DMA_Start_IT - 0x08004614 0x6c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - 0x08004614 HAL_DMA_Start_IT + 0x08004604 0x6c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + 0x08004604 HAL_DMA_Start_IT .text.HAL_DMA_IRQHandler - 0x08004680 0x236c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - 0x08004680 HAL_DMA_IRQHandler + 0x08004670 0x236c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + 0x08004670 HAL_DMA_IRQHandler .text.HAL_NVIC_SetPriorityGrouping - 0x080069ec 0x24 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x080069ec HAL_NVIC_SetPriorityGrouping + 0x080069dc 0x24 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x080069dc HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x08006a10 0x64 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x08006a10 HAL_NVIC_SetPriority + 0x08006a00 0x64 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x08006a00 HAL_NVIC_SetPriority .text.HAL_NVIC_EnableIRQ - 0x08006a74 0x18 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x08006a74 HAL_NVIC_EnableIRQ + 0x08006a64 0x18 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x08006a64 HAL_NVIC_EnableIRQ .text.HAL_SYSTICK_Config - 0x08006a8c 0x20 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x08006a8c HAL_SYSTICK_Config + 0x08006a7c 0x20 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x08006a7c HAL_SYSTICK_Config .text.HAL_InitTick - 0x08006aac 0x1c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x08006aac HAL_InitTick + 0x08006a9c 0x1c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x08006a9c HAL_InitTick .text.HAL_Init - 0x08006ac8 0x34 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x08006ac8 HAL_Init + 0x08006ab8 0x34 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x08006ab8 HAL_Init .text.HAL_IncTick - 0x08006afc 0x10 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x08006afc HAL_IncTick + 0x08006aec 0x10 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x08006aec HAL_IncTick .text.HAL_GetTick - 0x08006b0c 0xc Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x08006b0c HAL_GetTick + 0x08006afc 0xc Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x08006afc HAL_GetTick .text.HAL_Delay - 0x08006b18 0x1c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x08006b18 HAL_Delay + 0x08006b08 0x1c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x08006b08 HAL_Delay .text.SystemInit - 0x08006b34 0x40 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o - 0x08006b34 SystemInit + 0x08006b24 0x40 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + 0x08006b24 SystemInit .text.Reset_Handler - 0x08006b74 0x4c Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o - 0x08006b74 Reset_Handler + 0x08006b64 0x4c Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o + 0x08006b64 Reset_Handler .text.Default_Handler - 0x08006bc0 0x2 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o - 0x08006bc0 RTC_Alarm_IRQHandler - 0x08006bc0 HASH_RNG_IRQHandler - 0x08006bc0 EXTI2_IRQHandler - 0x08006bc0 TIM8_CC_IRQHandler - 0x08006bc0 DebugMon_Handler - 0x08006bc0 TIM1_CC_IRQHandler - 0x08006bc0 DMA2_Stream5_IRQHandler - 0x08006bc0 HardFault_Handler - 0x08006bc0 DMA1_Stream5_IRQHandler - 0x08006bc0 PVD_IRQHandler - 0x08006bc0 SDIO_IRQHandler - 0x08006bc0 TAMP_STAMP_IRQHandler - 0x08006bc0 PendSV_Handler - 0x08006bc0 NMI_Handler - 0x08006bc0 CAN2_RX1_IRQHandler - 0x08006bc0 TIM8_TRG_COM_TIM14_IRQHandler - 0x08006bc0 TIM1_UP_TIM10_IRQHandler - 0x08006bc0 TIM8_UP_TIM13_IRQHandler - 0x08006bc0 I2C3_ER_IRQHandler - 0x08006bc0 EXTI0_IRQHandler - 0x08006bc0 I2C2_EV_IRQHandler - 0x08006bc0 DMA1_Stream2_IRQHandler - 0x08006bc0 CAN1_RX0_IRQHandler - 0x08006bc0 FPU_IRQHandler - 0x08006bc0 OTG_HS_WKUP_IRQHandler - 0x08006bc0 UsageFault_Handler - 0x08006bc0 CAN2_SCE_IRQHandler - 0x08006bc0 SPI1_IRQHandler - 0x08006bc0 TIM6_DAC_IRQHandler - 0x08006bc0 TIM1_BRK_TIM9_IRQHandler - 0x08006bc0 CAN2_RX0_IRQHandler - 0x08006bc0 USART6_IRQHandler - 0x08006bc0 USART3_IRQHandler - 0x08006bc0 CAN1_RX1_IRQHandler - 0x08006bc0 UART5_IRQHandler - 0x08006bc0 DMA2_Stream0_IRQHandler - 0x08006bc0 TIM4_IRQHandler - 0x08006bc0 I2C1_EV_IRQHandler - 0x08006bc0 DMA1_Stream6_IRQHandler - 0x08006bc0 DMA1_Stream1_IRQHandler - 0x08006bc0 UART4_IRQHandler - 0x08006bc0 TIM3_IRQHandler - 0x08006bc0 RCC_IRQHandler - 0x08006bc0 TIM8_BRK_TIM12_IRQHandler - 0x08006bc0 Default_Handler - 0x08006bc0 EXTI15_10_IRQHandler - 0x08006bc0 ADC_IRQHandler - 0x08006bc0 DMA1_Stream7_IRQHandler - 0x08006bc0 TIM7_IRQHandler - 0x08006bc0 CAN2_TX_IRQHandler - 0x08006bc0 TIM5_IRQHandler - 0x08006bc0 DMA2_Stream7_IRQHandler - 0x08006bc0 I2C3_EV_IRQHandler - 0x08006bc0 EXTI9_5_IRQHandler - 0x08006bc0 RTC_WKUP_IRQHandler - 0x08006bc0 SPI2_IRQHandler - 0x08006bc0 OTG_HS_EP1_IN_IRQHandler - 0x08006bc0 MemManage_Handler - 0x08006bc0 DMA1_Stream0_IRQHandler - 0x08006bc0 CAN1_TX_IRQHandler - 0x08006bc0 SVC_Handler - 0x08006bc0 EXTI4_IRQHandler - 0x08006bc0 FSMC_IRQHandler - 0x08006bc0 OTG_HS_EP1_OUT_IRQHandler - 0x08006bc0 WWDG_IRQHandler - 0x08006bc0 TIM2_IRQHandler - 0x08006bc0 OTG_FS_WKUP_IRQHandler - 0x08006bc0 TIM1_TRG_COM_TIM11_IRQHandler - 0x08006bc0 OTG_HS_IRQHandler - 0x08006bc0 EXTI1_IRQHandler - 0x08006bc0 USART2_IRQHandler - 0x08006bc0 I2C2_ER_IRQHandler - 0x08006bc0 DMA2_Stream1_IRQHandler - 0x08006bc0 CAN1_SCE_IRQHandler - 0x08006bc0 FLASH_IRQHandler - 0x08006bc0 DMA2_Stream4_IRQHandler - 0x08006bc0 BusFault_Handler - 0x08006bc0 USART1_IRQHandler - 0x08006bc0 SPI3_IRQHandler - 0x08006bc0 DMA1_Stream4_IRQHandler - 0x08006bc0 I2C1_ER_IRQHandler - 0x08006bc0 DMA2_Stream6_IRQHandler - 0x08006bc0 DMA1_Stream3_IRQHandler - *fill* 0x08006bc2 0x2 - .text.malloc 0x08006bc4 0x10 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) - 0x08006bc4 malloc - .text.free 0x08006bd4 0x10 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) - 0x08006bd4 free - .text._free_r 0x08006be4 0x88 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-freer.o) - 0x08006be4 _free_r + 0x08006bb0 0x2 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o + 0x08006bb0 RTC_Alarm_IRQHandler + 0x08006bb0 HASH_RNG_IRQHandler + 0x08006bb0 EXTI2_IRQHandler + 0x08006bb0 TIM8_CC_IRQHandler + 0x08006bb0 DebugMon_Handler + 0x08006bb0 TIM1_CC_IRQHandler + 0x08006bb0 DMA2_Stream5_IRQHandler + 0x08006bb0 HardFault_Handler + 0x08006bb0 DMA1_Stream5_IRQHandler + 0x08006bb0 PVD_IRQHandler + 0x08006bb0 SDIO_IRQHandler + 0x08006bb0 TAMP_STAMP_IRQHandler + 0x08006bb0 PendSV_Handler + 0x08006bb0 NMI_Handler + 0x08006bb0 CAN2_RX1_IRQHandler + 0x08006bb0 TIM8_TRG_COM_TIM14_IRQHandler + 0x08006bb0 TIM1_UP_TIM10_IRQHandler + 0x08006bb0 TIM8_UP_TIM13_IRQHandler + 0x08006bb0 I2C3_ER_IRQHandler + 0x08006bb0 EXTI0_IRQHandler + 0x08006bb0 I2C2_EV_IRQHandler + 0x08006bb0 DMA1_Stream2_IRQHandler + 0x08006bb0 CAN1_RX0_IRQHandler + 0x08006bb0 FPU_IRQHandler + 0x08006bb0 OTG_HS_WKUP_IRQHandler + 0x08006bb0 UsageFault_Handler + 0x08006bb0 CAN2_SCE_IRQHandler + 0x08006bb0 SPI1_IRQHandler + 0x08006bb0 TIM6_DAC_IRQHandler + 0x08006bb0 TIM1_BRK_TIM9_IRQHandler + 0x08006bb0 CAN2_RX0_IRQHandler + 0x08006bb0 USART6_IRQHandler + 0x08006bb0 USART3_IRQHandler + 0x08006bb0 CAN1_RX1_IRQHandler + 0x08006bb0 UART5_IRQHandler + 0x08006bb0 DMA2_Stream0_IRQHandler + 0x08006bb0 TIM4_IRQHandler + 0x08006bb0 I2C1_EV_IRQHandler + 0x08006bb0 DMA1_Stream6_IRQHandler + 0x08006bb0 DMA1_Stream1_IRQHandler + 0x08006bb0 UART4_IRQHandler + 0x08006bb0 TIM3_IRQHandler + 0x08006bb0 RCC_IRQHandler + 0x08006bb0 TIM8_BRK_TIM12_IRQHandler + 0x08006bb0 Default_Handler + 0x08006bb0 EXTI15_10_IRQHandler + 0x08006bb0 ADC_IRQHandler + 0x08006bb0 DMA1_Stream7_IRQHandler + 0x08006bb0 TIM7_IRQHandler + 0x08006bb0 CAN2_TX_IRQHandler + 0x08006bb0 TIM5_IRQHandler + 0x08006bb0 DMA2_Stream7_IRQHandler + 0x08006bb0 I2C3_EV_IRQHandler + 0x08006bb0 EXTI9_5_IRQHandler + 0x08006bb0 RTC_WKUP_IRQHandler + 0x08006bb0 SPI2_IRQHandler + 0x08006bb0 OTG_HS_EP1_IN_IRQHandler + 0x08006bb0 MemManage_Handler + 0x08006bb0 DMA1_Stream0_IRQHandler + 0x08006bb0 CAN1_TX_IRQHandler + 0x08006bb0 SVC_Handler + 0x08006bb0 EXTI4_IRQHandler + 0x08006bb0 FSMC_IRQHandler + 0x08006bb0 OTG_HS_EP1_OUT_IRQHandler + 0x08006bb0 WWDG_IRQHandler + 0x08006bb0 TIM2_IRQHandler + 0x08006bb0 OTG_FS_WKUP_IRQHandler + 0x08006bb0 TIM1_TRG_COM_TIM11_IRQHandler + 0x08006bb0 OTG_HS_IRQHandler + 0x08006bb0 EXTI1_IRQHandler + 0x08006bb0 USART2_IRQHandler + 0x08006bb0 I2C2_ER_IRQHandler + 0x08006bb0 DMA2_Stream1_IRQHandler + 0x08006bb0 CAN1_SCE_IRQHandler + 0x08006bb0 FLASH_IRQHandler + 0x08006bb0 DMA2_Stream4_IRQHandler + 0x08006bb0 BusFault_Handler + 0x08006bb0 USART1_IRQHandler + 0x08006bb0 SPI3_IRQHandler + 0x08006bb0 DMA1_Stream4_IRQHandler + 0x08006bb0 I2C1_ER_IRQHandler + 0x08006bb0 DMA2_Stream6_IRQHandler + 0x08006bb0 DMA1_Stream3_IRQHandler + *fill* 0x08006bb2 0x2 + .text.malloc 0x08006bb4 0x10 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) + 0x08006bb4 malloc + .text.free 0x08006bc4 0x10 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) + 0x08006bc4 free + .text._free_r 0x08006bd4 0x88 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-freer.o) + 0x08006bd4 _free_r .text._malloc_r - 0x08006c6c 0xac /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-mallocr.o) - 0x08006c6c _malloc_r - .text._sbrk_r 0x08006d18 0x20 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-sbrkr.o) - 0x08006d18 _sbrk_r - .text._sbrk 0x08006d38 0x1c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a(sbrk.o) - 0x08006d38 _sbrk + 0x08006c5c 0xac /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-mallocr.o) + 0x08006c5c _malloc_r + .text._sbrk_r 0x08006d08 0x20 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-sbrkr.o) + 0x08006d08 _sbrk_r + .text._sbrk 0x08006d28 0x1c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a(sbrk.o) + 0x08006d28 _sbrk *(.init) *(.fini) *(.rodata*) .rodata.str1.4 - 0x08006d54 0x54 Src/usbd_descriptors.o + 0x08006d44 0x54 Src/usbd_descriptors.o .rodata.STORAGE_Inquirydata_FS - 0x08006da8 0x24 Src/usbd_descriptors.o - 0x08006da8 STORAGE_Inquirydata_FS + 0x08006d98 0x24 Src/usbd_descriptors.o + 0x08006d98 STORAGE_Inquirydata_FS .rodata.MSC_Page00_Inquiry_Data - 0x08006dcc 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - 0x08006dcc MSC_Page00_Inquiry_Data + 0x08006dbc 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + 0x08006dbc MSC_Page00_Inquiry_Data .rodata.MSC_Mode_Sense10_data - 0x08006dd4 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - 0x08006dd4 MSC_Mode_Sense10_data + 0x08006dc4 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + 0x08006dc4 MSC_Mode_Sense10_data .rodata.MSC_Mode_Sense6_data - 0x08006ddc 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - 0x08006ddc MSC_Mode_Sense6_data + 0x08006dcc 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + 0x08006dcc MSC_Mode_Sense6_data .rodata.APBAHBPrescTable - 0x08006de4 0x10 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - 0x08006de4 APBAHBPrescTable + 0x08006dd4 0x10 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x08006dd4 APBAHBPrescTable .rodata.str1.1 - 0x08006df4 0x2 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-impure.o) + 0x08006de4 0x2 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-impure.o) *(.eh_frame*) - 0x08006df6 __etext = . + 0x08006de6 __etext = . -.glue_7 0x08006df8 0x0 +.glue_7 0x08006de8 0x0 .glue_7 0x00000000 0x0 linker stubs -.glue_7t 0x08006df8 0x0 +.glue_7t 0x08006de8 0x0 .glue_7t 0x00000000 0x0 linker stubs -.vfp11_veneer 0x08006df8 0x0 +.vfp11_veneer 0x08006de8 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs -.v4_bx 0x08006df8 0x0 +.v4_bx 0x08006de8 0x0 .v4_bx 0x00000000 0x0 linker stubs -.iplt 0x08006df8 0x0 +.iplt 0x08006de8 0x0 .iplt 0x00000000 0x0 Src/usbd_descriptors.o -.rel.dyn 0x08006df8 0x0 +.rel.dyn 0x08006de8 0x0 .rel.iplt 0x00000000 0x0 Src/usbd_descriptors.o -.data 0x20000000 0x144 load address 0x08006df6 +.data 0x20000000 0x144 load address 0x08006de6 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -3711,10 +3762,10 @@ END GROUP 0x20000140 _impure_ptr 0x20000144 __data_end__ = . -.igot.plt 0x20000144 0x0 load address 0x08006f3c +.igot.plt 0x20000144 0x0 load address 0x08006f2c .igot.plt 0x00000000 0x0 Src/usbd_descriptors.o -.bss 0x20000148 0xd54 load address 0x08006f40 +.bss 0x20000148 0xd58 load address 0x08006f30 0x20000148 . = ALIGN (0x4) 0x20000148 __bss_start__ = . *(.bss*) @@ -3751,36 +3802,37 @@ END GROUP 0x20000df8 NextTxPacket 0x20000dfc hspi1 0x20000e54 PendingFreePacketCallback - COMMON 0x20000e58 0x24 Src/downstream_interface_msc.o + COMMON 0x20000e58 0x28 Src/downstream_interface_msc_mock.o 0x20000e58 ReadStreamPacket 0x20000e60 BlockStart - 0x20000e68 GetCapacityCallback - 0x20000e6c BlockCount - 0x20000e70 TestReadyCallback - 0x20000e74 GetStreamDataCallback - 0x20000e78 ByteCount - COMMON 0x20000e7c 0x14 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x20000e7c SCSI_ProcessCmd_hmsc - 0x20000e80 SCSI_ProcessCmd_params - 0x20000e84 SCSI_ProcessCmd_lun - 0x20000e88 SCSI_ProcessCmd_callback - 0x20000e8c SCSI_ProcessCmd_pdev - COMMON 0x20000e90 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - 0x20000e90 MSC_BOT_pdev - 0x20000e94 MSC_BOT_hmsc - COMMON 0x20000e98 0x4 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-reent.o) - 0x20000e98 errno - 0x20000e9c . = ALIGN (0x4) - 0x20000e9c __bss_end__ = . + 0x20000e68 ReadStreamBusy + 0x20000e6c GetCapacityCallback + 0x20000e70 BlockCount + 0x20000e74 TestReadyCallback + 0x20000e78 GetStreamDataCallback + 0x20000e7c ByteCount + COMMON 0x20000e80 0x14 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x20000e80 SCSI_ProcessCmd_hmsc + 0x20000e84 SCSI_ProcessCmd_params + 0x20000e88 SCSI_ProcessCmd_lun + 0x20000e8c SCSI_ProcessCmd_callback + 0x20000e90 SCSI_ProcessCmd_pdev + COMMON 0x20000e94 0x8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + 0x20000e94 MSC_BOT_pdev + 0x20000e98 MSC_BOT_hmsc + COMMON 0x20000e9c 0x4 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-reent.o) + 0x20000e9c errno + 0x20000ea0 . = ALIGN (0x4) + 0x20000ea0 __bss_end__ = . -.heap 0x20000e9c 0x0 - 0x20000e9c __HeapBase = . - 0x20000e9c __end__ = . - 0x20000e9c end = __end__ +.heap 0x20000ea0 0x0 + 0x20000ea0 __HeapBase = . + 0x20000ea0 __end__ = . + 0x20000ea0 end = __end__ *(.heap*) - 0x20000e9c __HeapLimit = . + 0x20000ea0 __HeapLimit = . -.stack_dummy 0x20000e9c 0x0 +.stack_dummy 0x20000ea0 0x0 *(.stack*) 0x2001c000 __StackTop = (ORIGIN (SRAM1) + 0x1c000) 0x2001c000 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) @@ -3803,84 +3855,84 @@ END GROUP 0x10000000 _eccmram = . OUTPUT(Upstream.elf elf32-littlearm) -.debug_info 0x00000000 0x1247c +.debug_info 0x00000000 0x1246a .debug_info 0x00000000 0x47e Src/usbd_descriptors.o .debug_info 0x0000047e 0x18a4 Src/usbd_config.o .debug_info 0x00001d22 0x5a1 Src/usb_device.o - .debug_info 0x000022c3 0x6ce Src/main.o - .debug_info 0x00002991 0x88c Src/interrupts.o - .debug_info 0x0000321d 0xd1a Src/hal_msp.o - .debug_info 0x00003f37 0xb40 Src/downstream_spi.o - .debug_info 0x00004a77 0x770 Src/downstream_interface_msc.o - .debug_info 0x000051e7 0x7a2 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_info 0x00005989 0xe56 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_info 0x000067df 0xced Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_info 0x000074cc 0x1481 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_info 0x0000894d 0x11c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - .debug_info 0x00008a69 0xe19 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_info 0x00009882 0xe05 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_info 0x0000a687 0x165c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o - .debug_info 0x0000bce3 0x1652 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_info 0x0000d335 0xf4e Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_info 0x0000e283 0x542 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_info 0x0000e7c5 0x1580 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_info 0x0000fd45 0x6d1 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_info 0x00010416 0x733 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_info 0x00010b49 0xca8 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_info 0x000117f1 0x747 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_info 0x00011f38 0x4a7 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o - .debug_info 0x000123df 0x9d Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o + .debug_info 0x000022c3 0x6e5 Src/main.o + .debug_info 0x000029a8 0x883 Src/interrupts.o + .debug_info 0x0000322b 0xd1a Src/hal_msp.o + .debug_info 0x00003f45 0xb4f Src/downstream_spi.o + .debug_info 0x00004a94 0x712 Src/downstream_interface_msc_mock.o + .debug_info 0x000051a6 0x7a2 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_info 0x00005948 0xe56 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_info 0x0000679e 0xced Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_info 0x0000748b 0x14b0 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_info 0x0000893b 0x11c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_info 0x00008a57 0xe19 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_info 0x00009870 0xe05 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_info 0x0000a675 0x165c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_info 0x0000bcd1 0x1652 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_info 0x0000d323 0xf4e Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_info 0x0000e271 0x542 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_info 0x0000e7b3 0x1580 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_info 0x0000fd33 0x6d1 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_info 0x00010404 0x733 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_info 0x00010b37 0xca8 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_info 0x000117df 0x747 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_info 0x00011f26 0x4a7 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_info 0x000123cd 0x9d Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o -.debug_abbrev 0x00000000 0x32bc +.debug_abbrev 0x00000000 0x32a2 .debug_abbrev 0x00000000 0x15f Src/usbd_descriptors.o .debug_abbrev 0x0000015f 0x27e Src/usbd_config.o .debug_abbrev 0x000003dd 0x17c Src/usb_device.o .debug_abbrev 0x00000559 0x1c5 Src/main.o - .debug_abbrev 0x0000071e 0x1da Src/interrupts.o - .debug_abbrev 0x000008f8 0x1b2 Src/hal_msp.o - .debug_abbrev 0x00000aaa 0x2d6 Src/downstream_spi.o - .debug_abbrev 0x00000d80 0x1fe Src/downstream_interface_msc.o - .debug_abbrev 0x00000f7e 0x16d Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_abbrev 0x000010eb 0x281 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_abbrev 0x0000136c 0x217 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_abbrev 0x00001583 0x2cb Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_abbrev 0x0000184e 0x78 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - .debug_abbrev 0x000018c6 0x291 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_abbrev 0x00001b57 0x213 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_abbrev 0x00001d6a 0x247 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o - .debug_abbrev 0x00001fb1 0x261 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_abbrev 0x00002212 0x2ae Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_abbrev 0x000024c0 0x170 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_abbrev 0x00002630 0x2b2 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_abbrev 0x000028e2 0x1c2 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_abbrev 0x00002aa4 0x201 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_abbrev 0x00002ca5 0x2aa Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_abbrev 0x00002f4f 0x257 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_abbrev 0x000031a6 0x104 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o - .debug_abbrev 0x000032aa 0x12 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o + .debug_abbrev 0x0000071e 0x1b1 Src/interrupts.o + .debug_abbrev 0x000008cf 0x1b2 Src/hal_msp.o + .debug_abbrev 0x00000a81 0x2e5 Src/downstream_spi.o + .debug_abbrev 0x00000d66 0x1fe Src/downstream_interface_msc_mock.o + .debug_abbrev 0x00000f64 0x16d Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_abbrev 0x000010d1 0x281 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_abbrev 0x00001352 0x217 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_abbrev 0x00001569 0x2cb Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_abbrev 0x00001834 0x78 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_abbrev 0x000018ac 0x291 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_abbrev 0x00001b3d 0x213 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_abbrev 0x00001d50 0x247 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_abbrev 0x00001f97 0x261 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_abbrev 0x000021f8 0x2ae Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_abbrev 0x000024a6 0x170 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_abbrev 0x00002616 0x2b2 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_abbrev 0x000028c8 0x1c2 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_abbrev 0x00002a8a 0x201 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_abbrev 0x00002c8b 0x2aa Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_abbrev 0x00002f35 0x257 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_abbrev 0x0000318c 0x104 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_abbrev 0x00003290 0x12 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o -.debug_loc 0x00000000 0x78e9 +.debug_loc 0x00000000 0x7901 .debug_loc 0x00000000 0x1c3 Src/usbd_descriptors.o .debug_loc 0x000001c3 0x6a7 Src/usbd_config.o .debug_loc 0x0000086a 0x4a Src/hal_msp.o - .debug_loc 0x000008b4 0x1a5 Src/downstream_spi.o - .debug_loc 0x00000a59 0x3b1 Src/downstream_interface_msc.o - .debug_loc 0x00000e0a 0x204 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_loc 0x0000100e 0xb07 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_loc 0x00001b15 0x63f Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_loc 0x00002154 0xae5 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_loc 0x00002c39 0x41d Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_loc 0x00003056 0x382 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_loc 0x000033d8 0x1277 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o - .debug_loc 0x0000464f 0x108c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_loc 0x000056db 0x853 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_loc 0x00005f2e 0xd0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_loc 0x00005ffe 0xa8b Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_loc 0x00006a89 0x33e Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_loc 0x00006dc7 0x48c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_loc 0x00007253 0x4b4 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_loc 0x00007707 0xab Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_loc 0x000077b2 0x137 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_loc 0x000008b4 0x1b8 Src/downstream_spi.o + .debug_loc 0x00000a6c 0x36a Src/downstream_interface_msc_mock.o + .debug_loc 0x00000dd6 0x204 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_loc 0x00000fda 0xb07 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_loc 0x00001ae1 0x63f Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_loc 0x00002120 0xb26 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_loc 0x00002c46 0x41d Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_loc 0x00003063 0x382 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_loc 0x000033e5 0x1277 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_loc 0x0000465c 0x108c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_loc 0x000056e8 0x853 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_loc 0x00005f3b 0xd0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_loc 0x0000600b 0xa96 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_loc 0x00006aa1 0x33e Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_loc 0x00006ddf 0x48c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_loc 0x0000726b 0x4b4 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_loc 0x0000771f 0xab Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_loc 0x000077ca 0x137 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o .debug_aranges 0x00000000 0xd50 .debug_aranges @@ -3898,7 +3950,7 @@ OUTPUT(Upstream.elf elf32-littlearm) .debug_aranges 0x00000210 0x80 Src/downstream_spi.o .debug_aranges - 0x00000290 0x68 Src/downstream_interface_msc.o + 0x00000290 0x68 Src/downstream_interface_msc_mock.o .debug_aranges 0x000002f8 0x50 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .debug_aranges @@ -3944,7 +3996,7 @@ OUTPUT(Upstream.elf elf32-littlearm) .debug_ranges 0x00000160 0x30 Src/interrupts.o .debug_ranges 0x00000190 0x20 Src/hal_msp.o .debug_ranges 0x000001b0 0x70 Src/downstream_spi.o - .debug_ranges 0x00000220 0x58 Src/downstream_interface_msc.o + .debug_ranges 0x00000220 0x58 Src/downstream_interface_msc_mock.o .debug_ranges 0x00000278 0x40 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .debug_ranges 0x000002b8 0x78 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .debug_ranges 0x00000330 0xb0 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o @@ -3963,183 +4015,182 @@ OUTPUT(Upstream.elf elf32-littlearm) .debug_ranges 0x00000b78 0x18 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o .debug_ranges 0x00000b90 0x20 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o -.debug_macro 0x00000000 0x1384f - .debug_macro 0x00000000 0x36f Src/usbd_descriptors.o - .debug_macro 0x0000036f 0x868 Src/usbd_descriptors.o - .debug_macro 0x00000bd7 0x58 Src/usbd_descriptors.o - .debug_macro 0x00000c2f 0x22 Src/usbd_descriptors.o - .debug_macro 0x00000c51 0x35 Src/usbd_descriptors.o - .debug_macro 0x00000c86 0x9c Src/usbd_descriptors.o - .debug_macro 0x00000d22 0x16 Src/usbd_descriptors.o - .debug_macro 0x00000d38 0x4a Src/usbd_descriptors.o - .debug_macro 0x00000d82 0x97 Src/usbd_descriptors.o - .debug_macro 0x00000e19 0x27a Src/usbd_descriptors.o - .debug_macro 0x00001093 0xf6 Src/usbd_descriptors.o - .debug_macro 0x00001189 0x10 Src/usbd_descriptors.o - .debug_macro 0x00001199 0x52 Src/usbd_descriptors.o - .debug_macro 0x000011eb 0x16 Src/usbd_descriptors.o - .debug_macro 0x00001201 0x43 Src/usbd_descriptors.o - .debug_macro 0x00001244 0x180 Src/usbd_descriptors.o - .debug_macro 0x000013c4 0x10 Src/usbd_descriptors.o - .debug_macro 0x000013d4 0x22 Src/usbd_descriptors.o - .debug_macro 0x000013f6 0xbd Src/usbd_descriptors.o - .debug_macro 0x000014b3 0x16 Src/usbd_descriptors.o - .debug_macro 0x000014c9 0x16d Src/usbd_descriptors.o - .debug_macro 0x00001636 0x16 Src/usbd_descriptors.o - .debug_macro 0x0000164c 0x35 Src/usbd_descriptors.o - .debug_macro 0x00001681 0x16 Src/usbd_descriptors.o - .debug_macro 0x00001697 0x29 Src/usbd_descriptors.o - .debug_macro 0x000016c0 0x16 Src/usbd_descriptors.o - .debug_macro 0x000016d6 0x2e Src/usbd_descriptors.o - .debug_macro 0x00001704 0x28 Src/usbd_descriptors.o - .debug_macro 0x0000172c 0x3b Src/usbd_descriptors.o - .debug_macro 0x00001767 0x1c Src/usbd_descriptors.o - .debug_macro 0x00001783 0x1f7 Src/usbd_descriptors.o - .debug_macro 0x0000197a 0x2d Src/usbd_descriptors.o - .debug_macro 0x000019a7 0x26 Src/usbd_descriptors.o - .debug_macro 0x000019cd 0xd39 Src/usbd_descriptors.o - .debug_macro 0x00002706 0x8861 Src/usbd_descriptors.o - .debug_macro 0x0000af67 0x43 Src/usbd_descriptors.o - .debug_macro 0x0000afaa 0x1a7 Src/usbd_descriptors.o - .debug_macro 0x0000b151 0x2694 Src/usbd_descriptors.o - .debug_macro 0x0000d7e5 0x57 Src/usbd_descriptors.o - .debug_macro 0x0000d83c 0xa22 Src/usbd_descriptors.o - .debug_macro 0x0000e25e 0x39f Src/usbd_descriptors.o - .debug_macro 0x0000e5fd 0x15b Src/usbd_descriptors.o - .debug_macro 0x0000e758 0x11e Src/usbd_descriptors.o - .debug_macro 0x0000e876 0x130 Src/usbd_descriptors.o - .debug_macro 0x0000e9a6 0x27 Src/usbd_descriptors.o - .debug_macro 0x0000e9cd 0x272 Src/usbd_descriptors.o - .debug_macro 0x0000ec3f 0x5f Src/usbd_descriptors.o - .debug_macro 0x0000ec9e 0x5d Src/usbd_descriptors.o - .debug_macro 0x0000ecfb 0x133 Src/usbd_descriptors.o - .debug_macro 0x0000ee2e 0x217 Src/usbd_descriptors.o - .debug_macro 0x0000f045 0x2e Src/usbd_descriptors.o - .debug_macro 0x0000f073 0x13a Src/usbd_descriptors.o - .debug_macro 0x0000f1ad 0x5e Src/usbd_descriptors.o - .debug_macro 0x0000f20b 0x97 Src/usbd_descriptors.o - .debug_macro 0x0000f2a2 0x209 Src/usbd_descriptors.o - .debug_macro 0x0000f4ab 0x1df Src/usbd_descriptors.o - .debug_macro 0x0000f68a 0x109 Src/usbd_descriptors.o - .debug_macro 0x0000f793 0x125 Src/usbd_descriptors.o - .debug_macro 0x0000f8b8 0x1b6 Src/usbd_descriptors.o - .debug_macro 0x0000fa6e 0x6a Src/usbd_descriptors.o - .debug_macro 0x0000fad8 0x82 Src/usbd_descriptors.o - .debug_macro 0x0000fb5a 0x160 Src/usbd_descriptors.o - .debug_macro 0x0000fcba 0x28 Src/usbd_descriptors.o - .debug_macro 0x0000fce2 0x34 Src/usbd_descriptors.o - .debug_macro 0x0000fd16 0x316 Src/usbd_config.o - .debug_macro 0x0001002c 0x44 Src/usbd_config.o - .debug_macro 0x00010070 0x64 Src/usbd_config.o - .debug_macro 0x000100d4 0x1c Src/usbd_config.o - .debug_macro 0x000100f0 0x349 Src/usb_device.o - .debug_macro 0x00010439 0x303 Src/main.o - .debug_macro 0x0001073c 0x22 Src/main.o - .debug_macro 0x0001075e 0x82 Src/main.o - .debug_macro 0x000107e0 0x1b1 Src/interrupts.o - .debug_macro 0x00010991 0x1b1 Src/hal_msp.o - .debug_macro 0x00010b42 0x302 Src/downstream_spi.o - .debug_macro 0x00010e44 0x1c Src/downstream_spi.o - .debug_macro 0x00010e60 0x30d Src/downstream_interface_msc.o - .debug_macro 0x0001116d 0x303 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_macro 0x00011470 0x307 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_macro 0x00011777 0x307 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_macro 0x00011a7e 0x36d Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_macro 0x00011deb 0x7c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_macro 0x00011e67 0x22 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_macro 0x00011e89 0x2f0 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - .debug_macro 0x00012179 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - .debug_macro 0x00012195 0x343 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_macro 0x000124d8 0x344 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_macro 0x0001281c 0x1a6 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o - .debug_macro 0x000129c2 0x1a5 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_macro 0x00012b67 0x1e1 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_macro 0x00012d48 0x19f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_macro 0x00012ee7 0x1ab Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_macro 0x00013092 0x1d7 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_macro 0x00013269 0x1a6 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_macro 0x0001340f 0x19f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_macro 0x000135ae 0x1ed Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_macro 0x0001379b 0xb4 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o +.debug_macro 0x00000000 0x139c8 + .debug_macro 0x00000000 0x379 Src/usbd_descriptors.o + .debug_macro 0x00000379 0x868 Src/usbd_descriptors.o + .debug_macro 0x00000be1 0x58 Src/usbd_descriptors.o + .debug_macro 0x00000c39 0x22 Src/usbd_descriptors.o + .debug_macro 0x00000c5b 0x35 Src/usbd_descriptors.o + .debug_macro 0x00000c90 0x9c Src/usbd_descriptors.o + .debug_macro 0x00000d2c 0x16 Src/usbd_descriptors.o + .debug_macro 0x00000d42 0x4a Src/usbd_descriptors.o + .debug_macro 0x00000d8c 0x97 Src/usbd_descriptors.o + .debug_macro 0x00000e23 0x27a Src/usbd_descriptors.o + .debug_macro 0x0000109d 0xf6 Src/usbd_descriptors.o + .debug_macro 0x00001193 0x10 Src/usbd_descriptors.o + .debug_macro 0x000011a3 0x52 Src/usbd_descriptors.o + .debug_macro 0x000011f5 0x16 Src/usbd_descriptors.o + .debug_macro 0x0000120b 0x43 Src/usbd_descriptors.o + .debug_macro 0x0000124e 0x180 Src/usbd_descriptors.o + .debug_macro 0x000013ce 0x10 Src/usbd_descriptors.o + .debug_macro 0x000013de 0x22 Src/usbd_descriptors.o + .debug_macro 0x00001400 0xbd Src/usbd_descriptors.o + .debug_macro 0x000014bd 0x16 Src/usbd_descriptors.o + .debug_macro 0x000014d3 0x16d Src/usbd_descriptors.o + .debug_macro 0x00001640 0x16 Src/usbd_descriptors.o + .debug_macro 0x00001656 0x35 Src/usbd_descriptors.o + .debug_macro 0x0000168b 0x16 Src/usbd_descriptors.o + .debug_macro 0x000016a1 0x29 Src/usbd_descriptors.o + .debug_macro 0x000016ca 0x16 Src/usbd_descriptors.o + .debug_macro 0x000016e0 0x2e Src/usbd_descriptors.o + .debug_macro 0x0000170e 0x28 Src/usbd_descriptors.o + .debug_macro 0x00001736 0x3b Src/usbd_descriptors.o + .debug_macro 0x00001771 0x1c Src/usbd_descriptors.o + .debug_macro 0x0000178d 0x1f7 Src/usbd_descriptors.o + .debug_macro 0x00001984 0x2d Src/usbd_descriptors.o + .debug_macro 0x000019b1 0x26 Src/usbd_descriptors.o + .debug_macro 0x000019d7 0xd39 Src/usbd_descriptors.o + .debug_macro 0x00002710 0x8861 Src/usbd_descriptors.o + .debug_macro 0x0000af71 0x43 Src/usbd_descriptors.o + .debug_macro 0x0000afb4 0x1a7 Src/usbd_descriptors.o + .debug_macro 0x0000b15b 0x2694 Src/usbd_descriptors.o + .debug_macro 0x0000d7ef 0x57 Src/usbd_descriptors.o + .debug_macro 0x0000d846 0xa22 Src/usbd_descriptors.o + .debug_macro 0x0000e268 0x39f Src/usbd_descriptors.o + .debug_macro 0x0000e607 0x15b Src/usbd_descriptors.o + .debug_macro 0x0000e762 0x11e Src/usbd_descriptors.o + .debug_macro 0x0000e880 0x130 Src/usbd_descriptors.o + .debug_macro 0x0000e9b0 0x27 Src/usbd_descriptors.o + .debug_macro 0x0000e9d7 0x272 Src/usbd_descriptors.o + .debug_macro 0x0000ec49 0x5f Src/usbd_descriptors.o + .debug_macro 0x0000eca8 0x5d Src/usbd_descriptors.o + .debug_macro 0x0000ed05 0x133 Src/usbd_descriptors.o + .debug_macro 0x0000ee38 0x217 Src/usbd_descriptors.o + .debug_macro 0x0000f04f 0x2e Src/usbd_descriptors.o + .debug_macro 0x0000f07d 0x13a Src/usbd_descriptors.o + .debug_macro 0x0000f1b7 0x5e Src/usbd_descriptors.o + .debug_macro 0x0000f215 0x97 Src/usbd_descriptors.o + .debug_macro 0x0000f2ac 0x209 Src/usbd_descriptors.o + .debug_macro 0x0000f4b5 0x1df Src/usbd_descriptors.o + .debug_macro 0x0000f694 0x109 Src/usbd_descriptors.o + .debug_macro 0x0000f79d 0x125 Src/usbd_descriptors.o + .debug_macro 0x0000f8c2 0x1b6 Src/usbd_descriptors.o + .debug_macro 0x0000fa78 0x6a Src/usbd_descriptors.o + .debug_macro 0x0000fae2 0x82 Src/usbd_descriptors.o + .debug_macro 0x0000fb64 0x160 Src/usbd_descriptors.o + .debug_macro 0x0000fcc4 0x22 Src/usbd_descriptors.o + .debug_macro 0x0000fce6 0x34 Src/usbd_descriptors.o + .debug_macro 0x0000fd1a 0x316 Src/usbd_config.o + .debug_macro 0x00010030 0x44 Src/usbd_config.o + .debug_macro 0x00010074 0x64 Src/usbd_config.o + .debug_macro 0x000100d8 0x1c Src/usbd_config.o + .debug_macro 0x000100f4 0x353 Src/usb_device.o + .debug_macro 0x00010447 0x303 Src/main.o + .debug_macro 0x0001074a 0x9a Src/main.o + .debug_macro 0x000107e4 0x308 Src/interrupts.o + .debug_macro 0x00010aec 0x1b1 Src/hal_msp.o + .debug_macro 0x00010c9d 0x302 Src/downstream_spi.o + .debug_macro 0x00010f9f 0x1c Src/downstream_spi.o + .debug_macro 0x00010fbb 0x30d Src/downstream_interface_msc_mock.o + .debug_macro 0x000112c8 0x303 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_macro 0x000115cb 0x307 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_macro 0x000118d2 0x307 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_macro 0x00011bd9 0x377 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_macro 0x00011f50 0x7c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_macro 0x00011fcc 0x22 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_macro 0x00011fee 0x2f0 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_macro 0x000122de 0x1c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_macro 0x000122fa 0x34d Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_macro 0x00012647 0x34e Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_macro 0x00012995 0x1a6 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_macro 0x00012b3b 0x1a5 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_macro 0x00012ce0 0x1e1 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_macro 0x00012ec1 0x19f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_macro 0x00013060 0x1ab Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_macro 0x0001320b 0x1d7 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_macro 0x000133e2 0x1a6 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_macro 0x00013588 0x19f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_macro 0x00013727 0x1ed Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_macro 0x00013914 0xb4 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o -.debug_line 0x00000000 0xe940 +.debug_line 0x00000000 0xeaa7 .debug_line 0x00000000 0x7e9 Src/usbd_descriptors.o .debug_line 0x000007e9 0x8e2 Src/usbd_config.o .debug_line 0x000010cb 0x787 Src/usb_device.o - .debug_line 0x00001852 0x720 Src/main.o - .debug_line 0x00001f72 0x59e Src/interrupts.o - .debug_line 0x00002510 0x5ae Src/hal_msp.o - .debug_line 0x00002abe 0x8be Src/downstream_spi.o - .debug_line 0x0000337c 0x7f4 Src/downstream_interface_msc.o - .debug_line 0x00003b70 0x762 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_line 0x000042d2 0x8b0 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_line 0x00004b82 0x8c4 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_line 0x00005446 0xa5e Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - .debug_line 0x00005ea4 0x720 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o - .debug_line 0x000065c4 0x8c2 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - .debug_line 0x00006e86 0x8a5 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - .debug_line 0x0000772b 0xaea Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o - .debug_line 0x00008215 0xd60 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_line 0x00008f75 0x87f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_line 0x000097f4 0x588 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_line 0x00009d7c 0xa27 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_line 0x0000a7a3 0x69b Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_line 0x0000ae3e 0x299d Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_line 0x0000d7db 0x6da Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_line 0x0000deb5 0x6e4 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_line 0x0000e599 0x2fa Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o - .debug_line 0x0000e893 0xad Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o + .debug_line 0x00001852 0x725 Src/main.o + .debug_line 0x00001f77 0x712 Src/interrupts.o + .debug_line 0x00002689 0x5ae Src/hal_msp.o + .debug_line 0x00002c37 0x8b1 Src/downstream_spi.o + .debug_line 0x000034e8 0x7e7 Src/downstream_interface_msc_mock.o + .debug_line 0x00003ccf 0x762 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_line 0x00004431 0x8b0 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_line 0x00004ce1 0x8c5 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_line 0x000055a6 0xa64 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_line 0x0000600a 0x720 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_line 0x0000672a 0x8c2 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + .debug_line 0x00006fec 0x8a6 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + .debug_line 0x00007892 0xaea Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_line 0x0000837c 0xd60 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_line 0x000090dc 0x87f Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_line 0x0000995b 0x588 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_line 0x00009ee3 0xa27 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_line 0x0000a90a 0x69b Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_line 0x0000afa5 0x299d Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_line 0x0000d942 0x6da Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_line 0x0000e01c 0x6e4 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_line 0x0000e700 0x2fa Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_line 0x0000e9fa 0xad Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f405xx.o -.debug_str 0x00000000 0x688b4 - .debug_str 0x00000000 0x641c4 Src/usbd_descriptors.o - 0x644dc (size before relaxing) - .debug_str 0x000641c4 0x106c Src/usbd_config.o +.debug_str 0x00000000 0x68996 + .debug_str 0x00000000 0x641be Src/usbd_descriptors.o + 0x644d6 (size before relaxing) + .debug_str 0x000641be 0x106c Src/usbd_config.o 0x64b2a (size before relaxing) - .debug_str 0x00065230 0x69 Src/usb_device.o - 0x645ae (size before relaxing) - .debug_str 0x00065299 0x448 Src/main.o - 0x63fe1 (size before relaxing) - .debug_str 0x000656e1 0x32b Src/interrupts.o - 0x6098c (size before relaxing) - .debug_str 0x00065a0c 0x1f9 Src/hal_msp.o - 0x60ec3 (size before relaxing) - .debug_str 0x00065c05 0x4a5 Src/downstream_spi.o - 0x6464c (size before relaxing) - .debug_str 0x000660aa 0x3c8 Src/downstream_interface_msc.o - 0x63f80 (size before relaxing) - .debug_str 0x00066472 0xc9 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_str 0x0006522a 0x69 Src/usb_device.o + 0x645a8 (size before relaxing) + .debug_str 0x00065293 0x52c Src/main.o + 0x640bf (size before relaxing) + .debug_str 0x000657bf 0x32b Src/interrupts.o + 0x6442d (size before relaxing) + .debug_str 0x00065aea 0x1f9 Src/hal_msp.o + 0x60fa7 (size before relaxing) + .debug_str 0x00065ce3 0x4ad Src/downstream_spi.o + 0x64737 (size before relaxing) + .debug_str 0x00066190 0x3c4 Src/downstream_interface_msc_mock.o + 0x63f73 (size before relaxing) + .debug_str 0x00066554 0xc9 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o 0x63d8f (size before relaxing) - .debug_str 0x0006653b 0x14c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_str 0x0006661d 0x14c Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o 0x63e62 (size before relaxing) - .debug_str 0x00066687 0x7b Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_str 0x00066769 0x7b Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o 0x63f1e (size before relaxing) - .debug_str 0x00066702 0x50f Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o - 0x64dc9 (size before relaxing) - .debug_str 0x00066c11 0x49 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o + .debug_str 0x000667e4 0x50f Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + 0x64dc3 (size before relaxing) + .debug_str 0x00066cf3 0x49 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.o 0x6395a (size before relaxing) - .debug_str 0x00066c5a 0x14b Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o - 0x64927 (size before relaxing) - .debug_str 0x00066da5 0x17f Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o - 0x64a1a (size before relaxing) - .debug_str 0x00066f24 0x744 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o + .debug_str 0x00066d3c 0x14b Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o + 0x64921 (size before relaxing) + .debug_str 0x00066e87 0x17f Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o + 0x64a14 (size before relaxing) + .debug_str 0x00067006 0x744 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o 0x609c5 (size before relaxing) - .debug_str 0x00067668 0x348 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_str 0x0006774a 0x348 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o 0x6089c (size before relaxing) - .debug_str 0x000679b0 0x32a Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_str 0x00067a92 0x32a Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o 0x60677 (size before relaxing) - .debug_str 0x00067cda 0x4a Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o + .debug_str 0x00067dbc 0x4a Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o 0x6039b (size before relaxing) - .debug_str 0x00067d24 0x101 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_str 0x00067e06 0x101 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o 0x60a7c (size before relaxing) - .debug_str 0x00067e25 0x240 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_str 0x00067f07 0x240 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o 0x6042e (size before relaxing) - .debug_str 0x00068065 0x127 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_str 0x00068147 0x127 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o 0x6045d (size before relaxing) - .debug_str 0x0006818c 0x2c0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_str 0x0006826e 0x2c0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o 0x60901 (size before relaxing) - .debug_str 0x0006844c 0x3df Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_str 0x0006852e 0x3df Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o 0x606c2 (size before relaxing) - .debug_str 0x0006882b 0x89 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_str 0x0006890d 0x89 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o 0x39fc1 (size before relaxing) .comment 0x00000000 0x70 @@ -4151,7 +4202,7 @@ OUTPUT(Upstream.elf elf32-littlearm) .comment 0x00000000 0x71 Src/interrupts.o .comment 0x00000000 0x71 Src/hal_msp.o .comment 0x00000000 0x71 Src/downstream_spi.o - .comment 0x00000000 0x71 Src/downstream_interface_msc.o + .comment 0x00000000 0x71 Src/downstream_interface_msc_mock.o .comment 0x00000000 0x71 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .comment 0x00000000 0x71 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .comment 0x00000000 0x71 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o @@ -4187,7 +4238,7 @@ OUTPUT(Upstream.elf elf32-littlearm) .ARM.attributes 0x00000132 0x33 Src/downstream_spi.o .ARM.attributes - 0x00000165 0x33 Src/downstream_interface_msc.o + 0x00000165 0x33 Src/downstream_interface_msc_mock.o .ARM.attributes 0x00000198 0x33 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .ARM.attributes @@ -4239,34 +4290,34 @@ OUTPUT(Upstream.elf elf32-littlearm) .ARM.attributes 0x0000062a 0x2d /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a(sbrk.o) -.debug_frame 0x00000000 0x2290 +.debug_frame 0x00000000 0x228c .debug_frame 0x00000000 0xa8 Src/usbd_descriptors.o .debug_frame 0x000000a8 0x2d4 Src/usbd_config.o .debug_frame 0x0000037c 0x28 Src/usb_device.o - .debug_frame 0x000003a4 0x68 Src/main.o - .debug_frame 0x0000040c 0x88 Src/interrupts.o - .debug_frame 0x00000494 0x78 Src/hal_msp.o - .debug_frame 0x0000050c 0x138 Src/downstream_spi.o - .debug_frame 0x00000644 0x118 Src/downstream_interface_msc.o - .debug_frame 0x0000075c 0xc0 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_frame 0x0000081c 0x178 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_frame 0x00000994 0x1dc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_frame 0x00000b70 0x220 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o + .debug_frame 0x000003a4 0x6c Src/main.o + .debug_frame 0x00000410 0x88 Src/interrupts.o + .debug_frame 0x00000498 0x78 Src/hal_msp.o + .debug_frame 0x00000510 0x138 Src/downstream_spi.o + .debug_frame 0x00000648 0x118 Src/downstream_interface_msc_mock.o + .debug_frame 0x00000760 0xc0 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_frame 0x00000820 0x178 Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_frame 0x00000998 0x1dc Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_frame 0x00000b74 0x21c Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.o .debug_frame 0x00000d90 0x158 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.o .debug_frame 0x00000ee8 0xe8 Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.o .debug_frame 0x00000fd0 0x47c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o .debug_frame 0x0000144c 0x3d8 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o .debug_frame 0x00001824 0x13c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o .debug_frame 0x00001960 0x3c Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.o - .debug_frame 0x0000199c 0x314 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o - .debug_frame 0x00001cb0 0xc0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_frame 0x00001d70 0x110 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o - .debug_frame 0x00001e80 0x128 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_frame 0x00001fa8 0x188 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_frame 0x00002130 0x30 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o - .debug_frame 0x00002160 0x30 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) - .debug_frame 0x00002190 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-freer.o) - .debug_frame 0x000021bc 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-mallocr.o) - .debug_frame 0x000021e8 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-sbrkr.o) - .debug_frame 0x00002214 0x5c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-reent.o) - .debug_frame 0x00002270 0x20 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a(sbrk.o) + .debug_frame 0x0000199c 0x310 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.o + .debug_frame 0x00001cac 0xc0 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_frame 0x00001d6c 0x110 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o + .debug_frame 0x00001e7c 0x128 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_frame 0x00001fa4 0x188 Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_frame 0x0000212c 0x30 Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.o + .debug_frame 0x0000215c 0x30 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-malloc.o) + .debug_frame 0x0000218c 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-freer.o) + .debug_frame 0x000021b8 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-nano-mallocr.o) + .debug_frame 0x000021e4 0x2c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-sbrkr.o) + .debug_frame 0x00002210 0x5c /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libg_nano.a(lib_a-reent.o) + .debug_frame 0x0000226c 0x20 /usr/local/gcc-arm-none-eabi-4_9-2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m/libnosys.a(sbrk.o) diff --git a/Upstream/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c b/Upstream/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c index 2e4e2ac..fe5261d 100755 --- a/Upstream/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c +++ b/Upstream/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c @@ -1129,27 +1129,26 @@ static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t len32b = (len + 3) / 4; - while ( (USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) > len32b && /* SHOULD THIS BE ">=" ??????? */ + while ( (USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b && /* Changed from ">" */ ep->xfer_count < ep->xfer_len && ep->xfer_len != 0) { - /* Write the FIFO */ + /* Write the FIFO */ + USB_WritePacket(USBx, ep->xfer_buff, epnum, len, hpcd->Init.dma_enable); + + ep->xfer_buff += len; + ep->xfer_count += len; + len = ep->xfer_len - ep->xfer_count; - if (len > ep->maxpacket) { len = ep->maxpacket; } len32b = (len + 3) / 4; - - USB_WritePacket(USBx, ep->xfer_buff, epnum, len, hpcd->Init.dma_enable); - - ep->xfer_buff += len; - ep->xfer_count += len; } - if(len <= 0) //SHOULD THIS BE "if (ep->xfer_count >= ep->xfer_len)" ??????? - { //or just move USB_WritePacket up below the while check??????? + if (len <= 0) + { fifoemptymsk = 0x1 << epnum; USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; diff --git a/Upstream/Inc/board_config.h b/Upstream/Inc/board_config.h index 2484c5a..6b904bb 100644 --- a/Upstream/Inc/board_config.h +++ b/Upstream/Inc/board_config.h @@ -26,6 +26,11 @@ #define STAT_LED_ON STAT_LED_PORT->BSRR = (STAT_LED_PIN << BSRR_SHIFT_LOW) //Stat LED is active-low #define STAT_LED_OFF STAT_LED_PORT->BSRR = (STAT_LED_PIN << BSRR_SHIFT_HIGH) +#define SPI_DMA_ACTIVE_PIN GPIO_PIN_5 /////////Temporary indicator of SPI & DMA activity +#define SPI_DMA_ACTIVE_PORT GPIOB +#define SPI_DMA_ACTIVE_ON SPI_DMA_ACTIVE_PORT->BSRR = (SPI_DMA_ACTIVE_PIN << BSRR_SHIFT_LOW) +#define SPI_DMA_ACTIVE_OFF SPI_DMA_ACTIVE_PORT->BSRR = (SPI_DMA_ACTIVE_PIN << BSRR_SHIFT_HIGH) + #define SPI1_NSS_PIN GPIO_PIN_4 #define SPI1_NSS_PORT GPIOA #define SPI1_NSS_ASSERT SPI1_NSS_PORT->BSRR = (SPI1_NSS_PIN << BSRR_SHIFT_LOW) diff --git a/Upstream/Inc/downstream_interface_msc.h b/Upstream/Inc/downstream_interface_msc.h index 1bcafd2..0458abf 100644 --- a/Upstream/Inc/downstream_interface_msc.h +++ b/Upstream/Inc/downstream_interface_msc.h @@ -14,7 +14,8 @@ typedef void (*DownstreamInterfaceMSCCallbackTypeDef)(HAL_StatusTypeDef result); typedef void (*DownstreamInterfaceMSCCallbackPacketTypeDef)(HAL_StatusTypeDef result, - DownstreamPacketTypeDef* downstreamPacket); + DownstreamPacketTypeDef* downstreamPacket, + uint16_t dataLength); typedef void (*DownstreamInterfaceMSCCallbackUintPacketTypeDef)(HAL_StatusTypeDef result, uint32_t result_uint[], DownstreamPacketTypeDef* downstreamPacket); diff --git a/Upstream/Inc/downstream_spi.h b/Upstream/Inc/downstream_spi.h index af664f3..24297b7 100644 --- a/Upstream/Inc/downstream_spi.h +++ b/Upstream/Inc/downstream_spi.h @@ -9,11 +9,11 @@ #define INC_DOWNSTREAM_SPI_H_ -#include "usbd_def.h" +#include "usbd_config.h" #define DOWNSTREAM_PACKET_HEADER_LEN (2) //Min length = CommandClass & Command bytes -#define DOWNSTREAM_PACKET_LEN (DOWNSTREAM_PACKET_HEADER_LEN + USB_HS_MAX_PACKET_SIZE) +#define DOWNSTREAM_PACKET_LEN (DOWNSTREAM_PACKET_HEADER_LEN + MSC_MEDIA_PACKET) #define DOWNSTREAM_PACKET_LEN_MIN (DOWNSTREAM_PACKET_HEADER_LEN) diff --git a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c index 5a1a761..bde7f06 100755 --- a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c +++ b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c @@ -153,7 +153,7 @@ __ALIGN_BEGIN uint8_t USBD_MSC_CfgHSDesc[USB_MSC_CONFIG_DESC_SIZ] __ALIGN_END = 0x01, /* bConfigurationValue: */ 0x04, /* iConfiguration: */ 0xC0, /* bmAttributes: */ - 0x32, /* MaxPower 100 mA */ + 0xFA, /* MaxPower 500 mA */ /******************** Mass Storage interface ********************/ 0x09, /* bLength: Interface Descriptor size */ @@ -538,10 +538,13 @@ uint8_t USBD_MSC_DataOut (USBD_HandleTypeDef *pdev, uint8_t USBD_MSC_BufferFreed(USBD_HandleTypeDef *pdev) { - if (((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet != NULL) + if (((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData) != NULL) { - Downstream_ReleasePacket(((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet); - ((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet = NULL; + if (((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet != NULL) + { + Downstream_ReleasePacket(((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet); + ((USBD_MSC_BOT_HandleTypeDef*)pdev->pClassData)->bot_packet = NULL; + } } return 0; } diff --git a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c index e46ac08..83e9b9b 100755 --- a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c +++ b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c @@ -112,7 +112,8 @@ void SCSI_ReadFormatCapacityCallback(HAL_StatusTypeDef result, DownstreamPacketTypeDef* packetToUse); void SCSI_Read10BeginCallback(HAL_StatusTypeDef result); void SCSI_Read10ReplyCallback(HAL_StatusTypeDef result, - DownstreamPacketTypeDef* downstreamPacket); + DownstreamPacketTypeDef* downstreamPacket, + uint16_t dataLength); void SCSI_Write10BeginCallback(HAL_StatusTypeDef result); void SCSI_Write10FreePacketCallback(DownstreamPacketTypeDef* freePacket); @@ -599,7 +600,10 @@ static void SCSI_Read10(void) } //hmsc->bot_state is already USBD_BOT_DATA_IN - DownstreamInterface_GetStreamDataPacket(SCSI_Read10ReplyCallback); + if (DownstreamInterface_GetStreamDataPacket(SCSI_Read10ReplyCallback) != HAL_OK) + { + SCSI_Read10ReplyCallback(HAL_ERROR, NULL, 0); + } } @@ -618,17 +622,14 @@ void SCSI_Read10BeginCallback(HAL_StatusTypeDef result) if (DownstreamInterface_GetStreamDataPacket(SCSI_Read10ReplyCallback) != HAL_OK) { - SCSI_SenseCode(SCSI_ProcessCmd_pdev, - SCSI_ProcessCmd_lun, - NOT_READY, - MEDIUM_NOT_PRESENT); - SCSI_ProcessCmd_callback(-1); + SCSI_Read10ReplyCallback(HAL_ERROR, NULL, 0); } } void SCSI_Read10ReplyCallback(HAL_StatusTypeDef result, - DownstreamPacketTypeDef* downstreamPacket) + DownstreamPacketTypeDef* downstreamPacket, + uint16_t dataLength) { if (result != HAL_OK) { @@ -640,15 +641,18 @@ void SCSI_Read10ReplyCallback(HAL_StatusTypeDef result, return; } + if (SCSI_ProcessCmd_hmsc->bot_packet != NULL) + while (1); /////////////////////////////////////////! + SCSI_ProcessCmd_hmsc->bot_packet = downstreamPacket; SCSI_ProcessCmd_hmsc->bot_data = downstreamPacket->Data; USBD_LL_Transmit (SCSI_ProcessCmd_pdev, MSC_EPIN_ADDR, SCSI_ProcessCmd_hmsc->bot_data, - downstreamPacket->Length); + dataLength); /* case 6 : Hi = Di */ - SCSI_ProcessCmd_hmsc->csw.dDataResidue -= downstreamPacket->Length; + SCSI_ProcessCmd_hmsc->csw.dDataResidue -= dataLength; if (SCSI_ProcessCmd_hmsc->csw.dDataResidue == 0) { diff --git a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c index 0a8890f..ff189a3 100755 --- a/Upstream/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c +++ b/Upstream/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c @@ -103,10 +103,8 @@ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef * } /* Unlink previous class*/ -// if(pdev->pClass != NULL) -// { pdev->pClass = NULL; -// } + pdev->pClassData = NULL; /* Assign USBD Descriptors */ if(pdesc != NULL) diff --git a/Upstream/Src/downstream_interface_msc.c b/Upstream/Src/downstream_interface_msc.c index 7db5484..af06c93 100644 --- a/Upstream/Src/downstream_interface_msc.c +++ b/Upstream/Src/downstream_interface_msc.c @@ -57,12 +57,11 @@ void DownstreamInterface_TestReadyReplyCallback(DownstreamPacketTypeDef* replyPa { Downstream_ReleasePacket(replyPacket); TestReadyCallback(HAL_ERROR); + return; } - else - { - Downstream_ReleasePacket(replyPacket); - TestReadyCallback(HAL_OK); - } + + Downstream_ReleasePacket(replyPacket); + TestReadyCallback(HAL_OK); } @@ -94,15 +93,16 @@ void DownstreamInterface_GetCapacityReplyCallback(DownstreamPacketTypeDef* reply (replyPacket->CommandClass & COMMAND_CLASS_DATA_FLAG))) { GetCapacityCallback(HAL_ERROR, NULL, NULL); + return; } - uint[0] = (uint32_t)(replyPacket->Data[0]); - uint[1] = (uint32_t)(replyPacket->Data[1]); + + uint[0] = *(uint32_t*)&(replyPacket->Data[0]); + uint[1] = *(uint32_t*)&(replyPacket->Data[4]); GetCapacityCallback(HAL_OK, uint, replyPacket); //usb_msc_scsi will use this packet, so don't release now } - HAL_StatusTypeDef DownstreamInterface_BeginRead(DownstreamInterfaceMSCCallbackTypeDef callback, uint64_t readBlockStart, uint32_t readBlockCount, @@ -135,6 +135,7 @@ HAL_StatusTypeDef DownstreamInterface_BeginRead(DownstreamInterfaceMSCCallbackTy } + HAL_StatusTypeDef DownstreamInterface_GetStreamDataPacket(DownstreamInterfaceMSCCallbackPacketTypeDef callback) { GetStreamDataCallback = callback; @@ -149,13 +150,15 @@ HAL_StatusTypeDef DownstreamInterface_GetStreamDataPacket(DownstreamInterfaceMSC { DownstreamInterface_GetStreamDataPacketCallback(ReadStreamPacket); //Send it now! ReadStreamPacket = NULL; - GetStreamDataCallback = NULL; //We have used up our callback, so mark it empty. + return HAL_OK; //Our callback will call us again, so we don't need to get a packet in this case. } return Downstream_GetPacket(DownstreamInterface_GetStreamDataPacketCallback); } void DownstreamInterface_GetStreamDataPacketCallback(DownstreamPacketTypeDef* replyPacket) { + uint16_t dataLength; + ReadStreamBusy = 0; if (GetStreamDataCallback == NULL) { @@ -171,8 +174,9 @@ void DownstreamInterface_GetStreamDataPacketCallback(DownstreamPacketTypeDef* re return; } - ByteCount -= replyPacket->Length; - GetStreamDataCallback(HAL_OK, replyPacket); //usb_msc_scsi will use this packet, so don't release now + dataLength = replyPacket->Length - DOWNSTREAM_PACKET_HEADER_LEN; + ByteCount -= dataLength; + GetStreamDataCallback(HAL_OK, replyPacket, dataLength); //usb_msc_scsi will use this packet, so don't release now if (ByteCount > 0) { DownstreamInterface_GetStreamDataPacket(NULL); //Try to get the next packet now, before USB asks for it @@ -180,14 +184,13 @@ void DownstreamInterface_GetStreamDataPacketCallback(DownstreamPacketTypeDef* re } + HAL_StatusTypeDef DownstreamInterface_BeginWrite(DownstreamInterfaceMSCCallbackTypeDef callback, uint64_t readBlockStart, uint32_t readBlockCount) { DownstreamPacketTypeDef* freePacket; HAL_StatusTypeDef tempResult; - uint64_t* workDammit; - uint32_t* prettyPlease; TestReadyCallback = callback; BlockStart = readBlockStart; @@ -197,10 +200,9 @@ HAL_StatusTypeDef DownstreamInterface_BeginWrite(DownstreamInterfaceMSCCallbackT freePacket->Length = DOWNSTREAM_PACKET_HEADER_LEN + (4 * 3); freePacket->CommandClass = COMMAND_CLASS_MASS_STORAGE; freePacket->Command = COMMAND_MSC_BEGIN_WRITE; - workDammit = (uint64_t*)&(freePacket->Data[0]); - *workDammit = BlockStart; - prettyPlease = (uint32_t*)&(freePacket->Data[8]); - *prettyPlease = BlockCount; + *(uint64_t*)&(freePacket->Data[0]) = BlockStart; + *(uint32_t*)&(freePacket->Data[8]) = BlockCount; + tempResult = Downstream_SendPacket(freePacket); if (tempResult != HAL_OK) { @@ -217,15 +219,15 @@ void DownstreamInterface_BeginWriteReplyCallback(DownstreamPacketTypeDef* replyP { Downstream_ReleasePacket(replyPacket); TestReadyCallback(HAL_ERROR); + return; } - else - { - Downstream_ReleasePacket(replyPacket); - TestReadyCallback(replyPacket->Data[0]); - } + + Downstream_ReleasePacket(replyPacket); + TestReadyCallback(replyPacket->Data[0]); } + HAL_StatusTypeDef DownstreamInterface_PutStreamDataPacket(DownstreamPacketTypeDef* packetToSend, uint32_t dataLength) { diff --git a/Upstream/Src/downstream_interface_msc_mock.c b/Upstream/Src/downstream_interface_msc_mock.c new file mode 100644 index 0000000..9660ce4 --- /dev/null +++ b/Upstream/Src/downstream_interface_msc_mock.c @@ -0,0 +1,251 @@ +/* + * downstream_interface_msc_mock.c + * + * Created on: 17/07/2015 + * Author: Robert Fisk + * + * This file replaces downstream_interface_msc.c to allow operational + * testing of Upstream, without Downstream in place and communicating + * over SPI. It still attempts to write downstream packets out the SPI port. + */ + + +#include "stm32f4xx_hal.h" +#include "downstream_interface_msc.h" +#include "downstream_interface_def.h" +#include "downstream_spi.h" + + +//Stuff we need to save for our callbacks to use: +DownstreamInterfaceMSCCallbackTypeDef TestReadyCallback; +DownstreamInterfaceMSCCallbackUintPacketTypeDef GetCapacityCallback; +DownstreamInterfaceMSCCallbackPacketTypeDef GetStreamDataCallback; +uint64_t BlockStart; +uint32_t BlockCount; +uint32_t ByteCount; +DownstreamPacketTypeDef* ReadStreamPacket; +uint8_t ReadStreamBusy; + + +static void DownstreamInterface_TestReadyReplyCallback(DownstreamPacketTypeDef* replyPacket); +static void DownstreamInterface_GetCapacityReplyCallback(DownstreamPacketTypeDef* replyPacket); +static void DownstreamInterface_GetStreamDataPacketCallback(DownstreamPacketTypeDef* replyPacket); +static void DownstreamInterface_BeginWriteReplyCallback(DownstreamPacketTypeDef* replyPacket); + + + +HAL_StatusTypeDef DownstreamInterface_TestReady(DownstreamInterfaceMSCCallbackTypeDef callback) +{ + DownstreamPacketTypeDef* freePacket; + HAL_StatusTypeDef tempResult; + + TestReadyCallback = callback; + freePacket = Downstream_GetFreePacketImmediately(); + + freePacket->Length = DOWNSTREAM_PACKET_HEADER_LEN; + freePacket->CommandClass = COMMAND_CLASS_MASS_STORAGE; + freePacket->Command = COMMAND_MSC_TEST_UNIT_READY; + tempResult = Downstream_SendPacket(freePacket); + if (tempResult != HAL_OK) + { + return tempResult; + } + //return Downstream_GetPacket(DownstreamInterface_TestReadyReplyCallback); + return Downstream_GetFreePacket(DownstreamInterface_TestReadyReplyCallback); +} + +void DownstreamInterface_TestReadyReplyCallback(DownstreamPacketTypeDef* replyPacket) +{ +// if ((replyPacket->Length != (DOWNSTREAM_PACKET_HEADER_LEN + 1)) || +// (replyPacket->CommandClass & COMMAND_CLASS_DATA_FLAG) || +// (replyPacket->Data[0] != HAL_OK)) +// { +// Downstream_ReleasePacket(replyPacket); +// TestReadyCallback(HAL_ERROR); +// return; +// } + + Downstream_ReleasePacket(replyPacket); + TestReadyCallback(HAL_OK); +} + + + +HAL_StatusTypeDef DownstreamInterface_GetCapacity(DownstreamInterfaceMSCCallbackUintPacketTypeDef callback) +{ + DownstreamPacketTypeDef* freePacket; + HAL_StatusTypeDef tempResult; + + GetCapacityCallback = callback; + freePacket = Downstream_GetFreePacketImmediately(); + + freePacket->Length = DOWNSTREAM_PACKET_HEADER_LEN; + freePacket->CommandClass = COMMAND_CLASS_MASS_STORAGE; + freePacket->Command = COMMAND_MSC_GET_CAPACITY; + tempResult = Downstream_SendPacket(freePacket); + if (tempResult != HAL_OK) + { + return tempResult; + } + //return Downstream_GetPacket(DownstreamInterface_GetCapacityReplyCallback); + return Downstream_GetFreePacket(DownstreamInterface_GetCapacityReplyCallback); +} + +void DownstreamInterface_GetCapacityReplyCallback(DownstreamPacketTypeDef* replyPacket) +{ + uint32_t uint[2]; + +// if ((replyPacket->Length != (DOWNSTREAM_PACKET_HEADER_LEN + 8) || +// (replyPacket->CommandClass & COMMAND_CLASS_DATA_FLAG))) +// { +// GetCapacityCallback(HAL_ERROR, NULL, NULL); +// } + + *(uint32_t*)&(replyPacket->Data[0]) = 262144; //* 512B = 128MB + *(uint32_t*)&(replyPacket->Data[4]) = 512; + + uint[0] = *(uint32_t*)&(replyPacket->Data[0]); /////////check indexing!!! + uint[1] = *(uint32_t*)&(replyPacket->Data[4]); + GetCapacityCallback(HAL_OK, uint, replyPacket); //usb_msc_scsi will use this packet, so don't release now +} + + + +HAL_StatusTypeDef DownstreamInterface_BeginRead(DownstreamInterfaceMSCCallbackTypeDef callback, + uint64_t readBlockStart, + uint32_t readBlockCount, + uint32_t readByteCount) +{ + DownstreamPacketTypeDef* freePacket; + HAL_StatusTypeDef tempResult; + + ReadStreamPacket = NULL; //Prepare for GetStreamDataPacket's use + ReadStreamBusy = 0; + + TestReadyCallback = callback; + BlockStart = readBlockStart; + BlockCount = readBlockCount; + ByteCount = readByteCount; + freePacket = Downstream_GetFreePacketImmediately(); + + freePacket->Length = DOWNSTREAM_PACKET_HEADER_LEN + (4 * 3); + freePacket->CommandClass = COMMAND_CLASS_MASS_STORAGE; + freePacket->Command = COMMAND_MSC_BEGIN_READ; + *(uint64_t*)&(freePacket->Data[0]) = BlockStart; + *(uint32_t*)&(freePacket->Data[8]) = BlockCount; + + tempResult = Downstream_SendPacket(freePacket); + if (tempResult != HAL_OK) + { + TestReadyCallback(tempResult); + } + //return Downstream_GetPacket(DownstreamInterface_TestReadyReplyCallback); //Re-use TestReadyReplyCallback because it does exactly what we want! + return Downstream_GetFreePacket(DownstreamInterface_TestReadyReplyCallback); +} + + + +HAL_StatusTypeDef DownstreamInterface_GetStreamDataPacket(DownstreamInterfaceMSCCallbackPacketTypeDef callback) +{ + GetStreamDataCallback = callback; + + if (ReadStreamBusy != 0) + { + return HAL_OK; + } + ReadStreamBusy = 1; + + if (ReadStreamPacket && GetStreamDataCallback) //Do we have a stored packet and an address to send it? + { + DownstreamInterface_GetStreamDataPacketCallback(ReadStreamPacket); //Send it now! + ReadStreamPacket = NULL; + return HAL_OK; //Our callback will call us again, so we don't need to get a packet in this case. + } + //return Downstream_GetPacket(DownstreamInterface_GetStreamDataPacketCallback); + return Downstream_GetFreePacket(DownstreamInterface_GetStreamDataPacketCallback); +} + +void DownstreamInterface_GetStreamDataPacketCallback(DownstreamPacketTypeDef* replyPacket) +{ + uint16_t dataLength; + + ReadStreamBusy = 0; + if (GetStreamDataCallback == NULL) + { + ReadStreamPacket = replyPacket; //We used up our callback already, so save this one for later. + return; + } + +// if (((replyPacket->CommandClass & COMMAND_CLASS_DATA_FLAG) == 0) || //Any 'command' reply (as opposed to 'data' reply) is an automatic fail here +// (replyPacket->Length <= DOWNSTREAM_PACKET_HEADER_LEN) || //Should be at least one data byte in the reply. +// (replyPacket->Length > ByteCount)) +// { +// GetStreamDataCallback(HAL_ERROR, NULL); +// return; +// } + + replyPacket->Length = MIN((ByteCount + DOWNSTREAM_PACKET_HEADER_LEN), (MSC_MEDIA_PACKET + DOWNSTREAM_PACKET_HEADER_LEN)); + + dataLength = replyPacket->Length - DOWNSTREAM_PACKET_HEADER_LEN; + ByteCount -= dataLength; + GetStreamDataCallback(HAL_OK, replyPacket, dataLength); //usb_msc_scsi will use this packet, so don't release now + if (ByteCount > 0) + { + DownstreamInterface_GetStreamDataPacket(NULL); //Try to get the next packet now, before USB asks for it + } +} + + + +HAL_StatusTypeDef DownstreamInterface_BeginWrite(DownstreamInterfaceMSCCallbackTypeDef callback, + uint64_t readBlockStart, + uint32_t readBlockCount) +{ + DownstreamPacketTypeDef* freePacket; + HAL_StatusTypeDef tempResult; + + TestReadyCallback = callback; + BlockStart = readBlockStart; + BlockCount = readBlockCount; + freePacket = Downstream_GetFreePacketImmediately(); + + freePacket->Length = DOWNSTREAM_PACKET_HEADER_LEN + (4 * 3); + freePacket->CommandClass = COMMAND_CLASS_MASS_STORAGE; + freePacket->Command = COMMAND_MSC_BEGIN_WRITE; + *(uint64_t*)&(freePacket->Data[0]) = BlockStart; + *(uint32_t*)&(freePacket->Data[8]) = BlockCount; + + tempResult = Downstream_SendPacket(freePacket); + if (tempResult != HAL_OK) + { + TestReadyCallback(tempResult); + } + //return Downstream_GetPacket(DownstreamInterface_BeginWriteReplyCallback); + return Downstream_GetFreePacket(DownstreamInterface_BeginWriteReplyCallback); +} + +void DownstreamInterface_BeginWriteReplyCallback(DownstreamPacketTypeDef* replyPacket) +{ +// if ((replyPacket->Length != (DOWNSTREAM_PACKET_HEADER_LEN + 1)) || +// (replyPacket->CommandClass & COMMAND_CLASS_DATA_FLAG) || +// ((replyPacket->Data[0] != HAL_OK) && (replyPacket->Data[0] != HAL_BUSY))) +// { +// Downstream_ReleasePacket(replyPacket); +// TestReadyCallback(HAL_ERROR); +// return; +// } + + Downstream_ReleasePacket(replyPacket); + TestReadyCallback(replyPacket->Data[0]); +} + + + +HAL_StatusTypeDef DownstreamInterface_PutStreamDataPacket(DownstreamPacketTypeDef* packetToSend, + uint32_t dataLength) +{ + packetToSend->Length = dataLength + DOWNSTREAM_PACKET_HEADER_LEN; + packetToSend->CommandClass = COMMAND_CLASS_MASS_STORAGE | COMMAND_CLASS_DATA_FLAG; + packetToSend->Command = COMMAND_MSC_BEGIN_WRITE; + return Downstream_SendPacket(packetToSend); +} diff --git a/Upstream/Src/downstream_spi.c b/Upstream/Src/downstream_spi.c index 9fc81bc..db10039 100644 --- a/Upstream/Src/downstream_spi.c +++ b/Upstream/Src/downstream_spi.c @@ -136,10 +136,13 @@ DownstreamPacketTypeDef* Downstream_GetFreePacketImmediately(void) //Used by USB interface classes, and by our internal RX code. void Downstream_ReleasePacket(DownstreamPacketTypeDef* packetToRelease) { + FreePacketCallbackTypeDef tempCallback; + if (PendingFreePacketCallback != NULL) { - PendingFreePacketCallback(packetToRelease); - PendingFreePacketCallback = NULL; + tempCallback = PendingFreePacketCallback; //In extreme situations, running this callback can trigger another request for a free packet, + PendingFreePacketCallback = NULL; //thereby causing GetFreePacket to freak out. So we need to clear the callback indicator first. + tempCallback(packetToRelease); } else { @@ -234,7 +237,7 @@ void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) { if ((PendingFreePacketCallback != NULL) && (NextTxPacket == NULL)) { - SPI_INTERFACE_FREAKOUT_VOID; + //SPI_INTERFACE_FREAKOUT_VOID; ///////////////////////////////////////! } Downstream_ReleasePacket(CurrentWorkingPacket); diff --git a/Upstream/Src/hal_msp.c b/Upstream/Src/hal_msp.c index 1e3faae..ab69075 100755 --- a/Upstream/Src/hal_msp.c +++ b/Upstream/Src/hal_msp.c @@ -120,7 +120,10 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) //Configure downstream request pin and interrupt GPIO_InitStruct.Pin = DOWNSTREAM_TX_OK_PIN; GPIO_InitStruct.Mode = GPIO_MODE_INPUT | GPIO_MODE_IT_FALLING; - GPIO_InitStruct.Pull = GPIO_PULLUP; + + //GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; ////////////////////////////////////////////////! + HAL_GPIO_Init(DOWNSTREAM_TX_OK_PORT, &GPIO_InitStruct); HAL_NVIC_SetPriority(EXTI3_IRQn, INT_PRIORITY_SPI_DMA, 0); HAL_NVIC_EnableIRQ(EXTI3_IRQn); diff --git a/Upstream/Src/interrupts.c b/Upstream/Src/interrupts.c index 74aa428..279e9e9 100755 --- a/Upstream/Src/interrupts.c +++ b/Upstream/Src/interrupts.c @@ -36,6 +36,8 @@ #include "stm32f4xx_hal.h" #include "stm32f4xx.h" #include "board_config.h" +#include "downstream_spi.h" + /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ @@ -70,18 +72,24 @@ void OTG_FS_IRQHandler(void) void DMA2_Stream2_IRQHandler(void) { + SPI_DMA_ACTIVE_ON; HAL_DMA_IRQHandler(&spiRxDmaHandle); + SPI_DMA_ACTIVE_OFF; } void DMA2_Stream3_IRQHandler(void) { + SPI_DMA_ACTIVE_ON; HAL_DMA_IRQHandler(&spiTxDmaHandle); + SPI_DMA_ACTIVE_OFF; } void EXTI3_IRQHandler(void) { + SPI_DMA_ACTIVE_ON; __HAL_GPIO_EXTI_CLEAR_IT(3); Downstream_TxOkInterrupt(); + SPI_DMA_ACTIVE_OFF; } ///////////////////////// ///////////////////////// diff --git a/Upstream/Src/main.c b/Upstream/Src/main.c index ed19f43..f2227e4 100755 --- a/Upstream/Src/main.c +++ b/Upstream/Src/main.c @@ -150,7 +150,14 @@ void GPIO_Init(void) GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(STAT_LED_PORT, &GPIO_InitStruct); - STAT_LED_PORT->BSRR = STAT_LED_OFF; + STAT_LED_OFF; + + //SPI_DMA_ACTIVE indicator + GPIO_InitStruct.Pin = SPI_DMA_ACTIVE_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(SPI_DMA_ACTIVE_PORT, &GPIO_InitStruct); + SPI_DMA_ACTIVE_OFF; } /* USER CODE BEGIN 4 */