From: (Francois Pottier) pottier@clipper.ens.fr Subject: csmp-digest-v3-142 C.S.M.P. Digest Thu, 28 Mar 96 Volume 3 : Issue 142 Today's Topics: "volatile" variables? A Good Random-number Generator (here it is!) Apple Event handlers & C++ CodeWarrior - faster code than MrC? Desktop pattern for a window Direct-to-screen drawing and Copland Shareware Modula-2 compiler for Mac Sharing Name Writing a scriptable app [Q] How to write a FAT inline LDEF [Q] Where is the NBP queue located on an Open Transport-based Mac? gworlds 7.5.3 The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier (pottier@clipper.ens.fr). (This file must be converted with BinHex 4.0) :&Q0cEA!YC'PRCA0d,ABc,6%d-LjcDA3!8dP84&0*9#%!N!3jX!#3"%1d8dP8)3! "!!!jX(*-BA8#!*!%&J!!$3d5Bh0YF#eND@GPFh3YGM-Y-63b1J#3!i!!N!3#HIN 110`!N"VrN!4849K88LTMD!!!VB1MQUf$T#-!!!@Z!!#DfJ!!!D%!!$H*UAL3!*B !N!EhR#0%$L)U6K'j8%PVcrUZMKFU*SI1#@@(jl9*DPcKN5($j1Q@IUkD'cD-MaR Tc0biR15'1EGrrYc'"I2kRH5ND-[kD2IX@'S8!6IYVblIIrZ#ffmLZZQlF,hYYGc $damRaih2Y+QjKd0r6R3@V4THhj8)pc[U2@aG6EK'TS1KUfVE@-AkVZ6*pHAe&AR @rY"9UfMGrL#e$EIY2il#ADZ+NPAJ5kV-pd*AKEZQ[jElTA"A`-DBad*AeIYb"eI iFUm*ai6Db0fTU9*-SjpmYF6aNafpMTmX'HIibFIDaX*6NXYaJ@23q@64'iAqfaI F-Ie)[MK(r'3Vq6UUY(a4"qa"Ce2ZEh1[&EQGh6&RF@h4)D(%T"c@K1M[pc54!ia Lb`#$8B*ZB+@&1Tpa$,(pDHkZbVQHQkMXQ%J["cP+l#MA[$0p(P5H4SbKTSdVrGb 8Be**jlr0-J5kJ+BQj$JfGTQNP,Q2E$*2+Jq@)bj@[$YF&CQ`++&3$3m+Xp&aCc% rqILp8km$BU*@FR5')ph!I2hq5"4p80(2FVN4i6S,ba)Ab98!!!j11ANm33B!YmK QDebp4NhNTjaHCLq2HEQC9j+GC$N*RRTfi6ReMDpfc16"I34TN!#J(a&BeI9GAhB fD*5a2J,**KYH5q5@NpabHES5F'8RAJG1fQSF0(BEq`eh,qdNqFK0IiI(ihQhI-[ YaN0hqdCip&(@(IF5Yq,@h%kHMa1hY,SFZHJ`Dm9R9h0hQ!h5CVl'Lk+,+mqcEMa +ZmN9pc`HT[&40mNr+&p[ZJGCeR*2iRiVkpAlipj4-R32NRibM%ICd0@1Nf(LdT& ,mlIRUU+$36Gafmq6rXJG8lQE$(2hBlGel9TCBLYV*FrLi6#PLETVarQ)[TSmFL- UZYhK9M@$HdPq-XS'EK#2U0*hE@V'lM4P*+G9NA5B0%Ie89E2Qm-NkE[@-+C%ap% rh3kkr&d@1cL1KmNTrl[GV$AZa[9PHZm0@)+KGEFE0mpVUBqpZ*H8Mji0dj%ejqJ f(Bbd05iH$-S#2rrT2lU(fDNECHk8@MafpcF2AGV[T[h%2EUhIIqme$1r4cR66pc HhAhhb6KKGlYC-aiP,CIe'D0l2'#XKm1iR`qbiDKq&1FmC969TR41Xf'hPEZEMHZ 0PBMI)HeX-GR'`9RHS&4MIjKeKR'[ak!$SY"dMleMRqRQk-cGTm&QaU[pE$4+Nf& 8'rJ2'meZ1KJN`dE5ca[Yi9c$YpFUfiKCSQkA,8bC9pCfmA#80YQ,dI%`LCP+HjM eE-"TAhZFM+*qFTThKYPiN!$ErM9bTY4M5S0b5ShMT$ZBGmfFek-XkqEK@br0QeV Yb,jff-fmiACX$+dN6cYpKUP0(L5XIZ*1Mc1R)6Kel2+NPpD(5BI0(hE2V)h6'+a Laq*KmcKpRQKmQP5,0XGjcN"Tcqfdh9NfGUfXIhAN6[UXpqPa60PUM[3rEc@Bi"' JF"D+(FId&$HE5Fk+C`"Q`fhQ*kSdG!apP26b+'ledRkDM`aCDrQFcDq9M1+dUpP 1HlpX4qeEfe%[2R-jB0je4a33+2&mN!#aRba)(V1THU$*qR'alq2F!eQ22YQ-iA0 @[TZH8,kIp4Y!6M*UY&0AXrIDaSf,KjT5,a0kpIR8JdTNI@($GY`mCKe%3FTP-U4 SCReQfXp"0Ck'iRNbiN'*'EQV0@1`T"8&m*LE"r"(abj49a5MLq%`!3Ml,Bf2SFE ZDV@Y9kdA')2DdCT(qIMSBk#*,4CSP@f+!r5cN8YDJ(6V28I6eH1dhqb1@b"*fQH !JKDEB+5LpL4*Kd``lD6pZ'YVjP'RjfTa$Yid%k$%3&9l(U"(#qCLB9ql4&)Sdb9 @&R1*@qSrl'aBS('I$EF(AAJ6dr#Pcd[j2Jb94kkE8-H06Z%L5A,#RR9EVQB$&H2 )('-Bdbr-Dm5q6BZhp2G4`NbY2kdDC1pm(&p-ccTKch2J6*ZBp8&#VAY!)4Y[aeK NPjFDp-@Z&FepaM'bGMYYTPD9E4m0dk0ai#dDEbq"(-hVDf*`*HlA(JhS)X#R`6c M#lXjh5U+UZBm+dT9Ajp+AEV8dQliABd-KIUC#hKL,4U3!(Q-Dm1!-Z1G%*SHMeR !h"ePV6-i0cm"k&Y[RG0iF8aDcQe!%-SaGBHX5lYX`5V6X,JQZ#l+8`p6qjQ3!%A 8p+h09QJKE+F'U$PSJ,i"@"(V-bhrePY[28PkfA1`6T9,JQBe(rHEL6dcYP'fhr) %je3N)ak2-L'qX2UXA#V$D0!ZmZM2r%dJF2"bNFb`dm8QDd'01kJ%hpB@&V5b,@# YPie(aifN09iBM)m@*R0V4$mGmkGS'9dMAe6!Tfjb%Hlm1"Z$Fqa,bk3"+a(P6FK X)dqlS2$'HBq-TIl[[bKD[kr0q6MYE4aPR64CEKbP@@-`(VE'L9TcY3r6RYYLMBE aA(6JN@2Y+qAP(Y0FFmqdCiXh60YCZSfkXl5mYVUiGRh*e4H[,bj'MiHGZ*pqDQa VcHeEUqjTRr8E-[dc!+r[mJ`K+(N4pm5!69Z"PfY(YTka0@d8"fhieVejY`2SX6' U9dl#)afm-'ZPEHLr!+QDQ0K`[faZ,BU+PpUlSA3Uf0Qik`@V1fla[5MDXRe8Nm, ,MT!!JRi"[*3H!*bd56r5D@bSDVF@chQ',Di5'EJEhYD1p!kQ'hSjYFi+E'q*Ahm JRKIh)6YT(fEp(%dMdBDlDK0T)ah9"q2m@$#CGhNd&hfc`e&dl6Hr!J''DI-%@S1 kX4&Rh3Eil@T2H)0JaTZjX0[6VEkqYXKr+kqhHK2p!fKeMdddBN[lcBDV,G9[,5l @EbhIV0pBZE%kCjYH8-$h'9ppmFELbZdE5mZVLpHA&KFAPcE5SqD`ZA)jcrAjhmc k(+qmIS9N'+h2!X#8pEq#bRUdrLGBSFB2`,,q(mLbAN(,TLYR9FcE#+Zk1-jb[HU #d9*SQY5("--mmY386mEEc!B&LBb#r09`Kh$DX!iQ#E#%G@D,BL+bLKMAFMX,MpQ *$Q1@b&ShPFX8%68&,r3DSZBq1NeC6HKel)B)TaT%@#EHX)kf[#-rTT`q1edNV'k e[+`J)c#ZR5H#"QN3a[FA'*LdU!6Z,@h@K#PI+Hj(T[B0ai05#fkiqe3*FjhhLQ$ fa)m#aBDK8G!%R2jCp5!kBT)R8eUA0"&fD,2B1iKrdSc(V"TmXiQB*kjXUpCb9eJ filI4Z)rBfBH*(P[RaDjGmDbdh'(IRGmFeTLZM')1KSaHD%#Y5M)@pQH$8GT,2fA hSNUC8jN5$9L(EZDh8i5iEk*9XEX'2bG*-JM2U6`%9Vj!PGjBFS8f1jCJBYd(8'" BaVlp"%!PX3rTp9UJrAK`0KcRdY14!Y`$+B#H9Aa(EUjXpPZSjQkViIDlfHJNl9p albI$Nc1fj2MDaYEZdmEf[DIV8`*l6R9@eeCAeaBAAe1GVCL9K)Qih36pT$r[pY2 4+$mD$c[(I0Z-rMqZXLiLm30AmBVMrb)VM[rqKDkSbJ`!`Z+&VRpR,1Ki"@8TTqA EN@ThJ9J#d8"@Y![#d!PQ4[E8ip8PTV-d"NMeJU8mVRM)"6*(p"`2BH*$L9j!+%4 $DKjY8K6'dC*2!bSd"GaM0#@QDa+m0Q)q+T!!2a0ZRUDH!r65cM(kS`GQ&Z`8bX1 +XCPD$k-Z&h1,SY0Ml8-YcAl"[1EF,q@6D@BSVXR`fVAhSPqKBrLZQ'$4Q"%$NcL pE'UeHG"N%4$A4EV3B,1-"C5`(S8#IC'SX!BSV@0cQCMkPQ@$LG[!djbL,9Sp5XV 0pHbTh!XY4'jbUYppE64lrJamm,K3SX3&2Zb-X!C9Q`%I&*!!LXU8j+hH'S*6E#m i1QpcC$,2a5MYi9!@KDX!QCrU-AX3Lc4*$Sm%$cACJ8!UrH&lmcB3kdeVla(D'XY CZ"B%Yip82)`N,Kl&cC1mJGK4Vrp$&)Q*Z-hMV*XHaEhif"eT2cj-8(*!(Tjq'-I GZ1Hrr53EaXGV@K1'F5UAM6EQ+!2#T(Xf'Q*qEpM2)ImIp%3)hNIcr%@Z6aXpP26 NZA5HFpTcVY[G@&YHp,3(hHD5pZaQf'9N6i#6DCGbC)5A*)YebHM--iGrT8'c!SM 3[e)K9"Q+[Q&$[Y!X!%,dhj4S3SSZD0cIL0'kIr`$0@)X-`,)dASTM2bG(YPb[+4 )2$RR51X1PQ59CJ!`TI@La2rM5Y8kImH@E(,rbCLBf@`!cN3Erm@DJ+!*EeT(*VB pSpI%A$DMLki+9(,`KX)NCDd&m$32Sf!Z-Y8U&#Z"5l$,ESN%$15+-BZ0V%2dAdQ 4S&'r%jU,fZN3'@X3)j6K@MaK*VRm59dF1!bRlBITff45RVIaefQFb`'(0&Jd8Zl cG&3H'radd!8CA#YYUI#43D#jRV4d(SFBUdf+0Cj)L&G1-,&Fm65$YJY*lPZfq(( @(i`laaYij"L20`*mb*lXmkL`!4b-QFc5BN89iBRA9pGim@$hm+89`"beFR*LGaV 14Y$mMA21[*(m-9m*[Sm6L*K[$Y4SCC,"K6MD%BmfS%bZT3Rp5&!Z'9Nl`XliF@q !34VPXk-[-#bj(,9(`EmU8Z0pRGkZ@ES2NaI0"(+9pG(cQm0XiP,e(Y'+XX,M-Qp CmqdaJh*l[952Jp()"@+D0r`CKG$8`S4+P0GN5q%k(`&R[TdFjfV4M'U,,)5K'[I Uff6JLQbBR`qlb6G[M3M1[l+aG'*jME3V4X%,G$K*cZ!0FT-"V"+'($UAmHA%rHc a8mS'BfJf`*RTLqqQfT'X2A)IMcZ`T$i'YXSplBj(CMml26eYb*!!*PS#"Jd%h`Z r$T!![[!GrVH1k$-GjaY0G+GQjJR!28emephe6`XD-'8!LlI@9Uq[AEra132BSK% Y"FMA(jd"QYj#MA9`D-T4)H628'!'Xh%8GT[&RcaR[jAec,Jk!A&3YP2J@Y#I[&q R0"-&(fTI9ZaZ8!ISV$NI#8[01P+U**Kp5Q8%mPh+A*F+LI@DL"lMNmCG%NPi!'V -i)ZCaRccq9QrH6c-qKN'%k2JNA"eZ(qhN@Elm[$`YrKV0l'0Zq2fRMjkp0kV'Nq 56`cLU,#d#'TpAZ,Z@&iP#[biG`D'aTqAf-pbNKd5DV4c!6))Hr*PQFIYYZcNhU* )JA4lU0EflbVL)DQj(e-4lM+%RmbpjaB@h2Ye8kM1*fk9JblfFTb'6RHBTZ9Mr,, +PF$TXc8HjRMpe9RjlYk3!*L$HpPTI`Z-d&1pr"9C$[bjPi&FhUKGX#AIY@3`BeM $"&d+5F[`4AAiA##'pfY!X$kIN!#&*aa,N46U68EE4@FjPaIaM88j5U(&'14*Ybe `Ph"C#SRQ,)F$BQNl8qH[0b,BRk+5l3A5qA+Q3Z#2K9S'3BAX9eBeYj2`5%%"'Ia XSJTZLRI,Q&aCXkSa'ST,%*+IUm)h%8KiDbeZUc[eiR8UYDK8Jl[`J0LQ@N'RT6L -8+k+k440DL2MdEa[85Saik&(Q""a$hL3!,YRT&PBjkSD0dIMLGp19G'qi#TpaRl 9*N#Gbb&(dF2$KjlplX[QVp8B-2,RD9aii-&MCK1ea$irjk@rYcfAhLqBmh'FG"e *0,[04c%cB0Vi[hU$AV1lJ4N#C5`EGYBVGr0INf-m&Gk99VHd0$&2V+bYhPTEm[E BfjH-@+LdZh2iC"Zf0d5)Y@F3*NNbV&KI8UL%CU*8X2#MdNM5N!#e[jXRAP&8G!9 T*j2j'&r5-e-,5#*alQR19QT6p35i#Zf)3+Q3!&KKKEBLD,Df(FfqPMD5aRaSF8i +6!!NjGhSFk#r9P%kLB[)9dNcL4S`Am'+aA53!(hK*5#8TZG+l*!!e41LPim"2aq M`%U4QA%%TTJTRXHAJkA[($@*RSQ!Q%2[$2S6R8&KBrFZET0h9CFP4-l"N!$A4IG *HlK6M,$98!p8[bRh)jXKr-k2&Ij`B-+pVGf4eLlX56-GT+T&5cfENfe%QfbH14& Nm4Kc,NibB%c'0[B!caDYm*JjSMP#&Scd@D)(+%Q$JrLX4i2)aAd(3Z+lJA2!k4Q 0PT%Z,PB!Yj!!f5J#F5*5S)X-3!(#5#3e9-[VklTSFqqHIf$lUUrb9Nch0DbV#49 Y!(cHXR4b"*TBe&JcE'AM)p&UckepbNr-TLM,b%85&2`N$"MLjd#f$a2URaP)dCY hTJ,Z+CdK2"MhDM2a)#AbY30lcc!I(9Rf343&*H[iM!'&5*Y'YdQi$UB#j5Nme-2 0m2"ie1Y'ND!a4mPN9H8rL$a`lpRZ2%U2r"!8C&&)$%qf0qrYEM-)VdZ`N!"$`T4 -N!2)`%!MHYV&Z%,YTmj"8'!%Jc`CYl,kPhXCJTFmX'L44lb!+0%ilCAEUqd"-pc @`LBQijibGL6U*-+#8Xh4I+alYrpNli&F&ia%EKXJ!RC""NNhM5&QBRX0&p8N6N' Ic*YE#9FJ"DB+)%m`GaNZ0"LQa(5N![-[jfCF3f3X4TecV"FE21a+j+U4Re2IN!1 D+iCUb'@)K4k*V19jSpTYMNQjkBr1NF%Fh'&h'(A!-@*JE*YPqUhflMaVKk@XGl8 *J&2B((!AIJP1@908)`D(&BUlGFpKr8+CmhVH$hVVaUh&j89@4Z-paZ"$VS'Sc(k 'Z@jr5aBS@BqK)qa-$F%#ANFm"B`Ll&+J9d)-hlbYG&G'M-XT@aE0@25VNM[,+Fq &)*pLNNJ@SrL&Mp"LGd4NNK%qG`c+qG9Th0MlKl[iSH4NL9Xab9dfBFR%TY3Ae&e Zpm*S6XS-G,SV0cAXMc!43Bd#%EDKEelq+YDLaQb,T5Jh`6caVaC%jZkYL5"KA&" +QNdd**%&9ePS4#jdaV$[9liplP[@PNCaXrS+k)c'`ljT&##8"$N251c%Z*rUQj' A"DqJUJEX1iq@bKBNUKBYh%@03JUYbLbrlV6@aSdqQR02Di[c5a!mkDEPNrU5h[a c"b*+AFMKY)AUc@82A`kVD(R2e-pDEc`2@[G3GSZklZI)bD*TPUddB,0H!11Mj"r rf0$f#j+Qf(TJJ+iQrIbQS@P(dXVk)'[FpIUB(&Z'r1Hl3*AFQb*%(-a,BE9NX'# *!kda3[0c-eJ&`L9G@l+%+)Y0ShY'q`FBX5aHKkJ$m&FJm9%a0@N*$hFH2(cd-rF %@[Yiela8bRa6Fk#-$h2$hLBA9UN`f'4#dkL-4N%#hUUM+2"QNlZ#P)cF$E'#Fp$ K,J2&F`Zp-9Z*Ibh*h+YiBDHX&Gq*hbT6re5YTa`cG,-1AJ%%4laFP&I5f!Y-Y%9 3`dIE6hj'e0l")HbZd@R-4`(!@09kA8l&aFD0kcE)aFEb#KC&18)5-CrFMi%fB[I 6F8aqS-1aDk8-Zq&ilME4"3Y,biZ)1S5205)2026QQeYHE5`kUlMFZ,Rk3h-re`D LPi-#b*FKbUNLTHbi'0"IN!$A9ZXLXbRR6cL&N5RX4%KQ)e+ET(*d%4VJVGkQ8f5 ),9rh1b[H+BP(@@Y+`k)Kb4R(@%jc&X*[YiI4B&#JaEh%mbAr,RHI*X-XK%&j(F9 $R'M[+qL4d5PKMCB@rfRPqJf,m[PEA00IFTd-%`Fi!j9C9R,TLj`[k4m#9aqSTUp c&3&[0%Yc%Hp,f!m9RMD1TbPJ8'URi"5M'G,kj+fB026d80l-XU0DM"V4JcM`91L h)1YQB8%q,`R2PMJECZ!YQNU9()q`%aDmBPSpK1e0J-SMN!!-q$-4eNjUpMeLBPk ,cL34AQM1Fp'@jCXBApldeK[L!D$XaJP)[L4H83Cl58#LlSBiRbR(mqT462HMcAR hp)$-N6Hkq"&'j&DmdAbH0H#(PVjCQ$f2qcLpp(U5q2AEB05[&2$&TEA&QfXVYel ("qc4Xa)$c[Llm2ZC`dNf@9-*bHacQpY9VhS5%*UQ49LP20UHj%66G6q3!%pB+63 J,k'I`0X9*1@N!ajjXb,PT9k*NU*!i-q&!Pja'*)4I,aC3iUR$(Z&3DSA)qUDPm( ,j'a`$fm)dB9S,,i0M(lH3X))b))E%FS!pZlB#VV**MPpIhr62AbbIIr1PD"aqK8 dMpk9pBHSm32!q[f&cIAcBV*#M,+eMfPQSkTiCAfl[X[,cmUpkQh3'H!iE-4jmmV krS0pUrLY%r"lK2$EIcK'L9YD[[!$hPjE[I(ElCrkr8CM%PVV5dYbr#d[VLjI[ff 12h[@J&3d'dKSkkL,HV"42-"NhJ*%-+K1h(hVEYB!V0#3!2kI(3!ZY2*hI-&%6+k Dce+BMP,qH"mF%+S$4IGP!6*49KDr)Q'6E+lcG&PQ,LDp@A*R,rH,FkZ@RTKj[QQ d2N8V0XB)l*JfR10cClXdC4NLUCTS0aJbc`*0,UYieGm(+QVer*aEQ1(#fRK9aJb pjF5#Q"a0el-'*9PEiimD53jYr'LU)*T5&,KM8hV[9ejCm#jF`MdRBDmfLB,c"iZ a2$&C%INV,KP-&f&3C4!B3ieHcMS-9p68&Q6DDQL$K@85T1-bF(PPF&%9&Ypb4F3 'X5p#(H-cKH'DSDY)4r0@A%b"f1-JbLEC@HTcNBqX)MYA'DV&D#3iiA"Ga8G+30$ k'1+%eI+@lXVXEHYk!"%aXd4`r!K@V&U4"Qef')(PNFb%jjBM5mF-LDRHcZ66%0L &+p[Hk'!+M+TAaS2*j1B9@K!mhZV6l1LNbLAX#bT3B-3h,I&baJ@rHX2!-@(Njc% ,pj!!qG%I(dL@Q9$[E`2(23Zl2dcRR8p9pbDdTE@9Qi4[IQl+2S5E80cF#HLZ'"2 3ACrZlQiqqGPD4%[HkZGcila8Qk-DR6FqQF[E#$5E3@Nc4iCi$*Bq9*I$Kp[ZlZE @6aimHIadlpiDU%"3kp"mL$5A)riQ*La,U+-kR+PM'Pdb01b8-LcSiSPCX10ZKpM Ld6(Z'R8LSlYD)GECK-$!@SU8[q$6#%V[K##9X5jBD%,FFm$)jFAkp8A8,P@9e`" I&0+CiD#&*-ZlU1`PDBH&!'j"6rESAFmfhbd##E3-S`5rrMaLL@QEc%IM-hk'08F B#6&NE1SqQV""cr[dlF5%,Xq%C,Z3!$[,8mU#5FE2Xa6b&4`Pc,3%BYp,0b%iS0a S'8-QANma0*CdHqqMR5H2phDhp`lpP[UmKLRk)+kbf0U(`TFN4)GM2%qah(T,Qaq -Z(+NG!Qe)'e9N!!53KL3!)U3!%AaS%iX+`A)M*5l%e"'"Vh-l85B@0JlAm[[ZM& Z*P'ZYfPqZr[2&QJ6p4c,!m+#6b18)%`UH(!VD33dBCKK4EhDkl1HJf2&D#!MRN` qV-L6lB1RM`i2+S!XNKApm-`Xq+l(bAFp8"Eaf`*$(k2mkSL!jieEi4@4#MH[Zpj "8QAiich`Bh9,%ZM,haVR%pcmZY4bBl'e0#feH-ZA8[VBQ58ZZ,KBF%fp$KkkI#" mE(IM6KMh6jpZ(acZ20jMi!IH8V6MX32c'0+l"pAT*$h#")1JF33@%-A%!T6aCiN XIR$H#dRBN!"5`mV3MqBA!QrBUqG&bQM53XIH!8TNKE-fGNUCSKm3N`'DEf5R4(T &)r'IG"C,0KK*$CI"5TaTfS$aESqic-[&*,5CTSm9@5B!6q%YSEKbk48`9XAiN!" %%'3Hc8)Z-mJ[NcI1qk-Ir8M$')kP"4LDLh0d!0-2*)3'#XkmBk+8%DXp'ibL1c- %IV$%LQ$13`'EahfC+F)&#Lc`9lr2bD,#Y5ckQRhBNNZ&fIed6'6RSBpfkX(C,Fp q(N-hcXjT3SP[TdilhXAp4SXdVcRCa&1k[!81jHkK25b6L@4D[cd**N+%*U9ipA- '[,GpZ29iPiMLZKff3-*$$ipCd)k+E"*A@`8lPfmXe9G[iLASb%%0UId$GDp#l'B ,`1Cj-rq*QmVq1BmBRh45@+ZPL48SKlfR-!"@I!f5(9@9+r'5'bhkl)mX8f,-,d4 h[F6,q`G+dJTZ"V*kGJ%rNJh`!AdilLpm1#Bq5ljTf0QFpmUUp4*E5Dp0mFkD$M" N0@TEcfl04`GEYh!rL25*f4@)c-N&"GI%qN)k[m'fi*d"!,fedK8N[l$4FSh3CQQ mc3CJDkASNB*0'#Q`b)4L+QK`%J54D5fMT'NZ*FYK#'U#4K#F3-CKBE8+S(Q&prj @!*pN,0`"$E#l+i#Y@$RPH,A"04$'CP-F'e$8a"I[5pT%UY`kcl[lXC*Nf"-iLSh `b#i(J1YicG)(JrJM#Li'*S4A[)c2X5[@N4kZ-Za`JJ-0YY11[,)5-930[A3m3*2 J6i,lck0CD0J5MVaL!d&!$[+qm+)$+3CKSAc1QkAjLeqC$CGDPSYchK9U!QBYYXY S!D%M-`9Ba5Yh`ifeeD@eTCXc"fM&RqC4-BXI`(Gp0J$kVRm$[e+f`GC1"Ke$DqL #1NdC+)fY601X2T)8V)rH1KIdU,$$Ed68H-5fM((M$I+c4Xi!qJf%k2%*HL4*K6( iFCKqM#iQj@LLUIlq-*1[$8fheeC)JPjber#Q[,5dS'ih-@fckGiqA`6HZB-Q@4* +LDa1(0!D(HKi!q+K'"K"+#Rj[40*CT!![X$Zi8GM9cL3!,U!P8pC%d,DbD`ZG8# iQb(iY)(5N@p"i)9F6aU!&U"KTji)CQNrC(rc1JV2LreS%#XT94jIhN#L5U@`d"6 XC9F55M#Cb)r[V@`-pG85IQmp`PL"r8I5[+iUd@NPr42-P)eH[i'IZ,BI)`S52R1 A1Q8FfDX-PTYFRE#fXS`(kFCR#hZIK!"$k!0J5&QN&iDNH"6F5)Zh9eCAIIjBhPY k#61NMrd9J5BKC&Tk5pQD(E$ikel!r'(eeiX#IejqQq(A!'#2[`!"3XF8m&6iKp" d[A[NXRF0EqFH8F5&IbBi313Y0AY6Yr[-pZ%CBUj!(@43hCTrY6mDUL[rFFi5V2E 6&p4iD$BHS`&mpIPCi51qS3I*b*HT,Gh`+9CUG1X*%&rlFGP2I9dbXal0Kp,8)Zj +Sbd%&R2B0-L[0lck2S!6YE+cm6`l8aJU(,$4ra51aL2&hX-J[L'PbmYV+dSGFYG `BVq%ZmHIEPZQdMldip'SKC&N%h-k(SNdYN5m@4mB&$hq#HB,E!G&FV#*$-9K#$l 6%YC,5KJ0iQJl5SH)XMl0%3hXa!Yc%S2pl4KPlLY4"N)Q'a0Y5j13!$kXpeJ2ZL* c*9+9KPeZf'%NNAEfZihrhaafNYC0[03dJRAPeKV@P4N%l23mPe(J9!GIj00FAPP CaG`TRfDq0&KCP5@c%BqE*lTBU('1B%TTr'GFQh#Mf3+!0%-!N[k0'-d5!+B316N 6!*SBM13'a*R++'8H8)AYf*5-La@"6dABM6pVad@2GZ&(BMaEBNK+Q035&0%)BGP Sh9XPba0kAZi1-M5q+E"&iK$9FIQBTKF5q'K@bhp1a4J,dPmBmP-E-N1,3N[Q`[) 0P*X5`SC@P`dhKKd1M-*e)(N+`kC#8XeS"MLqr9UVq-9rr6KIJ"E0pV19GC5L`S! $iZC1eRr@fSLRXX%d'5h,IRk'*j6Nbc1pr3dZqmG5DAr#U-JF38F+(NGG58@USjU IqLiQe',KemfX3ec4J[p6jETT'elaGEQi-b)rGT[Spl4VhAe0@X*EqXUEK-LKhEa mh"PYC2(*qE-IpZb08+L3!%-1U0P!BkchaNQAd*!!AU-hk$43Z'[bdd+5V-*8*Ic f-U[!aRA4eY,UqAdXmPkZ`-G3MejH6a#rU1p6[AQ##iDFa*&1r'K`mF&a0j&R1'm Hiri08j)qk$C*&cHAJ,,dG*H2aJ%4`Kd#,V55)l06"mq"6RRb9-J5D!6db--k0SI MH)T%-8@QH%2G5"GfqBSKKY2LLT0K+qAX*2*",#()mQaaaRdbKU99-G(+&JR)TFr f@Vc"c&LNh5"VArAK%I)6NpmIM"AHc9RCY9(eLT*Q1lE$U-c-+@#N30+DLrDfYqq 4SU%ML3CX3BVAaTr)mfT(cFjZ5AGXLjd)C,NR'P,8'@1lm"C2*DLbF0#&)$!&LEb N[(!4,-BG80FGb!1K3IRVJ*D@SJrQI$Edq4`,@jf-&@Da`Z2UM`lb1GM#CH+X&*& 5B!K(0h%mNFT@Pe)GX5pB-NURb("XVLdlVSM`eH6YZDYf)%8)rJfa[ha3j*PDJ6I Y`LXEiP$Q%Y$CA3T!N!!cbdmTm[6U,Jmj`QKB3lR(HQ#qG%Y2m1FY3Dj`FhQRNG* @A[M-93Xr-qqm2bVUL,`i$8b"i[#5"Qc&K`3LlUIqp)4`)S!YGldkPF[EbcQ,LK! "Jl#`&iBM,+G&KmR#j#I0BV!Z6&(E`NZKpkb!H"GV"FG-S!*Iqq(irCC1d-3VG(r p`lAEK$[8VUhHRM16jJVh9bb[,Yq1lSrCq#NG',1X"5'BCk0PM6kE&6$cEpR6%b9 )Nq3pMYhlj0L0i`h#HIV*!-aTM%pcZd)T(Nmb9,qp8bfNL%mY&LXL6GHrm08mIAC !$*-DRTm5jXH%#CLBCDVbP[5%rTR&&bM@9Y(C4'K-dL[Y%TcIcX@d(VY-MFLm$ZR iH960rRYA8EFe2Z)+Y3ebrEL"$-QYJC*6Hc4ZZR[fm"X"GfPa$ErLLL5m9j6aS1M '%80XBCFAbYaUZRMc4[G(Ui[('pR4NLdP0mdd0TmL[IejHbF#h-b!4C)aJ&9#F,) 4P!b@$RLiZhhiX,VF5KmP9+(G%+mPq*r("dEI-*ipT,B8NZCM0mTB+hpcKSqB#2( Y#YY#TJ)C)*h5f*6@ZRA2EJM`&maKFR[I(fYe&+FRK#-5q2&TShPXPeTK0PPiXVP lX(f`MNZ3!,`61,"2+["'F5jGSf''6++b%L+$P'Karr,$b8DRJYS!*E6$SBM,*1i @VaD*KDV#-KQhSUG)jDT8Al[e*!4T`ZFNMHSF)*b+)45&jcV,VD4P--F3DD2RLSd Q#YHR*rME#dDf9@ADHEQTbYrLHJJDS*G6#e#ef!4fMj!!5Mr`a`KR40SX1l`8V"k U!+'p)Ff4jd8[%Z9-Re3$Uj0VM(cpbX#i-)N*X&c(53*)@0kSDAT@Ne5'SVTIF5p d--Gf-"a#fRfb6APlKf4$L,,aqlldd5")!#5GXG$#KX`THJF,Af8AX$r"0)T5SQ- 58V[A)P`8&ccQ@PBMkFV,0&1LAd50$Dd&[%+1(VG-ijX,"pIBZPZZXdm+pkFQX5i 5"F+f+61'UqBNA*T(Nk%$VSTVADXV[9ZQAGq0kD@&a1dcZ#hE*D3h+eM()Gr9*35 bjQJiiFL`+1b8ef[,6,LT4ld-N!!e4Ul$kFL3!*J,biMVQDf3!-&HfSq038U8#6N AK6pM"&j3GNqI2(*XPAYrSM,5e(&M&%0!QSfdZr$V,YParBA(4rA"55HhJ0peaQq "h&fX"9!)Q06Aa&Ha"6qc3k88(+iPfUVM%8--ZRcTBc@3!"$)*E5-%DE5PQb1E"' pZr1ZefYDFBpe86dKVR!ScqYEpCl5C5dka(lIhPH@Y0XEAFip`aGa3-1J3%[d$!- %,iHJqLk3!(1-`r)Zq5GaIk*"RKpak)RMmNehRlaNcjJarH"%[IdkCkYSGD)LclZ Y6AGlG@AaHSL+`cl31Q1VhVS)CLR#IS*)irQ(,8@)iMGeIB+c-+HSjQ0(!LY5*$m qqG+j&3CjJ&&JB2#$9a3l3$rT)MX*8LarJBJXqH(,S'LX`-T*#EFVX)-9c,A(M!2 Z"6LVDHqD+#pQ3"i*BGeJ(Pf%Dc#mK+6*QIpBMMA`KA2LhRT,ZaJ@d$riHQh*X6f 3!+[$cm53!*!!B5Y9dZl*-%)BKZ)$YZcD2ef,SRTfTCh#6`Db2A-F@TQ0RjLmAXj &Y)H%QH-r(fib*RN'[E1khqa$AVK(2#N2YTKDQ*I3@GE3QrlcIV-[`DXmqqHr%B9 ,4h!Jr`HN41X66,'-KEpJ#VH5I!8U43,m0k!5VCHSBX6BVPT`QrZiUmYEEBb-HPA mA23@jI0UpF[EEX*T*#'6+d6E&ABMNPDpldI*BPpZ%`QTrPV(H4Q%r68M`D0B([a SCJ&$*a@rckEiL'JEP)pqP"!L2Q5R&%BSXRpDa2*dZ8IS'MS!jJf8G@LQHEaa4(5 !,'@@p#FFH'$[5M5lG,m40hMpFq(`)`R),lkbqDkQ+cG[,ImSA[S%0mYTIY4HA+C G*,%!SN31ISQVNH(U4$(l)aDk'3"Sk)5(NMM268lNj0jBA9UCGeIar#1SA%@2X3Y r"#"5l8Aj")6K[KGc(fJRUhebGqYJ1A*d'IS-SZ%A1cKmiQSlppD+#+[hA,k'K@' iI2hkA2("c,&f4"&#Gj9%a12$&,RqMVZU,Ui@CBMcVBV3lXNCBLEH@VDjD,*k,hD 1&J!(pNkbbG2H'EGZB'Spi%plGX49&@D*ZZc,VGe4H'$i@R3!6SBAY88mZq&9fHm G,'C,&,#dL9UB*56SR[F#mi2I&GAZp2e&Na*hQ)(lCBJfj,h9re8eYI-H34P[3VB 46'[Ja#LE,qUK#99MB0Q[AYEd#h'(F[bG6EI)6m[HhqPRr1@(pF[(2lQB$$r$T-p DVijMpEi(6*@AGFQLd*dbBCaPhFN3T&4q86q-cHEbRTp*Y@'Ic5`X@0'Jek'*Cb* QK$F"*5kQ#T,jX4b3!)8bf5B8iXlSQ&0&VbeGEY,$4pKRAJq4heejDhCaUpBfX1) 84IlTXKrhbf[q1qDKdH9!(MlYUiH['pcbpe1p@X+rVrX8(pqXr%9$EhVf1hlaK[- QGGE(llY6dFP'*bpdXfDa-41BRQ*k@EqL+D!mq-KFm)EaPkpJ!jNT3$H[RmG+SET KYRj$0f8FRK&!rr42&&!Il)pC!95`E1FP*5`IqXK(0+kZ(8e8*6#`iMV"8qGq@DJ 411`PkR##5R&5E"#Zr6NRN[iYqAp)c'JQIq'QRBqL3d9)6d[495e"3AP(K10lJmM PTYM0VDBd""ml(PB*,T-4IUI,`YKE'ee04`$N0rmqEr!8i5HIU,$IA-dl1BL+@bJ VG@f4DkM@b*cr3TCp9$3FK,9kG56%TMNXL1,-P#CCA5DLkdI$@8Lb)FMrU3Em`6T kTV5HFaHLqH+*TKY,C$U6DZDAAdEdi1kV"+3#MR`3-Rh)SA$rlQD9QfN"`%S@VXD [3ee-'MU`0f&FGTD@"Hj+2X)4JA"[`EHPL+5d''8!#1S'i9l'RGhk4cZ&RE'90Ff RAF3`KpJcki`Tb!!1-%UA3EbA1l#`VC2dPjpm%1hll-e`PN*ei9%TphQ6"+-aU-% )!%LpEGRY%f2#15`Xr&T3XH#ZX3`JQFm&Z$Ce5eq8ip!l,#3BY@d)K5!@0$S0(+r %m-c1Rr)Q860mHe-)9JXP1T&k#ikPGRREZ#qX,Ul,'&J)Re)EY'HB&'+lebfBP-c cb[La200haL8(N6p5+JMede"L4UA'mXB931MT6p`Mf5qjL)1YiK$6Q3EAJLhMM[i LP1phei*T!qZ,+aE+Jd&ZQEm8bM1Ub`hE[eK!6'pra2C+ZTXGJ,AV-`A!GRf@!0U 5p28eh*)N2L-!F0IrKVL@HZF6Fk8mFrpeF3Z&cp"J5GUkS9-B&Dk3!$[FHV6-AC8 @5)J[3lISb+l*[0e+Bd8(rCE4KG6h4MYcThbXf1$b!KKej(0hYEX-3j9aM"5RP!K 59%Y!bd5-QHZ!(XcQaD@kNe`k6Pj5X(FjUj!!H5l)XCYlr&"PCb4Ca#kMX(02V$E lc`e@b2[H`mD"5F1ilRF#I1Gf@*f1!6UB&hjbLPKjS9ja+l2PPLV'e-3!dr+V%qN Jc"(M,,,L``&bFK0-*a6Feb(Ld2[kG4@1,#NH+%JY0k1Il8#TCLK`Pm56i[Bk'h# jE#C2b%bP8dMaZ,19V)'bFS(SX$$9AEk#[c!G[`6"CAFq$PX$Rc3[81LHP@'"0RD 2(,*P-!$IaF[*@qeL&De"hjLPTddDXm&Si)E((,kX0-l#X9U06a%TbU1D[A$2fEI @-biQL2XEZ*!!bf3H(8qJl"elk4iUKA5D0rlQ!2"*h$LZpDQ"Q62`9Qk3!%#emZT 3dXmbKm`5H*j[XKP'C*%AX#-Pb'P0Z4A$@&F9'D$6CR4pP-Fpj3GjGXee2-3kQ*P 4NbVZK*DC9V[G#f1dq"R[VVR)QhQdKhFM(,HdD#dSI`b$&iZ[!eS9ISMc4Ed')Fa UP,"-'hEj119$rSfaZY*Y'EX2GrFC!R,Pf'H(-ae2"2`49GB1*$qJRQ+`6F36XMF j#!@LRZUlaDC4QqL2X3@5&-%HIRTfB*01+T!!RTMQA'4V9Mp0d!,D!`Rb+FG&[UZ TJX(iC)P&`H(%RS4qM"'EAlL`*jFhS(Llm`HBN!$E42P3)4H`@@CkHCkC4C+A#LG 1E-0mJe$@%,DQ&56H`jD!k0!M)jhq5)HRqrY&kNLCGX'!bA9U3C)JQpkpE)61(k" PH8$P13(XR2a)(#(9886kAHZ%V58)#3BN(bY9E,(,ZlL2-CT,Rm6e*4#5F9P4V6Z EEdI`L0N#rhfZYrrKamNZjrJ0*kk`NHFkpm[c$U0%-AaQ0#T2ml+mPjIp#+!*l5# e4`%,1U@4hiYEYa'qkDGJ@26B-V@fG*e*!rKm2,p"Gl96(!K$(`*[r1rGAZ$KViI p$BfaBAphf&lb21Y[f!N-)E0C$pc$m4&(Q*)Yme@1MdiJjIMEeGG+lZq2@l5*UDU Zf&Zm[VVL"5[rV[(C*"@4pQHZ0V'Gc45J4aD80MZ!)&NcX`-S%Xh-$L"*#R(l)df Ul!Jf`P�P[DjfJfY+3U-Ymbf'`1E&f6&6!*`r5Z-"JG#'FAXYV+'"RaPfVj0"l X#d8d'RH6"mi6&Z,Zp[h(h2J5GLj5!jBE281!`A(Th``"$UGJZKN",)l6"@F)m$L 22jG-cJG[6kLFY&Q&H"#TNBi'3XcfQ+`,hA6Rfj,bFmC$lmleZ8a-D,*+rX#%UbJ N9kF5#6a'!$Sp@'4k!@'i*iKHEY`L[`(*A5NKAPHB`)%Ycl5Z,C)r6E4U`S4QIam SE6pZbr9KqQATA`CcJ*YidT6APkAV'!i14Pkme65%$"U(F$95ZS-r1Fk5,l`8lX0 3aRdl0)S4+c!+Hj1'B1IBKr-R`m'Q2L9-EKG0+PLLr@'U"XjK1(d[,ANQB9Uc(l3 G5f"!Vk&-&`Vi#NFqf(9!+MrRMde63JPk#+"[4kJp,+1MG%D,M%+YlBqb[@PQP!Q fL&hPK43YY$l&Ea3hCF#fS*S"kqXfe",p5A%[SPfSA0kj+GLZ%Gj"ACALR*!!IUJ m$8k`,V3IE)@G9U&F3,)E*DQre!9Uc,T%SC!!akLDPX))"ZUd#6Y%[q4,J`(HAQi re,d'LRmc#PGdA!"@S(2KpJQ9Xr14V%3iF0*R`Pe9kDYZQ!qCHCm,V(B[3-NDMp@ !2jI&k`4q+0CeN59j01ESNZ)1"R05"3VT!er8J4DCkVE&@#*Y&G!iQM[SSBFF!HG 1e*%Y*#q`'T2!UjZJ#'TSRLM4V,#FZ[rK$Jkj313AA#"bZ,1hrB[p63DhIEMpT,B dldki92`Z0NdGC&"DAAp6%I2"`FirE2pLkr'pl9U1U64Vem+G9R0clNd$q201lV1 DIqPjpIq@*0hMr`cfaVp@[2Pb,+@61U3VfireeTiqp,(+T4R8)mPm!05TX9TBEK8 RaZ2UpNMh6YS'QJA&)Uf6kcH#eK4h"4)+IVEHi*Yd$K!rmFK$EURjClKGXKB+c4A J22m[+Y`&jX`cdA"icXl"CQeZkQc9*--!,Kc8NeRb-lH@68S1CEmNc%3I'4$$+AU im0B5Y$$a0CG,j[G*EblVD4T[lbBpXqibU*H6VSc0aGE-ZpUlj5CqdpIjaiGl'II 5GC*UJbq+6Cc3leci`2mRIPR5rqEGhQ-S+$kdNUFD"cP,4Qr$IF`"BMIH&F&#ZV" S-XYhN!!Xb1kB0+a[FRGaCH$Nh*p+`bU9R+XHL+j1Ni@qmeH%D+q0GRIm3Ri1Vbh ZaKakM-[e)miKb%r55hI&Xb)%6Hh[hGfA"`H$RTI&c&bPS#U&Daab+!IQqZ'SV[" '6La3R0TApeS6"E4mdhY1Ab@kh'Fmd`b-%%UPl+ELSKYr#N4TkXQ1*-G9Yp@@eb2 jQfcEjIfEM%8ce'iUMYI'jmm"HMJCFpj2#@mC3D0hprIYSNl$(#E0prFLa4[PKfT YfqL[X+Gk!l0)fl9pX0%8em1iHb)!V[hBUXqhLH"*jZlF@H5d[[rkLAGD3Xcd8Nr Q+liZXaZMD%3!q2P`lY3q'pkFcDAaB(0RCqrqidErm+GDm*!!$QmjV5aIF-JTK&K 5JrC'B93YRH4VBaiajQV[Jk@`!SHS"!HLH4U,M9YcSGJYeYr%bfSZfN)l@XhGHkN 3FL!XXT02T[CRP!)!ZN"&DCMR+$CrJ5,PeR`"J9-RlI6GJPAdqA[mGIjfGN$-dH6 q%k6l93)P[m6%2kFFVIm!PY'k4D[p'eTLdI`#,bd1l(Gi5GdI%01ZirkAhjH3!"Q Y6c(66Zhq'fM#iKMQhf'6&IbF92d&0k2e,i#cM(5I!LIT#ek*,Qj)#E'0NZdXYmq IXqY$HUZNmQTGZ+a&QFDSfaa%@4S1*J9#k,%&4ZRZ,pNlr-QYF4[pX@mRSUK,A3P #[9Ce$,drXb-iErbeXUIX5p&Nd1TdVTq2B8#8$%I"42Y2,1e"be'HHqiP5+&KdD# rpY@Ihm)l@3cB""hd&9+!GA*,kG[Jp)qBr%FI,ASqBUq#AXCUdT!!V0BqjMVcmCQ eS$BAKeJD9Z[5[j!!G-cjAq'D'KE$MlGdF'V1e-'%amG`XVH9'R+5[D81Kp`YRlG B9!61rDJ!&4YPL0Db8PS0Zal3JT5klES5YEa$cCCp(qhQJ(F(2*[h&kcZ2f+3!11 "E9EP-$'+`#%RHRAPcK9$TLJm`T33(K@(cR`UA,VblT9`V4p53YIH9,I3F18)SUX -i1#KC""#!(4-V9p8Mdqf2*14@RS)Ne-,PRcJGmV9I!Ur1ILB+64MMc,+N!$@aRf @qI9'4rRdda05*MZp$3@ZCSha*b'90Pc!`ZN!T*+S30bIaL0fc!+6kl#"aXSh`EU hG3A3GE,BGFM(bf$KFimDR)1)Eqp"jB!TaLRDB1J@e(0f#N'TKIX"Ibc(Qh'8M9d &,%DSI3BSG!H1JX2XjP9+@dbV[bk(-UbIVX4$JhV!I3!kb0R,ld5FY[$GNBED*J4 Dm)%0a&41"H(GC(3,YaEG+FG`8!Q2fK9!"GZ+MLiYMLq!IiSTqX2MG#YFM5re*3+ 9-6"C8*,G`B#S6TpcZU[-,il'%NjC&kI5H'ak8&TG,P@''GS`ba2YeqaN'E[8j3e a(a#AM60M!rFbFPH$,@ZdZ5Me2Q5X55Sb*L4lrd@kfa,ReZ!VrL,GEEZ*pKkZjL5 (EUac($P,J2@$-fXb8dYHJ6(KJ)QPfi[AVf08aT4A['cN1ML[b9%#Rc5b6a@+21q 2N6R(RkU6PfJeb9$qhA)pXf2KM4FDiVEPIl+iailbAVAqaZb8Zam5VV6cYVD0L-c Vi2!T6q&A$J#!9*j99KeJ,K3`5rV,45XI0-+$$Eq5VpkPI9*IpA+LkC!!lD4E9Rh *Y9Zi("F8eV`3Y[cl@m126JPlhIJ%YahpQCCc9c&&)0mc([iZ*jY60eCZ[KCeI$G bb#R(IJ*hNjZA,,%aFb[,YKbc!"$LVpbP4)Khc&Xd+i"I[+0jAM+-Gacrc34J'Hr J!ITRR['1q`26H%F"9&r$S3hUHljKT3,R%+Lp4*!!+849Vd#M2e$3E3@)Nb6I1'M X0VMCmPiUef2dlZYIp2m$A5S!!!: