diff --git a/Exe/POCKET.ELF b/Exe/POCKET.ELF index e86408a..eb822fe 100755 Binary files a/Exe/POCKET.ELF and b/Exe/POCKET.ELF differ diff --git a/Exe/POCKET.HEX b/Exe/POCKET.HEX index 5d4a4a9..a7fbb1b 100644 --- a/Exe/POCKET.HEX +++ b/Exe/POCKET.HEX @@ -1,8 +1,8 @@ :100000000C9439030C9461030C9461030C94610308 :100010000C9461030C9461030C9461030C946103D0 -:100020000C9461030C9461030C9461030C94561EB0 +:100020000C9461030C9461030C9461030C94DF1E27 :100030000C9461030C9461030C9461030C946103B0 -:100040000C943B1F0C9461030C9461030C946103AA +:100040000C94C41F0C9461030C9461030C94610321 :100050000C9461030C9461030C9461030C94610390 :100060000C9461030C946103506F636B65742045BD :100070006D70697265730080007B00517569740052 @@ -100,1197 +100,1215 @@ :100630000408102001020408102004040404040427 :100640000404020202020202030303030303000084 :1006500000002300260029000000000025002800DB -:100660002B0000000000240027002A007403BF03B1 -:10067000C30311241FBECFEFD8E0DEBFCDBF11E012 -:10068000A0E0B1E0E8E7F0E502C005900D92AE35DC -:10069000B107D9F727E0AEE5B1E001C01D92A5365C +:100660002B0000000000240027002A007403C403AC +:10067000C80311241FBECFEFD8E0DEBFCDBF11E00D +:10068000A0E0B1E0E8E9F1E502C005900D92A835DF +:10069000B107D9F727E0A8E5B1E001C01D92AF3559 :1006A000B207E1F713E0C8E3D3E004C02197FE01ED -:1006B0000E94A723C633D107C9F70E9463030C9495 -:1006C0002F280C9400000E94DC1F0E9446048EE537 -:1006D00091E00E94731B68E670E08EE591E00E9455 -:1006E000F61A0E94F40EF7CF1092AF011092AE01ED -:1006F00082E591E09093AD018093AC0108958EEE78 -:1007000091E00E94800787E890E09093ED0180934C -:10071000EC0182E08093EB011092E9011092EA0172 -:1007200086E28093E50184E18093E6010E94B904AA -:1007300086E090E00E943C06882349F042E067E7AB -:1007400070E08EE591E00E943118811108958EEEDF -:1007500091E00E94D80B0E94700681110E94C7038D -:100760000E94C1048823E1F38EEE91E00E94BD0651 -:1007700085EE91E00E94D2040E94E303D9CF8EEE71 -:1007800091E00C9480068EEE91E00C9481068091AD -:10079000F304811117C081E08093F3043091F404D5 -:1007A0002091F5048091F6048091F7048091F8047B -:1007B0008091F9048091FA048091FB04832F922F99 -:1007C0000C94372508952091F4043091F50440915C -:1007D000F6045091F7046091F8047091F904809147 -:1007E000FA049091FB04A1E00E949B232093F4045F -:1007F0003093F5044093F6045093F7046093F804A3 -:100800007093F9048093FA049093FB0408958F92F7 -:100810009F92AF92BF92CF92DF92EF92FF924B01E5 -:100820005C0169017A010E943225BC01990F880B95 -:10083000990BC818D908EA08FB08A70196012F5F91 -:100840003F4F4F4F5F4F0E944F23680D791D8A1D08 -:100850009B1DFF90EF90DF90CF90BF90AF909F9047 -:100860008F900895E1E9F4E01386128611861086D0 -:1008700010821182128213821482158216821782CC -:100880003C9684E0E13FF80779F708951092F4046C -:100890001092F5041092F6041092F7041092F804E6 -:1008A0001092F9041092FA041092FB041092F204D0 -:1008B0000E9432041092F104089550E0480F511D37 -:1008C00087FD5A9557FD0CC0843554F430E0260F4F -:1008D000311D67FD3A9537FD03C081E060330CF0B0 -:1008E00080E00895DC01643508F042C0403308F030 -:1008F0003FC090968C919097E62F062E000CFF0B30 -:10090000242F25952595259594E52902E00DF11DC7 -:100910001124EA5AFA4F2081342F37708230A1F423 -:10092000822F90E0032E02C0959587950A94E2F7F6 -:1009300080958170882399F081E090E001C0880F54 -:100940003A95EAF7822B13C08330A1F71C968C915D -:100950006427062E000C770B682760FDEDCF81E041 -:1009600090E001C0880F3A95EAF780958223808352 -:1009700008951092B20166E273E08CEA91E00C9463 -:100980009C148EE591E00E94791791E0811101C0DD -:1009900090E0892F0895FC0123814281618180814B -:1009A0000C945D04EF920F931F93CF93DF93EC01B0 -:1009B0000E94CB048823E1F01091CC0140E06E81CD -:1009C0008CEA91E00E94EF0F2F813885ED800C8139 -:1009D000498168818CEA91E00E94B513612F8CEA0D -:1009E00091E0DF91CF911F910F91EF900C94EB0F5D -:1009F000DF91CF911F910F91EF900895FC018491A9 -:100A000008950196FC01849108954CE3BC018EE5A4 -:100A100091E00C9451160F931F93CF93DF938C01A9 -:100A2000C091CA01D091CB0122974093B501209388 -:100A3000B6018CEA91E00E949C1440E061E08CEAEF -:100A400091E00E94EF0FB8018CEA91E00E94A5218D -:100A5000209749F0BE018CEA91E0DF91CF911F9180 -:100A60000F910C949C14DF91CF911F910F910895D9 -:100A7000242F462F66E273E00C940B05FF920F9330 -:100A80001F93CF93DF93D82F162FC42FF22E242F2E -:100A90000E945D048823C1F00091CC016F2D8CEA87 -:100AA00091E00E94EB0F2C2F412F6D2F8CEA91E0EB -:100AB0000E947C10602F8CEA91E0DF91CF911F9112 -:100AC0000F91FF900C94EB0FDF91CF911F910F913D -:100AD000FF900895EF92FF920F931F93CF93DF93B0 -:100AE000C82FD62F142FF22E0E945D048823D1F038 -:100AF000E090CC01602F8CEA91E00E94EB0F0F2D6B -:100B0000212F4D2F6C2F8CEA91E00E942B106E2D1F -:100B10008CEA91E0DF91CF911F910F91FF90EF90C0 -:100B20000C94EB0FDF91CF911F910F91FF90EF90FD -:100B30000895EF92FF920F931F93CF93DF93C82FE7 -:100B4000D62F142FF22E0E945D048823D1F0E0905E -:100B5000CC01602F8CEA91E00E94EB0F0F2D212F2A -:100B60004D2F6C2F8CEA91E00E9453106E2D8CEA71 -:100B700091E0DF91CF911F910F91FF90EF900C9436 -:100B8000EB0FDF91CF911F910F91FF90EF900895A0 -:100B9000CF92DF92FF920F931F93CF93DF93CDB746 -:100BA000DEB728970FB6F894DEBF0FBECDBF6C013D -:100BB00060E08CEA91E00E94EB0F05E024E540E064 -:100BC00060E08CEA91E00E945310F60180811F9250 -:100BD0008F9386E091E09F938F931F9288E0F82E89 -:100BE000FF928E010F5F1F4F1F930F930E944225AC -:100BF00021E044E064EA71E0C8010E940B05F601BF -:100C000081811F928F938BE091E09F938F931F922E -:100C1000FF921F930F930E94422521E048E164EA6E -:100C200071E0C8010E940B05F60182811F928F932B -:100C300080E191E09F938F931F92FF921F930F93F8 -:100C40000E94422521E040E364EA71E0C8010E946D -:100C50000B050FB6F894DEBF0FBECDBF28960FB6BA -:100C6000F894DEBF0FBECDBFDF91CF911F910F91E2 -:100C7000FF90DF90CF900895682F88E691E00E9462 -:100C80004A0F91E0811101C090E0892F0895CF9320 -:100C9000C62F682F88E691E00E94690F91E0C8177F -:100CA00008F090E0892FCF91089560E00C944706FA -:100CB00081E090E00E945506811110C083E090E031 -:100CC0000E94550681110AC090E080E00E945506FE -:100CD000811104C082E090E00C94550681E00895F3 -:100CE0000E94580681110AC084E090E00E945506D7 -:100CF000811104C085E090E00C94550681E00895D0 -:100D0000089508950F931F93CF93DF93CDB7DEB768 -:100D100028970FB6F894DEBF0FBECDBF162F00E0A8 -:100D200028E044E56BE280E00E9499051F921F9342 -:100D300085E191E09F938F931F9288E08F938E01BE -:100D40000F5F1F4F1F930F930E9442252CE244E038 -:100D500064EA71E0C8010E940B050FB6F894DEBF8B -:100D60000FBECDBF28960FB6F894DEBF0FBECDBF25 -:100D7000DF91CF911F910F9108958F929F92AF9223 -:100D8000BF92CF92DF92EF92FF920F931F93CF9378 -:100D9000DF93EC018C010C5E1F4FF12CE12C912CA8 -:100DA0006C0182E6C81A8DEFD80A5E01EBE6AE1A36 -:100DB000EDEFBE0AF80187858823D9F0F60180811E -:100DC0008F3F39F0082E000C990B41E08E159F05DE -:100DD00009F040E0B501C8010E94640DF801808867 -:100DE000882039F0911005C06085CE010E948206EE -:100DF000982CFFEFEF1AFF0A0C5E1F4F80E2E816F7 -:100E0000F104C1F6992091F001E023E04AE06CE2A0 -:100E100084E40E946A05CF55DD4F4881442331F0B8 -:100E2000440F23E06CE284E40E949905DF91CF91A6 -:100E30001F910F91FF90EF90DF90CF90BF90AF90F8 -:100E40009F908F900895CF92DF92EF92FF920F9331 -:100E50001F93CF93DF9300D000D000D0CDB7DEB783 -:100E60006B0109831A832B833C837C012CE6E21AF5 -:100E70002DEFF20AF7014081403208F03FC054E103 -:100E8000242F30E08C01549F000D111D1124F80116 -:100E9000658F2F5F3F4F529FB001539F700D1124FC -:100EA000860F971F29813A81FC01318320838B8132 -:100EB0009C81F801978B868B8C2D0E94820EF80105 -:100EC000848F81E083A3F2E0CF16D1040CF480E09C -:100ED000F80181A3F70180818F5F808381E02696EE -:100EE0000FB6F894DEBF0FBECDBFDF91CF911F913B -:100EF0000F91FF90EF90DF90CF90089580E0EFCFBB -:100F0000EF92FF920F931F93CF93DF9300D000D007 -:100F100000D0CDB7DEB77C018C010C561D4FD80137 -:100F20001C92FC01E256FD4F8FEF8083C7018B5668 -:100F30009D4F0E940E0C0E94FC0CF701749684E1F8 -:100F4000DF01982F1D929A95E9F77496E017F10743 -:100F5000B9F789E1D70151968C93519782E3529664 -:100F60008C9352978BE453968C9324E130E040E0CD -:100F700050E060E070E0CB010E9407047A8369834F -:100F800024E130E040E050E060E070E0CB010E94FE -:100F90000704262F7C836B8309811A813C814D8154 -:100FA0005E8162E070E0C7010E942307811104C0E6 -:100FB00088EA90E00E94050528E330E040E050E038 -:100FC00060E370E080E090E00E9407047A83698328 -:100FD00028E330E040E050E060E370E080E090E043 -:100FE0000E9407047C836B8380E00E94500D8D83F8 -:100FF00080E00E945A0DF701EF55FD4F10823196A7 -:101000001082329710823397108209811A812B81C6 -:101010003C814D81582F70E060E0C7010E9423079A -:10102000811110C081E990E026960FB6F894DEBFDA -:101030000FBECDBFDF91CF911F910F91FF90EF9029 -:101040000C94050526960FB6F894DEBF0FBECDBFF3 -:10105000DF91CF911F910F91FF90EF900895CF9363 -:10106000DF9300D000D000D0CDB7DEB7FC01E95649 -:10107000FD4F2081318144E150E0421B530B8B56E0 -:101080009D4FFC018081918126E230E0281B390BC5 -:101090003A8329835C834B833A815C8168E078E002 -:1010A00080E090E026960FB6F894DEBF0FBECDBF6D -:1010B000DF91CF9108953F924F925F926F927F920E -:1010C0008F929F92AF92BF92CF92DF92EF92FF9258 -:1010D0000F931F93CF93DF9300D000D000D0CDB7F4 -:1010E000DEB75C018C01912C88248A9444244A94B4 -:1010F000542C3201F80183A1882309F444C084A14F -:10110000811141C0C5010E942F0829833A834B8376 -:101110005C836D837E83F801C488D588E688F78870 -:10112000858D0E94500D382EF801858D0E945A0D34 -:1011300029813A81C21AD30A232D30E035952795AB -:10114000C20ED31E2B813C81E21AF30A90E09595E2 -:101150008795E80EF91ECC9CC001CD9C900D900D9A -:101160001124EE9C9001EF9C300D300D1124820F64 -:10117000931FB0E0A0E084159505A605B70518F407 -:10118000892C2C013D010C5E1F4F9394F0E29F12BD -:10119000B1CFF501E256FD4F808226960FB6F89446 -:1011A000DEBF0FBECDBFDF91CF911F910F91FF909A -:1011B000EF90DF90CF90BF90AF909F908F907F90F7 -:1011C0006F905F904F903F900895FC01E356FD4F64 -:1011D0002081222351F033962081211106C03196BF -:1011E0008081853010F48F5F808308955F926F92C5 -:1011F0007F928F929F92AF92BF92CF92DF92EF92A7 -:10120000FF920F931F93CF93DF9300D000D000D0B5 -:10121000CDB7DEB77C016C012FE5C21A2DEFD20AE3 -:10122000F6018081970120563D4F5901853090F598 -:10123000339780818F3F71F0F70134E18302E00D35 -:10124000F11D112481E084A3F701E356FD4F808353 -:1012500035961082F601108281E0F601908195307A -:1012600008F480E0F501808326960FB6F894DEBF7F -:101270000FBECDBFDF91CF911F910F91FF90EF90E7 -:10128000DF90CF90BF90AF909F908F907F906F90A6 -:101290005F900895F90180818823F1F2F70190E0D1 -:1012A00080E0D701AE55BD4F24A18C010F5F1F4FC9 -:1012B000222309F45AC02C91223009F056C024E1AF -:1012C000522E589E3001599E700C11246E0C7F1CBA -:1012D000F301858D0E94500D882EF301858D0E94AB -:1012E0005A0D982E509EF001519EF00D1124EE0DD6 -:1012F000FF1D0081882D90E09C0135952795280FD2 -:10130000391F032E000C440B550B682D70E090E044 -:1013100080E00E940704060FF3011689892D90E0F2 -:101320009C0135952795280F391F032E000C440B7F -:10133000550B692D70E090E080E00E9407041E824A -:101340001D82802F90E09A838983160F612F70E0B1 -:10135000212F7C836B831A813C8140E05E8170E0A9 -:1013600060E0C7010E94230777CFC801749600325E -:10137000110509F099CF70CFCF93DF93EC01C356DD -:10138000DD4F28812223D9F0DC01A156BD4F2C91DD -:101390002530C0F0FC019C0120583D4F44A1411173 -:1013A00014A27496E217F307C9F71C921882FC0185 -:1013B000E056FD4F10828F559D4FFC011082DF914A -:1013C000CF9108952F5F2C93FACFCF92DF92EF92B7 -:1013D000FF920F931F93CF93DF9300D000D000D0E4 -:1013E000CDB7DEB78C01FC01E356FD4F8081882329 -:1013F00009F1C8010E942F0829833A834B835C833B -:101400006D837E83F801680120E8C21A2DEFD20AAD -:1014100084A19F012C5E3F4F7901882339F04B81D5 -:101420005C8169817A81C9010E94880EF701EC1400 -:10143000FD0471F7F801E156FD4F108226960FB6B4 -:10144000F894DEBF0FBECDBFDF91CF911F910F91FA -:10145000FF90EF90DF90CF9008954F925F926F9240 -:101460007F928F929F92AF92BF92CF92DF92EF9234 -:10147000FF920F931F93CF93DF93CDB7DEB72897DB -:101480000FB6F894DEBF0FBECDBF8C01FC01E05655 -:10149000FD4F8081882309F457C0380120E8621A83 -:1014A0002DEF720A82E1C82E81E0D82E98E0592EE5 -:1014B000CE0101967C0124E5422E58019EE5A91A31 -:1014C0009DEFB90AF80184A10C5E1F4F8823C1F17A -:1014D000C8010E94D60E882E912C1F928F93DF9206 -:1014E000CF921F925F92FF92EF920E944225F701E6 -:1014F00001900020E9F73197EE19FF09EE0FEE0F8A -:10150000EE0F642D6E1B46E2C7010E943805F501FF -:1015100090818FEF890F0FB6F894DEBF0FBECDBF5D -:10152000981771F0893008F087E09401082E02C006 -:10153000359527950A94E2F720FF1DC0F5018083B9 -:101540000615170509F0BECF28960FB6F894DEBF32 -:101550000FBECDBFDF91CF911F910F91FF90EF9004 -:10156000DF90CF90BF90AF909F908F907F906F90C3 -:101570005F904F9008958150D3CF4F925F926F92BA -:101580007F928F929F92AF92BF92CF92DF92EF9213 -:10159000FF920F931F93CF93DF93CDB7DEB72897BA -:1015A0000FB6F894DEBF0FBECDBF8C01FC01E05634 -:1015B000FD4F8081882309F457C0380120E8621A62 -:1015C0002DEF720A82E1C82E81E0D82E98E0592EC4 -:1015D000CE0101967C0124E5422E58019EE5A91A10 -:1015E0009DEFB90AF80184A10C5E1F4F8823C1F159 -:1015F000C8010E94D60E882E912C1F928F93DF92E5 -:10160000CF921F925F92FF92EF920E944225F701C4 -:1016100001900020E9F73197EE19FF09EE0FEE0F68 -:10162000EE0F642D6E1B46E2C7010E943805F501DE -:10163000908181E0890F0FB6F894DEBF0FBECDBF59 -:10164000981771F0883008F080E09401082E02C0ED -:10165000359527950A94E2F720FF1DC0F501808398 -:101660000615170509F0BECF28960FB6F894DEBF11 -:101670000FBECDBFDF91CF911F910F91FF90EF90E3 -:10168000DF90CF90BF90AF909F908F907F906F90A2 -:101690005F904F9008958F5FD3CF0F931F93CF9399 -:1016A000DF93EC01FC01E056FD4F8081882399F126 -:1016B000FE0190E080E024A10196222341F144E163 -:1016C000489F9001499F300D1124CE01820F931F36 -:1016D0000E94D60E90E08E010E551D4FF80120811C -:1016E00002C0959587952A95E2F780FD03C0CE014B -:1016F0000E94BD0AF801808190E00E94DE0E4CE25B -:1017000068E2DF91CF911F910F910C943805749688 -:101710008032910581F6DF91CF911F910F9108954D -:10172000CF93DF93EC0184E090E00E94550688237C -:1017300029F0CE01DF91CF910C94E50884E090E090 -:101740000E943C06882329F0CE01DF91CF910C94B2 -:10175000F60885E090E00E945506882329F0CE0126 -:10176000DF91CF910C94BC0985E090E00E943C068B -:10177000882329F0CE01DF91CF910C94E50990E008 -:1017800080E00E943C06882329F0CE01DF91CF91B2 -:101790000C942D0A82E090E00E943C06882329F0F8 -:1017A000CE01DF91CF910C94BD0ADF91CF910895C6 -:1017B000EF92FF920F931F93CF93DF93EC018C0175 -:1017C0000B561D4FFC01E056FD4F6081C8010E9481 -:1017D000F40CC8010E94560CCE010E945B0801580F -:1017E00012407E018CE6E81A8DEFF80AC8010E94CB -:1017F000900E0C5E1F4F0E151F05C1F7CE010E9403 -:101800004D0BCE010E94900BCE014196DF91CF91FE -:101810001F910F91FF90EF900C94C805FC0111826D -:101820001082138212821482158283E086831782CB -:101830000895CF93DF93CDB7DEB72C970FB6F8940A -:10184000DEBF0FBECDBF1C861B86FC01228133810B -:10185000420F531F80819181680F791F78876F83B2 -:101860005A87498786E0FE013796DE01119601907E -:101870000D928A95E1F729813A814B815C816D81D6 -:101880007E8180E090E02C960FB6F894DEBF0FBE0C -:10189000CDBFDF91CF910895FC019081490FDB010D -:1018A0004C938281280F11962C930895CF93DF9348 -:1018B000EC018F81882319F01C821D821BC08E8150 -:1018C0008330D8F48F5F8E832C8188819981820F39 -:1018D000911D27FD9A9597FF80C0998388832D815C -:1018E0008A819B81820F911D27FD9A9597FF79C070 -:1018F0009B838A83DF91CF9108951E820E945806B0 -:10190000882369F190E080E00E945506882329F041 -:101910008C8187FF47C08E5F8C8381E090E00E94BE -:101920005506882329F08D8187FF41C08E5F8D8306 -:1019300083E090E00E945506882331F08D811816CF -:101940000CF03AC082508D8382E090E00E945506F0 -:10195000882329F08C8118169CF582508C8390E0A6 -:1019600080E00E94550681110BC082E090E00E9449 -:101970005506811105C08C81181634F581508C8371 -:1019800081E090E00E94550681119ECF83E090E0B7 -:101990000E945506811198CF8D811816CCF4815084 -:1019A0008D8392CF85300CF0B8CF8F5FB5CF853067 -:1019B0000CF0BECF8F5FBBCF8C3F34F28150C3CFD2 -:1019C0008C3F6CF28150CACF8823D1F28F5FD7CF82 -:1019D000882309F479CF8F5FE3CF198218821C82A4 -:1019E0007ECF1B821A8269CFFC016783089521E0B4 -:1019F000FC01218B08950895FF920F931F93CF93BD -:101A0000DF9309E215E087E591E0F801908787838D -:101A10000E94FE04F801828387E591E00E9401059F -:101A2000F801838315821482FF24F394F682CCEFAD -:101A3000D4E081E691E098878F830E94FE048A8338 -:101A400081E691E00E9401058B831D821C82FE824B -:101A50008DE091E0F801928F818F0E94FE04F801E1 -:101A6000848B8DE091E00E940105F801858B178A37 -:101A7000168AF08E83EC90E09A8F898F0E94FE0484 -:101A80008C8B83EC90E00E9401058D8B1F8A1E8A4F -:101A900083E0888FDF91CF911F910F91FF90089580 -:101AA00099E0899FF0011124E75DFA4F87819085C5 -:101AB0000C94FE0499E0899FF0011124E75DFA4F30 -:101AC000878190850C9401058F929F92AF92BF926F -:101AD000CF92DF92EF92FF920F931F93CF93DF93FA -:101AE00000D000D000D0CDB7DEB77C016B01842ED2 -:101AF000DC011F968C911F97882309F480C01996EA -:101B00009C90E92DF0E0B9E09B9E80011124D70163 -:101B10001D968C911D978111B3C01E968C918823C0 -:101B200009F480C004501B4FF801148215828823E9 -:101B300051F0D70153968C9153978F5F853008F001 -:101B400074C053968C93D7011A968D919C911B97D4 -:101B50008130910509F48AC008F484C0823091056F -:101B600009F46AC0039709F473C0F7012281338135 -:101B700040815181B801C6010E944C0CC8010E94ED -:101B8000D204811005C0D70150968C918823B9F1F9 -:101B9000F7014281538160817181C6010E94190C55 -:101BA00029833A834B835C83C980DA80AB80BC8015 -:101BB000D70150968C9101E0811101C003E0892D7D -:101BC0000E94500D182F892D0E945A0DF7019585FE -:101BD000992309F477C0282F26952695280F412FA1 -:101BE00046954695410F8695869586956A2D681B84 -:101BF0001695169516958C2D811B0E946A052696C2 -:101C00000FB6F894DEBF0FBECDBFDF91CF911F910D -:101C10000F91FF90EF90DF90CF90BF90AF909F908B -:101C20008F900895075D1A4F7FCFF701138A84853F -:101C300091E08927848787CF82E0F8018583D701E7 -:101C40001C968C91882309F490CF83E085838DCFF7 -:101C5000F7018485882309F488CF81E0D80115969F -:101C60008C9383CF81E0F8018483E8CF81E0F80191 -:101C700084831C968C91882309F477CF82E0E6CF89 -:101C8000C80184509B4F5C01EE0FFF1FE95EFE4FC1 -:101C9000818112962D913C911397280F311D87FD5C -:101CA0003A9580814D915C91480F511D87FD5A9561 -:101CB000B501C6010E944C0CC5010E94D204075D0B -:101CC0001A4F53CF682F66956A0D7B2D711D812F9A -:101CD0008695202F412F8C0D9D2D911D26960FB698 -:101CE000F894DEBF0FBECDBFDF91CF911F910F9152 -:101CF000FF90EF90DF90CF90BF90AF909F908F902C -:101D00000C943E05E82FF0E0E75BFE4F80810895DC -:101D1000FC01758364835783468381E08687089539 -:101D2000FC012685222331F140815181A185B0E05B -:101D3000AC5BBE4F8C9190E0DA01A81BB90B6481BB -:101D400075816A177B07B8F413861286B183A08366 -:101D5000322F62817381DB01A81BB90B4681578149 -:101D60004A175B07A8F482E090E093878287B383E9 -:101D7000A28326870895480F591F30E0461757075A -:101D800040F761E070E07387628751834083E0CF62 -:101D9000860F971F8417950738F443E050E0538768 -:101DA000428793838283E5CF232FE3CFDC0119960B -:101DB000EC91F0E0E15EFE4F80810895880F991F5D -:101DC000880F991FFC01E85CFE4F80819181089586 -:101DD000BC016F5F7F4F80E1FB0111928A95E9F7AB -:101DE0008EE591E00C94CE1B43E06BE671E08EE54E -:101DF00091E00E943118811106C08EEE91E00E94A0 -:101E0000E80E0C947F030895FC0188E0808389E04C -:101E1000818387E0828386E0838384E0848382E019 -:101E2000858381E186830895FF920F931F93CF935B -:101E3000DF93EC018C01095F1F4FFF24FA9462E0ED -:101E400088810E94B82088810E9422212F81892BBD -:101E500081F42F5F2F8360E088810E94B820219653 -:101E6000C017D10761F7DF91CF911F910F91FF90BC -:101E700008952223A1F32F3F11F41F82ECCFFF829C -:101E8000EACFFC01E60FF11D81E09781913009F066 -:101E900080E00895FC01E60FF11D81E097819F3FEE -:101EA00009F080E00895860F911DFC018781423082 -:101EB00038F49FEF980F81E09E3F50F080E008C01B -:101EC0008F3FE1F3642F0E941B2381E09130B1F733 -:101ED0000895860F911DFC0187818F3F09F480E0F2 -:101EE00008958EBD0DB407FEFDCF8EB508951F93E6 -:101EF000CF93DF93EC01162FF89460E08F850E945A -:101F0000F420888918161CF460E00E94F420812FC8 -:101F10000E94710F888918161CF461E00E94F42059 -:101F20007894DF91CF911F910895E6E5F5E028EFD1 -:101F300031E0DF01A9011D9241505040E1F7DC0181 -:101F400019961C9219971A961C920895CF92DF92B7 -:101F5000EF92FF920F931F93CF93DF93EC018C8549 -:101F60008F5F8C8786E5E82E85E0F82E10E0612FE4 -:101F70006064CE010E94770F60E8CE010E94770F67 -:101F800061E08F850E94F420888918161CF460E0B7 -:101F90000E94F420670104E5F60181916F010E941F -:101FA000710F0150C9F7888918161CF461E00E946E -:101FB000F4201F5FF4E5EF0EF11C1630C1F660E46B -:101FC000CE01DF91CF911F910F91FF90EF90DF90A5 -:101FD000CF900C94770FFC0160A361A30895FC01DE -:101FE00060A341A30895EF92FF920F931F93CF93A5 -:101FF000DF938C01D62FF42EE22EC0E0CE1544F4F0 -:102000004F2D4C0F6D2FC8010E947204CF5FF6CF89 -:10201000DF91CF911F910F91FF90EF900895EF9274 -:10202000FF920F931F93CF93DF938C01F62ED42F43 -:10203000E22EC0E0CE1544F46F2D6C0F4D2FC80179 -:102040000E947204CF5FF6CFDF91CF911F910F9165 -:10205000FF90EF900895EF92FF920F931F93CF930D -:10206000DF937C01162FD42FC22F0E940F104FEF49 -:10207000400F4D0F2C2F612FC7010E940F10202FF2 -:102080004D2F612FC7010E94F30F6FEF6C0F610F8F -:10209000202F4D2FC701DF91CF911F910F91FF90FE -:1020A000EF900C94F30FDF92EF92FF920F931F9338 -:1020B000CF93DF937C01D62FD22EC42F002E000C9D -:1020C000110B040F111D47FD1A958C2F0C2E000CBF -:1020D000990B8017910744F42D2D4C2F6D2FC701BC -:1020E0000E940F10CF5FF1CFDF91CF911F910F9121 -:1020F000FF90EF90DF9008959F92AF92BF92CF92A2 -:10210000DF92EF92FF920F931F93CF93DF938C0197 -:10211000E62EF42EC22F81E0D82ED21AC22EC19400 -:10212000CC0C422F4F0DC8010E9472044F2D4C1B46 -:102130006E2DC8010E9472046C2F6E0D4F2DC801C8 -:102140000E9472046E2D6C1B4F2DC8010E947204F8 -:10215000D0E0DC170CF044C0D7FC04C0C150C394DD -:10216000C394DC0CDF5F8D2F880F8F5FD80E9E2C01 -:102170009D0EBF2CBC0E4B2D692DC8010E94720410 -:10218000AE2CAD1A4B2D6A2DC8010E947204BF2CD3 -:10219000BC1A4B2D692DC8010E9472044B2D6A2D6B -:1021A000C8010E947204BF2CBD0E4B2DAE2CAC0E8C -:1021B0006A2DC8010E9472044B2DBE2CBC1A6B2DD7 -:1021C000C8010E9472049F2C9D1A492D6A2DC801D6 -:1021D0000E947204492D6B2DC8010E947204B9CF70 -:1021E000DF91CF911F910F91FF90EF90DF90CF90F3 -:1021F000BF90AF909F9008958F929F92AF92BF92A1 -:10220000CF92DF92EF92FF920F931F93CF93DF93C2 -:102210007C01162FD42EC22F81E0C82EC21AB22EF6 -:10222000B194BB0CD0E0802F8470A82E802F8270D8 -:10223000982E802F8870882E0170DC170CF04DC00E -:10224000C7FC04C0C150B394B394CB0CDF5F8D2F97 -:10225000880F8F5FC80EAA2071F04D2D4C0F612F93 -:102260006D0FC7010E9472044D2D4D0F6C2F610F31 -:10227000C7010E947204992071F04D2D4C1B612FF3 -:102280006D0FC7010E9472044D2D4D1B6C2F610F05 -:10229000C7010E947204882071F04D2D4D0F612FEF -:1022A0006C1BC7010E9472044D2D4C0F612F6D1BDA -:1022B000C7010E947204002309F4BFCF4D2D4D1BAE -:1022C000612F6C1BC7010E9472044D2D4C1B612FA6 -:1022D0006D1BC7010E947204B0CFDF91CF911F9197 -:1022E0000F91FF90EF90DF90CF90BF90AF909F90B5 -:1022F0008F9008957F928F929F92AF92BF92CF92CC -:10230000DF92EF92FF920F931F93CF93DF935C01C5 -:10231000C62E942EC22F11E0121BD22ED194DD0CAA -:1023200083E0F82ED0E0802F8170782E882483946B -:102330008E0C0270DC17ACF517FD04C0C150D394AD -:10234000D3941D0DDF5F1F0D772099F02C2F220FE6 -:10235000280D492D4C1B6C2D6D0FC5010E94F30FEC -:102360002E2D2F0D492D4D1B6C2F6C0DC5010E947C -:10237000F30F002399F02C2F220F280D492D4C1B11 -:102380006C2D6D1BC5010E94F30F2E2D2F0D492DB5 -:102390004D1B6C2D6C1BC5010E94F30FF394F3943D -:1023A000C9CFDF91CF911F910F91FF90EF90DF90F8 -:1023B000CF90BF90AF909F908F907F9008959F9205 -:1023C000AF92BF92CF92DF92EF92FF920F931F9343 -:1023D000CF93DF93EC01B62E142FD22EAE2CAA0C85 -:1023E000922E9A18CE2CC60E292D6C2D0E940F10FD -:1023F000FF24FA94F00EF10E292D4F2D6C2DCE01F5 -:102400000E940F100A191E0D202F412F6B2DCE0197 -:102410000E94F30FDB0C6FEF6D0D202F412FCE01CB -:102420000E94F30F01E02E2D412F6C2DCE010E9452 -:10243000FC108E2D8095D80E02E02E2D412F6D2D93 -:10244000CE010E94FC10FE1804E02E2D4F2D6D2DA4 -:10245000CE010E94FC1008E02E2D4F2D6C2DCE01D8 -:102460000E94FC10DF91CF911F910F91FF90EF9090 -:10247000DF90CF90BF90AF909F900895AF92BF92A2 -:10248000CF92DF92EF92FF920F931F93CF93DF9340 -:102490006C01C62FF42EA22ED02F1E2DEE0CB12EC5 -:1024A000B60E2E196B2D0E945310D150DE19F10E6D -:1024B0006FEF6C0F6A0D611BED2E01E0212F4F2D88 -:1024C000C6010E947A1102E0212F4F2D6B2DC6010B -:1024D0000E947A11DF91CF911F910F91FF90EF90A1 -:1024E000DF90CF90BF90AF9008952F923F925F9270 -:1024F0006F927F928F929F92AF92BF92CF92DF9214 -:10250000EF92FF920F931F93CF93DF93EC01F901AA -:10251000E4903196849164350CF015C10E2C000CBA -:10252000FF08062F062E000C110BF701E00FF11F1C -:102530001E161F060CF007C140330CF004C1A82F73 -:10254000C42E042E000CDD085601A80EB11C87FD18 -:10255000BA941A141B040CF0F6C02E5F3F4F5701BB -:1025600097E0A90EB11CB7FE04C05701BEE0AB0E48 -:10257000B11CB3E0B594A794BA95E1F747FF0AC040 -:10258000A42FA80FAC9CC001AD9C900D1124281B5A -:10259000390B40E08A2F0A2E000C990B840F911DF5 -:1025A00047FD9A95C19714F0A0E3A41BF8A067FD1E -:1025B00060E0E535F10514F0E4E5F0E09E2FCC8510 -:1025C000C427C62E062E000CDD08F601E01BF10B19 -:1025D0008F014F01F7E08F229924E0E8F0E002C07C -:1025E000F595E7958A94E2F77E2F17FF02C0095F01 -:1025F0001F4FF3E015950795FA95E1F7200F311F6E -:10260000542F577081E001C0880F5A95EAF745951D -:1026100045954595F601B4E54B02E00DF11D1124F9 -:10262000AF014A5A5A4FD0E02A2EAA0F3308EE249F -:10263000E394BB24D21513040CF085C0F901549027 -:10264000F1E0FF121AC06901962E8A01E72F991650 -:1026500008F057C08E2E852021F0D8018C90882A52 -:102660008C92E69531F4BFEFCB1ADB0AF601549059 -:10267000E0E893940F5F1F4FEACFF1101CC0782E53 -:1026800070946901962E8A01E72F991608F039C0D7 -:102690008E2E852021F0D8018C9087208C92E69593 -:1026A00031F4BFEFCB1ADB0AF6015490E0E89394C3 -:1026B0000F5F1F4FEACFF3E0FF122CC0782E70940B -:1026C0006901862E8A01972E8916D0F4E92DE5211D -:1026D00041F0D801EC916C2E682460FE0FC0E82B0D -:1026E000EC93969439F4BFEFCB1ADB0AF6015490C1 -:1026F000E0E89E2E83940F5F1F4FE6CFE721F0CFD7 -:10270000CE25880F19F44C5A5F4F81E0DF5F2A0D08 -:102710003B1D90CF6901962E8A01E72F991688F705 -:102720008E2E852021F0D8018C9088268C92E695FB -:1027300031F4BFEFCB1ADB0AF6015490E0E8939432 -:102740000F5F1F4FEBCFDF91CF911F910F91FF9044 -:10275000EF90DF90CF90BF90AF909F908F907F9041 -:102760006F905F903F902F9008952F923F924F92DD -:102770005F926F927F928F929F92AF92BF92CF9211 -:10278000DF92EF92FF920F931F93CF93DF9300D0CE -:1027900000D000D01F92CDB7DEB74C01462E342EAC -:1027A00069018E2D01111DC0E1101BC0C4012796C7 -:1027B0000FB6F894DEBF0FBECDBFDF91CF911F9152 -:1027C0000F91FF90EF90DF90CF90BF90AF909F90D0 -:1027D0008F907F906F905F904F903F902F900C94D0 -:1027E0007512F60154903196E490A52CB12C950108 -:1027F000295F3F4FA90133E0559547953A95E1F799 -:102800005B834A830370F12CEE2DF0E0FD83EC83B3 -:102810005A941FEF1E0D2F2D0F2C000C330B2A1571 -:102820003B050CF070C0F982F7FE03C0F7E0FF0D26 -:10283000F983298125952595259529839F2D9778BD -:1028400097FF03C09150986F9F5F20E8622E712C14 -:1028500002C0759467949A95E2F7212C4981042E61 -:10286000000C550B4E5F5F4F5F834E83222D022C71 -:10287000000C330BEC81FD812E173F070CF041C09B -:102880004A815B81429FF001439FF00D529FF00D02 -:1028900011242E813F81E20FF31FEC0DFD1DE49109 -:1028A000F0E0E621F721EF2B41F1023069F0612FD2 -:1028B00062194F2D033061F0452D4F19622D013003 -:1028C00039F0422D6F2D04C0652D6F19412F42192B -:1028D0008823A9F0382F3370398380FF03C0552D2A -:1028E000561B652F81FF03C08E2D841B482F640D5E -:1028F000430DC4010E94720489812394B7CF1982C9 -:10290000F6CFF39488CF27960FB6F894DEBF0FBEAC -:10291000CDBFDF91CF911F910F91FF90EF90DF908E -:10292000CF90BF90AF909F908F907F906F905F906F -:102930004F903F902F900895DC01FB0184918F5FB1 -:1029400014968C9314973196E491EF5F1596EC935F -:1029500015976E5F7F4F5F967C936E935E97089599 -:10296000EF920F93CF93DF93EC014E876D872F8704 -:10297000E98A088B81E0888788A319A28F8366E2A1 -:1029800073E0CE010E949C140E94D82281E00E9434 -:10299000EE2285E00E94FC228CE00E94F72261E09A -:1029A0008E850E94B82061E08D850E94B82061E08C -:1029B0008F850E94B820898918161CF461E00E9456 -:1029C000B820888918161CF461E00E94B820898913 -:1029D00018166CF460E00E94F4206AE070E080E079 -:1029E00090E00E94B61F61E089890E94F4208D85E5 -:1029F000082E000C990BFC01E65CF94FE491F0E025 -:102A0000EE0FFF1FE85AF94F259134913D8B2C8B27 -:102A1000FC01EA5DF94FE491EB8F8E85082E000CE6 -:102A2000990BFC01E65CF94FE491F0E0EE0FFF1F1B -:102A3000E85AF94F259134913B8B2A8BFC01EA5DD2 -:102A4000F94FE491EA8F8889082E000C990BFC015C -:102A5000E65CF94FE491F0E0EE0FFF1FE85AF94F02 -:102A6000259134913F8B2E8BFC01EA5DF94FE49167 -:102A7000EC8F8F85082E000C990BFC01E65CF94F5A -:102A8000E491F0E0EE0FFF1FE85AF94F25913491E1 -:102A9000398F288FFC01EA5DF94FE491ED8F61E2F7 -:102AA000CE010E94770F64E1CE010E94770F8B85E3 -:102AB00087FF02C08FE78B876B856068CE010E941D -:102AC000770F60E2CE010E94770F6CE0CE010E948A -:102AD000770FCE01DF91CF910F91EF900C94A60F5D -:102AE0004F925F926F927F928F929F92AF92BF921E -:102AF000CF92DF92EF92FF920F931F93CF93DF93CA -:102B0000EC01862EF42E102F83E586170CF485C079 -:102B10008FE284170CF481C04C814150550B049F07 -:102B2000C001059F900D1124860F911D67FD9A9598 -:102B3000181619060CF071C03D818F2D0F2C000C5A -:102B4000990B039F800D911D1124181619060CF086 -:102B500064C078A0E62E912CC22ED12C292D092CF0 -:102B6000000C330B8C8190E0281739070CF054C00F -:102B70000197E0E02817390771F0C89EF001C99E5F -:102B8000F00DD89EF00D11242E0F3F1FEE8DFF8DFE -:102B9000E20FF31FE4915F2C612C492C480C2D812E -:102BA000862D062C000C990B2817190691F18CF133 -:102BB000AE2EB12CE0FF16C0113061F4462D4F0D42 -:102BC000642DCE010E947204F501F595E79563949A -:102BD000510EE5CF012F212F452D6E2DCE010E94E4 -:102BE0005310F2CF89A198A1891771F388A31130EE -:102BF00041F4462D4F0D642DCE010E94720478A23F -:102C0000E3CF012F212F452D6E2DCE010E945310B1 -:102C1000F6CF9394E10EA2CF78A2DF91CF911F91CE -:102C20000F91FF90EF90DF90CF90BF90AF909F906B -:102C30008F907F906F905F904F9008950F93CF93F8 -:102C4000DF93EC01262F6A3049F428859D818A851F -:102C5000299F800D11248A8719861DC06D30D9F0F7 -:102C600008854A8569850E94701528853C8189857B -:102C7000239F800D112489879F81992361F0082E5D -:102C8000000C990B44E550E0239F40195109112491 -:102C900048175907DCF281E090E0DF91CF910F9166 -:102CA0000895FC01EC57FF4F718360838A579F4F53 -:102CB000445FFC01408308956F927F928F929F92B0 -:102CC000AF92BF92CF92DF92EF920F93CF93DF93A9 -:102CD0004C015C0186E8A80EB11CD5018C918823BB -:102CE00009F44AC0CCE0C81B8C3008F0C0E0F40105 -:102CF000EA5AFF4F81E080836401BEE4CB0ED11C11 -:102D000060E0C6010E94EB0F3401E3E56E0E711C1A -:102D1000D3018C9103E0080FDDE24D2F481B4C0FCF -:102D200083E0E82E24E560E0C6010E943E1261E0E7 -:102D3000C6010E94EB0FF301808103E0080F4D2FC5 -:102D4000481B4C0F24E560E0C6010E94DF11F4012E -:102D5000E95AFF4F84E080833196D3018C91C81BE0 -:102D6000C15DC083BC9660817181C6010E948221D1 -:102D7000F501808181508083DF91CF910F91EF9099 -:102D8000DF90CF90BF90AF909F908F907F906F908B -:102D90000895CF92DF92FF920F931F93CF93DF930B -:102DA000EC018C8D9D8D892B01F18E01025B1F4FF3 -:102DB00040E061E0C8010E94EF0FFE01E95AFF4FB9 -:102DC000DE01AE5ABF4F9C9185E5891B8083319609 -:102DD0001082698D613009F46DC078F0888D65309E -:102DE00008F082C06B5F811175C0DF91CF911F9198 -:102DF0000F91FF90DF90CF900895CE0185960E94AD -:102E0000231E81E0FE01EA5AFF4F808366E273E0F1 -:102E1000C8010E949C141D8E1C8EFE01EC5AFF4FAF -:102E2000108288EAF82E6E018AE0C80ED11CCE010D -:102E30000E9479178823D9F365E175E0C8010E94E3 -:102E400082216A8D7B8D4AE050E0C8010E94912268 -:102E500060E075E0C8010E9482216F2D62956F705D -:102E600070E04AE050E0C8010E947D2265EF74E006 -:102E7000C8010E94822164E0C6010E94410F8111B5 -:102E8000B4CFFA94F110D3CF60E0CE010E94961E29 -:102E900083B7817F846083BF83B7816083BF83B73B -:102EA000816083BF889583B78E7F83BF83B78E7F12 -:102EB00083BFBDCFCF58DF4F88819981AA81BB8165 -:102EC0008F709927AA27BB2767E00897A105B1054E -:102ED00008F068E7C801DF91CF911F910F91FF9033 -:102EE000DF90CF900C94AD21882309F47ECF6FE260 -:102EF000F1CF8F929F92AF92BF92CF92DF92EF92DB -:102F0000FF920F931F93CF93DF93EC017C0180E836 -:102F1000E80EF11CF70180809180A280B3800E94AE -:102F2000851F861A970AA80AB90A6E01FFE7CF0E15 -:102F3000D11CF601808190E0B0E0A0E08E01055840 -:102F40001F4F88159905AA05BB0508F04AC0F8016E -:102F500080819181A281B381892B8A2B8B2B09F4EB -:102F600040C00E94851FF6012081620F711D811DE6 -:102F7000911DF70160837183828393833F978081E2 -:102F80009181A281B3810196A11DB11D808391839E -:102F9000A283B383F80110821182128213820E94ED -:102FA000911FFE01E958FF4F6083718382839383F1 -:102FB000CE010E949A1ECE010A960E94140FCE01E5 -:102FC00048960E94031F81E0DF91CF911F910F91DE -:102FD000FF90EF90DF90CF90BF90AF909F908F9039 -:102FE0000895F80180819181A281B381892B8A2B78 -:102FF0008B2BA9F57E01F5E2EF0EF11CC7010E94B3 -:10300000DE1CC7010E94511DC7010E94151ECE0182 -:103010000E945C16CE010E94C9167E018EE4E80E65 -:10302000F11CC7010E94A60FFE01EC5AFF4F8081E0 -:10303000811103C0C7010E94950F0E94911FF801E2 -:103040006083718382839383FE01EB58FF4FC958DD -:10305000DF4F28813981621B730B7183608380E0AD -:10306000B3CF2F923F924F925F926F927F928F9247 -:103070009F92AF92BF92CF92DF92EF92FF920F9307 -:103080001F93CF93DF93CDB7DEB765970FB6F89454 -:10309000DEBF0FBECDBF6C016A8B7B8B4B83FC0107 -:1030A000EC5AFF4F10822FEF2D831C821D8A10E3F4 -:1030B0001C8A3C013AE0630E711C842F90E09F83D0 -:1030C0008E832601E3E54E0E511C4601F5E28F0E7C -:1030D000911C9601295A3F4F39872887C601885A83 -:1030E0009F4F9B878A87F601EA5AFF4FFF87EE873B -:1030F00022503109398B288B0A971C01C6010E9486 -:1031000079178823D9F364E0C3010E94410F012F8E -:10311000110F110B882399F0F201F081F1952B81A9 -:10312000F29F202D112422502D8B64E0C3010E94B8 -:10313000410F811193C0C4010E947E1E94C065E0BE -:10314000C3010E94410F8111E7CF66E0C3010E94D5 -:10315000410F8111E1CF8C81811185C044E063E092 -:10316000C3010E94530F882331F09C899F5F9C8B81 -:10317000C4010E94821E44E061E0C3010E94530F1B -:10318000882331F0EC89E150EC8BC4010E94821E4F -:10319000FC898F2F0F2E000C990B2E813F818217F7 -:1031A000930709F46BC0F7FF03C03B8131503C8BA0 -:1031B000F2018081F4E0F80F2C89829FF01911242C -:1031C000FD8B9D89090F111D97FD1A9517FF02C0F0 -:1031D0000F5F1F4FF801F595E795FA83E9830981A1 -:1031E000102FE885F9851082EA85FB85008321E0B0 -:1031F000EE85FF852083E889F9891082EA88FB88BB -:10320000B12CA12C2C89022E000C330B3D872C876E -:103210008E819F818A159B0599F1EC85FD85EA15C4 -:10322000FB0579F423E0E885F9852083F2018081AC -:10323000F02F2C89289FF00D11248F2FEA85FB8514 -:103240008083F70165917491C1010E94C821FFEF4D -:10325000AF1ABF0A22E0E20EF11CDACFC4010E94CD -:103260007A1E3C893D83C8013D89831B910937FD46 -:103270009395029764F181E08C83A3CF1C8A98CF49 -:1032800060E0C1010E94EB0FF20180814981FC895D -:10329000F89F400D1124415024E560E0C1010E94D7 -:1032A0000F1061E0C1010E94EB0FF201808103E089 -:1032B000080F4981FC898F9F400D1124425083E003 -:1032C000E82E24E560E0C1010E94DF1117CF8D8157 -:1032D00065960FB6F894DEBF0FBECDBFDF91CF91DC -:1032E0001F910F91FF90EF90DF90CF90BF90AF9024 -:1032F0009F908F907F906F905F904F903F902F9016 -:1033000008950F931F93CF93DF93EC018C01025B21 -:103310001F4FC8010E94950F6DEC74E0C8010E9418 -:103320008221C8010E94A60F83E00E94FC2286E54C -:1033300091E0EEEFFFE30995FE01EC5AFF4F10829A -:1033400068EA74E0C8010E94C821C8010E94A60F63 -:103350002A96CE010E94140F64E0CE010E94410F14 -:10336000811107C062E370E080E090E00E94B61F28 -:10337000F0CFDF91CF911F910F9108952F923F923F -:103380004F925F926F927F928F929F92AF92BF9275 -:10339000CF92DF92EF92FF920F931F93CF93DF9321 -:1033A000CDB7DEB729970FB6F894DEBF0FBECDBFFD -:1033B000998788877B836A832A013C0180E7680EAE -:1033C000711CF3018081882309F4F7C081E0E8854E -:1033D000F985EA5AFF4F8083E885F985EB5AFF4F5C -:1033E0001082E885F985EC5AFF4F1082E885F9854F -:1033F000108E8F01025B1F4F61E0C8010E94EB0F2E -:10340000888599858D5A9F4F9F838E83A884B98420 -:1034100097E5A90EB11CE884F984E8E5EE0EF11CED -:1034200088849984F2E58F0E911C888599858F5840 -:103430009F4F9D838C83288439849AE0290E311C08 -:10344000C884D984E5E2CE0ED11C888599850E9476 -:1034500079178823D1F3EA81FB81F491F983FF2363 -:1034600021F0EE81FF81F081F98327E335E040E030 -:1034700060E0C8010E9475124114510439F049817D -:10348000445F920160E0C8010E947512F50110824C -:103490008CE0F70180836A817B81C8010E948221D0 -:1034A000F4018081982F990F990F891B8D5AF5018E -:1034B0008083EE81FF818081982F990F990F891B5E -:1034C000835DF7018083EC81FD81808163E375E09A -:1034D00084FD02C06FE275E0C8010E94C821F401BA -:1034E0008081982F990F990F891B8D5AF501808340 -:1034F000F70180818F5F8083E885F98582A56BE283 -:1035000075E0811102C067E275E0C8010E94C82120 -:10351000F4018081982F990F990F891B8D5AF5011D -:103520008083F70180818F5F808363E275E0C8014B -:103530000E94C82165E0C1010E94410F882351F01B -:10354000E885F98562A56F5FC6010E94861EC601E7 -:103550000E94821E64E0C1010E94410F81111FC0C0 -:10356000F3012081422F50E070E060E0EC81FD81AA -:1035700080819181A281B38184179507A607B7073F -:1035800010F02F3F61F466E0C1010E94410F8823D3 -:1035900009F45BCF888599850E94811956CF8FEFFA -:1035A000F301808360E0C6010E94181EC6010E94DC -:1035B0007A1E81E0E885F985808F29960FB6F89408 -:1035C000DEBF0FBECDBFDF91CF911F910F91FF9056 -:1035D000EF90DF90CF90BF90AF909F908F907F90B3 -:1035E0006F905F904F903F902F90089550E040E093 -:1035F0000C94BE19E0E8F7E72591349181E0213081 -:10360000304C09F080E00895CF93DF93EC010E94E5 -:10361000FA1A9E01275A3F4FDE01A059BF4F882357 -:1036200009F440C0E6E9F7E78491F9018083E7E90E -:10363000F7E7E491EC83E8E9F7E7E491ED83E9E962 -:10364000F7E7859194919F838E83EBE9F7E7859166 -:10365000949199878887EDE9F7E7E491EBA7EEE984 -:10366000F7E7E491EAA7EFE9F7E7E491EC93E0EA02 -:10367000F7E7859194919D8F8C8FE2EAF7E785912A -:1036800094919F8F8E8FE4EAF7E78591949199A3A7 -:1036900088A3E6EAF7E7859194919BA38AA3DF913B -:1036A000CF9108958CE3F90180831C828FEF8D8385 -:1036B00020E233E03F832E8324ED33E039872887EF -:1036C00091E09BA79AA78C938CEA9DE09D8F8C8FAD -:1036D0008EED9DE09F8F8E8F84E79EE099A388A357 -:1036E0008CE39FE0DACFCF92DF92EF920F93CF93EC -:1036F000DF93EC01FC01E158FF4F82E380833497B4 -:1037000081E090E0A0E0B0E080839183A283B38366 -:103710003B978FEF8083CE010E94041BCE010E9455 -:10372000921E6FEFCE010E94961E6E018AE0C80EB7 -:10373000D11CC6010E94040FC6010E94140FCE01C5 -:1037400048960E94F91E8EE0E82E0FE020E14BE043 -:103750006DE0CE01825B9F4F0E94B014A596CE0112 -:103760000E94171C65E0C6010E94410F882351F09A -:1037700060E0CE01DF91CF910F91EF90DF90CF907D -:103780000C94861E40E067EA75E0CE01DF91CF9190 -:103790000F91EF90DF90CF900C94AB1CCF93DF9301 -:1037A000D62FC72F0E94FA1A882359F0AD2FBC2FAD -:1037B000EBE8F7E784918D933196E53987E7F807D1 -:1037C000C9F7DF91CF910895CF93DF93DC0170E0CB -:1037D000660F771F1F96ED91FC915097E60FF71F2C -:1037E0002591349190963C932E935F97F9014591E2 -:1037F000549114968C911497849F402D1124919686 -:103800004C939197F901C591D4916D2F70E04617B3 -:10381000170629F020F0F90125913491432F849F58 -:10382000402D112492964C93DF91CF91089521E081 -:10383000FC01248324E020A726E036E0308B278794 -:1038400060E00E94E41B61E070E083E00E943220AF -:10385000E1EBF0E08081887F81608083F8941092B2 -:103860008000E1E8F0E01082109285001092840060 -:1038700088E191E09093890080938800808188603E -:103880008083808181608083EFE6F0E080818260C8 -:103890008083789408950F93FC01011107C0623072 -:1038A000D9F030F4662379F0613091F00F910895EA -:1038B0006330C9F06430D1F76481649F402D1124D6 -:1038C000458F268FF3CF4B3008F04AE0468BEECF82 -:1038D000642F0F910C94E41B6481649F402D11248C -:1038E000418F228FE3CF6481649F402D1124438F49 -:1038F000248FDCCF80915A07882329F080915707C5 -:103900008093B400089580E0FBCFFC01178A158AEC -:1039100014A213A2108E10925707109258071092FB -:103920005A070C947A1C0F931F93CF93DF93EC01EB -:103930008B010E94851C1E870D871B8A1A8A81E0D5 -:10394000898389E08E8B198E1B8E1D8EDF91CF911E -:103950001F910F910895411102C00C94931C08957A -:10396000CF93DF93EC01611115C08881882391F01A -:10397000898181110FC0E9858E2F90E0880F991FF2 -:10398000EF81F885E80FF91F859194918F3F980793 -:1039900021F41882DF91CF9108959C879927880F91 -:1039A000991FEA85FB85E80FF91F65917491CE0197 -:1039B0000E94931C89858F5F8987ECCF60E00C940F -:1039C000B01C0F93CF93DF93EC01611166C0898126 -:1039D000882309F462C08D8981115FC08D859E8521 -:1039E000EA89FB89EE0FFF1FE80FF91F45915491FB -:1039F0004115510541F42989213021F51B8A1A8A84 -:103A0000FC0145915491BA01769567957695679535 -:103A1000862F40FF2EC0252F2695269526952051CE -:103A200086E0569547958A95E1F74F716F7000E0F3 -:103A3000CE010E944B1CEA89FB893196FB8BEA8BF5 -:103A4000CF010AC019828881882369F060E0CE0125 -:103A50000E94B01C8A899B89880F991FED85FE857D -:103A6000E80FF91FCECFCE01DF91CF910F910C94CB -:103A7000851C8F738C8B8C81859F802D11248D8B61 -:103A80001DA21CA21BA281E08F8B80935A07188E67 -:103A90008A899B8901969B8B8A8BDF91CF910F91AD -:103AA000089560E00C94E11CCF93DF93EC01611169 -:103AB000B3C08F89882309F4AFC08D89811105C0F7 -:103AC000CE01DF91CF910C94851C81508D8B8DA1FF -:103AD000811134C02BA13CA12F5F3F4FC901880F3A -:103AE000991FEF8DF8A1E80FF91F85919491482F48 -:103AF00047704EA3492F469546954FA3AC0164E00D -:103B0000569547956A95E1F74F739C81499F402DE3 -:103B100011244DA383FB882780F9809356073CA38B -:103B20002BA389A190E02817390740F02AA122236E -:103B300009F475C0821B91099CA38BA38DA18150B0 -:103B40008DA3888D31E0380F388F4C892FA1240F39 -:103B50008C85280F2A836B8D662361F070E0832F9C -:103B6000032E000C990B0E943B238C8D869F200D09 -:103B700011242A838A8190E0CB966BE370E00E9447 -:103B80003B238A832E892B83698D662371F0062E51 -:103B9000000C770B832F032E000C990B0E943B2304 -:103BA0008A8D869F200D11242B836D8D662389F0CD -:103BB000832F330F990B70E00E943B23CB0162E00F -:103BC00070E00E943B232E8D9B81289F900D112435 -:103BD0009B834F3341F18B818A300CF089E087FD64 -:103BE00080E08B83F894EA81F0E0EB54FA4FE491A3 -:103BF000E09359078D8198A5899F802D11249B8181 -:103C0000899F802D11249EA1899F802D112480934E -:103C10005807809357077894DF91CF910895CE018C -:103C20000E94851C8BCF1B82DDCF60E00C94541D5D -:103C3000CF93DF93EC01611103C00E94851C1982B0 -:103C4000DF91CF910895CF93DF93EC010E94851C03 -:103C50001982DF91CF91089560915807662329F169 -:103C600080915B078F5F80935B079091590789175D -:103C7000E0F081E090915A07911180E080935A071B -:103C800010925B0780915607882369F080910401A8 -:103C900093E4899F802D1124895B809304010E9405 -:103CA0001B23909357070C947A1C08951F920F9230 -:103CB0000FB60F9211242F933F934F935F936F93FF -:103CC0007F938F939F93AF93BF93EF93FF930E9444 -:103CD0002C1EFF91EF91BF91AF919F918F917F919A -:103CE0006F915F914F913F912F910F900FBE0F9069 -:103CF0001F9018956EEF75E00C94931C66EF75E0BD -:103D00000C94931C60EF75E00C94931CFC01862FBF -:103D1000660F990B668170E06F5F7F4F0E943B23B7 -:103D20008583089521E0FC012083089570E085E0FB -:103D30000C943220AF92BF92CF92DF92EF92FF921B -:103D40000F931F93CF93DF93EC0189819A812FE02A -:103D5000289F8001299F100D112485E10E941720C2 -:103D6000800F911F24E0969587952A95E1F79A8315 -:103D700089832881222391F1EC81AD80B12CD12C53 -:103D8000C12CA885B9857D0110E000E06E817F819E -:103D90009B0150E040E08617970728F0BC01A81768 -:103DA000B90708F4BD0190E080E01F921F921F92B6 -:103DB000EF930E9497226B830F900F900F900F90BC -:103DC00070E085E0DF91CF911F910F91FF90EF9010 -:103DD000DF90CF90BF90AF900C943220DF91CF91C5 -:103DE0001F910F91FF90EF90DF90CF90BF90AF9019 -:103DF0000895FC018CE39FE09383828384E08183B8 -:103E000081E084870895CF93DF93EC018C819D81BD -:103E1000892B21F18C858F7139F584E10E9417205F -:103E2000BC01990F880B990B0E94ED2326EE3FE30E -:103E30004EEC50E40E9479240E94BC239B017B83BA -:103E40006A83672BA9F084E08983FE01349680E0C1 -:103E5000419151912417350720F48983DF91CF9147 -:103E600008958F5F8430A1F78C858F5F8C87F6CFA4 -:103E70008FEF8983F9CF1F920F920FB60F92112403 -:103E80002F933F938F939F93AF93BF9380915D0741 -:103E900090915E07A0915F07B091600730915C0739 -:103EA00023E0230F2D3758F50196A11DB11D209356 -:103EB0005C0780935D0790935E07A0935F07B093C4 -:103EC00060078091610790916207A0916307B091AC -:103ED00064070196A11DB11D80936107909362074D -:103EE000A0936307B0936407BF91AF919F918F91A7 -:103EF0003F912F910F900FBE0F901F90189526E8BD -:103F0000230F0296A11DB11DD2CF2FB7F894609157 -:103F10005D0770915E0780915F07909160072FBFEA -:103F200008953FB7F8948091610790916207A0913E -:103F30006307B091640726B5A89B05C02F3F19F011 -:103F40000196A11DB11D3FBFBA2FA92F982F882719 -:103F5000BC01CD01620F711D811D911D42E0660FF4 -:103F6000771F881F991F4A95D1F70895CF92DF9246 -:103F7000EF92FF92CF93DF936B017C010E94911F20 -:103F8000EB01C114D104E104F10439F4DF91CF91C4 -:103F9000FF90EF90DF90CF9008950E94911F6C1BCF -:103FA0007D0B683E734068F381E0C81AD108E108D0 -:103FB000F108C851DC4FE5CF789484B5826084BDA8 -:103FC00084B5816084BD85B5826085BD85B581601D -:103FD00085BDEEE6F0E0808181608083E1E8F0E07D -:103FE0001082808182608083808181608083E0E8AC -:103FF000F0E0808181608083E1EBF0E0808184608B -:104000008083E0EBF0E0808181608083EAE7F0E08C -:1040100080818460808380818260808380818160F0 -:1040200080838081806880831092C10008958E30E3 -:1040300008F08E502091050190E4299F90011124F1 -:104040008770822B80937C0080917A0080648093BB -:104050007A0080917A0086FDFCCF80917800909163 -:10406000790008951F93CF93DF93182FEB0161E040 -:104070000E94B820209739F460E0812FDF91CF9122 -:104080001F910C94F420CF3FD10511F461E0F5CFDE -:10409000E12FF0E0EE5EF94FE491E33031F140F4CE -:1040A000E130B1F0E230E1F0C038D1057CF7E4CF87 -:1040B000E63029F1E73059F1E430B1F78091800022 -:1040C000806280938000D0938B00C0938A0004C0EC -:1040D00084B5806884BDC7BDDF91CF911F910895DD -:1040E00084B5806284BDC8BDF7CF809180008068B0 -:1040F00080938000D0938900C0938800EDCF809199 -:10410000B00080688093B000C093B300E5CF809189 -:10411000B00080628093B000C093B400DDCF8330E4 -:1041200081F028F4813099F08230A9F0089586302A -:10413000A9F08730C9F08430B1F4809180008F7D80 -:1041400003C0809180008F7780938000089584B5AC -:104150008F7784BD089584B58F7DFBCF8091B000AB -:104160008F778093B00008958091B0008F7DF9CF54 -:10417000CF93DF9390E0FC01EA5DF94F2491865CD8 -:10418000994FFC0184918823C9F090E0880F991F12 -:10419000FC01EE59F94FA591B491FC01E85AF94F91 -:1041A000C591D49161110DC09FB7F8948C91209561 -:1041B00082238C938881282328839FBFDF91CF910E -:1041C0000895623051F49FB7F8943C91822F809506 -:1041D00083238C93E8812E2BEFCF8FB7F894EC914B -:1041E0002E2B2C938FBFEACF1F93CF93DF93162FE5 -:1041F000282F30E0F901EE5EF94F8491F901EA5D74 -:10420000F94FD491F901E65CF94FC491CC23A1F0A8 -:1042100081110E948F20EC2FF0E0EE0FFF1FE85A73 -:10422000F94FA591B4918FB7F894EC91111108C092 -:10423000D095DE23DC938FBFDF91CF911F9108953E -:10424000DE2BF8CFCF93DF93282F30E0F901EE5E1D -:10425000F94F8491F901EA5DF94FD491F901E65CD7 -:10426000F94FC491CC23A1F081110E948F20EC2F33 -:10427000F0E0EE0FFF1FE25BF94FA591B491EC91D6 -:10428000ED2381E090E009F480E0DF91CF91089583 -:1042900080E090E0FACFCF92DF92EF92FF920F93FF -:1042A0001F93CF93DF936C01EB017B01E40EF51EAE -:1042B00010E000E0CE15DF0561F06991D601ED91C7 -:1042C000FC910190F081E02DC6010995080F191F9E -:1042D000F1CFC801DF91CF911F910F91FF90EF9027 -:1042E000DF90CF900895FB0101900020E9F731970E -:1042F000AF01461B570BDC01ED91FC910280F3816D -:10430000E02D0994EF92FF920F931F93CF93DF93C9 -:104310007C018B01D0E0C0E0F80164910F5F1F4F7A -:10432000662359F0D701ED91FC910190F081E02DC9 -:10433000C7010995C80FD91FEFCFCE01DF91CF91EB -:104340001F910F91FF90EF9008956115710511F085 -:104350000C94732190E080E00895DC01ED91FC91D4 -:104360000190F081E02D09940F931F93CF93DF9379 -:10437000EC016DE00E94AD218C016AE0CE010E944B -:10438000AD21800F911FDF91CF911F910F91089563 -:104390000F931F93CF93DF93EC010E9482218C0136 -:1043A000CE010E94B421800F911FDF91CF911F9108 -:1043B0000F9108958F929F92AF92BF92CF92DF920A -:1043C000EF92FF920F931F93CF93DF93CDB7DEB79A -:1043D000A1970FB6F894DEBF0FBECDBF6C01142FAE -:1043E000E52FCB01022F19A2223008F40AE07E014A -:1043F00021E2E20EF11C802E912CB12CA12C612F18 -:104400007E2FA50194010E944F23029F10191124B1 -:104410001A303CF5105DF70112937F01122FE32F44 -:10442000CA01232B242B252B51F790E080E0E114C7 -:10443000F10421F0B701C6010E947321A1960FB6C5 -:10444000F894DEBF0FBECDBFDF91CF911F910F91CA -:10445000FF90EF90DF90CF90BF90AF909F908F90A4 -:104460000895195CD8CFCF92DF92EF92FF920F930D -:104470001F93CF93DF93EC016A017B012115310576 -:1044800079F4E881F9810190F081E02D642FDF91CA -:10449000CF911F910F91FF90EF90DF90CF900994F3 -:1044A0002A303105E9F42AE0F7FE1AC06DE20E94D5 -:1044B000AD218C0144275527BA014C195D096E09BD -:1044C0007F092AE0CE010E94DA21800F911FDF913F -:1044D000CF911F910F91FF90EF90DF90CF900895B3 -:1044E000B701A601CE01DF91CF911F910F91FF90EF -:1044F000EF90DF90CF900C94DA219A01AB01770F07 -:10450000660B770B0C9433222115310541F4DC0145 -:10451000ED91FC910190F081E02D642F09940C94B1 -:10452000DA219A01AB0170E060E00C9484224F9292 -:104530005F926F927F92AF92BF92CF92DF92EF9293 -:10454000FF920F931F93CF93DF93CDB7DEB729016F -:104550003A019B01AC01241935094609570989899B -:104560009A89AB89BC89BC01CD016A197B098C0988 -:104570009D090E940B23A8019701241935094609BA -:1045800057090E947123CA01B9016A0D7B1D8C1D58 -:104590009D1DDF91CF911F910F91FF90EF90DF90C4 -:1045A000CF90BF90AF907F906F905F904F900895A5 -:1045B00061E08AE00E94F42061E08AE00E94B82075 -:1045C0008CB580618CBD8CB580648CBD61E08DE064 -:1045D0000E94B82061E08BE00C94B820811104C0E7 -:1045E0008CB580628CBD08958CB58F7DFBCF9CB55A -:1045F000937F892B8CBD08959CB59C7F282F2370B9 -:10460000922B9CBD9DB582FB222720F9892F8E7F9E -:10461000822B8DBD0895DB018F939F930E94902381 -:10462000BF91AF91A29F800D911DA39F900DB29F4E -:10463000900D11240895991B79E004C0991F9617D5 -:1046400008F0961B881F7A95C9F780950895AA1BD4 -:10465000BB1B51E107C0AA1FBB1FA617B70710F06D -:10466000A61BB70B881F991F5A95A9F7809590959F -:10467000BC01CD01089597FB072E16F4009407D0D6 -:1046800077FD09D00E94272307FC05D03EF49095C2 -:1046900081959F4F0895709561957F4F0895A1E290 -:1046A0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FAC -:1046B000FF1FA217B307E407F50720F0A21BB30BF7 -:1046C000E40BF50B661F771F881F991F1A9469F773 -:1046D00060957095809590959B01AC01BD01CF01CF -:1046E0000895052E97FB1EF400940E94882357FD21 -:1046F00007D00E944F2307FC03D04EF40C9488236C -:1047000050954095309521953F4F4F4F5F4F0895FD -:1047100090958095709561957F4F8F4F9F4F08952D -:104720000E94AD23A59F900DB49F900DA49F800D76 -:10473000911D112408950024A7FD00942A0F301D17 -:10474000401D501D601D701D801D901D0895EE0FB1 -:10475000FF1F0590F491E02D0994A29FB001B39F33 -:10476000C001A39F700D811D1124911DB29F700D7A -:10477000811D1124911D08950E94582488F09F578F -:1047800098F0B92F9927B751B0F0E1F0660F771F75 -:10479000881F991F1AF0BA95C9F714C0B13091F06B -:1047A0000E947224B1E008950C947224672F782F30 -:1047B0008827B85F39F0B93FCCF386957795679530 -:1047C000B395D9F73EF490958095709561957F4F9C -:1047D0008F4F9F4F0895E89409C097FB3EF4909542 -:1047E0008095709561957F4F8F4F9F4F9923A9F0CA -:1047F000F92F96E9BB279395F69587957795679559 -:10480000B795F111F8CFFAF4BB0F11F460FF1BC09C -:104810006F5F7F4F8F4F9F4F16C0882311F096E92F -:1048200011C0772321F09EE8872F762F05C06623DD -:1048300071F096E8862F70E060E02AF09A95660F96 -:10484000771F881FDAF7880F9695879597F908954F -:1048500097F99F6780E870E060E008959FEF80EC33 -:10486000089500240A9416161706180609060895D6 -:1048700000240A9412161306140605060895092E3C -:104880000394000C11F4882352F0BB0F40F4BF2BAB -:1048900011F460FF04C06F5F7F4F8F4F9F4F0895EB -:1048A00057FD9058440F551F59F05F3F71F04795E1 -:1048B000880F97FB991F61F09F3F79F087950895C6 -:1048C000121613061406551FF2CF4695F1DF08C0E5 -:1048D000161617061806991FF1CF86957105610502 -:1048E00008940895E894BB2766277727CB0197F9AA -:1048F00008950E948C240C943F240E94312438F0A7 -:104900000E94382420F0952311F00C9428240C9454 -:104910002E2411240C9473240E94502470F3959F2C -:10492000C1F3950F50E0551F629FF001729FBB27A6 -:10493000F00DB11D639FAA27F00DB11DAA1F649F42 -:104940006627B00DA11D661F829F2227B00DA11DF5 -:10495000621F739FB00DA11D621F839FA00D611D7B -:10496000221F749F3327A00D611D231F849F600D9C -:10497000211D822F762F6A2F11249F5750409AF0C5 -:10498000F1F088234AF0EE0FFF1FBB1F661F771F51 -:10499000881F91505040A9F79E3F510580F00C941C -:1049A00028240C9473245F3FE4F3983ED4F3869557 -:1049B00077956795B795F795E7959F5FC1F7FE2BBC -:1049C000880F911D9695879597F908958F929F92DC -:1049D000AF92BF92CF92DF92EF92FF92CF93DF938D -:1049E000EC01688179818A819B816115710581055E -:1049F000910521F464E279ED8BE597E02DE133EF49 -:104A000041E050E00E94712349015A019B01AC0131 -:104A1000A7EAB1E40E9490236B017C01ACEEB4EFF5 -:104A2000A50194010E94F327DC01CB018C0D9D1D93 -:104A3000AE1DBF1DB7FF03C00197A109B048888311 -:104A40009983AA83BB839F77DF91CF91FF90EF90EB -:104A5000DF90CF90BF90AF909F908F9008950E946D -:104A6000E624089580E091E00E94E6240895B0E0F5 -:104A7000A0E08093000190930101A0930201B09304 -:104A800003010895AEE0B0E0E8E4F5E20C940628F6 -:104A90000D891E898F89988D26E02C831A830983BE -:104AA00097FF02C080E090E801979E838D83AE015E -:104AB000455E5F4F698D7A8DCE0101960E94722509 -:104AC0004D815E8157FD0AC02F81388542175307FB -:104AD0000CF49A01020F131FF80110822E96E4E0E5 -:104AE0000C942228ABE0B0E0E8E7F5E20C94F8275C -:104AF0007C013B018A01FC0117821682838181FFC0 -:104B0000C8C1CE0101965C01F7019381F30193FDC9 -:104B1000859193FF81913F01882309F453C1853228 -:104B200039F493FD859193FF81913F01853229F4FA -:104B3000B70190E00E946227E7CF912C212C312C05 -:104B4000FFE1F31538F08B3211F190F4803209F166 -:104B5000833229F137FC3CC020ED280F2A3050F574 -:104B600036FE20C08AE0989E200D1124922E06C0A9 -:104B70008D3291F0803371F7689430F8F30193FD32 -:104B8000859193FF81913F018111DACF21C0689413 -:104B900031F8689432F8F2CF689433F8EFCF689424 -:104BA00034F8ECCFEAE02E9E200D1124222E6894DA -:104BB00035F8E4CF8E3229F436FC04C1689436F817 -:104BC000DDCF8C3619F4689437F8D8CF8836B1F237 -:104BD000982F9F7D95549330E0F08336A1F1833771 -:104BE000C1F1833509F063C02801F2E04F0E511C7A -:104BF000F801C080D180692D70E036FC02C06FEFF3 -:104C00007FEFC6010E944C274C01689437F882015F -:104C10000AC00C5F1F4FFFE3F98388248394912C13 -:104C20006501E89437F833FE2DC0522C81149104AD -:104C300071F5552009F468CFB70180E290E00E9439 -:104C400062275A94F6CFF801808189830E5F1F4F47 -:104C5000E4CF2801F2E04F0E511CF801C080D18052 -:104C6000692D70E036FC02C06FEF7FEFC6010E9435 -:104C700057274C018201D5CFB70180E290E00E9416 -:104C800062272A942814190409F0B0F7CECFF60150 -:104C900037FC859137FE81916F01B70190E00E944A -:104CA000622751105A94F1E08F1A9108BFCF8436D1 -:104CB00019F0893609F077C0F80137FE6BC06081C2 -:104CC0007181828193810C5F1F4FF32DFF763F2E00 -:104CD00097FF09C090958095709561957F4F8F4F94 -:104CE0009F4F689437F82AE030E0A5010E94922790 -:104CF000C82ECA188C2C432C36FE0CC0E89440F801 -:104D0000C91440F434FE05C032FC03C0F32DFE7E0E -:104D10004F2E892C44FE95C0FE01EC0DF11D8081C3 -:104D2000803309F087C0242D297E422E842D88707F -:104D3000582E43FC95C040FE8FC09C2C821418F462 -:104D40002C0C922C981844FE91C0B70180E390E09F -:104D50000E94622742FE09C088E790E041FE02C03F -:104D600088E590E0B7010E946227C91408F48AC060 -:104D7000CA94D12C9FEFC91AD90ACA0CDB1CF601C0 -:104D800082916F01B70190E00E946227AC14BD04CC -:104D9000B1F74FCF60817181072E000C880B990B02 -:104DA0000E5F1F4F92CFD32CE894D4F82AE030E066 -:104DB000853739F1232D297FD22E8F3601F148F422 -:104DC0008835A9F0F701868197812B96E2E10C9452 -:104DD0001428803749F08837A9F7D4FE02C06894B8 -:104DE000D2F820E130E00DC06894D4F8F6CF34FE5C -:104DF00003C0822F8660D82E20E132E002C028E076 -:104E000030E0F801D7FE0FC060817181828193810B -:104E10000C5F1F4FA5010E949227C82ECA183D2C77 -:104E2000E89437F867CF6081718190E080E00E5F91 -:104E30001F4FF0CF42FC02C0839478CF83948394B9 -:104E400075CF842D867809F471CFF6CFB70180E253 -:104E500090E00E94622783948214C0F3512C73CF98 -:104E6000522C5818821408F46ECFF8CF842D86780F -:104E700009F47BCF8BE241FE80E247FC8DE2B70173 -:104E800090E071CFB70180E390E00E9462279A948E -:104E90006CCF8FEF9FEF99CFFC0105906150704070 -:104EA0000110D8F7809590958E0F9F1F0895FC01F3 -:104EB0006150704001900110D8F7809590958E0F49 -:104EC0009F1F08950F931F93CF93DF93182F092FE0 -:104ED000EB018B8181FD09C01FEF0FEF812F902F18 -:104EE000DF91CF911F910F91089582FF14C02E8101 -:104EF0003F818C819D81281739073CF4E881F98135 -:104F0000CF0101969983888310838E819F810196BA -:104F10009F838E83E3CFE885F985812F0995892BBF -:104F2000A1F3DACFFA01AA27283051F1203181F11B -:104F3000E8946F936E7F6E5F7F4F8F4F9F4FAF4FA1 -:104F4000B1E03ED0B4E03CD0670F781F891F9A1FB4 -:104F5000A11D680F791F8A1F911DA11D6A0F711D68 -:104F6000811D911DA11D20D009F468943F912AE074 -:104F7000269F11243019305D3193DEF6CF0108955C -:104F8000462F4770405D4193B3E00FD0C9F7F6CF8D -:104F9000462F4F70405D4A3318F0495D31FD405255 -:104FA000419302D0A9F7EACFB4E0A69597958795EB -:104FB00077956795BA95C9F70097610571050895CA -:104FC0009B01AC010A2E0694579547953795279576 -:104FD000BA95C9F7620F731F841F951FA01D08950E -:104FE000B7FF0C9490230E949023821B930B08958B -:104FF0002F923F924F925F926F927F928F929F92E9 -:10500000AF92BF92CF92DF92EF92FF920F931F93D6 -:10501000CF93DF93CDB7DEB7CA1BDB0B0FB6F89487 -:10502000DEBF0FBECDBF09942A88398848885F84C7 -:105030006E847D848C849B84AA84B984C884DF8038 -:10504000EE80FD800C811B81AA81B981CE0FD11D1C -:105050000FB6F894DEBF0FBECDBFED01089513E08B -:10506000C8E3D3E004C0FE010E94A7232196C93300 -:08507000D107C9F7F894FFCF46 -:10507800010000000101573D256400473D256400FB -:10508800463D25640048503D257500FA00000003A0 -:10509800000400004255494C440041545441434BDC -:1050A80000435245415445002401FB0C2A01F70CEA -:1050B8003101000001000000001900640000000038 -:0E50C80000001E164B214C4F41444552000083 +:1006B0000E943024C633D107C9F70E9463030C940B +:1006C000BF280C9400000E9465200E944B0488E51E +:1006D00091E00E94FC1B68E670E088E591E00E94D2 +:1006E0007F1B0E94750FF7CF1092A9011092A801ED +:1006F0008CE491E09093A7018093A601089588EE81 +:1007000091E00E946C0781E08093E80187E890E027 +:100710009093E7018093E60182E08093E5011092D7 +:10072000E3011092E40186E28093DF0184E180938B +:10073000E0010E94080586E090E00E941A068823E6 +:1007400049F042E067E770E088E591E00E94BA185E +:100750008111089588EE91E00E949A0B0E944E0646 +:1007600081110E94CC030E9410058823E1F30E94AE +:100770001A0588EE91E00E94D60A8FED91E00E9462 +:100780002A050E94E803D7CF88EE91E00C945E061C +:1007900088EE91E00C945F068091ED04811117C002 +:1007A00081E08093ED043091EE042091EF0480917C +:1007B000F0048091F1048091F2048091F30480911F +:1007C000F4048091F504832F922F0C94C025089592 +:1007D0002091EE043091EF044091F0045091F10427 +:1007E0006091F2047091F3048091F4049091F50407 +:1007F000A1E00E9424242093EE043093EF04409360 +:10080000F0045093F1046093F2047093F304809326 +:10081000F4049093F50408958F929F92AF92BF9243 +:10082000CF92DF92EF92FF924B015C0169017A0156 +:100830000E94BB25BC01990F880B990BC818D908D9 +:10084000EA08FB08A70196012F5F3F4F4F4F5F4F0C +:100850000E94D823680D791D8A1D9B1DFF90EF9083 +:10086000DF90CF90BF90AF909F908F900895EBE86E +:10087000F4E013861286118610861082118212828D +:10088000138214821582168217823C9684E0EB3E16 +:10089000F80779F708951092EE041092EF04109281 +:1008A000F0041092F1041092F2041092F3041092EA +:1008B000F4041092F5041092EC040E943704109294 +:1008C000EB040895EF92FF920F931F93CF93DF9362 +:1008D000CDB7DEB72C970FB6F894DEBF0FBECDBFF5 +:1008E00049835A836B837C839E83EF82F8860987D2 +:1008F0001A873C8769817A814F815885240F352F6B +:10090000311D62177307C8F4860F972F911D481782 +:10091000590798F46B817C8149855A858C85840FB1 +:10092000952F911D6817790740F42E81260F372FD8 +:10093000311D81E04217530708F080E081702C964A +:100940000FB6F894DEBF0FBECDBFDF91CF911F91E0 +:100950000F91FF90EF90089550E0480F511D87FDD3 +:100960005A9557FD0CC0843554F430E0260F311DE4 +:1009700067FD3A9537FD03C081E060330CF080E0FD +:100980000895DC01643508F042C0403308F03FC0F0 +:1009900090968C919097E62F062E000CFF0B242F3B +:1009A00025952595259594E52902E00DF11D112445 +:1009B000E05BFA4F2081342F37708230A1F4822F10 +:1009C00090E0032E02C0959587950A94E2F78095F2 +:1009D0008170882399F081E090E001C0880F3A95FA +:1009E000EAF7822B13C08330A1F71C968C91642701 +:1009F000062E000C770B682760FDEDCF81E090E0BC +:100A000001C0880F3A95EAF7809582238083089584 +:100A10001092AC0166E273E086EA91E00C94251531 +:100A200088E591E00E94021891E0811101C090E0F8 +:100A3000892F089560E086EA91E00E94271086EAF7 +:100A400091E00C941610FC01238142816181808128 +:100A50000C94AC04EF920F931F93CF93DF93EC01B0 +:100A60000E9423058823E1F01091C60140E06E81C9 +:100A700086EA91E00E9478102F813885ED800C8104 +:100A80004981688186EA91E00E943E14612F86EADE +:100A900091E0DF91CF911F910F91EF900C94741022 +:100AA000DF91CF911F910F91EF900895FC018491F8 +:100AB00008950196FC01849108954CE3BC0188E5FA +:100AC00091E00C94DA160F931F93CF93DF938C0170 +:100AD000C091C401D091C50122974093AF012093EA +:100AE000B00186EA91E00E94251540E061E086EAC7 +:100AF00091E00E947810B80186EA91E00E942E22CF +:100B0000209749F0BE0186EA91E0DF91CF911F91D5 +:100B10000F910C942515DF91CF911F910F9108959E +:100B2000FF920F931F93CF93DF93D82F162FC42FCD +:100B3000F22E242F0E94AC048823C1F00091C6013C +:100B40006F2D86EA91E00E9474102C2F412F6D2F9B +:100B500086EA91E00E940511602F86EA91E0DF911C +:100B6000CF911F910F91FF900C947410DF91CF9152 +:100B70001F910F91FF900895EF92FF920F931F9393 +:100B8000CF93DF93C82FD62F142FF22E0E94AC04E0 +:100B90008823D1F0E090C601602F86EA91E00E94A0 +:100BA00074100F2D212F4D2F6C2F86EA91E00E949B +:100BB000B4106E2D86EA91E0DF91CF911F910F91D5 +:100BC000FF90EF900C947410DF91CF911F910F91D3 +:100BD000FF90EF900895EF92FF920F931F93CF93A2 +:100BE000DF93C82FD62F142FF22E0E94AC04882337 +:100BF000D1F0E090C601602F86EA91E00E94741067 +:100C00000F2D212F4D2F6C2F86EA91E00E94DC10D2 +:100C10006E2D86EA91E0DF91CF911F910F91FF90A9 +:100C2000EF900C947410DF91CF911F910F91FF9072 +:100C3000EF900895682F82E691E00E94CB0F91E03B +:100C4000811101C090E0892F0895CF93C62F682F9E +:100C500082E691E00E94EA0F91E0C81708F090E068 +:100C6000892FCF91089560E00C94250681E090E0F3 +:100C70000E943306811110C083E090E00E94330689 +:100C800081110AC090E080E00E943306811104C007 +:100C900082E090E00C94330681E008950E943606CD +:100CA00081110AC084E090E00E943306811104C0E3 +:100CB00085E090E00C94330681E00895089508954E +:100CC0000F931F93CF93DF93CDB7DEB728970FB65F +:100CD000F894DEBF0FBECDBF162F00E028E044E53C +:100CE0006BE280E00E94EB051F921F9386E091E08B +:100CF0009F938F931F9288E08F938E010F5F1F4FFA +:100D00001F930F930E94D2252CE244E064EA71E025 +:100D1000C8010E9463050FB6F894DEBF0FBECDBFB9 +:100D200028960FB6F894DEBF0FBECDBFDF91CF91EE +:100D30001F910F910895CF92DF92FF920F931F930F +:100D4000CF93DF93CDB7DEB760970FB6F894DEBFD1 +:100D50000FBECDBF6C0160E086EA91E00E94741086 +:100D600005E024E540E060E086EA91E00E94DC10C6 +:100D7000F60181891F928F938CE091E09F938F936E +:100D80001F9280E1F82EFF928E010F5F1F4F1F937D +:100D90000F930E94D22521E042E064EA71E0C8018D +:100DA0000E946305F60182891F928F9381E191E091 +:100DB0009F938F931F92FF921F930F930E94D225B0 +:100DC00021E046E164EA71E0C8010E946305F60192 +:100DD00083891F928F9386E191E09F938F931F9257 +:100DE000FF921F930F930E94D22521E04AE264EA0A +:100DF00071E0C8010E9463050FB6F894DEBF0FBE14 +:100E0000CDBF60960FB6F894DEBF0FBECDBFDF91A9 +:100E1000CF911F910F91FF90DF90CF900895CF92C7 +:100E2000DF92EF92FF920F931F93CF93DF9300D047 +:100E300000D000D0CDB7DEB76B0109831A832B83B6 +:100E40003C837C012CE6E21A2DEFF20AF701408187 +:100E5000403208F03FC054E1242F30E08C01549F11 +:100E6000000D111D1124F801658F2F5F3F4F529F18 +:100E7000B001539F700D1124860F971F29813A816D +:100E8000FC01318320838B819C81F801978B868BB9 +:100E90008C2D0E942B0EF801848F81E083A3F2E059 +:100EA000CF16D1040CF480E0F80181A3F701808112 +:100EB0008F5F808381E026960FB6F894DEBF0FBE69 +:100EC000CDBFDF91CF911F910F91FF90EF90DF90F9 +:100ED000CF90089580E0EFCFEF92FF920F931F9392 +:100EE000CF93DF9300D000D000D0CDB7DEB77C0128 +:100EF0008C010C561D4FD8011C92FC01E256FD4F8F +:100F00008FEF8083C7018B569D4F0E94BC0B0E94C0 +:100F1000A50CF701749684E1DF01982F1D929A9534 +:100F2000E9F77496E017F107B9F789E1D70151960F +:100F30008C93519782E352968C9352978BE45396FD +:100F40008C9324E130E040E050E060E070E0CB01C1 +:100F50000E940C047A83698324E130E040E050E091 +:100F600060E070E0CB010E940C04262F7C836B8331 +:100F700009811A813C814D815E8162E070E0C70188 +:100F80000E940F07811104C088EA90E00E945D056D +:100F900028E330E040E050E060E370E080E090E083 +:100FA0000E940C047A83698328E330E040E050E03B +:100FB00060E370E080E090E00E940C047C836B832F +:100FC00080E00E94F90C8D8380E00E94030DF70100 +:100FD000EF55FD4F10823196108232971082339771 +:100FE000108209811A812B813C814D81582F70E03C +:100FF00060E0C7010E940F07811110C081E990E0F5 +:1010000026960FB6F894DEBF0FBECDBFDF91CF910D +:101010001F910F91FF90EF900C945D0526960FB6EF +:10102000F894DEBF0FBECDBFDF91CF911F910F911E +:10103000FF90EF900895CF93DF9300D000D000D0C1 +:10104000CDB7DEB7FC01E956FD4F2081318144E187 +:1010500050E0421B530B8B569D4FFC0180819181C8 +:1010600026E230E0281B390B3A8329835C834B83CB +:101070003A815C8168E078E080E090E026960FB6E7 +:10108000F894DEBF0FBECDBFDF91CF9108953F92A0 +:101090004F925F926F927F928F929F92AF92BF9288 +:1010A000CF92DF92EF92FF920F931F93CF93DF9334 +:1010B00000D000D000D0CDB7DEB75C018C01912C00 +:1010C00088248A9444244A94542C3201F80183A140 +:1010D000882309F444C084A1811141C0C5010E9444 +:1010E0001B0829833A834B835C836D837E83F801DD +:1010F000C488D588E688F788858D0E94F90C382E3B +:10110000F801858D0E94030D29813A81C21AD30A04 +:10111000232D30E035952795C20ED31E2B813C81BF +:10112000E21AF30A90E095958795E80EF91ECC9C9B +:10113000C001CD9C900D900D1124EE9C9001EF9C70 +:10114000300D300D1124820F931FB0E0A0E0841504 +:101150009505A605B70518F4892C2C013D010C5EF8 +:101160001F4F9394F0E29F12B1CFF501E256FD4F6D +:10117000808226960FB6F894DEBF0FBECDBFDF91FA +:10118000CF911F910F91FF90EF90DF90CF90BF9084 +:10119000AF909F908F907F906F905F904F903F9017 +:1011A0000895FC01E356FD4F2081222351F0339630 +:1011B0002081211106C031968081853010F48F5F27 +:1011C00080830895BF92CF92DF92EF92FF920F93A8 +:1011D0001F93CF93DF9300D000D000D0CDB7DEB700 +:1011E0007C016B01FC01EE55FD4F8081823009F0DE +:1011F00047C0FB0181850E94F90C182FF6018185FB +:101200000E94030D082FF601B080812F90E09C0111 +:1012100035952795280F391F032E000C440B550BCD +:10122000612F70E090E080E00E940C04B60EF601A1 +:101230001281802F90E09C0135952795280F391F4A +:10124000032E000C440B550B602F70E090E080E003 +:101250000E940C041E821D828B2D90E00B2D9A8320 +:101260008983160F612F70E0212F7C836B831A8195 +:101270003C8140E05E8170E060E0C7010E940F07A2 +:1012800026960FB6F894DEBF0FBECDBFDF91CF918B +:101290001F910F91FF90EF90DF90CF90BF90089536 +:1012A0000F931F93CF93DF93EC01CF55DD4F288130 +:1012B0008C0100561D4F253018F5FC01E256FD4FFC +:1012C00020812F3F81F0FC0134E12302E00DF11D6C +:1012D000112421E024A3FC01E356FD4F20838E5509 +:1012E0009D4FFC011082188281E09881953008F4AE +:1012F00080E0F8018083DF91CF911F910F910895D5 +:10130000F8012081222381F3FC0130E020E044A198 +:10131000442399F0FC01EE55FD4F4081423021F706 +:101320002F5F3F4F44E1429FB001439F700D112456 +:10133000680F791F0E94E208D7CF2F5F3F4F749646 +:101340002032310521F7D0CFCF93DF93EC01C35684 +:10135000DD4F28812223D9F0DC01A156BD4F2C910D +:101360002530C0F0FC019C0120583D4F44A14111A3 +:1013700014A27496E217F307C9F71C921882FC01B5 +:10138000E056FD4F10828F559D4FFC011082DF917A +:10139000CF9108952F5F2C93FACFCF92DF92EF92E7 +:1013A000FF920F931F93CF93DF9300D000D000D014 +:1013B000CDB7DEB78C01FC01E356FD4F8081882359 +:1013C00009F1C8010E941B0829833A834B835C837F +:1013D0006D837E83F801680120E8C21A2DEFD20ADE +:1013E00084A19F012C5E3F4F7901882339F04B8106 +:1013F0005C8169817A81C9010E94310EF701EC1488 +:10140000FD0471F7F801E156FD4F108226960FB6E4 +:10141000F894DEBF0FBECDBFDF91CF911F910F912A +:10142000FF90EF90DF90CF900895EF92FF920F938F +:101430001F93CF93DF93FC01E056FD4F20812223C1 +:1014400049F1EC017C0180E8E81A8DEFF80A8E0181 +:101450000E551D4F8CA164968823C9F0CE010E94C1 +:10146000590FF80140819FEF940F282F30E0491762 +:1014700071F0993008F097E0B901092E02C0759516 +:1014800067950A94E2F760FF0CC0F8019083CE15CF +:10149000DF0501F7DF91CF911F910F91FF90EF9042 +:1014A00008959150E4CFEF92FF920F931F93CF9343 +:1014B000DF93FC01E056FD4F2081222349F1EC012E +:1014C0007C0180E8E81A8DEFF80A8E010E551D4F59 +:1014D0008CA164968823C9F0CE010E94590FF801AF +:1014E000408191E0940F282F30E0491771F0983037 +:1014F00008F090E0B901092E02C0759567950A942D +:10150000E2F760FF0CC0F8019083CE15DF0501F70C +:10151000DF91CF911F910F91FF90EF9008959F5F02 +:10152000E4CF0F931F93CF93DF93EC01FC01E056C0 +:10153000FD4F80818823A9F1FE0190E080E024A185 +:101540000196222351F144E1489F9001499F300DBB +:101550001124CE01820F931F0E94590F90E08E013B +:101560000E551D4FF801208102C0959587952A954B +:10157000E2F780FD03C0CE010E94530AF80180818A +:1015800090E00E94610F2CE248E264EA71E0DF9192 +:10159000CF911F910F910C94630574968032910541 +:1015A00071F6DF91CF911F910F9108958F929F92C5 +:1015B000AF92BF92CF92DF92EF92FF920F931F9361 +:1015C000CF93DF93EC018C010C5E1F4FF12CE12CCB +:1015D000912C6C0182E6C81A8DEFD80A5E01EBE609 +:1015E000AE1AEDEFBE0AF80187858823D9F0F6011F +:1015F00080818F3F39F0082E000C990B41E08E1549 +:101600009F0509F040E0B501C8010E940D0DF801E9 +:101610008088882039F0911005C06085CE010E9435 +:101620006006982CFFEFEF1AFF0A0C5E1F4F80E256 +:10163000E816F104C1F68881882339F1992099F0E0 +:1016400001E023E04AE06CE284E40E94BC05FE0174 +:10165000EF55FD4F4081442331F0440F23E06CE20D +:1016600084E40E94EB05CE010E94910ACE01DF9135 +:10167000CF911F910F91FF90EF90DF90CF90BF908F +:10168000AF909F908F900C949B06DF91CF911F910C +:101690000F91FF90EF90DF90CF90BF90AF909F9011 +:1016A0008F900895CF93DF93EC0184E090E00E9447 +:1016B0003306882329F0CE01DF91CF910C94D10815 +:1016C00084E090E00E941A06882329F0CE01DF9181 +:1016D000CF910C94500985E090E00E943306882356 +:1016E00029F0CE01DF91CF910C94A40985E090E020 +:1016F0000E941A06882329F0CE01DF91CF910C9425 +:10170000CD0990E080E00E941A06882329F0CE01DE +:10171000DF91CF910C94150A82E090E00E941A06A6 +:10172000882329F0CE01DF91CF910C94530ADF91E9 +:10173000CF9108950F931F93CF93DF93EC018C010A +:101740000B561D4FFC01E056FD4F6081C8010E9401 +:10175000A20CC8010E94040CCE010E94470860E25E +:1017600070E0CE0144960E94390ECE01DF91CF91F8 +:101770001F910F910C94520BFC0111821082138265 +:1017800012821482158283E0868317820895CF9394 +:10179000DF93CDB7DEB72C970FB6F894DEBF0FBE40 +:1017A000CDBF1C861B86FC0122813381420F531F53 +:1017B00080819181680F791F78876F835A87498765 +:1017C00086E0FE013796DE01119601900D928A9512 +:1017D000E1F729813A814B815C816D817E8180E0D6 +:1017E00090E02C960FB6F894DEBF0FBECDBFDF9110 +:1017F000CF910895FC019081490FDB014C938281C8 +:10180000280F11962C930895CF93DF93EC018F81CD +:10181000882319F01C821D821BC08E818330D8F46E +:101820008F5F8E832C8188819981820F911D27FD86 +:101830009A9597FF80C0998388832D818A819B81A7 +:10184000820F911D27FD9A9597FF79C09B838A830C +:10185000DF91CF9108951E820E943606882369F198 +:1018600090E080E00E943306882329F08C8187FF76 +:1018700047C08E5F8C8381E090E00E94330688230E +:1018800029F08D8187FF41C08E5F8D8383E090E0DA +:101890000E943306882331F08D8118160CF03AC06F +:1018A00082508D8382E090E00E943306882329F0E5 +:1018B0008C8118169CF582508C8390E080E00E9409 +:1018C000330681110BC082E090E00E943306811143 +:1018D00005C08C81181634F581508C8381E090E02E +:1018E0000E94330681119ECF83E090E00E94330670 +:1018F000811198CF8D811816CCF481508D8392CFB1 +:1019000085300CF0B8CF8F5FB5CF85300CF0BECFEF +:101910008F5FBBCF8C3F34F28150C3CF8C3F6CF2D2 +:101920008150CACF8823D1F28F5FD7CF882309F4A3 +:1019300079CF8F5FE3CF198218821C827ECF1B8202 +:101940001A8269CFFC0167830895FF920F931F935A +:10195000CF93DF9303E215E087E591E0F8019087EC +:1019600087830E945605F801828387E591E00E94F3 +:101970005905F801838315821482FF24F394F682BB +:10198000C6EFD4E081E691E098878F830E945605E8 +:101990008A8381E691E00E9459058B831D821C8217 +:1019A000FE828DE091E0F801928F818F0E945605B2 +:1019B000F801848B8DE091E00E945905F801858B38 +:1019C000178A168AF08E83EC90E09A8F898F0E9496 +:1019D00056058C8B83EC90E00E9459058D8B1F8AF5 +:1019E0001E8A83E0888FDF91CF911F910F91FF9026 +:1019F000089599E0899FF0011124ED5DFA4F8781E8 +:101A000090850C94560599E0899FF0011124ED5DB5 +:101A1000FA4F878190850C9459058F929F92AF92CF +:101A2000BF92CF92DF92EF92FF920F931F93CF93CB +:101A3000DF9300D000D000D0CDB7DEB77C016B01C2 +:101A4000842EDC011F968C911F97882309F480C097 +:101A500019969C90E92DF0E0B9E09B9E800111243D +:101A6000D7011D968C911D978111B3C01E968C9144 +:101A7000882309F480C00A501B4FF8011482158294 +:101A8000882351F0D70153968C9153978F5F8530FF +:101A900008F074C053968C93D7011A968D919C913F +:101AA0001B978130910509F48AC008F484C0823004 +:101AB000910509F46AC0039709F473C0F701228104 +:101AC000338140815181B801C6010E94FA0BC801DF +:101AD0000E942A05811005C0D70150968C91882359 +:101AE000B9F1F7014281538160817181C6010E9481 +:101AF000C70B29833A834B835C83C980DA80AB8030 +:101B0000BC80D70150968C9101E0811101C003E0A7 +:101B1000892D0E94F90C182F892D0E94030DF701C1 +:101B20009585992309F477C0282F26952695280FA7 +:101B3000412F46954695410F8695869586956A2D47 +:101B4000681B1695169516958C2D811B0E94BC0559 +:101B500026960FB6F894DEBF0FBECDBFDF91CF91B2 +:101B60001F910F91FF90EF90DF90CF90BF90AF90BB +:101B70009F908F9008950D5D1A4F7FCFF701138AC4 +:101B8000848591E08927848787CF82E0F801858367 +:101B9000D7011C968C91882309F490CF83E085832C +:101BA0008DCFF7018485882309F488CF81E0D8019F +:101BB00015968C9383CF81E0F8018483E8CF81E090 +:101BC000F80184831C968C91882309F477CF82E0F6 +:101BD000E6CFC8018A509B4F5C01EE0FFF1FE95E04 +:101BE000FE4F818112962D913C911397280F311D44 +:101BF00087FD3A9580814D915C91480F511D87FD7D +:101C00005A95B501C6010E94FA0BC5010E942A052A +:101C10000D5D1A4F53CF682F66956A0D7B2D711D90 +:101C2000812F8695202F412F8C0D9D2D911D26965D +:101C30000FB6F894DEBF0FBECDBFDF91CF911F91DD +:101C40000F91FF90EF90DF90CF90BF90AF909F905B +:101C50008F900C949005E82FF0E0ED5BFE4F8081B3 +:101C60000895FC01758364835783468381E08687EA +:101C700008952F923F924F925F926F927F928F9230 +:101C80009F92AF92BF92CF92DF92EF92FF920F930B +:101C90001F93CF93DF93CDB7DEB762970FB6F8945B +:101CA000DEBF0FBECDBF382E292E7E876D87C82E92 +:101CB000D92E912C812C4D855E8584169506C9F40C +:101CC00062960FB6F894DEBF0FBECDBFDF91CF9105 +:101CD0001F910F91FF90EF90DF90CF90BF90AF904A +:101CE0009F908F907F906F905F904F903F902F903C +:101CF0000895D6011F968C911F97882309F4D2C0AE +:101D00001E968C911E97882309F4CCC04D915C914E +:101D100011971996EC911997F0E0E25CFE4F508014 +:101D2000252D30E014966D917C911597FA01E21BF8 +:101D3000F30B6E177F07A0F51B961C921E921A9745 +:101D4000452C4194982FD60112966D917C91139752 +:101D500016964D915C911797FB01E21BF30B4E1702 +:101D60005F0760F5E2E0F0E01B96FC93EE931A97B4 +:101D70005194D6011E968C93882309F493C0A32C0A +:101D8000B22C712C612C442D042C000C550B588B5B +:101D90004F87852D052C000C990B9A8B898B23C0BE +:101DA000420F531F412C90E04617570760F641E061 +:101DB00050E0F60153874287452CC4CF260F371FCA +:101DC0002417350738F4E3E0F0E01B96FC93EE931C +:101DD0001A97CFCF892F512CCCCFFFEF6F1A7F0AE4 +:101DE00024E1A20EB11CAD85BE856A167B0609F4FE +:101DF00045C0F601808191812F853889820F931F1C +:101E000098878F838281938149895A89840F951F8E +:101E10009A87898781850E94F90C8B87D60119964C +:101E20008C910E94030D8C87F50187858823A9F288 +:101E30008614970491F2808191819A8389839C838F +:101E40008B8381850E94F90C8D83D50119968C9125 +:101E50000E94030D8E83E980FA800B811C812D8105 +:101E6000382F4F81588569857A858B859C850E949E +:101E70006204882309F4B1CFF6011686F60186853F +:101E8000882381F080819181840D911D47FC9A9572 +:101E90009183808382819381850D911D57FC9A9552 +:101EA00093838283FFEF8F1A9F0A24E1C20ED11C15 +:101EB00002CFDC011996EC91F0E0E15EFE4F8081EB +:101EC0000895880F991FFC01E85CFE4F8081918185 +:101ED0000895BC016F5F7F4F80E1FB0111928A95ED +:101EE000E9F788E591E00C94571C43E06BE671E05C +:101EF00088E591E00E94BA18811106C088EE91E051 +:101F00000E94690F0C947F030895FC0188E0808390 +:101F100089E0818387E0828386E0838384E0848311 +:101F200082E0858381E186830895FF920F931F935A +:101F3000CF93DF93EC018C01095F1F4FFF24FA94CC +:101F400062E088810E94412188810E94AB212F811B +:101F5000892B81F42F5F2F8360E088810E944121CB +:101F60002196C017D10761F7DF91CF911F910F9193 +:101F7000FF9008952223A1F32F3F11F41F82ECCF8D +:101F8000FF82EACFFC01E60FF11D81E097819130DD +:101F900009F080E00895FC01E60FF11D81E09781D2 +:101FA0009F3F09F080E00895860F911DFC01878115 +:101FB000423038F49FEF980F81E09E3F50F080E070 +:101FC00008C08F3FE1F3642F0E94A42381E0913089 +:101FD000B1F70895860F911DFC0187818F3F09F4A9 +:101FE00080E008958EBD0DB407FEFDCF8EB5089537 +:101FF0001F93CF93DF93EC01162FF89460E08F8549 +:102000000E947D21888918161CF460E00E947D21C1 +:10201000812F0E94F20F888918161CF461E00E943B +:102020007D217894DF91CF911F910895E0E5F5E04F +:1020300028EF31E0DF01A9011D9241505040E1F746 +:10204000DC0119961C9219971A961C92089548EF74 +:1020500051E06FEF7FEF80E595E00C94CB25CF92B8 +:10206000DF92EF92FF920F931F93CF93DF93EC01D8 +:102070008C858F5F8C8780E5E82E85E0F82E10E058 +:10208000612F6064CE010E94F80F60E8CE010E94CB +:10209000F80F61E08F850E947D21888918161CF455 +:1020A00060E00E947D21670104E5F60181916F01E6 +:1020B0000E94F20F0150C9F7888918161CF461E0DC +:1020C0000E947D211F5FF4E5EF0EF11C1630C1F672 +:1020D00060E4CE01DF91CF911F910F91FF90EF90BF +:1020E000DF90CF900C94F80FFC0160A361A30895DA +:1020F000FC0160A341A30895EF92FF920F931F93F9 +:10210000CF93DF938C01D62FF42EE22EC0E0CE15B4 +:1021100044F44F2D4C0F6D2FC8010E94C104CF5FB6 +:10212000F6CFDF91CF911F910F91FF90EF9008951F +:10213000EF92FF920F931F93CF93DF938C01F62EB4 +:10214000D42FE22EC0E0CE1544F46F2D6C0F4D2F2E +:10215000C8010E94C104CF5FF6CFDF91CF911F91DC +:102160000F91FF90EF900895EF92FF920F931F93BE +:10217000CF93DF937C01162FD42FC22F0E9498108B +:102180004FEF400F4D0F2C2F612FC7010E94981069 +:10219000202F4D2F612FC7010E947C106FEF6C0F15 +:1021A000610F202F4D2FC701DF91CF911F910F910C +:1021B000FF90EF900C947C10DF92EF92FF920F93C0 +:1021C0001F93CF93DF937C01D62FD22EC42F002EE6 +:1021D000000C110B040F111D47FD1A958C2F0C2EAE +:1021E000000C990B8017910744F42D2D4C2F6D2F67 +:1021F000C7010E949810CF5FF1CFDF91CF911F915F +:102200000F91FF90EF90DF9008959F92AF92BF9251 +:10221000CF92DF92EF92FF920F931F93CF93DF93B2 +:102220008C01E62EF42EC22F81E0D82ED21AC22EB7 +:10223000C194CC0C422F4F0DC8010E94C1044F2DF8 +:102240004C1B6E2DC8010E94C1046C2F6E0D4F2DCA +:10225000C8010E94C1046E2D6C1B4F2DC8010E9445 +:10226000C104D0E0DC170CF044C0D7FC04C0C1505E +:10227000C394C394DC0CDF5F8D2F880F8F5FD80E63 +:102280009E2C9D0EBF2CBC0E4B2D692DC8010E94AB +:10229000C104AE2CAD1A4B2D6A2DC8010E94C10499 +:1022A000BF2CBC1A4B2D692DC8010E94C1044B2DB7 +:1022B0006A2DC8010E94C104BF2CBD0E4B2DAE2C4F +:1022C000AC0E6A2DC8010E94C1044B2DBE2CBC1A55 +:1022D0006B2DC8010E94C1049F2C9D1A492D6A2DA7 +:1022E000C8010E94C104492D6B2DC8010E94C10480 +:1022F000B9CFDF91CF911F910F91FF90EF90DF90B9 +:10230000CF90BF90AF909F9008958F929F92AF9281 +:10231000BF92CF92DF92EF92FF920F931F93CF93D2 +:10232000DF937C01162FD42EC22F81E0C82EC21A53 +:10233000B22EB194BB0CD0E0802F8470A82E802FD9 +:102340008270982E802F8870882E0170DC170CF018 +:102350004DC0C7FC04C0C150B394B394CB0CDF5F35 +:102360008D2F880F8F5FC80EAA2071F04D2D4C0F56 +:10237000612F6D0FC7010E94C1044D2D4D0F6C2FB1 +:10238000610FC7010E94C104992071F04D2D4C1BB3 +:10239000612F6D0FC7010E94C1044D2D4D1B6C2F85 +:1023A000610FC7010E94C104882071F04D2D4D0FAF +:1023B000612F6C1BC7010E94C1044D2D4C0F612F72 +:1023C0006D1BC7010E94C104002309F4BFCF4D2D2E +:1023D0004D1B612F6C1BC7010E94C1044D2D4C1B6E +:1023E000612F6D1BC7010E94C104B0CFDF91CF9157 +:1023F0001F910F91FF90EF90DF90CF90BF90AF9023 +:102400009F908F9008957F928F929F92AF92BF92EC +:10241000CF92DF92EF92FF920F931F93CF93DF93B0 +:102420005C01C62E942EC22F11E0121BD22ED19425 +:10243000DD0C83E0F82ED0E0802F8170782E882488 +:1024400083948E0C0270DC17ACF517FD04C0C150EC +:10245000D394D3941D0DDF5F1F0D772099F02C2F9F +:10246000220F280D492D4C1B6C2D6D0FC5010E94AC +:102470007C102E2D2F0D492D4D1B6C2F6C0DC50181 +:102480000E947C10002399F02C2F220F280D492D3B +:102490004C1B6C2D6D1BC5010E947C102E2D2F0D29 +:1024A000492D4D1B6C2D6C1BC5010E947C10F394B3 +:1024B000F394C9CFDF91CF911F910F91FF90EF90CF +:1024C000DF90CF90BF90AF909F908F907F900895B6 +:1024D0009F92AF92BF92CF92DF92EF92FF920F93B3 +:1024E0001F93CF93DF93EC01B62E142FD22EAE2C78 +:1024F000AA0C922E9A18CE2CC60E292D6C2D0E9455 +:102500009810FF24FA94F00EF10E292D4F2D6C2D0A +:10251000CE010E9498100A191E0D202F412F6B2DFD +:10252000CE010E947C10DB0C6FEF6D0D202F412F30 +:10253000CE010E947C1001E02E2D412F6C2DCE018A +:102540000E9485118E2D8095D80E02E02E2D412FF0 +:102550006D2DCE010E948511FE1804E02E2D4F2D09 +:102560006D2DCE010E94851108E02E2D4F2D6C2D72 +:10257000CE010E948511DF91CF911F910F91FF90A5 +:10258000EF90DF90CF90BF90AF909F900895AF9263 +:10259000BF92CF92DF92EF92FF920F931F93CF9350 +:1025A000DF936C01C62FF42EA22ED02F1E2DEE0C21 +:1025B000B12EB60E2E196B2D0E94DC10D150DE19F3 +:1025C000F10E6FEF6C0F6A0D611BED2E01E0212FF4 +:1025D0004F2DC6010E94031202E0212F4F2D6B2DBB +:1025E000C6010E940312DF91CF911F910F91FF90BE +:1025F000EF90DF90CF90BF90AF9008952F923F92D1 +:102600005F926F927F928F929F92AF92BF92CF9282 +:10261000DF92EF92FF920F931F93CF93DF93EC0122 +:10262000F901E4903196849164350CF015C10E2CBB +:10263000000CFF08062F062E000C110BF701E00F0F +:10264000F11F1E161F060CF007C140330CF004C129 +:10265000A82FC42E042E000CDD085601A80EB11CB4 +:1026600087FDBA941A141B040CF0F6C02E5F3F4F7E +:10267000570197E0A90EB11CB7FE04C05701BEE098 +:10268000AB0EB11CB3E0B594A794BA95E1F747FF40 +:102690000AC0A42FA80FAC9CC001AD9C900D1124C2 +:1026A000281B390B40E08A2F0A2E000C990B840F4F +:1026B000911D47FD9A95C19714F0A0E3A41BF8A0C3 +:1026C00067FD60E0E535F10514F0E4E5F0E09E2FEC +:1026D000CC85C427C62E062E000CDD08F601E01BB3 +:1026E000F10B8F014F01F7E08F229924E0E8F0E031 +:1026F00002C0F595E7958A94E2F77E2F17FF02C096 +:10270000095F1F4FF3E015950795FA95E1F7200F44 +:10271000311F542F577081E001C0880F5A95EAF796 +:10272000459545954595F601B4E54B02E00DF11D43 +:102730001124AF01405B5A4FD0E02A2EAA0F330874 +:10274000EE24E394BB24D21513040CF085C0F901E8 +:102750005490F1E0FF121AC06901962E8A01E72F0A +:10276000991608F057C08E2E852021F0D8018C9044 +:10277000882A8C92E69531F4BFEFCB1ADB0AF6017A +:102780005490E0E893940F5F1F4FEACFF1101CC004 +:10279000782E70946901962E8A01E72F991608F019 +:1027A00039C08E2E852021F0D8018C9087208C9204 +:1027B000E69531F4BFEFCB1ADB0AF6015490E0E85E +:1027C00093940F5F1F4FEACFF3E0FF122CC0782ED7 +:1027D00070946901862E8A01972E8916D0F4E92D0E +:1027E000E52141F0D801EC916C2E682460FE0FC009 +:1027F000E82BEC93969439F4BFEFCB1ADB0AF60181 +:102800005490E0E89E2E83940F5F1F4FE6CFE721A0 +:10281000F0CFCE25880F19F44C5A5F4F81E0DF5F6F +:102820002A0D3B1D90CF6901962E8A01E72F99163C +:1028300088F78E2E852021F0D8018C9088268C92E6 +:10284000E69531F4BFEFCB1ADB0AF6015490E0E8CD +:1028500093940F5F1F4FEBCFDF91CF911F910F919B +:10286000FF90EF90DF90CF90BF90AF909F908F90B0 +:102870007F906F905F903F902F9008952F923F929E +:102880004F925F926F927F928F929F92AF92BF9280 +:10289000CF92DF92EF92FF920F931F93CF93DF932C +:1028A00000D000D000D01F92CDB7DEB74C01462E2D +:1028B000342E69018E2D01111DC0E1101BC0C40111 +:1028C00027960FB6F894DEBF0FBECDBFDF91CF9134 +:1028D0001F910F91FF90EF90DF90CF90BF90AF903E +:1028E0009F908F907F906F905F904F903F902F9030 +:1028F0000C94FE12F60154903196E490A52CB12C64 +:102900009501295F3F4FA90133E0559547953A95C9 +:10291000E1F75B834A830370F12CEE2DF0E0FD8339 +:10292000EC835A941FEF1E0D2F2D0F2C000C330B30 +:102930002A153B050CF070C0F982F7FE03C0F7E0E2 +:10294000FF0DF983298125952595259529839F2DAF +:10295000977897FF03C09150986F9F5F20E8622E91 +:10296000712C02C0759467949A95E2F7212C4981E5 +:10297000042E000C550B4E5F5F4F5F834E83222D5C +:10298000022C000C330BEC81FD812E173F070CF05D +:1029900041C04A815B81429FF001439FF00D529FED +:1029A000F00D11242E813F81E20FF31FEC0DFD1D70 +:1029B000E491F0E0E621F721EF2B41F1023069F0DC +:1029C000612F62194F2D033061F0452D4F19622D93 +:1029D000013039F0422D6F2D04C0652D6F19412F44 +:1029E00042198823A9F0382F3370398380FF03C040 +:1029F000552D561B652F81FF03C08E2D841B482F3C +:102A0000640D430DC4010E94C10489812394B7CF92 +:102A10001982F6CFF39488CF27960FB6F894DEBFCD +:102A20000FBECDBFDF91CF911F910F91FF90EF901F +:102A3000DF90CF90BF90AF909F908F907F906F90DE +:102A40005F904F903F902F900895DC01FB0184919F +:102A50008F5F14968C9314973196E491EF5F1596DF +:102A6000EC9315976E5F7F4F5F967C936E935E97A6 +:102A70000895EF920F93CF93DF93EC014E876D870C +:102A80002F87E98A088B81E0888788A319A28F8322 +:102A900066E273E0CE010E9425150E94612381E069 +:102AA0000E94772385E00E9485238CE00E9480238A +:102AB00061E08E850E94412161E08D850E94412167 +:102AC00061E08F850E944121898918161CF461E01C +:102AD0000E944121888918161CF461E00E9441215E +:102AE000898918166CF460E00E947D216AE070E02C +:102AF00080E090E00E943F2061E089890E947D2172 +:102B00008D85082E000C990BFC01E65CF94FE491D1 +:102B1000F0E0EE0FFF1FE85AF94F259134913D8BFD +:102B20002C8BFC01EA5DF94FE491EB8F8E85082E2A +:102B3000000C990BFC01E65CF94FE491F0E0EE0F1C +:102B4000FF1FE85AF94F259134913B8B2A8BFC01EA +:102B5000EA5DF94FE491EA8F8889082E000C990B01 +:102B6000FC01E65CF94FE491F0E0EE0FFF1FE85A3C +:102B7000F94F259134913F8B2E8BFC01EA5DF94F83 +:102B8000E491EC8F8F85082E000C990BFC01E65C1C +:102B9000F94FE491F0E0EE0FFF1FE85AF94F25914D +:102BA0003491398F288FFC01EA5DF94FE491ED8F64 +:102BB00061E2CE010E94F80F64E1CE010E94F80F9D +:102BC0008B8587FF02C08FE78B876B856068CE019E +:102BD0000E94F80F60E2CE010E94F80F6CE0CE0177 +:102BE0000E94F80FCE01DF91CF910F91EF900C94DE +:102BF0002F104F925F926F927F928F929F92AF921F +:102C0000BF92CF92DF92EF92FF920F931F93CF93D9 +:102C1000DF93EC01862EF42E102F83E586170CF43B +:102C200085C08FE284170CF481C04C814150550B54 +:102C3000049FC001059F900D1124860F911D67FD13 +:102C40009A95181619060CF071C03D818F2D0F2C26 +:102C5000000C990B039F800D911D11241816190665 +:102C60000CF064C078A0E62E912CC22ED12C292D18 +:102C7000092C000C330B8C8190E0281739070CF0DD +:102C800054C00197E0E02817390771F0C89EF001A1 +:102C9000C99EF00DD89EF00D11242E0F3F1FEE8D12 +:102CA000FF8DE20FF31FE4915F2C612C492C480C3F +:102CB0002D81862D062C000C990B2817190691F1F1 +:102CC0008CF1AE2EB12CE0FF16C0113061F4462D10 +:102CD0004F0D642DCE010E94C104F501F595E795D5 +:102CE0006394510EE5CF012F212F452D6E2DCE017E +:102CF0000E94DC10F2CF89A198A1891771F388A3F3 +:102D0000113041F4462D4F0D642DCE010E94C104B7 +:102D100078A2E3CF012F212F452D6E2DCE010E94E9 +:102D2000DC10F6CF9394E10EA2CF78A2DF91CF9181 +:102D30001F910F91FF90EF90DF90CF90BF90AF90D9 +:102D40009F908F907F906F905F904F9008950F931A +:102D5000CF93DF93EC01262F6A3049F428859D81BB +:102D60008A85299F800D11248A8719861DC06D30A0 +:102D7000D9F008854A8569850E94F91528853C8126 +:102D80008985239F800D112489879F81992361F074 +:102D9000082E000C990B44E550E0239F401951097F +:102DA000112448175907DCF281E090E0DF91CF91C0 +:102DB0000F910895FC01EC57FF4F718360838A5790 +:102DC0009F4F445FFC01408308956F927F928F92E2 +:102DD0009F92AF92BF92CF92DF92EF920F93CF93D9 +:102DE000DF934C015C0186E8A80EB11CD5018C91E3 +:102DF000882309F44AC0CCE0C81B8C3008F0C0E03E +:102E0000F401EA5AFF4F81E080836401BEE4CB0EF7 +:102E1000D11C60E0C6010E9474103401E3E56E0E1F +:102E2000711CD3018C9103E0080FDDE24D2F481B8C +:102E30004C0F83E0E82E24E560E0C6010E94C71233 +:102E400061E0C6010E947410F301808103E0080F65 +:102E50004D2F481B4C0F24E560E0C6010E9468120C +:102E6000F401E95AFF4F84E080833196D3018C91BD +:102E7000C81BC15DC083BC9660817181C6010E9480 +:102E80000B22F501808181508083DF91CF910F91DA +:102E9000EF90DF90CF90BF90AF909F908F907F90FA +:102EA0006F900895CF92DF92FF920F931F93CF936D +:102EB000DF93EC018C8D9D8D892B01F18E01025BDE +:102EC0001F4F40E061E0C8010E947810FE01E95AFE +:102ED000FF4FDE01AE5ABF4F9C9185E5891B808371 +:102EE00031961082698D613009F46DC078F0888D5B +:102EF000653008F082C06B5F811175C0DF91CF91A2 +:102F00001F910F91FF90DF90CF900895CE0185968D +:102F10000E94AC1E81E0FE01EA5AFF4F808366E208 +:102F200073E0C8010E9425151D8E1C8EFE01EC5A0F +:102F3000FF4F108288EAF82E6E018AE0C80ED11C7D +:102F4000CE010E9402188823D9F365E175E0C8011B +:102F50000E940B226A8D7B8D4AE050E0C8010E94DE +:102F60001A2360E075E0C8010E940B226F2D629564 +:102F70006F7070E04AE050E0C8010E94062365EFE0 +:102F800074E0C8010E940B2264E0C6010E94C20FD7 +:102F90008111B4CFFA94F110D3CF60E0CE010E943A +:102FA0001F1F83B7817F846083BF83B7816083BF26 +:102FB00083B7816083BF889583B78E7F83BF83B7D4 +:102FC0008E7F83BFBDCFCF58DF4F88819981AA8183 +:102FD000BB818F709927AA27BB2767E00897A105B7 +:102FE000B10508F068E7C801DF91CF911F910F91FB +:102FF000FF90DF90CF900C943622882309F47ECF87 +:103000006FE2F1CF8F929F92AF92BF92CF92DF92F9 +:10301000EF92FF920F931F93CF93DF93EC017C010C +:1030200080E8E80EF11CF70180809180A280B380D7 +:103030000E940E20861A970AA80AB90A6E01FFE7B5 +:10304000CF0ED11CF601808190E0B0E0A0E08E01AF +:1030500005581F4F88159905AA05BB0508F04AC0F9 +:10306000F80180819181A281B381892B8A2B8B2BDE +:1030700009F440C00E940E20F6012081620F711DEC +:10308000811D911DF70160837183828393833F9734 +:1030900080819181A281B3810196A11DB11D8083A0 +:1030A0009183A283B383F80110821182128213826A +:1030B0000E941A20FE01E958FF4F608371838283CA +:1030C0009383CE010E94231FCE010A960E94950F82 +:1030D000CE0148960E948C1F81E0DF91CF911F9115 +:1030E0000F91FF90EF90DF90CF90BF90AF909F90A7 +:1030F0008F900895F80180819181A281B381892BFD +:103100008A2B8B2BA9F57E01F5E2EF0EF11CC7018E +:103110000E94671DC7010E94DA1DC7010E949E1E02 +:10312000CE010E94E516CE010E9452177E018EE468 +:10313000E80EF11CC7010E942F10FE01EC5AFF4F50 +:103140008081811103C0C7010E9416100E941A20BD +:10315000F8016083718382839383FE01EB58FF4FF4 +:10316000C958DF4F28813981621B730B71836083DB +:1031700080E0B3CF2F923F924F925F926F927F92F7 +:103180008F929F92AF92BF92CF92DF92EF92FF9277 +:103190000F931F93CF93DF93CDB7DEB765970FB62D +:1031A000F894DEBF0FBECDBF6C016A8B7B8B4B8367 +:1031B000FC01EC5AFF4F10822FEF2D831C821D8AD9 +:1031C00010E31C8A3C013AE0630E711C842F90E0EE +:1031D0009F838E832601E3E54E0E511C4601F5E2E6 +:1031E0008F0E911C9601295A3F4F39872887C601B7 +:1031F000885A9F4F9B878A87F601EA5AFF4FFF87BD +:10320000EE8722503109398B288B0A971C01C601A1 +:103210000E9402188823D9F364E0C3010E94C20F00 +:10322000012F110F110B882399F0F201F081F19514 +:103230002B81F29F202D112422502D8B64E0C3019D +:103240000E94C20F811193C0C4010E94071F94C045 +:1032500065E0C3010E94C20F8111E7CF66E0C301A0 +:103260000E94C20F8111E1CF8C81811185C044E0A1 +:1032700063E0C3010E94D40F882331F09C899F5FD3 +:103280009C8BC4010E940B1F44E061E0C3010E94BB +:10329000D40F882331F0EC89E150EC8BC4010E94FB +:1032A0000B1FFC898F2F0F2E000C990B2E813F8155 +:1032B0008217930709F46BC0F7FF03C03B813150BD +:1032C0003C8BF2018081F4E0F80F2C89829FF01989 +:1032D0001124FD8B9D89090F111D97FD1A9517FF6C +:1032E00002C00F5F1F4FF801F595E795FA83E98358 +:1032F0000981102FE885F9851082EA85FB85008316 +:1033000021E0EE85FF852083E889F9891082EA882B +:10331000FB88B12CA12C2C89022E000C330B3D878D +:103320002C878E819F818A159B0599F1EC85FD85FF +:10333000EA15FB0579F423E0E885F9852083F2019D +:103340008081F02F2C89289FF00D11248F2FEA8582 +:10335000FB858083F70165917491C1010E94512220 +:10336000FFEFAF1ABF0A22E0E20EF11CDACFC40170 +:103370000E94031F3C893D83C8013D89831B91093D +:1033800037FD9395029764F181E08C83A3CF1C8A6B +:1033900098CF60E0C1010E947410F20180814981E0 +:1033A000FC89F89F400D1124415024E560E0C101E3 +:1033B0000E94981061E0C1010E947410F2018081A6 +:1033C00003E0080F4981FC898F9F400D1124425072 +:1033D00083E0E82E24E560E0C1010E94681217CF67 +:1033E0008D8165960FB6F894DEBF0FBECDBFDF911D +:1033F000CF911F910F91FF90EF90DF90CF90BF90F2 +:10340000AF909F908F907F906F905F904F903F9084 +:103410002F9008950F931F93CF93DF93EC018C01AE +:10342000025B1F4FC8010E9416106DEC74E0C801CA +:103430000E940B22C8010E942F1083E00E94852366 +:1034400080E591E0EEEFFFE30995FE01EC5AFF4FB6 +:10345000108268EA74E0C8010E945122C8010E94EB +:103460002F102A96CE010E94950F64E0CE010E9493 +:10347000C20F811107C062E370E080E090E00E941B +:103480003F20F0CFDF91CF911F910F9108952F92A0 +:103490003F924F925F926F927F928F929F92AF92E4 +:1034A000BF92CF92DF92EF92FF920F931F93CF9331 +:1034B000DF93CDB7DEB729970FB6F894DEBF0FBE06 +:1034C000CDBF998788877B836A832A013C0180E787 +:1034D000680E711CF3018081882309F4F7C081E034 +:1034E000E885F985EA5AFF4F8083E885F985EB5A2C +:1034F000FF4F1082E885F985EC5AFF4F1082E8856E +:10350000F985108E8F01025B1F4F61E0C8010E9498 +:103510007410888599858D5A9F4F9F838E83A884C8 +:10352000B98497E5A90EB11CE884F984E8E5EE0EAC +:10353000F11C88849984F2E58F0E911C8885998509 +:103540008F589F4F9D838C83288439849AE0290E5D +:10355000311CC884D984E5E2CE0ED11C88859985BA +:103560000E9402188823D1F3EA81FB81F491F98348 +:10357000FF2321F0EE81FF81F081F98327E335E01D +:1035800040E060E0C8010E94FE124114510439F08D +:103590004981445F920160E0C8010E94FE12F5017A +:1035A00010828CE0F70180836A817B81C8010E94D0 +:1035B0000B22F4018081982F990F990F891B8D5A46 +:1035C000F5018083EE81FF818081982F990F990FFB +:1035D000891B835DF7018083EC81FD81808163E33A +:1035E00075E084FD02C06FE275E0C8010E945122BF +:1035F000F4018081982F990F990F891B8D5AF5013D +:103600008083F70180818F5F8083E885F98582A5BB +:103610006BE275E0811102C067E275E0C8010E94AB +:103620005122F4018081982F990F990F891B8D5A8F +:10363000F5018083F70180818F5F808363E275E00D +:10364000C8010E94512265E0C1010E94C20F882377 +:1036500051F0E885F98562A56F5FC6010E940F1FD2 +:10366000C6010E940B1F64E0C1010E94C20F8111BC +:103670001FC0F3012081422F50E070E060E0EC8138 +:10368000FD8180819181A281B38184179507A6076E +:10369000B70710F02F3F61F466E0C1010E94C20F2E +:1036A000882309F45BCF888599850E940A1A56CF32 +:1036B0008FEFF301808360E0C6010E94A11EC60166 +:1036C0000E94031F81E0E885F985808F29960FB657 +:1036D000F894DEBF0FBECDBFDF91CF911F910F9148 +:1036E000FF90EF90DF90CF90BF90AF909F908F9022 +:1036F0007F906F905F904F903F902F90089550E093 +:1037000040E00C94471AE0E8F7E72591349181E016 +:103710002130304C09F080E00895CF93DF93EC0125 +:103720000E94831B9E01275A3F4FDE01A059BF4FC5 +:10373000882309F440C0E6E9F7E78491F901808322 +:10374000E7E9F7E7E491EC83E8E9F7E7E491ED8353 +:10375000E9E9F7E7859194919F838E83EBE9F7E799 +:103760008591949199878887EDE9F7E7E491EBA734 +:10377000EEE9F7E7E491EAA7EFE9F7E7E491EC93E4 +:10378000E0EAF7E7859194919D8F8C8FE2EAF7E765 +:10379000859194919F8F8E8FE4EAF7E785919491BC +:1037A00099A388A3E6EAF7E7859194919BA38AA35E +:1037B000DF91CF9108958CE3F90180831C828FEF14 +:1037C0008D8320E233E03F832E8324ED33E039877D +:1037D000288791E09BA79AA78C938CEA9DE09D8F08 +:1037E0008C8F8EED9DE09F8F8E8F84E79EE099A356 +:1037F00088A38CE39FE0DACFCF92DF92EF920F9312 +:10380000CF93DF93EC01FC01E158FF4F82E380830B +:10381000349781E090E0A0E0B0E080839183A283C0 +:10382000B3833B978FEF8083CE010E948D1BCE0127 +:103830000E941B1F6FEFCE010E941F1F6E018AE0C6 +:10384000C80ED11CC6010E94850FC6010E94950FAB +:10385000CE0148960E94821F8EE0E82E0FE020E104 +:103860004BE06DE0CE01825B9F4F0E943915A5961B +:10387000CE010E94A01C65E0C6010E94C20F8823F1 +:1038800051F060E0CE01DF91CF910F91EF90DF908A +:10389000CF900C940F1F40E067EA75E0CE01DF91F6 +:1038A000CF910F91EF90DF90CF900C94341DCF9378 +:1038B000DF93D62FC72F0E94831B882359F0AD2F8B +:1038C000BC2FEBE8F7E784918D933196E53987E7D4 +:1038D000F807C9F7DF91CF910895CF93DF93DC010B +:1038E00070E0660F771F1F96ED91FC915097E60FE1 +:1038F000F71F2591349190963C932E935F97F90191 +:103900004591549114968C911497849F402D1124C5 +:1039100091964C939197F901C591D4916D2F70E0D8 +:103920004617170629F020F0F90125913491432F0D +:10393000849F402D112492964C93DF91CF9108954E +:1039400021E0FC01248324E020A726E036E0308B30 +:10395000278760E00E946D1C61E070E083E00E94B8 +:10396000BB20E1EBF0E08081887F81608083F89468 +:1039700010928000E1E8F0E0108210928500109231 +:10398000840088E191E09093890080938800808191 +:1039900088608083808181608083EFE6F0E08081B1 +:1039A00082608083789408950F93FC01011107C011 +:1039B0006230D9F030F4662379F0613091F00F91E4 +:1039C00008956330C9F06430D1F76481649F402D5D +:1039D0001124458F268FF3CF4B3008F04AE0468BF9 +:1039E000EECF642F0F910C946D1C6481649F402D69 +:1039F0001124418F228FE3CF6481649F402D1124D5 +:103A0000438F248FDCCF80915407882329F0809145 +:103A100051078093B400089580E0FBCFFC01178A22 +:103A2000158A14A213A2108E1092510710925207F9 +:103A3000109254070C94031D0F931F93CF93DF93A1 +:103A4000EC018B010E940E1D1E870D871B8A1A8AAE +:103A500081E0898389E08E8B198E1B8E1D8EDF910C +:103A6000CF911F910F910895411102C00C941C1D1C +:103A70000895CF93DF93EC01611115C088818823ED +:103A800091F0898181110FC0E9858E2F90E0880F18 +:103A9000991FEF81F885E80FF91F859194918F3F69 +:103AA000980721F41882DF91CF9108959C87992778 +:103AB000880F991FEA85FB85E80FF91F65917491BE +:103AC000CE010E941C1D89858F5F8987ECCF60E045 +:103AD0000C94391D0F93CF93DF93EC01611166C0F5 +:103AE0008981882309F462C08D8981115FC08D8529 +:103AF0009E85EA89FB89EE0FFF1FE80FF91F4591AC +:103B000054914115510541F42989213021F51B8A31 +:103B10001A8AFC0145915491BA017695679576957C +:103B20006795862F40FF2EC0252F26952695269532 +:103B3000205186E0569547958A95E1F74F716F7051 +:103B400000E0CE010E94D41CEA89FB893196FB8BF0 +:103B5000EA8BCF010AC019828881882369F060E06E +:103B6000CE010E94391D8A899B89880F991FED8596 +:103B7000FE85E80FF91FCECFCE01DF91CF910F91D7 +:103B80000C940E1D8F738C8B8C81859F802D11243E +:103B90008D8B1DA21CA21BA281E08F8B80935407EA +:103BA000188E8A899B8901969B8B8A8BDF91CF9196 +:103BB0000F91089560E00C946A1DCF93DF93EC01A0 +:103BC0006111B3C08F89882309F4AFC08D89811139 +:103BD00005C0CE01DF91CF910C940E1D81508D8BCD +:103BE0008DA1811134C02BA13CA12F5F3F4FC90192 +:103BF000880F991FEF8DF8A1E80FF91F8591949117 +:103C0000482F47704EA3492F469546954FA3AC01C8 +:103C100064E0569547956A95E1F74F739C81499FFB +:103C2000402D11244DA383FB882780F980935007F2 +:103C30003CA32BA389A190E02817390740F02AA1C3 +:103C4000222309F475C0821B91099CA38BA38DA12B +:103C500081508DA3888D31E0380F388F4C892FA18A +:103C6000240F8C85280F2A836B8D662361F070E00A +:103C7000832F032E000C990B0E94C4238C8D869FEA +:103C8000200D11242A838A8190E0CB966BE370E0AB +:103C90000E94C4238A832E892B83698D662371F049 +:103CA000062E000C770B832F032E000C990B0E941D +:103CB000C4238A8D869F200D11242B836D8D66234E +:103CC00089F0832F330F990B70E00E94C423CB013E +:103CD00062E070E00E94C4232E8D9B81289F900D8E +:103CE00011249B834F3341F18B818A300CF089E0A2 +:103CF00087FD80E08B83F894EA81F0E0EB54FA4F83 +:103D0000E491E09353078D8198A5899F802D11241C +:103D10009B81899F802D11249EA1899F802D112434 +:103D200080935207809351077894DF91CF91089543 +:103D3000CE010E940E1D8BCF1B82DDCF60E00C9464 +:103D4000DD1DCF93DF93EC01611103C00E940E1DB6 +:103D50001982DF91CF910895CF93DF93EC010E94F8 +:103D60000E1D1982DF91CF9108956091520766234D +:103D700029F1809155078F5F8093550790915307E4 +:103D80008917E0F081E090915407911180E08093D1 +:103D900054071092550780915007882369F080914D +:103DA000040193E4899F802D1124895B8093040191 +:103DB0000E94A423909351070C94031D08951F9211 +:103DC0000F920FB60F9211242F933F934F935F934F +:103DD0006F937F938F939F93AF93BF93EF93FF93D3 +:103DE0000E94B51EFF91EF91BF91AF919F918F916E +:103DF0007F916F915F914F913F912F910F900FBEE7 +:103E00000F901F9018956EEF75E00C941C1D66EFD7 +:103E100075E00C941C1D60EF75E00C941C1DFC01FA +:103E2000862F660F990B668170E06F5F7F4F0E944F +:103E3000C4238583089521E0FC012083089570E068 +:103E400085E00C94BB20AF92BF92CF92DF92EF92AD +:103E5000FF920F931F93CF93DF93EC0189819A8197 +:103E60002FE0289F8001299F100D112485E10E94D9 +:103E7000A020800F911F24E0969587952A95E1F761 +:103E80009A8389832881222391F1EC81AD80B12C22 +:103E9000D12CC12CA885B9857D0110E000E06E8190 +:103EA0007F819B0150E040E08617970728F0BC0116 +:103EB000A817B90708F4BD0190E080E01F921F9297 +:103EC0001F92EF930E9420236B830F900F900F900F +:103ED0000F9070E085E0DF91CF911F910F91FF90DF +:103EE000EF90DF90CF90BF90AF900C94BB20DF910C +:103EF000CF911F910F91FF90EF90DF90CF90BF90E7 +:103F0000AF900895FC018CE39FE09383828384E06B +:103F1000818381E084870895CF93DF93EC018C81C6 +:103F20009D81892B21F18C858F7139F584E10E9467 +:103F3000A020BC01990F880B990B0E94762426EED5 +:103F40003FE34EEC50E40E9402250E9445249B0171 +:103F50007B836A83672BA9F084E08983FE01349612 +:103F600080E0419151912417350720F48983DF9136 +:103F7000CF9108958F5F8430A1F78C858F5F8C87F8 +:103F8000F6CF8FEF8983F9CF1F920F920FB60F9262 +:103F900011242F933F938F939F93AF93BF9380915F +:103FA000570790915807A0915907B0915A0730913F +:103FB000560723E0230F2D3758F50196A11DB11D9B +:103FC000209356078093570790935807A09359075B +:103FD000B0935A0780915B0790915C07A0915D07B1 +:103FE000B0915E070196A11DB11D80935B07909370 +:103FF0005C07A0935D07B0935E07BF91AF919F915F +:104000008F913F912F910F900FBE0F901F90189599 +:1040100026E8230F0296A11DB11DD2CF2FB7F89429 +:1040200060915707709158078091590790915A07EE +:104030002FBF08953FB7F89480915B0790915C077C +:10404000A0915D07B0915E0726B5A89B05C02F3FE4 +:1040500019F00196A11DB11D3FBFBA2FA92F982FAE +:104060008827BC01CD01620F711D811D911D42E0A9 +:10407000660F771F881F991F4A95D1F70895CF9231 +:10408000DF92EF92FF92CF93DF936B017C010E944E +:104090001A20EB01C114D104E104F10439F4DF91D9 +:1040A000CF91FF90EF90DF90CF9008950E941A205B +:1040B0006C1B7D0B683E734068F381E0C81AD10821 +:1040C000E108F108C851DC4FE5CF789484B58260EF +:1040D00084BD84B5816084BD85B5826085BD85B5AC +:1040E000816085BDEEE6F0E0808181608083E1E85B +:1040F000F0E0108280818260808380818160808393 +:10410000E0E8F0E0808181608083E1EBF0E0808195 +:1041100084608083E0EBF0E0808181608083EAE767 +:10412000F0E08081846080838081826080838081F0 +:10413000816080838081806880831092C1000895AF +:104140008E3008F08E502091050190E4299F900157 +:1041500011248770822B80937C0080917A00806488 +:1041600080937A0080917A0086FDFCCF8091780060 +:104170009091790008951F93CF93DF93182FEB014F +:1041800061E00E944121209739F460E0812FDF91A6 +:10419000CF911F910C947D21CF3FD10511F461E0A7 +:1041A000F5CFE12FF0E0EE5EF94FE491E33031F12D +:1041B00040F4E130B1F0E230E1F0C038D1057CF7F5 +:1041C000E4CFE63029F1E73059F1E430B1F78091DE +:1041D0008000806280938000D0938B00C0938A001F +:1041E00004C084B5806884BDC7BDDF91CF911F91A5 +:1041F000089584B5806284BDC8BDF7CF80918000EA +:10420000806880938000D0938900C0938800EDCFB0 +:104210008091B00080688093B000C093B300E5CF78 +:104220008091B00080628093B000C093B400DDCF75 +:10423000833081F028F4813099F08230A9F008951C +:104240008630A9F08730C9F08430B1F480918000C5 +:104250008F7D03C0809180008F77809380000895C8 +:1042600084B58F7784BD089584B58F7DFBCF809111 +:10427000B0008F778093B00008958091B0008F7D5B +:10428000F9CFCF93DF9390E0FC01EA5DF94F2491E1 +:10429000865C994FFC0184918823C9F090E0880FD7 +:1042A000991FFC01EE59F94FA591B491FC01E85A10 +:1042B000F94FC591D49161110DC09FB7F8948C91BD +:1042C000209582238C938881282328839FBFDF91A8 +:1042D000CF910895623051F49FB7F8943C91822FAA +:1042E000809583238C93E8812E2BEFCF8FB7F894A2 +:1042F000EC912E2B2C938FBFEACF1F93CF93DF939C +:10430000162F282F30E0F901EE5EF94F8491F90164 +:10431000EA5DF94FD491F901E65CF94FC491CC23E1 +:10432000A1F081110E941821EC2FF0E0EE0FFF1F89 +:10433000E85AF94FA591B4918FB7F894EC91111107 +:1043400008C0D095DE23DC938FBFDF91CF911F9102 +:104350000895DE2BF8CFCF93DF93282F30E0F901BB +:10436000EE5EF94F8491F901EA5DF94FD491F901BC +:10437000E65CF94FC491CC23A1F081110E94182171 +:10438000EC2FF0E0EE0FFF1FE25BF94FA591B49127 +:10439000EC91ED2381E090E009F480E0DF91CF9192 +:1043A000089580E090E0FACFCF92DF92EF92FF92F3 +:1043B0000F931F93CF93DF936C01EB017B01E40E0E +:1043C000F51E10E000E0CE15DF0561F06991D60121 +:1043D000ED91FC910190F081E02DC6010995080F47 +:1043E000191FF1CFC801DF91CF911F910F91FF905D +:1043F000EF90DF90CF900895FB0101900020E9F746 +:104400003197AF01461B570BDC01ED91FC91028007 +:10441000F381E02D0994EF92FF920F931F93CF93B6 +:10442000DF937C018B01D0E0C0E0F80164910F5F65 +:104430001F4F662359F0D701ED91FC910190F08157 +:10444000E02DC7010995C80FD91FEFCFCE01DF912D +:10445000CF911F910F91FF90EF9008956115710515 +:1044600011F00C94FC2190E080E00895DC01ED91C6 +:10447000FC910190F081E02D09940F931F93CF934D +:10448000DF93EC016DE00E9436228C016AE0CE01E0 +:104490000E943622800F911FDF91CF911F910F91C3 +:1044A00008950F931F93CF93DF93EC010E940B228B +:1044B0008C01CE010E943D22800F911FDF91CF9190 +:1044C0001F910F9108958F929F92AF92BF92CF92BA +:1044D000DF92EF92FF920F931F93CF93DF93CDB7AD +:1044E000DEB7A1970FB6F894DEBF0FBECDBF6C014B +:1044F000142FE52FCB01022F19A2223008F40AE075 +:104500007E0121E2E20EF11C802E912CB12CA12C17 +:10451000612F7E2FA50194010E94D823029F1019BC +:1045200011241A303CF5105DF70112937F01122F10 +:10453000E32FCA01232B242B252B51F790E080E099 +:10454000E114F10421F0B701C6010E94FC21A196FB +:104550000FB6F894DEBF0FBECDBFDF91CF911F9194 +:104560000F91FF90EF90DF90CF90BF90AF909F9012 +:104570008F900895195CD8CFCF92DF92EF92FF927F +:104580000F931F93CF93DF93EC016A017B012115F9 +:10459000310579F4E881F9810190F081E02D642FF3 +:1045A000DF91CF911F910F91FF90EF90DF90CF900F +:1045B00009942A303105E9F42AE0F7FE1AC06DE2C9 +:1045C0000E9436228C0144275527BA014C195D09F7 +:1045D0006E097F092AE0CE010E946322800F911F9D +:1045E000DF91CF911F910F91FF90EF90DF90CF90CF +:1045F0000895B701A601CE01DF91CF911F910F91D0 +:10460000FF90EF90DF90CF900C9463229A01AB0162 +:10461000770F660B770B0C94BC222115310541F402 +:10462000DC01ED91FC910190F081E02D642F099463 +:104630000C9463229A01AB0170E060E00C940D23AE +:104640004F925F926F927F92AF92BF92CF92DF9222 +:10465000EF92FF920F931F93CF93DF93CDB7DEB707 +:1046600029013A019B01AC01241935094609570972 +:1046700089899A89AB89BC89BC01CD016A197B09FA +:104680008C099D090E949423A801970124193509DA +:10469000460957090E94FA23CA01B9016A0D7B1D18 +:1046A0008C1D9D1DDF91CF911F910F91FF90EF9079 +:1046B000DF90CF90BF90AF907F906F905F904F90C2 +:1046C000089561E08AE00E947D2161E08AE00E9415 +:1046D00041218CB580618CBD8CB580648CBD61E05E +:1046E0008DE00E94412161E08BE00C944121811119 +:1046F00004C08CB580628CBD08958CB58F7DFBCFD6 +:104700009CB5937F892B8CBD08959CB59C7F282FE9 +:104710002370922B9CBD9DB582FB222720F9892F07 +:104720008E7F822B8DBD0895DB018F939F930E9416 +:104730001924BF91AF91A29F800D911DA39F900D51 +:10474000B29F900D11240895991B79E004C0991F20 +:10475000961708F0961B881F7A95C9F780950895DB +:10476000AA1BBB1B51E107C0AA1FBB1FA617B70797 +:1047700010F0A61BB70B881F991F5A95A9F78095B3 +:104780009095BC01CD01089597FB072E16F4009477 +:1047900007D077FD09D00E94B02307FC05D03EF476 +:1047A000909581959F4F0895709561957F4F0895DD +:1047B000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F25 +:1047C000EE1FFF1FA217B307E407F50720F0A21B97 +:1047D000B30BE40BF50B661F771F881F991F1A9404 +:1047E00069F760957095809590959B01AC01BD012E +:1047F000CF010895052E97FB1EF400940E9411240A +:1048000057FD07D00E94D82307FC03D04EF40C9428 +:10481000112450954095309521953F4F4F4F5F4F54 +:10482000089590958095709561957F4F8F4F9F4F1C +:1048300008950E943624A59F900DB49F900DA49FCB +:10484000800D911D112408950024A7FD00942A0FC6 +:10485000301D401D501D601D701D801D901D089550 +:10486000EE0FFF1F0590F491E02D0994A29FB00177 +:10487000B39FC001A39F700D811D1124911DB29F94 +:10488000700D811D1124911D08950E94E12488F06E +:104890009F5798F0B92F9927B751B0F0E1F0660F04 +:1048A000771F881F991F1AF0BA95C9F714C0B13045 +:1048B00091F00E94FB24B1E008950C94FB24672F33 +:1048C000782F8827B85F39F0B93FCCF38695779574 +:1048D0006795B395D9F73EF490958095709561955D +:1048E0007F4F8F4F9F4F0895E89409C097FB3EF488 +:1048F00090958095709561957F4F8F4F9F4F99232D +:10490000A9F0F92F96E9BB279395F69587957795AA +:104910006795B795F111F8CFFAF4BB0F11F460FF6A +:104920001BC06F5F7F4F8F4F9F4F16C0882311F0C2 +:1049300096E911C0772321F09EE8872F762F05C0D6 +:10494000662371F096E8862F70E060E02AF09A9571 +:10495000660F771F881FDAF7880F9695879597F966 +:10496000089597F99F6780E870E060E008959FEFF1 +:1049700080EC089500240A941616170618060906F6 +:10498000089500240A9412161306140605060895C5 +:10499000092E0394000C11F4882352F0BB0F40F44D +:1049A000BF2B11F460FF04C06F5F7F4F8F4F9F4F8D +:1049B000089557FD9058440F551F59F05F3F71F00F +:1049C0004795880F97FB991F61F09F3F79F0879576 +:1049D0000895121613061406551FF2CF4695F1DFFF +:1049E00008C0161617061806991FF1CF869571058F +:1049F000610508940895E894BB2766277727CB01C3 +:104A000097F908950E9415250C94C8240E94BA2491 +:104A100038F00E94C12420F0952311F00C94B124A9 +:104A20000C94B72411240C94FC240E94D92470F314 +:104A3000959FC1F3950F50E0551F629FF001729F43 +:104A4000BB27F00DB11D639FAA27F00DB11DAA1F52 +:104A5000649F6627B00DA11D661F829F2227B00D9F +:104A6000A11D621F739FB00DA11D621F839FA00D2A +:104A7000611D221F749F3327A00D611D231F849F7A +:104A8000600D211D822F762F6A2F11249F575040D1 +:104A90009AF0F1F088234AF0EE0FFF1FBB1F661F4C +:104AA000771F881F91505040A9F79E3F510580F015 +:104AB0000C94B1240C94FC245F3FE4F3983ED4F3AF +:104AC000869577956795B795F795E7959F5FC1F7B9 +:104AD000FE2B880F911D9695879597F908958F92D3 +:104AE0009F92AF92BF92CF92DF92EF92FF92CF93BD +:104AF000DF93EC01688179818A819B816115710561 +:104B00008105910521F464E279ED8BE597E02DE1D3 +:104B100033EF41E050E00E94FA2349015A019B0122 +:104B2000AC01A7EAB1E40E9419246B017C01ACEE50 +:104B3000B4EFA50194010E948328DC01CB018C0D08 +:104B40009D1DAE1DBF1DB7FF03C00197A109B04851 +:104B500088839983AA83BB839F77DF91CF91FF904E +:104B6000EF90DF90CF90BF90AF909F908F9008957F +:104B70000E946F25089580E091E00E946F250895BE +:104B8000B0E0A0E08093000190930101A0930201A6 +:104B9000B09303010895DC0101C06D934150504072 +:104BA000E0F70895AEE0B0E0E8EDF5E20C94962869 +:104BB0000D891E898F89988D26E02C831A8309839D +:104BC00097FF02C080E090E801979E838D83AE013D +:104BD000455E5F4F698D7A8DCE0101960E94022657 +:104BE0004D815E8157FD0AC02F81388542175307DA +:104BF0000CF49A01020F131FF80110822E96E4E0C4 +:104C00000C94B228ABE0B0E0E8E0F6E20C9488281F +:104C10007C013B018A01FC0117821682838181FF9E +:104C2000C8C1CE0101965C01F7019381F30193FDA8 +:104C3000859193FF81913F01882309F453C1853207 +:104C400039F493FD859193FF81913F01853229F4D9 +:104C5000B70190E00E94F227E7CF912C212C312C54 +:104C6000FFE1F31538F08B3211F190F4803209F145 +:104C7000833229F137FC3CC020ED280F2A3050F553 +:104C800036FE20C08AE0989E200D1124922E06C088 +:104C90008D3291F0803371F7689430F8F30193FD11 +:104CA000859193FF81913F018111DACF21C06894F2 +:104CB00031F8689432F8F2CF689433F8EFCF689403 +:104CC00034F8ECCFEAE02E9E200D1124222E6894B9 +:104CD00035F8E4CF8E3229F436FC04C1689436F8F6 +:104CE000DDCF8C3619F4689437F8D8CF8836B1F216 +:104CF000982F9F7D95549330E0F08336A1F1833750 +:104D0000C1F1833509F063C02801F2E04F0E511C58 +:104D1000F801C080D180692D70E036FC02C06FEFD1 +:104D20007FEFC6010E94DC274C01689437F88201AE +:104D30000AC00C5F1F4FFFE3F98388248394912CF2 +:104D40006501E89437F833FE2DC0522C811491048C +:104D500071F5552009F468CFB70180E290E00E9418 +:104D6000F2275A94F6CFF801808189830E5F1F4F96 +:104D7000E4CF2801F2E04F0E511CF801C080D18031 +:104D8000692D70E036FC02C06FEF7FEFC6010E9414 +:104D9000E7274C018201D5CFB70180E290E00E9465 +:104DA000F2272A942814190409F0B0F7CECFF6019F +:104DB00037FC859137FE81916F01B70190E00E9429 +:104DC000F22751105A94F1E08F1A9108BFCF843620 +:104DD00019F0893609F077C0F80137FE6BC06081A1 +:104DE0007181828193810C5F1F4FF32DFF763F2EDF +:104DF00097FF09C090958095709561957F4F8F4F73 +:104E00009F4F689437F82AE030E0A5010E942228DD +:104E1000C82ECA188C2C432C36FE0CC0E89440F8DF +:104E2000C91440F434FE05C032FC03C0F32DFE7EED +:104E30004F2E892C44FE95C0FE01EC0DF11D8081A2 +:104E4000803309F087C0242D297E422E842D88705E +:104E5000582E43FC95C040FE8FC09C2C821418F441 +:104E60002C0C922C981844FE91C0B70180E390E07E +:104E70000E94F22742FE09C088E790E041FE02C08E +:104E800088E590E0B7010E94F227C91408F48AC0AF +:104E9000CA94D12C9FEFC91AD90ACA0CDB1CF6019F +:104EA00082916F01B70190E00E94F227AC14BD041B +:104EB000B1F74FCF60817181072E000C880B990BE1 +:104EC0000E5F1F4F92CFD32CE894D4F82AE030E045 +:104ED000853739F1232D297FD22E8F3601F148F401 +:104EE0008835A9F0F701868197812B96E2E10C9431 +:104EF000A428803749F08837A9F7D4FE02C0689407 +:104F0000D2F820E130E00DC06894D4F8F6CF34FE3A +:104F100003C0822F8660D82E20E132E002C028E054 +:104F200030E0F801D7FE0FC06081718182819381EA +:104F30000C5F1F4FA5010E942228C82ECA183D2CC5 +:104F4000E89437F867CF6081718190E080E00E5F70 +:104F50001F4FF0CF42FC02C0839478CF8394839498 +:104F600075CF842D867809F471CFF6CFB70180E232 +:104F700090E00E94F22783948214C0F3512C73CFE7 +:104F8000522C5818821408F46ECFF8CF842D8678EE +:104F900009F47BCF8BE241FE80E247FC8DE2B70152 +:104FA00090E071CFB70180E390E00E94F2279A94DD +:104FB0006CCF8FEF9FEF99CFFC010590615070404F +:104FC0000110D8F7809590958E0F9F1F0895FC01D2 +:104FD0006150704001900110D8F7809590958E0F28 +:104FE0009F1F08950F931F93CF93DF93182F092FBF +:104FF000EB018B8181FD09C01FEF0FEF812F902FF7 +:10500000DF91CF911F910F91089582FF14C02E81DF +:105010003F818C819D81281739073CF4E881F98113 +:10502000CF0101969983888310838E819F81019699 +:105030009F838E83E3CFE885F985812F0995892B9E +:10504000A1F3DACFFA01AA27283051F1203181F1FA +:10505000E8946F936E7F6E5F7F4F8F4F9F4FAF4F80 +:10506000B1E03ED0B4E03CD0670F781F891F9A1F93 +:10507000A11D680F791F8A1F911DA11D6A0F711D47 +:10508000811D911DA11D20D009F468943F912AE053 +:10509000269F11243019305D3193DEF6CF0108953B +:1050A000462F4770405D4193B3E00FD0C9F7F6CF6C +:1050B000462F4F70405D4A3318F0495D31FD405234 +:1050C000419302D0A9F7EACFB4E0A69597958795CA +:1050D00077956795BA95C9F70097610571050895A9 +:1050E0009B01AC010A2E0694579547953795279555 +:1050F000BA95C9F7620F731F841F951FA01D0895ED +:10510000B7FF0C9419240E941924821B930B089555 +:105110002F923F924F925F926F927F928F929F92C7 +:10512000AF92BF92CF92DF92EF92FF920F931F93B5 +:10513000CF93DF93CDB7DEB7CA1BDB0B0FB6F89466 +:10514000DEBF0FBECDBF09942A88398848885F84A6 +:105150006E847D848C849B84AA84B984C884DF8017 +:10516000EE80FD800C811B81AA81B981CE0FD11DFB +:105170000FB6F894DEBF0FBECDBFED01089513E06A +:10518000C8E3D3E004C0FE010E9430242196C93355 +:08519000D107C9F7F894FFCF25 +:1051980001000000010148503D257500573D256478 +:1051A80000473D256400463D256400FA00000003E1 +:1051B800000400004255494C440041545441434BBB +:1051C800004352454154450024012A0131010100A0 +:1051D800000000190064000000000000A716D42198 +:0851E8004C4F41444552000008 :04000003000006C62D :00000001FF diff --git a/Exe/POCKET.MAP b/Exe/POCKET.MAP index cf0c6ac..1423d72 100644 --- a/Exe/POCKET.MAP +++ b/Exe/POCKET.MAP @@ -5,7 +5,7 @@ Archive member included to satisfy reference by file (symbol) ../lib/libgamebuino.a(Display.o) Obj/Gfx.o (_displayBuffer) ../lib/libgamebuino.a(font3x3.o) - Obj/Gfx.o (font3x3) + Obj/Player.o (font3x3) ../lib/libgamebuino.a(font3x5.o) Obj/Gfx.o (font3x5) ../lib/libgamebuino.a(Gamebuino.o) @@ -46,7 +46,7 @@ Archive member included to satisfy reference by file (symbol) /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_exit.o) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/crtatmega328p.o (exit) /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_copy_data.o) - Obj/Gfx.o (__do_copy_data) + Obj/Player.o (__do_copy_data) /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_clear_bss.o) Obj/main.o (__do_clear_bss) /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_ctors.o) @@ -160,7 +160,7 @@ Archive member included to satisfy reference by file (symbol) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(utoa_ncheck.o) ../lib/libarduino.a(WString.o) (__utoa_ncheck) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(snprintf.o) - Obj/Gfx.o (snprintf) + Obj/Player.o (snprintf) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(snprintf.o) (vfprintf) /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(cty_isfalse.o) @@ -231,18 +231,16 @@ Discarded input sections 0x0000000000000000 0x1c Obj/System.o .text.SystemArrayCompare 0x0000000000000000 0x34 Obj/System.o - .text.SystemCollisionCheck - 0x0000000000000000 0x94 Obj/System.o .group 0x0000000000000000 0x8 Obj/Gfx.o .text 0x0000000000000000 0x0 Obj/Gfx.o .data 0x0000000000000000 0x0 Obj/Gfx.o .bss 0x0000000000000000 0x0 Obj/Gfx.o .text.GfxShowKeyboard 0x0000000000000000 0xc Obj/Gfx.o - .text.GfxClearScreen - 0x0000000000000000 0x8 Obj/Gfx.o .text.GfxRenderTiles 0x0000000000000000 0xbe Obj/Gfx.o + .text.GfxPrintText + 0x0000000000000000 0xc Obj/Gfx.o .text.GfxDrawLine 0x0000000000000000 0x38 Obj/Gfx.o .text 0x0000000000000000 0x0 Obj/Pad.o @@ -263,8 +261,8 @@ Discarded input sections .text 0x0000000000000000 0x0 Obj/Unit.o .data 0x0000000000000000 0x0 Obj/Unit.o .bss 0x0000000000000000 0x0 Obj/Unit.o - .text.UnitAcceptAction - 0x0000000000000000 0x2 Obj/Unit.o + .text.UnitAttackAccepted + 0x0000000000000000 0x8 Obj/Unit.o .text 0x0000000000000000 0x0 Obj/Menu.o .data 0x0000000000000000 0x0 Obj/Menu.o .bss 0x0000000000000000 0x0 Obj/Menu.o @@ -285,8 +283,6 @@ Discarded input sections 0x0000000000000000 0x3c ../lib/libgamebuino.a(Display.o) .text._ZN7Display11setContrastEh 0x0000000000000000 0x32 ../lib/libgamebuino.a(Display.o) - .text._ZN7Display10fillScreenEh - 0x0000000000000000 0x10 ../lib/libgamebuino.a(Display.o) .text._ZN7Display8drawLineEaaaa 0x0000000000000000 0xf0 ../lib/libgamebuino.a(Display.o) .text._ZN7Display10fillCircleEaaa @@ -1017,8 +1013,6 @@ Discarded input sections .text 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(memset.o) .data 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(memset.o) .bss 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(memset.o) - .text.avr-libc - 0x0000000000000000 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(memset.o) .text 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strchr.o) .data 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strchr.o) .bss 0x0000000000000000 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strchr.o) @@ -1303,7 +1297,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0x5078 +.text 0x0000000000000000 0x5198 *(.vectors) .vectors 0x0000000000000000 0x68 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/crtatmega328p.o 0x0000000000000000 __vectors @@ -1495,574 +1489,582 @@ END GROUP .text.startup._GLOBAL__sub_I_gb 0x00000000000006e8 0x16 Obj/main.o .text._Z8GameInitv - 0x00000000000006fe 0x80 Obj/Gameplay.o + 0x00000000000006fe 0x8a Obj/Gameplay.o 0x00000000000006fe _Z8GameInitv .text.startup._GLOBAL__sub_I_GamePlayers - 0x000000000000077e 0x8 Obj/Gameplay.o + 0x0000000000000788 0x8 Obj/Gameplay.o .text.exit._GLOBAL__sub_D_GamePlayers - 0x0000000000000786 0x8 Obj/Gameplay.o + 0x0000000000000790 0x8 Obj/Gameplay.o .text.SystemSetRandSeed - 0x000000000000078e 0x38 Obj/System.o - 0x000000000000078e SystemSetRandSeed + 0x0000000000000798 0x38 Obj/System.o + 0x0000000000000798 SystemSetRandSeed .text.SystemIncreaseGlobalTimer - 0x00000000000007c6 0x48 Obj/System.o - 0x00000000000007c6 SystemIncreaseGlobalTimer + 0x00000000000007d0 0x48 Obj/System.o + 0x00000000000007d0 SystemIncreaseGlobalTimer .text.SystemRand - 0x000000000000080e 0x56 Obj/System.o - 0x000000000000080e SystemRand + 0x0000000000000818 0x56 Obj/System.o + 0x0000000000000818 SystemRand .text.SystemResetTimers - 0x0000000000000864 0x28 Obj/System.o - 0x0000000000000864 SystemResetTimers + 0x000000000000086e 0x28 Obj/System.o + 0x000000000000086e SystemResetTimers .text.SystemInit - 0x000000000000088c 0x2e Obj/System.o - 0x000000000000088c SystemInit + 0x0000000000000896 0x2e Obj/System.o + 0x0000000000000896 SystemInit + .text.SystemCollisionCheck + 0x00000000000008c4 0x94 Obj/System.o + 0x00000000000008c4 SystemCollisionCheck .text._ZL21GfxIsInsideScreenAreaaahh - 0x00000000000008ba 0x2a Obj/Gfx.o + 0x0000000000000958 0x2a Obj/Gfx.o .text._ZN7Display9drawPixelEaa - 0x00000000000008e4 0x8e Obj/Gfx.o - 0x00000000000008e4 _ZN7Display9drawPixelEaa - .text.GfxInit 0x0000000000000972 0x10 Obj/Gfx.o - 0x0000000000000972 GfxInit + 0x0000000000000982 0x8e Obj/Gfx.o + 0x0000000000000982 _ZN7Display9drawPixelEaa + .text.GfxInit 0x0000000000000a10 0x10 Obj/Gfx.o + 0x0000000000000a10 GfxInit .text.GfxRefreshNeeded - 0x0000000000000982 0x14 Obj/Gfx.o - 0x0000000000000982 GfxRefreshNeeded + 0x0000000000000a20 0x14 Obj/Gfx.o + 0x0000000000000a20 GfxRefreshNeeded + .text.GfxClearScreen + 0x0000000000000a34 0x12 Obj/Gfx.o + 0x0000000000000a34 GfxClearScreen .text.GfxIsSpriteInsideScreenArea - 0x0000000000000996 0xe Obj/Gfx.o - 0x0000000000000996 GfxIsSpriteInsideScreenArea + 0x0000000000000a46 0xe Obj/Gfx.o + 0x0000000000000a46 GfxIsSpriteInsideScreenArea .text.GfxDrawSprite - 0x00000000000009a4 0x58 Obj/Gfx.o - 0x00000000000009a4 GfxDrawSprite + 0x0000000000000a54 0x58 Obj/Gfx.o + 0x0000000000000a54 GfxDrawSprite .text.GfxGetWidthFromSpriteData - 0x00000000000009fc 0x6 Obj/Gfx.o - 0x00000000000009fc GfxGetWidthFromSpriteData + 0x0000000000000aac 0x6 Obj/Gfx.o + 0x0000000000000aac GfxGetWidthFromSpriteData .text.GfxGetHeightFromSpriteData - 0x0000000000000a02 0x8 Obj/Gfx.o - 0x0000000000000a02 GfxGetHeightFromSpriteData + 0x0000000000000ab2 0x8 Obj/Gfx.o + 0x0000000000000ab2 GfxGetHeightFromSpriteData .text.GfxPrintText_Flash - 0x0000000000000a0a 0xc Obj/Gfx.o - 0x0000000000000a0a GfxPrintText_Flash + 0x0000000000000aba 0xc Obj/Gfx.o + 0x0000000000000aba GfxPrintText_Flash .text.GfxPrintTextFont - 0x0000000000000a16 0x5a Obj/Gfx.o - 0x0000000000000a16 GfxPrintTextFont - .text.GfxPrintText - 0x0000000000000a70 0xc Obj/Gfx.o - 0x0000000000000a70 GfxPrintText + 0x0000000000000ac6 0x5a Obj/Gfx.o + 0x0000000000000ac6 GfxPrintTextFont .text.GfxDrawCircle - 0x0000000000000a7c 0x58 Obj/Gfx.o - 0x0000000000000a7c GfxDrawCircle + 0x0000000000000b20 0x58 Obj/Gfx.o + 0x0000000000000b20 GfxDrawCircle .text.GfxDrawRectangle - 0x0000000000000ad4 0x5e Obj/Gfx.o - 0x0000000000000ad4 GfxDrawRectangle + 0x0000000000000b78 0x5e Obj/Gfx.o + 0x0000000000000b78 GfxDrawRectangle .text.GfxFillRectangle - 0x0000000000000b32 0x5e Obj/Gfx.o - 0x0000000000000b32 GfxFillRectangle - .text.GfxShowResources - 0x0000000000000b90 0xe8 Obj/Gfx.o - 0x0000000000000b90 GfxShowResources + 0x0000000000000bd6 0x5e Obj/Gfx.o + 0x0000000000000bd6 GfxFillRectangle .text.PadButtonReleased - 0x0000000000000c78 0x16 Obj/Pad.o - 0x0000000000000c78 PadButtonReleased + 0x0000000000000c34 0x16 Obj/Pad.o + 0x0000000000000c34 PadButtonReleased .text.PadButtonPressedFrames - 0x0000000000000c8e 0x1c Obj/Pad.o - 0x0000000000000c8e PadButtonPressedFrames + 0x0000000000000c4a 0x1c Obj/Pad.o + 0x0000000000000c4a PadButtonPressedFrames .text.PadButtonPressed - 0x0000000000000caa 0x6 Obj/Pad.o - 0x0000000000000caa PadButtonPressed + 0x0000000000000c66 0x6 Obj/Pad.o + 0x0000000000000c66 PadButtonPressed .text.PadDirectionKeyPressed - 0x0000000000000cb0 0x30 Obj/Pad.o - 0x0000000000000cb0 PadDirectionKeyPressed + 0x0000000000000c6c 0x30 Obj/Pad.o + 0x0000000000000c6c PadDirectionKeyPressed .text.PadAnyKeyPressed - 0x0000000000000ce0 0x20 Obj/Pad.o - 0x0000000000000ce0 PadAnyKeyPressed + 0x0000000000000c9c 0x20 Obj/Pad.o + 0x0000000000000c9c PadAnyKeyPressed .text._ZN6PlayerC2Ev - 0x0000000000000d00 0x2 Obj/Player.o - 0x0000000000000d00 _ZN6PlayerC2Ev - 0x0000000000000d00 _ZN6PlayerC1Ev + 0x0000000000000cbc 0x2 Obj/Player.o + 0x0000000000000cbc _ZN6PlayerC2Ev + 0x0000000000000cbc _ZN6PlayerC1Ev .text._ZN6PlayerD2Ev - 0x0000000000000d02 0x2 Obj/Player.o - 0x0000000000000d02 _ZN6PlayerD2Ev - 0x0000000000000d02 _ZN6PlayerD1Ev + 0x0000000000000cbe 0x2 Obj/Player.o + 0x0000000000000cbe _ZN6PlayerD2Ev + 0x0000000000000cbe _ZN6PlayerD1Ev .text._ZN6Player10showHealthEh - 0x0000000000000d04 0x76 Obj/Player.o - 0x0000000000000d04 _ZN6Player10showHealthEh - .text._ZN6Player11DrawHandlerEv - 0x0000000000000d7a 0xcc Obj/Player.o - 0x0000000000000d7a _ZN6Player11DrawHandlerEv + 0x0000000000000cc0 0x76 Obj/Player.o + 0x0000000000000cc0 _ZN6Player10showHealthEh + .text._ZN6Player13ShowResourcesEv + 0x0000000000000d36 0xe8 Obj/Player.o + 0x0000000000000d36 _ZN6Player13ShowResourcesEv .text._ZN6Player10createUnitE8t_unitid16t_CollisionBlock - 0x0000000000000e46 0xba Obj/Player.o - 0x0000000000000e46 _ZN6Player10createUnitE8t_unitid16t_CollisionBlock + 0x0000000000000e1e 0xba Obj/Player.o + 0x0000000000000e1e _ZN6Player10createUnitE8t_unitid16t_CollisionBlock .text._ZN6Player4InitEv - 0x0000000000000f00 0x15e Obj/Player.o - 0x0000000000000f00 _ZN6Player4InitEv + 0x0000000000000ed8 0x15e Obj/Player.o + 0x0000000000000ed8 _ZN6Player4InitEv .text._ZN6Player12GetCursorPosEv - 0x000000000000105e 0x58 Obj/Player.o - 0x000000000000105e _ZN6Player12GetCursorPosEv + 0x0000000000001036 0x58 Obj/Player.o + 0x0000000000001036 _ZN6Player12GetCursorPosEv .text._ZN6Player21UnitBuildingSelectionEv - 0x00000000000010b6 0x114 Obj/Player.o - 0x00000000000010b6 _ZN6Player21UnitBuildingSelectionEv + 0x000000000000108e 0x114 Obj/Player.o + 0x000000000000108e _ZN6Player21UnitBuildingSelectionEv .text._ZN6Player14ButtonAPressedEv - 0x00000000000011ca 0x22 Obj/Player.o - 0x00000000000011ca _ZN6Player14ButtonAPressedEv + 0x00000000000011a2 0x22 Obj/Player.o + 0x00000000000011a2 _ZN6Player14ButtonAPressedEv + .text._ZN6Player16ActionCreateUnitEP6t_Unit + 0x00000000000011c4 0xdc Obj/Player.o + 0x00000000000011c4 _ZN6Player16ActionCreateUnitEP6t_Unit .text._ZN6Player15ButtonAReleasedEv - 0x00000000000011ec 0x18c Obj/Player.o - 0x00000000000011ec _ZN6Player15ButtonAReleasedEv + 0x00000000000012a0 0xa8 Obj/Player.o + 0x00000000000012a0 _ZN6Player15ButtonAReleasedEv .text._ZN6Player14ButtonBPressedEv - 0x0000000000001378 0x52 Obj/Player.o - 0x0000000000001378 _ZN6Player14ButtonBPressedEv + 0x0000000000001348 0x52 Obj/Player.o + 0x0000000000001348 _ZN6Player14ButtonBPressedEv .text._ZN6Player15ButtonBReleasedEv - 0x00000000000013ca 0x90 Obj/Player.o - 0x00000000000013ca _ZN6Player15ButtonBReleasedEv + 0x000000000000139a 0x90 Obj/Player.o + 0x000000000000139a _ZN6Player15ButtonBReleasedEv .text._ZN6Player18ButtonLeftReleasedEv - 0x000000000000145a 0x120 Obj/Player.o - 0x000000000000145a _ZN6Player18ButtonLeftReleasedEv + 0x000000000000142a 0x7c Obj/Player.o + 0x000000000000142a _ZN6Player18ButtonLeftReleasedEv .text._ZN6Player28IncreaseShowActionsMenuIndexEv - 0x000000000000157a 0x120 Obj/Player.o - 0x000000000000157a _ZN6Player28IncreaseShowActionsMenuIndexEv + 0x00000000000014a6 0x7c Obj/Player.o + 0x00000000000014a6 _ZN6Player28IncreaseShowActionsMenuIndexEv .text._ZN6Player11ActionsMenuEv - 0x000000000000169a 0x86 Obj/Player.o - 0x000000000000169a _ZN6Player11ActionsMenuEv + 0x0000000000001522 0x8a Obj/Player.o + 0x0000000000001522 _ZN6Player11ActionsMenuEv + .text._ZN6Player11DrawHandlerEv + 0x00000000000015ac 0xf8 Obj/Player.o + 0x00000000000015ac _ZN6Player11DrawHandlerEv .text._ZN6Player13ButtonHandlerEv - 0x0000000000001720 0x90 Obj/Player.o - 0x0000000000001720 _ZN6Player13ButtonHandlerEv + 0x00000000000016a4 0x90 Obj/Player.o + 0x00000000000016a4 _ZN6Player13ButtonHandlerEv .text._ZN6Player7HandlerEv - 0x00000000000017b0 0x6c Obj/Player.o - 0x00000000000017b0 _ZN6Player7HandlerEv + 0x0000000000001734 0x44 Obj/Player.o + 0x0000000000001734 _ZN6Player7HandlerEv .text.CameraInit - 0x000000000000181c 0x16 Obj/Camera.o - 0x000000000000181c CameraInit + 0x0000000000001778 0x16 Obj/Camera.o + 0x0000000000001778 CameraInit .text.CameraApplyCoordinatesToCoordinates - 0x0000000000001832 0x66 Obj/Camera.o - 0x0000000000001832 CameraApplyCoordinatesToCoordinates + 0x000000000000178e 0x66 Obj/Camera.o + 0x000000000000178e CameraApplyCoordinatesToCoordinates .text.CameraApplyCoordinatesToSprite - 0x0000000000001898 0x14 Obj/Camera.o - 0x0000000000001898 CameraApplyCoordinatesToSprite + 0x00000000000017f4 0x14 Obj/Camera.o + 0x00000000000017f4 CameraApplyCoordinatesToSprite .text.CameraHandler - 0x00000000000018ac 0x13c Obj/Camera.o - 0x00000000000018ac CameraHandler + 0x0000000000001808 0x13c Obj/Camera.o + 0x0000000000001808 CameraHandler .text.CameraSetLock - 0x00000000000019e8 0x6 Obj/Camera.o - 0x00000000000019e8 CameraSetLock - .text.UnitAttackAccepted - 0x00000000000019ee 0x8 Obj/Unit.o - .text.UnitBuildAccepted - 0x00000000000019f6 0x2 Obj/Unit.o + 0x0000000000001944 0x6 Obj/Camera.o + 0x0000000000001944 CameraSetLock .text.UnitInit - 0x00000000000019f8 0xa8 Obj/Unit.o - 0x00000000000019f8 UnitInit + 0x000000000000194a 0xa8 Obj/Unit.o + 0x000000000000194a UnitInit .text.UnitGetWidthFromID - 0x0000000000001aa0 0x14 Obj/Unit.o - 0x0000000000001aa0 UnitGetWidthFromID + 0x00000000000019f2 0x14 Obj/Unit.o + 0x00000000000019f2 UnitGetWidthFromID .text.UnitGetHeightFromID - 0x0000000000001ab4 0x14 Obj/Unit.o - 0x0000000000001ab4 UnitGetHeightFromID + 0x0000000000001a06 0x14 Obj/Unit.o + 0x0000000000001a06 UnitGetHeightFromID .text.UnitDraw - 0x0000000000001ac8 0x23c Obj/Unit.o - 0x0000000000001ac8 UnitDraw + 0x0000000000001a1a 0x23c Obj/Unit.o + 0x0000000000001a1a UnitDraw .text.UnitGetHpFromID - 0x0000000000001d04 0xc Obj/Unit.o - 0x0000000000001d04 UnitGetHpFromID + 0x0000000000001c56 0xc Obj/Unit.o + 0x0000000000001c56 UnitGetHpFromID .text.UnitMoveTo - 0x0000000000001d10 0x10 Obj/Unit.o - 0x0000000000001d10 UnitMoveTo + 0x0000000000001c62 0x10 Obj/Unit.o + 0x0000000000001c62 UnitMoveTo .text.UnitHandler - 0x0000000000001d20 0x8c Obj/Unit.o - 0x0000000000001d20 UnitHandler + 0x0000000000001c72 0x240 Obj/Unit.o + 0x0000000000001c72 UnitHandler .text.UnitGetAvailableActions - 0x0000000000001dac 0x10 Obj/Unit.o - 0x0000000000001dac UnitGetAvailableActions + 0x0000000000001eb2 0x10 Obj/Unit.o + 0x0000000000001eb2 UnitGetAvailableActions .text.UnitGetActionString - 0x0000000000001dbc 0x14 Obj/Unit.o - 0x0000000000001dbc UnitGetActionString + 0x0000000000001ec2 0x10 Obj/Unit.o + 0x0000000000001ec2 UnitGetActionString .text._Z17MenuGetPlayerNameP6Player - 0x0000000000001dd0 0x18 Obj/Menu.o - 0x0000000000001dd0 _Z17MenuGetPlayerNameP6Player + 0x0000000000001ed2 0x18 Obj/Menu.o + 0x0000000000001ed2 _Z17MenuGetPlayerNameP6Player .text._Z8MainMenuv - 0x0000000000001de8 0x20 Obj/Menu.o - 0x0000000000001de8 _Z8MainMenuv + 0x0000000000001eea 0x20 Obj/Menu.o + 0x0000000000001eea _Z8MainMenuv .text._ZN7Buttons5beginEv - 0x0000000000001e08 0x20 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001e08 _ZN7Buttons5beginEv + 0x0000000000001f0a 0x20 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001f0a _ZN7Buttons5beginEv .text._ZN7Buttons6updateEv - 0x0000000000001e28 0x5a ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001e28 _ZN7Buttons6updateEv + 0x0000000000001f2a 0x5a ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001f2a _ZN7Buttons6updateEv .text._ZN7Buttons7pressedEh - 0x0000000000001e82 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001e82 _ZN7Buttons7pressedEh + 0x0000000000001f84 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001f84 _ZN7Buttons7pressedEh .text._ZN7Buttons8releasedEh - 0x0000000000001e94 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001e94 _ZN7Buttons8releasedEh + 0x0000000000001f96 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001f96 _ZN7Buttons8releasedEh .text._ZN7Buttons6repeatEhh - 0x0000000000001ea6 0x2c ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001ea6 _ZN7Buttons6repeatEhh + 0x0000000000001fa8 0x2c ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001fa8 _ZN7Buttons6repeatEhh .text._ZN7Buttons8timeHeldEh - 0x0000000000001ed2 0x10 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000001ed2 _ZN7Buttons8timeHeldEh + 0x0000000000001fd4 0x10 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001fd4 _ZN7Buttons8timeHeldEh .text._ZN8SPIClass8transferEh - 0x0000000000001ee2 0xc ../lib/libgamebuino.a(Display.o) - 0x0000000000001ee2 _ZN8SPIClass8transferEh + 0x0000000000001fe4 0xc ../lib/libgamebuino.a(Display.o) + 0x0000000000001fe4 _ZN8SPIClass8transferEh .text._ZN7Display7commandEh - 0x0000000000001eee 0x3c ../lib/libgamebuino.a(Display.o) - 0x0000000000001eee _ZN7Display7commandEh + 0x0000000000001ff0 0x3c ../lib/libgamebuino.a(Display.o) + 0x0000000000001ff0 _ZN7Display7commandEh .text._ZN7Display5clearEv - 0x0000000000001f2a 0x22 ../lib/libgamebuino.a(Display.o) - 0x0000000000001f2a _ZN7Display5clearEv + 0x000000000000202c 0x22 ../lib/libgamebuino.a(Display.o) + 0x000000000000202c _ZN7Display5clearEv + .text._ZN7Display10fillScreenEh + 0x000000000000204e 0x10 ../lib/libgamebuino.a(Display.o) + 0x000000000000204e _ZN7Display10fillScreenEh .text._ZN7Display6updateEv - 0x0000000000001f4c 0x8a ../lib/libgamebuino.a(Display.o) - 0x0000000000001f4c _ZN7Display6updateEv + 0x000000000000205e 0x8a ../lib/libgamebuino.a(Display.o) + 0x000000000000205e _ZN7Display6updateEv .text._ZN7Display8setColorEa - 0x0000000000001fd6 0x8 ../lib/libgamebuino.a(Display.o) - 0x0000000000001fd6 _ZN7Display8setColorEa + 0x00000000000020e8 0x8 ../lib/libgamebuino.a(Display.o) + 0x00000000000020e8 _ZN7Display8setColorEa .text._ZN7Display8setColorEaa - 0x0000000000001fde 0x8 ../lib/libgamebuino.a(Display.o) - 0x0000000000001fde _ZN7Display8setColorEaa + 0x00000000000020f0 0x8 ../lib/libgamebuino.a(Display.o) + 0x00000000000020f0 _ZN7Display8setColorEaa .text._ZN7Display13drawFastVLineEaaa - 0x0000000000001fe6 0x38 ../lib/libgamebuino.a(Display.o) - 0x0000000000001fe6 _ZN7Display13drawFastVLineEaaa + 0x00000000000020f8 0x38 ../lib/libgamebuino.a(Display.o) + 0x00000000000020f8 _ZN7Display13drawFastVLineEaaa .text._ZN7Display13drawFastHLineEaaa - 0x000000000000201e 0x38 ../lib/libgamebuino.a(Display.o) - 0x000000000000201e _ZN7Display13drawFastHLineEaaa + 0x0000000000002130 0x38 ../lib/libgamebuino.a(Display.o) + 0x0000000000002130 _ZN7Display13drawFastHLineEaaa .text._ZN7Display8drawRectEaaaa - 0x0000000000002056 0x50 ../lib/libgamebuino.a(Display.o) - 0x0000000000002056 _ZN7Display8drawRectEaaaa + 0x0000000000002168 0x50 ../lib/libgamebuino.a(Display.o) + 0x0000000000002168 _ZN7Display8drawRectEaaaa .text._ZN7Display8fillRectEaaaa - 0x00000000000020a6 0x52 ../lib/libgamebuino.a(Display.o) - 0x00000000000020a6 _ZN7Display8fillRectEaaaa + 0x00000000000021b8 0x52 ../lib/libgamebuino.a(Display.o) + 0x00000000000021b8 _ZN7Display8fillRectEaaaa .text._ZN7Display10drawCircleEaaa - 0x00000000000020f8 0x100 ../lib/libgamebuino.a(Display.o) - 0x00000000000020f8 _ZN7Display10drawCircleEaaa + 0x000000000000220a 0x100 ../lib/libgamebuino.a(Display.o) + 0x000000000000220a _ZN7Display10drawCircleEaaa .text._ZN7Display16drawCircleHelperEaaah - 0x00000000000021f8 0xfc ../lib/libgamebuino.a(Display.o) - 0x00000000000021f8 _ZN7Display16drawCircleHelperEaaah + 0x000000000000230a 0xfc ../lib/libgamebuino.a(Display.o) + 0x000000000000230a _ZN7Display16drawCircleHelperEaaah .text._ZN7Display16fillCircleHelperEaaaha - 0x00000000000022f4 0xca ../lib/libgamebuino.a(Display.o) - 0x00000000000022f4 _ZN7Display16fillCircleHelperEaaaha + 0x0000000000002406 0xca ../lib/libgamebuino.a(Display.o) + 0x0000000000002406 _ZN7Display16fillCircleHelperEaaaha .text._ZN7Display13drawRoundRectEaaaaa - 0x00000000000023be 0xbe ../lib/libgamebuino.a(Display.o) - 0x00000000000023be _ZN7Display13drawRoundRectEaaaaa + 0x00000000000024d0 0xbe ../lib/libgamebuino.a(Display.o) + 0x00000000000024d0 _ZN7Display13drawRoundRectEaaaaa .text._ZN7Display13fillRoundRectEaaaaa - 0x000000000000247c 0x6e ../lib/libgamebuino.a(Display.o) - 0x000000000000247c _ZN7Display13fillRoundRectEaaaaa + 0x000000000000258e 0x6e ../lib/libgamebuino.a(Display.o) + 0x000000000000258e _ZN7Display13fillRoundRectEaaaaa .text._ZN7Display10drawBitmapEaaPKh - 0x00000000000024ea 0x280 ../lib/libgamebuino.a(Display.o) - 0x00000000000024ea _ZN7Display10drawBitmapEaaPKh + 0x00000000000025fc 0x280 ../lib/libgamebuino.a(Display.o) + 0x00000000000025fc _ZN7Display10drawBitmapEaaPKh .text._ZN7Display10drawBitmapEaaPKhhh - 0x000000000000276a 0x1ce ../lib/libgamebuino.a(Display.o) - 0x000000000000276a _ZN7Display10drawBitmapEaaPKhhh + 0x000000000000287c 0x1ce ../lib/libgamebuino.a(Display.o) + 0x000000000000287c _ZN7Display10drawBitmapEaaPKhhh .text._ZN7Display7setFontEPKh - 0x0000000000002938 0x28 ../lib/libgamebuino.a(Display.o) - 0x0000000000002938 _ZN7Display7setFontEPKh + 0x0000000000002a4a 0x28 ../lib/libgamebuino.a(Display.o) + 0x0000000000002a4a _ZN7Display7setFontEPKh .text._ZN7Display5beginEaaaaa - 0x0000000000002960 0x180 ../lib/libgamebuino.a(Display.o) - 0x0000000000002960 _ZN7Display5beginEaaaaa + 0x0000000000002a72 0x180 ../lib/libgamebuino.a(Display.o) + 0x0000000000002a72 _ZN7Display5beginEaaaaa .text._ZN7Display8drawCharEaahh - 0x0000000000002ae0 0x15c ../lib/libgamebuino.a(Display.o) - 0x0000000000002ae0 _ZN7Display8drawCharEaahh + 0x0000000000002bf2 0x15c ../lib/libgamebuino.a(Display.o) + 0x0000000000002bf2 _ZN7Display8drawCharEaahh .text._ZN7Display5writeEh - 0x0000000000002c3c 0x66 ../lib/libgamebuino.a(Display.o) - 0x0000000000002c3c _ZN7Display5writeEh + 0x0000000000002d4e 0x66 ../lib/libgamebuino.a(Display.o) + 0x0000000000002d4e _ZN7Display5writeEh .text._ZN9Gamebuino5popupEPK19__FlashStringHelperh - 0x0000000000002ca2 0x16 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002ca2 _ZN9Gamebuino5popupEPK19__FlashStringHelperh + 0x0000000000002db4 0x16 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002db4 _ZN9Gamebuino5popupEPK19__FlashStringHelperh .text._ZN9Gamebuino11updatePopupEv - 0x0000000000002cb8 0xda ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002cb8 _ZN9Gamebuino11updatePopupEv + 0x0000000000002dca 0xda ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002dca _ZN9Gamebuino11updatePopupEv .text._ZN9Gamebuino14displayBatteryEv - 0x0000000000002d92 0x160 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002d92 _ZN9Gamebuino14displayBatteryEv + 0x0000000000002ea4 0x160 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002ea4 _ZN9Gamebuino14displayBatteryEv .text._ZN9Gamebuino6updateEv - 0x0000000000002ef2 0x170 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002ef2 _ZN9Gamebuino6updateEv + 0x0000000000003004 0x170 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000003004 _ZN9Gamebuino6updateEv .text._ZN9Gamebuino4menuEPKPKch - 0x0000000000003062 0x2a0 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000003062 _ZN9Gamebuino4menuEPKPKch + 0x0000000000003174 0x2a0 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000003174 _ZN9Gamebuino4menuEPKPKch .text._ZN9Gamebuino10changeGameEv - 0x0000000000003302 0x7a ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000003302 _ZN9Gamebuino10changeGameEv + 0x0000000000003414 0x7a ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000003414 _ZN9Gamebuino10changeGameEv .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh - 0x000000000000337c 0x270 ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000337c _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh + 0x000000000000348e 0x270 ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000348e _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelper - 0x00000000000035ec 0x8 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000035ec _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper + 0x00000000000036fe 0x8 ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000036fe _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper .text._ZN9Gamebuino17settingsAvailableEv - 0x00000000000035f4 0x14 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000035f4 _ZN9Gamebuino17settingsAvailableEv + 0x0000000000003706 0x14 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000003706 _ZN9Gamebuino17settingsAvailableEv .text._ZN9Gamebuino12readSettingsEv - 0x0000000000003608 0xde ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000003608 _ZN9Gamebuino12readSettingsEv + 0x000000000000371a 0xde ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000371a _ZN9Gamebuino12readSettingsEv .text._ZN9Gamebuino5beginEv - 0x00000000000036e6 0xb6 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000036e6 _ZN9Gamebuino5beginEv + 0x00000000000037f8 0xb6 ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000037f8 _ZN9Gamebuino5beginEv .text._ZN9Gamebuino14getDefaultNameEPc - 0x000000000000379c 0x2c ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000379c _ZN9Gamebuino14getDefaultNameEPc + 0x00000000000038ae 0x2c ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000038ae _ZN9Gamebuino14getDefaultNameEPc .text._ZN5Sound7commandEhhah.part.0 - 0x00000000000037c8 0x66 ../lib/libgamebuino.a(Sound.o) + 0x00000000000038da 0x66 ../lib/libgamebuino.a(Sound.o) .text._ZN5Sound5beginEv - 0x000000000000382e 0x68 ../lib/libgamebuino.a(Sound.o) - 0x000000000000382e _ZN5Sound5beginEv + 0x0000000000003940 0x68 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003940 _ZN5Sound5beginEv .text._ZN5Sound7commandEhhah - 0x0000000000003896 0x5e ../lib/libgamebuino.a(Sound.o) - 0x0000000000003896 _ZN5Sound7commandEhhah + 0x00000000000039a8 0x5e ../lib/libgamebuino.a(Sound.o) + 0x00000000000039a8 _ZN5Sound7commandEhhah .text._ZN5Sound12updateOutputEv - 0x00000000000038f4 0x16 ../lib/libgamebuino.a(Sound.o) - 0x00000000000038f4 _ZN5Sound12updateOutputEv + 0x0000000000003a06 0x16 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003a06 _ZN5Sound12updateOutputEv .text._ZN5Sound8stopNoteEh.part.2 - 0x000000000000390a 0x1c ../lib/libgamebuino.a(Sound.o) + 0x0000000000003a1c 0x1c ../lib/libgamebuino.a(Sound.o) .text._ZN5Sound11playPatternEPKjh.part.5 - 0x0000000000003926 0x30 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003a38 0x30 ../lib/libgamebuino.a(Sound.o) .text._ZN5Sound11playPatternEPKjh - 0x0000000000003956 0xa ../lib/libgamebuino.a(Sound.o) - 0x0000000000003956 _ZN5Sound11playPatternEPKjh + 0x0000000000003a68 0xa ../lib/libgamebuino.a(Sound.o) + 0x0000000000003a68 _ZN5Sound11playPatternEPKjh .text._ZN5Sound11updateTrackEh - 0x0000000000003960 0x5c ../lib/libgamebuino.a(Sound.o) - 0x0000000000003960 _ZN5Sound11updateTrackEh + 0x0000000000003a72 0x5c ../lib/libgamebuino.a(Sound.o) + 0x0000000000003a72 _ZN5Sound11updateTrackEh .text._ZN5Sound11updateTrackEv - 0x00000000000039bc 0x6 ../lib/libgamebuino.a(Sound.o) - 0x00000000000039bc _ZN5Sound11updateTrackEv + 0x0000000000003ace 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003ace _ZN5Sound11updateTrackEv .text._ZN5Sound13updatePatternEh - 0x00000000000039c2 0xe0 ../lib/libgamebuino.a(Sound.o) - 0x00000000000039c2 _ZN5Sound13updatePatternEh + 0x0000000000003ad4 0xe0 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003ad4 _ZN5Sound13updatePatternEh .text._ZN5Sound13updatePatternEv - 0x0000000000003aa2 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003aa2 _ZN5Sound13updatePatternEv + 0x0000000000003bb4 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003bb4 _ZN5Sound13updatePatternEv .text._ZN5Sound10updateNoteEh - 0x0000000000003aa8 0x182 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003aa8 _ZN5Sound10updateNoteEh + 0x0000000000003bba 0x182 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003bba _ZN5Sound10updateNoteEh .text._ZN5Sound10updateNoteEv - 0x0000000000003c2a 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003c2a _ZN5Sound10updateNoteEv + 0x0000000000003d3c 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003d3c _ZN5Sound10updateNoteEv .text._ZN5Sound11stopPatternEh - 0x0000000000003c30 0x16 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003c30 _ZN5Sound11stopPatternEh + 0x0000000000003d42 0x16 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003d42 _ZN5Sound11stopPatternEh .text._ZN5Sound11stopPatternEv - 0x0000000000003c46 0x12 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003c46 _ZN5Sound11stopPatternEv + 0x0000000000003d58 0x12 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003d58 _ZN5Sound11stopPatternEv .text._ZN5Sound14generateOutputEv - 0x0000000000003c58 0x54 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003c58 _ZN5Sound14generateOutputEv + 0x0000000000003d6a 0x54 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003d6a _ZN5Sound14generateOutputEv .text.__vector_11 - 0x0000000000003cac 0x48 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003cac __vector_11 + 0x0000000000003dbe 0x48 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003dbe __vector_11 .text._ZN5Sound6playOKEv - 0x0000000000003cf4 0x8 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003cf4 _ZN5Sound6playOKEv + 0x0000000000003e06 0x8 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003e06 _ZN5Sound6playOKEv .text._ZN5Sound10playCancelEv - 0x0000000000003cfc 0x8 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003cfc _ZN5Sound10playCancelEv + 0x0000000000003e0e 0x8 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003e0e _ZN5Sound10playCancelEv .text._ZN5Sound8playTickEv - 0x0000000000003d04 0x8 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003d04 _ZN5Sound8playTickEv + 0x0000000000003e16 0x8 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003e16 _ZN5Sound8playTickEv .text._ZN5Sound9setVolumeEa - 0x0000000000003d0c 0x18 ../lib/libgamebuino.a(Sound.o) - 0x0000000000003d0c _ZN5Sound9setVolumeEa + 0x0000000000003e1e 0x18 ../lib/libgamebuino.a(Sound.o) + 0x0000000000003e1e _ZN5Sound9setVolumeEa .text._ZN9Backlight5beginEv - 0x0000000000003d24 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000003d24 _ZN9Backlight5beginEv + 0x0000000000003e36 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000003e36 _ZN9Backlight5beginEv .text._ZN9Backlight3setEh - 0x0000000000003d2c 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000003d2c _ZN9Backlight3setEh + 0x0000000000003e3e 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000003e3e _ZN9Backlight3setEh .text._ZN9Backlight6updateEv - 0x0000000000003d34 0xbe ../lib/libgamebuino.a(Backlight.o) - 0x0000000000003d34 _ZN9Backlight6updateEv + 0x0000000000003e46 0xbe ../lib/libgamebuino.a(Backlight.o) + 0x0000000000003e46 _ZN9Backlight6updateEv .text._ZN7Battery5beginEv - 0x0000000000003df2 0x14 ../lib/libgamebuino.a(Battery.o) - 0x0000000000003df2 _ZN7Battery5beginEv + 0x0000000000003f04 0x14 ../lib/libgamebuino.a(Battery.o) + 0x0000000000003f04 _ZN7Battery5beginEv .text._ZN7Battery6updateEv - 0x0000000000003e06 0x70 ../lib/libgamebuino.a(Battery.o) - 0x0000000000003e06 _ZN7Battery6updateEv + 0x0000000000003f18 0x70 ../lib/libgamebuino.a(Battery.o) + 0x0000000000003f18 _ZN7Battery6updateEv .text.__vector_16 - 0x0000000000003e76 0x94 ../lib/libarduino.a(wiring.o) - 0x0000000000003e76 __vector_16 - .text.millis 0x0000000000003f0a 0x18 ../lib/libarduino.a(wiring.o) - 0x0000000000003f0a millis - .text.micros 0x0000000000003f22 0x4a ../lib/libarduino.a(wiring.o) - 0x0000000000003f22 micros - .text.delay 0x0000000000003f6c 0x4c ../lib/libarduino.a(wiring.o) - 0x0000000000003f6c delay - .text.init 0x0000000000003fb8 0x76 ../lib/libarduino.a(wiring.o) - 0x0000000000003fb8 init + 0x0000000000003f88 0x94 ../lib/libarduino.a(wiring.o) + 0x0000000000003f88 __vector_16 + .text.millis 0x000000000000401c 0x18 ../lib/libarduino.a(wiring.o) + 0x000000000000401c millis + .text.micros 0x0000000000004034 0x4a ../lib/libarduino.a(wiring.o) + 0x0000000000004034 micros + .text.delay 0x000000000000407e 0x4c ../lib/libarduino.a(wiring.o) + 0x000000000000407e delay + .text.init 0x00000000000040ca 0x76 ../lib/libarduino.a(wiring.o) + 0x00000000000040ca init .text.analogRead - 0x000000000000402e 0x36 ../lib/libarduino.a(wiring_analog.o) - 0x000000000000402e analogRead + 0x0000000000004140 0x36 ../lib/libarduino.a(wiring_analog.o) + 0x0000000000004140 analogRead .text.analogWrite - 0x0000000000004064 0xba ../lib/libarduino.a(wiring_analog.o) - 0x0000000000004064 analogWrite + 0x0000000000004176 0xba ../lib/libarduino.a(wiring_analog.o) + 0x0000000000004176 analogWrite .text.turnOffPWM - 0x000000000000411e 0x52 ../lib/libarduino.a(wiring_digital.o) - .text.pinMode 0x0000000000004170 0x78 ../lib/libarduino.a(wiring_digital.o) - 0x0000000000004170 pinMode + 0x0000000000004230 0x52 ../lib/libarduino.a(wiring_digital.o) + .text.pinMode 0x0000000000004282 0x78 ../lib/libarduino.a(wiring_digital.o) + 0x0000000000004282 pinMode .text.digitalWrite - 0x00000000000041e8 0x5c ../lib/libarduino.a(wiring_digital.o) - 0x00000000000041e8 digitalWrite + 0x00000000000042fa 0x5c ../lib/libarduino.a(wiring_digital.o) + 0x00000000000042fa digitalWrite .text.digitalRead - 0x0000000000004244 0x52 ../lib/libarduino.a(wiring_digital.o) - 0x0000000000004244 digitalRead + 0x0000000000004356 0x52 ../lib/libarduino.a(wiring_digital.o) + 0x0000000000004356 digitalRead .text._ZN5Print5writeEPKhj - 0x0000000000004296 0x50 ../lib/libarduino.a(Print.o) - 0x0000000000004296 _ZN5Print5writeEPKhj + 0x00000000000043a8 0x50 ../lib/libarduino.a(Print.o) + 0x00000000000043a8 _ZN5Print5writeEPKhj .text._ZN5Print5writeEPKc.part.1 - 0x00000000000042e6 0x1e ../lib/libarduino.a(Print.o) + 0x00000000000043f8 0x1e ../lib/libarduino.a(Print.o) .text._ZN5Print5printEPK19__FlashStringHelper - 0x0000000000004304 0x46 ../lib/libarduino.a(Print.o) - 0x0000000000004304 _ZN5Print5printEPK19__FlashStringHelper + 0x0000000000004416 0x46 ../lib/libarduino.a(Print.o) + 0x0000000000004416 _ZN5Print5printEPK19__FlashStringHelper .text._ZN5Print5printEPKc - 0x000000000000434a 0x10 ../lib/libarduino.a(Print.o) - 0x000000000000434a _ZN5Print5printEPKc + 0x000000000000445c 0x10 ../lib/libarduino.a(Print.o) + 0x000000000000445c _ZN5Print5printEPKc .text._ZN5Print5printEc - 0x000000000000435a 0xe ../lib/libarduino.a(Print.o) - 0x000000000000435a _ZN5Print5printEc + 0x000000000000446c 0xe ../lib/libarduino.a(Print.o) + 0x000000000000446c _ZN5Print5printEc .text._ZN5Print7printlnEv - 0x0000000000004368 0x28 ../lib/libarduino.a(Print.o) - 0x0000000000004368 _ZN5Print7printlnEv + 0x000000000000447a 0x28 ../lib/libarduino.a(Print.o) + 0x000000000000447a _ZN5Print7printlnEv .text._ZN5Print7printlnEPK19__FlashStringHelper - 0x0000000000004390 0x24 ../lib/libarduino.a(Print.o) - 0x0000000000004390 _ZN5Print7printlnEPK19__FlashStringHelper + 0x00000000000044a2 0x24 ../lib/libarduino.a(Print.o) + 0x00000000000044a2 _ZN5Print7printlnEPK19__FlashStringHelper .text._ZN5Print11printNumberEmh - 0x00000000000043b4 0xb2 ../lib/libarduino.a(Print.o) - 0x00000000000043b4 _ZN5Print11printNumberEmh + 0x00000000000044c6 0xb2 ../lib/libarduino.a(Print.o) + 0x00000000000044c6 _ZN5Print11printNumberEmh .text._ZN5Print5printEli - 0x0000000000004466 0x94 ../lib/libarduino.a(Print.o) - 0x0000000000004466 _ZN5Print5printEli + 0x0000000000004578 0x94 ../lib/libarduino.a(Print.o) + 0x0000000000004578 _ZN5Print5printEli .text._ZN5Print5printEii - 0x00000000000044fa 0xe ../lib/libarduino.a(Print.o) - 0x00000000000044fa _ZN5Print5printEii + 0x000000000000460c 0xe ../lib/libarduino.a(Print.o) + 0x000000000000460c _ZN5Print5printEii .text._ZN5Print5printEmi - 0x0000000000004508 0x1a ../lib/libarduino.a(Print.o) - 0x0000000000004508 _ZN5Print5printEmi + 0x000000000000461a 0x1a ../lib/libarduino.a(Print.o) + 0x000000000000461a _ZN5Print5printEmi .text._ZN5Print5printEji - 0x0000000000004522 0xc ../lib/libarduino.a(Print.o) - 0x0000000000004522 _ZN5Print5printEji + 0x0000000000004634 0xc ../lib/libarduino.a(Print.o) + 0x0000000000004634 _ZN5Print5printEji .text._Z3maplllll - 0x000000000000452e 0x82 ../lib/libarduino.a(WMath.o) - 0x000000000000452e _Z3maplllll + 0x0000000000004640 0x82 ../lib/libarduino.a(WMath.o) + 0x0000000000004640 _Z3maplllll .text._ZN8SPIClass5beginEv - 0x00000000000045b0 0x2c ../lib/libarduino.a(SPI.o) - 0x00000000000045b0 _ZN8SPIClass5beginEv + 0x00000000000046c2 0x2c ../lib/libarduino.a(SPI.o) + 0x00000000000046c2 _ZN8SPIClass5beginEv .text._ZN8SPIClass11setBitOrderEh - 0x00000000000045dc 0x12 ../lib/libarduino.a(SPI.o) - 0x00000000000045dc _ZN8SPIClass11setBitOrderEh + 0x00000000000046ee 0x12 ../lib/libarduino.a(SPI.o) + 0x00000000000046ee _ZN8SPIClass11setBitOrderEh .text._ZN8SPIClass11setDataModeEh - 0x00000000000045ee 0xa ../lib/libarduino.a(SPI.o) - 0x00000000000045ee _ZN8SPIClass11setDataModeEh + 0x0000000000004700 0xa ../lib/libarduino.a(SPI.o) + 0x0000000000004700 _ZN8SPIClass11setDataModeEh .text._ZN8SPIClass15setClockDividerEh - 0x00000000000045f8 0x1e ../lib/libarduino.a(SPI.o) - 0x00000000000045f8 _ZN8SPIClass15setClockDividerEh + 0x000000000000470a 0x1e ../lib/libarduino.a(SPI.o) + 0x000000000000470a _ZN8SPIClass15setClockDividerEh .text.libgcc.mul - 0x0000000000004616 0x20 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_mulsi3.o) - 0x0000000000004616 __mulsi3 + 0x0000000000004728 0x20 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_mulsi3.o) + 0x0000000000004728 __mulsi3 .text.libgcc.div - 0x0000000000004636 0x18 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodqi4.o) - 0x0000000000004636 __udivmodqi4 + 0x0000000000004748 0x18 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodqi4.o) + 0x0000000000004748 __udivmodqi4 .text.libgcc.div - 0x000000000000464e 0x28 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodhi4.o) - 0x000000000000464e __udivmodhi4 + 0x0000000000004760 0x28 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodhi4.o) + 0x0000000000004760 __udivmodhi4 .text.libgcc.div - 0x0000000000004676 0x28 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_divmodhi4.o) - 0x0000000000004676 __divmodhi4 - 0x0000000000004676 _div + 0x0000000000004788 0x28 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_divmodhi4.o) + 0x0000000000004788 __divmodhi4 + 0x0000000000004788 _div .text.libgcc.div - 0x000000000000469e 0x44 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodsi4.o) - 0x000000000000469e __udivmodsi4 + 0x00000000000047b0 0x44 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_udivmodsi4.o) + 0x00000000000047b0 __udivmodsi4 .text.libgcc.div - 0x00000000000046e2 0x2e /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_divmodsi4.o) - 0x00000000000046e2 __divmodsi4 + 0x00000000000047f4 0x2e /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_divmodsi4.o) + 0x00000000000047f4 __divmodsi4 .text.libgcc.div - 0x0000000000004710 0x10 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_negsi2.o) - 0x0000000000004710 __negsi2 + 0x0000000000004822 0x10 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_negsi2.o) + 0x0000000000004822 __negsi2 .text.libgcc.mul - 0x0000000000004720 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_muluhisi3.o) - 0x0000000000004720 __muluhisi3 - .text.libgcc 0x0000000000004736 0x18 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_adddi3_s8.o) - 0x0000000000004736 __adddi3_s8 - .text.libgcc 0x000000000000474e 0xc /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_tablejump2.o) - 0x000000000000474e __tablejump2__ + 0x0000000000004832 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_muluhisi3.o) + 0x0000000000004832 __muluhisi3 + .text.libgcc 0x0000000000004848 0x18 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_adddi3_s8.o) + 0x0000000000004848 __adddi3_s8 + .text.libgcc 0x0000000000004860 0xc /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_tablejump2.o) + 0x0000000000004860 __tablejump2__ .text.libgcc.mul - 0x000000000000475a 0x1e /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_umulhisi3.o) - 0x000000000000475a __umulhisi3 + 0x000000000000486c 0x1e /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_umulhisi3.o) + 0x000000000000486c __umulhisi3 .text.avr-libc.fplib - 0x0000000000004778 0x5e /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fixunssfsi.o) - 0x0000000000004778 __fixunssfsi + 0x000000000000488a 0x5e /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fixunssfsi.o) + 0x000000000000488a __fixunssfsi .text.avr-libc.fplib - 0x00000000000047d6 0x7a /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(floatsisf.o) - 0x00000000000047d6 __floatunsisf - 0x00000000000047da __floatsisf + 0x00000000000048e8 0x7a /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(floatsisf.o) + 0x00000000000048e8 __floatunsisf + 0x00000000000048ec __floatsisf .text.avr-libc.fplib - 0x0000000000004850 0xc /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_inf.o) - 0x0000000000004850 __fp_inf + 0x0000000000004962 0xc /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_inf.o) + 0x0000000000004962 __fp_inf .text.avr-libc.fplib - 0x000000000000485c 0x6 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_nan.o) - 0x000000000000485c __fp_nan + 0x000000000000496e 0x6 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_nan.o) + 0x000000000000496e __fp_nan .text.avr-libc.fplib - 0x0000000000004862 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_pscA.o) - 0x0000000000004862 __fp_pscA + 0x0000000000004974 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_pscA.o) + 0x0000000000004974 __fp_pscA .text.avr-libc.fplib - 0x0000000000004870 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_pscB.o) - 0x0000000000004870 __fp_pscB + 0x0000000000004982 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_pscB.o) + 0x0000000000004982 __fp_pscB .text.avr-libc.fplib - 0x000000000000487e 0x22 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_round.o) - 0x000000000000487e __fp_round + 0x0000000000004990 0x22 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_round.o) + 0x0000000000004990 __fp_round .text.avr-libc.fplib - 0x00000000000048a0 0x44 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_split3.o) - 0x00000000000048a0 __fp_split3 - 0x00000000000048b0 __fp_splitA + 0x00000000000049b2 0x44 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_split3.o) + 0x00000000000049b2 __fp_split3 + 0x00000000000049c2 __fp_splitA .text.avr-libc.fplib - 0x00000000000048e4 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_zero.o) - 0x00000000000048e4 __fp_zero - 0x00000000000048e6 __fp_szero + 0x00000000000049f6 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(fp_zero.o) + 0x00000000000049f6 __fp_zero + 0x00000000000049f8 __fp_szero .text.avr-libc.fplib - 0x00000000000048f2 0x8 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(mulsf3.o) - 0x00000000000048f2 __mulsf3 + 0x0000000000004a04 0x8 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(mulsf3.o) + 0x0000000000004a04 __mulsf3 .text.avr-libc.fplib - 0x00000000000048fa 0xd2 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(mulsf3x.o) - 0x0000000000004918 __mulsf3x - 0x000000000000491e __mulsf3_pse + 0x0000000000004a0c 0xd2 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libm.a(mulsf3x.o) + 0x0000000000004a2a __mulsf3x + 0x0000000000004a30 __mulsf3_pse .text.avr-libc - 0x00000000000049cc 0xb8 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(rand.o) - 0x0000000000004a5e rand_r - 0x0000000000004a64 rand - 0x0000000000004a6e srand + 0x0000000000004ade 0xb8 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(rand.o) + 0x0000000000004b70 rand_r + 0x0000000000004b76 rand + 0x0000000000004b80 srand .text.avr-libc - 0x0000000000004a84 0x60 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(snprintf.o) - 0x0000000000004a84 snprintf + 0x0000000000004b96 0xe /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(memset.o) + 0x0000000000004b96 memset .text.avr-libc - 0x0000000000004ae4 0x3b4 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) - 0x0000000000004ae4 vfprintf + 0x0000000000004ba4 0x60 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(snprintf.o) + 0x0000000000004ba4 snprintf .text.avr-libc - 0x0000000000004e98 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strnlen_P.o) - 0x0000000000004e98 strnlen_P + 0x0000000000004c04 0x3b4 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) + 0x0000000000004c04 vfprintf .text.avr-libc - 0x0000000000004eae 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strnlen.o) - 0x0000000000004eae strnlen + 0x0000000000004fb8 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strnlen_P.o) + 0x0000000000004fb8 strnlen_P .text.avr-libc - 0x0000000000004ec4 0x60 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(fputc.o) - 0x0000000000004ec4 fputc + 0x0000000000004fce 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(strnlen.o) + 0x0000000000004fce strnlen .text.avr-libc - 0x0000000000004f24 0xbc /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(ultoa_invert.o) - 0x0000000000004f24 __ultoa_invert + 0x0000000000004fe4 0x60 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(fputc.o) + 0x0000000000004fe4 fputc + .text.avr-libc + 0x0000000000005044 0xbc /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(ultoa_invert.o) + 0x0000000000005044 __ultoa_invert .text.libgcc.mul - 0x0000000000004fe0 0x10 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_mulshisi3.o) - 0x0000000000004fe0 __mulshisi3 - 0x0000000000004fe6 __mulohisi3 + 0x0000000000005100 0x10 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_mulshisi3.o) + 0x0000000000005100 __mulshisi3 + 0x0000000000005106 __mulohisi3 .text.libgcc.prologue - 0x0000000000004ff0 0x38 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_prologue.o) - 0x0000000000004ff0 __prologue_saves__ + 0x0000000000005110 0x38 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_prologue.o) + 0x0000000000005110 __prologue_saves__ .text.libgcc.prologue - 0x0000000000005028 0x36 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_epilogue.o) - 0x0000000000005028 __epilogue_restores__ - 0x000000000000505e . = ALIGN (0x2) + 0x0000000000005148 0x36 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_epilogue.o) + 0x0000000000005148 __epilogue_restores__ + 0x000000000000517e . = ALIGN (0x2) *(.fini9) - .fini9 0x000000000000505e 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_exit.o) - 0x000000000000505e exit - 0x000000000000505e _exit + .fini9 0x000000000000517e 0x0 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_exit.o) + 0x000000000000517e exit + 0x000000000000517e _exit *(.fini9) *(.fini8) *(.fini8) *(.fini7) *(.fini7) *(.fini6) - .fini6 0x000000000000505e 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_dtors.o) - 0x000000000000505e __do_global_dtors + .fini6 0x000000000000517e 0x16 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_dtors.o) + 0x000000000000517e __do_global_dtors *(.fini6) *(.fini5) *(.fini5) @@ -2075,16 +2077,16 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000000000005074 0x4 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_exit.o) + .fini0 0x0000000000005194 0x4 /usr/local/avr/lib/gcc/avr/7.2.0/avr5/libgcc.a(_exit.o) *(.fini0) *(.hightext) *(.hightext*) - 0x0000000000005078 . = ALIGN (0x2) + 0x0000000000005198 . = ALIGN (0x2) *(.jumptables) *(.jumptables*) - 0x0000000000005078 _etext = . + 0x0000000000005198 _etext = . -.data 0x0000000000800100 0x5e load address 0x0000000000005078 +.data 0x0000000000800100 0x58 load address 0x0000000000005198 0x0000000000800100 PROVIDE (__data_start, .) *(.data) .data 0x0000000000800100 0x4 /usr/local/avr/lib/gcc/avr/7.2.0/../../../../avr/lib/avr5/libc.a(rand.o) @@ -2097,101 +2099,98 @@ END GROUP *(.gnu.linkonce.d*) *(.rodata) *(.rodata*) - .rodata.GfxShowResources.str1.1 - 0x0000000000800106 0xf Obj/Gfx.o .rodata._ZN6Player10showHealthEh.str1.1 - 0x0000000000800115 0x6 Obj/Player.o - .rodata._ZN6Player18ButtonLeftReleasedEv.str1.1 - 0x000000000080011b 0x6 Obj/Player.o - 0x3 (size before relaxing) + 0x0000000000800106 0x6 Obj/Player.o + .rodata._ZN6Player13ShowResourcesEv.str1.1 + 0x000000000080010c 0xf Obj/Player.o .rodata.UnitShadowOffsetTable 0x000000000080011b 0x4 Obj/Unit.o .rodata.UnitActionsTable 0x000000000080011f 0x5 Obj/Unit.o .rodata.str1.1 0x0000000000800124 0x14 Obj/Unit.o - .rodata.UnitActionsTable_Level0 - 0x0000000000800138 0xc Obj/Unit.o + .rodata.UnitActionsTable_Level + 0x0000000000800138 0x6 Obj/Unit.o .rodata.UnitSpeedTable - 0x0000000000800144 0x5 Obj/Unit.o + 0x000000000080013e 0x5 Obj/Unit.o .rodata.UnitHPTable - 0x0000000000800149 0x5 Obj/Unit.o + 0x0000000000800143 0x5 Obj/Unit.o .rodata._ZTV7Display - 0x000000000080014e 0x8 ../lib/libgamebuino.a(Display.o) - 0x000000000080014e _ZTV7Display + 0x0000000000800148 0x8 ../lib/libgamebuino.a(Display.o) + 0x0000000000800148 _ZTV7Display .rodata._ZN9Gamebuino10changeGameEv.str1.1 - 0x0000000000800156 0x7 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000800150 0x7 ../lib/libgamebuino.a(Gamebuino.o) *(.gnu.linkonce.r*) - 0x000000000080015e . = ALIGN (0x2) - *fill* 0x000000000080015d 0x1 - 0x000000000080015e _edata = . - 0x000000000080015e PROVIDE (__data_end, .) + 0x0000000000800158 . = ALIGN (0x2) + *fill* 0x0000000000800157 0x1 + 0x0000000000800158 _edata = . + 0x0000000000800158 PROVIDE (__data_end, .) -.bss 0x000000000080015e 0x607 - 0x000000000080015e PROVIDE (__bss_start, .) +.bss 0x0000000000800158 0x607 + 0x0000000000800158 PROVIDE (__bss_start, .) *(.bss) *(.bss*) - .bss.gb 0x000000000080015e 0x87 Obj/main.o - 0x000000000080015e gb + .bss.gb 0x0000000000800158 0x87 Obj/main.o + 0x0000000000800158 gb .bss._ZL8MouseSpr - 0x00000000008001e5 0x9 Obj/Gameplay.o + 0x00000000008001df 0x9 Obj/Gameplay.o .bss.GamePlayers - 0x00000000008001ee 0x2a3 Obj/Gameplay.o - 0x00000000008001ee GamePlayers + 0x00000000008001e8 0x2a3 Obj/Gameplay.o + 0x00000000008001e8 GamePlayers .bss.timer_array - 0x0000000000800491 0x60 Obj/System.o + 0x000000000080048b 0x60 Obj/System.o .bss.system_busy - 0x00000000008004f1 0x1 Obj/System.o + 0x00000000008004eb 0x1 Obj/System.o .bss.one_second_timer - 0x00000000008004f2 0x1 Obj/System.o + 0x00000000008004ec 0x1 Obj/System.o .bss.rand_seed - 0x00000000008004f3 0x1 Obj/System.o + 0x00000000008004ed 0x1 Obj/System.o .bss.global_timer - 0x00000000008004f4 0x8 Obj/System.o + 0x00000000008004ee 0x8 Obj/System.o .bss.UnitWalkingShadowSprTable - 0x00000000008004fc 0x2d Obj/Unit.o + 0x00000000008004f6 0x2d Obj/Unit.o .bss.UnitSprTable - 0x0000000000800529 0x2d Obj/Unit.o + 0x0000000000800523 0x2d Obj/Unit.o .bss._displayBuffer - 0x0000000000800556 0x200 ../lib/libgamebuino.a(Display.o) - 0x0000000000800556 _displayBuffer + 0x0000000000800550 0x200 ../lib/libgamebuino.a(Display.o) + 0x0000000000800550 _displayBuffer .bss._chanNoise - 0x0000000000800756 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800756 _chanNoise + 0x0000000000800750 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800750 _chanNoise .bss._chanOutput - 0x0000000000800757 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800757 _chanOutput + 0x0000000000800751 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800751 _chanOutput .bss._chanOutputVolume - 0x0000000000800758 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800758 _chanOutputVolume + 0x0000000000800752 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800752 _chanOutputVolume .bss._chanHalfPeriod - 0x0000000000800759 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800759 _chanHalfPeriod + 0x0000000000800753 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800753 _chanHalfPeriod .bss._chanState - 0x000000000080075a 0x1 ../lib/libgamebuino.a(Sound.o) - 0x000000000080075a _chanState + 0x0000000000800754 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800754 _chanState .bss._chanCount - 0x000000000080075b 0x1 ../lib/libgamebuino.a(Sound.o) - 0x000000000080075b _chanCount + 0x0000000000800755 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800755 _chanCount .bss.timer0_fract - 0x000000000080075c 0x1 ../lib/libarduino.a(wiring.o) + 0x0000000000800756 0x1 ../lib/libarduino.a(wiring.o) .bss.timer0_millis - 0x000000000080075d 0x4 ../lib/libarduino.a(wiring.o) - 0x000000000080075d timer0_millis + 0x0000000000800757 0x4 ../lib/libarduino.a(wiring.o) + 0x0000000000800757 timer0_millis .bss.timer0_overflow_count - 0x0000000000800761 0x4 ../lib/libarduino.a(wiring.o) - 0x0000000000800761 timer0_overflow_count + 0x000000000080075b 0x4 ../lib/libarduino.a(wiring.o) + 0x000000000080075b timer0_overflow_count *(COMMON) - 0x0000000000800765 PROVIDE (__bss_end, .) - 0x0000000000005078 __data_load_start = LOADADDR (.data) - 0x00000000000050d6 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000000000080075f PROVIDE (__bss_end, .) + 0x0000000000005198 __data_load_start = LOADADDR (.data) + 0x00000000000051f0 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x0000000000800765 0x0 +.noinit 0x000000000080075f 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) - 0x0000000000800765 _end = . - 0x0000000000800765 PROVIDE (__heap_start, .) + 0x000000000080075f _end = . + 0x000000000080075f PROVIDE (__heap_start, .) .eeprom 0x0000000000810000 0x0 *(.eeprom*) diff --git a/Gameplay.cpp b/Gameplay.cpp index 55c22d5..bcada48 100644 --- a/Gameplay.cpp +++ b/Gameplay.cpp @@ -82,6 +82,8 @@ void GameInit(void) GamePlayers[i].Init(); } + GamePlayers[0].setHuman(true); + MouseSpr.Data = MouseSprData; MouseSpr.color = GFX_INVERT; MouseSpr.rotation = NOROT; @@ -129,7 +131,7 @@ void GameGraphics(void) { uint8_t i; - //GfxClearScreen(); + GfxClearScreen(); for (i = 0; i < GAME_MAX_PLAYERS; i++) { diff --git a/Gfx.cpp b/Gfx.cpp index 49b8a9a..77664b4 100644 --- a/Gfx.cpp +++ b/Gfx.cpp @@ -53,7 +53,7 @@ void GfxShowKeyboard(char* str, uint8_t length) void GfxClearScreen(void) { - //gb.display.fillScreen(GFX_WHITE); + gb.display.fillScreen(GFX_WHITE); gb.display.clear(); } @@ -214,23 +214,3 @@ void GfxFillRectangle(uint8_t x, uint8_t y, uint8_t w, uint8_t h, int8_t color) gb.display.setColor(orig_color); } } - -void GfxShowResources(TYPE_RESOURCES* ptrResources) -{ - char str[8]; - - gb.display.setColor(GFX_WHITE); - gb.display.fillRect(0, 0, X_SCREEN_RESOLUTION, 5); - - snprintf(str, 8, "W=%d", ptrResources->Wood); - - GfxPrintTextFont(str, font3x3, 4, 1); - - snprintf(str, 8, "G=%d", ptrResources->Gold); - - GfxPrintTextFont(str, font3x3, 24, 1); - - snprintf(str, 8, "F=%d", ptrResources->Food); - - GfxPrintTextFont(str, font3x3, 48, 1); -} diff --git a/Gfx.h b/Gfx.h index f6a9790..7617f62 100644 --- a/Gfx.h +++ b/Gfx.h @@ -75,7 +75,6 @@ void GfxPrintText_Flash(const __FlashStringHelper * str); #endif // __cplusplus void GfxPrintText(const char* str, uint8_t x, uint8_t y); void GfxPrintTextFont(const char* str, const uint8_t* font, uint8_t x, uint8_t y); -void GfxShowResources(TYPE_RESOURCES* ptrResources); void GfxInit(void); void GfxRenderTiles(TYPE_CAMERA* ptrCamera); diff --git a/Global_Inc.h b/Global_Inc.h index 415fc00..543672d 100644 --- a/Global_Inc.h +++ b/Global_Inc.h @@ -23,9 +23,9 @@ * Defines * *************************************/ -#define DEBUG_VAR(x) char buffer[8]; \ - snprintf(buffer, sizeof(buffer), "%d", x); \ - GfxPrintText(buffer, X_SCREEN_RESOLUTION - (strlen(buffer)<<3), Y_SCREEN_RESOLUTION - 10) +#define DEBUG_VAR(var, suff, x, y) char buffer##suff[16]; \ + snprintf(buffer##suff, sizeof(buffer##suff), "%d", var); \ + GfxPrintText(buffer##suff, x - (strlen(buffer##suff)<<3), y) /* ************************************* * Structs and enums diff --git a/Libs/libgamebuino/Makefile b/Libs/libgamebuino/Makefile index b7aa854..75c49b8 100644 --- a/Libs/libgamebuino/Makefile +++ b/Libs/libgamebuino/Makefile @@ -13,13 +13,13 @@ OBJECTS= Backlight.o Battery.o Buttons.o Display.o font3x3.o \ font3x5.o font5x7.o Gamebuino.o settings.o Sound.o default: $(LIBNAME) - cp *.h $(INCLUDE_FOLDER)/$(PROJECT) - + $(LIBNAME): $(OBJECTS) avr-ar rcs $@ $^ mkdir -p $(INCLUDE_FOLDER)/$(PROJECT) mv $@ $(LIBS_FOLDER) avr-size $(LIBS_FOLDER)/$@ + cp *.h $(INCLUDE_FOLDER)/$(PROJECT) %.o: %.cpp $(CXX) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) diff --git a/Makefile b/Makefile index abd17f8..d98733d 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,13 @@ libs: run: $(EXE_DIR)/$(PROJECT).ELF $(GBSIM) $^ -depend: $(DEPS) +-include $(DEPS) + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(OBJ_DIR)/%.d + $(CXX) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) -MMD + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d + $(CC) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) -MMD $(OBJ_DIR)/%.d: $(SRC_DIR)/%.c $(CC) $< $(DEFINE) $(INCLUDE) -M -MF $@ @@ -41,14 +47,6 @@ $(OBJ_DIR)/%.d: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d: $(SRC_DIR)/%.cpp $(CXX) $< $(DEFINE) $(INCLUDE) -M -MF $@ -$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(OBJ_DIR)/%.d - $(CXX) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) - -$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d - $(CC) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) - --include $(DEPS) - clean: rm *.elf -f rm $(OBJ_DIR)/*.o $(OBJ_DIR)/*.d -f diff --git a/Player.cpp b/Player.cpp index 634bb9f..b9c05a4 100644 --- a/Player.cpp +++ b/Player.cpp @@ -4,6 +4,7 @@ #include "Player.h" #include "Pad.h" +#include "Unit.h" #include /* ************************************** @@ -131,17 +132,45 @@ void Player::DrawHandler(void) } } - if (bAnyoneSelected == true) + if (human == true) { - GfxDrawRectangle(PROGRESS_BAR_X, PROGRESS_BAR_Y, PROGRESS_BAR_W, PROGRESS_BAR_H, GFX_BLACK); - - if (showActionsMenu_counter != 0) + if (bAnyoneSelected == true) { - GfxFillRectangle(PROGRESS_BAR_X, PROGRESS_BAR_Y, showActionsMenu_counter << 1, PROGRESS_BAR_H, GFX_BLACK); + GfxDrawRectangle(PROGRESS_BAR_X, PROGRESS_BAR_Y, PROGRESS_BAR_W, PROGRESS_BAR_H, GFX_BLACK); + + if (showActionsMenu_counter != 0) + { + GfxFillRectangle(PROGRESS_BAR_X, PROGRESS_BAR_Y, showActionsMenu_counter << 1, PROGRESS_BAR_H, GFX_BLACK); + } } + + ActionsMenu(); + + ShowResources(); } } +void Player::ShowResources(void) +{ + char str[16]; + + gb.display.setColor(GFX_WHITE); + gb.display.fillRect(0, 0, X_SCREEN_RESOLUTION, 5); + + snprintf(str, sizeof(str), "W=%d", Resources.Wood); + + GfxPrintTextFont(str, font3x3, 2, 1); + + snprintf(str, sizeof(str), "G=%d", Resources.Gold); + + GfxPrintTextFont(str, font3x3, 22, 1); + + snprintf(str, sizeof(str), "F=%d", Resources.Food); + + GfxPrintTextFont(str, font3x3, 42, 1); +} + + bool Player::checkNewBuildingPosition(TYPE_COLLISION_BLOCK * cb) { uint8_t i; @@ -293,7 +322,7 @@ void Player::ActionsMenu(void) const char* str = UnitGetActionString(action); - GfxPrintText(str, 40, Y_SCREEN_RESOLUTION - 4); + GfxPrintTextFont(str, font3x3, 40, Y_SCREEN_RESOLUTION - 4); break; } @@ -311,18 +340,9 @@ void Player::Handler(void) UnitBuildingSelection(); - for (uint8_t i = 0; i < PLAYER_MAX_UNITS_BUILDINGS; i++) - { - TYPE_UNIT* ptrUnit = &units[i]; - - UnitHandler(ptrUnit); - } - - ActionsMenu(); + UnitHandler(units, sizeof(units) / sizeof(units[0])); ButtonHandler(); - - GfxShowResources(&Resources); } void Player::ButtonHandler(void) @@ -398,18 +418,14 @@ void Player::ButtonAReleased(void) if (ptrUnit->selected == true) { - if (showActionsMenu_index == ACTION_CREATE_UNIT) + switch (showActionsMenu_index) { - uint8_t w = UnitGetWidthFromID(ptrUnit->id); - uint8_t h = UnitGetHeightFromID(ptrUnit->id); - uint8_t new_pos_x = ptrUnit->x + SystemRand(w, w + (w >> 1)); - uint8_t new_pos_y = ptrUnit->y + SystemRand(h, h + (h >> 1)); - TYPE_COLLISION_BLOCK cb = {.x = new_pos_x, .y = new_pos_y}; - - createUnit(PEASANT, cb); - + case ACTION_CREATE_UNIT: + ActionCreateUnit(ptrUnit); break; } + + break; } } } @@ -417,6 +433,20 @@ void Player::ButtonAReleased(void) showActionsMenu = (showActionsMenu_counter < ACCEPT_UNIT_BUILDING_OPTIONS_FRAMES)? false: true; } +void Player::ActionCreateUnit(TYPE_UNIT* ptrUnit) +{ + if (showActionsMenu_index == ACTION_CREATE_UNIT) + { + uint8_t w = UnitGetWidthFromID(ptrUnit->id); + uint8_t h = UnitGetHeightFromID(ptrUnit->id); + uint8_t new_pos_x = ptrUnit->x + SystemRand(w, w + (w >> 1)); + uint8_t new_pos_y = ptrUnit->y + SystemRand(h, h + (h >> 1)); + TYPE_COLLISION_BLOCK cb = {.x = new_pos_x, .y = new_pos_y}; + + createUnit(PEASANT, cb); + } +} + void Player::ButtonBPressed(void) { enum @@ -496,8 +526,6 @@ void Player::ButtonLeftReleased(void) // for current unit. uint8_t availableActions = UnitGetAvailableActions(ptrUnit); - DEBUG_VAR(availableActions); - for (uint8_t j = showActionsMenu_index - 1; j != showActionsMenu_index ; j--) { if (j > (sizeof(uint8_t) << 3)) @@ -539,8 +567,6 @@ void Player::IncreaseShowActionsMenuIndex(void) // for current unit. uint8_t availableActions = UnitGetAvailableActions(ptrUnit); - DEBUG_VAR(availableActions); - for (uint8_t j = showActionsMenu_index + 1; j != showActionsMenu_index ; j++) { if (j >= (sizeof(uint8_t) << 3) ) diff --git a/Player.h b/Player.h index 858f0b7..36b5e94 100644 --- a/Player.h +++ b/Player.h @@ -46,6 +46,7 @@ class Player bool isHuman(void) {return human;} bool createUnit(TYPE_UNIT_ID id, TYPE_COLLISION_BLOCK cb); uint8_t getPopulation(void) {return (unit_i + 1);} + void ShowResources(void); private: // Player definition @@ -85,6 +86,9 @@ class Player uint8_t showActionsMenu_counter; uint8_t showActionsMenu_index; void IncreaseShowActionsMenuIndex(); + + // Action callbacks + void ActionCreateUnit (TYPE_UNIT* ptrUnit); }; #endif // __cplusplus diff --git a/Unit.c b/Unit.c index 84b7931..204c242 100644 --- a/Unit.c +++ b/Unit.c @@ -10,8 +10,6 @@ * Defines * * **************************************/ -#define MAX_ACTIONS 3 - /* ************************************** * Structs and enums * * **************************************/ @@ -26,9 +24,6 @@ struct t_coordinates * Local prototypes * * **************************************/ -static void UnitBuildAccepted(TYPE_UNIT* ptrUnit); -static void UnitAttackAccepted(TYPE_UNIT* ptrUnit); - /* ************************************** * Local variables * * **************************************/ @@ -39,9 +34,9 @@ static uint8_t const UnitHPTable[MAX_UNITS_BUILDINGS] = { [PEASANT] = 25 , static uint8_t const UnitSpeedTable[MAX_UNITS_BUILDINGS] = { [PEASANT] = 1 , [BARRACKS] = 0 }; -static TYPE_UNIT_ACTION const UnitActionsTable_Level0[MAX_ACTIONS] = { [ACTION_BUILD] = {"BUILD", &UnitBuildAccepted} , - [ACTION_ATTACK] = {"ATTACK", &UnitAttackAccepted} , - [ACTION_CREATE_UNIT] = {"CREATE", NULL} }; +static const char* const UnitActionsTable_Level[MAX_ACTIONS] = { [ACTION_BUILD] = "BUILD", + [ACTION_ATTACK] = "ATTACK", + [ACTION_CREATE_UNIT] = "CREATE"}; static uint8_t const UnitActionsTable[MAX_UNITS_BUILDINGS] = { [PEASANT] = ((1 << ACTION_BUILD) | (1 << ACTION_ATTACK)), [BARRACKS] = (1 << ACTION_CREATE_UNIT) }; @@ -235,45 +230,108 @@ void UnitAttackAccepted(TYPE_UNIT* ptrUnit) ptrUnit->selecting_attack = true; } -void UnitHandler(TYPE_UNIT* ptrUnit) +void UnitHandler(TYPE_UNIT* unitArray, size_t sz) { - bool bMoving = false; + size_t i; - if (ptrUnit->walking == true) - { - if ( (ptrUnit->x - UnitSpeedTable[ptrUnit->id]) > ptrUnit->target_x) - { - ptrUnit->dir = DIRECTION_LEFT; - ptrUnit->x -= UnitSpeedTable[ptrUnit->id]; - bMoving = true; - } - else if ( (ptrUnit->x + UnitSpeedTable[ptrUnit->id]) < ptrUnit->target_x) - { - ptrUnit->dir = DIRECTION_RIGHT; - ptrUnit->x += UnitSpeedTable[ptrUnit->id]; - bMoving = true; - } + for (i = 0; i < sz; i++) + { + TYPE_UNIT* ptrUnit = &unitArray[i]; - if ( (ptrUnit->y - UnitSpeedTable[ptrUnit->id]) > ptrUnit->target_y) - { - ptrUnit->dir = DIRECTION_UP; - ptrUnit->y -= UnitSpeedTable[ptrUnit->id]; - bMoving = true; - } - else if ( (ptrUnit->y + UnitSpeedTable[ptrUnit->id]) < ptrUnit->target_y) - { - ptrUnit->dir = DIRECTION_DOWN; - ptrUnit->y += UnitSpeedTable[ptrUnit->id]; - bMoving = true; - } + if (ptrUnit->alive == false) + { + continue; + } + - ptrUnit->walking = bMoving; - } -} + bool bMoving = false; -void UnitAcceptAction(TYPE_UNIT* ptrUnit) -{ + if (ptrUnit->walking == true) + { + int8_t x_d = 0; + int8_t y_d = 0; + if ( (ptrUnit->x - UnitSpeedTable[ptrUnit->id]) > ptrUnit->target_x) + { + ptrUnit->dir = DIRECTION_LEFT; + x_d = -UnitSpeedTable[ptrUnit->id]; + //~ ptrUnit->x -= UnitSpeedTable[ptrUnit->id]; + bMoving = true; + } + else if ( (ptrUnit->x + UnitSpeedTable[ptrUnit->id]) < ptrUnit->target_x) + { + ptrUnit->dir = DIRECTION_RIGHT; + x_d = UnitSpeedTable[ptrUnit->id]; + //~ ptrUnit->x += UnitSpeedTable[ptrUnit->id]; + bMoving = true; + } + + if ( (ptrUnit->y - UnitSpeedTable[ptrUnit->id]) > ptrUnit->target_y) + { + ptrUnit->dir = DIRECTION_UP; + y_d = -UnitSpeedTable[ptrUnit->id]; + //~ ptrUnit->y -= UnitSpeedTable[ptrUnit->id]; + bMoving = true; + } + else if ( (ptrUnit->y + UnitSpeedTable[ptrUnit->id]) < ptrUnit->target_y) + { + ptrUnit->dir = DIRECTION_DOWN; + y_d = UnitSpeedTable[ptrUnit->id]; + //~ ptrUnit->y += UnitSpeedTable[ptrUnit->id]; + bMoving = true; + } + + ptrUnit->walking = bMoving; + + if (ptrUnit->walking == true) + { + // If player is still walking, check collisions + // against all other active units. + size_t j; + + for (j = 0; j < sz; j++) + { + TYPE_UNIT* ptrOtherUnit = &unitArray[j]; + + TYPE_COLLISION_BLOCK cu = { .x = ptrUnit->x + x_d, + .y = ptrUnit->y + y_d, + .w = UnitGetWidthFromID(ptrUnit->id), + .h = UnitGetHeightFromID(ptrUnit->id) }; + TYPE_COLLISION_BLOCK ou; + + if (ptrOtherUnit->alive == false) + { + continue; + } + + if (j == i) + { + // Do not compare against itself! + continue; + } + + + ou.x = ptrOtherUnit->x; + ou.y = ptrOtherUnit->x; + ou.w = UnitGetWidthFromID(ptrOtherUnit->id); + ou.h = UnitGetHeightFromID(ptrOtherUnit->id); + + if (SystemCollisionCheck(cu, ou) == true) + { + ptrUnit->walking = false; + break; + } + } + } + + if (ptrUnit->walking == true) + { + // If no collision is detected, keep moving to the new position + ptrUnit->x += x_d; + ptrUnit->y += y_d; + } + } + } } uint8_t UnitGetAvailableActions(TYPE_UNIT* ptrUnit) @@ -281,12 +339,7 @@ uint8_t UnitGetAvailableActions(TYPE_UNIT* ptrUnit) return UnitActionsTable[ptrUnit->id]; } -void UnitBuildAccepted(TYPE_UNIT* ptrUnit) -{ - -} - const char* UnitGetActionString(UNIT_ACTION action) { - return UnitActionsTable_Level0[action].str; + return UnitActionsTable_Level[action]; } diff --git a/Unit.h b/Unit.h index 55439c4..eecdbcd 100644 --- a/Unit.h +++ b/Unit.h @@ -77,7 +77,8 @@ typedef enum t_availableactions { ACTION_BUILD, ACTION_ATTACK, - ACTION_CREATE_UNIT + ACTION_CREATE_UNIT, + MAX_ACTIONS }UNIT_ACTION; typedef struct t_Camera TYPE_CAMERA; @@ -88,7 +89,7 @@ typedef struct t_Camera TYPE_CAMERA; // Initialization and handling void UnitInit(void); -void UnitHandler(TYPE_UNIT* ptrUnit); +void UnitHandler(TYPE_UNIT* unitArray, size_t sz); // Unit information uint8_t UnitGetHpFromID(uint8_t id); @@ -101,9 +102,6 @@ void UnitDraw(TYPE_UNIT* ptrUnit, TYPE_CAMERA* ptrCamera, bool bHighlight void UnitMoveTo(TYPE_UNIT* ptrUnit, uint16_t x, uint16_t y); -void UnitAcceptAction(TYPE_UNIT* ptrUnit); -void UnitResetMenuLevel(void); - // Selection index const char* UnitGetActionString(UNIT_ACTION action);