From 2d182f3cee88d93d899d55457a8f92256a37208f Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 12:26:29 +0200 Subject: [PATCH 01/15] gotthard2 server: tolerance in time parameters fixed by adding 0.5 --- RELEASE.txt | 35 ++++++++----------- .../slsDetectorFunctionList.c | 10 +++--- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/RELEASE.txt b/RELEASE.txt index 0af457ab5..b48f1069c 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -1,7 +1,7 @@ -SLS Detector Package 5.1.0 released on 22.03.2020 (Minor Release) +SLS Detector Package 5.2.0 released on 15.07.2021 (Minor Release) =================================================================== -This document describes the differences between 5.1.0 and 5.0.1 releases. +This document describes the differences between 5.2.0 and 5.1.0 releases. @@ -22,16 +22,13 @@ This document describes the differences between 5.1.0 and 5.0.1 releases. Client ------ - 1. Added settings and threshold features for Mythen3. - 2. Internal modification of acquire for Mythen3. - 3. Added getMaster for Mythen3 - 4. Mythen3, API function to set pattern from memory + 1. Mythen3 server ----------------- - 1. Setting timing to auto, sets timing to trigger for slaves + 1. 2. Resolved Issues @@ -41,23 +38,19 @@ This document describes the differences between 5.1.0 and 5.0.1 releases. Receiver -------- - 1. Current code only calls Implementation::setDetectorType from constructor, - but potential memory leak if called out of constructor context. Fixed. + 1. Client ------ - 1. Fixed missing scanParameters class in Python + 1. - 2. cmk.sh refactored to have better option handling + Gotthard2 Server + ---------------- - 3. Fixed hardcoded path accidentally ending up in the exported CMake package - - Server - -------- - - 1. Bottom port not mirrored correctly for Eiger quad + 1. Tolerance in time parameters. + Eg. 220 ns was being set to 215 ns, instead of 222ns. @@ -66,18 +59,18 @@ This document describes the differences between 5.1.0 and 5.0.1 releases. 3. Firmware Requirements ======================== - Mythen3: 0x210201 - Jungfrau: 0x210218 (1.0 pcb) + //Mythen3: 0x210201 + //Jungfrau: 0x210218 (1.0 pcb) 0x200721 (2.0 pcb, not changed) - Other detectors no updates from 5.0.0 + Other detectors no updates from 5.1.0 4. Known Issues =============== - No updates from 5.0.0 + No updates from 5.1.0 diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index 21f7baca1..8f4f60087 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -989,7 +989,7 @@ int setExpTime(int64_t val) { return FAIL; } LOG(logINFO, ("Setting exptime %lld ns\n", val)); - val *= (1E-9 * systemFrequency); + val = (val * 1E-9 * systemFrequency) + 0.5; set64BitReg(val, ASIC_INT_EXPTIME_LSB_REG, ASIC_INT_EXPTIME_MSB_REG); // validate for tolerance @@ -1014,7 +1014,7 @@ int setPeriod(int64_t val) { // continuous if (burstMode == CONTINUOUS_INTERNAL || burstMode == CONTINUOUS_EXTERNAL) { LOG(logINFO, ("Setting period %lld ns [Continuous mode]\n", val)); - val *= (1E-9 * systemFrequency); + val = (val * 1E-9 * systemFrequency) + 0.5; // trigger if (getTiming() == TRIGGER_EXPOSURE) { LOG(logINFO, @@ -1029,7 +1029,7 @@ int setPeriod(int64_t val) { // burst else { LOG(logINFO, ("Setting period %lld ns [Burst mode]\n", val)); - val *= (1E-9 * systemFrequency); + val = (val * 1E-9 * systemFrequency) + 0.5; set64BitReg(val, ASIC_INT_PERIOD_LSB_REG, ASIC_INT_PERIOD_MSB_REG); } periodReg = val; @@ -1067,7 +1067,7 @@ int setDelayAfterTrigger(int64_t val) { return FAIL; } LOG(logINFO, ("Setting delay after trigger %lld ns\n", val)); - val *= (1E-9 * systemFrequency); + val = (val * 1E-9 * systemFrequency) + 0.5; delayReg = val; if (getTiming() == AUTO_TIMING) { LOG(logINFO, ("\tAuto mode (not writing to register)\n")); @@ -1097,7 +1097,7 @@ int setBurstPeriod(int64_t val) { return FAIL; } LOG(logINFO, ("Setting burst period %lld ns\n", val)); - val *= (1E-9 * systemFrequency); + val = (val * 1E-9 * systemFrequency) + 0.5; burstPeriodReg = val; // burst and auto From e1c76fb04a19ecd0893a6c321dd9223ddb5f609a Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 12:27:30 +0200 Subject: [PATCH 02/15] binaries in --- .../bin/gotthard2DetectorServer_developer | Bin 0 -> 224836 bytes slsSupportLib/include/sls/versionAPI.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer new file mode 100755 index 0000000000000000000000000000000000000000..7b3fd8551e7126026f082dc96169d2dba2ba31b2 GIT binary patch literal 224836 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%0A)qEnG`25gLd*&w0?z-r8vy*p> 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 X-TL+U@)}|hUG3JCvC-x!J>CBSg%KQ} literal 0 HcmV?d00001 diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index f39bec75f..69343eb5c 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -2,7 +2,6 @@ #define GITBRANCH "5.1.0" #define APICTB 0x210225 #define APIGOTTHARD 0x210225 -#define APIGOTTHARD2 0x210225 #define APIJUNGFRAU 0x210225 #define APIMOENCH 0x210225 #define APIEIGER 0x210225 @@ -10,3 +9,4 @@ #define APILIB 0x210225 #define APIRECEIVER 0x210225 #define APIGUI 0x210225 +#define APIGOTTHARD2 0x210714 From 76ca4374e4e181af70ecb8db3721cafeaad789fb Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 15:10:52 +0200 Subject: [PATCH 03/15] added tests to check time parameters tolerance for g2 --- .../tests/test-CmdProxy-gotthard2.cpp | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp index 53cc11120..d33e4e25d 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp @@ -15,6 +15,28 @@ using sls::Detector; using test::GET; using test::PUT; +// time specific measurements for gotthard2 +TEST_CASE("timegotthard2", "[.cmd]") { + Detector det; + CmdProxy proxy(&det); + auto det_type = det.getDetectorType().squash(); + if (det_type == defs::GOTTHARD2) { + auto prev_val = det.getExptime(); + { + std::ostringstream oss; + proxy.Call("exptime", {"220ns"}, -1, PUT, oss); + REQUIRE(oss.str() == "exptime 220ns\n"); + } + { + std::ostringstream oss; + proxy.Call("exptime", {}, -1, GET, oss); + REQUIRE(oss.str() == "exptime 222ns\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setExptime(prev_val[i], {i}); + } + } +} /* dacs */ TEST_CASE("Setting and reading back GOTTHARD2 dacs", "[.cmd][.dacs]") { From 6c0795ea63244edd44ba05e5eceb578ca7199451 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 15:21:10 +0200 Subject: [PATCH 04/15] done with all tests for time parameters for g2 --- .../tests/test-CmdProxy-gotthard2.cpp | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp index d33e4e25d..aaedf964e 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp @@ -21,6 +21,7 @@ TEST_CASE("timegotthard2", "[.cmd]") { CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::GOTTHARD2) { + // exptime auto prev_val = det.getExptime(); { std::ostringstream oss; @@ -35,6 +36,70 @@ TEST_CASE("timegotthard2", "[.cmd]") { for (int i = 0; i != det.size(); ++i) { det.setExptime(prev_val[i], {i}); } + // burst period + prev_val = det.getBurstPeriod(); + { + std::ostringstream oss; + proxy.Call("burstperiod", {"220ns"}, -1, PUT, oss); + REQUIRE(oss.str() == "burstperiod 220ns\n"); + } + { + std::ostringstream oss; + proxy.Call("burstperiod", {}, -1, GET, oss); + REQUIRE(oss.str() == "burstperiod 222ns\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setBurstPeriod(prev_val[i], {i}); + } + // delay after trigger + prev_val = det.getDelayAfterTrigger(); + { + std::ostringstream oss; + proxy.Call("delay", {"220ns"}, -1, PUT, oss); + REQUIRE(oss.str() == "delay 220ns\n"); + } + { + std::ostringstream oss; + proxy.Call("delay", {}, -1, GET, oss); + REQUIRE(oss.str() == "delay 222ns\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setDelayAfterTrigger(prev_val[i], {i}); + } + // period in burst mode + auto burst_prev_val = det.getBurstMode(); + det.setBurstMode(defs::BURST_INTERNAL, {}); + prev_val = det.getPeriod(); + { + std::ostringstream oss; + proxy.Call("period", {"220ns"}, -1, PUT, oss); + REQUIRE(oss.str() == "period 220ns\n"); + } + { + std::ostringstream oss; + proxy.Call("period", {}, -1, GET, oss); + REQUIRE(oss.str() == "period 222ns\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setPeriod(prev_val[i], {i}); + } + // period in continuous mode + det.setBurstMode(defs::CONTINUOUS_INTERNAL, {}); + prev_val = det.getPeriod(); + { + std::ostringstream oss; + proxy.Call("period", {"220ns"}, -1, PUT, oss); + REQUIRE(oss.str() == "period 220ns\n"); + } + { + std::ostringstream oss; + proxy.Call("period", {}, -1, GET, oss); + REQUIRE(oss.str() == "period 222ns\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setPeriod(prev_val[i], {i}); + det.setBurstMode(burst_prev_val[i], {i}); + } } } /* dacs */ From 016d0d7face36f5dab3bcbd135c0db70017aff7e Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 15:28:09 +0200 Subject: [PATCH 05/15] jungfrau server: temporary fix made to reset core when stopping state machine. problem: stopping in trigger mode and then switching to auto mode blocks data streaming from detector --- RELEASE.txt | 8 ++++++++ .../jungfrauDetectorServer/slsDetectorFunctionList.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/RELEASE.txt b/RELEASE.txt index b48f1069c..da7f997d6 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -54,6 +54,14 @@ This document describes the differences between 5.2.0 and 5.1.0 releases. + Jungfrau Server + ---------------- + + 1. Stopping in trigger mode and then switching to auto timing mode + blocks data streaming from detector. Workaround fix made in + detector server to reset core until firmware release. + + 3. Firmware Requirements diff --git a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c index aa5c97006..f9ac4032e 100644 --- a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -1832,6 +1832,8 @@ int stopStateMachine() { bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_STOP_ACQ_MSK); LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG))); + + resetCore(); return OK; } From 86d1a18ca1b701dd08faffb31a65152608a61daa Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 15:28:53 +0200 Subject: [PATCH 06/15] binaries in --- .../bin/jungfrauDetectorServer_developer | Bin 0 -> 233516 bytes slsSupportLib/include/sls/versionAPI.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer new file mode 100755 index 0000000000000000000000000000000000000000..37e232fd0fa90af5519fd7d8ae3a0a7b05fb72e3 GIT binary patch literal 233516 zcmdSCdw5jU_5Xh+;WB{%4i_~F)d8_ZOWOg_1_Yf16pSbVQ$@1ZAt1H^sRjf^ zMNI@1HNpfDxv3L`I+H;Sh=`SHP(Z|>IZPa*A_R;zU}V0pwa=WH6GT$~`~C7fD|6oK z?7jBd_r2G?oN-qS&($=o1vErUxzVqswhw5j_jxr<*VMD-zL9qh-@)jk{GRl$^~8aO zrVWBFg)W1x=<6uT@%(m5Yu~!p|4}yB=y_u*^j%=EaWPL9-*{n}*C-gE3GMII@MFuX zjQsX(q4cM<+Eh(*_11?QL)y9^uQ9Bx2IYFLHm0}NN44YsocHTGoL{VIv0FlEZS;

