bytebug@dhw68k.cts.com (Roger L. Long) (08/04/90)
[6/90 Macintosh Technical Notes - 276 Gimmie Depth Or Gimmie Death]
Revised by: Guillermo Ortiz June 1990
Written by: Guillermo Ortiz April 1990
This Technical Note describes two new system calls that allow an
application to change the depth and flags for a given device and also
check whether a device supports a particular depth and flags setting.
Apple provides these calls to give developers a better way to help users
make changes when they consider it appropriate. Abusive use of these
calls is a sure way to guarantee that the Thought Police come after you
to confiscate your Macintoshes, your stock of Mountain Dew, and your
Technical Notes binder. This Note assumes familiarity with Inside
Macintosh, Volume V, Graphics Devices.
Changes since April 1990: Corrected trap addresses and dispatch numbers
in the SetDepth and GetDepth definitions.
---
(This file must be converted with BinHex 4.0)
:#941-MFf,R0TG!"6593K8dP8)3#3""d[!*!%Q"G6593K!!%!!"d[FNaKG3%!N!J
#(&41,M)h0Lj(D@eYD@8J4'9`G'JJEh)J4'9KG'K"%-S!34$+!*!("4@+!!5PNJ"
"%")!"06mrrm"!2rr9dp54%e"3d%"!+)VMUHLShLX!*!'+Zi!N!BFU3!!,Z`!N!D
I3J!-!*J#)!!!!J!5rP[iMer"K"Z!!)!e-5%)B`"3CE5)%41!!3N")"%C%S!!E3*
3r![h6jb!I!+-$$K5!-8!K`*#MK`CmQ6+K`R*K$3BS1M3%`mH'Lc*0+3#!"N#3')
UX@R#T9Dc'ZcbN!$VeB3@(!#S5J%F!!S!-!5ip8mH!(CY!qKDU*!!)9fX@!(3"6$
",B5V9%bf"H"K-&ajF[IUY3Z!4dM(*CH@m&8!4X)4lJ*!'ecBl@'j*Im"B*!!%'e
"F`1)0M!SF(6TJJe!YLCp&MEVK,40e`l3)'(VTl@Vb2XKBpiI'r0!26MbTifpDa$
S"4%(LakpjFfI4`mL"TDm4e1Je+Yd6l`G'3+Jf!YKi%'6+A+S!+,hU8di*&2%8*R
h,`@m5Y$-BpP[Vr%QfQb[!3!F@L--9paamlb5!$ehf200'h%m3)3(+cc`""!8@SL
KKKDX!!md!58NJ8&SZ3$2*bM88m-$@Aa4a`0AM!&##3q)!3%Bp&4c3`P)2*!!K$h
H8&#)$58mmB-mRr6@fSUeR9!2(A+%!)-p,q34iB4re+&(+%qd!B9e*p`M)6dH(!(
+2"rN--mR-*cS'fk[h4$N291B-)H'(paa!#"J"'(2(B*3N!""6*(BBmd6Da3!66d
"S-2(&b`BbB-mCUAS@Qd*"0"0AJN)F)#T!N#3!1UUUVE++UX!r#!U5#'9HZUTVZE
kDUi!4$%V9U%bJLUZ@48EDMHd*Q6VX+N@@q`reJ"3aJ#q!0"!%d%FNF338'`E33$
rY''ETlRa4FmEG3J4#a$eK""0%$amS)1Gj,,B##J!$2+238ISmm@%34aLcaacf!-
(26BN!FJBN!$33m3IGP!!5$9!V"#G0FI)J%9eCMch5Klb!&02$-ANm%!4Pj``KCd
5i&QE!!cNK*B0jElJli56("+*Hfc-8F)L)GG6aLYef"20!eD%6!mGEYb#$+"fm)%
"bbkM"E2-!%K3,QphISS@E`@3!&[JDQ,[eP[CD"fE,!$,hYUXXdfC)%8CGU3a4aP
NJ#"'(MSNF%3GDE$"4KPbY2%'#%r)38FDHL5J4"eZP!&#$$RN!)1893-`a"HFGql
jjk#(,[VST*IH!1DMX9KEC'FM@&X,XjDd!E2%`Xh8Q@p83Fml3p6c4",dr12%!dL
J)Cdi[k"JMjH[(%(2%dL-SFN(1``3k2'rX($2(RcmBS3TpZ!4FJchr2&pq-R4-dN
)pX6a4!S4*L($"fG3--m[U#F!&Q`(CXkEE*P6@dRDKUUrf)iTd!*!(DKP,@aTLe[
H!TF3f#BUTK#`GJHd9YId"`!,!!"hZZ1Gli!R[!G-33,B8alcR!Fpk9(2HRI!R[D
ijch`L3mBj$1I$G1h[[Dp,hlcUprpmVFr!k%00Ph,63!-F,0k6#%53+J"!kD3!,)
T)+!@pp!#*-CJ!(HF`KJUBi!YIR!'#%5#1P4JJ"DSJ!!*R)#-J0LH(L!`"`(%SNG
XX-F[cP!%2Rh#"3#Ja`5kq%@9A6',N!#B`XF1F)-6q1L-X%MM'X9)4J`mi!kaJ)%
F"Q8aDNcK"@h!!JMFS!iqL+%12pK"!U"3!a#mi!jjd!3%lR'(&GMa!A8)a"1U!BK
!L+"JH,MN,8*a!"KBc"iQH-BDl%%('q9!(ZrS6FZm"J!%-%"e#LLA!'Y&ZlGP%!!
Qq'C)l['0eLPVI`@T`Ff1"iYPM+&pJ$!'$"5CKaj"`&%lZi-FB''aHf#"![h!`K3
$84aBN!![$%"`CrX5`#&!V-FBrS6!*J%K-'pmE)Vh#--0*J!#LPQ-P+C%*5$VXB4
CrY-"Ci!%a@i"L%IN34!ID)-"FR!!D26cRjFF!`V85)@3!+h(!8%`4a!J`D-c3!`
#a5M&%`"*MdlF-TG!Z-Gj((S09G3""j*++K*#9SNI9!-%#Sf$(41!"h@m)3rTQF)
(@Q#2%i$!(LV))b`BYMdjI-"&+*TQZ5K`cGTJS&aP+0GT8K-CDSM6+V`4L1Y!`M9
2FG#$MA8G@L+!",[4i3eb5)11R2!'1j4"F'%`*`!FS,V)9Ld!`CK#'Y``"XR4!3f
5@bf@hN#'1SaKF@p`!`MHB!B3[&Cb63M$''6lKMQJ!34*5!),3%!'ZRhf$A!Jh"a
!J)B`H*DkBFMEEd%`KpQki3`JU)-FcZ$D`ifKZYpe,@bC@`Bi[(Dh[3hZF0e`@H0
bG`ab+%-Ch$"Gb$9A$L#!JacHF!BjK+%0)"K$EQI,"KH!!!4%F#iES#YGq0*K[b!
)`ac@X&aT)1%0GdK`'(5EK!5MPlbqA@pchAYF-``B`@h)3iEK!!FfD$B-Z0@YMGH
JAZ$Q0JfAPF0dap"F1c$h$@@B``qQm@!UV$Hr'XlYG-f!f46E$34aU%15FicGkpS
K$*R&'`KFr!B%`d'm`"8ZFHeEh6'XBEAJR3-FdT!!@6VipR"IYR(HS$`(+GmjaC*
MJh$A!0maVjB-F-i`#-l`"YTbp`eXU!1Ali!'c4lh$ZKL3pi`,3G#jrF-B#E$i!K
@k1fZq,ehSm2L[J[Sm0i0`'d)Jic2fqLlZ8#d@m0eD343K#!%Z0%!RN0Vh3$Q0"c
Z$@-BJhLR5fN-Ki'pRTe`G!&mKa(6BEUA"8%DfJ#(iNVZfDe9A"K@bei@CpJ0H92
`K!&FC6%)fXhRhR5P,mcG-UJkd@)S`aM#8)HlY6S-0,Ea[VP-"L42e`e[X$1R#Af
(cl*KZ@RS,Bic,,MPhJ()aafaM"-1@`!Vf!eQ5--Ca)YMBl["`5"`XZ6b+fFT*hR
-,iB`&DC!m@VRBEUV(81NQiYP,AIAj0-0JaM3TI$UfVQk00i[YJqhAB$Aq-D6KUe
ZYcZ(QemB`H6ZYq3+rR+%fhN1GD!aCZhmfLY,!lU,Lc8EQ2caN!#2h-"FVR+cGCY
Eb4R1$8#ZmT96rHIYa[S-QNe`EYe1mK`[pj4fjRL&`5`jVbpAlP*[YGB",)E-IKI
Ekh@k`%ZHflk[PmcdMEHfl4abG'0qiYZG2(D(I')a8phHU`C[Y[[F"RYAQY8AIbq
P,6ekE4mmi5!S3jE6N!"dl4kZZ@&SX+l0PX65"-!'6jMkHK82B255BEP%Q2Q4Ahi
hbFd"b(AJ2(p"d1cmRR['6aqib9-mFH6hM2`B6c$Kk$"Zh@il$#LQ3akL1peBbhM
KHJ0lK!0rlr9XF!"QLk0XJKCXX*GS)lCTQCBh1eCH!FCbqd9fkk9kZCGac*8'b8G
JH[-'H-"GfaBiB1Cj2SCh36CN4ICRb6GK)CCkVrCRjc9LqDGLl9@!k#CikeC[phC
j-&GQ"(KlraC`8'GbYhC%TN90DJ-X!5!-`h*B9l&mD1%&TA1&@*L&@VL&9iJk#`)
!Pd!2'P!)28)rFh!$C(4*qe322r"5-@9#AI"+C!!"mr!',M!2$h#(Q%*)B$3&mE3
PeQ!2X@!!$+!'S-!MaF012")aIA!2N!$3"qeK9(B`!3R`!9%$!Bp3"qj!"5M3(Qf
3!!83i&&QG!K$G8DrJ&FUNMP,3"XH0!AP3J05#!$em!pRmJeRm!4%J!IQ`!,iieM
lFb`@e%d'p%h!1%$#H&L`N`YV-cYZJd%CY)4l48()BSc0k%d(e&F8%!"%%!"S!!"
c3!mlm%ja3&%m%"eYmLCa-LF`N!!F$c!%9"!%`V!S4J!1D8!*'"!)#`-*Pq!)BV!
-!h!2Aq!F)B!%a@3a)r-#'l)#-l8F+$3GX"!*ep")8r!)U%J#Z+%k'9!Z8-#+!#"
3Vp%&("PBVr%%A&L5*RQ5RY-!!j)j#N"5d@%$U[!)U%0DCm%j5(4%D4-lh&50`jK
"X#L&XeL,YjL,ZpL,VI&B@C-jI+8kIc8frH-e!@!'TC!!!#S(!Qf`@[I("KPQ1*!
!NhLpTAUVG@CNCekY9fikQ'k3!&CPU4Cldf9F%4L!IbCJRC8'2'H!q@8'K,0IV69
GL2D"i$9d)eKq2HCU!iKTGD"TF!PiRU9EcjB(,eGP#'GLEk"C&&L$k@@@D-"XN@H
!#+KCKhQ#`X9P9dCVGh0b6CCj4UKqRHH@KjNhXFCMV5B0#-GfD$#CVG9Uc@8'r-B
'G[D!AICYpFCIDH"ZGUG[k'8h#%CPeIH!0XCU9!GqiNGqN5H$!dKVh[Cl55KC0kQ
G0r"Jh[QGi"QH$pB$),!(-)!(-J!$-c!%,(#H-2#H[ZDH-"!$00#HH"!%q#N$IE!
$SS@89@!1M+!'9b3%a'-mdj%mp2!(4%!2KT!!!k(`!'I`#5``S!#3!%-*+3r)8!X
%HJHhX!cdS!B%pJJ6UU%`p+%KkKmSiSXGC'j9TQiYfRV-"J!lm*e*i!4-8+0&!!)
NN!#HkmN#*2#H-1"V2cUIp8N#q"N%-M#MH`!#6G"CCH!#6!!#)c#N3IUHp-N#4(!
j6iQ8iA4Bj05I435Q(33!1L#HCLUHj'QHk+QHl!N#mKQNbb@I-6!$FAUIqEQI4$5
Q*9%'h)!-)`!!"f!2!#!#)B%@aL!%C3"iES"hZ"Gr8f"eCB"J8m"EG&"YjQF$,J!
$,Y"++2"TS6CUdm9EdQPl!`LC`$F$-Y!#3J"N)"!&J10Q4'"J)ACPUp9G,iJh+E"
FQRH%IVC[Z[@D`,P[J[0R8f"[%@CZf@DC0lKe1CKa1fJ'JKCR$3L%bUPSLSPK48D
C5DKAVc%)(,N)JP83$%!D!6#ZiNSEaI)!Ld!0IaUSJaS5-9!5K@!dlC+*S[!!1M!
2Na)$#-NKhp%'pr!*cK-%ph!'`5!2ci!$#"X$#!X$8,)$p%)EjB)!Ma8jGf!%d6S
(CCS%p*@SK*-#1X#a&dCHFX#I+ZT"2%#M0SUM1XUMl%QP3E"F3cUR2RUN59UH61U
N8#UP-'ZPG*UPHHT"raQJ!fT#$BNm+*!!S![DS!mDS5-k34EUVaQkS4eUSQFJSJ0
DSL"kY5Lk3@"aTYkCTZITXLc!&'@!$Ec`T`e!$ZrU-Y+b$5c`T`l3-QLJ#JC"'U4
aYT6`T`'!"D0KYkk"!G,#$F#`!J8K&&"JYm+@I0a9QiS$!X9+"mIk@LK`"%5!"-`
T1@G`IBdlGJpQXC1,"LcJPSqlHqH&XIJh"mY&ZRCQXDKl"R13!!*LkN%Pi3#r!!C
UblD%kVB2)!Rm`,G-m,GhkaUpb`TmklF-!,LN)EJ23!QiB,J"J,KfLj63k(bbF!8
GTlPjFf@Q4MH8q@IjCQ)fL$I,"EV0kRZiQ@4d*QDRGP`SN!!(k#*LZR@!T,CGBX#
UlEYE!1ChY09iqTCNF`"Q-MClpYCUqC9P@mDqcFS#+5#GP[Dk1"GdHX1U)IGCHA-
hJh0EDKPG`f8'HC!!D+ClA2GlEGUQ@kkEX4PQIV8hBR"Q"SHTUcYi`UQE`T)c`NX
(Pha(EYZeZ4"XD"CFDMKB0lHCA`SQ"hQMBGc&`4'A"Q+f0`jmZKQ,FNC3C@@!"`G
@Bf8!FEd&[h9!IYEfChchE2NVUQ8JFQKJCq6QES-QHVYhBFZeAF+UPBD*Q1',a&3
Q1##QXEfK"CP$L2YM6DpK!KcT!Z8b#4cC#HAb$"aj$HA#$Ka*$dVd!+`B!"DJ4%)
`b8b3!'[09aXaB+Dd9`Cc!hDm#3)k3*k4'lSS%'1@klfYa3)i`!)ad*iTB,+I-V(
85i8"i!3FDf9$pS,P@`Ch%,SJ3*iii)0"TeYPI!CRh!)MM*N@9fP32-2NfFQ("R8
[peS6PeYX)'20A(H&*X1`LllEeQhL4Pm`R$IJ2&hN#3-*0MKJKRRD'f&f3!Al*cR
3LRmPR,j#[(,kKPPjJ`,X6*jhKfaSm'*C2$R$c)1BP3)SGmVRQepd)&lMT`H%FcJ
4aeffYCGci-*D@@A2KR"Zd!)82@!JN!"R@UCY[F@U[ZTefXCYhTDqhjGIH62'dXI
2#0aG#Vc25HJ%QH-!(+N"VmL4Pr`DBX#4DP!ZIF#4L9!ZPF#4RP!ZM,`rhj!!Ddp
C,PdU6PrUYAV+&#!`!1M330Q5"&HK!L(4'J&J"6ea&F"3eJNa!%B3%Q&c%+,!eJ"
3!*lJ&!Pa!-1B%i!+$h6p!*D3!0B!m!#k%"))!3!33"%*`GF8`0FQ84Vd%")'9!&
[R4#lD`%mR4#XN!!3'3!F!-$(!,!"K`d!C4[DIYde(E$C#H%"&Y'0#D%%("%5lT!
!%#U3!"R5m!1Z-"#j)3"93&,"4!8F-!YmS!B2i!45B%D-F!6V!3L["!AN!`FZ"90
Y8)LS)!#f!!*U8!Vh!!GFj%9pQ"jK09BF-P-0B%-03!@4#$'8D)Pm!!%-S`D&`!#
aS%bA&!XV3!%'8)QAQ)QEf)N13!BRm!aeB!T!!%N-S`d%eNZrC!pr`&3HS!i33!j
IB!GjJ!&f&!M8R4k(NP(kV3&H)$&JX"iL3!'AG&ET%3ZZJ%Z"8#5'X`B3%&CaY!F
6B%H1@!`iN!!(&(!!Sd31AR!%BR"AJI3"BZ"24a94AA$Ke$dSB*!!L8&3iQLP(Q&
#"Q-3!K#`!Q*`5e5!49p`"V,`!&#J"HeG$%CM!0*!iRPJ)qP4$$f!"mB3!Jp`jR8
!)KLM-E%JSQpZ)d!J#&aJ$l$3"HjK)c*`"M!J(H@$#L&$9q4""3m!h-*0h-CY5@)
`"j'`9,+i"-&Nh"#!"TPS0)!3L0G`#Q3J"ij)5af5"$Gq-4Q$"GQ$0&S!N!"Y!!(
em!DCFJ4'X!jm-"m%Dl!8D5GN$C84J)f8V%6I`%(C#!klI3)aFaB#F!1jFCifLkG
D$9P8+!!%J,ejZ@ME#mr3pVhC&VkHP9N9c,RQDflFLi-aVF!XpX`2M-*ApQc0A-'
)LF(k&Q4*V'm4pm'i"mdL$'3iCm,!h-1-Cj9P`-,IaG(R2%VrMX)"Em2J+cRRT@m
mYVdeMHdp$1pj)kVGZmmJ3-6qR'&YUF6KVMIrTqm3M(+B1`I#$0%529dMEG'peEh
R2Y2R@fAh,+dr#&jAaY*J*hD+)fDGYm0TX*MEhPSc5RdAGcI,GI)TEfmVhfU'`h1
4Sp%#$-B&R2(FcR6Q[VibEfiS%-*@+@Y`5EphFm6D2Zl[GB!'9RXA"Q$N"Qi[5+c
'fU`-h4Z"68eq2+D!A#8Fq3,PBJ3FZC'[)3JFU3MPmJNFH3VPBJ`Ff3cPNJq62!"
+G2F@%!!qlAab--PkS%5(--RJkRcC--RKS%51$aB#8+k[d5rr)Kd#3c!'Jc!+`c!
1!c%5)iVd-1FE3`mGF`dI%c3NBc)SSc*83deA8aXd8aUX93BkJ'ZU3`)"J"V!%3#
plLN"!0Z,VGCdlGC`R4!%-0GGF`#Rl5PcLpH$AGMDRa!6N!$E#B%!jUm0iMm"q"!
5Y%(C)A(CPT%3'J!@kL$CR1hCS#hD)9(D%5%NU$m!N!$D3J*V!`$8*543[a$J"N*
#C8X"'Q%!@!%5N!"E'S"Si&B[)pR0$-(5r!D!CdX)&QNNX!%!-"9S!3$!"J#!(`3
!%+#0Z"&6U&kVJfd!J#SJ+J*!$J"81*!!#`3!G[!Ym)8J`"H-!!L'!J!3f!a!A$-
*6f!)DS*UiLPk48,!&jM!)$b&!j!!!hGJf9*r&+!!8)&YNf4!!JAS$4KJ"6L!$U!
!j-ZD33-0!&pN!L9B6Il"E%X)8H!*!J"-S!)X#48`6RK(@)%!cR*KjS!Da"HAB!J
@`5-S!*)J!&L##+!KK)34#!#JS$4C!I(J!f`!HICFTNh+`B-h4LY0JE"$cZM!(`4
$9$!R#!!3%#YNS+c)"[MLAJ!!4L!)!`)K0)5)m"qmJj!!X!(N)#ES$6!!"3#!'a!
!C%%!J!HI-"!539IB%f"K'r3(G-d4XSd8)!)#!#S)KUN`'ZD,Ia!UiJ!p+!FJ`"*
4J(Y3#@+!!@!Q%3!36)&EFJI`3#@`"p#J#cL!2R)',J%CD3"X3!r)JA&%-ETE)4Q
(8##lE6Gr)M&+!#8T)`B1%L39)1",J%N$+!,SN!$8cB%$J!)d`$I)&%01#KJ!9I!
0k8!%X'iJ!!cFJcLJ#Z6"0a!$'k#cC!!qT$)H!!S`&0(!3SJ"#P!`i)#9Zb3Di"@
`P4"J#c)+*!!TT`3(')!Qe`DS!!3i"B,SBk5(623%l-"4L@iaCDBX!$,`#Hl!(!S
VMb!&(")Y3NrqS4QK$JaM)"E%m&'3!%+4+[J#Gk!P(J-Qi1S%`4J)"SpJAU3Sl43
C)-"I#!!6B!)8K,Ji&q9LZ5*AjZSZRUZp@!!B!#&S!!a!m08e[`JB"D-!D!##B#r
UaFAi!*+#AS3CK@![`Ja$)"RpSQ)d9c#$%&4'cCJC+f0NI)b@m5VNaEcB'2FLj!1
-H*&F,B!&8""@BfYNM3(!0FC'f#JEDb0X()fNB3!d!%*JVN3MZ6SG3m&Fk8C[P4S
P)f"8M,Ea05V(fEJFNk0[V'X0`&XKaYk`'((MARb1HK%lpXCBa"flShImMZ"a6h%
$HK!#6%*Lh&hrB"@%"$i&$m!!!!J"Y#!!6*!!K2!AUS#dq(bN%!%)VLQ#&FU!Y-!
'c+!m#J"5-+KD38k3!)[qX3aS!bk`"JS#4Q!""T)[!!!mm,EB!24b#biJ3T+'4I#
f'-'I'J##LJ'X!Ua`#D5&0I#3!#B")q`Zee!L&53Iq&-%`#,"J"(T'NE"If3"KQX
8!S!C1EaHJE63"S!!4QS%%BN9GX(EmP1)64DdV4N)!)aN'GJ'R-"`E3"l%!"XJ8B
!!"SJ!2b&X`8*$0F$%!B!J!l3LQY#e[J80b#&%-!'I$BDH8h8C"PJ"Y$J6aQ!Td!
N8mF%8C!!F1"2)3$,8#FI3#k6&YF!&1K*am!"@%&1Z#CFS3aNJb"C6C!!&ihN!3%
J$Ia(@U!Rb8!!B!CX-J#8JKp*!rk8!Z#60")*")"B!#MCJ+IN!HNK8qD$Yd81rK3
$B!5MJ8E#!!%30[J8-h#984!)X%N"8!0q*"@3!&X#J8MqJd8J!),!i%)(T,!!Q)%
1)LZ[3KRS"Jc!F)N!3B82f151$!#+XP0D#a4B*a-#T&5831"22B"Z*!+DjEHm"X6
!F"f!PZ%0e+0VB!2B8KY!JMm9!9T'RA3-H!"EBJ0-3#mp3!#!!pBb2TiY8[#R*)!
ML*8'`6)!!fbC$6L!i6)!(J3AZ-Z%!!q`*61!!Z,5)j6,i98abi!cD*8IJ46@5G+
J!K8P!H"E)k&2"J!%%#q4J1'#!&0"!KM+e(%"iL86i&XQX%k@J!!`!V$P0G#@&!!
KF!2#FNe%jC1NP(80'AE,!%!&X18f`!ELmUf*J#"J%"B!dibA@%!A&J#0B!@S*J#
`QPm!@m)!1`-!+N!h-J*HdfUU!@c*$E#",R3!qJ!!U)#d'3$U!-1%!,V3!2Je%%!
h!8'm4!0rDJ,-03C!0aG"[,53!'8cYbN"ZQN*iL8G#*bjM3KicB)3#T`QaJ`)cQ"
3CFV+U5Lj`*mU!$J!BBk&!0!+'1D,l#$k)&83PS,3$Z)P)4#A&QPMTSl@@3DZ!6M
J@k$5)+b'I)!YR3%k-&`9!#&)K+8J!!a![0aE*Z'VbFkBB6c2&LcJ@ikK6Xi!!E!
LDLIbc!#@%K3369kM,cR"jbaE`R)6#!"Im5a*!#RdJ-c5)'5!aIBNdq9Sd3-!!""
Bbd9aYK#!Z&3%SM-KP!!"m#D4`1IN!i-UE3+!r9Nl5B(K)J$4SQY@c4h*2l-"$JL
FMJ&Y,Y!G`$q[!50iQBCPELj3)m!rZ3%ri3Z*N@mZd#M!2kd"ZkSQ&SP`,P!Z`$q
G!6)`A"+!'`#!aEP!cd!*438&F`N+JFN*!14!!b8$Rj-)D-lKj82,!!`3P"r"'iM
1*J!!r!$rh!E2N`!U!`(J#BJQ!&J'r"-'!&(%4L"(*J#i"K88(ha)D5!k5F-iH+*
m`(!0J,+P!9E"S33!lq#*jXQ$%"LFJ"X0#IZJJEl1Jf!#PbF!b+0R#`bSdF$'!pc
P06N96j)3U0(JT33Q*PamSX!!4ZD%jIP)Rb3lq*!!q@pN"S!2d%*YLNQ!!J"!"Sa
)Hjm!!!:
---