earleh@dartvax.UUCP (Earle R. Horton) (11/10/87)
[Daisy 1.0 Generic Printer Driver] This is Daisy v 1.0, a generic, text only printer driver for use with the Macintosh and most serial printers. This version fixes a bug in either the beta-test version or in Microsoft Word which did not allow Word to print with it. Also, some of the code has been cleaned up so that there is less chance of incompatibility with older versions of the System file. System 4.1 or newer should still be used for best results, however, and Chooser 3.1 (or maybe 3.0) is required. If you distribute copies of Daisy, please include the following text file, or a word processor file with the same informational content. --- Daisy: Version 1.0. Device Independent Printing, at last. This is a standard Macintosh Printer Driver, as far as I can tell from the limited documentation supplied by Apple. It prints in draft mode, at ten different baud rates, with options for CTS or XOn/XOff flow control. Strings which control printer action are set by a dialog box which is accessed from the Chooser desk accessory. It is essential to have the Chooser in order to set the baud rate and other parameters. Version 3.1 (perhaps 3.0) or newer of the Chooser should be used. As sent, this Printer Driver has settings that are compatible with a Tandy DMP-110 in draft mode, elite pitch, 1200 baud, phone port, CTS flow control. These can be changed through the Chooser interface. Also available are special strings to initialize the printer, end a file, or begin a page. Control characters are denoted thusly in the Chooser dialog: control-M = '^M', escape = '^[', and so forth. Daisy v 1.0 works with: Microsoft Word 1.05, 3.01 VersaTerm PRO 2.00 WriteNow 1.00 MacWrite 4.5, 4.6 MockWrite 4.3 Finder 5.5 System 4.1 MacTerminal 2.2 A bunch of printers. Any properly written Macintosh application (hopefully). All Macintosh computers (maybe). Daisy does not work with: Programs that send ImageWriter escape codes directly to the Printer. I suggest that if you find one of these programs, and that if you paid for that shabby excuse for a Macintosh application, then you should write to the manufacturer expressing your dissatisfaction with the sleazy trick they have played. Daisy does not: Provide the same left margin for low-level printer calls as for the high-level printing code. The is my oversight, sorry. Most people won't even notice this, but those who do may be moderately annoyed. Because the driver is written to work with a large variety of printers, there are some limitations when compared to device-specific drivers such as ImageWriter and LaserWriter. It assumes that all text is mono-spaced and of the same height, and communicates this information to QuickDraw and the Font Manager. For this reason, best results are obtained from word processors when the text on the screen is in Monaco 9, 11 pixels high, 6 lines per inch. Perhaps other mono-spaced fonts will give acceptable results. Attempts to print justified text may not produce the expected results. Daisy tells the application that a page is 8 1/2" wide by 11" high, and that there are 65 lines out of 66 that it will print on the page. The missing line is to allow for the edge of the paper. Daisy does not impose left or right margins, allowing the word processor to handle this. In the "Page Setup..." dialog there are options for 10, 12, or 15 characters per inch horizontally, and Daisy will give the application a different "resolution" for each choice. Daisy can print 132 characters on a line, and 66 lines on a page. This is the final version of Daisy that I intend to distribute to USENET, or to give away. I have submitted an article to MacTutor magazine, with source code, describing how I wrote Daisy. If you want the source code or more features, wait for the MacTutor article. I have satisfied myself that Daisy fulfills my goal in writing it: It allows me to make use of non-Apple printers with my Macintosh and with properly written word processors. A side benefit, to you, is that it may work with your Macintosh. I am a graduate student at present, and can afford neither the time nor the money required to test this with all configurations of Macintosh computers. If the documentation in Inside Macintosh is correct, and if your word processor follows this documentation, then it will work for you. Otherwise, maybe not. I do not want bug reports about Daisy v 1.0. Your sole remedy in case of incompatibility with your Macintosh or word processor or future operating systems is to get a copy of the MacTutor article (possibly November or December, 1987) and fix it yourself. I may answer requests for the source code on disk, but be prepared to pay... -- ********************************************************************* *Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755 * ********************************************************************* --- (This file must be converted with BinHex 4.0) :"84KDA0j!&"549*%BA0C)!#3"cL8!pB!N!3"!*!$0J`!!$8-!!!#L!1&"MS!!!) !N!-)!!!%!!!''3&6!h0bBfPdE'9N!*!$"84KDA0j!J#3&3%[!*!NRBeHm3#3"MK l!*!''!#3"!`!N!T)!!!-!!`#2`!-"F%!$!#3B!%!N!9rrrrq3!!!!N!!!!*!!$J #3!"&JN!"aN*!!N4#3!3S3N!#(i*!!rj#3!3p3N!#A)*!!C4#3!#53N!!Ni*!1() #3$a-!N!FJ!*!!i!#3!(!!N!#m!*!"(!#3!K`!N!)!!*$rm!#3J"!!N(rJ!*!J3! #3%)!!Rrrrri!N!KrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrj rrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrj rrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrri!N!F(8&*&8J#3"J` ,9Q9bFfP[EL!a,M!!N!-F4'&c@3#3!`&*3diM!*!&J%C548B!N!@!!*!$$`!&!Pj 0"&jEAPF!!Pj-!*!%#!!"!!)!N!F("P0PG(9`b3#3!aB98f9bD@&X)&"bD@jdCA) J4(*TGQ9b!*!$6!!#!*!&(J!m!#i!M!3%4'pZC3#3"4i!S!!Z!2!%"&0dEh!!N!8 )!!J!'!%N#"K%B@PcH6SJ5@jcCA*d)%jPH(3J8fKPCA3!N!-B!$)!&!#)!Hd!!3# 3"`(J!30+Ef)!N!-Z!#J!8!%S!DJ!!3#3#2!3'90PFQPKE#"3Eh*d)%0[EQCTCh9 bBA4TEfi!N!-B!"m!&!"i!HJ!!3#3"`(J!!06G'`!N!-H!$!!-`"N!5`!!Irr!*! 'hrm*6Q9iG#"3B@GP!!!(4Nlk!""1qJ(k6[S#0%lk!RC1G8j@rq`[#eQ25(P34%9 '3QHTS#"I,8Mrp#"Zrr5J+8Ki+Xa1ZJ@5@)mY32ri5S"Q$(#8-F!*4(!!B!!"RNU Z!!aQ0%Ki!,*1ZJ9Z@)mY32rm5S"Q&LmZrrK1ZJ9d@)p`P$(!#84`!'!!!A!JE[r mF!%43!#`B!iYEJ!-rr`JE[rm3LJ!X%kk"AiQ3%(V!(`Y52rX)'i!%#"33qX$f(! G)YK4b2rm)'lrr#&ZrrJ!V%)V""`[,[rmU'mJE[rm5'J!E+MU3IS$4#*Zrr`M5!" X3IS$pL*Zrr`M5!#8)'lrr%(S!'`LE[rm)dJ!D#"Zrr``U`2D)'lrr%(S!""$k`2 J)0NJf5"Zrra#D!!1)'lrr%*S!!`JE[rm3QJ!#L"Zrra#D!!),blrr+Kc2bX$jMm V!q5SGM!V!qT%3$)V!qK%36m!2`'SGcmV!pUSFLmZrrK1ZJ3@@)mJE[rXF!Fa3!! D)'lrl#&m!!%!N!-F)'lrl+!%F!%h3!435UX%(QB)3IS%Z#G)""jCMdKj8&*&3cm m!!'TS#"I,8Mrm%UZrr"R*#mZrr#TSL"Zrr!J8%2V!pK`(5$C8FMrr#mZrr#TULm Zrr#TSc!V!qb3!'X$k%M!JI`!#cG!!pBJ,[rm*Pp1AL"I6qm!$#k!6Y"0@9"56e" &6Nj@rrJJEJ!),bJ!V%kk!p*BMbmZ!!LSI5"Z!!K++!#`C`S[,J!)6VS$Z&L26Pi JAdr[!!41d%eC8&*$6%p66PB!!#m,6VS$d#C!5Ui!#'F-)'i!#%2V!q!Jf5$C,bi !$+Kc)'i!$#mS!+a1ZJ--@)mQAdjH)&p2l`!)6Y"0@9"56e"&6Nj@rra)j`-`6VS $L#C!3HX!I#e)rr``+`43X'X%&Q`)8QX%8'!!!9S`+`438QX%8,"V""K[3$(m!)! *4(!!%#X#LNT!C`!"1L"Zrra`"6&!!"T"k`+,)Qlrr#0)!"a`!"!V!SSJE[rm)8! !)#"ZrrbJ"'!!!3a++`2hCJT1ZJ115N"R!!$f)'i!##4S!+a`!"!V!N*+3'FU)'l rr(!&-8!!'N(V!N-LE[rm)dJ!((!!%#X#3L"Zrr`K3!!J)'lrr+!%IJ"J!!#Q)'X %(Nk3!!ai!)!*4'F!!+S`"m(m!+E3LL"!$&$rrfC12$`!T$!(`I`!TY#+8dB`4Y# ))%"`!"!S!!)-3!!JCq454L"Zrra`"6&!!"S`"m(m!+E3LP5!)'lrr#&!!"``4L* Zrr`M5!!J)'lrr+!%)'lrr(!(-8!!'M!V!pC63,j!E!iJE[rm)A`!!`#3!aaJ$#" Zrr`KI!!#!*!$(#"ZrrbJ"&*(-#X$eT!!4dT!CJ$r8Q!'-I`!J!P%60m-`%jH)&p 2l`!%6Y"0@9"53da28dj@rqj)E[riU(3JE[ri$&$p!@B)F!Fp32rbB"JJE[ri$&$ p!fB)F!8p32rbB!C`"Me!rr)JE[ri,@J!V2rd5'lrr+LD5'lrr+K`-'lrrL!)JHl rmMe!rr!`E[rm)!L"r!!,28$rlM!Zrql"r!#Qd+lrp$"Zrr$3L$mZ!"48J#m!,bi !%%kk!9C2l`!+-#lrlX(m!+E3V[rd)%!`[2rr-#lrmX(Z!"3r!%*RU*41AL"I6qm !$Nl369P69%4849K19[rm5'lrr+Kd)'lrr!a3r3&Q$#"Z!!K`"c&!!!4J)#"Zrr` -82d$CJ`JEJ!)F!8a3!!%B!SJEJ!)F!Ba3!!%)'i!#(!*-)!JEJ!)F!)a3!!#)'i !#%*S!!BJEJ!-F!%`J#"Z!"!`J#"Z!!a`"M&!!!)JEJ!))Qi!%$0S!!3!!L"Z!!J `+!!%`Hi!'%jH)&p2l`!52S"1d%eC8e4%9%9B6PErqR"#28$rrL"Z!!J`[!!!)'i !#&5),8MrqL"ZrrS`2!!S)M`JN!A"8FMrr&0Zrrj+E[rqC`S'VJ#3!kB!#'$'6Pj 1G8eC3da&39*36PB!!#!Z!!LK(L!)6Pj1G8&-6%p$394&6PB!!#"Z!!LJ(djH6R9 '8N9&)*!%6PB!!#"Z!!JLEJ!-3S!`,J!3S#j1ANje3N028&NJN!019[ri-$`!!Z@ !)(J"(0$!,9$rr#"Zrr`J8#eS!"6rq#"ZrrJJ%%jH6R9%8PC58e428Nj@rqj9Mcm m!!K)E[r`UA!3(dS!CbBJ2!#3!rr!V[rb9Bm[!+KV-"m-3!!ZCJi),J!!rrjR"M( m!)!*4%jH6R9$5%9$5ddj@rqKCMcmmhrp#TdKirrqTI#"I,8Mrr,$m!!"Q"R! !B!!!EUK3,blrr$mm!!&)E[rd5'lrm%KZrqLTM8KZrrLSG#mZrrbSFcmm!!-r2!! $U*Y)E[rS2ccrr$mmrrbSU8KZrqJr2!!32c`!%+L`3UG)E[rfUC%[,[rmUB-[,[r iU(--EJ!#rrCQ"(!!B!*`!8jH6R9A38P86N9B9)!!"di!!!%%XJ"@c[rbCJS%KJ! "!!"UjR!!N!-2H%lk!#"1qJ#-6[S!X%lk!041qJ'f6[S$&%lk!ra1qJ4`6R919[r m@Bp)H9"5480#CkQJ)&mY52rm5Ulrr'B-,bi!#%kk#qKBMf!f,blrr+QL9Bm[,[r m6VS$[K!I5J"R$#mZrrbTULmZrrbTX#"Z!!JLE[rm)P%J8(!G)0P4b2rm6PiJAdr [!!41d%eC8&**6P4%6PB!!&@2,bi!#%Kk!%41ZJ+)%"p1AL"I6qm!""k!6Y"0@9" 58e4-4%j@!!"9MbmZ!!K)HJ%#6VS#B"!I6PiJAdr[!!3HJ%l369P38NT23N419[r m6VS*@#e!rraCMcmmi!![,[rm5(MrrkPm)&mJEJ!))&!-D2d"!!*Q'Mmm!!Br2!! %2c`!"#mZrra1ZJP-6qm!#Q"1)'i!##"3$'Mp!J!#CKSr2!!'2c`!"$mm!!8[,[r m6VS**%r[!!TJ*L"Z!!JJ8!aSr3-!!QBB2c`!"Mmm!!3r2!!',blrr%kk#2a2l`! +2c`!#$mm!!Fr2!!(,blrr%kk#142l`!+3IS$UL*Zrr`M5!#U3IS$j#*Zrr`M5!# Z)'lrr#&Z!!J!XL!Zrra1AL"I6qm!"#k!6Y"0@9"58e4-58j@rmT1ZJKb,8$rr&Q 22ccJ!5mZrra)H2rrUA`JAcmm!!Br2!!&2c`!"5mZrra1ZJKd6qm!#L"Z!!JJ8%S S!"pQ'Mmm!!ir2!!02c`!$LmZrra1ZJK36qm!#Q!B2c`!$Mmm!!dr2!!0,blrr%k k#$C2l`!+,blrr$mm!!G)E[rk5'lrpNKZrqkTM5"Z!!JJ8$eS!$lrqM"ZrrT)E[r +,`K1ZJKU8)m[,[rf5'lrbUQ2,blrr$mm!!P)E[rk5'lrpNKZrqkTM5"Z!!JJ8$e S!%$rqM"ZrrT)E[r+,`K1ZJJZ8)m[,[rf5'lrbUQ2,blrr$mm!!Y)E[rk5'lrpNK ZrqkTM5"Z!!JJ8$eS!%,rqM"ZrrT)E[r+,`K1ZJIb8)m[,[rf5'lrbUQ23IS#5#* Zrr`M5!#U3IS&!L*Zrr`M5!#Z)'lrr#&Z!!J!XL!Zrra1AL"I6qm!"#k!6Y"0@9" 55Np#58j@rq4CMbmZ!!`JEJ!)6T!!,9rrr#"Zrr`YD!#Zrq3JE[rm3LJ!Yb"Zrra #+!#f5'lrq+Kd,blrr+Kc,blrr+N9,blrr$mm!!&)E[rf5'lrm%KZrqLTM6mm!!- r2!!$U*Y)E[rS2ccrr$mmrrbSU8KZrqJr2!!32c`!%+L`B"`JE[rm,bJ!UNKZrr5 TN5mZrr`r,[rd)'lrj%k3!#"Zrra++!#hCpS[,[riU(-[,[rmUB)[,[rm6VS)&PL 2)'lrr%SS!,CR$&@2,bi!$%kk!#!3(b"Zrr`3+!#f6PiJAdr[!!JHJ%l369P38N4 -4de19[rm,bi!#%kk"[*BMdS!C`4`!'"1@Bp)H9"5480#CkQJ)&mY52rm,blrr+Q L5Ulrr'F1,blrr%kk"X*BMdS!CJ`[,J!)6VS(cPL2B"3JEJ!))Qlrr#*4)&"`(5$ C8FMrr(!"6PiJAdr[!!3HJ%l369P38PC"6%P19J!!)'i!##*Z!!`L85"3-@N!!J! #)'i!##*Z!!`L85"33HJ!2N2T!$j`"#$C8FMrr#"Z!!JLEJ!-)P%J8%(S!#j$k3! Z)0NJf5$C)0NJEJ!))Qi!$#*4)&""k!!33qN!%#$C)0NJEJ!))Qi!$#*4)&"8L&5 *)0NJf5$C-0NJEJ!))Qi!$#*4)&""k!!J3qN!)#$C)0NJf6$C6PiJAdr[!!K1d%e C8&*+6d*06PB!!#"Z!!`-8!!$CL)JEJ!-)$`!N!2r`+J!!Jb!!*!$$@B-)'i!#(! "-)"`!@!#F!"1AL"I6qm!$"k!6Y"0@8C*6&4&8Nj@rh3-EJ!%!!KY*!aZ!!B!#'i F2c`!"Mmm!!3r,J!),bi!#Nkk"-C2l`!+B!!#3!aZ!!F!#'dN$'i!#!!)EK`r2!! )2c`!"cmZ!!J[,J!+6VS%QNr[!!TJ!!)8$'i!!3!)CJ!"m%(ZrhSY52pf5'lrGNk k"MKBMb"Z!!SJD!#b)&!`V[pk)'i!#L"S!,)J8&5)3qlrI#$C)0NJf6$C)'i!#L" S!,)J8%(S!#j$l[qS)0NJf5$C)0NJEJ!+)'J!XL"33HJ!%%2ZriSJf5$C)'i!#L" S!,)J8%(S!"K$l[q5)0NJf5"Z!!SJD!#b)&""k!!J3qlrQL$C)0NJf6$C,bi!#Mm m!!4)E[rq5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!!"CK!JEJ!+)'J!XL"3-Acp!3! #,bi!#Mmm!!9)E[rq5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!!"CK!JEJ!+)'J!XL" 3-Acp!J!#,bi!#Mmm!!C)E[rq5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!!"CK!JEJ! +)'J!XL"3-Acp!`!#,bi!#Mmm!!K)E[rq5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!! "CJ!!H#"Z!!SJD!#b)&")D!!)6VS%Y&L2)'i!#L"S!,)J8%KS!""1ZJ5J@)mJEJ! +)'J!XL"35'J!*Nkk")aBMb"Z!!SJD!#b)&!pD!!Drh3JEJ!+)'J!XL*Z!!SLD3# b)P%J8$&T!"`!'L"Z!!SJD!#b)&!aE[pd!"`JEJ!+F!%43!#h)'i!#R!"%8!!YQ! D$'i!!J!)CK)JEJ!+F!%43!#h)'i!#N)S!,C1AL"I6qm!"Nl35%&14%a&8e419[r +$'i!!3!)CJ!"CL"Z!!T`!4&!!,FJEJ!+F!%43!#f,bi!#Mmm!!9)E[rq5'lrpNK ZrqkTM9@2,blrpUPJ-"m-3!!"CL3JEJ!+)'J!XL"3F!%a3!!q)'i!#L"S!,)J8$& m*`m!3'!!!(i[,J!+2c`!"dKZrrj)E[rf5'lrlUQ0,blrpNKZrmUTN!")E[rk5'l rbNkk!Pa3Mb"Z!!SJD!#b)&!aE[rm!$i[,J!+2c`!#8KZrrj)E[rf5'lrlUQ0,bl rpNKZrmUTN!")E[rk5'lrbNkk!Kj3Mb"Z!!SJD!#b)&!aE[rm!%![,J!+2c`!#dK Zrrj)E[rf5'lrlUQ0,blrpNKZrmUTN!")E[rk5'lrbNkk!H"3Mb"Z!!SJD!#b)&! aE[rm!%)[,J!+2c`!$NKZrrj)E[rf5'lrlUQ09Bm[,[rfU@!`(`a!!!&Q%L"Z!!S JD!#b)&"#+!!IB!!!dL"Z!!SJD!#b)&"`!4&!!"pJ!!#q$'i!!J!)CJiJEJ!+F!% 43!#hB!!!U!aZ!!i!#'BU2c`!$Mmm!!dr2!!1,bi!#Nkk!-T2l`!+)'i!#L"S!,) J8%)S!"pJ!!"f$'i!$3!)CLSr2!!12c`!$6mm!!d[,J!+6VS!Q%r[!!SJEJ!+)'J !XL"3F!%43!!IB%)-EJ!&!!KQ'Mmm!!Br2!!&2c`!"5mZ!!T1ZJ"Q6qm!#Q!J$'i !"J!)CKJr2!!'2c`!"6mm!!B[,J!+6VS!4%r[!!T1AL"I6qm!"Nl35%&14%a&5Np 19[rm)$`!N!2JS4iY52rm5Ulrr'B'-$`!'DR*)#lrr%jH6R988&"54%a(38j@rr" +EJ!1Ce)`,J!18d!p32rmB$3[,J!)2blrr%KZrrj)E[ri5'lrm+Q0-#lrr,"Z!!a Q$#mZrrJr2!!"U@0J##mZrrK#CkPM-#lrr&*Zrr`b,J!3NN"+3@Dk6Pj1G9"98dK 5384*6PB!!#"Z!!`J,J!)2c`!!+RZ6Pj1G8j969428e456PB!!#"Z!!Jr2!!"UHi JEJ!-))"1ANje8e4558j(9%p19J!!)'i!##"3$&!!!fB!!-)JEJ!))&!-D2d#!!* R(L"Z!!JJ8!aSr3%!!QF3)'i!##"3$'Mp!`!#CJ!!PL"Z!!JJ8!aS!%)!"'B!!)B JEJ!))&!-D!")!!CQ!!"f)'i!##"35QJ!#'B!!'JJEJ!))&"+D!!+CPSJEJ!))Qi !##*4)&!`+!!@N!"T!")-3!-BEN!JEJ!))Qi!##*4)&!`+!!8N!"T!"!-3!,@ELB JEJ!))&"++!!IC`iJEJ!))&!-+!!"!"pQ$#"Z!!JJ8%SS!%4R"(!!B!*`!8jH6R9 @38a*4##3!dj@!!!JEJ!)S"p1ANje4P*&45#3"%j@!!!JEJ!))"")3#$!)"")3## !6Pj1G8C-59"548086PEra%MR!$!JEJ!))&"`!c#!)'i!##"3-Acp!J!#)'i!##" 3F%)a3!!%)'i!##"3F%Ja3!!')'i!##"33QJ!##"Z!!JJ8%*S!!SJEJ!))&!aI!* N!!iJEJ!))&!aI!,@!!`JEJ!))Qi!##*4)&""k!!38)NJf5$C)'i!##"3-A`#!!! B)'i!##"3-A`&+!!D)'i!#$em!(MrrNKZrrj)E[r`2c`J$URV5'lrm%KZrrSr2"! 3UHY$qJ*`,9RrjLeCrqSp@IrZ5'lrqNKZrqBr2"!%UHY)E[rQ2c`!&URV5'lrjNK Zrq3r2#!3UHXJ8$&Zrq3!(#"Z!!JJ8%)S!"iJEJ!))&"`!4&!!"mJEJ!))Qi!##* 4)&""k!!J9)NJf5$C)0N`f5"Z!!JJ8%*S!#iJEJ!))&"#D!!`)'i!##"33QJ!-L" Z!!JJ8%*S!$3JEJ!))&"#D!!f)'i!##"33LJ!1#"Z!!JJ8%)S!$NJEJ!))&"#+!! k)'i!##"33LJ!1b"Z!!JJ8(!#%8!!2#"Z!!JJ8%)S!$dJEJ!))&"`!6&!!$iJEJ! ))&!aI#F2!%!JEJ!))&"`!6&!!%)JEJ!))&"#+!"%)'i!##"3F!%43!"&)'i!##" 33UJ!4L"Z!!JJ8%+S!%SJEJ!))&"#D!"1)'i!##"33LJ!8#"Z!!JJ8%)S!&%JEJ! ))Qi!##4Z!!JQEJ!),9$rr#"Z!!JY8Iri)Qi!##e5rr3NEJ!),92rm#CZ!!JY82r X)'i!##e4rqJLEJ!),9,rj#4Z!!JY8rrJ*Qi!##e3rp`JEJ!),9(rf#*Z!!JY8[r 8*'i!##e6rp!QEJ!),9$rc#"Z!!JY8Ir))Qi!##e5rm3NEJ!)*&*#DJ"f)P&#D3" d)&"#D!"b)&0#D!"`)'lra%*S!'iJE[r)3QJ!E#"Zrma#D!"U)'lrd%*S!'JJE[r 83QJ!CL"ZrpK#D!"N)'lrh%*S!')JE[rJ3QJ!B#"Zrq4#D!"H)'lrk%*S!&`JE[r X3QJ!@L"Zrr"#D!"B)'lrp%*S!&BJE[ri3QJ!9#"Zrra#D!"560m-!%jH6R905d4 &4N&96%!#L!#3"i!!$i!!!!%!##`!N!0&CbBJ,!!LX+`!*QBF!*!$0Nlk!!41G8j @!!"1AL"I6qm!&%l369P38P"*3dD!!!!q!*!$r!EfUf!08h4bDA"`C@3J8%4&4J! !$"S-!*!)9J"`!))!P!#Q"bjB8(*TER3!N"KJ!!,d6[S"9Nlk!@C1qJ&f6[S"MNl k!F"1qJ(F6[S"qNlk!KC1ZJ"b6VS!d%kk!34`!%kk!(*V!!%36[S!Z%kk!&K1ZJ$ ZF!&1ZJ"F6[S!E%kk!%C1ZJ$FF!*1ZJ"+6[S!@Nkk!$41ZJ$+F!01ZJ!i6[S!5%k k!#*1ZJ#iF!41ZJ!Q$%$rk'F!!$)-3!!"CJ!!Z(!!6[S!AL!I51F!1#4)*NNJ3%l 32`![#bm+6VVr8Nr[!!Se3!!36R8-3!!"CaB)+J!"!!CQ%#"+)NY-ha`!,cJ)r%j eF!![!#",T5JL@`JE!!CQ$+!U#"-!"QF%)%QJ+L!I60mF!%je5UX!&'B`)$`!!)! !S%!`+`!B4N$V5!"!`!"3q!TH@Bm[2%4"9%%r!+QJ)"mR3!!8C`3[!+Q56R8J+`! 8C`iJ3#K3S#P1F8ja6R&1F8je2`!J+`!8C`K#U`!8)%#J)c!IB*JJAc)B0"L`@&I *rrT+3QIq6[!Jr#"I-KJd',#B9mRrqNT#Crj1m#$k)&mb'$3BX%*Z#T!!3@d'd%" "m!!#-""RrNl`!!!J,`!%,d%!"#)[!!J[A`!%51Fm!#3!*J&)3X6$+!!U!8K&b-A 84%K#N!2!`G##60m!2#)I6R8J,`!%,d%!"#)[!!J[A`!%51Fa!%kk!*a-h`#-)Kp 1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!I#!"60m!M#)I6R8J,`!%,d%!"#)[!!J [A`!%51Fa!%kk!#a-h`#-)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!$#!"60m !M#)I6R9+J'SF5S&U$%5!4)&1ZJ!J4)&1G85!6VS!&N5!4)&1G8U"DJT%J8kk!!C %J%je,M`!!2rrXS"M"L)!F!"1GE#(BJb!`8K!-J"#3%K!6R@bKf)D,J"#3%K!J-& )3%K(2J")4il"-!G)4c)(6R8N!#B"iSMLLE+(B[L!`F#(-J2#`#i$5%I1`%K(dSG P#*+#BJ4%J8je8d"Jj!#3"%j@rrBJEJ!-5UJ!&'Bf$'i!"!!3Cbi[,J!-6VS&k&L 2$%$rrfBH9BqTVc!I-F!*4#"Z!!`r+!!B6VS(+P52F2pJ!!(d)'i!$#mS!"41ZJF !@)mJEJ!-,@J!&2rk)'lrqLK3)'i!$%US!"4R!!()-#i!%%kkr+)!N!-%!ES!#J' f!)B"F!'B,bi!$%kk"AKBMeQ25(P6G'jR2ccJ!+QJ)&mT5!"iX2`!!'F@@Bp)H90 88L-r22!3UD!JAl$m!!"Q&#"Z!!`r+!!B6VS'QP52F2pJ!!&N,b`!H+QL,b`!H%k k"N*BMdkk!X"1ZJ&B,b`!H%kk"NCBMd+X!(K"l!#N+8J!MQ!!!6!JEJ!)-#J!'Nk kr!B!"!!)!4i"(!!)!4J!)J!b)'i!##PS!"`!k#"Z!!JTD!!J!1a"l!$)S!0J!!$ f)'i!##mS!"a1ZJ3b@)pJ!!$N)'i!##eS!"crpL"ZrrC`"$#!)'lrpN)S!!3JE[r f3LJ!"5"ZrrBKE!,+!!JJE[rf)@`#bJ!-)'lrpJaSr3%!"QBL)'lrpR!+-8!!!L" ZrrC`"c&!!!SJE[rfF!Ba3!!1B!!!J#"ZrrB-D2d$!!CQ)L"ZrrC`"c&!!!)JE[r fF!8a3!!+)'lrpR!'-8!!$Q!!!&)JE[rfF!Na3!!#B!!!4#"Z!!J`+!!D6VVl'J! )!!J!-J!#)'i!##"S!"a$l!+ZF!BJf9()rraJ'%UZrrTR%LmZrrT1ZJ83@)mJEJ! -3UJ!&(!!6Pj1G8e"58iJN!419[rk3H`!b#e)rr`JE!"i)&!`%%kkqVi!N!-"!%! !"!!J5Q`"''B35'`%A%kk!4*BMh!"18!"'($j18!"('!F5Q`"'QB35'`%BNkk!24 BMh!"18!"'R$h18!"(#"Zrr`aE!%F!"JJE[rm3UJ!$#"Zrra`#$&!!"SpI1`!rrS JE!"i)&!`+!!#`I`!$%(X!!$4`$!3d@lrqL"Zrr`aE[rk!"`JE[rmS!3JE[rm3LJ !)#"Zrra#+!!K)'lrr%)S!#-JE[rm3LJ!)L"X!(JJ8%TS!!4R,NTX"%jY+#"Zrra `!4&!!"`JE[rm3LJ!(5"Zrra`%4&!!"iJE[rmF"-43!!IB")JE[rm3LJ!(#"Zrra `!4&!!"dJE[rmF!Sa3!!D)'lrr+!%)'lrr%*S!#`JE[rm3UJ!,NjH6R968%p348i J)%j@!!!TEJ!)!0T#V!$83L`!id(X!-LJ!%jH6R938NP1593J)%j@rrKCMdKj8e4 5)cmmm"#TS#"I,8Mrq%UZrrKR!!$D,blrq+QL)'lrq#"39)JY52rm5'`#(NK36VS "HP#2)'lrr(!!%""53%K!3N")30'Zrra)E!%H,blrr%kk!9K3Mb"Zrra`!"!38N" )3%*!5%$4V[rm5'`#3LmZrra1ZJ%f8)mJE[rmF!!3%&*!5%"#3%K!dDlrr%KX!QB [,[rm6VS"&)'lrr(!!%""53%K!3N")30'Zrra)E!++,blrr%kk!2*3MdKX!Kj 1ZJ!i@)p)E!%H6VS!,PL25'`#3Nkk!#4BMdKX!QC1ZJ!D@)p)E!++6VS!%&L26Pj 1G90&9%026P456PB!!%MR!`"m!Ai!B!!!ER!!%!G)3%*!5%$3VJ!))%"`!"!3$%! !AQBZF!!3"NK!3N")30#Z!!K5"h)!%JG)38*"5%(5VJ!))%&b!")3!N%!(b"!%)& J)R!!%!C)3%*!5%$3VJ!)FJ!5"dK"3N&)3G+Z!!JJ35*!%T!!8JB3"e)(!N!!rb" Z!!Kb!")3NN"+3@B!rhj`!"!'8d!JEJ!)%)"-h`$!6Pj1G84&3dp%45!J6PB!!%+ !)'i!##*Z!!`3%",B8FMrr%jH6R9$6e"C8e45)%j@!!!J,J!)6VVhM!!&!#!!!3# 3!bB!!J#3!b`!!`#3!bB!!rrr!#!!!rrq!#4)E!%H6VS!+&L2B"C)E!*Q6VS!(&L 2B!T)E!)H6VS!%&L26Pj1G84&9NP$48026PB!!#"Z!!K5L#P)!1JJEJ!)F!!3%#P !!1a"l!$)S!01ANje8&**6P469&*19[rQ)'i!#%US!"4R$L"Z!!J[+!!86VS"(&L 2@Bp)H9088L!r21!!UD!JAbe)rq`[,[rXUD)[,[rX6VS!iPL2,blrl%kk!34BMe@ 22c`!!8KZrr"1ZJ%Z-"p+E[rbE4K9Mb"Zrq`[%$mZrrj#CkR%-"mp32rUB""9Mb" Zrq`[%+QA-"mp32rU,blrl%kk!+CBM`aZrj!$kQF!!(4CMdKj8&*&3cmmi!#TS#" I)Qi!##0)!"3JEJ!)5UJ!&'G3)'i!##mS!"5TSL"Z!!J[+!!8UC)JEJ!),bJ!&%k k!%*BMb"Z!!J[+!!86VS!B&L2)'i!##eS!"6rjL"ZrqBS8%(X"%a$l[r`)0NJf5$ C)0N`,[rU6Pj1G8p348j38NP16PB!!#"Z!!LJ5NjH6R9)6Np399*(48j@!!!JEJ! )S%P1ANje5&"98NG&)#"19J!!)'i!#+!T6Pj1G8K-6d0,)*!$6PErX%(Zrl!aEJ! )!"K#U!!-S!%`+!!36Pj1G80-6e0&4&**5RJ#MQXL-$`!N!#M4L*)-$`!RkG'XmK R%#*I)&m`(bm*S*!!2d!!"%je)'m!"$!m!!%L5'!'!a-,!J%!-$`!%1*!8d"#@&( )rr`b[!!")(J#VM0mrri!!J`S!2m!#@G#5LJ!#'iJ-hcrr`!#5RJ#MQX`-h`!!3! #5RJ,)QSN-h`!!J!#B"a#D3!#$#J!!J!)EK"R#$0m!!3!!Q!'-h`!!`!#3QN!"!` i!!)",fi+%$J",e*!%d!!"dTi!SjV$JJi!!3,)QF'%h`!!3!)$(Jrr`+1BJB6I!! "!!N31!)H3IVr@c)m!!5`)&I*rra5360"!!T+1!+4DaJ51!(l!J%!$``"!!&Q#L" i!Y`6D!!(!!dcH!)3!!j+H!2fE84#D3!1-M`!2%*R8FRrr#"2-AJ+@!!BF!LLB'B N-@J!0!!@SJGQ'L&S!&S!-#&m49**5`!FF!'LB'B'-fJ!&J!1h[`!HL"*)PpF6ck mkS41d3!!"M*J$J!!8%&$5r!!!!%%!1!!3IVrlL()#FjJ!!'m6[S!(Nlk!#j1qJ! q6[S!9Nlk!)K1qJ#N6[S!`Nlk!0iJAc)B0"L`@&I*rrT+3QIq6[!Jr#"I-KJd',# B9mRrqNT#Crj1m#$k)&mb'$3BX%*Z#T!!3@d'd%""m!!#-""RrNl`!!!J,`!%,d% !"#)[!!J[A`!%51Fm!#3!*J&)3X6$+!!U!8K&b-A84%K#N!2!`G##60m!2#)I6R8 J,`!%,d%!"#)[!!J[A`!%51Fa!%kk!*a-h`#-)Kp1G5![!!3[33!%)Lm!##pI!!4 )jc%!6VS!I#!"60m!M#)I6R8J,`!%,d%!"#)[!!J[A`!%51Fa!%kk!#a-h`#-)Kp 1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!$#!"60m!M#)I6R9+J'SF5S&U$%5!4)& 1ZJ!J4)&1G85!6VS!&N5!4)&1G8U"DJT%J8kk!!C%J%je,M`!!2rrXS"M"L)!F!" 1GE#(BJb!`8K!-J"#3%K!6R@bKf)D,J"#3%K!J-&)3%K(2J")4il"-!G)4c)(6R8 N!#B"iSMLLE+(B[L!`F#(-J2#`#i$5%I1`%K(dSGP#*+#BJ4%J8je8d"Jj!#3"%j @!!!-EJ!6!"TQ"%kk!)"`!%jH)&p2l`!82S"1d%e"58iJN!419[r`5Qi!$QG5-#i !$P0!28$rr'!d,bi!#$mZrra)E[rq5'lrq%KZrr#TM6!Zrrb`EJ!-CJ`[,[ri2c` !!DPMB!J[,[ri3QHTBc!Zrra5E[rm-Li!%**!5N&QZNjH6R93990)8N&%58j@rV* CMdKj8&*&3cmmi!#TS#"I,8MqZNUZrVTR!!1N@Bp)H90dEQFr21!!UD!JAbe)rVD `r!!!C`!$L&Q25(P69&)M2cc`%+QJ)&mY52kbX2`!!'F!!f`JE[kf)&"+D!!#E3i JE[kf)&!-D!!*!!*[#L"ZrVBJ8%*S!!*CMcmmm""#TdKirrqTI#"I,8Mrr,$m!!" R!!-X,blrr$mm!!K)E[rb5'lrkNKZrpUTM5mZrr`r2!!"5'lrlNKZrqC)E[r5UBd JE[kf)&!LE[kk-#J!!X(m!!c3N5mZrqT8J#m!U9mJE[kb)&"8L#e)rXC`#Me!rr4 J0#mZrr`r,[rd5'lrm%KZrq*)E[r+UBd[,[rL,blqaUQ2)'lqaR!!%""53%K!3N" )30'ZrXB`,[rd8Qlrp()2NN"+3@Dm5'lrq+Kd,blrr+Kc,blrr+N92c`!"$mm!!5 SQdKZrp)r22rl2ccrqkLT5'lrdMmm!"!r2!!3U,!r2!!#2c`!!ULE5'lrfMmmrrd r22rpU+P)E[rD2c`!$$mm!!bSX#"ZrVBJ8$mm!!Br2!!&-""D3$m!,blrr%kkrHC 2l`!+)'lqYL"32c`!&$mm!"-`+!!%"N!!%cm!,blrr%kkrF*2l`!+3QlrpQ!!!0" #TdKZrrDTN6!ZrrC1Z[['!!B!'J!&!"B!"J!m!!J!G!!6!(!!&!#B!"8!T#"ZrVB `,[rf@d!J8$#!2c`!"Mmm!!8r,[rf,blrr%kkr@K2l`!+B!!!HL"ZrVBJ8&*S!!) -D!!+!!*Q#L"ZrVBJ8%*S!!)JE[kf)&!LE[kk-#J!!X(m!!c3N5mZrqT8J#m!U9p J2#"ZrVB`,[rf"N$rl5"3-8!!"$mm!"3r2!!62blrpLmZrra1Z[cq6qm!#Q!3,bl rr+Q$,blrq+KcB!!"%JaZ!!(rpQB!rbT`'Le!rX*`#Me!rr4J+LmZrr`r,[rd5'l rm%KZrq*)E[r+UBd[,[rL5'lqbUQ3!(!!%#lqbY'ZrX)`,[rd8Qlrp()2NN"+3@E ')'lqXU!U)'lqXL!ZrX+J*#"ZrV+J*5e!rViJ,[kqX+lq`QF5,blrr+Q$,blrq+K cF!"J!!#+)'lqXU"+)'lqXU!T)'lqXL"39)JY52l'F!Sp32rdB$3[,[rm2blrp%K Zrr")E[rL5'lrbUQ0,blriLmZrXDTN!!JE[l'F!!3%&*!5%"#3%K!dDlqaM!Zrr4 5E[rdFJq53%T"CV`[,[rmUB-[,[riU(-[,[kfUDS[,[kbUDS[,[kfUE![,[kbUE" 1ANje8&*649498#!!N!0i!!2p!J"#!%J!N!3#eJ*N!*!%!YB#C!)!"5J$r!!"r3) !3J")!*!%!YB#C!#3$J)!!!%R$`!"!!%!N$9i!!2p!J"#!%J!N!3#eJ*N!*!%!YB #C!)!"5J$r!!"r3)!3J")!*!%!YB#C!#3$J)!!!%R$`!"!!%!N$3%D!&m!c-`-!# 3"ld$0M!`!*!(AJ3a-M!`!*!'2J3a1$!`!*!',J3b0$!`!*!'(J3c0M!`!*!'&J3 d1$!`!*!'$J3h-M!`!*!'#J3j0M!`!*!'"!8a16)`-!#3)2rp!*!1"Lj3FQPZG!# 3r`#3r`#3"N)!5!!#!J%)!J#3!`8"!J8#"!!!rJ!!!J%$!J!"!!%!N2m!N)m&,N& 2GA3&,N*2GA3!N!-,#P"bD@jd)%CTE'8!!!%B!!d!N!8)!8%!(!&p"!*25`#3"3N "L`!G!FF%"N0KEQ0PE!#3"3N!"J!B!*')#d4KDA0j)(BJ-5i`(J#3"4i!"3!Z!&Q )#e"KCf8J8Q&ZCf8k(J#3"4i!A3!Y!)S'!d&XE"i!N!8H!)`!,J$)"J9'FQpY1Ki !N!8H!-d!,J$YN!!!N!BH!2)!,J%1L!08EcSH!*!&(J%3!#i"-*!!!*!'0`!&!%F !@BJ(3fp`D@9c1MF!N!8h!&m!4`"rN!!"-6F!N!8h!*%!4`$)L!9'C@9N1MF!N!8 h!-d!4J%["JT$EfjdD@jeEh9c!*!&0`%a!%F"U3B+8fKPCA3J4Q9PC!!!!JB!&!# 3"H!!C`$`!+d%"&0KGQ8!N!@9!!F!T3"i#!j#Eh4dEfdJEfBJF'&RC3#3"3B!3`! A!4#)(d4KDA0j)(BJ-5i`1L"3FQPZG'9b)&"[FR3J8f9dGA!&!*!&(J!'!#i!-iJ &8'pbG$S+!*!&(J!j!#i!R3B+6@pNC@dJ8'pbG!#3"4i!T3!Z!3N'$&"bD@jdCA) J8'pbG!#3"6N!"J"*!&')#N*KG@3J8Q&dC6S!N!8j!')!53#2"!GbG@jdD@eP%J# 3"6S!Q3"+!5b)%LK)DA3JE@8JCQpb)'e[FQA*+3#3"9-!"3"M!(U)$daTEQ8J9'9 bE@PZBA4[FJF!N!96!)!!B`&!%!GbG@jdD@eP"`#3"@N!J!"j!8!3"h*eER4TE@8 (!*!&I`#!!)m"3"!(FR9ZG'PYC3F!N!@9!)!!T3&!%!GbG@jdD@eP"`#3"DX!J!# l!8!3"h*eER4TE@8+!*!&D3!'!(N!HiJ+5@jTG'PKE'PkC3#3"Am!"`#2!(b)#e4 [F#"[CL"`B@GP#`#3"DX!#!#l!(N)#d9ZC#"[CL"QD@aP!`#3"F8!#!$9!(N'!d0 88`J!N!A&!+8!e3%*"JKB6fi[@%pQCJ#3"H!!Y`$`!2d%"N0KEQ0PE!#3!l`!"`# 3"3S"2`!H!AX%!Np,!*!&#J''!"i"`J3'3f&ZBf9X!*!&#J!&!"i"0)JF4'&TFhN JGL!a,M!k)*!&1#ie)L"LH5!a-5)!N!9'!!8!@J"N"JBa-#"MF'N!N!9'!(J!@J# d"JBa-L"MF'N!N!9'!-J!@J%%"JBa05"MF'N!N!8S!!8!2!#@"JY6G(*KD@GSG#" eF$`!N!8S!*X!2!%X"JK6D@4PGf&jF`!!!3#3!cB-!!!e$!!!!SJ!!@d#!4`!N!- F!E)!$%P$6L-!N!0U4P*&4J#3!hC%BA0C!*!$JN*14%`!N!118e45)`#3!jT6G'j R!*!$TP088L!!!J#b4%P86!!$!0C%6%p(!!-""P"%48B!!J%f4&*@8J!!!9T3380 ,!!!"CP"548-!!J&b!)!!N!Z!rrm!!!%%!*!'rrm!!!%2!!(EP!#!rrm!!!%I!*! %m"!!"3!!!6m!N!6J!!!G!!!"8J#3"2!%!#i!!!&H!*!%m!8!1`!!!@N!N!6J!Ir r!!!a&`#3"1!"rrm!!$%Q!!(EL2!3!%B!!$*#!!(E81!!rrm!!$4-!!(EB0rr!&i !!!'$!!(EC1!"rrm!!!(6!!(E42!3!(%!!!([!!(Je1!!rrm!!!)K!!(Jp0rr!)3 !!!)p!*!(NM!!!Pm!N!8%!+B`!!QT!*!&"3#b!!!C*3#3"1!!!-%J!"PI!*!%m!! !b5!!*Ad!N!Err`!!+l-!N!8"rrm!!#`[!*!%i!$rr`!!,+X!N!3%5801)aG3FQP ZG'9b)'0[ER4bEf`JFh4bD@jRFa"3FQPZG'9b)&0PG(4TEQGc$&*TCfKd)%*eG(4 [EJT-DA0d)'aKBQ9X&e"bD@jdCA)J4'PKE'pR)&4PEA"XBA4P%NjPH(3J8'&RC5" 8C@e`E'&dC4*3FQPZG'9b)%0[EQCTCb"#EhJ06Q9iG#"3B@GP)%*[H"0%FQ&QG#" 3FQPZG'PZCb"$Ef4P#d4TB@a[Cb"$Ef4P$P"b8'PM4QPXC5"cG(9L"bjB8(*TER3 -4'&TFhNJ3fpZCQPR'YB: ---