CZZ9H7(qdm}wG@AbGaj z3opynM)}D!3fhZ52fyRAD-HLJX^^v6bG1#k+-JF3re}IY%BX}ayIhSo*~X&wZ6Lik z9vZx0pnR>@a9^ZB`oe6Z2p2_37g~Nxt@Z+ZntaVCZcHiiZ25HfdKf4i34WzT`aZ2i ze*26T`S3xf>pb0Zk!cj(=zt!|(<1kNX6VQOC5#b*&)rRMYcE!Lt12f zofW2&a31QOZB(II6`Emhztt&q z<&H4Ar|9ACVa@08dBU0CZ7Dh7JbpW+YOdDgWp_<8(o=HETe`a&-CM899$B6f%nxfJ ztz9Rb|E|t@T`6oT;7Y9;4QdbC)1ZUfYow2-#EjP>9kjaeVU_0n zv^rdVbWrNBC*FRv){X`Slm!EBRSVBQSREef@lB`$4tOParNTq@4FhikZ&Y~TJ}9dCDzx ztEOzzZ5?i(Y1XYs_2Y8hyuxdoo`yU}u2sfN{)~Cv!3o{sZl}x>mxUu7xoN%!M>w5Y zN>e{K&a?0XXq*wfCw76+_|sEkdKf=yS!k|B{`-aWKN-K7na0kW z9FP{tsHzTMU^EQ6~LI!z*V!n9|kevK{lXM8HDU(qD>TdLG= zL+T4Z)97`x1Cq493RJ zxP|66miFv5LW>+atVKSU>vVOZ?q=MqL9xi1MyvI#Y?OFS`NoN+|Nb`Vza2FVFEug_CfotIzcHnwR2{ugT94Xs5FLrc*jgC5r+-4{x#)u!pbx_}e6ZexyS zc4r!6#yEsPZsUH9u~y`Q`)DiMrz7Rc zR$k-#mYSg%5^j2mlQx5QDQ-jmojl#kQ`(@65%PR_s@w&EKc#H5Ze6K zQYuO)6(#Xf(Xlw`iaC$-ymaXmlf2HnZ|XxY&NLdR6Ad@-SK}rbC&wZqf3(W%-+z=c zd)n7lS?lj}rj>WK`dO{E1!cGAEgBSyT&#RaFZ);J>)2OrV~M6k?wRBCOwBf*$IUT+ zrwebm`8;|~vMz``FY>&|YoCyJp_2DuT;6r~9T}H5ATDpX@Z$13@T5$TL*(Wl zHwU@u>p$E2s3{uOni1Pg7xcB&Es;<%!u&kK2gVW#*drAG6Kh2WRV^px?`=iT0<1BRA_h zlYdM6{fyaO#svjFYg`~>ip6PMjGP|EZtX~*hp`iV-kE*s_pi;S1~WpE5sf*XX<+6sjP@uS-}BM>Oh!S@ z38wTJImg!O3rEuGS$;%InHx0twRUZE{=3}F4>VT`_5UpLu^#Q~NwZ_*{ko%8`TF>% zOgnT4hVJ&~v4N{jqas|fE1o4QOqr7m|Z)gu2{CBFKX(%v~+>N85IHO>~asR1?n zkyN`x5L-O3qQgnWFuFF-3LFO3m%0 z=KF*-g|HqwrTh})*RM2F&-9<3A^B~dHww&QAh+|@fj zSZR0Q2T8k!qh_2hKc!BaN!`^e&9vK}NV{s{bN&fw*Zq`o{z%;JS8{$$+EtTw`w45u zJzC`O%2Va>@#nP2b&0f-a%}boJ?RhXNriganpouWL>kJ#-y<``WKW=BcQs3UL0PCQs7iZKm3C=~q_mqk zHlwthHpr34vEQm3d;1H?v72z^z7^}pt){Dk|Fv?gv(k3m7X_su@?%mwB~IQ3edQ;; zUKB0d#&I+~=bo)u1*LPg7Cum3dN03o=3I5%oUIQOwz^JwIdReOPpe%qw#X%*ReCvjmy-E37zM={6jx*C2HS{->PM|1A9PO!&9@`~hX5Qm-+D zay8`ESY*rh(pJbA_p9%vt(ad!DUEbxv|ktQ;64)S|9o9YACZ~Uv9C2s-{7cYo+e{0 z89N{9YK|&c`KWcNI@aBIS93a@%r>izVedaSs`#Psx!r?)r{}9%riSxFnOGyWj#EP& zM=)c!jTysjmMzj8TYWG~%3;F?)>y1;mdSq$J|j}}o`~KPzZZMI=>5p|Md;nTrq*q` zd*uZG#c}`7!*?(mmhs*Lao*EP<|1S+LguC4i#1(jj{n||%#@lp;xgx*AoG^E{~7Sp z;xhj)&YPlSZbRlaWOn)9w6tUY`#yloJ&{FmnSVV&=AgL$5%4{}%=k#NZ=5?sNv%g} zJyO4_PuTyyuR!Wckz3EiQ`TgDAUPSlTeNl?tv!xhu^mXd zbaeGfuL$Ywo%*Jb1M6=^$mvQ?AK>1EJ56^uf0wSFJPzmiJb8Q$=Nak0PlT6_C1OAV zWq>YBATOwQ0u2M5mq0n7vlD1E=!^uCF|n+*RTJmx+jcMuawcN^2Nmn>`>psU*Yl;|9`T6{snx^K}`eqUI|+n1CM^;Fy}YYgU^(xLg9s|WLdaVN~IJ1q?QsqxM(jMoZX9n;-L zko0euIcKXsHE+Z*Kl7&!DY;S>gui=cvRzJ${ar5PHl44JD*ig$$=xu%E_~t}y?BJj zxCI-~{dLUns%?3nihR%gmVBB2xEU8+U@VG>6*VVrMZNY@`dDJW{C0VB{TQuZkBKMR zBHYh8pSr+Ujlb-2&6gPz+n+b6_46$)^mzY2#qk>3iOY84vN0YPN5Za>_PC=Y?Qw}q zQQx93QndNe6m6(y@y!n@o6iS(EAooMMdW#pnbN+IPpuufGSbcr`=w)&)|06(LsKB5#z4PczMr`pq?l^by&fO(VU=V<))H zc)Fv<=^1P+xIGnO78K~{N%hDY!n`9^sa$J#`w^>+yW)tX+81#j zw~CK!)5p~_WHoCbJ_b&bv1ee0o@P5zCyWbXi(0ap;LAv$N$XZN?esF$vd`aJ}WQagU%eC4{GxE?O9j}%z-%$y58gI>oA(tNW=I4LhJ(y_Fno#>dfz1VfrT~&-2A#_)vr3-;P1saAG=^qHS7ILW~%3F z#5%3w=F4KtcK#;~GIGA3F}sYMXQ#@@`MzTzePOWlSg3M+`La1%QwklvW1*t;1TU_dpWC^A>3skj{gKX=53QY^E=zNE*R9B?c&>cDDDkY9jx6<;mnCpf>5kHh@*N4RFB`e6y8Lhg7cJYd zObd4mTVd$M?!{9O2XL0Lm80_mXH3Oxv_VlAj5xTA@mKJXXA z*Fqgb_At(aza9Qm<@+|!d{D7M$7}X%QRLfy4=A!_Z<#TM)bLulQoKNU`SzFL?raQV`^wX&2zC>>9VH&S!%aC-WK83%#J-qF8i2_Z~4WQ~L$ zJXAply*|q{CL(3x9g>3AkCAjgV~m@%05c8yzHX-YwAa1tvT=B>^yJVFWgfCx{F@I| zBBf;$J-z6pK@xtc(q|xeU>x_aDP^73uk_zT$PoJb(X$#?)#&L*PyLY9LtJ!7TE3n8 zGK~YcK7gLvkBgpF$Ilq!QF==Lh@O(0(_YW9>G|zJtDbZ^RELzZeVVT@ENR+X&kCIz zdLVRvP|8wWpikMfGAV7clgJnJth;j^BV^y{#P#lJ zSML4+r!Z7FB2&2r_7rn%N%va*>+{UrERG*SMH6b-ix&I3?@)NEloZ)ba5>o%9 zTxBV#MG1F)^5$Ya7U@TPJL$7SkF&32>}2Z3 z%IT&Ru6(-ko#&^w7hjcES0dY>4;72t6VsD=$#^frby2#kah%0isbq=5MFr>2kT;$yh^JR1GP=WWxS*aTTu zwRVk=YBCpUs>>E6Z$WbGfaor|^i;aMg=CpY4Mp+{#*p&-d!RXS%c?zqEW>{QOv?A|dOG1CrZwktG&7=XCGY-VsNA!vO;gM>_ z|H^?J!n)>Db`F*2c4xmqD|RNZ`?I(utIv#6bjS^P!cO1H5nje*o&Qg2ZvOv8v%-Cd60iWD3-I~-1G3Lm@+s#)AwCc7jYU!kzeReX&tIPE z_VV8!)M$qqzLog}GCK##Wu&R|8wl#W`6m8mvR0wqY~!~g=;qC5-%98buAlf`L%3@R zcP-%_`o^+&bvaN(xUUlKJIHB~?)6m?uABdrD%_26>H2T0m2?lk)hgUq;%}<7x_G#C z<#j6DW$|z|pEul@P`4B6_WYyd)~nyhNI>Q(d%p1#?mzZQZvB(^$auS9nrSKjAeNcy z4M`~w?#I*2->-Pf4jN?D5Q9g*u|@;0eiJ~_sJ#yA>RjBviF^6oq120#Vv1;0sZ>n+Ees3RIN^y4+?s9RLJGBq)F8;=Fo+|dE+OI`738kIVZLJEW!fK&wPgix19i@J!>vY;Z zUDd$={sT(OZC_it`t8?}s|!A17f<+8!q|hGJyX4m2CI0gnwrB?HBZ%3eKOaK@7Wkt zd={&Ytp78+tL1I&R5z>gjA^DarkUD3oN3haR6n)BUl%w()aP}Fr(>v`)LHPgRR+qw zCZ>^`PuxbGmak-;l`fX0R{Za7+~RPiNsaC{jl7)}i{yVTWkKTm#Me?5`hAi%F)e(b zTXgu1vPhZ!4r$J`(`aU#tf{kK65qq|J@RWwZ}I*2uPgC=n({rt-Qf4AkUQX`;TBm5 z^pvsh_GZ}`Bsxf$c>d15>|ww4&n1+(gmU)RR=FC?{t_*+e~+|c zeMr;gxLA&hb}HATSMK|D9WHj@qDbVlYlQ~0L(Wk}%t;wd3@(zib~#dtLZZV1cL)7_ zvB%kWOm)I4`ig_Sk?cNCwz+BXHrJl(K|&8sld}1rudGsY%olmFduclxX6GLDn|3}~v6Q#% z^UYs3uFN;0cT&F*37efM`+a2BEH>Rt`h_?Qf2=ZW#ADyD$UFyQt+SplW36^FN|t>@ zlZfRcl}`(5tv0o+R!U&b$EIF8roga*7#TV8XHNWjg-2#zqDGcufLQQ>%rY-zuhh_ zTO=KxEaTrQd{p6MEjv=>6hkbs<4eiE{J4+$$z~dfk3ExX=Q@kn zb(>C~F+CQ!E)l!CRqW1+OIm`YO{BW`nxkUp#fKLkgA%bDr()-b`D=PUuowz;DUS6x*bwE}@e5deQ^jeEv zPex^oE$I=C=Hq9~E+?bQwQkOaDea{1tiWvrZVRI_sus5|MClJBLw5DT?URgZ+1GW4 zk1>duDq@?uEozN~ABz^@_K&;r80R^1y@NGY{(Q2+jP+MW4||Zl2k9fDGTIU8e~VY+t3OvdD>mHu6M;E=SO8UBCfBA zR^a;EogQ2d!nNA-9}m3?uDjs6Q&dW{xc+mr64$$Tx^ewmT$|$u5AHm;JN|{_qqsXa zT8+ESJ2l+NxX+6V?_Co217BD@ct@2Fft^m=j0|Olz42a1Y~8Jut-B>XUOlaY>r*X~ zrD?9CosX@Reb%u^-k}qB2+C>>y0IIO|Jdw_75%3Cm+*ar@4L&~zqv+fDPyV1FGR~J zJLQzq0$eO04kb#zblz_IqK>z|ol-*7N{*~+kei=RGTU$4ih&r9aV2vevph*0QYleg zwG8Z^^r+s1l(<{3Rq}oTtKI{dvM)i-LD4ou)^CoN);NznA#)lynKfzm+by)(IVt9@ zCVy)`mf)h)HjwO#XI)mETa=Wu_S2is`9HQX@_!UJnlDh!j{F~=8Y3q-%#)Oz|1;pF zPQ@lS(`dZQ0f{yD_08GF#x`vr(`QEX&~e5m<&EzCrCG+nf)vPWR3FnIv083KYTwso zG|+yp%n~zPU#D*hvZfSskuwu(=}c=^g>{N1P>vn5 z06S(urjcLZfYt@EXQfn^8$me<_(DoGc>YHk&yii(M$POtknE=}z;!{v1;$Ej&~h5Y z{cjo1Q6rHy3%dj8=*SWomqthj~YzD*?R)GEa<=2#_w1o{M2;Cx&a(1GLYf_F@XvPoyRu3W zug#C=q04*zpzdii!Q^Hd+mX0k#dvpx3Uy5UjYo7UB(*HL@2@_~ExB1s3P6!(+(K;Ml{V_cxl`#!NlolKpHMQ$c@0L|>pnCog4=yd-M z=1Aq8-H8x6UD+Z}W_4OSXFC5QpR~c&#P99nD}&vQjF{8eDqWuPk2{@TP?qDG;%^S^ z>vmh*GLdSwty0qE#P|2=tr?5HZc9oxN~{O{Aoe($;~UPSXw`&z@ecdB&$ipV#z0&` zkuz3%jUhZkkyyf9`hA-Hb)UpX8FKAg(to#=WeHirz`Ax(+!>vp0DueH`Bo- z;1Y#%-jtmR0dPR!VQ;=O9EL-n)WjR_8Co78UF{?DA&ndAD! z#BH$^_e{e%%OT{c3v2s#I5UlOFr@Ii;ND|b zf+2-(01pR43XcSj1w#s737!Oo6wU$Z0YeI( z2|fUZ6z&Mt?r{hyoCfX!h7@*ydx0T^kG4jCFr@Hda6TAP_$%-NFr=^nUI~U2{sg=Q z3@N+=Tn&a4eivK^h7{fe*6u~Wdrcey>tIN|F9W;5kix6L1Hq8OrQp$ENa3f!lfaO| z#o$6Pr0|2_MPNwb+2EC6NZ}daEnrCDso-ibr0}iadN8DL9@tq(c`r2a4d8BINWC8k z_JARUuLS3SA%!!+6Ty(e{lRm=kivbyC16P5^T7cyq;PleHZY{{ncylgq;N-YEf`Wb z4O|a~6n21H%ytNYkNy_zK@jK&s22zVeFGW@f-X~}@$PI!(BSBse z1j+{aKoDp!s1O8!27>$`2y_vs0tA8n2&x1@px=S2K@i9dssllwGeM0Y2-FFr&!sNS z71S2w20@?}AP)!v{d68F2!cTW1&swkphKWZAP7_oDg;3w12i85f%bw*KoIC7Pyhsh zwu82SAkf>ODi8#E15^)!K(B$E^Qckt1O-6dKoDpZC<6q6mVt(YAked*2_Oix2s8@> zfgScJiIrj@13+e`fKz{-C z13{o`K*K>0Xeej`2m*OQ1t192AG81jf%<}$gCNlFK^s93s3)ir1c817ssTZu(?Ja& z2-E@OdcYwBa)R6-2;>0u13{o;J?V=<5a>J5SP%p{0LlkJpf5mkK@jLOPzeYEeGFO; zft0<8cI13{prps^qbv>22R zfOm0bO_1|p>iffjf}n072vi2j070PDpj;3HdLA?Z1c6FG z(?JmE3D8^+1bP&-7zBYH0IdZH>m5KlaEpdV(NOJtzYNfxZO|13{oDXfy}{ zeGbY8L7+XL1t18t15^TnK>r2>KoICH&=wE`+6bxwL7)ww10V?WGRXBPHSSSCFM`}4 z2;>K4fFRJ*py410^f+iD2m(C}nhSzJb3uL(1o|gv8wdjZ9aIB?KvO{4W2D(*f+m7` zf*?>HXc!0rjRE;U5a?P^0SE#O2Q30Ypvyr45CpmuR0)DWe+JcqAdm-?Uc~&VNYMEp z4+sMF01W{_pst`?5CrN1$_GK9cAy0y2-FI+5(I%_-N^?K1Zn_PgCNjhP$LKeeGN)4 zMweni5l{vQ0#$)>K@eycC?5oY-UlrJL7;a)0T2YL0PO@ppb)4I1cBCpT#u9Qj|*A@ z>IH&8%Rxgx5a>D3Xb=Q?5;PqIfgS@DfgsR)&{_}#nhn|pf<%0Ym2y``QBM1Ur0ontCK$n3UK@cbd z#1fL7;O%lRyxt8)yLt0-Xk03xYuHLEAwPNN%2~20@@YYj*?d zH>~q4VV#Gw+wGNgO)Os*D(l*$cUXaoueUU{slB!JmuzZR{Oe>kwTdN_hb8};O|5Y$ z_RXc1UCC=`U~Q?`%noi4n_4ZfQt2#p6Z*Yz{k^-m)| z%COF99k{WygT|VKC8ssExom94VmEfer!IG(E_aaIkb?dm`0GDL_RwnWWX-rTJQO>v zjugFvUR=m6rb*P@_=r7Lze#Z9l;J=>_E$gqAY<0*WG{7#UEWq%cdKt>g{&_;%_f(& zyFYDrfAa>YQN^4&B(`ze_Co7Pb|F) z;=>M1Bb0`v`8Sm6(WDYYsg~L>76gH$HcS9PAgK+LKoCf3!*mb?O4J5y$ELm0(|(X{ z**Uk64qNawH!IVlHXB(VtQ}lI7IeI>J?))4ZXEdDA`9(HP5Kb_^(#Gk@ zevzJc>aQl{tcSDy&Kw)Z+?P>g;|yn&diY(HHqIV6d+ySsx-HEP{DVCK|Ij&~m6V>& zN=o_+J=)2}tGh?TN~v>hE9tJqy_(VDUY*ldN!}uOi{PDR9~-Y4UNyYFHeRnsS-*Z%k6viw<-^N|*U!e=2yY|2i)=jS zW18W7Opjh{(NVW zyefEA@CMp=6Bm(wi}dIq8?VI^)T1Z#=%qH^TzGTgU1sCe!>fnqwecoBNnSpwM>B1_ zYIxP~vTVHJPZ77L^ypw4F9K zYiztmc#ZHz*my%qSS>Blqd7KS#&gJfPLGbX@z%pz4{wx>=VbKaT&hQ}weidmk{->q z@mkO;w(#rGzu0)g;0=R!osG8*-ZpsG+jy>0daF`BI@-poSHLBo z9b@ASTtOSQLXZB{##;_=IlQqpUeSx}7kyEW{-2H4b0uxWNflk!N&8w#7gc!PRJ$kE+w+-Glc(>Vju2)I>SM})a zHr{l2)8S3B@v7ie!IKlZR@{32i}d@K9-VCCHNtCzH^s)A^&0K{YkD-_#;br=0dJ~} z=M9p-K|MOn#+wUoF1$N!ycQwKT1byhxA7)yWPj#HJ$jdor@zgp<83|qcN?z?UKPB5 z*m$0;)cvh`w7|w|gx3gfhK*NO!C0U|kIuC5mT#i0ZPKH6+jtG|8sN>c@z!ppkKe3E z|7qjpyhC|;M~~iP<8|9c-?L4R-fQFK!^?+PXyXlhmvaBE9-VFDX>ZZKyroCy*m&#V zt%rA?jpy7#+1R2-=h}E1;cbLB&&Devj3UCg-^LsGZ^Hez9(};Zn-6b3y!kd>zxSAh zy{AVXwDAhz6~cSS#+$UAc6_@Yeb~kezze`zVB?kihjGb&^ynitUNyXGc#qn6zW1p| z@9WXWY`o?0mcuKu@p^th+5JF|7Tb6e;Z211xQ$l}uNK}y8?SdIW8g|Xy2!>Wf>#9Z z2^+5gUIV-*Z9Hukd9+K9K4s&%cT<0N>(RwFUM;*@cu(7Svp%67eWFL7vGF{6DZ6|1 z=(9H7B6y47mDqTV@EYMgXX8!ylsfaN9$jMNRl=);x75bVtzyhjrAPfXUJ1Msc%?Sp z@_nT9K0Uh3#+&{bZOLbP^m!X^^yiHIKi8wnZM+8DHQ??A8*c*b+63CQ6*k@$cw6AT zXycV2uLOB3ZM<&P)T3%Wy2{4$!SlgeZR4$kw-VkO8_#9XCK`Hlt&NupFBjfRHeSYl z`q2G)^ko|_h`S)}Ua|42a94%9fQ>f`-Yj@!Hl8~|If&@dbvE8acoX5hYU3@3w;bMj z8_)MGar;(}Zm{u6;FZApmyOp5uMysBHlFt&?e0N68np2?!rKThWaITZM4xv^kCxkb zMevH?g>AeBcn$D2+IR!&XgBKg=<7D#MtB?Hyd{R$-gJ1=;cd3@g7AXy-m>vBejwj|(4$*yyjk#O!F$`rYlPPbZ>xY!zQH{N*_gc%Y6^rcs-m)mg zzOQ5NUxsBF!~P=YT8^Gz)fzhpo6evtqf05@RVbCyhjOo#d^y8mlln?R>P{uKoh4P> zt0OxCEsbTD;t=dR8LrIqqkir)b`HYwm5faRx5;$Tu_eXB9YVN6N-rr560)2ov~Jbf zyrwg@8_U%sTunNOt5?<}WBz{$9p@+=!yC=?oXFmIr&hpyj>np4d97YhDren-{J%Q= zXlVhb)LQEOmj(H~yot`iW!#5`>rm;j(o2>NMXT1(6-H5ME9jrg%sU}oEtBu9oW_3E z32V-9|J?OPTyH#y>#J>X_%U(InOnu-1{H^1+ycp8Z6}p~1Io@0U*X9QyA6%K!9^i% z&l#`h&h(AUowGH4-khyx-hW~E!qDF9E)0X`_6WN}eM0VVpK!zY?xD=w?%@Jo-_V@g zlli+gd@cU2RsOO#A2BlI4UfcMCjK(vY+j{2{Vm+t7*I92)$O^IW#U(s1wk!ccK&8NAomX|B&Y`+2HZ9S9#=oAb1$&c+0= zhjvbvyG6Z*YZ#>+d?&k!!6+azUx^i_Id6`jqnD`A)H`d+B z>E(MuXIqw8^0UBjx@mh>U%WY{zSW{}tB}<`$i8vQy6q-? z+}zrG&T5OtS=R5Ymf?uH(eC%0>=aw}nLas(I&4(D^+B(rj->5dY~q#-ORr1UUtpv+ z%H46bspc0rE`sA}uycCH-IzLOd(1N)ORr%^upW!t`CUe|?eQLN?#mjfxjO11?|Sxx zi;PV6gkM0~K6u<}H}r+(8#m#Z8q2AQLnB2-Mort}R=X+fo8{+Zdhf@MIe$qTNH1np z(X;;+`C38HFW(s0HZmE1yY2sEa^84V?%$KMw{qiNaz(&H>{=4L7T;BdUG7+<+fUbf zHrv8@a-{8~FX=32bWf%4LxfX7IF(R%2-N7AV(Cz-F!$@lD-Hs|Vwx+}Mk5?Hv*T3bRB`U$yr?<}|6!FPt6mMPrD?dE?+cQ5|8cYFBX z)}6tBr(14LoQ{O)l;H_KCRVXjot5#9)X1Pe7I`C95w_wXW1qJf`*b%(a-(l&Zdsu1 z|2Pmn>R%TcY-Bv23Q3BXW1LuI+>bA-`xyS9ZgAL==1l9=WZaP){|tXV#Tfp)jLzJ~ zmNaveBxAHcy=b+~vB>OGC63 z+&pZBDkY*clq{>x<*9~q`Nz1D(YKV=GZ+)R_(HO@{^gKWB4(<)-(LOK^`0yh#|G8o ze{i)LJ+lYHx;Itsr?J92Su8idB7OeP^QB)rhEDF*J6qP!BTtOrrU$;>!s)8z%=wn{ zEgPkc+yii-(q>V{;$h^op0VezoCfd z_WQMVJ=2RAzjoKHI7u2>>BIi2-~^NPidMamD#$v0_5K0g>BCh7l5br*&5 zo8-=5T9n;JT{-t57}fmWV`$+EjP;y$4f^FgUqiOUrO?$@ml5?38_*(BzabVWI2b5j zOp7r)&zbg1TFpYMS<8DEoWG9Lyqwf)@sMWb23=I^VkNTPS56GvDaN5+zEzNK73AB^4VDg` zSFh=tH)&P*^?g$&KU1DHaTVXl{P}It@>S9!LB?T~3H@kiGe4x42_2yq*iO0KzTDmm z+}I$gG(n|O-UfLiBU0(t?-?H8{;TBprMY%v+RM^z$bBtM+l`uGW(^E}8wgLKe41_6 zMWn=y?Ec7bUCC|`Ing-A*U?IkP%=F{lpkxnwSY+i6xpgMP)gIl_J(X(Y*!zVPqxTDv zLNaoE>xZT_=*z2;ZI(GUuq2CT{ugTOq!-v@^TGwB@%1lRrIOuPbVA>h*hBcaayD%t$H#hJJDdLir<$u+tXBa)1H)}C)G`R zAH3SxEvYVJhZ;`!)~IhHr-7XP+dz7;gi|3WLn$c^k6D-YWLx=ae(R_`-#W@D&F9{@ zLfW>ZoHprlTK(y9*+wn0Ymr?@jVcPS=6lRZS7OO%Bu^X3)9weXyE3jgAT{~kSGDe1 zBrwjr#jhLdr`=Z29v_f$;gHWE^!ibXCda{zRpeaGUW_;)1a zjCa2koYYwHc<4TQJ8Sg#g}UucZog=AK+4i!X1720OBgPz9!S|*Ksuf1N-PIvezF^q zkaAY=Er(@Eo;eQV{QFutf!}sqFLZ7|%ZB!66#raW$Kotw(hBT#D;9b^PAxJ=zQ_ci;IOgWuSDo4I@7mEx%X4k(r`kQ__pTv)(6{Ql&GUlVh{1sMuk*B3U zkI`Tiqh)z-y19cduW625r0%7Y92=wVrCYd8a%@4~Dn_Yw#J;Y5=i*#d#>BQ^-U2mf z9Ou+&{U6~=yYb#>Vd9C@A56KiY&6SB>E$cFMrOXv0(dNOPu)4{p1RSbQL^0Kev@jpQnm*u@`)DP#clpd4bIdPn$(&E_ zCeeIiKkTDUrOTQ0=IlN!Qbpbv#$7jzTN*!2#H~rr$UR6_&g>x-_pI1Y_|MzyXMafK z%qVpi-NW2*mh7un4zt>q=Ji>!TIQjQ#XmjK3N_D?qT=aP@qE28F1gvc{WRj4O+4EY zmlN~!(JH&PBNO2?H_soo+On_Mb4hG?&uw?aGPu^mfn$DSm% zeN=24{AO%h47Ema>V~{#>vqFRa~!wx-4pB5=T}(urn!0DZe+-qxzsk-&W^|K?AnU( z5MsCF3eAvwK9I1@=6zXC22I`-B@G> zTJKQvg5@u!8p~faM=a(ySg$=|udxMJG@Tzd*XB)%r_0{MO~<#nR;ti$Hdptvm5in~ zzBjVWTz~va)5f>@uwBdZu8_HwmF~^ycvf7;`6uX@@+)*~c=6|U$VqV>y>T5!H_`E< z%k4TgH>cW$e3|nf#kL_ez;2Jph==3)GQf>HGF$1Kw}GCz)nWz7+L_C%bb(d9;&qr>Z|(hIQt*mus%S>P7!!oI2Rz^mJ6_ zI1;Bf)Lm~sy!2;mW@VK4_usZ!U9mmhx>at&OmG+-ovSC;R?}CuGSXKr3%$xpo`KD8 zYFR2Ru&l6Zk@Y3X6db4S*^|&7Q1`o4FcV3(o%@D(+ZN66eJA zg!MzLwo~%J)l43&Qqq3jn{|z+{h=@X;lZ>nQ-+8w%o(8qFt-=AR^u9(y)fk_IKxXq-x;XSw??S(1W-e_a}_ zeIZ$n(hoK5e;*%gl_9xL>C`sI`3X7F_DJmwDy!P8Jg#d&T-Tx|y0-mQx@w6quoIo6?A2shX={E@ zl&=Dva=f``x#W|yd1CXI^es^1&Fr|&XV(;kXHr9#WNEI+*fX(>Mutz8JBl;LdyR}t z`NEeu_xtP3TDzw9YHLO{*x0r*6_OkpFh0vj*BscZwMfo0$>8`p zysJs8dF<_qw@R$IZ*CeLh(abH8m`w%`91a<f&CadN^)A;@ESIEh=$*DL&&VXMb$77Ro`bpx}zJUpt|MMTrX*^&#GCLEC=-`k+sbxtGO}Z8^}7@I*@0O*(SHx9|->?VP~K1 z)m)cj*OvO-pVh*O&}^)*7b#2kzBi?v&TzSz$tLHcR;!R{cvm@~BaGJmhCR--Pw*`R z!>YaQ_Dk)(VwJ2l4K{qMQX#3ymW{B_0jJwwra65TE7_}92mYq1&HQSwZB*H8UzD}1 z>G(G|(2VZ_qmp~?Xf1I?KbnyO~KB@)l@Y9?4 zKXjRuW@6XuoZeKou>*gu&!~Y(AMqBXwtX}G@3vBNJ;gpZ92k$6ZZN85E?4N9!nof& zLo9RtE}#~i1#Z!yBQ{DWPfkt+JDko0UtC?wY%<|%A+`foA8cNQ;p_YMm~tC7=iB&7 z-ff{ClYZ$r8OBhL#*LV#dA-J5@_Fv65gx}avB<7!nRm*Hu0)3 zd6|<8QYruU7d_a7lBd$`VfdSb;SaB)wpNixRjW#wF@5*Bl}qU=mqxyrOu-8Dk(*B6 z>L;uB<7{hK-~9UIGufKXo~fD)gWx+=?bYmZEwe_N#D)3^j$Z| z)^ahYY_7jpLHOn#HTkvd2+6U0m$)9ap9R#uL5)I zj&V&39_R0ApZD}P^JeX5MJn7awX#FPt7^CGox609H4Ze(Ky&*Q`x36~Rg`id>22-^ zN!r!MA#+JQ%xRzbRhSPE=D2v6vJbPxAZwoWzm>a&CCTvY>)u(&nivmj;Aa&otX#rc zX3NL-2ii&(>DpWw-+YR&`o_a*6%Xs|6T(`2LRih^;R3=k%gV{}(ClL+5C5BC=Hb8h znR&SX%cglac3{&yY_6{4sBmSh)pQQGIUdfF`^>)lwYfH6IdUqf z6H-QJ$L-8gMo*9H`gK)+yDKW<`*`_Y@+BI(v#QxqrbR{%v8VN&m)Kf^X2)z33HM}e z-`+o)<>uw8N>w+uMw_;AUVAG24|Ss-;Uw#R(>lLA9#%nBg&GGIMeXrvdx@sii#|Gn&9QDTmQqQl%bNYHYm#;!_qW%Z zX7m49=~rTry7wekGt_r-to7l1^vhTJEwt(P8&-3vt&C@~K9%vz-OHNRsHghJQ@q)I z|BpV)_c17Y_AzZrJiT}C^@r!W%Si9Vr1xUd+t@2JOBuN$*=3?H*;d z>bxdv60h3EuobIQjEdC_i4_)_A&tJeDl<{lRWvB z@59@2v!2wdU!6^EHrgyu_wTiGbIo4K&6-ll&DrnOu}emB)4e7YvghV|HTIfNm(g^b z&|H4jJY(i(&PnpqyT)O7*NBE|Y#Ls)*UHZ^dnG>?mNw1LS2C>pY_6`ac*Z5#{6fiaIa@q^$!ty+^1#OS^?VT=H^{D6L;Bf zurtzhE$|vE2FPeG4ns~7hhRT54hs@-SVSBa5r?M|aoG5Yq}}&^zC+j~4*IW*LyLGE zrkxOn1An&KF(2zOXKBGxT6>MB`3B~nHP^p8dX0_fx)EJ7KasCk$UNlcPYTg>DSLX@ zLB{vYFU?nPWOh&z%9*RXG^!}Epg0Z9gvd| zfnX_TqAo1tD~Fup*yBX16{_qaUa8zymK){X(2k(&Da;8O{GP36hI}FUiV6D?o^2I6 zBa{`oHgx(ZK2n>~GUdimw~mr@6<&(RIl-0MI;E{=MvjEr&izZS>w@D$nW0haBugbV zTU}-85kCVHPnFt>6MU>e@-+;rwQjMN8>QFwP+#u~FShu6%Xp9VMbF#z_(|pGmkv@o z^x%8ked8M6EgDBAjrVx^d*mD?t!XtZQS539FbfJ*fxf9jO;4* z8WY!Y!g*~h(qWJ6{*yMk-<|+c?pSI+(U|q5UH8`Mj!>tN!=qoPxw>^uzLEV0UZW6+ zg-DEkY_f?X9 z$d&mp(p`__W2JJ+=>p1!SsHscNq5;7slUVt$d{<^A6qSa`N!2r`fiEXpL+7PCvWfn zSXw#x?$w%)>v&tU#L|3J@oK&YEVbGlKlj?)nWq0frA6MqNaL$Lb}NhA{nz#7Smd-< zfvfnakd)#r6)pj>G=iBy_Ilr{eEoJ;Ops(5XwI?60OW1lJMvE&Fwk5Ih$rwHs zxqh>G9$>JM^HM4#x>%!>8x1SwV#oX)?lpGqH;m`L!grjUjf}7Yp0qnnc!|?pYSy(N(*x9?PN9bik6P^WEz%vWiO#=@6K<4^i&uFFWJ*+%TU+1V$anTpubYCCDQ{iQ?1=@* z6dRmKv5C8-6qY{MiEtSE$SRw%sW*~ejZO0F0b*;nBCP3WOVwukQU8-CPt#8ExJGwX zhI?R(GWY0@C$62873zSjrEt1vu#x_9Dr7G~m!6RRq^X0`NvnSQdvaYikif2AaS#oO5cUHQmOU}b!ld=%C*Gq=y>Uiu~5YK35kW` z?LV2N;OU+2@Hb8D*rRD-uUVtHF3<~&uCI9*flOhQ=5jc{bh>9H@m=|H592oap6?eW zV|?#UxjR5cJj-`Vue0yjWSgkDdeY-~!t$MI=6h?TcemckSfmeQXS1&-d|N91WvBVw zHqMalq~D6X+C=6(jC@9h3d6;WizmMI1->q&dAVl@+ z?4!>PRj3fvuk-w02yreU&V6Nb=p*ziJ|V<&Z6WUX$SO_${YXmFpPrSrBO~5_5AW;d zh6w2m&AmU(^|jtbu}EN_NU%;R{l2f&mo_(t=&|VJZQr6lnk8)FM`nLgxUXs3ajZ|% zdfJ?=?chQw$#(m`}v-#OJL(c00lMsi)qb6I^(K(W~Bm^T8`{ zbnY=Qzie6AnsIsDP4Zip&&A!Skv3=MdKltPM=#k~UGrf^v_s>N?u;+{Xs!!8n(`iE zP9bvT7KCiR(^nMs8V#>-%gigY+1t$d-w&;mM=2i#$mdI*xxnz&S$eRcJTi_@g~M&! z0dC_CWO?LvjXrU1aY$w>fOF8Q#6czpb{rS&kv8%B6z(0cdd zCfC&I#*>CWai8Tg7oWNK%%Y_YDW50mI%;1(x2ciD_^M|sNo_N&X5n{M;6oMnf6N!| ziGKV2KkD8Ex~VFQ8^1|kNt)6W0!^VnT2Kl?bBU-0QPT%nd9)#fQjn1##TG=YicUdB z)9}U)wu*>~nj$JPjJAl{G$3uk@(`i;0w1FdL1ji}tnao!^ZoX@_vX+P+Zlwi#3M7iVdP*RlV>yN-VC}go*>OYbA;rNNHg5w zr~4EzI0fwKtmdo`y1ilw-#0*+Us+##-fg?5ze0qr8WFncQpn1|6QmQUt#cQ=Hg4ug4%5!WN+%HDGxnq(_$Q^l*5g*`(0dB{@lqaE!-bW_9@h#KPja@-aoFV} z1$|)#$7o+c(U&OW*GFDMa2&R$*vP30AvSXBm!YwdI)jKIXznSt^iD-r97l*ab~Fh% z_6xzW;)-xwE#mm=7oj*V4#Ke~-=zRJ(j2BTCTx#6z^M(`m4Fy7 z=1nKxXhs~j87Fi?BZwaddDtVXaU!#t&R`3(8P5CNYH569zekf~d0b5-Wj{X?+)uHF zAP=R-7*@E*gR(a|?-=+YRg$Hi?9b`)?(L6Nl6V1G>DbMSg^ZEC3f>8YJJF42x& zZ0FbGLObeC?W_)IhxQlu?ZIbTT28Sk@?vPuhp@Mse6}A(2tB*+xW;`RHy=F-AE^kV zzo^>hJ$#(v9yIpf?hXHl4~a(vpSIcqn0u;^0Oq+T0x%ywPF8?mK7X97z$Za5 z5>CAi9-$1;xclK1*1;=`zeGF1ap+dG)5_YZ32G+;eQ|=dQ+T`y?Kn5x;rF*R6?{k} zY0NI1!rYbYxt-&@n}T5Ik4rw?gyW>SAKf&T(NA$eo9liSS4(o4Fp?rPqg`hF9Uc-7 zB(IUm1-wc7u1Jr4SLm+yv8w{y`Tm$Rved_EWKGyaBTG6lbk``2TNC8d^`sl}o{;>d z+ju*64i*2i`(Epwn{h#$c>b8giMnINiMFSMPebt`>jJ^t{Bc8owxxdBUOYy$oqRfU zH^eU^FL%8EXG7Px`<=sukzqV0#og<6;iNxq#kq;KOXK1$*6#C9`@A=v3f5Tfj11KS zJ=vBW8wA^;I~A(8pOh%Lj2O(?ZfLlWBGAzEp+v(cpy3nH@a2b+UFR4LV?o2`CxdCQ zULg(HA`S1H45fj;0vfLFhKA=v8W#I$_!Tt#3L2LBX?XEN*8iAs{56DzpRc*He)#V1 zLO)nL(Qxb<$;KB!*CullJx-qrKTQR0rojl^hSWBex|BZDyoGOqy!8ci*M^`tobE#@ zvV7Brq+uW4I14AHCD?R3$1iUw_;S}FQ#p&*)2_cjYZWwZGAZ6JwNG!hWZI$YnxX4r z-@WuL43mM+RF-43suAYw-y zYVLds5sJHSGP{sbH6tq;67rt`6ge7TvP4(1j@?nNT zKMS~PDyLRD8ck0)8q-&QlZU63CtM6Z)*sBz-kKR@Gn&<55%NdO3(WpHfP&j33P^(J z9-=P>AkO-hB4!QxTYy?o`H{$xzjfkBLs>CuUYaLG;K@<&!E9`|HiUq<~R=vv9YBrjz9)q;k<)5isjSpSaHle)r@CxG~i6sh>l>5_QUW{KN5Qk z_Rw{4&2rC0j)kN z0DIU6cJRUWqylSgL;d4Z(+OG`pq1^W9pTfvf%fGQS~(c2x&8d`PmUCV8$|-9|vG=wQQBV#sJkv0rTkYWKb>Z2IiV0q>%{b z&LgCezO5jtU)N&|wpycpStIe%+===YKy6`|eufBFXI{=eLi&fGmL91C)LI7hQ9q_l zouFynhW37&aD1~HXxAMf&yb+aI?@DaPcdjS{Llh=BAAzB0CUXSa=={G4b12xqzwor ze*_ZhUBF!$%Ae@OnmZ{ z_d_&i82Yxx!xC)?}i=PeV(GJCQlV=RiV~j{WNVk zOf-F3ez`th%et;UU%^m852XRqF^JD&?3f5E+(wJ`&Y-o zf?Fpq(ha4OM8>^LGh!uliS$MTZ8p^xtdX`3yE6Y|(>n4`{P12D_Qr>qI?r?;9wzxK zJ@408)D0h+hX{PweMsWNiCY9dgujEYK)mDgx(`WOx%m+BJpp`368SJKgb!1@@WBi| zd>Epc2VEf_dWZ1AEb`&8TRQXM=c_ND4`rigqHzQW=2-r(oMY{rMD zpWwVNTrJ4M@e9H7P|<}C<>15ZA$)l5>MN6n4QqqtpdAsh1W))UEDbevBf2B7^v|6a3i;{%HLCxsLH?G5GWFP(gmSw};5j)~Q=Bmp__aQ!!iC zhVWGd6mx_AyO~w)yf-kWp-#H z=nwcM<<8FbC-n;G9@-7vn+FRrvB*z%;=8yl?_KzRe!90DAc^?&aqJ057U+%*q5DJ^ zx|=}vy7pkZ^F{KN(S2-XFx^dE=-!na=AS zk|3J9{;{7p$v>{q`@HwIa%^Ykn>!SI6D(6CAY&f{c9SpvJ(zPhC5O(f|9man$oPga zx1+P9BuE_VF_xg|hF>cO338I}=hqhSYYX@_&(E*5`-xxm>pAb?B!ORc>{>*m=TG>x z2mIOtew8f^@N1l(Uvn70Hm@gsefo#MulXVT8VY_{+k*M^O460^>$w#qXSgH03%^Q} zL<#G0KUv9&uKMKMK!IO%4N`o#1^j9OzdmS?^hrwtNyG593-wYzq=1GL&=BRPVI-qrK4^#tp}~HIG%OKmIQ>CrKg_-Y z8Z3YzoZSqZrKdRFfkZ)`HiHgYZ?F0wSYoaT#2cnU$Ipbe(uE!S&bvU*Y_vuDZ20=L@4oh(N<#c+FsJ?? zPVX|id6x}0MsaGLoRb$LrfGMZU1{I_%QyDSzkD)vq%IAA71-Ywg+2Cma6^Ot6^M6a zp=Yydrb3HO37m<+eqLt+bPMuk*R<4{JT^Sxhn+hGcq*vTpap&H2u~TJfy z-+tv&JT(sgColSc_YL7c(WrQasEJ#Idq(lKpl4?3aVA1xTtCZFG4A_seCu7R+G21z z3bE2f;KrgFO>HE;byHk}Rfd{4aAhr9J6MkN@)~8$PkS^qJk|xqo%zPcd3QZ*$BHTJ z+}^)oV`asZCyIb3q31f0CyV;hal- zcVSzN+_O!DXcKoi(6?tEd^lh+lIo<@o?GjjXydUpud+7AYN!pR&JHa50?W2So2yij zin(IorVq-CVtIj^?a$PNdCmm2Dco*Pt)>OF`rSThO((jp3aw_Xxkqou*^LJP@wtDJ z6;h~^gTAws;*xt(Tmo-`Dd`mibI(30lIPji1epETqyr{#`CjY=A-?s}%taJmfI>Qe zc70gD=Zl9&vexPA2m9X;S|1YBdKOyG3TnMs{E7on_2EMSUOuu<@>ZPtT7bdlm`wzB z_WVAO#%tP{uYCc%Oy9(kINIG^m}eiOFA@l6(aT8>1f9Lj?=R@Jk^6Y}-MFL9 zt|aWQ3zBExVkcSQn@TaGENIv*OI-h*h;PYum5(M77_@3Q89gjtFleR*A7XG1 z{ru~rt@F&F!v;DkMO{y}>u!;baqkt^4uPhxP2|+^ab{OBc4pY2eaj)&8r+3UPo&3B zfre8|<`)D}p-@{fju9b;)p%ty)^|cyktF%WE<6`@;kmXVQos69=`H5}?@1csy7!!r z>cy)@VYHBcYKK4H{heVMo|IaQ*xD8F-CL?Ow!l|Uu3Hj-?A{oI4$X6~||01#7nQgTWf;?E%HLuutON#h&hP*zvdS$5x_F z7+WoS%H7wBV@r@hX(ScY!aKm1HHIAw^e65WVk7A9@`j%Ho7}kR4%qrfHuenT;3S!1ODDWs1@jhp61^F zS$^p|31*3HrS7R?KJBd`^wjq!8z%L0Pwl*eb_BmURF4wht`^&AcMErr^af4Adaf+E zrOTkn?x!gbQ=oQ!?kDt5Bib1t#;@&=B0Hq0$t}(Le!~hs_J6FPyI6z!@AhCUdfe}N zv!7nv-Sd7R)=c-e4DEmUwx>VfltX7bA!|uNcDYQX#pbrVXJdR;VHY{|2YuaUjH8J? zX?R+jCEoz|aihF~A|&2=2hN|MRyuCdpwa^!&0=X)c~Dvou6y77}uUcxoh7?D=ec^h;C(c?X#61q}52Ya^h=!i{oCX-e8Wh%Q04I3eX;2WHo_L}4!wJ0) zWwln2nOWcm#U36IDHhg){u>`eagTcI^wI#XIh}Al6o2{s_MRV3D6YJSYq*GOVhFC! zgy7l}KgyPNl?_gW|4EG`8;OvOM99WBHIi(EyJ+;>WXE}+hG5yq4{jZHrYG5$3>qmm zS=$gQ8)Jg_)RSzC01c$ig2&*CeT4pephg&j>qD@Nh`*9C*j_^LasHzdj;H$t`m!e+ zPnAfv+vm*!97%r3mc17Qr>Ao-yGt-1458&EsrK1EvOk}rZX!DT=T}zr6D$E)1euLi zk%h0k3H$uJt|olnTft*zo0&K##I+8*oA%u=9b1NWEqkI%**93()!meJcPYD>l`Zb3 z>?>W$I#}6RLq~X;&Ig}C)0YTu0w>?-WZJ4O_3vW!#|`y)|MDWuO(i=*I&yKB(vw)} zAw#9L^>SzDI@T_AMzcD~K%JNAv>NWtNhNvxTCv& zmwJD^Lp^icU$3bPo?MqY|6+CC4%89x{AE;UJWt1UmV|w*?lba%va-J=cP%@jOW7z^_M2qfx!Mhty}OkE z@okcagDAg#Q&%pwYdZJmNml+%;38;-P_CTrQhpyR|I8)IAL&y5HCFzyZfM=zrECQ& zyP%u0FLo*W2rE0So3d-Wl%3DY-h{I7d~6#0^pGxDQ2c&zmpYSJogv9|YsR%tb?(!= zF6FOf<)gv((>UoFs$FjBQaX{9{xzwq1Pt#|Hj${XKWMywb+3w`~fiC59S@~g?C_k%9`5RdI*h`ep=u&<# zEB^;#G~MAdqD%QGR{onyl<(c8{Eu(3@qdZ(?Y%ln!AVyBO_c8}wP(7Nt!HJQ#jMr@ zFVW=AHO^f;_WPeZ(!TqtBe`how?B7`J@ZpX*Dsh#v<7rP?+!d;Z5^>s;R}443KMdK zuL)WzG!2q z2JMo<*-a69VYb#UE;KIEQyf9X@TYc#{hGn^h-G5CIlF|o+TEaWYtWv@W=&AE;4rw#!32p&mtZ)qUc$~n!An$cY>Oo z=<64%rSa5IP2=f2W<<}!dIx4U{WL+db@WM3V@ve_?rsTz@LQ}jwtA|2?tY(lc1Ycm z{<<+etR)@0-{d&}st%COyl1KOvl+ zj27hT?kZdDCU_yVPDL0}eg^U#VtyX-S7ROTvtFF~uW@xX8h2BT-rZcoyIX2t=dgoA zg9zq0tl^#mZs#DEQ>&!=9Urc;LoVO^tJGVxUM$%udRCw}=}bAD#m2h)6ZppH6NGJP z&6Bu;aES}MJTCFY#^bf4lW-3a*7w746CxLb8~$B9QbUolUvjnZf?MXf;HFzW?kf(g zQMJ7(-TpYJsvP*v_-meCk9`Vva0zxAiQpFZp_ zRY7t6(MXHAPmzx5gL6beI@J-Tx z#IuYyTfnnN9wvFBTZrn|O8z&0_j#2YBzdCmVqRLFUUNxp0ylhBRTwk0HfdsGBF;uT zCl<%pYHe&aQutP8M-O`KuKPxKbQgl7F*C(C{;wv}ehl$l=v^>rF##LblkG{pPp~~( zYC>&KzaSVr*&g+MU2TtDDd-668 ziH4(#1scY6qG7i>z=xh_*s-`P4TD4)e#U-?{=%*a(69$IT>Pg*Lo%b`4$yG^-C!CX z?nFaR{?kIxaH)04FBAeV-@slWT5D~5H*{Unqz?6;dTMJ7+G>K2D6|)tQQrmawoPoS z1Z`0azdVGh=-`%m^qD!vQ*Z^EeNhOU?}MzELfyC1_kgU5X6R)VR_ipm8eUov(_VZp&i_Z#SEo##CP-Hkr0dvDX=nK_JAsXN3;m5V)!3@@XBz0Z&6pAvx0EG*^l!)hVzyXoL#ER z#kpz``8dMtC-I%YdIHT8Hc3z}!}l#)gm0C<9n81CO0|1jyIH&l{jVaM?(^W`eT?~Lhpxa~6I@|Sm7eWaQ`&k%wmkP~Y$e~F#olI|;knn0 zHn0cb-jeVB?W21}%Uuq<|6}o=VW|(nQXhil9$>jg#4;I}yc&e%7LN9hQM>hA9rAYF z|93HXXjrhCPAMm0yj=celoqHYY9IgtMBOTzHRkmpQ)ACfpf< zFDj^h8Bp#@$IFO^!S%&(YY&PB41IyOmlapI3aw+eF}y z7+VfMJuM(BcrWN+YTF3!wtK1JLpZ}E$fFdQKYB& z(lso-c#aAUCXkZwl0nWgWXqe1#tq<>}Uyg9U6Q~~@I`v~8hIl(u&&ny)5 z6y4!A0(ZFK+ds8-o4GcvlDw|gd9;uD&SZ=yNZjo4lB^_q>>TcdSYYyO=CE^XldTqa zIAHc6NC?dYlm*x)K3-1spvgwC+jWf47b;#3ejmzjs%@&_)N<{pP{yzjpMB>{_=9}<9L?bk^yH7PmJWf&>5{Uhb4 znpT_4s^VoP%#p07Oiq0;fy&XC>RM75Q+1gRtCSlURkUMs#;lf_5uS~h9o>%I=$zM> zT~}KN`mc`*rkG^YuWd2IGl5nPKaEiZ9t%3UAE-5eTB7P7o9JX`k3 z@%z2%hU(&K#&tT6)WNxB%-h+}!C@>tb|2@BVRaSQ`7jn|N9fE*l4m}rP<^eTb0l%O z==nPId|g2D_dt^N?8Dr#L*tHP&sLm zDde6)?$8e2J(}g--oYbx+_;Og)_(u>kf%P}3r$n99%Ok)GN z3gmu%k>W2T9~~F%$o+Bg3FK;!t3mFOi&C`X$BX62ZC>1f+(hIiBG-LU+Bw~P(TUs> zi{CoAb0iRBCN=0 z5Y?g+E5fNAIsu~zImh$oZ$@}lqAuMKO!n~ag~Co`T89&I>=^GFHtYZALg7uiM;j}{ zk8aAkDY8x+J)st<9^>rKERvvE;wtKDq7EoHzovPrr3SY_b<#X7H8N%Y-gPy>XE202 zqe-{dIPI84(QeEevum8)Sx1*s!bKR#0;YkHEP8gLKNf)3C;L*PxH-i7HRCM7ul3N+ z^|ZS4;sxp>I{CBz0`<}Ed;h;-<+s!ot%d$)Sm)&m6@Ks>yz>eK%<20x@QAD1s>kiB zsjPF?R5sx!%nf6b(zepA(h7BouFADGCIbI!)bn%~aMQn|QQ@e={vCxe@C=>(v^~Rw znQE7JQ%sriJjFAul`Vy>)nBvv8V9@+vA*z3I^UE_Um)Rp7^A*YE5QlMn?iX$j>Au8 z1-z#M`2rq+vW`ak%0Mnbw&zfd*2-pJ@B+g?hrO^82EsEuo{DL(@)@|DEz^;U+u1Vg zaeM$H*>nlFjOheDwATI&j>d-4DAd{?M&DkMa9wSco(@{Id4B;Gw^s#f3z&yOa-jVc ztbKNe-NN*Yc5 zxWKre`4V|%Qr=m3aV?UEg>e%n=BHI6qJa}Fy!#`xWQRXn?mnm=TWLr9mG(F#dH9DE z%5a??f1S|HtIbb=C`!Hs!T zdJIZKCM;>yCtUbzZgN8!V!r8v5;4)BMvK{o7Be3I*PfxvF7>TyHOi`EDRv(P?@&ky zbD_}KU|%M8X|!L*mC`E~GbwIAw9bB?_scdD-jQr@?Iv*Gr-i5wdDOexcQ!eBcbik# zm68k|Rlv8=Q!Ea2wA5}%!gsVNcF$mH*~ehpclNF@d9;A7-Jb-QJKN02B`G=4W(M?z zg{{uuFOcJ0cnHh~x`kV_VSWUd<$zhvV5YWVT(h%K)7tESnZ;n1 z2EqLI#bAE^s_&Mcl_t+_z}(GXhPRaiW(DvZ-c}Bn{Ta;4Aej3?U>@lfrUfuh0p=+N z^NUs|U{(UAuhj{dEeoiR>VsfD9RkzYEzBnYGyDMVC_6y?Ue#I!nALdtw6zK_8yQTG z2=gw;(mf$CAMO_BM}V0Em?;eA>ef2ItOv}0wAKOUmIduQPdIt#fOs8;f9*So|Jf*? zePA?7EpC;Bl5A6aSCDP^6?->jE?(uVEpYsv|$InEq|$JNl(O8VCIi+%YV;d#&Q#8EH|Zl>JG^8qpvo@m!BcM z$9m)+lD1PZe9jk%n82n<+Jho3Drg}NnuTL=moOd1F=m?ro`L%`DZWR#Fp$$65@AOl zUkKzWu;NR-G!Yo8@H4ZoE5u;NC)`*l>^4qD+`{M0y+F6625a?z)o2Q_8cnbor@-%1 z2Tp*?4>9^^9`oEE#P7$8##Sz?Y<1H92J~?dHUiz`4`S7X`Gf71HI*`0m&&=zwvuNf zv)!6WPjdJN6EaKiWLiCL>tpzvQ5pshtJu!tT1J2j8wW#eBZ#{A6${1 znYPuGnc*4wz8t^bs>W15u(!IprMjk4#rMPfV89H*N%)>x3Gj-<+Wy$;R;MuA$eWwS z?uPlpbBuZ$v z|J-zs`F$CFhJncKKdFp zX20K#a)ozFvL^$6GQI|}Sv_P<51CW&HBLni#q3(#?XH^FHO~Z>y;M2P(_$%%D}vcp zb*YlAPR&!HWiM6IFYWC6Oi_pvEv-(&*FL}VHM>jj_q31bgIEY@wHD}F!8 zBiB%TZH$Th&NO__209x#_<5K6BjJ@?6>8bBU(xQq2fkzrc5m?2dXG%DJ+~M>ozhmB z+aFN=nC!;@zL$iH0Cgjv;^&>}k6b^@BG=OyR1@@;P`(fRH{mG`x4l;7mYPkTov6F> z{b-7Rab%l_k{MhRaJv3(y$!LH4w`)(MJfEedQMmm#J2+wrNz0;yXotUXON4ZHx4rk znmwZ~M z#fT3feTbzCtP~^u3hA#{dbU-MbPLigEN!(?j5r+lg&!n*CR-^+tV3GI(pgrD5syTA zBukIC2FDF}$2Y0#lyGphOzRB`1>rLYJ^Q<>h=hwc`I*;}{Io)&hOShI( z%J7xb`m1RkJ9cX;OVwT-{GHP|ddhQE3MF@jA5Z!ON4&uMR;j4h7`08U5VM`Z;?V z$z?0jtt@StMsle|dF>&RleB3hmnlf6urxo7^Ana;=eTd>tK2tMhC%DM&(m0!*``_%vsvY6OxRH9E_AieD0Cye(t_KP=3)=t zTPojxb(h%gayhKs)m!6UgL-RNy$9UIn9CHqOHuEB)Vm+`9IT$MKv$s2q5FgS zW!=i#+038bXmTlTTn{@ou97^fUuV~2POahF3r!yNVcZmU7~eaaL~B-d+$oQUGTtQ~ zCOh|IhvcVfeWcr7o2RmEbtmG?JVoKyYTxrT1GwqVX7@PwcLe?Y+3B9_!}$8x;nS{? zO4^mkdGEJG*6i;1T&h=rs#bDk0`y64sBtIgcaK-EW|}x+&8eY0hm%-*R!@-fkUaa zq>^r1YH_7o(kgZQBokt9h=QkWP2g9U!g#qkn2!D;j-hSGo)@BXKcTlv6$b|d_(OXh z1Y88aXf(s8qzmo;Yp;Q<$-u2ydI(DerKR zgagHjJ{-{OmlN8HML5vO0YnK&9xM6klC88RMIP5z9hB4VBuTA7PHSaxHR8`=?o6z^ zcVAB~c}b9iKpXWzkkb5Z>_8j!Xq}A)v>~*7Kl4~6dFDhsCwhj$_Z}Ks1J8J(Ck4+b zvE(IB^o+#w$XJY9Jo9+wV@ufc7(9=Ot--SZi*ymqA_X|{@P33RO$Fw2?FwFks;NlN zlb{OE0#r=}jhra>gURg#Q5dVV{|KWKdp{?7($HdBtfk@$cN)AbDfJ)tw)$R!H69nO z*=>Xl*?3se__R9S5p>Bc4Z-*#nMM|$#&%mc91N8LP z6iLtY)D$IC^wMcqTzD`%`*K(d4gOEi>+pX+y&nJ5*&^)+u<#$y2pr&()-6pwnoB$c z@4wW&7`spOy=H65*;))dNtAE-AkYgbNT+;IfjQav4qDk{_rUt9P=C5D3-HazH?#a7 zIw;ak`5GVDstL9+$S*;D3CsVoLzn^3{HF=|*V%?5--&!D%m1K5@cw-C^K=oVn4V>yoK9=u`5q|$g8sY5AHIRd74!cOua@tX!*W5vociN%-P=_5(86!Xc%UH>wq7MGOZ|cf~{Ipncpu` zpI$Skh?N;GX?<`_uqzWig#MgXN&sUif1d+*AqSYc+QV) zWqN!zo@d9VZ6*Ca8PAhrOW3m+&*s<~JO}i9IC@I)A=Z*U#5YX*^UngNDL=ha!ijXh zfF0@nseh2}7g{HMPa1yoA9{~w7~)CurIMj_ZV0I(*@b?81nfen9zOq z6FEWYDA7$x|$)tyyk#1(`-zSqE{uSw8S^9sINe?T4kK!1$|J`KL z!-+^Ivh>%JNe}Z#^DO<@WYWV~NN2J1F+?>2YvP|f?ZvNIgFAcYlv_c>%|1mE>Tfmn?j0pX(6aDanU;plA z`uD28)HoY5S`j(3J6dsvl+5bL+eIsfxaUz}+m1V>!t^p*y?Yl{NK|=EhzQbY8etR@ zoeD)5W;e7tdD_K8!_4&S6dKis(CQ(yYW26el(qVw*%TF%qkOtpp86qL><6^&{hKC@ zM;~~X;_Q4B;sX16(R^QN`w3@&T)kk|G_+nVL`bV#3cURc-)X1w?Q|0g=5qygZUv&J z>7M3eGW>R7j@MGv#BLv@*kZIFBc5SYIlIc0o>}KI<<@1C<~6}iuXSKQC*wz}vm84r zT5aV>$>G1#J?(_Mx5MYHya*rO?^g!&s134W6ZL2To(n`hT7>5!QI9Ud^CD4?7UQ{C z)T2xAyhPNaC3r3o_2_auFK2o*FviF?7TO|75}rsu*8fW5NN8CYM?%ZOv(R$DH{STG zp9WY?tQUB;Nd3stIPHkHY@tQW_ep0e#WW|KE@kI9C`K+|P8M9iyLSbmID_ zqwyM*t!Ox(Wxe&h(hW}?!AFJf%O5RIa zWiPC(_`GGU1d-xcG!A0?`bdxjO$9}t?T8~F1}(%vreGZu5wJ8yEqPl3Y7w`{qZ6kB zwG=NFs3rO6jF+Z@&Kdty#lw#(uBN>zgpKQu8thh$!#^ z9QW4&|9|j(IbgvdjnZBj+|a|u5hNb_MU*<)JHzJ182vfENWHL^25T)rXZ{t?S=@2V zfR59*2njn4eBMmviImSO!I?fDJRu$EaeahXYwJ8I*6Q;f2pTb=e#FU{m+~WK-QJxa zp*t?~=#F2WA7O36zUZcaACV92^N*7qm)}l)L^0CEEZv?>enc74Wi0)3Hu(`wq@67N zpKS6Yb|bx;rB7#*A8`ojLoEG8Hu(`>A^jCgf0RvrL<`a_EPW)K{D^Si6W&DaH)N9^ zp+j27(zV&-M~p;zBunqgCO^W2w27s6V7Fhuk9gZGY8;Gg@=a@;wDW|C1WmaMDQnaSp)mB*TuA5g48(IzfpeUf(l*g^JIdie&%9#Ycroc&ES~;QK zZFhQIO>EbWil>vD!LmT-`6<>y`*D=;1O#b9RLi+m(choO8EqDMTnRc>Hqi`F?vwTh z48w@Q9hEa_{`4p!c7TJmIS~g~SG)T`{jz^jJfzj>gj7{w)Jig2$82zvuGLAA%e;$K zZi@Ng{z{$8S%;W^6d=)ERrqcq@<1uh{E*eA{Z&=KrK(B6SFoK*yOG+>QYKFwp6h_+ zlNgh4u$dsOYJbdT4*HoiQyl?}u+Iu;lRS%P#4OQ+sO<8mX?8(I45+h|;FM|wL;54w%U zuynuMXk0cS-Ne$pZliH|2I(^_9eEp#%T}aYS-Rs^8kcI|qyC86|NT}PmwKf2Ed9S* zX?D=4QtEnheM8P)ETiTOmfW%U+(A!u? zQ$}NKk(VmH0lcRY5!(~$lZ6*@`czO&TCW|AuMgK13KlRKJ7cle>*r>C|5#|5zFu1f zew2NL`xgDO9?s@5t7b@)$Kz}{@28u53xR5CPoSA>u^_8)6(+Q5tbVY%nnf_8_+Bi6 zq4|w$t`HZL;uzuZ@V0>REo|4!C=GNraKX=e9gh)>XZ*YdJU8PRKkslnt3O76f6RG@ z;5iM?_<8&I=hkU#tPKP10%Y3h*Zmk-3V*lzb+ii;x*H>tKgKDMk1ubGto;OY!%qTZ zqzrhLeM~aCZ32yvZAfop=`9mzjMO1r$I=@o&=~my=}%a?Yyypuvq+z1>6H^`j9fta z0!uHSKx0IM_B5Xm{3R1;j0{D3C`&JzKw~5g=`@xum_TD>GSZV-diDewBQ~UMENz`Y zV`K@^OIUjHgy1nUV~WJfFb*?wl)}$@r$KxRABEmG<2`;}OVE3oGbujBO#D-ycRZUh zQ_N~ElQeT4?(^}{-VnX#rJ*U9@x1L{N6z9#crJ8E=lij{+q)oFc$4nYeF|^l(+rO@ zR*oN?8Hk%8m4-|hV3X0}NVFK{pQER+7UT0IIwr#wj_@>xw2+pIl}pqd|0!0V(MIv7 zoYy{qv^{;x8QekM59zAgWW3o_lJ8Eu6 zO*f0EQO#x+Q9CZyT!%aKIq%sljD%Q>gjku)V#EHz94U=cRlw(~PmOrHFGpwvHVg00 zd`k5HWF~)FXzMK6I*YbevA7(ywS&dwo)z1ghJF@WsX&`4pgH_ASgy~~sa^cAU#~-o z*8RPM?EUiTK5sZh{1|TOp2W`(75a?xa#_Oa6YYefGlzP>(FeiF^4sGD%pT{981x1P zSty(Jna^wVYo8g+(%w3qW4uf|^RDE5p1mD?MQaV??2nS8EvoJo^;9^0hA{sZc{THlSpXf5Ea1@=e6g zwDMaPt^C9)vyDZoX=iHvG)ik!;!2m3?rc>}7NP;PH>wVIZ(tt~?)r#;S9Ah@weX8h zp@mbQk>Bt0{++c#{k@B|Qi;=>%`Dd8!OD*$_tDV3q5B2ZCuJV|cstuKs6h%pq_75X z5^De_OF{8EwuguI(7eI+@H~hZRQFKIL!gwyX6=Ng--*>I+V7kKh$$yY?rfYOV_1`A z`+6o`5~4E%qB96$6V}KvVgYmfNs5$Q&k2zXd|R6B1JYj-W>pAG@>2a+Zbcj&5X~p6 z0WrpJUyRJY{4q`9W2oPiJMB_7<)e)5Y)S#RTyXO8Y>M*~G{UKXP1y$Qww)xMzbu1n z${wWmu=E2NWK&KdeTtFX6bPmWK#-|E?{Y62HBJnq)S+OL z@secU<X2pkwKuU^7R==5uz2DGhMbKF4!lL({B8i!0IMNudUQIo3jKj+o%=>`{W$QJU8$DijIW)e(3Pzt$7}1?=M&$;jU^ z5k7^V11XFH|D6hJh7ws{_`JXQHGO|Z-#1gq3So9D#TpsUC0Ujs=8E-7&?fRci2G@3 zqAgdX?eJuh*4b!fHd<+5D`Z65_ZP_??VL(|K&$ghP+|#6RQvJxjM;+cfrsRUOL0km ztKePSjY50zVtW;=y)r;61GM%2_TFUeE%CRv4JEdr#8Q8IFS7RLb=zJj-TTG~ZT_pD z(0?;nn|lCp49OrNI6O{M_C2sMzS-{#H-la{7BnPA!XH^CV`k`~)or8k& zYN~u*4|eiPGF{_rs;0fnfimG7#s6>@O;D+(N_z7#Jk3Bk+6M){FQ^oDj^JCqb=|<) z9#l%Rm0Z43S-NPWqp@vGL}OT_yfMMyXk5Bdu1?fM zG;-ncMvXn}K>zUGMukGHTbHvsY-_VzugFj}YPizOdbJEwPKAw1NhyLE(I^iea-e@C zP7bc=W29V#r8QeQWovVUKKy`er98^fsHjsl>Nxr<)s(3?d1>Yf2D4CRlBLUVzqZd< zKDxZY6lWPGBbmec`3mgzU%4J<0_wt6csSootIlf5U7ttsc?ZrF3S9HD*ms<9{F{zr zTx0t#j!WW4@YfiZ@N(m1V}n|eKyl*L>bQidd=Wq2co#2M&(~h1`fFmT$LEVt4Ig-Z zUM9TnfhxPL-lmC)i$t_EDuOqgu=CEd^Gg+e>t|`6Ew#wi>O^j?nxD-t=QWlJQ>N(| z)6=Ht8N7YEO2g+rZ6ypT7Q@eB8*$l_ARqNnoa?wRMxl^ zXUtS@)^1gXCuZ>xs(a(3!KXzA@Ms$GC``UJbCxB}*f!5#tb~00)Nd;+`dQ?Cl)2Td zlV|Z^atBI88I?wFDpqc|2vxcb@fJu(y^Wizh`Pr>Z{_SQ;UTA z_;&{Q_JkuRi66}GH=QsYFikQew=~_nwxL!ZtqM;>d^y*FccrCr^J-!*d+UbtQ>=lzUTXQIep*MzOTt%w)YNCs-D(Z#VqmK($T&;`bYbIh(aGBmy>I6OLo{gMqGugIBy&n0cp@b(13$tOLai$3{mu0$g!>sMO3L#pNN8_F13DF9b zE=s^;17Wh?%-KFLL@|i6$VR}C+rn)BGQ5)=miTVABe54>J#jfdMZd-3XiQyg$aO1= z63@ezY_e&Lt%dl`l&w5!S97#JjE~M$=Grlc21ARTx5y?!A3*0E%F_cIhglwD)|J@8 ztaS5A7_TqTMSh7EzMQNo(0e*KxzZW$XuQ_$XslUN!oO(9j4cNij!gZXa_q%j}veX4M^DWxFEv)(70M%=#L zKr7}8@qUf?z8;?A6hnKV%y!E5tRdDm!}5hKPN~*~sfXxHeCu@LM7|*w9Jq-;YM^o2 z2O~iRswSB-^Ga}2OR`O)kbxRSiVbsmcq_;B6 z*yZYkM65ik`$NY+hMQsrXlf!i~WB)|b?5*?YTwA32oZzY0C>5dRbNW4yUBK~dV&+(l4IBI+k z?w3T6J!$=DV{A?$7o}Dz2|Ap zH8Bj_)_WHE!px;68UG_|9k&6Yl-{$6(^=B-_6+z$>&ao9g6Gtebl}q8Bh~iIw8*hh z)T5n4fBS!ld^U`eNmBbEZiq|9plXxf%->BiF4l z#quX6Q!fs&>HNJoSgR^9XC~yd7b;>#h!R(iT`K+f^h`n4Xk1w`10##pr^8?ad3pWiWPFOHxZPzBb5UkrVj0CjMsV$J1#2)IjgUY$puD+Cdsnq6CkC&`&Qp$Q z+d9hVI5u}x%~plRhPMcWAF+X>uUx#Dz!-eZE~MPt9a zj8Dsx7b@h_Oq~4Gj0k89m94}UWxd+QE1uEC;*OhGhJ9atzgblffV|C{0@>mL*_03lbr{QQ?YZx@_JxQD)pfx4$xMU=e>4IE+{#JmCBJ zYV)&vzIm4tyfq8FeKs+M!dakf(Z zQoh8d<%vtGf|2~QJg>MXem*#}WH7ZZSIpNLdH3XA1&a+N5&wqGma7kF)A=>#d`N{u zd5>Ab`BlR@ekvb_Qu_wx^Ecw}-}){E#H#=&*~2Nu8J^4xS3l3V5vdrMunyc%jv;RR zr7!j90oJ2UVvnw4Jvx)uF^pda#?wtj!1xJEKA#D>5#(^YF_k1Sb;>mNopjqu<-tD0BMq_2_|PsWb{mP9kmRQn|T< zd4**I{LNqTo-n;e-Yok5y7)&7{m|w}ZGD6{B!VjV?G~&5i|!BX)Lk8 z>so$>Nhx0qeSbsVG}9rBFqO@mI-e(csDJbQCG&Zue1&O->Bc;nJUh>X`P~%O_vzZ# z(GK;Ho6$j37=ZOq&?iWaO)FsBOM8CaLf(TB_ZVW1oFd#dJeA}qRdKc-VJ69xCY9vz zm-q#|36l1vCExOkAB$pOu^L$1?8jnqDjVC1`*g4Kdnd+>shcZTKBjH6sg%#NUU*F$ zE0>Zz7vvz{T+2o&$=xVF-hwRcN)<-+szJB&rTp34gq-ZWQeKy{Ioq08%n!MiclozhX9?Tb_zgVa~cMiH<68$T0s^HTmL^91wr{t+wS zUv7xw--Sn}u>gP5v-|?qkJC-pFb~~#O!a5;koHF>gJ9j zzn;UX==NQ7JCmMSw^%L%)<|XFo|A%Ey{gpio}f@T1sOgI9bgy78Fwp+*oNRa`vI}&| zE-|+lC8poeI&a*|G)fz$JC3RBZLo%p#(emJs?yQC-WaC7N*jxo?@5eOHw`39CiA!3 zo^Uf-U1N%5t)8;TY=iWKr3QQHp}XBC+gvtlfPWX25_Od6<7mZAy4QfqpcRA2659_k zeD<4Vwk+P^(&U%BGkIB_2J?`SUn=pVIf#WD2`ct}d&UhkUp?M|d`@#h4vF`Kt6-@u$f zuI-I)U=cUNtpsNWJl77)*rK%yKW>H_BLrIr(iE1Gknc@^nUfPM!PK+~3`k_`?||5ci*eo;VVH(shvL*oUwV zz|osnb*0OmTbiTDi&Ci)r}^i*QJ8Jhd^h}PR1TG;e*8!Dr>^&@_EG6gOZ3aA{dtBW zFG3ZW_y}ga9hmVB7#MyuBIjq+qIqxRjFK}QK2OHlBWsh)z|@iBIJUC%EL!wUW1zCGtFYgmOEt1<7*Hmk&$@P62c($f9r(%hDe(y1>g_aqKhysHa8dSg}< z;8#tHWY#Oy=$Q5hf3qSYq25IvPhNDh8+aZgJexoESTcQ7{zP23?8?$b)|T!1#|tTj8gMnV?QgDKu7&2;(GJN- zjrkt_LgCZOL~S3HUE4=7O81-v_lp|(^8dEg6^`U*S{$Y+rs*?Qnof+0XYX!i?{ZBi zXRJ2KQ%5My#{c2MlIh?xn7uwbaS^{hHA406AmZO?cn|%wu)m5m@oNmdRA#LVzIwDl zVVlgawUCdaPkhF8+jL>X^-j&?--py~#(YYL$U%$iMtEJP4IT3qV2)cj*pfO}HBLKN zF*p7vSB3Jr#1_{lhE|(gd7F+rI*Vwf#`9}TQ9Mun5pF}4$+1OYhMal46b*=C9V2 ze?))$hxNxqu|L9#sz#BW=mk5G$mhW?SOLG_+B_@#0xka@bpLLHnrV|WzCT9Up!+#) z+%B4{kPc%SjC+pFMaE8Fx)pb$vN=i`v~t_@6#hADTh1VOv>#;%KImk4(Rzx#s)t~X zemmynS7~SRcVtEzIrVUDv|^aHpYkg0CPh@@cvX^iykdxMk8+qM9X-;@PAJekd={Sw zy%;8!tG|gi;E9tHoPW_8npTEcePG6(uKqS&VQVv3_z|l1_*wivlwYzrzc7Cn;Jh`s zW!}dIfK6xo z>^|ZS$9P%~4301yPTS&@|4O(D7H_2~f?-eti#J#=U@h1@53_mYQ5BJ#O&7Ht7KVHe z6?Up_gUw5{4`jG0n9Xy*<~_hy&*%qRw+Oaw(U;2+tt5MQaAwpP3rDyJP&r#lls@V| zuu>7WaNBnVmF=`U%ob6UT=b0LY({S*XZ$*&tRa$Hm4g+KCz6b_X02^V)x$H-S=;cE zzONCd>dj>h23gD)oe|Mb7L(MEnfs!ZpTxA1%!DF6l}^lc zS8rppD}udI;8p`g%uvKP2kLa{uLlSo$-(LGz#Fj|v&LMYTPNjJRX>h7Q@hn5RaSe1i*;YxH z3pmP(hBHr|bot;QT|UFKc1Ap33te6X{q`-3IW1#4oaUVrZ!%7&hzLcL0uiUdxw0{? zttDHd5MLT${2Wp>cNImMc1@=n$COO}W8D++ra=m?4m;!~X^hhqJ6Pl?8G8O-+S~cD z&Q;aB zX~n>o5JRZKtXhgbEfk|qU$W?vJW7f_%?*k^X<77%Vk>nlR`K7^2ZaQWLW(%p6+5&6M|w=x&D$fLt;|th-FM<5@6Cwlt?kDnfy@Tose1% z3j2e?Ia;BIdTECv1{@rd(x(bBmv8$KW>WMfLX1h7_%)CYJKyprIAn?usbXC~{vOkk z{B2iAtGfLBU1N^5vg>4L~7wBBT~|n1|d0>e%Z^f(W@oTf9=X9j6SjCXIW?Yu7vO9XXU%9o>`^hZiY)$FW$UQ^dT+L2lBnCz1UJky*Pkg{C+}9 z9Af^Y-(Sp?4I_0#A09CsatzT&&3CdB)G>VR46_;5eDnzCX_DUF6$R;1R`d$J%{YoPdWZKS<6TyVIMbMK{fk2@x`CCM*e04EgFjuo$-Bk7Sahtq5!&GM2|bqs zF3iaCKtsPoOHM?ZtiN;4lX69qb*`Oc;yNuSYCySHf{xtM0?<>n`9ga>P*)si)oFg& zc?WttUGJ&9Co$&tkaynna`m&2<@NFd0@0%vrJP^J-!m6PzlgG~aAikdIn&}lE88of z*KTQot<3M$tP-SIBK7hH^f67W@IHzjW=J>S#K$-E*HxAR(Q>XS=+y?(#avNa|5xL8 zy%&hB-YwSP>V?L6;uh=u-gU+g_i1H4&^0*oq2VyZR#5D>#j~pm#Q9PYG}rMk1d+jwg&P$-auFr)AXv*O`NTGO!6xdk0_%8j2~#ggw{-4d7qR7lj}}D z!6FO^9#}QA?9_e`(P;M;99}7j>U`y7UXwcycBHL|^>{Vr4Vit|itw?WxCfenPH#INC% z`PHuHS9aCw&2#KRCGNd4?^ftusGK=z#U8|pEfvW6cWEN0nr|R88?$0JSD{oVO8la} zZ>0&dLvvFm>iyHjUT?nFvdS$*Fgw*Ep=IDl#q6YDcG?sRSq8K#lgp}jT=m>N&Sx+? z|4=lg1FNh7lGB!f1H5||`Li36b5nJ;S}zcfGX2|JisW*l#@fm}(Nuqd81d?)A(;ae zpS!ofJ44(CO1{_H>}_4eiGJg~R(OYv6{|EsZBS#?xy<;V1ism&G|PKdsod~j^-pqB zFvqD1@?e)Dr*1+2zMo6|qy9gTdluubmA`{IRS~Ym*gq!YTj%nPR^ADWt5$a~1Nc_$ zA+GU!d@IlXmOowMD(}1Y1t7C5cMq*dqF=R#W^E<(D(~l&8vZl9E6)h&%EJ)qRWPnk zPQtj-jy_Agy(45!bEaF&{7xWhoE8HRVZ^(6hDb)re|5*lcd-!|NXn(PIKY)Zi9W3H zTET|ngOJC|8%DI;lEqg zETyjWL|vnbJmHq|M2*$t>KgC@yf}^50ILV+QU@V)zn`8vxQUspCi`(Eddaf}c5E|G zEqxZN;oog5PGstEB2(x5+;PEaI0Me*7<3qygZ9L%viA%g@P@d~M7MkSgmT32_BB+% zW;+HJp$weo;IaQX%c5INHoV+8*FFbP=RreE2wG=zJ&5gfXQ3`^TW{MiWlgn;fAc(ZkIH{cgqgttLA2pXpjBIb|A?t1vz^ zE)&P3GBGAUJU2cjROS{)J zQ8Z|l%J`Ym_T5Ejw@z17@S$N%OMeGzBEJv-+{4JBAd z9`K-cLrVw!VuD=DVeFR)_i{RyNz_47;{s*){Y1ou_tj#s!z>@eoej4LPj)BQ_(6S1 zG@M3MXu*Htema*%He)3}4R_kp$`g%Na}A~9WF<|j2CIk8oBk~>%B7&0-*sK4e&Shiw9v=lBNd~m?gyADn;B!*hdXhD9UA!s z%*IbM5giOQtigI_)_JI}1uL-yE0NhUoo@LWWrPFqE8hMKXy>o-6nuBAEft*!9<@zS zY3Gl?R3v#6jn*^M7+WylVD5e=TbH1l!=vMUJcvH({*69<=n8gYcR=6nNF^>3v=xD0 zeTfcg8%n`Jiok2G0i_TPTJb#~8}K9rPv!w36cB1dWuY%%-3B{2Zeu9d9&GoAH|}A1oFx0j>!LvGEiOlwW2hk0oI%0+upc;1k ztIUl5#i7kTUPx;sBanoEd2C$~8kY}>!$b{;QlLl(ICXB|2h*81dICG+34ET;7DR{6 ztyWgR$P&bi05#liN(Y~2u_H^0#2mEeRXiW3nUpb_Ne^jkdiWq&EV6`3*-=vhYXHSA zGJwidj$avS!MW$?=z?efwQTMzgKk56-7n{;bQC@_PDh(N-PiKcw>s&r&YbAx_>LRR z^0t~LZz0yh(zjdVd4mte_4v$#q8Yp&nhh5tRZpLRzxT$+Yi71`4S54d)&F4p$r`Q9 zg}7DaxCQM%{pQZa-6i735iam?82so0*gRr?oXx@CJ3cS!tgMh}R!+`N&Wa|RI8l;U z>0L8h={#qe^?64Q`tvQ^|GBwS?a#Gy@&CDBaDM4coL_o#n}Xz7I`G5z6$3wt zUp~+lUpDYieCgZY$J*K+U(?|k{6RbeRG2roBVLGINN%T_wPwmWuq*WT?dDAai!Gnc ztf%3Tz6GAbd5wBR3vWTHAK4477dhJzcPHC*tfQ|ET4q!@SL{dJK%dZwsFyx-u%dMZ znd@mto$L^5xy;FW7AjWv!!|7K2+HywrjhA3`haxV7(lI;@}howUpT zVu>5N+Qk{sI**@A)H1Q$KbeUd#!J;FN~M-iJCq0?auMddPlL0}myB~%EHk5T#XfS;@5FzPga4|}9(5riTmMql z)t%S>{dmrxgXIluk5d@|v~n|6gvOuqwv&}$1R6p0PhH%F)lhRbNq1Z*7%lGoPBGC zNA!TVd*!5*MiLrHYSpcqx)HO`NxUp#F8-r<8u6V8yC=?94$~P@PS}L8+8NJy3W$DTjlAY5 zPk&o{op5FULx?aE*BP-VAFP1fin0H8N}BXtNN8zJcLyA`_KlD+AoE#>|2of(UQC?) zVn)xZEgxTu+cFoE%-~$iw_btOhTBEK5nYQtD4B1)2K{UZrQjXwipd=r*u~kbK&Sz{ zcRgA)Qb#-F2;!UEX}u-1o*QxyU-LmG0NrLJUcsa(%7ymlxx1^t7ig zrrHqS#IOhL8RwZ={-^jpzSC;$KSugXOb=b$HGrc|*6%xZ<&Gx!x-P-jJ>qBcb&|D6 z(o$(+&_Z+inwcWfp1|I02I7%)R=(Tc?SmxhlxbCSp(9~f48tv9+D)L_LMmeH2qJtT z%7)G0a@tI;uxv$2zJnD*pQQhg(Hb#VWBM?pb;_lbfExu!x4<8sBvYv0cqt=QhthOH zI#MO;L%WiBL!6R3J<(FNJd}pt&8a$PST+b6t40=UH6}GTL!82r=sxg_ec1nX%qbrU zn`CeFk74cE6-2eGSfpb`JVJXVcr6b*9T8@Kz^~2?F{$SHRtq@yFUV+y#(Xn9blEst;nW zoEZ16@ZAkWjmNm5T-+0=q)M^7DefBNh2*c*+&jP+P>px%l{vvDM4m`P?Ta zDN48}!^W}l3Xq=WUKz(Rx>$CnN*BxSOwz?!#japt7}XFDbnll1m4e1ou46eNC*(66 zSGV`o(JI5e>Uc*)GcFCfhP%~@Jbz5{f#Ni@PL=hjo1qml<(yC+@_mpA3#QW~OOQO& zH42%v#NC>tRiaaB*E)8mcrR{Qd$X}5diarQ#N$PDrA7-ruVVqM+(#avUBZI@>k@Rn z>`qHmZRt8#@!YLxaC|&3C+BB5(wXo=bmcpVnoQ7mm)!{( zMrpK;=sT4{B`7)ZpR8E9)4?f;=b|)v-U6MCIOFHr#4Ow=ZDRj4QW@%8=@??Xf6Pl_ zE#fsQ7)Et%)AMOlK3|F`2!_Nj<9wHTa|E)E$%T0Ar+BFm`p|fJN!p~9alq7tbetVA zzmRT?9LLQ~dSR%(3%r)N&`*pLtV$@Am$tyh7mxi0sl&1fJexxu2k}j9vk@GOZ}o>C z3?E7CI_$s9cmK~q<45D9(z71)9FM&`W-0TV%B0$ccXwNbb)3oGuFO??I1Oztk$epg z!uEI4q4qT=(O066e<(HtBg;Tp9k8DjDp3a(nA*XuO|GH(_HZFahc|8)h##$KCyvD7 z>^MC&7~`?amGP0WI>K8RUVV`_5q-03@EO>5io_1sS>8R@HINT}nY5mg{b;&Sinc!1 zacnmt#jutRjalb`gAX6zdL_Du`n zW7QVFW=xfi?M@Lkaz=X>`u@auJwJt>Q)#EH^B5)bdiG{3V z&uD-hvUd%TVN>N+vOIuMVYg!L{t zLPsJ+;%{NCL;H=ONgLvlf(ohb8w_iOcM&8yW_}Uos08hZ8wMcv&a@BLwYMwM3unO!n}s>x z!3Su5-qg<%xPVG?f7V|C+URQU!>-t+P~mU&BpW}Yp+5Z`JKaPJp%oU29BZSp!aw+k zRyfV+9AVkpN8`e0TG;M)s5<+fkt=EYQRk3sY|3AP|IxSqu59%tmt5my`_*F{7b5~m zJaz~xvuj`t#?nZ#(cl`k=(!AxPA$p%Mp^_6Eph zGW|+rlg<77vZ0y&|5)}J$g<5Qc6=V_9ua0um7xrvWvaQgu;r*a88kw!3g1+{fxhYZ zeA_kl0?6~);Cx|0^lNd)+Cr@G?CAXrcLL9IhH!C=tH?IfxghFg)#hn-XMYysi;dXx zPTT{F&pih4pYP+-_wVt*`%oq6l~Q)p6oKv>pqASfdLSzmVU&hzIg10H42nXmj@9Eg z@*#)Bw-z8C@c1)lh;P+F+DU2%5sVw1@oHhcJ)3(d{?>x%w_$%ifz@1!p5gxFg;xBB zCJi0z#|v)}l}LSS3(?O~)O2;!bGpQR(v<&`~1M>PU2&~SjenySkszeO>2fV zZ6%lGT!FI8c+t06POC)!AzLeaZ_~mbqRm`ts{P8reR0whzrB!b$w%V_;NBEX|H^nu z!-A-ftu+5Gb3ydgQHo{>#8K?MbY`8y5BI9iwmmnJuE^(8~41-pkG>g5SuP_q_=ku-^nRD2b0NucM5iNoHU!{f%5s`4~Kt7$7m0Z>mFA; zP<)366H2SNU+aWS3BC72(xQnze}S@AchGNt)>0%_7TY<^WBu1`CVv3z3~XE|3-R_$ zX;>96L(YXB$1~Z8GCuwQu_fvz>OrS4Ul+oEBEffe8EB^w^F>yhMwD>fMQPSdr-OVs zR*Q@7GH!;Auo?50j`{0akfc`CX822dSLv0kgEq9C?sA`)$NwDRrCWY} zik zA^x89a+Azhv*IB%+jUY?&F_`ftdX|VI9eH75%P&V_bTM0`^VOBrlBedTS7;N25(!57nm$&9x@80W!q{)6xQ*&>uO4 z(-6eN{-uLVC6$VG;FbRz^Im|VDD>(P3#0nQdb~`MCS*=U6cbp!1$`~!xYLfHkRy%O zWlCAnW#VYLM41}CMI*3oeoJWR7e$}GH%oX-4)uTela2f zE+$#MB+3?B@FF{Fb*o;|1bwXq;te4WmtrT0aO3WljxO%2#sT9ElG}JosLXoUK^Q$7 z*E74Y!7LZzGz*WG9o)pMk2$X7czbq;tRg1#ZXMd2;+&bNy%e>7MNE|h*tX<$;tjM0 zE-C$8b+sEE=DOv;XbiNT#tx{UxYQ;6iTxW&CV2cr8qSx7E6A~B4kPJ z9WC5zMza)c=Z%`u+6ImFV@Ez`wx>vG;w$ai()G;49dqEuI5s_`D@~COxAU#kLTIC* zbWvMMtsHSo2QNAj)?xkrNlz_O_1^!koW?0N5q~9F%E&h1Bvgj@XuVNhq_i(LWWu_( z$ef^q^hGu>rx=UOfVbxLND+D$K+oQHKr(YtyYE#>Bgu^Dh}H*Y8QgENm<{Tt*?#<7 za<=^;FG|)2^@1!hP(%rSw@`Y>yMYH;vnPyNpV^ zZjFoL&EYEX(eV6MYFAyNUDI7gL>7ZgqhpA>L)5YWv{ERoQ>bMIer2&m`ZCmO!;37} z*NwFh@jF|qumat<897NIjD3{wRp)?;$d+VOT4ceFDd;US&W)pNWd)-NU7C$qLYiPTIavQg^AX_sF*JkM%E*iL$Z$6a~Q9P*@JtYH+PENdvP--MUN+$$~w=3lYF%1 ze-8UIl|UF@%CDc4{~>cS&zlz|^MoelF-*$Sq|}+r*EN>!>yz?Lu50~RU7N@9teuo+ za{sQGvVY6Q@?SnF|KzqVJg=?XSia0j`6jnDZLF>P=O)L+@Hu%-amg{ceJsyExX&K{ zzm4VjDQ>z_=j^r5$#Y;V&z7+~znYMT;wtGOJJKz$L?e&kHx`q}(sm@$(ylf+ZL5;@ z|FV;9`Oasgy+cV`=uW2n`h>Jo(c1d4b~mOb^Q=weNz&)!`MZWA`c96kb1dIglkyoS z(P%F6eG54kkF5#&Sl+Bjc_-JIeqNpYSU$sqeCoI*M|cQ2)IGLjpFS|Db57$+alG`v zV~d!LXS&t-h(ZH+ri1v<7sv9vp2$No=~Q`M9?P>}EYGu_$fNQGwU#}mRD~D3XHB;2 z(Fy5keyHDWv}OLq7brZ=^od9x{KN32nskkwZOiLAc5_ z9NDFT`QcQ(ik@Accy|5RvlaN=Os^27=EXb(9dkVgG!mu3-L+cSR5U<&L7Nqgun6<5 zTtF*~S&roDN%w&1=oSxBd$-cc0T5Ewe{_5!7?&0pFKCg!bROiI$W}){9Ri|fi$#V;$ zw?Wh8dT1BibYW6YRW;emFC@D}nYg2dlPkqd;&NDZH%TnE!}e1Byr}c62{#tsy-6b* zkoQH)$P*`ePk1ZZoBh9!q~lH&U*&xl1iazv)I)( ztD>K0K|lXzHhhRm|8BBnbP6F2}T*P5#o-YfL6V7 z5?b|cn`#aG-8?bLXta?!zv5v>JZAXM?U2J11T*Ba1ae8S zkvy&RoBBpNZQVJ-qX`nB(42@X?*gipha|->cB60Fxf9EAw>m?>_BF9sgBkd~CQ4Cn z2KuAb2^7~MgjY|t3-R+8L+--6pkSdEK~q??IM5o{CjbwX9G#cYhIwR-kx93X$9@$j zdmGtBgaC`J!MG-8r7uDjB|bzJCB$~mN?JscPY&V9xbNTKRMSPWs3z4{`<{WYtDkNY zTAfMRmslqxEt8!HG0BIC3qFt{ z0v$5w_y_!_@8L{Fj$)B8PC!E+sG!l$mawm&@4X|A1WuMv81sSXjmLh3dM`k|@z~B` z%;#~cai(B^yv<~tz?cx~>ZV`s8y?q}af_OZ&@X>`S6#o7gx$(zh-bGs+Q-xe~FKt1Ot;zj8^urN5izm1b2%xT&*B z2sfkv7lXGJl0W7KpYP`?LmKEDjQKk`tJYP~!`QSv`PLx^i#^N{>ec6OEFff)58h4d zV$%CL1ziHnerp-w?_?X^=|&rOD{+V{@CenEF)R>=$Wl;# zFAFG3WJt9jMSb$ev6>P#J;eM#6mq1QcEHwVnEbcYu1dog?9hZ-vjYyYFHub>}tlLaruf`+{6i3)zO zo~^)VGhUp61HBTzB~k9?enPo>ikG-1B5dNZFAVqL&OT}xwFi;@{|Ax&|0f-|SO&z& z(?-Hvr2}(CsCdF%5#|apSvVDU6Ua$af$4}{D_L=qv5 z$9a+oJpb*J@z~GL#AAOt>rQxqfbjqVcrwoVK8wot|1dbt_th0mUQ)!|1udw13gN{G z68qUn|m~hzoA*N5ve*-(u&+a zg1x`f(SzO~E(>BVkEOvZ`@EoD;?tOGAH(OCaPquMOE;}%!+ctkv>wN9Sxbz-xcsEZ zQ<93d`aGPLnl?Rw>8gOQkw%g*WaGF8e**V#ez~trnU-+v;K<6HKxV{fn62Hi5WR_M zjMzhDUO6>ze))Wdn&-Sa$DTp^Ow2Ehz-!&-=RGo(4*Tp?N=ii1R`6*(Q}u~(iG!JkiU*nk$(c#_2xqblYHG`LAX*@rQgJK!5pM_a`- zWGQH}U_1O-CXYz}zXxvK1WRNd&LS59<5VhUBj5iZU(z;CtCM&#X^2U_{Ap*;6xsq! z{U>LvfJYe_ZzHuF{e>?@kOrRQfEe)L76w9*u4C`Rw~d{a3H>)IF(_q6NYbk$ojc z;!YGY&(@aXXS=BQ^FalcmcUrf zz$SJ}2ccC>kj=`(lHFWr9ePfv5z4jhBs}=a>5H!q)0rXFOKwp7khApa3L(9TlOMyF zbPeJK4$N6!bx>S3iUFGB4}?c*2`BNd8f9$}vc6HK8&{M+P|En4!{_t9|0kH$&%=Pl zW8A697_j)U_dX(Oq4_$gVDfa(MB=fJPBMA-Zo@o9=2?Q ztI+!B?w^KFDOw()@1X?74(iqOPgKThCm+T7GdR22+p%^CF9MzIqatXh9Pkpo8Y=rG zfQ$MMVQ(?7$jX7BcOxEL{i`9z9R(_<~!HCbrfD0w-wHuO0Jk}oX zi}bZSfn*?TRkRm~FL;r{@>9SNL5}N!9M^Ru@>`&>TG0RGiN1^CMPd}VqP&xY^`Ra8 z{F8kuuE>kFeIBj|c)X9sPyP*`s{`$N?kI$G8Q9v*E^r4ZmpzIT zo$=V&j||c~y^jN{RRTWJ+|F9>SFl=1+!A56DBYhwG-2(lIHXtLU08M}l})%sLTq_~ zVgk18H1(nvC??w&ipe;3(opA24eZZVOL%My$>bdSeR|>~;>5C((#)TZQTe-1kNXfN zrc&1s;T}$o%}G4=I#6Cy&B$G!IV0DfQ)lG1kN&^U$TEzXF)?Q1xl1R^2yj4{i+HT! zb4DyJ@P1;%`2TRkmMJ4P{q&XMWg;TZ!t3(M5mVPKmW9H3l56DizLV^&?(iggfA;zE zQtaY=pFQ*}d(PLhrRT*S{ZmCx-SgDTPZ<}pL7p|@J)PZ!_i0RncR+mcZf82Y&tO`- z&t#1v!?OPl>=53w*voj& zX8ZAeAv=Kgx$FhJU&LO-`#fesE%O=cWXG<}Abmy0NZ6zOmYpy`o{GnK^l@(iVRXm6 z0IKf}GLV=G>!eW{&oP`CkDdNI<=|UC!k(y>>5hJbji;ef2b47Dmzqrb>q%*UH$~c{ z%?26~?VDD}CA`L@Qn6Z2`=oyCo}!fT_IW4OxqXV%$@X1~vJ>ypaoj@5b1eA<<+-9~nE-Td(D0lhp%!6`eyU$yWQdbJBR(r)VW(g_x$PrRl0@*8&Fbt>j9W0i?*oDa$(D(f#a9M?QMsRz}L8P}4g|*HthIYBDJPmoKy| zX`#J2Ikugj7~3Pr@k#olHZ1L4T&&{}qefWTaUagH8ra17cZ#=<{eFAL@AKV3-GtF3 z8hm)Fl0i-B7%iXTQHUS=8_or*Z96_`e6~)NJCW9pIiE-$w@#UsW?Y9^j&!)Azd*kQ zWt{ZNI8`G@d%;DY28#r(+}%cjUd^EF<_)067BaEct~*D*PVWr`fh z@o`QXpOZ(Ynz!UUSEDTxN9gDjsWZeTt9nmSTsbR|VsuA8oRsf?l8^AAS3#;Dsxt{o z{gFxyG}EedRWhIzk!+(o`VjJ;zjoWFsChj7PbSrO-xR5neQKYS_N$+f_D7S_-tZY| ze>f@a^3O>7<4I{3PmwmchTYL6nmam|b)M-se~mhjXR0+ycL5pL(kBHeN0P*RjJIB% z4?A)ivxoX4)vzXCm2a>(;XRyPfYlwn>n-3+S9-)9*UtC%MJ7Hyxl)LluMo>$_TGU{ z$8|4x>%~)%gY^cP+H|Iq&JoOPG;^b3_6YWJhbx)oq6rj8( zamMC+TKn0gl2n@*trH*8KZOxIpF$p(BE3`GY|tpygZBE{yZKauozO!!3%sy*!(=|Q zX^Q+D@&W`TpTOy1EvWTdLP7$=Q=R-#7&z(VlLSu@Catf+DN0R_hdWxSIls>rPmx-s zTVIJgx^hzLnNy@5FS}||>iFNzpPBLTbVsWvrG00Lw6uepW$HgW_6x{hF$2XicOtqG zBAEw=$~Oen6Zrh#`*E%zOEStBxHjzhxT7z_F81chN>l_{#F>2`(gK52_+-sU9pC?c ze59Pm{eWlp?5=??xuHO8%sN+Zlbfvm z#3)w&NUcqni)R9-=d+?-rW0^4b$qC{c@^c*6lkn#GTbE>Mt>4_`n?6O%7Vq8Zib!r z#G4#m%{8Hc=i}*B-hvNnc}qchV=Y&8SFMv9 zc_CT@^NN7@xW;%26|3kal$R8={@XaC?%pId==n;<}Nck;|XGP=K+VF(qL&AiHvM&8Njr_q9((hVgasg$Xna%M=ZW&vpN5XXYz9Q?{$`Y z0}Lp}r{lf-PsYvHn#AR6%hp0JIOuN8!R>^H9WMylTAo`BPpHy#<2h!_1X!H3jfj zRW)&|ov@-7)9tO(iuEob`u!oFe@#JlbOk8MVh_k!9NoI*hi_iz)L^XE6gaPCQg$>P zpAMQSkng=Q9c^@4cFg=r?-rbxnHw!+S!Rm28DJ>_y}#hq$c??GgBqswXQBLJe^#XN zlH{2ALbYugsYw|xpd5vi2FBL30qd+~Pg;Cj9roUQiMZKH>oP_S|8Fh8KKf9qcpexknQ$2`ttqXLYndIN#x_ZtdwP3DdhWipNc>jkx?1>>ZNqz-2i%}4 zt=-+TzZcjEyDo^6^S0qSU=>aKBPqchy(UOvEt+`jo)_=#6~*>QEwqhz?9LbI=?C7S ziU%q?>JE78r5yhzY3`==n;wibMjC;MkOL$2jgbctrKtf{>jM=|;JN3+_m>9G3q`lV z-PkXZog!KOAL(7tihf|mihdJ{f19c8k+bxW^R7^&ymazZ#k(fST}O}^Mw56@PE z7N_`Hdb6T`HgSmThco#X%ny;iZA`R!;fohVZ_(UiJ>_)-t~3e}N0~QzDt<==i@szm zs-RRqgxBBsVo}8bxj;PZ9q!cl#fUppFKxY*VtMwpbD|azHqVp|m;I)qz1I-raAKlu zsZo1s-?ozBGWb*ddi*Z*7FC?C&}x5IF-Kg4$epiOoGCMEZ}NZHe`?-YSk@ZRW5Oy&lX+CQv*lA}--xYdXIlb|{Xs zx$=75A#;eUBps#*8>G!cR` z)udp1S5M;+qsa(d|7{$@D@|B|+-AHEx8Dw5^ZdXo`_xkIx0=Lf_O$ebd$~Y3!dZW9 zAKKHXP(R5~`-EP!zC}|ODsBH>`|mo6;km7SAq%uy49YctTk2eT+&pDS(C*3?=!rFG zR-VxMD8Uo0He1>+zwC|HUgkgS74RxUbpCVo#r`YAd#tZThz5z`$j<%N0Y}-(6;vmE zd;P$_DqcoJj6B$GFM6TSx<8_onRax~G2Gy!3kuTl$Fia&EcY=Ec<@4z)9PJ+sZBHI z+vD|KAv;7)CFL=?j?@~>Mqs-{pv;r$ znz4uFSLTR?;%I==8eBW`Ih$sEj`2Wms-If()&Uc!qtW{7dW~_zV@qZ0ix$TDIkAhQ zCnqWjaDp@^e&@tm)f%Y>pI)mUwfYma5^twkRo>2GA9HG~F%=_EQtU|G zhhb1mETW+?RDECU_zYGA%L7RgM%UF*;k1!nLRmEXv<>Jcv&u;bHNn&qRqJmd7p zX8(oJBkX?$`{F`mal{+(N94$tBZxjBf`4?}6=65C*fly{#ECVhuUG8VATAd$J&_VR zvG)+QLMxISOy}M>L_}06C_gF!c@lg?uBY+W;#+bK=y`JH#l`D@9w`PsrI;csVf_5< zBJA^^g4T^vx=<}KRt=6sXX1SrxiHS$!6Jt=A1NnOmMiD4ZCRfzV#1ga=?odA89?8d=nK?&}P-KAHU>$$vR3qMhb!w}y9OGodYkU>b=s85MvKA+; z!r0Y_D8#InDrM|EwXL_Uw}j(d`M3=du>>=y%jlD_W`405c0Rjl-xPXq;!# zw84!LS=kL$EKIue4^UVNWU#F0SD3$TmNeSQadQx@@0;Mudiy+BvK-J`=+u+)P0wS- z<|#8)VC7r?;Bsyc79YX6CyJ-}s$i5ukoEH+XRKrC92aOYk?emR^dz0#Sdtnj0G^0$ zd1bLTQk_zP^=ZUDW`c7ElXr#-MDKc>6=io*EEKu9#8|}z(gK^SZV1QgHQY;%A;`r{ z&sT}yxh9;S&5|)zL(IAtw{J9;o2u?vor=hqS6G`%L_|eMMH_yJy=~UVYr>7zCuV=I z7&SE_`kOIhJJmTKW%;VkRsU{vhMbC;xHUrg%d1~sow*|(`{f_q(wg>5z)4=Rc*{Mj zoI5UQ-Pum}Zy~3K#cogK#GPSSMyd50jsK0XbNg*2&K+9e4dAc#b35C2cE8c>>|WDN zs6IZlriVu9O4m0bC)2DF2QS4Of)nB!aa1e51r!cmhIMSii{a^dL>NhO-xf|AZ6U-x za!|?^$P6t=k;Dt~A!kpS!fRKynt}ZrdSpHP+h%z^(+avE?r;Q8p-2X_KM{9}#|r)^ zNI<-CK)i96Y-jRC=x>65FR^c#l6@$R9=@YGWX1d4wW+cL za@6wmCY-RM`R;1Jct=R);KDm$aYi zVY>!jN3SWx$BNIHTA#$sJl5{+Xs*=47M{~hDN~eN5ZoP)wR4q(!x&KZauXtgXN$LX z8vo<{oU>D@-$s-?ohuIOViAzAc04J=iZcQasPbCccPHvT6nk5}J6jJ#2jNUc_v9h& zBbBw&bk9n+Xhei2hy;kfM7+dQRWI%xjK{CUt%2}?!DGic^_Y7?uJ+C15TWnf%F7U+ z>gVG`BnXUl@sc# zapMqh5j^f`AN*DP%`B66J0$hpvxe*P@coZjX-Xc8mQb5Z@kA@w8fYKayB5NJF@o3| z9PURyjL7F|TQu+^Pzm3e<>7kL^ZI`k_xY(L%JW1&BBTRrQ32SqwyJ>=+^jgpO)~z zjr`!bxHn*KSPDDKYur#~-oXAi{C2d))AIWF#eG#CwB_AiC-fIy{3uM4g<eOw}3(pLkJU2_CU(p7=Nq~0W{{o`UF~l&M0bf6G zRw#TDtxZ;FV>2>W`AgOOX_c_f^LJqZSUabIFk|c zFur&2Tk)l9DVHr+BwiDW!dXbJj z*^vWZwaI1yIHco?bI`n&Pk_c!}`XjV+x%+19{uZWm{!l1z5qI@`%3{%syk znL{7aa~y8uGp7?yjf2GF%nNX^!{sYAzJMAlfN}AKO~QB^SgRK{vsa$@6L%zYmY}xN zY;W$L%ZdZea>PS`C6U@l?IR7ix&NXGzZ8ejM?^O?+Zzj-!(4~6gq3pLthQLemeLM{ zsZh?_nqjnVkAx#$*$-Rikw{@9{0i) zE^m-*4L_;j2S?+GM}{5aT$%BXDFD=|q zgK{dQrGkKa-&1*w&FU(X%nc@MUdDll>0n-}RxqJ#t6;K;>1CFY%;L5!u+e@zy84PJ21E_2x_aVPgqH#Ck%=A}kgKdyo zT^i|Joe}#E{r^VpVrVq`z_0fmWeja;BW=spK)IQS1$soXuoUrYUK# zVQyOn%!uad-Aen>KE!r83mf{`qu2vkF-ls3z2Gd$K6^C15cem_7+IH3tSmkOn=b6| zNPFUFR?qMza|2SFM^RTF>gqe{luGc61+VnN`)XF!_@YOS7H`+!-7N8|LNyiJxhksb zM1*QH2$Y{$4>^Kuec|cFO|`66W0bpTZ_rjvFLkaGx;gpgaQnW#Zb}z)nry3_*F;@! zrQr1?@uk4k(Is!;$nz2-{`+la`@J`|3>=Sdt!V+G!&_hwUg`aC(-v@M58A&1W~k*j z9}6&~=#|gZ-+yC8=e;*h>mQA4xr>|{PH?7k7dUNFi}c|p|8}Cb8p|2StipVeD>EVz zMMc{On~Jydczzw8XB7Gp&sP-S-U-CHOp)%t@xdOh;n)+Fh8MVAM~cA7?LdUdafJJ@Du-iUewYaK;h z@!#35#qh4v?ka}Nh@D2eltR6HAy4?=`7-i$+Nd6=-teE2~Mrt4_W(u z&IrCSQ>s?1I#>RiRvjbiIt^LRU`_pmtY^UbgxrE(RSAsh9WX2aj|47I%u2|cOaIN9 z3^?Uqjq+~Qe4b=Ueprr;?x8xeB~_{=NqbyB{&XwVseM!r$(0SCSr18*Cl$>yX}M4} zp2mdbVzS1AT@iZ7vO7ti8M9egug2O++LD;K1aH!HagI!?g5wlE|0smq; z1qfSK>v+59T^ zO>dMhmb}=ZozRVz!egPHJL3^c(}ug&lQf{tk^?b6Nc)2CQsdmNU&XD#Cmng;Qtbt> z0^KxBTFp6VHH__ShrYXAEOqXfSf<%Ed7K!Vy{Evs-w}^}cy2oKk&c$CAf`Qu(&)@v zS3C4Pl;+-HlvQh?iqE8#Pp7c6C5>&a6LC6_Hmjo@$UUPyUGndA@5+8QMJU9Knl2!( zfq>o2;z|?TyI4U5JTH1D=|+RlKtu~70?F=&w6IvHHK=&T_Z8jv4y=vEI0sIxGb$R~ zLw07pfH&fNrwP`up*o7j@rU1-EGhQWUIX+OT6qiY^z`s=Qj~rMM43Of6ALdH(bF8Yo?lyk&SC9No!CAU;*tr;k3%OT%Z?ZI??_QCYR=@ONu zebCQod7e$jorJq8r@`-_M@d>ivkRrH5ODh&CwWCJuh})tW-0vpbj>c!t~aq$%LYzL zmxjK?tvZ2L&fy>Hb1-wuv=-d6#Bf3mHl8$oxQe~%v`%Y5Yjl5EL!Zs~Ea>#uC9)c_ z8xCxGVN+uiKKh;0c6RoqFtb+wYWme?2$^2pkxHLV%TL>RU;nvydZp^~Be{aGE8ea&yC<98P&ll^IgbHEqs<=?@`3q|@9mQm?h1b~rJTv;wFsYH6cL5<1~p zX}p}k!|34Ty;6Yx8Yh%F({wQt<2Owrc`4Uv2`p8{?`n+Sa*WzE$%yeY;nM{IjiBiF z;CBb^6{Hcw9V9Sb*XD;Lp zXsN|*l!~`kDD!6l&cSFWt7JMxQ0ppze9S#$5PVVZTN-*LsEhC_sz!u8HQ|$1=kuUG zM=Fg1E`WA1oNKq@a}fSW2ETc2$lVsYzG6Fh(EZzemB1F;LFZ_z-U-d4;XUQHON~h9 z7B(A}N2@M1;YEBcO?(i(%Df3RO;wN9>TrH~UFJkx2IojU)%MPW+SGB(k2YVb#fwIl z9h2rb#rF+D^xGKYX|QoE6?K;Bd|6a{+lE&PVkj`H2D&U~f+TGXwhcRo;~Qa_3)h_p zlbw4yY!NBqNEwbo$6BXRr0YVAV&Pj~k$)*~-$dB|ZKDR<4M%8EoF_WR1w0myiLZr) z)|vtvZW&@a#$%gD@2Hr8d1!$aZGKO9ej~F4h^}1UddxPPY-mY+a@A2^7f%oEFgFO3g z14XypP`?W@=k>ES@~4`C*+rFzDxlD;(^I?&W~$hXC}N`J`g zRet-A(vy!z&oq*D32)7Vb*^06I|#nBNgLG3Cb?415;(Ex=4<7}mUKJUcEqdkXMyu_ zh*QTsq=QY`(r{65qj@f$0v-0t(4R7S9W3a0hG>)KhO~!tGTIGJdel*4ONU>)5tx{4 z^zzxWxQ#%F$F9Oy3$XALE?6t5I~DnD$QH;UM&?KlZ@nLqSQWIns<-&fPgu{-Z(@&Aj{TV)|O4jm0v(R>^&BiHPPR`3fqU*BW7NEX8}DSi!MFWd!5%-044D9%6r#mK6F(DC&-uYspUnC8RpU8xA4&}@@w=t@Z4=A>^HmkH^I9sKyvg^j&wZ#6F%aF-muqc- zIkxnNYz;rmTrJgXdc1}_aeDOc?`QKKru*)oLmcL%J~>4g>a^ndfwSbjYR5Bm^wg14 zb(AEgbE&2s@;$V)1RDN6q@IjMPNuzlQrfS6M%rbQ(%$eHX}w5$J|gkzDN>K)^L&~} z$N8LB--u|nn zZ2wcpGgbQw6-=}{x?Drp>vlE~cio0OlX2I{{;rtRrn{zS(;3BAS^}EM#+gUj%PFSE z>opYVlxtDr!peaapuV?8-2GY1Gx%2A-JgyBe~*)9qk#?R8WE@L5F_z#IVK6(fBPGwL z>zD?2Kai(A-E6_Bd;z_fc!ovg!w0}JX;(Wxt!2uz&nMHu@<=V%0Zo0J%PM!GG4+>i z^Bch)s77)`=zn-wpLd*&M~z3QNA3H>E0#D4mdpUJolhmk%N-wqDR5|R$vzL zaE6B=N-X&-O=dGsH#&U{c4TftZ(k~cf@1wA>b)2ing?*p)9@y~b$F8+i6swFS11|_ zos;muJ~|t=gg_I%;hn{1V<$7q0EhywMzhry*->M{j#!D=E%-wtBnFzBWc(s^FXE)( z`Ynh4f@rKmvad=#Pu}cBWY!QcinwDrIc^ivk(`1kA#w<@RJVEgRTJYAO-z?8FLYzG zH$Ak!fU6o$Npc}vd)Aws2kJOW9S{3`1UD9%$598(X3{&inkfbtB1D*3>_S)w)HD>c zwArji^fXzo!d{|AOgYi(2SfY?=3i7&D9<$QRRx;y3@p2n4@Net}*NI*pIu%8Gc;O{pl5zeDch+Kz@3<k`XIPaT)Us6np$=G<9q08S7sw_W zlXYxh6SW-JS-ewx>*sKWEIB^#>6V*AO=cS~V$^^2eiX__WBI6|l40HMKD@F%P>Xw_ z0|8*_UCr$+VchV#ySN?SoPOM~foK;n9wPUG{MZxCPin?tFU2EWtdv6uMC6INsufssLaZjt?Q+~!APU$IXs)VBKk+xBInw&LAh zoC#zYkC{?S&F$jl@GF30JA+6iBh}se{D>Mm3tYdg#=md-KAm$Tep%P*1s~XgPZbhw ztr9xxU$1aT>jFjAX{{AXs!izM{8k?#X>Qx6QZae?Y0ojUAz&1U!_^D8Q5&o22c!EV zW|_yQ(CCqfMsCKZ`$utCUFUbAD+#34neC}$tWaakn8>VSrN!{QWs zdnCkmHRCgRq&EQfToT%nz&Wp})o`3MhmD4y({mT|8!a(S!eF zA^Oz|f~1wFZ@9BSiyRx;GQ_)XUQ@tJ#ld`w)s<6HTySAjW={AY3u^W7);tzJ08Dt8 zbMU32t-*qupe^u(d2n;bgrSu% z_rrBVbza0X8ZIY~wC7DWz*E;FW0OT9Kq!q9GIbXwvHXh=p)R zNek{HmL&F!o+q(qk66fRdjF*syeerG;Edrqrdk2Xs!B))LV>5_p4F`{fh)a~4;`E^ z-#GVqOtn8yTn=#HSZqGwW67sz6nJpk)!`pN=cL(Ic`LTUZytRB#*O}BSm@$fSdtxan`mVG#k`>tIaysBTYBccuXbjzi5Ctb^>WLa)O^sAOj z-JxKQyT>GZqot=26AJIZD$dnQoK~ZKr+Z_qmpp8C9==ZNDXLjF$PtaVlPP!4*+E8nM$eQ)XDaO+4#C!*b8 zg{E_y>VG=a zQz-9dCTpsAt`uplc&!g@-c!V7yGVb%9!S0GPd^4(i7xPXs+l$`3vX29bDk8aKr{-PNaf$R! zZ4#%Wb8_4nvXNJ|L@1{&I8w*7A4Yy2(FgYq#^Q?vLf1VAG|Kl-%7scasYH|DJ8@Qt)iT6FR&lie{<=3w8RiCGEBSHd_GKtv@3J+#wC_toxR+VyJA3yW?%hz^gz>}e zm%!mSax{uKX<*;GM+lt=`=X7fIn>*DT8ny5ypsx>VfeJa?L=4ziQQbNcaH|&sZGb; zIloQMoqV}sQ+Ho`SNMp)0b5G6$tkqShs+K8!@kxWr47?Sfro+n>;nz7D}~Mc%m&s;eh=>%Y21);fJVQ_#tW+FWTjUj{TTPjv);$YM<|*b!Oq+@=vHV z&Tz{)Grl=|yW2n`ajFG670hPQ`B?IzUc6sgyW3-r%_0W{qfxbYGSz)=}%j)SQ zM08Po)2uW`lF18=LO-a4-Iz(#e`b68o^vQ)o>IO%l+VP@1*xa9!d{flJ49_7tCWgL zv^_ZNDPTuEYQHbU4Ar9lDQB}XODR?40vX+r;5=w+pbp9tz5Ts?d?1ZIv?nj%=9$u3 z3CNpz@0`+m7&}8WW~-GpI(7PHOE2*>-PVr@k}t( zcvD-fyrB&~qA$>UTH`K%r&Hd&J?0Fahv!wyRB#UP_Xz)c==&oI$3fgge)wJ7zpLD1UxxJe zW3QxstF=WI3MZl5DfLG?jkHC6xLc9PoAC|IpJl3`T8mV7M3ChP)ZSYf&A3$V1y+8+ z%UlOu2FMenqUJ?utNbS;{0U05@1~(em4vHEL~W)x^A-gSKXIYzd9g^ zw>4j=EC5R7x%;x=&$T@gkMVK@YyA=QI96&P&8-;m-FVV%URKWsHskDIb|O;7lXqcB zSZ||QrDe1t9l5EhnOcW@%-$6ni;G&8S`~U!g$5tBse%0(tr_QE#pR0art`^IckFSJ zhx^~h$PWkCm~mldq6f&971cBc&vM2+qmi%jTJhktazqdI1n-`Qg~A`h7w(U0 z_WWp3_`h$;w#4C+w`GOfPZO@b{q!o1XQU5mfGnU3co7Fmd|@l4`fVwuVK9ha%lUO(MNNi|~+K zpcQawa8l(Avsw<99y@`balo#sqf`m|!*7JOBdlEsTX#iR-#5alUj8WE>MOz)MyMaC z2Y8^hud9UyO|53cIttmkzOeO8J++eB_6DWx9hjBTT9I~123qDg#{BV{mH|ctd+@k! z6&!unqmB=pbM(!`_j-Ig@Vyq_>G)oa?;G%4hVL8kz3LpD8h!uVSQ{Ia*^E&E`-N&N z5^X#Msz>dj;^jDrYjA3^T54O~Xwkoz`{ENXigkxx#1jqIl+{$*^hT4uIk)-o=EKcg zp8&x)*O$m~w{m?GI2%4Eay*{kAPt|BI2%4Ea{@kL4sagVXXAK$PT>T6PUUR)oW?PH z+BpY4ui->|PUkZ4nar{8aD9w(;4_62@d+s{KCk6Cd|t=#_?*EB_`II8;d3UJks;Qt zt0Nu|^aixU5q_0x0ClE)n2sBQO_1?Y{E~g&CNE!cg|7eNtAvco${%VABIQ(^P-KXL zvM0RdDxuXfIKnGYqVc6*R|!3qwj=y8VqBg&{|~}D!h5(Y&mIOt->hXceFt<_t_*+t zs^M!7b-@-XEcnG=W6cix`n0(6aqi=ECGN~}*Y#<*8pw}G%Bz9rrdc=*%Xe?R7w7_U zOP>+5L+ds$STF8__2Ryf8OVLE?2pr;I?&RUI?$?i$C#du8M|cK4QGXSsRQp8PXqPp)ErJ~OMhEt131 z^XQ)ZGwjKoVbcIdS8v%hw5wM4VOCI=&uTPst%p-`{@@E|_(Dxq*fOBO#o>3Pck$mI zP9Z)^XUms#@ahTNf&6``08*6pfm0D6q-EXOMBMd)iy=9PQPx2ce$LY+pK?}v1t|k^ z1&vlGPb}8VyA3+0F}q^D7c1fUMR+}(_nZ8ScZx19ZlbMGS`}bY)4hq?67#-DY7i}2 zlkJ|oPm)M?XkeP(!}#80PUdz^jQh`N^Ig1SorMQa*SaCQ!#TDVpOCYJ69$G$bTW@`v!C?!7t6fAaHn=eKOguGS5282 z$j|6A(QE`-cF39NsxHfO)0^y_f~&^lNjmO4;8yu==;x#6X8&-B;Ns(sCryNflY->? zl~&POpK|3()FPZ@usl&bVPFs#{Z*m7opCZ}DM@;R5tfwvcUCoJg_8%+V))d+)AN%t zTZ}p3DFb?3*TJq?3|f1cZ1sB-o-t*j$zK2+o{0m6I|N9L7IAU-ZNsXOFO}moWf2$4 zWq@Jp-omB7C}!Q>yT)NNlaZ3kaH$#0B1nxtYg^st%1?DMdGBn+6)g3y!1 zuO)K+NS~Pf8D_OtO#ZQ_u-A%SIW^KN7?Xn~Qre4WYc0+2fP@2>$e@e=-JTX;7 z?Kvsl8*h2yzKH{;BgMcibC&-zf#$*z$l);~%4$84-r1io4EJFkU8phP8|z(7e*NqI z{C(N5XMuG6im`ao6S`*G-?B4gBM>bK;IbpV_cteqE4-23 z^5((Nif3yN2|o>YBzS)c3jt)umv81Vavxv%I3#JW77Ul4%FdJp?81$h4>8zI#lG{X-qzxuf%BpdY;{kCl+Nh_5Or?Wr`@N)*MO=k7iV+_3|I|8D6lX$3n zvgD{w4Y2SZF4ejdf$EtBjL-L^=E|-2Wy2;x8gN~CS+(w2(6t%tVD$`I>GVvssX)?? zs6_>y_Mf8`6*Rabiwf=mpf3ju7#S<^YvsVK0M>i214#B*c1qTa*iwL3QSa75v)@*q zxYKMpn=~2R=LF515$+y;n-w%_cY_8JFfG#cARZxs;L}UViOTz;A#&n=*auL5 zkLlRW+BPfCf^)OjcFOxZ|ggY_z^G$SZjy(i`Z7MlGDv`fcEDZFayL zaHjYukhIUbYC-p5BYG(Y0#0zZyAChq<(`m^Y2+|0zB+bUl=FjUUKtDxl@RWv{}r1Q z3tL1C^YL_t$$L7a^UV=w!nW>p@a0V*{`(c2^DDn2AX-hYKtU1zG#b0#FNj_FKe^W$ODj{8oS6_liSYC||5h02MZh)ulSNxjDh@*oE_m z<(%apJWSJ$^J1mXX##Py|FO|ETX){2n!u}H~-`xp|3R*>1rS?wiP%J;egpDou?t3!nY3$ zg9Dk=c`i5^^&m;nx!EMubIL;JZS3!`Dxg073{NLpftu1y7SG`fp>av1H~x8g4;v_R zsv%YKDJfo$Q`E2T4_y{>8r~YM$)eBm^_`UGcY)=(sB2go;3u-`=fu#z|+&C^?G-9wT0f>mQ1&jb)u>P9@ipq zOR*d0akRU}xl>Di_`NK1xb!^+Pby#TqdEr>FV&jS|3O5T!x)FNgQ@|O60_#Am=Et> zhE+lV(G!@PmkH(R`HpxpXIT<&Z12 zlpZt!_Ky)a4*Zx&s6+eFGfFXkH>Doyzgv8&40zaqKcUtiM&d+5UL9;Bd*+Mw3gT%c z{2fR$(wn#^2I+o|UNLVqq z93u@m?-g~0)ur67%iq6qW0r5GvEA}z?X`dCqInvmVL?8Z`7N-$ztuq?{;X- zOcl9uT`7&>5XR{B06b7A5vyuO{~sexOVyO2$_$L$i7X{t1_@$<^4wKC3=O3P;FxMW zTT%9FKN-IN>-%+VKH|_=?v7M@Y9V1i8YuuK;%;dwd^hpz-;1AK+X!4MZ?fV1<$NWy zm)wMMuEmMK@U(Y4Hq%#03#2V;v(0+@N|E>L*-A0i>&6O5*xuC=m5fRl=NBQbZMMw0 zCQH1VduI|dfEVQFB<5XWpcTzZWr>KXfG(t==)=&hL0afBNKP#!tv>3xUNU50a$K(#Ig@#LT~%7_&tw~ z{nE9@Q;yc(SJ^&rE;3oxvgxuBt156!|506fp_1)V?{58%cyER{-Etae<-w#P={aCu z&sY8opH#Z@l@9n5cmd^`6(&E_v^LG}1N|&q<)05a`l;z0M&=MsRCNM{Y3e&_*vr~O+SWTn#FO_bfS_i%Ucs9TF5fAhYv4(K%yqoLPGcz(~9xy%AO|E7kM=fF?V$B}sX$rK*5=TT)2Jr?Qc4?~j27qt(BBkHL)**fDo z*M-PNTvi}$)ZUo@y%XNM2$%rJsKv8$N$qkP(gm81Ie-ROI4REW*hyN625V5J=X05Z zYE*pN$&VsVl;jKO#@{)Gm)iSK0?VS6DR!cWB35?z0|OT)`XYITWQ z*TKd8#Qr>MKpNLrE5!u4w9Eur5RDfD6tsS&0b%uswQgJsY*p|ZpC*?AkKx#v621@A zR+T}-`4eD`(|IYQcr)1z(KxZ5tRBEfDWq`UL%18PoddtP6z87_WXo!tZSnjR>mup- zJ`Kn4-sIQtiT2&VX>9@iipLpnnxv+;yLiGberFATE}8UgDfwnA%!^mp}E2l9DfvR=|`n*u9{bcgf2ycl~Tcqg*j z@G({~K*;kF?9Pq?oZ|x20}igZLk}w36VWnSJAlIIqq+G_8x>TdD37Q3xsiz%4g|Y{ zb+9|mZv&?Weiob>{0!;1I_PLS!(E`xT?2J(!d_nP9`&0;@!&DXE40=1PvQh{T9or7 z&fOr?o6sw;W1!r3Hw=|`2cx_<+3pxpc4Urv2XxdOZPoAuxf>}!`^EZvi>Yx7G{Owf z2orXg_fuPw4JY!xg&hn+@%g)v$52Tu^94~#_>`E$ooe8{r-Hr)$2d7Mp+JEik`1lC zog`7>vBv7)(_$vm0e7?@{I10qe&^lqn&2C}HC8<86n0dX9dT=4TOw;)3wA<&gE$%H z&yw?8DHvTQyR)g<(rz6r(G3WkbMIo%1?_7_d13e7Q?^L-hhHG9VzVQ-Y7&}tV!_YMRUGQ>b@Q6-_M7xulAW4P4 zwv%10@S%5did0*iaq{;Ovgna#NrN7Y9eObKlcei-7=FQEBW9-!{wZT&?FfD_;K#y# z5@%K?mjU;9IECmBhxxmC&z8O%jKr>M@|t;X-b+WCo^002Uj|=g6s!4?El>>_FjUf( zLXu6RjgTFBptXy@|FjPjMJQC=rCH%+kxCZ}{|&ZXl2&4mj@5*0a4<#lvKpy4@>795 z10qFv@*v7rJLNHXqLNF|rK&yE9$Wo*96Pi4UVvsf=Xq|B4YB8*jg*e)th9`d8y&nH_zRR_|G#QA;4z!4D&TtNDu zW>3=^?2aVJT4wQ5oH>`GE7d)L>;Tbemd8Wp05e9@vcxTAqUq!0sy%86Z&K3JgBRQT-JpZkl?nEAyrUjTMFJ@%F`m^cu7m&ri2fd#JU0?V>GE>$y-49$aY?f!!r$_8o-|V+z`Y z_IcDM2{NVd{KZ%{zJ;lMk4C<&eLfs%pFbrV^X6E6t{SZ9KLc{T0_EeywERSD1!j2@ z`K>_kUWXBS-AM!N;?2abnJ3xPl;gUKQv+J;u4#qP3#m`X`Tw4-vE)LYmWC0Vc5)f- zx84r5HtJ?BC+dUo&>}2Sb(Fqx$l4|ZnwH;`EoisW&GL@Df ztvebUCib*UmQ#SjQ{vo!x4c3J^YOgOMcnQjP%i2zwrhLw5?DjZCd7E}eG{tokZl{a z=WX`tW|GOgz9$i~lsL9|k2~+ZJ$idu{c0eZVKWyr{lN8(`iJ(YBYWeaW~e5Ywc5H2W%@45-Jy|OqdKL6jp{CwtbLo#)?RGd3lLw=TC|Q zeOk`3omL1Prx9<#2uW-7H4=xBD5Wrx#F5=@0kSLyBWV=LvW(!iReJ&OpV-53&o^Lg z0S4>&Hp=a-Nw6Yj_ciWroAsiwW7hsSM%rh?xcyNX~1R;}kn&od`T3td|H zKWgeRFx`$=^b5z~e4TTmlqAcP6udflGy8q`9Bj+bN~y{&W#}+Y72R%HX{XB%xlC-h zTq8kKk!F-w$i6PuAEO0+iTpuj|u+9_g*wqRl%4ZB>WXQ||@uHOjqa5bh(m*W>=bM@mbW z7SicMNufKPDNc>ogL>)YrKIco6R2D7ywg>Dx_?1Zcp}WxI3Z$`xL%) z&^n=aiNYeujT5)$m3L-;t@4g&A+%ueUT@S^TMtL)}D0W9Y_lx zJn1lS?1Tl?S<~w$D2PH}zp-u_Az>uyElzUO8<>J4d3yDT?-<2;ry|!CVBLnsaJCqS z+T=mIaX3k}=AwtrlpubUu8tg%)vEeG@E`hxAWiB|gDytAts(%q18hI!w@i4EFfUZ% z$MlgCX(!cR6puIrD>#G{>{}PZ+W6rwm^4F)ZvkI=06Y561{}ca6Sw<3V*_c3;{)<6 z7E%LFgY%dHLGnQ&E$kX9@dY9E#=Cgfv17oco@yW)#zw2JadQ*SSbI3j4?qdH+eHdA7N917JxwgUpBtOj$ zHLpVd>+R`nTIQ1%kJ@ZjW$hX%(2^(}X%e2|o1MYDX7}iRKz)y1m(Ai+Ep;!wz6R?* z`m+H2q5RQE#-+;bH6xa#W+A-;CazOV?I^&W2|6@>G)3p^MS`nTBO{t#%MV?LK6wSK=Wx5 zx4G3JWi$&R(knKFBF(pB9LShU-F?Yko0PPeiPH(Szjg9rvR+?%X!1`D?hH5ZS$z!l zLUpzrXgouf_Bq*E0m2g(ET#;>e#}rJaQo#GWXzFuECEt1nfqDs*5cHYlR4kB9Hbvx zFp4{xauvJc!{8vhvN_8S?a%v)1+nS<3Bf1tM8K84^)$ja-bh zcAqE@YFSyZqm>UZ_$1#k(S}h1jJAzV2wMAGn03TKz0jwJte)ly@l83+$(-a8+c@-M--S}J!U`I&Ffs%av7RPY zs1NdZr2Z%+y&XHRe``qrPV`dqzhF!-(8U+(!;PtUa@3gzi;#ba zH0>d|{P76+k^h&0&Kg)Kyv1p7mK zEMh^xya(33lqW{p@E$$rmIrTX%qKHShx#-F`Dtb9e-_B`&)ffH@L*+A&a)Sv7no7}Va-jqy84uO_{fA-^8No9B%f40_yD?hxu7PO@QC?u&L zN6fe*WOz$0UvI{z5XkKBj%;pD>7?|9df-YsS)e<_gLYrQ*#)P8oqjJb(F#EOx&>kb zv~V&ZP3C(47N3EWY_fOE&}&~^#J<(u)0kVpn&=cI%gw^)UZ0Ov6PFlSoHrBCYTeX| z+3?y!A++$>lW01VL^99E_{WnCyg|rB=>vRqvP1rPdZbrC4O3)Vivp|)*Z^Ce-#)(| zyGxXd$~!B(BNCspSUljZDIhtf+*vKJ!+C>TUfl`lPbVj*A>`|!#?DtlU7a1Boy9Cb zy2>1j^nTPsT5CD>7@UApYr`+Sz*%m!cD4KR=G)h`6S8xKY&0cVB}TibbZb@LKtzE5 z%DbS|#W@k zvsoHSy&1MdNwzdQo)A@^Cso3x(<8qAwK4L^@~=awKn$|LSHYY2KiD?E?|10;iXH)_ ztrXyoVt2GnK7+rzAK?x;Vn=>cGJA>1U(XrdlLd(#jl>in4l#@Q>yu`|Hwq7_{9rH_ zyYJtj@AeyKg?-Qs&lT@PDPGZVmRoFh!Q+VsR+P_hJx!eD8fY5aiF&G|_9e6>Y7KG+(ev|Y2*g1M5RZLcJy@cE3(1|=V@?3hty11UC5|$hrOfnEY+-PnK6uQ z(llEI&kI_ymf_+Fk`*$WTd72;;93*l4W#N4{L~vH<-KqMh@_f`)ZCx2@C6 zZ40&ywn?C_H(Oj{+L8&NqYW2`-}^4K-tYdDN$pKtIG^th{VMbdtjJZgILild(qv2H zaEWbnVg`ivm+RVq(f*Q<1;Mt{ZLr54w&vslb)v;L(G|1(E@_?2Kef6g7dFPJkBqDe zdkmr}RY2S1imMeKm6KPzTm^g$)#)WrXKG{G*Mhf^c4K_%?L2h4uEl75{>3buXmc`G ze+R3Gw}QJlj#?i7a;w7KIOVA<4|apy@?^F`wlZ0s06s^6go1+>hBH{RZ!-I&!33|@ zBINNgR#Dcn47?*528XjYga{gx-@6-}K`ubvlVWYa+Tn99J}p*9qciAhG&1@&uv7SS zG*v6yn%Wm+*GBdB%gMeV^vIw;LwZCx7<*r1ZJZ7przu{#OEr)cp+#bra`!pj3Apnp zci56+2lkkse0`~F3U}fo9sN?h0;_glXzu|H;@*pTN|(kJwbK-<0A41=OS1FVkxrsL z*H4=F6nj7PkK1)K#@+u}ucoWY4oNC(7)iGov8O8KrL^8gE)(s(1|HmoGd%buhifnh z+hE|GbN#E3-y($47_?|{H81K%>ced1p2Kp(VZTMv3bJ#?^)@2KSbGvs2X&gk;7o6} zS4A{b7%0BF$5*A)RL@9nFUHLbrH!aOwMwl|VRQha4Nn6+`rRn5ele|4&ApIY1YZUe z@?VtJd~RH=Z`O^KlE+9(;CR^`(#d?&x=>!z)|TqfmZrMUflx`PIkY!)tOctk?9{9p z<+aD+aIoU9#-cb|Tk1kK*fPB`#y<+r{>ku;e;8g4ZEaZ>stGL-kF|_1GxbH9(if2v zpJ4l~Vi8~L(##5TUni}cg?|27u|rxN zx)nRlpPsZyQ~PIgtG`da1=d4K9K<(JH z70A|>>c!j_xq(GWruNU_bh5^0W7Qo64WzL*Q54uy4Rsw_>|l?zEI_@?wmTochcu0T7e^8-L+Nw;7fKqW zF-vREwb+u+#tFJc)>Noo;9e+BgeNyTRp&ZMQVfioLQ_@RL~~D-S71*&0P9{pEox8J z@}ShLLXbS4opuw#91CvIqgt+krWpmhqsWLOrFb{|iYv)LF`%FeQx5 zSIQwqNiom>OcpqUry(hrfPAtcy`pebe+s4AeuoV$$Qdp+-P%0sDrEucRVj-RWii;g z8yt{RCxAXjdS}AhW;X1Fk>2zlf{wm9oKQdOEm7?gE3mwjJ;U^T2Az!pk9Jh|#(fS<2D^yeA} zsL-DgYFJ)e1iuW<)!$E3Y>7DPjq=6&;~CCC@V53)GWb^BP24Yz1gy*I6M$f?#v38< z#7G~Kw5MNf2Oxxua*S+;1TDE*k66nB52NL~cN6W7_d0-afc|(twc>2<1x0taX=Jn& zUZRwjj-;#;_V9mJMu=)-pKO#;J3|+)-yvNOUqG{IO}4^kK!O02*kd0%2Ixs4v{y7} zgT>Z(X%_NOYrOToqWXlFkq5W z8I?{yz$Aux|1~*7Oz_UcJ}(hHo(!8DSh0HlqUS}Dvj}z;7%I0d0saTJ(bV6o1H81g zn1$cq>RzUiLsl$F9%AB%+AM(O+cA2~DJzXC1)z0@Xd6ChO|<4?J{m9sp%LCf(ilps z5GS(Sh(#II9yes@C_PU$aj=dG7MpbvCB!@Ir)MBSZwlPWmP5LTK?p})d3Z9oNRSK3_ z)|rg>@repQj@==wzD~y&$O?Zn53*u>KGl+lwQP0EL~sx^l5my^Y$Ju>&rk^d%&``D zK|~Lbw%=H(h=V*cvc{wUO}>B6*Lxzpx1#N)*i%%mCD5>t78kHGfZX z0b!{=TPjhiFCkU>=45p*a2B*W1@l=C_wkOvOpN&$;`m@cU2k>b)YpmFkiYz45WPjC zKhk>#^1RtL*ddxFYg&N#eT{|L6R|hGmcg2WWd>?A5foqlA?(+I`oszOqw=;RBx?&F z8RB|d`H7IVorl*dc+A}OWe2VGk>0ytn}PDH{SYU*m-UHiW0xrI`4ZSs0(vbr7Nb zoc$E~+D?IcTKW4^4H@oJBXx@I&m78FngY~$G)Alvq@4AnO8?Rf z|Dp+1t*{JTUj-?O&e|qVPKosX`j-wVQMQV+19R%DT02_L?z^RJ-TpS5q#(S)HS4bF zYz0??QI#sg%B(HJa^6ZK_ndXAoFlr67%&P#(QG<1u|Hw@E9}`GUaDW&(R%*=>wf_i5zw@;yPp{6|~5_*@xy4$ffiw&zHGN%ohn;X|97CSf*n zy{C+(j{bdG-(BzxMx}Wr7Hgj`{Qhx~mrGu3D0y^pwN*S((HLS1$7KS>Q_qda!lf2tujl90UpBu=M z0IeFZfppWd01!@CMI*h&W1>jjPKnlIKMNU>*?J3j=1&Mkk3C$x_ZD{yo8iYdY_1|M*FEAZYrML{cP0|)8eeb>ltVpp@HgVKO8R5jv0;#04Efe+d$z&O^QO5H0 zz%xwrz?`?$0w1~t?66LUu9ILj0#?c9i%*nQx$cy0SJ)(55Vc8Gu-VnfFBHy~WMlUi z=bsGg#AiCr1dE_EL?`?gCJN#dvC5^9$@ed(y-B>5`CL8Dp^gIuwTBMX)*gDZMzg#~ z#P3H2_i?>_2oH2$jiC4f{<=itc7fj6%x3Jbva1&;X~Z2${I|yo+S2b7Gn)A#8+L8s zXRznT{A*KtzH5 zoT!w{KhC?~>M`G$!GAhZCB78{mD+;{Pc0dHTba z#n$(M2k3{M{Jb*@VB1`aZ-dW>UsJ{JNt`d%pUTXzMPF0=bTJ_~rU6HVJ?;)dIl^Yc zPnp=$kp^0$w@(qjzVik#AMwq&UO?!_bgeu;cbZ@%dLj?m!FKX5jJWkbEN>~Mp*A0sR6hcU@n1c;}x_w(6r#V&X;JJ8T#LOk_Nup$vaY! zM)i&~1n)>IpzVC;&S}zn9lt;y+VV~(9d!;hW%0Z_95V#TSya0TzBOSdDc?TaRD(0> zG)WH|(bX>Cl!5r235_Rsx0bgru>my(DKj)oTo8KjR?=Hj`|t2ijL1>^@P5v2lCB zuqfO!@2+s)Jfd+KVjS))xSPU&sjg26Fh$aU-oZ*@gFXY#h*Fz@I1e;3ILKG}f-U3_)?5Ny$3$Puq zezOoMnQ&1#O#v!t?V*%MQ9n1VLV8Wur#R}b^jD%HgC0?6`vuJN7_^fHZIB;6i;|t4 z2fx9R2B;n$8p=a>GNe2qODLb=?z4HMxjcwpgYyyttECQ8BF-9hI6u1Q&*}BN2S}I_ zv5k|X)^68_n1Vl#`evndgqQBY*&vLC+HKwwB|;Gge%;iV+hHZvD-;!q zTKHoMoNT!Qbv9Jt6u@m9T9SBtixl6pt3LqiahHxEt=421DV{>ynGDb6j}~I;O9-T?(PGh01c+wNe7`}H@tAAZ6my>$xB*Dyp*>6C&fP>0FHE<0Dm@G zcB#a06`hJPt!b(c$?tyHNx*Sm~Xk zC#@>tk9a8cOcET^HX+X{43*Sc$nL0MBv0mXA)GA4LAGjfY=a&wP_ueQdf<@FV`OPW zlGp$-huWj{B%7S5pmfQ~rjC)Xm$}dY4m4nw&J{EYjoQMRf`q_>SefI+I~#1;;YC_4 zxW&S_`n;eG+8;J>dbgRi_E%hwgWraYDQM}i@STu>t8GmqIeLbw14{SPhOLE>-p0uD z4QXvz?uyI&?~T=oDSGU`LQ3QH*e5U%5@=cl|8S7bA$E`YFQT^RP{+&VlyB+hY1SKonDG6Lp?)_& zR?1UNHk;}l$tt+!{bT<~I)T!P`bMJPz!Mk$zIf*jqEN_0c~|rF&K;Uv^maU!n7<55 zd>d17#OFqE#3lttoC_TB9fX9w+W;JK40f%>F4U;b2pq8kIN~1wKRlES4>Q0I0~xI# zQ*Dd`23o~DX8}npDEBHRIt!dPuiWc^iT*H&tkXo>T98Om2?JE3Mmk?PHGYmAxZx+v ze%M`Ayc;Fk%zhsb!`0wt)F+eiggi5ncOdmioZYPW4^r=9Y+si%zYd;>uufqnB@|}6 zHNep&!Tv%vNqi#Fx(NN>3?g6mafEUN4XXFqHr zG$smnXz?DNX1)3N1;0;_v3{lao}vB~2x*7sYg;Cr0!Gx)=nMK9-9gykgWT}0Gj#r1 zF6C4X1{aAw!>pR8n>C z`PY$kkoLiG&>DTBoRHMDn9pClMQGlkNV-I5Y0zdMC*Wh?=R^@@4z_XXov^)m0sPj5 zdGa){6TE$M_wb4I&HZO1n!KqB zrZverB~K?9rTMN3y1;gH&aLuyxWNL|1o`OXjy$%iyA$04D86*ST+j!ruW zx!BX81@}kgRI&CXznTEfDq2qRgZ`s_E5;q{BcZf+{S&3tD5bs0Hk4f#Dhq82J^D|U zHWzEt7-}jj>>H+&7T+*zn(@T3Mv+oubx_ZE)iZtCJK?PVG$D!-fc+tv*g@P0xXV)R z_T$cEFINyY)B>d6@X~4e1^kY}+d!6ZGb9N&W4{9)h0aa6-WCH{jpS}N*3RPdv_ED5gv?^TX@V`|HjST8o}K z6&gf@h039X!w>u^F-GsDzoMti;F}!cqc6@1+ca~S>@Y%J@D%!-Py&9tLrSX~FZXBlZeYv1{=MdqvpNI5tvDdEBb?E^**e2d ze!Jub*xxv8lvcHHaO7^MT`X41 z*LpSPg;t%E(x&k-zjIzZYk}N^agxvxgLK5A*VUFLY50l&hQs^IynuV|IE_+ zCTozi76{ zOLIO(X|8Ien?5nG;SOLThM+k5jAmkiR;ua6FZC z=4JTo*}UgLv8;@+oPpx(u>R&n%6WnQ=Izjwr5y)$h3}<`1+-GER2F`p?lzw?dXg zlIrfgupWVW(AxOuAqP;a8O2Uo<2;exe?3Hgi+FEWHl<5AY3#%h!rjR_Hy3B2-zg^K zj4^~6)>@~hl7@;#KU>P^`wcKScYGa1tE%TAav9Z(PDQ@$JS3xaet&0VH|FU9OXkUr z2sSg}9<2I3wS|GBuqBWces)-ci*ix(xNzt;!~iN3p}K47*$eR8L+`OhAEGwS8)*+7 z-!k}``Tf6%bnfX6<%m^oD*pnpBlLEtvrxv)ZHCbyy=m#364e-Z?`?*f8LjjC+9Tj$ z(SE;5p>_WY!dl;4HSjms5h64$i_IH3@8R*S_MeQtyYjpzqpt%f)VDdG z5lF1r@H`boV99Guz=u32DJoky~CO_Jj_U&uzO6=w#k|E|{lS z4f^n90EK~eK8KX4U7(Ns);+M#@mttf8nCM)BM}7tJ7FrJ8)|6G_-fXJA&1EtlicqjKngPQ4!O5b1sP9d*n$yhAoS)R9B8+lP}s zb!O->vsE1Tx6S%VSQ+iHRsDYGEZAd(?c>i4o1jr(5Q#3B{|~g0EQ_r3F>=n|pNUy- z^3TWkSpe?=N6{kb_OUXkqgO2fi=`246t6aVqjPatV0^ALXD?QM0*nRa(HWUET8hID zQ7O#UOqAl{{kP#A*==bDj%?_DqC^>(S3(qL{vB$u*mt4P4iT;M2Htdy zyy+TwldQaX#rihZsfEz5|IMg{mNY3l@PcyoaVE))@xI$;!z@Mp@C&+x>LCzI{BFhRNzme{&$d0gi!SJ&4m zXvB+et%g^LZsgKk8@Mm2UdxQI*FtT5D#_v-E6s1YXk3dlRu-Jh@MggZ)Z_Q!{+euH zIap)#xMqj%jXbd-nlDOi;$ECH%dwztKT%Nd85n6Ce7ma{eu(#<<6u!C zdcx_z3Fq$Lq{+No(RS)L;N70Rc3bU|iOW|vei@wA*!V2hJ7{>}`D58Sxf>^XG1{5i z?{Pn|_y_Ltmm3xQB8P31vTuicd5M@IlY}xB5=mIh#GX$J4Of-pjoPDrjcWj-ez}Lu z<3GKc?3lP^oCwUtX~5hl&#X!s9cZa9UKho9We@O^BXmk`u&LHFZ+u~OTsv~R%~UALg1$ON*&exmgV98ZtrB_J=| zxV&^qUgSUdf16hnCzhz}Um_=d@%J$u>=}@kknMNUr=lK(t;)lWftehYkDk*GNWtX7 zcOY~iBSdp{;k@LR-Au{~3+I8U!zYdI%->R(4;7?B$MK&pah}pTS=2JP=p^KW1N8aH z0V7U>SipmI{=2px;PY4-;|QOVJ{STepvofrQFJFQu=&3 z_)b+{Hrg*o&(b```JBcf(U?wGTAQ@l+kv_yi9lodQ$RP4Z}%U*qPF|7j{i3`pRSaC z_JQ|1jP9*ICKZ^=AwBz7?1BGP*#j4H@KgHr-76R2RGDfX>Am^&tg!uj4n~6g{4$jL z=2uoQSNPzW6H18=p2-@WC*K^q2a)cenkPpJV6WV3l(WJ`=;b1$i!s?n zpS@jzWV95mjKxlidi|{~`aIsnOK~ex&`N? zZai-qdGhGUlSdKuV}!M?bi>vSCpV1mDeUTLetzd0ef9MjZd4~ARlL}ATkBjP;#H3I zd`T(hQ;cm7IM!dmE}$w6RWba%Be+TiFC%908gP_rKjAEQ+B2GO4CrA$d#Ge{GoJle z4@>DB^c4lmZB_%cA>m~QJdOYj!dsZ$afjKe!c`cv0_zoZb7{FKY`#g;*5myGQ+A-q_^@Ap)X;Z zNZDzt6jxc9a5|x4ix&@(w3xh8t2%vjP9z&v$V44Y60nnacNgLd0q0_VmwV?Hv?}Rr zUJosgqYc-`%rt5&*UE{F$@rci7c|y2BpDx;Od~FGvS1WEy^!pA*Vf}{NnM8Z=<)+ zLMqCGwKVvHSiA*KP{N`k_||iQJ_AzYm-Bn;`eJZrRPOR{$KwtVQAz?2EUGb9M2MdQX z|1|8RK(3QA%AIEiI7#(?c{)k*6`5kJ&G!}51BV1oTn#&BZE`H^mkNjdK~nR58ec*E zU2(U9mhhH5&O`$C9WFF*bUey;sYUJeN@s^bc9o$C)%VB&SM7`9kG&%pm>%?R5M@ zSSdw2?OqCrAE?%+`$gEenE|=N{KCggDMBu!E{ReCY=q8tgCpEUJa+2-O9gr$d~X!7 zdxf6dB*lu&@g!HA36>5hJhi$Jdx)qNC!%HQ7_o`x_i~myY_Yx=oNUZTZy7ASHwBrd zguA$eA`6gv@xrwQR!My$#$5EI7bWg=F3DT2^QEvP@Fw$H8P5LRGhHhTHzm4D+-E{W zZ~wHmfxHcIgq^*Z1e$7&`|=V( zQ4ZsnxJ}Rkh1yPH8gVAdH3OHCWfnPbstKG7?8LfIOR|VL0TzVLCe1CRnV|B>)khL@ z&VVJaIbyqOUOmUf9^|T1=04J;;~wcs`+qAil9I7s;=@J&#bZJ-UlsgJ#nyWu# z<5J(X)Xob)77lt*-NoC~u>2i0U78j2n?nA$i_4(*vQpm6y|srtk6jy%7$YT5FIxb+ z1ht1uk8NI7`(NCV%}qE(Z88I2OJSZag8bSzybSN3h~clX9nA*kZcOBvEgo2Hb=4$F zeH(v1DO=R@=aLG<0rXMT(R<@^;?O@&p8=capCm0_K||2h3? z<)TtOP5C}Hf7#|Hpxva}|MEPRfzk~xbBIqD4KJR~XV{KqQ~9*~WaMUtok@7LgHFIg zm(G%6y+>T>iiHKGo1twuUGXtCR6=DPV*z1;*(Ta@7aOHu71^OLqEpDd;^m3MdTq3MrC z%46e}+gP~z!eKWHU*dG86g%Q^DJ0X?9L<|+)rwBnL~+VuKJGi9iB9+nK2W3;vs~)$ zRj!UDx}x(~$7s9>%c+#QxIDD?raWw}jj`4`(1oN`f~FXg|1T;EJL;>=(Y+Hj&( zC#T3}xiy{cewBL&y zqu=z0`%At5)eSw(5seo0$z$E)LaAY|_>AE1ibvyaU6q^sUbeP!BU|HH$2L~7HKl7R z*KeM~ay)CxOV?L!+CUFWD%WnTSi7loj+r9Q*kD$^$KtN@Y}mk7c{Ws(u#Ke~Hf~^* zW$X_3f-L4)>t(ApZTR-&W?lBj@;9w5FI(@~#Fmz>f1q?dyX@WAPjjAUz4t-S`ck&M zbp3{k%C(s$6BDauRE@nr^a_ukEnYwRDyMW~Y01XQ^=zS=WqG|~=zshXB zqhkGxQmR6Q+{FYaDq(3-&Y5IdK%f0Z5B2vV{(jRQ9SYPU8-%MPsh09-2x_0C2 z(G12VLqRB&vF7;aekuJ{gf6OBTRvKX*&CvjDXCnu&a<&%RfWG|08^zIzy_Lq7#l(J3hyq=AvtZbyYXp|KBDiCty!B_^KbrsQsm_w~g z8bip6wb88orR>3qjXt)~SIVO0nz@0ksaRXFX44uJWu*C{X@4WRIp*=D@u0 zRizlyYF)=NysX5^Kp$6!Z{%}jv9HW`w15tjea=Y7rTwGKHz=cConx-cdxFho8#a}c zly2B?<-A*8f$pKEqT2XTQ&zfuJ%;%jg!Pn{qFt4@YfGy(vUL=gQlGZ+rnzgTt(?0i zx3F+YVJ4fgVcJS@jq>~^<@w!Ng^L$1UNH7Xc{gv(!o_zix$Gg*k*@M=?l+%_S3aUL z+`J|yH+$J-xr{xVJDSVbGwCYNZo0~|c~^OM^XRkn29B%6^%SlqTzhf7j_Vk%6S%&_ zrHz5bNnEM8lreyTK@`$6Mxe$zSD70#yf?Das&ybSnAkJCX=ZM8j)4l&M7pD*3a>D^ zHkPhmn;GrSvQ2)_-Hjza8XjUsm3e$P=B+GMvsMD7utJ)MYS7CvjK+=TnZ0R)GItkM zY#51m_xef<4TP(@QJu{6QyEK3)p3P__%|!G8>IxnMkUzB3XCEOR8a={Ush4hN;mpM z_OGmbed#)ucee+06n71m z*n-MR@2btEDd-oXOC!q*&3DX|xnteBrqa6!^uTemDBh1w#NX1=jS8*IDJ}DC@?#Qt z)_c}qo~=jA9E9zc_E=ac#`g;tH(zL#rJC!}aNM)Fu8f=GDPa$I{F|s%qwlpFxgO0pxbM&qqR>r{HjMH|gmeK!^@ znwPiK@7c^eW$1l2QlfDQMDx8$xUs}8>x;4aVJcwoUf!lO126Bl%ip1ks36o@O0}Z- zj*MPq`P`t6ifA%aH#YigHp|)US-S?@+5%6-+8bF;RsjtJwab-0yjs}2igKS4fr;OU za%K7;cWThN-wgV#VWs~?*vj=KrEDpx2%1TSXIIJKin`wMjW}1yNTCa(4KzaVF%>|m zFgrmdHWJ|&P!^&e8D8`86uE_D450i*dU1L}cF|3(lJB`} zH?z@bm=MgdWD^om7K3QHmzH8Z^j;AXZe|v)U8{sNVUtnfD=oQy0~l6}8W2yg?4aYy zD!NG_<=Ad0bue947)FhNr%F0#TP0_Fn??)7m=cD13*i=nCt0?k)JxqE{dQzmZroV8 zCXJq%lmwKn7+dP7^>I!~ zH=1TzrTN-cYges~u927M467KbMs>kLgQLy6T9el+8ZaH^pX(nMKi*_wF0mqX^w*vI ztGS5oyXHYA`mXLQh@-K{#> z`^uWSIYGx*I$OBTbor@Mv0bF zGXU|tHnDJSc%+@)$e*VkeT-Heu0q5s+hsL%Wv`=%@`|}6ou;B{&xyRbzob^X=4z;Y zSjQ&LUsx5K*I=lJ2Iv|E>$?nfSg88*#}1G8=VZ=*-t?CX-JVpY>esbTco+L&VfJ2_ zP3W|z=M-nk9-(t0s?BU+_v{Oa(}%B#-wXQbFGw=mq~ePwQ0vRt;#DH zIaD+T(;=qO?|2i-kjc4Mbwe_1YeXEK;L{YgRF{)j6pBWE_-m-|nPZBLXI%Wkh!<(2 zoWA;dagXOFkp9N1>dK}@b0hU=mF7R5U0$a{X6Lzu>O#X2o=1%phL6^R>d`#H=;871 zW|z!;Pi{?LSEpEX$Mm3-OY6)pXO0J^i#c*1_;JHI&pg z&aQ6M=_RLc>pUUse*ACiN+TcUhK@iRj~xBz@I-@A*rYnlDWN{AC7bFcLtV;Fbt4rm z4>dz@Gq$XMqXE)bYmzh?XMjdBn z*i>dFUpel-%aEDsffp6;ZkXtQEoUB$YV8Z3er-Ixf-0t?6F%)9UqOF@5fwuPbe`i( zBxskE#_09x`mnJ>)4Y1d&8B~79#m;Usx_z4pFhdW5scLbdH#Qz#S-{J2Q87BC630Itua<75mmgAoFoT+KS8Fq^Ss3?i#*0xQzh=7mL>20ft>uM_ z$tv0q1)paUGnj5#%tLl=BI)gF5xhqg>?%jiH3k|D+Agh($vNhY3SD5+{l(mS@1yN@ z74K%}=qQxm=^rx|pOlG(A zamzsLOj5TBM60lAk9l5PT%38i6z)FUqM)L*u1+g+=JFcMZ;{aK9_KPAiJV97j^WKX zJmg-hS$nb^cb@rL*G&y9!aSrSGj;yKJUcH5Li6#DpJ%^5PUJokmCQL1$RH#UnSe|| zW+C&D<;Z#@V|x0e^wjC8c{w@BxoLVmKD}sqT6$4>YEfRn^rFf6>8@G&q@whK+~n-( zPRvP3FL0k3^rI-fu*fx|v7T-&-RrEJ} z`t*YI@mYl^03-a?9zw{-(E$;hn5|KCpN)Uo11a?4P?TAaUYMDeoi;r^H@#r|WaF+V zxu9rza_XlhW);$3K@s>xk0infGffkEFW4m)O~l8rdvi4)geEyV+c8(SC~A5}L2^#I z=e8X)&s|YL*7)%xgBNbSH{8r~mz?S(x?`T^x?r99ldLK+q2XA(kJDU{hWN~+8Fyg{cLEg(b9iEe+v$By z9+;k;o}ulDlaIW#bxa*IS5K}($IQ`1c1?g!a#X5ck&52xV9lK%7 zD9Fpv{9T}BS;L;3S~QX54yK=)x&Gv&=N7pZj?U61=O*W5rA{wM&Kmdy z!Md9=W2zT5OU=ul%oP=BsH_&Gr{v{PQk`;@9qb2a?sLnilU=#r)F17btA^BlRxV+4 zfisHg-Hu{msR~sc=L66!p73b9MiziOIqKmiJrD>H9Os zF)`n?B5rO}ov2@rveWxaFCce1q1771ao^fZ-R0-GT@5$fPRyoHOv|UZYnR8pw>@*c zKhj(m2{_Mc&%Bj;igp{f#;lDyv-Y4Jx30OmPovux3bo_5wOMO-3GVa5-KklGJ5vF* z^3OGE<&My_ac9gT+?j@?l{?q0jk~aT2g9gt!{V*|9g`0-l2g65!sN4d%+>#(TVk2* zhPSnuy30>4ph-*5c6!QAcw3vPJF4pfQ_Y$lz2mO6nYz=wmp73%#B}@}cdgCTU8-r6 zGYZl_H8DLmm2R;c#`erZ?(;K~3!Q$Q#@%rnX_k{bDcpQ|VP+P+ASbOI_i0(hS!t#o z3HcE+(`V&p<)>?b^1>8;t@gAUTERw)8(N#GyR6&^v|zYR&doK=U@#rpnydTbbn4pt z%)BBU8o6#;n+4q!q-UfTpgL8D>o#R#0foaIa=CGC&#YD5Ii1PkpdXL2)8~3^e0cw$ zJu}U#=DE~J8aBPRwVCSP37gk5blkNzGifxDt^oZsr>+V4nc9xIx~KaSR(U)Awl-6D z8YVY!Ox-y#KTUfc;av?gO7-+he+k7i z#+|NrVIgBaN9SsnnpVievV!-8U#opaRyKMGrBUl^&0jR;8Cl~eqGxC9tM@(1JcU7S zcp7O~Tbq$Cu8-;3G?+9gPR`CUsi`fTV{Od!Sx(*zjd7gxb89I#{nFAik|$=HxdD?m zvI?gcXBFt!B&3UQeP-toQ17Oog_HJX%+Ss}fQE&#8fL&)m%mW}M@hMGSbHauKu&Yp;T4URMskf@YckW?WrR^Gq1d;oi_k=^&9k0?Shp>t1zh@dp3A8z6H+MI}II~9ssDYg^lHj@wS zxM?%d(8^74!l9M9SGBd)U&N$9t9v3Q0$S-Ka=_bG4~0c!VpI2pHLPA6?ABfH&5b+Z z`w+_dyb zMjvgT_b5A^D5HrsH@4D|J2{b>JkgBGy!ukJqZu|bGRRL(eI;F|09xlo6Av>&enfae zb`kM#DgsAEo)i3zh|eS3MEIkfvPa$D%FZ1>1=Z}0ncIm|h7Qy6O`?Y7*Wlo?RUQcD zv3Bx6E4$#sgXU(6hZe-~Gb1}o-_+9ADoPG!q;_?lkyntD92`Rj{Wa+kvWw7F=$WSW z^U^tZZ#(vnxWBM~;iWguY3Kf+edPU=2l_Q$y%mwxg^_lQ^G)H_x-g%LmT5EZF~K|- zHV-?YkPc}keQ~cXR=*!-?|Ej%R)yM-q)a3QvZlD@F=$T>lijYPR(ZfJLsWq#Pq)!+ zJNCh6L{20G;}^7NDk3$xfceI}?5wb{!{h8D^q#Mp$TjaVB6J>R9^syeS$7(RXFlTI zN4N=w$?-63a1>UK)J{7zFfwZO47sI5@(6t1)lTPAlHv;MJ*fgLdJ%Gb5Q+ zdW{&MWZ+F|LAseqHWfp#{&&0yzUwgMN5{dYoA1`ct;xt(?AzLfI{9tWUMKTNm8>*J9})Q?RBt(5+YBDkIvw7NoA8lPoBMU}&`Q_A2}Xj8 z-6O)3`D%`1ACd1u;R)IY^=T4EC*HkIwBE0Z!$m}Y*;|*B;l5c{cUPGwy^C~85$S~t zL`EVRNHJ20v>;27wa8XvFLD$)i(EzSBAu8e>xB$NMj{zVF;a=NAWM<8$W~-8auhj> zTt)68otXFQg$zVS>Kq_aj8q~m$Wml2vK85j97WC|SCP9&Cu-te$UtNyl7Z+PdL`0= zEJfBLTaewzA><@-0lALcLpo)M^hEk2@yJ*t8<~PsAuY%fWHqu0*@+xLjw9!gtH>S1 zN8Q;S>4ywP5|K=#7%4{@kVVK!WCOAt*@qlO&LEeOTgXGC8$HE7NGviENka;d8AvU% z09lT#L$)G&ki*C+A%tGcOOOZ9mW@Hy~5IKRIN3J1v z5qkpr(GWipha@2rkV!}-(u6EVRv{aa9msy<7;+Z5g4{-g_bt&#Ut|z68p%M4kW!=` zS%|Da)+5`Hy~q*dG;#^Ki9A4}7?S5wa55fNV$hAxDuj$Ytaf@(}69yh;b}(F+-XBp~CETx2RT3z>^7Mb;pjkzL3^`#$b5kC@# zBq0-!Nk}Eqge*o@Asdk$$bRG)au&IQ+(!7AtwbYzkwM64Bm*fzN|AbGA+iElk8DHs zB1e$Z$R*?^@&Jhj5Y@OAW`MUViY;$g8^?5}T8=bvH ziH-pa(@GkvbT91(YlOUgyzhT6?pXSP`c`imQj07^Rw5gboybAtBythCiIg|bo;}ao z+Dv+RZEJAVS_M1m+%@-k)KMA9S=2DB56jC-OPQR`+?Bq$V=bz)hFz*z^QQJ@%QT!* z!WzcfnZi2R>E4o8wRe{ln?=@ojeV`U(F(!DpIgBuVJ%a-?3Sg5iBYe`u+mp`=}#CtaG2^8 z(ItiKNMW08$ic)~_Po{2tgW73QSJ{a(@p5$0R$}DS52`~pp0D|S}vVEWMY-tk>jjU)Ej9dZVuIE@QcDZAFdo#EomC z>R+|yc;t`ex90f9=QUkI&+&}?E!8D{9Yi2zb>3jVE__xK=3ZF87pBKXFSDxuo(KB8 z6x|!8#VTy!zTP*nwzOTFkS^FIz>4>huR3xGQmXK~P1N)My??3+Gdh&p5Lu)bq_x~;n-Hx z=ma6Ad}s{&8Qhi4p04#)cCx8Elk@d?X=GD%_HOsN`L@Kn^D*%;@d$sWcT@O1EX)p5 zb%cIM(a+I%t+QmoT6#2Y%cJRN82W@of zc;QsN?I_mUyC3=7aD_TMq2A@OVR2QRm(Qy$(QW9ph)_2Z>V(&&|n1XG2WsQ!P{LToAI?^;i><@Yu z_bD_MriIh3(zL*I@brl^_S#JI+&F&`8}`Xq<^leanI$M(cXH_s&i)W}6(z6ItI%-b zG(*F}R+gBU4^bBCYW47>`gv;Udar@f<7B7+aqc~{vVLYsoO7xftzMH8E+@M?{?=Es zQ@Oc5bc3FgWy1CG_Y_LgD7rdzo}&X8OkJ~}p0yio4tpY_g&p5xbXl)^w%IK(*uf8M8RL{Fzd3WpZ!Y`;Ddy^{dgrLvt(EBOYiq7K zULPL0|McCanR>R z)WRmGk{`UI;DTEXQ%MB24?1V1`BQa2pFh^EHiIVtnEi#%<6|{j&b8eu*ZgMwA)_|B zTi+&fT8?vglqnF-32+>GR_<-4D}2?QCg<*MObi~K#;!Tn39em7!Ci0O`D)si&>W+I zt)VaB?jUovI%=l#{7@g-x%-j9X~%85PYOoEJAsXdrn*JWQ2}j^Gv88G$1ZqnfSM|s z>iwjLe@KG@&h*+ON^3PmGcxO!RnbxMj~X=!*BpuAA5!c8#859{PO1!j=@b5;6-{MB zb+2MmNvY$m+W(1|^72+TsuMj;jqPrvTMfH~*^9_dI%*fKCnEjTIzHTAQw}+(rOw~K zscBwed}1Qovg=Fc)Fuv%8>(^X?;krh;ttHhJZhutMNeZ~N`%ucb?flt^V+!+TIx@~crbD8uRbc^(4rbz$WxTI2W1~N2j@tRTJ)qSWE z)x#zAyf2QWYhCASyVcIK9&@i|vf4)7v(2{jHn%z%NgFh0)3df%k;fIP_NvWEc<&(& zC{BlxkC*}pwv}%*m*}QybHJ6SYjb=@LvuYfN^_}c(;XL{y{S8Eo$Te^8>!P^$qAlN z5?jupS6Y#%+GaCVQtfYKZlt~OyH|O5_Zr2Qlq8mxCYF^YmX{~$d1~e#^47$1c8@wo z#LQ-x8A?0J7JhONjk&1Q1Q&2A(%htKIq zLPIu(o!6m?(VHS;CNESM`gIV-=umh2Yq@DAZsq38OH&>DX~k57L4UPR8pHTS-MKnw z&q=twhNO)jt)J7LqljlDyt^OO^=%!6`N1RFw-1kRyN=LHYEZE`M8`RTPW9C#%!0## zLKUqk^Il?T=VY*nfYyYrDk2WWWd9TsjqPsXX3!tz6eJ%|5z4#Mvbk5{-S zk9HICDBMjbubbzX^O@SWckWjQ;r8L-K)*px9^)qDQL8wI`{iymkElmfFRk6+nW=2N z=Y_`k!9#;6P0j>Cs7`6mm1zK&8_eS%J*w5$I8ZIYnVa?eZlo!SR>OZ?uX_@T8)4?6l6*zI~XLgr7wd>z(mJ%=w;`o<9IN4-xl1&|bm-h^ zk|EAttmkRAGv3yTz9H^m2NB`-!eT-h%8%8xvvji8o!T|iiNUkNygXZ6!9(+_>Y6yn z%m12=hRj<8hLY5SWjdscEH}n|K}98}Pt}%@$zL0-PLjGpCek2U=%%LuYuJ^K>FY##qvwyES%Bj7?#ToWl)SxO2UfUfvUylu5cO z$$OO1K@8`Rn8BP*0qf7Ydhb_-`>WPWtE#Cf_g;L<${YP=Vxg7hJ^RY)8t3>RYHeO1 zgq`xok~4hr&JX3v?=`JXPb4(!PCl;YpdJlz8)q7r$hy`&qt(2TXge?GmKEpl6w?zj zZ?T;dZp@6G^Dap1(s??1(TV@k3eNm+<_zD<{U%KAaDZ9eu&0nWyl3Dj6z&hs&_GG% zpzZg1hQ>*;ZI;$It@}j)=`c9-VA7@)q(=k%6c5tqb!5*$%|90Gk z-!~2W^~i#EaTk8i|LNcHt>W4G`MK|6-`ah9*ZUq5|Fe&=Q@?E2{tis7;k->MI?az} z28^@{)f2%v<6w4u#PS=H7ao6KN^>QxuQ?e~-|aRv%+q|VH@@fln7iebMrBE3)5rB- zFFuZ8D#<*~jD9D3DWkkh^6;HeKCd#^184I4_~D6Lw31Ma+y zjtjQtajG$6=|+Tp2X8vtb7*Y5=n7YiX&>QE2U3n&gmZ0qebml#)xvefbW^)dFc12} z;o9bq>h`>H?SgKb_~J) z#WHv}m=3sgR)YpOSQ1#~pfkn#`38NJz)^MdeS`Bfp&6UdFTzS|?)~59oP3VPH%A#d zpLL0np`0x?lnZXtKJ_O!HdUK%&sd}Gn(LGu4)tp=dH`QZl$15r$McaForlqNPtHVJ zjQMIzOg(oNKH@yZ9P>$;;6efSZl}Yc4-A#X5BdmXh4l8J{1d&3}D;u63>es(bha>28f zEJ0QvYmf~{C@de8(f3USmh#3S)fE*L+*#gS zW(F=@@|v5p#&qV8%)DHpf7s}FbAK{THSK9N9~j`3yYqgWbaDF*&Z{YR$*Xa15^h-B z3ok@T7di;c&Nvg9ShDWbRf3-M>d(*44qqqsL798MW$t7QV`tuSurla@-oCsh|GX4lQ3 zgbw!W7cb0@JbnG91Cj82oL!WfFfzeptq6bcrdaIVEYBnIe%)gKE}sjPkQyqj6s2&@z^eH4dFwUtLEJO=mg9 z*uVHL_Kfh_aiQLf8d}cBAkEC1&Y7`hL|<;TeVV#`G2E>h_!-&hA|dmUB2$-m%XdF$ zFWzr^aeBBVmyz3uZv^8hq(72?q#y-IDbj!}Moe18KQg7rLCwzIB2Cj_@9xgDKUx9k z!HJ}$SvNSHuQ4@N=<9XUw>JwHnO4Be%wd(xdENhs0mEN<$=`o!e-^sy3~Fp+ef9HG z`}g;M#>oQ%hJBW`O=e&*yQ$pSXH(D7;yP!Qcsb_B zxxc)D%@F1#V5s_M>N@Mq`v!~09lvK6q6WTDVNX-sEqiE(fhJv_laxs|!x*g>?Txy+F=-U-K&i z$Iy>JGLT}V5@|t}B5RSY$X?_qau#8Z)MQjMY}4}G=%gewX*!X{_ok?@b!p-A?t&XP zuNPpi`;PSMEs?jF?^3YnOOxHKu{ZfTmF&)jib$u<5+2t_`X&*N_P(WH{CmA(UT}F$ z*ji`zD-Jr*S?}!BnLe8@QO%v+Wac;B2|g`j5f3Irk&%93t?Fp1jhu8V-U8|jnnyLLU=*a|iS7b?5p(SUKM1Cv#yVPs7Q&BU$ zzQb=%F7bQu6icp6b>tYl=t>RruJyN?>-EMkSEC~co1%CgjtF5UY3z!&Cq z`OVYMjA!7)k2>(X4LyWs}MV`-VL+V?@b_8D%qk9Xmz$dd4p?v)K+eG-jT} zOdb+5n*=(ot2DJ!^i`8&kw*cP6gl5-sXR$2H_VEvYaaef!z?~N^7<};8Rs%kC81bLKgWu=;7ir%9)eP&9{kZ?mb#D7# zr2AiW4*mDj&hPENa39Wg4*hqu^LzWxyI(Z_{I~vF6!?5#ao`KoIbRGc4ZImx7WlKk z^1zn@D*|5*tPFf5uqyE9fz^Sp2G#`rBCs~_mw|PGzY44m{B>YM;A?@6fv*QP1-=p3 z9C$0RCGgF_*1)#{+XCMXY!7@Vup{s{ft`Wx26hGhM__m0Zv%S*-wW&wd_S-+@Pokq zzz+il0zV2I47?pU6!>xAaNs9_BY~d=jt2fNa4hh%!12J}2TlZj9yl5J1r^;pfzyFs z2F?V26*wFChrqeOuLI`;{}{Ls_@}_dz&{5r1%4B_9Qc>OmB9ZDTn+p-a4qn!f$M?) z6}S=jx4_N7zXxsws8$2N58Mg-A#gYF$H2Y7e+2Fa{uFo+_|L#Y>RRe1GJ)169izsN`+L) zOsSG;nI*4Fjm(x>sgrtngEJ5srAeBlg^|x(nJ4q*HJK`(mT59wX8f1#|BNh<&&opi zoGg;h%VPP0ERiqDQh8IB$)Cw``I4-VFUv~#imZ}9m(}uBStEZTYvnIxo&1%om%o+` z@-^8gUzbht4cRPj$rkyhY?W`xHu<(}m+#09`5W0O-<4hRKV-N3t?ZHS$zJ)s?2{kJ ze)*vskRQoGd0P(2kL9rZM2^T$<*59f9Fw2Part{WAwQRs@(Vd7@5pKSrJRvp$yxaa zIVZoC^YV{!LH>y~Q2#8K+nPZTY?2 zkw3^?`J>#E|B(CgCwU;$m&8I(3ff7Tvu^&pyw1e|;nV`uPXM4vrr_ zIw^HR!PJVH=6Rp}{1^Z1%YXhCfAzI*eDiNcCZ%M&lFy*B;WGvG2&3 zR5dr4AKakV+|%5kKPIq@GNYoDU2YAMT;BjO<3SUeYxpXw?wG2Vys{>C+PAP$p-kO3 z^WISJX)r&yv8+mOt*-HIuF$*Z>Fv#p1dVlK6|?z%yZTe7#4pDH51k*$Ig+2_y?JDb zMDWeyYI8p=MN?#AQK~$hlw`$O9pkJ{RM&K`a)#>% z+Xm+hi;o+@hua3{yb#B0C9a1#A972gg!QI8?^yZ0jw1 zxttLfN2zuG28?q!+2OLE7%usTzf6`zmqyL|Npk8(Yde1Ld;7kc@rVC-`CmKajm}B< zSp0uv&RIMq>FvhP{Zrmk&D#GML|?`23kADE^n}{!-_({hzDBg@0`>UFQ`9Qm$r=mz zcNO){8n<61bgj&v#MV~V=z3{_%>*%<*5)zJayESGn2IlT>jyJ+2{jjd5|yQPq>k>_ zsA5%zE?Q~ei@Z9$$j~!rqjNzlFJUDBi&k}a5~EJ$Hc4fF8Bb&bxZ{7VtlI(uBkxfjz%kp-^ik|qQQ!cZaRdKvXVVkH46B`-I8mj9Fl6uSQI0n3K zkSZGWHH@eTj_*L zwwr}%JBx!c!Y^Haye|xjE-K?_i+Rp$fojIgY&i+ho-ILP)lEYkMb(_7P*>JeV`jCS zKuJ->TwTjU&_j_h>A@o_Ola%*5W3&&i!+~D)u>1odoX6|Ne&eiucQ2u@*(E+qw%M8 zSTx#=lG0H3I>Y(;>Uwk1EVwjDB~-R zW{$MM*>q*5H1LB^rxs?hp1q;DjAntaX9gAI1;c%smzg=-gRqk;JOeEf`Yt-GY^J+z z%-TtPMoBHxt!?fo3pdm+j&mxFmUQ;YI+@X_1iZ4Q300y&ttgqTo;shV4Tjfz3|$ZV zFy)gs?E~O5pGhnQBIJVN(%CJd#h)dsRJ4q1cbwDnxG8N0GA(Yq2h`n?vIfx^CtaI10V#0eHscw1v6~mGx}i-UU?e)TF^f8p`xg zs|Yt{PlCR3_ii$GnDAGa-YxB?Sv1a;ecH=VWok}(F*{o*?)7!-W6+R#r(e0DK<(|j zQ&ooCxI1jL;_#PLk{z8-mq+^ESk>HQ6cNmEtow5IlJT;q%-xh&PXmT-L-En$mUxfQ z+!Su;?&^?CJzpWHV3sQ3&Mf@XgBQX&m0q++I+B&Gj&vBqbIlwrx3()V#rG7IV z2O1YWS&_2iwn$p3=w8c;5_4{1F1jf3PfE|tn&j6;-f3gaz1k=^7L66G6Ru*leRzwX zWvZxFx42bX*3dk+gtE`esG9R3%^OC}gVAN;u92x(*>l#* zC)1F*NI6oAtVGg~Oe7asjch{>A!m`BNT-kbm{oB8_;j%O8~LnH`Xd98K}Z~ufau>H zzfb2hr5n_Ja>kHN8{83(OBvTs{_Ju z%A(Wb(-94ep1G()yRRZoAm2ffoAq<*P2ShoIl9xU)SWX*^Z)_V|0=0rJZipU-B6*; zxt8pZRjZq5$W4c>%`HI-=U|gCFHB=Jha-oA0icSbZK zr+I&>2aXmpdQfxKLkgmLVEK^IgD${VJuE;}4;vAEU$779g1m$1i@twHy6SH{?FNTH z^_$m3%vf=*E{uk?@JaY4)OQbW!Gio$zOn8O7|n&V;-B59blZY`c1B(5(6K9L)f;vc zJ326qMd%g0>F5~8Av1TeqvKRNa8BK0T!o(o5W@l9k^AAI~)!RjrWSdRFmdG zo=LFPa~@CA>uir;*O9ZoBN#3d9c>4^4J1@c=BCGGszkrO``7>2yTPjOp^a6-|1zYE zGoRi0f!NyS8l5Q6FDg#Tp3KLkoDY=_8KU><3u!Y^Fe9e%6Q;@HP{f(dbiU+52>l?{43RdOXr&4X3v9!LweyK$}46x`s#Cn?N}B z?3^)!S@+f)Q`&fVDbQip=M?by6OaSNzfpfE}rq?hEn#oK@jE)%CRp1z#H6=R7WzHv}R;a6K ziPNWQUeGgpjkyzyq2bort~-?{>m{AZ0AVSU&Ne!ko+|Y9TDo~o^+`<1D>MR{&Vcit z{4z%EYU}(j`D4s`!7Ksy2UmR@t?QRgwY}@IMN@f|10)>BU{!vPdW4r z))8-J-7q|bjN^AKQpF_G5~L@;A7I`Di;#O;af>v43-|B0e zQ(^t=HYDkDtU3OyC8LqPxHY#o;~p91g}IHJv+{ zH6Wh*mtTI_{5*oW-KB%1A>MCg_+R8xLN?*%T0i<-gCgp$q69=4CiXWWW_+Pj`JDz5)p7#i6o??C`=)h!a==%*yw&;3Pps(lrH*gfOFMkgw?utWx8snS z4E7liRNO|oDR%F~jbGg%yV#?k^VMn5-94YCbbGS*S314bk#&=N;|;0GVvn_PW4~z? zb$hbgS310)$T{q03%2fY~YJzywQ98+#jjbGJ@$vksHF z4rJ9Umh5ICJtev~_WrMQe(Q-ZcUlpOnZ~O(H>4F%cklw@aXRqhHVwDqCb1Wg-zm}E z@zcb|i=WX`6>bJhW}k$k(?~s`0i$8=*D$WZtv!vs8YYZA@vrY!o_MR%mqQ_Rba4Q8 z=gK)_Ov4b}S#^L^Jc{CAu5W>G_q8Z`p5lSnB&C zR>luMim$1pZZ~cs_36iK9QOCH@4*ek-HUTDO;wlWxao!hctxeUjEs9`WZYNbCTSMw zXZ-6KiZkwv7VuA>yAO9aUh}c;w0)hcn+v#EGS$c0&quq_7cDiP_Q`_C@KKS+$UWIqy zJzFM`(vzZKZ`c zJPXgm>+mLgC^Fe+%j6!g7aRx&LE<-=_)X?{lX>3cQdkLz-(=!9c{yAOH^R+uH{1)4 z!sGBfya;c?+qO(01*UX@y2~Wez z@G86u@7pppimzKn!+x+oOn@U{2Alw=z-h1+Ho(PjDO?NJ!|iYJPXgm>+mLg$QKlS zwoK~*d%=Nl5KM$)VJ<9yrLYpV!1-`FTnRVA&2Tr|3y;F%@I1T-Z^GNQO!x5?w-f9I z`@lgk4vvK>umBd@QjU2!=H-}|t9d2nv*3KV5Uzx);byoM?uGl|ad;A5gqPuMc-NL0 zokV6t!9K7bjDra<1!llvI0f#92jNM08eWE1;azy&mXax~q@4z9VFO$Ym%_DhJ?>`V zt`;tYi{Wax7H);xaTkTVXxI<-hY4^b%zzW%cDNHBgooj2cotrT*WrEm(3a9@zF^t| z_J;%ENSFvGz+5;Dmcjj8Vgfp8E^ zgkxbYEP$o361Kqka5-EFH^R+uH{1)4!sGBfya;c?+oW$V(zg%v!A`IM7Q;$73(kiN z;Yzp~ZiZXoUbr7#gqPuQc+!@NPMm-c#r18j?{eLT>wYi}CcqS!0gK@jI1ARog>W%k z4cEf0a68-&55kl1G`tM2!n^RkEqY36Wwb3b8$@QdaNUpV{xAWKgc)!GoC2r8TG#*= z!=-R7To1Ryo$w$$3{S(e@G86x@56^YCz|KI1(np2{0E3K@>vwD50=USw>JNxjf5^7xT@h>Eb+{gGvaPR|iuLtM*bR2Kt$3-K zYZ2y)Fki&=BE9BV+0Sz{=Zec>t>FGI7m4-dsqh#)0Xcs5%U5md+Y`k4cD`+GzaZB3 z%eM7{MPmJ6xosWfc?Y*a?mu|bw%(p3*4wje>k#e^;oo7uSchXFN7)`eV_QeIh;?K) zJPWVb*3nsF9i3}ir|QKzwGf_%*KF&Zabmrb3)jLe5dYt~VOytniFNt_yaOND)-Th< z`sD=M`VH=Wv(dIL_YmuHA4s?_^Zb9=F4n*Byx$V8-xBY;OT@an3f_SCY+uJi;_G~}-_UWkFaDwUhIO)i!)joY?HjdTe51D7zQk_gOY8&hh;NL~_9a~r zU(#*cH+~u)Aje(iIPqoX+P*Bm__BuEzE{|A@=6uF2(R0|>~-SH-eUW5*z1|o*S3Co zNUWb8wXM&gpU-iG>gVo}E<(C&gqz`Y$dRclc9K5(NskuNV*%;0mGsy_diY3>&M+3n z+17W4i}jsEI0eoiozTk{tu$}{^&o} z_Kk@`|J*o6z$j+xkL=SYIGNEvXV~NsVnSs}yS)@p<#8SZ^MOl(#nzQT|Am-`(Q=6zK0Qc2IEed$Jntas^7ahU4f{h^C||cpuK}c2JiG>PkZwCjH}c8RTGFkF z^y2xa=0nos6y@!mG}4Rsy@S8+>>%AppVOK?`1@P@y}OL`p?T9gmPc$4Q^{ zq|Y|eXEf=PL3(T^J$8{E-ARvL@E&|fdR(JC+$24!NRRoX2kDntOnStU9`U3@Dd|xU zuR_XA_9oI}C+X3P^cX-otRNkD{vz_rq9y2IA9_IFZ}%hK10i~TdxLHLIFo#vPrUaK z?*o)0p&UgKZ?2DWeF{CF+D1I1i6`m%P77Q}d`Yj9mIbR`EnNd zvcdMfM0{TAhaSk+VTMZQ2Ew-yjS()YK!Z0l!~=b!B%e+?vm4W?}%t@5{uFMkJNTud03+P+lE zNNP0P2g&oJsk=t^#C{9*xJw<3c>+8SFEbvx#(3xk90&)&csSf9qoUl+knxYj_{TSh z$Hl=ustkA=-nFH}43Q3uXF9Bd8*H%&mfan$gsb5hc#i#-qger$1X&``aV}f}m%%k~ z9oz!9!98#vJOYnF?(eAgUxC-)9eB@{PBts)I>Vl@Hyi+Cu`kEIifh{MPSfCOxE3CV zC*gH?)0QXvB2Nr}o8eY?30|?KOD~ZweISY6rN1pv8(4+6iR%em(_VL(1#2Pgbr;&} zs5RKHgU8?rTe@}<=^Di~dW}M_UFlbJrC-q%f4bsNSHjViaCAE=((Sk{A3Dg&zQd4k ze28#FXRxww0>uAl{Et2h&)f2394q}2;3~KVo`V-`>0ZprzbWtpJY~y=m$O1}C8YoH z;fJ>LsA6?y4J18!kRBg-$n22MmY(RVC;ECSQRJzyw)DCo((4x2Gq@%_dsT8h%a)J! z5cy~?Tb?G~PZRGx^ke!Age`DBBtCtJ&oh3JXVB*}O>izGJkJoGXYltK{C%2fo2T#C z(ic7VMb95YzaK-tA1i>xwmf^0U3`~q>6b6kuZZiuT>EYD6HY(j^e=>q;V!rbUWQj~ z`FIjD*yAAK`#9nIIC}Xwdgz21{Wj zBwr2QWXq7AtPboAN&g|F{}A%c5b{l2Cy}@)I1(npsc;4)9C3srZa+L|%TPZnng+lb zupDAP6#JnoA^Bz~@gGY3hwg>@A>kiN_=l3tLrLd&@<}}TB%bt(C;j4a7mvGm(j%Vq z7*;GYYzn*rui26iFOo1E-iCK=c>#AX;BGkj96rI85$I(EdKrOUMxd7w_u)fZMq)n_ z`;l|u0?2bl@|;n`a}@C$wHmIqWprPW(SEMuxK4ma;c>|GM)ADSgmX0E9Nhq0;3l{Q zo`j^|=)3T~Eid*Kd9g2C2RA_U^&(XlDL;z|k-X5{_|% zV+{HogMP>D;(8CH{Enmij(fn0ZLuYpa3m9sWb~Viev=2oc$fso!EBfh31>3lOs;|T zZ~u$GPnY+gB##BxC8Ek2jDSy0-l2x;5B#y-h&TpN$V_<)(!TCePJvd z3`fHxmxDOtH$KVNg4qkxQ;0<^WKCmUdvq*Y3 z*cE`uxJI=BIDh1((ZZ94UBI{7=D{GEOZo`KZ= z>D2$}H{dOJA3n4tqcf}CyTM+t4;%nvVFDZp$H6q13kx9mE`xlRL3@xvdyqkRG6+w` zQn(zhf$QLAxD}GmGsx!|2jO9O0-l1Dn+(cL#x-~Y-i7yV8BaMIPdOXk1NMS`H~_}M z1egTJ!3i)IqMz~TXM81`1)JbpxEL;ltKb^A5pIS%;4Ziy9)!o>33wKshgaY=NIf>5 zdMr~oG|GmQ=S<3TW?$%sgJ2vS4U=F7q+Dkf!AY
FGN1ZiJ07emTtCgn48J=_Sl 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 C7XdH; literal 0 HcmV?d00001 diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 69343eb5c..058b5be80 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -2,7 +2,6 @@ #define GITBRANCH "5.1.0" #define APICTB 0x210225 #define APIGOTTHARD 0x210225 -#define APIJUNGFRAU 0x210225 #define APIMOENCH 0x210225 #define APIEIGER 0x210225 #define APIMYTHEN3 0x210225 @@ -10,3 +9,4 @@ #define APIRECEIVER 0x210225 #define APIGUI 0x210225 #define APIGOTTHARD2 0x210714 +#define APIJUNGFRAU 0x210714 From 823ceff328c62cdf47ee5f7023b4aa6a8fae76e2 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 15:42:53 +0200 Subject: [PATCH 07/15] minor --- RELEASE.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/RELEASE.txt b/RELEASE.txt index da7f997d6..22f9a21d4 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -67,9 +67,7 @@ This document describes the differences between 5.2.0 and 5.1.0 releases. 3. Firmware Requirements ======================== - //Mythen3: 0x210201 - //Jungfrau: 0x210218 (1.0 pcb) - 0x200721 (2.0 pcb, not changed) + Gotthard2: 0x210201 ??? Other detectors no updates from 5.1.0 From a127f8c97a1fe86c218ad829f72d5d085e3542d1 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 14 Jul 2021 16:03:13 +0200 Subject: [PATCH 08/15] g2: badchanels moved to a new register base --- RELEASE.txt | 7 ++++--- .../gotthard2DetectorServer/RegisterDefs.h | 15 ++++++++++----- .../slsDetectorServer_defs.h | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/RELEASE.txt b/RELEASE.txt index 0af457ab5..6123205c5 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -28,10 +28,11 @@ This document describes the differences between 5.1.0 and 5.0.1 releases. 4. Mythen3, API function to set pattern from memory - Mythen3 server - ----------------- + Gotthard2 server + ---------------- - 1. Setting timing to auto, sets timing to trigger for slaves + 1. Bad Channels moved to a new register + 2. Resolved Issues diff --git a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h index 378aed102..9167f84c9 100644 --- a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h @@ -34,6 +34,9 @@ #define BASE_FLOW_CONTROL (0x00200) // 0x1806_0200 - 0x1806_02FF // https://git.psi.ch/sls_detectors_firmware/vhdl_library/blob/f37608230b4721661f29aacc20124555705ee705/flow/flow_ctrl.vhd +/** Veto processing core */ +#define BASE_VETO_PRCSSNG (0x0300) // 0x1806_0300 - 0x1806_03FF? + /* UDP datagram generator */ #define BASE_UDP_RAM (0x01000) // 0x1806_1000 - 0x1806_1FFF @@ -110,10 +113,6 @@ /** DTA Offset Register */ #define DTA_OFFSET_REG (0x0A * REG_OFFSET + BASE_CONTROL) -/** Mask Strip Registers (40) */ -#define MASK_STRIP_START_REG (0x18 * REG_OFFSET + BASE_CONTROL) -#define MASK_STRIP_NUM_REGS (40) - /* ASIC registers --------------------------------------------------*/ /* ASIC Config register */ @@ -258,4 +257,10 @@ #define RXR_ENDPOINTS_MAX (32) #define RXR_ENDPOINT_OFST (16 * REG_OFFSET) -// clang-format on \ No newline at end of file + +/** Veto processing core --------------------------------------------------*/ +/** Mask Strip Registers (40) */ +#define MASK_STRIP_START_REG (0x00 * REG_OFFSET + BASE_VETO_PRCSSNG) +#define MASK_STRIP_NUM_REGS (40) + +// clang-format on diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index 43a427489..0fd98ef94 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -1,7 +1,7 @@ #pragma once #include "sls/sls_detector_defs.h" -#define REQRD_FRMWRE_VRSN (0x200925) +#define REQRD_FRMWRE_VRSN (0x210714) #define KERNEL_DATE_VRSN "Wed May 20 13:58:38 CEST 2020" #define CTRL_SRVR_INIT_TIME_US (300 * 1000) From 8354395f64b52872076afe00494745ab7fd473f4 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 15 Jul 2021 13:44:42 +0200 Subject: [PATCH 09/15] wip --- python/slsdet/detector.py | 2 +- .../gotthard2DetectorServer/RegisterDefs.h | 1 + .../slsDetectorServer_defs.h | 2 +- .../src/slsDetectorServer_funcs.c | 25 ++++++++++- slsDetectorSoftware/include/sls/Detector.h | 15 ++++++- slsDetectorSoftware/src/CmdProxy.cpp | 43 +++++++++++++++++++ slsDetectorSoftware/src/CmdProxy.h | 10 ++--- slsDetectorSoftware/src/Detector.cpp | 10 +++++ .../tests/test-CmdProxy-gotthard2.cpp | 30 +++++++++++++ .../tests/test-CmdProxy-jungfrau.cpp | 33 ++++++++++++++ slsDetectorSoftware/tests/test-CmdProxy.cpp | 33 -------------- slsSupportLib/include/sls/ToString.h | 2 + slsSupportLib/include/sls/sls_detector_defs.h | 23 ++++++++++ slsSupportLib/src/ToString.cpp | 29 +++++++++++++ 14 files changed, 216 insertions(+), 42 deletions(-) diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index f03551ce3..3ce05c94c 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -2212,7 +2212,7 @@ class Detector(CppDetectorApi): @element def veto(self): """ - [Gotthard2] Enable or disable veto data streaming from detector. + [Gotthard2] Enable or disable veto data from chip. Note ---- Default is 0. diff --git a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h index 9167f84c9..d9d7c7315 100644 --- a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h @@ -36,6 +36,7 @@ /** Veto processing core */ #define BASE_VETO_PRCSSNG (0x0300) // 0x1806_0300 - 0x1806_03FF? +// https://git.psi.ch/sls_detectors_firmware/gotthard_II_mcb/blob/master/code/hdl/veto/veto_ctrl.vhd /* UDP datagram generator */ #define BASE_UDP_RAM (0x01000) // 0x1806_1000 - 0x1806_1FFF diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index 0fd98ef94..46db18153 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -1,7 +1,7 @@ #pragma once #include "sls/sls_detector_defs.h" -#define REQRD_FRMWRE_VRSN (0x210714) +#define REQRD_FRMWRE_VRSN (0x210527) #define KERNEL_DATE_VRSN "Wed May 20 13:58:38 CEST 2020" #define CTRL_SRVR_INIT_TIME_US (300 * 1000) diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 09da78b48..e3f8d4126 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -7525,7 +7525,7 @@ int get_veto(int file_des) { #endif return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); } - +/* int set_veto(int file_des) { ret = OK; memset(mess, 0, sizeof(mess)); @@ -7567,6 +7567,29 @@ int set_veto(int file_des) { #endif return Server_SendResult(file_des, INT32, NULL, 0); } +*/ +int set_veto(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + int arg = 0; + + if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0) + return printSocketReadError(); + LOG(logINFO, ("Setting veto mode: %u\n", arg)); + +#ifndef GOTTHARD2D + functionNotImplemented(); +#else + // only set + if (Server_VerifyLock() == OK) { + setVeto(arg); + int retval = getVeto(); + LOG(logDEBUG1, ("veto mode retval: %u\n", retval)); + validate(arg, retval, "set veto mode", DEC); + } +#endif + return Server_SendResult(file_des, INT32, NULL, 0); +} int set_pattern(int file_des) { ret = OK; diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 105d95dee..530ed5266 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1244,9 +1244,21 @@ class Detector { /** [Gotthard2] */ Result getVeto(Positions pos = {}) const; - /** [Gotthard2] Default disabled */ + /** [Gotthard2] Veto data in chip, Default disabled */ void setVeto(const bool enable, Positions pos = {}); + /** [Gotthard2] */ + Result getVetoStream(Positions pos = {}) const; + + /** [Gotthard2] Options: NONE (Default), I3GBE, I10GBE (debugging), ALL + * Enable or disable the 2 veto streaming interfaces available. Can + * concatenate more than one interface. \n3GbE (2.5GbE) is the default + * interface to work with. \n10GbE is for debugging and also enables second + * interface in receiver for listening to veto packets (writes a separate + * file if writing enabled). Also restarts client and receiver zmq sockets + * if zmq streaming enabled.*/ + void setVetoStream(const defs::EthernetInterface value, Positions pos = {}); + /** [Gotthard2] */ Result getADCConfiguration(const int chipIndex, const int adcIndex, Positions pos = {}) const; @@ -1727,6 +1739,7 @@ class Detector { private: std::vector getPortNumbers(int start_port); void updateRxRateCorrections(); + defs::EthernetInterface in_{defs::NONE}; }; } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 9a47d90f9..2b0cae65c 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -1802,6 +1802,49 @@ std::string CmdProxy::BurstMode(int action) { return os.str(); } +std::string CmdProxy::VetoStreaming(int action) { + std::ostringstream os; + os << cmd << ' '; + if (action == defs::HELP_ACTION) { + os << "[none|3gbe|10gbe|...]\n\t[Gotthard2] Enable or disable the 2 " + "veto streaming interfaces available. Can include more than one " + "interface. \n\tDefault: none. 3GbE (2.5GbE) is the default " + "interface to work with. \n\t10GbE is for debugging and also " + "enables second interface in receiver for listening to veto " + "packets (writes a separate file if writing enabled). Also " + "restarts client and receiver zmq sockets if zmq streaming " + "enabled." + << '\n'; + } else if (action == defs::GET_ACTION) { + if (!args.empty()) { + WrongNumberOfParameters(0); + } + auto t = det->getVetoStream(std::vector{det_id}); + os << OutString(t) << '\n'; + } else if (action == defs::PUT_ACTION) { + if (args.empty()) { + WrongNumberOfParameters(1); + } + defs::EthernetInterface interface = defs::EthernetInterface::none; + for (const auto &arg : args) { + if (arg == "none") { + if (args.size() > 1) { + throw sls::RuntimeError( + "cannot have other arguments with 'none'. args: " + + arg); + } + break; + } + interface = interface | (StringTo(arg)); + } + det->setVetoStream(interface, std::vector{det_id}); + os << ToString(args) << '\n'; + } else { + throw sls::RuntimeError("Unknown action"); + } + return os.str(); +} + std::string CmdProxy::ConfigureADC(int action) { std::ostringstream os; os << cmd << ' '; diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 90bf8dd15..6af69775d 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -957,6 +957,7 @@ class CmdProxy { {"currentsource", &CmdProxy::currentsource}, {"timingsource", &CmdProxy::timingsource}, {"veto", &CmdProxy::veto}, + {"vetostream", &CmdProxy::VetoStreaming}, {"confadc", &CmdProxy::ConfigureADC}, {"badchannels", &CmdProxy::BadChannels}, @@ -1132,6 +1133,7 @@ class CmdProxy { std::string VetoReference(int action); std::string VetoFile(int action); std::string BurstMode(int action); + std::string VetoStreaming(int action); std::string ConfigureADC(int action); std::string BadChannels(int action); /* Mythen3 Specific */ @@ -1484,13 +1486,11 @@ class CmdProxy { INTEGER_COMMAND_VEC_ID( numinterfaces, getNumberofUDPInterfaces, setNumberofUDPInterfaces, StringTo, - "[1, 2]\n\t[Jungfrau][Gotthard2] Number of udp interfaces to stream " + "[1, 2]\n\t[Jungfrau] Number of udp interfaces to stream " "data from detector. Default: 1.\n\tAlso enables second interface in " "receiver for listening (Writes a file per interface if writing " "enabled).\n\tAlso restarts client and receiver zmq sockets if zmq " - "streaming enabled.\n\t[Gotthard2] second interface enabled to send " - "veto information via 10Gbps for debugging. By default, if veto " - "enabled, it is sent via 2.5 gbps interface."); + "streaming enabled."); INTEGER_COMMAND_VEC_ID( selinterface, getSelectedUDPInterface, selectUDPInterface, @@ -1913,7 +1913,7 @@ class CmdProxy { INTEGER_COMMAND_VEC_ID(veto, getVeto, setVeto, StringTo, "[0, 1]\n\t[Gotthard2] Enable or disable veto data " - "streaming from detector. Default is 0."); + "data from chip. Default is 0."); /* Mythen3 Specific */ diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index b0892c2a2..84b3e8590 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -1547,6 +1547,16 @@ void Detector::setVeto(bool enable, Positions pos) { pimpl->Parallel(&Module::setVeto, pos, enable); } +Result Detector::getVetoStream(Positions pos) const { + // return pimpl->Parallel(&Module::getVetoStream, pos); + return Result res{in_}; +} + +void Detector::setVetoStream(defs::EthernetInterface interface, Positions pos) { + // pimpl->Parallel(&Module::setVetoStream, pos, enable); + in_ = interface; +} + Result Detector::getADCConfiguration(const int chipIndex, const int adcIndex, Positions pos) const { diff --git a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp index 53cc11120..f4f64c1b9 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp @@ -552,6 +552,36 @@ TEST_CASE("veto", "[.cmd]") { } } +TEST_CASE("vetostream", "[.cmd]") { + Detector det; + CmdProxy proxy(&det); + auto det_type = det.getDetectorType().squash(); + if (det_type == defs::GOTTHARD2) { + // auto prev_val = det.getNumberofUDPInterfaces().tsquash( + // "inconsistent numinterfaces to test"); + /* { + std::ostringstream oss; + proxy.Call("vetostream", {"sdf"}, -1, PUT, oss); + REQUIRE(oss.str() == "vetostream 2\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {"1"}, -1, PUT, oss); + REQUIRE(oss.str() == "vetostream 1\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {}, -1, GET, oss); + REQUIRE(oss.str() == "vetostream 1\n"); + }*/ + // det.setNumberofUDPInterfaces(prev_val); + } else { + REQUIRE_THROWS(proxy.Call("vetostream", {}, -1, GET)); + REQUIRE_THROWS(proxy.Call("vetostream", {"1"}, -1, PUT)); + } + REQUIRE_THROWS(proxy.Call("vetostream", {"dfgd"}, -1, GET)); +} + TEST_CASE("confadc", "[.cmd]") { Detector det; CmdProxy proxy(&det); diff --git a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp index aef1f8ee6..9508daeee 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp @@ -96,6 +96,39 @@ TEST_CASE("Setting and reading back Jungfrau dacs", "[.cmd][.dacs]") { /* Network Configuration (Detector<->Receiver) */ +TEST_CASE("numinterfaces", "[.cmd]") { + Detector det; + CmdProxy proxy(&det); + auto det_type = det.getDetectorType().squash(); + if (det_type == defs::JUNGFRAU) { + auto prev_val = det.getNumberofUDPInterfaces().tsquash( + "inconsistent numinterfaces to test"); + { + std::ostringstream oss; + proxy.Call("numinterfaces", {"2"}, -1, PUT, oss); + REQUIRE(oss.str() == "numinterfaces 2\n"); + } + { + std::ostringstream oss; + proxy.Call("numinterfaces", {"1"}, -1, PUT, oss); + REQUIRE(oss.str() == "numinterfaces 1\n"); + } + { + std::ostringstream oss; + proxy.Call("numinterfaces", {}, -1, GET, oss); + REQUIRE(oss.str() == "numinterfaces 1\n"); + } + det.setNumberofUDPInterfaces(prev_val); + } else { + std::ostringstream oss; + proxy.Call("numinterfaces", {}, -1, GET, oss); + REQUIRE(oss.str() == "numinterfaces 1\n"); + REQUIRE_THROWS(proxy.Call("numinterfaces", {"1"}, -1, PUT)); + } + REQUIRE_THROWS(proxy.Call("numinterfaces", {"3"}, -1, PUT)); + REQUIRE_THROWS(proxy.Call("numinterfaces", {"0"}, -1, PUT)); +} + TEST_CASE("selinterface", "[.cmd]") { Detector det; CmdProxy proxy(&det); diff --git a/slsDetectorSoftware/tests/test-CmdProxy.cpp b/slsDetectorSoftware/tests/test-CmdProxy.cpp index a28fedde2..fe16e345c 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy.cpp @@ -1751,39 +1751,6 @@ TEST_CASE("scanerrmsg", "[.cmd]") { /* Network Configuration (Detector<->Receiver) */ -TEST_CASE("numinterfaces", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - if (det_type == defs::JUNGFRAU || det_type == defs::GOTTHARD2) { - auto prev_val = det.getNumberofUDPInterfaces().tsquash( - "inconsistent numinterfaces to test"); - { - std::ostringstream oss; - proxy.Call("numinterfaces", {"2"}, -1, PUT, oss); - REQUIRE(oss.str() == "numinterfaces 2\n"); - } - { - std::ostringstream oss; - proxy.Call("numinterfaces", {"1"}, -1, PUT, oss); - REQUIRE(oss.str() == "numinterfaces 1\n"); - } - { - std::ostringstream oss; - proxy.Call("numinterfaces", {}, -1, GET, oss); - REQUIRE(oss.str() == "numinterfaces 1\n"); - } - det.setNumberofUDPInterfaces(prev_val); - } else { - std::ostringstream oss; - proxy.Call("numinterfaces", {}, -1, GET, oss); - REQUIRE(oss.str() == "numinterfaces 1\n"); - REQUIRE_THROWS(proxy.Call("numinterfaces", {"1"}, -1, PUT)); - } - REQUIRE_THROWS(proxy.Call("numinterfaces", {"3"}, -1, PUT)); - REQUIRE_THROWS(proxy.Call("numinterfaces", {"0"}, -1, PUT)); -} - TEST_CASE("udp_srcip", "[.cmd]") { Detector det; CmdProxy proxy(&det); diff --git a/slsSupportLib/include/sls/ToString.h b/slsSupportLib/include/sls/ToString.h index 1d13d849a..65ace1e8c 100644 --- a/slsSupportLib/include/sls/ToString.h +++ b/slsSupportLib/include/sls/ToString.h @@ -36,6 +36,7 @@ std::string ToString(const defs::dacIndex s); std::string ToString(const std::vector &vec); std::string ToString(const defs::burstMode s); std::string ToString(const defs::timingSourceType s); +std::string ToString(const defs::EthernetInterface s); std::string ToString(const slsDetectorDefs::xy &coord); std::ostream &operator<<(std::ostream &os, const slsDetectorDefs::xy &coord); @@ -297,6 +298,7 @@ template <> defs::readoutMode StringTo(const std::string &s); template <> defs::dacIndex StringTo(const std::string &s); template <> defs::burstMode StringTo(const std::string &s); template <> defs::timingSourceType StringTo(const std::string &s); +template <> defs::EthernetInterface StringTo(const std::string &s); template <> uint32_t StringTo(const std::string &s); template <> uint64_t StringTo(const std::string &s); diff --git a/slsSupportLib/include/sls/sls_detector_defs.h b/slsSupportLib/include/sls/sls_detector_defs.h index 3e2c4bbee..33eb3dc2e 100644 --- a/slsSupportLib/include/sls/sls_detector_defs.h +++ b/slsSupportLib/include/sls/sls_detector_defs.h @@ -394,6 +394,29 @@ typedef struct { */ enum timingSourceType { TIMING_INTERNAL, TIMING_EXTERNAL }; +#ifdef __cplusplus + enum class EthernetInterface : int32_t { +#else + enum EthernetInterface { +#endif + NONE = 0, + I3GBE = 1 << 1, + I10GBE = 1 << 2, + ALL = I3GBE | I10GBE + }; + +#ifdef __cplusplus + inline EthernetInterface operator|(EthernetInterface a, + EthernetInterface b) { + return EthernetInterface(static_cast(a) | + static_cast(b)); + } + + inline bool operator&(EthernetInterface a, EthernetInterface b) { + return (static_cast(a) & static_cast(b)); + } +#endif + #ifdef __cplusplus /** scan structure */ diff --git a/slsSupportLib/src/ToString.cpp b/slsSupportLib/src/ToString.cpp index 97b9025fd..a8fc869f3 100644 --- a/slsSupportLib/src/ToString.cpp +++ b/slsSupportLib/src/ToString.cpp @@ -519,6 +519,23 @@ std::string ToString(const defs::timingSourceType s) { } } +std::string ToString(const defs::EthernetInterface s) { + std::ostringstream os; + std::string rs; + switch (s) { + case defs::NONE: + return std::string("none"); + default: + if (s & defs::I3GBE) + os << "3gbe, "; + if (s & defs::I10GBE) + os << "10gbe, "; + auto rs = os.str(); + rs.erase(rs.end() - 2); + return rs; + } +} + const std::string &ToString(const std::string &s) { return s; } template <> defs::detectorType StringTo(const std::string &s) { @@ -859,6 +876,18 @@ template <> defs::timingSourceType StringTo(const std::string &s) { throw sls::RuntimeError("Unknown timing source type " + s); } +template <> defs::EthernetInterface StringTo(const std::string &s) { + std::string rs = s; + rs.erase(rs.find(',')); + if (rs == "none") + return defs::NONE; + if (rs == "3gbe") + return defs::I3GBE; + if (rs == "10gbe") + return defs::I10GBE; + throw sls::RuntimeError("Unknown EthernetInterface type " + s); +} + template <> uint32_t StringTo(const std::string &s) { int base = s.find("0x") != std::string::npos ? 16 : 10; return std::stoul(s, nullptr, base); From 4d7fb4e4e00f117539b15ce19d0edd4675302d1f Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 15 Jul 2021 14:48:41 +0200 Subject: [PATCH 10/15] wip --- slsDetectorSoftware/include/sls/Detector.h | 2 +- slsDetectorSoftware/src/CmdProxy.cpp | 7 ++- slsDetectorSoftware/src/Detector.cpp | 4 +- .../tests/test-CmdProxy-gotthard2.cpp | 55 ++++++++++++------- slsSupportLib/include/sls/sls_detector_defs.h | 24 ++++---- slsSupportLib/src/ToString.cpp | 17 +++--- 6 files changed, 64 insertions(+), 45 deletions(-) diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 530ed5266..0e6fe9aee 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1739,7 +1739,7 @@ class Detector { private: std::vector getPortNumbers(int start_port); void updateRxRateCorrections(); - defs::EthernetInterface in_{defs::NONE}; + defs::EthernetInterface in_{defs::EthernetInterface::NONE}; }; } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 2b0cae65c..34dcc73db 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -1825,20 +1825,21 @@ std::string CmdProxy::VetoStreaming(int action) { if (args.empty()) { WrongNumberOfParameters(1); } - defs::EthernetInterface interface = defs::EthernetInterface::none; + defs::EthernetInterface interface = defs::EthernetInterface::NONE; for (const auto &arg : args) { if (arg == "none") { if (args.size() > 1) { throw sls::RuntimeError( "cannot have other arguments with 'none'. args: " + - arg); + ToString(args)); } break; } + StringTo(arg); interface = interface | (StringTo(arg)); } det->setVetoStream(interface, std::vector{det_id}); - os << ToString(args) << '\n'; + os << ToString(interface) << '\n'; } else { throw sls::RuntimeError("Unknown action"); } diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 84b3e8590..8acddfe15 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -1549,7 +1549,9 @@ void Detector::setVeto(bool enable, Positions pos) { Result Detector::getVetoStream(Positions pos) const { // return pimpl->Parallel(&Module::getVetoStream, pos); - return Result res{in_}; + Result res(1); + res[0] = in_; + return res; } void Detector::setVetoStream(defs::EthernetInterface interface, Positions pos) { diff --git a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp index f4f64c1b9..d9db4a2c7 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-gotthard2.cpp @@ -557,27 +557,44 @@ TEST_CASE("vetostream", "[.cmd]") { CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::GOTTHARD2) { - // auto prev_val = det.getNumberofUDPInterfaces().tsquash( - // "inconsistent numinterfaces to test"); - /* { - std::ostringstream oss; - proxy.Call("vetostream", {"sdf"}, -1, PUT, oss); - REQUIRE(oss.str() == "vetostream 2\n"); - } - { - std::ostringstream oss; - proxy.Call("vetostream", {"1"}, -1, PUT, oss); - REQUIRE(oss.str() == "vetostream 1\n"); - } - { - std::ostringstream oss; - proxy.Call("vetostream", {}, -1, GET, oss); - REQUIRE(oss.str() == "vetostream 1\n"); - }*/ - // det.setNumberofUDPInterfaces(prev_val); + auto prev_val = det.getVetoStream(); + { + std::ostringstream oss; + proxy.Call("vetostream", {"none"}, -1, PUT, oss); + REQUIRE(oss.str() == "vetostream none\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {}, -1, GET, oss); + REQUIRE(oss.str() == "vetostream none\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {"3gbe"}, -1, PUT, oss); + REQUIRE(oss.str() == "vetostream 3gbe\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {}, -1, GET, oss); + REQUIRE(oss.str() == "vetostream 3gbe\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {"3gbe", "10gbe"}, -1, PUT, oss); + REQUIRE(oss.str() == "vetostream 3gbe, 10gbe\n"); + } + { + std::ostringstream oss; + proxy.Call("vetostream", {}, -1, GET, oss); + REQUIRE(oss.str() == "vetostream 3gbe, 10gbe\n"); + } + REQUIRE_THROWS(proxy.Call("vetostream", {"3gbe", "none"}, -1, PUT)); + for (int i = 0; i != det.size(); ++i) { + det.setVetoStream(prev_val[i], {i}); + } } else { REQUIRE_THROWS(proxy.Call("vetostream", {}, -1, GET)); - REQUIRE_THROWS(proxy.Call("vetostream", {"1"}, -1, PUT)); + REQUIRE_THROWS(proxy.Call("vetostream", {"none"}, -1, PUT)); } REQUIRE_THROWS(proxy.Call("vetostream", {"dfgd"}, -1, GET)); } diff --git a/slsSupportLib/include/sls/sls_detector_defs.h b/slsSupportLib/include/sls/sls_detector_defs.h index 33eb3dc2e..c6a48a34b 100644 --- a/slsSupportLib/include/sls/sls_detector_defs.h +++ b/slsSupportLib/include/sls/sls_detector_defs.h @@ -405,18 +405,6 @@ typedef struct { ALL = I3GBE | I10GBE }; -#ifdef __cplusplus - inline EthernetInterface operator|(EthernetInterface a, - EthernetInterface b) { - return EthernetInterface(static_cast(a) | - static_cast(b)); - } - - inline bool operator&(EthernetInterface a, EthernetInterface b) { - return (static_cast(a) & static_cast(b)); - } -#endif - #ifdef __cplusplus /** scan structure */ @@ -508,8 +496,18 @@ typedef struct { #ifdef __cplusplus }; +inline slsDetectorDefs::EthernetInterface +operator|(const slsDetectorDefs::EthernetInterface &a, + const slsDetectorDefs::EthernetInterface &b) { + return slsDetectorDefs::EthernetInterface(static_cast(a) | + static_cast(b)); +}; + +inline bool operator&(const slsDetectorDefs::EthernetInterface &a, + const slsDetectorDefs::EthernetInterface &b) { + return (static_cast(a) & static_cast(b)); +}; #endif -; #ifdef __cplusplus struct detParameters { diff --git a/slsSupportLib/src/ToString.cpp b/slsSupportLib/src/ToString.cpp index a8fc869f3..ac046d8f1 100644 --- a/slsSupportLib/src/ToString.cpp +++ b/slsSupportLib/src/ToString.cpp @@ -523,15 +523,15 @@ std::string ToString(const defs::EthernetInterface s) { std::ostringstream os; std::string rs; switch (s) { - case defs::NONE: + case defs::EthernetInterface::NONE: return std::string("none"); default: - if (s & defs::I3GBE) + if (s & defs::EthernetInterface::I3GBE) os << "3gbe, "; - if (s & defs::I10GBE) + if (s & defs::EthernetInterface::I10GBE) os << "10gbe, "; auto rs = os.str(); - rs.erase(rs.end() - 2); + rs.erase(rs.end() - 2, rs.end()); return rs; } } @@ -878,13 +878,14 @@ template <> defs::timingSourceType StringTo(const std::string &s) { template <> defs::EthernetInterface StringTo(const std::string &s) { std::string rs = s; - rs.erase(rs.find(',')); + if (s.find(',') != std::string::npos) + rs.erase(rs.find(',')); if (rs == "none") - return defs::NONE; + return defs::EthernetInterface::NONE; if (rs == "3gbe") - return defs::I3GBE; + return defs::EthernetInterface::I3GBE; if (rs == "10gbe") - return defs::I10GBE; + return defs::EthernetInterface::I10GBE; throw sls::RuntimeError("Unknown EthernetInterface type " + s); } From 780d4bfe0ade9ada1772c785d504d6874bf64b40 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 15 Jul 2021 16:21:17 +0200 Subject: [PATCH 11/15] gotthard2: vetostream (detector: only 3gbe, 10gbe via numudpinterfaces) --- .../gotthard2DetectorServer/RegisterDefs.h | 4 +- .../slsDetectorFunctionList.c | 25 +++++++-- .../include/slsDetectorFunctionList.h | 2 + .../include/slsDetectorServer_funcs.h | 4 +- .../src/slsDetectorServer_funcs.c | 51 +++++++++++++++++++ slsDetectorSoftware/include/sls/Detector.h | 1 - slsDetectorSoftware/src/Detector.cpp | 31 ++++++++--- slsDetectorSoftware/src/Module.cpp | 8 +++ slsDetectorSoftware/src/Module.h | 2 + .../include/sls/sls_detector_funcs.h | 5 ++ 10 files changed, 120 insertions(+), 13 deletions(-) diff --git a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h index d9d7c7315..8f9204c3b 100644 --- a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h @@ -90,7 +90,9 @@ #define CONFIG_VETO_ENBL_OFST (0) #define CONFIG_VETO_ENBL_MSK (0x00000001 << CONFIG_VETO_ENBL_OFST) -#define CONFIG_VETO_CH_10GB_ENBL_OFST (1) +#define CONFIG_VETO_CH_3GB_ENBL_OFST (11) +#define CONFIG_VETO_CH_3GB_ENBL_MSK (0x00000001 << CONFIG_VETO_CH_3GB_ENBL_OFST) +#define CONFIG_VETO_CH_10GB_ENBL_OFST (15) #define CONFIG_VETO_CH_10GB_ENBL_MSK (0x00000001 << CONFIG_VETO_CH_10GB_ENBL_OFST) /* Control RW register */ diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index 21f7baca1..975049e11 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -1581,14 +1581,14 @@ enum timingMode getTiming() { void setNumberofUDPInterfaces(int val) { uint32_t addr = CONFIG_REG; - // 2 interfaces (enable veto) + // 2 rxr interfaces (enable debugging interface) if (val > 1) { - LOG(logINFOBLUE, ("Setting #Interfaces: 2 (10gbps veto streaming)\n")); + LOG(logINFOBLUE, ("Enabling 10GbE (debugging) veto streaming\n")); bus_w(addr, bus_r(addr) | CONFIG_VETO_CH_10GB_ENBL_MSK); } - // 1 interface (disable veto) + // 1 rxr interface (disable debugging interface) else { - LOG(logINFOBLUE, ("Setting #Interfaces: 1 (2.5gbps veto streaming)\n")); + LOG(logINFOBLUE, ("Disabling 10GbE (debugging) veto streaming\n")); bus_w(addr, bus_r(addr) & ~CONFIG_VETO_CH_10GB_ENBL_MSK); } LOG(logDEBUG, ("config reg:0x%x\n", bus_r(addr))); @@ -2578,6 +2578,23 @@ int getVeto() { CONFIG_VETO_ENBL_OFST); } +void setVetoStream(int value) { + uint32_t addr = CONFIG_REG; + + if (value) { + LOG(logINFOBLUE, ("Enabling 3GbE veto streaming\n")); + bus_w(addr, bus_r(addr) | CONFIG_VETO_CH_3GB_ENBL_MSK); + } else { + LOG(logINFOBLUE, ("Disabling 3GbE veto streaming\n")); + bus_w(addr, bus_r(addr) & ~CONFIG_VETO_CH_3GB_ENBL_MSK); + } + LOG(logDEBUG, ("config reg:0x%x\n", bus_r(addr))); +} + +int getVetoStream() { + return ((bus_r(CONFIG_REG) & CONFIG_VETO_CH_3GB_ENBL_MSK) ? 1 : 0); +} + void setBadChannels(int nch, int *channels) { LOG(logINFO, ("Setting %d bad channels\n", nch)); diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h index 84103f61f..72401feed 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h @@ -540,6 +540,8 @@ void setTimingSource(enum timingSourceType value); enum timingSourceType getTimingSource(); void setVeto(int enable); int getVeto(); +void setVetoStream(int value); +int getVetoStream(); void setBadChannels(int nch, int *channels); int *getBadChannels(int *nch); #endif diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h index 62a947254..36a8c96b7 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h @@ -246,4 +246,6 @@ int is_virtual(int); int get_pattern(int); int load_default_pattern(int); int get_all_threshold_energy(int); -int get_master(int); \ No newline at end of file +int get_master(int); +int get_veto_stream(int); +int set_veto_stream(int); \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index e3f8d4126..07abf900b 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -369,6 +369,8 @@ void function_table() { flist[F_LOAD_DEFAULT_PATTERN] = &load_default_pattern; flist[F_GET_ALL_THRESHOLD_ENERGY] = &get_all_threshold_energy; flist[F_GET_MASTER] = &get_master; + flist[F_GET_VETO_STREAM] = &get_veto_stream; + flist[F_SET_VETO_STREAM] = &set_veto_stream; // check if (NUM_DET_FUNCTIONS >= RECEIVER_ENUM_START) { @@ -8406,3 +8408,52 @@ int get_master(int file_des){ #endif return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); } + +int get_veto_stream(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum EthernetInterface retval = NONE; + + LOG(logDEBUG1, ("Getting veto stream\n")); + +#ifndef GOTTHARD2D + functionNotImplemented(); +#else + // get only + retval = getVetoStream(); + LOG(logDEBUG1, ("vetostream retval: %u\n", retval)); +#endif + return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); +} + +int set_veto_stream(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum EthernetInterface arg = 0; + + if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0) + return printSocketReadError(); + LOG(logINFO, ("Setting vetostream: %u\n", (int)arg)); + +#ifndef GOTTHARD2D + functionNotImplemented(); +#else + // only set + if (Server_VerifyLock() == OK) { + + if (arg != 0 && arg != 1) { + ret = FAIL; + sprintf(mess, + "Could not set vetostream 3GbE. Invalid argument %d.\n", + arg); + LOG(logERROR, (mess)); + } else { + setVetoStream(arg); + int retval = getVetoStream(); + LOG(logDEBUG1, ("vetostream retval: %u\n", retval)); + validate(arg, retval, "set veto stream", DEC); + } + } +#endif + return Server_SendResult(file_des, INT32, NULL, 0); +} \ No newline at end of file diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 0e6fe9aee..06993bc85 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1739,7 +1739,6 @@ class Detector { private: std::vector getPortNumbers(int start_port); void updateRxRateCorrections(); - defs::EthernetInterface in_{defs::EthernetInterface::NONE}; }; } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 8acddfe15..3d6c2f410 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -1548,16 +1548,35 @@ void Detector::setVeto(bool enable, Positions pos) { } Result Detector::getVetoStream(Positions pos) const { - // return pimpl->Parallel(&Module::getVetoStream, pos); - Result res(1); - res[0] = in_; + // 3gbe + auto r3 = pimpl->Parallel(&Module::getVetoStream, pos); + // 10gbe (debugging interface) opens 2nd udp interface in receiver + auto r10 = getNumberofUDPInterfaces(); + + Result res(r3.size()); + for (unsigned int i = 0; i < res.size(); ++i) { + res[i] = (r3[i] ? defs::EthernetInterface::I3GBE + : defs::EthernetInterface::NONE); + if (r10[i] == 2) { + res[i] = res[i] | defs::EthernetInterface::I10GBE; + } + } return res; } void Detector::setVetoStream(defs::EthernetInterface interface, Positions pos) { - // pimpl->Parallel(&Module::setVetoStream, pos, enable); - in_ = interface; -} + // 3gbe + bool i3gbe = (interface & defs::EthernetInterface::I3GBE); + pimpl->Parallel(&Module::setVetoStream, pos, i3gbe); + + // 10gbe (debugging interface) opens 2nd udp interface in receiver + int old_numinterfaces = getNumberofUDPInterfaces(pos).tsquash( + "retrieved inconsistent number of udp interfaces"); + int numinterfaces = (interface & defs::EthernetInterface::I10GBE) ? 2 : 1; + if (numinterfaces != old_numinterfaces) { + setNumberofUDPInterfaces(numinterfaces, pos); + } + } Result Detector::getADCConfiguration(const int chipIndex, const int adcIndex, diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index c5a570ea7..c93fca57b 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -1870,6 +1870,14 @@ void Module::setVeto(bool enable) { sendToDetector(F_SET_VETO, static_cast(enable), nullptr); } +bool Module::getVetoStream() const { + return (sendToDetector(F_GET_VETO_STREAM)); +} + +void Module::setVetoStream(const bool value) { + sendToDetector(F_SET_VETO_STREAM, static_cast(value), nullptr); +} + int Module::getADCConfiguration(const int chipIndex, const int adcIndex) const { int args[]{chipIndex, adcIndex}; return sendToDetector(F_GET_ADC_CONFIGURATION, args); diff --git a/slsDetectorSoftware/src/Module.h b/slsDetectorSoftware/src/Module.h index a1c52d0f7..81f6bfee1 100644 --- a/slsDetectorSoftware/src/Module.h +++ b/slsDetectorSoftware/src/Module.h @@ -406,6 +406,8 @@ class Module : public virtual slsDetectorDefs { void setTimingSource(slsDetectorDefs::timingSourceType value); bool getVeto() const; void setVeto(bool enable); + bool getVetoStream() const; + void setVetoStream(const bool value); int getADCConfiguration(const int chipIndex, const int adcIndex) const; void setADCConfiguration(const int chipIndex, const int adcIndex, int value); diff --git a/slsSupportLib/include/sls/sls_detector_funcs.h b/slsSupportLib/include/sls/sls_detector_funcs.h index 9abb18d7f..34a772671 100755 --- a/slsSupportLib/include/sls/sls_detector_funcs.h +++ b/slsSupportLib/include/sls/sls_detector_funcs.h @@ -221,6 +221,8 @@ enum detFuncs { F_LOAD_DEFAULT_PATTERN, F_GET_ALL_THRESHOLD_ENERGY, F_GET_MASTER, + F_GET_VETO_STREAM, + F_SET_VETO_STREAM, NUM_DET_FUNCTIONS, RECEIVER_ENUM_START = 256, /**< detector function should not exceed this @@ -548,6 +550,9 @@ const char* getFunctionNameFromEnum(enum detFuncs func) { case F_LOAD_DEFAULT_PATTERN: return "F_LOAD_DEFAULT_PATTERN"; case F_GET_ALL_THRESHOLD_ENERGY: return "F_GET_ALL_THRESHOLD_ENERGY"; case F_GET_MASTER: return "F_GET_MASTER"; + case F_GET_VETO_STREAM: return "F_GET_VETO_STREAM"; + case F_SET_VETO_STREAM: return "F_SET_VETO_STREAM"; + case NUM_DET_FUNCTIONS: return "NUM_DET_FUNCTIONS"; case RECEIVER_ENUM_START: return "RECEIVER_ENUM_START"; From c3ad736d3c3bb653e7c1d6dcf94d80b75b72ed06 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 15 Jul 2021 16:28:40 +0200 Subject: [PATCH 12/15] binaries in --- .../bin/gotthard2DetectorServer_developer | Bin 0 -> 224960 bytes slsSupportLib/include/sls/versionAPI.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer new file mode 100755 index 0000000000000000000000000000000000000000..e30851e029870211ba218b0d457417549359a08c GIT binary patch literal 224960 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⪻6u{ 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 S8jI*YvN2`s!+A Date: Thu, 15 Jul 2021 17:03:29 +0200 Subject: [PATCH 13/15] fix to ensure numinterfaces is not called for g2 --- slsDetectorSoftware/include/sls/Detector.h | 3 ++- slsDetectorSoftware/src/Detector.cpp | 26 ++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 06993bc85..1c582085e 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1739,6 +1739,7 @@ class Detector { private: std::vector getPortNumbers(int start_port); void updateRxRateCorrections(); + void setNumberofUDPInterfaces_(int n, Positions pos); + Result getNumberofUDPInterfaces_(Positions pos) const; }; - } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 3d6c2f410..114ac15e3 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -746,10 +746,28 @@ Result Detector::getScanErrorMessage(Positions pos) const { // Network Configuration (Detector<->Receiver) Result Detector::getNumberofUDPInterfaces(Positions pos) const { - return pimpl->Parallel(&Module::getNumberofUDPInterfaces, pos); + if (getDetectorType().squash() != defs::JUNGFRAU) { + throw sls::RuntimeError( + "Cannot set number of udp interfaces for this detector."); + } + // also called by vetostream (for gotthard2) + return getNumberofUDPInterfaces_(pos); } void Detector::setNumberofUDPInterfaces(int n, Positions pos) { + if (getDetectorType().squash() != defs::JUNGFRAU) { + throw sls::RuntimeError( + "Cannot set number of udp interfaces for this detector."); + } + // also called by vetostream (for gotthard2) + setNumberofUDPInterfaces_(n, pos); +} + +Result Detector::getNumberofUDPInterfaces_(Positions pos) const { + return pimpl->Parallel(&Module::getNumberofUDPInterfaces, pos); +} + +void Detector::setNumberofUDPInterfaces_(int n, Positions pos) { bool previouslyClientStreaming = pimpl->getDataStreamingToClient(); bool useReceiver = getUseReceiverFlag().squash(false); bool previouslyReceiverStreaming = false; @@ -1551,7 +1569,7 @@ Result Detector::getVetoStream(Positions pos) const { // 3gbe auto r3 = pimpl->Parallel(&Module::getVetoStream, pos); // 10gbe (debugging interface) opens 2nd udp interface in receiver - auto r10 = getNumberofUDPInterfaces(); + auto r10 = getNumberofUDPInterfaces_(pos); Result res(r3.size()); for (unsigned int i = 0; i < res.size(); ++i) { @@ -1570,11 +1588,11 @@ void Detector::setVetoStream(defs::EthernetInterface interface, Positions pos) { pimpl->Parallel(&Module::setVetoStream, pos, i3gbe); // 10gbe (debugging interface) opens 2nd udp interface in receiver - int old_numinterfaces = getNumberofUDPInterfaces(pos).tsquash( + int old_numinterfaces = getNumberofUDPInterfaces_(pos).tsquash( "retrieved inconsistent number of udp interfaces"); int numinterfaces = (interface & defs::EthernetInterface::I10GBE) ? 2 : 1; if (numinterfaces != old_numinterfaces) { - setNumberofUDPInterfaces(numinterfaces, pos); + setNumberofUDPInterfaces_(numinterfaces, pos); } } From 1b348f9b3ada8d605c3ddf4e2d3c1bd5bad08bed Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 15 Jul 2021 21:17:29 +0200 Subject: [PATCH 14/15] binaries in --- .../bin/gotthard2DetectorServer_developer | Bin 0 -> 224960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer new file mode 100755 index 0000000000000000000000000000000000000000..4816705658b699a57f8a1e5fa119dbda37f6a0c5 GIT binary patch literal 224960 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