From 2b0a3a87c7f9cf59f99e2979da623e6560a7412e Mon Sep 17 00:00:00 2001 From: moxitech Date: Fri, 30 Aug 2024 22:44:45 +0700 Subject: [PATCH] First commit --- .gitignore | 2 + DecimalEx.dll | Bin 0 -> 21504 bytes ISS.c#.correctorj1.csproj | 22 ++++++ ISS.c#.correctorj1.sln | 25 +++++++ Makefile | 9 +++ Program.cs | 119 +++++++++++++++++++++++++++++++++ RealCoordinatesCalculation.dll | Bin 0 -> 34304 bytes 7 files changed, 177 insertions(+) create mode 100644 .gitignore create mode 100644 DecimalEx.dll create mode 100644 ISS.c#.correctorj1.csproj create mode 100644 ISS.c#.correctorj1.sln create mode 100644 Makefile create mode 100644 Program.cs create mode 100644 RealCoordinatesCalculation.dll diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d4a6c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +bin +obj \ No newline at end of file diff --git a/DecimalEx.dll b/DecimalEx.dll new file mode 100644 index 0000000000000000000000000000000000000000..138e561548eb3eb29f215c286cb8408987916fc9 GIT binary patch literal 21504 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 + + + Exe + net8.0 + ISS.c_.correctorj1 + enable + enable + + + + PreserveNewest + + + + + + RealCoordinatesCalculation.dll + + + + diff --git a/ISS.c#.correctorj1.sln b/ISS.c#.correctorj1.sln new file mode 100644 index 0000000..741e706 --- /dev/null +++ b/ISS.c#.correctorj1.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.002.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ISS.c#.correctorj1", "ISS.c#.correctorj1.csproj", "{D62B6028-A86D-4515-B93C-299D46A4F2BA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D62B6028-A86D-4515-B93C-299D46A4F2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D62B6028-A86D-4515-B93C-299D46A4F2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D62B6028-A86D-4515-B93C-299D46A4F2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D62B6028-A86D-4515-B93C-299D46A4F2BA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FA648F5C-E2D8-4219-A883-715C819FC2A5} + EndGlobalSection +EndGlobal diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6e3c4c3 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ + + + +run: + dotnet run + + +build: + echo build \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..01f60ef --- /dev/null +++ b/Program.cs @@ -0,0 +1,119 @@ +using System.ComponentModel.DataAnnotations; +using System.Numerics; +using System.Runtime.InteropServices; +using System.Security.Cryptography; +using System.Xml.XPath; +using RealCoordinatesCalculation; +using RealCoordinatesCalculation.Models; + +// | TODO | +// ================= +// Подгрузка M1, M2 +// Подгрузка PA.TA.HA.TC.PC + +// ДИАПАЗОНЫ ВЫЧИСЛЕНИЙ +const double NG_PREDEL_LOW = 1.494452; +const double NG_PREDEL_HIGHT = 1.506247; +const double BETA_PREDEL_LOW = -15; +const double BETA_PREDEL_HIGHT = 15; + +// ПРЕДОПРЕДЕЛЕННЫЕ КОНСТАНТЫ ВЫЧИСЛЕНИЙ +const double LAMBDA = 1.550; +const double ALPHA = 0.001383; +const double DGM = 60.00; + +// КОЛИЧЕСТВО ЭКСПЕРИМЕНТОВ +const int COUNT_EXPERIMENTS = 6; + + +//DELETE AFTER PARSER IS GOING TO UP +var XYZ = new Vector3D(5944.787, -1758.92, 3885.021); +var M1 = new Vector3D(3472.706, 2543.101, 952.0311); +var M2 = new Vector3D(-1847.56, 2517.044, -2771.21); +const double PA = 743.056; +const double TA = 27.106; +const double HA = 46.676; +const double PC = 743.12; +const double TC = 26.6; + +Console.WriteLine("[*] Start process of calculation"); + +Console.WriteLine("[1] Layer 1 :: Correcting coordinate is ended"); + +Console.WriteLine("[2] Layer 2 :: Calculate Distance is resolved"); + +Console.WriteLine("[3] Layer 3 :: Calculate DELTA is ended"); + +StartCalc(); +// Запуск процесса вычислений +void StartCalc() { + var STEP_NG = (NG_PREDEL_HIGHT - NG_PREDEL_LOW) / 30; + var STEP_BETA = (NG_PREDEL_HIGHT - NG_PREDEL_LOW) / 30; + + var CorrectedCoords = new List(); + + for (int i = 0; i < COUNT_EXPERIMENTS; i++) { + var res = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW + (STEP_NG * i), (int)(BETA_PREDEL_LOW + (STEP_BETA * i)), PA, TA, HA, PC, TC, M1, M2, XYZ); + System.Console.WriteLine($"[LOG] ITERATION {i} in {COUNT_EXPERIMENTS} :: POINT {"J1.1"} :: " + res); + + } + + // === Уточняем координаты точек + var J1_1 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J1_2 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J1_3 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J2_1 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J2_2 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J2_3 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J3_1 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J3_2 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + var J3_3 = RunDivergenceCorrectForCoordinate(NG_PREDEL_LOW, (int)BETA_PREDEL_LOW, PA, TA, HA, PC, TC, M1, M2, XYZ); + + // === Считаем искомые расстояния + var J1_12 = CalculateDistance(J1_1, J1_2); + var J1_23 = CalculateDistance(J1_2, J1_3); + var J1_13 = CalculateDistance(J1_1, J1_3); + + + var J2_12 = CalculateDistance(J2_1, J2_2); + var J2_23 = CalculateDistance(J2_2, J2_3); + var J2_13 = CalculateDistance(J2_1, J2_3); + + var J3_12 = CalculateDistance(J3_1, J3_2); + var J3_23 = CalculateDistance(J3_2, J3_3); + var J3_13 = CalculateDistance(J3_1, J3_3); + // === Оцениваем отклонения найденных значений от истинного + +} + + +// Корректировка координат для 1 вектора +Vector3D RunDivergenceCorrectForCoordinate(double NG, int BETA, double PA, double TA, double HA, double PC, double TC, Vector3D M1, Vector3D M2, Vector3D XYZ) { + var option = new CalculationSettings + { + NA = null, + NC = null, + NG = (decimal)NG, + Alpha = (decimal)ALPHA, + Dgm = (decimal)DGM, + PA = (decimal)PA, + TA = (decimal)TA, + HA = (decimal)HA, + Lambda = (decimal)LAMBDA, + Beta = BETA, + TC = (decimal)TC, + PC = (decimal)PC, + }; + var calcLogger = new CalculateVectorCore(option); + var CALCULATED = calcLogger.CalculateData( + XYZ, + M1, + M2 + ); + return CALCULATED; +} + +// Вычисление длинны вектора +double CalculateDistance(Vector3D JI_1, Vector3D JI_2) { + return (double)Vector3D.Length(JI_1, JI_2); +} diff --git a/RealCoordinatesCalculation.dll b/RealCoordinatesCalculation.dll new file mode 100644 index 0000000000000000000000000000000000000000..f6ff7a007494f0e5566df6674856f9163a44f086 GIT binary patch literal 34304 zcmeHw3w&Hv)$cmz%uHq`$uyI+>63Q)g6V^hq%HJCX_};M`hKJZN}-)5lO}dD6J{o* zB_gRjeDG4__7hZWMHKN>Kq!JJC~|$k&!DLA{Q$x11Fl{kpBKgNe!~5)wfA{sCJikj z`tx(rv(8#;@4fa~Yp=cbK6_5mwc9>I77_Vyz4<25y}0vdsleeuKZ+xh?u*dZLXS

