[comp.lang.pascal] A slick modem dialing solution

ajayshah@aludra.usc.edu (Ajay Shah) (06/12/90)

I HAVE NOT POSTED THIS TO C.B.I.P SINCE MY PNEWS DOES NOT SEEM TO
ACCEPT CBIP POSTINGS.  I'D BE GRATEFUL IF SOMEONE COULD DO THAT
FOR ME.

Presented here is a nice program which dials a hayes modem using
a given phone directory.  Along with the .exe, Turbo pascal source 
is included.

First: read.me:
---------------------------------------------------------------------------

User interface for program dial.exe

     It uses the environment variable PHONEDIR to find the telephone
     directory.

     Say

        dial STRING

     to have it hunt down a given number and dial it.  All searches
     are case-insensitive.  Regular expressions are NOT supported.
     If a line matches the string, then all lines following it
     which have a blank for the first character are also considered
     as matching.

     Thus there are two cases: if exactly one line in the telephone
     directory matches STRING then the line is displayed on screen
     and the telephone number is dialed.

     If more than one line matching STRING is found, then a menu
     of the lines is constructed, and you get to pick one.  Hit
     <CR> to continue without dialing.

     Either way, we finally arrive at a telephone number.  The
     program now pumps the telephone number at the modem, and allows
     the modem a graceful delay while showing a 'WAIT!' on screen.
     Hit any key to abort at this time.  After this delay, the
     program shows the prompt 'Pick up the phone and hit any key'.
     Hitting any key without picking up the phone hangs up, of course.
---------------------------------------------------------------------------

