From 1818c5fa448b8b6df792b495a6452fe0065a0e79 Mon Sep 17 00:00:00 2001 From: Igor Motov Date: Mon, 19 Aug 2019 18:16:32 -0400 Subject: [PATCH] Ingest Attachment: Upgrade tika to v1.22 (#45575) Upgrades: Apache Tika: 1.19.1 -> 1.22. pdfbox : 2.0.12 -> 2.0.16 poi : 4.0.0 -> 4.0.1 --- plugins/ingest-attachment/build.gradle | 10 +- .../apache-mime4j-core-0.8.2.jar.sha1 | 1 - .../apache-mime4j-core-0.8.3.jar.sha1 | 1 + .../licenses/apache-mime4j-dom-0.8.2.jar.sha1 | 1 - .../licenses/apache-mime4j-dom-0.8.3.jar.sha1 | 1 + .../licenses/commons-lang3-3.9.jar.sha1 | 1 + .../licenses/commons-lang3-LICENSE.txt | 202 ++++++++++++++++++ .../licenses/commons-lang3-NOTICE.txt | 5 + .../licenses/fontbox-2.0.12.jar.sha1 | 1 - .../licenses/fontbox-2.0.16.jar.sha1 | 1 + .../licenses/pdfbox-2.0.12.jar.sha1 | 1 - .../licenses/pdfbox-2.0.16.jar.sha1 | 1 + .../licenses/poi-4.0.0.jar.sha1 | 1 - .../licenses/poi-4.0.1.jar.sha1 | 1 + .../licenses/poi-ooxml-4.0.0.jar.sha1 | 1 - .../licenses/poi-ooxml-4.0.1.jar.sha1 | 1 + .../licenses/poi-ooxml-schemas-4.0.0.jar.sha1 | 1 - .../licenses/poi-ooxml-schemas-4.0.1.jar.sha1 | 1 + .../licenses/poi-scratchpad-4.0.0.jar.sha1 | 1 - .../licenses/poi-scratchpad-4.0.1.jar.sha1 | 1 + .../licenses/tika-core-1.19.1.jar.sha1 | 1 - .../licenses/tika-core-1.22.jar.sha1 | 1 + .../licenses/tika-parsers-1.19.1.jar.sha1 | 1 - .../licenses/tika-parsers-1.22.jar.sha1 | 1 + .../attachment/AttachmentProcessorTests.java | 4 +- .../test/sample-files/testEPUB.epub | Bin 29719 -> 30552 bytes 26 files changed, 226 insertions(+), 16 deletions(-) delete mode 100644 plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.2.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.3.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.2.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.3.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/commons-lang3-3.9.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/commons-lang3-LICENSE.txt create mode 100644 plugins/ingest-attachment/licenses/commons-lang3-NOTICE.txt delete mode 100644 plugins/ingest-attachment/licenses/fontbox-2.0.12.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/fontbox-2.0.16.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/pdfbox-2.0.12.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/pdfbox-2.0.16.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/poi-4.0.0.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/poi-4.0.1.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/poi-ooxml-4.0.0.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/poi-ooxml-4.0.1.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.0.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.1.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/poi-scratchpad-4.0.0.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/poi-scratchpad-4.0.1.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/tika-core-1.19.1.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/tika-core-1.22.jar.sha1 delete mode 100644 plugins/ingest-attachment/licenses/tika-parsers-1.19.1.jar.sha1 create mode 100644 plugins/ingest-attachment/licenses/tika-parsers-1.22.jar.sha1 diff --git a/plugins/ingest-attachment/build.gradle b/plugins/ingest-attachment/build.gradle index 835147c255c..00a36629be4 100644 --- a/plugins/ingest-attachment/build.gradle +++ b/plugins/ingest-attachment/build.gradle @@ -23,10 +23,10 @@ esplugin { } versions << [ - 'tika': '1.19.1', - 'pdfbox': '2.0.12', - 'poi': '4.0.0', - 'mime4j': '0.8.2' + 'tika': '1.22', + 'pdfbox': '2.0.16', + 'poi': '4.0.1', + 'mime4j': '0.8.3' ] dependencies { @@ -66,6 +66,8 @@ dependencies { // Outlook documents compile "org.apache.james:apache-mime4j-core:${versions.mime4j}" compile "org.apache.james:apache-mime4j-dom:${versions.mime4j}" + // EPUB books + compile 'org.apache.commons:commons-lang3:3.9' } dependencyLicenses { diff --git a/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.2.jar.sha1 b/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.2.jar.sha1 deleted file mode 100644 index da79885de91..00000000000 --- a/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -94919d81969c67c5894646338bf10fbc35f5a946 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.3.jar.sha1 b/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.3.jar.sha1 new file mode 100644 index 00000000000..464a34dd976 --- /dev/null +++ b/plugins/ingest-attachment/licenses/apache-mime4j-core-0.8.3.jar.sha1 @@ -0,0 +1 @@ +1179b56c9919c1a8e20d3a528ee4c6cee19bcbe0 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.2.jar.sha1 b/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.2.jar.sha1 deleted file mode 100644 index f88f3fa3f37..00000000000 --- a/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -32c9a9afe84eca86a3b0b3c66a956ced249ceade \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.3.jar.sha1 b/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.3.jar.sha1 new file mode 100644 index 00000000000..4f98753aa0a --- /dev/null +++ b/plugins/ingest-attachment/licenses/apache-mime4j-dom-0.8.3.jar.sha1 @@ -0,0 +1 @@ +e80733714eb6a70895bfc74a9528c658504c2c83 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/commons-lang3-3.9.jar.sha1 b/plugins/ingest-attachment/licenses/commons-lang3-3.9.jar.sha1 new file mode 100644 index 00000000000..2adcfd377f8 --- /dev/null +++ b/plugins/ingest-attachment/licenses/commons-lang3-3.9.jar.sha1 @@ -0,0 +1 @@ +0122c7cee69b53ed4a7681c03d4ee4c0e2765da5 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/commons-lang3-LICENSE.txt b/plugins/ingest-attachment/licenses/commons-lang3-LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/plugins/ingest-attachment/licenses/commons-lang3-LICENSE.txt @@ -0,0 +1,202 @@ + + 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. diff --git a/plugins/ingest-attachment/licenses/commons-lang3-NOTICE.txt b/plugins/ingest-attachment/licenses/commons-lang3-NOTICE.txt new file mode 100644 index 00000000000..13a31408974 --- /dev/null +++ b/plugins/ingest-attachment/licenses/commons-lang3-NOTICE.txt @@ -0,0 +1,5 @@ +Apache Commons Lang +Copyright 2001-2019 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/plugins/ingest-attachment/licenses/fontbox-2.0.12.jar.sha1 b/plugins/ingest-attachment/licenses/fontbox-2.0.12.jar.sha1 deleted file mode 100644 index d342b59edfb..00000000000 --- a/plugins/ingest-attachment/licenses/fontbox-2.0.12.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -566fd1d6b25012bb82078da08b82e6d0ba8c884a \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/fontbox-2.0.16.jar.sha1 b/plugins/ingest-attachment/licenses/fontbox-2.0.16.jar.sha1 new file mode 100644 index 00000000000..9d3ceaff683 --- /dev/null +++ b/plugins/ingest-attachment/licenses/fontbox-2.0.16.jar.sha1 @@ -0,0 +1 @@ +3f7819279a0b90a01b07a870d1d27dffd8de24db \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/pdfbox-2.0.12.jar.sha1 b/plugins/ingest-attachment/licenses/pdfbox-2.0.12.jar.sha1 deleted file mode 100644 index e297ab7f91c..00000000000 --- a/plugins/ingest-attachment/licenses/pdfbox-2.0.12.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a7311cd267c19e1ba8154b076a63d29537154784 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/pdfbox-2.0.16.jar.sha1 b/plugins/ingest-attachment/licenses/pdfbox-2.0.16.jar.sha1 new file mode 100644 index 00000000000..fd4245823e5 --- /dev/null +++ b/plugins/ingest-attachment/licenses/pdfbox-2.0.16.jar.sha1 @@ -0,0 +1 @@ +5dce5e41fc472d02800df5ef060a1f3a58c36902 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-4.0.0.jar.sha1 b/plugins/ingest-attachment/licenses/poi-4.0.0.jar.sha1 deleted file mode 100644 index baab2728481..00000000000 --- a/plugins/ingest-attachment/licenses/poi-4.0.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -7ddb9b983ed682c93a986e8bb596d5935b13086c \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-4.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-4.0.1.jar.sha1 new file mode 100644 index 00000000000..bce6d5f9d9a --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-4.0.1.jar.sha1 @@ -0,0 +1 @@ +d8eaa341687a7dc48048d964d0d53238959ca9b5 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-4.0.0.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-4.0.0.jar.sha1 deleted file mode 100644 index 1baa4d062de..00000000000 --- a/plugins/ingest-attachment/licenses/poi-ooxml-4.0.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f3fa9c2bd64eb3ec15378de960a07d077ae5b26d \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-4.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-4.0.1.jar.sha1 new file mode 100644 index 00000000000..1edaed3b1fa --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-ooxml-4.0.1.jar.sha1 @@ -0,0 +1 @@ +9ec84728bf4236b8f9ec7fef3fe1b705eef2b408 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.0.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.0.jar.sha1 deleted file mode 100644 index 5d2e3c79308..00000000000 --- a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -125f9ccd2cf652fa4169b1c30e9023362e23324f \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.1.jar.sha1 new file mode 100644 index 00000000000..d3022b4052d --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-4.0.1.jar.sha1 @@ -0,0 +1 @@ +d2a066340008d36cb289b71f0f7b6ad562940644 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.0.jar.sha1 b/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.0.jar.sha1 deleted file mode 100644 index 7cd201c3c8f..00000000000 --- a/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -1038d3bb1ec34e93c184b4c5b690e2f51c6f7a60 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.1.jar.sha1 new file mode 100644 index 00000000000..5bf9aedc34c --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-scratchpad-4.0.1.jar.sha1 @@ -0,0 +1 @@ +89b1ce1b932338204ffa3fab225b65b5d33dab5d \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/tika-core-1.19.1.jar.sha1 b/plugins/ingest-attachment/licenses/tika-core-1.19.1.jar.sha1 deleted file mode 100644 index 0145026a76e..00000000000 --- a/plugins/ingest-attachment/licenses/tika-core-1.19.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -c1f075aa01586c2c28a249ad60bcfb733b69b866 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/tika-core-1.22.jar.sha1 b/plugins/ingest-attachment/licenses/tika-core-1.22.jar.sha1 new file mode 100644 index 00000000000..d988ea2ebd1 --- /dev/null +++ b/plugins/ingest-attachment/licenses/tika-core-1.22.jar.sha1 @@ -0,0 +1 @@ +b193f1f977e64ff77025a4cecd7997cff344c4bc \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/tika-parsers-1.19.1.jar.sha1 b/plugins/ingest-attachment/licenses/tika-parsers-1.19.1.jar.sha1 deleted file mode 100644 index a3a804cb87c..00000000000 --- a/plugins/ingest-attachment/licenses/tika-parsers-1.19.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -06d45a8683a7479f0e0d9d252f834d0ae44abd6b \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/tika-parsers-1.22.jar.sha1 b/plugins/ingest-attachment/licenses/tika-parsers-1.22.jar.sha1 new file mode 100644 index 00000000000..893a7115e76 --- /dev/null +++ b/plugins/ingest-attachment/licenses/tika-parsers-1.22.jar.sha1 @@ -0,0 +1 @@ +b8a823128f6165882ae41de3ded8655609d62d88 \ No newline at end of file diff --git a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java index 654bc361f53..5658eb56717 100644 --- a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java +++ b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java @@ -216,8 +216,8 @@ public class AttachmentProcessorTests extends ESTestCase { // See (https://issues.apache.org/jira/browse/COMPRESS-432) for information // about the issue that causes a zip file to hang in Tika versions prior to 1.18. - public void testZipFileDoesNotHang() { - expectThrows(Exception.class, () -> parseDocument("bad_tika.zip", processor)); + public void testZipFileDoesNotHang() throws Exception { + parseDocument("bad_tika.zip", processor); } public void testParseAsBytesArray() throws Exception { diff --git a/plugins/ingest-attachment/src/test/resources/org/elasticsearch/ingest/attachment/test/sample-files/testEPUB.epub b/plugins/ingest-attachment/src/test/resources/org/elasticsearch/ingest/attachment/test/sample-files/testEPUB.epub index a6fc2e634d5c45a3f0d8d901da0dd372544d0eac..a88df805858b35cf78c0e2f10ba0a9e3163a2f80 100644 GIT binary patch literal 30552 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 literal 29719 zcmV)YK&-z|O9KQH0000006MNmJ8xmDEEE6$02BZK00;m80Bvb)WpsIPWnpk|Y-wX* zbZKvHFJ*9bVk>%Sa8OGF1QY-O00;m&u17n&&J}c@0002)0000M0000@MN~m8Nlr#D zV{dMBVQFq`KJnrnw zyy=gx;KdVDc1%Vdy1f*~q3JDC0Y{kre$`Fc$T^W_$S!MwfLRx-IU@6aWAK2mm^+M?0dft4pi_003_V000XB002)=Q!jLH zV=iuEc&(I8Z=*mAhVT6q-nj=SB<-dVq}nAtRB98X(nF5}GYM#627zhP{q-FnX+Y}7 zHeF6*r?uT+Pp%AB&Y2Jo?w5q8<1T zzi)3mU<1VE&HV~-5iFV)_HcMU7$IIS8L*frpCN9yTTAeye71D4!N23n=>^txXas{+ zUUF4|)gW|BB4o=KMp3TIU!7(`l; zRAdHVk0<9BKc|;w4*0%E$eiM??89o(#8aPdq^B!I9ofg1WPDePmQ@zY;!Tx=2moLZ0&H zRUu?i58x;`h;Df((|-Ecl&8(Mpyum#^IC&%>z(}&pe!PnH6FEv6;qb>XNiYKKLxRS zAof>50v@Ik^cuXjweobH#%i@b7=4Rs+@l(Qc|9@D$t-AeI!)ACl(;{PzQr@?@k~zT zvHu^B{W(t)Hy@Kz|FGs~FHlPZ1QY-O00;m&u17nX{15!oWB>s5od5t60000_P*X2M zZ+2yJL}hbnXKpTPaA)khcUV*3x-L3tQWX)9PLwWH1OyR?igW={X(B{KL_k19q=m!= zC{h#z6e&uT8jvP6bfgC99TIv8B$NBW1O7FPafyt<>Tk)=i(L+Jjo|`f{&l?&rKMZ=wp~!*jZTE`HpfP z<@|HT~OA`u6}c56g+us+W)OS~;^y`0|~5@!=brQfl{}ykzG% zDIh2$EG;7|cSc@a1dHFxe$}1|Xepc5sx3spkcl_$?8WOa`y{ng*2bb#GNrGS*3^n@S|*rD&Ml zqP5^Ht41+h&oLzW1&oOX^uMJ62_ZCq3O3r{qyaKXbCx7H4HzIr9&#W>I_B|@+eV^1 zO{C9+=1w1^7v3$gvq!s|-pZJaT&Y!&T%IM~g*>MLyAtq4CmKKlVt>;BE>0YX`r49Q zFiQjQhld=IXzK5F8h~1b&smcDP~V-w%RO)$Kh+3@#5E!rXu!%<8qih$XE-R6Dkv}q zrm&?S*dl4b{N64Cu3{?;iX2f{gaxvZ7>0(+3UE2c;iG z44qBiSppL|Xuv-xHn`juxpN31(w}kmFr1eP?Vte+kOe5|@B4!P-V~6_Rz`#vO)A`s z1~9^xK-Zh$s82LtPJtYo4*!eY$Y)g=;fFlnZ3NwL9qTLda{rUQTh;_E4|YIg7Wjvq zt-tNLLIc8Ch}<;biY(Q7iv|!Wp)3ZV39Z=!iVB&X27C(Dr~lS-p#jek+j^mY=?(ge z^$=gbXOfIWXaG2y2D||8aR1BJ|FZSJZ2d1=|I60@vi1Lqwnif-wg^{=W;i4v5byT3 zP7Mv-=zY?$k?vMQ9jHxuK>F$8lW1aZVLkSQ8**D=4C#Y7P)CZaT`(&2X@^jk2( zC+X%*nzHS;K4^ELk{rl4$m9EC-20|rbnL>*NI8Vo7KdEM^M9767fNYBE)0+ZXn;59 z5aMG1sv0FHLtT3yFF6C|)0)2JO9ME_W3Wc#wmXdOw^cNNqVf~*wP1PnFIs_x(&N8j zga+^-&xiIgQ3hg(E(fPFA{F{BHb=^RW&9^;-0ASYb$_G3Q;EW!@<|%-B%PSP$h!lR zq5&bXMBAkn0t*d@H^a$N=<&T8+7`+J(WCxFEjt?>6haj-`=D&|F=+E6yam+B!e`~= zJ41H`;JN|qM*W7*%`i%X}>a~vExfhXT0!-M+c)LwO5H+b6L zV%=sr{ySD})}o!iV4$TXt+23CFDc_^`YWV>x=M^VV=3MzBCIDkbg&Z?9~c?my3%Iv zX#I()Jy7-~cQCd<`{S~qcdEgIDubJO9R1d3YIEq5xbN|w&+HDeb?Z%VKr@_SU0i8+ zuBLkM>Ce}L2KOTe&ngNma&@tHAIq{fR5my8Zkfj5#!8BluNCOVGQ3@nmdddJ>5%~Gha4xVH2(Assp#fQRUnHzOaXznQyY++!@Nss-vS$ zvENs@j7UH(qmGHtOTRq^G(L$QiANB_$gF~!<6(5Ibr}EuATp2nVKk#3QAGo}o$$H` zjH9MyiK|IkGu9^7;v0`ys}b$#%+L#XO)M{hxO4kO&nV%%0PJ-A`)@uM_PteO37^Vb zD1#7Rc$1}`Jp3+M`#1Ec`}xVDXY*KFkK7Ml?95Em-7sSsQ2d|@KKBLAk<<)lF0L~R z0t6c5s?Qx=M~&a>GUP7x(Wr0XAl><4snqQ;PaR5Egd^yY$e?F-&P*&e^94y^CTVZg zhs?HZNt8ylS(dKDWQd^w=Oybd=Z`6f>$Ems%bY5vqdcH-r~ru-m#eC#d_X>8m#s94 z={6j08)D0(xW2C25J%QLv;3}cNCTWhkL0;{1$oM&Jbi_G`My696Ld8uoQhn=2wSC^ z2ChMl-b(LP*{QRR5(V8sG_d#{gqLwZw9}RE>^7Pmp0uz z|HTXaQ2T@9Gl-HHY9vx&4n8JHXdJDBV2r7v#CfZDo9Z-~P{~_0UV~*4i4X64BNA9% ziNkKNUl1f=>QZ2g#f}bR!+VxBx}wLl)AW)ma&rx9&(fW&SNC{EMs;;$*M!5nw>JbO z^rhmAC$0Io;!IWmM6b^T6JZr!)dmsLd<8pRfersG)jq;mfBu~RQIkXOs24Trx`tEd zkC+He=qes#taP?&PBNby4^9#6@lrercDFuMM)XsZGmuJ;=;SjUF0SJP4ExtZEXt7Y zeN;Vfw+`M}p3XEm0-v)EQ+Y=PQ(M#IOJCX7)`!a2P^Po7oppmM*FzWe<4cj#6Z26~ z{)Egpt9(i-*DY7QX^PnFLg1EGk$H&ePj@+bB))JxNH5&Oq*un0llNOehj<7@Ow1q7 zq^I_9R$NcaovQG=jHCBcapClf5c^S)d6!usX7RaKGu4)pMpW|<3^yeZL5+#26MmYj zFCgsCpOqC)LIrC$JH=MyY$o@U4=Jyx>_nsaq*h0`2|hesCey_|TjaY-GhlOi2$OXv@3bfW=AZIGPd zy*v6*t^MuWH@;&E%gu|IyY6dU(}gM|*qzaHtFg=g%fKH&#`>v!tF9Ps?%64ih7f2iRMRAZ>_0>ZJLfI#QQXl>?r4VZbJ z@=@{CiOUx9Tdk`1q))_f&q0BEJn3d-jlY1vL|E4O{NT^bFZE-IjJko`gq zKd%t8Ak140DL;K9owm7YlW2bjq1e}&C_9vV;PHw5W|O|~V%8U%UE~4CT=bD^bRuVx zUBT=kh-$psC5PyP5aqVoEQN`ndA$f1G)iE72J|ETN~Bxmz}^LHrkh$HC%++(0;r9? zShc@<_DRR+Es2e38o+et!I`@&rgaGeRhSJ}v~7Dj?pEx9gdV*BDIvoTEpxrJkW_Vk&5p`B*W+OK-*WLnsivAC$!zP;I+n^ zPyOVd&YDbax+yDX6eaa#kgoe|86wHNYE<)qWok``o)I^wpa$Uhc_`rx6g_MdM|Q@$@=T z8yb?HyKB1uf2pTUzDtR2IE{#?vm_ksu5f%w=U(&s?3{Q4MyXv0LuuW=Xd-y`u>tHm zk+c2KvNfI6T~DTeQ*SWa-E5AJ>ij%FM7)i)Kw$0D*3&Y0spcX z+JNsm!++WM7myW3ZK^o<93)bMn9bv%SDX%eC^zK9=39*E8{rh!#XxIY50|sM3OS{7U6K zeS-7Jhn!S#XFQx56iCNE7J5`B_&|%S&y6}j~^^SlCNjKDT-`` zB>R|ox>D?+vG#OV$|5Vz`k;N@oG;may(-X?S=#fy^bn-(Htjh9pG!~Y2cunJs6$w) zpXTTMKyUr*9zk;ZDa}i>=C4&KWg57oHkHX(jBGnM)0!S1p1(3oCLy$}XIn8<>PE4c zy+e=Isqa`vBQkG1CYO9_RuqXAuldqF2(|L|I@`gad{c#;40|fRsc>d7Ff1N*)KU4N zrre~XCdHL_az~z9JzOSwAZ{^XcN>}8Oua_AgXr*?jGW%20iIytODT0_6A~2j@>8}O z=CI4KaqxB!Ooj#^)s+o`BmS17-Cvk~!m7pzlqHJ?q7@0RDaCuj|Z zzm@tx-1E!rz;zH-Vg}6^Cnh@DKNPBVG#aNZ!Y*Sg2owdvN#tpm0=@h^oS~EFc{-#pzE^!*Xj zM%h04FD34xRF*y@==D1B&;aIM-16&PGtdd*?46fQYH)iIjkXCt?3!cURg z68xx5V!Z)K+^uf=`^3xW3q!nI!Aqlu{XIqmo|dY=+u>cYU;Rj~Fd0#vF7dH&8Zl{p5xe8o_TXmz&TaYQ%f7azgi%L- zEV2{y9gO>-BTWPJE#A?9S8Q-%{x)QykO;!S8!ZJ^Z>}FI^-i5U2N}aQgrzFqyRl-s z)MvqgA5s-tUyda{-KSWC$yG>F{{Q@UT}|Ml;*Ue~?*c67($4_*uE z#H z|E|!8tV(v|Vr#!&LSmJtW!(WeBm8`^SocwTL(SmZhvPw@kI3UxIr2@)k2)V0j}cyv z{o{*|${mHL!|K1^V|aAJH-+mLwq5(VDkO^r{NUce(zS)fb&#~F#>F}&d0onT7o0B` zK%FISPG5IRTl};uQ6GO5M@T>ysJdslCk9)8UAXMZc;yw9@he9^BDup2WcRh?Q?N&> z-t-|g_;61zf;B-~gIe(>4|Q{U^}ziQ^aYNywmbkq>Ck+)lb$FaBFd1i;DhrtAOcKa zp%+R0p7Sb1`R_C!a=$URig2F>9ID%nr~mlCO7J22#lSIUJ~ZI#sFN)9summ%?sL-x zAAoFV03$gs4FO4_yFTPVc?LuSN`qA>az7D6^5j}N&VBoZz|UX4e%TebdqF&XRe-;{ z1-Y#nkx7oJ+o2ll=|PggSM(U+oyUlw^qFyTQ)EpKTBsZ!Xn>Sa3!DIor2!_(h)n8# z*QF3g1GcpwdpmpVG~ib*6-@)Mxu@ygTtReqqkO<1#HX(OfQY=vnlNtp^uhZ6$JqUM z?ch1Rz5QWm7`hL7?a*YJ6&~psz!#P%nbcKrqWx@8mGA@ObR=)$y6K(rI zI8!qdi*I=GW!6p}yNdD%8gtO{SCU*pO62S?9K=FQ5d>8vu?eI(@{0h<`WVr|>fPr&C=%E&i~nT3HJ z_Qa1p{uk%{q>~?}WZ5$~+meiMUpYj49?e&TR4ZN6;JWX5FZ*FT_TfyeQvBY5xSkis z-s8CJ@aRP)O*4zyiq#!mNdi03g$8iU69Rtcrm3h{jgGDD3yEUiGqBMBq(_8!q324? z%dS2#?LJPkha)0^l6D!aiThZ|r$8%5f%#$b znC*f9_T5}9@V1>+>x~PEbWqsoubK#HUY9*DrUj1uoSqCW(n2QM&aVdn7p&O4u{QYwbJ|X-7+2 zaBSOnj#7onMjC_ymj*FzEnD2goYvT~wMyTqFxHELv7fnXDi`%INO}09^aC9vFMM<_ zmip!;(u4*)K)wu^Eu#S~AJ8HQUU;*m*U_Q)iM~g$uDeD}s@NTnBy6eAXhz5O9h8m? zFJbWJNn&>%ai7XNyMd@gG1Gu?deWsnLn*6Y3rY)KzNofus5VnCn#=#H@j-n4GO0j4 zHQn}PLQ!avcf^;^&ZU7<#p=~6wq^yzZwqD!qoa9y+kaAj78Ag6`+#>Xv137{4SoQ2 zm?epN!FQkfAMQa;2bNLUDKvoHs3WgI8r~d4@KLjWXG86wcFab{6fGV!1g=+!RPL`r zoJM~?_*A2na{grM8OP@H!Mb9ZvxDEzch6RQ$Kb6!41cE-R}MQ_?m2|45B>p)m~b0hZ7 zFbls_zveo)=^}kKOnc5X;knR?;j=kvxh-n8Tyw*I4j#MDU0}XM^lM|elIqmNuv2nY zXQhw%lUS3@+|e;XL}u3x$E`C%&G&{^Eh|^|$pTY>7ZMqBB(Arjr}OoFG$waQ;~O)4 z_^Jr9e~!#I^t4Bd!;i;o$<1hKtBq&zuQr1CS>NeN5N#Wu_4;DKJgdQ?rfOeEztFNP zf-fyg5PiLFRCYJ~kr{lFG2SN};q~Icwa)XMo8+|38G86O6zI2rai%E#JAFvpd*ZCo zAR5(6`Rt=K$b+pjaHy+QM1n^sGgHO%paYGqH{d-C@=#m5o^%n`D=tF$ zQf_Y8eYp-f(eO7qVw6luJf#ST zz&04AE;YoPU3z=h%a><1)$Vn8c|y&TC%FCHr*-j-h> z;2j)IB|U#~o{Y{!&B%+mTm72g)`#2-9BfL~Y*pd(&=VWoa2a|UeMORsupJwowNu zplo)rjUGQs)N2P(&qR2Q1WSo_JLij}DZwhqdK<(ryjwGfW7oX`%tw6LVO$l>$(-!G z)cs=LB?{U%)5VVHfJ_)+7H2zD-U;VM$y6kFTh_MTe#CpsW<)2$uRl(oH|lv?gvVhn zx{7=PW#woiL=M4ptCScvrFCDj4fq5P=>2fhZRj*vd-OXQ_6J4m$hSwxV9f}f%bs&s zkl}#Kz}(d~{ zb)5S;zfpantYUM4?kv&;dzBQumqa=Pkh+N8r#x2#@1`m&a}(u_$R9vQ=>P=-Q)JT` z3W;#E-&`zXU_eXJ6BQAYLF|Tkqxs95q8?u=7v?YeMJ4YbC*XvDSVBC`A{D)=v4kU* zAsx_zh8QkRJV^zpzcg2aKtJT*h8igt5OT0EF@Oy z?-4j7)FmjJ_-&yam-L3f6x?O%aOd>t`{0e^ZFVu~XLOh#dC#2WfBTCGdJvN9!}>nn z3~UHr6lZLxZJLaQj`mK-ZZM$Ps2m``^Dt|ow^eh;`NhjD7EKAV ztTC?{^+HByz+A$N>Pt$J5k4m(#5Fz9VdX(py!cuHom_Vm%(SBvdp&E?M#sB7$19|N z@0P71T-us$_B`p5=Sb3Vs;se4!PkVWPWh1e6bRYBVUis#bKIPxGlI4hEM@I_0MVj3j=>%qthwxA;cGQ*%pQT z3+*A3RB1qH5%mo05h;b0lnuglY+t5hK}rBUt6XCFCutx(>ff&7#Qv=|Y}f86Q5V5@ zaF^^7*@U_e!XbJi{<4765c*e@ERV;Mus(RR9k;1D@U$EqO~G*-av62=b^pj>6WxAy zDM;#twOLje?`?ZxFm^)&b^K06R=|hz7Nl)qEF;r6abBb2b(b*|R{d%kkfxoO%Ti0VX#9=#iG*?Ddv_C^MDVaz z7|vhw=jt1h@>={PzMeWMA7w0b$}Lv{sfKjp9y7A1e5(_Ny5$p#py1qTl*DBGL+|Bk z`8FrRo;Q5nTxxM9tS_3t5NZ#&^eU*#C%OW}V}M!JxitFhs0$%ruytYEUW^)%pHRxW_12X&zCAVF& zZQ~wqA*77Jqyy<`$)IXf#IR=AJLiXLU>e)|#(~mUHt)+;%%4cNhA zxXJQ#w>*$<$Vjt{NRiZh_p)YU-Lmzd>vK_{#dSOPTHTF3GWT$o0&c5KPloty4#7Vg z=y@Bj`9^WCK#1Dw>q#k-`XV*IIQ4^H*XYy-r#`Uj)WnZo{h>8NO5y{W%c z$@aU*nwsFX@-dRyW&E)OOp*N2n+8K0d(r2h2ey^GS-8%ZmnT+?wNAxwUw7BJj4_vO zzI|&Vr#j#M;lzFEt4TFs&6hduKi9nY{)h>1e@|mE{Rj8UJwybutRqaFo5y|IJ-97n zDu@vGBhh^H#JPn$$%MPX`^9cl4kmiM6kui#SKa7AWo4V7sIFJL_s|r-ylC0kHA=BG zO_T6p-+S9Wu((u}ig1}ApTRRVQ*~mNEV+pB#`qHs{PvS34UsEX9WLq%j$!+bsjYaz z8aU`V@&;Z1Oc)gkbR53IYdcessYiw;uIgf~?j{&}Tt zwfesTKmV*Su?Ra8csPspX_*dbOS1U^aacXy`-Ffiv3<|=n0?M4(QP@&ODG(m0q(DH z`K!tNOOfh+PwtcM{Gz&jS#%KzcIgJE!pheUH6q@qcc*IJDy%0Pdzr1dI=Nf~-daUc0quYev9^eClYx#uv6CD7L|HntD5WY|1z7vtGrX zj;@Y&`xUiUeqP(PEA^wH+UXZln`@i9ZY_MgG3*d(#k#RW16UYwG@!}nwJ_@|1XMQ9 zLsQ$MM|^1pqhU0w_UkMg%7_Vv_(3ncP!nKtN>-g_fv2!{tbe9a?({pu$Tfo}3tu0- ztgl9>QrC%U6+Q{k=76qhQ8_vxQ~lL0u%*>fP%~+wTmmCOTy%N6 z9r<-vYbqq&-1&La+}V=W2kc!phYj3w)7SUy!oOtf$fKjKTzZJ=6Fx`O@X8O6O!Y3A=qY|X_7Z_@e zTxZjgJ$0|)Cgr)F<{F%{LDgW+(Z=1SAA0#hdECIgOBD^GhI8U!Z??w*x|TO1eVAVM zJl-jKZlM-ltm1%BqC)&Ds<}m?x(ludj%2gD_mo#5_A2vMejnyR)ZJ&R(qHbWM7iUZ zbUB?I?JL56hYcFBepq^YEu?H|bMiyl=MIlUC**NGMGxVa1k%;OzAfWq&(Is-6HZ^; z>9x~{V*10!*`eEkZN3YE9QI-EgZY)VPE{AxQoQaQ6&%XK2Dq(0fW0Ss(^2L*S(j)~ zIJNTZ>~tXVPNj<|-n}o+hbiX!jwre1r}ZPzS1(oRMN}CCJCk0n()s}{IhTkdX=GKI z1yBkI@1MCWDlFuvrB&y^Q0XP07f>FwgUGC?`*C7HTM|!U)fHk=W#zqd_l$QcO8d(g zO_-yYBKNtuU?>`JjLeJq4mCkw^tyP@Ms&bJoPP{g{V@zNo;rs|7y{qc%BO z{q_5I5wd?QLQlE*#42hHUG1y4tbGW_=u@}G8Ih_Wht^8B{@SB9lS}W>_m+plCc$Si z(^BniyLAiq6VA`}$wtDP&cGKK@B-9^N620Fg00&`1uDB44LHU92D!K6N&~){-v(6* zVCO;M!u#|rd{lX4*`f0#$?FCIkC$bOwtv%+9*=D1B$L>^$b1vF5Z+jul7rBG;&2h*j;V2@)FB=x9=oI6mv-==oCP3rWSi z;#_ZO!>VGNi_or0y2ru%pUqi?EB#YEIZz#B?JFJKnVk1@-v7MN8+>~o@@BR)_61Ct zY*&p(zMCOgpL1yOPQK+QsML5ls!T@gEy0y(rlwbo;6yaYns^teCqjH++}Q5@^j9&6 zdiY)qR&h(-^_IKQRU?@iOo7 z1Fv;8!A4A{CuK=JU$w}`sr-9O@dfst6RyRXInyn0XMf>tmf`Xj^9gLfT%DU(M;gGC zeDGa*Hu4l_8qqPDbClN6#OR)%-lTTkH?FL^Dv}IVjN>UeHtR2$ekq|BQfv zA17aE_!(4mI)Y?tZhK)H_PFfSE_2O!-2m~uQ3sZn?as21jZVrSKBt-h2#zAuVJQ&R zgmI2&pRh_BaHIhRPuHst+37U5GyVEMw!`nAbT#_lR-{oVqWsnr(S2_SOqfAlTHo2B za@6kY35WV~Q>qXF5;WjL0?3vIWR?Bur2$j&hp_L5A_Sg)3s^8I=}*9h_`FdOvFP_# z$Rgn!%;XO9<0%TQNN3Q2287NXtNrOD>&9p;grz_;kB%45!&Bl+dqqgbb3;tCfUL1xukrfEXkaQGs^STdZ zqZF1)j|$%I$nn^5*DNNpwQN->nyfI~9pB|A$s98@GCfq5+b^)n1BG>1)+0MJo6xgQ zG*(gbH%2$BmOfPwNAcVII2G(Wj7cGDqL+?o(r@erR>Hi4%w9mag25=51-YdeL<)Ya z{k6=If5b$#gb^v6{S#cyjfF3-t_@DE&&YD~Fr}BVNAwt#o5k;DH+L3Vo5m4u`IAOh zK10pjUS5arCZ_w*0CiXo)BB?^ore?9+X(EqSmBzu0De93#yK{DtodEUm~SKEmkI~G zliWlDTo#arcEh6T*xO~0F8WZ>tH|-ZTypoe+xi}#6+|@j;lFPjBqB*S;hiIa^VF7z zgCba83pEcs%};Fm&;CoOUM9c8fzj~8Yus`4+b+1p&;SAIwCdj9V>^l3@MlGlUY&Iy zS|Iy-+>1U=dPX!rQeF>115DfyU*JE7cPUo8tQ%r~ih{Y=eQ)G${_Q+^3^M%j2)qyF zDIK*2zUR;WcRdR37?ERUDKL5n^g&g~k&-mPi3Sh`cR+NI7J|Cq*3ngOce#(5DSydX z-#?yB&1Ec!=ZJk{WAXN<8gJ~U7wt#<_BzPC@8*13XaLW++58vEmDyHtrNQNigy-osv-QsS*XLsEnFXxH{z0 z&`>*6?EF(C5#wqi!_l}W(kLa)CWshwy&lPb$(jjZc+L_UBd>KQPJN|DKHEg0O3Bts zARmsiO#G&3;d3Kv-nu!(G0uTPO{Aw1*h2_$pD>)*yy#uzkN8o3O?vv99YY!GGq~Ss zG6p{PWk(%S-W!+K7;jc@QOYTC3%y>Cc z2XMryv+U7<#7P88;hQ2L`>%7#!Web^AUUN%{~rClzDWf^ENWed>uh zEOS&10}0nVhR>pBW1^-0=mSx94c+r1;h=YU2%n>0nw&>?Ma(8Hdle;98;s)Lb}h

6%KZ1mxPE zeLA9hFaO=uI$|gMn$k`+P`=lB`gwixusyl$X%P3YaN)jl!ou;h2C!y>Ruk$SJFa=Mv7E9D9N1 z?TMc6?M>7?BXl5*sL=75i{`~>hHa5`F-m$$md5q5-N`dn2j|lA8@C0Yurb?U`R&6s z=1Xt1Nq0@xVDBd$KC9N^5^h8%g1#h=u1;4~)}uPpqd?5iP!bRHMk(I*wU2jh|AY%A zwZQPpi<_O5)mH7sg3A$1lFY}EUqNL?ScMGgZ@m+wYgTYqVoWc;zmmkYrE`HhlCpG| z)gOAQN9{H6$Ltuyw6v#5q^=pcJE4|}5VMCVKcQ7?pCW9zFJ9gfafGJsf+dj;w_Y}= zQa)1EtKQY=inTR_`!m5a*H5n2XmP6gNLVyRB}`0dA1=IDKNKMIdsd7;Vk!?Ob)w4olR|-)N~XTwD1I_fG{jyznj19=bcy-UqSx9EmVLT_!_V+{T_Mg`l*ACzRBdqgZuP**s*ChXUwSUU}xc~baD+>8{hY&OW zRv-L_Nu2O%OS0wm+XLhYczp+1Vdoz^l1ccFBbi$N_eU~!Xh1CTxCST;&I-MW>6H<2 zh&D1U-ZDx@%%YoTtkoLDaCbUw@LZ(+0EZI4)9B<-ik@Ftr?}uSR&gR%LP@W zBx!{Dv;_|rzs-?-<1Ntl(<>1FzS`FL$B1Ufh7OE_o z?n^z_Z0UU^jCqn_}Ht}z?$9-;6Y`aO z4p+4GR>%Cia#F@Pi`ulhkIZxr|D{_jZ>66%vKG1VEezc&9xrfLDEpdGtr8CBhpONs zS|XfqF&T%&aWbCp@`}Qdxtiy84Dx4A-G6dK?L*2dN3UC}eIHX~l07qje_(IUx-~aw znLiY{x%deCAhqet3AGZZpG-QozhtQ#(YWuT@MiFT9Jf0hrO)fV%r|;5wGCg9L7oH8 zebHmZEyutlhz+x?X`lh}WuGI7aRw*zT*bN!XC8}u)P8?V>lY$Gz8Sqf&}!3~Gpr$y zSxFux#|o&oj(*eTTTxG$yiKRvN=UU8JNVppIEQqCRk@|Wm8`kiaR=wnK4lYfSjcQM zXo9m5F1oSwrCE5xcBk=Mv7)PC_|ox^@<$9EUM&h~yL1;FuSFYXdrH^M9<7s;e9tc< zCO#tzGP=se{Zj&YaW9s`fTRJNNfwWt>s)$gpDB z8;8^=tIA6^d$sOfJ_wvIEks|bFwVPjGza@MjWjv>YrsFR`A%7!#pv+v1U1bq&-Tk0 z^*4mu9~5~GdZ7x>`gvY%A@GYiiNCQ$LP#(u9IO(?OxYUwiDIQrf!OQZPuAhs zzkT4drL6q);7Xz1J)@s2EU~>3Q4DFG7;aAJW1K}QDcFf@_;aKVd89MQPks$@KV{Kr zIP>P>>zxbtSf?oplTEJto)(3k%~p%AJk1v>9sIGiI#CbYEu!TtUSqa21P~SoShDAj zhTOGbevG&frJ{i=u%q?1cUUH|8yj4l`8ct%lI}GDc}u1X^2JN9Pd}Z0FBkRQ zYvz7lY=dglKEe&rw?&knC5OXA;iL8Y)G(H3u7QE~@Z~GkMAr~<#_Y^R^@%zYirZ9glCcwClTT2Eps)|EWO>$o&H+bA> zK*o)lU<`uAq7W?>?}^twJLv!LN>-ISxL%w;h~!K>*FE1%mI+mJ)RXiq|3SJj*+MYi z5_~T<^Nj2qf%C^YtwTNw(*SZ7RfWXu0AH22T`fCnpx7$^BF^%%Q<`&FcEq>vyrau3 zvTFl68^`3cp%yY939k$5m1)4Q+X~H4SCS7|5NAG=Sf!`->PC(JtCJtNl050f0M9iz zaql`V35&%!wADn}m|-FYWD_dC4HrqhJQuofDuZGl_M}6l-Bbsktq`pC!)`-Sx>LT? zau{^w_qFhco6aWpKDb62aK%K(H*T{@elM29An2tSGxosm<>QMf@@rj6jf`^a~|Y`eJHS>a;w4rnR9wgJ;@#p2Yt!3Ne6o(zz9jAW=aB z_3^Mhm(fl9Y4ZJSJ*1rMF2alGg?DKN3+&o!_^__O_k5;`Opt6Yj24-{XfJx?=Bu{^YoL4o?aA_0hNlbGyu^K%qt7`;%nD8)-um5y@#Rd8)|6iOY+ZWm?B?); z4D$HyB7Y-Pfw(gVj($81ex;*-q=fM8b|CW;eZ@;SPN~SEsF!L{wov2iCZ`xWWlHi) zpWa8`P*y4HA4#>diPg9uQ&({^5@#t&ok~AKX2~j z{cdaI5YdHn7b-`r$ZyMj2$PFZa&mc7s3GVyVq)ofWlo`rByU0}PXB)IKo{{NNhL%r zb^dV|tam7yp&trpwpXu6zv2S5FG~w#sMwhHOqL)8i$}jpY2^i#@@a>U3mMBkeQO zRJm+Tt=w4Q#k@zcrjtY?k~vw6IO{8&8>XW#)|V?R1hS}pi``_5$&!3gcWm(qYw+w^ zV7e=|{>$Q)n-9^2^<7JTTK9yq_o%I|MWjMIRhBxM&H>|D`>}d^KT^WWNnEOA5FL`| zq8D4jufNd>@@P*GPFUpfuF2=`f z;0I7s%3By;AgQ@Z+ch^#odz8B5Vt>BlNJxWG``=_)g!=oc}?Vkcm#7$F8Rdv_6+1j z@Lu^N8ZwE%EYR)oJ?+j55(bLPt{g_aycHd$83hBXB6z*qt=uLfn1CS@rx@BwH zw#{iyPutVBZQHhO+qP{R)B3e-+uC`1@9zJ-iMv}>S&U z0DeoOlUXWkzsIS}TVSi%nv@2MoYi=OS%mPBc7x;X(BZF#={C0csVBv44UFC%+E0o0rDAeK4d6s!DL) zQZ9%ZO=^7j-y;swbdu2Bu4LJiO31yBve$6NMp>&c07CcCpP>z&qn1bwjAR2UZBLir zY<)9+Uz%w=hpx5@u@&S>d&G5&-$!wtc{zUN1AjlYZq{dYi?8+!>}gm9*Dzs6!E zZ<;)4c75#(wvA=}4ejC}cI2~Vdvuqit}UJm41&-*JL6nMsLvAgtp)kqqGDzS{TNMT z;^7EdCx?xsi?$`Zdx{H8JEyLYA!eF{75ds3Gs&2A%N_X^Q_)ixO-;f2NQ=o_POIg@ zK9aU^zY;`Tbi{d}HXS^Zaj67A|J&EwA@wT9U~W4IcbBqBED5|amq?l5b-~UcON%2b zc-37rJ8MS41&~Gd4WH&*&rXM2xUR17jF#PtQq$B8J!Go^tB=UFS9uO)pCZisS@qNO zXJAfw0oI~z`0_zf%#UbUz4Z0>DBMG7bj*p!V*`WAbLNiUb2mwV;!QHC@75zB}(TM22g zowg||LP%*IIUyfpF`i-Nu+#W7)gd!}5K;*6VqgyWn5(k@bQ_#9ZNl54(b(;kk7)4g z$xY5~ubna0x4{P3dP1YEy!{QOE`@QiR-o@S6tlaEy!HC*G_psxb1}<8qS(l$+qYmU zLV~}f4!t%fN8xYMlZ!W*VdC^k=j0PZAswR>T`G?vWO@=hy_A3NZR}TpX+-RS9!hJ# z%L~D^war?w@{Aj4NT(hqs!Ni9=w_X$glQayMisvNMoC4FmnmTIc{1Y^bSr)89Tf;Y zeo06P*N00Ju;iVGv+t&3q6}!=1m2y*K5W91)vr#6wBjDY&RZq9A=+CAAxKeHR~6bQ zN0R=t+l!WsqB-SZ2U4kcMqYrb(<4fI*a&nr7z!xM>i3w&VO{rJ@MdUDx)BNVcyLB>n55t~wlnFxpN1nvB-Ib~?JS<#8; z;b($&x$^!c*dFc3CQ|iRaXF$9_?n4ZHNLgCF(muA73z^O4HmhRjl-O(xaf0w{nZ=5 zNbF{|hoB4InPr=F3`Hn4P#=A63^$C|&LA!af9S=?N;2cu?U{ehH%^)dE4KO#1(@#7 zF1DRrL$7JNNtSKCN#g86kff^_Z2Q_lHBUEHl#i-HmRp(!bm?B_$_Bv4c0iC#`lD&W zGgLmw>n@GlbOd;({h7+-@P{uOHXs!%E*pdEeBz!8l zi!v7y=~vm@E#aR>=((U$M-nhF(#ApIBw{Tyx$p%!=tHn&2`^c0k4WjJT-BE!(?hXV}n$ zRAE0M!VRZ$|+&T)((WzcOb)T-#Kf;`sp zAr0jb-@RiSbm%}s%N(plAl)T#48yTj+TIg9q` z#Ni*S_3p*8W&P3@^slSj4V^~EB*0(PWkMM6GK0wsQx-&Sb;HZORgy>}b%_bCozIix z7Ar%5o@^O<{ISQ4lq_Mn8)M@=VSw^52WmylckD~52!VHP3g_%P8#^ZeO;R$^G}#G= z-@G@qP0@m-O=6yxR+jDA%_3esH!uE@D_aO*F&vj)W@k1vTi~^BbozJ`l@=7yV{Ouh zr6z+>gXSASl0}`;t&7WCfEY-cu8;Iy(+je}REuZ?fX$3hj0Jf z|7oR;p|2JY_*RIo*roSY(b3w_KOln)bali-)EM-VCdwEr1;ErFBVbwN4CHvURl(?& z&QH0d+HLiC`^v4T#_4YJs5(T0aX@4NVUO_7G;Q@0$w*&Hj=AvrV^g_rvK-l?R*gGQQn}W17kg+P?u`f)i zs9(}Ii(upo83xLrG&$azUSra*kh-wo$aAHF&bzgmjfP5At@IJetMQim44^G(}g|h_L$bq*bOj|Lv(?KeYAJ4-@bAit~3JA9lK6d2bMWkbSu1 zK3Iucg>s?D7|UOhW;R0@~V7elQzE$iqQj{~4% z4zTwT3G~S3VKxt)F~vamQiIe|u9~pM3x(ps{P8ge>ShRMv%N(&Lx6oKWXkdG61tJ+ zZ)+0rV_*2%&hTTt>|~4h+y{#+ysGveZJsr&e0EAK zsD1r}N6N<2$&bs&!C(wWWKT_j+GxlNrAZr{-ty1O^LyVtJy_xUv9L!8yRTjxdl3@g zIQT*k#KSpY7h7xFEK@eE-4IvNR(0LEnJg@B{fT=>eaCzu5<%FMO+a-dH0q+|(Xh5Z zI(>TRfT3%C$;hVZ&+y|>cZU})DkFA_vLQ!Up!H%CDJ} zWz8Nd+mzOE@)w$=CPlP_W=BjZh*m$H2^D?z3_7YKPLJ~AqciX^Z_)QWufC{^ab?Xy z?4ng_YSJxy(kiQjtBmd))}MT!(D3LXPO7;^jl*c~8S;2EaXHSc>R1OW^O5>c0D5hd zJ?v?`ahwj@wRsZYo@?@ZI|sQ9A%!xG%`-%1!w4RJGpSIr4-zFmwx%L2pqMs=`H_93 zn9G$XYwk9>8m z9IaE;Rejp1Y(<@SI18>_Q%>u;-LXj3A2t( z{8LU#MzManV?Qvs%!CMIiv9b$IS@SMck|>D_*;_>NWS1A9eA>R$#dJ(>;REzH5QiW z=trQfvjD++3>wv$2v_sRZ@K_pS+E`ZVZ$ThTl>2{ufXl+XyTrjM*{&Xn@87keqI@Q zTZgh$vkRM}JyXl*hM=c&W-jrXiJaINvttwXlktABA25}i-4dZ3sWST36D|nvpm+70W zq9}P7JL^2;?%idDvD<=~w7BU)?rRl7>@s4>p{R4#aM8HS?HP5}eK7AScZWGhA!lP= z>l4N0$hHbWSK(80279YP$j+u?t=7 zn@=&dvDSi=fi5p2O$#bLg&|%P_as_n2r4p8Rt_`E+zy2qTbvPAkyUSLJ8cr}(=T>p!qsHB*p+7e~n<2S4wkyihYB21Uc>k^K z5OPVsDxEiq4I^>MJTL_~gv$jex2`J(;rLJ0`;}T<{t~DA?WzOu1mwuyd0(E))H>+Y zG1F!Cz!}|fWG*KWzgVL3l~A@SBNE52P<%SC7^Ir7RH4S#uunDuGK;-H8)Tz2hbaix zyJdNycJS)$q%)TgbLMQoP-ck|S^_xzBs#3Sz59 zk26mkq#VUF-E+*N6Y7=7kDPuj3&|~G>_5&tkr~d~w%em$*?-z(ZZV^zAHD(%@MiP- zwhIz-(-Y)5^jre8do13tPBG^>T!_~DLBN^0P`#sVb$DSB(OL^AjPZ`X7c9nnrmHj_ z$_J2`Ye%(5j?HC$uzJuz6R5_RG^R#N!K+We9^fCF0IR!ioAiL_1tS01m0j@~Cau{r&TqGoj$wZ&u@+|M ze2k)@8Qhp~5J!?8%4GAT{4>bohPMB8ZDvbT0L!}v>5YuL7`JES<;_30jn@`_{1d@3 zTUZ;@RhB$-Y^ad;R=U~8oVYnIg)=)X$(av(T?frEPX8x^MMkM=zzkdEibZ)1_=o~f zC{JEmGYIcIB*f5ZW87n-9Jd~4LA;l~L(TF129Pz>;Y!us8h1%kdxM2u94zOsRNz-A z3Sr39acQIEXKR8j?MeK&z)j`-f>k7{4(aQF!4xj_a+Tr{QDK0Ex9OVg%#{hEfoAB& zDIYI*3*eo(`WsG12^q61)oh{VPx5w!s|T33!OK_3@Xm(4;UGL%@OQ*pa0wbSjzet) z2N&L2a`{w!c8%t*!;_}H5NxCVe47gY9~rn8qPtAB-_MMi*KXLCpqo1Z%6OhRZbX1o-J0h7(b3H-5sQAgefngXb^!S z-%fG!QwN)%cX9o;kAmCV)2-_4If95n)mo4eFi~dH&_fZPE%e%8EK72Q*dN)x+qVx_ zxgIE&TEg5yP-NJ&u~viym0^9)%xbC3z zp_1JW80tr@c%0)*#%LExxEyGH=yL$AY`%U!Vf2v+P^tc6{_gj?L zj4*Rdp4_R>&0*gbW2|g0wR-^zE0(NWo(;{nFiqNQIPb4edX)Hk?(!MT}yf#tX58%t$M|)2)j>e zAnK4|e^!ZaPoKdyYM*QeFfi%Pt4ud!ONd-+lvde?!JnRR;bv-U4kS*`Z;doQ@fFhy z`CVqU@+cM}Svddr0&w@T*>nJ!6CxNj$vY~WW^Zlzgq>fW{KG)P6`uF3*Vs`tADV*rJ9$gxcO2#K`n@u^1fX#j_Y>mXODw#I zV3;K15iOUiQG$8g^~x^pE8#fhmX}ETGUtmxTYVD;1j#iip|MXZ+y+_Pwac|F8Jj8$ z(Qa;sj-i~A$P}`|R0g-U+<|;6*!FgX66uqce8->zc2WWs4nlJJe)C^z4@{5gJz4^6 zwk`p7MLCT`E8&MzF&VeS1BLRX%p~|E&K3$w=5eO)_O1qa?TPuLg!@m1!8QrFW zoeCXxguzEP)z^AxbI&Gr2S;uBNVWaKkr_bVWm!d-9{l<7oIy{ENZ-jPwRovF zw2chMEWelIwJdomtrgO3`POw^FS}1KKQx!36T5Ny!7QvWjq*4k$Oz{Egs=jt($^sL zQv=!1TD=1Lnh*Px0-97Ir0lc_j3QE{1o?NAY8Him?JYV9z%Lhz^NaSpd}-3|oS!r; z4B!dxsvF-KS@}zT{?;H)K?$}&2PVsIV6+N&iHL|C_zhI6yiSdyTE>~UwGZQZJu~d zpNu=EY$hJ8MPtk^F~!besFw$tqN1ynG#!3e(hoORliE2bCbOPZy(#i&x> z2j5So_6ky?PFc+58;n(FE<)i^74eWoN~EHYiW<95q#rQ#l*To*=BeRYZO4(zY-~(X z#acp=MAflvtU4_fHzKlWbO$^1U+fp3%qPWheyRSl{?bB0vybdZF-c*ipFf172c?HL zZU~^zX|mLnMAjcC;ZR(0?jIz;>#^FkpOjpLsr8P%WqDhP{YYJuqTC-@D(}O? zz29h%&>INvbL0bsQH0a(evTocvF|YZd8kYSJd_Igi0~yHru`aC>oII z^Q`{N*`#om)LwnlH=w+-U7iyWam z?T`tUpl-Lei$*>l z7%(~|5<xxhPEvA-G6y)q@G>~gnS3%Y zAL!S@P8{z@d2A+2{%b7sZuCsdSOPy!_|QlKQ9WdeUyOtl{2iBy5eq1maqBor7{umeD%GM%61)rtkh71yp_6K1-I`=?4VsZ z55uDf+}QQrS`==dg#QEvClT#`*o_9;)y9&CL6YmR22zNvVPES zKEF=KUJ+fTIi$sK;oq#s2G_eBqFjwv3Xr%Ld9=C^jGAvK--zsKdLAS_zZ0*Cq@d7P zS@AI~1Mi%3Yq`1(^<2QPW5O{8g9JBB_lS9<7jcDF3a4FZYOeN#AEpjdr z`-1ix+D}c)o!jTu;=xLYk5mdc4G=z)Avba8#*qL_;K#IU&bi#fJ$|K(^hnKqVBmc% zZa$hGKK;3TE+?;MZB(PZ2kh^0l1aeW_sSp zh&?||!Iao(O7$DZ?%B}j>7*3WRNs`lPCuhh*e>MWJ}NEMX!0B8Ce{1QO8F5~m$(4G z9M|KZh<0GhQ{XsyW%og6C}VCJ8g=*SA|)oHRdoO-CcdE>m(>(%8_5;~eCGO(?9XnU zD`^PZpj<2uR+j5|A86fc2oB#g7ZemEPh;h1H|WbNhW3FQmf?^zLB$_ryR5`3=*CroZ1xg_Itdz z?;d2OSl<||wy!H;GKQ)3-N&Zu_Xakj#zHmp!PY+zpENax5{u0=2fP?~Ah_OcDvX$1 z*;Io>_vA8r@(PX%qg(fp-RvpcCmk8ff^9|ZpaH}f+3UAab_rFV>pxpJt8IhfT~BSb z99q#I=acqp+2^5*b%buT^Tzo4)_t5k9@iLaHm`HM>#pcHU@2^J-0d>oQWQxdSpvT= z#ccEim%|A@|H_|#Tup;$P*T3lhTVA44#HJ=V|=) zh{S3O^xaZi?ZR!E4F#_3D32R0J9Gxl z2ypmZ>BhEoKf}3g zLgyyaELw!M%XIV_@5OQFCWjrPdRIr|OPI4)jPHHy6pYTdFV)ZEF|>>mgV+KMD6k84 z!-pEgSlZ&hJ!TayHRe7e@ReSQegK2z{1S}7EHztxzcfvNZc82R!0__u*8-igM&&-! z@9AAQ@iA|48^V`FTn}_IG()1;lvg@5YN}woP@gCM9vH9RjorD1Xsf0rd%uj{L7PXF zpeb;?e17W56BuO%QuBR+F@5vGepla{zv|FyfT8WZOr8WAhofb0{=1-V2?Zg{r{j_o z3&jO_i28KEM9jm~=V^dCv9T(Ns8aM3hoeN5UD>?w>$E^?KjtDKlEiG>`^4P%2}4G1 zc<*j;z5u$bW=JYPuPqsyy-O(4WZwG_jX%+HmKybu>MK*~WVftic4!X2tH|?n^85rz zeuUaIUXk4%Uuc;!WPP5vm}7Q3Ajc=$KK8ag7R||9Z{;GqGi8&`qh%+#`INN4JR2@_ zXr?b8i8yLEea23iB}Ly9H7(diOM!;ikuQMU5$yrJpP*8Z$%;7}^lk-*k5>f#tKH!u z;J9C*GpKt3X8u>+CAnSeDD6w(og40}u>B}P%4a2n(iNhv@OlZCp?N`Yjw+dnG~N0g z&@XP+x-<`UA0H6LZ_wXi4=EtfnjlROP+eYzU5>^bc*q#+oQzJ~on`6zpAKuf!G&1@ zE%{f2?nx@7gCC*QhMmhJ#@(D+BqYnOp)y^QaCiZYW2V40`nk#TDWj~Rpvg&{M0PGC z1YTYa6sX6c6+P{xH?K+Gi(ljTD4#KOM*T>Q;%$TZVyI7YhedO;w z&gf_irIXIj_jp)?d?1n!S~8&7`Rcf&h_8Xq7M#(l=HUQGBHUy(IHx|b_mcy(>`y#2 zWP=o?-242~VngOxB~kj+YUZI2Q}8LWv}&1yb`BXgCBiDg)(%lH6lkFH^caxlGRUi8 zlgk7@nGyu&G&piAWAoZhIlM^zr zNM-g3EA6A}YpgYT9%%F*nu}L_p5bV?QHT>aP(A{xrE-h>Ag?jnob?EQ-gDqejN@|4 zyld|@Ps}mh?@GNzHj?4#UawJbnC3&zUi32NlZhW--#={IYz4MpsTzNCV}s;$C--lM z(#~T8s>zn&Ep2gNBIsW&K|gR|VZW%V+ReEaDxiP-JRK}t^uYU8bz&oUE`kign*zH; zBFXEL1b=dCB?0%b75ngo00w(n47z@xy{PLa)xULvi>S?!`+z;Uc61)Nc$4kK-O`7e z{c!P-W^N!CTjj1T(;mfZ1^{!HgW$FgJ7=qxK1VvD(XELvQ$ z`Q-5?M9u0>3lNd4>oZqn*{IrWgcj_C6#bU=vtkRYaP?aEwZAr=`wIR2B$DbtI7vrp zF735D_OZXiHdh6*6z?qZePzBV*bEIVd(TD)SV>zUYRBWqT(m4mf~7~?bKiiN+(f3L z`S=1F0`?tzSkCAKsM#;2kK@^|JhlZj)XWNNh{=hncjsi@an9d_LQk9D2`$kzRcueN zxtnP1AVG;T8r6qCzYZ6ERs=eaJ;>S{DjnlIUE3Ub;+Ek{FRl(Zb^8ORFxAvvSEUQr z+Uel#RJQcgP?*mtHXH`KOT?FCjm2A+)ADK6qjktX$6A>NTCht z+sMFUg%O`7`XiiXgwo^kbSY?d==5{9R3%pVffKA zBG!~_X%Sd9Qw9b3 zN=&b=3WbXbRcVFd(}0UoR4n_*HmBiyTb^2>tc_LIFZuS36b#&P$><~Yj;ko4S`hSl zTwmVDLwU|)--gR~Rk^@t8Q15koz9=_?AAAdsyS3fH?q`H@CYf>J*3t^Syx!ats;k6 z=ZQ|SFWPBwe52}Xaa2t(B3lfNs}(;=1<|Vdf1E+1qD^v8;E!D>H!DZhY`Ar-nL5Gm z4m-WSLPZxz%ty_Dc>S<$=gr6Ns!lUxJ=Z`hcRLdMI4QMm966Uzq;79HM7=}90i&q7 z@;Ncx6}<1*J>cj?nqO+1hC#Coet&nrJnVG|UkFynr@*tV3WldVxi??Xlpw58AXUNJ zAFX*=+v`s^)Rny6=!jqQOeqfYZFp}5qXVjtbh)FF-1f6txKee(&&&Tqv2V_~W>+c^ zwudIy9A`)+Hx?BZ%ln|4)h6H-|HIAuCr)`8&&-zIh~Gi&*{6Q2jBuu~$4N(H4&Co? z>y>vs=3gj8@v^Q`;%q{Jss4c#UhZ*@3l-SUfB^TBQp9i@|rt zUT$0Uw7lJAm5MRgGh=wc;S2U3XO*9`8_{3r>OPJwdp_?Q(FG9rUxx@>*ULF3q7Q~7 z#K~Y3`ThP;N8pfNGwpylYo*5SS49kQEjm)Ehk&pl%2`x>iFlF$271iAxk6C%p|5Cz zMx_!Gxm;`ODcM;w(z3E61ZMb+-D4#H2d>sa-XQDadY{uZkAQL5&sYP;-YY_mT#cuz zJ1~3Gev5`}0qgxwD;hk8nI-2`ECGnz>UrR)ST8x$LNxa44ER*$e0Wb9-9)PHvam3C z%=H4$c+6&hXQ`ZW#@R?N!~)RfT`bO)JI1P>1bED6-^`?fZf%l`O9GHG%TWYQPtP@+ zul7VDGYCU#4nC7$V{#FQSWaJFpUHEZ3AwZrUl$_LU`&69W8W0}HT9bM4F1oy*PJDO zIgDb^#>^96jAdGDSp3e;08;J3j~uNRwZaM#`!)=T{Svb)`J&QBwpA$0D`1a>&&?h> zOBg8QB2XTy-@tS4jzAA~xPCwdmnCzULhn*AZ^202M8ePVPjahIgzApHyvbiAZcm?2 zxed~Ya%&K}jG$v^-V?sbCZBDY@Z0NTAZ9zN=5&GZ%aI^HR3p~(zeZu(k!dRd`YM7@A4gvx|I-5{mnn2X=8v(>$DfA$-#t)d^-PTDOdYK( zt>k`54=^Bh-h~^HNmJStXj77w393UCf}lZzL=Uf!7h5CmTFrmrcR;byX?t-0XoTTY@I2M>=?m1x$VTs2tjTHQdtEb4bJ1o3#*(c&UWOQ}p%Qnj^IY!U8Q~!v1s0Lf3B3Ou0i(NFr^KK#IuYsvv zhma;$ft0T5Pf|6pYlh4wZuvMk)9s}2nh4v@+<1;TN=q23;Z!l zGO~7b_}_z&Bqt>kz=zm%M?KtzjY)-3!G~goB6TVPE6mNTv5dZpuI#M7>T@M;Dk({y z?d*Ki#d34i1foV?N?v&^{q3j zk0_8<{u3clda=TDs|>->wg=DbITSFAv6sL?bJY^K_C_U@SCN;<(?_&zc~_=GBT95X zK*}ipr=|}V{!=80a`-wv&KL+sC3R2B0bPG#wW{)YF$67A{U>_fZ}p@!-Hf`W)&X&xjP)VC}hFv_5xqQmS7}$*-!%za0D7Yeqlpz zoh>Eat6U2p+lg{~h72Fa3?HimfPXCz=^y=N>=fAF6*Brqc#%H?0Qc_!aBy_9G@>(b zaHxv?1@F&*DD;$>kKyYZhQkI+WfVw$A*n!a&a}QE&j;GqYPa%btnE#q;0vqG^=%+a z!OStFD0M)5GH;lrQz9;)YB1GM+lBjzMIXH^KAKr?8-rikh9OR#$#8Wv&Uowl@)`tn z6jZz(vu4qfeR?Qq)^8JAJnVbWfp4x+cj1SSoa7@kuXwlu4SZ}Z+hQ-!QA01iCACDjrG#e3j}9Xk_m||L@L^e@*>ZIhg@M)S#RL6-_t5W-Pap9@p}8t6{rP zM`=v!t~kG$!sYq<)0}fUcPe6Q=3Q2TZ|5|t+D*3>zfe=a#ie!ExbGHm_cY^R=jhHw zo~venDA?|87-+{XnjELd`5VuPiP$_|t?Tf-Ea4#HOIAX>c(w0X-J2pO0s2><(4Sxo zMEJdK=A&x6$Nnz$-5FDBIDm$|pkBPikOL8!!cU9~ltAi*dwUl-oRwTdNs)z5QxS{M zf%w^yV>zcTiWPY+P6Npl1ACb@yYT^-i4DiJK8DVEy4+*!8;C@4GGX{>A=BM7Te( z^Zyc(@!vw~$n-Oy4&`i=v|es(SaSUmC%`35Cq%CLMZl^KAT!Wf9TH8%KsW< zZjL(RG#ghR`-3YWbcd2M>K*F#zGpOt7+{xY0pT61%y%kU%Zlz?APF0+hf#^;b2R}o z9l!9_fWyV(QPr$2^mwmHr|(83351^-n@Hh?f@$SZj8V=uTg@mtiC_HiWuuB z@3wyFQ9=sKY^Hm<4a#BkMa*?0g?ezZXUI-6CB&9}sRC%p=T0O^{Dy`vc1eL#-mYp# z10(Rl_4-$~91QN5>-i&g5+o21!vBfff2Bz}8(ZTlWi6X|22`)Dn%ehpWLB)&D)FCI z0+6JL36#h-qfXW+Heo3GAHaLtr|b3<{=eYA-I}340~e40 z__U4#;2(_zt((^4y4djqAF;HMqBGkn0B)FT;9drk0J)7p@T_#Lip9wl#mp6R)M$>PBj>pe)pOt- zXaV)LH|M&=hlpvBA7KI4_ZJ;cCPx@Q&)D-cbv7z5`BGb@swWnGSpa&i_P?P_Mhm3-S;b(D^YG)j;K-Py z&L=(8_KqEkAA##zJ_KP*cCM(Elr?olr+Pnz?S7*vrL<$GH1h}-()pe7_zv7CiDvXs zUaO}PytpG?T^9^rz$CkzoGvdLzgXMM>qXY=D2OD_N8DzD|2=ZD!rT;S%{@$w=n;+% zi0mA(j=BaF($Fn*`)2ST)ym#Xb+b{(i2lx&uQMCtCnmGv)_mBH;lnTa2%GmH@UcbPczu(>E{vI11zd|qzK#&{3 z@yZ=mp(!?@p0DZh;=O-C%!pMGvv;eHgud=k$0+ezZ;D*7x!w z27HZ#%6$GQ%z!~~|F_-Ze>PzJ6Y&4-_&;`x|DgV}`Qkqijz8W1Y{mFD$KP&;|8T(l zNq7Iv`|xkz-;R3!0C)dP+y4Uo<*)ZQ!QbWRKLm#+|Bc}P7N>vX|E{P0!5f+V3;&<0 ztG`+PE(-o(IW+$l%l|DA{)Ya&xc&oOvG^DCKQFa^^ZdQG{KG?R^`CkEwbJ~}^LNVp ghbO`M-#q^$P+5s@;Q#dk^q