""lfCC$" A       ":WD40:CR1024lh(142):I07:A(I)CRTWD32I:P(I)A(I)20:X(I)A(I)3WDmiY(I)X(I)20:M(I)Y(I)3WD::CCRT7WD1GmjSD$"":CL$"":I1WD2:CL$CL$" (I),(A(I))::ij|I07:A(I),160:TT1PP:j}A(I),(X(I))::jI07:M(I),160:TT1PP:jM(I),(X(I))::j¡I07:A(I),160:TT1PP:jáA(I),(Y(I)):: kI07:M(I),160:TT1PP:!kM(I),(Y(I))::`k`R$"A(I),160:TT1PP:qhA(I),((N$,I1,1))48::hI07:P(I),160:TT1PP:hP(I),((N$,I1,1))48::hœI07:X(I),160:TT1PP:hÜX(I),((N$,I1,1))48::i̜I07:Y(I),160:TT1PP:1i͜Y(I),((N$,I1,1))48::QiI07"::BT$"":I124mlBT$BT$""::C$CR$"_CARRY BIT"msML$"":PP20:lcX$" X"R$:Y$"Y"R$QleM$"M"R$:CR$ݠݠݠݠݠݠݠݠ"kaR$R$""kbA$" A"R$:P$"P"R$lcX$" X"R$:Y$"Y"R$QleM$"M"R$:CR$:M(I),160:TT1PP:qi᜗M(I),((N$,I1,1))48::iI07:P(I),160:TT1PP:iP(I),(A(I))::iI07:X(I),160:TT1PP:iX(I),(A(I))::iI07:Y(I),160:TT1PP:jY(I),(A(I))::3jȠI07:M(I),160:TT1PP:IjɠM LWAYS":"POINTS TO THE LO-LINK."[6:"., B4D6 65 20 ADC $23 ":6[SD$"";:I18:CL$:[SD$"WE NOW HAVE THE HI-BYTE OF OUR"?\"NEW LO-LINK ADDRESS IN 'A' AND":"WE NEED TO PUT IT INTO $0802"\"WHICH IS 1 BYTE  DC $23 ":"., B4D8 C8 INY "Y8"., B4D9 91 22 STA ($22),Y"Y>SD$"WE HAVE THE LO-LINK FIXED UP."ZR"NOW FOR THE HI-LINK.":6:SD$"";:I18:CL$:DZ\SD$"WE CLEAR THE A-REGISTER TO 00"jZf"WITHOUT AFFEC 0 00 LDY #$00"~d7:"., B4D3 91 22 STA ($22),Y"d7:"., B4D5 98 TYA"d7:"., B4D6 65 23 ADC $23"d7:"., B4D8 C8 INY"e7:"., B4D9 91 22 STA ($22),Y",e7:"., B4DB 86 22 STX $22 "Re7:"., B4DD 85 23  ."W"WE SAVE THIS MAGIC BYTE IN 'X'..":6W"., B4D0 AA TAX ":6WSD$"THEN PUT IT INTO $0801 WHICH IS THE"X "ADDRESS CURRENTLY HELD IN $22/$23."CX"WE DO THIS WITH STA INTO ($22),0"pX"WHICH REQUIRES 'Y=0' $2C"rb7:"., B4BA 85 22 STA $22"b7:"., B4BC 84 23 STY $23"b7:"., B4BE 18 CLC"b7:"., B4BF A0 01 LDY #$01"b7:"., B4C1 B1 22 LDA ($22),Y"$c7:"., B4C3 F0 1C BEQ $B4E1"Hc7:"., B4C5 A0 04 LDY #$04" B4CD 98 TYA ":"., B4CE 65 22 ADC $22 "U"., B4D0 AA TAX ":"., B4D1 A0 00 LDY #$00 "V"., B4D3 91 22 STA ($22),Y":SD$;:T110:CL$:OVSD$"WE ADC THE ADDRESS AT $22 TO Y.."V"BUT ADC ONNOW WE STORE THE 'NEXT' LO-LINK"`t"ADDRESS INTO $22/$23 AND START ALL"`~"OVER AGAIN WITH THIS NEW BASE!!"`"(AT LEAST UNTIL WE RUN ACROSS 00 00 00""a"SIGNIFYING THE END-OF-PROGRAM).":6Ma"YOU MAY NOT REALIZE IT BUT WE HAVEORIGINALLY $0801/$0802)."Sb"2:OUR 'BASE' (KEPT IN $22/$23)"Sl" ORIGINALLY WAS THE LINK AT $0801."Tv" $22/$23 WILL BE CHANGED TO POINT":" TO THIS 'NEXT' LINK."_T{"AT THE MOMENT WE'RE (Y) BYTES PAST":" THE ADDRESS IN $22/$23."T6 BNE $B4C7"z^&"., B4CC C8 INY"^'"., B4CD 98 TYA"^("., B4CE 65 22 ADC $22"^)"., B4D0 AA TAX"^*"., B4D1 A0 00 LDY #$00"_+"., B4D3 91 22 STA ($22),Y"3_,"., B4D5 98 TYA"S_-"., B4D6 65 23 ADC $ BMI BNE"f"BPL BRK BVC BVS CLC CLD CLI CLV CMP"f"CPX CPY DEC DEX DEY EOR INC INX INY"g"JMP JSR LDA LDX LDY LSR NOP ORA PHA"Bg"PHP PLA PLP ROL ROR RTI SBC SEC SEPAST $0801 AND":"$0801 IS HELD IN $22/$23!":6\"., B4D8 C8 INY "\"., B4D9 91 22 STA ($22),Y":6]"., B4B6 A5 2B LDA $2B":"., B4B8 A4 2C LDY $2C"8]"., B4BA 85 22 STA $22"X]"., B4BC 84 23 STY TING ANY CARRY "Zp"LEFT OVER FROM THE EARLIER ADC $22.":6Zq"., B4D5 98 TYA ":6[zSD$"THEN WE ADC $23":"ADDING THE CARRY BIT (IF ANY!)"7["TO THE HI-BYTE OF OUR NEW 'BASE'"x["ADDRESS IN $22/$23-WHICH A STA $23 "e7:"., B4DF 90 DE BCC $B4BF_BRANCH BACK"e" TO $B4BF"e" & REPEAT!":6fp"ONE FINAL LOOK AT THE 6510 COMMANDS:"Nfz"ADC AND ASL BCC BCS BEQ BIT SO WE LDY #$00"X "THEN STA ($22),Y!":6X!"., B4D1 A0 00 LDY #$00 "X""., B4D3 91 22 STA ($22),Y":6Y*SD$;:I115:CL$::SD$;:I115:CL$:CY5"., B4D5 98 TYA "Y6"., B4D6 65 23 Agc7:"., B4C7 C8 INY"c7:"., B4C8 B1 22 LDA ($22),Y"c7:"., B4CA D0 FB BNE $B4C7"c7:"., B4CC C8 INY"c7:"., B4CD 98 TYA"d7:"., B4CE 65 22 ADC $22"3d7:"., B4D0 AA TAX"Wd7:"., B4D1 ALY WORKS WITH THE A-REGISTER"V"SO WE TYA FIRST THEN ADC $22.":6V"., B4CD 98 TYA ":"., B4CE 65 22 ADC $22 "2W6:SD$"NOW A CONTAINS THE LO-BYTE OF THE"bW"NEW 'BASE' ADDRESS=THE 'NEXT' LO-LINK"za"THIS 'NEW BASE' ADDRESS(=THE ADDRESS"a"OF THE 'NEXT' LO-LINK) IN X AND A."a"X HAS THE LO-BYTE!":"A HAS THE HI-BYTE!!":6 b"LET'S SEE IT ALL..PAY ATTENTION!":6,b"., B4B6 A5 2B LDA $2B"Ob7:"., B4B8 A4 2C LDY:"., B4CC C8 INY "TSD$"INY ADVANCES 1 BYTE PAST THE 00"T"END-OF-STATEMENT TO THE 'NEXT' LO-LINK."U"NOW ($22),Y POINTS TO THE 'NEXT'"YU"LO-LINK AND WE DO OUR '2 THINGS'":"WITH THIS ADDRESS..":6U".,23"o_."., B4D8 C8 INY"_8"., B4D9 91 22 STA ($22),Y"_BBT$"WHAT'S LEFT TO DO???":6_L"WE'VE FIXED THE LINKS AT $0801/$0802."`V"THEY POINT TO THE 'NEXT' LO-BYTE LINK."G``"THAT'S THE FIRST OF OUR '2 THINGS' DONE."q`j"D"g"TXA STA STX STY TAX TAY TYA TSX TXA"g"..AND TXS!":6g/u"THAT'S ALL!":6:gX"";:I117:CL$::"";:gA(0),32:TT1PP::I06:A(I1),321hA(I),((N$,I1,1))48:TT1PP:::A(7),48:QhI07:$23"t]"., B4BE 18 CLC"]"., B4BF A0 01 LDY #$01"] "., B4C1 B1 22 LDA ($22),Y"]!"., B4C3 F0 1C BEQ $B4E1"]""., B4C5 A0 04 LDY #$04"^#"., B4C7 C8 INY"<^$"., B4C8 B1 22 LDA ($22),Y"^^%"., B4CA D0 FB  T$" ^^^^-^":M3$F"THIS IS THE BASIC TEXT ITSELF.":6GM4$BT$" ^^^^":M4$?G"END-OF-STATEMENT.":6}GM5$BT$" ^^^^":M5$G Z$" ݠ ݠ -- "(13)E$BA$BA$Z$Z$Z$" "(13)""CE.BT$""BA$"LINKLINKSTMTSTMTBASICZEROLINK"qE8"BYTEBYTENUMNUMTEXT BYTEBYTE"EB" LO  HI   "., B4C1 B1 22 LDA ($22),Y":"., B4C3 F0 1C BEQ $B4E1"Or"THAT'S WHAT WE HAVE SO FAR."P|"NOW WE'RE GOING TO MOVE AHEAD 5 BYTES"0P"AND START CHECKING EACH BYTE FROM THERE"ZP"FOR THE 00 END-OF-STATEMENT.":6P"., B4C5 A0 0 WE CAN STICK THE HI-BYTE":"INTO $2E.":6B "., B5E7 85 2E STA $2E _":6.C 14:6:"NOW LET'S LOOK AT HOW BASIC CHAINING"WC "MIGHT BE ACCOMPLISHED IN BASIC ."C "(THE STATEMENTS IN BASIC ARE LINKED"IF THIS IS 00 THEN WE MUST BE AT":"END OF THE PROGRAM!"M,"(REMEMBER..END-OF-PROGRAM HAS 00 00 00"N6"WHICH IMPLIES A 00 HI-BYTE LINK.":6;N@"., B4C3 F0 1C BEQ $B4E1 "pNJT120:CL$::"..SO WE TEST IT FOR ZERO"., B5DF 69 02 ADC #$02 _"@f 14:"SEE..WE ADD 2.":"THEN WE STORE THIS LO-BYTE"Ap "INTO $2D.":6=Az "., B5E1 85 2D STA $2D _":6oA 14:"NOW WE MUST FIX UP THE HI-BYTE AT $2E."A "WE LDA $2C WHICH WIPY AT":"$22/23."K"$22/$23 WILL HOLD THE ADDRESS OF THE"K"LO-BYTE LINK AS WE MARCH THROUGH"L"THE BASIC STATEMENTS.")L"TO START WITH IT HOLDS $0801.":6NL"., B4BE 18 CLC "wL"WE DO THIS CLC IN PREPARATIONTHE SECOND BYTE OF 'BASIC' AT $0802:"> "., B5D9 C8 INY _":6(? "., B5DA 91 2B STA ($2B),Y _":6Q? 14:"THE END OF BASIC NOW HAS TO"~? "BE CHANGED TO READ $0803..AND END"?* "IS STORED "LINK WE CAN JUMP AHEAD 5 BYTES BEFORE"I2"WE TEST FOR THE 00 BYTE MARKING THE"J<"END OF THE CURRENT BASIC STATEMENT.":62JFT1200::M2$:T1200::M3$:T1200:`JPM4$:6:"., B4B6 A5 2B LDA $2B "JQ"., B4B8 A4 2C LCK THIS BYTE FOR 00, TO SEE"Q"IF IT'S THE END-OF-STATEMENT, AND"Q"BRANCH IF NOT EQUAL TO ZERO TO THE"R"INY INSTRUCTION. FROM NOW ON WE MOVE"@R"A BYTE AT A TIME, LOOKING FOR 00,"nR"AND STAY IN THIS LOOP UNTIL WE DO!"THE NEXT LINK.":6GM5$" ":39000:"WE WILL LOOK IN $2B/$2C TO"H"FIND THE START OF BASIC POINTING">H"TO THE FIRST LINK (LO-BYTE).":M1$" ":6sH"THEN WE WILL MARCH THROUGH TO THE END"H"OF LO  HI AREA=END LO"ELM1$BT$" ^^^^ ^^^^":M1$:"THIS IS THE ADDRESS OF THE NEXT"*F`"BASIC STATEMENT.":6:M2$BT$" ^^^^ ^^^^":M2$WFj"THIS IS BASIC STATEMENT NUMBER:"xFt"LO-BYTE THEN HI-BYTE.":6F~M3$B 4 LDY #$04 ":"., B4C7 C8 INY "P"., B4C8 B1 22 LDA ($22),Y":"., B4CA D0 F8 BNE $B4C7 "Q"HERE WE LDY #$04 THEN INY WHICH"CQ"MAKES $(22),Y 5 BYTES PAST OUR 'BASE'"Q"AT THE LO-BYTE LINK.":"WE CHEC "AND THESE LINKS MUST BE RECREATED"C "EACH TIME WE INSERT OR MODIFY."C "THAT'S CHAINING.)"D "BASIC STATEMENTS ARE STORED"LD"FROM $0801 IN THE FOLLOWING FORMAT:":6:""DBA$" "(13)DNT"AND BEQ TO $B4E1 WHICH IS AN EXIT"N^"FROM THIS ROUTINE!":6Nh"., B4B6 A5 2B LDA $2B":"., B4B8 A4 2C LDY $2C"3Oj"., B4BA 85 22 STA $22":"., B4BC 84 23 STY $23"lOm"., B4BE 18 CLC":"., B4BF A0 01 LDY #$01"OnLL GO TO $2E.":6A "., B5E3 A5 2C LDA $2C _":6 B 14:"BUT, JUST IN CASE THERE'S A CARRY"8B "LEFT OVER FROM THE ADC #$02 WE..":6wB "., B5E5 69 00 ADC #$00 _":6B 14:"NOW"L"FOR AN ADC LATER ON..":6L"., B4BF A0 01 LDY #$01 "L"., B4C1 B1 22 LDA ($22),Y"&M"NOW THE A-REGISTER HOLDS THE BYTE":"STORED AT $0802."OM"THAT'S THE HI-BYTE LINK TO THE"mM"NEXT BASIC STATEMENT."M"AT $2D/$2E.":6?+ "., B5DC A5 2B LDA $2B _"@4 14:"SO WE LDA $2B GETTING READY":"TO ADD 2..":6>@H 14:"BUT REMEMBER TO CLC FIRST!":6y@R "., B5DE 18 CLC _":6@\ "DY $2C ":"., B4BA 85 22 STA $22 "JS"., B4BC 84 23 STY $23 "JZ"WE GET THE START-OF-BASIC ADDRESS FROM"#Kd"$2B/$2C AND STORE IT IN $22/$23."QKn"WE WILL BE MODIFYING THIS ADDRESS AND"Kx"WILL DO THE MODIFYING TO THE CO":6R&"EVENTUALLY WE FIND THE END-OF-STATEMENT"R0"AND MUST NOW DETERMINE THE ADDRESS OF"R:"OF THE 'NEXT' LO-BYTE LINK."-SD"TWO THINGS ARE DONE WITH THIS ADDRESS."XSN"1:IT WILL BE STORED IN THE EARLIER"SX" LINKS (THE FIRST BASIC STATEMENT....":M4$H6:"AND STORE THE ADDRESS OF THE NEXT LINK"IM5$:6:"INTO THE LINKS AT $0801/$0802."KI M5$" ":M1$:6:39000:M1$" "xI"IN FACT, ONCE AT THE LO-BYTE OF THE"I( BPL LP1":"Y=0 ALREADY SO:"1. " ":"LOOP":"LOOP"<28 "LOOP":6:"":I16:CL$:n2B "NOTE THAT LDX #$03 CAN"2V "BE CHANGED TO ANYTHING FROM":"LDX #$01 TO LDX # INC $B1... WE NEED ONLY INC THE"0"HI-BYTE BY '1'!":6:"WE'LL CHANGE OUR PROGRAM TO:"A0"BEGIN LDA #$00 ":" STA $B0 "q0" LDA #$04 ":" STA $B1 "0" LDX #$03 ":"LP1 LDY #$00 "0"LP2  0!!":"STA $B1 ":6 "NOTE:SBC MEANS SUBTRACT WITH CARRY.".;@ "HOWEVER, WITH SBC YOU MUST HAVE":"CARRY=1 TO START WITH."5;T 6\;q "NOW LET'S LOOK AT HOW A BASIC ";r "NEW IS DONE. WE'LL PRETEND THE CODE IS";s "FRO #$0400 "-\" STA $B0 _$B0 NOW HAS #$0400".f" LDX #$03 ":"LP1 LDY #$00 "_.p"LP2 LDA ($B0),Y_ INDIRECT INDEXED":" EOR #$80 ".z" STA ($B0),Y_ INDIRECT INDEXED":" DEY "." BN CARRY=1. SO WE ADD THE CARRY"8 "TO ($B1) WITH LDA $B1 & ADC #$00"#9 "NOTE:ADC MEANS ADD WITH CARRY.":6[9 "":I18:CL$::""9 "OF COURSE THE CARRY MAY BE 1 WHEN"9 "THE ABOVE PIBYTES.":"INX=E8 IS ONE BYTE LONG","LDA #$05=AD 05 IS TWO BYTES"P,"LDA $1234,X=BD 34 12 IS THREE BYTES.":" ^^ ^^"x,"IN GENERAL, 2-BYTE ADDRESSES ARE","STORED IN MEMORY IN REVERSE ORDER:":"LO-BYTE THEN HE ADD '1' TO THE HI-BYTE":"WITH INC $B1.":67d "IF YOU WANT TO INCREMENT BY OTHER THAN"07n "$0001 OR $0100 (INC $B0 OR INC $B1)"^7x "THEN YOU NEED TO ADD THE INCREMENT."7} "SUPPOSE WE WANT TO ADD $1F:":"LDA $B0 _GET LO-BYTE"7 LOADED INTO 'A'.":6*D"INDIRECT MEANS WE GO TO A MEMORY LOC'N"0*N"TO GET THE ADDRESS OF THE BYTE TO BE"U*X"LOADED INTO THE ACCUMULATOR."*b"INDEXED MEANS WE ADD THE CONTENTS"*l"OF A 6510 REGISTER TO AN ADDRESS."*v"IF FF WILL ALWAYS BE TRUE!":64 "NOTE THAT INCREMENTING THE ADDRESS"5 "IN $B0/$B1 BY $0100 ONLY REQUIRES"@5 "INC $B1. IF YOU WANT TO INCREMENT"h5 "BY $0001 YOU CAN DO IT THIS WAY:"5 " ------- ":" INC $B1 "5 " BNE NEPT IN $2D/$2E,""BEFORE LDA ($B0),Y!!":6-R"BEGIN LDA "ADC #$1F_ADD #$1F TO LO-BYTE"7 "STA $B0 _PUT IT BACK":"LDA $B1 _GET HI-BYTE"48 "ADC #$00_ADD ZERO(?!)":"STA $B1 _PUT IT BACK"b8 "YOU SEE..ADDING #$1F MIGHT JUST CAUSE"8 "THE CONTENTS OF $B0 TO OVERFLOW WHICH"8 "CAUSESWE INDEX THEN INDIRECT IT'S" +"INDEXED INDIRECT..AS IN LDA ($0400,X)"7+"IF WE INDIRECT THEN INDEX IT'S"i+"INDIRECT INDEXED..AS IN LDA ($B0),Y":6+"6510 INSTRUCTIONS ARE STORED IN MEMORY"+"AS 1- OR 2- OR 3- HEX XT":" INC $B1 ":"NEXT ------- "5 "THIS ADDS '1' TO ($B0).IF IT DOESN'T"D6( "OVERFLOW FROM FF TO 00 WE CONTINUE":"WITH THE 'NEXT' INSTRUCTION."6< "IF IT DOES OVERFLOW TO 00":"THE BNE NEXT WILL NOT TAKE US TO"6P "'NEXT', AND W..TO START.":6= "., B5D7 91 2B STA ($2B),Y  _"> 14:"SINCE $2B CONTAINS THE",> "THE START OF BASIC,(USUALLY $0801)"T> "#$00 IS STORED IN ($2B)+Y.":6> 14:"THEN INY GETS READY TO STORE #$00 INTO"> "E US BACK TO 'LOOP'!":63 "":I16:CL$:4 "NOTE THAT ($B1) WILL NOT"G4 "OVERFLOW AFTER A NUMBER OF INC $B1"s4 "INSTR'NS. AFTER ALL,MEMORY ONLY GOES"4 "TO $FFFF, SO, UNLESS YOU GOOF"4 "($B1)<= "" BNE LOOP ":10I"NOTE:WE WILL NEVER STA IN $07FF"q "IN THE ABOVE PROGRAM...SO...":6" CPX #$400 ":10 "ALSO, WE CAN CPX #$N ONLY IF N LIES"*"IN THE RANGE $00 TO $ :" EOR #$80"!" STA M+Y":" Y=Y-1"<"" IF Y<>0 GOTO LP2 ":" M=M+$100":" X=X-1"\"" IFX<>0 GOTO LP1 ":6"""23)"_WON'T DO Y=0!""""23)"_WON'T DO X=0!!":6""";:I110:CL ":"BEGIN LDA #$20 _NOTE STATEMENT LABEL"Q" LDX #$00":"LOOP STA $0400,X _INDEXED ADDRESSING"|" ^ INX":" CHECK IF X=#$3FF"" IF NOT,GOTO 'LOOP'""WE HAVE COMPARE & BRANCH INSTRUCTIONS!" "WHAT WE NEED  EOR #$80 ":" STA $0400,X") " LDA $0500,X":" EOR #$80 "p " STA $0500,X":"ETC. ETC..UNTIL..":" STA $0700,X" " DEX ":" BNE LOOP ":6 "IT'S CLEAR THAT THIS WILL NOT DO IF"IF IT'S 1 THEN CHANGE IT TO 0."&"IF IT'S 0 THEN CHANGE IT TO 1."h"(THE MSB DETERMINES IF THE CHARACTER":"IS IN RVS-FIELD)!"("WE'LL:":"LDA $0400,X":"EOR #$80 ":"STA $0400,X"2"EOR IS AN EXCLUSIVE OR!":6 IFX>=0 GOTO LP1 ":6:"";$"WE WORK ON M+00 FIRST,THEN Y=Y-1"G$"WILL CHANGE Y=00 TO Y=FF(!) AND WE'LL"t$"CONTINUE WITH M+FF THEN M+FE..TO M+01"$"AND WE STOP THE Y-LOOP THERE!":"THE X-LOOP STARTS WITH X=N AND EACH"$LT IS NOT ZERO!":6:"INX ":"BNE LOOP"18"WE BRANCH TO LOOP IF THE RESULT OF"^B"INCREMENTING X IS NOT ZERO.":""L"DEC $1234":"BNE LOOP ":"HERE WE BRANCH TO LOOP IF"`"DECREMENTING $1234 IS NOT ZERO.":""j"NCHANGES TO FF..AND FF+1=00"&"FINALLY,MSB=1 SIGNIFIES A NEGATIVE NO.!";:6I&d"FOR MEMORY LOCATION $B0, WE USE $B0"&e"TO REFER TO THE ADDRESS,":"AND ($B0) TO REFER TO THE CONTENTS"&h"NOW LET'S LOOK AT ADDRESSING MODES:": STA $0600,X"" STA $0700,X":" DEX "N" BNE LOOP ":" ":6ySD$"";:T110:CL$::SD$"";"HOW CAN WE BNE WHEN WE DON'T DO ANY":"COMPARE?":6"YOU SEE, BNE REALLY C"MEMORY LOCATION 5.":"A=M(5+X)"20)"LDA $0005,X"("ABSOLUTE INDEXED. THE CONTENTS"J("OF LOC'N (5+X) ARE LOADED INTO 'A'."t("A=M(M(5+X))"20)"LDA ($0005,X)"("INDEXED INDIRECT. THE CONTENTS"("OF LOC'N (5+X) GIVE THE AFF."#4"SO WE CHANGE THE CODE TO:":6:"BEGIN LDA #$20 "SH" LDX #$00 ":"LOOP STA $0400,X"R" STA $0500,X":" STA $0600,X":" STA $0700,Xp" INX ":" CPX #$FF "z" BNE LOO$::"WE'LL CHANGE IT TO:"#" M=$0400":" X=N" "]#"LP1 Y=#$00 ":"LP2 LDA M+Y":" EOR #$80"#" STA M+Y":" Y=Y-1"#" IF Y<>0 GOTO LP2 ":" M=M+$100":" X=X-1"#"  ABOVE IS:":"COMPARE X TO #$3FF">"& BRANCH IF NOT EQUAL..TO 'LOOP'":6o"BEGIN LDA #$20 "" LDX #$00 ":"LOOP STA $0400,X"" ^ INX ":" CPX #$3FF " "WE WANT TO GO FROM $0400 TO $0500 TO")!"..TO $0N00,INSTEAD OF JUST TO $0700."s!"WE NEED A LOOP-WITHIN-A-LOOP":"FOR LARGE N...SOMETHING LIKE:"!" M=$0400":" X=N _N INSTEAD OF 3"!"LP1 Y=#$FF":"LP2 LDA M+Y"<"IF A CONTAINS 10110101 (AFTER LDA)"0F"THEN EOR #$80 DOES AN EXCLUSIVE-OR"UP"WITH 10000000 ($80 IN HEX)"Z"AND GIVES 00110101..VERY NICE!":"OUR PROGRAM MIGHT GO:"n"BEGIN LDX #$FF ":"LOOP LDA $0400,X"x""X=X-1 CHANGES X TO N-1,N-2,..2,1,0 THEN"$%"ONE MORE X=X-1 CHANGES X TO FF(!) WHICH"T%"IS NEGATIVE(!) AND WE STOP THE X-LOOP!"%"NOTE:THE 6510 REGISTERS CAN HOLD #'S"%"FROM $00 TO $FF.IF WE HAVE 00 AND"%"DECREMENT,IT OTE: CPX INVOLVES A SUBTRACTION"t"(TO CHECK FOR ZERO RESULT)"V~"BUT IT DOES NOT CHANGE ANY REGISTERS!":6"LET'S RVS THE SCREEN.":"THIS REQUIRES LOOKING AT EVERY SCREEN""MEMORY LOCATION AND CHECKING THE MSB." 6&w"BASIC"20)"ASSEMBLER":""20)"";'|"A=5"20)"LDA #$05":"IMMEDIATE MODE. THE ACCUMULATOR"v'"IS LOADED WITH THE # 5.":"A=M(5)"20)"LDA $05"'"ABSOLUTE ADDRESSING. 'A' IS":"LOADED WITH THE CONTENTS OF"'HECKS TO SEE""IF '0' IS THE RESULT OF AN ARITHMETIC"`"OPERATION..INCLUDING A COMPARE.":"IN THE PAIR OF INSTRUCTIONS:""CPX #$FF":"BNE LOOP":"WE SUBTRACT #$FF FROM THE""VALUE OF X AND BRANCH TO LOOP IF"$"THE RESUDDRESS OF"("THE BYTE TO BE LOADED INTO 'A'.":6)"A=M(M(5)+Y)"20)"LDA ($05),Y"M)"INDIRECT INDEXED. FIRST, THE CONTENTS"w)&"OF LOC'N 5 ARE EXTRACTED.THEN 'Y'")0"IS ADDED AND THE RESULT GIVES THE"):"ADDRESS OF THE BYTEP ":6SD$"";:T110:CL$::SD$"";>"OR, WE CAN SIMPLIFY THIS A LITTLE BY"k"COUNTING DOWN FROM X=$FF TO $00":6"BEGIN LDA #$20 "" LDX #$FF ":"LOOP STA $0400,X"" STA $0500,X":"  I#`gQ2Ԃ~UCp-pkZdp"Q/Ը N#nH V٭rDT-sVA?E*l HE¢_p+oGCI7$VBYUbVP$%oTDXT ~zDRV߹{p @MPVPU+$%oU('$'R<_"{y7d6dӑFJR)MkZֵkZֵkZֵkQt}AWUWhV+ٓѲ K'$p#oUQlRʆ)[>A*AOFT*집Qz2 SUWj*Xn}҂nHnH #n}N$"10101100":40130:10<,"DEX":"DECREMENT THE X-REGISTER BY 1."Y6N$"10101011":40130:10@"AND THERE'S INY AND DEY.":10JM$:N$"10110101":PP0:40160:ML$"$1234":PP20TSD$"INC $1234":"INCREMENTS MEMORY LOCATION $1=P!"Q?9Z3ї|'*'ÑFFHl@D*VV%)[aCFT*g*A6*FbШ~"h\ F]𞌨W CE!cD*VV%)O+."!R)NذhʅU짐Ģ 9cd-aHÐ'EQE ϡE]E+~P?YXk+%[7[,hʄv'FDŽCFTTHE 'MSB' DROPS INTO THE 'CARRY'."V"LSB=LEAST SIGNIFICANT BIT":"MSB=MOST SIGNIFICANT BIT":55577,0C$:C,49:N$"10111010":PP500:40098:10:PP20CC$:C,32:SD$"SEC":"SET THE CARRY BIT."CR$:C,49:10SD$"CLC":" O"+Y\P.U(H5 %eq2Bv('$䎵'A<؀`Bk7]5h$ֵE)k+S*>"xEq=$'r+OE~9ep@^*(G.*1>…] = aʄ4'#Zc `Y0E0Ex"9#j5 O!h,Q0>FERM S E R S G R O U P"D ""17)"HIT KEY";s !""16)"PRESENTS":I1100: """16)"PRESENTS":I1100: #ZZ$:ZZ$""33 $"":I1120:"";: &" THE C64 MACHINE LANGUAGNUMBER OF INTERNAL"9 2"'REGISTERS' WHICH HOLD 8-BIT BINARY"h <"NUMBERS(BYTES) FROM $00 TO $FF. I CALL" F"THEM 'A', 'X' AND 'Y'.":"YOU MAY LOAD THEM WITH NUMBERS" P"AND PERFORM ADDITION,SUBTRACTION,":"TESTS FOR ZERO, > , < , ETC."(A LDX LDY LSR NOP ORA PHA"Y _"PHP PLA PLP ROL ROR RTI SBC SEC SED" `"TXA STA STX STY TAX TAY TYA TSX TXA" a"..AND TXS!":6 d"LET'S GO THROUGH SOME OF THESE 6510""COMMANDS...":l"STA $0401 _FILLS SCREEN":"STA $0402 _MEMORY WITH #$20."l"--- ----- .----------------":"STA $07FF _HENCE CLEAR SCREEN""BUT WE CLEARLY NEED SOMETHING LIKE:":"LDA #$20""FOR X=0 TO #$3FF":"STA $0400+X":"NEXT X":6"OR:"TAX":"TRANSFER CONTENTS OF A TO X."041130:10c"TYA":"TRANSFER CONTENTS OF Y TO A."41410:10:"..AND THERE'S TXA AND TAY.""HERE ARE SOME MORE:":10"INX":"INCREMENT THE X-REGISTER BY 1.""9l)JR)JR)JR6.X 9aB!B!B!B!BgŜ9CƜŜCnE)kZֵkZֵkZֵj6T{%(F~0"Gܑm %G)Tp8"G-++"M(ӓ99(ӖA) p&$l)JR)JR)JR7uf'o /fwdLFl@?CO?g#dm) 234"^N$"10110110":40160:10Ih"DEC $1234":"DECREMENTS MEMORY LOCATION $1234"frN$"10110101":40160:10|"ASL":"ARITHMETIC SHIFT LEFT""ALL BITS OF THE A-REGISTER MOVE LEFT.""A '0' COMES INTO THE 'LSB' AND":" (B߳! PCQ!B!΂y },dX{yſ5G7t! Dc= {[C`2d\XUcU^z2To=Pp=ٲ3E˾ѕ a?ÓaȣP#V\$6Z@YXAhAFT*g*A[( šQKYE"e ʅ{0a0Q+.-0++-p2Te 9i"XU0 ac˥)c@Is9sH"o4G.oi"ѥo4\2ĀP00;).D؜9s9ΤT8?L,yt,}$ ؜9s9q Z7R(BZD jоK i7R,}<A01@I[B [ p (!G6” .%)dJX: ;^6hRΦhFy6 `LŢ &bbL­ .`.`4& "0:1OETI$,R3SC2NPAVLD)U(68HKM57'B9+4G!=#XF*WY;.-J %?Q &-k7 p\!u,Ua{K#p\. " %)JrGB!B_5q6¯ύ CL,Fy: f"$4zM /|0a(cI60r(^#: : =PH> R$馐s]f!v13 `m4t3ssBkFu&A)Jr A.ճdeBOFT*kj DFu+*+T8"27j6[9ݐ0!B!f*l-9B!B!B!Fy ІoxdR)N( /z ~DMҔ)JSVxEco2It܍)JR)eEOCIt܍)JR)NX /zFu&A)J?~"e2RFFŜ&/[7tgQSMDY !Ef*l'Am A]7#*  2070 R Ľ Lť-.8鯅 © ©e(e eũ% ũƅ-/1 ƅ.02ƽĝvLfͣͤ`LgŌ©(„b &b &b &b &bb, ťbibLŪ!Ƒ  ?mmmmmmmmm4Ht:B!dw /z]B!Mȣ 41 `GmmmmmmmmmΤ+)N%)Z?T)Z (AUʼnW`W)˵)ʄeBz2T ѕ H)JR !5q3j+)JtLDIa_^D %: Y\JV9FFFX(9 q 7B#FT*e: 9#V\%+~s2RnEC7IVRp`InbJP^' ht4=xq6P$$ag0i 6iMwM6)HFY:1 \ M Т^'t #L:!EOBAC{y( R0uZ IxavIpHMscΤ+)N%)Z`J_x(ijQs 4140Mxq|M@rz&&0$ie,ƘHg{ /z 6F]賰bp2j 66# !$م3 LI^ 4fY=}Ѐđ$مJ:/uT/u3xD׌IQs 41 /zE{T/tA@}đ)`0\aҠto y،Mȣc&32 S2 JVG*=PYYp# 2rEv@r()JR)JR)JR3gĹr9C99#`#P|[Q+(1xQswCbqDZ4ѷCb  Q+(Gagݐl8߱Fw{#o`}1FNH`Ex]CvCa3v`}9"@7D:&‹xKQ+{y:,&‹xKDI9#2$䎁hF߯0?\bH*B!B!B!Fu+) J04 #yOÏ |Vdžc:jt=]|W B!Fu+) J`|VHv!B!B!B3YHJVT9#*c$eaUP/̄!B#:o< eaUB!B!B#:mtIpc+ќFu&AYJjKag&-27&U?UC}~`%C.;^ćjd+e+:X%k)v v%]] vo:X ګz=g״2 >3Ι:b>à(UUUUUUUtH ej3hPB2 -Y=G0?!gt-$Zz,c}A01i hh3ypr9v1A$g8B8Pm6Z.*!AJR aia3XfL7sI!Zth!c$g8Btg7hE!B!G`$g8B!!!B4v0M .y2`.T]&eLʘ[RDZHn$`)R.u00;TTvRe)KoXJT˛,3yr }o[v|eo#||F yu|%no7o> n|F|z7^ u|>Ġ uݾno7o|F|KcPh ݾn7n|-u|yn7c>Ƞoܷ-rܷ-rܷ-rܷ-ϰ8~ HRH@H$/x_FqHz#I)@2D^JTI/(]T^ R7g.nLo47( 3 c`rBa23^Җ.nLp1҉ v+)J)ғ"T"T  ve˘y EwZXuw2%I#y>϶E|x!C,yP(d2 P}(?ϸ8Er!C<x#qp/x2  AC P(~q>8a,,ˁdAdtG^jB *B *pv; _$Ѳ4kéS?G Dl&1Hkԩҝ)c˥)RF}񦡂 k<,yt,D,:LpǗJRF3ƍ!A|0ic˫)RHFP"iL"iےӀ{pr0v\9K gFMjXfg8( 7_( 3 c ɜ aL0`M.:@`R3+3rǁl\tfrAʊ Ov?g@pÅQv@$@ o7zRBdR7e*t$x[rRpIPM E^j- ). #H"+ۈ7X :S?fL,yt,|_ϾzNadK>}PGbs8ePF&>|a``vS ])KvHNs8D- hn&fТ)κ,3ys q= p!eaNqĂ]P! m!Cа+}$HD- h ܁LCl-  tq1q$rD!hfDy`3h+(al$"@G$H"o4G.nB$QyH2E8@G&a^Bb5yq<}$rD!hfD\x!BQCа+hɴBRV&TTG>9"  (P,,,*YeYeYe (PBz8^MzdgeYeYeYg``4,,,(((((((((((&Gbk#;,,,,0 0 0~~,,,\"kٯLGGGGGEUUUUUUUUUUUUUUUUUUUFdMzd 8}f^aB!B!B!B!Bqy HO 1* $cy8^q<^)01\4++T7n7^o[vݾnc9@7o[y-uݾno7^u|yo#|u||n7^oכ7[wהovo[K|d |c@W7[ 8&.Ebs9s9s88?8Dv;4ďv;UUUUUFݎ9s88q#g=25UUUUUQ{!B!B!B!B!B& 8M4^^4^@ӆxs#gFs92?w|$5Dפg ~%>I^!B!?0~$HϤ$OGbs9s$/p!v*{ 14('/uS:cpuI c  $/lE)/B&ȞB4kéS2 6Drd&#I v::S,yt,CEzh@J3lI :"z9C]Nh$Li!ׇRJt.h${f^/Gi"`BeѪY d#I v::c(UdU!VB4kéS:RǗJRAEzh(hj ցH Ϥ^)&x :c8 #PT* LkTqT* C$⊊C&f4ΨU L&-ͣIov>?wx cI "e|Vk!J==3OS(h0k!J==2oS(h\ӥ"ݣԘP}H'Apr4W9|m`,3y\ܩa3nXP}L!c˥)cJ@I/Gm ~A!~ׇ}I v::RJ$5TNpIsM91Thjif8#$g hXC$&*5i! vB?\3 C0iЃMDPaL_2M1L",Cمa`p_B\TP ?3E6#K])J+JTv0H@3XXu1$z0A~- _0[e,  >`(ǗJR$9sH"o4EۉYμ,3y]\u?w@#݌3y$ e"imXk)cpHceYeYgD!~,! UUU hʐ/eF+ZXv0戭iR $F+ZX=7"D8 ֲ>`~#GfDVgLalFmXk)RHy5Ch0/š`]1D㋍1L[CKEDi Z.*.!F QJR a|gbHjA H"LiThă?x IR҈FF5B-$l|g #;4m\Px*Ҁ:ёAuG$h]rT%*e1NJ֡F$hd(VUBJS7)@3"Ao4G9,yt,|gƿ@=`PfچZ_-[D $[ >FLz5U!VBi!ׇRLXx Lz5U!VBYC]NK])K?a${f^/GF"|eFxuI Dl@$5T鍇6@fMb4kéS:RǗJRMCGac˫)RǗJRNs9_5-qP 8CPCeA3y9sF4 hE!B, HD- hWp,"A3y9 5Cl-At:ёq [ p#a$g=EA\@$QyHKBmR8@8Ihm4\TP](dl .LB4Ҕ IKBF(0CV(d昅H a 0 J"2eI&"ba /1g4?}zGfDr3yέibK])K@>aOv;UUUUUG@>a's8wv'9Ϊ  m4GNFu- Z7^ m,yt*``vkK]䥎ǗJRr>1ǗJRNqAR[WQTG$gD2f @J0[h08><3hdB戹afRǗJRyJvc˼OnhV@,yue,x 5VsGG,H^s~eK i|@>A$v'9sveNs͸@h$>4m ׋ހFD˥0?A@×.K`Lh:R7g.nTҔ($Bs}@Md! g0jBsGGޮs˷,|{aA$g8B!!Dΐ !B5R.0Ak*Qʓ[teL-ީ" b8${o4Ez l-4ZRlpHc hLM2ͣKe,P=eYeYB;,!BUUUC7"xD,4ZRlpHc hR-H,V68${o4Ed QQCQQXk)c^=7#tΨ\fѥֲ33MDHc h\2EKe*I4Ҕ$z QQ 5 - V;KG|j I[CP- _BR }Ƽ o4G. 3 6j8׍XEVEr6YeYu\UVo4G.$/xH$H"o4G.f!!հ/š`WDq #?$5RLdW #9u/ieYe `X:!հP 4F9vC$5RJto4˛XfLuT^bp= &[CKED.\ [ p&!z&$瓍5BBk1 Y@E@F,Bdl$/x$/xaFE] #: 6Pqhm!6[ q6>1a$g/qL*F!GI Z Z^b8e$Q6[U-hZHl.!#Xa$gDSCP- 8֔e 4m V>a$g5Cl-At:ёq [ p#K])KFH' 瓍5BBk1IFhdx @ E~3 @Km|l4h$Iu/,X,m|l/Fo4]7g.o˓+ G-^JT鎑3RYeY`X, _-[ ѣDia3nXPHkԥNK iRǗJRT9sug)a3nsw]J #B!_-[B˒ a ,yt*IZ2"Qka1 (QZ-(գ{HΌ[CKED8DH"Z( B!$gŰiA hih~>0$gD2@"Qka1 (QZ-(գ$Z./le(jm6Z.*.4G0I (hD9Vb/PZZQGLF{am -aPC7Ѓhf  H56am - ]$WV0vTn**;*X)bgA$z!BBAR(aհ!1fS7\)a3ng:Hp!qhm4\TB\7g+n1`?A$g8B!!!B4v0̈ XX* eJ5RkvTΝ$KFʕ"SEGk,VRfG9! !!_-[B ul3 hWPC7#h?$gRЉBɛ˛S) |I0AUTlٕ D #:(eQfDr.Icqe@tL<$Bl! aDPDb%p`3)D2m4\TLBR $Ln8߇ ZCم QТ-`A0I4hA- ! $^p!VHquk]~x"SMq);P!M)~`'mLdv9*%*Ŀ0BpnpnhM)h)<83`~Q?Vkd GfH U)TPJZ0 K#Dؙ0"4HqtU7"]Z_\x$^p )ͧN%?<]Z֎Ơs I'\8S }BCZh E𐈰ESҍy""kDڄ"2pMD2*~]@c2J{b !dsQ3 Jr !NBpJ.G^ ?!s)4%=ޜBd  `LŢ &bbL­ .`.`B "0:1EIST,2$ONDA3RLUFC56HPMW4V.B()+=Y'X8Q7GK;- Z J9# ?*/%! <P?4P @(ME`Ȼ`FPAAc?ly)JTV )$z!B!C' "  eEW_lZN`q`T }T` vev7ՁDdv((",i𐈰iO $8Hj IOlB҇%:(͔+:iŠQ.4ŽKA8F$v9ħRJuh`.  -)rcH!լZD6  "4|XhT"lEe\<=I)ա$ITPH!լTD.E am -ֲ?}A ae"imXk)c,,ΈBeYBRLhkYKGfD\J0[h0Xk)c  a(֨!Mn(,VGGfDyLQx -ͣKe*XJX@<G44e5a _X,yt*``v=@^RMz1P^ #F0A~- 4N Bӆ) ^j'Hoޖ1axh܎9Ns)8%hbtO<]ZPhǂIOlBv w=I)լ#Dؙ4*!J!VHquk]}ʏx,܏@^TI7*b}D@h"h!խu@4}GcPg</MԓIN XB}Gc"&8] *D,iUJU",iJZ.#DVk~DFNi" Tv9'|(B  slGY~s,XtӧN73S? ACs2bG]Z~G@Ki$Sp0T 6[aD  sy (PTBJ{s9b{AIc $$JzInҁ)7i(o!-: s!dnMHU%' ×YcuhBDR҄JuhDJ!($DRX_#{pR!%)Q~m !~N 8v9CX[psU*% b}l tL%=ޜu+psA!A("(*6 )iS(N r:e8v9P RBt0JQps)i&ВNB!gݷКSR0 cR1=x 4`D$`h2FxCDEZ!խuH; *DcMPRcM7pKEHd` %`v̛: & p0}n#Gx"b̑39s9s&d!B!B!B!B!a~L.\r˗.\r˗.\r˗.\r˗.\rCZ  cu0v9!8% J@_(sdXQ{KӒ$'HY7mr&ԴHH0cBtzs(<A਱-so!S$DEYUb,̪ut~C͚aF Bt.BiMKD(N*2? cC| "PCF.ktx7i2aeeV40s h?!'U!%:  2070 R Ľ Lť-.8鯅 © ©e(e eũ% ũƅ-/1 ƅ.02ƽĝvLfͣͤ`LgŌ©(„b &b &b &b &bb, ťbibLŪ!Ƒ WPBAseT",](Jp$V(NF.b v(,h-T seT",]vZa瘔IN a:BҁCJCX8] eA2!!խhx#DkGcB!BE T& G_wAC K9ZhB!8%!/Tu@PPD;)8%hM$^yB8a DC]O t/8M5 K#6UJB"Z LJ| B (PB (PB (PB (PB ?\8 >>!B!4hB!B#IckMAq#P. (PB (PB (PB (PB (P ,yue*HϻT\A"846<,u)JTҔ$z0h2L-e1LjsqxafS(!qQXk)cv0戭 ^ #8~bGcH%RJuhM)hxu?E#͒/8] W !լTv9SGR?Y#͛)kVtӅR\8iŋAbn@J9-iq) (EN!Ȓ$I,B'SykgH[|IΦ+b-IA p4v9,yLB(!լZۏH/(8pP~Њ]Z_c$v<n!@!/ I "2pMD _"ƚ0(v99%(bBc$>.T;H Z"D/YcMCv<_;ֵV@ `U(U*2* (~2ߠ _!@͒8mӿ0GPp ZXKBAoӕ4a74Du5JEp8ˈh<-]u0v9tPx(V"-<#DV*ǃnRnI"m =NV Azҗ!4a %8L <:;Ӑ=iKCZJ@5b&*΍̡Lbba1U ̡LUka1U# B#X(&*tuAMCELUka1Unѹ8TZֱVX~&AC#XZ*bG[ `2FkZXЎ fǂ ZPݥ (PBDIKCmFs6 Gw2 J/lN)_A)1 $$J;!>>0R!IN@`?`甜878mUХWJHSfͣ~RS%hM-< v9JhSyXZ:;~USd*Rb:;S2'-}NOrB$w#3Hor J{7_۔ۓh@>К% /=u HqtU]ZZP֎ǂ=VУB(5Us@e \ {c#!6VV+"&*C(ES$k["LUb(TLLaZZa1U#!LuLVEEdUX:"xze 2FŅkekUV4G_SL¦H++\+["&PHXlpՀp<=2LlplpV4#)6&d cb 27 #B慥4+Q ZeyH6&dDa|B,N4HqtUr V,( 1J\Қ7)_ @sN Bi ',ą!#c4‰)J_nhM)heP@sl&A'HzkXЎa!@ Nr*EyV4<‚pJ/JGc KM6ݼҚGv(*f:OӣyIʊm06)ZLm#l)~Chtv974Φ+b)6u% 4HqtU $8A+@hQLzlµ``<;R :'nhv,p- +dU,,#ܸv91)pJ,UN@0Cjw6<|t%:0-KCHRл!խu#nA} LZ#e!@!\B\Bb`~k "6\B!&*uP&PҦH@! B 0%:*+sj#Jc+\!OL!U!IN c0v6V,!OL!U!IN Q?`@lC!fB%&!:CԒZ # v6EħY IN$V!խhx?t@v66666666#DV؆7snj?@s'"$Y_G_(j(EXVP~BEDuPD c.Bp s)$,0ہ(uT)h؎Sc' % ZpBpJSx2$w<v9Ju :CJ c&I$Vԁ,!' Bt[*;*q!7RN%:CnlXG_ޕ .kGc Pġ%:0،u0 @;ߐ"a ",]d"0(N GS @;Sb 倊0y 1yޜ>?g ')$"/TXXF.ka__dE47 (?FlyFB Os!dI;yl>?`SN/i' !~Bȋiu8,E4ʩJE4KEG_0s~Bp_% %= JPF0sS%@At]N)B!8%^0skXc֔ G_;E:(zSb 2i,ܒaCs8%Aoӕ rPǭ)rvu~dv9ġIN?xGSN, <[9Z!%i?!%:0ma}@c: P$ N% <@cA+KlCԒZ 66#Dؙ3D%:hZ$8!g%:&ԴL,,#Dؙ0np 6l:&` l% $4)hDVݷ؎!Ba T'(H nwSBDI¦wx&o/Mb,̽5=)up 6zl!B)PF&I(mӿ0G] ap ZXı6RгnhM)hGT\apKrHN B"%Hz Մ$Dq) (IH Z!")DXFF.k \0x!B!Y7RN P RGZGc%8%hN CԵc֔}[B*#2x'))480`!G_%22G~Ǐ?z:XsU1yޜ w=I)աKChֺȯFS(ES^KLHr$J,$VҚD4Pdv0!Ct &aCԒZ:s#`!t!\ )J;Y7RN6&d FaP$U!Yc&GX N=T!Ph*PO*"Bia&I/ѻ"!ޔn{X{4GJ[ :ޥ!z:~,;h"Vi5MaM4ԟcjqaT{EXGW !^C޷h6}bUk h DB,! !4 4[G_?ڢm3  `LŢ &bbL­ .`.`G "ETO0RISANCH1LM:P3,2'6U.DYB$()+G4F5WV=8K!9 7?  #X*-<&ꁑ;^֜@>JZ/a0ֿ=Ct!U9)Rax:CkGcB!B` Nc1NCQuT C%iBb)hi [!R:td c"‰)J_zҗ!dJjZ&Bzr:虐sYQ7)(H9QP1cN*G_gC͚aR!gvߧ+BɰԴL2D cBJ{s9Y鰱AVzl,Px9b,M,hG_#! C H9bYyUX:2l $*!~BRJuhM)he e6l_A)1 P!8% $o-NB >C| (YNa (_@?u!(zSC%H (r$J: $$8ǂ!8% H9beU2Ƅ'r-I#l9ZJjZ&B b{ zl22?!% (mUns6RМh?!jN C$HP%l&dl c&x0^ ؀ Ai\h0ӝp +" T9l3D4|{`& '`D0OpI;\& Ǻ"jH !Gr@GD{x 24{opNHm4v;TQ$B:)O<@SO<~!UhhEyUm>ɤR)Jo0˗.\r="Nwֵ!$ecLE .e _"WM" Q.\v9ӂ.Bb9'm8#h 5S@^I!MĄ"pGT; ~ z ~ 5- }cD1J\Tzsݥu4ZP#}cB!\<) \!|G[H>!B$!8%pBb9aR4Hquk]@H& ǃnRnI"m =NVҚ1=x9  ?Wp:YK=F@l\ݎ-j<0^_‚\l2^}SLG;_? hEy9yZM:§;9a"Gv5Y /bv;k s"÷ ཎNpdHݍ@p,<'Pm,wcм2,;puNwBs"D,%k\<{ ^Ŏw@^(pH@"STrs؛h_ց8sB ZPM)hCݧ^ ؙ0XF.CZYs9̔D/YcMe (ii K9Z:? (Yx=6&d AcM]kDV8x3H@"STrsޛh_gh@A+Jz ~ 5-b{R4M#6666666#DEZ .kD;`!euP?(: v0)_5c;TÖBysgZ4`~@|**"iE-+Π//e~/پ@i(9# P`UA$ꦂTCy":G@*OU"YR6U(A),KkbIZ 1 CJlCAP!g)&#/`P'mOH U] TK&XzFGQ~ pcX, e%W/`St82HJB,!CՂPIV@hT* "v SǏ% nwFx"rm_3$Yyk4vu%ai(BXIBS=SYU D fM)&.!Y@I/*q_ =S_G!0=mPΏ`8nug!y1JysqJrPQpZ4҆LdSǷ@ (Xb<ΰ&Xhs/|bиDH-;tA amTwcUm!GE {/L2jO*HjBMI6hpLE_;WB:m=v !֙n֓f^ SC̔#(HzѦqb4;wʜFHмSIݍA }s$)J` JM* (W}TBx9d hv6NW%TvUIajPj+8Tlp(QրHI@*a 6y"Uip\bn}t J&FGQ E+E9qQA "Ѥ1<V(g γhT֒0ӜmwBpdiwcbNN 9kH  yNЩFa2!YiGb# 4SaQHiTUB6D4j=im 7d6DDg!!% $ HINvqWP\2Ӕ11]hP!68M|BAD?x"\`me(!Fe0$ еi&q4*S vy'}Ӕ't -,5}ɉ "xCm= H$$GxqM{tι`'u ͊PN7t"IGñR$ GE'`>J8nug(<)<ƒ`#\BRA =k~^ cC28X.iJx$|x spՎ@ n &EU 4ށ"!TDvX!`‰P"y$|<=&4'A=S_@E0,(' lG_01|'t2<"rQN4Z4՞M^D2i |HA(:@n^ !DLJ-V( xi@T+!։³M@1*!]8E(V䉯E]ި~_[L 9y,pa[$Δi@IQIBmU KS#pAV nB-(H{:Ay-K0p7:^K3d̦O$=kKYug588k!# QmikW0B!C&Mm!|X [~-!`iڰFҢP(zh6d't_;Y^hZ4=& 4BBm9n+(nx@58%PӔ&n,=KsPUq0q!rΡ֎,O2nBXMl>]m$ilwK0(zԲkHRFЊ n ՇgOTi۲3(w,=o:ѬQ-$JM&8@ڃ n=dbm9wJc$ ozN:)'nTI B`i1' q:_[pIA#wBdDvM'v5[Qn #nH3DcWw %Ê1uAqKbj9jB(yM( 4:.>^yM1,/HW0Jq/4Ѓ҇m|:(UBmI1=qCi&yؚ ADc@p|G_qk F"rŐPUt'uSx6't*<MZ4^<=t/8]$G0} Y.H "YćD$} )CxT X2.m 9u] <^aXophbrUfK@D=tt0o!gzBA($H*Qk5:-UnV$KmH$%|(CQ,ҔDE%UQS~X&xn@ BgT+PM#X/!Z1 du2cQ ]:D⅃]NP՜0I!M}qH~>l@vy8$XY}Oݸ .B-A&吾UIA Ҳ% PChzNG[*BѺ"r[C&8#;h K$[xd6Q cc=_0aG7:Hrs<‚ND$Cs$x?Zb 91*`4TMИ-DK?!hi r[sBXDrPa*nu "厶=}0@ E:-pJ i/00 8pÄ#渤X 2aE0I,e~!y Ky8 C18M *g|/2fS'Fʧ|g(0xF ķ `J&O9d{hCfP̦N@C8'[Cf!4!~!6BKrO09X,uU[!; r/4NZ=%8qF<B]ӕ"-`o}W0C1KNC_[NVpG_&BѦ)C{('H8E EH zbPV!:M~ 2ž]/MaA'"s:f\8XIx]]; /G_&ŀiO_!jX *g, `-cV!}TBxs 򎿴}q~!PnY ,UN^y7l ;w`A *fYWpߠ FN򄜅f] {+7Q F% <ha4-Ȏi9fƑ`'tδNWw_pE@"҇XV!8_0H(ݗQ8-ysRٹH+H${s($yI<(]nc2&\uHy%;Щw~Ӗ#]^E4m6 @#'8:HGNX!׶AzPK(8^U͓Vx:Z7gЁy݋PBC(ѧ o9v!du2<ﺅdwL!}Ƕج/;N1=Y?|hM;0=iyC bH'9G_H żMr%2PYOV39f{8q 7' GV ^ΰ&Xkwh?l=D;K0Y q .ލ`&P$l/8EZ#Ѧ YeX zBL8t 6np7(#>owJS3gc.AMBת?j˸@(o(V!6#KlWp#GH€_mB/HZ>F&$\P!|z%T|)qsD($vR)]7:E@SdJKh$dsB9̡4,E%p@Tɐh9du ,ЙByj$MqT$-@3f ' "vNTLjVCW;fEdS z+Eee}ϛvTumf<(ѥU0 /;" 5\8 i+8c"T#ܜ=@ e K$BE`V /YEq=GV0%_0^U;N0pS,qdZ4ҷ 2ʻංHc5М),_;*´J(aG_ߐ~`pÄ1D4 Q S!#mzgGd/c2ZpCӓ4 X! !}p18HX ش L4:= 4'uWQ >$H$pE5|ä*+7PhPQ-[hu 7N3 =#jc GE8^ !6Ie::?*r`ARIvlt~ypxbd6h8JGYDy =YS:<5)r>La ";nu 4[YEh~CtnPEd*g[p3pΝ҆Z'g Yr#Xp?x:iA'!}$v0IV2 (8(aak!S(`VL#+D6+g`ve (UYAN!6*ɘ`&XKJ}³HĦ:;Piʴ"&`YgdLa=;3 z`kGth+ rByc㘲Ę8_0Jd(qz7>ܦ3uv8BlU00'%2tV t d/V%+ %06\-^E*!:2nEjLGrdt%Eΰ9 muQ)fw搀(KQ ^wˋM9uA eYÇ8psph;I,8@YxEn%,_O&/diVey)|׸#h-1DmrHr ;Y z mfQϯH Iap8Q"sHɆ# 4=!žjy,p^b6*L4l) 3$ps 9Љ*s0OÃA*&LD %UKf{m Ug|f`H+d`D#9NŸ|Z>=iEwꇷep>_ODkVicρճ}TC`JKh= XdHU%_3't fe c2;~-Z GE8  ?o!.r*Nȼ[ƓH! dp16j&U"d($㈋#܁#(Q2Ĉ5|EA 9Ouo ^i=Έ{sk9a_qP. ʚ"V,`J(J+YeeQ2}e )O5! L9$~=55&YP2[9fc3m kqu34a[lCәXaFe\NfhT>V˜ 듺 J rbe~jaφ(xJ~ +yNa1UA={B'0pl?TGsy OJz)ta4r Hh a'"sL?lņ(s=7:NT:|gƔTFa((g_}YY)=alL*k>5 n #JR;8 20mTwc?#k~5j F؁ @=ed ],n3pv),ϟhTk>.ll.+!D4$^@Z4`KKp9ØYXhfK=iBEE|t.gK 85{lbD!4щu2:Ϗ/ˀ1w _Tb GЭUx'$9ΦJ͖(}?h ܣ ΰS#GҝYBS,fw,5HrÜdu0T-l,s 2OB xD*ɸU4D'ug })s.!~# *&`Hhޤة7XL"8娰8娰ĩ Ʃ`xL` 2070 R %/Ľ _L @E8e E} Ieee e%! tRE-/1.02ƽĝvSLfk Ĥ[D \&Ge2p<Щ|WƻSLjYbKAXw!@'(nug FhsVr=f…(!X [:犀 0 /&tPI1-BQ }ty7__4 BJH櫬Ѳup|[> ]YJ$cFyVC, &8: NEeWBCٳmŒY^; n,H/PUhlGX-ۋiW$Ćh<]cs7W3O?{pW@6 U'nu9sG$@HsDvs_tßR4'SUەVG=Y8YZ(^yX-UvWQ,%Phe3MUOU5VVgPWQME ]D 9UTߙ}aaK#V#=[8Q.Du?`+'IGTiBUI?b Bx{Bm)ViBG[êЫMPI5MHӱD~cPZ>Cs$9ixLJq*s^DrÜfͳ2CA?~duN"#F_1~Am$iJR1t'FNvۂHҔb \* GuU7$M~6XMyiB-(-UV&%3d8BgDq mN/VW;fr qVI 2]PF^­Oj;;(wĨXOl>L"aÝrʹb}TK&̭`]:OmO]*% (oJbYL>1`}|5.ʨ;L.BB-QC2@Gn^05;Cj t:);lˠ"emЩfH90=L_:@5ҢY7_>K P[4!\´^wy)ި레ARTVwrmXzy"J̣FӜ".Fʧ|g}|oByR&BN8+EB8$N8`8y (7L4_L ͲP z*+Y^ '[NBodA8;h=|̡̦61":,HTW5] N~!;yN:|pVѥUY!}-?섁*1S R "z U /L r1=RCY gBuWѧQO#UFUnV)hJ,^vCy(NUOE"k2!7TPU4M]X]]DUmFC~SDCSŴVC!h;E݃SA[d=47MCآC.ut,VzD2Cb!'{!Uul򸞜 un{Yy,P  `C_^y7d't zJ'9ep}h҄q@{"Oyx(=|0%%9Q-SBwJ]Z+TD{hpaFqyM>= dnǶmu}@C!X) x=,Qd/W0T7| CآMT Cղc3{a0CxXT-,·!b[s LmbGgȰyas,d#8TK^ 9"``)H,G(SrBdawcP T@$Lk& )‹JR{x 20ӝtbklG@h g; DP鲽% (@F 0Nv;0jN3 RM68!|BN;8mNBy Hӽj &`l`AW_WIXSTUFF2A6502GBASICJ GFX-13GFX-2  SOUND-17 SOUND-21 SPRITE-1= SPRITE-26502.BASg  p240790!!Ĺ<3 c-\.LJc\On  43 4  4i 4 l 4 4ee lL 4 4 4L\ 4L\ 4 4i 4  4i 4 (J Lg W(\n'ƒ`bg,[ ieŪ!Ƒ Qn`LŢ &bbL R4/.`u E"TASNORIHL0CMUPD1WF.:G)BY2$,ò(*V43K75=X-6'Й8Ջ9/>rt9 M4Z %3υpg W~p ׆T6,J )ax@|/|uA]N pv@شa硈y@4)a% ]S.AMX )_) v / %?<aq΁%+Pt.wM ,:l:Xte IGFsMc(DIP}IpR#OX a iCDӢi%Z,2܏#k""kb`Z{Bkj!Vr nP8Oʱ|BO9P16: !JEܧt*.z66.. )zGm*>w)0CW! /h"i8U]* 0.ׅ3 <"7J&U**Á,m .4q"D.F?&Qbg WE~EbUܬa Y"s ZZ0!}GdYDF9TS:Fա BfCJp~]w,fNC,@H/T&p)9& B>H_~KRf ?=NcZj{%[|_r5{aI2V3RqW ծRiT! Zځ}^!Hڽ0%_.EEfN9쿅T:BF3%\ܧh!rP`)R(Ù?K™4BMm^Buu}3U]UI'#yۨk#}/L"1ab8|h_zw Y'Xƾw(L!2b ~7~/!N, !dψJWr&Y3W/4:D:l6(dTaxA6].Z3Z)D2 I.xJ⻔shj6A FpRDžLI:1a9 y՜@*>:0;+?a^\ksUCi$2*^ f#??\|>=h$wބ0W W~=qXC u~%\+_L= 0HaS%`d!HGXp)JWr?Ń>?d oar31!S&d)z%Z|~@MB}RM8B=F)3r@'_B!sھFMc0Zr2C?cOa =zD(֕`"P`-1! B1v n_!U`H,0˹9rv0в'#y*MhU%u 䐅 \!%Hw*(PNE 5W+|v7栈vְB79@^QH J/k]bR z>B_ZAab@.b$>.BWi*w@ȯ8 BT1;d:8y+t +ʄ9mp!bJ=S9C-Ono8'oc(chhم HJq]mxB)2 hK`|;raDڜ~.{S L=p!L j7 :CW%_w.@!S( fuYP" ^Jܱxxת9z$#I(|Owo زy&CVv O!/ " g"'7]*S$D(g3I![Qf4R j 14/"ĔM8LE3\e]` WT;J'OaiE8JO.gc Q=b3VkOw(%_񋽘]X0}9 ;OP՜8*! `XD&r0.%p^ aXiUM/T"3H.*^#?4 ~]itɧ 0$Xa$i2]-{І/ _c __ZB}!iycVWP84;|g<&9sM`s?z+?o+$~* 0ϊXW43& B0a&H`:_京q~2LR;2ȆI~J%09s9s9j!B|[A]$8v9?cj0|A*^Ӎ*6B.z6GfS ɗphlf .8" Ll_grQ֌)xS9!B!1⬟BU$$`ɋ 0$e]S+nIq& jПc h$2jIѝZ?pB31D'NUكB=i؄'#n \A ƕZU>9WaU'HbxbR! S>w,GPW, Xy!5J+Ya,a5he :Clfe_w-QN6-3B2#Da18w+;arTBIKhO_ܩ 3GƅT&aʱ>Z95xR8I!" Q0~y3 B8'PAz08SN6*wܩh[)hR ZaxU_Vv0)x;H  ^S',fBLBCl{5BVHTS:F.–fxY,w \8 .@Ey'CꋄT.FrΧ84CܦS1FЦq5/.zdܶGd MOBxYh*/[:| ʠo Bbjz፡<^`bjbxe\ѕ0Q4R? 5iVB>QU4QB"@ ZU&Crէy !1jУ8hWw1pU!* $8Fsa13LB*^#%a3*=?cOX= Qx͡KX\%_ju$9!3@Bx`qkj&!8NOt=z^}A DD!!d'],Z`Cd¥T8X$\GiW nA$\A ΐ!0q:2PpM_̓Iq!Shh9'^k1QjH< x\GE(qHCF&_T&aniʿ8 ^_ m}&.:N~J|D5 CWE3\e[]PܵxRj5& 75D"Jxn># Cba\dPܲH!JZ,B-E"P\z$ǢDZxLx FZE@XICr1>0ʚ<!lIW ^Uذ }-c2܅q`$/*ST [QSȸE$NФ*) W,(MCW!HBF-m #&3T~_߰(nVv0(DaZ 5o.Xf d)W"jWJ"/0W0Q1Z G%8c1Jh}}d'ظٰj}!=lHA*Nܧ]! 0]Fd "q5?C(nQ.hcKbqYqat)zXؐܩz 2e=!”OoZtd!guhjУVc![W=\TqZ,75hZxjϹp]2c:!I6ABeꆶQ~} *^p! 31xO@!8PFboUZG a BBc LCUΈa{g1VZa>AV@I1BCПc "~Oτ|Cro Z"6XBJ_]ʒRz ERХUjz1,FQ RDžI=QEI^.#t~7ZGcaQoдv'. C!B l#$ FFcp uN9Q)N.@I7=G% f>-T Șj?a^@9}D* qpfۘ5h'^~8褔z0X;I+Cr*8s~1A]F`QDqF/T P)13`P,P ;QLmJHnT&P $Da#Fckkꗅg,L0q`eI&X0$`BK5T'E<%^L<`l!B26'^4U9! p^5= Ҵ 18E A&^V Epq1G`OdgB_i*2q eGZ;QgcڍeM! Rt/ 25B,75;a Lp! NCFSheeKljXPB{xGP!ItުYxbl2BQ@$;nP.#  "!  ,`Cr!a/8OZRa2e2Χ@^'V `I⢙=r0Cll<v!ccB!5GpUC#xK'ʱad7(%|BN= Rl>ΆPx Ѧx1fg3I%_} Mm^1x҃_a>1IHvU"+S%L!(nSsj6&EFD8Hkސܵ8eB}-I# -c­ZSDhnQ4N!#a`e$d¤,o2$ ȃcCEb6]B c̫P ahޱ6ᖽ\4Gc(Ec=f#K B><ƒ`HBA(nVv0\aaF2# ^xHx!GB~) #"D$`CV!vP* O#p ࡹOX3 Y!K KC.q ^ln@b- Ʈꅄ)hE.B!Jo#:&4,t  :  .G8 &'c_ ~?B<Υ ]v m?=y| 0п?1)|Ĉ4 ih 7+) 5IPRzhXM WJZ (U~Ҁ'kt B[Ebv<JfϰH) S RAXX|!.ٰP>gR&N$"cxBe)б:&.,yk@] uz.|Uq_9dT -"<b>dp22 6+yxs,QIieN#2ۄ8AWN=R.؂_W29pJ ѻ\|d$Y`|2LL20LcwB0 Mʂ!a xBʇ!L!Pc9(((%_Q7)i2BB5ԜmSE_W=mO#Fckk'6ohCNxr24zB}ႿIHv6ǽx՗і3T!eC3B=iƮeJk&ȚG/Nlӄ /xV.o  !CS NxA ^\/ciWqPSPM0=Zo W!rz'j6s CVz#Ӎ]EV"nVh{ȅ' _sC XQ7+gMhB/F'1.z2ѴMʐd~ !K՞ԑ̫Q]QL=BP^j( fu 0q7Q^uuu&! =hϥ)*_v434BR-^)@qڐ›N9j2}NZpסchO-h(*_xgw;cO^1Є >}եX &hFFM_2>k21'* WදC@$:Ba 8' m*ſM=^=/aH`Ά vE}aʣ8IL3[ %' gP5zz$Ht(6_Sʖ/T0.^ӦghB=i! !t 2H_<"^ZHȈB3T`9SrUw|!#y) gTlUBYjRAeC8ϨBeVUW}FNjsE3\r&$p!aHP8áp:&^褔z>e}s7pY"ACK02q`YM>!V#hC.pFb\@!VbkiSX$.ʿϰr!F/?hAU|N90p?b1r1RkF- pcTj N",_DsZ;M!!M0ʗj5* 17+!#n3ކQiQO5<\lE%F>d% mW WN|i|ŸK& [' W|unsxJJ J@Ђ 0@+q}fvOH0F-[X2  !NSbtLXXրR/w,+aސl48@K XAE\0+ ()B tpN@` W!+Ih4,J!ίD HW7 z %Ri :m h.6X cBǖ<‡F0@<WR#"BeKѲJ-n1!(Kk&'c_Ч<)H쀄R, 3@x)_)  %% &_hAQOغ@-oպc([ mP q4M% 6W`u՝ NC.pUd{>FFP3hRҭ SHFpԔ{Q&$}pUCr 9eT!9{U\!<`8X-#>:k bZj{! mbi¾[ _s*krbxBH#Bg3I!cBtHN1餃ua5o!JLUϊhȇHB$g}\HBήU?xp`ba3$($*N>z*A+"uIΝ/;tE3\miХ`HCG43hchB8:(mmb~#H֚va&3!.ʿ0b旪hi8\ ^'xbdJdFͥ3#MOBx) j=Wr%rP㢒Q􄯁RA i6ǾFO$8.HL-!i (xN 8J ,< RC-{ 1)}j*u` POz' m8bsal_B&a%4C1>0dOchc2WDܩs 1 aŁ2!q3{RU+C6CASq8 ) ^DZ3TSF! lUEőhOc mi1!IWM[ezJ4Bx͈  lA YR20A2cdLx`1uW6Dܠ.x!B+8Æ$MBTaeL 2Cf_BJe^"'# *C D$T8p;"nYboU 5Ed͂YyMʭ! W㳘UFmgw. fhC5G:7Xer+Ϻ7({x!%_K•U 3RJ=0z[x*mIGcZj}Bdmp&(.8 #G B h]Bʇ0Q* !HFABʺT}M)zիfs ZQ7,>Ԕz06@,rq2)FB!@Bmrb Ƣ9ClfgC _ӀZtd*"nTq^Դ^0Пc Ms8zz~dO)Љ-:N2F*7-N3B}"1'*DܵxeE,  !-mWPHNN* 1@m [UTRAp EW6 HĐi9WGܽ&,` N7 W2:멇V1=KͮU5Q2BӤ$o8jКѪ W!Z"nV3#x{W/4#t*ZnSQ}*) mR]'*PUqgc HS!iq7)c(MhO=o0aQL=Bqm,a3%' W⾹BnZ~*TS:G BaZt, I}Xd o e- JWܤ,  BA#g3I!rdBx?N1DE"PPCƴ kj!ˉXRF/OCt1L+dp>qM 8B`ԑۀ{d Ya0HebY9bnR&'E [WX-`! ^iW^CnWA)ztB2PО!yWnSamjf6QTWHk dj#T!TG0c O3! *ŅHB.z0!r2ש„nS, ̝*x Bί4B=^)p #rӎΩsх$z2c(C(R=@ }UgTڹ#MOBYU7xhsxd!iW{NHjХJ8F8chMD'Ca!iE8Пi8eV>R*^M8֥·Pz)%IW7-m &',fT8X$Bgcxlbq=jz{LƍܧBU ^B,IE3ZyZ=lJ|lFFqQhMhe1>0IUWb"Hvф 0&hchO(<%_{O7fC(-{ЫVkZd/Gohdi#+utrU !=@`jpv|$ ̟h ^+9EfY*R^x7lK2vP'N^xot=r;0 3b:- ^HO:LiРl}}rxBaL8 QWP_\c1r?OZ¨& @!S& Wϱ ;mI3ܡ R!@sM$A1%:5$B>cU'fMC@z'G HSGӷV:J@T BDs$Z1xWQ!E$FpжԜaHES*?MH 86>݅!*pN%. N, oGŁdzFϱx, """ IPLB&AаX?%_{ Cbφ Y"ec8 F]"\nA :xc!z2 g4n_{*nUa7`0XxBl!TFR'.Dr IX=RJ=jүݽHڒoRzR&# >D.%^"7.\iBeBg3I! MhUThHI7 $omb-ӌXC,g"UوӃg(U &V^)Ez7'^ܤr- 7 `ݤ-<:Le *>aEKќ) O:TS:F'Le_{;1'Z3t(BUG#rB CE`! Ԋ0XZa*}DnP 2YP<y lN6!OhaAuс$o8e V V`>7,xeezQDa>mW  W"7+;xXBUFК$g$0/@#5) r04qgCI 2t"`*kڰܰ4  00Q j2,`^J&0*d0,8ePLĆ:0T@`qb~a(aU#{k Z)G|@ īn4B}-<N!QL=BEKʿs=T&0E*B Hr9xu#ri8FvuxT1hM^Q*۰DnS6B:ʺ!p jhQ{Ȍh=blWixu*3HSRM'HC[C(>Uolnp2#)B}5zQ\-e~_DnPL"XSBU}( 80H "q,BDF !S&d*  *ab|o%_KXA ,H,YqA1RH] !G]yG` Vܢ#rA 0 %\HVuxԓI*}5 C%XF嶽MD16aL:HO:|HRJ?xdP˱!a~w.> $}ܬq'#y2g!|L  2070 R Ľ Lť-.8鯅 © ©e(e eũ% ũƅ-/1 ƅ.02ƽĝvLfͣͤ`LgŌ©(„b &b &b &b &bb, ťbibLŪ!Ƒ :kDtwTt#ɤ#NMQ膎w: ᙣffQ)HQTtֈɣDi d{Z"Gxh]"d tcQ-qHP'_Xt{4g {b`0pu+mŐs9 E+F+aN!<JRb(Zyuۤ"Tl<5w:"Z$K%2i`b\4 tމ7@!B!B!B!B)JV!pIxQ::1c1c1crW"@ ap  akp/ǎ` !9ك  ܦ㜈@9.)JkE\+!B!B2 z .Fpv[sc;2ha7(ˬv! (8=];Sb"PАԄoƜxɡ!bҐ(Ba{J7,=ăPh; ke4κo Yar]KAv+'*$ elu2"SBD܁vQ!#@g %BBiq(-)o%hAՠp (pFq (rD7JA؄D]7$JjDcv&Pܭ s!@g"ite.C%h]] 9kb#F(\9K)wJhsf1J`1)_X ,Ṫ:fٮ9j 0@Z#G"Φ,TeLq3z6rjb֎oW2 & aYEEÕr0c444'T0Wl| NibRͱ0$8B!B!B!B!:$;2-*51pghh]NQ`AjR%w1ladE۵R7i7jݤStݪ]USx7@o[xʛWoH ⤍Ht~"үtt6clf:\ZVm2; y"\Edx 2070 R Ľ Lť-.8鯅 © ©e(e eũ% ũƅ-/1 ƅ.02ƽĝvLfͣͤ`LgŌ©(„b &b &b &b &bb, ťbibLŪ!ƑF G@~˗.\r˗.\r˗.\r˗.\r˗.\p 5>>!B:D-̻D!B!B5k"MdAֹr˗.\r˗.\r˗.\r˗.\r˟K)X($%`<K)\Rr])J4 h2š % $B M(D>ަbBu4;; &ҍZIKVF8[A26P% $s9ՍT>g8q`7)H!n@o9x9+c8;m͔ w~M =@g 5 ҉p5٠z38ˀ!h84{>!F{iJ ZZs P=Т]) VЁ8ť;EFlz3Dkn * KvX,AFe(HА\J JC!(բ\r]JJR׈}ѠoiBZhZ[;"(oiCovQ?P=D7 ɠCf$%ڒJCJQ㝄IC;-(oiBєׄoџ$C{JX7v KO3 .7b=1*$t\*؍ Fq Tb҅Pܭ Dx`ZȣlQbr]K @2])J4 AАP"%4a#0M+ahot0FpBBD]C0aׇ\JSB띣1og]rj1؄7oiB u \AX>gBGGH:Pq K)wh.y7\}!̡6BB c q%A! &FR^P"%4c@=!Pnr҆(Drhdۚf0!v!ģx@=6AeYh,:BD9z_z3p2 :C ^-r]!9q,:F-dQ`r]JJR@=;ZR띶-C!-.ޥſϒ!\ZV$Bh;G BqDx2 " b-Ph8{Ѹ7(oiBe+C!B'`+3ޚfS5LuVF|c$.Ҕ}t+͚_wlalQ3Dk͚p=A{JiHZPlQ3D&CܦH=s9G&w5IB([LѝLF䤔jJII)&xH2])J4W5¾lWآf4xH=iM) C{J-&h҈b۔#}Ѹ9s )%$Q_ v+#_wl e\# b#_wlӅ_ DYn'$I$I$I$FTW#C\ Ū Rȿh B"XkARȾC~n'9{bЈ (PAB#"m.|lz3 -&ݡrX#ߋ=ې-҆(AE$M.޼!9az3BCSC&)&".ў  MRv/0zz4 (P.-(D".| bI@8-!ù@Սg%m )&*UE4F_'孈% 2҄LQ!7?DgMy .7i:ѝ 9P(8Dyp Bآg$@ˣFq6[BF8ҴlQ ŷ)ѿyќ!B!"CJ,#{>=1=[%F.Ҕ`ZȣF[^q(%jK)x@ɡ$M[;Hhuoz3.-(bА F;ru(PM"S[0JR4Z4Rhay]&Ro3DR7~AØ% L:&h !lk.+**F(ZeZ3!B9P%^Fg 5 !@C anVѡ4:3D!B҂H])9_Pz46Lw{$tD ! K7俤hqΒ:.ytlB8$M.KF([g6 ,,,,(k l@} l,,,,(k llaa@#Ppz3׈K}xr])JG b@(þJMRv/@@}ٳ\#B{fp6U?_lQ2͕pL7Ϗ~4B#6iz7CDGVGlCJ7oќަbHuJ҆qiZ p BآeY.-(D7~ AD3!\ZP7o=9P(ut L]AG`-&]]VɥĠ~ADʴf8 5v+E(5tk5J_ dJRk"7`,k5JW%R`Ѹ9s<9P(1 );MՂD>F$tE1UqjQU[eY\2JRخ9Z.Ri8k"2n#\iR.ҔSvTs9sUvy"hLjc~С'9Hq-ZARP!SV`ZȣBRK)a% iJRs:!B!C+e!أ*7B}CќM t7U }CØ% b B㐑4!ܠDJhFp BآdS5 KDo&CØ% b Lׁ`TLҶJp1(&+`TAQҹ0;fp?r+\tnlWP!P!P!P!P#iٳNGx< ލ;6kQ\W"ȮEs!B!B!B`Q"Tuŕv udVeDg9soq`?En9$I$I$I$I$HEvYn'9qYYQTQE(:ߚİEX;Nt`?فVEXv0#^-l\UJy\i)Yy`)%@VEXXh(F("ȣϴfp6 ͚ W ہ /h /0}Zv@An!Bо}ЮEGYq9s9Ƹp:jdlAWʲ 6cz W" Ap:jelel 3ȮE8W86Zp.efz W" x"n'9s8 EJ RAֳVZgpЮEr/؉b*PhB-Ppl͘e/Y51= 놅r+gZҾ͔\ G?ߣq9s9ƸJ R͘\D_A}E1BH EJ Z _?14WY4+_Ѹ\.  7:p\. % @em.&ҍdR+"@Xh( ؍ׯAdQp1;U:ٮ3θhWqjTEr+_ހhaDʴg^V'z]! o>p ߐ dm2!BdM.lQoo_uGUH"5JR|jjδ5S5g^f՝՝S5gUfL՝y*`Lf՝iVuL՝U1fZ?Lՙ՝S5gZf՝S5gUffꙫ:5_!_`y3Vu wb`C8(FThF#vTFqEyCXnȣ?`˗.\r,Xbŋ,T $I$I$bŋ,Xbŏ֊˗.\r/ލxnȰݕ,Xbŋ,Xq0&`L 0&iرbŋ,XbŋӧN:tӧN`a"vTFv,Xbŋ,Xb`L 0&`p l6,Xbŋ,X\ 7dQ; i ͕p57ޟql٧< s\.~o->5G(/,Xbŏ<<tE.B .B o -dQI$I$I$I$I$FGl79s9s9z?9FrI$F:dQ9$I$5"9s7lDYDYQ$I$H׮,0!B!B쨈EUEUy>,1"UȠ++X, *7ep1(EY\EWj*dPYQȬlp +YTjEWAr/@`?<lp 6j\=EE<z?jfp 6y\{"p=s9s9s=P[nC|\ܥ $9#!* G  () ^ -?%/Q;&J ZZhBxeUg6 l hhx?Ѐ`1uH!B!um֞' ' 'dlHxGH?aUŞ $O0- Mˋ(R;GWa#Gx8'=lV$'pk( cďG`YlV$45 ;;#o?XICt-`ډ: ߡJ0BW0m֞+~@bp=RjR(UXf*BN@TC*S(W CMЍA^ԡ CaW0D ZkJE6R*ԪpߡuVBJBC3B`Ca9D*#!thJߟ`}A^R=WR7¥QBR(LF߄jy #7StnfpЁ8Ё%hJU) ,LކΕl[6o,ZRG$!ҴV(`ڈ6bټ&j:!3igD,Rf+j'F1@4 % f3A R*E p=tۭ!J rW/!T: p&e!VArWqVHNvN'VpꚐt[HL5(z*UAJ %zHmD&t= 腊X!5wBV%z L'9#ͲL'D^(EdO$^06AvQy L'XGMHU[ʩRA+`2@rWp+]!jJNq١Hv9#r+&tjjX fD%o? 9+ŝa\Rm֐E7벫C|R*[HTYX+~'_ЀT٠!b T)434=bҴP`9+T]6UR?_0CJ;Ʀq)TwBe^ rWaE m֐EZƁrWtFf!Jh`%~8W  [t б눒B!Q8X61c@C:f,p&C~&U;9[ t9+u0 ET̩n0 JCC*S(W BfFÇ[%}AU度8^T5ؿbaH"%REL]K0n'9s.-.+a A iJR.aNs<9P(VpˋJvU瑭lQQUY+ 0H$S)J^q9s0J4qiD 5-*4~^]< TdJRJѸ9s7.Qe.WL< TdJRѸ9s BآgB!B!B!Bz79s9`-&hNP!r7`l bCT)\pBa0n'9s9s!B!B!B!Fᇣq9s9s0J4f'nҁ Ġ,lQQ1;?aARȮEo.Ҕl bf(Y~6؀Dͥ6!W𣰒I$I$I$:&D SvI$I#Ήu:B:JI$I %GFvۃHGB_1𣰒I$I$:҇HGBi^}($I$I$Ҽ:e? 32(Bŋ#S_`t>H ? 2070 R Ľ Lť-.8鯅 © ©e(e eũ% ũƅ-/1 ƅ.02ƽĝvLfͣͤ`LgŌ©(„b &b &b &b &bb, ťbibLŪ!Ƒ?Ҁr_$I$I$I$I$I$I$I$I$I'u!BuT^CՠѢ!Cz$T͊H!+|Ch%$I$I$I$I$I$I$I$I$I$kN1  ÄdxF5M(OrFѬ ;;'o ' 'dUqZ{!B!B!B!BY ."JoߡT=tۭ%oB rW2JΈX0^BRVX."JFfUw\)«+HX8%]6HD"+}Ac%R«-`ډ:m% Em֐ߡb) (U4tr2 䯝vS/@f3_@bp=RjR.29+$<} /!ЭYeV%}rL;9 #fsZp> Ja3XoЦ& 3l R= e+,B̳Rp%o A_Ff*=tۭ!Uu p%~iPHW B̳REAbe&%zPvCfasBV9+Юu=WRA+l9+(hazfYB蕾"JPf,Rf R1J߉&#h¹Bp4noV+~rWBgJ jǮ"Kj!3u zqO CFfu%k2@rW3A :4) Hu>>^Qn*jP+~A8JN1͹;wSR!#Wf60svHTYkF1AJ@ʕzVT*Z rWq4fmFۺy 4)I˛F~2YiPMCf!iaUԆW3SA_Ffu:t,Pz 7XTSf/= CMӄrWaԤzZB!C1BRVt9+aA+L|Tá_ !`(=XuvhR\죽|UJf>>AB!B;@i!Geoc%qckN1 clm =tۭ!6R7Z`t9+:# B\<GCæh!1@&Ry %o@\**3\)4=tۭ ͹;wSR!#Wf60svHTY[P49.8Чc7"fl“R« %nhr]OQܞ5B!aS z%o@亝١N.vvvSR)S2=tۭ!B hrW¨u"C~bp=RjR)8PV0ԅQy UXTY`L.H%o@^RjB 4z*a6lp@%}ULP;;g 0rWM`zMOR*3*H%o50rW.*d6RYCFBUXP] &-XIB꫺ER co@6 F1 LvB+!v}1C1BRV\"9+Ԥ[6S,\) dz# ʂ^\$L4 ]6.Ϸ]/@ USoҷޜ>`<}78BUXX= x!B!B!B!B'9+fmjbYeE6R4 닞͊W PԨoդ%l0rW+jV1%~ CEd];0+}?`WbBB/!U5!35VL TPCe MHn(T3!* Z@cJ*Xl*f/5+AprWFfd# F0!B! [`x9.HVw]$+(!B!BuvhR\+$jФ8لW'gI[<QREaXB!B!B#a#-`ډ:m'Ã73Aes *␮uJVu + HzԤVCqJ~ۑLv}1zhW0VpPHaWs3 HhYgfjV~iPa\¸Rof0 jǮ"J-Ԥ*aU kN1߃61RH)XUk&ԨoդBËaWo9+C1R34)UL!]6OY+tI,!_BfYu5,BEv}(o2܋rWФ8=!WCm+LJ!^oкu"CqBEv}(Qoߗ눒!'Dj'F1K LCeQVm֐FUnB[prW꨼臮u"ꬲ HM+L%zHvPQBDlD*$DjV ̇%~ CFԱ FV!_Bff b0ԇC~%k%q!P!BjXL7t&UBV?!u:# B"qԱ =tۭ!Br]O$avhS"!5,BU3*CM$9.a3Bs #zB!B!+3iKHHOnViB!B!B8亜DavhR\+$jФ8لW'gHB! [SEIaB!B/{9f;dBR"=WR2J!-`FR{>HiGrx!B!aS zwlaKB. C`\D# SB!-`F6/{tNf!0.Qdb !Cf!BmHrZ{ߩ](djjXB"&eAHB%"6E@rZ{O$avhSSR)S2 DArZ{{8Ф8مHWf!(;:QB#od%{{GavhR\"4).varvt!BZ؍#oh%{{FREaXB!B!B!B`F HV=qPم) KX6qmDc~'|F6̈́]AXyUja3,ԡ KX61 }iPم&"C~j#꠷✨9*, MHD(C~j#꠴K J(l“R{ 7KX61 iˠJjX~T&RiA-`ڈ:-&}h](*"BZuPZag١Hqr BB) 8p %QUK8lª™z8p czgh&–!VYC1H$ A mDcT8 J,Ff=Z]fh{2 cg= )[<rW~T~Jʢ=tۭ!:/:!ix _m֐DCˢ)S2!s2 %jCpPЧ;;'sDCY57;@QsDx>-ԧA+P|_49+6UaVYC=tۭ=[>/4)餵c% 1c9kN1 co% {0THaWԭ/JN1' [a?^Rm֐E 4B!8d_aT2C jyBФ*5“Jy:9+ت ~S0)Z |p_B\VN=nB(oКH%QА*H*2H{ e0BԡO!T3%z4Cљ +!i+D0 &Joۙ$Uz ʢ`0s3 <߮ʮny+9J) eHW0v}1@h&u"JpQttB. y%k>^!\) dz;=d)UL!+S`fa aC=W MI[9J7PHv13*Cv}1zVϨ0rWљ iZm` RjCe!ua\7H.Ϸ](T [9J. yFfUw Z s pj#t<vB= 2 jV0rWFfd# F0!B! [O%ԉ HW"鰯!B@Xx9. CEd];0+u$V!B!B!J^R(fhzZCfh23Y+o^TB)&tbAJ1zV7%}HQy tMN7eyMp>?|=q^SD4ET^CFfu"Ce!ye+P$١Hqr{Y)[$ MfP!¸UY[$iPټBR,gBMAV89+ȸ.Ϸ]/Cm v2 jǮ"JkA-`ډ:mprRQf١Hqr{YGaye hJ¸RV89+ȸ.Ϸ](gD=tۭ!:CqT!6K\¸RU! ty \Ëi+]Y"MKp]@8rWФ8لE"55,BEv}(gD"D>!_Bw<\|j!_``BdRB!B!B!Bڤ9.Ff܄k]$e#QREa+q$9.8Чc7(!B!B mu@\DPAb 薰mD~@ԇ%tAtª4fhf*CMӇ(8썿hCTC (upFD(QyG kF1HrR_836#\MJ]$e#QREe1HrZs. v9#r6L!5,B!« fwi]28]rFL!5,B!DaUԄ̳RKX;cl=tۭ=-`#o%{~a3Bs #B0!B!-`н{фVw]#!XD!B!B!BF6^B/{{= HwHJ$;B!B!-`DoL%{{OnDD3n-kH 74¦}xv6И@%{{q١Hqs":4).vaaBv" *t.ϠE cgsB!BmDcT.9*8H6 !B! kF1AiXu"!Bj#꠷ڜrV3!i!BmDcT?|gCMB!KX61 ~%\*H+!BmDcT;J@gD*foR) aWp=tۭ=+L?Ja  `눒:rF] coj#`l+л*Cf+!i Rlpo!:5!B!B!B%oh`亜c rvHw$uvhSl 7dEIr?r`亜 VR8B!B!B!+e0EL:5X1gHX2N1F1h^{\¦EP7Xp?`䯲4) p ;KB}Pn*Kؤ^bԭ%!];E!B!B!BmDcdq,߿`ugdmJ@مUS3AXW MJ];svH%o9+J*+^zZY b&Rk!C!vS/Cf ZG\*C:!3ilu0pPoBRVZ77 g Έ]FfUwJgG `rZ{KX61'{9sgqc1? ( !@B (BAA B%QLKB{+ !3in(W JL5(C:!b37Hlu0z*%o ?RjBq6N"0R co KB{{qg1cqgV>A! !Buo2%F19s9sc>΁-p@s819sc~GP67~#H!s19scoOº~'9s9391m0x*OºA@ s8s9qci`P67~J9s9s1cq']p[~'9s9s1mx(? A=K'< ;ܖwM,Y<4id饝K#gt饑}idߺSwM,lvwM,rY=,Yܑ"饝4v>Yܞ->A1>6O%Tu 4"NlL5(Bt[("D5!im<chԊ]N@X9+*f/5+T8@,љ!njU$jЦ&#svHTY[` %~fmFۺy 4)I.n++p%`֌͹;wSR!#Wf60svHTY[Y`T^C &FLE&DBѢR*k%zH_BH܍#+Y*r]]rFLV&X9. v9#r"ɑ)͊W PԨoդ kF1 2uQy HH<݊E-J?0r]B١Hqsv!B!B! kF1GrZ@(REE+!v)+~ \uBf!ghB!B!BmDcdq,h%{),&T!\) Hũ['&KB4).w!B!B!KX618:VMHwM,*x(7S 7&n* t) ͸J?䯝B`zEUeRQF%ys8TFqg B1gV9`rWCߔԭd9sgqc1?6m ?8 s8381c[~y^R(W CFa6vC:!vS/Cfh2)[~^  BA!BB``ڈ6BJ`rWqK $IaQ$#$ cj % _*VbPX.KX61)ZX6m{x  cKB1c1c1c"8J´(c1c1c1n(LUMA-`ڈ:N65rZ!1c9s1cot ğum"j%F1g9s91cAOºȏ rPcs9s1 ğ9s91cp Oº8%Ns9s91c~cq']pZ%#9s9s1mp OºF9(B19s9scZOºڠQ#s9s91mx@IW\ rPcs9s91K? ƁJcs9s91cq']p[?Bcs9sIĒX[ln$+ } $IaQ'tI,*$d߇0*@67~P`e $rIaQ'tI,*$rI%j`Xln$+ XBIIaQ$DI%D$ ğuh!Q$$I$DXTIܞ$רOºj>BwM$¢II,*$H% ln$+ }G9(BN餒XTI9I%DI$T}cq']pZI$~cq']p[?BI=$¢N餒XTIܑK t@67~C!Q$DI%DI$I%DI,-vIW\CrPDI$J'$O$ߕa ğuo0JI#$Iw05PqOHkdx~isF˗@YwM?N0"xԏ$5j#`Alaj#Ǯ"JMN3% KX6q/9h^4) (O;;#b(gF;m֞HmHܑG;$k߳#'F;Ѭ$`",qJ;ƶ7>Y@n߸>dq,8G#Y@Q# ~@P["F1 =L5ʙ\k2D ?䠷̀:%{{{h&*f** J`[I@ 5\~J_`&:UqŪ${QMpoh? 5˫qcz7t][B!BIrX(oZ-~s