File dial.uue which uudecodes into dial.zip (zip 1.1):
---------------------------------------------------------------------------
begin 644 dial.zip
M4$L#!`H````!`($-(0`A<]LJ*0$``"P!```&````050N0T]-ZV9`:A"$"@@4
M8U+$R(&C!@@Q>4`0>>,FC!V*();40>,&1!@W9$`HP>@D31DR9LJP(4.G@0(-
M``#,`N`+$``CB@CP`$$G'X\?='3P""/'``\]=P2P`,%C2)TCBI@$`)2/*`*J
M2`<`2@>"ZI,Z,A01$3"TZ-&D2WDTJ1,"$!\".EHVLN`L`*T$S4+@"L`DK]@!
M+&+P&'!'W2!C!11AD_$/VCA<0``XPK;H@(,//6+6,3"7@(!UT4;-"``K"+HO
M`&!10:<%0$XCZ*@`X-&@CCU<`/J&J#(GS)DR.D"`*`ABRY`G36+HX'.\B8SE
MS6=`1TY#1Q<08]ZT:?,QY!PZ<M*X.>.21',0<-[(H0/"S1OV9M[4`5D>RB(+
MHP<)*\".!,]]``5@&:2N@+MA4$L#!`H````&`*\.(0"7F2YH0@$``&4!```'
M````1%12+D-/30\`$@,D%38G.#EJ>TR=;A\)!@$3-.7VEO?7RX3<D"A5J2!1
MCDT9,R?.FB#%Y@5)]*W;L':&![FT+AKBP[HE"U()LSM-6Y:LV;)LR=)MJ%#C
M;("^`0,TJI@@3Y!T\_/\25<GS[!R#?+4>U<@2Y`\A]8]JIAI0,#YHD=`G/0#
M`:<'<?S3NC(5$Q50#M^T;DC`?`GJ6/K&%@$*I)VP>4C<`9D0-_Y`EC%Y#KRK
M?K#Q@HJQR_P/?3QNH``=8U]\T.'''FA=UP#[4`6NC[X8^F#A!-D[\9LH-JL1
M9_]JZ`-`PSNM"Y'A0'?WOR";!D"V\S1:-R%)?M/^8^G5I_?[O^K<L&?+Z@0)
M8DBZ=>C3IC%U\BEV&<5\1C&GJ;,KR*=.^3XU:D3/DS#7M'-!NGU[9]J>P8$S
M>`<)]ZU<.M(VO-FW=?Q4O0-02P,$"@````8`C:S*%'DA_U'8&0``P"@```@`
M``!$24%,+D5810\`$@,D%38G.#EJ>TR=;A\)!@$3-.7VEO>;:@4.L")`\`!U
M`C3_('C,`@'JF[XR@^$Y;'N$8<\P["*&W<6P*QEV*</N9=C9#3O!`,-3&'8/
MP^YBV'T,>Y)AGS+L6(8]S;#3&79`PVYHV!<->Z=A%S7LIX8=U[`_&_9SP[X@
M[P&B&'8EPRYEV.,,>Y]A3S3LCX:=TK";&O95PPYKV($-N[)AES;LVX8=WK#S
M&W:!`X8_,.P9AMW#L(\8=AO#WFO8JPU[NF'O-^P&"0Q/8MB7#+N887<S[("&
M_=*PFQKV7\.^;-BU#;N^8:]8X$@V[#F&?<RPHQGV-L->9]B5#3NW80\W[.:&
M'=^P]QMV@0:&5S#L(X9]Q[`O&?8XPSYHV!,->Z5A/S7LRX9][8%K&_9-PPYJ
MV$L-.ZYA[S7LPH;=VK"O&W9XPUYOV`\B&)[!L$<8]@W##F+860R[EF$G,^QQ
MAOW0L(,:=E3#WFK890V[L6%?-NS=AEW<L)\;]GW##C"!\`6&?<*PDQAV%L-^
M9-BG#+N884<S[&V&7="P<QKVDPJ&AS'L3H8]S+#'&79`PYYIV#T-^ZAA7S7L
MO(;]V+`S&W9QPWYNV-D-.[UA_[A@^!O#KF38OPP[G6'/,^Q^AMW2L*<:=E_#
MWF[8Y0W[O6$7L#E^8-A/#'N-81<R[$>&G<FP4QGV-L,.:-@Q#7NG81<U[-"&
M7=NP?QOV>,/N;]@7-A@>PK!7&/83P_X7X'2`%P&2!ZABV&4&&.ZV-QIPQ[!+
M&?8VPYYHV&L-^Z]A2V_XB0&&7S'L0(8]S+#?&79#PVYIV&4->[!A-S;LU89=
MH(#A&PR[A6%?,>Q+ACW*L'L9]CO#'FG8+PV[JV%3K.<&[#;L#A<,-QKXOV&O
MFK@\+L]>,U$!U@]F+U"S?@%BC1`X78N:&0Y`'B;YF-*NBGL.W([8Z/_UX1.S
M[SH,'RCOZ!SOJ'8]./1ITZE0BPZ%"/+E6)!DZ<H%^=8M2)\@W=9EJP!:P]*9
M=A!/LJG)@E>#)J4:`MD!_____T\Q\=1!Q;Z52[<L69<)YDFT,$E"33MV+<BZ
M<$'215L6)%PT5%=\6+=DL$_#W?%Y0:XMF]>E2Q=AJ<$!8?'`[)`G[I>@P:N-
M?:&]Q:NXV!ZJYJ$#KG->?S_G?Y\%Z/"JYDQI\-]ODD7NDLL&\^S\GAW0LZ;(
M9TBK9EO*_GL1M21+/@>EJC,$I"3>2$FT*.AA!WC[I@+"1%@3T5>(=LW<*,]_
M8QWH8>LK&>TQ@5D?3@RN>1"Q.C`WIYWD'Z?!*S;$=]+GIA_P?OK,OS=9TXD-
MZ_>?V#)_?]N4NX^ZQO'[@R3?8>Q_C3#OW_]Z@O^*?=&P9Y(:7XP?\*[Z6=;E
M2(QH9RR\(/J!@Z4#P!I,O!2M=8&5T[E2\YC;-5,*-[5!]#LP_6``;2,N%^^"
M)("\"DG`Q'%\:X"DM09L;M>,;;,=5U31[VEI4PL]&+W'?G(#9%]R`XL^8S_"
M=N$$6%NZ2UPF6!CL^`">`P3<(5!39:PF/(";0]ZD4CO.-@WM>-ZW=7PGQ3;.
M'N08PIYNF.GG<-9OI&<;MN[<M&+9;#;V6K<56U8.9'.>!B";0`ZR@?_-<Z"#
M:3>>;]I!3+OO`JJ#%<^.VF&#F%Z!KIGNSW7`'$CS^8\;1I]__S^G1VC2>($]
M&73=\,3S13XS+O+=PK.KSQ?Y4IQYPYE/QIS6K6$0%T>X*QX\/5\9.1MK&@I2
MM&9O1'D=_Y4#H`>Z-'J:CC6]&%DY\`/SG:.X!I$NG*P!:Z^XO%\HW\`WWO4=
MT-G9#?P)$1:@4`F-SL^L2D+7Z>'['^SK3UZ71.+2?`<D+CR9Q,5$!W-<^F,2
MR;_,['N8VO>V;7+%&(_##2LW;-LRJ+S<D"2EE@U+9I,YV;=C=O\RF>=TT^22
MFTTC>4XV;5BV+JYM<A!XTWT+X`W<-MUI&QBJ8`5$?,@`I4L@]Z4-E"ZH445+
M-,`*J-<TTUQ'L=\%L_P_6G=_Q5;><.4P291[B*9WW*"X:%C%R.I!1O2)_ZN6
MK[6N*:6HJE90!S@@RTKY89;&M"$6IG;+W9[5";+&LZ(-:\<TK8HU,<N\KMNT
M<>N69?/Q3TM&BI[6;!XQ,LZDOB6+7(/&8[6I;\U\<[-OV;)]>R=J.72X4.<"
M78(,(.FDQ")01[2BF?HQLE'0E_$[G\<W^#Q\P^DROOS<$4V^N^Z"LV6+8=90
MQ$!/-^`'(-13W"!=4UC/0$GPZ8?)/CGN:<#^G?'`-A"<D8N-&DBL:1X`?7)_
M.="7XNW`]H$!O+Z;&WTI;IXK0C8Y<![MM%0H7.M=!E([D;3A!):3M\"./'K@
M\\G8"*>?6XQ"3%@R)PX5=Y,D>YTD&U@@Z<M06K>06N"J3#^I,LP@0&TO((CJ
MO]SOD*FP=4<W#@C;5M0'$-,02\RIXOD5N^;S!_CMS^C_Y@=9F_J4$L?^HK2)
M0W%N[JKE4$SE69U@V%X1M?DRGO6?/DK/(!0^!&0+CQXA5*1/G18EFE2JBL[=
M;EHYDU.B<;8@[9!VJ5/'EV]LYCN=T['/;B2OL:@<]!`GU\EWAM->[1@YVH7%
MA9D==3BE5)?3.H.<8Q$[UP5%P^V.$ORP.P2R5S$-[W$_78)5T1_>]R4'5R8>
M+@ZT9@/=AKTQ;/<_CB-!A>MOT@D$$HH(*&_1(U5+9.L$H`)H^2[>`N&3FC$B
M@,8U(U)VS0?0/8%&"VD2&]*`DMU$=?/&AKL9$=]?/("X*+2H9?,<._+^]6L6
M/T!JF8.3!M!3W9Q#<W.4__P$=&#FE#2]/X%@@]1GQ%PD.=P%ZG]RD'(.KP%@
M_CE=346695.RTST09;[^`]Z`H">2.8-G$L&9U=[`L;AKPC^(2`]44!LP8I)F
MK!*F#8<&X))(78I8&1K*%7>O#Z:RT892V",D0HOFNSH@1EI#,*B=EPMKR4XN
MX4KOYCK_]A$#?17]VO[H\=KC!10T#=_>\0$]Z!2X20,>,0.W$.Z,&1TI&ZX>
M;ES1$Y_'E4T:<1/)JHO9)S8)5"!CBT(%3+5_@(X]8(1#LP@Q&Y5O\2#_XG85
M-O8KF#7/IW)0Q$\Q1YY/6B9P5=,;8&N!_ZCW0^U^554K[(:J+71A6]0GMDN?
ML5?[1N87G]@O?L9&]?7IE,U#-"^M>7[-^VNFK0IN[%4>RG^)<O_/!*[;J4#'
MVO4O`LH=`>7[1_L4V%79ITV[2??+L+(?:I`>^<&M?B[C`W'_T4[<?\1TD`:Z
M&/IX!\Z-^@9YZG'`9PE2M7CYL'NJ_NAA+QF.KV?:!\S#]HY0[XN5SS=-%Z%3
MU@H6[_WKU2_V[_%`D,^%Q^6[MA\-9;GBX*KX^N/B<G)/0,0@MN#H50+@1.X0
M_<<!R.PQV!V9]`P'/(%NC"#U^7+:#]%/+_#QIZL`Q(;6N'3TZ*T('RK((Y3Y
M'_WN@HJ)B3"+IBH@@S$U+[K(\56$MRH0J"A?'3>0M`86$P9H`A$WJ;,@W7W'
MGFN01_\#^YL`(]^'/E/Z_?BCH>2]PX^Z7PS.&TLXZ8_#=<F[<).`31YR`'/;
M]#R!/_I`*"O\Z*D6Q*J0/-V6N"5&G,7\T8*X84:\#5!6\CT+`M:OLJZ%^!W$
M-W3"W7F#Z%,6I"UQ-DCT(@L.L\LY%H2RCD<0^M@`%4JOBU`V!B,GQ6-%W.4K
MINY?&=<#]H^!CM,..!JIP,06I0I$[/"H0.,&C>SDFOQH)M'&AX=#]8A+\!T[
M8!]33HX7X,[+!_R(]9ESQ]'F`8<]RY(.V-S"6RU=\>OIP_:*'N-`V$/13QR(
M/N'`YB,7<[>Y^"A!]"/RO-O_H,[$E;U'[8JO*AC^+H+AGQH8_BU!G='OGM19
M_^Z(J,;[T;]SO!O])]?IH*GO3O3?7*?+*<<O2*JFW,%1S?D!O6=KWJ!B'TF_
MV`'UB\1R]#0)&*<\^I`#EZ.W.(`;5ZY(6S,27%8Y'UQ7?4"#4%3,`K%HJZ)[
M5^PN7W6ZKRO@]49/#S^IF%)^9Z,'5DR[W(LZOOUN!*86:$.`7&Y"G3:?-"?E
M+JO$=?2Q_!>NT@#Y_H'!?:GEC2W?9%F&EC6/&M[*F^2#`ZC#+^WAX.3@C,J>
MY,'8!*6#N]9'U\2RWE_VAXI'N*Q+%-&Z^"K!A=+I3ISYW_&QVO/%'DSO16='
MXE=:%Y^\,:[-M?C\P\[U*T'<W6GJED#"/'VNQOOS%V,G'Q;U@-#O=S8?%K9M
M\T,5#S<O5/&QX>@->Y+\J$-[GU7HX`C<H+`6/PW`Z`ZZP(_:?,LERB1GW;$K
M1&P".M>-[':WQ-_?4^[19O&_!(]M]K"O$4\0$,Z[T/")BS)DW-6!\Q"S#F3<
M5*+QHC`N^*YDZB3NR`-W17YR';B/Z7ZMMLIWV==Q^X`>6_T4VK>8N"N&XC4F
M;LJA>`^EV[T<FJE(-[FX*D&E2HK[:I/$^S*<N>TJUAAS_9\+D>>)D"Y-GA/I
MPI"LZ3CT>6ZD>Y('#OT(`VRZ-WEJI&N49T.Z3WF"E/M\IW:ZRTTB#J"[8X+2
MWNT"7SQ_/>^%V^GBAHT`9PR`!Q^](.*2[V,IBU>_GM3W=$%I\0#UGAF]6H!#
MQ;]?'VE+G=645@2TKE>(WLD9/QZPH<*A0[`RLC:15U1UUPJ[D)G;)#;FS+I)
M]"F&'Y^!+=G?R!5]`1M,-@=X5/P]UQT]I])[.[_\X(V8`>+HPH>M<&I4*8;C
M<@%B^717065OL9?/Y*F0;DW:"15[X/UEK%FEHB\;4*M_8;ZK=D$J4AQ??Y&6
MD8X:</T$Z9BGV^!S7I_`FI%=8HV^)<"#6K-N'>[?&.BHG3?L+.Q4VSH+:@<I
MO$9[`->G9QB0UMB>O@#*KU,46_=0[O!B[8OOX650>0BHG`530I7G/!(4R1/]
M&[('_0]NSA+]6`!>VXH=_7``4K^>PZ4,0"H^02ICU8^<C_?_^@.A/`!V/5)U
M62_>-/J8`-:F$ZUMJ+6]UQZ@3/L#A:7`;F'I83MTOX[ZXD**72GL!\L:;#E#
M>N=]NF/,_JI'@XN?KW2V=)"R8IM*')%C:^R`YO\'#H^&"\:7EQ'M@WSH8GU<
M03@)DI*=:<,V^*$6YZ_`]K?(6C%V]JAX[/OU%5LOOGCXZOWBV:_#TN=9KQ;/
M_^#'+U)R*S%Y@\TA'NSZU>LPCH\()O^ET*@*C`00X9C+70`#;;!X3P`YS84A
MQ(W^.\2&P]`#:>F=U]*9MP_$]\0;6+,7;=:0!74&KSM&&T@^ZKI'F@;:-E^Q
M;7S+KS\71`3)UG$$ZS04",.U$TA^?6Y_VI4-TM$6/9*,53;?*;Q/D!?ZKT52
M<0:3TU7&`T0:''"`XP-0!*-([F_%0SB;U!M@F\L'()/Q9`,0NTLGQ!,@M(2%
M`2A#J-?U8$%Y/WY6?58"2V,J(+Q_?U7#$(#J3VI9M/"=OP6E2,TIC&))0VNV
MI16*1L+Z>[PC6(4C@%`64T]/'`"&4O[^E`*F0?%,?V,)F/O_I^Z+AHUZ_0!H
M#'$O8D9X'7EEM&\4!$[)4S@[::Y;(\#[XC*?!^J$_[-PGF&)4$4C]&Q%H^J$
MIF.'I?X3"LK(ID/N+_%=N8(XB$R5Q88*B)RQ`<A_9OO%Q`M.!$!PGXZ>L33"
M>)3[HQD"'&B@4Q[M0'@,PNW*)D.A=I$ZQ-$@/+(3]-TMHK7QALS?)6O:-3SJ
MB3LR`J4''R<H'MY,56<#TV:JZZYV_(AC[70\B6,U=OR/A:*X*)+A]&!_@P(=
M0G&U*<F:N>BF'S`-#VC:XQ]<OG\P<8-8!Y__H*0M]>[\<\[9207.5VE3$;J)
M/V`GN3+6K5FU>OW:]>/!Y[BA`U`WA.'(`;QRIIKE^\QD)+\M,PI7A']Q\(7#
MZ7X,#1'@@@?J"(*VR9T>E).H/7D*%MSM&0]?<>-]\'H(`:T$[,0>6.[$/:($
MR!@8O$\P*:;\J`;_:!MX+3'`51N<NDPOMM6I#[S%D`=]8$F0)3T6KQ!F4Y+&
M#_7T"W([M$^Y^WV`"6<6RM&A_2[3';V'Y:Q'-RO#UHF^BG+EHZ]A_0!%^`%Q
MI<W$?Y>*#ZBLOAH]#I[W^OG#8Y/)]M@*1+ZO)U`PMQ^?($PH0=M*G1A/:GAT
MCS=6*#C=T:/3<6/!:&W/4\>%G^!!Q=!I]<HA<F6!&T>2I%G3YDV<.77NY-G3
MY\^Z4@K@Z:9Q@099I@'B`$&&R8`'Z$+A='#]T$<9X/+!/HC#B;X\E/'I:^'>
M]&TZ\O3:E,KZ[T&^%(XO*/<!LQODB\"YXUK&=\['G>S\1N>^$K[<AH'=N;W<
M@SMMT@0H!]N584\'>^Z,M=&,[RJ@V-;UBY\2Y/>B@D*(8Z'`/.'P%^N_'QZJ
MU,7&[X_K&2\^MESU6JCX]('1=(2G7[B>+IB/.>>\"N]'OS]]<+!-S`2JIN2L
MT.]+"[FY86E#'W_Q/M+7WB$!1H\>?1K#?^/WN00'.I_XO7YTZ-&E-ZVKOG/>
M!_P(Y@NN;]CI'^:P[M)ZGOYY_\'A/ZSQZ.JC8Q>O?]DR#>Z_97O[/N[PR_DQ
MF2%Y!%!V@JQ5*T8NLUV3&6C-S\Q@62&":G0=G(VC%6!TC!0+_.)1T#.H=X2*
M*M_JW>#"Y'\'A`P?&']E<+D3@1PMT9'DQ/P.IF,Y!U\GP+FJ,.4T1P`TBBD&
M\>SL69L$H`LJ!!LOL`D.;A_ZP'PL?V1>(3V<+4!1ZCX^Y9$>^H!R4TC/*H&^
M+L<G&E!`O3CZ2NAR(PH!VV#H':Y$1E1!FX0;WMRO1[AB87W<Y@H0^X>[44P3
M<J^XA-FNDQF;G;G"9'BJS6[*9*V3F%C8D\3`K:K#J*H39W3A"H!V`SA"GHP;
M(`D2`;L``YC2(-T`*C-<V2"2T73H_J)W$!WR"/^!NS]P\I\+9;W0JH_M;WCW
M_J9)!,N_]2=!*(.I\4$C<8!^AV0-&D'6:M<?U'#3/B`4&-4T%ZH]$]44-)VA
M:I9'!)$)$K7B9W:NA'\>Z[]LR<<&J7*YRF?+39D!B2:8&P)G^OS5RYQ$+4EV
M6B3U6*C].CT-./R!+T4C-HDP@`%/0;Z`1VXC8A5.:(59F#KPT($]ME&DZ]+3
M79":HOC04F*[<%,[@J1!)AR`+`IQ$6IY:Y,+"PSD\UTVW#9<8VUR1+??ZP;:
M-LL'^OQ3M0,2V^2K%];O=?,KWF.;36\@&\WF@X<'F$V'W5*U;^X&8R=TN9-*
MIOI=!L=SG'MPL#$"\N1UV?L/#OM%!;7+E1Q=;N!^;GV7`Y"?@!RWJ^HVQ_[Y
MUY7/?'GEFG<"#%\/`=X2C1BHT(<`01O2_2&>`.56R0&2V3FN$$!#H;X0#/1,
M^^.SZ$1?2?=`L;>L6]#HT:3CD2@[B0DNT[XCX/4Z`0]7.!?E/8LP_+HQIX2:
M2H52+,.Z)<:]=>+T+3E.Z'*\$D;$S9W6T35X_,,@R)IV?4?K_K!R!S`]B*=I
MN0N.OW"\P;G0F/TV@:55C@WT\[KV%;PO/OIZ78%M$VX0E[/#Q58A-O8+WH*/
M7KM_#SIZBQ\^NDE':1ME@!+W8R`6OE-9L2L[M5JM4YN_*E^;+L(HF1D%T^&<
MQ?#^P%@HQC9?YT?')[BR@\AI+;"6I/^Y_)Y;4.Y409$DA=+$#4Y;:$W20*2P
MO@J%_MIP&L2KE'WUZL9%Z:YF-.TM$QB/3-ISA?1`.TG]R:$-^\DL4Y"UZ@]$
ML]1BJFXDM!,XMJZ-`^_88&@OZD"'QHLJ2!W7U8"GJNM:P!L8ZYY]S8#")MH]
M2'"7V,.Z#.8>04T7XC&2ZV8.]B2E.)J2..$26CIN1N.[)'?T2C"&/*`,@Q+U
M#A!KFHC!:`S'\K0C4%K/?(\1ZJZ"/CKAL<0L9[B+I(P^(0!_%-D%;_)_!IKN
M`P2Z?STX;``A)F%C*J3<`VJZ(6R!_PLH6UW-P-/F";@/S/"$C:O"Z%G+?9JX
M(.X$5CSYXFSI=,K%'>HG@CUNKPJ\,./E]H4#@G'A,R6,KA>..X<Z@X#9`DPV
MQ6"!K0%Z#GBH`4:ACI%G]`*%&'T+)SQ8.X"9TQVD]\N1=2W6WKC2];F$:Y[V
M#^;GU'P3V>_$5C(&-&T.\`,@VO(7K>RAYSI(%4TXK;2!K'2#?<I,%Z_*X`<U
M/AK07"X$+(H9S:@2>`M*DNVV?+V[=[BA-WDH!C&D*=0(<`PA7H8&0)$#*\#)
M%.KC'0?O)_`(INTCF\(VA$HCH`-=MT'X7?2]JH('2(?E0=$$]3H)P`N<@.:9
M+^97=.>CNZ$B4M-IVK`UO&;_\++^D03^T6G^K0&0H3W`/QG5J@<8SQ8`1Y#[
M=%<*NH]:'%=`-.Q'KUF'\46AYP/]ORY%]'#_\_CB#8=XP&'"T9-97D%!>HB]
M+>WK2Z"CT:"O@`7PPO]8@$3,_[Q)`T0B!_?5@(/;GM'V@N(8@G)V0?GZ<X'N
M'D8HCEZ\_V(GYUSB7A$=`I\#Z`[P=H5#@QI%3'"G$QWV]2OC(V:@-?VQB\:B
M[DGU_NN6R/=%Y/-G%3,B&5$W:J//[V\6KICHOX#NR,<?N!Y]NF?KAQ`4LS3[
M=[7^?='M(='E4,'M&GF"O-.X8@'4/$B[#(?P4(.D.Q^Q4/!&(E3^]&+GXR70
M"OU9WZBZ@CJJ&E4TU+%(>9DF8X?L"LKI__G*HHF4]0><882[WP8BP0S9T5N1
MRIJ^L5UP9NBKDS"/#VRR'%@R<5ZO,+8`(AX+`RGU!I!&M.]^&&7TW?NAY1GM
M`?CI$C"30T!>0"?(+II<IE%(4W(TIPP2K><%N8%=]C!I^8;S&.S:O-R2CC1H
M-T$<AGSF?WX=D`&=;EE-?CV]$/&`1!@1#K!\))>T1P.24'3Q2*]H5"V@-*Q%
M^N1E^_K+-JM%RC"Z1?K.+8I^S+0=9GY\I;&P'N*2]B:Y`M*=!\G?($^]=P6R
M!+&TM9!0P0!`3"M02P,$"@````8`!JO*%"X6!(C``@``P`0```<```!214%$
M+DU%#0(!$B,4%38W:(F:VSP%!A(31,7VEO>KSBTK%V1:MW2*M]FP8\N"-/NF
M><.5^_:LW+!M09)-&Y:MR[)XRS94$+Q!@@C^I'1!UG'?<T'218.^R[JUF^9\
MNVUSO*BWW;!RU+=8-M0;*M*G3HL232HE?+])5M2:3'K35MD;+AKU7::8L-9R
MRXX!WW+SNL!&3PV;9SD5WO#5]*8J-:G3(]:I:$<;UDZS3N.NT=:9=[)O[[H%
M&1;DV333ZWB[K=M6C%$/$V_[C7R[B-]!V2"OMDOK'C-TSR$FF!>P'AN&>K?8
MNHB7\#)?_9?^4LN>K<MF>TW5>/2J]66]UNXYZMWI4RK!NBY<.&O74$W6!9&Y
M&7MG`ZR\=]NP=+8%63Z7CI#;[5D6R\/JY5OXG..D*2^T*_NDWG]Y%VV:^K64
M.E9TKKE[#9V,6,BYY1PKL&M[]:G'TGDJAMZRGI-7CXGZ:<E$KZ(+*3ZGG\JV
M(I%4L%Q,6_T8?KIWW[#E<W7P:S-;;=K9Y@5QQ/6MAE<7@><5A425E8H?_?6<
M])\+Q^_.,W5-VU\]QGY]KZY9'F#`R.I;5,4D<Q+9]DW;45>[X9K@BO%C^$?F
MLD.3`1,'<;NO$TR^-6,U/0=]L#F:V'6"-/=3.O/DK]-W63J"FW#VU&O*!1V.
M)(HTSZ%2?7`/_(-\62ME!<>"5O.;SMH6)N0BV&?4[]15V?K.&].-&IZG39>;
MQ@E)!^O-!9-N5RPNL<SD;B9?R\M[PYUC9G"0[7I<N>30;812YB:_"IMMIWX[
M5/^R9GJGUNXR2QSGAF%\+IK95=[[Y-6@2:F&/!%&HK!97\,V^+VV;!Z]HC=J
MM'=/!6E%[C9ASJ!F"">B6S?CDR4%IRZ*4M$'50'KDU#$%+15TU55!E2B>4>>
M&!I/QVP[6MB)D3&N!S$DS__L'.EG\89(8]=)K2[S:PY02P,$"@````8`RK&S
M%..P8;*"`@``"08```P```!!5TM34$Q)5"Y005,-`@$2(Q05-C=HB9K;/`4&
M$A-$Q?:6]ZLZ34H59-B[:^?"99N6[LZ&"H)W4J=4BTHU&G1H$>8Y]JW;N72,
M-T@0P=\V+%ZW;T'V!%D3QGFGFQ=NF>SZ[ENY9*X/?<M-Z_;L5IDUN^ZX3H:5
M*S=L'O4!?LM]:TR7+I)Y5Y!OS8BW]N)?NRV#7B13Y=QL7;=CZ:8IND&`[2C(
M)T@=Z^F=(.U0*V(^I_K>(543P6&-3D'_L6C,=XKC*]9TRYXM*\<NW10JTZ)-
MB_#50:DF?>I$'\J">\*5^W9L6;)UY8CKL6S+AG5;%RX*;S$/VC""G"B_=O@T
MW2]FZ`J:BQ%7^<L[F>9-M:VNU'31+.4IT'28()A7]`99%L\>K!A.>\>`CJNZ
M]G48PS-VA+-"YEO3=E&VY'IES"[7RN\FDQTS=Z<P9U6&?!=MFJAK/=N_]@*8
M%=T\W$:RWF3?8`E<LF7.UUQ5WEF",#;B'</+K&T<$TI:IZA.<*&VT&S4NL\>
M5$9LD1=5O32G0>XAG6T1>I\Z1IY8_DX[)[","IC'SC"&74XDE(@)`X-;P36V
M^5ZC:>70+^F=%`3V@E?9^DT0UKN%+_X\QJLA=]FY;D_2$:WYJ^)]YXZ-ILT;
M]C["Q!BB2;$D\04%9B0O(TD>PGRENVI8K,=H"_B8<LW3ASE*/CON*_(CHC`'
M'\/T&#Q0IL?M#CR(PE#>PE<+=FR[*&,0)ELBSGQ0%[T#:8MJ?,-].Q?%O681
MM\D>[O7AC&F'HW7?PIUW01:GU'#S?(GPYBT*!YH18<Q'Y##'44N$^<_VHNBQ
MZ]4YJO@,,50%P7,L>`S)!-N^U_^G(?ZT8<"WWC#K;>Z"NOL@<Q?%6R-02P,$
M"@`&``8`C*S*%'P(I,%9"```P!<```@```!$24%,+E!!4V$*>P<&&P:[#$L#
M"0<+"0L)!Q8'"`8%!@<&!38'%A<+"@8("@L%!A4$!A<%"@@%!A4&"B4&"`<8
M"@<*"`L'"P0E!"4$"@8$!10%"30'!A<)&BO\_/S[^_L,"RP++`L\"RPKK`P!
M(B,4%38W:(F:VSP%!A(C%.7VEO>E;:]N3_G7K^>\MV!45%Q4/*_W^I_XA+5T
M7DO^;VP(O[ZO-D\(AB+YQ\C*S<W-_P1OT"LJ_O__$.SOR_KWVE^7IY&0_X_]
M5^ZGI/-][J_\&W=]WNZ?<LYK)76NU;`?G"?"L_U&M$;E$3DW[^IU6%P%GOC*
M==X_X0Y7VNYUO>L>F^>XP-/XT=+^=C]UIH]SO8]Z,#(85.3G6L*\P_D?,+8'
M[-"Q+URCK<MV'=4"XN-7M.M8[JK[J,!;O\\GW'D?U:7RH_US/^#_PC`P=_B[
M45B]E_N(4!A[U$UN)[VCV`7Y/_:/V?CU9?O[\</ZQWS&EC^['9AGH?L_=MAK
MV+&#D=LC=SP$VY4]_B^5^S?/ZT@PW3_R>-""?M?&=M]'T-,ZOMSAEV=QV%K]
M)"?][QO)V6-8=5_V\.$*)_FP];W=X0J"T6^<V[V?P>C';]=R%\9&?D.I.(3N
MD1G_.>J\Q]F&#>_&5;\_WHK:_<O^X]5KK6'VC:7]S-S<6!IWX0I_9,UQ7^J/
MXVMT1HA0%T$XTA7J3_NQ\V.S=?D*<S]XCN-A_XEM&/]8"/8,=WTWJ%`]!E6/
MX'/?12K[O!@MSQ'.*!1YF-V0A=C'ZU<$[L\X.'K"8"?Z@<`.`N[@O0L(X^:^
M+7<]C[P0A!&PE5RZ@ZD\YU(X*<`Y3-`W3D$6LO1^`;/V<8&'T862'O"<+H8^
M)UV-A#^7:"NERG[<I#&5:Y$LR<L#:3B=VP0ZER*XX*[C6LI[_2Y+>F!"L/)$
MN$6RKMUO]6+Y%79O5/3^\B=9//EV-Y:3,]GZDC(?C>4"\`Y]V9[&TIO+A33>
M-[DK#E?Y.P2C7A'NXS]?Z,W_M:O*LWK%FJ_+?=[N\S&7F_?V:]M>_DI^P)P!
MG_A]JZ\RS@[OLVU/N"5<Z;:]K_Q??L);1G/W1/8?V,%,;[QWO1<<L\*V%A5K
M-*YT3ON18N?&!N^CQPZ5K07U3?L.1HR7?(]9/>M2_Q!L@O6"%9Q7_]U_8R^7
M1#=A3_7@M4B-0=]I)O"%L)GEC1V;Y8+F(Q4VD8]9^!?B/M+>D2:ANG_%20%@
MEC0BI4[=7/6X%,`=2>KWA^"UQ*;75[DZ>AC\%?%P;FO:4<,3WBJ\TWM=?KC;
MW4%B>2"0-.9\D?7!HS8F,[C8X=H^<=QTIQQ54!>WUZ"Q_)Y'8>R6Z0I=#;?/
MOV3G+^'<V(_EN8Z57&WI?.;U:IZ8OBBV!7VXAHM4F6F#"/HT<;VW@69\JSV-
MNY!/JW'`<8.V]_(M;.X:,.I@R6!7CUKZWK=P<E:)_<NS2]V\/[5\/8])CFNH
MR1Q_'<<>;[O3OGA(I$E>7DYFJ+RR:7T%'8XV6KG/DO4PY0(/VCSXQ^W\'[30
MLEQ<;BD]'.+.]AN_#K<[LH,A;V)X;\QE[_!CXJ;F8M12;)[+!SPDA@6E:T/7
MB%V92^2SJ$QY74S@RE.)U@RW`-HWU_V<(?Y*?]@E]/@TT-P:`E\OJA:1/Y<:
MSWH7`L<$(YTQDAO1`<$MMK!Y[HV$:-`EP8A)J7\?#D@4Y$%8VG2=FZ*.>KTD
MVHO!BE>5<=[N9=X.F4J<VG4\9QS?(8TKK%L^SU/Q,,2N6#C?J2'Y.@?VA"%2
M81^Q;7*]@H5058&CGW[M#JL*"(S(H8%X/QMGJ,N.]B54,&`7_PZ=O=/!(E51
MJTZ78,2D?RV`*A!1ABGK\7<6[QQ7R.;[#/=AA!_+50N'5)$WU.>KA9@'$+W4
M<'JEK^W>VGZ>NV)>C<9V4#"']HU(@!+E./3ERH^=!RB\L9?"4;5>H>9_4^6,
MC`+H`WJ[2_?#UM`&,O82QFKN<#S:^]6X]2K4G$"LAR,'(7#X57.)%%`O@6%C
MKSK:2:>,]0^)42<LD6?UCDB!DPAD[!DO^0C!EC'$6@?G>5>?TTGE8Y</)U`>
M:C:MSU^($)SV<RVT_$*W[ZP7T:YTJWI"@B?2[(?*Z4&BR-*0_5?]66X9.8J>
MT#RU?5;_!CX"Q>Z!:I__'T7%Z_ULC8JG#R%E;F@G&BTG)O>:<)5`?G/?S_MQ
M+E7RF%-&@M2`5AH.>_DA$9:JKS0FIG]D&K)-Y1Z+[V-MU&PW@7KY^9(4I=M[
MAX..>J3L'^KLD`RJ`?L>$:YM/_3,G`!.KT=/*^_%N@+:,=2`HGB>=;VJ1R%B
M:S[*F.\<@J$83(,>F?V](%T*@I')#]LS!31V]_GSJ=?)A1P0T#/,^5ZZ#]4N
MX01NU1IHK%2L>#"222L(%;PT[=>><Y6P6-.'TJ[N:R%HX?F<14F?@@+'T1^"
MY6=I5&Q^*/T"TM@&=QV-0J-%D5/SR)%('@X]PH^-!P7O@8CK"5*QTTSL@45>
MA1YJ07GZC^QI",8_Q_'\Y4E0USY/?\.\LL+8!CU8@8-]5BNJ'SY!PF$2NC'R
MOI"$/S+>SY$`Z()%,D!:-J`(#U;:A"!W%:?9N=;IG0[%F;)LL_"1K(?Y48KU
M"G<4(B8SB!OF<Q;P1O.]U[P#-?,(0$@:<P!\VSF&RU$@8TD70V$5S`-85%F7
MRH5?7ZL3TSS%^3"6R?7E2Y1\H=!:"'7<MDS)HU:6N)EFMVVM*;A-\&PD.@\I
M=VHY/`2'3MH5\Q]!\DM1]X_E_S3VDMIGW6\54NNTX'"4^ELTT65)G@Z*$A-3
M55),C8NC7&G2F*^*4NWN8O[E3DRC,E,1P),T&RIA'!28BO`M'EI?8U.UF-8$
M9`P7'9J;NIT72`902P$""P`*`````0"!#2$`(7/;*BD!```L`0``!@``````
M`````"``````````050N0T]-4$L!`@L`"@````8`KPXA`)>9+FA"`0``90$`
M``<````````````@````30$``$144BY#3TU02P$""P`*````!@"-K,H4>2'_
M4=@9``#`*```"````````````"````"T`@``1$E!3"Y%6$502P$""P`*````
M!@`&J\H4+A8$B,`"``#`!```!P`````````!`"````"R'```4D5!1"Y-15!+
M`0(+``H````&`,JQLQ3CL&&R@@(```D&```,``````````$`(````)<?``!!
M5TM34$Q)5"Y005-02P$""P`*``8`!@",K,H4?`BDP5D(``#`%P``"```````
J```!`"````!#(@``1$E!3"Y005-02P4&``````8`!@!$`0``PBH`````
`
end


---------------------------------------------------------------------------
_______________________________________________________________________________
Ajay Shah, (213)747-9991, ajayshah@usc.edu
                              The more things change, the more they stay insane.
_______________________________________________________________________________