Article: 582 of comp.lang.vhdl Path: Intrepid!moe.ksu.ksu.edu!zaphod.mps.ohio-state.edu!uwm.edu!src.honeywell.com!carpent From: carpent@src.honeywell.com (Todd Carpenter) Newsgroups: comp.lang.vhdl Subject: GNU Emacs VHDL mode Message-ID: <1992Jun17.134401.5244@src.honeywell.com> Date: 17 Jun 92 13:44:01 GMT Sender: news@src.honeywell.com (News interface) Organization: Honeywell Systems & Research Center Lines: 804 Nntp-Posting-Host: farragut.src.honeywell.com This is a reposting of our VHDL mode for GNU Emacs. It is reposted so new folks have a chance to grab it, and to fix some minor problems. I encourage you folks out there who have used it to send in bug reports and enhancement suggestions. I can't promise that we'll have time to get to all (or any) of them, but we really do try! Primary fixes here are with (current-line) in vhdl-process. It now works. Primary enhancement is TAB is overloaded yet again (can you say circuit breaker goes pop?). It now moves the point to the next tabstop while in the middle of a line, following a non word. And probably some other stuff which escapes me at the moment... What didn't get in: dabbrev in the minibuffer. Here's why (from the GURU): "I think the correct way to do this is to put the queries in a recursive edit instead of using the minibuffer. In fact, this is how I started doing vhdl-mode, but it got too tough to do in a short period of time, so I wimped out. (The difficlty was making it fool proof so that naive uses wouldn't get lost in lower levels of recursion.)" Perhaps sometime in the future... email comments to vhdl-mode@src.honeywell.com What is this mode anyways? Here's some stuff from the header: ############################################################################ GENERAL PHILOSOPHY ############################################################################ We used the old ^C mode from the old VHDL/Ada/Pascal mode for about 35 milliseconds before discovering that our particular form of brain damage actually made it harder to remember the keystroke than the real VHDL. So, thus was born: SYNTAX-DIRECTED-GNU-VHDL-MODE (no catchy acronyms) (TM) Main features of VHDL mode include: automatic keyword capitalization powerful commenting clean VHDL templates clean, easy to read, automatic indentation A major goal of our VHDL mode was to help the designer create screen readable code without having to resort to fancy editors and paper-pretty-printers that tend to kill trees. So the capitalization rules, indentation, and commenting are all there to help improve code readability. Face it - most folks, especially new code writers, write ugly code. This mode is supposed to be able to at least standardize some habits and lessen the chore of writing readable code. As an aside, other rules we have imposed on our code writers include case rules for signal, variables, and other VHDL names. This allows the reviewer to instantly know what type of object is being used, without having to search for declarations. Here is a summary: CASE CHARACTERS Abbreviations* SIGNALS mix A-Z a-z 0-9 Yes VARIABLES lower a-z 0-9 '_' No CONSTANTS upper A-Z 0-9 '_' Yes GENERICS upper A-Z 0-9 '_' Yes ENUM TYPES upper A-Z 0-9 No PROCESSES mix A-Z a-z 0-9 No KEYWORDS upper A-Z N/A ENTITY mix A-Z a-z 0-9 Yes ARCHITECTURE mix A-Z a-z 0-9 Yes CONFIGURATION mix A-Z a-z 0-9 Yes TYPE FIELDS lower a-z 0-9 '_' No FUNCTIONS lower a-z 0-9 '_' No PROCEDURES lower a-z 0-9 '_' No VHDL mode uses 5 main techniques for aiding your VHDL task: (1) DYNAMIC HOOKED ABBREVS (SPC) In short, VHDL-MODE will examine what you are typing, and attempt to predict what you want to do, before you actually have to type it. It usually works by typing the first word of some VHDL construct (say, "FOR" for a FOR LOOP). As soon as you hit the space following the FOR, Emacs will call a function, and ask you all the questions you need to fill in the loop. Emacs will build the loops structure for you, mainting nice clean indentation. Your point will be left in a position from which it is natural to continue. (2) STUTTERING (double strike) VHDL mode also uses stuttering quite a bit. Stuttering is when you double strike a key. For instance, instead of hunting for the colon ":", you can double strike the semi colon ";". Or instead of the cumbersome "<=" signal assignment, simply hit the period "." twice. Play around with stuttering, as there are quite a few bindings. Comments are a form of stuttering (3) DABBREV (TAB Key) VVDL mode also uses dabbrevs. This is a cool toy that allows you to use complex signal names (for instance) without having to type them out every time. To use this mode (for any word), simply type the word once somewhere in the file. Thereafter, further down in the file, if you need to repeat the word, start typing it. Then hit the TAB key. TAB will cycle through the words in the file prior to the one on which you are currently typing, until you have a match. Then simply continue typing on your way. If you are not typing a word, TAB will indent the line on which you are currently typing. (4) ^C The Control C binding remain for compatibility. Sometimes. Bleah. (5) COMMENTS (--, ---, --CR) Comments must be easy to use in order for your VHDL coders to comment. So, we added some stuff to make life easy. The best bet is to start typing in comments, and get a feel for it. But, in short: "--" will put a single comment in the current column, or if it is following a line of code, it will left adjust to column 40. This is for short comments. "---" will create a comment block with nice long bars on the top and bottom Note that these maintain indentation. "--" will comment out code. Continued pressing of will continue the commenting out of the code. Note that VHDL.EL is written primarily for writing behavioral VHDL. We contend that structural VHDL should be captured with schematics, as pictures are worth many several pages of ugly code. With that in mind, you'll notice there is very little support for port declarations, connection, etc. If you want to write them, I will be happy to add them to the mode. To install the mode into emacs: In the true vein of this sort of things, it is all self documenting. You don't need explicit instructions. But, as a start, we'll give you this :) (1) Add the following to your .emacs (profile.el) file. Modify file ending as appropriate. ; ; Auto Load Functions (save memory by loading these only when called) ; VHDL stuff (autoload 'vhdl-mode "vhdl" "vhdl-mode with hooked abbrevs" t) (setq auto-mode-alist (cons (cons "\\.vhdl$" 'vhdl-mode) auto-mode-alist)) (setq auto-mode-alist (cons (cons "\\.vhd$" 'vhdl-mode) auto-mode-alist)) (setq auto-mode-alist (cons (cons "\\.vdl$" 'vhdl-mode) auto-mode-alist)) (2) restart emacs, M-x eval-current-buffer, or M-x load-file ~/.emacs. Then visit a VHDL file and start typing VHDL code. The mode will do the rest of the work for you. Note the wild and wooly things involving the TAB key, and stuttering other keys. Note that VHDL.el creates an abbrev table. (3) Email changes and enhancements to vhdl-mode@src.honeywell.com These will be summarized and posted regularily in comp.lang.vhdl (4) More extensive documentation would be nice. Wanna write some for us? To extract this, cut from "begin" to "end" and save in a file. Then: % uudecode % uncompress vhdl.el %-----cut here, including this line------% begin 660 vhdl.el.Z M'YV0.P*"R"%#214G,6XHV+%PR!,G5(I G*)C(8@Q;^#DD9/F#!HZ%MN$2<,& M1!@W9$#,J0,'SALY=$"D<6/FC44T:>;0>9G'XIDR;LK("5,2#DXV;^9D1--S M!X@X==*,6:.23AB8,MWHE%-G#)TT;[1:-%.'3ATY94 17-R3)DV0.G,\>FF MCATT9-BT*,,F)YP6&,F4J>C4I!@Q:.V L"J&31F+(-J\$:RRC%DXD._F!4'6 MC5>P8@NG(0.VS=S"&-O =1.S\^>PIT& 0//F#57&CA/&%"1* ..*D"H@B38(,F;)<8A$I09B @%)%"),D0T!\'R)Q2A'DRF6#0#&$ MS=4T9M*421DC!@@C9<2 B)$#!XX4NCDU1$8;=?31>D.DL%]_-;"P( XW.,B? M?R!((15;+3]8D!PAB"GHH''*\<<90IKD0H&Q4" JE5$#1:=*C9;P5UY-+1I94 M3$J90<<=5Z65&APG)0D"H&7 0**;!+9Y&,[P"7'&'D@RJ2=2:GZ1ANLNI$D MFD+TBA%K0^GDX)J'_A344$75T9A4ETJI:4X+S20C2C/N!,*6)JH5)(I!W0H" M1Q[%).X<&*;%G'-%B#3&'&A24:-(@"ZT$EI-VDKKN):IR^Y'3YJ)YTDQ#2PN M6R8ZJ'!0X>[[)ZYH\?B:5@&W]I(8H^&(;ITU"N9&KPX+JNG!Q9:X+YL*>LB8I0X5-T>(8\$E%9AX2IX4J M:WWRF]:_@0J\YFQAE&MG6BSW22ZN8:"J;$:NAEIO&/%)*!M]!!^MP..8@X@/O2 ='5N**$>>?6P[W' X:6!OF%).S&:QS:> < M:YY$)H.IKV.W6PC$RH F-;%I@#HIWM:0!\&Q48U&;W"0WU27>$NY6_ MH,6WR5!0-D'(D0 )N!B^E&1L1AI;&@[%LZ5!)@AP"B%G_@8M1-U!=XP24^>^ M$I;J83 F6KN(4*PR$P@N[T0I,MU,R "JLG1042IZ4I@6)H>AL*97AEI.<_QW M+S0E@4EONY=,3B,9TL1G1F+HE5+@0K[ X2@EK)H#G5+21#Q9C6%>>I+=$BB? M!?:)=F\HW0YBAR?'W:I7$YSCZ,1425LIS'[X^Q$9'*04")ZD5TELS%M.XZU& MD:$K>.Q5HH22,)*4)$PQ08L9'.,51.FNB&B!0UF(!!H?%J920BF#H:R6%A18 M:'(9ZM"'0N2FUZG+"*CKT)).E:K[U $EQ&SB0I+@&1C'YEPZ4D9E/&NK0!@E"V MG1:[T;V<2F9J(\J\Q*8G8]%+ HO=GI*4PM8$94%1"KVQUC%JD0OLD[XI&#G4 MS%(R>F?_H'"5HPW%*/LQS!LB-MTA)Q5V2ZU5$'>GKIK\DTN$@8QLPJ"@R&E. M72^^8TKBXQC4UBAR941EHUX4%*R!UG-5(::6I S!@2'T)TA."Y[[!,7D.<9[D<)LDQY>@^3.A,*\%+Q:PF9)5 M-#2B_U9%5F%E653D&*<9J".AX(V8Y0I5AO_'YK\!U=.>3>:2Y,;/M!!M2BFQ MU1BA63F8D?9W&6(SK-NFNQS#,ZFLZ2]K::,I4(\D*"FI8FO% ULZL=F[G0(O M"MSG%CAXEFXAO0AM@F4VX8H*8.[[%G]-Q.;@,DS,2MQ8G_;HMT,U$-B O,I7 M3NLZV1TJ(X%-@8+5,P8%(2Z=698/(*G+NLK(P40,)+6,\* \TNQ$#@ZR\K9B M8D^@L%DG^IX15]Q@+#Y)VU+\)5:7;9N2.=6!* O[H+C A[63L/DD8?JF6\ [ MDS&PH0Y[ZA)\[7#6E*2U;&=.RUL)5#:ZLMFN>.V4-DW%U[3XE<;A%"P("&M8 MQ!Z*O&--9QXBJS-;<:LP4[YJ1CBBU120DI[MI.38 :F&KG[C%X'')W>G@\^7 75V9*:D\.3V)M3%4=Z;,)FN)%HO%KTV0@E, (- $DJ(Q#% MW5*)GTTD^X34,M@N#&RF\'-7M-VBR9:V<1FX;,B@() RGM=&>_1)Z4M@.>/7 M4OKE;^3\V\LE7=J, RYP.Q%,(-?)T,%4]3>BO$W?)1'XZU<1;E/44V09R;N* MW,Y2Y=((W]X;LPG)W!2GSI#U1"L7!-]$BWMDM'!'51?LV2TR>O,.H]/4^-1? M82(*$A;690>'1E2^95TZ\1)'4V^ZMV+T!1>D052[39"GO=U[5 M17DZLS7[DX"69VP-!1DST& 7]& HEB..9U"K)D"(9\YC*6QC3<%V@F(8?#4BR]4H>+-7@<$2- X2O7YR!$ MUQ=;YFHQX1@QXUFHPV9C=Q6;)R['%6+XQB+ZAD;9M&UXT&T>8V^;1&9$\7$X MT1+MA'N&9R,J9QEI$8@S40:$&%F'B&BJ]RN"DGHOD3%^&'0;MCM%UO8EC1T@"8Q%'VDZ6W)-7>*Y3M?UGS' MR#J%,F8X98?0J9_3"5Z*15H7.$$W1D*'4B/O M=SI2]Z&FL1"&IBD[28#+8G&:9Q( 8T?7%Q<2\XHDILA!7!UC%)!M7 MD!:9=(%CQW$O 2B$Y$7PE7+Q0S9OF3PG!(EI1G\2E$Q5XD4*DZ(EL4VQV"+O M%#JMA29WBB>VA*AG$!7-F4=4F"?C\@9FB(G(2218W:G5_=6=_N77E-(HV< ,U )-$#-/$@1$-@2LDX%D\!,.$AT@ M ,R$ ,SD //TJP-A (VD! * B$VT (S( ,Y8 /&]%#JX01/ )7$ 12@!T0 MD07"(P1%, 1!4 7F\9O/$1W3L774,1[E401$QU7D 0SZ[> R[-;U[A7( 5Q2U%'X"!&\+-].[14 M<+(_>Q]/[E#P 150 2<.XI" MD+4@0++:^QUP.[?#\P1DB[;Q.[^62[IAB[S?"[#7(;L04;5)\!W>R[M$(*=Q MZP3M:[K!&P3;8;S@405,@++;4052 5/8![Y@L 2<;REJ[E3L 2R11UE.SP( M' 55D!UQR[48[+928 3 J[OD\<"/NQU/>P38T00X:[+7FR:GBR93@+TDW+-' M[+S2P5$[H+Q*' 1,K+Q6$+13:P0O>[QA["!9<+HU/ 55T 1!>\0.X;+6[+1P;5-\ 3Z:P1V^\,_ MJ[]^J[G]&[A8?+/2"\0#3,!5"[5*"P(N*QY)L+=O7+)I7 5R"K^I&QU).P6M M>[_YR[FRY\-,L,+4,;03#;@@C,XXO1 N"\\_V[O78;D4)1U#@,*5 M*[3!.]-XO%$=(K-_2U&93-)(0,@]6[Q2<+Q,#;]!(*=!4,$H[-%$>\1]/JO%'_'+Q"W,MV>[]=S<2:'+X+$=#I:]5B:TS&4=NV?=NX'1QLQGV\W=N^ M_=O '=S"#=P6D;=%(+U]*Q$]ZQ!-X,83L;#*G 3W#+/'Z]"ZW+O/X01'Z[K0 M\<(V_ 0Z,-SJ81&:H1=U5 9 , >[X@*T$11Y4*YLX *I(=[T7=_CC79!P$!J M9UGN:'F0BJA/*@=1JJ D1:E@01H&BDJC4C$@(&6KX@+NH24N4-YNQ"3TUCR+ M0Y%1%#8CX1Y/6$V[@A-Y R-I(1M2ED8B,!1W<%A[=CS3>EHR-EB:2EJ&PE>Y M%F(_>D.\8TE($6/T]6=.H$1?M"(I"0(BP!93<5C6M"*+1A6=1EW)N33JL:Z1 MI2EF6".XU$RA@A%G02<*(G=WTN2:I$_I0H"4JA0L>4-I !<9P_N:[ MD=MT7N=VSAMN[MM)R\'8H1U0,-5*_01_SK5W7NB&?ARDF*F:4Y1>, 0\T%@R M$B0^ &%1*61>- /_^B*>1R=C^B3]M$SQA1%!HH$05$3#]E3N<2@-B5V6645W M)A+OY14O!R*](A*4$3H84HGB8A$^^A;]%(*O4@:CV2C&,S?%MC.151)6@ 1$ MP 12+$1V,B<+X^DOX0;A_8;T/059,,%8T +Z^[-#,+!H-V@[ MX9#8 BCOK2=M@B0?D@9ZD'52YA)F(@="BHVU1>JRX7.1I3O_7D,JIU6QT?&Z MJ'55SIDU4HBC9!(#JO!CD!4F8Q6!-2D@+!)J\#=G0*J1RB1%%/(!CRH4*2AL M("MV=EH=,2T748@L!N^=HCLLKUNYX11,"79K$A,0$WC^=LCYZI2Z1 _%G-?$DQA5=YE,S MGW7.EQ(6X:QQL7RX^FM@U"=$OUG$TBCEPI11#S)],5QH8@1PHR(QT0*BHA-C M<6AKL'E]B$!3,SJFIX1XPJ:*MZ8D#G]G,)-]DR]W$O KLA(M$2QD8!'B H]2 MWZ:VPJZD8A6321IZ$)9P 38@TS+6U&6\A?>T 3"A8A%W\(KM-/GBZ$)M3HKY MC2/%F53/,G?K4J@)@Z=AHR+$@OM@-6%C.?TDKG@";YB"8VU.X?<7ED;\=09I M3HOOT?N;UY/@'_(L"2ZL#Y3$0/X):D%VI>?BZ3XGI16$'QV829#$=D"ZQ9 ' M6@1V24I):$7TDW:RZ"3&8KEZUD/K600Z<16B1QH1##ZGQ\@8!I5^BMQ*4 U7 M(0]$F4STYF#6S%(/L@L[A+OK0!W40Q X#(EA+\D8%9#GXIQXRW-3( DPA^S0 M WG;B\ #O"T(M M8!):@!YH6"T@!_RV+'!:\IP50%GAS),U0=E0)E;+E+&" M6% +GH O< )^6Y#+ 6[((T4#9(A#8V/+) 01N#A_!0P!!%R B%VQN, MA&SMCIF'0O@$HV ># -H;UL"12 +7 '@100*(?QI"8A0"E+! M^N8$7L!6 X41S7OYME+(?71A%;R"JO 1 L)B* 6,5MPJ8U]--A!#/$@%42$R M[(2][0_"P8=PSXZ 4:MNC6L:;L)JF JQ(6_3AJ!0;!6T^Z!1F$ M5 ]E4!,> M0SW(!]U@]_!M1N @A#M%5@CCH7JPAO30$;+">]C;E!=Y( )?;0SZPS-X#=6@ M0.QMGW!2 +VQI#F>1*9[-C4$2Q@+J%#_7,UH:"?Q"02$/*L@,PB#*T0!,4!! M$(%MY\7 0V-[ D\ %O:LJB4$?I85H XH@* E"(M 3OS3B'$0_P[=*;.@]=_< M!^OH1IU$=IBI.E$!N<3@,PFPB%BXBQJ!G!"H +_.E8?Z;@;(NKN$O601K$C-FQM>X-Y:"(U8KV(!3!)/7VU0GQ];4!CA0 MN#KCIK((/H(D%"6DD!&>Q_WPBQPDC= *!_&CD@V?,!9\X^3)O+B0==0+N'(* M+L%;S+B2 (\<@ZD0'?#%)? 7$G,ZAD4\B1ZA TP0B;, <\0%J)D)=>"%3 H4 M0(1L5]:*")IKI:$ ?=)5M@9! 13W3B0R.X WEJX<_(E15:$LY)AV A5:'WQ) M?E+,+, B ],EF)R@T!WU8TT@(J? (XP'?&%XEX_3-,"VX(YF@DX 1]@%#7P3 M7]4ETL@=.C0$2 3H !$00""'S7$*]/$)50AJP$3?*R.T $8 FGL"A M\) RPA !&$OQ5-K KZ,W1HX'](##I:M1-'K" M[:@$*GF@NT"-3])A@)22J#2G'$]%EK0 8 M%XA>'A@\H2?(UK_\;UND/Z63OD QO^/%/(W5DNK=C+C0,;E$]K,(*( &*(A& M9^*< C(I6NZJ492$\# GU9&/PHAI9 Y]!G[@R2"E#K!;A^//VHQ)R?^;Q)L4> MV:!7U*3",$3-"4F:23/P*RR&\>@+!":LB*9["8DR2#_Y$A0)Y,S+IFAR1@35 M4YP+Y"FFD#C)%VB2O90-0J L^!2?"!.N'2D2 6_SL/PW#:6 N,3UPY-8XUIJ M3)QQ)0Y0&] ZG 9T@$YUTH8"I74AF@EH$<6E_V8=QP094 ,T)''^G.,) F@ M#)!]1*Y0_ UXT?4*'^J4"]G/%>+.W DPG1Z>83[ ,R8TAC'#&B P]LF& 6$T7?XF&*!(XPD]((^R.1D"CK,2!EMQ^E7*8"-7 /@O1%64+;%YPF,!+ ET@@TP"7U2) ^?A),-%L0BD+D3$)@Z14HX M3MWJ2S1 KK QUD?LI -W20')2W!J2.QH23 @*6-%Z(![!S53HI0) I^TR1R: MYMDEQ$5(= %:5 8ED3F#3]F @N"GLJ$)3 ;X@$8<)MSC>&MR'U46MB,CT 01 M" O4% JED'7Y%@*2NM!%',E&8H0<>4'I0 A8"$S#*02! 24>2%5*, (Z1\:L MA\!8+N""9) #O0)4(05#I*K,AQN821U'=QBH^7#OG$+(FYRZ:@>@ (2'(H7D M"2AO+2#@B8#R=EB6*EXP;^NO%8T;/V48,*4=F .'A0[<.\!H&>* R]L)2=6% MM("SDD%0 %]<#V=5!' !+C#AGBH)."Q']:F&5<%@> ;47/5&9%6K;E4Z00>\ M*E&]JV/5J_S%LVI66:-:9:N:X:WN0:1ZWNHJ6#UO@76@I("]VE6_ZAL K'D5 MK;+&PLHQ#NN$RPN*-:[FA;OJ6"\K9,VKDW4]$B'(D#'&J5JX' NK!4#!Y4$4 M ,/29 TMP$=0SFYI0IJ ;(42)K4%S!D0X => #Z]'%)N>#S(E)(30@=\"7G# MU9K04@H(,_]I.H5!J2 @P]L@">*&%!>,U86DM_76WH0=?)-OPP(R(!-- M\=_@T0OR'4QXY(E3, M&7:*&@YM53VPPD.+0MB$X^/Z9XW(L()APQ:6#OO>; B(;0-2%LRJVN%@9>TF MS\)G= S,0N_J>;HJ C24=3_RHJCUHB,) /VV#\!05GC=S1!DLYK2S+K & MO(Z+NK 7-$P,P $NH ; @'A4%NC+E;HYB_6IWMN4(E<#GLVX?5@!23H&$]'S M ,<2X0@Q3^PA5))")U[$6'UY!6KI[;OJPR2LJUK*0L^JW;Q1Z-(<6@!TR&(U MA.*H!8OS$I+KVY0F5V0Y%$QRV@2&0'B 655-\BRL$CA69D ,D!#] >$RQCNS M_;AMLJ,B^L+9JP QX%!C#&LO#\PIL5Z#G]20B,&3?! Q #@7(# M0,!'U$D7$":PJ O0=),.8#V8"7$#I!P*"*!E9%3.ALB"5'JHB&H"4H$J* $] M<1).P),0J*_$/;2 +Z1UQ\_?F!=J\J8D''@+!;31H9 "(LE#%A+$.SE:YQ3 M$B^"#)!3:Z(OC$3G+2/=J"HQC5E+>_$<*,2'98-C>HC>-8)R+M;5WU4X* MI"I(R9M("L@5T>%H$($!6C]RYI Z+I)[NHP'4]<<$$2$A0 ME2WQ5#!\O;?4,C"L7+TC;(#9HDIME*%(0OO9MTYAWY@-,J ?YF-^,)@_00Y0 M6D^:$NQ&ERLA8H_TG%_YD'[G!S[E$/3C:\#%W ,]A:LU+4X($T?,@8O7)\H/ M 4X)'!&FMLB;N3G>+&NH$?#%_S;?RQ/LC5*P)O&NTX-?_DU-82*= MA)23 LQWW:0%D6MRQ.>A.$Y39'V L#"!5/C&X"@8RX(L#))GIR:G#9D-"V=E MN$S*&@%%TV^%*D"'QBI4#E"C-17,4)T#*2 PL@$ZT + *DE$*42'[:@2BJ29 M;M)D>)][6"BPI"DE>AN*.5YOQ%2DL$3@N\ZQ&IPS*H865<+W6'H#!$ M0F$A$$"05(BH @&2G*-IE1@3)_" MZ(SQA\TL@I : ,9061"M4 MI:M"F:A:XL6:B7_")B86G;@6A^*F7 9*,2<^Q:G86/A3$+ #I(6I@1K%+[LD MY4IL4IGR*/9&4KF!>.*K[(U$L1RNRD:N%J/BQ:"*MW)7!@I?.<6*91%[)W;> MA;E2M^-0N(#G:P>^@/@M%*:E47V),YL3@'"L00N-8T58!4!1\L!, H*<]7), MH-RV,C7:'+5-"2C@ OW=>R4KC#)F3;9VH _WOM3*VUXE*'8? V4.G+U+NSR$ M*RANE0"B-;.\L8J:;3.BTC78:!U\EA%"0XZT3:L"#V@10#3K=!(E>F2.";J MC1XTAV[-'CK$C>@J"J+EJHCV/E4T0]NV@473VH2K3>:+5GHFOT?/;0 M@F2*Y&B](+"FB(RF"A#:1ZN'"1TC3@I<%@$'VD4WZ153HC5TDOYM!'I^)CDC M%Z5'JY9> T>:1F-I3QPSGG27U@N1@TZ$Z2LMH=& MTZLB1>#66-E;Z+22-DEN6DZS!CR=BO0T'^[18SI/EYFO0*C/WZ)N 7S:+?CI M1!T6XL,9(-0TH2.0Q\#2D9_&I&[38;@CD %,;:DW-6AH 894!9YJ1 VJ*[6F MEE*@@52_ZJS3J3O'I^[0H;I3P>J-)*MU-:U.U;O:#=QJ%,T7,;5D.M16NDXO MZ;6\(0"N";2T@-->64I5Z8XML4TV7E;9*/ME:Y62?>3 D5" T]>X MQM!L;GVQY:JYCMACNE_#Z7Y-LUD22H#31IL,%.V7@+1?PM*6USU[M.(2FLVT MH[9><-H'>UE_6SA=>;U1P2;961M0=VVN#3? K5/^VC2[:UML*&VAN[;&?MAI MNVRO[3-]]LJV)G;8'!M)>^QWG40D,O+@V@UY/B"/D9VV _*^$Q(U4E_<"/MW68@&K[NA]%FFV],;=SWMX:PXXK3EH=B"& MTX%X+ZD2[[W_5 GX+M^.@6:C"A@!I]=WO=;;+5L$Y-3V_2#5]U&PUD@5)'LC MHCV\P8[JUMVL6VD7[[$*)?%?@Q[>>"!,S&6VC503.-8&VFT:#U1M!BY7);@< M\-.WET#_ $Q-IM"P7AC@L=N S^Z(G<%%P ;'W6,J\WCPF%S^&M*PGJP @CX' M8@L-6453 \4#^#DM:&7_+ *F0!ZXX8XV).L.P*D[LC,&NL77!U^(@ C-5?LJ M#1>K-MPJX/#5A *T1D?^X5(\A[/F]9!EU%X4#P,X/"[ 5!#P [B [A !%)3[ MA.S MN!B_XUQ@!!@Y/J[&*RX4!^1MO#P/\CCNQ2%Y';\?B!P%&#D4D +Z^!,7#(4\ MD'/G21YA0GD8M^-DG LHB"5.H/VX(P?E;%R0FR1"'LL/.1DG 7J\Z[CRT5K# M+?DHG^64W)1?\C'^ U1 +O?DG]QK^W(W#LQ+>2U'Y3_@!1SS1L[+'SD=_^5< M/)@_2O)D35&&. MSGO -Y<-?QR>.P8F3LO/.33G B9@2R+S?)[%L3D<-^=T')US 3X@T*EY.!?F M!KV?)W1HS@/N>3*'Z.3\H,_S;4[,\RZ/'.BO7)P7](PNT0WY/]\"F[P+>'*" M+LI)NC;WY]R\C'T]'$1W?H@#6JNW2$;M)C^EIMZ. \JQOU M?4[*>3I5)^;A#:SCDMWZU.]J_OT-GC5P_H[ M'^EXG:O#]7_>5+D VZ;K4'VLEP$ (93%[PP/SR)!5@!G'LXH\T!D-Y71IH@_ MU5$*2=V HB!Q6T9$Y5L'(9@42=;9>WY'/=R]KP>A"(SM>"Y 8K,S/+O(&08V M:S103R*3])-85!-HS#MZ#.I!J=;>, P8 MH@6,2-U"4)FXC(?O-'Z^@WC $ 81AY#C_C:UV-7_)C8,DW^8BK MH\L(/9GR];G*RW<"0!#Y]N38#H3[)/WK )?5@VE. MUWD@U3MZ3H\'/CV]EO6;'LLO>;ALFNNSTA:L7 +7%WK ,*X!_?EUVOU:V--Y MP)#&73W&?@EJ_K*R>6\4-.'\HI?SJI[3+_EBW^MMN[#^VLI^U&,)1)^S!^VU MW_.Y/L2G 40/'\+]JB?9[/ZFOG=,?^X)_;(? TP T2/?&&CB6<=BK_>:?MC[ M''T_&]W]@E<#R'S2F_ATDUM[W!HP^%A^#2!ZMXVW(3ZDK^\27^&[;7 /\$7] MNV_ESEZNLHH=TKH]3::P^( !#DS\Q8T6WG:L[_C97M?7=Y6O\5F^UWX:*#_+ MU_>Y;)HQ-^V!^;,>RU\!1+^ZZ8_K1MY$NH"[@=J2\Y\ T;<,+0#@:)Z<#P56 MOK?(^4L>JRI\YWT64?ZZ_\](E3'D?*@=\DH;9H7L-J'U' 5 MJ0[Y0 /TTSU@6/)U(.[+5]S MZ*>?8N$PXNV7>L;O\ GX#R?9&<,R0/RYW-MZ?N>6 V[ X!NYWV::KYY0..]N MP>"W@(0_^#ORGSS]=P9>&/P13_J;]^N_X%!!B1C\'5G[Y2I^S3&Y^T5LU+!@ M\&UZ[Q^MO__T>R9A;9FF@N9'_#5>I1__#W[[ 0-24-/-'U!H5>@_W^!$@% M,CF!1D[Q<@56-(&@$V@0\2Q&(",H M DR"> P:".[00IJ@( .\,(&6H'G MX0[:.#CX@2@@0?!\9+O68*+BT2 !BXN M%4P8Z'OQ-B* 6H,$>('*&@FH3#QV/MN;%Q-\(2* %4 4I$='V&=!5/PZV,5& M151P#.(""B@Z(%605U5V[_QDJE;TI4Q\$Z90:'%=&P'-X@_%-0#4J* !TF*>T9G%3RH\+TCD<4BI5 MJ%#>'"KPB(4GF(RD\ ;\8UH45%"8$SY/043E%EE)SMQ[D2_N2N'"DYOPA/811V \K'\DQ>JT+"%]Q4F3)"6I!71 84%H@12Y@P+@'Z40 MUM4VY1=Y.IP)Z=0E<%#WPZ'1 H0'EQ% @8&4%=!$9[%:'$\5%7*D #1APH)9 M6'P<"D@%?#%5,7=6E< 5 V8(' )7]1B$9_<9=[96[0$@(!P@U+UQWL)G\AD( M(&]1<9,G$4H)^0\UQP 8]^YD+T=RM5 M9059M4I&#E.%&E96I*%XEACD MACYB%/B ,,%MZ,25AUH(>CA814NV@@C@!9 :Q4?<%B@4=Z(8- 7O @Y1@=H MQ>6&H.$3<@*PAYQ([E8>7A9O7&I((.XC:("!J )M#D%(@4A+16B#W,5@^ T? M4YD@EI_U@ T8Q:8>>E4[D%H08'4\M5GM17I M #U]B#F%BUB$)2AZ@8R(%&U_WF$5ER*&AWI!@)B?=53N(8U()$Y7!=J)^!U> MB.*AAEB4$8EPCY%X/M5Q MEWUR.FAD2B,L@]T0##88.#(IIW*J*3N <=B>-4 M1]9K75L)8F5%)NH;9F("8>2\3=Z<"F E>HE+8I@HON5G< ^#-J=IB:%?FNC$ MY8E9HO&D.]P .8"2Z"."B4!BAG@G/HE38@\X54F)\9.;-_.$::89D8@",G8F MR@N$E'G!P/!P6(;M,8VX/W$&1'W&XE M!Q@6E.%%V%F$#ZAA^9-;(7'FWBR7G(1;ER#;PR7D@( 1C"!<_0ULV@ZHC'5D M,X5OUDP8A*"A :_[=+S DN1DZ 4;43\((-$50( M$@U(9FA+[(JRHI&C DP!U"+6! /E"$] 6:"AR(D16JEXC&%L:0 .=Q@J;6E: M,['*%0%: 0<1W]F$>E(5D0FU"70"K6B25(9#P67X[Z&(< "8L1Z,B"B >V D M45TH !Z@ 4J 2YK[9U:5:<=B^I6[,5W!&2-HDF2,WXB"%C1H9=U9$CB??8TM0.Z' M((J-2QI+0#32=BW UK@!&-OXZ%Q2ZA8X$@+GA4Q ]](WWAH((+B*-YX:$>;X&/-*"U=KT.#F*:]9CY@CW9(]Z'*S'/1HY!0;3QCO&:]^C"/#U MD 278]\X9Y2/^1KO"++QCBF;5E$^NGCSX\LA.(UJO".WEC^RCGWC3'#UE(\Y M0?GHX? % F2/D'QQCKPCT62V564)Y&Q4/D9V#^1D4#XF;1.DZ5%!4AP3I/C8 M-^(2&:2,,$&^)<8;[[@DE(_'HPC9(O"/BZ,&F4+.';MCW_@_\HYC&PPY8I2/ M?9O@AA;0D(&;(%$^FA&D&._H\^V09<"6\"'ACHNCCP)$"E) Y.A6/A9]2^2# M4C8MD<';$DF]M0CEX]B 0CZ..T$5B7P@D;RC],8[?A/]1_DX(I$$8J3OR#L* MB0QDW^B^E8]\1;^QD8M%^6C!?7=RHW\F,<*#Y!G:UTQ @'K< MGO$\5$8"N6"R) 3G8# MDAC7(91!T_F)'V O./.H!!$C-V@J?HV3(O0$#O)PY,0H.6VHDB= 1K)$3!5M M4!I!X2B.*( EJ3(R<>Z?G\!H/&<)P P2'6$-0]D;R0QN8F-P$E %UD1' M181UAZV9CJ>128K,4P DB4*H .@%%F M@=&DB; 7+"/4I.ZP;6!H2P*_UHW0.\.D7B4;\(BM6?WW3;(*+<,.N$/U6G^1 M:!9.:@GC)%HE6<"4>!@,ATPJB,HD6D4&+ K*) S'E>D3%P;TY'B5%D$A;:=Q MJ B(9& 190UHJ>%,&3KDDDR"53E8$62;V/84^@UG425]P2=&@/0-"N#-F55< M)9^H(#"3<-X6-Y\QC9>5TY@1&)-P'E=&+3$3AD2U-* 9E)@D:3'BJXTS@ M1F(7JJ3"0$O%)"/"@(8XH "3V/"T)PJ*Y\150%/2._JA-I*A<01Z@+M26UV' MBQTWZ1Q:#+\D2PDWUFA8I?V'5J65D*4O.5FN5&,7(WUY.AW3BYQI>0> MR0/Z@M_(ED" $:N51)E DA]'MQBL.:<%DR<+KF#&#ER@!FG\A67N&7?0(AT M!*/!3#)=)5$H@#'W*RV3HF18(EP(0 M/82H@26 M1K4VA)4-H4*84#%)1GU(Y@-6J)(8)D?FA^D6KE]& #)YF(B#>Y!!K'\Y@M!C M70"8?X/HYKG="KK#&-*?- \?$AS08?H1SF L>8[,DGG B%"\ /< 1H@.%DPO']$HY,AP)$=J,G\ M=XAHF'A L?!!&9@(9G?V_C66J*572>\XEGM:6$G\A9DH@(JYD;&8'IF<^4UV MC=N&5R5C\F$TYB46]ND6\>1Z4 88FKL(@V9->'ZC6W1B.V%I)FCM#V M,9IZ9'_)1\Y]JZ0>UXR!)1A(FE=/4B3("5*!:P&8'ADE"5\RF3L($Q=JUI,] M'EC"99J:C %!I6KV)TACKDF?^9>CE8X)^O6:1HZ.:)]A:,Z@AC0ID@YZ(FZE M2B(.Q-WY5.",$$$'/0AALFX2I@)"DRF;QB6N2!DR"8,FE9EE!AUE 3ZC%W$,DP8K0DX#&%EAXX8,-B%MV MG"8$\S.QJ NTU N01$&$T&*]*1E)"NI!$H#_?$482(1#%;"<\9)6 5X,D'!" ME>#PO0#]VNC@[REQ;YQ+6574C<4/5O$R0GO0IBH99%J:>4?,F&B)D_&A%X#2 M)0#I)#PI YH-^66F7:NG>ED[A1FMF9Q9TXI'_( /, 6H M90ZK0%V!1^@ 4 MU-TYG^6=<^??:04%GA;EBF1X+FET)J>)4 Y9?^7&R:]=$?Z46QD=:IO&&!_Y M;&9N:YZ_-WDN8Q^G1952!IO9W;#9)P0%J4(&45BV(M/>QME^_ W,CZ2@I%P@ MO1V'*6)(1T.#,C$F3$6R0J@0=.*;MN(N^<8A516G'^8DC)[WY:9)/(V>64<' MR%=>5IYFGR@;=)?''C8);8:>;1[&&0Z"G)N#R F%V#@4">OY7;V>99*_)WN2 M&+1GE*, W)Z<1.[9\IR>O>=U9"M,5Z'"H4F$B0[#)RZ9;V*&)@GRN9%M9,NG M,V@?.)]S6O4I?99M!Z4"RGEV@[=ENDEZZG%#@*!0/R$.]"=% F(R"8$ER5&- MN)OZX9K3_A"?S*:^:9+HC',EJIA2LG?S&4OEC4R3S1M"*%&(VS@@= ME379@;J149\9 &NNC+J9UX9F-H@/I4#F!:Q5*, 6<(2* .FD8:>$&G9-Z&&5 M J@ 3R@3JDZN?M.'^"E:4:@-RBX^598H$[.@BE^$CD_Q5, 5=0H M"N 90():ALUF^S=F?F>N'X,4G"$6IV4Q"DR[H1ZDQ\10A"ZA46@5&H6N M55.H)ZH"&':'10J*-6RAUV<7^H">DG*5Z7?!<9::U8@4#DX!?($/*A!F7#09 M8*0LH2$]8,(Y):Z;H,.,%3\5.+N( @ H3HE\XAN:,AZ7(L!R^<9MF$H;809E M;B129D6'@.)6:J5%B#$BHY#EV\E5*5-N'NA8:QH=?\5^&4RZFKV@!,IGNI21 MY_.9C1ZCD6(V>DWR>&RC/NF-LJ-8)KPI3D(3 B>]4X3&9 [/-LEGCII5&F:I M67YP-!F?V8N:'A+H#\IGYHF2*%*4;7IGMRBBB2&0<1U/.=J=>:$0*,7(%X!F MO IQ(F &%C!'7"A.\@A:0CBHO,@OVHO]TX:2%!5I7%)%!)WVT_1!DI8$0@SN M\@1$+A5%"Q#-<"[*)@J:AZZ@FB=\"3H:.<9?2$I.JG30I,Z(DG8)*,!N]I1J M5IY!?)B4CAG$"1,:WM"6FJ>!Y^-Y(^$E 6**_D5$J349DTZE7:-)BE-.I?"B MLO:4*FD1YRK*;>)YCZBP1EV.I* !J^3OA8/DQ%%Z(-6E(( +()AJH\;(#E&3 MFIK*&?HD5$^0R*GP].A*^":_:4VT2F_G"3I02'9[ M*3=Y7HB4%2F7F:J516G#"4VNIL3I3+"<3@E8P1-8!$2! MIV"H2&RIGYR5MMC'_5RCG[0H6Y)NS^FD*"Z8E;YD<:I?)J>FQR2ZI#&G5\'J M2._$I"* :)'"E:0JQ!VJ*3 I M=*I-[3ZWH^V)>3 GLPZ'*J&"4>,*#SDC! F<&:TSA,4%R00A89_Q8:C0KU2A M'I@KJC;:3N ?)\ .T ;]#2< "] &>2@9 P*2$O 76@*B(5V]*WX*\7F4SJ?O MI?O7GCX)/N*!645& M3'Z>2AM!:IJN5@/::"H =I.(!F_)("55[!X6-;E/C!^1%2 ;R59=P>C(FDN4U,O)] M';E9#KTH9=0XR 9Y$&F@5,\F_>6&DE):& M-?&E^*I$ +!Z D+7F5% C#D%S;?"T"QO0 UI"#!+]E%->%-(7\JFWTH# J( M)I8YXQS*D-%/S&>25C>6F8?&F0DT[I>*);]9B3)=N96P&4U(CH<5#U"NS@%K ME0]0'ZY5!JO-E[ NK%P #T"Q):R'!7"V_=6-BV7!>3X]G@&H7$6@+F^J*FYF MF^Z \RK)AG'BF5VJG?EXSJ/0)FVW6N&,,>,<"@=\(7IH6\FQ?IW:9^96C]ZL MG!66&G1V9-8"6KJ"L@CM4M*-/:N1HY@6 2>&CG.Z,G(;TYB+]BI]CW8 M"0K"O;:DQ6O?R!\:/NP%%@@Z%_--O86'V7[&">R"1S86]4Y,J..@]'=?0A+J:K4UF,_I>+I;6 MQ)3YN$ID^RB&H" AA)P^G>[0WV4^P@WA*:_*7(J".V1[U67U*6#I?!Y M.]JF2QJFB58%>6S<]FIEA@&-*0K ^=2L6A4(0(0(9U]F?_??<1*I%T :;.", M2UI%5U:6FN!KCK$>C*]#Z_DJ&_P 00 ,MP,0!5^/B8> @%S6Y&@:XWVEIBD^ M:90::4ZC^ HE1)HS@?'J-'8LV)8LRDTF4[:HB#J.+JZBZVU:J@JHG.N"9/T% M"[E5RJC]@8.CWPG0!;1!;].D:H&KK M>N!OZJ,XI>3*J?)_GJHW JK^:4.9ZB!2RJE.HP);FCJ-.< ,L!^89Q?!]>>- M9'^6@8^VP,($IBF7.,42L59LW88S^&@Q+ G0'ASQ[:P>Y >:\\IF>MI\1F'+FE1YOOW MPT*NP>M5,+Q"L&Z !"N\)JH&K/TE;3:Q*5$E*:*.?ELIW2AE]JZ/Y@.K$VRP M#6#GVE42?S[L[ZIE'J\_P,!9J%:R3.Q%ZL1NLB* /<>5>J,@ <:JP3J--8 6 MI$_*!A22C73*PJM<*&Q:6=&:B>;6YP#.L6WLY@K^F;++7PE;MHV9J]P>M 6P ML#8L$,C')J'8K M[S>:P_R<06DGRFXLL\!K$"J_=4[WH%$2S1ZR$!LLBL)CL M>[K+7J0Y@'WPRZZS)Z0TZ_R!!*KI/"M9>$]?+#X+%(BQ'@=OT\R"L,^L"!N& M1N.V(GY^3F9"+()#X*Z'K"8[I7)R[Z5(.]4&J#MM0@O\ MQ7YC16'%N.IQ/Q+7TQD:X'_:G32+S>9^4M\>>-[J"1J ^J M2IZWD2JEYQ=8>NIHJZF]\K6KK.2:SDF'DLF=$4T MUP<>@0!>F<8;#C*P%J+ M.4+H:HY^M=Y9+"M9X),PTE=J7L2$3P)PZXT*0('1N\@QVJ^9&&"C.!*ME1X9%BYE]DJ*)X4>U?M)OQ MHV0G1>N[GG@;+>_TW_)_!,6@8BG!"]AKQSI:-;>7WL:*O>Z \0,]+ID[ M;%(;L](!QMS[UYR*E"AK5[D,=J6X:6TZG\&G0N!40P12 ='0?NJH>E6RJ4?J MAE&.)":)9G7"!4W5 X.ICHUHZJD+ZZVZ3QK.(NK6M[E574HE4J58JJ&K?L*+ MY:ES"J!^L+UME[[JSQX*O>Q,2],*L\,?O)K6$G!'Z9X["(JHI$:1EG$!"GE( M"7G4WK5 J+D;O2PU5\TGZ>3J!9,J8<0$!2VTU<\!FF @M<')\U&>*N^JV2"S MH13!Q Q)YH&GQV=VJ6XBJI"MGRL"_"PJ3,5+[\:Z EF8>IQD#._J>YF;O@Y' M:ZTXI9H'88SFXKW]I5QF06X&!A!6@9ZNBYU:9^2DYHOYUNQYJ=.01*5AY"J V_&*(;&3KJ1 M2H#V[@0Z59F6J% G1@56"D0MOD5?^U#Z@E!A@:1@W-Y"309=Q'$L5RF0YD!K MO &0;\2K,TZZQJD[ZJ6V;*[IIDO+@H$6KS'KQ$V^?.^IV_Q>8<\OE'0\CGZ2 MBQEGQKVZA>RB&NQ^E1*OX H&9KV>+_]E70B4MD)J$JW8'6F!$.9O^;XK0A&; MV5Z\;AZ9N[':MGZNR#J?_:/:9)=XU.J_Y"GX>YX2G'(5X,?[.K.CE:+6GQ2^ MH.-Q>^]B#3*#CZ?VZK#+:+G[_;:G6VJEBYP^IU,J&?@0O##I+P2<\9K N!7> MN_+>NJ^F>AKS1J<_5^K+R0' N.FA.F[NIA G:0F?UKS:B[K[^E*^(@ /T"I- M.N$-#W#>3#H\P *6QBUQ.\#]&Y[.:>+"I-L!PJ?^[Q,@O^S $ $33.QVI'(5 M$+S12B9! PJ6_ZB^O^P'UP'Y;O M#L&$\&A5(K:]M&P2_+)A"Y<=;LO$_;P/Y\S#7$ZI5## $@1 >]:)#SW]KT" M"_TD!)UJ@E53A5F8P7(I'UD\!FLC&[*+\/+!F9JOQJE];<*O"XQ"PL#LY29KP&\<)R\/:)3U,3I;!TO"9*@G?G##O'"RU5HNYL/$HK %K[8<>#!.H MP DQ+3G/E*J ;U)7P:!W5#;.!#T-7>J>SO M*7SJ"L&'Q;S+@BYIQC")$THA*K/P?-#JUK]N "QL_NJ_:C %')T*KK?O\2," M9+U,'$0JWR)%R6(17!#WOK"! R2&>@@_8$7*LEO*K+\^KJL+J,; T>^8Z8%7,A.J=AP M#SSJTKJ>,7 ,/G[#ER_].P78O^ I#BSS L7@\5",_[*LF5L&;!!Q0"L>!15CL#QLY:DOQQ!RWWL?IW"!Q5Y< ME":R>JHX^6BFJ/=QABP!6K*693Q;J+;(..7)Y*=Z 2 %7H%W %=P!: !* ! M07(14 8$R4Z &S#3K0"'1;QF>')RA>ICRY^*"7'EC#NT2KRM8.-"+!K%/VAT M>'<.NP/OOE9U&KS KQL6J%3$4(CA]S_QQZVQ\BOM7E0!F*]7VRJ!9J*9SCNFWA*_[BT+W"BJ[L.7BI[Y>Z"9 M5MO)JL?1*3%\ZZ:&X&YXG/%6G6CD3:PE%Z7&L(O:ZLXT@@YZ?.NRIUJJ];D= MK\?8#:E<]5&T@S)5JIWBIT)QUOL#[ ".\KK#20S**&55BQS+>X,(IN<3:U." M@$A]T6F[ EZ3\6F$"\M?* MHSXK=7*.&^EFJ<7I1GP#2\&T+!](CQ'!6/"(&"A?P:,5@=J>&JA;J,0;R("Z M4L"G#"^KQ.WN:4%^,;N KX[4&6_ :#"C*NR*QAC;LXRWX<=8P>F@?J81(R+> M%BX_NN-RGEQG7KI[V[JCZ:[*E;(^! YYQSM@GYSQNLMK,32)?$)]\[)@12F3 MD_2K3LK:NR2Q7=:"[;M+:-=*&P*X:K#,/Q*ED M09R*.LO4,O.WL3',K0&D4.E$S!O;Q R?JLLF\5E,]Y+,K*Y=+"\?F/1R9MPR MY\MN,;\L,Z\$-/,"!OAZS=2+7JVIG^1O3QP-O_.CUCK8I ML'5A-V\-:#+GHP+\S8!S9: 6;18^CZHS/F51U?'#BQM[R)(N#4SI7LP=,3() M=6K*="_4B?EVOC"SV"P"[,T=&>+<3!###)UT,PX?%G]@Y6(JG\&X51KL.">V MK'+/4CK'O0]L/U$2N,<=()>L2B;%+B_'N123P,*;S3:=XSH'AS="1A_ %!,#ZK<^7S<-.@N#?P38<0CL$3 1T4UE!&#T, MC6ICD,_MK!.7E.CE3 @B9T M3D)A2$7)>T[F39\" CV?5KJ_4AT:[)%Y4!L*D'@(5R!DW+S*'='+@VP! @C1 M=, 0P/1H>#-T&6U&G]$M *M+SQ4X0T&C4*CT7!T'-T]:]#TC=H"'X4TVD$2 MM 1I!U/+%& W)0&("S_4/_,V(;0<;4@?TFET(9U((]*,]!D=E)DT38X+$!^8 M"%\ ?^P"T#&W%W#SS.V':;3]!4-9(C](SM +0Z3Y#16 ,0P4P-$3+ M%N $^'LSG>3BGY'2M#3X/$NKQRT13!-PS_4R7)=R$T+)!+2U-<\^@8@T[35_3T'0-:P3ETM M]!A#46PNKU3_G$UCT^BT?[8^H]/8M ( !38R/U<0@.>JNE>-=A JN-*P=#7- M3E_3M[01% <5-8A,VZ)'>]-*(#C--ME"<,XYO4]+T_KT0EU+]]/M\S^-POPT M]8((XT1! 4U<(-K43<*()U4,U]\$_PSE,M4@$!HDS"+4YG49;U53U M(5U-K]1AM1Q=HUW5] TWG2_OTE1SXR).-]."]"R839/5934K-M!0U:CG=6< MS[3Q;M6@,&00::0%-'B M3$35B^T\$P4. ?6B*7A7_US31J>B>A8:UE?J,%+#4M)#35O%(K[SP4\@^]@* M2>H>1E"NU-A1:'T5ICF>CB\5FA0,5<3B,[I58Q25$$DGUVB\,='B5)\ D P/ M_,,XU;'U"1 #M$&VM9*&6.O5A+1.3=]DU6TU#R,,#=*&-5V]7L?00=E=+;A* M-YET8:W..=75M.":51?5.>0<@%0?R0R!?7U?E](*@.!:3_?7Y3-WBD\GU>OT M@NU(W[KI[47J3+:@EF@1BI0RI7E6ZYKYH+'10U1JY;*E5 %W8+E<% ML'K80[:,+6)+:C:VB8UCLZ5&]89Z8*_8[L(%&V3GK +9%M",85$A*4&GIU <$<9H5PH4W4C*9AA$2\:BVF$W.J57K43+L0B9SMQ5O9* M)4V"E#&H2(DLIPLD;5K!IS(:J\7T_!+/9VVK1RGV<)/XJ+(896.I,8 ]O&H+ M9X[VDI9A2Q96]MXF3 ZTJJ2R;/Y.J6AU[)ADY]A=0K#X6[_9/K:*-##WL[RV M>XTZVMH<+K#XX:X6@H&@K6IE[HR\[FN-;L< M,S-K'1SIYF.;@JJ,A<.0/*)7/1 M#2GKRG^1H9RB LUQ,&DT=WW M=FWE\6&!$YO!7RINJ3JGRJSS3XS=K-WZ*=Q=N7;)*/?=/?!2?$MSM*R H,F8 M]\+,G9*$T;9UT8&RQK%'X6U\VLEX#-<(.4= MFF&GQC#FS1+C+*=SY_UQ@]Y5-WL,-,O!)DGZ:C@:<$%;AT;WF)W([A_ M ]9!B]5\>3NH GAX[((?X$FXYCT%:,,T.&C6-@.M8D#(NC'[X+]UM$QJ0-8M M\+^-@>.*=*(&WCASX+\WT;THJY(=Y0N*:;^KK:-) M^JN$>QB;@>Q !GI8/[ M@_8CHK8GNWRSJLUW@7WY"LIH=Z'<(+_(>JE0''5+P5/WC(!EXS]5MQ[K8X?, MV.GL>R[2NCXE#!Z=,M7^-P&.,G/-5#CW[:7%OC7X9J6)Z]^;;_LRG][@;NK MN?\6I>WJ'*[A#6AQMP.K2M;A$EHM;K?NEG?X&IN'B[.--9;&AUNMNG-0 (B# MMZ/VDA;-YMH')P/NG%J3"-J(&^7&3P*6^R:;=:+!0WMN'Q M?VJ6TK(G=0G-C9?CGU_8+8+SN8&M3'V)(U7FN&))R_;4/[4>-ZKNQ 7S>N#- M><"Y\Q:G;Q>[>H'/QW?[VVDOU-,Y.#P+6*F1 CV^9SAV7'^SX?-NX.5R11XY7^1% +[Y,GW/*OQDT&:^2H<@..,/M^ )S1!\(I?=I&^1WV%GTS0O&6%_O\H9R1NKC7ZB8!ES'"O%=C?EW/?* M2RE$\=;J)(#4Z[^7=MWJ*ZZ[E,=F#Q!?[Q9UP M/RQVFZ;];B:+F "\<^PS>I)WR:0B^$V9YU1,,ZF!FG,Z) 9@%JADY6%Y\#:6 MBW!*0T0>\1K#J(*)T)#$ *UNEBR7_\"T06AA'S15Y=]E_M[]Q5&P MD*-T.H ]9SQ_!7M/^Q'ORL$;.6;.#XNN R_79P%Q<@D #^><:U.@8W0>GC3D MU#FTZR;SY,"*N L6V^:9,1LC!*A#3;A=G/':YX=][EAKH6\3Z MG14CNES/S\$=>7M[\55N]N5*S;EK)16+I:HK@.[X"C[^\9MYX)L5I!YM.Y;:CYXC 2D0D5,I5?=)XN"?*5GP=_8CQ6 E$WT\F(N MA7P%U%'(.QM#Y>^JBZL>,'0FTG!9E]?&;H /("<"Z8>ZA8::&[P= K.D+#"% M$4]8EB5+,2+A(.6;@QU5!/IK3>3EX8Y8F",DR-K+S F)Q"( &5&B(Q"#B5,V M0J_5E\N/"#J)_.2=G)M>[L*GOOF)*3:N<7[4["DSAK M-IDL;W'XNDUY=N*4_GDZBOXHRMSZ?B;0;,K5)Y*6:^N7F:=D6L]PZELRX MI+_LNC%\ O !)T"T*:WCH,%YT- *CWYSK;9NDNS#ACK>[:K?;VJRK+#GMNL9 M>!X"=%/DBC M\MAR*?)3/S@7G@[(S#F6^2(\9@'Q+]RW7V;L^UWN]O.PNGF?!);W)E/ M>''L,!ND"ZR6JR,KHB/$&7=ME9M[15'(D6ZWE^YO.]*WMR]]_B:2^?>4I#!3#-; MWP<>,S_DDRWOA@[XW;LFF%. K/[P-(5]05B&P6CG4^H/(_B"WW\#K)Z]JQRS M.NVJEP$OX+O,"[^,[_MVTB:&QNKH^_9>JZ<%(4WOTKY'I_E[SP*_$^0F7OF. MO6OO>0_WKI>1+%+ _DY.(O#I[\!KPX,#]SCP<_2[!%_#W>P6/P"OP1@X6P,!S\,NQ:#; U^\D/ 4/P*#P3#8P MT\ '9P3?"5QWQTE9PW4XP\<-U_40: MV7!8 F MCZO!D?R\)^5BW='I-I:8*5@*SR5 MQQ3/&;P]#]2U->9N(RKAY1")+U#EGC?8G7]WUZ+\K;O(FU66;Q@OD(WQ]5,9 MWXR?\>%UV[+&G^-':1L/S\?@KWQ; Q[8![,\XW)L>]U\V.?MGL[SHG?/0G)S MDV.N+H^-F[MMO.E-9Z/>RO)(J;1%I.E"MCF ,_-T_/0.Q-]@YL+/TI:6)735B"9>H0,8^ M@<@7ZXP\OAKE7V5[M -DK0/%!SJ,V@H!%#)E%>P7>I2D, NC52R:3J6QI. M46L)31L-:GWT!F?[W$E.8I0 ^PYPV!-AUN0,C+,_ M\A9YRR:G/C\2ST&*^A'C1_MZ4-2CB-7-G>*_6-IJNM5?NH&C MQ+O<9\RNK)*6^_H13(E:VB6@K+MG\*1RN HI;I>PXM84P;WO6N7BV(EF KLU M5G'NHM+Q;!\*)R[B$-XC"H#*_MFUME',_5"^XQ:Y7D3?@&I+C7MM;,KP];B_ M-I"['^Q_ H(4<*?"IW;G.GLH9!*!"DW&F-JO,$*45:^?WDWLR[K?=\GK?;/] M9]NO\;UD?#ZQ4-*R*GG?4\8_I9HXEERLGB6_29N\ABH]_@/6(O?/?4<\XR?; M^CA7ENLH%M]JC?"%<):8@ZET;;(&%O[U.6E[5>?]-KHPANZMZ8 ?V'*Y^.*7 M>X=@".#V][UO0[D2J*(NQ0J4+"=4]"IRFALG<<2+[4Q0KO!'X=U&O\6V7C#0RW:R] M;8!VOO8*^SMYRWIGE:SM?%*N.\9[9FZS/I,8\;BTIJFZ9Q0")+/^:>I^;HRD_H9JB7C>@TZ-%7[X4!]A(362Z&$B0# MO7-9TGL.O^S;.>#W8!B-(F>OTC<1#CY4T[Z=-3]8.)#!&$2C/(7E %A_V,>"C=HM=[#$IH:*S:>J)*-_7ZB MZHN'E"V]SAJ0DK3[NLA-!)CQ2UHE2V-(>^/4A/=-0*.Z81=MK,?PW7O[D4HX M!J6)[E 7@ A3[L0?5@$,J>D%?'K3=IAKO*KCS@0&B'FGWD::Z;WD.E3U9@%/ MAXR+ZQP-1&?0XJ>R,/]R1^JW /%B937>LHGM;7 J(O_\A&8HBP(P/+E5AJYC MP ;' $+LAZV5.?<5>4UNH;D>0/U=4SNA5E7].6".![I'FS6R\%JHIH9) M_I6;ZU/]/X!TV.6.%5\N?$&01E@V1C"Y6):S_2TZ&_3+_.@LC4QJ(K:8KG3( M(UA_NC^ZN_EQ7H#K\+[OJ&P1\[L#_K;_DQ"B!:DP02Z_VC%^R-GJ__ROU^^ M_G;OCQ#[KW*??^T_%8=HU7]#A4N>_K-_ZJ_PD8Y.FNL/P']IU[^1D_W3$MO_ MSNSP-?_"6_C?^P=Z#I_YW\$G>BL;52#[P_O:?YF.5&6,\+\C3>MF_E<'*]/8 M_Y9C=K#T7_&/_\?^\_^Q[1PUN;??V/.O,%0IZH,= +=>"4!#V/6/A[/^"_W= M_DI@C3!#6 !P GA@J0!" /-,>#"Y&4@O(O:K6=%Q:CI_X: .(/(/6N.JT86Y MK5R Q83OW^Y/_@?]^__5 !5B/9Z'7/2)*<8"W(5Y:F" '$#C7__OET(#+ (2 M;)X&(T >( 70!^@$# N,;"Z LK"FF+0&!JC^4P(V )F 5,!C312PW2?^JP"F MQ;" %AHL'Y&("[@ I*HL 45_!%YQD#]),9-.XX0-> F> ";.DF,+) 4" \\OS[*O#3&P!!@,%-F >^IF)Z_\'_$O$0@&]%AE M Z>!7333S-XL&=@[P\9<<)J!L,!2X.G/=P8.5/VM \V!Y,#(V"OP114+_ ": MPQJ!.D#GGQ20&NBS0?4,O/@W&IK]7SKP&3A:Z=>T Q4^ND#P&^L-;H,.I >J M T4^6[IA8#XP_D<&3 76;0!O3IF*S^HM(L@,# AB_WZ!?D"]@-ZM5TPJ- M<&8T!B]NH"SP@P.;$^# [4(XL+LS'P0L*N@.Q,KQ$K1R=T&NG':I/E<7K,P- MM'2"3$%%(%WP+\B[>9"8!1>#NQNVG&6N/@>W0PQB!5^"K;LTQV,P;T<4B =" MZ,*"/,$/CKAK,PBABP=F;SR"74!G8%-P ;,9=/L,O+HWED&Q8)$.*+<7W =* M!?<^7@XPW7@(-$@0#!*-AS:#:*1XH/N&-]@4=-]L!MTWPL'Z36PP-&@87+A) M &V#?<'1"N!GX%7X 0C"!3^"JD'%8&4.%&,0A I"!Q4^U<&"#V/G]8>A60[V M!G53F\'703SP@7,=3 T.!)N"/1?O8$7P%GBUZ3*!WY(VQ$'M8-)F,YBTB0MM=H KX95JIK,%F#.T M2C)H:R[E2O@$X,)>>7W$GQ(S.04A":BB\N?8^RI8$[*$!H8%Q9+P:@(40"K$ M.\ +8;JYQM"":-&&D:+42*8B@1G.0-C@)=#Z4 $T"B@GHPA%#@7!#67D> ', M">0 CL(Q@!B 7-46HIP81HQ5HP)I6W4"AA!/.2S0688(SIH$#)M@DE)^<%2T4*OU"4(BI*&'R47(F+!82E>0 M 'X >D(C@!'@R[%<4>0@#H*%1(O&3$2%KW*7>('(1H8/E,)#(9, _S @6!5F M8T A?)4ZX?#@:2$L;!0^"JE.0*)HH?6!;N)=@Q:P"JL7LCTB$[])!$ "0!8> M%GH ?@ 0@*-0O0$NA!9Z&Z2%Q,)8A+%PP50I9!($=,8(-8&X 9( 7@,=0D<,=.D!,*8@$%2$SC&FA6\!O(@&, M -I3BH$>0*8I7Z@[4!1B"4 P 91R0;G'<$:;*B$D'DH>.1NZR;^"!. &R'W1 M:RB&=H2% !!@=$"!L.?8#'&&=)/]P%RA8X@SW )<#0],=H"9#KRP1R8RK#*D M!$@ 7<.OX1D@;*@#0 .4P2P"\T)(85=@4@@GW"+03>8 -P"Z27QELX.J 0$P M#?V&:<.Z0!M@IH,V!!MZ#6^&8$.E6DS !'#OB-^0=-A/"!Z:#,@ X\,$@ Y 4M@#>)NL#\L &XF &Q>1066*044J)'.P$#HH?I-)9$F77%:PR(PQ6(F;?'@+@W"_!\ M941?]:3Y@ &1W61S H'D! R(D[-]SQA'@11NZ=<8$"\[=00#HOPN)T/DVB2T MIG9E("0#8JA +'5",B$H%[H(= #(N;M'D:$&^8AK) #+JJBD16! !".U :#,9()0'-@0$1C61 3-2AYNH_8 <#H@6G(@"6 end