N|yQ|ZkN)?Yr)0fNsTi*{bYRr#NL z*Cey>x#LEn^^6=My1@~`4E=eKs0`?lj}x`pyyLmY9Mz?E5cEnS(D9W+dzqKhkyidy$_e?vlPQslTD^FsK~m~gSc4M<+wbbr9{g-q@cfs z{rq9wO!Cu{F!ISpB15<*4knuMC{cLk1?p~&zGe!9O|P~-c?m@NW-ioxtB{1gzL^uv zJ_Mt0<`mPqL=dW~wP*&^K;x*{hXL}11EnQayb_({!_c|Rd@pl@C2>@l6%Lfl`Nd4s zKUTYu!?lBQqfl;Iad)QFE4+=`>0S(W4BCxINQRh`r761SD_ty)cY zT0QT!@)xzLr1(ViyYSa+gR)g@`jp3}z{&Hk1qlN-jg>lH;PIz5>DwOMWs{SQrAh9wz}M}R)IUwC`;6+G_PS9lVGW4vXQe-FBqShj?bQS zl?bp`29J;Olc!_RzYZeHh7-TT5np3E-V17k!UAsr|mPUdPy=F6_kP?5|~ zPz!+zY`@5m)Pt__d3!j+;}n=ZX_?c*2Q5eIsIRDtN<&4`PYNRGhQX0^MPVe3@D)qV zB8A%X!=tzzUN;w&inDa^9d7^`QQK~hQ&^DhQR3z_&~F(xiyar;=4w__6gMM`_!f4z z-|Oy$9(UJNj*Gn?{&B=j@jGsa`ing7_r-UxJX>Lj>B8aL>Ij<=aD@em6G0$;?pq2w z!x8r6@WM)>0i@J3A<%1Up>7vA;#QWpx|MK7A2i{t_%>F}j^QEgT;s?p3A(a^MRrDm z(USNa78e>$HFsWp#v?9NB(5@~#&l3#DYSEiquZj8t6R8eKr4gsMrc+Uh&SUFkMa5t z6dWur5mp?D$HQ;1`KZdcx3yhW^BoaxM^0<08b2EXs=SNa>_S`IbnvLhmeL|y;O9U* z&f*5;#6od<9M^0PyRIoK_H&sE&tZktJHlp{4ks*HhGlPxyBLgM7h<}Hqov|uXpVhM zplVR&E!2F2)7kZ&&dQ54A7LrYBi?W;ob{je&iZ*}uJVy0dC`a+z$3g83)NfcsMlZa ziW@PMxIi46oWrebKSYdM4Q&xrUk7*WYB zc=BKtIH3*JkP{=`WVa}qA5OQ95H&xRqs8&LY3qn#-E=(R?7FG0VmM*ZK(s7sJG{!( za5~WVEPyI|8#`p?Y<5QDMo%}{^?McJ&fT*YD3lbOp^phXKa zv%_~{2dyQ-Jgrq`cKB{)b~Aqs3coRqPr;2SX1JbKIX!)4lxxhGVn>gOj*eEvPiKK+y#m*I_I$j>cK2w_)vmy?MXGz6 zg|q(`RpoIpI+mZs{r0oCAYfne7li|8zfbg z&@sf(Fyhp#cUpQhwR?M8DoUewQbpb$X{WqXI*Pb=QpfUOD7OM5reff3M2MfyenzN1 z#Glw8vHI^j8N+Oi$(@25Z%M-{qt0NA_t+8!+|bFwXvp|+H4Jl0Cv?z~@#AV)8Ys~g zs57VWhO$AMfX7AF-oAP5QlaeCSZqL5?%b=7@RgO5VXAI|ifrFIDw<_W?^+41{X3$z z>#3^R5dE7q$WQ**j2-th#IBe>vNU%3t?y4(PnsZkLadH`4S}IXeku<&cDicNb!_+x zDhwx!_fo2H#5Y{M0+DW?5_j6^??%UtzA8FYfWK{bam2hET028zyX)QRc(A+dcz)ad z;>qxL@z=Z6@nC;>=V*X_XbzgAcBZjZN>h1RCMX_{d3<%ob@MU!l1)@T_3%|f(bHG) zy_rpA?m_$_Ib2_A*lKz8(W%iZXFBSmYLOh~%ejGfexafm^v`UnJvVHp{4?7+IIgD| zgW_7&d7N}kMI?AO7!jX`aAT2Al?DZ#Ps&vDh$6h9^jApd5ImN2d-VPa@jMldCEjt^ z_}Wrhh&+G?kf`)EDJ(1Tq}Sc8SnSsO%G|Ae?Am*#snuG}!KIqCEb_40!m-=MVX;e= z=w&{31x5(Z3ZrEYa9oWo8HLy%PBOXScz5$)>-!g1U#Timt=JEO(qOFHAeMx=&V$ON zcA%PkF_W0x>LVXN3Ql{<>9vz0D%N9q2A; zL+3Dz8T%$Gat&Lq;gM@-xrUMpMZy=G;Yz}S)e6ypnd`i=eFv0qjxnTR`Kavdd1_M6 z-yVjf43&`!x$<1a=fD=dN6XWx-(CYJLnBWsJB8^Z--6OXX-l8&4pl{U`(x81c+e>` zC(l6-f|5;VfU9&xJjzEa=@Fw>UJpmRMsqSZ_FCH{q*AYn&oZJEY+Upok>f@dqf4MBl(7B&nQqw zm?OdT3S{QY>X|i|G{ZZslCa`!Jj_!pGv3ZfeS8&ero1gzhTGPjpiJwQj!9nG@K4j zr6F`+pS3|Fah}95bCS%#`|BNi=Qy4WHwAdlZ;8*tIw`ARR`pfTI|0Zer3Y0;P5VV~ zHvoAUu?$MgO*ICMh1G|JG0eLveWs_pZ}s7|M-SVZFReZtQx%q3eP=n$>A>`0T763$ zc1*F^hgKiruTX^6-Ri^Er?AZGLo>}BB)-XE4-$_tC=}s{$BI>0X7#Obm@HmL4u4Nq zZW5L9zM*fWUB!cnU&2;ji(BTPQdVm9Az7*ZJgAhFS$(VRGBw8K9!^P|EvoW)SV6_| zdlXRZs^C#aJ>9Ux!_p0d9z}JnkcXvf!5l|r%_`Ny>6!4+kj!|zY>22G6g$xpyyojL zy^(|0DfNjRn`W0F6avzQJueobH;xi-Z-JuT?B*EiKs2nhk=AyB$mJd#U9?=T?et~W zW-&u_SSZ(%Q~dM?QXlP|cWN#<;+C>Qil-(F^RT@J3^{ikaqrArQ64ziw5sFpgU?i6 zvFIG_3+vQCZVeQ?*jHU2@LAV()dzBGnFi`RckF4U*_*MP=GF-drw}|!pXIHzo86relH8Ri2Fe*rv9Yv>L$ zK(mQCZ%UmDO1b_#sk1o3{C^kzsS)Ns6=sf4N`EC9_MyiJ-9?eI2>nMWf;!D2%~x_K z@YAI264bAxXUtr%nhyHMmj>tz^gE7@M!p4G9+5g9hvbQr@N+L;lU^PJoI%gh@ ze-42`^Z*0+3tloRXhq=1WeXhY+pv@=9;piYA+%cn+(!neNMKyJ89w);yn=2nW6DqE zbO2@LCR2F4r4XoB{I8UCgE~W~od#2*sDVs$c_{|-TpCN4(aH3YvNw&BDIK&>@I_w$ z@TExDoJ?!22;lFmiN<95s^A-Zj2{Fv=n`KwN_(aB=K>P~zawyg!1+>tx70rw9D_b2 z@RI`H6j&*x(*d{ke<(86+z?~GTsh_i_|~9v9BKme>T#&ape}VNF1uE!1Hu0lJ_Xc4 zO}!MJ4eF4p8GJfYZ<_R^rhW^`qVmav5BE3Q^w9)G(Vp;p(@*DU>VxKLGf179dZ~1^ zSxVz@bdGkxpVL+|LQ^#LEbRa_OH*CO9z251(NvGo18T9RV#Zdpf|@jSim?OKT21`{ z?V_|rQ-49bC|#hbFNgM+mDHiByF)#oGMf5)@JXtoi!^mta6G7fP5puPm?PhJLE4pP=1XdPY;vqTN{fjiwHodoZ6~($uHT9#DT$l*Gh%8p%nA4$?#Zedc%? zgB?6mSC=0!Pok$a)l$CCjFE4iDod4LZBC)v@SMptdqSTuPoaK3)&aHNyv>|NN3d2h zwIOoUtfi6Ikuo*E^r$(PCNwB&tTDxyPnT=z5qgal(2JTn$vA2*qKajz=F|R%&9i74 zb|Nh0n$pM22D(C1v&|>XCOV?2wE391ilUsV5laUAvX;gQbs$(`ya;NFE-OdbI-04= zs!+C$=IF9jC|gg9blC=!t*0hc2A{obZlD@$T~(C-+1yOc4rN(eDJ9e+baU`An)p`%zuc@>BXIR}dAk>xgqu?I1 zhhi-(^B|}OtA`Fc)G8}Wk2=&AtCuFO;+j{|Il=ALUaAx7AgBbWrMfI=?J+N+R$X>5 z(qLUgpH)=wFQI+re)^R|by|H?iOoNH53UODGcTb{nz{_srF4U)MvS=7IzZ29YCNdR z==Yj>EwazNf@ZH#QeKO6S|6Z=4z=I<5H)Hl6i!%I(FUPZgj`Jzt1=3gC9JFIWlcS0 z?lZ5U*ELmE`hM#=3S#@lUiuPd+@8h zshU8-`T~v7)c=8=w^OsGZi*zVFHw)CeulCy(|a}bQ0U{?%bD{X zK$GTRPh!#cN}1z}Fo$tV_y%2MFefU#^NGw*(u(CDKj$^k;RimJ`~dVcsZsR#KA=IJ z!cjOwQ|ef>3w$4yV3Xvh+jy%a-+-G^-=eR8a4 zW5BWKc0eD!2zw2YZ_-bM|1%GNN`Onl;Fwb1pdShT3R+oG-$yLXAZ6Dd{fs{#nzM}- z-6eh=C9PN=i&!5YwFCFlMAQt>k3@&@QfI43eoFjP?A2|s!ldhDbdHEcUzAo~1+?hr zfY{d+af;)3^2yTUQTeK?XT#7mdecyqmjw}9S4yNW0jax-EZH}w|P(89VJKoM0 zORpCjt3})Kq6tqflRj9)_tyDqaIdeta#X)BVZ1E*u4v-b(5saf_exOsa}p139gD6j zvdb+ss91vXgO{&#R%0<58rnYe*10ase*2O1#q~{U0LLJ%Z}Wd9r3~%yohNk^{25vq z^c$JK-;wz2lxSyY(hDfHq|~66NQho2HIPMkXFnD&jK7xgLTLq_AsH?Z*dVY);6{Px z3QP#>0u0arz)|$P;4cb4WV}#1o-P#5SmVF^Gib8W^daHTFm8`*ggb5s zr2#(`$^%{z>7y^8^g+Psp$foi>k+_HN*|++ z+I|4IANZ>{n_yTjFe$K0V7I^v1>Pj^W`Um(_&LBo(_w?*QGt&Myb3UZ-UGy11?X{D zT0s-&hrvGTGT!uk6&k*1K4N@GR;~*%3Qrh8+KB^(nRo_$)n9}21D~%3PbB4l<7qbF zRGJ4ki*kT-=w-k~^k0CD6hi&gG!k$#Jq&mr{mS1+ZS;G61z@-9r3hWnnNZ^A4pA$$vsV{J;z?}m71s)Rkpupz>IY@pk z!1bv_T9q&-Ciqf;JB71T@P2_5WS_@^QZvY{mI~Y{oSlOA3p^y8LxMl3>Xb^4Wh~*) z2*wYMVEjSB9~AsK!Kp&zYsh1_RPg=^uHQ8JGQfvNR|3Xp1zk#I#%N=PQDba2&M_`A zt}*yzg>VKE$2>By5}P>L8iCnV3GRP{e`yi@l70)AH(mjpWiW1-jDJ1E@M!Qgz&D8T z6;kIF!50Yrgy6pv{1$0dD)?xD7YIBo@TkDY1eTQk8PXo`GyIgn@GgPh7kD`Ih84uS ze16GB=ufps!klRXuk3tKqF@PqGMhk<+ z0Gi0zQQ+eMP0Zga;1d8%IteWdnh0ppB(yLn258b`v@kH6#sZ&;76wjC#{-{^76#6p zP6B=gS{O7R(8LNb8Tdj#6M0}N@Wp^wlhDGzpM#nXypc`;-UMjkbZ!Rl<$xxwLKeYZ zgiZxqL#F|*#kyh=o{<69(>&DN0Js}@>o&vJkD-(gk2HVAVNJuf&iTAx9L5S($g9LU zSIDayf|tX(S6FX6)_7hkd0n(WN3p6F)|*t+@2iG^-58(E`eFAn*tiS6;_GQ#zs2z2D)aIT<8q76axjb%r6RF;09rXZ9w&gQf$gQhK zAGqe=np^>pu|&HHotWOq$tCY6F~(Lt_eMKYbtcC}HujXLo6 z<9gaC-$o7X?bMRaC$spIa(j~Pbau8YpWKp8q`G#eK{jdQHecAA$bwcT*;GSMPcq%k z?nvbGC|%sJWY3Nr%MxvS@ZHMtu4D?Vl|%5>4Z+(m1g~`n-m>B@8jD%$hTv@&g4a3( zZ{3PwdFK?f&MjtbD`u&%D&|W(6|;E|i@7birsS^P-Ngk>ySs~-83bG=UBvHB<~uX( z)RE1k^NG~v-fTyrElC`AjoC~thY{P9Ok`K261kjRXpcUvNai;sJCfNX;v6xtx2rwL zyp@SuXCwZ~qaAIVdeix??j)kFyQeFa%x+F*_ja`Y)<9} zGrE(xTw-^USONmBd0$&+A`QAZ-QJSko7uw(@9s)#+|8~98pz~cpH9-+u5@pX5uP|3 zvYGd&$*>{QmCmnEZ%8Fj1VfHd(j(>2WmgyKZRLdBy1z#WlNqkkR%0fcB+RxR%>H~Y z@O8=EnEtf3H^oywmv2g@6sNg+SF*i5+1`*xZr;_4I<~81a-xx^$f>l2UE)xX-kZ-R zQk#;wOm7z6T>}sG4yqy1vYS^OPb)Y(IvUmn(@G!7x`8A?rSEN_J=VB2w5dsjiEY)PY55H(~k%E>9(P z+Y#N`nT1xEoi@XsWZI8h(wb3UXG=#qS;(4T<4wu7F7$&fL8sJFX`C{<-a`$!{pmK$ zj?^xsZNj>v5V$*&-M==G&2=VHq}x+#Hj&QpSSr0KE$Xx88PrnC!5SodD{>2yYmjsVN4B8NxVmv|?ByzHD8yAb=W%Q^j@2={U#2)Sj%^6F zCv$n;B678CCa(|(*xb7d6IfPdXHb(JdYyJn=Ox}jx~VI%JDtIpyDWRMifNf1dqK1%*v0lL zP*iT`c(@1~0IYnwv6oNgoM#Nq6gkJs2sEsyh&k}|2GFAumgV+j12XXbTvrY&V;h$J zOhRtf}=0am8+0lW9 z@CKdTmG9I$BHowSXbpRQW=xgvT^u=f?s5;*g-!k87P>Vq=^Ud?A`+VOD;9PHsZ-JC9@y!Ki zk#9cEF^#(OaKdyx#b_MLm-v>VY`*VIk-)N+K<+BkUI>Y`zJ;h~w4Em>7sqb15H(qP z9i%Ps)#F+LiK_PoUlXJ)6+P=k{xVRtzSF@y6K&?JK2~!d^~30Oe0_+%{g<6bX-bH& zN$85ZTa50w;~1R@EJlqmu-115t}}hJVI*hI=V9-YfUr1xs>D{p zC^oJEB9!OZ4ax-WhDUIXjG8idE;#j0UG7NLRYr2BbDc5us=!j!I4^{AI1ZPIRKCwg z*&@h21N^0)zSxP}AK#S$|HcN?;;5TVm@}*i+^AlJ)k}9Ac*inKO<8=V5Z~z-ej*k)M*l zIepj>;=ti4zYOBp_i8%L1r?+Dh*350>(L=kdKFTGvm-0G1nO~ks0?e@p64jfH5#1o z^h)MgXpcBg`oX!FvpT0No@bnP3TF;Gfs+9{g6FT!qy1k#5BVhzN5p6!UOnB9>tb=n z8RCqg)4)*O^K9ZpfYqu+XFRW#LJ^hfW9WrPAx2H$E`cGuT-Ygul{*U*o6fTB$pEX_JxTXCUwYt-%!8y7%<#H#)Nt-rOB?4=9VPt_oQLR`jRZVfhv|Z0 z+`=y4b&d1pnGndP6o<0Ph;P>oG3pbIVxm(FT3rI&c){VAV@IjzQR(N#^9aWxXs|=B z!ZEHx&g67|{G+Vqm&&1woEfHqy)Xhetrw>HqZY4Yn1B69*&DEksijOUX2-7vhuI1Q z2Cooj!Ru<}mVJNZJkWvai*)LgfecwQGc(+H5(TQP=^>ti>21H5~^hO))HaEW6Z-bo^O`wLEqv zIqXhFt~fZ^){$C!j^BwVG7*nj+#?4c&znWED6)GBlIwvMS4Ga&g({xtig02oa*sTN zcuMmk<$XX{h>_+}R(^@|D8SM1_R}a!fhr(GuR=Uq7HYL{Hn0JwY461W@D99&){OUl)cKmdC>%>gPHddM>ahjkO{UtFtHY|H zo(MPv7Vhkh??{Cc;~X`)n|a;fq`DkF=9S>>9C#ab4cPa_@G2fQ%Qy{DSfiYYoC&H{ z9=7Mm0~A&iIuqwwoTQckBf%OOE9b|jc091LEc|sQ{8hu4v?OZ={&TP#{%A{vvY7BO zJmqEalR#fIRq?qbCarU*!IBbk&j7=xdH=w#pZ)2V)?9J&)%QKxarpD(iy21H!ZWoW zNHof1L{OYT7={@vu`1*IgBK$!`>#>|%JBarPNa&7c;|5<{*yJohu!_)WaB0c-QPH(VbfbdNjrwO=G!~tPAEx>4 z{jqsmvc=D`f`MAYKv$3$2`EWGP40Ok+k!sBhT=0XhF3&YKNxG2#rzNvH2vWcpLB!{ z@c%|~4J!bYASJrdSHi-WUG68N91K99W;sKYmE-kOX~Z?RFqmeAjbNz4G%68jWN*-hAky4c;u`dmqvdYUKo6|ujD6*$Rn2K-i_aty9` ziT0iuFwH;^!VEwA?<7AQRXK)H4dazDOAV=l?6+{t688ZO#-Jh(YiZ1wl(bzRqv*yG zVMI6b5Xhj0Nwvag;tgF}04rTaYB;2tTZR%o-}>+N-~Qsj;emS}KLFO<1K+Ug-V5X& zFdi7V8}+%~z`e1@uLO2E=x+|(IdJd5QOIG=b>F@}#xfxMV*|I~zuYyb1aBK96S<@! z>hPx~@Pn6&4e|>?)c+NO`fnTfBxHT<@yiD8fBfp$z}Ij?NB6OA=;iK#`=Hdly1)CN z0BRh8N)J4K)#F#h2EK*1_lto?SoO!R8u*4X@~9|{T412{5pE_@Kpu!mi@VtaT>nnE z1tvhMG7{wdk6#N%um@~E;TPT};idFp-eRE=j9V7Jw&*i3dVU#1KoBS6cV_nR``E2! zc|$6dxk!IooCG7(lJ3OI5&Tvts;wFM*3}>rANqdu=MxZ!(btlhwYb0sd{ zjkx-BA#U8J3fC#PK8&&td&IIX-u&>c>ncC|*_Mx;{jIxlM{m59Wi&3_ zz9om(47RV$?1R#6o!gr-ZSrPKZoBhcy?V`{h{jt3+jUTEPbc#TQIN-cyQ!xgFXygo zsGoN_X+>sKX+>b{%G>6>aP+$`eEOCD*L`H|Q!vQ>{DJY9O%1;P+Eb5c2c}h13h#RH zi%hvT%(0}rQl;CxIUQmO-7;9-zo`EP9^l_%A^c_v^$#{yW;V8(#eA-}64yD02;Vs} zr9Sh0bAfD?huf{#sBZ$+g5McghmCs+;Bw&ndBFGb8*0Y#jN^~G%O8sX#Uj-L!DZ^x zgqs1`yir|_?PvrYR?1T=2G4Z&%U!i0|XrsTj}+FW<<9 z7VlRUNyNyEdQEsCP^FC`8rdb5s6~R2?q!Lku5+FlW8*eoS4KQ|GJl zO_dS2Kz=XCwxNTEb6=dt;1hEs&y`+3*`5ac!XGT7I*H|_1N3dqXych@WUVMJfP1S$lmSP z(}OYLk=>04n>^~oaCL|t>os3J#-toOSSvMxf2}@G;CJTvH>0xfYCHUg->L9eOEdwG zh5Wh;KZLr6(EJ#>6hG>VVf!m%^^GFGTjGA#t{zS~!fH{Qze+0nc3p8e-qc$u>N`h% z1&CXzZ{@iSzaPUfWWPHwAM_%e;V%Z4<53+~;!j3mJhAC4u&Hq5-El`QkQl))2jM3P nzwW|V@xyCj8#hjBaLVwn&%5q{k6_P=PJ?)t>tCP$ejfP$TKCuA literal 0 HcmV?d00001