From c73de1da3dcec091ec03672507f348254a72d38b Mon Sep 17 00:00:00 2001 From: Lukas Winkler Date: Tue, 1 Sep 2020 18:15:48 +0200 Subject: [PATCH] add description --- CHANGELOG.md | 4 +++- README.md | 8 ++++++- SystemSettings.php | 9 +------- docs/faq.md | 5 ----- docs/index.md | 1 - plugin.json | 46 ++++++++++++++++++++++++--------------- screenshots/settings.png | Bin 0 -> 47456 bytes 7 files changed, 39 insertions(+), 34 deletions(-) delete mode 100644 docs/faq.md delete mode 100644 docs/index.md create mode 100644 screenshots/settings.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 8546318..be718bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ ## Changelog -Here goes the changelog text. +### 0.1.0 + +Initial release diff --git a/README.md b/README.md index 55f2995..8bfd726 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,11 @@ ## Description -Add your plugin description here. +This plugin allows you to only track visitors from specific countries (or all but specific countries) and discards data from everyone else, reducing the amound of data stored in the database. +You can verify that the plugin works by temporarily enabling [tracking debugging](https://developer.matomo.org/api-reference/tracking-api#debugging-the-tracker) and checking the log. + +### Important Limitations: + +- This plugin needs to check the geolocation while recieving the data. This means that every visit is geolocated twice which might cause (a small amount of) additional server load +- This plugin depends on your geolocation to be properly set up in Matomo. If the geolocation returns incorrect result, this plugin discards incorrect visitors. diff --git a/SystemSettings.php b/SystemSettings.php index 134795b..3abc0b4 100644 --- a/SystemSettings.php +++ b/SystemSettings.php @@ -11,14 +11,7 @@ namespace Piwik\Plugins\ExcludeCountries; use Piwik\Settings\FieldConfig; use Piwik\Settings\Setting; -/** - * Defines Settings for ExcludeCountries. - * - * Usage like this: - * $settings = new SystemSettings(); - * $settings->metric->getValue(); - * $settings->description->getValue(); - */ + class SystemSettings extends \Piwik\Settings\Plugin\SystemSettings { /** @var Setting */ diff --git a/docs/faq.md b/docs/faq.md deleted file mode 100644 index dde17aa..0000000 --- a/docs/faq.md +++ /dev/null @@ -1,5 +0,0 @@ -## FAQ - -__My question?__ - -My answer \ No newline at end of file diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 70135e8..0000000 --- a/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -## Documentation \ No newline at end of file diff --git a/plugin.json b/plugin.json index 76869f8..64bc723 100644 --- a/plugin.json +++ b/plugin.json @@ -1,29 +1,39 @@ { + "name": "ExcludeCountries", + "description": "Exclude or include visitors from selected countries", + "version": "0.1.0", + "theme": false, + "require": { "name": "ExcludeCountries", "description": "TODO", "version": "0.1.0", "theme": false, "require": { - "piwik": ">=3.10.0,<4.0.0-b1" - }, - "authors": [ - { - "name": "Matomo", - "email": "", - "homepage": "" - } - ], - "support": { - "email": "", - "issues": "", - "forum": "", - "irc": "", - "wiki": "", - "source": "", - "docs": "", - "rss": "" + "piwik": ">=3.10.0,<4.0.0-b1" }, "homepage": "", "license": "GPL v3+", "keywords": [] + }, + "authors": [ + { + "name": "Lukas Winkler", + "email": "lukas@matomo.org", + "homepage": "https://lw1.at" + } + ], + "support": { + "email": "lukas@matomo.org", + "issues": "https://github.com/Findus23/plugin-ExcludeCountries/issues", + "forum": "https://forum.matomo.org", + "source": "https://github.com/Findus23/plugin-ExcludeCountries" + }, + "homepage": "https://lw1.at", + "license": "GPL v3+", + "keywords": [ + "geolocation", + "tracking", + "countries", + "filter" + ] } diff --git a/screenshots/settings.png b/screenshots/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5e013d7c2520ef8443ba670d09de0ea566d774 GIT binary patch literal 47456 zcmeFZRal(cvMwAvcp#AA5ZpbuyK8WFcWs=Y!5VjWcXxMpceln}PUc#3?sc;E-T(ZT zr*FES@eLm}s@{65zWyaABZ>%z1^3~@2Sjl(A%zbgAdWwL0MGmg{ksH#GRX4x7o>xL z_>YgjKOP?qgFk#A_#iIC|HD=LbPfK;50`ej2OEL!0as}Ja;lRQgm5DM4?dHG$pp#4 z43|^Ck|U-@!!J|k+$KinTE?53jpwJGCNS*_4w9M3rbf-f*~3XMqcG?xqk|(q$q{AK zJba7`^!@mSK(} z+f~j794+$$6geLl+&@3*xxjI8aZRnwx(u!oI(Xk6c6t=y_9gyP;h(yE348-|9h+4h zBmAHLr}aM%KR{^;`UoDCPa#o5{n7nj75LC~Gsh$TQ}v(WZNGs*AJfiaP{aMNCO*C# z&wtMIujZWrkQjw6at4*;|Gf&n-#wi|{O{7QsJfZw0^wcR|19@Ev%n~I)Goi!rP$k7PqX}1q2lK;pBfn5sM<9+NVqZU!(mc)^m`7Y;wq*S8FB= zlZzvBk%1jtdyCio60HvM`Q(tjJ7>6@7tZGXMqhrSChJ$5kUnZ^BiR8AnNn8!#%TBMJ&jD* zWF=-~c`HWLP*JUlv8`kVp7ov|RyEx|u576KtIZH24!Ori-)FU7vykU(+G|DIr{!|f zm{H8zObD6Pc&^=p+CCaJby(lBltxr~ZoJg6xY5jy+a=&1N2V!Rx08Pw9CIP2Oe~T>VK7!ISe3*LRyJ!Ub(gczx^>_L>f5Pp z)OcZU(AAp9jB`02*ShQ#u5?JWX|n=|IBL$Mn2g-Ng&xLP2z`*JI?<7b$v9=hKJXcAP;mO{9VuKezCELW-;-PIem z5bDb{fv;{PVYec|v=aG#*mBzOL9Z)Uk)D*eFosyJbX8XG@CzeJV*wgfH{q{xH3=^e z0)}?3al37KpG;cWT*C6r5sahQh^usE0EuxHDKO zk}|a7@j+%4LS7DboZAXly^+BT`*tZNrX9wnrsGWtBCK9lBRLtm-$^VDxQJ2?lTHUd zq8?&POl)SCGPxlCiu=A_jhoK0Zhh>fv@cS+suASu(#Hq3<@kr{eNCoedOI3b4f>c}EIzEy-vMcO+#G;)IER(y`p4{u7jO%}&R0du# zUhk}}=Af(q4!T+7M<#rSuy;lJkt{WE7jPXDKwWO%#qLE;m)poG*+Wwe*azt-x{7X? z{Rhu}X1lC+?#qC*r|||yXr3sAEP29SULY1<&pBQ11&3@@uyV!aJWa_M=j0#csMo8o zTUUq+PAc!sLiHNDnf&&?OtqfINA2+z-66})P$qYyn;y^4lAMe01k=}k`b%o056 z)=ea@DlL*^=09o*JO`aZo!WNgTW!*&{nOHT^4c9n`a}~?qGFg z`bg!2rvFkOun2aU+Cih?;$jl^H)K$u(^mPWFtq&bJ5tS%(!+{_ z+YPz{_9bFSmgevlBY})>2~8cj`qc?($8Bb{+Tf{U8frl>?BZI^%ImNNk~Rg6<^O#ul*p z_+CqZz?rpcD~D>$a3)R{0j+f&6KrQ2$$G4!c|w8V$8&X9^*kZ9qZa5h0O&k=p#^)} zEsX0qx4ch3&;Bg0(G?#tJHLqp>?+d73rD1GeHi)?Y$P}0q;v!|WEOWNlGFupneM#r zt-Lx`vT2lwNnt}fJhQz?R;m>!5IK_ z#KtWwVqHoz5$2=!N6dL^wCpIXQ~r($_c z@(D*pWQq*8ja;ZcH51D_*2pD1P`dEY94bx>3Hbj~m3f_?D&&zP!@HrMT#k5 zzFG;&Yp2hy;Z|ul>()urYik=LRe}>{<3a}5C$S)nH1r`xrImup6}lZ=gnI9IZJFW| zdNhyqbLq7F)131Zf2!^YLm(jCxnkS8T9Au2JuTjv_G(o0)sM3>W7#oIdsa2$7!5;P ztO*V|=V7OQMPofdzwwJP2mXk4E1^P8j%xEnIc=DaLB$y5{D@JEZkp#Hta}@;#8yiE zd9mY*_>z2eI}fJA{wTk_JvgD4(L_EzxDu)OA0U8>_^%TN)qKessbXQ*VtG}_uO~A& zvwyxF6v<(?yuHM{V7vDGGW^6yM7=Z;cJp>nA!VS_({smhID%852O90u!-Zw8|x7>&+Uq)!p^>h0V&c=Vf7|*IH6Fd~= z13SOn(k~Eer}KJ$7;$eC*V9q4GG&}^%Xu*qQLin&)i$E`$mZT6&_b1kHU2_*cnM$jqVW(7}NgNtxA$l;e&)6erUT(bWPk@G@t9K}+J zLthfb`HZHvEt>aFtA>X011tf4cI4i&f1ELipj?BDvjNn}S?%830$GHa;*vc}X^tQ* zoGY(TyKE6&VJ%-ujGqoo~2eLsN8H(5)Ua$>5yy5;kxpZ}xXv9aA; z(i&&2MuQX}sq2mXcUTQNerKF&s!(Op7Db7H4G^ z9`D|uW*Xff?+i1EwgWOMeFczK5Kcl}6IwvtS_&o>d;_8Ie9i#fGSagg7x)nDKDOXk z^{-A{^lKiAfssGZm9MB~XC1f`VE=wU%?NcfPSXeijeMH^62%PAJ3 z8qqL@tR?!?@0eNzr<)>)tarVSpyo`Ib2Xy!Eej|TmiU>hB$5Qk)Kd8>eM%2v!AxQ4lPp@6C!L_(a4noQ zuiYT$Tq@WJ&nv04Jen^bsG)%MFJJeSz6x`y-PJo84j+sZYv)vrMLdMN*WG#2I;MSC zzi!Y~)HFFP5x&ZoJ}&i-Z#`4ZplwNV(J~c!{6=v=YlQvuA=e79VovErz8#CZzuVYo z!O0jWy+7L%oxqi$iR+J_+cRLFlUv@3rlrO$w_GjxobMzz6q38H!Q`H6K|O&s5T{z_ zNHI+VG?}54MV4E+{#0)>Cekzq0UM^2w3t-HChi@UKmvvQgGF2F55*KFJwVawJX) zv^OHB`)jUbbq50HjddyX2a{iRl}z+zUMwvUKl&?Mp6p_|T*5}mtu2vS?W5j;I?uL;Qs5@6SaP;Gs>|v?Q_5f8=_;wMs;ikn38Ga&0tHhe4hA~^N&JT5k!Ma zE$Ah?&7YDY%M;RuO2T}jH`H?_J=e8P54$d47ww7hgJu>8X|&0B?1}i(Wj9LWIyrd| zEoP934hFyUvM;jH(BIeAvWUW`ixBN%+Phgld(5drQN)#%p?<6}llD zq11-BO-+UR2`eSA!3DRc3YU9jkc{8i6U3z>vM}~K6x>%Yjo|3}~bM|A$b5UG=ma%!q*{~#&6?9K_^6x;iC?w6|(I%EbF zW8r_B1zRoO0eo+q91*}KYw{Li9DDY8v!_2v&c8((p{R4s-32ojxrqLA!CytbIw?N( z*H7nbEj`+n(8oRNkko$*zpg8!*W(_jCx*cx@83m@l|EE2&upzbkJD`LFB9)!!^6Wc z=J^*FwlDYZZyWgJi2rSye%~=$C|^B%dGARAE&kHNLR%=wc;El*!{2xCq7%G_CwpDZ zFDxwVxp?$=t^{<#p)K^Mo%^dVVXy?)SuKbGf2xdjAh6tpje7jy@#G?7#}lWWHS(+X zlN+*gy#G#_w;K`)MAPK{>hLM|!@UK{!vHTS(J9!pSrK{vWvgVPvJ-aMq`s6b+x7vm zfwunvL@vio!rP4%w6o5~{uAupC~m-ER}#b@wD^S_B*r?M{#|(Q2%V5Y*qD1xe}uE+ zUBy#fyv5SPz2CwIErk6JHf#fCkwZziD2L6@7|P}SAfj62Hm`+tSA2JKlTGhuStf>Y z@$>brtVA@Fk2ZJuWD*{sf9%IY9V~sX-K;*I@1*d{yjkSoVYSYhMSjQDLqc9-iDaL* z8akqlBowJMT)_Rh=in$$P!qOsOR1lW5Ti2pV64B6mS0upAL^)6?2~RLPp5LbMpSs( zyL`kYT}Q-s#Zko`n<2E*v;yhG*N)Qu>n^w=lsI9Xty6gqzq2DGd1~zZKy}%S_EtYN1PAm<*bfEmiLoZS667w0Ba*YLg z>TE8T78WvXn7e!Eeq4DX(aG3zX}up@DQKEqciphB@i(*c<4d_eHL$(bfyI?|ve5zN zX2Ym-yaRSrh~HT{sSXN@Mgx(oqz@Cbst;F0bBLAMjhodos0OY2GSuHwf)7p<6NS z#mhO7L28P=771Cb!n$j`dHS(_B#^udv4q#L(atHkXTU+VA=M|&rb}IlsR^frNPs5b zo#kAw_W0oio{2%chzR+gYxpb`9T=vR)9cJpK|K ztowZ5RzTBV@9l=kH2Yybm`cYZ3@8ycIR*f;dEJ5wIrkf3kBP%F1#9Jt1I zlw-KR5n-#W8Xk3nboz^X85)!BG4H%LEXy;C;F8|$a7gkuhMz|+=cn0R7ra7&NN79p z++aFcf2)?iuRT3AIF7taueLWH=liY4giCiu-#jll(Ym^nxU|U4Gh?$BGwk(AN0$@O zv^0fjolBi|X2=1aSS;ffPWg5GO8vpr6pOdBt7c)6k)mHdVq7PNxg&~TjcA{w)cvmE zH@SCobbq&*V?L6H>YqML3zPkIXY4B>y##=L^>afBlkMB-M&woY9!E*)d7XG<*;IE< zg|?gn(tsrAr^hRO>bg2VHzv~`?mb`$;IuAX-aOXGDp zW?|mId@*)NprWJR7{K24qiiwfU}8_SyFmp`Hnt1XM0!n01gx?*cy>fy8>DCV`i%N>6xUga1Qu8KU%&U*${HiN-cVC`XaCox;edMv znD)r$Z%xdwVo~X&!+D=XyFNHdX9O+~Q+wSpIvbCeS_OTXQ6@G}Fo{%A2^g-Q3QjeI zot|Tk-LysQJ~x|Vc7slQEi8}Dmk$l5$Wm53Afcfv316Qjn3W!fWraC1uQvFE$%xfd z2ff<=TG3=v7%-(|z@$R*39dbH% zPWJfIC}8mXjweQ(a`)>B9J&t7l+YYJ%ZB#kR+PvQ@;{%JA1z(wPX)K2CIYLMs9#x8 z51%(c!DUi?D$_U99A>oNH;`g+UcBY>HOMxM)qqysuC5Z_NY30P!cK|JoOZS5-B-@b zc_hHC!%N9KN{H7%d~5AEepey-#CxV~wjVX<7V|MoX$^d&06Nd8q`PSYtU4Y)rJ5cY zM81Xx6mVtKs(&0-dq(5v^#Jd$s&4m)im zeZS^QyXLHnWHhTb-D={9Dlhrz9eW9f#;vMU8oAm`dCb(&8f2U{mgvK9aahRTRH~QI z^@KODMx~>Fuz)M3)`G!7lG$M*6e@k^qG8m-vX|fcy6$7EeBj$&V5ca$4`F2WT3leo zI^p2gkip)y@$mYk#t5_1k^&$p4b{#b7Y^aRa*@J2obOpK2lSm!IrtMB15-b+#@4F!+ zWDsJ)Bmp;UHB3^WMLu9PhT%UX*5vI<4$f(K#|Ip{Shf{*_F;tz5G;tuPl32=QOG}c zYseCI4)$gX;!>dNMQpH0+0xT`*Ufv|U;02plJtOI-O!2d6yGM5haAy)?LfF?6uWkY zjW46l^E)@--?;!X6iM*^b!_dBY}w~xhv{HXR~9{B-p13t$sDY2=2v^uB0?0NY;>M9)cd)%jo$NCMc(RmOi+QKM9r26fm&XF!qYhOj9O zvu_NBL-=zFoWFjzshH}Fvqy`6AY#$9=DYDKp5shUWFbS^co|@Q*i`)dr9Y@!2au~d z)j-ZX4DDcHRPb=|(bZ&x)F&gNf9+vo7|sjOvB{y%O_T|Ls6xv1>kllG*%=8>FXtk( z>WG_x+h~11j>V?n_7J&Jl*s5j;b!2}L( zN;vnh!|XuBz)eEJ4qznWs2&!WObEm&QA&?`L+5$Y_UpVb9ZfNc&S;syxo=6hXr8i{ ziF#x|4mEMwtg%o&5Nki-ZjT!1^P~aV#}H_9LN}WgxxT8w@Hg)ioz)s}aUu@h3A(&o4+Pwo*v|V@E}O4#Zd;|$)Y5a(D-{3{ZU^jGLW9=lp&+B3 z*@YzXsR!McT+GBWPQO*86)etoK=(`yL)!}#nvro&<%1I-qWSuobK_O|(6aR1kBo;? zDQx1-+X5it=6Jue`jUP5Bw@!*V)bwYs4Mr)icxDRjJ3PxT21|YzCK7*Li^=sEwY(a65Ahr|0|`V4=T`;sj0H^t&GokpAEx|O)>){|F?nuPqqbKd}pPsr?)D) z5zjx^@&;{l*5&TwzmbrSf$vuO6VEBpafI3f<^LK**AR|g4nOH^T>Vd-gO=$N`umB? zRG?nf-z({m@#So^HN;=%_N-}n=ude#Kh%3UYV&lZn>fDBD$l%x<^g~{$jshEM{VIa zcifZE4jPEUc&&C9A>VJsFamInJ@LX5I(l1R#N0Bf z9l#(FytZ|0UfV0;oA8D;XxN_5cs^V|_6J3&RREZ^$AzABo@N5uNEyUzxLmz)a(}Lh zGWKkAfN~}~jwQ|Ed4!*$u&)ZYVR(mSU!ji3il3q);a^uKfz!?16bQ3gS?H?J|K62O zB5FB}Sm5f)n;3uru|f*j!{36VvKSB`)x}h`b#Zphs3Rl|^jpBiGA@RJ&z z%t7tz-a-TqHh$NEIDt0m2T9ZVYc`~o@SX8^^%1!w4*TiYj0GB3Vc z+)gS()Gv9XLX8DE61Un&o&L)skAoZ~v36)bNdr4;dgQU@E9Q1?bgJdpt)S+maIL&@ zwoskDHGK_w-<&THwe7kV zf57w->N{j>y?v&*FrOqMyXTUyP}iG&5@hAZGppL!%F@)Z!}8{^`#Kfn^VZC7Rbuzq zM0aZz3GDzqr?ws!3#7{x!}xW=U)>lz0pCiaFy7Y>E=eYn(ditatEJg&FkFxl>Ia$W}= zVfb=M9d0dUzd$6`2T2{NsCG7GP@&g!K1T1`BI$^%J-lssw)h!7H_dtGwg;HKM6sRZ z;|mn8ZPb(-yDP+EP4(l$EaK~aWtJ73&ec`f!0 z2WWKdr1e@-)%uC7gDJ%|47PtZmv|H&A93JS&CKR{>*BRn874!Ij_fw3HnqO#`ww_p z+%bU&J2+*!aQO}IAVH?V$~xs;-@1l6s>oFEUhzvbr)*u?XrU_mWnN#=tiAa zbxt$tT$Z@&3BK|U4J<(+DG_C^!=oYjeer9xaNF@?^! z)O8IfcL#|!jV)qzpO4zZ32I#(3kd6U5M?*robDp;>5dj1pQ|_Lm}I#j7c${cJojX& z+5ibJs2=5A`@wl+lbg)oHt+z2bs6#V*V6udR_`F&x~;|8Gm3l9y0BlwI|jLxec<+THfzh=NN3gKLwgh|Fp3uN<9P5UeNqh$0|7Kr1{Q+Gw1S(9@*YsQx(PP%)u z985kxbMy9$pB%J~wVdd`A#vMrLP~x~@^dVBvvM=Ur4q3aBUJ844kVFv%52WB0P%CO z1G2o|S=gHGiQD@5Jc;XAPX10zbv*=UVS zB5beDCUZK>a2dYb4%Qd&9tK_`R4$_*SJfP;ML64$i3CUnTL%;ib+e&SbdFoY6JE#E z0Y;3=r?zb#CV|%TR^&w8i~_Gx{;m(EQ*N)Q5^L$P@*cQ9Jz5!9xS&H(U*+8|&0TbN z@qS`f?aVsgz@>*3fib$3g!YW`(J*5ry}kVS*m};KHP7#3s$xlnFcDI=cU6@_RxK|KWd&!P8ah&@q#YxHIi^w$2i-3- z7}Hh6+9x)S0_;*6ErI!)rpRIjQv8(|z+^ndS4^=jtiKo^`S#FU5kcSE@&V<*yfrd+ zlv$pJ)Ie`K=EBtaQ)mhsSw=^s8e@vU>r1%cXseKr%L{qU4?~P*ouKK4ST)M&iduWm z#;@mV){Gme(IEhGrx@P&_2M_(H5WJIZy9x{a-so;)F<0Ehg25g50=w?!x1-|wv~SjVj3KnBX*u`vW)#>Bj}>*j7S{K!2x)t72jjwYFA2Nx`*7?G|653}0}#YgwC1qf<@j!g(FMy~;PA*5ey* z_dGmSj&=^BrjXmN#hckkQ%x*REih>NnXPS%;ke48yWyUApYWLW<+Zg$yx=D-gUL}`~ zf+bR(yq61Dv%_@~SbVm?Rks^Gle2@$<#`wU(GB_isy))jRVM;d^~|{g@le=r?euZq zi&#-W?hQyMAV#vkge1Cy(IT&hKylG%D0o0|f=EPbKNDyCH6?Ze;A12n?$)kZ;NcH4 zky}gs_I@IiiLdi6Q@*e94|JB>*6M;DOii0@0&$lP?RqkZ}^)xA!9E(Hcv%qtT9`t3pZWNC?wH7`8aY z4g3$lgn#0x7e3(XIuFCa2A-iQQVwxuP4T?iIimLljtyX_@A}<}pXUg)*rjlN8O`}kBNTy@KU^LN4a0VHim<852lI`k z8KJmwWXZ;(D7r5{7PtJ|UQcJYNwAps+7CUL3mB@IH^-=}%7>QD@kH6R-D&4R_2_K) z&NE%HY=q@0>XLDFjR{3pCRNiQzLM0(H+_j1*?Hy6tuCsu$F4r4Xn%9lr)pI~y;PaJ zu%R3PlF{*H%vm}A4VnuviN1)a(dvH>?fv0^PByNRHK$OXVP2Nsl!8zgi%2j4O$GnW zFjp1xH#@8+A6oP>Cm(foY^y^zC=zbq)45FgH|4|s*TzYMv4Vz+XTw6^|cr^@V2`$f7n z)Pc|{lA(?KYHO1}wET_( zIi2tBzM7%1pNYFFec3wfOPTJ_kkg<|8F?ka{<UH3wwJ-j7(Y)^d4wOk~VRf+_`-(Hi*h7JC99gC{I?PCkqpIN0S z>wrdBeP(`3)%Eyj?9r3D(5SdT?NKrp*mis^(7~H-&2WjX^M$>_+EmCX$s_2n%sK+g zW=N4OH{-U$Z*e}AR|9r&{Rc79|4>7&h2Z>53YTz(1G}r#Xp}&Cxaa{vnqcJxyXEr_ z>ovMwiAmAH>aZM0-kJ!=P1epY#A-0hzRJIJ;zZN=okf8W_5*vL)!0ZU!0!=5`x%#_ zR;Sb*O!oL(3AM$e2Ws|k2VkyDt6=37KT))ZrQGL5%adT1T^~9*u>Tgd3P=GYXLnF( zWWniR+aayY?!Li>%WzJc$KKKrTvA$a9D#oYlYyEQE&*US>hC4JXNzkunu*-5u`5A>g z=`;ozTN@!x;KrT*s^pI!UIQyyEt5h$zd^~^LZo@ z4cPK7)>H3}nTVpv=5k@Ocj%qF<+XaKUxX7ua8M*XK?zbi~hHI@Y&0FhKlB6jM zBP(+@IOiR_%W#sohGyb1s~Bugmw?rnDYv!SCROg9Rs}c9QwP^R;*5?M(I^K|0N3_s zF?R;MeSM2hwAf>PY1Dl4UHG%2hr%a@Gwmz&fSbD-R>A__Z>&;qkyAK9tlsZJHe}9i z<*=`~%59sZK$d3->(WI0l>)BiQ?opqr<;zAz(MF=4k;vjZ>Qu^3g?MOcEOZId?k#4 zPI+EX&g&C(;~Z@ACS+?hU%Kgo77NedQDl@OfGef8>qS@ca4)mXJ=f;hE8Fw@Uw(>v zE@{SEY%E#TL8#{Lp`nY1$=elueXVfWm1{k?$BoJ(4m`4JdfWBT9dXVg#OVB z0lAirNe45r)4)5yKsVvS^55?H2Pix!-+s~++&R1ebwokj-6?am=c_EW${$`sdl-ZC zwI6E!O8lWe1ovu>I6p*iV`(ED^pm_M6_5~iux~cM+oV(1r|CmHSwE?kp7ui{#T9+2F~wbm*39dkG~nv z{~62&+>fx6&r=Q~>Er)gn}6OO)V2NnDjsqKk>Y>FRDV;p2q7OJZu#{L3IFNnhSV1H zB%bT78f<>+pTc&z1%}gXeR_7|)xQ4I0p@ON;sD#7T?a3z-W?w)ZUkZuv_sB&`!zSC zuo*}NWBcoGnl%x>pT`H@owM$}{%?Nu_A>Qp{R-26A)NJcZK~&C#{Kz1dwq;w%=S}s z;b6>FYX2?2*zsG8Yo(X_`{T0C(zS!ddplJJW;0tCecP3n^^J`aWa zBwe{rqO%1P6SNd4mNqB4*kkDHpL0Sj=3%nBfI{1By_Jr% z)ME~t+Z^q3Mb-FSy^j~{$H;<7fPWH}bWt$EFNzck8HmAO8|EH@4D#P2(Xw@Zv8*-0 zTMZia`bV5CJpK-KK%iipzi~%aUunYKkp8xzteEXGfAjC1uduaBTeCypXbYRk^7(hhJKDqM)WAp`!B~n(cBqH)Y*YuK`$#x)NUtGy@UQi{Z|61FXNil zK!&cw)rPkUov2tcHASk%!2NK=%jQSB>K%%|0CC!w61hd2eR*nf_7vu z%9y`XC&M(sU^62;14i=6E~Z0BRGC=OtmdFePMvJUe3Gxx+nHo~s~5EUG$i$ZyKXxd z!q?5$^VOO-v`2iSKS>^Tnn_eK{>69ESgghEa!ktU`5fH*Xnj1s7K^%<#itSo@OxY# zRYQIo`h|VmWYbm;8QQH8>jDmAJLc~8g@k-7+)?QnkTfhr)O4j`=K81 zxn5GtSEqrIE#USRa)!c#!l8&bJj4~+`c}-$cZ`&W)*B!*b?k)V+muHvrIkTx z_pga7`7LgU5*-a+Rz*kpFGitSHqYXVU=mC}vN@PxZC-oKTfYx{je8VsoXwA_*Y+Em zrnNqo-M+^r7Go8CviHt2**Hqt#*IynoiLMR`%cNRNQGs735Ivlb|p0;C4_jTXK`fw9XanD+xmWH8a-t-vH8jW zIV@18GPOlaWDk7I#NEHo;5MWw5%U;^PL@}wKd|fmU%Z%(gWvnC>u4xOXw}=!Cng(c z$9@Skl@*a=(!-99!1_TUOe-81UVL7m(GbOnHtK`=;|hTa04fDzH2yY-Ea&MmvBbee zbsLY4<;BNgPD1PRry~$zN2l$mY!aj_W>d%NBw(K$b1(Imtt@O#okG7Y-D=C4A^Kp- zgd&73Ie&wK^XFol*$-PBBZW;$<;$Ohg6ajmU*n&$i}Jzal0UWhXk%hJ8?WTxrG0Bh zlg|-(4p~4pg$E9F7a3Pv6p1HddwuQOP;n_Ua8VSAH4sE0cDlzf^^*8(vFf(2X$#-g z3iymd``Rz*@cE$KhHtQxn2YEPbdXbPLzvC!6+6{C-Z_Z4Ln_Ok3skV>72-ulDAOP? zCJiiRV&r zO$<}zEsHndGVbRE1BPHvuACL^jjjW9PSxZN0QK4(;B6^4E9_YqCp+N;M-3EJ+NQ;d z#}*nLJXg4r2g=iwk0|$!)4YTOA$_Wtmoh>Mww$}`i0TzO0!6VFTU@w5b2SZme*X=E zyfvX_tGQFm7=MgvTkcI+EIIFy3f6;kYA~#6ciGDR=iHUTpr#6S+T$q~%jx)uqkpry z&?v(P%&vs{{Sts-$|<(U-&|MUsIcTkh=(j>(S}OQr>}6c>h~3Rd%xW?mb@Q4NS?DJ zi2OAQRn|jNMFan#%#9qi${pA7shjE=wxd@g*~zYT;%O31)8#j3MVFr{;^-+hpsv=~ z=XK0ZT%~TEU&5_5$lhLb!Q*8w{Ybh?DE^7>`%v1p;7OxWhu3JoubzM$*MpO9A!$=b zyWJV*oU&w6_^rId=wM*K^h;WGv^<63)wn-u}6>caPb zv7CkNG++%t61tO(`q-;vj#E~v7+p^F;Zzc^W{OorR>M#at&lVFrs(u9&A+Pz~m`2&F{Y*=>d=vOBZ)?---z-kLPUL8u`dhT7y8=k%A!VhP0 z*>aT%YYRS4Nlr=!o_MpBG&2g%X?*G7@SMNMQZ;6dvruk{CDHU-i4MeAuN9{#=&fIL zH>XcpAoh2JPUgsovS?+Pewpir<|)Q6ObM--`^w)WzkXtanvdas`RTVun!?{UL>fc# zWT$#dvu7Mq`_scR6=%QR+41KS`x!lf$p(+(_q5!FZ<0{U&^PQ;!v|TYO*$R{CxObV zF6Ks@CSIJIo%=SIi5C>O`b}~ubHbeN;)WS_|3&*v*en-tNl)PJSw&5_V;>8O2@l5Wj5SG>k>?#CBbc~jts|%>X z(n%1`DGCXt?QL-aI653w3k$ekJgp*69e8%|G$iO&yp&7}* zFAQ>oRL4MMDU}49AUuj&TfKLCo3PGg7Y(}d5iIAiW^O}Q+F~0 zBl@gqr|i7b_a9l!Jt`u1FnD(sv$qFvgLH+x+@ilXn@OdhV}x#HL#Nv*C&vtApRK5Y zjn{%7ch!=meD~#0TS&K8b{a34p+#JT&9_?V?#R9H0TD`1W&9$cWwga~RJ}*` zMmMu}heR8`9@ZqSN>8GS(tb+srd_u`1vI0dP514U)I8G-4Z4%Dn8WXcBddR9SMTy; zBAy>>-ep*y>YJ9^)}dhFIz%n9t&mRZ`zfr2x_d=n{0_+vqcM*dIQ z_b|Qf!Jf4luTY+C(*&%SKCrUVKm7g=d*2z>Wb^c^D1stQ1QetwB27T0NeM*+l->f; z6{MFSy@jTTfPe^ybdX*GN((K3Sdd-=gcf=UCA1I;1WrKldGvp-_tPoYd5>S>?cVq9 z%+Aj4%>HI}ahbW{>H_LRxcj}zy3E-Qc!CAfpKhgeV`VL_2LIfhZ3L9)sP)- z4kXL}0v&+$r{Mcio)!ySO-}$gf%9QqZ?cqSg#p9CHavE_NvnHra35r}^l|wX06@kc*gO zF&kZxzC=&l*t+%as(PO@j+MLZwRR0Ptp5wdi!mB=jW&njC~rpQ3wVe|`?cZ-ZYaN^1(V1SGF4tlbpp|3JTU%J1>?IW`+54>nC8kGiG+Y!> zgk?r0=G2Rfey6s7MA82NYi(;lt=9>O71}=cVxF9Ly|w1$ikhFM@W^W;SgS+2Ms2?N zz}!fv##@GArK+TgEU+)Q{)%lw&Q3=4KY%5|X#e#v&Al#+rTAW*^Ss`iWXHfg&+P4Y z6`Z<66JCPCBJXx5@B28eYDP-yseH)`+Nc}MI1ip)ptW9rdX}7hr?=1>^sS}fZeqVr zM!qE;_syL()ga4H*_$YVQSSDWQPcG68dW1_!Ue;1AHQ5;f4Cm!Bs3-l5vNXm zX>sw$3OqjbxY}2!!zkuqT{`oCx#d3E#vb%h)S7akAR*$~{ET;cw}am?l7Z%R|M<%# z^>;d;oUwbO`98Wyw?n1okk6W}4G@_#%N!zkHtL2~838TiuNR3;F6&y9z4c0rMk?$e zV#_+cnzh)!e%m`w&!0Y`9(ksU%egF9#=+z5G7d$l=!wYW5!bywC~c1Rh)*&QF* z(|?G27yHupiHzK_Hm2rlRo$0(Zk&eoJMml+G<#%!8`wC;c^UZt!SbFG!*eWgEu?m& zDcwP7n&{kjB`3bWtFmerjr_zy|Lp>f^JQ;)!!5)mrEOyNyUfjkP(7m0oe_;!BgaDH znS*m*pDE*hT8MHn6H$Kgnj{arPrG;hBjoi!t=t+#zilfz`&PR%oXlap@}{T=a+i~T z=82hF!NUBjid-Obr;dN*9yi<4Wwk4cb3vv`Q7ZD=S$+0pPua6Fs7r6qUOUYi3HH(J zuZd_p$+d5TxLYuH(p$mReKVo(X2jX3Wc1}lc=CQ|wyK}INW&)wD7M2Td3b1+Sy1$p z*l9xSbTBl?mhPM6@zWmW$3OEhvP`?YfQ;OIWsTh6-60t?rbN7H(K8rIMPhl(%u+w` zTtm3xr!}TWG?;_8PWBkTRCt!rl#WSG8olV|S|Oe>M|KDwXG&D*acVQuU$`0>W&x-!yjb6wyUbs%;Xz1~*d`i9#w>|Q&-B?kGhL~iZHj5<0-uyg^QKjz z$F!H4NK7Z#BP|naw1s!HSi~=c2Jv&`M_RTHazt7(63*mCFH9<#wo_I;&9M`VbD>F9 zN~@VGTz_%X^OC8$O1(&e?CSZeK|VpfsZ0vJVa1bKl0)Pr6!-!z&jUi zd%iT)pY*_ZXCv|b&bR2YMjE?!4YyNXbrX_zL0f|3Bgt;A&i52jxA(9Y@27QoZ9lS5 zykY}Kx0-s~+fQVYy1x}ZFJ16*i3HQlQW!7z@yU8+t<6$2x_0s7MiTDZSCW!|6p0jG zwIO}x(;_k!QgSUc!qr=wOTDQaBgF?$=#(%2tm~0w-}NG9NPK)dUV(*3-t+64%yguu zG5G6-Ityk_s;O@1wr7f0Wi&M=osYQp@SNCjDH9S#b&0!lb5L6rQ<=B4zYs}BKmdi6 z>}1qd9~H@he0;Ux2Ah-8%9UGLaSJm=!Jp0@CX+T$ohBrJUU_is=%S~F4AvVA)E{Vq zYp+1O;_H0$^_s-#m2hvjB&UNOojT<5#u8ByA*EEMf#@eN_gukW3mM#$Ty+?0^j{=9 zi|un?!L8s3=iB}~vKc^ql>nWd6cR4@kE_&*_#320F~cwZ*7@%%gR>zGW|08ls|&X@ ze&*&C>y5891@9vjPNC{&nLn5OOhjguez=*d;j#Ncf zN6lYJW;QA(9Txf86ScH267GDW@cwWym(rW&{js0Bg$e5KGja8lYG2!8e^efCBq~}( zvz>6IUtzt@@N1#{8TxrCL2yplire+fepAMS)T|E=?XSq5>WeLSVu@%p;x z@b!&#dp1^^G=4b*-18;%O-rHoNMp}JqcPqV-L4VgqYJNLDIVlygotr)$_ zxVISL_h}1DInj#-O&0YQJl}6m<*9pp%W~YKeKjtK{U`+Z^N_}>ExluiG=3oBHs=iJ z`WFRnDFsysM|M`7zblW{O(~*Ew_U0|{9@vFPxV_DA6#)S_PHi6&fUl-e-PuiR}tic5_3=JJ1@w zaOR#PTzU|6?hRkE;HGlh@8|f^8c3-eo2BtXQGTCNDsC6{jmobe>L+Fa>Q#Qsj> zRp*ar9i!K~ol}Y`0?G_5&r}o}Ci|?E)lc})6#3vJC2fA3hc>t2Y-!l<9D_+K0B1ex z_eHtxy}D|6;^Q=xO8D_RviF{zvu6#YlH;>U(?~P;V%$5fEK&>Tt(+|+UMwsfFNBh) zc3!f}A-06EiuuzAw#eOJbzew(cr5Xu`(AOi~xo0B1w#@d0_ae^xG zw=_D*!*sXzT)pralNM?;^@e4##r3H<&Z8s?3vC>Ne0nVilgHiAem5~)C1gwg#QUoN zz=E}kXJxeNl8*@wHqHoc~2Nj@oI={~+ zx}y^E7wUJ)vkgx##6b%8G5r*@6==&jsGC&O)wt2f`e~RU*n6Wpyv}K|bX4rpwtq^Z zFmV6Io-vSl@AJ@;{)iBGu65@E%kw7O-rjezPHUa#Xhr#UH*Pf&o^ygjFTd8H>$Wce zIm*@`@Sz7i#!s6fOU1UdY62npB^Bc>_$_9p2Q~U=`e(MQG-`_j(F&XhV5Vzo+9@F_G*~=b@i@s^uo2l*ipC?q{5(Qs~-Cnx>#20_jOz z-lqu<#|vs616}rSV7fN`joLN!QSe^E>v$WjdKl8BKew)`W!R(;6jNxtKEK)_%e|bC z?botY>@a3@Zjx3Dm@nnf4%Z-y1t*SBGZSLhcf8`X+Y=s747t}Dth~5|e>4h5USFy; zaMr#MmGAdfFf-d><$+w1e*S=zcqZr+MK|C})sXR3b^t&%9z49GxUjgA*;)+CfRV%V zS~3)a3PyQJqG8KpIs2pCsJGUxn~2XmA7sn-zRO2cOk+!>kzMy4d;wRsH2{_ZR70Lf z6i$GAyV2szASvN8263KzGs`M5FCJ}3Zc#FP8Rg=Gu4B>^nz7k|AqT2RHGEgKmL=hO zY?d#39g(CvFjQVN?$b`H?Y<}UxyyC9MxqRrnenHcuO9BNYHHev--lhDv0Q3W%XF4{ zQ`b^*+5Z?3sUV-@*84HNQnlESrtnvj z2cI|>dBr}Jd7$G_Z|^8zTFkj8yH#l>$Bx_mL80bIx$k;aBP~#Te(c>f@_O*QYvWre zSN6<-CB!w!`^`)e+?-ZJS@UjD?gP(UOm6bYJqyaq$K^lyRIZ*}SM{WmyCB$Tc{wGs zPB-V{FvYT+jrU7MpkvGM)8v@*^hG^SQ?1(f%y3^F1k^J}=k{82ge21Sk_YaYdy*Y2 zB5CHt5-r2!YL=!f{e2p+nTX}=%4cH?JDZjK)yQK+P=)ahWjVURdZ-}HMdHXhEI41*_Z$c^@x`Jllj*7g2_;02X4vvkvJc5fQ6P~7N@e$C<@ zoBeV{&@4BPM0?7X2~?Y1&R5(^fXkf>~k>*j->Wma!curTxN zrfoX&dhRHBg2sEcu$xl*V&5DfsN#G8+Q#$AOI(ej>-=Mq@N%=)d~`OgTi_OPy>xEI zbme)0dy(Wyl}^Tq48D(x`_Xt%GB-3;&Bz;-K0&z{Fj(C?mhWPNl!x3N)QQ~Py@@aD z7`0^=N5Vs$p9*d?e@?hz*IT1oU#Ckw#bH~Bb-2}e8gJgpjL(`6gkRQta{sBIMQ-^h zHZfj-on*_ZcW+8;>a+MeR7&d0@yygT8)lDR2Xdyj8>UD-iNXz#BIRInZ2g zsKUIsPQscJ0vqlpVUW;{#4bD#s2<79!jI{=++%cO($t8@SmvZK+;YnGWza$vHyAeo zW<5%bn>L6=ao_p(v#u1F+|7A_VHE2-b-~7$!?w1*6|-Gq>%wXAYO;f=qB9vvKD$x5 z{W%4WV`s$7uopMD@$UBOGHfhz^nv|GJC`$h-p~#?xj(m{Ku>I(`TSY;7$XtsZT+-5 zzpP6}k4$E+4_1^W#2K$%8-Cc1D0y!e7t7;gF8sc#(Pu9F{s-^Q#l5>aZ&m1_Q&(){ z_h9Lx=+-_XuUvz{I5CH?Ph9C8YPgNyrIbxWIdf%rrm^m@ec0S+*Gia}ZN@hB=qDyB zCtLYhH~?7BJW$a80vvAr3?v4#FX}*vH_}xwKB5=tNLAlUfq0=|aNJ&8Cs(uvhJkI5 zo-o5JX^30+<^$z6r&V43zBuN|=G+6)dMmg9X+rCHy1UmEHrqDXXswUWCJT9&WwEN# zj6NDLSP9ig{ahio=^Da~!)yiZziy1q4`s~!JcJOPJ+9)%r7=8aTs$R=0i*mmOu2c_$1|mmasd*=Zs|-Q@lau(N+Xu0UBk}Js$mpV z7i}k=m%^s7c;6s@X1IRnOAw`d9-fSCdA4S8cspYl(_slm#ch96xs2~0wZJlhw(t6_ zZ4Nv$*@cMtSoU^{ENSX!TjFih6_WSYX<*I`e8(iVGS6ky4-5=f@YpJ4?u}*3?Z`Lq z$L8OqTx?El%2ndn8J%f0!i_IhFl;~0em$f!-@2U2xi}Sp+iBYY)e>U+d44`y&b)r; zOx(U{8S@L_%QgNFr9yyCMaj&5PK7HWsD}fmL(3Py0;mO{(5S@`Kil4HJ6Hw>X4ju5 zPJ=HQ9;ABF>xq{oFu4ubpJ3#*;gKXC(b+eZoDVFq%@{+xF8EB}^Vl6~G%U8on1eWN zvXHzlQRon_W}{sQr5IEDj1|MdJpp^)9*{%BxNC%$d!Bcmv$>N;yvD1umvW>&n2rg!NCun`!WsaSngFTu{aE7@YP?)uC8}T8p4K1a=zRY zy_PUFP}7E=;>3&fO1g76Z+0~4bg1)iq(k`5FZVttXUs~KvUbhg(JMyNs6#+xVQ{~; zXk1efoO`fh47d5}weOn$S5-e%d<87Wop4=jHZ&4anJ5X}(!*}`mGd5p#@RI4lCq9V z9G_DKgZj9?W~&A-7;0#=$8PZK`1*Zk!%wJHbQu5&?C#!u)(ix9%O@Ap@8Z9N>C%a8 z)X`;pUeU3TsT(En1M?KGKA$W|T%H1;^KKbXOUh#ncS3bIYI4L|_8x_Yh5>U>(P9t0 zZBoOZrP?m(O-G$(cuSQ{lL{^h6m#954dZt$dk6FS>gh+iss7qXmA}3ILquFyBscm_ z<%k11+?Xx~w%@4x#>l{+098}R_zCnf3%V6s%OEi}ML^UiCS zTX|A}-w?6u&J)m#mmh;Mvayz}=R^@9wZOIO1l^mI58aC^-R=b$fC+ZEe5G1)?L!i6 z#5^HWZ3W^dkryT=@2=7FiPF|;iCwS1z5+<6XEm&u?=5ffpsP^4#~7-K0sGyjw{wAl z?UIaAvHj^#W)`!It(#*lezs(Y6kunteV<5O20T5O`GQaCmC!n!2{_A)F?0gUb2&Q$ zE&P#euI+k$@Hw-L^N6b8@W)a%8SNOUUO4S61oXDC(T1#CYyFe8Vnn$x)ID!<{_;!^ z9>UDBA{43__iT^B%$7V!Y&F)1wX&oXv4N2lGp#-adD?6b~XC8 zoUeQO81YF+qEBLh1JjbJqMxmE+~5vIU6TZuQZrtYtEKU_K(@%(Ys3QJu}JW!?ooaL z&VQpuUl9%0)Aw8H9QcwM+@6uB=N7Z`QJZ}Tj58VPb#WL`<;0E?vk%_GtF?c~5S6^) z^Xhee$Dkc0NOV6d?DSUEysnn&o%(dIs}tTcEBtHDPec+Ix-1>r+sr(GwNIC zYji+x(l{kvUVqVa4f1>RtLGCYs z6AM1}rA_&HXf4cG#@Mxv6&}jr{C1Y*H@0b`TE2U4-Ov&?VUo{lIJ50W&^Z9;c)Cwr=PB&Y{jzBe25FvZY0FZS+86ku%x4WH`Yk-yJn)4cmXq| zTAwts(*VRolGjvn31;o;Gcwd&)H4*7T(Eu{UAC5BLbvjPD~LL{t}kJ!LztaMc}7mB zgI-u4gzXS9x25kM^WCMh+E4K*S1KXKP2v+_UH0Rhf~#San|t|oKnf)tHQQF`_D&OrWW&6X%67d#r~f$l8B+0F1NR z$yTZ!w0?E%8XQIoA>4qy;~j&O@JOxu?g88LDalz;Q&wNcWAp0WUA9d_I$}(E)_6g- zAKw(1dn^v>(HB9we5YbxRHkNfPb>oTaj9~`?2;Py-5zDsw^La4=q!pf3gj%uy?I-= z9!_nD5c~Rd=$l`jsveWWo@;it!6j2a5oDVTE~Q`3i>GA`>{3h4tF*#d=e zz5t;G-(mF23dGzyZ$)KDn5^&(>H!&`Lao5P-C;v}+vPcNSCt(G$?C1St*@{S!Qsq_ z(lrW#OQV$5U$5SgKM1kuy(VeIuX?6e%peFnV<3EHcuXEaBALa-wgR)RE-x;O7z0i# zVN!yIuuB>iQKM)$D_K-*Vx*CHY;jv^>lPvhhz4%2L^23n(Hkx;HjxL>NZsxALl~n$ z9q=6^ER+ zP_kUN9Jy`|P2}mx{)}Y;Xk_rdGJ%0=R0>s=cg!o%q9}CzP9EVOfLC~z)Sy61F<;?8 z$85BkXe`8aN2)t<$0+pvz5Z2_f~6g=j^RP2(@&SET{+4e(DE?vJ+AgOfn1(RW0i!h z7*k1{_HcipPS7a-Kr>&=+0@yEKMx{P-;^wiF0z0h+LM>=y%-ozmCEl{sd>}& zVA+%Ma5p7%@}0d`74ewX+;vmeBD}49ENFUwmdSI<#jYMTsDeK?Z2hJCTg|%6{Nkt8x$10*^vTvGueLtn8Ax$VGFU|*JWjW*p_rf5_!jA;wva;8(UaL z2X=V*#1k>#ByT~N@74;uLh_=Q?_jKVi!Itacn{F#;OgP~SdFnHw>)Sk#lS3VSNI{} zGN9*M;`g8d7ZX;a87(hVu54|f0-nMWEPFna-KKDm0?Ljz@r}Po8xxq4!z+DtMH$D} z!|VH^&=TME@U7#FCQD1q@8*^Z#@dt9_q|n<@!o*^g)N{rqY<>tc%ecKN4}FuUi%@* zZEefr79#-U7&f1NIbO@vtli7n{${fnsEa&PHW~x!+ zXSX-VaHmMn3pAR4A2lg3^9VIxxA#I6eKrU;D#49gf7S7Mb3lz|Mb~{tak)y)Z}0p2 z2q`;g8{AKQ6g9RAjw^CYtp=RKY6Ba~H82|-YN$Zo$^KFAfN7VEU=n;gg%Jcw)|orG zQit*_2b|KJN#+=Po3$h93ibXj#g8B3b26;A(lBotb0J)jNP#+MoDS+l+zU}bV(sa} zFmauHxpQ5{b)9k!A-vB9`6m>mJT_IDi4CL%y&tuB_dc^1Zt+{r(5|U}%4e$9VqbB; zU5pZ%u6RD=7?BKJr7T*5vV`c%A*jRZFa7FdW2}TA&`5QqTRgE|^JBAsm^oG#q+g@J zo~$V(kr&Sv{~@G$f29*i?erB;&jO$2DgZq7(n)r}RXD0I&IAUtW8hRxaLglWcyxNNgM6}CPAn`pT0*qz9l zG2dKYlrL;>P%iQlTe@VIJutBw&S@;TKkCp^XB8F&uEq1v>H#`a0oJ{%yvp)&Lw8Kw zKrV_T$wM`x%;xS{6eLUU8oV*7P2yihY6get45;y4%}&6W>; zs$Vt_ES784$qarJG1r;WML%p0-0Qhf4%JS*y$XWYb)}qgoHj^?Iw{&6uV0p1?gL3D z@mGorAzjsgomgs%D>W~)ALu)j3V~ok$j^M-F}{%YozSJP$Ak&VsxC`|an=rx1!A{4_X}m$zS^K0v}aa@ZLSi+peJVFcGH-$S#k z6Tnei^nEO|5rsg|EqgwcCIMT0MaP8KZFy99Z54WQNywOiG0kxCR%~uQ#B<2h!E9tK zOmZSzpL@?TVg2q~fX*@vzSu}8GJHc)XE{3<>oLmWtE~oH?s-EwU==omqwDsbZ5|U+ z<9wmgD-ek=Ti$yO8GvdJ->U|sv^%J+Li9lfQ~1$`twpeIn7beQP>?_6SV7lRrq)U3;u5IS)Q+?N`Jr;*PkPwFLd4rMEU_S%LY|@W$WbLXZn&Tf4EF7$+wb@)k zF1#Yn<)>NhwiV`0CO@!f#{!1Ax<1GzH(4M%qTyP?TF6D23HG1S2geBMSd}?GoKvJ* z>Pw(asjj}es(0?`A36d(_Yk!MdFH`#*v#>h`Wg)>k6@Otl29>Dc#1*FNSnck!H45X z3_r+RBfEitH9x*|pj`yWE>d>9BLTNJbt8xNkW=^P$Fz{>m%i`b{AB#ccL%EY;utm; zN-Dr1^RKALL7NRy#{;YVRF{GdTm0uoI*gR6&)`{n^r0sI>t{Umn9QgY$JU)c8cLHp zNs8iaY`cFHbNSgLs#P`rw3SpE@1N`1FA`l>h)!bY9?f3;lh^MY((2gG5ZIp$Sy3Mk z^a{J-eD0@Ue+77UX;^c2<~|$$*$|=AGBCNfqCaK*&+EO@RDF17Q~p02(!cAUHg=^g z>EsdbMu@M{}Ko96=`)4wS{WnuU`F-xW6CKN!R_P!9(=;UxEstqh|fz zF%07h9F7AVQCk*fs_OhaI8 z#)FQI3zK^I@l}+jMnYhtn5Xs-qthJ(l=>fW9X<&W8OqN^|5B)*BJh7okPHRtZ2q4T zI3|`9fNKPT()o|A_E^g{0#IP)-`esViO8ouS%Z9~6ry05P{rpMAwF7Yaimf#xkp zZ{?yo{7gixJxBV(KPOqj)p7qc<1A2xZ<@%4nV`eEv*H3u)3bR_e|v?*OKM$IMX}Nd zC{gfK9LsejAZ;vD?W{Q4??X7E6EGYbh%a_Aj}k^>In8@W$wMJ|s&mgSGo(6cw^GtA zIyJ&4RhpX{~|ZjTA}X@Uspl#3|D@f_FI0y zx=Y|zy`N^}uG_m)o(dxcXUf)*Zk(p;VJ$DQ^`1)v&+Z@D6P~2CPU=hLrtz&0ZYXr?O)O zY~a@>nHk`R_4nPVxd5wiEV$yk{qAd%{!PL@qFOojiP{2o%A2zVnBNjnCH7#vJ1xf1 zh>u%c=5Am%RS(F%gZVdxjuExfS>eA-O8~2v&cqd@E1eRatgC0$m%Vj8(;FL7tD6!0 zrC?J%rEV<;@c||{c&FNZ@sj27+R3C2As533g{LStpSz$bZYnO&LZ-HxHeq1*EAQ(}aer8ZK+Z0l49vFBYfx}wH(KP{{1l=U6I|Zp zB3c3)LTqB4X$K6z+krvY7h6Ku%pK#R{u$PHhCKPUC8yl3_t)V)TZ$Fc6-SnDpEkep zyMnPg8l_>LdOb7vq}Ax+I7PuEX&+XTr#K^5Q@-`E{I%vJ{ObxC%MxGj3S?Vsv3;HP z%TQ(My=32nLhq$vH>M2QC%Cr}DHU9sv6ik4%xi8P#Tw3WD$ruhFT`k3#v!o+kW*R2 zibSSU;?`Jc`ocCjQ^(>T!$K;k(Qv%GH!I~Ljga}Gj(r*JAhMQI&gH{guGCu0*KOwZ z*`8wtd9X$u@IE#OQGxRI#wa&;IZK7*S=-!6xV2N%o3QTzTr^CM=_`o7g0}${@}8rI z%-9+a6tHEZL@I{7!3I#{`=N+81u0-N(3HUFqPRfuA6EL=y8~Z{E|eTw(>_OO-E5G> zu-%j4wBvfb0sR_5{fC_lNIa?UhuTpAI(3o7nv2y6=+1eu3oMVyjNSqMHg*9lrN_)Z zlW(ougze0t#{Q)(2Zob0o8Zzs&AYGnr+7|sHuPbS9T&ayCl3$L zQ1$)KD@dzTQoZ^_{ht(M0EE-v|KS1o6a16E1bz&H|EIue1#t_h+|Ogt<<)|3+wD~K zzUbc+m7`QO$tjt=)N%9A@e!15(32T0mDNM!WGPkY#~Y2joc->6uV|KBrLW7g3OXpN zzw&57k!4orJMY%C{hwAMkbOKi&A5V1Nn8RfXy;f-QP|eM9E#eTkmFg-(k*kexkd0o zZ~W zyX^&LND3y9Zp4NT9BuIN_~8KUk;crJ+b+~Dv|QRw)AYjXpvNjIzI{_xNrh@7hzoB_ zMqb`Ia_u%w8mi`LTD!e*;$t^>9}(ARCMXP0TpTdx!p=O-!WrFIu5thC`;PYy?GvSGee&4Pr)HREOnB(rWs1%m{ZoHyx$^UO{)4f<28m~BXZ zQzo})-E0x2ug`JWNJLIlRQP(TmvdP$@V4Ip!0qcoba2)5{SXxmo5x{cVZEP2Xc!S0 z@gUDLWey$6?agBE))_-9Gkb$b$`Cu{c2PLx4`Id5P0j75Z0*lxZ~Rm#EAr#PCo!gw z)}aEW6SLnEdwJz~z=bM)CZLR^D(6^~yC$XX`uoS_$@R+4ba!o^$3`VA_4n!OSfhAd zKhe@S3uO*KOL_U?E)_E=S=yG6D4BPQ5@_G#erf#tHGDp3+Xq z;fD{f&o`k+U-9pxZj3!W^w(_n#u(Xf?Ht?#QL&{ldg}Q=P;KtxMqK;d+9S6);=JS6 zK5U?Cix?~BVr){?S{fll@#e*W%!A%imWPj|x0tvBrmV=m2k#*ln+Olr{~9H#4z%m#xN z}38h5) z_tP$0iZg=N4PyGuG;=o1&pS8a0qtI9Zwx%cjJwF{fKx<+EhWoQPsU#Dg&McKUqB1n zOODmOJHh!{maymsh#RHVNgE?=Wo#|SOxs&+e5%3VIqv3!oG&USTbXt5Jbvt@33H}$ znTUcE<+-)Ad8eG|hHUHg_m*&+z9=ZB`ps}D-2U=yw99uZbo-1sd%1iQfSb1v_CURe z?&Zb&W~Jh1>sHX7><)NYpAz?=LFsx8^b&fOsSMPkGpiBb?hIYqTMVY1YliA*Xtmn( zgdi>w=s8wMFF*7(kgdj>C6+pspGo|pkqcKzN{1KrI#L}ua8xG)`s)<{1I(XvE@W-W z3B;u6Tl$E(KL5%)R!FNSY<|-$Y1A(zJGYQFL4aRFU`cN=%Ujo`Tai)E+8c9i>oIw0 zJ)g0lR;iE@&Fc){8>nWh(=hk;Odk(5K>vvw4{jkTR^Lg8CF>{`AZl4dUtb@wZZ)p{Sggd$Cs{p?)%7t+HpfxMy-+ zRKLt4yF}GQQ+q&CF%|QCw$8&f2*b2{Q zJ!h^ySc+fj&)1ZhaI20={skMU`$7f+gtGGG&qMKIk zL`Jyt2-z228^kYNZ0rjqH(ZP7s{AQx823X8XVWzkq%!0wD8TZ0_zs z=l=C3?KlB!I&q`+<&laUHS}NfK?ZjGg0cLc4GEnzggogPnlr4h)3enL*f?Bg%U(B> zS@-HMv?b9U(RD03aJ6SgP#OZiaYAVCj*@>KIvtKI`}Oe;P8%i&FjKHQ6i)J7X{p$ zwwAHTrlYSBdh}H=Trnal$0J9FPd|HP-rCFTlVMg6)QdOo4;PSdfWxSPS_bA}oh{$N z-`iJ6o{;DTi1J>i<8)p!4eCVX3GshLx}8=115+mWzht)`qP#zplv3P#nqw^wd9@OB zS}i3zZcbUt#zl{pBQmsfZXqa>$9N=H)m|mJny;vy3l+^K;&OQZidBY{aJJRe;@e zT|Zx&eKUm824`DrZ858!wYjAVVabSBat7+Zf_U=3?0Y&kp!wWpz1Gf%Uq!eC4fcD9 z#(y5;Vn`4*;8`ykXmYO`>n(Q~4NMSY-_i+%TYrod-N`E87}nm4@`9x4&?xF!mBhwX zm2JiA?_~VkAp9f4B-VonPTC1NQ?u96w9e7@UiO$I6;#ng7sIrw9kOp(7V78?wd${b zJ=d`siIQ#$!k`TlY@aA~Vn8UxNQXfH%WdkaiZ+DzaryQ5az#=(J? zu9F8_7v5wMqjc3QUYO=wUFeQ}Vz_(lm3)(jG zcr_E!15M-|3N+|Oa*V4G0N<6f5EFn>)q=B-pJ_gSTTMKb3qy^5;&P+3*HG;G3;=mY1(VzfiL(grE#VR`>+MKPNlHJxup!99 zV?fLgdyIZ#-86g2y1_82w-~p^K}0$d@&ik|e?J2l`4dVT&CvsS{R>Jv^Ba^FU#vSD z5uNC&n((Df=BF6C#16tYi`MRWDjY1k>tl=PvjjCLxW--mFvm$13LF~TOn9|2{0Z_X z%1e`j`Kj>*N?NR2j?Pa9+JO%_GUSFPlRp*KU;bmd22<_Oy{X=4leGfR=Hs~%a^ zVfJOS#O-a(z$bZFjM7#rXV#eG<@Ap2!g0sp-YLem5FOkz7rFLtCEdw!o0>im{RXOP zU{TqZIo{wwLKIt-)?+?Bcyp<=Q}{wZ>@t2Cilp$}ushz9#jo7I3lovwOjOe@V&k#o zDoxWa81v9*euha5@gV-W|GLE0h0{XvUi3cUj96III&ao9$HT+ZT1RKAn5yqk*Ns)u zm&%A74R*l3+^NG^DfV0QqzD(s$~yX_LJdPjKKJ26(!vYO>G-Yaj$ zd(IY@#Po6hVs}|+smRe5cO2?}LcVX5;i1;ofw`d<<(jtg@n$26n3+M%894LtwQy~B zcrLLU$ZIq`YV`u60Ti+3D}wJA_j1y)F$xLV6q&Udfm?5;6qU=5gN&YoB3A`fn&)lk z&+FK@K8ldY;}1(($ziIw?C+mJTy$!Eh;5N@a*t8&7gYCQk`CwX^iobt< zn@uur;QBF^Yqi{+r(N9fQ~oNH``s+wF-!HE`amPC{`(?jYhl`yHJAPAgB*$^es%G; z$o^Ljai-2XMLLg4@0}_4$}-}#@BeV=5EnUEY0C-^mbton3vXRW9C z^eMuMdG;p#lL+VY0Q>iik%a@3S&8-&?<(9FYtVdd^__$-WTqx{Z1fgxgsX65?~pe| zkg_@|kb0cJPXHH2{Z0)6-MvcTy?Ae z{#-|nzpM6(vmp2b{**<1W|oR!F8h|15L!}(i8mxZSNF|%o2^>f1QFZvcRQK3Lp)^K zB~~94m0%hBDtZ)rdQY`7%HG)#^^Sp%bMddKrPFAMC#MqEL8i{!`uUTSLrs|OB_YNl zsfi4SDB@!4w%nkS`wxT?nGD^>bVg;rGyeiE0uOz4W(9MI(EgALN}=qAbEccHFa}ofhN&%F;qvZU z`oa$}j>r(up5akFb5VUk=OU*m1?vtT=h)eO`(g zePiu=y!-<~_HWS(tOuz1p~?5}C4P%r*<^m_dss3+yiR8|J@}>l!8SlcpdU1`X6N(f zr&Sz}pmJ=OLadN-a34ZX<0k{AFD8gzE@~DENxY%Eb&Q&jA@~D`A$-c3i=-aC%YKNq z*qnS9E9nLrC+e@Swkb#Dv5t#Sbh;YsHaE#LG&+>5e~E4LD-=NaXbdM9VL0@DBv(SODDt zPIv59&Ocz*kEaF`LgG)o=F$(q_n+3J|BF7zjGAz5{ZhK0!;(gP(va6NLSF5I9il`Y zIj3?6RyV;Th&fS|Ke!yn_2!VZq$`=&0xyS*pj!v+GDM#!UWf^p_||37KWg zFPNMDL_P@>0=-_za8Vphrl0)_kS0K80rO9;|0y^bI@a931P;gMuZWJ6Aq^U zwRl1gTwS1m>=fS1qA!?6b;)wE$y*sBJ8XK}&Vj%W;@7dv(FGvCDmD;I#QV?Xsq5T9 z*bs=bSS0ZhkdmLeCY2LY#1|XqQxuE#O~bOK_GUgC27W0Ot8`Aia*mL#x+XJq>5n)PUJLI^8%#jCs9t!t#-&ic`|txF$4G&2EJxW+24v`spH6I% z6?=B3t>#x)XvwE~sqb~OeiQvtYK!O{<1eZ6lxX1MTzzX7Ab1%Dm|z%5S5{E!$QvR2 z8P&BZ!D{?v7_MJ3dDSBmYOK5P!V<&d9$*aSRnvfFHu@|?<DQWpAV|qU#!$e!hs9%Ywu=p`c4`o{YAYFOHJS=}q={sDyT8y-EVg3ml*&dg*U)T#v6)(7cb9Ei7dz7aBby>aWra^;p4Cj` zj?B+zuu}OV7fZNU0j|FaQ36C0sWLHBQyA??D)CV+M6;goyJ8{g@EkVsAYIZc719=sQFUtpl-q(jqv&i@ErEgtNm*hUyq&SgJkbe~_fHW*O> za`O*C%1H`hW6l)|yP14{=pOF|Y9G)8y(#AG|C%g^+U$KiYKE*>ya0L8+vKuYrjlMP zQE+1G1=QI$JfX&}8XU{b=h2Di>emBDXAtfyxEwoNhD{+?=>*L?{zo2OS_l!vixfUg z+uK|&1E@^~q+xGXj_X|*Kmi|;BiMnp5{^4HsJKj9f!e9(Z>sl79D;#<=0%;+SKHi^-1p#7#-D@icPvV1owA zfBn=r_j>O{a+TNsPrNmn0!8;n^6~Cl;tOmJ@7*I8Mx_XUy<IClomlOL-z>(NPBKR;i`z*Hs1up<s5j#UPden{y0hU%iV0qBO1wA=}Srf^Yp}JE<(CwvqMhzA9FyJuon?8x6J+HEQItu zLfWNl$*{HHudW^P@2^FmtGav<^+$Ro)oVh(UoE*YgdcVD$8;apCiwGO-p{@M>Hp!2 zXPL)j09R|0<^M7a`iFqyyN5#qxq8EXs7yypAm>-KKZ(b2 zfU-gq>eYAl*FgVJ7DDuufI$CE4fvbcaG)4}6EhBt{@=umL)-E!p8SOXkXdI{Lb6{Qr6KIR8C(lbSaeAF?hg}djm3_%Im@h7tN^~L{-o`k3Ub8 zouzt~&gp&mMAO^xFo<#=`6&Ytx!Gq3hs9eA;yOWj4<9SRg?KJ-(<+trja)#I3#^ktnPSR1~yKv$^09!7$pKR-TL-7N1Psheuj@Vm%dh} zh3%h43B;UElcHu&P{g@^(eju6NPH3#D00v9cVc`5VupBOgWvmGN$BtDDXz%hh_$e@ z=EfBuEtHNpJtRs@Pt`{@#yUg&8?nE_C5$xTuN3_iE@_NXnlo3nxRex&b-AEIT1Ez2 zkIm)Z^tGS99p(!N-)z7u>;S68?F&IA5s-Nw)VqHOgfAi}27_PfQp z;N3Ix0s;bS-@+ol^zQE(g_V{WZ=2LURPtE}Ow6dM5f>8|C&u*KricEkI;%R(x0yUN z!h9uGk$rEoIN7Sxzo7%n7PVVCOwl2In&SR%(@KPOp}FQbK%7`gPf)eCg_T z*6kd>glWg9&w0#aTfa@@SJBdZG648%BGau*Y?6&Y8`qink6eL>q<@Qn`22wwD5G0b z){PrH-@MD5PQ|=CPa}N)-?P6g{h*~P(ifI{!|5cJbtK%s&Fl=KDq@WG3-1g@dj+$d z4NzO>*uNR!43sXCfsxW^p7?F~qOvk4%!SyR9JhayqOuYvlrHPr-1&DCtX(aHb&JCXgvy5}4_QsUKricd9VG;}Y?OJ&(rr2G zu-oES+(yq~)vo*WK-qnrKFO_3gI2DEgQlU>;o39{XlG*{1)&V0c}amQh#&4ZcH1zW4# zWA!$P)?AIoeHRjtF6QOH3xP?7YcdcE12gHPE^t{HOSHS?5+n zN$LjTqY-R8eXP6R)>qt+V^gT|nD@GvGinMy!c4JbcGCW$4)!!J6wl^8HllyLZdE=^M(3qmC5O*ko zsiOaCluhu^mQp9#(WNg1OkrmMYIM+HpU$9DT)+_KiG_Z295tACXT&c)@W+MYh|{}m#C!#MbA`!(uG9vtSnV@cAD7B9+vPW3qN$|O`4?QhGrGlrHxS>fyiSOYaM^(RE!1A>I7Ee%HTRH7TG^P0zHSz?~kT$yTlo7@c%w)|DF%;dh z=~Tumy6mA0tJkvcH*ym5@}hz$$%|c76!ICniY^K2(dA5!bByvc2z%XxtqG|6JPGk*nVUO-CJ zoCUBGNMXnC9j$yZKObw1i8XJQv#aeecb5+z`yins)0&%`(crmR8J#E*&UwcGs#F5F zn(wE&W#ur8sj8xM907bdI$R%UFtC9;0xHUp{faG6(Nd!rgUyez%?7vCnSl2g>DA%> zhX;d>78e_9dn$X`2>wB!R!o3apAQ`Lu%;Zp%q)?Mjl6U{G+}qEfb;vYdVeJ>&W?*Q zW3fa=z#0t{2alg?RHY#i208>6Kcu^vD=)C?YiKx-aS|6hwKGfh952<6xL>0ZQE&XU z%Qnrnv#;{qK<7M-yGVG=;jjZ1rqkCb_vWx?+R zXN=(aUUvU7uTPmJfqW5O-yE4MMXtJ zF{u~NUK8K!0iHKPQQEqgHi8pjYh=2H+*?J2!|I7-a>Ms?=KtEV!6ANyw~jy0Bf zc~{FuvqRt33@Ft8sNZu8eURoKLTjyf`}>v4n6lzFPlf$RSEOO*-dgXGeFGue2tFKe z8W)ro;P)rc)AWkEK9}!+W#a*ZZd%ntydURvZQn!3`zrkf5Ll@h{nR5dDmQ~u3Y+la zHwP=XdU|v^E4q>IbRfhw1p;?zMsE^%;U6=gsRmL2ChX&^qez@}CJFiyAUW}%h1EVl z++3yc+f4uHqnz0SO%UAl?QW3C`0gy1Z}`97CW6CzCV`rDD(QrW=7T?8><(kAG*;>w zByDXG$#meFYCKzTFA