From 0685920fd405963ab21cd20caeecf5e24dfeb7f5 Mon Sep 17 00:00:00 2001
From: Chen Dai <46505291+dai-chen@users.noreply.github.com>
Date: Tue, 7 Jan 2020 16:26:03 -0800
Subject: [PATCH] Sql test bench (#335)

* Initial commit with clean code from PoC branch

* Refactor code

* Fix float number parse issue

* Fix sqlite memory db issue

* Save reports

* Handle date type

* Load ecommerce test data

* Refactor comparison test class

* Support command line args from gradlew

* Support command line args from gradlew

* Close connection

* Use ES rest client only

* Rename es host url argument

* Refactor test set

* Print log to console

* Add unit test for es connection

* Add unit test for jdbc connection

* Fix connect issue

* Add more unit test

* Refactor DBResult and Row

* Fix unit tests

* Refactor

* Support command line args via gradle

* Retry different database if mismatch on first one

* Add more test data

* Add documentation

* Add documentation

* Add documentation

* Add documentation

* Add documentation

* Clean up old report files

* Add missing java doc

* Create report folder if not exist

* Upgrade our JDBC dependency to 1.3

* Generate JSON by serializing java bean and use Lombok

* Run doctest by default
---
 build.gradle                                  |  34 +++
 docs/dev/Testing.md                           | 289 ++++++++++++++++++
 docs/dev/img/how-we-do-comparison-test.png    | Bin 0 -> 100614 bytes
 docs/dev/img/test-framework-components.png    | Bin 0 -> 118710 bytes
 .../img/the-workflow-of-comparison-test.png   | Bin 0 -> 88186 bytes
 .../sql/correctness/CorrectnessIT.java        | 138 +++++++++
 .../sql/correctness/TestConfig.java           | 154 ++++++++++
 .../sql/correctness/report/ErrorTestCase.java |  40 +++
 .../correctness/report/FailedTestCase.java    |  45 +++
 .../correctness/report/SuccessTestCase.java   |  35 +++
 .../correctness/report/TestCaseReport.java    |  53 ++++
 .../sql/correctness/report/TestReport.java    |  50 +++
 .../sql/correctness/report/TestSummary.java   |  46 +++
 .../correctness/runner/ComparisonTest.java    | 168 ++++++++++
 .../runner/connection/DBConnection.java       |  70 +++++
 .../runner/connection/ESConnection.java       | 113 +++++++
 .../runner/connection/JDBCConnection.java     | 175 +++++++++++
 .../runner/resultset/DBResult.java            |  88 ++++++
 .../sql/correctness/runner/resultset/Row.java |  60 ++++
 .../correctness/tests/ComparisonTestTest.java | 182 +++++++++++
 .../sql/correctness/tests/DBResultTest.java   |  52 ++++
 .../correctness/tests/ESConnectionTest.java   | 109 +++++++
 .../correctness/tests/JDBCConnectionTest.java | 187 ++++++++++++
 .../sql/correctness/tests/RowTest.java        |  49 +++
 .../sql/correctness/tests/TestConfigTest.java |  72 +++++
 .../correctness/tests/TestDataSetTest.java    |  70 +++++
 .../correctness/tests/TestQuerySetTest.java   |  41 +++
 .../sql/correctness/tests/TestReportTest.java | 137 +++++++++
 .../sql/correctness/tests/UnitTests.java      |  34 +++
 .../sql/correctness/testset/TestDataSet.java  |  96 ++++++
 .../sql/correctness/testset/TestQuerySet.java |  65 ++++
 .../kibana_sample_data_ecommerce.csv          |  21 ++
 .../kibana_sample_data_ecommerce.json         | 100 ++++++
 .../kibana_sample_data_flights.csv            |  21 ++
 .../kibana_sample_data_flights.json           |  81 +++++
 .../correctness/sanity_integration_tests.txt  |   8 +
 .../correctness/tableau_integration_tests.txt | 215 +++++++++++++
 .../resources/correctness/test_data_test.csv  |   3 +
 .../resources/correctness/test_data_test.json |  21 ++
 39 files changed, 3122 insertions(+)
 create mode 100644 docs/dev/Testing.md
 create mode 100644 docs/dev/img/how-we-do-comparison-test.png
 create mode 100644 docs/dev/img/test-framework-components.png
 create mode 100644 docs/dev/img/the-workflow-of-comparison-test.png
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/CorrectnessIT.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/ErrorTestCase.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/FailedTestCase.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/SuccessTestCase.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestCaseReport.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestReport.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestSummary.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/DBResult.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/Row.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/DBResultTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/RowTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestDataSetTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestQuerySetTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestDataSet.java
 create mode 100644 src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestQuerySet.java
 create mode 100644 src/test/resources/correctness/kibana_sample_data_ecommerce.csv
 create mode 100644 src/test/resources/correctness/kibana_sample_data_ecommerce.json
 create mode 100644 src/test/resources/correctness/kibana_sample_data_flights.csv
 create mode 100644 src/test/resources/correctness/kibana_sample_data_flights.json
 create mode 100644 src/test/resources/correctness/sanity_integration_tests.txt
 create mode 100644 src/test/resources/correctness/tableau_integration_tests.txt
 create mode 100644 src/test/resources/correctness/test_data_test.csv
 create mode 100644 src/test/resources/correctness/test_data_test.json

diff --git a/build.gradle b/build.gradle
index eba53b88b6..6f9fa1eba8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -112,6 +112,7 @@ compileJava {
 // TODO: Similarly, need to fix compiling errors in test source code
 compileTestJava.options.warnings = false
 compileTestJava {
+    options.compilerArgs.addAll(["-processor", 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor'])
     doFirst {
         options.compilerArgs.remove('-Werror')
         options.compilerArgs.remove('-Xdoclint:all')
@@ -132,6 +133,33 @@ integTestRunner {
     systemProperty 'tests.security.manager', 'false'
     // allows integration test classes to access test resource from project root path
     systemProperty('project.root', project.rootDir.absolutePath)
+
+    // Run different task based on test type. "exclude" is required for each task.
+    def testType = System.getProperty("testType")
+    if (testType == 'doctest') { // Doctest to generate documentation
+        include 'com/amazon/opendistroforelasticsearch/sql/doctest/**/*IT.class'
+        exclude 'com/amazon/opendistroforelasticsearch/sql/correctness/**'
+        exclude 'com/amazon/opendistroforelasticsearch/sql/esintgtest/**'
+
+    } else if (testType == 'comparison') { // Comparision testing
+        include 'com/amazon/opendistroforelasticsearch/sql/correctness/CorrectnessIT.class'
+        exclude 'com/amazon/opendistroforelasticsearch/sql/doctest/**'
+        exclude 'com/amazon/opendistroforelasticsearch/sql/esintgtest/**'
+
+        // Enable logging output to console
+        testLogging.showStandardStreams true
+
+        // Pass down system properties to IT class
+        systemProperty "esHost", System.getProperty("esHost")
+        systemProperty "dbUrl", System.getProperty("dbUrl")
+        systemProperty "otherDbUrls", System.getProperty("otherDbUrls")
+        systemProperty "queries", System.getProperty("queries")
+
+    } else { // Run all other integration tests and doctest by default
+        include 'com/amazon/opendistroforelasticsearch/sql/esintgtest/**/*IT.class'
+        include 'com/amazon/opendistroforelasticsearch/sql/doctest/**/*IT.class'
+        exclude 'com/amazon/opendistroforelasticsearch/sql/correctness/**'
+    }
 }
 
 integTestCluster {
@@ -214,6 +242,12 @@ dependencies {
     // testCompile group: 'com.alibaba', name: 'fastjson', version:'1.2.56'
     // testCompile group: 'org.mockito', name: 'mockito-core', version:'2.23.4'
     testCompile group: "org.elasticsearch.client", name: 'transport', version: "${es_version}"
+
+    // JDBC drivers for comparison test. Somehow Apache Derby throws security permission exception.
+    testCompile group: 'com.amazon.opendistroforelasticsearch.client', name: 'opendistro-sql-jdbc', version: '1.3.0.0'
+    testCompile group: 'com.h2database', name: 'h2', version: '1.4.200'
+    testCompile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.28.0'
+    //testCompile group: 'org.apache.derby', name: 'derby', version: '10.15.1.3'
 }
 
 apply plugin: 'nebula.ospackage'
diff --git a/docs/dev/Testing.md b/docs/dev/Testing.md
new file mode 100644
index 0000000000..96ae0d3930
--- /dev/null
+++ b/docs/dev/Testing.md
@@ -0,0 +1,289 @@
+# How OpenDistro SQL Is Tested
+
+## 1.Introduction
+
+### 1.1 Problem Statement
+
+Currently there are quite a few unit tests and integration tests in the codebase. However, there are still problems to rely on these test cases only to ensure the correctness of our plugin:
+
+ 1. **Test coverage**: Although the amount of test cases seems large, we’ve found that more than one important case was missed, for example use table alias in FROM clause, GROUP BY field alias etc.
+ 2. **Test correctness**: Some test case make assertion on the result set too simple to capture the issue if any. For example, some assertion is as loose as checking if result set is not empty. Unfortunately with strict assertion, we’re still not sure if the assertion is correct or not. For example, there were issue [#124](https://github.com/opendistro-for-elasticsearch/sql/issues/124) and [#226](https://github.com/opendistro-for-elasticsearch/sql/issues/226) regarding LEFT JOIN with WHERE clause and SUBSTRING. The correct semantic was actually different from what we thought. We did have MySQL reference docs at hands but it’s possible to miss some cases or misunderstand the correct use. So some mechanism is required to replace the loose assertion and be able to enforce the verification of our understanding.
+ 3. **Test Bench**: We want to run this new test on a regular basis to improving our implementation continuously.
+
+### 1.2 Our Goals
+
+In this work, we want to address the problems above for our testing to get more confidence of the correctness of our plugin. To achieve this goal, we need to improve both the quantity and quality of our tests and also keep it running on a regular basis. Although the search space of SQL is infinite, we can cover typical use cases and corner cases and most importantly make sure it does demonstrate the correctness of our implementation if it can pass.
+
+> Note that performance is also another important area that we want to test and understand how efficient or where is the bottleneck of typical queries. Since Elasticsearch provides ESRally benchmark tool which is totally different from our homemade test harness, we will be focuses on the correctness and won't cover performance testing here.
+
+## 2.Design
+
+### 2.1 Approaches
+
+First we can improve the test coverage by improving the diversity of our test case set, including diversity of test schema, test data and test cases. Secondly although it's difficult to provide rigorous mathematical proof for the result set of each query, we can make our best to ensure relative correctness by comparing with a few other database implementations. Of course the comparison testing doesn't guarantee 100% correctness and heavily depends on the correctness of reference implementation. But it should be much more reliable than hand written assertions after reading specification documentation previously.
+
+### 2.2 Components
+
+At this stage we don’t want to spend too much efforts on setting up a complicated infrastructure for testing. So we can take full advantage of capabilities that GitHub provides:
+
+ 1. **Test Data & Cases**: Use test case set with Kibana flights and ecommerce sample index.
+ 2. **Trigger**: Set up another GitHub Action workflow.
+ 3. **Test Runner**: Use embedded Elasticsearch and other IMDBs.
+ 4. **Reporting**: Use standard JUnit report or simple custom json format.
+ 5. **Visualization**: Enable GitHub Pages for viewing or feed into Elasticsearch.
+
+![Test Framework Components](img/test-framework-components.png)
+
+## 3.Implementation
+
+### 3.1 Test Data
+
+For schema, we can just use Elasticsearch mapping as the format of schema and convert it to `INSERT` statement. For data we use CSV format simply.
+
+```
+{
+  "_doc": {
+    "properties": {
+      "AvgTicketPrice": {
+        "type": "float"
+      },
+      "Cancelled": {
+        "type": "boolean"
+      },
+      "Carrier": {
+        "type": "keyword"
+      },
+      ...
+      ...
+      "dayOfWeek": {
+        "type": "integer"
+      }
+    }
+  }
+}
+
+FlightNum,Origin,FlightDelay,DistanceMiles,...,DestCityName
+9HY9SWR,Frankfurt am Main Airport,false,10247.856675613455,...,Sydney
+X98CCZO,Cape Town International Airport,false,5482.606664853586,...,Venice
+......
+```
+
+### 3.2 Test Cases
+
+For now we don't implement a Fuzzer to generate test queries because test queries prepared manually is sufficient to help identify issues. So we just put all queries in a text file. In future, a fuzzer can generate queries and save to file to integrate with Test Runner smoothly.
+
+```
+SELECT 1 AS `empty` FROM `kibana_sample_data_flights`
+SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM kibana_sample_data_flights
+SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM kibana_sample_data_flights
+SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM kibana_sample_data_flights
+SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM kibana_sample_data_flights
+```
+
+### 3.3 Test Runner
+
+To simplify the test and be confident about the test result, Test Runner runs query by JDBC driver of OpenDistro SQL and other databases. In this case we don’t need to parse the data format returned from our plugin. And obviously another benefit is the correctness of JDBC driver is also covered.
+
+![How We Do Comparison Test](img/how-we-do-comparison-test.png)
+
+### 3.4 Trigger
+
+GitHub Action can be set up to trigger Gradle task to generate test report.
+
+### 3.5 Reporting
+
+Elasticsearch integration test is still using JUnit 4 which has many problems, such as dynamic test cases. So we can define our own report format for flexibility:
+
+```
+{
+  "summary": {
+    "total": 3,
+    "success": 1,
+    "failure": 2
+  },
+  "tests": [
+    {
+      "id": 1,
+      "sql": "...",
+      "result": "Success"
+    },
+    {
+      "id": 2,
+      "sql": "...",
+      "result": "Failed",
+      "resultSets": [
+        {
+          "database": "Elasticsearch",
+          "resultSet": {
+            "schema": [{"name":"","type":""},...],
+            "dataRows": [[...],...,[...]]
+          }
+        },
+        {
+          "database": "Other database",
+          "resultSet": {
+            "schema": [...],
+            "dataRows": [[...],...,[...]]
+          }
+        }
+      ]
+    },
+    {
+      "id": 3,
+      "sql": "...",
+      "result": "Failed",
+      "reason": "..."
+    },
+  ]
+}
+```
+
+The workflow of generating test result is:
+
+![The Workflow of Comparison Test](img/the-workflow-of-comparison-test.png)
+
+### 3.6 Visualization
+
+TODO
+
+---
+
+## Appendix
+
+### I.Sample Usage
+
+Use default test set and reference databases by `testType` argument given only. Because `integTestRunner` triggers quite a few integration tests which take long time and runs with `gradlew build` every time, `testType` is added to run doctest for documentation and comparison test separately.
+
+Note that for now test data set argument is not supported because it often requires code changes to map more ES data type to JDBC type as well as convert data.
+
+```
+$ ./gradlew integTestRunner -DtestType=comparison
+
+    [2020-01-06T11:37:57,437][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Starting comparison test
+    =================================
+    Tested Database  : (Use internal Elasticsearch in workspace)
+    Other Databases  :
+     SQLite = jdbc:sqlite::memory:
+     H2 = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+    Test data set(s) :
+    Test data set :
+     Table name: kibana_sample_data_flights
+     Schema: {
+      "mappings": {
+        "properties": {
+          "AvgTicketPrice": {
+            "type": "float"
+          },
+          "Cancelled": {
+            "type": "boolean"
+          },
+          "Carrier": {
+            "type": "keyword"
+          },
+          ...
+        }
+      }
+    }
+
+     Data rows (first 5 in 21):
+     [FlightNum, Origin, FlightDelay, DistanceMiles, FlightTimeMin, OriginWeather, dayOfWeek, AvgTicketPrice, Carrier, FlightDelayMin, OriginRegion, FlightDelayType, DestAirportID, Dest, FlightTimeHour, Cancelled, DistanceKilometers, OriginCityName, DestWeather, OriginCountry, DestCountry, DestRegion, OriginAirportID, DestCityName, timestamp]
+     [RGXY9H5, Chubu Centrair International Airport, false, 1619.970725161303, 124.1471507959044, Heavy Fog, 0, 626.1297405910661, Kibana Airlines, 0, SE-BD, No Delay, CAN, Guangzhou Baiyun International Airport, 2.06911917993174, true, 2607.0901667139924, Tokoname, Clear, JP, CN, SE-BD, NGO, Guangzhou, 2019-12-23T11:19:32]
+     [WOPNZEP, Munich Airport, true, 198.57903689856937, 34.9738738474057, Sunny, 0, 681.9911763989377, Kibana Airlines, 15, DE-BY, Carrier Delay, VE05, Venice Marco Polo Airport, 0.5828978974567617, false, 319.58198155849124, Munich, Cloudy, DE, IT, IT-34, MUC, Venice, 2019-12-23T12:32:26]
+     [G9J5O2V, Frankfurt am Main Airport, false, 4857.154739888458, 651.402736475921, Clear, 0, 868.0507463122127, Kibana Airlines, 0, DE-HE, No Delay, XIY, Xi'an Xianyang International Airport, 10.856712274598683, false, 7816.832837711051, Frankfurt am Main, Thunder & Lightning, DE, CN, SE-BD, FRA, Xi'an, 2019-12-23T03:48:33]
+     [HM80A5V, Itami Airport, false, 5862.6666599206, 555.0027890084269, Heavy Fog, 0, 765.0413127727119, Logstash Airways, 0, SE-BD, No Delay, TV01, Treviso-Sant'Angelo Airport, 9.250046483473783, true, 9435.047413143258, Osaka, Clear, JP, IT, IT-34, ITM, Treviso, 2019-12-23T19:50:48]
+
+    Test data set :
+     Table name: kibana_sample_data_ecommerce
+     Schema: {
+      "mappings": {
+        "properties": {
+          "category": {
+            "type": "text",
+            "fields": {
+              "keyword": {
+                "type": "keyword"
+              }
+            }
+          },
+          "currency": {
+            "type": "keyword"
+          },
+          "customer_birth_date": {
+            "type": "date"
+          },
+          ...
+        }
+      }
+    }
+     Data rows (first 5 in 21):
+     [customer_first_name, customer_phone, type, manufacturer, customer_full_name, order_date, customer_last_name, day_of_week_i, total_quantity, currency, taxless_total_price, total_unique_products, category, customer_id, sku, order_id, user, customer_gender, email, day_of_week, taxful_total_price]
+     [Irwin, , order, [Elitelligence, Microlutions], Irwin Mcdonald, 2019-12-19T23:21:07+00:00, Mcdonald, 3, 2, EUR, 26.98, 2, [Men's Clothing], 14, [ZO0564605646, ZO0117401174], 551689, irwin, MALE, irwin@mcdonald-family.zzz, Thursday, 26.98]
+     [Wilhemina St., , order, [Spherecords Maternity, Oceanavigations], Wilhemina St. Washington, 2019-12-19T08:03:50+00:00, Washington, 3, 2, EUR, 72.98, 2, [Women's Clothing], 17, [ZO0705107051, ZO0270302703], 550817, wilhemina, FEMALE, wilhemina st.@washington-family.zzz, Thursday, 72.98]
+     [Kamal, , order, [Elitelligence, Oceanavigations], Kamal Foster, 2019-12-19T08:47:02+00:00, Foster, 3, 2, EUR, 45.98, 2, [Men's Clothing], 39, [ZO0532905329, ZO0277802778], 550864, kamal, MALE, kamal@foster-family.zzz, Thursday, 45.98]
+     [Diane, , order, [Tigress Enterprises, Low Tide Media], Diane Turner, 2019-12-22T13:45:07+00:00, Turner, 6, 2, EUR, 107.94, 2, [Women's Clothing, Women's Shoes], 22, [ZO0059900599, ZO0381103811], 555222, diane, FEMALE, diane@turner-family.zzz, Sunday, 107.94]
+
+    Test query set   : SQL queries (first 5 in 215):
+     SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` GROUP BY 1
+     SELECT SUM(`kibana_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+     SELECT SUM(`kibana_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+     SELECT SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+     SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+
+    =================================
+
+    [2020-01-06T11:37:57,996][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Loading test data set...
+    [2020-01-06T11:38:06,308][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Verifying test queries...
+    [2020-01-06T11:38:21,180][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Saving test report to disk...
+    [2020-01-06T11:38:21,202][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Report file location is /Users/xxx/Workspace/sql/reports/report_2020-01-06-19.json
+    [2020-01-06T11:38:21,204][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Cleaning up test data...
+    [2020-01-06T11:38:21,849][INFO ][c.a.o.s.c.CorrectnessIT  ] [performComparisonTest] Completed comparison test.
+```
+
+Specify different test case set by `queries` argument:
+
+```
+$ ./gradlew integTestRunner -DtestType=comparison -Dqueries=sanity_integration_tests.txt
+
+    ...
+    Test query set   : SQL queries (first 5 in 7):
+     SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM kibana_sample_data_flights
+     SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights
+     SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier
+     SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier HAVING AVG(FlightDelayMin) > 5
+     SELECT YEAR(timestamp) FROM kibana_sample_data_flights
+    ...
+```
+
+Specify external Elasticsearch cluster by `esHost` argument, otherwise an internal Elasticsearch in workspace is in use by default.
+
+```
+$ ./gradlew integTestRunner -DtestType=comparison -DesHost=localhost:9200
+
+    =================================
+    Tested Database  : localhost:9200
+    Other Databases  :
+     SQLite = jdbc:sqlite::memory:
+     H2 = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+    ...
+```
+
+Specify different databases for comparison. `dbUrl` is for database to be tested. `otherDbUrls` is for other databases whose result set be referenced and compared.
+
+```
+$ ./gradlew integTestRunner -DtestType=comparison -Dqueries=sanity_integration_tests.txt -DdbUrl=jdbc:sqlite::memory:
+
+    =================================
+    Tested Database  : jdbc:sqlite::memory:
+    Other Databases  :
+     SQLite = jdbc:sqlite::memory:
+     H2 = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+    ...
+
+$ ./gradlew integTestRunner -DtestType=comparison -Dqueries=sanity_integration_tests.txt -DdbUrl=jdbc:sqlite::memory: -DotherDbUrls=Unknown=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+
+    =================================
+    Tested Database  : jdbc:sqlite::memory:
+    Other Databases  :
+     Unknown = jdbc:h2:mem:test
+    ...
+```
diff --git a/docs/dev/img/how-we-do-comparison-test.png b/docs/dev/img/how-we-do-comparison-test.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8dab8b6350b340704af14098ea3814d76e8aaf5
GIT binary patch
literal 100614
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%0AAYPX9L
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
Kc7>)x^#1_?wgd?P

literal 0
HcmV?d00001

diff --git a/docs/dev/img/test-framework-components.png b/docs/dev/img/test-framework-components.png
new file mode 100644
index 0000000000000000000000000000000000000000..35d25aa7cca7fee8cce8bfe1054e053d8dc51f46
GIT binary patch
literal 118710
zcmb5W$FB5B)+JUD1VLz^=Yr-1v<A08Z-(^V+vKD~&!kOy^8f<6pIAc$@BM$EjRcfF
z<d-LtCrAb(cI>_O+AGd~woU0j{)hklKm6@)fBTP$%)5X4+y9LI?Qj26{lES%;K+aZ
zzyG)Y^KXCqzw}Lrx8bV3efhV)qugJg{*FMyRD7#%S^OR4|BfICgg}2l@E;K2!}Q-#
z1}4E9g#3f1;RO5|v~Q+$`>SoSq~~|~M?NjTf22eDOe6R_{M9P0%kkfu8PoIa`}FUK
zi2nlu7x+&`nt#V_TARP4EcmXBTiJu3;4pZ%Jn$BS|1k7V82cyje}Iq7@7I@6nQ7nc
zy$VYH10}%W|D?&jq5mD>z~}zkmEea|=H2w3!Zph@fFmMF{{#95N@MsxC<+|+(kflP
z|J7CAM=H0p{_BxyT8)+l{h4)8#@PLdA}IRnfsS%nzti|vGZ^^?_78Bm_vG#VmH###
z<?+qIJ>R20FaYbnHOAjVr~n4N_@?!ef+2#w|2Eztl+*u|A?5Psd36$9eda&@y26-(
z{{J~AHn`Rw@Lv~slA_4)^%NB_9U>p9B=nhW$Lf2El#x##ph+0P9%k5>5!Oj}Hh)LJ
zAdAtn21ET5CsGYJRka>eW~pq%a{mIqRiZLJ^dK1v<9vdAK=WuLy}U=|fgJDO&)dTB
zI(}0W2*{n&tM<+&qqInuZrmrCajyPMm==5<ac~{!lB7Y&>C`}7Rk}zk()i#(#;uV(
zLlek+th;D{3#KYfiuE!RbTL_Tq;DSh>C(xV+{C~+sxO1hl1%QMbQNJjcZ(P5D7SkI
ziJNR<VY<Xsih<d({7O9&wlCK*;?QyPHyY>1GDblHxeG;ckpweIc9E((Picw?TFZZ<
zY~PO&Ee3QuY;q|)8(fGo^I9UO&>rVR4_xn5wEH>S6?ghOK3C8a>lfW2CVzHdGl-Zj
zwf0+gG-HR(-X*$5e2q+4BUEZ*;1E0gWxn$Lh{!jxgY279d5;bG{lnUUsAn@|)HD#K
zp`~~c^1M7SRqa=jqHvoY^X)n4laQE7NP_ga<b}-`gZC~@7Pz>Om&+K9p&x2Kts}=P
zopog?35C}1<4|S*ItS};%ZH?^qD*Rb&I98DzJy9a$S7`nrMk=ug&(a(bE=m0B8{>W
zk<~)&Mkt>R#3b9PLq2sqGzc-#AM!X5C^DrMyTnUz!Q-=uXQ+x$+g&Xk%WNfPhp}!C
z42}hZDXO_m=O6eJgt6jl5Ci52_dRExScwg#%VVXq6TD~C`ieP-j`LItTM&o%o(#Bx
z)gdrSAA(l<g<4?#w=M3=_lv;(UMgpNSHvm2TlGOxJ^=r0IHpUMO$=_~Vaiw;su>%U
zQ&6YXpW2n*mC#6A?b|G_X=);5xudIfs&X<J`Hbm(m3_AEXzuCfy5V$$fWg}5A%8Px
zW2I^Q7>(Qqg@Ytu1&iV(z*I2_`7ytbd*r|+iId1-^I@NkDHeFAFfd$Qw>YtoYIics
z)q{&x*RyAe@m`@IXY+j5`1=B0O#FBM@c-c~t~;!X0m&@FKBe;1{%FSE|EseA9_aNr
zWVjW;r?Ltn+7N6j*~LCtXMDtU|G~)cMaZm5T!dFK7;XY_;0fYBlCGsX!Dkl+?zN=R
z7w?y>V`@G{N-NKW9T1Wm;dE4;11{Z;LyWzSn=NVX(F^l+IAU(BJAK~9jOK<>HqW((
z%`jrXSF^5E!$&;5=lW4+ae?4-VS!GQ|CQu<Oc*1XB7}-2?X@qWUW_TyKIND777!I!
z+3v@4LpcLFFrBw@-N@7*rB1z|Ah;5CjEq2wdhEXhqb}zQf{7T-Nh|5HDuB<{4X%+n
z=QeUrzECv(Bf(K{jDO7tyd=kXkLZ@&diXD{MP9PKY%47E2qaem4uFjxRBy|=ZXc5{
zqCDnd0b?GMi6H2_LOp;mNmEDQR@qy?4Xeu*L@CyfVn*4OH+5lzl-O?lrWr_+bW$OC
zo(GmcYg-a+HMoNcs^&1zB#(w4c$b7J=eJI$vu!fQA#<~~H!l~azxsOyyE(`-eq0F%
zGvas7X-nNGcpLpw_c_%k$me1<B^OAf^8>zZ+)G%RD}q%ETA?U(ekyh|0ScFeh;pDO
z*i@s==DJXY8NZA9<?P9DxA&`tK>8Rx6JEM<lNeb9hI-6vi!%zw`PiPDnD$J<E};C6
z`^_O|no4b2lctC(OE7VbD<4;zGa_o3G-ZHmtuqO9xi+6r_dC~PRcEKSDmDFPERUGo
zpR+F_f-T^VbW^Js)S#KYkjBQHAagf3dOtmDau}ol(<4N&WcCv<wo)8)Uf_I%q#2yJ
z3&GE+$b@EnwvM5iXlgH$^=S`{bB>)XlZZ0aEbB-LJ?7=-%&GYeZi857&!VQ@wbuC)
zk`F>eE+qP|1#?;X(N=ro){HrLot13tkhIB>S;wHsNpR>zjjDX)rUci~pv%BR281|W
zE{k}Stqpt2U6zNqS0;=aYFi#2;=K6nB9Td?Z!?>y3{HtW(a%-4FJ$21bF$HHXmP#Q
zII9Kn+%g2804NYQ%FyS2ROHBlH`r<=<uwhj*_rnK(p+r=lL#CN?g@KaB?(ocnx64E
zcKeU{sPPmQ+I~h?5#Igo!_A$i(GOEPxmzk}K)4eM-MUhh<BJcOUw#qqBYeG&O3pUo
zpDpeP)<)MMG9aHCd6%0*t-Cii+wlS2=x4CF#6?vBieeoL(mLu(!fi7a0P%^G4V9l~
zi8b#MY9d-bOKZ+4cpNcs&xD`FU(@qN&EcpiMbB>AQRR6&_B9mSRlxbcWwOs>yR(&U
z>q^;#@j4>L>+ab;!*UC{Ux0te=>bO%4;pAESM}$U);o=$M32@VrLGeg(?i>wVrOze
zyD&P;i>?SXB8x#YaqFt-ttW`3^Xoy!OMWKoCcO_V;OXy;vauBu^DSqH3Cy6J({2Re
z;Pohhu>LA~UXtuox!?C$Js~)1oRItO=$KRe*+I~BP^{rUTH@DuKJE#ZnP(~3q4b>#
z#-H(snfq`pcRguwb_ehQLVgNiWL;)#Y4SA4t&RwuJA0J<jE0oqu*KN^s8m|sbr0U3
zPd5~iuLVI1Y>IVU|MAHeIc8MN*9J29-^{Y7(@6lLW8t<ws_o9nlIKgCe20yDUa#mU
zRKM>KM#{5<Hg0By?GZm`Jm=uI;uca|kW|51l;=%VpnaT2b93Rtrr-NBNwCA>qm`{}
zn5b+*UZG&<9lpHR5AIPF2rE*(*fVgr`K-O{oB?}=qh}<)JQN@0#aaII<kI*18ax<Z
z*7hdtn^ES<CmuJ79A$pTA7Xc+E*Kvaq$mIf7M1kN0q)&w8`pyExW_S+ca$!2ZF0|s
z)-7-`+Wo*u)Nk3^dL^{V<2!X|AQ01C=N<JZ-j{;rSw8M2p@F+%?-?J#kE0XOn<&yB
zlm4hp9#@zc(xlUZyu1+O+S0G-`?MguW34F4`r#s`%Pwer7Xqso*vI=eyHP&-gQMY@
zrd4FRPrIrO1{zrTe&`>P0!}32Q)o?MZ8sT!Npzde6p4Nln>Q4_i>q>~e+fKH&vJgC
zuid+K(q3cx&ocz4zq!hPmuaB?4j!&7$5%qIF?ejpadKfMwl4Vs?VrUfo>3sO_wg)^
z<FjGp7D1Pb7^OPpVHN5d1hQRy?%*`O<o&MJIEl+kNNQn#%C4yQ;~TJCokv1?N)w;e
zQIw3s{_qf<h`8rsmnT@c#7er;`?heX%2xu88*{|IRRqNAEDiE1&$oov(PRZvEBSC+
z(H%7gLjFc(Cx>R`LZfQBI-zSwE=193AbbOBL%^})e&$cJblxd*r-C?&bZ4r>j5%*`
zqUub0oAM#6xJ9YC6$xC8=z#m+AOeW*@Y_G){c#+|K}q&TjoJAdXaFxj-;Y3HjR^YC
zDMvqsk>Ao;mytwr7}|mcw@ZYJ0#!%?Qb@L>1~0g(#M}awctB_@mgN&8g_Kti?y{1l
zRen;h-J9kFpsimLm&}=6w4sdBbtQ{6Hau`~e{Kfkd!oI7hD4$*YRar>Q$B`h8qPjs
zDQTaH5QEVYB?aegg-SXvqqr;lCS%Okkg~G5@|pV3Y(B1o5<=(vycJ3Ko9Owec^JoF
z_3<VUf(Z{tY{PKHnA(};FNH0r*d>Uf@&SlG;-4OOBp=sMLB=oIR|np~t6AGMJ8b&Y
z+^Dv-jeDI-D>l>*5z64>4xy?9AYQUl{X?c_WIp~+IhAB3YjxzSXH0v}wP!gK(dtx=
zHYBLRYQ4UZf;-43Z5Gm~4?f$Mb%(n86kmCWX+gtCtA2-1<!;OJD=7}rY#9tabp4s(
zwt?qYe&rB?<j;y>CTFT=|Lf|BGEPCuu_we!ccENO+9G_*33yLw3HdX`n0dCC2{yNO
z@}cJ&zm_B_;%=#}U9oy0KJ~ucC;ajHdhVnf=J@Xhe7?Z2ctTOGTAJTH3H)hRXN0-O
zmRyTbCpA~IdWrcwl+o7GO}I4hIU<{UPn4-g)UHIX6oIX=wbi^sh`DjEp@E%^YEY(4
zsB_SJW0g8TAAN8F7O~1+SA83ElWWxSBNA0cH$}RP;@bt8UZjx@F~PGB((fdI>P}Ut
z*m&gPqXyg4c$l8h+~Q=i9c*G%n_}O20Zyqp9zGA<yItxFKGVC6=UJ(uDR*-08fLzD
zU|=%46wZ)KR|{Rot8}i3N-?@;jgPf;?{t|t8Q|sj{_Kpu<tev>GL?L_t_o4IBTHmu
zR?epYIA2L@{PebfU)xMnRUinj7c7Jy2b|(l8`0fAbqO~*dJf(jHaa(-UD@QW_Zv$w
z*o9~^Jc2ka)h^sIz*TS>It{r`uUCIp093IkRL3P@3a8(+D1t8mNqPY34$=U!QgNYm
zmG{jJ$6ekJZTs>c*3A8P;iuxA!zW4KXWL1~UfFgQm+RtR2Qdss_ftdySfO|)^Mnyx
zMdhSl@rT4wuTN>vQ8Yk+5evAztoi^Qv4dO#2WsR9tJnXWhfAhTweAud8B#e$a7HD@
z{;TrDNzIQtl_(2qIz$b{H$c@L%bTLsQ@jBIkEAay^OnL$!d@fviv!dMNo{CfKcAtC
z!EAjP*8mB8+n?Z8o=A)gY{8s+|ALbpgks=^PaH=&ZCn??Nusq#d_Kaj^_BJeK3`DJ
z6RmGvEcpR!$iBj~QXsPKM*s)Ev7V?ylSr)%?JVXD#$pcmX4W9mH!WoVl+TxAl?dQM
z7CPT-%$U1fVHB2<t*^YHgM^||RTII^0ghm=GlxXsrU^FCnOl($xW`VXqb|vPBk0lm
z)NEhc@6Qs4)YX+^)V&OlJREZR660Vs9tJ2z(CLvylPL0TLsFw#(y^X`>0qBSPry@&
z_W`;h+9uzu`R^I%+^UN^2~%VMP-~iLvhsu@Tw)7jKr-1F6mz!u8qsD+ATzlP!2Pk>
z9!})WtXI2+dmgy;(}kmCsprU=rufr%)V|4U{{}{q%&k_5gtSvDOCp65hr;}c`|5rj
z=%|E~nrMZHS48~HYy;|O+~gpTk2KUHlN#hsMnRB!7N3hAy(YQgJ01mi*v3Ouzz*?i
z3Lz{OJwz6iO_r3v8Gt3xOe0D38GcB*HwNAH5v;r^h#WNMwtZv1(#8@5Wz`Ky9M89*
z*I|#3<+QsxLUzNkv_A(?=IMcxW`t>EyCyFUplx7rx8XM6!VLTo+a|l|0>r^i{mo&}
zxabwXZa0+8Kb-8uxbn0^B`J$j$QDNM*gyIM*GzQ%6pZu<vL7ti0(w)|)S%l$Z8w&X
z0eV^~B>-@<2XwOmFf0RzCANz0W@u^<69N`Yu^t?nJv=>!XbO+o5f!9;*+mP|v<Y|`
zBz?owR>J=2v-f-c-F~2GO+Uuhw8=q7$m9vQ6{4qu{GL6m^*J7L1-&Hb^U@OQwWp}l
zZQA8}$OhqJ75E5Z?)74dW#A>5!L~b`W}y^GVjsD8`^0?=XE&i?#cRQ0t?%GRZTzcT
zP+dC=-C6}bgJe%+|Ct#)=*WKy=X^j-|FPcdRu2D;>ENuRCrms5<70t^&O%b0^ned%
z?JC%BGw%Vh;;)bO=zX&arBQt@{Yxqt4VnP5FCk9lv&v`I&65BEo$<6|wU<BaW1a`x
z&~5g-kxJ-b$1pkgj(@eyTu|(k(YK;?_sKFLVws&qlB*(w)`BGWz-*WKzy=@?eVWsT
zq!EII$2>GSWhH2&Z)FT@B}4v7X6_`CIsnJ+h`R%X8tji`Tn#*(SmJhf^a!j-A_7n;
z>)80=XXhs^qpE@OzWeYos%|3r$s0^&TQqka(7e=XAJU)=0l@5C?|@9ot+YxgiSjG(
z9Rp~XEyox7`S=@CNi0q;o+v2Qrc}e3eF_Kd-cxP+g>(3UiY@d`=>aA~R8Io~{zwFX
zi8?;Zfevg+cjuWBV#ywRe6Tu_{k{ZU9)gNJqXotvG(T6p_+W>;9cbGb@$+DJlmFyG
zwx{cO!8Ao78QeKg=eY#<+OS%L{z~8?K^F?}zwQz}!(WI1UKoK3?@49{Ma*)(hlY|S
z%2qPZ$vY*TKWTT@gbTC*?v8D<Gr5J**Hqw*#VM3GY+F-ulA;E<n&_$A%K>OrJt)?{
z$({kc(dvLTYUb}Vv)Fy>?F#8HG&1(u&3@#cCPqz7PdU>MW&jfaMpSg>EF0nXrd0<a
zl-y|B!9~vr!rKOKgAG-|48?dpRW=)Y?$bo6dA#=Z#>tHk;!GxLNvA0<u6p`cjnC_D
zX|-+Y+lK^U)E8k?c=w8M-yP_^fUVC)>92W=;hMq&5vwP5zvI=Ka?;YO$rHvqT~&_;
z52cW^QGXZvFw+lMEMl_mjXn-K43ZOS0cUk$pkp+^AR?cCFDC5pqKi4FX2tV2@7k(x
zTnO8JWU^nOR2wpfo02q*Dc+$d4JRQw+#(Cw&VsmT2lxT1$*6?<L4-&=<vB8^_WPsP
z&?JT~nn>DD#aUUY#SidC-lORjw{*@Te9_lbm&AGedzVE4+XIB=#uMh3C*)S6b#ATH
z##YBxsA8G)`GRmP`rm6)^mopq%g-zGaA(p3V<C2Y?88`SW9d;ewDN|--{=#%r^UN*
zSrbNn-O3JRwU&1gHZ{qDSz;FPsO1G-jg*sH<hYFNLU)Jd=0mEr!BvB-Smz|UXDcG#
z^3j0aGhxvuca5vHjIv8t2|4Yjzb0S?*z{dY04+8E=i8C=@UeEtzrrK-Jg4M4xTq%m
z5}zvKqUx(;cS_@`>B;>%RAiYk6(BL+BEnC?awy;0M-D!i;E6}Yj2(5Syne=_dEppI
z4^laWr#F%(HrQHJ{Txi!9f&H$?~A%VA`cx}G>mcD66tlZH{N>B)DImVd(1FK3>aCH
z=eWn#vmC^Jaycp;48b-fJVffW%F=LPeXDku8{%H%USsr$WWKjoUXZPu%M%M&$f*_k
zZBo4mEUD**07jXJ$;24G*ALBi$U61kVZshr7a$uIZk~`K>h;Qcchv{4DbVg(Z;nMf
zy2(7Qd4rVG=ZF({)0w+3^DqMnMxuFRvRVPj_RNRSP<+l%>P)GJC{bCfEZ2qTq!mNX
z`UO~B4mrQ%7ow69DQ|>yyIDWi8@erlZWt*En)F0cVOtqb`>q;c-dt(d*{!kcTzscu
zhgfCNf}hWz{5$9Oz$R9INW8a;P1pQBYy*3<1nMKh>sw{%MX8q7L@)aA$w>9ZOS7d5
z=jEFpo6?$TehL81d#1-Jexl4RVM0aFC!|Lf-2T_2W_t(_9Kmi9{C?@dl))H4uoI>B
zOmw*6z1Ex`q5VDA4iLY3R)uPBg4>PB3$}HEoS8WYJ5PvJXHL4^f0U|3%de(biRcQ)
z(JV$G7#v(?*ocK+%Dq@$)`1shbrI^Bl?SvB=QX*fff0q|_l6xT@%^S?!pCGw;G#v$
zab^-jFJ`g0jE|&{3~wrl2{(mRgG&K;Vuv3YHTNSb#3?OzHh8oUrhxo@laLcTYFQ)$
zX*WegfXhZB*;QrKU18TKBp_dfL~kvp{wjLm^Juv&#hE{=uirGGw={@Sshs*Uf@px<
zcwWXBg6?<Sd6uxIoV6b_Kq*@q;`uWD0;+SEKS`VkLq6~6yNz{&O*k4}ymghQU`4$G
zE;bu~29vCdh&=h%=Y`eOD>&vrt)zzCqRUiDbL8BeVNKki;d*XVZFl4sgF91}DTaj?
zVw?e1L~Ewpj)FS8i7giloIWdZ$pTyZWRh8y%!sbgf#H-fNYT98*Wqg#>uIhrxL7X`
zMR!pGtc2nH*d)omSB|C}9KbtnTg&;CM`#r#Z$yaB8iN~yzpE<#{9L#az!8q1zyj_!
zf$~SgJDuqYpcDokk|Ve^FsNWc{3>q5WLN13n5Mo3pmKmruoX4h47V8YTw;q;6@fpG
zcg75<4d0ZLUW`Ccw!icb;WK(_FtZXzKL8gA#1pVdac`*jzM(eu-icEFq<rX$uL7&c
zUw60-FS!B_!9oLA0lLJl$nA#AhCwy63!u{=2!J=aW77<ODziLnDiB@!Kxv|qmvxPa
zo6)P5FV}GvUr11Rd&c>@1^|)g!;B|+3WbCQmg|jU6t3v-OlOzz6xk6ISlUY81H&+7
zVK&0#UYN)h-`zAx2Wx*y#AmXRhAb0nX7Ig>2<k4)WY1s{+M^Oa9ID+y`+dL^;`8@~
zR5s)ij>QyQNKF=r8#<t^PTtOo?bK5BU>umNA2Q%{os?M@oG^wSdVcoiB-V0KZ70&+
z5&6!bh&6sz?fy<50uQk@AjiwusocC}G>4YiJ+iov+I>%beeFivN5U8IrT)atEuyN>
zi`9-TJA4XeEVj<r9|O5Rj68P9WBVI6Cv2HEwr)=SlU}22F9DV@iCEt0jXP@)+3)l4
z3Kbnx4{E{b;v5(x4~ND8O-9^McyehIOZrOUOJN*a#$jn7$Na$LWlrJm#~xp_*^%fI
zDkXug`wiR#OVgmR(2Xixr*rR)Zkyco{Eh>1@CPW-z@)$ibIMR^@hME!{4?VHO3sjS
zlCNxRI;NrX9Tj!}Ib`Z)_zm~I!=OO4YBj6XB7D8_`|N458htV`gne8wtL~g|W{!;!
z>7G|sp*-!9D};9ESKR34_gUP-61MASKp01UDc;FS=_ex_D02QdqhpY<ua`VsMW8P7
z5K=YUFOO`X3dsBNv8ScWJ`lDanw?$r>`@!M=Q4dshV=yu3F|ubX2v18n>lYcln6aw
zayfWMxDocE9Do;)Q_rXYSiAYztu>9K_*%OXMX0P{hm|Cl1dV29ZSZwZDTs+IaLUEN
zNA$%`N_k8Q2z&TNT|S=r6=W}>YtkHF;C=H&Uj<{G6Gv;AqdZb7is8@e#2J%4qD#_O
zV%OqWI(`t{qK$$5^m$kGpcliCjDl{Zpi7`Xk(9mhMB|@&+qX5arxBzn><cc1b_s(z
z5jcGX->@8<5Od~2MIp$zK^w!6is$E)ZGdSfrdB_H6Y79ul75OF+eppAa3sDZ;(K$n
zUj4{R&4f5a24BnPS;rq7kE>Cc{xl|`@!MThhyWy1YLgUeG6D62Vyx@IcV{&a%dI$~
z_i2;J-{Bw-ux&U17myT>@phj@wZs?q2=EG+*R#hxxFkth%51lN3&U5AC(l?Q&O<*_
zahV0yk84uELcoc-Qw9~^H%<zd*Ys5a-=<%ihV@$m(aAj}C`0<nxh+N5EILikLmS}|
z%1%J4RswY4q@0n?905hmP)Ri}W|t_j^$=bu3qMj&{vPK;u7`nNRSbxSXRcq%7=5Qo
zel$-?yo-{*VG#Y!fY|Ui6w)u9f{i-rUI68|cc|kVScW*L9h`f!Cge-&wT)`QL%IZ9
z%*!P~!6_x4AX&#y7)jgGT_&c68R`DkUhTaRvv1UAwStVNK)SMlES|lO$)Q0phbhFb
zW=V#E*qiZj;C_7IQVe6X=Mn2;e9~fY;1=ouHB*DrkXcQDd-0-Z6$JkU6cAh$5SRzH
zLs7&AoYUaPfl}&3xKV%)!CMw^ExmZ;*B0{(3G<^gF=EPE>d)jJ3UFeRfmSg=w0bct
zFT@)CBXd_2ns64x`L*v%XLO+U{S|lt9obxe!dlh!<#hVZZ~2WEPE}-{AX_rAH5ezq
zTqH{TsJ9m>lrxN1*#*kKvp3QxK1OFw^uOP2keCzu+ubYavX1gc!SHz=Zbt30-7r+~
z3^#B;ezVs}lg%G8P90`Xbr?D$1xY4QLut%T6eM@m_XhaRZ6g^5^1`p9X~mu)Xc=pO
zoApsNC^Nt})j8dQQcNkvW?mdr`ev0BV-ndFWK5U=l?(aF{DV4M1iMO+e(5Q-<iy<6
zkNWv8kTa=hMq41uc=oXH?;9paP%XbN3y8_oJASRjzFJU5{?&1^<3$-(aWR~+jAZW1
z08sn2)Su-8pGnxH*_F7L=*0rD&HNA(is}s&CIA0X`-Fdd`f~UN{j~A`BOejc0HOvs
z>;I}?$C$qE{sGjKCD0XauRakpc!fW|>@9`A!XFH*l@oAa21&7vvJOL5Y`W>U1y0mW
zR!d2L<8jZ}$5JA$ehlohMDi!f8-CHOw?->gKMN|kv4yN2r?Bt-=7=l9`{NJ@H;&UV
zX{>;05S{myT)xdf`cs%d`ePa0Er7KY*9}Svx3q%tc+HI4C*=SzQvk0>=*oQR$b?*c
zpTX*8N-1hfKu9)h!o+(o=$V$*CAn3-z&!BVr4bMyu}6bmkzpDd{&%gj^N2DdHj!Vw
zsr+-{=hgY(lXySU0F7g+li-`(ETEIGVLW1WRcH*VYalUYEign>nSq>5cE~AMDE3nI
zsX$gjuDTowD-u9qLiB>qd(Axg{)!hci^-wE*JVbYyLW)n1=CZPt>7e~4^k-eT~RNL
ze+({j;OEap%<_v70o@o4gT#`}yw6!GYwIYhh-?fUsTL~}YUk052(jjBz@n##-8oon
zlXlVX17tBhEA__t)$F#`*N3GP0#^i1jo_e(M35<J1t5#7UXq&xOZ=Mx+?n%zFrdeo
zkmfM;ENn9|%zN8==#uz^L^~2Pt^_e2@j(8=)s%)frn5EEbRr+yp<J?CYb_%PcW~5G
z##P{nIrc$poMUmmmvk*@8D&$bi^a~zr>kXL-|*N*=Q|h50u-FtmN0r@8}OS#$}O*z
zda;-Lq1x?tdOaxiS<H|`0?!OcdmMY_x`_I`P%jaEZ5Ne|_(_%mNwN;;=W=|IgF*zu
z85x9Q6h}8&L;*;yg_5kuz%2+HeNEJADH02$D*fh-%gEG)%WPJ!PFnHciH7KGdR<Uj
z&SHMP!9DkaNFhikC5#XFQw4Uy(%N@axHoLylqrW-22@*>y8nVrS9&r8Yyl3{o0fP*
z0?ClYJYu6&)s@Xc_<iU9+zvS?R*QXl2njTW+l!ss_2lwZp#~-?M#c|=Bv5i2-JONa
z^Rp&oEB)-72C3fsodp?ckYWRvR=K9axIWQ>c9c=AMFJ!bziQ6imhO>WpDxhJ6uK(k
z8kPj(<8MW=`jf2L-O8<(jMVp=vu;G8mC6YmZ9`DX68^7t6rKPn1DnF_&7$>fd!QiL
z!1zqk<HZg+cZ@(aBFn$KQNJ=xjdnkYncOdKl5TaG8q1dobKQy@&0LYPraX*<Y|rL>
zKPnv?Sn&bv9QyqNy<IHZU*DNvpiIf5Hyf&XXxCag8i)2yN^0{D;%8qyDAq5pyA`bA
zC14olMQ>0C;ePPUKzvCP`apX9d=fiAm*V`}hB}u;Z6rK_tzqs&urTwUXrI|n+yrq_
z%n5>hx{kNdn?BhMvPUb`v#dsMC$!AwiwG;IngMl<ek`=NFaQ;^%vO6o_5nIH78f?G
zrMAR$q9$&)>q<?);-+@B*yp*XQbL88ig+mwBYtlyKxuT0h$TP*M~TuG*~<n6r2@oq
z4DExlI?u+@lhNn993UvRkyh3K(N4KD^8EDeP=6~<a6N=~t%=B-XYHH$kOUz9(5!K0
zb4PLgc+r`&3rXzMwn(jcT2}V0zHa!1^D*_W))9iB^8Z;sS+ZQj&y~>_-1onaGJd&k
ze}MXJ`3FcGzxBTdnWQm+K;#tul%ltQ7GMi3w?AYHT-=!7Px?+Gtvw9$o0Qu#yO+8^
z;rJt+r>9thH=1mGNbY>V+=AL9C~koh%zZ_L{`N##V5O(ALJ6l>DjN5Ehi}j|HVuw2
z;*%0$YoMI8+k%%@!lh1kEk5nzafek-jl^m4u}Fc;SW~$qU)B2(`XSaw7~2UiELH<j
zi`_AFKCd=Y`9+`D$t#kjfl4O?RZHLUyCO>@TMJxGp9cGp8{k{m(3#so1I)y!yV&9p
zBaR|Y@4b<s53?E1hFKmz-qFS^DCR#Mcw!?`WggBTll05l{{&^*)59|N6AQ`*_qmF6
z7b*aKv8SQZ!OapM4GE>daBr;iM!6HpHk8@BfD6@MOJ4gaDS7c?V_E{n$s!MO4?c;`
zWl(t-h-`C0FRf{Iv6>={c_fmKg-Ht1Nl!zJ-?wzQ^=JK>b}PQj9q1}2;x?N7R-ng@
z^nO70p9&dNzsa9gL9M(bAVc8a#Ip8RARvMJ=A&JEWS_py5h=H2uMk}H9Lg$xdy_-K
zXZ^WVPUCO{c-KYWN5IZ}b?<}y@KA>FD&;UN7KKZl_B{Nt-;6vT;TlZkNXl)xj4ox0
z;W0{tKqco!4u)NnNXDW>&J}8$=4%C+XB~?jt;eP}!a$JiI^74mfr!4U%QHCz>uB0D
z-3d&2j(rFbx%VsK-e3a&NqW8}8wfAy<O2ezV*+yK&;%4h0hf+6H{ir*4>y%UH^}e&
z0ERsR&kmkYsuu*t>{m1;Y7CVjKM=NEyU;d9Ikn7U&lQpx{>2zV&=jq;9Qz9s7%`X$
zIfLh3sj@;rUy#%hUyV@P@J|=;tGp}(4H18z$RP=~(vN2o1T?_G04Wq_7X^?J{~JQD
zgMW2lQ|IwB>Ka3m?T^d#DOa}utNP!<M{WYh@!I|!H1^xOVwLlid_6z~30d8O33(9m
zrwGuaOTydw!G_puqs{?NS&U;^8EBx^loG$W*#1|vWtRM?5!{AFJ>#VYsmtv|V9DCf
z0v6bS3)8sv^I@Txh#&oy)BqZ@RkT<a7nau7S<VK<g1J%CkDFUy2ZYfnr-O(tp)z&N
zV9U*LeIjB|d3)F{O^U4#-@fjFhLSr!0PDqk>h2`_08YUvT?<}kTx}iDp<s1^Ac<mn
z3V#%mj|~Bu6c6NCppVWdC}TbAuPql8zQ2ScpFqxOzCKAPP*g_*mKYugjRsvWm`~1^
zWHqCpq68YmTN`f=kk?q0RK=f5TBjdUKecD1i%6Z0`Vo%4o6#pyLJyk1rxJ4`{W)I}
z3T(l#n2A+L=V^O#mmaP%F4<b>yy;d$?nXxCE9lq!^b70CPkeEPCIhW>+UlT$DnOYk
z<3M(yS~jh6{_mpp5t21QdF5#}F2p$twb(+I5>O+irNHZ>PIaz8gIF!MMwYwMWZuv`
z-lo}XQV7H~W2|dPa(_Sg*bG|I@izh=#MAPfc<GYqaj=H7QLcC_a*6U6qjDb51UL{K
zYlJP<P}W+fOin2x(X@g{u@iTV{nNy>Wg`twV;~`<&90+d<_SA{_6Buk%<B93>?b8K
zw8v(ZtJMT0#&u4yGpZ_bpZC+n@Xe5ks_4mE_%y?py)f20bZrCS_g&ax{$uy}B~`TX
z*!{`T%anah8n_i5XfK<<=72O693Wrx6+6^Ci|uQq<|G3bE}k4j1I?wTplRn(a1;$+
zxL53>r7(9BMWF47<`OcX)ZWKv18yT;Q96vg?<q+N`+|B#AyB|F3`$kYDn6P*Z>jaL
z^B(4;gydoOuTpQzzZOZp<7h9iLT<1~M2C5_VyS;%7O?slO&l{U&PD^!F6dSzmp)Cs
z4>HoEJN_O!+q(d-{Os3oTwgabb`yz`)GeDc^38VSoz&gA&t`O!L*~dQ5nVdSOFd|B
z4wOAM+W{gdyV-&-ksdpm`ui5GC%9F~5g|hF;n1&2N`F8)As!kX#XQCEpwQ*^QWlaJ
zeUIn~Bf^ZWda?%~Ed?Hu^(oKrzQS`!9aWWaK}rXaCV9Gz<^xga;!wY>`Ut12Cu_Yj
zTbu7-F2s*8+B#n`6=URQnj2HWgQIx5-~`#|ib@4FlfPr@%S{f{8Rz~5sgQ7V<1GR>
ze^Os}n(8AfRKWLnAUu@R6p~49@^Ap^D;JS%ts0z=04v4?f*`n=^QDnV20L{EWUj*0
z4BiC3MphcT5&C-}6P+^Er_uC$epd9%S^abu(OTomw5KU-UnlQ@Q^GhrUQ3cHTLM3(
zB*x>y1ON4!ohlKGWD*zQDmP$g*;{@ApR2wzic*>V!U@Lt)1Cio+kdRz0=Ky-Wc{~v
ztB^MG<$v(#ujB(T1WQ@$e{Ds4$$+aU@d>C@F&LoNS;rOUH0*TWX;?<cc$-Zi#d3Rx
zR$_=)Ncx==hh>IF_mpXW`3qoWxQyTSMdMvf5F>||SLq_uB;%%a0bw!?L1G|(CrZEm
ztal~Luu~pehS<}dA|2NODk^rPCu#8R1Z631qzI__-B-te;@TcLt}7Jzj93>hWq@>(
zbknQK?vSWyjDCXxH1vQ;7$Ljj2{*%l-scUO{)Y#l?M$PCSNeI8)<HlNKv}S9qJeB;
zGWL&=feB*G9?qebNo+pYpBX5^!N~#;?p6emXFK@P;3)MvOjLiXH_@1(IsVHaF;c*m
zy<c&Fg9ls;IQ)$*T9T2HXTXDs2O#K6bO2Rb@P)IUzNC5-4{E4xPs3{y)5{(V<n?IY
z4dR`8Wak#H2|C0(f$F_R4PxO=4I`+i?g1!T0jvpsE-hRcAczIm^qA<w<g3sG?iaUQ
zazZ#mzdGf!#Sav;qkZ;rCA}p%kcMa!IV<R4!rJ=~6Od$G?dd2Z<FdQmamm>qq~B@A
z;`+y211j9OL!f{!hJYID->`m{<Z9JV;`)~=zlb!*N=9@z6KJ{zq7c3ia5Y3(WEc~~
zH{dBj6Ly}6lKo`>wd&f(F?dPm)TV;1j6r=LZ(*Gs9g%#O$IF3)%DX3v#W3g&z8tyJ
zrsF(CliP%69&_~-E&#dZYkkM4(pBl5Of3~I{seWu(Vw+b9E-A%<wWg&xv_I!gSzdQ
z*0eU|m@&9&kF>Dt*>lANk)2&Pz<v9fpg7ApcYg|E1`bC)&*;1cbmz$IIBzZml$fsc
z=O#W@SOS3`=%!Xpsi}+|838I_?~Ua^$(WBf0P0z(q=b1~b&;mMY1A-GD@Ot(P(SII
zR1v{^4|%?b>M4t}1F<~V?O69DRR6$pi7eQ#k_cu+i5kUbfYN?%KUm9#xst-^<m71j
zD$j|WlJL5>AHbG6;gB}Ow2o&#|A3O<7H^-iyfhX`0oUtGnR4m(0+AgB`nc>Hl|Ut3
zrs7w@X|4tP)TA6B-OG%F%gLo@bvFpO4zYUe`boW=PXYJz5SxlnlHi)aE%xwBzExu@
zt(SJm&1Hi6@ZAAP@|SXWKe+SGxQ4T08{+w}?&ta(_Ss<J8dmEZ&6FN0<M9J!EA5ND
z{yeZyfyTilUp%!!n-|DMkQpH#Y$=p-oe)AEl>VX~sIGg<kYQ?8?_&X~5;(b@wh~Ym
z*n-$^K$@HIufe+k$fKlv`mEzGeaE$C<4gh@ZQp(~`HmKsR^ZxoqBq!Mx-&C+o2zwt
z<fNG$faOIT-o)yD3F`+=E?OLa*k&F@vqyo&>rw=?TN}};V6P)Nq6_5_VT-I7*d!w#
zG!4{jC;~QU5hnE2ov8?JnF11ixn#WG(gyOvTft1{ff|7d#tv$@AMPGhzf17h?4ufN
zW5J4S;a;%PiEDReg%JP>tp&SyY4|omNy}l$!GUtyal)`9!<MH{9PEV$vfeGIn!a!h
ze_0_0C=-WT>hmSqvWdeBZ&`ty176shncYXpxmr=g5!_}|>Sk;w)HZ~b2LexhW;CBi
zD}7cpo+j!(loL^m^3tEQwl@V)Bv?<AhDQLKHO8GZph%QLY7_eD@$WjR5@muJb&K%&
zyH$W5)j<ZFH@QoGNu1&aA}4Yndt+_EN&8%}JuX~e^<CJjQc%oeQ-<9}68g}epKcup
z95OSI+qNsBgZ+9X20=CZ<M?t1dxeLv#dkpBCtbbh7faB^UR%uaO@8vEhD&}vF1Rju
zNR9s7`>=d&KdC@@D$-Bf0%FyPgqb?nJ}l6vvY+kd;`Aq*46f>tTOmVur^;1K`@-;Y
zUAf4+je!g;*t^&BnZ$NR$Q@cz1W-B7W@N`+oBaH)k7!7<Vi0z0AG!Ko!F~zqh7^P=
zjZbT|@$)(G3-rpN?=RkLK-~%GfIhld7HD5T)&Xi+i$?}bf><YqSdRoY76J-U6RJRg
zrPt3K9*|8Dj#Q5(8Z8llmf5hAI+|tCyO2<SCq~`=*w@JG2_kQ9vvcyWZL|++gqnZJ
z=4)YtM&#9^e3^WTMO(i#K<z_J@6S{1Uez(6r3Pv{nC$GH#g1iASm(F`#&Rf-*GmSX
zSvqD_7`5(3-NU;-{(=jw{;UIyY=H!XkO}f}BUg$5#9^(Wa1D^NC;QmQ$uO5?&m><0
z>=eDO8Lzhh{&B1dN*kuakz{p34A!Bw+ZYG(jp3Fm!LD_LEHw^;d1MEvq!_nc1V(mH
zJyvALLHkBu@>)UBGo4#QUdHxAmN(q<Nu`6rK(Z!_jDp=$=)<{|ogvKOgN<!KLl7QH
zLF33{FQqcSG5dwB>nbPP0F=$!n9vm%g04^szDgK>xWG=Q_(g4A2p}Ij7+<)vmr!IJ
znsT1VhTRabiACSt_vm2ovc+(O-nV0s2R-eP;@y)Q&>(1N-S`Dmv^T^+foh+(a^DG?
zkuVjf$gvePz$0vx4Vn8yLovd7B2)QEY`C<%J#<0#X?^zb#JTdAZQobi^ixd%L1{PF
zi`y4~-;;m6tbLksJB?uXC%;~WN67;sy)|X=`j-ho=0}SrukfJCKw$FnM*vit|08d(
zEM>lp<qE9puY%K-75Iw1%z-^uB*qdu_^S#NA`FC`_d9ZU`JbD`keg#$sbhn$;e!;H
za=+R(In8|@aR$U8p4a$btDj%C+-cJI3?3dRD1Na?`4ZZ(K52){cv7#GvHL<Pv~JG5
z0Q=6<`z=`CpmJ*7xDVHg=t*YmZgT%gjaU52;-4^_I*(_>`A`Hc?$+YB0(dq@kllUx
zd~QnKavCBUfaVq%?$G-d!wj?lBtI{tfy~PAqk2Aw>ftM9HpuArE@n_z;v)Iiy&$vv
zeCS1|%@-JQQQB<P4mPsX<5NZp4H}5D43)nhTparcIAkDmnE3vS#!)qw0bA;<gFwQk
zJgks9)5<VA&7NTDdYe`Nce|^^h0)k4eBnA^UmM{0#s(0+tW6)5q&hZ~8;Of@5KugA
z1v{Y&ECJE%XJF{CE`jbaKhF45uko=eH{&PYqbqyS#U2iEMYir~vfoT!l$gMUSt-ce
zbnjA{q?phiz+U2E+*d)7jP5ajU~Kw4Ss+v;C>r%Nj{yk*=twfY$iUwqlM&15O{jU^
zu5CA|VI$!{d6ErsDphuX$iV)YPvl~P{CY7yxzkL?+Wcx@K#z&uP|6|rqY=-3ePdCA
zW*^()^2LuL&`O<;$jJV<Xej(aOI$)sccqI}wg4=mNQwM3pQ-y!5uhemr6vi@8T)Dj
z6#-lYJAA$=xTE-4Kgd~QQ!=~rNlx~$Vw~_9eoaDw-R;`>8q87yxB|AaL1RMw`IkS^
z4pD5QDjR84NRtBT<cbzOvI1^NRHmzNHaptb=ov=pYJu|xx!%qw-gYs-hk-q`{2Tzq
z^TR$aV~?f$VI|QIF>RKL&;S?HAy5A?qU>~SUUT7W0G%t|oWNwiDf`L94e+p4Q6jH2
zA_e=Ma>NIIdLWY30qW)9I6453*sTLXpkp9V@HtV(U&E>&dZwicMC}QgAFu5DiFa+6
zzOOJ$J1x4;uM>5JV^99(q@g+~x`7<ITU+fdZU8xhD+TEHkTXl~cPSYnjR5sswmj0`
zW@bNmxg~EIYPbWLo#>08PU2(Y+^R)s@z`&9&`j8hMh2U&Q886$VbD#=gw!=maPwnV
zn5!*{XDSj4NDY*C9@qZhag&&!h{rNOYp2i0^n<J$Qvq5>I{8{&-ZBAyS%f)x*Gx2l
z!zzAm{NPH3JRE||6bcSH-ol-Ab81%-%T_AE*ku9oY3F5xck{<q&q?$(^W9!_4_?>I
z<pS6^kd?skfGv^lv~EM7;}3(*e~NcNqwhiZXMF)HWrx1Mz^?fCY0EFn%TF>rgmQ#)
z2l4=ba>Vi1iyEZ)fuq|+=3lrqAN8$vlc_|5jiAf*R?omb<#E11=s9qBrjYVj!7Pe$
z{>#3FF)_cY2BPoXINDq>#%`k97K2M5zG!9dm~jsc->y$TSN+_U^yc1WKCE!H4>t7x
zHNz_R<i*H2UOfiY`hfJ`#An+Bk<fnWI_tf$lM_e;=PwLh1O3V9Pv~x(^G02uVVEgU
z!xn|G!MyuJyWsM$OBoPy1E(a~U~~NL!1zJ}tdmFaa;)VgsZ-_ho8{YX2#A9O|AOrr
zVQ2Qbr>5BJ8(9E&WhinWpZGk&LQZ2SLIW)AZ#vBD;BP??RC{{>DUhxkdc`g5zm1At
zAhKHnx@%LVf|lyOER}1*>+MXmT7m-Q5C%~$2I+h|?c$(e&-W)_(n_Ug(Ug_76eV)q
zRH+#Q^-#ufj+_oJ=>g@B8C)AhCi~ejQ#*dz3NjjdVa7utGoT0b6tK@Bjdh$(b>@Ww
zX>&vm_&ZTp77yvj`49dXZxwF-AIjc4{B81V8%{!i1Og->6ar}pA*`lQ%d#b#8B4aT
zVat{!%d(iZ<f&oFmTlQ7A%T`a*exS$cqnb5VQ&Z!O4uozuxZ$BnSq8G;Jp-}?f3ri
z9nX6lzmOk}ta0DBuKOD2d0y>|G^iv6C&{A;BM|}Waei2cGe#_l4pJShZTAXIi5gb9
zMi@izZlwcS0y!id0fmvUCMWoz5aT>tlA30_PNs}J$D896?dmiiYM{9yt{Z@FglCsq
zyk16a!9de=UP-$Oo2vuzq7Nzpm`p@VJdYZo29MOnK=UZ8JRsP+V=3B7Qmk1Mbyv}_
zNUkcfU}u31?s+C-WYAui*Smd<WXE+}3CvfbC<8hMeo2QTo#17JYEF>S%5j!38jY<O
z(#6CK4hf}Tb1Qh9K@Y?ryQ7(E8_nRTB|F_x)M$A`FT%03oyPnCXi2o`BHl-waMmMY
zaW&P<q(j|I%w>QvF&>7i_{i3iXospRok}c$$I%E62-IW`@|Mw1IRHjdF;eB(O0C#0
zdPYy(>^-^V90vuNSgf7y#*3jrC7voeK+F{TO1<1svbGG_Y%iVT<%lteS7|UI64)#p
z*kDe#N+OYPDLgJos5LGG5u|G9%>YpikapT|f^D`&g?b#Mf=RJat>Gn1!dtB|Vnij6
z33>4>N_VTlyU6)kU8&Ubtu)|?pltlVt=EvORWWpO|8S#<<xAN(MTfxx!EpT-+$Si+
z!UsVq791~7JF{y5`vL8?@0~DpGh;tOF>oJLyQGKpSQ)gaAmJW&{1943rAoC1vM6}3
zl}iqjQmfb_SrlHZ;P_OdkrldWKQWXP_#~@z8VypH#tvN=>e#3^uA%w1P>P4KT#t#D
zppuoZl`uBu0mCa}1ceN>S1Lz(E}G6^at|AUY(|EI4L2=wAPnGPVw;f#Ux!*y$%NR6
zDk@o>C^_v+1IGvXeyy8^)Qu7^CE0Gj<z)dSM38NvTN;>6tRL}4KIF*b2^rk~t}!yG
z7MoP_T!!S!f{w(;mf*yqkx>i@p>5c`soq%do1i(yf^tJ1?v4VRLD_gcG7cquJxPF^
z7TJsE@}OrCABzJhBiR|!h{AFww02#O^x^Q_FkUI<>+L3Bj=U6bVc1^JZt=C=Al@1`
zy}kkNABxvn4ByHiX3idu8r{OMlZ6^o$QrX`OfEIsMk8ZnbKy1z;2zw{S1?S3Q#+k%
zx0x6gvSh)bg-X{=Z&t_?>}Us2m=Nh#9V0&y94!pOY-$NCFIC{ZgvFqCi5k}#Po_K7
zkRi)$$0!=%D8yPeEfzRXZ2^CoHH1dRvZP8JL;cY(@6<C)pUSDYCXFMIS}NiF;4P{L
zE?VEx$(|pp$!1m)ns~912S=)zg!B;6;}lsMYo$Jl<ZDJTQ&;ks1=aRZzgi9@azSJZ
zN6~{~!_Ro|nhJoM^GKvHNclRDkcM<m@*SgAYrCWvO|*>>7UbFUe4RtdVcand*a;}N
zZ^VaMkW>tAhU2<$NY*AJ4Yxox=@KRC3P1?Cq*VcLvQZ>0G0`cL#Q>&AGMY!SLdMDq
z@xJ1>G(N1b+OUyIl=(7R83N*44|Gqc${5Fk39S@zR+|-bXoeYLd7+Tb7r{8n6%6uy
z2HnaO+67jv`7OaoMOkr377`ZQtZ5Oy$2iG`W+#Xs@l<SN8e|7Zu`N4M95gqd7<BWL
zM75*Io|JT%KuJO#Qmz;obnqBf1$i2l3^nVi9^TYPm12pmr2S4s%BhB%3Kxuiy8zle
zE@Wog-85TCI&RSp@laufSelo3hzmy55KNFj=x(@^5HZ(LM<5?Tb(>lzU2L0Ul1$@r
zk8QAGrk9I%fYXqxMhgxml?QsdA>$0FH{ipp3Yl?8oK(7g-7WyQe}s7&m>41vypSZV
zR1z{kJiXqKON<C59haO@oYq6FXv+Zok>rrig!QphDdkd0Q%}p?Ovd1micFjFft4S%
z{G`g}a=;7d0+7!M_IikKG@w<RMl+XBAxfibgHVnRnRWu#QefYRR+)>Vg62l*Ar)2=
z6(ckXxI8^hPgTU|D4Puq>N&8&%i;czi(^rW9@I^`;2}PdlJesQUKMJ5hb&PQNF&tx
zT%W57#fTcXXz)Y!87gCITno@KBt#>{8WO=%7H#xWK#|D7q64lZlat4g5EE0f0k97x
z(!xEyrK>%$F^qIP2m=Ul$Z5@ZOfBJMS?>rsYm7lAPEIvb7N2UVBe@C(5jF@1=xr$8
zhK2+icH?{!M;*{dlx+uel_(5Sjxxi5j@&qzZv|G0NhWeiQ7F2bS3eYYr99RZZN&l6
zkjyxjZlwa`g}|a-8g+7Q1isP&qDMrui*yg^K;kf4Ci57nCSnn)TF#H9NJK@`Re;f9
zB{>NgOP|UXN@K?GNCk<qAokQXQ_(u^bkm8n8@$0xp(=M%KsfB@)gssFf%r|-4?-=M
z0w;qUCv%KPrmP}FWrk1o`o0p)*Lo>9AOyTF66vyL*;7kk)QF0isYT7aW^h=qRVh~^
z^+p8ff*H<mnYt4^h=zpHY6>F1R4r1KMj6kF*YkyXsgjmG1VnmFGhY|M!%(skCwc8*
zVGOu<!{soj4T?jpp{kmlGI*~Y#<XxKDw|c)ipEf&%V&rz0?FTUlDClxRDtngnGlhB
zTZC;PFR@TgrQBl34-gkbpRb03DA4A;OhrS3&^4E-)$2fy9F^<odRi{ynP{q@CGtAi
zZZV*z>2+8<*LEu55JfmHka!CnY=C$fkxKLu4&fMzVi|HV++sbHcYQb6X~6|LvS~;0
z7OV}bVZs%Op%TNzQe6lH2{nuwW5Ah8W<%gKXN$R@4$uLDLC7OCwlfm2q}FVK=i*~S
zjjx*xm=vN@=){K>!?mnFtHjGa5wh%fg6jv*02E%p9J!^$FjA?IPB#?r?|r=~7CVtd
zzG{WFhUL@{7j;;{Y106#@1{{Zix;YC4jEDz*RID^s#53hOc%r@DaZ8(VY^l*+x2lC
zAJ7n(5L$O&CxAKurTZ~av4;i}(c8sZ6dZj!S5nhu3mg=J2Ae`T?AR`-IMX4Tbi1B2
z#B#r3baL&!)$jJoEhUpgGz`tKke?9>EvP4t(VzmC!b5eRFKQGcq*5?zhD@b$`DBMt
zQ>afgo54E(St6*%4-6Tz^bVLVqME^#Vw%cCI62E`ZpTcvf(@<%2yYx54>$so2PSOG
zj1c$&Iq(EVHbe)&xm3`2o^>;EIYcP~DLzC6oW*PC=ID`C+z?28*6pSPe4pWPGZu)*
zsA6KoHT!KbBO9fvn#zMZmy=~Niz!y*Sbv;OIa(U7X^BJdmtpHKB!GJuSU0y_iDY0W
z1dvn)w2nX@6-w;Uz@=w0NIDN_oWSU}H~@|_Iw?XJ2|z<0G*pqW2I@B=X}TR08LMtB
zJ8JdXhUdo-06Go^y;!#$<emPX5au|tzn}_D*OdrJ#wTQ;6TljSx%)4d^Lz1G81#Rq
z`7j0xP~~~AOnuKdf+AH2!^Szwh=AAKrAd%4ZI{J#DGxA2py2X}hBwq)j6>`JMU0A&
zp`m@ej(T=ugbE-i)K8a3Bpxr&PP!Ppmo7sQEd<0N+#rN!)1oSN9lh@tvuV04g%nF1
zkYE?7kjz!cwvz-BK?V@mCc))87!+f|X(mr$f}mA90}$?zQnv3l)0#{6DqJj`B!-p?
z;6JKfz&d@D7<Ixi!EQ*{$OXA1R~3>75FnYr@Y*#UD4PuusyB`lY!w!Osax8B4)q6q
zuvqCRi5tMK)3Ios81M`@SOY3-jJi=z3pt>kH=@9v$eFR0grjrey6tO9u!8AfTN(~%
zEIz39J4KMC5iQvrnEj%tsdP=`Bff$;rq0K$SX;%*es|OwZ<bjpc7Q$sDhDZNfCM%-
z#||>64?HA|X@#;7`xv#T2wHuP*KFxc2@`u`!1|2G3BVwxLTnDwMrlcCRzZR(<rRJ3
zVn~4>_nTe9?VC|o2M}8!6^`h>0a^ATBxoZb%H}r};IJl{91{*Ap%OeqqC_H0s+7|~
zHx&)@7*X)OW+5r(;#9Pe;k3{QbZc@@QgU=w@J77dasbN~%x+7P24z;E$yUk>C97R1
zJ|$B5Y!swzirSdkEJ&Olnl>u58u^AC$`l)PQq8n5lTJmzaT6&k!czwP>8fLf9QTO!
zXn@((AX5>?yF<>1+HyA7`z<w6gF0o>_eVUdpjF>QjckdrD|FkG?9JdiG^f-&R1*qG
zT#V+)f~y8EZVBgFBrBIuBT|B52?+9(Gyu}TzoZyL>Q%}S%<+J{2&BH8FC<zy0Jqel
zAtRO7z~9x_YKa6weHD|0=pfh6i-9@x)QBY&`#H8yOq5NN3suY%B&%~+v!267L|+gq
zt#+szE?}J8sWp^zc2HMpETM}T!mQ@qLC(piS|(8R<3gxJc0ja37d@g@h0rM<%1}wn
z&0=!Wvl$m}CX-Ab5sDClG)0`QM0{IHff`X6GBZXB3M1L3J<=ONtnM4mP)0HqX11vm
zldTW@>Ik??Qjw}fI#RbeR;m$d)UU{Bw}EBUm}8D*i0g`oC4!od&K7yH6t+AxLfdAA
z7ZD{}%K0Tq=#`{~lYuITFk%Z0GH=GYgfap-!Xm0;nUdCEDY5{d^d8YoRXhj$#Aw~F
zM??n%_C#I_(!e>(Qq?XO?__|hZeutkri^x`s$x=$FR@fKtN>D$85DbRm@5SPkViEe
zTpTJ6J;@wZ8XkB|Og^7)b9pw?(+8QMjJcy4-t3qRGVFy@YKk2@6}HPUNTNSrq%@?g
z@(?FNh6<RCgHS6;BWfg+YL;7^TGeb7Jcw+N{{a;?Jgkms7Nq6!EY^XKA~Bne)!J%G
zb)y-JR-4%#kdQaedk0E<bU7RnpsGt4N){PO*|L>tGUc{Fma`+S93AC~SThr?$Euku
zt97e7!5Cq-Rj|`iG=)~vptJ}{ODdwYwKAP4z%9yRv!Y_b!qRfhaIa1klwP>ucEu=_
zw)v#PQw0gM2$f{uHSlf+p;a_N0R6aCtFye-=t=N-;Mr!99hQvH88k^ySh#QFY=!Jl
z;f~JqlX5ye?ot&m9QQ?x1=awcfiiwuNZ4h9(ZC{8qSr9lX4TL#6&=Jn>L@Vt0rQ;!
zFcCOFgpdZ+X&($)NcP)xKpV;xOGpu8%FWX*2KmvPQOft=K(EzCm29hnt2r6(g{zyD
zR*SA*Kn5dMDA)b4;lg3bcJO)%LLHYo(F$zwMBu5WMOqi}CJYNT7^8ifu4MX+ieDaP
z2emOG=2Ipd7$L&k$O>gf&5_AVavVd(bcl=B0zXZmYs0LWL>imb>jWO_0<O|A&|;ki
z?E|r{$PKWyR7Q$B$>0VOb_#En7+*ERpv2_minZ=o^>~@AX1YmmjS0H|x<)`mR|-8G
z{!Xg7vf`qAhE^+VLghd~q#PBxA#;@ST_kw0kqL7_8GQhYrSM#{i}ie?E0%430K&5#
z9!Yj&$by)vpcxsg2V&cS&j3Fe+BRgjkBG*&)6EB2S;cB1MK25(OVPAIHrDon*pAP)
zLLEEaX(3e_%JcDRu)Wp5KjA_M<_#;&m_^1~WV2e2#{#qyp_=1LL6Q23Qy~M`Jr$Vl
zxIp&Bbja+*0WHAT7B+~HSUo8ZMtCBY{9mWK2ycJhXDP<#BB{6@Z_{)ORwJzC|MENP
z{qcCTzXu7gRsg>VypO2tc|bVWTx7KSW?V~XLOI`Wr?9#=mLy5xIkf^#D#bCprx7Ge
zf~d>pVWNsgLurWxnlk|5ZRaG$FZF;~jwdm^)H5WFfD9Cf!{Dtb+scD#ftHCA+|X+G
zL4BZ?uQziAL9~Vml;TE?oa(4$6a)#KM9~76GH}B<kZucL$}NPI(`>>J1WE#_Q&Dqc
zxiADxb*smLUraI8ZV}+=Ardy~z#S}raIC3wQN-`YiK0?f>I(0*WV~!Pc(cRyh!8(Q
zeU4}ijffKw0qWST*`sU^H29oo4G%gWP?2<|1x|ag>Ux3m*sC@Wy-_moFeVvwH?S2%
zrz7w=Tu#OPdaAEWil5)C^%LcQY71_HL%8u=90Vwub~?%pD{>_<$O*}6;Io*fohijZ
zHKD5no^!jM30?rCCJce;UAO8$Wazmbc+4HKkQZ9OBF<&>INoPEYOhGR8Psm}tl<4a
z%5B=tL>&!DrAo=7!d3<NbimZ2g)rc0W3&bpq0rE44&tN<sO6kfj)YsP<{Qll8YrDm
zoCz79ni{O!s2UZ^GJIBO71C`2kED15*JZ@X^K9I)Rlxh#_^jm0qZ(3anhiX~3b`IQ
zpw&>)0uZyUh7-A58{Qy_k(wG^#tWN8g>X>q(UV<3MJgQ{%sOG~v|d-n7M-ru%kdmC
z@Cu<=G;mAxP@{%riK^r27}<}MA$`)N3<Dv<4AK_`dR!2*@glGsd?jKF6^`!KeWFc7
zjMSJg3q@VjW3*9LNzqOy4xoQQrLhmjP_mlJFj5T0dT2P!LUY8i^-42Qr<<W*ZQBT`
zWZ~}^VWo$Wa2(BvK)VP=QtIiI6e*h}HVG2?yw6w_2bitx@ep8fLY6EUt!C3N@DUZn
zV0=*yh94@}#UdFRhUpfU7-kYNV%V-H)MOe%o1&#bsj(BQf?32zIq=2&JmyK+fdMtm
zs)Q+U7o~z9OLQ_;L+8e|TDI$Sp-^OXO%JK&Jxl5k;nHwawQE>Tm(Usmt{YE@u|9$T
zelyt~@k&6nQNY*Dl)-eu4Y^e)E2YOSOMw!kQPc-rhN4hDfqN}yG#Fv276K|UA%G6$
zHcvl%g)}NO9(MaWfbkKH4j0@?;F^OuA<$$Glxh2!_9)^sK`SVcGRJMaJJLD4Vva#x
zB++vKT~=yKXtK$wppA);p}gCSWSlZXF|oR;wgK%{0_=T6O~b5HF&CC2A0NqDx!lTU
zA;xyf9e9HnJlJP}k)82;!E{3nfoJQG?WFRh;68%_Nl@OBR1Ry2HMwD-ko;8mkycJy
zBd~8o3m@hzkOC~EK-?rxH64pUk}^k@O14X*K%5!pF;E?=jwN#(hpq~Q+UO`~3KASm
zfS<w%Mh@NT0~E2-rb@*ehBKVg(Q0I)$|f9;(~vuUtx{CQJevfG3pd+O!a$3_kgJqs
zs$D0FLzuQyF_%KBR@7>D`aLF62f+_mB~-aw7K%1#)aX!B>H&C8=KxMy93iqgtY$-U
zt3A+@g_4#9dR|fi{m*E>YiOHM($263G<jfm`3Wjp3&1=C)iT>dAAZ@awcL}dBRs41
zh9K*0j=P{&Zw~}pW{YD9V0x7yP4G^i6Dvc%)lMcsaj22uft3qj0g!bcc>Qn(BRq_*
zv6hw;N1;M_TyK;LiU^UrlR!d6MT{pAI_M!nh=exGf(9Ulg3e1Nq*J;D$=@WzJZPCN
z^pg1~&>K^OexaL<HCr@SRJpcX>r<lys1fH#Cy8n%Zj1xR$*nge4dfj2COinm7h-u5
zQ)!pYQKFru8{M)1W&3)k5Mc#dRbt@B`K9_G8|+4?EaBM_W(G^5m8xVau{u*Xk^`Kp
z4_K4JgW^++CEKBqsJd7Qi2VqjGYXItiyA(F7!jzy^z(LLg$bxY^#cPRlgT<$9*JFW
zIEe@jMp+rPJ-`R_${92Q7l<|B<)V_f2}*CR3f6&k1|UKwg9=PZH%Hwe$cMo4KnE=V
z-CIa4t7OJzQbaH~ozjj-y^I_h@Hkna3_{EFMh%@F0fn<)VcUf$8rbG;BblvrDp@g*
zY@~)nHm^ZGIF!`X2=p$%K@_CxY4r>()nPAGWBIU1HS;MAblb?HIcidg8s9C$qfqH#
zvk!b)HC(IvT~n_JK~^L1Q_-;Mwt{8T^3q^j=uAgb?ckkaiby#Z9V?&#>x?pK-z3W+
zsYFJKR;_>&HYl+|4o?ZS{3w$El~@Q?8?k1%Rt#p2ZFP%cs}dT7H8lqvMLcNJ!uI?9
za<rpmeJSB%b*G5YHe(C%c;E%W4+9%PJUXnWneaf#Kxs?N1MD(u2E&j~4l|(g75AJh
zu0nct?6d}hoY}1)G@|RZuv~_N_=0P7ILP6YhhhmWH97!{t=5tPNOtH*UXKigz8vb1
zVPjB56l4$rxd+Eb1Q4Zf^%_#GN~0xt7#-C8PC8Q`LSLc(9en`JP#svWC5E@0LY~m}
z9~#5|+v{q!8nBmy%-SGm$@G27$FG(!XaEBpMCv8@0!1>Q#Ru?(INc5*1ck)2#=t40
zBErxH9wHbgQBU+41p*!db_w7N8qiJv<VeBI2gA`Li+r>L#AsXMOJg78{d-I=Bxlmy
zaw3stl+B_?1ywbnSwxa+X&_}vSV&aZ+$G3J7CDOOR<dD1!8&CilG3Kx3u9i>HwX-H
zAIWiy?nlEQq%%Twq*J5^Tuw+!WdM$t5=cLS=Y^+T&85R>3Iu(1;Mb+wEI<QfS4%+w
zYXtWQax<a}cbR8K$!I!=V$x&+$GXs#DjtE&k51BY9E<>^g$F@WJFX~7HW-*H$Rg1d
zWGpHw2SrE{WFl&93i9>@QPWFMh9+Wg__&E_!7}QHp(6(dmK(}2frCT=I<;j$-biw@
z&_bgUN=M~-xh_^rFq%}E)Prk*YByAs5-#3i25c%wGE$)Ck*ZYEu;mejRt8UK%qY~9
zd~4*DO%ITu39MdC46)Q$h^MP0Cq>YzKsp&yfMi3RRMPBN7+ZYXkVd5x2zm@f;04)4
zJKVrS&?l$WE%ZxDH4*mP861=2qzd3?OKujJ;FjH#N9D$B5)X=Og}&fHrmPRG34$C=
z0<HNb;<6yT2dc$PkJLw21@*~V2SD#e3&hz};0yU6AGf)zF-DEP>lG}jZPl{Pt_V72
zMzvOtF(4x&m;>l<Bng#roQVy<#!-2DR28}zUDiCoYx5uu)F4~Xodio(C`U=AH4x#g
zjYcJ`jrlwo2ns^R4XM*T-HLZZqh>D%8~fQV6&qk^eVB|jc(FEYBx_I{4F1IvMJweX
zQZM2tt^S}*acEgHa(OXln1wp8xE+J(DEVG17E92fz#U|YfcmuwFJVIqGQZgGg584o
z3^RQN<BGP{4XlR?e_ClrB>*ABBPk6!6p_$uD-24;MzO+GU1;jmGNj?yC)u`!vH2zu
z4wb`v8)Sg|T6C1*8FQ2doxwqd40jCI8P!4~O-ft5?8OJ(2)aci$hwRvd;}@=v$6${
zt~7L?Kpd9W$=cW)yQ9vCjx;Hjkc%y@jPkW|ND%A6_6Te^_-}J4_Cu|L!eO~kNJBcY
z6leozAQcDyCgn9w;PC<ciqUitvkP5Y^u3&+gxEN=M?h0$tRvZFq0j>@Nn4fr<y52$
zJ!f)4rO)JQildn6Jj@@#<3_b@hle$g0Fz`k6wMC%OtXmKcuI|DLuHbs0fx%v!Rd=Y
z*RY0%jx6ZxU}xaNLMWPVM!Z%;AyvBth<p}6u7!}&Z3WaS2%`$3(gjLWJDSTELS8Bb
zGU3U*kfpH{A@N01iKcv}82DU*42Tt`*`bj>=2J1WnZQvJ%79vDtRQARTBM|~Q3Wk?
zX%y)~iJ&j~Sy-W9!-<lf3Y)CP)cT}f)UeHBNganKdc$@wmKHgz=y|zoCNd3M4YV>K
z;ijp{b}w%iBCe)JK}?I&v(aSW62w8Gv{1^&n?#`#Ev6-a^<*QhMyn8wi=$jwP&$Pq
z)NwgRG(td@acm`21_c^lB-uoY;<=>h6Get6(loA<Lz^4=G~|v*LaIaUF$B5~g{H?E
zCbTt(>LZYH0QJx?q#Y`)q!|c!QwGqM!lfnw&_;8pqAo~*#>HSeE43i)g`;J?-hz%b
zDpyQ7ogRpx<1ANcj+}0d9b-<W1sK<mH3TeT%4#=&_b8AfH`R%eav?}jxBymUr7+p!
z;~G^fSK|G2)h@BYDiWMVwGs-OMsO2kanyibBq*1`ss-I)fwLEtvPxwD3n`~I9VsPu
z>jGJ!^%&nx_e8Fg2^9>o%XDPO8t1Zn-6#ymF5%Es@LMQoGt$vIF-LC}Vs)pgh{YjW
z2{#A}bsVb<0?ZLtNSked=0k~dvu}>T9d$;K2`T_$2+u@v*q{;vnnJwH<;|L>H(G;i
zI|Ks<uU*YGWm&Xk%ai*Oj)Z!y?BeiGrZSGut|PVqshCNEhOeNhrJ5&N=@7tHoNn3C
zv4-CDNT=ksf{s>HIOnvCeqcaNEDie)K?Q|#3aLZIr%$>TI{>+a8Z*|U`k-f1(Ltf@
zsDOR~9Uh=4b-R28Is%3fH7-i!Am9)X=spO47se1S62Pu3cT#jUlmmK}Z~J%wjhY!V
zUiAkAj5-0?oUQ;zi&(r7jSfRdv;h>iFd243hLa9<wMZHC!>jeCMbxsxjwk3m6ScSs
z(hQd)lmk8IR4^M5{FZbSgQZWEsAPA@=fMe1qfpp^Yq*M?k7HEZ=Z9^-5E<FP#E52r
zjN3LG#H|^XoD}n-pg}8}ULjmZp`9VqDe6IXFW*c%oSBj+a7Tjx3!1P&R8FBb8WF*x
zC7eun#FVR5lBxlRxF&&6J7L6(aRTI!5(A<l8lc$H1FUwk6KklY3`l6DE#GyBEJjwU
zjE)#uq*7?ARJIt>(hSygiRwrWvpn7QQax6nLdgaWSZdhpAg9+cfiY%exM31RY^eq)
zbLzl4)~RZwloRqYzzL!CVWtc#o8mwe8)R{uaB`d+ahx}*w(u~-NAj4))Nqw3848QQ
z^b?YY7YntR*q4H0pTb$y5n#${LB~Fjl)_VJB?JsWIHMUX7SC=$ia7+pL6d`<LERS0
zMq%+%y@6X`NIQipGUv+SQLvuaN<A_d6qp9M9pG^gS+*05Y2yDyglYt|4=IyXvJnvE
zD)!l)9u#T8Bl)jX-S;Iz*kgYz5o&?Ncu*oFE6I9J^O>6Ig^Vz&lRD5AyCl^o`5qwA
z**H-jL>Vyd0+q~`Qj(Y$x0GU!hD;-h+i*sLE7-|?Jrf6?7)0It2FKMxuwIE$zMgYc
zzm={Q>|Qcj>uDX^4p+^F*aLm!2*qU+!Aro5XlU$VR6ttSkvO4T7#B32DZ&ZbR^A9j
z%Gp$ht6N^y%B9_Yze7m9Qs5duYspxeq(E9HR1UEgh#dCdnL(k0b8x<;>Io&V+m#{M
z`P4`l2EiC-SXt-?5OqK(10YoJiNY~VHyZV;Q7zP0yurBE<Tp2fiP3z-3kTQ9O6`mZ
z`ukBQ17v1kTxgg(&^;73Mwlu9u;aiqQ|)}SZgdRLObuRD=msal+2h5r%``j!m0CIo
z2$q|Dy&0A2(SC7rZcpfqih)%t6S+hWX_nZyU6Au*Ugkt9LU_;saS-QAMIkT(47lb5
zR&nZylGGOaYN+1eh#uw8oBOlyAbbb^ZW*OwyHF8W_`O~)Wi++Qs5ZzO5qz^r%4NVM
zN%g=fOjIN7ND5kHCjD@#m{ig!v05qSs&rIBO%n%dRvn7NRvXL{mCYM%rd<Fjk3KWB
z?CjV~$GCLdVj>Jh15+G0Z4u5V;xL?4LMv9;Rxu{2*_bBcgk)jmZnGGJtY0`8>Sk5Q
zJ|qw-Uq&*Dtk7wO1`%{j?4YC%z89>td@mntIyn5vYPD{n+QxV#7D)`VyaOQOV!_um
z-m^9nh)J=K!KAw6#^^*j1pFOz4D_3r(rID|A`j}^2v91@O>zw03}x1W*KO3{^F&jZ
zjWFlp)uh`=Ik5t8IIBr283Bq3h`_>?)nMUB!=l6kUMW3Dgqw~=`X-U8NX>E_Km^@H
zi9^SraXeOHnj0)tHdF6sT0L;63`wmzyd)4M8QfHYFL$g$6FN>B&<P}AvsPe<dr8Ns
zr}YNkj5TtaQ<Oc;^Qszjd=Roovd<>+u}a1yFf$StH-qBB(NHX+1<{2T4nwa+x38t3
zO%F-s@jkREMU*^K%$VVPzE>_viXEe~ObRd1D#=6(dcp=jfe2d`Ak(pQR_`$IztOOX
zH^A}(E2PhMfhAA+IyBPb%oZmpg}M;t19&Bog9bxJuMid^C{eX7w&yj+F$20z*7Z7c
z$O{h9@KP4k=7}m>EDUN9eq75|JCV2n`jjC0PK#WEw;^4d3C5qK$!f?1vBhAc0OeoF
zN;6tE0ZOevRhRj;U+oA*s{}_9Nf+Q^QPMQxv0=xE;dYkq8R<k#bw%Cr^FTLKv_>db
zlPVbuUJz<rZW#`Ah>Bo<)TyLdGpb}L=t<V^6$T@<RIH-OXcA|=V0lFwxf1Xd5<~$S
zNbwq07!)iJzynL*jLMWJapibpggc0ta;s7yi@TL*62S63ToD14VkPTBXvoAYD+|)o
zZ7<lv!_{yaOH{<6mrqx6n<d&S**I*lLz^9zDsHD;QoV5B$Y{lAx*r+1N(gPJeFIh+
z#m39fo<`B?By3VPla;$E5^pq>a@R`8!?aj3N(J1)9HkpC#|;bXDIG)40h~RVG&{iz
zRQh9IPt;7+AJA%^LZAn4s59m`PTs5o7=+bLnTSKs*k}d2WD6?c5Kvltvl@=|Of+e@
zy+Wc}bRx~+5Sk<+rF0&N4?+K`$zq({S2&?oH)C=xcv8LxTE1~|VCh*X>jS^Y59yj&
z!jM=Y+U&Aes4YvJk*!2HXzJP3(}3$T9X#qots1^9L_1Jv!B|Y{^JbhkQ++hv=n%c+
zn95c|podn5Y-mO$LSY&td;{$j%8d?j@VO|Wgw!L@UY9QRa*!c)Ezkw%SF5>3O;%J8
zd`6WtMN194035JrT20fQ3C;F;?kL(E>0YT~R2j>KtARQw9OH`Ndc11Y5;ACGAbL2V
zGet0zR4Q6B>O5UCOGN_oMJcop@FgiHF9Ty{G*GCjn=^q+<{`n%jcLh<BP_TVNw_{{
z>Z68NYXcCM<oj@uvLBLBNB4w!Ls9bWoPc$UeT-@M&AtIqW|u2$E}B5CfG`mNaR>Uz
zKwPMdj7V71gB@$!4p+TVG7MrJWE!O2GDe0egOnH=jS6;k&`Y7iR3lo2VI#G1xt3}`
z%K^6yU80ELI16K5ghW~fVwD6CjC4I2sJOLYXQCu{=~07Z#8@LD)GDsr4QzpJ=f!x*
z@X8IhfrV=z#2jIJb$RHp7!#MOYzP1%MLB8(ds`E_A(kP4NtMQsdbSiMuYs6Oz7a_b
zI;~KO4-Kdu2v|CH2^y>spq>D*55QsNDnwU-njhHU78=BYXbHH!G0w(o!a%8LPED=V
zEj3V5p*Hs*KrA8Lt%t{12MJtf8sKs8*HHW4rqoivw@pAVUL#_w5Wew+Xb5iq|LYwM
zJ6!|FSKvy2?;eeze+dKb5#T>u3Hla}2sRmtBRVScfbh*aJ;yIppz8#nBn62<z}P{?
z-cTB;YLW!!5)>-3UEIcU?OJ67T2W&{t&@BsH^5lI2hbGBYhG@Qn^s93SfHi>z*(|0
zkTtnhN)^-1Uapje9USyMpc9aQG!3pSXIwD}ZRS|F)E3gYvfmbrMo4J%>n1b{)*v<n
z9ysq8Mp-nUC^j0Viw+Pd-j2MkKSF~A+{m>;a=R9mq?9FCf?bBLE#<5*9`=IF2u4BH
zxt-SOB9MN3fQpBLGPT47FMKz+6>!SJ&2V*C&5y^>>i|9r!bVgs2YX4qFG3bK!L|W~
zE+jkzO=ZKW0UB+jKs2wMVxl-S*`Shin2fNEOlmY>7@Fi10orSVMq47%96-d>8w|#P
z${$vQ4q3OWIpEj#%1~s2J|jlcry@-`RVRX1q8-mLM7vEuuZ}d01>RN{;${*ZX9O!V
zzy;rj4navNDuoQj9;fnZ$guO!#kgF`B#cskq9yW7x|o65&amDJtI%Z60n<b|q~4DR
z1j2G+qMVDl>5&ONTZXU~h{<@k1pXH^!Gr&>+8`3fiEfb1gL+v5c=X7KWfDV%Xi8=_
z$)*_|p<@o{%JK+l5sqX5gptlyqAu*SDJEqK#XRtw+HOS1iz>)|+d&^FqQwTI4L{1T
zQ4GaYk%yi}S*Db!<#Q%z{=lU(X_Upr7%efZ%>psIQtT0Fjq)Nx!v+!iln38twFa+1
z9PEO-lI#pbI4Ol;iBgcoZ1KgSKTd<-^00%;TEwXpl(0;Va1N@@?OL`o<i>huhzYTg
zkB_t*^x7TZN+uhjBHfrO(IMz4o}}DbiRgj3AX*HQPG}iBl5TbjxvEY=OdvDWAPr1$
zELkOaRPZG->pBGzBpXUvNQ{&qXBJbmN|f~58mbf`VOZ*fD|jI`$s;2hlu@i~EvF9o
z$at718cAq4Os2U+Dxv@Zm=%K6+Qh|9or`N$NKgUnO9wF;FE^Xr5?AEvCAkujv9Rol
z9vV$FAXsLwhT+GXMFE;qk!4de7`_8&@LZynEDF#)N@)R7B?MRs5y0`#nIjUseZ@2b
z2>CGxVL?u*4W@_S+mw_Z*v(*58UjGcs*j~CwBeI@g0|Y}fe8Dt0u8K2Rxnpl9ay`O
zw!r1en%b2b3UE(U039$nmreQEVskLYz|;@BRi0Nga#VE8NW-l7>0pb<lyXeO?ln5~
zBmqqpI>8AEh{({PB4vwt6BrfIsOLgYV=hwbKu#dAq)^gKpu=V|4smzWpzL%coeqid
zcFL$_gV$7Pni$HqO3i8vbnDass)njLlUK$_5L*<piC*BFdYN>+gyk#-M7rBq5{nJ&
z7SoR9A+tbA(5O00l2s0otCc8plJ-lImr=4ZBMoYyqG~zjh|8;RHmliALYwJ&$tG1c
zmP71HwNPL)Wm)x1gh%_NmV=q31ReT`#Q=r?zeBwzmufiKS~MH1*?b1>h9G=tbNc{G
z0%+vGL!m2#RZg%2p&Z7>$#%_ZCn0?ZG;$|!+zCnPnh{zT%Bb$<ORX+sqZLn!^IX$6
zAs4S!M6BTh(-yQtgs>VR$QD_yx!nW-OO`Nz6P2nIGYP2rgrLK9MQ1ZissY-^NJHsH
z6WK!EAV_$FKmpIhHk*QIxzKe)NM~B0`w_8F;P(_mI?>0VugHkPbNRAY$qu4g2{#QL
zu&YFl*5FF4PIGEaLOr!OD&b+^{skX8VcO|b&>}u=AnCYAh4o=`9L3yTlWalHKWC7t
zvKrt#)58ocNLkcx$9TEmhRD7!NXqcmi-Sr&@F3KVSQ%TYizEiH&rw0s6e8P>YL>*H
zq5*7tzh=jxY)Q|P5lmN8*@O`;6zd9Vrvi5}<r%p_R7If+6JPRS<xn)|b``t}<wjjV
z)DAR{@$6Eh7FBH?iwmaK2StM%=Cl)0E6U56q*#l>w_0+DGsnGN$!K@N`J$7_8ZAPH
zbpLoDLo&bAZ*O)a3Lqv!bMXuo9ybH~E=5ZoK0qpAJKom0dW0`ZDs+-UYOd?2;Iu*V
z-|D8iC~qh<JiMNh*an(SAaRi``L#eahww<$qoZokrnH_LFLHh_R51`DBq5ptnGPj*
zOn`Ls``wh$6L1O>)79$02bPhpchatC<c&gSlnF%>&6dlO`B6UZN?8g5X4f{&D$e(7
zuow&7Zr|?n4IVlx_qw5Qw^#^n&aok_P@r(T3!XG)RLN*ypyEXl_sl5BUIYfuB&&=K
zy5ztTPKri@&LZvh$ib?`WIR*WdIK5v^W!uPy#(Nd@H4_3h>0mH9>STx4f_8PB?}Jo
z>n*beaIE)coVneE33Dd^heh&_djI07w`ZUG`k|wjpY+>1=(DFhb=m(Av-TkOD(t%N
zm67I|6tQb2b>-6+&EGY$VW01|I!8JzxgUA*JMrc3ob}zON8bD0ffp}&rT5XI4-Z}R
z(Jh~Ud(RVZ-gk&`-Rn1fRvupW(c<U7KKG>?Ymfcp^0OvPolLAh?%Q{do77r%+L;rk
zo_*@V+w51_!5-Jmn>cgsk3Un+Ubx@#*-JmEYg6}`fM}n+|Kij?u73S@OD>#z=kTKg
zW}&ZKwA*LPC(}!Q_z6$VuU&sgV$#H!*H@``AHR4D^PDVPX;%7}*H(=P<cb)(>7xG}
z{mLE-k^3*c<Cxscg>#Qw`}b$B5+_k>_xSCSuP1-|`ElQs=GJd+JwvIt+17zaTzAwV
zpC9!2&we{$D%@)Dv+#Jh6#emAy}#eL<7F#m9NfE=p7g*Bxav*yzfL~xpX;vS;A+kP
zz8bOjLS)akrXKU@BlF;w@~3}&iaKG!1E)6E?zo7VG=Jd_KmVA#Z~f!NbC*tl(@&X>
zT{v&zUK5wkX7j(G{&URsGcH^4`jh(g3pVTnXZp6cb_R6@oayg>oxLdYpQC1>{tjm@
zTmt8tJmtddSxbI9;ely;?fa8Ge;nGm6PHcNuXUQ?7tZ-2c!clb?@YNOy`)P0>zz{%
z+5107EuXz=YkKa&Nh-3%g$s6tCl5_tckPi2z7VgVw!5l)(;wcy`5FG5oUrbi!*4t0
zz=!02&jtLl&0Y(U6Y#C3PNwJXjA$?g6F)mOn2+XE@1xg_+_&Cr-7x3J0i7`Q3vx;I
z#KVp#FPJ)uom)b#=)L>+d>EPa(<h#E>MV551=9z=`El;%-T;p^fAG)v$Dt`_CpS;s
zE=Sfbgi)M5*)&hXte5Eb)?M@0KW_Zzb9?UdpVc&X>2!GHDH9L8FmnKm>LV8~I{o0U
zChxLu<g4DpGk%!Z2~*cBgTee_?Oy4b6DQ3==Y^Q}=S|gNshn`zR{y!#+k=}usCVBb
z^OwNUlQZFEyBrQjR}Z>n&MrS5wQw>_;z{d&f5T%>!9eVJXYZj)eg~8A+7|zw?fL7s
zhx_<&?UsvvI|05uGxW%usu_IggJ-+P{QIaG^Woda|L(y9(&q)!{P<57@o+HA?!Q;#
zl7nD8Zbx^1pP4k}t;5%@erGu>m+8}%-eNqz&9~3~Ng&(nR_=Gu2RHxjOY!Xfd+YXJ
z@%Y<MZnJI=m`!-xbC#U)o_$2Qcf|bZ7~D<ei3u;~W=%Y7&8eeL-`Q*V9$Ryhggu_T
zd(qI{aQREulEUi`FAiRVCFd^r^Ly9c`rR+mljfhf8+`AM4b|4nkCUr^xq0R;`RajF
zm?e`x;U>(x;?Fxg_mB7Ti_?F7DOenH51w?ub$7ikR34i@y#vqj#v%94xmcULX%>25
z|DSKY(0uWyGwHo2?soVU*$c6!@9Y~}Tz=Hu<HuJ&c`f<4x8kRJz`|TwopSp<A9g3f
z`8Nfx@b1^HJO|d=Wv?b*IQr3#Z{L^w{gdau>A|B-POsj$@bZ`X`^Ku~$-&xLHN!df
z)s5JJM`hurPYdQ^xB1iOPW)hRVnLz#*p{&*mYQ_(KI^|CZyEfQ-ISaeyy$vxF>0&%
z2eFf8><JT5-SNQ>sSB43cD#J2{ce8yf3m0Dz0cC-4CkB6)w{M&opRtJ4o<C4y7s!e
zm`ip${o=`+VDj$I-MR9@$>AwYe1>`!aro&wCSZ2vOniR#t8aNP@2q)YW-t%_p6kE5
z^F7O3bpeb~FrcgO;I(@x`)e7VXItkabNS?%xz!t&wLduU>@QB9KLG~f;py-^r%j^=
zXHT9-!K=Gw?^9nr4g2wVQWx&JC^zY;dEY<J@}KlSI~Pv<$mAoA9{%oNe9l2rzhGby
zU+R_dsrvLM?RhuP`^~L$_BkGoiA}opFv)oS^7SX(aOLeYUsyG|=~tir6))UsmakH8
zX&<rd5jVbY^~V156O->xnz{xo%c%;#VC%Pk{^OPJcy!PA7hgPj=lmP%f4yMdT~FPh
zrDtR2ig&O5_LIkcdE<CvTg-u-)bIM>)&(~|e)5j{JSyf6x#hXWISWeX-oO1pnXf+k
zV8L^LE<JJ8VcdBKoU{Mox6*fyH~t>396$20zud9o_hbF`q1~fq%wKxx;;)!H2Op^B
z@6J1V@f}wm;qG+oHyfY-<jZ$2-K|o+^w`h#yD_%zuDd?Gle=W`SO1XWD=S;?{;TVc
z@SaK)?)lZ1Z(Q)^yYtW7apLpOzk1PD_x}anxHhcFXaA&}IeFENKa9vlpI`FOO(#B+
zJM2g>aizD`AL#vk?)}Sl_<Y(i&s|*%JL?yUPh4@vp+CRt{TsQ<`}~T~<*T=vd(-q^
zpStLyyGz$2PwtwWzDsiUNoeG_skeWdzvjqgo332*(%mz^*znNqR~~+w{eawiv3A~7
zkM2}@YR@wco;Q5OT{c6!)PLjTl@ENk>C@bOFMai5<I<hfKP>*{tK<6zoEKer`#l?a
zGhx=>o(6{WzfI=CyH0*``K*_^7oGl>sjD_TxZCl!U3mTQZ^xD{8ND<6)6T&sJ%8<y
zFK=4(?#06cKHLBICw8u_KKR+oonMm6wvQICJNn+EE?M+pynILZ$}f+*ckwrGor*sG
zWW;zhzczoxqg>+qg?iL6*U$Xhlua9-Kl+oWxnExS&r8w9>8m!bJN%vR{_&a)PdjWM
z^6AsFuUWC-1?`MStlM6#U(kN`PiK|?{OCCg_Ic)yxt&+uas5qC9C|o^=$HC0Uw!?S
z`S~SF-h1zWKb|s~UcEbv`li<(Rhi53KQ8z;y;-?qzTNa?xce3@e*EEGA7MMZz7Dfr
z+4u8ThnN21@LMyBzx!s`dg<n?{`Jr29-FiC4YxY46Xzq^i5vd4<oVPoKiU7(la`#e
z=H<@4)}c4;@QL;Et>-*`@j=|5<!f&J=ZcMMAO6+XCl7AeZ}rRks;Aam_!Qi%eCRj-
z63-9UmajbWF8O21`|g|1@#9WE_!IieZ@>QNw4Jxc;-P<i{v^3W^um)aJ?`5VkNEuY
zgFbrr#O-$bJ@dQ0-|4OT$8XLg7Q}yeqaT_2@uQ(BzhBhfU%CFWg*#t=z#$*6-r}7<
z?e^>6eDm4MIUelrvuE9M?|0uGUVr?e{ca!L`_(@e-1Kd<^V%zZH}T}fQRCb%wKLv+
z-RCYn^jQ72R|gB8+#VXe{Nw4=;%_#VZaV$oZ@+l+MtDnBgqv^vdPn}ukM8;U@j0Ul
z5A0w4Wqe&~PWrxGPrPNjV~uD2aN7HKeRR*&8=w2h_{+D?%O0}(vHv>j*{h4(_6Pob
zZhYgj;+2{6!&iNF%C6cjy$7*R!BY0|<Mym&;T`yo5AuV-I$-r4)U8*U)vXT3`S{zj
zzI=Vz?zisx@(VX;Z=XqSk4)NXReT%tuBE%+_7O|Z`1<pYI@pfqpPOB~@Q&6qf0%vw
zmRq^MCw{X{_g_z?cYf)^%MvI2zV_I;fB5JhC*Jg-Z;aQK8;`)+x$U`Iz<)S*H~aQI
zZv6D`#6w3O_osE&k_TL`@BXjJH=aCufxPm}-V=um|Ga$e3jTt~Bj%<Vf82V*IJ{l$
zXN$k6-1pVSzij)<Szml{?%_7_m)4zoyznl(U7f|h-niX+N8EYrCy(qytzGg{XZ6Gz
zn@`QV4_Wb-waXuU;F{}Vw^r|_!tX7ed%`_?J`PZ_Uq4KqazJ1T{{GwA6U=H0*5oUf
z?EcvS^~pD1IOQ7p^8I&4PrYZ_J{PW7I(Oi&Sa#Yj$X`}HvW7hDXV-u5@&m@TcTh+D
zYD4PH-?(5YFPuAq7wwYKK~vA#q7ypr7v<j`h)qH!?y!FPp5bfuMYgam+kY2qkLK3L
zZ!>MTQ+AEEA3mpa)PB1kx9Nrr)9!10eCLv#r@p`G(<g8cwOaSu@;N&n{i_>h=yUHp
z`0Mv?`oo+fp1<wI`ff+Z_PM<9{d+m{ouBjC+P&*9EPSZ{&u7oN?}V)%>)iXz-lZe^
z=gdBE-Bwe6ddQ;BBFFE)?&oJ8xAD1>cu8CNXxB*dn8{mAx%%TvZh!ZZMQi`I?!EiE
zYmoD{{pG4BH|=aZ2lIQ>{5Rga_O8e0Tz<knQzo7BEsW<?FAygo-qXxJ=Z}}GN1t)X
zXG;8?6<X$?>Dr9>vlD0BFu4E8tqy*A`EGlz*-7=L27BgtzW_(Y2H*1a&o*5@MD~OY
zx|!O>x?@G<U$xkaYo@(--;>u@$l0M|mbAXU<@uwyE&s9R{zJZ9dm;YBueN%=e(<dO
zi@R30KK=Oh*Bo;#f^M_zjmzGgC$Cy@@aV=FvUB$2H1+M5@9w^5^_9h6fAELhr_1@R
z&Yg{J@%A3SUf((CCtu*$&#_~6$9Db|SN`PXwVO9hsXJ*^c-o}joILyCpLd@X(&vA;
zzDeIT_+ah5?wT#!<DFUhhp*i6^cCqd&i=go^=BWP_RyB6kB&Jl@y=c=cf4T5?Cb9R
z_Rb^R2X^|ycJJLG&)RlnIYw-~Lu}LCzxuM9Si9XW$*EHod^~GG``8CI9QNL;?tNSC
zJSDlC-nsFx6P9edfkGb)y>puN&N47~_G0Q06<m@3gepJmGe;~TPc=mtmNmC7S(d^`
z@3@2ie*gV@+%)I4nQy%N!t}SuwM){=j(zgB##3jtY8&2o;PC!+u#$H8YWUjdkMXMu
zD}=Ql4|cn2^A@v8SpQsN$9*$v7jBv|dD;Pw9yNM<ryV!#@_geZ_o1Ke6T9&bJE2dX
z@#`bT|G4t$yBB>vsYo2Lv@vB`>wlg)%>Ui7U@Q*5#d=`cnlJZlAN!jn-Dk3R?Wglr
zJ!`MpK<&A3XZ*p--aYk$x6cS3<y-2}3*b?n29I_9Hwz)^`oA9K)E#pNKXq{P{_PG#
zzn#3*wmY2q)8Q)uIOp@HEL?`JpR!eZyNMq;Z>{<Bilz8@u@g@J^quMHx%E?bKkU$*
zUfI#Q?3eV{%WwK1b@J@#3)YXfyZ>c&)ivLIeE$xA6?WR?foYxFZg_8p=U(bRyxW#X
z{WP-lFKec)+&OmC#1k4@oqqOC{*+%7AD#2peT!G0J$3JCl`V{2CT(%}ZikF-o+_{0
zu$KOO@(mkCPrrOq`lyxf&i?AeL+9CBCwE?X`1G9f)&t9D-+s@ZHs0dC`QTN1A|J0^
z?cU|R-1_6ih1pjv-%We6_uyxr{I{jta`73~eG3i@qN2I~wh|AopZ6M#AzSRXy;YyE
zcK2Uzd(qz>e1bjifc?o6ry=j&S&4PF->^kF_3_>_>{qaBsXJFJ)%H8TJmD9I-nGYl
zBX7;$mc0JO);FH_!p*0|zM53oa)+;-XCA!6yJ*3(#*~AZW2PT%UY}pIcC!8a!*cbI
zgIAssf6#p@we$Jr{-IY&Z$Eb48DE@w;`7ITZy5Z^FLs$Jv-Ym9pRvP>zdJ@=pM3Bv
z@P3|L`P1n$u0QmJEB2TkKkK<E)#FbimoB+v`YtP1EbZU_v#<AEdFk|W<B3bGL;v#9
zN$*3Sj;$yD<i&H2c{u#^UBi#ges`;N+>}307pA}b(7A~Tg1>CmE%zLC?8fJ=lAgn?
zX!4xHJ9j@f=g6hXO<+B)eo&eD;i?C>3!Gs)U;QOLck$%EpFiW?_}eGV+4~1$5MOpy
z?3r84Ds|_SrOW(P8}HwH!ihKi-8t)?w|>iImgIJ+8gtLNe5ZxiPhDM~AZ*$&VTb#-
znzS@=Q2(DdKljBm`2648ci)3s?5E!lr+46&-?M(z9sTF2CBo#5zkczG@ZS%6?eU-a
z>zD5R!q27=58w8;#S0dcuFXW3y)Xy6_<ztHXI*~!_YT>-Ute_OPDpxR=j=)6UUI=s
z>1XC1^OyBAmd?5gJ7~vszg)TB$7f#u&|A|#-@3NaZ{M_h;blwmmFMGA<}Uj1j(6qv
zpTF+t&YE@RL!VB6X41su4L`ebQG4#EQzo79(tC5azqI#w{OXN6y}9rgd+xIC&^f~!
zuw%dSc3df;)NAxpdx5vV+mScEABSWMc;PR9djD$=ocd!_Q9bdg^Io5O!qzvQv-<t}
z@3N-sw#7w{@VO_pSvo=Z`mD1i+fU!V)u(6K{+`QkJ8{Z{ZMe@rdHCE5b~=BHGl|eM
zA76IH>i_w8)Ah3_-}A*A+dlJd)L8fXpS`g`e$H;L+?pQ0MBKjk&DhkhYG>SkjJS0C
z(Y@a-7I!%Q?eY#g9DU3~tA5x~*8Xw7!TsFP2R;43G{1Vx{?{KhW3WDU!B&^=bV>Q+
zc^8IjEPM7XwYk{pEvB8=-~KPx?9|(q`)m8U6E2(h`kSZWuf5RDt`Vl6^z+cK4y~_U
z@$5_6xI3lU^?TLNcxI11Mfbf0;m98Mi(l<JZQ>Tj?1FTEL_77>>{*vhyyKn^_ip|?
zCe563HpCMP-J5Rs{f{pA5l`RouD0pnpG?{?;ls!Lo0J=>4_tHg0}bQ(Yokwn_xgRp
zmFzj!JUaKYEuY@ujjw)Ho0hnDuA^VFQ?4`T!*vfIbv$PM4YyxuVlyD}jqbLqx_HX>
z^Zp5W!Y#KG6O0L`uYCQk)1zybul&b1Cmgf%eJaLpy~9mw|MgVt*5mtI9CyXEgV!t%
z`{mUOwtKJf!ArNCwk-LFgqfK8<ONaVCwE@^(kB;e-06R|dhn#!?9Cy-d#bB>wR>JT
z<CP$8d<Wb0T*#$7IrFj=m+$pJcmA1M|LEU7Mn12Vx19IEoBPkbX6{n<oS$F$_^RJ!
zKb(BTX3yu2GcGDkW+vSCi*2`M=jgk?@vJP|aOxY8$8SIV0r1nVeI<Ut%qbVbFkRnR
z^1(jKe_S>*w><xZy_TN&L!d!C`0zUrBGU`A;M<iBnf{ac6K6hrGJNSG=Y|l3n?JsR
zox9(84!piQrvDIEh3n_;6-3#gU=u&_krS=oExahmNqqW#*L-}&k5N%??hAX&JPG;1
z<vsO}Cy|g@I%#&`KdpHE9fw{$8~mq>&fjJ*f9j8x@w~~m&e?P7?Zo#n>|5L9K06@@
z%9jU$@8L&$_hlT+=p&Gz*>^U6RBF;*^M3RfX7<nB8G@a&Pg=6s<o_vo!n>&;IWm1x
zaJA`YUeC;=Cquw|@{0QQPw({O0QYK}-rsua{H5Q2Y2T^62N1|xtT`drxDMX8H*5a-
zpTT!N{Oi<3v$P+-a|%+}{<O&#!3_l&fbRCcI4Bt;)XJOl4R64`{$Kfqz@3TnTf==j
zKTO<xGc+!^xAmvNb*{bbsSRxyNi#_5y%r?({^L;JxZh0r;2%csjeUMQ0Zu-T44m-r
z+!uwJC+!0FHsiw30DtMn(c9T-zkkTo<S9QqkNWJ3hr_Ao?+CGA_LEnf_vf$Q2fnlT
z>DsIF&rJL~7@Pvftp8!bAHU~==fY*^)w{vC9of0!&0yMJgaKcFcaSpu&*rU*^Uw5u
zNCB+L&7TO_iR6jFxakXTykh=z1ZH*~R(apP`QOj;(z7otnt9Sset4dn|8&!BaB606
znAi*7y5sd1nAN!;!uvnWy?H#8|NcMB7>q4rDTcvV(_)=$A%n6MNm^vfI+UGAk&K-f
zTV;(FX_K`?RD-c)ON*tXu~#HgA<F%_ROfNN-*e9IzR&Nk`@hfU@u<13>%F{|=klts
z{h=u#>hEdQ1Y8SM{|7l?HBM51Jx-0#K(fV<QOg}Tx)lI))`v!+Q8Isz0#jUTkqKe$
z&tfMOn4kbEj^{?sL2HDou_?hBmU^dGL;qWke*}+vx5^h}unK>^$HUUy7k)b33|Z^8
zz{c{7hywUKi>8@D86>v90EWL5EL7y5bHGUzwp|0IeG%y7Q8M*#1`~%XU_ns}2)6lm
zt(n)QnWvFP{@gx(y)-m(MsdjZq%pTq(@At#>iGWX^4gxi*{{aK%H^{u!RF8R^jz&4
zf-@?UjjVP0WUR|ZW<9uhvl)t0aun{rhjeu3A7~3ff&}p@RcmK-2sxvtMa4=X+_VA~
z#P*qoACvlbtx<TXTqz3u4|F0MF2#W$ajMAoNVBAi$x`BBsrkw|Tuxpy|NA{XMa@GQ
zq<eo3&(&R*9zj?zQAO5Trkkf_FDe|O+VDpEUUNWQ|FlRg39ug+>Yp?E|1a20@wkA0
zBag<;yY17yJ2~uvUL8F3xn?b*$bWXUmP9bP#hq{}`ffN?+8~z`BFYn148i2@!gB>A
zIlQqccaFK|HSpY1tu7y(C|d?CC7=+;%Eto~en*X`L4#W@kf`B=fQ>xoxZcQ8su6&F
z0XMOj_cy3%-5?0Q$OcrWts|Q_J{Z`20ouTwx2C2&(U@X~M>gVTzFKNQzvtEv&GGna
z|5^hx#)Ut$8~NoO2<-RGskJyAPTx+5E$aU>wwykGygrf@>2cbs-uP@m8q1e}{#c!<
z%YtIP?(6eC0dzj&tmUaDp`%*~7eB!tIu$j(7W1BpVh^pIryWRO`F3itI3LZw2cSjg
z8~H4}|G2vi!k(tDr-vTZb`<Cxjpdb4?6V6rH@(eJlS#cmOEVVVq*ON>nHTn@E#Tv=
z8%0k6+_2kx;AW~uz;9f!j@fA~f-{InBr1sO{%HEokpAB&nN&XUdIF$9*&BHQi7$(f
zya;hSzvZxE-)8H4bOk@H=lW=hp2OzDC0ng-?7g7s_B5;F{_$7oKfX;(UdUV9SQD-o
z=Ft0v)?L1+aP-%2uieA->iAa{eq5dCL*NcUYXJz|+hL>YB>pGXD(mwRz@7_GP`4{Q
z7?cvS^V3h58jg|KC(Imj6al>gy0j)+Ra)>aiRU*T+--BuLlRJp&Mn*4D(}<{oa&x^
zN6$X0(rizQP(sJ96Wd&ph+7E{DflviJi1Stxfg;1{2DwO>f(Qfd1a4(e7rnEL>Xns
znY)fZy&!u#N+^w_jzao8J{4e=ww!z$bojRLh%3W=N&WZpE}mOYG@{~fJ&GPTA(W#1
zKCgc;(CHbab)fmP@w&1K!B-unkd01q7E>VMLTG?Hn*BF47>Ea_b@~oe>=M!N*$RMZ
zwpp%vC!KgXjr179_;vemX@1y`4>tm!Eo=u|z~^?XMzcP<n9TJ(nO%piZk_&Juh=Mm
z$i2@eZRDZkqQ&3J#Y{ikKwba{BXhn>yZdE!cf?}{?Y7Tx8j-J;g5X#gQT~L`?*EOz
z)AMrSJ@PodpXzstYui#<mp=ck4r&A`riB@&##mDXHeOkryLB}_gA#%Z&-%U1?XkIP
z3Y#v@M@77ymYU%IMSGLz94k@Sc*{!r354I_XD)YSuxB9!jp()DuNeM~R+HFBl>I=N
zQ`ENOFHI11?bP=H_v^qrl>}e-nMj~~o9fF==9wvlUS{t)ommo*(^XNQo9D@IJfU#h
zP{nXh;`j>T^4sYjJyk_}!}YeEugL7_LKa(t^FIRlT53T}>kqdAbXaJdBK~D8!(!ru
z0#^pfAI-)qzExo3-t&j<+O)koeDu=h$9)c=rpY2|iM4g~g5S;kJ*Mg-FVda0^ngyN
z4ZnByR>nJC9@#|PkUZ2HCja2I(Eo^9PB)v>Ysj4<17}x%n%BtgxmY-qBNQshl^PLA
z1L)1&xt!+n=-Z)V{bg5{PC_Z|3Wvb*<-RXcg2dfj)Whkd63CBZySLhm-=Cj?rbXf7
zv;xOYgd}_4u|8CU1(x;KB|0+;TkF>kFUC8F-RGe-+Q?SfE?K?v^3f;ZszDzQ1fKYC
z^_=4Fpt}GG?ym`OJ6ij3E!;de7|C`2y>r2pQ^s#{wlDpBw(qHf(b~QZ$<O|4`IN%t
zUBeW2^Y}--)uohszVC+4BdCBIz`}>^TMT3_OU}ObEHwrC&%9@oRZ%P8v|hjL@7mly
z{~)#~KmDTr8c}nsrMoldqG0<HR7wNiu6dhZS_$`%2MEO|;cx~i0FtiB%wXV{<X>9E
z4r8cL(Uz|p`n2xUyxHvz6_@7fUfu5-N6^4MY=#qaVdzolp4DGJt*+IV7bULW@?*#L
zMBHO(GK)+qLiY}7L<NW2A3Zs$y9Y1E5slESA=3i^D0mPy8*uai*M?WC5X~+ELZU)B
ziHe&Rq8zCtw;>T`Cl{VL03esS)oho?v&)pDof~fUttEuQm?n*GoBdlS*_l6)`%<dZ
zg1#(YxpMwd(%Q2g0SW}k;(r!+;zF+jnAer}7rnmk>5dAgO6WPna^v=Uo!UU4*kSNt
zv!5Tx|N5&1s7C-(fpganmpa_q!wb0aro$z6iU%)L7ypT_5r41UKW*OCtl?z-QaQ>P
zR0nB;HIuD|a6f(nf7n<Xj|^Vjuc_R4&3)eo11**qQM`5^HZ1cApm=p=BeV|fzjH{T
zX7$&y)wSDJH>fY~99Al`+~0xWRuh$CzLLfFIhV9{Fy``QsZ?|WLdWTR_tK)E(-p}C
z*@=fiQyoV0Utd^QFvMt*%ce{%CJ0p>#m;+?DyE%N^z{5D>Dj0K<XrC+uZN_!Yq>~L
zLHY5i-v51{u1~w&Lk{~?GU{Ios&Cb6eB6=Thf5Q=ZttI6d0yeRM_*k)gkvm&iK<{9
zJmB{HrloZKBQj5RK=9k3zA*KJUiQB;pELW9Ro4Id0<-3<e7I52As0B>ocslDSZj~5
zgjjH9qSq>r5ot<~7Y%l-t^^9)JOQw5Dx~wS4?8y21nT`-yryOJrIA;!wKYwe)t~4H
z`7D!#S4Y`zn;;Qo+{Gqf1_!Zj<I(@HsGG^$5<BdC9)6Jf@cjC@Hu6ZtqhCL!R2^wd
zNA4d#cso~nx-2S5RHKW&{H!0i5VSaR8Dy!A&q8=|el^|gSbx|~(xruZVS|EA>rKmR
z`x`wW#6TJ+&JI6Z!zu4E7AKDUR}r*#)W8<l2%lGi&r4?>EeuUeatSFS;WB36lGK}D
z2v;-9WRc!54a=o|Oz&JJAmQrw6O6dypehhL$)TqtNlDr9qcx<9CTEsKFwfbhvTF47
z-I;~A52Ej%uKg3(uhafbaBx$)cIhb6HwlKQLDirRVK2lN5m@|X2N>7~$3NE1cV$4>
zF?sj+%y>P!1b5|@rmCOsucbUq*qHC}RKNQDU`^%LqmKvaOA%s0FD+G1&I~$FUCFZC
zdbMtSgit4Z(iXApC*)H<3SBh<esR8cuj2Ze-;3okK{o%F#gZq7T%+GHCDcHSmN_}2
z^#%KvWmb&7k|UR?U@PbS`ku-vaOn3Fa)&FDaYUn%x-YwLSze1x$S#Mok~1T9c?^os
z>%gxXjYSLx;tMDbIG*aif8TR0ZcfKkh)7@z!UD;y{{+jc1o*i6*~VYMP1XR($STFD
z!;PI92EH&=V6SF<*be`Zou>epzYgFG5HAH;A<_u!GO)esU3jSe*>`7G&%BVM&K)Rq
zcxx9|aK#t)r)uTr!aMT1XL`1!?SZL#-VKG#n`hiYv*|ao{V3jlefLvQ`OF_*4qkLN
zdTdf5&M%)2nP&vIt0sCa%3af8pVsE6hJzg2UfKA#iAs7-Pug+jM{Dts%CV7iO6tZ;
zb`Lh@hZvmx_R;MjhZFN^?7p&h;mf8q0pt7MDt*-CRJ~7dFsicViGM<&UDae`_8%^9
z5r4zke)qx9<|sBE)dsfb{l~cto@Q9=*mQPfE{;!a+7gE$Vh=mcZl>Ji6Vjfk9v!=N
zBcFfe46s?(V`D~T8KM{eY}(5I<q0p!i8QW<_wdxgFb*=6vh{re0wNtU#83#y^>xi;
zzNd~9b`_;BXPhJ~iIp2VvtSR$E(w2XEKSZsK3WuAc+c4g@{!x~LQ_@WA)OBcl{an$
z18q>zss5&wnH}%=YjwJ^J7=o&(RZ8rDAAAhPr@JN0bps=K{CT&_-1F`Lv>#>QJAq;
zbx62+f~q~E+()>>P8W<P^mphj3<k!Yg`}EvneuSBoR6Kw0v05j@pJ#J{j$WZe#VS$
z<<8$J%B}VP?k-uG2Tk`|I)r{wtC@K?<qA>O>BJSfx1!CxR{Uq{GDphN8xg7s1H&GT
z#)#jz6r7`jkgTI18fk--I<DS_-Bp}5_wi2YZbS*>zJBuoWw)cigXlZHgsv-l)z+5-
zBfRJ0Ruw(NVydlAO;bFs>QZN}hA1DJ{Ag=2<i;w{sm%`nd+i3Yvk46M$I5)%;iG4Q
zC|(k>Y-6+-AeGhTSz>3IDq;^5o3x1({n>Kvnt!d&{*U<t(UG9=SC4V35EyA?Z+vRA
z%|mbPzaBYbknq~j<`BK%rhRP{{`C7RMbx9=OHCn%2p8G7Q9L?Ig#8S83^m%-#)+B4
zC*cBe3gRyK6K<nT%)Y$VPPqNeDH6WU&ZLfr8?4R-w5{zz4k7xlANUq*CsVo!WEyc4
z;cwme&;nQaqf-DWHnF28#Yu!)BP_4L8?*!NBF980S$$IvPwI_xe=2?aVDT~2@;nKM
zd-i&-dtX9XAG`m%>i;V2{{<WA*%tF)6tk#x>WeE*)6el)XJ)l7W&;*mW*X~J4kTpG
zLxyQjiM{sxXGkF}A!dW1U3gx1Dv%<?j*2kY7Lls#+KMHTr?Q=_D#?jBOh*DYUOB`f
z0!JNXcwnYqT3M`jjchyEL0Z-fk9;gilG8DOJS-$&=+a;2G-18_CC{yJNj7~m5ZVjt
z9Kv!78izOh?VhAHJpa2Y3WPF1*KL~<Rebbye?~dWfZ0{o__O8RJC+L{CY_buz#7dX
z97!?gkBFe0Z7icS8;KaOO+#$YfYT(jg?!JWrvW3}e|~h4lg<xp$@_?EVNBj}mWYXw
zY^NsPucGtHXMcr_a-eEgzO*M>3%EsX?1&L^@NmvV$j)0=pf0lb`0~~${n?*A$@({Y
z!Ve_bc}P_<h-hrAOV?N&^%vb@RXgDN++(o198vXrSsYEdp&EsL6~5!OejbO{MPiI_
z$ZkUN<~nspxaJlVZjnXY^Qw{7R@jlu%^=d;9{5%AEs-U%)hSL)Zjt+lCPC9W>IO5K
z<6huIwz~*#D)a(bUrUrj3r7H8I4@1rY`B+TCZ~)i)|U&@88j7PVfqIAf_~8kbo0)R
zl$)=Cg;2yQ_??wpcg}qIoTjY$t~*>V*RqBiwwCdlg2GFBh<F#ty>COh`HhWH!w6O-
z9$J-0Lir03vD1NH-}g)`?mW%txCvtzC~*C4b}Ua51tzchynR^lVz0KhS`tM3PFG<H
zjfs!F#eBCj+>+}FuPEnBmY)8Ie0=Tb?2q_!l2P2MZL}%&h3xxmJR(TrFx{d2TZmwD
z+5hZ3x6=!<I7(o)vL$!NkN4M5{x+${akw-)RWu>?ByMDe*1pB3=<Rf@+DzCPJ--tI
z{;3rMtU`8<R8n*2S}`g5;M8!432i-84tCib-=+E1N{1FWOIW{h$(C60asuO+-{No_
zd(YN4CK%>;-PxzKpK8I=)&sEgovomP@SyW#{wY%2a!NaMsvcc#mn`C;#vC#95=+9x
zI<`QnbN*O~Ba#Id&ptb&P^^nl!Ma}E&}h=Ww|3xFZ|3KKr61wN*5w93UtGK&I{T#-
zy4x>re?FUff%L6D?+F8dsBQvaLgkY6x_0w_w2_g`jQXg~sFxfY^9U&*jKP{$B%}FA
z$_MB!`nwP19${;Yi@2!dyWwTrC<(BTZ##Sc^eCx+-qS4+7oQn5>QQ!1>9MuX<0ZJo
z`WCxwLSJ|KSlf5>ElAsUR6}{mDt_z(TlWsSQ)2G1Nd%_xnQxd&jo1POPPMAQw6WCR
z0;kKjI;8dZK*jZA<fSj;tdSl+-l|Wf=rOydmgfrx-<zN4BvKCLs(WvS*l(gw>cD!|
z{K6kOTBa|5^l_b8ma=}T+I5+U-)$&W_h_z~cc^~m9ym~|6Hqb(uxePmVd`6iu!c#S
zmo5>cM;_Fjk~_L43(opHmz8ejQk^Ajjha0d@#NC>Ak{vny_*l-b{%;~5apk#cP}{8
zix(xm1zbw4(dhDUnzV6F6`vA2x&5wP&GYlSY>pKwR(Y!G5+fhGa8_lOel~uXRes_F
zgp$oK{7NNz`MHnXNjo?NkJ{T*YVgbz9c^TGr-6In2$YpvKc}llsYI20zb8_i8qcE)
zSDMbm3LEtrt{V~Wb+79u9S^P>%p$t)-K=e0QmL;Zeb^cB$bX2AW6l2JyWzaGNOvAM
zVWtK5oXa(9w${G4fE(pE8mFySQAaau6shQRWXV!mo+^Ff`l86(DAg05f7^z>i)L$a
z*RtbTdZJOy36*PSSAWToK8yO+IgJQ0enk<OC7DG{w~+Cn)8$6R5t2SUJE8`X46?<=
zKFE}v65SCNvRQ#xV$6*f4v%AmG8uXmd<_wAbwnE)$q1`o0^OelhoTOdzw75jTo#4t
z<?Qat*d!Z7wZ}0#2yNB8OR=qH&H`+a$%V}aJGzI$m%XJGUE7bxd}YM*9n6x{-Y~M^
zN_eQ=jm*ZAs56=XqFOQE`83)31vDn17d%k%<ntI&B|yWm(4c1BnjqN|u*NDbfSAgK
zvPB*pQ7{9R&z{t|gC0%Wqx8tNqKe@p=F0=xvExRu<~e6P76NaEL?zG?HWq{h^lDtp
z{$$lL8)y_+s%_sv3YJ9o<Z1d}o!ijxD1p`jxy*fchbDxJ<c(}2wK`v)8BXwQuaJZ?
zr8C6cvGblY8ye%KESZR?*y_~uzO+h@Lvd%7fD3s+9X;Gi-FED`Oon7zxRTej)M+yM
zY<J;<_i<U4{qY2!V|4C#TCRq#`a#DtQ!j3$ENRSmx^^1qDu<k4IM9ElEDIXnDHA^m
zQpbr^j0xvwP0UHmB2Vd6c<qXaEauNLg<>spLLs6T=&&NuBBhd)F=R#ZY9>s?kQHI^
z<(PYxq>&KvKK>yv{D;3lPn9z*8*(ScOYYt*hT$YK(}5Kzle`zp<NQN~UoRBH=l0|4
z2RSicxDbiniOxpl@lpptSs!snkE;G{df-Kf4uZNzZfl#}yJw+;^n(GlM!y%+@cnXt
zr-<abnr2b2Eo8@^d58vX8ekl?shbKcyjU;gb6+}WK^_vhZ6NLAph{SGbFXk`UzaCG
zht@7hl4+ut$P%@c{K)sW`H0hLx)}0J_TJi)zJX6(C)t@)Qn!s-w>$PujQ}!`301PN
z3d@lIM-KtxQb(*ou{%s8!6^|zrOT!3um|-IP5t(r1Rv*SK%d>Z$fI_Ob*g^UH?oE+
zXxCc#r_;9b)qM>y_=Y4kow8y5uYhza-AmMX7iNX1>*jGI+g*)vT38%@{`l58X_6dY
zIjt`|c#2P6z<1!Pm*&IhZJ8m<?D|(gfk)N^$a=Rw&+)KI_wKzl3qpNz(A{8mP0gQB
zVe#ao;w8y!>VffxDc4NnOP!mzy|9udBpQkPoTB|hBq6(xu(>AU{?@;2m|hXOxcu%8
zTJ8xi9VhErMl$7mo^l;?%fe9NQ_!<jcduZH6-^x`Ld4l+_Jz%=$wyL5LzwkDLO?Xj
z>deA@EEbg6EE0{^-b3ZTyXlol_ukl0-UULqM#Gj(FR(2jkXby#X(3l?q|&%W-@yVk
zhu9j1=G%L;j9|Uk)F<PWA_zg>DX(S6{4$yhg@#5(CG}p+&XT*=NnhA%SH~B|>od}S
znGvR}E~B|jEpW5>A=i>0XrUBENYAtjNLaE=b!J1AegeG)YejhVHl^2(9fyWaPbp|k
z<^^`x8dyVRY?fnIiZi}<M&48_5hr_PVn!|7nQdsV-uHf&qQ+|D^77~w>UtvKW5c*O
z8z0L+Fu{Yg*t)ADVzKA0t%g<i!n?D+J9X)@2Gd-^bZ##*$->vxcnmgCT2Xm0PE0$v
z(A}u@!J$-VqtjtYHGz{k(w9Gch>|2b^2A`-dBrh~)!op{F2B@ObEHL_$57li#EbP}
z!!|sbnhpI1p;EnXI6oBN$j+Y$*Y+Rkh&aqwx2sO1iMteiN|%F<u=XL{O2(7I6ivA0
zqbOz;{aJ?5r>jR)SgxYQ8!B+riwti)Ri44qQ+IDUf1mV|jPvv^awBWePJKI3IrDb$
zNUC$}xxh5f0&EnM6kBAE<b2fqx4~}|JR=_3y=lF#GjjvFlviHZL{$*wrw7%B6=gA7
za8BKg8I{5+ylCQf4Jz~Bg5Aa!8Edasyy%pYEjXS{VWPI?qZ%jph9vqmZKAR$9Rl&~
z6itlgkH~AN?<VKoc6`Y)tzI|`dt-F`^R5+96`L~hk*F-@6b>{sW*C#fvo3K}nx;y}
zcvhDd*9)*X+cd`Vbf)+zHO@aH8`Uo`EvPjm`F+-?+KVzpV7p_)uDRIV1Vv{y@vD5M
zVtn8EUap(tw%c|$i}GMKM7eQk0ao%cZQm?`Qz=5yFxE?LXKfp0kD~MD!W-A`8=FnL
zAL<}&uFds%*j9HvW{<MnnYrHHq8CxQid|1fDFTXP9xS|RA^YgfWC-R)I~(3O>FktZ
z6<61K{~&02m%V0R3dtMO&!)m&Fv{D^$;>IfNj*q<=tsjNu^GDN)yRi@bK<<$V`})9
zb^EHHU`x^EduE$)4n*Y+7V5Y2iuSL;d}O1ym?W<In!Zu~DFh-_-N$M<;d#?Q`>2iF
z)pcOw<-y1779yseVSi^CcGgMrcx1tmD}u&f7@e_%s~<`hs~?oHU2hQ))($RS(-n$i
zL>7HspPtpNU%>e`dUv4c7xbsOF(O#IXY4RrPmDs!dTjZP$C|d@^W7l(;N1g(OZ-H?
zcTV<k`blNC_7PiRf;jcHyr<6tY4W_-R(XYLK<hqu=g|5@mM88&EZDtwpQSc_-bnY*
zPdpUbeMNc361_~fB*j0g?qdw6rCg(~wQxLBzg%i%uqUBN9of-{FR((7NRbhcuR2F6
z@)!K}h~VhgE^EjR8MDpuFH&(VCFT8>rvdkx80H<vp5Pb#`Bmdk4A1jK99ETJQy3aS
zDvMx3Su%;@wvaD#i~o4GP8}Do9m$gxH2Dbd(@yvPYLcUg9%odXabdNgYltwNGk&+<
z_^zYVr#$KuqL?BIZWNTqDMu6&LaLkDxb!*wcZigH#1{F<u!$-xZ@~Fpo}1A0h<dN;
z)vqiNwMGt2s3?X!i*^%L_fqy5@Vlk>^iP}Awe-69*qd{^weSa{P70w7s=sHxBt(SI
zH3>}&b#F)&&X!$k8LKsqA$5F{Y|>};XvO&YMKQ9~_ldw25ag$r{!DzAJ^ON&C|tP)
zKh3ul1c7d01t?Os&uqULcc-(P0M^r5?_F2sbG&^#Fuwm;eT)c-sgCQJ@!`%y+`td_
zx6X4~Lw*KfCcI3XLbi4G4R5SMi!>i8ZXtv9V<%U2#G7k!exI88IOq%#iL`~x=-h%9
ztS)F|M6PpU9$_DfhiHLHFwc(j631GLht2Ab#xTQ{G*8cQ*~SGOQ3C0w+`6fsloQkt
z&vQKdKVmNXd<Z<I$7|SO4LHwm>@wFTrMrGnac&{q(Z~7^7|5WAiMUmMj7#N)i8HjS
zw?I=*$G-9ex-_k?O9?v3yi;l%J1;=&y4i(a7BfZpV~LEtoPBP&Rzu?nWl+U%<gs>b
ztNUPP;TzY@N8(}r>8Hbj+lGC~>oca#I0|w|J>%4U)vJJ&Q7e#k-xJE^1EdbbTQb)`
zx~&~zL%6N;x*9OWWcTRxL@Y(z*TxA%^0nucjt*5{mH=l2If^%ht2)!RQBE{_!v-Y>
zuPzn$(`4GGI{hfNqH3P4@ifX!_Dzy$m+Hya5N4s{O_eg88?)W-N!*>E2%RP(G2~<T
zH6ij3P*eQh0yPNm-`<BUm#msRF?_-CUC!j4UtxXMlCvqDy3J9YM5>c@)NI5w%i?s4
z#M!~8_8QP7=L__EjlO3`bBCOwu?jiwdg#tpr@&~U5Yjctk;G@%J*rJf0MtugC})}Z
z=qJ%)C??e&r49Y@sj}FI1f#8BA=szF5}9D$&91~v{{V$s3QxS%*`MDsy#Vhi+D?B)
z<IB6;#ErjFUyc(VLG_aY8QJ3TitiRoA5R7TCcA3<DvLmU77lDy@J|n0tBp@2M0N`j
z>nulJ$)wuBO;6Wez@NhWMY1zXuQW6=w@CQeG3Pq=nQtNYyR46K!<SQ5_8p$6VL-(n
zx-b*VwUZ6Q+aKSZrD6!)k(%>amX&1l(Q+puA)<gsFlQ6FkX_)CZfMoqj|fcUlq7jD
z_>K1_Ujh72{U63?huTr9b^t#S+rjfw{}~A*r94%`cQ1=ltTG#0-y<7u&`Vfkcu=`w
zv!pP4ZO&VE_&F8z#}z_-%J(_Dcdb#ab5FP?O_@aueJQ%OdkGZzbGUf+p2ufGiJtut
z;EI^(>b|_5$Y7<osKnsZpJAdCtOYfnssI2bfE8#_Oudh45oa8s6ia4b+(fn>MvY_p
z1^C7xL89-``2-91(f#>D_RykOq&TIzMz8QRaMD>rq6tzuPwgN|$dNWypIvhnkoIZZ
zqx`@s&u6>mtJGWboxfk^A~&Ez+{Zh?KY#;mgpbZP?Bpm|QFvYwS-25DDOQ?k6RM(t
z@Z8#$N61GLW24z+s4{vK6*fQJa4CCm2N1hXd?O2uqNhHs?C+Ru&IV5M03yNr*irs2
zO$O_x!XoPD^*)V{<(Td@$Nm$Cpr3Co@fob{!E;fpqwd9Mo_6x?vp=~$#E#)~uWT!`
zx|_7lMqtOt(M<Sm+8qDA<jYsoLvDQg5n;_d+)&hM7%WiOW;mS)RHR4`%9-ssL;rHb
za6IdNtr2UEkyE4&TKR@tDZv(7!p{C`LcCH>mA7rihHf&kd;q(zK$jd@jGsMCl28eb
zm&Iye@q)Kj7#sl&92?Q9uQYcMPtMp0BndJfzB_Df<sT?)!oK>1FA-<^VuGyDs-5cX
z2FkPGMyVE%2Yh+GbRFnJBG897fj;DWmF@CG+LUnHnT;yun89)QZ1q5+D1jP#B5*d0
zv|Af5D?g*DZ;GQ$vCK*4Y&({|`#z=wW0L41g(VV_7>gMChIoPA;w)w*ZdbD-wZV7!
zWS+a68GEkuGG*>6kLy%K)*Mh8xk+jtjO_z%5&J4y*;wY-uCh|I`#V%-yUO(U1m1m7
z`el{@#wfS6SAY2T{~F&-j=7>R85BQ@p`|5)u>AV|#M5^(`h@n<$V5}#)@%n=`wm(f
ze<_<J%dLHB*V#Te^MweOTVhQFkL_>2s4#Uu!MU_0O@uy8>PY*_t)ThCnOH1nn_$TL
zC#x0yci`VC+($!RT~}v$!mP~x;O8r{Sh#mRNn+Z)@wi^bC5p8K7Pq2~#x<4mhg=^7
z&A_b*1Z&K7PkQG9+^&XGuLWuq*__X{`v0Ccyedy7I5hqf8C%S%?TS{|wfRu4ky>R?
zh!??e(}?TX3s00dZuUo6wzXHzp(n;EE;5>%qeyq40N>VmVUtxeT1MeR4^D5n!%NQg
z#dxl}-e=8Tdpt1R52{bE{K$L9>+5=deve9{s5{s>EfI(9ZDLEfaXRTGojZhsTWtFQ
zn<}qkDA(sEgaULbb%U`jwt!_JN6q!H{_H`aWM<MPa&^d2xf%-ufJy=)O}g~bQP5Fn
z&L8KG-wXhl<t44}+Ue-4GGxLVHuY=_HlbL=SmMkHne56JK5GuXPL*_t@I`%)-ehlo
z9{IJpwRhyUWe2F@K0eBR8Ga0|@!S<S&vn7!o5&%f9l+Dw1{iB+&_w@d6aM)0EXsib
zjkhN<5OY^*XS5M&NhU&AEdEu`)m>aTwc`hFe*{)_cV~{;{J;T+DQ9(oMBJ%ISFE$$
zQLj5oCS!M7GdCsiM=r0n-}|@gZ~(j{th6E?#2R-D$V8b_Ywrzgq$}{m%9nDLogz&w
zxeV9%&%VyRlh3yNmJ<cH{ytJ0&S*CO)dKu~$NR~fdM>sH#UlnNXmEESW=`H6i;g9k
zl{y@PrcAevetxvz@Zs5&C~lmp%)t$7Jg2lp_iwcD62_<Z9tgI0kx!KH_WU@uU}%`&
z9ILS#<TUAs5G`ObUz(TlSG^Q~`v~&{3IR`<NC)UBw;H#Nzg36=t@sPq%@qA-Wt1Iv
z4%|xr!uIsAZTQPZI7(LI<jxfB<e=jaPyxXrYkgXIs3>Keu_M$RHG`Oye&NgGRHU%1
zD%UIucBp#xZmn4yIoHX@gwXpm#6V-A`|UjAb7j}|EeF-8nT)K2sot7E_iPPchqSjR
zerMdtNaxspk(c}*8DxNg^Md2M^;YW;+^hneg6#m*NWr$faCjOZvu`VNJd?3l(0LHR
zb>WZRhHt82W7gwad=c~pN~mp~y=I3>>`YaplbJL;OWxJY%@hPzif&;2&lOzBIUHQI
z^MHw&m(<Q|$8A61A%m-YF~jfirs^(~9VB4PH~xd%VtoVtyYcbNqkF|tHWhdOmQH*M
z`*(%KK)VNm+xCGo=U;5rQ~p;JZs0}`!|c!Hg-mE$&9Oq458T?H({3G$K7dB-d|Kn@
ztqP5jMVhxX4jlyt`(8J7%Y%XeSD@#<Ydzfb`<(3R{5Q1Xf7b8hk#B}*QzHs8Hd<Vy
zu&^Ijbi(oP6CmAw2Mtmi;z<O$dg7sX)j%_vMFDu!hxzh?g;{(tN1P=_4dBq(kt=5X
z*FH;QsFL23Mhby@9Nm(yurW2_j&n1pb|f<$PT!h_f;G}h4vyeP3OHd7D%Q;!+&cQ?
z@fvM&d+ODljo{F0bGM?ryzknUe!%ErgUFu)<MgGo^1nVXc9w=KKnWK@Qu)%U@vasA
zTM?YnoT-@HL~ROi?e+v4#xDc>hTQK$`Xukf-kU0<)WJvJU+-zAirISf{U$eFpBnzJ
zgasuxuSoSzf;!+jn1}y<EolD`jYm=+?+nqCM`T;-rISNi1?H@W`oJ%&)PEUCBuGWz
z^-8fRiB<&dUj)=M3+9*qJ+D)efI}#nxu=WEpP#sa4LAU3k&S+bG+m!y!k}Mk-ommV
zR44rX?a8Ar4m2gMPp;;3Go%d$e|nvLuOj;osNco=PRH}VqAE|@d9=HUjsVdy4tGM;
zH&gQXGbDRF{`uWjUuQ$1>!UAEw^$t<bpSBfW=AgP{Spv2w1MocvnRuFofaLv{gQ@n
zK3v9*m0PwCO8A28R6cDl{N($CY#z$fo<`cik%ZTJ?z*QzBJ5r2h4%HM3ysTW9ut|)
zu_wDgn|T$)nMQ){$!Dlr|5A19*}UNMKw#9~TH)Gq&5#Kf5d7}U$rr=GB<=xB{@ROE
zyDa!#3eJ&JeKxolR&7A*`~)=8>Tu%}$B+dg&{={1y|TIz!Lm+S#SBI)6bd`_?3yNb
z2JR}3K<i-r>^o+aw>fOyUu?Y#MqF@k$iR$>B-bu&V=;c_On}Eo#Xsk}^&+L2ZL7RE
z61a1diOgQA#h<{+4P^gyYi^-iNs<_^{<3;{UcIK|>)+m*dl{~M=?E9!oGf}jv)oRE
z0>Z!S<+zFDh&%Z>;S25WQf>~O-PMUGB_C+#{;QxK*@^WUJFDBI!`YHyh{C={r-P1x
zoxH#t?XUpKN!MqW^;usBtwq~$&UvusU$EG*B-7V!?XYwE$r&%ITu+^V->0kuu{3y=
z{M)kwYr5OzOPwO1?B`q)@3a1scz+kq9Lx_$1LBI+gkmmxfdur?b+9d$OFaH95${U~
zI8}LZ$~sa};(Dj+Gp_*e6lbFn`c>H?%Z}DF;ip(R=-IGvn%#;m6Hui5o+z=N6(x!l
z;Xv!tu3rvwXnq5jG^|7CA#q$)mzfGny&f2v5|8y=v0HAxFLT&=^`h}UJG|}H@wkX{
zp2^4>y*(R)tdURnj90G#43>a_4Q!t|{zcetEnxld#I3KN-W-M`kR6owTWe-*QRosC
z)xuvl<{^V+qi7DE1ud*o$CfuT6d45Rk3KRXd`a@J4al9TOj-u(kGf`*%#ZGPG?C*8
zl}ebR{l{>;dWPbh>(KydY}_(@v`=8ya~Z4<0uZTY;EiPvR|9=pd4>!l;kWL;RRHaf
zCqU8kk_!}3=F;9pShr9B`)no9)s;$0LjHJ<Yk>UBnn456BhF+v@tP8L{4qhyW%Df<
z^T%}-E}tK0^g@sLt%5V`%M7@SW<hhxeYU#d5WoESzxiKN3?z<Al4VfhXaTu$9ZIPq
zTYksX@i<}69&CIgc|URQMgI&Eent=ETN>{9kEAH?5kdY>tuc($&cAdRp8>rjJ)#m_
z<uxGHf)7mU$Wgn~y5qM{E$>piaPZc3xoyIG_c+H2#w~XPFR7v-z`h&BjQo<apL(X(
zU#4`AdJr`q{l%Cx|LpT`O}&I#?*Tk>=b3|cVlWYC_wL^d;$u1)+XvW@Ao%~-K4bsQ
zrfR;w90hqob{Dm0E$azRC7kf`^Y1s?9((?68|C*Gy~P(r?E*(j00AmscI&OXQ4W7?
zIbEJl0CG-^$p5`BCVI{nzrw?FO-s2$&V>9~+E|TRuWa-Pyo6ERWahQNf0z*QjkK9m
zQt=-@i?gmNl}8c&ZcA!~wiYbw&q*-%G@dAv2Ql0_$cAG~=XROWw){Q%r#@+vZe-?P
zRH8tNg&_&%iS*&M)fmZRH->j;V|bKb4-@$FJD;^&&cH^lLKPo%67^5_^0%p`n8QQ-
z$M0-ao^R5^cB7^gKc!kLAdT{`UIh<}%ZXY)c^QTv6zzM>*|h~u{@sgn+J~tr=t!x{
zr{14jixsR*=Rd`J%xnpeVt#_55B~}THM-}FwGxNSCAhtX@0jstFaO0sgn$bd=AdUW
zRc6ye0u1psa1kU&TwaKCz+VJ;!kipqTn1|i7eQ*f|8(#+q(h&mEANv@<@#fUQgk67
z@kNi6Wq&n_I2>pCXWz5t+pA0oU9e{KQ^8v5lWT-F$eOh#No9sISeHLeC1H!SK*QSM
zSkbZDcS-_Ej!y4W{qx4=&6ntw>7-fs1$1|wf?U?$+rXccXSk74$M2|~Q8(i1wrX)X
zVEk!?QzP3Z`-j`IQ%RTCPB#E=Y0$PvJ`0|IE8LV6Cg65P2FnAVaaF})+RY5Pplv$?
zgcD>h`?mzIt(t6bx}k6gAo}Als2~jluCmd+1Fq>DVL%H$2P^=j%I1YCi05BKQQHEw
z4k@E&$I3kC)=Y-FiucAxjMJs1D1Hc96BjyY3!wZRZgCxJ5F<$}TnPxH@`XTFN6ap&
z?p^qn(-&<|!ij1=ciohrh^&*FoEFstL4OjCId3#2Y+)u7hdYPaDVEoa+Voaeq``iY
zEb*#xFMsQ9M|wQpn#gT-xKY|X!P%(rM#`m)6n=OoOXm}HsptS?YSu||T_pOd(QhlF
zpxTV(%;)FV_gwdV_qYO<OrAIDObUSliXGdcy_Yt#<NZkJ&{f||P;g80WM10H90z;t
z7ZT8ae{sza*<$?X3z<*;xh{jU`0o5~GjDCd8zc=X!o*1?t<94dvz%?FV3$64YP!57
zZ_2hrEa1%B&LADcFmxGml3`22brXWp-vgML*;UC8<Exz11%}Y!eAb}h<RccD=gM8u
zKKcC)u6GYAmIiwCvGZ1YRh*4L8!T-R<7_l`Bb9|f;Rlh7rIc4)JbE`W8K|v#ZZp4M
z3=>PlLsfyf>A1I!QdDN$Z6jJOib<T}xcF}Vjl)UKv0NuNEQ2WziD@v>EXxrN#ji^%
z$XJeg5T)n)qLycBO9|4^?|}aEZ77xy7r_#-de=Z89sqs~<eC@4#Gm~SPaH!@QSvZe
zLv=?UFHMM!9;|Y#M`ddT77_Nc(UUYoT&;x#i2)B4th3P0FiFeEt0<i%0R`80_0n~q
z+@8X`35l3ZE)vot1~TIWia@>8eAQf2Le@ZhJV9Rmxf=)pO?E6YSe9Tk%oxn0xd438
z4#6Fup1XVC_5o7_$VVIvAhj~s9y~1{`sx1R-d}YfE&l>$tG1D*b8gUAe*sju4Hk3^
z#uD**<FC-T%6p*H+6{BVt^=ry=(?qU80q%AJ85nrM~7sTALGZQL7c!2SAH0S1)h7S
z)xz=$<o>Q>t!Ztw9GW9_e6*idMP|4okHczS0^8{O?eyK&wctH=fu%G>f&zl=BZxYw
zGF-a10r56{dh;OjPU&NtkA0;DBC~*+i~;d|0cL(!p8opY$(gdv`}F|;V5HY?Ig}(J
zY;61$R3V)7B$+HI3-~7@Tx2N9$gPUn{>E&rY836avh9*(Ai`_79i~vnbmkh1aGZ}O
zfp?}O_IPWmWI!{{z3?_oCH3~fI~NO|*4dB#&Qsw167)okwxnd{`aV7a=4~e`ogr@s
zb7;oEy`h>fvyC4UiFgyS-2H4EGRR8EbZu|Ji~J4xG3pE$KLC>ZcyFdg%ZzK(?N2Y1
zluPhQMQA*RnMoQxFEFm|ccHi2^{{TzCBB24&YM^)?Ssw_`(j!%lDK6I2`^RNZ=PnU
zxQqc)aPEz=miXVhrp7-DPvn*ut~k!$DwBFbWfT$p>3q!(etql<jfHoXO_Gww!Qc*u
z3Z^3{Ud*vOTv}P`mwky{P2N<;IEsy_GiF1(Tmo%PN*79UtsB2+o4)M?^%XMb4WES$
zrl1XwB#M6TrCNhd-%4h9sRg`tA;$9@gLst@D(yEWD;F`n&O&D{`ozbVri$ROKcEXk
zc50^|PL;@(91fLi;s!Iz9udmw%A_95);O6B063T`>P<y=w1}$0`IfX`%H2pwMRtrs
zC)Zq#B6AM6{OLi#DNhYhP6uAhF+$bwhd^{dXYYBMsicHVJA(GO=|DM*{K3qW5|ReY
zA}@ESUo~N*=>1ZD*9O`-2k`IJ%CDoGp(?`@`0{mvFF|1sA(&ZQNtR;AAp@#Nng#lo
z&RDA97_?*E>qXl$A|xYDq+;o8>+td|;-OxNoE0($O6&%3yMMR#?hzHzX_95Y)NndW
z_m~ho5F4xhykn?LsvxXZy6Ox34FM!hc{^Ho*C?|;2^imftmkUX2h{VgV*YeKr{Fkm
z<MXsKr$)1+BqWZ4i=gPGd@$%?0*&6u{w5}B=;zNQurYV46ni8^KS~lotfe>ST+f;k
zHbc<g=~mR=ZT$}iPS)({g&Bpwi4GOt7aJ||@#Mq(!8<uXORp1@<T_aGUjgdNtTcoa
zk$dkxP~pZRimS{<$L8?tN`-R@EP~lXGZkq$fi|a95*2=a43pGkO5>swCg4EM7N6(e
zjGMrJ165q%@mIGUX6If<^ON@Jhn<8QDF;_BJkbEu9M_@mqwMeT>ivzqQX<`4$_ba3
z!s*VJ@zH^Zo%Rw-^SU&UQ2$AyJ!|F{Bm*{Fo`;`#3cSP?m|1pf5RfFqL>S$}Q-$+K
zA+8vteh(h>Hx~FRP`|@zQE#U7vU%l^-%G{XdGXV(f{2M_zMqx>XhmcKSWp^nc_+#r
zIkD?1TUEfJ{bwd!1Jkw>@AuUJxjGKcsLZAL$+#X?<RJ*1HVrB$BWx`rlB*DgtKH%o
zzG(`cFO-BNEEYA7XS*2#^q`qY3<i&h0+HOIeCxs4rE#GTpfG}xcn{)tYBks?&HMyX
z;B2n))JA3vBpC)e^xw(iH%ZJY_Zm=zCMP+&DTYgEH#Ex5+ppm-7NEgq<Q#cM>eENK
z+xyKwRkSNc7IT#3taVqd2Om#oYNH?j`r%pcuY^cETmkvM^<=IR`fHBJug^_rzQ_R#
zPbv78LD~<`Gx^vNICy34a3C#&KJWJ|7it=!Z$>be(M$T$aPYS})LA1KuwpJKvbOmQ
z_OH|eA{oG-u;(xe{`t|iXvUei&z?n+=U##0YwVEwKyE*>#K{UF>yps_G`aJylZmiN
zZ;=rd03$#+hw`Q0yF-s2<(2Q<6isTOijBkYxlD20)2%SN?UKm)=Vh@=MVSL;&H+*W
z!l$HXA?K|BxamI3teX#wFhc1gWewV`N*^@?8D)4Vugq9Q4tr8%^hQCrsy^-sq)&n3
za?seN<(Z@Nb~4&d7&1)h$EpF8ybfbpKKg?<<75Sh2M2s=KbfsyZRXJ6jB!B5Djm3U
zsB_TRksX;}QwTL$(_w}Shk1nIZ<IGh_()I(#`U!Ovn|qO0X$_Gso$6+YfVsT$iT_;
z7tMQ(FCb@X&F_>b<cv4V*Es^s^;WoPUi&&H9$f;<$CcL0L5O!N52Enx;Cg1t7SESA
zopy@b^q`SRKRlx9=fUG~NU>&&UklW2Rzf6s!wnhA$<9VuUk9r0pj96c-(ML1Xx8-L
zC^VGX5AZk+!Cgp0#0w1(DX%F>V<^NBX6`w9Kp~MEKx1Y{o2WlA2mV{%OzFu=z!KC3
z;{Z0L4L8Q+#uCgBbm(?94^$Vqxsbw<L3DDhA_1T7_Z2CYfQ}wQt9Z@93BzM#;vDnl
zJ4vj}Q<wBhldR3$$JjtD8DQ1CE`#I%*SD3+=#T+wJIa3pk&%oT37)!T+RH&&eZ}m5
z@BDh=Ufpj8vbP5vznuv%jKB(aEc-@!PzcP8OKzQm$$FwaET~pXV=>vAEc*M5srXG`
zw8*KMpbJ=>@405&4)D@ukT}&M)7-v*QOE>Jr!mBG42D??2tecV>sM=ImM6;^*AaOD
z#>VaO>p<%x^AJCs-T38M<Zn=dSAO?_CLWE!eOISKEUVGszn0t)_gv?kLGy0TlZv}v
z|2TNq{^0XHhEKYnVLd^bh5;DJbd{{VTjR#%kgOdVw$rxDR|J$~4-#a{p}NcM)P+gY
z12A-LwmAaJ9OW40r2xRX5S^1!@50g|?FeSa_4sVfsp8801&x)C;Ej+g8{Z{lfA5tV
z*e5jR)Y6Y5<Mvp&HV8|;N4$7WwDJrHt43_+e!uiq29{Xz<kyd~9QRt8R1*}Si0i>>
zpLcp)4q6InLy>|#<sUW0Qrj^IymId+0ZJMN2lB;?z1!QmCs4PvVG>(2UnTPhD?Jz7
zm+d(BJg0DQ6?V75^84y+A$ZsYcB(bITmwFKcE-BOE1Pc{_C3G8Vz<t`84;0inIm%i
zR!#fk=zL*K=g4VxhSMWufYzmuiF5+?2<|lwSr&_qQUHlhNG`}TXm=7|v?@c7Ijj$c
zMs#N@z|?@T0$9=&qFXYU-${7T=#hqP!a7u1S^<?3J2%iRM|PC<jA8StMvPa;jK#Ss
z>uSF%TaQ%8jA#2p3)K$DDd&3PzHXNkU9!%$q0rB|ftT(B0NNBUWvUvlH~TnZV>{xe
zgEC|f4<M-vC!5`Vwkti^*5ZgA1UcB*lO7MVRGjIURT1Y-=%bB7;<Eg~g_V1aT82o&
z0$lBc(xlnXi^);qk#Lii;H)vKkLVlWN4DD62CHSvLmj;vPO^)NCCnhhY=}=_4joC@
zm?YFJ8HacNl~OGfe}ytC>)BhJb`|)w69fmgVsI}{V4C3a9s5<VQ-#IYAL607fCioI
z2<tgO8j-1;c{MkRED98nJTkJriF>su2Hw`|2$91TMl?5Xx{)WfX!XFy9&GUDYZFjl
z`(29?#gbVl)d@KD(~sU(w>VLiV*xCq=%!s62e0%+UcHrPcp@q1VA66?t`9%`A#D;)
z(;Y22ii<q7sKf!yX%zvxc>u$oA_7TgPnw?|iCaW3ypAJ}(-5m$xN4SIugxlj<t{%w
zEn5F&ygfHb6LMex8*3f<S-}WZuliT)zS?y$tohDH)?))c{7AkTDGuzA!6JhyM~Int
zQ#8`FzqS^B9T0vw8<=M;{%4>~J^~$@1PpAwv7T5FL?f%#&xz1GBKG-zxSsiRWoe#u
zXtQ$R2{9r$=^rx~3M3D)QS*_35_n_EVYbLfX93@+c&YCu@InTnq0e}tnxI$d6xClT
zk6q@hKWI<H*h01Eo%R;ESnpmqm7_2!g@B-O0auzTVDC$iEb=<3Os`xHD+EecT`ZIn
zo87zeHo+Xgq*rz8<;b+$t8nRHb}8+pr2w8oU*u4sV2s#_XZp>ROvd}LEU0XI8s^A$
zFFS7ZFFTlbp_S{!%Dpr7!3TN&l|tzC%15%jm1mFRR9)kp*z{Y#IQR<TAky4GMEm9?
zurSRjpjbc}_c4QWZh%eML2ui5ALn$|*&LDlIpYa|9L{<=Ad4=~Cw4NBekgE-R^+WP
zodXG@73t_(yC@pVh|GoKR}Er<hl)<ElYW~!OMi9={DPhSm!K58-W)e7tH`Q<35Eh@
zYol9Vz+^Zc@LK)9EDJm6C+>p)rORt*_!I!iQP$l!_DNm}GL8eLfG78HRy0@#DlFnh
zT#;c2_*(`d_Q{}k-}l$syaJafO@dks1E~pkSo((Hu0sNVtU0r(?uClf4#L~%`Z)|R
zhP#>GMa{ge-2(>Nab&E6zLgWi)x$<vv9yxbjwtC}%IGtnz+Agz>nTXQSIDVk+|BK~
z0=AtogmzNAXAL8JX=?BYyIj8S8+*}L70H7kqsfsPui`V2G}CgrL{oDWGYz@K2wNE&
zcMOf%b=sCLqkq~~cqEQw5+Meb#mB$G;432|O5*$chhv1E0>80`8-6~aC!1>%S#XS<
z@(Ik1DlIRd2R-T<!2ocmzA(1AM-4yvMVh!D>n#|>KI|ca)YgHU-=saL-BEW3`eC5I
zU=U6Sz$uN|hA_|KILdMZF*RLKs(GR_7ctE}hX(jt^^sKcR%WjQaqGm6tGmH_hH`SN
zW)h-I@qjlxI8vB3cQhQD;u^k%iH>Y5Ci&<GaFo{EnR-V-vVn~1wY|{vZT6~Rv3Nf;
ztgb*GtFIbu|6r$c<(_v)?$4{Gi0}70B+Vi$y64RIftKzGeoKv}q@89&c2iV2q710A
zYNyng5S}_WLn%ZaI==v=HX@r7nyav&3P35xYestkgN9q7I`*u1Lc^XNhmLY<nO0z!
z{I1{>c+r7t$crM3DOB-~_hlhNIl)9yANCyrO-}zVlLfo1;n45RqQ0%_Z@gSoH-Vk5
zL(uk~M;Zb_s2!=fcjb0jbPO_5jorZU#wp}Ri0UB>DHfU8F#N@RibEQEP{pOU_{j4c
z77~>M(OiKbq~}))^t)qJ_5vn^wLyr^4|?&)f7ECRNc@f>WHNRIoMX8}EB~nbn|u*l
zP7Mss+uu~bdGCTC2+3!nuj<{%l8pS?r>@Ok@skiU2WUr<@u2qSIu|A>X?|+HUHH;?
zvlWXvs3!w=a&Ef9ckla^IB`|I7QWk%z8=xx5UwrqS=0-azgmD&SnoAft_VA#aj@9B
z=RYnuD0l4A(u@REh|e{yD5`e37cdT;ff=FzYVYAZ5DNCQcCbjLZZAzH4u)8r2F<_*
zd3K@CFcMm1jz#obxl2oqMj?1V{3rnkABaq`K{rMF2^u502?<3LdD@ZTQtGVSxoHp;
z^bQ#oL0H_ri5y=CR-#)cn$%;6Hy;COH<7i0`&c<-uT5@G&#SEJ&Cvzinv-yw7W)@n
z>?tj5R2PP|ktwLQEEK(wIjaFM_r(MTZ<sYp^`HGUFM-nvC_KUijoYz#;#V$%P8gL+
zIQwhqMnY~>`M@`(p@^erf8J+UcM`jGq>-W3Kqd{)yD7t2BGfy>HY+|T-uO1_qurXL
z+>{W`#vYT9awt@Ejgow!Q$mJV;D?!?6pH>vp!GO*A}Vo@Zi!F{6_lkQ(Qim3m#bR3
zQ9)}{6%5aw_xlN3(-zcczcCIU5RY^@Fz1kYo|N=tu8gNKEdfg5c4Tsdj&<q<7T&IS
zg~$hmh|c5`w#70L8k}w4HoU5c#vtuyRx(Ci#{VAFR-*dT#g$#Ex6a%hUU{tBEs^OD
zwifjaK_cC2#QUN|hzBD?;<@l>s|n1cv5M%sYr7Fte>av^Jxd>v>()Q#nMz!LWVns;
z*|DU>EWn!u#YRVeT?Uqr__iFEH0z5eE`xf&ED29%ZQHhGvB7rB&v~)ne*GO#03Yb!
z4(*_y4s+`boVxo!L~;x!2&qh|76Wq-oAGm@A%^SG+hUdK9A_hLximup1r7LQ8l!FU
zS=2_X8q7d_tWH8!bEBqss^HYy+6M`IU%>hOl+PHSCh{Gr0fsb3c-8Uo3lW-F<=KW+
zCq&76O7vm)&(r$qDB-8W@=rlB@Af?1Mtfzpu~W1K;?Y3nG>cO=E?OM3qrZ-Jr%7Ze
zQEJp+5Q$m1>qscj+#We9md(~9DD?sHL0V_RP)gTC$5CF3q!X3mmW#M(rufPlkl<HQ
z)G9SqSn@?N)|?bng9<ta%Di4W<^%Zab(Y35Cf?(kqgAnTIbc-->4z~0d8dkhim|3(
zSEvm(Q9RpA8h>!{Ve%zsE21>mKSpO_xEr|WlQM8xWV(029IhS&&_@0VgPrk+_NlJ3
zp*#*5$MW{%J2A=ULl2LqocTIEU<K2rYYw^rIH_{X000y(@nT6w+I?Kf@SzUcu6`3n
zy*TfP<{PSuoTg8D_)Bzy5%{|cq3@hn+%>rM?cFmSSt^nDik0c>>*dfbdq>D1AnlZI
zN;<n#zr`8;ZHI{vj$g6DPCWS>n$Av9A!PCbX^^|vN^^)c$~w_S7*;})oViC-bH*|+
zi?S$YZ7ivI&*$yyue|;VscKv>u51gL#N8AtdJ)GY=rRLf=+gAfYgE;<hO{zcmN~6n
zKMcN?pjr^{bkoGbYZ#(E_KBQa{|f%e1?2=hibEy~ZVcLDN1V70MIL&W-82<W^dovX
zXNZ(clf&r`vZKjq;pYo)mP^Y^Jl{C7RfD>ZVY2(}!=MKb(Y{7}q-{TMa!{`^-tQ`6
zH?gxG_1@A|d-B8cCOWP>R--uEH*HiE?21F=bmv&i$TwsF6fz7yFpP&Bb=1a!J3dO&
zC{j%%7&MpJ_tEO7zk1Xx4280`)Rw6aNK42jWK+!KYVJ`SuYpe`ynyzGhwVzk>Bsso
ziZ-nB<hqgLAg3P^xRHPQ_L96+M?^#z)X_QJTW@@=^@UkS6V+WncqfHKzH{rPp-0w5
zPyG9>2f0`EjMTW8_}5u%2o(Ru@f8atQY=heH>H)uP)+OILj*7nd~>y!#wC9-DB`@Y
z)weK*uj})xquet#->0W8-0FaR5cd&)o^}}A;1wCxFh%!?PaT)-+O!_3goWfyKLQhR
zQktsF%-Gm>qO;p+J=?q{(tfgwi>!^UCnC^5^(29t7Rpi{PB>0FP!`*73}dJdQkX7d
zy}eJn+ODJQki6__qv%c2q0l^=*zuC}+c6gE;KISrml^B(+3_0d`U#G~!BsQf%P<GO
zQ}LbI!m@AmqU+eY1&bfSXbk1mI1RQDeq^fm#3BzjY91itW53P}otiWS)Sjms0`Q9!
z?!i=)Mw^j}bX#S2c?Rh#6!7uC@BwH(DeQU`7N18Ln}lSI!Q2coR>kkTh_P3ylgx`*
z<#qKNt-=8P((8D0piUtS6en&_bsDu=gZgu``Ib6eze2RJIpb19HJ|3`NR3<ms%X)j
zNmz_?|IWg|=-kk}x3wVitIgO%URf}~P@RrgpyIE^<0w4Z(cGe*s3CK#!7#-s<?`jN
zkB@$Ez|2y&LjlYckBjNt@5G#FshFugd#U9$o1q@xn2<q?T5*8{R4AJr_5y@&euzKB
zmzH`8J#b|k)Xy^{n)UtT7mj$ofhj&Z^|S_ZT*G$shDH3GCiVda#qlH7MF*>y?gc=t
z&NBQ%4?B?#^?kRbF;)^~i6#0q_Z!iV!VCpdm&|R;(4%*%@YU(!p@BTq*h1#ogqGaT
zsK>k0{n_xwCeJ&IT+GidBZkYYX|euo3`tR646*xR3q=DZBo!gqbz{`m({HJ2Kxjm{
ztDzZb0Xp_~EGp@R2s>UX%MIJJe(n_GLR$WF;Sna)lZ>G~8eTJecEW5*Y$5t2!8S5<
zo9Fwgn7cVdB`|&Z+h{-H`}LKJvz768qu3LYGbja4op`n5=S^9;C@ckQzR8gK=^qJa
z-vkLnqCaNqoee*3jdZa2o3O!*rP$NMD$YD-4DdIr$th3AMNL$sg>1IMzsbQ6fhwz{
z6SFMfi7Wwjo|%`fX%i_eXL=7{i`-<?kn%|K5SYI68Y1RLLBXV4(vQ`JV<jf=l7F&~
zNaXD|L&ZPywZCG?x1Yl~igIm3>xsy?FPhorhUZl38`*uyPGD>ECjO#ULI<Q?D@f%0
z(#R&hX)oWiK$zmc=en0d(ihNkCcS4WRf%WTte{9c%raFP>(zBq<Ewbk8)J;wQFwQ*
zuUxzu#g(&#5t+MUIM?qU)J6Lkg<>z<Ie4e)pe{Cm5JobKwZ8OqtK0@Gs6XEY0HbL_
z`^#WRYN74G+Q&8xvpv*(E6WldsH{sT8m>|WQ7k(-%V@SnUagW2jJuL(?kR7|<*-=?
zim2Lis=+;4lr}Y&Ky8Ndu)|2^lI#pi=(O_)Jwa}lQy%x^vVX7y^O9fDI}sgKMmFC`
zAiuq15lQQR?mZb5S#v<iiC8e#y)}T(CMfg@?C)SOs**ZGehdWWu^JC@(FMxc$QZx4
z%GbS&=A_G~;`P!$^d|R<Xx>PEkoLXP%}(=;8Qb^dvNOvZD(uF4(;bnNqY7@6|3iah
zw}I%la|9R>B1Oqt=KtaD&BLMY-@jp|!Pqimi%4T%!%!&HkbO%+vc(8lql8cll0ADP
zk)p`HWJxN^pe!jx)~snGOA#T@`Eh-}-~0Fc?)$i(`>*GCj^{Y$a^y0f<-MQh>wKNB
zbIs~R)I}ea@hzkt$Xi<3k3N~NU0#}^Zn>RX2ovuBOFhq1RG<y}7+W?q5k_-O>AHvx
z!#$QWM*nBe;!=b(6dA~3t#^EZ2tfjIx8yT9;^z&T#I8{=A;o0r%`~i!x6@^fHQmh^
zD@q6JVIAD_g#Ey9w?#lkh)99rXFY^yqdXK_{!(uPoseGWg)sh;=q+0zz&@QyK8L{#
zo50KxgAxf!>B1hgY6l%KX|eBP^q0+mUOX=V!|}hnV;tOZ?5s~S9e_1pxXXb77q`Oi
z<MS7*G8HX6^Wc_!3OEv6(RHYkyD~Xb&LO?*Uq+&@3JKX<>Iio-vFfmG7*8s70{E#4
zoR3ruVRgk6WrOW!dvzPIlt9QnO+nOkdiJJx*yu6G&Fx?NEA-cxleIY$7sAV%hYhSZ
z$vy%>;jfxErhcnE=>~ra(dt3CFNhMFZ{*rx#+l?W4-&oEU%?Dovw7p}BNl+KzE?}k
zun@i8H1jIen8w^wNH9_GfCx)gZudlizJn%gG%}xsTo7)hSb|@Jpe6GU{roSHc95%l
z5k$9~=Q&AqfK6Qyb6y5BR9f$aEk!WHG>D(lt)L$CD+$=OeVaU${$TowpSJbYCX=vR
zKN^3Uq<-Y3jR1c1ppc^-WGg=swozj4gD9JKWYpiS4d!r8o8xaBE2`C!qBwaYC%hQS
zpZc}lzWM6`Ku@VKNJ=X>1qH$Lgm4a<RvZC+U1!`;#UM)9St&2|K)|qD!K(<iqY`j?
z3O_jJkG?1OGoHx;^`5c!K@J_u004Wf1T#z%ZK9vPgE*+U`jf>Q1(Sem3W87W_$>&d
zh#a-xFdSV`>`}WXU%wlU#NsEz;0u5tqpTR+A(Ch_s8^huIwAN*QSDvg(Ld)Q2I)`s
zNEU@1#8PbQaN^{ri+8!Nw5ClQhveC?c0<73?tsWfYvv;dAkQ};26cX*-uyu6h$Wki
zK7}puttzc&Y=!<BczvHBY-8vZX!;ZWeK)A-_eV27cbLy!Wsu0OMy~kk^|A5E(BJ}i
z(PDv1YfIBTy;x>UM^*)6P1Ys|bb9t5#xT7!$>&l`x>#SqBai*@hK;8RukpAk3Mt`n
zFw5F=x!}ZI@3OXbfsZ1HJ6m)N;J%8XkmDhhQF%5<Zosy7lw>puh<Fvo_(rmBG?91p
zxbRBmf)0|Sf}Dm(bMFKW^%kv$sM<M<e*aLe%$wfV#xDJ5VuOViMZ%gH3IAms)*j#Z
z^;H;ROp3m~6^v1fv<QiMX}8AVXbc!`7mC!=wg3}|4~SifuW%yML>}>F9ges`1-v++
zFtR})bklcwo~|0E?j}J=UKaEuG8yt;BN|&cUVIv4<Fo`Wp8w3qo7qIu!Zx77_i_!0
z-DwaH+pEF&wGax^d3=Ko(-P1B+P?4skaEi7kMies2SXsZXVB*^q;|jGv<<!+wBhe{
z71CyR2s%WR29k6k;#Hd-h?0%rEr0%}NPizwYXq0t!Sf<X(zH+AQ~}3u1|q_vuBG<A
z=e)f&uM2M#z~Io=kfO#8x;#{l3Jj}1Fi31wZ1!fajG@viXSub-L(J@6)5uo$AG|r9
zmC&eymvK1m!I~8ss0nBRr2N}Ym_<ts^6Z)A4HxD>s6!C&9to7j7qhqD^tEnH=GbgR
zWF)|?z5{{;+=Eur!7PHbEs=+!nGx@FT~19C-<>PRu+J~45n@)epSy0!-2!@h?<Su;
zgT(0~b4g)6ho7MU3NTXlTK%zF42|Z+(&0C)Y{0_7dHO_RE^C-pAYCoU{tE~-NYNZX
zGL8Bf%Xv5VKdPD3PU%vEaFAQQ@42?UYO2^vOx=KK?0MG<MIoXk7t{3XVEK=9i?=hB
zE6rd1Ha}9c0&c^yaoP%OKxkl8>LfiLvIN~`5f{HNZ!|szPP6``u}EX~pAt`?0h!tM
zt_IJ7rz^rgn8L4-6jQa3!*2k(^z!&N0B{Mn$Td5PMcR07Q(zvv&!UFJ@cJvpu^!b*
z@B=a%n&|ny_sI7W)Lkx7mnP<2ADVVC3GBlP^gWaE)OKK~q|M=Z66lgEx7dfkAqgL}
zA5Okx=?g&e>P*y@w1l~d2g3qTjdq|{=a5+Cu&-%tE}8widc?HrfQRT+nYA(~@Q`~o
zIPyF&jV^*!TnxE@>CL$GZYOzcbrYRE=h)ML6EVAQU+IMJ-Q`hkzq!Vb^{pYbBOHrP
z>GFJN&J#Vmd0_JuI9BZiy>J$Q8v_jyX**k-qL23)uxk#<zVtDCm`v2iAUae!*jAel
z&#!JgEDC!HMHa;R|A~e>_S}V}>^mq=lS#p_1ci@tAiJ-^Ro%8a{(LFwW%Acd+U8P#
zSRWRG!<lt8>xp<a4rSEByi3;-Ys5<yzf=i<1^$h&x)$Ixbra~&?AJf+QkvHlxRQ_H
z<AH|xSzL-fk-Jb@4TARUXh!L1L{cf-377eC*XrJQh8ApNxz8Os5)K42lfx>)^W?vL
z01-GOoZs$*&iVskw=AWSTP)uU_cMdwCWj(+kW=H7*Zxvhm|MyA`~qTD5fcyIfd<v|
zAyj#cUzc+ZM8Obf5=1z(5Oo(Si<Kj(9iS_;fT(<6R?`UG)mB3~K3DDFyR#QhxOMg^
zLavH4?5DPXIkxs^I=&$31HH5&OOSt;q}0TnTH7N=^^d3Y7=^Z{=MD*+cSF|g#wy1J
zp?AF<PQnp4Ho&uExlmmW`LAbbb(JPqX%<*K2J4+t#~~x=r|?t#?g43jt}s}&o+}Qm
zOgBaNdBaTO^EjSZL4xg8L?F4+`oeC=0Zd92py9N~@1kdsZ`rN%!?IhVh|N+WtT0vJ
zx8Tpco6m`jjPGye;Z&5!3x^|pF`1ZaF|5bFMZAf~6O9%mPf!;7D)_d#D>+47CRCUj
zkNSw9Q98b~!~>zf_PrSK$rraPxlu?awkfH&$^JYCrD8ZLd0$M3?jr1>zXv_;GCK}M
zc7UlN>9-fO+hkigH*0>o$^K4zC<E}kXa>~q^MO=imea0LTd|_FdjPU9K0eESXJ30J
zX$LYVFil(~D^3N{=!U6#1RC1h)4Xn59B*+2Jn)C7ARW~b8^WIDf!+)OacQ&W_|gwy
zV<Ihah4Q^D!JJwEBdAppMEZ1@Xm<&rlzuMWZd$tD!Xm`N(yagP0K^P^i6YJILoUxN
zJ~X$Y?oO*P3|vlYcG=gg1KI;kIaa^lv66!;*K1+N;oCs8BGLViHI9`^(DtIJU&6k4
zx1qDvcd_)*VIOaY&Sf(^=G6XE$Nbig<te=>j_%~?cpiBtD!Rc1$AYIf=cI<wYS3v9
z$Vfdrq^s3kasO^155bXIf^QDvjhB!bzv8}qxsF%tSGQk}-&+6S-x9z5PoGw|7+V=A
z{}?1)C)-A4A>Ei*@&Rvtq$$g!TcYil)rr72a#%|T%}lJr#7Ps?!-R-ZC0QB?0d6EM
zN$@YHjj_t1sI(KX<(lqh-{SIRSl~7Zy#j~=i@mqwhTG)}AHo9+yQ6OxE_2Z03PovS
zcx&=YU7d4?&)Qf<ZDY_Uf&gHji!|3qcZw1xG*K)<B=k+`nMj(^mg*c47xNFhTB3Q4
zM21?3{EXMaV=R13l6*Q6qgYFLV487-_0jo@9HmcPa=0k4JMbnpREWY9!)v58WFO9R
z{QflzLo}y`Mx?&Ni1ZqtCe4U#OO8wUo{30C4i;M3F<f4A)zb5yABB%L#YA?X$#OVF
z3PrfYRA9=xV&%pw^^d}`ujzl!3_PGv$b*UU5x*I|_?2iRDwVLMw(+}9vjt8}Y7Sw!
zJKYL2M~tw#7zM+NBe5;*-4kCd8`V^j>B(ZA$4Y<9TQ7RY@SfzbxF&>0)rjB;c^Qva
zO1e1;>nP1LsZJ{@Lb8FIXJ`3zXf!z-mczfR#N=M{en5G(tGL6UonGMF@~ckeV_=FW
zroZG^RW&cKWf69nfOXgut5g#4%GesIfJS$-B9&SQ6Z<$QO7GuDxZL5}uxtnAqx?S!
z$i+fH=mz9IXAi|rB%Z!ZCXB^iljjJ}*}ebhsJHNpUn=C&izoO&oz4rHI7zHN))jN~
zTcb_kE=~GZ*|{y-(^slM!rev=W48D>bF_hzUGX`TkP9B>u2fni<(9U_^74N|26322
z;7N{(+TF%Gdrl1cOL5b@&;Algq53CRkfMIx5u|6V)N5INS2%9?zv>N)Y7B;tS$OVp
z*nX(oX!pn#RLAE9Ttsn&ku>7_@X>@Tf<AW*(e|DYuMj=+@P|MQZ~q}T9zujT-m-#@
z{7R&F5gj5DCW=CdyEHDgFe}MF%n}h2@#)j`*7PA&B~qF#(Im|oF|}O}jWS7frx0`a
z%5=+{ZN&ZxF79H+g}*vvQ%;FLrG!d1dk&nvz~>z^Kf8U%$`Lt!Mn4z_Uuk7?T_xcs
zA1S~w!)KeSAheiv={6$@t@~UkY0-Nc*Nn@j-oaZkH0vIA$>2C=t2yY?A;<7cZcWwq
zAaG@rj>j{8BX*wNBkoc$cKrfIh)am2*)Arc<!w16Yd?E79>e=!O|_R_MOf2RXL(A+
zHju!bqI-DW+^E~(J7d8!{2!luucL%%u#sv<Z1mpaE^sv3>6Ll4uAb5o`6F2wyLfOi
z*eC=$MfGVg|M9}`SpvJF0j_Ucn~0t=B9e6O*yuVN?jr}q@Iu(VntoyQ$)$Owq!f&~
zLD=8cnJ|5_A%EN}eFlSVQJA6)Iatf?2`f`EU(DWS>Q{k4iHiQn$QxRf(*>FF7mXfr
z;Fr^{0rPn^Es;c<8MEiO5r%z4E$}o&h2a$NH|MIC+tOc&yCA9S{_JyT+FN@xSw}=L
zYG2u#0}o&1yk=B{^B+Vt`?Habpg9O|{ES-i|81{ju(AuBy#CWJ4&S^~=-K<y_|Al;
zZS3f@FHTwIQ#7MeM@GtW|8-*a6Y)~K!Q@t(ZwYnA=aD(h8+>Ra>QC6u-GXd?UstQV
z>UvNyKQk4Ee~ibYQ&lY(Zt@I&0F+is?UF8rVc}llqL#$4Pb+KJw}P@`!evVb{B5x}
z7t3C41w5)dNz#$j{PPqO4OM9Lx}z_BFZ6sQY$`{HurQ3*5yeG^)1)4>tg<5o>zAnp
zaQ5oE3$QB|c|3tR9?UedpEBtCSc0QfWkoxDW@?Nm6EmUD(~tYJFcx?UZ+<CK(k62)
zMo2J7ILF7DK>#1EqHpwz;SZfAvxfbpn`Nv6uUu8zva_l2^>s;|;wT~0_%JHV3LCCa
zkQ@}vTR%#l_pO@!x@yVJp!FZSMIlxmDgJc~1#j@3^;0Zwzq)Zi9I+PO`=$Rz@v2ag
zAN(ohW4Ki4ea!pg-53<<0h981RJvpgu?Fpv-f`K+?b^=8IJm=f!Bg#Ae)zTX-UAP0
z(&)gX8MW5>q<@GU6vtb?d-`Ir2w+)Fbk8W?{W*K}NINY*1PgKL-I$Q+ZrIvCz3Hog
zUCvh+PZ0J#aDO@fHc`Ee1@*jA&PpGBU+4|QQwysMERG^wX7c}dVZ3>S#V0Mi4jMTI
zc>edV2oHbcZEs-$v0u3FW%U34=3&%$bLDa=acHg3mtF89tWZV^F9MeeYJ63|VaZnP
zNfca{%gK9v2G9%EHkK>w<ZWD%tIp+T8YG>|n|^hewBzuX!;k$+VXBN`V5-=}6{<ZF
z!*VLdTKs~HQ-w_+?Y{Dx8?2mo;N55bt-<^_(i)eY*5EZ@jopE}L=$;XAQ-L$p@HgS
zAa_%xPxAR(9~#j5IHC+ki<7tuuezN1bvLe%62_s};$mu$4{w%{U&cWm#zj9pxo_Zj
zi9dBVG=)R)+e(P~X>^qyycV~O-DPg_3`Y_rc~i-pm0c@LAMFM^=W2oJ9|%=-L%2|~
zHy&M68Y_iLgeQFa11bz|5JJ~}k=n1W9S|3WnPE?IjrtP_FW3i-)3c6y)c6Q558C>Q
zAn+W186lxe>gMo1I`3^E<OFTfdN%=8SLOa>$InW3YNNIAdc+Z<_xrVo=oBq@qZDgH
zXJb}ml-vv~w9wpmm?5`K1PQ`>6XDyPg0ScCTQ^vuwQ@hg&E7wy`?YDr?qkmjV087$
z1<1tPlG~o$z6-@=H-vlRjr`dxj!f=6H7uIf06AF2b7^vGT+5(36~-Kyxz3}0w=jXC
zSS8|JR9KJ~y|XNe3ztMWiBlRALBR!F9MKyAbyKllbzr#f!>tM<qKPcXl6TB2)Dyy{
z5JwZfRgB+C>hE`kuM3$5pnSJ~4D3r{!lNW%ixhsqTI?>GMI3w;rKXrN_FC%d5k~4*
z;qHyA`mWy#E#VS35$x{;@4cDDCPG*Sm}ygQn4}^wGgyr3P!i={nJ{We7#omxWbU`<
zwR09iI4mvh<q7<cal4u<Omx_OxM0)AqD;t?i#%~I&q@cWr#e|+p8KYVDK86_XQvQc
zY)#TR)AJ|}eubLyKgP$<cypXKJ{ejgQZ;1$<uQj(YC^?I8cdk9G7j2p^pv-`VfW%V
z!!I;6dYB#Qf!c$=4&q)Si+9M)qyL}=n&O!RITg;KOb<Zly(I(+aV&T1nT`|{eii@c
ziGMb7-6c?Ggpt+_3?E<NB3mOJE8Q2Ah%qNRK=ObK_=a=~cm6d+xSIM82u;L5f4ax;
z=Ipf}f+2dJKpcJX^zyDehB#s;bh_S^UByAK#GqS;<_r2<Q~&w$(A=$}8ce>y^EkGD
za{)4u>)c$*8)As+a9yGJRdpM*0rp=r<+PIf`<H)jh5p<I(p~&kvTIaB3Wj>)pSvx6
zm6nQu`Fs#P^>-}cVaCoZy@l+sj5s}cT4MwD(LkvncVrX?0)%VqPH=IMyOBOpu4c`P
zjSF*yAyM09xhgb~8YU)s^sCebTwy$N>#NFA9;e4dQ9{_W$Q)_Eb;m#q^*<VO2fod_
zKvQ&0=3lqY7}L4V4#sde(iRJI<2vXNPFMlQ$Bv`fjfkl!Xyu&P9BY)Xa?#3|p4W#{
zZCdzh<fVH&TMMUzCNkljd&AP7Vb(;jchc5E5|_DQr?}Y!6`e`LwO$^fi0F$YRN-7!
zSPZOr&L=P_<pJZ}fQ$YaQ0Hy>%K@i%7{*)jf`f(J7<x2cWUR(~UJDOdd9p4dsYM0{
zko9q$k-GA<SP6{wMcC+~_Lp^9pxrfT2oaEOEVGdZYX~cc@?GhE6CiBArS$;zs^~-_
z|BI(@`%MnVgkjJyIHsXkGAEV-rGhh+ysVkr?@L7!|6r(ISuw&T3p#)P+;)e%EJB}c
z{V2K$8^wKOSy|_F8l%5yLN7Epd^oO+=Oowf?f>H)>3-A>zMTXbyjwrSun%HoP?gAZ
z8R*Gti6N?>UQ0VcP<S;8l0AmDmlr0sH#W0^YlC&3SD9}ppDq{;N=v<P_`^ViQ$^yW
z_1V*H*)&@cCbYzTa#R*kWa;S%lk2YqynAVVnVlR2oBzoZe}ZaZ9sW-r;t;H^v;-sN
z|Ha>6UZ=ut8r1ip8kQuq=)ZkB;f?b=&oyZL_dg)t%guoszfXOhv(x>^mh)dfrb;kk
z&cg3lk^gJThjPunJP^VLg>{p*0`84}cxWCJi@a*2c<zE#pk;&E&J%LgV9It*KPX1t
zCf5aRa%{`5`lV3ZLA4Vkot`(}HQ;7A+?xOyp`=coohuw@;fnW?|Lwj1`ITK8w$=N$
z4X<<2!fc{rgeo>Kp?dC#^T?l}p3<*<hMw;pP3*j&GTi1{lsy|vOe}c{&3!h+cPD9@
zny*jP*J?ms#{@1Y<_J`WJ)ekHAi}-r_nxufgrN{4R|shjeoxWYcmUVyDUd713o1T{
zW?t`<-RTtU0qBdj%jVw5qp-ZRyuXw0nd`tWmxZA9*-hUokv}9MO;LFBvgkgnc?Cu!
zFWsfGjoZ*=(!w1XaryQyst>*4i}0C<gC%wLTzdKcG~CDp*aJ6ebg+1ceA84Fb#c0E
zpNG0WTC0hT_G-t@CXGDK1-{ic+E4_$H}O8>7tSy(<-1IBC?SXVw*f|D&|>&B?SVIc
z{!;2J@&bh^#KH8=iVqfN_{Vk{=FEZFxXKi4H$?YlXPEJ*N63n(F)ogU6(y1#7Qc~S
zm)i;V%w3>>%+<~el!M2HBwIY+c{x$qY?P@e5xE_lSAP=wpD~)#>`ZT@%N}`ITNv%U
z$3JiL@1K48(D_G3ENWm=dWofd;_F&iX<>oWlZ57(4ObLpAWsSe&$U(9)_G@k_G8~j
z()7Q1_Y9uui-%6<x7KimCSl2buy&GP`&*PkbIpkOIRodx?`C0I7RVCg`PV>}{E;gA
z=jC<b<<(j&26kSa6$bME;GV<+n*3ax1s(3C3cR1fM_Ti%NDCLi?upW^@3cl5xQs&x
z<9n|?`*J_-_9>IYZGWG>Sui}w^0A`^k|VA0FD4cYKNY+HGbfrT3H_8Vl)v*!7-kKY
zXsfd0C+K86>M;5nfpP86_wpV{?(FAA-V)0Q4;5-IG(v`xh%N#<CXXqw!2<b3N^}u)
zL~lbRtq-z4>ic9g$A1HR@Am5aNEWcg#u1<M-om@<JFSfmd+zjYKk`pJY6U?Ba(=CN
zLI-xUe}UAOOpv5~0;n})D-4uoopFEk04Z-WxpgK8d1Zgh7uAgHT1#VOUE>pB-=J1n
zn2W*HM%XWdm3c#?xC7n5x_s9E8#3z%5Pp*1UhfTUR6ouOO+I%E9zEn0+;5A#^fzM|
z{AV`A-aRn*GGvhCx(&>bPQUr#L)9$izHrZT9I!(m$MQ~hr68yE#qW>ic3KhE1nS!7
zEv?-|t0A8*HW?XKkrcRpjHeRU&QQ4P!2NqnclH_~Q%Vz3O9Cl$|L(EdyCMQE?Pl0r
zkY-T^>|U>bU2+#Pl$hhh@k;qLzl5DhLNtf=X=$6SBh#J8g@zQe^8lJB=#gyZfa2=%
zY-K<Z=*6Y?wf-4}PGOjjR~r3l{<-=xTy5TQ0x@Z$iRaMK*@)VaA_zznE%QT(<{=<Q
z6?Gn0-ubgAvL!{{{sD&>yhdRp?Bxc9Uj=ri7t!JMox=|y<y7FJWyVh1`H%$`Rh=WW
zvxPXsgCT)Jz6y{gWUO=txkVZyVI!o-R}ZA->|5ow1D_5L`SM>>XSvE1pu=If5gUD7
z7Ec3z@D*MJazqxS@=y>#zmkS;MWS)a&Yhfmi$5VDL<!Oa0$zQ;Ohy{ECI)-Jg_h2<
z$QXiw9re$CKuy|7H$=Fm-@Q&sUH&mT<XJo9G7Cg@*~^dq?rbxMkPiCyh$QL55>yzP
zD|!sw!;ayHA~7yND>?*ZJ6HDDVg)cwqMK0AFQ*EiY4BNuQy@yNs`E7RU^Nb;KKdE2
zntruo+CxYmh8=@mS$8VFvokg4q4V>fUAH&}Ej7pT0Ivdw$%e=6)&gE!+v)}w&In>+
zr%vixXu>=mLr#!@jUxY@-t~a@ayPc^1p@?2R$zoO-5<S`5nRy-siBUr0C!!3DoX<p
zL%G*I>h}ccl=nF>^Zw-oL=%URnHtPojNopM@IDZu&4l!W(IAo<@bM56bv9Z!QBQl!
zoDrVjiG@kdH(z3nG?-WlE>9tso4PL2$RZJ+PRRlavuu5Cr>!3#1Mr}m@Sqi^a`ByM
zGmJP$HgQEqkr)4OpQMY>4zrI<MLEcI|Lv2X05j}yP2o4;|LHn#GQ?r;|HNAI4fg*3
zb{(|s|D%tzZ(xK})NTC$Itx`~w*2#vh-d-;%(A`z>vMB|Qp1RHSIwn`C)9YE->81|
zB{WYyP-9cqf(rjjFPI)611)PzuX}C3_E1d!s>IlST~zaLTapgHjh-_*ISD<A?|*cv
zASvJr`0M|EklubW#BZp2-IN!0&f*Wt@47zId4fEt<Ts}O*jsdXggGS4aoFwQvj1n@
zAU~x97q|b8Zz~#Ito<0|QQdE8Gb95Rw4J`?qXu1nQqgV2pXslD=NNXs45`D0iEzBZ
zr_T(W8bT)c&gVXULhLY7on^D6ak-OSF`iJxk@v-}Q&<+g{OmLMeSJryZh&V*j4-Er
z;}`eu!6X*J7``08Q^j$rzen*bZwznd0t%I+gxZ_mH*mk`=6}BT1QwBAw?tj<mp?P$
zXeBo)or=-Um4E~N8~#7j?F`J8<0PGdak9+&vj6~CL$Vzwd?nM}+hWJULf#e62LFd$
z@fRr{ffat$Rk~9M$nqbUDEildytCMm$G!1LMxdd-@%AFecH~8^B8nUS^E7rv%~jf=
z7(tEx^{T^{W+|X3+A34^QfO8#blou9kYl_9ApZ*^h3AA!akQ*vT#oOIg|LPw4lyHn
z*zD!b)B@r;_81~%GnXI827<~%H^kuPmaapNd{^)~kewZ%BurXks7=t<2gU^^+1<bq
zcL&8qvv0l#GzZp*Fupf_^ZYw^@xQQTy4<q!e`WKvjoYT%v+9-DLy%Q)8FIe0GVocd
zXAOvC2SMyy3AkK`ic6|uduEY(21t6`S2!w>;xG@+6#P93=FtU`g}ev4?}(mr={}3I
zxUeQ5`MLu2^Kpv&eRf6IM)@{MfC)W@s1G~G@&151n@1?1%T|2u$-g#bp`AgHrA7aS
zT=>ive^<(%H`r;fR}q^uo1uQ-iAxYcGU%3wxKE8&aQJG5(?h|4=${u&KZ$O^t-&5Y
z*BNiPBTEhhqSDV=Q2k`@wHJ^#ej6&AsM$W$E|WUFBk$j1AYFRy*<qv%+a>5erI~9`
zRE+D_kHUuB&YekVfQ6Z22i%H;(%Rup)EaR4yVZY>I)T1~`*y;c#EBo$1Of1t3rpsH
z#_%F#u~r6}QqMtln4C1EXvq+S4NFTKT*6_V7#*yZ$~=hzD$k2`;CXd(+ju&@hMXCC
zCM3ZZVX9w&ik&@>q2S1R7dY0AM{kWlR4#KzEE_`bQQIA#YJoDhx_9&v6iW&E3AB?T
zwGnVsL5|}BDA?!H=`qx0jshV2llKfFt-(tmMLzo+D_tfJ{Op_^Jv`94_WC&j#Fcr_
z9fJhM$MoZG?j4_h4pt7s$P3>dY77UfjpyKzYREs!1bwu(Nd7G(kPZ!y(Q!~dkpkSN
zR?qs$sMXsEO2dWs8h;D}Q~QJWl_7@+)^5l->zg1MtsmX`b?WH>7sw2m1xX0yXvLWa
zh|?JYD`C0L(R!Xbp~O*pehw%JtTZ{m$EUw}11UG-xA1Z7?>w+r4<f0l>%i$Wj^jQs
zSO0Q6`jp1S={-5I@f;v?Q1@aSL}}-FsP!{_01&!&)POm`t417vVz!rn{t3lHh6fFI
z((xc2U@&+v_7!Cd_@Tp}kAl>^rQhT>Z-mK_uOgSA?EP&hEHGGE3_5bo384r!gydhd
zPM<~e7m(U-9f4*y1=JyqodPHD15pb$+}bge+rIqwO|Xc!vztD1DEb(-S#=rn9N;+>
zy$@376oCHOjQW5_$-iO?3i82eqB;JKLhym;;2Vz7*+;)G{AE0^VmHvAToct-t+K{I
zlC1|4G0$ypLp3r5$kVJLY2AAdno}O#&;EQXo`r6Z3*1NQ1bqoFL{a||<S5Gc?31<y
zX@)v_r`{a(18l2i)AO1wK5Y~W@ICa7!fIF_kuUWp5eU2PO+tOJO5&QFeRMP<(0cn(
zN!WF{`Uw=D-@Amf>v}>y6{4w;K4EJ~a!3h8%UleTRD4489x(h9xy(j+W`5|}>b}9W
zcVkrlChvC&m8a`C-0sG$^}p<q^)@Ii7D*f7F>e<z=6pIx4@CQ4I6m!!%mBCTt@6;V
zt{{1bK;M0C0Ot-+zCl&JtpJE~cy`A>$gp;&ozo!fiooW@N9tlig}oqicz{PF9ZF01
zO_pk8%0ba48`*fnzsJsZ3)bQ<E*gC<owOXiV+z_IhEIi7z$l>re|~V;R5!foiO1SL
zY1e2T$bHH>0|C7Le%QFp5byXe)MUv98IwgdE2o4*GGV|G`xqpmkRfl6b7CTg_NxDW
z9O~Mw2BaKT+KTP1h0u}l!_C4HF7hte+|<g{rI^Tosqw$7%I_W+?%BA|xOb^x4P;2X
z>@nP)%-VCgEV2UhAK3TrTH5DG+e<|RExkh>H?;$MS!wqAZ>mC$3Sav+Qgg4J;R*23
z=QT0<Bps%s-bLY<{7j-X!=r<Bncu`vj*JjAYjS9SG@-rmY1g@}UotVj{z*IS1_d9K
z83Y1zpV2!dmhzQg1ljQdG7Vqu`*-O+At)}VXKiBjGi)#FZ+yPk#=@e*V(4mGbw7#_
zP2fH_JF3K8=2VP{lKQy+#y)?mR-j*Ke>0f6HX1594xm>b-euxJ^SIwHyFvTH?^<|X
zI51}}6g(b|X){su6^Z^HIf3Q;gsa0nkGVW)^6jGi9`8*i`kLKAe|?8}oIWES$$oM{
z2Z(BTZ0}DVW1NqVq0ae`=*iC_#LFWYY4*Bowr;#lxY6uz-}5FfKrYnyb0H1p2Dq0>
z<j1=q5#FNT9{tx4f0sfgPpvM^PWwSA>@ymI<Cl%*mb`r`WjeVOtrDz(CDa2OtxKK1
z&mShqFV}3!C>n=jervSwMG)_=Q{#~=V8OrIi@brSXBq})FFJZK+w*%WGG<t8f!B^#
zhgO|C-Hn$}BB`V3mQoSzO6FaJy9bgsD@rR&hyC6e&xeQc*@XKl@hpti>eVHrTJea~
z-lz}c3nU@6u~&Zs?Ehp1>qpZ0!FUeBMc3Ppb$&GwYHe-35|3SI-Fl&>*!MHxl(7~*
z9kJW1&R9s|BqUsXS{P}&^^QleoWaK)(WD_C)Q4TXfs0?h%Jy8qwS_60G-;O^dYa2o
z`#<iU(-nI%KG`=?e)ibL(}}-RqZHm|y`OE=_z5>jSR>6Hbl04mr2;O<7oV@^QY8rU
zbR8f2FO7T2N)t<IiV+j}8@Ki&++;el5@@YG3~>iCJe~cVm<bO?EqfqgK$%JrDx<Tp
z<SEwENDe=c16)WCo}Y^pKT;ImrLp5(T#8Hyp%@;txTv80;srAw)grKVLZ;0*aC!&<
z;gP4Mg#lWI90JmShh8UX4i17lId8yeBd*8e=vnUY={#gDDglW)Ys?)7=g40NaTf=x
z$;l+S>#Q`LucSms7D&$4z|-*MCC~8WBLq=*g7Eq7%Jf;pOGDDMN{{twoo}{jYwHH2
z|CS*dL0F=wEV_6enqROT)`-VWSZG`%R}DQ3|3Ux-D(S$5$L~y7p*qFB=->QglU%n*
zCiV}CWes8PFqrrQcgzq89iGI~&fUiw9kTQ!3A=9IL^2O%?POeZ1PKvdVu3aavrm^#
zy3{&1IDHg#$^RK#U>!qrN8AMCQ$<2T6*S}!Qag|v9q5=*3CS3juO<f^r(PT2I;tHf
zlH^OUYSDqOC53t10#9O<Tjy&&?QPsU`c=3&oRdRQMREqrhuT}!D|8Wr`U@&&Q*{ow
zn9hQUbLb9L6Mx9^HUIv)(`QIg_VPGA<sB1~pO$(#U>P&b>6_2PJUZ|ajOrd)R6P|p
zEnWK9?Cm=v9*=TRf&I=JbE6$H#NNxd)1MI6_~J0PTNXb9g@+>ir*JKd66kVSzuWo*
z!ZhS^c`t@{f7k`{a^q>ia13z@@$N!6iU8?Kg2>n)+Z-y<m!QM55qyU3V$As;C5sM8
z$tsoTw?g&L(1H=^_W^|&@d(%Lx43vvT9ZCX=vCYErovX$2n$K}DOB@&EWh3ps5X+#
zJe>Ko2i=<3FU2nHq?I9l__V`k%Q$g*q1PZ~b8NpMdY>8rlk$xkpDSI~08Sk-Xvd7t
zaI4{npd}t|35IgkZZwNPSRE<7E>ia?`IHGy`4@3nf|!Cm2)?@f1d$JSB+XZrCW+@P
zZ}DyA3*Os3_fbwh-kVa5G;AspG^(@cHkL$jwjAzueW_gxyFFFzrw{T`M;u1s^vT<@
z8C<%#jPH~G>&RznS({UzYOUfH&(YDB;&;%)+S+UdOWqbv8qhFcm4UvwLqmS8BAX~Y
zDPMt9VEaw4rr^?><CSs7g}1teN%|mK`qG|hQe2!T2tstT8_M8#{g-DTVfki)waB;d
zr5Hi|$3fXvX3XD$qA=75um(M2c+*#pXtB04Qt8^Y+L>?NG5ujO^arf)d6gEG3^_q}
z*lNUA_j0qVa3At)iAbu<{QOk7xAh}m;}66XM{?&^YHgj<Ej+J5?eWJs0wP)oH3Qbg
zDJ4!<Zc^i|l;W5~QRx7SoII>LCJCSj@$u!+lj-iqiA##^t!GZ)$kvE$yN@6ocu~*%
zYFw%06DUw4&DF1X|Md+8h7+=_(vjDh)dbJXIWSAoww@``Gfbf*XJnYGYfV65s&3QM
z|8W;z9)Za^gi{PzS+OOwez<hMdrvQx6c_@C%}?jJItKBa%IgP>;hei|ed;of)(Ie<
z%R2}aatCq=yrUo?Z#W=qo|k%+Nx;|ME2pL*6pTluMDCFTLoWJBr%aUeZQ$v(+!j|A
zPQW2P`!tN^U(P&n7G^L4{@lXvqJgbFH`$`i6Y=j#S1rB%<6LqBG<cj8^)c=j0u=pK
zvSd|60JZkLw*3eUzw@yQ1N1tEH|Rhg@`yhpR)@NIpkcfoJ{CJD&5oN&(s_9luSyV+
zu*<-JIm`amNGcx*7idVSN!v;O+w)E`K`nPfnEOa@tveU;=q(Mj8S=o+z2^P@z+&)B
ziL9LmItT0>OHx5@_TijV1%?xGLDjYX?O5Z#@A$1R|EMNi{{zmmrgU*)COAmKr+P{|
z5tL=;Gb6auKKuCpAGa@WmDCQtpxlZ!PC_4wIMIrhGX|5X@fG=g*%*;XSX7Y*(_;TK
z1``M>^e37ZK+Tnbhn*_xJCG-YbYJYV*o9k!(TGxh+-dcneinp&et)8yM=j7tGbkqZ
zj3Me5GqCJL%3NcJC}fv($b0niKdyT+65KjVaDoi|<k|uSLnShJuw8f;P!;X~zVnFX
zL*VUOoHiISD$*%r(Zbuq-KoXu=6nB*vXF=WnfI&DOisvXHO24(bwTl8(8qf_m}@&z
z_8B00JC3N<|Ck5Z0+<KUr#uQ}gg|wYU6C}ZB6a&eFo!X$O?b7`#D_N`k!ivyh6Maz
zc3l1EKJfGZty|^9t|BJ?sn?x5(8;$G$e^vrMH=kPb`h6N*xg+Kvzi6)TVA@PBHRti
zLY_H)?>f`!Cq#G{0nx#iqd=<5u+80V#P<g8`2u3zR(DDjQ^bsK&s+sMMs+vfyq<fN
zy*-hL?ccw@Uj$31F2swvtcjIuYU4!_D=c5ItB{`54$f{@{qb8n=%fM$3fjMcfz`2T
zD@|iptP*y?TOPddar6$LwhtkNwss1{iSrL5$;D}sr}h%@W=J7C7qFcvY_H*^++Twv
z%}-=E-n`atarzJdzS%?I*zsMvL1{V!;C0CmWD|Yva?0|mCB(^8MPGr$oX;Cu5D7v2
zb^Ij+4@J1D{DBkXSvZ^RC)TfStR8{{_No_m6<re#PeyWdANpXcIDQ%NEWtjjo?=)*
zaMvCXxw)V;9`bX&3{0rrZgBF?BMQ@spgw5TcpE0gTNbHE3>5*W*6L2a7xg0{g+TLO
zTdyNHDDlzbk1GG>0*ql6jZ-Nnl{aHTE2!~v(Y%4DCa#dx{UGfn6HL@$C}#r>#w=(T
zD1kb9%@w3b8dBr>?`qwP%({<3U4TG!qK-_*D|SP*H>YO=gaH3tatSQ7A#I_^I1m}9
z?Aoo;WdEHS4=E-iNRGc{qmNs0X{|!&*7vjELoXKP^25nl^^ps@Dzhi`vloOIXQ7J~
zkOX+7D$rag+u<2()>x9@@sfI^6w$D&T<svq(h6#(#vhmlT*nh4^<33Zi6{$HF@|g*
zaq8zGB_YhpbI@k$ftj{HF5nDFN9MN1bu4)e)*fzKDYhX}V`mAUbS>XR)>-Z>`p)DC
z=s3Is|9c}udA;z8<F6(yBp7E$n1%_cWY^$FfV!JEhXD5ABO>LFSI13Mh>y>ID9c{)
z3<UV0$IS3Rzt22Cb6#`|>?FqUa1O<_F+{x(K!^PMq;`lvIjT#FK`wXK@h6L;n4n-p
zkk#eMr;O@jY77hUhX$-#XEy-9I27ms6J|dWnyJ=g&5;l(bCT|aNZ8Tw)l9(5ta{V-
zhi<-=0X@UYz)(>a>U~~w3@-W@oLNg3@(K+l2*U37J5NBXKB7Z-pRbhN$~mhF`$d(s
zONCdY*WO=b$g_GvONAsCPr7Ju{@c8pRY2^kw4)VZpdKAQug5g<Y63_`7d;yTH6F?S
zKsceZa2Wxqk&5uFp0V|^s2zfe)#FKQHYWxX!*wwuN3mvDtBdbI+ujot>pjYz|8a*f
z)hTHQd<AH4+|%fu$N?wqL#!a;NSy(u;yl1XS?Idkcu%CpGCyEnvr&BBg=5U8r}Upc
z|GNJ1rw#xzS$nc>7b8%uGs2VME;F|Uc#W&4&;X7=G-gd9gzm5^ItA}iVb)8fc<rh&
zI66-a8WMgoVq_n(q%BQ9G4BKNeVOyMBd<Lxn&}6g3Q?f)`#!$AsNR^67<{%z*^`Hk
zU3@v^(a2t0J)$wF(4v$C&NjZBvIML1HvIRIiS@<ia@<Ng##>Z!;3EPrT={bEMu`ui
zV`#;O6TgjKIBw)<W8_oJIK?7lT*jbR`seh$&uf1k8g>^3bbVVF!V+ljMwnBzE&Oq~
z!dpw&lS}D45jq)S)2&JA_d|k7XhH;|tcD;2Xx!@#ycb%3%<<j%=1eTFPa_ol^&DlK
zI$0lC=nF8ARdQG)1KNIXp!N)K2Jr3epq=1Y29*Nn2@&}Ffq{5UoCAm4P1|0U#siDr
z@I2za%DbVa$In5hn+LEV2gffB8EAUOBjT%*y%<IG!3Ud&ThY3(^q1)8Yh#S@HZV#$
zact{-&;_dKI?{q@L*`<BAuJAQftI$p5{?6Df$yQTY~=hoh+TAEWAgRKh-h@<6H&#B
zM$sSzbb1G80~NLb58;0`g+q~_3R^3cepssliDt1j#qel^8L5d|LZSBHBl^#0P=U+p
znmoQayrbIy6`v_*Wv@H{g0L#%N~w_J*D6343~;SA&Iytj-LXe6-feq`A(3Wc*?uuj
z1yzjAAa(DNR4Xop=+BdhZfzqG2SfwIu%2m0Dpw*??WWQ~uD*i>^C;bd8y6iG)~g{E
zJ|)S_hW_TP7FZZt1?&kdtsycTjsFZss?=anQw+zQqUNt0n7t*n8_3+U9ukgbG?aak
zufCi%lPGk#AQO-GNnuRgbhxNn?+pOD<;0iwk5ajq>O*5hGpuM1f8@F$5LAdDy(>A4
zvAni(T1?ak*PJU4HM)uNlh%8xouCk_e^&HJS;_{!v*(p@G$)2HFn!UsHVNpriHCTY
zX8<x)?2@UDA9L3vzR6J!zK!6q^vnsTmRF2#QE&y8mS?o^DAZAgN0`_G88vKS`qIR`
zFP%F)mSuKicmn<zp1-IO{?Yt9^B5!24JdXsEwHBdPm>_@nM$h>POXiFOvc+tfT3y*
za5~lu{iYLI2@a%|o7k3TfvRulG5Sz1c{SvNAUif7;+<x+vBpvG{FEzJcG1SpOQ3P0
zG=-{%t_Sk-fB1t$??LbG&BWK{+FP)YmDRq(L0<P!Fm%1^EX(~4h_1U$2j78&EdMM6
z`IF+`plq{BHDF&#n~e9azcU;-8+tXkj}dsZDdiU$fY)2|xKkKq!M=D{&*IF%u^%zS
z(s+gwZKrDy^Q?k~_H0zSsp}0QI~6KD1`YBsQBV2Al%fMUeHz6&f^@P&hGS}~bQ6z!
zli+Ke%CPaSM4@`MF`Do3h2qVML(g0Fg}`R45!j8M(ej(1V(TGsaLE!o1fX*d63RHw
zOmZu!XkoJS;Q=Wv^~xE*(GPm^3Vz~HL@G|aYq;$3^y+mAe>Cr7aRKgT${q|$G$-}>
z1SflEOdvTrJZ!S@z_snIfNH@1Mw%+_bcUZN<6HbWrp|ZgsE>eNM=O(p?AwRbdHj=x
zrR`s$wH-cH%v&tJbc9H?N5`Nr$+f5>6?Sc|J3~HM-Je#6c~6EpT(rCYt?+SV$g%e&
z8g?8AA;F2R#e{sHP7xfkGvck~ecSkiDJomx<C9!XBB_l2=C2B}t)zn^Rd^6oacp>!
zy`!+IzeTh*8gxxR#IndjDVNvYUm5LnZJE>*FYc<Sb$izy6jUMFCQ6NmjEE5xo@T0V
zF-8#W_h7toKEi)mV!$B?WPUtL5*<v<rfhw@d^~U?_LyHWNmJ}O`#s|{?pQ%m0^}1O
z!FpV8U|&nkJEM;T_!B;n3&R<pPUN6Tgz_su2`-d3chTiwM2@B+gU)id^kJiR?rwC*
zZnMjUi2}UgFz7e1+HXaXK?gp`*{BO5*H4MX;F10Fl!D4sstUt8`vNV8of;EGLN^&1
z^;+FQGjc#H0;L0&YKd-fB1RsF0pHU#SQxdUG~IrTK3O%#HgYcBM)LAF>-W6eb(594
zOX~)xmL0;dtqZg>ih3Grgyk9~@F}mFJ+wae?R%CiA&<MXz%`o4%DBd#?{3AaUc`c`
zQ4;8sxGlTG@rp$bCuym8Zv!ad5Y1cC$MHEAM3CrsFQFJ<^WI%yeb#H)O}ta!QSIfv
z;1@en{MRaPzf2y|SYGYD8}40!(N{Shg&~I@vWhd#u-N4|p!Bhduwyt4SbH1*gJt1<
ze$1n$49;3KmjChXnRg~>>So4W`5X3U$A2~MBo59#;45&yWr0HPG6-HitoI<>&g{GR
zwBVxy1s5R#&nX0xg==XJyC~>Vp&gc+jCPxO@#NV0wX<`>U9wNR>2pPDk3XU+Vbl&n
zHm6%1qJLNQ{=k*(A3KjanR;$Y3?3D}^C$&c%k=KuwD&g+x?h?EyFPlTAW-#wxTqL&
zE+R~>RhjRXxgll^tEeLN6Va$fjAO(Q@M4LWI59Zx%l3i20(XMhWDJv~k{!WuI6AKq
zthgJ`N+*x}L*K(;7gvmXul623^AMNA8_la_WWi28hz$e{qPb*k2)MqvU36R)ETL~4
z&}VMK&@y8_@%{pN+Wn+<eevvbC%7k7x`G~pbY^dmn@`DS(DglSc@ijz*A4gRYBhaO
zewI&Z_LVgdN;-!sOTF|9kT);q;&As{12dPB45X{`KNym9`fN-;A$%WEq~pHsblgN{
zv*ezFI~NVcG=Np})bh<B#N$c}bOv|EgT0okDj>W3LeN`)8X-LV(%#k3CgCcJi?0jZ
zHulo9YFi~<wlm&W`|SYigaatc#Jb4hDC+3k3kYpcUTn=@m<5D0j?Rx1h~-I}R*lK4
z1WzbU=GF<-ldF3Ao0-qx)$MY4Gw02Q9@XD$mU;aPrjT!0Kt`9?v|v|hc|#oW2qR3#
zclw4kMd=ifPj;oe*!(0HwcRe64VddJ1Z8)!)rTNCJ&wDlAe-m0?i5wmIfj7@F~ThG
zv4)|$Al@>Bgq^>I>vtFKy{8bZ3O((6K`_1C8tls=(ZUS?UjCK%Aado?lH>MUxuqxv
zGwuSa635gPq?%59v~-5MpbIr7p_5$>^}LNmD`g!O=ANbBcqGi=)KS{~5ogvP6prnK
zlWe$O^Muq5aAYo?|7s0@kqClYMOwxN@LnAZh4Rvg>#$k$fMY;9b!93L`{gg>_bLOC
z;J_K#yZ%C}7=)1Tg5*1O-Dj@SC+6@Dc?R@1XrhkNS2M+#rH()c9eNZdVD?|Ap#+39
zGRvA4Hnm={{aXFEZSb9<tj8ZXT9Lp*L%@PJpi@rQSx8qR^=m3Pklc4r;NX6!(jW#)
z)=M$jRYynF{C4rYlYE?Fxit$6Kqz-t1}7n+zXTkCK>)*5R(pQI8JGnD;CDX~OismK
z;%f?q?I+_3WFwPe)ES-QMeCWEL<xDQ^9{~BGXR(~O(BqM9L2-6Vgyk}GM55)fR`>o
zh(6sS&3Z5fNUH8BM)qJ8KkP{qj52F@qsg2Jp~Zs_A9Pz*hQKTnvx?J@dcD$18iH&<
zIK4BG*qAXy;JSgC=aKjoq(78ksh6l9ErSi}%3V;UU9h2bEUg)cEeUy_wLh^;T372Z
zsIc`Q`}1@7^Bd=-lYif^vH3bulrYK0=WbOrFjj+B@|X-r+6@>70i}QdF<a#kuR6PP
zy)g=T23=Ne$7C#5ZLggiP~3e*zdQQ4w8&EynBjl|42D1moSrQKAwu9oevXgc4S6Bw
zHxI4|=Wua2H?Oky9oF2z7onk-peR+^m>zUKPBBd@my?!`=74r#_=^*u?RSmeKy>uU
z@}Z{Ex{vOx69{^Mg!3L$y&d-;Hgz~yMvzW#M#HFZ?J-df62$6sH?3K_JxC`VaPh3}
zQJO^*oXbJ;_1vA;pqQ+9{tf;o@DYa>E)JT<P$u&>!AF>F0G(3=96$=<O=hk1hW=IT
zC+R%cs<3)GyUhHKA;m8N#Qtk6)w;g5{(TC0fAf_kXj*Oj=Z-7<4WYMwJ_V<1bPgC4
zmS5OXK~?z3CGhk{yhIUh8pVdYUdNxLJ?MAJh;b&kS8*TBuP2{#m@oT3rp8lNzo@k>
z6DVy@R`=#ljUKtyDMrYX|6m}V42cfE`W?z({W-}H@{U|<P~AeOIBX;7iv!0G#COaf
znhU$w)Eus}G_pz?S8+&-7HmxE5p}C)AMXgM*+aF3sB!y?uS93TU{iuz$y!-ESugNQ
zT|k}rY_9RK^%;%`53b;AV02Ea)LxnGOp9!m>C}0P=MwEXH^T)2Yd|*Q70NpXkcraX
z!yCS@j;*O@0dd{&a`f{Z#YNyXG?!s3wVOm6r3Y;`0SOrie(Lv?v<gRZ_=wSNfbDm9
z4NdOA7fD5e@dyQ=o9{xSqt(5ukVG+`Iiq&NLbA>|a+x#;Tr|5`a5Eo&0zHkwp>wIm
z-H4wp3j))v0hwORB@gFeJ7Yd5RraEu<tDJ)8kiP9V`c|$g1D4Ts}e^$t>x?bS(qsb
zh#Q2UH$8|G)n!(=3Fc_Qp`)3Bi0Uy2oz)HjWxvGXvsBw}kc&K+r+ZTga|p5CuRxw}
z4`Nb`l!8~xRY$w2GQ0plex37kFkxkG07qdsF<_6K-^t@2-+u@3TLmO4K4z)^v}p>_
z%mNIdZhlWiyJ#?g9yYmUh%w}K6R8GY0_ci=h$z#stI;8_TF-zUFVDNiE0^9?yPmiN
zlGwv)OzFw~c`x4XK@^XW9QX+Q<u@7(LmPv#@1eNirNw53UgeDG82!6XK}~V~@-MnS
ztSjz)`7x!ZA$t*Fdw89_IARo=PN=K8{zouJ!S#-B)D^Ja<~n5yI+iYc)}Urc|2d?#
zKX{H%4Yj4Lch9Bvb}Rr5^7Tl;%LxC8eN!)WzP-=WWgGF%H@o_HP<2+oswdd`i#CAY
z3hj4QZYeOXjst?_)bWIr!yCdJxNvx1<OSQq_EGD@KnlAPT-s@g9MhuF^T2}ff3X6r
z7{b|#{b}Z-wFG{UzjZ@YJ3JOAJLBJ0QrQi8IL+C0xOFBG{*c2&rS|pUQ2~EfPdk{p
zmPXAgN9QV9yFu9JJd&NdLqh|Pd3Y1SS`yUbb>d4|l?I#mFTND?KX!!CX#=VK>rqk}
zH5M0tGAjIge8WXm{l4-OEe_nGPON4p`;2t#PsZ?SX}Pu-I}k`7i~CxAG+6>c7Py2+
zG{XPw%4a8|?)`>3%9Z1i0j#0I`-O@ZKq}RLN?Rablc2a}U!}bO7)K??0kN+k+t@_?
zkZEidPAyQD<Dl92^Q-f*+@BtJ8g*0dKur6VWs;!$UXEFS6Gu&AajF+NIBX-Cb7~-R
zJ9I%TX89?F*GOpn$0b%FdJa>yb!_8M^_}ufBzwGc8!8RC^B5MgahwuMi^i>+@jM3&
zfr=^Sn5xCng6u-&>3$~Z5{Hq3Q6-0X&HQ^GXRhPJBx+tC`98>~9vTpHR5zRVCnXvo
zJ6v$ku@NK@b_+_#C%-n9Yg`QHdWDt2%1`VH7LQ)qjuw0$H&c6`Q%ZO~?q#c1HX-?Y
zX5%#bHNaJP>)N6i6|Q!PMyiNmygfLa5x$k@F~=6-exZ{Bk^975>c>AxJ9*m;UAsNP
z=BB8{|B<<NPzKPH+D%A>BUDTdK@M>_mxJy8`wNRXCzXeVZ|&bwQFfGeFvR-{W>jpY
ztBtC*KD8;j$sOELp*omj(-Zv7^VVpUVYgoU8pmfdvF5){j$s$LRzsgtH)4~T1A1c0
z`W0?vTOH6C+b@n9b}_qu2(sFF+ITigR4PfjEe^*WUM6H}P@Py7Ll|4He<wIVJqJ@o
zr}p^95BmU;^*?lztJx{>unXBko?hO>>Xp`~eW11$;@tZ3UiTRzeV*?7o_qesJmE2j
zMj6eHQls<wu`-LEczI!xbgHeGeMq&Qk@b?w#I@%qjG8FXgnQ1KJ-=BiZw1HF(exx7
zuKfBi%UYOil5&ABCPq?v#%SR58D}olrH|limWtEHT#$F(`u$?tOI^djOVKy=nwTF(
z<j#E@C+ZHRd4V92NlBs1DUv@whdA=k_@|7!pQjIzn<musDQc$*G|Aeni<e3CIXp;R
z*Q-i7GLIR?RmBF=ACozlqDxySZRfH$ExU6Me7v^d^$vJ6-zSM1Nqbn9A0Vmt=L;Ex
z7=L^S6q%?b+RRD|7vDB{@49TFNy$@pNVtK!n&ewWp-c`6pRW(8zk7`$?ZPST^t@qq
z^|+d51uJ$BkgeE)yMSxviWGdj1PJ-iZ)X5~tFFFf)RF&mRg)!e%+O1*S?L}tR`kjq
zxBV(_js_kUJeu(>FK{p|sN;U%iJyd2N^<;?`0EEo;aeSbQG~Q5f-+%tswPUAB-mSQ
zu(t7-W7_AOm#C572`@&64z2W=%#-2gBnc5CI1#Hy)I+=%;&LhErxjV86Z_uQc$|KE
zyTd*0>8<bU%4LNj@yw%DnJo1O<V?DKgqYef()J~!hTY_)PNrB6#g}pY`{F-CwA<Bx
z#E_l7y3qdo^3q{F?K38yxb~3?squ(pagb<5Y)@yoVaV}Ct)~9;TvwwM%J~Mb%cBt=
zP(r&%^r5YMv~mi!AW(5myu-1L#j<&b)Z~8g%~l2@&$zQ#2%?g*)h;MgG5lIY?)Uo?
zGZOvy7?Nm#n8?@e+O=#%SOkh6!BWzKn(4_m(nFrtX$Xp*?w;5%ntBmWhne8X_la<N
zj-Dok01QW>pHe2#zG9S*Rtc0e@1r-72;-e18^UwZza4A{Vw35o^y(#{E;5fGfAR#?
zA2ZBfo)zMpztBu~Vb7m1!`H!)2ZW41g0O%|_wgo-cQMKHbAU!~JjuEHL)nupY%dFH
zd-Bjsq--R8B%gTFTZW}}hfUo=5<i>wkff-Kif`1sS~Da46q~&XdY??c?vl)b)kN);
zoLMI^f^Y*tsQ9pG^WSNkmQk{Hq=V+nL{@CT-tkC@)Dx<2hlEdNoWAlPj>bM4`09fX
zA5d8=nb)y6;fS>0+xn*Y4*hJu&!%*JxZ>jQr9z#~iFulCnl&%;6&<4!{q*Z66H^)A
z63eDDjX32m%0G`F(YNonIa75fMV_KPbQD|&iLOVD_l2?Pl;-^O{<D^?5iu5|=h7wE
zOOdnSHy}A4e6qeH>{vysGqYI{Z<?sXqGBgXyl;SVO^s{t*?U^HEcC}o((+eyCGaP?
z|MrZpi)FAYLS-AT>&dzD#G_AWiM}15t!v9cNb^2WJtzlB@n(B&@fVXwI)vxI*m>K!
zkM@Te&qS9&sHoROB&zN~Yx?24lu5DM&0b=6_HxYa!K?>%0|Urs4$t9rYcb4m&WWYx
zw9c^mV1=V4Kau7VBRSSeEWXu~5A*;gwwfXZd}9Lz1FiZ_M-Ys^bOoBC+jhpuHDW6%
zpm31T9C%g!Npl{994_Y*d+Od=9^kLKi>fP1D8>nU-eYRtWXg~;+7II+cwc+z|2{%a
zd`CuF*I`l{u3r;8S7EjHGJq5G^T~x>rJE@yX!x2zabrsR;R(f8^I|YgqgNO+X3fed
z<PX;`8M<sAEbA1p+(oE>-RT_dZ`;-EhG%bVJE%0ROoRw7gVmHhhH4Rvks~hQ^~ozc
z=A#lI5&v0LEMlS|H!y2^?syU=Tk}}TY2#%ri*V+do0WUUpHxGDuAwR=i*FAq;Eb3X
z%<J0sIBd#=vq$OnJ5uLsbb0V!gnK7~yQGeIZ-yAcJbpcPEZ~rU9JB4u%;=~6u8qc&
zxv8y5+ZE;E^LbGRWS`{lZu0$hT-9pD-U>x0L&3Crxvumhs<BI~vAkgQc|;@$a4PcD
zNxAJ3=X}%N>`=B&W!d8@0t)%wlZEEpx%;xMdTmlpbYn7b<@{*8*sQk)%WubnPbMlo
z(>ujou*IkaZYs-%(-(g>E5`f<)?sXVWg10e#8kX9RnDKO*;2CH(6buEl-MNHlrl#r
z?wNNg?keY*qu=wP?b8jPj)5$&a6fprF}~Afe&$4-ik(tVr{Kl{bMO4s#WSw%7do(@
zG)2d#de<rh!+U+|mH9|Jpt$m@dNrRuY`qehK)cr}Ix#0l3!d@nQ%Yq=Lzk4K)JuFn
z2dv5o=gCAH%|-|9sF~V0P&!sN6=UX+Z&n{N;?d*zh2h&wTD$tg9iz!eU(KNye#K(s
zWJ*XVY=jc)fB5t7%M>ifCK7q3$&9#ECHiDd-KHfw(*1doovEf}>5>oeyz}(|W73ck
z`Hyi6&$LYprTKRfqmTd#!fzefr{|4jmUh7>$v-+Sqv7Bi6Ba+Wzx`C?XY69~Jgv9r
z_}FJPF@qRh*#Wfl#*87!kkOakmd13C7J<i*x+F7`*=)&<zUi<@XS@1{&0gfXnqtf1
z<q;z|+yf(E-@8s_Y3HgPsHd2y-3r1|WI^Cx=a|sm5#u{#E!BqklhKy~PxRdl7dVa(
zepyrIQQ5Oy3=5b>+lx*v=F%=II9hUKqrO@(puhvwg@CszSu%Xgl%)h#m|)^$?0v45
zi6;b~wr$MHt$3*#BhjI_G%C@ri(`y?<|K1R3s%#{-cH5;Y<R8Td$Uy{8Tzd~N)O#V
zop-bLr<-_GrEbW3{VVNv!*;+vcCWLglxBCf<R95I<o}DUKM#kpfB*P##$bq=u`ea-
zAiF7&CHuZ7J29aYvScYK`(CyzgCtS*EhI^nAvD@3YlWh+ZwX1i^Xh(oj^Fot9N&NM
z<Ic=A*LA&K=j%M5&&PARf6wVws*sW#&Dl}fgI}&Db46oOk!e`MzlODE0ojl{1I5I{
z<b~((x-!M{ctD%jbAwlrA<FLdU4EF$+@7&=ev8ALRcY>1%y{GCNNvN2mo(nW8L3-K
zl8wN2JWjlXlhA9f6lz*KbXIeq;Chp}>=ist3$;oWLFF3GfTvc5<M-LnBGkBiVgmQq
z*XX1whLC4<^{>{q_Y*q0LQ$9YX-`3|_Bv6L%vG3=?wWvOvzHPsj-fwcB-s~cnx*`Q
zIrWF$^G-$f9V%k}?6P-PNS{=!B-dqfbxN0%BRu^!LX29XpTg1UvQ5%Id%N@Ywb3@3
zQ`I7J249z-h%=o*>2==A$?5pPJ=3HiAlK#nC0uk|!8fi)E8Oa44vwigA^QN4flpxO
zs>kuy{9{;+NQL6VlXV>-iRU7D6{k$car&&WUKyZ0?T{XAi@@sreQ@b5XY&JlIibgg
zErV5jzn>&~-P_+FF(Y(~?$b%~-Fs>wH|hg1%e*^W&-L10&cr#T=Ec)=JyrkvA_;TJ
zVlA3snKnqXPK`0ja+zz{xpCREt>zxIF<WG6{2{Yjc;rTMaBIrQYKSM{`nKu6S1^8g
zNBnOH3$!VRJ@F!APwk=kqiC&};F%@^@TW|nWbI&i!=*-GK<P46m<dn3mQ8(<O{T|c
znG<_<H;|ocd-VTbZ^-sUIk-x1SmBj0bUuM6Lhh_LPX=GRk6HMBtJ1AAMUm?ltMKhV
z+s1`C`m9ONz5jsQO<!g$y4XfWlhotl`3{~<RBw-#;F`H}311hU6Q2HknJawhyUq0%
z!PufNjq3lW1$gU{ro&Oks&3suDil02DV~<+JE~XeyDA$(M?_0Hw$eX7)cw)O344kw
ze@gdHz{};x=$32Z*-1B|vyIyZD>_$Z$Q)xTVjk^D{>p8Y?b+jWOIEoP-uT<BuQ@rh
zqZc*fiOD+2C*ut^q9)q!l{ArLuM4QlUD4wY7#AN^n~Dw%0Sf~hFOtw0|BmbG1sfWi
zM+dzF{k`KyV!5;`nS+l?bkhDA>{jYnkJX{s!JYJ(*R7MEogd%cxyPD6@l&?ARl1G#
z*PF*HW0w;YW<P4x_RYk_=j5F~Jom%Y>i%Z|Nx_ZU%w%@gPj$qwh9Tuxe%r;++!WIP
z`(9q6u&yM!@tG$<)0XLM%23g*tGc@wnBl%8+}Cyhy{%$a%s9TYU-+;<w*O<&N+?r6
zvYMl&0hcG!US%ZQ-p`N5;wlKShbrP00%xMMC`_9rL>E^pSC_NL=~=5AD|2zjZzs@7
zoLd9p@;zZD4~y&m(1o<fI(0=ykN?7#h-Fp@@-?#+K1@O3q~Xnn^sFL#uZl5KS>E)<
zS$jLf&&OV3%^{%2$0jJ-{z92K`>ejn=K3R(PLa(60rHF)_M6*JN3@ofjptzU-5q;Y
z^zUlQ4azUcHMe*Db1mbW=?+}c)N>QX2CQ8MtV61bt5WA8`xu+|wKC98EI9q~e`z*4
z($tlBvW`XHw=0Q%*hqM*RrXpJRaG%F<BX9*=L_#7%=)h7u<Qc?yyPQ_JhQRU$5Y>z
zYju4iWWuCF1kGw|CdJXAV^TTT^pQ=C&-YUVV&9&@c8y$!jJG!FA3lJ4iGBF}(uVhN
zP2_7=IdW#wRp4lMu65non$5c;nLWYwASLVSi{3|Lzm7h3Y-9R-Va)s&K1tnj;pD9v
zX%2nG3v=*}l|o4}U%fl0_g~AqV4O{hmL`?F=btQ^%t5ASVpDT&&La8}y)yERL}L$B
ze-N%dz{lJB*;YzOX0x?r&`QNdG;LJWT{ela8YaNy@<;BTXXp)y&wA+p5>MT#JhIuL
zuwNwsyE>7;znfPjYuJd45vrV+H;S*a_U8WK%zFH<>po)L`za7)3M>Tw9hT7ZcYa@P
z{K)irpEavrUXUPdbxS3qQnpz#zV+nD=Oi1tgm7nVw{O=s$?3j_daAP7iws#p14gs+
zx^FjjP`>eJcJF0GpLiLfuPITM>?f)oZavYOfYb7S@x5L(e(Q8diP-yFFhF@6bnH#W
zoC*KM%`>*2)E2czg<Ks3LWf~Ue=*O1d57i2T3w2YqMsl`Xs%yh&tRl#rO#cT6?;@p
z9j9%XJj#xj0?%7!WBAgViF!{I7+_Btp>3mG9K;+VFytp7qIvndZvP<|Ksdyee@_b(
zOg;8nM$+SMP|-qKZB^>Cd6=KikSy-Ek*|AguCcH`2cy!aqf>CDYc0mhXo^d7^F_U0
zaOP?2x?zdaru-M9NHCsUvwm|&4SwJi1Dh)_ZW=-cL67+Y-xB7v{#{2u+|#RLLgc4J
zADu!EB3kaov|IT-t+-clv(T4riWBp-9D-`ykQhKclwhaNq&4gRwGKLj-=1Z2X?2X~
zE(x~&X^uPf$@We4Il)^jew~<3Cy5%ZGoLRfaQ|E|xEf@Far2g4SJHo9+_8~b&oDF?
zBKEZQKZ=AVB3+0LX^=Kxh^QRB;hG174_mWPsPv9^L}u`bpOTeJ6HN_NyC-y5Yi*kR
z2r}wOKt~=O%sbAI81wB~Ujlc2OA}~7jyh_(Tted_69NoR|K42eQn33v?6<=sIyjZk
z`@^<TAD$CvL?nF}B+ME9?{}$YE{o$7HaGjCF(8P_#7=&<HDwaN++r+pg{bb|qNhqj
z94=>i{%13fnTk*3xna)l))(1R^N%R~%FgI|kH0Y`%Y&ws4^^i@96G~eO_^+X2}vTa
zgO#Vy$9E%^d8cUSGT%We>Yc&!Fk4;+z1`XOqPOT_UM9@iJLWPA<1GJ^`T?W!o+?)T
z?26_+*^uPJjS|vJ^QE1MJ5GO)GcS6BLU=vW{t9CBj-hjt1^<92Ng-qgiEe`y`GQz|
zvdV#5k7vXztsfsTIhc_Y(y`huY(0vZ9%y=Xm4QdJAf!n3#2u;ot}J>y0SA>|bof{L
zjgWs<ZXwiX*GmQyf&av>brQZG7M|BKPyV|e%d#A~>$@TIfgM3?*N<O|(BcHlyUJ7M
zs6qVGz<Cd|hH0*kh!Gh<>v({{O+iTSmg8hj;5Sm58O3+}46v==ul$+4qH<Sg7MiJn
zp|a?Qwt`zHSK4W2kp?az<73x#zP|1L2$W5Eh>)Y>e&jd5=?{o-NsDI^*BR2h-1d7+
z+7DV6Bpc@|-D6zIX(NtbUpD4X#@uPo{~Qb>_+bUs&r%O}=l}01U%FX_`YHl<^WHl=
zN!B$|3DN=vo<naf^0(>BfjnyND5|cr&_a~{wb|nMy6iL(3sy|*K}1+K*AYkmMQpd6
zj(`V0>JRjgKj<5k=S0NOYP2hPC!Zbb!Y6RM8vJOH{I~uzRfUZu{A|!W!cI8eQ4Sz!
zj?Z8ryTGYcO7CDXVmM9o@XeuFWvU}M-}n<406qLXh*Hc&zRUVO8DWo=XU`!|bV0K#
z9w)T$!!CXl1Yc?FX4vCu(B}_jjyuV3>j=it&A)bqT*rM2+2?R}`bZ85%xRkcC=WC9
zsf^4*kLp(r(s{azsKXLvZ)d`IQkjIf`J{#Y)M@3kn(2btGRRDyqcd+@VEFI-D{0CQ
zZYBOa$~PTt3P3&k`yqB92F(W5dgmW9%slfSYl~E6sUy!qD@^U-3d`9EITODYMhA&t
z4VGXoU?)G}7a)RP=^id957>e9O3fRvbBz5}g|OU8`ol#Gd^pJ^O1{#dB!~nzm*dAn
z>}zEMzzztI=Y+$%e?Y(Zs0e*y95P@kZ4SG)EY!bT_!A;I?H7@a=Sw!Fs5c0h(uog@
z8-t>>${X)`lCDLX8(puEvwg5Q{q6Lqg!@oW7wF(Tov?Qy1^E$38ppk{m0ZmknfXRv
zfKqYkzDvO6%l~V#SN#@YSf+BE993KW;Bd)qnZ{Ab4(CGkqAH!8+FERcBa(LpT!2+i
zg?{V%&A7!xoM!p9w*{kt(MdZmlXfxwBgduhF^w_ps^p!%iOAQm8yBIU_iCKGbR2OG
z()c!lD5Lt;#`5RSA7U1%nKmJNsrHz?<Mc9mv9o;}ypLYOYaoTOrTGd%(OL<CA)y@E
z<G#zn{@WnSaoOU)o!|G%EHWX@UzM<8?OGDE_Cz~$0-R8EpLPeh1;3iO$UEvyCDnD!
z?W1GE4UfjEAL^_fpf9)LonGoUe2b_)L3L*D@Z3GiuE*c?X^aut;l4@PMW7ORlY9fE
zng-B4m8Ne$X*<5~&QdAkOi%~~(VSPF%g~gwk#eexglTQWNeSoMa?P1PZYqAN{hcX(
zGW6n)=La*En((grEJ=}*UK=%_HpxS}vDDhF^eQQ8rdNW;y%nD(#&yg$k=V}mHh%pB
zF`Xmq>Yomb<yy@hA`_y%xw?FY!TyKy$e_sk`IHmW`hNcbWIpiHhz}#tI$ueb{@jSG
zoom~-Yi0*hcNGy{L)T}e9uAv}YlUII#xBY{^|xEJJ`DZ_-j_wye#kSq3(us*xRC2S
zIS@KKp%JU`b$QE|W$SdJFCF|W-pZX1Ed=S2Sq<W~Dc+>24#h?mIhyh4Wq|~#7>v+}
zPV(Ckoog})VbNR>!O=#^S2mnl6}H+0Jthy;gOg;$2pKJNz_93|k?iIpch28^qwJ1@
zh!ITc+_=cFEAPt9;D?pPb`*0;vi~O@r##I6cJqYuD@+{nhF>BKl%kGg_-uO1kGd9~
zOLeOit}Aa(q#~lml@PDn@6d1QeScw~Qy1h9qdkW)10GfdG7X&#-7MnyH|@M~5_ib4
zm1b$?YBCGw&vEAIN|oAkx8JkSLBG=2L(W)?rh<iO&$!9fsV~@zhgC6}F`4OHscb1h
zN$aaGq-I0~)a}Rt-0Epb$CFfI>dG}H95K9kgt>a3prAPiOXx+#5f>T>eg5W^0>OAt
zHHJvK9A6F1K7R)P)#o=8>o2VXszXh0VTJZ`GH{yiJw8VL*d}<vk*jIjIj`2c_gTDV
zyy?)s;bC~j-ypHDLA)4Ew635}D~Mt1*m3&1Pt7Sz%^e5sQTu#-8P@zxaDPWsW)%|4
znJ5}Bf_U6y?S~yMsXi6dRnm_KS5am7TT!Qzy5~F2GiQ~+nZN0dr^6W6z1Uy@#kVQn
z&A!qHjAfBk0pr_)wTSaS1L>sJ&0XJhR2bIxTXOEGGU#%ZZqUpPD2L0QD*uDHg2tKO
zM%1^0`Xh^Tai(dhoeh_;(}B7E)r^z^nzJvFqpNCf_b>*#)f3)??VY>iWTyQdI2$FT
zmb(Tukl11x@uw^09CZvWE*oSg$GQ%DkwX!R8hFQ}uE=G1K_oZxmjqS<R~}AE|7(i6
z<IS8j8IRcC59-zZAS8LrJN8=K`l0vze@2`}j5}=2uRVoBg1AKgSqV9{XE2KXQ0><j
z_O~w6cEYuiv7k**PH17g2>hOO|6AXPZ}N|5@}Vqv4j7lNB&w_XO1wAz%Dqb}oU-U}
zqt}S)$oa|?RhXkOdBpn8rDs2_Lz!8%@FN%z;})a=Lu~$2==1KCGUbR;2D#9+^Xont
zrfDDZCChQ+oUQ5W@woQuHr5LIKF`Gq#Nrw9Paf8#OgiIl#0yqdf5n4Auo!E_iw6Ya
zV?Kt;Jy};t8%ld9`F(_eNC6L*SY@dY7qnLy>!iMRurx8_E}Rz%S-Unj8_o8uJgIhO
zI=HsqOeIAV41iP^t`4;xL$<);8rR;p*^J#3-wN-BxQjHL=Q(JyRBQz<LhQM>JQ>$|
zRn{Ic(PIhU_hFc21FD~QY|hxXW_^E+k+1cCzAurxgll%(!*cFW@j+8c4#4;p&4jh-
zncTINK4n<G)^+*%@xc;ToA4*4IZCMMT@Mkg1(uKNWA!1#fG$xj&{kV-aOQG>LHxnm
zNo7lu^c)Lj)sOrB6`2knL0wa#YFVjv?e6LlnI=l^(Cat^dt|zRD>S%vANPh^=wrz1
z<y9AD2pr=@r4CzyP_#oRipwCrEnX&G+Kb-r2Ox18QEEl1&UZ${l9S@!3okHm>|2RH
zYZ2wgylmB!(X9P(+xe+C-j0RPFd)2;tv)OgtNwwG0G%QtkLp?4o9{wgI?bk^!|1w^
z)r~HU&Lx>vQOR91-X`40`1|&qQ+sx4=fZmiT|p2RG=1w_466{_W|%~uKmNYMWIs;A
zw(P||v;|s-&Ma->l#w9}58^xi$T#1l>55=bV%4xN1+p<lTw6ot_JsC{;XfHtEL;M{
zZlo1jn((YOiaL{P(Xxu;#G`G+pGWW>Y{aBm@P~S9sklWJ!2Q4+-z~_LvTlx)a9;S<
zy+tO7-aSXxNuM$A=<`Y|=Kb-e6yPYscy|Ij^RZDWEWT|R#^dwpyehQO>{9)&Kd?1z
zAD4@2Yl6}7SNEu?cmYFY7OGbwXr7&>b>MQ#-p#R?JM`5qo_oWt^|+&^Z{dR1?+%Rg
zPp@cf@>y+tG{1J$jomMYnYUp#4pZP!BhosHNxxOwQ2b=}=}^;Ttzd6(WN_p!(L`Z6
zA;!efS3>X-k9^ql6xH=iVXHXsWnTevd~?VV`By6@LC$9<=Bqo#S(njm->!*n-{5fP
zy0L030n?o898S%LmBoI=FAyJ+nipk!{5o!a^opBOewl#Zy{SXpRs(IKBKg3xk|hPn
z-$FFxv*h^%r3rleKC;#Fu_rj<4}y1ZUB!<t_3Ia9I0Mcf{r{>-u_deFJ7(9I9J`(T
z$HlP(M}F~%btfj~>a&{3*<e!Ova(AEu3nK&fhm+6-2@|}1S2AezY}7Krwh_%Msu)S
zS-WH%XQwJ7;!#VyX{6>JpqG`F;vnuSADfnHMj5$KQB~Q_I^n^xak+O`)|7&&E(kcp
zs@I<wOf{_~F4x6P#U&x@qSI5=_VgP|4VA!yoE(c}@3yr#Z;)=)b}qB9dgB|ptSV2W
zVYwp9Y^lt@xvl`f!(p{UB$_6g-?{|*8Xi64={t(Fp($55!ocis%9&AQ2j}3AMPr2~
ztdp({4?f17j6~svXZQx}6J6Eh?hh&V2Dl_seL=OYDxVWp9-g&)J<F%fx1-w0%n*D|
zTW{_gI#09pxOEN}&k%P+mq^n`{&1_%uk|urHeLEb7`K7FedG22w<>GMx+se~I6HNo
z+JDJhh0Ceah~{Z`*q1HUX}ZsP!E+>Nl=Fr9)W6;`SzvCuTl+J!*~E*~4J@?T7Qa`j
zg9+RiM(JBQzj=vj&NU-4BSsj35f;e@&C$LQ^b&lqytD`TkK=Lowl@i{(rYv0)4D^x
zv0M@K$~YOsoDcFCE}35X-*L}rY3FPIlujUr@PN+&S3GWy%eSa){@?2Td4yZa<#rDZ
zt2SQTi`JzUzeL5#>v#x9$aleBzJgZHutV9)*{*d7-)2WenoenS6dIf3t+6@roNE-!
z(!K$9Ldbr1m-ZeZ)P34ZSkB3c+c{H$;q;GHQolhV=_Be~nOb`ce;26hX(L>j@!U_G
zC4C%d#zjV!EDb5Xb=+7&GoKdI0g{Wk;kQO}V|dFHwsvk0#x}$d%6kE%@aB`3Mvii@
zPuCoK5##t-Mi^=@bv+47W~kpc(RaZ%=e`}x@BWayg)3(T?141ScK)|4kuGe%;?zV_
ziE#stsLvG(Hh;_I!n4We!+%8^h2-!{zv0}kyil9IT=+Dl=^md~x4?de9w`lz)zZ#W
zv_g6O6;Bc_MX}y2mHEuPr1e!`Dsv_>&3esq(|ya@lH+5BG0N`I-_E9VGi5o$P+{XR
zF0&Put_sQKc9vGorxA;I@LAntf4uH}h-tlY@)+95BSPqi+0nLa$)VJ{`!xI4Vb&F#
zyT<xd;<H>i8RNS9Z5gndGY_l;%{WCRho2S?J<Htv2)az7u1M9rP!^s44*o|hnD5@}
z)OA-mejvuB5=EyU$tvGV#Ma7pM4uGHG!sUgC`?38SrTLUpUMz^y4!0Mv7=KSk#RP(
z86l6S=keXrui;JYVM6WOMvF#N_OgDVu8YbH#gB#L)?P62_v3eT(SAI~@_``4l@T6F
zLf60Ra#L0GpkwvHr&VrcOj6&NFu)OHt^DWJ3%r!t^YBOH?&m8=;ys#O>U=I@0{!cF
z;C0*H;rb<z<5x2-<ODN5G41hAL=ES&rCE!5;fZhlD(DuCBRHyX;&&#DI)%`R9-IUr
zrY=W0A&PSEqX|!;kk;lZ*~%dcjvgwNBEx4<&4(WO>zSL0p5WJSXQ#<MtsG6*yePEs
zgd7?x3c*5N=k7gUGtQp)9li2G`IP4x+#!3ukJ&2!-Jw*tLq|e|y`0`%cQU7x#!OCT
zJcJ2K6KTuq*vz4Q|Eq-S&YQCnsZkc(2QZw?-|FISCvauB;iq3Urk(atk@PKdt0&JX
zNKldQy10`QxP8{l9QRodlHl>V$=~_u>e^YsyURy2poq|*y^<Bs=SG`5C^YgkQ5nBf
zl7BfeN#zrN^W;;i6b+YVqW@t!RK-AZs=pMgqV*6%Zf`$xU<n2NcG^~P&ZaD<V|`W7
zwJ}ECKf0VX3V0lkyCZjMOCk+~EM6Ea9c4vncVZ9F?A={FxReWm0{^jENJy}u`@~%v
zrKBOUDi(20K#nGju_NxZOf)l@cZ@0J<|KK{uYE8s<N!MAepO_c*moF(iJ--9T`L(F
zEsEAd{i;pWF*hRLf;Xm<cBUw~Rbuz#GPO52?_`;9BECwo2O_D7)@8w|rvhN0M$CBg
z?FTQ$7rjvY3KP8Xn7GWp99&^t<#mm<>A^}{d*q@@>!aq=LQ5SOA2N>yx_G%oy=_C)
z_MLR|8CKt0{;7)8SJ!EKn13_;g6>&ZTeXqee}xSN3Y$z-mL_S>=WxRR!Ld0_($KSJ
zp+1aWdqS6e)%3smL;S-|Xc$J@Q$<$E)&DEeiT}8)XAdvUYep5iocNZr++}hFxCI(_
zhxnx4#fg<exXqa_V}0lt17TJ>yx!7n2J4VAJzv58y4r=QV2#S}<IT?=U0r0EIZJ%~
z_BI@q-TPmmS!=>4qUTQrPCb#9OLI%_QQ%_92(T`8n!bupBKu-|2z|lV!&a_Hd(ai|
zcbruwQ3#&e$NeOxn!lam+?u{JJsoMjUxgt@{X`0SLUXjdlT3=ng0{mM71Ae5nvD~h
zx79h&rEumo^LQ-U>TE@_5sdS9UtJMveony6mRjLI#oY4f&Y<z>Xqv@XH_0C7bVVOT
zJ+I@;ZR-s1|BYq6u=PYO8l&;|fwyB(3Qp|R6<m9|%4m~?<Z3V(^{YDdz%Rk}W~#yx
zuKKDj+Kd3AOHMGh2g4li7qXZdqV|H)!e8K8aFdgE+&%Jl-w(o4vz9jQ(_a^+Lp$Qm
zhe87QXD6v6sUUYV<%F-(F>v4?+qf+AuW9HVcsGc6dsBa8r+E8B)1z9E_lLOizP9Y_
zJP5@RY)8$JdnK#=(&WER@l5^j&qe`k<7#{P5og8_mu4zE<6=@Xc9lmXypJuzPaEAT
zg2i!pk=R<uXod)CGkVUUj75AhE>ri_1Fz=CUkXyP^;b4%3tslicG9qRX-bp4vZt)D
z)^}H_)Qj&)caQ^edh6_+e&o!8@ME`+o+IRHd!<#;HMHD)zK-bg+E1olY@+%Z9Pou9
zbj=2r%XYi=RLd2}Tw1n;1D!nXL(CR&ZE-fHZCm>q6t6t>=5(Ep$?4=^Hg%plKRB^@
zAn(95ZvnP}{ddm#6~Sm%{X^fgm!64j?w`GS@NLb?(qz~`m0r#{<*C>csd}>Cj~x6S
zfWgataq0*VRunk#_Vudoy(;X{auZ|{@v`K1#=m~`NY*NpdEP0}RT<SuC#j*$EHiGL
zKNS~RmyXfaX#Xh!K@^@aDmOgoWHS_{E_IXMnlgGMGMM_|p<2UR=g`uBpM1+7j?&35
z;D%f)+J*AsO7sGe7wg?##%DaeYUmOQC-#*UbHvvG&FKdbH|MYjWPUdvak4b%b^b&-
zv2&uJq3o<muyu$34>pbWc<W95g>~k<|5{a@^233RBIZV4fc{MOpA;jcEBmu&`!`)c
zr)XD5#cZh##N}v6IeB6C4!>q@QmQ4ss;ly;Fy1|1sx4^FhgfQ^l)QOwfJfT@UJl^i
zyXXnmTT`7xk6bVKOwXUmEJ9O@didrGCG`GrJ@wy<Z9Cgi-GrWVRhcaMJ9Nryv`X~g
zvwjOw2$R^K6smEJcp1%!B*Vw$Y|{o4Op$T#_Io*vLbFNYQ_Fn?)`;VX!KJ6J`bfs%
ze~Z55hNtL<E<Of_OHMXt{$1{4QZM0t+a0`#8Cc%hj)m>FoHDv6anV4%M@!0c-VO{O
zjr_=@MrZVAatLA;czy_eGL2ASzGvzs@vPLHbdb_Aus3O7f9qk`y{o+hAycW!dN$xR
z2wnRIp0XI3nCi;^i`W6X^bmq?vo|;WMfgVu&<}oXxmYeR=|E8z_B`rA$+?2&m<OYu
z>WP|(uM?gy7m-$SIuj57W+e<*f+5zPPb?w)06~gS<9xx4UMgc{1T2U!GE+f6gUKV0
zf$}DXz#E1PTN?<-;+<*6#svck=5r(qq4Sa9%S>>yyh|^S1BWG`Q6oyh-(UJHXR6@)
zt&=I`QkiBunDcoCJ7ZSIj%dOk-CBY$0F{acM{zkJDXFrnV9Nwn$Km+If2awIpCU7?
zs?=wQ0NXFRBr(H99Z{Uf{b%PV0m<vT0xjZ2Tvnq#NU$`NoL_@Sx@Obd6O7U2qJ`f0
z_XNt-{lKG^@Nj$fw`{M3VGBbAB?I~wsGMIRf%LN}C--FcNi~@Nus-6~jZ_JURU$>v
z>s@gl%BH5ShsOhK0LO-%L%rX>HuR@6U?<4-K#=3PU;96SQT_qI?LOsc5MzVMb)oR<
zjT}p01ayHpawkrsh8A^+x_^KiauQd{PJPG268{6T%yMDWp@;XF0B_zbxWpB}PVva@
z@>?BFF_YnHrvW-%FBgP7C~uTo{W3$+;|&Xf8PLFJz4`vGBx$%OEoX}Tk|Y5hBP65(
zxzPWCh~I<dTR={$Mso*I;0NX!qy^P90yspPt2)+zlYnG3g6H{COa&tDX5y0NckGsE
zHYDoOzG1nZ1Rx5<!bCtHgB1}RNNoT8vHN3c#lOFpf&aw4$)Y+(E_lf?0A$-FXgR*P
z1{s1LU?wIQJ0hdnk^DGjUJte16|KRxu+XQf?r`@0H{t+(Tc(}QlNsacb3I7B=JKa!
z{}6`NPiA=rD{N#QL2y?tROxMQ&MM1D!cE0rL|y)qZsf+_KLhX|d^qgf(&R7l)Vv(z
z_fWqK!=MLxDSWYi91)*AXD`dW^}Uk+(*gjj`)1$+KnZ+QIg$^|09tr-t*A^MQ}q5(
zn4Yox0GG^tioz>)!iaphuP=h$Gf@~NC$b@(xGRf|!xT6Xdc-hX*IUt}n@wO9%>@*|
z$Z>8^wa)`ZX{hW}71ujBudf4I;GemA_U%0_`T#(jWm7Kp-xlB80rBYYWq|LhfaQJ`
zX<Z9qi2CWL>_JmShiE4e7D3fY!(4fV?$}YtAL%B=Q-JVMM6%KcqmVp2`eHO$(gVob
z<|(J;q=$Z|K8d8%gFC44BqNo5kxmp50Vlb^lwjXH$q%@aW6Fr|>k$kD>@UR&XvH4I
zV3%9hZ`oa}YFs#mVFpTpJRsw)N99DUyeT^+3e=DJoVv3wauJ(}bDkMR?DjBXve<+?
zq^Hw2dIjP}ej|t`-cq(Ykv?&6BAvG%V6k!$vrD4A@^Wi{+klXqko@h0K7FDtG1rh5
zEQ1)}T<PkYw^Z`O^V8kU6nF>(EwIWW$?IYsx@lP;PlJ(GBQU&Dn7=mzGFo9GhO--7
z&*y<rpa%Ya+8OwO^IM^R_x@Bp?g78SXMT_7lY(lHDF0|`%u(*Xtux`=tD`ViZQBNX
z-2k{?Jw<zwpiTfV*iHYwz|+mdGXw6Q$K$4m|7qN&2v&un!kkJK_<bv$Ss_NOckn>m
z_9&J}1e$_{EoD*$ma_VjV434UVR%>wsH$z~fsINDkgLu^v+YmPxI*XKN@M<4$G<Sm
z(@v>~Pb^jd*pqpq_h)k(c3+o>DgFsecMu#z=@ww-2M~lpNOh=lb&iFk%-T1MIlkBU
zJS1c}|JJwuYo@YF*8VlvkjQ<sAFveeG*SL&8HdPn6U2a))B0P)L%3$ZiU?nG8d-AV
z{w=wFkzSWXv+ky2iW9<{NND?Y=pPdhr^(07I`BP>JomMl1DvuK|BEysy<7xZan%|7
zFfzK=@0HRw+XD$;t(U0DNqbHB0>qJq!)#5Yf9&jy?{5{J!x}FuGwt<{kO1S-hF>rf
zs%dJ4?-{)fcg6Ti&rQ~Gn?YEF#2{p^j*sWyTcd+FVPf)Nx(T|1axLUfKy0Wpc^HX!
zF<~9ja=MS$>ENXskGp(h4Fmhs8;|&XRIU|tDBAJkSe_AUe?X4d$;2a&6bKs`^+x5Z
z%U|2_4FH!|9!zmZtMJ<@gf-}y5E1)H005cB2hESq6gxcjaZlhTueca7u=1jk_uvt*
zHt#Ts4&gB{ZDb?J78V(TyUDGKLD6;XAk6-LmTJ5yy&MX}KH1{IK(IDlZhUwFXv;2M
zZ#KXc=-?24*m~T)@q)-vL2NE8-S3FH=W|-j(JY$bO81E#Xr6tKZ;)dk47X#CV-=Nh
zGfT>0?1m8kWacW+K1Xf@T<AmEp4ea0KqhD`I26-FLh^x`JGJ0-TVPamKIEme4U5Er
zT(#H9X7CD`l(mMa3DR9@A+OeWnT&$PlJy<!I_D#6I1gvA@)x0W|B8zW#NrfbHNF%^
z?LYF(I<$(MT%RVgN0-2za7pttLcsw`AyZ(&1wi|hW)&`RMz|rEk3k==Lswu0GJ(<E
z-_Qx8`?~8+t6<a{&oH>Y^F#Cze0Uz1`HQNhQuG*3B12>LGb>yASIbLss4M(w<4d<;
zApR(5oT2V$zZC2Qr4B-S+hB6L!CMA69@GqiuHch#dWO8&bL@htCUA%AN0;iV13!?N
zc%r;bFgyo;CS~i6<cK0GZ{{;LQ(`P<Wxo|*JP<<t5bnAmpOl=C2y@wmcy$u;1~M3D
z{}xTvk?XRU+4>Btti1++EkB4cI1qIWw9B5tQZkoo#m@47jCAv3RIr~4S<wlm>cfY#
zjC%c$zMR#~WWNcCp^XoRCa!$DGkf>%?zy);SvhG-!2)L%BZ<137ixImxh&2MM}<FV
zbia5?2G~ebl@I?Pp-s$wh8Pb+LD>r<R<B%UP36TEO?5`<t*$~4mtmj#7d252xBE@y
zC9soZVZI;DkZcTU2$XuUm$cajzZAM(iCNBP9WdV62+R9C<6MUOYbI}kfd>7iBQ2SU
z<%P~`pc=0azDrY;^F&fr5qrTSz>z$>Z+Wb=8wnqUIrfngo@I31NsB@lHZ?Fyg?<eJ
z`xw#TRWpaN-lLvI_h}~x;a&B)+mLzd3F9ZX5|&}vtRvfyv(<IjVa8D)LNbvXwguO7
zeJkF`3__G!JQLq;F^n)J5pS5$nMw&BjI8))0H-hD-Wbl{LSW0F^ri_7falTa)6JGK
zmdT?}z%8B-i-|^pRgNBU;-aRWJ>sgJSUap^UQF?T`s|U(;m?WZOens3kAjvzsow7A
z^-}5v((}npC;0^KDGY0<2W)>HlkE{xK5tGlqv4Yk2f@z;bf5DUW#R3#oQ^KAVk-r}
z_G0B5+;k}|Cv9=Frg)QuaOB>D&?6#P>tal(Q_0MmupVu^N3>rf&KKeU+JBbVlPMv<
zl^cM1iSvQ&y=w8`GZTp1;p*msr<sh>_rfSmRj64<b1bjW5MwR<Q1H&)gAqd*Wu)$`
z3Cwe2DvVJG0R<r&4Z!kkKYOR;AnHum&rIg&YcOUdfid)qdA~4lrR5{scm08%woG-b
z`nqkJ;6mUr>FecuoTQwzBS*@OB{5qZgi<#p>T8A?ex3TZ8c~_k2o{Esd!edYxQ}q3
z<wA?71RC*<Jc6NjE>wFSCH-k1)?t1ti)<XOy!n>yXrI<q-KQVFzSTQiB}wxyJqSwO
zWb>TM7TV~}L^ju&q*7ZF<-rBHF53HppB9Zb57%VkF<fQ2gUD>(``4!rf-$Ox+>ulQ
zsD%ERKcPOUu=60fACWE~CnvuB(Q})%8B970t3A2e)}P*>bDSVHh5|NG`z!dC!3A)9
zJpgReY&5GWmKneyX7Eympenr9Suhfo(a%hCBt*>{bEf$Iz^-8B%m^?(9gG!7+1>ch
z4++NL2nf_y!VNUE3LYT#Kg|io^7oib4Mv7*unu{2F)JR0>c_0x*-V^l8I%cBT;7)!
z4!Qlhil3RG5^3`U^3ccXM?E|jt+Gi=ko3|E<xcDgT`7iWcJWSUo0s(u7h(7VFm&-s
zGkbC}EM}h>xq+Zm{R1+Fg{4H~gjkaMh27Ce>Nvvb34pz>xYDDsYQNlJg^!m{tpkH-
zc(X(N+8ES07ciU2?GK<V$Ev~#_Lgw^R?L5&Bl;neHQt!=rr%`dW}$KttC%RpR+at{
zxc-o+Y6L#L*pv>638i{Gl-t~f?zdS`=-&rrUBZz{F<F^gT;z1cm1FUl8dPukGDL@W
zM?J6cf8P5S_yIs5&&q;1VN@UpYkt>Mvk!O8Yw}m><2GAbtOP|4+%%@>GaNWAG==u3
ze{`HoIX+i<p8~bjS(>nFNPkFU$;!cro4RMAP>94u0JF>&x{ww*HuRX0+z+`2Q3zma
z&LQ=-${#@dH2q0m#KSQ`)9^wGEU_w3M8@kWyOprH>cA`P9+Q`H)sV8Har(-Ko9b|Z
zj;{gd>@ngk0=y2cdnv+lUG%4CNLHwW^SkigkdSQoveWUWpR6_`)JddZJ$t%Zm^0Q7
zRjoMTtCe1HuRckA0W&nXmvo4Uy;u3a(4JP#<J|{fJDTnpAiked%AxH}Uj6dILEt{v
zvOmmxv`NpIN~&Bl;fX-1YM4!Z^pWv|;HGzphhMINF75pS*j!`VyA9vsM!+&YfDjK(
z1TP(QdeCoxmNzXd*gVto_F?%B67LP9HIu#*bs_SXKDDL~3wZc?mqpWm1@^baocteE
z1a&{hQ6`9u^TtcrH^{<+-Z*a9a{0$}W(}FCCM5GpBnE0_X%7IWA43AZ&C9+xSrOfl
zkY~i2n;fjcYTfdJFO-6i@q85Ryz07Htgo`$pr?@{S7ltpprrFbj}KxQMvlUU9CxIu
zO41#^O9mYht(~e;yf7s8G`!G?55C9D>bv)HqUNtVk`H`n_WMGCTDB^+!{XZi>5Et}
z2%jxB_%8rij5YmOPw84Gwg5!wnbYkekvAZrSO;ITuD^D0gUBf#!Bk_^&xXJ02F4|?
z^ujY9>fSo&2~JL>!Dhd+%c*-?U;aK0<}<fs`#3I>ES4C~jicZ+w5fHN#1ic&f_OG|
z_5c*S>}ru1o-KfimWDVfc90NRBv$Ii+Ce1<@ZF8h;OjsCUikcJl=QLSW5JKPAKwZH
z=gyrgmrx0O_;jv}ckd#NH|xP2pkEvb2`w23?@hMMf6ta8{wi)1Y9XR-3ZFOLH2?eu
zaAg-!fEixYUa7018@@$@+=b?#V;4VAz7*hVF2Zjnk3h+qSM-Z?Tt@5NvsT)`^lBWp
z|4>ntV<STZn;`bvj!cYi_C{)5zC*oR0^;vwR5LB81A!a?a(s@2IFyVbpMPic_ALqT
z1B5hg@za-?pE5;&lxtw;F^9Z@iTzZ8T3CyT&<^~x#q5!hw?ZMY9%1BVQDtMO1<VQP
zcTIa0-1aRkN6?t-&)|NKES!&FA$kJvtHVCausj7mVD9Wg2~}<Wf1kj2<X(%_QM7I{
zmn#zL`jjhGJB6xFUSCS;+Wi+F-s>l4Lj+k2Bi5$bxzs}-^&0Z`jrNkaRU;8#cgqb&
zAWOv-7Fz7<Pzwbc)<-+GhE|X7iIh_A>n&sOZ8l|DNmC?Lxw4MdBtY!sVKsR41SA;<
z3GPfo(BKfZP99i!u5gOK`@oemuyP-#bi)$f))UTHEv4QSasuXtm}2igHiiM;=50eZ
z7a@&4%Qt>)FS$`jyAL^;Y{H^^Chl&|bsbHQjrn02IT~xdj41U$O3xtj;b{lMtj+H0
zOv0&E7Rv)(@^cOB6;1MJ#0wZtdo*al_MW9WnlEg_0#bBjdDZO&(b4KZvHIgXHCM%c
zlwZSzfVibnc@nn7b4Whf@(g>wjC1QqOAYdn(<#~+4B+CUDWx#C9|$etiB_jW0j5ar
zQx2Jwdu;g?NU?j9G3r+A30f`_&3-|+@ELWWnz0W5Exw#%yI->T6RZoxmzC=N2p@6*
zV!q@RVH`@6{{~vy<7*138WYzJ1&#Nq+bKN9j!e*I-WL3M0b$~sD1Nm1(qh%|R{$$c
z(%@%Jz?O=mOjC;Z2@oqmR2cVqlpEAHKCj~uqI_)5mKxW-@CeQtw5w;OTpqL99IKN@
zbYkmpFcPg^Hkg<7^z~B|2%tbUlHIUW@m!NX2tJ>zMl14>`rU0sNEg!m(E#y@M8b`|
zYwI9~%sy(}&F5I`)|1FCk@)dOqfI1csQmQHTNgkywRs6nSXwFa{~oV<r?qH}&=GJj
zd_TD-du?llg*)weSNoYQ;L4d7{}eRANuNTF^+*y<;!sg84pkDRKK9{82_c}5tMBfO
zJ<pF?$T=11(9C@Nf%Irp0F9@xr@J`TxZdW>`BhilEw-Uc8GVo>2ZiSN<DkW{n5DC0
zd>(=X&5BsYEGiVj*FcDtpxrQ|fR5)hN@y(<<5juJejVUtyG!R8e%`tq-ke|Sk_E32
zmM@~A>Tjpe{d5ZfS?{r<M(0xv7Q<=wW1Nsv@`YPUvs}Ev_hGTVS97Yv7ZXpx#AO(=
z<EYcPr#d)DI6jF?V>Oi58UlfgDtl18f@uZ36jDN_Z831RJuZ2R^1*LenL(68?op%Y
za4aSc-bml$WmW^&5C9mM{95`bC5HeAtn5Z%VU?nm4_R>;glL!}FDumd;PZM96Pzqu
z;QmC@+q&t7R9eZ8Vwet{7{Z?31<juRraH?|DA7H2XA@Wv#^yB{pWj1w;S=SK@^G&3
z|N8@RT*$5u8d#=|-U^n=m(Y9k4FDCd&1tL8Hmq<(@6o2&?E8^Rt7HG~(xg#HXU`Mb
z2v?wd_4Wxe@WZwr-2}uA0c5|DrcoD4n5ZRFd%gVOtzl#r;74on^UDjN^^dS{BO!lT
zpd+}!RMr^Khcv+uQB}a-Kfm-oR39mi5AS92j0r}5(UT&AgwC@i>3uqdPz!nh_Cy{D
z{7P4jM{iz(L;i;oldz|oxGZOUbeBv;`Xci_mXNFBc0l(TCrU?M-Axy#Zp}J_J^#7w
z*(kK!Olq8;9pOjRdwC4TWdr+ajtUYOQ|jz{k*l1dX8rHt@F+=hB;5chwDL~dI2|KJ
z>7TE8@*FxGth1o#HT;fA|F{VK3Cb=MZ?n+mfnR$lRKOe!cY}@E?U=>>h)ZqTJw08`
zP$+v%dWa&iol|=zv+2nDTFTB9k<L#D8OgYR=pV$aU!um*WyIgc?2Nueg--C#hw!~a
z7U0IdFcis1P=^7aF{DbcAD4*zA!OYHs0Hs>W?l}h`3vb*;cm-Fp4xh1zRcHXb%5ED
z(t7N`TY~Oa1H_7yAJRp!y?A26wGY(<+UcIp9c&x?Z{6s~9iYHG2eo>S|Ea(c*EkZQ
z-t$6oMAo<0zx`_)7RcVY{LWw&B;7~Be}+8iH~(DkO%<4h3BoZ1cjG#BkPX#((2tCZ
z&2!5+s)95CRSjG-NHvm9Ee(|X%fP}y;H(&@?joHe3Y2BW^B=0b_lT58R|W>b55)!<
zZ+>o>%Noj`g<9KaVr!j5lg7PWSW<7GH3{p2EVN}T_{ll=TcwNSm;77h!hGl)8cHTo
znuMGvw2o2N#KQHaCLHPTQ3DmZf~~>{{i}-zmIvkuRcMfsq_UWJAlYBB^s0$kra`81
zu!*@VuEDZsLaGrb)1vi&wPOs~Nmc27V-3Djn#vN|y`uUr;kI7t3orDQr`5n^QTU0A
zYcnq^bUa-8Lt(ETn?-iGgxuP-iGbIm2YZmimI-_G^F@TK!C3@s6u*%Rtzw)aB<eJp
zdluz_^7pOIS%2xQiVju2A#h)$Th9fF7`N*oSh5^Op>w||6}-;nZ~Ij4E`U9N5+qD_
zI92T(M%g&}#V}jGy0<O$ctX%NF<zb6$D}Zic2a`%Yq9L(k%~%7I^K?Hr1fpUtguCz
zmLO5TjnwJMy;$v8`z}ZEQh^;nbTrGf@Fd)vpxM3zc%S6{_daP-p>`my<`^6#gX&K>
zYd(wF5WU|As0&BU`-Y#)uWwD!Uu<J~@>S9>Ly_^PEryK)-jA4Wn?{?P?Eoo}u-&o=
z%QPHfiy)_SZ;9eO56ve6$)oV#ep_Pxm08jQP;LGLS0!=EAcWSs4qK!{0L^geuIccJ
z=eAn4w)-xUBIfDD2c-d*TCcF}1%1ROZ&y-83})W}t`>lgjJs%Pvh9IuU?yKCvKPs{
zv3E=Dp|41Uz5B)HTZS)!r^k^<C4?E8SHB1iN=0a)Hr!=ZbOV+Q;cICe_Q&Vv&rP_a
zpE8#*_xUBy^w+z;^lHxqy5T5-6}C<>TSC%(PSPKaXB%q+2c^WM!>N*rxvOd1rv)~i
zFYEmG21ZeNQkrc}zi^UKy1()KA-TW(FxO)fgI0_RRHYw8vZ4+qV6l+Gj3o(FVNpLI
zGt`Za_cH1%&ZXptpB!Q3cef*VFfeep$+~w{;h$7V(7Dm&ZNWUI%`p(k&v|g?)j)I*
zU}nxg?F;Tamnt$uPwEhC1sVUQcAC0ubLT-Iq-07{1UTUIbOe64V|0Ix1858J$$JyX
zQ{f@u8{w7U0XZqjt#RA2QXa_?<jmj7(egJY$#?fq+CS&Fg|jas;!vZ@>dtQzzh$9t
zT{%$8dMkf|&+VlP>spJUwUX0;g{R?vmmNX%YaY&rqn`pC8qTLBn`WPvNg#9+R$z^n
zc#Fedw5_y>pVtXGj9mN-a`89+U3{8bkIeI3V%5P~L;gudO*-6eMHH%!Dgq}=;6LR5
zgk<#qwVnDenMq{-2d7{shZzJBl)xf+7!2_hj010i)y^3s?BUN^j^^}PqQHaEwNp2v
z7z>=j?&fg6geis8Ha3|wg$lQ%kLco8;8(3>(WqUsg#wgWT4`e-jT?;%jNbp#;uk#K
z)<b9FdXratlPH*!OhY^k_4HxfJe|ZbxO*<l;iC(X9mRS{Z>U8ld~(J%jHOa#eNqR@
z5YZq6o7Eyu;p#*72<>!k_|w?~BYps2wo_yj1?P$TXlS<Kexul0xYJr3j2Z~^_{Uh|
zMdvJTTMM+*KNrjV?>iFlVi9_NPM*M);T{dIS%X7T<$HZ3_zSqp7aujHHo5^zxT3Iz
zBu9vJqvPP!){1NQMJEXvLxt%w5HCRBH*_?&YI|XczIgM@jX#a0&kw*pHT7S8v2mE%
z@q4pPT|^c+ipnP*`yI1dT1$*x(dB;uIXCMeCmvW!p(wQU_)2DBO?Axf0eFYs(FvrQ
zqFD?)WD%oF74wb~lr~=!o_C0o*#bHuX+KB_Ns@5*Jc9>$eK-F8J~MuRXnkCfb=plm
z^0)w=-dYF=7-P226-W9NfuaI5M&|Jm)M*_>-I)=+0uOW_Sm}CTPiOD^h5g+>!m<O)
z$#%_GfbgB*BWn7ur}b6aV=FWOOPX4qC_T3=K*f;k&=*ck<Mlz@Km{|IuCFUya8Bib
zZ`i`8XHNq!k_D+A_fgKBR#7#%RDm3h8{Y^kaA~&tPUwkf@()0bpufIwalum;dFQOT
zyxyI;`a>iy=$P26cM&(Q4!QLpbCmlDtP`vqv}a+SC!yz2JNX-UbOQ*Y=cS9ZiDc4~
zfN%EeKMHFxqv!A6q(Ha$><bpQN~PMl_99fknO!$HNIUTsvvR9lYi4Ex=B@41UdoII
zio3H>qaL4^XMiUOykz=&iCK`adspbE>_JrOL&O|5pe>ScfLd}}UoP&aP<2YGu`QbA
zC4*u&AZNweUX{5gQ7x6CHAI)#{n~5!X6)2m0ur$L60rQgJF(6aJciSkBy|*JA7@o*
zRgx3T!z9T#5@0QK=j?vc%fvC@w!{CZ4>)BPF#cI)3ako$(C>ixbBMW^5v}z`K8mVv
zD~wfw<}ouzcyp?Y<{j}@hlIKIb!A3Weg}5!6;P#nQCV<EHFr$<M5c!FDW)M*VUHkJ
zzbHG|4+m`{K;nYHqz7(C24Z}KY=b77G%3tP;!${5D%@jx;c^fBce%9}(1@-&0JcT@
z?AV>3^EP1-hHPxq1)L`#bL@!%KcP07BK&pV818fdEA<Cz@*9314vxFF2`pyDg6MaN
zQ1ea@YA7zAe@@@tY*yOPV=?l0vpxFg+&I0`hkd5{gNX)`yqDiSq?01>OCcd)MrsSd
zUfX2hpxM0vtzP?ix`|Vfk&R@4gjsMbPs1A6L}qYfcvt117^>=V7kdz?N<?IR2l#XF
z@0z?Fc(1W?W*WN+>UYec!swnq+;3T%E|@8gME{8BI*zAu6kqFhiXN(f$i7D$0=9mW
z>rAAnN{#mTfyk#>LHb5UmoG=F7m~MA^9<^*ZwV68kDZxY{3}4UnwZeKPrvo^_1~kR
zE8-9H1>;rJseW}rlhpnfEgF@-{RF1+D&Oz4Ok(*zaG>eRhOW$h$?d0()5a7dhlVHT
z?kps-2$)~MOhBC)q@RE%Ocd9qz4%BId~-lyTyn_q51f=^)z7(Y^x7PU<B2^uCnSEJ
ziV<_g^@`hAMfS-=(^&JsRMh&(g@lBu3BC9)Y2wMjz*(d-V#cJx=~1=ZN5?(|6&@RR
z>fd?c-C?vowTS{9Dy&|kNB#@Iw^koU%_W4jJ;}Jf)aUkP4B~@gj47B&kN(_qtJB?C
zUXf(})1h}x1bXdO+zA>JpXDpR@?XhPjwi6C9O3(DRq<AEa@sPBjf9iZE|>B_PA7Mf
z(z?#l;3T#^tb^7U|4hLrvN#35nMyv4_Ids%=;AiL!7W-rxpLuEq3}>~>&%0OSb%DC
zaFdl2E<EaNm9eWQvxvOEqS4^?^wu|J@;+*#?Y!;sSKr(`Uj~J<{`D%O@79Kj`Mn$6
zuRwT*PM|`Z`J->D8+OVI{m3ZV%hp56>6_SpwfzR{0Mb~k_?!EA<>hlG<>TBx!qK%-
zIbZlXdPM9jwLYDcBreMH*_UOfme3W%@)hDl?&<7j>tMXibQDc9px3(@``%=BpW-KB
zhK^BWa?U7Y$138<aq)vq8n+<f!UK(#6XKZT@=?v{@N~#u6rX<x8xX6sypW2ufi!aL
ziB&rkD0<h`^rW1HOcVC^H*n}Zda$N(PX>|&%LJs;ifb{^??s8K8W(C^R!-k#OuGHK
z@j3WvceQ^s{+|{=VV$Y2K0Z$8jZb9gIY#LRqnLea6_P(s$o2Z33;e)(`dQ6f=$uA=
zH=VZe>~F8T77yxQOT3)coRHJskLo#>e#md)@9u|Ew_m1ivAxM|7i+H`Mk+klG|ML=
zP*dahpahz#Te~OhG2UT9%ezx<+$=YYH#HMLzl@jl_?X{MuZZ%(mP??C_}{EwbmKop
z87NbW8VE=+q=avXt5}yf`maoOC?xS(n-*VuEi8?}<{E+1PIZ2>5gul%tvt42W?}+v
z_x6Y<=|+N3mQgPy!@w7t5lsn6hv*b}EjQh@25Z&o{jeUEN99(FA3<59bEBiBW~?Fw
z35n&o_jrZ2E;VJmf##Fi<wG5jlGR=LS6d3(UCk7g?$z9KX}L2{%zJ9NJi5{>Y-gjc
z8-s2EnagMhlWUZs&FLHB*JZ+vblctZFh>9E8B5q$a8q??yLKfe(do@Hzw6W|8&S;F
zqpC8dQZTJ5SNA{ODa31F%t)-4NL$LvCT_ExD=0dzgZy-28~TA;&`V?b`%UbpYH~Uy
zyjN_-B)vCz>$)_$p5opzVBo6I!6?{#FPyFS=+rA+`&w@C=-QkExxU{7H8><~&6mi7
zB@2`VR?#P;`uo)a<Tx>SB_bJ<$4$f1HNzl7-b%N6xKTFk74!C?@PHp%SWKnMAYFvU
zCd-nBh5-96$gIsf`UMl4jH+%KOWcA&BnMHLOvpY7R`UPSPIKUB>LC`$DJBWXcbN@X
z)f7RWM0Y5@ysa1h8;;KsxzFXE2JhnPuS{-aFr!7UKS8q$kbLO-k}L&2%)Yvl_rCI}
zd_a(C_$b#<h0W^+yGS^~#S<b4ZO%Iz&wo@TsJV`Id9eNpx6F#!$2sODf@DQTZ28wu
z#quH(`@#jC{Cx&Lar}F9zwp0M!J^oDw~UBX+TesUuzf=zkgZ#;7^7KO=tigZ8WzA)
z=zP8>DxJ{Q+2`c`zxIvpCt5pl%b?jFog&uC8qz~6ug|7(O22^tAAT2AsS^3{PRB1&
z1l=f?OV6UIs!><~e^~#SCnaV*#&^{|rgOFCBeH<3)^^MAU+J9!vaX%ziwrbRIzmOU
zJgq^nadsZ7&Ry5!_nv=#tz8M`#onuyMgxfzk{k~zs$0qjzOy~X{!J<zwe@8`(O!G$
ztPFmWR)mnKgl#;%0~b+x^_Gr@)lCaEkzP#u1J|Ka3y*1X!i@Asm=nG<J(+jxq6ZI9
z_08Uw$r$y-K*HtiJ0URNdUOz9W#1@|_?|!VV~y^!Y42Dy+erq7MUuY{*WA4VvXp*x
z6~wL#JKn`pyhe#BRHJ7xO^JE=8Av=J-5K^Wi{0&BFAF!_B_(|plHWT6Q4-R47^*q*
z`P1M0Muq#lKtx9Z5f;?198l7tI~xBHnbdtZ3;{^(XyY^lgc1kcpYFZ=1qUIy`aKus
zWF3h(bvPkCsruEqPbN8VA&t43hn+o|G8vI%<w113**2GcTj&jhEhdFa68t5g6Mp`>
zFr3uI2~+r+0;s{mM?YKhH=nN!YD~S-eka6#t}lVE(=(PZ6Letlyo2;L?{^P7&*qP6
zivJjd5`zd$z2y3aG6WkeA{PV|_B2fehXlWD;GC7wg%!=(ccDmx2Xwh58;Hm%@3WGj
z?ScF#v7Bpg;>q^@wEY~8;~(sA9$i8t5(~Un<!i&>-^_x}KpqAll3XMW#wCRCnS7Lb
zUmADMgPVF6AkpOl?ZZ^i*ECS9P28X%d+dqhFk?jJzem!d^e){2fopF-^kw}4eL#dS
zXM$DWsBnxPl^~6gqyoL0yKiR{Bk?R8GbOHx3ZB>4VWW=6S*5v!O)Iv09**2Y@=!hQ
z-&9DXVn2;LhH`sIBz!42>~>*#R3L#K+3fwySV$4<C^u>U4qDC}Fwyq3y*T}zmT7sc
zu|jFFVNkLzqB}CF@3hyzOJPDS7s6$&difISJs!K@dN`fl4C_v0pQ*GLoKL1_XD7>d
z-86EGr6)K>I+Zez?hRFnlwxtr3>oc!MaX;~1hF<FG3TMFEO<fVy%l}L0ky663Fu>Q
zMtAkWhIGjXW|(tUHVqex&2*wp)WoJ2n<2tBq&>g5B}-}p{KPs>1>=h-s(=~E+o8~<
z-}$wC*i6szQ+aRlJAT4Q^xcr@1dqMlZMt8l^fldJur>?))yCzz34V4JpAICZ80q&b
z!Qpo?7@-eCRH`D<HW|p(J%mmSs&;9<;WDG1U!5e~((9}>d4|&rZFD@cIYVg<9{oo@
zam81Wa2kj@Zsd5H=T)EZOge+YudgEaq1W(5SVy<hO9cXa*_x^(N&ghp&78n45e44S
z(%R0bW&s+$*XX%zxJ(l$m=Jia<kX*Dp%g1FW$iskA7cLP*JHK~83?>R(ewK>4}XT?
zFEVoC{dJQ@Sf5LF8k<u0TN>VWm;1t+{1?z$9Wj{=s+6xDEY^fQn_GpEwR^V3PvUU+
z2?wt_oxRK-iID>BC|b*?3{Oz+<oN&Qa6G+ZCCeV)K>YlZ;iWK<$S?T@+JO}P7d8Ei
zNmSQ&$-gy5sOrR1**KAg^O}aDK^FHCU+;s19n6i;#P)!Url60rj>cQkgYP4mccEWe
zz|Nx=j+FZzF!YJ-G7UbDvg?T8=xm{RH;qWdswGJ%@fB##kE@-Y@nE@3>Z^>~Y<_(<
z>;wRF85fZPI!k!Qx&HExcmAKX^wrO!zr?7w)%JaR<P{bxdv7`OXToyb(RJ@TnMwtb
z>D=49wN};`HdF*$H%ucQ>VVm>R-2CLc(UpNqk2#MU7hf_P0$T_!FJ|?X=S|E(HC<-
zFl^10V{JaFW`|sqHAn`OTZbb!b+?%fOP;Ay8S$9jN;y6q?_Ztdd|8_I4oq2O?uwi6
zkTjTt_4fN0M!cl!2&yv;uk?-9!IS(z$6)u8rc#z)s`mJC7!ycxPgd{K@~G`W@;tm#
zCJV?bT{ka7Z=EA(g8Kj0*qg^g*|y>1jKSE)PL#2)5tDsstRay#B%v`Pgm|PVW67?u
zgh8n6DSM&KmIzrwl*%5d9$Q)3e&_9Z-{<}Q{`r2s{nf|ko|*f;uIs+8^E}SuI8N`|
zaw^dwEML!bL&ogcJ+>In^pzhgr>KV$3a+!&SJMbRp&+wJ_qx{qSuWiX`$->_=av(C
z5j*4e1G0hQ+2L1MJ4Fb1-R384x{Dp|f?0t2)@3PS_<E}v!}-z#^#)RR98UjJ)#7yZ
zj8BD9&e`QtJ#=(pba>;0KbU|wsGIseogrgR&!@Cnmn`zdA`-cO<u-oF)2nTYb%84S
z6}I0qIrt;#ajoD;>%HrZ3uL>um#(Yi^Mta$y8pYE@m+D6U{h|*wkzN-A)2D4;>s#m
zFZZ?|eQdf}tcu)XwfCLx`+A=|hGTO8hf<+lF;=Sncdf6_CNs>)EyNzKb$AJ{mv~)u
zyZO7an^pa=<55BbK?B#v=yW1LnH(^!w8{3~P@(1tA>ZCSho-2l)^M>Y=Nv^7z5gmr
zn~#DisVV4!gN6-#I(;^GA%r^v^|zml3jDJSVvY+6gjn{k-02LaFvdw}Vkk!n;tnm`
zP+)eUbT*mbA`)4)&%F6&Rv15i?ao_RmFM{T(&xllWu<?AQMj+vJjeB_NI!axUCLe8
z3Yq*Rvpv+d@%%hSMt(<6tag+D*7y4jV!B{)_{Rs?OIffW3hQrj7?P$)26780{F_S*
zPBz?7q6R{Ce%<Npw591&PE(;L9db%}bB3fQ3#HDHCg@PmTPfcCi`z=a{g0Q0@SOe`
zbS=`riOpe8e0OsAWhXg#G;<_jH^^w09|97BJJKn89iYUwjJGAiFqHHAURgysJchkR
zO~b(j=8$E3@y$2m!ft1SV_F+~)_u%^IB_=){@z3gta;Ub58kOYN1HhgAk*h{G2N6j
z)nztij^;wirxYbI6?z@9O8mCliE6(F)BB~EXoV^s1Qf-4bjAneh0R!KM3Hj@J5yW5
z&~2#b5JuUYz*WMUDBkgW%hWA|^Q4=MV7k7#6kf$aydN|g(^D%i6Bma|0<6Npg2MMh
z*!@u`z}=tL^LiXJnpoe5>DtFhO&h2-^Nb~sIZfYoSP)G#V%yJA;?T0}tL~W+{Iq?m
ztNPEXGmcI{n^)J3Hq*jH_OP}+8~TMc0_UHMBc6P!DOnO6v}#t0LSsPCJRALEdRRuj
zb*9e~Ds<aLxkf5<uUYvYw5O;pdZe3?C~PmB_z6b&&|r4~;`94_f=y0Mk%d@6>>f;8
zRv?>r(;^fVd=EwUwcafT{>1kyC@(Htf!j^=PJdkA)L@C%KmjyWe~Htd%%!g*-!BMT
z5WI9?9jYXb>Cvq68PZnwUl+YXe4+#Wr5ykM2HpKGXPeEr1tzPq7<^6!i&!C-58X8}
zCCr;r3P)kbTJN=X62;P?s2unbQi?m5j&J&z!Q#ppQmRtDL^GyF6L)tHZDj!%dcP{S
zzI}_sWXCSJn`NwsV<)D19V#}&=iL>1+U8wy+oIT9cn>Gi2%*)E<}-_L6|T3xxynOH
zZ%5!l^)53Bya3y#!N;hyC69DJ!@oToSN1;DWv{7mAdHU~s#xY8?D_3*gCK!^XM+={
zamGdOG03&^2%*2LWBN2Xgk-ObuaOWnu~iezkv_{b+#>$dDsdbr#o4@ZZcbpRz3cJ+
z?lpEy&(VLXi?5GlFv&KP+*C_UWeMd&<t6sX{CsS>A4A?FO1U3LRlv7bu#}P~Tf=0K
z@L^ifMplV)iuSSZgvvwA)SN`Bt?yDscBS=Q%k3ho)V|h>tm|irq3`-wA2mZG;VGu3
z&8>c3g`r6^m}mlUtcBjv{I9(ge{_!^Z>yl0990>>AR#MEPq6Yd-s>45au6cRH!ZiY
z;;54t=C6AlTRCYmHF&Xnogadtc(2#D1XMUhX9;AAbMKoN!PdpP1?qpk2W*))$<h?A
zuX{|rT^R3(;cM!OPNm9Bhs78tJS?o~a=%MQ+p#5Vtv~e=mdvDcKvV6j>ag{Ni9Tt4
zRIFC*NMzIDnu9lg7v=Q;f<?URhK>IQXXgBES7W6+G)2a7E^K_<|Jkr!-J9x><`A)9
zmh3T%%)orS^hu4yNG`5et`t^$!e7&G){YiB#)x676`%t)t0|i$)2dK*=e5?EXGwRh
zv?Q)-?~iQ=SQ4WiP7{1qShjmqYg7<T^iH#8A>Hh&lIRup3i;OPj}aa<6%j5YUh$gm
z?9Ix|OF60@o&1aP>3c=pa==+pdihOGek<{M9jblJ&zVcz=`Ugg1e#`T*pI((3E}fl
zcvcSZjPfxDp;}R#dd7IsW{dlS?O^?4w-)8M;x!qaSJ3g+<U<N+P49%enw=<m+tv8%
z-v*CIcyRYI?MZURuvreSd;=5siqn8|9=gOFSJ4okGV=+C?m|3mPU*&B5P0$njnras
za!j||EFs_!JkbrI*SUbjHA%<z;Ye7CdI?u_yllIETD6TVb^2`CsFEm!17)=ANp54w
z;x=itGtLs6CXM;&B@j~tAFP{681v~%oE$6<XsocS#R_N!6(997@ehunan1?+0H#E>
z1>xp}i6yi{_h%pKX+pf3yHQ&#O62ZOVr%5S%-H1E%>R2jeG!ZB%<p<XxTLu$;*5JI
zM_PDvfQf@)3-F|O!gD7wx|8QJ1h-!{zbNA-=Mzn|rU%Q9@IpXcqE$aCl>Iim&S@&9
z{l>*QH{+T?gh&=qYewmeqY<RVNodl}qxZVsUa&lrFt&HIr))!3?^pMO`Qjz+EWwFR
zCkCRpn#{F3*TvQ1Us`QM49Be5sHJ>%rgJ(7eXM_o?VW)H$=bwKqn9PrlhPX5IrYa^
zOhx>|sWZXz#-#YZc*{Jyi~$T$62Exhx7H&GgCaXD#nYsskJ$g5b27Z8A4Sf@sa|E@
z>$9Gw?Y=tT!E5WU#`rAt`LXpOsXGj6Z26b9<i!skP);1Xdt$d?Vr~F;C-bU%JuYJH
z_;YjPLOH`6WrK~?c7?pBid`o6moWrE3H7MISIZPVMR`LhHJB&Q`Sr3Rt-(9v3%<xW
ziI0S|`atl&>&LbOu2j}#NIC;WqC1((-j7Y5j?7H#Vs3BQa~e|o6H6V(Oqt0NVnriW
zX8DbaKl1(71%030cpvmhP(n>6+MY0&e*%5@+sEgA2cs9>>aVqP3Q){CRmpwbJR)i=
z!)2eA37N-BjSJh|y7r`A;;-1bFi?8qY4Oe-3yjZUnnzG-elYprg`W6PcVUAS?OR{D
zCsVU8otp51#+g<nCnYs-%V<;I-yS8eEA8clmY!<Obo{E&`lT3q)(D1HhF*6}pb~*C
zMg=O2m_&<m1SJnrRRzrL^9Fo7uWE1i-4~oX_=+0fRdAtHmrbPXMvkwSHrssWLEF}J
z05l4lG09V^dcJ(cR;pXd3t<%-vR17siQJ<f(u7i{Fu(7n8v8>Y-UkI$kJ~@i)eAR+
zIikqjKOe1y{rNNSehpRZ`uL)!QLMPa<YS?=sMbpBM2^iendceBEy(Sera!5y9z9%S
zqjGy^^pm;hloE=W=F{JkJa@ddef97^jP{+g)aj9Y`2o78I=u1w`6}9oQ93+7h@`!w
zK&-5msrBqgTb9^>lw0<&>r|X86+rfp+;bW0!YI1Xn()rJ{-_PvLcu$Z4m)=HGIAGf
z`$_ErlV56l1C%zkt3Uri%0i|64$C_&A<J3s4%bRBIcLo6d}uDSztiU9G6y5M=bd80
zk=>DGG9JTK8sVg=*7MipaOjxGP>f8TS(9u+Q2h!3lUXo^+Dk-ktiyrVf3d9LCfd9`
z?4=8uEe*XN)^QKKcru%*X6oFunG+hv+r_Oz%a$9k9tJ>7hr{*8e2zT&rB{C}$4abJ
zZM-f8X71RnzqdO{$H%qpY~Qpt;<`79{cEUW%$A}aG?95;e(V=FKvK7lwUk`^WdQ5)
z)cVc$$k7D{sc`tSNreC(umCAMbmg+<hp$r!AEEx<!G>F~LHZ%S<Q@Y4L)N<H$BhQc
zOb1DS$F5#5OYi#g>KynV_0_1o=oCD5B^cLlis6k&nU(%$UH)64l#D@WHW^FHq-l8K
zmp<=PVvX$e=9?`|^ovzQzQ1_VAtsU6{1-^@I%rSE*z7KwKS|ed5tYruKPrLv;I!kj
zGW|PKZ{*LpPUPE*?KfYk`KJkb=LM!bC`Ldv|BH=Im^fQ5^X(ego+b5d+rL@w@UTl?
zXO4^H*x|WXR&v}Nc@c+S`J~7Q0m50#Z%`D2z^?u(joYmMkDoLpUJWK-GBx1y?MG|W
z3a10i4P<xUMu{`#O?u{q?bF3J)7TaL!uD?s8|DcBwOL<uzRQ`=M`6d1xe!piiD_&B
zFKlThGmi{nCi*DT>%&X78u@l|!YI8(+opmnS6KwpHn+N?Dh9Pf;1$jQK!Q<kdlP=O
zLzbx|d|bh_Fuh22dPgRL8R$>3hOLYd%&%V!%S$2<?vi(-iG+%w77lGLj1&Q+ng;U*
zN{(dbA}A$PK;QZ{jyjNld&T}*`T7eXTDbezv9d?{L-eC2gdID-#b9?nbogLdgJp6z
zD~#~yuZENpw1ih`vwO~&AtBe~2A|LRHWboxU*6D01UA=~yS>Y9kbp$C4{48bb=eJF
z0?3~>64x=SBAmem@FY731SE%vP~D3g2at{$0Ii>^^bH%jWt>&+{jR040(6hp=UGm+
z#`PQA+^85FulSvaF)b|SwHBL-)-%>DkQkLz5#Og0{qd#|#_lQsI7MRgrbLtCfJzln
zEXWM;?bD~?`#&Oi9m1BUyGg4FNCV?KXq0lmd$Ik|&$V6>!cjn~P8Gn%YqA`x;rTTV
zn%kq`QTc_13gitz-HQ!h#MS?h=@{P(AeH-dD6~;Q2IVmE2@X_fM!X=f4pklM{`=#%
zUaZ9`PIZuOVt4G$Oxj)f3tenAoGil$lYdLtD*Y1|m6L;N4RvRUiiDj#bf~J7+dOH4
z*0(BJVhDY^GfEpf9=;EVG7A8ds3T2G5Ui$GYwg3I->>tLHe@i0^>gHhOIMe@za7z3
ziLQkvUiDSC5F0Oqov;9<5>+Hs0D_&TYYJeZnB$@wvejnR)7{t=_jTEbL|?7b)!mE{
ziF;#mv|#RBRc@dA@I<-)QSLWh+A?l2eE1E~Z$~f}B6r_U>^G7-bl)O@a7rBkND+3L
zTrdhnE1v*@h7ZmMr-oMn#mPYo6d(Tm<ZU=0eq$F=bsbLH5J4P5n6M-u*^r=Y#jr_1
zvU>sHZbShKY!jAxpu^@o{Myp%e6j($DI!o9DVj~KW{kgqYDNn9k|}Fz0p!Y~05ta@
z+QE}<iyf!0>5`T&LyFZ0v7SGYE9|y5=C;(>#WfaSCRDRsf)cio0H$QOT_R#VhOkSK
z*3#=B;CYT{a_|2{gn<4nOHwD4PVe?;hEA*`Aiy;SWbo8wa^%I9f0LaXw6CIpCC5zT
zlXwRbv0>(?-N_evl6mDFitWE0{3^W5vb>BxzhLp>0WAA8H_6^)Q#U(FgH{ft<dzp#
zu3qRnc@5kv@gP5Ym^L6KT^L>m7=p$k;)S>$M3ff+#(&GE*GZ4kjHE6AnB>)iHl>ND
zGfmVyzmNmU;c;KEqeECc^@Y}qETk$0*mOx}ynq3AJzcPYZiv=eIdI141iu8UGX6~A
z4nkj9wv3{G4r#qY*l_LX!$+EsHeX2R-~%w=RS{P}Y&`K~)|n0n15qW+tA<)3pNL4p
zz1xr$*7R#GX*gSVN5DMX?)YUGfwhh!CGv-1S214}Mz*jthj*JHlc{|IK)CoK#u#7?
ziM-4)yS)aj+`A7R4-XFfpt9!0TS<MO9JBz`v+gg{aMWM5Gp&1L^OWZ3+B7(4ya^0$
zoV8Gj%0amLT*5%<DEajp(GX_sbu=YNK>5xsA4tWI_tR}7Q1m*`4DHQG*bmWX`4wFp
zAzku8qh>(kqKZ~D#wj>BdrKavBDPT7{Aj7Ps|G*1f$o160cG$Ay<(p$!sQYKk|p)f
zl_!$cx42-ZvtG8f8!s>T$w|?h2ZC>R3Y-m@W80i?DvIB2`Fpv^n6#yZ|CEhg!R+px
z;-C6I!Y<MewPg=z_mxuTmPggqT<^p818vI}1bn1fF9Hdz{vF=dGAB@+v04`hsrjCn
z^>w>Z+ar~iY5xrvUsOcD!SE@jua%x&rM(Bpjh=T^FN3Z{t|u8(QdD4*2?(qec_I?k
zb0>F+V6UKRe!i8KF$Z3SL6VYwP?{iAs2?~1>$xA&d;hz}iolf=avWjG5;-g!7$d0t
zSJec_EZUFS#UtnEt+6s}heH}l6c-_ft&zPu29qhfVS=214WFJ=&+<{Hm;1_38MKP;
z&R{akAQ9z0Tex43UUvs>!_R_k(kz||D>T$mWfrzfxg=42mlPmFIAwEI;Sd7zSwZWk
zmwyFCzqz=4cb7OzOUtPrVF^7>g$~;j86=n`nEU`HcqmNOKe<7_%(=m|hHBf1x*#~w
z&Dt$|xUwm;=H8=ap-vWm+2XtJU?q0^U+-NEFGt;iv*hjNq#tKSX6mS*0Uqg=da9Qu
z*i&ejLcs9s9(TCZi|b}JFQF4*E<FpMBmXrEb!HD@KFE2-d{AQTX@Z^UXU3|iUpC-y
z>YI)e@vpyGgK7PRMn#VEVw|kwwaKICRZW2V-4*bQ@)51(F@(Y`1z<v8*0upqJCROD
z4iMGug~-wS^6zagp+^UEa(UG=aMarH?Vx%DOpGi-`sPi<xK-#sN@-}JV&&-{?5lFX
z%rKkSGmU9s-6$tY<ggKo+77yU@f>*r<$qi0P34a1Z53I0KLajPvzIH;#Q6&EYU&B1
z$)l}1A)*w_?j)5O`0^o&2&8*;o>>eoha%)_;&hDj2dbBC@)&fD{-&Z5y|t$)AA2Ap
zhf9%0T1b0_gk;2OhNjR@(RYlyF69wOH^)XL6sY<?S)u~Pj$|p+5}EXMdyJyKF>*=Z
zF_^?7Oah!1JP!oAxfKj>Dw7&LT?X&43i>M1JBp814D#G#?=Q;hA6cS9KL<|iUjKB1
ztTp%gV^lrm2WW$5Vv;hB@7#=$FyPHKQEJVK==*NyTSzn$sq#{>{dF})GFaKmEF+9|
z;yi8yMB`P1A=Z@7sv*l`jk6f>MZOq@O+}H;(1<l!@o%C!NIbOlKFh%jiZ>r2Klfg`
zXk#L-A})(Bxy(!!K*B!up9U1c23AfQTEeH{qA45H&FSHEtzK3SQwkG(n?W?;mao{!
zla8J>f+iY6&+EwJLZ;XD=~m4f+WSkjT|UMr>&BruhdpuaQVlfLpeHiVs8lzd6+IK+
zjj*g6UlvtwB)OHKx983s_>0khJXQJ9f4KmP#Wz9}<wguAQ(%)Hu7ZPYT1u9P#DdKm
zO9*`z?MyF!K&n-Kd$h-A9i+u?6;#oeJ=d+OxD+mS8`1rKCWd!mKD80WZ;*S+RQ`!!
z=+MI&R03IuGwYB$`m97%m=WnG$6bSWh3$QDFN~5RA^kaXI5YnZKx+keiZcYUQ~o!e
z;iZ#HPTxGpf5&O3L;rel5UdkZL*TWSbHVmyZ$M<>xmZtF=>ubOr(R|Sh3?OsJcmgE
zdv@E2CnfkwPw3zRPq@=P>R{K-X&iHwpQI6&d3H7HHO$QE=Y#+o>5aFZ$9sfN)OcI|
zs))WIYE3%8bbq>oB$}<~o?`Gh&0?9E?-2UJGdadvH0?Nl6><D~mOxwF<C+=KFXuog
zY3O~uJNeiFd*|}O&9dChW2!O6t#LnW$Dd?5YXX1(#4xED^;qLG$DpEqATPuZbbbvY
z4?Aes*%8`NM;q!aU$$SWVYIE4?r1pl@w@7_s2|w&Vn_s4bX-y~@1&lx0rZ{{ru%}Z
zub>xz-q?H-5AZ2vUsiTWpv92<Rf915UIE>c{GvND;I>&PGD8y^2|SM|8VYre!k)~;
zHfToZ^Xg0bH2n-6e+mS4?T9f7>3Lf}I=cjrz!NO&lUDK8QS(>1C;tjKPTpuArb{md
z7x3?AJsK<kUToQ%x)%)0{XB?EZn_-L_cXab)d(KZwaU(m14t-SEd(^S5MHsX%xK_N
zb{dK<=82!Hp}EC@Fw`aM1Jd9dllD%gE<UYCxer~{=1bC02<=WZ)ZNIAY{JAa`yZYB
z(CP*N5*{G{rszgtf6y=EhUpA*l}&5}9%=|TY1R^m(}@pxKFm7L^Ev1f!bi)3|Gdc1
zz9_OG+q^hh^-&BTG@EVL%etA|Hk@I%s-qpR-u1Z9FdIaMZ@oA>=?7fD{?JKMY??y-
zm<-}8Zu(pRLT@#_oZgXz!FFf9&F3}5t0xBL4M{E$-$uV5OZgnqlpD0);l5)%(rA_h
zz}J|4^N11Aq@usPOB?`xB%mxx1bxOoDOq=^mA`)H!l4X8K$BMJzABaR<Wphu*S|N!
zU)ZD2=i=<j=ZW@_R8=Z%gpSm)@45{gYGmW8aF>~4XtQt%@s1n%;S_s@wrBJn=yq|L
z>uG|S(E(&!Yb>)t?8Sg9GpZ1jorlFUenAOXnDrrrWa2m|s;U~9l+|%M`45?m(47n{
zF9D!&>Xig4-|fy=cXEGdGVLAgS1(7+z&9pO6F%q@oa??5%n2h%2XZ71yMG8>8oMO`
zx}%igD`2NGv9m~*brd~aqV!-g=!oT};Hhu2Oizu!)ruiImGehfc;0Zp2%jfv%>A{3
z!>C(+{XyBI!>ID?xXNh=isx0vn!OYT>@nLm+_3u9ZtuB<m7zgW7xEr;>aM_kqs+g4
z&%M`j*V&N7Y+|E_T40%T;AUTgYW<(D!3^^3KmF>T_2Dka@Ug_#XSU9e`}O8pks8V@
z71vqd_R7ka?@b8N<R1OL*LFai57X!4vuwbT#&JmX-qV3i`)kwfMna&nQk1_`leqqw
zfGCFPC~O}641G|{69dvCkTpPCYfaBpI~N)!Qz6u#%5#d!(cFWzArvuzx~NwQ$3-Hd
z&;|$8rRZ3{1j!wCv&V?@`|_@NLcvt(yl7A3lTR6!fAtt4!J|}=>feo!af{(GHSF#K
z_3;|6`fXg%8g7&?*q@Vck&dT@WE~bJQ+DN-H);F}iGDy&4}=mcbvHhovfTQIpRU=<
zTA;6UJYM%c!Y1-^xJMZOI#IaI>fx*NTGVS1pOrY$(Nz0Hf}*3*H155@xb`9C+Q+?}
zx~CUb=-ekABM}WyDFD>posyq1^JQWNTvfi-TDtiqj`l*!Q)k-Q+&^MRCtBL>I^|rG
z>Fj4)mMk7i4F62LwMhPi1v!`sa{5NA!0zUvWG}~xg7B(tiCfS$fOq;}PqQ5{HIAN%
ztTIu<tu84<C0}Cn--lrlL6v)?(Iy}byWc)LI`}c0UT2Q(S`ch_xEI%V8lYI(B6RS~
zF_WAr<_-gN5~iD1K_s7-KB6y~N_$hk$l1laiD8qc@63&A6(Yms!M1}>(1&$51`T`r
z!rQLK^7*+Z9x)M#Q8uuF&quK-tOSyjuPz<<VCduaEfB;%S#2D8Q$`W!Mz+N29iD{;
zMJm5VA&uUSGY`Bd0acTiX2JM20}lCzQ}tr6F<`M+&>_61HtY|Gv=o#HmD`Z<I;+re
zxq%~((((SS)!F?OUnVWi@b?}ncxbuBS{Jh;Ol=EwjKn7M)a`ALb=;eJ5Tll!(ud39
z<4X<y_@?v&vEX$5%X)#Cs1DY#9i7m_AaN}8d-QQT?g#5wUIUvlO0#WCLuVEn={Ad~
zX&JGOY98;}$@FJgCXa=g%-&}X>(JL95$jDZ=d_P7C_?XIJT}0R{|^L0d?j5)>*zvE
zGN!%fJLPoD&A5$0*MjDlN)JJyro3G&Dnm4$OKn}>y{)x}IVq#Bp_zK#S&%x-7vnbh
zF!Y>|dbII@)&21&+QbrKh40BUE8qh(+e*;Kslc)9;bP6_qVHkt<_onk{G*{7O^Iwc
zGhTCZuY3$TB;b<~!DcdOa)O0Ll`m|g&2!K_&Fm)@I$}+@*JjIxTP1UWYU5AI?Az3B
zb<#}JA6%!iJ7<3a>HZ&<4|m!hASl_&?TvbRB&d<}2L9v)51GJ$E_=@D-vj5xWGJjU
z>p)8{HdIv4cyUnulnULgeI7Jq1u_kjGb_W}AR+^;ndX_+%JdG}_{#;yJA0zeOgT9{
zy&UmF;qZkl1G|;*==|1a>4w-UA=!bJC{+~gTPRdkbVl%Q9$_b73o>+$2#TC#RM4;S
z3Ep(?BJ(odQ?yR%{{N42hB+y~AjJ&V_lK0{M{@e^0<;C2Jhkh-5}n86@gYu4P8F{I
zoTN-iXw-%Mjy0{haU|0DwyF#Pb}TnY>Id@rT7zyvn(Vny&aP`o>ZWv<aP}sDN*CNH
zyzH)N5P7su-$|x!MYKqYj{{@Gz;er%$bgP!88;!Qb~;s|dsyEaR%$GB#&h%8G<}%5
z*CESK4aBKoCl9YsNy;p%`dIaQ`tcQQJwhxh-6GjX<23`?dxU;@>Qlpf7VhZT|NVM;
zz@A7H6XHJqv9D0`*Xj2s%@_Or{920mc4;PB&;IFV&l4M<aBUxf5_rU3{)DO0yrEj_
zP!-Uj{>b`a<_Jg=&0P2~+?d(^LM1BMGxm~VOEhCQ#>3t-Q5=u+%KsrwMAsJ8G~nW8
zXNI$8)uKkxaT1ew%__HFt-7Oo)tc05FeQIe1ix+z1*f$+(;c@k6@By3E$U;5_^(?3
zm`qutN+-x&o|IK?8WhPOfDq&P;ciw-)i8my7kC++zVXFXN@#mD`_ncAWRvd|qgmJA
zoQm1@s^1%Y8WUG=3V{OWhNXYHte%^fh^1${fX`Mq2rQv<`_%&s-G`<u3ou1J28?Yw
zYB^)7XF#Y#bCY(cb%`a3!!p`Y$2~Vu)?1Ir5UAj|g`<!fdcE1D?iHsQI&QeNCq6?P
zp`=<CC1xY-2oLgmS&HfJiEOb)bC8eLmbZFd9q3sx_yb%Lj1W!cQN>!7Nfc`mcb`jJ
z3gJvck4I8#WqzIL2wijB5hg$EG2ZOGFpIG+R-aD9-vDagi<V!6{2H2tOQtCnt4@VK
zcjhb9-FGq5je4G5&{*o;F%!oNFexVcZfO?xWF;heal|o#e#O0x3h6$<d5}Xv9L_Ic
znx>*+N5_D1bk9p&oNdsvzHWuXeX<45I-A|Xt3+|yIJ~K5uV_O3aKP(fFeO@5@H`ng
zYC`D?n0L%`la2F~7;qbt|2f~hCwOnl+IxV<%n#aUV`Z#&v#oL9f#ln)A0y5_??^c+
z-lxT}Z<F9Tx8=3A5;chH78NqvS4pJe*lB6`6SDdZv*>9_e;hFsNwEq*$8V}chz&~S
z`I<%+)igy8w)S^2C2?D3;|j(*flVQ@Jfo|javI3G-|ZM)^W2-Zd&X2ui{|}yi>~Q(
zQ*iLa!gw<k{j|fGR)tK@7N|RkLeIo}Z(<<ROxv;4b<itBADC@;zWvz%NASgs^loAm
zN7~vm0tXKb-{<N@k%ik%#u!U{(6_8vGz!3z^CN#oPPWdpd&UNyF7mT{9Us?*;$A}y
z4=|NJo=UVgE8V(hW%lbvY2ybZh^ghLrd?XdFeL?u#5KiXo*xyH(GjWn+`d=YM}_V<
zdx4-LR((KtQX1dGI%(u+E2=2ZbXKW=O69uR*ZPa+j`J8ZWi7t<Jv~+bhhr2vfl)zo
zQC@Z^?6083HZon7+)FJU`NLHz8XF$_6H0{rRvyh$qFS7^(a*U@bs>7RGp*bwdaQjH
z9c_k1;9~R{a+m9V3YvS7ti8YNtJ<BH#Ru?*v^*!=){f2I?2bMHA^u4wTe)Ptz&C9_
z(^5y8^@w-!1W;QK*O<i>^c<UN97P!pmuer$(OQ%3@L+leL8J(&(~~*S->Qjc>S0n6
zcT}O$#l(H}TTyOBPe(X)+@q7DW2V<FrnMC)j#Xlgb#C+RC{|iJ*9N91)U6@Cm|-aG
zpS!CPlmOZLft}2O{0iT245aU?DSGd-j7f7{hZ2YkjCkL#VOd-<89CNE+%*QVxQ{<v
zhzv`QG<8}}o(9LNMn;`&BAzVlm0|T$ia%N`qi?DPbJn;(m$Kpbl%f6%y_Yy5g3ykC
ztnVwwPE&Kg(<6N~;M`4);^O(5q%Bcl;hLA{<Cug?-I}}g1zxXAcD~`dg{nh`^0^$|
zE@%lWuu1Je7YsGk8p(>`ZyDK!Fp;^8k@`cz(KjSABaN^2@AS5Q5f0%=o(qv{MW^vX
z7W0Be(QyLOL%s_a;z77rChu-8d9<)SS@y1H_&Ai3%@6;8!oaXT{%IOi2=}W*54lkz
z^F*^sEytTqlOtIe7*+LqS-k{lX=@-+d2<BUwJjoV!v9b<o+nGh_v^cxSmj$dOB_Ge
zMY4I{YYq(ijF$Ti(<&zZ$XvbJeQ{IWQkhSI_UPv#9V$b)E1Z=~VY%n$Vp{7a@sOWt
zafX`<b=D&0y9R5~K-D_*z`8nKtJT($w&q9>>zqK@zGf(#XLiZ`pj6`lQMjt{vDYkQ
za1eung@m+UJ;9fD-}@#Zw+OPPCon5suw^--a%LIdaj6UiENr0}=k=x4GXi#O>??|w
zZ0%>w);INh^-8QtZj<4ySSq4^FondsOFkh>ux*Hdn)*t%r)?YTz>t*^DmuxQPohHP
zSE(3-FEgp0cj)eLq5@9u6|f%+*-5sSmWW|_VHV)KV^COwp4P2ZS`=E=L6z3=1xGc`
z^-=MD6u+t?F1{R_x_*?u_V$`8$n+H1U^uDP7(4qitc>#RW;9sr$9Ev@dH&$DeQuct
z{&ce8+$2h`=d)AR4xAv!$0g$Z=JYWvN-E;{PwedFym#zIFAV>D%#mlcWV>_*C^dFk
zXBN~UE-5(zR6?eb6S<D|6h7g<+^GgQ|0;8p=%}42pwpis8T`Vc_U#sV<|IPuX&{8b
zeU(Dr&eaL4lT=yhmpD&X8iOtnTQ*V)l-=*Xr2HB<0+y#L<*wUBRQkAh|9l_UFRgz<
zR5szD6(2v)v=BPLW9iesQ?0c5LMA-gB|>9<e|G^ClJ!a>KDU4~gN{GPEizC6Z+f!8
zJA(6QlIk5uqWV`}jT+#1cXxq)vp3-eb~?}oO3jg1Svks}#SG<Mdq(^iw;l!E%)H?G
zd}FYLRr~@UDL%(bj`Yu7V79|U((zWDrK6IC1jsH-w{}2|KVB3HGKa`>dTk_S_2=0I
zZm}S0P``$h6M3xO&iEy0h&JWB-53HW{erfw*|He^(TzPJ7MQJQB$quutyb9NiMCa{
z`mm*`1Od?NA+|q`lU<}|nM1h51@GHmW+*22aRN>34t?8A(`oY}nOm;s*#gzgWBaB$
zGfY1qqTFf?H5RksvKgOqYtHNXg@lyMCWMz;?D+&RvvkJdi@tO}ITtyOG$Yg-F|Oyo
zWbfLFB6U6IkPoi|lloRdNFz$3Q=GdMNCt8$xY>ya>G*((a9T03f~Tw=O2hTF2gVyt
zU$n%^OdgHDt)Io^7-nNLqi$9+h}8eUsIwJO;xgQx!N(NYDL%d<j<?j9MuW@dkD%ML
z7xk>72yfhcnA9kmfxdh|OE$}SrSW4iT2J}14Q+ZlM;PER`<q40*iq0Zp3;9YlEPeT
zf5*Xd(=FRlL-V#7$qM0Sn3gVN`Bxj0GQUpx5dV`y#UVW51CF{nKtWJri61a{axQ$a
z$8iSTeiPsnwWk`Tv6eX9_#2!XH|Mmw^T1N-tzr#gb$IqM=Oaap-$>C-;coUo6IQwy
z96!b~fg<?#{gWxteMRpimNEv;@A3K&J}e!8ctNsOY*T<jKm~b^tmTD~zf93J#ewHz
zc_*E`Zg^G`MXjVN%j<+=K3n=E?Up#4=Qo3=#PB*d1VWBrwvc-DO1*Nx6yYo?9N3F*
z-Ez$w-8_t=PD!jPn^xO96`FBg<z?`GIQ}`KS9s>?&&4?ts}_pfm*Nb|x>X~@ZwCwt
znjCwQB|g~>hu~iP{s91pFOumvIGBEXdBZRBqQVP_-=dMR<A|RWQsvQp{rFO7o>ME6
zV7cif8CgVy11t0Js}XZYWDhVlpN}CVB5Ba&wZQ(?jm_7mt~8c;7VEwP6S9uuMd`Jo
zD^L%caQVb7WdY@r5#?w`j{6lpoHI#ojW)h%db~obi*MGg3nv%(lw5t0E=b_65!>yT
zJ|UBlV#;+0g)~1I^9OIH!Y{0w5+1|`a365_h%1U<f60F+eds$J9*>9&MpZ@_G-rSo
zSx7R9C4|SIN*>)VQqkxE+<0r~S^?mrj2_(jT1Pnes(xQM+(i>UFM2SjM76(~bX}1L
zb?(vXRY{c^8*;eEtC|T?-o!%p$S`Qc4OCBhJ{~TU6J5I(Ij}R=DweVadFNev!7Deg
zKlyFM@e3)Txa>1=VA*o?hzHhgq6dtMy!Ush;H~`XdZZXOb<I{0X9A(+-6DZgJk25{
z45TfBa5Kds1_aC;qGb5}Lf<z5Ufh94pgjNX(HE0obu-rMw<F&gvs$pP@PYcn@z%6y
zWT6ypH7w{A<cR8(RVQ}rB#m5oOcV7qYvS{w>3b%d&$DfYxmwmJh@TiDGwwTcw@)J0
zkml?GwVvuHJC%*B=M5;HuBnb}-)V*$-8-(vE@%3@+*MsBTAQjwe|GH#qrPI;d*xBY
z0z)EIlpb7XicrX?9Zv+~)m{rQC}DUbUK*2OYpMAxeb3z!4_-dCIms!ALLYpVLWF9d
zX9(BEtNmS*ad)cf5<ymS(zi5Q!+3{BddL33je`-)shDhT)MonhBJeE~#Z|k{%*9v;
zVuilWPgYl&m`K)%5<ZK@vurvy1-LsYtC(tX-M;*5hgb1qfl)GRb5`f=69{1FYO2!F
zsO3M|bV17Xt`q}6$_Z4t5IYPHB5EG(xVSW2qUN{&juM|4rlCNrbO)UC*y~CsiR?(7
z>dx!PdoNhXP#Jq(S{l<SpnEZRqOrKdbDh9ER^&GJ!mEk8g&UR@Ax&S2Fm2JJACmCz
zf;H`T84P@WtOECht%BSfy1E1J_zUs}sE5@9N<Ds5wSxNY)KgOTwfAoJ^iFfXXVgqu
z=ZdBjqvVCE-~IKrzp7!_+)4W>XauR?s{D3KF#W>rvItERTwN@7-jC?Uyn*<E;)Oq3
zN0i|5Xjvu-FYokpoen6S%x@6K3Vv<iKJRZ_Qmr>OaWBS#xgfHR*0`o2pscV{wI>tl
zMgB7O+{Bq;tD#SapEO?2)$>dhv5Ee{Q(Z&|*6@gaI?-OVdLppcgfcZ%55sckR5`c(
zWgt3u0<Au*?VOrz{FA@CS$-QFvy+;<eIcPU{?vZ(`#C}iP)f&;Utr5WUEaf|OHad=
zl=*^*jD`s2_CiLC(qrv+b1{1@63W^ZWMrU98X?#`ROM7Zep+=TeD2xZY50>WfX=ew
z2LQlxx<}{ejOC{j6VHBT%oX*?tT6HRaqpori-Uilh^1oF!5Mjv^#e#d`Xkvk4{m1j
z+-gQAMOnzRZyxgJHp5N^s3b6NKCM5~qsHzM9N*lLbcy8(6m@-&lDT;t+t3%&<jNOP
zv`=l8ZtvE}ZHB~CIuP5WtwV=D-Na&2VE-IEX79WLdw9K2OwpBtdY{_3t!!EtO2Aoa
zzON}-y1-kvWOgIxsL}ltW3``A(nS;DgL~imYK`l3rbRVs?U9P8WcT5%PScz3;$&g{
zYW=m*ccLyowpQ)@90NK|TyyI)lqm<o_O7arIiKBsHl$U)aI^Wvu)z9@r2F!hPK|Ef
zW1n%E<J$QWpJ*{7R(L@hy>DUPysKk?=}(0E)Xn<zpv_}h9(d`PW2-*#qLh(P(RmP#
zrhz)!0SoRq1o{t}g(6p@P_*QctU2FDW*JiR@$8|))ctD_4dODEendwM7vI+i&!Il1
zg6E`Lz>ytGz62%Hs)qWUu7|G%z?^{J%Z>AaSOha;`G%~p<@M|Bm8>4oKe(>cH|G%_
z?o)qQBpD~J-Cde4A$rMlu)Up=zp2FjFisw)_-XWx*Pk7(!ZNMXX1%Jrq$lIouk<W|
zlJlA-<!LdpdUKXyx?63cV=tE)lh39NylX#n9#84#&s%oHGVa&NuMW9qYZcn!RKA7X
zz`thlUa{j*h?=7pD)Tisgtt2M?vG<#4CjklTG~8=6m5$`w-m%9<gPF)MI_ohlp8aq
z9Q$hJcy{H)ypmFPV@=dc8^+g7*>}XZoO1q_;r0~?8h%`J0rUIR#7C;<yFZiCXJ@z!
z^G4=fC(D{S=9#|>@)=&2SA@}pGwk^6h_eesbMY);jR^T476&Ra*IM%O;@5@@?g5KK
z-+XmjgT(Wk)aOh?VxIlw$bIe;$Jv4#0}E2)=WIB%(#0<9Nz@E|67{DU|89Y&VI*R(
z#EMtdXeaaU>e7qzqME|BX=cIL&|8`Gb>bN{0e_MjWKyX72>)iN`qb0mW4M%CZkUZv
zqw>Qo#v~)=GC6M4su;XiTU+OynJQKx)EZBr&3jc7#cMR^bwf+VO7k6))a9>Vb@M0&
zn4}A#atVJf+_$yS6L&BkoI!b%w4lP;dZhiODFW{M)hgc>{QcUjP_5SJWQg&O-O0HZ
zr=CYB@DFhwWqDR1Y3jIAaEa~8ksA{G*;_6@0Q%}apc*K*|NO1GHL5-K#5xhU6hn3=
z4R9oQeL8h$yBv?COiAG`%m|L1dt7Nv@Fn8Eu;-q8_;-c;D_?DXGwX7Cz26IMDMkU&
zZ40*PLbOY^#=gZ?tG_&&;%;VOE1L>d5@&S9+f!H#u0K_c82ILRO6Gu9cneo(FSy)D
z;&;A(5qiK}9x;Fo&;ogCeS&ppOr#ae&Wg91+;_>0xd5ZXdSk+R*RU#`H^NB;@jH`$
z7k@vxlQ}}QeHsg=`$3pg_?}x@k7OGP%74#@PIb=%&GL<jkh;IH*=${3Jle!w4E+;~
zpstFnQ_d-^SaJAU;H~t|-?+@@Q`<^cR+nMDxz~YLfB2S^{^r^<i}~~7xQO(>!2gSa
zSf4@g_~TsbgH>&n)6lE;{#l4<lZunX@M2`^>loTYu<)m!>+sy+pXhsdo*MqDEZpKj
zk}5;vEC*^>`pSZVE^?TX;DO);!LtpIS|j<4kCA;LRz@GbJ#(tq#}vW=_%$G75?psL
zOv`RB4`_qn$~qu^G!koyL@?=x;`Wf?ocQNjF!w|5tencQ^r;+)!c=cnT46GAaG`mC
zjj9ClWs%6$IHlbSyN|frHBG^n%V>1^5HJ!VaAf|&Q~2kHp+<{DCPt(Yi|F8x5x6jZ
zkM*cD+8hfPN@`T>N&ok!Dg3(^&XpV(m9a2sMgoMYCp(|I{6_9rAN5fLrAcnZ7$KJM
z4Y~h_&%q`Ce)8C!f1d7|6qH8aAsko4s|*xqC7*}EnCc}&cwM`$`-plLIAjY=v#I#=
zA7841k3<II+D6p~yfpy=n>BC6>z>A>;-ELGXGAF?a6bq~2v);C!$Tf6M7GrA@P><s
zNq^amzf=sbvMM9=r^mt5?Xe^<Fi`<Nx#lp$C>X>*=YUMZ2FkS8If%tLVt#cp^qoD?
z#Iy(yezf_s7(y;QOxnW4>+yeogcc?qXgY<b45X;F7gjy$;R$j<*K1cZ7Vr&Z9%e+7
zeYm8)ZaM{CUX(WibvS#u&hq_d{&3K81{v<T^|P3CL2%D)T0%Teq21{&l?NhrXNOVH
zOP)sXQ^b&P`C^o37u=O6LOa9zPiidt2O-wJ(d=5?uIrmKs%eL5XfSupjP&h3T*(7p
zm;U5^x^KcEA1ei2(rzCHuY$1BU%#QoqylnyWu&=4L<A%gh&@-0A7W#lg>ViL#i!q1
znAJOoS=!xirocvA7xefH;|(T&pCYj<$lCcmkakh#KT8a_E{JgeOv2EC!z9){2fJBC
z^d@(EZDuY4_TKD++aFI=1`fRto=$~sxB0T-!_OXHAFW%i192&{xqx7Yct<YGBq^yO
za%gD0{0J<hyjYjN8M143rsGE9T%bIQ&_vac#uy;6AcvgSkME@oG}w#S$4aU}zd>KV
z{mw*i7<e3hRq!le*|qJ}U9kien5VSlFdL<RXO7(dkGp{0oB3{Fg;Tg8rz_}pn2`{o
za!Tkv`SbhIF0BtK^6P-1bt%Y`N+BFw0M^6<djf%A=XN&`ywNk$1VKdWMs4f@1EJF|
z5B&)@Tp2=$iTNOeT}Z~il&SxI0rcAzz`5k&zXLh5-kyp&100xb_n9tro*n<+TmR3i
zH@AKs)&hn8r&W;^hA}?wMRzj96i@pkV}cxQ+}!oEGUj`;Psk@TaZBZZJIaY5w0sg`
zrie6z_9Qasn*g`w?Aty#K784AH;xHaM;8@C{BR9M?l@u<?Y9?n;iU*wwhx@%-0te8
ziy`h5wx7zd@reD1a#VHczk@`p^w0VhF%Bj&tSTY4oZ$O=N+=^rL!g)#>q4k=B2A^&
z0jV!j^#LrI6Dp^FZmo`0Mp?*o4n|(U{aOZ<*a>o9<kUDZ<EZc6&Mw?N24WY8qP<Qz
z1`C6GaMq+_tw(I*7M8ktg))0N8tEzV`)(sD1~Dp<Ko}zl`D!7~|JfNMvGK@O1dGhN
z%(ub`=?8H{4+kpL1CSTJFef1d&QcJ8-xucN2L6sJh%xJx4}hJN{KJWT;FkYuUvDCq
zsHq&Ju7aO%?(I~q7hP{Oz&_G%FBp}nmgNV*$@k|_8?uUnuk)e`V4Ln(XR_J+XB&kL
znj8gxLT1rCE2VGhqF2Juy_4F@?`bP2f;7QkmwaE}P*f2^qXia?>%a=6`rV)C;u1nL
zJ_gg5s!Kfx#WOky7_+Y!1fG?|?gTlJ6u{NwGhiTUGBSZ0<@~o|aJRv7FuhSA@T<^v
zvU+M=5I%t}q)`^lbroWin4>u@^8dbaMyZfEfK#5#D0ukZ<z;Z-060fBRMy+hY{=Y!
z%S8_-0;-O)^;E1#^cwU#Fq%*WDrmeWAXi`hpx0xXT0Q7QA2K=YqezIGB-bdbmS1x#
zWD`<r@XXKa0e>yO!kYG?Q<zSskQow+w$7~$l{YQH1n~k>eX$-hIR`m&*3so*|2t^@
zIV)vKxfD;fj7)JEU<Xvk9B;e40^SWCF~o&lfQC*ao^EV+(x}6U{dVdJ)K%co=E8nH
zhGa=<GK)XA*N=i>s3-Mij^NE;)7Th-81nYUd)r9=yD-Tp2$f(OXh)COAE%>rBH7U$
zJP9^J$PhL3H+B7Qh={uvUcJnF8Q%Af>g{9aVj{EQ<y#4I9+Ca`zKh~_4<&1(5L;VO
z_%%+H1TQDb8{x*kQ6<ds|GQx$=j~v1D{`K0sfv6`!LA@{)YURcOY+}Y;X&Rb!12oc
zedN%v!5c&tiy7d)AaDFbhBFZ9|93SbbGO606$_L2biwd3C(0FWwxieEy6k`JP3)fs
z<s3bFG#0V3#8B+OC}=PI0upkc`tMgE_pC%6dT{QP>`kmpT;!_+<<ni`18*VNXEFfA
zQtjO`I77dmy9><Ws`z3O1Vb@|A>?ol?j9}r_i&y<HX#V4bZi+zo+C8O3kL;1C1O|D
z;P;;N$M1;$?;(ZYPpcH9MNvK5K%RQ_xb3~~Tv3E<#go2Po?ynvWUC%aP)2^iqG2@a
zf4>0DDeyC*c$Ygc$LrSnN2IU8y-yDj%jFGP`H^8&;r<l&@8#Hk;*8FcOFrtzVTouN
z3~=_ySdIptt@(E>34HKT$X5|(_TeL<$7E3{Lh7k#QF@w`|1<I{a{X_lgGH?(5))Sy
z@h8;dz1|Qjn7kpm%<lJw@5$WQ@Co?eS0hYEsD$2>lCwd<56h6vMzArFNOTdb|L^#l
zYQx=u2;`SKC2KXQ&$QR#Y<>kYVREHT(LDdIA36QqJnt7_m<&rbxUb%X%7u<1nwVd$
za%ZOf-+Dx$PIo0MBMnd@RK15geeX|@40;5RJ|QQB!Fo(aCx$S?ITf1vpZyX+x)MaL
zGvLrRiIL)X8?A7*6aU^C7Uc=IU0%+b+DFO7kZmB<G?DEu?Min><M0$nBgeCi{*Q~j
zO$b?n^IjkB@&YE9M`|1#Kf+3T`D45S-rUziH9uIamCgqo&6k89ne6{}Ibg^%s33er
zIXi%+*Hba%bYwt#j#e;an!xB42ac(d{(U$cB6Tq$EoP^&qkoIA3;mL}CK1liz&|r%
LOQU-RZc+aq4pxO|

literal 0
HcmV?d00001

diff --git a/docs/dev/img/the-workflow-of-comparison-test.png b/docs/dev/img/the-workflow-of-comparison-test.png
new file mode 100644
index 0000000000000000000000000000000000000000..df3e839139f8d3c622ceb77d55d2975602c95a6a
GIT binary patch
literal 88186
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%0D@6WRK$V_O^d=M)l`y6
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

literal 0
HcmV?d00001

diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/CorrectnessIT.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/CorrectnessIT.java
new file mode 100644
index 0000000000..d52282c817
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/CorrectnessIT.java
@@ -0,0 +1,138 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestReport;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.ComparisonTest;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.DBConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.ESConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.JDBCConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestDataSet;
+import com.amazon.opendistroforelasticsearch.sql.esintgtest.SQLIntegTestCase;
+import com.google.common.collect.Maps;
+import org.apache.http.HttpHost;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.client.RestClient;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+import java.util.TimeZone;
+
+import static com.amazon.opendistroforelasticsearch.sql.esintgtest.TestUtils.getResourceFilePath;
+
+/**
+ * Correctness integration test by performing comparison test with other databases.
+ */
+public class CorrectnessIT extends SQLIntegTestCase {
+
+    private static final Logger LOG = LogManager.getLogger();
+
+    @Test
+    public void performComparisonTest() {
+        TestConfig config = new TestConfig(getCmdLineArgs());
+        LOG.info("Starting comparison test {}", config);
+
+        try (ComparisonTest test = new ComparisonTest(getThisDBConnection(config),
+                                                      getOtherDBConnections(config))) {
+            LOG.info("Loading test data set...");
+            test.connect();
+            for (TestDataSet dataSet : config.getTestDataSets()) {
+                test.loadData(dataSet);
+            }
+
+            LOG.info("Verifying test queries...");
+            TestReport report = test.verify(config.getTestQuerySet());
+
+            LOG.info("Saving test report to disk...");
+            store(report);
+
+            LOG.info("Cleaning up test data...");
+            for (TestDataSet dataSet : config.getTestDataSets()) {
+                test.cleanUp(dataSet);
+            }
+        }
+        LOG.info("Completed comparison test.");
+    }
+
+    private Map<String, String> getCmdLineArgs() {
+        return Maps.fromProperties(System.getProperties());
+    }
+
+    private DBConnection getThisDBConnection(TestConfig config) {
+        String dbUrl = config.getDbConnectionUrl();
+        if (dbUrl.isEmpty()) {
+            return getESConnection(config);
+        }
+        return new JDBCConnection("DB Tested", dbUrl);
+    }
+
+    /** Use Elasticsearch cluster given on CLI arg or internal embedded in SQLIntegTestCase */
+    private DBConnection getESConnection(TestConfig config) {
+        RestClient client;
+        String esHost = config.getESHostUrl();
+        if (esHost.isEmpty()) {
+            client = getRestClient();
+            esHost = client.getNodes().get(0).getHost().toString();
+        } else {
+            client = RestClient.builder(HttpHost.create(esHost)).build();
+        }
+        return new ESConnection("jdbc:elasticsearch://" + esHost, client);
+    }
+
+    /** Create database connection with database name and connect URL */
+    private DBConnection[] getOtherDBConnections(TestConfig config) {
+        return config.getOtherDbConnectionNameAndUrls().
+                      entrySet().stream().
+                      map(e -> new JDBCConnection(e.getKey(), e.getValue())).
+                      toArray(DBConnection[]::new);
+    }
+
+    private void store(TestReport report) {
+        try {
+            // Create reports folder if not exists
+            String folderPath = "reports/";
+            Path path = Paths.get(getResourceFilePath(folderPath));
+            if (Files.notExists(path)) {
+                Files.createDirectory(path);
+            }
+
+            // Write to report file
+            String relFilePath = folderPath + reportFileName();
+            String absFilePath = getResourceFilePath(relFilePath);
+            byte[] content = new JSONObject(report).toString(2).getBytes();
+
+            LOG.info("Report file location is {}", absFilePath);
+            Files.write(Paths.get(absFilePath), content);
+        } catch (Exception e) {
+            throw new IllegalStateException("Failed to store report file", e);
+        }
+    }
+
+    private String reportFileName() {
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH");
+        df.setTimeZone(TimeZone.getTimeZone("GMT"));
+        String dateTime = df.format(new Date());
+        return "report_" + dateTime + ".json";
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java
new file mode 100644
index 0000000000..3d55a00b6d
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java
@@ -0,0 +1,154 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestDataSet;
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestQuerySet;
+import com.amazon.opendistroforelasticsearch.sql.utils.StringUtils;
+import com.google.common.base.Charsets;
+import com.google.common.io.Resources;
+
+import java.net.URL;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import static java.util.stream.Collectors.joining;
+
+/**
+ * Test configuration parse the following information from command line arguments:
+ *  1) Test schema and data
+ *  2) Test queries
+ *  3) Elasticsearch connection URL
+ *  4) Other database connection URLs
+ */
+public class TestConfig {
+
+    private static final String DEFAULT_TEST_QUERIES = "tableau_integration_tests.txt";
+    private static final String DEFAULT_OTHER_DB_URLS = "H2=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1," + "SQLite=jdbc:sqlite::memory:";
+
+    private final TestDataSet[] testDataSets;
+
+    private final TestQuerySet testQuerySet;
+
+    private final String esHostUrl;
+
+    /** Test against some database rather than Elasticsearch via our JDBC driver */
+    private final String dbConnectionUrl;
+
+    private final Map<String, String> otherDbConnectionNameAndUrls = new HashMap<>();
+
+    public TestConfig(Map<String, String> cliArgs) {
+        testDataSets = buildDefaultTestDataSet(); // TODO: parse test data set argument
+        testQuerySet = buildTestQuerySet(cliArgs);
+        esHostUrl = cliArgs.getOrDefault("esHost", "");
+        dbConnectionUrl = cliArgs.getOrDefault("dbUrl", "");
+
+        parseOtherDbConnectionInfo(cliArgs);
+    }
+
+    public TestDataSet[] getTestDataSets() {
+        return testDataSets;
+    }
+
+    public TestQuerySet getTestQuerySet() {
+        return testQuerySet;
+    }
+
+    public String getESHostUrl() {
+        return esHostUrl;
+    }
+
+    public String getDbConnectionUrl() {
+        return dbConnectionUrl;
+    }
+
+    public Map<String, String> getOtherDbConnectionNameAndUrls() {
+        return otherDbConnectionNameAndUrls;
+    }
+
+    private TestDataSet[] buildDefaultTestDataSet() {
+        return new TestDataSet[]{
+            new TestDataSet("kibana_sample_data_flights",
+                            readFile("kibana_sample_data_flights.json"),
+                            readFile("kibana_sample_data_flights.csv")),
+            new TestDataSet("kibana_sample_data_ecommerce",
+                            readFile("kibana_sample_data_ecommerce.json"),
+                            readFile("kibana_sample_data_ecommerce.csv")),
+        };
+    }
+
+    private TestQuerySet buildTestQuerySet(Map<String, String> cliArgs) {
+        String queryFilePath = cliArgs.getOrDefault("queries", ""); // Gradle set it empty always
+        if (queryFilePath.isEmpty()) {
+            queryFilePath = DEFAULT_TEST_QUERIES;
+        }
+        return new TestQuerySet(readFile(queryFilePath));
+    }
+
+    private void parseOtherDbConnectionInfo(Map<String, String> cliArgs) {
+        String otherDbUrls = cliArgs.getOrDefault("otherDbUrls", "");
+        if (otherDbUrls.isEmpty()) {
+            otherDbUrls = DEFAULT_OTHER_DB_URLS;
+        }
+
+        for (String dbNameAndUrl : otherDbUrls.split(",")) {
+            int firstEq = dbNameAndUrl.indexOf('=');
+            String dbName = dbNameAndUrl.substring(0, firstEq);
+            String dbUrl = dbNameAndUrl.substring(firstEq + 1);
+            otherDbConnectionNameAndUrls.put(dbName, dbUrl);
+        }
+    }
+
+    private static String readFile(String relativePath) {
+        try {
+            URL url = Resources.getResource("correctness/" + relativePath);
+            return Resources.toString(url, Charsets.UTF_8);
+        } catch (Exception e) {
+            throw new IllegalStateException("Failed to read test file [" + relativePath + "]");
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "\n=================================\n"
+            + "Tested Database  : " + esHostUrlToString() + '\n'
+            + "Other Databases  :\n" + otherDbConnectionInfoToString() + '\n'
+            + "Test data set(s) :\n" + testDataSetsToString() + '\n'
+            + "Test query set   : " + testQuerySet + '\n'
+            + "=================================\n";
+    }
+
+    private String testDataSetsToString() {
+        return Arrays.stream(testDataSets).
+                      map(TestDataSet::toString).
+                      collect(joining("\n"));
+    }
+
+    private String esHostUrlToString() {
+        if (!dbConnectionUrl.isEmpty()) {
+            return dbConnectionUrl;
+        }
+        return esHostUrl.isEmpty() ? "(Use internal Elasticsearch in workspace)" : esHostUrl;
+    }
+
+    private String otherDbConnectionInfoToString() {
+        return otherDbConnectionNameAndUrls.entrySet().stream().
+                                           map(e -> StringUtils.format(" %s = %s", e.getKey(), e.getValue())).
+                                           collect(joining("\n"));
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/ErrorTestCase.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/ErrorTestCase.java
new file mode 100644
index 0000000000..2aaf593548
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/ErrorTestCase.java
@@ -0,0 +1,40 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import static com.amazon.opendistroforelasticsearch.sql.correctness.report.TestCaseReport.TestResult.FAILURE;
+
+/**
+ * Report for test case that ends with an error.
+ */
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Getter
+public class ErrorTestCase extends TestCaseReport {
+
+    /** Root cause of the error */
+    private final String reason;
+
+    public ErrorTestCase(int id, String sql, String reason) {
+        super(id, sql, FAILURE);
+        this.reason = reason;
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/FailedTestCase.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/FailedTestCase.java
new file mode 100644
index 0000000000..93a6dbaec2
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/FailedTestCase.java
@@ -0,0 +1,45 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import java.util.Comparator;
+import java.util.List;
+
+import static com.amazon.opendistroforelasticsearch.sql.correctness.report.TestCaseReport.TestResult.FAILURE;
+
+/**
+ * Report for test case that fails due to inconsistent result set.
+ */
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Getter
+public class FailedTestCase extends TestCaseReport {
+
+    /** Inconsistent result sets for reporting */
+    private final List<DBResult> resultSets;
+
+    public FailedTestCase(int id, String sql, List<DBResult> resultSets) {
+        super(id, sql, FAILURE);
+        this.resultSets = resultSets;
+        this.resultSets.sort(Comparator.comparing(DBResult::getDatabaseName));
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/SuccessTestCase.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/SuccessTestCase.java
new file mode 100644
index 0000000000..7653c22eb0
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/SuccessTestCase.java
@@ -0,0 +1,35 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import static com.amazon.opendistroforelasticsearch.sql.correctness.report.TestCaseReport.TestResult.SUCCESS;
+
+/**
+ * Report for successful test case result.
+ */
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Getter
+public class SuccessTestCase extends TestCaseReport {
+
+    public SuccessTestCase(int id, String sql) {
+        super(id, sql, SUCCESS);
+    }
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestCaseReport.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestCaseReport.java
new file mode 100644
index 0000000000..42406adaa3
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestCaseReport.java
@@ -0,0 +1,53 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import static com.amazon.opendistroforelasticsearch.sql.correctness.report.TestCaseReport.TestResult.SUCCESS;
+
+/**
+ * Base class for different test result.
+ */
+@EqualsAndHashCode
+@ToString
+public abstract class TestCaseReport {
+
+    public enum TestResult {
+        SUCCESS, FAILURE;
+    }
+
+    @Getter
+    private final int id;
+
+    @Getter
+    private final String sql;
+
+    private final TestResult result;
+
+    public TestCaseReport(int id, String sql, TestResult result) {
+        this.id = id;
+        this.sql = sql;
+        this.result = result;
+    }
+
+    public String getResult() {
+        return result == SUCCESS ? "Success" : "Failed";
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestReport.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestReport.java
new file mode 100644
index 0000000000..8ef1c4264f
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestReport.java
@@ -0,0 +1,50 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Test report class to generate JSON report.
+ */
+@EqualsAndHashCode
+@ToString
+@Getter
+public class TestReport {
+
+    private final TestSummary summary = new TestSummary();
+
+    private final List<TestCaseReport> tests = new ArrayList<>();
+
+    /**
+     * Add a test case report to the whole report.
+     * @param testCase  report for a single test case
+     */
+    public void addTestCase(TestCaseReport testCase) {
+        tests.add(testCase);
+        if ("Success".equals(testCase.getResult())) {
+            summary.addSuccess();
+        } else {
+            summary.addFailure();
+        }
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestSummary.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestSummary.java
new file mode 100644
index 0000000000..4da3c832e7
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/report/TestSummary.java
@@ -0,0 +1,46 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.report;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+/**
+ * Test summary section.
+ */
+@EqualsAndHashCode
+@ToString
+@Getter
+public class TestSummary {
+
+    private int total;
+
+    private int success;
+
+    private int failure;
+
+    public void addSuccess() {
+        success++;
+        total++;
+    }
+
+    public void addFailure() {
+        failure++;
+        total++;
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java
new file mode 100644
index 0000000000..49e583d57d
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java
@@ -0,0 +1,168 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.ErrorTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.FailedTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.SuccessTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestCaseReport;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestReport;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.DBConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestDataSet;
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestQuerySet;
+import com.amazon.opendistroforelasticsearch.sql.utils.StringUtils;
+import com.google.common.collect.Iterators;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import static com.google.common.collect.ObjectArrays.concat;
+
+/**
+ * Comparison test runner for query result correctness.
+ */
+public class ComparisonTest implements AutoCloseable {
+
+    /** Next id for test case */
+    private int testCaseId = 1;
+
+    /** Connection for database being tested */
+    private final DBConnection thisConnection;
+
+    /** Database connections for reference databases */
+    private final DBConnection[] otherDbConnections;
+
+    public ComparisonTest(DBConnection thisConnection, DBConnection[] otherDbConnections) {
+        this.thisConnection = thisConnection;
+        this.otherDbConnections = otherDbConnections;
+
+        // Guarantee ordering of other database in comparison test
+        Arrays.sort(this.otherDbConnections, Comparator.comparing(DBConnection::getDatabaseName));
+    }
+
+    /**
+     * Open database connection.
+     */
+    public void connect() {
+        for (DBConnection conn : concat(thisConnection, otherDbConnections)) {
+            conn.connect();
+        }
+    }
+
+    /**
+     * Create table and load test data.
+     * @param dataSet     test data set
+     */
+    public void loadData(TestDataSet dataSet) {
+        for (DBConnection conn : concat(thisConnection, otherDbConnections)) {
+            conn.create(dataSet.getTableName(), dataSet.getSchema());
+            insertTestDataInBatch(conn, dataSet.getTableName(), dataSet.getDataRows());
+        }
+    }
+
+    /**
+     * Verify queries one by one by comparing between databases.
+     * @param querySet   SQL queries
+     * @return           Test result report
+     */
+    public TestReport verify(TestQuerySet querySet) {
+        TestReport report = new TestReport();
+        for (String sql : querySet) {
+            try {
+                DBResult esResult = thisConnection.select(sql);
+                report.addTestCase(compareWithOtherDb(sql, esResult));
+            } catch (Exception e) {
+                report.addTestCase(new ErrorTestCase(nextId(), sql,
+                    StringUtils.format("%s: %s", e.getClass().getSimpleName(), extractRootCause(e))));
+            }
+        }
+        return report;
+    }
+
+    /**
+     * Clean up test table.
+     * @param dataSet   test data set
+     */
+    public void cleanUp(TestDataSet dataSet) {
+        for (DBConnection conn : concat(thisConnection, otherDbConnections)) {
+            conn.drop(dataSet.getTableName());
+        }
+    }
+
+    @Override
+    public void close() {
+        for (DBConnection conn : concat(thisConnection, otherDbConnections)) {
+            try {
+                conn.close();
+            } catch (Exception e) {
+                // Ignore
+            }
+        }
+    }
+
+    /** Execute the query and compare with current result */
+    private TestCaseReport compareWithOtherDb(String sql, DBResult esResult) {
+        StringBuilder reasons = new StringBuilder();
+        for (int i = 0; i < otherDbConnections.length; i++) {
+            try {
+                DBResult otherDbResult = otherDbConnections[i].select(sql);
+                if (esResult.equals(otherDbResult)) {
+                    return new SuccessTestCase(nextId(), sql);
+                }
+
+                // Cannot find any database result match
+                if (i == otherDbConnections.length - 1) {
+                    return new FailedTestCase(nextId(), sql, Arrays.asList(esResult, otherDbResult));
+                }
+            } catch (Exception e) {
+                // Ignore and move on to next database
+                reasons.append(extractRootCause(e)).append(";");
+            }
+        }
+
+        // Cannot find any database support this query
+        return new ErrorTestCase(nextId(), sql, "No other databases support this query: " + reasons);
+    }
+
+    private int nextId() {
+        return testCaseId++;
+    }
+
+    private void insertTestDataInBatch(DBConnection conn, String tableName, List<String[]> testData) {
+        Iterator<String[]> iterator = testData.iterator();
+        String[] fieldNames = iterator.next(); // first row is header of column names
+        Iterators.partition(iterator, 100).
+                  forEachRemaining(batch -> conn.insert(tableName, fieldNames, batch));
+    }
+
+    private String extractRootCause(Throwable e) {
+        while (e.getCause() != null) {
+            e = e.getCause();
+        }
+
+        if (e.getLocalizedMessage() != null) {
+            return e.getLocalizedMessage();
+        }
+        if (e.getMessage() != null) {
+            return e.getMessage();
+        }
+        return e.toString();
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java
new file mode 100644
index 0000000000..df2174d471
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java
@@ -0,0 +1,70 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+
+import java.util.List;
+
+/**
+ * Abstraction for different databases.
+ */
+public interface DBConnection {
+
+    /**
+     * @return database name
+     */
+    String getDatabaseName();
+
+    /**
+     * Connect to database by opening a connection.
+     */
+    void connect();
+
+    /**
+     * Create table with the schema.
+     * @param tableName     table name
+     * @param schema        schema json in ES mapping format
+     */
+    void create(String tableName, String schema);
+
+    /**
+     * Insert batch of data to database.
+     * @param tableName     table name
+     * @param columnNames   column names
+     * @param batch         batch of rows
+     */
+    void insert(String tableName, String[] columnNames, List<String[]> batch);
+
+    /**
+     * Fetch data from database.
+     * @param query         SQL query
+     * @return              result set
+     */
+    DBResult select(String query);
+
+    /**
+     * Drop table.
+     * @param tableName     table name
+     */
+    void drop(String tableName);
+
+    /**
+     * Close the database connection.
+     */
+    void close();
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java
new file mode 100644
index 0000000000..17fe6afd8b
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java
@@ -0,0 +1,113 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.json.JSONObject;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Elasticsearch database connection for insertion. This class wraps JDBCConnection to delegate query method.
+ */
+public class ESConnection implements DBConnection {
+
+    /** Connection via our Elasticsearch JDBC driver */
+    private final DBConnection connection;
+
+    /** Native Elasticsearch REST client for operation unsupported by driver such as CREATE/INSERT */
+    private final RestClient client;
+
+    public ESConnection(String connectionUrl, RestClient client) {
+        this.connection = new JDBCConnection("Elasticsearch", connectionUrl);
+        this.client = client;
+    }
+
+    @Override
+    public String getDatabaseName() {
+        return "Elasticsearch";
+    }
+
+    @Override
+    public void connect() {
+        connection.connect();
+    }
+
+    @Override
+    public void create(String tableName, String schema) {
+        Request request = new Request("PUT", "/" + tableName);
+        request.setJsonEntity(schema);
+        performRequest(request);
+    }
+
+    @Override
+    public void drop(String tableName) {
+        performRequest(new Request("DELETE", "/" + tableName));
+    }
+
+    @Override
+    public void insert(String tableName, String[] columnNames, List<String[]> batch) {
+        Request request = new Request("POST", "/" + tableName + "/_bulk");
+        request.setJsonEntity(buildBulkBody(columnNames, batch));
+        performRequest(request);
+    }
+
+    @Override
+    public DBResult select(String query) {
+        return connection.select(query);
+    }
+
+    @Override
+    public void close() {
+        connection.close();
+        try {
+            client.close();
+        } catch (IOException e) {
+            // Ignore
+        }
+    }
+
+    private void performRequest(Request request) {
+        try {
+            Response response = client.performRequest(request);
+            int status = response.getStatusLine().getStatusCode();
+            if (status != 200) {
+                throw new IllegalStateException("Failed to perform request. Error code: " + status);
+            }
+        } catch (IOException e) {
+            throw new IllegalStateException("Failed to perform request", e);
+        }
+    }
+
+    private String buildBulkBody(String[] columnNames, List<String[]> batch) {
+        StringBuilder body = new StringBuilder();
+        for (String[] fieldValues : batch) {
+            JSONObject json = new JSONObject();
+            for (int i = 0; i < columnNames.length; i++) {
+                json.put(columnNames[i], fieldValues[i]);
+            }
+
+            body.append("{\"index\":{}}\n").
+                append(json).append("\n");
+        }
+        return body.toString();
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java
new file mode 100644
index 0000000000..96c14798c6
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java
@@ -0,0 +1,175 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.Row;
+import com.amazon.opendistroforelasticsearch.sql.utils.StringUtils;
+import org.json.JSONObject;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.List;
+
+import static java.util.stream.Collectors.joining;
+
+/**
+ * Database connection by JDBC driver.
+ */
+public class JDBCConnection implements DBConnection {
+
+    private static final String SINGLE_QUOTE = "'";
+    private static final String DOUBLE_QUOTE = "''";
+
+    /** Database name for display */
+    private final String databaseName;
+
+    /** Database connection URL */
+    private final String connectionUrl;
+
+    /** Current live connection */
+    private Connection connection;
+
+    public JDBCConnection(String databaseName, String connectionUrl) {
+        this.databaseName = databaseName;
+        this.connectionUrl = connectionUrl;
+    }
+
+    @Override
+    public void connect() {
+        try {
+            connection = DriverManager.getConnection(connectionUrl);
+        } catch (Exception e) {
+            throw new IllegalStateException("Failed to open connection", e);
+        }
+    }
+
+    @Override
+    public String getDatabaseName() {
+        return databaseName;
+    }
+
+    @Override
+    public void create(String tableName, String schema) {
+        try (Statement stmt = connection.createStatement()) {
+            String types = parseColumnNameAndTypesInSchemaJson(schema);
+            stmt.executeUpdate(StringUtils.format("CREATE TABLE %s(%s)", tableName, types));
+        } catch (SQLException e) {
+            throw new IllegalStateException("Failed to create table [" + tableName + "]", e);
+        }
+    }
+
+    @Override
+    public void drop(String tableName) {
+        try (Statement stmt = connection.createStatement()) {
+            stmt.executeUpdate("DROP TABLE " + tableName);
+        } catch (SQLException e) {
+            throw new IllegalStateException("Failed to drop table [" + tableName + "]", e);
+        }
+    }
+
+    @Override
+    public void insert(String tableName, String[] columnNames, List<String[]> batch) {
+        try (Statement stmt = connection.createStatement()) {
+            String names = String.join(",", columnNames);
+            for (String[] fieldValues : batch) {
+                stmt.addBatch(StringUtils.format(
+                    "INSERT INTO %s(%s) VALUES (%s)", tableName, names, getValueList(fieldValues)));
+            }
+            stmt.executeBatch();
+        } catch (SQLException e) {
+            throw new IllegalStateException("Failed to execute update", e);
+        }
+    }
+
+    @Override
+    public DBResult select(String query) {
+        try (Statement stmt = connection.createStatement()) {
+            ResultSet resultSet = stmt.executeQuery(query);
+            DBResult result = new DBResult(databaseName);
+            populateMetaData(resultSet, result);
+            populateData(resultSet, result);
+            return result;
+        } catch (SQLException e) {
+            throw new IllegalStateException("Failed to execute query [" + query + "]", e);
+        }
+    }
+
+    @Override
+    public void close() {
+        try {
+            connection.close();
+        } catch (SQLException e) {
+            // Ignore
+        }
+    }
+
+    /** Parse out type in schema json and convert to field name and type pairs for CREATE TABLE statement. */
+    private String parseColumnNameAndTypesInSchemaJson(String schema) {
+        JSONObject json = (JSONObject) new JSONObject(schema).query("/mappings/properties");
+        return json.keySet().stream().
+                    map(colName -> colName + " " + mapToJDBCType(json.getJSONObject(colName).getString("type"))).
+                    collect(joining(","));
+    }
+
+    private String getValueList(String[] fieldValues) {
+        return Arrays.stream(fieldValues).
+                      map(val -> val.replace(SINGLE_QUOTE, DOUBLE_QUOTE)).
+                      map(val -> SINGLE_QUOTE + val + SINGLE_QUOTE).
+                      collect(joining(","));
+    }
+
+    private void populateMetaData(ResultSet resultSet, DBResult result) throws SQLException {
+        ResultSetMetaData metaData = resultSet.getMetaData();
+        for (int i = 1; i <= metaData.getColumnCount(); i++) {
+            result.addColumn(metaData.getColumnName(i), metaData.getColumnTypeName(i));
+        }
+    }
+
+    private void populateData(ResultSet resultSet, DBResult result) throws SQLException {
+        while (resultSet.next()) {
+            Row row = new Row();
+            for (int i = 1; i <= result.columnSize(); i++) {
+                row.add(resultSet.getObject(i));
+            }
+            result.addRow(row);
+        }
+    }
+
+    private String mapToJDBCType(String esType) {
+        switch (esType.toUpperCase()) {
+            case "KEYWORD":
+            case "TEXT":
+                return "VARCHAR";
+            case "DATE":
+                return "TIMESTAMP";
+            case "HALF_FLOAT":
+                return "FLOAT";
+            default:
+                return esType;
+        }
+    }
+
+    /** Setter for unit test mock */
+    public void setConnection(Connection connection) {
+        this.connection = connection;
+    }
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/DBResult.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/DBResult.java
new file mode 100644
index 0000000000..a40f79e6a1
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/DBResult.java
@@ -0,0 +1,88 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset;
+
+import com.amazon.opendistroforelasticsearch.sql.utils.StringUtils;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.json.JSONPropertyName;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * Query result for equality comparison. Based on different type of query, such as query with/without ORDER BY and
+ * query with SELECT columns or just *, order of column and row may matter or not. So the internal data structure of this
+ * class is passed in from outside either list or set, hash map or linked hash map etc.
+ */
+@EqualsAndHashCode(exclude = "databaseName")
+@ToString
+public class DBResult {
+
+    /** Database name for display */
+    private final String databaseName;
+
+    /** Column name and types from result set meta data */
+    private final Map<String, String> colNameAndTypes;
+
+    /** Data rows from result set */
+    private final Collection<Row> dataRows;
+
+    /**
+     * By default treat both columns and data rows in order. This makes sense for typical query
+     * with specific column names in SELECT but without ORDER BY.
+     */
+    public DBResult(String databaseName) {
+        this(databaseName, new LinkedHashMap<>(), new HashSet<>());
+    }
+
+    public DBResult(String databaseName, Map<String, String> colNameAndTypes, Collection<Row> rows) {
+        this.databaseName = databaseName;
+        this.colNameAndTypes = colNameAndTypes;
+        this.dataRows = rows;
+    }
+
+    public int columnSize() {
+        return colNameAndTypes.size();
+    }
+
+    public void addColumn(String name, String type) {
+        colNameAndTypes.put(StringUtils.toUpper(name), StringUtils.toUpper(type));
+    }
+
+    public void addRow(Row row) {
+        dataRows.add(row);
+    }
+
+    @JSONPropertyName("database")
+    public String getDatabaseName() {
+        return databaseName;
+    }
+
+    @JSONPropertyName("schema")
+    public Map<String, String> getColumnNameAndTypes() {
+        return colNameAndTypes;
+    }
+
+    /** Flatten for simplifying json generated */
+    public Collection<Collection<Object>> getDataRows() {
+        return dataRows.stream().map(Row::getValues).collect(Collectors.toSet());
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/Row.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/Row.java
new file mode 100644
index 0000000000..a1cf33d728
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/resultset/Row.java
@@ -0,0 +1,60 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * Row in result set.
+ */
+@EqualsAndHashCode
+@ToString
+@Getter
+public class Row {
+
+    private final Collection<Object> values;
+
+    public Row() {
+        this(new ArrayList<>()); // values in order by default
+    }
+
+    public Row(Collection<Object> values) {
+        this.values = values;
+    }
+
+    public void add(Object value) {
+        values.add(roundFloatNum(value));
+    }
+
+    private Object roundFloatNum(Object value) {
+        if (value instanceof Float) {
+            BigDecimal decimal = BigDecimal.valueOf((Float) value).setScale(2, RoundingMode.CEILING);
+            value = decimal.floatValue();
+        } else if (value instanceof Double) {
+            BigDecimal decimal = BigDecimal.valueOf((Double) value).setScale(2, RoundingMode.CEILING);
+            value = decimal.doubleValue();
+        }
+        return value;
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java
new file mode 100644
index 0000000000..ee0b202e65
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java
@@ -0,0 +1,182 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.ErrorTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.FailedTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.SuccessTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestReport;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.ComparisonTest;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.DBConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.Row;
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestQuerySet;
+import com.google.common.collect.ImmutableMap;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link ComparisonTest}
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ComparisonTestTest {
+
+    @Mock
+    private DBConnection esConnection;
+
+    @Mock
+    private DBConnection otherDbConnection;
+
+    private ComparisonTest correctnessTest;
+
+    @Before
+    public void setUp() {
+        when(esConnection.getDatabaseName()).thenReturn("ES");
+        when(otherDbConnection.getDatabaseName()).thenReturn("Other");
+        correctnessTest = new ComparisonTest(
+            esConnection, new DBConnection[]{otherDbConnection}
+        );
+    }
+
+    @Test
+    public void testSuccess() {
+        when(esConnection.select(anyString())).thenReturn(
+            new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))))
+        );
+        when(otherDbConnection.select(anyString())).thenReturn(
+            new DBResult("Other DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))))
+        );
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new SuccessTestCase(1, "SELECT * FROM accounts"));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testFailureDueToInconsistency() {
+        DBResult esResult = new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))));
+        DBResult otherDbResult = new DBResult("Other DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("JOHN"))));
+        when(esConnection.select(anyString())).thenReturn(esResult);
+        when(otherDbConnection.select(anyString())).thenReturn(otherDbResult);
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", asList(esResult, otherDbResult)));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testSuccessFinally() {
+        DBConnection anotherDbConnection = mock(DBConnection.class);
+        when(anotherDbConnection.getDatabaseName()).thenReturn("Another");
+        correctnessTest = new ComparisonTest(
+            esConnection, new DBConnection[]{otherDbConnection, anotherDbConnection}
+        );
+
+        DBResult esResult = new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))));
+        DBResult otherDbResult = new DBResult("Other DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("JOHN"))));
+        DBResult anotherDbResult = new DBResult("Another DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))));
+        when(esConnection.select(anyString())).thenReturn(esResult);
+        when(otherDbConnection.select(anyString())).thenReturn(otherDbResult);
+        when(anotherDbConnection.select(anyString())).thenReturn(anotherDbResult);
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new SuccessTestCase(1, "SELECT * FROM accounts"));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testFailureDueToEventualInconsistency() {
+        DBConnection anotherDbConnection = mock(DBConnection.class);
+        when(anotherDbConnection.getDatabaseName()).thenReturn("ZZZ DB"); // Make sure this will be called after Other DB
+        correctnessTest = new ComparisonTest(
+            esConnection, new DBConnection[]{otherDbConnection, anotherDbConnection}
+        );
+
+        DBResult esResult = new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))));
+        DBResult otherDbResult = new DBResult("Other DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("JOHN"))));
+        DBResult anotherDbResult = new DBResult("ZZZ DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("Hank"))));
+        when(esConnection.select(anyString())).thenReturn(esResult);
+        when(otherDbConnection.select(anyString())).thenReturn(otherDbResult);
+        when(anotherDbConnection.select(anyString())).thenReturn(anotherDbResult);
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", asList(esResult, anotherDbResult)));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testErrorDueToESException() {
+        when(esConnection.select(anyString())).thenThrow(new RuntimeException("All shards failure"));
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new ErrorTestCase(1, "SELECT * FROM accounts", "RuntimeException: All shards failure"));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testErrorDueToNoOtherDBSupportThisQuery() {
+        when(esConnection.select(anyString())).thenReturn(
+            new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))))
+        );
+        when(otherDbConnection.select(anyString())).thenThrow(new RuntimeException("Unsupported feature"));
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new ErrorTestCase(1, "SELECT * FROM accounts", "No other databases support this query: Unsupported feature;"));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testSuccessWhenOneDBSupportThisQuery() {
+        DBConnection anotherDbConnection = mock(DBConnection.class);
+        when(anotherDbConnection.getDatabaseName()).thenReturn("Another");
+        correctnessTest = new ComparisonTest(
+            esConnection, new DBConnection[]{otherDbConnection, anotherDbConnection}
+        );
+
+        when(esConnection.select(anyString())).thenReturn(
+            new DBResult("ES", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))))
+        );
+        when(otherDbConnection.select(anyString())).thenThrow(new RuntimeException("Unsupported feature"));
+        when(anotherDbConnection.select(anyString())).thenReturn(
+            new DBResult("Another DB", ImmutableMap.of("firstname", "text"), asList(new Row(asList("John"))))
+        );
+
+        TestReport expected = new TestReport();
+        expected.addTestCase(new SuccessTestCase(1, "SELECT * FROM accounts"));
+        TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts"));
+        assertEquals(expected, actual);
+    }
+
+    private TestQuerySet querySet(String query) {
+        return new TestQuerySet(new String[]{ query });
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/DBResultTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/DBResultTest.java
new file mode 100644
index 0000000000..d3c16b7a27
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/DBResultTest.java
@@ -0,0 +1,52 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.google.common.collect.ImmutableMap;
+import org.junit.Test;
+
+import static java.util.Collections.emptyList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+/**
+ * Unit tests for {@link DBResult}
+ */
+public class DBResultTest {
+
+    @Test
+    public void dbResultFromDifferentDbNameShouldEqual() {
+        DBResult result1 = new DBResult("DB 1", ImmutableMap.of("name", "VARCHAR"), emptyList());
+        DBResult result2 = new DBResult("DB 2", ImmutableMap.of("name", "VARCHAR"), emptyList());
+        assertEquals(result1, result2);
+    }
+
+    @Test
+    public void dbResultWithDifferentColumnShouldNotEqual() {
+        DBResult result1 = new DBResult("DB 1", ImmutableMap.of("name", "VARCHAR"), emptyList());
+        DBResult result2 = new DBResult("DB 2", ImmutableMap.of("age", "INT"), emptyList());
+        assertNotEquals(result1, result2);
+    }
+
+    @Test
+    public void dbResultWithDifferentColumnTypeShouldNotEqual() {
+        DBResult result1 = new DBResult("DB 1", ImmutableMap.of("age", "FLOAT"), emptyList());
+        DBResult result2 = new DBResult("DB 2", ImmutableMap.of("age", "INT"), emptyList());
+        assertNotEquals(result1, result2);
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java
new file mode 100644
index 0000000000..aa4f10a6f9
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java
@@ -0,0 +1,109 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.ESConnection;
+import com.google.common.io.CharStreams;
+import org.apache.http.ProtocolVersion;
+import org.apache.http.message.BasicStatusLine;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Arrays;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link ESConnection}
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ESConnectionTest {
+
+    @Mock
+    private RestClient client;
+
+    private ESConnection conn;
+
+    @Before
+    public void setUp() throws IOException {
+        conn = new ESConnection("jdbc:elasticsearch://localhost:12345", client);
+
+        Response response = mock(Response.class);
+        when(client.performRequest(any(Request.class))).thenReturn(response);
+        when(response.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 2, 0), 200, ""));
+    }
+
+    @Test
+    public void testCreateTable() throws IOException {
+        conn.create("test", "mapping");
+
+        Request actual = captureActualArg();
+        assertEquals("PUT", actual.getMethod());
+        assertEquals("/test", actual.getEndpoint());
+        assertEquals("mapping", getBody(actual));
+    }
+
+    @Test
+    public void testInsertData() throws IOException {
+        conn.insert("test", new String[]{"name"}, Arrays.asList(new String[]{"John"}, new String[]{"Hank"}));
+
+        Request actual = captureActualArg();
+        assertEquals("POST", actual.getMethod());
+        assertEquals("/test/_bulk", actual.getEndpoint());
+        assertEquals(
+            "{\"index\":{}}\n"
+            + "{\"name\":\"John\"}\n"
+            + "{\"index\":{}}\n"
+            + "{\"name\":\"Hank\"}\n",
+            getBody(actual)
+        );
+    }
+
+    @Test
+    public void testDropTable() throws IOException {
+        conn.drop("test");
+
+        Request actual = captureActualArg();
+        assertEquals("DELETE", actual.getMethod());
+        assertEquals("/test", actual.getEndpoint());
+    }
+
+    private Request captureActualArg() throws IOException {
+        ArgumentCaptor<Request> argCap = ArgumentCaptor.forClass(Request.class);
+        verify(client).performRequest(argCap.capture());
+        return argCap.getValue();
+    }
+
+    private String getBody(Request request) throws IOException {
+        InputStream inputStream = request.getEntity().getContent();
+        return CharStreams.toString(new InputStreamReader(inputStream));
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java
new file mode 100644
index 0000000000..b039bd94a1
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java
@@ -0,0 +1,187 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.JDBCConnection;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.Row;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.stubbing.OngoingStubbing;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link JDBCConnection}
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class JDBCConnectionTest {
+
+    @Mock
+    private Connection connection;
+
+    @Mock
+    private Statement statement;
+
+    private JDBCConnection conn;
+
+    @Before
+    public void setUp() throws SQLException {
+        conn = new JDBCConnection("Test DB", "jdbc:testdb://localhost:12345");
+        conn.setConnection(connection);
+
+        when(connection.createStatement()).thenReturn(statement);
+    }
+
+    @Test
+    public void testCreateTable() throws SQLException {
+        conn.create("test", "{\"mappings\":{\"properties\":{\"name\":{\"type\":\"keyword\"},\"age\":{\"type\":\"INT\"}}}}");
+
+        ArgumentCaptor<String> argCap = ArgumentCaptor.forClass(String.class);
+        verify(statement).executeUpdate(argCap.capture());
+        String actual = argCap.getValue();
+
+        assertEquals("CREATE TABLE test(name VARCHAR,age INT)", actual);
+    }
+
+    @Test
+    public void testDropTable() throws SQLException {
+        conn.drop("test");
+
+        ArgumentCaptor<String> argCap = ArgumentCaptor.forClass(String.class);
+        verify(statement).executeUpdate(argCap.capture());
+        String actual = argCap.getValue();
+
+        assertEquals("DROP TABLE test", actual);
+    }
+
+    @Test
+    public void testInsertData() throws SQLException {
+        conn.insert("test", new String[]{"name", "age"},
+            Arrays.asList(new String[]{"John", "25"}, new String[]{"Hank", "30"}));
+
+        ArgumentCaptor<String> argCap = ArgumentCaptor.forClass(String.class);
+        verify(statement, times(2)).addBatch(argCap.capture());
+        List<String> actual = argCap.getAllValues();
+
+        assertEquals(
+            Arrays.asList(
+                "INSERT INTO test(name,age) VALUES ('John','25')",
+                "INSERT INTO test(name,age) VALUES ('Hank','30')"
+            ), actual
+        );
+    }
+
+    @Test
+    public void testSelectQuery() throws SQLException {
+        ResultSetMetaData metaData = mockMetaData(ImmutableMap.of("name", "VARCHAR", "age", "INT"));
+        ResultSet resultSet = mockResultSet(new Object[]{"John", 25}, new Object[]{"Hank", 30});
+        when(statement.executeQuery(anyString())).thenReturn(resultSet);
+        when(resultSet.getMetaData()).thenReturn(metaData);
+
+        DBResult result = conn.select("SELECT * FROM test");
+        assertEquals("Test DB", result.getDatabaseName());
+        assertEquals(
+            ImmutableMap.of("NAME", "VARCHAR", "AGE", "INT"),
+            result.getColumnNameAndTypes()
+        );
+        assertEquals(
+            Sets.newHashSet(
+                Arrays.asList("John", 25),
+                Arrays.asList("Hank", 30)
+            ),
+            result.getDataRows()
+        );
+    }
+
+    @Test
+    public void testSelectQueryWithFloatInResultSet() throws SQLException {
+        ResultSetMetaData metaData = mockMetaData(ImmutableMap.of("name", "VARCHAR", "balance", "FLOAT"));
+        ResultSet resultSet = mockResultSet(
+            new Object[]{"John", 25.123},
+            new Object[]{"Hank", 30.456},
+            new Object[]{"Allen", 15.1}
+        );
+        when(statement.executeQuery(anyString())).thenReturn(resultSet);
+        when(resultSet.getMetaData()).thenReturn(metaData);
+
+        DBResult result = conn.select("SELECT * FROM test");
+        assertEquals(
+            Sets.newHashSet(
+                Arrays.asList("John", 25.13),
+                Arrays.asList("Hank", 30.46),
+                Arrays.asList("Allen", 15.1)
+            ),
+            result.getDataRows()
+        );
+    }
+
+    private ResultSet mockResultSet(Object[]... rows) throws SQLException {
+        ResultSet resultSet = mock(ResultSet.class);
+        OngoingStubbing<Boolean> next = when(resultSet.next());
+        for (int i = 0; i < rows.length; i++) {
+            next = next.thenReturn(true);
+        }
+        next.thenReturn(false);
+
+        OngoingStubbing<Object> getObject = when(resultSet.getObject(anyInt()));
+        for (Object[] row : rows) {
+            for (Object val : row) {
+                getObject = getObject.thenReturn(val);
+            }
+        }
+        return resultSet;
+    }
+
+    private ResultSetMetaData mockMetaData(Map<String, String> nameAndTypes) throws SQLException {
+        ResultSetMetaData metaData = mock(ResultSetMetaData.class);
+
+        OngoingStubbing<String> getColumnName = when(metaData.getColumnName(anyInt()));
+        for (String name : nameAndTypes.keySet()) {
+            getColumnName = getColumnName.thenReturn(name);
+        }
+
+        OngoingStubbing<String> getColumnTypeName = when(metaData.getColumnTypeName(anyInt()));
+        for (String value : nameAndTypes.values()) {
+            getColumnTypeName = getColumnTypeName.thenReturn(value);
+        }
+
+        when(metaData.getColumnCount()).thenReturn(nameAndTypes.size());
+        return metaData;
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/RowTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/RowTest.java
new file mode 100644
index 0000000000..5992c975f1
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/RowTest.java
@@ -0,0 +1,49 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.Row;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+/**
+ * Unit test {@link Row}
+ */
+public class RowTest {
+
+    @Test
+    public void rowShouldEqualToOtherRowWithSimilarFloat() {
+        Row row1 = new Row();
+        Row row2 = new Row();
+        row1.add(1.000001);
+        row2.add(1.000002);
+        assertEquals(row1, row2);
+        assertEquals(row2, row1);
+    }
+
+    @Test
+    public void rowShouldNotEqualToOtherRowWithDifferentString() {
+        Row row1 = new Row();
+        Row row2 = new Row();
+        row1.add("hello");
+        row2.add("hello1");
+        assertNotEquals(row1, row2);
+        assertNotEquals(row2, row1);
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java
new file mode 100644
index 0000000000..a66719e4eb
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java
@@ -0,0 +1,72 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.TestConfig;
+import com.google.common.collect.ImmutableMap;
+import org.junit.Test;
+
+import java.util.Map;
+
+import static java.util.Collections.emptyMap;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.emptyString;
+import static org.hamcrest.Matchers.hasEntry;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Tests for {@link TestConfig}
+ */
+public class TestConfigTest {
+
+    @Test
+    public void testDefaultConfig() {
+        TestConfig config = new TestConfig(emptyMap());
+        assertThat(config.getESHostUrl(), is(emptyString()));
+        assertThat(
+            config.getOtherDbConnectionNameAndUrls(),
+            allOf(
+                hasEntry("H2", "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"),
+                hasEntry("SQLite", "jdbc:sqlite::memory:")
+            )
+        );
+    }
+
+    @Test
+    public void testCustomESUrls() {
+        Map<String, String> args = ImmutableMap.of("esHost", "localhost:9200");
+        TestConfig config = new TestConfig(args);
+        assertThat(config.getESHostUrl(), is("localhost:9200"));
+    }
+
+    @Test
+    public void testCustomDbUrls() {
+        Map<String, String> args = ImmutableMap.of("otherDbUrls",
+                                                   "H2=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1,"
+                                                   + "Derby=jdbc:derby:memory:myDb;create=true");
+
+        TestConfig config = new TestConfig(args);
+        assertThat(
+            config.getOtherDbConnectionNameAndUrls(),
+            allOf(
+                hasEntry("H2", "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"),
+                hasEntry("Derby", "jdbc:derby:memory:myDb;create=true")
+            )
+        );
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestDataSetTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestDataSetTest.java
new file mode 100644
index 0000000000..e67ba4e8c4
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestDataSetTest.java
@@ -0,0 +1,70 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestDataSet;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.contains;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Tests for {@link TestDataSet}
+ */
+public class TestDataSetTest {
+
+    @Test
+    public void testDataSetWithSingleColumnData() {
+        TestDataSet dataSet = new TestDataSet("test", "mappings", "hello\nworld\n123");
+        assertEquals("test", dataSet.getTableName());
+        assertEquals("mappings", dataSet.getSchema());
+        assertThat(
+            dataSet.getDataRows(),
+            contains(
+                new String[]{"hello"},
+                new String[]{"world"},
+                new String[]{"123"}
+            )
+        );
+    }
+
+    @Test
+    public void testDataSetWithMultiColumnsData() {
+        TestDataSet dataSet = new TestDataSet("test", "mappings", "hello,world\n123");
+        assertThat(
+            dataSet.getDataRows(),
+            contains(
+                new String[]{"hello", "world"},
+                new String[]{"123"}
+            )
+        );
+    }
+
+    @Test
+    public void testDataSetWithEscapedComma() {
+        TestDataSet dataSet = new TestDataSet("test", "mappings", "hello,\"hello,world,123\"\n123\n\"[abc,def,ghi]\",456");
+        assertThat(
+            dataSet.getDataRows(),
+            contains(
+                new String[]{"hello", "hello,world,123"},
+                new String[]{"123"},
+                new String[]{"[abc,def,ghi]", "456"}
+            )
+        );
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestQuerySetTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestQuerySetTest.java
new file mode 100644
index 0000000000..61b33d2927
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestQuerySetTest.java
@@ -0,0 +1,41 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestQuerySet;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.contains;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Tests for {@link TestQuerySet}
+ */
+public class TestQuerySetTest {
+
+    @Test
+    public void testQuerySet() {
+        TestQuerySet querySet = new TestQuerySet("SELECT * FROM accounts\nSELECT * FROM accounts LIMIT 5");
+        assertThat(
+            querySet,
+            contains(
+                "SELECT * FROM accounts",
+                "SELECT * FROM accounts LIMIT 5"
+            )
+        );
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java
new file mode 100644
index 0000000000..4bf917e25b
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java
@@ -0,0 +1,137 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.ErrorTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.FailedTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.SuccessTestCase;
+import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestReport;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.DBResult;
+import com.amazon.opendistroforelasticsearch.sql.correctness.runner.resultset.Row;
+import com.google.common.collect.ImmutableMap;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import static java.util.Arrays.asList;
+import static java.util.Collections.singleton;
+import static org.junit.Assert.fail;
+
+/**
+ * Test for {@link TestReport}
+ */
+public class TestReportTest {
+
+    private TestReport report = new TestReport();
+
+    @Test
+    public void testSuccessReport() {
+        report.addTestCase(new SuccessTestCase(1, "SELECT * FROM accounts"));
+        JSONObject actual = new JSONObject(report);
+        JSONObject expected = new JSONObject(
+            "{" +
+            "  \"summary\": {" +
+            "    \"total\": 1," +
+            "    \"success\": 1," +
+            "    \"failure\": 0" +
+            "  }," +
+            "  \"tests\": [" +
+            "    {" +
+            "      \"id\": 1," +
+            "      \"result\": 'Success'," +
+            "      \"sql\": \"SELECT * FROM accounts\"," +
+            "    }" +
+            "  ]" +
+            "}"
+        );
+
+        if (!actual.similar(expected)) {
+            fail("Actual JSON is different from expected: " + actual.toString(2));
+        }
+    }
+
+    @Test
+    public void testFailedReport() {
+        report.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", asList(
+            new DBResult("Elasticsearch", ImmutableMap.of("firstName", "text"), singleton(new Row(asList("hello")))),
+            new DBResult("H2", ImmutableMap.of("firstName", "text"), singleton(new Row(asList("world"))))
+        )));
+        JSONObject actual = new JSONObject(report);
+        JSONObject expected = new JSONObject(
+            "{" +
+            "  \"summary\": {" +
+            "    \"total\": 1," +
+            "    \"success\": 0," +
+            "    \"failure\": 1" +
+            "  }," +
+            "  \"tests\": [" +
+            "    {" +
+            "      \"id\": 1," +
+            "      \"result\": 'Failed'," +
+            "      \"sql\": \"SELECT * FROM accounts\"," +
+            "      \"resultSets\": [" +
+            "        {" +
+            "          \"database\": \"Elasticsearch\"," +
+            "          \"schema\": {" +
+            "              \"firstName\": \"text\"" +
+            "          }," +
+            "          \"dataRows\": [[\"hello\"]]" +
+            "        }," +
+            "        {" +
+            "          \"database\": \"H2\"," +
+            "          \"schema\": {" +
+            "              \"firstName\": \"text\"" +
+            "          }," +
+            "          \"dataRows\": [[\"world\"]]" +
+            "        }" +
+            "      ]" +
+            "    }" +
+            "  ]" +
+            "}"
+        );
+
+        if (!actual.similar(expected)) {
+            fail("Actual JSON is different from expected: " + actual.toString(2));
+        }
+    }
+
+    @Test
+    public void testErrorReport() {
+        report.addTestCase(new ErrorTestCase(1, "SELECT * FROM", "Missing table name in query"));
+        JSONObject actual = new JSONObject(report);
+        JSONObject expected = new JSONObject(
+            "{" +
+            "  \"summary\": {" +
+            "    \"total\": 1," +
+            "    \"success\": 0," +
+            "    \"failure\": 1" +
+            "  }," +
+            "  \"tests\": [" +
+            "    {" +
+            "      \"id\": 1," +
+            "      \"result\": 'Failed'," +
+            "      \"sql\": \"SELECT * FROM\"," +
+            "      \"reason\": \"Missing table name in query\"," +
+            "    }" +
+            "  ]" +
+            "}"
+        );
+
+        if (!actual.similar(expected)) {
+            fail("Actual JSON is different from expected: " + actual.toString(2));
+        }
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java
new file mode 100644
index 0000000000..dc766150b5
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java
@@ -0,0 +1,34 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+    ComparisonTestTest.class,
+    TestConfigTest.class,
+    TestDataSetTest.class,
+    TestQuerySetTest.class,
+    TestReportTest.class,
+    ESConnectionTest.class,
+    JDBCConnectionTest.class,
+    DBResultTest.class,
+    RowTest.class,
+})
+public class UnitTests {
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestDataSet.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestDataSet.java
new file mode 100644
index 0000000000..1294afe3c7
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestDataSet.java
@@ -0,0 +1,96 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.testset;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static com.amazon.opendistroforelasticsearch.sql.utils.StringUtils.unquoteSingleField;
+import static java.util.stream.Collectors.joining;
+
+/**
+ * Test data set
+ */
+public class TestDataSet {
+
+    private final String tableName;
+    private final String schema;
+    private final List<String[]> dataRows;
+
+    public TestDataSet(String tableName, String schemaFileContent, String dataFileContent) {
+        this.tableName = tableName;
+        this.schema = schemaFileContent;
+        this.dataRows = splitColumns(dataFileContent, ',');
+    }
+
+    public String getTableName() {
+        return tableName;
+    }
+
+    public String getSchema() {
+        return schema;
+    }
+
+    public List<String[]> getDataRows() {
+        return dataRows;
+    }
+
+    /** Split columns in each line by separator and ignore escaped separator(s) in quoted string. */
+    private List<String[]> splitColumns(String content, char separator) {
+        List<String[]> result = new ArrayList<>();
+        for (String line : content.split("\\r?\\n")) {
+
+            List<String> columns = new ArrayList<>();
+            boolean isQuoted = false;
+            int start = 0;
+            for (int i = 0; i < line.length(); i++) {
+
+                char c = line.charAt(i);
+                if (c == separator) {
+                    if (isQuoted) { // Ignore comma(s) in quoted string
+                        continue;
+                    }
+
+                    String column = line.substring(start, i);
+                    columns.add(unquoteSingleField(column, "\""));
+                    start = i + 1;
+
+                } else if (c == '\"') {
+                    isQuoted = !isQuoted;
+                }
+            }
+
+            columns.add(unquoteSingleField(line.substring(start), "\""));
+            result.add(columns.toArray(new String[0]));
+        }
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        int total = dataRows.size();
+        return "Test data set :\n"
+            + " Table name: " + tableName + '\n'
+            + " Schema: " + schema + '\n'
+            + " Data rows (first 5 in " + total + "):"
+            + dataRows.stream().
+                       limit(5).
+                       map(Arrays::toString).
+                       collect(joining("\n ", "\n ", "\n"));
+    }
+
+}
diff --git a/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestQuerySet.java b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestQuerySet.java
new file mode 100644
index 0000000000..dbad112b2f
--- /dev/null
+++ b/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/testset/TestQuerySet.java
@@ -0,0 +1,65 @@
+/*
+ *   Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License").
+ *   You may not use this file except in compliance with the License.
+ *   A copy of the License is located at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   or in the "license" file accompanying this file. This file 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 com.amazon.opendistroforelasticsearch.sql.correctness.testset;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import static java.util.stream.Collectors.joining;
+
+/**
+ * Test query set including SQL queries for comparison testing.
+ */
+public class TestQuerySet implements Iterable<String> {
+
+    private List<String> queries;
+
+    /**
+     * Construct by a test query file.
+     * @param queryFileContent  file content with query per line
+     */
+    public TestQuerySet(String queryFileContent) {
+        queries = lines(queryFileContent);
+    }
+
+    /**
+     * Construct by a test query array.
+     * @param queries       query in array
+     */
+    public TestQuerySet(String[] queries) {
+        this.queries = Arrays.asList(queries);
+    }
+
+    @Override
+    public Iterator<String> iterator() {
+        return queries.iterator();
+    }
+
+    private List<String> lines(String content) {
+        return Arrays.asList(content.split("\\r?\\n"));
+    }
+
+    @Override
+    public String toString() {
+        int total = queries.size();
+        return "SQL queries (first 5 in " + total + "):"
+            + queries.stream().
+                      limit(5).
+                      collect(joining("\n ", "\n ", "\n"));
+    }
+
+}
diff --git a/src/test/resources/correctness/kibana_sample_data_ecommerce.csv b/src/test/resources/correctness/kibana_sample_data_ecommerce.csv
new file mode 100644
index 0000000000..fbb0486a5d
--- /dev/null
+++ b/src/test/resources/correctness/kibana_sample_data_ecommerce.csv
@@ -0,0 +1,21 @@
+customer_first_name,customer_phone,type,manufacturer,customer_full_name,order_date,customer_last_name,day_of_week_i,total_quantity,currency,taxless_total_price,total_unique_products,category,customer_id,sku,order_id,user,customer_gender,email,day_of_week,taxful_total_price
+Irwin,,order,"[Elitelligence, Microlutions]",Irwin Mcdonald,2019-12-19T23:21:07+00:00,Mcdonald,3,2,EUR,26.98,2,[Men's Clothing],14,"[ZO0564605646, ZO0117401174]",551689,irwin,MALE,irwin@mcdonald-family.zzz,Thursday,26.98
+Wilhemina St.,,order,"[Spherecords Maternity, Oceanavigations]",Wilhemina St. Washington,2019-12-19T08:03:50+00:00,Washington,3,2,EUR,72.98,2,[Women's Clothing],17,"[ZO0705107051, ZO0270302703]",550817,wilhemina,FEMALE,wilhemina st.@washington-family.zzz,Thursday,72.98
+Kamal,,order,"[Elitelligence, Oceanavigations]",Kamal Foster,2019-12-19T08:47:02+00:00,Foster,3,2,EUR,45.98,2,[Men's Clothing],39,"[ZO0532905329, ZO0277802778]",550864,kamal,MALE,kamal@foster-family.zzz,Thursday,45.98
+Diane,,order,"[Tigress Enterprises, Low Tide Media]",Diane Turner,2019-12-22T13:45:07+00:00,Turner,6,2,EUR,107.94,2,"[Women's Clothing, Women's Shoes]",22,"[ZO0059900599, ZO0381103811]",555222,diane,FEMALE,diane@turner-family.zzz,Sunday,107.94
+Elyssa,,order,"[Pyramidustries, Low Tide Media]",Elyssa Willis,2019-12-22T15:00:00+00:00,Willis,6,2,EUR,84.98,2,[Women's Shoes],27,"[ZO0132901329, ZO0370903709]",555282,elyssa,FEMALE,elyssa@willis-family.zzz,Sunday,84.98
+Betty,,order,"[Spherecords, Angeldale]",Betty Simpson,2019-12-19T09:17:17+00:00,Simpson,3,2,EUR,78.98,2,"[Women's Clothing, Women's Shoes]",44,"[ZO0633506335, ZO0669306693]",550896,betty,FEMALE,betty@simpson-family.zzz,Thursday,78.98
+Abd,,order,"[Low Tide Media, Elitelligence]",Abd Benson,2019-12-20T10:27:50+00:00,Benson,4,2,EUR,61.98,2,"[Men's Shoes, Men's Clothing]",52,"[ZO0387703877, ZO0595705957]",552324,abd,MALE,abd@benson-family.zzz,Friday,61.98
+Abigail,,order,"[Low Tide Media, Champion Arts]",Abigail Thompson,2019-12-20T10:56:38+00:00,Thompson,4,2,EUR,84.98,2,"[Women's Shoes, Women's Clothing]",46,"[ZO0382403824, ZO0486904869]",552363,abigail,FEMALE,abigail@thompson-family.zzz,Friday,84.98
+Pia,,order,[Tigress Enterprises],Pia Banks,2019-12-20T03:07:12+00:00,Banks,4,2,EUR,41.98,2,"[Women's Shoes, Women's Clothing]",45,"[ZO0021800218, ZO0055100551]",551923,pia,FEMALE,pia@banks-family.zzz,Friday,41.98
+Samir,,order,"[Elitelligence, Low Tide Media]",Samir Baker,2019-12-20T04:10:34+00:00,Baker,4,2,EUR,74.98,2,[Men's Clothing],34,"[ZO0586805868, ZO0428604286]",551981,samir,MALE,samir@baker-family.zzz,Friday,74.98
+Oliver,,order,"[Angeldale, Elitelligence]",Oliver Hampton,2019-12-20T04:43:41+00:00,Hampton,4,2,EUR,105.98,2,"[Men's Shoes, Men's Clothing]",7,"[ZO0691806918, ZO0595805958]",552009,oliver,MALE,oliver@hampton-family.zzz,Friday,105.98
+Yasmine,,order,"[Oceanavigations, Pyramidustries]",Yasmine Lewis,2019-12-24T21:50:24+00:00,Lewis,1,2,EUR,46.98,2,[Women's Clothing],43,"[ZO0261802618, ZO0166001660]",558404,yasmine,FEMALE,yasmine@lewis-family.zzz,Tuesday,46.98
+Hicham,,order,"[Microlutions, Elitelligence]",Hicham Gregory,2019-12-26T23:08:10+00:00,Gregory,3,2,EUR,49.98,2,"[Men's Accessories, Men's Clothing]",8,"[ZO0126901269, ZO0533205332]",561156,hicham,MALE,hicham@gregory-family.zzz,Thursday,49.98
+Samir,,order,[Elitelligence],Samir Holland,2019-12-25T00:07:12+00:00,Holland,2,1,EUR,32.99,1,[Men's Clothing],34,[ZO0539205392],739226,samir,MALE,samir@holland-family.zzz,Wednesday,32.99
+Brigitte,,order,"[Tigress Enterprises, Low Tide Media]",Brigitte Sutton,2020-01-03T13:43:41+00:00,Sutton,4,2,EUR,79.98,2,[Women's Shoes],12,"[ZO0019300193, ZO0367503675]",571473,brigitte,FEMALE,brigitte@sutton-family.zzz,Friday,79.98
+Phil,,order,"[Low Tide Media, Angeldale]",Phil Rowe,2020-01-03T18:31:41+00:00,Rowe,4,2,EUR,95.98,2,"[Men's Clothing, Men's Shoes]",50,"[ZO0439004390, ZO0690706907]",571728,phil,MALE,phil@rowe-family.zzz,Friday,95.98
+Betty,,order,"[Tigress Enterprises, Spherecords]",Betty Reyes,2020-01-03T19:10:34+00:00,Reyes,4,2,EUR,53.98,2,"[Women's Shoes, Women's Clothing]",44,"[ZO0002200022, ZO0661506615]",571757,betty,FEMALE,betty@reyes-family.zzz,Friday,53.98
+Wilhemina St.,,order,"[Champion Arts, Tigress Enterprises]",Wilhemina St. Marshall,2020-01-03T17:29:46+00:00,Marshall,4,2,EUR,43.98,2,[Women's Clothing],17,"[ZO0505405054, ZO0081700817]",571672,wilhemina,FEMALE,wilhemina st.@marshall-family.zzz,Friday,43.98
+rania,,order,"[Pyramidustries, Gnomehouse]",rania Fletcher,2020-01-15T23:29:46+00:00,Fletcher,2,2,EUR,82.98,2,[Women's Clothing],24,"[ZO0174901749, ZO0352403524]",588090,rani,FEMALE,rania@fletcher-family.zzz,Wednesday,82.98
+Gwen,,order,"[Tigress Enterprises, Tigress Enterprises MAMA]",Gwen Marshall,2019-12-26T21:57:36+00:00,Marshall,3,2,EUR,43.98,2,[Women's Clothing],26,"[ZO0033900339, ZO0228102281]",561090,gwen,FEMALE,gwen@marshall-family.zzz,Thursday,43.98
diff --git a/src/test/resources/correctness/kibana_sample_data_ecommerce.json b/src/test/resources/correctness/kibana_sample_data_ecommerce.json
new file mode 100644
index 0000000000..dad8d6a1ba
--- /dev/null
+++ b/src/test/resources/correctness/kibana_sample_data_ecommerce.json
@@ -0,0 +1,100 @@
+{
+  "mappings": {
+    "properties": {
+      "category": {
+        "type": "text",
+        "fields": {
+          "keyword": {
+            "type": "keyword"
+          }
+        }
+      },
+      "currency": {
+        "type": "keyword"
+      },
+      "customer_birth_date": {
+        "type": "date"
+      },
+      "customer_first_name": {
+        "type": "text",
+        "fields": {
+          "keyword": {
+            "type": "keyword",
+            "ignore_above": 256
+          }
+        }
+      },
+      "customer_full_name": {
+        "type": "text",
+        "fields": {
+          "keyword": {
+            "type": "keyword",
+            "ignore_above": 256
+          }
+        }
+      },
+      "customer_gender": {
+        "type": "keyword"
+      },
+      "customer_id": {
+        "type": "keyword"
+      },
+      "customer_last_name": {
+        "type": "text",
+        "fields": {
+          "keyword": {
+            "type": "keyword",
+            "ignore_above": 256
+          }
+        }
+      },
+      "customer_phone": {
+        "type": "keyword"
+      },
+      "day_of_week": {
+        "type": "keyword"
+      },
+      "day_of_week_i": {
+        "type": "integer"
+      },
+      "email": {
+        "type": "keyword"
+      },
+      "manufacturer": {
+        "type": "text",
+        "fields": {
+          "keyword": {
+            "type": "keyword"
+          }
+        }
+      },
+      "order_date": {
+        "type": "date"
+      },
+      "order_id": {
+        "type": "keyword"
+      },
+      "sku": {
+        "type": "keyword"
+      },
+      "taxful_total_price": {
+        "type": "half_float"
+      },
+      "taxless_total_price": {
+        "type": "half_float"
+      },
+      "total_quantity": {
+        "type": "integer"
+      },
+      "total_unique_products": {
+        "type": "integer"
+      },
+      "type": {
+        "type": "keyword"
+      },
+      "user": {
+        "type": "keyword"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/correctness/kibana_sample_data_flights.csv b/src/test/resources/correctness/kibana_sample_data_flights.csv
new file mode 100644
index 0000000000..b3ffb73e23
--- /dev/null
+++ b/src/test/resources/correctness/kibana_sample_data_flights.csv
@@ -0,0 +1,21 @@
+FlightNum,Origin,FlightDelay,DistanceMiles,FlightTimeMin,OriginWeather,dayOfWeek,AvgTicketPrice,Carrier,FlightDelayMin,OriginRegion,FlightDelayType,DestAirportID,Dest,FlightTimeHour,Cancelled,DistanceKilometers,OriginCityName,DestWeather,OriginCountry,DestCountry,DestRegion,OriginAirportID,DestCityName,timestamp
+RGXY9H5,Chubu Centrair International Airport,false,1619.970725161303,124.1471507959044,Heavy Fog,0,626.1297405910661,Kibana Airlines,0,SE-BD,No Delay,CAN,Guangzhou Baiyun International Airport,2.06911917993174,true,2607.0901667139924,Tokoname,Clear,JP,CN,SE-BD,NGO,Guangzhou,2019-12-23T11:19:32
+WOPNZEP,Munich Airport,true,198.57903689856937,34.9738738474057,Sunny,0,681.9911763989377,Kibana Airlines,15,DE-BY,Carrier Delay,VE05,Venice Marco Polo Airport,0.5828978974567617,false,319.58198155849124,Munich,Cloudy,DE,IT,IT-34,MUC,Venice,2019-12-23T12:32:26
+G9J5O2V,Frankfurt am Main Airport,false,4857.154739888458,651.402736475921,Clear,0,868.0507463122127,Kibana Airlines,0,DE-HE,No Delay,XIY,Xi'an Xianyang International Airport,10.856712274598683,false,7816.832837711051,Frankfurt am Main,Thunder & Lightning,DE,CN,SE-BD,FRA,Xi'an,2019-12-23T03:48:33
+HM80A5V,Itami Airport,false,5862.6666599206,555.0027890084269,Heavy Fog,0,765.0413127727119,Logstash Airways,0,SE-BD,No Delay,TV01,Treviso-Sant'Angelo Airport,9.250046483473783,true,9435.047413143258,Osaka,Clear,JP,IT,IT-34,ITM,Treviso,2019-12-23T19:50:48
+84B0Y32,Charles de Gaulle International Airport,false,4397.926660603864,372.51457282541395,Thunder & Lightning,0,913.1638984616233,Kibana Airlines,0,FR-J,No Delay,STL,St Louis Lambert International Airport,6.208576213756899,false,7077.776883682865,Paris,Thunder & Lightning,FR,US,US-MO,CDG,St Louis,2019-12-23T11:30:48
+2AZWPJX,Rajiv Gandhi International Airport,true,0,180,Sunny,0,103.25307304704197,Logstash Airways,180,SE-BD,Security Delay,HYD,Rajiv Gandhi International Airport,3,false,0,Hyderabad,Hail,IN,IN,SE-BD,HYD,Hyderabad,2019-12-23T19:52:54
+SFLRI9O,Erie International Tom Ridge Field,false,6961.655654280931,622.4277087379495,Clear,0,775.1109173747694,Kibana Airlines,0,US-PA,No Delay,CJU,Jeju International Airport,10.373795145632492,false,11203.698757283091,Erie,Clear,US,KR,SE-BD,ERI,Jeju City,2019-12-23T07:32:32
+QDQMOD6,Brisbane International Airport,false,8013.330880747018,716.4558873858294,Thunder & Lightning,0,832.082612870741,ES-Air,0,SE-BD,No Delay,DEN,Denver International Airport,11.94093145643049,false,12896.20597294493,Brisbane,Cloudy,AU,US,US-CO,BNE,Denver,2019-12-23T10:59:26
+XTGFN9A,Jorge Chavez International Airport,false,3946.924514217792,396.99745533808243,Thunder & Lightning,0,348.23579123315324,Kibana Airlines,0,SE-BD,No Delay,YOW,Ottawa Macdonald-Cartier International Airport,6.616624255634707,false,6351.959285409319,Lima,Rain,PE,CA,CA-ON,LIM,Ottawa,2019-12-23T21:10:09
+USRQ3KK,Stockholm-Arlanda Airport,false,996.8381561540818,94.36797091633146,Clear,0,661.3465606549407,ES-Air,0,SE-AB,No Delay,TV01,Treviso-Sant'Angelo Airport,1.572799515272191,false,1604.2555055776347,Stockholm,Clear,SE,IT,IT-34,ARN,Treviso,2019-12-23T04:33:56
+PK46NHH,Milano Linate Airport,false,5261.396351845886,604.8140464617903,Rain,0,600.4401843290168,JetBeats,0,IT-25,No Delay,GEG,Spokane International Airport,10.080234107696505,false,8467.396650465065,Milan,Clear,IT,US,US-WA,MI11,Spokane,2019-12-23T20:35:25
+G80VHCJ,Bari Karol Wojty__a Airport,false,5630.111629019724,604.0524246328747,Sunny,0,738.260189539631,Logstash Airways,0,IT-75,No Delay,CJU,Jeju International Airport,10.067540410547911,false,9060.78636949312,Bari,Rain,IT,KR,SE-BD,BA02,Jeju City,2019-12-23T10:59:56
+PDS4U17,El Dorado International Airport,false,5591.079567130033,499.887241937962,Thunder & Lightning,0,437.9253204442997,ES-Air,0,SE-BD,No Delay,TO11,Turin Airport,8.331454032299368,false,8997.970354883317,Bogota,Hail,CO,IT,IT-21,BOG,Torino,2019-12-23T10:33:53
+2MXRGRK,Abu Dhabi International Airport,false,8160.7690090650885,656.6742320062424,Cloudy,0,825.9174161826418,JetBeats,0,SE-BD,No Delay,ABQ,Albuquerque International Sunport Airport,10.944570533437373,false,13133.484640124847,Abu Dhabi,Thunder & Lightning,AE,US,US-NM,AUH,Albuquerque,2019-12-23T19:27:11
+57CZEDA,London Heathrow Airport,true,4757.876231054233,720.4152685405732,Damaging Wind,0,836.1010286937247,ES-Air,270,GB-ENG,Carrier Delay,XHBU,Ukrainka Air Base,12.006921142342886,false,7657.059565189745,London,Sunny,GB,RU,RU-AMU,LHR,Belogorsk,2019-12-23T18:48:49
+5FYALP0,Malpensa International Airport,false,5812.230334559898,492.30936923905085,Damaging Wind,0,417.34744554513884,JetBeats,0,IT-25,No Delay,LAS,McCarran International Airport,8.20515615398418,false,9353.878015541966,Milan,Clear,IT,US,US-NV,MI12,Las Vegas,2019-12-23T10:37:54
+HVWAL6J,Comodoro Arturo Merino Benitez International Airport,false,7292.7292896018525,617.7110592550002,Cloudy,0,946.888426456834,Logstash Airways,0,SE-BD,No Delay,PA03,Falcone Borsellino Airport,10.29518432091667,false,11736.510125845005,Santiago,Cloudy,CL,IT,IT-82,SCL,Palermo,2019-12-23T03:54:12
+7ORM12S,Leonardo da Vinci___Fiumicino Airport,false,160.39074208529965,23.46580713004768,Sunny,0,118.37483602607261,Kibana Airlines,0,IT-62,No Delay,PI05,Pisa International Airport,0.39109678550079463,false,258.1238784305245,Rome,Sunny,IT,IT,IT-52,RM11,Pisa,2019-12-23T03:54:12
+2P36OEP,New Chitose Airport,true,5340.290617241973,941.1970552595557,Cloudy,0,705.7149863531135,Kibana Airlines,225,SE-BD,Late Aircraft Delay,VIE,Vienna International Airport,15.686617587659262,false,8594.364663114668,Chitose / Tomakomai,Rain,JP,AT,AT-9,CTS,Vienna,2019-12-23T09:41:52
+HLNZHCX,Verona Villafranca Airport,false,0,0,Sunny,0,172.3790782673846,ES-Air,0,IT-34,No Delay,VR10,Verona Villafranca Airport,0,false,0,Verona,Sunny,IT,IT,IT-34,VR10,Verona,2019-12-23T19:34:51
diff --git a/src/test/resources/correctness/kibana_sample_data_flights.json b/src/test/resources/correctness/kibana_sample_data_flights.json
new file mode 100644
index 0000000000..ca6030983a
--- /dev/null
+++ b/src/test/resources/correctness/kibana_sample_data_flights.json
@@ -0,0 +1,81 @@
+{
+  "mappings": {
+    "properties": {
+      "AvgTicketPrice": {
+        "type": "float"
+      },
+      "Cancelled": {
+        "type": "boolean"
+      },
+      "Carrier": {
+        "type": "keyword"
+      },
+      "Dest": {
+        "type": "keyword"
+      },
+      "DestAirportID": {
+        "type": "keyword"
+      },
+      "DestCityName": {
+        "type": "keyword"
+      },
+      "DestCountry": {
+        "type": "keyword"
+      },
+      "DestRegion": {
+        "type": "keyword"
+      },
+      "DestWeather": {
+        "type": "keyword"
+      },
+      "DistanceKilometers": {
+        "type": "float"
+      },
+      "DistanceMiles": {
+        "type": "float"
+      },
+      "FlightDelay": {
+        "type": "boolean"
+      },
+      "FlightDelayMin": {
+        "type": "integer"
+      },
+      "FlightDelayType": {
+        "type": "keyword"
+      },
+      "FlightNum": {
+        "type": "keyword"
+      },
+      "FlightTimeHour": {
+        "type": "keyword"
+      },
+      "FlightTimeMin": {
+        "type": "float"
+      },
+      "Origin": {
+        "type": "keyword"
+      },
+      "OriginAirportID": {
+        "type": "keyword"
+      },
+      "OriginCityName": {
+        "type": "keyword"
+      },
+      "OriginCountry": {
+        "type": "keyword"
+      },
+      "OriginRegion": {
+        "type": "keyword"
+      },
+      "OriginWeather": {
+        "type": "keyword"
+      },
+      "dayOfWeek": {
+        "type": "integer"
+      },
+      "timestamp" : {
+        "type" : "date"
+      }
+    }
+  }
+}
diff --git a/src/test/resources/correctness/sanity_integration_tests.txt b/src/test/resources/correctness/sanity_integration_tests.txt
new file mode 100644
index 0000000000..82cd2f8471
--- /dev/null
+++ b/src/test/resources/correctness/sanity_integration_tests.txt
@@ -0,0 +1,8 @@
+SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM kibana_sample_data_flights
+SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights
+SELECT f.AvgTicketPrice AS avg, f.Cancelled AS cancel, f.Carrier AS carrier, f.FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights f
+SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier
+SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier HAVING AVG(FlightDelayMin) > 5
+SELECT YEAR(timestamp) FROM kibana_sample_data_flights
+SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM kibana_sample_data_ecommerce e JOIN kibana_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000
+SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM kibana_sample_data_ecommerce e LEFT JOIN kibana_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000
diff --git a/src/test/resources/correctness/tableau_integration_tests.txt b/src/test/resources/correctness/tableau_integration_tests.txt
new file mode 100644
index 0000000000..e10ef3ae5a
--- /dev/null
+++ b/src/test/resources/correctness/tableau_integration_tests.txt
@@ -0,0 +1,215 @@
+SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ABS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ACOS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358221825_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ASIN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358545410_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ATAN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358811651_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ATAN2(`kibana_sample_data_flights`.`dayOfWeek`,`kibana_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252358811651_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(COS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(COT(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(DEGREES(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM((`kibana_sample_data_flights`.`dayOfWeek` DIV `kibana_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(EXP(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM((((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ROUND( (((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(LOG(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM((LOG(`kibana_sample_data_flights`.`dayOfWeek`)/LOG(10))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM((CASE WHEN `kibana_sample_data_flights`.`dayOfWeek` >= 0 OR FLOOR(2) = 2 THEN POWER(`kibana_sample_data_flights`.`dayOfWeek`,2) END)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(RADIANS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ROUND(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(SIGN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(SIN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(SQRT(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(POWER(`kibana_sample_data_flights`.`dayOfWeek`, 2)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(TAN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(ASCII(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT `kibana_sample_data_flights`.`Dest` AS `Dest` FROM `kibana_sample_data_flights` WHERE ((`kibana_sample_data_flights`.`Dest` = 'caching_sha2_password') AND (LOCATE('in',LOWER(`kibana_sample_data_flights`.`Dest`)) > 0)) GROUP BY 1
+SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (RIGHT(RTRIM(LOWER(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('.')) = '.') GROUP BY 1
+SELECT SUM(IF(ISNULL(1), NULL, LOCATE('Cape',`kibana_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(1))))) AS `sum_Calculation_462181953493630977_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN 3 >= 0 THEN LEFT(`kibana_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT LENGTH(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT LOWER(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT LTRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT IF(ISNULL(0), NULL, SUBSTRING(`kibana_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(0)),FLOOR(5))) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT REPLACE(`kibana_sample_data_flights`.`Origin`,'Airport','') AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN 3 >= 0 THEN RIGHT(`kibana_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT RTRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT IF(`kibana_sample_data_flights`.`AvgTicketPrice` >= 0, SPACE(FLOOR(`kibana_sample_data_flights`.`AvgTicketPrice`)), NULL) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT TRIM(LEADING '-' FROM TRIM(LEADING SUBSTRING_INDEX(`kibana_sample_data_flights`.`Origin`, '-', (2 - 1)) FROM SUBSTRING_INDEX(`kibana_sample_data_flights`.`Origin`, '-', 2))) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (LEFT(LTRIM(LOWER(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('$')) = '$') GROUP BY 1
+SELECT TRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT UPPER(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT ADDDATE( DATE_FORMAT( DATE(`kibana_sample_data_flights`.`password_last_changed`), '%Y-01-01 00:00:00' ), INTERVAL 0 SECOND ) AS `tyr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(DATE(`kibana_sample_data_flights`.`timestamp`)) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (YEAR(`kibana_sample_data_flights`.`timestamp`) - YEAR(DATE('1990-01-01'))) AS `Calculation_1706301351891775489` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MONTHNAME(`kibana_sample_data_flights`.`timestamp`) AS `Calculation_1706301351891775489` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(TIMESTAMP(STR_TO_DATE('5.April.2004', '%d.%i.%Y'))) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights`
+SELECT YEAR(ADDDATE( CONCAT( DATE_FORMAT( `kibana_sample_data_flights`.`timestamp`, '%Y-' ), (3*(QUARTER(`kibana_sample_data_flights`.`timestamp`)-1)+1), '-01 00:00:00' ), INTERVAL 0 SECOND )) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT DAYOFMONTH(`kibana_sample_data_flights`.`timestamp`) AS `Calculation_462181953481519104` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 2019 AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(ADDTIME(CAST(CAST(`kibana_sample_data_flights`.`timestamp` AS DATE) AS DATETIME), TIME(`kibana_sample_data_flights`.`timestamp`))) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(MAKETIME(`kibana_sample_data_flights`.`dayOfWeek`, `kibana_sample_data_flights`.`dayOfWeek`, `kibana_sample_data_flights`.`dayOfWeek`)) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`timestamp`) AS `max_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`timestamp`) AS `min_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MONTH(`kibana_sample_data_flights`.`timestamp`) AS `mn_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(NOW()) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(CURDATE()) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT ((`kibana_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') AND (`kibana_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE `kibana_sample_data_flights`.`OriginWeather` WHEN 'Sunny' THEN '1' WHEN 'Rain' THEN '0' ELSE 'NA' END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' WHEN (`kibana_sample_data_flights`.`FlightDelay` = 1) THEN 'Delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (RIGHT(RTRIM(`kibana_sample_data_flights`.`Origin`), LENGTH('Airport')) = 'Airport') AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT IFNULL(`kibana_sample_data_flights`.`Cancelled`, `kibana_sample_data_flights`.`AvgTicketPrice`) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (NOT ISNULL(DATE_FORMAT(`kibana_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT ISNULL(`kibana_sample_data_flights`.`FlightNum`) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `max_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (NOT ISNULL(DATE_FORMAT(`kibana_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT ((`kibana_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') OR (`kibana_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT IFNULL(`kibana_sample_data_flights`.`FlightDelay`, 0) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2376748618)(0)`,   MAX(`kibana_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2968235173)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT AVG(`kibana_sample_data_flights`.`FlightDelayMin`) AS `avg_max_user_connections_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(1) AS `cnt_max_user_connections_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`max_questions`) AS `max_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM((`kibana_sample_data_flights`.`AvgTicketPrice` * `kibana_sample_data_flights`.`AvgTicketPrice`)) AS `TEMP(Calculation_462181953506873347)(1705728846)(0)`,   SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2465277995)(0)`,   COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT COUNT(`kibana_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(2070533874)(0)`,   SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(3496560911)(0)`,   SUM((`kibana_sample_data_flights`.`DistanceMiles` * `kibana_sample_data_flights`.`DistanceMiles`)) AS `TEMP(Calculation_462181953506873347)(3595387140)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(105357904)(0)`,   COUNT(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(2584840543)(0)`,   SUM(((`kibana_sample_data_flights`.`dayOfWeek` + 0.0) * (`kibana_sample_data_flights`.`dayOfWeek` + 0.0))) AS `TEMP(Calculation_462181953506873347)(3340567470)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(1474522238)(0)`,   COUNT(`kibana_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(2841334535)(0)`,   SUM((`kibana_sample_data_flights`.`DistanceKilometers` * `kibana_sample_data_flights`.`DistanceKilometers`)) AS `TEMP(Calculation_462181953506873347)(461715975)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) = 'ABC') GROUP BY 1
+SELECT SUM((CASE \tWHEN ISNULL(`kibana_sample_data_flights`.`dayOfWeek`) THEN NULL \tWHEN ISNULL(10) THEN NULL \tELSE GREATEST(`kibana_sample_data_flights`.`dayOfWeek`, 10) END)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT `kibana_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`,   `kibana_sample_data_flights`.`Cancelled` AS `Cancelled`,   `kibana_sample_data_flights`.`Carrier` AS `Carrier`,   `kibana_sample_data_flights`.`DestAirportID` AS `DestAirportID`,   `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`,   `kibana_sample_data_flights`.`DestCountry` AS `DestCountry`,   `kibana_sample_data_flights`.`DestLocation` AS `DestLocation`,   `kibana_sample_data_flights`.`DestRegion` AS `Dest~~~<<<query-trunc>>>~~~e`.`kibana_sample_data_flights` AS `kibana_sample_data_flights` FROM `kibana_sample_data_ecommerce`   LEFT JOIN `kibana_sample_data_flights` ON (`kibana_sample_data_ecommerce`.`day_of_week_i` = `kibana_sample_data_flights`.`dayOfWeek`) LIMIT 1000
+SELECT `kibana_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`,   `kibana_sample_data_flights`.`Cancelled` AS `Cancelled`,   `kibana_sample_data_flights`.`Carrier` AS `Carrier`,   `kibana_sample_data_flights`.`DestAirportID` AS `DestAirportID`,   `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`,   `kibana_sample_data_flights`.`DestCountry` AS `DestCountry`,   `kibana_sample_data_flights`.`DestLocation` AS `DestLocation`,   `kibana_sample_data_flights`.`DestRegion` AS `Dest~~~<<<query-trunc>>>~~~`.`kibana_sample_data_flights` AS `kibana_sample_data_flights` FROM `kibana_sample_data_ecommerce`   RIGHT JOIN `kibana_sample_data_flights` ON (`kibana_sample_data_ecommerce`.`day_of_week_i` = `kibana_sample_data_flights`.`dayOfWeek`) LIMIT 1000
+SELECT `kibana_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC
+SELECT `kibana_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC
+SELECT `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`,   SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `$__alias__0` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `$__alias__0` DESC,   `DestCityName` ASC LIMIT 10
+SELECT 'DESKTOP-7APIVOE\\\\Rupal' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 0 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 0 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 1 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 'DESKTOP-7APIVOE' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 'ABC' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(3575797393)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(105357904)(0)`,   COUNT(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(2584840543)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2076389572)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2465277995)(0)`,   COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(718966039)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(2462140059)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(105357904)(0)`,   SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `kibana_sample_data_flights` GROUP BY 1
+SELECT 1 AS `empty` FROM `kibana_sample_data_flights`
+SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM kibana_sample_data_flights
+SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM kibana_sample_data_flights
+SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM kibana_sample_data_flights
+SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM kibana_sample_data_flights
+SELECT year(timestamp) AS yr_timestamp_ok FROM kibana_sample_data_flights
+SELECT abs(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT acos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM kibana_sample_data_flights
+SELECT asin(FlightDelayMin) AS sum_Calculation_160722252358545410_ok FROM kibana_sample_data_flights
+SELECT atan(FlightDelayMin) AS sum_Calculation_160722252358811651_ok FROM kibana_sample_data_flights
+SELECT atan2(FlightDelayMin,dayOfWeek) AS sum_Calculation_160722252358811651_ok FROM kibana_sample_data_flights
+SELECT SUM(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT cos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM kibana_sample_data_flights
+SELECT cot(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT degrees(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT FlightDelayMin div AvgTicketPrice AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT exp(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT SUM((((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT SUM(ROUND( (((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT log(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT (log(FlightDelayMin)/log(10)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT MAX(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT MIN(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT sum((case when dayOfWeek >= 0 or floor(2) = 2 then power(dayOfWeek,2) end)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT radians(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT round(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT sign(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT sin(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT sqrt(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT power(dayOfWeek, 2) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT tan(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT ascii(substring(OriginWeather, 1, 5)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT Dest, locate('air',Dest) FROM kibana_sample_data_flights
+SELECT substring(OriginWeather, 1, 1024) AS OriginWeather FROM kibana_sample_data_flights WHERE (right(rtrim(lower(substring(OriginWeather, 1, 5))), length('.')) ='.')
+SELECT sum(if(isnull(1), null, locate('Cape',Origin,greatest(1,floor(1))))) AS sum_Calculation_462181953493630977_ok FROM kibana_sample_data_flights
+SELECT (case when 3 >= 0 then left(Origin,3) else null end) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT length(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT lower(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT ltrim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT max(Origin) AS usr_Calculation_462181953493630977_nk FROM kibana_sample_data_flights
+SELECT if(isnull(0), null, substring(Origin,greatest(1,floor(0)),floor(5))) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT min(Origin) AS usr_Calculation_462181953493630977_nk FROM kibana_sample_data_flights
+SELECT replace(Origin,'Airport','') AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT (case when 3 >= 0 then right(Origin,3) else null end) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT rtrim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT if(AvgTicketPrice >= 0, space(floor(AvgTicketPrice)), null) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT trim(leading '-' FROM trim(leading substring(Origin, '-', (2 - 1)) FROM substring_index(Origin, '-', 2))) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM kibana_sample_data_flights where (left(ltrim(lower(substring(OriginWeather, 1, 5))), length('$')) = '$')
+SELECT trim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT upper(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights
+SELECT adddate( date_format( date(timestamp), '%Y-01-01 00:00:00' ), interval 0 second ) AS tyr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT year(date(timestamp)) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights
+SELECT year(timestamp(str_to_date('5.April.2004', '%d.%i.%Y'))) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights
+SELECT dayofmonth(timestamp) AS Calculation_462181953481519104 FROM kibana_sample_data_flights
+SELECT 2019 AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights
+SELECT max(timestamp) AS max_timestamp_ok FROM kibana_sample_data_flights
+SELECT min(timestamp) AS max_timestamp_ok FROM kibana_sample_data_flights
+SELECT month(timestamp) AS mn_timestamp_ok FROM kibana_sample_data_flights
+SELECT year(now()) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights
+SELECT year(curdate()) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights
+SELECT year(timestamp) AS yr_timestamp_ok FROM kibana_sample_data_flights
+SELECT ((Origin = 'Frankfurt am Main Airport') and (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case OriginWeather when 'Sunny' then '1' when 'Rain' then '0' else 'NA' end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (FlightDelay = 0) then 'No delay' when (FlightDelay = 1) then 'Delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (right(rtrim(Origin), length('Airport')) = 'Airport') AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT ifnull(Cancelled, AvgTicketPrice) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT isnull(FlightNum) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM kibana_sample_data_flights
+SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM kibana_sample_data_flights
+SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT ((Origin = 'Frankfurt am Main Airport') or (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT ifnull(FlightDelay, 0) AS Calculation_462181953506873347 FROM kibana_sample_data_flights
+SELECT min(Origin) AS temp(Calculation_462181953504628738)(2376748618)(0), max(Origin) AS temp(Calculation_462181953504628738)(2968235173)(0) FROM kibana_sample_data_flights
+SELECT AVG(dayOfWeek) AS avg_dayOfWeek_ok FROM kibana_sample_data_flights
+SELECT SUM(1) AS cnt_dayOfWeek_ok FROM kibana_sample_data_flights
+SELECT COUNT(DISTINCT AvgTicketPrice) AS ctd_AvgTicketPrice_ok FROM kibana_sample_data_flights
+SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM kibana_sample_data_flights
+SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM kibana_sample_data_flights
+SELECT sum((AvgTicketPrice * AvgTicketPrice)) AS temp(Calculation_462181953506873347)(1705728846)(0),   sum(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2465277995)(0),   count(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2633997250)(0) FROM kibana_sample_data_flights
+SELECT count(DistanceMiles) AS temp(Calculation_462181953506873347)(2070533874)(0),   sum(DistanceMiles) AS temp(Calculation_462181953506873347)(3496560911)(0),   sum((DistanceMiles * DistanceMiles)) AS temp(Calculation_462181953506873347)(3595387140)(0) FROM kibana_sample_data_flights
+SELECT SUM(dayOfWeek) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM kibana_sample_data_flights WHERE (substring(OriginWeather, 1, 5) = 'ABC')
+SELECT sum((case when isnull(FlightDelayMin) then null when isnull(10) then null else greatest(FlightDelayMin, 10) end)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights
+SELECT AvgTicketPrice AS AvgTicketPrice,   Cancelled AS Cancelled,   Carrier AS Carrier,   DestAirportID AS DestAirportID,   DestCityName AS DestCityName,   DestCountry AS DestCountry,   DestLocation AS DestLocation   FROM kibana_sample_data_ecommerce   INNER JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000
+SELECT AvgTicketPrice AS AvgTicketPrice,   Cancelled AS Cancelled,   Carrier AS Carrier,   DestAirportID AS DestAirportID,   DestCityName AS DestCityName,   DestCountry AS DestCountry,   DestLocation AS DestLocation FROM kibana_sample_data_ecommerce   LEFT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000
+SELECT AvgTicketPrice AS AvgTicketPrice,   Cancelled AS Cancelled,   Carrier AS Carrier,   DestAirportID AS DestAirportID,   DestCityName AS DestCityName,   DestCountry AS DestCountry,   DestLocation AS DestLocation FROM kibana_sample_data_ecommerce   RIGHT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000
+SELECT OriginCityName FROM kibana_sample_data_flights ORDER BY OriginCityName ASC
+SELECT OriginCityName FROM kibana_sample_data_flights ORDER BY OriginCityName DESC
+SELECT DestCityName,  SUM(AvgTicketPrice) AS $__alias__0 FROM kibana_sample_data_flights ORDER BY $__alias__0 DESC,  DestCityName ASC LIMIT 10
+SELECT AvgTicketPrice AS AvgTicketPrice,   Cancelled AS Cancelled,   Carrier AS Carrier FROM kibana_sample_data_ecommerce   INNER JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000
+SELECT AvgTicketPrice AS AvgTicketPrice,   Cancelled AS Cancelled,   Carrier AS Carrier FROM kibana_sample_data_ecommerce   LEFT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000
diff --git a/src/test/resources/correctness/test_data_test.csv b/src/test/resources/correctness/test_data_test.csv
new file mode 100644
index 0000000000..29489d2f77
--- /dev/null
+++ b/src/test/resources/correctness/test_data_test.csv
@@ -0,0 +1,3 @@
+AvgTicketPrice,Cancelled,Carrier,dayOfWeek,timestamp
+1000,true,Delta,1,123
+2000,false,Southwest,2,456
\ No newline at end of file
diff --git a/src/test/resources/correctness/test_data_test.json b/src/test/resources/correctness/test_data_test.json
new file mode 100644
index 0000000000..c77772d674
--- /dev/null
+++ b/src/test/resources/correctness/test_data_test.json
@@ -0,0 +1,21 @@
+{
+  "mappings": {
+    "properties": {
+      "AvgTicketPrice": {
+        "type": "float"
+      },
+      "Cancelled": {
+        "type": "boolean"
+      },
+      "Carrier": {
+        "type": "keyword"
+      },
+      "dayOfWeek": {
+        "type": "integer"
+      },
+      "timestamp": {
+        "type": "date"
+      }
+    }
+  }
+}