aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/groupposition/interface.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/groupposition/interface.php')
-rw-r--r--phpBB/phpbb/groupposition/interface.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/phpBB/phpbb/groupposition/interface.php b/phpBB/phpbb/groupposition/interface.php
new file mode 100644
index 0000000000..eacc04e1a4
--- /dev/null
+++ b/phpBB/phpbb/groupposition/interface.php
@@ -0,0 +1,84 @@
+<?php
+/**
+*
+* @package phpBB3
+* @copyright (c) 2012 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+/**
+* Interface to manage group positions in various places of phpbb
+*
+* The interface provides simple methods to add, delete and move a group
+*
+* @package phpBB3
+*/
+interface phpbb_groupposition_interface
+{
+ /**
+ * Returns the value for a given group, if the group exists.
+ * @param int $group_id group_id of the group to be selected
+ * @return int position of the group
+ */
+ public function get_group_value($group_id);
+
+ /**
+ * Get number of groups displayed
+ *
+ * @return int value of the last item displayed
+ */
+ public function get_group_count();
+
+ /**
+ * Addes a group by group_id
+ *
+ * @param int $group_id group_id of the group to be added
+ * @return bool True if the group was added successfully
+ */
+ public function add_group($group_id);
+
+ /**
+ * Deletes a group by group_id
+ *
+ * @param int $group_id group_id of the group to be deleted
+ * @param bool $skip_group Skip setting the value for this group, to save the query, when you need to update it anyway.
+ * @return bool True if the group was deleted successfully
+ */
+ public function delete_group($group_id, $skip_group = false);
+
+ /**
+ * Moves a group up by group_id
+ *
+ * @param int $group_id group_id of the group to be moved
+ * @return bool True if the group was moved successfully
+ */
+ public function move_up($group_id);
+
+ /**
+ * Moves a group down by group_id
+ *
+ * @param int $group_id group_id of the group to be moved
+ * @return bool True if the group was moved successfully
+ */
+ public function move_down($group_id);
+
+ /**
+ * Moves a group up/down
+ *
+ * @param int $group_id group_id of the group to be moved
+ * @param int $delta number of steps:
+ * - positive = move up
+ * - negative = move down
+ * @return bool True if the group was moved successfully
+ */
+ public function move($group_id, $delta);
+}
XE N}# @-_FSVD{?,ui7ٱ[Xݐ>8r(KU]Xi LI2P}\Qgb1]f_e _zBRS2 O;NƥFn@LyIdzӨ%6dITWVGVLreǨۧrWub١^.3Fm2 ߚJhx ё3ǐl}zRMsx-ZTGVX.8"#NQ" b@VzFlA= ^datQP-hՐ59u i<<8Zjw?މ.+]8911diZЛr,FRQ@:s5[&8!1m)$)*!S:9uAǨ TO$7;iRc`2n@y{%j2mNtk AT)D&sXR0 IKٸtEoC nSMVPJ*g^:X2hMf<>-I( nA/ߒg0w Fz; #N;$ Q?uP{ϻp3 E. (7j ZުmS|#',֑`BtbXQFo8QtP6H-U?* [:d^B/ie*0?CShJ[~'AO|P+Y8xW`GK_5̉Eah6G[?2\`*I.KNPV4b+9T^|Ԋ։A@sJt&n<}H?.^s T+/ιUw 1]#Z$hT"y U'ۚ|RRQϪջ@k}*h7D"YRMx {m*;=ڱ5A} os]mЄOW)X9*g{s[H z/o3^gT1ܹ-)#9eP6>MHɇ@eStS.eG@ R(-q&匒GV8 DqgL*,xE.SntywN]|Uw]Ҵ^B9)]( _9~~^8t2 p@t%dĿp+՛1ɗdvlB;l# -YČ)8:cX7SbR o{$*\0ch4 θ׀n*sh(sDN4jK7ܷ5|\$?iXkDx:M"2cw"G]^VQ= 6/$\1>P" و!ݭ } ӣH֛tcM>W#B~oNWA5;i1~ftbI'8SSӬAwHH2S"oK!l]? pŎ=]tn>qr%38ʞ5%Mob S&iT `ydӌPqkq= ΖGD~|tlzlXLG5s2I(i6'-M {]`QD};ۖbiZl9lSRv~V7ʂwLQaT@8[ ,7~`gdf (=GxՙAUߤ]P1.U~$U Bٷs2ULw6λ+b믰p^?_̡{ђFܜl2 HE2xͿ 2_~G>.텒"T*=T}}Z?>q,LPF+zޥ/}!1tC/~-!Mypy{%7op"n8os9-g,ȿ˧̌zyh:~ 8mf4%Hk18(-iZ_P2m;o{gM>h#c$iri!mV + oc۔X~ w"oUņ]bJbEDx9Fr1]yJopMip[`{q&!\@HM6^nG0Q`p*#tݕI yf@`iAS s2q: "Ȱ ķAck12֞Jn95P@fB y|VLHq%91 !tCS 60 ?^wHK)W}cvV0etiTDꗴqoWfE;A |f:ϡi{x4X4MzAol{AaT<"akW(^~u#nP)zyo ɡN>r2 yh&=Y_"L&aCU#ɧNm=%$:n~fn8Nݢ.znQ߸ɶ) Z6}/`D5V:qFΪS_Ico0ڗ4B_ !qĪ<"(LEu+bn_k?TC+n uGkjL]<:76/+ W073;i+ýKj/IaU*,?̱ϒL~H`wL벃1 F0Si`fyIq:Er^Dj.[p&1!y*YmF '‘*Gtx}Gk(Kj-)Mv3F<˄ xfwZ^BϏ>oJ%wCA$/޽Q+YЕz!kI,B-Q| ySbAͳW]6s@TmN]ȷ|%ͧ\_]٣'͸,>'rGn!Bg`qĞͫ )U+3v<5%_0(CfF $Ic&/}CU:)hņN\Yiǰ^uf?42 icqY!ޖ6DdRu˷c.H'sG!KsۋNTK?e_ҭrX%]yiqGqyׄ\yyx%@P΍טOMs}3 /߯# A8 `D3D0]kmCeRSyv,E`l{lLtK.̙,n^2[^-ab11C4J$ \@OVy7cD 7O5h))Y@ef*eo4aa mDzʬ9>k&k9fUr`,c}tvp`Z6bAx( zH=CB!`z#<hҜݩ`Ǽ$PAD}ZVo`-ȺZnÔܼE|V:ƺgR)qy4\dpx`E%Elu8.&2Y@HDT\jk6q)ԡ>eXPH7wmݎK;zW \7@$3>nBw+O$$QHQg* S@Rw ,uq=ǼK֎H[7dho'kz+is2:$.ŵ9.?XvхEhHDK(A;(d}:yp̤{}b=pg\fJ=+jy!Gu^hۙ?ٰ(7GCFd&= $d{&SJɱ!!WgFNRe k?S-VZPvw%A%EA^kSjfat8=LOx7Jjחl6d '=s<ݾ`Shh;CF6'f /w^u/Կ AXi*,_X'x u!#Zn95O-nb \OfDAr\S$^)u?B@}V|$ `#_R8<У~lwHxb$(WgBVClXà苋ۘX<0ABԌ{ KhW{D㡕w,b16ك?,c??QtkQr׫o6*Xݝu@;/5tEצbv?u`4"S2@9uMGyqb*7'._ĠyXQmd/,ZQ&%|r+ٰXe?CXhY)z_,[| \ E ytHU&FµJAωyl$-? fѴz ٿ)rpDAu)My8ݑx-8v5[瞼E;clb}Zs Z/F`DºrRVc2d-:4~۫i:"~ԕ‡eR lnF,8qڸܔc.Nu993y- NRو)Vs& ⇾ؓQj^ ^qsJQLpƋERJo8{W5O2Ƨ3e&#"XRf+ D]Y,Q2Hk=n=א|PwuLeR&6V+jq& ;8NWgŠR(5 nr mX)nO0HjMl5ޢ[v4V΅kNݴV&7^#. -Bbeջc(4/s[n> [t6;Ą´t :I)$,s[(ِ_K`1xw;:r$㚲3zn){zP֝_+/i;8 Ukk2ƴw`$h9`:W-o9׀QYS{8*QPg>O&B/R b" \ݢAy_y4/*(om "n-[ot5a0ȿfdUt $M* cdp&/c?n΢;S]]¿.-@1E97 oQ>b5' F@:]DW(|]]>aZ-ô>&ye/"<.(W^C{L5w csN]䤨/X!Z7! j)u*vPl6 jymcͥ?E*Pw`[^݉V$;?ܡ"i_1};it7 ,/WvkY59hT3&BXL>HvВ* #x ti mUD^fSBsH:-ʎeG /uYi?ei/'snWxZ狭8KK63 |12%S[&4I +{*]U(/U[_q2\y=| 9o3^j#>py*dgvPyU -ηk>=w&[rq\` $Mym4R᨜ǝ|b҃/$`Ti!"⮺XR|na)_/?Vtk>[ !#Bk/+ kn <|M/_<~Nj*z)eY6&\7~ 2& {@/cdu !ҫ5fٱDTHJF_\L &`|1"I;)H* *RU=6z7𭧪 a?CTeGj4ES8vޞ9?C5ʰTw)gܡn~Iz(v٨iTno%pvHcIgmRq,: 5_7uj CM*p.:Ɩ.Ah Tk|QQ!zUNUګ zfN+tQuDX'}{Nն5ׇ-nN_U%I,Ҩ>Ls ˉʘ>NSfI$anϫ (M :B  a䁪<5cyFYT)7ށ W^1ԕgejQz+i&PJbށ6zZ0D"^`vvvU";cD Fc&ꎂFd)bbeͮoF.-;c"jKhpYA02:dng#\CPK,*HVt";e p'IN$˯o.JH[%4bO#AEGzD SxDλͩŗwtvg|;|reOci!1g k,kp8&a ܋/lWڃKfpr6f'7Z-V:!pTTXv8b.\w*DE ˜IREkL 2j?(Pwe}e쑜zrWU@H"n'rڟ[%tuhKoA뚪+#XWVoSYҨ.zcb@F ZY9dzH Bk!E%5t0GaI@ST,n 1#uZxbe`,3F;*k?=M3tGӁfʨ@?UǑ逶cV* p$?Z k," J-`/ wD׵96y?u)$RȬy ,uA6cY_Ah\1)/2kHrZW((cQ0-޶w|#^rVձNؖXCRZ"P+vRUCmݳĴs{Y5y@ROQ%UyXQ vK`qLFC%̺xl m)l9)?&<NA[rH< W/( fЫG,E)6l $BwepTG_9ks wv_'%RTa`*x:>fY|eW>kDE6{3e2-@jn@K8w]hd3~W̹ IߏUt,㫹V J%Dy?5\0-hG/goYAQV{Q\` J,D U SSXxD:%<)N%Eb2H2kfIʶ+2>;9Sl\&"͛лhRQ67)2 +z;8]KmiױGTh:?Jm9:^na譟M#"!7&ȷ+3cTˍHĺFK}혩Qb(aݠl(-K|b%B6cD%ęQ׏c8DkwC&;"WW'8$Ϻ cHBk?0j)KLq -L+菽=wZ,京 c2f#1{@2uSʜH73xRDRҼ %B41 Uą,jK-.e/.xUƎ!fV:b5ÒCJvi8-pr%bcҗBh.3N-!  ϴ1h dm`DN#PjSct6IFD(hG[R5K)dp#Ot*0a|Y:u ' k|ځf8V!Ti o %g䛖+s.*0DmhF Oo謅ѻF*(N#j"Y~q80e| ˠjEdÎQܚ1;DП؂PK.sH "a\8~'hPqj[` 2XY{8ɐD/,4|uE c5  @YB\p*|8 [0G*%.垂9J #pÊz| Cםe6DM/?^b FϪmD=O ;FLAy P  y/ؕ,|jza1uj=efh 3 |z/ٖ?b s:j礉9/TuDZBi6eLs.{!m7oFe9B6:t:B2Vj^_`Iͧx &j(Ȳav_?<O XH4ߩBr 85&rdқG<=&f…Zw'aT2w KYQ-?:a ħ{"|Ⱥϫn0Z1ߙ JN2u=f 4!9<\TۚDnu`/4~U Qe8Jxjɥ>E Q U:5.{;G`FOP|=>_ D&NEo"gDu0GOKفi[zZ=kxkD igo5̸>u5*!Kn:Q*ևq"W7i(tއ݉ uC*kB&t>e'`[H!k[WFJ`Z=EN ="ucqanWQ6IHɎGJiN $|ȴ$QP`gc|-lA2tʜ,u;/vl8R\a&pC] hte&3@؊:\Mp2V/kCxlT7YК\8 5~.ǍF^Tw/jœ;UKbg"yF͝fA] e1PMQ8BD4DHCdQ}2ܜ%y<Ff.ߖ#ԬӀy\Y'douŅs'\#͵vZG'>+ CgSKEugܞd ecPԳm># 8xw䑉6 l6|b'[w;KՍT*:[MzoJS{2O:PIM ЅlLFOl`hYV,)7=+^z::UZ؈,`MuqC *ɹ:RE*RݒMůy0!.&`o;Fӵpd e}SG帞Z~TNjQ$߾uxm݄f2kYD+f[KhKWϟOK~fƔr,w|ppDjdeozvy4dPN yt(S#,_T\QI*H/,J*R$/Zs,\5Vk:b!R9JL E &WTHv$>*"+Urit8CiAMQfp "OMwQQe(?޶> eGݖ#<qez @?i9f ?I8Km䊡 ^ZL0Z*mGFS)(0x;@[,Zy(.W ͞+afM W+gL_8mm˖nu˲Jd"hd|1OO6ҿqBnS'[Ń#%r i8Kɱb`1>i`4BpX _t{ȋUr\dt,"`WX׽l!‡R44aF+79?SM ôK{궇Qn0 jYWbEn+[B# x_g(1dVLD_?$ȲцäKi,΀" Cӥ 91\R)R&_FrQߎ:͡4 dp}.紤E':>_9t.[kѶ@TiCkRM 0hzeem ]W2Sk<2rˬv7RX"+6!bn=ᔒl%0tze]R]|;VRO@020v5hXJmkY45GG_w^4_ xSm{% k[,uh51+P}4G*wé)?J PbTӢ>>/ΖjI)-Gx=-'+w/'hJb=gPC%#V޼ Dq(35wWpt O[bqx&'ejvz gN(AGio(+Lu8[r|,'}q)4;7 3Q=`GRV0PK| '!-kڲHC!uG\U [-BxM`˩N<3 Y(%oo/|dz=xj%WFwݾLA,6.3IGXA [X͓r !ORi 6lL c2*!h9;h./"% V.ﵹe%ݒ;/{6X! vE-h`XcS=m =76/gK.X90ZʉOGuG@"^a7G7}Dl"L2')Uߜ-E>UxǜxT,~d6`:<Jf`Qu2д0 \ZS+`uewoSl,F slM/^ KvI2zMJD m.# ὖ3kb;KUӞ}Q/giF բyH72@avPWxcjP1m$ 2 Xb+$^Mmhnw4ȊIs6LHGk03O&#yl S|hU>9SfI7%,v4UZ1˿腹?lmBnL53s3,Fp|lU_a 4p>}|Co;c5D {o0P^$xxRsyZw:skFfXJ$?%f%s/ZO!lƞ\7_%{D0yFzŽ~jSy:eNg3$DpcDG E29JDqYPgl%$*mXd&A7sWnhHTdkHMz !j|{CB(\|b]'A < B5W$T{ zZ 5C {Z eh{Ώ[&~NL! Ɨ=pΡ[p,G?nuH_ď5%̡osj5N9}îa&t3EE&0M.^g hp\ĘLb4@CfC'0 q[3 \_ʷuGse^0mÎ'(S3|4$ml,$`7veoRalR}*V%:FhhmFtQ(Q5+w3˺\"VVv\wd!Æ)/t|]|@Uhn#RVLdX9tutG\wx~ h'H&D$3i-Ta`4pR YSB K@w}HFL jW*!8RP=TD'9Z73l0䪃i%p_ZRb#+_SI}׭uEU>f^oMkt&wvi2RY ]?S'vX IF./&<MCPB\ $U:YIq~~IDo+BmR\bͯeL[˹kLv0YiD|4uZ(=/,'% C]qAGFbu# ~?(kM,%U-辭S|, C&u.BF:e1: %9UCdO[@{SxsX;>`?r=C/AҖ@GAP zq[uv ɷ+7M#YCXҺQa>%dsGOb]Y$úXt8gpM˝俵Q`5?I$Z 6bqS>ӈfN<9oC]QFnh'?6mPl sX?M/ks(>1׶MqUջMBE`c9gUhECS#l1=Mo/]nu]u3?p;~rI1 WmR h߿V ٔ͘k;>Q'Լ},Fͧ Wvx|5 BxumqKa$w:,e"َ `o5vEV°!O_(gu9*T;n-1w^'9\ U!ZڬXSbWQW4ti4RBtq`MIikd O>{Y.zDt i愌 A1mஎ~ߴ" 77Eiǵ[e4(!ӿ%[V"`+RT 2m͍3Qon5P *Kfևf v Nqz*0NDa*~+@:2@ս͔vV٘R ζl"Fq)jI5-ڙ wX'#qK8pBMThO+X2ja!w=[el{HKW> 8Y$AZuD?'pu΂ E6 Q($+ʸ*Xy}Sy"ҷV[1=V>3<Ž`gގ2p3N 䍷xtA53 SɐS{+wk]LIXZې*"Bs_Ei/dO4Z=)bA0R)>,9fm#)vh:LVv'X~$Z@5L)2\`iZH JyQVr5Lt1zRyl ZBy@M#h>FM UhTbxj&+G򏸲̆:uR S}H `fcIhzсËKɛ<|O~dS"+ َM[i,MPIvb4@H_o[G\߀?Y'p U۱CĨzA?y^2p}*ywT"Wj{-P Ԝ2Hd[)PRC~kM#؈o`/jwZyJØ!,a!*HDX@O󚟕̍,ϳŶWQDq= v:&j]XU?Mq s=k*:sߛts#t V.(^LYf*&kvEsyȱ]0ڛU[cg[NWJ+0BӸH볖M_r=|l+-@JDM[9(϶…_3D$LlDJ1L|>'EG?Oy2D<,Z h(f˧U+-G<|}'ihna[LmgX0{TKj_ _O(e~c2%7+`Ħo3vj(dzo^[:21M'+ofp=jC2]5krsXqTl!1IdÖ;֒ꄱ[-EMriXSQE\R~LI=ԻJީٷ(bxA=odЦTb|.we֙0̨~89V2ndk盦t :L(JKɕd59 UMRqƠUujkA$IkPJJ:B1TLP5KQ9 /qD*E 1;@ٛWƳ^|I_~6^^Aqe Fߍ>;gt/Xn"L2n뱄$x*Q0%i}LyǸ=,nPݩWJ ^roƊ: PŶkwã@JgF3ʖp"H] $zp]},tnn,tv܇C&zϱ~mĪYrQ+7`x1JrrAc_C:Ft,06St-hFS+sBm`:'D9dq3j-1ҧ25X [Zl&"8>Q D_kBLs<6"v̓FS@}/@:LB$ eP2Zw$,(i Fx/*P=r7;ӏΠոl9n̔-ensք-eo>)߯:8y1~} &:=.\7:% 0pOt(/Ӫf+˻L<}_R|oFzRLzĪg6sF㈠Y<1VV順2HV ЯF@.*5G#ryWH}Tҫ%F<')>`7a+<ߝnۘyfcuэLJ>_jiiMCo}{`l,8ӑfһMY˰ZQƙBdhˠA6~, ҄jXZ̬XLst.0wSߠ|Em)COΝtS=MQ V֒zfޡ:IȶSOęxAλq=b`&pdyGŀ:Wp u qJAe^͛s&>36A@Va!J;ԸBhYfIг敭̀hV UH\RI|gin~HGXy9!MQ̖nmUq3G!J.)dXĻuӮo~3K)0ڊja1N3UFH*TFp{S _MT"QjS>DT}Ԡ3a%bf+[%\_"ڗ ۵ b$mܮ^&"׺R8QۅqRjУ`]llXcyBnHSio@o-B%˚DY&X [զ-}5 R䐉czr4L[)uLú/ؾ*qvhaRxy>FK<@V"t,zB0Z& H.:@ E!U` jTE$2֡!Yktu0IG~V{㼛?B D%L=;62plvm:ġv٬Tm[/@CS(ɹ^\ O%İzcWbWIV شB=W,^v5@YEZ τw9+&A )=R$txmg1zul]O"܇~gkl[4{SJKьyk)RM&wZhu avIх1*'5uTAD ( o?-͜㪏:klȻ_䁠kAe~[XRi91WdNρ9/Yt:"eV}N` sh\N=(yI{ܼEZdIkKcLn4T%lç$'kK`; ڤm~4OEI iwg0ٓyI7]@*:M3pł1ÜVGd1(aLK~|R< Vh@OsGG A JێՕ.$ď[C#ν;IGMslE{'ivɽ Q{2}ygP ]:YzpТG5~3c- *4CFpfo`֗LZYg,Toacz!d8Wl{̩KecbtǪ#3iR_j +uVt?>g<[ QUel~X6 ] QǓq=)Ц +ڪ`_ȥ!ˇ>GL@GgWkٶ(CfP)j, lE@@[QݭtCL)bT-lJ{,%kw`pX]@K Wo2p7=w-Lp M(#cl+ BN͞'}  k|Ģڢ[@‘rJV#y#lÖq7o>QAD>o@v:!7ͥ0C d<\J$)ج+KT3'4ONo:+J 3Iֹ =V6B%~_Ρ%48x}ZIh9gX'n,Yͭ@ЬOxEMC{Ă>!0 9檎{4K7ZsHVLUY c }FUك0|֨FB 1$ yh/kCaT߄->gn2𾳨lζ1Pb>6:uo^ފ]lJȀ.b+rÙcĸMe*vZXVو9 x"VgT=Qn{n-R),fA;d>mI\i47*9ijDQіs+=ƯgDo-!RsAZ=6>Տf<ctM69o'C ~1eċ>Rʦo8O3Eyv*FlZc/+TJHEѐz{(8KCVFny{bkK).L1rEuB35Y^_PEw- Y:yRRu}iUӅ ,w6V?"}q# BmrY | =P.)GKv-9Tf:6nJ%ƈCô&Vt5k**W<(q''s`qs5جr26quUq28%vQi zAӧ>$bnBf6 Ǧ<xF֠T(1*C2KX d=|xtiAxݧ-Wٕ=^@c5d3e3Eg&(u_!W-=L{i^PUH Z |{}<dۑؔW|TE5f_Z7Ewsv+%1 zI= Zag)/C} ƪ&⪂}doTV{\Fsp^5ïJ~(mK:B-/K^)U )Djg_ _m0}lhܴMA1峁d-Kx~ \ԶlH0';G2D_uA5)Rthb Lk Wؽd8Kjcb\ +Y`du?JP̬=8WQy *#T.+ݥooM.놗51qp~9ɳb);*e +j5`2[.eZ62#`xÛ~`3P( h3&äY4rn{17_jG!$&?Z'Aka:̼>>w4XO]G(Kv]$\~&B#=M3^/XT1?udkӷB㣈Yqb,*$UJ/&\ :DUޒZsyž`8Ѐ/;:Yc;u!U|nt)}^ (ř_š^r9M]D|ǴAEl6[(cgT)c}"؝ lËG )892b?p75t}2-6G?h6f$^ ɪNI{l8 mV˒?[zZc96yhq;בsռωz~Hh^=,Ht 1Urg&IX*,l{!~vÿᘳ@DH"$ m~;ubjA-E\$~T\)Xs'Y8˭*f TaXzሄ/Q8\J<)r-!Qj̤0 pWK6f9\QƓLoġ&;lY:q5V5M)]GD!G(޳7 #(;XBe\LT3]%**}-Lȅ;BG[ >y+ YX-( G|NZ5ȹUC;ũ9'b+?_b!,І0S1ǻo@, )N;H|wzUN8W<09Hh/AgZ@:OR4-%L4b ~lUG2T#I#y4H\7< DxWf j}+^lmHjQxvt+RN5TQn{edql̻ŕ 1']/6Srkqr&-H P'8!lM/\H1ɹD$c<*L0Mr?_p3B2rkE:H&f5cVv߯+yX>_ڃ}O\tE 8QT<-΅+H!9i9.Yju[!g }ϙA/~R7`Y7^BoT*?yno.k%.kUgI(`Dm!v`moP k 0Q#kZTްumi¹^t+nMЕz [Ő6!ʗF? myM,գč^ׇq3g` n"Oshf`Ηjp xiX/XdhU$b}d˰Հvא+^7waDyf_pA^Orw TØw[GW!" y+8v?%lEukO{(^9hJ`ZY$CXL4\nLNп'0%6,{ ^ 4ʺŔ؃i)SPt"qGFZ04飮Qrkz< ]̤`B矝Rb߉{r)^`o^:]y(Fi+Hg# ke:FտP!X݄?i/䇾'6/(Ҩp)AtN{zU@2x/n!;&^ߦeoQ%̓[Swb@pFsIP3d{q6I4BIgt5WNΏӽK[W3~xD}?#sgx2DQ Ѣ ڋB-7774o ǝӒtNE^t|dٓ)KyI*]gz=0KOiC۝5/!Kily/* T\[D#:jg9/s)JpҠק&cۄX%zEv[ػ%ސs bN=]ZC4#jݤe R~/η؁r+h|r qar~(>bIX}6to9eԂ{R>*0jzq1qEiģI,= ϋg -wbUJ@K2XC$q@EEw(`!Ub#;i{{P{r) g(biSӦ?%+w9*KVCDØ 3Ց böc/S&64)%%26@Dx/>JZSe˜L@Mb'*~zg&YKCQXJoZXVLx"OQ~[X8Íg܇ͤM#5t LT!g`_:c;[k^L[ol 94ƾgPGfK "&>pHԅ@J.dvKU - JiV-a`%m~ <2h1yI$}}nѡ Ey{H5=htD&iXK,R֊ J2RcWcՀ ZwԸZ hQ~ 8@:`0Emc9+iA:7ߟiO嶝DX1K0WA>??Ycoa'8>i L5_w*oF@iQ :8*KJEyv=v\mzO?3:p|6ók|$HSvrmV}{J߳a{/e]O%5 >q77ylI!SA@QjWjS*ǀ[G h{~rXU>=CK6)bؗ~.qnr_ߦλ7̔ӑk6+ezR+~5B״W %̵Hں{Ft1;vbe9yTҴϏ} LZXK ijsK# 6@;R+V]]}p ]y]2Se,EX?zy"`ٿ8 / k<@ga 埤PƓ fQp0XS |6bظ4-=Z&eñ#w "S{R/X̜($'ne钀a(qI'HUtRo|wD$"pUCU2@юl43W5ጝ|Fӭ1Qlc@\X_S//(|5|G8gMaF2eT)MYJJ񥕣՘m:Q4{2rPƉbmC0wd.lX'9 PFe.[5Q 昚7c(mTw6oJkqI`V$A-JMgT8}@ !2rK,0\ڊe~A.T+>!lU;:;!nb; dgyW ] ނitACLaPevխed:cn"_OFsP.cmNJFhӔm(Hw:,hH ڶ!PI`iԢ(~p,ā¿tVPXlc6v,l+5zRcVS<"ÚoX6!kO-6ybk's>r =^᳡P5@N{jdTFRSQyYUt9X=݆r̕Bcʌ"ɵpy*U.E}'Aj[շGMwo,WtwK@%PU)hO;kD-~W|G ]7O{!j:>nJX{W SІUHc<&h=D #7FaGa9cĸk=rQn4RWhD؇e]#ɠ4iTd:A{E$Krg}(YuYAQA˓Eux鷌:&/=8Ր79ӕIwJEqL_vQY/T2Ow4ҁ]穭Psp<WWF]@eqYC%fWm2f1f,1]U=97*H3vVCes4+ǂdL4j |[Mh];[4Mzl-c˵;m ̦힐C9$+ίϐ(l?@J^ ȴ2$6lۅP>}8GX/3Oɾd9V2pIRM4#9l9rTx[ùCn~MY6pT5u!i8@CTnj.2QgaE֝-U' T,`c :IRNEiH (;(˿߇F܈TTi\'~UKVNjc{4NlT"qv;<і}fА&]XG'Ɩ4:^vNWLADLUa`V͞ʂybdW3v#l^ly[^N@Mtnj^Gi ww``nvj{dV? }xt'o ksqr8XЃ{6ʔiۋكG;D3t>Jg~y)I.+"0+w 𱐘6Bm,@̶W,MC`\P !JdcRǟۯ,Ɖ4ǜ\NoMn6Z҂L&L6/MuXkHT DyBoSbnkϹẓ7 CX]l2cVj<'Q:4]4čĈ}k|}ܻ,z)<v}n1Pa1P)hjJ4l.t,c&=K}9˽%tYè  hV>%uX:0CO* ZJ.tWtĜ8+~4"WLmN|1k+ufQUoϖP"Ϝ#cËafjX7$!uapo@Oh,d!ܞF.7pqЀgS Rxmfdǔ9kqMч@_h|_ɓH' +iܳ&kBMF;0tpu:K- lRqp3% 37x& wyՊQl bݪo7/GCVPPEf|\ *,|a5i$j}DoT4 "Y{mDXJ*=R(B%h؋e,:\KGu_ۆ)ՊvF̧7S{'jA8؆Mx ZW^Tw5|AY~n?I%) ?@W7Mɼ 0oȇ0-P\|V`hR*-G/|dއV}i3v!\Ǫ9;ANڂ?H%Pxq QfYBd`d_z$=8:&Gw/  ^S;JE7)nUETM魑:DoՁ>h DP=&^_# |yňü0kwqw銆kYk7@{x(zk`Bʊ%o4\lN+z":'$?sF|v~;" 0QEsƥ m&C;Xb]{Ups\ f MgҐeY߷&NC倃yz5W.Xa\)"lmM/~]\t֤ +ڗ;X0'-ad!=FZ6t,} qsGn{YWv}ekEIvmyؠHbkM@z~OsT8[L w’2sƇÔ;r呗CO㊢eIv@H­\6N1IL%eVS[X~0Y{֧\Tiv1|D1Dx2zyLF;{b nEYyr>"fbN.? B[KmwH).##|[dxgV7ڔqŽ8]A:Ɉ$PP E1]xWVE,E/>YrPQ߫b_zF*{6PW`SC2/MvaͤS p*@|H 7 I߲  z&Խ]RT;W|ĭ+b/sĀ}GKogYU@nض,ɣ߷)%K5"A) Cx@al?MgWl̻ xܳq孅>Hem}z ~p/b2)eE.ȅ٫?n5ڌxAZܮ0SѬ"OoF]9"Zq}R&]R xaF*pb=c4rKh uuC@ԣ;3PUi9G. {`IO>L ~A.$v4/.e~V~ l}itL[5k,82&Y)qfhT#ʬ8T kIcVeF> 7%@'wnI1w@des-;F0zwMyh' 8֣@{2A߆{`WXx+K֬4d%6 q6$% l4}=/v݊k"w)r8C:wHĚF~5k[;r窢aNq6}:ȔgS6ܯ ҙ `RY۔j e*m_M{P^kqS'-/3A딅o(F:EkO(ڡ9cy CLPQ"ar=+,KxdR`޽ttU c([ 7O=305>M]JŃa3r"G``)gv$Pcpt'jd=xt[Ki<^8 6"r!ݝ u t3;* _YL^h¤JgGuS%` nFn%R\oLEY\5R~PyC?+{A:TJ*WS2{f(IOf,XMm__U\S:ONo(^H}OӐV!ݽ$AXS` <~ȱz$Q{/B㲼EB٭ʛnOTČ!/uvGc];R}]ig`f̒;р3ErGtr6H3F,C2Uy Z@ |sA (O$Wu-v: 6'U/P֛}"f/؀e+q}l T~ [*ŕLCPlHWIqN**e4F͙ui3ZPam<@֑Jb2dV)a^gC'P4yeht([+cDϮwgy1?klu+ؙHK[+-hR g)̱[[,?'n7{")bBt[(X/G3J^GR]gZ'0|jIxFR1Kɹ~lCVn3 ,ZP[~wvNHl>o:=u 72ؤD֔xXNlሂrψsj>ہQOz|t )kq^5*B^Ye>iLҁTDž$,c<_5IR)P$D?[5{(}NP=[v)zt<JV(0kۦLM@ i5Hg<|vGj}FM$y鹖fFįלuT 1]3-с#y_/]zlCK,d]^3m_Ѕ3ЗdN tԴxo6 gSlaDxkca~BͱanvŘ^ּHv9螤I[@dxjR㑦]9$77ׇ&E4랙ℷ'OX E P^:>)/(|L\.Gm!< 0͛N/>+f{f#d}*@d^B]fVYf/Uu`ײ@NcܚTN^a%93Vh1H~QJ*q?_;XL4ՠϔ,!^Ԯج:Iƶݹ]< o+L5½y>H'$\sgQx5bRL"gؾlB[2 A8<O bݣGg@65vBs}HN0;MTkX,a0Ky+Ti[9̅n*N>~&X?p/ϳۭ'"Zކ!q@O yj/vC4"zS.=+T(_ёQ4hD{}_E\w$Áp__`ɺڈ8. z1bwtI!nJ4aUAr1E~M6%C_wJCJ@bSWԕczk#[ .8ε֩?14rfƄ9,rtU_fُ1]E@OD3pd{F?2܍~OΎ=1֍ JU@ ւ)2nh4~65FMA>ҕwWsbc^Q?*FqA .5RJ "lL! "4,Ŋ%bVXtۊMq=yC %!)vPѲ#aWkpCDefppo-m{j)jf}$yz泅< FQvTSv[rrS:JSw} dj+[̵2j X﹨im "|e' tCߐ̗RQ^ّr&>2 |rO臔Є(kY);YFx3ZҊ7N_~îf&7 O0 Nv <`׾;15]gN)Sˎ g:3>CaRx1zУ";5JYG4lݲ*9j=fpyήܤ։)h42{::F ({8dFô. q^rz|vyLВPǑ0o:n N`KVtrq')5qb{@>j d5ϑ|01PW^fq ڹӑYf5%fpyD6~^b̵ F#&9T?ɩ.kې2G, q9`˗ f,L͋ƻ"\5gtj0ZwIk>ʮZy<IE,V#'e_YC^en/A:f ,`nة?ɷ $u^w|2I;i{D"pf.MC( uZDDnsHGMHU*nV>6gD1U?UHaK'zi \n ~[{/lf Zge vge." T H0q3-N+L ־/@ Fͅihw j .1. :P},&^))w뎑`Z ]f3 "oAJEN2M7шEG†iXVt"@z;0{ @j mn0&0bvC<RKWn Ï5ܿ*I5y.wBھ_ή:4M>؆eFv̭zuZɥa.ln=·06t 'NOߖJ~[޺&RwWc ,k{d޲Cج}^r F bfۡ8G$~=z0F0LCYҊr,N1)i Oexd3:@:']T2ǥ (hF#e0C{Ĭʖ 8tE ZMoL%rpP:DRGmOV}zxnx[o_Ŵ3Ey}`+V9 0 4f?X5hw+W^~Kpt/ ,蝡q'W`*3bG蛶h#G[I{.1E<036@D[|Uw%"j셗6y ^|t7V'úzD6eT r UE3j*zHqZqo=hP66Ju1sK=;a|!I+هٱvYט~UdyFK;a zcG؅#q㢊myhL," dSMao`bt ֚Ċ@~S{.>pf`ʅԶY^A܆㮜— )qoѾ,eXBhA'Gu43,29 bҫ=h~k旘pәK!Vʿ4lX-+icN*ۉm5 WZ*SH*`&0YnmXO̙ĝLec}K!̲?C:a1Iql7 4"IFkam<^XB"$r[hoKUu&=/X%LHx)J1Za]Ah^[ZDfK7FʢRgtwm@"Rk.̈́ex҂@iK)reKQrFE إ>Ks9|C;!6΍>aWˤ1R ,23g:NBp”$[{"ǘ\`Cf 6PߚӴN]Ҁ||hNN=x/8=wt.k~Q#TH䰡!9^I4;0*bU-g+:.mCebzEl\lʓpʾ.{^O.D&sG=wU\CiV2D5#p>< na_9ZVBd( dYiZXL~weF(ߟ|1*sמ7ouFKVp'+EŖ[ ~\?ps sP[u撉.9LAS5QlQU&~i 㸈(צto>NsY\Wkn_O,@Nj2*2&{݆\ל|@KxۢA,n2> ^;8ئLg%0HXzr㧌b+Pݦq 0Mpɩ?mS 0nLԱSu;/8 HNhI ĊaɰASxN(7к2xEc`.l;UPb+1 keeQGl?Ѧ<ϙݢ~>l砷"?'q3!E2ѧWq WAUwNzXܫ޴u"yB=tǵl=̂aY0Vvͦ*["Ee#at/I:2"}Nl!S'2cU|٠t=$zb!X'M%f,cBwN֎^* :@+=|~B嵎+v娣' `DFX{'3XNoPlW A9Q7\Bq*CJgEUMz1?.ERfڳB!4z,Ҋw SNfK1X1sg1xR__Qmj ǨOSH)QZ6ү++fj )E}ֻZp/}yЪEefDL]?GCm#oŊ4ͩQ{T(.onDJ&² `Y%)O\fEpA?ƶ(#2TT? BDhď~'9ՌOz `e0e;  ϲdVD@fޖ 2f{>Kk'%a_.Z9d`C*Ƶ4I IMIYb|% ]X= GЏh?j[\|q`k ye3h;ʰ FX€,FNU$C28BC+^UU E"ᓕ`rZ2TyM{@~_,$=5u&Yqu՗_J}iȓ9/F&|W/WBttp2Ķ!) | 8-9VX~C:azRۻR0ȋ`vm Z ,,IZ 8'{3z!S5D79.O^;soM֖[Zc1-`6B.;5^`SWMi5CdDjX~֣Tަɂ'5ϖʑv/Xa֗ԝo Gӂ}e%+bLBİBue,Dd g<4M l+L[e!YT4wA&eP4n'HL]LR>_L[2 R_E>~jca2!Gc, *x%bq=tPYbրY3xbOשSWnaD\SV%J_#/<Y*/ yoj!~xH!|NuuE]C83͒zj2]VŘ|dK W-:7 UUD1?c32xCc >J}GrlZQ0%A]dBwҚkc 4 SL!M{ *z'P?e\