From c52a6ce2ae3725c1da9176ea7e9329df160636b8 Mon Sep 17 00:00:00 2001 From: SaraP Date: Tue, 1 Oct 2024 15:17:12 +0200 Subject: [PATCH] - solidi semplificati - piccole correzioni varie. --- Profiles/Profilo78 - Offset - Copy (52).nge | Bin 0 -> 339193 bytes Profiles/Profilo78 - Offset.nge | Bin 339193 -> 379769 bytes Profiles/WinConst.lua | 1 + Profiles/WinLib/WinCalculate.lua | 112 ++++++++++++-------- 4 files changed, 69 insertions(+), 44 deletions(-) create mode 100644 Profiles/Profilo78 - Offset - Copy (52).nge diff --git a/Profiles/Profilo78 - Offset - Copy (52).nge b/Profiles/Profilo78 - Offset - Copy (52).nge new file mode 100644 index 0000000000000000000000000000000000000000..2c8f86bfb18d3dd7f2171f336f41265c44753793 GIT binary patch literal 339193 zcmeFa37i(i@jpC^K~WJF1K#2yqQnFDdG=P9r@2KDkX1=E%DD*2&7wd&_P2NeDo6y3 z(TGN)Mx%r%-t3qNY66KG?<1`7Ogvb{AQ5HX?yj!tnV#uqo*8z5e_o#t>`d46e7mZ; zySnKPsefkonJGcddj4}y}#Lwhw>b!SFc`U^Y~T%@+ArGTk(5(;EWYf_Tc{q zSN5MiYEpF`f84}>5ZCs%F=KlI^cQns>cb2ejp<87ewT)DG`YL)mFKYaWDcRr;#A9CPHl$ z3#I#BG6INPq~2ue>dGtrL1YZ)az*4~8950;E~!u)U0OxPiTvH5OM;U z?I0)p41`me#HcmtIUqx3J2nJGcTYA_v?G)DN@N^%3X|7J1k~0RW#lkyq?AN^r9Mt- z2fBXDlbH+$=>Ax~5avr6P;Cf`?hbZ+Z)XXR_R3`>Hh{@%Bm!!y1+-V;Rt zC!M<2-1FWm^}kr{;OASqDU5*q~4^WA7n6@#F`m^e0w?hIZ?0u9!|u|XjH z2v_kGeL=3%$~xE}Di~lTfmYVR27&Y~;UyIK&#qr zgFw0=4Tu=}SLY4Xb~jfD%!8IFfnXho6_au0&zj^cVUn^)SqFk}v%JM0p_C5u$0ItB zh> zBn5*g&C`TRPQX4ka|6#hJf@VTvHlr7<0T7 zV%QL{iA#X2OqUG->G4dL)H7JFo!oXxPQY*xCx*7E-81M}f@HWKf zbQO+cxX{B&fmNXP&0vM-@yZA|%E}GGR@sEW#>u3kbRk#bTGewK1kw#@LJ*Op^G3Nf zxk6wbVBR#3nFIxbWoU_}Go?(!uHAG#$#X|kMYHM5 z{0s5Bmwfy6>%{Me%%n#`BXW@q0qKC0dy7Qci)iai4jVH{2Bj@)6=3F@)-cMb+QyEo zNdB}ehfbdZz7v-nlj>ZqomZH#qdewmFFWE$wFD&+Xh+j(~~p>s%<<$aTNv8n1NFI zbyPiYBc;O#Bqa?ggqjQPNrci7Cgduz5)=q+X$)t?FC}7QL#V=uoRMNF#ccE#w8H)L zsN#k!L4)9JOLO*T%o1yqR7@dJiG{Y8vm&JmRLemYI;I)C>b#5?QZQdNrNrlkw27oF zmxgqA^rLj1`RO{3F>%{fOKA)#L_xG*y;K8~+(iqoe^nN`O-4_NO{@NT6^rY`EP3_F zkN57;r6(k!>t$>oCX`E!Cq_3u&I@eeSy)vxmhR_j){}BE}m>RQhE{3&X zRa>8$=>sRX<3SqOmK0BGkUEq<4YUSoXqzI3w+A+}?y%opdP3)-PlmZ1JIjxxVGzl1 zc{p*v+6y){T^?_?AI$oXGWTx&*R0m;k!8jGKbfvMu@#vtY|2MuK9pIHU;eYt^`FC{ zIH2cP$)Oo=Y?awo`3Wa@gUG7OZ$YpctRNs#NPA$`5h2oiV+p~LJ;XCgN=)ZimJsEp z+ZqyE!-E`zTv2PKdviYy$?_1n>40~wi)D>lyR=EaC)*#h_ z*cKQDW4B};9MtX@vD&Kd9lsyqU2Qd@O~ppu$}nrv<^!zh#W21Vw7^K0{p_oTxF&!# zjL0Qf5xD(~i%i;!ZGlmHex94d0>dao&;lbJWHi@_`uXsMP#pt}!ChkpXNCNX zYm3?3BPw+Tj`K86%w~awH%+VHY1fG44i~x0K-eG6H9R%LVebf9W4%z|oq6G0367v$ z=sV@&>WRaqT$~b%TKKgx)t=w*QJtaH)2CL|jGA6kSyUpnlPFTZ$zv-^3&s0_FlzcJ zh*OABI7LKB7m7tJy{FXFOqnE*1g*GmUmp$L^u<(f7o|KgDUDPSCc*&+RZp%=6JtD% zBp9g%XewT+T(pAnS9>~xnxJ*?5bDQMGfo(=>AyVknr0)ndc~kktVYD9dSBk%qvIMdtxQEx$V0*Rd*f0 z%Bs3_o@W}phCTr4<}RfkyiQ9FtPl#?nc!yS)ccUQ2D{({A&wgV^FJLmFU6cQ-+r{; zExAMMyitZB&2IYB=O%8>PIM6zHzOZ)Tj#e{{z=pEx$Ua+QcXYQv-V>vAO7aVNdz7KDoPdDj7)hc z-=m?Ga16$G zbZVh9dB5XJ+p(b~b4uKSA2CCyYS|VZ@Hr>cPYu5q|;d;YE@4?hP$Jo zm6u_I=+2}RiJ+A=u|X)hV|d=EwUDdMc4ZxU0C$lPIc9szHdwZ2Y2|1rR!k4s9SSU( z^bqNgq@@H;10iBdiGbVZi-MG3O{n%8d4}{j#RR$YT`{A$v%u?B8~)7JKM?f6mAxj; z6g|xY1qgpZdhjU`aQJ!%xj6bhvxQLftx=5|poqUBLnLzg<;yNS>Xgx4*;01Or*9q` zh0vJU^t<+-T({TZ?9?{r@3wU0hnZn#-*(-m4Ih%xseF0WsE${h?dr55?vNAZ1ALpg z=Gd2>dE#M{lW#NUF4%ARq^9$8MkX0mrOju#Az+5JV!(N0{f1sAyxn0<#cBvUPW6UP zPd8nDx{Kk+E6P~%>01N)Zh37__W4Cm6|Z?h%krNq7j4=$=~YUBG=%QQV_uk5nY>F?Y)x*I#B>l8d zzUclxZ!O*LeJUZ+LoGXtMaqT|P8{qYkn-7vv&2^F$rL}hp!C%fS>&3P7CNrB2+z^Ep~ zw;6b1(lLI>m7rDYZ-e+YbHgoz-u`VTvuhp#sYp6+$`Z9U^SiOCFTQ%{hMPXB|K0TA zkKAzU2UO2i-u}z){;#n&vnTFW#zJH{JAUeTUDcUAE$px0RwD=fds}@BiYe(wtc#e>GJx?!rrNc;TXs?6u$g{;B=e zXjaZ>HG1D3SG052_5bMG8~2>(`em_)NXm3!tNzQ%uKvqz?#q3OAD{bV6a-fJ{n>=o z=l%1PSJu~Gv)`t=F`aeq_t__}FCTlyu=rA@QwL4B_sK)26}bC<*=F()t28T}4m@%P`>yL|9OOPRj>ic#+3`wn&gbAD#nGh3n{P|8m;m(^`;?6h@b{RnsN z`{zD!JLTo2b0+@9sU4R<%A%KFy=LSg#~$Q%c&^*^PySc4@{fyde{Ar32fBT3`23@e zk7|1EQWhu6%Y63nDgotqgBb;`^Zxv;FxMI9O8DZz;87>yAji-(;A(cqe;A7J&O;Z3r-e%{=7~h1 z^Sb0ax0ensd`ooFC2~ zG%S8Ld?At%j3k=hNCcE|4+d~X<;FDPRC1J2ja&49alzw_Axv(@<#?e<#}q@ZLPoEV zjL{On7IhR7u?=Bk3JI*F|?^SFJ14$!x2Y>CAjHURYOhF*5#H zUU;h{S}NS@Z{5)e-u%GHd-2G)t3Qng7SiE`c;=yS=G*g_RHN1SIyT$72OcgEG0xyQ zh5gZE7ItXY077vRSS6y?cm(MFgnc2j6>40}hM?$?Yd4>rmyTa0u;+9)FqJ{-_;?faa^*wiJ3t@z-6Mquc zF^fF)pn$)aWt2;9sNKG%(P8iWV$Z8KT{Y3=NoDzwKnx-^*28&0DVjVzp!Z+5Cfbsk z#)A)Dy|(T2{XGkaY^5d(oAMEv;KWrx9ej|neB?msAc_zE9Ge;Cso9o-+3LSN1(H!! zfcVA?urVLIP(G@4aIQUV;|a=Gntf4U9|rH43jho>ZxE5yxR?dO+WdH-jC(|eE?)>j z)+W;c^9CtjplM9d{C9ur$cJw3@TdCs+l>C_k~{SbjaobEdQ;1K&t>#>`EZ47z?ZT4 zK3TvCS~aB>2&=#Dq$uVGH~PYHIzN6O6{2+Hn58f~VNGKmr;B+RGG^tYO+C+H zJdxafJR6~RhbKpTRsYikOP|)9T-K_4|D``Tmc2gU?guWZ)buELG9$5@FdVM=&y045 z@RK7lk4>65%zJXgyoa}RbZ}rKiVg7`Wh|EC7atxUSc;7Fa2M8|1j!h?36m*~a~NRb zI<6m46Sn-FE^GKwZr7f+@dRZoJ$_5^QO94EVy{8NE$djMfwnv1tC*G$l*l?yAZ2w5CXx*UnMq)}u$RKh@-Ah2TwLTxi`G zfE|g^nxXiH*3SQV?U=4H2E#l8>sy^6bp`No z7F%m7Cj25!0kN+9)?7o%I#ta{*d33@TkP}sqdf7Lx0T*+*@)3!XyfHkuHwV7g3109 zCQiiNxhZ+XhM>rA$yOd$Qr>|_sj8ViVQSwAGipXn9#budV&r#6?cp8I84x0&II;Hd z&Sv7x;7`%b@4N;hY6_ZNHHKtCXtyUd4|CZ8^WSF z3?xl}44$A3f#^{OpKDE1DTTp|dyuy%1T3XA6GS~Mjm__3mQt@LNUZn(9p|Q>F@q8r z)J;6pa)O8}C8mVZt8gMI!7QvmX$)3~9JUAZjmRz;_a8u>wY2?WzXtQc&&s=YPH*@9Y1Wg7^>&Gwqd8)yD_D7~U4DuJq7X<-Fh zZub<|pR_%sr37n&ii(6FX&8W0*q>GsDe*%LN=o-s*N3^nLia^70=#LG^-O(;!3KeJ z=QMwk2AVHO(8@Ys-WU+ev62{cAC?gyXs`|;5ce;5YrMnhM-Lk{v5Py{H2|zZ%Jy`z zgt#VG2+U@x!WlD-Za=R&@lRXM%$XJ1nUOB}ZuRAx{>fR9kb&dsRXZ1;n+$luq(HC^ zjtxT5lbmCp2J7&#@@gU>q7?|z$2%z(3U_&zR_$*8^M=`hFO$#v$)X~);@7U=rtD<%DLDZ_5yGa8W`Kw#Rfzo=bNH%PBc2YYD?Ck-^_+X1gho!JzC4W;0dT zVrEnAP}s%I=6fM#lUJ^>kqcou^H^3}O5gn04s%*CJMkAl`~$q(^97L0hJE(;FL>i= zegVW*YO>oUPm=-WG(i<;sV{)o+#s9Vltog%`3*53*-e%mnHt>0=6B8?-#?(C;f~DF zKY3u|q;EEoN1_~8W>4FAf-;t6ZAwC#9s?&BL}W0(HUwL98N|~RL_Z%{EIr}5`?w)AKg2Ps|2a#p;JuFR{18VBLx|I$^QNu6SA2-$ zu~v7KdzVu@R6O5TIM7^qI&(5bPM1@e$v?yqf-wK2fscR4JH0<_`_Vz; zVjxoqDgFAQQ>QyIdhp}w-u>yH)@{i=v{(0bJs01RnSb?z-~7^J2*;lN%e9-oIg{~X znA;DHO4;lm-&3-lo2#>5{cenRIAXv_Z>(R(=`ax-Zv;fCImOAaiO(MrtYTv5XZC8 zHW@#}u_HfiI+5$eHp#dLf5xZa#pJcHzIzE3Vu^-ceFOG*4dFQb2Z#Rdf`ONu?uwUk z`BAw8wJpyT0h^e72B~1!NHflW3d&e?amSDDdGFy%*-O9qcjq@I4s#Ln^+&gzyW!hQ z0;5Uz+;$}yi~sw0+opTJQUiJ(Ya0G0%Cse8Tj{-N+N669STNiTe?LeiPW+<)wN()a z$VonH7`SS~jORbkwEOer`=49$Vg}OyPU4-+A}tw=M50SqtFB#s(pm$II+5;}ybzO=~?Wf8-cMxR>@Tl)5A3Pa~#wJXKr{cU-LHB0I?>_S>m z@r~vWUx}kFENoyHH7AG#S6WrzCua>IGW54?2t?0!v!Zz)A~FnL+7MjSY64_1Ts8!v z9}%BtFhn*4T9=Rj84QsPf#^}Q#ahv1#=#KLGJ_}tETuGAMSXpZ&F_+wQZQV^i4Si( z7d(LB+9eh|fcrzM5)6G4Jzg1sQ39yuHi%lBElmOq_1p$QbVC{=3%xA6w!V#=!PuV;#CC() zI@lj_FWDz~lE{$R%%lgHGYN<+0g6Hp5E)*~y+tDJWpC?DempxH;E~l+V1ZX{1e6hK z0B?0cSS^bT*9Yk~K%ygZsSN??@J8;&iL?i8qpj5?M)1ZQZfHjBL0if>k!9>aLl)jj zhtiR;kSoauZ6mew26Es{Q$~zn$hsXvDj}@MAr+!W*>PkEj0o6Yup;CEL_suWpp<^C ztcD>SrVz(S^3v*UOF1i{=7M_?p>#|#paH9ZC5QNSRe9>q99tZUaEDBoR!e}$6d5gx=ln*Cn?oB zMh+3zhw-E9dKue?@dK%l#;YrEoQv}8E?Sn2PYvXFhNj_JVH-%*@&d+_pFe)y!j<3% z=I3(w{Bhd*#Z>tn;}Y?{@AJp$eKbXW{x~g$T;TAmUHbFKBQXPxbUDLWewf`+qtX|# zEFk<5;y?+1?teUk{H4JDIciVwfkB8d9;&0e>{g*Tb@m{ zuUOpj-&oN-0v`spNrO=m6z@)Ha1(qxrG*jSQJbQtb9RIP+p{U!+^i!<}$`&UA0+)~tzNf!vVAL`eib0z{Ik9KW90Xic4bFRQdQ2Gtf z19+N%$o`xQARzLEu6{Mioj>P(#v#m{tF3L4IVWdkMb4curAC;6EO}>^C)BV>&&Dw7 z!Jl^~0wM?WlLZ=)cXr;HvSeX7{E6vZL3z^|x17}v8QAU*OxJ&jD-gJHds6>pIUs4bcl&uC1~T@vlVlmc=RIQSX0 zcY*6kC;KgG4+ixd8-k*Hj(y4w>lsN)!F2n_YFIfEB3gah@j3C^x*YO{iSPd`{Bz=$ zC>FQlbK*9LkqUY{J|`XmQCC`V$>Ia%Z1?BH3+7l3Vm31w^QHwqCvIb9PT&AOlQ}ai z>MzW(fN6MPc8(AzWg7;N7&a1!xfB#wDSK+`drw`^Fgx%$aojqoCd$4Q9(ySK71Kj5 zRIaE=*FpvEw3Og!AVh2_5xE&A5Yymlj8xK?tROv32}JIESIj8rmEX^w+4={2@n>|9 zpX`|*%qirgLC+kwI4v6I@`qV|nC_NL^^8k0VvAFozyJ4CzQu{0wE=4{*u)QZce8-_ zAE7G+9SYpy6yRhI`@GLTrq7HqQbIC9)y>Zp0cE7C`ttXWdLrYA53euI+`IW-vpUUT z?;rc=gsVMgp2|JDx6NUbJ3Yf*`^os6wMQ~SMdwQ`#?2j+{_?6Q1e9${=C9NLJzC`B zY2{b<^X8+HF=tMU4uxysgwuQNz2^bv4$`OPqE@X}EFo%*k_92e(X%4r14LG}*5Ym2 zyi-I8yCQOhd>Dd|)uj$YR5Y@B$vX%waLO$(XY20Rx<^^W)N zyMPd}JE)ih)+H5AwuVT)Z0l_!-R$=x2VqxIAXo+)M1yLn56gJCqC zH>$2H?jj*54;a8w*q=%g$0Y^E!Bwmj8q(k{Ba`k=*dL<20qbCcK>G5ruK)ckA%s?I zd~6Vm_kP7M5j6M=HVC4dBjz%}&_9&zX{hZ85jpgW*__W{(`E!9&EP zi*VFMzR2-jsA9`6jh!vPjAleL$M0fhi{vDYyKv1ihP!ahGU-b(BtSA2`F7#Ps9?q} zTq=5M7cL7)G?YY~KnHv|`WR952(=s7g;-5ItUlAoCI0Y8!&B zoj`%Yu2@!~a@i1&-k5-AXnAc2*doV3rW}Wc7ZFxO@rF6>Fux*nJ0t0d+zS}zZ&2=q z$qJ|EW|{qr1w$l)JdyA|9>Hdt#HoaXD|=0xDXh|gJV07YeSOY}r|%D%_(R;CpZf*>Fv{zj7;-W9czdnn- z+^6{QxlcwRV20(htyfL{@RV29*Y|qkkZd*Z+qzUd9&Dm&d&^cW=j+T z%J^yKxsPY&@3(bh=JoSW>fG&#+o^ngr$?|c3cHSp{aJY>1A1^p)ey=BP&tO6- zA6*PbUQx!1ttY#zSfi>>Sb(YH75sbzWKKmB^Yb^2`f+Hd$bbk^iv3xtf)8A}ze znDO^(8wmGVQxx{hoxpu=~UN zzql%D&8Ze$vy#l}%A5}?8ESRu9t+P~h&F}a(~&RwwI@<~nS=d2K&H`IN| z4Fc<^M9ZALh@8;Uu$d?0B{CE#S2efhJT21Ad0n2P zwjbpw6z{>q2UKJF?Wuv3n#LKUj3zbw4dTX*QdD=foR|51-;HNu8m^ z?MHUtYmmM?@8R^QZBZQJTl|WZtH_4%96!{#XzpybW)bf@+?G2sX)n9c^RNQ9dYk;A zpVh8=v0-C<{lyD6TrqT22BTiz#VOyMIn%{(_ z(ac8HAuXdHTo+hLk2xhP4M>^X@gKs8k8TJe2N>=Ti9}X=&A&4$S{NZb(;haqQNYdG=Q62ON5E<-p0p3vbWwsVc%W8<$L` zJ<=Q*kyOtgN)h6FjtB5W66f}*=RRt908J{CB;>?gjWH6ZrlL6XB!bAQU|0|kIdb)j zMkeh+xk$WzhP0`n#a$BZL4$;xH0K5nXpkJ#o-yKw^vK;AT13*G8dUljlg}a%P+Rux zF-i7!$fmA5>sqvswQE`$%N>?I@WO2f30LfS8<-G??cd!2R-wSQrNWdMbEYMBcYs;o z!+kgX>GKn>dea=q*q+@TU>9E46?S(Nx7_Xyunf$$rNWk%&A7hBOhSgK%*YSZiTZ@U_3{ols&yi+EoGBVoIr!e)ZlxJ)oCwJ*d|VE zufOZlx=#GG_IgY~trKAwj=Z8_RmECyVy+WG4r8wFlZ^p1cs2xFi;)Bw8ax{U(qpcp zga%CN&4z$ZRSaaxacIC0A#$aOS-&tpjd~Wx#X$()mC}*sV?h@4u@8SwnGZ1@4JO1t z5{)17S+Q{Nxw9|S71x&{1sXH>A)o$d{`vAcFxnQUKA$eH!t>{<2505+j=iNU_tJSKu9Oq zO-Mksy6>u%+OCEux+ucOjp9v&fyt5DCX=J{7wOP-9qR^|vJtRE!5|Jt4n^PwBb07K z<#f^>4C0{4i8O~=dwy`OJxPz*^OxGIkXj1i1nE-79@VZt_F(h2T~(F0@b| zKvU0KjwyT|mA5-*OkoyRl5MIFzRn~4GBL(YlYNq68E7b&&EEONo>y(UO0U!j&juAw}0)AS8!!nwGFI*w;rbdhc<2s5S7^BJ}rC~I2(8+|b4u9F9 zwLOM`284(l4a9`Dp*!(f9zH$MinRv=gg zglI4a3Qe|1QOy6OWqS(C^1>T5PBuRQDw?o-PNphGAN(vCwe|U%uG9^OUjPj0e!}>p z9$zdz_<3cA*Y4eCmF_2e_tkABneFN)d{zI`1xugSoQUb*BN}G2*9YAFz$KNMjy&0} zBxCF*47~F_*iWy0yesb~WDeZ6`{}%&Kuy@ZhqrW0wCx5Cm2V1;&dEtDP7fatv`Og6 z$JkAnbn?bI46xA^(M{O$ce<=e)`ZO+GULn9{2-p!tG5h!*Pgaz(1gWkO=UlUcbA*LHH8m^Vw2}-O=XgtE=yf<0a-!B0z8s8Ao~JdHNpd+0l=DBLvUkUK59_74+f&*a*^YY}K2+7ZUi^*?(7|f^{<42rTJ-ueam{Aiu za1wr_@uKSK6Gu(0EKUhtchp(Hf8q=Xo{?XXZWHHMa1LA1_`#%tp&y7yU3}|jAH9+Z zV&Lc2u>dWKfXHel-hzP0k)LYyB!|dg6>JD7OA=)8Yi$Tf_pp@gR@)=7;^Hk1;>|dP z8Gb71LHwzx-aH@q;^)`yXg&U|raHz0{Fm>_i}epCo6r1FkgljnMheomesSrv=ijYk z_dGN6+GEQ3SA#!`CJBJgYJuD1TY`Lm9!xsoegk}_pL$F9@ziBinmAvtv!G? zEvQN`&b$lC2%{m$iF2~+WBw+^p-J~eG6IMUuA~hC>FgALiUycBNZNzZkULR(Q3x%g zJ@660l|)vYQ~kocj_Nb$Ua8D`u0DWE6|-?zbOj`7(oLm#!dgmbH4wsyDug+sq?&Gn7E};WDPAF!*m{bc_~t_-+LW7^eSU%K?lfQ#j4AsEt9mi*}4Z<&fX4H8fKtGsYeyA212F4DlsDG?Za#*iU{ zsw&e5^LueSVsNk1`i)3c$_}Xf9t{6z)xgPZ`Qst|`w!z!j!PH!C=svn@E{&8+zX$j zD~~HGqbKRgLO*C4Kvmaq;ADBUr~nq(_Pv+S6%q2oZ2jKLmn8(6=Du^8RF!FS1Nzh2 zgGYwd!uT=UPsz#mUVcLDfs63Hmyha;w|_yu<+;OR4z~YU{^XD1DKDqq;XGmYrOAi2 z!6`Ac=U;@9I+T+Ft$;Gva+wNQcW(D37BnAn_|I?3Ig;Z%rz)!Hp38^cKO_P3Qnzbg zDmE(6GqZK>h@QJQPa}%pO4$(ZMA>skriKvuS%_fz=6)6N5Na>7o8SgswGmKz(9OC@ z$zpPX^q9Q_k14kypox!xOxp9C=Gct{s>En4V$P*V8KI9=j@ldG*FVx@b`c~pbg^s* z>*^RtVe}k;82VRe&uf|qqS<-~ZfLq;L}Ddn8&utMQpK`6_#o_$a$# zlSB9tZE2aMH?LguLNWQ_H^<}8S%1RZXH`MW!5rV1>bdT`{Tx=adCZWFt#8Y0y?^-d z%5U|FSg|)`@;nt>cTLL$5U&L}LAsn>+&y=rsm*a#ggfWLyk!hzGAOalv1M}B9JO(| zLUQ||_DZCT%ary!<{0Uqz1&AuNPDGO5&EL`az`fZ#Wu$+roD10V;O31fQ!mUx=guk z?naZeSCJKg+tRqmLVF3#u}6KccUXhppwO+^h&B})<9=@gSV^7o#TR@2gwJtp{_FVr z7B?P4`n&%3KRmBDH^-wdIQ7u?&rD>F$Nu|)PkVE7y!PF74}R!2`Kt=%6I~lK4X3`_ z>kpqaWuCnGk<-LJi+ex*cZt|{fl=nHsajYZXRR2%=)3yOu`sKD6wmq9YmVD+5{{}w zjiiXUIOrlw^bQzR;i)*zP9C%e+b=nxfpug0fapnVzaQB^!0~o-GD*G^{)em=*nULt zSlsaUu)svR;w=3A5GuC>QhVTv zm=27pyu;&!+5X)*UD|XQRY?a&Rni`l@AJ|H9S6}PM_z(1{li0^9W(AOoZ@g?j+W&| z(lCD{qQ~#RpkYdXy?E{TbNPIY*&DMJ89xWX5Sfp}lU3QLapE1LDvd8R15^`@%51Cr zLD4h?wFhS1hJbX_U}>Dd9cd5DdSc_NONK9rB;z3dX25JnYz>buStEej^Uq@2kj=)@ z0P_Y(doaS1xZ!Ue?RmQZ$cpL3ERVk+LA3nJtV`K#5JWdzHLt>qd);`!!0QU+E((Ga z#sE=wSbQnOnXB==hyhARjU%t^LgS^G=v|u$zPapj0?N4zNZ1%ubwQINeH++iS?6F~rwkuVG*d`depMCH6 zz1#r*;GlNLh>b3oQj+ec-vpa|X*uS>4W&uP6s=d(UWp9>=@Mawm|)Z%@T|+KPloL> z!R82&4097~(tRn01yFnCHUy;0mv@K>ZVBxfCK%MDJD4)e?W9Q$)0mIO)u&9b4Fc)# zT9p0N;2slv)1B!xm&7o^IP42xK@%K%*jIDqxzokEuE23N@FzAC+>Sq^Z_)ZUMVzD> zmReIWL9RVX^V`Vh8KJ<}^1`_ij{4q`tG-h%uAVq-%Ec)$^uw=}az>Reml;|;eQH(B zsOdG8MJ4<2XNuHs^4QAKLLreLjG8_Q;uK;OP7zVkg?vkf(|bxy&6G(3NzjT5_w~`> zO| z>B9ZP9?FDLVwKRzQ>IUtGi7qksEL6$1#HM;`EE(ryToa#DC}LuZ&5kVWToa1c$I(U zm^nNn231e4OjCw(7)da4D?n56Qssu)5U|joQ+&~pBxOL_nuMvBh;E_$QFS=oRTRqw zD_=f?2$t$ldy#r>fuTufJ`~C|`KqP59Kv7sSC_QCx}-?ERPKeyzUq=T>r1hb1EOH0 z3&kcSv#fg~as|o~R327c(iOXKbrJhwtOd3(ti&s2rnA?UbVb;^N>3%l|Ibwfr;p1u zmF3qm72%DXD?$-ggfzAZJfn;@0kf_&P!EdCdQejADau%XN_vzC`(oCFba{^wPb;G` zIbGqYHJqk+F&YBRq+z*KnyE6Q@(@xw#Ma45SbPBI(b9C-TaI*TnDr<2!ppN_vZN%e z8WE?V)d;mzYE}gz@EFoi7khNe6BM*mnTLk)DuNn>xCR~L7wZN%`)gJOjAyhBG24V!zOM@3R|QY8-ztu zR^j#UtHSqHVHc?ieR1}5$5#b$@J0jovv_R?tS1uVg2EM72XE-!o*)K}-Vn~BAcB)W zL>g-X(3KSi(W_>O>mRsSsnI zv}hoztGHI_&A|pb1 z6mMF4ezuL05@%`|WmL<`lq@DEOwkujb^R%42_bTYjAKI>8y{I{&pVlg5VN9~YZ>*a z$uBA8R3(kc3exkVSoG+Vqy#f!gD6m~P7G+RKxhOIqCtNQ(8Gu478U3)50T$)U-<(C zf+4}y!DI#LksqqkjA<#sGN6=^5T=wA*4W}MW-S9L!IU5?=5ec-$0psMus=k_1Z;^7 z0_mP(@ccNzkX9fV2drn25U4O*JB(o?i9`wnYl5tp2LYp%G3iFiz91@49m!#XK)UB3 zMjuQ_fE1{X*g!iU34sc;D=^6yuVe{Kr~j6J{ZC5MSFp0GE}iF@p5wN;ObX)0^Hl*F ztceYxQ9(Ns+z?%blPGV%I)p&<`sE=#2M*%UXTJStzgu#L)_DWgVd&f(&y~fzX@PHE zrNKIIM4o z;a9V(BBs*B_Zn>*(RYQ;L>lv{**gI6u2-dJBSe`-}9_Hg0T7<(<_$s&98bh_iVZC zOV$XWO#zE+LqNJ&L=7-+km?&)Sgf&;2&g@@Rv7kT^ZO(#ioqfyCyR`H+#YKM7TJb? zbkjZ>B6)+PJ+QEeZGAIp4=gfrVzyh@f|_)%Q06_BJvDH|eS7gU5fIsIn`PwiKiXD- zg-zgS0I*Gc@%CeZu}|5CVC9J*e8~3mZr8o|xM#>VTsBSBQi54{p^ja6+x5?`J7~JA zBZb|OR7@QSlEEWFRP5T8I2z=A4&ERVFf4K&Cm9=8Y)&yZ!G!~>=l?ec6O8M^)iEF$ zJQhSSAbzpeg=1kQ6D*hRdrYug{LT%fNr&{Z{6*v<8v@cLMx+7NDUlJ0ZGu~3TY_xB z$OOw2JSJGm$PJ}Q*V0(-P3I?7L~M zR#5gkj|rak;qVy^f2(5^$J}w`oP#xVIDkG5L>&V{$AYN%wXt{Bg(gI%UhWA~ru&RRDWq?WHzX&mL3-=&ZtXsApSf%)JLS_i zkBvfT%xwBy`%kXh>u`2zoAY;DI`YHJu(NNwZqtSjX-={7o@c|;q4Avb62;(RUlZtYdYpHojlAOw)mbEPqjZ zr8b1y*8lczo%Wo|R&QRnxVClfL(QbUvNxZbSv9}YTy{v;H@cqjP84sbJ%?4j`eole z{`GNv(fxnkTDsr+R6;hlefOs7va^(Sv&e>zP{#7lR_(q1%){ogXEz-3TB#<(Vo_L$Z7q|PM zm6is_J1<)M^_p&1Yr2*v{7yFmU`Jxt_GTQH?t*jX;Pkl`!^7zyi($^g1q3QVgBNFm z;MNl2CxM2Zv<-sOZ@6X9+rRB}feT4Q|J8X@mZ-Iv-;Gs$@zp~&-1JfX@1_rb6 zpnA6Q_FsPYe~rCaG!qa*vr_*0V-t!#e`+r4Kj-u(HZ(;ksxh;A^{aRFUvUEa>W#zJ zH{JAUeTUDcUAE$pw=)5*fAANh{o)cY6D(Xs7rVAe*|JWrn)hm^=SjoK6!ol*gJ;BmolCD>Dl|tJMpqQw*QxHCLgg%vvSLV`p@pYlzV>N zS;uu>YkKZdroTSv@;C3fqK^IN{LHXtwnRaol%HlUtJ~VxY3s)N5$@dg&wb){%F9dV zO#F*eJ1&8gMZ-St`Rv^b>R5;8x?TU|e>E%nK6UNrifijwpBp~^sNuBgc^l(b`M06h)T3@|IYMB9Xy$Zi$5`DHu6!oXbG9x<|O(3sF*F6^2?? zf9R}KcbGFRunA0Ug(#`w7F&pt0?W{_YcE9kh?k@WQJQ$A@itzf z4tXX+!;S(Jqd_4}+6#5;onP#E)uyYA)>kCr`{}|9Wc;>vipDbz=>6BN{B&RDdo5c4 zO=lV>PF}sX?ezUU%ZO~boefkxBh#6<=;BA1@B^2=6qBsyhbEBM&(H;7wtDMJ)*m1l zq2MMkLV$<)sK1du;QlptC;LWvR*M>9f&CJNgs_A_6KF%QH5(y-L_%a3i4Q@@+SCzD z@P_gQnlzkdjnQm3|A)z;3AFhjNH=|!plq7L)#n`zvO%EB7Xw=851_%*MTpp5BQi^d z3kWgS8vrYQ*VtqQU1QT_Mh?QRBqbOI8wB<^VnAyJf@MI6hNz(yQWWzu+_LL?KIVxv zhy;x$Esv9o*<{%*%ja~eW2uk#ZTHj%e6psga@J=rT^ZemozrIe&_Awg%B)zu_R3Y; zHr6luZ0VafAGw%Df|iU~`DjzmByAYZJbhLF(*;YP)|~9M{D7bATR4}!KH%;LE~(UX zA#%1K$r!s0lOF{5#UAWGGuj;@jz4^C(!^o>oO+UR-osluI*HmaiJS?xVMq`4J+lZ& zGRAJh&4nS(B^{d;0E**(ts}{q^cCLms(V_ZI4YTsq^qjdR&` z`@Hk%!fkriAd7hLh}U%Co^>s=A#6J2hK(z~o69zq_Z#r#>fDh@d)78AoVUgdl#qKf zGw<5_rGqtl)d%nky?Xv zRtVk}#)TGz#M_3&Xiiaq9zOXkwGu#1)SMPeDX`7+G^a=hDfJMxpM{VRNeKt4a_CS9 z-WG<^LlBXq6$m3d9HOFI!I7i>5tY4-nUhXk)M03z!>;(c&#O1)_v{Ifx;fq2`9H56 z(>2B@7V_k~>I|tXaGb6DS%Y{U(ww&AWXqA3xLa@0WLLZ#{AsS?nNBqr*Gu8?c#FL# zk2l(aY;g4hPTGh6A6zL;h#Udu2naU&PnbB7&J&R5jR{KM>WMX@Dvv8E@4%x})l8o- zweN%(HKQhvsjf_=l% zC3QER^5Q&y#;KSxD-8D4D7F@jb2%}~50l-JsaBtBYok8j zhA*kLnJ$JSugD2xcCCdIPXD~mKc>$#HwtEfCmA8LugMhwWu&WG?bIm5eTiBd?f`(4aI}IN|hOd+&L`xr4M1nlmztm)H;r=QBV` zfDFE-4WXw(j=33C<_nCMgdoU~nCbJwx4&jli73@x-?2t9=W*D=-_}{)0=}b6vev>1 z(qoL5=mh}EEGTFb;!X=aTm_P<6$o|#Av_LS_}f~6{^v+n)MUP+e0hbE#$*NQF~&=@ z0>LuaAgB?I(I8O?gsN_XK>E~b*RL>pNaqdI^^vN9j)b5*U;s{Ge_Am&H9-yi%5<+NoihvDbxoTz;L4(g=gCM%;`q;UqY)?aN zM~H$b2+Zbuw&c|#Ki<1Xhd^&+)3izV9I#+m&I;756wSS3wsYT1rKq8~va%)9FmTm| z8P9*7Y4_*L_dmDhMQTxjmEp{;2jdClW$}%_c1~Y3Z61>=0uR@$$Q6N|=CNh>&!779 zdo|qv3Iw&3U>yqPvCF32d&*l~#<+pFK7v-bnoFw3FGKmF#T*x^CMXFFhU9hYr>&T2n5^Y05{X9+N(nb3^!yO>!bIZ2;5f5yvSoV_4Wz9#;(>47QR<_F57FU61m z$yjvhxmPuv@eQ_jQ6(2;qT{+UX0eM~xrh_!uf2eNM6R6VGozZ*Ky+M-L;Yx|ipa@w zgA=01YYb#QLd~)v*xHDY{38;URj61t1f(}6;2Bz78v?e*F_0<8q0vQz6;Zrl*>f04 zFK>*oqeQL+4F95|WU|8PxmjgDW5E!KAnj6DUM9SwJSzTJF~ai${$HH?Ax?8YW5|#} zBL??6t>1`Lr8o~$elCW8J7VBuF@r_l*)8o+(gwnVc*H_+ufE4C_eqN32U0zlHdOsi z^6I$wcqSrpVmfbF>`Xd;)B3|I0lf+v0@7nTUXo`pRW<~4nvx)c>9HXY-7ra3Rd{k7 zOb;ULB!^CFuWVQF=OicPE#b~dWH4<7HW$jwFtiKJxWB_pLWVIN@QZG=_(i+(xZoG{ zshK`-vKTNQGHymqrT8N$;hJort`qNBnJyReC6_ILw%V|JTHEqvav_1irY!DhpA z;W;;#D@n`ccezXiTU(ihXUcKE%N6Ogne_{kFzQ(xmkS|$S4v0vMN2GpiIdeQx5yF+ z1F|~I6}=KJft#|p$fP~L!7+_wfIqE0|0AtENsl=I4~~v!*kD)$7{HzNY@ZCXZqEF;)LF(BI_iGD4OnG}pKv6uHwQm$SC}^kzpkML=FP#(a^%pN_rm#1R2e7cdB|Wk z<%>3ikXdgTKieO&Z7?(z0iHURn?6x_Fzg-jO$}XtfZPtl%FbuoI#5p)% zE0mPYI&luB0in&gcO0}e>DdZ*=ri3~))hF;(!B82l9L@VB0?*<{2%W|ZVIQlJW|L{ zxAE{$ry3I3Lu!;C?_O`=O3YgUSJS5T_h{`rfWz0{} z{`vnG%B_v+@1ZgyOD;3iZ3GdAlX?H;CazrmkCtJp$Z~=X)|E@+KSF+{SeRf~L7w6> zal#l!tTOM&qZq5q3y(c+$1XJg1s6|9nPj0kTgdo}{5RN@7yLtXB;;`IqLy5M8)idz zeG$t6%O3@i!3(n?5Z#c)kL3>`GB{y21d=5NvOgUa(nV8r=5NmPXPk-@zR+BhH0m&e z)BS={rORCPs^vn-GKfH7fBYn4J&@VNNiWw2xehrr=)Oos0J8)#+lGL2r>{Rn1I!mh zWXNnALIYNb1jyh(+YpF8C}*B2$H9Llgs6guIUHEaXDpx_#(Wye5+F`s>i1!#C3aeb zEXYY9L-AB5tz3?l|iCoEd=0bMYX|GhSeB;yz4zTHRC zKqMwCp>iQt5)EIPMBqPA}B9Z-WPOX7}$WD~(9&|)D+#CbpnneuWG3Xwkz%3$!@vtEf z-7qQvI8C627iD9dy&A77(-W_k&d8q-=GMKV5$Gt*E8kn~lG( zJhnkhi+^|SNgYFWEV#imEfmytdFca}zgBkJqCgwic}>N?XRTipXfrK%L?#)*Fg>>@ zM;}6K+c^6wL(t+TkpoaDA-Dkwb!X5p)y62SKAtduBEaIgTk>);O!80}VVKDCg#H(D z<@RwAUtT#qH@{K8MOl)TG@d27A)q|@46rb)k>y>?ECIuW#mn@fu{fGuw~=NbNHP}t zs#c61gi-9slZ)GfAWjTJmV2+t*snkpAg;Ng5@i@ZqlZWav9B9YtBru>1AHbM0yQuR zko_)`*%L=(w|9J=!7$knuo;elEOHziUobQTVN~6KGO0o_|0ALUIgU@^2T~!8Cp@O( zc@6Xq>8VJbvm?~kL_-$dj@-HZIcYmuq&p{(cZuGdL8DfON zBMSRt#<7*yh=E%~oERN^Y$#%6DmA=D|I32h{Qa+lLoBk08x`JgiU~P!|BDd(85ay; z4omm5vAMR4gMpAcj1mmnSzNPP9M zHVn$pg{;-zC%m(J$!;!13B5sWJM4swkBt!LHWt5daDVT)jj_*}$)1i}$$z`Wpm4Hz z`lcMg*_+czLYk<`n{?k#&Yv1>L2yy+hfO1fSAM%OQ}adp<2JUwja+@TsMZZ-JdB9B zNESqX*=&Zc=Q7MKh)E9v^U)AlzE~83fXMKcQA>SL{s3t&`v{KzB_1-DbW?fp$BeVn z17!q@gEDR^auHIlx90Xj%IcxxbL$n6VX1ux0wM!K0$TWIlbG<<4j^T=VBT+;hDRK?|<8*Wy=onP|P_dk!yHl3cxX zmoGkKcb4lXWC>x#C4(yCy2cDYx@0Cj3$Vo{GZ7Hk9B;@4*)XVmUEfP&Dh#?Wk`X{{ z7%rKCK*+|pjsfNklJO{&R6@vojLJC0C-E2+aq|7lzc+*AJ=UjYocRx=Aqbcbj9dRI zFWhu+i{kC$*}m}+Vo^o*joX)?Dr5{AW&N=Eg8& z*)kLJ(J)vB!uFVNW6;QgY&ICV@a!KnG7)gx!K7zFrX2SV8buCSoAnEmAUY7@G}s8? zyJ|e)i`-^0D4cBe@uW-Q@8iks+T7b>Pp_GO&`U;1@}(*Q+S@X=Yg3ty?QLPngYDYf zf-E0AyQb?uwFN;}bNnX_Bd2_$7m5X#GYFK6u`LMt&Bk_ZvLI@^HZu~m28ol{7R0h$ zo3yRAYrEE@jR(X@b_-&>CGs7=DPU~ZCY``nCvxv!k;6!RNJvzdK+XiV2yo~j zV2Oh5+T0q3B5+$4O7{Snx1>G4#ffxgwf6joM*EwjZ(rdbr_fqLx|DIP;o$q(@Q1ke zR39%Z1UIX3p@sTXA5SL9A!-L6UA6Ans7Xfac5SK$u}7BtGOLibt91pAb8B9>qsGbE zHlX3c0;i{|V2z7T1s<4TBRT~e>xBaUZsAItQzk6?;L03!pQYuI`}_p6q1Dr;_M1Gm zvRLky5QI_FM^)8~nqE_x-iM?(3teHw!&6Ii7gCDCLPsX{3tw z4a5myr2?Jr#tW$MQ zj#Qapg$XHbzJZ(< zYh$U=efCM##8Pd0J(xNk!J%fbaFil}$B;%h!EGHWBg*x45h6} z6pPAg?Lx*i&VNO&yjcHWtByt$!^R6ScbmTOeOdj!tWKyAo{X#(rMZ;VTHPx!N}md1 z*=)YDDmL#v!^hNUq!1f<(!$%b4kA4Vcrv=oLMO2a}4 zqvnqp8K+*6g-HyF(`g{WQg;?lQ4uK_71?#iGa1G|NN*V9r{nXGD~$rA;i1Z;NCXl{ zr9@$W8gWJkQAWsYM{%;;l;u=NF+lex>WVT~NQ1ll@Lkd2K@BnEKMxfX!@Ma_e zYHN$?^JCaZC5iT6%o{mbJ{mY8;FBR7pi_k44Qda@yd4{Yq7NMfDFkr>6w)4yK(PVv zW+Vb?s|B>b|#fZ2gR?^-3x?Rrr?=dX@h>eH*`ARL#JuhU39=GsT|24_h|xBZ0+lVXK`45y(Y|F-plBh1YcM8`4Wc`6od_DNgJXkGboYFv zm~8B-XUMhM4vWwMhzfuV(6b~#(8@a4AQb(D+;vTbRejf~_5|QA5&{b=8E%?z@yU^- zu%^K}AS-5Jb^8K~Cf%2=KcJVO`MaYk>R8@~QJ)#+=l#m>H{jnD+wW752hpF~!EN%OXS5*Z9nGdFz_S=pWDZTTcJ zm>q0wA}tqIl;$-%k`u5x$cbrPu+cK+bkqrUq^8FayG16W{TW9iRu3NHt3e0@d8b%pa z+t?AbbeYzk)aHjr1?W~pe1OQXo-70bk>v|9>>g=PwT-Ghk3?ue?WqoXchJ&mv-ezK zp`)sTSCUcn*KO^;`KBo&J~v8A%$03mBnxG6ZyRLAM>iWb56(XYUrSz?WniqR95SZI4WD>Bal)pC%9j%fz3Ixi!}1I$-VDe<`> zZ6YblrF6RoT{Is(QN8q!2Sh?NX8a}AkPd}TQexHUB6rck>tB_Hj%fz3l$UAMU$0_u zeHd7K-K8gh>w4MTt6#;?#FKgUp@}^>1A{9q-=-A96Jp3h$SWNsC9cEHs$28!x{guv z7$g=`Vg`&YY~_tN)dDWtkL0fZ)@_{2peLwp<>J}q#uPo~bez z#0+qv=*vgLa~Ub(59W(<*(?aw$!9w{X%CDhBD^q~+20XQuzq2`7GrOp_LR#8V765O zwp9ekLdcb?&+D>T7b2+sZj2=kLVp0QdU6V4iM%> zTg>M6i0cX*XLX+40=MIg&=N%d2gz`Sp>;k%a}Cm%VZV$z1pC42EnMxzBj&sxtjOGE zQ(7n_@@=!BEn|F9yjlA=S**Lh8 zCe53c(d-}p_cdEPW~XTOPyhRxbw}=S&59)~6S&96l`Fm5ygYd)LSx0|FKD|?n=q?- z>795rJ+ zPjtvd)zc@Anp#<$64?C(FT<+GRhGz&d{sP7-|DF~<5QLCV!<8}(v?Mp;srtA@za$h z@_iLdaaM)V&|6+=7?12Y%V)dtN`KH$5W%>Kel9wW7x1)%qD2=%C|RW2l=GGs25BCl zt`OpXRrqw5C{Z_@6~Tr28iy6(3sXEJ{?!wigFkE>J9Dx=7EsNQt^qZwH1;$gPb+ zAfXtfKw*D^afVAUTOh-clUnBbA=L~;fbNgw3n8+~a2tZ6yM2rleOSH#X%9wGnd+cL zBA~W#v<|~Q@MLEImP!odB(OO zP+Rudn0QSRNU02oV`GIuMw#Xrs9}F~UaI*R?Ds}NU|u>ZNn@-I(~4<_K}s+s4zgml zgNLXjO**C-a-|ZhY>5p5=?ADJLZD0%L8~bl8^o~+G6^(T2ge41bd$9#VdNUOz1Sd5 zR9t6)G9M9i3ZB>?klrQdB&e|BwwIICt5FbGSjlkHu)L4?B!v~Xy&x+_p>)+67000a z()9h-0sxoyjk0fqK4DNMWzY(cQIpQvQL!#3@vqnT6 z(!c*8{-jXd4-@yIlf;J|0!ve{-HNNN=4nDXQ`9R)PK+YqU>jx9`Kz`c*Rw=c&X5fO z>G4`QiL87Z8v?da36Pa*V?#i?P4o~tYD0M{HUwELZJG z3|NRlz`EAFmP>L1hKo2cN+Y#<2HmDPPABt>J7=)aa@r+Jk!6{Tb2~^Vl%D`TmO)WVi1MG{x@QpF6lC*B?NL3n1vk#DF*2Ngnc1& zR8&{ThM?$?bE_I#)FY3ZhjXHl2&gUU>0~sf=Prr%z&Il(fmvAF+^Q#4^A=@PLm)PU z?ULW&j8$c!S8Q2X8^J8m%B8Qb>DX+7ZDW=wgiUE0z#!zA%uv=wf-&6KH!?`rquZ}(+Ke)LS| zH$Tx<7&cQL&mNjNbw$~CQ5}VK}|s`jC2r^#ZsTL!dW4>6^;uXVuj_$^{$S#!Z)URt~+l(hxxNz zTg{f(OgW90Puo0JJI;t@GbOEOw@oo?u0a|z?3Yo88tX;dFe?jJdjMB8($Vew^WrQ0*af@020GS0=1{R z2E`sk8H?UN{gz)}Kb)UhbJ{DFE8ozq&B*t@x%korx2&{@h^aRLi(8Yp)$ZmfZQpn*i z@~qkfg=`|A&uY@MB%rNjp^QZkX4N$@Fv}h0e?oL1H>1xgSiPiGxV03Pa&P`$fAn+v zw$1LiPt=JGOk#UEeaH$4^vSh+9z*ZfwSVwU7-RThn-JaNLHsBqc@a~KKM%^}V9$of*9>vI`K|3XnF3&lSQes9;e2z2t-Pm2{1IK9B z(9n6m;)yixNgB%j`7E*g)Sq0v47CIOiL#xNLAC$m8H728Es-~OvgVk!a+pCz7anrY z^SAk}oan_|Y002Gp0b>qs1*C+2g*IeB24aYO0q`2P(N3Ot$&bvhd~qy``?J;3vuo_ z^SB(IIO*^DAeqGx^hGiPhzvtpHUy+Q3EW?pFt8$|8E}*U**{?r;7uV%cAT_ED953j zkzl$7uxvRVZ$GHa@v;K>6|~@tBU9T!yC>KVDv{NM!2xX1&e{#C74Nyzx)XKwD$Z)y zc!+4?z{3}HR*pz_=A^)sqCA{}JJd9%I9P3!@y;){8Ae+%!4z#*D)O<%wgGWVX2;Jk3WMzgsypx#`WKB{ zc7tIxQK6VXL}V}+HUy-*{oO2B{zr%m;}SN6+W01)avTf*Aq*B17BEZG^KOifF5H>RbWzlk$GcgD2TylHFi6=!@t*6NOO??B;W z6-(MWiB4I5VIBXq4Ys^UA1}u5cTdvRXGP%EBQ7$PknB}AP()j1AuKPpPS>(xac+Ab zRi!-!4(U?Hwf)@yQ#Jw`k@Bnv+yul$ChfrxBu9|5D$hn65u8=okxNgn$YMl9w`Q>P z{5?ko9V8Tr$^-Y`acqtf6OkRKfXPb^e@J<0h>U|dQ3zxiRZ5m_R2&P8GD7R$%qLaI zLao*d;ci$Qj6^jdJ@>swlrO3^w;>#>w3GlDOhPjsQz5mXW*Lw-)B;{lR6Juihb!iw za_4ObNbiz!3RFr}6+cP68HIqQ6jx6*Pbr1z;XDlgx*JqEX0BhfYuTv5KIHHVw5y=rjwjekpkO55OG@r)L?UzKxItMU;t{eqUdfv7ZZ)T>bz9e z1p6&f5F`zQBq;1pF-bjBJ97R%_Pzwpj-vSgEoX#~ESNwzvk-xBg?(?&Aj|875C}(3 zau^IrARCg9ix3DR!jnTGAOsW<5;gnz?3?MDo^Mz6QC-#7V1@_70|!$ei;V6>VgYOnW=D<>0_hLz>3^k^vmhZ?<7%iALZ^8T#^JCAG!67x+sfFjs@G&$!pl-(6lvAz->r`!! zx415-gbnP7KoZORQJWVKiNfwXDRqG6#B{aD$?(8|#74$dgA<7bP{s`~p#HHw!}cfv z9A$B`;mr{q1Vc|;KMyGCmr5KOM&=dxU0C8~Jk8`%S8jnaou<)}KIAOZ5vI?qg>p$m zz}zDHht^%$l96|%bkh-9!{uvzTUk1PJY^oZ+jw_CsY9|ZmTIF)F{-Xr`c8%P+1$P4 z&Bzuwn;VwsC<>mvtxn^HBeIbq5A1HzCt@Q(9?z|YBf`gX6G0#G-GT>ktL2u%W}m)z z`uvkyTMlY!?jv7QYx5ylJfOSKsMIbU(A|{wfbK^9zQUE~b>}7bN|VDm*%EhjNyuM$ zK=NDR&Es^&<#n}o)$Q1W0%9}P9zpUh3bnm8OAj_Zy zN@Ik6t!;jwuk?eN#OV|vazlL(6kyIEOiMx_p@a*`#xt_)0&@$TbAnZA+Npt?vOh#J zngT}|lMuL!6n2x!BBL3dGn~|LPL2^ei3r_I*a=|`F-Eoz!O%y~37ogf1St26ZE&>E zkrNRxx03qV34m9I1A2rqf-Qj`FRbCR80#fMC!FXFB7-fF^C1}e>dMua$~|Kn=v2j# zLSGXhlC$r#AGHk{d($Mq)1V1I#7h3%o`3mP>wqIg)3`nNxP&XdHHQOaP`Q*!KY^5> zM!XOPI>$T3GMp1M=!IMqV&7R`e`w!J@*+3>xqFVdu5xHwHbyZN#J3)L^Rr)hCJ6$| zCMS;G;|Cx2zU$ZRldfEO!H}A@WJ(@+`>I=WdztUr8!M$z4f|IJfl~GmfQez2LdtC+P)(YCwB)?|CT@42SlMUd)gK);H$c$aesRWS z2lU!f?0fwl&#rjL(($?PYNa%eMz!cYqvdD+{_H%0j(-)Usupai29>3L54+rW5SL12 zX|#!)i}$e7chSw?-SUy7zSg3Xlz5j=du*m5sQq0v# z36=&zq?Qt~J7nj%*n+_YCE2?yNxM z3-T7n4Rf_Zf8YKGyoWIK50W}J1qpwuKs0jU$#YNL_vn)bh;NFc-+1Q0B!rIQ+du66 z`q#GEOB~bVl+C|6?Umx#$=84F?H67lrPK1{UDNwqI61(S60gXKu>n3TUVPy1e)034 zaZWxgPPuf)wt4GMsTi4LG>x`eREB^BwwVClJKA3ua>#SruNwRSgmbyp7y3T9{=6{( zh7+$SW5XNIju^J?=}(C_&%D2W)z7Ug|GH?|+aE93S)9Mw+Ly*%W9bzmH~J86IOQjQ zKmCZk!~^d>epPA9%I!YNy{2;;7d`)tllB(74fxZ5^grw?9(jA`(QA8KS$1FisjvQd(ID}eYt}FO`2Hjg zZJv^hrZ+!Ooc-_vGfuuV3Bk&E{fGP3yz|W$i#2agU2*kse5tM>k?rTa1AiIvjmk+iM7JB&o5cyhV&iifN7GO|(z8fyWga)=L$@PyMb ze$17iP4Dl6_^^28b;myU{l45akAXBKTQ*IZdYh$ti*awg^V2K8^=kVM7frnT%Kv+r z+S!U5zVp$SJBA8>;_eg6N^|bBP4gbUzbJ;EJ?7^xtWV0Qj^YCkJazN%I}Z`>{Hg!1 z*MIAc_U-?1+PQb${hY~Y`FXy9KilbvyBaHIg-qf6;F+g>>B`k-_7P9t^5gq=TxD4~ zezTKy7<6H;;PK(Fe)x?~%?(^x{2`LEP`laiYns0LtIdNa53gT&!F@>(*yMK-vmZF| zuSfsk*Xaop)b$ z;ng+4%L7H9$KSJbzkKk-N?ADX!s)?PKiEC^*D1xZzgU+9fl|IvJoo$$I{JRFwtZ@F z!Anzqegl=|m(HI1t6XVj1}W>FeCpz9yB)You>GTZUw+^FmX$xBdBeRUU)(u3{K_|9 z?Q@T%S1x6Jwz8}iug$+dx1*GD%END+H6$dZDa#;<1$vGuqR`N?-`96}Mr<1l{q?f_ zw-H<#pPfoT72aS$f$4mi$8_FGqJilg^OcxAkfjbIdmKP23z)SMW^b z=QgaD4kmneIO!U>t~-2mjSM}b*UKL$Wai5WwsZpv8rgJ=J_JKgbUbzX`bVi5jqG~G zi3nJEdkDZ{E-NOG(m~gpfD@hTTK`-lgHODH-E++enB?e%^V~*y${GT8Fqqh02s5;s z0-Aav^Qo8(In{>s%DG})1V#EanZe-+W)oGGSK&C;g(o_~(f~D@^}5iNjDXVKcAuA-uEh{^QP@ zStC|0llJfRl_OK`B`CcRFZ$MQxY_+5rN^IGv$nl`$rUeLIQlL!Q!d{#*ZgjAe8AuI zhEYaPl2ZNZQ^mf^Wf|z9dvR?IF-p>>emR1b(S2eotfpsK;nt+T5U_KU6Nk-1)2aQ%~*_E3G*JP`J<2hHN8OBjcBQdL?Dr_mKZ^ z#I|Q`uCnOmZg=@%qouv9g~c?qSiMfV?G2!Ph9I z9m)tj8*&m^Cvp@ZM(AbG5!v)?J_JKgT>N2EqTB;>egiKb(RHu6J64ZqWaz27W$}m^ zF+UuNHnjev^NUA}R@fL8k3df)rvT&Ev2~|(=WP~zfUHT}Pin_S%{u?|GU+?Kku{AFMww-PDm*B!&Ho%isOmSzC&yF6+5yr_eGYU(G4QrhY_fICC@b z9XqSx(Y8!tLp{f?#@K7VHto{^{v=37(+JWlG{DAk+>^@DtcDBxX|pFNV`F*k9M$Fw zCmKX#Gdku$@OD8_K%yWrIDRn*WxGv+iQZ7TK=+uz1Q_`2K0p2T_7Anc)Z?VTUVW3D zr!gx?gJ_x_ij*-tI)>|HBle8X{_(&nGC`Z})C1u)+WgQe|A1@g9uXq71&T?K;sQb^ z9J!p&oc5XD$U@AOq%?}b2jTM>VjvC4W}wjw24YRp>@H=LaKWvQsOf1OAQ#AlC>_0e zYMG~dtdg-+e--nsj%rD!W|qI_FFjr@zOcTy>)oqMCtl?5#$ZR`+G5rI7kqj0mN{|M zn~mpu`J=V%tA9Ox1h2P}A$0&tI`w zK~#p&QPg89Gjjs4a7EXC)Qz=0zvn8ss5`J}CEQ^-Hjdir@e3ZfI4}CV_xDkEe|t6| z?BDyxfBDTvL&am?{p}l9d~DY$CE!{kpvi}D#Dpogp84G2;(%W^9r@1(Do3W=Yp(w4 zF?SsKm&3)OSN?PT`t~FQtRc&bXWYE)?{@9`TKl_q?*5sxc6gb_p?~m`$o!#_O+LR;#A-Ya)8yg2mE9pCwG5{EWDtIuk+kVB3HA%B|$ z(NV2Ig9!V zBE%VY?Xb`EKPPA4p~o!Seson%xQAxi9`%Dg{`K?$15yl%#RwiQkn?MDxhu=`sJ-O- zp6{;URz2?;aLY9?!Ky(lXNuTS++3E;_sVbuW5M>s;!nx9NVORY(^xUJRvpJDNL&ec zPGL8C8Y>1n1~Xn`IO$;eCm0JUa=M$Y8$x98Q+)_X=UcyAEH{M6U|z-`sNsiPDKGSE zDUhjL8mhtw5vM}qhJHGV%52N!))kL>`r4oT?_CK-+2xnYOVWW&h~Xm0at!76oP3zkL(KUE%==iBz=<`b4z7cQ=K6EGo6 z2L{o;RYrSkC*O#idbpz`QZa5)Au$RdHrK;MY+jpGh#aENvX4_YuT3f>T&MIsHtjA{ zA+oMILtVMtvacT+yPvdA)=iwa5NyLP4>dz$CC?^K(b-L$`MRo5gIZAVJ!Oy-C@89PzIV) z5;x>BQLH8f@KeyAo5t1#AwAKPas-VDU`+=L?V2(c8ccJRJJ=rJH-f3ioM$T1XMV@z zi$fwC^gn1SQVS4qqa3lE0Lchi7@f*Q1gt=`W{Ae%9r)6OzzLTN$Tpy@uEr`A3pwHL zZD*`u(7`?gq<65vfl7EbD%dxS;2Cx(gG}XOTs(ttXA*B%E;-?Xv#u;n7v=()5T&Ch zg03&4K7H*3m`F9++34bwk(>|13ff*|#dB7PlX*1jvRQeVfoX#1y^ zZ+F+#R0%(N=lX_XfhK}tMR15%`3iNXo>zQn{Fb8cq~(`|CxS{(y>rAjw>VI&t(o_u zY!g9O?Q*P4QjSN=D^@fSH0I#h-?~<=;Jxsf%l~+*oCs>|^|KSh6G2~U+h^}=6G4;J z{L3o`i$@tJdRj)(bx%kNJ-H#lVutQADG~j?R3cg?K4l@B zdMrJZD8D5c%PSH7ni_C#yH@_;8fA=N8<3`CkrBS8@sLqEAw{W|nM=Bs@y#TafgH&z zwt~Us5zOM}6v!&~jFb1FF6*(d`1y_`=Ir8U_Mr}{D&4X8`KB`ZEcrv@Xr*ywE$Qc; zw*2U4_dF#C<$2j#s&&RL99tm*)~;#+@EB%^p+U~bu|cdG@S*Xi$BJ*=zI5T&m(L6^ zcJT1O*8cmIQE-O9UY3r}eOHpP{?Vsf*NwV)l+ZCp&kXd{`-3vkr@!z+<3)VMd}v%? zIO$597?<=oc(Z0^Q2tHiB=Vtgs-)&a;|VySR4})V2WvQKo5>K6p45zDkc~s?K|o_D zq*X!~@wdpcYYcG&M9yMnfidJo$Yy34y#z9C+;-Npj$Wct&|3wSL1m9jS4&1WO~p|T zsT-^|yh1vWSOBZ^rg8L5w*?q zhA)~vuhnj^QyHRwsT$_@oAU2#K6BPZLK5ZQ*g#+GPs!e@JIsn|vGwQs)a`T24fnxw zK3rf%UEP=CLo(}Bt_>)h-0S?y8^3vxcy7#fH(ox`a&qpjC*3#v?u*2_H?Mf_`&FZY zc$g@aWQ5_k+l`FDNRCi)-$fbMk$w1&z5^Gl?@c=KGJR)KBOoU^#)-gEV00&07QoyC z3)F{z^ioT}-uDJ6_rRj8H@rm=N-l)WJ)n0K-I`)zrx{Q}8NmWYPI89^PReU86cA=~ zClU)Fve_BnK|thEQ^4N$1}XPI%|B_7qX;DzqI+^LY_TFMxyHarx($VAbSDxE$m|2? zynf(=AUb=!Oi<+?K!YQ@47rQEQ*tSofjI&6E~tJ0RDuisQaXA(bGg)Dak}4be%8CU z3ccm)qh_AIxJCVFQhs+yirw`U{`xoSeWmH~u%oCd|JkTVPM&!)HdL!X4bLTWH5ZaV z{Pw#4YaM(1o47~|)m({v?VG*tqUjJer^0(zJv?iQROLPHI{MD$<1Hr}PL=O=(Ac4J zFtqsIwoA*Y^2%kb*Ao9vs`4vMr*CS2RppiE-v6*F?_BQv=d1ENGpq9UZI*ub*uh`; z{-LJg!KE}IFyWH9CS6!OQiNKSf8V3Zm5r(_XV{|z>RhQ~W1`na)$w(G$9(#JsgBQj zT(o{zvPw|Cr2b0!mwq~mYmWKLke|pexSzgcvpcKqm2*?=^L9{kRVGU5>{a8g2z|kw zy-z^)hSc$*k#F2^zf{M!-_-Yo(c>*AclGM^?k&=?7LV^e{@Kkx3CkLHX?*47J4Y#X z{OIR)I3R3UPwg>yZD?O{FQ?;k?-g^e*@u91jS#hqy}*=v zsV(d7$UUZxA)6Wki8S^!yZ3z z$D9DSTnB z6#DCEM|YH8AyP;2s3}V?`puGY_nPN!XOrt_R~h&t4_C^VhXqi>7A$FHON<0;_E+2|XY2@p6l<$w7K6|dkMT|a?Cy-)amrhvq>;;o>p|G=j zVM6Po#j{VIK35MF+I%R~?iBY>CzMy?Sw}5cH2drY^B2dwsbFIs>vtRC-X%`+b#d<+ ze(RcLA)9QDfj8x+KTBxJ@7UJ)Ed?r238M+Dv?4SUFR#CY=#~J)jb^8!=bKe!qHNSr z8!QP^Z%{Ug{yP+#L%+aK@KVAXxMJh8^T60loOq=(g%ggkX7IUcE_ZsG%Wg7~+gu9% z=8~t}rFxG|N(zh>7MqkLK~0UemqM)?Z{~G9TvYgSb6j&N4Bm*F%PvwfZ-uRmtMMi? z3*}o&VQ}2LCZ8JWG1ny+R7NDo7*LVjVu;X8yicwn93IG=3jdYDf$%^#(9zh!0dEsK zWkdLJ#SNhj8$tp51ev!`$*E7kqHBz_gF1>sMHH&a=DqrcK@Cd3@Rm?$9@G#jE`w0e zvot2Iq#0gVM_`#`n#-h_Z(@yykP5Zz4U=wteLu;gr|a?N98**Js0ILql9M zB2HtQk>R$`h&5kg=~_+%8AB85LwRc=<(on@j5nC&2gPM{j9+g%07~1EFjgb=3Bz!< zVN75uGhRw~16SK8xF!+OP3)9SVa2AVu&F78sy$Wj5DhDBcQ=J^pn0@mn!-;uHHA%0 zAyn-*WK($Q0s;E`lWz)Y5ygF;rcfoB+FJfgcVDd?QJomu5TLkz1DRKWa(~oynPm(( zghq6D*$yq21A}LhdC8Pq#-M{AdN?6ETQE@$ACX}hgAd^~Ofds;y-wbTK=eXTj!owo z@(jxod3g$`k`7iz7;rFUM zQ6FQPF^~}U`N3Y#&6p$U)lcW|Xtv+-3t`0Gl8l3=eg6BuJM&_R0DpnGdM+qqwfJXl zhMIS6|2r(9DLOA?`ap3lV?{WSRt30pCsHK=6hRKe%ItlB=_S1mEQ0FjxIjImKceRZ(UNWu8MKTK;T|;YGa!SO@gWeM$x@DQK z-A4>Nz?@BIwJ|#~x5NOVLCm+pRr~z8>M+@Q`DzMm?XZ!e@cQY0au zjO&V@z2n&-s#X8uz`jeu(|1gBCCW&gK;57^aBL9GjxYr|sTK!c`;Wd-hZgIPS^Gj% zhmIBIty1{y*n7-v=&@#*a?deNUh~jnAq^3cp~vze5Z%_8a-jMdB0~@4L-1J)<=_z+ z7RLDyh+YoLeMTidSktY#cB4f?SmLPBXgtoHpGmV8C6b0BP&!)e-&;m|fZ881U!S(^ zst%3Z6P?P~bV5W*lCP;{o#g~!UMhuNj=#m?`!6;|S;LIa2cTkZK+~pX!VqR%ARs!U zmqDh=%#6__1T67tQKiv!SZr0=;xJ5%?f)tv-FGEU$QVtl(i?yGi=C7)y2F=mSBezt zUdgC*VNx#nI3POaHW{P5dqQLMk8GVcA$V>`MrMqT4LmOxvd!&XU=d(@{35_H!n{y2 z*OV7b2Q0?>%cu^eEokCeSsrSL+ggq8l6-3qxrVQ$C-F%cS8x$3&p1e7*`eC(<=d`P zTJcic+<-b?CFrzG1C~Svn`W!oztuL)IoD1qXVWBQw%u9*>gK3Q)e2UhYH{lu=WCnh z53@fmXVWBdLNyB1lTX3<6k<7iY~;-HV2Y2BGuSj>dH4{>^2mS;mWL04=;g$BpQ-j0 zUI>(-=LbMsoPxtqCYhAOP-fwfe%Z1j3>aK?Bjd!SJCRs`qy($N2Vs}$R}5`45IhnK z!B~hcnlurFyEGKrl6h(~u*3l)VUiLQiEr-$(HnyZgpWYbpc#A+z8xAqSV^}T2u&R! zqU-8PE(&JUx?x%0N&KJ_z3qAs5UE*$f2jfDqAToh9cz z@)x=x1I-C$zP(#W=ex*U{@f5|pgF8A7DkZ71=>3%&n+f0YKt znrTugoeeimIH1>)8 z4_UGD>f)bQfBfjacKv!T|IE@a4zgz~l^8%Yh@2E2{pg}cpPzk!ICQTa{v2MvzV*oi zw)xyq7l_~Add+bM{4Htt$|gWE*4=obq)KCP?2(h@Ng_!I9mRzwUH7ZU<@rM^+viPD z17O=OzWN1u))EcffAhG-U+s74#K5Li{*E}QAN%cB*RMbF0y%8Ih0K0tNJT(8iaQ>; z{>Rr|+gr?DeA*B-0QR{PfAOdA0N9Tv2ehk-c3+PRVYxTXS5GA;-`MO*xu)N8qQ6!9 z>IGuuRcfujrN@CeG(?7v3&$WJGQ3r}aY?yHW@|}*gNAl*IBeKJH1~3QsHgMq$2jxV zf}$+B2OXI-pi6qGxSd|oGJX)HV~XCZ%spe~B1Fyu4G^`oGTaMk9;oayX6vjIetpOV zuU{Z4gRsXvLHv&5E}tHELBDJFq>&VM+*1kSrTw*fRh@hAh-{%%3PN4ku?VWTMz(bJ zOoX~RwMI4DnFw`tN{?4|Cc>~U3mG?;>!vdi9+erSGK*(a4@tuD(~a;)ZL#~jp65o+MEJ1r7iWEK0-lM6rtq27ILwGPE$Yk zIq~e&k3)_PNEuB}rXM3K{7i%z%)Ts6K1}}mAc!8zUo27OA8-u=FgfHd61(J5u=?c$ z(7PZ50jLBQ{H1jC+}UFu-LLe%(*N@8vBitzkvM9Na`&ByFz5QqA9;L#qvoQs_$8Tm z=#M1mhBFb~-1}=!tdy#p&*E=5Ro+c!BK%LP^2m^_Fx9FQs$TK8sBmGt?0-^~cP{t- z^HsUXtja%;GZB92QRT|YV&h2Kn)jcH(0su6_Bs22b2oxB5nj6PkB5J8yK^IFBFx== zw>OR(b#7-%+Eg1GPa!)p}P{rgfRD-eF#X`??&z77)T&d?xnV@ zyCe6QI_75|Xd$Kf%jsU}@Bx{>c^?GQ@r_EaAfz&aVEmAJnFbg%ByyZ z($W%r_@i21qW{)>QJ6ctnjlU)-*6ueVBi%ZRCXr9;~uUyor%y#W@Bh`zueWPwx(}7 z6Jee@17d@11)qe?pNu<2-FY`4@_0YO9^k_+C2^7Hx)O8O=lvQu4B`g2=>eh)qmuh zqFpSUwO|iGz^+CgmH|iS;P!HRCc-QnN2hfd*aEyw!Sn@(x=qBqma1os?&^FOMwj^zR| zfw3YSCael@=}x3d0w{u9hafBS(@Za=ITPVdtfM)XC8CcDDq%>+!FC0!A|wLrQXA_c zj5cckav6|8%lHt8&SWVk0P+l4#)lwfQNt7RPw3ywKW@SOkrkYQ4IO6T-__g?`@$q% zD9P^H)l5pCaYFPAN`HfQCrRtRL$YEOf>mzRoiKzBY-o%g0^+xjedl22q;^Y6>3j?khm z-)U5+^)%|oq|GIEXUL4VdLOiQ%j=7;te-lu<-@fkA^TiGvVd5M1-*3Py(lL{XWL>D zp%J+b5%``RjUd~3EWHdo)eq7jsrMyKd$Mt#TW~!Mm1oK9OA;pWQW+-T5z5%0W&ADX zp4DYY&%CRv5fPp_Pp)hV?F)NOaUd-rzK<-4XUaX$AQB<1{Zr%@_2 z$VFy2cE+HDF-RW*(XHA~Dn~lS29&T5p)+njY<2P>5IvDoia>R5uqI^~Gyy1FnTOr4 zNg(BR;P8S>%Ze~yaA~G-9hdGzVgaip^#dP7zb_&rUKvhIkf32u&kKQ*l(~wbt!f9o zkRu4rM#&|R%I&tZX5^w+H%SvBdX{Zy(9(SnzMXHed;rmAAT)J^h^|*IxhR-{-EdS& z9&|&S$w1Bu(mQe1j1R)MUB?yO3E2z;?SK%`Ge0yS%&UfcJa$C1h@3OOIs4N>sJ6q%J zT#9Q)T6#pRctXh~qpFZpIp42LSp6r>-0*P=GML*+{>%05(@&qJ4oo<5?)1}7KYrHi zlTV%Bdiv=tb$Vr&nhw&hdw)X7#m1@Nxny%2`L1S_v8m?hVMVWAk3Us@F-}Dt);f3b z^pJSM>G^_WIoW9V!qd)(K!O1O!!Gjtb z^m!5L+X%yEpT2nd{F7T-Wl4jKDL7YKpH;!B zk+*QcnW%a?FycM#rJf?Yu*DtO%?%68t8hVj%>s7v@u!MOn?+Q-A&gGp^Q-2J_Mu(69f14G9g56&~bbSVyMv1vmk@X=R+X+ z34uOmsY3{bIvP%gNRETz=ZBJ?q5pZu$Ej zf4V(gZil_WQoYz>_aDv~ao^;?&y9M5*;*}LhYxwQ<02O4y_81*n;|w0A(dM!E0R9` zxau?dw~Yy$q{;-ya>|4ESSnNqfl}rKpnC=>g0VrF)ZIt2C_&1)5q~)I)8~AU7Z3J7 z_v0^q#!B;#FHe~E=1Q164#lZbbX z0j@JaH~1hNdMQhWG?s-Zjq5~SgC*dDAo@`OFD-AFiV<3`4?-MoxXuC%t=9*Ebde#i z>uR-NUWoC)btY)A;B!6*LoY>k270ra6hocqdn<+LM#WGEHhc+LVNT|n38vT?-76!^ zpJ|;_SFd9s1b2ZV5GZ92NRpl--4N2KKf(y#SUlz7Z6_c3JiM441Rnpcjd>!{zl*il z!hEoMvaz9Zv`wfG0mZ2n0El4*pVIu?Oujy#?pgI2lJ_P=Z0YGQ{(H%nK7D+|_GW2D zf+S=8E3X$my!D?(6{hebjEP<3CU#msf;a(xu+8{Fi9;TkyVZhuG_-WaEX5KL;e7;I z33YCR|45uL&xPo$ruk469g&-KBp(7c&>#acbQ(Scq}OCXhCaiGfMX6RkV*UIq0c}F z-gF}wibal|4@Mw55K0pQe3I>I@swUt!?JODNe$}4@vx)LSgeMp=zKsK*2_$fA2sUO zaV>duFAtkKc51$**4&R(_q$5EiZXTNkmHV!1T{Xa2VdpbtAtR)qC3eb)IjnwAV(iJ zte>bGNTEC2M2%e69bTeF*2}Kq{7lCU6X|>+jcnY{sGI2^2kCr7jqG}#5d@!qr|U`l zkE@8#jq@SbWXKKI_v8rZ#c_H(w?IXnK@s^7ke=w=*`&B4BBw0L#UuqG0L(K4lSUCq zA)SFHbXBb>?s#BX+@XBI2jS2omBD6Mr3}j+drukSx}FgT9HCQ|g@g+_fs+4wGa(qdl@k z8DPe6s*yx%IKBP--^}^)MFnx?Q~eeXy?IO^AC~#+D89BsulrXWo)g0t9NBu^`)k|( z@b#rH-_&#yc@{sr?8z_ge{hD*u`uDfIR`!dab8?BK7>7Qe|U$dZfO(`y>-r3Pm0QUrrh%yPVrgTQPkhvxORE*!Qh`r^88QQ6d5WHYmfnZ`O3npxsNmg|J4Peqp^D~x?Nyc2Qlx7sN(#aDpC1Nva zGf7#et*Wm?S#ju@jO=>NX9^=*XK3Aeqjs5eD0C(x8^)R>DW3kTPX)4gpQJ! zQCvy{X3}P9424>)!0wICZXsQ>`W0J!Fmdk{Gq8{^3n7jBw9u4+Xed_dy>w>=LJPhi z%8Gs<=^$kWF9^0b*2O^RntAB)oq%reK_FchZwgn%mJPUt6+2SAY*?knYL=;TgQX!^ z(Pc24SK{#=I;I)DS}DyK(0HLEC1wlm#J0+0yIEPV_Bp2m_kRbAp!VtvYlva)A1guEp zq>XVROHhMzI;I$RMH$`k0giyk!NedAB$kHAU=#Wf#89E%&Vmdko)3ZOY;rG_Ss+r0 z8y!AWXnKl?$}V37+O*Lu0&VV&MWDJ?n^FG_xCRu8pZ(f)tL6xIsfyP>YK{=rF6hsQ z^^!rFCDfF#QsRn8J;Qm!-Q~ScDQO^&UXrtgvwqy?v5EWGWw{b5=8xnN@R0Srl9>9e z4Q%6um-qd{VY?q(C(ig)ueW;NVOyN9&cv|ikfYzX}|f6^ZTkVBx8zZ@j`&%#4F}D(|b0zH3D&% zL02=q#}Irvyd2}mGnk@21f=tRrxIkaM12UpzOoE5l{n}nM5tl85kcVX3nLI62qo5Q zW3-B|7EkG=-KygCk|dkmUP>L20@+rQNx=L$Pc=;LbxuLFtvTt4?eQOj$-tr6X+rLhXzV*!(Kz>^Nga_|>LMf12o)~&|Sb?1X@z5*er`3b<>D#BoNqGfgUodyp zc{AqC1Mt9hAomWwx~Kd&xQM*!BVf71P}=aJ@Md7k9X!^dW{@eV>4lO(?;%dKY?7|8H>OZHGWTGNv$iaR)QM@K zRrZBP*(F5qnXC7EWk6C1*aNg!{*l&6eSnq=WI|T0o?ny8eJH7M?q-#wD;v-AZL2n; z7ra{|Z7LE({_!wSqrV;PDg*D7$;WY}XiBq>Y#Fv-N$cFP3zig=Uo5XJdBv?sou%l{%hal`Q>ZBNAanf60mhLe{dt21B;fZe^xk0elK#d;L$yS4zlTw%4bkwF z^af?e>c3L6fa~#rzIuN!lW5s3S#!=S(XU)MkHeX*GV{m(m6@5VdH^Hk2tEX)*PIl@V8oLU8AdaG2zY)$7GyBueF#WTlN+&;U=xrw zlaxvIqTzxwulP?!AX_!Bqt+O!WMOMyUiDlkSpg9!?8eVxtGYwiwTu&KkLx5j-A&gG zxrOaRKziGZzS5OU>JpGw>v!bz;+Si)#pVXj!KAnh;} zapDeLk4};WIfLqpd+u3FOT<-IH?cz(e(w=Z4z_2rh1x!}8!j5Kt8 z?rF=9es<531K%4!M;Rl>7m$oPUdb#+C=UitWnBfgsuo_Y6|tk^1(K< zf_R)5DnZl66b_+XT|B;EnoTkW%q0=DyTCF80nlbCV2JMG#Doai-I@}DaG-0lWQe#!Yp}hRwj5La1Ti)Xw%xw$~g{!(9>oIF$ES&q9%qXBbYrQ zi4YYwv6AUlV-sgYtWmfi-mubUrO_j!czi*K&VZspf_As3gdiN~NKK0(5{01M?I|G$ zJr0P+7lh~p;kzMdcY8_*!hsG+<3l7mLA%>iI7Dfj(64Yh;l$h!G#COt2&7M&6U2bT zlL#7GuMYy3K4pT2*6V{n`kl5?#m5qhaeo4JD%Rgx5QGJ?uD88bHkEVH%=@kXBlbp9|=wDvLVM3Nhj z)7hVzlLDS!z-?(fzku7`EX_!eWUO<}FG%4>u=5MZ#!l-;5GUXdwi&xMg>S{qFQDP; zw7wO2G~hoXCvD7gA^MCUlC3@h)+p#Ud|_M)??oU`$}V(0BWWlCrUU-r{vJC_k}EwK;ht~2 zz3Rjto)Rc<|DX3{1oBzT$q2%a!Jf#R)?FB#jL8obl@rk%I#!N-Cb zS~!TvbTR@*z>^X7`09fnUOm;O7zT;EC;Q)PIK{oC3Jun5E-#+hv0A8;5q22x%v*PCprbJj6~8mw!-RQX+q#W zFB3u;!7#&<5jZE3u4UXKLk$7l9)qCEOP-978JSK-;0TDU<>qq*Wio>_lQGQDPECa1 z1>-f$f-WBwEPGQg{j#hK^Dg*}7RLpNt@EVhMLtmN0gNCnJ2<+WT5cJk}sYPXN{-LAxg-gdh-FOB3-kFyo?ETQ=YpqK}pc!ONx#`?CUA8j=-V z)9$c35coH{>?8E3bV#vMnlT{bs-%_@0lT6Gx+f!qSkW~QPfTb_nr%atLj9SU@x+r6 z5+OQ@-PWJk8B$%Ae`eB1-!PVLg^Ju!S=y5ks<-;?7ki(}pd&BZlM&oUw&so>J?3BX zWCYxa_%`xW*v){H zLxAa7b;>XxMpVO`s_ zyfoGHek30i0rL{ZrutXK>z`C7BkV3=eM*UrQAnwmZ#`qzC+D*1@rX<$kAO#3 zUt?5rGJ<)I)G}Ap9&|Fo@Nb{B^}5?ECwMYK_GJ;y$p|TyMX-|*XlTkTiwMd{jl>arI$THg{2Cz$q1C&=41qcDJ5Nrlky5A0>fQYj6fA02wBF$-IEbQE4;KfGkmBS zBbgCknu%AeQFJnbM*1#8km@3qUIw0W&s8{FNk$O5G56e)5kj13H&mXCpk*A?8bp}# z5oGSc7$=>K5DOu-YAoFcE9olx02-D*NQkz14X^inla)*a!h13TwF7f9f{47DiePK= z`8B!RNAle`ceBdS6HZ3(&e5{YAY^2gXSSoLGVm^$d>mK**(W22nL(29@SGO(Qqeo_ zmCmdX2WsQp|CO0ps(g1IWFD`PCQDOh=1(im%>T5L5lTrDv8Xt@ws!vPzcxdI)(V?x z*JY^MTdsU>-^mEu$!Aid%kP#=9dh#G*=M$Lt^y#1oEN(4=b22M)GqtfI3LNuJS;6v+87sH0L4& zrwa9Eep{zHyKvlsV zEMdY0XHfm;BG6t0V`!=RU~E8%Cfy)16t)kcWKzt64E~o70qME=^gNq2shArKp@hwq(aYormAF~8R4D?M zc(nlVj&}D{y<9Hst{~zB{IA;SRH)Pl=33GbCs@ z1%Au^VhtJmVdF2(`q~4F#D^~p6n$nKNSyp^`N|_3zqm-;_KPzvJD}H=L@$dfA1WC) zm)8OL+95~&VDb({%cQ0u#80-K z{N+7&{dC~GUM@h;^<^Py777@0>X!i;G>H#F(zTmDb6^H&P$fQy(t=JvgD&wwNV?9} zKxE(=l!FhV-@;Bn!*H+<0_kFCdalj#b{~Y84_v2!rY2^Vw-dzS3EWXrf+TbJM|2>h z?5VXPF{_qxC=F+2KD2`aj|ec)#49#2v%FnG>!!pZWOaz8m%}G$FavxLL_a12*TxP& z?l=TW!|7$%Ca$6NQigB{QwG7v3|vF&#bV?TVxG|aae5i1mAwiz1X`~T0_ioQGjMG- zrx@-yM2Cl73D;(okPiasYcgnxC4JI<%$r$qP?gPSEy#@Zo>0 z{r4-Q0!%aMN-{##kbcCko^D+?>gFT_lyO~=nb>40ru8F;6X*wUz#?~Cf-J~MwJ;t{ zd%QWt6k~U|iJ<7Z!%Ni2py;~TNz};Xe#W|)(l(BzV{MJQV$(B<$b%q}^~)(;M9nif zpRow&gJnSmMdU+3dI~R&)UxY(as+`MRpqWHS40HCoibiVToK`Oq5~m~B9cXJ2Abeq zl!mi{?obB*Fke9ESU-@QxGd0h8rlazbnbxxL$SY=;b+3EpUHAUlBEECwb;mxp|H0`7*mbvCc&P2z8z1}0 z0x^Bn@~8ga8+LrX=ig6w<(+F5i0^K_N37q+ z_*vG1f?*~((IBOP0fOmuuwOPNUx<#+y;rOu%{~OA>+8Mg<{Na~gL4riZ?Oo{bu6?R6YWu3`CN2XKq(8x7-qVb#jxVgxmoJ+;e@RD35FR$Cqi&3nRJ*)CMm&? zldR~rG@KdJ(n5}L*_;3Wdwvrl!5g=2&C&8xLbz#rUGaO$z3dj^fO}VWmu=mT>wJ^ zU6n*fikA(h!76#C%H5aFOUpF@v$Q^-Q}YNZ4>5~WOp;8HT_Fr`dVlG_QpL3nkT z3+?YkPRBH(SCSG>g0Fn;u-p2xy1Xv42h9T2kZ85JdMzY zN98{yvt+a z220e3fb_&(+a^VI4-Csm*uRVmY@E0|YDWT|vi=@lNz?D+JI$~VdpFoC(Su#_m{?71u}2<-QGB^eUbR(f+rpudxG705MhoHs1Q>t5bgQNa}iG5 zW_Nua!m!ncsq+y?#{GW%%4z*BofxnLy+Pt6wF1$W{k6SCS1AzUq`U%&ND_74)^uF4 z;;H&G9>Azej^6t9_2*3pFr0WrwO|y^BJj6+T2-b?K`I=54bdw`h7(3(5D-}-rBG#* zd!TSCR)*2sikEdHMv|OpxAUQ~0U~P|rRw8!eD1xfK%#)+hBwVOB}gdE8$B12(&5l+pH3|2(Whk*2Bf)H2bZ;@xP3J94YkSvT|4jYk; z8-n@C5G1k&3D~ObGRRbyz$y@xB2b-y6n*F8WVZ^46FVcL#h7MBkP|13tkAaWu5}>9 zsK7>wyF(%Iig8#tWrHzRga#8v8qNyRQ`&a`4QgS{9HEm)gg|L%Je*twlviI<7A3F( zdI4GC%6{1_V3E_Eblre0OHd35k>du7`&#IfP)L#1J|HTd=LTJG1grQi5`1viya0vsFP2Ez{*_>871|U z=X?Y6JT`TQNUWH-_l2!l4><5_2ddmPSDmEJ@Iqc6+&Z*1a>9ZB{_SI}*-tnq6!e!o zhs-n?R2?|E5ee7~H>2C_o)Zoda6-T&Wu41PD2l#aAUGv4OwgcB&{~bWXV%2La%d2F zza$9EK=Kzmua09`q;&K!oRZ&X-X?EtTy6AFNRc~56{5%T5+bU61JA@o z7#oBl#oVGe*w8Tw*Y9HzaPU2OMNaCl5%H~!*yuXBwNYx2j9VMAZM7rUnP&%}l9F0Y zG9Ybkmp`m!tU%5ZubA7=<53^MIH5j;(aXUjvfJVD?VE_4vM<$j)$Q*%LbWjrIK2{{ zp}X@TAf1~WWspfPnXQf3bQ2-4$Uj-VG((Ew(@SdU#K@K*GiInSL8#Rb)MCNqUT7>} z^(6c^aG?kXE4jB?NyjFHb@9rXATiT;Jg${a5cEpY4c6v5JvVvSLNRsi$7lU$7c7=s zZt372hdi@xfq3fjzwUO%efw98OfuHrxcF~Vuae6fft7&?2q6pYpp5 z%RFwI<~967e2XwOGW4C&gVgoBpbS4x#2?~ z%b-4R%fTO_76G;eSvg4vSmMcf{C|6u7r&$*jxX;Ukux~2p@5DUX z8d(?Rt21RV^&@JDpqDb#f3q&C-Lo!AByoVxi4)Lc8FYeK)=>1UiwZEM#4F~u87RPV zXWGf956i(Lvhk^mm(F!EB4_DeT%U>~`1+kncn0gmhk*1%x5Xw!CGPrEi3rq=1Yl9v zLaVzp{l5FA30Yiq*3=1A@p?&;lh;M*@5Ef%ntEMS|KjRla$Qt$Sz(>CE~?+^ZI{S( zQ9&%JkkH#a$VFdPYgX^5=Omu@YOwK#TFP&ykfc2Adb%U(E2C6%j$tsI((8hN`C6n8bvko%1H78)|5hsTQnlt=q!!;v} zj?ZJR)MCMOBZOiQ6FEe}nt)e)#KKuxENI>m%ECC2^vvsDK$ChAaFxmt39_TC@`~jG zrW>tN;RuM#)|iBVBDaVPnv{?k0?ESY5x5WmkwG*15F}l{lXCrw(Tw_4Q7Hsf8c4E> z7Qh%y>asF2&|&uAZ11>vBGzL(b z9s=aUFiLB#U2Ne`u8Qx9BsqFokX$@#TW(%=)*sIoU+ih&y1u5Itj^YJ zxEqGMAmgy5Q?H?S5&Vhu4sCPc#1>9BB^7tc-fMv8z-43MlubbAc7rabbECb6Lr;0e zhen3)H6n5Z;nYk=d}!o^UW4a6x03OB7vx?u)b=@%zSX5y-pf!8fnLVff1wC;as+7Vn=Ajwr*Wx^;X~gV(&lC5l|h*1~yXM zT}P3fu0Wj=#x|!bB;a6d-_?5S_{f6{G`4vcZW<`v4t$9*?$t4>eV(YPzdygdx|-oBE;NaH*eh3 zMMB5n2#8#JS`dQ~PeNp4Kp13>fUP8QQ%M0qI%jIYzkiKR?5aO!*E#`(9F)-!A5lW`oa(WqTDseORS}6jSc(nlV zj&}EW1^NPz5B(7?gh(IaycyXv(2|)X4bnR~)z|JTjhk zc_WQ=(BU6{yyxR7FC1$*!LL><>GSGsFK$_R-6I(XJBNRCSmbzFQO3w(sdguRX-q<1 zg<{JZ1xA4TEjq5*Pz7*$2&uAL6hS5{lm4-MDXf=Nhf*r7*Ln#CRL8c?R9ZjbhNKd0ev0at#P;iXK9|F?TWH0gzTE>Tfxse7rwj|wxTfqv>yi#F@g3Cs$ zlbQ@ADqNl-9SVEy#&$xOZBW$JX2OAUg7hqEABx(Cfb->9kd5ttGx03<5IKd~rzT}4 z{|qum2+Z^(r#l(z21vz0hl15J5dlk_I+UWPLkZmU{2}6`Nym|sz8O1|c29>Q{Asf% zSodhv6z@=Q)l~Kl#aT6#zC*!PQ@le-C8Oz399FpgK^4I1EXR_ASYe<;`Kf$?cPP2_ zxr#aztfLY2z5t|;(91A~B@J2zr|2RG202Y8ATnqfMCJ%63#XT1nRG$<4h4}TvXq04 zd*&A0y)sI;;LIDk;FK3kKDe?5`m3jy5qYPcMcC@L!dsIbnN$%J9wOvs2TCCSA7&L! zFL%;`=fH$deGT?!)9F=Y288A6%xiV;{i2)a8@K;H_6xM1(;~!m81l{q?3hJI?g!4Aj} zqe(mvC`~44Pz^o^N!NMXBgrwhC17h5=mt?K1l1f!l4_WR)_0lO4JZd>WgwGgni-kp zbe3{BXr%=0fDp|LI{c2lM=9}&5m-1&yD>ZJg^`A{g7g%A7fES8lY~nG5+P6;?5{D5 z(wb|QvNWgPBP-m#TQ*B*a873_hl5s1&<+Su&D_iIJNlla67Hjja~`kuLgnOJAwF{Y-Afgo;z&A}i~P<-d_TF@1*D)#5Id(U)&FY{*Q@3i{}uemZ|g z^E+%di*pzXQ-;^M9!pJ9tPkN<%P_aX{mqL*(Oq-%$ zN-bL`6fxIkbI2L&4$*bIGCwNkG;+Z~NRe?axD`~>(_|cSLLaQ=wE)k2=C#Jl@-4wFeIeE|` z$Vx5Cry65cbGn(9n8)5R$H!WQM$vSWZJkDt7ZZub@(hZY=gX z=-ZK%edYuqhI2V#KF-PMP9!&ArG(aw5U*6~TVbz1g(^y9ni(fB|%_Wq6NdG!xYl=?f8y!#dIXGI+r`KDt-a0TG-Q5{+sjK$1R*Y zTkn7z);f3b^pG0We=Z-qFb_zb95<^Q2+M21BowZiE1!rE5pKMk&O|?9o#h|&SnXIhf zd(8$~z}2#0=x|BX@Q@QIY~o}{;2=&y4jJ8v!~%#6h3!K?dTyATA_H@Rhzy18LukXo z&VURyjSqq7$5zZUl{h#UgpgFlv4pFI85NCuXAG91julQ0l?f0hO&5Ic3%MVhVRA_v zmmmvrvaYyh#9c3_g|IkCiiu@k5c`cAb7PjBc8U1Q-FrTK>N}Q`RcBmwK(D@+h?|f5 zL(7Uk9h1Nz@)2rZVE@!yB6=J$`43mE8KD=Bn}A&o69G5Lm>w z9=7bh(+A!iKN?_#qdO~Qol{?P>k=SP%60hFx^^7VMC`Qn)v^MLhZ->g`mV@IwJ^ss zwc}T)@Qt*M*k(A>RMi1O>MOBW@6w$}EI?(+R273Dwae%X%?T1TcvC(Iq?eil=k;;{ zf(CEO2Z0@23TRvGpiKzkkOc0q*mJ^VoajJK*<0&&hR3~|Zn?x*LHj4spl}(BhAgYf z&N;ctZ|C%oFG~wtnb3L9z8}iCq#8r13gC#sE`upEP8(bW4MChV1`Z_E8b)^_v4G4M zjqI8^C5C{={J1j)<^&O$nK>-?RxcIs7Na{*EP%+MJbVa5XG(>Eg@dZC=-dF^K?vbE zaraol)%ZD8^EEu%HKo;%#7WbarhH}n@&CqLs=V7U%d^{Y{}1w=w%eeImgc#iUw_Af zkCzJG2YzohrDRsikkqRi*7D2^SN>N!I zo-lwF1}2xMS5>5#^yb!W6a-dN@V}6&;P3$P^;OaC1J!mvfw zcPWbm6cbi2Zbf5tz$^R!h>Mdjx4#fO^Y~TimY<4iup1{6gI88p&G>$ zAM+4NAr1>LrNk@NRj`?S2-Lx3Kz2I-AJxd zgA(o|q60aNP2mEWki}CL(^%O8!$W!|QfU9ki22%F`jmV^wHdV12KMK)?&ubGP9tv= z-kj!Sqj2UlC*9)9Y2AJ@Y;K)-uB`jiuJ2^9sch2Z&GfjJ|sVqh9Xcp`f!9ZJPJjU z&HSlSBUXcKE9oR5O;lCQ`@!cwE}E2Nc#y%Rp1^l^?;0AVkh^Be%qfnsQf5NaJ8G zy{0rEB61~^N*^@yYFqe;vRLXjbXa9->+Xet>2{+ z6{nT`$#OT2So;zC9y3qQ-n~0*>^bKQy@i_ioMU!>X}nacA1-b9{7Y{p6`M^}Wj8?Q ze|pCgi`MkML~Q=XjpHW%d9%Pqio5G5KKaCH4J%$>Uqrpy!1U@37j1D_s&5CxCByXU zQLQ8bDJqFR_??h zQ)K1f5t%70hR_-H%?6D;$h^a-glBiqh$G;*1E-fkrV@7tjS`2fdHcd7hz^7_9X3KZ zSBs|<%Hpbcg(At^$I}|b_3_Z!5)ZCgy36laO>$CI0c&jyAOH79_x*Tn`(t}QzG8*^ zViQJ9ZEa!AE1>DvHu4LL2mIA)5HvMsy}oAJf`8kEVwj@uN~M@ugP`3!ao{zBq^I6~ z)w?}Mg+2A`Uux34Qu|Cc2lUy{@=HzT3r+3##U_-wlV55gPLj(VI9XnFH)`7+yzzEO|GwKIYGL2i$39UY9+w7%{?8?;@c0_ zGQ{X*r0eU$%)pP!HKfVhGd^Bf2&q=nLaXdEKAuiYLX<}AKko5Ik|r7Xmzt1Os|Qn$ zEFpw*wRq>(pxsrkUK0e6n3$xzyls;(J9!`t}^g> z4_EzUJf+!3whUXaq;>At1xxa3lZ3ps=;?yv7c3mzx@h6J#nTrpHk%;~>4^C=TIy@7 zWn@K|zGyncsUOs!Oi)8pkqU)D4Jz8u1&bFin5WR-)g2rfrVye^Onm>-Hf}hj9VL0} z^x1PQG{W?WJb^^}x^xT1UZAwMmoMmjBH?UM5)x4Z=eLt2lQYM*&JSgkL{fx&vzrGH zDMX`qj1!q(5SP&@zQc@;s!I;|GqDPK=2)_r%hj5NfZmFxW62+^VATRCaOLXfO!nN3 zZE;|T__>NJVj)FEtlLx(O|#+^F|Ri;ndZ20Rm7#H;`lTkR;2E!h|g495$mub7L@)r zjT{sWWv3C zqmyd1B#hNaJ+8P!NQvZMU7#=CA71}3%w8y+DHw$X?R%<6es)v+3w7PHc>Y)GUn$8) z!Fq!oF@{<7N>TsR9@*oi<*B9_)FSNgM_#s;B(MmFFKV5C@~o*N=5HfOskX?f7ml31 z5Z=-DAciKl6b27!Y|vJfvxoMe`Ucf9KdJA@Ops}*96;$I-3pKYKUK&V<=+gUFZhE8 z-g7!WkGo1mptu-N&<}kGNG}~P;y_|)hzv6;J_J1HB@1#r@N9B}BOr2`+=vy#R(CaQ zHIWq@yaENMsx!G)sy6MVo?=G8x&%CXhqH^v{ct+q$NrLE4~2&ax$z=4IuS`A7LOa& z6WDVCh~A)#P}t3F_m zp|l7PQy^1`!>BYhswCd9#7Tpt(w3q6MI0Mz?hOewC(LPcK&$WekTbQkp+eyipm1AjB-ksq9#z@cSW$p`~K?iXT8Nf0O` z9a~t$T?7_f-j&8w%!(2cSjjsF0fv;@5B9luW$%s!29k9RPP%TuN?C9qf=Z>#F)2`b zlT0v{J$I9LLL_C~n%>3rEh`p?iF;r9rDdxvD@UmZS1%C%@8EyEz0WC@?!d$a2)e#3 zM9o6@K;RNg|HHSQ>E+s>BB&Psh;%-I<_4m-rwgU31np6|S*tG9qye z%E1SL#|UMDhB+=D1k%@>n4W91VbuqLM>eH^rY2?%`$C9mN!(FWVp0$tGCt)9yjCRU zH07K*3oF9Pe5g^gr?8|U#n@jgc5^tGgw~akLtstg^jJ(oBxo=Ld=NyREXtud&j{Ms z0j4R<<`5_ir#oP7fS{rEQigB{QwD95g!_J(5J5xh#bV?Tco-h1mqDhkrqHZo`5=(K zW}+yE<~$>=q4oM8@ZiBL(B`l&9|Y2CGH`7U@A5*JLmpE=lVYd?6Fz4k+LBCfQUEOP zi4NJGMKPGeyU=~&tROvwrER5z){8DsA_Pj)!$`>-6s%flq{MfeE2blDELlS*mGSV@ z;Dk9kK>2rSoPq35@bAttzE8-Hb1b$H-Qgi7pz=*7BAs&=A<26}anRaFXqJ5`%}>n< z9sa!c9VdVOw1Jirw7uJQ+w$V`dseQhjo=9 zAaY^@C0yGIpwsXnOfo5EL54oVhk*2)t&<_{VsA+=nZuv4=_W#8k>>>9vWA6;b+KOh zoNR&NAwx)J{fw>TjhZ1E*)r;k#p-lH+F~ceyUOtKqedM&b>xuaj+mNn88`j(S$g7M zP9w?3YIokK;lq!WPioEmSiB#p-W%7VXKr_r@u;chHwHfu6k~U|iJ<7Z!%Ni2rVsS^ znLZCs=D+t38#O2{9|GFODSbrEvr$AIFH<6G-ctH;8rdi!4+8pNS&%^y`4Etv!i%Gh z-gP}Wf-u%Rr+bSJT9z4T(yxDpRvOq)2?GFDiPp+pHjr)P=!ilpEbFI!JFGMH&Lp&vZBk&K+z!Ca^UFjd1fuoJw zKb$N(t~fiaN|rv%04f7a8du6gtdT@(I30i4+f6t8bAkBY{;m|O*gf_y4St)u6uuN5nsCUx?`W)|KM~3?7G`6Jk)mVjgS3gfjHy# zv1jiS8ei}E_Y+=u=b8oLp(B6sjiY8Iafp1#>z>9}t@9zAcIfq04bnI{Xa8GU_Wo?; z$dr5K4W|$*aBEjD?=aw*x8x*3@yw3Z;`!I!q}WsYQnBBa^5f#nFwU2>uk&pHXNGN8wFzibS)5M9SB_k+mIJ_Mxeecd;v zn{UvydT?0;Y4W8-R^<{l%+P8~v`2ZtV7^2QvjCqYUWt{wu4OT-IP^^BCm3c3oe06D zWYVEXDXSl3c%6P*vZAGWj?I)v3ptjKNyc1lS%M--VPxxSQ@5TJ2cR=)Ga1EgQir%|2(@LYIlhudQF*WZMGq8~NK_Fd2r0@?Y z1KA8?B1Cs)AZQcmVChPKogH1)QVy9Hp?fn9A5aF?`yi06wa1GY=9>zj9VB#xup-VYl^Xb)ZciG)po=zM(Elq^B7Dw^9~5-k*M9 z$DYOmPK4+vw)O3|Vr5_d+~N4qWBzqO;{*}S+B6hfN7UTm2_D~2jn8i(|3|irn7@m> z`iA63%+~|>!-uO;_=5^^GaDbF50A<#Z&PKEHhy9Hv7eb>Nj--lq4Xb{%SdU}fODyV znmwE#J+TB0L+XMuf*SWB_$Hk~K#^NS2Aj}_fbaF4 zBo6R7aRPcQgHFKDyqH5@7$+Hq7>(XD<<2#yPamQ{aaSxy(0e`vq-W`0jALthE{@>q zcj9jZViQT}`hwx4kt8QtrbEXIMAl)c`Zyh*d#|!w%&5E% z0_gx@lk`HG2P*pjI$t}Yb?N&l)GD4L3`kM6YR-BQNi39qZq@4fHS(O7GHO-Xc(fVO zJ?mwf8Ec8GMU8Upa+CPHsCM>_ms}~=6!*3oj2X%RRc7SK7PGTg&XKAWwEtyWd#6hA zRTiN5dTa0c%C`23Rv}-Me|-OznQx2GA$II9YA>_e#)n|&k-89z2}DGOUMuH8Kv}XN zLoeh*Kzf?oh!w}SCN+37jTM}FWqr=GwRdOr6f*+GUIO#U`T^5~dPsk5b77#C(2X%Vq(KobIIS25eb^VnB#Q=NP5T zL6U^Ztd>ktf+iVlq~WX}Jw;h6?FShMs>BBooC4Bhf(BjUgFreTo1u)0xgoAWnfM?A zW5=X`w#5!38raDvLSV7exHdcNlMXk4jEoVAlZX}kc5Q3c(+%3=_X14}c#_^QW_Tgr zz3^e)O|LW(v(k`r{4SJ;xgaUa9y4lCsWW zC1T+Dj988r3KKMF6SP)ip!Kxq$w?-bg|^iMv;*3Ii4a(0QBhIYVyn9}ipqV{geMkO`Xwq7nzt}Fpg)Q1+1I$*=%J7zcZw=RkL4vqRQV=(k^355gi3ocZ0HEd_4}9r zpCn$9lR9ifd|x9rx=!wET-cg*Un91yc9bRa)BsdcQmaV@Bvu~U*XTK^WvoEX60exs z(Bn}b!8oBlh0)8wBeL7!l^6mdr|e60U3L3Aj!2}rNaFR1Nh-7QZr8~CGD;no1M0W&=36PA94nhhU zT~L(WP}5AvdR`S5$I_I_keq`aVanG-2rmxE}CWCX2*tsq5RHH#9kcX8`(DMek4 zGAAiE&y?YDvZsMpz9>qyd|ddX?s3a9UzDJ6(Ef}48UrkSA zm|-0NkA1X<6QpP9KfnR^A#|qC1B=;*fb>KMEtHp-8^&Npn{v9F-((pudI*T$Qi+3Y zAu9DhvBc4)?C28bQEN7^MWp4I@npO%@f|fM&1l7TrR%7X2fG&h$!lwQ~d6}uD6|8AcJj*|!f9c1{ znf(h`!@qsj*6SW^jVy}t)fr0Mb3-i=^iqcUZx%(hdlp3rPr?y0aRPcQgHAAO8j7Ap zQ9&e0AA#vTk9O*eMm0W_Poo-omj1={sW^hK-|^*yqGN7=_2NT7dZOE6lcExLeX2wR zYDWUFC~TqCU7CL1eba<2uCj|-J$k81#!g%mb>|f$r+nek*3^rl`WIIZlZ&E?%L?n9 zMN$1$Z@VPb=SHy*3zKgD%U(+!X^kw3+Go`x`_3356-(z9MWs+6dew(r6xGfbMP>g0 zR?j_O{b+sB(`+L}-BG-L!V~?!Ef+=Mhp)_su*l5r5rs>F@)mMCg%h;smTw@ByqC1Vq*^az(_^LSa%1Z@_JG?&)|bCkMfB z(r-$I&lf*w8Ar~F&?C%og3LXbPpb7nARXS!GMOV&9 z>JMNkwK~(IR+YJ@T+Y~Yvii#heEqvRD{I93=_fCqeP*j!sw5pxy)&n-F6@Se-Baa) zs-;)d$$<;n#nTSD4uMO#A!i-1#e%7aoD7&IR0hyrTPN1Pfa!(^n=@oe0&lQ`#Ve6Y^$AboOrWYDC9%n(QxMlZ)W@(iY% z4?)s3NXqpuMlnx-t-s~lH#MW;wT9XIk&B_peG zO4$|Jqk`nh*-)>cJL`|R69MJuS#wRfgfJ5699A9;qwFXQaY%_@me1J_h!*4=1qyqx%tUau24C#1w*D zD*>GX_7u|L97;VWX zup$IojV_Ke^dQqm5ThXl3D5|zYV-;W!-x;|v?xd*PJxspc9>29$0bahU`2>?nP*aF21sTS3QT}Vh%`?S41pZ9Dp(;20eqAXlUhJZfCMNPL?H?k zr9}c;vV2@2sZt-M2vQAHG=tRIe$^IR1--2hZ2MV@2v}{e8q8gL?em&EM$@l<^yZJ5 zIcwJJz1D9%_S$RjeDc=7Pnsh8&N5iLO!4tE%4mMRrXK_g6hD7o2})|YGK0sxK0Zzf z@rs;5Jou*|&sU=2GsLHQY~ zUAbb})FlEYw-6CQ#gDGxg$bZFRK>-Y;?FT}iLc1<6yYh}%XnirmB+H9rd~WYF*jq1 zPQP@hVk1xz8*4lmOg3a>o`x!ftccf@ra`EUr5wnZ@a6oZbaR_WMfiZ1 zP2m?xBdh=_Pbwwbw|HUiAjQl7SsL~g=m+(?-g)`w{PfpzdHJaRL*!$vHNGjV%?4W+ zY9XJ?Wl> zyDBeyigHLYZ+f&2lSSt$-878(K4yFY zf31lNx(0=jzC?_p136;+A8qj+uIAf$);&Y`p7r_U$b9$u==KeS(FAszNH!53T{Xc8 z9lvCCF|QaE#P^5=fAgAtiohX|uC?ExE4=#N@u2^ec?7X#Q##683g^e5nmg|u;I$^s zj!6I9Ye`?!2Ol+zLP8ockAYBF@fw07P3T2QY4`g6&S^0*jc_~*`DS@dW43H^WSry^J3rp#F2H3q3x{mlr>ymqSAE3o}=S;6M+{0G_=U3(e!lFhmgnuWG)bC6`OqdG|KQm$7xRi)WZt}8 z=1o%=$`mAxFsR6++qd+ioN4M}$Vs~sp%*7Tc{T0Z*OD@4jnd!|Y_qZf{+ zV9xG1=;!C2z0_J{S_@Ozsw?@v7ERf&!m(^dRYj~wnM8Q7{c@0{ec+8ja79DxV53?V;vHg>NpU=Y+iOqOSWQ*UW8+6#8 zqmCbDKX>CZ)_;DaXe0s?hJrJ=cD=ixpYrsVfuyJxNDgk)je*Nd4e1@}pBeI7kl3_D z;dCeO_<;Qg6=#(QOj)cHLq!KJzZ;=`FiVH&modMfUamB6Ad0VfgES1(kJLt^cKvMa z4%ph2C&{C!LTXG3vQ{D$Obf2FYbB!NWK<=sbly07V`lWQ**-rS>`+Fs7H1{XuYWz5s7 z=bNy1UITY-#@ahH-<@UC;--Z3ZqlVG>Ppk8rfhw(oGsCzJ(X$hXH=J~o!8tHDegbun}1kE$pAfA6Hh~Mm6z^ceqfzL#{ z=&0D!Sn|kyo#_U_8*o}uTU6sp!A2fFY#>C`_LE8q97A8>k;5T5 zKO&dkbg7!E=!Be*6?YC};rvGS6-EgAEn|pP5Xza7LJn_{yV%G=g%(ZI;oTvZtC7Kl zO-g#}m`2u~!(6cRXY6%&?-1L_T&?)|MkZ-P;8&xR{c!(bwk3h^@$+nrSRmbp(O!*E z8B!w23pZqQBusL_&bzsOC>_c+X+D^~n`Jf4*D~Ph-Dol*oqAA&(35Iv^d4RO*wy^) zIKATwxlA2YKI#aD=PXHjEkk0(S_DRK!1*q2V`13*FuRP35O`@n>+h$*8}89-dGNJj ztQk`>@nP|}Bja9mFR*4dn8@`ZGzV9id&tZ0coxkqT_2-YY1nL1{gAUv%Y%YEbONLb zCuqN)jT6Zi)^B4mxZzPYhALx53Pl{+3m;LM?|~x^vLOT!v`^Cd2^SGKWkAJtob>Z; zj7k@=3vj<~fskbTp&UawUQdUe0tuR4>_5!u1(jcYD9o#sQP3_QLgFVnZlq!pN5Q+h z&_wq%i-0nA<*oHEu)`CmV0vDK@DY|-)N4YbVkyxZPCSB}t2g1;8<;0MU&JMF?HjCE zM(}svz`2MPd>OGq^#{;O>3NwA@RApmZRO#WWhjb|wn1?@fA8s=5@O=~#yGGo2lvi2 z*|kSmjNEbZQJjC*JFJvu-TflYDy40NmUkHK5@^~Za@t-!Pjrr8dmCE@sc)fz-IR$6 zI_^(BKpM}DBh#A#1+f+|0~?|~{to(l<1HTLO%frUq@$e{pm+vYLVf|(K;F2>1Dz+) zO^_6XgK>7f@`jW(y+8W0v!12>X(4S;+1=6_KlnBC^XSS;MW0T&yHV`!fTSpo<7nrv zQ@+Xz4)uep<1CBB6$&&PvIhZwZSPNyC!4j1X2lrT#TQE~!HQ=GXJbTRW2;zbB2 zKZQ1GxhQf=93663%ncY?xNArk`e4^7RQb*_% z_V_|=2#DtyJ;S%p{!YctFvhcAAL>9fbY#!Vn7WV(J>N_Q8p7Qrz?}?TLjJ* zDj1Q|72M`~*;MhBL5s{%N{|qmg#>-E;)PYk3N;C#t{4ZMorh1=%5aF4;pVppD)Nx8 zJWs*ZZ-_Pursv`8gYuQxO1l&|)>YuE7uMD~7FZ92ZdNkkn#D?3OgDix)$scUWvHC0 z;zX`<7EBA5$~kcoY7M~0U&G05g+=;=+9Sr~zPLU}J?MLwzv{MHnNV2F3)bg*(MtrfaH>;<#K5dYsC*}J9-#3K^;5{V8O zAp#5Xl$+RevK*Q)*Z7EU<{Yvyk9r7= z9mI|)e|TjSyOiav{lBlAo(XgJDgn`}Z)NRDmL?)`g9_`8EB}r*Zji~LX7$yPsFv8! z)^kI}>}pc^^zUnPrbegen9SQ?HaI6Kf0p`uacU8*Y0>Dl`l$aO`q6)t+U0#w z9ug>_pU7=C<7Y|-8|`%I$JA0z?55++D$8ZstxGwKgGoD+J@I5o)O;3&8tT;7?A}oq z`3pPhgBaucOAE{mnDSl{r%RRq{@qT8?RV4!OXOSQ^o}pfWami~s&>NqK+2mWUBJh0 zV~#W!c)mWBAo^MSr#h9kQAFutfgB{nkfJvMm zhy9b4G`RRS_9DzuvOn%kcB8qO7(l$^!ae5C%2ktqgOJ#LX zu@;U5uy8AyrqU^)*jv+sf8Q#jrv`VPRWFC8>(r>SZxw{ARSS{U&!(w+qExy5O@)@P ztJLbdw%6*lhwU_JTCrA_`MFE;rve&t)CgdKGJ>RKM5v-_@~3%f494A}hWOBlxk~jN zP~~eY09FZv>Kn>k_P85U@6leczzjBgYe@T{1mNL<=!d<5&EU< zpq9bT8dQof6ekc^3JVP3l|0o)ctiOR%?6yvPvxj%c>KJF>wodX^Lc7e8j378RBX76 zXFnQR&LVuu+IJ~uZ5WaSS0?I07H}2C<-5x@`VG%_KH9np^r>n|tjKuk#zj$wT9VL{ zme{W3kk7tkE7O;zg)Y?rwh+Cma|e3gu3A-Y6Ps!Uf;&{XP2>-$17x|@d_AxxJKHF~ zuxIWDqoe!|xbV+f_KbO@Y7Q7<8_!f8Tq|MZv2C8A2BB9*M2(y$k+I<$ah#3*8u2W1 zPUlPk?^uDgXQ)BZ>FXXikNr>`N?RIncW%LroXlGd z@`*4mg*wrHyYC@%0}FE52Eb?q!X2G<9Q8!-!vL>oC3G$;%PS{r+>?YS9KTHl0%oBm zOu(WmqDT{xI^Tr9uU2ztcCpd@a5Zw%Pxkp$Iu4WN^8ClujL8%=kE+o8d|#vH4$93& z)Wqxs-86SrT#bl*POK=w-aT;EJcDLv{wW&~D^6f-UKl5P;)`i9n{`Zr$$MZu@`PG4 zWNZRgyL~Z&$_`*p;#%xHBRpy&k^B-$;!dg5nL%RTvcx8*DZ7GNQUrxT&`GZz7{jlZ z#EKJ`9Nk1Zq-(w&dt$c7{M;7!%SUQig1G;grpxTrbPO&&fqs0xESu5Ch}Vcs1g0b= zFC6VM0@#6`X$!$LzBh=fEq+J$SVYI z+7?R|<4w=W7{|W*>$1ERA&wo^NYg^qYc)Q?jZ$7!A@-@7S@ES;Typ=0rHGa&7Vk?uV?{cpfk{{3QL=ID zY}4ZOTkBnL6vJ13?PIr}nQLbAbv1O{hmdDP<_mZe1@Zw?ya z)xlZ_+CM-`SdHeF25W=dRND6-&TpkSNeka$mO1RXNhTZm{|s})dN+p*LOQ?RwI+m& zlF((Z(@?K>h%e;nYNtCGuqag!n}gAifbT#aAK`}3?@Zh&RC2SlEPHt;%Mcx7MIMdC zmx(5Hzy`JZ1%HYsXHqzh21^f{hF!6SCix-4?I|*W&7{@OX^Zz=Mw#X*i(tO`p(q^hU_p%4?ci@ zZ%wi!oHrl;*1{8&c*QgSP~Z~rIDc)ezOxITNk8@q{*8wH{qRJM>eIw8uCfL;=&Q}cX;^aKvo)z%UFcSx>VhVs^rg@Y{;6+hnixrhdjrzM=nKFUr{TOU|BJ9J zfqruokAfBuYo#CElBxpAA8=|o3ualQE~&=yVByqxqWBlAlzlq8IJFfQ#7bxB0W*Ax z<51I~rKxBhIDMTm&bkKV{vXr0$+F0w#%eJ~0*Nn>31mqJrZmheC5k@JqWJmao9Hr6 zKaO`i;i)|2IWrdTaK`Skw+^ED^%L|FI*OLfFMfWlj^bq%Dx0;w9j_XP z<*&79k*1xRAD((xGfr2(_X90Tq;Kp*O{_KVik+HqxQa*g#^EZ&vzh3zi`n~rxY~KQ zJY2rQK|^j8JeF<(NV&M7f^pMz~S z(YmB|C0+&a1Ca`MU?Wa=3&f@(1VuX#D;m(WnA`^!yr9iC3gdU%9EI`eHY^2BwQ1jk z_BJeox8QeH8H^7hDE&nBwLTQrj564L4uf$f)cjnD^t}?6UDUIS4ydqvGl)42Y#fgjX6@T{pr8wfX#)h<;R>GYssHLFQ#nC03}0yet8BWu|; zAEF1Ncl!xlnN&rqNYFXIWrbT@wRM7Ym#c9fg@i zL0HmPr^6-K@CK;vz}VlD?v|Im9!+;gp*iBl`(F_^wyH5zU)JB9;a{L{>&fpwvP4K; zgXf>zPljc1Xt zrd@P?+&cu_s!luy)>6J=)|E2s$;q%HADKXQglQMp2#PO@8?VnS8fIaU95<-WQbrIs z?0#^9MtEeH1!gxq2s7U44kXl<-Pi~=yS@|=p<#uni1_8}GDnEB9*Y3i1>AlpkGQFl z6fPJAD&mBriU{sUWh3lP$4gxJ#T9ml{=>3IvJkyD;C6;67K#+2G{@Wy%olAJwOp9p jfpOXtaED|-(gKV3*nIfJSoVK;S}_ARghrAfeo}yIHDEZt{r^N3|$T(6COJSBkgh7!9Gq(AU+{v zLGlvPN9*x3XLL<@YQm?|CFv~4sqS{@j#h@PFXH4#~-o2K{tRu(8gEgrCUW5S-FK^;n( zj#F0=jrjA}zK7^t5wtEK6P){uUcr}7D3EFyZ@uUrlMOxX!hN{5f`b2JKfa<1n)>A= zdf-Zx!c$c~2PVzf#BjNAJ;?UY2~#NQsA@;7bwT)e6zQ0<3-2Lda^fv?+;3t9PVBCP zt`mX<+MIYR>+i(B2Fa<^%Dg7hfZ*5-u5+rHNb0h;Q)Mv|CWeSn zg=Cn!A{wA`n3HiI@qqlB>yP<}%%8L~l|14jwiHZP`s�W|Dt^?H(bCQc+#lC^$xl z6}&HyneAO9kJ>fkfx}|`rt$k4Q37Q^%%_UmtQm7?(|9S!NpFqlfu(BEmGZOKh&Jf- e@ffq!e2m}Zk+pBcJhdWszd0zbmXZxgr~3>02pk^( diff --git a/Profiles/WinConst.lua b/Profiles/WinConst.lua index 13ebb4f..92d8b25 100644 --- a/Profiles/WinConst.lua +++ b/Profiles/WinConst.lua @@ -182,6 +182,7 @@ WIN_CTRINOFST = 'OfstCtrIn' WIN_OFST = 'Ofst' WIN_SECTIONFRAME = 'SectionFrame' WIN_MIXED_COMMON = 'Common' +WIN_SIMPLIFIED = 'Simplified' WIN_MINIZINKEN = 'MiniZinken' diff --git a/Profiles/WinLib/WinCalculate.lua b/Profiles/WinLib/WinCalculate.lua index 30c9d33..981c50d 100644 --- a/Profiles/WinLib/WinCalculate.lua +++ b/Profiles/WinLib/WinCalculate.lua @@ -22,12 +22,17 @@ require( 'WinConst') local s_dDowelTol = 1 -local bCalcSolid = false +local s_bCalcSolid = false function WinCalculate.GetCalcSolid() - return bCalcSolid + return s_bCalcSolid end function WinCalculate.SetCalcSolid( bValue) - bCalcSolid = bValue + s_bCalcSolid = bValue +end + +local s_bSimplSolid = false +function WinCalculate.SetSimplifiedSolid( bValue) + s_bSimplSolid = bValue end --------------------------------------------------------------------- @@ -337,7 +342,7 @@ local function GetSplitType( nSplitLayerId) local nChildrenType = GetChildrenType( nSplitId) if nChildrenType == WIN_CHILDREN_TYPES.MIXED then nSplitType = WIN_SPLITTYPES.MIXED - elseif nChildrenType == WIN_CHILDREN_TYPES.SASH then + elseif nChildrenType == WIN_CHILDREN_TYPES.SASH or nChildrenType == WIN_CHILDREN_TYPES.NULL then nSplitType = WIN_SPLITTYPES.MULLION end end @@ -799,7 +804,9 @@ local function CalculateOutlineFromAreaOutline( nAreaId) local b3FrameProfile = GetProfileLocalBox( nParentProfileId) -- calcolo offset perpendicolare e sulla z dell'anta local dOverlap = EgtGetInfo( nParentProfileId, WIN_FILLOVERLAP, 'd') - local dFillPerpOffset = abs( b3FrameProfile:getMin():getX()) - dOverlap + local bMixedSplit = ( EgtGetInfo( nParentOutlineId, WIN_PRF_CHANGE, 'b') or false) and EgtGetName( nParentOutlineId) == WIN_SPLIT + local dDimRef = EgtIf( bMixedSplit, b3FrameProfile:getMax():getX(), b3FrameProfile:getMin():getX()) + local dFillPerpOffset = abs( dDimRef) - dOverlap local dFillZOffset = EgtGetInfo( nParentProfileId, WIN_FILLDELTA, 'd') -- faccio offset e muovo in z @@ -1743,7 +1750,7 @@ local function CreateTrimSurf( nGeoId, nProfileId, dGeoWidth, nLayerId) local nOrigTrimProfileId = EgtGetInfo( nGeoId, WIN_SEMI_PROFILE, 'i') -- 1) minizinken - if not nOrigTrimProfileId then + if not nOrigTrimProfileId then local nGuideId = EgtCopy( nGeoId, nLayerId) EgtExtendCurveStartByLen( nGuideId, 4 * dGeoWidth) @@ -1759,7 +1766,7 @@ local function CreateTrimSurf( nGeoId, nProfileId, dGeoWidth, nLayerId) else -- recupero il controprofilo da estrudere local sTrimProfileName = EgtGetName( nOrigTrimProfileId) - sTrimProfileName = WIN_OFST .. sTrimProfileName + sTrimProfileName = EgtIf( s_bSimplSolid, WIN_SIMPLIFIED, '') .. WIN_OFST .. sTrimProfileName -- recupero la curva di outline associata alla curva di geo local nRefOutline = EgtGetInfo( nGeoId, WIN_REF_OUTLINE, 'i') -- calcolo la superficie di estrusione @@ -1775,7 +1782,8 @@ local function CreateMixedSplitTrimSurf( nMixedOutlineId, nProfileId, dExtraLen, -- estrudo il controprofilo di tipo sash local nPartId = EgtGetParent( EgtGetParent( nMixedOutlineId)) local nOutlineId = EgtGetInfo( nPartId, WIN_REF_OUTLINE, 'i') - local nTrimStmId = CreateProfileSurf( nOutlineId, nProfileId, WIN_OFST .. WIN_SASH .. WIN_CTRIN, dExtraLen, nLayerId) + local sTrimProfile = EgtIf( s_bSimplSolid, WIN_SIMPLIFIED, '') .. WIN_OFST .. WIN_SASH .. WIN_CTRIN + local nTrimStmId = CreateProfileSurf( nOutlineId, nProfileId, sTrimProfile, dExtraLen, nLayerId) -- creo la superficie per il taglio a 45° local nIntersCrvId = EgtGetInfo( nMixedOutlineId, WIN_MIXED_INTERS_REF, 'i') @@ -1833,7 +1841,8 @@ local function CalcMixedFrameSolid( nOutlineId, nSolidLayerId, nProfileLayerId, local vMixedOutlines = EgtGetAllInGroup( nMixedOutlinesGrp) local vMainExtrusions = {} for i = 1, #vMixedOutlines do - local nMainExtrusionId = CreateMainSurf( vMixedOutlines[i], 2 * dGeoWidth, nMainProfileId, EgtGetName( vMixedOutlines[i]) .. WIN_SECTION, nSolidLayerId) + local sSection = EgtIf( s_bSimplSolid, WIN_SIMPLIFIED, '') .. EgtGetName( vMixedOutlines[i]) .. WIN_SECTION + local nMainExtrusionId = CreateMainSurf( vMixedOutlines[i], 2 * dGeoWidth, nMainProfileId, sSection, nSolidLayerId) table.insert( vMainExtrusions, nMainExtrusionId) end @@ -1904,7 +1913,8 @@ local function CalcMixedSplitSolid( nOutlineId, nSolidLayerId, nProfileLayerId, -- a) creo il solido di estrusione principale local nMainProfileId = EgtGetFirstNameInGroup( nProfileLayerId, WIN_PRF_MAIN) - local nMainExtrusionId = CreateMainSurf( nOutlineId, 2 * dGeoWidth, nMainProfileId, WIN_SECTION, nSolidLayerId) + local sSection = EgtIf( s_bSimplSolid, WIN_SIMPLIFIED, '') .. WIN_SECTION + local nMainExtrusionId = CreateMainSurf( nOutlineId, 2 * dGeoWidth, nMainProfileId, sSection, nSolidLayerId) -- creo una copia local nOrigMainExtrusionId = EgtCopy( nMainExtrusionId, nSolidLayerId) EgtSetName( nOrigMainExtrusionId, WIN_SRF_ORIGMAIN) @@ -1958,7 +1968,8 @@ local function CalcSolid( nPartId, nOutlineId) -- a) creo il solido di estrusione principale local nMainProfileId = EgtGetFirstNameInGroup( nProfileLayerId, WIN_PRF_MAIN) - local nMainExtrusionId = CreateMainSurf( nOutlineId, 2 * dGeoWidth, nMainProfileId, WIN_SECTION, nSolidLayerId) + local sSection = EgtIf( s_bSimplSolid, WIN_SIMPLIFIED, '') .. WIN_SECTION + local nMainExtrusionId = CreateMainSurf( nOutlineId, 2 * dGeoWidth, nMainProfileId, sSection, nSolidLayerId) -- creo una copia ( usata per calcolo ferramenta) local nOrigMainExtrusionId = EgtCopy( nMainExtrusionId, nSolidLayerId) EgtSetName( nOrigMainExtrusionId, WIN_SRF_ORIGMAIN) @@ -1987,7 +1998,6 @@ local function CalcSolid( nPartId, nOutlineId) -- eseguo intersezione per ottenere un solido unico EgtSurfTmIntersect( nMainExtrusionId, nTrimSurf) end - end --------------------------------------------------------------------- @@ -2095,7 +2105,16 @@ local function CreateDowel( nOrigDowelId, nLayerId, frOrig, frDest, vtDir, nTest -- eventuale aggiornamento del solido if nMainExtrusionId then -- creo solido di estrusione del dowel - local nDowelExtrusionId = EgtSurfTmByRegionExtrusion( nLayerId, nDowelId, vtDir * dLen) + local nDowelExtrusionId + if s_bSimplSolid then + -- creo foro grossolano per velocizzare operazioni di subtract + local nDowelApprox = EgtCopyGlob( nDowelId, nLayerId) + EgtApproxCurve( nDowelApprox, GDB_CA.LINES, 0.2) + nDowelExtrusionId = EgtSurfTmByRegionExtrusion( nLayerId, nDowelApprox, vtDir * dLen) + EgtErase( nDowelApprox) + else + nDowelExtrusionId = EgtSurfTmByRegionExtrusion( nLayerId, nDowelId, vtDir * dLen) + end -- sottraggo il dowel al solido EgtSurfTmSubtract( nMainExtrusionId, nDowelExtrusionId) EgtErase( nDowelExtrusionId) @@ -2184,7 +2203,7 @@ local function CalcDowels( nOutlineId, nPrevOutlineId, bSashOrFrame, bBottomRail -- recupero i solidi local nPrevSolidId, nSolidId, nPrevSolidLay, nSolidLay - if bCalcSolid then + if s_bCalcSolid then nSolidLay = EgtGetFirstNameInGroup( nPart, WIN_SOLID) nSolidId = EgtGetFirstNameInGroup( nSolidLay, WIN_SRF_MAIN) nPrevSolidLay = EgtGetFirstNameInGroup( nPrevPart, WIN_SOLID) @@ -2220,13 +2239,13 @@ local function CalcDowels( nOutlineId, nPrevOutlineId, bSashOrFrame, bBottomRail -- superficie test per il posizionamento dei dowels : è la superficie in del pezzo full local nTestSurf - if bCalcSolid then + if not s_bCalcSolid or s_bSimplSolid then + local sCtrIn = WIN_OFST .. GetProfileCtrIn( nOutlineId, nPrevOutlineId, nProfileId) -- controprofilo in del pezzo corrente + nTestSurf = CreateProfileSurf( nOutlineId, nProfileId, sCtrIn, 100, nLayerId) + else -- è la superficie che viene utilizzata per trimmare l'end del pezzo prev local nOrigSurf = EgtGetFirstNameInGroup( nPrevSolidLay, WIN_SRF_END) nTestSurf = EgtCopyGlob( nOrigSurf, nLayerId) - else - local sCtrIn = WIN_OFST .. GetProfileCtrIn( nOutlineId, nPrevOutlineId, nProfileId) -- controprofilo in del pezzo corrente - nTestSurf = CreateProfileSurf( nOutlineId, nProfileId, sCtrIn, 100, nLayerId) end local nTestSurfInverted = EgtCopyGlob( nTestSurf, nLayerId) EgtInvertSurf( nTestSurfInverted) @@ -2235,11 +2254,11 @@ local function CalcDowels( nOutlineId, nPrevOutlineId, bSashOrFrame, bBottomRail local nTestSurf2 if bSashOrFrame then -- se anta la superficie da cui non fuoriuscire è quella esterna del pezzo short, ovvero la superficie usata per trimmare lo start del pezzo corrente - if bCalcSolid then + if not s_bCalcSolid or s_bSimplSolid then + nTestSurf2 = CreateProfileSurf( nPrevOutlineId, nPrevProfileId, WIN_OFST .. WIN_OUT, 100, nLayerId) + else local nOrigSurf = EgtGetFirstNameInGroup( nSolidLay, WIN_SRF_START) nTestSurf2 = EgtCopyGlob( nOrigSurf, nLayerId) - else - nTestSurf2 = CreateProfileSurf( nPrevOutlineId, nPrevProfileId, WIN_OFST .. WIN_OUT, 100, nLayerId) end EgtInvertSurf( nTestSurf2) else @@ -2301,12 +2320,12 @@ local function CalcDowels( nOutlineId, nPrevOutlineId, bSashOrFrame, bBottomRail -- superficie test per il posizionamento dei dowels -- è il controprofilo in del pezzo full quindi è la stessa superficie che viene utilizzata per trimmare lo start del pezzo corrente local nTestSurf - if bCalcSolid then - local nOrigSurf = EgtGetFirstNameInGroup( nSolidLay, WIN_SRF_START) - nTestSurf = EgtCopyGlob( nOrigSurf, nLayerId) - else + if not s_bCalcSolid or s_bSimplSolid then local sCtrIn = WIN_OFST .. GetProfileCtrIn( nPrevOutlineId, nOutlineId, nPrevProfileId) -- controprofilo del pezzo full nTestSurf = CreateProfileSurf( nPrevOutlineId, nPrevProfileId, sCtrIn, 100, nLayerId) + else + local nOrigSurf = EgtGetFirstNameInGroup( nSolidLay, WIN_SRF_START) + nTestSurf = EgtCopyGlob( nOrigSurf, nLayerId) end local nTestSurfInverted = EgtCopyGlob( nTestSurf, nLayerId) EgtInvertSurf( nTestSurfInverted) @@ -2314,11 +2333,11 @@ local function CalcDowels( nOutlineId, nPrevOutlineId, bSashOrFrame, bBottomRail -- superficie test per la traslazione dei dowels local nTestSurf2 if bSashOrFrame then - if bCalcSolid then + if not s_bCalcSolid or s_bSimplSolid then + nTestSurf2 = CreateProfileSurf( nOutlineId, nProfileId, WIN_OFST .. WIN_OUT, 100, nLayerId) + else local nOrigSurf = EgtGetFirstNameInGroup( nPrevSolidLay, WIN_SRF_END) nTestSurf2 = EgtCopyGlob( nOrigSurf, nLayerId) - else - nTestSurf2 = CreateProfileSurf( nOutlineId, nProfileId, WIN_OFST .. WIN_OUT, 100, nLayerId) end EgtInvertSurf( nTestSurf2) else @@ -2377,7 +2396,7 @@ local function CalcSplitDowels( nSplitId, vOutlines, bStartOrEnd) -- recupero eventuale solido e superifici usate per il suo trim local nSplitSolidId, vTestSurf - if bCalcSolid then + if s_bCalcSolid then local nSplitSolidLayerId = EgtGetFirstNameInGroup( nSplitPart, WIN_SOLID) nSplitSolidId = EgtGetFirstNameInGroup( nSplitSolidLayerId, WIN_SRF_MAIN) vTestSurf = EgtGetNameInGroup( nSplitSolidLayerId, EgtIf( bStartOrEnd, WIN_SRF_START, WIN_SRF_END)) @@ -2434,7 +2453,7 @@ local function CalcSplitDowels( nSplitId, vOutlines, bStartOrEnd) -- recupero eventuale solido local nSolidId - if bCalcSolid then + if s_bCalcSolid then local nSolidLayerId = EgtGetFirstNameInGroup( nPartId, WIN_SOLID) nSolidId = EgtGetFirstNameInGroup( nSolidLayerId, WIN_SRF_MAIN) end @@ -2456,10 +2475,7 @@ local function CalcSplitDowels( nSplitId, vOutlines, bStartOrEnd) -- creo la superficie di test per il posizionamento dei dowels local nProfileId = EgtGetFirstNameInGroup( nProfileLayerId, WIN_PRF_MAIN) local nTestSurf - if bCalcSolid then - -- è la stessa superficie utilizzata per il trim del solido - nTestSurf = EgtCopyGlob( vTestSurf[i], nSplitLayerId) - else + if not s_bCalcSolid or s_bSimplSolid then local sCtr local bChangeProfile = EgtGetInfo( nSplitId, WIN_PRF_CHANGE, 'b') or false if bChangeProfile then @@ -2468,6 +2484,9 @@ local function CalcSplitDowels( nSplitId, vOutlines, bStartOrEnd) sCtr = WIN_OFST .. GetProfileCtrIn( nOutlineId, nSplitId, nProfileId) end nTestSurf = CreateProfileSurf( nOutlineId, nProfileId, sCtr, 100, nLayerId) + else + -- è la stessa superficie utilizzata per il trim del solido + nTestSurf = EgtCopyGlob( vTestSurf[i], nSplitLayerId) end local nTestSurfInverted = EgtCopyGlob( nTestSurf, nSplitLayerId) EgtInvertSurf( nTestSurfInverted) @@ -2575,9 +2594,10 @@ end -- funzione che restitutisce lo Strip piu' vicino -- ( analoga a GetProfileCtrIn) local function GetStripNearestToOutline( nPrevProfileId, nPrevOutlineId, nOutlineId) - local nStripId = EgtGetFirstNameInGroup( nPrevProfileId, WIN_STRIP) + local sStripName = WIN_STRIP + -- gestione particolare del caso di profilo di split - if not nStripId then + if not EgtGetFirstNameInGroup( nPrevProfileId, sStripName) then -- recupero la curva di base outline da cui deriva il precedente local nPrevSouId = EgtGetInfo( nPrevOutlineId, WIN_COPY, 'i') local sPrevSouName @@ -2589,12 +2609,16 @@ local function GetStripNearestToOutline( nPrevProfileId, nPrevOutlineId, nOutlin -- verifico da quale lato si trova la curva per decidere quale controprofilo considerare local _, _, nSide = EgtPointCurveDistSide( EgtMP( nOutlineId), nPrevSouId, Z_AX()) if nSide == 1 then - nStripId = EgtGetFirstNameInGroup( nPrevProfileId, WIN_STRIP .. '1') -- dx + sStripName = WIN_STRIP .. '1' -- dx else - nStripId = EgtGetFirstNameInGroup( nPrevProfileId, WIN_STRIP .. '2') -- sx + sStripName = WIN_STRIP .. '2' -- sx end end - + + if s_bSimplSolid then + sStripName = WIN_SIMPLIFIED .. sStripName + end + local nStripId = EgtGetFirstNameInGroup( nPrevProfileId, sStripName) return nStripId end @@ -2777,7 +2801,7 @@ local function CreatePartFromOutline( nAreaLayerId, nOutlineId, nOutlineCrvNbr, -- calcolo le lavorazioni associate ai profili CalcProfilingProcessings( nPartId, nOutlineId) -- disegno solido - if bCalcSolid then + if s_bCalcSolid then CalcSolid( nPartId, nOutlineId) end @@ -2798,7 +2822,7 @@ local function CreatePartFromOutline( nAreaLayerId, nOutlineId, nOutlineCrvNbr, -- disegno ingombro local nGeoLayerId = CalcFillGeo( nPartId, nOutlineLayerId) -- disegno solido - if bCalcSolid then + if s_bCalcSolid then CalcFillSolid( nPartId, nOutlineLayerId, nGeoLayerId) end end @@ -2853,7 +2877,7 @@ local function CalculateAreaParts( nAreaId) end end elseif nAreaType ~= WIN_AREATYPES.FILL then - if bCalcSolid then + if s_bCalcSolid then --- verifico se area successiva e' un fill local nChildAreaId = EgtGetFirstNameInGroup( nAreaId, WIN_AREAASTERISK) local nChildAreaType = EgtGetInfo( nChildAreaId or GDB_ID.NULL, WIN_AREATYPE, "i") @@ -3343,7 +3367,7 @@ function WinCalculate.AddHardwareForSash( nFrameId, bOnlyRequest) EgtAddCurveCompoArcTg( nSolidPocketOutlineId, ptCenter + dLength / 2 * X_AX(), false) -- per solido local nSolidPocketId - if bCalcSolid then + if s_bCalcSolid then -- costruisco asola come volume chiuso per eseguire operazioni booleane con il solido e la creo più grande per non avere geometrie a filo local dExtra = 1 EgtAddCurveCompoLineTg( nSolidPocketOutlineId, dExtra) @@ -3401,7 +3425,7 @@ function WinCalculate.AddHardwareForSash( nFrameId, bOnlyRequest) EgtSetColor( nHoleId, EgtStdColor( 'GRAY')) EgtSetInfo( nHoleId, WIN_PRC_FEATURE_TYPE, WIN_PRC_TYPE.HOLE) -- per solido - if bCalcSolid then + if s_bCalcSolid then local nSolidHoleId = EgtSurfTmByRegionExtrusion( nProcLayerId, nHoleId, - ( dDepth + 1) * Z_AX()) EgtMove( nSolidHoleId, Z_AX()) EgtTransform( nSolidHoleId, frHdwFrame)