From b550356f141ad454a68de9753a7f0c15aecf03e8 Mon Sep 17 00:00:00 2001 From: sinaioutlander <49360850+sinaioutlander@users.noreply.github.com> Date: Sun, 27 Sep 2020 22:04:23 +1000 Subject: [PATCH] 1.8.0, merging Mono and Il2Cpp builds, adding BepInEx support * Project renamed to Explorer to reflect the new scope * Merged Mono and Il2Cpp builds * Merged BepInEx and MelonLoader builds * Some minor changes to accommodate for this * The release DLL and the config file now use "Explorer" in place of "CppExplorer" for file and folder names --- README.md | 76 +++-- icon.png | Bin 25647 -> 23670 bytes lib/UnityEngine.dll | Bin 0 -> 1435136 bytes overview.png | Bin 535827 -> 490305 bytes src/CachedObjects/CacheObjectBase.cs | 47 +-- src/CachedObjects/Object/CacheDictionary.cs | 22 +- src/CachedObjects/Object/CacheList.cs | 21 +- src/CachedObjects/Other/CacheMethod.cs | 11 +- src/CachedObjects/Struct/CacheColor.cs | 15 +- src/CachedObjects/Struct/CacheEnum.cs | 4 +- src/CachedObjects/Struct/CacheEnumFlags.cs | 14 +- src/CachedObjects/Struct/CachePrimitive.cs | 27 +- src/CachedObjects/Struct/CacheQuaternion.cs | 13 +- src/CachedObjects/Struct/CacheRect.cs | 15 +- src/CachedObjects/Struct/CacheVector.cs | 15 +- src/Config/ModConfig.cs | 2 +- src/CppExplorer.csproj | 128 -------- src/CppExplorer.sln | 22 -- src/Explorer.csproj | 301 ++++++++++++++++++ src/Explorer.sln | 37 +++ src/{CppExplorer.cs => ExplorerCore.cs} | 101 ++++-- src/Explorer_BepInPlugin.cs | 141 ++++++++ src/Explorer_MelonMod.cs | 37 +++ src/Extensions/ReflectionExtensions.cs | 2 + src/Helpers/InputHelper.cs | 9 +- src/Helpers/ReflectionHelpers.cs | 51 ++- src/Menu/CursorControl.cs | 32 +- src/Menu/InspectUnderMouse.cs | 2 +- src/Menu/MainMenu/MainMenu.cs | 23 +- src/Menu/MainMenu/Pages/Console/REPLHelper.cs | 2 + src/Menu/MainMenu/Pages/ConsolePage.cs | 30 +- src/Menu/MainMenu/Pages/ScenePage.cs | 65 ++-- src/Menu/MainMenu/Pages/SearchPage.cs | 59 ++-- src/Menu/ResizeDrag.cs | 23 +- src/Menu/UIHelpers.cs | 6 +- src/Menu/Windows/GameObjectWindow.cs | 121 ++++--- src/Menu/Windows/ReflectionWindow.cs | 47 +-- src/Menu/Windows/TabViewWindow.cs | 8 +- src/Menu/Windows/UIWindow.cs | 14 +- src/Menu/Windows/WindowManager.cs | 12 +- src/Properties/AssemblyInfo.cs | 11 +- src/Tests/TestClass.cs | 8 +- src/UnstripFixes/GUIUnstrip.cs | 157 ++++++++- src/UnstripFixes/LayoutUtilityUnstrip.cs | 9 +- src/UnstripFixes/ScrollViewStateUnstrip.cs | 5 +- src/UnstripFixes/SliderHandlerUnstrip.cs | 4 +- src/UnstripFixes/UnstripExtensions.cs | 4 +- 47 files changed, 1230 insertions(+), 523 deletions(-) create mode 100644 lib/UnityEngine.dll delete mode 100644 src/CppExplorer.csproj delete mode 100644 src/CppExplorer.sln create mode 100644 src/Explorer.csproj create mode 100644 src/Explorer.sln rename src/{CppExplorer.cs => ExplorerCore.cs} (50%) create mode 100644 src/Explorer_BepInPlugin.cs create mode 100644 src/Explorer_MelonMod.cs diff --git a/README.md b/README.md index e7d639b..b02b6eb 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,20 @@ -# CppExplorer [](https://github.com/HerpDerpinstine/MelonLoader) +# Explorer [](https://github.com/HerpDerpinstine/MelonLoader) [](https://github.com/BepInEx/BepInEx)
- An in-game explorer and a suite of debugging tools for IL2CPP Unity games, using MelonLoader.
+ An in-game explorer and a suite of debugging tools for IL2CPP and Mono Unity games, using MelonLoader and BepInEx.
-
+
-
-
- Looking for a Mono version?
+
YhLw)^BqE+0cw!Sf2fOv(o6;VntZ_Zp+u2{L=_Y;W( zb7rkgp9+b@q89kc4Od_L;O=|vG6SC|9j@y`;R~A1ObsK*7U4F2;o?3hp@hT zyW<#p?lgK-RY_S1tu3vj(`jCL@g-)@oEZT1L`k3b6K%=<_4E@@J%9dpF6>!VRYed4 z^zGk|9@W(>Te@@{Fumi+lgT8{|MwZ*di@O#Xdn` CkNHA~CT+Te@t6|-mx_~GKX2a#ZB#I|#|NbLOmn^;a)*Ej=^Cy@8 zoFE7gLag0?VufMIbyr?(bGcj&m dw$esN(xe`6l}1P5<=j4K5xDGR{OP{ByxjWqQuPiHgfMVTaZ|A zwh~e)*3_<{ZcSZC^l7}1$ac|DbP`09wXMVVu6z24Cr`ZSvWqk6R2r@I+BAvAh6WbQ zpKpnOCgbn g#toGr)w8ZB7se9c=9ES7eTa=dV_V|vQo!!qJ1CWc^-RB*qcKRKlB5`EEEd( zzDF{dL~D&$m%p~&O$NTtvL#C(+B&_;M~4D`#B4!g!P$yPCEEl476RuIP5ccfw9op1 zcgGw(@wjwZSs8_VVQuYXtu-~hdUDFwzAA6J{x=ym9@A4q;5cjF+6|*{E2^rxm8DWC zJkLW2f$w=3V?HtlC-D8Xqc_%4)xA4JqSm(Iiyg *HkvR9@d_Sio_h|@Kl5zGl*#XZo5+Uoff_AZYx?%< z57GPEzLjgAp$G1|+qk6TIC!3iREqk4x_Yd&hDiK2B|L?d%U2*pv~tj4$mlVnDW1Q2 zgV&bS^y<0GfPn)D!w{tuYgVtOp`pPLiL1ZC>)VCZZgBm>U3A+4ipM^4P *L=Vu)}a7?yt?^>iM>=?k@oEnA1`+)olGWg{o&7kk}fTOiwf@L zayfo*@uggS`IR`1gE59oCc}5X|2>pa`vGSce|Ejt5#RF|v&&d^-gOrNi~{-<|EYJj zq~x-rj{Y)15DiBN!Ml?tLA0G|+Qc{=VCB^Jr?j-Twj!m(_kDI9Kb|2w43WT|tS>qj z9rcwj_o=9=LTgPTnPA5B88p;?*J~o9aQ#O=JpiUodw&W+7=jRJV>sZTgCMfayi8OO z?3=*(z&XH~M8@m8fs2SDsAql5YsGv5#DcSx&|yg5etp?-#BiBNB=$-q63-+OiI+Ma zj_bZe +bNKw a_qbR zeoQ>+L`5{o# +^hOs9DF z?MYnxtqb?D){Yr9X7s49fAc(YZ8;K&1WOk$;oiIMHbidSg}2{-a_dgJ?lw*cDe*jy z^Dnx9S6+Ov|I#H(FC=n%uV*0f3I#^&G?IHB_?vj@vB!_{JnyK34n2f^{ri*8 D;*rPxIeX@;)j|qAe8h;J`yQ~r7%*@E7oK-Mp68uHl)n{k zo3uzAh^5q4hOzZEz^3uycdG*DY_d4?EFO$#Z7(Q|YKl#-!x#%0`f2B|;G_XNR zf|Qauvu4w)S8vX{;9K~fPrgt }g+ifP2ti3{DV0?fOnT#O!Z3smtG-MoLs@x$8IJ2>i}5@$pANC$Y&qnb+S=qF zfB%P~7x%+ISRKb<#qt#ZslNUDGwH3jdF7>-kV4}5J`eo$@9hTGr+_D{wWYtk_WHe+ zEnSN5`v@VCQqrw^x3XnRmrbNYeVAl2$&6{!IqQ_u^vKbp)Y<2q%dj1XA*96jJm$}v z&!hi;eu#%2{I^%U#$=*EJ8#YE+Vq`&xE(14uA5-Sv}q8na1_yY>xb{ZH@WiUV~;=X z$S)toJ_qd2;2}dOFOP&)Yt7O{i DYKRI7nY@4D@ecfRuC%l(g@cnqU|#*C)_z=2315mFEaA@5CkhsBE)@yt_C z;}twZ^t&y9 Y=kV)r?(~gbnWWl5!JKV zwRrv{@DHM`Q?S8n3lsL;$4r?w%f2^zx}Cjjk-hfD-&mr|>{=i!D=V{Q<>j`dq@;a+ ze7WMkJxyfvZNG;{h>Xx3&u@r=?Ak@GC-6I>ZJ17HGPb
+0wF7D})G&<8J|$ z5T#Xg%=J2$$d1$TIsuUwoxX`*)kBHu>$C|WY;-@xdn#S;nyo~u!Uu@j-F%J67_K+C zRxNPACa$$fKJDMT?fr;XI9rZ3;5uM`F oB8VpmNa?(HSuT3`h0Y)_(iPg6JXJf1H8+ZV01`!+X!HxDMt z25 FBOlEqQJWQ?N&S-)`?UD(ROHK Inmbd z9wL!#Z`jv )0SaYAfRdOFzNu#cUyB zbNy$7P31qe6Ti W*o2EW<|F8k0JtsCo2Y5q&a7`RRYabolZd-gdu|cp`O-Dw z70zda ?k delta 23617 zcma%iRZv{p7A;QW4jm-8yK8W1G`PFFdw>n0ad(H{5Hz?334!32;O aOZlJ=d5%_n0?ruysFR>)*noadK&L@Cb2m2=VZyFv3&(Ki@Ussc6it`31}^ z1gu%PEO`W3c{zBvS %68-an*{~<3eq3N4@n&*>isI@rMv%m78 z+-d!%^7<8&P*NV$jS5GlEM5|g4~vNN{bOVWzRU%Iw0}ksXr?q{3Z>*WUwQGwxn*3X z{WjlYO>AP!8V?Q$5;FF5*)F`e*uF2?n!7HtU)c|q!jZvO8%PgcS%Sk?lg0@P1*kUv z^T7aJrk}AWlBxx~Qp4Jt-ut8YrAaH{d}GV^EzTRtGNTe)FbX(S6As7LvqAzy%8E@4 zrFX*y!Q-&H;#5S!Fk%O%!%=$z+mU^P6`blFQixaIE55?%F+v##B0(U#sS$>4hhm{v zRD)2CX7}sQjH5+K(f4GPTC+d~tDjTt_CUHfjZRT&g1R0w)f8QZWIbJ?&~X1FMXnPl ztycgWS^k^xU}O@Uo*i^R_iH~0i@Mj8+%!aj0*9@wZ9^t1k}F)BG-?J`AMq!qU=!`) z*8pRK ??31rf3k=% zs)m!H9Ft Ir@W7B 3ctPqhtsA?{ApCw2DAlGTjw8(`1l|S$47^7)*UeWlts$I|Cv4xv zr|RLs1zG%Xkm#>2M@d?j)Ah#fPgXGA9!|&+P8_~x`%?!>jE_iVs~L|;pUk_c%gJER zyYu;E=V8(*De*rrWU(hE7;3p)v8%7qvq<%J#(Ajrn~!KHQeG^a?b2G0f4i|lGD+vb zW)=V?l$M(M^lKSfl2 3Iyh(wR{nWkw6{VWu3nt6pcrn2*Nn93Lydp z2n7& FI(k zqW&&VadWn6ew$E+ZXR^j>m9vox4_{TF*o4x0Pn-1ceUjbLThl>;H>cv^sRSu(ipCd z>3a-9hoLI{oFHfm3w864ZWj)^_e_|Q9bmF8Wch|e-n&Ctu0z=;Pi~2+5N*9!HPGQ! z8)p~f%@<#S3*Yx!QD*~NtG~N&OI%f%dKtnvPz$RGX@1yA9kUGef}|?crSsH*FQXGg zxmreo0SR`qXAfrJGLt2JqQ=NNq-ba(0flMT)QS_7bovb^buU;rOQzgmnJo%kcPr^_ z{BPBuXw6YvePWyG8J--=N3Mn}Uisp0gr9IKkmq1dgRyLT;kU#Qr&isHx{JRY9W_Kt zXlbp=4u5toW?(!F-5yY7swc(<1PxS;(PkW)DWW9M$Sr?tz(zRg7%!bqV~IZXR0#=b zKMVSFQAOW@qZL2120tY;F;Po5eZUXzq$xseoa2M{TaN16v9Nb eSQ*Fv;httPQOa z@-3oh{XZ#3a+(osdre5^@hj|~N`k1IbK`$9J^$SysWqA9I=>YkE$c~MW S1dx+M%ABnynS)JoP45#%9_j>e7 zn^Gn&PPv779`Yd6AX|t6WzZ`GZy3xd*(%J>hmHI3fe)wW>8Us0Y{}z}n)W?A4m}#s zV4QyEGK8#8lqCFpIxj1GLj=eCb)%FS{6Ak3@D-@_AWrTS*YB+Uf@EY@68P)JM^PGg zC@#gx$n41a9qmy@SBUms^$oWTvkj>^>MYypZ0RDb=LY~Fvw(ZJT}zN&glXs?<45N# zlx2)_KxfwJ>hI*Pz2`}Kgo*Gq9%c+gCT;WSk%;i0wk4n&+XKb2^@Tg2fGAz_K!pWc z#qxl^zw-8#M@WbA2i{iY{|N@!CS@-P5T_717Bn~V@s1D1hSQPlv(4V?wojk*l|;yz z0| gVWjk zKI({dd0I%q2H4)sNnk}t=QHkkLwx4b-az=_&yt>Ix74Nz^W z%T0pKN3KOSo=jkbN)`NFH#M!R<8~Z~`f;fqi!5|C{Z$e{g1`8=kF6+20*j;nC#1$g zp9Hxk%mQlCdeZL4-gUoP9ulWKbpo3^Q*~}EM#^ J#Wgb%T%i0X3?Ocm;+h|)J|}$)ksSrVN+`ie#3aKG XYB&<{JlGn6Ok z?-E#!I3#qoG7duNN*aL*05-w&!Ho+7Gj=e4HG2ZKNQUQRbYfTTbH6cvmizSNIWc6- zA-n(X0mKOMLaJ+`FCNVG*-E{w%_9r1T!%f1G5JOHb%X)b@76-I=_v~v!w}y!kK=3- zI%pdz8~Ua0J}Mf2! +h#>W#k+SkQ3LvcorLd(}ZOEZs z+0Km>LD7ljkB{8~#WwPB>B298q0^sO4}AwE1aVD8refme-C@?wA#7q^Bf|5BBIX&5 zz)a%{G;*X2HdK|5VcNDjPfi?M##lwn79J~f-yk^aY=E+I6ISPfV`7Jouo>Bm6wd0( z;SSrrr4YM7Pb8QDj4C$Rp_Tp73QnxferU7Hz0QR*h6_Shn#7v7Dfa-kZQrNTh8O4P zs}`D2hWU6eZ5oQ9BXt%^qlP#j^y5G%PmR222XQuny qJmL zx;`!J=NS}WNk+k2F$CpKT2Yac#ft9@zek0VnBB|0@WeId{|ONeS%;~*+`d{mS3o-V zely+leqlO1ac^gepa %mq;csbFV {aPx8MVyE&NV%v7)Z3K6;Q%Km1 3INJh6pB9N|SR9n|{bYgXepbGLyU(P=hieUq&)i!>pp;Qo0tUFQ876xlA-|V5 zF2(?CrU_8EO?Z(eBY_=%>?lYQ&$ox$v{1`!4z`Ff7yRTQYI*qGE|Xi0z2LzGMFi1M zA|7z;I?}gK2uiFk;b&S7_h$CdkQAdRA*E}s_fZngqm|}_qcjIm|2EK>nd3-n3CFTE z;0|;2r 8~y`y@Z|3#8Rwuk37)BwO&)?C+^wy-or%xcz;|55G) zl1wW!=rKCvG)?dzPXBssvT@4pe?s-up8){%>lvteG+NZBJ~5bdmd(!ES=tP?{-!F? zX6IvGdyW{$Y^~2$<`yq8V0~8kip9=_-Ba_HG1tOC>(NO5FkLWSO1e`(eTxZMPQX_M z4iAZ^F5p{r?qj{K#w}`A%Xd5UxZaZ$KBAnhPxT1faJvf|eaas>lwLe;kOA_BXIP-; zDUe2=Qq?SDNu)&^D>yNHX?p0!*;w#?ivyyJ7+tD}hK?v9;Ev{3iEfBg*41bl_cKqc z`osX2%zEsy^^AZiCmY@{mKKp}6>0Y6C$cN^V{uM0h;rga`Nn#Ea%pNud;^t;lD3v) z$W5eS)R;?|e1%Fsz1yC{T6C`Q8WrHHv&Z4{^N68XZMjT96YHq+K7gJVIK>(ph!!`- zCrBKyM2)~+)vliZ=xCoLMS5~j9M&1gfPa-~B3)PgjjZ{AkI?bF>6GkFv8Fi4l4tO9 z>s#ty^=)J%Q@6%Jw`+1w@wN$O2*Y$Gt|~Epv_On`iFR}%b}=t%SmN8PJ;1N*`Z-6& zeGL!Q!rFp5i5$t=`7hqHG*nq}?cPg%+ a|eENY*08wE7Wyi^MFd1CX-a{3KzYQE`K p5` zN0Nv%=JLOf4axb`Z+$Fwag>71YQh=g#Id)uu1c1B-`&&{+-}VW1I}7eF$+ZukrO$x zIpdv-8pYG}Zwja5W!tl-G@#Cq4W?8c2Aqa~84JlOQ%vp7VK`0nH6UlHJ4n3Ujq!SG zwK(aA3H6uA?LkA!ehGSXvnUC#m@ocE>(`ey?1^S_&kntex{s3?VU92$_3_Et{O9$@ zSi%ZbGq^ZRd?8JS8jz;AY 0c<&h<|!ODFh6V=0~0#Z#U T-H4w6aAyLmgm^X?qvi2qGV V96L>HI5t6BX=%0JBcIXB`Z`LiAF)6IYsoLr;fD5&v_OH=Zq2uo zu02GT6 2`rF(00Er)en z`re2wA?2QO{FA4ASTX39`*O8X_M;M)JnX2T_)qSNxN|HPJ8KUxV r_sZ=_g z%k(Y|*lCyo@a`y0Ox1 -?5srJ9ettz$qD2rTM&UUPjVyL Qv&u5?hQj;$?TMd7}x&n8+*r^NT4Qm;t=!Ov$ z7u|X%-E<6pfX52V|HHgh750&W6mQYdO4lD{fX!2R=4T5V6o*12<3@`cg?m_*Wpg19 zi0{O=SrC6x!j+uxPSs#-8o)4gxJ^RIrhgftvFR$R_tRz%(C+I>RzM;RASSSwpqO(K z5Q5;98SvLM57>Gp%C=2o{B19`yT~CMw({5_c$OtDb?43T_&x{~CzjHi!~q?i*f$-a zRIfp22rg))Uo#`bg%87qMLnIwjDrpECfnWJZxR=Jg^jqE$GsAP%UIU@>TgAC0*X>v zRjx)X0vU=EH4za_GH=RT!uCMt`)bKwvBJrD6Mv~M)z$N#!iTlYeC9a537AyyV?O(+)%pQF-mNVDw>1an_o|39zgVv>Dh-kz>zZ8s3(5@VMY zfJLCQQEqTpVFKbSYD4U0tQ p?}s(G;aP)z^VVFO2w(dX4pII^EmrMI@i{#AX;g8 z }jqHWn)B-;(Vl1D9Thq zjwjp>%VAC|<}K8O@GEQ!V}+`F^;(cHE8YiBE8Sghr(S)gh0r^t_0%9x8Xdpk$=3YV zFF)eq;?*r3#`js#X4+7)9DCsNqfku@ecYNo9MPBWs@Txtq8z(RJ6QlVHm-YknYIbR z%rzI3#XAbqm~HrxPIAg=!&@^Wy%^zOij>qG6ep?J>!!xatUUBH1EJ;i=TjUGwf3(V zl%Bs>7iZ5X>NTE5Vp$WSI(ZE6v&=gD<^&`LD 9*n zoTY;2DY8ey&$YNuQ (T;2o`tT=pGHz;~6ninnTiTb9Wl0x;CQZ z)leqt>#Rb#m;w|rW__Xl3p82N+sB4e!rEX}-`$s%LYw1=U@+21(0gtE1AU4(7*(#V zGznIXW-tj1s{)jyrp1)+S$G>SF;EVY^?j0>pnx=c(ZctRsB7WSr^41OT7J#!vLI#j z 1k$=R9DU=e6dSuGixdU@G;*mE7;3 zIbchHpf+KGg!Fs8^Lb!+mjmNIJ5z(W^`JQLUJ63}%}y32)SQ+0tR7-8iUNu+88F60 zv7GyB!I)3YOy3?jroPo6(b`TlQHAl$fDI|X9Je*s7$D_e6Im90Y#AoG>5s{DFpxkP z`Ao+N9}gf+@;x?_
rk z#3%2mQ%tJeLj4)bY;9&!E|TeQcE30GlMZ-6WR`%~1vgU8lA4j4te!mFcBc3cz8R0W z9l85x%U7G{c;kq?7zMz8oXw1?jV`=6Z))7v_Yl;t0~3Oc`TYI`ZS_W!AkE%vS8g)V z&M0iotUDd`)LxS dJ!(}I=UDlLqsp0Hp`zA`DMeS|zb2tOf zGMU^!!AmmpOgs!}D!jp0u#h7#P>#BUQvDZNtK7@c2=#k%b+5a_ig<1J%i7b=6bPpN za8~U%`~qqT6m!!CDCCs9Ds{%b4iC2nfY;7 -@1(EQCXpVD!H#%j<{U*g&c-HNTjak1yA&!E5;|1(WcmGjF2U6iL zdMT4D@E28az%oxICOElwjk8Teg1nAS^mwrACXLtzb^Cni3fA19L!+4ETw)>E3YbzO z5E*40g5312fsR>;sLsIFKJ+hfuJoHA>v6}8gi~hg^=AKvQL@kv7(*Znv}D){HX6H< z>r$zmKkM;SUr}E(fP{1Ujxu!|APp|(Hk*w!j89|+C4uC?j<6mu{Sb(pRW?UTe_UJb ze)@(LO)YMlUV<(0)QAoBh%@oJ9Q`uq;m`1wT3)u@DBCW>t;1YdO0}6*O9qU=xS~@0 zLhXJXN;)-#h;*qC7x>#y75g4Cel?>lI)xG(RLKx;bh;{4rkLqDYT7V>IhGx&2zQwJ z5mgqRUcmXP*7@5_Ka_61IJ)`FE9 =K9r-(#`L-kg)l5#djS|4LnVw8_~1 xfh=0w4!yf z`EHd~7jz0CPvV2KJpW35psS>W_q7O~cN0ozOY?R&E| 8sq7nB zDwCbZv}6_JNJ9CR(g!$+ixFgn+M?W%m*G)i*z*gk%kq^BNTQflwHLYLZwNk9t6+nk z9BJbMk%tJ`vO4ezC~Gz~IIsk87{1$M6~=3lcXlv#@tFhY`hsk~5nR180%=+hU3KQ? zJvYGBYC7-|T3!XSk21{clL`rG#$!&Qa=~Ja>8=P<;B(_p9le?NZN!v)U=j*DF)K9p zupnYGBv_-Ow3r3H*V=+w{cxPqQG-P-3tyV4Np;~fzW1Ry$A(N~y4I-oLE3s@^OvwJ zm-mD3=_-MPbwJ+93rmDD((}&+w4`WY%BTFR`KAH7)vV{>PtOZqEv$tIvk!mmE7zw& z&i(GR|2S*`^Gnm7QD{fqf9AnnJEfy}n%U9=eK_hc7z|@?5*X&vd!5u{22ba8Mc@ zY&G4 8Cni!wzdasF#(opd0q2#f zx6loxA^%%EN)Z3Ys&~PYKYasxYlk?`x*oA-;uP|jsazs-ZAj^pO@9;;scLhhrYZbF z1xTxe R9Pqt*^=*9&A{0eOR$}nVi&3=Zsn)a8nV?M!nzXA&QH{WiH1HA?9sNj zuvZUDemqDiQ-_W*Hd`S|vhT!ZVH^X1F>(2GoU8TQ$Dfl~P|Rm*c4DpkNC624Zco2- zXd=4kog)*{nRupM0^~3rE^6Al-A>FR2Of1h*~t-x ~3306^LK>ooD=R7^cjhrBv7YT7W+f_dVD~#7dlS>hy-Xx68xICZ5UeU} z#j%+zod^hoV-FYaCI+S*sroPGS!^DZ<#vHUL|@_sG>3A%`Y+oh+LQa^$5=mJ9!U9+ z9dsx#SSDTyn_eIzvaysPb!-B7bnAMa_9i6OlVlCWSWd`pqMadZOIyGwk 1 hcq-@2VD~S*r1T)_u;P4sGc{vcZnsth4n$HsR3F*0a zyJZJA)*pf-=G~}%t#WdPw&>w~02ddJEbP)P$y%YYdb~Li&Dz^FH2~J}xxcr%y%rT( z2R8ioWl!j*7^C#}SuBNwy4>-wLlg**A?&z;15wvUT+>#J;pWR#`hqlx@Cy3K4P1h^ z&YguX6LPPmge@tDDYqeJC~ZWRF78v8H&xs(1#9zeGcuT&m>G+RXUeKXeX3Z21*Cm& zY%wQJ*bTlAF19RBCE!SX$U92VVy()FX+t9S+8r&RzhHly+x=r*xz|$ad_V~oGK{JT zV+K-i_{dT6SkDPMj2-GIo9{ca!&`?0T^%{{uYPoNkq94;q>$0`BA|{J@_}((Nbk`% zK@YqY2#?OEc5Oi7zhcUr5}s1SR2Kx%Iw^$Wv{U`TeEnk(z&*_8xVlf(;`SP%ZONQ3 z$8Ez3 sI^kR`#Tm@wO&+^wv%WHpG(m>e$RmY z`WtIT|CVzENCzbqhLUs$+$(>e$ryumc)2%pa*e*TFMKs>5A*Ay;mP|#IuJ%77ee6| zJA`&`PR>^7-{PA?6w-#mXB%bzr?0>M5b_R}^i{prm`N?OmqC7Bes?2$l5A8$-E*tA z!zrslcs@KWY%=c6D~J7O zXK*CRMI6v~>R@!>4b{^xy}C^jY_(nmc@F4;{XweahO zjL*qH5PHR$QzK3S_Q$j3^YPz!fGm%8JUUOUn_FCCibZZ{7&e3`)?q4N(hoLdzt}vy zr7Wx@C*9^t8eGgx4xIRZBzuZ4E3Fx|?y`18;f{6`qRGRQFNGK4f+agdr!rO^_ePF| zjbE7p&(f`bDDH7QYUm?)cR)~A^r48PGzqXbT#dWHW2-q@^od~pA~VQOJZLMKM@vE{ z=({ty;ILq$p2~+h{n;2@@Bz*~L4>4Ig2~l2Q2;a`!=^I8&E|Zt$wZ{{0kXXTiSi`V zCsgSNcO&>Zq@cYHNpTT33D;L_b${=PbzrS-Gi*ZK4}XF!#8Ezq7xwe4Mv!i>6#zGv zhY}sToE?O1a33ieuflAC+`g64zY7S&+Oi}ANu#e5R9uRZdJGh_cAkf%0CP#zVi|EP z)oTQ=!|yvK*zYj0;M;c!4_LHsTpGX393N6lkL0(}THR$?+F*u1XRb{PJV=L#gF-oQ z&1i5#rZ6`?EeYA?{K4sU(9Q70K?H(}!W&Vh)cH^KfbUy^C}i}wLT$23W!`Wl)ErRh z(GRcb@Y@jVkc(}sp4a)x!z6zl&_{$Lx#aqhZ=``$lYhR^=XSMiXW@g&q1yC|yQl>d zT;k~2(p^)vbOP*&@51CE|0M_0sKcSLQ1-~$w~7<7*pVQIR^1|eoiJ(A2*B3)4=M6{ zAsxTL82Qs+? HLF-@ zrjU#@X}Ad8IqIWMX(^&Cj052#?DFdUdXEqZ5-{EU(=yO=^35k-Pp`utRMw81Whp2x zHj(Yg{QMXf^|Ub%!A>sd3-o(=4vVk x6fx3Ol=_-Ck7&o7QZ z<+AXOS4Q%{v|Rp%V^IOrd%n_S36Y*rkOa`%+6&jPh>1I%fIFrIq!1U!S`Wsp(TLY6 z3)RopM3a9rC*$SIR_FjK9sVWE*AiEUg`(9TX{55OCX^Jj*xRfF48Hu%Z=HDjUhT(T zu8>kXaBQB+s+d?&6)sbH#oHPE2kY--Lj2Nm^bp>c&nP)hG*HuxK6)I+bJ@&O+$&}n zlMQ}iLn10Qi2*#{W2c$Y^3XO>Iz#h8YDy6W=~U=d N)xvyA+@Eko&RJgrCrWg_2zqTUc4}dfytf)B&^0~ z^{#KYCp*_)=W$iRE>5_lnR1LlQ!2dS0b%`fxB1KHZO~>GyhG0iuN793Hu=eKleGo? zre?j+MEkiC5)2_`N9+RJ$fv5!I%6oTGr|g}t+qGqW29#!U@lKjXnVBoN9agiRnAv> zA`@`0Mw6=?`5@!6wlpPbRd{w*WKN7X-Etg)RO$Zf^a&l_=T27U^*xj!Z0yRE!0DmZ zi_g&L(6jg6XCkd4o_G`D@?stp2ffrm^$1yhDXUga0{Xa~-3IdW$Nrp%xUQWgQ7dYn zk@KD`h0kysKsiRx%qOXw_vsFl@l%FWaQg;>8K8AGRx*TI_*%4ho5=J*UEWjPB^}lg z7#}l-1AH~{|JWf^ZSzRx{GF!})0}MC2))K`O3f9@XUTr9Fa=xBfw^b0uS0svI-ca- z@GXw}4 8(fZ?kdubG~d(?Y#&5m&`Vy9w?<8>6?XgKE$3!}*nQvp zdcb2-H~HOUJp5NT$=ex;=D`Z+jHpDW `#VMqsa7bBbdNObg zk&olJ;BXW`G zgCwzwv}8HJ4zaF7QccYeoNzNW@%yQdv}W9^Ay+d7+#iQkjNyrvfI zXOKE2odwBxB?|*a2rk&L1pkh>L4qsmCg(Unti7w$;vzdcd3rI!=H;+i$NFWxCxo|v zrVWqTEaKcqW~^$^DNTS81&1S~?^m)T3k{G;ET_0dTid)0<`i=M^#}409dPV6y_=(C zYP4mXI{bbGvYM(x9DEKl>9REX_m}K{C`N;uj+mB5>%I?{*%HF1`g$4$S>t7@@v;t~ zxTqjbq=0}G(OvX+Hy<_j-aP=!Gs?`hrtqZ u0j|emS)*%RR|`^gk4y2?JwUt$ ztUjY9sFqK<5lJ(6SW*O^fnWP`QJ|bXwcO1yA1Wh7u?D?qb0xEw{O>h9Olti_j9J14 z&XKy1Rh*~USrrpaHUs02e1kVjaEaj%mXYW;c;lCqb;Q+$zQqq^L|;w|+e((uK@DW* zW5CUsgF=8zvw huE`eeYOkXHhi^R^g53*WPs8Hb~c09|jo}lfs8pF7EC74*-;N4}Rl4 z{ %4tmWIhJ9*}ES zwLtN7|KBKTBcEpWzVN4kVpFN(-ONM3= z{wlTvjt6Y)dom6hOK%q1ep~DUHw<0Si?lz7M8u)0+r^$2rHLc6DF{Lpu %0%#;q0Mo&KH}!@T5T|&;MZlZDF($zW=5#e ;?iles>|{{DL;lh0+vHM`v} zZXo0wWl<0qG1j|;pYJW}y5JEllv9?kwa%9FAf^8MB<#Xr ZVs-7)vFEM2rY*Ncvojvk(BYM6t>s(GjM{ZU_JkW_?(}d&-`EttkJc zHF4r}`92{(=3aL@Af52g5n6J!C@Zk#EbSOm&R>pzIdIu=i=B3lZWi%Ox`DsKE-$RB zb3)z6pJu$=3^S%~IUg)8xTS(o7Wg>WUi+{9M)40tMZ(LcfpCG|qLK0S1nUP0cq$R| z%ksmG=z9T_2TsyKr>Pm7^CB90a1EnOQJ$o!m@Kd;p~>xmP>Bwl1~P}t>!<5mFCLZ$ zN|~8M>3>;}=}_0=>6oFsfFl>=lNJL~F^6s;Tn@O+9plnIVp(?y@A%N;_9kGCzlHVw z;8~8SoB!}^@O#W!zb?G%?UMeI&b-D_H*!stc2Y$J&99}8nBNlKgoGucFPX6jlLa6d zcZFM)h4yOXK~o4sYu$X@0&ejuccZxQyP@fjb#H@2d#CrV^)$)zo>13bTdtbxRLxgT zZvAXaip!w`^c0dU&zPCI+nKI2wB5$jre0XNJG2C@BDg%h)6KK(hX{x)FH8KEyy; zniL;OFF} DQvB zG6M|*DGNn+Wv=FfQ~qz?*xDA7BB8@jg2LogW!=T)Ng?V$CvUXU6=Mro=Gdv3PfZe0 z*rgbSQ#&t x%KU7VeD)2+grD@y-x8YP5^25Bo;8|v2o{nQ0~Z@ zZwMp1*0SxZ##K|5bu;4S FMUI2)|PTYvMuxX0}Y8V&mlnhkPJqv;!7 z^dVhtHh@Gi_u^p2TfiSf2hxu`Y2x=6e^|^@{ p_;y^T+hHic*mm?SEB`H;zH(Sj<-c3J^lxl_TD2uT7 zDDhEj9E$5QAWs3m3nTJ=`Scs(%)3ohR`U`w!vYN0TsG9OCF17TGkwFXeWY?*C?WW` zLpXWfl$4fdzxsAk_`^;QYj{Csj{#^B@#xh##>lwEr2SJ8VfO-*61L(fp-9p{sZ*S7 z`UZx^FMSGdWGfGQ>vUWF3tWr7kYhX!hV|5ua?zQ;Qp*VizDiS68$m*j2O!PWmPe!W zYe2reK@bX}g3!P0ViTl+V7w~X*t_A4Z}DI)PDijLVnweUI20X2lElD6HYZn@ERh%* z`ua$t=9IE_VkaI)<{JH=h)rokj>=X0{&vNGSlpCjsUzo=GLNAyuf!ms#|rrYmN=-l z+>5Xtbij(4(~1!amJ1PsndNtN2KuAEvy%mkwd-i1FESQ!+2#DOLy(lu86!p&p;zf} zqvbBR|K?PgPLKg}YOpf`M5%)QU`Ip$SoJe7uA6AB{>b%)@_>%%q#$O^K&~N~FO-s; zW5@rkt;F_|jP;VoWQ>f4*wg}?KED|X{WatMZrhjSf>?pGer9I-*4u_4E*rdtF-G@y zL+|({I?NC~UY_@RY_gBpcmK3f{8ji@
+Zj(igbamTL^nFSa3d#7k+A7xa{4IV{RFSdhaYh@aL%D?4ZvSsxi2i z>QbxCV2ozH{CHVC;paD0s5SAU{Pd4G?vF+zxF&jbX;jGpC$6gJdAAi6V6Kl4zcAM1 z(nfG84i^G~z{uRH8!PM^GZYY_I*Bx-oX>2EqA$|0zA#mwe}OiWh;pj~!ib`uQ(3^9 z6L#M7?Q^?_RBRUf6PhnL^IC9XIF4?FJ;(Ja0r*wpjm(~+vKYW_HU*X}o|Y_L1r3LP zAM-z$ rmE9tAe{+y|6!4pBUw;9t>iWLr zQsg17!?JRO#GukLd2%>^9Nb0oJuW={o9yiJ^d@l)$`x?TxsSm0;=2 zGL)2a{*Z1F5M+>hZXyC==Yp2?Daz$Za7ql=VCjQkr1$9!{uh$Q9gpE+UQK*2AKx>4 z>tOvC4;uq<^aI!{WPkX;;CyjJRaEKv!2=j!v*j *)rCOSKI_K!9G3^Fj^=B?ouU)bYQ_BDjSoiiV=8rZ zt>>!e9$;;<0}IRoFXjYK$k|@ l*#5penJ^Yo?Lj#otlus()GY$ jhYd#upUZ%JOlnpWU8#UH;4VD`mYMM zMq_m4>%R7^|Gh$ESMfZLLltsw4r&^=%s`^#;le4mdq}-G^jY&$%N!1{k}v-slKfkx zukBCJ&@5XA!&(h;NWtNZpycwF8MsRt8h)s;RKD(WjHSi*VO~4^-lOn;r^EnrD_;0I zvOlMaLD*Gi;i%j#_xVjY!?Fuj=_E1J9H-AMZ?IM_rO57lT$~EUnEzdTcpVQ@7|(Uy zWPhQ5zC->J?F 5Hz!Gbj`L+e-eq_eJ5~NQU&6;Nq8LhtvJX0;Rx% z@Ep(2d2K{PzgieNIosdv+kT{wFW|&uYJJ>W1c0R4$GjR=PaFrepRaRoCMvaet^?Pd z`B%jr)KRFO;GL$Nl}l6y)$}g{qhkKeeoNb}hPIk_y>o;Qv;W2fjR75^(qHfqCOv;z zC&YxaE5sSY5@*tt2&neoWwcETDAISYh+K=c8h+BcOL(;q`v0L{$2ZamT$A6F8^sIl zcdE#v=p%v;DGX8CHXsO?#v*+)w ruEcF?&&(5Np z;1`6#OHRq+uqGqfFj@+J{lVk}W9RIPpWQ^@8uFzj$-0Dp`zopyjH}~Sm(JxIk*gJ{ zRo__gFk880fRJa#RMnQztr&+8xbxq>+9wwww|Kj_BUT@xE37vk5B%$O$ zVual`Ck^4ilvP-PeAFX _tP8m5oFx}S$?R$mWBM1dB91Ss z@lv<#kG&V`i&~$i6!t&D%hWd4OK)uo;TZqj*u+}P2mTIZ^)`(&s{Ys2!(vW-z+cx_ z9}~o!h-!Fk$zvr@Lw_z5o%Hv)QFmSb4L$D>+x|Wql9i*F`5(Jx;nbJjG=FGnugkwU z62<}!D%?Mj(kg&tVyp3JvDx0x{s^c1aOSz<%)5%bj)1;2@{0KDe3uIK&1~63;Mo-r zb-wm&X7?f1SB|ufIwXfp;?4@JaN&heq=o*b=`pBR&%j`#PUv+jRUAhK#v(ZSdd&g8 zEEpqeF*cLWZgbW~K!3$!>R@&Vs$X1+M9mrB3nH3Nz~kM8`2a&JK4hJ4m-G7eisb>G zI;2lrC-gm9J-RMJ^}?mO6TZ3l755pCg7h>_F}nY8-_M8CeWB1oaYO+}{DXn;r0BKh zAovge2GdF4LT={6+E%#=QTT@&a=#;${&@y`E(A)N{OM|4&Oq)MRWO5Pe-u2ubn$db zL>ySud7vW6syP&S+yCt#xFnUupd Qj@&OM j93-3X y-) yt%eK(L_-JC!tZv2(K3q zpI#iUjJ)P3t#x~-^opCEgdH@in?3Fw7hly*b0iTj#F>CCZXtQ@9rsxyJf3Z3KXq~f zQ9@Ev>m7&HMSaiT(E;xt5_uiwRJHWJZ +t$I#uM# z8t^hA9on2QaNfSjaZ!uIz<`}A!!egaqKcBH;&Shtj%=O|T?A^pkzU{>LFnN<>%J*| z=chgf?k>V4cNJ(&8doh(>^v?`ur0j!xSNIndyDH;tIiRpb`DNb3Q^kvhPTUA?fdb< z+`1MUs2fI((ss;K%xMZvFPo3#C#XNoyCsT4-X6!T!m%K?Ab&+d|IvL8PYzcHQ`Hf$ z1|R<0jmvf<&>2v2&J}IHZPc~6W)}Zeo>#(&L|O8K?9rrsyAH_3rGSs!*d|`45_JZX zwTE!Rv2YH}e-Oi9K|tD@Fzf8H?Y&wNWVvhdSOA^CoP>9;`L*M7U}Yi%q^8s{GX)2c zfE^^xo?T$O-OsyGyI^QMdNSZ1O;@*e+i&4c?z<4ji~yIhuj0G@=l8wlrtde77i<_| z-uCa=hmnZ>azYD}6d>RYe9R5Hx)@46s`p?_g1AnS`MAA4WnZx76njnTu^i_kc*FBt z*I^h~nFC!jR=tl;1u!K+OZo 3;AQC)W{e`012ugF7|@9~wH%VSYaO716-MAebT76YH!vZF^7`Z)&NNRM=C%$HIt z>) `K8Vbh7E^zZAP?yMGbyrc*z@@><_1=P_x9sj{ITKJ$2Paeghi`r z;eZ_wZWOec&4z0%n==JVEOX$4OV8umOp;)^dT9h#>C=s+#|TVvSum5~ywzaSVYTkp zC*WG5In-O=w3@pr9Gzq^ ;oYXM!stlb z=8_m!;8GKHaN`&6A}4aA`IqG*q=4;IfLn$CPdYm%`FNID*+hZU+SBiM8nfjIaC4?T zRu2J3VGReO?pGCB+=S!2Xga^L!m5tOA{xtcp8rn=R~`@5`-PK=ifoZ}kS$-L!jLt4 zmT0wQUy>!VPS%@9Bqn=dC^gAGmLcm5VUjJWu^X~X3s#+4ua!KJ{#JgA{^H*X{rTeU zfxdgc1ZUk8ha;0Sy6Q`uV`mh79K8ha%Ie@DRJ78BJf5oY^YeF V(^prG0K|BC~QS14PPfp45}YXK-~JmY9qc6J+e zs$BW)a>`PkP|DKV5|`K+jkFJOu;!^;GF(Ut`eb(4w7){;bbsrj#lH;>Wc1v75cJiY z!Pt^{fd6@XX^?FlQ2A=Yp^kNOqUkNN dSp2!>KT!R}?)}@OaB?>3MQ> z-ao-_<(N3Q9v!xC8d7jR6n%Wo66g-~CSQU5XXeDq#bh4 2hB^Sh& zb@+BOh-qO2L%5#rN}g?gMBf^^ZKc_-zv)~-;J^C@1QrSrF?7O^D|#ZcfhIbB`~Lff z8uQ`8Eh?J166aD)BIX7f?V8+;kNjc uJ$1h zxs@sq@5?q);v%jY9I%3biS-3mw HUNf~ z+YX&-w)<(NnR2ir<*Aor%cOoQytU-rVF3)-V}lm?rOkO&D*|Spdl!AMy%Fg9f _b+u%i)1z$iDav?J`chDU!N!&u+frPv$U7^dtJ_d_e0a?Y@!MJrFaTt &e(gelbbGe9MLV>>ysL&Q8DT7xCtNKO3&3V=LydWhJSiMb)0 z`MwgJx*4_J5z8hfQ3NbC-FbR7daCCLmTK$Lr?=jw?C(5ci8 9q5<9coo6Y)H>`eq*-^cn8@9d3tk%7s3aU^*RhxzRO_0(@ zs%~HJK;YI5q=h9B=9Gc?v^jD5jIDiR#d>ks%E~Q*4$(iFAa^Tc7M<%n*AYeLLiKf) zJZ-b{qhkdPrG@7RT!$%`gXI%#pj$+>7M~CPDK8gtV62A?64lhy{4A#VX5MN~0ATc` z61sdfi##zmuML&004sVf5d&mnW8>q!H0flcXIx; Ic|ZVM7CSk4q5i1;W7)D;>(11jh{4m)B4E1$Tm5QmANQ>>o1-gNXU|AX?P)s1c|| zkg#QCB`FTW1a3w9`ZtszO;cq@)H~MK);b49y+wyKTN-fHRWIvyK}<(P>();Tt%gQ) z5zb+)j?Y2fA;S#Pd?*gaI$(LYP7bt^$ypWjMX=aXPB=B(I!pS8`8eA}cDq}RqN}Vr znaZ;f=F+@VF$@HAIgfN@EU?Fms$h$D+@ _F*$?v72<|sogkJ@%LrTFFmjH?f@sFPz=a? zSAL+SHjCef`)tE@Sy}<@*?P_~kDxHc=W2gVtr_cY@7maeN2*jet-ur=Q4+~cWx5&W z$mZ$b5yGGthIlNFn?p>uU>XM}B8e^ 7C!j|LcC&fp(Q!R;nP% z@HV~c#^Y@q^6oeL57bxq$Z{B>xLUEg+qs0uk%1c{pDbkr;F;z~K!cVr-^A!(AV%8h zPPa?X77~NNkn1)x6(L_SK&rN5_4!B&`YN$7qqTm;yj1lP>lbbffiD|1fNq{u16oSV z?6X1S==P`P`{;hB6e^!O QLhIcfQbDc zq#AXOmH8I44xP2dB1dGc5iQN_5L0tUoZC(k&k>!tyeiyFIbQ99YJjqJT6w9OV2BmE zI!<;yefKQ0_ML=k!6o)*mpHVflAMN+ftc9W3@D=&n2#*PF|US{-fy_;mQ0Go>uSUL z5ju>YcTLOkNzHEx5Iq#f^no(-W=k7oUN_n+d({f(N>sx~Jy$tJ>{{J}eLNe0d%N z*LvB)Bq^kk-*hH5M=Je#!VB>oHaZ~;PK$r1f*m^Gu5iA`h0iYVp7klcyJ8Kr)3`7# zn+*WQ _wS2j&KzQ0r~424 zAGsRx9YA-#!qZO1Ut93V@ZH;HvG~r~44heyfRI~v1>(qTc7K{VNK0wIw@Y^)-3wDQ zANR R(j)e>ZF{H7b5RhK z^zkIH>61VwO*%LP1v^*?Ca%^~1W{a(heKLbuQTvD0 `bq|pD2Wf3RbV9cQpaJN^z?oNy9 zi#?8}S^@@k@&2YSx|&-E <}#~nFrS3hEtV~(^# zyB{CZC~d?~dV7J6M3((o0bcI0Q|{DmZlyxCC#_<9VQ}%H;`ouf-SeA9&Qi3PqC8zS z?Y(V219^U=1y9vO#l*8mE7g!lq|pb2!dG;H)bY~0FP~G+304R&MUR^U(3=toto?a< zFbL? _@35KRF$L#Nbd7RP$AczpQ= =qPLXDooYhqLt@;}ud4Vo#m{QAkaT5`G9WqrD^$rzLj4&x z7@k?Q>Dwwniph$*z{mNQXz7fO2_sFOWFvD6bMuO+PT^alSMhS!{2p!f#Kw1|XC&!h z6n}h~!L?miTw18dOdTL_cDWL9ma+)FK4Yf?>D0>zbwhJA!Nk_h6+czAN=B04qaP+x zPp?aVk0Q6`i#Jo2*cBzct_a1+6d0eqbn5xzndo`+=+)irJ3yttyR+HZ+0lnD&TY+~ zR-WM7f#Q`mF(|9xjN!bM6<-urou`xG#$V8}!{FWXJL8H!)1@af6Wrd}E6eo>8ivsW zic|;Fq)bv3Q;do~-jV+p`Y_NBCzxs7v7?&1;y>G#s!>gd0YASEs #L_q51N=`nu?Xf8y}m0|LwjLQ;&OfUzM{3j$SnEcBOiMgk7cOqEY|J!bjzZ_ zN$K&>M9*3&;372i%+U>% +Lq(Gx z0sLQnQ_I~RHGgkrv$NQ8BKyha_nvU#b1R8feG38tKn|Pn@D-dOWtY#PF#eQSnqsqu zEH$iGyUA_hG27NS^F|}=yJ==}cV)x$@Nh>uLHnin;c7{cWLF^S#2~!H?(2nFx <%`O7HT1832xWng*sy~QyQqMtwN`R=t2D#ke_wM zwY-&Qt4KAW%e){jKj(1T^GygEvf$GMp9sqgKVh1TWxa{Nls24K znpyJncjAQZqHw58(o(j9tx}+`KbUkFApg#M&|2hQJnC1{BL3z07e0~Aec0?FNZJt zDJHtUetS)aHbIG38M?~wPB!`zh2;;Gl&Mq$mtn5Hbji42_KHP`C7dllo0brW_*Y1g zVTI)BteQV$Y^%8DiiCx}^)#1nrvL32ilthdPyeRje`)H;Y}%bc?fuVf^vPVyiDvvH zNQ%sj6Sq8TpHf#@(n3G4+W?%j$-~K}5PN{Z168kxvX9tx0S-ugVndYIw|~yyd*FkZ zoBIc&m|oreuFR~gtk-5GLRWpy60{B-pYqi-fkVA=PCVZ9%Dp{OGIV5C&aQEHsK fZ&!#gU`TLwiSRrR3$!m?tJ;e$7*FeO7l{6LNwEC05 zS)opHoMm9uu;#cRS $qb_l_=@t;C<% z7mgxh#Ou6){wc4H)`*r1NcoEj9$lY#IE0{C$3ut|>@+=LOu9Ynx+cQBZnT~8cru1= zw2mRIi&y*jH-nv7a9&flXjQnCa8X=yidFtzQ0vlHxLze~!=lUiKd(Vpbn`Fi^1QF Uo#-M-Iaj zVu*!a^ASvtgXtu`KKg+Z#@rVWP dC3l~v}A)>H+1htzBcu||Lwn;eOdm{zS;NjO_aE(Zl}iS*v_e| zA!&f##%%mzkX&p^ZS9rXaYY# !s)`V{$=gN?&JJc`@`-o$Q+kcWWjhv7KGM9%4D z&?z|YuTKV2mPmZc-92IaM(3A^`jR|WygSQ}fR^2Ke9qFrxr4v%zI*st?--`Pz$>>G zh;Yx 1psZvRk+N^^r0@X1zS@xrnA@kSeODoDew?1+;%{A-&x5_*B$iH~GQF};A zIJG#qXCapL#HG-k4LEhaw&!klCS0fLoU%hJ2~1b*!k5Oqc@ibPyu1`$Y;bFhQ)MU< z5-vx{eu6 xft)Fw6wH3JMwP&?LXczAS3r3t?p>8 ziAYbIpY^Uo;2!$={!!08%)4u9dP1a+!m%-MUD`lZ*jOT|;v!_}$bfmN0 M*%P4m#I+*mUe*dxl7=gY!C{z-(0}cpNv~PWa@rPP~X=^-K zJ?33qSP a` zFE5!YqI*4{&t4u>--sT@<9kA^^(+Jv#T6VDHO} QiU X9mf5$c^eb;Gw$G>62124ZPA@4- zWSV6r$vv4ZWY~?2EqGWwnqo-+vGmYf%W8vPF(?Y8YWBVC)hO)2po+C_n5I*!%Wh3| z`__LWc)XI*mz@{C&Quwn(w7$g$6ov+VyUB!-k+@B=5_LR=wKZy!+JZ9pT3T~!+s11 z3kwTv!e5@ E~&NRNNtf$Lp }TR-5 %v@91}P$i4PcgDHBKVNS%SZW ~XDH6WU{VZl6zh*H)Rz-)H;xH +6y?^HG!-Uu1UxV7G?& zYIDlL8&T=4FOKOy-uWqG5pLJ)X{JVVTV2_*^bnsiSvA~Zp|PwRDdlvrEP FV|`$4|l)3J+XSMmF-DQ-wc;K zXMfDt^-2AMxfyI@6_A2B3kz#HG3uI%{JJ&&!tD)=g^Z0f3H2G3FQ1&4aE_r@!V*1n zY Xq#aIR~1y;8< zj8}srWTAI3=lsaYnOcXH&h@c=#Wzo~t)?Ez`H^b3zb;`H#AV}Bdz^;7$~*C9%SKlB zH&A`ADX8rA6E!)H1>7-idguc0fC6?rGLj|y8QuHhTtChVPc7g4?bfGkwDX6W;}yWH z@=LvE7ij4Yv~9|4NRwn9pOO?^Z8|s_b RVH{J?xpU zzr;LgjHG?c;_mJcky5U^)b^EkbkUCNH0tqC7jbL_MQ5&0ZJt1_qXYV59-Q zRgs8WLxz1NqJH_Nl6+PW`&Gl{$5Og2?==wG$HLD87m4$d^rGWO%Lgj OJ%G`BS1U&)FCj$0d(d5$6^g9D`?x!Z?a{fn$Hte5@L=gw))S zftU*cTvE=TV(XS$sMAky`wRUw%9q-`(aP?ZhsSzz*`Cwq{z5HZ2@*9^6)5q#(MJ^W zF7FhaheDyeDLCvk4@1L_C--0OL|?euxI;8XXKkfERMgCKbg@G6k6Q{