From afc6f3e2bcabc0a6e7b3251f1bfcb498878d8cba Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 2 Sep 2025 03:06:31 +0100 Subject: [PATCH] Add ARC method 4 Huffman squeezing decompression implementation and tests --- CMakeLists.txt | 3 +- arc/squeeze.c | 148 ++++++++++++++++++++++++++++++++++++++ library.h | 2 + tests/CMakeLists.txt | 7 +- tests/arc/squeeze.cpp | 81 +++++++++++++++++++++ tests/data/arcsqueeze.bin | Bin 0 -> 88044 bytes tests/zoo/lzd.cpp | 2 +- 7 files changed, 238 insertions(+), 5 deletions(-) create mode 100644 arc/squeeze.c create mode 100644 tests/arc/squeeze.cpp create mode 100755 tests/data/arcsqueeze.bin diff --git a/CMakeLists.txt b/CMakeLists.txt index c7f0c41..892a6cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -140,7 +140,8 @@ add_library("Aaru.Compression.Native" SHARED library.c apple_rle.c apple_rle.h a zoo/lzh.h zoo/ar.h zoo/maketbl.c - arc/pack.c) + arc/pack.c + arc/squeeze.c) include(3rdparty/bzip2.cmake) include(3rdparty/flac.cmake) diff --git a/arc/squeeze.c b/arc/squeeze.c new file mode 100644 index 0000000..1ab2d34 --- /dev/null +++ b/arc/squeeze.c @@ -0,0 +1,148 @@ +/* + * This file is part of the Aaru Data Preservation Suite. + * Copyright (c) 2019-2025 Natalia Portillo. + * Copyright © 2018-2019 David Ryskalczyk + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#include +#include +#include +#include "../library.h" + +#define SPEOF 256 // Special end-of-file token. +#define NUMVALS 257 // Number of values in the Huffman tree (256 chars + SPEOF). + +// Node structure for the Huffman decoding tree. +struct nd +{ + int child[2]; // Children of the node. +}; + +// Static variables for the decompression state. +static struct nd nodes[NUMVALS]; // The Huffman tree. +static int numnodes; // Number of nodes in the tree. + +static int bpos; // Bit position in the current byte. +static unsigned char curin; // Current byte being read. + +// Pointers for buffer management. +static const unsigned char *in_buf_ptr; +static size_t in_len_rem; +static unsigned char *out_buf_ptr; +static size_t out_len_rem; + +// Reads a byte from the input buffer. +static int get_byte() +{ + if(in_len_rem == 0) { return EOF; } + in_len_rem--; + return *in_buf_ptr++; +} + +static int arc_decompress_huffman(const unsigned char *in_buf, size_t in_len, unsigned char *out_buf, size_t *out_len) +{ + // Basic validation of pointers. + if(!in_buf || !out_buf || !out_len) { return -1; } + + // Initialize buffer pointers and lengths. + in_buf_ptr = in_buf; + in_len_rem = in_len; + out_buf_ptr = out_buf; + out_len_rem = *out_len; + + bpos = 99; // Force initial read. + + // Read the number of nodes in the Huffman tree. + if(in_len_rem < 2) return -1; + numnodes = get_byte(); + numnodes |= get_byte() << 8; + + if(numnodes < 0 || numnodes >= NUMVALS) + { + return -1; // Invalid tree. + } + + // ARC: initialize for possible empty tree (SPEOF only) + nodes[0].child[0] = -(SPEOF + 1); + nodes[0].child[1] = -(SPEOF + 1); + + // Read the Huffman tree from the input buffer, sign-extend 16-bit values + for(int i = 0; i < numnodes; ++i) + { + if(in_len_rem < 4) return -1; + uint8_t b0 = get_byte(); + uint8_t b1 = get_byte(); + uint8_t b2 = get_byte(); + uint8_t b3 = get_byte(); + nodes[i].child[0] = (int16_t)((b0) | (b1 << 8)); + nodes[i].child[1] = (int16_t)((b2) | (b3 << 8)); + } + + size_t written = 0; + // bpos is already 99 from init + + while(written < *out_len) + { + int i = 0; + // follow bit stream in tree to a leaf + while(i >= 0) + { + if(++bpos > 7) + { + int c = get_byte(); + if(c == EOF) + { + *out_len = written; + return 0; // End of input + } + curin = c; + bpos = 0; + // move a level deeper in tree + i = nodes[i].child[curin & 1]; + } + else { i = nodes[i].child[1 & (curin >>= 1)]; } + } + + // decode fake node index to original data value + int value = -(i + 1); + + if(value == SPEOF) + { + break; // End of data + } + + *out_buf_ptr++ = value; + written++; + } + + *out_len = written; + return 0; +} + +// Decompresses data using Huffman squeezing. +AARU_EXPORT int AARU_CALL arc_decompress_squeeze(const unsigned char *in_buf, size_t in_len, unsigned char *out_buf, + size_t *out_len) +{ + size_t temp_len = *out_len * 2; + unsigned char *temp_buf = malloc(temp_len); + if(!temp_buf) return -1; + + int result = arc_decompress_huffman(in_buf, in_len, temp_buf, &temp_len); + if(result == 0) { result = arc_decompress_pack(temp_buf, temp_len, out_buf, out_len); } + + free(temp_buf); + return result; +} diff --git a/library.h b/library.h index e05e0cf..1949018 100644 --- a/library.h +++ b/library.h @@ -120,5 +120,7 @@ AARU_EXPORT uint64_t AARU_CALL AARU_get_acn_version(); // ARC method 3: Stored with non-repeat packing AARU_EXPORT int AARU_CALL arc_decompress_pack(const unsigned char *in_buf, size_t in_len, unsigned char *out_buf, size_t *out_len); +// ARC method 4: Huffman squeezing +AARU_EXPORT int AARU_CALL arc_decompress_squeeze(const unsigned char *in_buf, size_t in_len, unsigned char *out_buf, size_t *out_len); #endif // AARU_COMPRESSION_NATIVE_LIBRARY_H diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a61ec8b..af9b4d0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -48,10 +48,11 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/alice29.lh5 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/arcpack.bin DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/arcsqueeze.bin + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/) + # 'Google_Tests_run' is the target name # 'test1.cpp tests2.cpp' are source files with tests add_executable(tests_run apple_rle.cpp crc32.c crc32.h adc.cpp bzip2.cpp lzip.cpp lzfse.cpp zstd.cpp lzma.cpp flac.cpp - zoo/lzd.cpp arc/pack.cpp - lh5.cpp - arc/pack.cpp) + zoo/lzd.cpp arc/pack.cpp lh5.cpp arc/squeeze.cpp) target_link_libraries(tests_run gtest gtest_main "Aaru.Compression.Native") diff --git a/tests/arc/squeeze.cpp b/tests/arc/squeeze.cpp new file mode 100644 index 0000000..aee5d58 --- /dev/null +++ b/tests/arc/squeeze.cpp @@ -0,0 +1,81 @@ +/* + * This file is part of the Aaru Data Preservation Suite. + * Copyright (c) 2019-2025 Natalia Portillo. + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#include +#include +#include + +#include "../../library.h" +#include "../crc32.h" +#include "gtest/gtest.h" + +#define EXPECTED_CRC32 0x66007dba + +static const uint8_t *buffer; + +class squeezeFixture : public ::testing::Test +{ +public: + squeezeFixture() + { + // initialization; + // can also be done in SetUp() + } + +protected: + void SetUp() + { + char path[PATH_MAX]; + char filename[PATH_MAX]; + + getcwd(path, PATH_MAX); + snprintf(filename, PATH_MAX, "%s/data/arcsqueeze.bin", path); + + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(88044); + fread((void *)buffer, 1, 88044, file); + fclose(file); + } + + void TearDown() { free((void *)buffer); } + + ~squeezeFixture() + { + // resources cleanup, no exceptions allowed + } + + // shared user data +}; + +TEST_F(squeezeFixture, squeeze) +{ + size_t destLen = 152089; + size_t srcLen = 88044; + auto *outBuf = (uint8_t *)malloc(152089); + + auto err = arc_decompress_squeeze(buffer, srcLen, outBuf, &destLen); + + EXPECT_EQ(err, 0); + EXPECT_EQ(destLen, 152089); + + auto crc = crc32_data(outBuf, 152089); + + free(outBuf); + + EXPECT_EQ(crc, EXPECTED_CRC32); +} \ No newline at end of file diff --git a/tests/data/arcsqueeze.bin b/tests/data/arcsqueeze.bin new file mode 100755 index 0000000000000000000000000000000000000000..23c9fe0e41faf39a1eee395ae904880d9ab745d3 GIT binary patch literal 88044 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ΞJHX4Z$lrDi9jS6hS9<%DAewjaQg_R}D-|IGK!rauQKs=Ka|b2uBn z$NZY$hMlvVHo1R3YV|#EW92&Avv2w|tIx$<*|V^AbH9yd(AR@*H$LuN`^2*~M&q6z zXl5mDkNnx$JH8%Fvd!#kpY{CfmrKS=_SQ=YOkX!4xOeX?{d?ITzws|v{39n{_USjXdAb-+5#x7aYZN;6L_#o+tQy*FMT{eAFU zm0`l?OXkt)pI6>K4_aDw@BXIA6V7~l_Ygcg4mQi=UH(l^kF@IV1;>}!fd@#ee+9li z3ffL5n|+yAXw!tH{0p9e#}nk8C(pC3eUXy4>wI%1coZP+O{vu49@ASZ+$5X%6hZri z{>rRl-(ELq5z*+X0_xvvbVqPAzwk4i=_j%hS=?ew6pnY$zzIA^;+He*;r2~W^Vxi<3nx!-`nR^p?sWiYnP#l#-TSt8z6E&B2leb$ z?p^oH`9nGgqYX5rD?vDE1&XBtwR=t%hUE$w8<>Je}mq)w5OT_PyuhNe` zQS-Y_!uC!{f7jXW?+Yi{nOo=Iw_YZmAAcIO%owyUz=A7JE#>K~y*u8gmHT|Z^S0+# z!hG(#4{GzRe|%fFo*TR_5ws=t8)zrM4?h9M*_+*iJ&tdlRQGoNthUy}B>fy)euZ3i7n|IRE?IL%Cs8 zTi;oHetUjlgy-G+U%pmF^@j(aNK)kuFFRhc!hikjTkre3&T{wE@*NGoGrQsJH~!z} zcD_tmp`mhR&&t|L+quh*{$A*(5n%J6xNSndw&lzt$y@Bp{hMt!6z{laE-dun=x@aq z*I(yWSF$zx-7Id~p?~lD+^=^Qn#q0;ew4Ih+WxgIJ$A3bZUM~{%B%(NY7Xo*Vv|ju ze_nJms3m58V$J6M^%D;Bt-YBE?hp2LT`9hHxaK8jjmZ0U*{IFMIiMwld+k%+ro^4? z*KV6E{r#XWyHeV3mKqg~!$nw2r6YdwZAK%-QpH&$Z3y@qlXyY{9eA#4@0mH?*k9Ac#ipA^Sru)0EHID+dwdZcKUbZ>;)|W@7 z_ogQ7I?r#tC2hH@2YB;LUG&Edi)xSV-OitQc<=Ea>sUa`NB%!p;ZghP9(c0vJ4p3; z&}zor;BMh!JK0O%QIKp<$XIlNTCTGL!QpYgTq5x@Xo1bH{`@Vv^%uCRYaibM1^Tv0 z=27f>)-I`Ek(iL3^9nMH)m_4p69;Ouf;OD+_cdMIw_l>i5gfXp@rvckGe8ST__r1K zwD0Q6x6i*14|mYC{N>M&y07m${$oS-JhQ!^B^Gr@3-UAWzp-?_BmVyQg(XgYz1ay{ z?B7_6XJ79Ael&sSQ5tB%kw5At|F)fLm)t*G(Ee27-BpoI63@)@9!Kc2B@0ZK`U@(O zyW6d*cX4t|Hs34pOg&p)@p*yylQ&1R?7`;-Q+3bAnzAvx8KB@&pKWK-6yw%Lvc2{pKJ`|%Ud)e7_vQNO7cb|{` zezEr^sGy||Po@2|UqIquIxv&phu9s;1+_0Jv(#r4MyLQR^#A#*Lh(vW; zsbw~&WC^6Rc`vN!+pTZkroEqG=jK-X>0a=yk^{es+br+Qn`=AEY1d8JOQ3=gd@90K z6Yp)8@TY6;wr(pV;^l5E2C15tDQMGIrwvlJ zODg5s&EwzoK(?)FcHdRMdJA{u>&0&I{TJ&DeL%hFa>gKr?%MB{8|HCV zzFsS)9ia1MZU3%C_o6Q4f~2B&x^~>>>RXUo?`55gd<;I?!!c%{*G6~o=hLPo3D7-m~< zWAaMd@*XrXlJ~QDalyAG{n6&%_7wiOB$Vn&x`)2AnV0v;kicocjMnr5)3(Zo+sRo?zET=TFh*30UBQ4 zwXv^#(Nepf*O`~wSN+WuJOo}dzH4pEtKTc*=L_U2g7Y+F8!yQIdPrYIbn)M1*>dKx zA8Ok#ZUdiG;1)CgcR=so1BVaDUiNjEQ4{U?U+1lvF6fvFyDt*vchBC^Q@Qe@+y~rN zuI&GKP3yrjX1kQPDQWzdHX8pnSa-fQDC!k+kdxSZ(0oJJ#eXSR4=j9EX)D{aP+TW$ z%Vz6k&*hkBgO=lkd#vVcX#`DP{{hA3KgB7vE1r8LIjyogog4K^Sn3|Mms?x6>QSwn z*NHpN*Qy0ntCpJDFMKHVx9?@&^%?hyz8?gY?0fmzZ*?n7sWok#lLs0w&#y1KRFGT0 zp%>iqS^oF&HsGFR2@wXdT-kN6b(Jr*=z4%m|^Hj^1DZkEf-jFF> zaMJEU`#o+ap}o=n6nNvbYF9lvyLJNq*T!~6P(1xlkY4tDP5VznhPj)Ye@>LXP*7X5 z(c}K~d+863R)Yt+Hfky^cdq(a=W{C;)QtlT65UU1@r}>l208fS`_A*#XYS5>|N3Oz z%hTZDe5X&}__x3KchHbw?#fElzYC{7%|HC*r1x2Wp-+Do@-MWBE6mRlH~PXQxnU>c z!+T+$E=*h{&diqa-^?fcoZTlGwfkY80z7@@?|%N)X;&*-Od&(v;Z~6Xu zmMewMXL;53_tCmI(1M1)y4F?OTX}3jgInx-_WzP<=D1N4qj+b!T$Wu*$4dP)(3X^Y z#oISaZ<~<0*Z)@ik`WYiK|40qUJ=<;@wU3h zyrkwbcp@3J&T;2?|InJ4&F=yWK}{@n_j!k(^v|(X3^foEVORz5YH2aLHd?q)+3#61;zU{HC22bnmPW}a2G~{{TKMquE+=%4g%lG3^?K)ev zTlFI6@^1LQ{+rBTb@`t%xQada2UN=3|M+(P?(I|WT->*?Hgn~E-piH0>sH*lFQyoy z$bQ>m-gOhMZ~seCHPdvvr*M9)Oa+U3$mtxu*9&zP+jbesAG{ z&sF~4LCZZBhUc>9tXno=S=QNG4{aWFe}}KC1x>!r<=KBPr@yT18+fxPN93EY;K9Fn zwzet9(=JOs<2^9tuA%Msp8>oFo-y+?>x*7uX*robWB$^++c+>b2yEE}s?BFK&ik(W zGl8L0sykEe!#_jE&^!HHNg|+X1GE?OXtg%aR`6*?Z?10T+VHbymiupJe&+9>$pSS+ z&`9*oWbFkhZolmUg1%R-c-}qr?(>5-S8iTjeC}6BayR4bi>)O-;FSV=rOhF^?4WUs zofm5+%mc5;^}976%7{{Qe+U{?`G4WF=kNYQ=5J;%xo>EjKBMvNe`_jL#ir@R5nyt1g`u0)Os8p8Ed~ZeX8}NA^ z8&~evb=r}C;@r-c4d11+bgqF~Wp|cC8m(9UJ=*)S;`okC*Ka1DndkfwzH;Zd zN(yvq-@LiDwRZ&7@~c)HGsw%`0!rlDf0g|X7KI)uwOFiWHmDwcV`pDEU;o<71V&Ip z?o>;O4`ftX-!|X=f$aMmCBH#aN?|w7*-b0|o!fD<_*+%9_hQaW?aClf2X9a9@qf`u z6=BKoJfGX7x!$6=>B4s0;EgL(u4k z(`Wxn?Xu67eGW3L+iWw0N)myEXpzKr@=XcdI_`TYtR&>D@Z% zB(){UzY^k?fI7&le?GF+p85OWtXtnf%Q%(^`RL!94cg0R7I?fI5>^-fgiXF%x8i(k zavEqe)9;rPAOUr=d8zyxY1W(;lQO^jvU^wR>c1ak==vuAQ|0i&bAKfo&V}^Izj>a- zl#};Hv=yvIZu`_lOaGbqfY+u}TsGXoI9vSv@^8Cl>9gg;y-`hBr?L#RI-=yi!rA15 zbMm_d^xodzBvpNHpZ^8(H5uvUKKa}3U7xJGWaZy&lm6XFZkYD$@|{gm4QCnOn=^Rk zmZ{Y0y|vd0l3#f2d+#-G`|?(uZ&e@f1sHt?RTrT18+1(mFHYEE|7nTG)ow;+NpM3b zUPn=MGkf>mxIJc5<+j_gE%==N@WCn!HDD3$nb7ZB7ha6`QM zVvrNp&;C<&hG)bjeuEZG1apGdK*?|T@~jdiPu|8?=jZi+&T>!= zISSegzwgHD%^{Zy_wKKd4`puf-95qgi={5;;F#xj{l8u`_v*L(WJ;b7Dh+miGm)2B zyi{;?)c1{Ur!^GWm-Jch+gtJY+|QHMO$)yrSmu1!u-4;MfWB>heapiwe-2J$4=7g5 z>@m8Q@kQ5dP1ak+?BC~@a`-+^{!;t$X8YlzJ>X-cAp7uqP9&V`w%+$wIevY1{i}vX zYtZ>tFXsOe)H)XJomTtKE`7cDVUeN*p@s8HmOquRytJ9`dq7B!xy=UiZ@$<6T&&&< zD)VRGYJKzC@Rt0-9?)DfYwhK$e-apHgIYSQ8K5v1XEp=x;!*y}@-mozMp-au;;rS+ z%C6h-Z+@Jt{`Ms|bw^_EB5m+dbs+u~PPTJ$XT{&MM~RyMezJEZ%jL@7mA17v%KZ+w zdF0C!T2=dyeONl*Zr}5_$9b8}cT36ZBq%>wkezVx)8z-YzjZpk zwJ(`xavW+{i8OS-6qn?Zbp5P*Sxj5wLoO9m{|24;Gts|n$t&OMfBL@hzP)|#o*94X zjGOK)JhCgRHkYcFt_K}1k)JPLdFi>qPvvxfkE_Az5<9N4WZ8#$G`IMGwt3zctGy)m zYUlasuNGh5_r=nuZlm~H|K{(Y_?q`gqwl@Fc2TWxT8zXXKvv%Xc=c zd$ySOhD~PQ`Gr5ae)lq;ec#J`uIi)R%5R|RM0<%?{{HgEiZ2T# zPWkbu_C&&iTc8cR&Y*)s?qt|yOnoL_`QpbC_q_{ijTMW(-TL@8U7k;T`P1!(;53RFn( z-vspy?)?MpHdxIdtq3|*C=msQ~I=gV2lX8reOzb*Hf-*$Y5?e64X35>I|{coG! zW%u$r(OAoTXm4`W_k#>sQU4}Zo0MEDp7CemX7wendLP+k_UV5U+VmTIY$0fE(cODl z`Q<*_x8J(GaK+DeM{mnd;`2%?i$2M`qEaoz@QnZ4Qd9YZF}LcUc+LmyU%dHRcY9>% zw~w~q6GN7oPYd(V-t%K3XzRfH*DsejZ@+!|@wqq3=CaN=z9g+@XSfX79iprP+8xi| z-aQ*MUGePs+usv+7akCQ&+DQ2?&_XLm;Qa(Q`;JHsQ|R8vVMV7#l3}DAMFBy%+0Dd zUhm%ieyT~#mU`)B&-Z9NIWc?P&yxnfIYb|S=Gz*6=i4{NmHh$7X0NlH$J0Lxw7bQ2 zsW1B;Zp*FZXMKg@yR3gT$MwJ79Ji--W#yIf(8o*jcRf=-Y<LR!_D))_-T!#i-gX)9&Tmy}0k#mcK{)le5mEHOHR{w9p`-$WG)?O3+E_~@8==jc~)w=iQ zfws_8Fl^X)l_l#v^eomrv)XqZzm(R!z5gHM%H5H---YtzA|AH#=xc^$lo{c7@ZouPc9C;{TRc)?Q-D zpDGx1;=WYv^CZ{bM}LEM8dSYFHjgL%*CWu8HnNvjA6_;+uD!cmD)t29$~SiLd;C}Z zwTih@a^Oz&tedizZ!5KUpUs!a_;=@dd+qZ(Dk|0f-;Xh-%W73`yuLT9H?j6cY0c%o z%bZne!5%#S+E&)<#LI8q{HEr!_%D5a}&4{A=627569cvjuFQcE;-9mcK`T zg9^~vPj!=~h%MHABJ=HQiE8P+x-y@evX^=NtN**Kp8!4@Zu=jTiunq%TU&Cros+tJ zbW04@`bgR{%ke8cjL{q52xmB7B`K5 zQwlmj_P~;#kR_~AOY+M!vhIDn*Zbz%x6O+t`FZ~}$=xVl=Bg@@XLY6dp0%Nl$Xw9q z7v)(|M=#Ae*F&pZ@*fuy}7YpblYZU&P=DC&qqPCWW@)T zSb~S4Ca}GnE&Iw7=FMII8?G!|QF*-DJTGhi@gGV0;6m@hsbippfcabcelgB$uzudX zJ--aRJly+x{+GU&PaAEgOqjRZ7u14)Oud3e_Bjg;@9d7e9nS+gxek;ywK`vRU9?+Y zt_Ye>unrY<1_BQmQ&XK%6|O9 z?>{H9lR;~W);?MI?4Gc0>G2YM#l`1;J^71BouK;CdYSaRZ+%gF{tEAPvRg3WXmxwu z&zF+VxO-|peyiPA>z|)G1vDaYQq~N#6;JwB_=%M)m-ozqMaonDsKoWZCrUKG4gajj z*=cy=US64b*}jV3T$vLh<#lwwf)>2oR%*$Ho~-%&%~#M#i}SziSS#}OzFB^jc#%gE zOHSS!a2;;P?lUVLbi5XL!_(hs?i-)YIJV%gyT;?mU;cJX@SM2ndEeJd=Zk(fJbzp5 z{yT8vO+RoTHhJHkEjmiT(#qd%6MH$SGYm09sc z-F21S4gS62Eh<&{;+w!`YjsTgwlMredhg4ueG<=h^KIXIm+Q!nN44Rm_7U%sw{P!f zozbH6ttw>hZ^^ye_STA=<8wXRp2cA1KTG-T{UqD7{AO8x-gB4zTcN@!SvKEi`8V+4 zjOQcgE9||I{pQ;@P-|*&lf>r!J0(1Czm;jPxl;2|TGS}BPyb#!58FE1vg+NTdFk>$ zQ`}c&_#fA}R&&Yu;70qB4kAT z1~b?=`yRP>zHh&quX>qjd+Bd?;=PuAhhIFDTQ=dv-t2jMzcl|1ElE#AAg_1XDaIj!BtN{W-O)Z{3x-EbY$Z}rvRyEf&`{JLbDncpQq(>~x4 z@BfBB*RneAC`_FV6+Z8>ny{?!+Q3w$@?_Pk}zRo$IzC0X~R z_nnB5Q^NcCjJx+{OWatrv_<3-|D_AJz2+&TUZ0Vd*E8!fXrc?$B(wuJ=GMO9HG0i_ z>EqGrFr)9D#Y-Twz@TwhSMb7)U$T=YfTkW^80PJowClXP>PyJnx@L93kv(glc>-l-_GPo_ppQq`^%?54X=>8sibpw;^4 z0-nERulacIOM$KvoBIk0dzI4vIX!g1#MvBcP8VfJ6M{oVR z;_DLqZ@WM{A#Bq*ejZ-e*)sdxilevZUzF`J$D_THq19!_Oa3o#KCG&;Bp-S55 zSe`6cQ4HR*XYyt8cjNC8ruR#Zf>!3W%iRDEV*T7AD7DU4e=jGfX885wZ-Vr3|91_H z2cB{MY7@;pec#MJ^do4j`S%|a8#hJpES-6@KKM8@&;Z2b?{`0Xy~^5Gao+10XiNAk zFN3>TOk2OV$9^s`1$F;r4}Jh0H4j>r-p-V>Zi(8GtsI``e=p1ewRz=*w;ZcJWvA6) zSpDvEgZ@3~2|;(>G_&TMlfHcN19S9=Q(t)*WAf#lj5j}DbAJ1KX$kfmzOO4m?OM>- z#lOa|qaeew?%RMfQ&sqhcNL~*!5bzZOItwW z8{i$opq)ncckeLYYt?Bp_z+_n3C_2l@3q*07c;N;SiAV^CH1qQ#eSeAHQ-sL&7jlh zjmmw%!ve1w^zS`irCBZT%=>=H+4!o%b?t4hg`+@YW$xma4EI*pn}_)5v*qx82JH&w z{k`)xyH4%K>x=vHw}3VRiz$M(OI2*VUfl7qx%Ok-hRt?8ec;8l6Muy?WnPxuzqUpC zaZ;^>?B>OGnvx-q(WJt?i)xRnJYh+ecw7Cx@9eUR@q5C1z6sAzYf+i@_fGmZ&~YW3 zmoL879eyISqR0C6glp$#?f+8z+Abid9W>Ev>3qlk-g7(qJ8v6$C)fo9mFKWdIg@c8 zbQJ6FSG$dOg9h^azuEmcQ2pTAq{!RAp|K+RI6na#q3 z!te0go{t014Fm~&s@&~*Vu5K0sIOXUnBeSPYqey%D~GxDgTD)_v>VQP7lJbDz3_Hl zr%m6#Tzby4`O&^F0pN)JzVrO`Z+y)e_upJ7(9PR*{Kq5FO$TmN@2!Xjo#eam`ocVi z!(R{1<21W_j_=1D#V74{-vgYUf!1t*W;$CAxcy!lzy9;L$qyOr+XJdi!P^K!@>w^4 zPZ>M}t~M+aKF`@}S2pa?= ztG_(oQ+qPt{0&*~Hu|&cja(JQcl82e^R~)^4|KyYEy%qM{haAd|e^EN7kY}}i`RgCwKIhG07ZJ*u=lTAd z_x+r?rps1WuDBS#=LcxPkv1tE^o;>^ZN57rl zUp;s0d0M&8{jfG^G4RRG+?gvjM(F=dh`-yLc&DT(^Y_AMXYZc6CwqTtLe5gKHGj=sxlP~Go`ZHmo@+9guvggSz%$SZd61pO zzHfJaH`y=uiMwZS@-BNVGpA>H^$$SJo?i#588%q1{=W0#KG3GCa{}hojy>P2zC^bF z`XXeM*#~Ot?Ytd+`HWqO&H=S*zN784^pCc^xw(-sXWf!@&lWD5&^GDOo4%I;pMB%k zuiyLm&BZ?{L7<}lrQ|cvV&J8qm4APGvvxsONCf}p+c){0yv)xORl~WpHS&rZUT&2$N+@0t-fm#f zDg!<Pr%I{sDe?d)69 zYols5UI!hXwD{{K^VrXzV>BFY)%!#{N&Vh=``)=(^)1I1#{D{Yui#7C#uLM`p6o502k-i>vZqg{Q~Xy&i_?)7rbuQVDs}grl4g=_O|b5?~B_$ z>y1u8&5pe?2Di@Frk%f;{RT9z+rO&O_q)XXsR=@pw%>n!wAwgpUoB|x&Aww^S=?Fk zyU#)AlArv|@^Z!3o!U!4V=jAcyapXz4L+%^y$w{#d+(3C{_hGSv-*r}pd-8&wjY`C zRN~#1KVSCL&i}o~zAFD4+sr$mz2>pS2cGS?cmB4qV(o$@aeLBoz+9`wB|{%%=q`@Qn0_Zm)kkm;LY!mN@CR($V_Yc7}ic_hN6P zqVxK<&K(!4zk$x6v|q>tJ~LwJ;pYK0D=Oa~+q2Rz_f*T4SqH+l*z@u-n0um&!|0rmwod$ z{ll^Ey4Vu-ULs4_wt*Z-`?5%zB#@6*W;}x6VE%QJphQ!H# zo7;W$p5Bt{kAJNJ^$+aR|DIU8|2W7^!> z8v7eZ+uz*C`E}>xTe>lHjc_`8TtF3nYC3oilBpk(zwQ?#?;8IoqessjZo~3cS51I6oh@Gu^$uz`^Up z9PxZ@%illteQ~vt+wkSzgx$8bhjQ|_Pqk^6u)lgkef#FyUM)Nep1pnB_wr~r=$zpj zuN#(vipVnKTQ|Ye1)!Tr!kmt3EZHf|UkYlDg3h>jvr{Q_`_vv^P%v-tdi{?v1T&nX zZc1$C-@cjud9Lc;XL&3+&v>`n-%vL=`?h;3=zyeL!9%jKCl(z4F_Ass^WigmUt>Id z%*#P%nu9EuUbp6=4tUSK)sze1P9ZFf@{4BoCJL$=-EGM_W@{~nVb$_w z6F~ce{e?b(j}8Bk^7iY#w(kedyqjTHIsex)&{#sH(VpaAB_1;;Jih(b{O)n{TQ{3Q zR|lnRpBm$N`0J(X$10NNZ=Tl|xTf;`?7J;?r@`BmwjBC)1GEYcmR)y)_LGU-{=W0P zb=Jpk{GQoS!i=-Q+qU}Zj+e{_)t%t27%e(%JTYgjZ{>$v{{1WD%)1$&HQ>;!3SK`` zw}D;c(*0M9x4InXG(PqkpOJvTgZo(1yzmsixnU`I)y|f#(?c zs-D^J(sJ$dxBodPm{nsBI-SJL!=UZf>5Xx}UYhBuE}39&d-xBiZQUNrJEOt(TLI`? z`=ms^e-xThb?4Z0W@oZd-3kiy7#^_ z?DK`TSbv|fbvp|_J95w8zO&zcgD%!vK4CKG9624x05)WU05noySCfDa4YjMxcQ{-+ z|GfFJ=X_J|K39K#^D^jM+Wa}%DK963ihR&LIiSfRLpjj--0OQk?)e+stIL)%FI!)1 z(sk>EntJ7V0catg`~;y(uP>&{zGCt1&Ahzu z*Xo2rovRI>r(U^gb7jxMB@rI^G6uUriQs0l$(L=D#F^Rhv={!eOF5nv{A~#= zQ^+jr*?m*?lKVTiZ=B#DxvkV<{i_*NXjFlZY7u8P`)t=LV>xp+Xyd&5Jdu@E3FSW? z{VhqhUuaq#{5$(2XlJl~?zRfZ^3DyZ?yK%yk4WC|H!Nz)#r+Z+W?~lI&0%K8-Y8%B z0X|E7`R(O9k7|V39n<)t>vunCOMhm|ygHx7wISD*I39O5y_F$(R(^ujlnHW=oz1^- z`V{|8x)=mXdB6FTbF3cxeSG_^w6v`AHPDD}3}`^?;Iy(GaW^xUC5vS5Tf6k4-KiPJ zPTX5%_DgK>))H;yWU0#@w<9FaVkC3WwRTr#n1RoY17)Ne$0p`M7Rb+Fe;H8pzPeYl zdi9=)-=O`6Zf<)k^0f~>YkR!h8FVgcm~hVFl4wtR>o1$n^P7bvgSsQ<0<3pU*lzbM zcSc_R-LRqq12b}#Hx(gBCE^|!r#?Y;RXp#3Kw z?{&}w$h}`P*xf(0)kb?3y6p{(+w(U}!L8tNZM&e^-Y-0#gAGB8@qG)PJgd52vO@Yo zf$W8-OW%+Fb}T<|5wu)iUUcP~6+gT8+Br$e=b4+Y$*7;S4|KwpoG5q|f3N7a&HXkn z7ryIdzGrw>nte+EXbXF?+!E)Ld*7QbgCy(QUR|5nYwMmIOKNd z&#l|Hb637zdra!?+c%cgvd_A|*VbyqofWU{1r^I{`zs4r@^5UPDgxa*She|P?Y!@k zLz&ZO-PFB3pzw->5_+U^~?UKL@(y9 ze4Xrf{2J)Msl-pq#NSI_-FdTEqwZtff*qiPK7SvqTCg|vM0CFCwHJBwP3xOVqEGU= z=YL!3U$p{ebKe8r-`gfV0)=$?4D-De)!!bR@HYJbx_9L{G@S2NJDb(of;zdDBKJ4U zZ{7*E_g>q}qt(r4Cb+zxe^q?;qc@h$C)%qXKmL75`rF#CHsDmjJ-^=$vz?JR{#{Xg8=R7pTleNw z+`8>$_jTTE6}R7scRs#N4u+&E8Oz^4?iD_}ZN7KMd+;W{!nAT9{cl!h^tCcA7PsvA z8s>ahac<(hFOS|Xwx1!gvWod}b+qSv>9f{fJhh*!?f)rJ6@9Xskr}jZg=4eWdqcaO ze=qq9eM%R+EE5e1=Eb*GXQo~MC#ZFdU4iFL*rz3yb<>>ZgC_L3ezL#3`P!gAYChjf zS*dlP;D%SCpz>ONi`VP5+n;g#&3J#IAXOe*76yTm18Bsex{*=y)?#~$t2b8vd?adg zecrR1$G`Vpv%U7s7u?i);350$^ST>%-elEm;8kEU)Bl@v3N*Cz2--9*SG?Rd!OYbf zbbr;i+IOEpqmJfV>sM_wXYhOrs*U{5!`cexYxh;;JI((JI=<=vs4Bd`RSoK;dFE?Z zz5{i*k1yjZo!{sSYWIRRObDK`$f|v@S3%|C@7jG|grhct7v9YS9n=ddB6{^w0t|13 zgEx`dIwi<&N@l)M^XlrFqmUgA;Hk}mC&@iYqOSiLvgUzWIVer*+e$6JUry+Y;<<6* zFR1P+JifhtL-+iu=9WJJ8+WO5WM2jypwyr64s>(O8_- z(JrKQ%sg7X__8;D=>c(x*(fow_`ad6*9pay;_o9(AJiPUN={|st7^#8s5Ij(zqz0hEt(o?yp3o3FIr>(UG8 z*@pWU9!mmU2&cVr^-oUT>7Yg~XgGNN!-m;%q09|uLHA6mbzavQrtFSe*S&&_uAL}J*?M1Tj;hwd6&Q9!g;^{6ztxa==wXBbJ?58 z-$6@%+baM6DErOnBkUyfI&AV>)-Ex{=!|`jZ*Q)){k6vb9%u|T-ztB9dGbE(gC#3| z?|J#xE`HCp2|FjvxR+6O{EOrD1985e|1n;IjE4gi(7J`);rKGB+iGgp6h$bykh#kU4I|_o%O8E^*d}X zMn_To{n_5q|Dcnr`4>G?pRw(6)yK-;&TLD5JI}SP4O35iuqW0dcxy(h$fxB8f8Tlj zw>PUQs^8q&B&Hj5&Ib>;GM;n^e5&&AhA9&!e+L%^-P=J|ht@W3)c>0xUm8{hI!m^; zu85t7!OW>l-l^-`i}}A!{@(fZ((_x)-*+YL(EnRiyJ}(u>9|- zd$jMmzWDs9cQaZ{WcJ?ta_Rh?_2%Dx z*8G+;eg5|MCH`;AgnUZs`#*v^BQ0}w-$c5CVe@ml_Z0>`M|bvj`+mG?lP7Uvo^gxL z6Y#Q2*=L}e(B?liEKn^qeLw$o_-EhyM~{E~I9LB$RY|nR<=^bmruO-en(CXJ>d8oiV*Xn`urQ?jVoozGw*md@D-z?$3uJUnh<1*8GDdj%U6EXY^_OU~@a23|p zq<@>En4$>2kuC1mLAk9G8-6xi>Hfa-aHVPdp7r~z{S9*K&k1}|Uq9i^%jVdccQdvz zo82sq+f%>k`$NfRdq5L5^LIU$uaK~K5bL3~_jXBr{g-=h+Apkmbo27r6_#=vzU=wC ztbI0UG5gPhRg7j%pT6}sA3NIhtyshEN)6u)A5ekmD0REN+ts_at@iGXFOT+`E{Jpm z2_F?*<2QXfH0yA@88cC!B|k>0R#aV!sL|G9q0 zM@X2Y`-85HQ3D6@wn_v3uXoggzJhKf0o^^cIs8P!+3xSRO^m^V5#b)7P+V+pq40I0 zbjmgM>Z9WC7iTSq^}KuK-_F_{5uZ7DuggxJa5DGSeXiR#-Ot(W^SFBR@?Xn@2U&H; z?mp};f7ku{-RHXpmVnnQ^aUIP9sYD{cWpGMDd^aH*}%8Hph^-n{`bc6b@6;BzHN*y z2c9jRzq@^w`87fCJehpX;gal=YkvRXm>MS+QS))$!iRIezS_-R^U*HcSMqDXMuwAW zirwF@HKd7dE^p_&A(K@H+7x)te&=B}(A|7%RX4x;tbD$fE0PDa6Zg|e(DYpXx4Wx< zJ~Dj=+Q%=xzP9;{)w^Xs1A0Y`-d`{g+)#N*Ccn%yZqIzi+26LO9ln{FBd;e08rrEZ z2w7t1Bni5j?)UR=50g^mD|36cPX!ONfzrSqP@>(w9dz*iy?cJ(A-+w9m;Qm;4)=fG z3o|kUk40{0Gg%F~4w_%qzC2%h;V&-mE~csjACH1}v`Iq}ok#U=j?_D#DQ@W(hM?HE zt<*AmZ}rD->Z;8~o;_ut`pfB?={1R*`(GZ}3MFs&n*|z40T1m+9|c`f`JsF7ygT4s z!a3ETxya31ZnOLB?gSP2`uC!lXNB54_`4LeE@VQcU$W%Bro6kni1&ufsZaeipdQ`5FsGwG4su0GD<>2u_uux~d*k)C zNss&T>wm8CE&pT23kl>Wy0@Zgw@g2O>r3venYMT0_$1zfI!d71AVDW}od-3iox;?Q zs&(>9CQ1E0$hZ>f&iM8Dm(PG!5!>ZYnD9RM1UQX)ZocgWIyDS5CJH`|$nFM*^}cpU z&j?i99K9$nGr?+xe%x=*&CheVBlrAxv~}ga@1Rxif9}}Dta)=Z?#iCyKPI;K&CiS0 zP;C7J9_R<%tXTNjIjSDC%YF9V8?PsS-+3NnxA3DR&djX+_Zd{SUjKK>6m;XQwETVX z_iGu?YVE67e|X_HC63g1UqxHh18UV1_*6sgyI*BUC=UL;Ju~eaXh`?+_Kd~#`wZ&> zJweB1aL(L(eeye-E4=G({ktUnd(QTX-?^$G_rbH-%(ijAW5K=zb!~sLyT57+&z%pN zg3Pqt_a(V^8mRf6D|iUJcLj84Lv4#ui_2PseP#38t$r8muyEg>Y&Ao^@}2ST6YAQX zoGXQl%GX>r>@tmBB{>+#;g1I*LpvgFFAJq5Kg4zE*r0usI(kQ2AZDeV5-?>}pj z_nh~?*Y1^cDlf}E-#$;GBBA{&XbHIfv}9p(&X=Hi_U{7gwmrtXlYjN)Z|?^$R{aQC z$+L9+(!=OJY*sk-`Pi37qD36i@Ak|xKk;N; zmdpp(G4-&<9_Xw!$*TCtM>5jgC3ut)iiLlzsg5mtKO=4rXchO?it4iCDk2j|c$`#L^1#RmA)h-))AA_z}sRUo#l=i*SsMGy4 zxRuwUb8p`jn`)E%8}e?))sNa{`TgF0;SZ>;a5?Zy?s0edJLj^TGOm}kng0b(S-ku4 z&HvJO%j((|qk9?&pD*#7?Y?<+$D?};DqHnMF9mjQzx+?v1hkhJG8Nm{-Z=f{^Y?%z&+s5RHh!$&{b4l3S$ z?!pGw6AMJI$=?6R@z^?kPc7u^dGO$fKv&mC&$G~fXoy3jWXKlIS?`#jc!Q~@Ivm;B+yRVOG+uOQjFS7?g z)-bDkI4!z%T)g{B?MrD}P(($ZyaSqbum1MMG5k^i=-NQgeF-%$1q=8kKAkf*$q@|l zPy`*2;eJ~8)*46qDDV8Qf*^sgZqo%jlXsbxS=`ZE0y=%`QXO>F+iUgr=_{9kv*mj6 z_mL;>fI6iyhPmuH^FW6nec7=#PH{IZ!d7{x=(D?dp{`T2&QAd zp3jUbi3;zw{89dT=XvRl9WR-GgBE!&%aZJ4uW9-CwoEOB@96h()fstJJ8sHeUi>|6 z|F?7Q9B=-nT~GUBy^Md$k7Zes-7`VU4{fs?cW7Ey{|flLrS|g8h5K*325mF5J@)#? zH*x(E#Y$V>)BerhpB?-4qwKfh%LOU>zA#?-V_6OADp&V>Z=3|`Q1Sfcdkwl9aQ^OE zXgFNF zJ<(fjt=E0exc_|d_q6w)d5+!50F4K>Ro>g2e5*wE{=Xo_?(b21Y=4(XZ#c} z{`|u#2GGV-=+U>JWzw0>9zSff))UQR@zzZnUy}{`PY=6?yj%m%D3F#`wg_JMd(uDv)ka) zJuP(KzST9^FD+mBa`sy0KHu6;``#DqHB0@zLIu3qvae>-@gJO}_x4GCeN?+T8i!+4<7{`L zJ#&IY!`Z1J-y-iWe7Ng+_xH6yx`!vudj8erd;6}fDbptSe!rGub=cR~4P z0d)81J`r=_BJkmK^VvUxE+M{o8N7I140PoLvX}3sCxAAuRp-kXSU>n1=y~g35M<(U z+cdY`Yo9F5-^N$5zPblISOQ5T89$r9ym37%zJ7w*mq_r^r!#rll?g&{%=bSYgf6Rc;FHE8FZce%Ju4#kM#U{ve$9dHqfG@ z-*+<7_{H8AZwKA~*2?p{YT~}n_oO#Xt6#F>r>iRO{x2&J|A;G;FU#+R?ofiHSn!BR zHzTutTV?&?S?eGzUxsx7$; zbY^?sdC4@_1IIvf0R&0c-DHEp8g3M>i z3uQQZfX*zns{|z+a5_5vrDh`^=&0lQ^S*m-wa=?+Zv(9naesf-jzRQO(ziK^PoCT5 zPm)-_Y{KOW2kyPeiYeSbBkmVyG_hBty;D&Ic945%ZX4T%oyk_&a*VU9 z*SvkP^ z=J&n|`BiL2ijZ3z`S;EPU$3Da!e|y=^Kstw>W{LQXY+M5oISg)ZNlrnOXI=owVJPW zye^)v-T89cB+%*;_%)fJ4IujtG>E)?v#bn!qmKJpP`_^Sm)djDd;SK12GV@ZWeR`q zS^0O*-=$9H9#%b2`x1Gx+4A=GsbAXT@~s}!v>e!XBO7$a@PANN`8Tan-T8id9B8Z~ z4$@>u`@1*tH zT{%GKZ(X?;mBeG-`;T#@|2_Zn{1xuH_dtPEwekAGdB688zfykA*9la=erTL~*HCtA zT-CjKwXf9Qdz*d;@ca(CLhgBYsjK4NLWf;%--2g1<|!zK@-KL%|E=oup2-W}JFlYeM~ z>vwdzXX##l!SL>d$neisr2Ml$^Su0hprd^mvg%CVXY9Z6+SB+|uHd1+B_8tk^XgX! zW-Xq}nfcD`z%$S#%m(Yu`|8{N{;}_(Rl>`^3m^UX_7XHZ0lwB0)Cpz0@`sJn5;PV9 zy>IiPe2I_#w?)tXE^AK(*#+ujg06$u`_9nLDItE3K4>dK+s}P%-$9FzlT>-9PY3{y zsos13x%cBz_BHD|TYj%R2Ab1>+&Up*6e4rqZm+||Ptl1TzfbR$~qCoL@WL?z)`7rXAUQH)@V=zkRgf zY_SHLO@4hm|IavR2!Z;Q@;?rUZQ8rHBH!tL*^92v3#F@tf33L~zo#NN`AW^@zmrYx z*O}VSZLuzyGjqb>7h6I5Hk(db>w+$Y0Tl}RR}TdCM+tytQl##GJoEbKrwgElL5o=5w>Tz>m}&r#5EU@m8$&-`L_Wvl#F z@G2trhi|S)T+YZfaof!}W8UWLpwR|()|?FRVSAvB_G?v-32d+gU%6&-ocZ3zdm6XG zKX2Wez5UO@K#S^+-)a|IpEtRpb``eX;kZzxqQy z+5BT?<=y7~Zmb0@UVVH!R}pkM+rsaBv-wI*AronWpRM=ZmCM+a&#=r_KkmhK8G8lc zg6C&eKugB?d@mcy6(jeauf1&Af3q31kJ1Mexo-ETChW3bdwjNC_U~?4e$|vqb3rZS z{|iLhCV+B#Sg+IngZDnpJ0^R2Hf-lb+WE-*yfyv#+go!MEuX&c=B~%37FXg}7QR{i z^W-dMv+&E{Mfs~M@9Cv5nD)<}1v;%yedgDs0|!7m?9Ojxhb+Rg*>Ha0kE6ezY@5*c zl7m$DCI=kn!~Fz=WU;VU04@%>Opi%!F`wG1($b==kJFcj1>n?mT#bUiXO9? zHesng|C{dbJQ1Kh3`c(ln0~nPoIS;9i#@15h}$#YtL>)jnZcT_c#7~K#u$_5IHwbWaTf1 z?(Ow!E`sO7E9}`gE1%2!Jvb3GsJB98*>8qRT$xVJzx<+J&f2-&HCIg zsV5ZQ`!_*xS@q+FnG=LJFy_3Qf9rLY-6Vu$C?!7+x`)G;j{>Qi9x*u2yx<}eBtJ$RObz`|Iulw(%+oyg3jRiK|nmJ*+-fe^0 z4RPrP^FBYSv@hIlYW)&))aSONafY}2cYO}f->bZ8E@$QIq7Z4Tnbn~CPb*hk|8)o4 zcDUw#R(HF^Qq}BB8^E`mTl%_xuyj5F4r%LU;_un*Hsr5m%3CCS_gfjLYj5a$q3hX} z^QOyd*MT>4?-vChdHsx!(pLKC4L8<9sS+N z{{}KAa`HppOV48PzG3-Q-$1@dI^gDU%_i^Hl{ZJ@Kt-D~WNpm+>%Y6d@BC)+a@%(B zdgxmZPCPHL{Qy2_Q-5z_{em*JCu>hn0%(u?e1o=Q@h(xuSqtArnc z0u|$*kCmvFf)}nQSKUdI`yjV?0_U$b)-L1f3sFX|1(~Y<>%4!f=5r2wy8Asb#hBCn zpzUVjMoyu3z~>RyE&9fkBL|wHi!#3@E`6Z(T=)Dv{BuoW+QG-Dz1c8t3TTjV#mXp5P2YgPf)c*!Kz#|>hMgrZC!aU(h+;8pcZvxKO-g^!@ za2~Q*^QC8e)wLOXpi?jQ=YkI11Pw#p1>ahCkAFAccKh<*S#qB98_q5?Qp}tMZW4LN zTb{AHa`HpN((j;twY&r98119o{BQVLbuxBY{(^3O!IDsUK_kteub&R= zlX&LbHsjsS+vgYlIF@z=w15FTe4p^~R>*z-OW`Lju`3*Nmi_SW$+xZhigBV20R(>VEaWvi|(- z?{9Ev%)DrquyR7c=Vk4`FP*>p{0;c1leX~OdcLFWoBn*+Q!B64`Lfw|)dbIz3*z3C zuGqZ%H+X4u#l*h1DHT_C-sBbf#QXL)N8{f5MU#X!-T3%#pIpCH`IqWBRV#jOEw{VB zFMk`?hM(JlYI}RXEq`cu?~2}%`UlLj-@OOlAPOoDKrJ0*mTyOYuaMd?OaGoYv)Ol{ zOUYY69qnHQ*1rotXhJLIwRxA3>|!7oKb}d9(a0c%c?( zGl1Rp=1G!o-y9UwI<~q0J!oaI^sVnp{k2l~j&7eC@oyu;<-p=7&?SEXTS2?qK&Kd5 zN#yJ@=c|~NCBEq;OLj2mWNrRq0nb|;?@X`T^>>b93h3r0{kY$t6R(z)DK3}#JxB2! zqrIYD8))AWXmif_+Ivw(ufgloD_?@TkGA>qrO&=`Ty1iG-sbCfe{@V(>ibKL~y zp!Qu48|Q*OsM0g%{g`D~I=H*(uDDM&*Ei?Yb&p-FQ{I_iV^a*W?|K8F)2Rc~^yfSDZ zc*7X`?^mz4zO)qC|6V390+b7ybwB&H?c2^a(|9rXig!cMz8!r71y}3c=Rs?F+}Bof zzBIIJm}UQ5_g>wK=Uz!wEeG~h^ylf^oew^Eb>TXRT*cXZ9kW3vI()ZW@^+g2jZIRs zWxHm{AN#uVWpI8K)!WYoLzUU@^_yvXm)u?`ugRvddongCiAX67M=h3+upTLb|&xra`u`xs5{FUxhMbT zY4B*q6VHjOq*b1@-}`QvfB#z1GM(%-M3uTd=p4FOSc+4 zh_-FJe{D$4yU)t`+x(KJY;@avDQU|zx6>;?gG2K!E&ILaF=)5Y7baKmvVuU1-Jo+e zJb&%`;u-%2yk`ZpnsXET!98oAbX}}_XQ+@8lCy8cl0@*r&*+wd{Jb^d)q5qLIfL%e zu)DF`6?E~3`uo*~msw|hEK^*oW)0dv1zLlewSM)_hp!CYDfhguU9jZb?Q%#jn`7QS zSLwgPpaVjUUx6&MlMVWI2ecUGYA1^roo@Z^^ zm)Mx(X8XMmGyt!A@881bGbbG6cx?S%{&e+;{D-x=^{WrJ{BrvE?Y5Vk;)as{ps8W` zjE}tj;6BBJ6&|&qkOiF`V_s!0GFy6{U5xCpv*3WK<$Vtw$X;Af7Jbs$ebqVXcKvUV ziRaqWaV7r~_J!Q9?lHHSyM4Xu3Bgl49-jPkd11?|>cf-48>wzMeOBKKx^m)=@|42E zm%%$>qFV|;!}#nk1ByU5K!RdK|5$bZ7_8Y z@KKoh-+pa){bQN)-PdxDU!;StO#vr3jg$?%mm^^|9gW*QHJ~=XLTWbn;HvfVIm|y~ zx{$1~&vZV!_!_VOwE29h`MZ)iBO$ve>kFQME&=`?3|0zDTA*zeN4r5IuczZ67q@Sl zbpGy}e@o8JUROEieC5Z0D8a}&n#m}M+u-G5aNWirFT4(J)Ez6dh|M`)- zhVzNUnEA6eSucBj@6LvJzK@prbuC8kZj{{qboui))2;8_H6FLAgOgLilZD4CR`7ei zZ}2U@e@oWKrQantKvuoJa<$3>jlwu*7=Z?C_FiS#w&?H637ew5(;x>hPoA()>UU#% zBlErfxFyv!@4yo}4^DtudhJ!~RG@n{w!fKr*ART-@Gf)kP$<~jvRRiwgKTN({m-^f zeb~l&W6zi3?*X9sR(=mzuM;dUSCq>0U9T=XUSgj8`!95%@ccdJZQ0CXKQ`#cDS|UP zKWIo({QdDya-X6r?mxG)m%ZdIpID;{UBV(VX>Zo=KMB5XX9t3(n!)v=<*(+Wzc=n_ z|08zqyXBD|2e~pQOo-oOUUH2Qe6;B%>t*1LceVQ@o+Z}lZ0G+PGjSDv*ok+K8_x3j zzkLfjmas2se%0a2;2s2Xoz8p3=oR~O>pp>cJl%EeZ~vlbBKdXS zVGi(#%%HI@`AWXY`P!B1RMeKdYP`E}f}PB|@&nKMUOw(KklgU|ivOfbNn2k2+cpVw z5%#;aY5~95f;NE%>JDy`xWDiryyRJY-*B(QGwvSSE5~IMKP`*)T@VJkRI}{cL9+&q z8#bUbiN!C2mg&kQl^y?blm#rbeu6Li8PLG$zBcB(Um?ly32*MMc?-ISsMHjc0^J}- zrmxNE0o^gUFMP9@efh_K7hYS6Xs`S|n-6hP<6>?}nF+i0zXYFad{@5e;y-2Av*Pc0 z=YE|~5?~b1bED>o^}g5>FTXM7-{?=!0}XrF^WFm;I3ay>ucOnxmwPLIgVyndT?LG{e=&$v}exdw7hZQ?eT`T9qCI4mPMK)D@ocw*~@dL{yKlCnspDFk1Zuj>6;Bja8 z0Zf`H6WBmo+82VZ2A6-cyPw(2+~)4tTXp>tzsc`(cTTr$KPkU((uCee`@R%^Kl)oN zZtLHM&DX#~MWCKL;u6q%uauQRB5S8@>wo(4%j>t-KE!RC0KWSZv|jMvC&xSI*J`g6 z_PGsebsd-;yK&vK?(b_-^3;|jSA7Jf^Zl*g_a;|;+}9eOTfeXNydB?-J=flsYV6w2 zZP`}leDcn7JJ8cggbho3fWdbLW4juAcDoo9)bovkTvS{x`vg z?dY4@bVf7%xEJ>=F4V+*3;?MMKk*4P0`~YezbW|On&{fywM`49mVNu=cxN_fuH6}Q zkGLCWjMmL-K>@CngzDW-41jX4gc3A))QArH=G33e*Wiwe{#I@-0pq< zz1e#orO8jI`nYe$d%OGlzDvlLoxQB4=sjEaUfp`_cg}Bj{LPZwYNjt@~QF z;iefY#n=Dca9B-o>J{*9Wb@~N$}aw^3^_XW6XtE#H_h)g>`fE3l@0$Kdv(E5&|QR} zrB(?|Y_i&*6K>VtFTXzdS;c|hpj8ETGx%>Vy#KmO`$^KSS^D>;^FM-|yZzzg-;m__ z%z5C;5x-Bkf9Q9e)e`1=AG;S$ddHja88VLt+B+J;o3jgaIo0Lv?@ya|+yotEP&@y( zO_pIo@lj_^ONFmd+aZ_j*_FS~uxG#1^Xo}1XrdFmFkito|Ndc@RqryOJKA*KEADUo zz7@1&b;LuzYw{}ni<7k?jvC~;lPU&N`zyusLC2kL`|=5K#nlUbr@+q_74KfD z6W{dmb?ITyl?U-}emvR--Xg|-Y2lLjvcHOt&*JwKO_&Utd;=%(yPvk-*u0#-Ebs)R zA_VW0{I~Mhz5_R&2mD#K{<`xeNA)S7!>J^m70-7vIy3u1dM#hMGk7iJ66cfZ+MO>8 z_dX7Mz0}-hgM8lnF1h>HKgi7hZ&?DBzy?FUE zDEaT_6E~j=nym(1zRNwKKk#%g5KW z9Jn{XT;sqp+qXQBo!_8!`19VYSNEjL-}g8Drgm`gvn{Yel66n{`vQ*5e&KoI(bkn8 z|0YN`eV1g&xu>{v$K^}+>^^}mN&I`l`M7z?^O}v}ZndAdUTWsOin&INOJ()=;Qw5z}0h&~|o1fn^KX3ny*Czcnpi{*AYxZW?oq_4I^Z$I}y7!4Wd+k2$ z^fm_76$ri8YVGbz*xx<3qS|XV-1VSy;Qc;#Ob}%H4bqg>{p@hf$GTk`_1SXXeKzUe zbF=DPoP1@=flEH1rPlIGoKNy*?8wud3En*IzuoxNyi3bK_p9Y;%$#kT4n90O! zHf#*Dndc?e9lM+OEn(yJOu3&6KqtV){W+0-NA^<94E;Doh(|#VPQN2-_xxyo&4ugT z)6>8sst-JBTaJO2tkfDNe3t3T*FFi^xW~Qz);!R`8}GZrPXrX!{Qkmpbosi&50`=3 z7rz&N-(d-5NK-k$%v<|F8Qs-^N@z8>iQ4%#CKIxk@F zygU15If=dJJ^JXd&6OKhD(z*1zA4EvLN5O+slT^*`E+)%^9HSF_B!pGv};!S4EZdH z8>imQm6D=)>rJRPlldZCS8qO|^t7`lC6?8xYxR@1HU-A~* zZ#D-F_dQzfTs2|d_hpmfazOKZ{Fk2pdh)I2o~ShR-l1CV^|$hVHY@A*zT7s6-{WeT zVzH{BBIx=U(6ms(rJ(0~mv4CqzDRE4OM$nbgNdenpU|4~uojY#U+p|E{@&eGiuV`4 z$JK8=hzf6`bjLT)zHZR!P5C9s>E9Sv`kQ`BR6mw*4}3RZ{uaK9`RC1#^*|~{@l7v} zNF4Dk`M+T8lgU$$w1j|;=1?hJ!3@6VfxXstE4#oMXh{OCQ)@xn-p=oJ+Lv4fD&wy& zyyp_iyvX;vew@gp@0@LiecP=PUP?Z5Hrg|5{ns~rFF`{caqXaEk8j3jz}tEtL***6B~CZR6hT)#)lF8ob$+kYvZZ#Fppx=N z%FkxyueT(gcYiD0@rO&N#fk= zdsiX!w)x(Q`-fIovs*y(S=HC7*3Rb<+Z<{pXRY3^p^c3NYxJMmw|i;IzZfh;X~i^*R5S{e_{t6Vz*=M6E>3=|6ePQ zi7}hW=YX=fM%~AK2W~)vxA|z_`Pyr8uNq*r<>#YuPMiAQ2ZCz8%b?aEcpSTu!Q9?f zq8gNEfB!i#ISsO&ur)mQyxf+l9N^8pRh2xTtzbLPGv(Mh<^Oc=nw4*8Gz~l=13ub@ zdBxA-Z@WPCELb;eM8@4v9(Kz=M2uj_B;`=@tTBKpwZ&o zpUukt_r70#d)uqedf#8`eLpO(9N72eOM(t0zewG_+5Q=t?w!?Hz0$UTt`!x&3*Lsq z9`Lz;PHj!R){}(2aS3mV}49s>XSA{pd?0r}BkxSBzmzjOf z{-Og8EIAqf#pKR@TX=rgqcnYkZ_B=^JKTXB#eDg}3DL!WWz^(f?L3btqW_k7=-Xbo zlOgv(FXfy;`)%D4@W9pixbvXvocF!#)2s%c>IIrq2W>PG*UsGGBed8z{KSKXE8XI^ zZ-dY3@wm!ft#+g2_p)!!soST*%E#ug%)75aYkS&n-)x6$i2|itYfw~_MxS(6HMHGe zEh6-4X?lO!?+fX%h3`KHZrphuJX8qofXK_t)c;oX(XRYAsHl_fyZ7b>=z5)M=+60< zm7ub)epA*1p3i&cxryuLA8}fR2vz`0;Ps z?ri(La=rNa3BK{`+q)iqt73lKEq_D*-u8KK9$l^J{u&3`VsYZ;Wp8^%Y0xBa*zB}l zG6n+X)lVB5ciaS>^nai`>_l|_*656X6Q6fw{s!fOmRHsKQL|b_Ch@6)mJ!|aKdSZ{ zH2DM>payM-+jH+S?2b=<@K`Wtrxd8`A+yqa*XORAxgd?8Awur;xBdleWH`C(jpG6F z!!_^Bpp)xiv(vKq-ZRVI7k^*;*6?mvk?}3?i4^^uOx5*kw}+SiZqUDXz9Coe(>3?A zUn~<8^1hv7WG=jYJ9Al!$fl#;YCqQTyltDbbN(7Bi!0!@-SRn)e{kMlFk`p5@~3CF zvtlzs*XD3OiH_NOiw-#4`BwI-?ZFX6ybUV7~N3VnlbOV8JS>i&MT;p`vKu)%Yl!sXy%*5iEl_Ng`-toJN@ z+;Dcckk3s>-yU}TI;3A2r7ah>#oiP;Pq8P<`mX(p&qseJ9Z1`E(`x2yzc$ziy>0sX z&HU}%pDp$8g?$R>t%V1Q-_S^37+k|rD zY;QVUJ7(ek?C<6+w;?X!NWF9R-2^+(>1fO=eu|odTn^jRSN$a~XV>%zM}H??U+C8l zYLYa6+4JKOqGEO&5up4{I3JL zW)w884eb_!ThcFY%&e8T{@hMe_iJK|KWN|*vJ%=6~FE7@6&&`yFWnm zyKq|We95nmM2o=r8gzfxf#0+D#id``ZTqXa@8wbMzb}rRdw%=-;-j3iIW5)r6E|Bg zyX@Sv0W|Je@z!19e#v^!B~D9^UEO1UUjniM9MsO`ywrWYuI1z2N8q8@=$3-b&)0mP zvD-F&RU^oJC#GxP=9V4+pEq`H_0O+NIqzo7vr1st06NcAe#!H#@`*KK#I z)<3k}kokqZ`}(p=H;;dBj*}08`|gLW+Wn2?#ofAh-$a7Wx=XO~-;M;gFRVUbAy&-+; z`__4&ThO1{KH2_Z-+aE8prcIlzJYdDzm_cz1K%~s?!MxqZM79>)T&w=Jazy&_pjuD zb)0XpVQ!UX-nR!Kitch&pd}>tF6;y68wFX=;f1-X{IV;nDiiFNUCg*}0^T|H`wkjG z0xciBzWnc{>FnQmGEY;IrRnwytOIXGZ<4TBS=qxPCB zdmb_#cy{=0@Wsc!rS36*Uh(q==)AW*S-)%9%s3-uI}B5fcYz1MwsAbPbF|93o5i%1 zf5Ef!H(xKEpSSCrr);K9slAO@Bg-MWi6=7Rqmr7 zS2MA1cHA#mqP;15`8VJ7?8}wE;gg%U{U^lj`KH|SesA0!C%!FSy{jwh_ZfmKQvdV6 z!D;E9G<(fTws+=`bW{sk_3*uMl2u3<=!VBf%bicj$*g>C_kR68xnsHK%^|4)JXYEN z%hRdOFu~dTFK96F-RI_92Eh$Kf0X?OpFSf$L1+`WTXr9GqBLY|$S!^jd#1r#^~*t^ z%Y*wtWli`A&m@LLfA_V0Kd|i0LBY@4Cbjp4)NbHUlu0U!=9~)ZeS#{$?(h?lx8Baa z1wK#`yq1PPYAI+Y`6cQM629C{rpfkjsKFi*pHy1QOqIYfC^nDk#qy8mG zFY~Ycc&@haer?OD9rF#cf9K@u$3>s0`E9qZoFymj*A?6I;2jV7`O86Paz`buSNG75 z`@OQ-4zx)d)KGi_IxctR-kVwnp6&U2cpcjrNVa|dI`IyqT@4Nsb5MWl)xt+DTVyxv zyl#6;{IJNT0}-I%l!FtW_m$R5T>q#jnRbOSyITG5tuNqO(eFF|G2N_t$$J())?V_c zPQvz%Hn{s0{f1Zee#z0_Ht(MYFwedViVE<+`fRDi&t{)XxbU|-`~qY)%0ZbVmYhX@gLwB;*!ReRRtZDL8n*sHjPY=-lz6NC zuK1dHRQZm}w3pHFLY{6WUqn^g&%`fLApe6BT2slDD!$3_Rik`<=h9>k8;BKdXaVYNsV{`V&_1+s?7-<1PQY z#fshEuUZ}KvtE5XHT-H}z| z??3k%f(s|m9rUoVKH04;JdveLX8N{Sjyv?*e!kdz@A?Nh(DG1unWHr;mYlEsc^!9m?~>tD@p-~K#S;Q%U>?QIY5d31SD{r%%>(0CNx zbW!`>71%iTnk9S@x2+|`5{flIp$S@Q|MOdI%zKU-d%mo!2A8y;JPE!VZ1-DBCbM!M zr!pf621vKREco}rdB4G@kATixC@jzD|F<9+6rQ!kinhn3`*!@z+9$DL=G(W{`|j$2 zZsz=Y(5&IJrO5q{$y>JvgSG~&-SAhY>-~?7;3H!}>udyrPS|I(zFm9`TswY*r6~^0 zC!kdZ&+Y6L^`=2~U4nDQ_ct#Suk3so@HzYap9A1)G$99pxG_pAUNzy5sH(qo?ad4M z38&WmILKrs&(yZ(CG&4ctHAn7G4Gp`0Ur4>A1p=ggU&!uFTVj=!e6s-oyT|nZQI4G zYd7#dsNp+WE>g7S&E%Gv`Q}s3SG~qpXEco9QTlSoF z&;GJ;N|vA72-+mpth@GjM!NgieC?g*5A?zY%+ut-$6DKmn4G*b#nwV8C1}a3qYaJU z%D`un*n%3JCqcKQ$H_4x(kQ60blLa}f8yc2v)-%dzMFHt_TGhk`eilIEd}6}gJ1o= zgSLFPs2pbA_ww~umd%QrL5m;cm}jqBX88-6V)pJdyqA7QmW$H@av6uLc-QuL$R$EG zpkc-S*PHu5+XQU##Ww{WP^;cJsm;DpK9qU3-3Nn$qXp~#PIcaK^XB5pYl;bGm_JMXeN!vcy z+Y-Wa-RW=c3_kExm!O_Of78Qz7xvBHV?H$jJfq9JuR>mQ_U7X=?i$+mSbblrAEyX9 zJzlu>9B6*;--6It>GBJc_B?!Xwr)e{?RcKgtjEB&Z(LT~3vQNewq6F_mRwiKu%Qxs zL9@BkE%97LOoJ!poP1io^urxpAOt_KN3!Z=AI2e#ly56QA$; zaetoFzBAnL(z6&e{IXE%UAx_KbMNovKFjkBXNA6f3qC6hd~WZ0_xYs<#Me(~E)7bU z^y64{)EV&MM}HSMA1*b{+PAlMLni1*boo_oioU85d=|P+T$)QjCv)cRbe(Pb!ae)t zTDzp$E8ZT8`L$Pi=Y3zRzT4yM_B&UzHeJ1UYaPpE&?NMB+p7F;vCp@K-~X#~wIt@f z{yqJ$a-Q#?+i)xVyG#B*65aIr&d+7pd^ch~2AtpizPRny8|EO$s@3k_@1);n7XIEd zeL}!Z@IHr<157z_dyf59I}IwBKm$H;JfHu4eEZG$lH*B{O%k9@s&=63tqb?&*S{=Y zKOugPTiJ2QDKk%ML01O0>ePOe0^ceQ-np4wvum!ch1%5vQ?CSmezUgexeEa_?>;Ue5|JMMmX1RRh<5AEe-wX&lOc!p9oM+Fp{*kK|aL09pt0WY4|J-Jk&f z@$#GKV%;TsH*Ztlp08bbYiDiEWpDc%{L`*qRs+vJEfD>-Yh^9uM8x$w&PSe~XV)$j zv4^u3RHFX}XQLH6!XX3pcHnI|e)F|K6Lx;d$HhT~8T-o{Gi6^Xo18PS2T6l39ExUr zJlpog3_GWzKW<5!PuQ~EnR6y+*IYB-4F)stUJCI}gPixPO!+OcZDY@BH$4KK`}z|U z2(u?9d|qNXFR|{z$tU2O9s@{njC47Ely2*OkXS*l7%(KrWoaucAK5+t+ zvVyv|p9h6`x$2B}g;{0COZq=%?W^eJH@W|1#ZK@rx2US&-LOx$B=W)gML`ue_zDxy zzV*4bGd9;opWM5Cf-}3$foDgpzQ;a?R2I>!kE@TDNLlau@e+J+Ws3X+$OO;J;;nza z?5x|+`~H(M`z{#$Y7@8Y&w+V2?cH{>7C;eYeO$!b~i&quYdPwLry{|P!o zEFe7S=I6gDs)l!yZGQiV^R!>TTr8=0y-`6I`E?L@A;-i00{QF(=dzT-5t2_|d2RhI4Z2X>McP#dO zPWxgdsl^q!=R$tfj?18>e6{aB|69p&`RbmB8TUihMq1B-T+FGR62hBP72c%zyK3{_ zrSo@#$I?J&Jp2!Hod5MgZ>?@!md}P-yD#^04?Ig$X}0{;UH)s_VaJ7I=arvUOxL`Dri_+|I6m&S>--Xvvz~7Wp;kMqxRC@!swOa@3TKH zoD{dAw(sAgxxZ_EbFGxU8?nasyTtm(x92;56yC9LMjB|<<5YG&=>dl> zv-!7cLdhIA?%cSicCg5Qf?LB(dS>| zE`N&Nx^~Khh0?zt)jF45JCpZfO~(GxhO>K;t6rbfJNKsVWuAtae%#|+!9${(@>lR4 zy7T4HUeUH&pbNA_?t(_pryplXC_eCe<`=%%eYcNK^-<(?zca5^N`P^8buDD)V)x#8 zzyFkYfQIXi{yG5Kkn81frAc6eW&ZX*U!YqRyT7k>mcPIHr`YSgY2PkXZwH-GHeoGu z&WfKKvirjK*uP2eIoh8ubHB<%t@+W5a-W-v&+nS`T_T<*_{1{nW&FF_tkpHr`0w7h zyj|k$TIr3ew&rin>e+s8*5cl@tL~XsqkFDh6SCz6H7-EiiFcpxc5k=Wl$_%EsQBKa zxAXUeUn-E@8uyFi_Y%vvK#zNMmk-yr9N1S8f2SN&S>6Uu*MbfgvdY@Ke&ex(-4m?$ z-L?B|kx(4>{$&=ZrT1Rt-CnylQt#$0umJ5`t=%Ae>737rIp90(nrlDKJF|Dzcc?4D z>oex>x!Ighx5KJOTcvu}@gJAmZ>XRBn6l!>qt?31hv(j0zVF8CquKT$Lc&2`cWSF# zxdAy`#@n=3?8uKf+uwthcixn}T-<&Ov;_1%m;SyAd$8?4F7)o@YqwhX4Kir*XzP2! zI?(mJEhRpn1%==tMv;^go1E-iZlUW7T*Hlr1E zgJN*)dWpBc+vV8SEt|0LyUAwo`SVf#CO*z{T4i?wbPD{{nvYVTW0U_KH1jzh`M%cw zev*mQ;$F~!_~P$D&i@_2$i1QRW%u`^wc#g@RY%>io4?ua{=R;*gwN|(KnL+X54$h> zciFc$;C07#tvYePe}1do!Z=%dU&X@vUkcL8j(>Ud_rmIJplj1F*ncoEXa!G}-@Wm> z=HtHiYd}j1FC2FGcJg&Je~*+STixBBmPhkxD^>v8s@qO(u!MbPT|4Xw{W-BHkW9{nJ?us|=7fJv?u{^=1sV*W4{kC2P?9yb1!bn^0X36Ltam4$dY6`4 zFT9u8?7LOI_@yg#pd(~$of6)kS6s$_Ej@L9V!XMTtwmR+UHc=@Ig^V-i$pHxK*u_k zT8KZt1iBgmyme>a-MWxTi)xR5*`m0__u@HFGIQEC@6Ds)`SS(DL7NBcZQn<;->|V- zVti(EvX!LPyzTdQPrPfm7qnCnbTj6L)T5l4)n$k4qTZMMKUqB^yyx3rMQ0yyynWdN zO0wcFcf14*G~F-Wo?m8qE+M7d2Q)sYe{VZqZA~lBrOAEzagVL`%>^}QK>l@>zpw5w ze^zbH?!Om)&r)%-uI4)$erNV7&`vk|8@JX@Rs=OY;=pFVY54B{P9XW)3YFRzMbN<; zN3~N5@7F%I)yVfXjSd*>IjnN=Iy ze}4P>)!YNi_Ra;(bXt7c>5Y_~&sBXZNtP{c+adqv(RNXD25^BK``queyv$LP`OY7^ z#eY@W`bNF#dkLCrD0t3tRN89a%dVLdj@E*j+xDhvH|*|TFK{^UtU2|-mrMED(vxn9 zzvrBFt9!w9uA3G9-M7=f&G~xwBdDBu=lfQ^Y%MRh2&4fR@abe^;tN|J^h1+1~fkN6+#-TWE(=R+;I3ef0OrjD+7JMVltw zDmn07)(w2~2l%>AK3;KMB%^*d>ssFn`vlvn3c3{G-aCf)k7jRQPW!@q6Ku{gu(k4m~< z*WClHk*V6$4QcsQXNwkG?hZeZcpVg3Z+0f#;=55(v%9vr2w|qx6$StJctJkd_{0;p42DF1$|LE2~x?v|)NZlwo9_Dbe=UZvbZ^>us+MSud zYv+A0UeS0KRObA6XJF2G64Ww38Ss(y@TIeMDy40e&Ym9+uPBbMy7%wvyt{^+GePSI zeEBauSo(}}+1vTuTP5CI{j+V8qGkZN=fJ*p!*$=c$ zU*OcTrIk6L{XsPb4ZF@CPy?kL$JHjkPYA0l0UhOf3F1TWkrhb?4lG-e&npp56y{GB;B6_U(6&aVG{^Pb;c$kpxgIgc|yJJWt2JN{iS z1vLJg7;nDr+2YA<*}I?e_Z_-9(`VVzxIN%-f6i09qxLf6d#72lQtOWTg2D>YfPPfm z@o~?+eC>sQUj}^IIlK0gT}g85o47rHFJ^DHUIwoHK3-Pb3K^@5-u?B`ZLeSL7Z1181MVb5Q|GqRw=Q|=|#v|o9%Ct2u{ z%HC`{_xg`@4-7$bb%Mvf?^zjnEiFy|p0wQKYc(w&MKAT_F_`TF9e(i<+`6AX*Er!w>E`-^&yXIx&CVcg4fA{1avg zOp5phTI3bXxvctbi{0y;=b7&nd|}&QnJ*5u#q0b0J@Zv~$}cZt-Uk}-5BSXN`>ngB z(f9kEw>~EVc!R5dD%^?>xl~Zrl=-{z_g?9n;3JIhq|E~z-R4<*rbT8#)#e>{lecUJ z?~qY{fAg~RTIaKm+ZvTyq~D%@#m9U7k(%OE&<&e+o=dal#QkDB_Wfw}y(>D|#s3wu z{>gNKR=sOlPni(r2D+NO;;F&wfa1kJ*Rfody}UT{+O zjC;)aW^i(Tz4QF|_S^Dhvey|BK7+cBN8|MGeO{IpIeYVR;Wtu`)f5*#a|6W#_!iab zi15#e-))%8zTe5+^*=#<$y`u_-dK23#c#XsKhp|#AJ4ddU(vMst-0s>S@Iu_{=W0} z`JUS2+v`7Z&9uI@YD*)OB zWhr^j&=!0w#zis1qShwntv-!8B`uEzq5>g*Zvl{bkC}K*W$k{#U5Fp>iqj!_1!aSL021t_S?p_?_%VgJ^@rE$i4+F39i0i zxVOS^G3cIxUr)};ow@mX=cE~SHv)S1&T^8n{^ox^JGgfKuPP(Yo^QTKOHAz};`|%V zwy!?CG`{$UgWE0)*QQX!)nmE2=2NZ z=673pJlR!0gEliAFW~?2Xs`3~-_ErjQI}`!c)16Bos!CvYR*ij`BQ5hw06(l`gbSj zlJs6Q=KdJP353-_Zd9j zc7M0bzVo?i7k~Tf+F&)%Zk$KAm0Er)u2et!anIkh66OsTLC4MI%Dk`OcUFx6A9(oq zSekjca>D12Z@M-6RHdM$8KHE$^?|TmkzCGyu*HnxU&QOn7iKyI$h%zU#KfX7kzJ0g7G z3}m16ruu5qEdAP#Qg7e(d3u1(5_h*<@^$kweo{e| z*1IMw`^J2(h{wG8Hy1(CZ{>NduFMmtiFSqzRQ%!2_gn6B~lgzMTC;yZyd*k+8 zfAluqC;ao#-^;WQUb**fh8^h0aI4=xxFpNA&dSM!^Z`~@f=lk~lWP_~yD7T3c18K| z>UZCY<7}o(xcphV;dcPzduiXM(%ak$o+TM4D z;1wOwEd?+C9X#oM*8lG|(Af`V)z)A8txm2H*XOdV?2i)2s{$>@TC2YM$DQYgR}|Yv zu=zZHdsF#L6id#Ff5EMD_CU7TzI`jmB>i@}9s8NMH>Da`^Y$*!u)iMnXO7~!32F*H zY&mgz^6x}I<|RS>=#Q5hcD(F+={&#qvM9KHx^@HTsHZ#QT42gwy1u#xI&CJK z;QXC`(=+RRw!%WM+HUh7m}CBCbF$Tp_NtZxeh|GaUZ6t_R!j{9-6{jVf)L!qJ7_4f z@>c@?v4UzwJ@7Fg;-DUF3cuAdb=OsLq0HZRZFF)258kibe{|o)UkQ>1;OQ!Gj|*Hb zZ+N@#I`4LQkWzc-DWsrvzxANg(!YQGlC++g%kt_C{t#x+IsBj%UcaTXdA8Xs}NynSHPNcrPG% z<0kgwo917$ervCk0^I_-Y;*tn?nJvURq@Wp%`XOlck=D~nj(IF-a7Ea{`U3Ho`<;} zcqaE)c!pYwirAYo_r81;3i`eLp<&d&2S`;CWOaJ6Mp)2&(BuO{f^tfD6R6ItFKFrd z_$=&%{yk7Hkm=}K^EW#$o`EdAdCf3;z4`6MbMG2*o~%~edwALEOwfWeP*K=D)g%US z^Q`pW1BXE~w>zt^{W<#kSg)wj_n&Tzv$fN{|2$b8_x|Nk@F4NCix8pt6%4gl*55M^K?dK)_ zZ?{jiEit=$rS4ndfoE)Ic7hgwxmukA9in^^d^ay>_}6X~+q!3`I!qcg4MaCpfa2v|@-H&hV1)o9ZqVa#d^SttRcgdbI#lX{_E?@A!_q@CG!1=Fo zpRU^E+vjIZ+X`Cr<$oUBg8O{uxwv$`ne2x;VX1Y`18P90@`1{S$(%EdTmFELw*)ml zkLPPYJhmg^`on-~!In+=S@k!rW^H1<5mVS2^7&{sc-!sP3hTT3E7nWARX6bE@YMOe z^Zc8manIj6&AP~Yz-|8Tn#DW5Z+JaNzZTT*1>HmR^ATvIBMp4@iJ0P@cCVygcWkeK z4y|K+|Gf9`j^aAdfeClsPQTal?PP$*flI$vzXwH>{M5gXY8y9#8Wo_UiS+Ny23hca zhTRJ*zLQX=W%-)JqCG zv-IVUfI6f8=c}E2k5)yu6udwDu=cUiz&YW=6OX}Ra&quTGC;ySjN_Y>t@7@0% z_!is8x8H95UUFc|>=vE94;%MR`nBy*qU&$V>b(_j{o6r9&hzJe2W1wALTl6adlio* z*?tEd0KIKeJ7|T1+@xKzp2d2^`KwEmp97zF{9Zm|Q#|Od-gV0=H?Ma5uK&#nbbr;3 z$G6YVi~F?%bO%B=<807k^qaDmE9d`qSp_*hejB66rPsP{8G8=gSpAdZSyYS2r{&LU zUo%K&-K%!)Ia>A3xO(Gt@Fj*v(Mh1xs35tR6f*_cQ7E;(Z5h z_{V9@t*rr_6xXQs8{})V)bF6Xyf<-pUY=O>?(ZCSksZR|1MoqVcA=7#<~af#}Co0qp|yNWdHBo51FK{Zzn(Wd7fBe z32x%gzQsS)HofEbquTqCpytuS@0;f9Ut^bJi~IGc_VKZ(7Lg$E6#vDdZnNwQ{nswJ zyWIud-|ZgzveJH9TjS-)afK@@rIy|m3-VC>uORCMTIQK_;6UVO^NW|=-yQP?-G;K$ zoNvb6uuog=tv3YSC;+}$<>+rij}zAEpbJm*h1ksIZoj{~(EKbfx5!?zTTV>V_USt9 zxB@;l?^|(yqi^`-8sxLicb@Oh-+tf4Uw<#>jB~g7e|S3WtCzUGJbCXmiM;dgX0+&p zT`JfMUX2m|=Ig_GsUXVmXF{O}v|y$$jWT$LYlzc_8{&GeZzziraP$?rgWj(;BeA=5QA zr22P69{;z1D|?RLdHeGrU;FL&H>yh>HqMn_$M<;N)?3-V55M_>`V=)A*UhMf3=D#f zN_nTM0-ERw=3J(|@^|59&}}9)>V=!xWiKCR-2U-j(t2sR8$TbJw#@OWs@|Pk^`cEm z;QP@ybDIsHk7m~}gx2ZG1Go zzxG>H@{ZccPvv(eZJB>KMG@3>e$Y+lwiy{K{o6qc9aWyp zz5I#YUHX2WIJ4Q6n#HB!moB_Bv<6L$fEF_6Gc9wDgdDcD{A$W})7j^4KX?0_qLCs| zng_m5#`~X`YM9>lh*vexCMSG_N`5UrKX7hg;yt*@e-uBCXeP3)gQe>C5n)w?t zBKvvg`R%_lbT1ZOa;g4ez3e=%Xz-TJ{AMLa-zR_H>94q5lwbRn{=M>y9p|`tuY2Dw zzXrNn&qh)UoR9vbs2b*;Zz=ID`2uC6C;+kV-GE8QuG z^>g5HbL&t8`O=!r;?;LQ95@HwBeeHox$2Az$nKd-0mf0-WVKf!Xx5_AgYpXS^-w)Z76|4-btvF|e* z=g*_RUmn{hu>rC(8$9@JENtX>nZfM&+xc&5e}K-AG{t)b_S?tnIPYd;BT%Cu{jh?l$3eh)Mg)4Q{< zW_fEGXc1uo_t|`{W&ZaL@0n%JD4bC2y!&|N0dZ!t$iFnX)7%M02sm(Kibh_s4 zdB6NN=oF{4tThe;aC03p%7x)OhXIB0CsCKR4ojTKe?U&|@r5k#q>ZINn);+oUR($=0 z+ouYwCAv+`K!?+AIGSO;;NdTZEXX#77fV2+{h+P8r~0Bm;}ON{t9zWRwlR4<^FD94 z57e(X{5C=7+UmoQURv1wy!}=;QDfbB7vqf==d71Wr%e0)rBRIAvLWj9ebAM|&byDV z{+YBM6quDE7cTFa^?mm1qqptqaaQGrO$H(sOD)mA=BUj1YI0!aj* zIv=uSDY~gmd-wUto;KjVH>3da{LcUE4QS!^@8a$G+Jcj6Yt}z&U&6Ja(lEgok}i~8 z&;I5;@K$bf|D1hCJ3`l<2K9+x6FGfJb|IIZ%e^uHpAZE(5ckZy&2{gjX5YI$`R}Fb z%jK;)fBW*ccQeiwuLgB9=ktNKd2H7=eGfXO#4)YX|1H}Cx$C#f5v;@Y}_8FV{<=4xVfseQ5nlxL_UFL7~JI?&StL6 z*G?=kFaz0fv-le50G+*AhPhQQyA!!2AuXSq%>h^T)Yr_`l|QoekMdX0(JAg%4=A&I z>zZBb@G8LR5M)}#9aKnHUoM~T{4rM*(i;a?cYXgr13dRGy!)8N75S!g#@n|h{aN4x zBS4!kcV_ST(!6x%-q_y<_pEL4>KC}-T2aD1E*2-G;W;pu?=D$8~Q%FJ5h%zWz4ou8QpajJ(%x9uEgi zsD7`!vP&%geB!%qS+KR~{_<}gfv%9QtpPW&RZ?DdU$1z{Uafm?-r*STv!F`n;6!m| zHprk3c&&NW#_R0STWw(rzCrc1b8mq3+c%B|_C?=HRy>zoB{tv0eb@hnE1>EFbTiYv zD-x#mQzqEuYyT|y9RS&-0$OPbx}?E-{^slMa$21)FTZX6IkA0BG3Y!xPy=T91kg>$ zsqA~|C9XeTHXU*ROw{7tf0uY%U9By7WbfJ~=X;-d+uyajBKy|;Xxi^?Si0MPcJSQ0Ym#G3)GP359-u>)xBNLc5qz(0%NPFN=Z@~0bsxOK^|N4B zjlJxp+I#mlf%k6RmizSULvVHMS&*VdOF;v}ph5(6XqM4E7k~Y@-<}h-6s0BZ^Dhur z-){fLT09$cl=>T2@4t(czCyawACD^4#%nz(`5h1*)bBM3R6!}&GP5zvu72E*91J_= z+;{_MFFI%x)Bi%u+0SK)>ecd~V_VyKz>~5TPQCB{%1W)9zE8qn0%-p?=vera_lGmm z&9~Nnviq+2BthDNB`2<`*!&)71$gmWSu^lignd>g*MNqbpYsZRvNnl9N{(s#zy1i! zs{Hn`cIAXL&`Or7kM}abYaZl9SAPC>HtyFpj)y^?edE{rUuu_qmIig{%AbX;1@jXo zPnfrRZtZb#&gp1(D(jqz;1_59Z5=C-na$I|z2EvyN_g4I_o0bLXH1bz$*1iT>$^x1+0^O{8@5&6b zRHs?7#Vp{1g2jb>Zl`COgPRh!^O)XEzI`)S^>6adt=6YO^Mv5623arIKP&zGb!MkN z__*P-o9_1x{J0lZba|ou_dd``cc4jS@Z3b&{HMnRHtbw90X&jf0%=XWdBLwIlD~iL z6VUFQ=U+=eX9%ueHk0$^jJP+Y2Yx$v&b6K8UfZ~Fi~U~qZ`&sQn;?1!y!0BhlThW! z+|Ns;Eb{A5a6L>b_W|95aEJL`{)&x|(=wB9EqW%s_YwF6=fY%As=qcl_D_k2erzb(@~2<^8{o5-zOsk^S<;S~6Z&5M{8oEE zvf(V~dZjm+FaNCpwN~Qxm|uxlBfkFc%b%6iYM^uSFIngOI&k;^Xt~s#8*jh^P79(Z;z(C0H~cQ)5a zq^Y2qdv$UCTdw$@xB70m`s2yppaHIBpq2KY4m@J?mY)ka=K@%PJ*v4EFeWPz#| z&`fAyZB1*)c)d&)Gm z-+eDxE`K|JG>YeY7S~R2hZNMvxcvDMSox0~X|cY>yRWijtzWY48GG$si`~h;N<8#M zH-QXk2A?PK^UhK6_s1_86jWW(2AwDYULPHn30)+1{S$an;a8tN=pfbf^}k^%6Csl_ z%Alj+x*2EpFHL;#Wl8v*%K=6QRf3|+y z@14gFEL)wqZ_CX`Z*PKz?jR$TjArxmu7_#*wIA(5l3!%(kG%8F@Yc=d z5{;eT_a6VT@cWV-C!PL+Z1nN?C6@a|r1!V<)h|g0+NObrTJ<5v6fgVce{b{h+0w7W zgja}8Quti}x?-(b^ST8+Pxn4-!KP-gXUv1sXe75h)<~wzKN85LupT6(n?#SEmZ@#{Kd~eN!wd%V)zJoTI z-C1Y`sxy{9uLTE||9a5EdTU7@Guf=Vw{uJWKLQVyi<5nu2DNO?j_mbT2{1C3aN0`%t1#Xm1OpY2U6`8lU;Z7Ob?f`l?E0#IkN!qTvHAH|9kqSX9e#pkv&`YMb_=;S z{QOdK{L6|R7xz8-E4b>BU0&9=tbN&_tHO*FYxh;WZO?mCxHtbiXd7a?SCZBG@5U1I zFBl{g&u9P4^Lfub?-MbeKJs6_HauN^@VBB!j#cx=E!I8Tp7KW}u0L#Z_|KJlrt-6Y zJrTW>o&Z`@14Dr(;=e0JMBRsMdS{PpTB{68Lv7VX-2e(Une`SNR4)^278 zO*BcIH^{eYEBltDzsvspP4%F!Zr&bO{NKiYh8#F{`u--VYFEgt^{+=;=j&fP`C+O4 zJy^N&#_~0&?%o@>=UB0Zm{C>!x9s+s44!hYr`TNe~v$Jo-Yo#!l?q9oPKBz?b{iHSsIycqzajT)+t39@m zaw|Dg!ov2Y==X;2%kL(ZU6U{s-y|~qo&1~t|5?f38pYzz-uBvL4Vs^_Yk%GNyZG%( zR>Qg$sdzWF_Qh{SQe7-3^)vT7RUS0!kXt zCAZ+CYo5Q0{QTLj61&Rz)>oGC?@ida zC>ONh&w{HBx|w~W3D2B)U%IN-yUzzLod13K-3MW*b8<43?}9z*OMV62odimtS#!<# z;z5@}$L*=LpJtkQp?-st)UEGJ`LEspU58@7*N!`B52!kG*JaBAH_q06c=Wk;U#q*d3f(ZH%Uw13O{jSvEbV`N4=!}>2!PyW@kR|40Mwt9us!~A%R4a-a@EQOuG^q3 zij^-6=N+`z`z>h3Y}qrP?Y?)0#1H8A1kku? z_jhQvFt0A?;d@+t^o`Wzv%P`EQHr4bR?T~l|9JAPcEJ)pSMR%qb3t2QLE*Ub{MO~3 z;U1tdW$Vq)f7fh``z5(4%jQA%_hMVnmdAYUoe#}|z8-YD@ljN06?D}sxV6CdQrUmP z1g)r7kW)QCEmTnJhW%y0Cl*bVYzjVl4#F*O|z8DmEa=7l>;7+ZJ^9`Hd^JY-W2aVB_xZL8oT)t!leGQ=~1PnCZvOkL>mJa_9H^tshP zxA7f4Cf4%ytv|IJjZmjQeHz-ap5NazfWo* zr*6O+G-uz&i9CqWi^z(VPcf*uYUOuim4i28?FtcNCz;nUlJm+5m-BwCd3(P0-bbm)6BZ_I-dk&)rvJ@q z=Ipp%0lj;Zc6@)nn{iit_r*9rsdbYzpGe&O%yA=Sd0?$}3V0%Vwaf;F+06S=TP?t8 z*-;yG`OM4cEf?*b5>Spv%1BK< zexm47L9GvH&FZ@u_ipiJr|HN22GxYiA%`a^@Y=o?Uh*dR{BKyn3~3?wXGmGXVi9R{m z?%kZOVpvQ4CgXc2qnCHa=)W9K?|0)-F6NW0U!GViWkTo#dUWq#q-Nd=iRA$IT;)h^;K;@?>t|t7Eo=U zSLg8>Jh-wMw8;Xr&6y8$>MQsrD$tbt{5|G2Z!3QnMy~`j^7(WcS;u~KZhJg20E)eSxk3(#%8v^8M?JsVm%b|YtOix z|84j(;o7(D^D15mJO=GE2c3lp9a~U0+4C~9T;lDUzLzWW|2_J9;P8Q~dmi2Ev6IOY zzjSzA@jTFx&C~WDwF9?Has>~8_8oxENh;nUcfwAgGEqMucKv;DLiBL$&o#bp-(F!~BKN7S(f9e=;>DHUA_d<1cpU%oa)R6zug#D9 z@|VB(l2HBo%55(>t9i9G{Z$^XL8A;?1f}#QyC`-u&i;LTNps}w`&ExtI`>r1fV3%B zn^-5@@|FDhasp^X<}@gafDclgFLT)Tj5Fj2mMw>%nG0M9rSaeL%5$1u8oaykz@^{H z5AH2a`us?=Xx(=IYx^KgB*$Md@{Hw|g7~d-KnM0hs_v+N3cX(~HjBR$El-;-$9ojy z@|EE-e~)(GERNf=wngfGd*R;vUB`bs+PhVH@!h;bPqbIA)=c?mSH2t4GW58=sQ2I5 zM`isN>nanTFPHiaD*B-9Lr67YLNZA z_MZKhxE*t+RozI0b!NdWOUNOipuy3NknYs)mlIz6bM$}Q_i$ekhxzY2RVybrzi+*r z4r%sp*lU||JPmB(nRhepZC~)7(f;m@Z2#NFuNEdTPV&`{Qv?SVXn73(rO!!a(I=T# zR6^Ps;A95sn`~y!Rn>ntYkvjwptCP~K+#`&DQNzhC1%jd*RY!J=y(1p3E)$O`0j$1 zqHoxH_qp%;@F4xaG5bMBT3T&`>@~@Jl5pqjt$&Y9GghA8uwHsLY(N9lTlDa^x@Uj& zhTYsFR-ooL%>U4W#9Y|u%fqq*&n%CKy#4Lq2^yKlw)fVaHt<-LWVb=ybduIvFt z4QK5&-wcoY;4BuW2ptm4`{o%G)$=X*`a^*YmWTiBaN4mLbY4~bPVk*s=X_2;H>Yns zBEe(^Do$Ds-23n)=|I}O;u5oKt2k$x9It-d02)TC>iQ;od9B(8QBZjiXu9EL zTzpb!IUXCDj$9}OdK@D_X>3e19p(^)y+cDSAm-yXlmeBt?BoV+igTlk9#%9nqIWf!@6%z9b*JLvPj zh2It)y3-!`ylw-}48OFp<0Wxf`+ik1<*chXEcWTCfUeV}8@Ad1zNS@giH9U@(0L^B zOTzC|_Jgi@J-k$O(!A^YzSq7BXgDhxzh^$rjU&1F=M|6L_L5t*vD{~S7-Re%C$-}R z$Hjs?v;`jLs@^PiU6rSOa-MU~_Ngi7MOW@xt5VHpcrUCdTlB+G?UW*(@*Ksr4rr2- zY{Qql+BWIUPNmT8Q}0Bv)_mleDRWph+C#B*$xJ>~e%brilee6=+vjeZ)%Ym#^YY#c z1v6FTUO{f5X$1xEY36Dp|F&`;{dcqGpLt^`vcCe7^Vcnj(|WSD|K_>Us9CL`gR0)E zTO9!(oHy%bXnxiCxK-wRFJG!T{^i*5@Bdav34FSC{7ns;%;DU8@kwpYR`0uInPe=_fBX^(QfcDq#70dtMvPDesWo7=PxIKTfW|{AnlINZMVn*Da<6rmvHHiNeR(ibP z_U+as&yR|~thn;)!s9ggoGTxF=f4ox%CTY zVbk-jkh@`%Y}>&Lgt&e@68&`Tc+W}0I~!Z~d^Ow-O0Td;wmec1?fETc;;P$T5M7X@ z@nmhkJ&yBlxN*;~_7j&RasvQd=pCG>?z&3O;q3g+-~LK8R2+WGZ-z2PVqRU~ z;N@YEuf6ct_hRw*J;#>EosBvJu@pR%eg5WaP@}iCM*zI_puXTqbMJ=7zgL3SRDli; zUj}N#`Urte$Oer|AOC)oJN86T$L9w9xEJPAM9zN$?bhGAav%5<4*9Yqo@J1AmF+^S z-hW;P-qU#W_Xgo)*xC!|s>7FDl04RiY@c^dn(@xi?)%B`%izJGyPx{Iu5@3o>)sY7 z|Mn>N-=_l0C%|mF_ec3J5hdU+Zxh+Vej4>x98j1 zo}{yey&v7?J8uL{e>6wle(oK=$G`7kRGrkXM_cb_?A?*w2d;>>|1k+U@o4M$d2v;j zllRzbnVrA8?T^WqquKi}R(*7;w>(mLIbAm3#G}?aXU~sYz%r1-DAHaZ&5rTB3m%zz z1DbaL_rMiwt=aM*S51J@A>=5{x6IeR&1Jn2@eh25GlRK!(JNk|Pqhn{fQ#mz3BJ%h z4ShBxHMu?8r``ddTedO0%phO8vgH7HVCf^*P0&!o#ZTJv zyV*ws|E~MQb@RuMdE4(7J_FrvGVl7bUv`@BiZ%WzR7o)8Z0fJsAXrud?$93$TzPFz z@~@P;l}(wyL4%l!VScUIxUS;B@5}E3P87BlY-Zp4e)1!`_D8>q+n926_J_{8ANGkM z3v%bdw#2G)ao_jp$Ng?wzIRq~Flb{&EgQ(cL3dXF1l@tD_;P{pDe!?HOBNPBm%Uv6 z7?M>%BirD{!^hfoL9@NpAIlUEN>m+8a-IE7zGRF2&St}!6)K?3C*H}s);>838FqZo z@l#N%c0;%Rz2`ivH&Q@@X`r#i=WB{V@jL7M_Vp7sD;xv$Zel(j{k`%=3V&a~%QugI zznl>F>(SqU-vNnvWwWBUTZ zx6f~@WnD7N_I`QuxSH)TsG95r9|sTV0B~8#3f;Bu_$Bk~Udu_)G9Q~gRFt`pHKa$_F2y}^B!28#Rx4`iWy1MDX-=#ak;mbq7ZEEOhuC3tI2_H^<`S0MI zw{H^eMuI z?cSMq|MHKdiTgJ1t=+(@z+`5=TS~vJ(%G8HOj7kpi3cdHfF}6Bt=(PqpgkT}Y+jwb zW6pJ>=0W0vrB1i3v#X1&eZ=4R_hJey{R)iL>X&KUcu(Y(L6eN|T=eDp3j#`0`IJ z$^T{tKA}%kx4!#rzd?54@0xwJ_IL8~A})$u%3_Mv@Ax?Rd+#;x_&xGf>p?4Sw(oym zu$N&r`%8(Vv+}buxAYq=Gc;0+zUp>AY0I>{)D)j&sZ43@#h_*Or{iw73oQN)S}^)M zrh3+Q3HeowH#lYD7&A2fLc&WV>aj+YqiNv^v8 zuxf5vS6$1om(e}n!sJtzJiTb=wc77~(w55-lTD*<-`Y0q*oll~pzGM6Wj1*7Mc1VM zBcz|0?SFgyj_-|=K)1J4B&^@@-a1BK@$tEp7MUwS%@5FI+C_Ppos7KK!PiIKs0Pix zfHv9aPMM%JO1UMS)YFG{fAYuTA()d?@C+S?>|>M%~CnG`sbs+ zGfE7ye@FYm1NDCFpj%o!?C4cWsovpLaiN({274 zWx~*F4-EN(z8J*skq_qpEeEz&lRb0G?w9+y*S2#HR@^eEy6gk?kfQw#~&?k>h^c>^>6u2OhFujB@ej(vag`5zPWCE3fX*E=qn^m8T4SSELgsWAgR5lFC|QXIXdc+@{}bElUtg*&$$&SY`SO2nc>dODQ}V2v#YeZu zZm^tDzNMRS_H(bKUm0udqP)}P`Na7v?5ife`?&MAQ`O@JaAE}43+^0mK&znJe{D1B z;oE^_x^V*AduR7m`_}R-W|jjVP6C}4KX1pqDEDXc+N;`j?MaH=-*>FNa(w%F@U2qp z?yjIC1=45e-?cRR3SY+Yx8Qe6>xu4OIG}R1S&e)trj|bZ1C?>Oh{e`$`=0ZCcoI1%=;~3^cCr%q}qi274tVA zt2IoReAm!c%WQVsuL-iVYd>;Xf~HA82T0X#*jjb;dBC4Xwt3oLKfVR8hy^d1cyArE z-j_Z31#7ox?k*>`g?2aC3g$hV$X|QTSN=x&jQl;zT_J0BL5IJA&XWGLPrtTlW%Jg} z;@X)%CVzi+?3YR{|JN8#AE&Aw{;M~h$8J3NZU*>hPf`Ag`md&Jf*XGBaN1FF`!;AN z(s3J$PYciQe98Qq=X3A(Ei>*K-u)nVV~TD2BkgzB?}75uXR%rPE9|}GK&}7nZOI?M zJ-_{ZGU$*k{zUNL*`BX~*01FEZmSm-(Ky%M#p+>p_qlIx;Ac>O($e<*+J_N){w|gJ zA+XK%O$w+$UiN#(+`EQ%Bi4fqFV^NMjNc=#+Mn*Pe@}fz&HVOR^WW62e+D|<`m_?b zM;cf2v5w>So#(d4W;YmA27i0>SEKUGyU+g`wbH=d^N&9n61u*%-{xI$>&qp6Q=Xi? z7543`JiC(n2F0gc|nrm;bnANaLx)r8H^fs<{;ir;(I zKIx4sd{e(<#m~mt%eyBWt#(eg4KX>%k`o8H$@TA^d*J&>>nHThy$QL=sl`h^=jylP zUq9}h1znc_9>u)$S9bCQP*lJB+;y>T<-Shv9>Xkf=c(ED*z@17zR7N__zfBvL@QvA zFN@pbv<)<1R!m=4>t!xe-}{Km)A^*q;-BDwgR(^!9{DnSEW)^!>vkr7zO!`W`<6@t#9iP)S>EYFyk9Ehz8E3x%AM{%x<<+(Yl;$o6 z810#*fA9SdrG&|~8~nI@g#4XPP6#^@Ex&bfl=|DZt60@KmoL0^Z=KZ=(NEXh->$gk zS-m@}(eqK}if!9h^JRi+35Yz%nEdMB+qQ$v;;ekVxGd!Lk^?G+zZ2$)%ut!vHc4?U zXnW%fcK59?d%kTy^y|X!bF**dA9@1HL!Ynh+IVy8{fqm=^6Q&UCWETCywmGxyirrZU8hHAtbZh6gN7`<`v+7{(F314~%*Kwgb$fqwUEDWIe$8a2$ww{+ z7|BFa+ecfrZ$C9F*{U~iO(rjB+1dYu(`)9QseatB<;r0`*r+*Zy)C?3aeiLQmT6~x zB}g|xTNTyky1%#I-8YN>(&v3v6-%D6-)2w(4g1XeZL|J+$pP{A!e<~uYxNtziv&>( zPSxjUFatH_K`Vma%rH`1cy3AgjS|zdZ!AT$S3c(hr_x7%!57l{A3X*d^S{7Vz1OP3 z1~elB+BG6?b#2-2KTm4QW&VOrTLve5ks!lc<#T?1^W_H}SvGOnuH>rnnveIsMBd)~ zoTo59099*ml?Hh@!!4iX5n|f+3S8h`n%x$wzT*+rQjuD-PcdV?QxQlmUX_C zVSjy|8oa@CDIhmLTo$w|YWv>W+qcVW1UH;)0hPI{Kxa?SKqS9uLO~vit$V%(x}Vm) zwZ_pt%3HovUNGoHw7hX-qHXV`9s2h!SFg8(UU0mx6tpTM+P~~$*1n@v>wnh#u3L9~ z8R!Ja{X4YZ6~~Ees(4%d-e4bSzruI(+P!jRXD`>DGi58hT)SXN+#a{;-N%2d+`DW- z7HInd|AOU}$G;r>wPq${zZ-PdaN>h3yD#(9Vimi;gHA+!ZfAemkkJgZIuUfZ^nvy_ z4aT4;7XMz(ZSjF8zD}@LeCvH*;QdRUV=u~mj(`34sP;9(?B{mzd$u16_&u%0py3qg z68e9yj!5Lme(0($^SLQ|`LFRCsmE9UT&O;AEJ^mmQSBvS`P=^}|9JHGN7-+-B_iLm z_EpGhz5IIT`Crf#!NnT;?5py_POwZ~|Lk=2*~tqZf%dv*+pl6Xt9>PXb;{lwuLI0& z-riPf(Oz z-pAT0H?DVonJZa3%kSQEyY zP}_cf)|=07e=~kDF}AX`_~hBEU%OB`Q6dm_HVo{U9}Opd;iKm@Z#)n&?PkOZQ8f=uf91N2kOt< z`6IaM(Y{8x=T~j=_nZG_$ouz5^b+Xm%q+QAao;6$>$%UC*HnL7uyx7px5tz~&A4>= z`|3yc!fyQqwUu91#{WF_aqre8+4IkDe{Xy2xhxm>-Wp~j#arQjdg82go!HiHxW4y2 z=menyX*sVz=?J{b^W{?gd*Bjl%OA(8xaboXCa&7t{~mnkz*6~1RhMM)^HU-Db3LEj z%AW_#Sintv$Evv5uYN18WXhRma$H>h%VKG3&~z=hy?S2qS;6mR%v?7?s|*~2f1myO z@6lHKNKYU0t>)4CagUo#x4s8&zSvjMx`s~Eq1z4R z=8D|IKlRI^rJ&Oi^JNo0E3VX@msrPVuEYQMob@vIs|VB+WuqBYjc>j8GDrp8P`7td z)wy4Ho}W&J+)xEtGX*{%%J~v$%j?aQU#JaZDcI=OlIr+k^d z&+M47#5DUGWi18y6Q(@cSFy0(ZT;Mk9{D$ntukv?*2eDvMNXyceLwHL5uS%ZCu@R6 z1LRpjg@HWUN`zqn?Elx?rgi)uRA`VxfQz*q051uQpE4eJ z7T{F%ZX0O1I?Ky|`BkeqTN*R=-*|oW_rfgDStQ%1mAqZ9d8K&1Qy*8-nYcaj!ds42 zFS_guo+_(ISij_5Y5zyd>bbVH8x~4co3^${{S5}4aeSVId&AD-74jM@K}Rag{l4@3 zYXzsxFPEOTzQQ%r`J?D}wS>)omwgj||N9*1u6XtBpv_Z;XP(=we|CKPZ6~)CUDZbB zyU#n@u8VZv`_Q)FsQCMI$dx+>#cta!dsAz>x8i-G$1-sZ@FBlPe_vw+FI;y&D1Nx+ z<2^3tx6z*tGQ4Wu@w5B)JNAp|XSMfL#LtyDycTp|&ZDEC1OJwZzi+?iY$o>F_>EL@ z+3_#?=Dqv8?AVH*OTd%2+wGn~&!~i48~OXm-iMj?S8q)JK5OQL?RvM9_B{GKS>o6? z_3baYDqpW{n+L8ESA!1;FS~dC(hmJ=JN4h28Y||tsmccU9}AlD}70)t|WJC@KzZB_@;zJSiu zTx)OzY+8%Vk+bo4%I!Psvg1A;{SB&wQ_Foo3#-F}ZZ@xNvhzM6!&UAFYSq_S2$wZ+_Eb^`8BICTlOy+coRN9np^F# z3$y{XCB@(4Dk!jo1=R9)CGNjA|MMgFdB6X}teJfaQrtjSZ*T5@585dJ9adP&oTF2J zflJ@caTn+$VzUPDA;gf|?CZhTPQxyBf*kP=itA;@66`vnn?Oy9sdsl@bjfu+vG}w7Pi>#PQFanzX5;&MC*5uC_sfdll^xr-&fGfs2)u;j z9!Smh5Bop`db7!bsUUI49f06l%|JPtKk8+`@1*tWXAMEK9kL0Z!BYc!w=TI2K5X>b zq&)7O_j3BbeO|ZKf7WB$W8&ZMs;{3LUh~oEe@~qCX6t3*`dlwT%h9FO55MVqSu4zG z4!!jLZ%T*YhMDC)@_KEMqXphK?w$24SM~23&=&aZd>ej(_9%Yb*BYL?9kha8X60d* zRe21E+dIoZ!=R2*OA9B0Qd?=m+3iyetR!Y{5`PK0i|J@}w&(WE&(}CHohw?CasR`X z@6y>B5zKqmIY z0}j)D?nn2|GJliZH?6+K=w15yTi}_T{EfBo;B&6|J!3!a`CGgru~MQOdX{zMJ;vG9 zdn;OV9){lD{Cti6rNYbYa^L%2sx3*&o(!@$Av>`qU;E|#LXYl;ka;;!Q}_ks+%vly zkG~bF8t*PsbYCHH-frLasWqUjN1%4GeR~vWeh{?Qkmcoyub_?G-3uqZJG-x9zVpL# zpfhnx>hH0aML7AfZDyD~JGNK*o$uAEm!RZqTMepD)OXk^-uhnkk?SVp9An1w2J%|7 zQkouB+BfX7ugd@Ce4_xgV^DJ0gspOu9x|q{T@LEeFId04?D!Qsh0xoe#ZsVS@2dAo zJmWPLdz~wIXz$LA@8s|2*{jG-IdlH#OV+NN#cdN>WhPzQqLycszkh$Aum9_hEZmRO z-}CxctA3rcm+$Kx^}EPhiGMB2{`X?<&ANOUgWaHwX`tOPapnup|9T>76fSgm_FB;H zu*biCfSb{#zu1?o`>}Ij5@>%_cHJkgnPx3pUM_u~ZSkP^-ac@{^ZDYW;`yLUXlnPZ zmNMVUeG=?!cK3OQpWODEr`^f9^4FGGZ?>h`Uv&bXw|^XTE7)w?^xAj9CpbeJ&K5?m z1f9nC@4*S@nbh;r)SV|&9-lU z9g@4u?%HQ)S2CE2UkY>jS_?8UZWSob|0~E^gZ4W;@xA^h?)&$zD_=D4kgo#orHtDn z4>DLURhTTz0OS&TvR_V^JjDA{<=NU3N$MI5Omv^3Y)?$C#z-cvCr?6$lm{V zN&G!%ImeQ{v-Iz^dsTr7hy3o3M-Ac=-hj7nR(vbD^YLwe_O+`f_NT2O%k_2lWL1|P zpK>?K=(Sxu#NKy@*A?f1D{t-JPyT{7nFfJc8{e~L3FOTO?F$Os`^VCjKp$M#jo zCxSLyb6GOZe*3vW|DOB&uK|X4;-Eb(rw7~Lh?2N}+v``k%%!9qpc{%`Gt34b$7O9MyJ)WMioePs zJ?ZlCin*%y!^~8+YF3|%-t%{x(5m-^pvk4T?z-U30tGEb@8nl~lkS6W>OQvuTv2@E z-&S~ruR?s&FR5mZ8#SQQ>koofI85BEzT{PNF2}tM@vq;$T~R9k;>W%D@7Y?e{9F0< zZQo1FYTNcl;_umOZMRx4`^LEP*1xpX472@f4HK$&Ckt(=h__5oU;=NHih^Elcz;Lgx2%TUp1^)10(@A+753W}b|4e8Z9zrv!_eEH0WWa*@jwH-Vnmyr$K}AY z=3Iv7#TxtO&zlC?;d>8MaDuk$N4N0wE!;kJkIe@2Z_B>@7Cu;T{9p9y@Fn1?yf5I` zU+1fJhhfDYWI3YjW!|}8lMbYDMS?DC-Zgvc-=lGF-*#QB`v|>L?r(_)WQpg&iRvC6 zqPn1w?0e32-0!O)RlMwnf6LZipZO&(8svjZ3!iWbK`#V&2q`+)-RFtDb%tIRxp7bX zAF+F&6-f0Pj@s!SI_I1UnxOu;ue5>puD!(d!?qiBH9;=k)yE_>UT^FITxsLH%(cg1_^ zJ9~w%uxmd3yEnXCakRnr+d(EX^V(~*$L=l!<;w)n{V;E)2J(w?PXOI2&>Eh5UQVXc z<5h6)-i5XHFJ7;V^?($F;9=)K&5M=3&e=Op0e0(}|Mug{z&BHYDxdep8=&Xy>;OSfX>6s z*A^@SRRC(BV6eA+&pYFGtpMn{^WVYO9~NAee3osia@cwq|F5d7a-X-%L0fHwFB#g# zuTekyu`B!zdjV)Cx5ndt3$yk=L~h8epU|8u11iqhUj{gR-CJL?`|rZ6|1#^?x23~k zp%)Y+Vz<9{Rh!1|$>(@b^;=-p&k5zfm%ZtGx$}H;Vh+>#-fa^m^R(AKzw@Q>@1wo5 z)LL#ozgh!o$e;dnc}woT8?O!S@2&V9>+x;gylnrQ?(>{`wof|)9-{tn>9*IoS)dzl z)Q^Jhzx;M{@&r&V(BAjh&i;d1^*Mo0+-7rm-h)npTJpnEq&|#2M=e&7(L0{!^U>^j zHwiw_ar^=YzJ60Qxmjs@x5Z9-H)w6-^63*&R#a$k&jlsHzJO!1U%XVl@}utEqwc-) zM9je_E`#>sfDYD>y6?Yt)>e&_cz^bqk8FmJZ&q*O+3LIPhhL=ReVe2Bt+2i zAd=B$yJwR zjJ-~PC-lTY=b=K11Dld1uX^Ra27Z1EsZ8=8hTeYp@1WqR9gn)dr-i(|S@Z-{@5aOLLb0X4_L2lh<>4`YGOWiYG;^?-j@fi8sWH+Y>@$7FUJe2fF= zR^c6g-QXPnHBh92+JN?x? z?#!>B4$MoOcm48Jll4o~mYfBZ?fzvS=UrMhJq~=ZXSJy>$98{E>%AMCn~LX$2ZetY zmRbkeqoE(Cc-2Jl&c6UppZsm08UCQRVxVO%y45}U_a1KxI=`^sIruKM?(d*Byc5^Y z%b(@8Pp#r>wSEq2dw@@HTKO};G~s9F2fHu#5Dy99Xt8#Fc*&HcDK+Vg*(a}*DB@)YVW_RI~+p^(Vn4`l{<;$`K1s{_wKORK>< z58qbrt;la(_)Yg`0>f0>^uHw@?0dK+O+k|!ptBPocL#mrHF}+R-SRf*>XPqYbloy+ z+7HdW3|Xnjgmjynt48FTH%!-DEE=X6)_H5eeH4uFQsC+u6_UIudukGNU`lagK=LXO@*p7zPn?oDUc88w;_ptVP9QO?mx+xp{ zt?@7D+*j~M%i`6KmZ_f&^vIVnsQzdd!aK*-7IGdWWFv9b@$L5+e89H}fU~kbe{9WbD4rgOF$<;NXy-*JiKpZZKds9=QvRR z`akICyYF0;ml1eBhUpkw_&Q_V75 z<>x>%@d@&Z8)i;8_zg6)cHQpx52eujEqN0r?0-B#?69ru;){?o=^&>zMzzQo?qR(1 z`5WYjAkcx2@Hx9o)w85EL(( zOD1f$dzAsZ{&Mjm_@1PJGm>#CG5OZh^eA)tp!E zUAdPdnoxW|{QX&vs_pBab%%R6_a3zZ_gX-wg_y?{gI2CyOuu{Q51YcuxuA1p)=#)5 zl)U3*O2q+xp-+E(s5vs_na`3h3m}AW&d|rof?tGS?=7qwh`M%gdj|t5ex+^6h`G zIcrzhn&K}%sp?~$&jqRXFB_hJ{j$XJ*}co)Q&8nseFNPqm~_DH#GU7$O&WZr@q8cc z0)p80+`sWcVw2nNowskYbKkg=#k5uZMe`1)Y4Nmb~j_1`RMw zvbthz60_L8BTE09kkBh(DHh?fdkTuknWgXFgA?l7oiC3zG&*z6)b4!QT>E;hrIY=w z+ItF$^Ur`z^uBuVvFP`mx782-t^u7{9Su5A^Y%0Fl?valP0E{Zdl!_2ez#fetGx_9 z`C+mtPmHf3JNJz_JkLQ(C?2)`liXW&&#-ofgwq`G`EI_dGv3W;NjbjdB{M%W=pKNZ z-Pix!sd`!bwh?rUfr8WKh>LYEKl5#M(pvdjGA$F7k-mcxjP~y1KXO&?B<`)SSIg-A zKE*cu?;TS!&d62f9w)AUe7jKU_a*hci(`3i)Hu8neq|{lpLH)Fs76*V&B^SZ)PZLy z6`*qqcCV^5jRy_HLrTd*asE}HO;OE1U*8PocB{+#p^M8pU(NCVjo^{du5M zMsfuYftOD%N!QP+tJz&^(01$eM)>HcChY#P?bAwbE2-G7|6B9>UX;=6=3EBQReqoO zw(7V2Tw)pb@hJCSef1l_rT?4JUZ>BqLv6l@3O&jft2(Ni5*|YPa%>!9~gIxWiXXRLuSL~Hp zy?3sHg!9{{5pUl*2|-0!l^v+pm482cJLBxfO3~TfYVP&wAVp@!1vG%gd#-Qzk&n6$8%~Ijb7hzS}2}RyH3rt|NE- zxA;_(KS7F%vmRLO`wIy%nZE}aS329i^jq?(Ej)LBJ;T(%`Fotiv@>_aRo$~Qp9O00 z+y%Bt4 zs+55E;iXI8&A4~{^3*94(!w9}d}hAt@GZexGsqy83B*Z>G=oV;Q;^C5~!I z$!AZQ=4M^nZMOQ}w~cPcOlD2cb&IoUMZ+I(O?&vJti{ShQI)|3u zbtbScOG7FM+|hG0Z9C1K+${Xi7(K3gXXZc-!t|X?PV-{ zE-7_x1?1!l+ncVSq6%~$@3)EmWlLW5rhNzB{tapZg7$dssxR08zDzSoKTB@wyZ5&z zy!bo!$kN}pz4$ElMac+k!eTdpwT&%2(Y1-TmS@H&Jfuw%P?!7Qb~mwz-~2 zINc?D>Dz6uU&ptrb7(IHwf5qEJpvCcGrsSil@2<+kI4*vsGi69+tX*6Z+QZ&~k6^{e$3OJUDT4zkX1utX`hgmA7jlW9G0$%c=Z)9D#wU{-$LMPHqFuTeG{rVw+j|?c?7B z@p#Bh8{qk$o6Rhb&sDB?Zr6IoIz)Hhmle#uWuX4$VV6~YY9B#IZo_sCfNm9awspL} z!EA2{XlHzEA!vo#wMlu>-JmqytXw+7M$ z%L5NtwV=}aJFDK_1f54K@$w(&Y|=c=mCufEKR*{7cnQ(>#n;y!5P#n;yX;X});!tZ zdkYz6Z(RACCui4UvHbnBoW$1GW_xb$1qZ6*YLn`Zw?ghO4g(#WBL03YbarPGJ7_9$ z#m`5eV{C4hUjuDfcJP!v<@DEN>2pxB_$~ojo@}SGHq-Y`%EHMLoc<9R(Y$SuZh<`{yibAva23+ zTTNhp-Wzq39WUeb@9BdFX6g%$>{`jecsXtAe-AQy+oZaZWO>C6 z=icRp&_3WR`VK>g@X;%g<@j4+JU&CNpe=bfxZuYBcc@0f)k08PO z^~ z?Z%Z#*vMHy$ZdvuuaEvdXx6}SBjpM>MD1iR&3^Y-`t2LX<6qp?Yos{#Y@ccqk{ti* z(ch#+zs2?IrtyI%+`jB7o}YhT{5>dY?%e<#7C2#Vb;NDZ{Agd-mF3RA zPJri>?TQU_z$R`xTBmod`+CJX+uA2@Uat7+R@l0y)H7K7H$zt4is^M5*85HKD*>&J zvQDb|1UiY@PGxfZ9`ij}zePc2MkTHX_llfNzh&JEGuj4PbGJga^6}&9dv!<8#_jng zEq~uwVtouq?WKiJdi&p>tSP*|_nY*s@)E`T+AEhn-})|bf4j$VU-R8k=>~CC(Vl8g z)_PZkUHZ^{y>4G^KEpd`v;W?&6|#o*MQ`Wt0d0h7ef0PWN^#dAZ`+m3^T8hkje7aF-wGiiF(5uM?)V7skK&dZG7kg7$q^ z&}1`%^6unalkCj<-k*6lgAa6@EXYKSpszbh*&Z`q`7`;uAk*x)J;&IswS_-jOI^KX zzr-_Mqu18^{x*ZwHs;=b-d3w!ozPyod39m`$D_aZZ8ie=CQJMN(c50X?qu9Eyc+=; zJ*@}twRp65;by*L0o9h*+BZCmI}5r5v|zrz>AvS*=jG+6PMHASrfqdVty;aAF`>Av zvdpLW3;S|8)A~DAAMZt7di$*mbolp!j!O66;E~Z|&d2k$55H(=KLx5CK^yj#zkFg_ zEwt(7tjEjks`9^qCpt=tKT9_(Dcg7BHR!l^(5cr`Cghd1mzeTL+_sh!ODJYjUVOP( zIix2)q2_!-jg$7_qXoMESDZev;`C&tP$xdKLw)bNx9gj}uh2JL_pG;+C5Nv9d^3~1 z?fbQ=clRCtu_ycOK$ zVuMZXecPw@_|64iaqViwWCl7Kr}V{RP@09_XY3!wI|npMxO{m=^uGrZza~P?*$zk! ze*U+_LrgIUGVf!{GSlr z^Zr6X>inw9)sTuUn*ByfxzF?3eG%b%99L~)HgkIQ;~TU@vTZgrpH=c-;cS>&_3JfK zM^CxG@V7tZZhGrw^rmMSZ{M2iztKI*NemRV=fGQa^QwPm%2j6Hj;h_VU1IIh{-moJ zH(y5gxE+taeeKoay+=<(EZ=VARc(Ft{LOPMI^T9VrqymZfAjSo{|Vq5MxO3XgTxW! z0E>c!@W2VH}D-&Y$YoXgf^q|0k1Fq-L$ZmNjC2VSJ{$uZ`% z{1&fn#@X$C@^23BxVL@(jgMb+Z@tiUy7c+c-ogXl%4WHnMy+Rtf(4RyM0X`efnp?elH#w#>T88+~HSz0Li5Bn%A9O7Ho%f4Ky{ZWVl$_k~rU zwMgLUT+o72wU-N0+^nk$ugh%M`IwP;v&`kaaeJKlIHMlh-hHkPYTac2%=9{6-L&kR z(u=MA0ixd*H%XkICkH+%cqZujNl;~VF?&9A-H+|=^Plg9G`$3^%nWQb*~9Mkzu`({ z|E&47VlKa%b7kK5GN-8vZ>anzXE0&!jn_N<6<0e;bTpiu{H&s_^77%c?>+}^+r1{ra+UFyre=kZk&@ypAmKT0e2ae4>7LZPnY z(uZYl4jSg}1r3FKb3V$M`MX;j+U5qW&Id2FxakYsD*fqblWtw(M*VM9Mc@mUFKC_Z z^Mc=Feen}}rp~pb9p($qXXVS^pQo^9cjWEj_mJ}|noYW9Jd?c~Sg3byDfAG!-z!vH zZ+~KcS;?RIH)~$4%m%?t753uUhIeLPNC)4I#vYyFvwiB9=}FGhpwpM2kx3<4#@YOy z^2fkERhi0lpsB`};1g;<-45t!&D-Z+7uNj>K2p1G)1+G^>&4%Dw}Zyf9&33tL`QUr9Rfj5+8#zb#M9+4g&v!BeOCt3ivk?9zLGFKlltpIdEYlkl?p zJD=_Dn_?GNwEOG)p4c6HCqg%5WnTUDF1 zhJ5Zj`|VBN%d3f(z3n5`i?1&6qpkz$lkeE#mgkmUK-EI;MYb+eLOIaXESKcLFQiY&Cq-P3a91D|8>;PNe3MnwBiPb z<>PlBwh3j`oS&DW37YpS5X&d`-&)+vQHa(A1WH!^kcYZBX zjvXgx-yRzegIRd+369Xh`(lcBte1h#7d|g~xoq;0?Mp$Y_NRYqlCZCgUj>@lNqO~} zEuq*v`}f~v{%l7aLdCf@~Znvb^vtsAyq zzkIsg2J1fu4mV6V`uh%Ov;H~0zenS?8+Dl;H#uheEbqK|G`o&%{{LInw{Oc%p0HWr z7-*!pC9-?=rtJTBOwIOw5lquf)4%t8O`&~{+`0+(rY2bB|4(o>|0b7M6TfHvRoU6K z;APXGJT18D5tn7+wX!U`uce2TmQ1j>eZM&A^RnM_-lv4!DOvyd+w9$?^AXMbxt{Mg zc%EpydoON}xwT15_iVdqlXlKO{9>~C+(f(b-$!FT59`M%7A}0)IEn8@%?hd8x7FV} zs~XO|{=578-PMmkBUGSS^~(89V(*WClKT{0ao>8G@fpyanSWB=&yL%3q2GGn-daOO zGxKZ7YM?WDK$8yk>jd6it@*g`Yl`@K+g$dXb;~O6)j?_)C$p6Fv(xLMZ%z==*tT7} zt=jqbz6$%6Wwj5OfA2i+eHdg5-|#qcPC z(%-%IHH-(IWr2=JEVxmA&KEkFKa(@lsb_ZFp7Iwrc{5TkpZoyYv_C&#T5|2H1W*`& zml}kh*a$fi3*2gItNT<}6$?6+ihuDr-}vhEvg0M+GU_%6mepLY{Cy`wF2F;(E3>-9 z=Vtd*lRqaxi_1?|fBV9?a(Y}l=p2)K771m?RhAt85##B@e{2?z(?q64)0*b2q zUFUy-&Z2%Jx>z?weX|mH#-;cG=;FBw`;gxE1~P63o-NhC_uP&Tf-N0NUgDlG{Llakl?G*=^jGHzYvop~2Ne(C5k4M}BNLd~W)_3TRx_ zed4RE7Ajg$2D)qOW8I^?>~Ek@`p`IcZ-qTd2wSTu+8z_Xef`nf?X%u|TYTuwOk2<` z1Z6qjOy+`iHk4Go><&K>a8afB^5GY4lj=<4_sCDky#FO{%k6u?)sW+tR#+w!o5t^P zYKs&7-T>Nb_*CLuv8v%-n+^K+_!qZVgYk%ii`W0 z&7Oaa17$izXP-5*Ui|BOx#p+(dyqRnJ_5B8geGl|@7`|j6ndwf$M7qtglc2|_C?oC zI`d`r`#%eu50@VQ@-=Pu1WS?o1zX;O^Ks>!H;3Q8Is8*Lz6P{Zb@{%$7+=M;8q3~Z zG>kp#e)QQrjk_TC{eJ@5<2QTvM@y0W$u%FH#EY5?dw#Fnn{Bt*dfDuTm;VxD<}Z2A z2%6SeSl?vWQ=NTv-pmQLy{2rp8E1d~mfgoMnUvL^050fke-~ub3mv}k@5#3<9H4!m Tk(ahhyj>h=+BRYBHA8Ixo~)?o literal 0 HcmV?d00001 diff --git a/tests/zoo/lzd.cpp b/tests/zoo/lzd.cpp index d1ec820..d8d8a1d 100644 --- a/tests/zoo/lzd.cpp +++ b/tests/zoo/lzd.cpp @@ -25,7 +25,7 @@ #include #include -#include "../library.h" +#include "../../library.h" #include "../crc32.h" #include "gtest/gtest.h"