From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19873 invoked from network); 22 Jun 1999 08:25:51 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 22 Jun 1999 08:25:51 -0000 Received: (qmail 5891 invoked by alias); 22 Jun 1999 08:25:38 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6774 Received: (qmail 5884 invoked from network); 22 Jun 1999 08:25:37 -0000 Date: Tue, 22 Jun 1999 10:25:34 +0200 (MET DST) Message-Id: <199906220825.KAA23802@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: collist v2.0 Here is an improved version: - No more highlighting in normal menu completion. - There is now another hook which is caught by the module which allows one to replace menu-completion with selection by setting the parameter `ZLS_SELECT'. If it is set, you get into menu-selection whenever menucompletion would be used. This is ugly, it should be an option... - There is a manual. - Keys used: - accept-line and send-break will leave selection. There is visual feedback because then there is no highlighted match any more. - accept-and-hold and accept-and-menu-complete work like the latter in normal operation. - undo removes the last match inserted by accept-and-*. - completion widgets move to the next (or previous with reverse-menu-complete) match. Because of this I could convince myself to implement the `ZLS_SELECT' thing. There is a problem: I had to strcmp() the name of the widget read with strings like `complete-word' to allow this to work with new style completion widgets. This is ugly -- and a good reason to implement local keymaps. - Movement functions, redisplay, and clear-screen work as before. - Any other function leaves menu selection and then behaves as if menu-selection weren't active. - The behavior when asking if the list should be shown should be ok now (I hope). - The menu-select widget is mentioned in the compsys-manual and recognized by compinit. - There shouldn't be any flickering any more when moving around in the menu. - One problem with the default colours: I've taken the values from the manual, but without setting LS_* my `ls --colour' seems to use different values. Could someone who actually uses coulured lists please check if the default values are correct? (They look very bad.) Oh, and yes, standout is still the default for highlighting in menu-select. - And another thing about this highlighting stuff: currently ZLS_COLO(|U)RS is only used for filenames. We could make the code use at least the `*foo=...' patterns for all matches. (And if a function is invoked when generating the matches we can set ZLS_* in it and have highlighting based on the type of matches generated.) - If you read the manual or the collist.c file you'll notice that I've changed `collist' to `complist' because the more interesting part doesn't have anything to do with colouring lists. But of course I can't build a patch that renames your files. Peter, could you rename collist.{c,mdd}, mod_collist.yo, and change the xmods.conf entry? (Including changing the names of the setup/cleanup-functions in collist.c?) Should I send you a patch for as much as I can? - Final remark: I rely even more than usual on you all to check and improve this. Andrej Borsenkow wrote: > After all patches I started zsh and found this ma capability working :-) A small > comment - I think, it is better to highlight just the current item. Currently, > the highlighted area corresponds to the longest item possible. Example: > > bor@itsrm2:/tools/var%> l /var/adm/log/messages > memory_messages messages > ^^^^^^^^^^^^^^^ > Highlighted area > > Looks a bit confusing. This is intentional. 1) The only reason why I would use highlighting at all would be to visually separate completion lists as a whole by using a different background colour. And to make that look good I needed to use the colour code in the way you described. 2) I also prefer it with menu-selection because it looks much more menuish. Any comments from others? (Btw. this is one case where collist differs from GNU-ls.) Bart Schaefer wrote: > gcc -g -o zsh main.o `cat stamp-modobjs` -lnsl -ltermcap -lc > init.o: In function `init_bltinmods': > /usr/src/local/zsh/zsh-3.1.5-build/Src/bltinmods.list:20: undefined reference to `setup_collist' I forgot rename `example_*()' to `collist_*()'. I saw this yesterday evening and it is now fixed. Bart Schaefer wrote: > It looks pretty nice, but how do you accept a selection and get on with > it? I get in there and can cursor happily around, but I never seem to > be able to make it take one of the choices and let me go on with the rest > of the command line. Sometimes a space will do it, other times I have to > hit ^G, which may or may not abort the whole command line. What have you bound to return? (I guess these are more reasons for using a local keymap...) > And the listing doesn't always get erased once I've managed to get it to > make a choice, though it always is upon accept-line or repeated send-break. It shouldn't get erased immediatly. No completion does that once it is finished. But with the patch below the highlight should be removed. > Finally, I wanted to mention that I got it into a state where the highlight > was not visible -- I could only tell where I was because the word on the > command line kept changing as I pressed the arrow keys. Eventually I think > I crossed back over the word that had been offered as the initial choice > (which was in the middle of the list somewhere -- I think it restarted an > old menu completion after I thought I'd broken out) and then the hightlight > came back. Maybe part of this is: when you start a normal menu completion and then invoke menu-select and then leave it again, you are in menu completion again. That's intentional. Otherwise I haven't seen such a behavior, could you try with the patch? Bye Sven begin 600 p-collist-v2.gz M'XL("#TY;S<``W`M8V]L;&ES="UV,@"\/&M7W,BQGX=?T9`3D&8D/"]@@(NS MA!W'9,'X\,@FZ]W#%9J>&5WT&$L:8[S+?[]5U4]IA(US:OPBR.HZ+<#ME5'E9'UGS?7P%K72\Y^_LR9?T^ZXX. M=O8/^@/6V]_?7^MT.JMK5,#W#[K=@QT)_L,/S.]Y.ZR#OW[X88V]:J_YK,T, M0CY>9WGTA<-%LHAY&64IPX?%6H<@8="`5B"B=,9X.@_2D"<\A0F,M?$_=CV/ M"C:-8L[@[R+(2Y9-V9=B[K%RSMDOK)CS.-XF<,1PT/5Z`];!/P++/T5I&"\G MG&TH1)/)?*-I?)%G,+[F%V501B'[.9K,>,D>;@&?9<%C'I:'\!BVS7[F#$8( M`<`H2'C)\X+]W)Q=G%YQ8)THF]OX#Y*";@`4/80/+*`]D=C1#(6%VR2 M\6*;G99;!?N?95'"PP#>SF$\W2I9L5PLLKRD*?^=Y5M$$K'(XX)OL_8KQ&VM MTXAU!_Z'>)^FD^@S+P"=,J.5`.\D2H.8%66.'`CR/'@LU&I_FO!IE'(&N[A] M=\%8ERC<[PZ]7I]U^MU=K[=+-`8\X">:,F?=*=@1`PP*(HRS88BRX;IL,*`U!7(Y$:S0/601^R_V[N8<9U_! M7:?C`@!."/W70-CB0_0;`&YLX#SX/XSRSR6^_=W-V1D.6@OCSQ/(J=H)O5P^ M[\KG@O?SX!-G&1`&)+$J`Q[)150*"N)/PI."ET[HL:['"E"-;.JT0]>5"R(N MD^5"D-\I8)A(O-?U^GM`XKU=;]"7)";^P>:3@)0FN,N60AQ0>$$-LH=4,DY) M,+"9I9D0`H\E^@(H`[]C8*VX*>1=`9+R]:E1^I)%F%SD!%`-YZR=T%^/M=M) M&=S9SV=YMEPP\0>>)S/QG#9[%A5B?S0;=>,\*TI!\!IM/F719,V/I.ZK20JC0`YX1(@DR.]=FS1KG=J\MUEV M#\H"K$R21X_5EP&I_%WP6SV9':I[02+8?:*&^.=%S-IIZ$R$(Q M.PP/I2JL//!`_HO$6AN$=QF6)(:(&UHTY*'6)+`PTVP[*.[YA!T=L;ZE5XZ2 M,43>14-%*X)MP)6<3?CM'BK[`C)QQ85(A,!1,`-W/,X>A`H"_Q="[?1[E;#B M^\*8!_DT#F86WF4>%/,O,7>T,H(.@1I*RI+?0JV24X1[V0/CUP7_,MK!OZB9 MPFX8',^#QSN.AIO,!!A:V#GB@VB"=XH5YD$G\%H M2FZ_9M:PR_[X8\UO@9U:`459>8T;@`MA3O6ZZX(90#^8SM8MUI!Q[K1>_&HP MS-]^-[Z+,`6EM.D=#;`S1^`_V./ MV9(]1,5<$2V(8_;GE"VRHHCN0.O+B!=_81M2*SP2)7`4TWA9S!W@X;*4AG6P MW_7`K@Z[/<6]5JL,DV5<`HQS?7+SWF/7)^^2K::,:?VN>O0760EX\(CK.9C&7EZB4K16LR;-5$#<> M5,<"TFN@.'2-($2H2GX+;2I,2W1@U4*73L8-K':J/$EKFG/NH-L@#/$"P!QE M-MLN^P+"D(40$+25>S4/%37V1T2-G=Y`4Z/5F@(-"I#V>)LB!0QRQB>_V?1H MM>YR'MS3I8P.Q(4T@#W]I'F[+<+W0Q*R#E@ZN;4D=C$F^2A>0!ZO&6)FO=>W M7N._GJ7+!"TI^26*EAJ?2NNG4('5D>"A?#%2&.]C>2^(1H@AS79&(V\(4=XN M1'N#D:`9!5:V(?4:Y:BB+`T`)L0B.H(=JML-V%%->2R54$_@34_58&?-_UZW M[/\N;6YMHO'_#L;1:"[_PIRVO'8ED0\@(7*5!S61H@]R@D$YOEGZ1@K&RR"\ M9^US=7E81Q[9^?4-8-""492%.)#1."HPP0I%$)GZIAP5WK@L^=#]S87-25W! M@=YOCM@MODGR:EP'N2LC;RTHHBPD#?64FA"&/Z"1T_DZ"L$ MT2F,(U9L!_D,I6.268^^(_:2=F%Q6`W&V@L5CD&RF69A,#NO;6YJL0>TH M4I&!9L6Z17ZZ%$DN=PAQH&03J-8'%?;@:]#',H?VA&Q=KZ5+5^.S\GOO]`=Z(C3@@ M0R++O>>/<.VXQ%$:/0(Y<[[<%CR=T.XIGI+FU7H>A"%?E(BU6R.6WT+K2C*S M.B%()_,LGL@\^@6`(IIK-;P;(&PIEDM6]0+3$D??@C^>"X>L3"O\ MUV@F8,I2!3JH5\6A>2[]DDF*I>Z[Y!M<"S+$5X=Z+F3:X>+1V73@$44N'MLD M=NF\NV9X7!W:24H'12GD5GBO%;(MTTEFT0!-0&SV1FQ?4DPWRR!01=:;IX1L M5^$*>@3N(7;BV&QH$80\(D_HH*,&9&.>.DM!$=?`E7F*^ZR0Q6,2#K)!#4FO M7"*=ZB229-G$U26IGB>1F(KBOFG9!9M]2\'50QUDKE`.=AL5BSAX=$WHJL<< MR,'23%I(J0996D;IDHM89&]GZ/7W66I()*L/$KI;R;SG'3DUJ MGY4;4!.>%_P9/C9@+"?XM5T:?!M6K"C4_W$#ZC7+U')E"EZZHPXI'A"NP'"` M.Q!AB6S->BD,52()F2<:$%^%^5;0T+63!1TX$$ZKP4>G&GR(ES0G#ITGM,NO M\'"!LP=1,9\N(=F/,E%#[52K?<\&HK^;\'8B\;4P-G0FE)L"0I%;&XY0"%^O MEZ&U>B[^JY8+R,%,K)SIJ5Z&D^]8*^RK&Q:DL:? M7U%6$$0D+P+?F3WT,JF4,9]]R@(/@LD$-$\)DE,QK!XSH)Z8_:V?7\[&M^?C M=S:!<+6Z-=_$,.4I+.KQ5F M`,1)@2*G4-'59-7%4"6%E*M(CEY/MJ:M)K%+&RG0DQBVH M6%[:DVT!5)6$F@C09O>'7@_B@=$>Q`5=?3RB10-K%&FSP*E'SPN(77#JF(&9 M+$$)((C=0`%L9MNBH%`74/\NN>NSOY_B]17^;:+;Q)U&:53,FV@KG[Q0FR<- M)]O)8GMN'4GC;?5,&T=>>J"]`KM_T.UI6*H&[WJ080Z4RM1J-J&@9LY8^T1> M'C8`D0=B!(27#2"+`$O<*8+(R\/&`A$50T2!2)1$Q#E8FDTX)=ZXI;",L?HX M9R".&.#*,11.<;Y%QX>[.[BQ/A@#4!.A'OHL]\V[VS>GEU?7@'*O.OSC^,WQ MS=DUZTOGN'K::%E_'"S*Y71J_&5U(](UZ@,O_'W8:L&ZBZR(:+X\%1<`1$=U M?*-*->"MQ!QQ#[;\%@Q$1A(& MKF;E'$_%]&+R%-R&AQQ=PL,5KB@.;&JK/G`)E&:I_X7GF3KPD0=5#T'!`G%T MAHH>!E/@`;B4)@F/REI>A,'LT*+ M$]ADZE6`O_K<5!Z4KNHGF#M+/>G.UDX::%#.X:IRKH*";@X/!EVKTV0X\`:L M@W^$"&M)O;G^*SC!\>7MV>F[,>LQ.G3##7V*#M@=$([G%,@&0#W(`[-8\*M` MNDZ",J@U-_QT>?KN;R?7;"06@@CU#A8`6+%4H:3T/HICIL6#%.0D2S_Q-.)I MB(?489X)PB(T&MU"0JHWX:'K^?'UR=OQU=N+BY\8AND"KL.ZKH$[?7B+^=D$#TP='`R&AJG[ M.[MT>DI_A_KT]*\WIV?7I^^<#5@'/!/^=#UV%Z6W,*#O_1[U4&S$/QZ_.SE+ MSF=_"R\1FD)4"*E(Q%50#_FIX*)0.=!K+CD9%=)V@AG%\T1A61"LC72D1B7) M3(`7,D]\E$Y0VKFYK#HKFG_`(QOIYW`=,*8K#M_N3X"]N%X-O.;A102.3]_< M'M,>.Q7PBCM?!69*YP'K9ED`JH3WCS5I4(-U>5#C#1*QTRP1C3-`)D8'PY&E MZ+VNUT=-A[\]%AZ0%-CFL(*<"W:/Y]SLV-JGVKKP=>"6 M`$[YF6U&X."'U#N,2Z+^->$?-6WT8MI1(57D*NCHY"IXJ1FD&GCD8A)]5F&* MWHE4L`U^)%5EK45>^&+TSOEHL M5J5(D#XJ1TWKHD&YXT"[DB>++`_R"`(5\*Q$5_L'65QITI*,]13U/45`3^[> MT\@*.7A)==A:@1A9,#N\@"\%97`"I+(NQR")5*1NQS)AT<" MJO=2R8AL140*65O+>9)]`IY3[Y4M'IEZ,]^6;*53^.&^-V*=(<3;XCP'TPF9 MHV!5)FLSC(G-X?5(%/,5-41ZWP/ M\A6=\2U%B0T@U]=%#Q6EYI"!GXVOQZK18+='6QR.Y!8I\59'X;`<'FQDNGZ" MLV\Q*KBUUI&GB>9L"D_L]9`XGDIFJG9A'5`E8650G5$ELVI.)S:E4NF=_@X= ML^WT^JJ94U4.FDH]DAAOQ\?OP(0E>SQW^MLE'=SVEA>Z3NQ(%T M!9C).BPM+D_3K+VKY?'(P755:X0!B.52JBE''P:L&\S";)F:MAV+UC7<\?BP M.HGYHIE'X56A=6U/$D/9GE$%-5AV:EC6":-PM;MN!+;-)*2SSH8E!.:L>MHA MM^[[*^OC$&LEO`RFC[=T*D7TLJJ\ZAB9:HYFV"XOXQ++M+:(U(JS8PA>48A6 M:@XDF*!*V,B]`[H$?TDPR51]B#'2VO*V#LT(!L8T^FMWJ]*`0B)$YV#*=W:T MA^O8-E4"$>82C*XE(%T+4-:*A.$3IM_9`EQ$PQDU.!6E/+C;P'ZTGG@DCI;) MEQSI]XNS^99"3!QEBOL'KGK&S)LU>GJN>FIFJQ$U7U#":/NHU\,JX=[^2)8\ M+&-$R7%1FFJ-,,3@E-K8SZF[1+-8=$=BGUTXEUVA=&2;9CS'%N@LA%_"V'4/ MK0:0[YL)=\:DB_A/&&;0.\QK@QDD'%B8_A3$T01=A]O8DT`Q9G>72CV][L[` M;MM<9(LY#Q9:*+\45.S[2*=Z M<4UG2KUT7C7-O>[>#G*+D!?LTI$6N=N4?RZ9'5Q^UX\=B=H]T1WZ;1^#K4@& MA!E_Q];KN-:A7:E"8%26\X]+7E!@":\1FQH)AP.[TY\/2"F52U_`$OE#!,H+ M@9F,\FFKPEW+>)'"]>UMTVB_ZI/6VYV.LE'FFP(8M"W4R_T-XM#D;X+_H+]Y MJ6>1N#1ZEN`_X%DL0`LWT8$#+$*ZBZ2*A#$JS1`=F?/_Y4.>1`@V&`VI MQ7<`VC.2Z62KI5FBMZUZ"+"1,Q$41=RLIB!Y1M2JM`'5!E7[:Y?Z#\P.$DTV M[+2CAU%*EBHH.<6YIJ]8AH[#+L6.NX.^9_5;JIYCU'.(S*5AVWCDQ89:X!ZB M4?;'$3MY?WMQ]B/&DTK0K,C,%=)=B.9JYVXY]=C&GR=X$%#K!],"4>WZ%7VF MC?-7#Y3%CB7.6(<[PG(:#5:Q/7UW5>NO)F+L]?O$Q+W>4)UG$:_`[9899BG4 M*8V<-31Q(/]:\#Q!:VQ3"XVS.E>+#=$!HK&T%U&20'WQS1#6D:J0 M)VO+J^^%4?NUB/X7\C M=>!OS\HSD%T57XA+ZZJN5!G,SX/D+IH9SPI7>AKV'54\*.9VB)W=25A7D+KQ M6!FVE80B"UA0GKKK8U=]MC?LDM?;&^@@1;@K2$P?V.7XY';\S^.3:_KLIV!\ M.N4A%AQ^YO(Z^L0A-25W2FX"][K,EEBK:.NE*HDQ?J&1@ILWH%G*O^%,E=-! MF@>4A`.WZ0*_,`OP-!@",!R$O%$,H#@XFIR;[,T)%;!=H9BK5F>5HG:+A?TN MH6U-YD5]CR`(VQ\188=::J@?'R:0/CD8`1]!EN]"Y!5C=!;''LB+Q_A'CY4A MV?]_@%Q>7E*.CE"BX4Q\HO.R/70:[*;P*2?9XM$:R`9=;X!=9#O](5Z8#QO9!'?_P(UW;RB M%N"=3NG<*L?O>'(>3!X;:<6R'.FMOJ.:8%$VL'1X%F=WS":M]<65*"H!E1-N M2I?`875^5[$$=JWQNW[L#[:LON_8RO$J.::&M;^DB2MY72W5Q!\9`,1$2\CA M'^XJ-2*9&BKC;.>Z%1MLX#H&3C'>='>+KM3*-W?'0!X@6HJOKV0?#[+@9SY= M,ZDM)L+D>YS$8YM%J+L:C/!1NEO'V>3G%>R?7]0",LLV;-'.Z"NY)$1JH/Q" MEU%^T!*([+F2M7\16;V$5@\1+__(8K*IAH$A)M]"O2/Z&3R!6MHK%R=Z]ADH'5D9"[6@?U_N+J^N#F1I,%X^C?U M08$T+*TG:>+WQ(=><-''"_/54H$DX8L@_ZBFT:<,BX^P$HVR!?WG^ZZ(U4T= MY]<-NY!3T;N.G%RA?_6))+VUWM-SRW4Z];@=F*M2D@;QJ;X29]?C=IRO4Y5& MN5"?%M8%X\WIV5A\@H*LBQ8Y]4^+PO?QS?6%"%`A_7KK6CFT-NYDB`/Z-PI2 M_#P.IT4'T=K5@H;('DIO[[9VQW0 M2<;>;E]ET59W/%IEG9P(+C4G=\K;0BEH#3UO_V]ZQ-C>1'"L?3[]B M,-19B[1&1@9C$RKG$$BY+L`%0R5UAN)6TAIO(>T:[9\_T8WJZIUM.K'[Q;.@2JBF;@H^';ZP4%S?*N2*B>WO](3'RO2%^ MX1V_K7V%F/0$TYN0$(!K6'HIN6!0=#048995,'>RJ(J/#`K\E0%@PA09GQ`4 M]2'-E'Q26/S1#1-=&YM6:#JMMVT"W_[_=3E_57EN-+]WF;4MOGQ]]()D]AKY M+701TX`DD&74QG$`S?_Z,C)_`6U_'Q^NU$=@3.=$Y[FHHU*SIHXG!$.F]Z@WMKVJ[PU#?+%V/K:E+9N2"2CV3>0 M47=L[QX>[O],N)E14-=7B,D>>`)ILX&[[\A M1(M;D1L.[:2W[N1*K)R+>/?!WI`,U0\>["D/``Q\$T[:[,0>]2UGU@HG>]`Z M>(?=WDG%O7#(T1ZYYW;W'MR7NX,`]?^\3U_/^_3?S/-$[UH&`XIX@4_G//T^ M>9VNG+5),R@S;&O6)H9V6Z#=WK'0_L^2,SER?5Y<,`;\''OJL7@QN?-K>4J1 M5.6RW%H6YF_%."CB5^)APY8WXGOU&_'F*,$+\>T'?BC(?7X'`Q]BTSM/YMVR M6D[15W5QFH$6/!M<[KLF*KJ>B'M,!P4L?<@ M1B<7!HF37D@5S!@\2VK&T*M)Y!?6LD M>+35Z7U[7[2H`/9I",O2<"/@P+VL--,BF0`!=8$7.[WLY-,LR;OXOSG*W/*4 M&P*[O\':G*HQ6@VK7YVF3G3(B-0NXKRM%F8;TBWNX'&2(Q9!7$Z@75%L(<&J M(&U^3PYMX&B=D(P%"8'C(45\2)-+ZHP>:N_CB_B\H[-V MMG3!X3$NCV&TL9WVR1$EH;W(IM.00V!Y-NI1V3R[)9&6&2VYKT`F5#<&&5+,"`YH@/(6 M-"#8/9WA%<=W*6TCX:ZZ@*#OGA+I.X4M2(A!ZPBV)5RT(A)2KN" M>@)8*PD'ER$WTAF',=DL@%KO#W%TGF;XA$[FGR%5PV+ZG;BQ]TC,Y*S62$") MXA.,HAA_Q$YOG.63]+*K9;0DA89*1T^!@"HX/J^Z*`PHY"D9@$L5 M?:!22Y?[L"AVMHLFL<2&I]G[TRG\5]4O&'-3+N`\2>K((?0WX$PI9H*@4P=W M-O!6;U$([&)$:_S%80B@?XIY2@O0?Q6,*(4D_&R2EN-Y-DKI>8N%`GWC#C8F M1\J50);1UL3#'AD>A83Y&HJ(-#L]H34G`X%2':'J\21RA^@ST6Q#[-CIX7GB MHGG2@#WW8=.0GG*0$C@F109EE+P7UG&6CK.3;$QA4I9+B`?,;RB3\7".'N$W M@B[:M$PE59W>#.3"R,O`?`*RAIXMV9`5N&Y+LF#6#WC2)08XLE=L!3[PK,YX.TD`?42-H*9'5"V+VE#YE56I:#IPJ&(G[`U>6$& M4=3E*7/$`)Q:^*2UB\RGS>&<$0F#:J!EP@0!`ZFQ3C(UUCQ]OY@"$^*R2J_9 M)#/#NZZ=]9AE0:MI;H;W7:MR.1L5TVR,6OP'O^$9#+==+P'P,#%G&6RCZ3X] M?/JB]&$L"S,BQTSN@#/HV8JM,:WZI-(\99+%D6O+SJQPD`&QW5G[H]+J_P<2W MH\U(>([%`H7"R6.05SXS\=%,=$""E>+7<%\UES&YP]^$)(S:!M#()P30XSE5 MG2HV(6'[+SSWZ0+#2)(O">LN<8#`634DIQP*)%2VT M&)[$R%;T^6S1L\SM+'5(G+"VBQ"7U^P5:,`G?3KG>Z3:AD,ADLF*D!#I68*3 M492JP6LC73XO^BRJ"!+J+@,Q92'!4K!.AU0EU@:P27S10[B.0?]88XO MM%Q;WL<`&"(3TI=`BIYGY0)DISS[M&2`EYMO/19%.X+S561[JZI1WX7PMQI` M.I*N*D_>Z17GQ0=FXT5)PU3UA2N\IUGR$U7`:F)S MI3'SC;*A,7/&*M10Q2I(J5``B#(-@,/=1LKJ]"XL4CA-4 MA!,+LU!D&(8:5R0&=Z--:XFA:Q[QA5T'@SF"G6C"66*2 M48J41Z&-*C.*F.114%BW6*./]K!&RUN:YI&"!Z16@92'@@;/*M05D+XM%82"^`!4IX+NZYK\@..1 MELI0[N#DEL.2FH`1;%9U\9AI-4_1S;QIGK+%3?.4K;F.>:JU3XMY:@?-4ZW& M*=^`L,I@A>VV5Y@9KC!@BT%CS8C&,URHT=@T*8FKN0\R:9T]2B1`H$6 M1HML6B%QLM0'L:,Z]SONTHTR,9E/B('(GI%7\V*JZ)_S._SZCR=;QARE:1O& MG84FQ+FN"+&NZUKP?K<=[RM[70/S[08ER3*WEA[68/\Z@P8TL8("&B,Z&G`U M*ZD`)1F@S#'MOLJR5>,`9PQ0)D4!LJ3TRFAJ:]]`T%WTG_7N6B]:2-^6@#F[ M"%'E%(6:SJ,C0E.:$J5V=`/6TLJMCHDZL;ODB[$8;K'Q8V<.#C7J+645L'HR MWGL?M_R6G+.VT43&V44/#MX?+2)J_^4G,550?X@ MT`CYQS'0(77/!JBAC&8JFB*.'674Y5JX!.5:GL2JQC>J][P^7E4]7`MQNKJ` MZ%4-7[EM.3F[V?\^E.7)#^5ANZX3];A2H*;H3ROJ<<5?J>>C`EK$[2VLKP-: M]%:-43=IG49+IE5M9&?6M*`=XGK'K^,[C^%.=^<=Z*BGW,#45-BH8]9M]OGA M&5`=,2,IR+POC6O'W[D+QWV-TF'XQ?F_C(;&["A/0DY?@G MF&'C%OX$&GV-,_CK\)>73YX>_AO^.L2_.`?NAGECX_,*ZP"&150!GM:" MW2!5;);E<%\+R$1J"Z]'H:Y7X-"'?W7>U1T2,/Q!N1W-RW24R<%1:S]\ M4'3HM'F7O;/W(L]E;UJ\]:;I"8=MA^U>Z:K=X"/=1 JQ/*U.FE-GP8`>/%&$#\VM^SBM]PW2K?H?H6@0Q=@H(K_`)T9$'4O=@`` ` end -- Sven Wischnowsky wischnow@informatik.hu-berlin.de