From e4205e55b9bf24565e5c5b28697685310934eee5 Mon Sep 17 00:00:00 2001 From: Andrew McNab Date: Mon, 21 Feb 2005 09:00:35 +0000 Subject: [PATCH] Proxycache fix from Fabrizio Pacini --- org.gridsite.core/CHANGES | 4 ++++ org.gridsite.core/src/grst_x509.c | 29 ++++++++++++++++---------- org.gridsite.core/src/htcp | Bin 29747 -> 29747 bytes org.gridsite.core/src/real-gridsite-admin.cgi | Bin 105006 -> 106538 bytes 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/org.gridsite.core/CHANGES b/org.gridsite.core/CHANGES index 375f8e1..237c9f4 100644 --- a/org.gridsite.core/CHANGES +++ b/org.gridsite.core/CHANGES @@ -1,3 +1,7 @@ +* Mon Feb 21 2005 Andrew McNab +- Add bugfix for Bug #6357 from Fabrizio Pacini + to fix delegation proxy + cache names in OpenSSL 0.9.7. * Sun Feb 20 2005 Andrew McNab - Add basic VOMS support (signature checking not yet in) for X.509 Attribute Certificates. diff --git a/org.gridsite.core/src/grst_x509.c b/org.gridsite.core/src/grst_x509.c index 2195145..773d36f 100644 --- a/org.gridsite.core/src/grst_x509.c +++ b/org.gridsite.core/src/grst_x509.c @@ -1406,12 +1406,12 @@ int GRSTx509StringToChain(STACK_OF(X509) **certstack, char *certstring) * Hashes are the most significant 8 bytes, in lowercase hexadecimal. */ -char *GRSTx509MakeProxyFileName(char *delegation_id, +char *GRSTx509MakeProxyFileName(char *delegation_id, STACK_OF(X509) *certstack) { int i, depth, prevIsCA = 1, IsCA, hash_name_len, delegation_id_len, der_name_len; - unsigned char *der_name, hash_name[EVP_MAX_MD_SIZE], + unsigned char *der_name, *buf, hash_name[EVP_MAX_MD_SIZE], hash_delegation_id[EVP_MAX_MD_SIZE], filename[34]; X509_NAME *subject_name; @@ -1442,22 +1442,26 @@ char *GRSTx509MakeProxyFileName(char *delegation_id, der_name_len = i2d_X509_NAME(X509_get_subject_name(cert), NULL); if (der_name_len == 0) return NULL; - der_name = malloc(der_name_len); + buf = OPENSSL_malloc(der_name_len); + der_name = buf; + + if (!i2d_X509_NAME(X509_get_subject_name(cert), &der_name)) { - free(der_name); + OPENSSL_free(der_name); return NULL; } - + OpenSSL_add_all_digests(); - + m = EVP_sha1(); if (m == NULL) { - free(der_name); + OPENSSL_free(der_name); return NULL; } + EVP_DigestInit(&ctx, m); EVP_DigestUpdate(&ctx, delegation_id, strlen(delegation_id)); EVP_DigestFinal(&ctx, hash_delegation_id, &delegation_id_len); @@ -1467,16 +1471,18 @@ char *GRSTx509MakeProxyFileName(char *delegation_id, for (i=0; i <=7; ++i) sprintf(&filename[i*2], "%02x", hash_delegation_id[i]); - + filename[16] = '-'; - + + + EVP_DigestInit(&ctx, m); - EVP_DigestUpdate(&ctx, der_name, der_name_len); + EVP_DigestUpdate(&ctx, buf, der_name_len); EVP_DigestFinal(&ctx, hash_name, &hash_name_len); for (i=0; i <=7; ++i) sprintf(&filename[17 + i*2], "%02x", hash_name[i]); - + return strdup(filename); } @@ -1511,6 +1517,7 @@ int GRSTx509CacheProxy(char *proxydir, char *delegation_id, return GRST_RET_FAILED; } + fprintf(stderr, "\n\n\n\n PROXYCHAIN = \n %s", proxychain); if (GRSTx509StringToChain(&certstack, proxychain) != GRST_RET_OK) return GRST_RET_FAILED; diff --git a/org.gridsite.core/src/htcp b/org.gridsite.core/src/htcp index 5140cf5a575d8eace96923231cda4d2091671e0b..01c4eff34861e06f0fc4fd72de72621021b7f099 100644 GIT binary patch delta 20 ccmdn|f^qW;#tm$CjAoM;T1jqJuoE@|09rixtrX?<^l@^+n6&0D)5WGc3RGbx%Bq_KL1<8Jl}I>&YU@O=FB|vJooy_ z(MtPrD`iE7zq_s%9 zk?8X{Qe~tpr2CPQkt3Eq&7&ik?7-6nKeP@lnwK{j>Pp8B&X;TP_ud}uAb1`<;Vw%%%G0#x8Z8D zraq0lKGJox5moi{<=5$Pag)%Hd>VEP?_j&DIBUn#(VZUZKFC)@^JdH|TTCHw)( zp91c#@sB8f8F-h*G_3i+Je^IjDMFzEnN{8Tsmx9m0iSG5_4lLvW#D@>ehxSvxP!*;02c$( zw5~y(d;^5LAhgg0nnGac3xSRpjmebtfyvvcfllDJ2BrZe`~+D9xUt6L!5;?PN8@iG ze+sbaPzRJ>2wW2u_L6{EAS?&rj;=5OI0Lw;#-9Lh1MZ^ny~qy$lUGvx-_gJ+V2UGz ztHM&3fjjFl?+sc$@CH4kQQ#K?V~D(5p#=zcL3l?C=nfpZtK1?Np+J3LqfkHaTLT*l zrGg&^+*jA14gN4-YM2yS0z8GvLs7ysbr%A6qDVr72P(k=Ak5bqE+7j48!sPD766`w zvQ(bp!U5n&U4A7RI0Z~`g7`}z?=o;ZjqgXE5B!)eKNENsW&uaC8diw)5E>{(0p*nl z<0yESu&%HH4TSD4H=!5h>jTf#{7f|18kiy^DUb~u2TaqC@T24tzz16^OtWJOu=itK zVJ8|`2tpr?>!X3?z!Z^4z!C5>fQ=Jsp zHU0_>+yyorcpW(Or9j63UB4E}*9SKB_mYnQn`wLm?Rn!sxUK~rfq-Ga2Q_XF0aJi! z^Fj*t0bU49(}(bVz{`QFYWzL&3}9LVh)_ z_-EaN4QL=Ac$4PW1HBlyvBq1$zY9D|HO>RB4@}dQ8axg8t$~kd>~>)O z$AMtH@+VjTUWvc7Q~asydk7c?eotNDFW@P_#wT{5GFS~e7Ny3FP!WunG6MtiN7b40h`cS z3Y-CKrrmZZ5b75xR|0RN26PYYu)qOev!9p&`YB*D1Xof1GH@mo;`KiR8s&pvyz)_0 zC_Bi-ODC}2KLTug<4DI@^bBrps;TnM~W;}*cnfsIe}1I_@ZRgTKPP8I?- zJ~Eyx1U$~t%V8fha0-OBx&lo<^Ks&$GMQ|@cqi=8J^e;cbdMc5ZO)R}v&Cc8f2^YM z1Jf5STr~5@+!~Jr)NoB0>l!g;@W>I<=FU!>Hfws~bn$U5ca1({Mzo(cX6)#}BL+@e zIQzl5iJl`(Bi^!!+qJ)_^l;*=*-Ms)_alE0Z`R4GjD3oQBu3R8BX-txirl(=ZI-ar zs||m(;a>Gmbbx{;eQM5|hmj4k?7@omaNT*h3baBsuFm`bD^lYy#&#d!bb#UBIcAQVyS3PC0xunQ|z$hH@BeJ>@WL2IXih zi*m$;rznTBZ=pOCBSSg5kV84vl3kQn!@V=*=;Z;*5kU_j_g2Pu9wh>H!zU=Og^{B? z!m@HH$7*+;a?GAfl-I$?QC`=w@+ims#C6JXdvt^H2Jn5#qj2v-c|*&(MY+?mB;}1T z7buUmtde}}S1M!iDJ4P^%eq5(3?>8RO<~N>kvD@WDQ^x_Qr-flq`W1DhjPrSaLVC& zk(9T=WT70s=cF8gs|n=@>CGu`kI6%M2b>Ok?!^VRSe=M~>DQHVOxrlhv98Bcj^(vK z97l7!Mzy{66>q1|&0OeEQ1C&pN4^VzT ze1P(4@Bzvb-~*IThYwIb13p0cO!xrhv)}`i&qll|p^G{20m|pX2PpTz2PmHhANT_K zeE0z63*ZBkFN6P)r zcoaTBIU-2a22s8OK0x_O_yFa}@BzwK!3QW`4IiL91wKIe z8u$R^sqg{H*TM%V_pXBz(8YTA0Oe`$0m?VP2PjX64^W-~AD}!FK0x^s@Bzx7gbz@j z1s|Y%BYc4JP4EHA1$=<=r{M#XZ-Ea`{tSEoxwrCG1Og&#gAY)?9X>$$bMOJmpN9`n zo&z7CdJK>3UC0m@&34^X}bK0x_C_yFbm;RBQ(fDe2@^Z#W8 z0wTNuAE5joe1P&p@BzvXV^@~;O-ivtZVW-)V*2yrCzkd0IjgMmEJTX37!Ur!Q>?O> zg}8$ASXN;{89p(K2@|g{k8vX5Fv7Wvy-SIJ*k%GC2oECcX8aUkH{p1~-k2>!m_USBF0hSo0%0d(isByXQehb5 zU4$1Cwixdryp(XsUm(OBAe>CNfbk*1>j~#EK1w)?a4xX7Ean6ewh-YE7dS;Yhj0#K zS_M3N2xl=qPxuhwWX6{WpCG)L@nyofgcBI&5xzv&&Gf06}?31eA@1sInQb`Z{ETuL~MaPFUIzbxhs z5$Ncl@DLZcOV~*`hp~lF~Si;GS9fZ3QUd%X@a6I7z#$kj95q2{UC+sF1 z?`1+H5hf5JmT`T;351=DorFDv!x%RqyqK`XxH;jagiG#HhguU(CS1TcmhgJQd5k*| z&LZs1WkOdXY$3uS#&Lvm24Fo6g+s6Z^^DTE6MI~gYsmW0C?&mvqx*kbG{x#abD6M|2$59a5aZ>9orH53ClhW?IE(Qb!m)&t8LubYmGEN58HD2r zCos+;JczKH@l%A|cC0^z@l4o4gb7q2mhm>i351=Da|n9~hcVtocrjs%@gBlU377m% z7C1mSnQ#H)Lxk58&SQL(a2D-93v-!pf(Tm(A7Xrpa1P-d#<_&|5YA$Jp70^U$&4=% zK0$af{~-$$6Se|?3mBIWb`Z{ETng;F?L%8HOjst{o^9BnrUQC#7ybJRfdlQKeMuc1@EF~OC_z>ge zgq?(Q7$*~MPB@G48p5%JlNqlk+?DWR#ui351=Da|n9~hcVtocrjs%@gBlU377mz7C1mSnQ#H)Lxk58&I9(A#T+F<77=o} zzzM=z2p?j6if|6$9LBkX_Ylrve4g+j!pV#;5k5h9G2_dGa|tIf&Lez@u=`iEUlwzn z2zf+^=K?nf-yj^zIG=Cz=f=m{tn?I$q^Y@y_OiV6sdwK#$7NEAy^iFbVK^|bl3MJj zkB4CCVX4;=Yp4C1k{kE};j(K!a#GQSAS!Bm`&`cEq`poCGbw1j*|u2Ek)32i4`HrW6OFtXzYznsVN8wIC(8 zyW7){$}}=%LOmS`{{){?l1O+0k^aJRR8C4JQjsBr&bQ=W5TVrP_H$5x8f%JuK2=*0 zY9&Up0->G*niryYMKw{wldFlpys9fiqC!~`{tx#QXx=A^R}{g5!adFvs*y9MPMDR* zyo97MPl9Id)=ZdiElBbu3^p`M%}r`eW)(yeJ{sw$jF+qH&o=cPo-$1u{i^uBwI{Zv z>Az!sTk30FWyLhtos<=Ktfa~pU3Y?424RRoiF^O+Vs)EN_U5mP6K(o=L%{Ha<4>lm z)Ga??NwMj!(znmC5urw?Cmw9MMX3gy>5^{wAKXXrFa&z$f(`31Ia8Zimujcre+e6E zggKP70|&+Gw*4C{^^+7-QPNAVim%(=8=pq1wE3AWm*y%U?Q)1z*N`NU{zat9hEzx2-lZ(0@HpM@O~QRFm70SEOCGze#a~WYaoMW2=0`X`m}Noiwx%8FdDt}B*j3DsL6^4ir7eiD~uNta|#QPQq{t!gjm3a8*(^PME)^PfedSf}@- zQ7=DbMLtArfv8MZei@qLg8A~93MCRBugG0ikvk>bl^>txx>YoW`mu@h+5403$E}nV zx2(kO#MnuU`!?ZN0fR@~ps9GvvzL|5m50IMQAKZaW!IhM%44=r)$vB=`IHsstt8Bt zP|rDH^b}$3>v%(PTh8@if>WNW#0cXWfo{1MH+kS8jD%iv9c_s27G`VneNP3yE79t* zK@zzizY=5fMy-a@HsA9*sH9(sVx+7%r8FsP0pj8vM(LvJFeS=C75ST@@-P<5yE)=& z`^csb?9)Y$GX1*T`J+~$lm?-9SyHK7^qZ)@DZ=5H-;R)5wCPZ{UO+OmvW&VnQdZos z65~oA^W31ffX?8}%bnS3@cx(jX$m7*Zb99|=-f(j9q^sMpb1w;E4I zXCb`+K-}?~d+i5Nzhk?QsTw{*u%Sro7#1>DlM;RqS354it zeXB{2DN=Tqu;3C+>M0I&=@{~dMz$ic=-wDn(>ejYZY2VIiF~m6ugVQvM7Vmb84awH1@H=t2TeN7_ zy^1|&mFUv_;RY#1G?am9=gN|t@(~3x10z#%?QU6HT<9J(D3|LVmAS<{=oncPElWBo z4=MspAB2JW^7qZYX|m#|m4rBgbsm*7T_@Z!>;=)fN4L10Tn4jz!<$?<-L*c=b)5wq zl`Wpq0!mX>lv+s>Nr1Il3wU;?*wLeLgE7EpjAhbcpNc{Z_wEv3^>E&kY-+^r6rpiV z@40Gl*$&Y&E~;;V!5{HlcXDXEUY67Z0j?~mIW9c$DZ0@krijC{&Cs6TA-2bT>&-Rz zl^oK-nes+|Y~pN53)n!R9>*F?+g-QVx^CGM=b9?04W(W+0<$a$jiR~wXp!}Af@d8h zh(fK?6OSTH9>MZym*hz{wC*`DMx?0Q>z*n826<5hVwjU_4pNXedb~ebj@vPQhvtI<7HD(Qn2eg5;}TCbDdnE=L322Q*=dhXUW zl6^I3i$#myK3&5`HN5A;iYAd#2X*;T|5g5oE`Mz`ccQ2j6+fkmNBfG~i)xSw3c!#V z-?N%U%VmF@$fvnVP^B!XxGbqeHcMqGY?u=Hl?drmrD4gFM8j-K$2mN@m*%1c38iTb zsEr6j<5XP8a=CJ(e9Tk}H`UNisHf^$XfVKd8yw@KFT{yHox+`c-bMSP5dr{z1 zXN#Z6=0>FIWNBGaf%I16D#F{ZxjkpC*xRqwJq4^TLeA8!;>&)K_ULuuKm8ir6TeQ+ zr`lUZO#hp4Y?p*@{T2Clx>jWU2CWFYG27*J)pzdO5Yf-omzrDWYIzS0Xu7MQELOG` zr(AU#EHUjg;JF``J~bbecs`arD}HuOo5Qwx=2>on<+b?K*vi-M$NktLhF$RY`3X~A zQLUgN?mgrrRvZrT%X)EQK%bU5G^7uzB83NdUg59{8hSGEN8Z3w7q)zhN-pp(kP z&#IZO6>Pp5>Plzg#`}>nhaG|tsNc?G>;il z9=CN}rsL@uH-S+!!Q;9daf6MG$fIIMo=3$FDc@J+%VUR^=jwG?|G%oJ;34I9U8Q31 zxGul{*fgSoN1hHIQZ7(6{A0&;dGf!CbL{Ac2pFf!`vs5dGQ(G12M+>xd}f(QAL3F2k*(NzAeylK;VGxrXe;sU5BvI0W@IssSBcP}eVg$>)KLNo|ILvy z)blDey56sBq(~ad^WtAachztB32EbS^8$zcLVZsz%44mQ=QfJRhDCeT!WB-G_G;m0 z)tbobbdyDA2E1ks`Uj_f`U~!_egK*O4>tacx7p}d|Xd}?SX%u=@heeNozbzKxt)#Ff|PBP9eWm^_uF8+;k zMsaWe=HKGyM*7@;XmOxvvHSngV(R~FagE~O6s626v}4Dp++386e$8v8V?sq=FZTzB zoTXMG-htqN1qG->Q+!m<0w#qK^=oBeJ#QR5JFqHXhJ|{Pb127Bk(wIHR4)b? zV;1SLGE_6aBCM59LbNtgb+bgpK-TwXdMQ_0?1p)^J&)Ki()q^_Cb z^|4KQ^7eV&6|x0f%&s;+dLQ@$%eX7QzpTex-EY#mR+e;EesEdT8&@~@PhIMu=ryik zuwkwfbH+v8Lpw>t6)bePTN>x|R(S%JpZ0*Ba%2Zjb&&W^SyGrhp;)Mr9`8tVg;T$s zD1Z&T9LY->PmbQ26jx44(4-dSq-0Hs(4-Y5UMo?ZDQeE2*!*$a!TryZs+I4{NeP%Iz=lQul=B>F1u)*xH3M9xjFv$Jx3jZC)c@n%LNzs-Z^- zy6C!#!LZU@cT?gxdQ(V$pD5!n-|nUdrcz99+&2&wn@5XuVpEWHq%Xhn};l>r$n=Fd)3VwDOL(vxdgf4qVc;SMWg?LKi}{ZTe2Qa%IlV2c`Ts}utBwx30uPBhWxC6?km@hloQLfFy1wwoYej)Wyp@JMevmRO>ZXByg^`p z2k&`tq|@gThs~V9*0Zk|I;C+)JlAY3&#w|grbdaUr_^l0Yr}JIQQsiqUc3Yc5vjS= zQt|E*cKTJZM~g(0Zyc#y3n@W$0W6i&Z;b8r6!;yX$21Nv0{$&{-Gu@?{rFK@gi|%+T_qMGb|<2C7LG;v9%NrCoIC>uM=8UvYv*OHi(+j z@2_p6%U{h{gnFtGzK|={Pj}X&_we~;vCPy+%yzf@`J6a8ec}+NTi8u!raJJ_ms_qo z$Agvp2Ei(cofRD#&adK@ub*Kij&agmB^SswLruNj;{F*8?arr#cSbM!mv4&GGwRuP ziqB@Wu_fYfgQ_GUy6jju8kg_nicT{d*%O`?_styXWwpbP({1ta*Nmn zM}h3gK$kS9+MAkFE%gtcC3ql49lm&)>8#ofyv2p%K)h_qQ!-Fh^%S67W~yRFczs+? zrEHo-;fD3h^1sz{f^V2#s@qu1FILKv;Kw_scs!<&o?Ji9UQ-L(SR9k$*=m^BH7lZV z)h!iTu4-C_d6k+kFB6~7>eRR)%4MeB;clJwO)F0fRX;{#nI<~TZaaLR;`K-^0WHZx z{&Y+dd*fMS&oRmv^mJEArI-HPGTul<4Wh{RPl7huwbydfQi~yuL7d;NQn+ zg&93;U!N%-owxDcF;~F)?ngeX$p0`fTOJj=<}~a3w{iH>H(X{MwkZnlcgCzLKC0rg z@=NS1zIt6$nOi5A-4yUm(Qa;}a&V{5uAWv~(fN|sx$|i*e(0y3C-x-9#}ycf_mYj1 z@@0;)Km1J{K;+8@m7`;7(8EaD)wE6KUZ=V8idw5l1me8|Pw62~*`5S#nT{m0#u}Pn8(d51Ii=9JRc!5)l&vfB4W-)G0D@? z<`Ai#d5y^^ZW*ci0j>9Ex=PBdqFwAnZd8#|MD=-X8vMZevK9sMD+P=etHtDbQC_8l zl&y?SphN+kuGjS=NK#<%aozW7sg?N10Jnp@xUg5&Q^gBEQKt!1Vb2L)g%AHWwtpH~ z;?BIr4XXQV8CX%v-JAhKmOlR4z^9@2q=&j|`l z@mm$h&h5I*D;3DehWwf#V~=ELJIiT58QK$yrd`l_E+|BGi1FpL97Ahe zPV?C}($LiE$}U=9D*UlX^m(vJ1@q1^E~KpEP*9t9kTI{i`!pea;1L}l{H%V2r$2ly zRK@lbRR+%=>HQPG*gpS=muqWI;z(4%gE-mIc)Skox1{ZaX$I%y9NhKEUYhGhy6Z-A z*S1N$s68I_PO5#spnv$NuI?A}t5PX3b5ZqryxzM?+;W;)Ye-O!9L&6#OT?3lYIR@F zUPC9{k@5)@fN&#^Q03b!kayHDl^tsTf%yBS_+n9QZvu%rt84(#{G_O{x+Bo8l!FpX zu4`@-%A*rKThCDgsY@4_(#7h~iZ+7I9a_Q-Mbpkm0V$Xzp8=icRMuj@IR)81$5D#C zw}_`i;X4Shcz`|M#&M=pPC7;wBpZ~$zG zr9m1XuN-b{#Y0)9MknP?*EfE3QNoyNc|5rcE>PYa?1x6aErPJSOU3gV9ZbqH0P-_#>6(z zrScnJg#uHdgQ)-~dx7kO!cmIm=VVN#ug$TK4SBd)S6|#l`6b3tm2%-eNS%A#udBuK zfY|u3(`%wjN1uT>n(&xCZ~Tp4#fp>-jZc(2m|SMcz3QvtJsI%5W{ zgog|F_$7FMFE%km@2X1Vd^2+~n(((0InhVROkGOb4I*Z#a}5kJYx)gLB};t6=J}cM zEY)v*T~Xh=;R*MUm$efl(mgu2Q6M|N+{?H|dC&F0YwsJwBd+&_0~9d5`tB9+TVjK{ zYRi=`v$)R?1n~v5d-jU9NlhAj%9djZ#qx>*M#6()QBwKNvbLXqVw%;J3;_ntmzNH( zvMgVcHIDnntv3_%iMZ28Y^nV^OVv};8M4e^qOZ)zNv^(jjsFu6&sssfWwMKrZtQp|C zH7L1jJ35HLP~5^T)}luvypI~g`ptp zO2_oMqHJlb+PZf&R?<5k$6oFZ-BPZ|^WXXWsLZ17H9ecryv#Qwe%m;)HPuLL%EOu` zpEom1?}+l`114-F*^4l=Qn}Q{1v| z3X9(#ukPCm8x4%x__Up(D22BIpaJ4imA&ZHL8VTbi{FG!#JOA`y+ZG)2__Dj<-0m= z-La{W3iU)#wNgD<@QkF|6F5h=QpAR3A+|wc^Rgz+Rw$8~+VxK|(YngYZz`oih_ z5P4&-7_g#a_{0Cr$r70>YPa_I0^wv-%S^pQ!%BMeP)C69J36%?%F7~eMYz}T!vBgd zUnplQtfBnb!`tw^yM6IRk8mocgx5Ki zw@dBKT-V#BS9fWH`7I4qOc@^J(=Sp9y)+zFzV%pBlr-#uOBJr7&r0j^;uI!9}d`68R(dqy8bVk zdI?j_IMXoaKo7$it2h;WL)Gc^vCjk8DC$@nuVVPsuFbWv^1x{3xOpreTs<#(t*UK* zVX3%pRn(NqZ2Pdx)Gefq$J!Uyz> z#7*9m(#-o|4v&Po6OSj8cX!KNACWa2M7{I;hPt?0k9W(fY912M6`u4}@FPC%BeInK zf0L3!a;Tztmx<&aIUlqf6O96r@bEZ=Ejstf@PuksAGfHully zSp?6n>t)AC4`X#}f4SA4ok&*4h5_^Fx_nZ+vZhg0^)Nw=u5GvIy(%I;NFD#t1I=9& z_}>VGJgfrhTQCk!M?aDESR`%TeTV9=i;k&nt0wprx-vm5N{#kz_akkezz$HvU(`76 z$5^8nq@(hTB;9eGXgCUIA>O8}D6m%6p%yRu)f?t7u)vSeQ8Ch8B5dv8@{>+A8y2ZM zU%xq3b&^=VR-bfUQT|6`!n1U^8Yy!V#j#+oDWhj;;WjfASRi3Hw;XsMcU8?ckMjU8 zoy_T>I2C58s^fjrXV(g|G{LX-U*pYadUk;dF4~^AU3{@FqHC$2r0z;m z(HrGMI8iA;)vcGyyB{`Qv|it^S-cv7yC}pvu5xBsw@@B3~GgXak_7>j|R;xI;E5-Y1wR`ywzsjQK+6ZxbLu~m(Rd#-n9mC)9u5rSZ-c)TO?sBgv3aN>@T$!uFVBRog zcoVUKhg)wVRw!UL5mDlFx;b08B`>OJ1=&0^Zpqht1X|gF)r?nf{gx%pA={W)60%v3 z8-Mvux!(rZM7B5Dz&uOKcugyndFlWL8>Q;$Uf22<3wI|ytz`TFHs3?xi8)pM?KwRJ z+AHrhLxO#QheXNEqj=oldQjPOg2zB{(tMoqyB5U>HD1GYK0N59fm5t;s*)a3et@7k zJ&ZU^>_g=hniw+6iudD$7!GcL{K!AMwZeEJqsf)1Bl&KTklCotj_Pejd8KCL?Q^hjS* z0k4*;>@6qz_rz09=EoMg-=j2{zEElQwAI94Pc$!gTh-c5(_i1%^cf`vKiQ%oKUDs3 zQw8s!=fWO-sC-IneA4M%rn-$`#Eu71;)Wcoh8hl{9fFr2VH}bsy!=f?mo(R9wo$wcqg5> z$bS+X%~Fk|9;JK0H|VeBHx)kA?a}?zAn?%HQkgi<5(l%KUiSDcriAwR8_I6zpScO` zGTh(eojkDWX0)Y`Q||GK^K$vv#`{(H&oCCHynUuexx1?IrD9Rv68vghGGw;@fv32) z=tZO_$FI~*QwlFj_>t3xiB~s9v~(WkKuO(~b4^LS07J&|*zlGO&K;O}O8m4j%JzT= z+tkvV;8&@1D5>o%N+<2q#z-ms88Z+YF&U*N*RRSM!@=x5Qr`T&asne58mHQH3cT<0zA0}8Y=B=Q{JGzRuX>fKu@ve zBIc>a5w|w7Y&FFq^^WtPxc{j-UOx27%hYYthMeL*@66S?Rq7y+@XbmU;%TxSBZ_RR zmb0`}+J-ZkF63<06g`>ajco-{aV+Y#aviSYC6fGlG&^HjYP^v}7qYIAMW?NvWU|t6 zzd6yIrTsFF?|~_~mGMMM<}*3xvGQ)sS0##C zpp1DH=Gb{Oql6{+745Bx@+OCV9srLC)Z1jR1MZaRfQBc%UzI8YMZ4@suk*F?2EQA? z!=kph34VNy|+ZwP$9oS4t!Ei4Tq?{wN9M^8SNvOF~ZZKiPOc7 zEz!2O#rZAs+LMXh@)I>@ut?#RA?bT%C<7|U21W)#WdWW)-~UX#r~oxl|9Nnq7TM3- zUnl-}x&6BJS3|l&T1j2Rms{)785h|-*RN1nKQ5$<{F@)+TV~Ksv4WA`?PIyV$|~y?S5Iq zW$@B&`~}NZbbz{_6e^=kRr>z1u39SBtEx-6Dm?hg^L3n+Ov$@k^^SCc;^KI#_JMq{Q;nqhK=d`iS6m@rWsZpGw8&Zni zmCuS9J6hS=i6?eM-?NYf;0^ot2a1zBV(y7E`1ygNXve%Ek!&XL+j+H=>(mnd86Yxg z%XLHqx4Plxac8c}9MfnC6Y_8p_T0_^w&voSoiXhe^N3uQzpFwBxA+y9^N}!5VQWl5 zYM{C&Nf-JsMRa??W$PupFEkwT9-9LVezW2q)G0{S>RdEjqt19USVkR}kS{c||G8RJ z-_nnvMEaIR8muV|D~{PcnD#TtxmrYqU)p`XsjvEt*rMPGySbo`1{HFZ#N zk#AzbCj*roqdQv9Iv9yg&%JV;QW`A6Buk5td)2a)mb#o&dxQR#ReNF|-^Hm0ZB9Tx{0uL? zExf9D3oi9d>P6QYVqEmPk|~FsAvztp(AUzQ<{1WO`Hzb4+5&!M@ZGS7Orh(h5E+(S zkbOK-=6Gq0AmupvkC#K!Tx!DBml4aDFbJoCUOEnZEU0ikyDz4A38I^PZKbY(@0>uf z^+vJ3;3X__x^C08CY?toEj1C1r}N()t~D!y(_L%)X?{J>!q9_5kmhA^YMFwD$?5DX zX{n1@9R2O#N?r+Z$^Nu7E_KmWs%=N#OsT1yRz<80Y*Q7n)=T-A?oJlH5(a9PJjOi? zb$fNV8lX&~!_{#NFy7cy)v#CTj8Rkmi|K$zA5TGqKAOqo{v&qb_BafIn1a~;yVPE+ z`Wo&1=mUNIF40~TLT^bs3e&Mx8Mo+3zuMgVqD$(Y@QLd0aASJoeFeUBi~w_sc!k~U zD!>GLu5p0D8-6QA_uUOb@->{2ET->n=l#QsHveu~wKX(BGF^9kKgo4Reo~=C;^K^yR8%R@<0=wroR#D0#RVdvh@z|!Y zDf?XD{2qo@Cm+INqJ}xf4)HLF`N7(*@y1DMI zpzkQr)4>tHh=4t<60UInF{y4PQJGK-d}+F?SWOW4^i&=?@N;{TJp$c4fiyo>_A=}p z%noyVYC{i>CG=SM`Q_q?JtOSXR*En7)J+I5ZPoQ}OZwUp?6YX=*EqknG(T1*8urJ` zMq8cy+xl>sn6S4~^g*>mV5ro#M!gwY?#tc&BVO4XHF^|TE`;^KG`)-EgufLG)7+K) zF!wpW+$rje?#_>t4=DrkLIf`em5aG6p>EG~Hv3(#{YX9| za`)A?mnMl%_C+(w@S#TX-lMEB#`k+L$?j&me)4%S_~q7Z9$_-vra=WY7n#A$N?DPmRmeRrcD~%SMu5`JX9wq7 z;?tKKd*8y>&}?BeIDwvd0I~rzq4#XD^v_^v&NLS`2pHQ8*=UjO;d+b}?nAIeSTBbu zBFE(QWl3A)Nlh>oPlj09-Jbn}YhUD}4*qG|c)M8sN@$Irm2rKl6}%<3zS6pSka9_% zK`w}oU+Gi*$ipnfP;)Mb76)VMKfqdtrQE5M6e4q>0Db31jrT<{|6q&i>y;f%wSM5BZ{${@jS@~ktbY< zoS;k=fZshtC@GOAl#2ZN8fIiZ@3~84qX)Pu*^(dN%GkwX`=KHBPKl!DktRJ}G47*w ziD7cPBJ^;TJfeO8Elh6kFN3=W{t>m9MPl2LruN}UV)3iZo1;sa^rrB;%6chx%J33Y zZ?!Wp#~*k>=90*LHKy*jO4CC06}t}O*u`>0q9}W{aoswqvv^Lt2EUR7A92hNp_ea5 zJt(q{M%x=K6bXmxMx0UOjg9mWUx_~-5Lt(#>{k|uLx&^!e5lkeYQ%nYL%yXjqhk4; z8oRqotE&sy zR{vQ7Th$d`9I4vE*y~Z_LH}&8#J=Lpt4-=|Qkwsl!G3>;4fd8A;{P((p9|PvZ_i_c zJzz@t8Eh{~z+jKfV}q?yy88_FkiyzvLJf<*!4CNqkaEdl7_6Orlt*M7i)qU}yycdM zRW%lJOV09hC5Pu{6e8FCVy^h|SWGaZ8#2cus=QXm?s`Bpf32Z+?1SvT80TsiQ^&$% zXg9?_nk0igG~?7Sar!gyj}KY0{yf~)uUkkZF7b@HKED#Z$#)$ggx3wUe2HFE8>0wv z0Xm~zOq^flxeHx5LU}1f*)L(nPJuujqIN(m4#n{-L`9^_`1YIJHm6*09tkc|){!+? z%~PzzDcxxAxwU%(!yN1MhVVz6(Bs$51?QE{EBtKa+;q$ z74ZNYZ3F@N2O6R%5x`9$02I*eO{@%1BhR-S`2qF|yeN{GmP!nd&3SoXp?LLpbNkuZ z;{ z^$g+BUNlhC&a-X9#L5$Oyla$T{OZj`)Y58~;w^txt!Ou@s5ahJia`)FPADS<6X&g*LA$Ygb+$Uf2ZZ{<9MuuRJg^5R)%vw zcR+}fwFYnb-|eU5R(H!IYOZS)U|#b=Lw99_G#>Z#)Nt|B$%fwl{K~4Nxnv5RP}AWN zPp6LjPOe!)r3^3;M17$ck5e#gQZ6(OuWJ3N?g;5+oF?QFo#~%4mCcOxVS4w#w zuQpGqx#E#ik$5`zR~@sO5|*h=>0~WI(ijpY{rhJ z3lu#vOFZ;OM8h6j1+KkhmNsY}yV_+6;ce%Mjc-PD9zRpFF2Umwu;<(8sX~rlV|ntd z(p5#Wd^u*C`00(hogY=!D8hjuD|j(MI}oGC^xSdLi5K0NkX}s^MEsj|?U!b^B#$}D`c#y2aK)zx!GdT>E`ym3F4X4jqC&N z7pG45u?O5Q%1+m|Z;+3{A%4FIf#3I2BJ`7E3y8m6 z@rxERQ~i_(F&7gvSu;m6Q~i_(F&`o3%=^WU=OW@)(DeXaP<;amYuVjuZ(8_1<}_|x z{T@v`;+9X^F!|hMvFrSU z_9qgIeMFVB(PI2tuU6hf%JiQis$S?*`B}QYJ6W8(P+u&$(6sUkgpW)X&tIrj`DMD! zCSKpVN9lTmvMJA?P|q7g>M>c=zSuBU{qCK;C@y{6U8vL}a5McvQWCz{0S$dWcytjp zs6X}Z6LT)U5N#^OU|`H|D!J%iV5p)9&d)@vOHJ&^MqR2INu}k-Q@HC`p{hYHR}#xF zHMKu?pV)P2YUL}W(vXShSwqq6?K;iAA$-q7u0#Kzk~&{aDTd`7o*%R}C#Q(HZ%0)w zp|Teyh>W+L_Vbg(D{oJ+jztg@-<+thN#Zk7{AzO_X1K;UfrAj%aaGXecr)5Xe z7kob#WlfLC<4`MSoY9&ZR_wUX#JBG>u2QpH(v)!`;@y_r|4&IZ|4|ZIwGl!{*>zdeH7ww?z$LNl1 zGEuC&Jlr_H2*&ue-UXy1Sqm+IX<|@_Ms-rlA== zXl_4BRR1v6KFuxqeb~sJF;dL=FvcDqW4F0E6+wdGH8%^`J=jR9>z6sk6r&0o6J@Nxei{7#BPpn z#qk@stQ8vkVu&dHsB_dtVA}Qks2Wa7%|lIYK+4G@#K4c6*>?^Ri$AVs|8S7V{J5vF zo_B!w;N#|#1U2p+!0jNg&{uNOQ!hgVh6BH?m#Ke@XUI8Iq8qD6jmU0lAi1$pIe9o2 zVN@)K4;SNZv};^El!=Ao{z6W@E|tL*%Kb4+ymUhtC#&WX{XTies2JB@M11;^{ow)P z^ryA#mxqXtK8>-vT;k79``T?T(dV;C_SC^*`)Bud-qx3!(T|G?ZM@&c8gmqPithf* zGrLK(ODvW1`ikKEs80V~y|>Ehl}Qg(6?9jB$xJpErw-bCFW~LSdL}r+|5f zBu_Q0#vA@f-jgwyJHaL_k$?3UPknxGz5QsHm_60-VSlFQ`Q3ry+s_->g9nJDniCB&+hsvakVdR``_JH`v|7ZKi5ET~letOTJI&uL-@U_s`iIKN+Y_>dUi z_pZReHwj?uyp-GkEa-ih^#V1gw^g^~)_z39(?gWOhOdWTnH>{8YZK(SU^TtyqT4sj z+x#A`yp{H%W^#8=I;AMUmleuz(_9;z^jZ@>6Mep{r<`y24OlT8I3R&5c*Bpu8|0MzqGcqQi5GEmI=58q1Ku%R2XG z=`WgrQV)Pjsi2rJkJ(99|;*GCE#KEr`+H3R@ zd0!>hiZ_}U^H>za@jve=X5SoYFX^}G>pJ4yn;q>taTOn#6ZcQThx8K@z8++^`iY%i z_qYGvL&&ceg!g1U0@Kc>Q%BAEtYlriuJcfg?!HzDwW=(ughWE?)aK%08v5_~_ea9b2G)e#$8CQ+`=A?ND-KSJ;}|#QHpr zp`I>&g*x;WvEM~T_4Ol#>U!ZY9<2bayNWsAMYX7oBGh0L+)!f#Q**tID4yf#JgMTj zN3(;vikH9ZVt={2_~yG_mH(}VTdb0iqOW|??(Hl-kRRJ0=`0QuHVzq~>kPhEd{Q{5 z>U36uey7YWJI0B2-zSF5HBvi^m%n$0EYt9_PU7S5V?$PHxTBM(UKACQt>I&xM7N^M zke4+a-C5)nH4Qna;o**lixX@+6d22(e|e8M8;18ZJ&#{pJRL# z8@3Yxw_AjKuca5a6mfdC*6##jw&y`>@txPH7ikua~zLFP4tAN3;}oOI!M=w_AzWUuMZj@K!#EwgeJ^^(${T6HM za-{ulPxl|vroH~}UgRA(#mutCj~qV6857$+c43mqVx2KHZ`-kLm$vQOc0%eJ z8{4^U``B1cowG0WupK;}9A^`in$2DEaN@M3onyPTooU6yc35hK;Nx_U9ywuRzd?Nl zk8t*MhB#v$K3=<@?WVo%1nAoXcRTS&E~FtyBay~k%8nRd>)^eL5ybyiLM4?K>ilP& z|A{;l{8>8!9aWHLEDLf3B5%Gbkp3Y+tLw%<2Z~sZwSf*ilC@d~Th=|u@dVJSg+w2m zV_6B%1D^mVHDH^E*QeULeNHdU@AgxB) zgtQasFw$A1Ye+YdZX?-WKz*cWqz*`Zkw(7|=ylA%#S)~|NSly$A{|CLi*ya?Cem#r zJHCxt11TD*15#h4(MU6pmLRQ0+Jv+d=`hk+q-#hwk!~Z|ccVU1G*SnozDT2Ydm#W9 zOORG0Z9>|KbQtL@(lw-;NVk#fFG2uPG*SnozDT2yW*{v=T8*>`X(!TQq_arZkZvN~ zMzX(z`bg189gzAWjrQWt45TGUtC2P#?L<0^bQb9v(oLk>NcKGtfE10?0jV$2XrviP zOORG0Z9>|KbQtL@(lw-;NVk#fdr==L8mR+PUnK8n{F#BY1Zg$WCZwH6hmp=AT|>Hw zbQ{UO4+4;)kvbstMH-DX18E7;YNSm_JCP0}okhBabQ9?|l6^nwBSj;1K;QQ%0M6_&kmj;(PJUCzp0H5b}mo?{EM zdq!n{F~`=_UN9=V(p=<0qqEymo;D?WJmqJmX0JpZ6rW(T!c~i>=Az!%gzWc-Uv+Nw zugEK9Jb-@H&5riiqJuKl*{tWX2YYPyd1*|k?*TlLYU~uI5r#Wr>=Y(*S{4nS!j&1* z2rA4Ohi!!s@bRHBRG3x)%c5~qm{tS)YvJtAxC-FqM2(m#K+B3{(P$}Ll`)Nq!qphl zh$u{MXjvxm2k=s2Su`?=PpgP!(dZ~lt4R}7@DXVG!NYu5ty6(t9zQ$J)(iizIL$VE z?9g;0If?!RT0fO-12!$$tQyunVAGNf>lPh68qIB1HS1kq(=f)(x&d5Y_XMtB(LEsl z)3j*AW<^-|huXbX6F&w1LV*N7{C9;y;K6R)6H=%)Fs=EdGbz*r*k7Rz!2SyL0`_Rr zQ-{aev;SIXyXHOF7CS7+AlgqTV?JaAdc^drE6A}(^J`*(e{}%%7aGR^{|byRrE&eP z!07{n90(1JM*`m%TwZ=AaDyS`1 z^C1O~0n;rjMGCU=nZNO`0Mp$Jxw_4&YJC7qH$UXMgg*_y8^A3W1UY8u2EIpuCl&@d z-a!FUpbYrn13`|fh~R{)qNNOY{I}qf`!xdI2Ha2MSl|P|WKrVB1IIx@#6Y-jm^Bjk z6!_gWKfw#atdoI`K;$*hz&zxaQDB!Y@EGudfo1jYH%;| zyTD&*{_DUJL;N62K=SDyk)9A2U=glR%Pz^+$Ypce1}6ewZ==pFFYQ9%y;cmXTe4cG*w>Ttroz~NuPV!Hll z;8UotI)vc`z6?z9krYS)&Ij&580}kGAQXe38nCSAfM2;C=%}nsycgJO3vxJ-lZlTZ z9}*tq_#6@mp9a2*`Ym(=mw{8pV(ZU1)cPEF&vXot#y?MsXg#P*IOW(mr=emOhgLfVSp70i;>A|*fH&Zdqd$mH2!3=r$NX^g$=sLF9H_> z8?S#Ac+9vU$4lC)-vYi1J_Raj;3MF-J`8kxrujv{f&GIV?X>(mz%Kz~Gs5jv35LZG z*t}-iH3lIR_a7~^K)S!9?+6+b_W|BBKgh9K3mgX=pFnR|DStk?VpfLo(J z_ZYM%fg>^IxU{Onz?6M`I*8HZYL1Jgeq-$~<7fNx+(mTCNN z;LW*#jvurFzX12!9WvsJXa=Jo^2j7eA|g1*Mi(mXNTL!+ zWzdMIphb+)=;{b7t5Lh-<9p8h&QkvAe9rmZbMHO(yzc2V6v|^D!|`W$vC@D1psR2^ z2}uI%$XA6^I3fk!gwyy^iEqRiTrc@yysL_(qO^f~ahCkTBcKNG0KP|#--;s%#%hk| z0xnS7NyrgkN3wl*5>;Ab@?G^B{-%+?O%NZ)c^xkWevRL!)fZ0SsyyCEo0ur^qZlt- z-VkjYtHg;i5|&8;)g%P*d~<+OH{xonzptljs2PXwo?yWqZowZ){7Rf0(hb+*WBp8S zQX@}ckNBAqzhgN4?@*2xD{}%@?IR#gK(hq&>jJSI7xaiX{2=c;QsB2ZMZSGxzu+{U zBF6`qwlmmv>mr=R-${Nc^N*S#{qjosh7kT)a6!LY{=MT+vSK@)q7E-iynyo$vc`5bu)w zkMP2&=NjEvTuuIXGY;@t$D;dt9?2pT@2WA_xquaw)L`N&5<(ncC!fi<1yhsena{`D znVt((>Z--K>zI8+uJW))yd4==;YHzqtdLxl#BuUta>v_n5a7exf0)k^Vn8-H+ID7)|9`k+ z$jCN~1AnMIH@{zsbHrCj`~;lGb|{~TUACIG*!e$9Lc1Gq&X;HG;W7dW-G&7T4&s-j zz|D9#FDlE8U9}SrT@Pe%HSuYBK)QSo*Qt!3}sjvz@KdTkz$({mvOVVH>tLFqS&) z#CMGgIGZH@Aw2LL^ZyCC;teFMToP~&NWgBK!tvSF|J4m>XRyswzA15hbsT6nw zzj#x?nIHvxic{p<>Gvmm*J6G%B*(iYEIOHdYQ$IIH1YbolT?P9TtffLkT6Y7a3cX( zJX>6c2XI^*#yNbgIEM515-IReJhCm|{M*cauG)-Uc64odJ8>Ddk9>a#{VzzupcMEP z0oAx)d=gJ#F1Wv0m-NqLEF zB7cVOGE^+>r2=ZLSA_{Xtb z(&<;NP52<)vT%b%Y6niT(YDUSGym@;Ax{DJne}6r?P$BAIfcux%|DCNybXutf`&1X z2g$!vYV2ZMjo+0Es=!a5@H7bh7`y5j?2&)Bv7NPjYXn8JsX=J^GzE*tKruArn>Obo@jLaeI?`j zUVhA%^_MpDOVjY2=B7Edjq~bi!^@(vaHKWX+V{YE-!|VxGaG9sg&Uh1=GD#(d(qBi zvG$D>8+_v`+GDZq1wCF(hZl)>5P~}{kvOp=)$fQy>sr4^$l$DHTZr9f^;Sy delta 42327 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 -- 1.8.2.3