From b38c19f7bbadcf7628e1d0c70c6ec9ac9c691eae Mon Sep 17 00:00:00 2001 From: RedikultsevEvg Date: Fri, 22 Aug 2025 19:56:29 +0500 Subject: [PATCH] Change inclined section viewer --- .../Manuals/Руководство пользователя.docx | Bin 4704446 -> 4704460 bytes .../ConcentratedForcePrimitive.cs | 32 +++++ .../GraphicalPrimitives/IGraphicPrimitive.cs | 2 +- .../InclinedSectionPrimitive.cs | 3 - .../UI/Resources/BeamShearTemplate.xaml | 54 +++++++ .../InclinedSectionViewerViewModel.cs | 4 - ...ResultToGraphicalPrimitivesConvertLogic.cs | 10 +- .../WorkPlanes/PrimitiveTemplateSelector.cs | 2 + .../WorkPlanes/WorkPlaneRoot.xaml | 1 + .../Services/Units/UnitsOfSI.cs | 10 ++ .../Logics/BeamShearSectionLogic.cs | 8 +- .../Logics/ConcreteStrengthLogic.cs | 79 ----------- ...nghLogic.cs => IBeamShearStrengthLogic.cs} | 4 +- .../BeamShears/Logics/StirrupBySearchLogic.cs | 12 +- .../ConcreteShearStrengthLogic.cs | 74 ++++++++++ .../StirrupByDensityStrengthLogic.cs | 4 +- .../StirrupByInclinedRebarStrengthLogic.cs | 4 +- .../StirrupByRebarStrengthLogic.cs | 10 +- .../StirrupByRebarToDensityConvertStrategy.cs | 5 +- .../StirrupGroupStrengthLogic.cs | 6 +- .../StrengthLogics/StirrupStrengthLogic.cs | 18 +-- .../BeamShearCalculatorUpdateStrategy.cs | 0 ...hearSectionLogicInputDataUpdateStrategy.cs | 1 + .../BeamShearStrengthByStirrupDensityTests.cs | 10 +- .../ConcreteShearStrengthLogicTests.cs | 134 ++++++++++++++++++ ...tirrupByInclinedRebarStrengthLogicTests.cs | 12 +- 26 files changed, 363 insertions(+), 136 deletions(-) create mode 100644 StructureHelper/Infrastructure/UI/GraphicalPrimitives/ConcentratedForcePrimitive.cs create mode 100644 StructureHelperCommon/Services/Units/UnitsOfSI.cs delete mode 100644 StructureHelperLogics/Models/BeamShears/Logics/ConcreteStrengthLogic.cs rename StructureHelperLogics/Models/BeamShears/Logics/{IBeamShearStrenghLogic.cs => IBeamShearStrengthLogic.cs} (85%) create mode 100644 StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/ConcreteShearStrengthLogic.cs rename StructureHelperLogics/Models/BeamShears/Logics/{ => StrengthLogics}/StirrupByRebarToDensityConvertStrategy.cs (93%) rename StructureHelperLogics/Models/BeamShears/Logics/{ => UpdateLogics}/BeamShearCalculatorUpdateStrategy.cs (100%) create mode 100644 StructureHelperTests/UnitTests/BeamShearTests/ConcreteShearStrengthLogicTests.cs diff --git a/StructureHelper/Documentation/Manuals/Руководство пользователя.docx b/StructureHelper/Documentation/Manuals/Руководство пользователя.docx index b148c7d143cb99c01cd4546a6f5de195345f435c..4097debd22cea89b4847339f6d86a169a50bd5be 100644 GIT binary patch delta 92741 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%0DVFFK{2GT);=gCCSgM_=1s=xme24K8 z6O_?fq?xQ{Chs3w4{5Dvali9y!%C;Ose6QBEmV?N$Y96dyANqrLQ4`w{pA=&+*;qV z421na#d_-H%u7j2A%%Z%j1zaSt$T?p@)(KniP9%RE$500MhU?TwSOv}7oFQyGT9&t zquhcrEGuQYGddgyFR+K`Dwtta*s*2Dm-PKE2%?a1-x_VSGAalT+BvViZmO1EhK)!! z8OgIw-O0m;hxUFJlC2^!@6YoWNOKwOciMhea0kU%Gc|>`g)zhCDm&;+aU#*;>!VT+ z{6*qL%4o;6JJ_kg`QxAc^10@Op=Z;jeN#luHTn(bN7$;Vj`&p59;zr11GWclpcDsJL=+(L19*ikVOf!>#{M=|CBL>qn8qg2dpy{bG7Ke5VAWADt$ z^3!_tJjr(NynItf?@?uB0CgOGiX#q~$H88=YO87;P_BM*uE6yX#J{`rkGTCIaM9&I z)w9`lWAyc3!Bab z0lw=vqVyZQc(cp7od>6bf63i4H#%y>J58Lb0_Dpm4h@1u#7Ge!2MnO;TQJeqVF8aOVPJo!lN z-R&#yF89lTGiY~+gi`1?uo&Q7G;*Ey80aJydj&ilUvqIRy$z`XEEMa zFwW>Jgf-KcvZ9DAr238(}hPzE=@*XXF|?!gG}@Kh+Xk!#>6Cvj3JrZ3**9rUnR4@xpl>B zh7I6(vU1xvizN>t%DR!OU?t`Uk9_~EWSxE}n-;64)KWxEn_dr>3vtmljV6}1IdYd) z7$`VK`Q8!=6=3B{#?x%%*-IC+cY~T^%Awg5^(Ug_uZ7|#$xPy!^T~J3!u@$qAT7+^ zN^c&%sC?ho#c)WNQvPAVrcFKxU6k3LC7mY$-VGthQ)zsRHbzUMF<9!5fo%rXuZS2NhwmA$N4VQ7g%}6`#x5RS(4fm zv6e{&`J#_AlVJ1V4@>FUTe)H0%zo3y-jP2T5n_g)jP3VTMK}7DtdX7oryrT7gz%BF zq%guu5{jB&sV=f&lWQ?p|2yBvzU&GWi)S1DP5h$aRsdS5&?TOc0zP+hZ}MQ5+!)%I zcAK!F2YL?PF15mBY4Z88GdMTNif`r;{O=b`bI4fKetdo(u1j$j!?PmIfwP4v#u65o zH*i7X7=>|RCCkXo&nCW5;riakqK0?Jb&59L0v76?aEJl1)KsT|5uZ@+4x!6q!0<*) zt74D%+lyv~aOqdohRK9e!V_b|N|C>Y@>wWOe}IKHTQa84&|rW*rQDNoi`gn?l2@5y z`y9dfrxnwO9Q)0`is%ij`(-T&OzeY5soPVd^3|?2t)HV|suvk6=kk$7YYefbw-Hh~ z>(HRo^uH))-tB9tBdOYk`(p@}_?07C>n5qY$1Pc@i^ScJg|<%-wxh}h=W`(?+Jt<% zcU441?|!q|>PJ!#wKqui9WF(+^cyPa2LfDIEXKhPXJVvU(s;wO-|T`Kc~O7-`j}~1 z)-m%<6BYd`c}JVKJS?V(nj1Os(jCo}a=f<@TG1AYVvRatKaB{eqvuYnNmrdqCvM2d z*5hBrEyi%~ml92~<3eBKVh8(WNhF3|FwKny(H8k2TmkX5KrQ|CpT zD*LGy@gSdv8f33);xbY%8*(m`cW;_BOp*Q3B2CkYXJ*TtCM1Muk}y?aM%s-IzNXe4 zI>Cc<%+b0fdy{LR$nZv%g3~2czBnngVanYJbC;vc3C)g%)8T_Ux-SmyUY^*yzwy(_ zDQXF=!D@=|bnlI%Ckfa5D5}t;e&mM{1nZ-Y8qiqw&dV1lmZuAjsL3w%qX+S7ZdxjE zF%so=^y1r>TLLzWIdf>>E!SXf1ydBCU17Ive>~Dc$55=gqO$&^P2xmYKnMtcl{JDSi8D& zDL(8G{n010#(sKbAga)z_Mt<}Um~F1m3y-7L}K^KYPhy4tEM)WR;TljR7^qwM#exu z<sn;sJ-v$&|9pFC_ z3!~yBTe0jW-IzZXdvjD%yQ`Je0QG@87C6k4xbhbkkJ<|q{;75RPvpU<{cGC#^s)Ee z*GE5`>&k=LQntlE0qyIQPENJXcRPg@&ZqKkj9TI@?TxOfZX{})hj8)zl_~0;;@$Xj zVyvjBC`Sgxu0P~vkNn>|y7Q(u0$# ztN8d^9T{XA4DX#5w1`uV(XNhx-oNlMn@4jE_hQDcD?PnJ55X%(|NV^2v0eU zM>q+-$r3f2`+e+=cId{wcX((WeZ%-K7&s73&{Em;xtcMS2>kgMfZtY86pzuFZ#kN% zKeRro^^d9A=`iSKP%A8ZYD);iKDc!XJ>;x=)BB9~TAt3`eX1#Kk5%72cLZlzldN=fw zOZEaPtCGnn^n`LBy*0(EA!-AH1K)0VuQmt1?Hk?Y=jqMZM11Xv=$q?>~OW+ihp*@JRr;`4GZZ`yvPmEFzQR z>PUR6PceiM7TT#gz(o-5P5+bTJa@&3IfWS$kD4(d!3NR1@kpj#A$wFHWlBN$%aIs7 z@#knC>pXuPIWQ#dsZ#@!v59DRdf5-52fnlSIHTJ;`Zjs0vrlRw7vrl_!!y}9&NMVhWDT@+7?Kt+=9);DtdzjsA z%NQP695bu$zmIAQWhjdzm#6tX6Hpx=Q~uDwEU9eR`t)7)EZyF;W#(Y?lj<1|%i0w~ z+PUZcCJ{<4P*&0Dd2`Yy-tK*KWDMuM2gC>7iFCR-H)bt2*Ph}(`q!D;wk6ENmwH%s zFEo))Dn975qSGEHIdRh4)5L~*@SjulOp6q z8&gu)Pq?)Bo^uiS4GMP=cKZDJr=qmO(@j5Rr9_ zES_5Zs~`-p(8;(tE}R~^zgUT<225rKmE%`vo?+K84kcFJ)594}L~)MGKW!#D&#+KX z`@+0O>9`eb6oT-DWj8)vY)|uAcwN0eEQX~@;kQqk)JXc2*z(@$E2H<&VKjrHG(joB z3Yl&)9fI3Xo`i*g^Q+r(YI@!NP=4XTeeDz^-%t9Xq|gpbKh{Hg+}TTiyDBBcwwCjH zBz)W4Qgk#mTxHaqFmm*yg00HW&jw9R4RgdN(M1D(*@Wt%9JFWNMx|CB^txt6GhvlM zd(j?oxwBRV^%1=QC&?=u|GFLwu`KIXf+P;^IL4!q9KR=q9^J?&asa%JJ6@Ny<7@aN@;~JylkKqWAh%daB zonBQt-n%w1IX%{qhv;CJk!pT-oS=c5IJ_-KjKTEX(T09z|qkRNbj;S3JQKqfdSZ1U?2w8+Q9X;0pxZtrVhM)Q5g{bqHbXBMV|oT4seCr z7*+r)mX#P-7=qvcp&bx1@IG33UJD1lH5QC3SEKRvz&00!tPGUtjbHz;}b{2OuvJ1EOD42uy>5_fh2o;#B#F0Ja_o zD;)U#>hwUQ!0u)Afcw@3SbNb3K=lc0{um>_`dV)C;aV3)J_58x04pUQ`SS_klVB0$v2(Uhzdz0AfF= zH9+x2pMlsHQ311{;NNmf0cPA%#K7wTuy@IT-T)Z80&-qt1Z;wWzvYw#u()K2fj5I- zOYX8|0qh)b>31F2k|-fL95B`Y>k$G}4}vR(1AjrmSB1+1ec|%Nfa(xfcMae>1jYz} z?iY;%u)`1*`u`p>Vf=s7{lFUnhb8-UPZh!~h0eZvq5SQY?w z1j0@J@*QClY=IVdXp;O_Oa8;0fXWC&4%P`s9)U2D|Hr2*SY{GDy#Dv0 z-Z@CJjzU32%@8FuC?gC>30__hs~M${(y%sKmaIwUNNi({+L$sOR3v4RKI(~9E-yDb>nru8#jyZnEHH;aFSt+j3kp|G>mY`zJi8wy`-f((AeS?e^hTmqQqDF@3L!sx}vJU?wpc! z+fZc<<}rJ1xwUi_i2ASRewq69a(!i`(Y_kL^d^6*Ahp){ng{fO3E9cK`qoQ%wTch;tVR9Cjr04DqCxvZMRzI)36f11l4bxdi|{-xPE?R*}GWBdBMNE zd37DCIoG%Vt1kXp@^Evl(`~;AL`DUj^dEnCbiLi^G}@ONC(hK~{8z8`cB^(mJ_S7Z z_Ql%UzpA~xQNuElH-!=hRNraf0CyYd7F>io?Um-*C4`l=rHie00bX5f0!X#5BKuJt zLl}VZe4y#R&e*sZS#^=fX^@qN2@+o4EC!X>Cp}sR-0u?8cpp-v`*)>r?v>{9a$|pO z#2$@QTxmw1w4(hc$yw*+;PoJ^Wq227%b+Eh}+!TQfq-FDr3O(~wk$IxtTXXFmv+4*|kQWVGi8!oP^N zd+)(I_6e+Nx6uLv|DHx$wcd5K@>N2XN>JbZBfrNwtpAh2k3rCmU*lsZ;{oM%0R)b76Hiy4QdEEv;;Nzau%chij4Ejoz(FZq2jY(ki(nFjvk&<$#($ zvfMIE)6z{#bgVQSXp~LMfhou>rL5f2wdYB0k-x@_S5x}J+-`~AAww8i-G0Q4@tgx} zh3MlWx?UmraY1w`@KjxqtSq8yN}vU{m3RSHh&~RYlXLLQ5q)lV$nSrU6ZlQsDIpi| zB!YoOylE(b;{RMz zejhgUvM z6QI9Up})YI_EAND#dbqg4$zw^ZNo7v*K#U9*vZfzS531<{}J65o*(T0oIv~rS!c-q z^%=Rp@`$ypi5_=|cWStYOd{YR8Febep8)ag3h@Pol!s;>I8=YgHv(G?9MPtuySD0E z({gK_PlaDSjL2kTem7$8l9rDfv0LfjhX?Q#U4OPnwcjSxzm5>!d$-nm7X$&i3hiQQ z7rKpJupj|y@cJe^yU7w3aW5ixF^PN-(!fk%PS25yP^-x2<0B(0^k(G~~p5nvc}O2%{d+5#jlf5?}YtLpAj3BvFCe!5IFGMxrM?g=seafHn|t%a|gi zNoMfGkt7E`tVP@0^aQfx8WeDYu9D2zqKJkkm8ckBR8)V#)HzXcWV0#hvK^>_>}N%V zY5SfUnA!BG)skXFQ9&!RS&NE!Hao@9Xxv-qDT$0q^PdpTt0?5-1Ltbs$xfgPZbOnO z>6+#B=UWBmW57A>yU!fX=hi}$(fyxbDvSbM9`}$dt$ivmUj^+RADCB6&GvoKKS;8? zK-Hycvv_|Zm_LlDU2}c|0E#yPdcPsB&uujCwWqU-pzhTof3#Vq4y{VhPl;(!!ECAUqe+;xHnDL0VMKMZ(50Kz#3a zy{4?$*Zv8{h$TuR)dFoc`2BkGObZFuh{Ne@a^ z)E6b2_w5_YcUZ^r(ten+*1= z=;R#iAKBy-lJ2XDWZ?Wu!@lWCu1<;PrUCnN>R);o;mIR1+VcbXUqu*^jIjh5C6FAy z)<0CII(TgYNUy?=bC7;yGfqgM6`EQg_5q>-(qdh;6{)a&k zWaJl0d&+yH-ET+td$%fh9~<7aDsotacjd@N4okkJ8@4S(4lAnSn$tTpZ9W}_w8MxT zw&&f=f0LyKebW0i9htcY7s#up0`&0#y$bO?K7g((s$_%#`lP4zb=8z?o3!`}(8qrU z^uq}8wdZ#i_N%N?ev0ygqAlirv{}LV_;6l@;T|72S4>UTRbR;dri8K)8ghTWRd7BA zoU4Zd=X1M_`Vm*hZ}e`$w9?k3&klXv9g7xuXy$Z+8!TOO+#3KV9o2nsb z>4xvQwnSiG!TQ*+jzpb3tj}#0f7E}{(Nhwg=+Um8a*sjFI(ou9>s{;Jj&m+lTc?wN zd=-p)d_Z3D4coF@(Y9{*hN=hC+B%(6kUxxITzg?oPkBER{e?oJFmuk6YHxHB{I0@d zbND^tf_QfLt!YkRg|=XO(LB}DwQySAjB|?LhY=oYFU;+6E8j*>d+(#OOD%tT#PjAe zWqhahLJ68o+LnYSbic87>a8~fa-8{jePyFjTW>Xi;xlMby6P9F4M6iG(5e{SoIpFW zF}kMdnVvyjo9UdMo?%F?G_9zt(!QLk@;nK&!-&xx^+1Z}N1lBQE0ITH*i{AN)OrElmL7 zRiLa0;p&lf>oHVC(}ezp5M3B>D%5jYDFKewLvUr>Jrv#n?cy?ScB zo8-}RGkQQ92qMT=06#Xs>s9FNF#>p1SA1E)sg|~;TY+Ku676qR06#9kA4cdb0Q}tg z=KnrUXIz2z_~2cI$>zZO=sMuLN~nekMs%hPFp6p$wyaj*JqdUpMwl#s_uP8mv%o4m z7A1B3RR!eZ19=r7n*)FHqwCWW*t%<3!e*!}d4_NK6_8H^|JNOpkz5uoiuf;+AEzh_E(XzIqWx&D)!5oryGAh&B7G+OFoRHxYwCk%C zMG}fERr=B~)R(H@{o|uA$(pKLwkMp7t=NGt$wn3VIgx+9bST05%KUnb7wb!OzTOsv zgvLi?KaF;x-Q>9JBcc;|pb%ZERTA$wO1vu9fhh5`BkQ4QXrW^2Vj4}w3RKJU{3%Ji zIo;enlw1dMEAPHyB8(jEc`o}}^pMo{@hKvl1{P0A0!+C(g|V$${ck z_OeODL6v_OAtw&3qbd$G%{DYU7dGojmZO-?l*GY&E`W?f$%~-Q?-ubVS?rHCYd?Jt zA9Tz(x_q93r4hPw;vO;OUH+-cjxavV8&!6M;{)@$X32qRqkf;>7qq;<*X#=BCxZDy z$&R4T@4jFj=11NLtYCk9*st;`h_J68*`zqKVTXU3Wee^gniiOn!mJfjfc^P2_87Cu zt5CvrF3fHq8AA`SkD(oL0`>Rw8IqW~e z$BVd5mQ#)+4cwfFDKyTc_^+L5um_$-kxgL&>q=1@b&4V6g zllFL)r-u#(k5!UlY)PRVj-;4d<4{IYV19?~l>7HSvI0KnOkF%xm)VrI*=F$`$c*3O zkB78#jE`Y~H)4Ae2#j|z6b)A)lqHCJVzGZ4z28xtd=mn>NEC5KGO84uhmzscAC|p(8ow+s#3OyDwBC+RVIJa z(hSv8aoL!5)X+o8mC2Sn4V7t5*W!ngvPG|sqT@%=rF^g}G#?+$t8^U42hCO6l5C&0 zi_!~V#|R8HKznP2=3}Gzp`_!`t8^SfIu7PvM`1KPpj2G!(yF+>*sVM;CPDuyxxn#3 zf7wtJ*Rh2&NAZ#bW%LidC^1A@eP-P{icBDYFRwD72`R=^I3(?mjqYB`nj^)lqF2`HST=T z8sG!;vSue~WE`(6c`&{_sAA`H@?gXj_YC!W(^nlk6#V8i*AFe*A;+&uzaM{79+-y` zJFn00siiEC25mOz-N2Knpdsf0c~C!!cBAbI*T=?nvkI2a;rfVc>Dl4B5-7grnZmId zx+4XFX`?N_((}j0^+O4k2V9@uUD%J&5v}(da!1?h`$SiVQYTN0gXdKgd=Af#Y7H24uDrt-#Gv`jw*kE>yl>6fhi^( z)HTJ>jVjmdL;!v`QQr$A^4fEC#)NQG1Ssa4@N*9k9X0m*4 zazc~){eIw6B>~2l09Aib>+z8QhU6)d=Llg-8uPoIT3*Ai zMfWku-!=-08U;h`;YMtg&~Gy6uOeEH5A;i+;f1y-K))8+o*c^4I!|IwO*@Aa(K;fp zJx|$bo&myN@1y%OOlZ)%4e-8;hezD+-HLO)!bQyA%1;%lVx51cg#1;ZCy z;<&cr`U3JhPN+)kD4Z!E|9qx$B^RcdBmdl*^uOV_|1{b~W6tB~aqmNZj`U`ALeQj` zUd6A9m~I`})8P!m)ig<0vzV@Wc3^rsB7MJ^fu?GDALdh-p1pH6b%`qE6O?`6G=RTe zrw}Ihd$M%L*Xe(6XSwSEW;NCr>EUOd0*WVVmM=;*lmC~YfUK#y+~2)sP-MaDZr|jU zB1`rTk;M)a#QGFj1nI{+!Ec^xwJxpJ+n3(x*4tfpriorqSm0V6fj2ej;sq1EwgOQ5 zI#8t1ZY-azUud}PM*R}q2JHI+kncURXFmdWJ|VvA*YHdg^nTx*|TQ^rWk`$QcX_!m+MSfnt84DtE6)dqFiY* z4b1#LcH5T9x9QA_HAO0G{q3F^=*m~Rx0FESA)b=LlZfDCxnGMujqU>k@f3k4@%Juf z7a`N^He9{ey9wVOoWuffQeMyb)D?4>WI7r^5xRdq?uSJ);;;dfi9TT|wV>Cx1sH(~ z1VN9;O#K`9Mh6kFX8_MmGC+C^Bzhk=CE=0nXpbFfgWB$gNxm*_#3+PAx={d#*qrV7 zG-V7uLTJ4Y-##R8-C^hA;Bdxg+%QFYyY>QAi<_!jwZC2aq{iLc%c1a#(5rixYz7$P zDg1xM!XIG*GTMcur?JZ)&^ZkEDHF{Hqt(F6$GhwW>}-;z@+4aOcWHU>J{uDZw#q-s zYe0%_VpGX;zp#a@)|35l$?Pwj#N`Oq_g!zStdOR`Rf!>h0p-U+ug`y=!+fENYYUjxHWq|zFS2O2n2(Xme(c>$ z2#Y*f#0Y~q90X>jq- zDVl2ckn`e{+3X@tq=$UoZDU$h4Ew{J9k?sCbGif=s*Y!=wsn-i@J#d_9hmhfO}2mg zy<4b>LJxW3a6E*IALPa9S3}D4VYyBN&xZyFWD5~1oue>AD>h1K+WnE8^>q)Ad_?r< zPk02fTX^9qw&psP7&F&4vm0#pJwyO(StSS*JPWP>xTCS-LW!|d0$tSt6ZNtY$FlUW zjkJ6lHpHJqAAwT-Wpp?C6i5LQ{BD2r2l)F@bO-+N%Xg#SgV6s5Zhsp67ySQa^jZA$ zr%=FMxb-c(@iDAoet;|A!tWnyKYbs44i`U1eF5+P^{2-$jj*6U*4P~=*MHqy7eDa`IqqPKWp#|yo#;33vIx=e*}Miy#r5t z4BtP6Z}8MfeD`yB@V}wqA3>{xTHyU};eCALYwGQvShqfd=df73gpL0U3i<}V--YiV z^Dg4I&#=g^u!*1I8`!bC@Y3f*nQ!U!JJEMF_=3&DzcKy(yM~oxdEY>@Gv(o9U&F<} z@JEppM20WfV6gGQJO2g$W7~g!fY<+u6uA?9wt&w;(I3ZDh9+R+zkm{v22cbJ6?XgU z==&5IvCxmHkH3dY9}#DK3r(QgRP~oMl+aq%@H8RVxNu@|lEj02CpE~Q!4r7>4)p1d z(ML5X?f=2cUq`=B4=8@eQNDx2gQWaDA0+Jb5A^cKY~}t^TPoqC2 zB>gNN7Ay;!1k8GpJ%sJT-=8M6W5vV<-@w;zp?M!gf5tM1lkUu{}mS8jOjxh#6?MV!6>4&`=pwYgMH%XVC$dr?(GOnENvm;5K5^>>cUzHx6BtbfYG?wO>5$z6O&s#mZXu+zS8TEBSLP*{uz(GQ)rMe}ijRpjfPgY1Q?O zZY#O{8Vq{;mZUlK*!gA~IJI?!+YyOx@mK$**ILl@JyY2U5*GP5)?Y{zROmi8oBM3 zGJPLI^pz#Zl~OiEfox^XkpI>=ckmpghpHk4xJi6;sG5Igvu|N~Jrg$vvN9w?9sFSL z?vHGNZ#p4u*v%Z-WF>UMz!H+M9NK&?%b2e+gA^qPc={-ZCw&K zI%ZC(13|XHv_cSZLf?Evar~6~#_+yz=b*{BpzmtaCQY~f>hivRm4&ci1PZ#BrkJYO z$z)$vyV!s2u6Ir^E?$-vRxT6EbrzOdtBWGT<#y|*J4A|N2d+PkvFNx8A8}8!2ww4n zsoa9XrW&E9TV?jILralW)a-JE$=)Ht@JrNnF`Jd=`k^CaJt?fw1SQJoA0EfXN7iL2 zD0I*$7$4q@grwqPOk8t~wPQ4JMaQkFv8i_RB-?*5fu&i>49rp>#b)55^;cX2rb&88 zE4CkT4+s~0@1|_S*jjPJfVOF<-H+*I+GZppzG&^=qD>!KEW%xC8yUi^eW_rw3r{mgP^cXesPp3_(r$AvDDpYH(qJ10J;sUlJhTnZ=qn~iW5fH z0?B{WWg+>#D%-9n9-5MdY%x)t^@D5 zzMnmq6ByI5`ltJ_$sk-zu~haBu@t{FI_ZChPoE*&!h#tJcPCRZY<<(17~=42cy9-h zi}s%pi{68G*!hplKLNMXsCZ^SAdV!YWQj@dF+&?xxqv2g+*T!z1i&}qSlkguu)UA+ z2J8Ki;wd=ZQk7WFj}eAg^R0b^Ws0_jhBGw9);uj}B0F?4?!{B=G&`4)?~S9~Z3x90o{=u04$Adil*^|` zgx@1|f(DWqTFIXTx3J3qzv9`BYiNJMl2cI?&j^I@A) z)+zYqhae@~#J7*15uM=QE$HfQp@A(Y*g{x*xFmklg3T~(OP5Ks41%WNi>Xxq3RX$` z#vl~JU>GX4uBP$7XqA-a&v-es-0WOhxLOAZ_|8ImV{v)$pUl@T|NOFZcH@8SFW&l@ zBhqRAv?RI>ZP9XOAl(d%6blUOi2_=-SGc|@!zu%0HXeYE&N4qHZXEgD3+`kd%z9u)DC@SR4kKWmr#@T`PZZBw@=;(-kFcOG$%75fATs!pX2^@595R*qbhqnW+;q_r;TNE+7I}?URx& zI}0(kgSDd3W&6G-g_GDWQUV-ilPoVB1Et~4lS?l;0$bj*hcEmA0Y0;YF$M$z(?^qx zHLic5OZE<-ORDkv1lav@Ddwl8##*=0=0a^5g9lTrn&+in>5u)1ENUgcLhvyAu zNv)Wg9)M7sBT|nOwLBWBRm(OE&leR9*9;9k$S$~!8>!1Vzm^?~fBBUl-G;iv9>h?Y zzVC#gFYG30l4?7KpN)%{@1gox7NHJds6c;7*Jalh&rmfTF9<00(wqR;&&C8W@{A}+ zYE26bMHfhIxPhxEdUlU(zGp?S-ud5S&kOuu<>13Zbu=|_UEj|wxMrfGNs1+Dc8H2_ z+Q?woiXpqln;AwL>+FdX2Z3->;K-^Pk&a{?s*hlPK5 ze%6VqqVz-Y@%lgk81i=*`wja3SHij(8W>|s9G}Rv^3>_mRU+c`` z$<_c`=0<2vOZ`zCLsvb8U!AS`qk`a7B}>>7(k(@iHD!(#XMel)=L5$l&9Q$CSMmiV z$BIiixI2a4y5=Lb}j zo{Z97V9O3EGbu_dz9JdAIZu07Xv;ZxOOC0#hNRQ_Gi^Ex0?F1We^kZT!zew1j$&MT$ygIy~;^Fo$fFEGT!o3bH!ilq!Ss1GMrE)suY;OXas!z0p> zAe-E~KXZU@lG=f13a8+MCm1O4s5n2y3zW72OSsp2kFKO6A$qr7q?{NSBZ2V@JX=OT zFFDK7!t$$PlQHt@dbB-Jo~wT^dU;SV#0wagKyeS4Nu6b8?Pq5v8h#+q?M0R#sZW{# zF(l>a^`bzq+0*M6qtSosJ~oB2zhH>oezaOBm`6Fxag9LLLqV9Do(ei5T^)1A)g{2d)BLk!nSit+1ZLBaB?!ZGMMN`< z4vzC&(WJuYwNigM!elEjf`C?6>6L(E+P)(X-TEpGUYruKWXGc)FwS@p7{W~E z?0ltcemOof6R6t3XyY;&=H$?oOgu+cuzUrU7Y5ToXx_y zos__~eRkf#0WA~~;&Dm(h^D~%v6w;$f{E*p6L>H^KRk>HF(xY?_E}{Mh%=a>(nTf7 z^!in95-NWc5;GR;r8FSfbbKomU1ANzwaidR2t4bkeOjgGqxLDNz7I|NN4GNtn-mqK zxd8V0sC|lOEvA<4gh3#S**+ytvqN9WQp+(Vi#DQi)XLr=YVk`G^=tpA{XU0mrU0C& z`=kW!6b9kbx}bmJlu+vn#Jb3>APQa-C25)>wrPJFHp?V6FhHEQlt-=iZgUU?kwZG* zme4kAFwY-Qg4ZQSQWV7!Mh`9pk}bGFIi{>AeeseSJ>HA#=+VRd(HndK97`4YBQ1UR zdN;?@_JBK5qtN@XR3Rl(SSGwPY$Q`1?w%pgN;0-Eu*bt5lOx48YcN)%{6lk*2T}Ep zFtdNaGkO>oAGdfaUtyh)QXeSnAGHcr#$G>#3ZD?s9w6bL_pOM-Ffr4$$o-Bn!KvxUtM!?sjUVh2Q*;P!v)osqe{NN3oe7qVQ`Pr`#V#T6VApXqEk zTor$ccafCWi|z~j!mJoaYyuXYrw6^kbp%@r)x!L6q4N=)wks zt>_Yg!j|+r%}Zwda9u5oAKq9%Lq+lA5Ql;Fn577&!)mDsj}j3@Pmy)1pdOGuaV~!* zvSpFEgK<@&kCG~c>6mWPa^yxV2e}D>EmjIASq;`bsns3f25TtGG|Lh@Jw-DIKZP-E z2jHEg0itT^;t|OjU zsraF+IN1=*5t%Ee_j6NAUri+0l@>R*nRs}>!0aAo2;^%74zmfW3>&{E5f z#C(^Vs_0la`tN0l)(c)EA0;b^KvsgS4DyFte!q`REe zqxde_xHvblep&7ab~SK4OA>t1bj6oFBbdGv!=nU2`N2mBwcobBxsvv4ZlPcj%i3G zC!D+?mFMl_lo@hZS=JQER6<&il3G}lOpmByy!ACs8(5_GySiq|rg$ih zBzdYGW<%Yxge*_up}@pdv-p@aIy8xqBb$AgJW*)j8{4e-?)!g$RKc81Nq+6x3w$w4 zHL$aV($8d%}i&}|DigNf#_PF8LK1R+K{XHz&K#$mp6;(ra zSPH{80$!H27?Y?MwLX`*nxiYi96JG-FffzNnjCm0naz_foS5?5XLW2iWfG0O56CV# zAdxZ?6Omv#WJ`am^3z2ex^nAdJ@g!1OirfAj;HuScE$hC-naGEab0Qt6~a%_G)>mM z>Ikrax^^;fcV}WhOal!JXo|9kh@^(1EW2kOY$?vza9Zwm(&$XkiJf%!(_jFZHe*tv zA|UhLefSsrOQzOZdspqfYge5*JarBasU0{Xc`mhYYp;L%`c@D)BLUlzqMpe0`sF5`;8}m?Cmkoe; zrDwu*r35vkb=EJ4IWKA&ujF*w3Lqj^s=t`P43Jrz>ZEXNH}weoL0@%w7%Es+eS;E6ZwnLF`Heg7?*`Rwwf! zHL=69y&%khnG5@@FhDZzX5@;pdOM#MTBU!vh}Hr+E2s%`WxuuA$zyO*QQ`vmO0YpTUmsK23FMXly|Hx3y1~78eswA|&qyi{l7@eQ1}w0RI`q*$ zU8iyUwV$Lp2Xr4)Rx*6O!~W)5)`wvH#BuDnXuyHEMHEpRoGZbVR1yJ({us6w89VxW z*ri08f$r(ZeeiNWLuvw|(NSQ71i*iNCC04KCkvHs^}{fWfs%J$R?ouZBk-C~WfbN< zo&6NN0&t>V1LFW1D&?OLYLhBBD1r+SEP58wQJpb~YzRvLkv^Eb(_ATh4~j&-!z)91 z#+0^8{^>*bJdVm}oTXYJNi$bQAL_Fb+s!DeS~Ln2K##dmUzeqzpRnu2Q96He6f4H{ z?UCX4h=1g?4-yu6~os{iX`#XB>gG2mc3N%L7O4> z&(c~@laxHpz!_LoEjenbNV0#57h?o^o`DaU^o3=$*$=w896)fH`}5IZ&0@abYNtr> zQK|B>^KGW?V-6xed}J>0ElM2KSBz2`Nlhtac0vvt2Ao+XUgMFC4M(b!Hk@d3TxA^B zIvp}FIY$yxk4QtqoK~D4ayzV}t;RqJPmd*6^-~DC0b{E(W5r&JFj;?eZp*1((jc_Q za%lvLd8R)K()%U1J0L5RC)%Kh(HsVClC&w1s*QvzPEgdT(fQndPH-+T2M|?|%7XbY zyl)|^3l>Pe50iI`By;>kiEC+@d>mRnDzBQ0ExyAOQ{W|$w7;Zt5^pX$ZxF@U8&)Ec zx(^|*je#u`6na=N#1el|?x7k6(j7{%S%xtWCc{pH2xr<{ohGF@dZ5ZaDSCe3Cux8+ zgi~%Du?Rc&#HOUeZiZoCxmBW-x|>?vtQ#z2=f>V&Y#iMAQ91MK5BTL4{zIR5XY1Yc z&i={{J?ekLV|H$o!l?P;=D|MejmYM(U+nE3+%IRbaes4r`;C9s(v6*W_O~}yU>I1% zop|@Y`Z9{OZE>#kgV(D`ZNWc-4Ar?$JLOpyFf1H74!DkE!$hW?0oQilzOx0gerJ1k zZ$D?R%{Id~q!}*k^v=B?INeDEI>@2VZ_Bf#CyM{~PlhTMz32aawDe^0XRi`f+<)uA zJNzfTya*9hk9L2-QmUK^t$%}f2h`R*M`qI&$``dfc0KrU{+-xSc=FjSzUi1tcBi-c$9isqrS+?Q)i@B zuxN~zz;#DHq-8JW5?l^D$6OTMMKR{n1rWs!{zEV9Y~H6I^e?@*x%XiAfUga6;NZRg zyvbjxaXHudm+%+%1E09Wd%>4p@5lg3;^L-1gKoLlD}FBBbAD5_ZFP=1oz+mpD?|~F zp$J0}5=DQweJBEC2!6qckXMU593w&uMaUFkM2MjXnIen`G33!cMc0TBLlH7X7!hJ9 zLZ*mmLK@|Gv8OIXgn2$I;tstV5noM zw1y=kkH4LQJm81$($qF;7)MSqN))J1+e*WTD&}joxvRi%a#CoYay&tS9)Qw2DS2>` zJ^z1kFIRGLZGLtg+v{pNq*xG!b@&|>V5}NYSN_+-+~hAwW?R=>ul2NH4{icz${H_p z#3I4&RS>L#TF2JeI7;Xx))R}@aYE0I6rfnoE-WXs<*eP=H#4a|k4M0&gJRK|kmUFUvB=Q+wcrQ5NKZ(83Lg!gl+(ZFu@WRMB9$}1<%%_vH<9U6z5 zupJkZ%l-=KBMsYij{3;Eo81b@-~&IZ>FBrdpT(Uh8*29fI>vT4_CMf1*&J#|-}j&V z13Yc##@+3mH}@)s*n{0$fAt%lmD$;)vI`du{ps@ zeu9gXmJ?2p24Cl1Ao`s|4E#bO=hoIP{4kQoNFF13jO1BC&&l$SN#b zafJj)8vAY`XM_xBpc(_R8QwAmq%k1-taH`EJm?yvKho^aR;xh6&B#n3pJ4H28S0Ur`ox$r5I0bhu06 zOpuifJQEE#+r5g3=q9p$J`>i7BP%Nc1sP~i6Lxf0x$KHek@^J*uHJmrN+j{zHA)zRW-63lEfIYbl%aK8zDl9t7c9RGpo7jnfmAdB_oQdAxGmD$W<_^l zv^1xu1*lnF!5KV)xt@In>2deksM>#xWBHxI@P!cGsEIFx<^rdb7B|SSphMC= zKCA)2B&Pu*+!hj0AJH-Sso{)VzL%P792HJ#<&a+>)=UObZUqAN-z>+=Z|s*-!5Q_u zDs#X&@*>+S>`Xy;vO_m0tW-wSQnutAKBDF|P(^|95nWD&V0C4G>sGf`Fn8~asa1b9 zzM)HXi$!8ysBdU>@t4*3hXy~zHFJtr-bF%#ubY}xBY}(rGQ8{3NuX~2b$;+8#~FE} zJW;Gx$BzBTmkSC9v|5c-x!_zbV^tcNKG*3OnLeO2Ffx5kr)aFot8j`23CT#H=5&k% zG7`v0pyjYC-69RGRE_@IN#b~M2)2J_t5tcP@bGegAHi0@Mzg8yi;Ijr-x~4mVXNvV z@#QvTqH|&+T^>jy$1ji6ZgduOgCGivx=Wdfn=chln;utbuDq`0_FTNv!zg`oosLoZ z22>Y}(l@75yi`ixG|9YHnx$?5`F>)OXOVbWTtFS|P->n5eNr~w^9#tdlsA9gN^>iT zMxE)GMrT@Xo#|BteOeuUSn>Hr5j2Y6oM&JZL8Ay>GDUDPr)Vl)uNoN}c&W>GewQ&N ziKYM-N}SGRE`RmX(6RkkG2FZ&%d(LZbs28mm9DefXsR*xP`|}fAS)RpDV^mWSV87x z3X+uNuj?(6WHvD}TatR*L7xf{!U%2PC!yJ1H2A!CDC zb@|TkGD1|)6yQRM)49x+yX#w-6?#gn+i~KgaJ*o$;pRJj8jW;@Temrn`(%Kt1_7>; z?DL0mil!Y{v7h3WAKWY_1Z#mUht&vAhDB4B!AljF2xi)`7oF%!?391kq?h%C7}!qY z1tE}vT~vKC;~T0xgUq+PuT1yE3o|^!n4QE zfWqKB%2)B6j!Ggc$wPlR4-FcY$Jejn4Q^qL61Dl69R+R@d9qVy&?D&scINAk1hKtp z?($o_Y=~v1&~+c6Fu#3k0w)aYD1ljscz=25#-kKa0PC%ZGRF;Zy6V=*@2FeD*YG9s z8c1t~n~GQR#!5*D-{KYgIS>JI3m}}MRk+@O#&!y)zw)R5qoaQu;4}h_oPCCj39_Ie z7y41jlgju0^c<+}yNX31?e>0HP1vyYYz4qzfonc}9r-OV%|rOSJaWxT*;4*cKJ|0t zRgjzx`Pql`Tym@8;%gS%>uG%$k`tt(AkD#hEn>mhd1{B2?9*{Yr4>o@f9_(-ZVC(L^t$i(DZp+PAcCeHSn3-Sg-}rcy^BwtC(ML(jp)@aL zN0)FC>jzqP0S0)90|Wi*A4w|~1yQ4ka_g{DmMxqDIhEV;h}T_UErnch0g}EVRAA&k zrz-%;!Xa+1q-hYwEQEgp14mh zfWelVh-xk}5DcCWJ(CFWcjGSucg-%PueIh_b~Gn40TP7c{SL_W8-_j#YSJ+y3n1Q~ z^OKHK8Z*ampHMMx(TE4y3_kBi3X^E807{_LS+NstT}Al=6w1ftL!SzjWg^E}TN(d` zZWo)%hm+e=Dg{SmQGLvl3RF7`Zkh@*3j2xM`2H zlbTd08iO^_8-h|_UjHvhE`C<2Ws*PR8nFf<{EuLh+*Cd&^rH13w<8NZZlWJ93bUlJ zYQmnK)?4)K-`5%uu$l63%DJNhif_helR{N8Dh8?VJERlz<^b8ET}*WH5p5MwEP!S$NM9bo>eD*jiQy+V&k<#9h(nDQ(^vF`DrE7TKWFNUo`ks zZ76TZ z^iy4%PER+zSRFZ9elW#9jG^Wo87lhUXSD|1)GNYVdrVW`;T3X$!H%g{Yw~`7;N@%E z5w-!6IyK2z)#`>C%I{>`X>8e+>UFh(#P@6^mof@HY*x@9Soxi)B*9mB89!ocAp;Vn zS%ZH1c>`ypGLSMlro9M9n4s5#qJs+d3&waEFbAv!{x~hEh{7?TuAtHQ5vj%Shp;6e zFSYK3YamX!gGZxLH8m;j;Sm6TE7%so$jDl831T>*&r~Ws3ZGn4@>mG;ko^bj9nR{I zg|{#e2UqM{(Jc$s7gG`7SSe(Nyp4#Wx{q++%x6J*C8(sRhr={LK|!hm;%l@YA&ngt zNLvT;88w+zK`Zl0u*BVYupm-Kj~hkLs~5%zK#L*!jR_F0v;d!Ewms($m0x1a z;AbcX1+I|lI-h8{CmDr*^yCf+e>hbTvDC8q5Q3LxksqtUz95dgICtdQYbLUFdXn@G zp1Bn{Q98miKXydSm$eG zz8$VCwJ(UCFPXI@IwcFW&y5fA*s($tZ6QeQB1}dynpyjePZB!}gzKk(X+m)RF zJ3z$0B?Xl_7f4Uo+}ex+f42jfP$+ZfC=g^p#}?Xk5wsHJW)I4*{D`XBJwM|O=)HU> zBlgNW%&x4Yy|zdyy`C>?iKvi4@(@d1>Hu%+Wg2Bkl3JeHo-MZnC--F2NT$mvDHa)O zQ<9^ujrX5v*-Vudz z!m}V{4^&_&_$I2p4Bt>?Zk5#mI<#;_&@!hO3HcwZSO|{a;n}`Mv(jWUFuylk1Prh} zBO~PmkC)}m(dMETf8e^3@<%+Xd% zw8XxEZ9PI#DQDEi#{_MIh#ZweAT~A;wA92b3hAW&5%C*y2VsyfZwf zKX>5gYY>vFf37jQpSUXt;|CHYR;ojN^SDx}3A>%~#1JH=N*mF*RZ*CK4Ags!j0~m@ zm#YGCt$N3b+jdeiuwUY(W(flZ({of%IF+U@{>%k4EK0v7C5tYb<0Z zazhU9a%Fa)Te~z$N&9Ee&5NiH!w)o{xp(_q#W>@e;!N(`_TUZR_xZF{Xfur<{3M{}7`Lu48bof2^* ze`E-7n_)AWp(Yk*0#UpSai(6}!wbA94m?FbTBFQ$fVM6cI~GV(4u&>%t&Y&btgrR_eqUko7w`9YVEaDkXW0yg&N|Bv7BS04 zsOkQ_t-E)Hpw`5o*Nn^j%fIb4qdNLE)h;v>`DdK&#-!QGp}ICozj?iFUVTrpe_^53 z4uMu>dv2*zmDfW*cI!-W9DU7G%Q%9|qzluPFzTTotGjN?}XxI<8dP=GiqkcPBv}N?GZ%6FA9mR0YKdv|JI^FQKasH8?>O zk1WjZ7EP+c^CKshn*=Q_HFWIffA}9!@nI4AX*aOCbv=bYQ=y+DJwW6{Ji=?0k5m{~ z)C}t|+jZ38A*7}!hJI;}$SR~j4Y$@0x$@7-18Po2-_c!w+4YRxci@c`YqmVAb}eG2 zIZRX=rkdorb%1Hspk-yfvex|~a-7IgBi&x?J7FS6x|f?V2t1(wjcD9be^L&bS5>^J ztkwVmS)WoEi`YXg*ztXe@8L7WqN$JCD>Zwcxc;~q8-XzDA1F9Tu~S$QqBNjJQHKFB z5GjbszL8U1!hpPw{Rl6Qk}OyB6FbRbJ4}=ohgoUUYm1cSca~Ek%|MO1oxa8^Y=jV? zT$V|}IITZNr;bwiA4Jc`e?b0Kpqk5;X&gJvq|j1wRbq}M?$p6U%|u8DgDdW%wgA$3 z$|9SIa1x1LLC9S`4uE_8$0rNKH@n}BY&JaHti5KbL$cH4{81Te8cgawtjx;n98h{> zR_0oc9gZwHwY|%zpIWfu6sJ#m{5`piTZ7K+;%K(a_I6&vV_70Mf5AXBSI8@s_>k~N zD3=Yx1dzWX1`qT@U|o?W>dIJ?Aor@omT6;ms5$^Ar`X9Ptxum{jh3ub1l#91J=3T8 ziNjP&Ci>#+3CJ8=IC%J(prUjg3h~I+2Dl)QrJtZmKv_I;45BBV5c)!{?^Qg{yGwPR zQ*?p|J=Y#(f7q>2beG0KVh4_lW-t}n`|Or*b&PU|=e&9Udqb}6K=Aq0zMbM|A8JgBdOqEs`7HPz@FiT89f5O&8yP=8{UGm>xK)kNGf;z=6 zQQ;H;;8V=FghB_HgH{E+8u09xvoINus%u&EJj0Gq=Zr%SSL8K!I+mgt z0tzL>+=Rf#VHI5MA-6pz46SUWgy3x38(Bpl!)MPfx0^kE20krCoSS&ZAS*NRj*C&7 zOuWM!f8i8^nRthZcbFs89pS4L@3@8kEbj2Gdf(`OKbkZ7^w6*tO;vyP3b2J`IM;Vp z8~M-j$Erzi5xX(P8d>|6o4?9?OY7)yLH{d|>xhU&;2 z$4x{pDB)mLSjOFWoLG>D@M3a(7Zl~K^|&uq?t5;KD{w5n6WERu$zick=sN;JR?qu# z#mW2<=w7YV&kl5s)UN}zU}W9E2*>)2-o39S(pGPE;(30Z3eQT7=*9Ugw#RH{9QY;` ze;Y_RBdm8IMu@s*Fw8mkt5yq=Y!r=@W|yur^1>{Vy8}3E>*)%7tIx9JU~E-=$!O8cK2JW2`gYhweGP6j1LipA^d!D_L0I%CPP*X zzqx?wjy*wo%|#CzHQ!Jt2Xe*WG=o;9e$RE zts@9NXtyGkK@!1GpKSav!v{Q)kQ6jEuZ-9LViOB3L9K+x$!uNOLxo9`D4na`umC}( z>G=&vqXm>sMO~6k^D|%JARs~owvd~vwT;sOFW+;VI+S)vAC4pq`6$=E(!c~Mdo8pN2gUnVWR2no0M5h`&Q+N+Y2qsPH#|x z{Elk%@a_AOgo4mxj_siWuE3fZfK+1Ko=YhS+~*KGB>|8#0@lN3aM&j7xs6W|?oA7{ zQ`_-Xn$aOBKG=^^C{cdu_U*0BgPcB#e|T0auvM?EfKvF{$~*8cee%}c=8yJQ;MPDtGh!y= zuizw0T?R<#*@}nPsr>BbU%vO}`y2P}Y;P9(6J5_{>L z(q7$)OM_vvoVHCz)jj^KqY978HV!sc9_(+Q<5BmvF}JgPTKU_Jd)2hc-)4T=?t4Gl z-h?&7ALUlCW3%|F!7lN);DfMfjqkm4cl%zkefKUb7k*#azp=IR&Q|%Hk_2repN$*$ z5B9eXHt)c%x69A|xI6`Tf0*zFKDd4s{B<91(#DPVZ}0EG&%N8XSKi0zeZZ(~1Bkbi za@Xsx-`l@`@aJ25J1g)@IlFQWct#uVy?LL_hJS=jhbDl(mjB032nQ2N3 zaF{LKB5#WHl-)fPe@;L6;NG3B-6?i^VW*b=mlcJ+{^mce#6OOcAEt1S_OhOtJ-;(M zxVeVy?VH+Ki)M(L7q%6azj0DwJ2o`3DG?JVVo5c-ek=QgIKmywe*E*CRz-3WJK4NV4J`n=&ht<=3VhvZAfj{ z0IVBYAU#&oVLu`wXoXKVt--rX-R)#d4H+jZgbff#t_m5F?7QnBGyue_>r1lNLZm^F~AHlhU?2v1D`oRRBs@inEw_4q5;O{##c9xs?WC z6rnmQri&F`8U>y#6WT*)8udhr@(Te7%*|-DSS9690rBr4(%g}i=250Z0KFh~QU^QC z4k^+M7VkXn*Ojik`}E(W5zP?}e1wbQz^mm|e_k-{yipnl>X1_~cHa*&D~Oc1hEo(p zG7=!kr?xwn6Nc?q&|a5>$RTrwRbAf5U3MfHOp<7MC_9c>*P&VGboQA#$c#^H%Y&>; zLy()R90-m(jQgbWud-A-A-AKmONKtf4&7>fhC{~!Kd@;#ad2e;ZDyD)8@o9nXr+wl ze}T_2TX13*bAW6DCnJdMs887qS?arHvve;-@;0un6^ zd0#MjF9{uxB~5;29wq}lNY!(uD5JGT&=-K1GD|tlr_}SL&u- zhT8M_(iGFbs|X@Qs7vaa=|(b*apoH-Xy`Dp8SdpUGio($YO?`jUV?tklz9xzu1O16 z*X!kRHp&tY>R?2BxKzxoJd>+qI`nesou#&iabu`~A7##AptceC1vZ8TV~;Jgf1ISS zBkbNQ#t;3Z@B+axtl2`AD%rZP#@TA@gMpT~r1rt^?m=apSA|@AZ1y6t%ePnWZ!P+0 z4PM{8`QY5K8DtV#Ja;hQe1jk2z3wBV;oqe~_ia0KTU&`no!)>+EKjwX`e@6cpl7tpaK1TN#`T*ysdpM4tWELd)iC(cZcEhBQ z^XI12Jv6Se*>w+9$#|&W>i({>b^w5bo8w=S2e%_QpvQQ^hymn6;JZ>)4v!|lNA+J+ zQzc$vX$s4f9G}A6C%EZ6KS)L{)|N;WCrMl+zKj643~su#ys=^PRW>sLbd7Ua!w6i;vJuUr5wMp zDHcJTMr^$zZIqTxuU|Kcpt(_(?r@h?8C##B%sfboVwCzyowl2#Y2t-G%umhA4Q>Nx~Ap8wigwqDyQKs%-R zjNfR&boK;WfG`Mc%3_A*6lc_12r32`V%D@(2`oh#5V-l70Qwdmhl)2%$%2OaEp5rd zto&f@qVC;7I*EKy)jxBTts@bs5JPG|1vW$=a8qF}>Px5z7*8!te*k2!)(hLw3kV~H zSP#8gcOGFgdkL|>F~aKAH6#ee2JBTRZ-|F%=SGTDVa1XH0 zOtTc)@cApv=O@&mwP5}d7l2+Z&*6S5NDwD0ZX+S#ki!*LT=6y}*uZK5ZAePu4L!gvWW*aiS8)$7r-eXf8)7|d9L*8YZ`muI=WI&vuu0~ zRo80>r4IfcP<6+r*EP!QRMwJmWX;YfPSuYN-d6xA+#rpkQ3FjOO}*T!)2{_znTEMv z8i2-Ml1EM@a>??6S_DVDDZ^Pllgz?Jgw58<3S&@fUB^#%cI0JO-GWXPY0CM&wp z(dl+ff97Zt!@r_Ep=mLZAhfzbcRlyb;p53!-;{m>?MR=2pw z8iFL^+hgkNgd*T)r0+046unh`<_|djF{l`4AL)ZLES4jMiU3gdu%66m9pHV@4@)+1 za?6QhASjW{iYyI0?5^9`Q~nYeh02R!e{V|Z9X;)}7;mg94oF96ZI8#%?0^ixf0U%q z<+xln2hr*N`maRjU+9C4`)0dG{)*eHT0i^jYSieF2jycbO#Vi8^mWXGZ;3e|_Vk z_8T@4whmjAsre$PuQk@(=hAp~kOonvbhPkt$4z6Q#~P4)SU8cs?V9{fL(Z!H{CD>^ zcErE}?OjJ{>F;r&CF@XjO#9?IP|&%b3=FxptS-8vJ1<`CZh#ISK3B){*@akX7XOYm zgI07(BJ3OJp2x%7(2wL91j+F?e<7}+&PO*qvmH8iX!>4Z5bLKaU)eA#o@JGfJ8kq< z>qV#~IVx)zkSK|%Vkb%3He^}NE}e{TR!IlYXR~I)Y<+#MzZHc=;T38>=gg0Tks~Jy zoL9}}yY_{qS>+(A)zn0xHE8PQaZ`7S3*)HBeOIwnyu|m5qgyEfoiP|143n58q3dhy zI{BS})DKn9c&Oj!sr;U;3(XQMm6};3{d*-klWB7!Fcb0OPH<7$*+sNORELz&Ki=7T zH@&mJvO|;pAMovR-*;~bFVbs^ATJRnWb41j`;)wLA%DVur&14NukaGkLPYg&;4w&n>G}NJCLmzj;Ol zo5OSb*3tL`==ybmg4xByG%3Kmz%qC_b+v8!7*E6$yPwyI#XNZy zj))aZFe;>P@WW&2e%*{8p3gFpaViW$28tn`VHOtU1eP>|?W|b>VcT399G%YvC=PR1 zVe!0@45Z9&%Flnfit+{$XQebR6lmq=S%1DNl%^3KbEKVKInr)Aviw4gYPltADje*o zR+C+OR??**yDz%n3eLQC~2twAM4QD5IfitV-&GqBp?6Q2q;#1b?WW zL%b%SeNf$_Q2GLT2nS??Vq~r*X%P*DRf{R%Op%inpI%jXL2PGvZYk9PzMHtYAIoOr z70^H=-DG(mc3;6?AR!R3o zSSfTWaZI7OTkp6YTp09o+idIL9Cn#2AK z+pyCVmBW}cB&w|d3hQq zw$hGO(H$l#6x~J2`kTQ(w zp_e6NxM2h7tz(2SKKo1}(}%L3C>+^tJ|_r$rJ`H7APYY426xo^%;vcl1nmN@BC;L1 zf8vk*d=1?Pye93lo|A(k!7W^+0?AF|G|#Xu>HM7hk{8ezR(p}G_J6{yz}=1g5BN_; zL3Ik=_n-U&S%G)Aci!CFj2IgrVfCLdh+v8d2FS6f;3p z>!pV)n)P%|J7!ozkAK92?Ot=!xA7QecW=HFK1H@@;M#tntflfsvbx=jI4 zpIsWRYxDd`XnhVKTIN9KIhl!dnCr7N>UOfE@G`~6>10k~B`cwvPHoIoL$ZVMpo_9m z^~Mp}sk&Z?y(~gwtxmR9rOE19krR5MQ&_-9M3aGeAOX0OqIn_#ag)V)FFaph+Bs5Z zUzqku^%%_t3x`tzf%4m0QZ>~uV`}`Ps_8O32uggKeLv(w6PonQLVO6-Est}aNA}Qv z?hKPKdM*KClV5safA2s2*Jk?&bGY+4+`g6;|EH2w^SsqyVVvIQ`vdj_K$S~|i z(0&Y@rQs{R_{zUoYqsGlmyWMkp&vSdJ`b0I<0>2@+!pLHhe@Ek zymn6>HY!#Me_qDCt1JUokdPY)&ZS|3vpd+@wz!K}BhMOn>CBv>fq*zC>Tjf{5>y7b z%syeAD*K?i;r3OnqIK>-`B`U=DTrW3??2Mo(L^Iq?t-?v=UX6KZ zC3&Ujiq}hi=khsXk>V>DB2NrP(Y*rCTPEeS;1v{v~mqE zZYAf=KIG?J4~6J=A0blCv+*%RIGTu-Lp2j+&dRFa?$_n+V3%DLSr8((gaJ$bHvydq zz@Hd8AcGwgc@w&pWiTi$m=jJ`*{oWuAHfO~CnJgX=CxP>-}~QjucGJ_$1j4TkTeVc zw5qXef9h!>BNop){bY)^sv_hHG7?bx=X zCQ(^wmX<741{srWgbCIIdr4r)_ue}A;O-VTf0kUbpJwON@9gdUWM^alCz#1nK4BXc zg-A!c8}Nw#_V(VUW4ZXhhz&aP!T$@tc;9j?P=2{MF#^4l8V~q#pA(1q24U*H11_bI z3SULOd#hdpjjD@sj@-~rP-2Syr7#TbJOI47K8NPHRus!}R5&!g(y0T7r9uLLYyY3U ze{cP<m9mK_8Ej06-P=0kh{+V9?b{{{Ue>2s>OyQ;dXyZYYlJ9o$yAkNHvbXA>m>eQ+8 z_#LnqZV)vD))}ZSK3dQ2``J@G2tj$=f8n-z1MQ0-0=|TA_U;sIhFM%J8_alyYG!U` zdFJre2TvP%dlp`7_sTWpzpubeL4bxoXM1FS4m;L`g9|Hm%ZcR}69<>(An)W{*864~ zspI;>QRzgsW#xkRO|2^0weA`@2Yw-FaxlEtNt-*iA9-O2CJL*~(s2wxqr1S=O2%e)Ti)#oo)5%F+(dJP+PQs^4)2ymYs0gOx}j0r)`Fe z-|+~m7#N2qjb^o$DRi$8y`VD)e>XD`GQmkjUS$1IFJ@2wm5#~n$Cm4wV)!O^tSk$7 zu%KxRul*6MvxU_g5w?;bs{JYq*-@bG12?7C6XkV*8nf2h@j4gX6R_(~$+tap<3c(> z80SUvd#4xD3~m-gzGXsc5vv)@%uiE;2M$(i2L2shGf=u{l_pJEC7cxnZ~hJxx0g>>%Z%OulDYSd-Eqo#~oJ#`o|EGt2fvB%L&% zYSO8_?&$0?!6f8o(vJNp-R4t6g7VEf&j_+V%IJ$zfmt1rN-3%MgmeG-jU zZ4M$b%u+DfvIcMybG9U5Q4Aa_MA=UgCou%l`}9AK^gMw(NKap?rB=G=_BAul(55MDu5!-BljH$2~fxi#Wt+Ns5w-xPdu}r;O7s<7Pxj%(f(VX7$U2S5J^8#{UXm$*9 ziqyF_SPZVEiVF>4*#7wPtJulECizmZh`Y$tudzEY=wESz^HMpcmTjLiFriFGB3X_k zV+j+qs&;JTNPJnWf9#f4wV<6uuICATwWNHoaw}s{BN;yM?=<+pZ(RD}mW4K5A5;^4 zR`BCd!#a^A_F?up6uKh&kh_&|GnPY@0C$?tXHwA0@hsm$jFT=}MXq6BH^T<4_;(aK z_w2^(H@t3`-_n_(lV@fYCITeDnB25I(@m-Q*OQx{3)-y8e`@Sf{oP}#hAf2yjLFB4 zX{bX~D@d)x6+0E`5S5$mF;W_o9ad;V$eAQJ!!1Fd%I9@dx*gfbBRHwfhb8 zpxRJXo^>tyf1nRHH)g-(HRrN)6Z)dmguB-zZHx1yqW5TQM?S*2gFIZJY>l@bZ8LlE zK~QYbMg(C~LisF9Hps39(_86QTv~S7HqIkaOJSsn_TCJ0+|koh$Rp7m)Egph@4FS& z`}_{(?qkbnYN|gjOkZO87k@mZ`Q_@5qG%$GNx1=VfAwymJbqXFMT-qMAJUUnhY@$K z;DrHw8st)fWmKQeZ;wLeflTzFHpm^K)#=rehu#}-gTU^4M73l^;jspTCgbDkNm2M$ zyd|4W+`&5umw8#oWhhU8)3rYe6@~%5-;#0) zTF^pje{$gEM>r-aC?O676cxB8Jw*h!;$^TWuw0m~87gi*q9s4Xw+sWK`x002Vw0Qv zmeg)EbKA`WAMzMGT>*iU1a-n=mwnBDoY;-zCG_$M9tkH1(nKsYkWRx(49k_*mUHh= zOVxE!4zq%HW^P|Hs83QuJpl!2%z-BY9hiB}fBw}UKuD3(Z5I!=f4sZ@Zt?52bG!Rj zcK3HSF76&4ypTBtZ!VeBMz(HEDmUwt)zXvP0kW@H+o^BBSUORW;`#<`tgY9dV zcQ51z#pi$q+vnb8Uit3T3-2AmR@y&2xBccDmyeFFo!ib0Hy;=M~( z5B9c?ia!tD-J%5CyRu~!G~e3W-rX8I`g=m)zOV9oGHK?=$=qhuOTseB7Q2t;dq@0}~V z*Ye#fS75pD`^Le!oxOKF2k>viqF1PZ~-31ynzp{f1d?^ z9pXmXKKH?;gFX0p_0pw{4{&-P!oT?7LV#PPcdP#TwS&W>zuLLFw*kKtvn%F+Jlg)z zcMs`o%8$_LkO|k+@t?%@e#-ZAdpS~f35+c%QC+T1HMm4 zynzPl;a*N0JP-kX4%2Byh;gbf!Eqr`LOLO1KMYbQuyo=)3lpCg!6iapU#PsAI*~s+ zF}=tfcco;WXE$cQMpw&ytuSwFn{gl_zmGJpKVS;l)7f3EnWaGx*fA)xo--qy9!OxA zclruUwOp0OpgV$Ue*glc4SAbjKM*{<4(G4NV2xfB+-OXfg+gU8Nk5=AK0Upu!C51; zP22K?+vM^xm)Z`%QnPdZvY6|CDTAVA?vn&-ycq_;#K$touh*fKh>UKGI1 zU=?aaB7uKE5Bi_w3`Of-3dh9?26z6$#em2rN-sf!LXm_oeS&m_`#lPhCK=UWTQVV( zOsqr_}&`&e`yBQ{L>l0dRCi~gtNE?FHD3CvvA5pP*wDslo7$} zvDXcJ(3t&$8T!1#bnLg_%*1X~SuX7TFmd2xQQ@>OX3 z)^=5b2yk*ii2v>N-)JsR_l&xHfA#Qa**X1Im*m*6szR~De2PL4eg-lNmod;}_o^xk zp155(T^z_IIWwiXU7*$-8_n!AF!|s{2uDy2 zfJn2q$*l1O+*$;{`LWRah5Dkn)bYmvV0i=YnID&15@}Nl@{O*H6l#%Ff13@?p=O5s zGp-R+K`22jpJk<MkH{!UMiC4Z+#_P@4$rIB_VTydbJ_x)z;%R#p`~h=XCSLC-;`JoJH^u8; z`FK5olCC0NuaMrgj@SDIORU@$Zb)_-7S|D10OaRY9Z@z(W*eEbf97PYcs-WPHskeV z<5Q!3ir1g4czrk;FQ$0?6t5TgzfioMDmpUXcKg3H_65Tjt^C&B=Ta989$%mn;eE0A z$;mR;1dZ5br}EmkLr)Lk-ojk3rhBV|C8u=!MdOawj1+W}2lHUMlbsY)0uVG`>)*GrU0laNXau-Kv>>(%3Cik*jOsv$2JTuiw2VYW5 zqy;Rcr(0H;0*(vJe&=fFF`!;~0$7eV(gF0a+e6>8Bb_qie`Q?5#lN7`7E*7#jbfF@fpQ6%$P1aImChh@cB22?+ zqeCJu3_ZBRtPhD8yzE9mcFxIb(xaekXL?1R`5h=w3J_>w|$v?LVcA;oY%pZ^pho2Yuqpg|#%wBr|v zsZ?MlpkwHqP;^@Ze~boJUd9Qp%}wL<<_3pXCf89C_P<0e2Q;7+uRs#uU=>7z@ETER z)se&He>(u}tEOMLc<4v=5d@qlRnh+CA~PgBQ}YYkHzI3jhrcJX&=%}=N(BdeYh>WA)CLtvHm zXJqD3UaNp?Y1ut#C^3=|)-(6bumaDuv|x1H$Te+gc{v{BC#4!h&Ea$3Tw)gDk-qH{;?f+xYhSFR6sLX=2u; zsj@xDmFoo&cSv#qDF-Pl{ac{Ch|_}IE>+$u(+adgO{O@01R#xV2MY3Ej7U2c3l04! za5BHtCom}r4j?w%q(%^KvlqOxMd54$e;<<0Zn3S<$lYA$YOH3yWVeXS?~fGtM_X? zU1wR*WHtgjjE;lKSSB`L`IN@?B3XP5xq=t(!O2gKiIxY@<4AT|YF*eeJ1{LRf3#IW z%DO_c?V`sw;L^=Op~~trmBQiX)Fv}h`8tn8gs$np$cJ6Yo{JBIM>#bBo{cmJ>x)@- z2nB$YLOrnAe3hX^4MNymXlkJw4hvGBf2gRS*|fwFPqhJmVzu=-Zg5CfpQ@^6S{2dIvyc<% zv}#*OwBTxHq}-=!(`F?TpoxfOjUyN=3$$1aOg|5`%5~MsT+;7_$(CP0nIBi@#IEU$ z+ybIwcxch^mxm*_hR~S9?*8u4?)H`To)N2>jM$p-68>}S!a--S|Nh=2f49J&f4*@- zb3XC026;StG}fbAplrq(l6a-KqNuTk>cpmA{L$Lj z)QbTE`SQ06=Cgz8 z&@K5n7si$wWjYm7(pmKKO)+|VpbP`5=9LKszoy<0aCl=p7d#x8m&A(&?LE_*2@AN6 zmORM*;}~-kJsJHPR4%ZJzx_aKM0o?t&Q+e*YRFtA zj3By>WyNuMq*cm1R zbxBU(+HL|D;D(U!?a*-(*;)7|OBs}6T{Sa;RPdBoz)?Z3wmFIw8M);mxKa@@As_J1FqMj8Up42)P6Ly# zYA9OFR=fu@f58_ZshpM&D1F+ptl7HHmZY~BKV6zh%T^CSBFrWy7ILxn63>p~P)MJ) z@-%dO3+gOcwdf_b)ak&#gJMlz>QaHT&v0!85&i`tnzprE|8n+)XK$K??PY9Qh8Zlx zeoXgkmNOIs!($$!O;e@Z-AB$o1N>8oBmFIC+C@K67oWf{Fr!SEo~#VZs9uAgc;4H=HI`RO`U zmdJWmFk7a_q>2iht|$u6K}8@XKE^VSW&$Q^2Z9ZXLd=6i3K{|d6y=3WT-nJ}%&t~p z2NQ5+e-ss%BQ_u@_Q-~?N$#<=$|6=UCX-U8;*cQBOj}BjXQm(=>WL5;vd+3@DuBji zG;c64`lWBAoFylV3|XZ#BaNyBLzQ6h=Y14wka(?PKr0BsIP`@|bvv>%FHCC$Uc97c zjvGqN1s%OAulrMqKJ0PG6TVJz@sSW9P4!MLf2+(tA{uS>gq+V^M596{g1JlFT@mNZ%QhPUW{R?|{c!f5!Xf!V{-v^b_5J;$ za*`O1f%pE+h4Q5fJNrjF2S|+aOZW@@flpk;qRKVYOM6xJ6)R-lTj2)!K-b9&c zKiF6wPLyY;@%6%WMK&+ZERm{+fY?CyFuH)%}>65%C4XcEH z7zdQIzV%w#eU!g07R|b9-qCHB{q2Jf%b%2iwWadyC;v#yfGfLu-@RHH0`Ko%{I@?s zLtr)RuIDxm6L#M;rCfj?*G3p`f4?~z4l|vogY2j?yX||bQsYGS`)P73_3bD|oy}f4 zy}$_rvo-WJY4TTE?z$|wNs~{SeA-d{cGRev+zt)LvqB-O)C@x}Nur?5CNI-q3^$cl zLrB!Svc^kWy}!q(D~Cw1#}4;*?(dEE5P4MD$8>SSznGWd{Qmv*xz3vW2XaP93FnK zLLLr!0N8=;#knVxqZm=*f7!0VLs&>XIlT^m<ACKMwug}Nq@}#)zhPYy9bRqetZ3M6-}Uxe-d1t5LOPW);roLElCo` zu${aWD6P1|k$z6sp>$sR5~^5V)wW^qRnY<9&izo`2I{rkY6_%`$D?nSwwX#j0u;w} zDazqi{zcc0_fT~GwIT6Vd7KZ-03W8DQI;2># zkKygcK>|><2xY8n*a+~SH&LhGojon#OL1cYeCS=k_Qc1KkALDzPib>@oFF14&p#=? z12cP$7^$t`p>Pzy#LHGyFd_6kzQ8jEmhhy;QU(v?lg*7*!5@qRcgS4lx5-?`8s=w6 zo<~STz+6Rd?O1~m%6>&KILF$EfM@*?Wn^h4yclmdjn=Ho5Ddik1@?_c$e*!RL5BGU zM9uvO%q&g;$UxBQNuWSPB}N_am~2hhR8MKN0ktB$TWp`-5+oyhnhIWBf+I7lbM=Re>=@h0K%-=0`ptN2KY5RZY-67 z>Kups6z@kLFFVi~ih0dPDi?0Hd)+h5DV?DkyOU4|cYTaA~SznMI z9C*aeDCqtTd>^bk`38j!2J8kcO+{8=QMFd9E3~!#8&z~#x3i^1S_x%8mJ|v^8H(# z-Gl8twk0uT*~go+mz(@Ss`zr|vp?WLqv+$JGK7GocxfVUJq7B>c37F%P=1x& z#w5!_xa$>`#Pj0#K-$x;32^fo&c1MM&vTtne}H+C+83$g8fjgf$e0rRJ7`Lzwqpk_ zitrE}Lg@(1bB?b=s1c*V zf7^rl-A9wK*Hsn-%yeoGs8cA*Nl8A%JJOXdyZ%7Fyz0=(u>=p0SkK zW@=cils|=WQqt#<>AHt4C^#~beFGn=n&uHN42jN`!CUx^RFO!RC5yhGYaB+REP-Ei z>|s+=ojAv7x$Nk0-LXbj-zm ztZZo&9F3=BG}iH>!MFay_LcW{Hm+UW-9I{%^Ge*k61%}s+YLq#M`6 zS=x*861$;=L{s_a|l+_5F2$YS{i;QGXMquf`rI6h}(YtQ_RFcsz5Rg zJOf6ly!03;EndEP78E>ma&4X&u+CFRy>gNy3qaC(8Uo;05!h_k`UD#{FHQ~owqg}{ z9Kw+IQJXx1CGjS&;)F>Z-%or&Z8}Nj8Br)SD_>GTA%^^CusjKo9)H1tq0v3AOqpP% zqy=&T12M%1;WgS$TD}Lg8c!Lv5j&ZX-)I$kH8q18UT^?f6sPSM(gU^-Rm^lI2LcJp z*U7{>4D~G2HZ$yp%$f|gW5%XAsKzN4@oRE);gsPVn~`iRdd(>I$oyt8^E;Sw053!P zXYv=Y6a*RTUki4T4u9|PSItCh7Y?e2#+v#O!j5d)^)uibLkK$!?bJwXLun8~)LWNu zuOG*vIL}>Q04#QsEXmzm=p8uVM5*lxiHB^^yZ`)+FmnAQ6;z1p`etYu18$rCk=w>q z8e{+WQ2Rb3HP*`*4?pbHUA?xIdfhP<>Q8i6Qq^EAf*?^k$yQ!hrHVgcR`NHLQg3IYYS=5^8Fbqi;-Hl>lLc8qE9>{*sOVH&zT zki)X)`XAX8S%2Uanqv48-jQ1pY{(iPLZ+H1ePuRred8BQR3H^=;SqE3mz6nNS%cLz zp8YgMd;oUeL}5g03Pq6-Jbe8wn1eX;=Uf|1Jkx|nkjy+a>%=2Xv@{`&uQbWI)O;3U zg12)CahSE~h=&>GZem~w9(yBnk~AyWzPNaF-3YfYVSn%xCPm(66|T(ZKU_wFlg7DW zx#b&WMuMM5e(IU%{o^tcJlilFpN4fUH}qUnCnLc%pmXUv@F)2&laWwGw`W31LiyP# zCt(e963hW}5|Gj>$VpHM?^@?1xJH!wnRpkqt;q4?aEUXkQz_}>B;eJlnUfGKos-a^ z0JX!<9ZAm_GuvRXC5)F^u-JTh;^-Wl0^eWP774o~*Caj%XUYaLD zywCU2Aa)%gU{92gL}T&q=xHn+6BZxYG-1QZgq=*-$%O6AGj}|m9f7s_8Mq?B4wd>D zYbU(aeagi3n~ubs53LVl7ZX)-%?Km`YM=;X8G&AE2v%_8|L)frm!;L*~2yvxld6ave zjR{%2A#8=N?^lL|6PRx4Z`Cq{C63%cWd##=&}0R_@>VeBim$>7RtWD}Tft7`S)O4* z?gFc>T*r-EoA2DVdMg+Yq=pq7l3hMo!IKq#d^}t`saCKz9?wK8SeBJJxSfkdrgF7r z1fH8afl&P7nNjA432%j|)mov>y|Bu|JIU_IusDq%#K>7;p5aAVVq-0zI-KsBwgXxD z#8}b_rw0L5(X1ingbG8(+^_ zqswPYs($@6unjL3?!i*WsGxpH&iIIbI$1tpBl8l^6AJ}Z6E?v#<0c%ZR+iQm{PxPq zF4%8sL$#hEXmvNM2TP!Pcg zg#0@t&w&Yyz`}h=wJSLuwd`wE)v7kc<>Es$>JvyVKH1Gxe!PS|)kP4#O=_us;Qdd^ zy{=9|XQ~vWn78n5YcIYE2oQ=9NSZpS;H4wL%e)>@Xp7j1GD|epMi3I+Y8eUe#F+Im zZQ`OR5g{0W6~LfeGDHjv5;>!lhdOnEhLw4qVG0FWzHjG&;qoPQV=$&!Mb3_xhDH!p z$LyDw&PEJO`BrIrR*?CrMJ7~#JPVW5a8Gd+t5A}GoS*>C9OMYf{X;c$xj17LyP=%p zS#e$ykZIERlg-xC*-vh4m{}g`oW68Q61MU049K?B@NIHhYq4$ikOx8N+AngJAu#ld z`OoJ+1yc;^O3fdlyTAg2Z!};`@twM~xDpLsKNF#NfPXTuo#lfRiW}O0E8vq~&R*7~ z>TKTz*z2WUB6gvcK6P9(j{-3lXL$afpZ%{H>Hff!zO|o_-FrX@_$vkJUUoFqVBE1; z4EV4MoO|)1K*G?`JLUjH(5maj87|wm)@azQq^>-}dPA;T%B%vKm58(+Ui#t-fh~f! zAJ7?N$r&wDd!cR%we}2uzgNuv>*CC(yj*%1M?KJEFhs^$NAoaTo+mBs)JSP=1-4A; z`sdK0>_u5Sjr)f|OTsiHlo+&l5ul^oC$$;TI2hDluX{?A<-S5SWMv8xXm?ty3B#CY z5np1%!k^X2f(iD6oh?RSc!r%fOhTEh9+*i|S1++=3$X#%vxVV*T*(f}ZB$|m^fjmWo+)ml0+5=S$iWD0WwarI343{!jB+tdyHN8>aYwabv;6&T^?IN>m zZKgZaEU!Uyhy^n_ytZ@Y3X7DoFK^8Bbv6K%2SZ|kIU^&m5;bG>z`03s?zJq={@)qsfxW@*D44t znuuBSY3;LbVy>du#_B833vw+a7WZV7pL31e)0pPL;CUq^X_QhGzykG*ufh67o?7;5y|KS4r-|qF<_^wk;u*izT-i zyVSma(f1QDR~T8G0j7eHpm{m*(x(hW^ z>0qUxZ-Jngen(rjfX#>5Sf~#l5meN#@uNf?f+@&C8{qZ&A&Js}0g2QGTM*PM+||i{ z<@F)-ph5az*X)~eLUIe-lG-blZ$>FW4jtQGLHOFybO=dPoZlR4{{n0{FdIZ#zb)`R z478Pnd$hSd`j*Hung{7A>dIj|-Ag*!*S%BjqR?=8RwyLHTyk6z`38BbMxcf5;Ej5ke<6tUNaxm=z~a2p^-mDzkJu6HFE# z>IK2E2SFKY2&I)c)_|~sc-ymiF3ENuUXbSuOgxKkU02B7=sxwdgf%tHD9m(jcxmXF z*gK#hto%D#7i5iwLkOZGxghJHVEwL83#5r&JA0XFHjL4Rh1ezpGVLdPUvl+AuG|Do z#<+H7c!p+9WDmwjw8&@Z!I9}@K!%4)04Q8IwW*0vHz`Da4d~$V50QrOqE696ptHyts!OaN!sj%dWL$wi~eQ&&0pG)M*L70fn5HkOHJ}E9jDs_1BFGRZ`u3|luK@%by3(UC)5v#Yw^NI1 z!;|!X^q4p^gDrG07!%VRjTyb*Xik<0EDTz+h61os{wsedy4k7{7z6tVinlrE1{Wyc zZ@Ma%sxX%13XgEJpbg=D!QGL^p`ZCW*dl6ohr~vuAI1Txd085aLmQ(y0NF#Dqh=IX zhHrsekZYw9x?vFISlZ2*qi%6`gA<&9@D_Ih!z%Fw+ssiLO@Mc(b->%Al~p6!qEjot z*Tfb@K>dFe*rF=oU2ovR$aZ}v7TeN$zVGE&b-S=FO0V9mrekoS7Pm#QRaVm$MaA8I z)=akOzzdyh(a9DaMgXjp@_ztZlyo>`v)I1*lgx#BR+0mYB*22)rftaO6o8xv35!lxKh1J~oJH93Ug5CCK~Bx*Qtr`Pn~~ zDNWsUXzBUrCr%g}fev~_ugEfeiJvgQZUUb%y^o^!$pU_SwiX7UF@aKy_#yNgcjMBD z^x1{MZ`iqBHRV!E#!P^6Uy;~0T{0Aw0%{Y5)6)rtxt5h>akxNYK)-3XRez{c8w93x zpd^1nt)fVkXAPa>{tAX%&XM&=P4RhC-N-$%(*4VCEH+bYjeG!9*!9_N>G( zN9QlI3aq{@4rK~*0yVFATma+<)Xg>*(jM}wf#8bw$P=;H;boz~g}T!+NH+`yPjMSC z9XHU!_ggk;W=#kxfEo=;P{Rt`BsbwMwfKMW$iIWMi!3Lmw!?_gPC7929GN*boD<23 zZ96eC2y1X{$YMV+;~3FzIVX~B`(^-1h&fAs46j}YT} z1^y$I+^)6%$g?~*P7=X7aN=TjT5gTaAyH*rX9HDcz4V)o{|LjQP5%+zX38_?HS&KS zncymbFHWAK$y0O!1i)S?{}=KUF(#}mYALZ&ncJQ4V2Qt>r9rUo7`|m;udpt|(sdmp zJc)+oYC7LKMv@2MD&l&s1)iJ6rVCSSiCbEsX}V>D+6Cj5zQXDx4L2sM^Od(cQGQk) zwX8*Vy))>H#56+e^1$dh(+=Ix3x!MukxD%`mVt?SwrOCJJlWUJz?=ey2L`~d$c#u)&E0D1zzK({xO;IN1V zZ?FGygOhEsKYs`L)%~NxjXIP0?cyd^P=0TB|LQ?TUn3T`mNR1S+|}=GA6@=IvB>HV z_(eMA_Th!y;!2uq@4a)dyS)LQg;`&Y_7BCEyJxUh5d5ESy!o%U;1~E8U%Q0=koPYf z9bAzwzVAeKH3(9Vw^hwx|NXty5#znTJUS~-NMjvy=-@tWh!UfF`(cbv6oanlbK^ygRFcLK^HYdxoG}Hqnrb>zGb*UK=QCBjV&YUF_ZDK8GpO)dxj0wsAH;jMi)&|ycSX{XzBq* z|bN<`wpSKMy=!9b?#6WBA zTU)krBD8l}8gpb>fecgG)abALjFi-X?-jlU4qJ+*KEJKAh*4zv)GB1?WwBW7I1N;o z-+y@hHc>Mudiyjt?v~U_@e17kzqqR$6TWagz(Z0Z$7}4b@FVBurbiuuoPbeePsM^3JjK z64N1c3)7MXT8m&S7C3~Vjul^H)D3jJKz~eAt|h0~fT9sZtsB6%RnE?ZzRe_^<;&R@ z-~8UQH%;5NjZMoigH4U&!3_N{jVzroY1^@SlFtkPrhkb#9#95I7p}5X;1fk-Sa}4T ze4&&Hf?G?QeZbKHIYu0uE~Wt>{OlbW0yNZ+epGz@X>nLU&JDI>sK0Yt`W-Xx921bed>Qf+Z+$XCH}D+wd5vh03NlGoR%``(H0=}zWAwrGy{hN^m(`IU5lx%Lz~}tD47T!<-0-JsAl(lYbGzlk6k}<+qlwVq7bT;=s^paHKA*lo%{S0QX^C zXA`)OYeH~-_6sy59)l53azBFlpAoa@A5wgV09Z#pI-ZacGtY2a~GjQ*a&J5%w zcJdunM$9*cD3;($k1Csu;=_&H-+0uO@ufj8bm~6%`LM+x@-eI)#Uv6yK7Z0BnFr*< zPS{v>!Zpw>KVC;hi2Lh_USq~2$m~of_fHy~7pT)-K24t>;cquR&#DTfKA-)rxLN$6 zjoNK9ZxbooF|6RMWtiR)rC%E3C>{=Xq3gxo1BO0D;Q)2j*{65$0R^!daVXR)P;;f# ziO#pu)DBQRuD6hG9EX&;wtw$iAf-mDl#+5VxB)|4mE3|61Qv9MRG~nu1I_@1J=9>6 z6{kjKq&hAR&-VOCp;Y^`i7pe{Ws_pc`XA38Ng+>V8W!Ol#lyj3@I@tU^x#W6 zn%3~0+{h88@EEA0QmV5rVZq=zxyge-6P#SW{t#a5S0#Q5O2Qu_?SGg)*1W%au)T-29cR0-PNK5~bH1kb3ES~oR9MnSXQZUQoi+@1C_GoI|EHf@W@zR* zipqCwGZ*8s$A6lBIhMjFz0Mm#Hqvl1(Or6|Z~mkhOtK;L2RnaOxdbWh!h#{{-T`XI z&B8GEbo7-V%e@u%?|;Di+M#99_+=C`;Q3MyadEEUKD|!5suDo^`E7WO905R`2k-3bwCil#Nd^Gdfj zq&F1YCZBx5XGW3i1z|>H70`0|Cgpmm4#5%5W3<=pzAFUn@_*}%Lrq6WtSl@}HEb!^ zB_wV4sD&lxGZNtE05U4y|NPFGN*?Y(K%a0MWC0I)iMhK`8m1g@i6R$)B#?m^aLFbw zB@GkiH#W>o)7_*{)!1Tv2JPE#5{Y32;2wdhegVn^o&k8)u)LokZ$Ad)0?2tm*+xNC zkk^!~E$jSo4Ko!y@M!nkm=7D9}B+qF? zTtdC}zQdspT3%?yfJ!8w54yhPx~2mY5t{fqwpBv7*^U`H{s2vUEmh+*;&7WF2w!;! zLiCBQq=~Owe%Bg;&<_15D7GoD(!9j>JvYK0Gpdtue18Z+01=l#5E97x)?1OV*;QsP z&UAtx)L7^QK{!DW4kG~WO8I|ueiQDM-PqN#kj4DgrZCxN$c;8PPgv7bmYkL-rfPExU#)Rn>xt1IKyjMUhge%fN=+s7G;v6NI>^}(ep3(FS(3}%&N?+ z%<8OuP0y%-T~pK5U6qv?85!}5h+lkw!5@58PCyLby=(|FuqU&BcXT)>RuDck%mHkAy>~Hb0g z0yWqAUjyQ16a%AwAh40YTd+yoWk&{W9e6>rdRI;Y(JGd9+A}8NywVq=>Cf9%8%pDJ$ZgxTq{c)Z4c^YMT<5Uox}VA>axfoYP)%~31}y1reRQ~CBM)@JAR$kp^rm?V*CM=IjqG@78G0pRII?n_=1J@)gSj)q9>QGZ z=z{D3By2!-2$MDc1cREIq6~AMYOn)?c3{vB3_5>cP`c6ecMU3~MX1@0))q-*~0Hcc)eEM+JaLvSAx~K@len4ssx7=|cl#m+ZGTW|<~I z-?q&yrY(5|JInUMTegUDZaik$N$+;&zBTnUjVsuHyOLH5>o~7c@CqfZW-fY*yejM3 z^h&BO4w5iXDO31IlB!$4+y#WfVD1VhpC22_Ubme#^a@Sl#r61t<?uQO+l=Uiv z%%l$nezB~ouuRQxBW-S;(1=%-yWk#k)W&A;H8GL@iaBUkm$4s3PN}ogG!1(t%2wM< zy<)4_`whj@D6D3FLyV!n!gwu|r$JmDt3%a)in{v}33L~lh99ft=9AO+Fy#3P;@c3Q z?@jdV1y2hxgzM?9dS_l-Y$^@6B|X2SFZ~{#Ef|SU--l?uh|yz9iBH*82uVJHdQjpj z=H$gxOs5FZ>={He`yozCgznPfMAzaP%&tVIJhUsCAg-q#-xV%V@F=OXA}w8_;F=_V z%4EdK659&4z|n@5tox#4)7to+OGp8WBDPFT*Fun0vX{rv|1?+5}$2)a~R>|(w}VH}!? zhu4%=ijVK7m14-`oz?*Sg^4`?a&_;4IfU>B7&@JaMRW+gG^_bmFqR>hr!kzCO&Uio zgadKqMLrlQy=hdh5Ew}xb?<8lcoS6>+J2nZ1FWs*_-0^elCj5)I{FUreAttJH;t3T zyQL5j2y*a1ZYZ)isOBb+o^VqU7XtVwkg|te6+9`pEic?rl94#_+kSYl;=-*l8Ke1}O)KTnk%_=pV;T=aL_%upN>j+LAy-9y9o zq?FMo6Mx@h&-##jHvA=9`;LId;3O(tiH04r9)pvuXn|;j*i?ypWKMlExVwor31^pb z*xA!86MT9fJMesr&MCB86EkQZkg}AJLaX*_v+uNrm+9_6dUGGCXn@^+|A|P1*SfrQ zTe@=`$FOr3Pyn724fO)jedQP6^gHIfdi#W({s?Z%v#;5g{+6%>u9wvb zgq(U3DiZt$xcmbd_qbw+GPETKJYk>x{|gtDlQw=HhPg|riruDAujtxkjn&lr!P0$9 zK;a5&ro%XHa%8!b^AA#gf12k$4MfR5h_Wb?*h{=TUplcivL)7%skKW#xbW!*m}azr z^aGplZgu)Wkk)mcH(L5ZS|xQ-7oGAl0E;|6KuD&^gj!Sj0j727o>Sxr^*H27>{4e} z`=Yzl*xCxLq-k`iWl`;41Qnpl>kBk7ZaT!!L&;b5PD_EKZ_oU)lXjrMFGBm zg+K~IA6j3M`^Sn`Pe23S-GENua}fJ_#i_0OJ}AXwjlX_2;g0Al<_O;JV$N;bTjJ|& z-B5%Xo>9zL3KcVd4;=V?k$booG;Td=bkB(@9m3a-oJYRE5P8WvhaTX5mrZyII@T}e z<0$eA8s3MT>Gi#fG;ryS;6Yf9@RSAyG7n&(9=YeN!vam|U*-=07GCiALAIe$A-p|? z?oaQt6~{CQ5F0>S9^nK5A1`Do^!R}R(PhIyKn1`K@jSkNK`pSvXuur-D{7`-y^N9 zoCSFi;z^+vO!zsQ{kE7g3Bpy-1;;kbLVS0JSzK_;0>P1&|wx$Qx8vnxOwwc1yR%(X*AR;IA8puPF5|4 znem<0oc$u+fLCXCBOOy~$ks#T1c3Bn@(ZPi6UGA$?lUcg9DP`HA1A}~4k%?^3I^tT;LWjUrR|#4-4KAzdyvopQ+AhfG;r@o87XsmebGdV zMZ!EFpp$ITB91o^x2e*&`t*JE_%tiXxX7Bia_XL{DM&@VET}cHyBoHTh8f4VfK(fQ zm_oh`T8A#a^Kdb2d-t({kQ3yIH#X~L2*FaCZe9>X;-L)$i;2`y8Chxu*e>lN&Ytj| z%kqSA=_hWHjv!5d)x)q7>J`Ge=p*ZS?~u`(nEAb_ysTSb+X=`wuau4j1x(8vi__y< zhu4M=L+Q209EPqVs1B|lzJ2}RZSPx&H$5e>Zfrr&0#GT7ZAf%m4-Ne zC2emHHxBEdC`#fQ8tuUUQI@oiICr3jLmJ}m4zyAUlx>>I>^pJtwmE?@G!_vpYQYfL^e z&93YdOz@YoZMmsL(V5m}*X%zbn{L*cV*FF4tSaDOruQ;`@hgy+{Zg=Vi=!2WZ2V2{ z6@_goW%&;2r^Js0{Aq<1xY5ObpGeLSX6w$K>ehf{9*WCe@jWjt%gUt`WqI>#jv#el zhbz>vl~U#JEf{KF&N}(a*S}>xD=s0U`Ey?t=E_powB& zL$b+3Tr|jq!IUFF#d`CI--o%z)S@RHgN2hGE|Vnm5j@|(1aZN{X`-KjW zM;7^$-LFK0JH{w+CT+SQkPTTsSOl~kztdlSE$X26rSdSX92W?5X#w-P@F0ZP+2Xv z%2Za&WVsm%c4Z5$FX}H&?{&WdqeSRx{q*a`AsI{3W|5Gh%iON)Xr&Af=CKsR4x>v7 z^7N7&$aD<@X`R*fQk4GEo6vB16a*)Q{IE9kM5au?-1vom5}gOD%;~W4qpT?#So8IY zjYSE5Nc;gn(g1eJb2f9sn{?_0MIm(HAMX5enH~B1(T$@MqyTh&-iKpUr^WHc%ww`k zV6`C8_&Kb+af6UO(K6u~-0r#Bo|)KxFPy z;k#HBn&c~jvDkJPNa!%j(jHn`@S^WCEx3%(e{F=k?=AD7ul``flU&++g;kvTUhV?s ztbWBV(7OE9iq|C#gD@>?7l-8>uFEJf-mZmVj)>oX#EDZsyd`bIkI-TKv_0YkM5Acx zelCi}T_c}tz=?w3j{=o)@Z(g(r!d8+cLHFB!b6dn^9f}@^~>n+#$cm8$4ALW-$TM> z0SS91s7jF)boAltuue%@7rB?aG%PW0phXrB4;u}nNt(RyeV3q#-OnylFZa|WN&XQ& z(Bx--bIKB!n*mQ7-$Lz#6+{_td#7x)^-`61O%hJ)2wqXH{0XXQS`}3Wuc=i2B%$X; zsmGg5gkAt;6foxD%AeTFJgoe|o+ zTVDB7Ct2oejE;ViR*{beWT(pP)`xlpRhe{u1TS3Vlc09&7x^H#BTm$%i+n0SEpkg4 zWv3Pws_<~T^`?q^mU_|E)p!JJTa1N^e70W%R#N1%B?7R~^~Y4XzsKkm68Q~-tQv;2 zbiBZTOe-z?G_%qRy{wFN<|va{nI+ydH0omY3hHA15k8P6P<6BhYQ#GQJ??kp>JTu0 zEay(>o&o5v$!q8~P+|i6`;ujGmI&iOQWON@U|pYK`1daLqn9Z;`i@nLu~CSVKyV-; zfT2L57yIKmV1ZC?fjI_9#`t1#`qSBS{sNFv)+K*qvVg+Jz&`rJou6UCg|RUMe=xd* z=A;GkqEP2Qf&{s6PV9;M-!@YWrFxdhG_abr-40Q;}~p$*I?oz~sTop)dRjpKLe|DW zP{pLD-C(#!8q+<<%H5wm*`J(${te7BjHk_};NvG{_;U7)kL&Z_o>KJ;sO*Q(^hge- zBKEd0YQ+PShEaEmcn_BZ*MqkJ5|q?@%l-t1%f$g^jCMLjR@>xM*XZ!WHuHuI8TblG z2aFACD&Yj9(9%-`58E6-h+6SPDW1JgnLnar3d`}jNl^l~{TQA+RGwddq(|xQ8B=J7 zPMEZg%5?k*bMV*^jNGh#8y$QbAEoXW^}DU+*nsx@ zJAVBZ1i6pCe{D{jd+`w)L*lEjl6s`;Z554(g7=GM?Y5*TZ-P{nZcSp8dd17&Q2w-v zDeEgMF^NvJf^sb{4~Q6lYI)5H5a%6q=6jTfZs2lXCX8Y)88@9OcrucS-)66>`81H| zjII+XZoy`VAN1;h^&?@9B?3zz4odVrv8lvt! zK`(dEz0&VA@Ypkdk4MpgWIPE{uW0JDaH;1s0vsHvF&q!u0&uJh#*pCWF^^vhjKR$6 zL$)pFz!-~)#A5yZ?S7);8Be2w2d6O(vIv*~2gMhy%gmxC~fG ztx~8VxXj@Si5zS~H%B<*GXzScAG%@CX_Loc<&^2qaRGxiRg zDDXm1$4Q!Ey`ly$_)!Y!7USRr$~HA)3pSqlNPKsPEnIMH0SlTpf-RVZcdN05u!;QA zFE#pyunLoZ*h5l?p2clYSLzi?obSx@#jyo|B@Nhu(m;HNE$py`9ky_e1R&h#`eU}~ zKhAX?&fMuo0Nkvi(>$t@I@2u5csi|vvP2cBTi)WMc}~B21@*RMyPrd+f6+{o)jR#{ z9GmO#FFx9}i|g0#i5?|3 zzmLeOcYfc6_xrG$>_+@Pv*d2I-xr0xA4Q&4w;g(U9wa5`sk8L^P$TyJK0<7Ee&5dT z+xdNe=g;qpHoE@k_x)^t9L+Y0Yids;z%Ec+&9`sxGyD4YuZxT1cfz%=!2056 zKKdP3+Fxi25>`NC0-;Q8X+Oh(V`Kf{TNOx5peZ+yMm^``8xnmK_2khAq%`h-_`%}- zd5u8L;;vN)#&sUX(~GcV#4jaPc!Lgy`fh}b@PI<%6jJ!KM96|na|wm%cVx}0p-r^Y zx<(b2FR1J>sP5-fAj}>*b@lTy;M$$Kbd%clmHIn6_?4N_CRADo&OCsVB~u+)PFMVx zPGHz>;x5vzLgpmCQJ^q@PBz|uqXdtaXWbTd>hu-Fpl3w_LaT^n8E^#xKiVYi83 zRe;VxBaY&9b$Ba0&2hgVX%sJ=5L<*jS2HyfrzCCSxN2~QtTuxv{6NYm{bqx|>^gn4 zqetPmYw!Hw{jp~oZ=cZKv3iOxO~)VtZ4lW4f%z?oD)zbM$3BqKqkiLmM0=8b3S;K9 zbKN4UQog_>6Hi*-Za|_E!GR|ojGSlwcc3gK0|v?d1n-SZp7I)}3ge%XI=_UAtDm

s|3dYH#ank5r?^E9l)UR1*o1BKXKCZX&p3Wj?@~G zHVKNbPQyUWtmi9Z&?f4C74jgvWfUR>W)AI*9>t+7G{)YWFK5)j((IY{dR!@e4L~x) z!7MSRkt&x>e6|)aajkPE+xB{?UwlgNcY3u^b=vwfm;A=d_e!ht?^&SE>eDw zW^oijWJO-4q>Q2*lE|cGD$=A1yOmR_XXPurdKN#jEB$SZCdGb#68k0Q|H#p#w9Ne` zDEmo!D#3ajW?@@a<lP-2NDdIt&4R;6Vgm=61_R=5<>s;rk z%ELTQs&%R>muM13v-;5_myV*t(WE)5(K&7~=RWI<6D{@%YYYl4HlR@vplw;Ug=0Hs zylBb#)(oRI9}QW5T1KYBXPk|&b6aGDvJ3b0ph@jb3}~(JX-yHDIw`9h8y3%V%r&Ja z2twDU3C#ocqTGvuz=ddg(`}#O!0RjNFvb8`D;$^68U#jDBb?e~p zKTekKHJrAVb$?}onw_A5@51rO)-a_KWJ#2&(vK2Y*WPk}sb9zC>USt#bY9WPQm8{U z7>8V^zFUi=7C**l-BapGN}$bigrI?P88Dsh=^au{4jK7whc>&@W+9>xP0MkekwaMW-*Z>GeGLO@O;JWp5H6FQoZc0@tTa(A&;e)&Kmqv2BLoNl z27Abye5L=O+YN}?6|}Zuq*Mw;K7vgF^NWOk8sJI=~pXI9=3oMB1V!S zVPo=Dq^Q*+s6hbL0mO%ciueVvyAjeRgj7~Ysv>Zr?uor9n`VJaV)1fwZSjFD3jj$C z9KREPTUw1RqD=N+xfZ`Y?HaNu=L`b2JOE=@vo1ZNPcOAX1v#hudznmt9PV3kq0& zJFjLK^MMo%5P{Fo3K5I+E+l=ig@rx$0OCV%iV2U@zf=HyLh(G(_ zHL=|#3xMlh#n5FRn6%tL?~bc>b4Ey`Nz=&lFA8>k2Q#4UkFK*3Er`@h#;_D!43FLT z^gUsQ!cNg=dWHuq%{0%+gZP@JdvNl9JG=ko?D>$DoJ2{HkpF#h)sQ(OCd3@Y<|D+% zTl`0tP3px(o}{%4(JJ3!hW)5sv6)>w;YG_ff#k4Pa0Gyy_8dlWc9Q^LaaETgAt_Ma zV$G70`*fj{%6-7n+Bw!Dz~)8aYZ&Z-v@DXvxfHDMt=GS0kp$Q#ALE>B9_}cAFSwtr zDAGeUvrXRxE`k_My&#)noyI&t^fUHlkl3Ces#j1D`A4!K{`^#Qrf)qwDQ&J(8ly#3 zIJF|P&M67eiz2oGT^LiAeD6J^S0xWlxZA2ax99K8*FpW=V%#9c1JK^=MA_u66>Au| zlZZh=Y?8RRJ)@?&@#8Ft>{Bg&4pOBHl4M7=on`Rt)Jz7ad@gSqrg7+Nq5Z8=;`8ck z2{w@udU=|#K|s>l$~Qif&^UG`m^rA5>4^5Za0I;qmZSo=C;bJMlp5~_^*wkoh zqdiW^N4P#gLjt*F$nflc*+0xaO2U0V3`1`}VEXk^3s@qs-Rr_d=L=*>LUgW8cmr3+ zRXT?@TkeNo4-ae^G=?O^LYb+~`FKpJd#^w<86y^Of{t)J&9UUa_2iaXr_CyUpA{FaA%y9wx8CZu-e@f~= zoB`}!2K<}7qrNl1hW~F}beFdkHJt@q(ag;V=$CQ`|C%3vWCQDsTjMz!$^)83-Upg~ z0k>~W7e%|xJrTFkCLOR=R&YAG_@PCUCsFRAIu`Y*&QFSYSWNvWY9QxIPBD+!N7E|n zw*-j;FY}?HDrV_=QIz{GDdx8P@-VmLmlKK2F2DTZ=a=J5Zy>)s4uUX?LLs?v>XVFZ zcR!G%it;9Z(4v!Go}^_MVCtYvS1B09iWHbb(s_!kNd2U9C7*FeVYH(#+EEytBLPS^ zy8Z|keMsgz`lcLKw+6K480XsH4H?S(v^QobPp1H?KvlnCk?9(Eq_t@1LeD?K2d>0g zT%AoAWz(uAI!=YeGEJf^&SMy}z3ebdyga0$vBk>{q5jiMe`2{SJN$x}g;+bW>9Rvf zc(>au^s^*P(@IrJQI-2uopd}HebqD9EL=oWxtN7mIMX)^$;;cBg*&rwXBM76voPD} z`lDI+>zPKY(MCl?T7?7h-ml2fvh;{I(G&%GwqW_ztd}%o&JfaO)L^T&MTKx(Pm}b@ z*e_i&Y_wxxf9wgsSI?a#(>!3miSjIJz|vgvfX@TlN0P*88Ns10o84X$rcLH!q1u4i z?Ppm|m6l7G-K_zqo84&l?#%9sZ+0X1*~ZQ8PI$N4?DpccDk|*5ETgeyUixf00U;jrD;%eXAwBqm&cM^fFlI zrw_D=H(2L*ewt4Yzi6gun7Oc!oUO6D!gff0?fKpm#;Xw6B|+*}8Fot0#581;d?Tm_vWdJZx*v@~Ln0sccS8JPV|e|hsF|C{?$CZaKr8J;Tr1akXHxb_uc zF^hy(mU&#~F6|YfFb-qDrDc(bqO>WEA`u6Po?4hUL6{CSb8QoF29ABOPz+3oatL{V z)5BsAe8i^~R;10R?>9ihb*0iA+Py={iqFi@W8sFc&=m!hAQn--Dao~}H|DDWGC9q* zf1V#@d0A?C11@X6-152*VWO$oTi!&0DxtDlSsH4)1pA2Bfb0?NJO5|V zo$LG`ex!Zpy6PP9IvV!*zhR%f^CyV7@KT$Dw@;4S%dayT7r*kN0>Ad=5%Vj*e|h{4 zy4GA(!e8CR>iGKGH*QMT#RvG6o5z1v9^8b3gZ}#0^q0`w@~Hpx*3ldApWkKwvU|{2 zeV@0sRzD6}LUQ%nv7o?JKW1LF=_Ubnl+?c+W&)3sMs;G69qnlJsxq8cA@mn`49c=6 zOp#lEcJ1i9-viCY`vVD;+$7e{S&oF!k$s z40+DGp|wxuYzEX9`qEn0(DUOU_0SO+xrV$RcykN;j^@^wODy}#{~%BF)-%N){QynlwSR$_re(B&tvSYQ3YB71z? z85xyXkyqPgZ}bKE=S+lu#{~J&3|M*rj^>Ul#}tTq0`Wy~T4xd?e>|};|Jy}$!l*Mf zD&x5HoH~G?fli<|?&&cKDix$xJTcmd0 zf*8}vC{zAi)l0V9bHWrywKd8#@x7+;3&bL~S8Z7^^Ixdw=UmmL&Go32Qq|t@z_7Q< z>=i`bIpY!KyDjtle}DI{{=IPoTDv93eLKoV^YgSQO6gn#I3uvrIfy&!86FAe5Y;jG8ji;F7EDl7s0qS$(WwZM)TXY2VzQy0l1 zc*xl+&7}>%rL@>0%4(GH7!*O$c=eV-xAew6!^q3Zl8t+-f5d6ajK{Q0z3H^xjDfus zdhE{^(qp5HzcBZi?D;GAv|Q)UQDtq?&Qmqi@W5<#p3zox9l+Vyc}#T{UN~J2wq3VL z2gcfp%(66#gWPZCVE5}W%lxvad@pm!yV+iKwpw5KYyVjj{8jkEqs+Q6^uny3E)dK) zd$SIxztzr)f4nCfrLsWkqPV&WHK{5oM{P9HkW0#N+HA&gS+!BL5tAsHrcE(*Dj)lz z=#b{E+eg=rZ|XiG%T)IMSZfP7f$*+vYl`WxU8}!OJG^_T5#`m|&cb}(M z+;$05JpW@K(hkRnfBV~g`_#if^cl}c)TT5j<1Aame>ZayY#gM9YUNRr`-MxY`l4G& z%;-m>Y6y(&+qU>1Ea7GZ1<&hYjtq_@a^jdC&y#D248BcC*8rtEpIFtZw474(G)TO9LloSy)DJ>C&UX-@N_Myk)z+(qM2wV_V>QR~1 zbr8?tI}P$QPB@{;!o*8{ZmCiCcQp84kQ#N&e~R67jk+YfTV11`mO)bXVE)kef@xiK z4KP=)lw8WuQ7QJz(RrN$KReZZJ?9utytqzBALFA7k$X>@S8oir7^)_w8}j-vcgv!? zrKo9ld(eoHPrkkOvEN?#p#R8rNAPAxI8QP!*wO!{Ep z7t5*&%hYII7XKe6|GyB98-NFn{-*GLS5f7RWtLZr_LZN+MVeJEvA`wmD^+scnIHh{ z8s(`|>9c6FCm{=Md%YQU-o%D;&;}DJe<3=0h8Gj|^?Qhc@&=xIk4)ag6F5Mqs`?cI zqwjO1RIM!Lj(TsL?7={t2esKmIRPC40p&nO5<~&8bNNeT0C;YB9JXcs0NWBGtx90F*S+8MU58Xy@_i`%E0D zhcK)S6Bqz+@byqi92OJP8?@J>eyVNj*hj!AL#?-A>;HrrctX{_+TEUugP~XMzM>k; z3Lr@9G@K?bn69P(c+%&YLP48gf9Lj#s%Vm;M`ajIo4SaQnn(eOq99FDsB}UIAYL`YP!0g%WhyxYyrofc{0`C7qASo?8MQZ)ArK_Yy9 zA0$Fzg3iR*fkZoyXyl-GAkhvaTKNv!fkZoyXcZb^`xHWtW_HdmHVqQ}e~RM!=wPxf zz_UlJZolG+YqvB&KuD5x#T@r9{kjbNIaO-|9-y`CFNjhvZ0~?375}JvaZ7UA2d=;c z&le%CHZ#(qU=)Jb6A_A+e9r0Hzz2(tJ9_z;lX4f_XaG_^=12o1njktrACAhwKpqmn zlYnoJEocX3I3imPtbqK6f6~{ssb039M8n7XJH+1LJzmn7+wA6NVvx!jA&yGShA@?E z=Jc1CpGl_(Hp%dq7av#BZGWC+t`Hs+(*p@XcMuU4+_i&K)0^cvbG7VLXsjEf-<55R ze`I?apw;_;U@_(QF5sA_KSCUm_Mx=dWx?scIpVaCl1C`5M8!Che@b`&%v6{e+2h{b zpFP=!kDpLBAIx}15RG@25IP-z?`kOKDN_3 zifT6|5<8=>dIe8tfBq3ZkS5w?Ibe+Z+p2^}x9b^OF43S>BDpDB^(;W@Y8lDJE{jvL zN)#kF&Lb}pU|8hGVZhrK4;{lr zoA7Qmk{c&}J@sNO-{142+zWglCb23t#R)cOIsjV76V!r&kiDcdZgqi?$$~VSZgF0uP2j?dn#Q3&bvNA%R3m|xqycsj zjIg4^u-s17Ewtfr)ws;G4>^S0^M-gsFjt4 zSK(=bfK9+n<$OT}R5vF)av&|B8({Y2=QulyM15noSv zWksBf!&!KBasApnL!&$sWfI;AZ!Ke^P_K%=rF6*O3xQY02ZD3gFeH#qoOS!$u;F!k z4d(+|>YO4V{TKSnUz{HZNlla(3kRlA}PT06>9w6(9zX zf1x9mZvG64KDb6ot$OMep$k3aP3Y0sb%6bBMtN3k?xV`N$KHwk^u<2Hn4Eg=Q`o3R zioVnPpMQF(S9%Q$Zg2t;L}%e^vppW|f4d&#-@YO^X7LE(Jgu|XrTE^y!3Q*ct{toBj1~tTwtYy6@;2KOcLby)e~sPE zch~^%G9Si<%3@@#3GH;5PY#`y{`~t89ig`fMQlJbImu_h<~hn zxZnQLgg^|~B5U>G7nQi!Bya;Z-)3ad+1EFmE+d|Dl@0#r@ZkF7291aln|CdZPVp;+Mf+_4L579Y>+z4=GkxGgAf4BH+QFBVw zXXyJOdDOnLnC2ym^DPA~t|NHc&k+=WV;j7ASTRW2_>9xLBY)LsUmdHa z3{+y2??SMf0NO;-5r;I$ZP)nTKmsHXgKF~ta^QsW$jt>%AY_}sgRpLo{tF;B6b4FC zqPrk6^1zAQ3sX@b>Ey>)e}PCTI_!-xGX`>8bR>n{*hRp?ys4TjacS>Xr(Tv|bX1om z^~wfu1pZ*@K4*p_WLY@P6Da9WaD>8({HVbp4&ex1?j;mqcEk~quw@48poG|hB#1lj zfP{+;B#=mK9!O}Vce@M3yu3=oP*ZiD@8@Mws(kP&T)>r0S*49=9-GKf>Z!&;Zi&z;xXVI0$2$_ zhaTXyq~vt?l$l#h5gxD(q!xWDLcx~}7}GI%1K=@CQ^Hate-&?`DjFSaQQ$KKUm)Fz zs(4y1D<~}@>e! zJ+V-)Y!EHs51ymEHi4F;dEplcIFM@dygZrKK~%#K2hoxs3@BY|;jD|Gb-OjJBoN=- zfh89lEWw#Re*>^Y2=8{+?f7ieUapm7$5E720B6oU6*mu-U@=i2ETJT-_Ou-VmLzFd zghW5K0kA}R+GZw!IBXpcXddX7`vlGGGfqc21`baSRWFqDG4ilXv@t zIC2l<0lF3QvQttJWnP@#AC!SC^COSfeqB|e29pR|p*BD}J|mojsnzGixiWugDPU?| z+PcX6f4l&jdM+fTE-md2byb&KZP|ACf^f`B^~;ECV-!EFwTk??Bm< zo8rLSa*K3DO@S8O%4Qj z8n}+$!^g^mL6rXYF`fpWP+Q2mh`Q1jUSjf@)FA{S~_#4V(ba`huv$)^@R~B};AUYyUgp@|IKX^_K2*8lgs@u~nhe_(yd0N2T=Ypw8 z=pkMC!g44ndm)FUdG6x+0mcoSQ~JD-86Xwp(%kZ$jj~CwH#UtW>L)B$WXr0S2ZPZq zx-j&sYn4eKdRrR%mmQ|po2Jvc@Laa}fAZ7I?;ua_hq%3{oS3%6!=B=5U)x!*j3@Ke z(;s8vEk10inYBFiPbPlgc@B5R&z-!2ldCswtYN5^ZRP6!d;Sb9y9jrgR-}?w{UBY{ zBe*I4+`fMne!#d5$OOVq&bL5(z|I8d(rhqySF>e;;CxRI$lAQ40F4wphZCe%e<0J6 zdP+&wr3h~Fh9009*E8pSyk&E)Winhb9#vsdmq8l2gy6LYI-g3$f`+;AQ!WX=-~so$ zE7v;w0iAQRmc0n!_Z5ppxrT8@o^>z&_fz0AZHsGY`>kWD_9m%$4Ce3S1}E19?D=Pg zjlTRz(@Q@(S8DXR*gO-oh=G;%e_f^-?+iP}i>tsDPgb$q@@1Z`a z0e>2NX(&JgpF{FTMcET`Fi+o?vCN(b6DuzNgWBp1XBE*qjF?sH;-#MV)vq5Y54&PK zGJG#>{5)Om$WX7~k&)z45z*B1L*NKOmFw5uJb{C1u{<2!93e&^=(Eqd0o==x|a~ zX)S;BE`ev86L`K(--ej>f65nMP7K2InxjKn>;77GAKkij{Lc5T9lUW{ETMXrvDrni zpD+jL_1h;R8wgkFuR*tac~I_Eu~+RyOp)ysY-{bMUXw;%l=+ok{a5%k+oW&b1}Qzb zUcYrDM8=PLYjfiWio}oKJlQ`yzH#OFO*S3Z#OkoM@jWi8sHcdve+>sD{>33)p|`-4 zs9T3T4Qh$>sL6NU`Ref-Y^4w0J~_t8a7vb9NQAkf+RJkUZoYkkf6x5&?_U=e`Mk4hUxDSo z&qPKH|3QDgg$v9bUkWJeAzg?hR14Zdf0dZTH0`heu48ds5x-8eGHYD24whVz#b)r=Y;K@Eyeq;zW`0~whp>!` zAgfA;`6((t`~U2HTaO&avF2Zy^RR%pphkJmDnAgYD|R0iXK{QMyRWpwT?>#!gQ9U@ zEEbSVNw!xvK=y;Nuq4ap(Jv!PWAiEk{sq&2!M|iHe{N4n;3Oj@HM9zmh0GsDjr z@<0$t1^S378P)==Kw#=9A`nJ2_k=V>z)~N~SOrp)d6}s>QW~s+OZM}=X~}-A0^4Jv zp|h+Le}>~h5)G+tEXERM%*8xOMG3DHWN~|#rw}~pFi%biA;MH?or8HwZMy_{uqPXX zJq^!w!6~nOq9H1=10)&>A&6Es(XbI-Dw)Z9Kk7uoR4P#uh)TG?SXP%hby^&PT8UO= z8b5C$XxUozHz&~$9H$`=X7h%fb9{E9;g;dPe=XCXoTu$34eDT3nKl^t@l-z9V9zlht80V23n2RBS*PFulMCmezk{xr1MpxDo-<`kB zh@yGQVN1LIwj!jEsv0)r4*YGQ8J|@LGepz3SU~CM#Em5%Pn{MD;nBy*b&d7=?*4TpnIdg4-i2sg3K`8tJ8RJMxfaD~s z?gFlf$#e0tm9QW#NYLtosmzM_bW+9yRRn0FOEmBj-iZ{A50d4BCM~?E^E9C_f5gB$ zp{XKWK!tP7<}_&;^-jc?cY;Ri;+rYrv^2WcKo+(&Y;fTa z-APTFaMVs$X_Dr3IwyhXFk#~H<@VsDO=i;G+UfPYuSY;#JX-^D^{f3ne`F*;5<#wD z1HZt;8O*3@Ir0}+b=9_X0=|N&er)R{Hd1x-1PJq{QsrOUN+X!{29yRsz)bh+_%qMo zKJX(b_xfm5s)v(s>mTp_G4{su4$1qsz`4D1|K2Y*dg2%Hh4fE^k)0!wgk*IPecbI>;&3&HmH##T{nZ!ViLXuE%Z1GRWzB+!8y^y;}8 zBes-kE`8Q_@(RZXcloxtDfAGB(+U$z;JOI~0P|ebBC#1ijYj`Ce?Fxv=)`5Zq_uT7 zp)@R{6g`_GqLR_1PI&;rM3sA)v#bbfPaipS|Mi8R(=${^H>YIB=Kb_BnX~2|ue1@H z8z?+L;97kG--Dpd$+=>jmSs8XKpn^TBhzaaXm`_Vf#S<%3I3t)1P4ptl}t0|0hI)@ zK&N)YFs!hX{6LWxe_5F&K|aEsJfSyPg#QuMTVwG^rwyQ+%=_ph<)?BWA|p#mSWU`m4%hMOEoo%+#&*qREmep{ ze;Dx|ylpu(gHz9pSaOluZX#&KTX$~X+s9CMJkDQ0(DSWdf4=$l|JuV~8*_CdpTHhp zzPtEYTNBWK}4SEEU)I6K;!19Ka;o@oO#?M-DD^n z`=z{VP709^NF_WiXq9VxU7u9KHBF%}Er#Za6bWz1f9YG1O5_-+q@}7Xq>^h+D!~c` zhai=3m1>%FlFONS^ih*abf$BWU}VW9m8eP*Ui)p*qNI}X(>_8fS*zjZkV+5-9Fj_` zp!?|`F-D(#&!PkhotGtDrIZO`Vu@{iXet*d42 ze-MbyFCL$sY#Q|4KF-s%Z`;=cHfRbrwd|Wbd6Rq2@l4?ElYQd09C$*=*sNirawx40 z^ifj+33+9<2s$#$KtzB-*GF+}|8P@*`vc5iMuCE=#H&wFUWq+y?gR{DcI$KCH@W}6 z-h1=sZ`}bqa1hmBmju7rYkYAdKIgu6e}xT>&-R&IBujXm&dJoKO!BH%S6k??wT9=; zbr|%r@I_8W&7rJWT#15CX&zK+>Zmi z7Dr=gTGA|^!@mf|;+FeJbRxU><^j=I`(Woj`$c0#nN)ctp|hUX)-++MCUpq|@!Ogb z+00^##!8;h6zgQpLSy44{`D9df7`;m3mSXP(O8tA1E8^zC`x%t!H|MT6CF5eG?sI! zGa8ooS4mP8g3X{{NTPK%7mc+)9#?X6&{%xf5RElk-<~ZC8oQve3mSWc1VA5j{nwze zj+z=pV?W1j_8lh2u1sG%Op!9^>y+z_toea=XpG+>$~cFk(dCN5_W|Zne!e5w7vw8e>vhfP9TBfh_xYf-RVKQCFhtRJFJg z*V~m)*5cnk*Ip%*b`6}FOgKG$SE6y(smQ7T8X=PBN|!){IyzSZ z@C}jiE8%T`T5RVReT0#T#fS|S%`^1=LEqZdM{OOuUt@h!p9L46TUsYN6ZM?P+IZB# z=bj(XRd7-)CN|w6`aUT}StT`0kLN_BbQ^aUV3Jnd?yoBAn%v41u6Lt^aFW@bQ{(^}l zb|;0mug8o7@64Mr55gP39~)bWgQu-C2;mlc?MAX$m!}OzemtF2HW>7tyF6_$l55`O z$(f0Lba^_e9X7Yi(+&n5i0MEB?sO2x*5zrFpWUqB`F~pL z2LiDU0)QA#yoePw4#p7i&rKP|5z9&oRm^I|9Ju0J_~%1&YgCY%f8A+ZzwDhi8@J-# zFJAqZ|2E=O4(~E?9a>`l4Y~B3MlkG?et^l?f974`-LT-ZZN>CbS99|h05}X=(9FnD z-s#Zed7+z4KC(Nm)^vlMAQv0d!Z)}*Y_~4>D}u)-y>ePTz|LNvb{Ye&QA+1im@{4s z9d9}f_R!qElg(#vL!SoosiC=ii@Wo0s1KX}=&QiPFdx2v!FdJDO_@W?Gq*~x?fwDf ze*wP0Gt|7nW4Phi3c>o6k|(L$)%u`9$8#ajKC92#Bx@&`*mg;So(jN>f7*7{T7Bvp z7q7*mt5C>{W)QO6o-GoAfSnn6=@9VlfL_89k}GV>?E<~DsuEcy1q{RodQ+L`L|Cj$ zXr;QU>D$y|=VP_ld3)Cd<-O)8FXk;Ae*)!A6;(;ga}qjHrXu8VQ$=WAikt+oLXxml zrumFSV5_uZ8g2;vuGMgJpkLImL+IB;gUmq_13tzrg)N%8!XH}#Q%BW)d?V<0gOOj! zCfa+3em807eZ8SyXD0Rm{T|g0n+yH!V9ZUOynFosHSe?pkJ zEWz%d4oGeFlu9-M(si+Yn})(tLJbmV`bbf z^uIA2vOXDlf%wwhTBk=Ml;m9N7lZfP{F%&I1^xLt4N!#FTXC zSlyQNe2nPF1X$BG8OEd{ba?_f z@@=|&V-yhdrjI*az9{Ret^yQRGFA}=R69r09SLv&%47&!@K$l!Gi?Lle_{)30{+<2 zt#Y1r#ej;mpK7fQzHrVRM0t9Sk}U(=C9D4F+*+z{Ms* zzk<5y7=a5GQwS56Tvk`i11|8FW8v*D(WCu-+@nRe@~J5S7Y~5<1gSacWyqv|EpB-! z!fJ*+agP-mh)-jjg@#4*e+EE;VL3!+`=&G9%`KicGi)4xzi1%%`_7cZRn7e#Z3huV z;DEM9`j8R=fA?zstsYFmN)>Qru*LD1{8A-P2c475SGHu|)cr}bG3AI9Oe|MW1+af2 zwxKXf*GvnrUXX7Ge8Lb8!s_x5fx6Pn7c|HKz-;vyWOz1znmNOMe@OwwrS09)7EMH0 zscWt@hYu4nX{O8iubrY)_Vvz zjZ>}xzO|A|ljI8UfLK-~EYE#q#uYCbeRPyOAnYqXgwsp~sP4>I;Isu!+i=heoHpq_ zFL2s6J8Xf|7C3De8sP{P0*@(#iAxRxr;T5JY2ppE4gS7Gf7f2_P=@U$CtE)5e?XI& zSqB*c;sNg=OaN{_zyy$Q3E5ES=)dg2je!hN7}mt$qZT{K%Z&44PXCK3bgBJt8tie< zf=wA(Eg8$Ot{nIVnQPrng4{Grjx)g9UomIav`}%b0mSZO!;nH$4$FQ)R-JPvn<5$z=(=p)@5~CfQ3epGFk$z6(~!iR4I3(i`?uJdK*nYE{UfX3?aUye55kJC ziBbxg%YXli8;p4sGo4|pfYNTJsh^Q7^GFHxE#s={)M;iTa4v5y<2RrxKGg_}1 zt#tyCBp0n$C1XV;Fs(jB>qQFn+7a{ARHk%(f4is%T0hplmoM#me;{Z*D&@nV^^%L0 zxvi<9iQzsRb!|qO$eO62HX|iMWQz8h3+>FKK3mkRGMRRpe4h4%vszz&FXzxR#H#@kwJTy_r98el1K(t?o=!5z?vR&l})g8aKm zfAK1vF%Vx2nylHmvh8oZZ{za8>oOO#gj3a(k0eQ}jQZUolY|P=dpM4K z_}`#>*pEi#1JCPzk>h7Q&PjOIb3?%Be_!@bxH?#Jv1dwl2nRqd@K0D~@S(w_HX`!a zINoq(B2lv=R)RDE$nx8^kC*`#;f9?bZMwsO&;2gqEp6`r>ofaEQX^n9cCqydqJ6l_ zN@|U^k87vtgcB%My^B@yXVWLg`Lham!I8|Wsl(|1$U}570z#p5%d!f7BJF zEEBug17>zd?9#7$?a{Ukcc$;Vw%A)cU!9r>Wc^1cl91I0%^z?gHR`Tg7`W$CyRK(Z z^2r=f0j|o&^q5gv&Kuvq#bi`F#V5fXF5sYseQa2@*i(HV5+F`i^IsT573L36c>pGj zs(t{f`{W<*{_Z3}*bFf=z??Bie_#M23t-~ysDi26-E?Jf{oE|k&F)ljkTpoxhNH=t z70+R#^pkRCMZxq|4_>l`>Vj94C<=4-faXcfl03-M7j<6LDTSTU?*WlXjy=H!d%*u@ zOv9`f_n{VVtF+ofKcZ4rziGby#@=ZHD-ZS49Q{ydWyM*@Y0E^;GVZrQf7@to>_?+# zq=o$YQ__{am)3A4Ek#;F8%DnlUy-Gh)@ZPJh@K)+r*Lv1E|N&SNgcjac0cYxJ>9`W zf%~Id0B`~Iju6!AdTs6i)WgyR2LScPg!i~9xI`;jK@kZrqrIRRuc3_P-qh7B{0{A@ zA%17w#VHeE4Su&qH_k?Cf7aY*pUB*HudqiHX1f7xgt;BdvTco~z3fGcTG>0p$xa$` z&1WI>hF17scldQFRAopd_mN)KfhiELhCYQI;<72))j zyys1S^E)=u_0W1vmTLt)54v6jk35X5z)fdl$c`xpz0&|{h#|0jX4qXqWdHxB8LF9CqPW5lGlE8fBfv6B`cRS z^>=5`)3PeKX0T^Ge}i7vX;Gv&W0H1Mde(Aw}?X3Be zdw1{u_c!nV^v6HF4QCDzQDWvjk~11B{@&|g(t{*P;m7gYrwmQ|lb`(Cf4TccbMxE3 zxPKS#KP!4aBGlU&`nP}d*4yys+jn7f=3Dbg^Tg)&?Xz*cfB(1SN|2PPSF^0tuL@Bn zujYC4x1y+0!C_=o@qgf9&HjAnr?=m@`)~jJlXqTk*658^{-_u%^v~XW{odVo?*7mF zr?21r*=x2~8JjU_`q3T4QPD-plPYBUDOP7SEB#!-OCHSII4W5C zYv`zW!H30Be_0%r#Zj5LXwkwSJ9JbaKs+#H9bR(Knr#N|91J+-jC9<1_(70ZQE9^R zG=Pnn$aBd#(wMHgGcrl?|9wv>Zu!H=Gk=Kc~x!~iU8w(1ff7fIS0D3=|=Ps z5ZuRB^hL9TrdrCQlYneIzyA=#k02)mp7>X|?3?Bef2M3NJ`19i$j|T73POrC7K`yI z)@Q~&Ln3|~w8Ch_sV8G`L268KO<5MiW|$@C_atOnVr;>!g$OCV zXzGFG=9T7yy#Tnh$!zrLWWnpiY<+b7;~G)tLS{q*XyMXl3dv>8E&*jk=rf=9R4|~H zf?ev^!6uIrXhV(l3f6S<1DF6O33dpr&!XU5f1;ZN7iC$K0STFxS;8|PRp0H=@bXY~ zQZ(-iRiwgpl{uF(A11yjPKW?z3j&Z#NtVu`$w-nIBbKHl!ju^+R;QO@bw3b077ITd zf+;g1zejDyvLw@al^20y&1jzGa-Vu>mdT1#ouSEU+O{kv>teDlChKO47R{E~p~?EE ze~^^{M2rxl91<#a14Os^Q!zrIDoR;lHjhgP9*! z`c8h28=p?J$kQ4KpN?MAI^~iCWi5^cpT<%dLu22RsacHu#n@kr{mm9F-QS|2f3g3i zXAO3CVqg)DSY$(sFc@vj!bitHuJD*B(wtCGOm0A~NTn2FH%vPF=4}~yLs_?R@A^Sy}S|!-fjfPeGmY_G<1;qbCYO2UUi_6$Irp-YDLKp(G0Ff`RT65e>$9PxlvQf z5u!RPXi4<6`G=t(brNY3IG#+DRDjzDZwH$eR?-#?1;K<|@=q~?VupxAp<5FX>hno( zoPYnz>XX&`tM{7+Jwg8zGEy!cL)DhQKkaub#*&~gjv3KscS%ygKjCFr?USm0-0Gbv9XjmMQI z(`O7CzIVLgyxOSa(tLE!}4e+mG!*n+*y(S#cf zwvvMot-A?she%O^@l6Q`3ztiMP+04>6}f%%8FDKvhiH}u&!jTRL~C2$Usazd*7HEQoX?J2Ie_L{R5s-DEk0L zl?wpzTH}B4HXZ=Pe-fn#(0!5MMWsqC>1Yl$QEEDj>cW&q(I1mHv!Fjeyo@Q6E9YfQ zQ7#$ElLo}2kto`jSf;3k!07+pa;aFNWy)+W6{kvTQ=N0krP?FpB~@ARst7$mndL%Y zH@1E0=vn9%-gAgFckLfRi3tUpEbq3^KD>qEKfCIq6X~%(Z3mWd|W*g7u;RST>0E_;) zY4w1x9MsAC032+S2ZbJBSMkoa`!LR!snGBQ{1@;Fnp?gCkle84O|$Mdpr(WIZ`!!= zps56SBz=2qf9v3Xi!Pvr7QpEVAtn3(yY#fM18hgzY{bx05v6G+tdY4E7eSJ%gSc1( zZ}3up;<*svqtAhSZba$R+ zW4P%$0YlpFok4QVL``7KeqjzG64s>>B_gqfp|?zeQ^}Z{Y0S38&Aj#`19aOC(K};A za*vv1ph=#VDh)J}&jX1ANZ?5p=q@BosiVT3~XK=JE|egZzYNPyrT^| zo($q_6qRhW=uRw9J8KhM=0BTQuMPS34wfZ6fFA{K zZA=68wl5pj^XjW(*frEQd{B2_wW4z zt-Jqp=dGXLxi`HryfXW~SjS~oE16|!84$HKNt2WoegzR;(AptlmZdnS>Uf`|C-pcmRa z<>AuWbH@x1mgi$ofv{4D9(CPrfnR20fA3GtFAaOd0hL+=4UjXW0J(IX$L_t5D>H`t zSfOff4jI=S&1=>K8$Iehud6tO)6%@Q85kbNzd>c+mJ{j-AZGw_xhKOku-H!qRLSb5 z0>sCF!h zO7jf6+3d(78S@FhLiqW&pubHOe*sYPuk|6;myYBZXFpo=Zq(!RLT&%9he@PPLL)nj<32LTiz!r~o)UZB{TlxX1=g~eH=f;E{YlZOw zy_KhKQih#3(+~rV@Ndw{?%U<{D>jzh(gSkXBroz3-m1i>9>lh>lLI1;t~169=^sh{ z1ka!PD?}DAlUgvW#OL&`!Y5`OvLT*$AObF8_!LJq|f5)l?w7*@9=xc67 zV_ArUR}1Ln_qeNo@uX}{hJYZ&Wu25#``~z>vDO*U+o-WQMl^-7MvQ3FF=sKN7bAKx zqBk?5`TiCSjcDY~PFi3HqPJF?`P7E=AC4Gfr@@#bHnOeN5;xS!nu!vUggi!NqOwd@ zegJSlkH5`;Z4EX1{%*-yG=E4v6yMNq0eHuH0s!+n#cD?_-GMzl2pwX`WUG3$x>7~L zux_tAHEAVNnfSo^%e7&5XQ?tRDv^`03!E%@!ZV)1n8z(up6HZynToS4Rh1?YOI3|o zs;21WVyRwxOBIFU(3YwrzsFtIs-~h&@_>TGSXw3m_Rik)(k!DCS%3ILqtvuaS&Y)f zC|!)w&5Y7LF4|@4)sEX_r@??@7O6c-qh^;bYss>pHjol|o$|6T1T^Z1UsC7US^Oc? zsYR}YR~>8h0GY+e;_+|b+1qPNn>BxN^8lX#h3P#QnA5nUjSF~1g$xGG3^Vy}7iYdK z#RW#_OcTStaL+?sm4Ag4lgQ0(&%<>abB8%$tk6|nhGsg?$}FqoFegmVRD-3BW)5Ra zan+jA>nRyb+OVu=qmNY|(M$D_A8Pdx6sf-Y2rNcdb%a8^4TMP;0ohyGkw(-LEgVtT zh9tC<9oeHtA{DK)WML;bk&?WIcG`#1z;TZRZHA#oVw&G99)HQ=kt`m`W*&*$-=d*M z^0}dVJ7yu+n3h~VQcm_X7*ovYF!iV6m`a`~Lb9+4eVwZ2JlUrPdx<>^3X$hbg}h#x zRhdu;)`6YCdO1tTtP*w|)*G#2r^m_*=%u{C4+QJ=?ZHD~y}kS%H`YtFsswtmu3pNM zJSFJ?ecQNYg@1~1Xjz%|Ba3CVSXPT=wV7q5_P1!Gl?1{^x&!Boh{i%NquX_}gDDI- zHV+f}C{wDcv`ndA18ZEF+9`3BsWVG zraHU7lr~{ESa+w`+c%J>X)^lhO`*C$LJ}(GR(i?*?F;#W5MOO3cv>?Ci|B<(3tiV4 z*1!qHeCyTz6E17eN?_2lA`(||${2uvm{q{Jva|cbE5Y}8YOhKm8q3}6)e*(mE_g7T z;XNF^Q z!qc=!Oy7@vsjFFj6y9^_M;W+e(tKO|sKt+3{C}u{AEo!VXoyh%p|{oA4r76(X3E8Q zMC86w%sTt)G#Gx&&q0u7Oxfw0>KfFVYx$DAR7Cq=_D0HX6F(=`uPy5Ste+0(i-dWQ zScGO!o9PV8nT53QkZ6L9rTz+*`GwQrYOrv~z<&lo2J_R-3yS?1YrMRGp@BmKrJA3v zK7YM&qHd=2;*S?!;VZ&Dp5WkS-0dIl{_cb^(q7#6$r_9@B3|)%z;7?0@sc!;xptgD`+tn%XOJXx1p7>V29lV{}Q}d_!r9DlPHie zV-jR0RhcAVo7qIEnkz6kj>Qw&A^)f<^M8txu=^1!M50x}Va$QQqcn&5{b({KjT%o4 zA9#+xqZJ$aI}lTf`a4Pc+r{6x=Kc;kwg>Td62U|-ylGjjz+-tzvGF3E{`xAd*UzhkspN z87ZrZrl^80tpn{0wQi7!Yk(VsaTo;lO>|?nS7a(wV!#IyVWB$AthqAfG>sExP2;e< zVbqVncnfxtIl;m+jR(``-9k@aQv&)7M%RB~xmdl^hQ5ST%%=@1p@oi_2~V94KK{av ztR78BLCb*EFL_$&Dg~2tcdNH`_idg$6RD02+6QshZl1Zte|YSn%_3Z_gnDwGuC@jrmL583|4+t%|rC8<^r7O~| zV3x$q5hHM-Y#i zjs7<{wzOhgBQPExTUV27N<&ARM{{MV%JFN0W-nAp&66axT0MFVLtojsMpKkro&OAZIY?7F;=bzI8uYdXAQf(3QJGXxpUhm7D zT|xZ$h+ewP0N(lOonc?bgO1?#+qd8PVG5tS>mgY| zOF#Q-qfO+@Npur+H6|uD5sTKyY-@706L9fm<8RygXzyWGpKU8S$c~Im4Vx&iM`@u5 z8PrQl1xu3z%75-%ernoR@OI(ceTD5VjrNDWt)`Jo*R#)@4832DT{v+Qx7`K3{rqsW zohugEhJie}>GdcENCB9)FHWH|tNR8BbYLrKJoDO@!V4W{?$;MzohW`vnwA*aKxkj)pj&AGJgB6Et5{KUa7V}_X z0{VKh3xCgC2r+W=6_jwdEm}?S{JugduAJ#yZ!mon1_R{*oCqEkurFp(+Xd65NXlRj z(lpI0nL$W%S4whZyO|=K5mVaLo@l=G;@uf9hS2YoYmKxjw}B5(ea|jT*I5AV_u9dH zdPAdv{SK2D9Ap_uQ5S#|cVP&4D{O0z9~)W??tkuRiv(EvIcu&Ysp`52D$i2R5|%jW z;b=>1t{n*1S#$rJSqJ0#RUOf{*b@R8uDy$7F#ys{9tds{;Eq|!mkEpD{aUsdV%|@& zj~LF7{b&0<-oOR=!M6iY9(EDzTFdzwZemQ{Z&_ncK^zBTJbA^Yw&42w8dmFs+^}>( zcz;Ed_V&xZ+gxzac9sAR*`Cf%V)ek{>#gfr*1QV(!wHorUFE)Kcz7EzTD6c{&Qd2w z5TBdVWNy8X1v@onQ%=-RYrNj9q#~F~T{eaYH?Pu7<+yd?e}hwLKf2shM#~g&<)MnV zF817YM+?L*+!4OQ8GI9L%Yc8LX4Z5`<>$ujO@al`$Hdlro+c@hfbNd<`7ou4u32R zV_!i@p5`a8a?eqZ&$gRLQK+iqLE}e}(3+RH19sFmH+S4C$blAqgY` zI}`1qOvR3!Q@J~o{Q3ORj2Yu3Pe?gP)ycF<%Dmt8JD9OoPcFW=@JPqAtRh_~F)Z#| z$b@Sg^)AQvwX^X8F3!jqPLo_#Dt|zCNtQPPhY5$dDO+2H*{Ld=5$Mf zg_nd^LQiKI*!!3k1t9c6f8ZXrvRn+n zW3ZxAWMkblNhB~1gA1892WLU@GB~3T3%Hi;BQdZ4bpxhri2w<5YgyaIp&Oc zGJumb_hBOj2TT}<#90Ty#m{a-;~6a5ELBw((Ayw9dHQiU3wQu>nc^nux7MWsZPNEGZYyr6J?6S&Y^el#5At-_+8*1M)_T`z45~D zy5{^Y^!X3L@6tp`+3~v=(WxoAbIklMoe0fXSeKC%8P7HIgL~sT%>M>;nEhy6ht1)4 zF+5g>{4O`DzwoF-uZ!&*T{OL*X?T^QDVI>t&m$F>U;SnSL5Qf+Z`7usq( z`7VFW+#E?vh=2MRx)k{CCTr>uN+}BLd51sQ8HBqV*B+{GJi7SCgi*0_yA#jAN5Gsk zfBg)F8N}08a`g7W1z?@wY2!+s!-?5wOL}`N47BY?xP}X2v4-#@Gn|5eFJwYIhynuq zX1<#RC^Sw(TGgm0-KeOl2raO3#g*E)m)oQE^Fi#e1%HU9HLeqJG0M{+eEFLnqR$!xEPgLw#}3m=<%9E zk0?QhfF2d0DHW~oD#0wj=$N5LB6v~D&`FnqihoKJe%bMza=_+6kMVjxwyc+hJQnD2 zfgTUNY*)74&;Hg7p~v6#X6mTTxJOHL6N_(Xg$8pI1KlQy2(i4VgcL!7md<6V679!u z0!6wm|L3Jyh&!x3pXy3bEO+VIfl6mZ!ee$I;~ZM0nxmBPRL<$OMH#e;{fRx9eLGN( z*?)m;LCM7qyykWwhAIwW2TH+E){XE|_}|gnfs`dw2=vrEUzXR+e?Fl#s=hV~B<#jG zjMp8JrjF}k94^M;VjOO?Xj9p&hcXVI17hFUd;n)+fxs6C_W_je#I0Wd-q+QHSUo`N z(NMbE0&pg|Wy)AQ9GDo)Ys|2mD1|~5QGZ3r!gxfi6v{^YScm<)eU?_dvWWH^^jjBS zA=K|A0>bjR1k5Do1FQ)p;J$@|CJ7bhq^;X`{p}XOh~N@v||`E>}?`d;R{K zci)cP;r^`~8|17&sGuVUTY4?JHy7W)Z^MB0Fzabn(u+{d(XB(OZN)3Wl#h3hPk(ZR zrZ$}9S5GcJM_uq6eB(icG4d$9aH8r!zu|3EWcBGuqlkiecre0mcihm+4rU-PBiGLr zA#jE6y?y(w8Mkde@-h^s#=7I7Hr~MNcP=%~L4}#o*$?{8$0b@qxpR_$-RcrAt6a0H z^3l&rsg0?sM@H6xn9{~qLE>HD-pB*+i#2&ftt1R(n84!yPCO+ zB-4bGfbx9V0~`2|e}(cUCMy_Q?1Z^w(ON?$`i^NUhQ8x0E#Q$iBB$;!1%C)FNua5~ z;y(rX|h&U30WGS*I=nOA4OZRoUol*- z)28>Dd!hQn)OH|1nYXYL2!Bb~I1V81Mb-p6!26sp&Xj zr)D>s97sr7deg-fa+_xWLpGePG~n9!NPm3m1aZ8A&?(k1 zf-Q%6@-~qT7t+jq^BhC?0-w-&V~+Su@rHbr+iyp&PjRaag4e_$A&na8N?vs00^9al zZWK@p!GgwBb&9OGHO_FGKw%YgM8K}I8MENLu3v}eaEG>X3ckajd_doeBYHzb58~D#k<-F&H6pF z64mneA}5^}P_yWTUHsWE3{ukV&z>VVQf|nLvfV^78*J)kB7ZEJG6?#$jUn1XZ)T*B z@QQ~c{(lR~#7@g?1iBDZlR9v2wM?4-g1SPR$!^G0XH($D zGKEC?qX(74lYjru-j(&(aa`xWGVv3IaOke;J%9=H>IBGQIQByTzfcryO-zvjNhgM% zC{d0DP?i8GK>#PRWCsQU_=TcKiQ)?A7u@?7@=H?Zoa*kX>gt}p%gl6>6*#su_ugKr zPMzz;MwnsU zX@nn98dgD+n7x?^FT)H&VciA|=fGZq6n<3IL0$R~@YTl0r+JmbLf|cw6h7xHhyq#4 z2~k+?HGf(8?S_OvX}3Lt-wYpd8T^+#gO5US3K@LPeJ}P~*$u)trEJKoCpWSn^TXOu zR9@ueK>|}xCn>5e+ASv~>nR7*PuA0XpHYL^IPEs$WAh}XOV)P=olDkh0=A4~{Rs|s zAzo>#F9AlAabt^>-}($TbBa|7&m(hUU(Lg`qJN4W)84gcDgBeZxmm;j+;_7yC53L* zXtrj;0*w&;3qvW4LmU~R+M7Wd@)QTFZ@WOI8#JJ8KeoF*#v5W4PNO`)Xs}@{aOx;C1gcWgZiG znSZhC7yKK1|IWd~IQyf6bMk*jPVcd)mw&STcw*Wm@`@m-%r40&ub_8wDmB2%;LY%i zg>ekwOVyi+N-xTy*oOx(ycu!)Ldl86;>c(5l!9dPW|Abe6eOoZ?o4xG=gz$3?hJMl zoQgY>MjWcYNO&O&K7V&6s?#tJ&3LSzdVgunDx>V}^xYXN(R(19RmTC=xiik4aqf(< zX(za6jXSfe%|0?n!AoPF*Qr5a%Q!EDHE+xcICZDSK1d-}Rn_QFKFG9=r_d)X-pHT@ zKlfQxM_{9Ad7rQhi%^eSrJ0v0PNK4S`X{(}@=uB!j3tfxNq8eyI+{st*e>MSjDPnT z%3_IQ$`abA1eTVz_5vBG$K8~MrTOWh)eX?jw@@t$L+~wB zN_rsWvHpBmx$p&E{PFtElxtR`?#DMwse@^Kc9i3>x`l80i)?mvT!6jSV;*WLkXoZ= zj=+K^0*LN}=eRlw`8>LU=+`7^>xsp9ay@Y(NkfT0awlXTGYY)={AMV#WPb}{#+yPS zxUd+~5&v{ZH|dEyuB2GHKjP}*$T%}{)L%tY>TLZZGM@}G4B25&HT^kP@ZTVI%2bzb zi{ahXEyfrWyzvUA$54GIzAA*2Ahy)3qmqb5{f4LA&}`@Bx2dF3JwH+ns+XqWVanMS^W7jF$74>)Q;lkhKX=U`0i~jeMd+ z_gEkyKnbc+2J(o}ANT~Hw{@Pf{8riNDV;P?mexgG8`~A~G6@r=Pu|+m<~ba!$xyUC zh^|;fEct*|JEAJ2VQ`2H)=N-CR4KWjI<}7CAI%MrXDDG62boM5Q-8Zi6JaH5aI}ZQ z%ID*7%oG=O_3AP%0~((#2TWOBM1TQ1?;V^&4T291!Q5to(uc2&#*FDa%V4wl_!c#V zi`>@ij6SA&{+{ISJJd-Xu~d)d?J}_8^AUFXfBt}zV zr`khQn>kgx4_rjA9KAaVtG*V*aMZJYO=Jfk^q0pQ~Ijp?Vdo^0+p_zgxa?^E%|&NPB(aTUqlLy0g*w)xA>D zp7)5!uus2>-m5-k-8zb(iDcr~72;9AMA|*L7yP5_LOm`NaACqmu%IroATX+Ty|nNO zVRlbM(KCND`A=gcK)_R8r#aM`YJFs7RcB#_C7`-9;00j_JRxLE#gR{Jnv*IoEp9+- zP?~N)b5-XCyyR{GwhNwy8{kDDQrOF~OJp>rTg=xD@N+-%0+ZJvV65_!Y_yAv6wNTa zoS1K5ozEwfhVu=aZ{U1`%{MJRxjjSQ;16axVP}6^(s*E-zc4Z`GfL9B@=&>{$@nBr zqtIafI1PW{516~8*QP8h*}~);K$sgWS?!hW?-k^UUlryAN>+QB&#;ew?@j^HGT0tn zYwwzD`IDi4yp>O%!`-M5Xivs`7{zfKq$VSYpG0+BO>LHX3F7x&Uh$yDAfRfpvm(f| zBJ6)pZxDtL^P{GHK8Rx`TPU|~mWue0)!tm#S?w>m)sCj~saWlC$eR&#EJ$MJk)ob; z@IFWi&&wgFsD>S~I^nr7iEu7f`@m=~n#$*_c4xIat9_$QOHOXj>{k0UW6yXhn`u5W zR4Xcrh}Q{J4ya{gG0Utl5f>Na(E04Oto9roVp0h9;<7fgD4C2}x3ho5 zn~KU`<7KFbmFOmsv<^zBlxM+foA*P#@u;aVhRdUu^9)NpAD{;U+{RGeikEz`LJHjj z_zq?%pla#fiPzI#>{v5ita?Pu@TWfU^M?oMhJOj$L^}#Uf@X~mXv4q2axv%;YtnpF zuh`I>LTxL$`7O;U{M!ZX0f%J2O7efOHhE*JNSxzfmx8{{WWQ@OXlr(*&O-sgDo>@5 zx^q7bX@_N%^_rkVDgL1pT;kuUruYF!7)d4xO;_zJu1un1->wf-2I}UVHg$bH3SnwP zv=_*ORCjl!3jAibp%LnLoB!&(@an46NP;ywK7Y%VPI`s9?6KNO&7=9jww#mgO_ps3ZUu(@#GgE_M# zyn*jg1?#-iihh;x!Z%8xW3PXVgUBd_o=bqjI@&Cd<6_5+1s9-j0SXtOFg7hcxjn-G z#h->;HnPMv^TJ0)4Mqiz%EUKXi#$jcWd_;H@I1zoib)I%3eajHE+U(vPQLiC@naQ- z73}y4OEp62A2A+!b!CL5;~=ccR9P2z`@9Y^^zM2~rGJ7;CI7VDE0KQ_r;KcA?0FoR zIM}6$Z9xyQIa*$-alU%3nisTH8(5mK^3s$UQWT_>A0)FF zk?+E?amtlXhL_OBrOYhS~f)gWI$FAv5Rw!6AmDh)gL{!(aTMd zwm8h|%qxtlF5kR?-)LMGO^OZ z3(}mKtjr!0M}mQ?u~*^W^3_o>(^R;9zIv3$c^G3ovU)UF%sp}N_wwpiIG@7Z7NFkg z!?~6uy$FM~_ohvzD3jXH174cUoL-qHUNu!%^4Jfe_E6!9DadgWZ`J}DC=E?@(A-4| z=|Q|2=&j|fLM4A^X5~rY_rR|)e(iJcYm6{9`cEiR{Z}25 zK$rh#YixeD5REl)V@cP29-b6H*x)w6SHUIh5b8PdlJ(||QIDWlul$z+zL zl$+4Zu~QVieV=u!e#&9@17Dc$wNdI9`5}*MI&7Va*93o5h9P#9=TBGE>)y?mR4suq zK~kk?56IC=qV)|m`AggxP4#N*U6WrxI|*GHOuYgo1!PXj9GwYE0K7s{oLXUl)j+-) zsr<1p5a?czJD@wpn`jD!l%U%vxeDDNsymPl>z@6NIs*)ji#&dm9orA+!4ZcS6ekc? z!kk`Cdv$+b-4ohbxE`K+T2N%)P^JY=JGq<9M$xJy>h3p0S=A(Kde=n((d=qtUSz8V-*pkVA^gy%^Rg zq)k8|Q7q*EX02}dYkcL#Sdj|NH+?ejD$Kmr7w#N(A1Cya>t%x)G#1l45jJe zje$kU{zY6Lq0FZoEnfIh0Is1v{9h0#C?zJGZsfseL|AUgyhmD&pF@BSSEiIT5MzaUMWtw9; z9=CU?WtUoZsbzE1yp!8BYw`QWhFIrp?Bbt|j1A;r<&_?G)u@rJI4d|S_mfZDK8$Uh zmgL7;Da}SH+~L61gjF0Fs(9!Wuxl!uVO$2nPCs&B4K*sI+r)tli)al8$_ig}9`VWEB}Wbeeli4w zeij{eSSk7&u@Aii+W~uq@yVuWT&;hXmJatL*bG=|h|)hiV5_HMMfzc6`E%SiOPbJ{ zDlwP3eSG292c8GAAOiuTt8d<`CFIxNqujG2YdyadX7jJ$O#xl!emQa3T|a<*$Jn_;h9 zx_K+Rc_c9X#xD+k_~T|BQO$pMcH2h3+r=r>^Y+?0+ZWUGLm_UMNmUjzu9MI&N}V`# zcri2P)j*Xqx|pZ4Zo9g-Mzx>r-gaH)?feQFl}J7qT)p*q*LNpX|AuiMC8gn71XWqE zkaw&C{Y9ST^4k^c;b`4tL`wsC*@+*aX?X#+{>x?sK573dEUjPn$)T3RbZ-P$p7mSQ_~=$5|W@&o~Ahpec? zb4J`NSU8F?%?}_Ji7)a3uL|PySlk_^1Kw_mCO0^YuOWsEPji0)Yr;Uax53<2nI3Mw zedX#^lPzL1jH4&k7$qm&RVSF(U6LklioU+I=&(N@^w-yT4ST= zRyK!WWH5v8MUkJQIi+gNI$(Z)^cI6>{kZDuxhR0K+OtDEdZb>J$pc-TbbAUl@VZZd za>=ZN$ICY4?;wA~fITS{R5NfvKt8g*+Y9QN<~*c7x(0yZ;cf>EuYUo`=HQkC-vTAI z(r9IrT5V*@!3tiL=!r~16iS^(h17zrGEXVBgJ8jg+F*4#n~F>H6|}|aRmG!PL%R&` zYpLra%cGgnM>C<}#WDW@7O+^N_UbTs^x*|sq;`ZVy=Q;pB+t_I{Rwv@3}B6D%|d$AAzVXX^JrUz7%<7iEHA4dNpxnajdI3m$$g(@`i?=ual>W%gJjj0*9~V` zIj?2~o0NYojPrrnv|umbDYz$vy<0~34B}KE{nFNGEpMFLD9;@Hfr0^z;L4OCZCs!F zOkKh<2*WhORk;Q2#p4fue(X}p0*^Et!$absq%LVl;p%3t@|HN$Xnm(slCsLXJFb&Q zf?h4nD9O%mGkSYf;55kFnrLpr=bOAXT10hgF`LN8YQ;il?RS{>f`wj=cVfdF1Ws9U1z(_KUaZf?CI560RIw+qGlRDoFT{hCfi+wPg!be1UdBZ%w4XC&OKEC$twj074at zD}+D=D#au3&Y!wC7ti;;y2;snbLc*jaY;QC*7`c6kfcf>O+31VJz(GM<+BFg#+vyW z^Ml$2m%FmTg6rnd76SM&=>0ZMM`{Rypag$uAoP-gk;DUZI1xh1cEIMz?`$qA17%jn z99j%0XjvpGMk1TPanZ>jon$@6bsbe@X!2$FEKN(~`I@2wLqFi9LCAU9I&i?Ok_il0 zp|8-F#ul%(R|}muP?zm+cTf~)<_L44vu)Pz;gVvq10hOUMuz1=5~R6BQoCrkl{Q86LxJ=>@=f^ni#YcqJ@Kgv_}oO_BIVRquS#uW ze4-Shaiz&_`x{Mq!Tkke0KbdP$Blo(+=zeU(8{4Uu=SclD|_D66M-Px(l0|loV6|4 zY*Q32_k>O5S#YdALLnXc*6_XRF$ZD!-hoEA{|Ec$8D6aRPn6Wn-s zGCbMhA5YSPk()u^9k5^~Nk&x1X&M`0OJ2trt1y?gILSEv%n*08A~GFvSww$E0@`$u zkt4iRfdPEO2Lea{lg=hCe6QjnC1Z*V1W8;4F%q+>q3fus@*vYazIn^QfVJ}<=th$| z1)O}i`Wj8b4?u~dBBz3FJ=!y%@c}R>R@*sNLq`=BLG|qio=--Q4O*B9O2@wE)9}Xv zI1Q^iMY`oBj$zH%?bWTP)%t%{L%%n`@O&3vvcB-0CfMJBI~7{m@&ldAwzGz4 z+a9!7`cq5G{^YIdn-|970UOO73^u*nMgpc)viM=h%RD#iizuvkS>s3##Q{y?Jhg_2 zrMS#dgM0=`8ZkpAOT=Q0NxpnZI*+hBkY2*&rr%mqOZ(bIyc^u-E8Tx6g<_GFWt0I7 zD=^Sd2DKVuohJW)GT5bFWk~wb>Ir0P;arG6y{}#X8M)|?lRMddHmQEXuahA3N~7;D z@Z&Jy#&CdPvC=<5u~N2Yc4E~R4G8k0dZG}=L|IvPqc?Q-1Shq?FDX{ihL)u-ZJJKB z!E|Fv*AA-Hr+u|%>3DzpyaQTzNEAHf@y3po(jjo`qMHAr^}`t~=LSHLk~H|8$+viI zGw&ZVyD0C_kp^c4O4@L>df6m+WK6)|b_0*|6T+m2ZAw_?0O-XiGxPq6N=6^!x!;eV zOkIq@SS9+`z1B=LYlVgNzD!&W$Q1(JfHdBpAWoa?&jf|zRbGEy6sh42gS*9x- z8JV#t9Q_kiI7%4Du5fxyc=%uR&$c4_(-=Gw)kPiv-HYCd$CD~cebyg55=1;m!e;OY zV=PUZhPkm$ydZ#l`0GeZ+I+uj#)IowoAKlbbk~gc(l_HF7@tBjUJ!*IhVn^%xerlL zy2X5(@wi_{NsoX0n#G)zg{N0N8ybt^Nc&Y|lRET}MYq?XM{`~j0Meds%!(Rs+f!E{ zNm$^;c(D=PI=Llm^Gly(bKl-x^aT6;_V$csH`$=j4E6;sOD?wV9-N_6^x~YSFBJpp zd|@b}HnEUIw^uDCTgK&W#dsqFV?Do2iwwyi6kQ+7|2uzP*AJ(vx6$>|M?S)5zk21T zU=w)}UjC;?0tEk7;F!c%cpZd6`)g$^$XI1iu3KL#O%$tZj0A68WEN$#BxBFJ4stQO=9iByi49wr~b@)4K# zYLmHUuV~D9>EowVt4h!O8yN#e-plF{pIDGx0HWB=SOcG$(T^9s>FA$U%d{JKri@< zTi59;pmUD8T#nq7o4+dHSt*v(yb-=hCyHZ=&)%+n9IE{29|U;3dGM289sK0-f#F|` zlL%~p5pRl5ZU~$9=dc&(TWW_UL1Owhg%5iD22e1P<{uF&I#jX8f`l3%nhn<_ioC;4 z49tJczVy$^W*eKQqLt}&j$zkXKB;NvAktnqSpB!m={&$0l^}FP4@1s1rD&YTm z<@LWldgG1Os*)>q>GdH4VVlcsWpizFqvOuX53=v0VXlcToSva$vfBfl^aAc=%?Y82^!OX&3{R3M$TO2WAuNRR9qHr49L}66&R|$zF*q~DusV|`9r8PD5i@_v z*7wG~e6WT}eQZ9|fAP&IpM%D^N@%ot48@%QH}JWFNSI89CMWng+`TIwwhmOfxBj&Q ztnC4dJHRrI^LQ%cOg$r?@xZT*1Y*R3+RGEY-@_r+nIaYvWj9@#ZV2xYhk9Xtr#b1C)X=sPu#)FQxeszWf5o z1&F){79Vbk<5eN|M8Cz(UE&+U%Cp|j5CyS{^8ip(-0Gv%)7PLtuO(EWsx0|X17HeH zAG{;9s6TdI-!35PI}kNNG@2`j@~Q~)m>VD(^Ds*TB{k_l)ZCU+2T@E}E(U)@lO=&D zxP5<+@xF#dLht;Bf5p#a98m`gWD+>whdB9r1x#C#cNHO-XtU5uBoYSb--WTHa2Xi+ zOl+dqUH}dqfNlfl)Pqhn>xgDR>iT4T*TK{F@DwaKSh*Ia4sfa(V|QCjlnG1z_KY?8OUAZvdd+Fb*VIT7A>fpLMKZ)R;=t zO~BL)=@Ny`?1dzRBes9Cmd6ZkK}?8GS5J}846vu+=mo+&vsTXm(GEbAI3O~CXto7& zUJ^uwml>@@e(VKhm0~xe1EP5V5%!`xAUX*k3NPT804!^}O}u5=V5}ZR|4?Oj4}U0d zX5fzlmmR<*b>L!x%WMnDSQ%z%!VSjDxD0C^;{ay|F7p5vLVAA(E++vlkq$1#%yY=r zJNP&?_(&bgK@UD=OLO4INuDutnnRRFC99Fu)WOG0;A2@d2aAG_Sir|8*uwIj00Q(q zpd1;xM{#5?5fb!!V48WLJyv{d1hQTNM?1j;-KK2_x&M{1xa!zOWkjIM+qB=<29g{h zLJyLrbPDX_`8R(Lm+`zx%hVVy6Ba(pQ|7{DGlHaLF(R-jHIrxZsKdQ6+K9>n8Wsax zmGDY1wgb=zN(1DC8lzvu6^`wK8IF^{#0-D7RmV}7dtnhkB3Z?ZsI02I)EQwNW}GQz z_zp8p3^SnYn3DZ%C`+Kmw}0+CF6)mD`xVHmN8dha<79suL(K(;HQQs2Yu#TC*7#}3 zSQ?f()&xaXgi+x#E;GWKWwq`v3u~ZCx#yqsKtW@#aR9MBK)B}l9ze{ti-m{Kuwtg< z!=f&$GysAt&xGoNZW`aS>YQtX^20_vB z6eq>TTr6C+#HKG-lUKU2(adu!~Zp*2I#j@J&mjxD3 zM7%GD#Xu70wCv?Z+u)Gv*ze)cd>bXxvJNV9Ty1}l)lGbTvw5|kM<;N+9W_yPgGeL`a zx7FL#g8?D)0uUGs-|f_uYllDnM|Ef5QI~^x%URRe4p+E!agV<1bW>yB$nYvz8jfRO zIhKD0E8|@J$B2(cEUCOYg~_eX(wK#%5qQhuSXh={nhK2hoo$vK#5aLb4){s$V^b_* z5Dl=qJBTad%ML)c1rQ$N&%^_8Be2Q*It={4O?#UWfGmq;VPP$;-fjqj zZpRB*uK|Rl?L>u^UP1ilOYBp6A-o};T0i?gM*>%VaPEn z^k8Vd%nE54Bz0x@F@9e9CC99rgQ1zg(88D%rnF+5$)gT2EBqI-^5E?4jhNwjh$7oz z0aJ)FTaN63Xc=C@VaxW|;usiAYze%%VvC<;td0`{Tf#g~tGdEQOouJ=z!u+O%ZYzs z3otNzDm@pd`?F1+c7QWmz;QGTJ;0eQ4MWT`p86c1MUAPkv`Uf;>(d2#&WSJzyX$v&rBSFnMFkS{Rn9&dI*2=4Nh!@ zm&WNt-vFE-8i~)oP>|}|KO={Q_}!iLZ`OCded54ndvI~o6+Lj7Ern7PXMPwL#*A-X z*GW}I4qRpgE(@csSQNMbb;YODA&TJg&FV4W$z$mE5lHe_yw(%oJHp=6dk6TfhXPRm zd1Pb|e15;~EevwmOviir7|TZ`}AUf+dlV-r$$`!+BK zSN}@DK3 zn+2lLKwXDuJ3s0WW5TH++TMUmpJv`vZb<5euOJQx;Xn-Y-Cy5beSw*$XShL6*LSSI zxBk!p-`2p#9MeM&_-4!W5axcEdoj=msIFWQN3n;|K?i&@0ltMXJuIum7MLDBK@b9- z2LQTvAQZTI2*`9iAZ`I=21Yu6d^$aRaug8D!6$)ERmnpmPvw_h><5XXvYQb;&6@(^ zB_++BQoM8~3%*>^+}To8A!+XKP*h)lBRs9X5-gI2hw9ru%X{B(Z z#jo$V>X%)t3P=9YvnpmwEENZ7%98}@_SA51l*Cn3xayY~SrrhGcUFaevnrNuRm?UV zf>y=vg+1|%nl6+%J`i7jCgbSB)WA|Gpul`YpQwt1CQ()&33SB9Osg0*MzerX^+!?q^u%tj7(-8XR(J& zOwO*EiCwcO&ZT)_*YRjOpxx$X*BtvI1B6mSIUHTSboJoq+N~=$E?vHLbp6`F8%LLZ zcH`1p2j_k&eC3UU%h#`6zH#N&m4nMSuHU?Q zc=HPW+QH-Y@aPzSqI&Q+TT1!RFZ{9xk8uzdWyD+=!;Ii@-V9OB?LXZGU#{CfrGfWs zWEkB3Pld}2BLuL213M+a!3OcgJ`QNhcmZ_`;{U;MCn7OqcLA6FF>r?6JBCGr30&HdA>qCR&ZTuMG63x}nr^hgZ)(+C$c_nA?K+xiU1%4M|4EOd8O0SZU>D3m zC40k>+x6^?+0t$YIZIjSLlL1m7?%0DSJ#daVMg}G!pQArn=-c#9e4VEdwuVy-+KCf zwoKTp2$A;*McpKKh=|oBHh~^)DBLTFY6}dG`YL`Ow$zdOaf|+_yaK%a@v40U#m_;)hst z4TaJ&G^tcgLoyV&@c=UbQC>hVIff`HCF;;)KbPEF0Utx#^V2&Q^i0-t-tAkTVK3BE zFajV43Efcl!K7IK8tbTpiGVdw>$~TX0}tmAL$lO9?2&p1Z1WFbNQz8dezcEqy1P#95fAjo;DYXKha#Gtl~NjQ=`f@%yO0mm8-Iy5p>L(-E7&=0mJ4$A1I^5sz?P>nzjs?3v1!S zA;$KI;W(#yh%w*EQCaB)VQkb%`ehWQ%y)G;Gc!Vrd2>!J8!=#l{Kp6e55Q|6+M%cD zV?Y7L{jSdbK7I(`p;z2v{~y&-NU$LqMZ^_twxRPzc9#rY0V{u*oNn8ogKaWkGfEJe z&40Uo59b;F8LQYghK?p_FP#chG2h2rk+ zR@|YuQ`}l;DRP(poO92;`#kUSl9_KNnaw0*zujbd;!OmrD1Mv-TKbu|#E3|kWL#|J zvQ8ee3PwM+_Mn}&D}NS&9qS-m{TJnRrvoB8WVQ?aR+uh%-$Y#l%9Jxa5omB~$&My-YU#1ehkfcI$LJT}tH19h zXeS!B{MSB|Wb{E&C~DS3kE1S~rWX~b2;C0$ldikJWrt3&$!2pMG&Kf!Sb3I@%1Uhe z6({R<%VOXgGW2((!yaeK|Ew&;$G@ZwkYZ1Ir?(Vof2^KTh&*#RrfHkcljLslgl@Jy z>edlb6im3gtVY3r`>~=>N7yakd$e zC|Z7Xg*AzWM|GV^3|Qw(atu6|gt8O)*-+owe4t=j8JWcV$wbpVlfx%#K=7)#iSr0Y z0?9tPpH_gc@L-tFZ4!FxH>2Qz^PB8ZfkL<1A;9G#t?@ntbwcZlB2fkG-z@=+ST zp8S29@Y<2%@AmaZ{lHgcF7VoEr`YYFwnmSz)a92)Oli309Q@qy ze1=(E^6`w?uCdq)yNaA4!8#n`vi`?Vl&O*u1&UN7+M+&D$4# zP*R&191BUN=`tMcl0{{1y-ySnZP$HUI(chMyt3of+`cNhdui^hn$ijth-`m+j4flN z2C&z1E4x|*-tcA7Jlp>UPrkFLcrWG*>e)R=F4>0ZjY#aIR$ny9?{8-rzb2D=tp0jz zbuG)Qj6E0eeRc1>>$}z-V2eJDimG*JPfb3%{KMMlCMkQFRf+DN(ht$~cduj8!e@i@cspaZ!^-3sj6eAzi??J!g+$wxmdga3s_YL_w zuJ~HSck(~aFkl(a9#!8{`=0zY79Yl()4t77y)HhC=s<4k1<zs&f z>w)C*EEs4N0BHWWmPB_%GPNwbD1Y!&|3ziZR9zu;;@Ig_P=a2+sr;ec`(c{jI6I8^{2NnWoZ4K1wN)Zyj(VF4NDZ}H=E!yS0f^OK~&>P0>iiMM0&_y!C z;U?46aYl|`tn&NC$+$Hg5#))R3d~W`c5^%UlGYuWqM6PhS&q&nyc%)ffz?A z+XtKVhsM8b8DXa|dnI9)@fVZkYgrttHH*Ur{t@xN>iXaHYYWEFSz51LYc4@>i_BC58o z^0I(-y+=I`#$aEjHCfPQ+AHM}X;gr@mQxwrmF}v4_^cCo;Lx#$78ULhRB^JV{&M=K zNCwM7rJ&^qF2S1@=)^SfT{ev6so%C74;BS{KoVe*)hA- zjFSNpuv#lSX%9a()~&Ea3$hioC}IYVMqZRnfQk!41uAW?s0S`2!5S! z`U89u%p6qh8R0KgZV-c?gg3ksEJ-7Rg~;IB5>oVJse0j$7z%kT!9!Yv{AqTpMb-J~ zvRM3S=c~SXb5eyed76e!1$%khFqu$wH%oiggA!-?7Ky+{Z-n&3(u`W4nA-!2*Pc5g zcob0D)G*SxECaY&25;#h8kVNg&uw=tQ988d7O6P2 z0%6xu0~X_33Yf)fHwDIBW36`1!I7dkxI!T`b?)F#St2YDbP>ZFaxt-wpmz2O`YLP@ zq^3W@nZq-+C=5is5|%zj<;!x`*$>?|Y#M~F2m1zp6U#qDCKxZkVN#SZjm?t!9ZLA` zLo#U{V@E=jjL&7C>gUxQeQw$Ga|EozP~xylnKm@L0d!?%BRT*3mY;RmSI96oXxA#G z&8;Y8cv@*vXy38NX$Ex(S;9>-iVS3@Dj$BKpi8LIt2?G9$XvtQ$)Sy6vqz=CNmuDW zLx-4;bql0=QGGF|>H{MART9D*P)B9S#GE-+=Z@zJXF7YFJ^W^gacrWS_Y0E2%0)%8 zdB&CzxegLIe4CbA>3g|90kQj=(>}sJY|fz@{c!xQvywg`wyyLR7>SmsbqQ9|iR?{n z=tuJ>O?G046L6~nBz)}K*~%80A?(mXgBr;?=Xv(Gv<5>Yy#|kb{V1I3L}R>0w5cK2 z&S6Kt1AnOXdMtasM~;@S>PK_=X2FU~9CiLEA1$h{de-p`=Rg#FmwEX}E>2rcSZ#4e zNiCA{bA8Cpp7nD6DIQ9u{-N_G+Uayh=A_YkVQO5l6q5*pI^n-swebCW&vf?CSjhC> z+)*Ddqcxbv=8ZQciH3i{1rxY})r+j(FlZJT#m7%|mQ4@&uw0{Ber$cyhr`U+k%V5O z{IPZV=JiKdqYMIv*CA|{VFe;?_Vn}Ub)4ajBmwKMrg+1gb?ZL<)7nN0IpYd0Zw^E$ zp*OK*PFdvLw7}@ejr$@;4MX7p5A7+$Mw}}8wqg&kM9TEU6j zo?MFC{R=hU(Pci7M#@LS+BUy8L*IyA+Ptd((d_t(MlsT{G9!ux>wG>{&mEk_=Fa9P zoe5@AJai&!*umdZHBvtouo}33Q7m!&Dg0qN(qf)?S1-f9H4xlbD;54bBn+BV$q{`E zi)-p3mxuCnjnnH&nS8TzFVtqUWCX5T$t)L|B!3A+qwoekw~~;N?Z7Nid^6w13@^|& zQ&Yg;itYc9*EjHa&_|l~FJFg-9(Jyw=v`$VNs`k^(Z28idYHFnUBZLb6&(HbXV*W% z@o?mHjPi=Xor6C-j=YRg!ZV=cp|9z}*(Y(Ldvi@A>$L7NkB;L^2}$w1vC4U(KWIkM zzWUtDMJUUS01c;&FcUTEgDdWvS@nj)5D}NxUK$Gwmiajbk2V?HV`A1D`>>UA5Sm|{ zs9h_Q$83P&Un&)Z`|BAuP6zVchEXV{v6ovxC!PU&L$@|4c*}Y@uR;zgf$d@Ji8zQHexwML>)kIIPRl$_eW{{VSzYb?jcL)2tsZ~CE8>Q| zn%1A~622MfhwtTQm>w~P%Kr(nTq3GPbf6{_*Y3pxS)EZ6|FJq|OmEK^{>uV)%G2v& z&`fBTSBgS9>9=Y+gh8l%HTSpS#Hr1S?cl24PaS5pHbFl^YF_(Zg12Y)26Xeq~+d&%e z=-PQF^9rM;Xm-^NYT}r(lVhm_4M9!PXSha8X4lb|q$fh}9~oZEiR!V1uEhD{>{X`QaUR)@NFWa;M*;c~+P>a?9?c%y(uw!?VVz zQkCy$F3aR>m*_ijjf$yC4H!L664!W3_2YF|nY1{ahjYqM#KEZzIQ7%7sXBwFjxoME5h(p-%^RgR7 zcsIC(JD&h+X+ohd)orSa(RnmZyM||xH#;TsGknoUi~xH)e9op(^vtSyRfwY!ExkKX z`_A;Y>+F{T;h~)bQYgnX8TspG3q*aQ-PLrK!N^`2*|F|i(;S;$)}N)#vXd+Et@C(H zb$YM9`cY&#`B0#`BO}^)Q7%!fI@8W-{UK)N@L1XXK7KYKb=>=n#XB^}vw5|4U6V6& z2gku&cago}qp02FO0v15_YNXdD}uxt_p2@*5;ZcU(o9_Y=oK`ww&;5|e7%Rg^Ikuh zaNAjZdap=qQ?yN}F1PUm2JP413YIGt_q%K{A*c`6F&&NK&RbQNWLTdqym^GbYDK-W zuxKHfunsqUxHny!qB^W!jTrtnqlL{Gp7o`RFMdGu3=Js4i;7R-KrlBgQ?;;Np6!h0 zGa(~zru?Lb>H|x~ur7qwdwvJ0a`Q7rS^w2qf%8;<{NwB1Q!l08A8f#-972GI{`jpT z5@2_PWq<}=WFLufuQ|X93Y(f)uPmSMr75i-YlPMaNWZ2>#qajlA2MlfA$_Cv8@3|# z<%Q!lv;HW?)j_!suEcZK@3Q5mgOkBioAIwZpb8??Wz9}R%2}A_233!RcK^BGuTpkn zsZ2;C!zSq~Or>*!+Eps!@>-~f2%1kurYRhFLfE)Gm9S)EsjyaF)nfbajI(vv>IP9b|X~hVFBS^6*kyrUagv$>o};u6iC)bJ8?5 zWwOx`iJZa!2EF|IS$h(j*;nfr^d7TOUie0=tR}obra8K7r!>V$vsNrjMU7>3g^4FN zbezV9J3XoymMBP1Wh?pAwhzN4W5z5=fI#F-Z?s z>0LRBuM0oT`*QsR)0{{8=7vIK+=$j{pw{p+Hai@fK-NuUg1eW1 zY_mnF)+4d4Bd+iMv~yaurCYkr_SUhakIb;tAEz~$IxHd#O{ci@iywk%hjG}6Ff>Rd zDp`i9NljGjDT~#}sP3?p8lm3V_n-fIbQ=G#rD;2#x>|#geEFaJjZ39=Kr=nit_I~W zO(xgPuL#ktH?HVxtJS@0XI7b-<6NWMn2#*?nB_f}usHcM*HEycX$CVk=JozX3j%Rp z()ic?X5pyk_!=YkivpZ%%<&x|nE%X2C=Q9dZYUfKOcojp3@!`|jF*$E1(&6xg`<*NMXjsYP6Kg^{JwJh`$^I}m_XV!G$zSR0SkxSpBJBL9Fu8o zt&2?%3m2p-F>6n86ytW|Qdpz@4jMzR`mbO^{>9)iVigYG*EWD zdUvXR^m-~P==ByjS9LLXwx=Y>RfH`}o3Bcyvk-(xmZiv~mf^>3M7hDKN(fHX6efy( z&i-+-7?JC$dGyAA@0uQ_dG#qd9?8y1%OCq5(LeN*)t@)ujW5Octm7kc1kL@iVJc*F zB7KV>vL{XEy^q?$mKA*%4aKT#S4XUlJk#v8?I)NSP>wYjp?qLqUSiQusQuy>+$&#` z@$W7kT_;Y4zG?sCqnp+rdnIGNkvn2(cmKO(EQjT^y^OOd@%H=)*+1Ov)q<6JbI@9Nl_)J-ysy1YkfzK)*xqoaCcEA3Oc{+gZ`l{HLN-q>?^ zsk>k&7gd=+?c#y^-4nI6$jJs1>~YS-y%5lID?kYN)rqAQT{!AXFgK zAT%JfAao$~APgX{Ko~)oK$t;TKv+T8K-fVzKsZ6TK)6A8KzKp;K=?rfKm-6tL2tl9bPX6s{#L}yhPeu+{y=^KV8(bH5 z1c-_IkE?9Qwso5;1ravf{SD)O)pvJ(9DCYz^y@laaS&Nt^3aaQCJyGQ7fw3jByJC= z7f%v)I?>(4T%Qo;Fz^%-`duda^hN*IX5EFU(y3m16Lcl!A0^j)87)=YgtNX=M8>;+ zn_Bdjj*QnwcUV`Y4hKGWS^nS}Z|wn(mV?bTLLAGt>t$p}S{ke47>i$qV;A&8yG|dY zZzZW*)T7hfnxMX;txuA0J8W=Py4BtB;Ucpwd8z6@F&6F;XZSL<^D8B%LcfP(v~9n3p^oKl!yE-CwuSdMb8VGkmR=@S59<+7;U4@Ai1_=h?lc_ZZC{As$yd zIEawY)%K;lmcr)Vby-if-m6zvJ5}y6z-JZU5SbFM`%quyIQpJ1fVsMQ$WbL(GSwYr zYz@|UJ=MRJto+H=uqyK1PeJodftwDGyE{jWy~qy|Kfap|sxHNTajbZndHpDl&ZwGw zbC?|0@At%ITvaJ}QXSBdck{`e@y33e_KmpYdrBEBjvpx;QGX3cd^Rh~m9*Nso;>~1 ziB7-uE@*yqE{Kz{_)uMro$OmZ6j8(qX!t^Cq4K(MVp^-z4L>$`ql-4Ws{eJJY&tGl zltbsO+Vk(3R2jQds7H)mAFK;|p2cIYiizGlOMfL+pNPC(^G&A?p#7X(%zIGK*h?Xt zJq-y}%Grmb8zm|Yj69H}oO*x#=m$KHR)f`N~- z4UMrTU5ju_yi^id;(R^yl{j*mS1D5QBwI3Q0PZ+~O=)%rg_6K6PekQU;k)w4JD%~A zKwKN%5)sGBlwq7_I2YcrD@irPh*!rty?LEiZ}5n5zB}-W$bF5bQek4rHmyRhv;U-3 zM~R5r8$)<09$X*DVT_VrJB3P%8PPiX6(Op(->?+E!u?`?IS+^c$pet{&TWoZMI-jpDU1bUPT zZ7sDllZvEFM5IcfLJIOTc2+T5fQjYStUZl@O*UAO=F9LQYFUl9DuLv%5mN#FFA?Zq zA!{B+ip6CApCSf%=tnUEyjO9$%0E(MS2Z&u5YFBiC{=~w5)z~|x{kYz2i3DmbCkqj zV2!@B%=BTlOC{Ymk<`tp!)VY<)z0hbkhdg=LC!?o&8raLYYqSR(W)}SwcwXIMM}_t z!nSyE7}lRc0>;8XqOafZaC0H0d-;@54LA$ZlsLi6LlTz?=jp1(xqAfUj4RySVLQ$% z$siW2PB~;7ydokWS{^5*x*0~C9r z{hB`zSP}B9Nz1&P_v%Bpt9o2h_qnOw(#8ZDI}tWtA$-*d$5jo3Pa&s89oDoHmJh{` zb?f9P zAqxpOZgCaaTR~;jGO1!>*ioB;Y6j|F7OL5Vi=hg=a%Z-)eoLDlKv6r9he6>Hi+CWa zzlVVn6&y?`mlO+U+e@hY_UG!4uKa$K1p%hT1fo25UQ4wRnu3-HJ`P&Oki+jK8;RWS ztn|>cLX`55tS8vT7VNBY&~!_3*_$(^IV=hhqeK)7bG0LHG>~#sUoprDL)n~lZjGE# z8@F1=IT~2G2z-R(2*flOyeCLPS_kY#OStuXW(DIEH)z= za@Y};#6tJ(5d`p^7k^EPu2J5PN7N_OBXkd2d0SCM%}{BY4^!}T~Ouj0l8KcsH5KoM7& zpQ|Kc_>d)qi^eHPy%d&ShehTQ!BHYkQ5r|!BeJxHA&d{YmV%K8f~w45he!Zj91<78 z=}o;vViyiyF_cjX18#YSS_@YG(cO*V^w5^8#QuwL@h@?4bpTbaGfG^Nn@&nqOXSMRQR~he`H}r(1SMDz57o<|wuZ<{B6gM(I7z$jD)Np6dlWTMIGrg!pd@b}muk#U zOCP-f+Q^g}oOQlQm$UM2(`_(a=H+n_NE@sH1e&B2rk@ohNYbEK`{SWLY=shgxu4Y}CMg@3N?5*=ZkUHic2qOMNzzrS|e3qPFHJ-0l&__M{OFPrZK zo+QQ+Lt7heii;JNBiHBi8j^w;> zN3_VK<7kAVkmMIJ)49DfH?$L1_Cx)dDWVJ22SlzpAaQNIIVzn9gb!7lt+kl|Ym2Tj(lI{7OXCfmO@(DjS?z-YBH#03c zn;wTM4a+xDT)X)bAqm;W{lDu0X(8Ri94p83P!1uFFR7H2ABxmzbd{b;1iSp?f5ZRR za6c75P+$>JktS3Vo1+RLjIhuNwOww4usg*L**$+-vHjw=HVH7baHuxHQm5?ywAk^O z>M+0AG3eP_Pw~OfW72H&`WLv&GWK9(W`h@N<;KTnJ8q`PyJHTODaYed;t&K8rRw#z%a%t=mUnj(v@g}-Gq5e;HEobvRfnP}c0 z*^{1>+tr|^8zlo)q4I4*o2AnQA-&&yNA9BOScW#2>Q_hGz45nYwX>>va2jdKy`iw@ ztjUyy+$>KGGokv0@NY#~Yr4fGm zHq-fSr*bD^SjtYDpUM2{cw7sx$z84f^E4CS)XgJWS-+E9b-D;B99 zo5pI3A|znU_tfu|cz-T|QH3v7TE8pwr15@r2sPxah`!Geis4n&puax!V0*}tQPCR` z-5!gNhpe+Vc-o;TM5k1TS*NibIgA>M&_1N%z3vY;mC2zqoY{@P9=DDS<>op_rpOH_ zjiaa<{9|{O3#MtFpW$JEvMR_tn$%mSP77mL7^ik1vKk^l{(p1w=rAxiVC4U9^}up9 zgaP3t0hv|X}8!RzURRdv#4F`VIKxAPT z0m@oXM}X;z^nq_LdJ7!A2mmcIne zx_Ss1_#;sg^RcY7~pILhpVK`1UP6j{r4~$Z<+qzVdMeXtzf$*U>g*?j}r@!?ZiS1NVb6w z?+UPK1M3=q$`|PYS1$qpfp$=VfDb76_iCI#kQyg3u-FbZs0CmXqz6|j64U*!9sAyT)gNC;2QvS4S0cq|0FCAKy{I7)Q|4cy`m>n<3f2Bv=0EZC> zIp8$}-cLS|Gz1X`$2c_vc?}K#dljd< zk^DdZZ^4)eFai6LeEr|e64)7rNWyXev?E}*h=Az`go*q=@BLu-6?n?+|9@$J1PVqV M^hjA%5U`8?0|TbZ6aWAK diff --git a/StructureHelper/Infrastructure/UI/GraphicalPrimitives/ConcentratedForcePrimitive.cs b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/ConcentratedForcePrimitive.cs new file mode 100644 index 0000000..a00aada --- /dev/null +++ b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/ConcentratedForcePrimitive.cs @@ -0,0 +1,32 @@ +using StructureHelper.Windows.UserControls; +using StructureHelperCommon.Models.Forces; +using System; +using System.Windows.Media; +using PrimitiveVisualProperty = StructureHelperCommon.Models.VisualProperties.PrimitiveVisualProperty; + +namespace StructureHelper.Infrastructure.UI.GraphicalPrimitives +{ + public class ConcentratedForcePrimitive : IGraphicalPrimitive + { + private IConcentratedForce concentratedForce; + private readonly double scaleFactor; + + public double ScaleFactor + { + get + { + if (concentratedForce.ForceValue.Qy > 0) { return -1; } + return 1; + } + } + + public PrimitiveVisualPropertyViewModel VisualProperty { get; } = new(new PrimitiveVisualProperty(Guid.Empty)); + public IConcentratedForce ConcentratedForce => concentratedForce; + + public ConcentratedForcePrimitive(IConcentratedForce concentratedForce) + { + this.concentratedForce = concentratedForce; + VisualProperty.Color = (Color)ColorConverter.ConvertFromString("Black"); + } + } +} diff --git a/StructureHelper/Infrastructure/UI/GraphicalPrimitives/IGraphicPrimitive.cs b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/IGraphicPrimitive.cs index fe0ea33..13556de 100644 --- a/StructureHelper/Infrastructure/UI/GraphicalPrimitives/IGraphicPrimitive.cs +++ b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/IGraphicPrimitive.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; namespace StructureHelper.Infrastructure.UI.GraphicalPrimitives { - public interface IGraphicalPrimitive : ICenter + public interface IGraphicalPrimitive { PrimitiveVisualPropertyViewModel VisualProperty { get; } } diff --git a/StructureHelper/Infrastructure/UI/GraphicalPrimitives/InclinedSectionPrimitive.cs b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/InclinedSectionPrimitive.cs index 92dea09..983baee 100644 --- a/StructureHelper/Infrastructure/UI/GraphicalPrimitives/InclinedSectionPrimitive.cs +++ b/StructureHelper/Infrastructure/UI/GraphicalPrimitives/InclinedSectionPrimitive.cs @@ -26,9 +26,6 @@ namespace StructureHelper.Infrastructure.UI.GraphicalPrimitives public double ConcreteShearForce => Math.Round(source.ConcreteStrength); public double StirrupShearForce => Math.Round(source.StirrupStrength); - public double CenterX => 0; - public double CenterY => 0; - public PrimitiveVisualPropertyViewModel VisualProperty { get; } = new(new PrimitiveVisualProperty(Guid.Empty)); public InclinedSectionPrimitive(IBeamShearSectionLogicResult source) diff --git a/StructureHelper/Infrastructure/UI/Resources/BeamShearTemplate.xaml b/StructureHelper/Infrastructure/UI/Resources/BeamShearTemplate.xaml index 716bcf5..09ff19f 100644 --- a/StructureHelper/Infrastructure/UI/Resources/BeamShearTemplate.xaml +++ b/StructureHelper/Infrastructure/UI/Resources/BeamShearTemplate.xaml @@ -336,4 +336,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/StructureHelper/Windows/BeamShears/InclinedSectionViewerViewModel.cs b/StructureHelper/Windows/BeamShears/InclinedSectionViewerViewModel.cs index 9a35dbf..26fc54b 100644 --- a/StructureHelper/Windows/BeamShears/InclinedSectionViewerViewModel.cs +++ b/StructureHelper/Windows/BeamShears/InclinedSectionViewerViewModel.cs @@ -3,11 +3,7 @@ using StructureHelper.Infrastructure.UI.GraphicalPrimitives; using StructureHelper.Windows.UserControls.WorkPlanes; using StructureHelperCommon.Infrastructures.Interfaces; using StructureHelperLogics.Models.BeamShears; -using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace StructureHelper.Windows.BeamShears { diff --git a/StructureHelper/Windows/BeamShears/SectionResultToGraphicalPrimitivesConvertLogic.cs b/StructureHelper/Windows/BeamShears/SectionResultToGraphicalPrimitivesConvertLogic.cs index bf9cd60..d9ec536 100644 --- a/StructureHelper/Windows/BeamShears/SectionResultToGraphicalPrimitivesConvertLogic.cs +++ b/StructureHelper/Windows/BeamShears/SectionResultToGraphicalPrimitivesConvertLogic.cs @@ -1,6 +1,7 @@ using StructureHelper.Infrastructure.UI.GraphicalPrimitives; using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Infrastructures.Interfaces; +using StructureHelperCommon.Models.Forces; using StructureHelperLogics.Models.BeamShears; using System; using System.Collections.Generic; @@ -17,9 +18,14 @@ namespace StructureHelper.Windows.BeamShears inclinedSection = source.InputData.InclinedSection; InitializeStrategies(); List graphicalPrimitives = new List(); - BeamShearSectionPrimitive beamShearSectionPrimitive = new(source.InputData.InclinedSection.BeamShearSection, inclinedSection); + BeamShearSectionPrimitive beamShearSectionPrimitive = new(source.ResultInputData.InclinedSection.BeamShearSection, inclinedSection); graphicalPrimitives.Add(beamShearSectionPrimitive); - graphicalPrimitives.AddRange(stirrupLogic.Convert(source.InputData.Stirrup)); + var supportInternalAction = source.ResultInputData.BeamShearAction.SupportAction.SupportForce.ForceTuple; + ConcentratedForce SupportForce = new(Guid.Empty); + SupportForce.ForceValue.Qy = supportInternalAction.Qy; + ConcentratedForcePrimitive concentratedForcePrimitive = new(SupportForce); + graphicalPrimitives.Add((concentratedForcePrimitive)); + graphicalPrimitives.AddRange(stirrupLogic.Convert(source.ResultInputData.Stirrup)); InclinedSectionPrimitive inclinedSectionPrimitive = new(source); graphicalPrimitives.Add((inclinedSectionPrimitive)); return graphicalPrimitives; diff --git a/StructureHelper/Windows/UserControls/WorkPlanes/PrimitiveTemplateSelector.cs b/StructureHelper/Windows/UserControls/WorkPlanes/PrimitiveTemplateSelector.cs index 411281c..bdc0fef 100644 --- a/StructureHelper/Windows/UserControls/WorkPlanes/PrimitiveTemplateSelector.cs +++ b/StructureHelper/Windows/UserControls/WorkPlanes/PrimitiveTemplateSelector.cs @@ -11,6 +11,7 @@ namespace StructureHelper.Windows.UserControls.WorkPlanes public DataTemplate StirrupByRebarTemplate { get; set; } public DataTemplate StirrupByDensityTemplate { get; set; } public DataTemplate StirrupByInclinedRebarTemplate { get; set; } + public DataTemplate ConcentratedForceTemplate { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { @@ -21,6 +22,7 @@ namespace StructureHelper.Windows.UserControls.WorkPlanes StirrupByRebarPrimitive => StirrupByRebarTemplate, StirrupByDensityPrimitive => StirrupByDensityTemplate, StirrupByInclinedRebarPrimitive => StirrupByInclinedRebarTemplate, + ConcentratedForcePrimitive => ConcentratedForceTemplate, _ => base.SelectTemplate(item, container) }; } diff --git a/StructureHelper/Windows/UserControls/WorkPlanes/WorkPlaneRoot.xaml b/StructureHelper/Windows/UserControls/WorkPlanes/WorkPlaneRoot.xaml index 793e938..4eb681a 100644 --- a/StructureHelper/Windows/UserControls/WorkPlanes/WorkPlaneRoot.xaml +++ b/StructureHelper/Windows/UserControls/WorkPlanes/WorkPlaneRoot.xaml @@ -66,6 +66,7 @@ StirrupByRebarTemplate="{StaticResource StirrupByRebarPrimitiveTemplate}" StirrupByDensityTemplate="{StaticResource StirrupByDensityPrimitiveTemplate}" StirrupByInclinedRebarTemplate="{StaticResource StirrupByInclinedRebarPrimitiveTemplate}" + ConcentratedForceTemplate="{StaticResource ConcentratedForcePrimitiveTemplate}" /> diff --git a/StructureHelperCommon/Services/Units/UnitsOfSI.cs b/StructureHelperCommon/Services/Units/UnitsOfSI.cs new file mode 100644 index 0000000..ae583f6 --- /dev/null +++ b/StructureHelperCommon/Services/Units/UnitsOfSI.cs @@ -0,0 +1,10 @@ +namespace StructureHelperCommon.Services.Units +{ + public static class UnitsOfSI + { + public const string Dimensionless = "(dimensionless)"; + public const string Meters = "(m)"; + public const string SquareMeters = "(m2)"; + public const string Newtons = "(N)"; + } +} diff --git a/StructureHelperLogics/Models/BeamShears/Logics/BeamShearSectionLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/BeamShearSectionLogic.cs index 966b79c..8822680 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/BeamShearSectionLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/BeamShearSectionLogic.cs @@ -12,7 +12,7 @@ namespace StructureHelperLogics.Models.BeamShears { private BeamShearSectionLogicResult result; private ISectionEffectiveness sectionEffectiveness; - private ConcreteStrengthLogic concreteLogic; + private ConcreteShearStrengthLogic concreteLogic; private StirrupStrengthLogic stirrupLogic; private IGetLongitudinalForceFactorLogic getLongitudinalForceFactorLogic; private string sectionMessage; @@ -92,8 +92,8 @@ namespace StructureHelperLogics.Models.BeamShears SetLongitudinalForce(); double factorOfLongitudinalForce = getLongitudinalForceFactorLogic.GetFactor(); localTraceLogger?.AddMessage($"Factor of longitudinal force = {factorOfLongitudinalForce}, (dimensionless)"); - concreteStrength = concreteLogic.GetShearStrength(); - stirrupStrength = stirrupLogic.GetShearStrength(); + concreteStrength = concreteLogic.CalculateShearStrength(); + stirrupStrength = stirrupLogic.CalculateShearStrength(); if (stirrupStrength > concreteStrength) { localTraceLogger?.AddMessage($"Shear reinforcement strength Qsw = {stirrupStrength} is greater than concrete strength for shear Qb = {concreteStrength}, shear reinforcement strength has to be restricted."); @@ -132,7 +132,7 @@ namespace StructureHelperLogics.Models.BeamShears InputData = result.ResultInputData, SectionEffectiveness = sectionEffectiveness }; - double stirrupStrength = logic.GetShearStrength(); + double stirrupStrength = logic.CalculateShearStrength(); localTraceLogger?.AddMessage($"Stirrup strength was restricted as Qsw,restricted = {stirrupStrength}(N)"); result.ResultInputData.InclinedCrack = logic.InclinedCrack; return stirrupStrength; diff --git a/StructureHelperLogics/Models/BeamShears/Logics/ConcreteStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/ConcreteStrengthLogic.cs deleted file mode 100644 index f34dd49..0000000 --- a/StructureHelperLogics/Models/BeamShears/Logics/ConcreteStrengthLogic.cs +++ /dev/null @@ -1,79 +0,0 @@ -using StructureHelperCommon.Models; -using StructureHelperCommon.Models.Loggers; -using StructureHelperLogics.Models.BeamShears.Logics; - -namespace StructureHelperLogics.Models.BeamShears -{ - public class ConcreteStrengthLogic : IBeamShearStrenghLogic - { - private readonly ISectionEffectiveness sectionEffectiveness; - private readonly IInclinedSection inclinedSection; - - - private double crackLength; - - public ConcreteStrengthLogic( - ISectionEffectiveness sectionEffectiveness, - IInclinedSection inclinedSection, - IShiftTraceLogger? traceLogger) - { - this.sectionEffectiveness = sectionEffectiveness; - this.inclinedSection = inclinedSection; - TraceLogger = traceLogger; - } - - public IShiftTraceLogger? TraceLogger { get; set; } - - public double GetShearStrength() - { - TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Service); - InitializeStrategies(); - TraceLogger?.AddMessage($"Base shape factor = {sectionEffectiveness.BaseShapeFactor}, (dimensionless)"); - TraceLogger?.AddMessage($"Section shape factor = {sectionEffectiveness.ShapeFactor}, (dimensionless)"); - TraceLogger?.AddMessage($"Effective depth = {inclinedSection.EffectiveDepth}, (m)"); - crackLength = inclinedSection.EndCoord - inclinedSection.StartCoord; - TraceLogger?.AddMessage($"Absolute crack length c = {inclinedSection.EndCoord} - {inclinedSection.StartCoord} = {crackLength}, (m)"); - TraceLogger?.AddMessage($"Relative crack length c/d = {crackLength} / {inclinedSection.EffectiveDepth} = {crackLength/ inclinedSection.EffectiveDepth},(dimensionless)"); - RestrictCrackLength(); - - - double concreteMoment = - sectionEffectiveness.BaseShapeFactor - * sectionEffectiveness.ShapeFactor - * inclinedSection.ConcreteTensionStrength - * inclinedSection.WebWidth - * inclinedSection.EffectiveDepth - * inclinedSection.EffectiveDepth; - double shearStrength = concreteMoment / crackLength; - TraceLogger?.AddMessage($"Shear strength of concrete = {sectionEffectiveness.BaseShapeFactor} * {sectionEffectiveness.ShapeFactor} * {inclinedSection.ConcreteTensionStrength} * {inclinedSection.WebWidth} * {inclinedSection.EffectiveDepth} ^ 2 / {crackLength} = {shearStrength}, (N)"); - return shearStrength; - } - - private void InitializeStrategies() - { - - } - - - - private void RestrictCrackLength() - { - double maxCrackLength = sectionEffectiveness.MaxCrackLengthRatio * inclinedSection.EffectiveDepth; - if (crackLength > maxCrackLength) - { - TraceLogger?.AddMessage($"Crack length c = {crackLength} is greater than maximum crack length = {maxCrackLength}"); - crackLength = maxCrackLength; - TraceLogger?.AddMessage($"Crack length = {crackLength}"); - return; - } - double minCrackLength = sectionEffectiveness.MinCrackLengthRatio * inclinedSection.EffectiveDepth; - if (crackLength < minCrackLength) - { - TraceLogger?.AddMessage($"Crack length c = {crackLength} is less than minimum crack length = {minCrackLength}"); - crackLength = minCrackLength; - TraceLogger?.AddMessage($"Crack length = {crackLength}"); - } - return; - } - } -} diff --git a/StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrenghLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrengthLogic.cs similarity index 85% rename from StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrenghLogic.cs rename to StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrengthLogic.cs index ab4ebe2..c60b879 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrenghLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/IBeamShearStrengthLogic.cs @@ -10,12 +10,12 @@ namespace StructureHelperLogics.Models.BeamShears ///

/// Implement logic for calculation of bearing capacity of inclined section for shear /// - public interface IBeamShearStrenghLogic : ILogic + public interface IBeamShearStrengthLogic : ILogic { /// /// Returns Bearing capacity of inclined section for shear /// /// Bearing capacity of inclined section for shear, N - double GetShearStrength(); + double CalculateShearStrength(); } } diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StirrupBySearchLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StirrupBySearchLogic.cs index ba50b85..9e72e1e 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StirrupBySearchLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StirrupBySearchLogic.cs @@ -4,9 +4,9 @@ using StructureHelperCommon.Models.Calculators; namespace StructureHelperLogics.Models.BeamShears { - internal class StirrupBySearchLogic : IBeamShearStrenghLogic + internal class StirrupBySearchLogic : IBeamShearStrengthLogic { - private ConcreteStrengthLogic concreteLogic; + private ConcreteShearStrengthLogic concreteLogic; private StirrupStrengthLogic stirrupLogic; private IFindParameterCalculator parameterCalculator; @@ -19,14 +19,14 @@ namespace StructureHelperLogics.Models.BeamShears TraceLogger = traceLogger; } - public double GetShearStrength() + public double CalculateShearStrength() { double parameter = GetCrackLengthRatio(); BeamShearSectionLogicInputData newInputData = GetNewInputDataByCrackLengthRatio(parameter); InclinedCrack = newInputData.InclinedCrack; TraceLogger?.AddMessage($"New value of dangerous inclinated crack has been obtained: start point Xstart = {newInputData.InclinedSection.StartCoord}(m), end point Xend = {newInputData.InclinedSection.EndCoord}(m)"); stirrupLogic = new(newInputData, TraceLogger); - double stirrupStrength = stirrupLogic.GetShearStrength(); + double stirrupStrength = stirrupLogic.CalculateShearStrength(); return stirrupStrength; } @@ -69,8 +69,8 @@ namespace StructureHelperLogics.Models.BeamShears BeamShearSectionLogicInputData newInputData = GetNewInputDataByCrackLengthRatio(crackLengthRatio); concreteLogic = new(SectionEffectiveness, newInputData.InclinedCrack, null); stirrupLogic = new(newInputData, null); - double concreteStrength = concreteLogic.GetShearStrength(); - double stirrupStrength = stirrupLogic.GetShearStrength(); + double concreteStrength = concreteLogic.CalculateShearStrength(); + double stirrupStrength = stirrupLogic.CalculateShearStrength(); bool predicateResult = stirrupStrength > concreteStrength; if (crackLengthRatio == 1 & predicateResult == false) { diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/ConcreteShearStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/ConcreteShearStrengthLogic.cs new file mode 100644 index 0000000..08f0e4c --- /dev/null +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/ConcreteShearStrengthLogic.cs @@ -0,0 +1,74 @@ +using StructureHelperCommon.Infrastructures.Exceptions; +using StructureHelperCommon.Models; +using StructureHelperCommon.Models.Loggers; +using StructureHelperCommon.Services.Units; +using StructureHelperLogics.Models.BeamShears.Logics; + +namespace StructureHelperLogics.Models.BeamShears +{ + public class ConcreteShearStrengthLogic : IBeamShearStrengthLogic + { + private readonly ISectionEffectiveness sectionEffectiveness; + private readonly IInclinedSection inclinedSection; + + public IShiftTraceLogger? TraceLogger { get; set; } + + public ConcreteShearStrengthLogic( + ISectionEffectiveness sectionEffectiveness, + IInclinedSection inclinedSection, + IShiftTraceLogger? traceLogger = null) + { + this.sectionEffectiveness = sectionEffectiveness ?? throw new StructureHelperException("Section effectiveness cannot be null."); + this.inclinedSection = inclinedSection ?? throw new StructureHelperException("Inclined section cannot be null."); + TraceLogger = traceLogger; + } + + public double CalculateShearStrength() + { + TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Service); + ValidateInput(); + + double rawCrackLength = inclinedSection.EndCoord - inclinedSection.StartCoord; + double crackLength = RestrictCrackLength(rawCrackLength); + + double concreteMoment = CalculateConcreteMoment(); + double shearStrength = concreteMoment / crackLength; + + TraceLogger?.AddMessage($"Shear strength = {concreteMoment} / {crackLength} = {shearStrength} {UnitsOfSI.Newtons}"); + return shearStrength; + } + + private double CalculateConcreteMoment() => + sectionEffectiveness.BaseShapeFactor + * sectionEffectiveness.ShapeFactor + * inclinedSection.ConcreteTensionStrength + * inclinedSection.WebWidth + * inclinedSection.EffectiveDepth + * inclinedSection.EffectiveDepth; + + private double RestrictCrackLength(double length) + { + double max = sectionEffectiveness.MaxCrackLengthRatio * inclinedSection.EffectiveDepth; + double min = sectionEffectiveness.MinCrackLengthRatio * inclinedSection.EffectiveDepth; + + if (length > max) + { + TraceLogger?.AddMessage($"Crack length reduced from {length} to {max}"); + return max; + } + if (length < min) + { + TraceLogger?.AddMessage($"Crack length increased from {length} to {min}"); + return min; + } + return length; + } + + private void ValidateInput() + { + if (inclinedSection.EffectiveDepth <= 0) + throw new StructureHelperException("Effective depth must be greater than zero."); + } + } + +} diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByDensityStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByDensityStrengthLogic.cs index bc1c647..dd5cc31 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByDensityStrengthLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByDensityStrengthLogic.cs @@ -9,7 +9,7 @@ using StructureHelperLogics.Models.BeamShears.Logics; namespace StructureHelperLogics.Models.BeamShears { /// - public class StirrupByDensityStrengthLogic : IBeamShearStrenghLogic + public class StirrupByDensityStrengthLogic : IBeamShearStrengthLogic { private readonly IStirrupEffectiveness stirrupEffectiveness; private readonly IStirrupByDensity stirrupByDensity; @@ -30,7 +30,7 @@ namespace StructureHelperLogics.Models.BeamShears public IShiftTraceLogger? TraceLogger { get; set; } /// - public double GetShearStrength() + public double CalculateShearStrength() { Check(); TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Service); diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByInclinedRebarStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByInclinedRebarStrengthLogic.cs index bafd918..1860388 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByInclinedRebarStrengthLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByInclinedRebarStrengthLogic.cs @@ -6,7 +6,7 @@ using StructureHelperLogics.Models.Materials; namespace StructureHelperLogics.Models.BeamShears { - public class StirrupByInclinedRebarStrengthLogic : IBeamShearStrenghLogic + public class StirrupByInclinedRebarStrengthLogic : IBeamShearStrengthLogic { const double stirrupEffectivenessFactor = 0.75; private readonly IStirrupByInclinedRebar inclinedRebar; @@ -47,7 +47,7 @@ namespace StructureHelperLogics.Models.BeamShears TraceLogger = traceLogger; } - public double GetShearStrength() + public double CalculateShearStrength() { GetGeometry(); if (inclinedSection.StartCoord > rebarEndPoint) diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarStrengthLogic.cs index c4dd884..3588fa2 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarStrengthLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarStrengthLogic.cs @@ -7,14 +7,14 @@ using StructureHelperCommon.Models.Forces; namespace StructureHelperLogics.Models.BeamShears { - public class StirrupByRebarStrengthLogic : IBeamShearStrenghLogic + public class StirrupByRebarStrengthLogic : IBeamShearStrengthLogic { private IStirrupEffectiveness stirrupEffectiveness; private IStirrupByRebar stirrupByRebar; private IInclinedSection inclinedSection; private readonly IForceTuple forceTuple; private StirrupByDensityStrengthLogic stirrupDensityStrengthLogic; - private IConvertStrategy convertStrategy; + private IObjectConvertStrategy convertStrategy; public IShiftTraceLogger? TraceLogger { get; set; } public StirrupByRebarStrengthLogic( @@ -23,7 +23,7 @@ namespace StructureHelperLogics.Models.BeamShears IInclinedSection inclinedSection, IForceTuple forceTuple, StirrupByDensityStrengthLogic stirrupDensityStrengthLogic, - IConvertStrategy convertStrategy, + IObjectConvertStrategy convertStrategy, IShiftTraceLogger? traceLogger) { this.stirrupEffectiveness = stirrupEffectiveness; @@ -49,7 +49,7 @@ namespace StructureHelperLogics.Models.BeamShears TraceLogger = traceLogger; } - public double GetShearStrength() + public double CalculateShearStrength() { InitializeStrategies(); if (stirrupByRebar.EndCoordinate < inclinedSection.StartCoord) @@ -76,7 +76,7 @@ namespace StructureHelperLogics.Models.BeamShears TraceLogger?.AddMessage($"Stirrup spacing S = {stirrupByRebar.Spacing}(m) is greater than max stirrup spacing Smax = {maxStirrupSpacingByEffectibeDepth}(m), stirrups are ignored", TraceLogStatuses.Warning); return 0; } - double shearStrength = stirrupDensityStrengthLogic.GetShearStrength(); + double shearStrength = stirrupDensityStrengthLogic.CalculateShearStrength(); return shearStrength; } diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StirrupByRebarToDensityConvertStrategy.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarToDensityConvertStrategy.cs similarity index 93% rename from StructureHelperLogics/Models/BeamShears/Logics/StirrupByRebarToDensityConvertStrategy.cs rename to StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarToDensityConvertStrategy.cs index 1a8e1e5..b5e1c8a 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StirrupByRebarToDensityConvertStrategy.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupByRebarToDensityConvertStrategy.cs @@ -5,13 +5,12 @@ using StructureHelperCommon.Models; namespace StructureHelperLogics.Models.BeamShears { - public class StirrupByRebarToDensityConvertStrategy : IConvertStrategy + public class StirrupByRebarToDensityConvertStrategy : IObjectConvertStrategy { private const double stirrupStrengthFactor = 0.8d; private const double maxStirrupStrength = 3e8; private IInclinedSection inclinedSection; private IUpdateStrategy updateStrategy; - public Dictionary<(Guid id, Type type), ISaveable> ReferenceDictionary { get; set; } public IShiftTraceLogger TraceLogger { get; set; } public StirrupByRebarToDensityConvertStrategy(IShiftTraceLogger traceLogger, IInclinedSection inclinedSection) @@ -77,7 +76,7 @@ namespace StructureHelperLogics.Models.BeamShears TraceLogger?.AddMessage($"Spiral spacing = {spiralSpacing}(m)"); double spiralAng = Math.Atan2(spiralHeight, spiralSpacing); double spriralEffectiveness = Math.Sin(spiralAng); - double spiralAngInDegrees = 180 / (Math.PI) * spiralAng; + double spiralAngInDegrees = 57.29578 * spiralAng; // 180/PI TraceLogger?.AddMessage($"Spiral effectiveness factor = sin({spiralAngInDegrees}(deg)) = {spriralEffectiveness}"); return spriralEffectiveness; } diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupGroupStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupGroupStrengthLogic.cs index 04d2315..aae1717 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupGroupStrengthLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupGroupStrengthLogic.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; namespace StructureHelperLogics.Models.BeamShears { - internal class StirrupGroupStrengthLogic : IBeamShearStrenghLogic + internal class StirrupGroupStrengthLogic : IBeamShearStrengthLogic { private readonly IBeamShearSectionLogicInputData sourceInputData; private IBeamShearSectionLogicInputData localInputData; @@ -25,7 +25,7 @@ namespace StructureHelperLogics.Models.BeamShears public IShiftTraceLogger? TraceLogger { get; set; } - public double GetShearStrength() + public double CalculateShearStrength() { Check(); if (!stirrupGroup.Stirrups.Any()) { return 0.0; } @@ -35,7 +35,7 @@ namespace StructureHelperLogics.Models.BeamShears { localInputData.Stirrup = item; var stirrupSrengthLogic = new StirrupStrengthLogic(localInputData, TraceLogger?.GetSimilarTraceLogger(50)); - shearStrength += stirrupSrengthLogic.GetShearStrength(); + shearStrength += stirrupSrengthLogic.CalculateShearStrength(); } TraceLogger?.AddMessage($"Total bearing capacity of group {stirrupGroup.Name} for shear Vtot = {shearStrength}(N)"); return shearStrength; diff --git a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupStrengthLogic.cs b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupStrengthLogic.cs index 4d1b718..9596821 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupStrengthLogic.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/StrengthLogics/StirrupStrengthLogic.cs @@ -4,14 +4,14 @@ using StructureHelperCommon.Models.Shapes; namespace StructureHelperLogics.Models.BeamShears { - internal class StirrupStrengthLogic : IBeamShearStrenghLogic + internal class StirrupStrengthLogic : IBeamShearStrengthLogic { private readonly IBeamShearSectionLogicInputData inputData; private IStirrup stirrup => inputData.Stirrup; private IInclinedSection inclinedSection => inputData.InclinedCrack; - private IBeamShearStrenghLogic stirrupByDensityStrengthLogic; - private IBeamShearStrenghLogic stirrupGroupStrengthLogic; - private IBeamShearStrenghLogic stirrupByInclinedRebarStrengthLogic; + private IBeamShearStrengthLogic stirrupByDensityStrengthLogic; + private IBeamShearStrengthLogic stirrupGroupStrengthLogic; + private IBeamShearStrengthLogic stirrupByInclinedRebarStrengthLogic; private IStirrupEffectiveness stirrupEffectiveness; public StirrupStrengthLogic(IBeamShearSectionLogicInputData inputData, IShiftTraceLogger? traceLogger) @@ -22,32 +22,32 @@ namespace StructureHelperLogics.Models.BeamShears public IShiftTraceLogger? TraceLogger { get; set; } - public double GetShearStrength() + public double CalculateShearStrength() { GetStirrupEffectiveness(); if (stirrup is IStirrupByRebar stirrupByRebar) { TraceLogger?.AddMessage($"Stirrups type is stirrup by rebar Name = {stirrupByRebar.Name}"); stirrupByDensityStrengthLogic = new StirrupByRebarStrengthLogic(stirrupEffectiveness, stirrupByRebar, inclinedSection, inputData.ForceTuple, TraceLogger); - return stirrupByDensityStrengthLogic.GetShearStrength(); + return stirrupByDensityStrengthLogic.CalculateShearStrength(); } else if (stirrup is IStirrupGroup stirrupGroup) { TraceLogger?.AddMessage($"Stirrups type is stirrup group Name = {stirrupGroup.Name}"); stirrupGroupStrengthLogic ??= new StirrupGroupStrengthLogic(inputData, stirrupGroup, TraceLogger); - return stirrupGroupStrengthLogic.GetShearStrength(); + return stirrupGroupStrengthLogic.CalculateShearStrength(); } else if (stirrup is IStirrupByDensity stirrupByDensity) { TraceLogger?.AddMessage($"Stirrups type is stirrup by density Name = {stirrupByDensity.Name}"); stirrupByDensityStrengthLogic = new StirrupByDensityStrengthLogic(stirrupEffectiveness, stirrupByDensity, inclinedSection, TraceLogger); - return stirrupByDensityStrengthLogic.GetShearStrength(); + return stirrupByDensityStrengthLogic.CalculateShearStrength(); } else if (stirrup is IStirrupByInclinedRebar inclinedRebar) { TraceLogger?.AddMessage($"Stirrups type is inclined rebar Name = {inclinedRebar.Name}"); stirrupByInclinedRebarStrengthLogic ??= new StirrupByInclinedRebarStrengthLogic(inclinedSection, inclinedRebar, TraceLogger); - return stirrupByInclinedRebarStrengthLogic.GetShearStrength(); + return stirrupByInclinedRebarStrengthLogic.CalculateShearStrength(); } else { diff --git a/StructureHelperLogics/Models/BeamShears/Logics/BeamShearCalculatorUpdateStrategy.cs b/StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearCalculatorUpdateStrategy.cs similarity index 100% rename from StructureHelperLogics/Models/BeamShears/Logics/BeamShearCalculatorUpdateStrategy.cs rename to StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearCalculatorUpdateStrategy.cs diff --git a/StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearSectionLogicInputDataUpdateStrategy.cs b/StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearSectionLogicInputDataUpdateStrategy.cs index 48c789c..b9e29f7 100644 --- a/StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearSectionLogicInputDataUpdateStrategy.cs +++ b/StructureHelperLogics/Models/BeamShears/Logics/UpdateLogics/BeamShearSectionLogicInputDataUpdateStrategy.cs @@ -11,6 +11,7 @@ namespace StructureHelperLogics.Models.BeamShears CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); if (ReferenceEquals(targetObject, sourceObject)) { return; } + targetObject.BeamShearAction = sourceObject.BeamShearAction; targetObject.InclinedSection = sourceObject.InclinedSection; targetObject.InclinedCrack = sourceObject.InclinedCrack; targetObject.Stirrup = sourceObject.Stirrup; diff --git a/StructureHelperTests/UnitTests/BeamShearTests/BeamShearStrengthByStirrupDensityTests.cs b/StructureHelperTests/UnitTests/BeamShearTests/BeamShearStrengthByStirrupDensityTests.cs index d4b0ab9..6775b9b 100644 --- a/StructureHelperTests/UnitTests/BeamShearTests/BeamShearStrengthByStirrupDensityTests.cs +++ b/StructureHelperTests/UnitTests/BeamShearTests/BeamShearStrengthByStirrupDensityTests.cs @@ -54,7 +54,7 @@ namespace StructureHelperTests.UnitTests.BeamShearTests _mockStirrupByDensity.Setup(s => s.EndCoordinate).Returns(stirrupEnd); // Act - double result = _beamShearStrength.GetShearStrength(); + double result = _beamShearStrength.CalculateShearStrength(); // Assert Assert.That(result, Is.EqualTo(expectedStrength).Within(1e-6)); @@ -82,7 +82,7 @@ namespace StructureHelperTests.UnitTests.BeamShearTests _mockStirrupByDensity.Setup(s => s.EndCoordinate).Returns(100); // Act - double result = _beamShearStrength.GetShearStrength(); + double result = _beamShearStrength.CalculateShearStrength(); // Assert Assert.That(result, Is.EqualTo(expectedStrength).Within(1e-6)); @@ -109,7 +109,7 @@ namespace StructureHelperTests.UnitTests.BeamShearTests _mockStirrupByDensity.Setup(s => s.EndCoordinate).Returns(100); // Act - double result = _beamShearStrength.GetShearStrength(); + double result = _beamShearStrength.CalculateShearStrength(); // Assert Assert.That(result, Is.EqualTo(expectedStrength).Within(1e-6)); @@ -136,7 +136,7 @@ namespace StructureHelperTests.UnitTests.BeamShearTests _mockStirrupByDensity.Setup(s => s.EndCoordinate).Returns(100); // Act - double result = _beamShearStrength.GetShearStrength(); + double result = _beamShearStrength.CalculateShearStrength(); // Assert Assert.That(result, Is.EqualTo(expectedStrength).Within(1e-6)); @@ -155,7 +155,7 @@ namespace StructureHelperTests.UnitTests.BeamShearTests ); // Act & Assert - Assert.Throws(() => invalidInstance.GetShearStrength()); + Assert.Throws(() => invalidInstance.CalculateShearStrength()); } } diff --git a/StructureHelperTests/UnitTests/BeamShearTests/ConcreteShearStrengthLogicTests.cs b/StructureHelperTests/UnitTests/BeamShearTests/ConcreteShearStrengthLogicTests.cs new file mode 100644 index 0000000..a77c66e --- /dev/null +++ b/StructureHelperTests/UnitTests/BeamShearTests/ConcreteShearStrengthLogicTests.cs @@ -0,0 +1,134 @@ +using Moq; +using NUnit.Framework; +using StructureHelperCommon.Infrastructures.Exceptions; +using StructureHelperCommon.Models; +using StructureHelperLogics.Models.BeamShears; + +namespace StructureHelperTests.UnitTests.BeamShearTests +{ + + + [TestFixture] + public class ConcreteShearStrengthLogicTests + { + private Mock sectionEffectivenessMock; + private Mock inclinedSectionMock; + + [SetUp] + public void SetUp() + { + sectionEffectivenessMock = new Mock(); + inclinedSectionMock = new Mock(); + } + + [Test] + public void CalculateShearStrength_NormalCase_ReturnsExpectedValue() + { + // Arrange + sectionEffectivenessMock.SetupGet(s => s.BaseShapeFactor).Returns(0.9); + sectionEffectivenessMock.SetupGet(s => s.ShapeFactor).Returns(1.1); + sectionEffectivenessMock.SetupGet(s => s.MaxCrackLengthRatio).Returns(2.0); + sectionEffectivenessMock.SetupGet(s => s.MinCrackLengthRatio).Returns(0.1); + + inclinedSectionMock.SetupGet(s => s.ConcreteTensionStrength).Returns(2.5); + inclinedSectionMock.SetupGet(s => s.WebWidth).Returns(0.3); + inclinedSectionMock.SetupGet(s => s.EffectiveDepth).Returns(0.5); + inclinedSectionMock.SetupGet(s => s.StartCoord).Returns(0.0); + inclinedSectionMock.SetupGet(s => s.EndCoord).Returns(0.8); // crack length = 0.8m + + var logic = new ConcreteShearStrengthLogic( + sectionEffectivenessMock.Object, + inclinedSectionMock.Object, + null + ); + + // Expected shear strength + double concreteMoment = 0.9 * 1.1 * 2.5 * 0.3 * 0.5 * 0.5; + double expectedShear = concreteMoment / 0.8; + + // Act + double actual = logic.CalculateShearStrength(); + + // Assert + Assert.That(actual, Is.EqualTo(expectedShear).Within(1e-9)); + } + + [Test] + public void CalculateShearStrength_CrackLengthAboveMax_IsCapped() + { + // Arrange + sectionEffectivenessMock.SetupGet(s => s.BaseShapeFactor).Returns(1.0); + sectionEffectivenessMock.SetupGet(s => s.ShapeFactor).Returns(1.0); + sectionEffectivenessMock.SetupGet(s => s.MaxCrackLengthRatio).Returns(1.0); // max length = 0.5m + sectionEffectivenessMock.SetupGet(s => s.MinCrackLengthRatio).Returns(0.1); + + inclinedSectionMock.SetupGet(s => s.ConcreteTensionStrength).Returns(1.0); + inclinedSectionMock.SetupGet(s => s.WebWidth).Returns(1.0); + inclinedSectionMock.SetupGet(s => s.EffectiveDepth).Returns(0.5); + inclinedSectionMock.SetupGet(s => s.StartCoord).Returns(0.0); + inclinedSectionMock.SetupGet(s => s.EndCoord).Returns(2.0); // crack length = 2.0m > max + + var logic = new ConcreteShearStrengthLogic( + sectionEffectivenessMock.Object, + inclinedSectionMock.Object, + null + ); + + // Expected crack length should be capped to 0.5m + double expectedShear = (1.0 * 1.0 * 1.0 * 1.0 * 0.5 * 0.5) / 0.5; + + // Act + double actual = logic.CalculateShearStrength(); + + // Assert + Assert.That(actual, Is.EqualTo(expectedShear).Within(1e-9)); + } + + [Test] + public void CalculateShearStrength_CrackLengthBelowMin_IsRaised() + { + // Arrange + sectionEffectivenessMock.SetupGet(s => s.BaseShapeFactor).Returns(1.0); + sectionEffectivenessMock.SetupGet(s => s.ShapeFactor).Returns(1.0); + sectionEffectivenessMock.SetupGet(s => s.MaxCrackLengthRatio).Returns(2.0); + sectionEffectivenessMock.SetupGet(s => s.MinCrackLengthRatio).Returns(0.5); // min length = 0.25m + + inclinedSectionMock.SetupGet(s => s.ConcreteTensionStrength).Returns(1.0); + inclinedSectionMock.SetupGet(s => s.WebWidth).Returns(1.0); + inclinedSectionMock.SetupGet(s => s.EffectiveDepth).Returns(0.5); + inclinedSectionMock.SetupGet(s => s.StartCoord).Returns(0.0); + inclinedSectionMock.SetupGet(s => s.EndCoord).Returns(0.1); // crack length = 0.1m < min + + var logic = new ConcreteShearStrengthLogic( + sectionEffectivenessMock.Object, + inclinedSectionMock.Object, + null + ); + + // Expected crack length should be raised to 0.25m + double expectedShear = (1.0 * 1.0 * 1.0 * 1.0 * 0.5 * 0.5) / 0.25; + + // Act + double actual = logic.CalculateShearStrength(); + + // Assert + Assert.That(actual, Is.EqualTo(expectedShear).Within(1e-9)); + } + + [Test] + public void CalculateShearStrength_InvalidEffectiveDepth_Throws() + { + // Arrange + inclinedSectionMock.SetupGet(s => s.EffectiveDepth).Returns(0.0); + + var logic = new ConcreteShearStrengthLogic( + sectionEffectivenessMock.Object, + inclinedSectionMock.Object + ); + + // Act & Assert + Assert.Throws(() => logic.CalculateShearStrength()); + } + } + +} diff --git a/StructureHelperTests/UnitTests/StirrupByInclinedRebarStrengthLogicTests.cs b/StructureHelperTests/UnitTests/StirrupByInclinedRebarStrengthLogicTests.cs index 4a16a53..e46a783 100644 --- a/StructureHelperTests/UnitTests/StirrupByInclinedRebarStrengthLogicTests.cs +++ b/StructureHelperTests/UnitTests/StirrupByInclinedRebarStrengthLogicTests.cs @@ -53,7 +53,7 @@ namespace StructureHelperTests.UnitTests sectionMock.SetupGet(s => s.EndCoord).Returns(12.0); var logic = CreateLogic(); - var result = logic.GetShearStrength(); + var result = logic.CalculateShearStrength(); Assert.That(result, Is.EqualTo(0.0)); loggerMock.Verify(l => l.AddMessage(It.Is(msg => msg.Contains("has been ignored")))); @@ -66,7 +66,7 @@ namespace StructureHelperTests.UnitTests sectionMock.SetupGet(s => s.EndCoord).Returns(-1.0); var logic = CreateLogic(); - var result = logic.GetShearStrength(); + var result = logic.CalculateShearStrength(); Assert.That(result, Is.EqualTo(0.0)); loggerMock.Verify(l => l.AddMessage(It.Is(msg => msg.Contains("has been ignored")))); @@ -79,7 +79,7 @@ namespace StructureHelperTests.UnitTests sectionMock.SetupGet(s => s.EndCoord).Returns(0.05); // falls in start transfer zone var logic = CreateLogic(); - var result = logic.GetShearStrength(); + var result = logic.CalculateShearStrength(); Assert.That(result, Is.EqualTo(123.0)); // from interpolateMock interpolateMock.Verify(m => m.GetValueY(), Times.Once); @@ -92,7 +92,7 @@ namespace StructureHelperTests.UnitTests sectionMock.SetupGet(s => s.EndCoord).Returns(2.0); var logic = CreateLogic(); - var result = logic.GetShearStrength(); + var result = logic.CalculateShearStrength(); Assert.That(result, Is.EqualTo(123.0)); interpolateMock.Verify(m => m.GetValueY(), Times.Once); @@ -105,7 +105,7 @@ namespace StructureHelperTests.UnitTests sectionMock.SetupGet(s => s.EndCoord).Returns(1.0); var logic = CreateLogic(); - var result = logic.GetShearStrength(); + var result = logic.CalculateShearStrength(); // Strength = 0.75 * 1000 * sin(45°) * 2 var expected = 0.75 * 1000.0 * Math.Sin(Math.PI / 4) * 2; @@ -118,7 +118,7 @@ namespace StructureHelperTests.UnitTests rebarMock.SetupGet(r => r.TransferLength).Returns(5.0); // huge transfer length var logic = CreateLogic(); - Assert.Throws(() => logic.GetShearStrength()); + Assert.Throws(() => logic.CalculateShearStrength()); } private StirrupByInclinedRebarStrengthLogic CreateLogic()