From b9b89c6025d59b722cc4ebba9a73d3d9d9aa3451 Mon Sep 17 00:00:00 2001 From: sebastjanartic <45803536-sebastjanartic@users.noreply.replit.com> Date: Wed, 3 Sep 2025 20:42:01 +0000 Subject: [PATCH] Implement cookie consent banner and integrate Google Consent API Integrate Google Consent Management Platform (CMP) and a custom cookie consent banner component to manage user privacy preferences, including consent for analytics and advertising cookies. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/gjpMN2A --- .replit | 2 +- attached_assets/image_1756931997437.png | Bin 0 -> 55537 bytes client/index.html | 14 ++ client/src/App.tsx | 2 + client/src/components/CookieConsent.tsx | 242 ++++++++++++++++++++++++ 5 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 attached_assets/image_1756931997437.png create mode 100644 client/src/components/CookieConsent.tsx diff --git a/.replit b/.replit index 9eb5d4c..2d8a3dc 100644 --- a/.replit +++ b/.replit @@ -40,4 +40,4 @@ args = "npm run dev" waitForPort = 5000 [agent] -integrations = ["javascript_google_analytics==1.0.0", "javascript_database==1.0.0"] +integrations = ["javascript_database==1.0.0", "javascript_google_analytics==1.0.0"] diff --git a/attached_assets/image_1756931997437.png b/attached_assets/image_1756931997437.png new file mode 100644 index 0000000000000000000000000000000000000000..f1855c840942e24f8f6d37f669007cfdd0fe827b GIT binary patch literal 55537 zcmd?QWmsEH*Z5mXTM9*5Cef#49F ze|q2V^ZeiId^;b`r}H6K_MVwNd(9eIGwZi@h_a#-4%S<&M~@!i$Vh)tee?*O>Cq#! z;pfj#DHN~`IO-40MOEtaqlyu-UDVAJt4|7_9zCjxdU0#=6m^g3D6Ql2=n-!B-yd4P zLy`HTM>BykUp}dO8tyN8>%Ts~zdW9H*4Zdodp{h&%&fMTXCNQ@rRoI*LCyEwapqfi zRrP+7Zh@wawPs4bSM|Pe%Kh1n0G&n38^e>&Nv8R#m=kSS|mcZk^QWdLJM!S z9e*KDkB?M*M7c7rhK9DegbtHOhj!vrv8V%Hetu3J;K<23_vAm<&+yAoNq^JRVxBPl z%|=}p<_X1~l?vCq`zNEvLhW;1)Zo!0flukD|@UMBM8zb?pmcXIk- zU~r^&zLbz$sCGheYJ*n$)xVX+smVHtio~wP;5WM-6b;*}{`ZB90v@91>5+24API^} zqJK-P|Ec;e=5_Vs^_#bKItr5C2>+Gs%X`7}NZxYLzyQzJnw0SW2pY`jRmx&25nf=sWOt;-UneQ zlOfF!{#bs3{(?e&YX+wu7{)CBXH>F!;9_ZFFmhu5rUxvQ0#GsYZvN zo0x1gnCXQ?-Y2KoBiX%7!Gd4uo3P)5nggN~ji5W$ug*^XZ2c90WjUYh+0>D7{>GDD zp&M1*?(|oS!&u0yw%2!jad4t3%0!{4l_{OnrH@2rI=4IKQ)y*6-wf}PkH>|CXZw{> zC;0ymTngWNG+(p@89Kk&;jcCz@BAH2^o+~ita}<4vthT!(C%p^+!k!LoW1NMeU3Q3dqx5FVWb2>hF{{mo3C4y#jUh3 z6I|d=XY-Zb=y$N<`Y1GPQ7op^&XbP$;2A4JZDGB;?`_5y)lrpsT2Jr-rHZa!`rD(K zVn(UjMEQl3pEikXVgWmX!~L)a=6uY(I-Pnfp{y2PVpbg7>__4I-mBDaD9@>G7umd! zhtuna_5;pN-5uV~!IVN7m7la$0m-8Dckcw=+k3Xe|9st%m}`}_4!ciaDwK2{Ni$!r zilw#q)bD=p*{H*Uo7E$Iy(><3dm*219ZodSbUEQWwJ#v9{9D`JI#Vem)kA_r^YmVG zr9U3g=2Qw0+9-6nJ~CMYUni&i!M$ua{iv5OyPr(|V6}#%SZ~P$ckfIjM~Y6V&Da-K z3vTaJoMWU zVkhkS^8IOc!DvM+R#?b}Zzh;P zi@ZSP4Im9@QTClWkAeO)lhjOh>FYS5v z%=?{k>fNbOGnqemC~UU&)FD^F{%y%8Ulj=<<-T&B2d?*w`Rd`E8qroa4#A9q5Cch( zO;8TS-kZFN`x~jj_IJqQ?dGS&rG@P!Zx-j}3>I0W4Hgkzby^Jh)lo$fG=qPbAAk|c zVUgyEqv_-wvUhEX8tuc}9mPnguP3Mnx7%xn(rP6{-q`8gpZ`)S8kX7YwKXqYXQI%Y zwjFHo?J0#jO2jkDESv>k9b_kO8}50PFdz>pi+Z}MtxM(y;}T2&@{nL-2D=nIRkkp-{1i&AasuXl|Z=e!fr|I|-PYI0rAODzePO<{*?s9qunw z!RhBEq5BRzAV?6b*}=V(2v84ZE=K+^H>7HK#V3&DRUEv^F}!WfG1Nd5cHGYcZy53? zz3L7Q|4NKk>Q>B?Kb?)E3#ri%S$croHh8sVD2ExgHMF)e&P%e~jOa&hY9DQ$#y7x% z@zg`BPx)2kg#IzgF7Y2fD0kP(p4HI0m0RAn1*~K+-geRCu4`~)UIzimLH7pT)JC( zZ3PzS^%!U4m|^qh;kuU)CMOoQB|H>eqVz+Hf~+liXdNFZY+3of5fcs?4ZGp8T7Ttx zyZKs*Z^ZKBF@>dAecHtPdKmht27K99L}{#1V=EgVMrPFyrM^tR<$JiD#zah7_9q-6 z1-$tw`7;`FkWSnOE;$83D;`_R@@ZA^u2i5??E7}%H`ijHCby;d-y#JLMgI_(CbIkV z6>4k3?6x~*eedktecS>dIY#eVW1}y%5{@!mAJL3Mi5zJ==(*g})=;Zpq+|sB?{$y0 z4!*>gcCTjy%MZyF7JH6xmnCu!LYYIQttO@N#JEoIlm!w*1zm7qiH^ zMRWZO%=eSLDg&~1QRU?R-1n-gl^e*|Qjs~*2Z=m__0jL_nb7+7K3iisoiv=Do8t55 zf!M9^L2kU54&uDPZLdF1cRh)Gu%igjcDX^jOy^O{puYAHdp4>!s^uhg$q3{H;W1k& ze1l<4<%*p9dJ-PC`-mB!Jrn)aa#*pp804J{eS3~QzDxcbEHKwP6j9Rz5f|K}q#Uk} zoyw;@%5;;#PHOnU)*fm(0+^d8BKQ2daOe3FDy0XmkQS|pk23wWet#@HSsV!%WA)aq z$)<^2j@T+4oo0V0ooY1SKGA3`eAs@2zv};S<&N3YgYa+!D?8VqKV)v+|L+jvt{sn@+>uL(w#?o)$xroUKMKCd~KlOas9DXeTH->S+W1b=p2gx zrFIRS!f&rm8HJRJdysaJvjo_{HQavHY65n?2rMoXW9qQ8Q+(LKbaQKHw;AW-9jFg| zp>c8b_aQqC?X@-i!qcU%!LdFgI@i!7=&RAgAdbTsI>?XpbOk+tv2A&s4B}YjYAxW zmL~*0DK4dHC_3HL8vH)F%%|weDTSL97y&kZA37rCzqB^HShzSI9F`8-}wq5c_5n__n z*jL(Xx14tBy8m}gjJ+Q>PiSz{G{S;SKg`F$S3CFhpky~tce~atwj0>e%z*t%RC#pK#JlL~h z-I_5zftVovv4%r;^Vsv*pM^YDCdxqH9GdtyD|SGf0ykxzzQ9d2E1 z=2>3m0GfSMu~o0|BYzOdSpC}Qb$ww;5)>};`{QuifFgCk!t=gErC9Zhnb@OGTC?(+ zA-3QQp8_%cg~5bH$qym#uh+?T#4>^^N~K6^p;Vtg*Lrx_!CDXZ&6b_IBLC@?=cG7z znm%Ngl@SNeT<_<4fLPe8?Y7k0>rt1jtlQ)jz*Moj)?siEn^4zy(FA}yXRvnKOAqQA-lW91nMMi{@#vSEHQwV%<4_2Oc5RJiKVi&i*!X6C3a67~P9>k$oY>$tm2w2ZU@`r}0z$3Qy%!^^gP0 zANLL%b>O2a#7lh}p{mOHI{74bJPIPQ&CJ+)1=V~Pf3meiCF6w~vFS^=Y1E$gt0((6 zq9M5Cg6g-Ym+9+;5tmn9ALpzU3(>M)3A?6KQdCe}8n_Xbmof+lb-WYVxfb>O`O)Wb z{pL2Ulkg&X2jk!q@trzUqTiXiNf!1dd=R>(TO|&8uoLU> zI?tP~>&*7Vzbl_=`i{}jn^`cXl2OOsXTZluEz#Z?-f!bb-3xbv`4!3zHK)uE=^&0Nyu%qtJxHrOE$swk zGX0;OU9jw1va+3KrQUo|tAzNo{>?y@It*^N6_1C~FAA-1B3V`s^bX9{UOdnNkrblK zmuwVxl%3z1%mms2OogQ)0~i&gqiG#(R91`T2filgH;VT|yNeHN$E$d!m+PaI_f}bI zY(Tfiro7d37ao5mz?RD~GQtgNE+-4;jHj5xCEGd#=WGdxd-5pnLe6zfyvWvMlGP>EE(m@)Azlc7MCeZqG}w zfA>aN=JBC?%8;Cr=+HV7((xLZ8DfMKka`qV3dv!b<}`7CLe6S$yk)L>*~*kui~~Td;-Cuf+>l-8C1K-C!)*EskBr@dRjMg zN-LgQ;d_2g+guA2qVXQQ_ABZ1-A#ALBE;p_MxZ&hy3d)$BjprnhWH~#Pf0I*{%X6? zZ`JHUB1VdGOP=N7NID(c^9&Ohtq6SkL_~1O=67Nnppr=B2E9t|a+@?$w}51L?Gi{9 zY%}jMw~My(ak^B5%8My1@ivu*&5mj*WBm&N@$s+wBHo(Pv^eTd9!We!9OSeEVya$T zZyfYNoguTW6j0hY%vx)~xrlx&5%)#=_?u!rG47 zecLSVrC{vyKss5#BKGdBx>t@y^Cv-~kotLHYzKuK;Pl@;wr^g74dpfLcjUvzQ`vb# zo1HSHNw3nN_MnLHq<4+Ez*Md#JP zGYzoOE2CXlFX6nB#+{>!+dNEnwloYt@fcE4R+6ZvXJD(h%-C=@$pUL{ZXCQ&ODo6i zc$;ls-Fkg--TumE{1=T){spYp&0a}E%oq~aREDH{QN_Y^iCK407>dzTI%miu1ep>c zLv74C3=q}6$r3vD<$%hQy+8=%afx6n;);=?vcZ?V{cYWT3nR43SHv~y3SL=_5Ousing}CL4Zq$ohHFQN8h*@=`oKQD6Aba5i}mAueb7)omf|Kg@P>};YnU`te=j0od^Od z{yDlRyuj2Pk_GEY$lMC6t0eG36DshUOSM*kE?^8%b+#|i^La4+=}OIwO#gRWe{!lj zk3Xl`-OE!)n|svi$OG2Gn2sRu5@-BQJDZd1`eieyQseJnPy7;wrTORsL*5xOB90D_ zJ9&iuI-RGmQAFE`cfD9riS`@ZoMf`K7Z4p?E}E zEQde>NNnrRF&lDhdMj1zudB*YlZEX+KFiwYiJaQjN2Osu{x&4wWe&%Gy@`&p|Mg$~ zZ-*)Euh4&sb}`8O$MN|8UD3&RZg*e4(c9A!`iZyldVYYAPb$8LcRSj>k6IRsTlqyW zo0c<7nD^ds#XN<#Zb@}oiS{yHe9oLYg#-PV$*Sr;kGCy4O&{8dhtK|XV(*;=4FLul zoo1@Qx2a<{!^Cl@VO)iT1%lM;z5IPM6WqL1hay1ERym@k)zn)6Kf5Di2 zOqdF5N!+WfD7ia-^*+I)(7iIExmOk_C9Ah5OzUuE~k=0MmNi$tRcx zals|`XXxuT^<;FRm%nIqeC1<(&7Oc2Qb)@K&q`;s0(sXkx2O$EOYRv+lfT9rZpxg^ zMhJ_#(n1g&>fR8+XNu*S(94_Q8~QWUQR(IrSs*^bwXW0^Tcj~*CE@J{n~NqFf#Le6 zE;??-b1B^o3Y*K*vH%5s^)Osbd8s#C2g&6-{mk!y+lr?54RKO4gA)^cG5S&HnT~nF z*ny9p{dkr=y*J)sb1JbNOxR-w4qckVF60Q9MuG-D?SWO+cgoVso|3jJ*WBOa5EEpj zm;4x9=(UpaIg$ynl#1c4!OXKW|26ffV3asGO2Zj&lUMKKrzVs$aO6);dDv?nyDt6! zmi%MCuIipQZ_dpYi0X9^i@f$P7wY@D1vy5yQ~8XgXHm?{ibIJ)A%-H~51d>`kiaxc zqsfu0sO-crU-{*`_Ygdfiux_-KT~hDUf^oR%(ObQwVS;;T|1)k5kBA1!*D{jGMp*t zLbqrvCX%I>s%ALJtUs8<5}o$y%*WW6^Z&ZG>PtObSP;ta(u*y_ElObef=q~S3rDvm zRJkvy`Po<>%4E1%lH4J0nKoRVdAAY(J9=_T*l^CFm(1s$WN{zgqqnRfNNV6a&2Z)m zSfut!Ja^ZT@wt+SemhuiwW!L=>2&1d{z_6MNDhCT?>xc?ZS@D_ldy7Z+cH45c)%-KyHV^v~qN%BL$62v;pqW|>mRN<|suq$m;2Zgu|PrsQo4KH0t=MlpK`NsDpjVPr= zQTYt~KvVP8LHmQvuRecgDYAUopaL=m(JG|wd%B)>dhC!^( z=L-UtTTUPCerN<-e)2UBt!w05tZl~is9Us+@y4_BLRHz~?=~{hMY<>P`9*8ybqt*9B5&f0 z!h2;&VjD`Ey1QX9kRgkQChO3*`0dgNF$eV$e(`jD5eXa;f_z^MSq6&?K4*jK{K`R_ zw2sSKAXvWWZNqKWAUmUlFlBB+Kv0QODO7Vtf0{a0vvhqsVlc^Dw>%761IZHAu#u^G z7@!Bc>;G`B{k0KzO6p>N(4II6vVihh7Oj^uIt0O?6`;i-i!UV#nz3YF0_r%}={ZYR zj4Br9vkl{LhwBkwv;`Pi6RFY41Y!Im40W`Ip=b=XD8 z@|JEq@{<=xR6$cRSH)uAS7wpuB<^~$`X~k2)Tb3T+4)lf9?aV&fAWm5ctGsL`Ri4E zh0T1?L@BIs%n6oJA&Lvenjm6sk*sz(OV9yFu_yrz(F2f*N3mYr5=Gnr5<+f zN-Q^dQ$Ael2Ld+Ie@6{x$(_q*SS^dj*$CuKG4-ob7zqGKST^6LIyGOgMqFpy2;(S8 zSPv~9>{rPjOi+n7^krsH)J&!OQSyq7QazzSwIw{=M)PZt5jt-OYTm)VZn)J%pFz7a8Rk4jYdEF{O0U^UrG3P zn-CaB)|8o|Q>)iK?3l6pt9nz&mRT_3FrIK&RLh-=-VUa}9R46;QNt3^vORg_ljoB; zU8V39yd4GMh4lMEt8%B#%WUQ+&%CwtQY#LSFqAjXN4Vxtd&6#oHhI*L?MH&QRj={N zW6?|9D7;4>m5e*6&kzL|sxwtQkxT0tR+HyIN7#gjGlv=^$}Dy()FnRB&Nzblo7KDT zV=doAsnVnZ_hwyop8V{L1jw9aa>jllKU;w-9m-53En(c(?%BApoKnt?Sc(&m3iG@K zi|hztuQqv^nAk&$U+D6C*MaXXfN=*2P-;8UQHyuB?|!C-XN8b)uoO=@O2bceoHYy zH~o)SJH=AV*3Uf_v8pgrm^$1!EiH}VOF??f^Cn|)y{()ji2^l!cMjtYST!`jKeNji zAiySU5N*D7`L!h;-bcvvI(St1vozJQ)c(S@?iN#=hGBGVkmY=j{k*K?40ge@n_Q_V z@D7>bTYKYE-cli>U+c*}w)AH}5&v$hBk9rFlhW%dQa;n*q&{LfJxpxM{tu&VK7d*B zX@%f-KndDK5i~9EGn{5}wS{R-v+%ukkVk7#6QgaDi}~CG=KPr^AXko9X@oe);Zx`$ zqPY)bF?u^S&uGg1T~_`qsz|%z(=RmQb|rSmvLAb(_rWF;lzjU#S86;6JKMpnn=2N# zy8mV0BD!CeqvX?lQ>pNaIj~qp8qp^t>;2^pc@?-UkJfSF7~(1>@^K`#=s&m;77{WgIRvurcpXZTM%E6saROwYu+CN4cEETH!t~p zu*_^5vnMlEU!H}!u4`Xun)o_q^m?Kt@tj{4T(Nf`ZYt{*(fS!aODn&tm;Cj-o6pIGt{~+dILC z^IeNQ44@K0KQw4XComw+ud21R*``sb>+ilIP%iltTu5bVujEKJV%GN8h@Q0(-pebM-T=R)cX+_+tZycFQJXH9^LIi@$~iNthESSn z1|fp)?qt=3YM%(XG`9N+gQwCet-)le^8O+E0NuK?Gv9Zi2B~kjR^L!60y4yVc69bX z9L|e|d#TkJY6u4d878eCxYa)rL+oZ{Cc~-q6TRZz#|CluZia-$RyQ9!%ni2Wr8#8I zXS~#~zL4g$KIqz-K3)HQW>5#+?_V0Q%Hf6B|3iZG{hwIiCi!Y z5Xj9d!FN_6Ne(-2G>!6e8p?S2Wx4PT*R3o0($|FQXzNkCUOs1@mUeDRf`WwfF}`=8 zkCc)Mx;-tK2j=2W>>uWBm zJo+lBb#@RqSVS}%o3o!$qjcg*+8~)7=7=k$u%}bO0X~F#3KP`XH2n$%vjIH@H#%Pp zzpwgcz)U8PqS628@$>zJf#QiNVF%5iV64 zTOPx$*o!*;%h7X{dfksKejCeFT!}l^IGlX#>xT1gEMxjnA-y9N9h!Jh##vPGMm&#- zJi_@K;6}|)(e=Qb>Y~wdUc>uGTNSt6!%X?yIcGFkL*nJ@=dC>99HZ^O0wqv}dcOBq z7YWv|VLkj~6Am(*Fd!*^^cdp5j#&s$ReO*Y2P+u!&|}c~iloYH+Mx{?dY*zItX|hJiyIv&R4P=dR!1aZu{C_cD;6`x@r7 zF~$C5=ygq)2wJpV)m8NJK-e8VzcQj!hP)N*<8wqE5e|Q&#U|rZ#gu=No~ZHa@?cr6 z)lKi7CfVrtmz1~00vg<1-%08)rK@-%1>hzcp)NR4@m(XObjgRPvyMKND5|^BT{P7e zIMXbTnvaX`l3vaguMPUvosV-O_hPMh(05BxI|hk_b}+GV3R+gVt(diT9h&kf3vnw} z!U!5BkaSsA>>i}1+UElewR^C|5h0jm;CCkN>J9=mqe|=t#)&2_|3Ln=a=Z{2tc7uR z;MSbDE8urV9FO%)R8Ye5WsS_O4Udw+7UUF#u&%Fz0{(~{yez$-=;6!D^m?wXV}KB) zEH+CmQpNAMf2`%cqmDceki2fI(d=JOF4BPFXg)WcBoP0-D4e;;Aww*0JgB%9rnN-F z`yqw{{n2A$it#8l(!^tlP)u2QTKkOAl+0@mcXgBv`X+kj5PlM}KCI;)ZSxpQ^>VFu zT)2$|XJ_C@+esFo;=TTp~@@BH)UkkaI$DixWWiG4UkIiB@ zM85OORu$6I=azGgNvjsCt~|BvZ9RB@yh-on^>@9Q1k*0{pOUxUq%&$6rSyF6Pix*l zHq{HRjAJhm*4X8s<8rqLt^BPMveJs1tn3^8Tsf-g7K*i+a)u=Nt?H@6X+`tWhoa|m z2w)UXKPQLDyVDiUrG?e*Bo$4qIHW_-?S&uTBXKLY)JE}2|^vNcC5|K9l8jL2am4eGxPA{(n9 z6$HCovwwJPs#NgO+1sr_gLAfqCbILVvBINbtFbKK9<6g941V8-CubXPGGE7(8fxFA z&GZ(WQ7`a(j9ubNY7yZX-MGz=cMdYtcMxDw3^(jM`HIlys9|b(^3jH|`02&dLpPy{ zv-N{jQ8G^lG$UFP_V^@rT7<=wUdz}r*SAlwMU$O319H*8DS0FLGBm2#nL4O8I4^Vu z62W$FWj5o)jPsp3;u0^Rx^EYI+sO7Zqf~5KdxL=j_!bh|Vp61Xy}Xx9nltG} zaSoFg5>6-ZA?`kbzz77%a8;6~s#l`4cY3-b^MIC27R<%5bCHqqxm+KXe2^ENV%fy$ zz~571;oao?hm6rJJA>sbxi<3~M527Y)uXu2$6v!oy#!TeHc6+!=jn?eFE0UTnOl&6K9SnGm z-eR@i6jqg=a~onEKKZ!KA?M|-PGQ@JN8`EUnQ%K9#iuEeU=*<<_U_vVhYMyK*g781 z0LI^8t3(IU{c=d~BDm4xL-x8>?AzvGSgZ}dvfkdykuWF?JHR)*@|QR!Ipq)PTO7mM zaM%T9U0e|Zg8yjk>o*KM8dDvt?_2WO4t40R09d{Kh0WM~mDCaU(sRB_c(h4Cq))h8 z!NG!Q{Nhb9taaw@iAz5&51SZkFj1o3QobSd9wHmDDWGkD{IrPl+Qit08jZpQe-_Ji zHC4L5%SJ}ho}d#PuOWZUm8*6Je=^dx@uAiJI+!IWgTn0Isb3%PC`fI}g9 zxhE6QTHCl*56Uc@Y5Wiujz{;`cWk1TdknI{?G{42s-R2?Af=`OQN!WtttGiG=Vu%eIPN62JYGRf{ARDPv|Yl^~B|YRe2= zTU4pEzn1+7A*j1P zITw>$Fm6ohO=UmVw}wP1^(Vj4Ks(E5*UN@gk!=o5 zj%!Tr=H10ey1816(>=f)NxLhLnh=Hg)YsEJ&t-W`%ZoTs9{XwMdz02iT2xn1(Cpuj z4@DqGlDuz!{nYCn01)cmu)AHU)y|70qQ?8HD&ZgP8fPue6%AaBU76%AL9Z?nyk<<( zBMIDL(>^L)8t~A=bF_{3tR}NXO*`CF=*< z=F>g(*5P*+0`Zj@dtxvzXAuuiXX|-_)D50d2}H*bFjF=?y6Zy7mm_k%y;NYnh|ey= z41PB_a`-r;FZ$Aja}iR$Mi{P;C9$l7icL2OdW@b7-nY1`mk(T?#(qrb=jYV=I=bt` z!p*Zr<2y;PL4C@k6Bmm=)=&4J5CfXzw@dQqgq^NyFFSCP259h$P!aP#{|2HvCCf!* z$Xs6L-@d-akKMbTo0j|F*rjUO5NWCBCO%4r*w7T+%ey-9E_5_B%J$-KNgiLme(fM; z6yyMTPW^=-#>Ds^$n-hbW`La?MVtQKjs5(86PVsB``6pu;VhlHkdt4LDSgxvk!Qp8 zR&P*}E&+sSEhg7r*x9p_4yEBO-fh2Mxy3zB*^*luDflDGBxBOQa2$Y3VI#^Km*>Pt z=RbtM*96bPoJ)Thzsc#bC9stuwqW2OfJx-#c_7d{B){Fw4X`JGa#fmIXc8LXI()XO zPP&p26_|6S4(LX)uP@^HcIImO#JGS3TZ4(tTnz z37%HP3;D+VqR?=|LEA#_leL8O9${~xJaY5lQkR)HWsayvf2xTQ*z}bw8fp&9jERZ; zEu;!#%ZWw_wH9_#d#!Yux}8CXTQ2rld~MJ_p)Y1zIMRR4ZtrlOl7S4RtyZ0KVe(sk z&t!{n-({GEdn(dux+OTTz&x0eb%|qOYS{IOqHEdB~GfpMPbUr-uw@J-4oz1k= zUuaP350)H5&ZhUYk_2-3Ow2hta;zJMXS-~u=6LwZ3|-_4uaOK-5NJ7F+#Sd1^b$3!u%`>`uh)pE@ba40_#Jk% z*}UR|_}W~+4=<3~6@$czmG>mjm$82-hb?{r8MHbl(HivAGPo1)Eh1F=zCS-Gsboaf(VOF zd1Lp^YhJ%^SqQ~2yNSj4Qa14YUh^uE4PN5KFw!Y_MvZ?jtYTTTx!`447xy z(bH~9BKT$YK6x~fhKU7QX{hx=L2se8tYFpaUsPCq9hnKm-2<7^ga97q!VZ(J^4Pp@wsycuZ0sy??xb%1s;!9^lppi<`s4e+C%lP(2NVLi zJs0Qgt}59JiaSpP1I({xOr9t${Pu9)uR&2uP9OlQXNbPh?oyZVuB>2FbB-c@F1_!E z{+o8+3{uOCTnSUC-Usmgvu9D!DDKgrvhqIwwZObTRVI^pg@K!*c!6h-n>};ef zloOg~!2z^02rOcA8j-Sx3{H<2j8kRk^Xj=+Na~=20M6OFm?`M2NLo1FtzUA{YVNonl)_DrT z?!1xl2epiZ-rK+L%AXuT$g#Ru71WqQU?buWzB`wMNi6^3!6iVR$Wg%ZY zc66c7lG4i{eMEUM!qlPmSTN84lagYv`#R$V@vM7elE2oJv*1Q{;Z5h1FlpY5>*Sw? z);5xxL{-CwoMx;S)MTIQvT+G;uy2c!F78gP0${h+LH4&A z_G^lDRKn_iaY{WEDyRlr5vGnV-Ua){QV7c=X&OXJs)^jQ7|eK632)F1MisNmhwv#Tex^ya_yYcORiEI z#==2KFr+MLp-y7Ns!H=YL-j$(sJ#*EzkHlNl;c>CZ3D#YS1e| ziMCUXoWbAKaYpl^O!J3R{pbi`9@d5ncPkn(EtaIjfRNZcG&pJqo zuBf+2KCQtkD5W@MElLW1mmi9yF*N4_AGFYcr=hBh4ZT7N@O%YC3Tox4n*@GpyR%6N zy)5gjsMdf>5OS=y>ZaOU=`o$>geFC!gtAlK#tKt6flKh9J|b-P8u2>6!23~B`PwezqhTqe^5tZn{?Lg%LHK^l=MX2}oX z*}wJgNv$>Kp=o0M&Pkd&vo`QD7n_ms&l*K>jPgxIeWQYfnu+8eOY{vRQ*vc$S`_*= ziZ_^J8Ox^YCoZYQ7foP_ajNi{EtKXwnC2v#!i5Q4xJUo=v7A3#=QM-+o}MRf&SasA zOozemb%-Xdg4l|fjM|C@n>|jfwgLCNOsbh}rNu_KPhn=h1%lQh$uC*PlJgixIa9u{ zB;u!3#ZXa%%#F+wd>dvZA z??7Yd|HEvO_Rd#I=-GY9a)ps6=a^Ze9|OH9cpk)l0yn6N?>_GyVv@~vz7>Bm`Xyzr z0Pp#B^eXUztQz>Z`u~ZK`a}2O`ITmO)b`2$(6Oxl#jp^yx(xd>Z>0{MM!5#76&GoU zxX!Qnd36r*0j8L-s~;xrT#G8tpeNFYAwX>TC_%(q{Y5ug96*4ZAs? zqg)m99K9e^TsNl$(Y)ftMl?8qr4TQ+AE!2@<-+Y5m8Wp510ui>LhpEqO|hHY7n#&7 z+&UITzpYWW_YVR}7@v@GuNr0#D1IOd?kH?xQKZlS>78MEWt5XL-w=uTXa9Oq(CgG% za%ao#h(_rHswH_VRbMmvvX4s%r^g8I8du!Y-jJ9?uYo|%RLXadwLTqtB|7<)E3(RN z8&kYiuGm&}hyA$+Iv-wO_|a;vF_b-}R#=n1@nm1T z-PIKx5A0B|u-Ug7&=p$xhbIm|$@fmmb7H(3CrZ&b9D%kC0rb{VPrP26aD*mEa1 za^hsg9U$xI4j9CM-i>}?8Ps5>_w)lj9Hsc)ct;gU5AGfZsA4C=$|c+5$$%^4BrmWi`uVB6sdpI% z&w(xQ%$0i6F4_y|J=h&#MR`HfiIVH09eWQq$aezUq$E00D(Gf>aUSPyD{x#2he-%H zG(;3v5d&*Y0Iy?SJmE)C73I&*wa6IfMcs?VQ_0pOKH4Hrgs9!-+}|>E#Qpp;9)F-| z{o^T?u8N8;379Q#VN0TSohQ_#T!h5if`hU@VNs7^^YRtJE=ZVoOGng%Csg3UjFpmZ zm)JQS_D8VA*~}g@WOix-i<+!>^BGeG@a(CS4iAhI+wMp?BLYn=5aBx5ud(4%VE=Vzt*Hn z80Cu#N#%m>X?p2cZaLe=em>DbMFe?$l|5R?euAghhbHenl!;0N1CiCZn72(8EqEae zTbYr1_iz1`&bYhiMlE31ZL~LMCdwU;Tnx~^k+|7%%2AMw*1VXiMkM)n{-kz2G}cJN zX&dI9Mn2DJp-$BI!_CHqCx5onr!%M6*bB(O#wuo1M{6q#S!aR<`s2L6>}^y2cBKhM zIi5uqn?{;(E2i}7QB$q60C4F7El0~MnC9+LfRa)UM`bJMVLz|64&xd3?#i5h6NiV+ zg=bxD^0r89xUVwa}e8tH;bl4V!|OBy3L29oVHq8GlsR6XIc`li$>?_O`V8y~AhQ zX{<^;-%Y}pb{luPY(+(vtOX2zC5a~(oBob5Ld3qa`C{mfHg%m2)ElC2gBiqNdGdk~ z58tS!oH(=`t0ddbTSItz#q|Ec1`N_aI#MUQage-XuVf_+`&839b+@5&K&& zgaTAKH+h>Fgyk$7=an*vkGuXEsW_L+vOh~P6~=l4PGp3CPv1l<=jjhRxt^1-(krAm zz|M|4)ky!?($v)?yrmoH@0OfAyzs)fEN4#xau29hoL8g~(fVXdbc+gMRM~j#$qrZK z!zE{B7yD|I(qB)&e!^xr7c$IBylZst2YU8hl<}Q$5+2({6_&kF^B-~vcMbpSmtEBR zLZ7*%o(5^(&zO#!>B*lRun9CC${FIp6ek_;GUvK}fwoSd_aa1gBYPqrUPqF>=QyP@ zdYFv*^h=YTiBD9b*0TNkX-UV4F5h2xrgqW(p>M|PU9kmYktgS;Wh*R|OnVcFjp0i= zJCnJYap9KS{X9{>RR=qh=@gQMMV44dqKM=S4U>Qd&2 zo?Yl||LVokpmC38Y1IwIfsg71mD6m;ETCwcI@do`pp`nPxcH#;^s|tQL7z@K*;D~l z;tz-I*qQDibh)9u>Rv&t+MwKqpj>Ea#JF=+0i(5mJa9Rnf3f`P;+*Ny%-Z%%-L#^* zn43-P`HBj|iN9us;D<6(P*~XS0oIbZ1E*Ass5dE;wS2y2rm2t&6%hmJCS{2;z@6XS zAErwa6{!T=;}SAIOzO9Pp~#=us{!@^%xID0s-EXlTDn3WFFu2LLyXG*>^E~7R1l;K zbsw)U&xyXaGmy;m$7TyQ>7UE(SrQx*euDk=KV(fb1Ts-=o6?RdO%g0(f9@#Aqu{{e z*J+=eCI|raQ^gvAgAUNpKGKD7c%ys_g*SfB>6mqf`xwxA?1iKmjRi^j{Tp9D-|1c? zuspgBl)xU1+~V4+BIUI^e3s-Z|8BgW$OyW8pPhXsM$&y^-~_`(`_3H$=5QPhkZw*y z?BJJ*;1f%Gh`+Ncqa11&fw-lYnyyXPB)c9cyG6iDT$Ep4pK+@q=A@2nWw92eBCM1P z8K<gCTwO@X8>*Y|*LJ!|kP=;%&uq2466heANi~16u)AdFbW(P1ofsYG z+E`;YOB!vXDnD4Pk6ZZZBc2!q`E-U7U1KbT)>jJ6&BH;KKGVqedc&%^y&-zB40Id{ z9E_8~@-LV@F$#5?pBa4 z=@O6_x;qEy7&@hU=|QYSqiK;w1kdS@nYc3sX0lz8zsuzFI<_TEfB!Ol7A z3d?r)(0WluUgh8{gb?Cci|VR?&F2-2JFXgg0==B1AD!=4q1VON1*C=y!}7P-ElJ6?8avkg>uw^?VI22v2(aSp zW^UJayRu2ckEJD+9L657t3iW);?+Ss*J$le?Qyk<8;4yO_#~?Du)775nrx(BUl<|W z-KgNsd_7@1aL;5;7C(Mkj}3m14*D}EWDrj z<>^2X;fuBmWkG8yGtNX~G~KT0Brb|HevC^+H_V;j#nP0(+k+)Buarlkv(KiOY8K&| z_u(l7eUnYNM|&`=oLAEFpI)Dq?#KFnkGLHQtk^ zuP4)$`&P{QlDusx=bkn3G-`PQBdp=?gzcNFteBE1U!Oj))J^J6iKRSqIq#rlbIO>k zo!6X8V~7$Uk*47|o(0en&?ml(j`qvbU&$-as|_Y}Y=~w}m)EKds2QLWcn!rL9oI&M zORB|G+5*nTpGw1g8;FJ(*oQNeMMCpXN*+Dt57{epv)mPP^r?tm%P?X#h`lJ0m@G&2 zmuQd=AI&G2Q)c4PylG#ox57LP?Y(9QYRH(#)Rx2JX^cBMR(ra>juY*+^`=Zi@NjxG zRzXL~{jin$EfmMF`CCsYe$feGBY*WP&2*i)x;S*fKC&+L=iOccw;3Vd7d=FZc)nb? zWZne4sfC-pr5f%%mP2j!Zlhf)-C(blnUed-Ui#!aQw8^;`#iMEkvPnqpEhg_FEq10 zIF6L*WER8iO!tuXQ1|>GJMV^o+;M!~?T0VoVeEIhm7FrVg`(%E0WZ-;fo2dmv#vI# zWH)jYh6~&b+U;UGz<>X#mtF6f^M1#~hTNzPT)X{{_(SIjHViF)r(D%vK(4}Gftr9+ z`mNKEe0%PPwVMf|K&^;?0}>+1rWha8=M}FWLuZ2u6vFDM*7#2?Jr6UwYp2HDXqp>^ zCu(`3QimPYy58BIF}HUQZ3+dYS_eM5j?$Ezh;t!wvuA7b2cQf30Aa`6kvbUJ>4sOk z?i&lD;#3}hB%~t=cRa*YwY76W0O1~0ui38xC|on2?wU*+2c33{KyZD{r+15V`Q0}vq$3c6!y9iO>8ye#6Y5;MHIBR#m50IM zhQCrqg>f>r8mjO7A4rSppeu8s(E@JJ3-Z;PC#6N13>Q8IPlufadW$Q_pJm*V5a?r^ z^$6KGlaDt>tnE9GZ+RI#T012Da8w>G?ZqDHf~9)2YA5w_Yc{s82zT_R^YNPlV#%$m z$(%q&gY&miLaJKea~H5LzWz8o%$9U+-zr(F2T?&NbJ2)VJQl4G_zt=g==wk9XJgjMEeTo3szeV+1S!JjG}_yMUR zkQT^Xo5|B;9njK}SJAGg$YL+z!DBU4Xmr0P)lolnvxEdZLMKVufrR;p@m)Lc=$M#R zEI0FpiM!2l&UbaiDj+Vep|jSzOX-k|l|~|?^X&}&A|fZ(?Kc_;5_2NmlC>>AZ1_Co zL+>+@=Gf#|zXFmrd0T(7rB@vE-2Le1TiXxDI4r9m)C0G=m#sp(K^3p+`Dx8Rxw}~F z5sQ}6n;f(Qc)*}>Y#y@Z8(Q5%%eBU-V$y^5L{by`4nM2K{`2Jun{U>Y^ZON+?k}uk z&z;iJqp=--!BqAc)A?X>dg&MR2Hj(*jRQmLnbs8Z7xI?4@xEbVlrFcl;4)+G|77%1}Uj%*-K~x9Zyg zEANq+%p(t!=t|bKprJYgc=qHILz#ltiODG8^Ve3MB>4x>)|U+Lf1m&2kWZa|3veIF z_8Ikde#0D`H>axi9Dn{n<=W1B-0bXA7k1A{h2^ok&%3Dk9dyBxjqQR_?YlAD^eP`3 ze{&$asZ$`N|!At!xd*X9$T7i_8iq~oE_bTluJo{avwSD#Ihv4z^*y6EA) zIQm+wjmtPpRpD!ic384=t}(P91=8hclT1vGPaiW=xOZEKLSGu7cvsC32CLVLIlnX9 z#u35@5^V0>i3EGG4a73C4p*!T>yaGj4W@Q|HG@77H<8~@X7UlQ4ga7@IFWp@L}dOv zf}|KBFqTl`WLDJx&iq-93MQ8{9EKqrudBB|0h~whx>t0$HTs!znR$4$sd4sR&}+|& zqUxm#RD=;lkbZfMt;?O0Sk&g&VA5aUiXHN0G;ul&2jK*@IGEO?SIL@j;i!mJW8hX{ zIE=h`=bF}-ECui1v{BoNNOXfIJTZTck8Q;Mzd`f<|ISF|BuN93vFfY!Qu>)Fm~_Pf z3a;M6MBu4$*?=Or1}^?EJ+n@q)!6AWV~a^l6xY`$>+0&#Hc8c}w&O`d7iq(tjA=aLgS;^AId8b~+iFf>6LR{C;q z9JJLmh3PAsdsFjecAe6G<_Vn^nC8>=0pEQu3o`ZO_E>j(@}&nSwOQZ5K+caJ2zq*Y zeEj_Oj*g;vT|Usj@Hv1eRj%(Fi*^rWN#=w7iWmR z-L&dJ?yVLKEqHfhH+%W*F-T0Corpyg(Fp`rarpa!W)A3JH@kWJ{LYBWZRmcANRR^b= zvi|ktoNGH8ti`_Fl!*L$5h4$o*rPvzqOGoTKX1eP9(`I{ul=fBHZ7|Nx)V&suYxT-i-iN+u@9E^4U!RO2oKJ6~RoWT89B_!X z;`&%D_rVhfr(3c0X;qU#arEGdow0DH)PRgv{du1Ct$1}$8c)Slp8?|Aq^Q}_-Y&w& zZ`q1S{$2{Yy)B`yFSe{l8idvp6P+wEQZqfl5R~5DfptJ*tX(L^Tm!y= z>E1hT1cP_?G_A@{Hqa>%-q={Hq+i&3ksT7}3&6Y%h0+I!6Dr*y{e=?t_U~+LY=ASQ zjC8{G3l1JpwN zj=GiISyHc>^jxdO%1Vo@xEQU`)ymCaxG_;hWi?fvlD2`{sb0hthC3&bTXo+nyH z`?>Pg(0%rb*TQ!ge9mTknh-x3=fp$I$apfWalh@vP+P>6X0tGGXb)crBCXMIp-ZhR zF3x@HJ>76Gv1H9N*aE!Bccrj9YNHusGTUcPo3VMc;Jt<;CD9t&C#fvGsd$H%G;q(( ze(6XmyqRHf6yDRi4|900#~DW2#OF`3~KCspVksYhbr?r?I_P0FTE2yT2OnYjt}_;0CB<{nN_A`fI37^zBm(dd{H3~3C;yH+M(j{*h)CLMlyk)%V`MpuH|01)RveE;DxP)kRY_N z5e=SQEsRe~lOc5X40(yRi^93^E3CQM%ZK}hZpqs>R4LE*M^4TYIXSuJWh)WnsH6shlUJj;Z!~7nETvh2T;BPLrd1K`~F~KSWYrq)L zFQoO5YOwn*S4a`6nJn(=Z1U2|ywjBrhW;G&UI8>1ur0zLOmaCOAAmg}`HNI{v#2t% z6u57E_Ra76egN((bv@8;j8z;rb0YId@BY*3TwK-()3~d}e*fU31Jo8_z0KDkX(cvn zvK0UB9TdP~oa|pxaeHz!-0n_U&sAq?)d|^vx4U^Vw&Ki-Vb4eB*;Mr&jK-QpDEM`o zB+3Z(3$bA6kB0LAsHz^>D=Eial))0P2wOt#7Rtj3`cd>>50rvHLsJUVzk{RyntpTr zkteeKS%*wRAfI*2%ZTpj9<5Ym+sFfyh{4hGcraZ`%-I4|>ES8Azu4!NCv<45TY)Ds zx0kbT$zBawd)tmtPNrtxh!{FLd4mo^0e!5yo=^+!9>ew)_KU~;LGvo~<)HAt-Vr*5 zm!jnzU`GF-G{)s`hW|w(`X5B7|KFVJ&ry=3vChhG`mOeeHGLx5E-6}iW;W+ISru$` z;F0;Axp^F_4A9nuD|Q+zA!bR5dayr>jf&8?x2tO!Juy;kd3NQwHjh(hjpgfu7P#Nd zIe$$T(6EH+mQI_5A({Pm;xj1RW;)jw=8-s795zcIWN$wGXsKX$`5m=#D#cC#4Xhn- z+JLY;$W<^TiDf;8-xjICmeFQH=;;qO^0d8x;n*ezn!@^zsSNKa{*X0j=Z5-liFIdV z;2WY_RJ~GZyI?Tlze5i~W5;5M{lg}kNH#tl)R%JnzJ(;+^=lTXTr9j*2Jm-Qf4Cp) zlWD@QzZc_~{0I-2Ev6jbN!P!+U8AwCe97^LI<`JM2`nHzw2GHmt(-b(q`AO~+G?uz zI88Q{;_Hh)^3RAxVeT7qcS2I_r~NXk*xA5m;H=W;WiL4U-S@JP#9bEGnz22Tl%!%6jL?l*SK1P|A>dR_)cO zZKj`?S3%-)?!O!hpIqn>Kt#XH!UQb0grg z11^3eld*cY7554e2Vr_h=javdmkancYU?I6`}CY)_>>5j@k?kv>z}Wo$))lwYNe&F zrjLE>vL)>TK1`Ie#U(HwyFu2iE zC_Z$hvR-uSfewB2uGhu+4Bv@5y4$p}PI&1O{dcyMC8o56dboP&yR_nC9m!FJc}MIz zX0k#!yY69W_LH2^79b(^=Yp-|YKx|GNc=?z7Fe8po45RL3FjDdCC+Y`yi`<7_N0ky zExSEzFDv`;$(Kq#eyMw7ESF)Q!#h;AY}(`*)#QT*6Zpi`7V6K{nCXQDZ+W<5-Fb^d z>N+;j0^Y0C>|Hus-N3v!ruwR*;09#6)-nztVF&J&ErXeCKGuOk~8eZ_%&eXiyEyj_CZ(I7P|Zslz|-W*!&Bp<%`* zrdJ==7W%d5cS9?K%F5wv9PPH3hh;2dLv^vDbxb|#A9j>c5t_A(*&JGK!}2lp4#@k{ zH-8hTybm*8de%C0X<|J_k!U-X8w`p5M?HB}hRM|8Tj{o$yWiYAW*Dvf=T?f_^VKve zih;4SZ*SNP_*S5WG8l>E{|Fp)+9o^jAes&u;Fg;Oww-evSu=mSYqLNnd$}?NF)ZJw zC};98)57{?TW%Os8};%h*CEN?x&4ql^y#MKGuYcpZV~+srb@!X$v({Ff6M zEMa<(3tG@-t)hbiuvFSKJX7m>!!W;HH`Xh6BwhC~7tA0j9<}~BUp%u|I)d?~v_Ajy zS))EKW=Z|()W#YVO>F4jE~($>;JB*c zk16@#=u_GvI(`G(BoGoLmUR2jg^)iaZz7JnO@jsCL{0sWXk-D;7?h`YH5!vU<10uB zXx}3;7PV4UsE~bWp_69hA8trg^xa4~bA#N?V#U}2`={Ms_eG){(3#(%?*Ha@cTvH& z`+p6Sx+|q>lQVJ3bzjzJ*iT3Ogp{1HGO|ky-NpK*1ydfR^4hcO77doh$Rh8Op04-T zvRw7({)rJn*^^rP*q{iv(wnNlMS*EVmi%o7^t<*t|mrYyRW#jaG>!?z2sMpCQ=-4*5sa zCjzp%(+zQ3bb@qSD@bJ#<`jTuc>g!4dNAbUCC8UyqO-^8HZt&+o&{P+*J=!%>v&4( zxroq6D={HYZU&rqiK5@7vHF3tZ9Bxn7w!almw_$YMFMf9N$qI6G+SqA_1G+y^~kQe zn}uo8fBliZ)e|StIZJidVM`}lNAq+s>XZAxkdD~;OUmoq(ERj&EJZ=7K$<%5naTkQ z>XZq4;m{)S^{_XDV7e)TL+UTW6Aor%`-xP1Nhzs52&7|h@C6XCv#_u*5s z6}$7>2n7648^(Fsr9GM@x*EJuR-vhvm*0Kkk)U;@s5aV7560XuhIb|ndmW5JyeX!2 zb-e243OX-gov`3h-4eJ=XG@WF<6V7jrcQ{X^2Y(oF9j+pD|a?HZq~1c(%HEtCWi4U z0xQImHk9d_KlGi>WbXz~0%Ai}r&KsvP=k_sKU%B%NXq-B9W*uq(?z3dm+8Wwn%7Jm zzc=5yur$*%vj9?@!5Kh9t~u_IV;tdcxi960HcjnDlSFIZCC+E@HP36V>>sGyF9Cvw z@3z4(Khse5gj(hYpl(m-7=*kDB`qvyt>rYuJgx`DgN1eFbu5~D z#5g6Xr4EMEf^+7vmMTkNy8^Zx@I$E*=Ic-m1aS$1>zm)mWVCZ{^2p}O$biV@PwMd7 z{YsAWhtL;JfW1ARDZdKQE$e|m!itOOtyNo^Yaw-x@Ryt}Kr|;JC_o=?V91`)1m+Jh)EHD3BkUBypZ+zw8 zKvq>kIdE~$@O1NqYM;m@g_SqDAao@UhcInf^C z>89RC(gw;RkBmBDy<=0S>aScZl~wpFK&+<#P4t1v|vxz4!S@;B5me9 zoI4U%f}Meh5~gHr{S=Dw@}CnE6FFvVJY@-=`BKHAAe|C8srt}h6fsq9Ry*E(#EGY7 zK?PAiz42u^{v|$xjm=JPmtVBHYA`lFUeo97uuK)pQ81LU8xlo6)j|O~sDq(Dv)VxG zi49A-&maQdl>`Iz9ODsZ4+NXW{xsp~ZSzB=>!bO}rFh|Kl_%tjBs@q@wjr0NHN^97 z=fZji`^JQ~)tC1Az!f%)g<1T{HAL3e!o&+!xioY=Jouxz45*jJ1N$!sXJ@}zYvpDd zOA~E%iPpKFblV`dmFX-Oy~k3kDfz|d@A(TUVAeYCuE|PI;}DU)O=sqw(9x3)H}Gb5 zeOg>}S_e3z6vFrE@U^pd{q|~CShe|h?qV6uqEFVhJWkWoGJET*T^W)+ZtL~q7c=yP z`#rq^CDhc4Mw@iA*IRb3>`df!@(SuXW`}Ejvf}aM+5?=(g4QjxvY)C?<7sFDPy!X3 z&v?AFRE*RU?a!<*AQ$*o%h4S5jh{2+M@NT2{qB&lTRvyE#$EaTTUR>QxszQrdMcH9TOYcfm`RI9b87|y4rRTzN3P26_98R?c1r*kDN1E{;v382`b_6 z;o0Hd;M(}%^KHVdAwu6%Q4QF757l!!$CBpn0V`mRjYD9Cfl?SVHmyTM=w)laVK=`3 zP}aR)WW2qR7pQX`cf6TAFoMRf?q?bfo0F5@RIeIO4%Osky~)$VC@Zc?PrNL-SuSbgVG~F zW@7zX%oh5e%C$r?VTRu(XtbX-wQy%>NqUmv0qQr}6h^2sTVH-t9c}vR$lx=~rWJM( zAO-q6*Zey#I^^-azrCJ)ui!c}Gvf?!HHd)dCxUma}W$GvPu%e2H9M7@-_vy*E5|cbB;6c*l7O{v9F6idM3rh0ZomaHm;y*`#6#5)jY4mjE_UErt|gy z56cn__nVD;CsisJOe%UqT&w3sZ^N;N{U9ECcXlI^eq)Ok6eC^C|9yCbkWb^toDt5i z`!h)Vq@mVdt0ky*%Zcat^XEs$1@Im;Ja3a9WcqjEo?cuYwZW6fCw-hWt3EWV0}Te0 z$ezbL{@}A0PMa(Dx;e&)mA7Pq_x6dLZ43PP_KtMgPCU3#Cu@)Je=cr=@e~GJ2g@lObHfK{%zQBUC@rI4{@VU9M>#Y)?KHlp_wp9CWQE zX&j8T?m^M;ex1?AxpjPDm+5GU_h#C}@oit{lFjkDd`z?@PkqI;*`w5`l%PX?k376| z54;bh{YIDOuRh3ct%C$rHx#H5k+Ha3o2h=0gfpFePcOW;- zca1TdC%%Uum@+yotwg47_g+)>nK$B~FLJHp2CyMVCnKZ%#6BMxa*J9~ z6r!!&_yLT6Jd{ob>oP2)%=cZzJ$$wtum>=`U0LC114xC)ZHvy)#fUxMOlPtqlnx$* zDWg5t7V#o>_T=DdYL8Fjqi}SV?GN5v%39-7!P%1qTgt#Qvo7bfc{hh(P7)jFa&e)% z3dp;Acuu#$LzU&dId`jv!XbID)n|0zB9K95O4F8HazU-`OveD*1@>*+A2-mSz^dNJoKBvda`2{Z` zhbnBH3%&hXsXluBsVO4NVI0=WGH4hEAbHJAf>FkvsLhSzLb93d>RDH;MPF9~=N}h} z{PAK>=n_8yxRXCA>|$cKzM+Vh$=Bk?61#_{XR@4#O9qR>PSl%(4_Bj$Jprqj0eMaC z`H5k&L1;Q4bIEwLr`So@U7*m%u?;r59>hvW?#HWl;P?EqfxD&oR~YmPKjPf4RA*A+ z5@@lZnJ;;0Gwk9EEOeJtp;(M~Y1gg8LDwg4!FT|48&bGwhe_Y@^A(K69}PTN9GsSN z8X_k;-2#G1O$YM77sv@pC)L~TEkcJKFRcMpd~1?7T$g3wJy;&#IGw#Nyw6=b0eKGo zF4C3IGkbD@FDMIFke^-f^YhnbD6Ch6H-OOm_oLfKxT`BrV$BjekfPXYxq zAg^O-ULP+Id6@Y1DCbBTF#6}@(kFc{V=|JrbhK(C>G~k4W|z0&cnV*z-PR^R78!XM zAFzJ9^-GD@-vC0j8t07}ICKQ?;2FbstoA>s#A8C$1#;O1 zb8t`LtIzR$gYpL1SP#$J2A}HwN)M|G;#ODZXk@1$plCh^eWAP6Zs=bM0AcvlH>Cu9 zk%7yhaX$?mXjTLgnYN|5fC9p*hRO&OjqA|7KsT&0(cvq04W}bVeZ_J-(jGh(->-5Y z_tu-1;N3DiL!%7UTSrHE=9O?DS1C zSFX741eFCctJKtd)pYR>AUX*_`6yx7mgt+YIzN(leueR6w-2iHNR2i~6R&m+9YzrG zYjpyU`ZeunXK$)jw5hV&j&pNE&(C_^=BFKig%i-+qIqDCVuq$~ z<<9}5dVOagaV^EYry&ct^iqr6{<>Bb>1>9)cWmn&fyP8NzOy&=b~4CnfW4JYAH8+d zP)SLs3yM4-UiiqT_fBS*ZlRY!d1E-2J>lQZe|j4SpBd=>Tu6Id7hPhmS*IGr=WeU0GRa=j_}yU3YIga}Bs4 z-FcgvAJ*Q=&M`_VDN`W6V-2pcL^z=tJazZCw+x)PyijA*PFOlIlLi792Pa)mYljx? z$p6fWoRebM(CAZ#Q{PD#rJP;qk#BQVHG{+7Sco7L>{0<|dL_lcU@ZUcLH&!b=@Xz_2H}SSD?xGZRisqs!a~dFV;ts; zc{Lnu^>JB86)m;&r36R|gta~|5t*MiH3-uzuWG6r0^<8N(j-jCbeh_1fucMzphcXa z=||wne%A3V8|I&??U2e-Sqxou(B6cEg1&0EI@QW_JC_H&#kfb;H9p{E}g zj!9DI-ecZvBof^^Ar61#+BsVS!w6mO5)o5I=lVQdqKmzW=$r(Q0ea&$Z#~Q^eWWh{ zyNR86$Kq$2?@@@dt?#`zpirK5VNdY}?w@Ho@UzX{(|rQZCesM?J=F~$(i>7sm;~oZ10@NPWldC(?XC!>#A#`$|5FlxhA@p9B zxYv!=0;jBH=cOA%9TUf}`hiJRL{IVTPTx6}Lvpm**|W#NhqccTsUM+p+D`&he|D(YJ_#v>POAZ7IV zx-`HzSiQlID?x5avdPzGc{x!lY1V^b{5~GRsB*1Kg9u$$cmT{a!`v4%Ay{l$onLZ~ z;KsW3McyDgo2FIV!HS9ZaeIBXKlfRoBJ`Qdo?ND{-01?@sKdu{hmacErS#@zm~WJj z@}L=;!%F+p*;?ygTF%vrBy%aUC0agp+Y_?^bv?CHlwlUlC!a}yexGb9!hQUw3aO0N z+8X!Y^s>{<>elbZvFGHtqA|YXEML9>iX(&y{Q|i*Q>D? zvYqARul>Yf*ZxI<{@nrN2c6Fpr7(j9N24m%{6-LAyP^cjlQQ2lcWe`a3VL21NO1Sw zJ0V~p3q)r6x^cmr249vXT>}i{7WbSkkMdyjt6fKp0?p)rdZOIILd|HM`-1@jN;5s>g#17a4F{Re zW^%QDXMpNght1iiYf&Gfv}v$JAY)D3ont|5h8Q=`ZMaIJFEI`Vd5;Ut2#HSofZYH8ngt--uO7_eYIO}sku787<%Jl zYj=HD9WDmsAgwNAXS)28G#73F6na&z;Z?@i2SpsIn2gb4Jn zX**A6K1kwxY4TsJkM>$*$ ziOuVf;J+=ukDlDxEc*e!4;f$?G=gC7%jeTB4uRYW)d4b+0b`%8)LKPK2fIZf2w@|5 zwba{jtJPPaE#s2hL?X$0M8P3AK-6`#wOLn%K5BMXFn5kjmyk$oxskfNJUWE+1s|q; z3I$E{Udm_?K$K8P`E$qm(}r_%Gf)EkR`=x@!fds<=ya(Lh@;Fia1BWFVd4T943|0jwn7JRRU` zaU;(*ny!fni2zcUuV(M>^}`!B*$$g4!<4b)4c^%AKc7m5jkFRzK|;=6sz|Yxp#1sX zWI$4PEWU&2TFsE6fY6uYbhgr)8g74^lvX*kFdHh%f4|7SY|n&Gu{}7s^XaL8Z>_fty+tbaavExMek*hV#?Tfm{mLc3mjt znRlL#v|e-Y$^yMDVk%GKAPptY(kt1+Q>yxdjh)siMd!PcgW@Nj&4;zyr;speXkvuE z@zPBK7`+|MVe!ZR8&dKBGd_I8Ki-7R>`%+8J@+5z7NGR`ADX8cH|IF}@rpNDn>p_B zw|G6t&Yduzo;4xsA@P4y^=S5u9y(FDeKT$~eAjjSIVmBIJj=fLSO&c8qy(^CEMoyDYLf*r%P{R;VAk z_7~Y-q(>U z&d6YY#Vc@exzA6|@%r%iu>fDpFi_0g+Bqy-KurYw3j_t~|13-<<3p|Xi3$KN4GiFI z@0QV7cyxMHSp6LnhLi$Fv)b%O^wwJ0$jpxCz5S*st>%lD^=9tK<13S3E{<9XB~aGU zgBuv!!E5w8a%#_7r_%i1bR`%DTzNJv?`N*LRfe!`N+NK@nXS&E*;pk_B)Im}nQZon zJP*b8MqJR~tYAomk0u=Yu)fO?rz_oE?~WC1KDHZI;Vmn8LV|v50*R}gADM|*VhI~< z5=Pcj(;@F6T-NM6^Kh$7zdJMyb$=`p3^4YDN`o^}ty7ZD(nM^{%kX8_aVv!qTR!)q@Wq zEa;Q8Gy#=gG(n)}0a^L)Gev_e*;{p026yKqgJgpmB6-{d1`>Njn}d1crT@z^fDOSZVXX5LikLz1z6J_9VE6{|PFJ{yV6(WfQVaQDME{!6{f zJ=F$$3(oVtN^}o3FaT{?N%MB!I7Qzp-5f5)yuUaQBe|hY4YE1y9M|coYX$N(S0jJQ;=(I971H&%=bCtoO>F^_3Mup~b{vhr-2X4pGBq4&wlwV)U%H+jejDAoc z?d$7%f`nud8&JRZclUv30ibu`UCV3w;5kK{|1K%GRcz)TaJBw-QUFHy-*bY&jog3r zmH{zzXGZL{kM%>T$HDZ$;w;STIIAGxO;wL;Pfo>e)@?W(o}eCVZwL<$*{H~xmP8~< zxxdbI_2GXbD>F67@Ut|0Q19Si*W8>|>IU%8P)OQC&te{Q)^%4B=ofi_^~T3z2L=GB z@?~NG@Dpg52mU!?!VTPY)q(1Fvw6ec@Aw61WCz;U$;in?OV5HKfr_C3?j zZNiB%=GwLK@u5#&NouRfIa6t@iI|a=YJj}aOe`RrvA@U1g>F? zPZ@xVjsCef{@*7x{)d_ZvwqL#aa;YMSVIs`v|0nCCX)JCy9)Lhg^ckUG z*ts}MjS{;drJ`ZN@ma4v5bR1GwUE2R&P9z9;x_Wi-B;!Pf`&GPzU+TDktinRjr#;p z{sMzJ28}iDPzVJR2dN5YY$6)qMElDIsm?eTG2mUdG1uMqFq;mF664$DXnMiiK{G38 zEuVc$6??UafVM;AC@)G4flSWHiJVV-PmbL4-iqX*M-Hb~M|Y=Zz86F~0I$^p>zZ`s z^H5o%5o0L#2d@}gel>1GZGbqcy3`UNgi3+X!Z~mF&}|1OK-+Kg?TeyMhL-do^Cg_3(M{Y zQ+6P`cs1k2awu^H@b>7mp)1`TjhnE&|MDfEjPUB4YO!x7aVxzA1lF|NaanbBG_05^ z5!Hj^FwgOfniATyN{g5;4qWz|uMM<+wL)NPBQ?0Wi0)AIU6qaTnQF@HLy}1D66AQDCeZre4<}m(U4xa_@+!Cu=k4Y=^iqbl^m`GM38W>xdK|0tsk3M;jZzbLtGNz;f?PZPzwu+TtAMt z$CpGvI++J^pVdiM8J2E@o{U6?XEepH7y4*Czo>-zzl9B}_pfX5u4GTIjf2o*^Td}i zu)5HS!qmMzFW&lSvGq-zA_Ao8MrV5xt}=};A^q+@Sk^js`jct; zT=?~7#2l`13>gsfriP7gTa0g<2$1__+y5T+!(p5L;nzrJv&+bLZ6!kH@AGDJKDEia z*f;(1etPpLdmA%tIL0cia+8&uC3&mffj_IOOtV930x?qlmvH7TZbcq>ucTC z-W6@gjHf1UwyDX{3Lf4Te2*KN{y8pf+bN_UdNk#9suMPovJwC4Z(c&^iAaL(x|{Af zqzpgT#ArMxLl&R>!<0u!@RM#TL-&= zK|$#Uh+3z6?4agasxpK23r5uJV3{Se{=R{=HC9H{rZJA01VSI;mgI{c>7U<{znhu$ z8r_Ps`}Q!?CTBLTSVDI3#~aAFT#+llWM-%k(yv||cl@t;Gp9KXH@b?K0ZfWF!-VlH z4?}0(O#bYBu_GrFEoq!Dm+@Q$qX?kYvcdr-)kHm0SxX>QCinmf-!zXcJ7BpMK3&P&aE3XiIo~-<-e0d+bVA-GR08~8(Exc_+CCC@!yAAa z3>!4G4lr$FP3B5u?tnqZ9OKlWxKO>!1C-?Ki*-v@mWgC0!-?cmfJm#DLoBe6g4b}u zZ{)9Y@Hw>o>NkV$0Z*a&jOIEX_n9NU1sb8JMzu0W_jGmnC+EH_W>{;h)k|P&RVUF zo=!_9%~^JkTQmQ8ykY9n84g(#8YEuy+I^iCr26J!J3R`9V#F|K2_0I zh~~LGf9l*5?o`77(O&Fh0C>VU84F_rC?wAOv#TmA<+uXpaspIvB7 zXhw_Ymcpn^Q7hsmgT&v!qTQH>ppr^9wO?GkVWSIJN2mr9-^B(o5tDIwmJwI^7j5X(?qOCJHUy;UCif-x_6}nw$^5*oHCP&xxO9v??YZGId zQLE71KJsDlxU!C-wb;K`2m59U&-wYxCe(>JMCE!Gb_cV8MF#k*O!*XVx zY|{}${qGeGT8ZuH#Lv!1IQ^Rt&$jq^M_tFu^U{P1k@CaPyp#ASP`%?_ z?F!{FJINL1+&%rSe|>=q9W>&g5!E#k{sQLR1R?*J-aT$Lr6zm(?JC=u40kb|K7B3$ z&-U~u;?dS@sJw4iChG-XqGE3?Q)mNgF}vvP!p}i}t-v~iy?{3t=}f8J0I`&f%wZ(S zRf9&1AD;%>2o^dgC(p$=>sL(K`{(kKmp7VNmvN*m{MtXohQGDe$HW@7r}qTj!s=P~ zL@mz&cM&JsG4l9Y=CeXEo|=8%K3^lIWjg> zogT)uw0MloOQk8O~NarX*wyY`(+RXS{ge0;}I`EoXx14fQwa4C~BFEFRsCF(4*$~n( zfM>zaU;DaKF&BAGA#B|UllN@(LlG7u55U?a_q=bmg5D@5nMCLiAXjPpdrAybS<<bDZkh$PILtUdezX+N3ZS}p#9_@UXtfB0h>gwPhA9z>Hn}t{ znOLeTXH{{#6%p|G_;7meQxybIiy_?xsg)KJjW`{R36+`0CT7kJA21 zK@KG(cEcMr^OYM@u?h-Xhl7aI@s-=(HiT~u!@YtDMLm_hX>V6P6d~_zLXT?O(ioKP z@}ZScX75!F$woi^7n4g=)oi`+Pjfd`Mo)Yd!V4x?fk`psIVK4ajW0e)$GO88qT?xR zRX$~P;}K3J=wSgXyo!BVEdZKWpj&FOMOK;I$Y;s<@#N_{me}o@sG`aei5hAYdbH6GMg$u8e zMU%Us2~J%`IezX~$$RE8ad~=tbo{MlO4swS=5p4w^-|N*R>~Mc(p9TWYP?WvB#TTD zdlBs{SUSdQvXe6=B@M3%Adx%YfT+0I+sNo8ENv$h@H4)ZwRJOVURgp&Ctgn~W3{-p z+N3Z^bUV5zx+^i3G2e>Z4ky|2g?8VU(I?4ixs~MwGB4#$^yd4Z?YiSZ5cfBc?J~=# zl+`su31ZDf{J$a^JlwBZ(is^;~| z>kr>F4_Qde=26!(9Jm6~m_Sc#Vdx0`&$(hWKAQ_6kQ=UP)KUb@_@92{w?aT#;qQHa z5z;*;tXi_5BiwPc@+gS~J$lZfG5+$UAY0z^-nwBWgXQ8>Qm{X7^ucCOZgE_UOTuXH z9HE{PTEj)rk^$J^IV-w?dS(awSUtD&S7&LmfKi@F4bkk;NJqF6gp3!GDS%QNeFSO9 zsl#9SK~75>JU`*RCn42=e@rLBSF$^@O&ULRbl%mvhfTGAm>*BTrM2l_w($S(_Lfm` zbWPi65|R*tB_X&>@DLc>H3=3p0fM_bgS!TIclY4#ZZo+1;10v!u4lOK=l#C-tnXdx zoImIM>($fKy}NdG?Oj)0RTVfb?r-7gbyv1OolzQdH%JtudQZB)g7=v|&+-SI+_`sg z7s~#G%0z*ij!ljJvTP3A-ZkY1G`1EN62uvy{mG<2@K+rZPFWYa`5^K#DU~$tTnjt{ zV-WqZt#G|_E5vI8ecLZA2K%&zCZyo_xskbyT~P~Fs*Ehe(7`0(x{PmU^=$@`O?4M~ zdTY>#G_{N5+B&6$->Boa)XL(kg zYYcckS*PHL>4#xO`k3R}X)s|r*9J%avt*uI@%l`!GS6@E(R7U=UpRX~1LHPKwN50WqyogI#(u)or!!RsWZ^%8;Bk0+}DoFjW@8k~073(D))^>X>I z?gE0)GxSCXYByq`U|rBwLw(Ig?MZM+aN@xJH+;Ipy5I$y+RfB~_1TBpCrKX~&p zOQiv&1ixgvpwi7ua)z0!u?Ls{Ff3=dl$Gui04fy%SFnaQGG5fSC2F@A70{ENpQ~>m z_taKOKNsq`ifnO07wxC}r6~O{-NV~f^NgrzK670+BOSMqB{2uU(4+T-(g8+LJ9`+G z?zsMwhBCLd=}+nc^=M!v$avhI$L3#Musva(RmTBGhx15czS*J~K^tcQdSdEkz35%8 zi9>pg8n-7~$zitkLvTr&827b3$U=O%$^sC3^9I_`feh08OattYH8*bXsOCPfz5RnZ z5yY4%`7xitK(~u=7t5T87J4u?J)dw*QFFZrxu*3aYr^A z+L;}%>@ojh()yw3t$Ryz3f558pJD6FGF+nmf{Y_;^!Nv>z?@5X*%fj8a!_l_wXY`d za6_B$gCO(AYw1sxD08z04A2`jyyN;!3c*Uqvw%+a~Dd|a1l{n>04x$jsN@tA6 zwCg|v4MG#wJN?JpUlk|dNn38v$=>!<-T2Cc-s)^zDK)c1kA|xXy07!HH@?9s8P#3j z4i2!w66?P(9LFP0DAoC_?2UX=N!}mpeWzy8Y(L1ptqCrgzrue23bFskw*Pe|V>ZAq_sXAz=V+Q;_cEVY>=H(fa&L zMyhB4)JJ^(bFpC(>dknY8H{ut=#A{QL zR3H(8CVk_DpWZdNe6~K#7q!###6ZYht=H?C}%*ex>27B(~_QJ5z zqv4>fZ+})n@`Dc^^0m6TX;_EJN=|*=C8xK?mpS|tFt)P_+724|q}k?GUh-{^k(GvJ z7Ut_0$){zHpuBeiaW84txZkYxgkx0pUp#Ly)g^V9qKm_MeKJ3MuSdKvu%|^%sJZaf zB2{FSRi{7t|o3g50 zJ6|7N&K#B#)8a_u(2}4W>0Pyxob5uRGcP%>4PP-RMpf@I11?VWAVv3Fb>AUj)atYM z!@>&gQ}YlCUrYWE#kTk`%K+dl`_V$ZUy~nUFOVZ5?V~^caEOz93R2>_l*yyr?~-yIyaJW5BvmW4RJ*No7G_ zJ|)FTTa}?F`l4f^RwlqJbfQyicI-DGuG7sPwpl(LdcqlHO!mc{s_V5;yA))!U@U|+ zb?uA`(yXxQKf^v<;corGMS33Bti!QbJ6-rge2hqi`lv3qfhO+htW~q|QWWtJ3|;QI z3&Dlm)yp(hyBO=HO82u?oJGm`gLC7iR~u>L@2~*jZPY7y9h!g;kTA)$`Pn2wA&IT= z;?7~}u_>VD*JTjP!QQfHGrqS)?kiQ|sye&ERKsj1!(ON%DUW<&>1ujw3vZ+7+YSA{ z5cmVx(6tLG`uN>SBS%zr0~>x@M&g&L#^YW!MlL@7HJ4nk3_LFyK4qw_b_n8j#E0qI z=stLeebIIMhW_gx?QXkkhyr&QPsI+Vx}?Rv0(ysc4w@{DooT_#T8=KQksUDaL>D{e zSIZxcHuIRxS{S@++6<3qw-b+B3$Bl9!^Yc+v`WpJL`%PHr!KxwSD?iph*f4Ax;=2pjp5E+ z3Y#ucrt$4pD~h=;`p6~$C|SBHs#%DJWy{Z=eY9&7r;#`P?XMZGppD8Li-4<4Y^I=N z&TRTpam)&d^7^apH54k#)e9iG-_7oM^Y^jJ1u9kCw@WY1Z6~emiVLj-&4Z>699zWa zLA4J~CecB}C5qZ*hI8YH+sKUV!PTaeIB5CJ6YTPX0K{eXxX_2%Tz{$M9O)DeTANLp z8a|D(G>v#@M5bF0kNn-vtG#s`*x#7zs!bEuu8YrAHwWIYOq$)jxYec@)6LW66Jr}F zp~L3G5<=eAv|03`^`-aSZcTp}^0X zA{y1Vv5k3dz{d3IMZ$6WArU*B2}x{rx3Us+E(!^RiWMqA72*pc%;P67*~AMZsLrSN zWZCH9m53JRLF>4aBe)vB62SzyCZ&JZT}FzU9*?}gD2NwC0e|%JN-+t>E<|(UnQ_cRZ9{Ppf`rEy0$1A&PM8U4ozmpsi z^1WMch!+(K57HboTFx(N_rybmQ}0%qosE`WoomO+e!2YfbZA#S z9LM!^=p{o8x@wBFOVoYPDG6tvQda;0f%5AYO0eUg<0zH#^53DR31wZj(JB>)!`m{6 zy<1wg!p>ir8Y;8Z=0mX2Eau14Td{rh%{pvej`=_+Z$@9lo!&eFBl_Q*FSd|4pZuRzGmh2>w$c*rV8G-@hnI| zwR=EA9nbvcEiDkthDv?(=GkV#7h5#KRevx#E2i{n>}H_PS=|!8o0iF2V;JFq#@-tg zCp3xS?deP$2=fm%U#44MnH^p>qkFQ1_Y-HiMf>Vaj6GD$yWi03jgLapzK3j+@{gDf z>a2GieIlOIRKXGt+xFxSS>w(g+}#ACz?9 zTHDv{C1BBocTbykVk=o?xp6OeW;9E}>L}XMO&e|dn|q>hr(%-;3We&&qx5_Gtd-Cyli8BJp^Q$gc^XrVXKK zrI^M|Gi7iU7t=ow>5c1fH>DPO91w&Kv8)-U6c{)Z@SHvl1$!NMDuOHzfU zW9k}lJ}MRk-aeKs-4G2a+MN*=YC8tgatjNyolRB$FgkcFyq>_u)CjJb*2PT49iVpk zWnY{$vd0tc?&~mk(0m8dK-*uHPItM9;H(VQkJB)a^HN>shh@Ts2B{aXi&w;9EsWoL z8OtqJrq47(lkNTr!ZbtJf4RO6E3U) zN5sT_kIy_Ij#LT*X}Hu!3$%o@(aJuGT6kT4O7S_z)s{Mf6G#ZMDaJSA1g|I-VI^1B zh8YXKWW3K0IN}!+>?LwWWIX-lrO`-_kUwJ^ZepaHDV!S8y)0H}gb~8_&y}RHe{qsU ztd`K{v#B&!V?^(%;CGIP1TJtGR&?Tx+;Dk?1%9OgpE90xJZm!M7LoP{{EJNZa1c68 z+FLO>#X8+{W@4o!BztT)|)3VCeI3wg$ zo#{qO3kJ+KBHo+W=D7g6o~;uJb+Gl-T}WEQSAZY#w+kzzYt1djlZp&>`in-9ENY%hSuGITIMNw_V=cq_i~OQf<1{f0W)J*y@XANJrF}dgQOtlwxD3C2%FG z-?iwO#(NuNms;7SG5~@U8(sGF5$D$B`y(InOpY}u-i%HDq!Y3sCMwCgMeB5l2;9dK z9-@X0)5NiG5%n>7{`~Y)$}LcyCmu^a66_E0s(cZqhoeRCuDy5GG0t2}`(lMx7L(9Z zHmHq_$-sp7K?S<$x2P@+5)fe3&yA_Bj}Ej;ZC>pTWJo5t$~8_^v2+R1CJ*AQ9$(~Z&f%mO=r{V?4U#1 z>)nB7gH|b}-zL_4#Ss>Y`piau$G35-W7T(nsJ{#xLdfriot|1+DNziXE*h^{!2j!= zoez}4EJ2!t;_Se|SXqpPl7PA)MbH0SHz~rT}P1z#B_Gb(D z$DXu)ZHZiC!bs}m1SfDrEHS@#3j5J3^#@>IJiXt!e_mOHJe9C(sD_B4HhKD& z==bW(sV-GDOn0H4*S{(a(N$0SpQCO*f!^-m>-~w0{@70sK&l z>2olD%_$`U?j9G=Wl;@_*X{W3G_A7qV}_Z=AVyc=O@LMuq61(VpHRcA&m+16MS*5q z#@}oZHia|YbS}Nl28yot*MqA-wN6F}U8%osu`!z5%^QD?v%1KuT73*fkT;R{Z=C$2 zdf&B5#tAcQndx||E{No84Y$MMBT38P%>+(H+^MGg5o~ia#Rx}gc4CF)-Gg>{GgaKORYYTKFlFJR08R;B>@n}PJ^W7~K`up_{ zuqx=AudaN7ZKB6ptpH9LWy~4_>1L4LokbHzG|KANKe2>AaI5@c67RVxjmSDOBfCr4 z-c@Q*b+LY3A*uzQQG1A`oZBVZ*f?4~I2#DOKnpM!YgD3hF?j!;AdH{>mE4&Lj_~d? zVi^fVEd2$M&UzG~Hs=^*9rB|s<~);jV8k43YxL3b!&oHZ&U7nY5IDCc(ssFN1IhaI zlP@MTDBWc`{32_9hy9Y|y${FpJKn$Aqdz`%{rRffqze5~2MGwAicI?`)}0JYdw_d- zotgW8E~C}a{oXa}3T@K|0@9{D5=1te>b=di5DAQ@B|?{;l4 z1PcNP#P$Ia_*JfaEGjJ#r=$jp&Qyx|?|9f#R{Bh7&{T%=90ls*+<+SS#i5J_VYr=F*vRH^?!$J>h~}z{cnyRsz_WPWnNtl0oTXS4Q@g% zbxu;B@m=+tEp@9kcg|9f3p_^qHr=Um9l?2z%Lp9X{)lSQP_sjQaos2Ue>AOoT#+B3 z+1gQ`7{b;18=Oz}QQed$%lzV(K5w^Pi~Lz?l+07ayx@aEZoWy(Xi&6{CVK!I2WJ&q zw_D|>KHe8|@Iat{GB74wPETz38elnr?G)s?4l~SWq_^AV`{ygTRV_-B`F@X%Eg>Cc zYI=Q6m{E|+yrD%h3m1Cv0t}5apaqxR5P*t)fj82pQm7KA)_O+f%_?sW{4J>&0@=WG zX{Gk?m>yu-y(ua~p2^Fgd2BfiY1!%HGF0LiqkP*&1AcVZg!IiI>Ic;kN?^dKK!Ufo zdU>Iv9WzizcYA`%*4p@Z@22}m71Hi-N(6pm@OtEa$!Z*UxRBJ;Zni4xn;1)2xXW@a zt$|_Ll4)mU;RK4KQk(!;0}S{#o*U9L-T%aKrGhyc#*Z<%Bv0R~0;nEL4I8Ch-|e&q>>l*6t1JY9CX{6OwgPc?4u`_2zZKjiLj8ucINDmDdE;(j}C z^)HRR<1IM+bc&;0zJ_NiasKB~nd)`#{!`xxL6+PVc})xFjivmjf|AcW4n*O*f1#x} z`4k=E9G|6AA^m94>w06Q*~Ms5T0grC$-Bd~vaXacdKTSwQWwCTC9iBRbu3;QH?1ki zRgz~;%`~Etb`K#6SkN2viyLTwvn2^8jy9Q5DHBbd+`s3XtA5g@KDsN+j;TA>H>Qqi zDLx0qt9ghj;}b|9ZJ5t`oYl&llg9b^W2KY_e}Gi0CTioN483TU%b^$3S=YY(N#Wov zs^gSr%XDhLpc1(WpR+eNFIv^Sdb#Fa=S5!P{^R6k=dN*CNTpgH!3IsG>=0KhPx3>#Hr^CIW_6&vZ46Nws7 z=sz`SzGHB=jgXh&hWOCu>2IJOpDow;oiRhIlPArW?6c!YC}7dvdaX@^hcJV z`KOr&a3f7PaT~&1nB41}b-D>FnTgE}An+XLfJq9|M)w6eb`lP@CG*sD6g_$>PS!-T zCNjcU5=4*?rM40=3x3Vu;QA@`F7d!6mf6xQM2$ z#hDQSjmC;L0XoR%?iewLbf?GS!x33i8a8cCbDt=h8OLh zB9IrERQ`kl>2yW$0`c?X0cW;{o|Zk^SlPnDU+}b2MQw&d#aM*9UpW~x=8OOxqPeY> ziU(u!CoddZoSoH6YjQBR3d?sk_l}&ZWDT;p@0_a%&Y>+&-7XQW86BE6hQw)pZ>i)C z_8b=E{57gsldD3&61ruusn7S4=i6-rv2$t#(x5=a?5ydc=-L|Ii$;x5XTE`p_-wg7 z_)cDBER#e@z;qEMKzZQ7!ljvjjavnHouQOCWT1by!*+hQ!?lN`dXBf8n%$X&c&Ff@ zel__lX|tq)P7z4aV$V>#PHe71NSI=ifVhkt5v+<)SZa*nm;WV$V)mLt;bBbUmK{$6 zzlyKa&x(U^71LBdVDInghLYRsT`rfYUGXaB_>F&17@6$&BHhAuZqU{w6`QbtaLavx zOk%7uJ|?~5y68_C4}N{Ar}3FT#(b`tD;{<){~8M56E)|LuwB@N>n<)C+ zR&}n$L!Yjp%XbhXEAG~)=G$W-o1dJwkYiC-YdW%;U~GwiqRbZ_!fLA;F2ak#2KI~= z+n{_^1xqHOdmDL)U(95KxQiOE6CT-xdtiozi<*hCg=|GthrnMyMS+TtLW21$jZn>U z&D0WRS{t!El@Iz3k~Ky}=BAH#6Aw%Xl&oaCRjQ%ih`p%4^WH?v_Vyf6YcAEQai@4a z2PWdI&?xylU)toDScl^!|rwj(N6aO^);U)em#jQ$)0PP%o~B*DMu2D_xtQbFJPC zAmA9i5@G?0cR@sx5ByvpRLr_Q7@;D;k9d3!d2%WIGYJc|+yZ&I%@9?&68&t#o@nxw zUX&&t_%{|O%6{Zf5pN4g&TN{DBid(3fP7p=+kOe&&FpXMTmjk>>u)M(TXU^Lkg@_% zdP(_Ob}wu!R0zNUn(xPt5}waAS{$`cejJ~Ms9yRfhebp{$~Ro4`8`R!C!_f#lL>>{ z6ub?7ePYS;V~d3ba)TmL8!>geB?d93pFp8D&zUUAeX$zCG5`@I^KYRez37zem^Lm+I6X}saNs+WOTz?DOqg+)is_3x4JD*PE zCWLtJgAcArq0M3dh<=%0x>7khy7b@I+pWUuiwp)O9n zlDfjmYVB=Ujmv|VeR#nWcH?(tRkr9PII&NJNNnN&peQs3<>&Qa zeo|qmRs;WrCunv2)(9&oLB=oFGG_Wo=t`zk>mWeG;CuY_8n-y%z1V_Zb6(SO_#i19 z3)WQ?`iK)|q5%$OAk~XXQ$zK<1slt}aRKi8-$2@#n|k zYx3ps-F;Yz%MH+Fj(BJZ+}^Lx2L*HkMaCXd>#?{0OFLjvKpTD?X>-B83`i&1*jzCX zR?DX6e0)RN4HWqkTe`OEi@S*jPygVtqb<_78Iihqq^n#W>Z3VK*)qu;1OA6jvRwGv zV8tvIv$fTJLPbB5bNgMx>m%a#9XZ!Ua}B&NbWL7Udp>wKk9~CQ5W7Y7Ds4PfQ5c-b zW6T31XVj?g+C7w(VzvrOrqEZyNR8~b%ZV+#goKTMJPy#yPFUj+V1+Vx-oNT&D^aEC zSx&-ZVIz6;OEh-?KCd51&y0~B2dkEIYi{#jEg@6Cm1av;u`c~MYgtDoxY*8N0%_XS@9nVhwHO+BPwL< z^7|pQpdzn5GFi=KVfSCfY%S^pU#ezU7@P>NH>UwLoeV#<_h7#9CAefF$z6m4%%3Zs zO})mTOX@u>NOj>GT=aI!$nlBVQ}By7vRl}_cm>GA)@DxpEUh^x(p2}WX2hRK=K02< z%D{8)R}ywKbA;?x-At;4cjxaN0Z=fw%saps&ek$hZJ|G!$Dx}7G8l2oyYsY4OBfs^*TTzVY_i%t^U_O=>z4$AX-JM3 zF>5PPE$Hjqp+HI1fyQbwh#64n3j$;M;*fpRMsXg&74%Qlb%Lhhq zf$%sYbId%bLdU!cDu-sy<|le6s#HK5p*}y(u(nPz=@VAN66e=&r6ivjk-H232u98* zvs<(k0;)^JSP`PEQ@y+2lOYKRZEv#r5fS!xV=9EJEz!p+QmFY#!12{QABzo}9SLK! zlmvjvLz(Di^oP!)Qh&lGEK&OrXRG~d^F!1RAtQ>hq9D9`73OFH`ge;Yzp4x;-=B zikI*}aBcXoF25y4Qyh%RLh37kK)QRMwRwx~Qz1)JcST835NArHpjhxKh&a`Qdj+R= z-_B;ogEMfa0)c?AFzz20g?{#Z*V#~y$SznHIwqF~=x=s^bmhonRsR*F`cwTBc^QZ= zwsZNaoI_un+Aqmgqc7|w6~TwnWt+E(**EVbsGA|>sjxtk(+0ofUf`nrfLJPD; zGPccxgZCmqSQ({Gpx+c=_KzH?kEONm^2c=#k9;u9o@-ZmS3E5{fp0l{a>k+Nx`WlK zik6biicDexU1<+N4GXYKwmAY2FXVa!*|0>m*ke)3Z7mUay{&VE0*BUY>KqM3B{J5C z=r#;+nGM{VUw--iW(;M#Y8*XCZo2|<%BB%kfAj6b8r3i77`xz^h=&@KV3C3Hzsps3 zb>EDduCOzup;gw_gs3)u9QB>s!|`5kEIfe)KJS2wy=e$7|Bu&f-Wb^tgocFmujkB3 z`M-WZ>ytTj(UEm_p-9h8ogFtPOR3XbC%%f|S@i}}@_cxsF@52HED7O2&;u<0 z2x86Ju()Zo2g1|>Ugu>IRR&9jMK>h`B6%ncdMRkAE-V18TYZbxG8<&?Fx%;+*cqqe!lF~2Ou7i|z<8%J)g&N{!xOpHXB&xVFt5eE_=D%KPI!!}eKN;vX$l^x0o zRUb0o1BTjtn|PS5h^w!#zm{|wx;RGo`9rNfOF1ld7EM)+JMSz5t~2c+!Y%^^RU}yN zS65&9|NKO64CpB-^D*iw_k3n8H}Tm%AuT!1kLlAhkJ~`ITq5O7#AY)L>Zg0GB-j*6 zK~FPua0`UjpqM(ZALUh8(JfRY`d)1Nb0ZW^$AO>|urd@5XR z6c*&mleWCI)BH(`=ZD?bB`t_1GXf?fRx`??srD#d2q?f=S5>Fg4EW~~yBTUekIv-183;e^8D3X4h`1@tZULWCi z_si0XAVU4GZl~rDUS|4;EJ$*^sGLb|G72*&cFs%z>^(4bHD)u3ERy@%JWeHZrU*NI z-k@wqmiBCHFSL#OV^IvVJENknFoUB1NOCMQ;neC(_SE0y19_3Da*bmXhYGgCikWkh zNtm(}i$`+S+BwVALD``ARMOPkCC=ac?6@Lbc`0QAR@E@(qAD5|`PrP0b_xYxIBIgM zSSlw-VXI%x#HCq-uZ4bw+s3@qnMb9}z`S2xq)J&H=Ri>+i+DOWk*=oGqDA$gWYPh; z4!@A8m?th%JccGS6S=fpFAu@8wB2TkbbUqSm2+bXYvPz_bAKh8#xmo!@O$Gf_ z-5)F}v^n3kW-~#sLW;GwFyd^i-KyUvr)5bi(&QGtojTZcK0hN+xNY)4e ziXO~N(-4qEA@kIS`;RsE*{NTaEIe3?4pm^SXsQtfgZ-`Qhl++pgZ*kz1#v>VQ_T*c z;#?%iz^1obri*m958zWLL&FFEt%zQ>T6b{PDezkBCy+G(-{_EK5SfR|s>5nnm{-p!euG!RXGL#KghM1b^bH znlCOh^pX{UlFq-7EC^h)^WUvI1&pXRWd0?-ce#N7<7Z}cC?e=e#u(JYY#XCYyFH0$ zgc;wm(N_w__!FeDl>u>lao2cT(lJV?EzPJ^ zB`faemoP&Kja;)5adKDJvw^hhDtpb@o4*wjb^v%j2wv2#=-{8tX68Z!PiX53e8P_9=K9qZrQpLh~nj(l>2h z?3dK7^gb9+AFuEU)T7W;2}w_!(CtrtLm|47f)#$OwE*{oM@O1LdubFs6|;A~%3MGI zBS%gJ54ERpTevwdJr(7Mp3yM>I3W)ve1ySkFah6dOUZz6}Ij}v;-^!A6vJbEjL$7O7|X zdtaK+AHfnqO2jfbC-XW^!7s~*ceQDfGE`9GPriBfyI^$hrh{9l5&F1BH|0esqUWupe*=Rj@}yd`f2z z#~K@d6&%LIFwEb!HX4*mqmcz9kl98&rdHEcUMdB>I3=Up8cib83f32JQEM5C-0o^CJM zE$EdVz?-RLaSQ1vP-|}KKBxI37->_pTt|e$itvQnjoKX%hu3qnE}v_Aio}2GD{bJ7 zpHIeDy-+k(sW3hN#V`ZNq`0ScsiB=0zp{gG}?=izrSfveRUX z^x)x>V5+TeQ11)j#2msu0fFNk0>SV!{fdYd6C4RtZ>7^xc)bR}baBFknoaVk$SE~s z{S#srxa_CjF|JV-m|J-Y(KRjIy0b5VXR?$UxVfWI^DMt5?JoK8C)Q$vuN!ly;Kd32 z&@&c~6Sn0K@-LgZk6d`+B#yZYWsg)}yoq>O{wu{MKn>|CEI@1gZfakR#EXf|8!Jp% z70;)RBZc!={}eFKesGe?hIbSmNUj$FU(z#m@Pw{B-8+$Ncs}+%`+!OV&Z`*N_V@|J z`byJs{NY9U)OA_zFpr8fmv5r~=i<@TM@Kq2MKhflNkFAsl?n#>2jbE9*w{iAd;AwU zx!NID*raLGjTYS25;PCf-3bN9R~#XfjX~>;_w1|wZ2(ur`F^?0XG=?0N!Go<%H-+2 z8bA{Ua1IjD)oys7s5 zIx=Pdzh=B~VjU|XXGm*cnztXQMZ?qISc88Sp4#54;P=)xHj~tuQ~9gauU|!iAHE9e zUpQ}3g2>wzoGX4`ZPG}(wH#Rwnh*wk6GNe#!lAPx`0kD!dNJ#)kQ1--oX!s|PFj+p zC6>d^>3mAok<)uY7AtR@*S>hp->%!4nwR8Th^pYdG9&iBuI~KQ8P3%TPxn{nJsH@Y zFus|wV{|xh5sE7=E>Zqlwfx!T&DF1~WB$qkIweVAqS=Lq8FdJaA8u~A*WW6H*ut1u%3W;aZqn>-|4xc3Ayq5P zi?Ynvy2B)0KIi7(`3cN681j^wySeika{rgQ9&G&2xdUNbO$sZY!H%5?5ej}}b7=pk z<7#@Z{@8k>^j(~Tg=zc(37^wnec&9gjw%Baom$79K*I*-9b2!JG=gJu-n^gM)7*y@ zkXC`OD?~@mBr~@JSt6)^#q6?3bOVqkb2g)>fT5weG>2B)m7Hjg7unQb&g#JKg2TrJ z%CGOpA&|AyL?8DBf|KWmG{H{S)Le8acw*ffJw*6NMz?~t3ojB=D^r-jL*1e1)Q)Oo z1#VbQz(#$2HK|kMNcmbkaq{&9Szk_V9a;zzudnC3D^TUdn^XMvF5b zygyF*23oWu@K&aK-kZz}1(c!(=s@yhWOL zQ%Z5Vw}=XXBOu~h{}Up9hPNx*-+*<+@-y}P0!dh@Am4Xu3L9B5vSC;~Qp1SdzmJZA zYjuX|;pexcjbf>b-b+*XbRi3nQ8%z!t5^ ztXr|aFTDOI>ibX&e&@ijtK1MfsmvG~Z>=5quu%l(P()vltM2O2ceq6IPEcDMFTD_N%5#f6xyiB2FJ-mc} znt&jx@%*R1$A6U#3!t})iOodWH-<%jwR=4ty*BFaht*tsx@>6muSdy!x@3j8O_u3D z1)FAMoaPA>(%x!~E#2!4dkiu)|kyh{Q6fls%@buzCS*6%FqW$vZ zJC=8M{hf<7eKcQA{v(*b*_VrgK7YsZHdtUncRWT1J zxL2)ei7FdQ3~1m;A7u%)lWsxtv}c9?2>z6~sLUhPpFUp{F+t=D*`NV3^;5=Hi>_znXm_{7(*74m!-m`46 z=ZN$LPZ>~2a0r`oNb+{&alIgWI!%siROdeF3LyQvLeM!6Bb+{;*E_dN&-yYYRnNUL z-Oa}Jiqn{>Kp#W@sg(RwrMm8BfjW?XuWMwozMH}_qM$qvik}x_2k3PYok#|44v6C&hPs{ZKQt;PQ=ZgEpY=0&~gqr`;QWB zQ1COJhlXh%SNNp#k=>@Ohy2R|)-FLE@|JVdcOoObhrg&}w<{--CHOEsj;yh*PkX4+B5rz4#Pf*5jKSSyhkVBRWw1HnJ|CE+Lgk{F(`#E}u03s#tocP3 z9(%VHOm(8e`hRAjLad)c_Ei6lVMhPm;Kl(qrU>4)rj3%LK!n35e@|{dwTw6A1HQ=vU_@P#DO z3p{+nkxC%VAW4eo-s-RrEt~;jP32F{_4){9qo9DH!erYz>&y7n=&=*tlNLV_Is%}{ z3XoI_%_D7<_lS-uYiB)XgVuwSH~_HFtA7?!Gz7Sus|T9xeh)E&ACav2Q<*Xp)Lz?g z9B$~|q6r*>(-BR35b2O!9j&}O_A!{3_~lA;F@WX4u&xUh&J*%4?4D74rn6Cs7)skt z^cKJdAc-)|Mi-(LIQ&eO&NFvk;so6?UmBM1{;1=BZ60jPiH3R@9LZ@C;ZD=-!?I_T z)KUoSoM-?WVPcY=j8lEfE}2sG_i!s19T`}Pf(Du{rfaKJXy&R9a{15VLQeYO-lxI! zFRDSkZr;U9>PqhUZm@CW4)vf;Q%~FVo#0t_$Y=fajUQ=0XBh*EV=Bme(l zVE^^-C(hCTYsvh(#Q!VZ9TSgRLv#>H@mlYULFr^KrIEw#?&|kmZ$3xTW?X^$K!4p6 zdD^=?yvJKNVros?|A;!k;YmoG&_~|Tb)QDn*IGF!!dZ6tGRs&MX7gk%MvBRwm$t~QQBGFBILiF`2K&# zga7^Ozv+7a&iDW8YM&e}djvh0^50G1X$kvJIS0X;(^Eeg47$(d$qm{52q z3tTOWw>r>C)s?MFei#-`Q`VH;j17bRp!r->9KTYG-4;H1(%1a3pW=@Ec%IC|$=fC{ z!ap{^q*~;DgN0d%yU_QrZ5Jjsqj$~FJj-*6fy0~qsvXhW0WrpU(e14S`RecgO3k(* z9YIfT^ni8k&GLsdYj)ju$1A5h%`vIQ@9Z9Y&j?2rJhX>29hP_)>oU`(E!syqxiD~1 zElz_4=A(_nFSG8f`A}tPoq#1DB!CoqE~lrrtYLFy$yuj%t{w$xZ61c`In;d9(T}dR z0A0YrD&om&)1a{@k<=rq62tntJ&^QK@X?Mml;5otaODh;Et^ z_mc8<+3bSGgPaRZKjKQB=R7WB2Zc^Ag(Yzd596caUvGgm-Z*eLt`;mcvo$cd@u{m0 zK58ssOS>sbqzZ}(sq>}Wl*Wa)vfx5@bIT9={uao&p2Yex3{U=21WDc27Kc?cBu|fN z*oCf*E)NmYcSXt`jR5u>84lla8PbKe$WEIVW#=haNW-zv zq3Z5J|4Gz` z<@ZY1W%${zMn&+f@hJ4p+lIU$qH%J0)nq6bxQ58)-T9igG7UDMau%&!1 zeGaX9_M}vfR~8O=Z8nin66gEZL&ON>tnImbHWq%dQPSsjWNEWH=*yk=u#M@eYJkq@ z>|B3zddquNSRHq{y@R(FIU6U_znj;!4udqoYL< zv+L@hrrU<6ix%4&ylL5j7P+Q|;!F<@m#0n+Y#e?eeh>?HvfiO(p?*}BkV@4VbBV>1 z3Ia~t$TaWKFC|U-^9tUMG<`(SX+eT6a)@(jgp0`|Z8etV?UGvy523KDWsj0P#J9d2 zGsS%9L4WL%?$^2Dg{QFC6SAUlw;NrE!63P)rhYZYci_q>3Ta?-I7Zl~GfM|;w=I1V z{C#QXtT6w>+KV@?6-Uxw4EWeCH=ld0UmevYsY^$y55MiYpNO6RJ@t^;P~rD=3|jX& zf2=YLt@W5zUQ0ze22n%DOS|=r27>R3giaQQuW-M>t}j20fJr`@k|?@gF2`SO0z6h0 zFztNqB{2ILX0RIPdjS{8qxGu(xm+qS3Vo$1CJ1FbM`k!3Uy^W@n|`ozXo~)~KBoG? z=06ZZT!v^DdRoqQlyu=(W&m@nnCG6{ zQ<6cC9}4m~wx_;-EIm31G`YF3&XlI9Y%>;6I^NsuJVQ)DO}*dpLGjAyGH_uE5{sJm zf3hW3um{I%ogdvuD3Qzsot_`}_UA_j#W8`@ZK#2;^Ki z>t$}uz<_zYc_I!QMW~6WLp+5u?F9w!g}&N8I)9L|J%%&kyKl^3>curut#^s;N?%Sr zuoSq^c&0&3(=t3Soqp6fbVckww#JjE93dAuInjUj)vyfO3tN`YjlaBijpANna4S34 zH5{CD1Rlf`J1z?NS1ju}!Xb4-6um%Zl0`^YaeKV@C67=LmB&`J{MD1QH>N7>=pzq3AG6+++b?#6X?O%wEmR`+ic^Sn28}t@*EUiGCbvBLaH@ABfRwLid!c!Av5v@519> zup!waD0sJLbYafGxH)ZkX6|xv8InQta~ZXi>jbFus>_3;_KRO1L1F!EbB&#ZP|Fja zf~uA(>o1u%)J1_5aJf?s?R-fm#w>wxLbk)c?tTxz=SQVA&sNJL8bErO$FZS`icZ{v zTLIvtyTw;h#C3VI%&w*DacLt$dXj7hL4*Jg z$BtfXdj8jPrIYOCDb?z!5W_4LFVdj1hhHqa_$meJ-yWH2r9MHcS7jl!l&oQfG2xAp z1Z2eR4B{ziKJrtfXtbvKxpR%36%BAtX6F`SSh>U98cL$eI4z8QT(fBi`F5v%sxl^7 zp_wSA@IT6`N3zaUum%opXW_1N)OT|=I4iiMJKJCa4y&0@G+b!QR0oF)qMPmkDzo5* z6dywxr76&MwH40=76W{;M4lO(DT+p;-~8ETg`SB=p!23^U^OCRK4cRBomEiOq@K^dwJd3(Bv=C%Q&At3!@xS!1}(=lMTYR zhcA`tQ)wQ#j)Z2XmXsaAdv-!MsQpdsVwNtEKag8fu@Y~@4|3B480$?V*IPuF-7pE> ztycA6ivAV5g&`S#%p^gvn`oc32ym!HJn`#JE!brW(hAm)z`oMYn0 zP6c5!Ww#0NryI-A)U>!(uk}#>6l$Ya_>xLJi^3(Ps5}Ih@^5TAC}RlzUU%3`acdA_ zl6m#1pVCTHK=5?05wTxtoi7b+hy!T7y%DniRc8y go4.video – Top-Inhalte von Folx TV + + + + + diff --git a/client/src/App.tsx b/client/src/App.tsx index b8fa942..bb71947 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -3,6 +3,7 @@ import { queryClient } from "./lib/queryClient"; import { QueryClientProvider } from "@tanstack/react-query"; import { Toaster } from "@/components/ui/toaster"; import { TooltipProvider } from "@/components/ui/tooltip"; +import CookieConsent from "@/components/CookieConsent"; import Home from "@/pages/home"; import VideoPage from "@/pages/VideoPage"; import FolxStadlPage from "@/pages/FolxStadlPage"; @@ -36,6 +37,7 @@ function App() { + diff --git a/client/src/components/CookieConsent.tsx b/client/src/components/CookieConsent.tsx new file mode 100644 index 0000000..9ac9165 --- /dev/null +++ b/client/src/components/CookieConsent.tsx @@ -0,0 +1,242 @@ +import { useState, useEffect } from 'react'; +import { Button } from '@/components/ui/button'; +import { X } from 'lucide-react'; + +interface ConsentState { + necessary: boolean; + analytics: boolean; + advertising: boolean; +} + +export default function CookieConsent() { + const [showBanner, setShowBanner] = useState(false); + const [showDetails, setShowDetails] = useState(false); + const [consent, setConsent] = useState({ + necessary: true, + analytics: false, + advertising: false + }); + + useEffect(() => { + // Check if user has already made a choice + const hasConsented = localStorage.getItem('cookie_consent'); + if (!hasConsented) { + setShowBanner(true); + } else { + // Load existing consent + const savedConsent = JSON.parse(hasConsented); + setConsent(savedConsent); + updateGoogleConsent(savedConsent); + } + }, []); + + const updateGoogleConsent = (consentState: ConsentState) => { + if (window.gtag) { + window.gtag('consent', 'update', { + 'ad_storage': consentState.advertising ? 'granted' : 'denied', + 'analytics_storage': consentState.analytics ? 'granted' : 'denied', + 'ad_user_data': consentState.advertising ? 'granted' : 'denied', + 'ad_personalization': consentState.advertising ? 'granted' : 'denied' + }); + } + }; + + const handleAcceptAll = () => { + const newConsent = { + necessary: true, + analytics: true, + advertising: true + }; + + setConsent(newConsent); + updateGoogleConsent(newConsent); + localStorage.setItem('cookie_consent', JSON.stringify(newConsent)); + setShowBanner(false); + setShowDetails(false); + }; + + const handleRejectAll = () => { + const newConsent = { + necessary: true, + analytics: false, + advertising: false + }; + + setConsent(newConsent); + updateGoogleConsent(newConsent); + localStorage.setItem('cookie_consent', JSON.stringify(newConsent)); + setShowBanner(false); + setShowDetails(false); + }; + + const handleSavePreferences = () => { + updateGoogleConsent(consent); + localStorage.setItem('cookie_consent', JSON.stringify(consent)); + setShowBanner(false); + setShowDetails(false); + }; + + const handleConsentChange = (key: keyof ConsentState, value: boolean) => { + if (key === 'necessary') return; // Cannot disable necessary cookies + setConsent(prev => ({ ...prev, [key]: value })); + }; + + if (!showBanner) return null; + + return ( +
+
+
+ {!showDetails ? ( + // Simple banner +
+
+
+
+
+
+

Cookie-Einstellungen

+
+ +
+ +

+ Wir verwenden Cookies und ähnliche Technologien, um unsere Website zu verbessern, + Inhalte zu personalisieren und Werbung zu schalten. Durch das Fortsetzen der Nutzung + unserer Website stimmen Sie der Verwendung von Cookies zu. +

+ +
+ + + +
+
+ ) : ( + // Detailed settings +
+
+

Cookie-Einstellungen

+ +
+ +
+ {/* Necessary Cookies */} +
+
+

Notwendige Cookies

+
+ Immer aktiv +
+
+

+ Diese Cookies sind für das Funktionieren der Website erforderlich und können + in unseren Systemen nicht deaktiviert werden. +

+
+ + {/* Analytics Cookies */} +
+
+

Analyse-Cookies

+ +
+

+ Diese Cookies ermöglichen es uns, Besuche und Verkehrsquellen zu zählen, + damit wir die Leistung unserer Website messen und verbessern können. +

+
+ + {/* Advertising Cookies */} +
+
+

Werbe-Cookies

+ +
+

+ Diese Cookies werden von Werbepartnern über unsere Website gesetzt. Sie können + verwendet werden, um ein Profil Ihrer Interessen zu erstellen und relevante + Werbung auf anderen Websites zu zeigen. +

+
+
+ +
+ + + +
+
+ )} +
+
+
+ ); +} + +// Global declaration for gtag +declare global { + interface Window { + gtag: (...args: any[]) => void; + } +} \ No newline at end of file