From e77c8f9ce559819c676ff4396a7f66c8389e37dc Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Fri, 1 Aug 2014 04:21:21 +0200 Subject: [PATCH] JavaFileStorage: restore UserInteractionRequiredException DropboxFileStorage: correctly throw UserInteractionRequiredException GoogleDriveFileStorage: * extended logging * fix: extended try block in upload (constructing path might fail) * fix: correctly finish initialize process in initializeAccount if partially initialized --- src/Kp2aBusinessLogic/Io/JavaFileStorage.cs | 48 +++++++++++++++--- .../JavaFileStorage/bin/javafilestorage.jar | Bin 532255 -> 532623 bytes .../javafilestorage/DropboxFileStorage.java | 2 +- .../GoogleDriveFileStorage.java | 40 +++++++++++---- .../UserInteractionRequiredException.java | 8 +-- 5 files changed, 77 insertions(+), 21 deletions(-) diff --git a/src/Kp2aBusinessLogic/Io/JavaFileStorage.cs b/src/Kp2aBusinessLogic/Io/JavaFileStorage.cs index 19a85904..b162b6df 100644 --- a/src/Kp2aBusinessLogic/Io/JavaFileStorage.cs +++ b/src/Kp2aBusinessLogic/Io/JavaFileStorage.cs @@ -93,13 +93,31 @@ namespace keepass2android.Io } - private Exception LogAndConvertJavaException(Java.Lang.Exception e) + private Exception LogAndConvertJavaException(Exception e) { Kp2aLog.Log(e.Message); - var ex = new Exception(e.LocalizedMessage ?? - e.Message ?? - _app.GetResourceString(UiStringKey.ErrorOcurred)+e.GetType().Name, e); - return ex; + + if (e is UserInteractionRequiredException) + return e; + //seems like UserInteractionRequiredException is not propagated correctly into the C# world, we can't catch it + // -> rethrow correctly here + // Note: the Contains-check looks a bit broad, but it should be safe + if (e.ToString().Contains("keepass2android.javafilestorage.UserInteractionRequiredException")) + { + throw new UserInteractionRequiredException(); + } + + Java.Lang.Exception exception = e as Java.Lang.Exception; + if (exception != null) + { + var ex = new Exception(exception.LocalizedMessage ?? + e.Message ?? + _app.GetResourceString(UiStringKey.ErrorOcurred) + exception.GetType().Name, e); + return ex; + } + + return e; + } public IWriteTransaction OpenWriteTransaction(IOConnectionInfo ioc, bool useFileTransaction) @@ -241,12 +259,28 @@ namespace keepass2android.Io public void PrepareFileUsage(IFileStorageSetupInitiatorActivity activity, IOConnectionInfo ioc, int requestCode, Boolean alwaysReturnSuccess) { - _jfs.PrepareFileUsage((IJavaFileStorageFileStorageSetupInitiatorActivity)activity, IocToPath(ioc), requestCode, alwaysReturnSuccess); + try + { + _jfs.PrepareFileUsage((IJavaFileStorageFileStorageSetupInitiatorActivity) activity, IocToPath(ioc), requestCode, + alwaysReturnSuccess); + } + catch (Exception e) + { + throw LogAndConvertJavaException(e); + } } public void PrepareFileUsage(Context ctx, IOConnectionInfo ioc) { - _jfs.PrepareFileUsage(ctx, IocToPath(ioc)); + try + { + _jfs.PrepareFileUsage(ctx, IocToPath(ioc)); + } + catch (Exception e) + { + throw LogAndConvertJavaException(e); + } + } public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState) diff --git a/src/java/JavaFileStorage/bin/javafilestorage.jar b/src/java/JavaFileStorage/bin/javafilestorage.jar index 9c44faa97ff5d8724bdd682a702d2ddb0364fe08..54ae023374260ff43e7840ef082aaec0338f79b7 100644 GIT binary patch delta 28366 zcmZ5{bwHHO`Zmk5yL5L+OGrrx($XOU3zU<4_~5-NeQbN?bh+?dRj z-W9kvo5T}L=6H7+Sd|`LAM^&OVkSMqyjjFElX4+G)xfB$EGW292*QFMjJk{{tASxx zHB!ZbP!d`+-IO;AM9>g~qKaQ&kO&2XWJ_>Ri*nTtv}!NyTC@beZWwyepqGqVAei{D z7!ZM^AV|Cn1r)JR2P3bFGvFadsRfDtd-nGNR<+?6j&}pcw}$Z|qU&L>s$x$Q*ng14 z8|1!!FzQZKYnTc;7?3PyJikArN<6|2ZE)Wo9eDiX7<|M+0}NU<``!qQviEP8RgYu% z&~C=W&Y>6X@lEK3K*Am>rucGI&MLLE6=RfS){B4GG&u=`ppZ;AChU z2kqPl#e-y75Hrm%Du93zG=>uV7a|5IsX=LIUBhY+3ZRz;B#z$x$1#M!SEPP1I?y}x z!EFZ+GvXIL=+}*IppOB>i%KWLSsKI!+~NhPk)RHc+h>F*pDSaK=~<))K>@HP$N-HE zzlKr(?xr9zv`$nUXRSy(fEfq}jUhE7?U;jpqhipaVMau^!3Y4@V^9Dpn+Rg%8@=Wr z2qLBp1_dhYKprSb0O{d#G`lF%+CCtB;F}9b1+Dic2MD(g7&aj822#gDX=f%yL8L&# z3y>E|6v+?@q6VCOK+b4M6#19FpuGR%AkjA%E->f^3Zg*8dP5=tNg_VN@EeQ)!IKEW z1ybWcjwlIaMKS}NA3&|>oj?LJK#&NENAJp2nGugWVI;sf0%VP9z4)7$KXoEwcFYC^ z@Syagh>BVO!4kV*H~`%Mhz3Rejb_9RjCec;T1AEQAH;ngbp9V%0C`Cim7w?=^XvN{ zdhGuma-MEBg%9zae;kh%;f(-01`r=$U+S*go7Do7ApE1>I7b6!T@1&%vE&P-V7geM(J}<122|f++M!z?88t8(fyw>!hJ)G@%+h}cAu})p0-K_TG)ggYiv{RmfqBsi zZ`i$o5GEtYRMkMhUMQcCIbcC(AW)5?g$u?(T#UeQ5Z?G;E<_q0I3HCo|2=fW z2T!4LfaDHvCIIuGO#EknV<8#|!NVvSRCgk0Iu=kt1a3on_wSs?LLf10M9dhB45%ap z7o$=RASZ7RYK3-2b{s|um~((_(ev`ZOvjAFD1pm6U?%is)TBTek`)ENLD$QFjNcf- zLP-69;UZ3C{|Ob<=`eY41KKInC>liG0QMBX2k5tq*#pdpV4Og91C<##6P-d7=5~Ya zT7t9w57u&nb=rb+{ujdnlAeM~|AXBDUbulvP+I`0Y7(_VRb^lb(nakl7!2U_0fW#2 zs8=sD2uuVR`GYzCivdVX1icMf1hWDcA>itNPH!6cMinp-4*vDu37KeyWV#{)iLb?g zwNZEfwTcZ`CxGvxSOBsR;6^kbH^~N&ij>jY8&Ce#0Rv9bz;XYJ14!Mf{|nuiLk5!# zet^bN8OkgKlL8-e!OQ3lxWND<_8jfeO-rMAaG67nz6WLCDzqqSB%-2XtN_!aF;sFb zzk+c9>(Ahp|8sAD9tHt4YQW#n*uND+jL4ivmXdlM`1pTI33Y&jxSB_r^!*CnM-%z4 z7%h<20p>&#d4mDShy1~RpO1k#WQ=NqU^q%Aic%zm2b_+Bz5mGwk~tt|8ch4Yqk<3^ zngf4Axd`nJX|tpv?knnD_=qAf01J?5`j@@tYf#@vR#SKt>V?LamUe98~`!4_p>t zdBaemH=i5`a?737=$4@>@QFe(I%F%%EbYs3n{M9Cv( z!ar_aHDQrrp#=Vo8o{uR{B}`j!|FgOy7?CR=PvI6Rt6dBZfn>-%4^n~+5K?6g;qLF0y#x1AZdl79RRK=AiwcZN|C302$>xiIUvFcK|bp@ z*)n5;G@&Ho`E@A}*sKsH1mQ07hAk(=2Ca!u2JIfsjVLtn4&(@>Y$+aXfC%8`g;-*v zltqd_0&q|(q!0|v9nt_hAf*I}MG*ragKZ_cxq>WW3ZU2oVhlm4Lk=wpfX))ahjzw2 zo&xb*1WE+BTSN5Gejw|Y4KZ|pr0LoYf*ff`9SCGMQXrVpp+pE*7bMqwzmaV8I6|_~ zT>bAUkmdv_K_A?Z10W@4&{}Rn0o>goiYP-s-3!P8dR6)oB874f*!F`+p$WSa0Et1n zjB-f$80pYSFhmILBucaPTSy8@GjhgIAi^LJBE-}&GK;suA*KHx&UpeOtc`>eqhJ7; z+yHd_pwc&af~;bz50I^Y!nvs_u0JpuATkkRioS>ZdZ4IHg}~5(-0TulA&h|3M~EO= z<+BV(5c&|A5;lZDKGGT4Qy3QF(<#z%nQRCq`V?9M5kegRuW}(#=uq+VA%D8m&o__)+i+BzZh^a4jDslMJ|!D z*i(>CXywSNV?$`4K}ZoXS4bBjbC5K2N^=(>!D#i|%aD)gRqqN!9#ysoBwL(_m}3Yb zptuJqL`&@dhIpcFpcq6dWdw?kAztXD{1>zR1L^puM9v^kv@FsqQgpGP7(mLB0B{hr zgbfw%&CEa`X9m%Yr+9!F2eb%1ul}Ki3=p^reS^{zk8B74*$}pY**s06xbP=$-E1T4f~H7E{{t^jpLr@ueh3vr$9~hZ2xQL^0Yh3)6GC7=Md8T9%8YJnn3U`UBt3#c6W z06Cp00HP<*muStX35k@2Aj+_@34pIQPzLnD|7b>?k^yuMP%re{M-C=7L?v4gHoZ>!%Rv6oO?otP}v0fgPw*C)Ydc<8h}2%A*VJB`V8&&e`rR8<71N`?ps1|fvN~77W(wY zZ(u$O+Kd)O4Gu8^Y+_(E28xHe0wC4tp{YU+FE+$H0roAxHxY{bNWCHa-ziB8jHN(> z&|3bBy-oYS7=WC$$iJWXU$Nbcf3Kj7^QS{`fy^vu%m1n;Lhun|;{);eP%YGBfu0FS zj0#{Xhn}J@-&7_bQwWwxvHf3N?Z4W55| zaee>ncS(j%TG*pvB5zf}GD*vnt1NH0pDpJILqupJ&&gZDP~WyDJ4uqrkdqXORIA}@ zsp0li!7*n7pPqJ);rbsg?M+U@q1v-Hy$(h5Z66-rj_2`x5Zgr2|IX;%XCU0Mx6^?w z9b1vKENeb@BgZ-aJ5OzS>3rzfIGvd2u7ktI?7V(eeSK9{LvyDxH2qK4_w;+CaDB;g zN7vmi+4*w;_Y!(!Bpq~OQdd(VHAQ$&a{ZhotkQZ$4d-sz;f{GKUT`~))+qi(j8u)yI;MDoesm(wKV8?X=GgqB#4xUJE3#%-9JVL}y^M9|YLWmn2xT`=*%ADi7LUaHqcE zdnV+EL5*C9u=4lH;Y>}db7%P5sQ0d-4tOrMcTd>bo91dUK{|@x*63s{FrDut-Q&K} zSNHt+`dC9zF}~6^VWl7vN-^Z|mK~t6mXz|n}@K!>VK2d zMX|j8tonn6@94c&G3myDX-z{q@@y#$$g=}%pD@LxPulW((r$hLS@iD^XPhLvd<6a^ zr5IUz<~rBNr|wr@u)5R5Q@qQre-DH5#ZRh!S1|G*%CcjB|Cmk@mD$OWeuhb$rt^WY z;tQ730PU4!uy-NNp$>ljE__~ZwSe=uM|mVO*rWTkj?f4JzM8V<_ZZD`H5Ghn4_<~K zHBy}|=Fy|zY>QSfzviaz>^jC)9;3IyEa{;~G?%PoRH`3vgVOv-*;^O1suB7?TIYoTLFty|4 zAa^zaV$DuW_aTY{*~gruyFmw-OWsVRnpm0ZvY%y!C?dZtvNnNNf=(Rn5-(6`o_N7d zLI_iWh#5~3W`?v~A3X5k?qJ*2W2U=D{%{))1G-(t1IA3bCAQ8C#{ry)rN&4JzOnm+ z{WTi7+s~*)6viDv%%*=$p;}3OSh;_HaFKlP1_6G#%(z#^ZJq4iB#3 z`=+G_+FIK^KFX|@f>UZLG-fyDSb3YV6_H;4{UY}`vmn<&m@Lbc;htfEv3csJLe;9S zj&~l8npnw2+^OkV{JtB;`FZilZbM)7C?!1~b2e*rTz{5(oK>#I7pX*;Qu!uFA)j}n zswz1pHhbp|O;+NP4*ylxy>~8tx{DPuA0}ZJ*;DtZqd1m--YtXMeeW$w&hN&Y(Riq= zVz~Thg)EF!{Fy>*7)u`?E-uKNE*|@bO53-jdsUOmjZlBB>NL>&)e$|x=?3hGmH&#^ z_n~5B2!qbA_qRs1S}gzM=44W;+)_-8k0epow8M6a==w9_P98g(pVrym%vTKbhJ`vQQ;CoG zm|EwldwE-ZgfR6}Z7kbDc(Jt`MKkAyzE^k1$JQCZLNIt~Ucqx`jI_mK>##Fq&eqE_ z7w_3IO_Qm#Pz7zl3*g=x2_$)8Ay1)AYW6`2KMR`HZHQG_!)c_9R_s^t`FXs@3YDR+ za;bk?`9CNeJQAEu=2`l_Ep*S6Q8m_-sHuAxYfYdmS>IzP>?o8K_T5#P`pJ{<)_O?_ z-8akQg-*jutlee{fc;f%PLhl{ zgnF+eKjJNwOTI0#`FZ+uiYkJUbSe+S&SSiUBX87B2X{H~+Hnzv!eIn;rsWs6q)RIPqo?6+`Vwm;_f zSbE})gHTJvXAm$w8t$!C73nIZw(744rP;WfC!wxvx@T_ZUVl{2Sma4;=YP<&du`X@ z*VmOtmAIMd4L5A~9zaxn*IT4KNOEKU9o<725XTQ}A?!c9s>#KB zG=6L@)8^MdfBpJGpBS>u8o3SF5`6AuVnXE37V6eQD%G`caOsG1&%(!Q}Ej;O$rv@I4j2Eh}l1H zSli~raf|z++M;$xoYEVwTuI=zU} zurKRrrTzHlD0|yt?8S4uIunV21IgJ-p%4y1mpSq1DCMRsWA2H>_gi_%%cca)k#@nY z?tbx8PT9{+4pNx~I~2{SA_=hk{9yR3%CNZ~Zxk(>dB$;_9(s^)ZJ(Y!G-1(SaNVD~ zB%JK)q=c({M67xTFWBxko=GK9C1P?i*R+3U0b*)S?g^}01Y{rZx^@0}$l|fS^ zALo_RbEaGX%RztW!r(0oNaKa`JBew_O|`v!YqOkF&q6bW>zG!eZe}^9!ba0K=TyNm zEG^rL(X*Lne>~q>i|QFWK;oLH`*vwot2aH}Tj2VCLmOfce-k$1CNx?HiCUkWGGFJm zW{`>ou&#^z)VKfp}s#jpKRQ5LC~FNuq{39i2!(TwEeXE)TEu1neu9e!YU${^+R z{jmt=|NS)>qaj$qC3i;hj&ix_|#(gzG0rF>h8N4ngFGS_8;6+KV|R(EPT(> zcHO^x6%%G!XV&oRUo7vdE9akP*u_bm3%KTh&-5)=nIsLkq&`hC^=j!@>IiIISlUwy zVP5;3DnF8wju&J@sWwA(3bVMr4qI0CvDznspD90Lo*~_>ddO7c3b)$VQUrXmQ+!i( zlH+`STrU*bQ;PZIybN71)n;|Lb_#}b-F_G9?`;W_vo;~IXymy#1vIK=Uy)P5z`yhF zxpPS@aDH_jlDnQO%(;F>H1#q5#WlD^m`PH>vRB>z^7gvZ%&Oh3zx<3Id&8zr@RCGD z;5fxKUBjGP6L`X-H!QgW-yk0VMaGQetNHiK8@j&NN*T858*sbd~wMxy%MzcL-eJqtMjJwC)cvp!rr?d49}Ptxo1<_ z-x+aU&BR4LBRci(b>mTfEvG^&{~UMpd;)I7IrB!yL2V|8KB3@u6E4Gbf?J&lfk9@z zkY4h^Sie6EMt+m zL4J}xQsgaR8_o->5$Z0o--)+|pEf-|EQ0)Opd@WIu==5+G#g-?GI2{NuQ0C3t6Q89 zK6(ugUW5Hm@q3=`{fMZO&DMd~jCiY~;C|7*Swtw(p zx1d_Y7uw~G>NiD~eilu5=3I>*GyG4pNzAKL&jtP-KeadF;=&#F{uXMJYkKSaR39Sh z>>)aP(z)}Ng@;gUf9lPWuneY2=Zbljp-9M?vu zB*!=<;QYiqZ_(|UDOgQuNQvbAnCi6k)MibcpvJ=7?qm4$??LyE9QaPM9ENmHA8cal z(_(*}&J}%SK(J{29aCIra$V0fYf#Db#R_Q6kF-b4<-uoN!*0{LsCO0*s*1(*gH67{ z^(V=q-YgHOOF6nZ6DhYB*V1jO73tW&Rr<0A*dMXIvem81GEsQFAzDPDXDeTlH9hvw z8>&D*ekEv-w)_$=XXcypc-E)i#pW7)944!G1iYof@7?i@Z$;=Nb_dk7(j8^JnYJ$E z3%T|z{??%K*!rW*t`DoVz}y!1JNdEbdU)aWv758TRWM%Vwe*9KytRH3a-0y>XTr16 zo)}7=rl6*#fSeM|EZzg~xP4(*Kp)u&7lxZ$|3G5?=0Hk5NAAjb%IfMSuZRW33kF03 z{PmLIMB$sPxXsM5QahG}%2f)@m4XBXk@TP&o2twm$i&{YQ2EDNl z1?_40p}x4}*f{BT#z72?hyi2KAr|>34}Y`332k*LcfZu>{c3Mo@XQFl;QDl7HoI28 zTd-6Wn7E_4!b3e_t@i*4WpzbnzwJ&%_Q}Mb|w1Txg+A*+cDq1 zg%A?qIWzt$CgnbKaOJD6uLln*Xu=OiUg#wyha!&oEco6|mx%Ch@k$W#AJSW_ihue3 z!aLdikj2p8w6Eh3kN#8h``cEhHSDeN)t_>=*~<92q*M`u`}FMm_vW;9lei=abu?`s z_0SZ%@PDVx=6R?K4y^@n+G$djNWE!v2)f-m$0<|PYWA~TCL0Jh9dh%k8B*b*LF0D3 z9gmz$mBVVHh@BXie@MuedcHAo!mA{=n3li4|Ha_2rK++n(rfy;=j*_jBrp&EeWlU; zaRHSbt&!akxy=u)ZyA2PIHq*5bhw??Y+fZcYO+%y_O_vru6n26Zn08T>cnnqr~k9s zYFlZ$($UuN++yvhqHrH`isCC(_~fJCc$yKE(>l?j{y*_|oCX(U6q-EkIj7U%{lwo| zPa5RZ@JE(>Y4Fmsw**q)c%72L9;Vl(rEdxHYzx*0Ux6ZHfl?e%JdNm~oTOtn+Ug|6QJVlu@aX1Zl?~P* z47M?*)BD}K4lC+lO5z}1mk4gZ&m=XaeL^k8;1_dOipXAaR$Et8;ju5KO};M8(II_U z=~xzDfFD+pFGKn)2CN~L671W%Vdw4_p)ORy&{&>GCf>jK^jxbf`J3gH(~+k`KIWf= zOt+t#rnR!|gC-(FKKc7R!h`CAX%yWP5@aDge_l|ZiAp`;*tS&KK_>-Caw_%7|%kU zs8Z`y3-prMof?kjcx4tkfr+#rs=jb{Ty3S3>78X|;>okPjoakwt1bO#_w9 zLd5VNW(33dd+43JggI5taHWE&2Ct+kSHVM`^J8ke^xCES-k}!GT_<0Qj_M}4kFaii zW%$xG>y`Gt_dBWFA-~iC_M?kfOv?N8CfrxVN;3F_GOz7#LE@yaV`O$;pJcW>4jp`8 zx{AHdJz!P&3)Zsp4M+OZ~DQE&Oef}dV~AfUXp%K!VqbkQi8ZIq~*S~go(6- z_7PvC61SO>bnpr*FrUNm-PiDkR;$8lZkr`GwGK}Zm=L}95%S^Ue{rYe`XMim`yb-{ z-nf9bJ7#(iR&}WYZy$g6nBewB7u%46%+-QtSMQw~iw3;(>g7|rw35HX@W%)9a2xJ-L5*If8XSO%eWXu@RacrCnD43ZTt*fvf{J`-<%TVzVGPMWPBd{|n> zA}X;L-^6%*{};wxJEl-dmheZivv;w-kRH@f#y(bE@B|G=qz=-vSp@Tsv(Mpfu(qzr zr||o;IUt6~o6|~MI0x7R61bcEDhasNd^JqdVJ<$!9Y?9v8w{CHCvu!P}Wd~IdFj-uV6s5m83Xek+!voDHBzT(dU1xKV2qdc zK}~&$f3P`4Zl)ei^)MdPdsrXMT6=MaYI{nJv6WFt@taN?;R{``#dO)*u=<(xe!M39#gc(uQRtxq-rDFRK6l5w)`M0ky!ppTD^xn$Ut2C`a7()w zvu4Y~r*gdKXLdq;u0@t2c0rXxT&In5vvef)ZkMjAos&fbcW>xNxmQAxItTOuVpQ4L zZi|plmrb1{E|IL$w9T!QE(yFTVN0yF9TW!m0TeXUa;0{j3ekyK%MBmhR8IJuM?hx~d($e7LB#`iz_RyJY_#0V&l% z?C%cp#$ArS?-cqfdrLpJm5yG@K`L6m5akR=UDSLg$!p{FDAAkI$J_`*=uwtuV)EsS zo5>^GV~Xq3yg)sTr}CSiIOS6oi8qz0J|c6yRHH6t8}O%(cb|K_M3gmRZmvadp692C z?gw8IIyh3bY|v33GM(8RcAeg{n_vCFxbXRz?NM)Zv=P_&Uha3pbyD-w{>;)3bW+QC zFk**4YMK4?;&(EB1b;a?e4%38p2)*}<{w00p3*HvbJ$~^g#>{xD4HNZ$(n&FQB z`&&{yw^uIUW2)EA+INiac5Bt0lSrPwwjGSWtk$@Eed(wb(D~w+3BJK5(?vjiF=)@F z-2CuB42$$dux;>VQ~c%f@-L!?YZ*&w4^n5Ij{jOF=r*C_$`EUPE>fK&HmWo)&tRr* zcpz%Dhbz(INxtISkVyBWiN~A~USeHiTH{5N?yoST2+yiFZk1VkT-Up|WNa18_2Ga> zVsYi|mrHp*eB`L_!rJqsj#bcE#|@Obrcn4icR->kM%8jY8+LCF2ku;8wi{^E=pg#C z;q$|+cF!zx^3`b0$4$AP-jIY8P@R2MKJ38Tv0GG%xLvZ!v$$a7V%yI2Rlnuy1Vx74 z?o^PI2tFKgsqFOauS4b%Vq5i*EWZZC!x1;#Y#2ZJY%)wmQsM1KmFkwsH@~Fx+g>^H z?&T=WYn7=;3-0E$t5AdeBKrcwBvR^P|7tl|@%}s+l<OdfxV8E!2RdRJLO z=J4@pdF|mvWpvARY;3xD3%n|~_$c@24{m6zE7n)I#kYcHjUqSgtiN@#=cmkh+(LLl zc>0}RL4Ev=8q+w=HFjii^@laF0Ee$zBb^JQ_En1h{jhrjsT0l_SO^^%ouy z#qvIdZ@zW?oP`(+eq-=3VTQM^K(=2-j#a|Fd1gH5l`cb_NjGe##`8QAOk%U~E%jNN zy%ME5JRH8wqZocu{b{w<%yt-EY*Rs8NAqhMWD70drAKEhqBpe+?q;4f!a<^oun!E#h4R!EkW_!uFM~H0pwZ5W|9G8JyhH>-I zizB_Li+L&E^U~?pv@h0dbJ~J;^ygUH3*ZjF^_O*Uf0h&x+`6yLDxE)l0K8K1+zg*F z8PV1?5iOLD&bBfB}U^^uwo&K{f5fJ3Mw3p+4CO9`BllSWM>pJ-I#W^)8 zd^V@sEMw*Iu->JUZzBA`;Gx^b?Mu?84!8%!J^uTYucm5^gy!u3V9W`t&*i#8%O`ry zf*T-)fS%D@xDU;d;QqDpy(WVOri(i!0hIC^n}%g_tW1R$Nq;D&17}tQ{e;c%G19%V@qIN_yXVN!(8ld(lL3e7sTOpe~yDZT{iyWNraYWC%#4(GPq)GM5nme&ri@*o68tOB+^WAgY{7{KSUzvm|7+(bWLe8nXQ2G!#3ngx)2{`-s*Yt#0^^A%hAiF!gq4atON zaKznA;?_t#7qz}TJhj0dMwVhcNO|k4a+%);cfW~gE;M=_ zSR&xgS@F4#ZIFwH%6NkeC!eE~SgCMMOG5VvtNL>SVAQkzUEB#{7vqw|C*o1*A(g!4 zLU%d#>?rc$Jkvwr5xR;s$@cedI6!kk4LE)EpeaQ_`Nz7ogWZAltyScU!NO1LlKn#wTrGC)zD5@3vf53L+K*af%6~$> zsF?q7ZxmKXw}H)XhqlgVI25;^g$vkBZ@7vlscSu@%lp*9 z?5Fu{%R5+Ji_Bb5v}V}G-P`1wsig53Owe*^uh5%nZ+E$55I6+$av%#;<3<@PG;rcQ1brI$MpMIKDM;Fc}_w+YS5%9sj|QLlGHx0~Ke<^D8H z%Sr5gQJXwTl-!qAVFu-92%X5Kcc zsEI)~UGZb;FW#v=9@vUwCN=3Z(EI&M`b1&>B>~<+;@Y#!@@353uyqEXZpl!sWr2-3@v*@B-At*JNXDL{a%lOTBoL+;eD!`p?3&=_@)tmmiB6IKN7L~mz0F}uuM=z(7bx$v+sj< z9iO#@>7y0fRt!TI=Gr%2YLEj-1z zxm$Jlq3^>e1*KXN#}5&gY3-RWIn0yVjX5>eFUm4B@(&+0HO<8iz_ss^MkMYJIQb(4Y_$yR?MwMnW{K58lW?6~&*Nfuf2%)uCqr1$IbWOWrg`;zC@*Z>kbE!w^Bev|R)|J0jwV!L5-`V|Q*I+rk zFG6KMqL6taTQJU}t4S>!@7TOc_AUWXB=c`-s`MVgolv@O{lw#C<6YbFjy3@bmAx-n z@sIu}D$oU_;I&Swm2vVD4LPUSkNBBj7?ejUu=X5hN|Pn*fUHd54kIkw3Wn-GYHd6! zRoV5!ISOaPLz8=zzU4f4n3s{*!XnI|uGtWiD0mhx*hn<`3pvq*p6IbX6*)QH{`|8n z%Y4piIo0Z8*6xY6B+J6b&eC7$Dz6=nscXVRe#_Uc(ms$%8U$2w7jtk)CZ7iXxT{HP zX8e8!XV!E?II z8&k?A3qwRZUM|x8GAll{I=MECz-*3c^C7+)d)|z&KkA{A73%cmPrQJ-Zh9ErgLGAK>p|Bj}i)|Oa)Jdjdqx-#HvS~G#cdb zMKQP}`1so9o{T)iVVA=WX;V8ikZjyri z31SOlR>GL|EgWqr&(yI8CCnoh-FJ$3^F$a)W1-HRRS=y++-{J=8^;3Y-bL}(l7fM0 zte18?Saqh7cV|JLf`{j&hw%RFfyRzOg`pZ1Ha(=nI|1=ODf{u0~}`KK7HO!#)&t*8W;Y2cM0E z;x0wB1v$o6U4r}Zy*H-8^S#1u%I*=xqn7sNuQ6~NCT8ZI1g=$ zu)ZAGHH>GPT6X0y+KjjyF=JC>wXSsHI-ZyvZk4fx)dfpi4ZW4S6ekegczDhk|Ae7J z;v(+HkVh+yV!-)57M>28C`I1ML*`Awp_w8&aC_}N7(7`ue!@a5okClw#47S_hTz7o zaGOimPPA8-{8Ftq&@nxjeB>kXx^UV>u@S2;#uvEL@!O!klGzp06b``$F1X+V9WgoeFtl7fLI25j4Q-o(@P3 z<-*pn7U9nkxjx5y>>8$_OU8Bqp>)I8c&|HP8_dBESsEGVumw~3g%aK?QNOdWStR}5 zEMI_s&OK7DLnydGa-Q;$w$3PEKKuKk(~ubQ{|heY-_kHKIPhN2EQrWx{-$7cdqH&L z{t-1kEt$HOx8INKZ!;y}BhT}68;J!N`JHKtraA_=W57LzHH=$JpjTk39DPg<*n8wJ zGAZ$L@6S%~;7x5k>a3v!tF@4KO<_f~MK~j(9U3jn5$)To+R?Yz~8CM-+sz{beT}Sb{ zM&Pr3j*!bYTl=4$g|FFGU#cAhSJ=5hOBv0t?tW1{GGd0Oi*3jpJ+6~&Q>#^qv$Eal zA`S`tRm`7qB$F&cR3)n5Tlyoo3HxtBa$>Yy3cR10%PysCj#B!*&R7#$b#q6r%`N-Z zeNroLjaET237e2!jJ1jdOIGvD4O;yO=_k+mV7V+>&f(ard`8t$4?>Ph zlvh=KKVvnN0^7Bb(<%ZrYbn-_A>&H%Dq8R#hO}lW14A%L*?a=`ccFNEVm@4tIa4hj zJ=b$Uu$xl$4W_UWh50l~VLz%#Go=0Uy6BSrZHgaB`R5lPCMT=T{pp}|zS@AAeywTlXYsrBQFl=2+%+78Fp(DDkQM$3`SpyXA4+EqQDFToF> zdv5^30PEj;yB!X1_Pnv9+Jrra)-y+=XzuLZrQRI8b^YU)l&-F=Vi~xltt6?_=NND9 z?#tBKcFwEAk8^=PlD48XV1u@eEWveMgb=yGS$bN^pv7YKB@;a)>@py*zhQY z?-v^L{O;l;R*AL!N%w4AQ1}Xf7?S;Xzk;^D zoyX0yJg;g}x7{nE3+QbSG2IhBGl#cTO|3k^tF^ix^NU?vrU!p8NbHwXBi)Qar!73U{?w;m+nSRl0*DJ}#+kcw%&t z9}&EjFrTi}hLdHCf}t#T*TuF5#e_tItl>>vv_GaYDK@nq~aC zhb-AiD;Q1@_@AVhOvm_5@l}YMvC_Mozk;OYDC+%Q-@1F&cXa1{z7Y8ww`YcMz_(xJ zYB@nlQ&@@QnNhQUKv8(AND z2Y>oZ6;;T!lRQ#HfhWtqu(C&Y*|aoMo!pRm3BJy9xdb~7D`o9>ar}J)$88LqYsl>; z)~{)3AJlxBPtSag;P@L3-}yDn0(3j^YGMCa{mR7=!YMQGRpj)Y2e#Kj(&c?-R)B6W zh0u7Bh(m^p{1>~xV}as7&NlG+0?q3j>7DK8#YP*K_VIt^#Xp;psUCT~B~<(Avi~^Q zj;M5uQ#=5F()F7Z-9hi`XA~|HF95asSl&N9^*VFyw};l(;LP^>pMp|0#P3fN3Nufh zp2=tknf0=LJoHL7#p>yf(=qq`#iU}Ss;=AjH~A9tYlr@yyQ4J(zMZ{+a27V_@WG-- z)m>`1xp?`lZ~gj{MemKod3fpc9-njv>9}GToEwPl`<+_FMRT?52PE(m2%Y;A#Nm|^ z$3~`>P(=nTy@=2gl@x!Q4px^>^Ld(Iq~y!(Bg4o} zP79ic1R{>77Pd;M&qitkx#8M+_#!kzACoij^(Qaho={EMij3=fGM*}%TaayS5U{hx zt#rG7G{cEquB&n#YiMefTMBC|lYn||$bN{y1Bq6bIC2(^D~OEdo;{@;%@T55C9-gN zlkS@p33f_*c6+?)-L3aZ3Ir`iZQbuIdM<1B1a=VPqa6?991Ld2Upo|5rJ?g|BpT@RyQ0beB&cMR2u8~9&X z1zP(D)Ql+|FrVrbB_?~MngpEmV-@sh^CTBPzLw(oY7*i=N$bGbYrr!`t7kAomxa0Z z!^EQdm8Nq$&$F+1R$+?p5{dX&|JYxxb_LFx5*JX*{LBqWz^JEr{^&zO>!JV{TcQiH z6X1#Sd@{YBi#}rN;%N=c zrl50vTyLLy`nw7^4x+83$5?+)xXDMFURW1>0O%NCHxMu?ZRK2#c zRX|s2pN6NZ!=W8r@cYN+!WS5dRT81WyRqz0gZp$)T@uje?J~$kUv=y~3hA8u@FI(g zlU!J~xnR*fnh|j2m{_N@a z5tgLZSrRpaIrfQA?folWy_F>3RFg=WE=wws-al#>1zfz0__!DrFqtM3DtrcOVIgj0mY$g4; zENP51hE@rtA5TDmjy>HJT6Sz-DGpVtp8*wKU{3b3vzQ`RMAI+HKW2+c&tXg40L1+qJl1p_Y6fc#wE!HY&v`i3H zs{`G&LHuQ~ZpPfybh-Nun}l{ev;dK7oFOv4W|LuM7CrkMh&~Bk3Y5rhwk&)lNfWHn z{DlHOjrf>$)bCzOBQ{NyDS|K*^|?ntZ?i1mPXsDW#&)4bmkkAf1AQsDL0~0b?)}6$@#GQqnDov~-Ac4y8*NDbgwY zU$z(jUw`L}b3VKAx%auxeYZVl?=Iz?CQW^Rv^G^yU)G8Do${+pwY}8hfIc+&1BXcS zv2`x(2b^u*Auc~fHyJK&gu03&eIm_=haWxLZLysDT++1>8i25f7sH&TCAuJ8t)g|i zDZlE?ld_hxm#TNqn;6i~zqy+9yEb`5i;0qvLfVx1hH`Ue@v_?^2W@t%rIz8UgL^xz zRQAPL7f{pY^ps+E$b{~68i!;pv&?_dy?SkhNO!|;gK*#ma~p*bsYt>%WUrQ!gNqMC zsd@pkc3=aJ{Bb&`Mk{pNvL^mQ6-`l(G+8utL<^Y?b_rEhXLIM=TS^((CW z@RzCkoij!-9@Ih}edw!P?6+m5;G9jB9s6hAd9Q>t(D&=+E(ZL(PT^;0cwg!r!Mypr za5$TS_)o?-oj8r}{MWA0pk@eDF8hj0#gn&cC)y_RtT%sX;_;^uokw1_5OwHg{6tc{ z8)W zmtAs2Exl-@oh#+M{~=wk(}0V-k4aI=uLY|k_we0)zX1iC7r_#2qf1*iTJy(iTHh2$ zXYUTO3l`Lsh{ZuWn^A+~!m^?ZNcg1#U2z;u8@b>Qvn>y3FGrTPv7aqdSSOG}qX zN!(5kPOdK}+Ih;^Hov^Ntr5sz;TwptA7lyUf~GnVUP+^SsA>OS5-o0R>#MEn%VyX9+%>SE zENs}FjPDS{vb@DwpE(=0e=^08|3k>f#<Je(OARai9kty`{HH!!BuJZ%FUroBd>e+3Hemb*5A& zPk$84L2Bmy^91{{^zfCE1hesF6JPqg)K|~fd-?t(OoP8@=fCG(H!SAh;;EF!t9T`f z{ZHX9o;=}>YHoGRR_WSIAV+fV_EkMP<`;DQmCu|*9`@U1r^!fpE^gG{a3V9-9ts-hh8nM*!h=hVR!5dLv^TF~!Q)l$bL|taGULoq zDwH|SlIC5k*K`)V*=^dGde2#_pDGzf7TLXl^WN38IYZ{;2K<;0%>S?QC$(^I8pCR>wkP8{Y zQmU+5k0kJfFrr zDgFcV!}5U75eZ4vE_Nf@sFYiuI=Gc5$L2W4JzfGj+XKbu%dViOwDd{!YhV9XP zNEygsxVg2~M&Buu95wyE4T0bs5m6fzUA-q9jLo4rPpjOl_zlTvI(|=q^GR+#D(T|d z!W?l`^qt9z2>E#_^U;zM@vc5&#IIYrCpI;>FtMMm(AW@Gyi_q+Qa-4F^avkio51#@(aHulJg!`DHFbPt=mV2$)G?|M zXv}d>l411i~cD<$~ehBYtc;4*8R7t!#~^>INIgUnMI z-cdxjaK1+3Z_MMTWlhp;+^nl|tgAz;*>LF`b&>1#H8vkgyKI?fv6T!y zPc5JNG)bpB<+MFE+3WAM6=(}1+BHJjE!bOG*drh1f4b$9()QTgy`S60Hm1HOqs!Ys z%eRU5-3O&d(H=B7lC$Jy(`&TIh%#(8-~(>+PMk!YV+G~3tN@8vSzcxQS3Omy7O&bmk2YrF@O+*NaDB~+{lDYj}E z-b9kCd7cufB2ht-*)JJdwT-FJ9}3k>?rE9$YpER2yx(jpe1%HKm^=2)5}-6J$Rc^+ znKB(z(pk=oS*DG@mpIVB=Gf zo%&oXdxBySW2aC1(k4yut|L*bFMcG}4B0x-X;3)w2Mg&355`z1Ny>3qWCS+{6$-~5 ze(jVc4&+;qFk+SCUFvzM_(;>An6Vv&MUl6*96n9sZY^OucWBJ-;}OuOz5D)U^2yNd z+1J}8UwKZEW|l8%1@<0PP}a_EP8wa1hc^HtzwLCeJ}3JQmBkL#oxC5RTDH}#9%FCp zD`jKRJkN6-Q;Z5P?a23hvYxY;<)@Sbim%HpipA_bu#!DRLqJSQ|C77Zu;1k6>ROn@dPVn4NF!?fS_Pm8P)rv=LTB6Rw z)Na93^3#-J6v|p}Vb;92br@4X z6F%=9t(V1$Mzh*iQW^QZxzvQ8nc)47~Hs&jq;ZqGY-2YBhJ5b z3mNyx-P0qxXW}zbBoTI2#AiagsP2>QgKn-?flBi{4htjnyo+dz0CC{C`!rhY0dFs( zKV1&`R3>3#nq9=)?h!dULl*w=2m`yy$x> zaaAyd!G*{)JF4%!P;#CNL#0Muda2bV!1P=tV;v$TJJ~DKrCbGr>H#ns<;FG|i6*hL zCosxXIU2HQ#a$`cPdSY9)~^>uahRifjps@AleY_VLNhQN4Bb+zh2<~5E*Q-?7cuE8 zjx4iaDAHWj9|^x~O_wul`JwM-we*#=p?U3E>a+*%_zPL8s=o9=_NUi^Fsb)RNvdlI zFvekx3^HlIBXW%SP(EaW{h{6Ylv)V0cShgg%FNVBVMd2RuFs3j9aHWKF}yHmZoSZ#J9qtr~T z5x|CxkZqKTNB&Ct{7IXvDqZ^xkD1W4b8Y2rQPGDEuMf#R8iMXNc0G4kPIja_V=69v zSXh3W8A~M-=Pp=gKH`_SyDwN+XFoN|CG{Ke;POUB-%6w`%Ew4y*n%Ls8euZx7jsjN zuqs+826J)Pp0HxD>yV=1vwJNqM_StaP@$C{(D6sXqLoU%s~R)ynKKjgAhvzVXf@}0 zOfC9KGhYUwBxj?wRH&Eq;%k1Il6Nu-F}qh7DHbur4H+2yW)r0~0qG7K4>t1cAVjU_ zyykkYMt~CG)ch}BU;C*ce_$9cwUI+vvGch@=XtRK{}^h1w)<;%22IuB$$$fK*Iz6@7RQ`| zcjZ1#an`&+brWx}_2gllU+q#AWgi;FB4~d6Rw_U)o){hZp!V=fam7&Bw?+%Ms1Il< zWrfXN*IZ6a5#p3y>a`8?CQ>09wajAv`%81IWU~_I*_?C;Yn(%uPtCrl*zA81x-m8^ zk=&+@I*Z&nIBoevcql@ByJv5A-csZal}*-O%2L8b; zy~#6~cqP)6$Ka4pCOzSL50>C_sD3s_b43@nI^3^@&bBQva@FvWaBHt8(o?%x)Rr=$ zVYN19>e9zmhS0fKRdFPEGPFG%wVmF3c}!q%92I*>ud0k=>&K!|#X!=JC(nrH7}_(m zukg)q2<4ufJX0BID=4E|St~Og^UD<}5y`lHcPaRBc+VcvC-??oQS6lj@Gre89b_Uy$t#9TI5}f zeqC-sX=e|hslo>CS?A8Rzn^1B(Cy5b^OE@#?iX?T-f5?7-_5&UQr0Y;HQjgwyStUR z80tsE&!+K?`4}r)JRucaNnTp+C@o35Cy&<&gun*HO{`vr{wMrYYiK2F5uzVIK@{V~y{T-0SrO=2kf93j3Bo-w=Fo^?JW8A`5%2`0C*Wi@2Ink$CiQH!O)!alX61z~nW>>0q(Vz+u@FD2LXM~ml?Cj0HJKyU=$>we%h3dSL zV^MyuL|fUn8+;R9>&J+9{kdsNGI;pB(+FvM#YUu6b>n=2n zyMx30ZleGt4%}?6ym-JIl@?|rOsGQtY|PjV?Se7Sau?!`bgH|d-e7LzZ0)q+UzqYt zvUQOW)oMz|2~kxgG#`u*CedGf8Wo+Z%pT;sjGAK&s|%eR?{>z76cp9D(Vx1q9Me(1`ZY@(_Y z(TVa{=-FmVjG}_y*ZsEWJ4p3}a=y;3^<+6GP598|9J`=U+bkr(ZS+@PYU~Grynd1u zzkFWf*?I$3UUJ$3hO}wzy&3Cw@AA&PHme}^Vi=B{;$fi@iqij)v+p%ZOI2Gj970Lr z$Di}ywtLTDD-EfwW)?9@W6o?2J(24=*s_Xb@V9UY+BttAHT&9-#LuvT2*JZ??|Ryg zC#7yJv-E0lHGio$B>xk4&Nr$eUFLIr8S`>;ofYslpClfQTPVV{L^|{4j zv|p*GNZ`85pWd;yp92;2mq%QgHz-riUBPg zKotY#I51EQ7~_C&380Gu{w0774vdxn*Kt6t6mY$|S3zDmRZ!3q)etbR1}t!11=SD_aSd<@C(*3|)NvrP2GGEPkz;Va7SP5? z?$!dPIM7lH#bU05yzJ_rV&>EVMn^W$^$@W}J>(r;4=rM{9@-P-1}LxS251rE4Gc|$6wOd{^JYK| zx4wjCs3W$UAwumI$R?r%iayx_)rr3q>NW3HNY!)<7~3E(ySC%Z3QE5YOWeO@&e$#}x>z@qDykbI?COSi zF7!ZYJnVsN>U*H*biEL`-V1pZ_Cmc+(FbiVc*{8cYAEP~`kDpTpH^KOo?D3_5;5D`FpjE>QPlP&)t^;JoMup#-iCLMderLS8$A5aHz^Xd&;0AfClz zpg0UkLWiNHO&D8)jzc!^320?kC!mZzPC#MzC!n=zOhP*xF$o#ZOhPtdQ^yT5 z1?}gLDJTTrPbjF*PbgOVPbkEhX>dVD6E;1jLH8q2ISmpX0g@Ro#1XKbfh3tTkj=&n z_-b;b(!+x5Isz$JFvBCTgauM<~01UvUgRj>%fB3yzb4okpIoT_yR zd>c5j5&Z=?;y}zVDEVK%02EH*u?(rcFGF6+zoDS9zoE6y{)Sc|y8^!G9}y<3fK@#L zt1D2&)K?)8vkK)iw+h8lS_3?A#szD@Lmc2=2kzrQ@;dmAb;Luk0TG&QK<*hEP*pdN zf%+y?g!E0wW@{5Fo#7Vv!f?csc?=G>fLl0;^ER}=u5I83P9nVnIO9O-4kRJpg$i|d z7uubsU1+;G_aNqndr+*dW5Bl$NuC^o(S6`Hj#>8)RLr73fGbYIeE=YEAn5>b!2!xc zC`0ce_Mr3%MwS5y|<0dIN&j^{<5faANc?*ts*J%R*q{K}sY!0~%CO8~dT zd4cZ^cu6K9BsqB!j^8$mlW=^i6`h1sG(>QG%Q_IjZE@}mL~wlXG7>{U?-0ZBt>17A zSOF-FdjOi2)ABx9meWWYYaYK=v^pAcullkVC0vlS70=6wq?aC?K0$3OK&i$SL9Yi`@1Y6dVI0DoABP1-WM( zOZKUt=qA)q@|n~SA)E#>wxogMH?o2T?n(i+quSpeKB6UQ;g(!Szu@@qFG3Xmdy0bD z|3Zh-!DZ0SEO0vfN5unLI4eQc23~AT2WRIzV&LFg2rdLa*t#5ju>FT20v$pJx5b5d zojG~!COHhoehLQD{Ku$q2hX>>Lrg7TpmTzN9`^tL6YIYRKKXy#-V>vfnBZsdKQ}?r z!fA2a)I|?JMF0*j#i_u<9Xy%1WM5mJ>Mslr75s<_a8 z!r;Fl_^VfB1oc*8fAv)8zfqHpRP|DjiV-f0%Y~f@lpad|mC~Wznc%csNBi(G?8IF- zSh5uG@8UnpLR>nsSH}^|9T8yF@B~MvO*DAgWI$^%!^v?h`es)h(M&MdD@hnk^dFX5 zjlWJb=-^Y3eUO0DAq@cxW_%I`6Z^-$c(G9R0Nz3$8$+wEOQeK*8y(*zdRV1zt(6uRyclcydf*dBjJHh zCX^K}gk!HglAgJbw?73J!!dIjIb?Hkz+iehFqq6g8NLoUW~Re!5zhR-r!S3v%xM$x z;YQMGPa2X?cag+TL0Kb<^9JVJUa5@s-MRJCK2@UKPvDR+}xs;73d<;hZ7XjkH zWUBP2z`dR%pI|a2I^Kj;sp0iOuYoEi(lgBKK_U|=JAxj7QB@g`bD$7}0WBD{89@iY zu&Wv=<3T71<(oYe*8@br5QMynhj)+&1%srDaZrQuC!J{3ZYs5C2_DsO^q@iQEoy*Z zyo*JL@FxX95+%u@2;~MCSyh4tCmBjD=>9)zSHEFZ8&;8c*KlH6I5*;|0S2ooa@B?X zi>Ndr5mDbD)SjxgaCx*dASt#)9$!e6aFjXvzbN05KSJK!DnQ9U6d@1SEns@_GlNv;{^CB$0w>(4Le(xrMku zLWpHD(9X3`B1q~MLZKB#2@p_##!!O)K*RtA6(}98YxpUI9O%6X5=Kw|H4Ks2iqtPe z1ByT|+_3~PA(m-D%h$SrJ~|LLDx3&g2@o^Dzzupzf?7aMUlF2gu8c#5XOR{J1;9!m z4Ky|!2qgy`^*}e!I#GUDbs*0HUVw1W7*aFx9DUFM$_M3}Oo*!v7y$q?1o@$&i6EA{ z)~gSKBzMA~K!rKT1tka|4Rk`2i#l1w6NC?R*@5KIYOh0pSm=Ub1Huj<1uT?uCQ=kc z3N$!_+)$!Of>00@VCxC8MN6W%zwiR({U7__pJBMbpbsd39OddYhX^Ex_=xV$FggTh zG6)w)O8{A+B#;To1h6H6+R!uJH%tIQGAI!}D}Ta-80?0T0OJUdDXQ`kuU)3^LAq>} z4f5ke=|}MtvjBo29D86m0L=jCCW`!P)d&=BI0srq`SdU1I1f7iR~SHUx{nG_;`RCK z`yg8E{}$QKKxA#Ku{G^!A(QID(k0|Md;RDr_m;@-Zflew+9@Gd`+lf59_z3Yn z80`msYD|<~lwnAO0C;%|GZhs#0IBB+%{$U*fSCtV0-f8)j9~&o#W0ys3a=XvFd&Y3 zgz6Ex_zYu_g5Gb}#O$%Z90y7Kc{WW*IftWBrKp%4z437NUd{73W z@JGg&@+cfYa+-!3q0T@pYFc6{p`mLQQP6-5W(d}`p8t0FIbt%RRUmVU;s4ve<%anT z1tI<`q-#Zph#?pe;OvFzg%(A&8CsOy>uP5MgaR=u&|=s92Z0xgxq~_snT`N$80H2D zHM`DN9~_MPzeism zgM}!agyAAir2aaJDs-4MxB+bvsu4*}Aq#y^7W|U}CC}snW<$hGA!~v11vnEOKoquc zjqMtNv;Ggp`wfYGHUsDUFNOuASc6Oc#kc@x2XHZJ3LsTYp+=}|^G`*Z*g6e^0c@UN z5Ly6r=VbzSAc2J z7%H!fTEIAf=|^zu|Ji4>2!jBMHQ+8Z_D{kPBZwD~nWRt$KK|cKLM`AR>=uzndbNP} z(M0|uMh&EQg4xhSUSk0A8ka#$QMbpy9MZ?9gJ3vHCyG)ega@3CgFXI61j!r_Hw~u# z-$p?Q49$VdP$mM%7)t!d2Lid72-y7r{_wA($ol+&EZOc=u>W7B9GJ*kkp&9^*lvNT zP-i2{7!4r`e%4;N7w-CrF49L91lKr=vk^>i4SkKWUA|KYw z2!Cb>F2WBBa)6SGhCzgZ5(s1-O%8HOiS`6}wX+}?wvi_;;6SR;$yFNrkNnjRlJOA& z$Rhfj|6M?o>>%GwXGD;1Xr<#MkW;h*k~S#X0N|1wa)6Jr0J(Y>QN9Z!0|akFkeB*( z^1NV%d_qYi@~Dy{ux~>c5q^8f9cFBhmuO9dl4$dAu0^5AT#zG_vhRuL1Bd_)Zio>& z6Qczoe&~wQ3bC=uXj3QdnggY-VVw2`$HrfU#uY6Xs-Tu z6-c*%6r&fe$pMfOGw1+Zy8<{mLLQ+G0_vP0KhdKScZfL3JYd@gB911E%MTLwZ;N3@ zNAreyZ|KTY}yfzwAgn|KNaQ)Ev zg9@MgDKd*qk|0}u-MP-Gx2Le1Ky)%h54{ihb|9}!gTT;^T+fozAoPIvJIFn>%2yeX z0Q4d;YTe1-noz%w5#~}kYDJiAy?m^yXJM4 zJop8#*5@ccgw~7mZY9LFfV!JMO)Y;eo=@*DKnySCXQX-1K zLbg#Ug)Ex;z)(NrpH@2rF+l6RUO>$MLEg6vqmZ2cFyQw%WDGqOyg={FAn(wl-W7;6`eA}3iwzNX3?T#_?Li9A68i@b zSM(7m0+BlDfuduG8#*TcVP?M|oqsdr3<5>VB8?(N=L(7dq$~*l2SJOOQSKu9HaP;> zGKj7X#RFcjLJQID>Mt`l0A4<5FiKM*vK|0rJ(!`wf&5Y+M{GZZ-asq}LP-!ASlCd& zSpQ5zG5>6(1$d>PBIuk!6%sNLun<>Ip*X;MS*R^K$^=iK-Txzner8_h zVyz++%>v-@40;dk`*q18kR?k53@Jm=&+Y3#vmokW*c1S_8q@*J8>&+fV`Gy8QyNeR z${)l(7!+ZPjZFj~d;5RS&A+4|C7=NI3#iloYJnnXaF7zU2GED-1!Qw32Z)TJ?r6=Z z28on~An0(h34oTDP&)L&e{}z|dIO-bgu0>IKC&+{BN*|pVTcxc=sYSuNS+o@gMZej z5v`8UmTL&rEK!Ax(&dkb%?R|pf>NTx!$e9BoV!AYP|*bX1E3&uVj#)MM^lF!2>@lm z(7#!Pn(Bo@{m`q|(muAE{0X7Lj)ChtLR7F9t(5u(B0rN4?X0#}(Z+sxc zCI&|1pm?Y)08*VAnkr=PVn#e8!e#)xlA(X!sQ)xcYG5oC8i3aF9~PGWe=z{rYLS0A zfg}L&-|R?XCD#bJqb2GkeCluMn6Z8J~LlqlmKHn^z^^X z1SG4WLg;e5HWzsJ=`Rt$wR+UY0`Q;@`UvF_;NK68M*BuQ1XY0J8L6+lkysmK=70M_ zTHXWViN7bt8gYwAi5Q2NF$KoT#FQB=vl@!e%>RmBs`FQluAUt*t!ddAa(dcTL;u4c zM~*}xLCfcHX%h|6+^%*fxze^GCh1?s4MmAf4g_7~&Wi(+mo?^mnfPf9{)mmha}zhT2Kq0CV>abBj>>8;nV%|(VYS&~R_PIJrqS8Cfi?~Of^gCm)T zuMSnx3+tHbYvFpK?LRqwlO(SkPrA7WDb6fnJZOCIW8j`m8i#iyOCdR9+zl$Kx?bc5 zcAceQV-Bm^R~;JMu%)e(3B>EhU)nh_bnJFvF+z_6^AR5{D<9%n;-qKiR*NH2l5Yw` znXjqhys0ltDm-ZS5GqJt<*OH}5pY--YEom}WRQA>NKXVPsgEoy;j19PW7m( z^4-*%(Ds|QRUuKL3@yK35Tg5t?vweiOWo2PP5$>(L(if!UAq&cU&eIe$YMNrST*;X z1`MuM_V_XUP@BWn4G)@If<2=-?$#{>lm6M3I--AT5`H(xZB$VE0s&6t>rK_bgY zcOsj*mHfBg=0r?x@eu7;q?$?=<8M?x{l-CBW?NpqwXe!^9CgEg@pXct{|c+N^Taxg zrc*}Z+g19xt!+;Y+IP?(jala!mRZ_%e3R9XvbR3nyI#dMzP3P?infwhF zQ-sm3l1o&YedtxRpZQR!3(f4F|MJKxy^)OwWxw}HTNt0?^B-BFjLNPWZ}wjy!Vlak zU;H`6_g<%GUMhNk@kQa+NaO6$GyfMORL1-UHMgnZeCrYoh6k>U92%`7uQ_hk!#QO&E`mMIe=Sr@bp!T36KcP=VCp6v1_~#hnodN{LAL%NgN4EIE zKW~z=c8}1lms1N9=+Ux}sWQCO^_c$x^-Z~?w|Dbxe@&>%H9bJbXL_5NhDA>GPlQK7 zc@Yy?6nt`dxZ~)akZ%$@eECL@#Ip=3+fJ82F!s3jdZMEHo~6}(m%r+td>*nBg2$xK z8E9QRzfLk>hj|%^8M3Y7$t_8+O(UrGUFEW$pUN*7<(2a%?00$Hj%dy-7jkSpg6vnc zjD&_hrJ?3XWMVbWz}H!5Q)!xnQB?qCCpeaVz3@zBg}Rl%^|o4hM%FJf7u^ZTRwo`_ zQtCRvj5@a>Gqu2f6r=7Kvl_{Y+|+sBCdmJQGjmSQ zy&>`ESxG~I^(P{DeUJMu zdq8k!ZvoO+WM6sQwO=Q%di(T>C8$}^Fg|9Q-@)bryKM1R3ai_;tQO2xq6&`- zSOhoo9ikJbKHq^5!Z3dtOi}iK4p3nxxq*ON3FT-$>%aeqV#?e}M7n_*;K-1o{St9I zQkG1|?YRp6`gDp^Md%N!*Ae_t;(jlOVjuPCEY2wm4rd|^GBX-B471i=j%iPkJRCT^ z`G*!CdWQ~jEOn0kG2QmHw)H)*ww_2cBJ@`Ha)2ytj(Mh`=q3-rIr$&z8p6&BYi-X? z_?WOT;lKyi-+aDWvi2sKJfzsYZWw9!G&}PZ3I~_)TgNPC^So3-HaWwsM%3&)pX9Gt zYC075gA(Rwp3XeVUbuPWeeSSMdH6EQ{J~+HC0ooV!q=Q*Z2h)@CfwvjZHz76oDYC&Np`N9?{jq{zPr9^|Ay=VyBmvk`T4y0rgj z@!W7jQ0S9LHd&=gf9B){ZJhi?HPJi#TUN67a$q)1U(;92A+glQJw^yJ8T%3k+@m!5 zP*G>W^ta;Bwcgw8PBdAR!l{d5`QwR^Wpv-0RXkd5x&)I@&sxduc(~N4Mpp$?H z+Byr2@UTo#xHQ9BB{mr@eCGgW9vl3dLZ5mU3ks1almp%I&|nyIKz&{Bag& zF>Hx7PBhv0ty_R+gLvtSQvB(v{H^pdcqIg@-^1j-c!8f&&;3Y{Hk_Tu{gBU6IN~Wx z=3z?B(@7W<;aJFA)#_KJl;LlircM;qNpJV4U9e*=pX~Wt%dJm+1Sbljn+XY6!$S-+ zY4f44Qyl8Et4k6(72GYJwh|rS2Jx)CiIbz|tuTfHa{cuD93@8I&E6*bobq!13hzx7 zGw4Uudn$z@XD@?z)~v^L+5_k0UQWBKK6;eTXT#;LGUq4k&=c{^fw8WQXELmdzup|ru;E!diF##?#>_BU!?Zt+tJ z<+vN%AAaTUnqDbR9O>l=+ar@LBFCCBb0jz1UbPwes8}aqMjq8;KfjS@Q?J0L-|aHk zX>qr3$L8))x}8bG?QbK`YG7u4kC*E_8nnIzm$I_%GuX zudj~06C??dB0oH%XbpdYf;#XS%LcR+o_$>ZNr;upF<(~f?l2`*$4>SJSNf^vYgg@a zg&M81`)fTe6RBb)!=B1Ky*o1SZ!Ca+G0Tt1xnqMMI;N$YE0zPKY! zxnRD(6RgW5L^kvCjegCke-hqnp_9U4Dg_qr*F)y?4q6Cnnowt>j*^3@Q|@>WF<6JtCClL~_;vz4~-? zpc7!E66`g#7>mo>INW>R>QcN-Wz3udM(&+WWLhuI{>)|`3#J(DP>5H5rlyE!F~&8J zfQEfHz0e6_AQy6RhqaI3z%*J39ng%W(Uf}F4mNEZ@MW7HD#?`N>GWBHAzAa$JpFzmG~XWdL0R+C+ zd#9H>2&~9v>;2ISeC*8d*vYVY!`o|p-oW8LM zsx8U}>*r-sLDa@ao3PWo=XVZ%yblqD&0dK57b<&TcO+?fQ1$yx)b^Ls`$32Ty^l1f zF!Pn31zPXCI;uLiljp1+rUPPV-IAM_*mrFH_!Szobanb4y1`#+eNx9?AJ8Ay(9od2 zbU$EJXXrT)4vJALrUiIT*jyGpk4yE_()1d1ZDzK3i(Z8GYA)3m zIBpSktcADhZ9@3*I<$Orpbhruv{whu^Bwz`(lZ zl0ZyW3p?%h@I))Ao4ov4x?9JM@b+w}g|=3s63EQsj?xHw z8^4v1CSo2t_hQogy_eTU{LYssg;#kg z74kn}A}yYd!-gHdikH(c=`gqGuydI6V;eNtuQd8}DXuKUxZpHU*qxB3o0V z$?(V1!m>}ne4d}OtP?HLN4z}7A8V{>reTPgQuJ8Kl*(nr@>tgjYHc_ZGRCi}i;tvF zvzFVrD;>Rms}Yn%J)Wo7C7$KTw%Sya__-&Bpt_;xn+p7V%Gk}Q6VKQCv2wODYYkPA z26KviBK18D)@@$(#!Y_@%X z4kb2rrE{2r4H7$&l-fpcXE5>cU9DXQ6mjE84RfwQ>4LUx2 zQ((?#q~My9Wv?ovVDUcOAzb$StCV&_*DF8Mq#KmK;a|Ql1`otL;RS0y7Tlt?4OSwy zj$htO#=Z4D_w>oDU(F$*83pqGtR=fc=Z|KUHtA(P$rvoGWxk%}lq1FzOjGs6qHQm8 zDCHQPp?)IUs8n2%E_m|6=uP{5+&!-`@8^F8q^ApLw^W8ohiVO-+IWVDJKjR8TSLPT^%>-($$w;~bH~c++mGrC=Ci)uKjb=Q@H;({if>{!Ryg;CZz$dw2^7qW~UahHEyGBuhl{1|I*5AN!7; z)I@@rjhcrQBiYOQybIrrn>#vu(qQ#Pp}j9s(-ds&ciZ@%kIsIbC9|+tG}EW%*~&W6 z?e7zbih+0Zy$D0p6Y@CI8LUn>^=J@We*Af15>{;SQx?A^|0_IUB3UCn*VSz0j@2Lh zNfM`^Q3A8BZ|y&L$2HcH-esK+ETtPaY%&WPTY87_rsv(f8-ySk54bRYVV6~?PQ)`E zT1t}{WA4%IW;>0ksaHd+S87McH1R;X&5HNsz&eJE==Y;{sh{3XSciQQ9#eWa zR4bGg(9L>0l~!6M)W_b4ZLV~4xLB?n0_a=GI@4wgS0jS$SR~u3Eh|CnT}MCp$7Xcu z98%8V)B`HHRr}}0kpVk3GGq+dGSPgil8=N;s`uSq*N3hTv^SQ9DXoxySf`UY+9l-D zmXsw@Z;aGm(UEak7Vr(;U?WFZCBzz4F6ivLJXc7rfgL zFYQ9G(;+W;IU@%q%V(2NVcUaxj%G2yet|TMxaM^t-UE%PFg1@{|YQZinN5m?C7b@6h9OU07n0 z0&n)Cc$u#XIXa{bFB!_Z>*qt2;&uD|EIzCugaYKnv2owg$2-+rQ`pUr#lkanT;pg^ zmp`iY9M}*YQY7DPQCR30|791TIyfyjRG+_JEHJ60oN=RPQshR+mtW3QXP|dA#l5wfMfz@4+E> z)VrxmV7yGAHd6oc&K{-%k2~${9Fa!Fp^GgGh7M~U)z({KG75PNZR>Jv-@AWq-;nw! zhjGw7k~z2Mxals|r3}y167W0SfEz_}4Qb0>DO|zm5v{OCF}B>@w5n_SY@!=C;hmFF z)1qS9R|MzzJM=BxPlx;ZL+A-$a7Ga(2PZL-_u(`R8 z$X*4!PBtTO&dQDCcgd~_|9~Jm{QBe3i*3bshL>cN9Y0R9tu7Wj1dj1});l{g@DJO6 ztaQs64_FkEQB_h;IkK3*Z%BJ^2G&J~vP&6a?52aJ#R9ZN)6Bo6(fQ7m9Ji(j!4oNe znsk5MEFY_-b{C9R;M#0m5r7{Y2naDrei*a)zRJTm#`FBn1+MU)N#Zpjj}tfp@sBQn zd)BnBla{MGhWc4uDKUb#bSWly7W;h!J5>($_-vDJ*S?|5Pm^+<#vagZjfV@EYOWj` z4oxdyBq0KfTY~1`8Rl0ZF$NaXUfjWVdRA4TwgDZwg-ujR!O5PX?k-PvKQA;G?^?3a ztPZeh`*hu$pVNu2$!@PPNhybyy1mP?5$((4;&vlAoT2X9*I{cQ3@?iv_E|gQbr;&K zNc%HT;t6LvFR$NW|-6bYDrhm%kK@f*Ta9+Y!%@z_3_1yG_ z-uz3uJsx9OeD+wc`c19ntYSCu`*8O6@8 z4sE73UkBa5uO%%&W|&h_*d%YgCF-ML zUZ3lCp&+LO`=jbK`p22#i~;wZmn(d9iE#M_2XC7Z=#>>LBXI6}aJS_z(YvRAH?8RU zK=Y?8@#5y$X?n{A7K7xM48&em;svBd`=f1mOUgv-;;>q>xbgu4ZnmU$@Im~HvurE$ z)aK3^&1`U`gSd?6foo(7cU;O|In@%w`(?QJV}mP~OW`ts>O8&DWU(fYj?HcI16J*_ z7>b|f(>;2Yl#`=^O#~B-ktfdJM|JV`i{{#Un*y;d9hK8`x{dgQ5+ys?L$h3KhWjla z-YgXAm;|vW9aHbP!w>HXU9mAh5tHqvfxjNVmd|E;hUd?8NiO?w?&m!vA%@oT+3*K* zIPmRUpLxg^w^7^Or+p$_gp*xv&$S<9`?w}HP(LPn@7H0vsbyd!1O~LlbOa4aS}bec zD9K#R-15`W@_ANo0V^BlCHuKoN)8{A>S(FCqXYWHcynmwi3j{?lzGorqUi9>AeWv9 zS-jUu^7ArgO^69c9>GHi>$N{*k3K%=B%xm38r^n}%8AfBg;%pqFxp>fbq_3t*YQ0T ztI}1HdZpg2aw5NGaVdG3vvXmveY*ngk!wNuGlQ$JNdL*7KadW2p+Lj(B{f6VaiPv~ zhODT(SO!h0iluG%tuE&!=4RiPLPO0TjYDS?kocAG|vdLHFG(~Q%K zJmW2e@H$`}-N&$=In%`5w;LM-z#_YWISXmYm4u>CMHJ_(lQn-E3+j<&mPf{8eO!F% zUCm!#5I|8RT+ocHZLKi@jJaiL9*c+V93MD#C}uTs?}|Kw-xhIfmMjIkvxqth#{M{& zhWZW#V1GPX8W4G0R(%5&)dRL#V^*WZ$)6(RNpG|E+-eI+EvJ}DVgO2OMzWh+fBR%)KDa{K-a+0bSbZDA7fFk`jeQ}P40Sm^tLAPRpfJET z$OHC^qQ+TL`mIA6#t1X6Y6mL}?n;(w-nvuNcg)m>51*arDW##*%I;IA+2&PEjFGT2i=!u(!r}v0kCpd%);Z-h z2lvZ2JTD3U(AHg%wj^n0Hf?Kfo6VS%9zARfC4!G|xkfdRH_fxH!8Y%|n0v(JD!OVm ze5dUoZsRh(bN)gYkH=u$Lcb&}>Ovtw^Y$+{m4cf+^u zuk8l3=L&Z}KB?Z6ACy`ew2J<&O&a)s)Yl7q>?TV1jUsrNfn}P;Whvros==k;(QbDi zWH}5zHYco_npap+Ri=ntI;jd9CIt z_mJwxWS?-v&v6HSE_lbxUB|m3lZ#)e!k=cW4R&l^R{z2qbNeRqkpweJV=U{vyMjjW zP-|n9hQO__jVl}!QY&*T926$csRZlPAKkcnqafmAX1+m3g16J{pb_Crf>b{WJAMA& zg58S?5EJek1*1ONj>+2h!-B|<9J*AAbT@2%8BFnE8MEOTQ4e+a=KREojz*GHi(!Ls zV%Ag&-$?T63hhT1BZFZ3V#TeKQe#;Xye$32^ZJm7UDPhv0xIM3lXf$Vj>}gVFTJlY zOS&3}moP=w@X|RZf@rmqlIJD5&EbKp70lBHRu94Vak=DKyl&{j2!Anq-!Og=OCvqS zJS6r`r_0>fbt=qc#jWX*?pd6%-gEj_AY8r=0uV(MC#LaoPBKPs9&KfaDS=6%JDgr z>{i{YA|P+#jmOnnU4%B_SvJeBWP#vUSZ|3(*2ooz9m%0F zP))bD%fe9{gXvyyu z$d1KJ*SOfcf9wT5Nw-M(`7Sjr>nLIV`RfozhBtCuS&^@1;mT&aJtR)vx?OLk-5~7v zbVNlS*hFep@sm$l&TvZDI4?}(@CRxq77v_Djm1LmNP9Hd`fEQ%Vr4myh#`?{}*=`TrO* zBLEbtT&z-^df@P781+8scs9`=&Ch_;y?X+OK&ZYNA!OmWZ3P zmayh?helYNeEbwNk|VgD|{El}Y)cG#UahlURWnmzG}e}Mwk zji%0pUz57>_2~AUsSSD5KEPpFwMrsBmF;?07iAbybVC6SVGo`;n_lB6lTDL)V75j( zmw{v1R4l<#V#b6So757)a#*WT#Fle(2Y?VnXPX>WlDVE1i=YWm(DrHivcgn4DnDyn9Y+0q`1@*a0!p7NcKu@y%6J-ubZr zokiu<>vA_(v=$KWc;6Nxn*BQa$xWGJzL@@A@VY9!EN~F#U}<9{+om#4*SW)-mxk#I zgZ9kI$ma2^^?xD8DP1XI_jD5SzIECd8scGd@L+cG6`_#aQHiQk#_GpKLvcN z52`L(KZO%`(G$tifB7*y%H~z`dRNSsddtL9OfsM^h1&C8EaL335`Fn$YWJ5>ZS|(O z?wRxe-GyQ9bh#DbG4{cn=fa_Ry|1d-c}#K+Nbj?kCybWoC<_PptuXIuvNFB_;+{Wi z)0pSM3)aF74*Rt)0m+V`-yph>^3m?)%aSDd@K8*kK2k1D4PJ^(n??WK#7xeDmUx;PF z?jbVCvF`vJ=TLuq)H0$B3e$y4k=9no`!h0e24b`NhjQ_zK%QVj)v5SosId88nYU-} zXuYtZtWj;Ov!Sfiz$;M9wal6}si|?RikfH`tBKMdn<(O5xSIWCevqKZEPL@s;Bd9s zd+*z%ci5fFUvqmT!?u%HL1d#FY2bioh5{lplm~L{58>Zf7c>__jpP{N)Od0}I{_bA zzB_u$Wr~o_QWtbNCJNfBP>-gYmgYl+`SaA8 z{?b01*_V7u$F6Q}STjDAaH9w6wSvn$c9T;GqX)VTOtasKWK+JL_p;0v)lg6?Zo3XI z-@d~it@GS@pf@#twdRe6Ml>f)>g3&Dn(y?hr01WRQ@`_R{OD=*19xw;*WAH0sOf7* zvL46Gbi00*b`8&}X>Vo0MkGYEH~Bo9X3O^-RKAAQVa6#l zTsAP^$V{<689d$Yr>OkQ>}fIX?<|hR`Kji#ySuoN0ZkYcj|7Rpv`{{VXx=UzDtEG;9{r45H9e0!aY1@GGxYwj=Nc2rFkaEsxrEb4f!4Z zl-&QLPx3Ogk6uMau~gk+wv+LcPY?xf^!5i0`l8GO#r;ji#K*&ya3KvorGiK-qgz=g zO)S*%@4=B3HNCmk@&1jsXAS7I7a+ae)pq#RcA>jHV@1)7k}6wK(jn%#Mh>{hA6Hqj zZ)dMPQdPiOA|3^ZKV;x>6sSjS9Ttrm1z;#S#Z7LyrBUY9sKRCsV6q7Ly(uY444bh1(L;J`5O; zx1zTD&TW=F!*%Ei?aQ9nwtQPV%=bwqWP8RuA)}(tahr4fAzV1whR{$_y_YtDE5 zTiOjTU0Uv~6vpQrG6C#$a(uVwCuza&qzym8?cY#IRog^`C98xz(X*7$p2m6KRh=&& z=hLnlyVA?`Sp6M_L@SN)%&;pvmzdRi0xz zQtCSlQD%7r8N3`ptoLCXN@3sUQ)hU&^QMKF7))xIM?=s6>S36aPPETXd;7ZeL`qMK zYe=Yhrm{l`xJ4HD?$VJ>Wiv~mutNr+2BSFVc4OVC0$yk7_Qh;~pqwT=?{E<6 zbn_IO*uUWyoVV#nY4`Xx^p5O;+hU{&^wWtxg3BNNYQ;a_&n>-;eS>F)D#|sP8z&eu z-Y9MUhkYvRc|~{br)r|Y;N{ohg{{>SlhAE9-gnc6Lg|g%T^aKV{>Oi+7cybzQL7!4 zsbnAQPl4kE1osn@c9&<8-ASqMFP{ovNM(BX6H*_+^>aId^q8yo@f(Qx33=z% z{X!YyijoGO%f+V=mom3%oX!q~5-*=!`8&yhD_4yak1U3XmlQIpe{v_zC+k;L*!Vgs zWO~Zo!TjBlvWjn>wjxo;sfl$TYyVs5`6gZ4G2MCWlfB{JDpdsqHxu1^!cPJ)(ytWc z2+j@R*_tCOnX7(d!DHHyKP>fCnl_FC1=%B63RYt_N^oWPrHgjUMKYK>B;qS*4dYuoS z@Fq1GVJm-Q%n{&O=Rs6Q$+eB{Tjtx{srV{N2%nID*kh_hkC6Xk-6$ebQq(zG*ku97 zfz)ciZfnXg+4)YzvcVGsjU#drZrbZ{oYX=;Ry=Fg!Q&TY{H@Cg|H@E@vGM!{>jGmw z_k;QECwL{SWHL*Y1?`Jg5wnfmm@oB+l*e}imG5~%Ddn%&iHi?QiR6D74cr@DpufMS z7X{DM2zg=aNTT-b)m_2*V1-gPqBZI{s<;;)wMZKt(C%WN#$Ep8dT+O17(pL+EJ@#Z@p#g&?j+l(aGbm^kelanT!D=hnB^p zlr%~VdjsB7%BrD^rSJ6u{rwi0%Fl7F_^blp5z*mYTB%Jb#hEsA)1ZEd_tv)!w_?(4 z7`15T+XH1`Z#q>c9vc`t-4N0fP7|V-!W8VkyKbSTGuysK-Gnc(0d9QH|OkJl-H}@bPPjtN*gxZ^Hliv0*ic3?~gpp(S)*5Rtedr_+NhrEH&S?J z#>PV&5q#V8`~A6~v7bL)Hc#c=x|Gd0Ira}tu{88Pz4G|bmf<8oM@y{KEIZv0x~uDI z`SC9QnN!v`TlYAKekH#AK>|MWzCN9_3H*+|EUDSIk{^Pwl;zChHUr1)A8`S$7$We6 zMwVFG0sFqmjKu8%=2XGy_REG3|^~;*7K- z?#XGjbxi)GB$yvpSmWyAJ@dLuSYa&^k;16X)Z!Wr8j3I9CxF7qzbR&Du`cuo87~-B z^HIO4;*ctj4hG~+a~JOOYk3z0I^2VwX>J7P0|6D`Z2-Rped4Louw&1FSMv9J&(DSB zo1$CH4<^rOG%ZUAJAEGF3|Qc6I}tT`M^jOTHz)4#c?gZpGT9k@+%2POp#25I>S$DI zzB6oJP9&Q%gryzDRrc-fr-j(B(Df06A+eWsNBi^~gUjMREnkR+Y*b#~H?({MCv)PX z5~|mO65v1G(k9IYv%-bqd09E=-u{mJLew`~Vnp`EM9SUrrHnwusU+y~Eq%n?hybjj72o%0NFQQg+^6l-jmCK1kU`Om%d|nxM7yD2VeCKv4$WbV{DBL@gSY-CX zA|L0;S7u@7XKxc=1K2%ruDLhkNpFE;B#H6l8&2I57haCd*D&0J6iBTB463;Q3~}!8wMMfy#OQGv7<8X9`EZIhgVN ziIe=khCqT~K0YL0oK#QVnh?R|D-Pk2_!7Ni7q7M*I5ctNY1p-Hyc`N`ZyfQ&Xtv^g z`pSe&P+j-R-t_6aO0|2jy(;!HHysxXNuCCTjDxD1<(0?O-}ZvfpWA4K050by55K&~ z#knJNciCe*#cq7rR>g>Lif25&KtC*}ARW*nG%(9j)VwR$p6laEI;z0{pZ3}#u=9UQ zJ@k>DieVbhwR-kbR%STpy`YKyAC+(Uy(9p~2ZJ}_2tV0-SZl-i)H$D*T&ovsUb4x! zv3?PwVRTXwG*FV-%o$`;4Q&Du(uy|^Je%Qr>jV?fRkU?ZaqsKS`DQN&0bSUNl1@#p zX^wIk&Uas_7i_TlK6&S~4TlDZzbwGa?_&5vov25CEC0+3dcZf1uVGt6dd@6sWQf~$ zAnahQkrBS7W+d}K{Tl_IJ;7(Uk_v^a6H}pM)sSbu>)DC7HWh7kz8{~cVU*A9JG?3u z_FtfBxJxwtA}MUsB|ic(PgMUkH|}l5h`Z;eo;|%r83ol-+`O^%6l-{v?#ts|>sp0h zU7PAGtYJB3QH|1mWPA3m$?}*Yh`QjwQp&WVr}n2kU-Ck7=Q~TSQ$8PSyTAX$tUMAB zVzQ>7SflRw_A@jwaa%b0#5J+zjtW&_8S+FzKIo3!!vbyhg>oqB6D`YBSQaFmF z=CBnS4h*8Atp0T8bjR56bB9j%3c$k+eyYcAs?LNc7u<=#|D$cn_?Gbd`PSlDe6MuP zC;bu$s{-W*wp1}Cd=2p1V-wp^_V+hfkKs-u83##RzVP{a)tX;xDRlc zi3E1fZ5qhT@%M;Yc*VagU3lUdV6`YXF~?VfuooC>emKvqa93dLPj~0wrsEb1y=%s_ zLs1=8HOYzHAFQkI{?Ks_pf2cGWLby2$~9tjHkMwOtN-z!-IDdJU~P4WA-* z3Y8^TbCbH%Wz{uvW&ZBg#d=oXmORHe-%4W9b8V8#doQW~>B3c?jJcWWI8?I|a<+

U9j#t<<*c$8V-);e{xC?s8QN&G%Po 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