[comp.binaries.mac] Serial Printing DA

earleh@dartvax.UUCP (Earle R. Horton) (10/05/87)

[Serial Printing DA]

[Moderator's Note: The source to this desk accessory has been posted to
comp.sources.mac.]

     SerialPrint is a desk accessory written for the purpose of printing
text-only files from the Macintosh to printers for which no printer
driver currently exists.  It's also useful if the printer driver exists
and you don't want to pay for it.  The desk accessory has a large number
of settings, and therefore has the capability of printing with many
different brands of printer.  I have tested it with the Tandy DMP-110
printer and with the Silver-Reed EX44 with I/F40 Serial Interface.
There are enough settings so that a clever person might even be able to
configure it to work with the ImageWriter in draft mode!

     The desk accessory supports CTS flow control when used with 64k
ROMs, and both CTS and XOn/XOff flow control when used with 128k ROMs or
newer.  Baud rates from 300 to 19200 may be used, although you must
understand not all combinations of baud rate/flow control have been
tested.  If you have 128k or newer ROMs, you may set SerialPrint to
close the serial driver when you quit.  You do not need the ImageWriter
driver on your disk when using SerialPrint.

     A page setup option allows setting of length and width of a page,
left margins, and tabstops.  All dimensions are in character
width/height.  If tabstops are set to zero, then tabs are sent raw.
Files to be printed should have a carriage return at the end of every
line, since text is not wrapped at word boundaries when printed.  For
best results, there should be no lines in the file longer than the width
setting.  Bugs may be seen if lines are too long and there are too many
tabs (lines are truncated).  A future revision will probably include the
ability to wrap text in a reasonable manner, and also a "raw" mode.
Either sheet feed or continuous feed may be used.

     The printer settings dialog box includes editable items for setting
five control strings.  These are:

     Your printer's line feed string, usually ^M or ^M^J
     Desired string for top of page, perhaps 5 linefeeds
     Initialize printer
     Bottom of page string, often ^L
     End of file string, perhaps ^L, perhaps a null string

     A control character is denoted by a caret (^) followed by an
alphabetic character.  All other characters are taken literally.  There
is no provision for including a caret in any of these strings, (although
there is probably a printer somewhere which uses the caret for some
control sequence.)  The default printer control strings in this copy of
SerialPrint are appropriate for the Tandy DMP-110 dot matrix printer.
You will probably want to change "^M" to "^M^J" everywhere if you have a
different type of printer.  Also, "^[^W" is probably not an appropriate
initialization sequence for your printer.  Keep in mind that the control
strings can be longer than what will fit in the boxes provided to edit
them.  These strings are edited in the normal manner of editText items
in a dialog box.  If you want printing to be continuous, then delete 
the text in the top of page, bottom of page, and end of file items.
If you want to print a file double-spaced, put two linefeed strings in
place of one, and reduce the number of lines per page by a factor of 1/2.

     Perhaps the worst part of making a non-Apple printer work with the
Macintosh is getting a cable to connect the two.  The parts to connect
my Mac (a 512KE) to my Tandy cost me $1.38 a year ago.  A ready-made
cable will probably cost $20 or more.  Do not get ripped off when
obtaining this item.  If the proper cable cannot be found ready-made,
then obtain pinout diagrams of your Mac and printer; take them to an
electronics technician you trust.  Only three wires need be connected
when using CTS.  XOn/XOff may require more than three, depending upon
printer type.  The exact number of wires and which pins are to be
connected will be found from careful study of your printer manual and
the Macintosh pinout diagrams.

     If you change the settings, they are not saved unless you choose
the menu item for saving settings.  This is because the settings are
saved in the system resource file, and you might not want to rewrite the
system file resource map every time you change a setting to fit a
particular document.  I recommend you determine the most general
settings which will work with your printer by experimentation, then save
these once.  You can always change margins, page length, and so forth
temporarily when printing different types of documents.  A future revision
will include the ability to save settings in a separate file, and also to
select from several settings files.

     This desk accessory was written by me, using Lightspeed C and 
RMaker.  This revision is free.
--
*********************************************************************
*Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755   *
*********************************************************************

---
(This file must be converted with BinHex 4.0)

