From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gatech.edu (gatech.edu [130.207.244.244]) by werple.mira.net.au (8.6.12/8.6.9) with SMTP id CAA11705 for ; Thu, 15 Jun 1995 02:22:49 +1000 Received: from math (math.skiles.gatech.edu) by gatech.edu with SMTP id AA06230 (5.65c/Gatech-10.0-IDA for ); Wed, 14 Jun 1995 12:16:59 -0400 Received: by math (5.x/SMI-SVR4) id AA29256; Wed, 14 Jun 1995 12:13:35 -0400 Resent-Date: Wed, 14 Jun 95 16:59:01 +0100 Old-Return-Path: Message-Id: <26244.9506141559@pyro.swan.ac.uk> To: zsh-workers@math.gatech.edu (Zsh hackers list) Subject: glob.c with comments Date: Wed, 14 Jun 95 16:59:01 +0100 From: P.Stephenson@swansea.ac.uk X-Mts: smtp Resent-Message-Id: <"CgkeP1.0.297.kgmtl"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/101 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu I added comments to glob.c. The version is 2.6-beta9 with the patch I sent a couple of days ago for ~-exclusions. I haven't otherwise changed the code apart from adding a couple of braces. One thing I noticed is that the code that handled {a-z} doesn't check for commas before or after the dash, so % print -c foo{,-A} foo, foo. foo0 foo2 foo4 foo6 foo8 foo: foo< foo> foo@ foo- foo/ foo1 foo3 foo5 foo7 foo9 foo; foo= foo? fooA instead of foo foo-A which is probably a bug. I can fix it, if you like. begin 644 glob.c.gz M'XL(`-+]WB\"`\Q<[5O;2)+_;/\5G60GEHP-ALW=[<"2/09(PA,".2#/Y&XN MR\I2V]8A2T*2,622__U^5?VBEE\2,GW-[;^([9]__I>M`?TG!MN[+W[>?3$089;(:9"*X_O<_OX3 MUA,(M5KTQ2A.9!I,I1C+5!9!%6>IGG(UB4M^+?`W#XI*9"/QN9ST1#61XK]$ M.9%)LJDG'V;Y0Q&/)Y7P0I^HV>D32>)],$O$JR`IJR"B>0=)(GA>*0I9RN). M1@;$>UE,X[($`81P(@LY?!#C(D@K&?7$/*XFV:P2\R*N*IF*8%Q(.95I)8(T M,F\)3!*',BVER`I19`]!4CV(D90EJ,[$K)0]L")_Z(EI%L4C_*7545Q613R< M51);BTN"4F:C:AX4DM_'H#;*PAFA8PZ)$:`'Z8/(9T6>$="\R.[B2$8`$%3$ M(`(2#+,[R?@4:]*L`G$,DE@XRI(DF\?I6%3SC#B,/07YI!1!GLN@$''*0,`Q M@(AE2?PG^BQQAG,G*4`+>4?<*">TP&4[<8(E5D[$$28E6UUDLUP,)3@6 M#!,F&"SB74'8#[S'*"YD6/5`BOE5YC*,@X2&0FP8#,%OS`PS,/UVA@&\)5A1 M,`W&(#HHXI+V2,+C#4@2P])>5C.Z1Y!H8R(>-3=EF+AZ5Y,`C!]*TI/H+BXA MEVS$&\0*"*R,AW$28X^@HIR%$TVLU<3'(V)VC.(03'\@/0J3()X2$PD.]D7J M&Y/V@5W)+`(C>@**1JH`OD_CBE0F4T(J ME66I-)$E%H>S!%JC57)3X`!+RUX"8W64SM8LC61!!PW:#+OP-"CQ\%0,@S(N MU:E8Q04"\PV.0PNS81*/U2&!-FF48AK$.,9ID(:215K.\CPKH$ZS/`HJXH], M)_26():L4'Q`P5@"56K);+7;SQ0CI7@*4[0Y>8J12([B5`IYCV-<>A]]X05A M"-YX'WL#7^SOBX'X\@7F)HB2.+W!Z-F'TU/SRF^W2]*U$!*J"*G<:[7$5E<\ MH770NCE4$^H)#K,:D^'$`VQ0D99$D;,:PQ/P7@/`KYCY$*?\9C@;B:7_-0%, M@RJ$1U>N7@T@K#2`=#8=0L@&A"1M@=S7`8".%8;2W]X?7+VY M?G?P\=,>YM!N,,Y^`B]'`/H=8AA6MVM(UP218C^X]#P>2%X5&LAS`_0WO=M/ MCP`"_Y>ED*Z&P8]:Q611DHAN9T'"3SB79;7(VNP:UBN)KO%+@_"A45.I&)Q$ MRE$&ZYD;R3L-`K\LB$4=H;]A`/.X3L`$H%8Q7S&2]'(Z2ZHX!PW*4&=%;-BK M3LT(IT1\.+VZ./G8KAYR28_P>K,0+@/@1?<2_S*3"3#[_FEP`QADF3XD\(_W MX-HTQS8+'/8\?X"%>9UAW^,9/!%A>2;A)4;U@;RZNCXZ^,]+,7!'WIQ_N+@4 MV^[0NY.S2['CCOQZ?/SV4ORY,>G\[.K-I7C1;H.\:7`OGI$>6:'Q46SK#=&H M^+U-FW='NJF\IZ,!`&?X52]&-#`K]>%9H4A+<+)"03E(R`I`-C!]I:P6"(+Y MLQ`U%)*@UQW-4L1(UY[7X']/0"7'OK]'_'^%*<:&DF^AOS"3ED8-CU;`=U4! MZ&&"BC'[3NA26;)G$2,#:>6VB*"2PB4-X->)A+SA4;`<'H7<=B%2208=O]<` M"*:A7OXJ"<;LD>:3&&16,>R%H=P+P&9$7_[B%/&8Y@UWP5`:$8:P#MU#.@8$QU,P5I;]76/M>D_:ID!0P57Q3$9.#\K"L5- M-O?.46RH`_U;*E#G3#U-DN(N2&92.>CU@(A^6D^A%?W-"EAO]R5SIT<\[NF- MNF_'H^MTEB3DE'KT,`V*&QB`DA_2C,:CK%*/9-;HY&M2WQ-J>E7*89"4LC3IYV^29.7[$?X'P1EFVY3]SE4(%UWM" M3X$(42YY\A#D:2X@L4UA227 M/:-45^`T&00"MBM`HZ:?4Q4$79R@4-S_K%.J\`_6DQ8$AF44)V7*(=>\[='[ M6(8,FU]A9XCA@RA2F=26-9J'U^=GQV\.+M^TMIVQJU_/>6S'&3L\/;_\<''< M\NR2+W:B[\P[/;B\:K5>.",4)1P<';7^HO:L+%189$KM:5(T]L M>6'_)5N_YS45-4)-R_),_:*>J6E=GKFT"=K"\C0:K>?H32U/TR]\VBQ)YQU, M!<16X9SD&5NBC/=,!V1(1RE$.,F@2@.8'10;YXBEK*?G."IJWD.K-MSUMB5H&Y8SI5HW7K]2IK:6[-2C,W&.&/#?*7 M5RI",U!*OD@]^6-9D?-5VURD?B@A>*F'BE*%S-TVX6U!>.$DRV&]*F1`:S?* MF(E9B`"RT-.L5#1$LYR*%NG8(Z(,ET?">P(V^^T6/-FTN2S!*DP%K[QZ!2S2 ME$6E-$,)C-]L45TAIFP>^;-U:077"II>C4-?Q[71ZML,V&Y3^H>\(_TE_)1Y M*<3*Z>GWY/7P#ZK(%M?_$XIQ42& M-\R79E#:TCJ^UV[9:(M1L_X-H0$#7J4B.V_@;T59VC&1GK?MM[7&T-1M94W8 MMPGEQ;P=OR?4$BS6DX'6QH8ULH/T@7)"V`O$E$C&=+!8R-L9DH9H1:;06HA8 M=9)@8U7,ETDIE^:MCFS;-D4@:@Z983@?I43S&'IEB3&7R"@+U^$ M>E`RK9]/4CR"K1CPE$X=?[PZ/CLZ/F+5$\^?ZXE7<1))GR0PQ%9N2-X6`P.! MGBC,V/P%-NLJ"B?FG$7QC&ZYL8%-=/Y[T-E3(W`#.&4$[HFE$:B?F,-"P!=D MUR)QD+E2PEDE0!\G0$MPU>R58E1K6(XMWF(.X`FD^[]!L\;(B^Z?UK=:V MQ@GA#?,"C9W>C)!%T''A<:O!^EGSP<%)*J]G\9^N&&P/('N/F=@7G4''I]5? M!6W4$7NGUZG%#-@:C'P&G()FS)U"G:+ M;:+7\+?^)%26F@H^``G?RP2W;K/^2TY^;E/][/S69E.A:EES.E"/M;%5='RU M##`T(@XE^T+B]CU8/.15,`%DK'SFG"-,KDAT=CN[;>4T+^14)TE&JB6?8,3C MD/E#G\QK6[LY+K24LV%9Q=6,:WD],4$(DP"9X6SRL-DV9JO5JKRVSNI M3*XFG$HY=U2MOX-H`Y<^9<'_OK^6LDY_$;NMTE"]^6$ZS!*<")N$N#!W7)CZ M/%]>G[PZ/7O;0/'O%L4[]A,KH3IGB@N;SDG1,!O8U)EVD%Z>'[Y=P_)C=NL+ M7-]?)"I#$ED]DAI"]FUR3EZ=-]#E"^@HP(Z0'9%O?Q1*`%R!T46QM8#"+:X] M"@5BCW5:LKD`NY!C+N!3./5(Z!?'K]=!_VE1%NK>1D'?%4/8FYL>'_<@A%73 M6J^OM2))JN_HO&,TAQVVN-K.]5S#'9?#A,EH+5K:\%N+B`B[RDQKS*"2Z7>M M`%Q;X3]E.*LH8A5Y$NBRQ`K>@H9LNHZ3%PN+$.Q:\K4=!5I_Q1'#OK<'Q9%G-XNCQT@+WUL*^ M7(8]_A'8.]^`'2V:3K8I&O;0V!A]1Z7-#Q5YQS%=]V("19V=$G_HQ@2A"]\- M^JXG=F@S%D)3=HO4')"]YZ6_CKYDM>I0=8YK.$Q&FFV2SX:!BM9YUI3&&4DP MI;&^.ASCC$J.LE+5[0;F#RLQ9W.*O[!O.1K!QU`\,J.JP1^7S/O.&J);5,M'TV&5:5)K)`T2` ME\\5@?D$@<_B6^D^,>LL_YHK%36\?^OLK*N&JV*-)FD$)O+>JM>=L?%]]3VGUXA MQX4B<%Q\2R''1?_EN+@>/THAF3G_E!J9+5C.+*R@1Q3^$Z^YV"KOH5TV:Q:' M*N!('L0L->U3=!NTTE/*VR4_3HH'+-]QF.\6$[K(M&K>8^Q@\9Q;/F2XF[PKJ MXZ`[JEFJNE(B>V>Y62-R:L^/P7-46Q5:1'7E75W131`,LVN@6C.W?(4QB:Y& MY9:B+:IUF`*+Z8";GM25=YQJ#\OAAX:MXA.EUXY"T(+OA2S36CY.6]9W<6W_ M$5RAQ77"ETHA-OTH;#M_!-NIQ?:*3A;W7'FG?)_DKT;F(*#92Z&?NKXQV!@Z M7]QC@NZ(,=[BM53-"Z9YQQ9$V=X0S)?;88IU/3U0^[0+FQIJ>V-@HK9E9 MS,*GRZNH]^;;B^;+B[@]Y]NKWJU`Q1T\]3(J$4M>%%.N[3P*!VM`;UM[,$4WF6HP!R M80$V?8?J]:ITS_"B$RF0H!6I6W@E>M75B%->OJ!NV9+[/^G:/.;FDU%63%6` M;/MVZ,>F42M;8F:_?)OZ/UA2MB7I1*U,^B_UG>VMI9AKQ_6CPL35/E-HYNN\ MK+DH[;_4!X/^N,/FQDOU&3DOG**].VP$VSBL],+HDFZ#J5^HTT=M2'9PH?RM MRN.J5FXD`I&2)_3U%"LV+;6O;2=688U;N/SK;'7H]J>M#SS\0CUCAV=P18JG MM)RKPS_7[ZC&3N>`VE=H$'^]+>YM8A>5T74_^X?&K1CU#SN.8ZKSJQ2"-TY9 MN9,&P>8RR0CP>PK#$C?SK7"=2J1^L53LU./U16>[OIW85A>N7]NU/:/;;,W, MWQM7\I.@%,&PS!+JR^=6%[TG%J/I4QWPUK8ZSI!NPR5T];YK838O_F,J3R6! MN0O(YRH;788U:,*ZI0R([O4QPUNX@;^E:R6C7DK"\<@V%XR".%&7K2H?4%?9 MY[\<'+T_N+HZOCCS[45AG);.Y3S]A#U4R)HZ"WW5^#3'E<$:!C:8V14_E4_5 M:FVIS.):(,TK?VB2S*L@3&1]/RUU<:AG&U'(5H%,652>WU8V2LRIP5RDDN*1 MH$"8ZG92F&Y>$&H;FVU+1=?_K-30TZW0),1_]85JALY&IO-"U2F? MKOMQ$R&WT.9)$$KNNM^UG<_C3/7O&!X8)JG6VUCUW68ISG>5Y?V$^NUM)V@9 M!FDJ"\]O;;30/.&M$G3BSM MNP?@\/*-;>>P^M_$N_TXO,[Y^27CPM? M2A12>D9BRX?0YK6:^16%-(+,&/A;@-,X#$)U[=0W_>8\\(7_4E=/JZGFVWS6 MC7`OLZ)RKF!C;A=.Y#VW=WAT@ZF^=4ELVX=/=,AB2=D*2=>U9C^FV&M#W0Y50 MD'K"?8*73)$,544XM-7HB5/L> M]5NT39"J#61I6O:XO^?.,7U\O$QUR31C:.U6B'!&$!W(J!FQ*OTUUNUK>T67 MA2I6$;([*`UW5W2I@F7Z*]12#>C.W:(J7CQZH[H*\7_9:P/C#^\8P"CIPIZX ML0=/?\73OW6<[0\>N_\+]V M[IU1J['GLP_OCB].#LE(7IY?7-')A57;5%]KJ@YL^MP.YY4]L'.PW:Y0X&O; M$V5X'?3,YS9#PW7]Y0SE6$,S:5<)6$F?9(-4GY*X[T`8$_@@I$%IM-66+;?U26/R`V3;BW M6C[K!!=:@Q=$D0ATY.'XDH5F91U*ZI[)A?9D[D.#X:44:`3-ZP[S9O<]9=-- M(]&H$2(J=TJ3+&6JFT7J`T^N,-)+_?U)W9+/'^N:#FZ5A!AN(Y>0;BX1)NI$B72)$\BO;*ZIK2*+_6-;7ERN@4]4N[';OD^52QWFE`3G72 MAID;8L?H(RE#_N"1XS5#U6])0OD+[>*:"&H0X4RB^O6G9N$3-G#ED!,[4)5 M-W2=PPR:6HBMB[CE&J\NNSR'6C#9>H/Z'H?2)&*.G=,3<]DIW&_2&^UI#7U7 MSX:1.[Y;ZN*HG>W[`@U_4Y,1#SWG8,VI@[$4777@WZ;^I>P.D,.]9[8.9C_+ M5BCF]'68:>G3V^*O>ZE^6"]J-O2MJ*AY3YXH[JERG3?,>[94A:/Z=U5(;.QM M6Y]AI00KVB&^JIJ3+2LI>U'YS>RA>;;%-YNL5MN44EI&!1;_J;3A!Y.R7O9;V&AN>K_!L%[3L+$6]\EI)F:E+4+ MWMBP&GU^>?+1?D-!U@ZZ2[=H8E"M7"SV.C=D8<&9_Z=@V MQ<:LPSY:N]LXDNMG\%<,K4@$2(`B M0%GKD")YK(W8VC:/$8DI!``,:`HBF9^]M3=:NJNWIF0%+V;DY. MO?H]0N<[7=[5&_++76`M<'_IJ$L8OQ9%1$B(+HOH]/.(+/;'QWN:'Q MV5D^&L/-6=FK:,WZV5%;X$)8520`'$?\`4<]0'5`Y5AY@`:'_45H@$?`VE'I MR#AVLB_Q9%&`.28Y9[GR^S`6UBC3&JC)M;FWO;W=4GE(A^A:`2A)N2'PE%O5 MWZ3*I8&ZCBL*"?8NX\%,)?*8549N#\_0AK_3"/-8HU;18C,$EJ4"<#FJ2%`; M2,(J7RZ#8OK%=$"-?I!``7GTZGR)9W:P+GZDVT6@:*D\*"./KR<"D$`^%3K` MZDN8F!Y8JTDA"[J;8I9=SLXU!`@P'.%SFLF\&/9I'=_/!C39=$KD4]K+`GI" M%=X]HG-B>T6(G<8[[8BUXRYNQ#):?O`?;+UJB9%!1,8CW7AVGY!X&VA/J)@R M3*P)GQ5@"(B+V9/]*^L`Y3ZD"#U#44Z<+?;B?6L]ZW1TX4*O^.[E%[A:C<0P M6!VV\"35Q$\1T5O]\G':NGPJY[Z0A?#F>/2+O8%=@E@G>`S-K7]B?;AO;"#('6XD\2#>T'EF`OX7[2_2A(K/.HB':UPR4J#9K>V8BO MR#%2*92#F%"N__9\E?ON=;/)O94V*][7[%9@F=!%=3!D_<)PV95_>CYJ=#)8 MA*4N:0<>O_[VR;,G3[YOF?ST8BK1XCQM;<$XH@M'OL!N%).K]721"P85(FXU M(D3E3;%Y!)9G[`AL;9`O+_*<6*"+0SMC=Y&!.%WH=MC:PB@;9?N7+',N%"4+ M-TCWFW*=W.R5FX4*9AN?-]J9$>$5B#!HO;>V!JP-.1O85]JE0*#.;I\P-S3# MSSL=JN&1>"%X-8!7I#6EKX.AR-PEDQ(P$2[8''/!1B%1,D]F,P1+JF]<8!MQ MRK#L^F_/3Z%P%)ZH51,8B'\PY&X+H;B-/0Q,QGBM_?4@G?WL M,X_I<[_SZ4KN#N*7%\\FW-V*X/.'88CAF1N3.>K:;&)PH3=7:XWK5L19%IJZ MY^C2]I%/^>FX.`7XF%Y_Z8"4K=4*AH;!L-/93^^BNK>(LO8=M47Z MNM*!]=Q].>U\Z#WBZI@#15/O=NDDH0>MEA"0'Z-X.R(&;V.DTPHX$M6*ZD2' M`<:9MC&ZR8X3K1>PN"_2;:'OA.(=P2?*XEJZYS_1AZ#R4GY1+,^/C\5_]/!P MJ1W<-NN@O7:FN*Q4+ MI(T)V-W>GDYGG^`55* M=412Y]/E[$,^I5MNLS17%I&IQH'O9[-Y-ON8FUF>KN^C M<_8(Z0?=&B@@'QIN/;I27J0;#BQ\XW1*FHE;J&'`?3YR9*$Z6: MSNPX3`<(LN&IA8B8B,6;38-!T^TI^B<(&+,IC8?N9D^GHDFI7 MS#UT#?*Q`I.5KP14F-Z;B-$UU7C1LQUE<%>L%^+)ZD\N^I<%>ZP3+YVS5("( M41SY&MG#F`S;*30$0V?)SIHG&!&FHC4]+EV:MX)2M]>"*W/8N:RV171VX1]2 M[^5A+U7%SYTLEDP5%Q4,OV+WB^>+H7]JYRO\M7N;F0/^Q!1>R9W8)N;SEC/W MZ::)LQ^[OVX6DX>[*Z=VI0@+>P6XMTJQ-V"LI"`J``UIBU^*@U29BCX^P4:I M01Q!,9'Z=D6VD1\]=ZVE*E6`YB.4,2*6]+^2S8>K7P_2DPE7@9-_QXQ,+?F, M5"(C%=(B">2";ZTDU?&M,Y7CN"_6,1'G(`<<:"^B/-=3F;C7BO)Q$'@#[;VD*7X7.B0\P^TVVY/>@O MK@*[K'8HBC<])]]0A3)RDD&2&DF:Z6YOTW][5_[BO2[SQ0<5=9;^D:_M;'HF MDH78#"!9[&QO=W,[&50)G:S+Z,"CGIY;/7K"[UM` M_E#0E>5BKI@@^&I7"#S+A.;$U]XP0[K0]>#9NBPG_>:?O)SKMIQ8_(7X(I;< M?FQ&,%6K)D28S704IX.;V.JU[\UY,IP4.^>NR4OBW%Q-> M'%M$$@Z,K8==C98<8RUW)/)M_O7SD:FKWH9 M^UTW\=4P.D-'5V5>6UJ/8PU(O?G4[H[TO>7H!Q@R0. MA6F;E7NC678Z/CG-X<"X4'>EQCSQ%F.:AAVNF-/OY3$1#<['>3O[ZN[.)ON_ M\$+(%I.">OJ%'$_4SB^8U MY1M!ZN;?K70*Q9$JE)CY(L[3-;6451AE50/4D`L[+<_\RGRKG[-_S(7AJ8E0 M'._PBJLFZ"3J#,8Z[/ZDF$$;9+?18Z\%`A^F=J`#RH;#B8`3ZGT<45=9T;]D M4KQ0G,M2NQP$P+#H4[@!;"I?9<=N2!9C:)K,P4\]^1J17U.3/_:^?OA667;B MBI$-693KR6(.3]FDMH)DS_(SGD&JK,T4P7HN:06?GFG)%F^(+.OS[AHE3\.&37&4%U@(ZT]7:_ M_'$/'\NG/?]I[YI/N9&@YM%NTE_627AML!>+OGJD;DI#58W8-\<=]#<9:1NF_#E:BA@FR85;\_PYPSD6UEO:^_IIGN=(@% MTH-]+];,$QWUG.:&2ZS8X25^XK9G:6O:SJPW7O\VA1I8X05TM#/L$=UKNC'V MV"8B./WB'LU8Q+G@?P4P=''MQW[\_(BI_[`C_UQI],32/L,GW[[\JVS9L!&E M--COYS;W;#0#%#(UV@P^M7VJZZ25[D!LLFLVU_#T?/A!XP6$Y@5#M/0B^=%; M474781.\34KW0NG*QDE*T_>/,E"V.\6HV"%3*O^%TZN1JD.5TH:] M+R`RVPUI,X^L&6A[TK5AN/C^PL!4PQ7)IQ($,ZB M0^HI4?-H/(*1[@2B(5M)%HO9XJC.+=7WH)Z(^(W>(D4,C]`#+/AS.<9^5/D_ M"/IF%*3N=<-%1@3F0SRD9_C)?],[_CLXBBMTH(JR,-5^S*>"<4JM"`ZOF#73 MH`193V'_$0M.:!/7*U+]6`K\_;Y]*E&0P5RWT)!H?<'7LD"FM;CY]-R,>6S MB5>2N]?&5N$W!;\AL5+?/&AGKC9Y[U[#=>R^V-;Z(S5?H/MJ8@N@@2'JH-9/ M_],GL,/IT*M0HG5H/5E/W<+AXI88>YWS4RV7B([M#.?,*P8>T-8P8><4,9O+ M]L#[BI(M,(]:RZ=0?M>I@=@78SS5%:G;=29EF^V&?=#3,8@:P[,^:5?@0]OI383<08+ M6LK@[QRL)((?'I5A'SE+#57I-6N#GDX8,UE&7CLIF@-EKU0T^M[:PT'/[1IU MO,UYYG=3W>.@)Q);_$ZB%&%:#X_D4TA\XMU0>M-+XPV'%F^XR$^H!7_>#-UA M4XWX&UP3]$#3`I4:<1KMH!;?X!=#Q M)\#+/"_RT9Y<\G`YU#P]6?;-7J/Q.B_.)[CSA3'-$(N%:K/NPZ2,`Z^(I1J- MYLOMQ]MJ%I:>#215!3,)FI[IB)&MW"+FR^&V#68;H\QV>TE+9GX-J4NP'KHP MM5U]^.#&"M31ON[S;B^=C8CU75.ZRF;?H=2[11Y,&FUPA('\D\L_QY/$3XPC MV+[A$+9-UJO/^5^'\P^_?+H9)^[YM-'T\5+^&3NO%%KO>]DW+7&\+G5;P)KI M&D<^+;[4`+9*LM<_IJCO;6*WV;IQ`]?M4EP_/SJ M[BAC?F)2@+3:'+AI8+_Z5ODZB,8?/JAKO'[9RTU3@X-):#__5>T3%5D'5A+0 M3>W*NMRZW0%C+#`E#4HA^,)>^?JRJ(WE:%4I1[O.J>0JO0:"[84SYXDH/6:/ M!I+,`*-+(]G/QG2=R^F?(!EO+L2#B)4P-+#:`'TC/]^#*A5R$HK8OL2[#^CZ M;@4*@(P#[H*Z=`Y4;YA6H^=4UKPXO3PZ:H7`^&6IEW#L593]!7/Z2V9FL2\# MYK0<(,3M0M@;73$_X)(^SFLMGDR^9U4TL?3S9 ME59T@B7\82$A#7V;U:8J[8/O"]@A,1UH755;F'PZTTPT?"8OZ;)'?[*W!YP\ MU*K-RF337JR>W(@9MV]AH:.]<<3K&>3U^,N30%$5GEYFDN62?J_'G_P M\_CL_"S&4RJD_MV[W+<[=\*WU&,JIQ_2857D_06C83)J=8C!6\J5BYNXSYW@ MXL_E1!?*TP,=Z(;^W&EG/VU_%-=H.CR`.-&?UJ#OTW<\.R\@#!`G5P^Y;+I! M-2-V]G[Y*"C M8JVJV$R-M6K$U/CX%G(J.KQ"#Q*B+9@9_:ZE>7K@`[NSAVWS`R>[8!-):;'[ MLF)Q]^]AJ\BI1YLGB0UA,6I)Y'61XXJGXFCBTLG[ORMG/&#HL/\/E`'0<_5, M1*<5VJQ%KHB4$C/][HN/;D\\HG^3+Y*X`%R%F2[>? M`XR_//S_-:+1R?KUA+-[T\2MI!N:A@N^=O01UG];VAE'Z;KPIVZZZ7X#^8R_ ME'0>E+9.7V^<8F,(&+#Q&-DN\9&$>80A)%3"#)B3V>S3/U+TO1]RP]%+PQ-+ M(Z$4KD@<)6HFI+36ZNZ[:I*DFO=AHA+C+!R#75W73-[7U:-=XAX]\^8\SKWI?WVZ^=M8?IIHL4=S.U\7S1_QROB5-V*R);_CAF MRU"#_UTU92NG2S^ZS83I3.$?V0$K)RVI]9II^UUEVE;1VA=,VO\_.DO"-L[. MV56))=*+T]DD=Y>G:[NQ@_^A>8_[$)-#,LB:@*OM249NDH<_Y/F\X&!=$B@8 M;GUVD1V38*JIES7/'7R662G,/@G3(51E\)](,R1*+M=!5`7Z+#.:A3+DSZ3. MX>MWS0`YP>)M++&F))ZU>K7N,JZ"?+9E]-\TFN)KIPU2UI_ZI>+-T6JC`9R0**,MGR*>P'^+$.8 MUX0AP(+?X^12;IK%.2*9V1-2$JH5+F?@:9!!.*:&J)UC+B<08<;+RLW+P-9B M2L%5M@=+7%I!,BF6'LWHIU:\^80]R*Z9DC54_$4YQ!/7T!$')J@31'2]!2Q' MY]!2C1(S,;"Z]8-`G8Q'"0"'YJ9-/,-6:8;RO>RK;;J-W2N60+GN=%N&H\%P M(4#*.PB@>?#HV-8,#?I\A###A/%X_\B(GF?9TN-SP>$++;DW([7$:UM)B&/3 MAGN0Q;&WX*!F>6$[*I6R9Z,$;B^0*+L(N@\W:P>,.>"^CI]KUM;T:^"@N:_A MOQ,-BP&43_$^]EV_M<=$+R'HA%U?''I\.*$LG:K+)'QJ]N#M,(IU3E<*0-=? M?LGH3TYB*V=*#(SF?*:+))CD!VT*XGO*]^HAT5U[Y1`RR*X98P=QQ$/N26RBP:=#(4?E@^P;+@ MGQ9Y:'DG;?JDWX6/PZ2SH[V*6L^DU=!K53B%L MB!?=P.+7=;(BEA'S2PYEHD*;`)[EYT]?O,XV.8<5)I#Q(Q;7\+,`GL3S(%]) MY'"K?-6SXQG>-7P2:MU%!_&T.[PCZ.]%A]L8GD MV'V&W6OB0XE@H-^]4"C2QW!&I^3T/->>S)%&7")")),XBVSE'.*ZB[#(/FNE M@B,S%F33,HS;_IT?_]R,6<>/IZ$'<`:R).16NK#2!IK"TI*,8WT$D\;G^`U!OD;$=9PK:"4,>`H/A_( M^#CN.860SVM2U-4@J,7<'X(7U3G4G+)'DI2#Q0//)&@^#38+>.B-R35%`CK, MYY`[@[8#G>TD3SQ[^>K9RS>\:/'1BY=O7@LA-"RL(A1^0QN]54GB<3=7I3$O M(8J[_!TI$')(X>&I(";A".)7+3A;]<,K73_V;.!SMG3W<.C]>JPHW=[ZB,#N MIG)2O>#^2JTWGQRI:W'#.+D$0.KGLC?V2S2>1X!DT+K+-__>G=?HR%6B)>1Q MY(%)[J>XZ0%_=):-1WD?%SNX05Q7H:;%9W,48QD&IE/EYDK1$4TD>F0^/ M^-U0:]0TL7LXP47(<-A@@\<-C:I_0F69ID!EC-4,T%,5(H8DV_SMF"25#>K' MB$-1.;^,ADLDW>!^:5?*Z*;&X8-W75MO96H28R!>I8>Y!)UB[;'T"+$Y0)ED MXMD#7&L5ZKPSHI-ORA9H]JI^TLK4O_H)[VGSJN9?YE;-T4Y/B!NLQ"+J M.AF_JBMT>II\??_VZ=,_-@4K57D0C]2?`6B=AIG'F%X)\W:3USG4KIL=T5:` M^YFN`3H9ZRF%AZL+H=&\4AB1(2HTAZQAF3*L(S)O);:`72H2<9PKW+4-.8%W M"QVP>^$:]^KEL^??_O`<,\.""4K3%+WY\RM['FYW)"R'<]HZB"@%F$KO0(J2 M/^_XU/')"AHR&D\1>,T\P&I4$"M4W'%SCT,F+<<\*%V#1HD(A"7QP-BCH>S5 MS2XU+!&+]D15++#^"^(\WQZ-SL-%E6<:'!.,,%XG7L[\U0'?V`VE?'VPSB8D M[05])X.[*0FPDV;L5H M13M0[B)D37FE.H0%ZP1:08+WQ"3JA5]^,1$^[FT(>,:AAFT9N;MC2BM2M4AW M)0IL-$I,H%'7`:D@R%=NE4NB4&G])31J+L[+3[Y_]<.?7C_#1K4KWI_%W<9N M_4WV%3&Z8&4U76XNS96HD7(-S3:E?"(UJ8HJ077:8QTB1D)B[74.)+\!DY"F^;\'1*+4#^/[NP'B$!C+$:I!MB."5D3 M`@H!'8ZU77EVUM`&!2X)NUG$$G6"+/,IZZZ(>#9@S[#.--$T$O))3HH0169= M3;I&-8:_W=7B*FV04]I+9B##XW4):Y"P7E-<^-$B\KW,[$L3KWAR?@CBMH6$ MB.605L\6UL-4>XP[`=);JNK@N;#U^&#COS=*#]8WPB[3))OI@!I6EBL+D,H0 MU3GU2"`Q0V$TLMN7F?4LQL:L88A<<4=B^+F?^D0>1$S'S\9J1*[3CUILWPLL M([[B-X?Z)O"A%/[711?9;I'O>^PX66&U0Q.R,1&`(.\%8NLXO% M;'JR74H^5N:"ENNJ/&D5O9119=Q&_MY;54EZ:J1-:PO8[!_39CO+1T=9O^#; M)_W54F66+B-5_FO64'`)X^K$^]X]W/3N805NL02K2,*`/D41H<@'_S<)I"(\ M.4*9<5Z?_H)N48`4??+MRXTW;`W%4?E%Y')P#;G(8@JI5%;35C&AJS(U53@> MD"T345!]7EP!YS0`S=PW\%V@,#UZ4V MPDBWHTA#(B MT#QE&%QJ]?G.Y6YK90AI[75#N27'@2\!/M-.HS0&%@A9N)=<9/=-8R8)A^-(UH+3]JI1='44TUG=G-QF`,5% M,RIV_\A/@8X"2X7(WNGT()@6]X#!I52^8O+#[(#K)FX8JCP-"SSO.I\+KE/M M8WP?`?^/>UFO*&LQ$W<_"8)WAI;M@'&E9A31%C5"([V0,312,\NSNS[DUI5, MNK,;TXU^3C]_$!"&M-6NW'"@)UB>+O(<5QOV!Y,2Q>798#:A0S5F]_#@"[@< M?J!;^TF^+VN]K/4!"*NT'0+:V7'A1(&OZBPC(3C%N:PTYF#[MCBM+,69G'?M M\M*<=T.BVM)^:`53KDU.M/^4M.N*"G[%[8K;A;5>;5G=,O9C6;Y$L]QUD#UY MQU?R?8![R\346('\9XL$J^FK3;9'-S;+)7C-]T.`(!,;!'XS,J*X"`+^2,&`<^K>5B-,T(6%L7/!ZW`=!+6\P<6NA75PY8#J MX%#NZ2"$HIX/.G[4"9(_E0X/>P("%[9RW9[I5^?LTB+CV!!\WW2]\O<=Q$3+ MLMDQI^X\74_Q8*`E[:T2=8F=4?=*W$Q'80^%S0A"4LPV2^LQBK;3*JNJ4$NL MH!&^[.Z7M3$J#]QFMTNYL#N'7?\L4C\[6Z(]]]JSWO"PGFFD?*$9MCO[C3#` M7.`4B<0M5T)9ZCVW/R1]1QT36+&(W16+*+&-4S-Z2J8?U?UHU7;>IN(4+W?4 M#OKU1)(H7RXLZS]L,6JFFUH]LOMAN\JQ]WR"!EN$7%PYK!9>"^1%-U`'$24#=5E!_$1@`EF1&^%TP_SS8ZW9JTGA M^P-QCA$NYW:;D3SF\<%C\`FL3G-=X/2>_>7-LY=/GSU%>M[DZS?C">J3Q5PW MCL,ZOPKS21\^MN3HL(_/`U"+.W]<(CG,0@@2.AZSOU'0B:F+-TS-?NYP(-&I M4A8M:?,LN]#2OICXG'6+OJ*T]5,%9 M/_JT?[*_'6V4C5\WK-JPNY(?!':Y2=R^1N0[^HH%53$CA-J\1*E6Y)0^>KS>3$%1YC,D,85C$05]$RX('M0U2FW>'LM&E+D*;\3C2#:> M:P&]EXJCB3"GZ/@YGXZ\O,%W";:T!6<(>!BIC^-I7HRC3B!H(5.)T5B=B(RR MA*V@\YB7)$9-/2128Z.JBHTRHY5,\FB`WA-)4<2A]!92LVQ7UXM3-`W_R<1. MV2W%D?-W5M1L]QJ%FJ=%ZS4/OPC&7<4A<2^ND"72 M"\H=!<.RU',X?M"4`,#.*C9VTY25/I"\G$_>J:L*S5N9$85/=00ZRT,@-U\[ M&ITHQP1TH0JW_Z_A2>G5!"%,?*,"-3#$L(;I""9#GZY2$SH$JI=AQ]MO.H^I M@EJ*O&:'PB7`1X6H$6"/3T;J"+T^O3@KR MZV(EZE>'1.GRADNI"J)VH.L77-:H[RM!+$+A(\]P`]^2%?%MB@@YR)0)5;=4XUFN-)]0 M'9R'VZV$U43XXZH[286$KDJ1N_W%!QZW!5^)7ZT/,"BI*F8+?Z.I\+Q4N[#6 M&%94H6N5DR_=AU[E']!^#$89RNK1^!C)*9>IPUOSE]:JZSJ=BF,-,.J/REI_ M@3H?[K;AA9;>MHZ:[*D%AWE?+^3[A()=8"9!SPN9IMX.H7ET22"'Y( M$'G-FC";C-3ZPO]HOF:+,0S+KT-,V:<6U!I,HO$!.1VRLR&*!K?U4=.+SHGQ0;]]DL,"K[!"&_[2[V%<+A;DJ",3I*397Z7F*%<'[V@C,-U68D8=AHCRP80(FSU+Z^R0D4$F M"367IPQ9R_D+A,9=.'7(D%8*(Y>?E:Q%",8(>+82I/9?II%7D/26MZVM4(7P MQ^OBI08\:?RXL]%JE<`>E'7ORI;M.PG=$`SVBG`E,!_V&@0'`Y_?+;@I7 M(3@?L#CGTVG.'HYL4WDIP%JE27*(6V4X`G;PF""(Q6LD!2PG5006.FTOF-;X M9_VLJ7NR.7P+4<-I;BJ\8"F@MM)3QKG[L9MB$-CP)#\]YY`^/I\B$+1@9Y%9 MP0Z313XY[A"13/I3ULI4L8G$/DK$C/C,2I-3?K^JT>&RU&A3TOX\ MRG;H[F0]0!4,L+_,+(4O2AW6E#ITI=(W-(9A!*8^+V@(+YY6^WL^'JWJ[7E4 M>I?FB-[`%VT\"L#74#;4-7"RNH&3E0V<2`,GL0%=:1.@>/*/JHV-BVN6_/WY M](.UQW\S#*:VIZGD.0O]']XD,HH4/,"KQ]__GEF#?_3D^>O(]SA\^,8.#B8? M_ID=C'C:0>"^J4=<])_6)3=!$H?.N>/'#O43M^1*K[CR57VB=^5M5-LG.``@ M3;72*)#8H7M3K_7Q5'Q8*LT#=?GV[9>:=VWBB3D`EASC@F]XM?W\IR_L07D& M=GY'_U>>@$5^PCR9VLV'=)U#*NZ51#$[^_6M-V4!2`2C/Y[]Y=D3<<;`X]?/ M_LT]#R%;=,)+DBC%O`3+J^D9%US5,7YW&P:+QAY)F]=P6+P_3(HEKS@O'+<8 M'*_&9[<;`Q=<>2[U+\/9S>7>L7_F11O7(#VO\?D]>JH7%'[%;I>S"X9X[I]I MTN$XD#YZMI?IJZY[=2:O((#8LR$_BYD>Q6W#PM/&@G\^LH2RY]-Q]/,R-$ZN MX#@!XWSSYMW3;__Z`S6$WMX_R+YY^&!GA^5/YYAG19^_^M-K7W;WX Tel: +44 1792 205678 extn. 4461 WWW: http://python.swan.ac.uk/~pypeters/ Fax: +44 1792 295324 Department of Physics, University of Wales, Swansea, Singleton Park, Swansea, SA2 8PP, U.K.