From aa7c7d9cd74a8626cfac95c01a9f6ff9801bf45f Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Sun, 10 Feb 2013 23:58:42 -0600 Subject: [PATCH] Add support for LZ4 compression patch by Adrien Grand; reviewed by tjake for CASSANDRA-5038 --- CHANGES.txt | 1 + NOTICE.txt | 5 + build.xml | 2 + lib/licenses/lz4-1.1.0.txt | 235 ++++++++++++++++++ lib/lz4-1.1.0.jar | Bin 0 -> 134748 bytes .../cassandra/io/compress/LZ4Compressor.java | 104 ++++++++ .../io/compress/LZ4CompressorTest.java | 84 +++++++ 7 files changed, 431 insertions(+) create mode 100644 lib/licenses/lz4-1.1.0.txt create mode 100644 lib/lz4-1.1.0.jar create mode 100644 src/java/org/apache/cassandra/io/compress/LZ4Compressor.java create mode 100644 test/unit/org/apache/cassandra/io/compress/LZ4CompressorTest.java diff --git a/CHANGES.txt b/CHANGES.txt index 466dca6fdd..0621c79cc7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ * CQL3 refactor to allow conversion function (CASSANDRA-5226) * Fix drop of sstables in some circumstance (CASSANDRA-5232) * Implement caching of authorization results (CASSANDRA-4295) + * Add support for LZ4 compression (CASSANDRA-5038) 1.2.1 diff --git a/NOTICE.txt b/NOTICE.txt index 71f38fe7c8..9826990c57 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -44,3 +44,8 @@ Written by Nathan G. Bronson et al. CQL Native transport uses Netty (https://netty.io/) Copyright (C) 2011 The Netty Project + +LZ4 compression support provided by lz4-java (http://github.com/jpountz/lz4-java) +Written by Adrien Grand. +Contains bindings to the C LZ4 implementation (http://code.google.com/p/lz4/) +Copyright (C) 2011-2012, Yann Collet. diff --git a/build.xml b/build.xml index 421c8f3f15..ea0bbd72a7 100644 --- a/build.xml +++ b/build.xml @@ -329,6 +329,7 @@ + @@ -443,6 +444,7 @@ version="${version}"/> + diff --git a/lib/licenses/lz4-1.1.0.txt b/lib/licenses/lz4-1.1.0.txt new file mode 100644 index 0000000000..7f3ef3652d --- /dev/null +++ b/lib/licenses/lz4-1.1.0.txt @@ -0,0 +1,235 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +------------------------------------------------------------------------------- + +Copyright (C) 2011-2012, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 homepage : http://fastcompression.blogspot.com/p/lz4.html +- LZ4 source repository : http://code.google.com/p/lz4/ diff --git a/lib/lz4-1.1.0.jar b/lib/lz4-1.1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..fde917a6255ac59f9b5d1e6674d356fcd5cf3475 GIT binary patch literal 134748 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 SZns$ zrJ%U7>=Zkme~(2DRWR#>hf#OGJW}H>Gmdbx%{;Pv#HxH@ePVod7u*Vd?!Q)p0dc;2 zUM2uTTw5RQ%wMoCU*3Up&fUM5n)koS#=d{%#C`Kl_+m`8P5FKdD7=3se`h3q2Y>Uw z<$Udat9)*^fD*)@ov?ww&z0uVv%|k13qL3=A)p?|-A!tZ3+4!Cf*xjAKe-&yb(iw+ zDoW@sk7}*r5O)z14A+BH-xXwAp=G~J%RXhkzQ#cN_QZOYPr41Bv|kBwt=@y`Kjh?G z!0y7{>OHIK)M#7P-kE&WC-7t4woS6A-r_nUjxk!WgNHojv}!y-V#q{%|H~$XfrxL@ z#nhH%W9b> zU3s$I1{~Dm=W>0g-;FAjWsc=_!7wFM(G3Cv$Zx+6aBd1T!WMvAiTz~9* z9Z35CFknlWc9hrY>KDSBa7c-L>0S(V^YnteI$Ep=fT{#_cM05WMy53VWl~Bh65*9l zYYX@A)ot!T0MsD`rSEa)01G)URCEjppO*2hYw_u^y01B0<~`Y1RR-twW4RhJr2^|= z^WuQ(8!w~+{Gsb#R>>;RVXdn3IkSZCI$^EvY07oHq#On-l=Orm^(+Gm*1>s^S8wna z+oU!6uW=FiisLV7k9UYzc^9r~I=!z1do8UC88`M>ZDPCnu{gLt_Yxd8;d zY;K%j(s)X%`B1b>VSe>yp&Tz$Fu+@?5q!xC-wS;wDPY=bk!9JmTuRCml-{9E5sUE3 zc27YqtV^ows6c&3AFW2(0mm=*0FANB9ARW>`79R9xs_&`ZH&(zylMv}?^`{-cU`r@8IdwjzGiNA(zHkm`1Gd{ zli4_N39Z`PkIT3HX+R8&$qI2d9bWHlOdhBcWC+MK1}ds~5vD%_X|kv>{5 zM%HEKz+U98!{YwoEa5H*-uAy>UYb?1e1$)ocCND|FZJOvAUVvAooIL{5mFzRail>i$?sxaf6LJQV~=sarrfMxx&<0$W%v(phEm;s3s1@`h} zl^q7a29#r1DGoIA40Luh2{atkbSy(F?lTR!9ry72FvSc}9ekxDs`Ww6U3ce!jvRo( z*c4^Pec{cAw?m#VXM(AFk(3onf*NJnB0>nSWC$A*wdF5Xa(soU3v!=~`Fwf~m}&b^ zsJV790PdbOx|KPIWR+QV(oj_2S0zA`_C*TYPgadH)zrM8j(PRUx`MvuRUXFkSjkF$ zjN7#85*Wbyz?6Fh*S)^3MM}Ai+&!Nb5 z>*d<|dH7*)FJzOydQuZ$X{il228&yCYV|i@ONu|dK(0W;LZ7@b^ii?YR;)^H6bNl$ z$XG4}cd~Akuuyfb!*!BD^vDq0P|%e{)?aFWm}?)}8rJ16kkjk0&EZ`yex9MG1+O)O zYL*B3Xj?M5to+3;ixEjT0OE-9Xk?k$CHL!=M|?ZC%#{;Ir8|Fk6W2G)DG5fGU)20W z(5?Gz@P@Dd!W2o$mO>VTj?4pFknx1%;r-aL(jf1Zr9Zni&aIh}>!hnV5Rn6;%Cnku zd=hJy^_nN2vd69T`*;w1XKr#phJy(k7mQUlvJU^3iv)}sL*tfok_m%KOrz1ErZoiW zAnmYp!WzyjTQLzwpnK#WDtPXdXPp`ES^Av5gq=S|3#r#fe(;tQ(Ca(#&Ny*xsIbbL zDxiSfYAG^@N_hF;Pq%CJGWb63Ny|J9>eHWC6RK$b4y{P-MxW!(fEm7N+-xYQwLGr~ zq=m7Bw(RXQ#E&!6Q>%P*S>h6TFv&Cd9k*diuEKYXafcui1{nN{&~LGW1)@Cc)Uw-C zB_7a16X$VsaGr-)3TYR&DLPAayhG^~8G-=WJ~zDbQct*q(#1h z4Z&ZOa8J~9FtqMvAg;>T)wrjva(R1Oo&*SLJi%@>eLfvITiJktHK}q%HXbAm;3gB% zK!~ipwW?|p5IiDf@tTmlA=_xtM0=RA^rgd(g=*eC?@f*>aEp8dpM+p6n?$JXHu?Jw z!t9k@pM_%W4BO1$=a>jh`|pvk?tenKK+ytjGj*Mx5JWBcbWU=3R>bwi82vqvYXlVC z(QA__)T`knpLbVu;NL11#hGv4o2of|rRIO}%5o(MFmSV=`$WSZhKKoS@5^&1YG_1b zAp7n}zw#$$N#pj#_)vYqZxCrpDW!Cwd2NYZd|Cyku-=+Odn{iiE z*sV;L_asPn5Q9sIbKq+p>FRk`<7KmiC2RDGSYlTgZ-k4k+(CJ@dnAQYSTo+?lGSU_ zU8;}gK{jKU76%Xxv5@l_I8u3bHCX=COF6nO6^6`!n%(|%=Dc^!YU@6q z{~%B!%XgOOAk13&gpY1pzF&z;Tz~C409{bHnDgb3`?asE(;F1?MyTvbE6EY^%s0G| zHz%_gq1C;l+LlRO20MYnCLyfNOT9e-t;}Ugx;)~ZCLbz#?)L4L&+1!ssY#?(P315+ z9dchdlZQ)_`w?-h=x5pV=Puz6%(H4`Vk0ptUi+1sx2VA>qz(=Wd4^jXL%IBCE8R~K zTi6F_MzgH5rH{0^poQo+iAm{f!=)@<{e$Usd8OG)+af~x9=?@&sH0wLdOZv)kU`tejYB?FsrhOLIs`i)&WYv z&}{#U9%?%k_U~L~c;tciP_78p^`v9jCzZ|xW~W4R#2vcS7??R}LrI^B0Y2XIz^KW< zH~AZ6bm&ZQ2&?yA{fO%ZLa=y~T9}63n zs-yYyxqQ=m5yo1HhwSqw@nh@w>PFYi089fW&~V*hTjHR;avMF$=q0okips`xwLqX`c~I#J?r}^`=2Ig>MUT zdPKLc!R#I%ueh`4cB@H>%18j7BX<@{<5YdPW{r2|RpI+@}m0&|BvItXJ+J z-laPYPzGLD1g888!8u5Vzi=Oe{5H!QYW~&4AG|!bKnDwBaUUL?CJnL90^mpLp|Iu| zyYC>=Rnas$FDkg&=EB^<@CT^G>H@xd5epF8al@EEuBJJ~6OCKwFJy!i#8H1wjSSaZ zI9%k(B(}w)cvg|=amr}?;Ki3%89St~YOc~4tp&@(Fh`q&$Cb?tuWtoQI@cmZ#@W%7 zgBB1X@A7dP{T)N&Yqd1xp@Mjs8l_J8@k3!H3uSfrx;tKaiHKu2y$^$$)P1qId_M?C z-wwu2G&1FvNmoWWO|iCosOs(=I0|g?is08Mt(5fR=(%NqX;`G3>M@HM?E(RCpAfn| zKEir3%`V!3FrrCN>47|c{UCCLn=EdPA3IJbd=OAv5V9MIk>7pc*mau+u1#~a!{ZVK z4Y`;HX+vrer6`5)aR#XyW0fjZdHb(W^6En>{QCXy!ytv2KRy6$4t{m)H|5?5C=HCu zyDW99-Rd$$yT{CLm(+_Y4an2f;I>NGf!S-s9~!Y2XPEKyPnoqSSlH_*teMSKy@CDCPli%&*P_jjgyr-u1Vffpoccpb6AgLQR9(T3+EV`oty& zsaS2yZSo+Lj-6m~LB~15%QQ;`VY;ELq2U$CJb~yDfcN0fZ-4DQ-UR`puuSCPBt4Z# z+y+43oe_Ub)EqrFrE2ZLnKL74>m6g8Ptj~IFwaU6fK;D(=us9{I97#bm_Fbx*=7?z z)I(uHov7y>S7WqzILcwNK;@gAIls4j*wSGeb!eOW#9@-yB2{;+_rqP73^BUl~Di@KFJ*ku6Ffcl-vu|rQmO1A=nPW{()FyF| z62<7qeNM`Y%4{38BijFs0tn7{`#92tHir>+{>Pu=&6}bWwCEcAo0wN8)$GbJ+0wNU z)|1NQhT-z~k`Wty8y!U8j2QY2g+cbhAJoi(9+)soe=OxBZ_z|Q(l~+POUjG9o-o*7 zcdu5oVfvf%N3B#`z-VcEv=bca`$((%A!VK&LHzM~V%7@s3Nj_E0CS@t1?XAez0*yM zQqILWx_tJ1EUvqG&L*gM1{?v2*!#rj1*IW34e;*`dtI4o#&~V=Og{Pa()cq+CS%{XD{0Vrm9Xdl}p*3Qib$4NpAHkRKBi6F_ z>Y(yDiYbs94xDSNHhe)aeI4l6ehyA6f_4Y?roDfKQq(BTN}?r(y*Hq}pUh(Np?{Ok z#s$3n6N3m~C&N)Iii{#dYEg4)DisF!U{3C6qjI9yQK!hKwpFIvS>aS{M5L!&E~s7L{&%xv)^K zqP>MK+?C_DiY%>4AXU4dBDSrpgat3;RsH0oOFS1vocLs+J-j|NlZ=u01EakHHl&Om z7A>ImxJQ9jK0Bq0bKiEYXh4WLOZt(D`U60!tP6%@3?dQW^D<;tTo+JI z*SjVpF6;BhmPGI?49vT4h95i8S_1WmaksOX(#_uD^E$o z+L<77vZzL<>nARx$tZje*Q_DqIZ(37;rs3rglRrUIO0$6+>-BY!9 z&OAdHF7x4+cNsG-;VV0Wv!!qHyB!QEx9;0=bPj`OE;#@3grsu4k_H(;5BxDKuPX=_uf`(QBAa^iA3pK^g_+_J-uLk`+A_01dXYtlB*#3W_wXtsNa;(z_c$_a zA#(z@;D!&blI(_VGCv-tzj`cUN77aPmvwajE395U?h6{%{{^hYvEkEcz5_q+N=f(R zea+OoQZ|8?9{?%)XJ>)#eeGdq!8)+ed3yl@L0+$~E8H3CoCTo7`0(-|P@K}Gou*G7 z!@0M{<`Da&D|S)d;_YP>_yS?8>uGAyqb-uZb1~`EWaMy$fwXg{!p~oID#k=U0MS95 zkh5Q?$Q$ki^V$b%_DNcBDKe<+AQGo}(eI2EFBLWc(J6}M4!#on#{%S{cq%`#B_@~2 zZxOB~_TK6o`@Y^ZN}Ne@&clYwu!$~m1o3P_nHUTP+9xWTd8)PVp}<$HnO2YEcAvA> zz)b*=A{v(Cw=w_8z>RjICnOfsRJF{!^~JGb@=BPz4L;O4=F@heb>+{?5E8R~=6cc{ z^W{$=vci@%?}7EhUX*xZH({*Fs;@W8mM<_t{$CJ{!nAmneBslPdY^{haf+a~^!x${ z6Mk4AI^svWcRpUcs9~a5JLi9@pdIX$djuu1Xes z#j!18N+li8#e#C)M?Y09&HX5dHcg!QI(mvq)l3?Y_An>qloz^`(nfkJMumJEko-CpuX8VSL46P!WV~O=)|h#=P`61M z!CpXNG6@+Q@~XiLw8XzJiaF5#FF zEWbla+2XfeIcW&hK(P85Ut-Wv z$0rLCqJb<3ET71xlCKY_EfoP}^9ifB!5>?Z;_D7~d^NbWM|8&38|yB$Ka z;Hmg}Eb}sT08(Ci^GG(?!j~VdW%VVtwR-}sFhf?+)(E}7gxa@vlsIT6$)s;tM8=`0Z3O<92s zur5?B(2`BdPxx9VBUahv%k0YYAwAJz8a%|*6g>_pH~421tSR-Ie7lW#!KoS!5qiab z3*p0gteqBW5PwuGw`DA5K3eD99&(awKhxwIu>mbf(nVn}6}bWCBFr6hAhsdqVvheF zt9=>NP}*s%6Ak#c$ntq-e8Ey~Rl)Q*$@6k_d`Uc1{nBqW4YFU8*lq?Q)h8Dk%iRk5 zQU~5e1pIDz);hS}2H`JuV*+ejUtB+}W{mn2!diBsBiBrn!WMTWz%R#)y)>xYaA=df zDb+E=VJ#Jq+Zc^&>f*O&On;$zdn>fhieI~@2TtoQ7)0@S+$Lica_zW2WP-1)32r%!At01eM`Kl6POuGK$EsK45{eM4vHn{XICjK=`$bWq=v5OXbD_=Y1?Ka@~12jx^ z9)6bTJolp*T75`;7K`muyi;AZj6O!##{CT;vYkKS4n-m88XX!Ua$-`%ZHg+AiH7o&C04_r&?#IL;W zl0WGg@eFr?51xV|t2FV4tqAPBn?^_bv(v_F$K{R;`Ve-P_;8U>&~K^|@p7>FKYr6im}P zGz;C@f`yE3NNIa+y2!_RTeGdci<0K>RUJ_UsooSmNc`ZNd1A(P!(mQ~(SKtq%IN8< zZxU@IK{pgN^fd$AE=)bcQ^t#P2+Ta;D|Q7xotWA?qI{GR^)xRSX{VVO4(ggc#>eOk zLDc!`8#9rT4bE2Kz!Tk11()!wTZ_PEnv#=}G41YsjNSKL>tCW-ro11T=iU^)o7@0a|KKR*%jl!G5Wc)G64gPb~ zd<__UXN_;|`8TwUU$aoN>bEey*qDpg^-6AwqZg9LCbu^$IKiRYtNTiyhcMY+wkuoI zd=H3j69>lc{RW*Oq4#{-Q!x|NeEPh&4L@EtZOlVYIX}G>`uofBw{OwbI|f{YQB$3zi!%F2H{P*JC_eX&i~Eu$K9{_ ziPOzi$?fDf5<>^Sw|V0&Dss1kKnF9c#;n_MC;)a@t{{9@Dm5u$=4Xq0;Sq(~4#HSgq@ja09Pe%E({u1yHne_{RAZv^lNg$^ni zo`?*`L($2 zKcZl$Iy{~T`HmNbOQ6eqHV5zY`q=R^Z?oeE$5+nY8Mxz(88x2Y={V)mwgkv^Ys&st zX)oHV<_C=?1W%b z^`XhL$&2I07r6b8+Xx)rQL{JC8KHuN|8 zZs{jFBaZQN2Xs{JI}<(I(3PO@vr5?7^xpf> z$|ug$zac5uVe80y;u~&K#VemwHvenxt zKA81CjGyZ@F%JVB1(97vF23+LmYnQ^HRx%_w#HgF$Cs+zC$gSL+8$fjf;`<38mzR? z6%~(s+6rxCe8Mw|)2_T~)B719q~SV)Ay*A*8B)iMg4b0Pqi4Kgj*73qY8#wG1!7Dd zoz|B7V;LNI`cRMxawNo8aS0EfGUz}aoBxKc48JIXTighGqy$1A`GPldhjj%p6Jy## zF7SHK#X4#KY5sK@&-a`jN~C|Rd9B}VYMC7vucLItIJK>=s9XxKU_Nl)698S86QbX2 z@8TIbXuCbKr99c1B3SDYe*eep8`4wDYoqFi(!1cmr6X#i#=y2&N~q3rV#_=y=50p2 zSNx~MRSO&V`cjasNv)fssRU%xr`Q8VAt!E^iv*%ATeL-C>Lr`Nq&!*9FY7-l77OuLBLH@!^_-SgV9i?RtxnsMu1R00{4(T5xgoj~!+=4p zqFo$4hnV>N-N*dsf(%0Ex-n<{{o7TLp6x#C+UuA%_S$+XGy1*!aX=CVbvHv2r7o#P zf#P*N$L{4Qr`PJSPj%&p zKzEgeyJx+tw7x!&r9|mp3orLeYEs=_t(olb2Rw!cDBR7|!-jxpT__l_n@Ok@YDtEb zJpm%yFn92MJi#BB)cbMiFs&!UP&|y{LiQQSQpxT>G!i>dDJq?)VU38n;4JoU9 zl@Eklzn(v+)lcLdV>AQ^u`#Ga(o_vT)cRV7i5LjiD05oVx0r~5&EzP#f6aP*@j{8L zxh%uvZ&^K@r?_rw83{wOV|Qmc!uvEruHzGK@>R;MX_gaT+4VcLdJwur~TUA$wZo#mPFB0$Z@(S|Ik2g}p{M z#VPY2Xf4o7;9HWC+jvm+Ly+uDdAc@W9bl3Q2!XD>V(i_p%O*m(b)w>MKW}I&iuDJ8 zkLZ8<t zb{i|9zlG=o`6JXr0-WBaP=R{yz88pM>zdr zDl)Gya2OPkcAgYaTR)!z27fW|y=AY%(!^G+x~j-bw~M%|;&noStjBGUsJS~okO_5u zsJY0gB2K^c76g4HKe5Ym*T?e_25$XeDqHgz=rBaAtEa?`2&ND;^^Czz+@kOC`H;0h zZMQ%=j;{k&9^ePtJbK?Xy0T4`qbwd*1>C5#tH+TTI0{05_jsw{UgKg1-_MB>Xt z;scCr<4#y=AuAR&LwFiSwKRY??B06fkohty1QoeniK#;rx&9yyDf(1|h$F zkJ?$TcB-DoX+GMBK#`p)xKFKa{e`+fvwSksSr(VlDTv@P_HC%jaKfby!Zl# zAcq23a7O`z!3s%jGNfIZ@j}!QZTHu;7frjzMDO45Q%yf#*WkxyNs{|5LT4BL-GZ08 zkU%1@c_b{>-n#~e(rH{&L?!Ygt>W6|r)cr~%H_YF16mbewHv+i^ef9j@O&Wv2#It+ z@D|Dj$3V~THAzrrfRFfWP}AD?Rt_CNi)QxT=qrSqnfd|v8!jFn8wVbeKW7ksjZ64fUqE@Qm@h7Uuem9MmdLqVC$oo^2u_2W zW2k=I()kyVM|%&~O4z2%@p2J(HOhPZt86XFnz=-cAjgfk`4t`@zE8(^14(3e8xfMO z3#Uy22udivmcpIAQgt+E%5_#*0~{dk4PzGEm~wn8yIN!ybq6sRC-rrIc>aJHmS&_J zzzE654T)ejHcS}L8}-no%JMcTr7D3!yDaC~3yZ^o<+T-ba_Ccr*xp^xWP z!e|=i>D69qAP^c>`bt#c1skA=CX);VH#rq*2NK&(8-MT4g4J9`NX{*)zMwW1lc8PH z#gyEu?zhr%5Mo0hh!aVC6@JeG`~*1@;lHzx4)-d$OsRi9K5h$U#~2NP7c_)=p61RC z{VuzEj4BZ;*l)cWt9If0{`_omA6Ty0zS5L{c6rWcTDMy`-RAZwn7g-NDD3w_#{`VuH?Vl@&6h=NdjO% zCsEF%m1!EFDB*>NheI?&oy*r6e>9SjW=GUj1Gq(#4ZGMHLMHcl*oo|XK@=ECYpg_1B9jbLX3GMZWSzCPPrWv^-oopz`TNcO z?11N6eKyoZ+kQ;xAU_Ol`W2I1;k+dOQBP2a7&3;f6 zx|r>XRQ6}52(z-WMY9nqQbs$GQ^T>AU_7qTOv3Nqd<9D4A{Mh(uJ-C zImFl=^sGegzQQT0P8x0({?qjJ;z*JhEp7Zrw8$T)@y}8Uh;Z6e$#+Lk{NdiJNYzV) z2L6*+R9R=yZ53)HVjdmyvpcB#`PVk>x3)FcnOt#9L4-RXJ;+^h|6!#dg*`u;${p~6 zZbZj-g@zT;7#yxNP0`ze*JR#;C50B*$ov9dy8(u`>@5sqVxZALlX_t9nDWGw`E{>8 z?=rg6pRw|Z^(6wjhbZ8%gdhNJ>Sd*BrCdFrhCG-R$YNMg#Ont!;qF*OFcJGC@vqO@ ztH8Q?RJNX6s0ngz=;A}Z%1eUEODWZ#^Oy#&{0&Z62+j}NUYs=V0URy21&lPh(zQ@| z+wO=i9KYDIld4yN+j^~orn+N=el64V-?%7SJG%Q^8${Un~)-?R*knJWKNVw;gpvUJ907C>| zuAuAZB;=^`&QqT>sRpYP%z)}OUUlgxR)v01q-0yN=KQbifR-&!sknB@7~`%>$)n!k zkpUhv>6nJyKXKF2Yrhtx5UMHJQ#SLKzE!lOtTkD4h3<>Gt81Qm)s97x@ z5Su>naNLch<-|r7Q2u#5(dUPxe7xhsNJSb>4Nu^h9rlqnoAdD!khd}LYEBR!V~|PI z<#=@KK5w7t!T0h%RJ{XmB|#T99Ge^4wrxAv*tR$3jcwabHnyE?>};%!Z71J--?!@f z{=e#0o$k}m^PIU;Q#0K?J*Sg&y-1DE<*>ID08a4Ca!O)SPYarMMndm#f3C_jk0mg% zvNl&VQ?mO|<}_zC9dzR|JyIP+wEfTnxnlJ{uVAG;5{GMLNdjXUqSUWz1f#}SxDG{@ z&pgmveWV7IG(z1l+a7Vg)mv{4sql>leqXw!^`33SscvK8mD+nq+EFbnd@^M9^e&8& zgY4ETKgnXhoA^-B$M}_rXtU|}?@mx&{E+tjhJE;aUc9_*>~h6&!^2-E@mS37$LT-0 zzrj14@Aa6Tk^ZC>!N_yhd48>Heaso}I~CPcl3%0f_rF53tBzMLn^m|1Y@A`=^}>&( z)fi$Bq1)Gc($+rmIyD)cAsL^%j77tA(32`M36#`s2mVSZG}absvO+Gu_jG6d*>=fF zY19F!({d)T!Aq95?y(xeHp6}ob%kX>LW>sOY%PVMlwqZE zK!;wFT3``$wakuCg++3$UVp87mWCfoD7p1owFMapU<$uswD8Pr%q=eyG&k%)P!4k| zm@}3qh?*NVa4j|i!ZWn1G*Nteugrizwxg-f9plS3&$wf`>cHTi0PnREn(-BsCbF=V z=#|eMswA?Wy1}0Ez>5;Vr5`&$^>>hAV+dD54ErXy{pU9Sk<5`L|U? zg{yKM#MNf?Y0X=BgOH{DH>S z5VIZ1b5^@^L;DTEDj-?~TwZ<=WTtG3k)-O8r-cBRpTKUNP-T}z9XHB*%z0<2{{I%f*tu!C5!_di)FgVD zsP~ZJ_WPiC&V9t1f8$~F1)ib)^$wqW?vUGY=ez_9--KKw7S|}oEcBMpq!<+T1mBom z2~=mSl9x4haL+_4Jf4#JM&x|ZFB6Arw{e>L`;6tRFBnvD2Er&5v&EHb6Av#Jk5De~ zS6Od8+m8CyR+vy9ci5Jwf^7gFO5S*_O85jSv@xK@E>X9D8#THBJ!g{Nj)9j_t0FzK z0$|xqI8nzHj$ZJ_l!b=l3Bt&y^Q;TNi|p3J!klU<$@Uwy^wxW`OJ0xz#CtkXr)jg{eo`&wR5E)P2}%~N~YD!{0o z*A;$q5l601Qdf3ITf@yEy%4b@eE@84y|-uSHU5D4JOC~yEXW|R{jP`TbCgrI{R3a^ zjYcL1bm-d9apn>yK(VoJ>E{ZF2Yot`s;Koh^h;5&g$^N7i|zjWlB{Ltmdkh7e(q>K zHi~j?7Jx>#oJB2oM+F+Lt=}GI^=mgu4UU!?^s=JqT7SOuQ{~b}S8df7vs)upn0qN% zSuYVOTA{!JhtV`> zz!py4(Zw2)s&<&pwEfmKG~gtniT&&%8s}JIIQNAgAthbzBwAOQw8keTkFKIl>9U%R zzMeE8|uH;?$id229FcfdD@&bdb+Bh@IG&YL(L}}SuT6-h#uNBdE z6yER~N$Wx@9any|4k&q@)NoAeB8GF&KY{b5ZS$n(r1fVcX+lrTmx>hvYmn1-uoA~o ziH=nR{(19H`0*{IwnrH9E&}bb%bw{GwA5`PG=5s236(F6UjTnS#C@2WOQZb=IOxrD zuFh>|I4QL~7YzL5ZFOqs{sAMoNpEu(PQ~)-Q<}dq)k0%_6A<&(e!b_2em_?Qz>HD*3=0tqi%q+&wh$DQVh=LJNn<3-mex%oB%; zIK3Hv+A!2h7vBoM3+ND{PogQ2x zc*(dW=$P~w3jClHs?}A^HT|l=R?Y74Me>AMAa5pN6}#}~!Gd=*opZHR6~x~Kn-_l# zh&74QxhojEIFxsz&_%Iy&N z%;uB+UDp!cFe}ej5o>!R9^($ibzKh}$7ctBGj)9yOQ&Ah+B=^OY0$tk2K^t_HcNf< zS5E8@=frfE#_jgF9!_HOX$v|whm#qMCPK9iZC+)?)`O~YjqT{H>?>0BfB2Lfm zW9ycfv^{*}OH8^?QyQ(CXTt`1r6|@r;RB#qciGPDGt%K!#k1ki(JDmX2NRg1Xb_d? zmn1o@97;4j6{l6H(+BjNH-%NSquQdgYl9RkNpp*5Q^fS5W|=2Tg6iH^Gp2%FK5uXk z0k(v+9@fE2<{-0%xgFU0oQ8znAOLq;fLrlFuZzLUsNB4BzAyhvk*bdXMi14IB<3ub zgCG=G5&ZKVhNn@*04;Be=6cFx};h%Y&|q52!bv#-vGT=NW1 zGau3piIcKKAstcbhiM=-jrBdAiDDZLbX(!o#>Mk9k10Pcn56zSBHK?5gpMDVId2M? zT`|ebVQzlMZmj-s704#$-@1acWD8|r!|UleFR=aLXgxl7_-8_R5|1kEwWetlR?82bprB5Nd5l zWGqov;DncuTAE&I9q_CfckyZxiAD03auXQsH{*<)%1|ousWTk?Kq}xX|823arhE~% zX&6&vY--7Y5{02zRuUyUXlq!&da3H*MaY(DjrvJRxo!(nL zSSyz4%-ORaw}cg4+buzRKj*>W4QNk-qx6Wzt-oQ@%#U%E-th@i4mn9v%sJ?lQGN@-O9e zs2t;ero46V9971WvApCD>zb+1fdoTtz9pY18iCtm*DcrH>u5JIZqJbKyn52Oo>$ zOzmTNdjyX?>xu5o+nr?}8mcDH-rwSatieP)|CoPPFSwX;-mm+Bt#L$4#T%1GCD>?0UK*EZ3aBx?Qe}G zfAK{fkkV!hqd0=J!>h;Y`}AHb!2DH;cMP^bvM=XrlvWc_Z~H6j(WwmRY|%`~V^}*O zW{;>nMJ&P_I#v=pbhk$#K;kEIo~{|AKp;zd0uvzH0*!L_Z-2#CZk|>Zo?ovh@|#@o z*gUa&8>aY}SAV0jENMZQdP`f?PYfkZP;GezJzIGj7=$bn9m)3eK5q8k{8_rS6T!#z zz?gwL@Dw8a{7L1or*Ko*AyjMk`uBIwO3~Ig!*FwGxv8ngDO>Ms#hN!DWb&<3-_~F4 z%3EZaP}I02OTgfhCzok%>19sJ&3bx-GF(M%R6S(^hLP-0(lT|pe0SbO8v|V$2gR*(_k}nMU!(!k3#aw)R zVE!v&ZBsp}c&;e>=SM!lcO|aI9JOO85VghLyGg0n>b2ik;0oEycG*O-nsAIOr)$0u3)Mt}jb zU0P!6nAA_IJ&7*X*-#&3`GF7VPwTNQ1*V}HcisH!6nxZl*PKhZ!&b*&0Vm;)#ieq% zhtaWfMdNh%2T}9xKwK^5IqN)=lH~_T!N^`D`dk6KLMVqFz+!*pidI%&lf5Zx`&KDp zg($uG-o>76f3|-TPP@Owu5fiZUOU;uv`@SXcpCwS$}s%ZM%Pkjhn!Gj@U<%umlK}# z8(P&@eAq&7y&e?R#$Ndv(e*WJzby zZp_^ETn>Yn%adU{ztIfvL!%9Y;T?#F} zW>>{}Plxluxoq0Lz~bkNLDfX8t(Db*UHgIocr&ekV58S{+;Y0FQ6%)+Fr0IQN0ZnV zlNC+-ARC)q&(yfYn$FXk5&E1}8Y_%W4RRa7dt>q%8Y})%W{DU-J*)t3p+vLoofLN*-}V z`$rDmGjZFUVjJ*Iz~{W_bT!vuSN79S^9yP}f(I7O{?FEh<4iEYwAtD*CnA4`PUP>l z$LngvLO{jWrWHb%g=;6mc*U3COkj1Q6-xqx6Jak=Xm&lADtdURP~S$Y1`?|x zKACZ=y^K`;r~(l_Taf4M$)WXuzEXeXE;N`_fNA1#F#=4b@s#`Z48?S6R)t4sYwEv( zMi+96jpPi(XlqGQC&F@5Cys&@_lUz>ONqvG1qZ2qguPH|xp%eZ3R+>~V8s`$n>tJ% z!v=JdV{aos?g9EdMAKoKM%;DkUH6S=L7|V#vBd(7_O}cUonx z;#fL4LsWR?6nmn4OAmlS`Pu(g%@P}CHp$H@-Gf3)x|SQ*bqv=Z|6yQoB}c%~sG>lNTF z&g_+(c5kMN=*GTwGroBlrdu%d!Rx}{grmv&zzH9Dcim^otya1?DmSRka3S(d4r61$ zgd<-5!^*0H|A?f9`rU&>bSB#z^XPb$$8L zyEOP7&IbU(A`3}`FL_P2IwuY`T8FaLhBmyDvO_-lFD!(V)9nz%nOOagJ*K%elQ(8B zBANG|s-6dKZ>A0UlRDshHQng0NDy4FiBOL`_?NgHOK7Myy$H#M(_a>7$XO_fn?!}^ zMZ9dL>UCH3bCF{z_t^sfHYxn%&W(ePGNDUh2PEB`wYJFh%zkLbW|Gz;5gM$0xxe-Uiou@+rs$wgrAMW@D0c(7x~N{((1g3- zi!v+RpKtG2?!TG*cjPKxC)@FGG3Pqj=C{um`mH`d*ATx$>RuOd_znL#@Se;eRp@*) zN{h%`%%m$TnAKN@b)CkpHdn{l?1PwgeB(~s4bwcdKym1;u|UMW9y9KGY)#VmTfe4G z{Tj0peYiKmm&Vy{fjQ=A?H>f*GUBC9oDEg#@16PS<6Gh-JEp3|LpszX?-{L0*q!L3 z^yOz`Z#jKRdfOwez`IWk1hTA!0v^Ur?&00#NeCXnQs-ZwBIKzQ-%vmgQ1myDO=-J2 zi8Rd~F4R9BaghEU_c32L@VK56p^i$Pw#xJ|jc&WaU_RkF=`+!!tMs5R zpwa!4r!8<`SG`CK3uU z5|rOr{Wk!PK;H33^l|V|M{K@OiWHk;d*ymw%xBo)gSR`d-(++Xg1mTg8cHxLr02O3 z!uGjG{q}Qw?f8JV0*ND3)ODpu3uF!*D@lq4$ zgU(jFTj56f%}BAz*%<-M5*Gn*Dcf~tHA#0s#sy91=+CWXYE|pwSPs^0SGs_LfqfWF z(UT^EiHYfAX3;g8fN)JKKh9<%M?Nyf@+t%NtTgv(2kj1EnIxgLq?`#HI4gMDZ zjvOq#VfRnSxyFy>yIH+G*wxK|dmdXt^5Al+=OM;!Xl3sEARDU!arq_H%{tst8D%70 zVfCKcFm>%606gdV52m?k4n!C|>zt2_l)?g+}xIRJ!bT~ukN z&h^GTTe zz3BgN{AVX~nD81?C9?SmdaNQmU$f=*YJLex;||M7XXPMwrfB#?if_%D#cb7m-|bi4 zm14}7Kh+FGh{8H!99K_AyZlyG0g*EE;Wf`>Jl~{{GjPM{QUWI(LsevCh_TLQSa8Ut ze9sQzVkNh8wpH{?TQAVI7uT7yT^AVu_5&J$5_C^y{!#C!UuUcm(ig={fPnC@ck>mff`W&ukf_>PZI6XPI^_&EEVE$b zlQ@-y{A>zU^rhhm1|ebbgnNh5XV58GWh`$f?14$FhNcCaHA!qT>fr&0sDPN^Pv&}U z4^u-q%dOyPvbh}DH@r3LX-5Uy+J~7SN%Y91jI6I-(bwwRc%_n5%UG#(XPnBI$4WBgt+?820jAy zK|`Fs@aY1x|0(Fcl%bz2O|OMY1sy;BdM3`oSed#i2vIQp4z&;cdAF66kvFlskAB#% zdt>(V{sl+5j)1_IY)I(v%gGa>z0^2(rR|L=K)w0x{_Kp$$m7O@bZa8l&a46<+t|lVCTcMu7@5X-`Fc3a|JR7#@=Tt@~%xe?lyJU z-gwq7^XzZI&ev3q102N8t}l}n>ks*IXVD$+O!f((Vh$#XUr=Z8cpfeg2X0)F)#-= zzXm|*LabZcgKw^?fZre*Juj{&YOX8kOVg{_yk*%>eJWmX%6(d|Ywyz!6*_@=&{-ei_G2k+0NyM&&PYyc6* zYT2c;4s@qkF7HuAko6XvV^8KTUtORzRXK>mlerchglQj{G92*y39rkNut6XST$(6zW7G@040r>s3XxJ{3w4cEH z;K>bwW+A;UQX~GkYlq|oNMs~ppB%G5p3m=uF+W{ck3Rsw z9G{V8RR85{u3##&%egwXNye#ddEM6KE>yUy)=oY9xx)9(!oC!XY>R~xxy47ra`G1?5f(5!ZN93V+UudaVPpc`cw5pk2-Qo%C_MjGKMHD>*IjRmQ?V-N1n%I zXS{`5md=VT6Y{pCzdzMD%C%Rh7C|jf$A+$Pz!#$LXp2 z)=AqX?cqVv7}0MnH@BQL@5Tt;%p)uNRlXM^+<@p>{5w(FWzo-aMk>mSP9!BwG_>`w zlAU8~DkUQ9q_Z0@{+^Wb@>^Ff+9lRldFuAb{?u0JcVO{n?Dg~z8wK!cTJU9 z-@Sz2HSMfTn>VT&SKH%1hfsh^1%Ctb4jV33r=I!*4Hu6)M`uPWf5+O(mCqnU9=Emk zOm2MA5%>eT@<9qJdP=Q$AQA1$zsZY?rM15iwloI;O+syT_SUQaYT+$+3_A#JrdVWY! z2cWROuxGTfe#TO;V$^A5JwZh0fQrUVR(tSIzO?zc6e%ceySRf)$KYt;@`;|%kk<%zxAYF7g!G>G z(?<3VJ#h)dU21{>_zvqhmoTpvI|)VtQ}6=}VP4_1P;7$0jXuOHsB|A!Sb}-N4$P_J zUKiM%igX>G+<0ulb$~0IFBdWX!i96lCbAcNi79cO55k>9!uoC(_-lykgtjo=d+5VH zEJ_ElV*+CUQ(#0V=z`BKov1%q$#q(PJ23!e!Dj~A8z%grS9X`^J|WKpkAiF>MWM?KRJn`=7BQz)!VqoC(DUi3Om0RmRgrc)@%55{UTO!mkO(SB2lGee(yd12`kg#Ux`R1f;YN0#5uEdW4L@QC;354O-u?bXeA)D|!2IGz)u1vm; zp}>D4@yKlH(fA`xn!snDs@_lS&SNu%j@JSHd*lLH7iI`ig=oi3+{2 zGx&^C5-dVByj&;ZFHqt!@XRnA{$T$y`kym5yZgSKYp7uN)pv(V4xU&BYcARvX{N-M zDuZYe-Y|-SVHP>AZj#wBFh{Zkl1GhlYmql-APDotU5r=X1Z^_j6hWC46hO>+-}`lORY@n=erh`$WnJ;u{-m?) zp4oLuZ1Rowod4v2IeM6XTFb%;g;#M9M@RAaUF~7<=)^ETS?HmyZBO-uI=fi(i(w7I z9kI7TVamNYRw_IGiQtm=4a|yY9<%7T7+(bE4}0Qu<>mn^&H0%kdr7{SCoFrRb+6`Y ztM~a&~Yc}oX;(D45d~J!{ zqySPueI`BuOm4E6tE3%Pr;vZCGe^#LqYxsfTwILQD;R>+s!n*kLf7t?^G-LLE^bsu z&ZvjzC!t^KX1_aTDdyF_KJ+iH(Ifn5{_+O2I1u&PI|#`|dwIhu*?O)IF5-E4(hgN?%M*2528?%95@ATcJPJAEXb#xNhVCCJm7>lBGgl-K`F{wk2bo*`K2)#zS z5{!7)5(v9MmGz-f9!fw|=HvgOi-D@(aJpFH< z{=e-dTSVmXIL6zjhUi`c(mfb=mZox8HPHWljU0B@3hQ0zZ!dx3W0)}Rh7y)Xg6=G| zj%tWnL@2|VizNR(@(V%J0;Kl2kH#P8 zt6h%(po%fH!@|!y)_2QJVAzHy^!4*Y!1Cn9+&#?jru1dN#q|R>F22v+-R7gmoY#Ne z9N{~XsnoGsc}%GP_Bn5#IdiY=Z}RC~FGCV_L_&RJJP!Y>QJ#loVjpA1Oa1=1D`Nhgvz~grF2m54Y82!PgEyGEwYilG zD)OXCn|lX#S6vm7H^vngDtK6Hm{5H6!^?%At#ah`=g#Fd(n zh2I~APHls~Yf=Ouyk0UXKk!=t?3Y=>$k7vu7esz;ezOhK zhCBS<5+q)BZJiB*aNig;%McGMc;}5-7IvIV1w}byv$)WLmMDUulc(|37(2s6!)y9W zkSBQq@$Tbl^ZN;G$Uwr_jqI*WF)sKaHMi)rOZ(7tr{emjCe=t z2fw43iN4y1K9lcQ8k4l%Nb%Lhc zdwh3RLeN@V{9_z?AIPKGlKVl8#tau>Yo)o4f>M_T_KnkDOMF{MKT7ZQ53>v<-mEaG zdF&h-bFq$A2k(-;nrXwg*!s>`rQ8HwSa}uUTG?cj!Y_&v&eqJhCfm=9emu>6h)UTL z*a=xp`}jqj(2Z-!=KPtfDnwq;4}s*Q+RC}6vn6Pf@o4K0Lvm?GIV$hUw#P}IWP#RT zPGl~_*lO+U2pFPXHPk*320@QJsnq87AxRuXD1y6P;%-oGhleY^aU6_VcxD7O6<9cc zZFx0rP4UF$BSHp344vT7TH`QRH-?FTraTxINMFO6Fs^PlaybCfj($Do z!K^5l%k9MTd%@x;n$9pqJCxe$3!IJ~%t%*3#C2`*PB5AW<(E2YAZ~3@{@_1o?nhY& z4?{$3OM)>D(D0`k5wv&s8OuJ1OqZK8LubKW35nb-Sa33}$+a9N&H}&~=qD8Oj9>Js z($OO_$YtaO`7*pMsW{5LScy6->MyL=DRQb!KMgYAKthJ6Yel~NG6(!GB0;|>zA*Tb zf}IH6F}SxTaRru$eLbHMJbbj%*Ed+gg02xruy0BJjaoa{chsYoOIT$PqPGTHzwI8M zv6Z8Kq$8I9m1~RG`uxUo#JZ2VZ_!DnEv(>!$h9 zQhVRt?O$Ept=L}9zj#J2p99L!sDy=GrULo3ZBh-*gjrLwD;{HH?R=OMZ&#iW9%IO6 zejfZmU1VXCV64$?z>MVF12)&!Al{*nRVmBRaa{w!ic%$nfT?xE`q(Ua{#YbFa2qQ5KF zQT4x#vBPZ7A`3yB1ukr>+Nr9`%r{jqZ4H zJh!)mZ1lLv^HM%oH~^Plo(OZSG4HL>8wi7@?L`ZB6Gd)=R+L7sRK!VQW8Jvf-8hYA zhp4Q-H&6~O*Pl*0_!_Soa>pXci$uvJ*DdE~FHS8MSs1%GT#*A_*>`DuadHEp>E2(Z zFcygxVojhRk2gIW2%|kJ`g!7*7}5axWqx0Wj>itAeQapyT0q1G@p>x~zn9O#EB*Fu zcyx>Ry6y?`+mmM94ClKlgM7Gm$_wj|uQJ?GkvGHSNnAPh*Tg_dGE&(TfqW)k2CD}% zF!|iX=6_u|uFQuB(5i|&8NU_=QWgp1dA9y*fVf5=s56-6{J%VHAPLw46!{Os6e(^x4!?uZ+&PPm#(LnGXM}TF#Sk zcY{>c8w89{&X@7)f94JaT6M;ic`-@`T9t6$2sbm>8sCLZG677L?IW?$J#dX#$E3$pceP^dVQPdppbM6&=Tn$QH%g>C6f%RqO~_Wneg z2{Jb`9;YavtGjzBIVaK?UbzRZh(DB2;pdi)@kdlA#szANmSMTWCE=a)HR8dy_LjHo zqqTgMf>NCY+jA(YEy8UL$f+NjE_X74KlX-j1pWt=1I{}srE2Nvc3=d9%% zL1@XWlGV)SRqR|}IxSuLk0gtNebi93f*+*Y|2HCj(SK-}8o(oVj#y9GtZ0bYsUE!a z{Q1Cu6x%yeINt`lfd>faTJwd=*930*!dn${PTgUnWq0-g_bOyDj)Bi3=MU3T@~UP~ zpKuRmOU&tXHYUycI8#=pA@st->&+-dg`X=fUja_^S;dRuyDtpvrxk+E?jgswMt(CO z0w;sN2}Fdv-Gwl3UY>|*&?K~Vgl9uyO%T}iZw$_vCs?#%J~xsk@r=u@Ltyjuj}NtmA%I(zCW&# zzQIc5gOrR}ikLC7dp#01E%HGV z&~Nda8^8Xkdy|wlY(P5Y^#*%%&#~Ja{nxO+KlFWYt;EGg90)4^!|JX4ojlp2iR;4j zfV&VXr^-U-F#q7<_0b-1O@x+}V|IPphcER4A(wIdp;k$c!=S-=p|oVh=u&J^gWgML z!I3*L#{zsR7j?pEfV_}JFJh)1JW272s0DhS4hC^3cur8HDhg&iAsjEFE`2~*xp6g& z*(h-Xi?nx4x&Q)0h&4j%TaVnD@HM7#T+~Ho)xaEu5aLvF3Q;OjEja`f9Wo`#GY8)}(<{M^I@_-X1AD8qsJlUb^z z1RX2OB{rEBYk~o&p8PRJDvn(Um}ktdfoH7;CGHky%Y7UY0bAEqv;n^mLd+ch3Dd|8 zL(5ABy{`D7UaeVXm2#Fy=_3HOJqy zmxHYu|MUTtOHFl6Guv8*&XGUJR%T}wO}}%_slI0iX;~O*CW0^$ej2ByAXJkRYRK@{ zBzbC4+}6wP|JPMwrbS^MqW+V%CMgN%00K_`XMnhedf9~`S{da3^1QVu{?md`{U1hY zxOx&0nhA7ZYRHHU(b8aO$XNfc21Lz3!dI6})yv9;s{aJ?fclkHK(R5Pl&g2;e^qH1 zYLdc`s~<3yfMkK1Bw(Qbm@wd>SZJkc$cL#fB-Brkd*0}eTGW*X3+19o!oHxbcZ$zQ zYyZNM6pPqEFyPxI!PRmh-m{-1XGu${z$aZ2-rq@tuop;cOAF6y%J)jhcG{X+IxMXH zA#bRn*+2xBDG#9jcdn-Xmf8X4-@*`OoH^Fi%&_$D)b62q!G|z3-n1F^4GR{U1ZK%L zZ-`n$(@y4r?bbg(M92heAfZ8*J4UNq%?Ef>q#B6feAm&bzoj&Wz)d&CC>%#G%qW8y zA&FAPS452x!zh&DRMUs8lKQ~>O6Uq4RV)HP9cdF&K;0x5$lFZfhHdi%xGVPJq3YwW zaP-TnDMVCX6=6&50<@==8cf3C6d?5$*mD@ga_?zxz9LUWrk+;n3qsBaw&PfeE;@v`q%67s+Tp)E*L%nL|I3i!`o;u8S%Hq}58bdVfZPO-2#f)&0r@kKY~N|}_l`1|0J+ZB zHnWUxHTBNdRcBz6B9r+S1JGBJ37EV&GBgzVe-VML<`F=2)_1eX0#G&M8@18tmZ2U) zij$LTk=l!LW6sPhL4OjJ(HJBV`-LgWE5rCvdFU)q+M%PoDF>#>Nh%)r)N~~6=$|-5 z89^@P2w%iqTUc*r7luepJ!C2sh=rL6$GPlq$FX8^)H|~cBGl*gf&*c1Q_TAgz(zgt z^MaQ4>BX^%J1d3874m^OZENE^D21&G2n~Nw1ly+kOxQdAj5(A3kO3p*kBLG-$D$FY z9c0Q17`KWK@BMwUCp1fm4Ix53L;8>XX&$v{Wjy< zKWA71FkCVmtOfc54VKCF@6mm~b|mI2LMFcs%?b=xp>vhICtaA#EQN8dH0U%@0gGrU zlwWV$yD;s&2j;F|S6UDdO#MDACsw%)-SdE+@b6XveUvxc+8a6%Ekth1#+H|5T~81A zvJaM=TT-q0??DWPJ5*z~+|4G!A;a4vJ8GAgChe2=Mtsp3e@xmPBFIcl;zd=E%r+7> zYj%=jU*I4tZU`{a;rZ+cw!kxdYA61@N}Llter&Snk~lXE4#GI#KFSB>Ks(a<4Vxm{ z@F_Sh-@kLaD1(l3Bb6B9QU~#O7>YW@v#G)OxoUxP+$k(Zje!C z@+r}Ez&6pJP@GenrCD8%MTKnhnmxv^*U9s4BgN2i>TVMRl4KQ)+Wi#HeQrZ^4Y0(> zaAL!=(1~i$>Si?7NjQ=wOxAegBO&7Zajo$Wd`kq@W5%GV4#tn`pD&IR#W^P%{0yH= z0se3iXmrN)r7GQ3kBFT5Xik1^{QPg|U*z(e5n7(774Y@4ye>|It97*6sli>dp;TT2 z<_0;M*t1Oe6C=iq`$O!L6^5e>j(RHTIZsl5<=LH5DhZV?gS@Ot_&MC-AfH|fcJ=S8 z1sE;$d&a~$;QN;I4jsK%oY$213Oy>(v^p{<%=8Jh zxWdTl_-}>h6eBCyppa*Xj=j8F)MWu^d_s?0>*jL)2U+P6Z333u>gJ~YZz<;iZd&Gl z2%tX)sIb^Adan#D-oZ^<1I4EQtHO&lMaORG9eR|aX{GoKH;rRpTt&M@x8%IgBbsY4 zLC1dnKPd7w#u;73|BJfVBYKbWU)?ec;Gua%Xi^^>;35l@{W&dbOW`NHp-*dVWwN#_ zMQ#;#!GP)9WZXSv5+Q3fR)#rxVV^R?iGB!QE%NQ;PEkf9QzK_Tk)q)jfD35__g2Ka z0l~J62dDIR=KVjEePeWGPw-%zOl;el*tRjTJ+W;&d9iJKGD#*jW?~yJw#|LN{qKj} zk9$s|Zgo|4-*>CJ>fO`b7p#vjFEpI{I$;MGDzG3a@kb;Id6q1KiI@KaB8UZvxxfOC z|4;E`$@$I&g`Y)aO7=oiJI!@}Cz!D>A5TJXG!4l^dGdqCgGC<(oO@yHoqM&?$H%|O z7vGeY)i1!&p*0^%6;N`rvu-#{eJPG$wY z#eCtwkA7PTHK?axPFwK1CAFwmlQ7_JZ31nzq-k&ad5Z zQ=K(M+U6Q1S)J8Sdd6G&qq;pv^l~SWyy{R4raeVmj`A~>%@6;QjrDV!@+syNtmmp9 zoV}FqYR;zb&$=51v^r@Ya*!|2jwuumm=iOsen`+N*q;PQCdocRFuzDhdbA&~L02v! zY5O~Xci5|CrqvJgAt&J@t#DIbR=)%s+d{amGv)WHNVXV90yp@vE3i*IrrM62y1Zk4^fiBdB}UMjk}i2ns6n|cLhTn+lr zegQJLO}i6tiT4j+lZaDEb`KPP)RRUO-0f=8>P7=i3;|+Igb^PIhFhWLxKDw%w_xce zJH7h{AKDQ~!UN;5jRKH__=fQ&FA%0)sTnAutFRlNF&PPPI_9fxD=^kYIGl{cyfDYM z+`fwP+G){R!1$ZCHuORESM6rXPET1Y>tDM%{xdr0pSP-My-ju2I{y3@w@lXT{_! zXAwm3c^-^;-D<}ZHdDB47lm^Hs>mV&v2vW7c7SElIug^m80<48^7_5?v5#lgWyp%y zuHFg!YxX*PJyBGc^i~mAX#M_=Q1$IUslg6~rx-Bwi$0Ksffa3dKM&UlX=U$m`VKv3 zwCoVMZx5-F4;`mJ2$uQTAeX)MPV#9Ya(Dt9lDWpV>5(TguE%sLW+$z+X*ncKIY*gf zlEIR?vmlk{IUN#YxydkhoVj7@X(9}fiD)LJRGxs(^;12 z;-7(Q%M6$-lrrt763<0LnJo#>{cJJRjDkL@Gh+6YnVLCZt7VTHFzbv9F=?)%C2*|u zCdg5-v@4R-XU*`mHk+3-UCExJvT7YYi746t2TQjmfVC?IBmE>mj#34iSim4;5dmjO zr{UcJgAVd}`wmN34EE!rcMt4`Eg0AV$wANqCK&u5<)cst5opKdmqIZ0fe$_kM2N1- z8D0}qV~>g{_)xI6PB%kbsFlq+cC%8{9nXX*BqPLyez#xHZ16vU%j$RZ&3d8k&oG%l zR*d=xF>bKXcbxG3-WXv7QMzY$cr)4fOD){TteM%dDp^PXTjBj_1$Z;gM9DOXOg%86 zJi(c)=GrA-ZqNH~s#{Jn&Rdj;aAXYnTORLY{M&d3m}n%;EO(dbz|$n))?g;Oj0AQ1 zFA(u4B{yY*XRwyh?b^jgss6=cNlXrIy@Ef8^G-#2aVc1-dK&ccA+|sV(IqNgJE)EA zss}EWv?i9bL%XR<770YHpWn-gCS;Qv|3eSzl&OIUGV(MLrAQla)M+R&q zl2b}e3CRSqLZ|yr&ravtF6UhzRix{p2*& z9f66tDW)S=q@ z{~_)YL5NZrrSMEdRdN(0R=h8B7q+3FL3p4Nu^ClODIycmsVNtc6>kTf7tfTfuk3#} z%l!w7q~*f1>hyYKMP>qwG!DtA8J5NbhJFr9vZ1i*G>QI)U`p|h`Wr*^AHq3&LVUtZ zU?|la)NN!Y2$gVys&+_r$VzPbPhd!3L|g$RXw)l;?hf@17lqXv+mv{Ztb9W3|BH$E zKPHRIR>s5Fzci7VS55ROeyUM_N3*FwH}_K5yl*0=AOwEmZcRpAfTHQ^67}~#PoNv+ zt$@OMw-QUXi~EkS;{EP0|NCosYq?Ka#UOV2{G2-FY7_MraK5log$xQ1gwH|-q(CL5 z1c$K6pj!1youuB}3`=;0g0{D}haPsMYO<-pPJ6YpO=?x2iCIf;6|(hjO;|3LT<_79 z*Lypy`SQK&w!F-1Ze}vrU=Q!`2$v)Jrh_Rm`;o{^t zA3&ncruTQ7(AE)S2ZkW)aBMxZ$Kr2L8~$Z++wBZ{B#NNBSF{AN&*zWkZVj=B{8~1p zrrSg&q(_GkAOXpFT62GXbZB?;v+;BzjBgP~WvD)^FNQJMU)Gg3j)uhZP{9b$A8BJp zh8iWsb>jpw|8ld&(d3G(`2MYnu4*+HUx3j1Z=^?Dw&mX_j}Av^C9aL5l?V#|ks>JC zHb$nk`!|j@?kT!Aat9-oC>$9(R!6&s2(09UhIZ>a;mz#($00u+e-L&}&%5+H$lnN+ z;xUDG`_Avc$>W~)vsKZ-_&OmFV}uII%JZ#2TC4LDp0f@K#T0_Z#Uq2});NkPO&5av zh`Wm`Inz%p-X;FOait;spo{ZTIKGuVpC3>}=gxw(AxMvZ$PvY1ef2RSib4hJ;Rits z%i$)+#t95&nM=kAwu5=#Eo7Xn_0Y%0D5rgX){U@RV{J%}VC?h|p@RQ_{`)La?75+x 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%0Amr#h zj9C_cT47scb~NEtYbsUzo=#itwk{g^@H0MG^POdOkSo)vgFKa!F4(ofkr0@Mb}R61 zu25FLt|(%MMaE?szdsd3jV!g0+&arVk~OhsG^r=>I|Jj=TkvJS@Eb>Y0;2Z8b|4}n z;!C3Y@E{h*n|zAhy($7aUp`p4gIZN**hlA0v0l$4L`sHJ@9rP4f1Ns`Lg9cvek$YA zPi18P->1(1os?14`YDp|e@J_(x^+h{gO3#v!`qR`0Ja3x!GpDE<(0^gfBzy-xg6es zC%cTgk_jjish+@sORjjq0Z{yq&lfC?M_p32BvGckU(!=}ZihpOpW$%D4?!*?nSGy` z%3@;Lor(4Nd;iM!Yb{g(1?Eh-9?J{anPRPSAZq5GHs9Qc}s`@<6U^`w}k1@`sSs{MAAJ~2qZhw0)ke9OV0rH*u5{$x6=Jf(H4s1-ByU>>MZ=W} z*_r0altjeHkByR2^^Q5UF-9Ny>FP>z^&XpKPcs`+X8vmzf z)9Xkn`5{6Y%N@?$Nh}K#+Xq;S)G@6D+np-yfuNe?^s83M-{ii!keVE+HPK2&S~%3Q z$xJW#S$PhNljj?p{jM;eDOB!SLXh9VB_!&%T)Fj9wl!lCHSl7Hu`2AD=+2Yv1M4^C zS&7Y)!6Uwt7*r{bt}P^LLG9`|-Gn>jKWD{kq+9gZ2xT9+wl$%BE zE`DTHjDWcrDsjIPI`z@0ssx+dpW>_!s#D^dH93|$RJt1co`L^jWqArUS9?LViS>jz>`BWo8jtBvPxZH^pEWbWzLuc8nODnVtG; zVJ@ofUb?Qp($s{(Iv~mqXIv|A%GKPIe|N%38vKDdz_RU9)eST|hT|?~JGi=+8)67- zhVXx-(@S_9=wy?x(*(qF_P_T-hu5m6`-U zjfp6+J^3*qRx=c+Va&&vCnJ3Srd6C@G+hdpRIDi!%1c$A1rZ)<=Lj~F*V`01mA4a? zaXGn{*m-Zzn^Z;Uwuj2pusz5LcVcRGKx%d(v+l>V9_F;IQ|*F4!Z{m&{bRB*UTB0C z7rtFrj|Tg)uk@oeV)wV3i|M?&XYzD_^KthVdJ7s|(>og_f`;EmXE|iI>4R@JN`pN_ zhPf-l7$G;gqvddqn<0={WEaZCmr6BQJVh_WLND!1%k#27V>>zrh-|RCbt?JR?#HYW zN!zK-Czt;C&BYZ8-*LuNgFjMzQs=`{NN;8jgoVEBgv+!xMn0h79lVNhj{OSGgm9?U zc4=i7%&gS=?X7Fz^nhE8IEhn@eT7#kRhSB{T_~Cr1Dn2QB=n{ z%aGdPKbRqBI^e1B%TLe^ejjw9SLCV0`!QEG)P>q@!lM52-xeniUX z|GA$2uXQv=VbXSyADM@(-srHSsFojyrkFbs*+AI^?4m$KJfX@JVFN^mV}@DUek9@A zKgrGzAQQj-4D3!JoU6q{L~vkXisy97CyUDO^UpJ6A1^LfnZaa0giXv1`&z#aR43{U zf+bzi?{$Lw4a;1l=tFmWa2GvF2S%J%kq6E*v8t+f2Xx_60YVl!5h5=tr2!3WBMd;E3%QQ5>H84ao6+59o`@@Y&cK|BQe2)y2h6MT7}$ch~P%T}U&$ zOOsaFeoGJ+EGLXJRvVQ(Rn=6rKRWnZ`vy_T1o#r3dEvE??JAoqaNxCd6|iaOMj6>+ zD^W6EYGKmU7rm5m2a(hD3kt@XkBGsLI6yT@L%)60eVN#!H}698!&+Y^ICoc5jmr6Y>+7T$4p^g}A22t`8++Cqg)r zV5)FJ=DFxONBDyEz6$=+zdL}9w%oGC9!PvRGUiluU$q#{?@2Da4YMM2ZM7=PbyYXP z3Vr@phN}IVm)$|^CWrf&^}4_D7=)r}>GV;dil+!uD)v{AAJx@7>1Owu-DdaOXWX)H zJMwsV#qP9RaRKg;61_{N(46m@o7#LS9w!Y$q#K*M1Aaz?S*}#&_ka0+|H;#<`?xC|qwuv#*z#rw znzt9*D1!eaMf503ItMPd2xla;R6$7ht#6UGlEiN<9f|gFoHjXSF4|cCe3j!Po!Uo& zD`P}1mX~FIdbjkx++WrDeC_|)9vtyKoxc8YtHFkw^_unAeav~}!n^g@ecJxp^FWE9 zBh>r&J2B^OKCx+625Z~7PfY5Z0vER99L&~pLkySmDBtYuQwTTbcwdayanWG(aP@}g zpz!o;l-JxNCk)NKZ!5}qNrtZdJS{Btvn(Cf>kODq=JBo}m9|jLoqc>z&f7Us*95<| z{k$ntH+77q3^N@E@%^x)Ci&yhvb`#~A9e&ZOspl=R`$gp!bE5}hQ_j| zfMaioJ7Pd+uzdc{e!mP+y)olXYIsadT(RMI`Pw@_jthk&>iT>H{vv!cSWiS@!_Un8Z3M?DccBJ45<=PeLhS%K*Yso7@JLq>4|$O z7-7VYu_ZHt+_0!8l0=TP!1vyC8fJ7U@k9OjIu6X0_AO1}<>9#UtvnyJMDX96{vmTc z?&K=PpziS)YHqv?QC7Hgs=y->){bf~=8f)p%V3u!q1$M=E3m_(vE!$zd=r0CC_3gtMBph0HZVowO8ZS9GQdDNK96p9NtHsW&q>&gby&^Qn>dED^<&_{YtF&_!=K^I5R z3pkb-i;6#v-i#aFPz%xyElIyiOcS{xNr)1dqPtKR8#z?M_)lMW^H&*E1?DbVUImyY zM_hx%m9cXIIBsB#VVOVzcvbLfqkr-7<8#UMaqyuKp?%vpE z!{uB+|L~9BX!CjnAojxRW8TS&VaTsOU$e9kc3Jz^4+Iu!Pw-o5m{-ptLxmLBMo#bf zi!GpkQRq$&vY2DMYZHK}*Fc*AfLm{Vz>jTPQdns+ysjR5*x`C%tsUaPNS@uRB`HiDoi8iullETDGe3 z3kU>7h^7G&rYdX=j~J`W;wLj9;LO8=vWe*g%h0MgBN)fQw}$w3ht|E%)3k#({T8?F zu46C~5H+s!a!bW06n8V*szONjkwPK4xa~3*(Ie1&+=$aW9a~0$-@6l&Xux*d(?}i9 z9JOhusbT0=RCl{STn@VKF|JpfFlRe`OJbg)t~SQ;{Q%yz#QJ_x@)Rmai8{YuB=uaB z%Y-PS%VfcwJ#B_y+11J@v&YanPcm1q;XA9$<84B`?BlSk#yzmlS7aS9(rh~oy;GSS zL=qvoD$SkO;_kXGbvuKe?7b{`{d(dx`DT`E{g61$7dB!0-jeIhgCoB9^1GBSn8T*s zNZABk{&KHZo@?08;?-ans6e2NjZ0-Af-ap)T`8Q9N7>iruttvBcNCaD{eGhHT$59B zuFbtEgysAG9j2!cmg#$4x;tn0?abnm*E1`ZDI7(Y?a5p9UJzSFb9L2l?Cow{n!*sj z&hpYjr3+wndhvdmc|1}rD{JYktUBc(rcLa&hAs%#GsFn1?NWhS?_xskgdwcJvPq;M z0InLrzIT`2tzO`7bGXxxPvEQT(y}kiNf#~e9ZNCasO^rJoVTcOuwpO?^|Qai6>kpi z;waa4PRZSsa)4=9g8G5(vgg~2sEy+ic-wG~a5riF<#H|29$b^dDnNI5S5lrp6?8ynbguK;saHbLp|V>BHXVHLeds$4G*pfz5Xu!!0l26Itc~I%KR|BstS9!p83sK!yLr#IQ31Rw+GjB z-nw%8#nLlW?^eimn>#D6ZOejrc@kS`N+?8#D~fF}cSuHa@5Kw&oKs(g~M>#AXJA5G;k8$nggz+BYAlyR%6U+x>2r?=qL zU6=MTuU0mZ+)1dB+*>@STf5Hvf3Qxs_*@gdp=j53`A+{pn@oQ@uumDN680~HPi!aT zG0}wko6YhxPq2cUOfSQPzqFO1h?FG@tD7$E{K80i5Di>JPAdUvu3+6z_MlPGl}h$h zP>E@-2;~!82EL|O@qwLjOewTyMf_R&sYbpL6-3V|Do)6Y!a!q!A`(c)NXKY>gy+C% zY*uW}M0OoiiAmWmvq&w+F5^^Sqpi5?iRiy7(jiTwGg=6-8$)oRoOuBf7Z7(SArgSD zR8o>XpKJHSu9s#7{vV8F_ zz_nfE(|t_y&c0)WW58%+8gp$9FKK>*jUOUvG21kJ;0Xg@EI`K%0u4Q*6S5kmk5|eq zvkx~UKH4sf=mN3@uV}ceFvy>cBwHw3ZaEtY!kxD7v+|%KL=Ds|JWU%`4MSH>B@?7} zFmTnN|FX~E0={@RAa@hzKwpQ}zvGI(UBfr$h9#h6dg_BvVCIaOrt117SK#ipVR+1p zWcr^MX-xSiFgP6FFBvO8e^A#VFarhc$j4tSg~8euX|BcX4LZ0-m+&FAZrMeqmo@6a zorLU8YE50PL)1z1u{tc)QTy0`WBS2nQTI1x_4+P++PF&Rs&3HE!0-?ASQWf!tAGid zdhg0cAO3&WQ+NYlsVpj)cNb&Mc7ojJU!Mk`9l)5NOxqF`vQQR z<~=aCTQSP3fTcbfmex9v^vtdtO#oaWFKJ^ntw>HuOPP0gSLA3nS>)4Q)D_!we z<8wRAY5N8lo_`eFfu=8bT(^&VlMm4Gy$rWI?g-BVxGv)EAj-GTQ|_q4SPnk|PT#tF zWRE1+dFK=#SRneZDGvNEvg zr7Q%UB?@xcEGhXcb`5#B07s)2nV%7%;mbL)2Xq3e$t`nb#Gb|nN4Zuo9$q znjvpzpq#cAvfKLCMId44>y?y9AeA}^Y~kD#j~gop0zz8hUTpqM+~M;Z<4#ZQo{uwP zZGci6kQ~ud?O}uOV1-v-6Cj7d@*6OsD$G$Zc!rRC2gVo#0<-O!1_HB2@UT#9qjPan z5iYXtc6$Gs6)$?~1C=cw3(X;@cB-cnq=R78XX)PNOR-?1t@3SUE5Hp7b_o-E%WZzf zPOHwI)UX4Q00Xy#e1}WGBUL#DeUHp8gMl^6E=lzyA)Ue*ddS;mEd9OPJ%c9q=4M6A zOWfKYGRV1HhuW{<7gGz71YSbv)`ECE1iKV5g)bE*s$l4Oz)=cEToMZW&Jv4p1;|Fv z^RBQ4tm<(C-e|l*kGp>E!{he4)#!CQeapA&2Y^2MNE+UTG@!GU2%kug zBFI+aA^tc4gllRnY|Nd+fJJB*n=i)bX)^WbEFhX2ErKC+#gj5mcL*WJgqQ;vzrxra z@|8i_ms%o#RWl(Jd^0^E?kH9-aN z=eXUYVBulC9Sy?}!NzA2KF^fx*@nmD{6$pKiL#_yfFsfb70nHMuqMMK^S5E8(|WRq zk`~z=~>=(Q7jFyB-89evfCZ;Y6yo@$d!!GL zp!8+>;6ct}ylF2(>^ilU>8qm1!gE6O5;fQ4XC`EAHEQJ1bI)`ES(j3 zx!Y2uQ3ZRyRazwM#kd^`_PiYy$vKpjS2-j>q;ssRy;iYYUUEqhjm!#(WUFRk=dCVE zPAR8F+t~fBYt25nH)m08w$N8$>uq8j{l?MegRR}cWv?;O2`N`Q@@0l5g@U1SN^tjQiiVGGP5x*_7k`iA;fB4xXNhy3AZb<^`l z9f$LupO=3!C~8*rSZXMLRy?by?QFziGuK!IWEPj~SZ1O&EW)ojt0M@D6L3Z$f@_YN zyKA~CYgAj1a6<(3k{+mwDQfv8rVIVEK{uCdkjN$S`sfGma`o=wFnpa$a7c^1-P9b7 zS6i4nUUR&Dq|;opI^8~p&1?Wo`*g*31JHy)V#ZrkgOG-B4Tg0^MUh z-WAAR_vgQOiB4ug@5<8n(E3h?ztW=V#@-C!vF_b}$%Vg5FmR&?qvXIUPNxF8i`x5Y z!2kRdMZjC-*IUNgyC?i^9~+Q6t-l?}o%gR@*aMKP;ezmYmojWv$#fPIogwnbV=;j*rmix32Azc+z~r z3M@@(ww$FZUY7Ke*emdGI4Se;xY%+eOX6xwqJ&_Z^AT~eK~6#;1*YPXxbhTQ;^Sct z7#D3MGdy^as!wO3)>o-E7ZjOpm{Ipl++_=?X--Wkq>u3Y4UQ;H?&lejWyu)HHTB)P zj0MC*z}BT&i?J4WL4Kx22Cz382rU^NZ}n;Rm$5gDLSqXJCbMGZ)IwVy2>>3f>9B-5 zbn)77N-`;=#HC5RA8TZF7p4WQ+jL0_3@tVo-B)5KXp!-8TH5KX=`%V8+@(cLZZk7S z)|ka52ZO9T)dcdwH~E(4due4kNpd~XLZOjaldb{o6o*I)szbEkZo1?dvC{If7#>ku z@7;{~H94C8;6p3|b-{G6IZ9yiH8RLIU69_PT4HNWq3}T3De^WvIQaT>8GszrF$%~6Z86^0k=@KHVgC$z|_6;zxQtFynyosyJHE680N(UtZl=CoJrta%98>^uu6F3bmOs-JAVC^K< zx>PM8?t0BK$kB&TK-3&$`tgF_RVt0E1Nk7G;-H*%NBjf%BKBtkzh?@hDeGPzDmOba zR%Xpr<4n>~p?Wr1sLYJjefCZKCsWOcs0^<^66M<&y@%86Qot%Z)?NS;ooelt7|FJ6 zPo#=vgtXSR4#pX1OqgEX&|VozW8A7%1XHo*>amLw*`XK0P4Vi51=mYSto52vY8SQv zDHiKgw)L^vY%tOkmL<*Oj+lvxUBYRPqFzQm;-VtYuTX~8sO2b8}}|QmTMYBsG`khld3T^N=GPF-D7S_-^CtnT9~xL6$UrNdFQSt zl(g40@w{@d=5;Eyb>*@aF-fe;^m>T)J}=~4S?U}R$hSqJIKl@;N46gR6U>N>G9iIS7e6yxt@E*H@4k~*(88tbibjW3c>0nX_LW7*jyP`gTkTb>PYe5QgL_`8ANEiwQfKO8wSlT0C zft@PgbhyA~V!me%o_H*27wE?ob|gp+pNSz+&P}EEqb}v67zoe#cS>CA>u;bZ=}3uw zKs*YJ%8B9Rdejz5iV7+qLtbh%yySP?ZlcP2mH8jC1{@Mzuyb63c#BiFwr%3MBFt3X zIdJ*R*B9+bxjQ^1TJ|wOA2lx@`&@SW-%(LD4@$qaH5Vw|Zrn&36GnxUB?l)efPS9qMU)r!?g5 z{G`4i+d)$hH5~0@zS-YmjcIZ9W9XEA;Y{uJ#OS16v-(OcQNYz2n(3db@wnkur}8PvOHTTp95eA4X-a+B!vcx2RpRE^5@z;9HYNPAI{{*saY z>XvoKEh++Lt{K57p$1~QMN~=KhO6%QyaL_s}Iob2~8NH6}rl=KR|<&4M`= zzB$)FZo@xOc(1T1Ti7A;+@81hw3yp%I8}fkY$#;> z!q@wFV8e#eJnj>Kn*aVAD}ORiWQp`6Y8d`$82)_)^}m{HmH&I@^8Yo~T1uO$@PCZ4 zjG+v$y!Q=T9V|B1CWiAVY&5}RU}P_r`e{HpgTV+l2g1SA6G%dz@)Q5g%bI;Gkl`XS zDy5lboV4>*T;~|Q3;HkRtT&!!ZQpKgH&*ukeLrOJm%H=%#XBXLHi&~@M0i3Xe20SM zCUQg^J|<;c-#1hc9*Fl!4870m^vUT@h+CIwmqsqpG*i?pPMOn&>pEhGw*^R~34K#u6BJzE{o z^I7GCCDIEGR_lDZVB~iXIFq{KIcz%_G0Z)s^SKB_B#}2JJ^@rfXZY6Bjf>@CO?7xF zc%5CT6m4GB4vGs;HrU-Ez}% ztE?(tcq+4Dt-gw*G9jU1(L{`~3bmO`GB!Y08Q;1vfx<4vlu3<=FJ$%zr&jZ5O_c>r zK5~o&6}D8B$W*EEx?@2w0x)2iuIC7&gN_A3cttoH^-SY6-@A}H~V5=krztampNp+p9&ma=> z;6?S8=NRn5`OI+1{TO&7J!-|GCmOmro0DRWu=F@Xh!|fwWCGXk8qggKZp%dP7w92Pat8&$(G zR`FZ%b+E*}a~=+T{8<=J8m|!H3ygTmAQUNCqR(Y@@_ccWalj#2kYu023%ts(BXqt} z**c=`I8%C(<=1)MoJ|-a`OU?1`d=V!qShAo=CD8dXJ0FPV)j_hbcv=}&!qLwgmE$O zHVOBXt2^7-(kN=bk~vy~{{F^5{0P{Kt3j19B@CG+?b+AL(`?BWE_#Qr;h+0xEjQ}Yk~Hx}kUno9rfW>OQc z^4vWgcCJZ4=BO?EBXw7X;swKO^0`_}i?}9+C zj%3pN(zefsnP1L&7d$*je)6m9(Ub4w{bc3lOV%o_A@+ortYN9BrfIF2PnW-wna{K1 zXWSH9*odb2rs1aPA{{HO4dh`QJJ=vQjhuM2qe3rsrP7Fi8Za216_-tQz`h$O`KbhE zuHtI8xe4DBh`s<4qxFV$Cuv@|?|7!=Tc8&gzN^}!mRtCtq?= z8IR(3M+eL}5Z`r9e*967S&#KtS5oiq#Ux}Bez$J+_R;UP$8o$#@su3uRSXI7sx{34 zN(WD+@| zDn7}M;uW1Ew@tJ3mWxD40)DK?e$ULAIP@X6q%9i2Ntm1~3?)<~zd~EPbnL#zfShsc zK|?<5nqi!tU%jx@P1Y38tD)K~@QW5zTw+bG$^Pp99jl7wIjiyY#xMb#_pwWXaqGQ@ zry;-hd%Y%INtKWm6U-R}rRNZ6a$aKZC*QEqcbCxRA966NkrNfhV01P6KvrjxPhw3r zq(V$Nx*va;aMTO&D|Z0g>?8vYAlm=gUjCb%kTU(8=jw9aw+d z1`IZyIQwm8e||n3U<44Ozs`qV9BEsLR5WIW1H|l41%FV&H$L{`{@?MnvE*4C|)ls5XrZ0qLkX3^XsBDzzm zh#GFlna0V}-JzY1~qAY7W0LSh6IfyJ)GIPX6r&9qHpZopFtNAwOO|GrbNPdJD z|8$nAz!X*z*d%C>uX-<6u1PA<@XZ8)&SyoS~DqZXqX ztFc?Kl6isW4(mhXgKIm<#vTgA1%Zvb2UL@pYP`rBv)CR{#6&KMH6F4%Kt1CXT>Uw2 z6l0#aoz#7P?SM*|^;~(`0n0K1hAF6;$Pg(?2Zz!Jj7RiwfHCD){iWp25F@(+OoI)LT=mB09> zr~7Y~`={NiT-X6b5Np6QRZ?@65>{fBNQ}RDBI6pf)-IkB_ zHfrALc6BGX__)2q+&tgNMDA6e;p`w%xJz*weP-<)^JT^Sf9S*UWVnS=yfX&Wl<;uG|8LTBjhib%7Jw}qAL@a7_~@pd^k%R%UceuGwV7ZmWk3$r3en3?rijA+Hp|b|BX?>^V5EX z9~>N<1YF(?+|3OfUK~8IYw>-Ft57W0{~88IPtI*;%sOFgjV3{Gt#Xp4zEo`_E7w%x{W+63Es3H&}$a9MMxC%=ssKqw-yCSC$5UuYmfVtXSpmrac&Ng0Trq4< zasKul2=8LSe%`eNeVswzwb6PYrEwugSefEI72xF2aEOF!WnWOe-(N_50-ozFL3hO_ zH1FD?;(x9F^tNaMI_%^Rx`FI|vH4+uZ{1I!`2qCr-gNKKVj&c;pkDxSBiH}ug8n&+ z^mpf)t2`k+04V)%#Ky+nskOB9h=E?v%z1JEZVy+>MMjoXs{a_@FEZ#u zxGf%(ih;KCp}n5WG(679-0SJ$=K~ov)C&!Y34%gHCP$O4Oh}YU$W&)6Hb^UMQ)C|Z zF8u%rYbhe}>Gr!~$NQ~k-(uCJv;en*@;>fFub>c5Ieh}(an`xLg)ZW=;Y917PSl!G z%Q*UW-C=-9s})Dd_N}U)=AlY1(`1gVLw7F^ZBR-1$yzfy7Q= zB8WKbQkm$DhTSS1M>q$tws-~`&Bc7G1GZjeoXtT%82(vC-SUDW1gv38JEwlE;C#-o zFa9=lL_n#n2qmuBJn64eE%dVahDQiC%>r9hL2$2-(5Ik}%s?!@S(toUk<1?fK-G$^N&K@}Ijj zR#p2Cjr7kjy;j}U6m-OTF{O@_BGhPN4u*gLTWC^Y$S{aT+j5seo9wMx;2#4N{=p37 z*b(Hf*YV7GYg>B49=nES(>YuxZ_|D!&HleX-r)#i;jnZwQtmJnf*=j0g{cE9vGjOT z&+^b2SoV)H>+_;*0U{=oQW@#>y}K-QO8`lqiCz79mnpBIT{#o-r&G;Z^fRiQ1(zN* zfhlKWjVX;$lqoeBD^mqFR!8?-z3Q4wSQM^Y?aBkKmO5>W%BH49t27m!w7w-3If3;Z ze~Dk2E^ahUl2qg;V*AsKqoK?UIhUM69>_ubqHXAvNnc}&e$eWwbnN_4Ms zE$&@m6JqyJ8B-ZKmrxS|Rf3X%*4s}FV*HK;J}6REbS_b8x^NiwMVBR}st@sN9RTd* z(=Mcg`sEwirkHFW4lNC4Z$S`R4Yfx!8`K5#FrqQ$kJ1EKlD0^bQ%kiDZT6~s+^+{5 zq&!^gt+G$DuZpr^ESRj6zL7dGRy_WbFv~@XTd{OlI+G&AG(Jot5_}V<=p6E%O2vBJ zCuZG7Ttak7Nqq2uqOEho*B7iAWnZt0=E|3$&&KW-isBN=!)s`HAAw!SjMELqR?)cq zdLLqW@lMhFydYlpNR~t}MG3a9Ik8-xKw8D{8n7xP=&#v7N-%S~$8K&x1^k6hF}etf zdSsq|L%Jy7c;O1cDlPls=sMo(JhtOac#U!`g6^QwE2-ZjClR&_6H1xidi_+Y0`?Gn zgXCtC&M>yc{h)^!;M;dAz@Sv=qN1~Su|`p7{lP2ck!;H;jbe_8ppzq_Eb9=C!G5;UE;y*?+|IDP-J8z$z z!!pb0Yv2rKi84kD+YbUeh>E4h9ah4qGu?}!H?29@99#yYmnEmz;W_C%*?!w{zV7^3 zS>XV3*{^_zT`lSpY(q(npH@IZXf?tqzOr$vKQly8!-f#Y!2H>`cGidDq1^HF=%icv z;g|cs_)zTv%=qQj27{wPIz(rK#E=U06Lfpgn(*>A)viTk3;gU(p3ypTMZ7r-V8+F7 zl^TyN-1+csD4L3e!yv8kUB{LCQr1nlfJCqU@^;muL8solUquDWnHWWWm26_t9Huxp z*!OXBY0X|f3(9%$ywDLPEfpP+3FudaDMCgEv#E-f)>t88s*R(GXaT)pb|nhLUehZitIY-l($-g-^N>Wzg7O1m&V2zsOL~a|52l9{; zmFd-l)4s%~a|@m^XqN{ff@cH5TepQ!auh#<(dn-uG&#MH)#e7zkf{ZmeG3i8-soV? z!y%T{g8h07i3G&eXa8p8RTqNSx;>~)ld{V0Ba}6)ou*@~F#ZAZvNNw{jt7+=OX>uP_r*>%_voR_l0w9zZ z3P13FzWHQQ?r}$6kS$~RlOOF}5e!l{UMNQYJRJsqRL;CE2EG~)r|xqjoeN|NVUl;B zLjBGdPUjJyanb-sV8p{e4DS<#?-NK_mpn>q7;$)3@*Xd>Cs|gN(aov*^XDGv)S9UB zHwu5eoULC4QQo%^$7aw1@-T_gH04tM2vnaE+Jx;9YK13~4ZAg-aBMZAjFlG;kj)LW zuJa8MOOu78Y#tcEeI|o_pV7~Tp(PhK3u;x#ThK7q6SIWo5eUlPNVr}Cp-8RKswUOa zJFFz}-9oFSgAS!n&FZf8$U8+E@u^MPOe7mavPiwt$FwBVWJ7DD!bq(H&-atNi9+2h zI9>Sg_UJfC8t;j_MBPIuR*1EF9rXIS2A0q(%;MT%( zwR@9Yvr}su^g42kw4}D1sj5!}9AwpOWF`W4zbsTmGzj#eUjQaSvhwo7zb6#amyW`hnTyHBY%@P)s(DPx4N zZr5|OAF*f1@jU|L7DsQ8k2EyOa4sOlVz2^|m}HrVMhn0j=Op@`h`~o0!H+rwkmnT2 zK^4hB#9G}a9XEnb-bXDP#4Q`@%s@JEl-B8;*hk4JoH#;jh|n04>musu`|60(w9k`+ z;(lB9jAb9Gf7kkqcQdMoRhWgK9L}o3!D$Jmf5!ttuQh_^XQ-$V;+VOE?XZx=zpnwo zY8T;8PbrL3sSqlfnrE~qB-sb=80^&+`I`7fOZ#?-(IBdkB{4*fmM!)Zq}Prys`KRfAv+;INgC;KYO{Q+^z2^F@k4GMS;B=rJ; zXYVT>4kjHYhr?$K8C(d$(Nxw_Mi+Tk^XeN67U(4~^?|`m4ff99u)p8#8uRn%=?1AN zwjl}a3JZ$WMU}hETs4=}A62Z92{S2OH)F(}3pN;iW=5SltDxEE*@lxGdr^vqu*H|z z`X(v@=oTxy3>WSgaAbvBO6JLidp6m1TFSs zln6?uM;S0on4Qv>(06h+h%kyYKS5rVBJRkFY_dX6V&YGxGY{T=?X3`eab1KxrNpT) znC``yywGGUDCCv(s5VwI7`42<^0&J7L9bvH#@a9!C?bvdb~!N-w{fv5A))`3{X84^ zg-+n{ARc(l>Pk^?BQmZuVChz5O_qMWvGb-C#4Rdz)HztB?V|kVqYT~sJ+Jq@0IO3j z+_<@U#9(Q;^?;Kt{9%18Qn0K=4m&p?su^oEVLvZr1l8VCNFb*HgG^V!?{1+o6l3{j zW;4GI3WS6^O_tVJY@{lZItti1SS1s)zrOeKOKR`o#5bu+h$o;x9vnRhualk4+muL` z7WLQPPa#&*$|zGWR?l4U6X zYf@4cGoikPlTA6-ENgW*#ltp~Y>{|>*cjIbB|l^+sT1TK`c?xl>B4K;l!nTcbY0{V z)a+tqOurtTx5Y|<#Qj9x{K7Zs?m4KJek_vh$3!u{LH_%43uJAijRP{pB|vOM^`E!g zzlTGysxme>YN&iOEO`y)!-I~Qvt{h1QrX=3ZlmS!atp%At^JF!qPbxyU+xF-N9=Sv zoyZFb4S-BX;3LV9o2|a4NE0E)LK_8Yx`q!nB6reL%A`R$Z?CFRqoa|$Y_ptfcHH#1 z-#mQyUw?oaz>dHUG8*j?!c*zX_p}xIyqDF@8pqbv^uXZ^wmH=x$v+6!4 zz)+kIh5ClU5TC21YoDs}xk;$fudIW<^k2vR)^TCC zP3Ns6lL}ld!!TviwANQ6*sk8K^Ailz(ZW|Xi^+1hbWa?Wyg*lvCRsC!$R-6UHA}<% zyV?xR-B9(y@O_VVm&_8tTtm8y9ENr72iD85R?}&2-FW}iZ*})m;=oYO@2F4w3}~Xzk|97kf|1&NV!gZTh4i4`iT{`pkTJjWOVLB6HQ5Pj`HE1l6`O+9miLhjCNQ%WM*oZ-6?O9Su%2e4y zEyfwj)2AO9c?TK}?PTOIv<1~LemlP`#DlI|xc%|(4naF$4(|`SnkuCK zu2%eS{{P=DI%73nj8T80{gzFdvS9~-!T~N*f}+d-X#}>lfQp4nT!b?eVlOeUIjhek z4bI+jaYv76sV!~I;}f-|(L$FWnm3MbQ;*N=cKMo?)M+YAP>dKITpXh>wKc}~t-)2~<&r^2ffL|vnS_^QH-1Gd7%0anAi37z_Z zEZls?Pa}EEJha0TpNx?QJs&ApPMW8jhkYh73NFUPLiEe`$Hk(QYt3@l%{r`ww%Bb74x36*7-lA?j3+dfS!im=Gv*ji6QR=n zT5l*Z9wtr;t6P4Mv(k?ErRIC5G`<42&P0=v#cMzoHVL96;}at>d0L-YZ<iO(=rj0)qlt@gCy@CR$-f=b6Jy=$92oEgrJH^4Tr=RjrqdBMxF*kMzP zw<=Q_4vQZozu-%9xv|!3&y{2)rLm1ef{yVuz~P#6>n$Q3EzaJ_ z!O`f|`lO@?nBl>9y0*4}PmHIkXtP18!QAd>sIU~0k?2uHX{pfrAZE=5dWkD*;?(t$Abie zvl00bh`;7t8sC4(2x6bot?=ZnI)l}Y&m)s^)H&Wuf601_+*51l*)Uf{DqQv8>NC>o ze%BaxgZ0d>$Bu}cxpn^x;`xYCX6mg1mSMzh8J@DRH{xZp9Ll-p7RymuF1p=!zYtljx=vUp7>cs>Z-;*uj~=XG{hKOb$pSlbQI^ z=0RpA=fG7nIAI*o<1hrO`f>hdAl~l@Pt)Ixs6$zF#XB}qed4xBomIDJ~n3Jc}wzl4uH_vWOb= z`o*WHMN54@7*`Ix1M9|HA05Vp)nJ!SVEXR*e=gcO34^=EL0fa-959vy9*JYARZl3L;yZ!=eM{joqla&)vgt4DFJHOgOp(>C_gp&#w$#uY1Q~vII|k&|DCQ zXOTRXr?y(#ZZU1C`XfT?2S3EkLdCIN*kTkhA4tm1^e;T&q8^#sbUFvge z^Fs-80qo4QoN-f72s@&md_F(WCOq%h4qCg;kI1UJD;|F-xuYeIcP3&My%PdRx1Ud3 zeuZw&>E(`NaV=WdaxCM0LDud{8(V|j5_@eXCG`raArR3HAmSAZ1<@SLDQF(r{9l|} z^X=_5P!VKt4P4{;`!l2mIQ`$-_ma^qNe*w5{9@SNvYz5tEbQ_}O5e;JGk@Q+s=M5# zi%;OH_XMb!JBWSWO0VplvuLUaymq;d@YWHFSX*qZv#u|f&TXqLeZtmhYIi)@7^`99 z>E^k8U9qdPt3o%zzR0RtIK7<5;fsBRT9n?HBzCw~9Fwf6B z+H_EJ5T3Ccjuk6`xrHLRtE6{J;fNZ)C(j$_eHRk7dmWR0xKPWMiRbyHjsE|OJuzX^Ngue!gKIPWMqVu&ZfDmT)+ zs7ViolnN>pI85Z^+=>jc#{5gt2bxZ~HbUX(Li#?pK`U7yz2=tfFwIj%W{+)ZX8#5;#5&cw3-Ok|iwDL`2El2|1^dDoYC9nfeJx|yI&+^@Ps3%gG!FYgqFm={ zidYz1H-qlp5T)~2{Rl(=qsgkxT-(tUy`3*s&ax}-^poROXeNsV?fA*22hziopYujV zr|sh}7q>-eel34sJ$wPp0mT0)LHTDk8u|~3diB%gR16>?h#*2M7-_=@d&DB-7~Ql) zPBKy-#`G&@>F?7nbVQ%jbE1)vVKbkU2OaLIF_PlhIZfWv&Uwyx3!MOL!aJ~H?*lFC zB#uWwIJXlwI;_c_WRryf6j<>51UEj@Y10OS%nb((tV(C8py>48h#9VEe$K%G$Tqiw zo7;8*P1=@P*fz=aNYN0Z?V3hVORSk3BWy~SV9LR89^}p)Uq117qqTK&O3hLczd^iw z2-kAtP(4NcmT&ub)NIw8JI93-XUOt&yKqF#zwhQ2t@U=rE?|q(o1L$0tK#5!mDxPi zE^LOXA$X%itWsN5OH0g7i58s#iHxs$oB-TeELgPH*=g%EYm6D=H{nInR?5C4(=NPk z(W7w0NbI6h2ZD?r^VE2c$+-)yPrYl$v z>Z$d-oeDorI>4k%`V&?t&5gj~vB^lB8|hL_#v(!ze6iiXW@jgyGP}*STqv4 z78*p?^%H`wn!PIt>GWJp(z%r$58Zlg5edaT5d8jLxtLOugeXZQ^Z8^{!00C-` z8{M}2#6tM06kgFC(d`MycFORMDy7rMX6#hM%Tm^LVu{!)|mZ z-K{@%c5}m8JKr)k1(VCb+TqjVxJL8XWoJoADdCK-Oyc_wOXxRms{0}CkTZ#ow{Fy(#ltd*FJkB- znNXJvD$7=Df?f4)9)(cvk5;q?f)1R1rGph=TWGBqQDr__=+L!2XA5^R`AAn`^ej*A zJpGkpI>o11dZlKO7@Q#lX*eqw0*pys^Lh)pr$m5Hg8OsNu^)w>7b`Y;?o7LE0kclg zBy3jhem@d7$X93=avq2%tU3=I38(y>v+n18(;%6AI0aGp55rT)`@of6eMT8|KDhzc zNl(Y`qK!dDaLC;ONqTu7Q3k(~oWLGR5H)X|(9gu}68Y4UPN@*21PJ}XFY*@fPM5ZZ zlTMQT|5DihuAVFr3g|310Z;`0TG+SoVr7ukVg<0V0VRAjJLmrh1{P0@yc#O&-~_E|Jv_a z;*0)3HPmJA7%8)dvS#_912?ozXnk3-2eg7jp`adr@?aAsnW14AQFXP{s~HMr2pzbD z&UECSEb@cHkc0XrCxy=uDfMm0x2gj!JT|c5=h@^LcsY4|Yyp0*LP08O3#>{n*PZ)! zs_IP#%@Dha0}+&XmQ82+*W@J>nARhn$7xMh`AE-degVs=6ibP+Okyq``wqQ@fx#?+ zo8`_Y>d|=5xE*h|!u8wtiSDC`H?I--8yq|?que%m4_E7HtV(rsEBS7{TD;xH;JTAn z5NNN?-{G!9c~nL?mFqRz?8jcybK<7Mm7yN<#!FwTc}Lpr?~W7`F0F{v|OL<86jw+W_KJ$Hz%GMg3X<8;&%Gv0aVbD zk<-iYshP~3x@PogxM1azygc)qJc2%RR!7~@POlE{OXDO z;MQZWkGR2p#@Cy>^9A$$9ge#O4AjwP<7w^{Kb7NZ)^RcYdsC)yfvyC##^zT1MzPjR zmssIEN1I+o7rm6e3BUy&{Sq}PPPT$OLGMM|aqu9`oavz>EU+okmNZO6-#G4?OVpeqhjG^3wNhm}^y=W+Ppbz3ac@fx(g?(I|<%uCsxujUi^- z1yA0;ta}!jd7=qHeB-Ui@-UAA=AL@tO|?kk2xI^LO6 zHf=?n)=Wi*3XbO+;*%z3od^V@YXoOX4+zN85}#vhG7eU$ntncjsR+^>wSv8UeKS<| z0rkY)C0HHSJU;n`k&xDlu@_$jr?ePJG|ZJeQ%A@(+YqEGWV%*CXrI@ygL2H*bdV91=q36^5G-iZd_;Vr3Ne-s3Rire1Mgr16RS!g4Z0-qpMAUn| zeSYRgx1M$~7r|D2ZS7Q+wkcWO#6A#Q(`V#YwrL0sI~ttpG5WztO>RFBuXV~n(IMLE z%m!-}p@4|!^%2pg;>K6IK{91HvFm-v)(4`SLCg<{28fZ>>jUI9LB*!XOM@mHi0my& z*3Jfw%VD?igDx`^{ZKMDMf$(TrfpJ9TSXRq)%w`r zK4e7!L6PN%oXX*0A|twno@XVxhRvp+1!5-_s!%>5oErcNkPMzhd9TMDtw6P~7LTPb zrc0mtji2rGa%pRW&Np@b1lMI7l_qY#8_UZ_BdI^KRD;z7qt#kqu9~aYow6iz2pGy~ zGi5o4u%NMYBeFX;+g!ZNUL}`ga_x(9v$ayvNK^mq7cYaD%HirHV<`C5jOzHcAsIt>}YHvsE z&u|}Pcg}o{&K@4hc~(SY*ew=Y?@w%8C!&#FAiiS{2)sYQ+T1QiipOzY5@%x}Q6RHRPm|B|TDdqxG9VK@hwet0v z|840DgJ{a7z}+f^g%lk0SNww}GO~*IOen3>j^sJfPLZFcJeNWE(v0|Yq>~{f&skW% zS%)<47t`&`n*)yGW<4+{JV^{Zb7)7%Cd#NS<)gHT(Z25JNoG>9e5J-LBU;%8cFq9r zbBM~O(ykDkkS5^X5Nn3dQCx&OYq)BdwN#0yJ6G&2#|gzLI@?e%Xnvs zZ(g}$txLSfzdtxIKfFHadL#d~T?AZb40W@+@<@A-p0p%pcISc0-xo*GK^$*CC+(=4 zemK9I{E>FZOq8|83w2%NC`EIav@F_7R;%Qx31zM9L`B>8O?>c2GWLAr8{e3V4s&jp z8wTECT1c9d#Y6#TiNdIeZxlp%M1-Ot%ro?r5Vb$#-CrBK1c16VDFJ7@D&TBq_)C`a zAJ6u`*Fpcr2tGpdoA$N+3nTcf9LCmAF4+yrd0u!vtt@!xuA7KHE?1A|z*t}{{)*tO zg-##=Qgv;07!=M{qNKqx8FL{lqcnGbF3{?d8-V^AHad@wR8m?)ikak2+)K*xEqT0!ph2KVQ;hxyo8G6$Q!4k(`Dj z^?>U4I@eFZ9o|9&QNF)FuLKX|x3uDV~u-kCFUo zp19n!=1hY=DU@cEw@lUnk>q5uf@a+`T}ot^mqOCdv&DgrE=A=^H$wB&BQjRL%t=}E zC~1|vuUhTUkfbMiK_AE!Rvt{;_QE zWkWv0H@HCxxgRCQIWy0X1+XQIhJn|^Z&-C1 zfI`?Zb71Q@%<(1)Lsc(-4F&Qjs9<>q^uuqvE(k~e7moN*a3*$Oop-z!3I zy#%-Ov*Soiotl4UsvBWWyGj{zqi(D&ror{T=VmKR(vX+!&Xsu>#A;BOV&0dAOPQ&F z1!Kze%y?s}W45`yr6Fe#+mMnv*j?IJGERJ${K$2*sn(L&q#0TZf_8w__NZgOhh0HT zX8RJ7WkPiyw~NvCrJV!I_T&#>aG7(#NlG6$02qvOdYHKt8~X<^*iQTpV6f01z+j|5 zfx#Ys0|xW{ufX6SHy;%MFnH^y%-?{)*9QLu44#VqFJSOw-$)+1`agid2sgL@U@#It z3uF9uvS$D=nCuT=u$|eTz+ielI^w?pgK_^iU~p*azX5{}9{vdouKXJ?n1ulV3=U20 z{sS0{|BL!hU~t%cmQle^h}0S1Hp4H)c0 z1f5RnB12V?v*KV}M`ovV+!|2PTp6`yl!`&JL>&kwgS1!?TK&u2lnK33^l+<|w z%EY?(iV}jv(_vo*G}T;p+ldtYSVo(SXE{w{l7p_=b#I){^dU6Pob3A(#LW@d!kuMm{dfT)0 z9B-mqmd-kHM@xQ^gmAmGml76S?Phv?Sq~dyu(umUn@PXlG;PeTjbm2 z8%vlyA>?t684s8eDI_c&q9b#?n=+JDy1SL%5T%M>|C z3TMsIzN4P+@wEwSV|wnQ|L#{8=Z3xG=o#Wf_^j{<&nI+zMnsud?Hi3Zb4237S}Ii2 z5e!NUguerKV}drw_5f?!b6Yfye}-~1W(YdPIB|d|MhqKlYEM?elo+z~iBkf7%XlKH z(cKe{JU?A($d~L+^>=wZJN@s<6yX-pC`p-l6e@dtSe&oic!P%&+ zppE<# zQRc{Kh8s_jHqJIEZ4XT=^tGtvcHJW9E>T~iZqZe15th|jiA~IPz5*=@wT#^M1z?7+ zy8$25GdC?44Bf!HG|#P(RWB6YW6|{ zXWvGek-UO<}_^Ofe-oeC_8s{u3etiaw z?x~+;Rc&R_^+8MfsM3~9kwf6!?Mc*W?z+_@%D}CZWrHMhwXu%gjS1ysc_&qJC@o@W zQ-^+gA=?-M_wJMO+n8_}Ln#Hf^I7d(N}l>M-k2K(Uu&)PiECqKMa08uo|r9ZP@YBn zP!m@W5d&XQX_{({K`~f4CWRNW(aJ(9t>jY;dmDz2tElqawM*Ep-Hcd~cDkrn3xtn0 zxEXfFbTq6)(20!^3crm)$#1`H**8P&6)OXxY&NmvAsXh51>Z~yA3tGvW!GrTotDs4 zbSuU&!FgeXbJ!Bvk~wRG>`>T7bf?p%TgF!H(-C+*tC$Pxy@01OU1`0E?Gjm0MB!SHbRB8@Z8 zb)!*Wr3iDs!H;Q3Eh!OQ7&nC}v5Yg{N!H}v2$Y{RUvM2i$r58QSi#M;N{@96wX&sJ zuPtNDb)IEa=*m!@z@AB!A770QH9c^OlpuQ8^66DzvbD(7brN9#ChaX|Opz<6noOpc zyHjOxzs9%7*DkG@%G%Q94R-S-#!O9_5c3qB>B)nuOop3>*tKt_jUFXA%KsK6RiivG zT=Ccol4;CQkylx5N2H}^rokE;fA8{1y}~|-7K%D`I`0= z6^32*c)2i@#et_yz3+?rt~}rLi%y2kPQM$G`dU>L&p;S+PD8y47C#L-eKmA;73-z4 z*=p5ONBms%Cw2~lwF^SVAb0!+tIbE;biIP->TIzO2*1%%-E@7pw<*OgW{LTEYNmwL zs=nHp`X}#YuHiSy@tUY3C9Q8=%-5XEk5TB=DXHN|$A(AocSU-h4SEecKu6dPO6@uw zss#%tm#RSd&Kl)TIRS6D0DOn3xuKpx=`T!j^>wul0*!lzNaA5#4Se-gHpqC`%7D2U zWqw)r*t>vvULD_!IB(*)A;R<9-2hG97zAGw*g9j`8mkt8iIHQM zk$s<%eGhZr13udke(Ra7b>EfLG1BliQSc{qV|yHKYEeG$qeWti>*upf0lasCKg1l0~Z!B^bsAY3lK8a)q$j#X^ z`Vb7*XQbCgW8oAQbQr`lLrhkCNwo(Rd=gEbZg}HL5*W|g*4&%QmP6F2mf&X6rj4j( zJlSd2W|g8czit6r=vQN%s!S{`m!kCVWADlXdrA!7F!Hn<$XT?Wa_$tNISL;NS4O2V z^PGVsn59Slp7Eq1cgP;B8AO6UV}ravGvY1OPuNX_9ba2|CI__`2oc8Qq)O_Q);mURO?wCq`N2W4mV*x)RD8HpN zi!a8Xmy(L;P~%q)IZm>q-!s{lFo>X0BUbS8yA^gouN~S$H7hS&cT=M!G&j#xZQZpIDtLSuF&Xb7Qg5T4-k8nhV3DqXPCNO zzIT)xXE%RAdLK!(=ZLjCD7lgH#fa*~m>+XK@3~rcShd3f7A*YcMjz3yj=4_;5zh~a zafz|=$-#Q0!FuErA3?NU$z3j)K9Be>XU5R8YS8PKB{tw{tGud~FmoQ-WNI5$7Dcwq zORN2?QYx3&&aYntgln9(?}ExSBj{PML^CRZ-M zOX9H2j5|i6Tjqh?!RMQ2nGvmAK@Me!Q!WFz%VkJWY_WA;WmB`fG$JSrF8O7vxMf>5at&tWlelsXVlHYAld(sSOiivt&R<7cA-1h!vDak-mo_#RBWJe`$Z|>em0_eo^`Y87o{gdPChX22etNszQ-P_J!V*q+p*8weR|I0@1+VO1=mFRZ3D)y1Tm@rMpYIk?t<(lm-du2I-P+rMtU3r9}LH z+0|ubU4Q$3=Xiv3xSxC9oq2cW&CI(OOGYJfLe~|!&LxIdnPNR+?%ZLPX8s`6RUIs& z!0)sQab)ug99QI{Lhk3T0hW_HRA_s_F7U-h$|eoeGA z^l&@-%nCTyl>_hQN1xw9SV4hoM1=eJWJMe8eQ>pOpa*_A!(%ooJ%F%&gMX&LnlD<+ zF~`Yc>}WcoOmqlBqHuAxR`>x}6#p;&|AI>6eH=KPY7}L>NtW6no2@QJ1qd`O%Bj zLmTu{foga;CPdEu)C`bAB|(F`SOW%l_ zX`T~Oa0+{k<{%WVVkUbD$}fp&8gELY`_5yETsYQ!7+2#$33Gbncbhl#CW$jp%vx*_ zr6}0^eBj$*J}Sy_Sk>vraF60QPlPz5i&u~`fDJP52i>BNj=;vJuO}FWaUN8r*CaYP zcfA^IU;)deC+NV08qijl;-p+o_BpM^Tb2Yvl~qWCr1y^k)$sPV2181d;k>=rpil|; z43l)5xq~*roln1-sI^>?SsJ812=F7qWO9xX%fot_I^#r>Y_^oVaP`0B|-D|_!Yxxi70@!?#&Wfn< z0uJc{ako;wKz1KPOD!oUcUYozxz~4jbU(RGQ@m{>Q;#?;LP4EUda3_KR=*KVk9~_u z+EMvY^xk8MoK-|u+-F|^EMJ}&I3QV;Ny{FKTc3^&G{Iob1|H4nmZWV7ct|_t{{yJ>AK$)nPes` z&y3*9%m{`KFt^Gi;0M@dk6oYmSp^bIiHiutp^z8uKam&WPc+@pjp$+0ds-G*1~Jug z>w5#xFx!6)14U3RQ6LdSHDZbY`Gt5VsQJ=3olaAYqeHH-GyK=Pt%dDd^hI!^YjP&u(=0Qg%Pa>$rDGH@g)DKB`k1t(Vhpo-lRR=>0YcjE%FecUa=#|mQw1-^Xn zDESIIk^+j0*QD1<`O+wFQqegd`Nd?E>{To#_a-wgCMUXIuFW0-_PW5(!?xmvU%NA$ zuS!Bf5S@K`lF1p&b9=C<>lMO}j*k^{{0z=Ia(SgRl(5IfPND5hC{ev0QMjm668>BC zPp}topPw?A_0~JQX;L{coLdsBcgki=;T~mQk*ZrDX5D;Q2C?VEs&TS!Gky92oq#)h z7xW9d>8u^|14g3q@K;ZPA$Rt+lwFfZ(tUz5p))$?@W@&b9f~A{;Wej6 zMxZ(i>7J)Fjk>s=ztgOW7D@ZJe3)4IN)7OdZg{u`a&J*e)RdOQK(UD2Wy9u~h=*yl6`VuTfd74j?PQIlVL&PU*V25wQ@1=o&LG*+S;WF36N%JnX zVWkf!g+`_T?lKc=n$plg%M15Mr3E`k2tbUF$df5u#n~=|YL!0aNbVWyg|A*Ea3)g; zV@3?8Wb;n;)d3?+bAP3#0|8Epx+k~fq;O!0^OolAfu9}C5%z_^VyJwj*}L@RJk{i* z8$wq$Azg54D5+&8)J$Lq4$bAd3&D<7n*6EINUMlYP*hV;Bz)pqH@w_weBBiO z=kb=R{)&SfgP>CM+yXurA~X^+e)&k1A{4@i^D$~tlAXNunvpM6em@*Q+-C0ho z3E5Ho7j~}d4(zt``I`!g4EgCvGYqs0!XWQ6bdAki7b3aNVi89OSc-av7<*;d4?erw zR`cyk>K|26$)#y#K&8^}xb@eG4n8fHf=4z7CIqoVg-o-pHq5q*eF4iQ+eLkOUbzn* zJ1R_xWEY|j%Qejav6od?5P87wU**;dIX?1EP1V?osS&-gegC4x0wJ%JBMKqitkWe* ztn-ni@iQdzmM$@?ed(-X(((7$lKrQ7s+c3~F1~#7whM3A1~7+72y+5pRU@`Xm>sH~ zNA!12ahXP|T($)6T5r2QA4Z|JMp2J9%k)>XMfntA8{@LP(S}=}Q8>pdT~c1M2CJz2 zIqz9j$@5I-*an*6CGecOYmTvk18|lFVdFENw#*Co{P+Wcg6;z!j}z_=Tp13EgpH&C z0)jjlde>~Fo6k|LJG!N&Jz1&3DYC4nh4^|Y21IARI8Em(0%x^xmn}nf=IqcPDWKK- zz$B%WRE9Q~Qq_AgMY+iXYrUnyZ}mDAtbMxs39XUr$7O9&MIhHcY-Ci%Yb&>N}BQG-^>0|nnY9JZe;}^K3hRLTedx0 zg;QHV8(W^|Ma8QMxvaEgp@4Q8Of=X`W;Q5Vr2{B`(b8 zsj6s3I8+;YKK;5;?w|qg!6AFl$kW)hdymBSAR2l-gjCP=o)?_6F*`%E@Ehb7kOk44 zqmM5Hvz=E&97Eyz5!g-%h-6b(tSSoFD|E+CiIMRux&^WbV61aXyt2qv&08(Z_0Duy z34p8&D`I|ZPO3mT1Xu14Di%#cH6$f~z%)X0NI;~+ozgJxn=#eWgm0*h&~A8+ay$!# z{$Bnqy)m?c(@P(Gou_&NM-VSo4ZCo3V839V5Hc~EyASGNEmM5XpV2O8;A2;Q>owv) zJrAM#=&a+AP*hUE6BD+kBj3}7(hUE~zn1*`_Cex@PJ(5U94G()0_mT}%)T#G{(0)> z@5juP)vb^w(QlPz#>I58dlNoOGEDL1BZwx;5Q+d$F=6Ost$bi%NvJimfQiyUqxw42 z*K$ZCM@h2lMwuQ7tg=`mJ%%L1uL)op-9F16?H;J?moVWRjpwOGN4(%PQjWrBLe8vc zzWqArd3D>%e!Y)+=mF5C=Yio9#1Ew3o1~ZS_QspBmZ1vpabv{kXk?>`I}BbAR5?IW zKbSn`gJ*VS2A%*xY`Hi#hUab3)6_Nb=WScnbtVYJUCmSRAkgF@ z@8il|HQ`N#%s?3gKgLR(w3hJZ@wAn8lV42pIWImA)!3SAWaW$_4|UAx{=l)?u93vx z{3@U^|BcvYJZ0WH%k@)-k~g0WPhQD6zjB?CqLA@Nxja|jrssUGt=Zl7?RjK9M^Yuq zSeHDyYx~re11Bp{%rI`gk#>MjN%*D3tLE{!SNi}q)_Kwjskpcm4`Wzt&)OsNxU zUaZ+nq`z=D#0P5)FK+yLLyJO5?s1K7$CJVhU&A;TGf0f=RDC`|8wJ7%%zspQ3I-Jv zpzky)ps=X34s9dfuiYxPSJytXE2M6V7b_)Ip-S6yVT8!;IyQh@bY}YTGqf}oZ-Z!( z($`ES{IXtVa$NtlC&x`Nr)C>wlYF|&4HfJi0f^?4J$ z++%6s%xD%UW4}F|vQ8rd#L%)L>r5+AL(z=&-Y^3!Lb;bNJ5Ndwj3=dS>*KdMwbyIO zm)=GhTNn}RTR!X6r7_{p7BzvC^;W1Rh;$HlJg)q--y0fMQmd5jP@(er^>o?GHq9j9 z`j%&1OPIhr?>gO={ftNQ4Qblv%DYVPor5rTDs@|8`x&EO!IYwX`qZl5@@YC#s-Tlyj*ak(>X-(M_~$AgP5EuPnnUssup0G zjl-=PFc7Gpr7!5CVWZGB?3@=1@FLqfTvi(tIyM<L0$8`0V* z$8r5KX}&vKn$v6qBJFR&#tw(Z?%JHvJ8O|ti2b@PN!xy`b{Qtv>TQWqVR({h!05Un z2;8#@h7&A|DFmY-i9R}`0AwxNj{cL`^yFAEWvwJ-&TJN~jb;fh>s5V`^*#OU1@}L>zv}@Q+oz-aqGuXzpK^zkyEmwt-8HSmN%tgnDN4 z`J^m&2rdDTV^c!IWNq0*K>O1^c6#=D~PRO!N}92 z#w(OrdnnqCQ%t!WXpfnQy40IT7|kH_IT+U$kqOUWwH8fHiMJLKBB;KKNU*x+cp%z> zdUl+Jy=Wh(0QH3Q&X7(_xDF{jh@DV3#(g0~%7U+EOzKGfjuQRDkuhQMI8soyiqOYr zx-QV<8cts7WiKn zNEDQ~EZ#fKX&%=$u2_HAEjwZa3=%uV4#KC$7nXG$%U#7l`F#qBw2IPxciyESPdtnj zmQZk{NWEH&c-V}}Z7M5EZU^2)&m`DJO81)cxd#tznqjZ=%M1MGW{Q+qGI0dNHNkS5 z7I>^%3Xh2sBwC7h(%K%fSGtcYL|t`vKqVB5s@|%A@RYe^MjF@p&L9fdd213YOW;va zzkAVmDu;)G|4QE=>oXBXL0?9m62K~%+&(-D6_Y2L?wFQiU!4$ZR?$0-xmcFKV2)xi*XWr$fEkt} zviqH$F1C@@Vm7zac|;Un5+1a^bAtPdGD|TH%Rnt|P{MJH_n9_2)=G8*IZADJ0xz ztm1PjB;j%H1O4Lof{Z@Vee10vk8yR$kW4!_HHsa|{5+#7cA2q?jkvn}p{0CvVk%$) zA&W^`Jbzu5u!?BHVtmgNgE`_oFoRw$dzdOg#WNUABi)@*n-Yuyf~T=VSfeB_b|v+y ztVZ&4HaNK$$kpD!swg0bM;K>qAq=h_pw$@{jC<+ch(fa@pk7!fEDXB1c=aFQZ7kvA zI6bw6;c278A-0Ja{?=XgRC);zE(WmB197z7EX4|Sr0>#kd=ak9hyLD+;lPI=uejX4 zVa!h2;D!GZ5@C4?w?ePdhdmmag{;FHUa2WL$vBIcb;3usmAbo4JKjhP(v6Lo9! zSzbG#bv@4ERd9VQneN%?<0HZHD(AhgNMAR;>GkK=^c$i_65+Pi)z`whO(L%tSf116 zwcu3;`a@9}c!?&QkYJ}Oo>9N>vy$Bh!T)nP;{Xnglqyd40cK?0#xKJ1yk)P+rE5nQFamTD6!h^ zwJdcIAH>U7QEH^LP(EUxLVUWk@L9-t-FXI7YeTu+2n*ZFCIV7!)VrXbp%=bBXXikM z!wGv=%P`w*{^5;{_%`udl!D9#3}1C=9h$)zd9(No29#&}a%U2Pa}L8QN}eoLl-(!Y zH|MWXb>1CSpC)}GC-7gjU|k~<&PB3`0U3j250(Y~22t>2y7%k!Ck-LTgD0n3dzv`m z;T4o~l!lD&LpO&U`cg!Ubet9gT$GSkV_EqecgC!CoaTBLdBPQr`@TKMKC#CCJkuR` z4sI6ypI`gf1CyuI{$iGUrG?pz@{NY9D9a20?X4$+xWW6%a%uV z)I9wAd3yZ^%a$>si~WwAxv<+9F9p!FI^w6g;-`;LSlnXMxqAIKr;fNVns`*t|ZE=xjvLNh`SKVEvk^FCSSxsmCL(7#dXk|wH@2sh1N z4)q186B`$!NsM)~87bI0?J|kV&Lw52$UiAE%}Lm|8oC8ld{ zm%;zRT%8D+a3)i4HOv&EK_HzBH&JYzgz>HK2Sb~v#P6q4 ztCz3(sA!w43U2f)G6GHq}r87UU!=K&%mkab<_Z=dW*G!cap ztWlv^SP)~KBnO-K#fLUTW3hzEc{9)q-|7rDsZpQ{HpYC~3=<=^WwxZ^G@K^r)QlK0 zRxR8>W%E^DhdbQHyrSr=DsLPVj~_4ejmGH=Rn*|9xM*Y(pVBFQS#{b~`cZD?V4Ax% z4Y}c+eMtcF4Ki;u{4BIoE1pLQUKl=Dx3vI2A}LC;K(mk5k{}rEay%4`wnFRsqgPXK3Zt&r5O(pZ{y9UxZqKN^qojC5*3W6jiu(uHf|WS9niB4u{+!% zf@qM`&C61z$o=|uOiH0VI>di<;v$@d(5j+{zNc3)-DXJIuLcx+HLi|VV#3c_(M`w6 z$QU0@bM%%>AxYx{E&d0OGm+37lCk_gDo?jAU@e?3a%Gx8gScoaFZvJKQ$;9;adPBY z@bNF7-Cal@P2d-LMnZuYG3+t-I49=PE^n3)2?b<*a8ZVe@;O zedLx_G>Ad~?z7d$F04Z{BFgJ@vv#v|#C)?yI{Y=M3}yci^zfq2Cx^L$MZR4-`@EtG!FFdTE4zig>1DBhn8tf9ZD@E}wC(wLvq(5akv zr~H~WqwjS6+FKLZu`8Oao^}|R+a76O{19LEpw0uP!j-t7f?hWMLUgP<{ZO=~FtS9d z%l6RwAen8l!BY{ZXxX8L!ZD?ISSHrbzo0<^qe-#OZ#&)~8t}|fVLb+LkT-g8r0=X* zD+9JKHQAYtQLizR5}8VhnMmuL;D~ri;5f7`dhX+ug4mbIsiQ}GsefZlVCb4B{BcGw zd?H^M>@yyi%fe^;us1BTt|eEnpcDA^c+cv9Goo;!$H1cK{2GlHB)YqAf}TShEVL|F z*-uQ*b$*#ZSUDv;=xQwnGoKsSyr{(tsD4&C{1q`gv?2UU4&gE8mTRx4ON!G+Czxjk z>x(Evmlqh}!D@XYI%OWT(L$VG5f*~jIv0cw)qPyfW$VSe^TZLuJQ5JgkVw(@ zOMRpGsh!#7cw(!{HBOT)t_F0RrEo%U1l+_wpOR|WEOwCUZSk>cqG8e7r+7!WDhzQI z3^=*pSU8_t7P_*!x!k`5SnbB6;gmpuOU|PXM^qupS$;pdNLNc_7t@#OpaF>M9bE}3s z!Xi3T*clVqjSOwH7E`qVYo&R7LTX(xK2LHC`pDkA36D;Ur6<)(P3P63ihUX!APln$ zChnxR+GU}-@Or{xvQB+cES1n{w6uhlMv82q58HOWBIOIV|5S+%`U1~$J7RgAH*ovn zt#mKxsASEUUjdT}zZFd!_9?clXv1!gXwO<3hmF_yLi;xNChna&O*3LvYH7#3QMy*w z8`Y0S9-YGbQIs9TAiblI4)%<5z?1dV!l>Q;yelVzw)&W$iZFZzJ-0$vh2w{6+Edq) zw-hTfTi{I%hBmuuoQ2H32lPc>y(3EaPz$wR^Z3GWfHqbRO1vW#iYtjJQPwFIa< zG4G}dl&Nt!PL?UEyL6!a<0@JPEoPJ_5>0%`Io`4@#^8rlbM_XE{`LN(qWU(CKPqyWW-2Cwn?fE)-*HaL&w@!TM;U zAu^GWB%q0kpaq@sOZdYFkZ{4ja~g(tesi%@!IiL;+2K6k*lS2YU)C$-dEwT4ICuJW zfL-hG>*sZBfTUArfTHnv29zx7UPPC)x|uXd6jaj$-}}W};DLN}x^e?k%|vIbL*J(#N@oMOjg^nfgW(=IQl&_$&w?e}r+jultD=l& z0;5>jE}GWB!elrN2up`?eti70t>+B=iitNqS&A~2=80LLkt8JpM=GUZ@pjLe{wK05 z0&b-Rrmm6c$lF^umxZx00|~UoX&-vC>Y)K26B4i&xn4#cmDiyXkt^i(pVwppC0JOw zsALxO(1Y~8gdUGz&UYSX=^)7Lg3oXmd@7M}p)!YLBVj2w(X9yTH-utP$ifTvX7NF1 z6rboLS)axPbK|bl<4A?^6vwvZUFVf#S3Pb@3qgdS^DgVF#4 zgEddX7GmC7#R~=@2cnV0sy+lpX@RvM-9&5K1bw^l$RY(W`#!8)QR#{eUz;m(?;+kr z&B~F)z!YU#ep3+IMqW|=RafJu@d52lQ`0P+#1-xe!3Cb(WrUZA@1GVa!msg#@v+F7iYx4Y$NnPvbEO73!1-YuSi2e<8itWD>vI{BU@u;2{ULt*2H2 zueJF4kZkZoCP*8l+XcsA5DLmw^GI-sGAQI>yqTRQ!ihBll6Nq& zY^B%?%8*={E!^hZigXlfh<$`gY^(|wHd%BZgCTeV`NlKPC*W1V@|K-G-YEHK%Qiuj zL=$M96kxiK>dSogY{}X=m@=OgkFD>IEn=%gJU8yZBS7l}57k2=DMLpMvWJv)^DV9o zHorupt_?@C7#f(J!WV>z=95JBERG5HrT91 z^yD-qa7>L|5alRx!;{Ik0JW6CErzKumENMYRZZck=?s+sER{r^9TlGuT=ATbCyxR* zntk~mClcR^)&GV#jTtAY7u^_z|8YTv{Hk@LRDg6WG*YmD!o(k`0r2GP7Y zs&{mrFPv3nT(W<^H@96%Gd`yHO!(p`-<}p%*l|F&N&`dC(O+NoGO4g;Eb}6N(`$YV zYCkV)0djaAO9<6|Ra0#{hla~5#qR2SWIm}&M*^NBgz(bqU_lit`xdK3qaoPx2*aZT z^D?ad8XqQ|0G}cfSy3d&G^?mQHGH=q?};uTP9&WyTu(q^ z#g{FJ-1^bzihD9L?n+E;=;#VkgXm;0dYMGBI3r%cxj4@uuv~J!+gRrh!r+8W#QxGJq;$l0If>P9$5z($jpo07 zNPZW_og8+qH-Td`HaGx4`Rj4|uN04eeNO)U)ccRDe|m#cjCw1z5@JEH#O9~wx>1$U zBShKuV_uY`BK-j|X`hf>5kFY(e@gXz_6XY8aqo=^0Y8F{EQOy46Gb4H?l?9gr9zMf z>wXk*TQaMIXto$ioXue(F!eDo>)&F3qvydbj5eq|M{0XoIDS?PZC8moB`eN?t8{lE z+C+Xh1$M}**-x~Ki>V4O9-awNZS=6+_GoCKLsJ-CplylMbytiP@u@=KNso+*#buNol}v zY{q;TgPNiy>QU2^rc5;s=8{^~&2BWRnm3lB82k&WJ z6jq$!i?^~S;bl}gX&Tci#AV4OMJ0$71~qMV_LI~{?Zrbvn_Q&LJgYB{Lsqkmw^o#p zu55OFuV30{#yRGSm!Ex=o@BKP8hXLGf+3aQ1WU>snv~FzSk)Pfj(^M3WM z@pFl^Q}ouy*wO`N-#KF*bZ=nm-!wSle*73>%{mbI z_Bgm_k5FtF`da22cA&WrAT?Lf{e)Ph(vT5=J#|Rx;+=of=`Ac_7^Q|QLga`bLS*Ye zh92S`v{)oVrBupHiKc9GtUUmSG%Q$@7FA&{ifYyl^_0i~As8Zr0S_zWKp+;c1bP4H zGv83~-Zlc|$QWc6PGo&k?rz)y@W&GI`KeLZUgI55Io3Qj%_Z z#b~|W+k-bd_k?QiInf%#5-JN^?TMz=gRxI;A(2`^3SE_l`)HKVv56Ix#1^KW9F3iI z45Iwax1u(}{L&Bn-75d|tmOa5F77 zA{(ac!*jC>G;I+M2tvli#)oQyXJ3#eeRl{lXKb*&e4>*FYoTMhH9kao`TB?&NBH^k06j}5xDmKZ5c@MN8SzJtkwJj_&A^G? zUBmzeiN7vL05H|b9~V4epa1R$NkIjEYEda6+S^Y6;Bn0#qJI_~PsBMpQUm^x5%3@K z-Cuvdvb^s?&tIaF{8FMqg7OM9l0x?c;4HIR_$TGSrNQslo$?ys&-ywxjwTkgzY_wM zZvLCl+`W(!8;ceT({E*gA@XmsPk?VXW+oQ)PQR6b`5^+hGm`2r869)||Dg@~CrPEh zBuyCESbkDjUHP+Lem3*2o(s?^j0``?JoM$yW@i2+^U%yEf3yOQkR%p0ApkI?0s!Ft zWhMZS<=qdI{N4)R9cpHx3p|uSZ3-MbX!Mml;fE)G zZw>&E{NOS9@sI%i=mexlj{p`1c0aYpLy4c;L-f0ZsgCUg&y};03RZUXMa`_yT=~l{X16L z-tK>J#Y+uhu7KTK3pi^6J_CPUS>8Lq$NR2fADH{x(%j0%z}D8%=GTU%p^m;02LfRp z15-!+g}Zy2h-iNa{O3{jhxbnFv}pGlh|B>Z34TJB)BO@D=%i<0WoKe(@oN+7Dly`^ zfhRzbPyhhDpLq5RzvTUt5cZ*UQM9lWmm6~<*z25t zV*(8@Z3630)YrWKMg;~X`QN5TdT2U9S+O(*Pze!G3H47(WQ6~-l3)Ay(`3)_U2;1! zpjYk+2LHISysM;siT*3e-9sbae4MPgtD!d!?4iJb_}7)?EhYPJr2pmJrWS+Q0w6Q- zA8ocO|8LCy-B0~CN?zS1mxlu`Br*PF=Uvwy1rB(>c$R?o{M$pu4_%>veZhS^P4~(8qI$mt|8J*+_&)``2BOD+Xto~) z1OLzR)-(Ps`v2t_Q*w2^R$z!Y1-hT^CoL7`ztr;oqGuWR;-v!VVL&?3PxLm+U(@fZ zVG~K}*y$Pn+TmGpD=)qR!?_YF0D$uoF~j=biN9tI8xYBz04?(ec00VEShMawv;G+I zq;%{|91Mu0<$q0^FIylx0mcLuU?0Q&i3aWcue4vI9u^J%LCf-H3;G30@xFxk!;b&3 zV(>l5FYIU1_fh#j)DM2B<6)KAdmU8~ztr)M%AG%I&ORhRtO9yZwv7631hyT~m{;;6my@tm4|JM!NEydpreZTh8!`gE9Y7!Iwo0@;U z1Jeh^x9-uS$^Q}kThkxbjk)JLW&D!=V|nY>o>+cR0_7fe1AI&R`v~>@Ir@S7R|h<- zvT;w`&Hg>{xA*-pSN}csCjU3s-}dK+`F8J_q2<3}{_CwjOptodqpbQ3?>AxYVIItT zVqDG7#P9D8|1B%#!+7*CCD*+go96$Antyh&y9JepsYmYNo4|L_zjv|k_i(?B_Pbfz z9s1!HviInuq5pyY{XFFk{_xYVd-%8U{{jDh%_Saw?{KdtYWA0U{&6nsVRJq_S$0o! z+4!0G$N2wS-km2NZg$`ESPy>YeGd}<7zqDm>-+D9-zj>y>3XjS?dZQLy6-!`?u-xj o1MW2}e*UF~zv3M*I{oRWA7HRQ7NYn7d;nJ9V&Bti;B*l1f2k*r`~Uy| literal 0 HcmV?d00001 diff --git a/src/java/org/apache/cassandra/io/compress/LZ4Compressor.java b/src/java/org/apache/cassandra/io/compress/LZ4Compressor.java new file mode 100644 index 0000000000..0cf36c11ba --- /dev/null +++ b/src/java/org/apache/cassandra/io/compress/LZ4Compressor.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.io.compress; + +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import net.jpountz.lz4.LZ4Exception; +import net.jpountz.lz4.LZ4Factory; + +public class LZ4Compressor implements ICompressor +{ + + private static final int INTEGER_BYTES = 4; + private static final LZ4Compressor instance = new LZ4Compressor(); + + public static LZ4Compressor create(Map args) + { + return instance; + } + + private final net.jpountz.lz4.LZ4Compressor compressor; + private final net.jpountz.lz4.LZ4Decompressor decompressor; + + private LZ4Compressor() + { + final LZ4Factory lz4Factory = LZ4Factory.fastestInstance(); + compressor = lz4Factory.fastCompressor(); + decompressor = lz4Factory.decompressor(); + } + + public int initialCompressedBufferLength(int chunkLength) + { + return INTEGER_BYTES + compressor.maxCompressedLength(chunkLength); + } + + public int compress(byte[] input, int inputOffset, int inputLength, WrappedArray output, int outputOffset) throws IOException + { + final byte[] dest = output.buffer; + dest[outputOffset] = (byte) inputLength; + dest[outputOffset + 1] = (byte) (inputLength >>> 8); + dest[outputOffset + 2] = (byte) (inputLength >>> 16); + dest[outputOffset + 3] = (byte) (inputLength >>> 24); + final int maxCompressedLength = compressor.maxCompressedLength(inputLength); + try + { + return INTEGER_BYTES + compressor.compress(input, inputOffset, inputLength, + dest, outputOffset + INTEGER_BYTES, maxCompressedLength); + } + catch (LZ4Exception e) + { + throw new IOException(e); + } + } + + public int uncompress(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset) throws IOException + { + final int decompressedLength = + (input[inputOffset] & 0xFF) + | ((input[inputOffset + 1] & 0xFF) << 8) + | ((input[inputOffset + 2] & 0xFF) << 16) + | ((input[inputOffset + 3] & 0xFF) << 24); + final int compressedLength; + try + { + compressedLength = decompressor.decompress(input, inputOffset + INTEGER_BYTES, + output, outputOffset, decompressedLength); + } + catch (LZ4Exception e) + { + throw new IOException(e); + } + + if (compressedLength != inputLength - INTEGER_BYTES) + { + throw new IOException("Compressed lengths mismatch"); + } + + return decompressedLength; + } + + public Set supportedOptions() + { + return new HashSet(Arrays.asList(CompressionParameters.CRC_CHECK_CHANCE)); + } +} diff --git a/test/unit/org/apache/cassandra/io/compress/LZ4CompressorTest.java b/test/unit/org/apache/cassandra/io/compress/LZ4CompressorTest.java new file mode 100644 index 0000000000..56ffdf1135 --- /dev/null +++ b/test/unit/org/apache/cassandra/io/compress/LZ4CompressorTest.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.io.compress; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.Arrays; +import java.util.Collections; +import java.util.Random; + +import org.apache.cassandra.io.compress.ICompressor.WrappedArray; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class LZ4CompressorTest +{ + + LZ4Compressor compressor; + + @Before + public void setUp() + { + compressor = LZ4Compressor.create(Collections.emptyMap()); + } + + public void test(byte[] data, int off, int len) throws IOException + { + final int outOffset = 3; + final WrappedArray out = new WrappedArray(new byte[outOffset + compressor.initialCompressedBufferLength(len)]); + new Random().nextBytes(out.buffer); + final int compressedLength = compressor.compress(data, off, len, out, outOffset); + final int restoredOffset = 5; + final byte[] restored = new byte[restoredOffset + len]; + new Random().nextBytes(restored); + final int decompressedLength = compressor.uncompress(out.buffer, outOffset, compressedLength, restored, restoredOffset); + assertEquals(decompressedLength, len); + assertArrayEquals(Arrays.copyOfRange(data, off, off + len), + Arrays.copyOfRange(restored, restoredOffset, restoredOffset + decompressedLength)); + } + + public void test(byte[] data) throws IOException + { + test(data, 0, data.length); + } + + @Test + public void testEmptyArray() throws IOException + { + test(new byte[0]); + } + + @Test + public void testShortArray() throws UnsupportedEncodingException, IOException + { + test("Cassandra".getBytes("UTF-8"), 1, 7); + } + + @Test + public void testLongArray() throws UnsupportedEncodingException, IOException + { + byte[] data = new byte[1 << 20]; + test(data, 13, 1 << 19); + new Random(0).nextBytes(data); + test(data, 13, 1 << 19); + } +}