:"P0PFQPKE!"%4NP-4%e29J#3#$(H5N8!N!3"!*!$,l!!!#k`!!!#,J%!N!ISB3*
'8!#3!a8!N!A)!9`!!3#3"3C6CA*TB@aK!J#3!d4'58a%68p@!*!+!EJ!!%4'58a
%68p@!*!BR8j*GJ#3"M(H!*!%1`2h!&!%333&4@TPBh3!N!Bl"&)!8!5F"!*25`#
3"4d%*J!Y"35)(84[)(P[G5"hB@jd)(4[)'PZDA4TB@aTHQ8JDA3r!*!'(33T!#d
%ma!)9@jdDA4XC@3!N!8("#B!&`8%L"K8D'Pc)'4TFfXJDA-JG@i!!"Yb"!#3!`&
U!*!$9J"`!))!P!#Q$!"6CA*TB@a3FQPZG!#3%f!!#R"1qJ&@6[S"CNlk!AC1qJ'
16[S"`%lk!Ga1qJ(k6[S#&Nkk!(*1ZJ$36VS""(!!6VS!FQX!!4"1qJ#i6VS!@%k
k!1j`!8kk!&a1qJ"X6VS!4Nkk!0a`!Nkk!%T1qJ"D6VS!0%kk!-T`!dkk!$K1qJ"
)6VS!)Nkk!,K`"%kk!#B-32rSC`!!-Ja!!!&Q!!#iF!"1qJ"H)"p)j`!i*%JQ55"
!6Y!r!#m,,`T1Z[p56qm!#M9!!""1G3a!!!&R&JJU!!%!"QB3)%SL5dcI(!![1!M
m6R9`!#m!)%ZP+#*E#"X!"QB-S#S)%`!'C`3J5D!U)"p-ha`!6R9+U`!8CM!J2!!
!J!#J3$!V!"K'31Y)!%$!!&$i#PjCMbmm4%&836m!UD!J(bG!!"4R"#m!UC*1G5!
V!"4R$L"!+&#J+8ja6R&1F8ja6R8r!#!V!"4R#%+V!"3J3+!M-"pJQ#"I-KJd',"
B9mRrqNT#Crj1m#$m)&mb'$3BX*KAbIrk5N*RrNl`)2SJAc)B0"L`3Qi+N!""E3E
33%(`!!)`%'Iq6[!!!#![!!3[33!%)Lm!##pI!!4)jc`!*!!Q!8K#a--S!#S"5%A
)aG4%5%+3!m$"d)*-h`!m)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!R%cI!)`
L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ"m)!&-h`#-)Kp1G5![!!3[33!%)Lm
!##pI!!4)jc%!6VS!,%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ!-)!&
-h`#-)Kp1G8U!DKa+J@S-4)"%J8kk!#"%J8je4)"1ZJ!@4)"%J8je5S&U#N5"6VS
!"N5!6R8Z2!!!rrqbJ'-')J"`!%jeX)GL$)$"5%!b!%*!5%"1GE+(BKSZ!%*!5%#
!`8K!5%Fq!%K(MX%`"dK(-JG1G53!*J(LL1+*XSGLq)$"`)Fb!m,!,J0)4ml!5%I
5Kf8)NS*L"%5"6R963'$N!*!%)'m!#$mm!!'TlL"[!!3JJ%lk!"!JE`!%)#m!#$m
m!!#TlL"I8%p1d#"[!!K`'%*R8FMrr#p)!"*#,`!E)%qJ!$)[!"MHr!!b)'m!"$#
"2d!!$#"I8%p1d$![!!5Hr!!H2d!!'#"2S!(Hr!!H2d!!"L"I9%p1d%j@rmj"l[r
1-@i!#!!B-A`!!3!DS!8YD!!F!!T1AL"I9%p1d%j@rmj"l[r1-@i!$J!B-@i!$!!
D5Ui!#'F33qJ!(#"Z!!K`&U!Z3HlrcU!%28!!%%jH)Pp3Mdl46PErcN(ZrmiaEJ!
1!"JaEJ!-!"UJ"6e!!"""l[rU)Qi!#(!@S#j1AL*I8)p1d8j@rq""l[rJ-@i!#!!
BS!Bp3!!+6PiLAe526Y'J,%lk!G!LAb"IS&G1qJ(%)PmJ6k!Ch[`!$Nlk!EBLAb"
IS#e1qJ'X5MJ#MQSU)(J"-%2i!43J#*!!NA3-X)*P&L*4)FJ"&#+!3K%LH!+U)SJ
JJY'T!!a1GD"M6R@J0Nlk!A5K'Lp)!!41qJ&U)PmJAk!E6[S"ALpi!UB!"%lk!9`
[H!+U!!41qJ&5)PmJ(k%L,SK1qJ%q)PmJAk!M6[S"0#*I)&qJ*5k!DJC#Pdlk!54
1qJ%H)PmJ(b"IS#41qJ%8)PmJAk%Q,SK1qJ%))PmJAk%S,SK1qJ$k)PmJ(b"IS#G
1qJ$`)PmJ(k%H,SK1qJ$N)PmJAk!I6[S!fL*I)&qJ)5k!DJC#Pdlk!-T1qJ$%)Pm
J(b"IS#"1qJ#k)PmJAk&),SK1qJ#ZS"`[3!!%6[S!V#*IS4dL##"I))%ZJ%lk!*)
LAb!IS%`ZJ%lk!)BLAb!IS%"1qJ"q)PmJ(k"06[S!G#*I)&qJ+dlk!'SLAb"IS#P
1qJ"J)PmJAk!U6[S!9L*I)&qJ58lk!%`LAb"IS%T1qJ"#)PmJAk",6[S!1#pi!bJ
!"%je)KmJ(b*I)&qJ,L*"6[S!)#pi!3J!"%lk!"irH!)J!!41G5pi!6!!"%lk!!a
`!#m*-F!#)%jeF!"JpL"I)PmbZ!%#)PmbZ!%%6Y"19J!!@8m[2&""9#-r,J!+UD!
LEJ!-)"pR(#"!)&!`'$)Z!!K[%,*!EJa63@F%8%KJq(!)S#j1AL"I8)p1d#"I)RJ
#VP"*-"%LAd*4$!!!rfF)i&K5!"0!!!(J5#*I-S"1d#"i!Ul3r!!+6Y!LAb)I%"m
JAfF#@)P1N6k!)N&1d@(US!"1GD3!6R9Ki+!"6R@N!8jeBGDJ!NjeT!*1G@(-S!0
1GD3$6R9K`U!%6R@N"%jeBELJ"8jeT!91G@'ZS!C1GD3'6R9KT+!(6R@N"djeBCU
J&%jeT"41G@'3!+!96R@N&8jeBBDJ%djeT"01G@%!rhbJ#%jeT!K1G@%!rh#J#8j
eT!P1G@%!rf5J#NjeT!T1G@%!reLJ#djeT!Y1G@%!rdbJ$%jeT!a1G@%!rd#J$8j
eT!e1G@%!rc5J38jeT%&1G@%!rbLJ3NjeT%*1G@%!rabJ3djeT%01G@%!ra#J%%j
eT""1G@%!r`5J%8jeT"&1G@%!r[LJ%NjeT"*1G@%!rZbJ'%jeT"K1G@%!rZ#J4%j
eT%41G@%!rY5J48jeT%91G5*I)&qJ$ck!6Y%LAb"IS!iqJ%l4)PmJAk!A2S"1d5*
I)&qJ06k!6Y&19[r151F`-%*Z!!T+1!+1DJ!!TR6k%Li!#'F#G2K1ZJ%LCPK63Nk
k!4TQ8%SS!!GQ!!#'F2m)+!!'!!9Q2Nkk!5"Q1#!i!STZ4R)#)(J#VP")-"!-!!$
rC`EJ5'CDFJ&C6bmm8d954$m"UD!Q&fB3@%m`1!TJCJ3`22p!6[S!G+Q5)%-)d!!
()FJ#LN)i!SSQH!++*P0`k3bV8d954!!%CYS5,J!)!cJ#LQB-6VS!lJ2i!ST`!8k
6G!&"l[r13rS"%NSZ!!KR"%2k!4-K53!53QJ!&N)S!"ZJ!'B@3N%5'G,"8FVrk%c
I$!a1AL"I9%p1d$e!!!TJlNj@rmj)jc!`%Li!#%kk!*C+1!+1DYJJ1!++Ep,!Z!-
D)%!J8!bS8d954!!%CX!$Z!++F!"1N!"+1!++CV)JH!++S#0`rb(!!STJT%(Zrmi
a3J!B-A`!!3!DS!9Q##"S!"`J8'!#F1T1GA!!,`)81!(l5J&Q!ZJ+!J)!$fF)93*
R"(#HB"S81!+45J&Q""3i!T!!#))!"fB)#J)!!QF#F*mN(dT!6R9`qNS"C`*`q%(
Zrmia3!!BS!&6D!!BS!&+1!+1DKC!`!"m"J!JH!(F%,`!#6kA%,`!#NE!6R8%,N&
*EJ8Z38peG!3Z3NPZ"5j#6h9dG!%JAcm#,`LYkR3$6[Vrp(3#6[VrlR3%6[Vrk%j
@!!!JEJ!3)Qi!$(!!%"K)3"!C5Li!#'F15Li!#QF%T$aJ%+!mB!a+,J!+C`5Q2'!
#SM`+!!!"(8!!&%jH)&rIr!#3!`a1d#*I%KmJAh!!%"J[#8S"C`5J9'!#SP41G8j
@!!"C6bmm8e45)cmZ!!UTS#*Z!!a#%5!ICb!J3#"3-"Jb,J!)XN"Z%R!!8d&R"K!
BdF"JpK!38N#J,NjH)&p3Mdl36PB!!#"Z!!a+U!!8CKa+EJ!3CJ!"lP@2)'i!$$m
S!"K1Z[Lk-"pJ!!(D-#i!%%kkp@S!N!-%!F`!#J()!23"a!'q)'i!$$!S!"K'31Y
)!%$!!$P!!d)JEJ!--@`$3J!Q@Bmr,!0#UEmJAbP)!dK+V!0)CKC9Mb"Z!!`r+!!
B6VViA$!IF!"J!!&m,b`$5%*RU6@T0eQ25(P6G'jR2b`$3UQJ)&mT5!!!X2`!!'F
D@Bp)H9088L-r,!0#UD!JAbP)!(b`r!!!CKC9Mb"Z!!`r+!!B6VVi#$!IF!"J!!%
S,b`!!+QL,b`!!%kkqMi[,!"mUD)[,!"m6VVk-#mX!(a1Z[S+5'`$8%KX!e*1Z[V
!$'`!G303E!!!l#"X!!!J8%*S!"!JE!!!)&"#D!!1B!!!e#"Z!!J`+!!D6VVdB!"
$!%-!`J!#)'i!#$!S!"j1Z[4-!!%!"`#Z!!i!&!!`!%`!8J"B!)T1ZJiDB!!!Q%k
k"-"+3'B!!)j9Mb"Z!!`r+!!B6VVh@M!IB!!!HNkk!9T+3'B!!("9Mb"Z!!`r+!!
B6VVh2$!IB!!!A%kk!U"J!!"86VS)@'!!!%a+E!0-C`B[,!!!UDT+E!01C`B[,!"
mUDT+E!0-CJC+E!01CbC9MbmX!!#TT$!I2`#TQ@!@9BmJEJ!-2bJ!'%kkpZ3`(f!
%6VS!%(!!6Pj1G8e"58iJN!4+V!0)Ca)r,!0#U6B[,!0)UD1T0d+X!dJJE!!!)&"
+D!!3CaT+E!0'C`C#Cdkkr"*+E!0%C`JI2!!"6VVm"%UX!!"R%LmX!!"1Z[M%,b`
!!+QM3U`!!%UX!(aR#LmX!(bTSd+X!(a1G8j@rqa+EJ!1CeJ`,J!18d!p32rmB$S
[,J!)2blrr%KZrrj)E[ri5'lrm+Q0,@lrq2rX-#lrr,"Z!!aQ$#mZrq`r2!!"U@0
J##mZrqa#CkPM-#lrr&*Zrr`b,J!3NN"+3@Dd6Pj1G9"98dK5384*6PEqe&Q2-#`
$3P*!2`"#TdKirrqTI#"I,8Mrr,$m!!"Q"R!!B!!"-LmZrr`r2!!"5'lqj%KZrZ"
)E[lBUBe`"$e!rr4J2LmZrr`r,[rd5'lrmNKZrqj)E[rQUBdJE!!!-#lrp&9!5-$
3J0#3!#"!-&![#%KZrZC1Z[8k,blrlNKZrZDTMc!Zrr45E[rdFJL53%T"CV*)E[r
iU(3[,[rmU(-r2!!$2c`!!kLE5'lqf$mmrr`r22rmU+P)E[lB2c`!%$mm!"#SX%*
ZrrCJ!!!@3UG)E[rfUC%`,[rf6VVad!#3!`)-EJ!"rrCQj(!%28$rp'"#,blrr$m
Zrr4)E[rb5'lrlNKZrqDTM5mZrqj)E[lQUC!!5'lqjNKZrY41Z[5#)'`!!$!Zrr4
93%M!d)$3N!!J3$#ZrYB`,[rd8Qlrp())NN"+3@DZ,blrr+Q$,blrq+KcF!%j3!0
-F!&1ANje8%&(490&9&919[rS@Bm`,!0#@%!r!%+R5(MrrkPm)&mY52rmX2`!!'B
'F!"J!!'b,blrr$mm!!&)E[rd5'lrm%KZrqLTM8KZrrLSG#mZrrbSFcmm!!-r2!!
$U*Y)E[rS2ccrr$mmrrbSU8KZrqJr2!!32c`!%+L`)'`!!#"35QJ!%'FD2c`!"$m
m!!3r2!!%,blrr%kkrD"2l`!+B"Br2!!%2c`!"%*R,blrr%kkrBK2l`!+)'`!!#"
35QJ!$QFD2c`!!cmm!!)r2!!#,blrr%kkr@42l`!+B"Jr2!!$2c`!!Mmm!!-[,[r
m6VVp5Nr[!!T#E[rfB!!!bN+R5'lrpUQ4$'`!G303E3!!Z$!ZrrC1Z["'!!)!"!#
U!!B!,!"1)'`!!#"3F!%a3!!12c`!!cmm!!)r,[rf,blrr%kkr2K2l`!+B!!!I#"
X!!!J8%*S!!ir2!!$2c`!!MmZrrB[,[rm6VVmdNr[!!TJ9L"X!!!LE!!!)P&+D3!
39m"%!%L!)&!a3!!3)'`!!#"35QJ!%'FD2c`!"$mm!!3r2!!%,blrr%kkr**2l`!
+B"Br2!!%2c`!"%*R,blrr%kkr(T2l`!+$'i!!IrfCJ$r-(!"18!$6#mZrrbTJbm
ZrrLSFh!"6Pj1G8e28N9649486PEq`L"X!!!J8%TS!!*Y$L"X!!!J8!aS!!N!!Qm
+)'`!!#"33QJ!!PQ22b`$3N+R5(MrrkPm)&mY52rmX2`!!'B'F!"J!!,X,blrr$m
m!!K)E[rb5'lrlNKZrqDTM5mZrr`r2!!"5'lrj%KZrq")E[rBUBdJE!!!)&!`+!!
#`I`!$%(X!!64`#mZrqj)D!!#UBmJE!"m)&"8L#e)rXC`#Me!rr4J0#mZrr`r,[r
d5'lreNKZrp*)E[r+UBd[,[r5,blqaUQ2)'lqaR!!%""53%K!3N")30'ZrXB`,[r
d8Qlrp()2NN"+3@Dm5'lrq+Kd,blrr+Kc2c`!!cmm!!1SQdKZrpJr22rm2ccrr+L
T5'lrf$mm!"!r2!!3U,!JE!!!)&!r2!!'2c`!"6!3@N!r!#mZrra1Z[X86qm!#L"
X!!!J8$mm!"3r2!!6-#J!"!C!!"-r!#mZrra1Z[V`6qm!#N*ZrrCJ!!$#3UG)E[r
fUC%`,[rf6VVYlJ!&!"B!"3!5!!B!3!!*!(J!%`"d!"3!QL"X!!!`,[rf@d!J8$#
!)'`!!#"32c`!"Mmm!!8`%&T!2`![,[rm6VVkNNr[!!TJ!!"S)'`!!#"38QJ!!Ja
S!!S!!QB+)'`!!#"33QJ!!L"X!!!J8$!S!!,"r!!-3H`!"0(!,blrlNKS!!+TMf!
U)'`!!$!ZrrB'32rY)&!a3!!%2c`!&$mm!"-r,[rf,blrr%kkqLK2l`!+$'i!!Ir
fCJ$r1(!D,8$q`R!+28$rp'!U,blrr$mZrr4)E[r@5'lrdNKZrmUTM5mZrp*)E[l
+UC!!F!!3,[l+dDlq`M!Zrr45E[rdFJq53%T"CXB[,!"m6VVbCLmX!(`[,[l#6VV
aQPQ2,b`!I%kkmA`J(l#ZrX*R%LmZrrbTJbmZrrLSFh!!B!!!JLmX!(a1Z[*#,b`
!I%kkmK`JE!"m)&"8L#e)rXC`#Me!rr4J0#mZrr`r,[rd5'lreNKZrp*)E[r+UBd
[,[r5,blqaUQ3!#"ZrXC`!"!38N")3%*!5%$4V[l'-#lrp&*Zrr4b$j*!5N&Q[#m
ZrrbTJbmZrrLSFh!"18!$6$P!!dj`!8jH6R938P0&9&93)%j@rqKCMc!X!d*@3$m
!3UG)H2rrUA`JAbe)rrb`r!!!CJC`!'!!!'`[,[rm2c`!!8KZrr4)E[r`5'lrk+Q
05'lrq+Kd,blrr+Kc2c`!!cmm!!1SQdKZrqJr22rm2ccrr+LT5'lrk$mm!"!r2!!
3U,"#TdKZrrDTN5mZrrbTJbmZrrLSF`aZ!!,rpQB%F!"J!R!"6Pj1G9G"594149K
86PEraNMR$a""l!#8*NJJE!"m)&"8L#e)rmBY52r@)'lraR!!%""53%K!3N")30'
ZrmBYE[r'rp)JE[r'F!!3%&*!5%"#3%K!dDlraLeZrmErcL"ZrmC`!"!38N")3%*
!5%$4V[r',@lra[r+)'lraR!!%""53%K!3N")30'ZrmBJE!!!)&!`+!!'8d!i!#"
X!!!J8$!36VVUq!#3!`%!CJ!%!$*+E!0%CL*)E!BZ6VS$`&L2F!%j3!0%$'`!G30
3E3T9Md*R6VVbKM!IF2Np32rfB$"+E!0'CL4)E!Bd6VS$N!"BMh!"18!$4JaX!(8
$8'd-9BmI2!!"6VVb9$!IF2Fp32rf0flrpJ!B3UX!$(!)0d!!'Meml!$rq#"X!!!
J8$!S!!,"r!!-3H`!"0(!-"$4E[ri0flrq!!F9Bm[#d*R6VV`kM!I$'`!G303E9"
#+`!J3LX!)8)V!#0#+`!L)'`!!#"35QJ!$QFBF!%A3!!F3LX!(A!4&d!!(R!6&d!
!(f!+3LX!((!"&d!!(A!+0d!!'P@2,`Y#Cdkkm*)`(d*V!#a#U`!ZI!"J$%(X!e6
3aR!J%)"54L"X!!!J8$!S!!U3!%C+3'ENB!!"jLmZrp*1ZJ(i@)p#E[rDIJ"J!!'
b5NGQ%#mZrmj1ZJ(J@)p54f!!!CiJE!!!)&!`+!!-9%#q3'Bf,blrbNkk!F"BMhi
!)'`!!#"35QJ!"'B!!A41Z[e%5N"Q!!&U9Bp)E!$N3QG1ZZrH-"pJ!!'#)'`!!%K
Zrp`J8$mS!!K)E!3F6VS#`Nr[!!T+3'B'F!%p32rDI!"k!'!!!(J`"P*'3H`%(0$
!%"!G32rl5)"1ZZNB!!N!#3"%!!*+4'FL)'`!!$!&8N8J80"S!!T"l!08d-"`)"#
!-!A!4%T!CZ"J-L"X!!!`"9*&)&$3D!!+3H`$90$!%+lrqf!B)'`!!$!&8N8J80"
S!!T"l!08d-!3V[rl)'`!!#"3ZQJ!#'i)['lrh'm!rhJJE!!!)&!`"G"S!!T)`&1
!,8$riN(X!e3Y52rm8NG9Mcmmrrp)E[rQUA!3(dS!C`!!5$!ZrqC1ZZKU!!-!!`!
k!!)J2!#3!rr!V[rS9Bm[!+KV-"mG32rl##i!!2rdCaJ-,J!ZrrYQ%&@25'`!j%*
R6VVZVM!IB&*+E[rDCL)RE[rm!#!RE[rL!#49Mbm,3QG1ZZkL-"m[,[r@6VS!2PL
25QlrfQF!rNT9MdKX!14#CdkklQi`(bmZrmC1ZJ!H@)p1ZJ$X5N"Q!2i860m)m%j
H6R9'4P"558j8)%j@rr`["d+Zrr`JEJ!)F!!3%$i!IJ"J!!"8F!!`"p#Z!!JJ3(!
!%""1ZZHH!&i!AJ!N!!*"l!6NdHlrr&*(F!!`"p#Z!!JL3(!!%"%#3!!I%)"J&%(
X"164l[rmF!!`"p#Z!!JL3"#48Ulrr$!(8NFJEJ!)FJ!5%**!5N&QR%(X"13T5!#
d+@lrr!#i9Bp)E!#83QG1ZZh%-"mZ(djH6R938NP19&088Nj@!!!TEJ!)!+C#V!#
J3L`!Ve@25'`!P%*R6VVYH$!I6Pj1G9"558j*9#!J,`Y"l!$N*NJ[,!#!3UG#Tcm
m!!&)E!#%3UG)E!AN6VV`LNSX"H4R4%(X"HiR5!!53UX!$%)V!"T"l!%i*dJ!($G
X"HS!&R!"&d!!'cGm$B!!,&@2,`Y#Cdkkl3i`(dTV!""R"(!!B!C`!@!#F!!QAdj
e6PB!!%MR!6!QEJ!)3H`!j#4)0A`0J!!X*8X!)$"Z!!`P5!!N9Bm[#N*R6VVXhM!
I2LS!+NT(CJSJEJ!13P"`!'!@-%I4b``S!!hrrfB#8dFJEJ!1-)G`!8cI$)"1ANj
e4d986%P145"19[l5@Bm`,!0#9%!r!%+R5(MrrkPm)&mY52rd,blrp$mm!!9)E[r
k5'lql%KZrZ5TM5mZrr3r2!!"5'lqhNKZrYT)E[l5UBe)E[r`U(3[,[rdU(-r2!!
$2c`!!kLE5'lqdMmmrr`r22rmU+P)E[l52c`!%$mm!"#SX&Q25(P69&)M-#`$3P*
!2`#TS#"I,8Mqi%UZrZ"Q"R!!B!!!TLmZrZ#TSL"ZrZ!J8$e3rrK#E[rmF!%p32r
qB!!!E!aZ!!,rrQB'8flrr'!%8Qlrr!aZ!!(rr'`'2@lrq2rm5'lqm$!X!d*53$m
!2blrr%kkldj`!"!Zr["+3'BDF!%p32rm5'lqm$!X!d*53$m!2blrr%kklbS[,[l
X5'lqm+Q23UG)E[rqUC%-EJ!$rrjQMLmZrr5TJbmZrr#SFbmZrZ#TSh!"6Pj1G84
238*2993J!!!'1J#3"!&m!c-`-!#3"ld$0M!`!*!(AJ3a-M!`!*!'2J3a1$!`!*!
',J3b0$!`!*!'(J3c0M!`!*!'&J3d1$!`!*!'$J3h-M!`!*!'#J3j0M!`!*!'"!8
a16)`-!#3#9!!8&4&@&3!N2m!N2m!N2m!N2m!N2m!N+X&,N&2GA3&,N*2GA3!!!(
J!"-!N!AJ!)m!m!$9"!4%EfjP!*!&P3!(!+8!H!J13QpdG'pY)'pQ)("KCf8!N!8
'!&X!&`$EL"*3FQPZG'9b)&"[FR3J8f9dGA!!N!8H!!B!,J!cL!93Eh*d1ZB!N!8
H!$N!,J#G"JT0Ef4PE5"3Eh*d!*!&(J#P!#i"#3B-8(*TER4PFL"3Eh*d!*!&13!
'!%N!8BJ+3Q&eC#"5BA4P1J#3"6N!BJ"*!)m)"h*eER4TE@8R!*!&1J#C!%S!fJ3
&E@pbCFN!N!C6!!8!B`"kL!p-D@jP)&4PFQeTEQ&dEh)$!*!&8`#!!'-"3"!(FR9
ZG'PYC4)!N!9T!)!!H3&!%!GbG@jdD@eP%J#3"Am!J!#2!8!3"h*eER4TE@85!*!
&P3#!!+8"3"!(FR9ZG'PYC4`!N!@V!)!!Z`&!%!GbG@jdD@eP6`#3"@N!"J"j!(Z
)#NPZDA4TB@aTHQ8!N!9r!!F!M`"mL!Y8Eh!JEfBJF'&RC88!N!@V!!J!Z`"j#!Y
&EQ3JEfBJCQPXC3%!N!A&!!J!e3"j"JT6D'9PG#"QC@9N!*!&a3#P!08"#3B+3fp
ZG'PZG@peF`#3!bi!+!"3!5J"U!!"rrm!N!E"J"P6CA*TB@`J8'pbG#"$EfjQD@G
eFQ&dD@pZ!*!$(`!`!$-!T3("!!(rr`#3"X'"#P"KCf8J8f9dGA!!N!-H!$!!-`"
N!5`!!Irr!*!'`B-*6Q9iG#"3B@GP!*!$8J!#!*!&(J!m!#i!M!3%4'pZC3#3"4i
!S!!Z!2!%"&0dEh!!N!8)!!J!'!%N#"j6CA*TB@a3FQPZG$SJ5@jcCA*d)%jPH(3
J8fKPCA3!N!2J!!N!N!9J!+8!F!$V"!4%EfjP!*!&3!$*!&)"2!J16'PZCA-JF'9
b)("KCf8!N!8(!+B!'!$c#!T3B@GP)&0PG(9`!*!&)J!&!$)!-JJ%9'&LF`#3"5)
!K`!d!+F3"h*eER4TE@AQ!*!&)!&)!$%"F4!(FR9ZG'PYCHB!N!9!!)J!8!#a%!G
bG@jdD@ePjJ#3"8)"5`"5!AJ3"h*eER4TE@AQ!*!&3!!&!&!!HJJ,6'9QG#"0BA*
RD@i!N!BL!-S!-J%9#!9AD@4dD!#3"")!!3!#!*!$#!"D!!J!0`#3"j!!`B$rN!3
!!&[5rj!%#e0PFQPKE&"bD@jd%N&LEh9d)&0PFQPKE&"bD@jdb3#3""&3FQPZG'9
b)&0PG(4TEQGcb3#3"!Y3B@GP)&0PG(9`b3#3"!e'E'ph)%0[ER4bEfc*!*!%"P"
bD@jdb3#3"!e6BACP)&0PG(4TEQGc!*!%"&&eDA3!N!JE!!8#ANd%APYH9`TH69j
0ANeH69j0!Pj-!Pj-!!!(8`!-M90PFQPKE&"bD@jd,#"&C'Pd)'pQ)%&eCh9cG#!
a0b`J-6Ni0`e&BA*XC5"5,L")Eh*dEfi08'pbG'P[ER-J3fp`HA*TCfKd)&4)58j
,)&4PBfKZEfa[CfPPF`e$Efe`D@aPC#"hDA4S)(4SC5"-D@GSG(0`C@9N3b"MEfe
`D@aPFL"KEQ3J8NeKDf9b,Se6CA*TB@a3FQPZG#"TFb"KEL"KC'&`G'&LE'8JF(*
TER4TEQFJF(*[Ch*KE5"YC@&ZG#"dEb"LC5"eFf9N)'PZ)'4bB@Cd)'e[C'8JGfP
dD#"`FQPZG'9bFb"QEh)JGfKTBfJJEQmJ6@&MD@jdEh0S)("bD@jdCA)JC(*TGQ9
b)'Pc)'&fB@PXB@*XC5k,5A3JF(*TER4c)(4PH(3YEfjXH5"QD@aPFb"hD'PMD#"
SBACP)'%JBf&bFQPKCf8JFQ9dGA*Z)'&d)(4SC5"PEQ3JEfBJCACPFRNJE'PZC5i
09'KTFb"bCACTFfP[EL"NEf9c)'j[G#"hFQ&`)'a[EQFJE'PZCA-JBA3JGfpbC#"
LEh9ZC'&bD@9c,UK8D'8J8(*TER4PFL"6CA4dD@jRFmNJE@9ZG5"KE'a[Gh-JH@p
e)(4[)'0SB@jRC5"dD'8JF'pbG#`JBQ&eC#"bBA4P,#"KEQ3JCQPfC5"`FQPZG'9
b)'0[ER4bEf`JFh4bD@jRFbiJ)&P[GA)JF(*TER4PFL"YB@jeB@`JFfK[G@aN)'K
KGQ8JG'KP)'&`F(*[F(*TBA4P)(0PG(4TEQGc)(4[)(9cC5kp6QpZ,A"bD@jdD@j
R)'0SBA*KBh4PFR-JBA*P)(0PG#"eFfPZCb"MEfjdFQpX)'0SBA*KBh4PFL"ZEh4
KG'P[ELiJ)%C[FL"PH'&YF'aP,#"MBA*bD@&RC5"bCA4eFQiJDA-J)Pj0)L`JE'P
ZC5"QC@9N)'Pc)#*H5L)Z$90[E@8JF(*TER4PFR-JFQ9aG@PbC5"H65"KG#"dD'8
JC@jN)'pQ)'%JE'PZC5`JFfpYC5"bCA&eDA*P)&j0ANSZK&4[)(0PG#"dD'8JG'p
`)'eKFQGTEL`JF(9d)(4SC5"KF("bEh"bD@&dC5"ZG@eLCA)JEfBJH@peFL"`FQP
ZG'9b*h-JE'PZC@CPC@3JBfKKFQ&MG'9b)'0[E@*TEQ&dD@pZFb"TEL"dD'8JBQp
i)'eKFQYPC#!L9'p`)'pQ)("KCf8L,RT*CL"jEh9b)("bD@jdCA)JC'pPFb"ZEh3
JFQ9MEfGZDATP)(4SC5"QEh*YCQ9PC#"MD'&bB@0dCA)J+&j-+5`JDR9cG#"`GA3
JFfpYC5"ZCAGXD@jPFb"TEL"dD'8JBQpi)'eKFQYPC#!L3QpdG'pY)'pQ)("KCf8
L,X98D'8J8'&RC5"6CA4eF-NJE@9ZG5"KE'a[Gh-JFf9dG'PZCb"[CL"dB@*cG'p
`Fb`JE'9QG#"YBA*RD@iX)#0MEfaeE@jc)'PZ)("KCf8X)'&ZC#"`B@GP)'aPEQG
dD#iJ)&"KCf8JE'9ZCh4S)'Pc)(4SC5"ZG@eLCA)JEfBJF(*TER4PC#"bEhGc)'p
Z)(4SC5"`B@GP,#"KEQ3JC'pPFb"ZEh3JD@jME(9NC5"dEh!JB@jN)'*[G(4[E5"
YBA*RD@jc,V&8D'8JCQa[Gb"MEfjdFQpX)'ePER8JD'&c)'j[)'9QCQ9MG#"hDA4
S)$BdDb"56ddJEh)J6@&M)&K-)(0jFh4PEA-X)(GSCA*P)%088b"QE'ph)'0[ER4
bEf`JEfjXH5"TFb"eFf9N,Je'Eh)JEQ9hCA)JFhPcG'9YFb`JG'KTFb"YC@je)'&
XE'phFb"cC@aPBh4TEfiJEfBJC@PdD'9b)&K2ELpB6fCQ)'pb)%088bk29'KP)'C
XEhFJBfpZG(*[E#"YC@je)'&XFfmJB@aXEhGc)(P[G5"dEb"cF'9MD@Cj)(GSCA4
SCA)JG'KP)("bD@jdCA)JC(*TGQ9b)(9cC@3JDA-JBfa[Ff9N)(GSC@iJH@pe)(&
eDA3J8f9bD@&X8(*TER3Z$5K1Eh3JC'pZC5"hDA4S)$BdDb"56dec,LR"9'KP)'e
[Fh3JC'PQCQPMG@ad)("KFR3JEfBJGA0TEQFJ8f9bD@&X8(*TER3JE@&j)'*P)'p
LG'&TEQPZCb"dD'8JF(*[F'9b)("bD@jdCA)JBf&LE'8Z)#"2BR4KD@iJF'PZEh9
d)'4TB@GbB@ec)'pQ)(P[GA)J6@&MD@jdEh0S)'&ZC#"`FQPZG'9b1b"dB@YP)(4
SC@dJG'mJB5"bCA0`EfjcD@*XC5"PE'9MG(*[EQPMFb"dC@0SEQPMD@&Z,RG6CA4
dD@jRFb"KFQ8JEQpd)(0KGQ9N)(9ZE'9cFb"dD'8JE@9ZG5"TG'9Y)'Pc)'0SEh0
PELiJ)&4SDA-JC@4TG#"[CL"6CA*TB@a3FQPZG#"cBACPFb"TG(-JFf9dG'PZCh-
JD@iJG'KP)(0jFh4PE5"QD@aP,J#3!bB!2!"@!2)"R!!"rrm!N!E"JK&"BQpeG#"
6CA*TB@a3FQPZG!#3!hS!"!#3"CJ!,!#V!'d%"%e[FQ8!N!@B!)%!U`#q"!4-CA0
c!*!&Q!$5!+X"(33'4@j[G@GS!*!&%J"[!"N!jBJ,8f9bD@&X8(*TER58!*!&,J!
)!)i"0JJB8h4bD@jR)'aTFh3J2%pA6N952L!V)$)Z!*!$(`!l!)B!d3&3!!(rN!3
!N!6"K!T1CAFJ4'PKE'pR!*!$H!!$!*!&E3"$!)%!I`3%C'pZC3#3"3S!%`!H!-%
'&9K2ELpB6fCQ)%CXEhFJBfpZG(*[E0`!N!8S!"-!2!$""K"$9&-J4Qa[Gb"$Efj
dFQpX!*!&4J!6!&S!`3883fa[Ff8J4(*TGQ9b)'pZ)&&eDA3!!!%!N!-[X!!!,V!
!!!)Z!!&F&J+8!*!$(!%@!!C%8PC5!*!$1N4"9%%!N!0'4%P86!!%!&*%6%p(!!3
!MP0dEQF!N!2+689193#3!pC69&)M!!%!iJ!-!!!J!*!(`B$rr`!!'hB!N!6"J!!
0!!!KY!#3"-'$!&8!!#32!*!%`B%!D!!!*'8!N!6"JJ$A!!!YN`#3"-'%!3)!!#i
d!*!%`B!!*3!!)jJ!N!6"J3!i!!!MbJ#3"-'$!%F!!#2Y!*!%`B)!``!!,@N!N!6
"K!$d!!!Z%3#3"-'!!(`!!#9*!*!%`B!!M3!!*9m!N!6"J!#H!!!Pm`#3"-'"!,B
!!#B5!*!%$!"6CA*TB@a3FQPZG"G3FQPZG'9b)%4TB@a[Cb"8C@e`E'&dC4*3FQP
ZG'9b)%0[EQCTCb"#EhJ18'&RC5"6CA4eF#"#EhJ06Q9iG#"3B@GP)%*[H"*1CAK
d)&"KCf8J9'9YF'aKG'868'&RC5"6CA4eF#"8C@e`E'&dC4"3FQPZG'9b)&0PG(4
TEQGc%&0PFQPKE&"bD@jd)'ePER8A8(*TER4PFL"MEfjdFQpX)(0dFQPZCh--5'9
XF#"6G(*TEQGc%d9iG'9ZC'9N)%&LEh9db5"#EhJF4AKdC@jNC@3J3@*[GA6*)%*
[H#"8C@e`E'&dC3eYEh*P)(0PG(4TEQGc&@CXEhFJBfpZG(*[E#"dC@e`E'&dCFL
!:
---