Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!gatech!seismo!elsie!imsvax!ted From: ted@imsvax.UUCP Newsgroups: comp.sys.ibm.pc Subject: Turbo Pascal and large arrays Message-ID: <696@imsvax.UUCP> Date: Wed, 4-Mar-87 23:57:50 EST Article-I.D.: imsvax.696 Posted: Wed Mar 4 23:57:50 1987 Date-Received: Fri, 6-Mar-87 22:15:58 EST Organization: IMS Inc, Rockville MD Lines: 529 M. Gervers of University of Toronto Computing Services writes: >Like comparing oranges with apples (the fruit). Ever tried to write Turbo >Pascal with : > var s : array [1..255] of string255 > t : array [1..255] of string255 >> tremendously good interface into DOS and PC functionality, >You got to be kidding!! Ever try to write external asm routines to >use with TP? >This method of programming involves either of : > 1 . asm, link, exe2bin, hexdump >OR 2 . MANUALLY translating the opcodes into things like $90 (NOP) > \$CD\$21 (INT 21H) etc (you get the picture). >NOT AS CLEAN? You got to be kidding. Not kidding at all. There is a genuinely good assembler available on several of the BBSs in the D.C. area (e.g. Programmer's Toolbox 301 540-7230) which assembles to inline code. It is called "Inliner"; I used it in designing my multi-voice musical program and it was used to some extent in the Qedit editor. >If Turbo C is like TP, I'm sure I will buy a copy, but, I will treat >it as an interpreter/debugging tool. >Meanwhile, I use TP for any small program with minimal data, when it >comes to large arrays, sorry. Probably 70% of the programs I have ever seen which do anything useful and were intelligently written are under 64K bytes. Turbo C will handle all memory models. Again, the TurboPower Turbo-Extender package is available from Programmers Connection (800 336-1166) for around $70. A trivial example of what it can do follows: ...................................................... program big_one; {$C-} CONST RArowsPerPage=9; RAcolsPerPage=39; RApagesAcross=2; RApagesDown=2; TYPE RAelementType = array[1..128] of char; {$I \inc\rarray.inc } VAR A:RAarrayPtr; r,c,maxr,maxc:Integer; v,ival:RAelementType; inf: file; buffer: RAelementType; i,j,k,l,ii,jj,kk,ll,recsread: integer; xxx: string[25]; BEGIN assign(inf,paramstr(1)); reset(inf); for i := 1 to 128 do ival[i] := ' '; setupRA; WriteLn('setting up array'); makeRA(A,ival,fastinit); {compute the maximum addressable row and column of the array} {addressable array elements are [0..maxr,0..maxc]} maxr:=Pred(Succ(RArowsPerPage)*Succ(RApagesDown)); maxc:=Pred(Succ(RAcolsPerPage)*Succ(RApagesAcross)); i := 0; j := 0; repeat blockread(inf,buffer,1,recsread); j := j + 1; if j > maxc then begin j := 0; i := i + 1; end; setRA(A,i,j,buffer); until recsread = 0; writeln('hit any key to scroll through memorized file'); readln(xxx); l := 0; for r := 0 to i do begin for c := 0 to j do begin retRA(A,r,c,buffer); for k := 1 to 128 do begin write(buffer[k]); if buffer[k] = #10 then begin l := l + 1; if l > 20 then begin l := 0; writeln('Strike any key to continue'); readln(xxx); end; end; end; end; end; end. ................................................................ This program (which you need Turbo Extender to compile) will read in text files up to about 430K bytes worth and spit them out again from memory, assuming your PC or AT or whatever has the RAM for it. The file to be read is given as the single command line argument. A compiled version in uuencoded form follows: cut here begin 644 big.com MZ7DLD)#-JT-O<'ER:6=H=" H0RD@,3DX-2!"3U),04Y$($EN8P($ +%7 #PS M !-#;VQO M#(U95 9 0, #P<'< \'!W .!P=/+HHG"N3Y= Y#+HH' M4.C8"%C^S'7S^,/> /^E_@#PQP82 &X +L8&E $ OB )HL$+J.5 2:+1 (N MHY@6 +0'Z]-0H $ MH@@ 6,-0H H@@ 6,.T S+_S1##4U%25>CR_[@ !HH^" "+RBZ*%FH!_LK- M$%U:65O#Z/@"+J!M 3S_=095M _-$%W&!@0 ,8&!0 Q@8) /\\![=0LP"^ M;P%T(+YW 3P"=!8\!'("L .S_SP#= VW*#P!= ( "T"\T0_L>T"\T07O'Q@8) 7K],8&"0 &N'\"Z+7_ MN \ ZT8D#XHF( " Y! *Q*(@ %4R_XH>( "T"\T07<-5BAX@ (#C[[0"@#X) M 1T K0!.L1R!2K$@,L0B!X@ +O(58O8M O-$%W#6[E_ H ^ M"0 &= .Y/P$]QP!W Z,0 %@[P7<#HPP 6#L&$ !S Z,. %@[!@P !P##@H .PX, '<2"])X#@,6#@ [%A =P15S1!=P[0,HQ0 M7UA:6XD>' #HE ")#A@ Z.,+DEM7B1X: .B# (D.%@#HT@N+V#O:?CN+P@/ M*\.C'@"+RT'H (O*0>@X *$> O ?A0#PP/#*\(KPJ,> *$6 M $&&@#K!P/# \.C'@"A& !!AP XM+#,\DKPW0%> )!PTG#45*A% "+#AH MBQ8< .@?_UI9PXO8N-TTNA( .]-S&O?SB]CD8:@#=0@, ^9AL+;F0XK#YD** MQ^9"P^1A)/SF8<.16U_K*5!1L033Z /865@E#P##.]IU CO!PP/! ]KKY2:+ M100FBUT&4 O#6,-;!U.)/B8 C 8H (O!!0< NP 0<@(SVR3XZ+S_B\B+T\<& M+@ B (P>, #$/B( Z,+_="7HL/]S#8D^+@",!C )L0]Z^GHM4Z& B\>,P^B+_Z.* 8D>C %14HO(B].+Q(S3@^L.Z%__,\#H M:/]:67<#Z6\),\ SVU-0)O]U B;_-8O'C,/H5/^+^([#)H\%)H]% B:/100F MCT4&!@;$-BX )HD\)H]$ @?#!@;$-B8 )HD\)H]$ @?#D5M?ZP%;!U.+P2:+ M#2:+50(%!P"[ !!R C/;)/CH[OZC*@")'BP Q#XB (O'C,/HZOYS5R:+!2:+ M70+HWOYS!HOXCL/K[@:+\8["_S8L /\V*@ FB00FB5P")H]$!":/1 8')HD- M)HE5 B:+100FBUT&Z#P = ,FQ#TFBT4$)HM=!B:+#2:+50+K)HD.(@")%B0 MB_F.PB:)!2:)70*+R(O3H2H BQXL ":)100FB5T&HS( B1XT /'C,,#'C0 MZ$O^Z%;^=5&AB@&+'HP!Z$K^=#$&B_&.PB:+!":+7 (FBTP$)HM4!@" #- M$%K^PBXZ%FH!*%@0 _L8N.C9K 7(:_LY2N $&BCX( (L.! NBQ9J ?[. M_LK-$%JT C+_S1!=@#Z4 0%U$DSH)O]T#$SH.?\\$W4$3.@Q_UC#6%I0M 7K M$Y!86E"T!.L+D+0#Z 4 ,N3" 0" _#UT%(#\/'0/@/P^=#* _(!T1U7-(5W# M5E&+-GH!BPY\ 8,\ '0+1D;B]UE>N 0 ^<-9'@8?Z-K_'W("B01>PU%6BS9Z M 8L.? $Y''4$QP0 $9&XO1>6>NYBS9Z 8L.? &+' O;= FT/NBF_\<$ !& M1N+MPS/ HW(!OT "B3YZ 8D.? $SP!X'_/.KCL FQP:, &(*)HP.C@#HH_?& M!I0! +XF"K\V 1X'#A^Y'@#\\Z4&'S/ HY(!HH !HX(!HX0!Q@:! 7[&!C8 M#<-3"&P(GP@]"44)30F?"&P(___! /__@@#__T, ___$ /__Q0#__\$ M #__\$ #/4U%25U8RY%#_%CH!7E]:65O#4U%25U9,_Q8X M >ON58OLAUX"+HH'0PK = 7HT?_K\X=> EW#Z.7_#0H PSQA<@8\>G<"+"## M4(K$Z $ 6%#0R-#(T,C0R.@! %@D#P20)Q1 )^N:"N1T"/FX !X O[(P^A. M 5Z,R"X#1 8N T0(+@-$"BX[!@( =@/I1 &,RRX#7 :.VRX#7 @NBQ8" "O3 M+CM4#'($+HM4#(OZN/[_@>H $',+B\(% !"Q!-/@,](#TX[2B^"C= $SP*.* M 8D>C &C(@")'B0 5\0^(@"Y! #\\ZM?+O<$ 0!U#8S(CL #WRO8M$KH^?TN MBT0"HW8!+HM$!*-X 2Z+!"Z+3 Y15NA8_EY9OT " _D#^8D^7@$NBT00HV ! M _@+P'0+QP9: 0 Q@9< 0")/FH!+HM$$J-L 0O = O'!F8! 0#&!F@! (/& M%%8SP([ )J$ *.. 2:A @"CD $FQP8 #(0)HP. @#W!G(!" !T#";'!@P M\ \FC X. /<&<@$$ '0%Q@:4 0''!GX!T! SP*.( :*6 8L.8 $>OUH!Z!<7 MBPYL 1Z_9@'H$!?&!OH! .BB]L.T,.@K_0K = '#NE\,ZP.Z30P.'[0)Z!?] MNG4,M GH#_VT .@*_4YO="!E;F]U9V@@;65M;W)Y)$EN8V]ROUH!Z,(7'K]F >B[%S/ MCL"AC@$FHP H9 !)J," %CW!G(! 0!U!;1,Z)_\M(#HFOS_-G8!N (]4!X' MCAYX +CL4=06#Q@__YE!25K^6 3+ MBN"*!0K = -'Z_57"N1T#H#\.G0)@/Q<= 3&!5Q'1D8NB@2(!49'"L!U];@ M/;J6 1X'Z #\B]A?7EK&!0!R*2Z)%+@ 0C+MBLZ*\C+2Z.7[67(5M#^-5 \> M#A_HU_L?<@>T/NC/^^N*LO!6Z:@"6^A2 5.^M@"_E@$>![D@ /SSI<-,_Q8V M <-;65.*T(KQ_LK^SNF+]8O0"])T!.@6 )-;*^!,B_P>#A\6!_RJD?.D'__C M,]*_@ NB@TR[4OOB_?C#RZ*!3P@= @\"70$ M1TGK[XO'*\9T!$-*==*3PX@.Y@&)/N@!6X\&Z@%96%-1N[8 Z/("ZR.(#N8! MB3[H 5N/!NH!6EB_] &/!8]% H]%!%-0D;NV .CW$%G$/N@!5XH6Y@$R]I,M MM@ KR'8-1R;&!2#^QCKR=!7B\Y&[M@"*!T-')H@%_L8Z\G0"XO%?)H@UPS+ MZP*P :+G 8D^\ %;CP;R 8\&[ &/!NX!Z$< 4S/ N[8 . =T,#@&YP%U#NCP M G(AQ#[L 2:)!>L2O_0!Z 42MHD(O$*\%R%#T G(/L033Z(S1 \$[!HP!<@'#LO_K29!; M6)U3@ Z4 0),Z%;X= 1,Z&GX@":4 0$\ W0!PX\&A@&#!H8! KH! .LC,\"& M!H !PX ^@ $ =0'#BA: ;8!ZPQ;6)U3L@2/!H8!M@)2Z+3Y6J&& 2T# (<& MB $+P'4+4E+_-H@!_Q9^ 5J _@%S%.@=^EY##0I5FY^\($ M O >0+WV,-0Z @ 6]'HF??SDL.+'OX!BP[\ 5-1BL>*^XK=BNDRR=#8T=O1 MV5@#R%@3V+CI8@/(N!DV$]B)'OX!B0[\ 8O#PPO >0;WV,8'+4,R[;H0)^@5 M +KH ^@/ +ID .@) +(*Z 0 BLCK%#+)_L$KPG/Z \+^Q?[)=03^S70&@,$P MB ]#PS/ @#\DN@H =0.R$$-0B@?H,/F*R%B Z3!R)8#Y"G(2@/H0=1N Z0> M^0IR$X#Y$',.4O?B6G(1,NT#P7/.ZPF ^A!T!(O( \G#B@^ ^2UU 4-1Z*K_ M67()@/DM=0+WV/C#/0" =0: ^2UU +HH,,NU!*^&+_!X.'Q8'_/.D'__F6HK!B]PVB@\R[0/90S;$/XOT M.LAV!8K(-H@$01X6'_SSI!^-9P3_XEL'B_3D^+RD']\Z0?1XOG_R:& ;(0Z?W\CP:& >B#]XO( M6.AR 4B+]#:*%#+VB_P#^BO0=A4#\#O1=A,#\8O1'A8'%A_]\Z0?ZP(STH?W M-H@4B^;_)H8!6XO\-HH%,N0#X$3_XX\&A@&+_#:*%3+V1XOW _(VB@PR[4:+ MW@/9,\ KT7(>0 O)=!E"'A8'%A_\45=6\Z9>7UET!T!'2G7Q,\ ?B^/_)H8! MB X J," EN/!@8"CP8( HDF"@*,%@P"4\0^!@(&5P;HVOVX 0!0H0("2.A" M_\0^"@(&Z,?]Z/7^Q#X& @;HO/W_-@("N/\ Z"7_Z.#^B@X NC7_>E7_Z,$ M EN/!@("CP8& H\&" )3Q#X& @97!NB*_;@! %"A @)(Z/+^H0(" P8$ @KD M=1+$/@8"!NAL_5"X_P#HV/[HD_ZQ_^B,_<-;6/[(=02&Q/_CB1Z& ;(0Z;G[ MB_0VBEP",O\VBT #BN"P 3:)0 /#6P/BB_0VB@0ZP708,N0#\(O\,NT#^9%! M'A8?%@?]\Z0?1XOG_^,*Y'4%"L!T <.R$>EP^UM:B_>#[""+_%$6!_P*[70' M,L"J_LUU^QZ.VO.D'UFT("KE*N%T!S+ JO[,=?O_XUN#[""+_!8'N1 ,\#\ M\ZO_X^CO #8(!\.16UA3*LAR%C+M08KAZ-L BLPV" ?0X',#0[ !XO3#B_1& M1C:+?" VCD0BBM4R]@/R,NT>%A_\\Z0?PB0 6XK5,O8R[8OT _(#\8O\@\<@ M._=T#DY/'A8'%A_]\Z0?1XOG_^.X 0#K C/ Z)4 \Z>.VG0#-0$ "\#"0 S MP.L#N $ Z'T 2'4"A_ZM"P6O=0?B^+@! .L",\".V@O PD Z%\ K0L%J^+Z MCMK"( #H40"M]] C!:OB^([:PB Z$$ K2,%J^+ZCMK"( "+W#:+1R(*Y'0$ M,\#K#.@. #8B![@ '0!0 O PB( BM@R_[$#T^N#PP0#W(K(@.$'L '2X,.+ M](/&!(O\@\ MA]>(#B0"*LB ^2AR!HH.) +KWXD^( * )B$"@(D^(@(P-B,"@<\ @(#.@(#Y M$'(+BN>+VC/2@.D0Z_" ^0AR#8KCBM^*^HK6,O: Z0@*R70*T>K1V]#<_LEU M]J D O8&(P* =10"Y1/>$]=S7M':T=O0W/[ =53YPX;EA]Z'URKE&]X;UW,4 M@#8A H#VU/?3]]* Q &#TP"#T@"Q!0KV=12*\HK7BON*W#+D+ AR%?[)=>KK M#_;&@'41T.31T]'2_LAU\3/ ,]LSTL. YG\R-B$"PPK)=&\*P'1Q L'H! &C M#@*)'A "B182 C+D,]LSTK\4 K$%1XHM"NUU#(KCBM^*^HK6,O;K'+X( -#= M?^R77-D9_VQH!U#9[0U='3T=(*R70" M_LF1,C8A @K =08SP#/;,]+#"L!T^RK!]>B- *(. K\3 K$%O@@ .Q88 G4* M.QX6 G4$.B85 G(,*B85 AL>%@(;%A@"]=#53G4*B"W^R70;3[X( -#DT=/1 MTG/**B85 AL>%@(;%A@"^.O9T.31T]'2@/_UE>7\-2,]=:>052 MT=):P_;&@'0'Z 0 =!3UPSK!=0X*P'0*.]=U!CO>=0(ZY<,+P'4%,]LSTL.* M_(O0"])Y O?:N) "O9U!+"(AM8+TG@&_LC1XGGZ"O]X X#F?S/;PSRH+VKK__X#I$.OO@/D(<@V*XXK?BOJ* MUK;_@.D("LET"_G1VM';T-S^R77U(]E[]H\&A@%97E]8 M6UKH?/SKXX\&A@%97E]86UKH:/WKU(\&A@%97E]86UH*R70%Z,_]Z\&R NE% M]HO<-H!_ @!T!3: =P> PXO<-H!G!W_#CP:& 5E>7UA;6NB9_O\VA@&X 0!T M 4@+P,./!H8!65Y?6%M:Z'_^_S:& ;@! '4!2 O PX\&A@%97E]86UKH9?[_ M-H8!N $ 7UA;6NA+_O\VA@&X 0!V 4@+P,./!H8!65Y? M6%M:Z#'^_S:& ;@! ''^Z _V MNH L"#VQX!U#-'AT=/^RO[(=?$RTH#G?UA345+_X+7_ZP(R[5M86EI3DK&/ M*LIR(H#Y#W<:_L&*_(#,@-/H = +WV,,SP,.RDND)]>BL M_5E24U#_X8\&A@%97E]8Z)O]4E-05U91_R:& 8\&A@%86UJ+R(OSB_H*P'1! M]L: =4.C&@*)'AP"B18> H#!@-#Y@,& BL$L%*(E J$: HL>' *+%AX"Z!_] MZ/[\_LA24U#HM/HZ!B4"65Y?<]Y75E'_)H8!L@/ID?2/!H8!65Y?N($ANZ+: MN@])Z(SZZP>/!H8!6%M:/&QR6[F#(;ZBVK\/25* YG_HV?Q:<@_HR?Q75E'H M>OU97E_HL_SVQH!T ^B7_/[)Z+K\G'(#Z);\_LGHK_QR"/[!@,Z Z$/Z/&QR M";\I'+D' .C& IUR!PK = . ]H#IC/U8G3F?/]=@0YTPDC!GJC\H,M=NMBH= M[SAT#= #=!ZB(B(B A^JZJJJJJ/!H8!6%M:"L!T!?;&@'0%L@3IU/.*[+&! M*L&84)&Y@/N^,_._!#7HR/J+R(OSB_JX@0 SVS/2Z/_[4E-0N($ ,]NZ (#H MM_E97E_H'ON_WQRY!@#H. +^P+E_TK[W%[]R,>B:^5E24U"1Z![\N8#2OO<7 MOW(QZ'GZ65Y?Z(#Y/&=S!C/ ,]LSTNG6_'V*G=B)'7WIHHLN.GV.XSB.8WY) MDB1)$G[-S,S,3'^KJJJJ*H\&A@%86UKVQH"<@.9_N8#2OO<7OW(QZ*+Z/(AS M55)34/[ M?_HUOU97E]0Z*S["L!T O[(D8?>A]?H"OF_?!VY" #HL@%9T>ES M#E&Y@?N^,_._!#7HZOE9 L%R%IUT$(O(B_.+^KB! #/;,]+H3/KI/_Q8L@'I MP/)M+AT18#%P1BS^Y7]T-GR)A"%W4SS_PRYZTGU;E1U\);A&6&-^%OSO_76 MTO<7 N@'^;F! #/V,__H"OB+R(OSB_I86UKH:_GHA0!?@\<& M+HL-+HMU BZ+?03HZ?=9]L$"=!11B\B+\XOZN($ANZ+:N@])Z,CW6?;! 70# M@,Z Z2?[?^?/S!-4?_;THC )?VK!D0H&@+6>BF]$@((L.LT3@&K!D0H&@0 M @"&BV@])?>BBBRZZ?8[C.(YC?DF2)$F2?LW,S,Q,?ZNJJJJJO[X>N04 M4E-045>+R(OSB_KH5?A?6>@& %E>7^E*^*,: HD>' *)%AX"+HL%+HM= BZ+ M50115^L045 N@1^%]9@\<&XMJY M@0 S]C/_Z0WW4X/Z&7(AB\'H>>NR!_9%!8!T O["*L)S C+ / ER K )_L"* MT(KP4NB9 %J*PO[ "O9U$0+!>0?&!B8" .L)/ QR K +Z!8!6[XF O;%@'0% ML"WH:@"*Z0KV= *U KM>07H60#K!^A+ /[->?D*TG09L"[H20#^Q70'Z$ M_LIU]?[*> 7H+ #K]PKV=0'#L$7H*P"P*PK)>03VV; MZ!X L"_^P(#I"G/Y MZ!( @,$ZBL'K"XH$"L!T T;K K PB =#PXL%BUT"BU4$"L!U$[XF L<$,#!& M1H'^,@)U]+D ,.*[H#F?U!2+("8NDT ]^H%!0"*S%I8@/G9=0+^P5'VV>AV M 5D\@7,%Z/4!_LE1@,Z L80JR+ = K1ZM';T=C^R77VOB8"BNZQ!-+M@,4P MB"R Y@]24U#1X-'3T=+1X-'3T=)9 \%9$]E9$]'1X-'3T=)&@?XR G7-6<,R MY+LF @/8@#\UQ@< G<#@.D@Z*4 60+VV8K9@./\BOO0ZP+?,O^-OPPB M+HL%+HM= BZ+502 X0-T!^A6 /[)=?F+R(OSB_I86UKV!B0"@'4#Z3SUZ;/U M@0 C@ $ K1V]#K1V]#<60+E61/9 M61/167,,T=K1V]#<_L!U OG#@.9_! /#7E]:65M75O;'@'4>@,^ L* JPG(: M/"!S$0K = C1Z]'9_LCK](O!B]/#,\ STL.X__^Z___#B]J+R O"=!.ZH #V MQX!U"-'AT=/^RNOS@.=_6%-14O_@L &B. );Z CL7P=3C,",VCO"=0:!_V8! M=C57OK8 C7T,N2 _/.E7^B+ 7,%L "[__\FB1V /C@" '0,)HA% HU%3":) M103#)L=% @ P\8&@ $BPS+ ZP:P >L"L *B. */!H8!!_\VA@$FBD4") ]T M!B: 90+?PR:)30;H!P& /H ! '7QZ)8!@#Z 0!UY_<&<@$" '05N !$)HL= MZ.#E]\* '0&)L=%!@$ @#XX @%S$B;&10* )HM=!":)70@FB5T*PW19N )" M)HL=,\DSTNBLY2:+30:!^8 <@.Y@ KP8/: ',( \&+R#/ ,])1B\J+T+@ M0B:+'>B"Y>@0 UKWVB:+=0@F@#P:= 9&0G7VZPRX D(FBQVY___H8.4FQD4" M0":+100FB44()@-%!B:)10K#CP:& 0?_-H8!)H!] H!U[R:+50@F*U4*= RX M 4(FBQVY___H).6T0":+'3/)Z!KEZ[B/!H8!!_\VA@$F@'T"0'4#Z2$$PX\& MA@$'_S:& 2:*10(D#W4FZ.'_)L9% @ FBQV#^P)V%H/[_W01)L<%__^T/NC4 MY',%Q@: ?_#N0D N[\D45.^M@"Y P"*!.@"YBXZ!W0)6UF#PP;BY_G#1D/B MZ5E9@#PZ=?,NB@- * )EP!WP974.@. %@*P'0#Z.OD7P?_)H8!,O:*+H$!@/U^ M<@*U?L8&@0%^NS8 B1Z" 3+)Z*/DL@$\"'0Y/']T-3P$=$/^RCP8="L\&W0G M/!)T-3P:=$,\#71%/"!RU3K-=-&*)X@'_L%#@/P@L;/ )U!TS_%C@!ZQ \!'4'3/\6 M0 'K!4S_%D0!7PJXN;#7P>P(/.J MP^A;_CP:=!DF@&4"WSP*=! \#77LZ$?^/ IU!2: 90+?P\0^,@* /H ! '4_ M)HI- H#A#W43)HM="":(!T,FB5T()CM="G0EPU" ^0%T#X#Y W0/@/D$= __ M%D(!P_\6.@'#_Q8\ (\ 78+D4FP(%'H>/]9XO=;6%/I;_^1 M6UA34;NV .A7Z%CH >*!Z[8 *\-V#)%3L"!1Z%#_6>+W6XO+N[8 B@=34>A M_UE;0^+TPY);6;\Z H\%CT4"CT4$4U&[M@#H0?;KOEM94[\;*0O)=0._("D. MZ+7HZ P PP144E5%!49!3%-%Z*#AB]Q#0S8J!W8/BL@R[5.P(%'HZ_Y9XO=; M-HH/,NU#"\ET#3:*!U-1Z-7^65M#XO-:B^/_XELNB@\R[4/C#2Z*!U-1Z+K^ M65M#XO/_X[ -Z*[^L KIJ?ZZ#0'K#;H- .L(NAH!ZP.Z&@"/!H8!!_\VA@$F M]D4"@'0@4NC$_%HZPG03/!IT#SP@=P\*]G0+)H!E M_KY#/ 0,,SP,,RP.D. M^3+ ZP*P :(X H\&A@$'_S:& 5'H. !9@#Z 0!U$%'H"OM9@#Z 0!U!":) M30+#CP:& 0?_-H8!M$ FBQTSR>E,W\(" (\&A@$'_S:& 2;'10( .E,^H\& MA@$'B3XR HP&- (F@WT" '4%Q@: 03_)H8!QP8X C^9ZP;'!C@"0/!;7E. M/H ! '5!B]?$/C("BB8X B:+'2:+30(>CM[HZ]X?WEE;<@@[P74$.]-T!<8&@ &1P^BP]^O)6P=3N 9$ M)HL=Z'O>"L"X !U 4 +P,-;!U.X 4(FBQTSR3/2Z&#>)HM- NM/D%L'4^CF M_^FM]UL'4[@!0B:+'3/),]+H0-Y04K@"0B:+'3/),]+H,=Y96U!2B].X $(F MBQWH(MY:6":+30)) \&#T@#KM%L'4^C!_^EH]X/Y 707B_$SV[DA -'3&]YS M P/>^?71T-'2XO##B]B+PO?AD_?A ]/#D5M?4^E-_I%;7U/I2O['!C@"/YGK M!L<&. ) \(\&A@%:7E\'4.@^ %F /H ! '4*.\%T!J Y J* ?\FA@''!C@" M/YGK!L<&. ) \(\&A@&+SUM86EY?!U-1Z D 7P_M@ > M!A\'Z.;<'@8?!U]RUKZV (U]#+D@ /SSI<./!H8!Z%KB_S:& :&V K ="B M_#IU&>@!WBQ!+_-H8!BN?KXH\&A@$'6/\VA@$*P'4'M!GH;]S^P(K0!$"BM@#' M!K< .ERT1[ZY .A8W',#Q@0 OK8 ,]N*! K = E&0R:( ?[)=?$FB!W#NWPL MZP(SVX\&A@$'_S:& ?<&<@$! '5"4[@ /8U5#.@9W%IR,(O8N !",\GH#-QR M)!X.'[0_N?__NGPMZ/S;'[0^Z/;;BR9T >B3W,<&?@'0$.DB +(!Z:7WQ@: M 2'#Z%?= @ #, 5501' $ * 0 "+[.@TW[87G"WI0Q5!0DE'05)2 M05D@+2!,87)G92!$871A+B!#;W!YD (M&!*-D J!@ C+D"\!U ^G@"(M& M!#T! '0#Z3@ OT8!'N@ ]^CP^B1!2!S:7IE(&5X8V5E9',@86QL;W=A M8FQE(&QI;6ETEH"#T# '0#Z2X OT8!'NB+]NA[ M^AI#;VQU;6X@:6YD97@@;W5T(&]F(')A;F=E+NAU^N@?X>DR"#T$ '0#Z3@ MOT8!'NA5]NA%^B1#;W5L9"!N;W0@8VQOB>X.FQ!ST& '0#Z3T OT8!'NC4 M]>C$^2E#;W5L9"!N;W0@:6YI=&EA;&EZ92!":6<@07)R87D@9&ES:R!F:6QE M+NBO^>A9X.EL!ST' '0#Z3< OT8!'NB/]>A_^2-#;W5L9"!N;W0@;W!E;B!" M:6<@07)R87D@9&ES:R!F:6QE+NAP^>@:X.DM!ST( '0#Z4$ OT8!'NA0]>A M^2U#;W5L9"!N;W0@"!F2!D:7-K(&9I;&4NZ-CXZ(+?Z94& M/0H = /I.P"_1@$>Z+CTZ*CX)T-O=6QD(&YO="!R96%D($)I9R!!2!P M86=E(&EN=&\@4D%-+NB5^.@_W^E2!CT+ '0#Z4 OT8!'NAU].AE^"Q#;W5L M9"!N;W0@=W)I=&4@9&%T82!T;R!":6<@07)R87D@9&ES:R!F:6QE+NA-^.CW MWND*!CT, '0#Z4( OT8!'N@M].@=^"Y#;W5L9"!N;W0@=W)I=&4@:&5A9&5R M('1O($)I9R!!2!D:7-K(&9I;&4NZ /XZ*W>Z< %/0T = /I1@"_1@$> MZ./SZ-/W,D-O=6QD(&YO="!W2!D:7-K(&9I;&4NZ+7WZ%_>Z7(%/0X = /I-@"_1@$>Z)7SZ(7W(D5RE=!#T2 '0#Z4H OT8!'NB \NAP M]C9);G-U9F9I8VEE;G0@17AP86YD960@365M;W)Y(&%V86EL86)L92!F;W(@ M=&AI2[H3O;H^-SI"P0]$P!T ^E/ +]& 1[H+O+H'O8[26YS=69F M:6-I96YT(&UE;6]R>2!T;R!A;&QO8V%T92!":6<@07)R87D@9&%T82!A2!T;R!CZ(CQZ'CU-DEN2!P86=E('!O:6YT97)S+NA6]>@ W.D3 ST6 M '0#Z4@ OT8!'N@V\>@F]31);G-U9F9I8VEE;G0@;65M;W)Y('1O(&-R96%T M92!":6<@07)R87D@;6%I;B!R96-O MZ.;PZ-;T*TEN2[HO_3H:=OI? (]& !T ^DR +]& 1[HG_#HC_0>3F]T(&]V97)WZ&7PZ%7T M,4YU;6)E3W5T(&]F(')A;F=E M(&9OZ-[OZ,[S M'$]U="!O9B!R86YG92!F;W(@<&%G97,@9&]W;B[HQO/H<-KI@P$]' !T ^E M +]& 1[HIN_HEO,L1&ES:R!F=6QL('=H:6QE('=R:71I;F<@0FEG($%RZ![OZ [S(5!23T=204T@15)23U(@:6X@<&%G92!R;W<@;V9FF^ #T? '0#Z2L OT8!'NCA[NC1\A=2;W<@:6YD97@@;W5T(&]F M(')A;F=E+NC.\NAXV>F+ #T@ '0#Z2T OT8!'NBN[NB>\AE":6<@07)R87D@ M9FEL92!N;W0@9F]U;F0NZ)GRZ$/9Z58 /2$ = /I3@"_1@$>Z'GNZ&GR/4)I M9R!!2!F:6QE(&ES(&EN8V]ND (OE7<(& %6+[%7I "X 0"B8 *X 0"B80*X "B8@*X 0"B M8P*X "C9 +I "+Y5W#58OL5>D *%D HE&!+@ *-D ND (M&!(OE7<(" M %6+[%7I "X "(1A"+1@H] "X 0!\ 4A0BT8*/0( N $ ?P%(60O!"\!U M ^D: +D, .COU\1&#(S"4E"X&P!0Z$_VN $ B$80BT8(/0 N $ ? %(4(M& M"#T" +@! '\!2%D+P0O =0/I&@"Y# #HLM?$1@R,PE)0N!H 4.@2]K@! (A& M$(M&!CT +@! 'P!2%"+1@8]"0"X 0!_ 4A9"\$+P'4#Z1H N0P Z'77Q$8, MC,)24+@> %#HU?6X 0"(1A"+1@0] "X 0!\ 4A0BT8$/2< N $ ?P%(60O! M"\!U ^D: +D, .@XU\1&#(S"4E"X'0!0Z)CUN $ B$80Z0 BD80,N0+P(OE M7<(- %6+[%7I "#[ @QTHN&"@"+'F8"]_.)AOS_B9;X_S'2BX8( (L>: +W M\XF&^O^)EO;_H&(",N0+P'4#Z2D N1, Z-#63,1&#(S"4E"+1OQ0BT;Z4(M& M^%"+1O90Z)#^=0/I P#I.0#$?@0&5\1^#(M&_+D, /?A _B+1OK1X-'@ _@F MQ#V+1OBY !3WX0/XBT;VN8 ]^$#^ :Y@ #HQ=7I "+Y5W"# !5B^Q5Z0 M@^P(,=*+AH8 BQYF O?SB8;\_XF6^/\QTHN&A "+'F@"]_.)AOK_B9;V_Z!B M C+D"\!U ^DJ +D3 .@GUDS$AH@ C,)24(M&_%"+1OI0BT;X4(M&]E#HYOUU M ^D# .DZ ,2^B "+1ORY# #WX0/XBT;ZT>#1X /X)L0]BT;XN0 4]^$#^(M& M]KF /?A _@&5XU^!!:Y@ #H&M7I "+Y5W"B !5B^Q5Z0 @^P&C7[X%E>+ M1@3H">'H:M^-?O@6Z$/?N Z/G@Z%?@=0/I&P"-?O@65XU^^!;H*=_H-=^1 M #H4-_H.M^-?@865XU^^!;H#M_H*]_I "+Y5W" @!5B^Q5Z0 @^P( MBD8$,N0] !T ^D# .E) ;@G $!0N( N( 6??IB4;XN D 0/=N^(E&]HI& M!#+D/0( = /I& #$OH8 )L0]!E>+1O90BD8&,N3H?-3I?0"X !0N"< 69$K MR'T#Z2P 08E&^E'$OH8 )L0]BT;ZN8 ]^$#^ 97C7X&%KF .@EU%E)= ;_ M1OKIV/^X 0!0N D 69$KR'T#Z3$ 08E&_%'$OH8 )L0]!E?$OH8 )L0]BT;\ MN0 4]^$#^ 97BT;XZ _464ET!O]&_.G3_[@ %"X @!9D2O(?0/I? !!B4;\ M4;@ %"X @!9D2O(?0/I70!!B4;Z48M&_#T +@! '0!2%"+1OH] "X 0!T M 4A9(\$T 74#Z2L Q+Z& ";$/097Q+Z& (M&_+D, /?A _B+1OK1X-'@ _@F MQ#T&5XM&]NB-TUE)= ;_1OKII_]9270&_T;\Z8C_Z0 B^5=PH8 58OL5>D M (U^!!97Z);=A0 N10 Z-G3@^P&Z!K,4.@/_NC+W>B+W>D (OE7<-5 MB^Q5Z0 @^PBC7[X%E?H8=V! "X @#H M_HH-VX"0#H^=[HE]WH5]V- M?O(65^@^W8$ +@" .C?WNA]W;@G .C6WNATW>@TW8U^^!;H#=WH&=V/ M _G_H!-Y0C7[R%NCYW.@%W8\ #^?^CPW5D+P0O =0/I&P"Y# #H.]/$ MOH8 )L0%C,)24+@! %#HE_'I$P*X"0! HV8"N"< 0*-H NC&W($ *%F M NAGWN@%W:%H NA>WNC\W+B +B .A2WNCPW.B?W) #H?>B*W74#Z1L MN0P Z-K2Q+Z& ";$!8S"4E"X 0!0Z#;QZ;(!C7[@%E?H;MR! "X @!0 MZ&'<@0 Z [>Z'GACW.B*W.A*W.@V MW(, (U^X!;H&MSH=-SH(]R0 Z'WH#MUU ^D; +D, .A>TL2^A@ F MQ 6,PE)0N $ 4.BZ\.DV ;D, .A#TH/L!NA)_KD4 .@WTH/L!K@D +@D %#H M:OSHYMQU ^D; +D, .@-?N 6Z)+;N10 Z.K1@^P&N #(N #(4.@=_.C9V^B9V[D, .C1 MT8/L!NC7_8U^YA;H9MOH@-QU ^DF +D, .BVT<2^A@ FQ 6,PE)0N!0 4.@2 M\,2^A@ &N20 Z([(Z8, N 4+@" %F1*\A] ^E/ $&)1MY1N 4+@" %F1 M*\A] ^DP $&)1MQ1Q+Z& ";$/8M&WKD, /?A _B+1MS1X-'@ _@&N0#(Z''' M64ET!O]&W.G4_UE)= ;_1M[IM?^YE #H,='$OH8 )L0%C,)24(U^!A:Y@ #H M?-"*1@0RY%#HL_OI "+Y5W"A@!5B^Q5Z0 @^P$N 4+@" %F1*\A] ^E+ M $&)1OQ1N 4+@" %F1*\A] ^DL $&)1OI1Q'X$BT;\N0P ]^$#^(M&^M'@ MT> #^ :Y ,CHKL=9270&_T;ZZ=C_64ET!O]&_.FY_XU^!!:Y) #HD,?I "+ MY5W"! !5B^Q5Z0 @^Q-C7ZR%E>-?@06Z'?2Z&SJC7ZR%E>X@ #H$NSHM= ] M "X 0!T 4B(1K&*1K$RY O =0/I"@"-?K(6Z(GJZ)K0BD:Q,N2(1D7I "* M1D4RY O B^5=PD( 58OL5>D (/L4:!C C+D4+F5 .@;T$R-?@06Z [2L4#H M>M+H>?]9(\$+P'4#Z:@ OT8!'NB3Y>B#Z1!/2R!T;R!O=F5R=W)I=&4@C7X$ M%NC:T;@ .@NZ>ABZ0@_("A9+TXI(.@;T+]* 1[H+>6-?K$6Z$WGZ K0BD:Q M,N3H3L.(1K&*1K$RY%#HT-2X60#HW-2X3@#HUM3HIM5U ^G'_^@5Y8I&L3+D M4+@ .A.Z.@CZ>C-SXI&L3+D/4X = /I%@"Y# #H:<\SP#/24E"X& !0Z,KM MZ>@ C7ZR%E>-?@06Z$C1Z#WIC7ZR%KD R.@\Z>B'SST '4#Z1< N0P Z"_/ MQ$9%C,)24+@% %#HC^WIK0"X !0N ( 69$KR'T#Z70 08E&KU&X !0N ( M69$KR'T#Z54 08E&K5&-?K(6Z#SIQ'Y%BT:ON0P ]^$#^(M&K='@T> #^";$ M/0;H1.GH%\\] !U ^D7 +D, .B_SL1&18S"4E"X"P!0Z!_MZ4 64ET!O]& MK>FO_UE)= ;_1J_ID/^-?K(6Z-#HZ-K./0 =0/I%P"Y# #H@L[$1D6,PE)0 MN 0 4.CB[.D .D% %A8Z?C_B^5=PD4 58OL5>D ('LT0"YE0#H4LY,C7X$ M%NA%T+% Z+'0Z+#]- %U ^D: +D, .@USL1^12;$!8S"4E"X @!0Z)+LZ20! MN:X Z!O.Q'Y%!E>-OBW_%KF .AKS;@ %#H0OJ-?K(65XU^!!;H\\_HZ.>- M?K(6N0#(Z./GZ#+./0 =0/I+0"Y# #HVLW$?D4FQ 6,PE)0N < 4.@W[+D. M .C#S<1^12;$!8S"4E#HK/SIM@"X !0N ( 69$KR'T#Z7H 08E&KU&X !0 MN ( 69$KR'T#Z5L 08E&K5&-?K(6Z-'GQ'Y%)L0]BT:ON0P ]^$#^(M&K='@ MT> #^";$/0;HSN?HJFI_UE)= ;_1J_IBO^-?K(6Z%_GZ&G-/0 =0/I&@"Y# #H M$X 0#H MR\KHU.:_=@,>5[B .AZZ.@DS;@! %"X@ !9D2O(?0/I&P!!HT($4:%"!)>X M( "(A?4"64ET!_\&0@3IZ?^Y!@#HHLSH+_3H(^+H)>80>@IYNC3S+FN .A\S+]J AY7O_8"'KF .C-R[@" %#HI/BX"0! 4+@" M $!9]^E(HW("N"< 0%"X @! 6??I2*-T K@ *-"!+@ *-$!+]V QY7O\(# M'E>X 0!0OU($'N@'Z.ASS*%$! 4! *-$!*%$!#L&= )_ ^D/ +@ *-$!*%" M! 4! *-"!+F6 .CXR\0&:@*,PE)0H4($4*%$!%"_P@,>N8 Z#[+Z'#UH5($ M/0 = /IEO_H5.'H5N4L:&ET(&%N>2!K97D@=&\@F5D(&9I;&7H/N7HZ,OH2N&_5 0>L1GH;>/HV< 0:-N E&X !0H40$69$KR'T#Z<< 0:-P E&Y&@#H4LO$ M!FH"C,)24*%N E"A< )0O\(#'E?H)O2X 0!0N( 69$KR'T#Z8D 0:-&!%&A M1@27Z*7@BH7! S+D4+@ .C=X^A?RZ%&!)>*A<$#,N0]"@!T ^E0 *%(! 4! M *-(!*%(!#T4 '\#Z3P N HT@$Z&;@Z&CD&E-T_]9270' <_P9P ND]_UE)= ?_!FX"Z1W_Z0 ,\#H.\< /W* end .............................................................