From 13f38e5b6ceedb4bf179bc76125307247dad162d Mon Sep 17 00:00:00 2001
From: JMSBPP
k4zaO3;VygvTLn&TVip9>2K7-DY%l>7(T!Nf52Km zGb?Il90{WHA?z!%A0PE+MsU%4grWE*Y6PB=^+nakk{I>nMW6FJU=IWIvcWMhM%UNe zV-3B(Uuu87zfZ%78(ILxzF`!9)8WUW=ymA}KFKz@*k&BXXO0hRH*HsaJlTADauFH& z$3xAKrcmF`@7F5>BypaanE3E|G_(3d80pPdmEn$Z^=v!f@l8@#t$AJ8J8N34yBcxH zkrS_N+5T1oEb=OB0KV7Vgm*^`Rj)aLY#`Y?_U*%+#XMjL1GFBy%u+D#qfM60?2z#C zkCln`ZS!jQeO24J`hLGo-)`5ki=&{evQoxh{$R6^TH(CiIE@~NrU_xcwSF>x&KXJ5 zhSro_>4>djKCIu$f~fa_=0Q<$R3ZSccYak1P}M=fEKmg&`BBdSZDr`Io=pBW1SDb} zfl+vg>LHTTEIuf?CZ>)_qcT3Lq_%BmdZmggM={S|DJzrjI`Q)3Uw)^09H}Wo_iOW7 zRcqa`)iA2jmbkqGByrLt<{2J!2xa^vLGVtUksp2&JN+4_ip|(PWZUU9PYWP}L?(45 zvi*q(E# Jy$NC?slYm2qi!oKsEzyy}cKv2dEh`45cC8#J44XW|x`XVnM7fcVi zXl8;_Q{B^Y&J)U4t|oFj;B6Wtq%C$RW1%8HZdaL0BYkq|?LsO8AuNf=zF&QI4wb6B zPvHco|M@HKHya`5RrL>McI2NkUlg`bvWQ1GYq;nn3F-RwppXDs>zT#9QSkMwJHCTM zYg-6F+njJmjyaj7iosM9M_A7%eV|woI RH1;` )W4HwVB(9&`t|TlyUdAD^
r?dB3*S ;ww!OtfHm6hJa9X{b+~L|=(bRB z9h&DwZqbKa= A)AM(b3_5|IY zXm%*Ff`ek_>q;}Uh=TLEs(GYwY4KZd>u}bu2BUp^_6j@;B$RR2>V4U+O@$N9kjYH) zgptRtDN_%rR`ttoJrKPKFf!f9oRWk@H+M=|X61)) zR=X^m-ktQ(Kkv%;y_n**a(-qUFPpXvK1~MAO=j &)Cv^!E z+rO6P*V@u{B xL#_QdBQ{>>&}RPQq<{ZPUJQG_%`>;m zzkua9sQc(5X(sU{B%GaZf+UXMrxm0VXoAL-9OApn^Y?yh(f@p{x)H6lE})&c$vjOX z^^y0;GDqZOTAx-w%*c&+_541%c4X4&$>jdxi&UQ7tJi_q$c3c7&fch2S`)KUzqR?a zx-L-dKP_DQOu+g+J}y7S>fKS6RzaI~bYz;EsovQ(Xck|URA$biYgrXm!-F5vH94$q z9C6#!AV#i&&xHk#aqL)Se!H^`4O&~b&GBh>L^RX8DgUgV(i9D5(X(vfYX64PtLK*d z{li ~2y3TRzlJ=8E^8o2+-S_>(-FTi~^Jijau=XfOW>(^%j0fa_cDH0+ zze#}BTJ8z%34njl)1TUM0c1uIm{&j!q_o~~>n_R6Mu8CASZD~0u)x2>BYGP-#U4up z9gFRd1Y-P?CAg|fl2VeQ0tI>KoC9*nqse`x=V?{3GC_U?5^+X9b^{|{GBif$7|t+s zb3_|bTehq i45^e_FN%5s0OZ;t^=H82Od#ysD ~{CSw)EE25e3@V4tLpTO*fiGC1ASlMa66j%iv;X+1`5(hU( z=V>~BKD+3b)tp>b_IG`l4lrj35r>35)tGovcayjgW`agV12h0eUU2}=)F6sJ^%ohA zEbzn*GcEv6bg#&?8ax Udt06n>D&i`E00KA=A4wQIaRDfa!R$3RlTE zPR}V0$15jJt>A4?cGFJ*kVI~ZaGt)Ah8?d`0d>I!_cJOB7(5k`0$7AOy-RZ>7)T%_ z5xg?v27%2<7tH5pb~S1pJi8aVvaAM2%(U^1FNnl(8EP_R1+xIe{J7#7J)Xp7=Dfd} z^(*c%CqrA9b>ugIP=uVad4J-Ac#oVa1W;bwVruR*eV#;qUnP`q2<^J^hoB0Y(}i!q ziZITZcHU^_FiR`IOXGpXNH1lR5GW*Oz+*aav$?%{gS^0Xr+AK7e88M>GG>(~vsbu< zT$lRcS}S&?>sWU-42){9e1kCzwwYsk>EbFgOi6G(Gg6~_saGr`< Xwx93VjlZhpeyE*S7Q?bQLhCaqTrZ$+bLsoXMiI3|mxQ zjv~c&W|qi>n|vrlunU<^ex#u~btucFvE)}Nx@xX=;~KO~qSGbm? zPopBa*pPk&E-}q49pjP2m*%lDITV03OsbY$`(9zVlM|wC`@%p?V2T((rTnrTpkWq` z&3H>|fLxnqM3h(maLe$fWfhUg_*T2U6)RL2iNAy49;5Uv{)7UU&4#m@9OzE?W$ ZUSoMar`my6RIw9H;id@lPFb~A}iPYhiMKuH22--uO$6J^a17FYS zfN2>eFvb7rEgUgMWhp+_4f7Kz`sc1DAe&l_AZOvLwR#4%u7l37rZ@&_v0DjSsnExK zt98!>E)&@Em%~Lx&sRYJ%uFz4E-o@{csgLDcnd$K2q+a6J0Y i1jr`*>N`{VZhE|$N)r^PG`O(5vqrNr|6t4;N6WD^{Cy8 zS^ p@REv(FooNCt*}Ipw zGM;lzH=g6+m)EJZy>bkxVjls{wqj8 #A8L )Qr}`IePx8?b_?j=L3KaQ1({dOgTVr#oX>;|6o(|MTXn=JVbfS-m@6_BI(v*k% z7O@!kM<6@W`qw!xhVml;JP#e`d&+EttuB9BK4O+F0>PA-4vW^o!&;pDte7ocnaaI* zHay;pFtC2V-KfwzS%b6aF=fJ%+3=jm93;Wcw3&c%@!d~Cy*vtf;#VaUF0cy^Y}gM~ zrEFbL8Yp#&K7bhtSnkPEFI!@j;bq!Y?oF(ibKNWJ+^MneGG^ytW*` N3(vQ^R$L1(0KB)zUP5MsR4{X972< Q5N`BGd4FA)8}|5efl$uxf>eR(B%|9qBbTd8kF)o`_#%5zbI0_w zu)UUz;41J5!m_K(HSN}w9!tA!S9er@#W&fru*zfNrEn^92yj`f#IZ#kFo9w(IbSTU zly6V(6&`tieJJTSxL<|prydpMVys+>B%BAFEGqxd0O$GEneNyCI^zD4 *V#)>rBK3Phs5B&1vin&$au^3d=?;7MBG_3t9HU$2++$0v{Y z^hI-9O8F;t_;1r$0ywjV1oOhlHZ)RJ3VzM!?~jFR;hpM>r@g|83)&x!5XMey-oM`W zRZ?P4JT!}&hrKIuQeXk86_?}iPbb^mZ}(;gOi0nd4!y{Mg6CC;7$#w2TXy_aNh_8^ zZAyDzWrI@tMi}4%tx8lwh(f;12%$SRC?CxO=BQfi0g|^#K0^)yHsQe5#|4~cHd~}{ zDwbHVRtoxO-D)0E?jUGql6!$A0#N6`n;K 3EQqjE$RJ7ys++l0QWA?430DVi z_dnfl=RZOD6eeRB{Sm$7(EjmiocEFhqO~zSNI64xl&-O|F8QNMzCaBTD*8TGc9g2J zIKtxiF?ZhgG-h+cCG{ Mh+493+dPW0W#DiDSMoE3XhS*n>q3)5A5Xi2+8*c zA>kD?3m9FA?l>w31k#S m)@;b)UrKIztU)72cF9!7}4Z53!$fdNJcx!lT1s0Yx}TT#Yzi)b7cd z*wR~nh!4;k-qiG^o5gEPYq-?0XwFnOXfePGyvmyC7#9o;f1MC|PoAz$Cg%Ig?KKNB zlQ*M{$>z# S^J3V8dTW@>j<^e2z0J}CWQ zYmF_(`r0u}BIZ)aVb&ui<_3JGQQc1C0x@!D?ffp$?~(Qum&?7JcV~{9*}uufjG6>G z4&9WsPTzSJdt_ov{5MeHft2j3B3n|ZOgr(V=uxbg>n9=ls5(m!sd)9nbtVmR3p&|* z7L98wk2WMcm9I}IEiM*$L;4}(79I1~B2tq|Az?rp|3&<7i*dMcyr7A!mU6|0uY)Xi zu1y!mYIpJBTV{GOt5QGbImI7vyCS$TyIj#mV`fr2al<`6C}tk{Yfu{|+jbLl3;BMS zEjH3JiA1nJgVOD|LLvw=V-Q&Fvces>3b|=e2?Ve;iXMo2u%fZT8w4J>UP!ILxWoHm z&PxVF{L|w$0aT`EM=HTsHj9+}Po8v9dI*hq2(#{aU&``XVE7sbbA~LNxsRx>Xujk_ zy7!lH@rrbiaMG~Xi4Yz3aHKnt@c8Eq#bzbU;h8tzPr$OV5icEEhNVXWjq$WNuZNwL z^Z#(g8`U8@*LIKWw(TwAEcq)zm(1C5ww@+W0=P485XUG!mjp3B>0LbA7S~^y0?U*6 zB; gR+{wC{@+&S|HtX;LLb|88c9OO~t_rJ7)4K zX7=ki3gA=4y6TC`XT%sCbqsVZEbZ#xj`}(Pyp}2;{S%?w>ca_&KS7~Y8LZ5zZ0TNF z8CrXP)GBLIRi#%HJy^YaOUdBj7dU_{ilnzQ8up6ll031v&CJE;(VaNIf7~i8`HgdS z3{-pq;hK-g6zXhv)B6$2=1dOrXO 4|8%QCHWhL@18VvKI@{k9gNZ?MRw=gD*8=8_JvWm zdwbLBYn-n;laeg$gDg%p*8+#+YKg0DUeTeuMS0oQfs{AmWNi|OJbx20frAiz9&N8i z`( c_9c;q VY3iM|HG$)8Tw6W=GJ3+XYn(YF6 zD2~*x?*vaP(=IFSmjO9w@=k6XSkd?|i3noXSrX(o@^obx&*|bP>tE2?^V`?mhuGS` ze2D>F?Q;oy*`?gXfZ|(?kfs07EEo%TVLDLQs-E2%ZKpe<#}7A3Kki=WGL(y4#BDA9 zwCY_RE^o@&^~3gsq4fJ3=+3+SxbF|DIA%?>>eWMvte6vY$a$X+!_~u`1$hxl zBOG^rRc7%nq|f20q(vw4K&a-sv)KURgDZVgCmNUEoW7aK0WToCXHFA{H;`>`hnf&5 z?ydQL+%GCGr*x+K {aR{aYa8tzpz4Ik7_o>prFP}u*Fa%Obx=#8a`q*e7$E;w4sPn8x vHOrKy(M~R{YdsK&9*b68h&uOIJRn}0txx%c3IIC zk|Q*q1IGsFGJmCM{ZvpHNbVFth@BKwla_yf@I_%i91Th9G)#Wqtc&Z5-nX$(8Cr4M>)bB6(rGOM~K=3 zF~`m556FH$03YhBAF4}wOV=ew6pQ`jv`EEM3I#*tN*6OnpW0OePI0J;i?Qgi3?6Eq z)}>7Gm9*+y&Enpc^#EaXRWlZCenQ*tTpKo< `N9QtQ(&lB&V6xZ zQa(n_I1Xhr{jph}Y?alzv0;1C8B^_GE_J3X`UZGpC1ZMj>XCD7RVR}j;8YHuHcP;` z2l|uMws8&}6Q`ktark0n#eO#6bm8%8r?u=I% q>dMprRTCsu@pM;h%9au8QT>rqsX8I$FD`<$ZyX4sp_UXE(f78P*j=4Mgsi z19N_#8<}xroX9S3KsVgx04|!07>>yJ-V+)$!%>KU7*fS$DuM>3sP{2pV8GcTx3oi& z!0cL!6wU}hf`lA6`xeJl^Cd!Em*Lm*13s2lktoScw@2Ar>nrfJWE$auU1$e8tV%xC z?PtlBakF}d5fym+46gCf?4*yUwdRl2WUq?s9whMnd=2us_m_UFBIHP{2VO52d<;c- z11PV)-oSGndx3zEtYSMs_vVylP~rysojTmZLmm{*UKX*6d0NhL(o1U9{R&4tWxW#- zIb|J@U#ZvkToOQVJ0RG&=!4a6kkVF;B7Vm!fsDAA&=_zt{!!)xu}#3RZ7)f@L={w+ zFsTdcLrsc+k9Fuhxe(N7l)*uNN~AVlq03Z+hCbe-Emj^72Ai+kfSaovg)y-$sU@tG zQT=x~R_sCh^~)h5tV;EOto=Kc>akr47&Tr9+s xjM%n 0SO=NHfz?~j@>s2M;aszJDQ^`} zJ0Ume61C2YU$J?frcM}z0GWYdRjg m$}0V%Zv^ZiMX! z;r45nVJ})kEE%;*{$*E~ h!o>bH)Pq4 sb& z(?(pLlSP@Mor__RPz@($qxJwXBej!hPO$(mL;Txks(YHk*W%ndV48du9jNTN<+|Xe zfCC+sDq9 7(m&ZEXDpZ?5;M-ZWu{6 zxg}kQdI;>mEh-c?R{~ryn=>CkMj_h>_MgZyPfTTA!iexdXDUkDNv$~IvFaBrO3$4& zPbGnEgRYb%aQhCUz(0R4@A2BQo}+?H{pe!z{dU$hY39tWD0TOGaKJWhY9NUVZ!wc{ zdL|*~%(~=gKqrv Hvn|4%c+_8*xURz{Bh-Y3va(u*u)KpEcsM)Alp!KetAq)7@; zg%18^wk~C;Ra=Z N(_QNF=FE3$_6MdJJL82W2W}lt{-w3& z*BN~^h6rZGswlFo^1{;XdU68R#LKmxDyybh!=}^ d6+%#HJQY%K zHJ|cQoOcSqlRsTThIkv!1W~WX$Vk*$&j??*Y`7BDuG9o0W70(lmAv#wsLq^clu))T zqH!}JaL-|rC7)`1T#^sUKAFEc_J7HRoF1L0nx)>&dw%&4$O@azpL`^_ Vcom#i%8|KCu;v_wkOpa88z?U?*A z;2z}DmhBu+8Quu>{akipdSnoy=9j(UJe`=P;ztRs$sW3RU0W6B4|m#RE$n@Mt$#T< zqPIbpB+Y2a0ow2FQ4?;O_^UEFdvP&*vAH|=>hu0QC+q9|b4dT%YU%CkLs^U(&F^$P zX>=z9%7-#KYV)uv>~=G3iVRtw(c0W<;T=|5buRxi`Ea$m_EvvQcW} J=>Z*%az5h2T|w>joEUHWP|ZBy#>U5iz(Gd+385x*J6 z9!FFyiDitWBt#_%mK2hVmK01yNx@$9ETm*wgi|!o8K4sPl1IWpEl3BNo+jb~yvkIZ zqgccXS#!)q-rqcRw%FG^1+1y0aV|hQE+jZj3qZLL0|Lrw2QDb6DIO3Yb-p1aSS^ey zZU`1hSB|@= @luT~I MT+8I(4dqw2X^H+FvS6M4YZG*iYhIO&k8nVwo|=JnWWl z1_ecCBnt}KXf&%LSzx6ahqg+Ul97~9mV-{BMi~IqVI@Q)yGlwfaLu4)5VG_s(k-7i zPhl`XbDmbtg1?Zmk`Ka88`zOWhaW2KgFouA A6gsxNSmp3U&GR`Ixk+KMa $DoFY{YZo+wJW} `5M%6w zg@ ==drH@^z7F#k&wjg0jT4D^kSj~-neAzh$WU0+~hSXcnU*N(oS-=FtS ztyl1wVEBzO|Bf+!$C>>Q&JexMMIQ6RC(-}|69*E+8NW@#6ZJy*NwCJ 9Arl7fMac!Gh6&Afvq>-PkRHIxM87Z %d7yn55Ws^oSCJipp~Rmx|^1lq@4inhzpMwL_FId8gT_P6%#{C z&cVm^-c|RF{hD~YqkepiyY(rcjzB*>M*U}_rTbHFcz=NE=-q4Cqi$o$^A#ESe%gGi zT0j^MDmm@qU^~sXt&8)#*hxM)eSUL(o!fbKUH`eO=_Yr3dwHF+#9Q86+eq#^W4F^? zzH7r(;`XfS;>5D*wmRwNCU?Jn!N~6>I?`et)4Ob)oV LT-TK7h z%1MXz_|B7+=-%e(-p1}^bF#ye844ce(aVnl2oO)6BlmAG@E aqW z5PkiDqE(i Vrn5I1g#|`Whp0rm&87xs_P2J%tD%rwd_HfdFS7ew2D}NDR{&P(ZI1p3% z&{}tRZ_kMXA3!3Lt|kM8GMoodl=g&FBxr@8q5=~j)df(U9wJ%-Lyla+5!4AHy5^K5 z01C&rg$x?d>Dbi26GiEeK~GS64nYOQ3IixJMx#jp=Nn!*hG?mPO$G^`>>pPOCxEm} zgbvvYaf6hBwXF&Wv8_6nbe1QyvJtQBpDVP2go^`pm>4tX5e`RXT#cJAjYPH4UKqIX zZh`RADFTZH=g (MBUhHY? z?Ca@)%5P7P4!ubSc=&Zdn+zJE_UVO!eBfx$LN(wB1i*JXDEKYeT9@SFp7NRxceva+ z9NTI^Or~ekOAN0iJmmNzMJioNP&|hQ-JHWVp@C!qF!f|sUdr!JL-2gl!3eIwxvQAz zx^L#}x9z!Gd@E6aP}qkAmDs5%{5>9{?mrV*J~`89*s8Z50B|ikyMGfm*8e{w$-(;H z^X300$>$e1`&WnM|02mI0LZnIpT|@K%{M2$OL)x?e8(vMqjX;ihF=7;c(1eJhul!f z6o3DCVFVGTM_|d2UmyY{T#`G%F#qWIcxjoI%D;c)EFByy4J-`hJQXbsB`p!tZ1nZ3 z%=Gn-vh)-*lhSh(3-aQt%Jt1HENTk%jrH}*_tG-8lG3x%O7}7~65=y5HGqzeC_qlh z%}P>KsLa=llaf$0&M#9_Q!hzR&@PYBi#IJUD3Z)lj442h(Mr*hi%Tflj!%;*-bhbM zsQkK%z{#>7ouH-sYZU$$UnVOC#rxN1*9ZEi$Hy1H&Bwy^ u(nIYTjN zJ2yS{(Wr7|voSY$yBrnv``Mh^M-tzvpGF1emw_A6NU4s> Y(Rk@pNCl7bOwAW8z zL;#`nRhfSSoc~rw{V#PDmJ|`QvvvM2k!ASbi7YE4+rNxqvo+n^RhC $u`~d)kfGkvChr?>56J2Zl3Y?=OSjv$i@<0STP!vJv zROyJeTxO~;y{&S?`@U;#y>?%JBxd-`YP(l9dY6$qr_Y<#uV3P7j2@Xr*kva0m}R<4 zux$&mg4Eb6Hlt3j#8k?r%MkUKoH63%xUet!QiZaY18rtBpMAmIyC7g4Gc&!fx8w2K zk6jd}O&b+Oe{Ase#&I>!v=UQQ4~48M=?jG}*NV1psuU<2uJ5wE(KdWFTs_5B4KV+C z;v?C}C~M17_{Act<=C2m;!o<-RvDq9$6+YU Jv z=LDW@tzoT^oq4W)u4%53o~fSQ?}+cv4Xgy51mqbu1ChR3Ux42$FdJAF^xL|D69{LH zgR|R{i!m1&HyY;*#|(E3hb@OqLAC@Mu88=&EDgftkY~N94kXW2-Fos=N=pi0)LoC? z1YjmkGj1*C3)dLu^n3GTiaG7V@OK}de`a7ofK;GwBJVLbYEHR5iM#XNdfZo>S3Z64 zxq hwafZ7%B364$^C&V=7{*7s7$fSmT2c41TLdextk`` zZ%-Kdxr8RvU+H0$>sR_6si&`L?Ak!>9};g|0YB_Qkdh1!uABpQEeZ+VX^C!`?iaMR z%v=o0CV@;EseP9S3Cdr`NzEj4n_q_s^zuWDoqWbGB{G_rZIEa(**){iGSL$_ng!O( zMYSS0D>e&ipomjZn8rwNp%C~qDuVeCIp6l_&zJ%cN51{6fm|RUYn9B^`YyVY!{%I^ zSGuD^QAM`MVy>QmSn;1x2QNj%_~-E9#14sw8cw8A(gPt ~Sqju?uWE8yYH5Z@u+ubUG~s0JjG)^36h@bgdc(YoJ_zfc@dRsH2v< zAPPExY6I_jPSMDNQtj?;3N1g>s)$+)rqI_M*x};6% JqUgY*a+sY5-?gFAPEu zLmG+esC-R~57?U!VlCn8sLo75O}$X-fXRT-B>NneP;&Fxph>!@S%9&90|d>%ug0|7 zm!J;Mfh2BG`JR$9FD~_$klP||?*Om|vdILJN#e{GW4Ho~OhU#%41fSpDz)r;c;m7m zg^V_oP2%XXl*6cbIolR|k>R P*V5tFb2;&F3HGtfLY)O)e!IIje>?z6f>sYEw zq;cWdr@08Se*o8vATfkUGlU@0cXy|cS|0z+;pm~FTkc(bn3&X0C!HOcMNuy z%uI6v-18;|F)Ktr)t VJ zhtKSE2kA YMe7S$P$Hg|m4RN%+{&4VLGRqN8MXba`CZ6L4ABUoPDr*2=xkn_q*JU6Q7xYb1y z)qT=9F!|@E*$Y{e7wUScPMek!zV^{yqj!h`Y~h;c8--uKUDrD~S?AP(KU*{XnCo>< zODjS;UqN)ycb5Myu4QV$pts{#FW5E6Ak%-nv96M)7%-ILaB&0a^y7!h9 hAZ($q+mCvYu?M1a>~hHnf1O?t)q;dcyz3qOBVvwSL*N?}r8lj>gxxwR zqF@#G9M=X7x}%?{#~?Q=$_~5HAtyM75jU1M_|4cK|1R4W_+^yPk9*yxMOhEWHh7OS znZ(=90V<7_AydzDAlW<*BPKJ=w7Cqta|+b77p@=U>-1_BGHd*l&E4Z(9_*;iK~8^D znZ2HFukyITlb@72+62~@rm|R1?c3CbR@3a!q27#*uEB`(YemB^6z2r`or@1>N~PV7 z^f7bri^$?eJ)t56B0@uc2G B))g$qJDX#+ig> z0gPLXoI%lWviFb(K@{dVq|ZhDb$IX+g9U)7c$RG(sx=B6`d7S0h>mN9k2=l2CW}w( zr(rG>DMn*n7 !4bI8* b zH_ofiG^l!Y!w99>t4!e`jotz;M-@>5dp&`A1c9M>_BoJwv&@Osms_1sH^YlZG~_rk zrw$;w=+q2esW1{M)j(kT`JUL-o=DBbh`P(OYKYGK@|1d1Ym#}Iy^q`cvWNNKHcMz_ zYZ76V1=t4Ioo%>TgG@C*?GeBS_Hyf)M(Rh|{iRiK%W{|40H5syXAwvJE6w=O(rxO; zd=)*ij3Lwkdcs^<_AV3new2=sG&Wy`?i6^M`mp?f(@yj7?>VE)a**W6Yl$fD4|#P| z$>yas5>uG3S@ZT;K+os`9YUSPP;PvFpd%vRScw%TB(92Z+k`hwyqN@7UG>@9{9C41 zk2<}XZBe V!B{4qS6F`+^vm{gMFeEP5nn|1e0ZVS~h70PXTXUy+t zwfCH0=r6Z#!K-3qHE%iErgWh{x#sfRD+b&pSM$7S`kvRIOAP=oTQXe_@vd_)N8-M4 z>ySgP2k{crd?>}(?U?JxBBO)3*v$+hSWX+|_@PYN%Ga`6?pHuvepmf`4FKWae-7`_ zE}a5TGP9paHNGEoZ}Ld2Tzc+1v#NA=dZ?jz3^)+M_3LpP?cqmzPJ3o>K(bKnZxXM6 zLD~`dGV3i%wjx0d-wx1j8z)#$${0a`WmD&L6#gzF$Q O2iY2rRt$7Ve0 z{)&TFj_Yi*ff(vfih6t#(%qkMVcQD5kl^}VioPt$D>grKCi$!@8Xh-9A2vb)SA;xt zu*yj 4Y3p83D$Vg9KwLi(#8|vUNe!3Mr%{=G$P4RZRf3Z zduDq5LL%OyNsT;hgIGmvQy1ko6P~$)<#aEtTLNFgqR3Na2g8e!_NLyr7Z+Em@JvzH znE4j6j@A>;>yvhdk#5GG(p2BvYrlmb^uh?7|6t{Cf@$;mqP*`UBfu8^l#A ?xs`Tx zWNF2~xS2UmRJVAS3L4+)Ew+nr0}!wY %f@E}lWCw$s zR5X7{D2cbKuCHxvz-EjXIu$k(R%$Lx>&>jj^|4O5fkdj>@$OORPf!0?jOxqv1(AKl z`bDo7N=(iO|DTs#YxrDL#m;PN%nB*deMRn}|5Iy@`0QYblS z98X2)G8-S9hTvxkpTWo^E$i~4m6OLdlUl{9LB`bcs_#YPB01^h+)d*W^0*1x1!c?0 zv=^DoNgXtw;?B=*ynr(~5{805SbS7*cjU}KB>>w7Gwo8Hg%v+qmirzOCm<`B1z$0* z<06$NB(3hR0pK$GhXQmh`R2uUB@7K^D55_}Q}Bj`Y<=*p4obJ&Z|qDz9+4|>e6sgS zYZbgemn4lWl&4X#xFYB45kEvpH6D~nUI}d$FT3*;Ar;h9&GV|FUVBLJ5NPXwy(iaO z{pa{S{y|JDlYiC)dr<^GIL*Fm+l %tJ*O r9uFQ4_)^|)4+lCFrmTY@Tt z*(^in%Mo(`p9; x2|V#J?RcfvZI=42fV5 zV6Y zCe#@84txHpK>Z{F>qzVatDNNZLmhX@*i(i}(N)bg$3j{6MQs}D%*(5XmwKtf>dF@H zkMGfoWokKLlW>)1U(2Cvu;jZ)rz9HWZQLT_QuLRfE{>&;)=hKW>Ie$@Xs $rxi6yR@O45giIw>mW$Us~>7hCihg=?=UE$W&fWJ{_3ttAor) zD)xr$i8LzP+AxXKjB2%IP*jx;*TE16y2h4wL-;6`y}5@sgri7oV3yFOst(Pqd4Q~p zje;w!m=PM`gmJcK2yH-?um|?CLaLbRMB!B987y;DsAe3WX|gL~XsADe O?m#Vv~_-f!s znV2H^$|1!%A4v>hCx2!VbaMGfY&K2^X5MHFBF)H9GsPIB4O|WewL{Zm@c{;zSr+(b z48v~AXIlxj`Y9*40;Ws~PUgu)$tSrVUnD}!r9!y}?9hHj@>E&JLG|313ZZc@(=O&I z7spitQ%{)(hKRCcq8LcColEbZcfrV+vrV>#w7a7C0om#*0_?=C^X&4+y;7T0CDf|h zgIYZ?fEm*7K2V!dx`}Ujr2c8l83^L+l7J?5#K;V~-zmAJqt*+{(F1@oyd#*aDuXjC z_sVoc4;1WM6RNF!zRl%`#Vy~e+KNACtij}ORvJ1@9Bim@HKL{2%iO@|Q6myRjRew; zvCBx}pg|MeJa{hPEt!^SmEiJ&Pq|nZamwBA);2%kD5F1|0DYF9X<7SF(U1P63mZIh zXC6f#Hoedl{d$0yx5a3gMqmiZwT~8}Zk>p4H28cwSl*M)Oul#rq>mc|Mtx*uSEzQY z^6sy) =pHXjp(iD&2y}BFF8CDqMdf6ks(!_#C9hrrSg+f{TUCKlNHHWA!Kc z{Ne8u*5w uPiCd2i2te;7 z-?DQmyDo&)h%#w9`SHMdyZ}45i#iWPuUKGo4M7WFx!oSdg=GTZs 9v>+0uvlB WGm3uCu<*(>ZtMzr49)_lT!0!?m44hS;hwB6dr0708EpwwzC*^_RGm^ZK( zi8g0#Y_v0q>q~$vB4^3db@p_T0j7%^xJ&H;^!bb`T`FCDn^eubfOmkTyXu}*BXeNK zF7`Ep`q=!$E7x)#V>NvzlGKpGwt23UT;1A~b&R4L4##U9tgmylP4vg>X%Tq=?a)4! z;uDv8#yIW54Rxel198Z=XjK n)e@o5 4!r9fh|-=*UuFQ0F5~49qa{E-32^$>LmsNNk#7k zV}<~r0IiL~uSXyUQtj;rVN?e&U`z<)2bPY<*H2XN-x%z*_Xi#BheZZReS&EI_s6mS zhY{re7$jw8_y=(yL<3SgN#(seWumWOPvosN&s}8@MNL^70F58{mm8#vjFZ3+D9SGw zx2dr^b&fI)rR%lDR;|BmZKfl}h$0(h*@Yf!ZPJxl&z_rZw0FLfj>P8-)AF4ot!a)M zkDU{r=?-sBoW4G|l7+MBNxE?wb2e(X@lA{a=*J9);uY&sL9DcBY*V8W44iZN43IPi z+HRcl{L|T8(I)IZDy^^5#Tm9dmd@_can BcHKK4a~NB!Z-T}& z-v@Vdr!Z$ut6)*#;zN`fc M5f72rp_bSNmPlW6CQtA0!qZ+MU4zHh z)BM1@1V^(Nx>Q^qD@SL6y~+M(AJZw{N_@NV#r#uQ2b>O3Gr6g%Y`#MM<;KkjkvR&d z-^J6E a8@M^*+Sz_8viD zcLANFV&~Q>>#4_O^XXoxZKwCI01if4(mzx`4tU0?dJvN=B+2PSpfUAPJWh?c?>PJ3 zEk)eNAB~!Gt+goxjrZbBeujd+?n~N|5OC82Qn-QPP5P4;^lqJ5L1bFg))qPmq_{&1 zbmjGJI_a@>GLaqZGOrEU-625_zA;6u*g0Oad#O7ilQ&^nZ0tV@6VkV|&h^5Iq~dKX z)Xz6b+4sMTo{^f3yIhjPmMIKCiu5Pk4YV|je>0r3pU-lt7tl18ID#~nBk3G>Tm)=V zd)cwMtZP~iE9E!Eub0Q)wshv_-K}Yj3mGNlnwoaf`?N+pjX+}-1pm~kd6T<0BW~7G zt~;e{qYf|WsKv-nVx-f|+(xam&2=ZoV}CZ=`xTXjwT13aDV`(9VlYoWD)?1PX$UGpn4&9 zipJ-g?35Zn2?0WiNs8pjN`C+%Y3q+1NK_O+OG y;wXtBL} zLOvy7i+NhFOMW*iAwp#_tMwRjXdoGN;*dEmzzqb{LOxv-F V|V(vdt4o@vg zp(*E;#DTF-cI&x*B^UO`Bi+3FnLf?a|FCZY F`!a|}C3E=glgQX=?pX3u zvZAPidAwU)W*9eL(P>4SqB3S_<{iqv5;EYV+?-@H)|#gIT%e!nMQS#gq9VJNutM#; z;w`FHRIR2mHmMO*3aKnirG{94?OCr<7J1p#rx`Ki%Q``PM|l}3X#;rwsiEUOuWAS# zX4F27p!H=H37A}8)CxA&T*omdq;JXdsez;gPMoo3Ga>QpBLED%acnU|r|%O}PJUf7 zGOna`MnZOLOJ@FPoGK6z;ASPY_GG^!@tf_OBxe_ns;y-ozwGgKH>c4LP%O8cQsa<} zub-yGQHCSQGByvjfj8bag-+wv6?VMOixVcSrUC(@+NG6xQ7l&J((yKfSdM${Ub~U` zMeSQk{_YDvrRf)?1q&8dYnpTk*cme8UDTu6D;N~*JXhjZ;9xgk`Y4wqH$K)?;lOw% zAn(*+mNQ6jqeR;WE`=MoI3%NodqwdJvB`4XS(cW}%~YhLNB%uls$Po2M20|P524{@ z0dYfoJWw~Q`6-WH#s`QG5V9Qs?i{j6MqM9iOjz#5>@J3nFO}P_wJH>6P?*U%qZp+u zaMH)HgO6^$+?Ze8dHVZGvEOCV;U2O;!LGlxCRHgkk9&eC<@(1)F&wiL!seSlI*;FA zeVBc@--0!*_<=1pHWf$AF!T#Xs;(^0RIK0DqvOUS?72phK~o{qw;br1yvJN42&~5q zmSu@K^6n}OyW@3`5%2CRJHUvdO9%_{>(f~;oGuKz>{Ooa_HNg^v}=BVDp|DX0|#z< z^{D}7U^r+T*ISzu_D}oaYEWR7-yW|WRph{jdE_hHoSdSbh{6_|qmx8XqPnP)2lvx4 z8$h1`F^sHYCzw`DzBydM$O4H;6!M}6wTBaOcu6Z$i(S7FLr3g>>kO*ATtqH8>%Gz= z1lfFv{JoFN)AH;bHSmnx?zYkK8hFcR3Db^ds#3X7sGO6V7C|R9Vg>Lp9CbrB?c-^p zyrf8^tkhA4t`F2OzL(5_D)xvRe?(IF6LN_;rfF1JHUkcmtP%y<+)KJZ7IM?c`|}y} zVdL7di@QZK;xX0po}lN!f{G&gM~NHy00S_)9$aDP+@j+;%GimwBK>^UhNmXM-D45; z^?O1kW|63y6SXl)ua1?E#lDH7bw^k9rX!bF_pb*-Es2Zrd620-Rhz3SQNxNM_R- brNab~o8&V!1#w#6fkvY^yHTN+`{cN=W|fqMwA8 vgfs0Yr z*LvNf6j?G92T?n{Tz+~TZTUT*N?q>I!`w3sQ)sEPgV{ykBnu&H9n0G%(jw8s4^)PJ zJ9Pi`Dq+5af~|5q-|rOCpk1I`6wdQ~?6tt8;do0;9d62SYwDv?o-z*>tSTt24HPBJ zk+LkaCAmDt?0rZ@7baql7TlE^BSVfoQ5-_yKLm?Dd2`<9o9m4MAOO~X1ST&VW_U;t zjCBA>PE-o|x{ 2pcm;? z# Qb%m1w2HD3y506$H7aw3Ip`@4d;*JcGyE zY9^NVkXArka+kvUSu7xr71V@1@?7;wG^7)uE)bdL1X~*4tB47QrE#YKlOwFYbsSo$ zop8Y%D0;+LY#;w=ZuiVC+Ez|j&kavz=2x-risqJX|DtL}{Sa03@{|Z$8=)95A$h0d z{;Yg%LE;;kOE^@#Z}qeoJ4U%@Z$fKegV|X`$#4OF)BMZ$)2(yOij16r>o12wkU2OW zKndKe_zEf|>JqwJ#yzj6-wg*Z$C(RzM_-Y-hrgeN6Im#W$rqY`1wvW%Ht>$Yhp0Qt zN3L$m_G*V;YT1GX=dQ%DNAlXq6B97Vk}@rYr?})#+e9y&M1j|r19} 1n{m&8}RPxPu5zH`^iNJ>EL0E?U(m*<9*(U18T}Np266;^Z+- z<)T;+NvV=8{RmUCaa=FqlGU*)X2)QWPKH?IF90~;wH1qQLvL@C*LD&wug;xf0`y!1 zRSTsZLuM`Qt*a7}dypQdpC)Sc1d>+;fjd-7p_p*e&3diylq-J;{X$tTsxaW7R4SiD z;yB4QF1mLs60Si9 rxOw_-$ zbRDT+t6U8`J2yUJpFoAO2v(4HZkxPMi>{-2RlH;14D6QQ9{wHQL0CC_VvocThdHFX zpS&x@0f!$}V(f%v(b){e5?QDAu)xF0|2qT__Qf1FYz^}|7<%U0F3@ gAHHj)&|hz$`^Rz(CLZtX=xzJlTjURa?~2?>CG3m}@x9ccbx><1MsDMqme zRp&PXDy}F_=vYGr!QWnIM80dIUvG@Gq%@(&s_CEy!B27jWb*ccV)*s;gjflPwkMxl z2i?zfP}505C3}SZA*1YY=A{JjhZ`VArtCq=^`}xh)L|bNClp|Xb+;h;L&3%Rt)VAn zm{TOJ|JCd6+(B*{Q1A(5;t-Ph(9ry`KHu2jau&0Vqv;Q)hMp1^*^s;+y-n@JCUkC2 z(DI`4oOtPK^_2~-o3i7K8mQPcwyUrY#nO`2Nf~dVZSnNuW*TwX1_47nr=ty2C=oH8 z5MWI3^cq0h!BaA`E%W%GLtx <7dzZTzVhbA0)@2W4dlLxZ}@(OQd#p` z4m5(OoPrk_Y+nRJ&r)BzGWf+*fPR1Lb7{=byJlMG2Q^g0a?u&W(=pS>4>_5V7K77J zA&Q7(vr2-VT1#PlJJcxJwF7h+6;=SbGS2>`w#Vvb!>kduFc9g>S!`LxqKaH~wWnf5 zK?1K(QdY2o`kj6Cl RXFFY_dN@xqd!JGqz44JXlSyjs35 zbvuczHw%Hba9`broBm3ZZVGpx!;xEQhI}#I910A_`Hwcd=uUjVap{0y;>lk>0(-XS zHzGQnhLQkyk tuTjzQ&+G1*iQ+^hBdze+F$Mfw5x1dp{ixN9N=ji+>$7Y zThP|9cMARl=_Wrc^LrJp6F&k;>>*z}-C=6#dxzwn-L)}i#S5FrXy>2|dpvku0Bkd( zB>l_|N+KTPXs3jaV #uu^NEQGa*ZknBzxQ_&Ifh8=z7-fn;q nTiy!M^@QouW3O>eLo9Gmz3^0)LKfznm#4HBTF?dtL3REfN| zuGw8ZX`4RzO}=cKoP8o q*wuQMJ@UIx!;}7nhuAZO-1T5q+QsS>`EB+w%$WU~(DtZ8C^*I<~ >g*e(u`+GR7hp1Ohw?6{l~FKtyr Wk>wVv1u3aUfplg28~YUR(Vx>plcrpY>pl z_rm9pcyZE BYWpko8%oO(*G`lj-tVmVb!0ZAM64mZ9l z;{C}s?usL?LQ3KL-h!OCev(j@l$uRZqy+lotT2c_OXq|Z(Uim+1Y4rr_8mFzCu~lk zuD3X13?muR(<0uKvorT+)mc8Av#cK_;%54s+k4*1$;((9B*%(-idYRO&5Pc$%f3V9 zR}_vZm90$0< u7vDNm6sb4nOU=2VsFJe)hYD%~!$JDf18RnRc+%V#q@UO+**XZCwx z1~q38Q3nbwU~K`z_}Sa`3Y|4UVVDAQ> ^`XTAWZ;!i<_RE~#d?Q;elS_+h7P|S_v=8$%@K1|Jwp0d| zN@WeV7Zq!YwZ1oY81Bc@hWN3syJ{0_ML%;lhYCe=^Q~?}gC4QtIYz&;>J>A3@=v zX+FHoYEnJ|M%IV` ~G-w2N3puL=ETohwj5Csspx{9zq!YFz{aVmRwn3 zm@vb*?h+BpxMTv7fLHEDbZDzEl$!bSku_QO;Rs4 LW?UYamuJnE?z%m(OKAkc2w7LQXfo6{wVN6`JQpyh@z zfq#Z=m=t~H7EgXHYz@QkSaqAAXm!ehH_>pN=6UhmdEx50dFi0Tn?R3-nW$eP3-ZZ3 z2>O=l)9raU^xygMRl7CpEfFed(yW4mcAc6whf__UWFE`yvT5YQy7$tB0{bY#OUDkp zV=}C0@@p8fcYzu359!u0UV4VQnH@bvI)4HpVx}ieu0p)v?1s?$PFZx&n>}!Q`}E1< zCtqLpEM4<>4PPwWh}Zpy@Ba>v3eevPi*I=Q)9^ML5VN~77r;NGMo>29#ZTGO{`)x5 z8RaZ#oX<~WMM>2Vz5xN)MFefc9)-EwY^D|o1rKA|TJ4|{b*$lyn|l=N-p(?5-Loui zCZ#?fH2}OQd`y~CbAVsp5f3cwQP5nZLObBsS&+g8-4NK783V*sN$-5 =2gb0JyZa?=Z-h7;-s`U8;jL2hP}w?YONbVU!lI9Ayq6gSV9Kk2 zN^xx5{w23KOc0(=Z1ij1o}NhS*hZOqWnzMDRdG+!%~ctxRi7!G7yQ}Z3%`|=!S{}+ z+Ui7%H&&m2{Y^KpC!|heB!v&G!<}l*7MhpYj&fcuy547&a3`~vP2L%eHHZ_Kx&u9d zN34wn0ArE6>Oi(mpq9VR_QJyV`oEoMmEW`4wFy}CE5XN{Y@hlc2 pwMtx-#ql^dgf*8(uh?PYj^^TZT|ju ttxMa(@Ayhiyex_ z_r`zt6#j)?|9@X>^H1H9m3}WQdY&_I5Rh~!AOJoHVE%uI`!D0N|6kfZ6YD=GQa Pl+s-2{iEg2G3b6@}SYL+kDSFip#{RFqLopmkL$jkYM_s}l4nJ_>&TLd?63c2Uck@$hl0&jY-RBR>Tb|=B5 zun3=RFP}e_-IZwsd; 9J}&TDL&-Muu44FgGrxdrKWH3vZ9Mjbc2xvkw_G>gS(Pk_dVTOgH zZ*3My&ImcOR1=C<&ZE*7*|SXd>R(bUx0z3sSbpypxOmEz+&wIqvuDX7rKG3de_${v zE*O5n4zFS`^yAu!#v38A32~pi9CQ6nd8hH@GVa@dL3=GREw(g-5sg+&!NkZJeESj8 z2M_xVJA61wEa_fWc0!?N$@oOb5}hvlrodFXqY$ttZHf9si6T5z5?IDo)>0}@83k3c zU68CeQ3_#+(i9U}m|u!c853C&UurBVS0pbQSx{dnSQ@f|Y#E8}>_(aJ-XcuZc9DGg z9J0| 0(w*#ss%sqg}B!+vZaNEWp{wUpnW0kx(koAR?09S>%Oc zS2C7z(plpD`Dp_dO2916rVjSo{DIdX%$X};>;`cW(>}X8*Es_+K-QP)krJcF6A@0* zLcD>sQRRwGfNS#j9MQPCazN$02RlMz+;Y^B2&0ej?SU@%>+_0iInr`)Qp%FE^C-C8 zrlph*WK;Q!T_qzT^}LeZ<__$sL*WB16O4_DeDcyC#eNzLG2;-=mAp>sZR$^9;9dY9 z!poAvTBte*^r4pw3Zyx27Sa21sMVU#*N`(RtE<~VvS(sv3E4*}W+D7H91NG6bZ>tx z=!221Pay4R54Y3( Tt=aC8pQPyUc15eE4wbn6&u_rnBFh@wlcOpowUL5UOzj>i<&AK!fyz>s zzv@gnC|Pl9s_n7<)GGCfh`<=RXfOg=oYrN}y2dB;k2hTJ ze1*g&=#{G~0hB55<{O0-O&nE-zVC6;HtVq94@F);@}=s_$j46ZOih2@$;jzgl^NaJ zr W_Vv!znk&bdf}#1OsO2%gYKRP$T&P zs@&vWNqMQgn%kc8polAnxzNGZQ`v#;psTEpUmR!OlbQDM?uEb?>=^hVe%A_F(Y*DR zSqu!UbsX15Qe|t}p{%Fu1+GE)`ckF_>2j_%u3y`Fe83!@Kznq;ukJS}djp5}O+b-K z_HdE=zt7D4g^K4tR)mv_N+TXg`1)%nP4}M;knOpAT8p}b_^ScUa0S%P)>#qSnGBjE z&ot|gqdn|sn!oHvOgkKp7bA _<7Gb3qc)XgWB!ol(0$-qIAora=r!j6ad5m7Q4 zp8p>F?arGDGBfa6z}Hysv +9vZyYEHEY)NVE)bpgF;Qi|R+4^9clZX2*OVfTp3l>yiQ3 z46HIbMUQqZe=XkI{icu^@fhF;$J|8NS7wb92)K431VaZ%BHJL~Q+pQ2gcuxD2FwaJ zhX`qVX5t@R#z_ ~e`iE)$d zY_XaTdpU<9T(H(ljRIlFdQ{OvqAY}Di8NuscfwkYG^1IU$Efz4{Mre1Yxv6a9^JIV znT9~r(6vfV!H{~O8A};`ugj36isxKHfi;0eb@h6}sZFPe{4V|BW`ER1+vt?b0@nP* z`r>wquR)tUv?mOVzBh%r?vV-~kJgKQHp47`I)4oAPb5xmThmRAbXtmVu3k0Qv?r7D zJc`)VKmXhnhZ6vUCU87HtRfnLW7SYp!;hz7;~A@wlCydDYi?bqNK|#>YGw+{WWkv~ z1;_LLT>n&=BSkW#Rc~1o=F{2nD$te`&qd-_ppP}x{HVV9IaHTf?+CYtbTpmt=gYTE z XnSVU)ASJoy!5!Tx0-sq~YPTvO Sc6r(xQovL4Oj+)lsBH66Mq7G mY9Hp@9oy4 zyr|Xzv2K>qZxm403wKZON?e#;|8U=uK?$YMQm5wT9%DGu!D2^qpN1+noKOcyZZ%Mx zkDbFU4h6v5~h)f_-8g5A14=48tY8?Nqp``Hg;M9&Q1)Xc}%ABad`+SY}Locb) ^jf2QuM6GDKz6O^Q#<0+;+1ywvps2!*Z!g<_U*T zQkr$Nq0ch!O*hadrSQ|!UC4#~#Jr!k@IrzzX9-=AOH~bH%VYCo@XiR0znh7^45lcN z#pt(Zt`i_pP2Uyd8W!saO73~33yy##VHy&0YoU~uLN9LQC3$DM&n)xvWN0}JjYVX8 zW_luVPPog&u?V8YkX%S bTE{w*9yueam7tEI2o2Lj_4!CD9M)_s zdWI%*qdin*Jd|jqC1UccCH9}6u{VO)ug2Z?;UwO=_QSNjIT=4`u_h5bl`|Yv(DAgX ze2L_D#R^c8%y(?Iasu;}9r#+I)_o+rw{lHJ%lfE{`iI}Y+TLpP*N!s{JIBJTCadhW z6x1|AcaID7H9V>?Zf-HkXM0xVAa3RwJTCk3hvy`)po~`E?(>@cphTaYDzx>PW 9=Ts!W>T2`qAUE&?;xxFn%Kph}lHT%$1!S%%p3Ghow1^;iSG@ z;fF?RoIb6|3f|$26+)WC_K^Qc>S%sQ!O7iwu#Ts49YvYX4e2>9wJ?r?-XU^3Lqns9 z4Od_M0O;FdZEFDhYhsQoBf8`D))(Zp69m=AGs61}iFb_xJwx*GccsvwB1g>^8Y{LC z6J8HOW(9OV4i1DXkJlU_$z#;R`;DyI3UedWqq^R5pw*&USR@ICn@&HOoZ8drt*9{V z?3-o)pzCk9JZNW=*j~60o~E iK5m?}_jRA^1_O4LpiO4gWs NTrJdYslN*uNZvr(F~>P`cz-|wT% G z#8@NjhtMoJa%h+D?e*MaMj?12qKNW{KM6eGjQM|n4)Bqus+8j-41^Jw%@D}-5v4!h zzmur+ h%ylC|GoL-_!m0lf78_d1Jbh6*Z=b?dCF9B z{VyHqbQ265fItUS^50`K{7dZr5}?z`8Cohi+tA74voZYjdvSDf#%Ez>|8JaM7+F~U z;rVr?q2+|ch3L!IBWOoPONp^Xr=?u(NbrY*Kav>wGSdV7Qo_FK;4X#?`}O6ciMe^C z@30;mH+kKksBGzcW5rS;W;co{FZGW(c0xZBLaHLJPB993Bu3CMy%lUi42NB6{G``Z zqG_O0V=^S5XeFW|6 8X%u9dT|lr zq+wdWyuZvG`UJ~xI7DV2dR5 $`L(eV18BUcb$kky(%&(X3$ImM=CtBd@*|< zac?h;lfH9!tI(_VE(BHo2*(35+u+uK9ryu55l$+F_iaQ!d9T$jinZWKuhabgFG%p6 zT{!0le=t_5{-u7@NgxI*AbOx=+&<+$nE2~n$Ky?j~1@qE~+M8 z3l>|ZW^8y`m|0OJKjY6ArphcFBnWi%Xloaj_&W^L-*ojnmE05AD<>|ltxxTr+})HL z4m?dkTU(blEY?oFO$GYdt9RmTWm9n8P+Xg*hHfuxmAs{7E>5geVJPvD4J~U5JT?M+ zK vPfS60^YC;K@Wx^p-63 zzy)6OdNE=T+G4it4f00rmdV#g4j#|n1AGpnH?s P1U9^grpb` z$2&zz_tq4rH#@5ky#rDLgg$5w8j~w(q%RCP %N-<~Vof?8x`FtT0ZvSQgF7OAvTy*J9Hg zBl4M3)f`cCr8O4)u&KAn+i`Bsw_X|&Dtuz#-Bp9uY4Il7d9huWo4`+?H=O@ftX;zY z5`;mAQjlS=WbK3DgF7RdvZA+&rxkwydjj%fL@(aDH_A=DVR> BC Gl=}e!9C(IA4Iw`4Y`-v(DII0ey^6qa2S47Nxu{mR%Wn8i z_4CUl26(7odsm1|?z)kxa;z#TL<#+_|6)@@1LRj5Rj^~*oq5w})*dJ!&Pw=ht(FJ@ zj&ZoWIGvM`OhA|~ZXz`@I9@QNnNx*N9`_-JTIudwx*#-UQT6QnA>8MBE4i9h%!AZh zzdig=K0WQ>=p2x!J`5*h?e1$*a%g|!cE zFl8oF+zcpsVBHGo_><@fW{g+xfO=FAe?+6mFWP%>_Q*ytE2mh05Rk}2C2IzPxj0TX zSpsLxqh*V8eHvQj<-GzR2zf&mPEEsMgE&$)0D4|@{L%GyLG)|+R)T;^H0@QwK(HM` z^VWVOb4wiNIDTm8T4kV#ZJ>w>kaz(qK*Cc5>eZ4?Nh2Vc3y}0=NM;)(^IRlzW9R_X zPKi{&$8Zcwn?V?c*i-{-h6hT6WA}cTI R87YNJjT?%&7-=9VV zJj(7Zj5=ubUxSkm7Bxrt!xp+11PE00M;fPo_sAjlp_L>=G`9!^q_w~K{Er-tx^PE= zzZxODIP?$=t?4LF{{$D($!=c0-KTJ#G%i+8VQ)xvMrd5itihPRaUs4pbfgTjRWkAj z(NGa&i=m4|CR*8?Rl8t5Scj-c=EGw3AjI{GhwuoICpTjRRWcf|X9aD}1o%i8b1`K0 zRmub9G;Sv!N0 SRQS#1MQ2rYY)J|WaaUFK@I&)kdlOqZpK8!0EKlpm zLPga9f-U*M^92B s=oxlEwL6)x)mMm54?5wXhUfLp8D+9i%pN}KP4#>vd{ zu~0m+b?$`MrJWQ_J=5wVd~vJbR!uv!k{!uCmp+kwIdq#7lP$<@M<>4wKlvjX1f zh5C>^OgSOfum=O~wM-2u%E8)PVP`+jq9ieLq2G`Sh?zV`)yb05bcfNV)6kovu$bDS z0NFz5?%d*>yCTK$e4fZ$rRH%zSWe39X4u#>;o=5ez1e~RkKk(qE=`DqvY?xc+SK*1 zx2~S_$ZoZ~){SBh2h;cW_3KeX!88 3o zBc|K9-jrCR^$GPClueAEN8fux-yLM&HPgHhzFd&~Jh?UaO}aFS{&YzGH3BU(k8mqG zf~TN=VqRub0Qh!u^Ewz<%PHPJnt{RL0J5sAL%plT3QH`@6;xSezRZN0VN~5~I9^(H zn*E&bJ|9mZpI*KPGw$0N#bi`$a+VVA 6)?NG}djO1vX$$PAxn3oOP_()^= XlLgP^ =O@2Xeke=O6bndMLn6hIc)bL)dt@N)pcc0m30M<5flB)pg9*D2T{BXiTZNor~< zu-YD}wm-*nnb`f(*$R$xOWKnsgOn!d_@5vK_CV6ieum6|GY+KM(WoMQoOOFZh9RYH ztS}jL`TYU2pju#|NM0XS7?0Lasn!4llLcR5KoNA6>p3$C@d0G%0rtsW>d8KkNg=TM zUwuH-{fN{9#D)5xlC@A;wP0AauwJ#$php{fdXYB)^Eo?qdP#!nsuKa8KR7BZ*PU=n z-Vfzv3qQ3;F5R8y=gXa%=ilxu&Oa9}MPbP+0omPM(|f8lbf!Pf&bX-m-VQi98#p?< WJDQk6F)^~UvqO=P{M{f9^}hh80RVyk literal 0 HcmV?d00001 diff --git a/demo/presentation.snm b/demo/presentation.snm new file mode 100644 index 000000000..e69de29bb diff --git a/demo/presentation.tex b/demo/presentation.tex new file mode 100644 index 000000000..cf7bddcb4 --- /dev/null +++ b/demo/presentation.tex @@ -0,0 +1,402 @@ +\documentclass[aspectratio=169]{beamer} + +% ============================================ +% HOOK BAZAAR THEME - MATCHING UI AESTHETICS +% ============================================ +% Colors from client2/src/index.css: +% --color-primary: gold (#FFD700) +% --color-bg-darkest: #000814 (deep navy) +% --color-bg-dark: #001f3f (navy) +% --color-secondary: #003366 +% --color-accent: #e85a4f (coral/terracotta) +% --color-white: #fff + +\usepackage{fontspec} +\usepackage{tikz} +\usetikzlibrary{positioning} +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage{hyperref} +\usepackage{fontawesome5} + +% Define Hook Bazaar colors +\definecolor{hbPrimary}{HTML}{FFD700} % Gold +\definecolor{hbBgDarkest}{HTML}{000814} % Deep Navy +\definecolor{hbBgDark}{HTML}{001F3F} % Navy +\definecolor{hbSecondary}{HTML}{003366} % Secondary Blue +\definecolor{hbAccent}{HTML}{E85A4F} % Coral/Terracotta +\definecolor{hbWhite}{HTML}{FFFFFF} % White +\definecolor{hbMarble}{HTML}{F5F5F0} % Marble Light + +% Beamer theme configuration +\usetheme{default} +\usecolortheme{default} + +% Set background and foreground +\setbeamercolor{background canvas}{bg=hbBgDarkest} +\setbeamercolor{normal text}{fg=hbWhite} +\setbeamercolor{frametitle}{fg=hbPrimary} +\setbeamercolor{title}{fg=hbPrimary} +\setbeamercolor{subtitle}{fg=hbWhite} +\setbeamercolor{author}{fg=hbMarble} +\setbeamercolor{date}{fg=hbMarble} +\setbeamercolor{item}{fg=hbPrimary} +\setbeamercolor{subitem}{fg=hbAccent} +\setbeamercolor{block title}{fg=hbBgDarkest, bg=hbPrimary} +\setbeamercolor{block body}{fg=hbWhite, bg=hbSecondary} +\setbeamercolor{structure}{fg=hbPrimary} + +% Remove navigation symbols +\setbeamertemplate{navigation symbols}{} + +% Custom frame title with gold underline +\setbeamertemplate{frametitle}{ + \vspace{0.5cm} + {\Large\bfseries\insertframetitle} + \vspace{0.1cm} + \par + \textcolor{hbPrimary}{\rule{\textwidth}{2pt}} + \vspace{0.3cm} +} + +% Custom footline +\setbeamertemplate{footline}{ + \hbox{% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,left]{author in head/foot}% + \hspace*{2ex}\textcolor{hbPrimary}{\tiny Hook Bazaar} + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}% + \textcolor{hbMarble}{\tiny\insertshorttitle} + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}% + \textcolor{hbMarble}{\tiny\insertframenumber{} / \inserttotalframenumber}\hspace*{2ex} + \end{beamercolorbox}}% + \vskip0pt% +} + +% Custom itemize +\setbeamertemplate{itemize item}{\textcolor{hbPrimary}{\faAngleRight}} +\setbeamertemplate{itemize subitem}{\textcolor{hbAccent}{\faAngleDoubleRight}} + +% Fonts - Space Grotesk style (use system sans as fallback) +\setsansfont{Inter}[ + BoldFont={Inter Bold}, + Scale=1.0 +] + +% Title and content +\title{\textbf{Hook Bazaar}} +\subtitle{Decentralized Marketplace for Uniswap v4 Hooks} +\author{UHI7 Team} +\date{December 2025} + +\begin{document} + +% ============================================ +% SLIDE 1: TITLE / INTRO +% ============================================ +\begin{frame} +\begin{center} +\vspace{1cm} +{\Huge\textcolor{hbPrimary}{\textbf{Hook Bazaar}}} + +\vspace{0.5cm} + +\textcolor{hbMarble}{\large Decentralized Marketplace for Uniswap v4 Hooks} + +\vspace{1.5cm} + +\begin{tikzpicture} + \draw[hbPrimary, line width=2pt] (-4,0) -- (4,0); +\end{tikzpicture} + +\vspace{1cm} + +\textcolor{hbWhite}{Building the Infrastructure Layer for the}\\[0.3cm] +\textcolor{hbPrimary}{\textbf{Uniswap v4 Hooks Economy}} + +\vspace{1.5cm} + +{\small\textcolor{hbMarble}{UHI7 Team $\cdot$ December 2025}} +\end{center} +\end{frame} + +% ============================================ +% SLIDE 2: PROBLEM / CHALLENGES +% ============================================ +\begin{frame}{The Problem: 9 Critical Market Failures} + +\begin{columns}[T] +\begin{column}{0.48\textwidth} +\textcolor{hbAccent}{\textbf{Market Infrastructure}} +\begin{itemize} + \item \textbf{No marketplace} for hooks + \item Supply \& demand exist --- no connection + \item No competition mechanism +\end{itemize} + +\vspace{0.5cm} + +\textcolor{hbAccent}{\textbf{Developer Pain Points}} +\begin{itemize} + \item No monetization model + \item No IP protection (code is public) + \item No reputation system +\end{itemize} +\end{column} + +\begin{column}{0.48\textwidth} +\textcolor{hbAccent}{\textbf{Protocol Barriers}} +\begin{itemize} + \item Custom hooks: \textcolor{hbPrimary}{\$10k--\$100k+} + \item Development time: \textcolor{hbPrimary}{weeks--months} + \item High audit costs \& risk +\end{itemize} + +\vspace{0.5cm} + +\textcolor{hbAccent}{\textbf{Ecosystem Gaps}} +\begin{itemize} + \item No standardization + \item No multi-hook composition + \item Unsustainable economics +\end{itemize} +\end{column} +\end{columns} + +\vspace{0.8cm} + +\begin{center} +\begin{tikzpicture} + \node[draw=hbAccent, thick, rounded corners, fill=hbSecondary, text=hbWhite, inner sep=10pt] { + \textbf{Result:} Despite v4's power, the ecosystem lacks infrastructure for adoption + }; +\end{tikzpicture} +\end{center} +\end{frame} + +% ============================================ +% SLIDE 3: SOLUTION OVERVIEW +% ============================================ +\begin{frame}{The Solution: Hook Bazaar} + +\begin{center} +\textcolor{hbPrimary}{\large\textbf{A Decentralized Marketplace \& Infrastructure Layer}} +\end{center} + +\vspace{0.5cm} + +\begin{columns}[T] +\begin{column}{0.32\textwidth} +\begin{block}{\faCode\ For Developers} +\begin{itemize} + \item Direct monetization + \item IP protection via FHE + \item Reputation profiles + \item Professional exposure +\end{itemize} +\end{block} +\end{column} + +\begin{column}{0.32\textwidth} +\begin{block}{\faBuilding\ For Protocols} +\begin{itemize} + \item Instant deployment + \item \textcolor{hbPrimary}{\$100s} vs \$10k+ + \item Pre-audited hooks + \item Multi-hook composition +\end{itemize} +\end{block} +\end{column} + +\begin{column}{0.32\textwidth} +\begin{block}{\faGlobe\ For Ecosystem} +\begin{itemize} + \item Self-sustaining model + \item Quality via competition + \item Network effects + \item V4 adoption boost +\end{itemize} +\end{block} +\end{column} +\end{columns} + +\vspace{0.8cm} + +\begin{center} +\textcolor{hbMarble}{Time-to-market: \textcolor{hbAccent}{\textbf{weeks}} $\rightarrow$ \textcolor{hbPrimary}{\textbf{minutes}}} +\end{center} +\end{frame} + +% ============================================ +% SLIDE 4: SOLUTION APPROACH +% ============================================ +\begin{frame}{Architecture \& Approach} + +\begin{center} +\begin{tikzpicture}[ + box/.style={draw=hbPrimary, thick, rounded corners=3pt, fill=hbSecondary, text=hbWhite, minimum width=2.8cm, minimum height=1cm, align=center, font=\small}, + external/.style={draw=hbAccent, thick, rounded corners=3pt, fill=hbBgDark, text=hbMarble, minimum width=2.2cm, minimum height=0.8cm, align=center, font=\scriptsize}, + arrow/.style={->, thick, hbPrimary} +] + % Core packages + \node[box] (protocol) at (0,2) {protocol-pkg\\{\tiny Protocol Lifecycle}}; + \node[box] (hook) at (4,2) {hook-pkg\\{\tiny Marketplace + IP}}; + \node[box] (avs) at (0,0) {hooks-operator-avs\\{\tiny Attestation}}; + \node[box] (master) at (4,0) {master-hook-pkg\\{\tiny Composition}}; + + % External systems + \node[external] (uniswap) at (-3,2) {Uniswap V4}; + \node[external] (eigen) at (-3,0) {EigenLayer}; + \node[external] (ipfs) at (7,2) {IPFS}; + \node[external] (fhenix) at (7,0) {Fhenix FHE}; + + % Arrows + \draw[arrow] (protocol) -- (uniswap); + \draw[arrow] (avs) -- (eigen); + \draw[arrow] (hook) -- (ipfs); + \draw[arrow] (hook) -- (fhenix); + \draw[arrow, hbAccent] (protocol) -- (hook); + \draw[arrow, hbAccent] (avs) -- (hook); + \draw[arrow, hbAccent] (master) -- (hook); +\end{tikzpicture} +\end{center} + +\vspace{0.5cm} + +\begin{columns}[T] +\begin{column}{0.48\textwidth} +\textcolor{hbPrimary}{\textbf{Core Packages}} +\begin{itemize} + \item \textbf{protocol-pkg}: Pool administration + \item \textbf{hook-pkg}: Development \& marketplace + \item \textbf{hooks-operator-avs}: EigenLayer attestation + \item \textbf{master-hook-pkg}: Diamond composition +\end{itemize} +\end{column} + +\begin{column}{0.48\textwidth} +\textcolor{hbPrimary}{\textbf{Sponsor Integrations}} +\begin{itemize} + \item \textbf{Fhenix CoFHE}: Encrypted hooks for IP protection + \item \textbf{EigenLayer AVS}: Cryptoeconomic guarantees via staked operators +\end{itemize} +\end{column} +\end{columns} +\end{frame} + +% ============================================ +% SLIDE 5: FEATURE 1 - HOOK SPECIFICATION FORMAT +% ============================================ +\begin{frame}{Key Feature: Mathematical Hook Specifications} + +\begin{columns}[T] +\begin{column}{0.55\textwidth} +\textcolor{hbPrimary}{\large\textbf{Hook Specification Format (HSF)}} + +\vspace{0.3cm} + +\textcolor{hbAccent}{\textbf{Why It Matters}} +\begin{itemize} + \item Objective behavior verification + \item Formal state machine definitions + \item Machine-readable specifications + \item Foundation for AVS attestation +\end{itemize} + +\vspace{0.5cm} + +\textcolor{hbAccent}{\textbf{What It Enables}} +\begin{itemize} + \item \textbf{Trust}: Verify before integrating + \item \textbf{Comparison}: Objective evaluation + \item \textbf{Slashing}: Proof of misbehavior + \item \textbf{Composition}: Safe multi-hook stacking +\end{itemize} +\end{column} + +\begin{column}{0.42\textwidth} +\begin{tikzpicture} + \node[draw=hbPrimary, thick, fill=hbSecondary, text=hbMarble, rounded corners, inner sep=8pt, font=\scriptsize, align=left] { + \textcolor{hbPrimary}{\texttt{// Hook State Model}}\\[2pt] + \texttt{States: \{Inactive, Active\}}\\[2pt] + \texttt{Events: \{beforeSwap, afterSwap\}}\\[2pt] + \texttt{Invariants:}\\ + \texttt{\ \ fee $\leq$ MAX\_FEE}\\ + \texttt{\ \ balance $\geq$ 0}\\[4pt] + \textcolor{hbPrimary}{\texttt{// Transition}}\\[2pt] + \texttt{beforeSwap(params):}\\ + \texttt{\ \ require(state == Active)}\\ + \texttt{\ \ fee = computeFee(params)}\\ + \texttt{\ \ emit FeeUpdated(fee)} + }; +\end{tikzpicture} + +\vspace{0.3cm} + +\begin{center} +\textcolor{hbMarble}{\scriptsize Specifications stored on IPFS}\\ +\textcolor{hbMarble}{\scriptsize Verified by EigenLayer operators} +\end{center} +\end{column} +\end{columns} +\end{frame} + +% ============================================ +% SLIDE 6: FEATURE 2 - AVS ATTESTATION +% ============================================ +\begin{frame}{Key Feature: EigenLayer AVS Attestation} + +\begin{columns}[T] +\begin{column}{0.55\textwidth} +\textcolor{hbPrimary}{\large\textbf{Cryptoeconomic Guarantees}} + +\vspace{0.3cm} + +\textcolor{hbAccent}{\textbf{Why It Matters}} +\begin{itemize} + \item Staked operators verify hook behavior + \item Economic penalties for false attestations + \item Decentralized trust --- no central authority + \item Continuous compliance monitoring +\end{itemize} + +\vspace{0.5cm} + +\textcolor{hbAccent}{\textbf{Slashing Mechanism}} +\begin{itemize} + \item \textbf{50\% slash}: False positive attestation + \item \textbf{30\% slash}: False negative (missed violation) + \item Challenge window for disputes + \item Proof submitted on-chain +\end{itemize} +\end{column} + +\begin{column}{0.42\textwidth} +\begin{tikzpicture}[ + node distance=0.8cm, + box/.style={draw=hbPrimary, thick, rounded corners=2pt, fill=hbSecondary, text=hbWhite, minimum width=2.5cm, minimum height=0.7cm, align=center, font=\scriptsize}, + arrow/.style={->, thick, hbPrimary} +] + \node[box] (task) {Task Created}; + \node[box, below=of task] (sample) {Operator Samples\\Hook State}; + \node[box, below=of sample] (verify) {Verify Against\\Specification}; + \node[box, below=of verify] (attest) {Submit\\Attestation}; + \node[box, below=of attest] (challenge) {Challenge\\Window}; + + \draw[arrow] (task) -- (sample); + \draw[arrow] (sample) -- (verify); + \draw[arrow] (verify) -- (attest); + \draw[arrow] (attest) -- (challenge); +\end{tikzpicture} + +\vspace{0.3cm} + +\begin{center} +\textcolor{hbMarble}{\scriptsize Powered by EigenLayer restaking} +\end{center} +\end{column} +\end{columns} +\end{frame} + +\end{document} diff --git a/demo/presentation.toc b/demo/presentation.toc new file mode 100644 index 000000000..e69de29bb diff --git a/docs/helpers/DynamicFeeMock.pdf b/docs/helpers/DynamicFeeMock.pdf new file mode 100644 index 0000000000000000000000000000000000000000..658080a5714170b126614db7c3bc4868579132e2 GIT binary patch literal 162004 zcma%>Ly#y65M9T%ZQHhO+qP}nw(U2zZQHgz`AH>}MK h>j75D}wgq+^95 zonIbVhhipRAh0*Gg5u$UqL(qXGk38dVB%n9BluqdMK5M)<6`PWKrd!v=wd2jYHV*} z3dP3<j&`FpEB5Rc- EtUWcD}N z^m6=Goi8U>FUOag05ZhCh$o7;Ml*p *EHE9trSCk$lf1Pbcrk z>v=iO26+(SC`r2^A|=8go3a{#%tWw#FThbO!13L )V%t45S6fO_`>8 zP;q?mv9XddKmm8S_8bU?{7MAGibZ0 `&}uP+ZH-Rzp#laHS2JF?`i zVNg#U=lxm%X_N&Fy2};B_r)fi8y`yAfV^Rv>CnJfiWEwExCoQE8fD9B45O6toSDWu zL>fd$DnbM+yba-hf3h>!IqZE0 G7^7xPG#f^|RBdDwj!Ea ^;k!U-b0Z=DwR13Mm_8Q)@GRF^KQY8DO6PmnmT95G-7;gf@# zi($B^Pyx%RtvoKw!h^A~abA4*Lr%m;FC+yLr2)jb=Gz)NeC=w5NJMOrH_8bxQwtlD zUfb2y86uXzCV-ddzpYVke1`-I@a3w`Lg0e&HrN;*>7rbaXhyixN8PCL>LzV0Rsnjo z4 70&c7t?y}i`VQ6!kD&vYDTO+ eFS^0-uwE(Xvp~b8oywZx*^>4(tAq27cHX7K9jU)w`$TGwu zgC|bb@k;{saO`!)?SOmRBsf^vn~Ag2ZJjd>d)2)#9KXx7Ro3sT)rugh<5~u3VOSIz zH A)T5gC zFa)$Od-7qe=+CPH !I}nVbl(+Hu`NI9uie;~6 z;6lcVTL`16lxq@U9T^*=xn5w9N+H6kY7e3wrU{#}7q z&kPn=ngz;mAJ9ErNVP?@Mo_e$LZH1Bag3lyvu`tz7tS^e-o *WWx9f8j8`UIPqd!gtKOPuZAVi!(=>FH2U=gZU z_xS20uullmD1hILU@5^VA68h8Qpaz>Uepa&4O%2pDg&$!F-{=Xu~V3WA0pM*gI|IPUP8M6dYqdNGCfj(3}F(riRTVSXnMip!i41@Ss$E}k+ zz>bu%St=wbN!swI6l|9kv!T%$uqf~7DgZ@{rDCPDOxwuuWmvwVX6W^#NV-b?P0u(t z%+(Z$4NFUSp`i2A-?7&RFerc=l$z}EUj*Vb;+`40Yc+uaEYgHeyQM@Bw#btJ0R-fW zCG^?2TPTZ}cDxB(@YbTl)hc`Hx2$svvw%OPg n%ckk0#$xm cIYyA0T|`^st@WMv$5HI`O_PWP9Ex zmqx9+%ax{Saa>ubvk6{v&y!BV1t8dh{OVg31o5xg2)n1+stk0`9 qqo%p8Q z?b>XD50nOKUYt7ws*Nl8ko_QWhE*2|ZY2FXSQi+hvwqF7EO`ZPhvKgpa=a{gbLlO> zzFY~kZ%Dos)e=Jclx$f=D9z(tH=eM$ud@~u<_cmFAioF*SU#s$9FqxDS^2*0nrNz+ z?^v=6Q%7sZE{$N*&B`0RLjz;sS2<(j 8*jppTsm(kRE-+zpnM3zU9?=Uyh z*X$cB^DEPi?<2g%#_-KM^%hu5768Lx2k2XS@zJY>%o_oGm}|S7A8(8#H(JU#6cLJX z+IaA$b)7_kD$1 r->{hFT~$JU9VZ1oY>M!Galmc-FQb9|ADQFOP{ zbMgv&AwQNalPAjz_^r9re9{CLtsN6jjh1`b2TjI5zk6r)9i@x0i?gPVXGGZsA$nid z{E=`DH>kTa>|C3#vx>xkaM!^ ?ib|j^dMR{)ZEi=u8YOxWC&Qjka*pnAsm5hKNrCW5eTRoR|!gtvl=F=4? zygFNxW`Db?&ZxMWmxAvfFyW)$`K6%e>7|1^IkEb5fU<(d=!ivvf$4=e1VF(yb=-)a z0ElPktwNX--CdcGo-`2uK~%-Bbsc0>uAi^!=CN1F(vun2m-mHYee@eu_0n(p8&~zN zfw5aV2*7uz$eSJMu7zaCR7>5hE;7HI%ieB^g7 zS#MldG#K$R-zK5bg}9 XaVi{-6}>R1>hxGnw&r7a=+PZoq#yPzN~?phhnwvitu&hjf>#G2_yEM0R zKxQc{L;(rq-1+sX3_QSQ=C2_{iz86q2QWV{t!==lJ(zzQ9Ee0z1wep3?(a^1a%6F7 zPcw3Ha_I~{FVhd==}iXdwaiF=Ybyb_Ie7{HC32e!NM?6#7x&U$y0tC1+rOuG_)N{s z%&eb6l9G}-(n6`XcWHms zD5#)afIJu+9Dp!2IMV=VXmV} eUrZ2<$o#PA9t7q zzutlt0Dsuhh~I1-1OPAm!F6NP12&JZ;U|Aj?SB`KfA*7q5s!ad=YMTPlIYmk{4dM? znBRZrfvst5xBlAQvUSl rXaK;_%ujy{J+|qQFI!hb7q(=7DuKIc zXa34k>zM(vf9p)EZP;L3TtGXCyL2D18~}JU_E#2APG8PZfHE;|250Q({o2lY0L%@< zi}>uHY^O4Z{t>@KcmT=6{*lqJ{UlHNhh|_5lz+lC0Awrv=QBz-_(tFim4CuI0A#g) zNORbLe}!$=qkr?-ZpnX0W7)GHHcxI0e~I6Yd@^N!LTCWU=lbJ-22J1Sy&qfO(0f5! zzrps{gU|Kj_S_R7zv#WL=701))^i8?@2mMoefPBWOMMB*{m0+`HP=t{-_=&m{1aYk zVcPr;v@vh}5C3$UBBP6swyJOESbees{_gYdR1wBuO@dlj;MoqI+NvJxyQ+~0T};=p z(K8CSm!yge?=_sh4;}-+@a2^=Uu}mT#7O)qu#H{CgFdx9GM_h&%$;$445VwMu8Pl+ z4O=dk^{5vQN%a0icI6W{`HVz}z+4Y}=gh(7W%aGk&Boz0CuzXZ?O0B5uDRFrDBCuB zlTsJ%p1i5PQgfWf Q*Oo4CC?@@#lUOLWk~qwrQZkIX(wU +zj7bniyNJG z46i>foc+X8MiT6NQD<4}_DI4Ex#j0)OPH^qwQYdc=>5GgSKW&&%1bY{gPSC=r=2-k z 3 z1@N3{Ohf3vqiIp|Qyyr#<*MgUm01AKKIK;6s*dN9Q-J|d (OTTxlqG$B9J?H?sWczc;u{#ycVvgT|kvEyLyF zOsVw4j98
12T{ZtTgI8xzq%6$JT1lSKDp15LkQLRHY NfN?DTFb(DwG&uuAU^vcFB8>Ox#}r3-iM $*q?+LdqHWg#A1Mo`AIU? z8d~@=3x}?7M~9g437vA20946g7%G+Xj`uVTm0}V$I_sKSm0C7qIqZDzVSICy#<)_$ z ya++ z#=Ik1dseq+EQJlmY^I-f)cS4?(SPL2PKtbb m?2Q@ zWn)=UkP$6&Lk#sJPikOoq9sP{Z)P?7{JaD}|C!E3Dct z8L}CXb6nZ*44-i#`@EcnsZrP*6W08SZR 3MlPV1rm(@WwZs!Q!t`&gQbqNDjR z?fw=Rfjpm>ohfp+V>`Z9gMd0+hD6mpHmt84B7Jt@Eyq>Jw1UtQ@eEcP>-+ZJG8?Bh zYB2%ZFdleDwTiBiW#vo*(=7>zfhEvB3f%U!XsGahtpfop8@J)~dN`_5bxUD7xZ~Ui z2q&vNg3oYOwcQlv{{7o8H1*PcTZ9Ayfos)PU6(&HOSdB&47yWZVGIWNJa(QjD}ScX zeUSGiBCF8XRxFh;Q*iqHkhO{Wnj^=O=&gv9WX}>(p9)8J94sM^;d*mTx)iLvl(#a6 z-OQL1g8yrXTlf=UhCga|ft~t!=oWP_PL}3ku3mv?Vh8HIxf Q+6|z5Q1#xr1+~}!aPp;cK&(IFl zZOZ@_ v*H6K*3CwA_Ahu6ZqhjD#y1Rl zT1@3L)#b;(n~PSrx$zLwOv1+ivVUvBbBuOnG%6sNlKWEdR)EW?ZBIa4|3q2cZtFvN zzgx10ywG8Ry5p}nq=?pn(z})Wo#yA){J<%p +eNYNZGL*kxDcud^zwK{6S;Aajx)It-4?vH6`L=zb=eZvSi z@flETl Lb}{e83uk9V!|e%(WTQ zau%^|2%=U1`;gl)La4y=j%^0} (RbPBJS2*#N^)uRU~u; ?W86Cq%BzE*AaF5OIjh`Ofa0jVcy^=jpfR(QP6oQrmMlRZgjw&LYm++ zVx~+n>woCRAf57dk3C@m?eHdK0?o_6tETiV9e^?a&C}%SaVr1uNIVk_b mn;!d&l_qnGEjt` W%TduaAWbWVVMT zVU^zosIM lXm=7-@XQWQXbkm$5lSegca#0$D>Qh?Jk>@ zjDIW~RH;$IZQ>Fp1{*WYE|u7PQUf2iuYAYs5|O5jCft~%V0bi2I9-zHb{lPq5QKlE z?SV_YI|9Rjui=34@+^=>QDwC@U4WnL5NOZtE55d(kZ&ccYT$nv>w@8$^Oq&i421L= z+ucLy9J&*zJE5r>OQ%(G0k8f`$%d9za+b9S<3GN FuUFS?J$ zV1ooL+5vx>wlppDbVS~9sH%N)^pR6=;%Q-LJa&$e+D}0BI)y& #*4nqaV34o;>`fKYGbxex7=+ zd3>;E4SJ;;zskqIYUk Zf;2dIIU4+3{%kxd~7;wf|wZA(o8V|E` ztD82ARG#$5c4^7+HprophWdo*(Oub^K0a0|$Z0hL-a{NuL}lf2YLj~wO0m!ru6I|A zPEs4S$uCBi>ElxstB88uamnX+d)QMRWT|Mi^N^{F>_ h_ zb`3EuKHVWN4;H-uQywL~tS33FH}2dRlfIypR@&a*ZRsxrD52gbL|C-=wp(n;HGgdy z(A@m#EE>Zo$lmMPLRcbnSHOZ?MsqO~sl=5Op(v%eRSX7JCyCMx^ABb9>Flnh?~~*Z ztRIfV2UpO!7Fp&i1CcgotW%WY5#z}mW50}UP|P)DuNq=xBWb{qH3-NSqYtfv9!rQ% z#MC6~HdINGAz3c)?l4E!<;qNDR1BY#1#CRx{!8pxVy!r*L6=mI{%(>gU5-Or>L1!* zVxMuf194H_>SM7&=Z3-u5*pEreyVYfXS9|Lw2jp2iA_TDCF|AFonLMxnj45Bdf|oy z-u!E*&!LwVl)fIzq;OrUI&zUs(=!fakNa!LylDFf^JyRXu@XYNeD q1Pzzjx&Fq?`7Im*xEEvWPwJC{ppu8SQN z8(02}`%|(=Ra+0$8hL%6e7H~v9T PKY@G-#xO$6LZA(ej6`^|{Bo#K1&SyH>2 zr_=c~YI2hiZO(uR4>oP{_DkKJ;@y*#KXL3Dj7#WsVi4!YGk6^Mt$x_eX{nK1jnRwF zv(rW9xih8^#8K@LGK=QdgW&ZQ1-wNy4NAh!e%fNl>8N` mgMw7%(!ktZ zr!I*BEebna&!Z8kPT94jiEr>*DzEzE$#GXQdhM(8T#-(os^Md4WY4eqor&GA+(B+d z9Z74LPW378>T|z+%0mK=PSg=Pey@i(ri**10OaQ6+c@>@{dOn#U(F5CyI&9hAOPKb zzifgP&q4$QeWO zD9wYc>s4eCEauC!lGk9z NIFv0On-D4@{%vkcA{52tRsV-7emj0NlCzs9B zM?sJrPVqcW;rO5+xiPtqs~y;qxnFgZpJefbxaoqLjuz+`O69*LMhE75N9dt{!oaje zSxU?L?6mHC7q^orR+0D6?6|ijP%4hQ5UNJ_nZgEPz5=TFX;i bQ>A0EmtaQ@6_UkD pQxlH|0|dr=Hs(uj%P9Tg9YoZK2f$(wt5APUPwH z6BtYLo1}o^K8;qkh0@t vn=ZgQ7!&j^MGyUau2&@0KXjRlsu-=6& zu^bG3CcM+|q;$i_)wfwP?K*W5)ObAvd{0mxDVmFbDm43NW{Xw^PD@7By|>uuLC}sX z`*3rD^=r7|FcUu=&FJ>K?z9LK>z)eR$ARNOM)QmlmO*5Sy9`l?ar^Mgg&2lc9E=uR z#H!5U3tuw_o)2qLODU;Z=Otj{9sO9& j_ucgXM#E=TqDMrH2HEUIiTf^!+U~{5AYAjU z@|4qs5Z>s3!*jiwPe!)=iG)^dz&~4$jXBFhsPYVhwI95w$ln`P0!^W|GSk@0e3wlD z<3BR+lI?{K9s+w#K<_BPT)~#tS7EiMfhAJ1 C^bZ67EG%tiwd+>(3cg z5U&x#og~Wxv^EB#-K=3!#dXghy{E=#-`{&O x$HExcx`EYPv(6m;d9XFixmabcw-e!$HU?P()`el!%j zgpOYCW~dh&G$)!lrR=$g`hNJtlvAH0OHE#OfMA>pig?y0%os@QVz8qV8Y5L4@P75I z7$uQfVkICAmYSmTg1jbLxGH^h$ud0s;N!nCxBqmEYsPi(u*vztD*6IgSnY1;Np0TS zuePDY?tW)x7bJ-O^@$_Dj7AvuL>06K-^n637ghFsfr6NtoGp%33e~*4om@dOF^Yss z#b4U^y3de<*)_ufzned8{${ZsQ`ek|00H0(tJUjeydQmY&aZ!q_L0ye*GJqY9DqW- z$q2KVm~xWmb?b?TYxL57Niokl&~NepJ%lU361 XI4aq(?+>!>^%6(59j<4k4#k2f%e6}=Y`7-{^prL>{YSS~-9!Rjq5(Mb_ zC63%P8b3U6%B{iae8MhR!aq&cF|M@;;d@UJ9Q`pmqdta`dt2Ez#-*ihKU?yaQ>i25 zH*FH>w*6p8PK7Cv)P+RPOyT?Ps6eEN0p55+_bnQf@XpP_%_w~|-*Si;c$QpItdN`q zhVo{`tV}K9w&U)5XWKGpGtI+@IWi;sRWg%eS=`XW%#@{Wms_4R%G_2&^LD4+i2w5` z(|cKuw)<#h*h2#ILz9A!I0~1E)89 XIN#~`rO8b{E$bj{AQb-)JXjER8oSY7Y2V=B zU>u!%W*i$qCU-LC@z>1UeD=Ws- gt)s z dv{pWeSc=-CRX>Pd9fGE^E#K6BKwCsA+DrT&1aFa>7yQr#Fcy* zhB}&}iasUMZ5;wTU1&^dA0xiKV&B_4T@-Pq3K|~S??8mU_;CyB+}05de!7l&o|*J$ ze+)7wXtJDA&cbOCm?8I$*X%AE@`M=#u^&!>|M@v^!`DI$6@$S1do+`;tJ*4$12f4_ z&e#a?dFdPa0^8oV1W`!yENc5mIOFY4rmbYke^LW-)P*0sC+~a_X+t|p=sk26MHz>$ z`Y%W^671`Vp 4PXL7DA8LL9l|7>Lmc$9^pT;OF-cYRD zb5kv`8w|6gkGufMk#y?T=46rmp)`>A>PwXiiXScQU S6-MJ7Fe!#mj+m~n? z(_v#w*LB8Oju8(Z^VW$A4X8AxEV-kR C03S(dM!bB1^i7Eo$7%47{b@25a zyeJ`>%RWA@5mt+m^e<@isG#9tBe5dahAe#6lt?xGeB~+c)Vyt4Mx^MK5D8z3dP#lC zx;<&)&pdTH%7=a3n)8`)qF)%KU^a5F3FF~$f)QuM04sc$|FQeC+Zd<@M86r4|5BP; zQsFCrj1yQmzgZIO$qcIF-4VD;xr(M}(u>=sHPQ;^(H;^wDKY&qW*Y)K_FlhiE~AdS z4yrr`qrj z=EA(aBP~SY3=e zch3joRT(o?; ~9}P0nfFx1OT7jsfYgw-v5A11R5Oq#poIk?F zlnUBX!-zhQL0rH0nXccAb_k`QL?<%aLZcGsI$Nma1mc^kf#zw(g;zDbrGhR+3_FKU zT~Sr+q@1shGI`7l@pO2;TIZtlx;+UZ<42VlA>j=)rZ0}x%!htTYsl Fw+S{mgKo2&totQk!O~&o!PsMs-6)wN}N#9J-FoF zcNrqo)uZFUni|d7G%R%`>X7@Zul?RQ$5_J~&!IYGp(In^F9+IW0&!!o(PE}`HZ@W8 z*^?C3M5!cQT^-54k3zf8P7yGk!sO1 %U__MZn}b4Ru9 z QeAc>`K|w#vc9nW6vYRo|*2u6rvu!`UkJX_iNG=RecgB^2;=y0Fq z5-xM+Em&Oyj4u62)CZP~+$^q*-6797FJ_sJGI8rBq5|a?LErLAGR+=X^?k&}@K?^L zl2cInpX<(?J`+9L9*Iv8XO@wAYhCo+gvT_kdA`Rk%l|A3{0i~h6bEacTQn3v6M3lp zQSv#$)v9RfEU##x#H6wJ&lLRIp+eoMz8tJfTr8a$8R)Gx@}h~tJ>tMn3mE#5M+z;W zr?3Wxl(C+$Ed2Pj#MPhpSkg*n8S>?>w2y9QFCzY()Y~A{2o-q6{0X)l0=e()Y%Z+q zoWRyow3vmheBQG &`*SMqP9%0g#e+K%ie{ mCY4{X8?j$P6ote|5LCDwyJhxF}W&>K6<>h_yRU2S{ifwnRnNvBF3e# zDIDZ75|$dCA{PC%bpo!gHfY+*UsuPUYAbzU8ll6L*+jiouPwJUbjBCllk(hEXVw1V zzgLL)hs-bHRgAdEjZ_h4>5z9fMkt|+1J(vw(`QbSSKlC4L>-}JCM^2d&;fO&P5?#r z@KVGCnFo>3Z8+g8Az3;?RmF{_x8ZH`_Pk~v`U9on8X>(>WcPVom)Q9dLC49wW~8O> zksj_?oIq^M!dvC;UFH$>klnj(=U@S8TFKQ;fzH)$-m4g5*Z=vQY zhsxNZ