diff --git a/build/stm8s207k8/pomme_1.bin b/build/stm8s207k8/pomme_1.bin index 788b920..0b0948b 100644 Binary files a/build/stm8s207k8/pomme_1.bin and b/build/stm8s207k8/pomme_1.bin differ diff --git a/build/stm8s207k8/pomme_1.ihx b/build/stm8s207k8/pomme_1.ihx index ea50c30..2b71fc4 100644 --- a/build/stm8s207k8/pomme_1.ihx +++ b/build/stm8s207k8/pomme_1.ihx @@ -10,10 +10,10 @@ :2081200001F75B058196A6FFC75003C75008C7500DC75012C75017C7501CC75021C7502BCA :20814000721A500D721A500E721A500C721B500A55003F5407A610AEE100CD8084AE8551F4 :20816000CF001ACD84CECD80B2CD80A59A350A000F3F0ACD82AAAEFFFFCD8350CC8B9D722A -:2081800014000ACD8597A63ECD853ACD85BACD9132CD819620F090AE17004B1090E6028828 +:2081800014000ACD8597A63ECD853ACD85BACD9134CD819620F090AE17004B1090E6028826 :2081A000909ECD87CC909FCD87CCAE0002CD85AE90F6CD87CCCD85A8905C0A022617CD854B :2081C00097909ECD87CC909FCD87CCAE0002CD85AEA6106B020A0126D75B02CD8597AE1785 -:0781E00000E602CD9E95812F +:0781E00000E602CD9E97812D :2081E7001E08BF14AE81F11F0880A1002604358050D1A1012605BE04CC8281A10226079F4A :20820700CD8551CC8281A1032606CD8565CC8281A1042605CD855F2061A1052605CD859DCD :208227002058A1062605CD8591204FA1072605CD85BA2046A1082605CD8586203DA109267D @@ -29,12 +29,12 @@ :2083650072530018725300193C1926023C18818942891E035E424F0272FB015B04815206DF :208385001F010F050F06909E5E421F037B0197909F4272FB0424020C031F047B0297909E10 :2083A5004272FB0424020C031F04937B024272FB0524060C0426020C0316035B068152012A -:2083C5000F015D2A03030150905D2A0403019050CD8383905D26035D2A05A602CC96057BAC +:2083C5000F015D2A03030150905D2A0403019050CD8383905D26035D2A05A602CC96077BAA :2083E500012703CD84155B018152021F011E071605905D26061601655B028151A6111301C7 :20840500250372F0018C9059594A26F2515B02815390535C2602905C81905F9EA48027026C :2084250090538152080F050F06160B1701160D17035D2A030306501F077B01A480270F03F8 :208445000603051E031601CD84151F0317011E07CD83EE905D27050D062A01500D052A02E9 -:2084650090505B08815206905D2605A612CC96051705CD841E1F0317011E05CD84285B06E2 +:2084650090505B08815206905D2605A612CC96071705CD841E1F0317011E05CD84285B06E0 :1884850081CD846A9381E012E07CE0F07CE0F012E11477E1F014F0775B :20849D00720B52402BC65241A1032609CE001C271F1F08201BA1182604358050D188A620C0 :2084BD00CB001F5F9784F7C6001F4CA407C7001F8052055FB6100290AE2710CD83831F031A @@ -91,7 +91,7 @@ :208B1D008B5AB711BF12CD8A77A601CD89DBA6D8CD89ABCD8A29A601CD89EBCD8A87A501A9 :208B3D0026F981CD8A77A601CD89DBA6C7CD89ABA601CD89EBCD8A87A50126F9814F028186 :208B5D00B611BE120181706F6D6D652049206D6F6E69746F720A00436F707972696768746D -:208B7D002C204A616371756573204465736368656E657320323032330A00CD8597CC96E6EC +:208B7D002C204A616371756573204465736368656E657320323032330A00CD8597CC96E8EA :208B9D00CD859DAE8B6390AE8B744B014B004B01CD88E95B03A60DCD853AA623CD853A904D :208BBD005F2009905D2705CD8591905ACD8565A10827F0A11B27DEA10227BFA1602B02A497 :208BDD00DF90D71680CD853AA10D2704905C20DC90AEFFFF4FB730905C90D61680A10D2720 @@ -99,244 +99,254 @@ :208C1D0010A0674B044E48590A0126FA84905C20E290B3282603CC8BB2B6302609BF2ABFEB :208C3D002CBF2E4F2016A13A260C9FBE2CF75CBF2C20A6BE2AFCBF2EBE2A5C9F2612A60D40 :208C5D00CD853A9ECD8C829FCD8C82A63ACD853AA620CD853AF6CD8C825C27D5B32E22D1BD -:208C7D009FA40720D7CD87CC81CD853A819787976F96039603960396039603960396039AFB -:208C9D00639A87960396039603960396039603960396039603960396039603960396039C39 -:208CBD00B3A2B5A160A1B4A22BA24BA20CA07C96039A52977A9603A2DFA32A9603A506A052 -:208CDD006DA516A537A54FA4F0A4F3A04EA7E0A805A4DDA2C1A660A68CA749A76AA6D8A6F1 -:208CFD00C99FBD9DDBA342A66BA0599EA3A264A584A4CCA38EA421A465A34DA52EA7B4A727 -:208D1D00C8908952020F0190CE002F4D270490CE002B90C300332A1090F3270F2B0A90E63F -:208D3D00026B0272F90120EA4F2002A6FF935B0290858190895204E6026B020F019093722C -:208D5D00F901170390CE003372F20390CF00181603CD886090CE003372F20190CF0033908D -:208D7D00CF003590CF00375B04908581C30033242F52061F03170590CF0018909372BB00A1 -:208D9D00181F01BE3372F003CF00181E01CD8860BE3372FB05CF0033CF0035CF00375B069D -:208DBD00819089520872CE00121F050F07BE12E6026B084F1E05CD8D1E1F014D2703CD8D10 -:208DDD0050A6041108273DBE3372FB07A316802508AE9584CC9605202B1E011607CD8D899C -:208DFD001E07CF001890AE17001E01CD88601E01C30033250F1E0772BB0033CF0033CF0082 -:208E1D0035CF00375B0890858152023A4372C700424F6B0191D62827283C296B02A65C1137 -:208E3D0001260A0F017B02AD22F75C20E77B02A15C27DFA1222704F75C20D972C600423CBE -:208E5D00437F5C90935FA6065B028189AE8E7DF127067D27095C20F71D8E7D9FAB078581CC -:208E7D006162746E766672008972B90028905ACD97EC72A2168090CF0028908581A60890C7 -:208E9D00F7905C90FF72A900028152021C00011F01CD88A4F75C91D6283C29A1242705CD16 -:208EBD0088C02404F75C2007CD88AF25E43A297F72F0019F5B0281A105260D72C600423C4D -:208EDD0043A1042748CC9603A1202742A11B273EA121260D72C600423C43A120272FCC9607 -:208EFD0003A127261772C600423C43A11B2703CC9603A6273A4372C700422011A124260D1B -:208F1D0072C600423C43A1272703CC9603813A4372C700428152030F031F01CD8EA76B03F3 -:208F3D00A1012730AEA9DE160172A90001CD9834A1FF262CA60211032703CC960316019333 -:208F5D001C0002F6A1242604A60A200CCD88C02505CC96031601A60990F772A900032009DD -:208F7D00160190F7905CCD8ED45B03818891D6282708110126043C2920F35B018152029081 -:208F9D00AE1680A620CD8F8991D62826059093CC912F3C296B01A6221101260CA60688F754 -:208FBD005CCD8E2684CC912FA6241101260220077B01CD88C02409CD8E85CD8E9ACC912F5D -:208FDD00A6281101260BA6043A4372C70042CC912BA65C11012612A607F7885C91D6283C9A -:208FFD0029F75C909384CC912FA6291101260AA605CD8ED4A605CC912BA63A11012605A6C4 -:20901D0001CC912BA62C11012605A602CC912BA63B11012605A603CC912BA62D110126050C -:20903D00A60CCC912BA62311012605A615CC912BA63F11012609A63FF75C9093CC912FA6DD -:20905D00271101262FA623F75C90AE168072B900289089CD885072F201905C908972FB018C -:20907D0090938572FB015A1D1680CF00285B02A623CC912FA62B11012605A60BCC912BA61A -:20909D002A11012605A60FCC912BA62F11012605A60DCC912BA62511012605A60ECC912B7E -:2090BD00A63D11012605A611CC912BA63E11012621A6146B0291D6283C29A13D2604A6121C -:2090DD00204CA13C2604A6152044725A00297B02203CA63C11012621A6136B0291D6283CE7 -:2090FD0029A13D2604A6102025A13E2604A615201D725A00297B0220157B01CD88AF2503D7 -:20911D00CC9603CD8F32A123260893CC9066F75C90935B0281520255002F002D721A003BD8 -:20913D00AE0054BF424F5FCF1700C717023F283F29C61680CD88C0241B3C29AE170390AEB1 -:20915D001680CD8E85A300012F05CF17002005A601CC960590AE170390A317802505A60A8F -:20917D00CC960593CD8F9A4D26EEB643A054270D72C600423C43A1272703CC9603907F9071 -:20919D005C72A21700909FAE1700BF12E702FE2708CD8DBE3F2A4F200FBE12E602B72ABFF9 -:2091BD002B1C0003BF2D90935B02721B003B8152026B01CD88366B0211012A095AA620F77F -:2091DD007B024C20F17B025B0281A622CD853A9089CD97B685F65C725A002A4D272EA12086 -:2091FD00250CCD853AA15C26ECCD853A20E788A65CCD853A84A007B719725F001889AE8E34 -:20921D007D72BB0018F6CD853A8520C9A622CD853A819EA47FCD853A9FCD853A8152050F4B -:20923D00046B01AEAA5B1F02F6AB026B0572FB04F61101270B1E021D0002FE26E94F200351 -:20925D001E025C5B0581A1072B0AA10B2B04A1162B02998198813B000F350A000F52050FC7 -:20927D00046B03BE2BFE4FCD87E90D032705A605CD91CCCD8586CD85A890BE2D7B046B059F -:20929D00B62A2603CC9352725A002A90F6905C4D2603CC93526B04A1062603CC934CA109D4 -:2092BD002603CC930DA1232603CC9340A10A2603CC930DA1072610A65CCD853A90F6905C52 -:2092DD003A2ACD853A201CA1082602203ECD923A4D2603CC9352CD85867B04CD9263250315 -:2092FD00CC929990F6CD92632403CD85A8CC929990F6A47FCD853A90E601CD853A725A00F6 -:20931D002A725A002A72A9000220D893FE72A90002CD87DE90F6CD92632505A608CD853A6F -:20933D00CC9299A627CD853A93CD8586CC9352CD91E7CC9299CD85975B0532000F81520407 -:20935D0017031F01CD94B8271BAE00581601CD8841270DAE0054CD94FFCD94BD270620E7C0 -:20937D00A60120014F16035B0481A658AE0054F7E701A602CD8A9C81520617051F01AEFF84 -:20939D00FF1F033F115FBF12CD8B5DA302002A29AE001090AE0054CD8AC8AE0054FEA358F8 -:2093BD00582705CD94FF20E0AE0054EE02130125F2130322EE1F0320EA4F1E03A3FFFF2705 -:2093DD0002A60116055B068152041703AE0010CD9509AE0054EE021F0190CE002FCD8AC873 -:2093FD00CE002F72FB01BF33BF35BF3716035B0481520817071F05AE0054A650F7A642E7B6 -:20941D000190CE003372B2002FEF0217011C00041605CD8850A610AE00546F0FCD8A9CAE8A -:20943D000010CD9509CE002F1F05AE00F0130123021E011F039F1E05CD8A9C1E03CD95091A -:20945D001E0172F0031F01270C1E0572FB031F05AE010020D816075B08813F115FBF1290A9 -:20947D00AE0054AE0010CD8AC8AE0054FEBF18AEFFFFC300182721AE5042C300182708AE52 -:20949D005858C300182611AE0054CD94FFCD8B5DA302002BCA4F2002A601813F115FBF1223 -:2094BD009089CD8B5DA302002A30AE001090AE0054CD8AC8AE0054FEBF18AE5042C3001861 -:2094DD00271BAEFFFFC300182710AE5858C300182608AE0054CD94FF20C84F2002A6019016 -:2094FD008581EE021C00101C00FF4F9772BB0012BF124FC90011B711810000953C9543956C -:20951D004A954F955A9565956E957895809584958D9596959A95A095A995B095BC95C953A3 -:20953D00594E544158003E3332373637003E32353500424144204252414E434800424144FD -:20955D002052455455524E00424144204E455854003E3820474F53554253003E3820464F34 -:20957D00525300454E44004D454D2046554C4C00544F4F204C4F4E470044494D0052414E23 -:20959D00474500535452204F56464C00535452494E4700524554595045204C494E4500508A -:2095BD00524F4752414D204F4E4C59004449562042592030000A72756E2074696D652065C3 -:2095DD0072726F722C20000A636F6D70696C65206572726F722C20002A2A2A20002045527F -:2095FD00524F52200A00A601720A003B1988AE95D2CD858684AD3572B2002B909FA003BE00 -:20961D002BCD9E95201F88AE95E4CD858684AD1CAE1680CD8586A60DCD853ABE28CD85AEAE -:20963D00A65ECD853AAE17FF94CC973788AE95F5CD8586845F97581C9516FECD8586AE9541 -:05965D00FACD858681B5 -:20966200706F6D6D652042415349430A00436F707972696768742C204A616371756573204D -:209682004465736368656E657320323032330A003B000F350A000F4B0A4B004B01AE96621B -:2096A20090AE966FCD88E95B0332000FCD859781AE8551CF001A3F3B350A000FAE0054BF28 -:2096C200428189AE0100BF2FBF33BF35BF37AE1680BF31BF393F3B5FBF40BF42A60AB73C1B -:2096E200B73E8581CD8916AE17FF94CD96C4AE0054BF42CD9692CDA798AE971DBF1CCE6013 -:2097020000FECF000DCE6006FECF000B20270A53544F505045442041542000AE9710CD8575 -:2097220086CE002BFECD87DECD8597AE17FF947211003B2003CD96B2A60DCD853AA63ECD51 -:20974200853A4B00720D003B17BE3CCD87E96B019093AE1680CD8850BE3C72BB003EBF3C1D -:2097620084CD85BA4D27D1CD91324D27CB90F6905C5F9758DE8C8AFC90CE002B90E602B7DB -:209782002972B900287201003BAE90C300332B05A609CC960590BF2B72A90003720F003BCF -:2097A20003CD97A9CC976F72CE002BCD87DEA60DCD853A8190F62706905C90F626FA905C37 -:2097C2008190F6905CA1082703CC960393FE72A9000281A0302B11A10A2B0BA1112B09A0BA -:2097E20007C1000F2A02998198815205350A000F0F035F1F010F0590F6272BA12D26040314 -:20980200052008A124260A3510000F905C90F62715CD97D524106B041E01B60FCD8374722C -:20982200FB031F0120E51E010D05270150BF185B058152060F0117051F03F66B0216055C22 -:20984200CD8841270C1E031D0002A6FFFE270B20E71E0372FB011C0002F65B06818890F68E -:20986200905C11012703CC9603848190F6905CA1042703CC96034B00907D271A84855202B8 -:20988200894C88CD99411F0490F6905CA10227ECA1052702905A84818152010F0190F690BF -:2098A2005CA1012203CC9603A10B2706A10C2606030190F6905CA108260893FE72A9000271 -:2098C2002030A107260890F6905C5F972024A1092609CD9BE3CD9C42FE2017A104260CCD0C -:2098E200994189A605CD985F8520075F9758DE8C8AFD0D012701505B01815205CD989B1FD0 -:209902000190F6905C6B05A10D2B04A10F2304905A2027CD989B170316017B05A10F2605F1 -:20992200CD83C3200FA10D260651CD846A200551CD846A511F01160320C71E015B05815209 -:2099420005CD98FC1F0190F6905C6B05A10B2708A10C2704905A201ECD98FC1703511E01D7 -:2099620017017B05A10B260572FB01200372F0011F01160320D01E015B05815205CD99415B -:209982001F0190F6905C6B05A1102B04A1152304905A203CCD99411703511E011701130163 -:2099A2002F0A26147B05A1132A21201A7B05A1132714A1102710200A7B05A1142708A112E1 -:2099C2002704A1152605AEFFFF20015F160320021E015B05814B0090F6905CA1012203CCC2 -:2099E2009603A116260403012002905ACD997D0D012701535B01815202CD99D71F0190F65B -:209A0200905CA1172704905A200ECD99D7021401021402021F0120E61E015B02815203CDAA -:209A220099F91F0190F6905CA1182704905A201B6B03CD99F97B03021A01021A0202200748 -:209A4200021801021802021F0120D91E015B0381520490F6905CA1092709A10A2725CC96B9 -:209A6200035204CD9BE3CD9C421F01A611CD985FCD9A1F1F031E017B03F77B04E7015B04F8 -:209A8200CC976F5B04520C0F0B0F030F07CD9BE31F01EE02F65C1F056B04CD88364C6B0869 -:209AA20090F6A1042614CD994113072305A60ECC96055A1F0172FB051F051E0372F0011F88 -:209AC20003A611CD985F90F6905CA106261E931F09CD88366B0C72F90B905C1E03130B2427 -:209AE20005A60ECC96051E0BBF182033A10A2614CD9BE3CD9B351F093F18B7196B0C110449 -:209B020022DF201BA12E2703CC96035F9758DE8C8AFD9FA47F1E057D26026F01F7200F1E2C -:209B22000517011609CD886072FB0B7F16015B0CCC976F52080F07EE021F05F66B080F03EC -:209B4200A6016B040F015CCD88366B0290F6A10427022032905CCD9941A300012A05A60EC9 -:209B6200CC9605130122F71F0390F6A1052604905C2013A602CD985FCD9941130122DF1F71 -:209B820001A605CD985F1E0172F0035C9F1E0572FB035B08811C000289CE003972B0003756 -:209BA20013012405A60ACC9605CE003972F001BF395B028152021F01CE003972B00037A398 -:209BC20000042405A60ACC9605CE00377B01F77B02E7016F026F03891C0004BF37855B02FE -:209BE2008152030F0193FE72A900021F0290F6A104260803019EAA80956B02CD9C855D2616 -:209C02001B0D012703CD9C217B03A1242605A60CCC96051E029EA47F95CD9BB65B03811C4F -:209C220000028990F6A1042615CD986DA1012703CC960385A300012705A60DCD96058581B8 -:209C420052047D2B05CD9C212031EE021F0390F6A10427051C00022022CD986DA1012703BD -:209C6200CC9603855D27091F011E03FE13012A05A60DCC96051E015872FB035B0481FEF614 -:209C82005F9781908952049EA47F951F0190CE003590C300372A1293FE9EA47F95130127EB -:209CA2000A72A9000420EA90F6905F935B04908581520990F6905C6B099372A90002FE9EE5 -:209CC200AA80951F05CD9C855D270F1F077D2A05A60CCC9605AA80F720071E05CD9BB61F8B -:209CE20007CD986DA1012703CC9603851F03A300012A05A60DCC96057B09A109271EA301AD -:209D0200002B0CBE371D0004BF37A603CC9605CD9B971F017B046B030F04200658CD9B9752 -:209D22001F017B03F77B04E7011E077B01E7027B02E70390F6905CA1022603CC9CB5905AEF -:209D42005B09CC976FBE3372B0002F813B000FAE9D91CD8586BE2F3510000FCD87DE350A58 -:209D6200000FAE9DA3CD8586CD9D47CD87DEAE9DB4CD8586BE2FA3AA802505AE9DBB200345 -:209D8200AE9DCCCD8586A60DCD853A32000F8170726F6772616D20616464726573733A2079 -:209DA200002C2070726F6772616D2073697A653A20002062797465730020696E20464C41F7 -:209DC2005348206D656D6F72790020696E2052414D206D656D6F727900CD9D472203CC9744 -:209DE2003A5206BE2F1F05FE1F01AE7FFF1F0390F6905C4D272BA10C2722905ACD97C31F1B -:209E02000190F6905C4D26041F032015A10C2703CC960390F6905C4D2707905ACD97C31FA6 -:209E22000316053F1893FE13012A1190E602B71972B9001890C300332A2820E917051E0520 -:209E4200CF002BE602A003CD9E951E05E602B7193F1872BB0018C300332A071F05FE1303A5 -:209E62002DDC5B06CD9D4ECC973A5741524E494E473A206C696E6573206D697373696E677C -:209E820020696E20746869732070726F6772616D2E0A00B72A1C0003CF002D9093CD9273B0 -:209EA2008152010F0190F6905CA1012204905A2057A1062712A10A2716A1032728A102279C -:209EC20028A12E272B203693CD8586909320D4CD9BE3CD9B354D270B88F65CCD853A0A0187 -:209EE20026F78420BE030120BCA609CD853A20B35F9758DE8C8AFD01CD853A20A6905ACDAA -:209F02009A1FCD87DECC9EA50D012605A60DCD853A5B01CC976F1705BE2B1F03811E03CF07 -:209F2200002B160581CD8597AE95B0CD8586CD859781A63FCD853A819EA47FCD85519FA4A1 -:209F42007FCD85518152060F03CD9F3ACD9F345F1F011F05350A000FCD8565A12D26040309 -:209F6200052008A12426073510000FCD8565A10826120D0627F5CD85911E01B60F621F015C -:209F82000A0620E7CD8551A10D2717CD97D5241A0C066B041E01B60FCD837472FB031F01E9 -:209FA20020C91E010D05270150995B0681CD9F3ACD9F344FCD85BAAE1680817200003B057A -:209FC200A611CC9605520690F6A1062616905C93CD85869093CD859790F6905CA1022703FE -:209FE200CC960390F6905CA1022B5CA1092707A10A272ECC960393FE1F051E05CD9F472571 -:20A0020005CD9F2720F41F03CD9BE3CD9C427B03F77B04E70190F6905CA10227C6905A2092 -:20A022002693FE1F05CD9FAFCD9BE31F05CD9B35170190AE1680CD8850AE1680CD88361E9E -:20A0420005FEF7160120CE5B06CC976F5FCD855F2704CD85650281CD9878A1022703CC964B -:20A06200031E037B02F75B04CC976FCD986DA1012703CC960385F65F978190F6A10A271EAA -:20A08200A106271ACD9A1F5D2603CC977AA621CD985F90F6A1082603CCA20CCC976F520B61 -:20A0A2000F030F07905CA1062610170193CD88366B0472FB035C9093200ACD9BE3CD9B3507 -:20A0C2001F016B0490F6A1102B04A1152303CC96036B09905C90F6905CA1062610170593EA -:20A0E200CD88366B0872FB075C9093200EA10A26DDCD9BE3CD9B351F056B08A621CD985F87 -:20A10200170A1E0116050D0427120D08270EF690F1260D5C905C0A040A0820EA7B0411089A -:20A122002B0C26167B09A111271A2B1820267B09A1132710A110270C201A7B09A1142704B9 -:20A14200A1122610160A5B0B90F6A1082603CCA20CCC976F160A5B0BCC977ACC976F520A59 -:20A16200B640A1082B05A608CC96054CB740AE00011F01A609CD985FCD9BE31C00021F05E7 -:20A18200BF12A611CD985FCD994172CF0012A627CD985FCD99411F0390F6905CA1242704BB -:20A1A200905A2005CD99411F011709BE2B1F07CC976F3D402605A606CC960572A900031ECF -:20A1C20005BF12FE72FB0172CF001272F003BF182706B61818012A0A16091E07CF002BCC5A -:20A1E200976F3A405B0ACC976FCD99414F7201003B0C72C3002B25062203CE002B43CD8DB0 -:20A202001E4D2605A604CC960581CDA1EB7200003B047210003BCF002B1C00039093720F90 -:20A22200003B03CD97A9CC976FB641A1082B05A607CC96054CB741CDA1EBCF001252041730 -:20A2420001BE2B1F03BE1220CD725D00412605A605CC96053A4116011E03CF002B5B04CC0E -:20A26200976F7201003B03CC976F90F6A1062733CE0033C3002F2728CDA6B6AE17FF94CD3C -:20A2820098784D270D854FCD8D1E4D2608A60DCC9605CE002FBF2B1C000390937210003B64 -:20A2A200CC976F905CCDA44ACE0033C3002F22E2CC976FAE17FF94AE0054BF42CC973790D5 -:20A2C20089CD9878A1022703CC960317051E0390931E01CD82B916055B06CC976F7200009D -:20A2E2003B03CC976FAEA309CD8586BE2BFECD87DEAEA318CD85865204CD9F187211003B28 -:20A302007218003BCC973A0A53544F50206174206C696E6520002C20434F4E20746F2072EB -:20A322006573756D652E0A007208003B03CC976FCD9F1F5B047219003B7210003BCC976FFB -:20A342007200003B03CD96C4CC976F7201003B03CC976F3F115FBF1290F6905CA1062612FE -:20A3620093CD97B6CD935B4D2703CD9387907FCC976FA1072703CC960390F6905CA4DFA167 -:20A38200462703CC9603CD8B40CC976F7201003B03CC976FCE003372B0002F273690F69034 -:20A3A2005CA1062703CC960393CD97B689CD935B4D2708AEA3E9CD85862027CD94774D26F8 -:20A3C2000CCE003372B0002FCD9395270E85CD940E200FAEA3FACD8586200785AEA40ECDD4 -:20A3E2008586907FCC976F4475706C6963617465206E616D652E0A004E6F2070726F6772D4 -:20A40200616D20696E2052414D2E0A0046696C652073797374656D2066756C6C2E0A00727B -:20A4220001003B03CC976F90F6905CA1062703CC9603CDA44ACC976F66696C65206E6F74C3 -:20A4420020666F756E640A0093CD97B6CD935B4D2608AEA43ACD85862006CD96C4CD93E5DB -:20A46200907F817201003B03CC976F4B004B00CD94B84D27361E015C1F01AE005889CD85F2 -:20A482008685CD8836884B00AE000C72F001CD85AE5B02AE0056FECD87DEAEA4BFCD8586BA -:20A4A200AE0054CD94FFCD94BD20C7CD859785CD87DEAEA4C6CD8586907FCC976F62797473 -:20A4C20065730A0066696C6573007200003B09720D5240FB358050D1CC976FCD99417211F1 -:20A4E200000ACF00068FCE000626FACC976FBE0481A604CD985FCD99419F5FA47F97A6056B -:20A50200CD985F81CD986DA1012703CC9603855D2A015081CD986DA1012703CC9603CD83C0 -:20A522002E90891603655190855B0281CD9941CD8350CC976FCD986DA1012703CC9603856F -:20A542005D27092B04AE000181AEFFFF81A604CD985F90F6905CA106261093CD8836884B32 -:20A562000072F901905C5B022010A10A2703CC9603CD9BE3EE025CCD88365F97A605CD9892 -:20A582005F815208A6046B016B030F02A60B6B043F18170590F6A107261F905C90F6905C86 -:20A5A200A1432703CC96031705A6036B016B03A60A6B0490AEAA5B200490AEA9DE93F65C57 -:20A5C2001F075F977B04621E074CB7197B03A104270FA624CD853A72D60018CD87CCCD85BA -:20A5E200A8CD85860C020A0127107B04C000192A02A6095F97CD85AE2009A60DCD853A7B7D -:20A60200036B0172A2000290FE26B2A60DCD853A5F7B0297CD87DEAEA626CD858616055BA1 -:20A6220008CC976F20776F72647320696E2064696374696F6E6172790A00CD9878A10127F2 -:20A6420003CC9603857211000ACF0006CC976F4F5F7201000A024353814FAE400081CD996F -:20A66200414F95CD85AECC976FCD9878A1012715A1022703CC96031E03BF12855B0272CDE1 -:20A682000012CC976F85FDCC976F7200003B22AE000ABF3EBF3CCD98784D2711A101270ACC -:20A6A200A1022703CC960385BF3E85BF3C721C003BCC976FBE35BF37CE0031BF39AE0054E7 -:20A6C200BF423F413F40817200003B07AE17FF94CDA6B6CC976F7201003B03CC976F520813 -:20A6E2005F1F03CD9878A1022707A1012717CC9603854FCD8D1E4D2749BF18E6025F9772B4 -:20A70200BB00181F05854FCD8D1E4D27351F011E03260B1E01E6025F9772FB011F0372F0EA -:20A72200011F05CE003372F003BF181E0117071603CD8860BE3372F005BF3316075B08CC14 -:20A74200976FA60DCC96057201003B03CC976FA611CD985FCD9941C3002F2335A31680248B -:20A7620030BF31201FCC976F7201003B03CC976FA611CD985FCD9941A301002514C3003130 -:20A78200240FBF2FCDA6B6BE2FBF33CDA798CC976FA60DCC9605CE003172B0002FCD87DE14 -:20A7A200AEA7A9CD8586816279746573206672656500CD859D7211000AAE0004BF067201F1 -:20A7C200000AFBCC976FCD9878A1022703CC96031E039F1E0195CD86E45B04CC976FCD9850 -:20A7E2006DA1022703CC9603CD86CE1E039F1E0195CD86E4CD87215F971F01CD86D91E0116 -:20A802005B0481CD873E81000005574F5244530041A80B04544F4E450033A81502544F00EC -:20A8220027A81E055449434B53002DA825045448454E0021A82F035441420034A83804533C -:20A84200544F500025A84004535445500024A84905534C4545500032A8520353474E002BE1 -:20A86200A85C03534352003CA86404534156450043A86C0352554E0040A87503524E4400D9 -:20A882002AA87D0952414E444F4D495A450047A8850652455455524E001EA8930352454D1B -:20A8A2000023A89E055052494E54003FA8A604504F4B45003EA8B0045045454B0029A8B992 -:20A8C200024F520018A8C2034E4F540016A8C9034E4557003CA8D1044E455854001CA8D954 -:20A8E200034D4F44000EA8E2054C4F4D454D0037A8EA064C4F434154450049A8F4044C4F51 -:20A9020041440044A8FF044C495354003BA908034C45540022A911034C454E002CA9190302 -:20A922004B4559002FA92105494E505554003AA9290249460020A9330548494D454D00365A -:20A94200A93A04474F544F001FA94405474F535542001DA94D0545524153450046A9570373 -:20A96200464F52001BA96103454E44001AA969034449520045A9710344494D0019A9790367 -:20A9820044454C0038A9810443504F530031A98903434F4E0026A99203434C530048A99A2E -:20A9A20003434C520039A9A20443485224002EA9AA04434841540030A9B30443414C4C00D7 -:20A9C2003DA9BC034259450042A9C5044155544F0035A9CD03414E440017A9D60341425313 -:20A9E2000028A9DE01270023A9E6013F003FA9EC01230015A9F2023C3E0015A9F8013E0073 -:20AA020014A9FF013C0013AA05023E3D0012AA0B013D0011AA12023C3D0010AA18012A00B2 -:20AA22000FAA1F0125000EAA25012F000DAA2B012D000CAA31012B000BAA3701220006AA27 -:1DAA42003D01290005AA4301280004AA49013B0003AA4F012C0002AA55013A0001DC +:208C7D009FA40720D7CD87CC81CD853A819789977196059605960596059605960596059AE9 +:208C9D00659A89960596059605960596059605960596059605960596059605960596059C19 +:208CBD00B5A2B7A162A1B6A22DA24DA20EA07E96059A54977C9605A2E1A32C9605A508A032 +:208CDD006FA518A539A551A4F2A4F5A050A7E2A807A4DFA2C3A662A68EA74BA76CA6DAA6D1 +:208CFD00CB9FBF9DDDA344A66DA05B9EA5A266A586A4CEA390A423A467A34FA530A7B6A707 +:208D1D00CAA80B908952020F0190CE002F4D270490CE002B90C300332A1090F3270F2B0A00 +:208D3D0090E6026B0272F90120EA4F2002A6FF935B0290858190895204E6026B020F0190BB +:208D5D009372F901170390CE003372F20390CF00181603CD886090CE003372F20190CF004B +:208D7D003390CF003590CF00375B04908581C30033242F52061F03170590CF001890937299 +:208D9D00BB00181F01BE3372F003CF00181E01CD8860BE3372FB05CF0033CF0035CF003743 +:208DBD005B06819089520872CE00121F050F07BE12E6026B084F1E05CD8D201F014D270307 +:208DDD00CD8D52A6041108273DBE3372FB07A316802508AE9586CC9607202B1E011607CD52 +:208DFD008D8B1E07CF001890AE17001E01CD88601E01C30033250F1E0772BB0033CF003339 +:208E1D00CF0035CF00375B0890858152023A4372C700424F6B0191D62827283C296B02A6D5 +:208E3D005C1101260A0F017B02AD22F75C20E77B02A15C27DFA1222704F75C20D972C600CF +:208E5D00423C437F5C90935FA6065B028189AE8E7FF127067D27095C20F71D8E7F9FAB0750 +:208E7D0085816162746E766672008972B90028905ACD97EE72A2168090CF0028908581A657 +:208E9D000890F7905C90FF72A900028152021C00011F01CD88A4F75C91D6283C29A1242750 +:208EBD0005CD88C02404F75C2007CD88AF25E43A297F72F0019F5B0281A105260D72C600F9 +:208EDD00423C43A1042748CC9605A1202742A11B273EA121260D72C600423C43A120272FE9 +:208EFD00CC9605A127261772C600423C43A11B2703CC9605A6273A4372C700422011A124E8 +:208F1D00260D72C600423C43A1272703CC9605813A4372C700428152030F031F01CD8EA92A +:208F3D006B03A1012730AEAB0C160172A90001CD9836A1FF262CA60211032703CC96051625 +:208F5D0001931C0002F6A1242604A60A200CCD88C02505CC96051601A60990F772A9000370 +:208F7D002009160190F7905CCD8ED65B03818891D6282708110126043C2920F35B018152E8 +:208F9D000290AE1680A620CD8F8B91D62826059093CC91313C296B01A6221101260CA6063D +:208FBD0088F75CCD8E2884CC9131A6241101260220077B01CD88C02409CD8E87CD8E9CCC96 +:208FDD009131A6281101260BA6043A4372C70042CC912DA65C11012612A607F7885C91D63A +:208FFD00283C29F75C909384CC9131A6291101260AA605CD8ED6A605CC912DA63A11012605 +:20901D0005A601CC912DA62C11012605A602CC912DA63B11012605A603CC912DA62D110186 +:20903D002605A60CCC912DA62311012605A615CC912DA63F11012609A63FF75C9093CC9183 +:20905D0031A6271101262FA623F75C90AE168072B900289089CD885072F201905C908972B1 +:20907D00FB0190938572FB015A1D1680CF00285B02A623CC9131A62B11012605A60BCC91ED +:20909D002DA62A11012605A60FCC912DA62F11012605A60DCC912DA62511012605A60ECC63 +:2090BD00912DA63D11012605A611CC912DA63E11012621A6146B0291D6283C29A13D260414 +:2090DD00A612204CA13C2604A6152044725A00297B02203CA63C11012621A6136B0291D693 +:2090FD00283C29A13D2604A6102025A13E2604A615201D725A00297B0220157B01CD88AF9B +:20911D002503CC9605CD8F34A123260893CC9068F75C90935B0281520255002F002D721AE5 +:20913D00003BAE0054BF424F5FCF1700C717023F283F29C61680CD88C0241B3C29AE1703B4 +:20915D0090AE1680CD8E87A300012F05CF17002005A601CC960790AE170390A317802505FD +:20917D00A60ACC960793CD8F9C4D26EEB643A054270D72C600423C43A1272703CC960590CA +:20919D007F905C72A21700909FAE1700BF12E702FE2708CD8DC03F2A4F200FBE12E602B7D1 +:2091BD002ABF2B1C0003BF2D90935B02721B003B8152026B01CD88366B0211012A095AA6AD +:2091DD0020F77B024C20F17B025B0281A622CD853A9089CD97B885F65C725A002A4D272E2E +:2091FD00A120250CCD853AA15C26ECCD853A20E788A65CCD853A84A007B719725F001889AF +:20921D00AE8E7F72BB0018F6CD853A8520C9A622CD853A819EA47FCD853A9FCD853A815221 +:20923D00050F046B01AEAB891F02F6AB026B0572FB04F61101270B1E021D0002FE26E94F31 +:20925D0020031E025C5B0581A1072B0AA10B2B04A1162B02998198813B000F350A000F52B8 +:20927D00050F046B03BE2BFE4FCD87E90D032705A605CD91CECD8586CD85A890BE2D7B04F9 +:20929D006B05B62A2603CC9354725A002A90F6905C4D2603CC93546B04A1062603CC934E08 +:2092BD00A1092603CC930FA1232603CC9342A10A2603CC930FA1072610A65CCD853A90F68E +:2092DD00905C3A2ACD853A201CA1082602203ECD923C4D2603CC9354CD85867B04CD92654B +:2092FD002503CC929B90F6CD92652403CD85A8CC929B90F6A47FCD853A90E601CD853A7222 +:20931D005A002A725A002A72A9000220D893FE72A90002CD87DE90F6CD92652505A608CDD2 +:20933D00853ACC929BA627CD853A93CD8586CC9354CD91E9CC929BCD85975B0532000F8196 +:20935D00520417031F01CD94BA271BAE00581601CD8841270DAE0054CD9501CD94BF27066A +:20937D0020E7A60120014F16035B0481A658AE0054F7E701A602CD8A9C81520617051F012A +:20939D00AEFFFF1F033F115FBF12CD8B5DA302002A29AE001090AE0054CD8AC8AE0054FE46 +:2093BD00A358582705CD950120E0AE0054EE02130125F2130322EE1F0320EA4F1E03A3FF2D +:2093DD00FF2702A60116055B068152041703AE0010CD950BAE0054EE021F0190CE002FCD9D +:2093FD008AC8CE002F72FB01BF33BF35BF3716035B0481520817071F05AE0054A650F7A68D +:20941D0042E70190CE003372B2002FEF0217011C00041605CD8850A610AE00546F0FCD8AAB +:20943D009CAE0010CD950BCE002F1F05AE00F0130123021E011F039F1E05CD8A9C1E03CD6C +:20945D00950B1E0172F0031F01270C1E0572FB031F05AE010020D816075B08813F115FBFAB +:20947D001290AE0054AE0010CD8AC8AE0054FEBF18AEFFFFC300182721AE5042C300182766 +:20949D0008AE5858C300182611AE0054CD9501CD8B5DA302002BCA4F2002A601813F115F3B +:2094BD00BF129089CD8B5DA302002A30AE001090AE0054CD8AC8AE0054FEBF18AE5042C3A8 +:2094DD000018271BAEFFFFC300182710AE5858C300182608AE0054CD950120C84F2002A68C +:2094FD0001908581EE021C00101C00FF4F9772BB0012BF124FC90011B711810000953E95B1 +:20951D0045954C9551955C95679570957A95829586958F9598959C95A295AB95B295BE95C7 +:20953D00CB53594E544158003E3332373637003E32353500424144204252414E4348004264 +:20955D0041442052455455524E00424144204E455854003E3820474F53554253003E382044 +:20957D00464F525300454E44004D454D2046554C4C00544F4F204C4F4E470044494D00521D +:20959D00414E474500535452204F56464C00535452494E4700524554595045204C494E454B +:2095BD000050524F4752414D204F4E4C59004449562042592030000A72756E2074696D65F8 +:2095DD00206572726F722C20000A636F6D70696C65206572726F722C20002A2A2A20002091 +:2095FD004552524F52200A00A601720A003B1988AE95D4CD858684AD3572B2002B909FA028 +:20961D0003BE2BCD9E97201F88AE95E6CD858684AD1CAE1680CD8586A60DCD853ABE28CD1C +:20963D0085AEA65ECD853AAE17FF94CC973988AE95F7CD8586845F97581C9518FECD85864B +:07965D00AE95FCCD8586816E +:20966400706F6D6D652042415349430A00436F707972696768742C204A616371756573204B +:209684004465736368656E657320323032330A003B000F350A000F4B0A4B004B01AE966417 +:2096A40090AE9671CD88E95B0332000FCD859781AE8551CF001A3F3B350A000FAE0054BF24 +:2096C400428189AE0100BF2FBF33BF35BF37AE1680BF31BF393F3B5FBF40BF42A60AB73C19 +:2096E400B73E8581CD8916AE17FF94CD96C6AE0054BF42CD9694CDA79AAE971FBF1CCE6009 +:2097040000FECF000DCE6006FECF000B20270A53544F505045442041542000AE9712CD8571 +:2097240086CE002BFECD87DECD8597AE17FF947211003B2003CD96B4A60DCD853AA63ECD4D +:20974400853A4B00720D003B17BE3CCD87E96B019093AE1680CD8850BE3C72BB003EBF3C1B +:2097640084CD85BA4D27D1CD91344D27CB90F6905C5F9758DE8C8AFC90CE002B90E602B7D7 +:209784002972B900287201003BAE90C300332B05A609CC960790BF2B72A90003720F003BCB +:2097A40003CD97ABCC977172CE002BCD87DEA60DCD853A8190F62706905C90F626FA905C31 +:2097C4008190F6905CA1082703CC960593FE72A9000281A0302B11A10A2B0BA1112B09A0B6 +:2097E40007C1000F2A02998198815205350A000F0F035F1F010F0590F6272BA12D26040312 +:20980400052008A124260A3510000F905C90F62715CD97D724106B041E01B60FCD83747228 +:20982400FB031F0120E51E010D05270150BF185B058152060F0117051F03F66B0216055C20 +:20984400CD8841270C1E031D0002A6FFFE270B20E71E0372FB011C0002F65B06818890F68C +:20986400905C11012703CC9605848190F6905CA1042703CC96054B00907D271A84855202B2 +:20988400894C88CD99431F0490F6905CA10227ECA1052702905A84818152010F0190F690BB +:2098A4005CA1012203CC9605A10B2706A10C2606030190F6905CA108260893FE72A900026D +:2098C4002030A107260890F6905C5F972024A1092609CD9BE5CD9C44FE2017A104260CCD06 +:2098E400994389A605CD98618520075F9758DE8C8AFD0D012701505B01815205CD989D1FC8 +:209904000190F6905C6B05A10D2B04A10F2304905A2027CD989D170316017B05A10F2605ED +:20992400CD83C3200FA10D260651CD846A200551CD846A511F01160320C71E015B05815207 +:2099440005CD98FE1F0190F6905C6B05A10B2708A10C2704905A201ECD98FE1703511E01D1 +:2099640017017B05A10B260572FB01200372F0011F01160320D01E015B05815205CD994357 +:209984001F0190F6905C6B05A1102B04A1152304905A203CCD99431703511E01170113015F +:2099A4002F0A26147B05A1132A21201A7B05A1132714A1102710200A7B05A1142708A112DF +:2099C4002704A1152605AEFFFF20015F160320021E015B05814B0090F6905CA1012203CCC0 +:2099E4009605A116260403012002905ACD997F0D012701535B01815202CD99D91F0190F653 +:209A0400905CA1172704905A200ECD99D9021401021402021F0120E61E015B02815203CDA6 +:209A240099FB1F0190F6905CA1182704905A201B6B03CD99FB7B03021A01021A0202200742 +:209A4400021801021802021F0120D91E015B0381520490F6905CA1092709A10A2725CC96B7 +:209A6400055204CD9BE5CD9C441F01A611CD9861CD9A211F031E017B03F77B04E7015B04EC +:209A8400CC97715B04520C0F0B0F030F07CD9BE51F01EE02F65C1F056B04CD88364C6B0863 +:209AA40090F6A1042614CD994313072305A60ECC96075A1F0172FB051F051E0372F0011F82 +:209AC40003A611CD986190F6905CA106261E931F09CD88366B0C72F90B905C1E03130B2423 +:209AE40005A60ECC96071E0BBF182033A10A2614CD9BE5CD9B371F093F18B7196B0C110441 +:209B040022DF201BA12E2703CC96055F9758DE8C8AFD9FA47F1E057D26026F01F7200F1E28 +:209B24000517011609CD886072FB0B7F16015B0CCC977152080F07EE021F05F66B080F03E8 +:209B4400A6016B040F015CCD88366B0290F6A10427022032905CCD9943A300012A05A60EC5 +:209B6400CC9607130122F71F0390F6A1052604905C2013A602CD9861CD9943130122DF1F69 +:209B840001A605CD98611E0172F0035C9F1E0572FB035B08811C000289CE003972B0003752 +:209BA40013012405A60ACC9607CE003972F001BF395B028152021F01CE003972B00037A394 +:209BC40000042405A60ACC9607CE00377B01F77B02E7016F026F03891C0004BF37855B02FA +:209BE4008152030F0193FE72A900021F0290F6A104260803019EAA80956B02CD9C875D2612 +:209C04001B0D012703CD9C237B03A1242605A60CCC96071E029EA47F95CD9BB85B03811C47 +:209C240000028990F6A1042615CD986FA1012703CC960585A300012705A60DCD96078581B0 +:209C440052047D2B05CD9C232031EE021F0390F6A10427051C00022022CD986FA1012703B7 +:209C6400CC9605855D27091F011E03FE13012A05A60DCC96071E015872FB035B0481FEF60E +:209C84005F9781908952049EA47F951F0190CE003590C300372A1293FE9EA47F95130127E9 +:209CA4000A72A9000420EA90F6905F935B04908581520990F6905C6B099372A90002FE9EE3 +:209CC400AA80951F05CD9C875D270F1F077D2A05A60CCC9607AA80F720071E05CD9BB81F83 +:209CE40007CD986FA1012703CC9605851F03A300012A05A60DCC96077B09A109271EA301A5 +:209D0400002B0CBE371D0004BF37A603CC9607CD9B991F017B046B030F04200658CD9B994A +:209D24001F017B03F77B04E7011E077B01E7027B02E70390F6905CA1022603CC9CB7905AEB +:209D44005B09CC9771BE3372B0002F813B000FAE9D93CD8586BE2F3510000FCD87DE350A52 +:209D6400000FAE9DA5CD8586CD9D49CD87DEAE9DB6CD8586BE2FA3AC002505AE9DBD2003B9 +:209D8400AE9DCECD8586A60DCD853A32000F8170726F6772616D20616464726573733A2075 +:209DA400002C2070726F6772616D2073697A653A20002062797465730020696E20464C41F5 +:209DC4005348206D656D6F72790020696E2052414D206D656D6F727900CD9D492203CC9740 +:209DE4003C5206BE2F1F05FE1F01AE7FFF1F0390F6905C4D272BA10C2722905ACD97C51F15 +:209E04000190F6905C4D26041F032015A10C2703CC960590F6905C4D2707905ACD97C51FA0 +:209E24000316053F1893FE13012A1190E602B71972B9001890C300332A2820E917051E051E +:209E4400CF002BE602A003CD9E971E05E602B7193F1872BB0018C300332A071F05FE1303A1 +:209E64002DDC5B06CD9D50CC973C5741524E494E473A206C696E6573206D697373696E6776 +:209E840020696E20746869732070726F6772616D2E0A00B72A1C0003CF002D9093CD9275AC +:209EA4008152010F0190F6905CA1012204905A2057A1062712A10A2716A1032728A102279A +:209EC40028A12E272B203693CD8586909320D4CD9BE5CD9B374D270B88F65CCD853A0A0181 +:209EE40026F78420BE030120BCA609CD853A20B35F9758DE8C8AFD01CD853A20A6905ACDA8 +:209F04009A21CD87DECC9EA70D012605A60DCD853A5B01CC97711705BE2B1F03811E03CFFF +:209F2400002B160581CD8597AE95B2CD8586CD859781A63FCD853A819EA47FCD85519FA49D +:209F44007FCD85518152060F03CD9F3CCD9F365F1F011F05350A000FCD8565A12D26040303 +:209F6400052008A12426073510000FCD8565A10826120D0627F5CD85911E01B60F621F015A +:209F84000A0620E7CD8551A10D2717CD97D7241A0C066B041E01B60FCD837472FB031F01E5 +:209FA40020C91E010D05270150995B0681CD9F3CCD9F364FCD85BAAE1680817200003B0574 +:209FC400A611CC9607520690F6A1062616905C93CD85869093CD859790F6905CA1022703FA +:209FE400CC960590F6905CA1022B5CA1092707A10A272ECC960593FE1F051E05CD9F492569 +:20A0040005CD9F2920F41F03CD9BE5CD9C447B03F77B04E70190F6905CA10227C6905A208A +:20A024002693FE1F05CD9FB1CD9BE51F05CD9B37170190AE1680CD8850AE1680CD88361E96 +:20A0440005FEF7160120CE5B06CC97715FCD855F2704CD85650281CD987AA1022703CC9645 +:20A06400051E037B02F75B04CC9771CD986FA1012703CC960585F65F978190F6A10A271EA0 +:20A08400A106271ACD9A215D2603CC977CA621CD986190F6A1082603CCA20ECC9771520B55 +:20A0A4000F030F07905CA1062610170193CD88366B0472FB035C9093200ACD9BE5CD9B3701 +:20A0C4001F016B0490F6A1102B04A1152303CC96056B09905C90F6905CA1062610170593E6 +:20A0E400CD88366B0872FB075C9093200EA10A26DDCD9BE5CD9B371F056B08A621CD98617F +:20A10400170A1E0116050D0427120D08270EF690F1260D5C905C0A040A0820EA7B04110898 +:20A124002B0C26167B09A111271A2B1820267B09A1132710A110270C201A7B09A1142704B7 +:20A14400A1122610160A5B0B90F6A1082603CCA20ECC9771160A5B0BCC977CCC9771520A4F +:20A16400B640A1082B05A608CC96074CB740AE00011F01A609CD9861CD9BE51C00021F05DF +:20A18400BF12A611CD9861CD994372CF0012A627CD9861CD99431F0390F6905CA1242704B1 +:20A1A400905A2005CD99431F011709BE2B1F07CC97713D402605A606CC960772A900031EC7 +:20A1C40005BF12FE72FB0172CF001272F003BF182706B61818012A0A16091E07CF002BCC58 +:20A1E40097713A405B0ACC9771CD99434F7201003B0C72C3002B25062203CE002B43CD8DA8 +:20A20400204D2605A604CC960781CDA1ED7200003B047210003BCF002B1C00039093720F88 +:20A22400003B03CD97ABCC9771B641A1082B05A607CC96074CB741CDA1EDCF001252041726 +:20A2440001BE2B1F03BE1220CD725D00412605A605CC96073A4116011E03CF002B5B04CC0A +:20A2640097717201003B03CC977190F6A1062733CE0033C3002F2728CDA6B8AE17FF94CD34 +:20A28400987A4D270D854FCD8D204D2608A60DCC9607CE002FBF2B1C000390937210003B5C +:20A2A400CC9771905CCDA44CCE0033C3002F22E2CC9771AE17FF94AE0054BF42CC973990CB +:20A2C40089CD987AA1022703CC960517051E0390931E01CD82B916055B06CC977172000095 +:20A2E4003B03CC9771AEA30BCD8586BE2BFECD87DEAEA31ACD85865204CD9F1A7211003B1E +:20A304007218003BCC973C0A53544F50206174206C696E6520002C20434F4E20746F2072E7 +:20A324006573756D652E0A007208003B03CC9771CD9F215B047219003B7210003BCC9771F3 +:20A344007200003B03CD96C6CC97717201003B03CC97713F115FBF1290F6905CA1062612F6 +:20A3640093CD97B8CD935D4D2703CD9389907FCC9771A1072703CC960590F6905CA4DFA15B +:20A38400462703CC9605CD8B40CC97717201003B03CC9771CE003372B0002F273690F6902C +:20A3A4005CA1062703CC960593CD97B889CD935D4D2708AEA3EBCD85862027CD94794D26EC +:20A3C4000CCE003372B0002FCD9397270E85CD9410200FAEA3FCCD8586200785AEA410CDCA +:20A3E4008586907FCC97714475706C6963617465206E616D652E0A004E6F2070726F6772D0 +:20A40400616D20696E2052414D2E0A0046696C652073797374656D2066756C6C2E0A007279 +:20A4240001003B03CC977190F6905CA1062703CC9605CDA44CCC977166696C65206E6F74B9 +:20A4440020666F756E640A0093CD97B8CD935D4D2608AEA43CCD85862006CD96C6CD93E7CF +:20A46400907F817201003B03CC97714B004B00CD94BA4D27361E015C1F01AE005889CD85EC +:20A484008685CD8836884B00AE000C72F001CD85AE5B02AE0056FECD87DEAEA4C1CD8586B6 +:20A4A400AE0054CD9501CD94BF20C7CD859785CD87DEAEA4C8CD8586907FCC977162797468 +:20A4C40065730A0066696C6573007200003B09720D5240FB358050D1CC9771CD99437211EB +:20A4E400000ACF00068FCE000626FACC9771BE0481A604CD9861CD99439F5FA47F97A60563 +:20A50400CD986181CD986FA1012703CC9605855D2A015081CD986FA1012703CC9605CD83B4 +:20A524002E90891603655190855B0281CD9943CD8350CC9771CD986FA1012703CC96058565 +:20A544005D27092B04AE000181AEFFFF81A604CD986190F6905CA106261093CD8836884B2E +:20A564000072F901905C5B022010A10A2703CC9605CD9BE5EE025CCD88365F97A605CD988C +:20A5840061815208A6046B016B030F02A60B6B043F18170590F6A107261F905C90F6905C82 +:20A5A400A1432703CC96051705A6036B016B03A60A6B0490AEAB89200490AEAB0C93F65CF4 +:20A5C4001F075F977B04621E074CB7197B03A104270FA624CD853A72D60018CD87CCCD85B8 +:20A5E400A8CD85860C020A0127107B04C000192A02A6095F97CD85AE2009A60DCD853A7B7B +:20A60400036B0172A2000290FE26B2A60DCD853A5F7B0297CD87DEAEA628CD858616055B9D +:20A6240008CC977120776F72647320696E2064696374696F6E6172790A00CD987AA10127EC +:20A6440003CC9605857211000ACF0006CC97714F5F7201000A024353814FAE400081CD9969 +:20A66400434F95CD85AECC9771CD987AA1012715A1022703CC96051E03BF12855B0272CDD7 +:20A684000012CC977185FDCC97717200003B22AE000ABF3EBF3CCD987A4D2711A101270AC4 +:20A6A400A1022703CC960585BF3E85BF3C721C003BCC9771BE35BF37CE0031BF39AE0054E1 +:20A6C400BF423F413F40817200003B07AE17FF94CDA6B8CC97717201003B03CC977152080B +:20A6E4005F1F03CD987AA1022707A1012717CC9605854FCD8D204D2749BF18E6025F9772AC +:20A70400BB00181F05854FCD8D204D27351F011E03260B1E01E6025F9772FB011F0372F0E6 +:20A72400011F05CE003372F003BF181E0117071603CD8860BE3372F005BF3316075B08CC12 +:20A744009771A60DCC96077201003B03CC9771A611CD9861CD9943C3002F2335A31680247F +:20A7640030BF31201FCC97717201003B03CC9771A611CD9861CD9943A301002514C3003126 +:20A78400240FBF2FCDA6B8BE2FBF33CDA79ACC9771A60DCC9607CE003172B0002FCD87DE0A +:20A7A400AEA7ABCD8586816279746573206672656500CD859D7211000AAE0004BF067201ED +:20A7C400000AFBCC9771CD987AA1022703CC96051E039F1E0195CD86E45B04CC9771CD9846 +:20A7E4006FA1022703CC9605CD86CE1E039F1E0195CD86E4CD87215F971F01CD86D91E0110 +:20A804005B0481CD873E817200003B2ACD987A4D2607AE000A89892011A1012606AE000A90 +:20A82400892007A1022703CC9605CDA83F908585CDA8A3CDA876907FCC977190CE002F90DF +:20A84400BF2B72A90003CDA8C35D270AFECDA86372A9000220F0905C90C300332BE1814FD5 +:20A86400CD8D204D2605A604CC96079EAA809590FF8190CE002F90BF2B72A90003CDA8C305 +:20A884005D2713FE9EA47F95F690F7E60190E70172A9000220E7905C90C300332BD8815281 +:20A8A400040F01170390CE002F90FF72FB0390E6026B0272F90190C300332BED5B04815FAC +:20A8C40090F6A1002762A11F2759A11D2755A121260B90E601A108274A905C20E3A1072A05 +:20A8E40004905C20DBA107260672A9000220D1A10B2A0672A9000320C7A1192A04905C20B2 +:20A90400BFA1062605CD97B820B6A1232611CE002BE6025F9772BB002B5A90935F200990F1 +:20A924005C209D72A900029381000005574F5244530041A92F04544F4E450033A939025477 +:20A944004F0027A942055449434B53002DA949045448454E0021A953035441420034A95C8D +:20A964000453544F500025A96404535445500024A96D05534C4545500032A9760353474E23 +:20A98400002BA98003534352003CA98804534156450043A9900352554E0040A99903524E3B +:20A9A40044002AA9A10952414E444F4D495A450047A9A90652455455524E001EA9B70552D5 +:20A9C400454E554D004AA9C20352454D0023A9CC055052494E54003FA9D404504F4B450089 +:20A9E4003EA9DE045045454B0029A9E7024F520018A9F0034E4F540016A9F7034E455700C1 +:20AA04003CA9FF044E455854001CAA07034D4F44000EAA10054C4F4D454D0037AA18064CC9 +:20AA24004F434154450049AA22044C4F41440044AA2D044C495354003BAA36034C4554000F +:20AA440022AA3F034C454E002CAA47034B4559002FAA4F05494E505554003AAA5702494673 +:20AA64000020AA610548494D454D0036AA6804474F544F001FAA7205474F535542001DAA26 +:20AA84007B0545524153450046AA8503464F52001BAA8F03454E44001AAA970344495200F8 +:20AAA40045AA9F0344494D0019AAA70344454C0038AAAF0443504F530031AAB703434F4EA6 +:20AAC4000026AAC003434C530048AAC803434C520039AAD00443485224002EAAD804434868 +:20AAE40041540030AAE10443414C4C003DAAEA034259450042AAF3044155544F0035AAFB38 +:20AB040003414E440017AB04034142530028AB0C01270023AB14013F003FAB1A0123001556 +:20AB2400AB20023C3E0015AB26013E0014AB2D013C0013AB33023E3D0012AB39013D0011C9 +:20AB4400AB40023C3D0010AB46012A000FAB4D0125000EAB53012F000DAB59012D000CAB00 +:20AB64005F012B000BAB6501220006AB6B01290005AB7101280004AB77013B0003AB7D01EA +:09AB84002C0002AB83013A000130 :00000001FF diff --git a/code_address.asm b/code_address.asm index 79e0bc2..b24ad5f 100644 --- a/code_address.asm +++ b/code_address.asm @@ -131,4 +131,5 @@ code_addr: _code_entry cmd_randomize, RNDMIZE_IDX _code_entry cmd_cls, CLS_IDX _code_entry cmd_locate,LOCATE_IDX + _code_entry cmd_renum,RENUM_IDX CMD_LAST=TOK_IDX-1 diff --git a/journal.md b/journal.md index 7e8de50..7f03486 100644 --- a/journal.md +++ b/journal.md @@ -1,3 +1,9 @@ +### 2023-08-07 + +* tag V1.0R12 + +* Ajout de la commande BASIC **RENUM** + ### 2023-08-06 * tag V1.0R11 diff --git a/p1Basic.asm b/p1Basic.asm index 2a15a6c..d591f7a 100644 --- a/p1Basic.asm +++ b/p1Basic.asm @@ -4117,6 +4117,196 @@ func_cpos: call cursor_pos ret +;------------------------------ +; BASIC: RENUM [expr1, epxr2] +; renumber program lines +; starting at expr1 step expr2 +;------------------------------ + STEP=1 + START=STEP+2 + VSIZE=START+1 +cmd_renum: + btjt flags,#FRUN,9$ + call arg_list + tnz a + jrne 1$ + ldw x,#10 + pushw x + pushw x + jra 4$ +1$: cp a,#1 + jrne 2$ + ldw x,#10 + pushw x + jra 4$ +2$: cp a,#2 + jreq 4$ + jp syntax_error +4$: + call line_to_addr + popw y + popw x + call renumber ; x=START,Y=STEP + call addr_to_line +9$: clr (y) + _next + +;-------------------------- +; replace GOTO|GOSUB|THEN +; line# +; by line address|0x8000 +;-------------------------- +line_to_addr: + ldw y,lomem +0$: _stryz line.addr + addw y,#LINE_HEADER_SIZE +1$: call scan_for_branch + tnzw x + jreq 4$ + ldw x,(x) ; line # + call line_by_addr + addw y,#2 + jra 1$ +4$: ; at end of line + incw y + cpw y,progend + jrmi 0$ +9$: + ret + +;------------------------- +; replace line number +; by line address|0x8000 +; input: +; X line number +; Y plug address +;-------------------------- +line_by_addr: + clr a + call search_lineno + tnz a + jrne 2$ + ld a,#ERR_BAD_BRANCH + jp tb_error +2$: ld a,xh + or a,#0x80 + ld xh,a + ldw (y),x + ret + + +;--------------------------- +; replace target line address +; by line number +;--------------------------- +addr_to_line: + ldw y,lomem +0$: _stryz line.addr + addw y,#LINE_HEADER_SIZE +1$: call scan_for_branch + tnzw x + jreq 4$ + ldw x,(x) ; ln_addr|0x8000 + ld a,xh + and a,#0x7f + ld xh,a ; x=line addr + ld a,(x) + ld (y),a + ld a,(1,x) + ld (1,y),a + addw y,#2 + jra 1$ +4$: ; at end of line + incw y + cpw y,progend + jrmi 0$ +9$: ret + +;------------------------ +; renumber program lines +; input: +; x start line +; y step +;------------------------- + LN_LEN=1 + STEP=LN_LEN+2 + VSIZE=STEP+1 +renumber: + _vars VSIZE + clr (LN_LEN,sp) + ldw (STEP,sp),y + ldw y,lomem +1$: ldw (y),x ; first line + addw x,(STEP,sp) + ld a,(2,y) + ld (LN_LEN+1,sp),a + addw y,(LN_LEN,sp) + cpw y,progend + jrmi 1$ +9$: _drop VSIZE + ret + +;------------------------- +; scan line for +; GOTO|GOSUB|THEN ln# +; input: +; Y basic pointer +; output: +; X 0 | addr GO... +;------------------------- +scan_for_branch: + clrw x +0$: ld a,(y) + cp a,#EOL_IDX + jreq 9$ + cp a,#GOTO_IDX + jreq 8$ + cp a,#GOSUB_IDX + jreq 8$ + cp a,#THEN_IDX + jrne 1$ + ld a,(1,y) + cp a,#LITW_IDX + jreq 8$ + incw y + jra 0$ +1$: cp a,#DELIM_LAST+1 + jrpl 2$ + incw y + jra 0$ +2$: cp a,#LITC_IDX + jrne 3$ + addw y,#2 + jra 0$ +3$: cp a,#SYMB_LAST+1 + jrpl 4$ + addw y,#3 + jra 0$ +4$: cp a,#BOOL_OP_LAST+1 + jrpl 5$ + incw y + jra 0$ +5$: cp a,#QUOTE_IDX + jrne 6$ + call skip_string + jra 0$ +6$: cp a,#REM_IDX + jrne 7$ + ldw x, line.addr + ld a,(2,x) + clrw x + ld xl,a + addw x,line.addr + decw x + ldw y,x + clrw x + jra 9$ +7$: incw y + jra 0$ +8$: addw y,#2 + ldw x,y ; skip 2 op_codes +9$: ret + ;------------------------------ ; dictionary @@ -4154,6 +4344,7 @@ dict_end: _dict_entry,3,"RND",RND_IDX _dict_entry,9,"RANDOMIZE",RNDMIZE_IDX _dict_entry,6,"RETURN",RET_IDX + _dict_entry,5,"RENUM",RENUM_IDX _dict_entry 3,"REM",REM_IDX _dict_entry 5,"PRINT",PRINT_IDX _dict_entry,4,"POKE",POKE_IDX