From 5b8c750f2693fccd4616efc380e57bcc57b5e0d1 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 5 Jul 2011 16:39:49 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 47472b0ffbf55e9b5e6cddcaacbb75eaba65843c Monotone-Revision: 48a1bab369727c086d0425d59fd2cf0ffc63b71c Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2011-07-05T16:39:49 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 + Documentation/SOGo Installation Guide.odt | Bin 151520 -> 151476 bytes NEWS | 1 + SoObjects/Mailer/SOGoMailFolder.m | 44 ++++++++++++++++++++-- SoObjects/SOGo/SOGoDefaults.plist | 1 + SoObjects/SOGo/SOGoDomainDefaults.h | 1 + SoObjects/SOGo/SOGoDomainDefaults.m | 5 +++ 7 files changed, 50 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e85fa1fd..0f7b688ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,8 @@ * SoObjects/Appointments/SOGoAppointmentObject.m (-PUTAction:) We check if uid is not nil prior comparing it to the owner. This fixes bug #1323 + * Added patches included in bug #1348 - which now allows + group-based ACLs for IMAP. 2011-07-02 Ludovic Marcotte diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 8b9b63a6c92aa6ad00c2c05c10c8dd3870d7f3d8..e196ff83aeade54b273fab1fc3b2191c11b7bd66 100644 GIT binary patch delta 40116 zcmZU(1x#N}^exH{*W#|lDO%j2xVyVcad!^x?ykk%-QC@-I23m+yng@t?t3@6CzL z;y-L{=wavLOmA#xY+))pUH7x!00ZiGqClStE1ppM$?p@&)`&pTFbxZqXDr?Jq%T5P zJAFgC1ft$xFdTiUC$oJ&W+gFhhPNRAl3kv$zcbMgF!~e__Z5De9Srl*Ns&KOMA8GS1u>&9(Diusx zJ(umwzBUR6%Sy_{qp=vtS%>l6NN>XKsCS~t?tKl!fg@6ohJke{5KPXCde-py5jW%&+es7t6yef9;E2R6nmKnXbA&XCF%1CO#wt_Tjo zVo<6lAe@_FLH6ZD-A}!Q?U|O(f&rv_dc6lKn;y4&q2Ut1V5O20bX}7rz~Aa0*Ux-k zLVtvS_XlE3N70^OL)aj-Q_=#5?a0#Gk)YNq&KXfUz;jY~N@s zYmu2Lp_$?mnZjx7ki?e5@M?u`I@ef8C)h zqQWmthmkxvJvwbz-fo&@AGXSfWYn@Gdwh`u=6kAZjC8JxHIMtv(es#jtx`NP-z^_} zR$K~;_7L6!<{h=8#Y(0H09tv0N}u<>2Jj=ASbQsD4(E+9l1sS-Kj;~@vuly$EwT); zuvouq_0HMyyWGN1AE(3FPj4SKCQ9q_5oGO5;%coJ;uASUTx4X!L%9x@*eM;xFff*J zIi}r4t+{o|zC}HstsC{1lU0_fMR7x}3vL~sR`(^ZNWOR70HW#-DbEg8L3JMKNwQnKz8;wJ1WZpj=u>uoFcF*1oSbj_FRZNb}*Jqt$$TU zcFIT5{7%BtG1OpDsK9cdb1t7b8BlQEC8MB94pvU?%Uf0Ol48M~F=l640=X+|4$}+q zyg5C|+NgW{efeIE0LaZo?s+6NwsgZcyAOZmffK7}K#V$z5D9z>f3ie)#g@oY@b$o0 zc_OExhsbiAT4KW++WuMT;icxGvY|59WPqvVbujx+cGCA}#>{PjC%UcfZdnh34^baN zpduz6!W~>?1gP}}7BF^L-g2N)@=Ih2KAI0%v29N@C9qQID8m6wzM)07^kZ_ObWMK{ zotcS`q1o_Q6Y}|2Q&7)>dG%-XE#jw9Dnh$!>SQs96I7TARRXdG9tmvKX&W_$QU z9T*-2c%Dbom;7u%9sPBoRp?{XTfa}tYsKrYkJlvD5Z+_I5NWGz9M|*0Lhi7XoNS|G zcERhCuR72)P}Wcj=zSEmTYprHSifupnieGNoVUDgeWn9!JC`PG+52iOiUw@QQ(#H*aOU{PN`L9;$tjFc`5N zb7@hrbaLE<*+r;3r`NH?J>8RbQGKGoaXFlW&rMl9{4gD}7}=zbt#K);SgVnyl(@YGi792xxOeSaN~a!k96eOh3{^`EnMH(b%+sl?_XR=tWj_^bW0jFbo#4KH0ar<0IlRNWL%d9YNj?5*o9R06l%b{wP=z5yxE_m(NrB>A~_ z75;9@2W%ZEIqpQ4#Iq6M21eQ?e7eTwB5qZ~U#7%Y*+BO`zFTR}o{u-Fp1`{zlTIy! zvun9JI|fpw~Je?KG^^ zFKdNdTXbIrw4!Z!+&WdQ)W6ipbY==+IH2 zqYHIMIaaxNO_3u^^lxy(bj+`_&;%P(X(|;i@8XhFti3qc^2l@HVj*-kEMGh=(>E@i z04}#B`bqt#i3nU}E*nz3IVC=lK3PD^Ux-``uPIMfgC>iO!B_dOy+Mc)%QV1IP< zR{C&#>W;CC%AdN|$ejjfR_wkL!)?z@cWCnna8b(!=cjUfwbx8OIZ&sNVo6L+gli>t zcFQ;mz6AG}I{XF4AhpH!zcIj8DDDCvQCT&QSj|F_FO9NKM(E{0`?4Y~VTpRG-{Wf!(3$vhiG zGoQVH6uJE0nzYaR9_WvS9i9(m9{JeetpWVb&~>t`W3}I2{0uG5?e{nV<9&zCz^zP9 z#)z(A5`aWli#0KxEo@v7E(F(068?qtC#@A_eG?#_S zDr&T6rR?`9n{m?H9lbnSER>J25`( zBHU$C_#=@N#Pa#D#|zk_+;}dj0w2pfD?{uej;klhE|SR6&Pb}>k=aHE9xwivqUYzw zv&fZmoe>mzh959s+iP z+X*xL6OXpM!(I=Nlka6q&!<>w*Ml3FZeV~mDWpn}Pd*L&q>%pGa?SMvFh(cTc(PG` zsombN$8jEP*1-6_az3kPWT~0Q2kSht$am*KvWT|iE2cdeCZZ@GL5{|jX;n-8cLX;2 zJ#VJDX(pH9|?){8CZ7gIQT0GaEu|YY!P`1j2L1j{unScfO<4L)M)A_aC5a7w{uf3 zGPia)za2jYv-s+9=gPvWjKcHApVXZo32EE3{5>3#dQ$(}G`Lz<4-^75`8(w~&x~Nd z9ae&k^rq=c|DdN4(5jiXD)Pn2Sg9gTBO5gA;T(EC+N`;tfpDq%Q^JyZ;~V*(W8t-u z)QJ>)9{yW~9&j3fi?NCvCzaxf0XyLvG2F6cW6^$Z0Yer#lv-yu6f}ks-6(SSWi)~Y zB>T*iC1+JrtaMZMH-34I5}rHko;Ym>AKF@-(3IH`N^3Z()NeH)ZovLFOx$UcXN^Xb z`j@43^j)?YxBJrQlh0R#3!#YqpC}g{Y#q812{W;1<@x>*e_QSC4&^BeTi3 zMP@1-$ei)ZTB0t;i<{w-ZmF?rz=uja+E1>*W~*o>mPFt}@dF@0?hcS7h3#p_A0^$H z`>)4Q_1kp;U0|tNZrP;SA6A_#uY4ohkDBS*=ilQNs^yHwEOF>6H(gy*SL5mG1W$Rm zmQ^KAyX)VxaB-@%Ivzx5z_W#+$;$$F_g+w z^BP?tk_c_wIsioQn^Bb~MHg{q(j0eW&KC;lNo;^B>r0``6#=Y{oLcX~L7K^y@mDr~ z*!aeZ-kmYx%rbwWp18$2)cu^9k4R|_(}K?k zW=+eD8up)rO84x&d0~IH$x5!LpXFP~j|ZhjTb2{s6M!r*+7i2(+-~x>zvHJID6a{0 zN3pdBLf4V!_`(L;u2pr$|aT%;4O{p;pCDu3{gP*_H`a z{uO%7bWN=w;TdqVOrQS4WtBF{BuSSwDjfzuuhpZU?;Dz9hmJQRcJD7_uD2j*W~(~5 zT*~1W*S37U6dsA5Vk!~TBF#i5(H`s`zlknK$I6v|We}TMjoabXoaYew+DgY}iXDq< z5{9gMhYlkZe(m^|{!ZO$-^8mJUXS*(3rE9DG`H(pWliyIH0U@cRQ+a*ABQ|2B9&7> zg!(duOm-W;+>uU^HF25 zYk0`+h?M7*GqS1s`%q<`EUlPJ16bYtt06aNnSFoqV(-K6$}g;sI8I43!aOQF#Agd- zF~=oQuo@6(lwf^S`(3c^`NT8TVS;M}nt$7mv<;{;cCK(@v6z zd^$U+UYiiBFKAtlyV4pzoHO>E;^99h8%vMw3h2W)MB*Ps&ZCWbB|zVj$K8y5no-aj zxhd^D;v<;^r>k(r(CkTIY~KB*F4O51ym8h^Ff8B2-*d1eiI;e;>G?v+9}W1m2-{sv zQXpK~{)86BLrpeP>Kz!XMTdVec)JkzBnyaS_Uep3PmY83zq~nxgIczs9&y#CuzUL4 zzPf0h*t-0@(|_yQnqCQ>+^RuH_tM8^CI)mzH$U6sUJg=88bMXygv6;cjUax2hfBf; zM)I5_yvy5!U&4qHHyt@)Ra)#Qko=LLj;n+mx`RK=2uAUoB%;gRi+~a z)UKuV0Lsvpf>m|D$$vTuvb!G`USp%)C__19?8lfxIkl4?pHHcu72YUp$n~o~uy{s| zU^LH3BD+jX_(y^N680!*o-0^vqQHHv~|L;wDXkt`!)XD^A|1tb6_t4AyjQo)apa>x9 zIuZE*y(=%SLb<9wZje?BBTU^R_dK8H)Yn3kMI5<*(U?aJR1ID9i#BxKVZ<;6i* z*=^N-Rzil{J$EAi5FQUx|J`Ro;J=Ee4pAS7h-){N(W$|kG{4@Ld2;pyQ+W3EhIikn ze2Aj?WDQkak>kGI4>W~F&%0{U<9N00ue>1#gDYO<&404k)2~P|u4inutW&dsKPm75 z`E6#)@v;ZJDOS8)u2xNf!SBIzlka3q|4tip`xx}$yxYEk*lIq7w`@25 ziCxW7Km4^vW!){`v>s8oN}tE*FqkLPE9}cU@Y$2mO7y@{C03|!!O0*N$W#7c;;CAp|8Sg|Jrf7)Qo7O4R(3kKJJCt9V#>UZ<}&e*Wa)Fke!k%8 zKu{SJW3^_0c*-p7;~{47LO{Z`OSvR(+5}9J*v#%v7^Nf-cD2#!Sf^4{UBC z#NBV#nqJ4>i*+MlxLRxcvbgyxEP#lZ`l7zsc9xajQ3m85!wvSZkY3=lc+)hNB6v1n zjZZ(GekUTJFQn~QAgeLW5nz9<^un?h#%F>6ZfTz%c#zkIQ+e7zJV0g?vY16)w2m)1 znSo!1dt-{ZG@xXc@wlP?k^1;Hn`0F=$`zvNWLnSbv|w#b{#d1Av?E9M*e-7*A+w21 z?bWkv$DsIVR<&bCul#tVHO^pnG}ACbbvZ&vE^42g-K+1;D+tQ_6H^ZT$#i z7`k)Oagw^k!GSd{5)hg(ct3=?B*rcxc~*s>^>c%Op7q;es1cS65juL3;Rvpb<7a&D z;n2sicKE>fu9jVxu0upTmwP&$85zzmTu(08cK>#31q~GD+@jMF9>};+4r<1rv*SZ4 z1?04K2M3*k7b`MhlE&`kRx&PN&pi~4r`#q6Du2%h-P>e=`PD;Q^q8r!_*H#@O7rKWxDII?Te_e61>wkD$kjtm%iN?$(Ft2<*g!;BsKG!XY7 zw_tGWUu*W}Cnxymkb;EXSP!nh1&%n;Vz0g#%AsuF&cbXu_*YdWRhB1wpn#rD z774ocz=XGtS0NJE+3xh=h7jdZU{2229pTJ11U~pJ*b>gE*mmIPI6gFSj}vwXQP4u! zrA_D5#pDV1LbT-cLra66x$~scG7y5n0Fgh+d%Iz^RnPW2fx6ivb7bn9eYit{-e1o_ z63_9pmG;6|2d7-0=fh2=O(uvDTXW1Y1_QGI!dF{Z)M?q(sv%*p%k-?ecesbam~mWv z!}^i&i7O#@gOhc9sxgu6WXad@iCnI~LMXNwlntx_ffO`?n!@@WJz6B&7C;O7ZSfcS z8FK7H%x_Y1&~nKh#dm9yW*IJ^&Q4inXZCXRwKDiGKDHS|cYp14pX9t;s_@rG{2ynu z8WhjE7;K7R1OKcy@iZDNOQ(b{Ix{;6Llw!X_{^}5F(Bu8T}A2GWrW+hGAnYZ4q1~! z&YvcEgg`lc>0g_C0LSe|IRV7ttO()RRD3XXUS!o%)N9ZtI&!hMY468_bVSL9kO6?=OkllWat+faZl;sgS1E{=(#{L5LUcZ+PxR)t7#xRk8 z)G5koa1_aDax8Hstdpm$hqs2&F^b%vMsCRV>Fv54P4B8&RA!jo<}vLO3Q6J{Dj*O| zE<*KRS#;++)kcF-&4C~he#yq5>`RNFuv7WpUV@@qW}GDdey8OXNdD&$*I4Yq=+}kP zAnd^fu~)wL5qO-Ny8L5)l7*3yP^YiAXBh*cNCV9ZiVwoZ1*hH3@uG)9U*W*?y&*7Q zWTSma+yTVP%o_in$B8n5uY#gv zT@V0!5%>`3kCm!T`HrNev=S)#^n>84a?Grm=a_|LU_?QM8@Ihq8Bt^2e;+P*Y^LWg zYM9>FtPI!omnGWOgfQjj3%k#JycP29lXA8hWcq?b446TVepzXNir)G`ox6?@o$C*@aER*aQ_XY(l-HfnQFk{!>h&qhx5I%qPqAonOEAJos zs`yWwg43^uA}0E=qhYxHV5)1%L-@%E;r4C}|SPyAh}q^ZpZZCHclsPQ1P^_&S;!!DrCOARDK1 zuB`M&P&5DB^be_kObG=5e^0ln@5N)3+!$_bme3~54Sd>3x;bgslk~Day={}AW!^)I z)-q*g08nNh9BWeEKgh6jaCC^
    H1t(wyd3$vvU5#iuzQnUJQU#)-Un!10aWwn2# zLaOF#!a7b*w$iMN$hRVcK-S}rS6_A(7eG&qo^N7AK_SlD9S>LvdV;Um`^!qRcZBTv z0A2{^QBgW!M_DyALdC5t?msx`!`K6fzIQ_702WqIoNIA7)n_EirIHjgb^%Jl0kNmr(BeoE2~$=BO+El=26U22~TkJI?Fj)b3eaM+OcEZG!K4Sqs66q`sKv$^QC8O(@MSZ?rZ`+AsYY5 z--82teQ3(Os?6upwfX9vp^3kz?^<5L^|YRHMHfW@5Wdnq@kh@FFKa4} z-+8;DDb*%=76d7nR|TvqJQ#?l0KANp;cYCwpR_a8Ui0UVa<7)@7U~ySR4cl?Z9{=p zRLBen_9&+m3A`NdJsIs;WlF zv5Nhy3O>nQLd~=Q_nNgoRsc>wB_w{9hH+y$C!M=}7f<6K&dJf99m4DIRc5-*H2kWg zt^GvThPm_NJ%=Ar8d|}Rz)T*;rh@Fh$7hMx#DVb8!!e0YS;3!f^6guCEPtz??)pks zeltl`gBgRg%hneY{X!9I@F}A8T9(cOOVgl}6SEX79ZTQS5J$tKdlk2`d0WnL>jp$d zk3PN+Ihp6EpfrWTK{ttfmyD2a)U+a@P7Hu3Bhkm1WPVf#>;f`^-%~Bb>pow5(h^6?yjrIwA&&_`#6oI^0r|`L4DtTI| zY2x&z;4(c3WxthclIeu9-EJKwL=YtMA0U)*VQfurjoDMx=Q2GNp$m?5X&*daE?(*2Z*aBKj&moX~>Ddye;m|;$myB<|9&A?#*np%p5XR zJ5&j^HoG>?W^-*>>ranNT^i8d|p2;maHtlUEJ!Lp|YnIw}u&Y1KYl>$%%A?V-*Nsb0d9c zRmJTl!qRRSIU7)uJ}yH9<{ufzk-0EEK~aA*rgG|8hmH+TAoG`N{6F5{_k-3Znf28h z1x~gXnH$xqt|7cT;gKd5_55WPPkKkJ{t`i~U7p~(`(fSvKnA0($&mFf?i}^wSa~H3 ziSV>eUP!8)2S&UZ8c8Rl%G!}|;7ggDw*(O?Y0&FpxS{VGJV==ZIRk^uH65TMM}Gwg zw-sj>`goSpAqjPllupe-5QjRhpzoy_Y#@mAB4iWY@9Jh9(I2tJB#qg!t@1bH@pAu;<~h0F9o9@O#8YP?F7<|q zCQd1AyC6os;7E=PqNdAii@9g*X><02;`q08#DAQO6S$Xh>uGUg%I}|(OEO5^M$u!7 zjS?DA%W40Jr{;VcnOVW3TY(ONLvaAD_&2J60abi)h=`MC2e9ho8s*dAh5X1RY`?Xt z^;rr7Ql2%D^0dNW@id!BDMrxZDmgqdzA7NEV0d6EtNUzldEV8)61h-(rns2AYA^3m zkN`$1jx!HOnj?ap@O*F9ZJc&lzCpq(@#n5*pAfm?*_3C``)jLdO#7E~!eS=Vv-{Nc z0G%r)I@hrjLtmgiyIj^DFT-A)jzZjT(uKV#Hl4EXWCW1g1U~*NaT<;y=kBM3J!tW! z@j3%9uSVW@QDpjuPRAxVj_Vnp3i$Qy9GUa=&yQ!BX zLIOXn64dK(r-sVO^zJW{)TE^(E`$aZLE-}Lf-V)OJxnaqZwJz-P*jepe`W1Di$VTTYM zC_ITXr%o+6Oda0)aj#P#8AgK!b9xXcd2$!Twb5>@gE#4y#Zmf5<=}(_%c98Ek3GI* z;*5-LxS;c{5?B%}M~S8Z$aFN;0gXSQw8zWCJt;j-Vi5uL9tGkg1j>ys3t!>ogW^{F?->c5V5{*AaV-DSMZxMwdS-tHQ^XpEJX7U-k<>U0vW4{L%K2qyqXv86rBp_s-0AK2-5?V*w zziDP7-yMlaOj__=pQ`MML9*HgfQ>Qk6P#<%iyy>5><>}n>~QyTyyLP|#?vJZ?h*wT zDw57ha438e4~SCt#?fNe zeIq@}MNE0m8BsQTWI8wh73%u?uEr5gR>vuJHI?W`<^;$M(S?7^$DY|&`Y+@;STjgZ zWcr-k!KgS`jgIA>nwCuF=X;Wi?a)h6N<&V&+Yj*!KWbS%oj*o>EwOumD1L zE|;<0@>ZX;ktR0p9lBpN88r62P5b#yyatkjlQDay5e$CV{ z^@~3F=XF(EY-&!Hg-9TjTM~=-qQriOZoXjolTi4kiXdjJkI0U|nGJ(s#vMmIjgC?V z{x>F9`-Fr(Xl0b^V&CWW<^rq+T@E^z-#ZAI&4wgZP)W(}eQ>ZGgq1~0oDcp^4n`Q_ zEiQBqZqg)^gAatf!x+FMJYjf9bZ)fq!fcx%%w5IY5J+jE*FquCMlzWo2Y~mF)61JY zMf?G8U1rf~v5V%KBY*O%d4IpU{_F&UTSpmu3ONIv2*!MsgOz_ze|*DQMENeDV>nS4 zRD`>&pjQ3mprOpPm7NQLz_&C2SI#-IwF#__abk8Zk_p(SHP!v|RAWd%;)$v~)PQz% zH%^O&ck}qI(cW1_WsjEY$luxdO(Aj+N;izMC+(Rb7;X?90*95mEu78$SNb1HYCY*i^}3rIMY;j z@x?`3j`K$_3x%f)sf(x{b)^Rsul6|h_e`ophV8&0Fp5rcR-B!~pz=zGn!`ZVbSi z(1qS;5-TiHThb^kovUzp>l%u{n@b%_z`IzYV6&ww=li{qiS(>r@#E9d*^}zFXKG)p z;;nkYCxSf)!8t+>Rspd(iK3v=Y`NQW<`wFk9Dj-fAC#ov zDuZN`(xM4>Axwd1EaY+pTl}kW9P+v}y2)=m+aAqUHTIk|{vY+JU9%u!9!uBdmz3*c zj@(s@wl?e`8_UE}OF@&bi}CD?EWCSe@E*tUiV6OPeQD&G48I4aX@pA}sYVT$#W**u zQ?chj^Z+)-Y}?pF7WP1eeg}?g>Bjqp4OQRXnGQYL!pU&b5}3pxB2dJ$k8-%uGL7^0 zVav14bt0UCp4aGynO*Ao4#N>9^VI#gztPv6*y&_b`Owe-H_cexjL!!_BOzUz>Y%Fg z1^XyEhy!*kB<@TQb%r6%MGf90TL)Z|szz{G6Tli}@3OB;hFn>LfvZ+7hI|?rA=bJ2 z67vb333#^dNlPg>;+`@-_KZ&xiGF3v;yyMNwG^b06GeV1p; z@SwcPQa~mR9ZEzT8lh49r@Ow{4^b7F{YbEAs6Zz^m1Odj&kIJN>*fA&YeXIpWchYn zk}5P0;=%|Zncti+o($r_zw=du_4!oHH2jttI}gGJDW#UogNQ*9sU!aao}Eq&tCr$+ zI|_vzqb=*VY?)>qhaVoWzhYEV7C;!lIAKr2xuc`FwD`AqC^PO-^!}0q@FrX<<)b$Y z({iNITxLd*%!)`NTLLW{ML(qH>ZxYI^<;uwy{A7+=&`POK?u)D1_&_D+W~@FM=V0e ztFZE48@p>X9g>j#FkatQ+s`5pLcy4)c=Yx;{`B;DSzyc5%g?p_#KP8|D{$q;qeF2C zY?Z*Bcvm*q*w*n1)-z#W4!!exDdKWUG6xG9Cl~K_(`5~cQb|QDgyNgl% zZ>GOpUfk2Pa^L)-wGH>7a@L?i;(}TJFuB*L9j&J(SBptKnwr5maVF^J`t$w-zk#YG zcdO-j$2A@aHcn-7#>QYSb2uE9^mM9AIR&XEmS&t|dLtNL>~N=|s)q0MvP1F@(zAir3(wZBwPV&X-XiD=bSQTsLbhr7k^G$ zae^6`g6!*KdG)szk$MEGcHgsbT2kg`QSzeeas?%YllabXb`_c^X0DJKH##9)iU29? zWEnx`bleDX{`gp!b}liYd=}ZzClpwKv^n?ZAOqqRBYQ6_dYzzGbk$*yR#HsWJaGq5 zv5};fJH7odS}lL5=PRntLQ1bFhe}(?E7+sVtt)8lovQi0_GqRBJNQ=rw`%ueY;(;) zP?+FLX-w3628@(~Yx<;MM4o@2+oEbrTIAWN0?Xd_AGKLZb^s37|- zMX$%@>IfnAD@;^DbtKP5uq!`MpsN!+U=NQYQ1_D-yW{(19@weJl?89Knu?{TLHtkD z!Vj{z#G#Y)DM8NKQSjze>I{p|84DK7Qt27<7G%RMeh-u{8Y zS)-T(Inp4cL?c|XX@LQ2z5#HR{*YfB)mPf1i^(RP(U?ry7iJ|(=g!K~r5sMpwz%fjZ|P@*5&F8R=@@9$9U^D zpN^fHwa}p&bfLy{m(`APpHO^eo1Yv!!=l6P zfG;MUKj5v|oLl8f-kXJBA6^ZhA;y)hH0k`&#QJA&;xIY7K&ofqlsNYu|ALfl6G4iZ zV|TVWihvX$d7*%OrU>hY)$vWGm!Ik|$8;S@pd&P-?onF0VTUaZP`?_OVcc{REUhtZ zbJ0?4iAP3zPGPG1^gY&k}N5 z2uXOGh+djJb$Wubz~o^qU5|c_=9tSz@1hxA0|g+ z8CuuAV}D`TL&p5M@KOl7jq_3jOXiGioqOJ8T6%7%4 z&ztO(Wuev4=c6ydQt9@i~79~GwB z?SU@|yExF3dBQa~XM5@?MQei*EsO&Orxz6H!;&2yn|2Q!r+&I+2}ucJOnBdW&@I5dD-61DAgLr@w4J`>*}En^|jU zECB|Yr|uBG2{f4Xv7n_d^Z4-95uf7QcYV*htXW0Niz{q#n?HH-`sX|qJYWDa9JNH= zeKS|Xmt|Uk7lc93Z`-(S$Dk|xN8UlguaAL)Q5&<)ZSF){f8>9;f_od8ojK7(1zQAn z5myvkzWvx z@hc5_?hLfyg(wWj5jywdo(!*19}^`G^G(frNQ?TlF6?GSHNE+jPME~4uwgL6s{+_) zX83t=ICIrg76|N=2@P7Jb)CNv#ujr{NIms4tlU4rmISjYq7oS!H5Ro$f9=@huoBHB zSHcP@hL2i)1;M_NC@#X9i75P_Ut2e@ily+sw_k8`TCj888IdEzUWAC)@w&s+c|6Iv zJ5t@doF23lAv`i1c5zh63vg z#i&+$kvitRjTu(TggKg2<&*$kf+dUkz!un3XG7ykEF6e#mmGmBmCqqe{F^rSrWbLo z(Wi=vn8EfNwE_H6e6gW40}%VBnDmHLW2Lp+zJW?Vn+?^Md2pVz6`3r79twxTQmV-Y z<4~`36Vb3|P2Va@uj}8meZbT&{AUXRh)3=Qn8Yp?3msFT@lqaNumo`uHX@%t%v5ZPL4?B;;{8oFU3Egtn3qu1Z z_u%I_?wOoJHC9;eOz=;}{1VV~hWs)h8vdK^EV3pd zAskEa&rVDJ_tJ$vnzds72`LDr5luADW?VX&4{NT~04CrtS3mdemi~E2jf``at<-eHW*o7?(kmZRIsStM$>gAafCTjJw4BdHxH5SLSp@&hdM2+(u8CBwtQz`fA zapjBE?wKR%e^VjK7h)(W>Lu5*QckuC4;S7Ksj7arx@OB9TMZJHRSuiy~W@+w-OOeK1qcC7so)fyN- z843s)CX16^KaQ|n@N7eCn!Jf^T~HI{Bt%dj*!;kb*Fto|uL(B2vWWjmfg!_HQ<>jl zSlWt<17v&8dNX>L!eLP?Ex>>2qRcvInk>X}O{y3wLl&MWBys~$fwZzZ8L1S*@j^6b zCH`!MEi#C5L@#|27i)ULgK88Qior30C>Sw5DTO@UkLVV;Jrp^h~{;o67Cqd2xS8ks0=&PQ@ z%X#nJyTIQApqbpM}Bl@l#!v-85RlrnbtCWSq=yU`_1O17f&}l@RQSN})zn+vEhAnN)R#QY!&;Xk^~S zudOU>LZA~qcLt9Jku^v%6>ad#2>vh?$V zQ6Zu#zPNSzH?SS4gQpw^`nU!EK8u8`0miN!MpkusFs%9G{Pzl?)uC>Rno0Uhw>@{baOUa1T6B1MQ#1 z|~0sv5igssl?NXxyQu6QrctPh#M_h(|(p_ z!LmsNtpgMcZZZserBI}x$%5yBosU~}N3)N|)E?Dqh+@jUlwB4v@;;8mj4aRO9%9s~ z_<5dmTW0~(Sh`56@B^M-vXfE5q_xA`M+fmX9MZvvs}FdLWFROfr=;r%6Eiss>5#Ab zBn(F6NqqAC6A`W$HM0HjHQuD{`pP@5dPU;=5`euDDH?IZ_+Ue~#e7xprCnvwXB0#B zh_lm83W)Y-1rf?!^S21>?E{BKQziESPqh7H3H}f*Xa6%&bh+2Wo-w9kX8<;Xlg?Cg z@p2+|2Cz&`Rj>1e*h9JltH15hxxnZB8tdiw_gzaU#1yHR zGH|}BM?khMo~}}0ww?DLaH>|Sy6Y%<$sfMf`K5pN7fViKl=^1m-SA?NW(pLc920+^ z(t_h3kQ#8`vBdjJBG@q#ROeia_$@2oQ*Dwe%poMC*4@blT& zqY|Tw!^*aa6l7nha&`xcqP+yZXx^E(_mxwU(MQkodT`^#imQ7;a`%`tq9CFQ1M&urRR5WtpvlxKO0jlR zV#qg{x(k}IN3SA_YI26OD+h{jv2uiS*wh zkGhO#3M}kfvM(obL*WudtbY+!`nub(ns3)wDoK3eykbS49KK1gVXF%6!u;3nM}jHV z7~YCAp_Ex=SAgT8J9S1D;W%>So4?w37F@a(A)`abyc%pDM+Kt-Z)Zxg2rT?5$+<{R z$=?HYO#(=@f-yP@buGyP{xi9jh|RyJaVJzvJPa!Z%zeat>{BT&oXBly+tx@wRZ`;T z>f*jL8p=pva#+yeEigRLbI(gyS+}I2=3_LdC z*Op7_yeX5e${a|aAFx>(nn%$HYsnI^SPc{pTAEN}!|TE}iXyw(SBkR!@ZT4;^V*=6 z2j2;o9UY6Y18zo@e)&L4%^WZaU08wR=@yIpAS|%DvnbCk8-~!OifGbW8L`LLm291L z8<&;gLZhr^%41S+9*SIl$D(Q)uhyDlu8Z@*fY-14{OM}dGz$5I>kst7v-AMqmaDe% zEf2BB?mc&NTq`J@fv9DQm1X0SAe_#iC<1~D@)I)_aEX39JQ+&RcM9K!Ra#V#)>lj| zyxMlmCd9eH4p5M`DN%wGJ)ar)AM7m_I`Tk=EO=my*Gn?35nKv?4EvVl{s1fBPRn>B z-Wmo`e&#U)FoW0?xdUXpI8RU|S&SQtL`ah5QQcafV#2W!6onCuJ>4Pr4|U%%7I6)x zH2R;Cgq|5EXx-`9fcz>l14{p=1y^kY<7eFo$dG zG0X+js5KquEI>qmri@pd=6i~qC_>JpGhV!j=Nf{|W@2q*pO6JN9Ty|C=3LsaIEO-8 z+K?BK7x^)gu!)7mt{Vb=0HQ!tD_Arbq6cI`o{a25QO2{zW1f6WbkX%$G#oE>Opu~_ z_am3kOSY@aay@_e_ydRk1)fLh-7J0^SIF77yu%-YX$5wF@XF}oG$V5*$7cjIl@_Ou z0Hu3N*Cs)L1=Ftq0GKGjg$8W5!wu!=Qt`w1jz;4H=qWSDs;J9eyJm+rDyNmMu= zQMukh6 zb9tWn3YE00pIb;D}GcMk1$}>A^&#zXDQ5Koj@+)}6wCdU+!{6kd6vjp&Ez$5}gRNJQ0Y z2u=>wEeHCq-)*zApY?nFOU+?H&G+pZo$~+}n|7NkGHcJ0D26Rs9lgdu9#Dfbq)~4C z2=9ei#R(N7ZZ1mjo_j1J3Z}A8^maNvV4jbq2rJUwM1?(KmJF}PE_va@qrO+u862P} z1H$`%Nz}B@&ImikIz+OBFCXu@qY;Sn!vnEoR$}N!R|H@KRAZ_=dfCL>Su6Z{4sR7I1Fko+yiv? zi@WF!slcMH-F$Z&TV0Y^2G=Fe@eD#Nf&svP^gK9s9%qcD-$7)O_L!t-phOo-F#)I+ zws@G$7|J9QA<`^1rw}w94+9DKED&rirM(#_+QuE@WP~4H5L=yeBn~&8`(>_uCxw_> zdLHvkbAwmcKt|OhkX?hqwoSSD$Tm=e|K$WN-F6OFfiyx;=eAfxU+n>QHw9fvbcOVP zh}14On-%b&kfQ{LiAc+Zj5e=u!A2l6p{$Q*96g!VF$bQO=SPAuUQ(1a93!H8;wD7p zcTL_zrYybd5~va7pI-c?O6L;7=UR7jXASegA ze@A_fc}-J;`tp&vf-^}#ciGvPgL!d(f@oac`BEn-odkTW!72$FN$i5 z<+5*kh2s(6$MqbSg5de+>4u#t7rWWQ_BWswR2J1%%7Ie17z<~&7dQ3yH+Tqt4sQ$X zM;U`&9OsLf%QTSDjU-8|#F%G`&5A0jQOT6NqiY?gWPNB*-p z#IfVgo(nwt|6DdVDn=fBUc}D=Dpaep2f!U9KY5x*0B6GttRE&h29Z+8@^Jk%dCdnWQ(5ohKDHDkbz~iwzpoT4ir>-emwi+ru;sR0; zNv(dbdv)6y)@Nh?7rTy=!k<4)hI$QWNC<2ydD2aD0UJpe6WS7m2o6Eu7cG=!$%agU z5^L-DQwL`88-G>Qc&8&<{Gq+-2duylmC&!ZTT2i0;DM>x&A8f32=EbqxfZ|;Nf!2V z);$g^g~lW(oe<5LlQ?%?0U~ku#G^+xN{vLclu<~+&QBmpY3>fP5T5wwPgfiIjPqX1 zf+qc9pVsR*$SMBopQ5hfr`=AwML*ELenRr|(~M7%wL$or1%JF4ymM_pZgjh&O|Zy{ z`6Iga1>UFw&g$+9oqXLFI=Qc4;Q$)`9eh1k)ZmnVx2~dR-~kVkys|^Vit=?${Nt^ zL$Y)weR5os3yYj^wtttY;nPhk;_3OSpUzj)n0C9-Tfq`k!R67SjywAh9fbH;Ug*sd zU);YXZhd8VNsQQzL|2IODPMb)Y`RFww+O!VGw2p8t`}EOOTAz1V)x6Xm8`g6&2Fog zE_od8S84ZaS^V06zhxG^W5SB%nDK4nK4()jToHRu+OgJ0ls5Sliq)pd@IS^kxO^bhmjmfx(^QetV130yS;ZW<8$;3w`fI17VOf77FeZNbT}cy#%jf921o zEK3-9s?qRO7(V;BwB3BeF5S@eQy_IBXDl9+;vV8{a0GFv@L#dIuYskiq>Y~}->?KE z7p0u9SU_wtMQicJ_vfDmZ*R{y+J3%$*XMtIqphKT2xUZex=}3PA0-c4<6|V}RU~Sm zM^48V1)o^(nx)i*;L!s~TQZO#GT!^v)B;k7G+C)byzqYR_`8(`Ivv^YBtzTOxb38t z*=)DkYM0Mwm)mBS+hmt3U#^uaU#_)k@VED!R3FEdC;ZfPSvhMT8>y;SZBrZ7 zgblrah!#^Cju%#N+S_LR?@Jfem(WBNWRRp_M*&7LLLQK9D`YFHx9aw&wx)Clp7tJe zR{iRc<=$csrI}Q=z?hSxHwn{$KoeXZ=bOX1i2A&hU$Za31p`ctL8(gy)z5%`GK|Un zB(oai?-*CMIZv5(y74r~Q~f91~{_m8{BC%twfHI*;&gk?+R>-CS` z{Pv&!d!s^Z{1jTrJo{4~I6Gu31q-}DYO4?=;QSJL(ck~XFH$YA&CLRTj@9Dd>z0cZ zW$Buu<%!dYxorDG3+ExyLg3*~7&@gl5h%1$SG!P6Tdr7st;Qc$w3$tk5#V|oZTT7gHsVn93#EDLrS*AW&+ZP9Ze)Ew6LgjtM zqi0|6f|5~z3S(0$wT;nd+7v^F&4n&Gya&#ln}{d^9?_j}9-{``S%_-yVovWX8DqK$ zEQ?vT8QLl0YkAr);`1iMIBPT(=6f%HumU^h($+L#tY|DSYKfXuOJq$=#VxTC!dK6h z@uJC!kLUIn)43+oCuh<^tkdO!V#X5@%D7-|4SfUL+{4vKV!)g5(E(JPfy9H7w>SGpBXMcPd_>5=icq6rP_9gql;E*+)67daB>ZZS6DET>3K{h zVxmiapNwWFPga+8I~>_%mEKZlO5q~CNlV)SO}0W44D*QEewOBx+KO_dH0z;4i^4@D z(#yGL65o>v5~xp4T$?zMB~n&@6FNOA#zTg^JquR~STZBDP@>vW z0%H>TG2eUUeCLH2BJC{ei?6aiC=Mw~EJsjeDA}L>GA6oHbjF$H|6*rDlZv=lOQw|3 z&f2APqAUx%`cvJz;}7wFpNHWXh#&KhHU|MOl)7E=qgONe(IawfC4>OgrOqG8Tp%FD z1J4~l>27)bO@@R-1!~y=vgE3-ZgjpUAd=ayzoYf1I`63x&T9946(3D?-{bi^?!%7O zy5P^RuJh;fVjbc}fi(Jicj9Q5Znk1;1y;ADttU=-aiOZIAWO`D1Co{xuB=8zf;V>w z#x1LrZgt`yR*D8v3R;-BXqf&Azx3ex_C_1<2>b0ygkd%eS^s%`O&VB)?o;G2NIGPE zQTiJEp!UG1Xx8=no4R%T{wA*chw{z!ct1evJ#Mw zV8``Pv>mM|PkotxYB|+qu6Y&WYi3Mz$MUC|KMiJEkBU$ir@2^&W$jJcb&-k}UVj?A_~GLK2-bC?P0QXa?p9VkmsQ=9v~@!-qawIf4}Guh z!|?SqTE8QI^JrY+uBdWCPO?(8khoBBvfGGS`_pE!s|VVX0o-^vmZ(w@aeK_~ci<24 zW27a@!b+%`V3C7O06ijZt6l5aZ^sXp^h>-D&R-N{KipO&)I)igWp`acG?f3}eG^q6s&eM=Vzc}LKJNXaMXDJ8 zWOr|AC8w=Mqp|gJVh6lJ4$)78uJ_mxA35P4mFsSEv&$3i%DvfWdmT*Nhe0?L9n83- z=YMqU^~pGUbJs<2MiE_|h)R$xk9fm3^bY#bK2_N;-8q=-&B3+U1@GWVtJ`dzG+VuY zQcA6~`Q3_{*ILJ&c>2S~ED!gN5^DE{kE=x2rR6@NYwm?|PeinH!ye$1kGjMqbZs|} zTg_g#U79a@^>ySCdY|51EXlzXaY#J{HIYt??~p_8{NgI3pT2BYwl^|bjec*H(75(i zJOaCg<#pQ4&er^OL5~%~KA|T2g6}(jy24y<>fh2AZ@&b4xZI8Gbj8J`pODKsAZcH7 zGl_Q28wuWsfDa9}%p8AJsg(@ewb^KOdoAFxd(U3m2lo18*X^C_87xXN{Q+3Y+i7VL z1&?;yDjZ{McRWTrkLAduQso9#M9*PsiUo5M$kV*aRZt z(ES2miY?TXmN~o~FR#hNt5u@wfhtjAg_h||H>i&fj9ZJb{dV zM%y(nZme<1>(jdnRJ%1S*Xqk;b6@b4_(jf4X0$FDfXK7k{s;e0O}ljOnc)T%iZyf{ zRuKVcz9_wAOh93)LE6h(>sS__LToH>V&v@(?1x zBKePr2Sv`UKJ*zj90#FO6#6li=AjDg0K9w440S$slAiFLBRCg!y_-PT(f0g4 zvOVVvg}sF@aQLBX&KF||l@drw2q7=QHyV-gY{~RJWI)<2>}3UqKz^(Y*IQjflI$+W zA~silh9WK%`B)nz*vuP<*vuP;*xWJTPy3C`7L*NJ?6#82)U|ZUic1q8U zesxM@nS~c|ER4$_L&2^5gk1nZS}&^=O{s)yZ937(I>N>)!SSuBZEbu^oEf3`m}bQK zAws8$wpap@nxH0bK>;M*v>{CCsllsS$pZ)=QJu56iq#{3 z6ya~yIyvg+!5!@E!yPQV2yqAh#hR67C|qn)a3($xaJNVU1e9JS2WJ zJ4IH$7>0*A)#%wS#H{otk;wqPag8WJ6Wi@O$8kET!aUF3#mWZg z%+y6ZP#ns_!^D^Jrc>g~dneuF)=8sKp!p;EMVtA2ep}7edc?W9k2qH|XXf~JKzz)} z+K)L|ugGMV3m!bWiTcn~y=Qxv5%F?OOCpKxV#17aS_MBb8_}@5A;rxsr4jntFCh?c z*~@}Gtgq3XA&{nXeBA7{S|^=7=M_`k33WRvtne5#0fa_x{u5{Ck3MZnOq??=mEi&u ze;W1EjCnsz+;Hb{Y1>9-rQQ95HdY|*qY*RB^YDvhTe>&LE_&yN;fBuhwH4@cGn`xM zVms(I;$^5P?n;!d|MBghqPAW)P0gjIp~-jSR?0(cgvMEG(o^%plBcGK1Lpag8TM2* zywvA|K=*=MtEAGKrLGXo07!h3(w?c$e>EQ$?Q5?Z@Qvq&*^1Dr)h+?8ng_fp&!uE}egMezar6UYd#KCa3QS6%)&ne6(kx-Kq_23N z2q&0O8_@(k>%FdFUt^K}>1%_~fnkf`;tCJCilU7JhL(zttped8~;Xhk>rs0 zJr+Sg5=opKh@;K0dpJ4drSrpde~l1B?|ArEBtW>0e_y|<472F0J2Yd*a4!we>b!Os>sDx zxvBS%&Myp2Yf{MAPZ{!Vz}k5! zl^9`nPixl}%pH6L9hQr~uZhc!Zi*|lv>jo8d-@kRF^9vIwd{d4cJv_h*q&e8_`*gNg~Y-SH~4Ua zzvdf!;ZA3+&xE9W3*+tIT5lD>*r4@V(#{NO=3ZP+eE7+3=OmbJUutmM%ZU$ebvNn7 zy~){s@``^wen)xqf9P9^F12-U`Yi0}j26u^o2x?|ztw5+XwT-xb8fQH{X4&=4H!3W z{`Qx@(nf(DPc1Bo=VK=@pBZY-Drm;iD@Kl{DR#(KO-=`%kPE?NsnD10u`$Fh4?df{ zwUSGO{QUkrDlh;0!8^--b{HA?z2h?Zzt`_|UORwFlKPtMf9hu3)0rq4b~F&d1K3_c zloj8IvI0>7#XVGGT!*SkzzR1}K{@sVq ze!ymRNjT~?fANj{BH;lL71gkm8eq~L<2)~eIEyPedh_pD9~7Gs8H#5|*qY>bsQG?_ zi#GY6+L@MfK){PSujlW%2vIEKd#3TxKynYpfTX|Jr*#6&DgNu9;-=l*PP@fnhX48r z6H0!X@p1SF-xOHP$BO}PBK;nugl(3?n=}7}!p2sse;F{|c7(5rR7X{yy5HbK{Z=EqPo=MS>@LVt5 zDOSihf75hh%4$F>iw<^4&F46Ne}KneNd8sP0Wpni!1J}wvoYW~)lDTG&XtbFT(iSB_Abt{Ot#zig`zJ*PN+nf)E-+AGCWWj8Wc+J}6|*gW3VZRVK_MbXh1jldV_wi~ ze;wBv@K3YwXmAA*j0(RfIv9qk|BLJ3Fy~X|!PTl?gU$#Non3fHPxmK@1=2S;hf9k2 zf6n}NRycPY7e>-;2$2fhz4btYh@T|=DRj!r9Zg5(;wBSuGO=)iJ}K+|Iaha>S08N9f!e-1j{I<1bv=t&w%1bJxhq5v|Bcb)g~Op_`kyD~U$gv>65N-4+Jjh8qFBMPdp`t=$6U)n zv^ar}88|4w)_Hp3}i;5LZGZl2VL?tN}gXwVD2C#Zub`)0Uhob!? z58n0{Ui52Po@MGK}2RzFk;a`=`#b798Nbttfz=ua$_#tmRuJOlOp(Iy7mPYbayJEm6rhu0x5rQ z=q{Kn00qp?wQ>TfHJ*q|Np}ZB<;|Z%3YA~Q6C@9OjrZ(+a1Ulwg0m^C_=aRT96W0^oE-;6htQ6rZ1o*?n{jL4M)f zN1<)c?D9g9R^j+4s%j`g3p^%D6G=e>!eDjDm&HhoQ z@CQk1fCgd*<9H*R__;B;<3LHEgWNQQ8$>)!ZUK`7!obCxC}uN#W3T6+yUiE*rr8$x7&_iQpTK`Bn!~I4e$kLT-exK1?>5R3M9!*&@kHNpgkH*jR9aTj zc+`Lb9{zYSP@amzF4V^j!=*Anc9wciv{Ry1ur}V*{+{tH8w2~O^NC%b$0aF^G?mS8 z=@%r&wO70kSKM=*pWR`SbwtfFybxA#z(ZWBjHiuO z9Sla9=VD*Ybex9;T?a6+C|}5Q~LYsUo6E7(t zPNy6-_C-fwH9JEvol|X-`!VZSTBZlDZbEqu;<{TH@<;oL^^%G5oX0-1=(D8 ztY3AWLzr(30L4?1W3s+r0O%L-6)1Ps*OBz|3I9n3cx09WVCH|sq*-4a1KK-i{NyVy zQB=EfbzYAxz9|;zhf7zh9C;MIDcCcqI?|%crB%OZ)dyjy)~c79;hYiaVqUQuk!k0V z*d+PtOxn!XG8iDMuY_VlskO+Y_{xDzy-t*S7ZrHck+9NWN{a`uPGSRfcCc=wL|WAs z<77a+@2h_!#{3C@*=lMv8hD?UeI(?VHBCG+^%bXf}X zNHPq}*q5S{T(cLUM{ah4bAFZVWQCqvE|)>*=HW8GcPEZ^nf)EkT5y&^tR=@x3PZs~ zz6^#EUAQtCO6HBP<|pg;#q;73>&Qzk9+4HO=ez=h9WZ~-;ZO-&0T2O#Ds`I(T-O%r zD0O8-(*v483Eh}!0qIBcp)o=7yN;Oufz9#E0FT3|o=_oCM9lJ{uqj;%jx*N=L1nmy9k7j~(a7(bd8drpw-=h}S-5`Qi4RDxMP)+^ZiFZ_{Cf&A zcipyz^%8e+yZVYsPbOYD#9wSP=sNJ}dOrB$RYm*g>4we8=MB$FgRg7akAjhy50OMlH^RBkyG7w@mvn@>XJMrYF{aUD0MKy_8}x!MA`loaSBI z!@~niiQ}UL3iBEh$F<$@ypHlUl2-bz{|AY&!PXcnU;@>|t8?8pOhUFTg zO_e%o?7Jlnq@I$Ck2X6sd0HG^;<$GKE}-qT=^W1q_eHmzKJuMJ`(OW9w4vfLAqgn_ ze(>=_jV~I11X1G-v+9cAsR38HHg?^yIJQ~+XV99e{EfPt(ywDBuxP7!UP_)Ml`kg$ zQKoQ{vItElGo1lKpMbNZ%~i7EH*1Yrzvg#-7IdNj!10=pWy}c`NDbi#nPV>BsP&H~ zfxA5sH)Uu`T{ub0CE@^FcgCE;p2}5=6^yzz^I&*?FNiBYa%r5-3IT+Aq#E~=Z}t>a zP^S@*K*ABrut^;kE{o474xt*jRk6jC3GwlK@i>utd}oqO=7@u=$nybyiY3`KB0EXc zKwK8LHk@mg?}sZj?HqOKR+yp;Q%eFQ>v%N+-Tz3lQ$%Rd1Gm9)8VD3I8l-JRK; zpKoUM*betEc>Sy-vptf)?}IAk1G`CSE*ZwrR zI?H_wj9nc+q?l*)+kCbke@M6#?0E?|l%MQ>agxt-fGHczA!F*I3yntkdP1^{okczw z(sf~5&D{JIGd%21Nx!i>Te4CYgja;qT(~TWRAb~qjDfi<8kF`}cb08wxLX8M4ot_V zj@K5h8c4?vwHHMb{Nehnw-Pdcj?4CVXC2b))NN5*oGWde?9$ea*bgXzN>jGlDjLOq z=lJKtMU!@4(JBB+LgPMPLn{~zDs3;QnqfV7ag)%e?FvqzZ0+3qNl#7VCXKtZO_R07 z$=GKI<6!%+1!@i$DIG1Ojk+!*;?q1-e`8k4G?by$MK`!%B_u6`6zTD zCM8Ruk!ds`w3GBS+GhNsL=qY!(#5HNXt&|eho~p3c#zPUD@GlJ)u=7(M9wLDS2{?? zB^M`V6O1>1+G3>W`S!gZN4&}Yk#qY-RfrVoXZTR!#x=LYd}>Kfs+qvb~UVfg;8Vi-aoM~Rx_=Erx27K<%SOGZJb z1#YuD%OdpY&QHGnk(TRzsr+%><=X}bJ$~`k%dcnEU%sP-0{#|tlm05gK^BQN35cC? zMB()pAKt$?JduyzL4&BvMd$~A&Wn|Pj%`mIFVN5N)9yeeq)PsDasEodOHjyHO?q8E zUAWR0QQ}7^bdSTNt2tWiWW&*2kE7cYaH0uVHJ0d!CIKNA%zS+DsV6jD<6sN*4PC*SxeV81w^cGah_@tStbPH{l=E zAmaOc$H`DFHN4$I%q5G+g};NQIuRFYlkFPc42t}oc3H1%y$QyQjpo3rp5BS?r$Fg* zyFr+$v#JpQJKfmn>-2B*VO?_J+_rHzf;A78!xkB>EmjGhg*TiqRXLqNd$PIulY-OS@6u2F35yY<5Wer6vWB zo7Bd;TYVQT^wdp+o9A`_e!Tol&KmKb)Pxy?-l;GPYIet*uw-w4vqbn7cWF6dX9CXj zOl+orcJc*4Jc+wl!b~5ObM49;E52%wtCs4dKzeuM>UX1SKM-SXJF-psFIIliYXb8v zMajYl6-_KuhW8AXn|wu4$#DmR)j|K%JAmD|hp>?)^`ikzEX}Ez$Bxi6 z)I}mov0~Iasg08qv*1sXxj;oPn?=Il7)~ZI%EU5G zhop^GD&wM>0fvKTrPMZ6l+3}~Of*7c-RNz855up+Br?WA@_oDnV&BT!GzT)wOv!yR zg)#xER9`b|sbo{fl;-S4S8JkoA=7Z_gmOv^=d8N#kh0u=GEx)JQzu@t`hpAf)-bic zwH7>wwS(z*j=^B|!53wPB>?J(UeX&WFEq}Jn*G+=U$(+AzHxeh?p{!zB-g%N^!#0^ z8GPeBEi2KBUViz{zvO39W@nlM%<{eVr|Pm85$a;p82)3;;xZ>`_?^0!57%TYk_7In zqu0=s;L}ZiCmG8~rY&W7XM%mkWHr6xZ-Lut(=RU0T%$ngKJbyd=*cUqHGp^2u;Nj& zh@l3><{G!yu!;+@Lv6On@-*j=^Vo1bH-jhHB*pPM@WHi+6N zH0vwUq;XL{(7TA$J-BJdWu;^!T}Hq5f-4C=<+7|DSCd?{qwWt zOy@U7>=ZN?9o*n%hjT@yLou>BudZf=QT7`%;F)JFFsz*`&VT{Ed~yj`gZCC`QQgr* zaxB24{A!T>nz}~RC}3q|CBYnk>;L5B=!iLgcS`@vl&eodmaO$3r8IC2(r#ReC7^Kk zoN?#+`zQ^*MSFkff&MmrNVrR{)qO!0-0N(DY>CV9xJ_eMs2g)_X0c^sH>!G_Eh4T( zbC~6y6j_5aBzin=P2v?XH%xz?$IGUvWNX?>%90(Fw|q+r$lg<{QG8pZ*)XM{myzCo zzU(yvJ@#(9O^h8cnua~~&er0VexIPrrx@mzz*vp)tRbn8!}DApv~k-wz$I^ZoFCE| zsjNnd)aJJOXhn7{hxprRIXKK<2HAFtL1VnW8&yU@|&; zzdbF>b?Ed0{f-pTc3adbjyi~8{XSjP%3wQ8K|h0?@&XiO-WMYdL}~MgUQdjFU0`+1 z=s-g!qT{aUs5tG4XZx}lES4&cE+pmgm1Jl_z!Cq@P1{+$5VQvleM0bp{=qqLfl2}l~0T4 z;LGPi(x!s83mEv0S#3aOjYw{PVN3X>4K%=T`&XNymTygkFuuF1I#Zge(;P8B> z^aGifvn%6&hh+6mj!up&GCCgB0G~G%HQ?IT570-A*BH}A7ZD)LhHHD?^KFjPN8p`B z00(PHo5+#DA+#lJU3ToQl(AUvhp=T7>k}}N7ubzmSl7S9Qv0oNXIcPOP0bNgg)lYt zXuRP9&xJBYWU<+YdtS%7#PktxHKqR7=Ofk++lPC4^yTxvY1{A$_F_|BSF2m1`;$8k z=r4%kWUz;9wRLgMjiJnjWdTT$N~LT|bmo_C8v+)8^nWO$gE#Cf;`HHu`H4>aA51z- zy<1H85?oet7hSIlH?IB7{F(%C!DyFCc_{;hl#+L;SDThsy2STX>xYO+MVX}xhjUhr|7H^Ba1kH z+ORNx)G0T^e5TF0<}vb8qb#qYsVdV-1Mu~MNBbL)U2p;Nx@A(pv}Ph`^QA!JRo>Gq z_%}D@bPTLK+letX(#aI&sx4OD>RahqLkjBhjFH-a>w4w#*<|J_GbaV9^dnughdx+c z6b1Cv>^7)0RqD#rascJCJG(W{Q%0XzosSek%$b@bLsSPTD>e5$(Q(djPuU`a?~O%WWBT50`9{f&NEaV0?#pumf?ZW2FaBI4lS;M{P|!DYYs_PC3k zM~JfsC3h2VI-fW&2~Zd%o4d&`fA_E5<>cF!fA|Ki*HHj(Llo?HFv;C4e~Mw|kj_bV z%Ny?|dz{=NkVV;T0(LOF&4XK%!bEnuRiSU$Q2Yx+X4{uGXm zwLe0rAeDCD2Fl3w=ku!>fB&sOA6mf=ILaYbz=Kxs0K`GTakSGhjlg*`0^!0(s-_Ye z(@7gKU(Ya15zY%j*7gpHaK|sqYn$(4vw6{03A({ys0AhDEM~;ih@!iX5j=cV@jvbS zU(Fa$q0(8l$aQ1f|2(5@E_HFlh=rF`JUf{YBk(rIAjzl_5rd&ke*zcbLN;aGaVZrH zDaS(mf z_kdz=;t_9ga{{WX}_EN z3^)52oK;RgrFpaiI=1i@9pXnoEP?trE8KRdPffey(C`P^e9h>xt(C2qxC$*- zyHcQIt(F3n1K*=KybO7LsIyVa!35q%WVNTR!TDLB(mRnFoP{G9Od4AVObdjC-yXsh zwub4nTC8pt7~O90PU<`oWjb3sL7I&&52lVOhVx4jkt7{D?>-onxejQd&Dm3y!`*P+ zEqdyd)$lV@f7mI$^U{PQGlXlfk43>kViqKAFi5viFp;q0x0_-T0OLF&zJR9fx7n6R z`QQ@#BnWknca!;a5fC~xjZd{k5^ClyNx`9;r67osjk`rS`bx4NwhE!IqfJ;}GRrmzPx5AkGwlrvL-SA(cP8e~H4oV4ov82GN2jgouNJINcUP zXJkBJ2tE;6=S1YWY@sq`9nnwq9lYgQKO|NbuyAjNh3*>h@?@PQ9Ut} zU4T=%8?)JGkgy@4QsvnPiV?n>BlL_#b^I!CC?lHznp0tOO^S#%W0W!vZDQ8tNTWJ`h)4N6)ZiQ&O=yk)l#aH8%D%96FLY%97vSbgK$ z1Ilw+p`1^zL_?hy@c}$#tc4kW#8xbUhf_$|^f1YQq*k8@D6oJD`5x-d%et;lU+_6y=_;k5u zxq3B9=wwuYd-CCEd=N0&B_YxKEbSGzL$Kd>plTi1d34wq2;!(|t>#gg*0VQPNmJe>v3e z&0GE6Xb!6pi`PHMo+yj>2E=@Nb8}r`w9>cLh1tpF6-enoBdQo-2L>ITN9iF<&V%hv zb6&D6Co6c(T3DPaSv@y96hnx}ztJ8fR3?ccNqlW$y0V*W)pXXmkt@sSO&OqQ7eiQE z-W#Ht#}VZlF?_A^9Z6UxnP~59e`&l%-N-9~jPH|bJuU@v>M)nK2^)`O>nE2cHe{#+$$1(jsgpdCMaP;;T&gbd0J+*d)C*Rx)`|QQdW<6Pc3Ddcz48ws&LXZIp}=!fV{}K7IgB}svrY` zrQGFjk>%J?jL|$#Sl}=d6TGJ^^zCPzt(0hKUYE%`B6^XpI*&9 z(IzT(9C=ZI6ki4M`e%l`{;}lhd_htsCqr=*I$zD%KW)&W+Zq`&E@8E1#?l%U$}(J@ z0;oCk8=(UgOHb(0wAk#?z3Zs)O_GN6<5+q2Feo;cDs!^#-T%;mc zvuKk+m)3E?J&%?`d-wX|i|L%L)Y|&vMXb(in4M=#QG4m9VR0(-v)Afm*3V1t$Mx62 z?%LuJby<~&^QV-se}WNR?uP;D-F%-BePrHcMr1R@bO(zIG`;DtoK< zKfP+-T~z>jgp*Ydq~AX+jERKv6&!6U`W{36&toR-K3n>8M~MEV1m3nlTQ< z^F0zv?Ww%lu{K^FX0zGcAHb&stHG+Bol`jUPa~&%wy&$WL#=cTOzqZ)RN3 zRV#M3e`q)4#Q-yw5JQehEILc5dpV>>IZkhLZO0?+(#86o`LG@LVd-M+0h^Iy&VTL^ zH{UVOyz|$;#)%%T#4dDGZ@eybT?bGUOSfKD5G4o*h-8$!O3oQ1E;%en5Rja6j-x~g zl3@uhlA|CXISL2}2uNBG1SASeSaJ?;z4hP!-uJ3rSIwNB)2DlSx~seEeDlq;)%)_j zhGmUS`gqY6x`?Y_`o08877RG+YVkT$L?C@>smwlym4f-mtm?Q*!8nOvB&js5VB6&3 zGwKkqEih>%;xFsb7v>Q!wO3++2y=%KKN+5kJK~6ug%Y@Gkl`LgK5Sh7amIY>>m$4k zi#PVthM~lasV9ruXS><9PgXnQRm}*i$zQvbfv#$ceJQQKR*JI9eTb-tHkGbNT}Kf_ z#qE!pCc(05&htCYZOeuuzMqjso*!@vdW}%mIssP%%c+fp-*tXWZJBnbC<=Gapu3#= zx+@XrgSY^iWBT2wd7Otul1>!E9GpOvZp&>^+#gwJi4MiL&*4A_j(LYi?646#t^* z_Q^+ATINK~-@=mzrdki8-su>#&r?0e8|`G*i*2~27h5RY+pI^=V&>xhAr%gt5R&Hn zR0ez{YoFp{4yF4hlB)~+=F$)#`?3@cNxL1wH2rvMzd46$MAF$gp7)gT<_2~b`^-TY zMYB4q=^Sml6FR1Fs|c#iXwLcm{gOm^LwE|(@Z@&rw4pAZE&JyFBlN89FmiM=x?i6vRtgv$?UKzlHUGgke z9FZsy&V5%6Tfra9>_3p01fJvWt>FPGwAm>#nivyOUgS(dMjtR^Sp%XW=VGgN>Jb%z ziOIdTht+4FQwfWN*XJ%wT3VNK&Zmu*_940XX5iv6}?c#PLa_I2rz~a8U;eChEd`iw>IcIqT(2m`fyq>@WAi(ChD|D6LeFYW9k32vATNnm-$oZK_L^>c%xbxs z5~>-|VXvlb?0l|HC$OqpQNc=(X-ekwedIjLPDvavsny7YH^Q0xO@fd>e;ieL4?7IT z-bm@X{A?5CiQlmI(HzB^%nj@~_!fr%X|H||cHgmo4>2k7XA|28n+_Gr z>erVa1HHzx*cJpCDz^1*P(fX)HerTx5A54cQ_GJ&mF=R-N=lZ#J$xK}ySm(vkS4VP z8I3~v*y&~pV3DyJ0&?SapI}VG&Fy5&jFGpZZ4!hV+4Al$u+_seGYHC`oIOq?L0Fk2 zBa!2f-``S3h0j)jo8{Akv$3P!*}q$%>+k*ZY?wpY(P^Q$8SD?0SW05CJD~2dT|v@> zHR=JhZ8a88mBM)l+*#hYK&$#LGiIKMY}{|{#}zp+kR2-yGq@4$y43CqNGl>g&LwN2 ze3M`AAW-n3agr#BpNJ~Gq?AT{GOk9GuP8HfOmmis8z`UYt8g=fE&ILE)20wtm;|3EE z3UP1?zsX?O4hzd0c2t-W+H{u091D2q2GBDqF+jE40q+Z#5d;O|O zYq^9@wstB`cI+wIZ1v&;pPrnGu6~~*RoBy}&_dCbY)XDz+V{*WpQmGMhCGF=BN~?& zbHx2<;-C51nyKWzlFpJW9tr2S8)HiTkwIoK!Gx%n;_gIWq&_FfQeQhlMfL+Md^cKn zA)i6takZ|$KLH6*!x?13+;AdUu+0B=;sZM6b2ZeulJ}=lzAbWdER(U_G@f@hU zLZii5cZnj{nB+I?iKna|6&Gja6qI93%3X93{v*xD{l-Smh@WW-W$Ddp*;ka+P9a4y zGmRg_3|gPm?$Md_K)l`|bMWHt#wdU9Em$XAs^gimzzJb1&9WX`2tv$h)-@Wb0my+M zFTVg(9HO4g)V*H+r(my>jktQm9yh_okh?@|hy{#Fpg3N8BiXafC7xE2+4)jhwoJ<@ z$MB3n88RVsD)pvD@8F`)$S0kM&WY3fXT_3~s=_&ZBgmDedn52F;g_d@gE2>)podA& zb#z`sq};uCncRE1Desv#1AKr~AcT#5JtZ1B<5i@A`IAanoh~$szA$qUwjT`ZtXlAw zWpm_w>Iexe_8e@TxbV;}I+~F4w&_WLtuNvP2lW?Gj8v36vZu~}6)yDoG(q^z@Y1|q zmqV;+zk44sLUeYNa=K@1@-PXH=P0fSC!FhMsMcVH*H4F`+ui(y{7~@?AaPRKLn(qk zMyKs&+9OKLr3W|$KM4Ub() zi_U1m?{SOgcTDPLRB8!W>fOR~TN&nkO1-W)105lmZ)>a`S~e65jEWfdw3kSP+1h%( z$V~32t=eG9C%``xCmOi}i05lYqs{%j!;pyclDM zC9Fb_M(&moslJylC0wd6(3rz|xMEDA+dT0&`%~mA z{m+?8@fn~{tNB8$6W`jKEd!`d&D&d75-NSRZ|!9x9(kE`Twr#)Xfrt9@E?B=KZv?n z4}JEtfJ5x6cX~b7AkmI@>H!o-ObmUBK0xCwam_EVMEl%}p}bZ`hGMW;|Z#B z+dB*sdk@j~Yd!-~77&VhKg?b9VW%h?3)3W#l4shTJFeaRvR;0{kt@!>jiZtm=-ON1 zz0=|03nXIh7hfjh-}~+z)NIeUDVe&2C{Nx@(VbVBPi?IPtUM)!;(8%`QuDQzeJu)Ugy>nFh7j z`mBXAJg9QqZN+wS6f*6}iPq=yw5!Ws)Su&7Scc#{A4g92HuU?UWwm9tl`PCE@<&fD z68npqSgyTj*nzsBBs4 zD_aT1xV^xmM7s`p?f|<^W%>nD@lui~d%ut21tEsjg&~Wx50O(MkPw@fa(LT=67%TS zTtiK`4)^>|Znyv7-**n>3|8MCvE;;t;t04sUA=jFOTJNCet17AkFGsY%NP$TOGjeif2{Or@h2Bqk*x^%cPI_~K_CvELR z*st^P?d`}&ocEi8lkiMFe6BTBSiYFWLt2(M(|vs6T)tK~&n4M>ysQNAWhcYqpzb{t z0}MO2%LfBQuNGg5+0bL!Q{PD=VlSDj__A#Abg?(tBJY#)ma-QJlj7<2UcK-@@90V` z5$M{kk<_VOOXlIChJ9H++>zFnajM4QSfay87?}bB8Mlls07%|pgYGllTP7T~QIjiUC zeUxmjs21Jk1RGHuKKVT~MUjN(y~JRr)%z3o-py;0pRX&Yk|l91DLYe*0)!iO*30mz z&us(Z-}awFzrB%3yjtd$V04*yi4P5bWp_83qF}_p&A;yCTk>bcT(bGM884k$UH}u` zr6o=4LkH9oC_2iB6av`=BgS!slWzmjs+(K#T!;|NNFRGG!s0N=TBP=xQ~I>n#W-)r z(*U39+C&q6BBY-GT=7d7WzXx&({;1%x0H8hrspRP8W>8yGdMp--ZP@gMRs@u=O2=& zYS&fJevX}_E3f^C@mV3j z7@(EM;@#79;rrz&J5lJJ<7 zaT=JGNAL1`ZQ|PYFR>Q=vJ}d%dSI_xicUE7aE>@ zmq)fi<8rg5h{GX9N^&+(uUWZm*(~7Ywh>p_UZXcGunE(;E@O0o_Mc^qFWzCYFwqug zEV%TJB=5`^B)8-q#>{#3Vb2fyijP%6sjR&OxHkH_X*g#AMDViha_OWjMX>^tw>PB{ zB#d%W!kT4HLc(m{&tby`NNqV0Sb5)&GFg{d7*nfX=wppt^u!O^?bkDpY8$6HqISMG z_%-|v=wm3&dX=d|xHD=R_|ziZBP|IZxgWCT(eyUlPpz1Pvz*_!xQ}D#N8T?>wORM@ z5H0&*enf_!<)Wg6iE_MBT8E?(swl~M{fXqxMo>$PPmBbjHSoF|h#)mLVlmRKt{Y?A zVO2Kb8WwX;sy@;#8xcU9$6wlXJUlTB+j1jMY8ELKw$k9-zc=(%%v>=VsBq(dQL9I0 z++I~Ih<>@euu1zicJ`4|v*^3u>ZL;!BKuuG8cb>S3%w59OeGHv&GI7I`T7wq81 z^%6&l4SL&Bnm(;HKo65s1DIaes%er!=-T1()Qv}Wwe>;Lx!WSyJ1wX5Y}evbwrX9c za>-pdJ{oSI41QaykDN!=qAnw5^CH>EX>mgff?Ll~q}l5?pJTrOev4a14$)Hg3mi1B z94qyY-~y4uFE}Y5Tcoiw9a&7NSOhW$n0do`E&ASjC{qjq7iG~_2=zg|gJ32c_aXK6 zzTSrGwJ$OA)M2MHl(4GVvX1lR&rP($xM2mqqTj99i48T0J@GlqAW|}`(M$dDjdq?4 z8`?<@Q5TUqx<;&B1y|C*^!+Zv)3ljz5Zo**PfVz7>UGbiFD%IK&1-R}c~4?7kxxV$ zL6nWkQ$N@PnsN*4J98XL_c$m7zbBa2>zy|B#xyi-)Bc%OOGOpO_xT*^VOw^tM#2$o z@)Re1SRVAKCk|jFrv;^a%GfX3+>7x&!kq*dx4m1#uw=cj&m>($s(RRcpqpi|M=_qu zj&!R7g$jeXziAW3F1|r~_&@OQiYV$ZxpZwf0|EK1$0vQfbitkd@bNC4;QL}rqHUG4 z-Ef2Qz!AYsk_m`cZ2fX+Od^cizuYo8UN-LOZ&$-$(<=9iu&L$B5vQnfqs@-`)Uy_S zlRmrEpL%3aocuAQ@R94po}!Ipu@`re z@Bjr$l2RMaplzG_v?}At0Q!ET_TVq>XTQ1owXDm7%UAe1_zLc3L)#Skn|yC$%09cY z7SHbZi8gS5=dW^h9EmfMX*O6A_f*(#YDwqg^M;fFmy5-i5X5~cnc+N4tN3&Kq54u= zj-R71j_+Jiy|Y*8iBk@^LgmJQf6geg09muwEg|Iesm{lk#wd>d*!Bw8C1E40z%CMHXO_`c&2kKLA4YNx4o_3 zv-7f|FiQwzFufhK-hE@l$B7?D_q!>31vzXdpN%*_oqg2){Mx9CDMLup_W77LP*>?V zF4ps2aN6N&AxWe8OiR!6m@x>Q+@#M$-de=0ZsOQ~HeNb)^=)#4c^h#z(t(KH`RP}F zg7j4Pld$#0AkRIX;GLk!r5arkR7ZWf;PdStW|9+@9}}(h?|e`0>vo^{jVomhqqeLR z#H?B|eC{*YQ_3HU4OVVr%on_u3#`IImwb zRMe?!tDH9cVJQ@V&K|;vhCY5H_9}+gedi4=2Y^U~X)crf{1m#@BC(@uGiBP8KFx*p z6ok=kUgB)E>J+1@pL$#;U)gw>)oU=3^9Ijc9Oou(0HOzLVnrMT z3n;|C^fk`L{w^m^XLTFk93XfQwYOh6b0Nt@u6*Ci%^{L2D|m1PKHSkze0*oQp6|oV z$!|dfg%_mdhf4AxAa!fW=qpzVpohpYk>bNzi#D>)W@(nN(74O0di%+aymW z@~$tgNk?}()Gi87*<1wR4M;Mhfe}MBW+dcOe*36jKdN5Lk7AJR3-*z+v8TS}3;mIl z-LS*mm5Db6*v5|B(Un4HZBq#oYLB55T#~)=HVrqa6u$9_#FZktFSg>X$c26d6DpzB zn2N^R{9d=*gA>bwrT^nnZ4yxfyNAvmSl-N&2f7PUWqp#%=>Z4Xa1z>ZUO_4@+r^GG?b;OYh(i z`xl~ZO-<}g4dsQ821w}9We}q)6Y|IH>^0Oi-NIHjtNZfo7gEB8bo&U0;SkgS(UXJn z1{Iti?=74e>f1#OCF>Pi@Rh8r2F#Av>KI%W&;h~U&ojY-pPBUAcw)llUF||pXGg_@ zn+LPNSW)_%e1n>tXdiI|xE?c%bpcS2_>b?G$1!C2s!-r>N-lmSiMwv0eC~3p!I^V1@s=giJtbC&NSHaUK*~sdo0_bF?*+rG zbYvnP{x8`{KENYnzq*hP1*ku^-XB=uUD1e%YVTv^CrnF+b+(y*8s3$fOEeZdPOJ|S z45z1b+4>qGy)7Hn63gXg{s4(*+BsWH1CZ>}MjDZCnLSgx^G-ydAg9yv&eE>6CWgMS z8LJR>U-Fyl1O2#P2ajn~{Yc^>ATp$r{<>0O4sSG`=%^4{+imv?5f+q%&Vy)RobG&t z&ndh(GYqi{XC{%xO8{7R-MeQ^iP<1G{79^O0fL=`GGUuLy?kM}b~Dyrph z)GBLpoAEi!t;cFtbf}1Af?kf%ojju(mmrqYD4Mvkqza<6_L{VWQK+`tKNE7W2#w+< zH~FEZrp&M2?Tx2XwfyyNOXdbOc)A<7NJuJX%ws;605kioGio6?B;HAYP8oU!52T#x zg&%0hiGYa=$W9Z%%y`!;&H!b&8$`l zDJm+k|3=wQ>MSScL5Gi+?~LYJH-3blZstGG8^O_YlBRsEtl!gz$x92Ky8q*VV(?%al6DE$GlK$J$6>wgoSH;?OAkLw`aUgB(|MT3L~PBUVg2 z_n>ddNUTc^@zc>?EOy=mj)Sj?pIPI^J1cKHsGAuZanPw&bOu&B!a!f=`9wx&9RafA0GIO?TAclfF zv2OjDjwh7Ce1Am%RWLQ2Sp^LF>q=V%to>JnPz|H*QUSC5V{}LLKSlzoV8y@H^8Z*b zss6_rlUMdHwT>EC`L9Th8d#t34@&BlC!M~8sn&fsjyjlw{*UV4R4x3!tNxetfNQCP zss1X!SshG`G7#v_|G|kdSTRQRuOPtz z2K~W*|M0*5Z?1o^T@dIY@xL;GK5yuD^E{5 rXPduhW`E!2@4iF58U2XB0)Y(ffSKqJOqT(f_ht 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 diff --git a/NEWS b/NEWS index 473570415..bf239b1cf 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ New Features - initial support for threaded-view in the webmail interface - sogo-tool: new "rename-user" command that automatically updates all the references in the database after modifying a user id +- groups support for IMAP ACLs Enhancements - improved list selection and contextual menu behavior in all web modules diff --git a/SoObjects/Mailer/SOGoMailFolder.m b/SoObjects/Mailer/SOGoMailFolder.m index 98e4592e5..71a2ef435 100644 --- a/SoObjects/Mailer/SOGoMailFolder.m +++ b/SoObjects/Mailer/SOGoMailFolder.m @@ -898,7 +898,7 @@ static NSString *defaultUserID = @"anyone"; return character; } -- (NSString *) _sogoAclsToImapAcls: (NSArray *) sogoAcls +- (NSString *) _sogoACLsToIMAPACLs: (NSArray *) sogoAcls { NSMutableString *imapAcls; NSEnumerator *acls; @@ -943,6 +943,15 @@ static NSString *defaultUserID = @"anyone"; return imapAcls; } +- (NSString *) _sogoACLUIDToIMAPUID: (NSString *) uid +{ + if ([uid hasPrefix: @"@"]) + return [[[[context activeUser] domainDefaults] imapAclGroupIdPrefix] + stringByAppendingString: [uid substringFromIndex: 1]]; + else + return uid; +} + - (void) _removeIMAPExtUsernames { NSMutableDictionary *newIMAPAcls; @@ -963,6 +972,32 @@ static NSString *defaultUserID = @"anyone"; mailboxACL = newIMAPAcls; } +- (void) _convertIMAPGroupnames +{ + NSMutableDictionary *newIMAPAcls; + NSEnumerator *usernames; + NSString *username; + NSString *newUsername; + NSString *imapPrefix; + + imapPrefix = [[[context activeUser] domainDefaults] imapAclGroupIdPrefix]; + + newIMAPAcls = [[NSMutableDictionary alloc] init]; + + usernames = [[mailboxACL allKeys] objectEnumerator]; + while ((username = [usernames nextObject])) + { + if ([username hasPrefix: imapPrefix]) + newUsername = [@"@" stringByAppendingString: [username substringFromIndex: [imapPrefix length]]]; + else + newUsername = username; + [newIMAPAcls setObject: [mailboxACL objectForKey: username] + forKey: newUsername]; + } + [mailboxACL release]; + mailboxACL = newIMAPAcls; +} + - (void) _readMailboxACL { [mailboxACL release]; @@ -970,6 +1005,7 @@ static NSString *defaultUserID = @"anyone"; mailboxACL = [[self imap4Connection] aclForMailboxAtURL: [self imap4URL]]; [mailboxACL retain]; + [self _convertIMAPGroupnames]; if ([[self mailAccountFolder] imapAclConformsToIMAPExt]) [self _removeIMAPExtUsernames]; } @@ -1061,7 +1097,7 @@ static NSString *defaultUserID = @"anyone"; uids = [users objectEnumerator]; while ((currentUID = [uids nextObject])) - [client deleteACL: folderName uid: currentUID]; + [client deleteACL: folderName uid: [self _sogoACLUIDToIMAPUID: currentUID]]; [mailboxACL release]; mailboxACL = nil; } @@ -1071,9 +1107,9 @@ static NSString *defaultUserID = @"anyone"; { NSString *acls, *folderName; - acls = [self _sogoAclsToImapAcls: roles]; + acls = [self _sogoACLsToIMAPACLs: roles]; folderName = [[self imap4Connection] imap4FolderNameForURL: [self imap4URL]]; - [[imap4 client] setACL: folderName rights: acls uid: uid]; + [[imap4 client] setACL: folderName rights: acls uid: [self _sogoACLUIDToIMAPUID: uid]]; [mailboxACL release]; mailboxACL = nil; diff --git a/SoObjects/SOGo/SOGoDefaults.plist b/SoObjects/SOGo/SOGoDefaults.plist index 26d65ba03..8acd155df 100644 --- a/SoObjects/SOGo/SOGoDefaults.plist +++ b/SoObjects/SOGo/SOGoDefaults.plist @@ -5,6 +5,7 @@ WOPidFile = "/var/run/sogo/sogo.pid"; NGImap4ConnectionStringSeparator = "/"; + NGImap4ConnectionGroupIdPrefix = "$"; NGImap4DisableIMAP4Pooling = YES; SOGoZipPath = "/usr/bin/zip"; diff --git a/SoObjects/SOGo/SOGoDomainDefaults.h b/SoObjects/SOGo/SOGoDomainDefaults.h index 48b87dac8..02cc332f9 100644 --- a/SoObjects/SOGo/SOGoDomainDefaults.h +++ b/SoObjects/SOGo/SOGoDomainDefaults.h @@ -43,6 +43,7 @@ - (NSString *) imapServer; - (NSString *) sieveServer; - (NSString *) imapAclStyle; +- (NSString *) imapAclGroupIdPrefix; - (NSString *) imapFolderSeparator; - (BOOL) imapAclConformsToIMAPExt; - (BOOL) forceIMAPLoginWithEmail; diff --git a/SoObjects/SOGo/SOGoDomainDefaults.m b/SoObjects/SOGo/SOGoDomainDefaults.m index 1b9dc4fe0..6acc35978 100644 --- a/SoObjects/SOGo/SOGoDomainDefaults.m +++ b/SoObjects/SOGo/SOGoDomainDefaults.m @@ -124,6 +124,11 @@ return [self stringForKey: @"SOGoIMAPAclStyle"]; } +- (NSString *) imapAclGroupIdPrefix +{ + return [self stringForKey: @"NGImap4ConnectionGroupIdPrefix"]; +} + - (NSString *) imapFolderSeparator { return [self stringForKey: @"NGImap4ConnectionStringSeparator"];