From 0f26e14adbdb205395caa6b175c3bf00a1e44861 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 8 Jan 2019 17:37:36 +0100 Subject: [PATCH 001/188] change to snapshot version 1.0.0-SNAPSHOT --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index c688b6e7..9907c856 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -5,7 +5,7 @@ org.utplsql org.utplsql.sqldev - 0.7.1 + 1.0.0-SNAPSHOT bundle UTF-8 From 7639000626131af7cf7770666011dab3258efab3 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 8 Jan 2019 17:38:16 +0100 Subject: [PATCH 002/188] Fix wrong assertion in generated test --- sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend index 19699259..a1a2819d 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend @@ -419,7 +419,7 @@ class DalTest extends AbstractJdbcTest { l_actual INTEGER; BEGIN l_actual := junit_f; - ut.expect(l_actual).to_equal(l_expected).to_equal(l_actual); + ut.expect(l_actual).to_equal(l_expected); END f1; END junit_utplsql_test_pkg; ''') From 4d484fb97c5af54fa07622e472b0d641eefd98e7 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 8 Jan 2019 17:38:56 +0100 Subject: [PATCH 003/188] return Thread when running reporter to simplify testing --- .../main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend b/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend index 55b1098a..470af55a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend @@ -136,11 +136,12 @@ class CodeCoverageReporter { this.excludeObjects = excludeObjects } - def runAsync() { + def Thread runAsync() { val Runnable runnable = [|run] val thread = new Thread(runnable) thread.name = "code coverage reporter" thread.start + return thread } def showParameterWindow() { From b56a7005ad746dbd60f85e06be650b81a63146a8 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 8 Jan 2019 17:39:24 +0100 Subject: [PATCH 004/188] test coverage reporter using a dedicated connection --- .../tests/CodeCoverageReporterTest.xtend | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend new file mode 100644 index 00000000..e284fa0c --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend @@ -0,0 +1,116 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.tests + +import java.io.File +import java.nio.file.Files +import java.nio.file.Path +import java.util.Comparator +import org.junit.AfterClass +import org.junit.Assert +import org.junit.BeforeClass +import org.junit.Test +import org.springframework.jdbc.BadSqlGrammarException +import org.springframework.jdbc.datasource.SingleConnectionDataSource +import org.utplsql.sqldev.CodeCoverageReporter +import java.nio.charset.StandardCharsets + +class CodeCoverageReporterTest extends AbstractJdbcTest{ + + @BeforeClass + def static void setup() { + jdbcTemplate.execute(''' + CREATE OR REPLACE FUNCTION f RETURN INTEGER IS + BEGIN + RETURN 1; + END f; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE test_f IS + --%suite + + --%test + PROCEDURE f; + END test_f; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY test_f IS + --%test + PROCEDURE f IS + l_expected INTEGER := 1; + l_actual INTEGER; + BEGIN + l_actual := scott.f(); + ut.expect(l_actual).to_equal(l_expected); + END f; + END test_f; + ''') + } + + private def Path getNewestOutputFile() { + val file = File.createTempFile("test", ".txt") + val dir = file.parentFile + file.delete + val last = Files.list(dir.toPath) + .filter([f | !f.toFile.directory]) + .filter([f | f.fileName.toString.startsWith("utplsql_")]) + .filter([f | f.fileName.toString.endsWith(".html")]) + .max(Comparator.comparingLong([f|f.toFile().lastModified()])) + if (last.isPresent) { + return last.get + } else { + return null + } + } + + @Test + def void produceReportAndCloseConnection() { + // create temporary dataSource, closed by reporter + var ds = new SingleConnectionDataSource() + ds.driverClassName = "oracle.jdbc.OracleDriver" + ds.url = dataSource.url + ds.username = dataSource.username + ds.password = dataSource.password + val conn = ds.connection + val pathList=#[':test_f'] + val includeObjectList = #['f'] + val reporter = new CodeCoverageReporter(pathList, includeObjectList, conn) + val run = reporter.runAsync + run.join(2000) + Assert.assertEquals(true, conn.isClosed) + val outputFile = getNewestOutputFile + Assert.assertTrue(outputFile !== null) + val content = new String(Files.readAllBytes(outputFile), StandardCharsets.UTF_8) + Assert.assertTrue(content.contains('

SCOTT.F

100 % lines covered

')) + } + + @AfterClass + def static void teardown() { + try { + jdbcTemplate.execute("DROP PACKAGE test_f") + } catch (BadSqlGrammarException e) { + // ignore + } + try { + jdbcTemplate.execute("DROP FUNCTION f") + } catch (BadSqlGrammarException e) { + // ignore + } + } + + + +} \ No newline at end of file From 3ee05bd219cb9cb7ef5fa030f542b6edb36d7ca6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 11 Jan 2019 23:27:35 +0100 Subject: [PATCH 005/188] rename classes and packages --- sqldev/extension.xml | 2 +- .../{ => coverage}/CodeCoverageReporter.xtend | 9 +++++---- .../utplsql/sqldev/menu/UtplsqlController.xtend | 12 ++++++------ .../UtplsqlWorksheetRunner.xtend} | 6 +++--- .../{ => ui/common}/DirectoryChooser.xtend | 2 +- .../coverage/CodeCoverageReporterDialog.xtend} | 13 +++++++------ .../{ => ui/preference}/PreferencePanel.xtend | 3 ++- .../{tests => test}/AbstractJdbcTest.xtend | 2 +- .../sqldev/{tests => test}/ResourceTest.xtend | 2 +- .../sqldev/{tests => test}/UrlToolsTest.xtend | 17 ++++++++++++++++- .../CodeCoverageReporterDialogTest.xtend} | 7 ++++--- .../coverage}/CodeCoverageReporterTest.xtend | 9 +++++---- .../sqldev/{tests => test/dal}/DalTest.xtend | 3 ++- .../parser}/UtplsqlParserTest.xtend | 3 ++- .../preference}/PreferenceModelTest.xtend | 2 +- 15 files changed, 57 insertions(+), 35 deletions(-) rename sqldev/src/main/java/org/utplsql/sqldev/{ => coverage}/CodeCoverageReporter.xtend (94%) rename sqldev/src/main/java/org/utplsql/sqldev/{UtplsqlWorksheet.xtend => runner/UtplsqlWorksheetRunner.xtend} (96%) rename sqldev/src/main/java/org/utplsql/sqldev/{ => ui/common}/DirectoryChooser.xtend (98%) rename sqldev/src/main/java/org/utplsql/sqldev/{CodeCoverageReporterWindow.xtend => ui/coverage/CodeCoverageReporterDialog.xtend} (95%) rename sqldev/src/main/java/org/utplsql/sqldev/{ => ui/preference}/PreferencePanel.xtend (96%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test}/AbstractJdbcTest.xtend (98%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test}/ResourceTest.xtend (96%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test}/UrlToolsTest.xtend (54%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests/CodeCoverageReporterWindowTest.xtend => test/coverage/CodeCoverageReporterDialogTest.xtend} (80%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test/coverage}/CodeCoverageReporterTest.xtend (95%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test/dal}/DalTest.xtend (99%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test/parser}/UtplsqlParserTest.xtend (99%) rename sqldev/src/test/java/org/utplsql/sqldev/{tests => test/preference}/PreferenceModelTest.xtend (97%) diff --git a/sqldev/extension.xml b/sqldev/extension.xml index c9c27d8e..c1e41dfd 100644 --- a/sqldev/extension.xml +++ b/sqldev/extension.xml @@ -158,7 +158,7 @@ - org.utplsql.sqldev.PreferencePanel + org.utplsql.sqldev.ui.preference.PreferencePanel diff --git a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend b/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.xtend similarity index 94% rename from sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.xtend index 470af55a..1b4acb50 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporter.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev +package org.utplsql.sqldev.coverage import java.awt.Desktop import java.io.File @@ -27,6 +27,7 @@ import java.util.List import java.util.logging.Logger import oracle.dbtools.raptor.utils.Connections import org.utplsql.sqldev.dal.UtplsqlDao +import org.utplsql.sqldev.ui.coverage.CodeCoverageReporterDialog class CodeCoverageReporter { static val Logger logger = Logger.getLogger(CodeCoverageReporter.name); @@ -34,7 +35,7 @@ class CodeCoverageReporter { var Connection conn var List pathList var List includeObjectList - var CodeCoverageReporterWindow frame + var CodeCoverageReporterDialog frame var String schemas var String includeObjects var String excludeObjects @@ -100,7 +101,7 @@ class CodeCoverageReporter { } } - def setFrame(CodeCoverageReporterWindow frame) { + def setFrame(CodeCoverageReporterDialog frame) { this.frame = frame; } @@ -145,7 +146,7 @@ class CodeCoverageReporter { } def showParameterWindow() { - CodeCoverageReporterWindow.createAndShow(this) + CodeCoverageReporterDialog.createAndShow(this) } } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend b/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend index ccf6cf8b..bd827581 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend @@ -36,14 +36,14 @@ import oracle.ide.config.Preferences import oracle.ide.controller.Controller import oracle.ide.controller.IdeAction import oracle.ide.editor.Editor -import org.utplsql.sqldev.CodeCoverageReporter -import org.utplsql.sqldev.UtplsqlWorksheet +import org.utplsql.sqldev.coverage.CodeCoverageReporter import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.URLTools import org.utplsql.sqldev.model.oddgen.GenContext import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.oddgen.TestTemplate import org.utplsql.sqldev.parser.UtplsqlParser +import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner class UtplsqlController implements Controller { static final Logger logger = Logger.getLogger(UtplsqlController.name); @@ -281,7 +281,7 @@ class UtplsqlController implements Controller { val parser = new UtplsqlParser(component.text, if (preferences.checkRunUtplsqlTest) {Connections.instance.getConnection(connectionName)} else {null}, owner) val position = component.caretPosition val path = parser.getPathAt(position) - val utPlsqlWorksheet = new UtplsqlWorksheet(path.pathList, connectionName) + val utPlsqlWorksheet = new UtplsqlWorksheetRunner(path.pathList, connectionName) utPlsqlWorksheet.runTestAsync } } else if (view instanceof DBNavigatorWindow) { @@ -290,7 +290,7 @@ class UtplsqlController implements Controller { val connectionName = url.connectionName logger.fine('''connectionName: «connectionName»''') val pathList=context.pathList.dedupPathList - val utPlsqlWorksheet = new UtplsqlWorksheet(pathList, connectionName) + val utPlsqlWorksheet = new UtplsqlWorksheetRunner(pathList, connectionName) utPlsqlWorksheet.runTestAsync } } @@ -388,7 +388,7 @@ class UtplsqlController implements Controller { populateGenContext(genContext, preferences) val testTemplate = new TestTemplate(genContext) val code = testTemplate.generate.toString - UtplsqlWorksheet.openWithCode(code, connectionName) + UtplsqlWorksheetRunner.openWithCode(code, connectionName) } } } @@ -400,7 +400,7 @@ class UtplsqlController implements Controller { val connectionName = url.connectionName val testTemplate = new TestTemplate(context.genContext) val code = testTemplate.generate.toString - UtplsqlWorksheet.openWithCode(code, connectionName) + UtplsqlWorksheetRunner.openWithCode(code, connectionName) } } } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/UtplsqlWorksheet.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.xtend similarity index 96% rename from sqldev/src/main/java/org/utplsql/sqldev/UtplsqlWorksheet.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.xtend index 1e80f4de..bd03229a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/UtplsqlWorksheet.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev +package org.utplsql.sqldev.runner import java.util.List import java.util.logging.Logger @@ -28,8 +28,8 @@ import oracle.ide.controller.IdeAction import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.resources.UtplsqlResources -class UtplsqlWorksheet { - static val Logger logger = Logger.getLogger(UtplsqlWorksheet.name); +class UtplsqlWorksheetRunner { + static val Logger logger = Logger.getLogger(UtplsqlWorksheetRunner.name); var PreferenceModel preferences var String connectionName diff --git a/sqldev/src/main/java/org/utplsql/sqldev/DirectoryChooser.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend similarity index 98% rename from sqldev/src/main/java/org/utplsql/sqldev/DirectoryChooser.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend index 2c47302b..ce28d908 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/DirectoryChooser.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev +package org.utplsql.sqldev.ui.common import java.io.File import java.util.logging.Logger diff --git a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporterWindow.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend similarity index 95% rename from sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporterWindow.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend index c9949738..65b572fd 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/CodeCoverageReporterWindow.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev +package org.utplsql.sqldev.ui.coverage import java.awt.Component import java.awt.Dimension @@ -38,9 +38,10 @@ import javax.swing.JTextField import javax.swing.ScrollPaneConstants import javax.swing.SwingUtilities import org.springframework.core.task.SimpleAsyncTaskExecutor +import org.utplsql.sqldev.coverage.CodeCoverageReporter import org.utplsql.sqldev.resources.UtplsqlResources -class CodeCoverageReporterWindow extends JFrame implements ActionListener, FocusListener { +class CodeCoverageReporterDialog extends JFrame implements ActionListener, FocusListener { var CodeCoverageReporter reporter var JButton runButton @@ -55,14 +56,14 @@ class CodeCoverageReporterWindow extends JFrame implements ActionListener, Focus def static createAndShow(CodeCoverageReporter reporter) { SwingUtilities.invokeLater(new Runnable() { override run() { - CodeCoverageReporterWindow.createAndShowWithinEventThread(reporter); + CodeCoverageReporterDialog.createAndShowWithinEventThread(reporter); } }); } def private static createAndShowWithinEventThread(CodeCoverageReporter reporter) { // create and layout the dialog - val frame = new CodeCoverageReporterWindow(reporter) + val frame = new CodeCoverageReporterDialog(reporter) reporter.frame = frame frame.pack // center dialog @@ -75,7 +76,7 @@ class CodeCoverageReporterWindow extends JFrame implements ActionListener, Focus new(CodeCoverageReporter reporter) { super(UtplsqlResources.getString("WINDOW_CODE_COVERAGE_REPORT_LABEL")) this.reporter = reporter - val pane = this.getContentPane(); + val pane = getContentPane(); pane.setLayout(new GridBagLayout()); val c = new GridBagConstraints(); @@ -169,7 +170,7 @@ class CodeCoverageReporterWindow extends JFrame implements ActionListener, Focus } def exit() { - this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); + dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); } override actionPerformed(ActionEvent e) { diff --git a/sqldev/src/main/java/org/utplsql/sqldev/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend similarity index 96% rename from sqldev/src/main/java/org/utplsql/sqldev/PreferencePanel.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index 82aff318..f2874afc 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev +package org.utplsql.sqldev.ui.preference import java.awt.event.ActionEvent import java.awt.event.ActionListener @@ -33,6 +33,7 @@ import oracle.ide.panels.TraversalException import oracle.javatools.ui.layout.FieldLayoutBuilder import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.resources.UtplsqlResources +import org.utplsql.sqldev.ui.common.DirectoryChooser class PreferencePanel extends DefaultTraversablePanel { val JPanel runTestPanel = new JPanel(); diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/AbstractJdbcTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/AbstractJdbcTest.xtend similarity index 98% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/AbstractJdbcTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/AbstractJdbcTest.xtend index 5341fb3f..015885e0 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/AbstractJdbcTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/AbstractJdbcTest.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test import java.io.StringReader import java.util.ArrayList diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/ResourceTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend similarity index 96% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/ResourceTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend index c09751b3..c39613e5 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/ResourceTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test import org.junit.Assert import org.junit.Test diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/UrlToolsTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend similarity index 54% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/UrlToolsTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend index eee16ce3..222b4ff3 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/UrlToolsTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend @@ -1,4 +1,19 @@ -package org.utplsql.sqldev.tests +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.test import org.junit.Assert import org.junit.Test diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterWindowTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend similarity index 80% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterWindowTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend index 333d69bc..70af4443 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterWindowTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test.coverage import org.junit.Test -import org.utplsql.sqldev.CodeCoverageReporter +import org.utplsql.sqldev.coverage.CodeCoverageReporter +import org.utplsql.sqldev.test.AbstractJdbcTest -class CodeCoverageReporterWindowTest extends AbstractJdbcTest{ +class CodeCoverageReporterDialogTest extends AbstractJdbcTest{ @Test def void layoutTest() { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend similarity index 95% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend index e284fa0c..928de53c 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/CodeCoverageReporterTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test.coverage import java.io.File +import java.nio.charset.StandardCharsets import java.nio.file.Files import java.nio.file.Path import java.util.Comparator @@ -25,8 +26,8 @@ import org.junit.BeforeClass import org.junit.Test import org.springframework.jdbc.BadSqlGrammarException import org.springframework.jdbc.datasource.SingleConnectionDataSource -import org.utplsql.sqldev.CodeCoverageReporter -import java.nio.charset.StandardCharsets +import org.utplsql.sqldev.coverage.CodeCoverageReporter +import org.utplsql.sqldev.test.AbstractJdbcTest class CodeCoverageReporterTest extends AbstractJdbcTest{ @@ -89,7 +90,7 @@ class CodeCoverageReporterTest extends AbstractJdbcTest{ val includeObjectList = #['f'] val reporter = new CodeCoverageReporter(pathList, includeObjectList, conn) val run = reporter.runAsync - run.join(2000) + run.join(20000) Assert.assertEquals(true, conn.isClosed) val outputFile = getNewestOutputFile Assert.assertTrue(outputFile !== null) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend similarity index 99% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index a1a2819d..ea008e29 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.utplsql.sqldev.tests + package org.utplsql.sqldev.test.dal import java.util.ArrayList import java.util.HashMap @@ -24,6 +24,7 @@ import org.junit.Test import org.springframework.jdbc.BadSqlGrammarException import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.ut.Annotation +import org.utplsql.sqldev.test.AbstractJdbcTest class DalTest extends AbstractJdbcTest { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/UtplsqlParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend similarity index 99% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/UtplsqlParserTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend index 93be55f4..b99c1599 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/UtplsqlParserTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test.parser import org.junit.AfterClass import org.junit.Assert @@ -21,6 +21,7 @@ import org.junit.BeforeClass import org.junit.Test import org.springframework.jdbc.BadSqlGrammarException import org.utplsql.sqldev.parser.UtplsqlParser +import org.utplsql.sqldev.test.AbstractJdbcTest class UtplsqlParserTest extends AbstractJdbcTest { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/tests/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend similarity index 97% rename from sqldev/src/test/java/org/utplsql/sqldev/tests/PreferenceModelTest.xtend rename to sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index 206d690b..d6d439ca 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/tests/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.utplsql.sqldev.tests +package org.utplsql.sqldev.test.preference import org.junit.Assert import org.junit.Test From fe915b8ae5511bf1566c025a07f1efd2985cf2d1 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 11 Jan 2019 23:27:49 +0100 Subject: [PATCH 006/188] remove duplicate dependency --- sqldev/pom.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 9907c856..a2d24751 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -60,13 +60,6 @@ system ${sqldev.basedir}/ide/lib/uic.jar - - oracle - oracle.sqldeveloper.utils - 12.2.0 - system - ${sqldev.basedir}/sqldeveloper/extensions/oracle.sqldeveloper.utils.jar - oracle oracle.ide.navigator From 225152e5cd7f42296206cd9490928fa50a06a9bb Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 11 Jan 2019 23:40:32 +0100 Subject: [PATCH 007/188] add missing default tests --- .../utplsql/sqldev/test/preference/PreferenceModelTest.xtend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index d6d439ca..fd3f7a24 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -33,6 +33,7 @@ class PreferenceModelTest { Assert.assertEquals("", model.testPackageSuffix) Assert.assertEquals("", model.testUnitPrefix) Assert.assertEquals("", model.testUnitSuffix) + Assert.assertEquals(1, model.numberOfTestsPerUnit) Assert.assertFalse(model.checkGenerateUtplsqlTest) Assert.assertTrue(model.generateComments) Assert.assertFalse(model.disableTests) @@ -40,6 +41,7 @@ class PreferenceModelTest { Assert.assertEquals(3, model.indentSpaces) Assert.assertTrue(model.generateFiles) Assert.assertEquals(PreferenceModel.DEFAULT_OUTPUT_DIRECTORY, model.outputDirectory) + Assert.assertEquals(false, model.deleteExistingFiles) Assert.assertEquals("utPLSQL", model.rootFolderInOddgenView) } } From 5c2198ca194c17ba07723107fcf9d961b62def9e Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 11 Jan 2019 23:50:37 +0100 Subject: [PATCH 008/188] remove unused choose method --- .../org/utplsql/sqldev/ui/common/DirectoryChooser.xtend | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend index ce28d908..adc057a2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/common/DirectoryChooser.xtend @@ -17,7 +17,6 @@ package org.utplsql.sqldev.ui.common import java.io.File import java.util.logging.Logger -import javax.swing.JComboBox import javax.swing.JFileChooser import javax.swing.JFrame import javax.swing.JTextField @@ -46,11 +45,4 @@ class DirectoryChooser { } } - def static void choose (JFrame parentFrame, String title, JComboBox comboBox) { - val dir = choose(parentFrame, title, comboBox.editor.item as String); - if (dir !== null) { - comboBox.editor.item = dir - } - } - } From 628099db653f52f5a0f4d374a1f809298a0b6ee6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 00:54:55 +0100 Subject: [PATCH 009/188] close dialog at the end --- .../sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend index 70af4443..99f4dbc6 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend @@ -25,7 +25,8 @@ class CodeCoverageReporterDialogTest extends AbstractJdbcTest{ def void layoutTest() { val reporter = new CodeCoverageReporter(#["SCOTT"], #['a', 'b', 'c'], dataSource.connection) reporter.showParameterWindow - Thread.sleep(2 * 1000) + Thread.sleep(4 * 1000) + reporter.frame.exit } } \ No newline at end of file From 6abb537b52ccd8cb5ec1408a20f58b25a89d7475 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 00:55:50 +0100 Subject: [PATCH 010/188] add layout test for preference panel --- sqldev/pom.xml | 17 +++++++- .../test/preference/PreferencePanelTest.xtend | 43 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend diff --git a/sqldev/pom.xml b/sqldev/pom.xml index a2d24751..c5d2c20a 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -137,7 +137,22 @@ system ${sqldev.basedir}/jdev/extensions/oracle.jdeveloper.java.core.jar - + + + oracle + jewt4.jar + 12.2.1 + system + ${sqldev.basedir}/modules/oracle.bali.jewt/jewt4.jar + + + oracle + share.jar + 12.2.1 + system + ${sqldev.basedir}/modules/oracle.bali.share/share.jar + + org.osgi diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend new file mode 100644 index 00000000..5c1f018b --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend @@ -0,0 +1,43 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.test.preference + +import java.awt.Toolkit +import javax.swing.JFrame +import javax.swing.SwingUtilities +import org.junit.Test +import org.utplsql.sqldev.ui.preference.PreferencePanel + +class PreferencePanelTest { + + @Test + def void layoutTest() { + val frame = new JFrame("Preference Panel") + SwingUtilities.invokeLater(new Runnable() { + override run() { + val panel = new PreferencePanel + frame.add(panel) + frame.pack + val dim = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); + frame.setVisible(true) + } + }); + Thread.sleep(4 * 1000) + frame.dispose + } + +} \ No newline at end of file From 2cbd04560c95f58f1f19897a5c6ea63148edb5dd Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 08:34:44 +0100 Subject: [PATCH 011/188] moved bug fix tests to dedicated class --- .../test/parser/UtplsqlParserBugFixTest.xtend | 115 ++++++++++++++++++ .../test/parser/UtplsqlParserTest.xtend | 89 -------------- 2 files changed, 115 insertions(+), 89 deletions(-) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend new file mode 100644 index 00000000..b314f848 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend @@ -0,0 +1,115 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.test.parser + +import org.junit.Assert +import org.junit.Test +import org.utplsql.sqldev.parser.UtplsqlParser + +class UtplsqlParserBugFixTest { + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/1 + def issue_1_matching_expr_in_string_literals() { + val plsql = ''' + create or replace package body test_expect_not_to_be_null + is + gc_object_name constant varchar2(30) := 't_not_to_be_null_test'; + gc_nested_table_name constant varchar2(30) := 'tt_not_to_be_null_test'; + gc_varray_name constant varchar2(30) := 'tv_not_to_be_null_test'; + + procedure cleanup_expectations + is + begin + ut3.ut_expectation_processor.clear_expectations(); + end; + + procedure create_types + is + pragma autonomous_transaction; + begin + execute immediate 'create type '||gc_object_name||' is object (dummy number)'; + execute immediate ' create type '||gc_nested_table_name||' is table of number'; + execute immediate ' + create type '||gc_varray_name||' is varray(1) of number'; + end; + + procedure drop_types + is + pragma autonomous_transaction; + begin + execute immediate 'drop type '||gc_object_name; + execute immediate ' drop type '||gc_nested_table_name; + execute immediate ' + drop type '||gc_varray_name; + end; + + procedure blob_not_null + is + begin + --Act + execute immediate expectations_helpers.unary_expectation_block('not_to_be_null', 'blob', 'to_blob(''abc'')'); + --Assert + ut.expect(anydata.convertCollection(ut3.ut_expectation_processor.get_failed_expectations())).to_be_empty(); + end; + + --and so on... + + end; + ''' + val parser = new UtplsqlParser(plsql) + Assert.assertEquals("test_expect_not_to_be_null.cleanup_expectations", parser.getPathAt(parser.toPosition(7,1))) + Assert.assertEquals("test_expect_not_to_be_null.create_types", parser.getPathAt(parser.toPosition(13,1))) + // was: '||gc_varray_name||'.drop_types + Assert.assertEquals("test_expect_not_to_be_null.drop_types", parser.getPathAt(parser.toPosition(23,1))) + // was: '||gc_varray_name||'.blob_not_null + Assert.assertEquals("test_expect_not_to_be_null.blob_not_null", parser.getPathAt(parser.toPosition(33,1))) + } + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/7 + def issue_7_platform_specific_line_terminators() { + val plsql = ''' + create or replace package test_expect_not_to_be_null + is + --%suite(expectations - not_to_be_null) + --%suitepath(utplsql.core.expectations.unary) + + --%aftereach + procedure cleanup_expectations; + + --%beforeall + procedure create_types; + + --%afterall + procedure drop_types; + + --%test(Gives success for not null blob) + procedure blob_not_null; + + --%test(Gives success for blob with length 0) + procedure blob_0_length; + + -- ... + end test_expect_not_to_be_null; + / + ''' + val parser = new UtplsqlParser(plsql) + // was: test_expect_not_to_be_null.create_types + Assert.assertEquals("test_expect_not_to_be_null.blob_not_null", parser.getPathAt(parser.toPosition(13,26))) + } + +} diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend index b99c1599..76c52bd2 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend @@ -130,95 +130,6 @@ class UtplsqlParserTest extends AbstractJdbcTest { Assert.assertEquals("SCOTT.PKG.p", parser.getPathAt(parser.toPosition(19,1))) setupAndTeardown } - - @Test - def issue_1() { - val plsql = ''' - create or replace package body test_expect_not_to_be_null - is - gc_object_name constant varchar2(30) := 't_not_to_be_null_test'; - gc_nested_table_name constant varchar2(30) := 'tt_not_to_be_null_test'; - gc_varray_name constant varchar2(30) := 'tv_not_to_be_null_test'; - - procedure cleanup_expectations - is - begin - ut3.ut_expectation_processor.clear_expectations(); - end; - - procedure create_types - is - pragma autonomous_transaction; - begin - execute immediate 'create type '||gc_object_name||' is object (dummy number)'; - execute immediate ' create type '||gc_nested_table_name||' is table of number'; - execute immediate ' - create type '||gc_varray_name||' is varray(1) of number'; - end; - - procedure drop_types - is - pragma autonomous_transaction; - begin - execute immediate 'drop type '||gc_object_name; - execute immediate ' drop type '||gc_nested_table_name; - execute immediate ' - drop type '||gc_varray_name; - end; - - procedure blob_not_null - is - begin - --Act - execute immediate expectations_helpers.unary_expectation_block('not_to_be_null', 'blob', 'to_blob(''abc'')'); - --Assert - ut.expect(anydata.convertCollection(ut3.ut_expectation_processor.get_failed_expectations())).to_be_empty(); - end; - - --and so on... - - end; - ''' - val parser = new UtplsqlParser(plsql) - Assert.assertEquals("test_expect_not_to_be_null.cleanup_expectations", parser.getPathAt(parser.toPosition(7,1))) - Assert.assertEquals("test_expect_not_to_be_null.create_types", parser.getPathAt(parser.toPosition(13,1))) - // was: '||gc_varray_name||'.drop_types - Assert.assertEquals("test_expect_not_to_be_null.drop_types", parser.getPathAt(parser.toPosition(23,1))) - // was: '||gc_varray_name||'.blob_not_null - Assert.assertEquals("test_expect_not_to_be_null.blob_not_null", parser.getPathAt(parser.toPosition(33,1))) - } - - @Test - def issue_7() { - val plsql = ''' - create or replace package test_expect_not_to_be_null - is - --%suite(expectations - not_to_be_null) - --%suitepath(utplsql.core.expectations.unary) - - --%aftereach - procedure cleanup_expectations; - - --%beforeall - procedure create_types; - - --%afterall - procedure drop_types; - - --%test(Gives success for not null blob) - procedure blob_not_null; - - --%test(Gives success for blob with length 0) - procedure blob_0_length; - - -- ... - end test_expect_not_to_be_null; - / - ''' - val parser = new UtplsqlParser(plsql) - // was: test_expect_not_to_be_null.create_types - Assert.assertEquals("test_expect_not_to_be_null.blob_not_null", parser.getPathAt(parser.toPosition(13,26))) - } @Test def testProcedure() { From 4c508cb63613d1892e0ba193c1acb9651bc4f50d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 08:39:54 +0100 Subject: [PATCH 012/188] renamed tests using CamelCase --- .../utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend index b314f848..3ec0c926 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserBugFixTest.xtend @@ -23,7 +23,7 @@ class UtplsqlParserBugFixTest { @Test // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/1 - def issue_1_matching_expr_in_string_literals() { + def issue1MatchingExprInStringLiterals() { val plsql = ''' create or replace package body test_expect_not_to_be_null is @@ -81,7 +81,7 @@ class UtplsqlParserBugFixTest { @Test // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/7 - def issue_7_platform_specific_line_terminators() { + def issue7WrongPositionWithWindowsLineSeparator() { val plsql = ''' create or replace package test_expect_not_to_be_null is From 3275c1a231d289780b0b8f8e1af896d44fccbfb8 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 08:52:00 +0100 Subject: [PATCH 013/188] move bug fix tests to dedicated class --- .../sqldev/test/dal/DalBugFixTest.xtend | 107 ++++++++++++++++++ .../org/utplsql/sqldev/test/dal/DalTest.xtend | 65 ----------- 2 files changed, 107 insertions(+), 65 deletions(-) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalBugFixTest.xtend diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalBugFixTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalBugFixTest.xtend new file mode 100644 index 00000000..d53fe158 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalBugFixTest.xtend @@ -0,0 +1,107 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.test.dal + +import org.junit.AfterClass +import org.junit.Assert +import org.junit.BeforeClass +import org.junit.Test +import org.springframework.jdbc.BadSqlGrammarException +import org.utplsql.sqldev.dal.UtplsqlDao +import org.utplsql.sqldev.test.AbstractJdbcTest + +class DalBugFixTest extends AbstractJdbcTest { + + @BeforeClass + @AfterClass + def static void setupAndTeardown() { + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + } + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/54 + def void issue54FolderIconForSuitesWithoutTests() { + setupAndTeardown + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + END junit_utplsql_test_pkg; + ''') + val dao = new UtplsqlDao(dataSource.connection) + val actualNodes = dao.runnables() + Assert.assertEquals(4, actualNodes.size) + val pkg = actualNodes.findFirst[it.id == "SCOTT:junit_utplsql_test_pkg"] + Assert.assertEquals("FOLDER_ICON", pkg.iconName) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/54 + def void issue54PackageIconForSuitesWithTests() { + setupAndTeardown + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + -- %test + PROCEDURE t1; + + END junit_utplsql_test_pkg; + ''') + val dao = new UtplsqlDao(dataSource.connection) + val actualNodes = dao.runnables() + Assert.assertEquals(6, actualNodes.size) + val pkg = actualNodes.findFirst[it.id == "SCOTT:junit_utplsql_test_pkg"] + Assert.assertEquals("PACKAGE_ICON", pkg.iconName) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/55 + def void issue55SuiteWithoutTests() { + setupAndTeardown + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + END junit_utplsql_test_pkg; + ''') + val dao = new UtplsqlDao(dataSource.connection) + val actualNodes = dao.runnables() + Assert.assertEquals(4, actualNodes.size) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } + + @Test + // https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/56 + def void issue56SuiteWithoutTests() { + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + END junit_utplsql_test_pkg; + ''') + val dao = new UtplsqlDao(dataSource.connection) + Assert.assertTrue(dao.containsUtplsqlTest("scott", "junit_utplsql_test_pkg")) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } + +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index ea008e29..125f1045 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -473,69 +473,4 @@ class DalTest extends AbstractJdbcTest { } - @Test - def void issue54FolderIconForSuitesWithoutTests() { - setupAndTeardown - jdbcTemplate.execute(''' - CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS - -- %suite - - END junit_utplsql_test_pkg; - ''') - val dao = new UtplsqlDao(dataSource.connection) - val actualNodes = dao.runnables() - Assert.assertEquals(4, actualNodes.size) - val pkg = actualNodes.findFirst[it.id == "SCOTT:junit_utplsql_test_pkg"] - Assert.assertEquals("FOLDER_ICON", pkg.iconName) - jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") - } - - @Test - def void issue54PackageIconForSuitesWithTests() { - setupAndTeardown - jdbcTemplate.execute(''' - CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS - -- %suite - - -- %test - PROCEDURE t1; - - END junit_utplsql_test_pkg; - ''') - val dao = new UtplsqlDao(dataSource.connection) - val actualNodes = dao.runnables() - Assert.assertEquals(6, actualNodes.size) - val pkg = actualNodes.findFirst[it.id == "SCOTT:junit_utplsql_test_pkg"] - Assert.assertEquals("PACKAGE_ICON", pkg.iconName) - jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") - } - - @Test - def void issue55SuiteWithoutTests() { - setupAndTeardown - jdbcTemplate.execute(''' - CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS - -- %suite - - END junit_utplsql_test_pkg; - ''') - val dao = new UtplsqlDao(dataSource.connection) - val actualNodes = dao.runnables() - Assert.assertEquals(4, actualNodes.size) - jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") - } - - @Test - def void issue56SuiteWithoutTests() { - jdbcTemplate.execute(''' - CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS - -- %suite - - END junit_utplsql_test_pkg; - ''') - val dao = new UtplsqlDao(dataSource.connection) - Assert.assertTrue(dao.containsUtplsqlTest("scott", "junit_utplsql_test_pkg")) - jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") - } - } \ No newline at end of file From 23fbd51740a661ad8c705fc8733e4a7a341ae0f0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 09:02:03 +0100 Subject: [PATCH 014/188] remove test prefix/suffix if not related to a utPLSQL test --- .../org/utplsql/sqldev/test/ResourceTest.xtend | 2 +- .../org/utplsql/sqldev/test/UrlToolsTest.xtend | 6 +++--- .../coverage/CodeCoverageReporterDialogTest.xtend | 2 +- .../sqldev/test/parser/UtplsqlParserTest.xtend | 14 +++++++------- .../test/preference/PreferenceModelTest.xtend | 2 +- .../test/preference/PreferencePanelTest.xtend | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend index c39613e5..d283cb5d 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/ResourceTest.xtend @@ -22,7 +22,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources class ResourceTest { @Test - def void testWindowPathsLabel() { + def void windowPathsLabel() { val actual = UtplsqlResources.getString("WINDOW_PATHS_LABEL") val expected = "utPLSQL paths" Assert.assertEquals(expected, actual) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend index 222b4ff3..1ee8f4ac 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend @@ -23,21 +23,21 @@ class UrlToolsTest { val extension URLTools urlTools = new URLTools @Test - def void testReplacePlusSign() { + def void replacePlusSign() { Assert.assertEquals("+", "%2B".replaceHexChars) Assert.assertEquals("++", "%2B%2B".replaceHexChars) Assert.assertEquals("abc+%xyz", "abc%2B%xyz".replaceHexChars) } @Test - def void testReplaceAtSign() { + def void replaceAtSign() { Assert.assertEquals("@", "%40".replaceHexChars) Assert.assertEquals("@@", "%40%40".replaceHexChars) Assert.assertEquals("abc@%xyz", "abc%40%xyz".replaceHexChars) } @Test - def void testReplaceAtAndPlusSign() { + def void replaceAtAndPlusSign() { Assert.assertEquals("@+", "%40%2B".replaceHexChars) Assert.assertEquals("@+@+", "%40%2B%40%2B".replaceHexChars) Assert.assertEquals("abc@+%xyz", "abc%40%2B%xyz".replaceHexChars) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend index 99f4dbc6..a11c6b20 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterDialogTest.xtend @@ -22,7 +22,7 @@ import org.utplsql.sqldev.test.AbstractJdbcTest class CodeCoverageReporterDialogTest extends AbstractJdbcTest{ @Test - def void layoutTest() { + def void layout() { val reporter = new CodeCoverageReporter(#["SCOTT"], #['a', 'b', 'c'], dataSource.connection) reporter.showParameterWindow Thread.sleep(4 * 1000) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend index 76c52bd2..4a530bdd 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend @@ -75,7 +75,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testPackage() { + def packageWithoutConnection() { val parser = new UtplsqlParser(sqlScript) val objects = parser.getObjects Assert.assertEquals(2, objects.size) @@ -99,7 +99,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testPackageWithConnection() { + def packageWithConnection() { val plsql = ''' /* * some comment @@ -132,7 +132,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testProcedure() { + def procedure() { val plsql = ''' create or replace procedure z is @@ -146,7 +146,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testFunction() { + def function() { val plsql = ''' create or replace procedure z is @@ -166,7 +166,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testType() { + def type() { val plsql = ''' create or replace type t force is object ( @@ -184,7 +184,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testTypeBody() { + def typeBody() { val plsql = ''' create or replace type body t force is member procedure p(self in t) is @@ -200,7 +200,7 @@ class UtplsqlParserTest extends AbstractJdbcTest { } @Test - def testUnknown() { + def unknown() { val plsql = ''' create or replace unknown u is begin diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index fd3f7a24..105f8940 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -22,7 +22,7 @@ import org.utplsql.sqldev.model.preference.PreferenceModel class PreferenceModelTest { @Test - def testDefaultValues() { + def defaultValues() { val PreferenceModel model = PreferenceModel.getInstance(null) Assert.assertTrue(model.unsharedWorksheet) Assert.assertFalse(model.resetPackage) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend index 5c1f018b..e45b88f1 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend @@ -24,7 +24,7 @@ import org.utplsql.sqldev.ui.preference.PreferencePanel class PreferencePanelTest { @Test - def void layoutTest() { + def void layout() { val frame = new JFrame("Preference Panel") SwingUtilities.invokeLater(new Runnable() { override run() { From a79177cc52fce9457d261fd69b45dda291a2c586 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 12 Jan 2019 09:20:40 +0100 Subject: [PATCH 015/188] removed unnecessary if --- .../sqldev/test/coverage/CodeCoverageReporterTest.xtend | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend index 928de53c..7f91d53b 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/coverage/CodeCoverageReporterTest.xtend @@ -70,11 +70,7 @@ class CodeCoverageReporterTest extends AbstractJdbcTest{ .filter([f | f.fileName.toString.startsWith("utplsql_")]) .filter([f | f.fileName.toString.endsWith(".html")]) .max(Comparator.comparingLong([f|f.toFile().lastModified()])) - if (last.isPresent) { - return last.get - } else { - return null - } + return last.get } @Test From fe64c3316d930ea201b35d29a7cbaa47a15e3a0c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:43:17 +0100 Subject: [PATCH 016/188] make it abstract --- .../src/main/java/org/utplsql/sqldev/model/AbstractModel.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/AbstractModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/AbstractModel.xtend index 6a921ff1..f4356033 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/AbstractModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/AbstractModel.xtend @@ -17,7 +17,7 @@ package org.utplsql.sqldev.model import org.eclipse.xtext.xbase.lib.util.ToStringBuilder -class AbstractModel { +abstract class AbstractModel { override toString() { new ToStringBuilder(this).addAllFields.toString } From 959a8a58b0afa88260f964ba017440e59eaaf3ad Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:44:38 +0100 Subject: [PATCH 017/188] remove unnecessary use of local variables --- sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend | 3 --- 1 file changed, 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index 941d3f85..cc71428d 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -364,7 +364,6 @@ class UtplsqlDao { AND generated = 'N' ''' } - val jdbcTemplate = new JdbcTemplate(new SingleConnectionDataSource(conn, true)) val nodes = jdbcTemplate.query(sql, new BeanPropertyRowMapper(Node), #[objectType]) return nodes } @@ -687,7 +686,6 @@ class UtplsqlDao { FROM tree ''' } - val jdbcTemplate = new JdbcTemplate(new SingleConnectionDataSource(conn, true)) val nodes = jdbcTemplate.query(sql, new BeanPropertyRowMapper(Node)) return nodes } @@ -856,7 +854,6 @@ class UtplsqlDao { AND referenced_owner NOT LIKE 'APEX\_______' AND referenced_type IN ('PACKAGE', 'TYPE', 'PROCEDURE', 'FUNCTION', 'TRIGGER') ''' - val jdbcTemplate = new JdbcTemplate(new SingleConnectionDataSource(conn, true)) val deps = jdbcTemplate.queryForList(sql, String, #[name]) return deps } From bd80c3fa74a86fef34cbadbe939e89dc15d97961 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:45:39 +0100 Subject: [PATCH 018/188] add XML tooling to extend Node with XPath capabilities --- .../org/utplsql/sqldev/model/XMLTools.xtend | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/XMLTools.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/XMLTools.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/XMLTools.xtend new file mode 100644 index 00000000..de07c01e --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/XMLTools.xtend @@ -0,0 +1,37 @@ +/* Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model + +import javax.xml.xpath.XPathConstants +import javax.xml.xpath.XPathFactory +import org.w3c.dom.Node +import org.w3c.dom.NodeList + +class XMLTools { + val xpathFactory = XPathFactory.newInstance() + val xpath = xpathFactory.newXPath() + + def getNodeList(Node doc, String xpathString) { + val expr = xpath.compile(xpathString); + val NodeList nodeList = expr.evaluate(doc, XPathConstants.NODESET) as NodeList + return nodeList + } + + def getNode(Node doc, String xpathString) { + val expr = xpath.compile(xpathString); + val Node node = expr.evaluate(doc, XPathConstants.NODE) as Node + return node + } +} \ No newline at end of file From 7404791de2647e04d232679b5fed1dd4496917c5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:47:41 +0100 Subject: [PATCH 019/188] added model for realtime reporter --- .../utplsql/sqldev/model/runner/Counter.xtend | 28 ++++++++++++++++ .../sqldev/model/runner/Expectation.xtend | 26 +++++++++++++++ .../utplsql/sqldev/model/runner/Item.xtend | 30 +++++++++++++++++ .../sqldev/model/runner/PostEvent.xtend | 32 +++++++++++++++++++ .../sqldev/model/runner/PostRunEvent.xtend | 22 +++++++++++++ .../sqldev/model/runner/PostSuiteEvent.xtend | 23 +++++++++++++ .../sqldev/model/runner/PostTestEvent.xtend | 32 +++++++++++++++++++ .../sqldev/model/runner/PreRunEvent.xtend | 30 +++++++++++++++++ .../sqldev/model/runner/PreSuiteEvent.xtend | 23 +++++++++++++ .../sqldev/model/runner/PreTestEvent.xtend | 25 +++++++++++++++ .../model/runner/RealtimeReporterEvent.xtend | 21 ++++++++++++ .../utplsql/sqldev/model/runner/Suite.xtend | 31 ++++++++++++++++++ .../utplsql/sqldev/model/runner/Test.xtend | 32 +++++++++++++++++++ 13 files changed, 355 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/RealtimeReporterEvent.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.xtend new file mode 100644 index 00000000..0d496e42 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.xtend @@ -0,0 +1,28 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors +import org.utplsql.sqldev.model.AbstractModel + +@Accessors +class Counter extends AbstractModel { + Integer disabled + Integer success + Integer failure + Integer error + Integer warning +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend new file mode 100644 index 00000000..f80ab18c --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend @@ -0,0 +1,26 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors +import org.utplsql.sqldev.model.AbstractModel + +@Accessors +class Expectation extends AbstractModel { + String description + String message + String caller +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend new file mode 100644 index 00000000..9147f03b --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend @@ -0,0 +1,30 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors +import org.utplsql.sqldev.model.AbstractModel + +@Accessors +abstract class Item extends AbstractModel { + String id + String startTime + String endTime + Double executionTime + Counter counter + String errorStack + String serverOutput +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend new file mode 100644 index 00000000..6debda36 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +abstract class PostEvent extends RealtimeReporterEvent { + String startTime + String endTime + Double executionTime + Counter counter + String errorStack + String serverOutput + + new() { + counter = new Counter + } +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.xtend new file mode 100644 index 00000000..ee5edc30 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.xtend @@ -0,0 +1,22 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PostRunEvent extends PostEvent { +} diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.xtend new file mode 100644 index 00000000..10a674ed --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.xtend @@ -0,0 +1,23 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PostSuiteEvent extends PostEvent { + String id +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.xtend new file mode 100644 index 00000000..bd28ab6c --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.xtend @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import java.util.ArrayList +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PostTestEvent extends PostEvent { + String id + Integer testNumber + Integer totalNumberOfTests + List failedExpectations + + new() { + failedExpectations = new ArrayList + } +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.xtend new file mode 100644 index 00000000..5750cd8e --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.xtend @@ -0,0 +1,30 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import java.util.ArrayList +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PreRunEvent extends RealtimeReporterEvent { + List items + Integer totalNumberOfTests + + new() { + items = new ArrayList + } +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.xtend new file mode 100644 index 00000000..0304f071 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.xtend @@ -0,0 +1,23 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PreSuiteEvent extends RealtimeReporterEvent { + String id +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.xtend new file mode 100644 index 00000000..a54e3c5e --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.xtend @@ -0,0 +1,25 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class PreTestEvent extends RealtimeReporterEvent { + String id + Integer testNumber + Integer totalNumberOfTests +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/RealtimeReporterEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/RealtimeReporterEvent.xtend new file mode 100644 index 00000000..5b6ec099 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/RealtimeReporterEvent.xtend @@ -0,0 +1,21 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import org.utplsql.sqldev.model.AbstractModel + +abstract class RealtimeReporterEvent extends AbstractModel { +} diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.xtend new file mode 100644 index 00000000..d75efadc --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.xtend @@ -0,0 +1,31 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import java.util.ArrayList +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class Suite extends Item { + String name + String description + List items + + new() { + items = new ArrayList + } +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend new file mode 100644 index 00000000..47cd6d29 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors + +@Accessors +class Test extends Item { + String executionType + String ownerName + String objectName + String procedureName + Boolean disabled + String name + String description + Integer testNumber + List failedExpectations +} \ No newline at end of file From c0c7a6b407f9e176c90abff933875edcbb0225bc Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:48:47 +0100 Subject: [PATCH 020/188] added interface for classes consuming realtime reporter results --- .../dal/RealtimeReporterEventConsumer.xtend | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterEventConsumer.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterEventConsumer.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterEventConsumer.xtend new file mode 100644 index 00000000..9a1d7727 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterEventConsumer.xtend @@ -0,0 +1,24 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.dal + +import org.utplsql.sqldev.model.runner.RealtimeReporterEvent + +interface RealtimeReporterEventConsumer { + + def void process(RealtimeReporterEvent event) + +} From 778551e8816a8d3a06b176d99d4c8a55156c244b Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:50:25 +0100 Subject: [PATCH 021/188] added data access layer for realtime reporter including tests --- .../sqldev/dal/RealtimeReporterDao.xtend | 270 ++++++++++++++++++ .../test/dal/RealtimeReporterTest.xtend | 183 ++++++++++++ .../TestRealtimerReporterEventConsumer.xtend | 34 +++ 3 files changed, 487 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterTest.xtend create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventConsumer.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend new file mode 100644 index 00000000..0a82a829 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -0,0 +1,270 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.dal + +import java.io.StringReader +import java.sql.Connection +import java.sql.ResultSet +import java.sql.SQLException +import java.util.List +import java.util.logging.Logger +import javax.xml.parsers.DocumentBuilderFactory +import org.springframework.dao.DataAccessException +import org.springframework.jdbc.core.JdbcTemplate +import org.springframework.jdbc.core.ResultSetExtractor +import org.springframework.jdbc.datasource.SingleConnectionDataSource +import org.utplsql.sqldev.model.XMLTools +import org.utplsql.sqldev.model.runner.Counter +import org.utplsql.sqldev.model.runner.Expectation +import org.utplsql.sqldev.model.runner.PostEvent +import org.utplsql.sqldev.model.runner.PostRunEvent +import org.utplsql.sqldev.model.runner.PostSuiteEvent +import org.utplsql.sqldev.model.runner.PostTestEvent +import org.utplsql.sqldev.model.runner.PreRunEvent +import org.utplsql.sqldev.model.runner.PreSuiteEvent +import org.utplsql.sqldev.model.runner.PreTestEvent +import org.utplsql.sqldev.model.runner.RealtimeReporterEvent +import org.utplsql.sqldev.model.runner.Suite +import org.utplsql.sqldev.model.runner.Test +import org.w3c.dom.Document +import org.w3c.dom.Element +import org.w3c.dom.Node +import org.xml.sax.InputSource + +class RealtimeReporterDao { + static val Logger logger = Logger.getLogger(RealtimeReporterDao.name); + static val FIRST_VERSION_WITH_REALTIME_REPORTER = 3001004 + val extension XMLTools xmlTools = new XMLTools + var Connection conn + var JdbcTemplate jdbcTemplate + + new(Connection connection) { + conn = connection + jdbcTemplate = new JdbcTemplate(new SingleConnectionDataSource(conn, true)) + jdbcTemplate.fetchSize = 1 + if ((new UtplsqlDao(conn)).normalizedUtPlsqlVersionNumber < FIRST_VERSION_WITH_REALTIME_REPORTER) { + throw new RuntimeException("RealtimeReporter requires utPLSQL v3.1.4 or higher to be installed.") + } + } + + def produceReport(String reporterId, List pathList) { + var plsql = ''' + DECLARE + l_reporter ut_realtime_reporter := ut_realtime_reporter(); + BEGIN + l_reporter.set_reporter_id(?); + l_reporter.output_buffer.init(); + sys.dbms_output.enable(NULL); + ut_runner.run( + a_paths => ut_varchar2_list( + «FOR path : pathList SEPARATOR ","» + '«path»' + «ENDFOR» + ), + a_reporters => ut_reporters(l_reporter) + ); + sys.dbms_output.disable; + END; + ''' + jdbcTemplate.update(plsql, #[reporterId]) + } + + def consumeReport(String reporterId, RealtimeReporterEventConsumer consumer) { + var sql = ''' + SELECT t.item_type, t.text + FROM table(ut_output_table_buffer(?).get_lines()) t + ''' + jdbcTemplate.query(sql, new ResultSetExtractor() { + override extractData(ResultSet rs) throws SQLException, DataAccessException { + while(rs.next) { + val itemType = rs.getString("item_type") + val textClob = rs.getClob("text") + val textString = textClob.getSubString(1, textClob.length as int) + val event = convert(itemType, textString) + if (event !== null) { + consumer.process(event) + } + } + return null + } + }, #[reporterId]); + } + + private def RealtimeReporterEvent convert(String itemType, String text) { + logger.fine(''' + ---- «itemType» ---- + «text» + ''') + val docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder() + val doc = docBuilder.parse(new InputSource(new StringReader(text))) + var RealtimeReporterEvent event + if (itemType == "pre-run") { + event = doc.convertToPreRunEvent + } else if (itemType == "post-run") { + event = doc.convertToPostRunEvent + } else if (itemType == "pre-suite") { + event = doc.convertToPreSuiteEvent + } else if (itemType == "post-suite") { + event = doc.convertToPostSuiteEvent + } else if (itemType == "pre-test") { + event = doc.convertToPreTestEvent + } else if (itemType == "post-test") { + event = doc.convertToPostTestEvent + } + return event + } + + private def RealtimeReporterEvent convertToPreRunEvent(Document doc) { + val event = new PreRunEvent + event.totalNumberOfTests = Integer.valueOf(doc.getNode("/event/totalNumberOfTests")?.textContent) + val nodeList = doc.getNodeList("/event/items/*") + for (i : 0 ..< nodeList.length) { + val node = nodeList.item(i) + if (node.nodeName == "suite") { + val suite = new Suite + event.items.add(suite) + suite.populate(node) + } else if (node.nodeName == "test") { + val test = new Test + event.items.add(test) + test.populate(node) + } + } + return event + } + + private def RealtimeReporterEvent convertToPostRunEvent(Document doc) { + val event = new PostRunEvent + event.populate(doc.getNode("/event/run")) + return event + } + + private def RealtimeReporterEvent convertToPreSuiteEvent(Document doc) { + val event = new PreSuiteEvent + val node = doc.getNode("/event/suite") + if (node instanceof Element) { + event.id = node.attributes?.getNamedItem("id")?.nodeValue + } + return event + } + + private def RealtimeReporterEvent convertToPostSuiteEvent(Document doc) { + val event = new PostSuiteEvent + val node = doc.getNode("/event/suite") + if (node instanceof Element) { + event.id = node.attributes?.getNamedItem("id")?.nodeValue + event.populate(node) + } + return event + } + + private def RealtimeReporterEvent convertToPreTestEvent(Document doc) { + val event = new PreTestEvent + val node = doc.getNode("/event/test") + if (node instanceof Element) { + event.id = node.attributes?.getNamedItem("id")?.nodeValue + event.testNumber = Integer.valueOf(node.getElementsByTagName("testNumber")?.item(0)?.textContent) + event.totalNumberOfTests = Integer.valueOf(node.getElementsByTagName("totalNumberOfTests")?.item(0)?.textContent) + } + return event + } + + private def RealtimeReporterEvent convertToPostTestEvent(Document doc) { + val event = new PostTestEvent + val node = doc.getNode("/event/test") + if (node instanceof Element) { + event.id = node.attributes?.getNamedItem("id")?.nodeValue + event.testNumber = Integer.valueOf(node.getElementsByTagName("testNumber")?.item(0)?.textContent) + event.totalNumberOfTests = Integer.valueOf(node.getElementsByTagName("totalNumberOfTests")?.item(0)?.textContent) + event.populate(node) + val failedExpectations = node.getNodeList("failedExpectations/expectation") + for (i : 0 ..< failedExpectations.length) { + val expectationNode = failedExpectations.item(i) + val expectation = new Expectation + event.failedExpectations.add(expectation) + expectation.populate(expectationNode) + } + } + return event + } + + private def void populate(Suite suite, Node node) { + if (node instanceof Element) { + suite.id = node.attributes?.getNamedItem("id")?.nodeValue + suite.name = node.getElementsByTagName("name")?.item(0)?.textContent + suite.description = node.getElementsByTagName("description")?.item(0)?.textContent + val nodeList = node.getNodeList("items/*") + for (i : 0 ..< nodeList.length) { + val childNode = nodeList.item(i) + if (childNode.nodeName == "suite") { + val childSuite = new Suite + suite.items.add(childSuite) + childSuite.populate(childNode) + } else if (childNode.nodeName == "test") { + val childTest = new Test + suite.items.add(childTest) + childTest.populate(childNode) + } + } + } + } + + private def void populate(Test test, Node node) { + if (node instanceof Element) { + test.id = node.attributes?.getNamedItem("id")?.nodeValue + test.executionType = node.getElementsByTagName("executionType")?.item(0)?.textContent + test.ownerName = node.getElementsByTagName("ownerName")?.item(0)?.textContent + test.objectName = node.getElementsByTagName("objectName")?.item(0)?.textContent + test.procedureName = node.getElementsByTagName("procedureName")?.item(0)?.textContent + test.disabled = node.getElementsByTagName("disabled")?.item(0)?.textContent == "true" + test.name = node.getElementsByTagName("name")?.item(0)?.textContent + test.description = node.getElementsByTagName("description")?.item(0)?.textContent + test.testNumber = Integer.valueOf(node.getElementsByTagName("testNumber")?.item(0)?.textContent) + } + } + + private def void populate(PostEvent event, Node node) { + if (node instanceof Element) { + event.startTime = node.getElementsByTagName("startTime")?.item(0)?.textContent + event.endTime = node.getElementsByTagName("endTime")?.item(0)?.textContent + event.executionTime = Double.valueOf(node.getElementsByTagName("executionTime")?.item(0)?.textContent) + event.counter.populate(node) + event.errorStack = node.getElementsByTagName("errorStack")?.item(0)?.textContent + event.serverOutput = node.getElementsByTagName("serverOutput")?.item(0)?.textContent + } + } + + private def void populate(Counter counter, Node node) { + if (node instanceof Element) { + val counterNode = node.getElementsByTagName("counter")?.item(0) + if (counterNode instanceof Element) { + counter.disabled = Integer.valueOf(counterNode.getElementsByTagName("disabled")?.item(0)?.textContent) + counter.success = Integer.valueOf(counterNode.getElementsByTagName("success")?.item(0)?.textContent) + counter.failure = Integer.valueOf(counterNode.getElementsByTagName("failure")?.item(0)?.textContent) + counter.error = Integer.valueOf(counterNode.getElementsByTagName("error")?.item(0)?.textContent) + counter.warning = Integer.valueOf(counterNode.getElementsByTagName("warning")?.item(0)?.textContent) + } + } + } + + private def void populate(Expectation expectation, Node node) { + if (node instanceof Element) { + expectation.description = node.getElementsByTagName("description")?.item(0)?.textContent + expectation.message = node.getElementsByTagName("message")?.item(0)?.textContent + expectation.caller = node.getElementsByTagName("caller")?.item(0)?.textContent + } + } +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterTest.xtend new file mode 100644 index 00000000..908fe3f2 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterTest.xtend @@ -0,0 +1,183 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.test.dal + +import java.util.UUID +import java.util.logging.Logger +import org.junit.AfterClass +import org.junit.Assert +import org.junit.BeforeClass +import org.junit.Test +import org.springframework.jdbc.BadSqlGrammarException +import org.utplsql.sqldev.dal.RealtimeReporterDao +import org.utplsql.sqldev.model.runner.PostRunEvent +import org.utplsql.sqldev.model.runner.PostSuiteEvent +import org.utplsql.sqldev.model.runner.PostTestEvent +import org.utplsql.sqldev.model.runner.PreRunEvent +import org.utplsql.sqldev.model.runner.PreSuiteEvent +import org.utplsql.sqldev.model.runner.PreTestEvent +import org.utplsql.sqldev.test.AbstractJdbcTest + +class RealtimeReporterTest extends AbstractJdbcTest { + + static val Logger logger = Logger.getLogger(RealtimeReporterTest.name); + + @BeforeClass + def static void setup() { + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is + --%suite(JUnit testing) + --%suitepath(a) + + --%context(test context) + + --%test(test 1 - OK) + PROCEDURE test_1_ok; + + --%test(test 2 - NOK) + PROCEDURE test_2_nok; + + --%endcontext + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS + PROCEDURE test_1_ok IS + BEGIN + ut.expect(1).to_equal(1); + END; + + PROCEDURE test_2_nok IS + BEGIN + ut.expect(1).to_equal(2); + END; + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test2_pkg IS + --%suite + --%suitepath(b) + + --%test + PROCEDURE test_3_ok; + + --%test + PROCEDURE test_4_nok; + + --%test + --%disabled + PROCEDURE test_5; + end; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test2_pkg IS + PROCEDURE test_3_ok IS + BEGIN + ut3.ut.expect(2).to_equal(2); + END; + + PROCEDURE test_4_nok IS + BEGIN + ut3.ut.expect(2).to_equal(3); + ut3.ut.expect(2).to_equal(4); + END; + + PROCEDURE test_5 IS + BEGIN + null; + END; + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test3_pkg IS + --%suite + --%suitepath(b) + + --%test + PROCEDURE test_6_with_runtime_error; + + --%test + PROCEDURE test_7_with_serveroutput; + + --%afterall + PROCEDURE print_and_raise; + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test3_pkg IS + PROCEDURE test_6_with_runtime_error is + l_actual INTEGER; + BEGIN + EXECUTE IMMEDIATE 'select 6 from non_existing_table' INTO l_actual; + ut3.ut.expect(6).to_equal(l_actual); + END; + + PROCEDURE test_7_with_serveroutput IS + BEGIN + dbms_output.put_line('before test 7'); + ut3.ut.expect(7).to_equal(7); + dbms_output.put_line('after test 7'); + END; + + PROCEDURE print_and_raise IS + BEGIN + dbms_output.put_line('Now, a no_data_found exception is raised'); + dbms_output.put_line('dbms_output and error stack is reported for this suite.'); + dbms_output.put_line('A runtime error in afterall is counted as a warning.'); + raise no_data_found; + END; + END; + ''') + } + + @AfterClass + def static void teardown() { + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test1_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test2_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test3_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + } + + @Test + def void produceAndConsume() { + val dao = new RealtimeReporterDao(dataSource.connection) + val reporterId = UUID.randomUUID().toString.replace("-", ""); + val consumer = new TestRealtimerReporterEventConsumer + dao.produceReport(reporterId, #[":a", ":b"]) + dao.consumeReport(reporterId, consumer) + logger.fine(consumer.consumedList.toString) + Assert.assertEquals(1, consumer.consumedList.filter[it instanceof PreRunEvent].size) + Assert.assertEquals(1, consumer.consumedList.filter[it instanceof PostRunEvent].size) + // 2 suitepaths (a, b), 1 context, 3 packages -> 6 suites + Assert.assertEquals(6, consumer.consumedList.filter[it instanceof PreSuiteEvent].size) + Assert.assertEquals(6, consumer.consumedList.filter[it instanceof PostSuiteEvent].size) + Assert.assertEquals(7, consumer.consumedList.filter[it instanceof PreTestEvent].size) + Assert.assertEquals(7, consumer.consumedList.filter[it instanceof PostTestEvent].size) + Assert.assertEquals(28, consumer.consumedList.size) + } + +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventConsumer.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventConsumer.xtend new file mode 100644 index 00000000..caa75d71 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventConsumer.xtend @@ -0,0 +1,34 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.test.dal + +import java.util.ArrayList +import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer +import org.utplsql.sqldev.model.runner.RealtimeReporterEvent + +class TestRealtimerReporterEventConsumer implements RealtimeReporterEventConsumer { + + val consumedList = new ArrayList + + def getConsumedList() { + return consumedList + } + + override void process(RealtimeReporterEvent event) { + consumedList.add(event) + } + +} \ No newline at end of file From 8f0a752882bbc06ccda143ea5d1839295eab6093 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 12:51:08 +0100 Subject: [PATCH 022/188] initial version of utPLSQL runner --- .../utplsql/sqldev/runner/UtPlsqlRunner.xtend | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend new file mode 100644 index 00000000..c6b4e939 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend @@ -0,0 +1,102 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.runner + +import java.sql.Connection +import java.util.List +import java.util.UUID +import java.util.logging.Logger +import oracle.dbtools.raptor.utils.Connections +import org.utplsql.sqldev.dal.RealtimeReporterDao +import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer +import org.utplsql.sqldev.model.runner.RealtimeReporterEvent + +class UtPlsqlRunner implements RealtimeReporterEventConsumer { + + static val Logger logger = Logger.getLogger(UtPlsqlRunner.name); + + var List pathList + var Connection producerConn + var Connection consumerConn + var String reporterId = UUID.randomUUID().toString.replace("-", ""); + + new(List pathList, String connectionName) { + this.pathList = pathList + setConnection(connectionName) + } + + /** + * this constructor is intended for tests only + */ + new(List pathList, Connection producerConn, Connection consumerConn) { + this.pathList = pathList + this.producerConn = producerConn + this.consumerConn = consumerConn + } + + private def setConnection(String connectionName) { + if (connectionName === null) { + throw new RuntimeException("Cannot initialize a RealtimeConsumer without a ConnectionName") + } else { + this.producerConn = Connections.instance.cloneConnection(Connections.instance.getConnection(connectionName)) + this.consumerConn = Connections.instance.cloneConnection(Connections.instance.getConnection(connectionName)) + } + } + + def dispose() { + producerConn.close; + consumerConn.close; + } + + override void process(RealtimeReporterEvent event) { + logger.fine(event.toString) + } + + private def void produce() { + try { + logger.fine('''Running utPLSQL tests and producing events via reporter id «reporterId»...''') + val dao = new RealtimeReporterDao(producerConn) + dao.produceReport(reporterId, pathList) + logger.fine('''All events produced for reporter id «reporterId».''') + } catch (Exception e) { + logger.severe('''Error while producing events for reporter id «reporterId»: «e?.message»''') + } + } + + private def void consume() { + try { + logger.fine('''Consuming events from reporter id «reporterId» in realtime...''') + val dao = new RealtimeReporterDao(consumerConn) + dao.consumeReport(reporterId, this) + logger.fine('''All events consumed.''') + } catch (Exception e) { + logger.severe('''Error while consuming events for reporter id «reporterId»: «e?.message»''') + } + } + + def runAsync() { + // the producer + val Runnable producer = [|produce] + val producerThread = new Thread(producer) + producerThread.name = "realtime producer" + producerThread.start + // the consumer + val Runnable consumer = [|consume] + val consumerThread = new Thread(consumer) + consumerThread.name = "realtime consumer" + consumerThread.start + } +} From 780be14c9a1af2471f81b4c77c98a61e5ce9be41 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 13 Jan 2019 13:44:24 +0100 Subject: [PATCH 023/188] test initial version of utplsql runner --- ...tPlsqlRunner.xtend => UtplsqlRunner.xtend} | 21 ++++- .../test/runner/UtplsqlRunnerTest.xtend | 91 +++++++++++++++++++ 2 files changed, 107 insertions(+), 5 deletions(-) rename sqldev/src/main/java/org/utplsql/sqldev/runner/{UtPlsqlRunner.xtend => UtplsqlRunner.xtend} (87%) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend similarity index 87% rename from sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index c6b4e939..0bebfa05 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtPlsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -24,14 +24,16 @@ import org.utplsql.sqldev.dal.RealtimeReporterDao import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer import org.utplsql.sqldev.model.runner.RealtimeReporterEvent -class UtPlsqlRunner implements RealtimeReporterEventConsumer { +class UtplsqlRunner implements RealtimeReporterEventConsumer { - static val Logger logger = Logger.getLogger(UtPlsqlRunner.name); + static val Logger logger = Logger.getLogger(UtplsqlRunner.name); var List pathList var Connection producerConn var Connection consumerConn - var String reporterId = UUID.randomUUID().toString.replace("-", ""); + val String reporterId = UUID.randomUUID().toString.replace("-", "") + var Thread producerThread + var Thread consumerThread new(List pathList, String connectionName) { this.pathList = pathList @@ -90,13 +92,22 @@ class UtPlsqlRunner implements RealtimeReporterEventConsumer { def runAsync() { // the producer val Runnable producer = [|produce] - val producerThread = new Thread(producer) + producerThread = new Thread(producer) producerThread.name = "realtime producer" producerThread.start // the consumer val Runnable consumer = [|consume] - val consumerThread = new Thread(consumer) + consumerThread = new Thread(consumer) consumerThread.name = "realtime consumer" consumerThread.start } + + def getProducerThread() { + return producerThread + } + + def getConsumerThread() { + return consumerThread + } + } diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend new file mode 100644 index 00000000..52435794 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -0,0 +1,91 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.test.runner + +import org.junit.AfterClass +import org.junit.BeforeClass +import org.junit.Test +import org.springframework.jdbc.BadSqlGrammarException +import org.springframework.jdbc.datasource.SingleConnectionDataSource +import org.utplsql.sqldev.runner.UtplsqlRunner +import org.utplsql.sqldev.test.AbstractJdbcTest + +class UtplsqlRunnerTest extends AbstractJdbcTest { + + @BeforeClass + def static void setup() { + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is + --%suite(JUnit testing) + --%suitepath(a) + + --%context(test context) + + --%test(test 1 - OK) + PROCEDURE test_1_ok; + + --%test(test 2 - NOK) + PROCEDURE test_2_nok; + + --%endcontext + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS + PROCEDURE test_1_ok IS + BEGIN + dbms_session.sleep(1); + ut.expect(1).to_equal(1); + END; + + PROCEDURE test_2_nok IS + BEGIN + dbms_session.sleep(2); + ut.expect(1).to_equal(2); + END; + END; + ''') + } + + @AfterClass + def static void teardown() { + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test1_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + } + + @Test + def void runSlowTests() { + var ds1 = new SingleConnectionDataSource() + ds1.driverClassName = "oracle.jdbc.OracleDriver" + ds1.url = dataSource.url + ds1.username = dataSource.username + ds1.password = dataSource.password + var ds2 = new SingleConnectionDataSource() + ds2.driverClassName = "oracle.jdbc.OracleDriver" + ds2.url = dataSource.url + ds2.username = dataSource.username + ds2.password = dataSource.password + var runner = new UtplsqlRunner(#[":a"], ds1.connection, ds2.connection) + runner.runAsync + runner.producerThread.join(20000) + runner.consumerThread.join(20000) + runner.dispose + } + +} \ No newline at end of file From 79bdaea017980cc8b857b1981e449e250658a253 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 22 Jan 2019 16:00:25 +0100 Subject: [PATCH 024/188] updated utPLSQL logo --- .../sqldev/resources/images/utPLSQL.png | Bin 3356 -> 4203 bytes .../resources/images/utPLSQL_400x400.png | Bin 18136 -> 16950 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL.png index c1d9b945eb8c5fc89df0a9b4bd424ad18795ea33..67e76904dbd0460a31015a8cd2ae092b72dbff52 100644 GIT binary patch literal 4203 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 BLstL* diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL_400x400.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL_400x400.png index 49f54b2b831ad10c109f09e792ff1549722cd1b4..cea4457af38dbc9393472c814c9278f4ebb52b39 100644 GIT binary patch literal 16950 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 NEukP@C2I8j{{e+$gR=kt literal 18136 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 Date: Tue, 26 Feb 2019 17:56:53 +0100 Subject: [PATCH 025/188] ignore DataGrip/IntelliJ settings --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c75ab6bc..410561c1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ **/.project **/.classpath **/.settings +**/.idea # Mobile Tools for Java (J2ME) .mtj.tmp/ From 4152e9e6c0bb825aa4a5a28fb1b673d6467754ee Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 4 Jun 2019 11:07:03 +0200 Subject: [PATCH 026/188] must use ut_output_clob_table_buffer since utPLSQL 3.1.7 --- .../main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index 0a82a829..bba7f0f3 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -83,9 +83,10 @@ class RealtimeReporterDao { } def consumeReport(String reporterId, RealtimeReporterEventConsumer consumer) { + // TODO: table(l_reporter.get_lines()) instead of table(ut_output_clob_table_buffer(?).get_lines()) var sql = ''' SELECT t.item_type, t.text - FROM table(ut_output_table_buffer(?).get_lines()) t + FROM table(ut_output_clob_table_buffer(?).get_lines()) t ''' jdbcTemplate.query(sql, new ResultSetExtractor() { override extractData(ResultSet rs) throws SQLException, DataAccessException { From 46387f04446b49067f967136bfd654d61c07ff59 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 4 Jun 2019 13:20:30 +0200 Subject: [PATCH 027/188] use get_lines via reporter ut_output_clob_table_buffer/ut_output_table_buffer are internal API. They must not be used here. Usage changed in utPLSQL v3.1.7. This change makes the reporter work v3.1.4 and later. --- .../sqldev/dal/RealtimeReporterDao.xtend | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index bba7f0f3..43686dd8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -16,15 +16,17 @@ package org.utplsql.sqldev.dal import java.io.StringReader +import java.sql.CallableStatement import java.sql.Connection import java.sql.ResultSet import java.sql.SQLException import java.util.List import java.util.logging.Logger import javax.xml.parsers.DocumentBuilderFactory +import oracle.jdbc.OracleTypes import org.springframework.dao.DataAccessException +import org.springframework.jdbc.core.CallableStatementCallback import org.springframework.jdbc.core.JdbcTemplate -import org.springframework.jdbc.core.ResultSetExtractor import org.springframework.jdbc.datasource.SingleConnectionDataSource import org.utplsql.sqldev.model.XMLTools import org.utplsql.sqldev.model.runner.Counter @@ -83,13 +85,22 @@ class RealtimeReporterDao { } def consumeReport(String reporterId, RealtimeReporterEventConsumer consumer) { - // TODO: table(l_reporter.get_lines()) instead of table(ut_output_clob_table_buffer(?).get_lines()) - var sql = ''' - SELECT t.item_type, t.text - FROM table(ut_output_clob_table_buffer(?).get_lines()) t + val plsql = ''' + DECLARE + l_reporter ut_realtime_reporter := ut_realtime_reporter(); + BEGIN + l_reporter.set_reporter_id(?); + OPEN ? FOR + SELECT t.item_type, t.text + FROM table(l_reporter.get_lines()) t; + END; ''' - jdbcTemplate.query(sql, new ResultSetExtractor() { - override extractData(ResultSet rs) throws SQLException, DataAccessException { + jdbcTemplate.execute(plsql, new CallableStatementCallback() { + override doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.setString(1, reporterId) + cs.registerOutParameter(2, OracleTypes.CURSOR) + cs.execute + val rs = cs.getObject(2) as ResultSet while(rs.next) { val itemType = rs.getString("item_type") val textClob = rs.getClob("text") @@ -99,9 +110,10 @@ class RealtimeReporterDao { consumer.process(event) } } + rs.close return null } - }, #[reporterId]); + }) } private def RealtimeReporterEvent convert(String itemType, String text) { From d56abecf13372c104668ab1d9201349e4836a0f5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 8 Jun 2019 11:09:08 +0200 Subject: [PATCH 028/188] use tabbed pane instead of boardered groups in preferences --- .../ui/preference/PreferencePanel.xtend | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index f2874afc..83b3a528 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -18,11 +18,11 @@ package org.utplsql.sqldev.ui.preference import java.awt.event.ActionEvent import java.awt.event.ActionListener import java.util.Map -import javax.swing.BorderFactory import javax.swing.JButton import javax.swing.JCheckBox import javax.swing.JPanel import javax.swing.JSpinner +import javax.swing.JTabbedPane import javax.swing.JTextField import javax.swing.SpinnerNumberModel import javax.swing.table.DefaultTableModel @@ -70,7 +70,6 @@ class PreferencePanel extends DefaultTraversablePanel { def private layoutControls() { // run test group - runTestPanel.border = BorderFactory.createTitledBorder(UtplsqlResources.getString("MENU_RUN_TEST_LABEL")) val FieldLayoutBuilder b1 = new FieldLayoutBuilder(runTestPanel) b1.alignLabelsLeft = true b1.add( @@ -88,8 +87,9 @@ class PreferencePanel extends DefaultTraversablePanel { b1.add( b1.field.label.withText(UtplsqlResources.getString("PREF_CHECK_RUN_UTPLSQL_TEST_LABEL")).component( checkRunUtplsqlTestCheckBox)) + b1.addVerticalSpring + // generate test group - generateTestPanel.border = BorderFactory.createTitledBorder(UtplsqlResources.getString("MENU_GENERATE_TEST_LABEL")) val FieldLayoutBuilder b2 = new FieldLayoutBuilder(generateTestPanel) b2.alignLabelsLeft = true b2.stretchComponentsWithNoButton = true @@ -124,8 +124,9 @@ class PreferencePanel extends DefaultTraversablePanel { b2.field.label.withText(UtplsqlResources.getString("PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL")).component( checkGenerateUtplsqlTestCheckBox).button(createCodeTemplatesButton).withText( UtplsqlResources.getString("PREF_CREATE_CODE_TEMPLATES_BUTTON_LABEL"))) + b2.addVerticalSpring + // oddgen group - oddgenPanel.border = BorderFactory.createTitledBorder("oddgen") val FieldLayoutBuilder b3 = new FieldLayoutBuilder(oddgenPanel) b3.alignLabelsLeft = true b3.stretchComponentsWithNoButton = true @@ -142,14 +143,16 @@ class PreferencePanel extends DefaultTraversablePanel { b3.add( b3.field.label.withText(UtplsqlResources.getString("PREF_DELETE_EXISTING_FILES_LABEL")).component( deleteExistingFilesCheckBox)) - - // putting everything together + b3.addVerticalSpring + + // putting groups into tabbed panes + val tabbedPane = new JTabbedPane() + tabbedPane.add(UtplsqlResources.getString("MENU_RUN_TEST_LABEL"), runTestPanel) + tabbedPane.add(UtplsqlResources.getString("MENU_GENERATE_TEST_LABEL"), generateTestPanel) + tabbedPane.add("oddgen", oddgenPanel) val FieldLayoutBuilder builder = new FieldLayoutBuilder(this) builder.alignLabelsLeft = true - builder.addVerticalField("", runTestPanel) - builder.addVerticalField("", generateTestPanel) - builder.addVerticalField("", oddgenPanel) - builder.addVerticalSpring + builder.addVerticalField("", tabbedPane) // register action listener for create code template button createCodeTemplatesButton.addActionListener(new ActionListener() { From 188bea74174d0c902f751acf40126bd960085378 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 8 Jun 2019 12:04:15 +0200 Subject: [PATCH 029/188] do not center perferences --- .../java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend | 1 + 1 file changed, 1 insertion(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index 83b3a528..50f3e892 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -153,6 +153,7 @@ class PreferencePanel extends DefaultTraversablePanel { val FieldLayoutBuilder builder = new FieldLayoutBuilder(this) builder.alignLabelsLeft = true builder.addVerticalField("", tabbedPane) + builder.addVerticalSpring // register action listener for create code template button createCodeTemplatesButton.addActionListener(new ActionListener() { From e3bc7c280538243bc46bb5bf585a220280aaa51d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 8 Jun 2019 12:04:56 +0200 Subject: [PATCH 030/188] use SQL Developer 19.1.0 --- README.md | 4 ++-- sqldev/pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b651af8c..79565df2 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ Please file your bug reports, enhancement requests, questions and other support ## How to Build -1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 18.3.0 +1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 19.1.0 2. [Download](https://maven.apache.org/download.cgi) and install Apache Maven 3.5.4 3. [Download](https://git-scm.com/downloads) and install a git command line client 4. Clone the utPLSQL-SQLDeveloper repository @@ -122,7 +122,7 @@ Please file your bug reports, enhancement requests, questions and other support 6. Run maven build by the following command - mvn -Dsqldev.basedir=/Applications/SQLDeveloper18.3.0.app/Contents/Resources/sqldeveloper -DskipTests=true clean package + mvn -Dsqldev.basedir=/Applications/SQLDeveloper19.1.0.app/Contents/Resources/sqldeveloper -DskipTests=true clean package Amend the parameter sqldev.basedir to match the path of your SQL Developer installation. This folder is used to reference Oracle jar files which are not available in public Maven repositories 7. The resulting file ```utplsql_for_SQLDev_x.x.x-SNAPSHOT.zip``` in the ```target``` directory can be installed within SQL Developer diff --git a/sqldev/pom.xml b/sqldev/pom.xml index c5d2c20a..8a77d2a9 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -13,7 +13,7 @@ 1.8 2.15.0 - /Applications/SQLDeveloper18.3.0.app/Contents/Resources/sqldeveloper + /Applications/SQLDeveloper19.1.0.app/Contents/Resources/sqldeveloper utplsql_for_SQLDev_${project.version} From a4a064d983bd3489811a1a9060cb98f2170fe908 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 8 Jun 2019 12:14:19 +0200 Subject: [PATCH 031/188] shorten labels, context is given based on tab to avoid truncated labels when reducing preference dialog to its minimal size (all lables are truncated on the right side) --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 4 ++-- .../utplsql/sqldev/resources/UtplsqlResources_de.properties | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 8dfc8eaa..b3432e74 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -12,7 +12,7 @@ PREF_UNSHARED_WORKSHEET_LABEL=Open an unshared worksheet? PREF_RESET_PACKAGE_LABEL=Reset package before running utPLSQL? PREF_CLEAR_SCREEN_LABEL=Clear script output panel before running utPLSQL? PREF_AUTO_EXECUTE_LABEL=Execute unit test automatically? -PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Check availability of "Run utPLSQL test" menu option? +PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Check availability of menu option? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix PREF_TEST_UNIT_PREFIX_LABEL=Test unit prefix @@ -22,7 +22,7 @@ PREF_GENERATE_COMMENTS_LABEL=Generate comments? PREF_DISABLE_TESTS_LABEL=Disable tests? PREF_SUITE_PATH_LABEL=Suite path PREF_INDENT_SPACES_LABEL=Indent spaces -PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Check availability of "Generate utPLSQL test" menu option? +PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Check availability of menu option? PREF_CREATE_CODE_TEMPLATES_BUTTON_LABEL=Create code templates PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL=Root folder in Generators view PREF_GENERATE_FILES_LABEL=Generate files? diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 3fe1fa2d..a3d3a9a9 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -6,7 +6,7 @@ PREF_UNSHARED_WORKSHEET_LABEL=Arbeitsblatt mit eigener Verbindung PREF_RESET_PACKAGE_LABEL=Package vor der Ausführung von utPLSQL zurücksetzen? PREF_CLEAR_SCREEN_LABEL=Skriptausgabe-Fenster vor der Ausführung von utPLSQL leeren? PREF_AUTO_EXECUTE_LABEL=Unit Test automatisch ausführen? -PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption "utPLSQL Test ausführen" prüfen? +PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption prüfen? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix PREF_TEST_UNIT_PREFIX_LABEL=Test Unit Präfix @@ -16,7 +16,7 @@ PREF_GENERATE_COMMENTS_LABEL=Kommentare generieren? PREF_DISABLE_TESTS_LABEL=Tests deaktivieren? PREF_SUITE_PATH_LABEL=Suite-Pfad PREF_INDENT_SPACES_LABEL=Einrückungsleerzeichen -PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption "utPLSQL Test generieren" prüfen? +PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption prüfen? PREF_CREATE_CODE_TEMPLATES_BUTTON_LABEL=Codevorlagen erstellen PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL=Hauptverzeichnis in Generatoren Ansicht PREF_GENERATE_FILES_LABEL=Dateien generieren? From 5109369e01993193527421edec0c1d7e57648fbf Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 8 Jun 2019 13:53:31 +0200 Subject: [PATCH 032/188] add "use realtime reporter" as preference option --- .../sqldev/model/preference/PreferenceModel.xtend | 9 +++++++++ .../utplsql/sqldev/ui/preference/PreferencePanel.xtend | 6 ++++++ .../utplsql/sqldev/resources/UtplsqlResources.properties | 1 + .../sqldev/resources/UtplsqlResources_de.properties | 1 + .../sqldev/test/preference/PreferenceModelTest.xtend | 1 + 5 files changed, 18 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend index 18b0b293..b05827da 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend @@ -33,6 +33,7 @@ class PreferenceModel extends HashStructureAdapter { return new PreferenceModel(findOrCreate(prefs, DATA_KEY)) } + static final String KEY_USE_REALTIME_REPORTER = "useRealtimeRorter" static final String KEY_UNSHARED_WORKSHEET = "unsharedWorksheet" static final String KEY_RESET_PACKAGE = "resetPackage" static final String KEY_CLEAR_SCREEN = "clearScreen" @@ -52,6 +53,14 @@ class PreferenceModel extends HashStructureAdapter { static final String KEY_OUTPUT_DIRECTORY = "outputDirectory" static final String KEY_DELETE_EXISTING_FILES="deleteExistingFiles" static final String KEY_ROOT_FOLDER_IN_ODDGEN_VIEW = "rootFolderInOddgenView" + + def isUseRealtimeReporter() { + return getHashStructure.getBoolean(PreferenceModel.KEY_USE_REALTIME_REPORTER, true) + } + + def setUseRealtimeReporter(boolean useRealtimeReporter) { + getHashStructure.putBoolean(PreferenceModel.KEY_USE_REALTIME_REPORTER, useRealtimeReporter) + } def isUnsharedWorksheet() { return getHashStructure.getBoolean(PreferenceModel.KEY_UNSHARED_WORKSHEET, true) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index 50f3e892..a04b8615 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -37,6 +37,7 @@ import org.utplsql.sqldev.ui.common.DirectoryChooser class PreferencePanel extends DefaultTraversablePanel { val JPanel runTestPanel = new JPanel(); + val JCheckBox useRealtimeReporterCheckBox = new JCheckBox val JCheckBox unsharedWorksheetCheckBox = new JCheckBox val JCheckBox resetPackageCheckBox = new JCheckBox val JCheckBox clearScreenCheckBox = new JCheckBox @@ -72,6 +73,9 @@ class PreferencePanel extends DefaultTraversablePanel { // run test group val FieldLayoutBuilder b1 = new FieldLayoutBuilder(runTestPanel) b1.alignLabelsLeft = true + b1.add( + b1.field.label.withText(UtplsqlResources.getString("PREF_USE_REALTIME_REPORTER_LABEL")).component( + useRealtimeReporterCheckBox)) b1.add( b1.field.label.withText(UtplsqlResources.getString("PREF_UNSHARED_WORKSHEET_LABEL")).component( unsharedWorksheetCheckBox)) @@ -266,6 +270,7 @@ class PreferencePanel extends DefaultTraversablePanel { override onEntry(TraversableContext traversableContext) { var PreferenceModel info = traversableContext.userInformation + useRealtimeReporterCheckBox.selected = info.useRealtimeReporter unsharedWorksheetCheckBox.selected = info.unsharedWorksheet resetPackageCheckBox.selected = info.resetPackage clearScreenCheckBox.selected = info.clearScreen @@ -291,6 +296,7 @@ class PreferencePanel extends DefaultTraversablePanel { override onExit(TraversableContext traversableContext) throws TraversalException { var PreferenceModel info = traversableContext.userInformation + info.useRealtimeReporter = useRealtimeReporterCheckBox.selected info.unsharedWorksheet = unsharedWorksheetCheckBox.selected info.resetPackage = resetPackageCheckBox.selected info.clearScreen = clearScreenCheckBox.selected diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index b3432e74..6f0e5744 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -8,6 +8,7 @@ MIN_SQLDEV_VERSION=12.2.0.19.0.7 # Translatable text PREF_LABEL=utPLSQL +PREF_USE_REALTIME_REPORTER_LABEL=Use realtime reporter? PREF_UNSHARED_WORKSHEET_LABEL=Open an unshared worksheet? PREF_RESET_PACKAGE_LABEL=Reset package before running utPLSQL? PREF_CLEAR_SCREEN_LABEL=Clear script output panel before running utPLSQL? diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index a3d3a9a9..9bbcb0c2 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -2,6 +2,7 @@ # Translatable text PREF_LABEL=utPLSQL +PREF_USE_REALTIME_REPORTER_LABEL=Realtime Reporter verwenden? PREF_UNSHARED_WORKSHEET_LABEL=Arbeitsblatt mit eigener Verbindung öffnen? PREF_RESET_PACKAGE_LABEL=Package vor der Ausführung von utPLSQL zurücksetzen? PREF_CLEAR_SCREEN_LABEL=Skriptausgabe-Fenster vor der Ausführung von utPLSQL leeren? diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index 105f8940..a74cbc31 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -24,6 +24,7 @@ class PreferenceModelTest { @Test def defaultValues() { val PreferenceModel model = PreferenceModel.getInstance(null) + Assert.assertTrue(model.useRealtimeReporter) Assert.assertTrue(model.unsharedWorksheet) Assert.assertFalse(model.resetPackage) Assert.assertFalse(model.clearScreen) From c47cf58caea9a6719cb62c7823a9484bce7339fe Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 00:38:28 +0200 Subject: [PATCH 033/188] use "private def" instead of "def private" --- .../sqldev/ui/coverage/CodeCoverageReporterDialog.xtend | 2 +- .../org/utplsql/sqldev/ui/preference/PreferencePanel.xtend | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend index 65b572fd..1c57eb6e 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/coverage/CodeCoverageReporterDialog.xtend @@ -61,7 +61,7 @@ class CodeCoverageReporterDialog extends JFrame implements ActionListener, Focus }); } - def private static createAndShowWithinEventThread(CodeCoverageReporter reporter) { + private def static createAndShowWithinEventThread(CodeCoverageReporter reporter) { // create and layout the dialog val frame = new CodeCoverageReporterDialog(reporter) reporter.frame = frame diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index a04b8615..b53bcbaf 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -69,7 +69,7 @@ class PreferencePanel extends DefaultTraversablePanel { layoutControls() } - def private layoutControls() { + private def layoutControls() { // run test group val FieldLayoutBuilder b1 = new FieldLayoutBuilder(runTestPanel) b1.alignLabelsLeft = true @@ -319,7 +319,7 @@ class PreferencePanel extends DefaultTraversablePanel { super.onExit(traversableContext) } - def private static PreferenceModel getUserInformation(TraversableContext tc) { + private def static PreferenceModel getUserInformation(TraversableContext tc) { return PreferenceModel.getInstance(tc.propertyStorage) } } From f1551d06079e812225de01d4ed21b046a034734d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 01:58:44 +0200 Subject: [PATCH 034/188] new utPLSQL logo --- .../sqldev/resources/images/utPLSQL.png | Bin 4203 -> 3360 bytes .../resources/images/utPLSQL_400x400.png | Bin 16950 -> 38182 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/utPLSQL.png index 67e76904dbd0460a31015a8cd2ae092b72dbff52..5014d77c363c6676908c6b0eaf9dcd19750de878 100644 GIT binary patch delta 3342 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 Y07ZOS9GTpH{r~^~07*qoM6N<$f)ce)u>b%7 literal 4203 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 From edde42aa287133c2975bdd07638d5e506eeb5b5a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 01:59:19 +0200 Subject: [PATCH 035/188] icon for successful tests --- .../utplsql/sqldev/resources/images/success.png | Bin 0 -> 375 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd9ae84e296c10b53058669004729f87a99d9ca GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJbFq_W2nPqp?T7vkfLzW3kH}&m z-3r2tkKX)02xLf>xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1ymFm;1lBd z|Nno6{|up5L(|UqrtJ>RJrtU?KPLNdc*eoVtb^g%ha$5MM`Rt00x~iWMPz}vksv|b zNTBIBBhYZEk|4ie21Yh6eo+-QC%1z7hK-xI?%I3o#HDAiK79Klq7jw>R8{2Z;usbP0l+XkKd7+lQ literal 0 HcmV?d00001 From dbd103147c83c5716e50fde7967426f5b831806c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 01:59:31 +0200 Subject: [PATCH 036/188] icon for errored tests --- .../org/utplsql/sqldev/resources/images/error.png | Bin 0 -> 310 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..67157278d1ccc6770ef086404587c00ab3a0bddd GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFa%ZWZ!1XxWfDDI978x{lM@mQ<`-|8!N}qAZg2JXYZDtA3-4MhRHz;}@af&x z-Q~aUSsL8fm)%vp>f<{j=eyag*BF-7o|kyGmpdULq4xWvhj(@_=iw=Qe@{W8KyydZ lj Date: Mon, 10 Jun 2019 01:59:43 +0200 Subject: [PATCH 037/188] icon for failed tests --- .../utplsql/sqldev/resources/images/failure.png | Bin 0 -> 3013 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb1b38783d8197b0861287373a674aaf89c8e9b GIT binary patch literal 3013 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 Hu0mjfp>3QX literal 0 HcmV?d00001 From d1d08d96a47858e8f3f7b04ea7e1ae30f1d17c81 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 01:59:56 +0200 Subject: [PATCH 038/188] icon for disabled tests --- .../utplsql/sqldev/resources/images/disabled.png | Bin 0 -> 527 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..45e7246259c03e75aa8ecc2a9c311be09a5d8606 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+SAaSBOD@0<|N3lzHR>EaloalZ8YUcF{Ukz*g@ z?=Q*J*_O2>O^~x(=}40En@7p7vI<3$Qa9d;X$aXRc*jXxQ_Jp=;TGRh($9UK*Z;Gu zDkMEw_;jE$Uc1M;!-MIg0w9EOW-nN1ptt*QTU*_Qdee~S@0OP(A zUYpleX4c2-^JD{il6VzB0is&s8c~vxSdwa$T$Bo=7>o=IEp-jdbPX&+49%>JOstH| zwGE7{3=FOYpIe2ZAvZrIGp!Q0h9!JuVn7X&ARB`7(@M${i&7cN%ggmL^RkPR6AM!H X@{7`Ezq647Dq`?-^>bP0l+XkKq;R+W literal 0 HcmV?d00001 From 9c40705b9d533c613831510af32c589513d18598 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:01:02 +0200 Subject: [PATCH 039/188] linked hash map keeping the last n entries (for test runs) --- .../sqldev/model/LimitedLinkedHashMap.xtend | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend new file mode 100644 index 00000000..71772b9e --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend @@ -0,0 +1,33 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model + +import java.util.LinkedHashMap +import java.util.Map + +class LimitedLinkedHashMap extends LinkedHashMap { + val int maxEntries + + new (int maxEntries) { + super(maxEntries + 1, 1.0f, false) + + this.maxEntries = maxEntries; + } + + override removeEldestEntry(Map.Entry eldest) { + return size > maxEntries + } +} \ No newline at end of file From 55c1e32da05864ab8f734eeff440dd17e0ba2289 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:02:09 +0200 Subject: [PATCH 040/188] add isSupported method as replacement for exception --- .../java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index 43686dd8..6556b8d4 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -57,9 +57,10 @@ class RealtimeReporterDao { conn = connection jdbcTemplate = new JdbcTemplate(new SingleConnectionDataSource(conn, true)) jdbcTemplate.fetchSize = 1 - if ((new UtplsqlDao(conn)).normalizedUtPlsqlVersionNumber < FIRST_VERSION_WITH_REALTIME_REPORTER) { - throw new RuntimeException("RealtimeReporter requires utPLSQL v3.1.4 or higher to be installed.") - } + } + + def isSupported() { + return new UtplsqlDao(conn).normalizedUtPlsqlVersionNumber >= FIRST_VERSION_WITH_REALTIME_REPORTER } def produceReport(String reporterId, List pathList) { From 28434993ef989106d2cd5dac7a3cdc68f1f1bd9f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:03:34 +0200 Subject: [PATCH 041/188] add test run to model --- .../org/utplsql/sqldev/model/runner/Run.xtend | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend new file mode 100644 index 00000000..9058bf5a --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -0,0 +1,66 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model.runner + +import java.util.LinkedHashMap +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors +import org.utplsql.sqldev.model.AbstractModel + +@Accessors +class Run extends AbstractModel { + String reporterId + String connectionName + Integer totalNumberOfTests + String startTime + String endTime + Double executionTime + Counter counter + String errorStack + String serverOutput + LinkedHashMap tests + + new(String reporterId, String connectionName) { + this.reporterId = reporterId + this.connectionName = connectionName + this.counter = new Counter + this.tests = new LinkedHashMap + } + + def getName() { + return '''«startTime» («connectionName»)''' + } + + def void put(List items) { + for (item : items) { + if (item instanceof Test) { + this.tests.put(item.id, item) + } + if (item instanceof Suite) { + item.items.put + } + } + } + + def getTest(String id) { + return tests.get(id) + } + + def getTotalNumberOfCompletedTests() { + return counter.disabled + counter.success + counter.failure + counter.error + } + +} From 43a3f77f253a76252d25b38d008d6af73e4c7b58 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:04:43 +0200 Subject: [PATCH 042/188] add icons and labels for test runner --- .../sqldev/resources/UtplsqlResources.properties | 14 ++++++++++++++ .../resources/UtplsqlResources_de.properties | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 6f0e5744..bf8c706a 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -6,6 +6,13 @@ EXTENSION_DESCRIPTION=Extension for running unit tests in SQL Developer. EXTENSION_OWNER=Philipp Salvisberg MIN_SQLDEV_VERSION=12.2.0.19.0.7 +# Icons +UTPLSQL_ICON=/org/utplsql/sqldev/resources/images/utPLSQL.png +SUCCESS_ICON=/org/utplsql/sqldev/resources/images/success.png +ERROR_ICON=/org/utplsql/sqldev/resources/images/error.png +FAILURE_ICON=/org/utplsql/sqldev/resources/images/failure.png +DISABLED_ICON=/org/utplsql/sqldev/resources/images/disabled.png + # Translatable text PREF_LABEL=utPLSQL PREF_USE_REALTIME_REPORTER_LABEL=Use realtime reporter? @@ -41,3 +48,10 @@ WINDOW_EXCLUDE_OBJECS_LABEL=Exclude objects WINDOW_RUN_BUTTON=Run WINDOW_CANCEL_BUTTON=Cancel WORKSHEET_TITLE=utPLSQL +RUNNER_VIEW_TITLE=utPLSQL +RUNNER_TESTS_LABEL=Tests +RUNNER_ERRORS_LABEL=Errors +RUNNER_FAILURES_LABEL=Failures +RUNNER_INITIALIZING_TEXT=Initializing... +RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. + diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 9bbcb0c2..11c5b59f 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -35,3 +35,9 @@ WINDOW_EXCLUDE_OBJECS_LABEL=Exkludierte Objekte WINDOW_RUN_BUTTON=Start WINDOW_CANCEL_BUTTON=Abbrechen WORKSHEET_TITLE=utPLSQL +RUNNER_VIEW_TITLE=utPLSQL +RUNNER_TESTS_LABEL=Tests +RUNNER_ERRORS_LABEL=Fehler +RUNNER_FAILURES_LABEL=Fehlschläge +RUNNER_INITIALIZING_TEXT=Initialisierung... +RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. From 2dc6ace30bf35fae59caad33cbee143b3fdecb2d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:06:09 +0200 Subject: [PATCH 043/188] add test runner panel that works outside of SQL Developer --- .../sqldev/ui/runner/RunnerPanel.xtend | 199 ++++++++++++++++++ .../test/runner/UtplsqlRunnerPanelTest.xtend | 95 +++++++++ 2 files changed, 294 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend new file mode 100644 index 00000000..27377bac --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -0,0 +1,199 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import java.awt.Color +import java.awt.Component +import java.awt.GridBagConstraints +import java.awt.GridBagLayout +import java.awt.Insets +import javax.swing.JLabel +import javax.swing.JPanel +import javax.swing.JProgressBar +import javax.swing.plaf.basic.BasicProgressBarUI +import org.utplsql.sqldev.model.LimitedLinkedHashMap +import org.utplsql.sqldev.model.runner.Run +import org.utplsql.sqldev.resources.UtplsqlResources + +class RunnerPanel { + LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) + JPanel basePanel + JLabel statusLabel + JLabel testCounterValueLabel + JLabel errorCounterValueLabel + JLabel failureCounterValueLabel + JProgressBar progressBar; + + def Component getGUI() { + if (basePanel === null) { + initializeGUI() + } + return basePanel + } + + def setStatus(String text) { + statusLabel.text = text + } + + def setModel(Run run) { + runs.put(run.reporterId, run) + } + + def updateCounter() { + val run = currentRun + testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' + errorCounterValueLabel.text = '''«run.counter.error»''' + failureCounterValueLabel.text = '''«run.counter.failure»''' + if (run.totalNumberOfTests == 0) { + progressBar.value = 100 + } else { + progressBar.value = 100 * run.totalNumberOfCompletedTests / run.totalNumberOfTests + } + if (run.counter.error > 0 || run.counter.failure > 0) { + progressBar.foreground = Color.RED + } else { + progressBar.foreground = Color.GREEN + } + } + + private def getCurrentRun() { + return runs.values.get(runs.values.length - 1) + } + + private def initializeGUI() { + // Base panel containing all components + basePanel = new JPanel() + basePanel.setLayout(new GridBagLayout()) + var GridBagConstraints c = new GridBagConstraints() + + // Status line + statusLabel = new JLabel + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 6 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + basePanel.add(statusLabel, c) + + // Test counter + val testCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_TESTS_LABEL") + ":", + UtplsqlResources.getIcon("UTPLSQL_ICON"), JLabel::LEADING) + c.gridx = 0 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(testCounterLabel, c) + testCounterValueLabel = new JLabel + c.gridx = 1 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(testCounterValueLabel, c) + + // Error counter + val errorCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_ERRORS_LABEL") + ":", + UtplsqlResources.getIcon("ERROR_ICON"), JLabel::LEADING) + c.gridx = 2 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(errorCounterLabel, c) + errorCounterValueLabel = new JLabel + c.gridx = 3 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(errorCounterValueLabel, c) + + // Failure counter + val failureCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_FAILURES_LABEL") + ":", + UtplsqlResources.getIcon("FAILURE_ICON"), JLabel::LEADING) + c.gridx = 4 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(failureCounterLabel, c) + failureCounterValueLabel = new JLabel + c.gridx = 5 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + basePanel.add(failureCounterValueLabel, c) + + // Progress bar + progressBar = new JProgressBar + progressBar.stringPainted = false + progressBar.foreground = Color.GREEN + progressBar.UI = new BasicProgressBarUI + c.gridx = 0 + c.gridy = 2 + c.gridwidth = 6 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + basePanel.add(progressBar, c) + + // Vertical spring + val spring = new JLabel + c.gridx = 0 + c.gridy = 3 + c.gridwidth = 6 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 1 + basePanel.add(spring, c) + } +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend new file mode 100644 index 00000000..fad818ed --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend @@ -0,0 +1,95 @@ +/* + * Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.test.runner + +import java.awt.Toolkit +import java.util.UUID +import javax.swing.JFrame +import javax.swing.SwingUtilities +import org.junit.Before +import org.junit.Test +import org.utplsql.sqldev.model.runner.Run +import org.utplsql.sqldev.resources.UtplsqlResources +import org.utplsql.sqldev.ui.runner.RunnerPanel + +class UtplsqlRunnerPanelTest { + var Run run + + @Before + def void setup() { + val reporterId = UUID.randomUUID().toString.replace("-", "") + run = new Run(null, reporterId) + run.startTime = "2019-06-09T13:42:42.123456" + run.counter.disabled = 0 + run.counter.success = 0 + run.counter.failure = 0 + run.counter.error = 0 + run.counter.warning = 0 + run.totalNumberOfTests = 5 + } + + @Test + def void showGUI() { + val start = System.currentTimeMillis + val frame = new JFrame("utPLSQL Runner Panel") + frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; + val panel = new RunnerPanel + panel.model = run + val gui = panel.getGUI + + SwingUtilities.invokeLater(new Runnable() { + override run() { + frame.add(gui) + frame.pack + val dim = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); + frame.setVisible(true) + } + }); + + panel.status = "starting" + panel.updateCounter + Thread.sleep(3000); + + run.counter.success = run.counter.success + 1 + panel.status = "utplsql.test.a" + panel.updateCounter + Thread.sleep(500); + + run.counter.success = run.counter.success + 1 + panel.status = "utplsql.test.b" + panel.updateCounter + Thread.sleep(500); + + run.counter.success = run.counter.success + 1 + panel.status = "utplsql.test.c" + panel.updateCounter + Thread.sleep(500); + + run.counter.failure = run.counter.failure + 1 + panel.status = "utplsql.test.d" + panel.updateCounter + Thread.sleep(500); + + run.counter.success = run.counter.success + 1 + val end = System.currentTimeMillis + panel.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), new Double(end-start)/1000) + panel.updateCounter + Thread.sleep(2000); + frame.dispose + } + +} \ No newline at end of file From 256e1dbb376e1ca5f6712aa6bdf807553d2065f4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:07:12 +0200 Subject: [PATCH 044/188] disable test (does not work outside of SQL Developer) --- .../utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index 52435794..d9bf3910 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -17,6 +17,7 @@ import org.junit.AfterClass import org.junit.BeforeClass +import org.junit.Ignore import org.junit.Test import org.springframework.jdbc.BadSqlGrammarException import org.springframework.jdbc.datasource.SingleConnectionDataSource @@ -69,7 +70,8 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { } } - @Test + @Test + @Ignore def void runSlowTests() { var ds1 = new SingleConnectionDataSource() ds1.driverClassName = "oracle.jdbc.OracleDriver" @@ -82,9 +84,9 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { ds2.username = dataSource.username ds2.password = dataSource.password var runner = new UtplsqlRunner(#[":a"], ds1.connection, ds2.connection) - runner.runAsync - runner.producerThread.join(20000) - runner.consumerThread.join(20000) + runner.runTestAsync + runner.producerThread.join(200000) + runner.consumerThread.join(200000) runner.dispose } From 863d0f62f56c7e8a3173000589d91167a207db79 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 02:08:10 +0200 Subject: [PATCH 045/188] add test runner view --- sqldev/extension.xml | 10 ++ .../sqldev/menu/UtplsqlController.xtend | 30 ++++-- .../utplsql/sqldev/runner/UtplsqlRunner.xtend | 99 ++++++++++++++++++- .../sqldev/ui/runner/RunnerFactory.xtend | 61 ++++++++++++ .../utplsql/sqldev/ui/runner/RunnerView.xtend | 42 ++++++++ 5 files changed, 234 insertions(+), 8 deletions(-) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerFactory.xtend create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend diff --git a/sqldev/extension.xml b/sqldev/extension.xml index c1e41dfd..835e262c 100644 --- a/sqldev/extension.xml +++ b/sqldev/extension.xml @@ -88,6 +88,9 @@ + + + @@ -164,4 +167,11 @@ + + + + + + + diff --git a/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend b/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend index 0cc3f46c..7ae8a4f2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.xtend @@ -37,12 +37,14 @@ import oracle.ide.controller.Controller import oracle.ide.controller.IdeAction import oracle.ide.editor.Editor import org.utplsql.sqldev.coverage.CodeCoverageReporter +import org.utplsql.sqldev.dal.RealtimeReporterDao import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.URLTools import org.utplsql.sqldev.model.oddgen.GenContext import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.oddgen.TestTemplate import org.utplsql.sqldev.parser.UtplsqlParser +import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner class UtplsqlController implements Controller { @@ -197,7 +199,7 @@ class UtplsqlController implements Controller { set.add(path) } val ret = new ArrayList - val p = Pattern.compile("((((\\w+)\\.)?\\w+)\\.)?\\w+") + val p = Pattern.compile("(((([^\\.]+)\\.)?[^\\.]+)\\.)?[^\\.]+") for (path : set) { val m = p.matcher(path) if (m.matches()) { @@ -264,6 +266,7 @@ class UtplsqlController implements Controller { def runTest(Context context) { val view = context.view val node = context.node + val preferences = PreferenceModel.getInstance(Preferences.preferences) logger.finer('''Run utPLSQL from view «view?.class?.name» and node «node?.class?.name».''') if (view instanceof Editor) { val component = view.defaultFocusComponent @@ -278,20 +281,35 @@ class UtplsqlController implements Controller { } logger.fine('''connectionName: «connectionName»''') // issue 59 - always use a connection to ensure the utPL/SQL annotation API is used - val parser = new UtplsqlParser(component.text, Connections.instance.getConnection(connectionName), owner) + val conn = Connections.instance.getConnection(connectionName) + val parser = new UtplsqlParser(component.text, conn, owner) val position = component.caretPosition val path = parser.getPathAt(position) - val utPlsqlWorksheet = new UtplsqlWorksheetRunner(path.pathList, connectionName) - utPlsqlWorksheet.runTestAsync + val rrDao = new RealtimeReporterDao(conn) + if (preferences.useRealtimeReporter && rrDao.supported) { + val runner = new UtplsqlRunner(path.pathList, connectionName) + runner.runTestAsync + + } else { + val worksheet = new UtplsqlWorksheetRunner(path.pathList, connectionName) + worksheet.runTestAsync + } } } else if (view instanceof DBNavigatorWindow) { val url=context.URL if (url !== null) { val connectionName = url.connectionName logger.fine('''connectionName: «connectionName»''') + val conn = Connections.instance.getConnection(connectionName) + val rrDao = new RealtimeReporterDao(conn) val pathList=context.pathList.dedupPathList - val utPlsqlWorksheet = new UtplsqlWorksheetRunner(pathList, connectionName) - utPlsqlWorksheet.runTestAsync + if (preferences.useRealtimeReporter && rrDao.supported) { + val runner = new UtplsqlRunner(pathList, connectionName) + runner.runTestAsync + } else { + val worksheet = new UtplsqlWorksheetRunner(pathList, connectionName) + worksheet.runTestAsync + } } } } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 0bebfa05..141e13a7 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -16,22 +16,38 @@ package org.utplsql.sqldev.runner import java.sql.Connection +import java.text.SimpleDateFormat +import java.util.Date import java.util.List import java.util.UUID import java.util.logging.Logger import oracle.dbtools.raptor.utils.Connections import org.utplsql.sqldev.dal.RealtimeReporterDao import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer +import org.utplsql.sqldev.model.runner.PostRunEvent +import org.utplsql.sqldev.model.runner.PostSuiteEvent +import org.utplsql.sqldev.model.runner.PostTestEvent +import org.utplsql.sqldev.model.runner.PreRunEvent +import org.utplsql.sqldev.model.runner.PreSuiteEvent +import org.utplsql.sqldev.model.runner.PreTestEvent import org.utplsql.sqldev.model.runner.RealtimeReporterEvent +import org.utplsql.sqldev.model.runner.Run +import org.utplsql.sqldev.resources.UtplsqlResources +import org.utplsql.sqldev.ui.runner.RunnerFactory +import org.utplsql.sqldev.ui.runner.RunnerPanel +import org.utplsql.sqldev.ui.runner.RunnerView class UtplsqlRunner implements RealtimeReporterEventConsumer { static val Logger logger = Logger.getLogger(UtplsqlRunner.name); var List pathList + var String connectionName var Connection producerConn var Connection consumerConn val String reporterId = UUID.randomUUID().toString.replace("-", "") + var Run run + var RunnerPanel panel var Thread producerThread var Thread consumerThread @@ -56,6 +72,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { this.producerConn = Connections.instance.cloneConnection(Connections.instance.getConnection(connectionName)) this.consumerConn = Connections.instance.cloneConnection(Connections.instance.getConnection(connectionName)) } + this.connectionName = connectionName } def dispose() { @@ -65,6 +82,80 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { override void process(RealtimeReporterEvent event) { logger.fine(event.toString) + event.doProcess + } + + private def getSysdate() { + val dateTime = new Date(System.currentTimeMillis); + val df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'000'"); + return df.format(dateTime) + + } + + private def dispatch doProcess(PreRunEvent event) { + run = new Run(reporterId, connectionName) + run.startTime = sysdate + run.counter.disabled = 0 + run.counter.success = 0 + run.counter.failure = 0 + run.counter.error = 0 + run.counter.warning = 0 + run.totalNumberOfTests = event.totalNumberOfTests + run.put(event.items) + panel.model = run + panel.status = UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT") + panel.updateCounter + + } + + private def dispatch doProcess(PostRunEvent event) { + run.startTime = event.startTime + run.endTime = event.endTime + run.executionTime = event.executionTime + run.counter = event.counter + run.errorStack = event.errorStack + run.serverOutput = event.serverOutput + panel.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), event.executionTime) + panel.updateCounter + } + + private def dispatch doProcess(PreSuiteEvent event) { + // ignore + } + + private def dispatch doProcess(PostSuiteEvent event) { + // ignore + } + + private def dispatch doProcess(PreTestEvent event) { + val test = run.getTest(event.id) + if (test === null) { + logger.severe('''Could not find test id "«event.id»" when processing PreTestEvent «event.toString».''') + } else { + test.startTime = sysdate + } + panel.status = '''«event.id»''' + panel.updateCounter + } + + private def dispatch doProcess(PostTestEvent event) { + val test = run.getTest(event.id) + if (test === null) { + logger.severe('''Could not find test id "«event.id»"" when processing PostTestEvent «event.toString».''') + } else { + test.startTime = event.startTime + test.endTime = event.endTime + test.executionTime = event.executionTime + test.counter = event.counter + test.errorStack = event.errorStack + test.serverOutput = event.serverOutput + } + run.counter.disabled = run.counter.disabled + event.counter.disabled + run.counter.success = run.counter.success + event.counter.success + run.counter.failure = run.counter.failure + event.counter.failure + run.counter.error = run.counter.error + event.counter.error + run.counter.warning = run.counter.warning + event.counter.warning + panel.updateCounter } private def void produce() { @@ -89,7 +180,11 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } } - def runAsync() { + def runTestAsync() { + // show dockable + val dockable = RunnerFactory.dockable as RunnerView + RunnerFactory.showDockable; + panel = dockable?.runnerPanel // the producer val Runnable producer = [|produce] producerThread = new Thread(producer) @@ -109,5 +204,5 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { def getConsumerThread() { return consumerThread } - + } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerFactory.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerFactory.xtend new file mode 100644 index 00000000..61915559 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerFactory.xtend @@ -0,0 +1,61 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import oracle.ide.docking.DockStation +import oracle.ide.docking.DockableFactory +import oracle.ide.docking.DockingParam +import oracle.ide.layout.ViewId + +class RunnerFactory implements DockableFactory { + public static val FACTORY_NAME = "UTPLSQL_RUNNER_FACTORY" + + var RunnerView dockable + + override install() { + val dockStation = DockStation.getDockStation(); + val dp = new DockingParam(); + val referencedViewId = new ViewId("DatabaseNavigatorWindow", "DatabaseNavigatorWindow") + val referencedDockable = dockStation.findDockable(referencedViewId) + dp.tabbedWith = referencedDockable + dockStation.dock(getLocalDockable(), dp); + } + + override getDockable(ViewId viewId) { + if (viewId === RunnerView.VIEW_ID) { + return localDockable + } + return null + } + + private def getLocalDockable() { + if (dockable === null) { + dockable = new RunnerView + } + return dockable + } + + static def getDockable() { + val dockStation = DockStation.dockStation + val dockable = dockStation.findDockable(RunnerView.VIEW_ID) + return dockable as RunnerView + } + + static def void showDockable() { + val dockStation = DockStation.dockStation + dockStation.setDockableVisible(getDockable(), true) + } +} \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend new file mode 100644 index 00000000..4202e3b4 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend @@ -0,0 +1,42 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import oracle.ide.docking.DockableWindow +import oracle.ide.layout.ViewId +import org.utplsql.sqldev.resources.UtplsqlResources + +class RunnerView extends DockableWindow { + static val VIEW_NAME = "UTPLSQL_RUNNER_VIEW" + public static val ViewId VIEW_ID = new ViewId(RunnerFactory.FACTORY_NAME, VIEW_NAME) + var RunnerPanel panel + + override getTitleName() { + return UtplsqlResources.getString("RUNNER_VIEW_TITLE") + } + + override getGUI() { + if (panel === null) { + panel = new RunnerPanel + } + return panel.getGUI() + } + + def getRunnerPanel() { + getGUI() + return panel + } +} From c8a8101391d5595e2fc8a7d2111623fa6e7eec39 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 10:18:55 +0200 Subject: [PATCH 046/188] add status to model --- sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend | 1 + 1 file changed, 1 insertion(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index 9058bf5a..5b89794b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -32,6 +32,7 @@ class Run extends AbstractModel { String errorStack String serverOutput LinkedHashMap tests + String status new(String reporterId, String connectionName) { this.reporterId = reporterId From 1d5140172729da81cfa1d4e6637d8ca792c2edba Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 10:21:06 +0200 Subject: [PATCH 047/188] change update interface and progressBar properties --- .../sqldev/ui/runner/RunnerPanel.xtend | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 27377bac..7c0ed640 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -17,6 +17,7 @@ package org.utplsql.sqldev.ui.runner import java.awt.Color import java.awt.Component +import java.awt.Dimension import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets @@ -29,6 +30,8 @@ import org.utplsql.sqldev.model.runner.Run import org.utplsql.sqldev.resources.UtplsqlResources class RunnerPanel { + static val GREEN = new Color(0, 153, 0) + static val RED = new Color(153, 0, 0) LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) JPanel basePanel JLabel statusLabel @@ -44,35 +47,28 @@ class RunnerPanel { return basePanel } - def setStatus(String text) { - statusLabel.text = text - } - def setModel(Run run) { runs.put(run.reporterId, run) } - def updateCounter() { - val run = currentRun + def update(String reporterId) { + val run = runs.get(reporterId) + statusLabel.text = run.status testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' errorCounterValueLabel.text = '''«run.counter.error»''' failureCounterValueLabel.text = '''«run.counter.failure»''' if (run.totalNumberOfTests == 0) { progressBar.value = 100 } else { - progressBar.value = 100 * run.totalNumberOfCompletedTests / run.totalNumberOfTests + progressBar.value = Math.round(100 * run.totalNumberOfCompletedTests / run.totalNumberOfTests) } if (run.counter.error > 0 || run.counter.failure > 0) { - progressBar.foreground = Color.RED + progressBar.foreground = RED } else { - progressBar.foreground = Color.GREEN + progressBar.foreground = GREEN } } - - private def getCurrentRun() { - return runs.values.get(runs.values.length - 1) - } - + private def initializeGUI() { // Base panel containing all components basePanel = new JPanel() @@ -169,8 +165,11 @@ class RunnerPanel { // Progress bar progressBar = new JProgressBar + val progressBarDim = new Dimension(10, 20) + progressBar.preferredSize = progressBarDim + progressBar.minimumSize = progressBarDim progressBar.stringPainted = false - progressBar.foreground = Color.GREEN + progressBar.foreground = GREEN progressBar.UI = new BasicProgressBarUI c.gridx = 0 c.gridy = 2 From 787917972105e51cb35175ce7ecd637a1c090bcf Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 10:21:23 +0200 Subject: [PATCH 048/188] add RUNNER_RUNNING_TEXT --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 2 +- .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index bf8c706a..67fc4de2 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -53,5 +53,5 @@ RUNNER_TESTS_LABEL=Tests RUNNER_ERRORS_LABEL=Errors RUNNER_FAILURES_LABEL=Failures RUNNER_INITIALIZING_TEXT=Initializing... +RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. - diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 11c5b59f..073d65a6 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -40,4 +40,5 @@ RUNNER_TESTS_LABEL=Tests RUNNER_ERRORS_LABEL=Fehler RUNNER_FAILURES_LABEL=Fehlschläge RUNNER_INITIALIZING_TEXT=Initialisierung... +RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. From dc2bfb16cb69537f2ffcaff36ca9ced28948ba11 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 10:22:48 +0200 Subject: [PATCH 049/188] use new update interface, passing reporterId this allows to run mulitple utPLSQL tests in parallel --- .../utplsql/sqldev/runner/UtplsqlRunner.xtend | 54 +++++++++++-------- .../test/runner/UtplsqlRunnerPanelTest.xtend | 25 ++++----- 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 141e13a7..9fcbdfd1 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -92,7 +92,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } - private def dispatch doProcess(PreRunEvent event) { + private def initRun() { run = new Run(reporterId, connectionName) run.startTime = sysdate run.counter.disabled = 0 @@ -100,12 +100,17 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.counter.failure = 0 run.counter.error = 0 run.counter.warning = 0 + run.totalNumberOfTests = -1 + run.status = UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT") + panel.model = run + panel.update(reporterId) + } + + private def dispatch doProcess(PreRunEvent event) { run.totalNumberOfTests = event.totalNumberOfTests run.put(event.items) - panel.model = run - panel.status = UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT") - panel.updateCounter - + run.status = UtplsqlResources.getString("RUNNER_RUNNING_TEXT") + panel.update(reporterId) } private def dispatch doProcess(PostRunEvent event) { @@ -115,8 +120,8 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.counter = event.counter run.errorStack = event.errorStack run.serverOutput = event.serverOutput - panel.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), event.executionTime) - panel.updateCounter + run.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), event.executionTime) + panel.update(reporterId) } private def dispatch doProcess(PreSuiteEvent event) { @@ -134,8 +139,8 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } else { test.startTime = sysdate } - panel.status = '''«event.id»''' - panel.updateCounter + run.status = event.id + panel.update(reporterId) } private def dispatch doProcess(PostTestEvent event) { @@ -155,7 +160,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.counter.failure = run.counter.failure + event.counter.failure run.counter.error = run.counter.error + event.counter.error run.counter.warning = run.counter.warning + event.counter.warning - panel.updateCounter + panel.update(reporterId) } private def void produce() { @@ -183,18 +188,23 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { def runTestAsync() { // show dockable val dockable = RunnerFactory.dockable as RunnerView - RunnerFactory.showDockable; - panel = dockable?.runnerPanel - // the producer - val Runnable producer = [|produce] - producerThread = new Thread(producer) - producerThread.name = "realtime producer" - producerThread.start - // the consumer - val Runnable consumer = [|consume] - consumerThread = new Thread(consumer) - consumerThread.name = "realtime consumer" - consumerThread.start + if (dockable === null) { + logger.severe('''Error getting utPLSQL dockable. Cannot run utPLSQL test.''') + } else { + RunnerFactory.showDockable; + panel = dockable.runnerPanel + initRun + // the producer + val Runnable producer = [|produce] + producerThread = new Thread(producer) + producerThread.name = "realtime producer" + producerThread.start + // the consumer + val Runnable consumer = [|consume] + consumerThread = new Thread(consumer) + consumerThread.name = "realtime consumer" + consumerThread.start + } } def getProducerThread() { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend index fad818ed..df2f1238 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend @@ -60,34 +60,35 @@ class UtplsqlRunnerPanelTest { } }); - panel.status = "starting" - panel.updateCounter + run.status="starting" + panel.update(run.reporterId) Thread.sleep(3000); run.counter.success = run.counter.success + 1 - panel.status = "utplsql.test.a" - panel.updateCounter + run.status="utplsql.test.a" + panel.update(run.reporterId) Thread.sleep(500); run.counter.success = run.counter.success + 1 - panel.status = "utplsql.test.b" - panel.updateCounter + run.status="utplsql.test.b" + panel.update(run.reporterId) Thread.sleep(500); run.counter.success = run.counter.success + 1 - panel.status = "utplsql.test.c" - panel.updateCounter + run.status="utplsql.test.c" + panel.update(run.reporterId) Thread.sleep(500); run.counter.failure = run.counter.failure + 1 - panel.status = "utplsql.test.d" - panel.updateCounter + run.status="utplsql.test.d" + panel.update(run.reporterId) Thread.sleep(500); run.counter.success = run.counter.success + 1 + run.status="utplsql.test.e" val end = System.currentTimeMillis - panel.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), new Double(end-start)/1000) - panel.updateCounter + run.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), new Double(end-start)/1000) + panel.update(run.reporterId) Thread.sleep(2000); frame.dispose } From 0ae3be586423308f937a29166ee022e90921a916 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 12:01:52 +0200 Subject: [PATCH 050/188] support execution outside of SQL Developer --- .../utplsql/sqldev/runner/UtplsqlRunner.xtend | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 9fcbdfd1..8e7773db 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -15,12 +15,15 @@ */ package org.utplsql.sqldev.runner +import java.awt.Dimension +import java.awt.Toolkit import java.sql.Connection import java.text.SimpleDateFormat import java.util.Date import java.util.List import java.util.UUID import java.util.logging.Logger +import javax.swing.JFrame import oracle.dbtools.raptor.utils.Connections import org.utplsql.sqldev.dal.RealtimeReporterDao import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer @@ -185,15 +188,40 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } } - def runTestAsync() { - // show dockable - val dockable = RunnerFactory.dockable as RunnerView - if (dockable === null) { + private def isRunningInSqlDeveloper() { + return connectionName !== null + } + + private def initGUI() { + var RunnerView dockable = null + if (runningInSqlDeveloper && (dockable = RunnerFactory.dockable as RunnerView) === null) { logger.severe('''Error getting utPLSQL dockable. Cannot run utPLSQL test.''') + return false } else { - RunnerFactory.showDockable; - panel = dockable.runnerPanel + if (runningInSqlDeveloper) { + RunnerFactory.showDockable; + panel = dockable.runnerPanel + } else { + val frame = new JFrame("utPLSQL Runner Panel") + frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; + panel = new RunnerPanel + frame.add(panel.getGUI) + val frameSize = new Dimension(500, 500) + frame.minimumSize = frameSize + frame.preferredSize = frameSize + frame.pack + val dim = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); + frame.setVisible(true) + } initRun + } + return true + } + + def runTestAsync() { + // start tests when the GUI has been successfully initialized. + if (initGUI) { // the producer val Runnable producer = [|produce] producerThread = new Thread(producer) From 2a042aa5fa123fcbb0249e4d95d5bee58b497934 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 12:02:40 +0200 Subject: [PATCH 051/188] enable and change name --- .../org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index d9bf3910..e6808efa 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -71,8 +71,7 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { } @Test - @Ignore - def void runSlowTests() { + def void runTestsWithMaxTime() { var ds1 = new SingleConnectionDataSource() ds1.driverClassName = "oracle.jdbc.OracleDriver" ds1.url = dataSource.url From 61d8a7d76d4dc89349edd4f5f75ba1ad078cb10f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:01:25 +0200 Subject: [PATCH 052/188] add resources for overview table --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 3 +++ .../utplsql/sqldev/resources/UtplsqlResources_de.properties | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 67fc4de2..111f746f 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -55,3 +55,6 @@ RUNNER_FAILURES_LABEL=Failures RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. +RUNNER_TEST_STATUS= +RUNNER_TEST_ID=Id +RUNNER_TEST_EXECUTION_TIME=Time [s] diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 073d65a6..f2905a20 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -42,3 +42,6 @@ RUNNER_FAILURES_LABEL=Fehlschl RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. +RUNNER_TEST_STATUS= +RUNNER_TEST_ID=Id +RUNNER_TEST_EXECUTION_TIME=Zeit [s] From 35d5ed989fe7bbc7fcfecbb74e7be6b2e70a5697 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:02:06 +0200 Subject: [PATCH 053/188] add getStatusIcon method for overview table --- .../org/utplsql/sqldev/model/runner/Test.xtend | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend index 47cd6d29..fdd8be85 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend @@ -16,7 +16,9 @@ package org.utplsql.sqldev.model.runner import java.util.List +import javax.swing.Icon import org.eclipse.xtend.lib.annotations.Accessors +import org.utplsql.sqldev.resources.UtplsqlResources @Accessors class Test extends Item { @@ -29,4 +31,20 @@ class Test extends Item { String description Integer testNumber List failedExpectations + + def getStatusIcon() { + var Icon icon = null + if (counter !== null) { + if (counter.success > 0) { + icon = UtplsqlResources.getIcon("SUCCESS_ICON") + } else if (counter.error > 0) { + icon = UtplsqlResources.getIcon("ERROR_ICON") + } else if (counter.failure > 0) { + icon = UtplsqlResources.getIcon("FAILURE_ICON") + } else if (counter.disabled > 0) { + icon = UtplsqlResources.getIcon("DISABLED_ICON") + } + } + return icon + } } \ No newline at end of file From 5fdf1e24a2190cacf89f1fc2a669652ffbac13be Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:02:52 +0200 Subject: [PATCH 054/188] add overview table --- .../sqldev/ui/runner/RunnerPanel.xtend | 33 +++++++- .../ui/runner/TestOverviewTableModel.xtend | 80 +++++++++++++++++++ 2 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 7c0ed640..c231f6a5 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -24,6 +24,8 @@ import java.awt.Insets import javax.swing.JLabel import javax.swing.JPanel import javax.swing.JProgressBar +import javax.swing.JScrollPane +import javax.swing.JTable import javax.swing.plaf.basic.BasicProgressBarUI import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.runner.Run @@ -39,6 +41,8 @@ class RunnerPanel { JLabel errorCounterValueLabel JLabel failureCounterValueLabel JProgressBar progressBar; + TestOverviewTableModel testOverviewTableModel + JTable testOverviewTable def Component getGUI() { if (basePanel === null) { @@ -49,10 +53,17 @@ class RunnerPanel { def setModel(Run run) { runs.put(run.reporterId, run) + testOverviewTableModel.model = run.tests } def update(String reporterId) { val run = runs.get(reporterId) + val row = run.totalNumberOfCompletedTests - 1 + if (row < 0) { + testOverviewTableModel.fireTableDataChanged + } else { + testOverviewTableModel.fireTableRowsUpdated(row, row) + } statusLabel.text = run.status testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' errorCounterValueLabel.text = '''«run.counter.error»''' @@ -181,9 +192,19 @@ class RunnerPanel { c.weightx = 1 c.weighty = 0 basePanel.add(progressBar, c) - - // Vertical spring - val spring = new JLabel + + // Test overview - first part of the horizontal split pane + testOverviewTableModel = new TestOverviewTableModel + testOverviewTable = new JTable(testOverviewTableModel) + val overviewTableIcon = testOverviewTable.columnModel.getColumn(0) + overviewTableIcon.minWidth = 20 + overviewTableIcon.preferredWidth = 20 + overviewTableIcon.maxWidth = 20 + val overviewTableTime = testOverviewTable.columnModel.getColumn(2) + overviewTableTime.preferredWidth = 60 + overviewTableTime.maxWidth = 100 + testOverviewTable.tableHeader.reorderingAllowed = false + val testOverviewScrollPane = new JScrollPane(testOverviewTable) c.gridx = 0 c.gridy = 3 c.gridwidth = 6 @@ -193,6 +214,10 @@ class RunnerPanel { c.fill = GridBagConstraints::BOTH c.weightx = 1 c.weighty = 1 - basePanel.add(spring, c) + basePanel.add(testOverviewScrollPane, c) + + // Test details tabbed pane - second part of the horizontal split pane + + } } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend new file mode 100644 index 00000000..df61efbc --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -0,0 +1,80 @@ +package org.utplsql.sqldev.ui.runner + +import java.util.LinkedHashMap +import javax.swing.Icon +import javax.swing.table.DefaultTableModel +import org.utplsql.sqldev.model.runner.Test +import org.utplsql.sqldev.resources.UtplsqlResources + +class TestOverviewTableModel extends DefaultTableModel { + LinkedHashMap tests + + new() { + super() + } + + def setModel(LinkedHashMap tests) { + this.tests = tests + fireTableDataChanged() + } + + override getRowCount() { + if (tests === null) { + return 0 + } + return tests.size() + } + + override getColumnCount() { + return 3 + } + + override getValueAt(int row, int col) { + val test = tests.entrySet.get(row).value + + if (test === null) { + return null + } + + switch (col) { + case 0: { + return test.statusIcon + } + case 1: { + return test.id + } + case 2: { + return test.executionTime + } + default: { + return null + } + } + } + + override getColumnName(int col) { + return #[UtplsqlResources.getString("RUNNER_TEST_STATUS"), UtplsqlResources.getString("RUNNER_TEST_ID"), + UtplsqlResources.getString("RUNNER_TEST_EXECUTION_TIME")].get(col) + } + + override isCellEditable(int row, int column) { + return false + } + + override getColumnClass(int col) { + switch (col) { + case 0: { + return Icon + } + case 1: { + return String + } + case 2: { + return Double + } + default: { + return String + } + } + } +} From 719f46fda1c4c9695e7d2b86ade5bf72a39490a8 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:03:35 +0200 Subject: [PATCH 055/188] change size of runner panel --- .../main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 8e7773db..42d6dfea 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -206,9 +206,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; panel = new RunnerPanel frame.add(panel.getGUI) - val frameSize = new Dimension(500, 500) - frame.minimumSize = frameSize - frame.preferredSize = frameSize + frame.preferredSize = new Dimension(500, 500) frame.pack val dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); From aa2d92510add47304e72e572ffc8c4e562ce0624 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:04:11 +0200 Subject: [PATCH 056/188] initialize gui before assiging model --- .../org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend index df2f1238..1bc2e31a 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend @@ -47,8 +47,8 @@ class UtplsqlRunnerPanelTest { val frame = new JFrame("utPLSQL Runner Panel") frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; val panel = new RunnerPanel - panel.model = run val gui = panel.getGUI + panel.model = run SwingUtilities.invokeLater(new Runnable() { override run() { From 30c0035deff9bbb6bab73ca9dd210b14b3e03a68 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 15:04:42 +0200 Subject: [PATCH 057/188] add a sleep at the end of the test --- .../java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index e6808efa..accf22e8 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -17,7 +17,6 @@ import org.junit.AfterClass import org.junit.BeforeClass -import org.junit.Ignore import org.junit.Test import org.springframework.jdbc.BadSqlGrammarException import org.springframework.jdbc.datasource.SingleConnectionDataSource @@ -86,6 +85,7 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { runner.runTestAsync runner.producerThread.join(200000) runner.consumerThread.join(200000) + Thread.sleep(4 * 1000) runner.dispose } From 46ef53c0f371efa97e0feeb487c0512e52fca7c3 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 20:54:42 +0200 Subject: [PATCH 058/188] make tabel sortable, sync while updating, improve formatting --- .../sqldev/ui/runner/RunnerPanel.xtend | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index c231f6a5..704c590b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -21,12 +21,14 @@ import java.awt.Dimension import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets +import java.text.DecimalFormat import javax.swing.JLabel import javax.swing.JPanel import javax.swing.JProgressBar import javax.swing.JScrollPane import javax.swing.JTable import javax.swing.plaf.basic.BasicProgressBarUI +import javax.swing.table.DefaultTableCellRenderer import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.runner.Run import org.utplsql.sqldev.resources.UtplsqlResources @@ -54,6 +56,7 @@ class RunnerPanel { def setModel(Run run) { runs.put(run.reporterId, run) testOverviewTableModel.model = run.tests + testOverviewTable.rowSorter.sortKeys = null } def update(String reporterId) { @@ -62,7 +65,11 @@ class RunnerPanel { if (row < 0) { testOverviewTableModel.fireTableDataChanged } else { - testOverviewTableModel.fireTableRowsUpdated(row, row) + if (testOverviewTableModel.rowCount > row) { + testOverviewTableModel.fireTableRowsUpdated(row, row) + val positionOfCurrentTest = testOverviewTable.getCellRect(row, 0, true); + testOverviewTable.scrollRectToVisible = positionOfCurrentTest + } } statusLabel.text = run.status testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' @@ -79,6 +86,25 @@ class RunnerPanel { progressBar.foreground = GREEN } } + + static class TimeFormatRenderer extends DefaultTableCellRenderer { + static val DecimalFormat formatter = new DecimalFormat("#,##0.000") + + override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, + boolean hasFocus, int row, int col) { + val renderedValue = if (value === null) {null} else {formatter.format(value as Number)} + return super.getTableCellRendererComponent(table, renderedValue, isSelected, hasFocus, row, col) } + } + + static class TestTableHeaderRenderer extends DefaultTableCellRenderer { + override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, + int row, int col) { + val renderer = table.getTableHeader().getDefaultRenderer() + val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel + label.horizontalAlignment = if (col === 2) {JLabel.RIGHT} else {JLabel.LEFT} + return label + } + } private def initializeGUI() { // Base panel containing all components @@ -196,14 +222,22 @@ class RunnerPanel { // Test overview - first part of the horizontal split pane testOverviewTableModel = new TestOverviewTableModel testOverviewTable = new JTable(testOverviewTableModel) + testOverviewTable.tableHeader.reorderingAllowed = false + testOverviewTable.autoCreateRowSorter = true + val testTableHeaderRenderer = new TestTableHeaderRenderer val overviewTableIcon = testOverviewTable.columnModel.getColumn(0) overviewTableIcon.minWidth = 20 overviewTableIcon.preferredWidth = 20 overviewTableIcon.maxWidth = 20 + val overviewTableId = testOverviewTable.columnModel.getColumn(1) + overviewTableId.headerRenderer = testTableHeaderRenderer val overviewTableTime = testOverviewTable.columnModel.getColumn(2) overviewTableTime.preferredWidth = 60 overviewTableTime.maxWidth = 100 - testOverviewTable.tableHeader.reorderingAllowed = false + overviewTableTime.headerRenderer = testTableHeaderRenderer + val timeFormatRenderer = new TimeFormatRenderer + timeFormatRenderer.horizontalAlignment = JLabel.RIGHT + overviewTableTime.cellRenderer = timeFormatRenderer val testOverviewScrollPane = new JScrollPane(testOverviewTable) c.gridx = 0 c.gridy = 3 From 4512f80b1f13e4f3e9ac5f0bd6f20adf09b000db Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 20:55:21 +0200 Subject: [PATCH 059/188] add disabled and errored test --- .../sqldev/test/runner/UtplsqlRunnerTest.xtend | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index accf22e8..694a4146 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -40,6 +40,13 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { --%test(test 2 - NOK) PROCEDURE test_2_nok; + --%test(test 3 - disabled) + --%disabled + PROCEDURE test_3_disabled; + + --%test(test 4 - errored) + PROCEDURE test_4_errored; + --%endcontext END; ''') @@ -56,6 +63,15 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { dbms_session.sleep(2); ut.expect(1).to_equal(2); END; + + PROCEDURE test_3_disabled IS + BEGIN + NULL; + END; + PROCEDURE test_4_errored IS + BEGIN + EXECUTE IMMEDIATE 'bla bla'; + END; END; ''') } From 2e2c6e4eede7a79951a4d43a8d046c1db0ab9b4a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 22:38:41 +0200 Subject: [PATCH 060/188] suppressing common prefix to make shown test id more compact --- .../java/org/utplsql/sqldev/model/GFG.xtend | 64 +++++++++++++++++++ .../ui/runner/TestOverviewTableModel.xtend | 28 ++++++-- 2 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend new file mode 100644 index 00000000..c1b405a8 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend @@ -0,0 +1,64 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.model + +// converted to Xtend based on Java code on https://www.geeksforgeeks.org/longest-common-prefix-using-binary-search/ +class GFG { + def static int findMinLength(String[] arr, int n) { + var int min = Integer.MAX_VALUE + for (var int i = 0; i <= (n - 1); i++) { + if ({ + val _rdIndx_arr = i + arr.get(_rdIndx_arr) + }.length() < min) { + min = { + val _rdIndx_arr = i + arr.get(_rdIndx_arr) + }.length() + } + } + return min + } + + def static boolean allContainsPrefix(String[] arr, int n, String str, int start, int end) { + for (var int i = 0; i <= (n - 1); i++) { + var String arr_i = { + val _rdIndx_arr = i + arr.get(_rdIndx_arr) + } + for (var int j = start; j <= end; j++) + if(arr_i.charAt(j) !== str.charAt(j)) return false + } + return true + } + + def static String commonPrefix(String[] arr, int n) { + var int index = findMinLength(arr, n) + var String prefix = "" + var int low = 0 + var int high = index + while (low <= high) { + var int mid = low + (high - low) / 2 + if (allContainsPrefix(arr, n, arr.get(0), low, mid)) { + prefix = prefix + arr.get(0).substring(low, mid + 1) + low = mid + 1 + } else { + high = mid - 1 + } + } + return prefix + } +} diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index df61efbc..9921c54d 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -1,13 +1,30 @@ -package org.utplsql.sqldev.ui.runner +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.ui.runner import java.util.LinkedHashMap import javax.swing.Icon import javax.swing.table.DefaultTableModel +import org.utplsql.sqldev.model.GFG import org.utplsql.sqldev.model.runner.Test import org.utplsql.sqldev.resources.UtplsqlResources class TestOverviewTableModel extends DefaultTableModel { LinkedHashMap tests + String commonPrefix new() { super() @@ -15,6 +32,7 @@ class TestOverviewTableModel extends DefaultTableModel { def setModel(LinkedHashMap tests) { this.tests = tests + this.commonPrefix = null fireTableDataChanged() } @@ -31,17 +49,19 @@ class TestOverviewTableModel extends DefaultTableModel { override getValueAt(int row, int col) { val test = tests.entrySet.get(row).value - if (test === null) { return null } - + if (commonPrefix === null) { + var String[] testArray = newArrayOfSize(tests.keySet.size) + commonPrefix = GFG.commonPrefix(tests.keySet.toArray(testArray), tests.keySet.size) + } switch (col) { case 0: { return test.statusIcon } case 1: { - return test.id + return test.id.substring(if(commonPrefix === null) {0} else {commonPrefix.length}) } case 2: { return test.executionTime From aadb4039225a673ee5af488e9e80aef0bf978668 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 22:41:36 +0200 Subject: [PATCH 061/188] rename GFG to PrefixTools including usages --- .../org/utplsql/sqldev/model/{GFG.xtend => PrefixTools.xtend} | 2 +- .../org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename sqldev/src/main/java/org/utplsql/sqldev/model/{GFG.xtend => PrefixTools.xtend} (98%) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend similarity index 98% rename from sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend rename to sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend index c1b405a8..18575e79 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/GFG.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend @@ -16,7 +16,7 @@ package org.utplsql.sqldev.model // converted to Xtend based on Java code on https://www.geeksforgeeks.org/longest-common-prefix-using-binary-search/ -class GFG { +class PrefixTools { def static int findMinLength(String[] arr, int n) { var int min = Integer.MAX_VALUE for (var int i = 0; i <= (n - 1); i++) { diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 9921c54d..f5dfbe4d 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -18,9 +18,9 @@ import java.util.LinkedHashMap import javax.swing.Icon import javax.swing.table.DefaultTableModel -import org.utplsql.sqldev.model.GFG import org.utplsql.sqldev.model.runner.Test import org.utplsql.sqldev.resources.UtplsqlResources +import org.utplsql.sqldev.model.PrefixTools class TestOverviewTableModel extends DefaultTableModel { LinkedHashMap tests @@ -54,7 +54,7 @@ class TestOverviewTableModel extends DefaultTableModel { } if (commonPrefix === null) { var String[] testArray = newArrayOfSize(tests.keySet.size) - commonPrefix = GFG.commonPrefix(tests.keySet.toArray(testArray), tests.keySet.size) + commonPrefix = PrefixTools.commonPrefix(tests.keySet.toArray(testArray), tests.keySet.size) } switch (col) { case 0: { From 90c7fe3625aa8263481a1329c03c119e1af227dd Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 10 Jun 2019 23:05:00 +0200 Subject: [PATCH 062/188] notify when no tests are found --- .../main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 5 +++++ .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 1 + .../utplsql/sqldev/resources/UtplsqlResources_de.properties | 1 + 3 files changed, 7 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 42d6dfea..ebf62410 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -186,6 +186,11 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } catch (Exception e) { logger.severe('''Error while consuming events for reporter id «reporterId»: «e?.message»''') } + if (run.totalNumberOfTests < 0) { + run.status = UtplsqlResources.getString("RUNNER_NO_TESTS_FOUND_TEXT") + run.totalNumberOfTests = 0 + panel.update(reporterId) + } } private def isRunningInSqlDeveloper() { diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 111f746f..301084f4 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -55,6 +55,7 @@ RUNNER_FAILURES_LABEL=Failures RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. +RUNNER_NO_TESTS_FOUND_TEXT=No tests found. RUNNER_TEST_STATUS= RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Time [s] diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index f2905a20..eb3711e1 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -42,6 +42,7 @@ RUNNER_FAILURES_LABEL=Fehlschl RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. +RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. RUNNER_TEST_STATUS= RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Zeit [s] From ec85b5f93bb7b46dfcfb6fc50b9303c5c5a2a9bf Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 11 Jun 2019 10:32:03 +0200 Subject: [PATCH 063/188] use common prefix as column header --- .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 6 ++++++ .../utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 704c590b..0bd32c4f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -62,6 +62,12 @@ class RunnerPanel { def update(String reporterId) { val run = runs.get(reporterId) val row = run.totalNumberOfCompletedTests - 1 + val header = testOverviewTableModel.testIdColumnName + val idColumn = testOverviewTable.columnModel.getColumn(1) + if (idColumn.headerValue != header) { + idColumn.headerValue = header + testOverviewTable.tableHeader.repaint + } if (row < 0) { testOverviewTableModel.fireTableDataChanged } else { diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index f5dfbe4d..35f34f81 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -35,6 +35,14 @@ class TestOverviewTableModel extends DefaultTableModel { this.commonPrefix = null fireTableDataChanged() } + + def getTestIdColumnName() { + if (commonPrefix === null) { + return UtplsqlResources.getString("RUNNER_TEST_ID") + } else { + commonPrefix + } + } override getRowCount() { if (tests === null) { From fd344d64768318adf118edb05ba51af10db00a90 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 11 Jun 2019 10:38:54 +0200 Subject: [PATCH 064/188] show failures before errors (as in documentation reporter) --- .../sqldev/ui/runner/RunnerPanel.xtend | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 0bd32c4f..e3537f30 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -156,9 +156,9 @@ class RunnerPanel { c.weighty = 0 basePanel.add(testCounterValueLabel, c) - // Error counter - val errorCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_ERRORS_LABEL") + ":", - UtplsqlResources.getIcon("ERROR_ICON"), JLabel::LEADING) + // Failure counter + val failureCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_FAILURES_LABEL") + ":", + UtplsqlResources.getIcon("FAILURE_ICON"), JLabel::LEADING) c.gridx = 2 c.gridy = 1 c.gridwidth = 1 @@ -168,8 +168,8 @@ class RunnerPanel { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - basePanel.add(errorCounterLabel, c) - errorCounterValueLabel = new JLabel + basePanel.add(failureCounterLabel, c) + failureCounterValueLabel = new JLabel c.gridx = 3 c.gridy = 1 c.gridwidth = 1 @@ -179,11 +179,11 @@ class RunnerPanel { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - basePanel.add(errorCounterValueLabel, c) + basePanel.add(failureCounterValueLabel, c) - // Failure counter - val failureCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_FAILURES_LABEL") + ":", - UtplsqlResources.getIcon("FAILURE_ICON"), JLabel::LEADING) + // Error counter + val errorCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_ERRORS_LABEL") + ":", + UtplsqlResources.getIcon("ERROR_ICON"), JLabel::LEADING) c.gridx = 4 c.gridy = 1 c.gridwidth = 1 @@ -193,8 +193,8 @@ class RunnerPanel { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - basePanel.add(failureCounterLabel, c) - failureCounterValueLabel = new JLabel + basePanel.add(errorCounterLabel, c) + errorCounterValueLabel = new JLabel c.gridx = 5 c.gridy = 1 c.gridwidth = 1 @@ -204,7 +204,7 @@ class RunnerPanel { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - basePanel.add(failureCounterValueLabel, c) + basePanel.add(errorCounterValueLabel, c) // Progress bar progressBar = new JProgressBar From 7a6009471663014ae56f2c6a61456b8ef199e792 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 11 Jun 2019 12:05:53 +0200 Subject: [PATCH 065/188] handle common prefix for when running single test --- .../utplsql/sqldev/model/PrefixTools.xtend | 20 +++++++++++++ .../ui/runner/TestOverviewTableModel.xtend | 5 ++-- .../utplsql/sqldev/test/PrefixToolsTest.xtend | 28 +++++++++++++++++++ 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend index 18575e79..638f411d 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend @@ -15,6 +15,8 @@ */ package org.utplsql.sqldev.model +import java.util.List + // converted to Xtend based on Java code on https://www.geeksforgeeks.org/longest-common-prefix-using-binary-search/ class PrefixTools { def static int findMinLength(String[] arr, int n) { @@ -61,4 +63,22 @@ class PrefixTools { } return prefix } + + def static String commonPrefix(List list) { + if (list.size === 0) { + return "" + } else if (list.size === 1) { + val pos = list.get(0).lastIndexOf("."); + if (pos > 0) { + return list.get(0).substring(0, pos + 1) + } else { + return "" + } + } else { + var String[] testArray = newArrayOfSize(list.size) + var prefix = commonPrefix(list.toArray(testArray), list.size) + return prefix + } + } + } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 35f34f81..1972dadb 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -18,9 +18,9 @@ import java.util.LinkedHashMap import javax.swing.Icon import javax.swing.table.DefaultTableModel +import org.utplsql.sqldev.model.PrefixTools import org.utplsql.sqldev.model.runner.Test import org.utplsql.sqldev.resources.UtplsqlResources -import org.utplsql.sqldev.model.PrefixTools class TestOverviewTableModel extends DefaultTableModel { LinkedHashMap tests @@ -61,8 +61,7 @@ class TestOverviewTableModel extends DefaultTableModel { return null } if (commonPrefix === null) { - var String[] testArray = newArrayOfSize(tests.keySet.size) - commonPrefix = PrefixTools.commonPrefix(tests.keySet.toArray(testArray), tests.keySet.size) + commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) } switch (col) { case 0: { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend new file mode 100644 index 00000000..06b95f96 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend @@ -0,0 +1,28 @@ +package org.utplsql.sqldev.test + +import org.junit.Assert +import org.junit.Test +import org.utplsql.sqldev.model.PrefixTools + +class PrefixToolsTest { + @Test + def void two() { + val actual = PrefixTools.commonPrefix(#["junit.test.a", "junit.test.b"]) + val expected = "junit.test." + Assert.assertEquals(expected, actual) + } + + @Test + def void oneWithDot() { + val actual = PrefixTools.commonPrefix(#["junit.test.a"]) + val expected = "junit.test." + Assert.assertEquals(expected, actual) + } + + @Test + def void oneWithoutDot() { + val actual = PrefixTools.commonPrefix(#["junit-test-a"]) + val expected = "" + Assert.assertEquals(expected, actual) + } +} \ No newline at end of file From 1c8b71751ba795a48ee5f925715ab2412ecd5205 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 11 Jun 2019 12:44:29 +0200 Subject: [PATCH 066/188] fix typo in model, executionType -> executableType --- .../main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend | 2 +- sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index 6556b8d4..73a15952 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -239,7 +239,7 @@ class RealtimeReporterDao { private def void populate(Test test, Node node) { if (node instanceof Element) { test.id = node.attributes?.getNamedItem("id")?.nodeValue - test.executionType = node.getElementsByTagName("executionType")?.item(0)?.textContent + test.executableType = node.getElementsByTagName("executableType")?.item(0)?.textContent test.ownerName = node.getElementsByTagName("ownerName")?.item(0)?.textContent test.objectName = node.getElementsByTagName("objectName")?.item(0)?.textContent test.procedureName = node.getElementsByTagName("procedureName")?.item(0)?.textContent diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend index fdd8be85..0e02601a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend @@ -22,7 +22,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources @Accessors class Test extends Item { - String executionType + String executableType String ownerName String objectName String procedureName From 0b0b5083e9b4dc33a8118bcd65a074eb7d0b0163 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 00:27:29 +0200 Subject: [PATCH 067/188] failed exception missed in tests - fixed --- .../src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 1 + 1 file changed, 1 insertion(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index ebf62410..44e586eb 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -157,6 +157,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { test.counter = event.counter test.errorStack = event.errorStack test.serverOutput = event.serverOutput + test.failedExpectations = event.failedExpectations } run.counter.disabled = run.counter.disabled + event.counter.disabled run.counter.success = run.counter.success + event.counter.success From 8baf8f35c0918a4d96a1da499015854439bec012 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 00:29:05 +0200 Subject: [PATCH 068/188] class to fix resizing issues of JTextArea when putting JTextArea into JPanel and JPanel into JScrollPane --- .../sqldev/ui/runner/ScrollablePanel.xtend | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ScrollablePanel.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ScrollablePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ScrollablePanel.xtend new file mode 100644 index 00000000..fb834008 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ScrollablePanel.xtend @@ -0,0 +1,47 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import java.awt.Rectangle +import javax.swing.JPanel +import javax.swing.Scrollable + +/* + * Fixes resizing issues of JTextArea when put into JPanel and JPanel into JScrollPane + * Solution is based on https://stackoverflow.com/questions/15783014/jtextarea-on-jpanel-inside-jscrollpane-does-not-resize-properly/15786939 + */ +class ScrollablePanel extends JPanel implements Scrollable { + + override getPreferredScrollableViewportSize() { + return super.getPreferredSize() + } + + override getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { + return 0 + } + + override getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { + return 0 + } + + override getScrollableTracksViewportWidth() { + return true + } + + override getScrollableTracksViewportHeight() { + return false + } +} From 33173abe1ed51ec933a4ba2a095e3b33f029b916 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 00:30:06 +0200 Subject: [PATCH 069/188] add method getTest --- .../utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 1972dadb..79e357bd 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -43,6 +43,12 @@ class TestOverviewTableModel extends DefaultTableModel { commonPrefix } } + + def getTest(int row) { + val entry = tests.entrySet.get(row) + val test = tests.get(entry.key) + return test + } override getRowCount() { if (tests === null) { From 3165173ef2a77aa98542aafdb75fed35b916397c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 00:31:29 +0200 Subject: [PATCH 070/188] added tabs for failures, server output and error stack --- .../sqldev/ui/runner/RunnerPanel.xtend | 471 +++++++++++++++++- 1 file changed, 461 insertions(+), 10 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index e3537f30..498e760c 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -21,19 +21,28 @@ import java.awt.Dimension import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets +import java.awt.event.FocusEvent +import java.awt.event.FocusListener import java.text.DecimalFormat import javax.swing.JLabel import javax.swing.JPanel import javax.swing.JProgressBar import javax.swing.JScrollPane +import javax.swing.JSplitPane +import javax.swing.JTabbedPane import javax.swing.JTable +import javax.swing.JTextArea +import javax.swing.JTextField +import javax.swing.SwingConstants +import javax.swing.event.ListSelectionEvent +import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI import javax.swing.table.DefaultTableCellRenderer import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.runner.Run import org.utplsql.sqldev.resources.UtplsqlResources -class RunnerPanel { +class RunnerPanel implements FocusListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) @@ -45,6 +54,18 @@ class RunnerPanel { JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable + JTextArea testIdTextArea + JTextField testOwnerTextField + JTextField testPackageTextField + JTextField testProcedureTextField + JTextArea testDescriptionTextArea + JTextField testStartTextField + JTextField testEndTextField + JTextArea testFailureDescriptionTextArea + JTextArea testFailureMessageTextArea + JTextArea testFailureCallerTextArea + JTextArea testServerOutputTextArea + JTextArea testErrorStackTextArea def Component getGUI() { if (basePanel === null) { @@ -57,6 +78,18 @@ class RunnerPanel { runs.put(run.reporterId, run) testOverviewTableModel.model = run.tests testOverviewTable.rowSorter.sortKeys = null + testIdTextArea.text = null + testOwnerTextField.text = null + testPackageTextField.text = null + testProcedureTextField.text = null + testDescriptionTextArea.text = null + testStartTextField.text = null + testEndTextField.text = null + testFailureDescriptionTextArea.text = null + testFailureMessageTextArea.text = null + testFailureCallerTextArea.text = null + testServerOutputTextArea.text = null + testErrorStackTextArea.text = null } def update(String reporterId) { @@ -93,13 +126,97 @@ class RunnerPanel { } } + override void focusGained(FocusEvent e) { + if (e.source == testIdTextArea) { + testIdTextArea.caret.visible = true + } else if (e.source == testDescriptionTextArea) { + testDescriptionTextArea.caret.visible = true + } else if (e.source == testFailureDescriptionTextArea) { + testFailureDescriptionTextArea.caret.visible = true + } else if (e.source == testFailureMessageTextArea) { + testFailureMessageTextArea.caret.visible = true + } else if (e.source == testFailureCallerTextArea) { + testFailureCallerTextArea.caret.visible = true + } else if (e.source == testServerOutputTextArea) { + testServerOutputTextArea.caret.visible = true + } else if (e.source == testErrorStackTextArea) { + testErrorStackTextArea.caret.visible = true + } + } + + override focusLost(FocusEvent e) { + if (e.source == testIdTextArea) { + testIdTextArea.caret.visible = false + } else if (e.source == testDescriptionTextArea) { + testDescriptionTextArea.caret.visible = false + } else if (e.source == testFailureDescriptionTextArea) { + testFailureDescriptionTextArea.caret.visible = false + } else if (e.source == testFailureMessageTextArea) { + testFailureMessageTextArea.caret.visible = false + } else if (e.source == testFailureCallerTextArea) { + testFailureCallerTextArea.caret.visible = false + } else if (e.source == testServerOutputTextArea) { + testServerOutputTextArea.caret.visible = false + } else if (e.source == testErrorStackTextArea) { + testErrorStackTextArea.caret.visible = false + } + } + + private static def formatDateTime(String dateTime) { + if (dateTime === null) { + return null + } else { + if (dateTime.length == 26) { + return dateTime.replace("T", " ").substring(0, 23) + } else { + return dateTime + } + } + } + + static class TestOverviewRowListener implements ListSelectionListener { + RunnerPanel p + + new (RunnerPanel p) { + this.p = p + } + + override void valueChanged(ListSelectionEvent event) { + val rowIndex = p.testOverviewTable.selectedRow + if (rowIndex != -1) { + val row = p.testOverviewTable.convertRowIndexToModel(rowIndex) + val test = p.testOverviewTableModel.getTest(row) + p.testIdTextArea.text = test.id + p.testOwnerTextField.text = test.ownerName + p.testPackageTextField.text = test.objectName + p.testProcedureTextField.text = test.procedureName + p.testDescriptionTextArea.text = test.description + p.testStartTextField.text = formatDateTime(test.startTime) + p.testEndTextField.text = formatDateTime(test.endTime) + if (test.failedExpectations !== null && test.failedExpectations.size > 0) { + val expectation = test.failedExpectations.get(0) + p.testFailureDescriptionTextArea.text = expectation.description + p.testFailureMessageTextArea.text = expectation.message + p.testFailureCallerTextArea.text = expectation.caller + } else { + p.testFailureDescriptionTextArea.text = null + p.testFailureMessageTextArea.text = null + p.testFailureCallerTextArea.text = null + } + p.testServerOutputTextArea.text = test.serverOutput + p.testErrorStackTextArea.text = test.errorStack + } + } + } + static class TimeFormatRenderer extends DefaultTableCellRenderer { static val DecimalFormat formatter = new DecimalFormat("#,##0.000") - override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, - boolean hasFocus, int row, int col) { + override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, + int row, int col) { val renderedValue = if (value === null) {null} else {formatter.format(value as Number)} - return super.getTableCellRendererComponent(table, renderedValue, isSelected, hasFocus, row, col) } + return super.getTableCellRendererComponent(table, renderedValue, isSelected, hasFocus, row, col) + } } static class TestTableHeaderRenderer extends DefaultTableCellRenderer { @@ -225,11 +342,12 @@ class RunnerPanel { c.weighty = 0 basePanel.add(progressBar, c) - // Test overview - first part of the horizontal split pane + // Test overview testOverviewTableModel = new TestOverviewTableModel testOverviewTable = new JTable(testOverviewTableModel) testOverviewTable.tableHeader.reorderingAllowed = false testOverviewTable.autoCreateRowSorter = true + testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) val testTableHeaderRenderer = new TestTableHeaderRenderer val overviewTableIcon = testOverviewTable.columnModel.getColumn(0) overviewTableIcon.minWidth = 20 @@ -244,20 +362,353 @@ class RunnerPanel { val timeFormatRenderer = new TimeFormatRenderer timeFormatRenderer.horizontalAlignment = JLabel.RIGHT overviewTableTime.cellRenderer = timeFormatRenderer - val testOverviewScrollPane = new JScrollPane(testOverviewTable) + val testOverviewScrollPane = new JScrollPane(testOverviewTable) + + // Test info tabbed pane + // - Id + val testInfoPanel = new ScrollablePanel + testInfoPanel.setLayout(new GridBagLayout()) + val testIdLabel = new JLabel("Id") + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::NORTHWEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testIdLabel, c) + testIdTextArea = new JTextArea + testIdTextArea.editable = false + testIdTextArea.enabled = true + testIdTextArea.lineWrap = true + testIdTextArea.wrapStyleWord = false + testIdTextArea.addFocusListener(this) + c.gridx = 1 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testIdTextArea, c) + // - Owner + val testOwnerLabel = new JLabel("Owner") + c.gridx = 0 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testOwnerLabel, c) + testOwnerTextField = new JTextField + testOwnerTextField.editable = false + c.gridx = 1 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testOwnerTextField, c) + // - Package + val testPackageLabel = new JLabel("Package") + c.gridx = 0 + c.gridy = 2 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testPackageLabel, c) + testPackageTextField = new JTextField + testPackageTextField.editable = false + c.gridx = 1 + c.gridy = 2 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testPackageTextField, c) + // - Procedure + val testProcedureLabel = new JLabel("Procedure") c.gridx = 0 c.gridy = 3 - c.gridwidth = 6 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testProcedureLabel, c) + testProcedureTextField = new JTextField + testProcedureTextField.editable = false + c.gridx = 1 + c.gridy = 3 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testProcedureTextField, c) + // - Description + val testDescriptionLabel = new JLabel("Description") + c.gridx = 0 + c.gridy = 4 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::NORTHWEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testDescriptionLabel, c) + testDescriptionTextArea = new JTextArea + testDescriptionTextArea.editable = false + testDescriptionTextArea.enabled = true + testDescriptionTextArea.lineWrap = true + testDescriptionTextArea.wrapStyleWord = true + testDescriptionTextArea.addFocusListener(this) + c.gridx = 1 + c.gridy = 4 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testDescriptionTextArea, c) + // - Start + val testStartLabel = new JLabel("Start") + c.gridx = 0 + c.gridy = 5 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testStartLabel, c) + testStartTextField = new JTextField + testStartTextField.editable = false + c.gridx = 1 + c.gridy = 5 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testStartTextField, c) + // - End + val testEndLabel = new JLabel("End") + c.gridx = 0 + c.gridy = 6 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 10, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testInfoPanel.add(testEndLabel, c) + testEndTextField = new JTextField + testEndTextField.editable = false + c.gridx = 1 + c.gridy = 6 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testInfoPanel.add(testEndTextField, c) + // - Vertical spring and scrollbar for info panel + val testInfoVerticalSpringLabel = new JLabel + c.gridx = 0 + c.gridy = 7 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 0 + c.weighty = 1 + testInfoPanel.add(testInfoVerticalSpringLabel, c) + val testInfoScrollPane = new JScrollPane(testInfoPanel) + + // failures tabbed pane (failed expectations) + // TODO support unbound number of failed expectations + // - description + val testFailurePanel = new JPanel + testFailurePanel.setLayout(new GridBagLayout()) + val testFailureDescriptionLabel = new JLabel("Description") + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testFailurePanel.add(testFailureDescriptionLabel, c) + testFailureDescriptionTextArea = new JTextArea + testFailureDescriptionTextArea.editable = false + testFailureDescriptionTextArea.enabled = true + testFailureDescriptionTextArea.lineWrap = true + testFailureDescriptionTextArea.wrapStyleWord = true + testFailureDescriptionTextArea.addFocusListener(this) + val testFailureDescriptionScrollPane = new JScrollPane(testFailureDescriptionTextArea) + c.gridx = 1 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + testFailurePanel.add(testFailureDescriptionScrollPane, c) + // - message + val testFailureMessageLabel = new JLabel("Message") + c.gridx = 0 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::NORTHWEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testFailurePanel.add(testFailureMessageLabel, c) + testFailureMessageTextArea = new JTextArea + testFailureMessageTextArea.editable = false + testFailureMessageTextArea.enabled = true + testFailureMessageTextArea.lineWrap = true + testFailureMessageTextArea.wrapStyleWord = true + testFailureMessageTextArea.addFocusListener(this) + val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextArea) + c.gridx = 1 + c.gridy = 1 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 6 + testFailurePanel.add(testFailureMessageScrollPane, c) + // - caller + val testFailureCallerLabel = new JLabel("Caller") + c.gridx = 0 + c.gridy = 2 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::NORTHWEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + testFailurePanel.add(testFailureCallerLabel, c) + testFailureCallerTextArea = new JTextArea + testFailureCallerTextArea.editable = false + testFailureCallerTextArea.enabled = true + testFailureCallerTextArea.lineWrap = true + testFailureCallerTextArea.wrapStyleWord = true + testFailureCallerTextArea.addFocusListener(this) + val testFailureCallerScrollPane = new JScrollPane(testFailureCallerTextArea) + c.gridx = 1 + c.gridy = 2 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 2 + testFailurePanel.add(testFailureCallerScrollPane, c) + + // server output tabbed pane + val testServerOutputPanel = new JPanel + testServerOutputPanel.setLayout(new GridBagLayout()) + testServerOutputTextArea = new JTextArea + testServerOutputTextArea.editable = false + testServerOutputTextArea.enabled = true + testServerOutputTextArea.lineWrap = true + testServerOutputTextArea.wrapStyleWord = true + testServerOutputTextArea.addFocusListener(this) + val testServerOutputScrollPane = new JScrollPane(testServerOutputTextArea) + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::BOTH c.weightx = 1 c.weighty = 1 - basePanel.add(testOverviewScrollPane, c) + testServerOutputPanel.add(testServerOutputScrollPane, c) - // Test details tabbed pane - second part of the horizontal split pane + // error stack tabbed pane + val testErrorStackPanel = new JPanel + testErrorStackPanel.setLayout(new GridBagLayout()) + testErrorStackTextArea = new JTextArea + testErrorStackTextArea.editable = false + testErrorStackTextArea.enabled = true + testErrorStackTextArea.lineWrap = true + testErrorStackTextArea.wrapStyleWord = true + testErrorStackTextArea.addFocusListener(this) + val testErrorStackScrollPane = new JScrollPane(testErrorStackTextArea) + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 1 + testErrorStackPanel.add(testErrorStackScrollPane, c) - + // split pane with all tabs + val testDetailTabbedPane = new JTabbedPane() + testDetailTabbedPane.add("Info", testInfoScrollPane) + testDetailTabbedPane.add("Failures", testFailurePanel) + testDetailTabbedPane.add("Server Output", testServerOutputPanel) + testDetailTabbedPane.add("Error Stack", testErrorStackPanel) + val horizontalSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, testOverviewScrollPane, testDetailTabbedPane) + horizontalSplitPane.resizeWeight = 0.5 + c.gridx = 0 + c.gridy = 3 + c.gridwidth = 6 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 1 + basePanel.add(horizontalSplitPane, c) } + } \ No newline at end of file From a8904a3183da3d5b21b19b9ac8b9542d8f1d3c79 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 00:32:39 +0200 Subject: [PATCH 071/188] added dbms_output, multiple asserts --- .../org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index 694a4146..df548f1c 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -54,14 +54,19 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS PROCEDURE test_1_ok IS BEGIN + dbms_output.put_line('start test 1'); dbms_session.sleep(1); ut.expect(1).to_equal(1); + dbms_output.put_line('end test 1'); END; PROCEDURE test_2_nok IS BEGIN + dbms_output.put_line('start test 2'); dbms_session.sleep(2); - ut.expect(1).to_equal(2); + ut.expect(1, 'first assert.').to_equal(2); + ut.expect(1, 'second assert.').to_equal(2); + dbms_output.put_line('end test 2'); END; PROCEDURE test_3_disabled IS From 1dea74e0e72d6c7e135c31e5b8a593a12a5ad48d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 13:28:49 +0200 Subject: [PATCH 072/188] remove comment before create package This makes it compatible with the new ut_trigger_annotation_parsing trigger, which currently does not expect to have leading comments. This is possible with low level interfaces such as JDBC only. Tools such as SQL*Plus, SQLcl, SQL Developer, etc. do not pass the comment to the SQL engine. --- .../org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend index 4a530bdd..72372504 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend @@ -101,9 +101,6 @@ class UtplsqlParserTest extends AbstractJdbcTest { @Test def packageWithConnection() { val plsql = ''' - /* - * some comment - */ CREATE OR REPLACE PACKAGE pkg IS -- %suite -- %rollback(manual) @@ -211,6 +208,4 @@ class UtplsqlParserTest extends AbstractJdbcTest { val parser = new UtplsqlParser(plsql) Assert.assertEquals(null, parser.getObjectAt(0)) } - - } From ecc46f8a2efe43aaf4b8efc17f8268244a00767a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 17:20:07 +0200 Subject: [PATCH 073/188] include warnings in tests, suites to be introduced in v3.1.7 The ut_realtime_reporter will emit warnings for suites and tests based on the issue utPLSQL/utPLSQL#936 --- .../main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend | 1 + sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend | 1 + .../main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend | 1 + .../src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 1 + 4 files changed, 4 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index 73a15952..7cc1df86 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -258,6 +258,7 @@ class RealtimeReporterDao { event.counter.populate(node) event.errorStack = node.getElementsByTagName("errorStack")?.item(0)?.textContent event.serverOutput = node.getElementsByTagName("serverOutput")?.item(0)?.textContent + event.warnings = node.getElementsByTagName("warnings")?.item(0)?.textContent } } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend index 9147f03b..01db70a6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.xtend @@ -27,4 +27,5 @@ abstract class Item extends AbstractModel { Counter counter String errorStack String serverOutput + String warnings } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend index 6debda36..67d9c61c 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.xtend @@ -25,6 +25,7 @@ abstract class PostEvent extends RealtimeReporterEvent { Counter counter String errorStack String serverOutput + String warnings new() { counter = new Counter diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 44e586eb..2db52e57 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -158,6 +158,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { test.errorStack = event.errorStack test.serverOutput = event.serverOutput test.failedExpectations = event.failedExpectations + test.warnings = event.warnings } run.counter.disabled = run.counter.disabled + event.counter.disabled run.counter.success = run.counter.success + event.counter.success From 5c4addc0927fca3e0e20084fd5e75a7604e23a79 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 17:20:22 +0200 Subject: [PATCH 074/188] add test case with warnings --- .../utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index df548f1c..19d8de2a 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -46,6 +46,9 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { --%test(test 4 - errored) PROCEDURE test_4_errored; + + --%test(test 5 - warnings) + PROCEDURE test_5_warnings; --%endcontext END; @@ -73,10 +76,17 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { BEGIN NULL; END; + PROCEDURE test_4_errored IS BEGIN EXECUTE IMMEDIATE 'bla bla'; END; + + PROCEDURE test_5_warnings IS + BEGIN + COMMIT; -- will raise a warning + ut.expect(1).to_equal(1); + END; END; ''') } From 1e5bd8d5c58d60e2ab8d29bf2f04e68838c2efe9 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 18:35:30 +0200 Subject: [PATCH 075/188] add WrapLayout to be used for counters --- .../utplsql/sqldev/ui/runner/WrapLayout.xtend | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/WrapLayout.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/WrapLayout.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/WrapLayout.xtend new file mode 100644 index 00000000..dce4695c --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/WrapLayout.xtend @@ -0,0 +1,168 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import java.awt.Component +import java.awt.Container +import java.awt.Dimension +import java.awt.FlowLayout +import java.awt.Insets +import javax.swing.JScrollPane +import javax.swing.SwingUtilities + +/** + * FlowLayout subclass that fully supports wrapping of components. + * Converted to Xtend based on http://www.camick.com/java/source/WrapLayout.java + */ +class WrapLayout extends FlowLayout { + + /** + * Constructs a new WrapLayout with a left + * alignment and a default 5-unit horizontal and vertical gap. + */ + new() { + super() + } + + /** + * Constructs a new FlowLayout with the specified + * alignment and a default 5-unit horizontal and vertical gap. + * The value of the alignment argument must be one of + * WrapLayout, WrapLayout, + * or WrapLayout. + * @param align the alignment value + */ + new(int align) { + super(align) + } + + /** + * Creates a new flow layout manager with the indicated alignment + * and the indicated horizontal and vertical gaps. + *

«p»

+ «ENDFOR» + ''' + return result + } static class FailuresRowListener implements ListSelectionListener { RunnerPanel p @@ -500,7 +577,9 @@ class RunnerPanel implements ActionListener, MouseListener { if (rowIndex != -1) { val row = p.failuresTable.convertRowIndexToModel(rowIndex) val expectation = p.failuresTableModel.getExpectation(row) - p.testFailureMessageTextArea.text = expectation.failureText + val html = p.getHtml(expectation.failureText) + p.testFailureMessageTextPane.text = html + } } } @@ -958,12 +1037,12 @@ class RunnerPanel implements ActionListener, MouseListener { failuresDescription.headerRenderer = failuresTableHeaderRenderer val failuresTableScrollPane = new JScrollPane(failuresTable) // - failures details - testFailureMessageTextArea = new RunnerTextArea - testFailureMessageTextArea.editable = false - testFailureMessageTextArea.enabled = true - testFailureMessageTextArea.lineWrap = true - testFailureMessageTextArea.wrapStyleWord = true - val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextArea) + testFailureMessageTextPane = new RunnerTextPane + testFailureMessageTextPane.editable = false + testFailureMessageTextPane.enabled = true + testFailureMessageTextPane.contentType = "text/html" + testFailureMessageTextPane.addHyperlinkListener(this) + val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextPane) c.gridx = 1 c.gridy = 0 c.gridwidth = 1 @@ -981,12 +1060,12 @@ class RunnerPanel implements ActionListener, MouseListener { // Errors tabbed pane (Error Stack) val testErrorStackPanel = new JPanel testErrorStackPanel.setLayout(new GridBagLayout()) - testErrorStackTextArea = new RunnerTextArea - testErrorStackTextArea.editable = false - testErrorStackTextArea.enabled = true - testErrorStackTextArea.lineWrap = true - testErrorStackTextArea.wrapStyleWord = true - val testErrorStackScrollPane = new JScrollPane(testErrorStackTextArea) + testErrorStackTextPane = new RunnerTextPane + testErrorStackTextPane.editable = false + testErrorStackTextPane.enabled = true + testErrorStackTextPane.contentType = "text/html" + testErrorStackTextPane.addHyperlinkListener(this) + val testErrorStackScrollPane = new JScrollPane(testErrorStackTextPane) c.gridx = 0 c.gridy = 0 c.gridwidth = 1 @@ -1001,12 +1080,12 @@ class RunnerPanel implements ActionListener, MouseListener { // Warnings tabbed pane val testWarningsPanel = new JPanel testWarningsPanel.setLayout(new GridBagLayout()) - testWarningsTextArea = new RunnerTextArea - testWarningsTextArea.editable = false - testWarningsTextArea.enabled = true - testWarningsTextArea.lineWrap = true - testWarningsTextArea.wrapStyleWord = true - val testWarningsScrollPane = new JScrollPane(testWarningsTextArea) + testWarningsTextPane = new RunnerTextPane + testWarningsTextPane.editable = false + testWarningsTextPane.enabled = true + testWarningsTextPane.contentType = "text/html" + testWarningsTextPane.addHyperlinkListener(this) + val testWarningsScrollPane = new JScrollPane(testWarningsTextPane) c.gridx = 0 c.gridy = 0 c.gridwidth = 1 @@ -1021,12 +1100,12 @@ class RunnerPanel implements ActionListener, MouseListener { // Info tabbed pane (Server Output) val testServerOutputPanel = new JPanel testServerOutputPanel.setLayout(new GridBagLayout()) - testServerOutputTextArea = new RunnerTextArea - testServerOutputTextArea.editable = false - testServerOutputTextArea.enabled = true - testServerOutputTextArea.lineWrap = true - testServerOutputTextArea.wrapStyleWord = true - val testServerOutputScrollPane = new JScrollPane(testServerOutputTextArea) + testServerOutputTextPane = new RunnerTextPane + testServerOutputTextPane.editable = false + testServerOutputTextPane.enabled = true + testServerOutputTextPane.contentType = "text/html" + testServerOutputTextPane.addHyperlinkListener(this) + val testServerOutputScrollPane = new JScrollPane(testServerOutputTextPane) c.gridx = 0 c.gridy = 0 c.gridwidth = 1 @@ -1062,5 +1141,6 @@ class RunnerPanel implements ActionListener, MouseListener { val referenceBorder = testOwnerTextField.border testDescriptionTextArea.border = referenceBorder testIdTextArea.border = referenceBorder - } + } + } \ No newline at end of file From 3932b2b899758eec20a2b9fb787647b72de40370 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 20 Jun 2019 03:15:20 +0200 Subject: [PATCH 158/188] minimal dimension for RunnerTextPane components --- .../org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index f3aa4d98..021774e4 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -71,6 +71,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { static val RED = new Color(153, 0, 0) static val INDICATOR_WIDTH = 20 static val OVERVIEW_TABLE_ROW_HEIGHT = 20 + static val TEXTPANE_DIM = new Dimension(100, 100) LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) Run currentRun JPanel basePanel @@ -558,7 +559,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { m = p2.matcher(localText) } val result = ''' - «FOR p : localText.split(System.lineSeparator)» + «FOR p : localText.split("\n")»

«p»

«ENDFOR» ''' @@ -1040,7 +1041,9 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testFailureMessageTextPane = new RunnerTextPane testFailureMessageTextPane.editable = false testFailureMessageTextPane.enabled = true - testFailureMessageTextPane.contentType = "text/html" + testFailureMessageTextPane.contentType = "text/html" + testFailureMessageTextPane.minimumSize = TEXTPANE_DIM + testFailureMessageTextPane.preferredSize = TEXTPANE_DIM testFailureMessageTextPane.addHyperlinkListener(this) val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextPane) c.gridx = 1 @@ -1064,6 +1067,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testErrorStackTextPane.editable = false testErrorStackTextPane.enabled = true testErrorStackTextPane.contentType = "text/html" + testErrorStackTextPane.minimumSize = TEXTPANE_DIM + testErrorStackTextPane.preferredSize = TEXTPANE_DIM testErrorStackTextPane.addHyperlinkListener(this) val testErrorStackScrollPane = new JScrollPane(testErrorStackTextPane) c.gridx = 0 @@ -1084,6 +1089,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testWarningsTextPane.editable = false testWarningsTextPane.enabled = true testWarningsTextPane.contentType = "text/html" + testWarningsTextPane.minimumSize = TEXTPANE_DIM + testWarningsTextPane.preferredSize = TEXTPANE_DIM testWarningsTextPane.addHyperlinkListener(this) val testWarningsScrollPane = new JScrollPane(testWarningsTextPane) c.gridx = 0 @@ -1104,6 +1111,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testServerOutputTextPane.editable = false testServerOutputTextPane.enabled = true testServerOutputTextPane.contentType = "text/html" + testServerOutputTextPane.minimumSize = TEXTPANE_DIM + testServerOutputTextPane.preferredSize = TEXTPANE_DIM testServerOutputTextPane.addHyperlinkListener(this) val testServerOutputScrollPane = new JScrollPane(testServerOutputTextPane) c.gridx = 0 From dcc719f41af6f2a5228c1ac00d573e0039e7f7ef Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 22 Jun 2019 04:00:51 +0200 Subject: [PATCH 159/188] ensure regex does not match spaces in owner, package, procedure --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 021774e4..58e3b2e6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -549,7 +549,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } // Patterns (primarily Warnings, without line reference, calculate when opening link): // owner.package.procedure - val p2 = Pattern.compile('''^\s{2}(([^\.]+)\.([^\.]+)\.(.+))$''', Pattern.MULTILINE) + val p2 = Pattern.compile('''^\s{2}(\S+)\.(\S+)\.(\S+)$''', Pattern.MULTILINE) m = p2.matcher(localText) while(m.find) { val link = '''  Â«m.group(1)»''' From 205f9eb6a9ec9ec5dcd4709eaa38d30a76bbdfa0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 22 Jun 2019 05:08:12 +0200 Subject: [PATCH 160/188] escaping HTML, adapting regex and making them reluctant --- sqldev/pom.xml | 5 +++++ .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 8a77d2a9..0ca63099 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -172,6 +172,11 @@ spring-jdbc 5.1.0.RELEASE + + org.springframework + spring-web + 5.1.0.RELEASE + org.oddgen org.oddgen.sqldev diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 58e3b2e6..b7635e7a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -57,6 +57,7 @@ import oracle.dbtools.raptor.controls.grid.DefaultDrillLink import oracle.dbtools.raptor.utils.Connections import oracle.ide.config.Preferences import oracle.javatools.ui.table.ToolbarButton +import org.springframework.web.util.HtmlUtils import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.preference.PreferenceModel @@ -539,8 +540,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { // Patterns (primarily Asserts, Errors, ServerOutput): // at "OWNER.PACKAGE.PROCEDURE", line 42 // at "OWNER.PROCEDURE", line 42 - val p1 = Pattern.compile('''\s+("([^\.]+)\.([^\."]+)(?:\.([^\"]+))?",\s+line\s+([0-9]+))''') - var localText = text + val p1 = Pattern.compile('''\s+("(\S+?)\.(\S+?)(?:\.(\S+?))?",\s+line\s+([0-9]+))''') + var localText = HtmlUtils.htmlEscape(text) var m = p1.matcher(localText) while(m.find) { val link = ''' «m.group(1)»''' @@ -549,7 +550,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } // Patterns (primarily Warnings, without line reference, calculate when opening link): // owner.package.procedure - val p2 = Pattern.compile('''^\s{2}(\S+)\.(\S+)\.(\S+)$''', Pattern.MULTILINE) + val p2 = Pattern.compile('''^\s{2}((\S+?)\.(\S+?)\.(\S+?))$''', Pattern.MULTILINE) m = p2.matcher(localText) while(m.find) { val link = '''  Â«m.group(1)»''' From f4da0f467cfcc28315cd9744252e309609349d24 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 23 Jun 2019 08:13:43 +0200 Subject: [PATCH 161/188] make common prefix calculation more robust --- .../utplsql/sqldev/model/PrefixTools.xtend | 41 +++++++++++-------- .../utplsql/sqldev/test/PrefixToolsTest.xtend | 15 +++++++ 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend index 638f411d..c1fc822f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/PrefixTools.xtend @@ -21,7 +21,7 @@ import java.util.List class PrefixTools { def static int findMinLength(String[] arr, int n) { var int min = Integer.MAX_VALUE - for (var int i = 0; i <= (n - 1); i++) { + for (var int i = 0; i < n; i++) { if ({ val _rdIndx_arr = i arr.get(_rdIndx_arr) @@ -36,13 +36,16 @@ class PrefixTools { } def static boolean allContainsPrefix(String[] arr, int n, String str, int start, int end) { - for (var int i = 0; i <= (n - 1); i++) { + for (var int i = 0; i < n; i++) { var String arr_i = { val _rdIndx_arr = i arr.get(_rdIndx_arr) } - for (var int j = start; j <= end; j++) - if(arr_i.charAt(j) !== str.charAt(j)) return false + for (var int j = start; j <= end; j++) { + if (arr_i.charAt(j) !== str.charAt(j)) { + return false + } + } } return true } @@ -63,22 +66,26 @@ class PrefixTools { } return prefix } - + def static String commonPrefix(List list) { - if (list.size === 0) { - return "" - } else if (list.size === 1) { - val pos = list.get(0).lastIndexOf("."); - if (pos > 0) { - return list.get(0).substring(0, pos + 1) - } else { + try { + if (list.size === 0) { return "" + } else if (list.size === 1) { + val pos = list.get(0).lastIndexOf("."); + if (pos > 0) { + return list.get(0).substring(0, pos + 1) + } else { + return "" + } + } else { + var String[] testArray = newArrayOfSize(list.size) + var prefix = commonPrefix(list.toArray(testArray), list.size) + return prefix } - } else { - var String[] testArray = newArrayOfSize(list.size) - var prefix = commonPrefix(list.toArray(testArray), list.size) - return prefix + } catch (Exception e) { + return "" } } - + } diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend index 06b95f96..8c7d7760 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/PrefixToolsTest.xtend @@ -25,4 +25,19 @@ class PrefixToolsTest { val expected = "" Assert.assertEquals(expected, actual) } + + @Test + def void twoOverlapLeft() { + val actual = PrefixTools.commonPrefix(#["a.b.c", "a.b.c.d"]) + val expected = "" + Assert.assertEquals(expected, actual) + } + + @Test + def void twoOverlapRight() { + val actual = PrefixTools.commonPrefix(#["a.b.c.d", "a.b.c"]) + val expected = "" + Assert.assertEquals(expected, actual) + } + } \ No newline at end of file From ceab13ba4641f8608bacfc2a4558071fd0285f57 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 01:08:46 +0200 Subject: [PATCH 162/188] add test to ensure events are reported immediately (based on fetch size) --- .../dal/RealtimeReporterFetchSizeTest.xtend | 144 ++++++++++++++++++ ...tRealtimerReporterEventTimedConsumer.xtend | 37 +++++ 2 files changed, 181 insertions(+) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.xtend create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventTimedConsumer.xtend diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.xtend new file mode 100644 index 00000000..b713cbc2 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.xtend @@ -0,0 +1,144 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.test.dal + +import java.util.UUID +import java.util.logging.Logger +import org.junit.AfterClass +import org.junit.Assert +import org.junit.BeforeClass +import org.junit.Test +import org.springframework.jdbc.BadSqlGrammarException +import org.springframework.jdbc.datasource.SingleConnectionDataSource +import org.utplsql.sqldev.dal.RealtimeReporterDao +import org.utplsql.sqldev.test.AbstractJdbcTest + +class RealtimeReporterFetchSizeTest extends AbstractJdbcTest { + + static val Logger logger = Logger.getLogger(RealtimeReporterFetchSizeTest.name); + + @BeforeClass + def static void setup() { + + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_fetch_size_pkg is + --%suite(JUnit testing) + + --%test(test 1 - 0 seconds) + PROCEDURE test_1_0; + + --%test(test 2 - 1 seconds) + PROCEDURE test_2_1; + + --%test(test 3 - 2 seconds) + PROCEDURE test_3_2; + + --%test(test 4 - 0 seconds) + PROCEDURE test_4_0; + + --%test(test 5 - 0 seconds) + PROCEDURE test_5_0; + END; + ''') + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_fetch_size_pkg is + PROCEDURE test_1_0 IS + BEGIN + NULL; + END; + + PROCEDURE test_2_1 IS + BEGIN + dbms_session.sleep(1); + END; + + PROCEDURE test_3_2 IS + BEGIN + dbms_session.sleep(2); + END; + + PROCEDURE test_4_0 IS + BEGIN + NULL; + END; + + PROCEDURE test_5_0 IS + BEGIN + NULL; + END; + END; + ''') + } + + @AfterClass + def static void teardown() { + try { + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_fetch_size_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } + } + + private def delayFreeStreamingConsumtionProducer(String reporterId) { + var ds = new SingleConnectionDataSource() + ds.driverClassName = "oracle.jdbc.OracleDriver" + ds.url = dataSource.url + ds.username = dataSource.username + ds.password = dataSource.password + val dao = new RealtimeReporterDao(ds.connection) + dao.produceReport(reporterId, #["junit_utplsql_fetch_size_pkg"]) + } + + @Test + def void delayFreeStreamingConsumtion() { + val long TOLERANCE_MS = 400 + var ds = new SingleConnectionDataSource() + ds.driverClassName = "oracle.jdbc.OracleDriver" + ds.url = dataSource.url + ds.username = dataSource.username + ds.password = dataSource.password + val consumer = new TestRealtimerReporterEventTimedConsumer + val reporterId = UUID.randomUUID().toString.replace("-", ""); + val dao = new RealtimeReporterDao(ds.connection) + val Runnable runnable = [|delayFreeStreamingConsumtionProducer(reporterId)] + val thread = new Thread(runnable) + thread.name = "utPLSQL run test" + thread.start + dao.consumeReport(reporterId, consumer) + logger.fine(consumer.postTestEvents.toString) + Assert.assertEquals(5, consumer.postTestEvents.entrySet.size) + val test_1_0 = consumer.postTestEvents.get("junit_utplsql_fetch_size_pkg.test_1_0") + val test_2_1 = consumer.postTestEvents.get("junit_utplsql_fetch_size_pkg.test_2_1") + val test_3_2 = consumer.postTestEvents.get("junit_utplsql_fetch_size_pkg.test_3_2") + val test_4_0 = consumer.postTestEvents.get("junit_utplsql_fetch_size_pkg.test_4_0") + val test_5_0 = consumer.postTestEvents.get("junit_utplsql_fetch_size_pkg.test_5_0") + val test_2_1_time = test_2_1 - test_1_0 + logger.fine("test_2_1 time [ms]: " + test_2_1_time) + Assert.assertTrue("test_2_1 runtime was too long", test_2_1_time < 1000 + TOLERANCE_MS) + Assert.assertTrue("test_2_1 runtime was too short", test_2_1_time > 1000 - TOLERANCE_MS) + val test_3_2_time = test_3_2 - test_2_1 + logger.fine("test_3_2 time [ms]: " + test_3_2_time) + Assert.assertTrue("test_3_2 runtime was too long", test_3_2_time < 2000 + TOLERANCE_MS) + Assert.assertTrue("test_3_2 runtime was too short", test_3_2_time > 2000 - TOLERANCE_MS) + val test_4_0_time = test_4_0 - test_3_2 + logger.fine("test_4_0 time [ms]: " + test_4_0_time) + Assert.assertTrue("test_4_0 runtime was too long", test_4_0_time < TOLERANCE_MS) + val test_5_0_time = test_5_0 - test_4_0 + logger.fine("test_5_0 time [ms]: " + test_5_0_time) + Assert.assertTrue("test_5_0 runtime was too long", test_5_0_time < TOLERANCE_MS) + } + +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventTimedConsumer.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventTimedConsumer.xtend new file mode 100644 index 00000000..ff46d749 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/TestRealtimerReporterEventTimedConsumer.xtend @@ -0,0 +1,37 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.test.dal + +import java.util.HashMap +import org.utplsql.sqldev.dal.RealtimeReporterEventConsumer +import org.utplsql.sqldev.model.runner.RealtimeReporterEvent +import org.utplsql.sqldev.model.runner.PostTestEvent + +class TestRealtimerReporterEventTimedConsumer implements RealtimeReporterEventConsumer { + + val postTestEvents = new HashMap + + def getPostTestEvents() { + return postTestEvents + } + + override void process(RealtimeReporterEvent event) { + if (event instanceof PostTestEvent) { + postTestEvents.put(event.id, System.currentTimeMillis) + } + } + +} \ No newline at end of file From f4a568a677a729d3ac5e42447f36e79f3782e055 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 10:15:11 +0200 Subject: [PATCH 163/188] hide total number of tests while initializing --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index b7635e7a..d7512514 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -351,7 +351,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } } statusLabel.text = currentRun.status - testCounterValueLabel.text = '''«currentRun.totalNumberOfCompletedTests»/«currentRun.totalNumberOfTests»''' + testCounterValueLabel.text = '''«currentRun.totalNumberOfCompletedTests»«IF currentRun.totalNumberOfTests >= 0»/«currentRun.totalNumberOfTests»«ENDIF»''' errorCounterValueLabel.text = '''«currentRun.counter.error»''' failureCounterValueLabel.text = '''«currentRun.counter.failure»''' disabledCounterValueLabel.text = '''«currentRun.counter.disabled»''' From ad67b828de26c0ba92ef8c5b1ac3d4ec4e9ecd90 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 14:32:12 +0200 Subject: [PATCH 164/188] add progress icon to resource bundle --- .../sqldev/resources/UtplsqlResources.properties | 2 ++ .../utplsql/sqldev/resources/images/progress.gif | Bin 0 -> 4322 bytes .../utplsql/sqldev/resources/images/progress.png | Bin 0 -> 3297 bytes 3 files changed, 2 insertions(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.gif create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 541e23e5..0cd445a4 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -20,6 +20,8 @@ RUN_WORKSHEET_ICON=/org/utplsql/sqldev/resources/images/run_worksheet.png CLEAR_ICON=/org/utplsql/sqldev/resources/images/clear.png CHECKMARK_ICON=/org/utplsql/sqldev/resources/images/checkmark.png STATUS_ICON=/org/utplsql/sqldev/resources/images/status.png +# progress.gif - the animated version - does not work +PROGRESS_ICON=/org/utplsql/sqldev/resources/images/progress.png # Translatable text PREF_LABEL=utPLSQL diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.gif b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.gif new file mode 100644 index 0000000000000000000000000000000000000000..3356ba3eab3839fe2d147a56ac5da4a17e598706 GIT binary patch literal 4322 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 EpG~^i*8l(j literal 0 HcmV?d00001 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress.png new file mode 100644 index 0000000000000000000000000000000000000000..ab2c3673e012386692ff114643197a3bd48fa8a0 GIT binary patch literal 3297 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 literal 0 HcmV?d00001 From 03888bc3ce8da143b88a63681b0d213e1b86e1fa Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 14:33:06 +0200 Subject: [PATCH 165/188] set progress icon for running but not completed test --- .../utplsql/sqldev/model/runner/Test.xtend | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend index 09b1f500..30070e85 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend @@ -34,16 +34,20 @@ class Test extends Item { def getStatusIcon() { var Icon icon = null - if (counter !== null) { - if (counter.success > 0) { - icon = UtplsqlResources.getIcon("SUCCESS_ICON") - } else if (counter.error > 0) { - icon = UtplsqlResources.getIcon("ERROR_ICON") - } else if (counter.failure > 0) { - icon = UtplsqlResources.getIcon("FAILURE_ICON") - } else if (counter.disabled > 0) { - icon = UtplsqlResources.getIcon("DISABLED_ICON") - } + if (startTime !== null && endTime === null ) { + icon = UtplsqlResources.getIcon("PROGRESS_ICON") + } else { + if (counter !== null) { + if (counter.success > 0) { + icon = UtplsqlResources.getIcon("SUCCESS_ICON") + } else if (counter.error > 0) { + icon = UtplsqlResources.getIcon("ERROR_ICON") + } else if (counter.failure > 0) { + icon = UtplsqlResources.getIcon("FAILURE_ICON") + } else if (counter.disabled > 0) { + icon = UtplsqlResources.getIcon("DISABLED_ICON") + } + } } return icon } From 824e8564dc6ce5e286759d2bf9c11f295efbe47d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 14:34:41 +0200 Subject: [PATCH 166/188] extend model with currentTestNumber to handle progress status --- sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend | 1 + .../src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 2 ++ .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 2 +- .../org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index a4ecc999..f53a6df6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -25,6 +25,7 @@ class Run extends AbstractModel { String reporterId String connectionName List pathList + Integer currentTestNumber Integer totalNumberOfTests String startTime String endTime diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 9c6701bf..3d4e13be 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -110,6 +110,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.counter.warning = 0 run.infoCount = 0 run.totalNumberOfTests = -1 + run.currentTestNumber = 0 run.status = UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT") panel.model = run panel.update(reporterId) @@ -148,6 +149,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { test.startTime = sysdate } run.status = event.id + run.currentTestNumber = event.testNumber panel.update(reporterId) } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index d7512514..ee0ee6f3 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -334,7 +334,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { def synchronized update(String reporterId) { setCurrentRun(runs.get(reporterId)) - val row = currentRun.totalNumberOfCompletedTests - 1 + val row = currentRun.currentTestNumber - 1 val header = testOverviewTableModel.testIdColumnName val idColumn = testOverviewTable.columnModel.getColumn(3) if (idColumn.headerValue != header) { diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend index bca73972..45b72543 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend @@ -39,6 +39,7 @@ class UtplsqlRunnerPanelTest { run.counter.error = 0 run.counter.warning = 0 run.totalNumberOfTests = 5 + run.currentTestNumber = 0 } @Test From 16709e5863a28bebb5fd66e8dc8f49ce0f229540 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 20:16:45 +0200 Subject: [PATCH 167/188] fix typo in RUNNER_REFRESH_TOOLTIP --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 0cd445a4..d6c0584c 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -66,7 +66,7 @@ WINDOW_RUN_BUTTON=Run WINDOW_CANCEL_BUTTON=Cancel WORKSHEET_TITLE=utPLSQL RUNNER_VIEW_TITLE=utPLSQL -RUNNER_REFRESH_TOOLTOP=Reset ordering and refresh +RUNNER_REFRESH_TOOLTIP=Reset ordering and refresh RUNNER_RERUN_TOOLTIP=Rerun all tests RUNNER_CLEAR_BUTTON=Clear history RUNNER_RERUN_WORKSHEET_TOOLTIP=Rerun all tests in a new worksheet From cffd290a9a05f5e67e62e79256207df4a672ac05 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 20:17:57 +0200 Subject: [PATCH 168/188] exclude border from painted background area --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend index e21d907b..be9520c7 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend @@ -22,7 +22,7 @@ class RunnerTextArea extends JTextArea implements FocusListener{ // use value of JTextField for consistency g.color = UIManager.getColor("TextField.inactiveBackground") - g.fillRect(0, 0, width, height) + g.fillRect(3, 3, width - 6, height - 6) // do rest, changing opaque to ensure background is not overwritten setOpaque(false) From a36a79f3e09b16c177e3e3cda1cec2b326ca5e36 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 20:20:40 +0200 Subject: [PATCH 169/188] fix tool tip text for refresh button --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index ee0ee6f3..3d8a0e02 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -678,7 +678,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { toolbar.floatable = false toolbar.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right refreshButton = new ToolbarButton(UtplsqlResources.getIcon("REFRESH_ICON")) - refreshButton.toolTipText = UtplsqlResources.getString("RUNNER_REFRESH_BUTTON") + refreshButton.toolTipText = UtplsqlResources.getString("RUNNER_REFRESH_TOOLTIP") refreshButton.addActionListener(this) toolbar.add(refreshButton) rerunButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_ICON")) From b073c01effb7e934257d697c24cb129cb74beded Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 29 Jun 2019 20:22:05 +0200 Subject: [PATCH 170/188] Fix Windows and macOS look and feel issues --- .../sqldev/ui/runner/RunnerPanel.xtend | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 3d8a0e02..b4a658fa 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -29,6 +29,7 @@ import java.awt.event.MouseListener import java.text.DecimalFormat import java.util.ArrayList import java.util.regex.Pattern +import javax.swing.BorderFactory import javax.swing.Box import javax.swing.DefaultComboBoxModel import javax.swing.JCheckBoxMenuItem @@ -381,14 +382,23 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } private def isWindowsLookAndFeel() { - val laf = UIManager.systemLookAndFeelClassName - if (laf.toLowerCase.contains("windows")) { + val laf = UIManager.lookAndFeel?.name + if (laf == "Windows") { return true } else { return false } } + private def isMacLookAndFeel() { + val laf = UIManager.lookAndFeel?.name + if (laf == "Mac OS X") { + return true + } else { + return false + } + } + private def void fixCheckBoxMenuItem(JCheckBoxMenuItem item) { if (windowsLookAndFeel) { if (item.selected) { @@ -934,6 +944,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testInfoPanel.add(testProcedureTextField, c) // - Description val testDescriptionLabel = new JLabel(UtplsqlResources.getString("RUNNER_DESCRIPTION_LABEL")) + testDescriptionLabel.border = BorderFactory.createEmptyBorder(if (macLookAndFeel) {5} else {3}, 0, 0, 0) c.gridx = 0 c.gridy = 3 c.gridwidth = 1 @@ -961,6 +972,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testInfoPanel.add(testDescriptionTextArea, c) // - Suitepath (id) val testIdLabel = new JLabel(UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN")) + testIdLabel.border = BorderFactory.createEmptyBorder(if (macLookAndFeel) {5} else {3}, 0, 0, 0) c.gridx = 0 c.gridy = 4 c.gridwidth = 1 @@ -1147,10 +1159,22 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { c.weighty = 1 basePanel.add(horizontalSplitPane, c) - // fix missing borders (e.g. on windows look and feel) - val referenceBorder = testOwnerTextField.border - testDescriptionTextArea.border = referenceBorder - testIdTextArea.border = referenceBorder + // fix borders (colors, margins) + if (macLookAndFeel) { + val border = BorderFactory.createCompoundBorder( + BorderFactory.createEmptyBorder(3, 3, 3, 3), + BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(219, 219, 219)), + BorderFactory.createEmptyBorder(1, 1, 1, 1) + ) + ) + testDescriptionTextArea.border = border + testIdTextArea.border = border + } else { + val referenceBorder = testOwnerTextField.border + testDescriptionTextArea.border = referenceBorder + testIdTextArea.border = referenceBorder + } } } \ No newline at end of file From 3066797718619159de4f95c2218943276689fbd4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 15:57:50 +0200 Subject: [PATCH 171/188] add currentTest to make it easier to reference it from post suite event --- sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend | 1 + 1 file changed, 1 insertion(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index f53a6df6..d8873eb4 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -26,6 +26,7 @@ class Run extends AbstractModel { String connectionName List pathList Integer currentTestNumber + Test currentTest Integer totalNumberOfTests String startTime String endTime From 20b8e8c506f76c81f19e5d3e72420a634d2d413c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 15:58:59 +0200 Subject: [PATCH 172/188] populate warnings, info produced on suite level --- .../utplsql/sqldev/runner/UtplsqlRunner.xtend | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 3d4e13be..8e7bf49a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -138,7 +138,41 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } private def dispatch doProcess(PostSuiteEvent event) { - // ignore + val test = run.currentTest + // Errors on suite levels are reported as warnings by the utPLSQL framework, + // since an error on suite level does not affect a status of a test. + // It is possible that the test is OK, but contains error messages on suite level(s) + // Populating test.errorStack would be a) wrong and b) redundant + if (event.warnings !== null) { + if (test.counter.warning == 0) { + test.counter.warning = 1 + run.counter.warning = run.counter.warning + 1 + } + test.warnings = ''' + «IF test.warnings !== null» + «test.warnings» + + «ENDIF» + For suite «event.id»: + + «event.warnings» + '''.toString.trim + } + if (event.serverOutput !== null) { + if (test.serverOutput === null) { + run.infoCount = run.infoCount + 1 + } + test.serverOutput = ''' + «IF test.serverOutput !== null» + «test.serverOutput» + + «ENDIF» + For suite «event.id»: + + «event.serverOutput» + '''.toString.trim + } + panel.update(reporterId) } private def dispatch doProcess(PreTestEvent event) { @@ -150,6 +184,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } run.status = event.id run.currentTestNumber = event.testNumber + run.currentTest = test panel.update(reporterId) } From c15714d50d88d60e86aa655f5b93fa5aa9612845 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 15:59:55 +0200 Subject: [PATCH 173/188] format warnings/info on suite level (title) --- .../sqldev/ui/runner/RunnerPanel.xtend | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index b4a658fa..268e1cd8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -231,7 +231,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { - «getLinkedText(text)» + «getLinkedAndFormattedText(text)» ''' @@ -245,6 +245,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { var line = Integer.parseInt(parts.get(2)) val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName)) val objectType = dao.getObjectType(ownerName, objectName) + // links to package specification will open the body, there is no way to identify the type without context knowledge + // but the jump to the specification from the body is simple from SQL Developer, so it is a minor issue val fixedObjectType = '''«objectType»«IF objectType == "PACKAGE" || objectType == "TYPE"» BODY«ENDIF»''' if (parts.size == 4) { val procedureName = parts.get(3) @@ -252,7 +254,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { val parser = new UtplsqlParser(source) line = parser.getLineOf(procedureName) } - openEditor(ownerName, '''«objectType»«IF objectType == "PACKAGE" || objectType == "TYPE"» BODY«ENDIF»''', objectName.toUpperCase, line, 1) + openEditor(ownerName, fixedObjectType, objectName.toUpperCase, line, 1) } private def openEditor(String owner, String type, String name, int line, int col) { @@ -543,13 +545,14 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } } - private def getLinkedText(String text) { + private def getLinkedAndFormattedText(String text) { if (text === null) { return "" } // Patterns (primarily Asserts, Errors, ServerOutput): // at "OWNER.PACKAGE.PROCEDURE", line 42 // at "OWNER.PROCEDURE", line 42 + // at "OWNER.PACKAGE", line 42 val p1 = Pattern.compile('''\s+("(\S+?)\.(\S+?)(?:\.(\S+?))?",\s+line\s+([0-9]+))''') var localText = HtmlUtils.htmlEscape(text) var m = p1.matcher(localText) @@ -569,6 +572,17 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { localText = '''«localText.substring(0, start)»«link»«localText.substring(end)»''' m = p2.matcher(localText) } + // Patterns (Title for warning/info on suite level) + // from suite a.junit_utplsql_test1_pkg: + val p3 = Pattern.compile('''^For suite ([^:]+):$''', Pattern.MULTILINE) + m = p3.matcher(localText) + while(m.find) { + val title = '''For suite "«m.group(1)»"''' + val start = m.start(0) + val end = m.end(0) + localText = '''«localText.substring(0, start)»«title»«localText.substring(end)»''' + m = p3.matcher(localText) + } val result = ''' «FOR p : localText.split("\n")»

«p»

From ceca779411ffff82d96a091091a57655e763ef54 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 16:00:15 +0200 Subject: [PATCH 174/188] produce errors and warnings on suite level --- .../sqldev/test/runner/UtplsqlRunnerTest.xtend | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend index 19d8de2a..23b840b5 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.xtend @@ -31,6 +31,8 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is --%suite(JUnit testing) --%suitepath(a) + /* tags annotation without parameter will raise a warning */ + --%tags --%context(test context) @@ -51,6 +53,9 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { PROCEDURE test_5_warnings; --%endcontext + + --%afterall + procedure print_and_raise; END; ''') jdbcTemplate.execute(''' @@ -87,6 +92,14 @@ class UtplsqlRunnerTest extends AbstractJdbcTest { COMMIT; -- will raise a warning ut.expect(1).to_equal(1); END; + + PROCEDURE print_and_raise IS + BEGIN + dbms_output.put_line('Now, a no_data_found exception is raised'); + dbms_output.put_line('dbms_output and error stack is reported for this suite.'); + dbms_output.put_line('A runtime error in afterall is counted as a warning.'); + RAISE no_data_found; + END; END; ''') } From 8341f40ff57aa10ffc1e4d5e2820c23c429dec64 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 16:43:40 +0200 Subject: [PATCH 175/188] add preferences "number of Runs in History", "show test "description?" --- .../model/preference/PreferenceModel.xtend | 18 ++++++++++++++++++ .../sqldev/ui/preference/PreferencePanel.xtend | 14 ++++++++++++++ .../resources/UtplsqlResources.properties | 2 ++ .../resources/UtplsqlResources_de.properties | 2 ++ .../test/preference/PreferenceModelTest.xtend | 2 ++ 5 files changed, 38 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend index f9e24937..524c8c4f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend @@ -39,11 +39,13 @@ class PreferenceModel extends HashStructureAdapter { static final String KEY_CLEAR_SCREEN = "clearScreen" static final String KEY_AUTO_EXECUTE = "autoExecute" static final String KEY_CHECK_RUN_UTPLSQL_TEST = "checkRunUtplsqlTest" + static final String KEY_NUMBER_OF_RUNS_IN_HISTORY = "numberOfRunsInHistory" static final String KEY_SHOW_DISABLED_COUNTER = "showDisabledCounter" static final String KEY_SHOW_WARNINGS_COUNTER = "showWarningsCounter" static final String KEY_SHOW_INFO_COUNTER = "showInfoCounter" static final String KEY_SHOW_WARNING_INDICATOR = "showWarningIndicator" static final String KEY_SHOW_INFO_INDICATOR = "showInfoIndicator" + static final String KEY_SHOW_TEST_DESCRIPTION = "showTestDescription" static final String KEY_SYNC_DETAIL_TAB = "syncDetailTab" static final String KEY_TEST_PACKAGE_PREFIX = "testPackagePrefix" static final String KEY_TEST_PACKAGE_SUFFIX = "testPackageSuffix" @@ -108,6 +110,14 @@ class PreferenceModel extends HashStructureAdapter { getHashStructure.putBoolean(PreferenceModel.KEY_CHECK_RUN_UTPLSQL_TEST, checkRunUtplsqlTest) } + def getNumberOfRunsInHistory() { + return getHashStructure.getInt(PreferenceModel.KEY_NUMBER_OF_RUNS_IN_HISTORY, 10) + } + + def setNumberOfRunsInHistory(int runs) { + getHashStructure.putInt(PreferenceModel.KEY_NUMBER_OF_RUNS_IN_HISTORY, runs) + } + def isShowDisabledCounter() { return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_DISABLED_COUNTER, false) } @@ -148,6 +158,14 @@ class PreferenceModel extends HashStructureAdapter { getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_INFO_INDICATOR, showInfoIndicator) } + def isShowTestDescription() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_TEST_DESCRIPTION, false) + } + + def setShowTestDescription(boolean showTestDescription) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_TEST_DESCRIPTION, showTestDescription) + } + def isSyncDetailTab() { return getHashStructure.getBoolean(PreferenceModel.KEY_SYNC_DETAIL_TAB, true) } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index 66ef37f7..918ed64c 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -44,11 +44,14 @@ class PreferencePanel extends DefaultTraversablePanel { val JCheckBox autoExecuteCheckBox = new JCheckBox val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox val JPanel realtimeReporterPanel = new JPanel + val SpinnerNumberModel numberOfRunsInHistoryModel = new SpinnerNumberModel(10, 1, 100, 1); + val JSpinner numberOfRunsInHistorySpinner = new JSpinner(numberOfRunsInHistoryModel); val JCheckBox showDisabledCounterCheckBox = new JCheckBox val JCheckBox showWarningsCounterCheckBox = new JCheckBox val JCheckBox showInfoCounterCheckBox = new JCheckBox val JCheckBox showWarningIndicatorCheckBox = new JCheckBox val JCheckBox showInfoIndicatorCheckBox = new JCheckBox + val JCheckBox showTestDescriptionCheckBox = new JCheckBox val JCheckBox syncDetailTabCheckBox = new JCheckBox val JPanel generateTestPanel = new JPanel(); val JTextField testPackagePrefixTextField = new JTextField @@ -103,6 +106,10 @@ class PreferencePanel extends DefaultTraversablePanel { // realtime reporter group val FieldLayoutBuilder rrTab = new FieldLayoutBuilder(realtimeReporterPanel) rrTab.alignLabelsLeft = true + + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_NUMBER_OF_RUNS_IN_HISTORY_LABEL")).component( + numberOfRunsInHistorySpinner)) rrTab.add( runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_DISABLED_COUNTER_LABEL")).component( showDisabledCounterCheckBox)) @@ -118,6 +125,9 @@ class PreferencePanel extends DefaultTraversablePanel { rrTab.add( runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL")).component( showInfoIndicatorCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_TEST_DESCRIPTION_LABEL")).component( + showTestDescriptionCheckBox)) rrTab.add( runTab.field.label.withText(UtplsqlResources.getString("PREF_SYNC_DETAIL_TAB_LABEL")).component( syncDetailTabCheckBox)) @@ -306,11 +316,13 @@ class PreferencePanel extends DefaultTraversablePanel { clearScreenCheckBox.selected = info.clearScreen autoExecuteCheckBox.selected = info.autoExecute checkRunUtplsqlTestCheckBox.selected = info.checkRunUtplsqlTest + numberOfTestsPerUnitSpinner.value = info.numberOfRunsInHistory showDisabledCounterCheckBox.selected = info.showDisabledCounter showWarningsCounterCheckBox.selected = info.showWarningsCounter showInfoCounterCheckBox.selected = info.showInfoCounter showWarningIndicatorCheckBox.selected = info.showWarningIndicator showInfoIndicatorCheckBox.selected = info.showInfoIndicator + showTestDescriptionCheckBox.selected = info.showTestDescription syncDetailTabCheckBox.selected = info.syncDetailTab testPackagePrefixTextField.text = info.testPackagePrefix testPackageSuffixTextField.text = info.testPackageSuffix @@ -337,12 +349,14 @@ class PreferencePanel extends DefaultTraversablePanel { info.resetPackage = resetPackageCheckBox.selected info.clearScreen = clearScreenCheckBox.selected info.autoExecute = autoExecuteCheckBox.selected + info.numberOfRunsInHistory = numberOfTestsPerUnitSpinner.value as Integer info.checkRunUtplsqlTest = checkRunUtplsqlTestCheckBox.selected info.showDisabledCounter = showDisabledCounterCheckBox.selected info.showWarningsCounter = showWarningsCounterCheckBox.selected info.showInfoCounter = showInfoCounterCheckBox.selected info.showWarningIndicator = showWarningIndicatorCheckBox.selected info.showInfoIndicator = showInfoIndicatorCheckBox.selected + info.showTestDescription = showTestDescriptionCheckBox.selected info.syncDetailTab = syncDetailTabCheckBox.selected info.testPackagePrefix = testPackagePrefixTextField.text info.testPackageSuffix = testPackageSuffixTextField.text diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index d6c0584c..814aff54 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -32,11 +32,13 @@ PREF_CLEAR_SCREEN_LABEL=Clear script output panel before running utPLSQL? PREF_AUTO_EXECUTE_LABEL=Execute unit test automatically? PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Check availability of menu option? MENU_REALTIME_REPORTER_LABEL=Realtime Reporter +PREF_NUMBER_OF_RUNS_IN_HISTORY_LABEL=Number of runs in history PREF_SHOW_DISABLED_COUNTER_LABEL=Show disabled counter? PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter? PREF_SHOW_INFO_COUNTER_LABEL=Show info counter? PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator? PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Show test description (if possible)? PREF_SYNC_DETAIL_TAB_LABEL=Synchronize detail tab based on test status? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 3723dc60..2d2d8ed9 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -9,11 +9,13 @@ PREF_CLEAR_SCREEN_LABEL=Skriptausgabe-Fenster vor der Ausf PREF_AUTO_EXECUTE_LABEL=Unit Test automatisch ausführen? PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption prüfen? MENU_REALTIME_REPORTER_LABEL=Realtime Reporter +PREF_NUMBER_OF_RUNS_IN_HISTORY_LABEL=Anzahl Ausführungen in der Historie PREF_SHOW_DISABLED_COUNTER_LABEL=Deaktiviert-Zähler anzeigen? PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Zähler anzeigen? PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen? PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen? PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Test Beschreibung anzeigen (falls möglich)? PREF_SYNC_DETAIL_TAB_LABEL=Detailansicht basierend auf dem Teststatus synchronisieren? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index 54d9521f..4b575fca 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -30,11 +30,13 @@ class PreferenceModelTest { Assert.assertFalse(model.clearScreen) Assert.assertTrue(model.autoExecute) Assert.assertFalse(model.checkRunUtplsqlTest) + Assert.assertEquals(model.numberOfRunsInHistory, 10) Assert.assertFalse(model.showDisabledCounter) Assert.assertFalse(model.showWarningsCounter) Assert.assertFalse(model.showInfoCounter) Assert.assertFalse(model.showWarningIndicator) Assert.assertFalse(model.showInfoIndicator) + Assert.assertFalse(model.isShowTestDescription) Assert.assertTrue(model.syncDetailTab) Assert.assertEquals("test_", model.testPackagePrefix) Assert.assertEquals("", model.testPackageSuffix) From 5a961b0c009b9db9a55721c85d72387524cf63f2 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 16:43:59 +0200 Subject: [PATCH 176/188] change dimensions of frame to fit all tabs on one line --- .../utplsql/sqldev/test/preference/PreferencePanelTest.xtend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend index e45b88f1..2f5b66f9 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferencePanelTest.xtend @@ -15,6 +15,7 @@ */ package org.utplsql.sqldev.test.preference +import java.awt.Dimension import java.awt.Toolkit import javax.swing.JFrame import javax.swing.SwingUtilities @@ -30,6 +31,7 @@ class PreferencePanelTest { override run() { val panel = new PreferencePanel frame.add(panel) + frame.preferredSize = new Dimension(600, 400) frame.pack val dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); From 8565a8781201ed2512d2b5a9a838f565fb8d5313 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 18:29:14 +0200 Subject: [PATCH 177/188] fix wrong values for numberOfRunsInHistorySpinner --- .../org/utplsql/sqldev/ui/preference/PreferencePanel.xtend | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index 918ed64c..9633fac0 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -44,7 +44,7 @@ class PreferencePanel extends DefaultTraversablePanel { val JCheckBox autoExecuteCheckBox = new JCheckBox val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox val JPanel realtimeReporterPanel = new JPanel - val SpinnerNumberModel numberOfRunsInHistoryModel = new SpinnerNumberModel(10, 1, 100, 1); + val SpinnerNumberModel numberOfRunsInHistoryModel = new SpinnerNumberModel(1, 1, 100, 1); val JSpinner numberOfRunsInHistorySpinner = new JSpinner(numberOfRunsInHistoryModel); val JCheckBox showDisabledCounterCheckBox = new JCheckBox val JCheckBox showWarningsCounterCheckBox = new JCheckBox @@ -316,7 +316,7 @@ class PreferencePanel extends DefaultTraversablePanel { clearScreenCheckBox.selected = info.clearScreen autoExecuteCheckBox.selected = info.autoExecute checkRunUtplsqlTestCheckBox.selected = info.checkRunUtplsqlTest - numberOfTestsPerUnitSpinner.value = info.numberOfRunsInHistory + numberOfRunsInHistorySpinner.value = info.numberOfRunsInHistory showDisabledCounterCheckBox.selected = info.showDisabledCounter showWarningsCounterCheckBox.selected = info.showWarningsCounter showInfoCounterCheckBox.selected = info.showInfoCounter @@ -349,7 +349,7 @@ class PreferencePanel extends DefaultTraversablePanel { info.resetPackage = resetPackageCheckBox.selected info.clearScreen = clearScreenCheckBox.selected info.autoExecute = autoExecuteCheckBox.selected - info.numberOfRunsInHistory = numberOfTestsPerUnitSpinner.value as Integer + info.numberOfRunsInHistory = numberOfRunsInHistorySpinner.value as Integer info.checkRunUtplsqlTest = checkRunUtplsqlTestCheckBox.selected info.showDisabledCounter = showDisabledCounterCheckBox.selected info.showWarningsCounter = showWarningsCounterCheckBox.selected From 9dbba0016c7de73342b25bafa7bec3cf8a77858e Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 18:29:31 +0200 Subject: [PATCH 178/188] shorter labels for test description --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 2 +- .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 814aff54..8b565e75 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -38,7 +38,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter? PREF_SHOW_INFO_COUNTER_LABEL=Show info counter? PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator? PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator? -PREF_SHOW_TEST_DESCRIPTION_LABEL=Show test description (if possible)? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Show description (if possible)? PREF_SYNC_DETAIL_TAB_LABEL=Synchronize detail tab based on test status? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 2d2d8ed9..81c30c2a 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -15,7 +15,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Z PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen? PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen? PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen? -PREF_SHOW_TEST_DESCRIPTION_LABEL=Test Beschreibung anzeigen (falls möglich)? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Beschreibung anzeigen (falls möglich)? PREF_SYNC_DETAIL_TAB_LABEL=Detailansicht basierend auf dem Teststatus synchronisieren? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix From 8afeb66e1092eb70725eb15c4bc4ab76b2158669 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 18:30:38 +0200 Subject: [PATCH 179/188] add getter for maxEntries, used to check if recreation is necessary --- .../java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend index 71772b9e..2d3605d9 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/LimitedLinkedHashMap.xtend @@ -30,4 +30,8 @@ class LimitedLinkedHashMap extends LinkedHashMap { override removeEldestEntry(Map.Entry eldest) { return size > maxEntries } + + def getMaxEntries() { + return maxEntries + } } \ No newline at end of file From 0ca9c45c257e357b63b5bb8e917dd6bb3e5694a6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 18:31:56 +0200 Subject: [PATCH 180/188] apply preferences for showNumberOfRunsInHistory and showTestDescription --- .../sqldev/ui/runner/RunnerPanel.xtend | 30 +++++++++++++++++- .../ui/runner/TestOverviewTableModel.xtend | 31 +++++++++++++++---- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 268e1cd8..8cd448fa 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -98,6 +98,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { JTable testOverviewTable JMenuItem testOverviewRunMenuItem JMenuItem testOverviewRunWorksheetMenuItem + JCheckBoxMenuItem showTestDescriptionCheckBoxMenuItem JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem JCheckBoxMenuItem syncDetailTabCheckBoxMenuItem @@ -157,6 +158,16 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } } + private def applyShowNumberOfRunsInHistory(int maxRuns) { + if (maxRuns != runs.maxEntries) { + val newRuns = new LimitedLinkedHashMap(maxRuns) + for (entry : runs.entrySet) { + newRuns.put(entry.key, entry.value) + } + runs = newRuns + } + } + private def applyShowDisabledCounter(boolean show) { disabledCounterValueLabel.parent.visible = showDisabledCounterCheckBoxMenuItem.selected } @@ -168,6 +179,13 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { private def applyShowInfoCounter(boolean show) { infoCounterValueLabel.parent.visible = showInfoCounterCheckBoxMenuItem.selected } + + private def applyShowTestDescription(boolean show) { + testOverviewTableModel.updateModel(showTestDescriptionCheckBoxMenuItem.selected) + val idColumn = testOverviewTable.columnModel.getColumn(3) + idColumn.headerValue = testOverviewTableModel.testIdColumnName + testOverviewTable.tableHeader.repaint + } private def applyShowWarningIndicator(boolean show) { val col = testOverviewTable.columnModel.getColumn(1) @@ -300,6 +318,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { private def applyPreferences() { val PreferenceModel preferences = preferenceModel + applyShowNumberOfRunsInHistory(preferences.numberOfRunsInHistory) showDisabledCounterCheckBoxMenuItem.selected = preferences.showDisabledCounter applyShowDisabledCounter(showDisabledCounterCheckBoxMenuItem.selected) fixCheckBoxMenuItem(showDisabledCounterCheckBoxMenuItem) @@ -309,6 +328,9 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { showInfoCounterCheckBoxMenuItem.selected = preferences.showInfoCounter applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) fixCheckBoxMenuItem(showInfoCounterCheckBoxMenuItem) + showTestDescriptionCheckBoxMenuItem.selected = preferences.showTestDescription + applyShowTestDescription(showTestDescriptionCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showTestDescriptionCheckBoxMenuItem) showWarningIndicatorCheckBoxMenuItem.selected = preferences.showWarningIndicator applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) fixCheckBoxMenuItem(showWarningIndicatorCheckBoxMenuItem) @@ -328,7 +350,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { private def setCurrentRun(Run run) { if (run !== currentRun) { currentRun = run - testOverviewTableModel.model = run.tests + testOverviewTableModel.setModel(run.tests, showTestDescriptionCheckBoxMenuItem.selected) resetDerived val item = new ComboBoxItem(currentRun.reporterId, currentRun.name) runComboBox.selectedItem = item @@ -451,6 +473,9 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { } else if (e.source == showInfoCounterCheckBoxMenuItem) { applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) fixCheckBoxMenuItem(showInfoCounterCheckBoxMenuItem) + } else if (e.source == showTestDescriptionCheckBoxMenuItem) { + applyShowTestDescription(showTestDescriptionCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showTestDescriptionCheckBoxMenuItem) } else if (e.source == showWarningIndicatorCheckBoxMenuItem) { applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) fixCheckBoxMenuItem(showWarningIndicatorCheckBoxMenuItem) @@ -870,6 +895,9 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { testOverviewRunWorksheetMenuItem.addActionListener(this) testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem) testOverviewPopupMenu.add(new JSeparator) + showTestDescriptionCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_TEST_DESCRIPTION_LABEL").replace("?",""), true) + showTestDescriptionCheckBoxMenuItem.addActionListener(this) + testOverviewPopupMenu.add(showTestDescriptionCheckBoxMenuItem) showWarningIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNING_INDICATOR_LABEL").replace("?",""), true) showWarningIndicatorCheckBoxMenuItem.addActionListener(this) testOverviewPopupMenu.add(showWarningIndicatorCheckBoxMenuItem) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index a9947783..55c42d8a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -26,32 +26,47 @@ class TestOverviewTableModel extends DefaultTableModel { LinkedHashMap tests String commonPrefix boolean commonPrefixCalculated + boolean showDescription new() { super() } private def calcCommonPrefix() { - if (!commonPrefixCalculated && tests.size > 0) { + if (!commonPrefixCalculated && tests !== null && tests.size > 0) { this.commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) fireTableDataChanged() commonPrefixCalculated = true } } - def setModel(LinkedHashMap tests) { + def setModel(LinkedHashMap tests, boolean showDescription) { commonPrefixCalculated = false this.tests = tests + this.showDescription = showDescription calcCommonPrefix fireTableDataChanged() } + def updateModel(boolean showDescription) { + this.showDescription = showDescription + fireTableDataChanged() + } + def getTestIdColumnName() { calcCommonPrefix if (commonPrefix === null || commonPrefix == "") { - return UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN") + if (showDescription) { + UtplsqlResources.getString("RUNNER_DESCRIPTION_LABEL") + } else { + UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN") + } } else { - commonPrefix + if (showDescription) { + '''«UtplsqlResources.getString("RUNNER_DESCRIPTION_LABEL")» («commonPrefix»)''' + } else { + commonPrefix + } } } @@ -88,7 +103,11 @@ class TestOverviewTableModel extends DefaultTableModel { return test.infoIcon } case 3: { - return test.id.substring(if(commonPrefix === null) {0} else {commonPrefix.length}) + return if(showDescription && test.description !== null) { + test.description + } else { + test.id.substring(if(commonPrefix === null) {0} else {commonPrefix.length}) + } } case 4: { return test.executionTime @@ -100,7 +119,7 @@ class TestOverviewTableModel extends DefaultTableModel { } override getColumnName(int col) { - return #["", "", "", UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN"), + return #["", "", "", UtplsqlResources.getString(if (showDescription) {"RUNNER_DESCRIPTION_LABEL"} else {"RUNNER_TEST_ID_COLUMN"}), UtplsqlResources.getString("RUNNER_TEST_EXECUTION_TIME_COLUMN")].get(col) } From 5422697516315bfe048354773e8f5dd0d7fdbe9a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 30 Jun 2019 18:45:22 +0200 Subject: [PATCH 181/188] avoid automatic horizontal scrolling --- .../java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend index 17222a8a..e3e4c663 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend @@ -53,4 +53,10 @@ class RunnerTextPane extends JTextPane implements FocusListener{ override focusLost(FocusEvent e) { this.caret.visible = false } + + override setText(String t) { + super.setText(t) + // ensure left parts of long lines are always visible + caretPosition = 0 + } } From 7f4e6731872d1ac32fcb28840e86ce682a775188 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 1 Jul 2019 00:43:49 +0200 Subject: [PATCH 182/188] support for is_test, is_suite, has_suites - but disabled not working in v3.1.7. enable containsUtplsqlTest999 to see issues --- .../org/utplsql/sqldev/dal/UtplsqlDao.xtend | 95 +++++++++++++++++-- .../org/utplsql/sqldev/test/dal/DalTest.xtend | 37 ++++++++ 2 files changed, 123 insertions(+), 9 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index 59f96533..014e25ea 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -35,6 +35,7 @@ class UtplsqlDao { public static val UTPLSQL_PACKAGE_NAME = "UT" public static val FIRST_VERSION_WITH_INTERNAL_ANNOTATION_API = 3000004 public static val FIRST_VERSION_WITH_ANNOTATION_API = 3001003 + public static val NOT_YET_AVAILABLE = 9009009 var Connection conn var JdbcTemplate jdbcTemplate // cache fields @@ -173,16 +174,41 @@ class UtplsqlDao { */ def boolean containsUtplsqlTest(String owner, String objectName, String subobjectName) { try { - var Integer found - if (normalizedUtPlsqlVersionNumber >= FIRST_VERSION_WITH_ANNOTATION_API) { - // using API available since 3.1.3 + if (normalizedUtPlsqlVersionNumber >= NOT_YET_AVAILABLE && objectName !== null && subobjectName !== null) { + // use faster check function available since v3.1.3 (FIRST_VERSION_WITH_ANNOTATION_API) + // disabled (NOT_YET_AVAILABLE) due to wrong results in v3.1.7 + val sql = ''' + DECLARE + l_return VARCHAR2(1) := '0'; + BEGIN + IF ut_runner.is_test(?, ?, ?) THEN + l_return := '1'; + END IF; + ? := l_return; + END; + ''' + val ret = jdbcTemplate.execute(sql, new CallableStatementCallback() { + override Boolean doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.setString(1, owner) + cs.setString(2, objectName) + cs.setString(3, subobjectName) + cs.registerOutParameter(4, Types.VARCHAR); + cs.execute + val ret = cs.getString(4) + return ret == "1" + } + }) + return ret + } else if (normalizedUtPlsqlVersionNumber >= FIRST_VERSION_WITH_ANNOTATION_API) { + // using API available since 3.1.3, can handle nulls in objectName and subobjectName val sql = ''' SELECT count(*) FROM TABLE(ut_runner.get_suites_info(upper(?), upper(?))) WHERE item_type IN ('UT_TEST', 'UT_SUITE') AND (item_name = upper(?) or ? IS NULL) ''' - found = jdbcTemplate.queryForObject(sql, Integer, #[owner, objectName, subobjectName, subobjectName]) + val found = jdbcTemplate.queryForObject(sql, Integer, #[owner, objectName, subobjectName, subobjectName]) + return found > 0 } else { // using internal API (deprecated) val sql = ''' @@ -209,20 +235,71 @@ class UtplsqlDao { END ) > 0 ''' - found = jdbcTemplate.queryForObject(sql, Integer, #[subobjectName, subobjectName, owner, objectName, objectName]) - } - return found > 0 + val found = jdbcTemplate.queryForObject(sql, Integer, #[subobjectName, subobjectName, owner, objectName, objectName]) + return found > 0 + } } catch (EmptyResultDataAccessException e) { return false } } def boolean containsUtplsqlTest(String owner) { - return containsUtplsqlTest(owner, null, null) + if (normalizedUtPlsqlVersionNumber >= NOT_YET_AVAILABLE) { + // use faster check function available since v3.1.3 (FIRST_VERSION_WITH_ANNOTATION_API) + // disabled (NOT_YET_AVAILABLE) due to wrong results in v3.1.7 + val sql = ''' + DECLARE + l_return VARCHAR2(1) := '0'; + BEGIN + IF ut_runner.has_suites(?) THEN + l_return := '1'; + END IF; + ? := l_return; + END; + ''' + val ret = jdbcTemplate.execute(sql, new CallableStatementCallback() { + override Boolean doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.setString(1, owner) + cs.registerOutParameter(2, Types.VARCHAR); + cs.execute + val ret = cs.getString(2) + return ret == "1" + } + }) + return ret + } else { + return containsUtplsqlTest(owner, null, null) + } } def boolean containsUtplsqlTest(String owner, String objectName) { - return containsUtplsqlTest(owner, objectName, null) + if (normalizedUtPlsqlVersionNumber >= NOT_YET_AVAILABLE) { + // use faster check function available since v3.1.3 (FIRST_VERSION_WITH_ANNOTATION_API) + // disabled (NOT_YET_AVAILABLE) due to wrong results in v3.1.7 + val sql = ''' + DECLARE + l_return VARCHAR2(1) := '0'; + BEGIN + IF ut_runner.is_suite(?, ?) THEN + l_return := '1'; + END IF; + ? := l_return; + END; + ''' + val ret = jdbcTemplate.execute(sql, new CallableStatementCallback() { + override Boolean doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.setString(1, owner) + cs.setString(2, objectName) + cs.registerOutParameter(3, Types.VARCHAR); + cs.execute + val ret = cs.getString(3) + return ret == "1" + } + }) + return ret + } else { + return containsUtplsqlTest(owner, objectName, null) + } } /** diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index ed5108bf..f00018d4 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -25,6 +25,7 @@ import org.springframework.jdbc.BadSqlGrammarException import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.ut.Annotation import org.utplsql.sqldev.test.AbstractJdbcTest +import org.junit.Ignore class DalTest extends AbstractJdbcTest { @@ -142,6 +143,12 @@ class DalTest extends AbstractJdbcTest { containsUtplsqlTest("3.1.3") } + @Test + @Ignore + def void containsUtplsqlTest999() { + containsUtplsqlTest("9.9.9") + } + def void annotations(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -192,6 +199,11 @@ class DalTest extends AbstractJdbcTest { annotations("3.1.3") } + @Test + def void annotations999() { + annotations("9.9.9") + } + def void testablesPackages(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -230,6 +242,11 @@ class DalTest extends AbstractJdbcTest { testablesPackages("3.1.3") } + @Test + def void testablesPackages999() { + testablesPackages("9.9.9") + } + def void testablesTypes(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -261,6 +278,11 @@ class DalTest extends AbstractJdbcTest { testablesTypes("3.1.3") } + @Test + def void testablesTypes999() { + testablesTypes("9.9.9") + } + def void testablesFunctions(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -285,6 +307,11 @@ class DalTest extends AbstractJdbcTest { testablesFunctions("3.1.3") } + @Test + def void testablesFunctions999() { + testablesFunctions("9.9.9") + } + def void testablesProcedures(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -309,6 +336,11 @@ class DalTest extends AbstractJdbcTest { testablesProcedures("3.1.3") } + @Test + def void testablesProcedures999() { + testablesProcedures("9.9.9") + } + def void runnables(String utPlsqlVersion) { val dao = new UtplsqlDao(dataSource.connection) dao.utPlsqlVersion = utPlsqlVersion @@ -367,6 +399,11 @@ class DalTest extends AbstractJdbcTest { def void runnables313() { runnables("3.1.3") } + + @Test + def void runnables999() { + runnables("9.9.9") + } @Test def void dbmsOutput() { From a352e5996d8545ac6b05d26819c146a289ed76de Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 2 Jul 2019 00:15:35 +0200 Subject: [PATCH 183/188] change wording to "if present" instead of "if possible" --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 2 +- .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 8b565e75..7d8005ac 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -38,7 +38,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter? PREF_SHOW_INFO_COUNTER_LABEL=Show info counter? PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator? PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator? -PREF_SHOW_TEST_DESCRIPTION_LABEL=Show description (if possible)? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Show description (if present)? PREF_SYNC_DETAIL_TAB_LABEL=Synchronize detail tab based on test status? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 81c30c2a..8d1d7293 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -15,7 +15,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Z PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen? PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen? PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen? -PREF_SHOW_TEST_DESCRIPTION_LABEL=Beschreibung anzeigen (falls möglich)? +PREF_SHOW_TEST_DESCRIPTION_LABEL=Beschreibung anzeigen (falls vorhanden)? PREF_SYNC_DETAIL_TAB_LABEL=Detailansicht basierend auf dem Teststatus synchronisieren? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix From 66bf96a93aeead1b994ee2a740b63e6a0d3cc372 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 2 Jul 2019 00:47:42 +0200 Subject: [PATCH 184/188] old, internal API is not accessible anymore with utPLSQL >= v3.1.8 --- .../org/utplsql/sqldev/dal/UtplsqlDao.xtend | 1 + .../org/utplsql/sqldev/test/dal/DalTest.xtend | 35 +++++++++++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index 014e25ea..d0768738 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -35,6 +35,7 @@ class UtplsqlDao { public static val UTPLSQL_PACKAGE_NAME = "UT" public static val FIRST_VERSION_WITH_INTERNAL_ANNOTATION_API = 3000004 public static val FIRST_VERSION_WITH_ANNOTATION_API = 3001003 + public static val FIRST_VERSION_WITHOUT_INTERNAL_API = 3001008 public static val NOT_YET_AVAILABLE = 9009009 var Connection conn var JdbcTemplate jdbcTemplate diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index f00018d4..25573974 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -135,7 +135,10 @@ class DalTest extends AbstractJdbcTest { @Test def void containsUtplsqlTest304() { - containsUtplsqlTest("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + containsUtplsqlTest("3.0.4") + } } @Test @@ -191,7 +194,10 @@ class DalTest extends AbstractJdbcTest { @Test def void annotations304() { - annotations("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + annotations("3.0.4") + } } @Test @@ -234,7 +240,10 @@ class DalTest extends AbstractJdbcTest { @Test def void testablesPackages304() { - testablesPackages("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + testablesPackages("3.0.4") + } } @Test @@ -270,7 +279,10 @@ class DalTest extends AbstractJdbcTest { @Test def void testablesTypes304() { - testablesTypes("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + testablesTypes("3.0.4") + } } @Test @@ -299,7 +311,10 @@ class DalTest extends AbstractJdbcTest { @Test def void testablesFunctions304() { - testablesFunctions("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + testablesFunctions("3.0.4") + } } @Test @@ -328,7 +343,10 @@ class DalTest extends AbstractJdbcTest { @Test def void testablesProcedures304() { - testablesProcedures("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + testablesProcedures("3.0.4") + } } @Test @@ -392,7 +410,10 @@ class DalTest extends AbstractJdbcTest { @Test def void runnables304() { - runnables("3.0.4") + val dao = new UtplsqlDao(dataSource.connection) + if (dao.normalizedUtPlsqlVersionNumber < UtplsqlDao.FIRST_VERSION_WITHOUT_INTERNAL_API) { + runnables("3.0.4") + } } @Test From 0a9256d8cf494a57a7e00a19cae1cec96761e71f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 2 Jul 2019 16:26:09 +0200 Subject: [PATCH 185/188] add object type to hyperlink, use v3.1.8 warning format beginning with utPLSQL v3.1.8 a code reference may contain a reference to a package specification. For earlier versions the reference to the body has a higher priority, if spec and body are available. --- .../sqldev/ui/runner/RunnerPanel.xtend | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 8cd448fa..312ed409 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -258,21 +258,19 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { private def openLink(String link) { val parts = link.split("/") - val ownerName = parts.get(0) - val objectName = parts.get(1) - var line = Integer.parseInt(parts.get(2)) + val type = parts.get(0) + val ownerName = parts.get(1) + val objectName = parts.get(2) + var line = Integer.parseInt(parts.get(3)) val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName)) - val objectType = dao.getObjectType(ownerName, objectName) - // links to package specification will open the body, there is no way to identify the type without context knowledge - // but the jump to the specification from the body is simple from SQL Developer, so it is a minor issue - val fixedObjectType = '''«objectType»«IF objectType == "PACKAGE" || objectType == "TYPE"» BODY«ENDIF»''' - if (parts.size == 4) { - val procedureName = parts.get(3) - val source = dao.getSource(ownerName, fixedObjectType, objectName).trim + val objectType = if (type=="UNKNOWN") {dao.getObjectType(ownerName, objectName)} else {type} + if (parts.size == 5) { + val procedureName = parts.get(4) + val source = dao.getSource(ownerName, objectType, objectName).trim val parser = new UtplsqlParser(source) line = parser.getLineOf(procedureName) } - openEditor(ownerName, fixedObjectType, objectName.toUpperCase, line, 1) + openEditor(ownerName, objectType, objectName.toUpperCase, line, 1) } private def openEditor(String owner, String type, String name, int line, int col) { @@ -578,12 +576,15 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { // at "OWNER.PACKAGE.PROCEDURE", line 42 // at "OWNER.PROCEDURE", line 42 // at "OWNER.PACKAGE", line 42 - val p1 = Pattern.compile('''\s+("(\S+?)\.(\S+?)(?:\.(\S+?))?",\s+line\s+([0-9]+))''') + // at package "OWNER.PACKAGE", line 42 + val p1 = Pattern.compile('''\s+(package\s+)?("(\S+?)\.(\S+?)(?:\.(\S+?))?",\s+line\s+([0-9]+))''') var localText = HtmlUtils.htmlEscape(text) var m = p1.matcher(localText) while(m.find) { - val link = ''' «m.group(1)»''' - localText = localText.replaceFirst(p1.pattern, link) + val link = '''«m.group(2)»''' + val start = m.start(2) + val end = m.end(2) + localText = '''«localText.substring(0, start)»«link»«localText.substring(end)»''' m = p1.matcher(localText) } // Patterns (primarily Warnings, without line reference, calculate when opening link): @@ -591,7 +592,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { val p2 = Pattern.compile('''^\s{2}((\S+?)\.(\S+?)\.(\S+?))$''', Pattern.MULTILINE) m = p2.matcher(localText) while(m.find) { - val link = '''  Â«m.group(1)»''' + val link = '''  Â«m.group(1)»''' val start = m.start(0) val end = m.end(0) localText = '''«localText.substring(0, start)»«link»«localText.substring(end)»''' From 4c0a2aab6ceed655bc46c9512a7e4898af066915 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 3 Jul 2019 21:41:34 +0200 Subject: [PATCH 186/188] fix look and feel of toolbar on Metal (Ubuntu) Look and feel tested on - macOS (Oracle, Mac OS X) - Windows 10 (Oracle, Windows) - Ubuntu (Oracle, Metal) --- .../sqldev/ui/runner/GradientToolbar.xtend | 81 +++++++++++++------ .../sqldev/ui/runner/RunnerPanel.xtend | 6 +- 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend index 352ff457..1fb4adaf 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend @@ -19,38 +19,67 @@ import java.awt.Color import java.awt.GradientPaint import java.awt.Graphics import java.awt.Graphics2D +import java.awt.Insets import javax.swing.JToolBar +import javax.swing.UIManager +import javax.swing.border.BevelBorder +import javax.swing.border.EmptyBorder class GradientToolbar extends JToolBar { + + private def isOracleLookAndFeel() { + val laf = UIManager.lookAndFeel?.name + if (laf == "Oracle Look and Feel version 2") { + return true + } else { + return false + } + } + + new() { + super() + if (oracleLookAndFeel) { + this.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right + } else { + this.border = new BevelBorder(BevelBorder.RAISED) + } + } + override paintComponent(Graphics g) { - // default for non-opaque components - if (!opaque) { + if (oracleLookAndFeel) { + // emulate Oracle toolbar + // 1. default for non-opaque components + if (!opaque) { + super.paintComponent(g) + return + } + + // 2. paint gradient background from top to bottom with separator line at the bottom + val g2d = g as Graphics2D + val w = width + val h = height - 1 + val h2 = height / 2 as int + val colorTop = new Color(237, 237, 237) + val colorMiddle = new Color(244, 244, 244) + val colorBottom = new Color(254, 254, 254) + val colorBottomLine = Color.LIGHT_GRAY + val gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle) + g2d.paint = gp1 + g2d.fillRect(0, 0, w, h2) + val gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom) + g2d.paint = gp2 + g2d.fillRect(0, h2, w, h) + g2d.paint = colorBottomLine + g2d.fillRect(0, h, w, h+1) + + // 3. do rest, changing opaque to ensure background is not overwritten + setOpaque(false) + super.paintComponent(g) + setOpaque(true) + } else { + // default logic super.paintComponent(g) - return } - - // paint gradient background from top to bottom with separator line at the bottom - val g2d = g as Graphics2D - val w = width - val h = height - 1 - val h2 = height / 2 as int - val colorTop = new Color(237, 237, 237) - val colorMiddle = new Color(244, 244, 244) - val colorBottom = new Color(254, 254, 254) - val colorBottomLine = Color.LIGHT_GRAY - val gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle) - g2d.paint = gp1 - g2d.fillRect(0, 0, w, h2) - val gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom) - g2d.paint = gp2 - g2d.fillRect(0, h2, w, h) - g2d.paint = colorBottomLine - g2d.fillRect(0, h, w, h+1) - - // do rest, changing opaque to ensure background is not overwritten - setOpaque(false) - super.paintComponent(g) - setOpaque(true) } } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 312ed409..e3d2d73c 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -726,17 +726,20 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { // Toolbar var toolbar = new GradientToolbar toolbar.floatable = false - toolbar.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right + val buttonBorder = new EmptyBorder(new Insets(2, 4, 2, 4)) // top, left, bottom, right refreshButton = new ToolbarButton(UtplsqlResources.getIcon("REFRESH_ICON")) refreshButton.toolTipText = UtplsqlResources.getString("RUNNER_REFRESH_TOOLTIP") + refreshButton.border = buttonBorder refreshButton.addActionListener(this) toolbar.add(refreshButton) rerunButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_ICON")) rerunButton.toolTipText = UtplsqlResources.getString("RUNNER_RERUN_TOOLTIP") + rerunButton.border = buttonBorder rerunButton.addActionListener(this) toolbar.add(rerunButton) rerunWorksheetButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")) rerunWorksheetButton.toolTipText = UtplsqlResources.getString("RUNNER_RERUN_WORKSHEET_TOOLTIP") + rerunWorksheetButton.border = buttonBorder rerunWorksheetButton.addActionListener(this) toolbar.add(rerunWorksheetButton) toolbar.add(Box.createHorizontalGlue()) @@ -749,6 +752,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { toolbar.add(runComboBox) clearButton = new ToolbarButton(UtplsqlResources.getIcon("CLEAR_ICON")) clearButton.toolTipText = UtplsqlResources.getString("RUNNER_CLEAR_HISTORY_BUTTON") + clearButton.border = buttonBorder clearButton.addActionListener(this) toolbar.add(clearButton) c.gridx = 0 From ae95ad7f8ef41a8cdea48fb24ffbb091cc4fc978 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 4 Jul 2019 18:45:52 +0200 Subject: [PATCH 187/188] workaround for ignored fetchSize when connecting to 11.2.0.2 XE see also utPLSQL/utPLSQL#955 --- .../java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend index 7cc1df86..442027ac 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/RealtimeReporterDao.xtend @@ -91,9 +91,7 @@ class RealtimeReporterDao { l_reporter ut_realtime_reporter := ut_realtime_reporter(); BEGIN l_reporter.set_reporter_id(?); - OPEN ? FOR - SELECT t.item_type, t.text - FROM table(l_reporter.get_lines()) t; + ? := l_reporter.get_lines_cursor(); END; ''' jdbcTemplate.execute(plsql, new CallableStatementCallback() { From 629f610f1aedef42f00cc3d4ce751b889c20ae20 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 4 Jul 2019 21:49:21 +0200 Subject: [PATCH 188/188] update screenshots based changes for version 1.0.0 --- images/code_coverage_dialog.png | Bin 204860 -> 247678 bytes images/generate_utplsql_test.png | Bin 200805 -> 297209 bytes .../generate_utplsql_test_from_template.png | Bin 295000 -> 273510 bytes images/preferences.png | Bin 76053 -> 136126 bytes images/run_utplsql_test.png | Bin 173260 -> 166348 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/images/code_coverage_dialog.png b/images/code_coverage_dialog.png index 7b451cda9fac2df2f2f1374fd0e5d26924b56b69..b514dddfa94d4456806a73069f8cea2c5f2f16d9 100644 GIT binary patch literal 247678 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 Gk*=FUfD>qd-Os3m)saxn(z$JOE$K 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
QkOkjAUlII2@lYe!5r9MD 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

P{pfDa0 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 literal 204860 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

3Zum4t1y}#s0{0s`M1`X)8+* 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

  • l;t#&WG&K{xWqhLS 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%0DZn?qA%=L@VF>=&cISaWaEt4baY6i<2R1S3|*sj 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 p#Ix2~DSgp#( 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�LT$(=7pWkE?fd4aLsHDGZzK8J6bDfG; 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 =y5epD7JjPPFf8hJj7?LH+}sN5LJ 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
  • Nzj{rapcS^SW^E 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 z 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
    7*2f4H`Ne~ZCxynV-XGB~jgT##rFaE_; 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�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 literal 76053 zcmZ^L1yCI6);17=lVHIu1b24}!9BS9;O_1cg2Q0J6C}9%;O+?;9D)URx4+rV?%loj z|Ei`6ieh@Y-+ud?$IgT+%1fXk;UhsoL7_@XiYh@tJ%d0&!Pq0f0e>kXwvh#XKszZ( zh(MK%5^h652}4PVzEyFD-phbDc-3?9s33wQfadv9GHxkt9DVh*lBl2mR}JCHdb5rT z>z9>W-iJ(LVihoBNFUEATRxD%NXNZ^j{hdI6+ku*goOFSd8`*T8UhIJL1fjBLdVY5gtM&eELU;E) zEdiG#OMcgP9a~IxV+r05>!)0qc!hpg^!HZF0q?3@`j)G<6d~PIVKU+Ic@!u@Xd%cr zNxe}7#YRXQ7e6YEiJ#-(AU#8jh5GN;x+)BFFcy=Rh89O5lg&Hif#K_+jg?Aw#QV0# zTcPbAm0!rIsERwS=qWvF-&o`P_uGL3{y@ZyS(yZ@NJ&Y>E$Plnskm1KyZrk0Hc?l@ z6;IM1_P<}GLYVEbaMUduUp`9r*V)XEM_@C2%DU~UOZcCYi}eqK3O(qhAWV*Z7xp6W z-EHk=%n4C6VcePO5QWP=zSR6l*d}VJS0R?=cO?<6dd%?X3*Du-Pw8NK2L}fX5)!5Y z`Hb;NGO>@6Dk@+wt*UhAn@%DMZxUk3$V8sX2+-2^ysDEQa3c%(qL|xiH;#>;ttAQ- z8%pe;WhtOBNdNspcmXr5(`IOBh*9PD=xg=Ews*MARzT*_sW{h{O;`H%o%^*zGH1NVJ)E@UKCdkqYtNVAfM@W|!_1V!A3uEfc9xqMX0s5F>a*<$33aaiGWw)9e_cwy08GV6 zs3x+PdlJ%#)>K?qyeUodE4Mou!;NEq1DZawvo$oCYX-exCFatad$r7OhV`0BORRc5 zDgC+Y1O;pIt`KyIp6OiDSqQ-U@7 zvbP^`Q0wQ^Wz{I|$f{)4Q?)LoLi!!$(fKL=I3ENf80CD~?>HrKadD0(>ry_IbDzbK z8y{|Vt82+R4%;3XtIfueipyKI4vo{Fz4^dI>>BmQej?S!Y>zl#K5H)saXXi;-7{5l z9Ww`SCy_WyHU%fvEW|SG+CdW4JRs7zv3u6oWj-(x4A2;WE`R&?O=J39L0Eec1UjR(Q`KG8o{dgaZxdOLlK*{VG9 z0`j37m)(sBrqVT zzt4>DF5*`sKUb-hq>fKr$U=|HIV*~{+(2#oTrhS)K~DaaVrJ5!E+4JNzPn>C0s2{{9+ukX2?_lX2kL}c{iD>`T2kNUpX zVii~h_i*PvoBFkuiC`vuy>GlAT>w)8Zu*HQG3bhvrB@Z)ZzFn)YeM2 zKzzFvJb@y{E!uaU|Jsf+YJ!o*m;_S=Pu(;DsooM+=A-SgL7+oR#mS8&0jqIf(XU_Q zcydE%#`{^bZ*MECe3;AJHUc8Uuu6md{`@2)6zB!@;d|KK(X|j-o%BlUj@7O()quU( z>H?KwH96P)If?{Ixp-m$Pszn57tm}K=wyH@tKT?AAm4#H#sSjeb(u7tCsPcA1j1SK zc%>>vn!xu2IiN&CReOb}(qY?_sh~Iqz){94*1%!O6zZ z#z(rc*ug})AqAm(a($okL=*zf;ev&=zL=rD1i@)eR9t4^#G^;K$E*df!rm3L4(O_@hD#AE34SnDj*x75#X79F+G; z+N#=g3RP{>Ue!>|TY<8@*Gw@Un!pw=K%xV`mkl%wU1$%S zZ}stVaT15#W730YltE6UeO5o>GyuD))GV;KMANX%VK;U)TW2Go9tD<98OMS;|H2=1 z8T(RCZgq9F=}^J9fki@G)Y6x_ttSF!CcMu6P*m5xl+z~U1hw9p{(P&L$h^yCMzo4sV!Djm4iSwy}{iepkwln^~C5@ECR|h_{(4#j9p9E-8zi<$$yL zQ1|njtZruiU|J&on`G_Z1?%;<7B4r8C5T7$yUX?USmoOHx>NvNQY6%nOmBa@)u1Ug2~ z7H4^%NY!2yF+aTiv!?`*zJY3CrRNx_mvPcMO>%T!vr}@vbj^s;Ow_AA(_&XqM~wpq zyYuKYx004O7B*MXszFj{A&Qv zxH+|YS3+)kVM>Ke`e$W$+1N(12;r~gj`9PCIQ{}ouy3FjcB|5Bq(4hbc^(2EHf)!- zm*w|09^a_(&71Zpyg>`=eHn_8!35KdS~$dO6IJS(Sosr&^?vjitLnztpS{RKjJ7-9 zzkd&en8u@X=LV@lPi_@_lX2pCEf=Ma+ExC?` zg(VOaE88T%bn$G&ZVtgCr3A^v=VI1O3nxjU6J=cTlmh1?FL;AV@KJb+InaF!$N~-L}f- zC}%pKR50>o3*(E?oK*oCyXNIE`fw(?tJ$l!$L* zeIVgE;qzvNKc4zOpZ(tzKo%BByBIm7yQfF9Y=r$7ZXz6{|KA`vI~%ioP$);m75N6# z{_x+(SojFtzl;F?muG!PSbzZ8U)b*NYe5i)sX2mM(*$Mx&vE@R+jCWOEG#UZ6F&R@ zot!nW3ZbDPAk|MT6GodD0lx4t*}-DLlH0!ZA@znTcU zwA-0rT(kb07X&6knOVG;W*hR2`!60K3{C0p;@(y9;_y0hO~7&eLpry^XDDNn87B6C zpFI&W+v9mHYT89AG~p2ud{j1_!HBHhS4U1iTf~ILZDGAvPdxi^Y`}NzEah1i#Xi?7 zo;AwDI5Vb#2GY?N#k9A#9vQ}-f>#;CqC$s{CE7x%9&K^f#`(px^YH5_HqNO?o3En3 zxpY;{r!-t~^SGRVMMXs=uTM7ETw>wLW7A-xiTEhJE)Nnv_k5Ht{JQX7-l_T?Ecfr* z9(xPRY@u2=P5v<^CK=#L0Td>w09s?FLQ^5mptk=kd=UuKHsXL_`8xg99AXle?b1y`@nrNuknLbMatx4ExvCI-!B)cM1y$4!#mV6FOG;EXXc_ z9j!7{rUBX-%PMz3CEx@XsTR{BX?XfQ-n*r8*=2$&z=@VgwOkT`sm$#~$*;K)017N) zWc1m!7sAXU5Y+4~E&Y*@FUdexfEZ5FA%O3RlyCHr_<`xlAxg40EtgAP@>~Wz2SzQz zyw1O3Q3$ye7aPpRG8xji>@KJwZPr&}O)mSC5;4Sy08SfvLKw>(W|Si`!5{Q629k1S>1k^Mowl8!2MnE5ll}w5s1+==T~3S70Kb z<_0k%zT58Uaw$4*Z}Yizt$i`mnp;OpZtu`bMMkEC1|I^4&9HvHg=r>GGE-e*c+2n{ z=Gsg%soaXe3j2bjN{6-b?)`GB&&CD%o4fceg^b~~<;DS2c}4u3iVS`arSdF5!WaY! zzABG)opq{~2+Iq?B%NV|=)0|&t|n{;xz3(zk>@qls>N!76pd(t4_C$l#9X%N#BH|+ z%|&}Z4T4=tqX~JG*7p6fBSqedGh^F&H9568B=q9f8g{{XoQ`mv^L;?@UPhZP*JmnL zFQ4|&NPJBKZJZH?N|1l62#%7e6+ik5Pyc!4uq@EO5Oc29)GH#*6!{GrIY5!fv|v(7-ExS__c6Dba^Sc@9B#6h79lAxAT&n%Kqbwb+NNL*0$=c)R1r zYBN_Od%d!AH%M3BKX2DodW@@|rfNQyTZn?kD%z${G0ADSq@z}*vrQ9v+=Ni!T5r2J zhZ&PmrrYcp{dlv>G$!cw&%Pl^nt~{dgNiEpI>gA3UII$FREuLHh^5&z1m{*!rLt5h zPdb`e1vDQY=HeHnN+$uU+%NXVKqvORsj7@2QliI1rc|pwoq(_Lp9Y@i8pt{$`5bc!SK2!1tq1S34pGJw~c zs^@#XG2W`{g=aqkrP<_Ms3#-Igrz0fNq?!Uf6qRnpto#G$B#mKM=! z>zS&!D)1NqB8P3Y`d(do?pxMnLBQOO^ z``x4_WmfLR4n!b&FcZ*I5_Fm<0V3Tvc|*}pL&8_Wag_=`j0ZjEJBcu{bs9LRGUdVV zzlci#eON%VG7`CDz<$f5{}I-{?6~u}+5)BACyj(S4)r1P@ojP%?fjAjr!fJ~$Xbtc zqgtJXkFnX!@o>Bg^T;MjAEn^$WGH&qd z>LD3IeS6&_s+uB9M@uVh=9|f3rIrth^1WJxe-*(S7Z&iZ>W>5i{R;t)l2gbtBFvk* z3Sl#V*yK&TNm?oGc2)!AuKHVXzjJnWT-^UwZ1Yk<=&d{zl|MJ`e;E{@%1Nx{J+jLR2x@ zusX@f^qN1Vdfn(58RgB)LgOP2r~Mvp_2mvH3SzeM(2}^Dj(Z8t`GS*S6$6jSc1r7) z#y2_)G+p8BTykE({XvfYLTmkpum-_Ml{&E#QDkYVVc8lht1af=KWl=focVKsN_@$i zW&=o7dVXL%tnQm!#b5{xS4B|{s)xmhYMTM`1P|;}F-PbAsbr zUizUc!PltE449_FDX-m@JPKO9Ssi}(o_&|#-A=??-c_5KP!M7m6TB^HG0&XmGHyH7 z>9R(x@})iX?Z=7Yk3erj^bn|s;&BS?KfdGH3|k(MZ5h7Rw;Q|XQf@x|0o}&O<0R70 z(!ecZhf)cCwhOtrlnEmF20$|xz6k;#Xx`+jBi+{p|j`Bhsxcg`MYQn@V!6 z=IgU{TM<@lB+L|j)iaaVdmAp%*Q;)09F`J+-MXQ{s(Bb>;xT z>m>udaDS?b}4NK!};)v^w|c&-zBA`mFRT3 zQzo|>Y+zh05zWLWiM$m)7Ju%0d zMe?Bha#CNc=(#HLk?VuTBc=>GOKf`xnZK37{c$OB%DOEm%LzCC*1`YgN~8hl07zO&$CA_}M?-;yjGPdn+#8YntN&z^qPHI{egjWBC410F zqWw_+*BL$?Dq!Uez){|HA!Q`1I~~0@jQQ95|6rmg0s%EO?1()i|9(*aJP`y+n2Mv& z>t^wBpa}*R9`4D+Vzl!@{s*IHSF_(X(|-qWzhorr34Z{fd2C&CRt5ZK>wjT+oKXK| zY(4e@^>RI&eASW=*s8ZH0N5NBr@{WM+Wb`~0IH~w^ugFY=yr)Umt!?@V_}RED?0=krB&MAVwzefb%&2QhdA3cq;`{1{<9r9seU(RO&K*P1LAr zkIzwLe7q&klct^eUrW~?1Z%L0+NClw``#0P<4l02;jphZl*Eu{HB(l$JsRBIElQ)5 z`@sN%fgR-*kf{>5mc5lNXUg`6Gq-;Xv!kLeF_4Z`j|tKR!J)=GZVWbpjQJ5wq)2Hf zbUUN(Cj|&sa!F2g6w=^Wu?TD_pzV%I8N(v3V+YiSy2ToWbZtbH zPY=}OX>a5}<80m#+?~*S9QW2K6`W{_VcXEWCl~4UZF`%~c&$v_QkOSl%XDkpWH`O)rNw_KmlO6s%ka1s?5k7A`LM zHETEg^JgEg;*TF*whbOn44fP?sSRoCm!D$2(;gIi6(>^+j&Hl5a{rmZr)UzR$vEUk zBCA+zlgQe`G1N;G2Aarp-v(4L+U5@>HZ+r^j5KC6r+&OW4a8nn%VTL57W#*GW8SHk zL$l`)A^ir;&^9)OP{>U}Nd=Yztlfq#oiWTmRul^HiWEwh3yZOP7L{f|DoNzy*mk7C zxCM{P&y;Q=o)q1<)Il*Zv27(uV3nGCm)Z9ypL`nGOny!ADEz##vGUfNBH_20f<8^O z{r$ffvd|&cv#cE_9E#E9%?G>zbhX;40Qx9O^yrPmtFl`b1dv+9rku2NJb`V)+ugg> zFp~9YZM(#)D|flItiX3GGZ|r^L5N(H{hDB7kqhcRH+`O0jMkd|1S_GF0#$*uwRbN^ zD2i7}W#w|o0^=j$H`y|CEwNUes&hhvRuh!NSxK@kq=7HbwEJ6p(mV!hT;-41HL>gvtS6qCM`)1f69xz^SF9A~D!=RkvjPI+FGG^&ytvQgHu_RZn= zvL~h5ho*4*Px3Vl`~ z3;%zr`%`U(LJ*!oH7C+5u-0&kz!q>@_*q7j#!k2JY4u{S&Smh_6(ytwaA`hGHmO=^ zHag}BTSP@gsqWeVVu`^XV;!LTmtALLy}7$xepI7#02G$>hug#CCm`L2}Cb?NS2(xurwW1F=Qy|HcUu#&l$2%Fgm zchyedZgpG7te{3iLP_|sZxxn9@R7*tllka3<5lt=h41ScA~T!j@Tt5DYs&SdCNefS z#&6d6aVRtYG!y=876E}`?bosg#h1JmiRCDod2d(cB)N^`JQF`-XFFR}73Ov;$Gg)S z>ty4t?beM*`|9YV8#tEKFL}y5sRb_Yd{;woaxEtE%f#+S%;?oB$eI%aU{FKce|Cqn z0#{Hy4Eu|6f~4zVs88F$zt`fS~=PNHdt?;9NYc(`Y%Xiz&LF> zZ!+*zKs&HgJ8SpbAvj5y{2(&N(_;0g|ukD(S19vp; z(0Lrqvj}+_sMeg!%Qr^7h2@Ebgf8`{zogXc#7Pi;A1GR3MJcB3JzO%=1dUh^KjjtF z5&===;eoF!aGj2Xl}WQoREa)f0CG&UJ9q#%hq>oZaSH~B zqIa|NHW?A0OT1Fvm^^82>Q#X-nz?F0pw9Q)j~u7RT2ivowe;m7lN;`btC&^Gjy4bO zOPl^YCKO+SIo?m_Tt!+5DXum%%z%_RC#x>Vu;>UWql^ao^Af+T&%c`IpI)`OT?4h` z9X)&jg*MlB<6Yc z>vc+Pqei9CIAFoML@}z>d~L$*`ux$MLAgL)wU~~+;*CT!7%+Z*ShX^>-6^G2+b;5Y z0E&hQK<`d~>Q)poEyr0hus>HjAyu`)Dqy?7ofv>vOM1AOW|tI3>?x_Fqy&2~qOR}b z;@ULKdY#^Gqs|F#E|vO9Iea5`(AZRXW~Kcu^Ts3uOpE`z!u-Kf4gvHM&obWx(!c^= zhmxW(m>l`AZ>hCrQ=)?Bu1#)iC!h31lnW<${3#-*^gqOnv4^#9miCo1b_!X0CC}8AP=a2?VSWh za&;yiWCb8iYe2i^4FC_MOza-vH@4O(=Ckl%naT?K+|ClRx zh?LLdr@?iz>OKDq(ZGCB9p8ErLr6>HI9KUP{#ctCmM4arsl(g1m^RUr75xFE)oCvWFhjRFNLf#y!M0 z;UW7Epq!pd#o5DRFyn`fRVW_sFnnOS(r_ z)ZnfwP~z+TSvQ7mg*4;1@FJ1rVZ<0fm)=24cp-0K2;i;lkiqL8zvD4|+&eZUL82C% zD%nUXt64}*)|P=Y9QYy}SnZ?eAfvf^%^So8!tqGo$k=fI=NSpZJfI;g@UN4-Vq;+g zc0VjmfZ}f6C}e0d$4bKc_k8 zA#(Y=fK|)=KBt@izhS#D49-V?j%Y43$R~@{7R7?d^M5^hf7mM~V#2zgPK!d4vDZrE zNhbdE$^VI57l5WYazQ^LpTlFbI%455dU5iX-FAWuO<#&_j^IpFC%nP-ms7Ux0$5+@ z54rjInQq#KaU)U`90eQC=Q_4Bz2py?b{T2Z%XG5EQib{v4H$j_&~67G(2YTU9@%%% z+Z)OH)3s4UV48$o-HuOIPa4~T+piYtigUuB%+X`8v(w&)I5I)XeW00p;sOVsb-dTYGR z&u`4Zv*}#Y!UwJ5d8`oUW6tf9kU%Kt&8-X>*eZ=gTFuI)tN=1zjTduPd4^q~tnNn! zg<7>mvgzF4m1J1UaOzZ-(AcF*UkT|-keUWGT>e<)(E*|q? z{CDquO;#p6iTS*42lRlL1O^C=ofxjVKf(%eh=1w5F?jLE6_$cGbZ2MTpFy5je>!Mf zS10T7qI6;>uhx@2=|X}43<~Lfz(`=nd-;-p%NG2Jg@X;`)_bc=nE*u$`y5(F;R#}c z={1!AF`9BHnJHPb+H@d6L6BzI=T=woEH0zr3bshCke0xAHXAinz^jg4yH1wV`Uh!+ zy&s@3cZg9Ls5@8Mffp&-DEcLwE{AfiOjJFYJm1Yi{pM`_&tO-g@IGN44F4Ls z)-uW9cht&Meh7LgNKGZ59t#u@goW* zzrKITQ!CX{0_?hL07VHLFANC5X0Md#wP+ncPUT%##D>z?Eyy0P`h?ccXY^;H+gWF- zKr(oMWNvGidJ7bD{)}`M@QV>4(;T3eSSr3v}9F4%XW`VI&`e&V#D<*=Moq*z|c2jJYSRkKg+ zIbg*k0JPfchx=L}?~(4?R=|N8a9j59EBw~%W~W)}naH^fsB&2~cFTJ42?^&{Kp#gx za~e(O0k}I~p+@Cr-#$RlF52Go=9&KzKAkmDps*_wEtNoNq2kKja6Y1ahpE8-no1!P z3?zXHcU@OILu&QhvD@c!0kV^Cv4E`zBR(4?$Ngne>xK~qyvUT)I~dS_f@~*F|M+{4 zKq0Oy;eApzMjM+U+vO+XVHl%%oKn|U?E&4KZJ%U4-bo}p0ydMBw6vq?E6l@Ul)<+F z{`}ND02nJaC;_ZAzA2;+@C$%DBbCgkI~q6k0is|4&~BLLxxmgz#rNuYrQV+}m)1S( z`eOGGkSou5aXGD17Q9bKin!k*Hs4>&gHF~5KDmwwTuK7=-k?Y-@VKh?Mv+iG33w~K zr`T{W@#tle8C65@jfbOff`m4{3pQL9_hzWF>G*Yzi ziS?y|c{dPOVPz@c|Sx~;m)5s+W~uFI$y0iu>MdQ_<)_8uVRQl$YKZl+bC`?rj%jsnOAc z)q`Krsr3UgH8}-^SiWp3nO)m`ogT>tE@-t?xN`!@Vzp9Mn$MI(^VlQW{XoXf1P~4! zpK>M?m=+IU2|@jiG!zZ7-KpXN>19acX)b`CQbpbAf>2uLK1yY-AO;*}65yO+GOd*z zc-4wZNDKknC!{mu|%5Re}#QUpAi@*5*4V?!1~XxnWzvr#Z$ zg})Km+h>VW5I6_l-Cr)>kil#T@DVQDY+}bOqXd6ALKw3f?-WCxszM%vfx}P~n{Fb0 zsbM?BHbWeTM;G%IgfnQX@}0S{2xL*H$Q#c%0#W(heO7>29-ou!Du=X%{5XenO`EpY zqIhL+$W$<(lW%?M440}p@)tB{hsrRAJ4mU36G;u7rz+6^LT6K9Rujawr!NBl?{x?e z6HFFwB3YL6Hxx?@K;70`qXzU9xR+kPzP%oKhI7;EbBjc&7}Q*bsQ7?(7BDS3S69J2 zQ?9Sy=fr6_*`E|&nWpMt25lTy*XNZGu#00XWmp=z`>1W#0%H0sO-Hu3KU!4kT8_cR zcvU7YCZ^eiId)}jT6De#z0m%iL3zZo`YmB?HHOz z5D%@yFt9Io)3hOl^Q{?dUN2fi_JonH1j~%Q$vQM%s>vdA2s`wg= zdA1kGdDpb+PniGi=O4<%u`G26$8bKpmmX7>mro3%KuRhENLFDQYj1DI)Q>WH1D;nJ z4lszepraL3busEzd+h`BC_Z}CCNLqNtE>?2Bk~YQ2?XUj25Ldd#rxoPjXz0M))CHX zHRz>4O5r=)!-&e`ikr0_gla=CWcO5mmew&X z#x~qBWDh{^Q%&AJP)QCVH;Z4C=j0^QbWtcFyOpmY|#cMIZ||y^H9h!G|PjMZy3vQ{_0+&P+wHc zHF8k6nodLF39y$=Z6+j0d~(;YSED~jeaU8SAGhp$3U{i_JW&Zz&HSS3=B10p!S3$v zU)&PZ`DPDrs``>@>qCiZM$hBY9~c|2OC2es+v`x9dh*u zNLOfkP&aFIVNZkT9oDR?3+Jun2r3BCZjkcs0iiPisCf&@1p`)f`H^ilVm!e18-3W- zf5bp}?*E+VW489Msp8}dl8;P!%sNlLA&>#2d8I0iB!NAhgPs!mV)+s9+lSV^KrTBN zNeEe{aacPnPd7)Pou0NJ|Bl~E0Q?yj65|wt`+xx@_XNTN%@Hg;LAkS~jx?MLHPzIR z*x-tMDns)X&0FIC2-)8~Tt$BV{7K&>F}?etQzQ_6=nmJwg+cFg0~UkQS^B1NzA67# zV@G_ypmJ6N#AGpz*hmFcA!yzo%!k_mz7`v1bBE`Pt##Z&{Mwl z&kr}GM52(CbXf`YrJQp$IoD`W0Jalr##&e0mi?Y#K!N{zM<4dr${2%`-Be$TnJA@# zdK%2XJC$$Ch7iK1P#231U_c9@kqCIINGCJy$8P%KnrkmMv{T?Q_Q^*daCj*M^bl?B zdA9`xI0{=m)vuR!;BO*1MI~N`sK&@-(08GWK9`F(%>m0VykGQEWDr#sJD4TvmS{(@ z?Ej_DqshW9WR5M~eAwz&^aJa1L0?=!%vU+~>GWG6>L8qLd!HAgvm-?)#3G7Wy67UQ zr#|08Q9>bap^Rk=^PDn`y>{*8Je0=`JUWJAg%frA#Wg3RpdxIt2N?%Do^$g}X9IY-tf;h{5hM>M;M5=UL{$;Vc26Ze=NJcKay44P;`}Rs^?0 z`>AR83ft*8-YJuJ`8iWYEfXHWV2|dHIOIAzbQ9GU`}@H^Efs16*p+jv9UG7MJ?G3p zTi36ZDF0G8pDLEHEt-Fs)kraBe!_CP-E-V7g0JIVJG=2)+BTWg`ni50nda~WZ~sB* z{)%3ngJT>7?K&P{asb!kz5&Jz4bg$XdAghDRo_-<_; zea6BxHlF^5C>QNtw!_o^26(@NYO)Q$@6xUlH7wN1PpKszZru8+QYl%e%Oc(B`0IIl zBL{Qnzue@f4z(hJ(a%-QPCzlGB`t*%7B;Yu3@@Xl)s!pMv?mBAwUgJUXxry6Id*H~ zlbN;?T3^+mW*60KEUjk$`d(g9aPh`%YGQ)DMcSFg!}QmNQn8XnIA139cZ!HXFb~1{ zmqr4P^1>mSi8twd|4ZvUqJ>+v!Y&KG2d!5gpMv)5f{0_?VlpTs7${sOvo9PcUPY~c z4@VZTxX93Bu#|2o0_8qBJtpLWRSK0W!IU^vHNTQ=_sPOA<)yOx8DfH zHP^)JC^go2S01^kx}rDQ&cD9iD1XNK)hehOra|I=_dz+ruPRZVsh@kJ)Tqy=_Liv^1b4rYv^ns%YNMXcn^!mM=jRY!4?ECa~>T z@%}m+oR95**$q=>d3Cf3oox8Gi$)2PQbS8$z-wY^5&F|=dVR!l*KTp35Vw#nK0V&F zk-R|D*qse)3BKIoO`EL{>Epd?>0OO&m;}1(pjfJekOuj)IeoG>w>9AWWNwu@_a>{996H zqi%#2yVuAE`WG=ga@_hKNcdb!UP{USj+O=lz7@wjP7WCjNp%Fgp88uTAw@t0_M*o|uRASIPt{7kv}{kjQniRw zW1iWBY`;RfbiDNU9=4uqFU2wZ0_{?3am_E?#MSEz^EC=}`+T&IGuukx2tyV4T;Viy za+YebhslrIXsN5JX>vM^~eQC1HgL5+qGWzn)y=R zP_D#OrKun6wt97{`~|0cU@TWh?k(?%q1nja4R~))mz|VxOuP2v3#20X-k+L!*c%Xd zSSmKl9xuIEYAp^M_5*$J?Ok40=H)CR%ZlD9NHA*g^JBVp-Nx2zvMA5hdg&0OphNn8 z8XvMO;8rT@^EnIRW~Xr7TeQp9hcY6cy0in*Il^oYBG=(D+>n-(JaTpi{H*a@Da?XtGKX~>4(8J9{e_>-cCoyObHaM&~BU|BtF)j$8f^=Hu3j;iBf%ViNqnZsJ|&c_|88dn48;O3)TsRZ^pxlw@U7Th=AoeXV+ z;OHq97ssuYGEt7SiamaZH=A!s1aL-8iAJT!lQB2#+@H#37F}aCBTuVVLJi!QQw>?v zG$87!@J*ttCr!u83zEp^d)H87{$0e#*qCGY?)vm;LhGAP!XuDxNqj-XOZ`$K8@)=J zfY)bC_)YT>+`u4HLc2R4(L^I)a|B$}M_-Yx-;dAPpTFa?% z9YuRUa-(@l&ooiK!I<$nTx!{f;#xW)+qPC&?Zk6pX%|5$hw=8qt&;E`w7qDk#QLLU z3wKb)8XLPi!K_(5YExkPE|4A<$nRPYx~5{9-cx2VEtJ^yh9_}corLB8NN`zZAP!gF ze0;6p z)z~59^%yj+UEDt?wm1pk~{_Hkrl>-lN6d)kkDA1)%K2OC%{G?xIJuR0#I>7ug7grGWwGp)*!eHB)3lbzr;wc_IKVm zLVqlFB6I$8B2jYg{rJO4 zC7=EW`Ao}It?bP<*KEaotN`+*lyD-ghNeU`A&qX6^LsKyR%In6lc&HW5RsG7&`8mu zG7K+KFVCb+INcmg06f;~;TT5*^i^~WV&byfQ6WIOs{x)ocPtf+x9D2zb~#CW)QQ01 z-iO#7$M;yG1}kaTn7_|p?iU>RrmP^4hs1`(eag2Y_u?iDF)Z8Nh~6?w(1(A-akrT& z$fi$wesM79IoNO#8Qc9kRJ~Ts)3}pmVlQ%N!&M|juOcdCZxN6nXoa#*u(FCao6#G^ z+%|^aYI}PR$2&SzhVtb@IeW9D-L=XL3?q%Gb82$#LVv~&OJlU3RKnN2{;D0GAqLzC75 zbnB`o5=LWfGYYr?Z)s`ZpG^IJP{*PEZ#d?`G$Jo6v%f>v#<=AguI9hFLO zG%0_)Di@vuF`1d9mbR2rj>=|(=8S$;o+l=$3hJltgEDTH=6(&c+03z9d|TO@`}uW9 z9rv4`e~rzA+Tt+|qYgFjafyH>H_&vxo9j|Mo%#8Q-MzjHCn^&~nm(~+z1}hlP zk?SveT1;gB8Pj1!&={j>B~d~62rEg-2HoJ$DGirw6xrC*prql>a!~!Q??n;R)AV*} zv3+>UZdtR+Y>&GlZ2g^NM09i#pb8n!ShZ_NH_$RwP&(5BdKxWx1xjZXVsZ8R&g^sp zAou2dr9<%7cL5lrNZ~Mc0Q2E6^_rN>g0B6suZyzZg}Wt8R2oYVm7~ZoV-Yq~;3L;cOt{DLS{^?9jP1yJ&Cr>Nn=wm?GEfQcv*J9mWFbib1w9e&cvY zpWTS+mXngXlqn9AL(=j2?SZ3rkrU)`I{%um1LN} zb461{MH=89SQW)!76R7ZuBL$wSVhSoV64?7(opODE*zZzmW0O1v113Ztgm$j6Ux0*5WU^? z5lmN9b<0D^oOxU5iueJYfoz=xGJWln9dL%<8#!K4w6*~U)`fMaUD4`1R|Te*iDn|C zs_aK*gOn-t)P9up;T<$<2Y?xfl5DA+EBN{5qxm%xxg24(Wk?;PysLXq7AT~X8dg5O zQ%je-tvH_&x0{J=DJl1Ygt~F2@gqlKz1IQwz3UM7{pnSWI zlu+9kHiPE)Z(o3Lw&1L2pKQlJs5dh@!r3)pZ#eT^$2)R>z_(wc`>Xb(MU(>0B}d~1 z*T*7lD}z;Mxc)%EE=494q%?>u5*lPYX&&hKVW1(GW6}|i5>YA8aNe^XP!+LKy8mIU zi2sBXb{uE@Ql0T+F35?~%uCDmz^rFhufCkq)CF~RgZuK>=uN(OB-@-5O3ZU0uW%0_ zbM^YoB2_jB9Diy<0v&9mV+2DWPo3+Lez_ZFIo{P@vpc}3*a96>lZ+Fz&{OX4N(}1b zJm5z_XeWIUxyNLma!}D0Px_KdiQ+MTUS$J8z+EpM6KNTsy4D{s3x**YXh8opwi)aH z2y5^oFJ#6~Z&(TjClM-%r%40)U;?*!AhsE{pU3Tb(`?&WVRXza#^%pK%LWbDBS%5- z!7vW8(C+`5u>A}$_7*QfricE@TmF-(cZfnIusNYG8SsADL;fEP#2-TunMw0+{q{e< z2v_{hn1T&Do~*TUE2kI?P;#%zyU5xV>OhJeZUr@=1A zwJ0uWU>MySWTy23gB$oV269SD=^p7<6x}ywFS(f{%hgIhT~(|3H02KchoxHKB!0Pl zBOZxHU+(|pnl|~jlKSrbsN~V&3i&-QDC|q_??u*kwAshj$ElA6qv!|>n$aigIEDj5 z^|F>zMHImJ%FVY(_$3zO-hN=zgGqY6st9YJPPeJXda;S4xI}F<(ofSAh4h{Lz%UID zG`oPZ+T`Ire{+u+?cRpL-PJLx+kwvZ_b*|h;^LkIaYCQJ`T3QXr~it(=Y3+c(@{8b zfC-ZTWDlN(zk2@Up+()0SMDspH!sj_PZlOjmMYIAwEn|czR@lJ(^r1qhTgwUS*_eB z&uYISyuHv^eYQ8N?1#xO;$#ocWdqy%8BiV1T)ymm^5)Ut5c}(*TgkH%)IvfWk~Y0P zE`Iz%mWI;D)>uJ%nlXDC71>*=*3Os9%2&%ko=dS-358z;4JAnd3AQSF-CAkY*`uLQ z`qSs}uM12z!Rf+tnQ0z4^ctl1x0lI4nnMa8EKb!$I*CO6=ZTo8$F4;5S~Zfu7*csA z4nPd^tvH14j)Hvs3{{t_Tq1@)ambu@&Lc8at<+Z9%yVkCdN<|^0NDQI-fg*g@LeYm zU^>5jnrWJ?wMqtzL@vS8EQQZNjd`_n`g*wPcX1Yly6jerUPjGV9&BC5hNh0Fz+VLB zMU+Z3SW5HlO$;rjsuB$@xXb|SJ(S&I9B^%HiW!S3@1yw+VmC+9ia}REKbK2c34(4P?6;`k|7)}p&Kcx_~T;$Pblg>cDeU)jw1i>5qe}uhtSd?4$KMW&CNf>|% z0tQHf3L=u~L8U=DhLWy9x>GPnr8^X)yBj%(f`B01-Hm|sy9U(5InVcZz5j42!_4e^ z-}~Nst@VjjHJjol_D?c6MN3wRCM<+N!Dx(tvC+lzqMe1R<+1{)R~?J#jzq3JN-h&duI~hAUU6 zk<9I_!KZT$a68_A7iOf`@g`^M+^9*lg4L2%HVLs*)?O5^POjjWLYyCSkckDl0INE6 z`u+vikM6G2feU>_q9TT`sUB$FD?45O#WGDmidz{(IHot>%zN*YEmbm&eew^CG%XcY zb6S@Ro}8nMNok%tiGQ}aBswKB9i8Wq3eZ=A>&F>&N9haOdQ}hm$L~^1GEaHuq|{TK zb!nUL3gx;0PDk6TBY<$d0gDOlq<*6<0~nX;kNR z`iJN=inhMpN7&!6Gu^IPQ9@A$4F}`*036IqHd!Z1mPUJuY%oE{dsdr!1JAmDJbXLG zdE20X<3Z~KL5e1l7Xaeo5fgJMSrKrV(odgHQ%v{^&uS%x+al@jx_X_4DPFU{nG9z= zrJbBeN(U;g@XF$`i3c9rgqC6-q}!aLA2>KQJE7LgzT9^)6W2_*n!WJ?ZeQsat3tf` z4fDaa=x2jrVZ4=XVpPTz6AvO=)m0yyU+eoIN$qgDYGWYNqim^E1?fG~Y@BI;Ley+m z9qeWK#Imc^PpNh6FkZ6oUMiNRUzi}#J5cNSKELxj_bMUfU1+@DllU=GMbFjzXc@0w z#cXbiqHej^=U9U$c)HFfQ%Z!L!7s}UuwXguWp-lEB-BvllMfP?3O-tcyqTRY8w71r zFU=g1Kb^Sy3HPIxkCHMqh`;Or9=pcEDNg;jFJk!IG+j%0i(IM05BQ*VQ^qL~-l zLi14x$al49}(dT!g3G$>SPJ{6`R$I~dktZV8S$;O07OQ1oT8$9kq$sL##(=gLn= zKV-M+Z!()7XkA@&Y5Y|0ZHQ4+cU_uviKoLaP-o?|CLb#}D|hx#*`7qvdyDbsj5 zNJPx}1a=V=x>M=9GLb5aRR_+J1D|FmUfs#_mUI$9L(T{D+VXFA7S#*S*Pkrt=&!&9f&CT`@E>&|_;EYbkf6WupZs#cb zP$h0&>n)RFUJf&XE>$58>Sjep>?Q6Edzimao^4dRt?AUab{)m=r+IbE6%t8GU*6sl z@nNfcSXnX1JP~ofvr~Qkez^UwC*mwc)ACKbzvQX=ElaxJkAB+A?Fb)Rqd zrT0!R*x%HN?pquv6ZOO={o#>QCY66AZ@|L~oF^YseGUaZ`3y+dDyo2@l6hFVUV zPheK%93BmimU{pAbXJ`s!${@q8YfZr=jZOa?kaoxpKsiZQbFC!YaHm~w(QjNi=V$@ zn?}8|->_OoZXQ*mUeat{d7fu&a{LDGRgGw`n*^vAp=$PD#7+VD36@atKJqKMx1qZ z&j*r*ZJ(yEN|$zfAv{^TSINGrJ*{V6mo{TEL+ z?r-#g4U3(F=@iPH+mEX%>Skdembn*3$lcPg%UrW9gyH0Y(%GGan|3~LbZ~tz1_Dov z)%E|%(J(-0rz<8cOm#eG`}J=UZLH+wlRbDk|CXO0%J*){$KXzkla-(QC#(8xFyrp) zTFSALcTGCmDr)av)ayfh5Z4*e`M2B;L!$lfU#b2O_7whoO@i0!{POM->3) z>+G5zpSzZ^gE@+8WA^X-59_QO)W`8W!pV7lu^Gr;R5!9!F-u86A@}Nr6DmXah0#L6jfxpwW{clq>B{+D=eKW4~Q`8AYb0k`{}_`>wT$OE?< zdNs6W-~k3j;(W&Q6OEzdj)RZ@5a46ICfc8{7Q8eKQL9P;qx$-`$l8bKDV0H`M-q(| z4Mo&_a~~_C!}-+Zcj$S*pNre^XLf;&^-zZD2ft|T;cB>)Ssa25~wiudS2-G5^mv7f*9~g$_nJomw^u z^T!co=M`T9K12tk&~IXuv+Kc=YPCH1AXs3 zIB%fi--S^iTk2H1V!n-vO0U1A`!xXM^ZGGBX0vBcSFR92lNr%WWOP>JN5#i@ECHGH zFn6jY+5&X>w_kUuvU==`?^I{rr|lhIr4OmO(n@%f{^GlU&#v ze!mLpyVt?qPb%qC80edP0Lpv78DLR?<}lNzw;NdwJm0> zxD&%`mn#;_k6bL7q7r`mIN(_RkxKs{heav(y#}J>S0d5iWsXBY^%0$SJiUEgGMrh8 zDqhMVFeAKWcZHT%2~DQPTs0h+ zP@%qiH4jcU0wSx^U;JzptPr541M^w5(Qn;nvfARZFGGqfx3vYS6mLhIKai43#3FBt zw_H|}MYE`ZIZZ3D|MT6jj+Y8gl-1=}%}HzL0rYH6Lv>-d>R|JL18-^vK)wKwme1U{ z({DeQu{xjE(x4NHoXog0<{p4y+AC!(5MlE;#8~Vb)yG@{9j+1W*MB|N(XTe#BK)|Y zC;ICNCZWfS&c`S2GOK?Ie3{P?f|0jP-opUGRZnV?s#e$+pn=DS0R6yZDclncVV0h- zh8@G6l8lUwNj^Owdzrmp^5aJ|fU~D9cdOybU(X*U-z22H@H$w=+MkLq_e?Our3P)t z7siL(JkT;7U6ES1JT-@tdJ!s-r66Sj=RBFjZS{lg&>xEfDs^`n`*faG39XT(T4t)2 zJOSF_XifyrTKLls<=6yd$!~pDGNmwA0qkGmt(XDM1P6& zb@w7`jgRzL7W^6`oSFbJWlnWPrZ2xVli~Qj(L0wJjCRzyZQ7sQU%CywtIvq}UHycMb)Pwi}d5^t%UH1uJZ?&ILE z`V8c0r9>#jcpn^tA*FCIZp1)@symmc+D!y&DKKlA)c$?X));qx`e3sS)XVw{D=>(PjSo#+#`*Pc3*DNvE97+#C!a?(B};CZ0o1}GufK8 zSb1M7*E>}zBT@{^PG_lCRcb^r21yqUXGqeqHREmTZJ(qil^+cnKSgkNb!0b8V~Fe7 zeqrr+edogNNyfDMTln?^j^GOCPHW(E)9>!&*O;reZ>puTafg+`B!^kn?|M?BV`C|J z*98q+j&2a1`qX-%t1S2*s|}j5Ew1*i6IU<8WowHM17^^s6sfn*E`t=)eDhazx3r?> z4Z0$LaSV~na;ZVpa-^@j|9*A0!|(z*`E|&q@7_Ku(gVCvw3n6PKwcLW2!+dRmNppr zVyK_;Iep2SS}#Clb%nRYOm?al>mFtrU#|M|UdhIa)L=u6W_wyuF4kp-QFyLHnGy5G zY+HeMXBjXXW5cH!evwn;A&R4`RAN_l3bgEf_glhCN@ZVRLjitAaZzIT|iy^4uq^|l4r)gwxjKxMzEaZ-CoWdqIEgy2)jBY>5H1=K3lln0;XH{%O zNXTPP*g+k0^=GnAPFE7^_eYd{o8qM^JOQRlWnYLdm`-(tG6xlPp*G@qpPH!ASAq(i zy<^(@#LhMS7_3DsKFm}1X4{K{PR&Y5q=tI)*5?`_-Q|gtZ9VqyYv3GB&+ZjaGXEX% z*Y$ze0$WW@G#gdjJ^U3G>q$&8j^{?_$Yk_fMW>fXYNK2E{crRFT4^!o=AfV=n=d16y`n)}#2#C`sTLQh6gUPXPu%!o(ZJ`FAmwQvVgg-ZIG0zw;G zFLzOlDor$IR(ZZ=36~#d>}|7OPe*ZH11lXj!4Iyi;WnL?qbph^a1)Ge(fo$@&J#jS zwZdCfXIu*sjeByZIH<>LN66+*h2`|HocC;bU-sqpO!xL%y_PAXA*C$7tXoYP;)6lR z&(A`*axd45v0@u>^3(mC4U~zY(7Vc%mXT$BXD+vKRX&SNX(Lyc`j!gXVOQ3gFaS}> z`8w0?*<^TJL;QTi4}_ohz!5G%gXwgS^3#oS@Lhu#kp^|3>W+1%5=dx3 zO`N=3LjLhD^4wN9h9%M{p_|=`^lQr{%|7%M(VWK%dd*1cGoTfld(U<8OONZPD@R*C zb__;&%>BI!RVu^6r+>$Xzv5K*uVCdBG_TTcbN+77R_eMj^Z$Sw78>A6{S_ zmSr1b?mzs`-=sVmH;t=M9miJr@P9ZNVxDpJMhut(#fghT`Wd&2$pIZ3Ma8C0cU?-UE_e`$JRc^PVX%4oU@gLL`x z=bkTwyI7GGq%8{1&>n9f6H8G{NqDY!Fpo(YpazClCEbCiPhNH4nTzU|{8v2g^qLA{ z@!=R>G%&)7qe^~A-jh@kyLL1YZtjAvPi+Z4D(O;N_+SL}*LdJG(uS&Dsr4cZ1i_Io zY(R`Ow)&Sqy$%w%pXGCn!b(bjh;=3YWe0 zF0rN>e@?Ze|0hdNEf#Fkf?u7zZhte~}Z(e(kL^Kub)`&;K^L!hR*Fe{Ys~M+DJBi{W{q^TBiA6Ul_IA{omz=R*v> ze@M}xD>G-a=2rBGBk2T6U3ugvUE>AyUr5PXW(%(3zbSZJt!Q8ZE#aAZdIrthYoKLL z0Op?GtLF8LBIkE3b6r^qC^s-I`CdSXMoZKzvb9h>r9xo8ooF`_?Gehh%+XzF63MJy zsro$zoOQSM%a)K6cB0Fj{HU$|(fNsi?y}$}$(0S~yIBkKKc0fJZu?UIKUoJwtk%3d zQqH*L{B|puLxkkzKerumA7k^ARD~v408w7#wE!eS3SZN$4AhviZ``B6wmDI*QQkcV zlWuo+t)(sg0ggf2`&Y`B#CLrz+~UZDbY#}qXjCCXjTY!?S=EeP;OJ^4%xTd5@h*;# z1CZ`E^arYbB?g8%An^C+G=%~Yl@9J{G}2NI@5l#KK^%M#7zJS9fCXJlc zrqgcAZF{A=xbs>8r0+we-ZNZYzCv<(P3wd&CbKja_6c5nA1&{=E8F9EP4s^`VaJ|J ze02`{0l`CI+|#F!0YpqsY(}Do+<2Oso4+=*Hs^2s*4EI$9c|gNCates{vf0CYRb>ej(r!27LCN zXtZYTBoU>)+ORdG^AtC=Up9r^s2y}z;v?r^`quFIb9U_Du1uQrJ1_7JZ9S)r-Hg{c zl!Pb*8C&VLJF#P9Mp3bvfD`+{dX~$=EX zYDFu%8=!uix($40@@d962Pl>HF9NR9?(`OMzpWLfWF-)K`w(U1FD? z9w}!e-fS~JgWhYjO7@Jiz;0)cNYlmd+Rcehx75_g^KIK8;_@&~1D zeP_lj(Pl)Ob4L|K9mZKJ!)rfQXP2%=+^wzfY6n2DvM&Z6r0+v!#pg`2(;Tm1kqBa7 zVv*drK0Ft-U1@`V4vPerC64%g>uv`9Pvh>m_(-D}Y%!1t+te%orisLe2nZOqrwwIM z*Tqji*B-(s*TAB9wz&Hn6x{|AM7IMdXHOV=PqL_L#0{^3oOHbVpQhXGC^SNorW52Jb zVs|Evj9n~EvtUvwOrKkc0du@d{N~-Vu`%QGs{<+uBrB$k~+VsTW98`P*-}7tKU$pq-a@onQHKO?EoqxQeE{S1S|6$J;HnQq4;f{LOw3M+- z)qU%ds>1vFj#POII)s3Zy=WclhNHY&Mb{YG}J?F0Cr0%-pNY@8dLEeDHoGp6Kh zYV-E^@3!93iPo$Uf2`2$c!)hc+tc;B1}rwrlSidZ2#i&RowCe|Z`FELhCI&bM^% zNt3$lQsCQ3S;IT2UN;|#L^!05G)7SOg3gfqrEIcPO-5lFaka9vf)zw4-4fB;&iXl% z9ESTT?%GXD1Y)y$Pe?M=MA%4Vhu^*D_AI>?F!`J@;K}QtAsyW9U>WD8OC7wTEawwF z<2gRu>XpsW66ynFNubRBHs^ZW@})#sT3I(z{%JH6a%U-zSJG=j?<2V(sK6vfn*{(z-=0MSNzig)wlgN z9$98>%26{uB)(BaR555Ctz!B_V+SUY^U6Je%^{a6U(iev)^7TpRvhfJzFaiYOOnzY z6>}oXm?JC2ENjJV>VkOm;ED&T;I`{#(ZzDM#xZ&i#3Kbc&-&YX?I~lE9iXM?Z=3y4vWkDMLnUdX zA;KjhB4T#7KTprUN+|Wg8YgFqoLihc>Bd_!+9$4QR7mUr$XoNk8|CxD{dz)5F z-Ok>Qf<1SsI=5yMLRPIu@so>jPu4V0(Q{muJRZp7cjH8i` z>CGz1abqZMu68P=?ndvrguz`mer$IQ)h0_12@tzYc+3&4cdxZqR_~|{!b85{pkq15 zN6pQLqt>IZCIbeZ@UXYrr4qKbUr22-46Nk+R`C9va6DP^lZs4Jo4K_gdsmO1ch~BY zmh*Lv6(W@qfl*nnQcz`9J;Y}ao^pZ~g6kLMBn`~kNaT_A99+T{W)CvL&`y#)m3uqs z5({_tiF;ey(@2rT^8&-}JWC!~4JjXFYtrrg%mZcBx8GQz^@4L3y=M2^qxCBm3&RVeUz^t2bBu_X;;Dz)3#-XUJU=x-SlKYNN-S8ZvIZ=SsBrze5&9%g3N&4ax- z4TUVX{>rI|0+XNz=mSSEE)MIX6TiRZE|$}+%!7M@5JlX@L_U=jC=s8v!s9%p;7u@b zySpPtF4i4MyKX#l{YgXCF1~eezP+WIjD|)gsSD8KXJ6K2`UNU{=+D2AW%1^O|LGLJ z>NO(fvrSHfE|TKHgpqQ!SW(5d zpEqVLyovFsHs`KL`dIPlYP6n&)k!LWqRooo&Yh269p=65*JBU7FQQyb=dKIDHV%7v z4qe;<+jWxpPrct8wrHgCv9<@>yP&e0l+ZDKe^9xiWC)BSJj;VU^X%}mK_f%5+L$6b zFbcjw>rc4c#ttJW8maeKKWNR|`OlyJL6$P*`{@da41%;l;bqDi)LAQCS*v8b&(sDI z^xeAeaClC?c6Uu$%+->UwoTH%dNhv1!N3o}Osw`=(dtO1n>UX>`|!L$|2T(@>8tJ6 z`1vb6zDc6*@4rW%M(9`nVu{0!7z6M#fmQI~uV~^O?fpq z`=aez)O7SYSFI-TKNdCqz$}#^I4+>U0Z!bljIDV zzb}!7L=>@@`?|5;j7q$po_xsnp{GIMf(Uz_bxAt>n^(&bRg%$_WJk~d_qDWOw zCRXw}H*9=}&6a8$bFvxDUx021(V8pejl;p!3|D@yIc&CoxZt##w{8*af2KU`c7-|n z;PbP{A2oM(rZzm}EA9*LY!BaHlDX2FL|8HS`uZpJ+*@nz4ZF&(S+gr;F6gB%-Lhce zZzd$nX=l`#uZ;1{FkN3Y-C^?J=_WRmU5+i2cRgrwFj}DQBPuabrbd0L9q8XXQHk+$ zLcql|(waKwwa)84wV^SdEXh1IfpjCoGMn__yL-X0RcE^^hn-q^E5EI_QhM zs?f2^zg$i-Beh<^o9q$H60V)Kjo4Retjc|aGQF@$!nD8VYtsF!TaCK2uMXzC1~%4Sc`sBR zsA+jub&oVZsd)834XH()IiO3t+fr|O5aH|4&%gItcG5*)uVFE!__O@>tekyKm&M(m z!FASsKZ#8ShYCwgsvb=eMPmP}QW?+*B_Rr&3BX%WZd|4rm#(`K^O zm&CWx4*ll#q}B~y*lVN(u^A|+OV{kLiI+A~%!VR*P)-j*ik8G}bTX4=Kk29}t@SOh zpWb=ZB54;iyM_26FOaO2=QMS}1iz!wY-*>uUcHwlwkw0pQ9sSmt@uguYAaQw<3IPx zQyuQrg*MfnvDcLqKVw;M+cS#(^kU%>OF5UTb0J*MWK_MgB&KtY_-PQivO>4BP!XMBU)Q#1Z=5Pn?8s4n z?Vk-&u=TXYV~bY1O#K;JlJ1-_)s}RdX#g=|%jUf6%VShgLvNm5H>nva>=Ex$(}_h5 z8hvnF8x{D0{aobLO5J>{3bC@0`tpY#%f3y_1^gqv3y}$T*q6MTW>@(_ z7W*8tbIDp9>htnFp7FV8x$F-Rh6jrOSifx)lVNZ4pkVC9RNn{@=kRlevX8WUU!)d4&S3PTn<?}7s z>Z(M!kg-YGB#SX+Yw>82+n>3jcGeE&^Li`mGAq}%Om?>eIFpgB>g#%un>${@p#ldw z_bn^R_dizhj5I5_E&PnNS$4Xd)1kJpUcR)vwKpWOe!^R~gnE{{<*ggeKWjYnFPfrD zXW>90tH*B&9WNP;6H<&59$+-}96i{Z)BR3s<1SMh)KE#)b<0%EIFKn#ajY~rL+s1a zi_*89`Q#9N)Rq48UkT3SC z&_0wc+X=2|Ey$`Txw5M>&v{|CcgV?E4WD_*WbB{YL~|RfKR{Qg0;?it<+(W-_SHD5 zTJYA3M+J|v%{PaVDJ_U3F2sSAsjBUwLJB7fo$LD(1UplO zCvLxg^e$jQ-=XqSs%UMTOB-F?r+v*}Ir`vn`*#KOp`nPmvbjfu6-}2>)ZzOITtUh_ z1#un3a|#6p1P3M^j;z}V!5ZCn?G2gpVF!J^YCl-gt?Hk9RtAR$8h>CLuFR0(D=XCO zB#rQxbF|keW3DGMhNm_|sU&}Ib(1OGas_KBU`A`Bn$UO83M+JTX_)9wTqF2~{97-3 z9W;Awd3bgiFzPn2u9O~^j5zxe=>~PkvaV^+9ppui14wD|E$&`V;iKNT%V)U>QGCxB zzY{q-^fLxCg)eNET?}&gn;ds;Rj9Hj`wh{=5V^^P37$z6%#!@9N1ORaT0ZrVI>=;`xIYVvHfRGO2-N| zL6?@Ur!hh2r|j*l_y+Z5%yvFTXZa;IGGKogUai@&^Z64rNZr9o*m9)mZhMZU{^HT_ z$;GR#f{R$^v`@0qkt!YrBs;|7FQt6DiA6#`i%=d;+uI@y^4>1_=KLqPaua2Xn_K=w`}g-R4l}X% z%D=;vU(a1YEJCk2D(BALmH#7voE;JWb}ZZ#L@1B@ABB^GnrA*QjOMBJkPc?@|5`fKi78n z-ePvlBK=_2PohvV>ON-+zJv>4KOnR?j%GDXp5|Zue05`MDwe!tl)~&?aztD}eHND=c_TLJE$2kVq(sh~Ts1 z(nwV!Kyy+6aQKoP|Ey<7%bFX*%fnUXDk+%5YGG@~KodZW06I|)x>E>@%ox<{`xmc^ zg=v5VtW`~~J2pZ828ec`8d;z2aox$AaO)>hv|hvga^alTgI+!q4NVrz4z87ku@K(g9^zAnWJBeQnE*dMS{ zh2Byd?J|-jRPtE~W>eD({_WPNA)~B{$=<1GndG~%c9R!WpwFo<6<@C@^dZti%hmfb z2g>@%iEa)SKYPbB4-~F+V3MP&<5?H_ueb{GCKu!gp_k*kzeo*rf>MM^V$ob(Ghty*gu7uzRa^`?0$j)_LHhIO23Dtm@z*Rz#p znXK!6m7w-mJYTgluq0-2;eN+hbUn1Y(t_fcl@2ua&;)jgI2 zaLzI>vX^9pHpGRiZcA3=o%cnKfDj3AGkvqk&EGz?_L$6+C@ZrT{j8P~(En`5sf7f( zR6~NGhT%?{T19DMVqy$b%^tZDzhOOnE za}#Ld)FocqZ`cWqA#8bIgIY?ZhV8vgbMdDQpY^<=Of|1T+coleue3)~Z-Rof@o$o{ zrzzBnjx@LSQQJ~vE;PIo%5Ud+Kg_2Zz1q5bwt%)BM|*u2z{*nOY@;UAe6#rhap8lB??3k`9^yxPuVot3(?$I{h4Z0d+Jc*nia*JH`{Fr%)Mm8y+6#J5ZoHd_ksr>u8JTwh%)SSaD zs#Rfr$d_{QQ<_jNa5?orVzx@o9ccFnyI758Vd&Yu-{iNHdOPrAHWe+l=a^SQ;cvU9 zy%*kB!?*Dp+?OhHGuhn0IXP;VBD0>1ye<)C#@7dRzqQm!h&otvT{~}l8_G^PJ?(vi z5NX;u-%lT0wZEQa8uTiOdfJ->_Cxf;;&~5pa=G&t?^BS_Hz1%;YsFW-v$<46bcsh1 zs_+B6x7SN&r@&^d=*`tfy#Pw>en`=DQ^sXdZDZFbB#`xg?RC}FTJ z;Oyt#CO%_!UAFIp_0G~{l7!3Up=gl!bP`^Vvj%Ktx{JX{yLYxZ?4uYBrZG(M_%-Bdxi;38;-)sh7?;C3~TIKPC8+^#EaDfh?yjK@NRj43JB! zi6R;u`ihT21E?>y*Q$K&q8O*J3tKCdV^)@vk|e1Ak|ubMS(!A&MA>Y%djEv!NNRPp z1QVT+gt1whNRzT+>R&5o_K|}Laxj_Lc^~Y_{`&0&z#+zMMwPblfm*l-+A)`@sWx5e zEQiu0u2DQQ+v9bGi=z^-TGN%*)`QxaGN?3JR3{S6rjqx#3kK4z{=EGpy2cJ2GLfrS ztK>KEyp=cXR^>c#UHgj|w@nkDj`5L%D1F>-A==KRQuwDOtHnOukUu^d#R%89Vktr)tmu( ziPON&e`2B0HsuAq2Tq!rZ`M{EB$vCZiErXcT%1XG!}zP_$Li&3Z+n*YVO{$x420cT zspTT@3JP$u7&QEfWI)PmgJY0f>q^xBBhsMbW0i~JcSHFn~mxeInCwnmBO!QAD4z*{~Ha-ulg9!c;1Io4TjmWa^w98 zpAMrlHw-8|4yg;WY2euWQ-e8r8*CaEo91^ePqH*fUNL#}?}+U)YjwcnJe~2qfB*U= zCT50QU4q<=<-g4FkH$Y9S`7jIS{mc*(cjXjW386PX#oX@Hv7IsB`=Pw`(gYe_!ZaZ z{EaKR&7Nlu|B${HL2jPH%k^GK`v0mC-f`GqPUEO=JKIoltlEfPMNwy=ey9QE;(2^t zFvzh6V*Gt4chLXcXu9Ay{^rp<5SWXG>pe?XIEem)sBz!$^|wt`AL>4gH=!YX5SNYH zo+{S}o>+!*sj@ks?X*d&2d&v>nX@guB`$W1lscC$jew|==?CUg5QB_yYl0AL^ju89 zeZl6JV2l|rhmMcuCX@mR|9l08n+0O=ZaLlxo-GWH2yr};Z2lcdeva3k9w^96)|snR zB)6Z^DYSy_B-Wr3R|bx7KRK?OKgDf*eIR{g2L%N+ig|wjCrc=nasw|~#V9mgVfZ5! z^k07pjplQ}3#~g{DQ`DeJdC{t?4V{5g}@IkUU>S+2O>y6C1~$vGW{)nzr6IFS`V=O zd%;*`zyzqLCSZ2E&%4=g;m?U0?0+I7vjE-TexTIXia0l*n@5Cw0+??bgOGQ1>3ekG zb;({=%oFp#wKnUk?O20jrEIMj48s>vKE#+;WU2|F&+M!|sVN6Y0*zV|JQs$lhIEj* z+OGz{pn7p1?H2+rzPUgG?St0Tx;6e2&wdA#p@gdg5KuCeK_8d7zM`yXey3i(N%B9L zCI-R{@h5rtT;__%LDJ4;(7+O-?2EjUntbBKgu|H;&uf7J;)($lBea-943!eJw zG2kTD-iIu+3iJ(YNs{y!@@k1_N(P}G6|ZeJtb>;PY*#NX2mjzlR39W_%rha|u%6-t zUW830cxM*@7f$Cl^oD+L0)zmK_^R_NH*6WhO%(#NuRuJ3h^!YV#VnUE*Q_hcXQ>T< z8G>p+iEXPETHv3ivV&$Kd^~C7&$kgaSGSIkU3X_J&>#G`ZVA@oy+l;J)An441c)o7 zhXe?8py=k(1?$BMa}9J2s)83XsiGe}dGeNkms7F?8fz_vZIdoi?p<)S`52ATh#B6= z{l*R$Q^g!au_pm}FA#}m?3vXeidXGg+H*?1E>}^cd<{O*3ZlKME=awbEyWmJ z1n>8Fnui$BB#M*)5LEV^$)qB5kdI4OlTWOkA%Zoi!+XHgyGEGKmF>u}DYpTWl%$3R zRfS}pA1{`txI$ksPvHNF4csxo%Eiq$>FWfz!q4!9-=%aQy2t}dy=yKtrVD(jhJf~O z5K%Up_?na{g6t!HD90(~d(mWO5Jvk%;-sr}qNyyfs^*AA{HX;@qwiXo*G6-SDL?Rs z))2-JP^|*7tQE{@I})!NQ+~k8hy;PZ))B7ad)Umc6qev_eyn&G?Fs z1MrH>3Y)QDbXBCh(Qjw5@alRD`?@7Sj(_%NT-rEAE>_hnsbqxl0}Qu$gw<^OjV9Vl z{Eo$m9g=xq99|}91@|UNP}*C*0+j6F`%LdL0ta3Rck)G3N=5^nQFQiD7j4OcbmHj% zUqBgGl{{VX@1swCgX7qV_)iLkWl~W$nEpge1X2v_ora$;-L=G3LWfLZ{~I!mmYrR6 zn@3NsH+N|Bt|k zn%n&Ea+(fxgO@xbv#r^>NCE}niniI)G2q8gDCxF8B1hO7$ z4*mtH=4Nd-&doEXOvwtUwe9xlyCWxv75pbprg16Mq}adZe13=B6ZRS2k!CJ4p{eTK z{$nTiuomti7`UnR?a6g?KqFZ4Pe7C6vNxx08eb86K^TO+mEgNmaqe>Bt3wFM~oa(;3u*rWvSk)eLefg7+ z1>vCRknDf!U9N&Z5ScHE!0x>@l;--e1LN>hgaiSCBy+QF`|H?+9uCl)r8+^bgznv8 zWCBPy6FWRD-F)25hZtkrWBhTedqTdt5`as*acnl=IQnFAadayV@(fePhlh_H4cG4w z=KnyKBV17Y6-W z;<3eF{1}nm=J-Y<<@N>^Y-Bn>5-tFxnWDLQZdu0|G}RlQ(f$>*Bm@}BltDl+zA44HW&C$s*x{3FE?QeH|M-gt%gPkCg7S_2#jSL zeBkoh_yg)6@IfZkN{B^ev#yjkm{2Y`j5P14-1WLIdT9N{-APb)EkI={pNh|3vGyck z9;JY+bK$Y_qf`LmlmY8w6F<`L|5Nv}hz5N#FiYF969~wd&HCznF2EUdDQ|yor|(<* zgFQQ|DKHG_1a>Q0D%V%3{pAcgq3d^A?=3X$X&bbkW10IF@4*veuNa)a1U7s{$TAzH z_uCbB=_F(3f$>w4*A&UsqW)sm1*li)U~##>5Z}B2W)?XxjXm($&_%(t(cICAf#wBN z%u4M;SyXgk|1W@}xU7EnSRFHt1`E(&mV12Vr4P`h5j^^ULrQ2gPZ!*cal{v(wM9-A z`vLh8dOaI3q%eepKU-Xyhi->x@o$e$_${CU>M9YX+MNV#Vvf((Q$=yLX{ z>DI;u_MjI}Q8jP;q5$-UH zM!dW0_|r@@Emjx8NE^3tSR!JW@5nOjA&@o!Q(WiM>pu)lApm{4*Jt_Y!SjNEVEb2` z#ENM&IM=iEy7n-4yhw5AQ0m3o73IpUN)HkWXhOW$9VYSxmYs_&)@D~&h@xpz=HDiY z_J2g8W7`7Lj$X7$N>N-$5s5+w;)srS6mtw;!Ath|&|UKYr)Bmn9XC`FW>&9W!@^Ii z23ywwqaPr8>WR2xH7g5sda1&NH@Ee3lA);nsNtU0 zHc$)Vrtzou%wcC1+Qic5M(?zOVt4>m3?6Xv7sa-4%CTL(%b(51!x%9a|w;~QqEYiF=9 zZUMc-h#_4D01CTjq=rim&saO>OCI*eAFES{($vT9MIuI;`XnY01$eW?HPRmE6uq>< zEE2I8rhTln_ncec*tfu^xHUdHV*R zc>JB9sX~5B{R0`&qoZbvF>XC|)KclppNhe6s3_-J9M#|*q)+Iv!~O7lLQ{!;0U`e+ zwdjA*gkYVU`}FM6prXA9H~GH@iYe(T7r}@3i|;B}og@+c8gVoPPZ63d0>)WLiA#yt z)@%tn)`XuPT|n`B1lXGuzptMfJ~|g|4-eA1(r2&jg^!(-hZ_O#v{dpLLnK~W{HGWp z2nbgGYwzV%WtcBYY`~JVz-ld*km7bXq^jv4309)wGU{Zmzx(<3wWHU@J$$%IFAnl+ z-1Us92=M#Jg(8tMXd{@pxqAj?pFwZkRZ9^xs>Dl5B>lJ`1qmpPxx-r7K7&kBHy8+| zLm^+j-1ZrPW0Wi}Lu1YZ4uA1ugFaUbxrKC&RvrFsH6@8#0$sMnltf>dO;!f7tdr9T zh{uaL_PlFv4Uy8&VK;}BP3S=ggKnKMP@+QKz8&3|ve`R^FO9hGR@Vc@^woSmfKdB5 zV-B0SnsN|va>@*%7rkamBM`I{7<~UkxW3+O3DT}k(6y7lWL3Oti z012(O}<}!-X;qMl0XRYMgDxoktV7)M? z^JZ3IP|D=BWk0BfKf&Iq1D^qhXIYawH4c@EI__r;@DjTl#G+F8b$esM=!0aewf~mq zKameiJo}3xngVWlF?{;4<7cOP+u_++@vpP<%}n#bzt7He3-xuDb|_&mU%gd3AxBgC zw4SJ{4{Xp(K%jHmWSb+BM=!Ginjv)-7%3E~??^=Rq6dwP?>#qD{I8QS);jo(kT>owhKdd=Nq49`W?=+-j(uvRu7d ztJ@r90EX)M&!1y;T~)5Iw-OZ<&2u|}(>p5UjfR>0?j2^~tLJc`t6&d@PccLsO75Bp zDN73Pw`&W&Fj36PuN&+?c+ys~aZ-SY^ zp+RLpOw_LNDXYs;ve<_w-iKo+9#@7|Il9`a8hbCfA7C{)*StV}6 zVXR1?l=4Aw&9&gBx!J0{^#HZmH*)#GO0)GBMlu}r>nvE&oY;JwIicvZbHN@O*rbDX z@5Ybsl4W)I%-=o%#Jf+w0@Z3H!vb*d%ZeCok zNXp}U1|z+#|1HkA@2bf+gk*tHmtPQVBY%ecujG^5ma!I`C;F`n^RzekzKJveTqvJl z`)U{&5))&p(-^#77j{otr!Z=S>#tPwe2o>4sQgU@BmjJbeHG;mt-qx88BP8|ryRwn zu%O5E(g9^`U(3|Rrl>ge2qSdPNpM!mOc~-FQ8iSe0t=02+ zu5?gmif=vZ*YA78fBf>2Tq#a}37GU27904z+JCM4(EEay%9xd{7{dmMrY#;HeHVVpzmmcHI~Mn)1@LXE&>B-w=nNKbHz`D78%i~t*A@MiNv;IH#P6!FeU~oV+W0TO{tM_|3SC=6I z?}M!gfByL)<6@5QH{+uF88^wFc@#9pcZ5)~&|z~?HCi>}u5Y?XL7KT7UBuVS7Yc`@ zWI=5=s01rR>gh`@z%Tj@>Q=Hu?@Muny3mcume0lQ?7Ozdyk_ zk?5$_Fkaw9UZyI|PhNn`+61}-cT$2QEBTIH(r<#xPqkqXmJ~s;N(Bzxba2-$1PSeu zjaP|{l}F(|UvTOq>Kp7y1+uqbBTP7J3qB4eAno1%YHIFuT5ZPhST#KztStA}+M<8) zHX3tTxQJJu@U!Wde@}A%suI+ac$CV9$v>23Y?yiy(8B%y(e)KjRb}npq?CvP5=yCb z3ZitWAP6Fg^rcj!JEcJZ1tpYF8Uc~+t_zANNOy=&UU2_+;m?h^T;0hg|6EyAgzEE^NS8&Uhz82_wvq-R96$z3U`_l*}Ekhw~7!Hg9%j z^L7$nP4{oQpmX359@sMW%Q5orge$+!benbnudueT9W-fA-5_a>L}i-yENY*LYeYNP z(*ORrE#m-hZ@yx^@>X)Kfg}5ibxmr^K~e8PrGE0l;K9v-V#AlTz2%=b=MSoEKc{b9 zwg>=Rku{AsfI}_Iu2PcH=6u6hD_-2mmbfLIL|B%a9jLU`Y<`Q&PL2Waw~%Kfn~(Jo zI!?a`JIotZ?@jP5KtP?HRIK*^%>CuNrw=M?(!ddkb)MJ*aq?<2DD#%SAre0Mg;lRz z>Fx%_7VN9I0!Y?o<_3vY)T(imcM%W<<$88-1YNvw1+xpNhoRexgz*;#3*eBF^{k)Y zdi-iSgzfKMY7)r?=s>H|c>|@?4|Qa_O_uIovs~Vy733>T2f$94sax$H{_55AN!wlW zXCA*KCqyJIugpVOq8yw-j}}dtGuV0u|2s zHukpS5xAACR$gEu)_|+A0EH`d#X8vQ+uviQipyH+cPc_U44(2`XzpDy-23cHLcf@X zzvsHxMLnZx>qJ&^%#sm&guyED0Ay`8B&p5Ep4s}gLlloht>LzUjKZeU|BCNX>oC*a zX>jiE<2ldg)}w+E&V_QBeOiem2dfrQqqu6CDGqpaE?is8^$qIG)audobDRS7*uIBf zSu$PXJ0|v#5`mca*N$oVte!+M!~mJb)T^Rl$y=WE0j_%|n1;Y;$q9%?XSeSDtXemq z-Hy|vt2=oNcf_+}5&~1lx=-=ZWi9Av;6@7L@x)b~S3;*Jxh3>3l+F-6@g+XhKP=|5 z07X7QX$m>^;1)FlDH2RICR?KHda5p=HmgMTXEyd+546wOd_UR1kR!WnOI;GQ`+KF9 z%t3>ehopSW_q0OdC-U_pDMD)zrN@pqRt|NPO)i$wyZN>o>NJ&aSn#a-U-q|0F5R*+ z`X0_%qQTBB=H0J{2W=b6vn2fBcdVxt)D>TLf4AB{xo@6EX$50Ax1h@Tlsvbc_1yHV z9rxSS2d}Oq!>n3Drwj5$!Vh;WeV3Y;1dO3?;Y?8Wa1{_RWf;n0bx0C zw9(fEB7@O|f5o$(o_ltewNdVzy7B!h{h{Ffw#6ZLDjS!Q=N&qSBUa@$gIO)&)8JVj;4^B-LAG#&n54T{Q{GK1+MprSdhOmt zJhhs_NqooY-WoS8;A?zn(&ufoDLX_JyHYV`gFN;Uf#I{az;{se0Y23T=vceHT3TKE zIYblVSd-=KT}iGk4jV$X1$N`r0S987 z0OcNfD|!j{K^1Bz?$Xo?65zdd);K9@V+(L5NVc;7=51Nxyeikm&>E zmc1&Y2FmqK_LaIG?roLQCeBcZh}uCc$mt4=G8Q_*G; zLV_9R*+cg3VHr43^DeYq+K4u>X4$AP(aBI1Kc=XoVNOy(AAQr74pJ>9C@R~RH6}8Z zQvz?qi4QgD%BIInhP$Xq&L>-Kgt6+>YG0QFSK|4O!LeJ3*B;h255>;yHI+4O$%+-8 zasVY(Z%%#B?KQ&50;4WC?wKdbxam6TZOd+BkZpT(@O;M2X-2?Erh1q{Jt^ zLXR=>>$`e&B8AixZUMQGFLibGuf1<3Th(uIxld&coI*KTZCh<)HR47*eY>!;*?KxM zUB63{u`#Otbn1{-J#iKNBI?S7yu=F&i0~8OicgOH4s3I&S)Kb> zwyRrvk`N+e9Jg&^61FrcRLF9 z2?44zYj?cG`LB^JQ(WTge% z)GrLHJMuD{S-ztxY$0g;*BPMXIHq>^JJkhS(*)@E()_|+{Q~qbtLc0{v>e=FXpo)p z2soB0^zkj`DMh5wQre(!-)l~v;n6iheX?c?_%*@fqf9Wh{nTP|V6vTbQO0*#i-8j) z7$kA|*R|FR1Dx9@qW&4JVNgFe+Rgg8Nff;bnHpp zseoT{rfGfo;|JT%|Mjuq;Ino=C;C5aY+%)KllV}D2H&S?FT{@)`=Hx7T2kkl<6Da#D8!suV_n1^JqgzZhT zh-}yrQ7>=(I0(gK;55gInG)by(H!#vpwks}sW7oyfVd(uj7#g%+h#5b#mS7A!l7~p zEgEp~o;ap7=dW3`7+`Iuaq@FvWZOxOL7smX`&ipXEGo{GCVTU1gQ=fxCCjQA`bJf zHXwY>_ZaPLkxyEO2YSu1d(Zs2*!R&#S$KEq1px>jSZljRuK}vFOu$DrU&ifyK*+oz zm#Gy*y1iEZe;phKH8I*Im6H?tXTnG(PR^o!Dai{V>QM{gdrZ@N1`a^j(+kJH3`nrF z5CQIo!5NdMcPP$X{2ejA!{JEEu6fJYQSYH?q0gX$gNTQxIGx5PQxN;)6V7FrC|_ft zaPt$|0Ua}k)SFB9J|2b5aBJQRkIw3fNth$(YA%6}Hwv=qiD?8|b)3d<)ua^-$kF=~ zJRZ4o+10}n)f3%Xs1{JKzg+04J}5LMJ%9tyjPonQFVXsh2WPux*jM)3tww$as+7NGtP#j_i6y4p^c)#-WHZa+Ly<~K!G9v4C)%fJ^duotk!d#cqe zo(|aRTiuw+3UzikIscZvF$ac4-SyJg5!N}z(?3tixLompsW@&%%x63$?_=)A;CSSS zI4#G|8LMP30WPS`AY?nKpmqyN;xjc18{B_PsNS7_%!`f#HtcI~95455H`PE=MwCin zYV628$#0_1oSgK55hC*VakB}H9u2gC;4J%;R*~y#S~yg0EF(!J>xl&*lA^r21v;Xb zbYCkDby3%EIbl4y!xIld!GsDjh9FXuXDWlPoLGj*%Lto>h>lXf)fcHR9J6M96y@b@ zbaB_3XHv3jpc% zY!pBMY5V5Fz?APLJDFtfP_i}vyx;w#p!Z1t(f~qio1w9iy&(gwwoVy zmf^VbE|^Pq)ORrSR?s`|#UJBgFdZ@;szK&Pv1d5lRb@j&POT>b9b!H58EZoJv!V8- zSpjp~+8|UTvO{{F`XTAZ@fP<2*$olw%!*yFsWcsv{Xvhz{Yy6AWP8dNCOU#`+_ohF z;}a$PKHkedL6&J4aNp5|{p+(-Ljl2Frs1YUp1L2j3gJ~r-C;hzV##+xvbQLeET>_V zTkyU?oVWl0MO1y{td`{U%485aIvb6w|w3bYmQArlo zAcXVugZjzxxA><^!mRhafQJ+Ci$X zHWVg8JLfupkBH98rT3C&j`w-Feu}sYTjUr0nAQJQI^=TZa=J>$Nd}WP7E5Wp?7NwK z2tEq{-R%#at&Q0OMvbgUD1|_rs#xAm`Nrf(+6@3|xs9F|DQZW|e+oJGR;L3^ZsDRA zyH^Hp0*{X8JF2kO4p>Az3b2czaq*}3Z<~@$6R|8AE{!RVwDj2zRFgR9x~|lrs;hM* z*I503EUwfkcs^E(If3JlH#Fs5edsgW5eYY@0Kt<0re;K_^1+3%IR6v&()GDN;z{2 z)ywB@!-)zRt+si9?ZZLLi`zl+&wtJ@1g39IqwDSp--1J<9D zBD#(Oq6KguTEOhV>@@~Muc+e#RR8h3o6 z4HY0GtX=?HL~U(L!ic3hkK%CE8u~F~#Yfgz|KvVDh5eR!KjE}m{U#@`sOV6m4dh=Y zh&UV?xr%#X@IXo7diGa?Y~<5PpWgI509K=E1+5qchGlp248*IY4AyzF*&`s{a-&}aup+wH>ZBU;c%i3c0T$#J=Zd*( z_5vW52`O8MooE;Eyv`Q=U(#cv^fIIE-wb8T#x-Sk7`7H&d%)}hgG`RZ;daYIaXP@M z;R4hnA*zS&Y7Y;jI(C3AOX1xmUv_$ST^LkRLxh`M7r=#O?r|C!)unaOL=P$l zM)kiOEJz>T5yJj4jZ#r4Wi*1YeGkXhgiDB&O#3Fxeb4H@U+u*ll&U@Vz{EwUPi1Z+ZaJP*dckd@BQl%ueX1Lg`c%C#=pm zIb)YX7ZRfS%z@q1<;Ex+;qFSJiHz*$Dz81Xb*OX`zELc3q&Y(Q$H(Hy4NON`;JE82 zUp8u-eC9d139*mDjR1RQTNoP~BXF8lg^_jmK38OM4opmu-UE;DNXk4rIre(*1(n9? zhA9K85LVnc#4f8Evf-L((hskWDXe2jS+;}6w%lZ1R@l@ycpa69G8V1|Kd**YAXqqUQ! z2k}-Fw9h~c|NN#UMCrjepclE-|L#^IrvVmyw3v%UO)5H8Yhk3=GH!+_4a&MS5CsrO zhCe&Zqn*$Gd?g{PZUxKd=3qCoIsx)y$)orsv50(f1LK!WmNg0M_3PI=dtctD_^fXy zX!zWbOs6tkOmn^u3G5F5r@s~+4kEVBbz1<#2VlX!L8Q%=T3iT10tdt(<%fyv?z*Z( z`ZGZ`Ks2bnRiGBY>#go^OaVAP%g+(W^lk|85_nbuWdL3pgKn8;D}noWlt8_wpCJO*YSx zOhW`$5iCC2MCoexLBq=}*!4yQ$wLFgv|(WhDgoHgT};o1Jr3PKM-(dt5X?c|?6!GV zS{PBh{epJSdmH!cMbm@~*!TxPn8TIn9@z!PLfrZT!sZd`OJ=X4=HO%9n`2O0cuNH* zJSg;Ljq5v~eD8tx_h30{jAm12k^aM1$2(i?*fSGr93%@_p96S!VK2+tC0>bx}c?4JOvm7sJlbEviY( zq)M1o40Xia>5e=izl1@on}La8@r6{XsJ+s*(_;;fO%iAEIdx&iAd0wY`xI0n$D^>E zm)dp%wi5H#M;r$T9PX{Xp2~pL2cE&!J2kc(gCDvdT3^B^C-g$=^_T{WUuExAxqkh+ zjYL_to?0qM`4=y>^K{(;+Ei8}Z(W$1ImMEriT-{ao-Dv-#^My? zUp<4=SPg*oKW1Z}gM9{UDb+riGwiiL$ZB|#nOmX++a6(HGRd=~jZXah#H zy%SF&OO$fudCcdJTkmg!f<*(S^Na(P4ciPQDQn;~&HD>JPjr3t#t+2~O5BA_mj=@^ zu!Vve9t2HHHz%j@r!0fJ*GJvLdhYFiy9gfg3c3i`Y~g<8vLUz*KueRhjT#gA=!%DH z^FT)wB3h)6H%^<^c;gDuCHyO$ZPfY&WeA0rw;si{k0vr_nK*$wZw=vGrXGj8BWtdA zDK*7g@ZSCypClC!O8oBX7eO|hRgHKMQobGg0%nP1o@ZPS5Hqz%Es%+sp!F^CICS4~ zf}%8sdRoVl-C1o!>W?sS|HU9STYfT(ci~; z8U@5B;wkbyN_`hfMsg4#EmA5ifAi*6#M0ESPHwq|dO&-=-7f;zL zI6PQ7ECLFBcfExg`mhPcJ-w(zZJY+pG2gvW-}}ubti!Pf0y<(X`v{ zUw<{SDXJMD(0VOx+``Yb1P2LN*l&3X7(pAsdS!0*X}S!$AW+E)Y9+{4(tEuwEK5DW zxVWATk)fN-B1`HpW?|>wFJE#KLeR?r@P=J9YDI5U@PlPVYj~7+2P5snh)d2phSrrx)a!eJNki*E$@7}+UQyYCOSPQYYcs;Az;$=@K|Aztvp^<7fD zP^4=@L*6g<9-@0>g-^Mm7bNmEKr4)C1TRQYhuD`nZ@qbZy0+N9QB^=;335Y8v|dl5 z;XK{3U^!5fIX9*fB=<`l{I=9Ap&jOFE>Ko&gui3CN-x@VCF7wrJZ#w#PsH5!N;v48 zqLnssk>B}5MpCRGvRY(4!7s0}TM=uMjXhr$L>6rfmVATF0!Lqk{yhysoLMv z+Da5EKUMQaM~4R&_U4wx7Qn2KWk-l0diPtbGWX^=tJg%FFl%ysPr^;hs$O(<0joRc z4IQ|9yUyO3O-3woLr!0x_a#;6bOESQO7|ShfttW2E4<%Z_u~0I4;1tf?p`utP2l!R zs>|sld$Z&G(>48V3FHCA07~{4O)`D~YY+qHnf2tUma*8>js z54Ng{SzIFoSHb%2_L+)1E+Xz%2+3IxWn1!&Toy9yatT$w&7%xXNt=d`?l|19|BxE@ z$9GBF(+&+XHrd1bE~X*i%2nyORYO|be`wl z?;<+nRJHd+*DLS#tAPw4DnH%9$UVyU`$M_ij-Vtha0CvGpN}L%HEh+~Vf!wqLyhcZ zUeP$~?n02d9C1ULt)MkjCVpB>Y3V|;d_i66aD-0BivOedKn?2Uc5>lR2` z&7?2mmN$^2#8FjdC-Z(%4qnHx2zDqgMbZr)H|T?pB;_qh%mrWK({Bi$@Z7!d?i4Z% z{5)lQon@0Gu?%tTH(H-yR2mYPdj3n)vtB+2T|0gK} zL`3aB?_wE|e$5U|{A9_zTq$McaNL=*bg z+x;1_I4cYwHM;IZtH5ngi!{`wM(-Y%tN5J-p!xI8{J2VBTL-;q9G=ycS&@`*`BW#k9_vW%JTD#*?Zg=gGIDefU+t{_i^IFE5!n=&}ua5W~ zu`_aM^N%4^2_HxN)tZ+Z67X_z687qT-GkMLCz&Q~vpZ(H>0L&_=2|)eKwy3uYf7h^ z;MT(2DEiYKbkVr|1GE)<+XAMA1n~fMrz*3!z!`6Uz#h_)gt$FGYo?Ii$tIm<`5)cX z1j*h-{aPH;{(@BF&zp#^T3g2r6mSj;^S`Y{^N_-m3nFAK6O*(`=tVnNFg+;xNawmN z1*ghz(?dl0S*2v&9jH{lsrK;~z6Q6;t5K1m^m3la)V=zk(s;EvzjMj|w-jplc&cpH zW~p>KDXDt0kebPT88l1I!?g!d{KhYSN7N(r$hJrm1zWr;#Qrbb^w?3R;8^%Gv)%>D zToHb5f zxRzz^O^N+Z^5cg)J=G5KXw$x}-;50sfe*fky9h&QWgci}mQDOC^a1(QqI9spYF!Ln z#GljdWQ~h&T{7*Se}M&Ir&2$4g^Rf4=P#MHwr(!=nPx+yLb@L4Y2H3usoY(6=qW}_ zOij^39Sd4evmI5jB-R~q12L1++wX=9(5Hzn5vBfQPQJ8%0#%%rre-8jiN{8|t_I-J z`STu#h=?Z(YZYeX@_RE{MHEe1ulf<*1>tUpOeFT_QXIgx-t%4yB6vE2+F9aUN%NW@ zo#d(0JSXwkze-cI!5JkOtA6aR;1YY=l2TR)5}v&1-RSMc!Ks`7$am}uSTCsnGvSh; zMt*x62hyclqb7t#F|lqDkVCG}M2EmNoqmYr4m&(th{5wDuWPTLTigt!ktTQ%#_$4H ziYZc38t46m`0*4ybhK2P;Z--nBg?7y%;ybH;Dj*7U&S83qVSGYs(mPg$7UGReWlr&yWp7m9%;N0g$d_h2dzGy_>2DjdgdP;ZBTl+E48qEk0WjCe=RY`9_~Q7& za8=km0iz{aNSW&+4D?}OQdY4j8S}-GYpS@XZl+)9ljjU%+jS77UoqaASX7oCV(n$F z&1`mWykt|t^iTH;CaJ6|7U(3@vacxYKB^xBHdRY@8d2fl8c$Udr0fj zE^6W0#NjjuWA2qCtk>FEta)4^sHL}C+uTM*axcGycE+Dzm44xU zBq1s3n_eE{XClq}`T6-c`^xLd9mNLI-Q4G1ETNKxNHrC-90+L6kDp>X!SF@Ah)V3T zXB6+CzbUlVGwE@lv4A48CSYR}K8G^dFm1J&Mz3>xMH|O1Q{Prn?In`pN z;T&s{dciD6$s!;wZz|vrAjf1lHP}EYUIVm#z1i>?xM0BmEKCP(;W3FlE2K8POZ$}V zi)+tMC0n!xms)?7u}-%w$y-x-tov{OkS9(9ju*_svsjtxI46%pKxBeb(dl&luZ349 z#VVY*Zs}*WAH7+hH2Oy9p*t#4pKBJFR6`$XIV>hQJs|3wpGSr;nQAjDygI&#XLuvX zjq^)qycG7XzV67@d|x7W?dHScPtR0Bi_M15;?deE$r>MHA?LWrlENszZ8Jf{SZC7U zbS;MC~ft7MmH}=YF>esW*#2nl*qhF%62Z=y4u*xA1 z>R^@V4%;+xB^P662>tBxe0t&&!6wrop|ePBz=@8%`LW!3x|bZj(b;bD>pYK`wT-Q> zQf_EoJ*0NKmC+vk@@2YP=U}wkYI_n%ryh<*$Yx6$$+1`4Zkr9uBGBu!j&t6lhKmt* z=pslJCMXu123eC7LsSiV=ybvKzk4P|*UUmv9rF}DSLOXURD2+mgCK>siI!X3T>PW;`ow6+OS-FxNh&- z8C&>gXA`R_&N7`2)!nttlZ&SxpI->(8RIflBOB0S#@FNKh0gOo3aLU3pv2XtEiKO# zH)nzIj}j^5Yb6Do(Z!1O^sXxTs0)X4?|M3=&X|nVHRMFs&qWE5{VHIUtR+LgIg2!c z{`j6dI3I61y^kTK>{A(E5%|p5O{F0KB9Po zso(1w{uKrmmTM-R?@konCY2FQY&?%Soi^ZT7PQm2+^j=G z>I)yKmwXveOB)?UW*5d|C^qXs?>mISRdL|O%k=BrFbaDSkTG8!`~V-#tI>Yc@Ty6l zNXE)8iZ_qkh`(@3?S_}BZ2@LhD`we+YXL#q4eVYpN_~d3iEqJIj)j1I$M?J_2>HDg zN2Ks*$%QEv6!jbYla9GJY`i>Tuycb_Za=#H!TtN6fCuJ+?eawccbRN|v1Rt>a4ubD zkG&PYJE#*qT@c$CfI00p5GAQFxK0Z?9-PSm3>S=1L7k~u*Sx=O9$v-S zLes23P|lP7I@UNeRh3iB6x9dj``x0SUvA8G&!OG{Z}70l8Ukk$q%V&id$9ki5wiz3 zFbG`H$`t3|?vTb|aF*}d5G|>sI4LG(`%D!SW~*q*ft6Ji>5M6b-E=&UfJAIPcoY

    >Q-!ln2~`FJ3AN%Qb}U){hu$ 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

    6Gakr0gn{TI&grmk^>g*FbTI<^#;@TZGmP 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�?D3ZJQ~r*r46$gr>F*B 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 M=kgN8&-DHNKW1JnZU6uP literal 173260 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%0DCYhuiQ6Rn?I26Gsk?hE zA@?-{*4`w4Ew@~qyrh|so8>*%@NA^e12ejMgIk2-W4sQk`Yg8gjrB*EI9(NG7|wQw zBCz!7w6u*v<-;J~Yz>7ElO&`<~|f~DXgjTZu394`%B@e`!axXZ18IYYy7U?CWky05+c`@ z^{({T4$mFcOjRG7Zq8yd&SItRx}l$T(*l}3;flV);2kZx8W1@*SkE{g*jmq&^5=1w z;bvT^jz|1d<|@t`PUkNjj^`D9{g{!TL{?T-PYkB~qIE|H85L!^_=)qM=;9CDWlxuz z0H8UP)C;6EkqZ2?z2HfPis>>Jw7@p=n{X_jHBb^Ys`++v@ zoB-6ZHp$Rd>L@!y{!dTxE8B!9_b&F8ful{zO8GKNnOW1@!V)hHUzU~KP@Rq}ll&H3 zZ3mG@BlP4xAto5vetxrGtysB2ipz*~PSTDF0YCKn=$Yl)ma{`vFMfub?0J9Dzbq$F z^=sMHHk!M>u$Wssk_hwDnm=;+j#uw)GJXQgL_f4ZU4sQR-_NFrz#UEkfZ=$wv08*j zWSmB!Dj5Q62^oke=OwtHQ|qtSXM2<5$(6_L0m+A-R#qgEh)L*#YeRCx75@vryPTj` zV!vHb1Zb~;bwHJLs=?*S>&LdsuieessYlF?c_B=BRwNDgiRTH(E0BABjPCs5?)U;r z=mA2^|AN&_>htIHlsATOal29_Vv=O%KxrUqY|ARS5@{4KVzaug%Ds#AY!4=0Dq1&$ zsDBz%Oc4rkdLJb6lqv{io4*umtjLpnKk-QIU@P;=d1%hKruHXK>Dyaq0kZe;o2&_U zKYwLneqFr0_~mMDa&lsHWqsUWURzr^pOJ1=o_invr}}VU3s2fb3o~$|5MIw&2iqv5 z{c!_Lo@*{wa7x|txSftY)#14m8;!n|B|*a{ArEV*MdNNk!$NQlv@xAkuZ$o-+uf@G zkDr5S(XS^`rbqQyEW72+>D%b@CQ^?^hSKd>+e!UZuZsL}-9sU3y(WM%baI}z3=buM zvWxQ11~)CQ>QD~DQ0^ArgTdik5Q!`~`0#BvvzNz>uar%5MoZC{Z@hwe~}(?zH>#@-V-74#!e| zze;CY7P2vA6Kve$$auuU{VkW+vm@uo<^z+v`pz1PEJV!`u$wV{xU(Xnwlf?*JtBm!K@nmU73!zI|wPWt&xEEN`k0^LK4q-9*gE)^=?_ z)p(Zn<@_*+arscj^o88AmX9ft-%XvVcAXD)&yU=WrvoNI-Di)yC&eWqT$`Ky1r`*- zl=|Nve`lUo&k~|Z$%FJb8A^02P175+X&bMOQXE4^JbqrYRAw$x2hDj8)O`Zjgcehg zg8s1*3Y{Yhh0c3rp0vGnulvwGpgdnCDq#rs&hkAs@kSOJg?*y@;C1nQZ>AN8V1D{4 zi!s9ueWDd70?$Fp&kirA6P&+L?ayZCz``9*w^Lq8SAvmm6c^^lX=`h1=ld8ugA|D3 z$JTJ(#D3371{vBJ2?jUa`8M9qD^yxoDJhdsH=MXm`8y708yZVSic*+5cF-8ya1n1N z{otzcXF3b$;Xz~el%1?7><1a>>j$nB#4@y_N~$TLj0AWG7%VS1Dw5H#cByB`? z?{S?Sp&zA+^le&_c?{uh`LU14Qn$L+?E~~70dV_uKRC<4W;i!U2sSP&`SK=AS92(F z-$nO!grH4oKuAbPyiQ{TNr>P}zcDutVW-O1o8oIyP9G`FcUBgETwU1?WdRx(TurAS znz;6e#6lpe=Yq>;u1W2Vbqi~ri|ecVp6lnVI?wTB6;n%(HpTsq?}rVVa~6Rqm9BZr zMFgBn!}H~E7CK{&KDB=WMIile8PRd-htqklrk;)YK-*gcbC4;~9e*Jp0(C}_1)t)B zc_U(qXHthj(^W!?+ zw8us#nV{p?&wUM5A%J^VtiIW=gdhTHoR>{7;CG8ZO|nxUr1089YG2Feg`c~~U7p{Z z5g90B!Lz$YQxHhr1};3`UuYQm{-U~+pdDR0z3@`f^rls#^;6Ma1E{}3_iG!7zPud0 zWJnNu^)$~)dwR^xqiy7LA^b1$@An`WokM?$XDN>1^5FTI+7Gn@(im4|4)?Hf-<+j! z9yT`AB<;**m^gP>LOp+LW1zKYdSG|2 z*roWc4Xioqvdp>A>n(4$ea6tn>5H(i`;WYk)3Q$&{B?-0KVMNvB)uQLpH*wz#B91k zlVkj%tFD#cn-fO?3VCT*sk@0>nZPd=Z`2S&3>r-ujc>ntkx+=kQ1GZP3(mbqI*o~G z&~|>i5pZp!oYczFW!{I|+u_)-O|}q`1P~ExgufJPgL}XAq-PUh1I%P(oA?yb3{y)o z_X6BLZ34QU?D&PAgH;kC+ zpd)JqmkR;Y7Yp+n@gET>cL#G6kc(&ln%g4e$O%xXIczaB01PBf8ZsB|t+m6-J&gaR z^lT{F*FC{?)KzzGDZPD%4gOP% zE`-uWA+O-SVhBI2F=?zd>U~}Fxdfm`?gtut^|IGNY`NS|x5_nZ1jUF0o?=U~IjllW z`RWis7EPZlbiZn8Dk|BUw#_Meo7O_8gIVa!RAMOTS!$wbS&+|qKI>y=<@- zt|bXgUxg}9cY=IkAU>e&WX#R9?Kzz$c22F2pgA8k|b!r7STDd6t zTt`m{ujC3c)ChHK@OLzwM}5w8Y@SniyTYmW%~E2n=v>S!m zGY2qo>I9qsTo#Zc22}7;#+3521UV$_w|y=nosvoNG;gD(rnY8TZL@~~Bh_Ane@KyX z_(e#Ns+7m0v!NNR98#`Oj@jP-G@$BnU?TiDg#*EUC;z=p#>I=6F<(qVEh{BkO=bXL zOAlDM93_y^A_q9vcESv+b=z}SEzHWVN#}LN-mN*m#ZS!)_nBXtf6W8 zbWY5Q?cWpFfCP9VIpyDA8ByIcC^4qO=DKvF*l;QOV?W3EqTwjT6<~8H+(2!(J^O6< z$q#Jqd@j<~4-bF#q@|9Mo3q>@i> zRFI}NCZ=npUzd@?VjbZvR`tU!AUHl=ub|gWN=}2zO=-W7{lO^_vh_M#Li!f`y2*Lm zo@6CaCuSv_MU&(<=O~z-tDz8j;>R7oRkf^F!GX=s3|v26FVv1&ZSSUDo>`Lw zYVvr(TR1p4C1v$l>}{?P2%-FS(#IvUIRbcNH|{z)dG3 z)?M?`BhSNWJbiPnVtHQE_V~g#o>{MojtlKNz>BN0SNfIG9L9ymr&P@V)PDV3JZ$<| zgw5M_BHQFHeySw2cKq*7yUd@}g+9DFs%>7AX2f{&K*`i#TO>cAtm=E$PH^nCbsZwn z{My-uhW)vLB8CSi8U63_ zfsi;xDC*ebKvVYFgEIam_NyWopXJ0q0MkDTB7uUSybif%+yaS{(}wbIRsXlxQpg?I z>)QMNT^Yz_C!ACK-|+b_EDa|d-8~-_)Lp1+%Tf~mcaYQlF(Fqr2+h{P-TXaf=L6U@L!bXpTi!s7a`fi0H$gbrelCjMo#6R z(*H6GK!DD-V_u`TU#Z84k?Z&5-^{=t;?5dv(ChcWp0gT;i8NW@s1DfjW9t8MMNs7m zK%F>HQ{i8ApT7?r(*hGMAsPU6R>}XXeZjO^Dnz11IKM6 zvZLDnd;otwuRpx`P=OZj1^%Co;RI&I$^fVyuz3@0)!>W&>6Hk8kom;q0MN_)=i5*N z4?wuO`9uQp9zQpVXRpC-eafEf+<#DgjSt8}|Zo_9gUAhxepLgSy(Pb;X^hh3= z1=y24BO+OZ#eZY=D1S>WK|u9Gd@9!}P~=l|-*G z0Od)^k!Pt!_y(F^+*@A9dA6lyr7+{anlCltF=%D}CH33wjy7V1qM=Q^1Yqy5c0!Z` zUJdFJ12`1*e!r*R2F#(WqX)uR1A+eV**Q5cx#-?1dRTNCtS@up!XIr+{K>hc2aEs1 zZCZoNf_XPQFb^b@;TfM(LEYyb#!uAP8qcD3z z#lPZ93F^JcaKue3lizhEl(fit?-nlNygAfIzfv43EG+)*-o!zN&0DAD-n$<=to@^s z*$yG$UEPk$ukQmqd0n(Th6qqN!jv^df<-Bi_gs|z^v{jfs1An9iNyOMTsH4R${3G! z8gy#Mau20#YdWB*e8oMkC>6tsYXSn$f+Ro)=g<*>^1&;HJ8Cx3{i zz27LXd@d_{?fY@UK2TB+o z1b@^k1g05^gbq5BG7dZIKTDl)R& zx$Qn2h=lr-u|0*uF#h9*Ux$2ZKH?F0WB{}`kTWibq??17#I-knuuPX(Ra%uN%!52y z?y9ksk(uv&LE`GtJ}1{TZi!=7C2?M0Iv&)HHq9i+O7;*7E6I{e=7$uUnh6#e=a*mo z6$F#!Fpu;0r8c$>-QtFv9#7ZnXgp{oC;Xo=GRiK-iA6lrQp4BQ9>h|X?KbiFVrl|k zx&De!FMPU?s&TsziFSaAgudETK*TJjs5qG1&12@gfTXh0$R>PN@g3_Lc6bfnOWMDvk(7U?ZlWYxs3|VUNEnTm*>9cJ7IBPxSnwr_&3Soukj)_ zywI~Vw{tr85%J5wE~3vbJ_Z{)HOP7cjQozfg}g>d$b7`s*IToFc39l@W(dZ{#?r)n z1!(PRs6^b*cLmElb71}wQ+ho54o4UL1}%h5b2w5BDBJHw29PGZAY)u=|@C_AFfBSmS>kR1b@axlcTEOgez2$Sf1<3s5 zOmbFvti46?@?sy|;uyVc)MIc(Q zZ=&zZyUv?Qii#_?8ZGqNL?#_cnI%-~tB0%By}K?sh6eg9pRoX!Bn9UJ0|D5N_|Qvr zq2V5W_c!^F(*`b`G*kcc$?d6f%3+aR_8R-?Ve!!BX0aFPd>GUsZh+;S$BMT1JEc&X zaou}?MI5hL+nxJfWzDyLFU&TK$a@=Grpi;kiIdVG39zgF3Y~C{B}AyNds&eNq$9p5 zSv@B8^={Yhtfsb8E_r_gm`jpng0`ruT%9$^G~GBrhGPfKvUjOVSm~EoPh0%wHg;DcDMv!hV4|VYZ%gk2sk#&5IjIPY90CR^fx;3sr4E-&oy2{Wusw-MzzMKf)K}Ox zk*eOQ6L5DLb~#quG=Q|S#bUj_>tr&Fyyj!6sz{=E&EtMWflm69PCnRNg~OQGUT#;EF_%%Tcr<6NM{pga zCZj*(lT5Ac1%oM=@;zXISDT#Yaba!qoz}-=-FrV`ZcdBD=4Vz zP<`9FdnhNP<6=0uz_VY>71c((D;s@XP0@0D_IU%_LrW6`9ub+7h?|*zeX5tGg%t$@O`H(2G8uJXH@TY?#n*P^~ zuWuId=)>OP9Cfk8l`F?d%+$IQeHDbtt5^x2+iT{aFehW9qe}lT*VGQPoy?>Dz_pr zUr-;xJcpM>jN+6ZDsdsu!-IuT4ye{@SdnRGSuONSV+NS@I~4EW@lYMoq5lakDfzO_ zHNc^O1aUF%Oz9B8aa>0Hnm+6H<|YIBW;Kkg#GiC&He)Xsi?jWF+BB}eUuhB#K@Iy} z$G*p9+PdJMc_^Q~zUhnGbXk4!5vro3qydA#udUq|&kR48-XfWf7i%(a5*%Hv$CZj0 zn4Zs{IV{fyynXxCmp!vI;*dXPQa3T-FEwYVWGPeon>*5z7jC1jxW1>*`O5sUs;LAW;a?! zsubVGMLk_(VtNO;IOQ)m3ii0wBZCbwh-|c$Ih(R15Kr92=lM~|kIyJ`R;LfaUCMFG zaUp_tKuu`NTF$sQSS)R>u7{TNvu@V*+{THW zM4sqaZ1VcL*jn^~Gu84`nvNbqX1xQA){Pd{CTu``VEG_DHnY0g9?O3-ZS2W%D6FG% zI8%kx(b2IzeQA?nglIk;*2HwBNt{x>7ih=^hxPU@Vfi8Y`uk4;5XVJQ#ZUgiESVah zOyqc7gew)nShT9RH{$_A$a7<^wq$z`x~CJkych^M4bpfka*rjuFiY2j?0d)~3o_Z* zE^9JK09{nfds$mWmK1jVPe$--U^oXUTMAU&8#sfKKpU_|w3hM7dNjP~Tc&BCH~g&l=a-lHNnckVI;~J6fG+5OrWdHFD6E$+Vy_RU+nkKHk7MI#F}+P7&FgU` zhbUO2UfO`lTQC`}=Sr3HQZq$^aDy2%aGj;)2Q`>6pSSgX*|2|7;_Pi0m`ru*+XC#J_(V0RIY`*rgDzHqY4RU#+k-z-D-ov$<{|`<9rVr$gs#bwLlUG|JPP!hV;H0j{=~?1vHLSBTlZ% zkXUQ%w=sW#?a^lBt84ne=sh0;(5U%D$M-|USksK;m>{IaFT(<__mOX%ME8QYcN}xW zfHvKLVW8vyh>C?hfnpaNYQs!9cY-vAfM0^GhE~4IJ@oULVTog1!_&s;wPUmb;rsMy{gr&z3uE6cz{3Ow6I51aF88sYHEw$l2ZRMP+oB4(BE@3~qd z!SLg_-#RgpnE_2#MeYik>rD@+btS{-YI+8bVP209@9hRc9>k;d-)5kl!cN-*6>DS% zrCz2Du>}|Vqrz{`z(?(gT(9Qb>sDmHF2%KND=oOeLh7%xBaW}c+vMpYP>>_mf*>sg zH=CmX&N)4=wi<3)yd@tB>BpavQafpBy`(2MU6~E8R_Dp4iS}hG$UxG$oIrTiylZam zfs_yIx@o%s@a&YE#ibx5d%>3yv_7F#yCHp)^Usw5sM6L!uu{_6jd>m(wK-gTvc0=LBGe63Db+e|uiHAmIy`zynsMaj+7BeM@VVZ6n@u zHR`eWkZ~G(37@EzR~t;@K}zIGD|?VvGuCO+IG>XM{4&FCCH!x{>|UWYtyb$A*xhQm z%t+=)_-k-vLx~H@*elIL7yH5b7a(+b%tX6)|JS;*~xOyx>NVdshPqv;D^XW zbh)DD-^ffE{|7ipO?XP7QV>-}K6?q+p{hsKfnJkg#vhN}BZnP;Lb+12`;?YubMFZm zK%9d}T}v)ea4h>aejfSE1%?!|sq;ztmtKYSR?}kM* zH9zuV1dU9hd%egGBjI{ER+Symd>}8!-=@JR#20#VmQy+n>{omsQT+&KGS;DwPp=?c zyIhFg2PRCpO@IQIqUm&4bW+1Fa~5$jz@;19?2&D8$?yC%f+j#gbYaC~q5h3iH(SKO zv69eUZ4asUa8_68B(|t^T4Ty-U*+W^SoNy5{a4!tt%`xpHtXW$EnQQ{rnkYxpKWdE zLA;>=7}{GQcXW3HvnK-*R>+dMiP21|C#THo4*1@N^TJ)=^3MhNRNktTDCpZPZrP7X z#1jE0nC@~T+JIsFfO4mF<{iTM9i|CPRO06;f~#|w66h4c_%?E&DNN?prE|NiO+*bo z;NbOkBt0v3V4cBOGqC3JybgkBYg<=?+$3U-mq2-&_wnjh8+R*Qy%Rq~XkvKlO>$*6 zf6H4pI{d9;byX%}G69mE{kCsEp`+8!TVEIx6SMMFH)gWt%0q%wfA<;!89$_StPVh& znEcI}@uF|rSUq8;;PPU*0Eki?yOUy~6)`~g{3)%_EN6R5c-vPP7y%eJs??LrP)E|6 z+RoLPB&3xqF+h!+rSBSYEPJ}k8jd2C6Nu`D-e^(CQXahq17wP@75}^_fWgJk8X8ou zKBVZ1fC&z?LTZM^#78EDUmmJhCJi(dFPWcDWeDoaJk(XH-qMLbSv*zGy8p8M^du!p zI<>;MeP9s&(DKV#r<$d7BKNn=>ln|+tNS|^#29|96Ocwb%P~AK6dQgDaVey5cuZd zyO{SQfMPw}+#n*Knr+)WQHB2~kpHc^(B8+$ zEn0f9;qkQPADsRQ_G7aN&8_xzebgiDR}7jYpx;g$q$#=5D-r~2LKuQ?%hjh59=>C9}|>7 z5HMXYTki%Lo_J0>txYWDvaEl(N}CTK`>vzfd_x4L?s0wp-WcbYFH^pg!p8ORi_qP& zrLKcTc{fJlWNcdHRNHn(LSfUxuLsPpRBFb`MIhn&%x?4BzH*MHSzKhR$q@uCL)~+G zEOn;!96db!GZt}0TiP67i47m_O0bLm`#I$5V^pp{u8zzZ7@41l^XBW%r}RABr%jrq ztSsXR9(8cmM(fqp6)Ib?Hb6`qaAzDF8-_TE=;xUiHstpk0z*3{_n~q{s#%Zrz7*nq zJ%Vh{t{!Y9(2T$j4ieIXX3U{j-- z`UWI`>!}7UMN7B*~S*Rx` z84$w)a7zN_4nO;URDD%IT-&m34-cKBCNZ^HCVhs18ZNJT~z=TRrvxk}xO#H46yks@HhDVJ_DFk+O+HdVNmUmnp(OH4ItFIG%=2B%;j$a{+C?nGZAOBW zR44+Y#%cflSPS2mYNZzHg<0Zvl190xB_+!EY`Jhh6bU5n{lU>NLjB2h&+qYluE%(f zv#WRy*>6=A?p**4xK^zh0?>%ry7kO2d1ZOqmKyaxFn+lnsQqD}Q|$M;Av}gvo3|n8 z?{^?XL@MacwAkExUZbLu4H9*fmX>-v9kgpCXS5ZauN>>{Xb-*d=tiaVwTyxAqN4d) z;E{ukOp+N95(1xNF9!pJYQW_s8*%L9yJ6|0!&x;}IggpEnbV3saEVBjLdn%S+kx}mDF7t z8dylExw1L@dPH43Wigk`iaKtuso4*X9Q)WK%B}<{dZv36sD5^RC!6J!GOYVI&vaQ! zl07M>NFCL%$8C+rdo&ISI6x<85@H0}S4uJR9Dx2JhVo{Uzj0=ae{KtcGgZU;db2<0j7tQ94ga1%FFR3twE6 zRnthTW)y_W;5h@P04tZb3l~PcUzysTj&m}MrQI^VT(l?A(U+*0;&WMDPO+;^EN$32 zZ#BF=@%TtI2w)ef9Djs$uM_6K#5W_;*u-S&T#lF%w;1=HUvn@>jmA4q!Qs)!;u8+^ zsj}>)a&pS>h^S&X^k;wm3|D)6BJW6TKy|(%PZcU+Mc@^WX{4tGlAII9Nx9I`2=V9Gynu&kWN9#i4FhN<5#<}bgWVbnH0 zW+U;WGV#pnFtMdoe0hj9C>8c!QBK+m`&+Z*;$S+ByKb|(fI|+$@~;-PRG_0B2&4i! zRqqGtBALO@8h$4ZwWXL^jZ8>q%X3Ee=R%lPs0lE3X!0ZSa!!JNQT46CG^h2ui+86i z((enE*LojBhRGd#;%aAnVdGkm~rzbJjaPa&u1F-0z)++v?> ze8aD;bEz@jfkmc~3KT7(w|88wS3sy_#^D&kb?{>Wo6nz4zGWtsXHk%Iq8a)<7I}% zghZ7EKVa8=Dx4O{-$@DNiMTWb(vZw)!V-rFl$DE=k~KoF_1N3VYVzyNdGlepflWEE zk3v=?#DTQW43LLB6f#-cY~i8m5^a27AJyV4V2LacfLd_=9?GiigHZio)zFFjh(wZo zb2$aYT-{{lfdgyNKiLayopp3O)MlsWWq@aXwjUA@2>XsCD?N6_P&baXVkA0I{qSo@T3X%-sL7c|2PFAC0E3Oqs?BjkXe4?OfDIuL1QkzAT7(JJ z@hU~4f@OO32Cv%vl>}{OZZ^dFA8}|YeXa~TQmXaDwHz7H2%F6@W+ODy-@n~>PC<#$oR!ZbU zBk*I25-xq3Ckzp2-M7^IAQU>Ec&SI?N2(t(Q;7umxtCN{YJ5fH(Qs0v6YagcGddS{ zlT)-q_PRf=&_BPwYnm`rasUti@qhnNRmApQm0amgk864DM1}8RjZA&FriOest4VXl zG*jWB>f%k*vliUxvU*=SS2kJZ!FqEv12-Y^%#_TcU785t1Hhq^%2w1I-@7!GCt$!O zOOKnH2gE^6l;~NOoSXXvi@236yhLx%;GAfrA6#HiZxS7INnU3ZHyvXMO%;k)l1ARo zpO|5Y!?`mV^o@^f%MBM!dOts-p60ee6BHWR>l#248>p*&K`%Me_t*TG;+f5|BUH(% z%h>$0`+$}Z51hsQeQVv;c&qbes{jF9KYae+pB(D=LsJ;-mVkAli(9|yDh+S5A*W8= zr**#aVBUyp6Yap`N=VJpf3L$v@!iaamR7K%9}kn~^Hoo|%_>Jlr(h{LU01+H+{o`) zJdYkBh{Hv07~6dkr7QmqY>>~+E?-NF%K^hyws>g<7Q%Sj1R4^+O~&Tr1Nqd2|Dl{O z8HXnPvg7p4JtO$8q#9SvekgK+;Kdhb%w==k_Pg4uD5KOmxDuLl{oM&CyU~IyQOkRa zr(=onf7lxz83JJ)ja)bAU3N_?9%WMH_`Q1FOs#GEG8`v<_ihMB53qhA_V~c(Clx>w zvU(SmH;g!hC1MjH^wgAE5zl?I-LqroRDN83GH}bP_RY;Z@UvvL--_!nfhwZ!)+f4D zZz5FUA*9KxRoeJT)AU~pmwXR>8m6&p4)kU0ag{{_^93>tYo<@inZ8`w#l5q^z77ub z+PzUj&w1gimq-ygBrA=~S5ZZ98uyi~Z*OtN)(HcX-|cO&Zn#A&NF2EfV2Icr_yLoJ zhDoWrm)%QPKiKUH&G}`fo1?XX>(4pQ>6fCnX?=7tECJ3lT-BF`l0BUziP(DTT{#mG z-6JEf*U*E*+&f_va}VhHSI36Dd1wSI{jP}JA(dN)8HD-e02!{y*~ILR!*0vNwcr4j zc8dvhW#^k0H|-tML!G$T>1ex0~R#!8W$+BZ- z_fqlN+|>D@5X6@bm0J_Zuw~f6NTTv#UP83NlFaYUd8ll_X_LyQqkgsN(_y5{x`9u0 zz(^06lGhsy)zUi!< zl#`kvb~=h8SL#Ot9v;Jqh)a}hz)h=rn;OuNy(@4?w!1yZpdEO}uy^_Zg_Ifkt&H{G@O(E_d~}OGgVwT8^TO3S2#(Ikr?g+_s0enZ%o0av?ti zdPo{xeT>}iukmb`>)y7BINuM(9R^W^zr>Pms3TCm{V|3J+4|UZ=rgOW;Px6Sxy9RlQAhzV#rKwKv z*;~HdXW<3>OfJ-5Z{!#4mBVLKj=67>%7H`<_<+3{NnzuOHn-2s{-+h5r`SeUS7ZoK$=H(<=pskeT~Ej%lA7TNpt|{vR{f`oP~Au`0Ipm{Vt5@`lZfG-gx=0=@NX= z;&nsp->&lI>V8=F(Os3>z);*EjU1=>nV56ADksMG=)hPq7Q&FV!Bi|4#j+1(>Vm*u z169w<+OgrH;=|c$cU!Q{Ibh4wh8VSJIUOhRB+LA10I?xF9R3uTwwx?f4a}BQzK_re zvaCQ^YD9)Wy$+8+rM`&1!~TvDe3+_q`=YC+C1n7bV`#B(D}qT%EG~!^g8XyzMVs1M zenl2Y{kh+&#ty%&Cv=2O*=UrbFSdKXdv`KrMlD9vO) z)&3>G$KOs7LhQD=9d>2cR(RO7DKqN%?Ycl0p{ob%f1YuwT(Gq^nhH7{EfJHE2U(GM zfZz4Ow(-3(t+rdD!M+KS3K|HLnr7>Tj(N}LT7q4b_%QyUCR32FiZ6528Jg~7^OK6* zJFE>!)I^aG_RJYA7R3V8&`f<3iTq!AJVL|2WOCYy@cb6lA`Z@pj@-fElTqEvPLGbh zhi1rA{nn2NFKO7zxk)&TsHJdO^3Y?s-;k-&t7wCG-QYj{Y-z4Na$h7q&3XRatm-|pb}w*B)gu%5;>XymU> zo9U&v@e|Br1zFm>^?k9ugVU7dL~E%39mD3r=~A6@vn#%xV6y3#Lmr{)V3KwkgE#|I z7WM4V^<{$$QL6T6(R2jh=0Wepl3QcTJsBmImcQ+>eWZfnoV~inkq7uu={9WyzKV(kDBr%3Z%fPc%bi z;rbV+Z%%t@qaC%!n|sYMaCypi`U@cHqe#H-mBVvQU*xn$N@$JV=-Ej+%fS!}AcoyS zIP5%0$;zGv^aMd2-}6&9aGLDI?)yx#OpFalJ7WkNCLGvHTabEXe^M!CV340{Fy9Mh zQ9UMLCwC!POuv2VCbAr1Q6pHXdT?Y z#|g}EAC;!{H+!1);%R6k8ckH*9=}bJ7r<3aZ#@wcKKrOyT6V=X9h|v=v&uyEJ90LJ z=9?DWcl1PBuHY)5C_Isu13m?=(tF5x`Y59qySpFgL%-XUqrc_s&2_ zFMzk#cHHH}?bo6(W1QEkLot?6Ux7YTxp8qlb(J3+Ydy}X<+ojZDX85&kGgETs|F0b zU6mCrhiRbun1Ge5;+u<&96hWidhs07lLy$0?CeSngiBtH=;xN}KMoI_nxg%GY^Ap* zF{JiM{=5w7Cxt4!apOBWtW@cNdE@uMXH5p(z7|VVE#g&n}g~>ciBAw_IMdw-PgxH15iUDyplYGN;vAT zax8jD`!9z}VQPyDro1Bi3)mD-I3`PZo?rf4rwl!Pfyj@EsJE#UM<6*3`WwZcQ9-!U zUouf*8{$bETlR2qAdL*JU)h17GDC%SA$M7g=o#4Ag!d)kyP0)Q{5-cPlaPRK;$36+ zSrO-t?UPQQqVa~`ixQH(gVUrkkumr26ml zD;i4gG|CqxAtf=qZX?M~y!n_daTj+lBInzy9-Z3(Pos1p&2`lYI&mu5Pz(uMfXS+6O+W_jFcG_K-Hs(f!r+ zTfY+|ry(csR#2d??~mRM!B!;Nfb$GJVRxCwRXnbagRW81`=ZSH=jG;AP*eNp&y87= zU*n5yM9xL?4r&AOCIJ7BI7@#6l&_G#{6QrI*x!s)m)`^5aQzn_SLV~ySlI@}{E;MT zEY3vi*1v~gqoPr;g63O9Zf8lc5!*$+W!DKBPh{Ig6FW0P4i@y?;x#*~Fv)6aU>Ddn ziPJGM7OF$@eD{EOMY+G6-b;Oy^lY6hn}Gig*OTbM+BDcn)LL72=)s-T7C&B4vzQn# zK5&1&_Wmm%s*d>Z%%^R&6Gbjnx6VBs`?KrV?SfvX2SnUU| z5FGAZt2>dR+~hr(_W@zy54VC<0!n&h`x?wy$^sL)_{Ho*C|~PxDQtl{ZF&&lPQNc# zzx1<^*4AXrHMq{>-KH{*?em9=7&RMAFIEKj=_pyaB6x;rY$Br;ymm+fDeNgmvOB;y z>Su01q)L(e#Ro6CKrz{>!Y1&ug$oaDhH%ChO=8#RwH@FS$GI`uX6bV0(@u>bnD2Dm zZ(ieH@od_>|NNLq@Pd|d%KPLk;^rz?*I0RLXL15I@l=X-%Ut&rke(-$Yw@l+qCM%X z5G_ePQhQ{j+V{85$!{Bymq|t@Dk#z86&lZ4ov0q#^<02G*J|g03_j!+u6I-|f8Zo_ z1pB}kihTOPW%f2cVrm}K^HOIabo`m?YkduFw72%Wg)2D~Lf!8Ra4%kl@mmvsIl{+> zx2nv`*c(06|7=9iSm)!tDxFZRj=o&1%0WWlf+n{;+keapHMcWLl=e*pbI5nDQWv{H zf&iJh;^(l`mu;u%`cNqb%fPiEP^N5TA{u+5k?V` z?0%FEQfDD93vGzEKDr_1mK0-zC3rcSE@C_-X^9Pn^Pmh68Z0mWBUN2CJBw|yOm|rx zIKODrJf&)JLp!mS>u+te?|;|%gnw4%;1fe(8>juuH@;J9Re9J@6Co5fbah#ewSRBd z&}2U1<$5?73=Pr5_IWoWmCu=C-EAK2I}UgFmmI*G~kTK?WydzWDkYDeivBK-K!@48u3%br{N!6);H%}+MwoY zPj77Y)75^~O@NTr#3%AvKRi~4ufB%B3D)iKCUQAy=VbXz=_BAr#s%gra4?za|Im|8 z=Kh*uwd{eNo;LKtxo4lk$wtSfVD*;vXt~cSNCV4nRx~6XV>TMjVjooPyMQC~QcY?d z89azcoASo%3J#M_E_DRRN1fqApD~_M5D_uYDmz=YqjU_70Fz{`U#|2;dT(gHU`)E# zU4&?VKcRK+3*q>&2vw?NTv~b2_;Rff5R!5kY;%Eg!Z8)R6D?BaK-83RH*!i6qvqC0 z)r9FL8Ed&NseXCfyj+Y9N=RQ!XF;9Oy!OcH)=|NQgX0AqzW=<%!cS#GNAhoqiuNL} ze${gzFzZ#Af{IEeAH%Y@VXYd!iw&ADo{N#KC2b`^hN_k}79}YW5&6@kXg2!CYMj6f zqRtCT1dpGfCxg0B2+k3`MFui<5$V~Ov9#=Linp+K-_l4C0|SWPZ5!BbdvP_lmmQRp ztn~W7<164^tVH#Kf-+PPr4dJElTlbIu?Oo)KaSWr9*9k#TDioeTY zp3jkh#4~Mr-lSv&k*mRZ+pQ4PbEWkSGnLMJsX|M@t9ncZ!j znD2H90i+U3(!U9I!+fw`yd+3V-Y;;oQg6GN=JLX?9->D8$u3)t`@DQE^Xu0C!Xd{b z^$!1AC-Qx4Dh~pY-=)6l54b>7b)UOpgfMIio@fdQL^7QvFSy(jJRl zEZ*)bngeuGIN5*P;v;*Sg=RjdLiLAv|M%;Cspb5veDBaf8OXZbyoJOAZ2%kJ85M0Z0n`hQT z+rze6J8Ue0;JilN{QT-G1A5}Tp*EE6)d$0C)P3UY;DWk{C9ozuONjpOnjjQ`ebG$7 zV`ssi^uc8`rzftx{+=kbaoeDawO$XEx8$o%1=Q5brTUHM9>T806cQ)GW)mtw^jMic z-Lpr@-u>Ul#OxQ=526;O4329s7Mg z!i%vt^Ksxsvnuw`%`ji8bIR&2+%w%D0`>LrzyjC6<~z~^gGkWhC*eo5>9_U3)d%SJ z^VaYS7zG$wtq9r>yWi*E&|4U(3jD#+vrVo=@WrpD(jqBT2!PI*=McY(3={Uor@r`0 ziG}gt?oa}Tv;IJC`_pk*cw{VQH^c|y{PLW*{X5mTcsDP&qLiuT2d?f<&3q@&YR~sg zaDFdpUA;lII|HBK-*%QPWlR7`!te5hu0DnJp9YN8is;LWhpDdS=o@v?AC?nZp1JeP zCkC6TArIMm#}|+<=tWZ!E!k(Paj#~y7Jf2^Z}ZP^4#osNA>Kpgk5s~cjIE^F{6G_$ z(>j?i$ln@aUQ@(sJKdrcA=-xe9T^YzHnSX%C$XE;w~+{9f*ziZQ+>_L-KC*x5Q{SS zeiRpPpQgQ1;s5*~0lCH*%WAcyVOM?p-d7Y`0d#Apb1x&c9azHAJ0SsLF*koh=^Q|` zistwAjwD++{)s$Eiqd%zdSDT^fW=@~gb0I~eq;4P@s%IhmS>OR#YRZvEc=7tw$-b^ z^5|)84^76nuuMd37C#+d!NHc;>BC>91iDTAR1y% z8)u}_PGDu&DX49^mr%kz0Gbq*Ou91Xmp)C?p@27%jB}^f0}V?gJg1+?7f*gDU@n~g zG=XB`L&R$fanksfTAdD!1;Fd;W){Dm?MKJ%>4qc4UEdpR5C@0bG8NCWCVA8`>|Ljh#{hVjI`XnZ}Q^>BpqY2ub z0ZogYE063xM^4;Gp0^oOMbXnNJ_x~1T`ij@iPu~e2Kgt^B3&)5)StDGG9@lhIbj>f ztd)xx!ZBcFF7W6JZ9*CYe$6Zi8}78-g%*Grw-s>>i*zl@jILrTS|zVu#(E81<%5C}eqkY>5L<}2oiEUe zz18@-X!pjPehNsfbk*)1HVp!hP(OORbsL;iQ@tx1tSTf=-mGprH&#Z5A5y-;A=%lf zzjQv17Mgp05*jHV_h@iS8xc~-cXlC}wxy)!IFllhRN_t3IL2KZKKv@A$zLE?g{ zVFEteasL$77=1=@RF*F?(Lljv3WPyPK7X9E6xgg-n)zLxGkO-g>}G?c!&G8{7ciE= zns6a1%q1(BqhNsyQ&`yqZCVfrfq-W5rj6dEfw{D6YldKtM3x{)1&Ij}A(n>D_7qKR z!5yrKRwoPk_F=zE*H0*7SK$bshyzzLdxrfjbB+qwXrbsrpH)ytiIH{m)yzx0RVux= zK2tFyCrW(USoez*S63cmO|$DIx-hT(R2g1Tei7cUS|Leo&K9F?NcOB6vVeo}H%Xf0 z?3*ARY`#jSnbaME`QzWeyYPhO}uaTA>)1_=uWeu zw8?KRxHxX0YNk^vrs)Sr*c))bY=3y}MH{?nA-J1r4KHy!iBRgx^oty-<@orTZAu5P z^mI9eZ9iYkcAfKnRMgWp{F4ezk@~n$u&V7u-d+H^)s##1AeGuYxJBkzU}u+`=tlly zD3*5UM>Bv+sGLJgm)x7v{ui9iPi3H+C1wT$?NWgbh zvYaNbHd|xe?wPppe2Sy^D!|JdMRAOGF>rCNy+m-sBuEzYq8-n}MJKxu7L5K`?X7I9 zIFwXqV}<5}0DRp;`Ysx&`&KwQdNof6>SIM&R1N>TA(+6|y($CY4?VHhv+V)fVcaPUGINL55sH_8H#y-`W=!Pt0IR#Y;d$@C(Eh{Acfo<-T+WwNsiPtiSKAuFmKh z+7XO4Fl5wEvS4U`E$AhegJh=YTtbe{Dnn~zKsdvxy z2=9YS$HSxYxg;yGg%k5PI@qgm)8pO}q*S?3&f=Sf1b^TSkmvDWw^0U7qt3BjV=n3` zPTjE??3-BF<;T&A%6E$n>IWXqqE<5h5_)x|9Zhffmg>UsT#QG~!)mhMsT(JNYb;b7 zr5n)|Fs#GJ0-9jY|FGmIn{@Su4!CDzp&fW3rE_X-h$r&#T5m^UDaaKE9?*Q;1z z@=ronA(KXD%WgnlRsj~m)#IKDJZpp73c^pTo&AwY>~&4CUzzlYan?!?D&?d8z>)&q zrVCvP$LxC(sl{TdXqvNl7~AK~V2Fpqg4;v^UW}6k<>7Ull_BU>g0y^C)$v>X-{==J zRdH$lZ~EyXzP}!P0Gc^A_OOEgnpz+B+s=RoRo)1p39-ZEg{V~0JyB$i<6CHW6B-nl zoLr1h4l;bmd<^`{`Q$ejqN5x?g^@q)>>eycmnW2>oH5WciojA1eFLQxNh68G#pz!EEm1wJ>ur8T~UP~4sp-jl-e_{M~G%33is40 zD>p=OR)d8A;R6G0gA@>Fn~82O6HAh3hw6_VOc(rTJ%eGcbOA&Bb}=M7&8w*1S{ECQ zn(79_>#JqLNp$;XZDL=aQf1rv}C7IAf$qsTZf{;iQEOseF zKc?fVQEIhb%V;cFgEr_J4&yvrCxgUG@-sBX>tig!WUaa;dmQI0*mjL{O8ku-38KO> z0ms+Uj(;y^GxDfPL#9`Io%BXTnwvzOiOonG>WyHU>B2KB-R~#CCjHCjFQlB=)*+V5 z@z!Y!U-Gul2;$*k+{31%jhKb;WdCrp*oQ^VfL)`Uf`Henr zMgJiZPLrv*>!23szw{e_HCem6&(O!LsF{FvQeQw@J$ zC_@Xr3krHu@=zhm#GVF*wKKzLe$M9udG02>`_u_RE7$502${H62*1w_9a=ld%TaVh z6I&rg==V+G{0OT!-j5q;WPP?`tOIhM$6Q|2ZtYhR&CgPuFjjl&>tM8EM+R)vZiNS5%O?u)tu?3?4LcfM_>$8$u0f6yaond#dI zCQP<<9PyHrS-R}UkGS!BOK4z1WkdOWaNqDuud*OFiZT?OGQ)__RTlR_M{=X69|Er; zxEKI`_aG5XOXh7CDLx|`6ya>IckDF?sqL<)B-ayoqu`6*FJagm;JwEU+jpmtc!H1H zBb^lJ1Rlitx^T)Cv>tlMpL)7?;sNu2q2;HI_ZjZ99|Mc{`vZTa>NNezQJEl4rtb(7 z`dGra@I*a%A29rj;iMYawuJb&PG3*@+tm7gKkLZ%awIaCYLh=~@*9))mjOdhD zzR^kBVA7rXC2C&qXY-EdR#es+)c~frb&x#^q7s&?) z4`?dh_d)Gw^Equ|I=llvOa*B=cGAM{Qc2PaA)YNwS_q_Vu}XurxI(A z0lV$(qrHSzhBJChKcss56~)3V?yoR2CE+GG_MvCbjZlg2_v2W>WU%~bc&zK?lMT)` zozwEKUbms3fM@4Y{dE_qvy8M2=@`N!Es1$bZ1f9jxN_1a13gBh>nilRB0L8}L&GcO zWdS9I)}4Vk#^R?Pfci7^nuqGZV;8`Z)q1!xqG}A&2kZ``pjc*P-9vPlaJ2;{_|a`o zgobn|JH-aiV(<41-`0qYlS!WzwX*g*A>Y8#?npsZE)W`Tz9^)A&L|7{E=nV1puE8O zFO3QBB#y(#=;*>bq9FS2jE*9nynj{(_i$9)H@*lO9eI(=I*Y8cd^y^yG=B9LR`7g_+JbCrcQ{p(VI)nxFrv(_idc z_}c_aYiuIor5|Im3E&v$#CvCY+~UySb>9-?I?dR;9ALrnCF5vLH{+_=^Y}Ub*w`?_rX#kBr7+6Xm%JuPkCm; z3hGDHZST$Z;@4ic3>+K&;NW|Vh?RqHi7ByXFHP#zG?nlmFCD!O4l%xXWs0Yl$K%s>$VO@D8m3fd(wzgqW`U{eKS31$}UIGz9JO z3^$z2^H=8DDvi8xx%S)H7AXU&RzGQF9h#5>4R%Hl_1u5*22c|1N#^P_*lfoA^GNN% zV&Z-fk(Ll_HH{Y?&!~T8*byY=t!DJ?kl03ofa$;AsQ`@3XNdyXxyh5MeTwwj;DUD! zMP@39MO26?SPCs)Hc%3|70nMe~#jBPvY;N_Xv>Xu6g(% zDO{kVr5-;jI$=uRu3g8ItARp#bAcBWP@4UFvsHN+SukFZpP&9+3qOogb)5`1n87KZ zi_93W09ZIC$ZoBIx45{vR8RKfGI8O5zEM}`LR+09{2>zHnE#&sf8KIbJU3t!T!Dm$ zIC`X@c;jJl%h{Arbi<-AFQ(^1n5j=ZIGaNeg{wtL!+^7uvhDOp;oD<^;VwdGIU%(@ zdvpRH7fu}&0R4WgaJL^f8Q}inUtL|{#&&pwIXfi-WDdQ~uHo8=;o6VF)&KlV57EhN z-wI@6BjW(`yH4!??^(`;Ap534cW5oXegc_jH-qt%>4L~8C{ln=2Uis%pkXwI(P^rL z(A6cfsimms;Qn)sNat@w!og8X?{CG!!BH2VkWhTh+E6QQAP#HbSHf*GkEk-3>T8w~ z%wVAIwAlqQTV=R$>fBUk>Z-_P;m3w$Y;0^2mr47S<*_cl(;qX!#e8A?aJdDKhE}Y< z?)}Wwmrx6*5xV{mp{o8+3`|H!K+i-b;!!MA-E#8VM>1vBh#H;;sJ;EoE$3i*eL~%q1rf(0xw8i;kp82mT zVX@jcxa)9Ah7_lgl81)}QrBY#f630y>}Cbwct$1bdJ`y!p>D045y+y=SEJznGS1W@bYBR7DU1&Q8sk@Dhwl zSoRMNz6S`w#Sn4_)z#GK~bBI^_<_e6n zDPn|+{5a|s1s8MWaV&{NFh7dC#U~z2CMe!yiC=`K@?T4d_bo4zWM{iMJ$}X)aPuK? zZ*2VSl);k1YS>??-&*Z;Yh$<4h+^6w-Q8fjV02+rMLH;Q{dYmYLnt>J9lB?W!0Klg z7k0ZtHX-oKb+gkJWD9wr>Q_jQtL@v=z2CqaWyhLJPblEzsJJ~@ zK$6Z`qx|v$IN)^C)N$L)q9eNk@*kx#4d&sGHKgB#-~{H=qJEH zo1R9~X{HyQuEkDx+9 zKqZG4z-P%RFQoT7=Xqb17SR}_Df%gxxEp43k|4xdnQj5HoE{J~MVxn%9`>At&j)MR8J z6hbcag(mwoSUfyDXU~OmeTipb>uIX1@5caYsX?%-wwxfzYarz?gI`@;g`OEv^i}!% zJ-fVyKTXaeuLn)^g^cUDk*aI6!HMgX$9|cNhDI8mpg)c@uB%H-nAvc+b!^$c@tBQ= zmUE}A5&{bD8+s8UEHZvBX_;Dd#ld!8RHBrzN(~z4tGqFa&saM5RK2w-xt7ru%z^J- z12xs*i>IVcD7-NU3BNfe6ho((-ZiE|s-=G(FNTQw#~1X9?r2fGisyppcp2b+*&L_r znxM4!^XM;6 z^7r@N9QY)aWseX`DoQ?jn&azE)$#Nsna3U%fx;ySpZiB*SjWe$rmn6Rz|}Q&OB`(1 zul+=hn+*#F1!N(QK{XcA`ucq6xV95XDXiY!-dD9583|?QG{?vMOOXMN9|5sapEIBX zGZ6(~R_-F)hidN$hiD7~E4?S^ z>wzu0)Je*(WVCO~0V2_4x!(H8?V6i;HPLxkxgEFYLyf#r^`86xp5QrI7r56Bf=qsE zCv4>boRUMZ-D135vwOOW%sA(=e}0<(XWZstMa|QLLi0a$^*>2O%oCk%lPf?#UE;_L z`$yYN_Oh@_0@gQlZ!83MUe}yOSt{!Hl&{H;EFjd_#%4cZ1R~z7?(Fu1KC`psGpSbA z<;Xa%yVX@<#N>NX3^SYcwh0ApPIDlDJ@YmAyfamNVWgrwS9u z^v}C>8c{n?)yZYHO_lkgGkYoev1pUP?%L|m0F~&mA@Le5PFy^^u-Ghtd|-3r?(}BF za)a%T&4c=Ei9Q^#w-_p8sqO-t#%UQ63L0Qx_N=tvGaX{2JwNUX2WzadK$n-7^CNX-)q!Lq<1j}>;9gaIMAFzBYv?Qac^kG~ULfo3l(Q7a z+e0@*@44$iN^#%`|8;B$(48`#E--O3`H?=hL`g{*Dk^AOoapvBYXw+*OP}g2BO^1K z!TU+EFa3bE<3Zw~(S^!yzL9Na#Nvwh#&I%NoFbJJ&RFM{U5S@xP&{vD!s`Gl7moj$yc>*_{T^!~a6WRblAVrUsq%XCHB|ya+{v* zj}G~6?`%tviG|i!KtN?Y0!stIxH7jw$G>X$lTJ?4ySR|=2MJvpDU8m1tnumUM}_|w zsC-uqL4wqksSXXsOj>rT*f%n@F#rfaHqmV~KvGvDhJ1;>BIhM{zc#_6esjv83zg8a z{Vv7`DTKT2oRyQKJASzR)oG(GTrxZ+21i3FhLCqYrZdK0^zG2Jx*?+}u1UKtv7uA@ zy`yAtof-A~1L~#+Q8J6%|H)oTsL+d%K11KBt4o%oQ5??$|HlhJ$=SKSm@J?$khhpF z@Nx9Wwj7P~{>7xor#VjLpn!i=G%ih~9gU-wquTzNKU2Uhi(=lf%h2C`056AiYs5&} ze>kzJ+Wgub6FVBu-u$uG`W~6UwD+n%)&IO#ksEG-lS$`HUbKRLNi$~+1{)X*x)6$G zcY0i`*Drw4NoGR(4fBeKKa35{BlX`6jsmIrmad+e|BnIR8wf8pG?xwR<6u*fTrPF; zcB%JIA(Vs#kxT@?1o3JySExwWN;k)lQ}-=T`u6zYt4chBZ+5=g4rz)vxeHkiF^g%&S}pmBffXFq&e^1w^{VfnO+@RbiEqg{ zbx;AL*M>Oh=8R=Rk-z?FKR6%C9+g?_-vAumKA&p^QuPj!v761c4A4`8D8F?V$YSHE7j_BrbITKNaPr88$nK&j);rH zJGTQW3yFX+Z42o*l9)HBry16Qh(N-d;hE8S<4pNv{{y~C)YkTz)>IuMJJ}rO{-^ts zIPh~P7^*dn*|0#LagD3Q=#)$lG8vPTpZHT3GBiTq$7`p>NU*q{%mYQ4v+3YmyS<&-$ zm5l`-74ZIw7|W)#zQrox1kQNbm>qwK}~f;JtEV0t7%t3zcitNh;Z&SMq|x zqylEoRvM=yJ3w%Eq++(8>C3i{LMt+wHn$q>F~rgoVNvkI6^!xv@EM<$kf_V*tLS;; z>S#VxJHNtCjn{FGWtQ7T6Y^s!;IU#HxB%;7qb$bIWm!!8?N_Omn@LlAz3=i>!%(e0 zS}Qf#FO_yS8m|dV&7bFmRUfA$(X14INTUeBr=)8fVZ<_=x>vtw5pt_hqV#{b&siHz z?cP7-F-*YelOgq`+O9iYY9AO37o7Qh<+eYX1r;lIy$g(%Dk&Xg|7nuufXCOELgg*A zXE0;;cKtln%D=gClSC@u@vP_5GwNBlvpHr0W=+_1euw&?nBgxU1l=ZksS6R`Z<5+Z z{V_yQLy48Q(|aR@+K#dJ8##H!&S}d$4$C2;3vUr5aW`}~tVRS9A~ZlBM=wu0h9orn z1jA$%keFe(Ur_*dU4_Nnvdmg+q(~jFxCOGdZ$q@$!C&W7vl5u~R{8i&suEw#dqPs; zzo+Lfy}iMa!Y}+ZH|uyiYHN|YQTNukbC^=zNzN8=)6wcg@v{52&Kwbh3z-f3XA;`_zX;1U)~-MLi>Gz+6VimM<={ktJ{gj zE8l!S7;vq4a&Ze?>w&a|LEPdg&f{)?&9((-D@F>iy|rQG@4vjsCD2UW7dDIauDTIT zCm#Iwg84ZLU;W(4ti7D3u4QV7q1ei?l=XvFkzj1KtXA4H@t>v$&^U?%={gpz$+N2_P^hTy1dstzm*j2? zk(0+lAEjrU$eGCw4Wx8C{eIiMf|@%S63_QHBb0gWJldp}#S~G= zx4Q4&hoHN1{oKf1bR{Pzf7s7({7vGSlW8oK7oU_y4axZjgt|XmVkJrj0Xy(zORXxi ze|~5QffwHLqx#4KUoy(f!}TZ3#+yU({uAgol&fsTqHM96l6d(3bul5R zs*#rS1z1H*K~E16Gg$6Fl04>=n_GE0F=1+dW(OmgAvM||F_Nw_$>7$9J02R8m(Ax4 z8IO(5%0`FJlZat4mSbC!SwDwG&wWx>)&3O$i#C2;Tl19umSKjDF7bzpFptPbXx_86 zrZ{wwo3jNpx8vEoW|-EP#_w)_nHx45KGyI~l{r81V3&6CTP4i^7gp($|mNkcrDT?)@qq3RSMH ziCFAz?(%wfwsMks7WG9i8-=&3KUF{i5`G%6iRKA#+L6}4SYpCKxf$8j8 z>trVCV!aZw@3NRP%0?$|NQ4o3gY)9!gnqdUKcC(mt#Z;)qDh|?_QLR_=mVlAX3K?O?XNy4tAv+6f;}3$NG8@f z*+mwft`9AH0wYIXHssbf^B4duDLLtutvli=lAXn@&|~4qQmxr4 zT8qnRfC_g-Xc-(?bWoS)sSJI++;uu_nWLGIVV-$Se!%4GRusRuc$VRjx{&YFo&8l7 z2b`8#$@roh+s5u1Qhl|&JYluDmzG$v^Xh584*wYnj|!;73Qkb@^0;DQ@2jH@o!#3qmW&+aWef~nl>wwNt< zgu-5ECU|)vnq|2)3Jund#nPsr=S2iL|N7$cwL?A(d?hTK=R4J*k6EZmmbLhg%$k7p zb-B{HD%T4^`5f5n^zm}ABTRvyI+W$x@3#bEYm!6I_n@6xIFxZWjr_xm@IALI=?7Ue3`SX z=pdVOI9nH-DN}8jZ+4^AiZE9iN$#lSYkl452_fO(!3CgBj718i_t{f>Lx;fNI#+}U znVH}5m73Fg`CKr^EeTUb^mY5(KY9H!MfPn>Pfd-WHATIG9}nmF@HDzqXBp*jC0(7% zVEDtSCAN}o`$g%S$2(*w7T<%pqv~-^?b@YTP$OKv&Gt~ zNgrGuTcC?PV8Miz_i>f~dPd1eg7M>;FA&?`MFwDdcz9%!z>0Ekbr4r>uY2e!vO$?l z-SgFq^THd)&3IWEXQH+90ZlJ})^;#B$&_uWpu!aB!j^n`Ywe7D5H$xtKPNOG42wqk z%t7&7XY%vMc*loU z->8(hW>AZdQ)z?jDvo2IU}DMT=Cm-Fqx00UpPEWZ)4j}vhzxZF=mjXV#}dHI&3E^V z$)akBn*x$|L+?bGq895F{jw))Vkc`%U2`sVTU=z4?9=&u@o~H6l{XR-xrsnYvR&m` zT3TmsM0$7pBmuT$lViceeBsZ5#akeK?-^SypKmT!t)OFJZy*(8r4^tBiIX^L&LP@= zHlrm_xK1(F1_G_d2IN9BFwplTpoaIlx@bhIF$!pXOf**6gZWiQ&dex>WqkX7$d5*YIQ2+s6eIkV{-)rfu#8$l_K zXEH_HF0`2p7?Fa2!pqaNX>A7p34!#6IV>0Z!Vws(097GbO28it*nA(Uo{&ib60t5KZS-&BZ*ZNQixVPRnd zI92-X`Hboj^hVh+*+Nw@G2T}a@G~E$x+crKZ$kQhQIilnV7=5VlXPD)VE+u1UVzYt z%?hI{W!@;3KOb(quWxls=g!!oOeCwT3&NdmuGQ>%`|fRNJT`-!-&qtMgPtFg7A{2b zo4C$QHE8$W&nu4_%(r;VWRIaJQmhH~puo=6<8CnUg>I?;-)yMl%2(CZn{+hBXc+d8 ze)`<6BU1y+35bxCRPb)!)BT=^?}V(HnVBNym6kD{DP(SPZ65+o9J1@lacn*K?ULT* z&T*st7TNtRbgW)iILok+=>9Jp+wi0$qYa15RXKC#uO1^QQRdV63Jid+ z=E?%8e|SraXBA)S)R#J@qo|<)z|}jfQyiDV{Bmbht=2hXCqctook4F{mxYW=RE?8@qF2oy5P93m2g{u5sV z7n?3}?W4;)!_E(gI@MgIc-7U>1IYzic`OR#NA zjay5$4F(gLCurMu^vho&i20x1n~9o#pPDWm+@0{BlHi2dSzG8s`KoM66)Y_z z%cvQEV63_k;e5NdCv1&-J@WeAFz&C=XC7Kg+`g0?q08plIfICD6( zC!o!NBM^d!HzQO18&T%TggIJi!F-DDbAbHdlVC_L_8*{YT}QA}8QIJ6r+EF!P7_G^ z!{vB*35O|)s81v5O z{5Bh@;M3+EDAh7KaL-;|2(fq|=&-a+z1A#RJgt}Vk%I*6)=>8z(0UKMl1}9UFl={& zhzF#o-F2TMC0m;7m}dH)O&yAHT$<>WYp=j8b}>Rnl;x?O>KG(31>T-907KX?0zZ{G|5m;t6$~ukf zHl2~RY^noFjcJ&kh}qHX)eott!1c0~S}~bwwX}*vm84LU*vAn3;t*O*r#2hQw?VZpU z+Bn_SjVPZQx8u8B#;uG>cCy5g#1#~=q&;AS(=KbLQPvBGalzJ84gM{}fS}Ic>+iN; zJCz&y@#B9p%zs%6f5(gqQ|YmwqE9T9qlEI_^BQ+M?`QER>S#qdnVQn;ontb?u2P>| z8R#dRGUT4;=eBi%^`PRbq2V!-Sao+6euFjrDSM*BP5{mav+#PSz*z^iGf^AFE)KR2gIFSJ`vOCO)Q z?k_Ovnx4gHi;F3&PFSi68FqN3I^>N#O!yNqA~AtOW{g9KWjHY4IdSLe?-|I-Vp+UZ>##YhZ}k$C%)i(H=1I^ zmk~`SkSAKi-;Tih)>gS>^Yg1Gr?MkbzS)KFK*a}x2e|^|?W6;?m*#-=l>>GeDEU0z;TmjQgxm$12 zajx2!cpGk(5L`EhUymQv%}p&EczWFsi~rHW1JPrAK9rn$uCw>$t>m(*bKu-FiI6Z4 z*R!p&ssdo=o`5Da@c!Kn0j+(RNG7*Qq)nE46u_CIV-z)Ka3;XF*)w$TebsP7gYHJH zGLaO!n{bt&G)EJXutW->`=GZlW(fm((~C*}+2AFZf#&(~y&F)sk$gIDxO*3CS4)G)BmL8+BPpM7OoQS{I!V9da#Z8#clOhfa^l z?PRuBmYU7RNZ1s&>8y8H{6%uOw<|of5OW>eq!8jcY(Q@kiKFHHdkR=q z+0W!#v1|01P>jZs3QX&0c>W%}@`=GxAjVYdL)ES>_)xX>N3K*#H6h#>u>c)I?p$A=^>u+r$1Xp(%mE9d?=ebSmVC!2$) zHdDhOP$r4FR>q-rvt~-(B_3iprX_6ARuJs-L67a0h*!rJ)y>2cZD3n(T@4E5rrTFY zFs&5m{lz95E8zS*pa_kO_*P)Nxa|(*dz8J-ZB3rJ{DkT^ZVnD&oa`oL<5Y4oB^vrJ z^nMHGIJE4&tjLEPrJNW+NA$&fGb-;0Jfsj(vlAlmJdss#@C;LFv&Gq3nH7GZV(;0# z28#hYOP^VT-R5@UrNjF!*Wc;iZb*MyR6uTfguhRpkfWIJTm>Id#Cyi1rdI!K#4;9} z8TzEuH!K|qf8jd&B>SPjH2l2(#^vj-unC6b7Nva9tE7(w}$ zzwz}g7`O@d2aN;6ilE6h0s5m}Q!FMQ?MYM#tZwjV(#r=zK0bUrkEfEolv0VmJef}K zAORp9vR(2yi0NPK8hfuP*GIVVinvuo=Wn()*f8(KzR7&nm$7?oJ&t_2v7bE(dC2{~ z2-xx;!(?X1QF=x+)aa}t<$sJroygX6l)-?+3%l|pXp!uH@dGYRIf7$vGNyxVDD zSSLHuzb(sufa~ z-SdH;qFRrEHNV!f|E3(@P>K$XR~)Mk-0#rd{6OlT{dS@RNdfQI#NC3)a+5!2G4#NZ z!k@UDI=wj%OY*!Mdv6>yAZjo@+;_KsWx(WW^aG>~;CJhB{zQ1MkrQ9Hq-n);V*kN; zp%K7tO)Opg6gTFEoAhiNV>;keBKRqQhX^`T73a4J$1M2$(r0&c}z# zkRR0EhneQIa{4-}F;CU5F`-Uy=E`!~QvT%02|ur#1to)Jdn|r$Pki#XY?#nYmb;r~ z<2GLiAGk_j>rQvnU_)A>n&V%9RR%A<2-PbrW)`jq8ePXnnZ(1C6P`gPteRv8Z1{Tf7Zey0YL83!nE)>_O; zap3Ao@n%&wlLKrOLghk*hLlAN-8KX#9f^ zX(PQ;+R5l6St-0srKUVLJm{-pXWiMnlau8EbwB~-Axk~963fb9wx5(q0^Os$35LX6 zksC~gbJ{|Knfx>3YVm=*+O(B z8`r0aW*6|}>sXN9Qv4<+Ee~`3Eml}`CSBOsPz!_3=ZBP1soy8o{}BaD)6z15=FsPh zjP(TS+sEVFfst2$w7^;bc%QlKgM$pta2k?{MqU=K_%|z7DywxvG9PlHQyh}8UU}dK z4x;ScW zy<{!l|7y>BsP`+?`|epUmqEKia`J@}nJ{tfW}gOK0}YNot}bOUkTC@;y*bm(O6Cj_ zg;UA~TFZ?t>f>z)3@VFV6Mn%vSvQ4Z0Y}L;3p!E*s<_1bDtDPWcWK>Y0%U>b9DlP>r_McqDZjD6Xslpn}Y3g>0&9g!sbmnpSMNsv_6dPN8fVyd&w@v*ROI0mz z6(^tvoSaM!Rny^o=#I;a8a$ap4wxyJ!@RW?Ifhbe+~c-dyuwLM3#hcudCO#_`%zJG zh!fxa7mA=QV28N3($WA}!c`k5aXC|!6@yYuEUqg`g4Xp`nw^uFjNwvKQ$G_L0u0KJ z@@K0Nw-fo!IKPdjepB%(9d~7kq}>2(lHO~e=3oG5h_Lwn=6`~|8qoe5kjCNp|N3S0 zfs8aD%Ka)3*@qPuAc%CXv{4Lus}~m6fIf>A=nq%N?yXSy5qELxt?1*$PFC3~;QE~< zIZ3~s6Fj4>Xx@cpnmhzEDbu8lt8bH^3Y*-^xt0fU`UY?`tJco5j^!6T7#f53d>%~A)gbQ?8IKlZSVV4&z! z1zn%fU(#U+2%v;JJ}&(ztwif^Ir~`@CRx^;8b5vP-ya5T%tHY*(!`d*lp|w z;YH7*FV8f%@Y4>EYiR<*Un=D{Rt7i^vXJjX(r zi0*iNUR0iribemEFxYhvcbbFBLJe6heJw6MYTm?66%p@k?-(f^kiG1UG&xk)e2Y#9 z%l(|BX!29rWX%U?GS1Hkf^B)>3>mLK>G|oKF|di=u~pV!qJOe%8@>N4aC@M9>$&a_ zaJg52WOu_dmDQzS3~6iQ?T^3?1p00TwYWWRXy|nFog`OU!X3*^P0u|XI~5AlIezm^ zr2(HjN=izz`AQ--pwR#D`{Xvh#pU|32b-yy5wf9ll?ngc*Y{5HbnUL z`(3lUBaBS1a&(J!DI)8u>by%7TdmS7b0uwt2H%)Y;$ZMgMy1u-gs+pEdl$H+vf2^H zU1+1dnhSuQ=prZYQfLWfWnESGFaK*uI##b##ws~Hlvu!~CRHR0>Hgf6biDZ8AABg9F0Wfo=@Cma+cBj-MfPWZwcrJ&~GG`d*o^^FPhm_Z0~++z!8D z67;>QZM@GB&)gKQ;%a6)?{a;op#-?#_H6w7#<{}Sy%#8%Z5hY3Tm3}$EJPJ`6$=IP zj;vKY|GrOG)QtdT!?em^TcbRH78C6js%NVhYV>@hZ=3@K$;8aOv2`d#sp8D2%<&bjAyo11!rHoT zQHT11m0W_wyKyY#?sut2b1<9(@@r0aU)+yG9|0&;z#Z!&hJMayesMiWpk8)sJo;>5 zWPaJ}%tS7K@?3VjpejP~yZSA%(Eej9Sjs{eMMGeI5wBYF zj_3Z%3gQS&pUBt0Arlf0_|2y-x|4)fr1QrJnNc?Ik3e~$8bmlZldAX|@ZdogjAFf| zq=Xfho-u#g+OpZ)x&DDRtBWb4X0JKHHD#9u1(Nu9u?KZs)!u_r<%y#*?t#R+RNIv) z7^T15Xu2VHpOx79Otvg8^*XY*yK%HB4i2$Z{tlqmiURQE`DIu}P|?domeA}HhONO@Gb9^_tp%}|`JAArZGlIZUOCEr;g;@^r8l%qz+Q|l5-7h64 z65jp;E7-Xr%bSA9tE`K59iO0GjytaI-^Y0;Tn{d4`-Va54L&jB*}$JU6f^9+x=gav zg;Z~5U3Da$tQ|KZ4fFknvjsrk#PA?&^<>tTZsG5<3lXyDf%CPH#G5IC%2C0aUJTF@oy~V-vHo0n9A?VWd`Qkao)W-2>sHX)&F7! z;Qc6ip-tJ6hG+Udx;}lq+k?rP-1YO@K|=&jl3RTBD*hEalob;4PD?9wV`t}!#jMvi z8I$ieHclre5%8Ec@_H1e!!+xWxxGfh!df$_0d)^n>0M+m!F-`sI~o8DzVdV*AbJWD z3Lx@b&#LN%cKYM;*a2mlkI3ssM-c#B<=gi_W*%N1^S782fRCt~hXZHlWToxG-f&3gZCs%=EG<6yCoO zDS(Z;B2!>MtgoskXodcN7JwH#?v4ES=-JzBNdOe3j?n>db#a_ENx7+*YgSu!Yp_+9(RR+p;ULVY!_e+*JqOfF z!?3tQqHu#FofYf^5%({bzJB=3;`Gt3E-W09AR`W%P5jDv&K_B5e~c zhAU-6whIA0&eQ~&t!n=&wV2Xli|U+Ox^u4SFA`E-f|pNL5)w-IlCGwuMW?KqiDSvk zVvQ-QX|qG>01^mv!GWk7tl{@ayHgc)BHK1_{}*(eWV~!~A=^4yC^1?kkSPbrehHNb z;N2Fluc;BUk|v%#-VoSLq+1h+Jotpr@L~KPWHB>_u(L?@@oJw$t9+g{e5=CFCEjMG z`O_d`%yjj{Z3nf~gh!Dr{II<*e8+Li=UY*iP7g3W*QfLSVSKWmOxofH(DiSkCSg<5`*Im#?G# zfw8O@tqO1DuBX%=lQqH}WZuqno6j;fXWV#70u!l!8tQb7?9J=wsx;&Elsezi9!&)& zQ}!G$Ivpp_gO=VUG)A(SPd67^osMIPlQlHRVDGV?_;5ynR&BR7B&X8#Ijf!GZQ`|O zETi28Yb$R*=5z*5(ZReqKJWaDcQ;xWymYuTddL9%NFc|hDlVpVklx z9R#grBhWFVi%{3R& z_n3L}W!kgvya|fKJHG1l{q)5b3dv_ZpCu53G~_qevsA-;p}@fzuzWCn#HPtZVtyG} z7VFIq2zo22Q2OB1p`E(_rckv99%5-uRQV$pVz5Y-&LNZ9(gG94qmHHP<%CS{ddkQ3CNyTv&b3BT(%{Dd3@k|2_() zNA7g?15rr$UUx(@hK$l9b!5JWPfs&O`m*g>z@oV1sL*sl_t_;h>tuZ>yce%^bh6C8 zh=fqbS(Mw;Atk>cQ`+KSjuKiK?_N3h;Z3fhG^u7O@phC3=nqL3!*Yb0QGn(qF_J)b`eT&9eP4j|3rx5kU-mSD^Hs+vWl_hZ(DPK3LE(& zkv<2wA|xG~qWpbwNqwrlVY#+E*m^K6qc+M;>$lGO%$#gA@Uq?(A0)e%+5dRuBRBKr z%z{pVdVKdz-VY5GWW|rKV}J^r_roOkdTldPI$}w3Ot|ycCz^}SEe~MJ63!4)Y*h{w={N6ob;^$AQa0%J%ygmyho{oD7M5Rskv}$fNsB{G}>03PyV51~2c% zX0BoP0Drk7z5elQYW#T;J0nQukRvquSR$))`)V73(dK$Y1L&~rA8glg+rFf*0=STj z5KbvxN|xt0mFS0Py(4#9V&%|UQ_RkmS0s^4r%KuplRTaxp1wO1%G2x(`0Lits;1gJ zWIfI|Zi7$+^icy+LSE~?G7od|Ev=Be(x9+QT=EUZAbqERL}nXDy-<4v>{V-|vtG!Y zZq)cW5PLt2gcPTP*>U?2fN19X2o0ZP6IW(CzE**;ukZ3OP; z6={r&hgqJGWc4OJRZ(MU7+4qwhf7A^9ti}m#&&$1 zdJvF6W--ZB<&;IDW3*}G9j9<%TB>H`=I?Ht-P5#k_sgtkW$R?nKo+Bt@NTAAx_LJu zdGH@0(zD~m;z{H`W1HW@SmzqP%m&)Vlz=66f;{bwXuaAjTpIB;m#@<3-)sJ8@Fn~9 zLofyFhwtk9ZE`FP??5PYLl&9i@c_zUUL!kG*J>+?PPq@M?k@5}9Qge=oe?jSKtWJ) ztmoSa{+)v}58H`U-wz=?WEa}-O*XYG5#Hm|0E|%w+x!67xSKYciA*p+qgKgauCS0I z+D8Mgv00dW;df{XG~WzD`N@16q5NHb7e-s}m z!GR7-)Hx8q&;0OeGo3%3Psoq}MVNp!i{3I{C#@RnWI+K5a;azA!$$oq@?9>=y%Ndd z+l_{HM5LiLf1*ZvIa+UdZoLw3d#SVGWjq;ZBBf_x2peGEqF~!hO-%`FmsF^DF1-Ou z;%$d+GE{>t^D(fJDw>kp{%{f-H-O57zw>hG~mqL){;oUq@DRaaxW&nKI%v07d=xR zw#JHK_{q5UV=CNP8i@x62sMT->L4x?cNQ~sIkI!AT zO&=Q!#@Xo?zX~HEMeG%|+-k6#{%Rjh{xNf#G60m^@VH%$Ckl-!ro5q8xMUTH+s31L}VZ>7Pk=;sj8$&wS9szZ_ZNDUBKi1_V&d zo;o`Yq8+}|SVKvp6j&=w3>&!#cV=*yBAh^3lPL*xe=QEqJ48JnUjF`zZ5@%|f_*ne z`sFCNuVzBh&-)^oayv#;VUITy`%_p^9m3JCe9B(={>1A-5hY9C(Sw9qD~iL^ge!un z(RZ)+{9$F4yiL7!WxS=U$pOWmjwQBNIcHe;AL6wrSG=n4qCwBt=1FT+A5 zJch@EM!pBrd`V3-qPfm=k#ntn+r-#R!x*dVe;%&rrX3Db86RyNM89_EM^LO z>)+eV2eMS6SwfEVT}M(e?<%l@vkrDg^NiklM9wXWNPiU_;*@g468us*?{q!Pi4^GL zz4)ds7gmR$$6Ieg3LP^v)u9^EYy%NI_NfMc^w6)3`{n4mvJ??~=%@5$s$o)K%`Apt zo5_`Um)A67Xk_$ZXDlroU{2=Ev{(O|@5d4NUqv`YLv{A`K~=QfyuZs!loAjC;o^-N zro2_vr-2u6bArpK2c%mT+l&bKXZ6g0b+#hiKPonU>;*xk~}Uo=Se_V&bcfkR^^I@01pf!&pt$OGMkPHSbM zJv9(*B9$DnteDvGf$7J~dUDb`9l;)3fyVZ3NmFoaSpt5KviY#0wVxnNXW**`5=%B2 zPJvE7dm-X#CisaE8t4&9M%bplxlKU~D9Iy#QXJ=^oq&=hlH9C%+m;QUelrt=9Z=ab z_E-ADCPp4kWL;sW`a$r{D`H9&a6=vDOt;Q%(+B0QnNx#rsmjaE-ShZt$5L6RezYoz zWRN0eajeHwbBdjPL@SnAnwFT-FHCU!?W$5nU|-~BVbkKCv2u#^%B~a$yi4X`y2fp} zV;IaE>2Gl5NT{c^92O>Ek7vB!9%^{1LK`H+* zx#84?Cs0yCoMuF7a&O{5Klab4a1vp4_583pJkaGAwf=HDi3$$Fz_(+Z3E0!v*8PW- z)2NE9m+u7Bm<%`p@q?fA;elW-2Qw1BI;(J&_v{26`Q%E8Kno`yDxLHlIU*c-`_uTf zdFbdsxx&@sR?=$ahrdf9SL3#_L>0=Ui;_ zJ%^0mPYnNuCK=eLx*esrbP9OPCJ2CtR1kos>R;_mZgN>Z$4>#R*1*pYGT+(IyTEN% zTPY!FytMZVaN`*@PCrPya6rjE*-Z1_8UKWu$x{w4DDT5uim|Z3Ys${^qXqp2cL1dJ zyO--kg-~hq&mtSj;u@lX0_x2^G4tc;)%XC|xm@MQ4_Ehe7;{EL1me=SBbd)uUC;Ru z*EyNNO@QIVkJs^4caVyLll7ep*vCSDP*zB`-;8`5orpY|yf7M+Lg{?ph4;m?3mOee zS3q`l094V`cgUitTnd@oAk>c^#fjRUFULl8*Z?MZQzvQq>@Q<(Wo!>Gw~ZQeHuRFk4;8PfN-eocd;=S1G^M`V(-dvkhVF-xRCgU4 z33bPjfD+&2Kx>1w2{j*R}Q%8IMclm_Cvk-rD3yK+l~hW zZ+S6NLn9_JQ>M3b&9S3MYe*QvAu6)MD<@IEZkLt!| z{!a9Z`!|_=qDYBc3+VX1UyS(W3#H9Sl0jGm_&0V^!%nD=n~ps|a8fqeJ9ukqn&2Nr z&MonPIMSo(BWl~JfxyJlIBohSd4E6Y;=F(^5(B>7Jcvk+R>a}}zwF3Sd(Vm$@Qsa+ zq^bKxGtNBg<7wpn;-|S}iiiV<+9_a|F{|293*Srf7jUP6{>77cc5A*)mCexvVz0e}4 z{Ak;zFr<20ysTCrRsM0iBq1~JVnAKrhUaTk)WCsv)ttU@+I%ozuvToVd*#n)L z$A+ef6i!#o(fpFZYis|EMB{AF#-ily+qd`44-`jdZqG}1F`5dq?)o9|xkU?jcjKJu zq|*tKgsU=*m+Gy#mPs~+KQpzWJv{_0pSE5gimO--{4Di2uVK{9NQjOcOpfLY8x{DHl4XM7YD-(5KJK!NO?K^LLxXLWTSMzb&g*qoxe9mq)|gsp?6==A0+_5F=8pH5Q)ZvKrF}uj zH-)E|y3eFZKaGc1k;AzRZKorPS4-GpZ*q?#E%kj{Oq1ymVjP8 z@-!_q68)=5n)@!^@y;jq+Hxj~#+TGc`@w&V*5O1uSE)cy zvFkpz<>2yd4hvqGcaQhPxr#3jUUgqf3vs@P$?nK-nn2)JkVr~%bPd%+SJ>*% zrTRUmTYY2V;65WL%#OA$BC`Qgb=(x+w^d^!)8W*6rLDwaf~V%%I~rDG#M? zKhm-mx@$&M6I_HbzV=Y-%<kYtnN~Y^`%H&oAW-;9Q{dn$8RA75>l=UO6xY_XOBDz9X^fp19O$*9pWaO zJ|uYghI3F{vU33*dr$%HfqyqDNA%0{^=E5Nhq>owvY#7PKo17M1z~6Q>XIYnIQZF- zaiMoM8OF;CQez9tn(F&k3&3hVvkfuAv0cl0p&AOvm!@>UmKtoKbqxR?WPhL#z|oek z*UP*NKdL_U+aH&QCLgUI- z?(yt41`@~^GKRY_3%q%X-HVyN5FiS zORAbEOg$G{X-K*+t;K21vPz{?O@TcMj~fH{%6(JDQs+QRuK@tPHLp&xYNdzbI6}+c z14%Et4T%7I>O?1t#J-!{Sm zFcjb;ZlfJFiPWKK0{^>2@x+~Hj=of#Cuk&JSJT>0t|*In$oe!}4RU%kt5!a3ND;(> z-mAZo5X){AWbBkIywc>Anr<#yN^WNKSd`6ubNGT}=J)(EL{;LvuRB7yW+kePA6L#Q{F&J961QxE*D8;QZ81UKt>9qW&Jz-%TdKNSsMl zI*Zz!8n2?XK^LaJ;50c~wv#;!4-XH~kR69{tlN!gXgf{!s*cS`5t|akTrd^K?nj*6 z3dTl%F1GK7diQeI*0_=0kL4})DODl;m3a=oX9EI0%)!#TtOlW^b_~r)ba;|A`w83o@R2ihJ78NkjoVC7F zTKfqW%<|}K=f2Wwp)o}DBnJz$Gu0QVHfED4vOn|s9>y*Yjc)V-s9^e+BI>gbH@PO#Z+8tf=^-bn0Ox$;>5~;VtUw(!ZQ`so~{RWwh$N*so0+3<~ z0X!Z7`>X=-DAE!T8f=CZ&F@e8v;DN*fG5;m*(?`UG9P^v_H5x1+e+~GyTTNFkV$t@ zuqwU}`{Zp*KY+gvAMY88{kyt<{+tjAtd2=L-I1L93Up?4j^R#iQrC4splLXCTUNQ( zqH?$WT_xR1I-2zF$Ekw(11%!~)a8H@@HG`y83JJ14fgl5kintIzd@uyPP8F|Y%{9p zNA6UfX5QRJa72uhLST4M;RX<)tjSu0w&1U5+hsfay9VfxUvW7DRyUV-2p-Q%emP9SS?DCoZnZcMy>dU#l1v+aT1xtRn(s7V_ru+7hGNMBv_RC4`V zT~p0?R^@s=O-}nQ4c5rSw4@ogFinT9hwlpypq7N9$SX_>SBPO9NBnnK z_(XO9F@Wc3qUYh12Fii66PT$S;Edx((|`PTnt^eyJ44PacXTLPue?_U)+`N{uDBII zhz~|acRZ7N-~hR*z{*MnN5}RpD~s!5qav#>76)RK_X`gk+|=-{d=L42<6|R=qJGjw zMcyhZWT>beV)qV07efYsTSpB6o7eH++ ziPaK=@Ab*id+m4dv9YnCfkDsVwD)c0Fjw*KGQi1Z0vXSj(9o`hy_&^Ns)bkhG5PX8 zyX4O@mD7QHU<**SpP<=Zg4U~L=-aMhda|N$*vIO?{G!Ho3oa^5UTPe8L0m3ahVd;H z*EM_2)4zCjH!OSVmI~{pcKpJ808YwzH$1)GW^X714w+T6h8!TA_w~DNRjEW9pciJf z+=v1w`-z3dklI}hDp>M!{`2wU$m@xE;&sU5FiMI>=%A=9G{OI_D=A^8G3XPjz^&Gg z-=Q71kKEui9Cy4+9i#iZ@tPScZw-s;)p)SXZ+n0)!?8smBH@bsVay}L*=GAH*08)?FBg)SY*JX*; zOYLugR!Rhm+2Xu5SS+&6YJiCKd?A7K8Gs;G4j4Oyk*3I_ng}T*^H@cE8x-90ezL6 zS)icNs1;S&c*JkxYz>7D~vZ4(G$Tph4NVPO{FBQUz2Xz`qNLb#oEK|42sR~Qy{ z0aA`mOVe`vk)J<9ZZZAuZTR0ufv9t6qht}nujU2}%-@1Khd*X2??ikV1pvlWw+IyZ{PFvuC-&rF1fgkv@x>jmN{NMB!HtYD^$bU_OzI{V3S>C2)e%Uo3 zMsdIRGJKGc6{7bUn`5!$hx1@(@|U(j^3`~FI-hhO+A`CZ-6|b zB;K3k<`sBn9#S8_eA(h~9!7n%tzC*$pJ)b1XhfWx*nk3KrOpFTjLrmuM^5=@k}T zzpaCxIft#Jqdd<(Y`IUbA5b3#w|mm#pi(Y}c#X*el-pf+*nRN(3BY& zYdht*^L0P4Hg0lU1vo@@MU*xX=cf19KXsj__%5%tP`}wfm1#DJMxF3pS%BklIZdoW z{>})K7!7N=`Qz_^$`oWA97vT{@1g@ZW%|Ii?`AwhZ4y1->R!V}h=9k12HdL% z-awPll>O~{tGeMQfpgMK z1dysNBIt5J5p7EtaEY!f6teIgB{@~^^I@zF%6s{-do-uXjj^!~gkrSav*q-84jsO) zJ_={rIWhRZ|B*j2ie5Q7ECdDW$0oJ^E=4co3>9d>W~KWb#z# zSf6ecuGVLy{!g6w@68HiMr7buFAb%PyZwc&&i$)c9{T;5RXOa4rEuM=#)5Z_3dk;_ zNZtRBvbTzgvTgrBhmep`5T!#3N~{w38{ZPLVu8HMYhf?EEW}$NvB)$_f)@|UF;tSG z|IY*br)ZcHLT_mJjnUM>5gL?e?DlYia>>jr|MqWYWM|jYER_=az37Y=0*`U#(=g}9 zyQE%-@!+s^+%P`F?$$Hv!t19|{{8RY^lzaEevLaR+A{J0D!(wzI>T+cW0M|4Zdkz! zDZKj1VTm)xBS3>aUV~OCRdEFCpL^j_pjT1=5|jk=(zA=v}?$JNYk zc(oIg>*mD#Gtqxaw~#HH^s?El0Oj9XX?)1v=uPz+$J8uHH7tlMUUH~#%mCy=TpX79 z)OayzcYWqRg_>@q-Ig;|MWj$C2)C&ZLBqh3#D`QkFX{igoc{AJ=`e39G;y9hX1ow^mWl2A}}0s+@*UPwgk&# z_fu_uyQgMfo(^lo*w+3Q%jsz>+HX9mTsuYd5q;b>WwmSc3Ya-RObdQaOWV;+zB4}; zHM`l(3q3zQO$U3`a=bWYRB;~g3gcLzz#!xe`s1-}c!hln-+*W!h=kAZI9LXCcHNIi z>_gTnAVuE;Io0c)a*lUFh$r}$4sH@MG0#Wf=rn_sgY55VSJ3Vm9dAyKd3rK^x0xh% z*%$*wCR^dre{SjNlw(K|68tu^`rk1{aOLTbt6h9rL?j>lxfM#oUD8=&caAZ z+FX|66Y-+0y~T+>CFGQ0d@HRRxeYtuSqi;TgUl33mH8Qf6Kk)JeRWr9%%#US6}Pdh zo1{rTRG2cTC4^`Z44m#@E2+!$B5ZK`c8rDUzf#>7aEnGP%*>1j4FY#3Orz()0Wa(5 z$lD#yWe@8$qp+l6HmG?7QcafCRAgnbEXfi?J$OBjH$y>a=^T(F*GRyb{eY`OIN3kr zw!o}6ADFVR*Dtc;&r{$cy^-&LGyalpETAjk-}U-WiGq4i1I*Z;n|K1{5YH@Zhy@Y@ z9eq?=)*b|nNmcK|K79O`FM(s)8+9B9mVEmq?F-DTagEZTfG$H$-S892K zM&zy28zXM#QW8f?&tLqof@z-;wAH)3u-+p01|sTO+uQSb%#E&sk3gFBTkU-e42;`U zRQM7S!LMF)gZa^6p!-xxU5*c&1_FGU=GmU+W%h|tEY-L)nAg$G3ga+9z( zjfa4s(OcIGW6AYRO%k6)RBB|-{go`r>(bx@i@b-hNhzK~c9 zEjf8!(%J(fRl*ibOF?dNMNdMq2g1U-Ob?b`oS*DOr}>`Chfp}^KhpS9C?5{V@qobT zMdE)dV@Z0P!7PQa|M_lpF#qV!mnVG`!|$I5`!C_y1w*)z zX&!kJNvio$2gfyEU+eYEe4X5S-v4vF07}Fl8}W^G4R}FNEP?`zHK?TFT)_*owXKa_ zY#PTJf+DrRDFbEOw&+hDDnC130(F=S`4i&rIZeR-?7T0$JTu0Pw8=Yr7+2v3~@{~8~p6_VD^z7?N0g1~481Dez ztMd#HoaVk=y|UXUFl(8eB81i+MO`p`@R~hWt2U12rp006V03VR$aa-96Ol7xNa*!M z`z;I#f(GQZ7e^Kd?m)%P@1a1sK=cDbZve{W8a6hl-02*>iH?rmiZQ3*b9x^NPT1&M zbKRWKO#Qrzm!TFgubcl~GHpqcDz1c=cx5;J=M{Ev*&}+m!bBgI|AF5!zD;YfkW3LC zv`=G@%BO3SIE-GHcxkVLAeX>v@_N%l!?Y04mlzQll&rL7IimZes>>kE}GwI-${b`WdZT|N09IH zIiUOs|3-Qan%K?WpmCnAblcmA*|_(p%41F$a}^CyxNDy<%=R9C<#a>}JWW!i2GMp9ZM!)4yzG9r z-($TK0%lTwfX*+~Z{JMYf>#nH4{_-gvp>lX(w`sd-1@WT;#2)I=0teW)k+1<1t}t# zkx`w`{y|bvH#HURY45ZHHoPQ9YJIcaV~IZpNVOMBldKJdS>hO z+%}eN%db-}MW4o@-qxHI{oJz*H%)uhp-QOR57EYm=l}ELg6NxC&+I}VcODq0)i-<8 zih7xHDoslyeKpw$Qy+U8sBBLj-fkdwM>bZU0ksxR$4MN%EKwRw*r`@qq`WDrcU|=S z-yS?&kYqQpa!*Y~Bj0Sx!-5_%LtMVI+Ok`*M?E7-dXalta0ib_l($8AGcRTbJD%2N z)Smsb>pf|I(g-TlyS2e_=f$KG7Ot6a_=tTQ{oiu03Gq-(CdiC}9+Iti-fXcg3&Wt( za)h|A2c|DH`i(MkSDKvN&{8Y*<#;zUg?4n|-1N~b>5WaB`4_;O?R+EoeQWTzztnP6 z4<9Xcfy)s*N!324s4Zmod&dNfiIL&I1<<>uY$ml*6B+M|tx9bS$wYtR-SN-)lqbg( zSIWBneGa3CA3(Mp$N^q^_x6Fp9UENjaw?&QOU$xzzK0j+=XTpGb0> z`QLr_0(aF6k}($ImgDY;)ec|UnyMxNvbN5^x3V{~fMFI3G%@XYEk4mRrr$iw;6}SWZy2ztKUz*xkVuEiJ7A+n{GPpRq8q#jblhz97FK=MoxA%JtHHg zudnZUn*bPJ0OoA8fhZkyFdMSUN}z|AwxhLm?z44qGZ4O@BFLv7+0TfgKm&=(T?~Lr z1sxtbn^AU4nVUZZelVBdZ7`9+bfq{Ymqvq{lHW$MC79so6zGFd5Mh!%eaD~o5Pe(F z^DtMNMp}BqL+L9{jW=fIK$|6o3h1}FW|a{t|9*5yaddGj(uaPzO8x*3OfYui@6U{i z?nWwd)i3Sd1+!k9UPIF15{i$r>1Y$V?~xjAMbnw#%tc7xok+FR&}GXRQ2F}ZWtI3X zJ#JyPk04%wG?-9dWtTA^cI1veJoh7$Oju#hvvdUqZj=7h`UtmJJzTW^ zG+M_vYRKn3kT7h2G$u9?#lG)){KfKp2keN3gt*T(&TncewU%Dv>_W>=6z}%8{eH}L zB+kjN+xH6A&mcGb(~Lzu6LWneFK}8CA zB%q0P{ZHcwjq{JzKu*8J`j*SLSrNS+iK3qi=*eE*CSQBq+51dd!=!F&cPo|6D_~k9 z$4-n&w2BDeB~Pc$CcJ&BSp93Wz0dYnC(Cm_xeabVDE__mk`eajYj828k03=EyjN1P z#|~^-3Rpz+LKMxM&PYYf4p&7sM-*WHb1+|1V>&vP&FvJJ-+_!%UZUW?uks=UNP}2nIrPRnIkErzZT9!)vP2=hNK$i~j%eyWh8A|! zC@zkGpWZJWBmaFLb2{k4xJFSJPxk8DpkMTgg`b!hDFW1sW2n2wd-g_(4fIN`9d88FRsNU!3FAR~=y(FH-kxF&hS%z)Os_6Qq984){UG;O`44t| z4QnAQnJTN4VRZlh+_xV%ks~>BbaSc36gNqxb zaPBv0vW4T;rk+ZNoY=*_svG+ zwTKl90(n{rw4~E+dxI@R8;w`85^`P^Wz+_yB@J|rKU>DJOl+ z`uv_^FF>W1=>enBa5Am>PW$}o{=Q|ck0OjU+ahq2KVJd5g}Y8u5j5^#Jzha=K9Cxj zkU+L|PJ8Q?5nQW8xM`Bv3747lgN0JX)^da6AF6Hl4jP=%e^Ti*XQ~*CQ5V5iMY zUC&YUn>E^9yyHqbI9~@TEco>f5_D9?1F6$hYhRPpv^W^N!1cJYX1~+=(Z5=Q= zBLNb+A=9-k1H&b`OkG`FtD^zDxYo%=rg_U`$O+Zsb<$n?{b{$^$ec8vc2C-hs|JLd4U`5`RrCl`@Zs1G%SmD% zyL!^acAwk zzNJ4Qd{W_=*7=1kIkf!fQ~`P2dG)t|9NWW;FRb8MH?RR8zy zS4v-RGhPb%WcCw%Gn>9SvL#BDVp!ID`h3q~R#Ba7r4eA@iuAg#{xmF{Y-s(5Oa{-o zodz5^vPxO@p>-k`rr$X|C|S>;TIIXGot3wzNA{Rx~43=4J?FIWt z?#mY4d$jlL#lRe%4p4Du<&Fu9a@!;vbGsv8>ggZP!@0h)5c$WA@i;{IZBJ(Hz*j%Z zdaTzvZ@+B|ze`UqjwatF-z`0#tDuqO|0^5gc0sJ2C*H2kX4kUdRwRRRP$lV8!j6@~ z%^6!k}+f4J%J37`QjlHNPq*?wP@2I=H3HCs8$L}0js}&~PV&@g(7bwbl5-6wA zG#6SsbY1PSD(FaKRZ%Or=$9Akr#I%viMn~JKI5vTSkyIo6zD!A>w{~zxL|zxR^5&* zsQX6zw<}kORG@BdQT5DrUAYhzzGd)X1pBM}1V7GdtIl1mYJ-O==Qz*BuR(bB1;KWe zDTI^pfob4Pyk`mu8r3&s=_Fa;QZQCFA~XpfYVwAoW07tLJ)-Le3OXBQP6xNYT}dE) zZv5DIXR=#w75oy$p;x)K;jvk=U$ooMPF4j)ZV37T6kb-eVY@|ED?+@E77s4Sf4AHw z6;2s)n`XY4>cHJ5+7vcqI=llPJgj+WIkYLv zF_60}06(VnXG(*5Vd`fl`g)nh3!~njnkK$e0e^%AqavnLwhbY86Bed~Dl5@HJzkPJB%$W4Y&&aLd^#Gs!eSjQ^HPYYa6 z!ekH}(Bit`Z34|zG>bvZe7E+_RQP5Jp= z52aKB((2aoH5U%{nDXOU*}qrplcpPJ)EdPLhvWtJHZ0_!&z`A1)zD?t;2Q~JX7z5E zS0?@N>ow&VW|Y*ZtOd_plzDewVd~e_E&#p zhby!~iD&yxRocoe@^!!)%FQ;Oj1JPdjO3XZEA@d_6j|LB#RHlpX@FA=*2y?cOE5Fz zeEgVmpx?7$ucla9p&?}cRTZf_8|`vIwAr$*Rj_-=H?V$7!D3|GN$tPnV*s0i z{~7XfdIah6L{v3uEQW8BDjtkpuk&C%E+We|;HPze6-+uk(sg3m@m3v3YC&5^Yg`nM zfm#Lrw;Yt3#=jpjd&y*{$!b~&wdOpWe`3Y@iC5#zW|K~#p0AR%aU<`2`)0U`(2+Z)>p$o~WsrO}UIq0uS$u zFk$(oz>K?ePlW(sRGWd&GLJ5{wbO^spYp9^<)7|6|MdKDX3lijK;_?4IDk#bU;Ul9 z(->{1ynJP0;#8#zL5TE1L=_WkbAdHF40)}Uby)TcaZgjK`uxW&Pbch=onbV&INSD8 z(xi{X02qLL;00t=v3DW@_}IaLa75Zv(>Pnd6~pN^Rmw!1;*A)hDc%i z`FEF|cUQT}Jm0qbSAo0ICtOM}G&BUtMh1$P!-Kj5fiER0Wmd$M9XNSztLG3qn0pc1 zHT7B2c#BbtzYYKZcV6NuvDLAJq8FqNc^&U=^VE83;zxm&ij^(}@W5ro%@q_8Um=u3 zTWpSTtwdq0T4l#>u1%X4kDomGrh>QyA`gT2S(yVqu`bW*e;QGM)J12(pbJ``BzVDp znKuBK;H~EvpvPHVMDAtESJBsMO0vW+I><$3@qD(^NpJBZyb3gDh5knlhC(y;Z|A-! z&FpqLVhX-K*|?TzgRcxQqnVSmB`Qp;xflD|oVA&$!*>@iWVO zt-yr;dXVzS`myZUJ`6VB{7Xc-2-5TuhGzLbJT=FDt znWdQTxIL#5ge`4Ol(q==RoV}Kjnst;u^ZOg%KZQC@T0b;YgTT@e>Kl}G7|AA&GR;b zoxCSkJ&W7-()~xVOU*uSr@ErPS$^U}(yk2i0aj>nVO-Jg>=NTkRMPT6XAB8y?>52c zB(ona*xc_=R&4EBb?1~SxHBy|Qml(MK2{v@iNAcO!t@nid=XFlyA*_jjkL$RRsmU? zE+h8ogUa(H_h%*2C5u;D77welHvIUZpe`Uk7@d{Z6EaVf5&CLue6lS8fPC++?fL%G zIy0&YQ0EZC<)iGs4x=-kX6YU1TZ zF_0{0E)-nd{(_H|yk{{lZu#Qgm&4rfmYsno2sy7+PiPN=lbA(0@4!*M&i(uMfspAx z?LBoQ*56}p<_R4K14$B6H259fYgQ(OsFzsL`IkU-PWAr1Y-^&sv&~CNscyQtLNZyk ztbwS~jc<;Kn=s1~c7<3qLo>U(dO~(Dm$fS?9#e%3RX=EwP65wD<4JY<4{-M9YrBW} zd)|9)uWTOjtm9L7EjA=AIWdWV!q=+E+}!_b0ORw%irVKkq#hLLFXGsf!+Fhm=+~ay zN7o8|Wf!L@e>ZQkF7l5uQj&*3GRSXuJL{Qz&(k~&R+?14UEj%SKMRHPDJ{fnDAnd;=ChAniL&v{!n4|bbB)iHB@bDbW#t5*moE^nqf3)Q-=R^QlNThdiwKv@)JhWxe%YqBko<3PuW1qvsyvY zalBDKe`DTq=b^&JRRjiU=K6P(0|SM@^Fsu;m?QseXs-JXnTq3I$|}Ps?klrAG~%Em?8;|B>8*AD}OVz8=(_rpVL93W*~M z_(S^q5Hj2hIHO}=dhP{zQ8!Sg&I_j%>c*q%d+~6vzp12FB`&%=5Rsq1U_o~8 zo|{&r4i+2g>O}1Upz}0?^gUqGLzuF5vO<=_!##U-oK^3tb}B|h%h)(Gnhd1=k`9j) zkF1(tW;Ar*!ffKl_OBhtd1Ca}rV&ORpwYc0k^cR+0!*_2=J1%re7@2~^cc#P9IJtQ zIq|aWX_v{#<-X*P5Pb>!$$?#CcH;ibnZZ#9iJs6qyi$8>^<^gZo1%FDuZO{Q^aQ;mH>0q3zR@PqkLM6oOfPyS=9%v z=brM@NcR;*-3NKEo+T|`zV{R$l#7p-gOeKMYqBIu_|4c+vXQI4hHtM^g#7#>g<4*7 z#^~3+;@XJWAt*u25VPW=OYc_5obl!Vk$j)wRMoqe3G`1SrG3p^{3|MsLt}VIcYndd z#y}7k)t}ZJ>D@21B`TPZ#y*~#o2kd42Ho<;#o9U65v8Ts%x`(ZKOeEpA2NM8I@M@) zJp1v6q!<&)CA@GSil6$D=FgvldR*}AGqRFFMl~Xg_DQ9c)Rh8}(R>FksTE}C{Cz3! zXmeCC4=`+WD$!j;h~!q{+4-(BPvO2{|1=%KIE86^U?VWH}Q4@IdRFIiT_HoHFjDeM2N$|gR{D*SRdJwztOxRQFmQ7V-m zGeR@iKVV>S_hXATX6C7$`d>n|=>b|#7#e3SV&j|F{;N&*MHhqF<)X@={Yi_1BNnBg zj7!yo{INlKPs)4U4f7QVFt+2xM2qc~?P+;1bownn<}33dvJZj1NG0Ym{92}-MtK?n zGypVI+KI;hqsEPogTRo@($7w&)T{5xOM7bl;`) z!ZFd!;-r|d^=S^h0n5_sHGOm*N*0#MXDSt&T>70LpppN+YRBS8o*)AELnMe+ylYui zM+7_M`fA%2Z)n#hFkET6+$(Vym+;{wosP_!{@|N?h?kB<|8A4HxBiY32hamTPEVcB zNCLiN^INH&Gk*NaZ8M})_C8gic^-*o zF`DO%J7XkGsrzY;gwGn7F~n6VVO&5;Ady7G>u6 z7%F}9eC`MPN{kxMHPmZeZGSjh&M=RHnKMsiWv$M9t&VQlbH%?ct&}K_Pz76ihpDM? z;F|Sxu;`=b^N9L-G%xrmp?zwYkLD%m3^q-oG4=lcX;c1XpXe~DZZTWpG+pmBv^1{` z|M-3-uaoW{+MTNz*2Ow7$bV5V`RNh*v~>EtBrH6wK}27O-5rk;Jk1g;o+yzc8w2jD6fu!RD6LGS(;qo*XRb`PEsDJ%uLA5OCTmr(NAm)<;{IXL?w8u zxw-jFM8BEBt)tzSef!!MWSI@;@PKMi)Z)NCpo~?!@I7Ee7Xja646W=o^g{k@62Z;{ zGMM*aVLyS%=Pgk5^3VPNgg-0jtW1jh&JgjslAz)_9^31#0%zT++pWPKNPY=^W$M^-zJ>O_umVxm z>kDY)FIU)pA7_>{4Av5yGO{))v533DqpcpI%Zyd$uFsf#Hc~{l?;wDbk0f)a`@j`xwZEf5oKr` zj%y>3fry5x;&E=2@DmIhtRyuStL*KyuxbM%3N0VmYs*u!AtYKd4=Gb2aJS2>SZf4J zdIfv7zEkfFasj8Cuh@e82B$ebX8gp@JVOc!qXUY`KmWgGpa z{Swz)Y4zc{OHt}=&ef`Eaw3ZWodm;llo|=7F6L`L?iF2Dukr(1yoRfKRm>nVQsHDD z(S!Hp7G-i|J&!`FJxBv%o2jssrS-a~)QXC%obkj1Td3sx>J$rr=A&L-J}5sQN=RLk z_cWAvY*vcmi>0^G8c=G)ap(mzrMf>!i>49N4Jzq<3T|mFyKvm!mVDM@?5IzJ@7q43 z*TJ#~>@{<x}MvtpW!yGdc^XHde<=Xn{oG%Z5-)Kl!?SEbmmYfyg7fDYC|^W6EnV zLis-6Y>7m7{drSgS#e<@H@Rc6&VaO(krOb`%%!1cHBzbtiiBTm zRG{Q92WHRw>xpmO^5-?{UM+gn^=XVVct7par_8wLQIeq8b*7AV+nfNFM-fX?wED-s zS4YsT8z%LFCrv{ZoA2d~C7^Oj$vm!)_~8~G{`7TC*^KE>v|B_Fyakjwg^P^Oq5O6_ zDC}_X@c0DaV%tMr_}V2e-gax{FYG!QW@;qKu3jUMYSronsD8dyA}M@=8hdCiOU~i^ z6{fIjJ;)HcdcXT)URXX|huKi}H1iwKABy!Df6xA!o$2|^#b)9g8UZE$h|l#7@|pU39(I$vT&@h2sH^29xtfmdHHd#tS)pK+D_$ytN~WYeeTky&n}<`VB-5#7a0w z;1^xh;JR)L@h>2M)PEVj%N9P7>-;5o;Az-r<;HaVnLL3UR{WzK@`%*oucTz1_7bYy zS(n2QNtp$Jd+Rpm>6G6a;}U=W)h9Th+Yc4Yv%D#L2$?JN4erJ;N}PwzK*mh9jc**Ht6>E^LfrU}XF^~}XC&bpT}A0; zSZwx)U*g+X{HZ@iD;ujV;*J>aQGY+3hYQBJ|IAn7%E1%d8Z~?;+hO>AQAD?IgHB; zUqihgHrca6c2(C{)6r>^1~cP@I;PZI({nn4arkEVnJY^GsQOOn4Y;jQR$`ys{@R^Y z+;AX&eA$>KxDKsxex0&12TmWk70whM-zoP38y}u>SU zdr_oqqPBzS=3lM4J}0{PdJ=rg3{ub0K66(?y+dxJOedfMrrJ})hT-q&H<R;m%wZ%=epjpXfHgz>(`Z`aozX-qz7;y_+*Zf! zPVOE<5$jCtYo_l|tlr_C+f!%MMGzkO$uI<)TDi9JQ?4trK6@`npV!P<+`j5r1ajq< zujcM7b=Er(mdYt!3PjJ1jm8eD#sZ7QGXQ@tT^4Sh{#AVG;n%J2v2npGI_WKhlcYuKrP8~Dk)+5@Fgco0UOLn#6Yw+ z4e%HYQ*tez(3UiM4Njj6y~dxbCm|+Q%Xo5wBW-UxqnqvBY~!QvWSm=t;UcsaS4wN* zs)6E>B!|Rvy^p|(&3!+tCY?RS&FK&UDA#6yK^MY>3RD8oELOLU*z}4EQ*p?^$hK|2 z3+l>^9Ur|JETWlV%f$=Q4pnJ!F^ULJv8pNB0$C=92`jPXNE%niRDTGb0X-R06d;|V?oeEV&^OqD+eqH$vr zTAw{2*BCQ(3oE*>Dh=uR6y&7-)kcWX;F)GQUiMLY{PV0k_nXV# z)YrWbnG{O+YTjlkipr7yu1L3d@`B%frqD3mk`AOt{*1@-eDds%-9X zPVI5-s~^GkGKtbWnqRjGxZKf@l;iDkQ)J*2(cwuPn z1KKPzG?-tMf9YAW`f{&09?Uxq(PKF51*gR)by!lcg~$6LUqb}biRTGwR_r!T60>Rh zN?4;MQ^RAEYW8g|^sCc`o0M;i=*V|9_&;BhQ)BJKR{jl@ao%(lEpz61JMcr6uQ5q| z!$C|20+EEsKb6vakWM(_6?BXay4BKSUWbP}8sB+v=?ta}L3**MtUX2X+Ut`of!TE( zubO_8MQ)6Kur^W_!?R(u#Bf%30E2bpF!KPqb7T1l)TNwQA?Q<>eGTt6SzBTH=jcdR zczuSylj!mjM3O0rmXHa6&R`yYIuu&3^lkB^HdK|VPY)XCTv*k;-gbEFpMi6jj*_?g z5@nRxmF!O1ZTpm``s8#38bjuMK;-wAN>D4l9>Ai2yx6Y3pqZLMx_(QgB+!<9E4fG$ zC2lIGB$%N-F)&I)qVkG6qM3$C&Xlj6^N$vz3BfqGVJSQ2dh5HZXPJAJXn*IcRpt7< zyiXrfgJZuuZEZ_+*%+b@(j3dvQ`PAoU=^tN?1~V?i7AJVt3N0|`z3=c9}q8xqp(9y z?Eo$@*^CRS7$yR0Va;06Uu^@-5ob9+{eak>Ow0A;c`Aps_YkxpY;I75^Z)-j_(fYm1mn&3Tn;Jxl^qXC%!dU-#1R$Q7u|L)Q?tZTZ~9 zllyy>9cyYxiJbm(-j0Ui`+y>RixqEoi>>3|hmRZX`AG=Edjmypp>mL{iT%)-&Eko0Ki#lV|C4*y zNp>~3qxsr_s>S--ePt1*QGMRPZMs4oc?S^oqgdqS`0aDU2b{vf6aucb>Ru$8`I_=Q zbE))%u`9W=kp}i7iicOA!13%g^f`mkl=IMR%!t|@yxDG)diiQANl(r!A?DU$su86$ zO>Wh&V!%po%QySk2GQ{$BgsI#NbKOccdeK{y?zYd0vQ59L$WP6Eo7^0&4W^&dfX#T zmMb%;qAxT@92ywP*B;ewPSZ#QM^@g~e;0m9cxTH^5?Ly6H7E~ps!~azM9j{ieJFZ# z>hCZ4L&v-hzyg7e2(~;fgMKChC45UVE}IjfyF||fESI-FQO+b*mib#arzDA*l|}jS zeY%w>!!3W?P`ipe$PVcoxYUE+h*P~uWP1GK)U3zP0c@piV31ymzm+wUs-LBN{0G@o zz2$I(P;FTmu`ZVRelBdvt^W4+Dy}4kq{9ZkM=U0^Y@**@rvI`7!HO*HhTO`*9E*mB zbhag*`Q74x?W@X^gF@lPr-7YBrC>+`K7`yVZdN^miDL0+np^-DQFSWV+K~diI1n5# z{n7SdiH50l-a9$l$1FzcMPkj(H~Cy8PIA7Q=dYh;%hHQKmbYbjrliqDfp~WZbPM)2jfzNP2HYp3gnKy!!yw%zM5zxfQ@aU0dEs}4@@XGV( zX!ArD<{r(v*0r0y@0bxVt1hvOVRG!_d281#&b!c5jknO0Z#qU_r!#mp_PCe9qgQ zU;OcJe_6R9b`OL;iPZ~i`m|>dPIxRhJ?4AU4(_Ok(w><^k%SA82TJckFA3e3!GfX} zxJr*&DY;Im*2>-V{DlL6>Qj@r4^8gPN@hC6VNN_BpFz2V@>r5p-yWS25LS4}(LjnJ z_l|}2s@({yNDfx|unlhsDjIWME<9QRb@dGbh%^1GcEh_h=g8eFqVopajNmeY1IK}IFFAVeNgU2{v*vTAVjc2_% zx!ZlE)A#HmPOZDqEKkZ5zj%q_YKlCt+P+?`=Onf|N`cI&lkClD^6TXj`o_RhYS|O# zek#f!Q@;J)Z&8hk$2a)~_-cKUdDF?d`7U^pBw)I5PrYi*!D{lL@>%xa9*LM)o-Rg< zzBSH%6Slw;i~CYF-<|L^#dUIxoMfleWT}r#H?Lw;#X^a%9~`;~iecM^Z;AEU)VOSz z8z7pFg^O#Nyrq~_QU?pTPS4JDY6s~|W5LWrbai$0bDhW&oUBL%-dVg=S$j(K=Fz*% zN!6rpSzlgWMp#$pxcS!)B-lnJ+&OakVYcwTw7m3<_g|(jKE|IHvWxfB5pv7Z#GCzB z?9YJ&#kh&pVPW;>75z8T3zDzD^`XsuFVFkPWtPfH8+CEZb|fPH3~xMj6R7WHC^1j7 zt?rn!Eyv%p;Le?Js!nH#$)PLMO1OT)e@<#XP$k(Ozu)lv{2(ZzE9?}(^2anh7Xg70 zdj+w@a_f*mrFifYjk|H0ikJ~!>AB`?oY~ub1Zdned&atv=-HQ*)jn0)*BhfHITprv zPSGM*-{pF%ovh?5wpORT!lUAI_7W!#T-^OXKOX4q)ll%ONIe_SE;bW5sa9bNj1nYU zoKx}zxOnQ28|-`BxWf@8#j8FVNHDwCMeL#GW&O?_lk4uM!?7x4ztRQP$E^xue{@^b z#SOe?BmBmV>Cd@ERbKFh@??R%gz4sv1v`sHs}-f=8mHmJ6NIRspx`VbYW={)S)-YU zGT4!6`jH}oRB?4$5l_ng<`El-<(|VM!;L&s$J~3m19^f@#4_-xx*7iB+114;o2-(o zfr;BBa%pK|HRe0@o&7& zcb8OLv}u+I#BAN0yT!I6Eh*bI1I<2O`p4OD@y4nbWIe}=suJs_Sy4>wZ$Om8*4KgT z=m_D8Bp_2BlGf{*?9gAO=rlvdaTtDG5X4?ZguBn=sx#Q?7iH@^kBHH!PFTW-4^7%+$J+v9Hz$z5cwD38yte$0}E^@#0kybpY{ z2NZ!tG0hY!+uMn@sbvOTsuMbd9sIF!&%8}rk&=Ziwg<{s%(M8_t z&iz=VZRQ|XT)W5~b=A271pB!fKf)BR+xE^7iGOIMCv%P@YO{TR^d{;X80Cky28)i- zP1f5TiMKd!tmblG)Qj-39^^FmC!`Fkn|jgd)*V%8O*IEzXqM#$TTQ0DFu2F#i{?76 zELBfAN~|z`GVFq)K#otoVtA4annjmJSCq3!DrnD(;D)6H-qE2C|CtI8Qh@cWGTx zj@YL!&i8uPttD(|M1yQg5Cg)*_wVcOv4>ilBUS}%C_ zYN|Nymm0!l-jzimJuHj%OCA3I>h+n>s8a>pS^|=n9_>M@?$8=PeTs>q`rZ=^H(x@! z*@#h0U!Q9nxt~4slIsS^M;6q=W14$S6Kx~)1en(7l_Kl|T{ zcm@NxqWNJFpN0n}zBdh+kx`L(t8F&y$zMj26E}C&Io{_BN=Woy+Sdu?L*Ci;f|V|% zIDOo%yiQtrE$z>X^|v+q^LT%k7)mfh@9+S};Yi5O)W;Z#aVh{Z0m$9gJ&==+NWGvD z8j~M5=pla{L|pAHNjofm{U7un(wYD>aR62LuSy<8e?CW7{`{y5s2Yg5FD~+{ATVno z)xi1~zu^e6w8q>4FZTn@&8&rzLUxpaD9m|%=>iOWX8yh|a96oDoWAL%?BB;C#Nj@u z`!AUX{>*^4x4%7x>{|J?qg6c@eav7tRZ!KP^~X2#gP&LJI-Zpo+ITmL9UgJ+BfNU` zL+T2#q`4}AtR5r5sC~ZS*Kxg3i0p3a`FbjQz;l3*&7+@0T;2;25F1h;E zy!o1WZ?~swK~;18?YP!q9v$QY?E*W3-iEu8*R;>cG&VzU+}M2z!`~IQ;i$me-`2&W z;}qkV*w|UXGUS;g_{M~$dN~FN+QllsZq_SU0mBYv!n3uDbak;h`Yh&B9oK?CeU8iD zINqMNrrrSA&#z$&e=QfNcm2=Pfz=1R70Kr(IpO{y*@7sJ-V4NT*-6^oz5iAAR%cr@p554~e(=nxlNzg)6;&gWouxt*PG&nN17ojy^VeT&DljxKOW> zkd#fk6_2Y9!iwNCe<6y0ms9_JL)V;uQ7?&Xpu)#Kg*@t^wOld}7 zq~1i;8wM04Mf^Z<4t2h})uU3>Q8KELNs+EDp9v~#8b&77)RB0Zr%%&Cqn2K#iUA3C zg{pf=2N%cE{&)ZVyBX(b(6ZZ+r7gTdKpQp~#b=u?jO0i%f{&(3w9p9n%IqL{rt z&_8WSHt(VB`tX-V%(N$~o=j>m#7{y(Y`D?2PoX|KJQ9GhYohxj9Laa1vj5uSsV#H4 zyMcF%+ja8=^?{VBzwNxs59@JRQ2&4Y@F6`3xDbF5eVD<&5dzrS%6g^#zlThdGI|of z{ZH`Wb1V7OEjC}e?Cu0QjEDCY`xjLGnklbs*<|&7MPBpIBLwt3X;QoPCnFovOx7D8A1{PD6iVZB(5(Z&3?!W!@B)$wq>ioW-52m03oMkBjB~7p?+@sD)qf! z0Pw)AHMU?M(|!|4)sg7?dAhf_Rbj9ND^8g7a&=2E*wTM>`Jd0l`5*w$76=j~_^q`O z+XL!~BWHJCk@|bPu{;S9@Ps%VOVH7&+1`bo{}VveO_$Ego^KK{IW(he5#~Lj`J!QX z|Nle{)o`^y&X2bW_(XXHnvS>NrS`}MQAZGA7=Rk}9RdMfALU9IvpPB|nDncU5P_l3 z5vg765r2WAxX7T-7chIpbNJq0B+vgIvC+&2;BL70)-6l@HsHQIr!Q~2%kuY-rT)S1Yu*OfDjX# zz{2ay+L8K7jQ3S()Kk&OYobwVtP)Nx%{MO87B9$JRD;rPipC&^Ad*D>;IudGP2dr} zMuzP8bvhvdyst;e;m%>Y+h^89jUm}{TMXCtVoSgpBrl{4f>igz_0b+(i=C!Ufu=;N ztYl%An_$a4RzVdPK$j#K@Xs7Nl$U=OVEY@Usd9318(uQ9vTtubMBe3T?W)5hbc(^J z6{jL))s)OufbD|Nr8R5)F7{37!K|j5*2~Hk)fU?3uc*C z{Ft8P8+0lFCT}A_C=gwjIwBM{TtI}-uxP?XP^vyYB_Ht*;h5K?Ml1faH)5^tJp5or zNDl2y7OSOK{0lVvxfGglxLcD#r`AT5>m&6*FzeA+w&J~d3tG9L7-TmFoq$tH*30Un z_QJ|=J39fdth(0I7p<~#_m4MOuBb|fa$pyJcR=}Dd!%0>1evON=Hht3@Ga~DSmd2E z8^F%AMx@-l1U%JyK;y3@_O0CT?)oy`6i6ig9?aoHF|O&E{R^q?fwGOIAR5!lzBHn?Ym)&whu)7?U=njVC5eQIF5mrf$Ftax*I`c5meHWx zoZzM3l}pjCoQ%xtJrFgdKL3J8m?n*0L$g6Axod>_=2@0qO3f)?f_~ihUF!TOszJuz zv?E1f8G=v#7DO)TGs(If;XiuW`}wgVr9Uc%dMj(}9x}o#*52Q=ct#7jN`JMTH2bea3r9WIc@@ zi-qB&U>5FFWk=*ok6P}T**HVw_0Y$FP1P2!oP2p+&nO^mgvxbg2Wqs}okSr5_Uo5YRkwxsri@z_H z0oZaQDFrHu{Y}`G6D?AQWOcU_lVMo8(1G2}@`21ZG3|e1)ILEQAXH+Wnv`gQ&j%V$ zE|bKqMwmCY^t-;hvNr{=nHQ(lLn=QN|L5d-=N}50HOpN+pq6ART6t-^&5Tqcp0odi zIQ+mzTA`3LjHmy|GpUZ>_O}tpcOnEuDAcU;-9duH(G7OPN4Fm@V5GRJYUrE^^qt*4 zvZIRPlA-SX$N;51KP?)jp=db3ARIg9(X(Nf~Gkvs#rj(~47 zL-i4(7!lTy4V$yYwjx^<-QGRV#`IG$vB0oaA|3|7}%2M`A2x-Qva^8vT+-1)+HvcI!6Ssr)mk=(%Ul+(a` zl6}LFhc2jEGD{YJ<=49I{OTZ};2(^ZZYfmPf5UU$^-tn4I9ZryFst6xHnQDA!w6u4 z`E?)i|H+8b9^o}=#eDiyG`a|n$+&rdM7`2i@!gLtV^Xix|A(%(467>Y+J#9;X$7P^ z1nH9QQd&s~Dd`rF?(XiAQlz`PQ;_aWN{1j)XKwU)wdPuLj&YAW+DVDk zPJZWf#jksL2)|p&_JqF`Ge2+)!7OSHnttr$ir?ruKZMv$Fb@(nHOeqCFltGM9!y47 z?Xj|vu-`2Y=Yt37&v^j8o(M!LV&wIox2YZYY;@kDM;@;H`jjwyXBSRJI3oq`)Tu%Hv*;lhK&EyD>uRM=k4^PM$bHm56l*g zmkAStgM;0z1Cr8G^6cdPn*t09j0EKIv2U4BAs%TxARAUKI|~ZJ*0og;4Ls3;^zGtS zSaqS^u-@W+M$(HKWf>7?&c9JTIa>a9ZT#kLWLSsfEFe*{){3X<^hhqS`hnN+0ulC^ zWy-z39K#d6r;Htdl#$G9K)Hi0SyvBSbJp5LhfblR+R5jI{{H?S{8+>hhUMx7Qw}3< z6Sb`;NR=xpDrDrVm}vG6YqmT`GkrpZ>gwxx4Br^-py7W(Xh2Ekw$f@PU2bPu$^QJ`zGdZ#BKh}cZ?F+Ah^)+8ta_JCTy(dU z+fOF2SY0*{&@=0a4zkjMBB{1>O!$w~Z>;79p#yud_620yE7dKGoX-8i_50%E$tJVq zW>>A-j$OBWAcK_c9g6=OoL7w=x&3m*t1Jpg_=^@kxUdqDX$&}+jwu1P-_5r0{RE*W-&e&bKcIrs z+GNckk055&uAUl`P05!_v}cU-NKZf_b5|NNYDFx~ZGTT%M`bb!B$-))CQ@ntWwnJ2 zJBGW;?k(iNL)gt8_^iu$hnkg#Dz4ODBl|vo zGj%0eS(#G7O%zg`!gw2ADRlj(UD2l1yjS4O$cMf>*CkYq7MAHyn!RrBy;Dz+6p+&H z#$|o)6Rn}7G=%u@2hWR($m5XBmH^IHDeUH|amO#^QfIQ4&Cp3y-u{#hP zR+mM_FaKQqTl}xRX|zE{;?ox#wt9Xi?cdOw7E~(8IFZCoQ;6gm$gCW2U_Fl1LJS%b z-56jzS_B}&Q5C^2$2WC7KkV^IieM`t;K53g-($B=bTs`?p!*rqFD+!Un{%d;@U~z1 zCkY+g5x-Q2^99I5v67=WyOWU2?R@g{8ATYGRx-7BlS-v@|2J$HY#2n&G2%(p0`voV z1?n#jc@hei%aZ2lHEy@=?Z%(9{{0qAMlZF%Q^2hl;?8 zd;f%0dxer4E1iIDK2Ns|2G0z@mVsje)~}6tKMi?;dG?N5xNg6(4Epunl-b~;LAqTH zb{rYTYc)2)Mdak(!$q1-Ij(<2n1NYZP3WzO7vEdPEU(77w`uRBxnF3}Lb#pdD{fy7 z7AJj-nID*}H<^84XZ!ZHJmM>8nVs%Sr3HdKznMWxFN&>vg^ZY8Qgb}e_U8@ZTRLn|=Ip*2Wo zV*YWBD4VD@_WFw9KbQOOs==U#+!vZrE?8r}y*8cxD8ASop3w`3 zRr!J#TxQdnQs}p0v^VU!Le{fyX@Bjo(BCF`T&B+154+B{{jP4~$%eNy5;KQqV|KCQB@RtGx~CmsraK#jRe2keS*5K z*-vrs|G!ik?2Un4>Z_@5v=!aPN$+R@gD-bi+Lwvl1eX?0a-j2%QaGx6qtn8>R7MJK z3%WOz0+)*pFG}BUiFZCXlEz?#r>iAag z^JP-qK2_+uB!WE~;H~;-{645V3`@?Iu{iq#y7vVzg@}^P=k?#wCNXF$Y_+h;$T>D@ zd@r;3AaJJ>ww(oee{V)xm3c@9LMb?yGP-ATBuMrE^;e2e_9sw;SMM z$5<}hj^9ePKAq-I@S>m1x=AVoxG!X=-SU6*_?@%iavf<^ z={ou7$hNglSCUj*1iMg(EAy_b?U_mK*SAcs>F*LlI3(yP(73)S%Y0MWbB6tuhq5v@ zILMxJ?{bw>Vc3`2|6pi^A$()&a9A#m8KlMtT`URzATSC2hGC@ zB!Iq@$pkCwUWEZIGY&M)E3|6~V@eG#15W&&%>!pYUuYx!z0O9@737=R_lWa92m4Kj zw0A#4)sh?@GJJKH)1BbD)TK%?_b&Kmw`z)ig#Xq~QyC{N)-!Jp4^r&9_+nhEqV2KONMlbD{7(bA@ zm5moi+bm2oSN?G4Cc4nBvrLTGn;HD_#LG44Oz`7AVyhZkUM!RLMN+(Tyo<1X_*zc& zMi~u|9b^pvE;B87Srqm4@YVtHl#&mpC~)F$X>V>J4#LpcLp_ulzJR_e?d1}HMn*e` zECh8OnlBQ4jVSh^>Gk*my9V)cn#a@RZh%qS8F+4W7Kd*m%<>l43C99>EKNnL6@O0_ z`hFZ?wf_z_z@=J&QVK8lbQ>LuQ-*RS!!|;nmtx878whv+0Tqq|HEM9|CuvgG&sVxo zVf-s?yfFm$tPJu@$H%cWERYB?;pJgML%Nk81o5Diw4fe}I?;Cr9l;>L9#{Z!ij6)6 z$XyOQE}W-sUCy6?v)wQkFn3{XGpNpRJ8b9_V5(RgA(?x^sY@{Je>YR6r8F}zn`evr*$B_p z)noH2%46*T9p7bGOW{jy^s4fPpe11*uO;<=yMi+^?<1hF(qHSl_L?>5$xy6KYSyUe z${<_FBhC}4rL>Ab7hT9``eii4K0TeUcYSexd2s)9dNik6*LlgQ)q^+0I0L^>*XEpk z?^0W5yi?=uN;Gotm$z}IA|B#EXIKy4cDkXEfdF_q_x|X)?@HoI@fr4pmm6GuK#O$- zO?$x+=w>hLr4+%F(|#8w@@>Ax2v`Ezk8sV%fE6AV>f4njF^(Sv_C!Nq+_>?ajyjFi z4DXIcJ~0`k?fkoZB(`&kCe_R@adtS}(5j|*C=YDxvFr)_FOXYM6H5KD^-Tleumt7^<^ zqnko6jHd1616pTlZFnf*Dezk)@I%fyPy8LBUrb;qLd0#&>dyMo-@v3yaWk=*PYEb& zH(s0aZ7Gj(XakEX&3fA$*`GvHy;o+Mli{M*G18=KtlWqOPq{A3ukqb%4~qUC>Ct7# zpAW)|Yqaut-h9WC@FaklF40``pD=a1Nn+8a4tqMBXw?)i)-+81fd~&4D?oF~spOJc z;1-yubIN(*wY_E59su6L!}6r0zJQ)gC@!M(Jp=HSQ>C&HkxYvcaRQ{uQI`whwSCP zsFSl%YpXv%j9Hog@!Y8AyJY2hS%As2=ZSZ_{`V{~kM}CQ-1D}!Mqsgitkm|kAk}(} zCn9*cAY@l}&c%@UyXEe$Us0e(|MJ6P!C-pc4tX8C$xxV1S=M&Z$X7rzHU#XD^F4xA z{XNfzm^Xu%#)K|Qii1}#5H{bI_Q*d?!&jiBcj0!G-9qHFjvZc%EW8C3W%eq$K9y%M zHDwAT8DsJBEebY!8(^bDoOawRp#aknh)Yk&2GFK>o7`$(L1d|&^) zvsi>%1w|(s(?38k&m~R6{AFZckEn(;TkFp+UpK%klZ*5o5QO^)I5g_WxPs_g8?5@s z5tkexuT5SM6e``wA`?t=e;6mn<+AHUp-XPYzd5AhA0o}AN3JSr*#31VIgo$w?>@SU zd+*#++G*>pwdHwbz2CiUlNmBdzc7z(Qo65f~Oi9B9 z7*F(3Pjx|{cAIChBD6O^D)A}km*B^t&QFTHXH>eGDl}mkZgcF$uY;*%Blr2*DwejJ zPr+nh);~297(W(hU*b2)1CC7o5t2thk_Zjh^m$paR{1+${HoxnTwcMrbc}xX!(w(a zgjv^1&bRU+Wg}Z%&!a{YM??ZRmP~b8? zq}En-%EiA{^;d6H|5!Ww;}4(-<(uAKxLZEqCG)Ro@w(7DN^E9bv`B>0hau0!2u<}% zQnZd_Xd7A#7AkL(-W*EeVNzN>YQ47hgY}?SCYqLV)uYt4d_q3`D~=;aqvHMP&#z^H zp-=oZrxv>o^>)1H|Lq&)>R78D*)rkAD^kg7jQ6ZeA8wAly@VVc$&ah0Cw{zBA8gMg zG3qy6`h4?qJ!ff#-{M)H`;Cv<%ccmVsT% zkkNG}yWrqp$KCU?N+T0qDA0x;t-@I3>5Gh-7j77cd>kCAjZOz9og4CG@3f@6gta1H zI8?JCV_|#8)L70{(h_GZ!de^Vk&V%F`npIBz^yDs2F1ivmoeE;ehH&4Oaym(Xu*bv zi}VT;S<}YJ>^WcI03Z9+%z(YiNmoD-BF>WMpWVVkiM=j1HW9&Q##GlWt$);y|wv-i#@@T*EgC<=3p;kI#@Z`kQG ziFnxRe3;umSPCD+QE%rV=~Q?tEch_8H8ML!W;Xrr`@VmB=-9}|L4s)>YfgW(5=NO& zsNkbTCq?Wn$CN`T}6X`_Q(&oBoi2;Nk-e-omb#>Pu5;r`MGrRyn5zdNC&3 z+#IgR{n{d<&*Hu4OGb3Zrmd!&vo04fJDGl7p*MMXLU#T&{XQ*WFjx1ezsNFb9J&hj z#m@0F(@9KfoqKp~rKu!rUfmzEA6?f4+`u&J8KuujMHZ)h>bY;1R5mRDD{@T)H$}p- z>B20nn97_V$!LJ{&1$7WwU%Gc-y&m$Xn54jEZ}qb)#m{dI-=Xbgs+>Q!>NqBr}hPC zhF!03PD0o{fJ*B~*Jlk#2-x>-*--1B6eN6oJNU9(02LA&xecx@??P@8}{2#qGpvTO}0#apKyno z^FyKQZHc?@go3WM)mnc z!nVs76SF9cT$P_3TVG3783+t~I~^0qE5CS;eaUNyVE{V)H0||(!(_wAlNP3ukxO3! zx;$32w5F9?Dn;ew9L7MIdC7m56@`pvpUxur{d+kj|J)vBQTDgF%TVp;O^!gAK7wp$ zJpv9N+f}OeQ&{^71m%G|xkp?yPC}zD{t=i&+`}$ZN#dmcdt0_=<2|`6F;wN`y(DZ4R5_wYYrga+&-epr!nt%9|&# z+YN94!quxxUa!TWhH~gK_9~P9I|0E*^e2RLCaIG|7(63P{&Kwk3-{^H*t=S(+sP79bdUj>S~A0OWV* z$bj-HF3X4Sj8O1py?`S%)d3W80!Wnv%#7Ew9Cy2-Y}eTqc6@{@r5i7@W#v+{N$Jv- ziYT2^GxcI8ZHudX2b-&U1MRBKddarY?{_{z_DA=>VkXEOiYAObQ!%~{Nb=n_V~{2wd|h4 zYnRJ##&d9K#*hF_I-tfHR4uCTqyagd=<2K13|3s&NBCK<-v<1C+zcJqv<-`Vsl7pf)o z+6d6od^PPqEoopcmiE#-aY$5iUDG?=_I3TfTJm*cZ;hOz#LcreoUp+0iLjApGqi~zhRpkc zK`UKvyMq``antkMf*!jx2S#7`q6(04E6_Q=`uD*r2fL1v+zCu-+Dto@oDc{v9@mlnZPC1qSJeu zsO@JjSDef0*HPEv%&8vJ>`6run+@(HJXe3QvTaBHxV2sz+wGX5AL86d?Q-R0|aST4{6O078Ki2ZYP5MU=u|PIJ6kc?u6=NGXE$(=7xiZ|{v+8C1$_BGPLCr_72%~| zBExPAQ-(h^X5q2u4xc;A8D4+)MMQh`&V>IWoH0#^tf=*`VCCs8**u4JO6Z0O!U6AzLu_8@cbBt4Tl=4fSllj-3si$ogJ_Hmv^vI*<*mbKF&NAjDRs&vbe5T)ouNd|S)YolcqisGll| zQ+E&y8TvUTPpW6GtxzOQ-PwPF6}VLazP%~@&ZWE0sO5G0^0ovZg1=Y&_#{xDMJc!# z@;mP6500(ndw>OZ&>?d4o~W0OB2@vgRea~;;*Ya5t15@q6hI#4DBm`5jv6rmIvI8u zweGkFa%@MY&G*kC>2|$@ThKupm*J_K$u3Zta-QXqRW1XVpnyR}0eu<_FS*CyV(^%? zs-wMbAY|-z-zA3FZNpUDK#Ee@@#*zp(^!9iD3Ta=CYpR<=BF=L%-g*Cq!WicNS(5>{$v+ zJH6_|9YjTjUWVq=^a-}D=0c3euf~pxv8~J9X zYPNSu{-UV+#t7y=N{y#I^&CdH#OQe~R3sbiW65Fh@aa~TKr~{!+jKak{TSwWig#hUkySczPo5hdvd8f z<1(kludQb_2$n_Os={?7b8p<@1%;Q*0Qj2sqrVOoW)?3~Yd)$=thO!#CWh1rb>n{Z zqykz(+=@o7OnZQ7FrPmC?(N4TV#ptoMX#0HQGOA-j$l@+c}|e+5$<}p6IQX3k+cS& zV>S)xC92Y2Y4D^@hh#CBSTX)kWR-0_4fpDpthb6B)dKRY^NvmFcv#<`0dNVhzII<_ zn^K}yWp8tIX#6b`ctxPdF>bkf;u(id7MhUWP6L>jGfd$(=|e zN&px9vUA+^=AX*MZP_kxrzqg=Mm4I^1{`So_c ze%SCw)A}1*d&_;e!XOINb!RQ;6&}o`Fh);<^zq3k>|F8?usgK~?5M9Xo1|^X?m@H* zT-x(sZN)P1wc7+}Zxom3I0trs=J*+*h0?)8CDiU24m0XS2dA(8%BfodHMeh>*`9Hu z>o1x&wif7A@jhq>+e>(m4cU^t?_+qj)vzO~b;U?4#9c1+=Z~+Zc=qx3!T4&OFWg!t z<+Ru5R{s)$Io%%bduQ$&k%x^F)wJcz+~ zo<3Z*KrMLtL9^8|#&WJ&ncGUow7ZTS$;yusrrF_=l+KOBU1McC38w7L&|8%@T@Qm1 zy38ljGx@%6%XFDnJT5b25qA1mzGPUG*m+xyr4XhBKGx-#US@n4YDH%uXLmQwNN`L~ zNRwFw?%OIN6)Stx*;{UkpmaNg#mWVrg19NGM1<^fQBQ$`8c%Hy6_6{i9mPkBx&}B= zGLB)f0g(+PN57x-rJeM5D%fkLS-|Mp^@7k6jCYT*Zv)hYLs=8CJP&EuTf~p4bC?Ir zQiQLqJKZAc=3gscb}aGKT}uSiGrSrFyMLLHnFn~DidoJOS6-mr7W4IRDCZ$(r8RO!J;j4^fl!hShIQW8GDfDkppx@3A%F<@{c zC*e5@|An~8e;{KuMkwQLBGM3xQH(iub~ia4B)+>Fsu)yxXQVaFIjJB4)BBpS%vNv! zMp=pJ>ZIDra{)-pmI-ktQTT=bM%8qi^U*Tj3sV#_8q|RV7@@@VMXH4v8~Hm#9E{T@ z`S%@aSgzjmm>+Nnv@&lphEw?aZdzC|FXqHVtw73fqL1Grs6B#QIe=s#NMn|G zh=RDv$%ukk$`G@rzoTA$xE;%iBp8h{=P$JH9soNH0MpS8JspW7YbD*-AHyI0rq{$c zU9CAJ{L!&Z!^5huq&V)tT1A^_lYYa!wDBinTzhEApuZWn*eg1TF?d9#v#D<#Xc%QTDB_flu;%b_|V_){|aho>LQA7*ahY7`Xw z*XUie1FEuvf#0JlUj=ibcBcNA3q@NV1*rwN`TpN0Yb?}N6Msam^-b0yTIso;NLEc{ zza7yEm=rGDF{=N{EpnZPH;!mwQ1ShT#ns{{(?F( zW?@}DeD9ygAm3uZZ)Y#8wZUp`k`%qX<`)?8UPf)XcU!l%OWhi}pKYO7G)_2CL$ z>EpP`r6eOc;swR2`r%DL>f>JioY8LAtiAq5q7mfq-0lseLki zDyOI2ni)4-K7svt$_GCX%$;@%xReW=NHy5MY$qdlQrh4LZ(^&XEshVRmH)G$b7j_o z$sA~G0TuN_`wk)hjLrP}E&H{BP55p9KA{9TH&KXmC7HJM7$!pJ&T*r}1Qgbr^RLUl zQS8azGPJ^7s;Vq_$-?`__{ZRrt;ObTq=C=j5h}a;-1e3&VZ#l*5zpxUY#Srl4CMBN zeSRMhTJdvMYp>bum8ZbfM!@zZfe|~&8H?CfY(%zdE+Wbysc84dh*D5 zIV*UcQ75M~rb%O>Q^lyzC`d$VggRkR*zgIbC;g=z-VJ@a*3$eB6y_G~UXS^Ak342y zvop@bzAWUH)!{arHyW^)qcql?k$QHha`RQK^nLU55Czx8HRHk3Z&B|h`RF`XTe^qn z4g3aFbXrAO_y!`s&ip-N@DcXs4OpViadtcDFi!IJ>PQ!KuR)8Qnhr<*sf4SKW6-%Y z$=B%QB8-C+#gMH!5Tu8K!I=TWq02eT+mhs?BjvT~PTAW-*CTOjql(jQlQbee$RLhC zioF3b>h(MHCTY*J+<7>84C|(Y+HtodXXb7Ckvg8>q_>oh<0y_e);6&NQ&w8C;Y5=u z`iAuWb(UFJtJk$Mi-(e51{m zC{&(cT+Bji7kP4c%${mK$kJMzsQQ;15^avq-z0|j77P1NBzvSONz~CQ3(_?$8G7Tg z8vuotE!Ih^NcpL#n*6zGBIN($1(4Z7E8JIQ*u8XkR0*E{IF%f+fcnW1Ct>tgfPkH@ z*&4GK_6zPWNaF*K0Xqou^yj_D^yuTXx|D$cW?0@;lQw)hiAv!6VoD>$gdFN6MzEy( zz+37;-XD{PQ9%!={BPt5(3!@NKbxbpuLY5aJ@L+{K1&2_wd+AWI4rO^7C#>7gMZyU&((DflhZl{r)jD3NEgB zgk1t*Q)f*cWQ5XnNGs|t1 zkVBHeuJZJ_9ss=QEK2JMOF+4&h_55wHM))xkB|8rP8&j@oGl$r98R>y%HqSx z+Ji$m8OLn0Ckepgf-WT`1v*NhEnQgP2eJSz8j(8wH@vl$1Eu~ob;jc-f9W##$oq>8 z8RoD}L&O0n%1VO!Z?}9Y$wKe9qY8(n3`jPQvf>j_+kV8%=|ytAul&Z{6lrv)B--n- zsJvXy^^O)p{vfQVN4)N#UZ#h0qdW#1QGvjTndkAM>gkf{#f3|g^yq!d^U``T83CD( z7iu{9t3@nP+ey#P=*tlk4nf3%5XCy9q{Y8e1 z&?6>V5BYNi206y&52`~Fh{#6J`u+8Br2XqOA^U>}kBwNxCb@45T0<-uZbN;K7gCw~ znEyB>USOWbxZRgUh2Lf8HM=Ywp33Q_#|r8;*yn>x>HdbMlS7+I$d1$B1_2W}oP_@^ z2+(GLGEm%quLYT8K|t2vvy-bHVa)h zE4y642_5}yQ~?4%uJf&z8rea<^dy%|VsoT4vvaQ-NSSsB#^WT-cm}{b!1InajO6Q$ zKXChpjfm8H0ItVpU^FjgruBO`H6a7t83az)189VRh73J0Dp=k8#f}idfc_Yd*>{Oi zUI@B_%$#=b4d5qPR;9acrF1s$1eE}mMwJ;_tOGFl`wnI;XG~bK6SaW+gtDge)eWySq0!r&e#mHNTRI0Cj^kW}}gq=bp@pn5WV9h|~$ zXWL`W&Sy)QO-G*f8ngyu*#~)lF(?df1k@+?gD{7S*ovY|^rRQrY4Pe;8a9{UCE3q;C5aw44!1h;ot!Ieq4@`$;HbryO4FYwUkR zYyyrY_MlrH0OTObJgEq|^ei^RK>riePqNTR<0Ar%!z(t-xIJhtIs~y@kmuhCYD1~? z^&@lDMU!@&b*1f^nCi2LlgSKrGkR2j$Z%7P=2mA{S4 zi1hGQ!G`b>!i$@_0){U+Qx*gjfo;I<0AzpTH|*qw837qgrOC*%vnD&>%!XPs2SsQ8 zc#f;Tu(Zp`-bi@y?q#^~st0mQznS~qw>ku4(j!Np5{OvK(Ydk@8LBS>q|~4VX0Ij1q>driaih=G(??Ui|Y*{6I9XI?*wGjIB=(h<>|h zAWWN$B(Vqk(;W2eHv=Cr)y9A4+^hg*uQj&AzN$3OAk6BjS<$OGd-f&^FNTTT_p;9D zu=Mv>3+H>!2774<+4pumRZh2Pw{9*-Ose|4nz2NiKdd%@r3!U5TPJ48!3q^(aZ3EH zOq26i?v_FlGe+3t-XOKpWzNE{cA3qk*spT~bv=Lkfl51zkBrCic9EW$Kot#b-zFz4nc~GHo!{vlkD!u=m0X39B9CD8 z=8c!z%sN4(6lSM7n*G%=IeKzIvS4&p@Ys&r{?FEaAcZ%Vlb-v$UhAEC@?5D_#ne^D zSVQduA*Hc@LI&A;u>(}Td*6~11|lWGhr+Tvi%P#M`efY`xQlN2sYuleNCXQhYq-2r z9tR4*Gl7w0B|A^UFKQ#)V%hQ9p|L#|Ln9wMyHVyK2kf6%k>u@qtCo$8gh1sL!PcQm zR^0^Gs?~*ug#;fUU?M_bau)vrKv6U()}epVAAULhYl5H>gXNLFCa)iF)CZt| z8Kt1mpB<`>V-ZI^f`BC|v0b)5s)De2H{b^j-&RNku(l3V8xZ?hH=fX*Is1qr=E0!A zc6|WJbhNpF$YNXKMkoTo?jgC^*Q9}H0)CktMJLto{(=@HK9u~?kn~M`CG%|IJ(K9b8IG;vZ#Ev?INyVGLY|ee+P|` zcHOV&>(uBqcLTs^gtAW&BD%2B)#>KQQ)zhF8v-^u)4Cts%w z_k}*KK6>LE1l)Xyf`d!H0&LirQ}suX0)_gxsz58W|%fC`L%QP$oe{;V?j z7RNUR7InV2I-h{_@IL*r{c{LcfXj=LOJ95y92RV?z9{D~G_Cy;oP>prX2Xq(PX`aQ zc@a@j?{Ta67x7QyZIJ^6CQ)#Yrfal6nz3%zc?-}^Ru-gu%!NC)k97{%JMnFNA|jl* z)#-gdn8;u;EmXDP&9=DLn`h)>Y~4rYqX$ArMr`myi7eKcL0?)k#S}r_L6m71yCsRu z_e8@+@xM?YsgQjz_bSn;`Q9(Vz#Y5NfFenVnDXjux{B0^Y;k7WNw_qFK67MX}OYE{jZXR&`2c+Ak zb%$`Td$+~$Icz7l;oA$9k0sXJ5xfcZZ1)z+70Jvm*ygS&fv*$26hy}dP>`PwyqVtv z6odo|Cvo2wcJJI?E@$(_mLd3t6$Wr0J5h4(hh8~cRZ3QV=&+zMlI86PNzu=Eqq=)jK&c zmF+w!Coi23ncR=7n{bCEM>0-WnINxe8pDmMbZrDZnk8bz@!qk|S8d&eKQc`|wK=B5 zhwb$N@(IqljSgQWd!Ds-y*uq1wdSG^NZW!(ooJ9n*M{RI4GK%&1+J-1EZY3=g|#k7 zh{KrPK)))%rsICn^GH4%&6VbP+LD%MS@WOJ0fsKbk<^SN#}cjKfRU|FvTUJK^bX?Jv6D8jXqSA2%K;*CYJzTTWnu z_Uqnr9yF3wTr+5jqZkJ-k+)j=@YrN@&c>!kKix-EdMrFGR%wYG{(WmIeYHZ#UuzTB z0qB6k+T)kPyY_Z_qm}M+Dsc$q_CeDjcFpoIiI;yEV-Sw3qJ*OZ@9hRrxy;jdj+QG1 zE|6QQDQsLMj-_0y4#v{?CYvo!aO6L%%HH$J3f-QoQcz%R^bH9nx`DM@=!;UH;=0gU z0v$rTPZ&(jLO!wL+Ky~h{**G!EB49*g`SiHh1_^3{4*!pU96%agPNw83Rzp)AkbAG zk|mTL3@&a;lC{bb7E&%?VUo3AjG-3i+q=E;ta z=@g<_Xm!R}S9WR#*iS9F=7%$t^pkoP>Lf#J&kY_@InuqsVhtG5kB?o_PYB>`j$+#q zWv=WuBXBm_)-uDk8LvNRL8wtk6@^TxZvzs)JpFgjc5p%M4- z4Tr%%TmJU(C8~g&09lpVsB5vDL-QX3i>r*|MVHj5`Uw#=tiCS)%&?}>l#ak>EhetU*wvtMy&$^+V!?BzNGxx)2C4+ONw9K z*t}Piw5}>JNs0^ICm4rSOsp9Nr7?$p5G|P23*b%J)DC*Vg!NA@vmqlzP+oGmus*^d zCU6S*+mM%!VV6t2EhGOYUXq?^Dp>Sb0;7Qs_Ndw6xKATy@Zi1wgYL*T$bht!n=TGZ z0it}7wtC0}{+O+a6m1hJtZ-@(-7go<9OC9m1C3=UX zT7^a^F?Mt2=X9w;^8X);&ted7;D50Ab09rY8K>xO`{tnfd-D;>R}s&euEC+LM7@w zm38PmmdLG|c><~s3sRFh@`0eFmUWW3KyS9&rXeI7XI#_WuQ$IBlm>XKBGO%LYWswL zgtpN%X{#t-BNQ!|a(caP)=PhVaD=-m1XXS&D5T*G_GL$p}rKiC5|^@@lI{YfIms6u(t zNGwFmMWO6*CSR%*RKVq_-gx}B)` zA6?LaF~d<-lBrow=#zr@6`4X`5#rn%>P;S5`Vct5_Zz|8#$f0WAgiGRsK;?44xsN3 z;r{YCdNKLb2hfRLr?22Y;7Ix6b^MxHb-XBf34bA^BP?6=@<>>6-KXtPzFDhJaq7`9 zo8V@g^mk+ZLdV^E{l-_<+%+tj)+tVUf6+T~VkqN=YjY?Q2y1k`rPZ-|KLP=q58d}dsPy$L-ocm%F7)jT^%$@I+V;TW@dvD zIFCg}bAWmVMK?c)`r=CdLH}qTx z-L8k#Q4f1Tv4}oM$fDg{239TPWS+ls=IBteej%`ERm&&|ov^R6x! zdMZ_s!E5&3*K`~s=N?!)ByDYTB>^%8pEOS|l>dTW23oZtX)=%a5146gv$uXeD>tX7 zOf>$3Js4i5z>FsP& z!bFEr&}a^KW-cv;mw7z&$n?QbhUC2&KPQs+QHv}$98AysS>L4b&+^FAOGP>PfR&&9 z`z(E_Y_m}5C%ab>IYj7?-exiN1#VC=Mf>HW9jM|-2|*;U`Ad7o*G>N zb(+!S*6W`G50ZP#{E(WSyls2jA+JW7TzCdmQ%`>dG39xGWAz+o7%~4YwBy zuO-u=M&b(m2h~b^3?2L+{M-+149lUted79H*(ALDo}JO8pZ}=Y5M9W>y9uSl_0k2f zX*Z$G)a+c%si;F#qu23enx1YZP2I5FB?{yppyJT&;wx&l)*0Yy@Ob?Qv$BEVDa+s} ztdHmmLb<0^*`_>%gy+v5?j$NPT;x%kj24CI6YsaMvyf$KTxIWd%y*Loirj5Pl8L4x z3Cj0Bnc5r=twy;#A)*YLg5p|6m(lk^?%&+6b*0TN4+r0ws#L8Z8UuSDm0BImzEND3 zK`Jh)!b~(>I00hg!T1=eNM6cc@buE)H}bANkYSXCG~9-rQA2}i@ZJmL0!`Q}F^Zgw zUlaFtmu-mRFrfrFZS+)t2ie@f8D6+~P}h?z^4}PVN7cKta8u4#Pd84}{8o4`7D0-| zhzoQuO6Vdo@RJYsk{XD&ZR)Fk?Z}}&ySPYFUu@p=Za6~ZSHytI; zi}nN{36x5s^3{YnFCBu?x?ef;Dl7Zm_fTBP%S{My{<&@DEHR)E3GA}zbc(oyq5ps^ z+2Err0Fa2$kd&`xmN%1!V({;?;y$qh)D5(O<7SCD$=@CKKrI!M!eN@~_LTFI_cDsD z`3$1NK87#TLreqy*D8Eq|8!rS}~P4$5bD@p)`)*xL2LDO3oS^9U4)v~EwiH5pDJT}XgqtF>+ zI>f!sdMW%88PZc+m}#!7@P$Nun7&I<)9hA;R%a&Z3)z5prQ~*Ti}uZ#%ZkYOh^*K1)Jrpo!@WTugC}*_M%?_7Pb)&9|8Qt`NH*iP-Ph0}J3ZtD z9f3C-Ye)Ky3FHVJ{bJkunZ{#deRrq<*TJu-ORoutBTLQwxib&L3MC~h8F~3Q$^cHd z_Qfdh$7>$8TrRh}`T2%P3WXCR#pHkhzJdMH+kA<_Fq)S0iC%~zeCGZC#wIN>2QR!s zc}n#BkhzQwXi<4Wg^ct#!H6Ki@EviABZ~4Za9rAq&JF4(tGZ{s?Q%)MXt=VO5wQ9| zne=h@dryg9HH%Yq!$OPw{91o+v(w&N2#OncPDlO-&m&tjU(8#Kpuy}(xyl-iy8LvR zTYp9$TxRBYYiexw**;^bg(wj75mNu@tVhBjfH~Ul0%7D5Ztuz~7mj}XRUJ7$@2kx? z;u1KgFD{v&6(Gu^lq1{do7CN_lN^BXTaS`Cge&737K3HlNm@9GEVFAS#LQ#tRj8xj z9CdN&Vm3B5rfL3jk-n06Y%Mn5BC*4RpxC@+q+)uv--I&Oczam0opA|r;L=Wq}goLkOO?32_dj76a?^0*l^cFENujt0El+r-;7t~ zye>tQh0fceEf82YaI7OweQ+>xqD@~a%P%#49C~rG>3-=2;?UWdEmFllp4zaB zLqVm1p0W^b??Cn#X;eZG%K&zi-p~EA>;dPI<-&n9peVA+9`_U2JYEJ=D-RFdOUPi# zjNQ5}8FV9Ku?$}nk~e6!B;vy$^}4aMlO9|fp+oigfS(!kpg}6YHG@BKQ>=y$P2RaSiVM8wA0?A`mH* zH{bCYk2MoiXD!Q^z)4FRdzNH z`eqiS|IYTyk&l;xDSg+~X4%GH=r+%~&y-Um=aU(y)ZEg;TD&z4(t}J;tEHgA(sRe# zwlE>lRCa)3gNUr+bc0x=&M+MW0wg)oH{a>q^hIUr(~fZr9rc;CYsh~J z)t8MOv@T?K)fm_}UgO9ORNP8LxPg3w)a}S$w`yvugw#Id8+~1oPoQfvcFOJNawor~ zd0IXT86UK)tL=JT*82Wb7;9;wSd}i$uxrb(oj1VXu{dmur$F5QA?qvys_NRUz3G%L zgYGT?X(T12MY>bEyHP;8y988}?(PmjP>}BKZusWL=Xt;Pob$_n>RNlvwdOtM7}q%S zn0v%vqQ>!?|LT0-_Kbd&NTSb>;ABTK;>+KZx$}n?sBDEU90jgUf{~rHf6-EzNg)Q zWLu42s8Ob6Wu5LMxg$J8^Y* z0vImmJ#MX6ZlAEKc?lNwGlHO_EpFov#bl;RT27MHt%KB9x5&CW`gfpy_`Kz_A&lFf zsu`u@WuD-9ig0S#J57q!fdrm`8lt5A>s7|Y0ifKxc6b}F&RVuJL?c;g{qme#hQLSm z+uQFXwc%lT(LQ)ov_N#}O^oTx4r1q*A&A$gDVr8#$=SCl$7V=JOXas#I%hTa(cV61 zvKPWQ6i^iOpSKaXNDL`Gq}*$JX10kWtJMEum<&5MQP=zQO->_?@6)-ed#c#VJ}T?` z7t`Qn<>|scr2_=MHU9SNNE|7e-3Ja!YqO-^>WIV=3(Twhqv1|83So4J<#=KAuDqI% z-Q=eEnijWp{OhL^DV`=K7*mK65b@a!>ruuY05 z)tlNQUdtQyb$Q$d91+x0e<%4cKOGh8s9o+R@%n>Mu^=X-qPn#! zu!s0bS3|d4$R$N?HTHRkq%hF<&?TIcq+1#9Y01(48a{VsgmSj;%;82@@PyC0gH^$U z?xP>IY}0g3&huA8dyswR>Kay!g?H}UuK|Bq{x{tI3%Vik$qS`Aht(VT^-XPEwqs8h zsPdyosgN1;JM8btoh&k*w4+bZGKeth?yL5_0p>!T-9j!Wyu01$YU8JnXOxfuSeNL} z!id(xy7EtQ&3>@3kFl*Z(k+CHxcgLI_`haM-)(AdZ>iasT+d8Ukr$#amw#?4&8}Um zN2YEjLm?>&r?k^2a61~tDxERqEUNc;c`zbcjN>&Y3s)w)q9WpVkVm&?nGpIryh{4* z&j9@h;f(f#*yLG>@VvwWOUH{X+W!mr54TKNLsFoEj>X2r#N_(=L?#(!6Cp9kqDNPT zJ-krCU!sp~H+qjhNq<;Uf9X4B@hDv<_sSyAeJkmnQBF7E1*a5IT&HSwWh@hDE_*zHn2c+~D>@eB(f# zYN<9`hyMYvd#5lEzwCp*{S%|mp_LiuV>wZrz$~w7rnm}5%t~zO@{*AJXl_EB)o2aa zf`*zrcM#iqGi>VYvcBnpz!=6SaB z_&$J0@E9mkrG1e}V0&0jHC@ePLVmg38H)S5ZqlMfK~~Lpemj-R(iG>#r`pMnkY?iZ z_CDa#LZNm)=K>a7<=tTAG)iJhAg$$5;}gA74y6z_TtRkx{L_zabR{JF8|2alx*gY- z7N+12WiqxPe}jC64@@7w#D#5K$72i&6(4jzGGT1}lm;V6h}r4j_uyIn7!YLrc$=`> z(4R0%(`VuOC>n7Wsh8au?ZeW36RAfbG_%;+=GO{7p6}2z3(_rp4$$LRCl6zrSmY9o zr_Vk!z16mVA3ZoSp01!~y6?PF{umU@Nt?>*c;Nl?mUgXf7>n1LN#bC0(cNdxhs;vL zcC3w6TWbaKe+ZOisT0@K9aZMGaf;>TUrnIn6aYr0oJMGl#axB}r|hN87f-$!O1e35 z48!Mjz+U{`+|T=^IB9fJZzAz5A;(5Cc*ocskSX>m-H$CL!Z5ueacR*~jb81*^7}IH zbC%yTkI66i<>4CqBU=GM{`F`Rp|0CYA)r-NDBuWfSLsxm$7IvRlIA(A_8$R%12q|W zW15Ll5RpoCl*g*#UpUR-a?jJp2Z~UE3>q`bEgS)6D&wB8`aNjkCdQnJlphSuubp9Q zdV!DWGx&^Oi^9IWnt_JH+--mO!zj&poNO4xwo@RXsGAL?ni!`DdDlyGhs6$i6AKyE z@{*qFjWk8nV=!5L-!vZ9qwOhk$z)5d>Qhv{4@A#!T=8o1s03e+Z&!3oy3y|z96$C%~kizEOL`x<%5fp z4DJyJm4o3ii}G^eM%C4Ie|bhy-BuM~r47ZE?w3x)93%N_R#~RJBL*a@IDj_ncN`Wp zLzHpFW6}KqtW4H;2;-!=ud>;)|CD{chMJb<+E8$5de?^1OpaD|wwMhBa!u_4wu7i- z1z?U$MKgW>lO^kmBy=YJ5CPm|(g0hX51M@(+7Jknqm8cxTN^>X%*B1dA1R!6_J^~%{89cU`=peTCL+IKHSmDf!LE3Z_$Y`HIUR2;Q zKIck?>l}N(Flup{`W0jzj4C?K_jjIcMn01!Nhw_WKuf#w^lO>F`IO07qh0Xl3kQ~J zz6`$mn1QA``m| z&0IUwPb7|NClpS*`!eVy!9J8*W7=Q2R8WaWBU`>Kp%aW$)qThnE~*8}4<^cwl5&PM2D$W_3lmGUj4RQJAZql(kp)FEviTIwq!)e z)z;Id0&ToBi;h@Mw%#D-*HwQQK8WrZY4#rTMMGbhMtnLIh0u0kMUWS_+uorZr5>Kr z&kxFVL?SmK%8>^~VL1kCgDIc2MrJxPU-J0wL+|%_Rly&bf!8EM&;OBjy&ov+T^fLegeBh z{=Mnp@S|6<^~2qg{q2JQB@uq$6@ulBC({^4rwJ4s_p|rXcM9q}+dkh_iws{tL6e4-C*RUUMmBww|&)yCgQgO>}dV?@go?!HF>}~UZ6U+WXBtE`N zM1;r_FaHXBk&g`tsLg;ub7+$M++X^zMVv4#?^76+a1O{&X@PACdUu{EOh0Ti zUU9*S=i=M@pc!J152!Ni_Om{5!Smfn<@PS;pQkGquq+P0dTRzvzB?8lKE;&j+j=}o z(GYxdzG%5Reaw_PDV#{`#=+jZL$7LlxtF^CQ$9rZ-Ktn4-e@-h*7h*dyvn&wUyP1)dFuTuNVclnQ zI9CzxFYdci;0KCUZL8gGq?dr;$v3wC$0&+xT^b#jJsmA3%k!Zay|rieF?rEudG^cQ zYcn8QZk%`({*>p3cr6v*)ecpd#z@6BXHe$fPy0OfD@t@SjC|!wvqrcK(!~%W-ko6H zY47UFo*bGXzJZV&z1|?bZm1_2>QhC?zc1g{<z*mPY4_QxarT|ssEO89GK+UYOG z1+jZ9$^{P8%h+YRYA!YD+7MRbv_Hx zYNJ#>!d|nivF0<8vvHgg$@dYDs58f#9qH(Kbgmz~?+pJZtdOaNxx*&Vc*3et_b&gk zsH;}iP=F@~Jr*9bYs6zbcdzLBs&TI;fwN?}vq=cZvYBnA>^GSerFZsIz4m{-MJujk zs4yM)!*CxM=O{zwCQI!D3t&Z_BX`3j>gkiULptY4x|3b!y(d)Bi3HqALn$mgY*YsL z?9v`|_63otzn};q3Pt1fA3KEEU)dEkRSGIeH*Nqo!K@BIR^SY%Veo}x4OSZC9y6#^ zrw{H;={sr`g5py7;7$u*Wvc~gY=D=$$~P+MX^=`%VF%A$$G+AHK~0kwq(w_ z6sg2?^TL?!kG7amkw$pC%tOV-T_Nv)i_yfVs2xakWanPX2Q=|9o_;YfMuDywM$bs5 zq_AK7!EW6S9`%c@07SUu-%@3?XxGB`mkPXV$wuM+Q7!D_h+=M}ef{#Ec*4T~KatCu zDey*C6fzq`@d}xzdlxiMCu1Fa z_1uOA)pQ5jS32oTP%i7neReLhp#Wp^Sjf~oKh6(>8^}{(61C#&x_dk|J9XpF^iJIU~R&&}1^)cK2r14=`z6@@ar$0G#9dogni6ut#UhJEk8@PFTu&@~J zpX(ibX6P*rc1SVSwQD9{tQtY;B&4+-Ax7%qPs36<#UWLd5XE+D6O+^AcZgxi9gnm1rro%&S02U`cR1% zWRotl>&!;Ny46DstHIN@=(;Wk$(-D}kFT&WLX*-?-RYX#wg_3&%|%^r-TsszS1jje za`^={OjErK@>wD`d`)K((1=HsR+A;ThCn}d$hY{Wbg`2Tok;FZJ2@jIx!LDooi`8% z7bQGmY7MqeV%9T7r;2AZcf8j-ZSl#v@GxrIanR~f&(18&{VPD2SB6z0zOqqS&TB`z| zJsz;46Ni30xf&|>v36P0+)th}TG#1*(6-f8)-Y`c~B9T|8QW8JT5f*xCKxEhC2 znjC)W@^ob2OQcZL$1dH@YJ$Z{=mY`08vM_%?k|?3Xud!U&TnRwl`;Nf&;n;0r;SOg zFS?VHwc0J~S=U6UBuypPNR|lX8Le=*_I_g7w|m;E_?!KSu8ZMpF**D(%jh~|HsYyM z-qR6`IeeOb6Nz0Hhh7#>T@z0@c#}B`;vd3`uX>A^rXK7i{xcMQLU{Zr`V1ZS*eCi6 zH61?}!U%;a?DakZYwgZ()^Wq6CZ*U2_u5uCyl=zu%tRiFZ0spn2mAmZ0j=mZ$b*`Q zZX?GH+fqU#kv|crF9)0T%j)u4nCYOv?dWF@JJkv%~r+>=Mjtn85u0(lQ1I8mA>MiX6uHwq32t^ zU`~rRgTL6*sB}{z%YxcE5eLB8Yvoi) zMrT_q!i(T__vs?(39QhhcXA?sT#=MI15r{*7!z+FAKZ@&y7cY58NZ`>KOFb>bqv<~ zq9X;p7bT*1i|Ig%1hvHKfv_JrKC)SE0yG+{p5y4cuqEWBfAwMt5#Cbb?-PT^?x=O_ zrhZ7^z=eDdXIgvU85`;WN*qEsTfE;RNrcc((dL+N& zi=0hM5V~C^KqPRsr)P8 z|J7$-k8oyRlH0M|V&5T|E1s*$r&(MGJOOl#{^*9!YkSD1S{bs((e_RK7ya`gbIu_) zB)xs9G9|QWz@iQjM=Twla=QTd4pS-k7uXO}-C~#~uUV8^?b$&VUL5t7G!6POwTaOTC-<`Dvt->tGM*tNe=TR~`2P*i(eVr-Lb+jwdh6 zPBJTq72l!Iuk*299#T}!$+``8blXMk&IMzBY|^SbulDRI?+LdUIJC#mP%0dnA~X}C zyXTJ2auIGeaBQ2#5H9tPN+Y}>6ZYCzCmCqU@_zHb^ep_}kA zDL-g!h}*r?X{h;;m5c~iM1x*&8`O4H1IA?QwaO;t8)CX zqBNUJ+dWjMS|VjqvO_~%pQ&>U4&N_n+q&fO1h_BbV8jdEP*j zQP4;ZRY%)eF~wT{uRO_$gLmH@@#M>|?W}%KfP+c`TX;QDb&s&${8juxqWX_J^&`-C z{kB_>E&Z3HJ$9C}@n&cfE>c1O2`~C7$UiFD)ITV-ituNAuyM_}^qxlup5EHTivM-> z{(&$sGT#ZwJ>8zkxIFU2vRx$%k~_F$yqkCQkJ#ncru&kiMp>Hi0ovtIsq^&jVNMdV zz`6E;>r8XJY|nq(sNm^c@Dpi0yd{)oTq%SdVSsqf46AzV7-TZ|hy@F#MB`5nVbDe{ z2ORVFT^v$o(5|GMq}+_KMxX)37c$bRNB2}skCc{fZr zZCc~z(K(A(mL*B|o*OSG%bf$QBo5~(el#1w+f@_6GMS{Il}E|Vx=v^RjZ*&i`h?nb z1E0X8-^;^8gx1Vux&w*3-(0@WiJNt~#7~k9L(}S25Wc74G#!lYYdPgYgwXmoSUI9Y zh+v+>l0A{yeUPr8@3;T|WBO5$#lwV4ZIwj@t0-B=zqU9eo{yo^q z`bkh2G29XgZ`XLgBNmL$$dJZu(=W7e@76`^ay}vW;5Yl<|4ld|f6>E7kgc-eX~$^7 z85US-i46#=a7j2qw!CSH3oA6fKLjFltmH>nZ5&~{wA}apW?wNvY81ak& ztHPuUkYNLuBtGKB0Ka7FFvz}EA>AXO5xh!b(HV3PC)DO-w$xnuV?FX`+3>Hp_rLE@ zG$Z^o!7{r-w4t9~(-`@i_ta9OB7Qnwh5f&~C z?JEK6FE6-O4Z&hF^1~ZNxMBKWU&H_Pe0?M+6gSW2w!YkJ)oS^a2L#zG8(9uNQkG2QNTO%ia64!kGSrGv(bcR&4o*bFJ7 zxda*MDGhB(o`OmG=5#`@Z1rfn*1N~$@e8|bpoNZ?OrC4ote%+Q98)op6M^2|?! z5irLR^Di|iz;jIfE(MJm8r4=Bsx`OGf+^R{^9q`@|2%P}3fN>a0z(=vNMw<>t0I5% zO46&Mh? zE)`Aiy%|&V`T5FJ?Z@+s{sekj*BSTV$@wx$&mpgq-`CAZthR5yt8uZudvy#2YBWL` zH;zPm&p=>xPE64OX~YNg1N4JxgmS5de{K#8#fPtvqjiq!@K|(lHuV*=8SQE%T(h*cIhDM1sir*tG0=6D|=GCO{V4?#syyZ#9;W$!1 zSpYANI5d{p)^vcpRR6RKXm@b{+}sPrI5HUxxJP-MZc&40kMP1sym_~JI>6zCVoeeFdU)t01W?QyHuy)jkTsh`qq{Y0)?acmRq^d@cYkxj7J5 z>h=krOX+&z_?rd(z-pXgJUI-9LnZZn6lar|#LHfnorN)RaWr zP~<^})J~)-as#HpxuBfwKA#N zcP4%5?+-4U-42(G#cC|ZK5(G8vLGA(dZ|N>{*yBKR!kA@9Mb9Em&Q|K70JX79)&NU za&F7nH&1^1?(r<8x)2%7qj7(-Drn~5X0M$SdT?lwQ|;5?QFp#JlsX1*XDc%v=PyBa zxac_Mkv$A$D>55wID|4<23|YpZro4=t)A6q5&78PK3{k%h(QVkRS<7C^;L#_a zkAH}djJUbG_vL~_z^D|S@K*L>A8n=RyNGD#S&o0%9}_z-ISH)!<4{s0r#UnT{)l$6#fzOj{^g#9qedbVYXfUtA$uqkWnf4 z{T9>4b`U%Sqmjh?RE{AFpG!&T)C!51wQCg-e+AMIg`quWkju?CfiN^*u05r%gtp-PiZ#+PwEztq&p|g2 zJ-iP%Q83|Q+a~orDRa6my`IhCtR24{Ymg$sXi>pxfQUkBE1Y-!#4xB8zQW>unGKVK zJR@Ao&>0re2+X_H#qD$6B4iRx*Tq%x+u2^AQWJVRTaojy{qyqR9cs)YaM6Pu5F={m zC^)aKI6OUmHeTMEZ|$pa87L|vyyJEg#lP_XX8zmi3%n8L{2NSH%uA!IFIhgZul38a z_W~FENA~E|9-*LMW+@d}PS;&_=KK;eZ7b4(Q6Zd(ycPF5Z91HSNf03@dCb2T|k+m><4VJ1% zGFm{W&{x0=jHPFJ+niqM;KvWY)F5(=$pEYxAtnwq z7fAv2CF#(Ztg+5+F~I4PPU90*y+!Q!t(b3glV^}a@?{GMDb&hIe#A!#dP%0Ir$9eV)_<9Y#;O#Z5!xX<|5%~a91^7XmRk1PT}B;Ac^ zU$}O={`1`@4_)|MG7*fVAGRG8tY(&ihoj%mzyTN{0d@8^J`{_sc(VMnZdE3%tCL-^ zd>I0qa?CEYhvCo zu>}6y5&z|TvYUwTaMgOv;gkw>*yo1xrtlCMsf#~G!VRwbiS#%*mr@5(SV1_T(K&7$ zL2}ZtaxZI6u>BdEgn~DPFBRf!{8u64rvRJoCCgdw756wjxA)TU# zCXNUe#_Kb109mkirCN+VV*97mU|gM1UEEkTuhPknts3|tl@(z=6UJQJ9$%?|V|^5* z>#|@_(;+*7h>X^n4#(Lk>=)J*vPjw6(-W*qXBnE|2MI76&PYgZhlQJXL0P*1*lKhF z0_nxN4KiTmCeBlr)^GeOh%1zO`V5%^jgXykjr4k?-q+(C`4+3gU~i_5qm>k%8wrCX zdK|X46;J5&hed|nLTd~2y~G2REH;vgn52IEfb$jL2*HfaZwhC)r)_3|3@rq_zElF5BV!H zB4|rT|1W<~ANB=G)`j@@GC%@ab6@FWrwaQvqf>-f<^{cP&9+P`#<9%958{XE$5-*3 zylfNh5|q>V>|Er0AHIhTdqy4x$05@?n&VP5HQEmI#NF7*&yLJ2G95mN3qDa*o9|>V zaL#)|^UHX1ZTjEG$q)P0BUqNU=}1}$ajl~R?vi+6E+f0Fo*=(2!H)MI@gC(}IuedV z8F7zo{idXQ>1Itujnn2PMwhSwO60%F>)2w`m88kNF}CH!s)gb>bn%lOeuD)(Ux(fWWwCdGGu z(bBD2r^8rn+8`8D>HX%XMPob9W+MMtFh=AM%XaNLM>G;PrTVzVYn*x7rEO*N6P^43 zxcRCV2eW7f0ztnoZs8e)Yee5rlL@8F#2|>+#nOauozaMlTEsrNIeJ)NtgbDTY_ za{Eng)|@wwChZmHe;(`tDYDR+_fP%k4YRye*etkZ9{Jc-d52L@GQlKZ<^LJljm3h5 zCrtUmcM%4VE|M1TQosG@6Z60Sz=3%TKf**%@Kb*~VhDV|jSA9)ZDESko7#x-0!tsU2OMJg$s5e$C4ix@i7+C;jJ--df~V=T@Csax}5g`0`!vS5>Kl~utyE7&$5Zv$n-E%Q={847;_3fQmg5GM}x_Hk& zh-*{#UC<(TlLkPl&>*lvbn!S@vUlXg+1+Lj|I<+{E==d+tnW^2?^8%4;P@?{eNLp;KG91=JCJT0Gq za0n)&v^|AwOf#%$ow`a95KOf{s}C{<=uP4X2Udq9`|kF7<_&smjF6|4JMK3(aY%kp zE_N-}Y2dyEhZ?GYN8V(r-2<)(Llkm&FP<#on9B=Z=HbIjZXc%uCo41qNv~VSNns(6 zAy_XVUH%iO1#tHTB?%rvoDbVCY%Djx);9^#LKd`#R*rnGsRBT#R6r8iJTrYF6v9%`!l0=%m<()JQ~&yY~;qE9825AyAN_IUw-TAM5?-OPn3KC zop+;P!dZE-<ID+#BFI#z#Jx=&0b^0oswAO@+umeFFfgzv zXmpVPR=w5pcmr=uyPsOLG{q`kForS()BH$BZ=Lt&X6s3c>cNbm0=!50`tZYlrkpK{ zyidA+X@zkbe6AsAT9??r%|1tm<(vrw?WKK{u^?_N6+_O;pLs};p#ma-BxN>={cVa* z7eAe%FS!$g(o4Lf1SXAG0w#6+F4=vO&C?F=p5yTIT|lgt2a-a*<2n6Hh6QU4cxPg-?8?=Gj*9 zthPd1KP!S8<>j8y4_jQmZ5S@BbXsqI*hRd+^S3sd{^AC$4eu4YfO&)lsj{taYU_VX zrvS92Pr$456R`STq4;dk5_zcORf6d-^*7ioy}Tm}P7xq7x#$Iir(vh#wbxTEzQSFd zome;8FFlMt>3%2OQWgVcb%QHm_>7XiA^XP2l&FL(Oy@?==fJj0T3=4jeHA|y)EpSg zAFmG6HY_4t0NJ1yY~RL#*Eb%zVY?tFRea%RI+#qJ;+s5~MouZIu+BID zkJQD}=t)tR23tq->G-Gf#*HS@lgyWcbwCwp=M2BVA7QJpnpEb9{8}Nk38Uc3!*g_W z^hu||RS7W63a61Dq2vT2VJgQ^NUV@l&82PV?`w$iYCHbO5>^0P`!wT0gWbcmG+UV@ z`XQRR}$;l zczeB1(=I0dvE@&mdjDQ*1`eH)0KMTLQZvHg9?Qu&(%rY87qJh^kT$RtNRE_TS{MFk z%x{M?1y`fAnFkYvIck+wzW8f1Jy<#t;h$lH7)#L zRC=qk<~TRxlEJ${_WW*Bkkw-!smTm0+28-Y2nN#J7x41@0tApZ{>L#Db4|`P0#JhV zRD~yImGzjKW|!Zju)|8ouMjv{O6^knX)|dUxU8^|4Y3z|pb~`7{V30CcypHWq-p|_ zUFx7YgV&KJflf)ZnH1m@^5v+9-Odg(tEs`*Tgj}L4FQZoY4<+pSJ^Ec8JXlK7qtfD zSzV$TJEDlp;qif8?niuv(F^M>q!Ai%G_Uh$e5b3ejn(*pp*MsY z!e_q(U!+~9O!6@17SjdSSvDfq!dmku8;Dc$h!yO9;o^qJ%`Vod@8|N5K{^g2UAKTn zDwXs_vVZOP+jpHyIh}|N>B{tsci^&Hvo%xrm3?8C+w>~vlCaI#;%ZIT3$xm8-SNXC zk0~i(6$Ft8ctZp2jVN9UOwb$Fz~5% zEikze!=%yJEapbnOgZR5`Z;7?LJNYf=X*MrQyW=LK41}+Y{SjAfzGt9= zLbXy|sn0Jriez;-OHWN~dA`Bbw%+%?+4u<-5_uK;%)&G&MYGXCF3DXR+f#XIn#ZK1 zS;nw%f&%QMg}?Qyqny8cha?CJ&}*NJ7Zf6_?@U&F*Q05uE(+8_M4nPqPa_M&ETp$u zR{it$Myu7UT6A0|p_BbaD>{b@P0+j+bJPgR2Ea;dB)v@iY6Z{)CF(Pvq25|#tu$vS*+1NVN#!*=M#n% z!UKo1KzZCBjJ^`^np$8dgIL;3bmDbF>{g!qfh99BH$6M~R>`x)DQus#e?Uc7#&KbcXloF5U2hgU4)hz3uh&V>qXvuEGJYBD(H zPneAem$aOmN8WL5zd~_jcbKic#M-vtet2Z}c7FttLV~XDby7M~t#0!4~9G6jBl4Ek>%&8?AOSxR1kNeHmzpQu* zx?7}M#7MEz1Gr!Zy>eCo9|jXTztp=i)U{*3LKo_0XSkut3j+S29aE8`&O& zF3ya`y<1ov0_6&nH|w?dj5`!v7eBw4zrUkRxd+ZWdI{*9>faM061y<09Z>y&N}^jG z9x}wJF^IN1ghF3Unc_k+Owxa40`#+=RtFkcYpS{3xu3twAT1PmkuhpOH0A1#LeNCu zB}UNpOg3$ni2H81&ul~oaua`cb)v1%-r;nS%1JEJqVu4hr*y6Xw1t!D2#7sp|aUFE)9;?-yP+C9<_uV!qRgTf)V$XeCYCMTMlkp_d_T zQj5`yQkN?`L{Xg)<|l5!k+)eIaMGOr?6hrz_b9zO#c&DdtKrX?lVzj`bFUE=&HC#~ zXBJ8rKM(JMHnO5y6;9f7_ao$Zh6O3>EseP`ttjohN5L$L!)y3`3hH0{)@)I7qGh|= z=0~bMP<)?^R3mx|+tTjx`QS^Wo=8k@iDDtP9f+aUxrMFWJKh-h2bRP$K|%)i^$H4{ zPlC`q3oWkVhgntIgGiglFUnFC@?ceagv(syR}ltd7WXl8{5-Vb`@(8T$%n>OI4X68 z;UOKEzO^uZZS1lm=+X`T5JR5`vRm%LddVOs)rE4gM^-iOze`NQTOttyzDl-eg(LXmuV^fL^G z@5xj?7BNDW2pbQ(pE}*OyB`W39aI1*h!UfBr7sR8K$Qk;Hbx{xOxLj!{iH?JF>?ek z9+ya&pX7}6*iziswE0`o$&p2O@6#F|+cO%Y7;bN``V&E{VDvHHNulzyHRpC~HJJuE z*B#7Zfx7prEiCNkrcG?GnJI=|7Cn;FUKqgpc_-LKT6u4WQV>&sNc>SyoYU~LN?q-d z>RgimaTu>mC<{t_LU~^`&4)x3njf>ZQtKu2InOkhu)kDzc#fXj4Q=FRsf|_f$NVbQ zHt@(*L)qdr$#7E-4fs%*_dYF32~BA&qc4MoWm47>GhKl@V~$9#`n$AHih%haPv^~% z0?X$+zWmJI2=atBb6-Z#YQ8GvQ}lJKw1nWwwL~S+Ca@%nX(IYvBK@XIi2AsCo~xI* z8#gH2f0ot!5~=H%^>$JWEF}JM%XlMm3=WXca;3?Ykz@k>QQUazodc%b$@1%H)|j z+9kec!Q~JyX}3Bf!9uh|6VW?aO2K9ov#5E6ODTq>)r4Ud{dv~T!YET`Q>Rr*Q2YSAJc zX4bhSX2Q>vh7yL-G*ua8BEA#kFBDDbai?MEWjEy{nYYujs@#viK`|Z6{?xuM%*XA2 zC+Iv|9)fg#{y{e$cD$yuMb@%}?YC8_S=@E=OOjUb~sq zWxntIVHtn&r6vf!ZDI3Xv9`4P((p>{^2w?uo(FGuqz-!SwNjbWYxTW_C&wJT1Tbuh zY^S?7bGgEwi1}5noN{zPFCa&#MHv*bsiO``FG`=JF`suyrbFOf;_5HP-?E9doyByAm_p7a9i+*aJ&hF{a zks{_ewB=7bzi~YC8vpj>H(f>+O_(}-1rM=`tF%jm5Zv7i#q+&}y!_T*b0yIwBdub~ zGzc_A+7fhO3Z?X_zo&Jlic92EV3l*HMcG_+bm?h(zR@ICFa{jfdmWQJ+E$I)N@5g0 z|HS-6efq9?`FJ}#wDqLw9);P*;>aue_U%57D8n;56(v1Nb(4y%VI?(kMF#r9w<2A~ zX1Ppri4MOg*WQmJnRzaMUtjv?#L3?b*B?wN(kh0X`lU(CtCQmIU5AkKq~OJ6Tq_1l zv%D)_P1+_sxtV)+O&}pD-VYO#H3dXyeXAbSc}xQYvda7RQ!&J>3gKM)f&;vqkUZqJ zb{a+biF7Ri<_b&{!~qnu)84$_Q9FIjaHs+b-zSDxujF1_`^E$aQ% z&w=a4t(}jMhDQqq7M0z8THnaLW2~&nsw$S0I5N$ZX2dX$?7)Bg)IY3-VxzUsauij6 zP8hSo-k88gd%o$df=#ns=Fao_fv_WwrC4tcm#!pV>wMQv&Xqk=_c_4wK5H2wU`+O4 z#mnZ|jxP_W;a}kx8pV#*czT5J-%@wDNWB=OU)I$z)v)KXl##9s!7m`_%>AwrVH8$> z4`9lGq|Tt!NZ%FOI&pBF6pRH4c_9|t7-Z}1r25?5#3P%XXD!sEg(^uLl@R7$-}0c* zQloz*HZ*ZgN4$umMf$B#$>_HYe5zP6C1X*lRXksFvp(4DVG+g#P1gf~-;A#Eh_E}) zO%Wte)<|fs{O>d*PSkm}Ze-j)hD)dTmi;8cZg=9 z7BOz}c-x8BKkZL8<4+wf^n|Ugnz;Gr6FZWSk#PUVt!%CE_j_f6QMC%kqHHz{J?=oK zb%gLMBS*(fAg%fS>Q$Gu%&C(X5;Z1*e!-Tm8k+d0Fg<*)ekY7k$aGX{yy z&Y$tC*Ct+&?F*MVMj4$6n$@pWy#X;G(f9w@x(cW&v$cKbLxWPHzySn7P`bO3?v|D= zX~{#kfYQ<+A+5C12uPP89ZGjM{2S-q`LA>DTFhdt8E58v``c&l_kEwLrr_9lopZRt z_Q%2tqY4XO>N}%P5~UE_vt_9plSN8GsD8Iy9Ye=HXb2?~C2hXv8x<2Ngoq$|fjfH? za1x@l^ug}X=cGSn?IjGRJZw=o0;zBBR5n$4c+|ryY<1#W%crA*ARe&_N$!gH@|8m6 zX5x)Lsqj?wu|DhUvDaqT@HnRJ$18&LAep)!xPUT_eh6v|v94b{&nzL4yj9%a3w>NE7mh|{A&ZSC_MijI6S zbrXxKx2uLH9Uh%kXHa=(N7rqg;}!Pvs<6=;HKKSNT6s&-X6JGmeX9Rl0vxgCSW8Gy ztBjOwt_~}SwA3&FKR%j&GAAZHptyelgQh~SA0a`gpqbpG+K@NekfbkV+f-P{j#5vf z^yChxmb-K}X-Ir?FM1wcgTlu070#|0MQ1p^{m>Z2lW`esnNIBJQ6g9~J1@SOmhM!BPMBj#AZtTYUShpLeR4kW6wcOjPleev>juu=gpJb<;bwZAleB-8$ zrS6T4NHt3!uhzcY;4IN$jh1vPVPe(S8a5ETir>Td6Xi>HL5@LHLPqc^Fd9Q@k6k`b zTG1v~ocKJ%qg-${6L@n10G+jl{vG9Qy{Z?eklH+IC~R?8z(F;!1}ApCB)7gYVM4DK zQ^+;c_hWd|;HlD@Z~6?)1rmktyADpKAuf(wEsET{GPdI|VjmI)@dPAVNeHy7`LW$L zyKy@d0~`B2i+5wDU{eY4QyOI~y#HM5+d;n?z5{-^0sc2^#!MD^9qXS7%R0O69o+PP z;4rPz)7eKMH%%#LHDrBnga@nH&o(TWxcupTBR%h&xtr$8ZEG)abVuSGzPO#FN#Vm` z{Zmu#fWBXB#OExw!`WV#=aZ>NC1v725miMzgu-HDOvptj!{n=rDtadQK6g+gE{UJ* zFXxa8cy?{Hx5v_F=;d_IQSe7HmJJ0)+`>nMP`WYha%2Z5ryQ0YUm5Qpn&vG}s;GY) zW8m=!@PtX-M=T*(6^ht*i>jE&6)}@TmL7>J4lPiJ6r7kh&~wuzNk&iamJj!lz2!1%?(fl+De4ND@TR?WQ~5<09K^ z!Gin^C*Q(jm9Tj$&N9A>&3qKI?84+RjWcR|K!`7r zuCE`LXiP8ptETBG`5Rp>`(Y5J(KRp-ohO%^&4!@~@K3k^G9nTZJurtMcq8>gDZ7f3b2P80zuuG zBmPAs2rFU`QXfS{MXS+*SUo*JLbn81Mp6w6FEqwZsP1C`l#Q<5Q(cC(Z|@EW`zy;9GhWu!hM5L*_0v z{r_iy{NAv+ZpeX{%>i>o!F(?RQFR5-qw^)(t~n6d{nMa~q|$(SR>6J;1zpsPdisD~ zp&kFOMmtVc)y9}i)C=0II!5I$+%HOxSuhq?%Wyv&Gjb61 zC)4wKwd$?GtbozuRzk5SyMA+AW4A`)w{|DFxV5aw4SVstg84$oyEdlZ-T>X#%0Nb9 zq)FO!a11tsO72h4mOAM{bdIW*eJ%FjgUDrp$JdQW%pQAcNRc3N4mC=4#*~Cw} z1^{a^u$QJ80Ga7Et=vH7P>P@f9k5+F6+u7a&S z9K#gcl~-VWW9RwJz1cuV9_sj`(cAMDq8LMdUhn+sVYToV2=evV*}+PpHs-urnmn?> z$h%Jfr5c+L9vT{A_c*lhkjNDneYXP!U@8_6;t)V2=y~C~IjXF~*PF`o7H^L%Z@#=6 zf^-U)_`~2IE^Pp8WJ2HG>!|UJ_X-AC7UbvG6Z9P15BL_6Sp@RsROnC_2qt0j`N|&@ zpq+?Fi0C`G{3Ewh;sK6shfIC>TVC|}`!A@UgkCO+Cx1f{fi5I4@2!O8K0=0n7M=a_ z3Y{Kvp)tS-AkV)pwqwz2|MRE^H{lEnaxLBtVXo01`|+;rS&_Qcu4mDfF2Ox~`VeH* zt!39|P)Ns}FPt$Fa??T!Ib|Fs-Q6M4BqC5`_oZb4kBTk{E6pc*%+2V|mzQLduAI1p z{fXk#;`iB1<5s*568em1o;eCyNcv$X<(BU<^E#e}n#KTfJk7m_sjEZ&eBdJjgQNCafY{nNb?zRV3{`Nx9R;DG=fd{i_ zzI~^%f)RMUEr=4R=LAG7bWE!CSTDY%1R0wIKHNiC5I|WVT2{IHKXBV4o$xx-4<^!@OT9Wv7Ez9NCoMupwf#y(~*)J1z2L;ly%&h!y7&E(J`eL9q zQg2>XVP)romS|Gi5yNaS@in{HwboD-_42ntl9ZJ9Z~_DmB~OKproW6F7pK185MYDFQ8u(Yfmr)Qe)hUDy#hIbS?}TU?lP6Z!)~ZpT-@4E*ikL z=0I*BldA1(qqi>W2K@wKF*?lMpAeoB^8!hOh1+l|TQ7sxMWz(Vl5eVErk|H05ZQLB zDxQc*YbBvix7d4-*iYDLsav8mnnF`i%)L>${~vdt55DlFkWqw{9nx>wT<>q*yWM=I zAG_5rIvoP%SY%&Wst$4*XkSw$#JyQDIA|tOu5y^|nfR{TOO97g6wdxTjulivtHbX% z4#yi2Fv#z!?qPfrpP#62L_N&-h9RLhwlYEJ56FS z`Q>AnoC(D_?6|o_mB5$eWAs=RD_2Gu8Unq#H|$622ZypxFM1>aEk9naHX|d$i)rob z+IkCh;B^Thq*!nM4wC4g$dZmV)|4ZE2KT7*<`0&&bZ}POyZ0G!1&~~yjgz?WHU3E> zls14idrT8XX5W*ELe;g`BUi*FlTCB9?@t$$-I}a^8`N6=Bm1iJUIJvXI7Y|1)FKre zvTSm3lyPBqMNlya`^5$tk`u$fBt&4Gt`JOKTCC4Dd}cS{Bt<(i^hjWQPQ{VQ9Q0JD zvH&XqZO;9dRLIUg7$wuNAuTimozN=ajwOh-x%mSBg<&)ygGMh_^^{_~8&JPlUSFQ6 zh()`ewf_J{6`CKG?&)YU_wI%S2j6WuDb;Jp=6l53+DU3Hwk}E|pS9ri_zVLPy>)a- z6MDZn5Kx#@j8U^NkSTVruEAMb0P-K>_}uL3G#d7@o&c#@z`t>N23trjuq<#*XI&wmUq$1yVnP-n z&37RC@5nQ-vbxo03Os90O!Z$1BfRzC5QFn%iHv5)QcEiD`qTI;yS~rO(<~f?ziFL; zB`A2g>2S}j#5*+(t-JVhh{`}?+p;Qfp;+Z+5T)}@%wRr##@L{p(Bk}}pdC5|uTkNeG*RmWUb`pM|s;cG&@C0SV#h9XJ90l-d=5~;nAqspu^ z5ox!{ISjsa!6IOTxD#)!S@xz$8vBFkj{EdR@cT&L_jzNMcb;y>?zj-Fdi!Ye?fx-P zyNBmjw8*9XG)r9W&RBQ3RtEw(Qg3!q=q7F>t`|OzUcjSd4(o)=tH8riyPyv;YGC3X zi@KYo_>o+rxMEzavsS_Ad`RV`FEj5Ws=18JE3{+P@9XMo8b2%xkD`fnd{3`2uT{uD z#-8SzotC^odOtkRZ_y=uezw9BUH&c>f)l^gEyQ-AJh{)~O$GN%orUfYYLWf$+{vqH*!B3cpJIfDN?QUV z6@l4z<>o#24(a;3I+^9B7exuIF5`!mQn_bMc&8+93@x#zesHc1?jvF7@VvESilQ9% zS_$$+7@8sESq+jrE6`0mv3+NrG(Olbs8H_?=zBb#!5_`O$v9XW{$|tvd9TlhQNvEj zDIv_AbRRf=yw;+NHjgwm91@rSZY|bqtGl;uw|R`2CAu{hz<)3n?L0`Jc5%)W&|~ZwbCfZMvJ4zq%VMHhS@C zmf!(_T#l68;PXJ?air>&py2hmvVL*R-h> z`wx$ReRq%5hh+hH^A6Hb7h9oNj}y{2UsR4{zA=?OW_5X`h@AJi&PQNIz&$2=AS36L z&+XgSkpO~jG{sLwn6I%_-hmXi>(Kz<-L&yu~=zzo`+sh`rd z`_TRRa6{I}dOT(QK9l3K;NvZ^SwDoh97%aq?^^u-@yR3MPOzAV(>FmV@HzsE{yhAe zpj~Y(gDFlE>5U(CZ0$sM+Q!ir7J_YU?zhi1nCs?VoP&mtz=J<-d$yryYFoSXi}wX5 zD2Kx~8;IM!3h>etvn<|?oN-Qnf%R(VzZT0d5;A&|*QL#|*u9t$e^jE+<{xMB{R95t zNjLr-e*w=iRXMpx#E?R#>(^;rQ#KyF#KezJhdO`73pEv1FzJ7h1{sg}z};X(*S=AL z$7wlkJXSe2?_8)<((vOJ%Vc31kW)H4vs0dCzk7H8mAktV;IvwR_BuC?g4+Q$!Hyn= ze%Q~qqXblgg~ngQKaf6zi$n~{7qig{$!fDo@luXF7dRU6`q9K# z@~gD5YqRBfPDNC|f`WoaZ1@AMe@rjtbD^P(5HrnVMvEWcwYb}SP>LR3hayIx4sXwR zGWOg>K@St(+Y^5&O8lqo`lC^=4ELb+Bz53Q9Vl?(7?c8CBV2|syOy5>IWm8 zk{1PBvV5+anLxyg*KfAEURA^nVuL-ls>Ta|7w}(uB_>4xjH5=6r z27t+dW=*T}Oa;Sl-mAShB7GHi^;5BX>I0z!#@)k!oiFm5H(c+guP)=(*aviPCLSXb zeWqzkITKliFflQG00V})y83TE|7esGUT8V(Eq=9}JhZ%xkkD?j`u=!>-^07(HJK~| z0z#$pn#x2YIOc&wo25IJ8jZd+6*v+^Qc+Rmz7RdxPSCMCz2yHWVY?)q+-9 z4Eck6ZoZNQa{8JY!ICTEX`ohCaiu)eZuF{q(4&7NMZ1uiTvYLIF983}U}50}$oiGG z{rYI(-J{J3Rp`ayufO_0odMGH_y5^vYr1*r$WCD}z@OMafl{r+Yt1{LnaB*<*K+M`O7*&>-Oz5*)jfR3YlVN=SY$anPhEl9c*N}{q^zndtk(&J2 z5~1G}P~Ouq3P;YBty+8rZ-lD98FU9CQqkn^o129<^ldL5>0&jxZ$js_p;*v3soPmz ze=5&tg^5((tETgH1{KWSLA>7U+_1M6la-b#Nrx*LzTGE?>sII+|kF#0WLqd4>b?LK*wbFNgNiS23fI=a2;IB?mWY8=?hQMCtWosYB#C7hiHi#kl z=C)JheSE%<$xOza+4IRvXSbTm1mf z7_;}eGyNvq_vUso85#@8LK?G-pzIZ4&e#64EE1Ll+cky7D4K|DbG5koXYupVyARYW}V&{0^fa!;tzEbxH=a(bto#(dOje`~pyi3u1HVtj&D!vGtR#Fv%fa z5S*_lFviVB4&euq3Nq}R*wUeqxnetwV&j1ZuU>mFsZ0pvE61xBl{|%19dFVw;U_&6 zwP-FYJ$)w{2#DEdPR`e5_u>kq$v16~@=gqCGZ!?Ww1-G&IB|X$FQbHCJ<+X>t3b?b z2=VV2^hlYl19aGGnZgKb8@QT?PgqGu^o1mP?8_AB#fk$8Rr6JPxO8Mh z0#r&}>_+mUBHzM)Alx6b&s2FYqnumI1$>S1DyfF(L#liz`~8^pi&q79b=lu5M^Y0%T}J(6^ueE)`#z#N^VQ>OF+wy6#ttkYY!Jj-Pd7nibQdvdoa2C&U7^1nQOs#izE6C7JC7iukfUW4{(=JHBi9yPsL^;N`hcu!K@bg zMaZxjZhD~{o&U+}v$}Nj>d!6epD4mGME?sBpk;b-2|2X|A{K27d>nFq>7IlqIe^PK zK_*+I)bRV;kAQP}*(MLsfH*vZ6kb^OwJd>Z061SO1HH`}Xe+BR62OG&y)32%MDt#4 zO>W@&c$p$-yyxc;)|vbR7Lx-Y*cu3->Mj3uFFL&RLxD%K*?++w`*GhScO3DQo+L#e z;7k)(^h0%gfd*~z22BGZbKhlN=%`A?-m~$k*QPtLaho;? zTo(K{H5{kiKOD>%tv!b2-f`aP!k=0wF3XCNVitrx#N)@3v$?exiQ!?c_w(~(_r3O7 z8^Ad@@XGExciAYpB212(#G19C!16bIHJEvEekvUdwLFf?^fk1}S_*zvwUA`Y2*qwb zG`TYD#ZNPkU*8*DIxfXW#z#bX0Ax_CB013C3J^ zfmX93g~na0k7TOPL#&U^D~~GSsqP*i@V9wut-<)NjOOc4~*#b`}ortmNJ>x~Snz{?#ZfBS+j{lVxjAuU3^Mz3T< zM5N7>W1wUis@fR0m>RPkMw^y`a)5;TyY&1lJV9$$qCFAC=+$uvR}-(lmW|*dhT=Lb z?GsvpbS6#mlXWAGU$=D96hJ5aWsZztBh*wJb^4#3lpogX=I=$C^odGXwCFvS?H;WN zf{2^xMN0ktQV6~QNaOR*4S6Ex6oH=3lKSq+ih70NmzKG9>n(fRq|YNcwD{}FrtQ}T3Y>#vR&YZC#-9NzKAoUbIvJH?;B zo^&bLXO)$yrKZ{zlXfva!Z`Dd+dtkpu9H`cX1o9En@P%K!U@7) zT#Bb9C^l1TfN=nBpe>dglJV-MSv|ePmw3%=Va25DCo&xqWIKWXfkgP35=g+o6x@0ec!$KqA7QI5wa8I}`^aZ(W^H z6jD-Qh>;zmO*@_MVD$KGDN)UHMd5?@JWO4`F8nd{<{&&GF~-f$U#)y*N=@Drl}^AF z5F#{FABWNXsuI_IvTTr?G4Nkq+;1sx0K^|s|Lz%a2#t_6(Ddzaan#KGyIGfj2-YI3 zVn71NW{mrclArbHJ+~)I4m3c=(G{)qZTg^Im={`#yWh3_Xy7vXzn%=bz*+_yS}l^}cPA8_2?X!0@MzkpH#QuA_%QrY8A z`NVzi=A!ei1=XLYZt6TEOe&5s`1_Cl`GANBCjg%G`RNfVY_cPrcdC6~5qBzX)MaN( zfTpkR$zO$WQHpfSTLvyln7JfPuCHFbDLn_MES^rbg|RGA<9!b*DDIYv1QN`#Lg>Bs8vY z?XbHKR$?BVDh3$=UUzn@yz4N3@#XDQ{$T9)0O`xTH-#7J_N;GYzF!PJSXC?_bhQ6# zJ%D;!SbuW#O;eK)u*Q<_5Gd5GdD?J&zA^gAT+#o&8c5eE1b#5L-P+7TtYVE)mT0B< z0QoK8Y5SwxPco831Q?|x)VY8gP&NdI?2XAK80wD#uXIt0T*51{Tybw;P-L1mapp|? zQ#`(crD7D=K4YL`XT8yu;T`H8o>RGvWy?tZKoyKLyg-T$d79cJjE3_d^H#43grRTH zA&2Y3n5>o)ZJ_5~12Gea3n7IUSM38X96XR((E$-ew|5@kd*Hr#6k%? zgeCZE6hs<5*8ceLR=nA3CJep`2CE?H;!Uqm#|02nfKp4L(q@7+JR%|oc))cX8S*n< z7>4^^?n$Lkvt}7K0zWaC;QmdoJg!b`He^H~1<606a@hv619~u~&O06jQs!0`5Pm8( zx$#|K_{THM;g2C8o+KKS%^6k*@VBC^J--KYU=#AwtE3@Q9AiN3 zkMjT(b?8=Ce6{-?^lhdt=F6)`Z)xZNQln-Q+ z!}BcxB}=uC>H^IIfLGsw5lb|dC93v<*5-V~%!xbGb!-dQ%U!VnjRclfgh0GBJA1Sa zWM)9N%sc&QvdX&Wg-KtnBA>*$Ud$}HX#m0XRPD>0R7_EZAP~nR0l;!~eXH~%har!C z|A2r(P?qh_3ey2X1KTaHVzs#i$&ox~MaP;&=fntDh}>!VTj1@ta_h3Bq;sWIc%o-r z643K|V%xO}g;}SDLRO8fG6qBW-mosZ8(v12kcn^c4dmiHHyhrN?Nm97)){G=K$S9DhwEhMXIzj-U^1jPACAP=$LSuIjGuT*HLTK#?n z+G%#n;fHlL&^$n!5MSy}d|P&O47;DZYXB%1@24Qe*ur~zdxvefLeiQfIa!qse(Dip zPQi0TgY7>jzBU?4Am#a$IJtyArD0wVxbpM^GDqLvS^ZwM_bRhnh`w=LJ*N<^76Fl2ZW)x-3A zzAe22ZGJ#O+5#9dcLXt~DlJW{WLa2Pkg@66!%z89z&vUwIO_gt$c}H!^3~vBz_V+x zylV=lWD}^QZb6w6O-`LErE%| z5+34wmD^2+v(+L0-jd~+NOERuC<1NpF16Znuq0a9_vJ*xL*-zklnlULlPN);d?55P zRijKls_-xIa+eacnSiYKsUXEb8lO3dq5K4YAgbY0d?8_Z8ritGNMm>R+R;p$2i!69 zZmBa&pKbESJjC9{#1HGPQh8hU^a^d`-=O!O+ zr^CUwv)d-fz+*~as@xI9v=6qq_X>(A%#eT@Yro7$@bV_z^t|O%st{GKogIhDqI8!U za$U^47Kj@3o4?~18Qcs!{iMnGT;+zU4Oy|ago@ucSN@>3I9b?j~o741Ei;2!KSK$3vS7(89@VU^P$v1%#Rn z(?CvS?Vsp)c0SN?k=y{b82V`q-t;d#Je4MeKjA!S6!@r#hAB~uHbD=Y_umM-H{2?* z!xIr6{!ypjqR;41Z)&?`RnU+e`fcr;vt_x(yoNWbk6S7xNZKY3!N_9O_c>W)goH2OE;6hz(fvm zl+W?xWCG=LJa+s+4ZqzSl9VUNYxe}bxFtG&+~6DW;r#2B<-i;^#-4n87=YjM@@P`M zj)OU2kaQ9QM=6>BKA0O&80^c&SU&HI+kug?3Qi)KJR88Ab!23Ij$zrCKWd$}5P&WD z0w5r)C6tKkYxr_K_(g_bg3PLb(0FpEofvxAEV6qLGQfj~R~-J$+tZ6flViWR_Ad2@VKA`?LCFuS=LaK_k}BKAMbkAdJMUJGaO-<3VDphOd69o zXQkJ|1|0paxRNIb2MgNpB1{rj{wY|4kK_Qy`OgM^n;*=UYXRebfpPo{Q0U4_r>Btq zf(p&Khf>8%%9nJ&76U(|?7`&JRN_a|K1yUnB3d1MR*N+GZk5rVgmK))9&&mvRizRg z4olh(Nrs}b{&a(YVEXv|R9_0`$mqkQdl^%|`-6EKD6BE8m0+?IdnpuGDOVbQW2nTM zYXXaO2>@X|(l_fqp$N?Ov;5!m+6?ZO8d?+~UkCW|XJ?2xh3$|sbIVw9HJpt){rKFm z!ckd{H`)3aLC2e8VjF*}f{6Ky$LUw@Ejc7lOs)3>{}3w~E9J|u_<7oRsk$!eX21)Q zG2A?gNc`Tmmdlw2Crt&AY(0mM)9ZVFXnAx8dVOW+nza<7glzix>D0L70nNMSWt7T~ zK0ZDwQ@G1En?EX8ud!49x}Ed?ePkOcJQ0*UXBai^BJD<@9)mg{s%M9iPUnfa(jig`_3=+ZE73{%MJuan$C z1NoLZejQJa$|PG`-buP3Sdw7?WepBpI%QN7l(KyZM}5!;oaJoM^L8F7rpJjKG+$D~ z$-OdFW$|c1?HZg8lEChj6Qp`;bQNy6M;$}0UsriPahd6)TSw-*P;B$?Bf1+1(ad2xY z3GBFDLy$A-99QxlX7L2m5a6smU8eFsuhSx+KGoL@{8XNYgc~}iSnlq~VEQfLSK7Cz z={^}jKp{smG=H!&OJ-#Eh~zrZJ!0Ty>wY4-9YPo@5q!_Y=sr?&ZOHqeJN$z-o(-<2 zei+z9KF#&@=t#IC(8I%r=(yBlnf*!-`PYkiyAQ{*PYYAL8#CHd+;PB8aQA=;lVB`M zM~4M1-wP3FHAm0>MP2?_4?RxU;&?JISI%0nfyJ-_(u44%b;TZ-dCXWnSwIWCrxQud zI=H%E=9Y~Xq;s%#wAb@=JAivLc1Y*&xKuO0>UUi^q5E0ItP<^g+Qb0>YfOpY(SqmF z2juHf?}H+SobtHLto~Z4!{y-(uuS)(z8(Fp4Nb+71N(^TXj3Y6HG5~tPy*Rr6Z>pD z23hOrcKSSud|Xe6#)+XX@K0LhZSOZ;@>Tb-eb=xg@HmWdO#Z+ox0s32x_3Nf-$Nh_ ze4*YV*piOg3wxg*vc%(ZtG~VPJo(wJ>@Yt_aqF$=bwx3w_Qx(~ZB*G`R=3L`i3c}h zt&%GyrHb@R{bjXPS3kSSF?>z`6xHm)flsoT91%K+wsEf=*<-SO;Ao@~iC^gVn?;2- z8$)Q3%)0Jz9Iw0NyLdxaE4_|5C(E~(Z6};kuP2;D$#qZCbNfDvN|WtA6DT`BpQ$i% z9vZwGow7f#AZ`@wXN~oW>ayMHL znnq9Nd<`U>aP$e}x?(Y#RLrwxKD+h6bpS5m_)OX;6s8-xi5VqOX?>du%a3G_oUQ^D zEZDsY$U_vxMJ_|6znXs(PBF3?AU)YdJPkaO2+qVFJMAUkj&=Mxql5waPWDD-_hs4J zPB$N9*s49iG0e;&9@QcFlx94f{FlKTy%da|C2U&t4GOG8uG%B4p9l$pZ}yTdZt|$= z(xEt1W$K+P6PaSfN^}l9d#TWvFrrMTLlECFR5bcQR`ct$Lc6N*U(R2{iAFe9)W%GY zu@>M7XZaH>4~Fc1b;S;|BIJDn&g*w64Ji>7Dd!30EV3lTm>H0t&HfrqNNZvK=8Sh0e&T92m5V;DR@2ATCNZ^$VSn&5HbH2u-FdR?#PN0>INHQ?R>I2ZZfp1E*wK-92Ei&EQW%^mfu~ z6y$8C&F3K^h=4LGcj8GpnHCZZqIztTz&`;jA7Y&71B?`)qA`qsmK?TGa3^*au0$-yp$ zz^-`codWSJjc(h4Zl|!WAIh=H!-ocYb?S_$i^e~TXYka*{v>e!i`^r9AHfL$B7PHD zTv3A-O?`qXNrBbmXzJWCN1iS-0YKRoamKk!m!SQ5A8b(A_6nGa5in)bx1vBMFy|A7 z3Y4kq8H{N≈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�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 Rd>R6OYRXzlnWrr7{4aoVHLm~w

    76iyMP-&xFe*oo zuMf${>T$FLze@L=Kvs{Rve}9l znK?Yi3FjYT6m^_afNV)58avi85NqArkJCL|0PFH zRJn9Wz31-2pq;XO2_7AjbzS+c_p})in$7Pxt#5Ur1Y3@P3D53G_mUyNt;kpDUQ6R6 zWd`6T3^=uaGAsClF^FGR@rvrM=$sG&iq*VxqB&qYIlo#Hw~#1xTeDr`tJ;Vl-P_u1 zu5<67CXigj8~c+6}rI(EHGy#m|$V%C49TPqHI2Q&ZP9 z@Cy44N{_RR~nDw7;-0Dfg# z@SS?8DI%4g^3*U0cZBg-0Uj^@Jc85U+$oOygd3YkZC^9dbu&V#_ATU-6!RJiNoHstg*Gx15P zTR{ICqC=Zx@@*5?ZR5<~$HnN=-PGzPjoenLT^n0RH>hHqKF?9dm%1h|KvtW$*e5U}J5g*sKbY_vKL2L;JAWh=VO+3S;2mUYi z3Ve>8vzb9VnlLF>k0!6J8jaVO%}7}Cb#c>G{SqJDWFI#Am+g-~fT;MJjlcst@q60k@m_7G%M)m zk~6j3Rs_QX@VHhdUr@@7X6L>84jC)Vh4n0!QlLae*D3t-V$8waNwebF3lOgWByESb z6MH9<)e`(_sLHDa3~}?#;jNG$yq!amQJZLnE&b@n^D~vY-(?RfXHeTMz_~h>4Hvki zczN9x8t?oOW0aEMTRi|B$UObty=Kx1>r*{EyrK42)+FAP&@(aX$ySux`xqdxeAh*5 zzs`Ylf0fTsY?R(1b*Kif()fk!HNwRynH7(cg-2FQq1>{oZ$TlJWuZJg_@xVHAOQUt zKYjDG7RU~uBir_(BvzEnnQ9%NRRF@w%2Aq&eybw6LLkJ;=I3=Y4lj7IY&vra=GT()amfWs7;|kvW1GXFMS@* zLDE@EVto5Yj}p*Fqna9q$A@@YetJ#1Ddq9xbt$luekEHC z&Qk@EPp>4$u!9DA%2j(egmvhBR!u5;FqgR>Qz%5SO!XYN8}U`96w#24yYF;V3@J1U z7+e-p9Y3^kq{bH#`0+7Tt>I?{LQCP4M9)?Z8Q-=NPSCf_aqMH3USdKLamQbmlkz|z zASaJy-Q+{S4n-Y!vv|*0=!!&i(iXW)xG@teVZ#}l;ZNW0JibCr+?pzH{KugwmJk)P zxt0tTgLGt%j|N88yk>7$QP}X8lkgh=A0w+Em@BTN4D<}VlO2F@yDJ|s ze(Bkyti>AoB-)x)leyi<2WxEN?j zP$aHSvp$}5{7}e2kp^k0cOvPn{NVN5jQeO;oOFg(+AURBg&2veix1AcZM&@l%J2t@ zY1wwM(c0>AVD@x=N#0$w@u@#)rD6Qj z&BlmDN~mUyC*>Q*Ji^t%L&*Ub3I>(IJ2l+uyaf6s*_4s=!KAxWqvl0-PcQ0`SZGx~ zB)>VUQo}GUq#1;h7Yv>}2-xO8;B@dh2>Y412(0?hczTm-n&-X?paM48BY>^Fj(| zXdAI_YUUF{&Bj1b07S{__E5S5&%HHPxR~QU|04KNPf%)qy}c)_zsRSB9$6KzyUug9 zGF0v{D-(g^)wqR#$erv6(tzVl*oX+T+u{x00nuP7)pAK3C9{mx8=aP5p#C{eDeK$H zH5oDxmD8v2*D#t$Ydk5h-F%GySQ$16b36t#vv~C-IE(>0T?bPfXDt9V;>A7{ zTWTiKf(d4RyFBr{CfN$wTR zknoX+Hd4%IW6Ee8W05pz5jddtT5q$XL=siVe&xYlHeUS4lp}H0+xK`ueCZ-CyWRF@ z_5Mjvh`k_ge4Qf|0rl65tDl`^CUQ)itgpvN8cOfBs;=g=I42iyoHgjg$?c*Cz4F=` z>S;s0%zDc&OE!UCN12+fb}Vk0%*kR&V2%Aw3D3rx%h&>X?>LKsw+5IF4hu!vY!7KTE83to21QfgwPle{V@;WWRr?^LqVLy1{17(2&=)Lqi!yh zF=uoY#TJ;9v>jwVI!gZ(dz!Hj9PBrvj(>X;l`3@{y#MJ_fAF{l9*>?Y&TPEWvb8^f zlnbkRz7MfRgs40Aot53=4_tx*$v~K7%YsPRn%Qq_N`{vlHL@4D8@;7RPaEdAovU5( z=AoI{?riD3nR?|!mkyM9?`u}xAk@jRdudko1&ycQ)2~}Vka=pE(s!D*D^N3Di;uyi zPfxlYwg=G|6mCHaq|sGul22KgN7}+}okUJN9uA8N`8ibZ5SgCkiJ#p~md#w|nS~6A zdc#bQ4k%=4R_Ea!Q7!ynjsL;W;84|*|1NNznXaYFYPd!1q|Y-&5h@$iaV_@PE8&76 z^?W;b?*p6v5V2Die3-k_EJe_~&;;bp-Js6e(9H2QvbpN1?q;mGZi0o8;N&vNJk~e$ zXT$BAQK5oFWiu#j;>t@>{kg?!ehQRe1 zX7<3dP|*Qv6hZyn#V=hkF>3Uuvr_rK<)TyW*?2XyDw0 zr!IzsDJTG~uMC_B=X{|$H$7Lbr7|M=$nXbKg<^w(4G3_T&t2sR+RpNtg|gy29S8}+ z>@|!#P)_kZ1vrr8C+fyVfkW3cMaq{OJ{^}0G}r{f&Q9FDRrlXNN3U@?g2$|mvy(|9 zkwR~9|DmUW$Vz?iZ$14QFAfdViIv)GB%XKZ9g^#>prBYm{d`I@$6aES?~L~nTPa?c z&;6b4lA*OIJu=kKX_x>SHJ5NhGlNenU$w#6KLUM6l2$}jaHyn`tj=AK;P@yra}mhM zYTSQLK|1nQM1kE*XRlB+TNifrdt74&9z8^!Hc_{qY_) zN5Zk@+v5AJ0PK*S98B7&U{H>Ka2iCNR3p^>0D=F26!ljx0F+Y9@@l=aV3}7a9wL07 zI?~(fYFi%p^!LZ@+qid5mEOdt=MMW12bEI;=ih{okRAi+|KODedyuZ+Vc{w6jj6o% z@5lC0)Voo_vPdnCrgaN{^pb{iJo*!XPrvIt-w&5XOCRbMIpWa-ltBx&%ni5r`aEF_ ztc%bP)T5HNNBdH>VtHcW(pJ_$u|VBb<|}}J{`gUTfFJKpck4!0Oj+Cy9^O_(e5%IE zE-Lst`6!W-$l2>4jT4KSckhfJS)@A4%op(7WFc)a5Ya4kAl<`;dX)xR9W=sb$kW@~ zo>vB(x;26+2{^pqY1MZPj)KCTr&K(A;pz(Ky(KceRMu~zzy9(2RxiH%1>*%C`Yqk` z&ikbS%j|Zum!ayFK(v!@&*)fl={L; zyNY)Iw;F#rpOtQ8Pl{WU+^OywPFWJUDN}eT1D%AErfX~mE3JC27~Q=M>K=`!9tbX@89Q_ny1~kvVD;9{C7u zJjR%diCI*#Rs7~UMS{4Ol14%MB)6;*K@niP`ZE`|c33`H_c}S+k&+*e>8GmKdU(({ zp~z$s@9k3RBjBrIGWdJqH)nQzI}*NxdJbB*e^x5V{*5|@lP)5pS9w6g*G*Q%p_wZC zEC*j)=(2_X)eH)XTeiz zk0^^{K!(v%nmdB5WeJO0Tcz#Bi<9ZPLp}>zJG~;s+M~;Tb8-zzwObG(dD-2;H3I!# z>yr<*veeK=$foFMHGn|qjpvpe{K-#JFwhou~OkJVQ zN8eTYnN-7;T|tYUz#U{{Jd3K9lcCdBCqn&8j1)UpJ3&u|mt;)ycrRUI5b%I;^We|a zzD{?g`8xa7VJvQxPQUzGROSRtTFf&wGXX{55nBoO8)Bg)hH|LWwu20e>;&U_!L8p> z3GlXR1q;Y4ct5eB>4Hm|aOZ4iZ=g8MD=KdRDxdwqu_kNd2)gQwMGL*lg9|N6lKH7B z-qCDEW&AkRlA7G<5Sd&_af^2i-%}|wXkIeaL=Q0{dN>Xv^XIMrw4y=6y0_HU;m>Bc ze4zQE=28gc3Z`N1hdT}S=FMB4nlkWvlnbxt1FB7$g0{!kZLm8=doK$V6dRIcc)_`S zn_iyBlbfns!j+Qf?NSR}Wk)VQzL2vy7Ne`t*YT$4d|e0Bt1b5&n-+`T&({qx6wm}> zp@@~c+`PWDg)pBb6cLaSe{;RROu5d(pw+w>u+Z9Wa2N!pufuh8#&C(H{}He$fotjgCcMGcYAb(~jA-U%x-vKBK?sj>=fo$>2QIdePX9 zAyLUYS;Ed@i|)>EyCc8hQuNEXl=eP55R7%)SUF_w>I9#(htb7;;Rmv~9vaf7JnVr< zY=?bv+r@5agRon1KGeC-Z*6_%yhO*_KG38(T1LNTNnig{6O_$v zxccH<2aJXU(ZUs%7(^v`w^DsExd6w-nBn&!J$O~U8kzF(O5gUTWf?T2%YA2a{h@|4 zzt3$bg{G`PD(?7_Ob3>L`4&W5CgMyNByin3<;-JtSLcA5U%7&~i;uY^iucPxJMLO0lS=1L^6u-mlQmlPT(WZZp zgB+IaNL1~)r|9-5r?%grcB<2QR0Jd+={%^DFViex~p9|I;nd< zRKmvh?xZG{CsmJV_d85>)pgw4z9&&(79f5@%hZr_Fjc_YCj0e|^04}EcGepMZ^?U- zn`NxOms-qm%R|=7HEi1NN2iRa@y2i(+7?>2J^69h2WQ$AtmK0$mZT%BVzT;)XCg5? zi5wuAm6P<^rp*X35-h8QWwe~c+o&>5R>HR*MyitoJgKi3^@nv?!^6)C9CNP!%=N`E zqPr{)(vjNc^#gY4wGLUZVm!@fS2m(yx#Zs|hkt(e8LKjS5 ztS=8qXu{ko>GomG2Yh~qdA8}p)VmR3!NJvRt}9i=2bG<5K=MCsGAjOKdOW4o@%L?< z=2}T-08lYsYKBDc`z|jr{VXAbpk4dk*)SH!C?c%m0&|?m4N?2*|EU z%pY}*!oxJy=KPQEYZUhJK~iLE2;!t4oyZ(rGk`SNo6os!`oX6Gtjk-2pZVtFB=W7A zmHlPS#2<7gZm=GL2Iv*QKT}@88k5xCiIqgEA=Gx-$gRU9q#ITxmqPn9nB@Yu7m9%8 zqb(}<-93@Q7fV0DM0ZgkvYOxE(jfc5^8BQ^d*bc4pgTK_IyMyqaat3}&hBKeYw)k{ z4iein^+xV8XQ3x4Y(n7(vlNYuR&2M9JE|^qV8Iw0FPCn*?$S3j2pERWUak;mm2Z}$ zV9lMGjX2i!L^M=kaJ$ch4Q+S;;rJVK`#mTE?|K6fCxg2Ms3*IRhk&O3wiHozJ{7CT z_`Q4hB_;Z*P=zp?z0$PmXA9E2oF}t^mE~w5pIOpuj@Vs7!|Rd$9l>$(dfWTe#s(Fs zg&}9as^#QS99i_?=&^-@LhZTZ6+P^MjeEj&g#Cd2#Qfwk0!UZU-mNcZ`>@w~k0 zUhNYthCoC=UETB6?dCy@A+j7;045mZh%L5|))d^hT6h>j_D~ zd;)dgKC}3yPxZV|i>kMCY%BchGQ7e;=*^TVMX%~JJ~>Zmz49*&sjU6Yh6Iq)K!CYpLaV&rPNxxiA=%7 zRquLyfdK6Sz$7radiCmF1MzJ5e%tGQd5J?050B#k9L1z6CQL&$PK}LIm~G%)O(l{6 zhB_EQ2U7kfl{4ZQ5)6#Fb@D8WJnPEtCxmP_ey)4uV7Ln97cE#sHwFDMfV%bvHJAwlATHV1tmYlm6}>PR!!!@g1g$U?!GnhN z+34sU+sV{>qU2)G$NXJ<65Sbkt_$wl?DG$O@=oYWMu8FvsGN?K$3zTxH47nIjt@61 z8txB!uGlb~NIsCKriX=UEkR0lz2Ef2%8VC%Xc&?+ko8A-`2h~u6QIDw2GNEv$U)s~ z&scw$l+#`EYKocmurSJ@6C9E|$)@}vNc%Rule;Iy#07R+jPvUrrllw2q0HG! z`lDsfl25*(^@ir{59>$BE|!-1qz$WjF9d1!(R80FI}LgOr)L2iMEtEFmzlxp*-w}! zSz&RWVXIuRxJ3J)z`bsMFB+;PRyv{CxP^Ijq1RJSNqAeWM;`ygMm7g_A->y2sN_)< zSL0ARIDz@GJw@saL%;3SbwWBkYs9-9TQja0h}tMUYS)K(yOw8oXj!-Br{egCFXA}$ zNlQi_-=N+1FN=aYS)(dByYpnUy&cm2@O$~~io=$^ck8%LEmEbmI!k>x)) z9{_Q7sR90}U=MUPP7ZsGh=^zp^*P)fm1#HMTt^9(H4P5?&~bO4bAxyP$aN)w@@A6rfjXKt5G6@3Uxmj=2=im|q!^cCS!-lK9{XtZG?oTa6ny)DoXJALDl)JZ-*8(0gDR z2iihU)j$^dl_cL&GA--dgHcDU+59+uLi=4Nk%ozn93;<>+Vd<{?`Q#>IN`AcfA`0|OauKsT9dIk-w%s0_7}oD_4pypyp!1c$ zPW6ct3B_U8cP38-yPt@K2M4;0VLwe`%co)K$yHEkQ?3h8{;KpWaea>7-wT`3+;`UQx*G1apOy z8X~_V2ekzlsH*GTJ$}4^Z%Jz9J{LQ>alFusiEamn$=+c`ZGe5tO zQ4L@0%nVQynW_o9{F$LS3#z`jaTrP-7=C?^W+^5S?5ywQSDI_#JHOj33hF&c`O@V7 z6EBm0=R)>tnp`vJM<>zCEc(X>8kQ7Yw7i+^y_lM#BjUkrXOD*$A!F&jOISek0o24aDCg)r zyQ><}M8>p|10c=H9QdaiT`qkoCeGI_0uNriC+vh7W@@-!p@Pyj*2Bor$+NJmEdBQ! zNZDG4!?Hg8R3wAuuXrwdlcum-zv(=&O-v%#)n~OSMiUxGO{kuZzkfI+*P@WTS_5Cz zYyN3we1)Dr+KVXVwQ-q@}TCVUw{p#*dNWte9OvWTBU*2@@f!r zVFk5)iAQ0_+-pHC_TCz(I5DIbw|Q&!)W)j59ZZ>U;|0Q}mk#%J#YBh>e)StuzDjAV7%3O+jv; zqEK@(qDCZWV_MO(fHLcYmGNz)4yqfNE>d>2VP+^a>Vnp*=<2XDhdWN4wge)SKRGGQ z4;yN7Ba2bXx%h=4a=267g0=ST#g3eQ!D9ZmMf5njrLsPV|cGn5y6aaVkx zvaH^X7@5rj6!=QaHRx@NjnoAQ`>DiT38(FFq%V(jsmqvQ-eB>0(ek17ZvC`d?TLd! z6M#@1D|g-Jn?fXME(8o3E%g=4ob+3u5OO6;ZK~-%+IR~VmU%=iLDYPkhFyK_{&R;v zQ2AeCtxvQR*ojH`=bsR2P&S^0-dY(r#BzV^gDsz7v8=+X!t`r#lB-|e$y!$Df9GpC zq38p7?@gGQkI>;uZvO}vmhe5@GnpR{=kXS~TvfpWZ`pj+G3dpJ9d|16)p*Ttmxyr) z5C2%9Lr$f9^u)q%VbdSimeHj!bzuW2-(Vvv0|klyyfdbg{eT;&ExtPqtAuVdMB3U^ zao9;Xk38Q)<_Of%`n!l}&1{oV>&iJ4NgY0n=JPWYYCZfAJFS>WsVU{z?92?)_ z+^DTFn#i#)ZUr-Kg^0Wc@(Mi{E1}tf^;6xLjGrwmZmuULj7_e%2cc&OwxK1L`2pjp zz@(a5U$65I|4Dl1BqJ-_$hxt)ktiG?-zdwb`)c-SlB(+bvr6BCi<^@bS+!2H-a&K4 z`5JWEBJxJ%{09__LP=d=Bo&uiIkQ$p!FO3?cW3H6y4Mdaz9r>V<$#-K*lR#N5^F8zbe`;8%*JReqGg9oAJ@FYj=kgyyu)+Jq@fq-kQp@ z0|nEQGO(-g3I3rHe@vgfgtK^qww&)2DLq@H5)Z9swN-XR)f-$6%LZy|H15f8rC^>x z2ew>un4vTLUPfGTrsBmHUViDymCvwjX(vEW2MKl_{0EwEx#zup;+O0R0_-Mr`ar9B zaQEJITML1Y-cz4n9K=+PwCN&{jEwXWgII!E!7n6Bbrt2VJrYX+qvq~jfhX8m?VN6` z5FcAlHpd*BOkLN!2bz0QJYa7)cB5^Y6M1$Rx4LVPnGE(yX6qLHY2^aKz@#iI7dl?o zD1?lAF;Svd3pV%0LfY-^z?71kD_y{eqlHS$viw;Ppd^g7-eRne*9ecEAYg z(X9ZzAjYF|iQti=-@WNNoJiD?ebG{o+Nf2_@tlLDbtUYNVoLo_WWRFs5YrTmI0?dg1 zGgC7wN~NykKjWw>pavb zo_+651K1o!-Nj0E+<9uA$0FmY?om~T<7DUC1yXn?H4gb#=ohUlsqMGlGJ$-KDEKz7 zvc%C*S`yNjuw>UQO4aI=cp|E8UwZP#1pyc`PF8oT3xuexe=ubP#Tav8x~n4Ia@%E0 zYE&QVlGIY{_L1C`;JKznGJ~$y80%bIe2tLHt0#MKN1d=h8{8-d7dDr$82!=LjQB*q z)$2hFb^ynkgwNwM5r*%_O1FDFAU{T$;1Xi1U-s39C!cktgg>?aG{o#2!w@Si<;KF5 zXU{|%Q$m->|0Zze$%g4;iO8y~rVXS4Ua zd_e8sFj<}y+dm3?FcGG=?A}uD%?@JPmZdHt!@x(~TMA~UooO(kyXAtJzbMk3&AcMk zy_9~3-^5oNmt!5YR&PPDDiAY6PADT#aA;ju`z+;h8s78=1$rKbr*tnvcY8p+;nyj8 zs3QcaAj1msTO)NPp1a<$<=7#2{*g4kxuTsF!X^N4bU~0$(0aet+abp+N+=knM!H6F z!9#_#ZOxw3_;D7B8VnvFi(}({gX zE%DFrhOsCD+qp;6#928qQd6cOVgzS)=q{kZp#162d#HN=1U5WIwn2yo8Ql*)YWN1( zMrRtm`@Gab7)hy3KhAvuAen)%-VZIGv8Ur3g!Q7AK}`yr>r>SY_2wsvzB5iqebO2zH( z(srN1%tm(asAm2I?^cYVPBO8pJ^sn0wMEpM56S_~332^I+y zg9<-VW!3El2dyfeZ8k&$|-ADBiiGjp=#=p ziW~@VV4%{y3~;@~q2RZ`PbjOw-&PDjYZk@-1Ptl+zBMQ<5vx905_n5Zz>|(I;8oPLPl<1HZu^Cj1W&)xBDuAnYqH_10hqBN2_a`iYI$MGeScSy zc18V?T_$wC)%#1br{6*=slo5Gu*acSUuZj<1evxgOTynq)A!26Kb3`}toVNiC&2CJ zZo>TY5vVM*pm{XISr{v&`Pa)F-E!%2U%D1H%y->alQlb%?VLqriaE_pbX6@uYp;0r z<7`UVU322=u8zpARCx}9i&zj*()_9or^>P^B#iK7lyxvT3XK`VV#M}fyxQ$2u<9Hb zcyJP9&eb7`gKW1C@x7Wv-(6(Pjxaph7KU>uL0I=I%)&hS(%0U+pRZo?`968EGEkqm zLlq1A@VTd8pPKxk$@NF{7oop7+zV;|G?42cb!qZKj@MXgWwz?E5k}wxWnD|3Y z0>f2e>8XI&K*O?etCqd2-o<$oC)Krix$;-a%@h+iA5^oB_$^DS9)FlKSD!53==`qt zaVhtj%Z2+NYY#3s2e-n1$Ud&H|B5ZR>nE=$_W^C+ob(Jgspx00YCI=rG!S+jTff{c z_snsu$=hLS209G)+KQ4LjW~a=#k=%A%E+9o)C2N^{E^pDMm<#UbWiT|tgFrKVs!MR ziUUrUAy?GEgr`#YBeQ)y`Ki|ua@tGlREdQRn{SF~1plrjOXQBA(fb-Uqm-Gk&YIf(N(*_4H}pU2X*Tkh_v>WB^Yqc5BEES zK{@1hQk7a4o_$PdfPA>Vaevp#S7Hh~gH~^74WRl_pf#KI2{i=w^}7;Gv_e9a01H#T zb|vKV^2Iaky{P8qEu?vrf$SRwTKMB}dVLPRrTC{#)aE8EgB3`ul<$pGqjyMJNCH1a z4?>QowWoo4L@;JVe}bB8{^tQI!a-Uy`miT~Vc+7n0eO&Z+(&rbmVon=#&JK?H$03$ zcQEcY$}$;jMH#Y~UI}h{!1SG1sc>lP9?L*ljc^ye<5vHq;IHH*Y5T8SOP^3w>? za}Zq_C%xP&EtgV}hF^jVaQK3H{}sIhlR6cDB{mCn`FaunWrZO3VK3qlE?lVylr2%h z>ANVS5cU4)5aOT{k~JpMX}(L*QI;t-L3)givN&^JQ4vstwW@zxPvME+-}93T)kt z`3M|+3w%&yC_Ba5B1Y8?D==b$v{FOfcaJ=Bnc@x!mZSI>xSwXk@;7^|0Qy*&G>5;q z94Bsh<2kz@O}!2%f*QP6+!;bL1L8rOKuVxnVr8I~de76Y#zn7I1-;hWElRD@2P5zN z{kGpDC%{lmZovd;NCrc_`#GhU_f3j2M~4Q5$(=*N1q7XnDtDYk!Hcr=^Tcyh?$tMa z6{Fqy-vgr&n0q4^`YdDA_3WniEc zOW@*ufR$C2gGh{Y3bibxMBsbirzHYgx8reZzol6h#(@z4Bma|QbXy%?vU>PqpU!E6 zv}1Ot1gmb^qI1~gL6=G2Ql6vP&i(;TK?%-khuq6q!NPJEHrIAC8|%G|riOap^{O+4 z_X6Q17y{>qusB?Um1gbbU0dV~>;^oVM!62bJK@9X?_j3@g%re-SmiETTgh=)sVcpV z{VT4r1i-pziZuJLvNmRKhhy;KKASMfvT5Lb`To6}Sw!JwUnd!IcbPg@;QQ9C_{Ima zP$P~O#_}+P5+oWiXe=F=5+_~an;w%eB*G9ZN8Np}b-#I>Jw@1;dPSU3%^E3cAQl!A z!;ZFOK{~OZckYOvAS;~w0!UZ`a9&0nP?=N0+0X#Pci{TQdqMoHYphCR_kXifJjphm zE4(S{iOQc1Bd%p5V5EGE?n=C1FF;iQTC_gkL8D5L$~EYmVxxLBi;0I*>Abw33_L+vazAnK7>GQt6|-mh)neu2iV+9FBumaAluInEv@ zF*`0)2N20}r=QbsLw^xjUv_=QpNpkg3H*QZ{Qj`TNo2YP+YBJ~Zt+#wPfjftLgV|1 zZyW?tzH*FTHE;~Onu`Pvx_He5EiNxuc^S2J-JF=PY+Y@5o^D2RSQS{t`Lr~q!;Dqx zGzw0^KdU={!d!@;+w8FD9m;x!Gipx(A;-rJ_x%i+f*lyjuQHMmEn^%g3jF<0?5~b9 zo^&WFH&AaNSJ9`2$A+yi*5yTyCDFe!;PP}_*&jMM2;R=HfS4LPr!9LqXv@RG-o1K7 z-c@ivnjxj^L3~5&ewoITSBxhxJ4DS*Z1&fRmbG4U(56@;MM{Gs1jAs9Z5DDlK7%Ok z!BT7X&jjKEK9yu`u2{n&ktgQw!2GgrIruF~eN*CSL}b@k84s;LlZ;xgM$<}$gha)ds9QKYRiAS%PZL*+@6+#(L7_X8`UqI43&r76(?4f zAhP_Pe&?q9igHnDDJ4D2qXl9sE3Z?#t_bAa);#2~Q8U;UxoFZ1USF^Cl>0v9un9@e znjFDM$W`Q_+#u$vh-GwZ%3dGRPjEi&@X+}G{||mc9A0K)0GCL^XMOOxU5m^)1WL2^ zS!Zzhrn09Tw`*}xNe$<9KO*aWm)Tk$$VO9~Rc%%Jc9eqqe)A_rxw78~+y;r6*%Dl) zTM4?D^3=`S39t?!3*Zgn!<^PUu5ZFH3ldn^?GB+_6f*3%G!BlH!MGYqbpsMQ=uyvU zl`(N}P@ILv!&4^r@St%$qUm*4H&A{F#Or-cq!?bq@8y_Q2a|=Zo6x-r&^^W@Oe=#} zM^Q?HEYAqUI<|EJ_T)OOp{Lub{rHwZ*=1;O)s{kFX)`U@v#XW$Ln}145@o^~Y6sZA z!S&!i6I^^Byi2@ZzjtW8??v+Ac9pwT`znR1HQO&W9Oa5<9*=kN7j(H7?Idq=-)a8| z0b4qLd}87Q`H21g(hkns}+_Za^gbln@8mDjC|_PIXb1>DT7K z)Ox?Suz;4utkwXVPoOl|@0$^@@5p8j!2#QZGsUb&tZ!SGOa%sDy`9=WzX$U#jGSj- z|FcoZ;GYITpYVY8eTSE_<$v~Fj!C9f0~yMGLQ)-cNpv`O$aa{vR*sWF_2rgVsq?D> zSJJo#gim8w288wfq*E=8_l;fv)rOIIqQ~$>T2BSwJW!X_Z`9VG;B`&X8ybQS@*osSW) zK*_XMA*X9P5j3(V&c>}ss{=^->LJFGY4R_pSsuSgfwP&&a`gRi170GI=|;9mvuBYM zk>#hCv>Ftk&Gzib=ZT+<*i)R_2WbRtk(fqHKUF{(JHRf85O4~|SD>cZ1#?qwir2Jn zyCeBla8NR0`?$y3;xNn(XiF(zyZRMzXw;Mq{%TEt_8kJ-lxFJkyI|}bapK-c!=a&Y zjR5C0lYk|z*i{GKvp}(;uR{wj77zRC@}9qFV}+y-kuLe#b+!Jk2YBXBc=MP$M15qM zlZ4<3>m?%z1{!|rP4C^*28oq}o~nV+V)U>< zE8VG~#8j{;$@1Lb3P#7GIW<|~m*)y}UNPOyyITVfZzM1uDv-^%&2e+9Qvtx=o*(PiTQ{&sT?(x_bs4<23i`BAFw zsa_EJEk~9xvb4X?_OaFJ35p)e^Wd>yaI3W1Zw+5k* z)krWpg#D+;mz%c8-5G>+UKP4`HTBD_yP1YVajOnwpR6wlf3ts?%4=?1oYVjbM@AjV zm9qWRN?B#a1*DduOUWe|q2dsj9O25$b!F=yM+b}BzhoX4j*DMWWw3CEi(EIxd= zKO+o_#K1{S-dQYAqx?z*0#}|}BfoGi*seteJ)kl?0s{fyatA9`YB>@k&AN>_fH^Eh zw07w8eAQe*ah0ZjE*pY(ty?0FFun-D9Y>`qH@q!i1B0kaV zy@iP+8gpT-#^Dg~ljN%p`)*M{hR-T(jb`~HewA8?5#ig}Yf9?)RJf1_sTam|=_UHU za1;TKEb_xh1ACa9AQRP~wc8rW;OV55AK;P81&gqy^!@xwopMmo12;@ZLa>$+0&$ypY$X>pTh80QttfECBh6FmeCma>~s3cE#ANqC}AABYbJ1kP7^N4#Icw zr8C~*jgX>K*J<9r%+cRQ+9%81R{1}EzcBwoNON3r0cdQsi~k=ZJil}~TMRUEg94cS zP94xG&woD#h%EOCo-!7QGG&bZbX`7+DE}qAzstkbNe%CSIXJ*S|~& zA8jW?$oOsiw-4izg3hZ`{_E$tC~0oqHbcm54gxI#;sQ{qX;byuyZ`#oAAc$n0X1WG zKz|Z?|LWMY5FHTYbSctHm$l^IM&-VoJ&V&L3;9mEe+k5;@C%>+6HPlOUgwc+Yz6zX z#Nn0tDe@ct>UH$WSlM9^>a_qY0m5Nf{# z-3y)p?Q@7|;_X}h%PazFUWv(~11&7CTnBMb68|c9_%(`lg#5c=TnTMw(&mt{PdG3` zqIdQGCWZgpb$mGC2NTdU!p_VKns_1?&x;>^4e{p-?bq`8nS}C;SI>pc_isXfZa)K3 z{@gbp`ztj6{VDknkR!;FAw=kINC9YH{lCQs@Fwo#$D>D^h_X+9z%PXuGf@6>kX)+g z_CKsaqeURC!+U<@@)yX7|LY!sKeeMk^`O#x+Rk@M13DmkEs=kD*1LowBlmBPHj-qo zB>)#=xkUNi6JIMV^q+e9{L+<>UECNT;%om)#M*=-$K0UiYj~OXod(bUTP(_) z^kni!Lu#L6Me8*IMXXve{FR;fB}2|MGE0okm&bI9L?Fk;?vI z0-rCr{3~f?@34PdE1L?>5l`y^hy_oCPnxJxdHA0eQCSp!GYRJaz7DKtn=YDv%$xic z%^&uKI`RK#UvB=turKkiG*g0p6-50_rQ+o4Hg1G$>VgUty8o9BJS23bT(sxF*E&@G zpQ`jy{#_;h1( zw$DVpur!gS6Iu1I{#t)&TfDscMSye)Sh2V1LlI^F@=(vc&W*`9B`AZo^E!xMzqC^I zcZb;DrUx(x|IrqJF|-^f_lD#j5&-P;C7|H$T;~8G{XdwMPuD?BO-<&MVZSf&Ye5Yk zk>wVh1@kz8CS;ZW*RzjZrU6zF7pUk^d7ADYQ-gPrlsCSd7jO7J8DMDJ$^UtkBIWFN zVxTQqec%GABo+TuUhVJ@!0hx1fXu={ns|%vf8E}%7xAwMIgtegZWQw0YJh^6JAh{9 z{M%krOjDS0I}?9V?yH#745{qzXz2G{0jO6lk_9(~U-^y&q>f3e#{7Qo*Yzri@q+O= z1=&qNzLfG8a)BI@QPt!7-$egqhv1GUCoC=*9V4~mJ9@%?oKsn;1wkM5{jY85$>nSl z(3`yL{liq5`0z=mUwiJwt7M@1^nQE;e)~* z+`5#BM5o;ERSMg7A{gb=c*oF}BV)ndPoC4weO!sKNFqnES|bp@b7hzzwX*|s%^ zR#TtjgPNz`a$8&Hy!aX)$K5VnnOyH4crTATp0t=WNZ5=QT6u%$&y@(~|@b zWHWMXELdAxdtqf|rA7+9%L=+{{QTuhr_Orh>798;gwkA{!_>^c3pEDv|6W8i1oH(D zwb9wxiBk_$)g+X9$ShKm_Do%40FJr_1}nN3yIluQZdQAKTEvPfnED?+pYd7>Sl|1x z?|CSMGt%ti*0z1C#FDW_hQ|B$hF|af(8xZDE5-WXbgJSTF`_VFq$eO%{i&rd33w+X z=G(d41-$mHPRv0ZmGtodzvGwtvLAb{34o>>vQLT`T2)oG_KQTr*n$|e&a9fe9ClC2 zY1lwP@B{n*M|1ffQ!&$KAYvx7z=hqW?M(50<5^j9JVdim^jCJ%?qK*-yF)pH2H>T?r&eWw`O(yyV&+`M}@wCaR$3j;C}sSIQ-f z0zoPeNf+2qjc?X<-_8s=n|IS-xsek`*5QRsbpKxtrT?+g)4y?EIk8d!QnutL;wxb! zYrnNMPV;uc%tz_aZR#V`%pd}Z1DMTiMRqogyyUVQf`)>`UN`W=?{pnBS z`eZG-Tf_7T2l0=HWvUpA_)dO8EAmQrn^Q%FL3p8u+S~7cafUApz#?}}9v%gjmh}lI ziKY3zr>`e+r}kdsBDYV!f)Ht{aKnd<27Q05y8rWZ|Fg@#hr)(5isL7AUart3`C^$_ zr2b!yI2M~RdD;4rbS5bp6T$sa32G^ zQ4uj}V(o@Gtwhu?w5rwB^gGOad`iVsek%M@imKof&f=r}4Npjua;v%z&d;o5j_hJ4 zMC(=tmPdl=rNisHT|>v~IVefPAy;E-W9`};2ZKpd?eLdGgOt}A56(}Qbi$5Zt1Qi? zJjYs9#CzY28b2#0zW1xYy9iusDb2S!p1lqk+4mB6=apGD4(*%fsM%M@s{cH`3N|97S!+OX;#hNuMAH~) z3nC=^3#Z@4kG6&S>ZIQ?p@L-j=CIq_^a78u$Ns-kBVmqzKIzaFy9wHL^%FzOmDAhq^+J@vT_8o$eCUfV~|ihM~Y zaFvODpx5Dt>Th0W;J%)jpM!b|0TcB`vqE2>i! zfth0fU^i2emw9yw8G1rBb@H zuTbh2{0^LpC;`m5XQ(dkTZRYSe2!7pM6h?65aIL1^O6mTjplvHR-25!O)Iq9g`(v8 zv%Dq7txN-k&+dfG)t;oYIl_s!0;jSMHrbCmigESACrgjo-vyd<%&N_`r&~F_>mpJX zufyMn+oWT>=1nc)(l>unEwoJ`Xk>NfDalV~@?o?7sRUmwpK7@w&C!V}g06sOb~bq% zHRyPluOm|BHC5riP^j7XI^$Hsr;M&(=Qyz(zkkZf@gvtHTgW?$>n~w~RP|w^-|Oow z%(a5sR9oF!*}mbohEs zI$dSPuT_59DOIyB=X&nPN1Vl~z0?xj?AuhI$Vau;?0nY)GXMK=uWoCX-W(RN%U77& ze&f7Y3BhZwPhfVroE-!mz@NhSo8k3_^!Q@icKp00>2wr!CTty%sg3wCKc6fz8RcD)o#1t#DRdiq{;?AW3{XEF0j@7*`vgmx})* zM>LnnNqlE6FBV3K-q#?ZE|K)_nNk#?T-Q>sG1eYBc!>Nuh5BuniIFY7ugasgvmlKtgVqna|p zlMdsP&EJb9PmeHf49*AUMrbqaMtPgz-%zD#-t$l9=p4pv0_+z1UX3r2U)8jOYhc)5 zY&xUDa!DV#)9cZKuOnf;CLVF_p9{M0l;1siYXAW9K0dEy7eC{)$I^)ZCH6@lZVC9I z($j1?=*4IX7;eAJ!c4^|THBv*95*#hu=||DaeI{E<PGvhKH2AfcI%1dpY?&79p*@zltt{v?yI~bLb^SQ=xjsTRX>*Y?<0kspOi@ z76$C6|CH2rkWhbfJPxu~;pp(q@u^Wgi=uRBBF}#FYhdG09O-Duk13kV*{?y3CC>VS8A zN6)qWaIpPF)Nu_tgtpS^tA}w<4aqLZ6ILC+MJe%^S;;e_#_c~=>P}Y$=qbF*-ElCg zuX5QX$}*-(E?I5vI0A;evqU4PJip|!s4^GKKH_?#i3h0 z4c7+CtwK&_jxJqdYLflbvpD!H{NyLU{aES}6F-1jYfC!+tTfg(U$Iw7^sN{^dsOMO z3wt}rCEi;(`62GJGv)}@=xmWH0?oFDL6zUK55> zQsol3mHN}q?zAH>U;F1%msIS0RyngGE53K88!)(vFfgx?C@C;0XuP#yV*sgmz|XK) z15QR2JH|Dn9gx)Yi$DF&o!fC($a&VUI|!wzO?|ft4nD>CGrI52>O{R6h9Ku&9|<|m zli%HJNJo0LUN5X1bPy7XIr7}>ItAgzNgTZk{{7*@2j|h}WZ~%C#PT|K5ke?IMC*Uh z#^ZPPccegttiSco2X@)+SQ<4VAcj!#L^D~!$Ms@UQJPZBW7`spwf{r3nLom1wTt55 z_M%(b(LYSDe$lu1umw%@!2;i*qLNL~2-w!nahR*?q6=dW%;R;kn<~Q(y6lHXZ$Pl{ zzCQ8(R=xnqz;>X!p6-suK3@uI#YrS^&#Jub3I3PVr$X$vryF7^^&Nrj8Hy)Xs z^?WzTKSeW7GuAvc>o0e1*X>y<*C;S>@S*bbK$tlAtzV!G$vN-jo_qo^tSimRI(hcE{gf-MT&p60;zzf3DN9e!z^X#pozdDxN9 zi-p4u%eg<5xAc`PSOQ5OI{)w{a_Ju(NccQIf5c6E`rO%#>>M;l7)co58&&w(OpzdD7jfrseAY8Y4k>|rPNhmJD zYRqIbIZK7WqHMLNLGFfGlzq=NDM}0GPdvF4@@1#wzGdNqLr#g;>P z&!K$h8v$*7163Hgz$bJYtM|pAQy@uK935Sz-(KUv!hWD|y4#TG%A(&szQb%yy8$OoWadCMIWguGbDL+~P@Y`*@($d`ATts2gS(g8i(oTXu2F}t&mvH+v zx|i}`)~-C9Ax>f}^$sQ6O2PH>WK7e*;EmyHTlp6te5d9o=v4Zqi}5O(YyC1^H8ZJ2 zoucg0gFC52#jhq!wQ<{<>T}-EXEyEj1+OKVI{TS;2kDuJprMJDjl;|VFJ#uh2EXoO zs6+CUB?TSf3CmWVx`~gmM$+j~v!C+V`c(XWufJ{Igmsnw4YerIKV@WI6uAeH-sJ)# zGsSS^sh=RlwU~1*&bZ+92J|JxAp4qe`TPr#b($vy=ZQ$s#Qp11|Y+8cl3i5Fx%)ya;TytLo+HK~Bm(fWN`nXi)CpKZB zam@NTX_a0(5&KK#y0o(+cxli#x~L8twrEBeLN!lC^fdUp}S|*(qNn;su(t2 z9FpZGPp=WB5#HPZjpW+tnhpCBkegnHhydQsL}$pBsF~6b)#{7bnf|Xk_F50;mZj-Q zP*!8JAjct!MQ#rLpIj26rF}K7l8?oM@f(~rzd>L$=SR(mu17)U{@$Yv%&9|X!PZVS zPk&ml9kl9M_hX1ybUttxVdXf8RXupPe6*}`+&)%Ig>MGRo^4Y+#5w?tEOD8Ze?+{^ zL=q$4zv4nd>E(_aohKqHl-u?X)abH(lB?ZImCdeb+7%4m&YzD_ziF+i@Be+PvWW%JnpP*9dqIKP2jrsdUT)RY(WAS%K8DZf+i`O zEnj6$aN0=@Y=k$$8(99%s0ByD)Jn*-T$|@N;@(S>#eRpf^z)g$-}B1+;-#Lf(@`4S^y?`M z+H?Fc=@DG7nO~}e>FRBO#bC(e2LP2FBStjiMgOe7zJGAskKYPZgZo=mhOD1?qHRp~ z%Q85S^oi8NgT|KUP}$NBOGl)k!U#k%(q3IQ(4jXp;+$2-N$TC%A?SPr~gvrV^Wa}EJ713Mz{4M2+VgokebOzB~3$hi!N zJ<;eDcft%;_6PhT7NMhz?}8h)mZKx_v$)O`DeKQu0+im$rhdmGQn1k1Yfpdd@aRpr z(2mcTP!(K;JyKL4?J!^_{X3hT*J(s4*4ycu1R$;9$p~FY{7u;5vsE}V|7#cE!D25E~{T_Uft>c;^7mkCzf754_6rmKpHF@KJm1fHZe2&Hjk;cmbI93K%Ti2HWxJ zsR92e-3}yYIiZ{rkBnM)#QQwD5#k__DXMlhU_Yf066O!OjiGdlP|O@Q9vFMi3OV6G zwgY6bwQ2PcR<5N7K6xCwpOw7%kG;5mYs4+ki4`Y|rDO8QSvyvhWHT%1O@ z+A(K?6Y<3`v)S6ij039dkCHEpanwZ3D1xrTamgb1heSGBrgRqP00E13X}HX;y7+Dl zfRXr7{5 z<4YVKT*UoRQmZ}kkub(A7637>WWDIqYk7^NX{zu<;)AlUE{B8Agyjb$^+3X{3Rfc| zu!in{6mfZNyVMeJaS$m@jn>j2ip@@)T#YO#X2xvJd3qu$7tt8K5e!W3 z)*Dxm)8E>qoMA-hSx`7=3#e{}-~1u7?hKxQxLe=^dtkdC4>hzLgmWirLfVGVLPq`tS^P4Lc&!$`C79O!n5sqq2g znt;^S*8v$d6I1tdOv7h+qJ=K!d!#FvDYx8Y4V|5TOg@0xcoPWwj@rX96V}m95vLyZ zg(F=n1Alqzw{E%o`$tWx%~)1{wfg@=P=J_@*Q;aA-YaV>|6| zAJSkEtvSI-WCgCg-z@S~vmP|IeF<&MhWjcl#$AtbI|?^Hs974;DknU_Jwt{trYvih z34Y?xUafv+X-vyx?I%NFJLeY z3Abx^HiC^_wa{c}0((-*#{-kc6v6l=O^Eo$K?y&tFmDSr??@KtNX6SesMjw!3@J5R zcD=`Y8-}ESDp9IYO@r<2g8R*Q)}8z0fViGTV9eDo0@x3Y18HG=Y-d+|Gu)3|Gyp8> zy~rWPWI5bvc6aURiO@Gi@UoC+4h%aO8#Ey4cP22hn5RfMo<5FUcmu^oGvhM` zBTt*@^=VO;j+q3`Or&7Szz~u@iNIG(cl7YS)lm3JKQ8D2{q4NlaP9udWp&mq$3QY~ zN7zFs{U*O8?e-sC#6){9OBS`%Ne-dG?KxT#nI(W822J`b;KPZEkxiyg;b?4xWQy(n zx1vnGC*Vr53hHc$n~1K!+p82H*tdc5;I3CAaO{tyCIRk8wB9c<`w%MdyqzQyas^Hcy$tk9ku?M*Ya#k37 zmW(nCzr$~aZS=71Eliz@8r)Clsc@x6r1YEw9U^^$IE+x9iKuk`8SeORo^Tp-1$$t~ zKhg=q(?ady>NU+W862KV+cLx~ulcgv2%aIw6zAtw4MX{-{2@WO7Udqy1tcKe1m4T? zgNwq8AG2y_Rf@>q#xbXcS*KN*JZ>O3cK5$L9ABD}UsiMUnhf-HY-pYO4)-Q-h{AN= zsxMQ2eeho3oD+lnxQrXyFbDz{uJg%f-Cu*ueu83-YYK~tjd(4~^l{tLSWHc9 zCqbpBH%!4B`t=8iVN9ShBdFA}phvO_S@gOut>N?A9L~&s;?QZP%<;Fg#18b$(_|_k z+l6nNdFgJ7nSks^7=!7e{3m-0;>KPJ9;6T;d(W&zLFF6w@6NZtxYNy?NgCnw^B=K^ z)FW5JL3iV@O*Ov3Zk8+{^dg3T*}YvpT|T9YInWZ+uTKW>i4Fps!Za z%?+=YB0?rpaaGYG&KYQf?t-ITAg~Hp8Wa+bgA48oQ%Dy(iNwmNvFwdcw>Y_~!5@Tj zLq9_$8N(R$wTXm5hB<^Q;PuNP@?{q>P)Vg3@;5CRcApk@f3RKo&q<^hJxz?nB>n&$ z7;4M_h2rc#wCCZ55-zXK*kn1l;o%QU97m5vAu-gX)Jxr9o%%J`DB-)c;oK%AS8OO-{X${P+X1w-mDY&FJS2r8`{BiDG+$%HXn`N9b{ojTzl=8Sm z9Ph?cPCweiX(~_$dDyU+@2vbgxc=!Ro$-vVOj#>(d6z7*Y*AD|Fp$(I2EKC9ak)F9 z2K3#AV;}0Ti@69X^kiTM&$=(D*m{F*p`b3jZSyh=nnxR8A_um%k0%lZ``CSc6tmC$ zB>O}764NRo{F?OLz7^0h_dYZGgh7m9&N$7S>M>8=v^C(Pl}cEX)?$rWd=Eo;?w%k1 z*!T?s(>--&7-1o0Xb@T1Asl2Zs&4Yt<@reNSciB1Opzngg!b)T20V+s{q_+W~Z171@YPm~RD;hBVm(T-1QfzoAz?SX^{8onaA z@vKkW=o;cq2?CEl!y$UcB(l6lnwg;AO+URtA*~^s!~d8YvGJgi&VOJMc1kx5%T}D{ zPcMf)9JxxEN?uB_^ozNSt_V)B6!9q3C4wQ@5u|2AK1aX{fO_9HdPfCN8R#C}e2t}U z#E8|k1~MCEUGhI3M9~d@3W8FOiv-f3Ife-Q(Earjg;xTF?asf{42E!@4 z0=~3X-#Yq90-7RbuZz;_ccz+~Tm7V#OuR#u{7u%`6lt@`n|Rt-^s{kkfj%e`8aH1m z*|ouTIa5A5)a-K{-Th0~nUWmW&^OkIQ31q-*TCS6M;DT5SJv27g5w;wIbIYu`Z1pZ zh|>Wa3DOB%26(%}^5Uds|2%*RCxWJw8xRNBO+@M=TrSwzPn7JAs>f-T{&U-jaHo`M9Qw6a^mW~K zK}gw1;eby-kui29lyug@;)m|?9R()q$)IEbIf-@G(?twS>U|-Fw)1y*gsdq7PH)Hs zvn5D8jPf-jEpXqnz(T~N+|nm?FH^)D*(a3^7-D$Yv~4Wv2&S?>9sa4_^JvIa^(z~9 zDfCw$N#&Thk*b!$v5de$Pnu4l#y3>(4%-rY|0et#(A2=7$;0dB;_J3m0ud(P+dY5g zBk9!wZd45TAF{peEG|;mBvdD`Ovu*e6Xc zh)oEh60f5+&)0T})vdp3E&tdhZB9UX4dBz$%x<2WXKVwojld$w{Uj2C8`EH64Gp-Z z_15Vj)_K03yBO3CY?rJ3xFE}hU|4RFdFR1wOk`7i07sLhB2l~Ep5IlipTRIALUMIk zL@M*W#<;rtV|C(%g0FH)tTp6wwpQKB)bnukcgise3{3`3Kh~wp@8Kv zkXrP)V5964q7}wy&j)2a{AEFJDh*x?d|t;&?io(Cm8mVu{L|F*90q*=8`J1!vv*kL)FjfF@b<(7D6+x<+MFA zo)2B~pmfNFQUddv0ZzP4x0vCY4)MaB8y@qqxH^gvC5oDLj2VV8X{nX0i(f2%BhY1g z94H=Z9I2#I-1sswu}&gu7-1ELd(p&TOD^VaE0l!@wXMz}L&S`L#76JjXpqWOYD&=) zmm5VCBV1XP-(Q4mxnG|s-CrCH>!kzr`O9Lbz=XaolHb;*8Tyzg-pm9s(nSIWx?*9G zBtZOXu+)W;vkb>$sq@BRip}n$WhG3!U-I`+@SEIDe&;6-V6^zs9?R=-K{poTo2#_J z&QLO3Qz*?l6~wxHyrVI;K4fGtT}HU_QAHOFc%=QGN zeo%K8Lh6!V4N&IZkK3zs77S0t*BfjaB58WG;yiG8EE%OTIr*Z3WZQO#JT>ElSa&XK zLNP(-(3|7DHNL_v3cU{l&6kEcCZ`8Cs*R;z>9#vG)NARvAORQiW^Z^+_c*B+k~67n zF`Vy~ei?{fpW0y7JpFCqyZs0MSfN!P%luO2;|mVi8w%N$@n09`^In<{Rc${RxIJhu z6HMX=jR^3acq{%SSg3?XXZ6>Ix#FxZ2gD!ap5uUS4-UPq*y7BBYrDvo$%bEH@Qw^5 zXCFV=!|hKJzd1AUtf3n=%5)jvPo$PeFc_DpC#riwq&CDJFv`us{`K2m>N)z$GXF`4 z9qX+>DN|w`52@JM6hF>EkaxLbPR-z+^DXCjL|r?)HUt0<0PT1Jdb081TS6^2)REm@ zrnbSNTtuZjW+cbnFlPD;dUuQo@tui2ByLz-38prPZdetZ2luZ_ABBx#((DmY%r1l$_Vb@XI zEw(LJ2%TBg<515P!YN6aIEYEvlLp`goSpMxLJ#gxM7VrSKogzRwB>m#9srJRJ*zFJ z&=64qj(ulYW~EO4)CZw+e5{aXV^R{!zd_RRBU`zg^SnIWip#;-p%~Jljt`$eLLR@S zq)*=*SL`-=p^t_hKM!?HKDPJ*vQ_LsAV4dSTatw=L0~`Gu1rq2lGvFY_B9j{V)m|q zdW3EYC%4CcH6Bll>}zq^keqDbe6CiT&k0cA5*wRJcS4XaeJ+|wD3gu z#CtO~YE?-djo+xCjK*^_YTrnF-@`s2EM;`oGC5AQXV-2*EvdHDf9_L>{$@S27^D(% zPqj}@ro0}gGhOCj%f`RI(=5t}FTaXi1IjnC$QocFqBAtR`OVJGuBM_!Q*#9b)m%`| zDLPBSI0r!9f7l6Zd#(@&c0w~me^i%bo{*C0*#XUURbh|@}jBOejn!ZrIhdu(D z8lKVH1NsTskOO>u?C4cDjS3jzFvDx{4L}aU;3XQ#O(2H=3*DU}H{!GI;4>PJ-!HM6 zx?`wpfb>h`J*^$)l|phb7LBxD7{y7<1O#d{jhAuN&J9 ze+o!o(Gc3f?LzcQgMl!*bVfir*-7>4AqG(tLa@WbTLli)vZc!b!RS^9-ATp~B3NsX zoA;8M#>Vzw26aCKHshw^a%Hi})JPQoZ<`0Ru~XmwE1{7mXqFSn&gzC_ZiXzGo1PY6 zRoUq*%pKKIz9S=ehMn9RfvU*4F^1SGXBh8NZ%_Sgd5h?Q^hRCHmT{MZ;@zzGeInKd zr0B^;w@LmI)#nQ|IK7R0)3WCKRLI&iZT7z9cYnxzyKo1-m((NWs0VWQt}EY%e#+ve z*zIFwH+Iogy8usNQ{_zJ=QnGDQf@T(S6}o@-((ZhLs=Q0=x3_|Y}t=TG_n8%(@fUL zPQa>}qXl*Gl|deO1TV@CD|$ws1$kcHFYfTf{RPWxzQm_}(5RGD;B-$Ofh_(JxuWY| zDbrSzM|{9&=2V_!&2j@D(J#X6=uW_*5Wh%#!SPDmBAXKh;7f!+Fz63H+Z}wcqaDnu zVmx9EC0aojv-$4>Fu2jPrb^qWjvjg=?Yh*AMig^7VPXOFC)sKjax@x?(mtlc$MNpR zDMGHJG0Sb3Pu1(|L0L|TUwY~s<>UhWGQct~hLZny9F!E7U99@U@;mZ^d$F3#a5`; z=YXM|>L%znL4HQr)gnzcI6FZWdo!C8X)QK9r*hn}<1Mw{D|D$&)76G+rt!y(uV79s zsHkKdAEt2}eJCfMNU|ld?ds6^;c;P3_X#a!!uzHJiZ=Nssavt>BI@^n@e=2E2@Y2q z0XcJX@Af}I{&$JlfH@q%ZI^@EOFDCk!T|R0DWmy-^MxOylfq}otyfLhFCfoAX^6ht zFUI2Pezx%mF!!L-%GO!)n_;PI`($2=h)x<%K`b3{AtimaQ;C^)-uP(NSz-;VQN zr+4(O%VsW!>`XadcYLb{7aP|1KYw^asWYbY+^#iE=fzaLe?D8w0d*x&A;Sqp_th{< z5O)xeklUMXLQ)H=ZL*ba9F}wJMoM6W&8Q4Nr!v*DZ4|~xvbhA);Z2lgy>EJeL zWBuh&xEfUFb@5+ilD0 zPXF8Yug-7hfcw|CkOAq;LJ#R6BY~cKFId3Ba<5LG@ZHAU?Vl#AIW!kWInF7ka%|u| zfnmU?YDp&ZdE5l+wc@0PcGpt=)%-IIvCp{MM!K!2zUk{b!Y@~UOOsE2u4j$Y?X>1y zBpI;PS%23XTrAC!tB_(hC~kEbj-x)Idv}$Csp!0i$30*~G20u^?C?X#+-+`bWV_NU8z=$S)s}06^3i)7nai`C<^9 zRi(uNmE+`x0Dve!R#NPnJHkm8n%}Ba3v~S}^u)eamb*hk-18uhMoVTZ+W$@*2sSYRE~5Ql$mSZ6{etf^#Tlx1R> zvBqlV*K{x@neAMuTCxJ8-NnYA`C?@%R-%Yx8T!!#x(y&NVzl4?m=iK!qFhn;=|Y8$ z#Yi%HU2<}A_odg(ky%&}261vShn_VWm3OsSofa#>tIz(LKrufi>26#{WO9W6F^g@u zq9s&G_srKVm6er^15}`uhud?9u*b8us*fHJQyV)wOj1y&2n*59!O;KvCmfNX_Q=%F zaU(M`mUB5u#ddq6X~{}Os$y4ETv99u$$)la{|>LzHG%*6^MCDVql*lIR}eir<{bb< zWI&h00*HWjwLih>ayV_)wgh6>T!WMTUV@AROxk9I;HRyc@H&W0|N zKsAn(U5@Xcrolt7V z8tc?VjSs^Fa%QCG`BH1ukqkWLjnj14nwy(e>e|<~2YSZ6Z{#U_ni-<`$HO}wGHlVyk^h|2U+ykXS1;Pm zohBPR#1?T2Qpgc_D%M|5nv9}mT7Pos>51u8DxD@yLB^uJlg}VtqOdt@cvKfL%MP^N(OOj~|{8c~}e;$3gsk@ci#KmG7cnC6+u03j ztV{VIeu1)_r}x{5-2(nM+~j~!}#T{0>HY53@2notYNsrE%Am0k+oe~TyFKb z!fqCpX+p@24Zrtb@&p2g>u=@Cb5;+)5#ywf561@2U{p*}Q%%2GrEP7WDMF9W|BeFw zKBx$tRNHRcU3t^*A)v&A0nSO@{J-f^=Af4T;3`e~KHrWT27mgFQ!ACO+g6ujJ0W$p zYKGyjcim|0t8R{LturQSS8rLz;c1w^J;Bo*51Mk`?S-6Fs;!JxtJcTmt|R!3avr5v z_rY4H-C6Va4jeYx<|5h80$!z_m6!)hoZeH!@pdC;0Dj zw0JQ}pm3aJRm)!bBoi`0)0$^l6dBLB@P$9NEhn@a348Gww*IW8r>94K=eFviG5CDu z*0mh`ngkEnj<|&S0kj!J9NgMOyf!qHq@hm&{yYg#NA98!_HORD$~v#_^m%mE_GMCY zb&ufG>2LqO{aNC!x{Aq;jJzLr0OfEsLseHNMhKc(!|~!1Ca{Ma48;7%6^seND+Pg* z>Yjkc43DK%I1e{Bn4CrOA`ck@*-k~15Ttpk=>84L0F4voipEzKd|&>^Ot7dY`1bhL z=0DG>r}lJ>b#hKxX-;5tb6>ug>2yw4b$&6l;U(5tPPEXs5J z$Lg`+u`jo%+GWE`cm6FEpm?hgua36cS}j(KHy)gCyvLP}FEjoHh9@?_3$f@6?)Wr; z^Y)o+k3Evd$q-?J!H*($G%S{f4qY%;fya}&CYuLl45M(7hmk51pBnq@KJUaZWSn;1 zm3Z5dy+r)o)E<+EFK{o>=HT8#c5+YM1NtLTK##7;{dcfcanR#;-Rr!k zOxF^gMv4Iq;r&a>0Zn1yVq0wVW}#y1dT>Z>Im8emP{9vt~kmeSoB23S||u1uKr&b>0~D#M0ujgqKqe67g! zegc&5>J-9$yHx$&0PQT5x6g+Ga;vxO%TBc!tSfW5XE-l7Nc| z%v&uzpOnesZ#2c8O%eEw>vi84cWA0G0AS@D13tv)?#>86Va$Ys41nsyZQZ9S%W0U! z|B36Z@PTv;rCpWpP1$MA^HXsLw4thDsm@|~w&d$iMv7CI&icc=XzzLRc69F8db>xR zV(Pm;`d8@-$Q8mjg7-TKVt&;|J*Z>?uC~;ZJ2X-Oh-uyR@CgvSj$ON+IrT`QURn5l zNAx4@y)e|Or{gCU zKl2Kx21FYchHTLVgVwoq9P2@UQaw={;-Mf#-cmi^Nl#K^Qws6|F$W*(a$sz!T{%Cd zWj6)z%Y7eaa=>UJcVg&ykH|I{!ykmpN!B3AO~{#6DfgRwnH2_I!m;0wahj>gy)XWV z4gTR`qx+?pVg7jD1?mR0nb6PLLz)#$JeIrn)O2OE}S3*Q+YaPC@VJd}jAgo;pCgAD~}%31m&N$T`c zB?N%(zhmGZl$qp~Uw^*7KP=8^T()mxzeX9smUS(XM0+|Yb(|- zXL;8nZ5U_0~MM&nU={`qRGsq_gdi4ZjVl>meF{%9C_lEb29Fmsb zr1HD{%-dnI^}GJ+vl54;TC=>0BKefyCqpq~1$u~K(O+#dAuiOt%v(B5sZ4Qm*e0bj za$_W}JW78E%Bx!(eaD>Jcjug7v9F*Bq1(Wk3tyu(M#Xf3qwr(PKLIFW2{AT^n(;WU zemuP689bbtlbPT9N%GiWbepuj+WC~j0bJ+rA4t9%b!v_{_+Dl7P)_INK7apr8n(EP zvmuapPS}|duiHz^!)kE9pHo-gc_%^J+6ig$vWsX|ri7>`SGAAZr4#yIOq$bHQMov= zFoV9wSUfS)I+)!L9~U={HYgB3G&$3tx?DyI?o_ayF9?jcm~5rqkuLJg19oDm4#;Wt zF9-M+E=ioxH#bR7nIzG~yDxpty>g;RKfT3?38C`kwfwyPxON-t4Me8qjh!v4>g11g z3AI08>o|4mdd#w0s%7wI?>)x`!(T!Ii46How&P!Pf5{EjRVd%e=hOpiWaO<^_svkS z4H8W+z1_}WoWI|s2Fh>D!uZ{U58UQ2o{Z1x)iU>J{Q&nb}y=eun5?9l3PW1V^RxY_m0XNY~&7j{$1IIro z{*yuv2L*Y89xW43IK-Qo&f_&EF+$w2o-%K5L|gd=GGTTOUOJX&n^<=$JUiK%=s@nz zp~y2DM?teH@R!K^s`D7fs&d3&7GZM-1vgli4#zOlP)ct@n#5RP#p}ES`irN71!#}M zR&8#H)`Sn{gWqlcWTdpM*~=9yd}``~*=Z`DgPtFeer=5TWY<+PW4C|?1lDjvZ>iuH zXgxVO-=DUKyMR93YJs1Eb5Y~v+ai4+J46111~0e`%~*e8#5sGpv;)xFu4kc926~}Z z6F-JUiBjC;Nz~3uauPavQibj`Pb=0+s%W5J_r6P&mmc*5a25x3Qu$&_6Q2M2icAm9 zJqJf%J4EEkC{P{i__&QUi6-nOdfz(LpW0zw1DB41-k2|* zw7ejCf2&aqVD7>dhK;}z3-1ReYhF?6ZH$02d|-`&=&L=ceu6timC>q;V(+xrm9mpy z{-IuC1CT(|bc0vdKZ1d84lvN2ZlfH$d(eg{+av37D6voV={IPfvq%))w#{)|P`uP1LYt3b1)%ul< zqr7)n4ba8W=aCj^co9Gl3H3Cz!T0J2mSu|A@n;`(sMV$oo3T!y=o`J`sVH?X?V0EtP2x8Bs}K7oC;(!Xz4p z;Jq|Z7UwsOLX>OxE8e`|ce)*XdU_=R0#TDc9ARW|Zt5>*NJ@F&mz!H<)X6i- zD++y+HAp&VRs1LRZ_8OxeT6|@-qc{mX<_I0n}XB(eiUzSQ%iqT zF{o5~o7BZM)xjHXdY}3K;Y_L>sJpQ}Ldgol1EE9#Xhzgx-PDTYG`yJwE|CFue)!;-r1`@w&MXu9`?|(-KzyDlczG9+*5W2k3 z32pcizCRn0_Nh4@o9nCxTVy5l74}ka^^8V+VQS!4kyGa#Vdp=5=+mg3u`7#iz>j7_ z(tP!eIBLTei1^6Zg2lqs`4o_T*EdM85c;noER93FBUM_gD+RV5Tcp!VWg1mqlHp?Z zhh&8!TT;TIbm=}HXIG@D{T=wM5a7+Cws*z^h<$;u={J+2U)hI zZG??`L%;0B%X6R)KrU6V1Cwf|gsa|cW(!|NLN%X(Sel$F?qXUG65qU$Rj%V8?P#e? z58^uIEtX*j_SaFZ?n?PNsSqyIKwx|EmZz!G_k;~nLCvqTvJ{y!L<>L!UR5-Yn&9qF zex0<{1?>7S%Pj(J-cNysA(=Iw$+w*$wb8g2DkAq*IlYhUjbUFRR`ILHH~UsLh5bbT z{Qrq%2w>gWyV!9@Ab$+kcA58XYh#W>7HRS~XC$Rwn;_y_q74aEH>J_=9L zyurah1`LopE4)FZg3!xgh+KH|J;kMp0^X?&1U@?FJnB+|QXNc`6g&b^E!BsxOE!RE z0rc_BX#O-*E_rd0lKvL;#9coIC-`*8~|8N6`_LwH)6) zF2$=x2)v_DZoB2K*bd09% zZbIVYpO_Dk#JV&Gu^tz>z7H{Bd{>IFYm9i(M+xBvz!{E5Ahp5WUt&bp_abHo0>~5y zScq>2ImPkW5cA7W&oS#)ELT~2GHH56HzY-BAi2Jd`yF`uG-tp62!4t75CnAie$G%)W&K*f%@sg<-=o9Y;bq*{KyL_!^ zG|FaZ)vzHGg}IN```{ijB@o6xAT$+CshgX!j^tw5Y9i=&^{ zqH70eoM%!rlDpnwjx=G{*zD}S$H<_c$WAeEOj^xxz}ZXu;T5If1ZlxI zK7#`3dt*sUj9ZL(0cS~}X6cP}C0)RvNb`I3VSgcH(&@-`?JcF52P_0eSB5CJmj+E+d{*=HqnN%0V_YLh)^=GUh5vR!nR?b z^^N5(I>mreh#G56z}Zx6N7K>5MWqwEh0KKRNSBxl)N{H(C7{ICRqW97e+d2)E?^>v z>C$8UkOR4au)=DU4@Rp$u~!JsvyRFBO^qxxRUGo0assDDEL`>5e(;#3pKXU+EHqg+H!; z2J23n+Tdyb`(kW}ARyEyP5pTDAyA87 zdXNM;A}|>rG4R=uzKs06N3g<00p(u+-@_hH7s(0|wRtQF-qZn2L@eD=5JBF3P^c6h z!uMe6e44;m+#;$d?!xrJ2SFx>C&Yke9995C4)75V>=;VWOZkH2#1Mrp-|GUZAg^m; z+5p%1hc`&4;`L!? zz{LT6Y86Y1_es%(Ks%PH!>Z=3@JXIfVcxhm*kSFlVve-k#jF?n8aTZ~Evws86SA1GtCrcdNe`j^XgeJW#Iz4UAzs z#mbs#Z1KB@m$=Mm_Q>p}l_peSgV=kPdnQzTA=S0n)b$$(Yt0Cgs3wRSD=LoYM%g%6 zqJtjL7oty~JnY=}whe)99>XWEs$6YQa8WgQ!xh(g{^Lzbmu1REVDtNT(uq>JVgkBf z(IzwtfF+u&mOCE(ttQ!;RL%6&L|Vj#QU+U^TckzfsqU2fp;xKR#5v!Qzaq;w&pAdJ zA_>ZD4D*MdW6SV62W`Z_Rfx@S0gz4^yDqhg{^815qPiHkl2yt5dLPi(YtDqZr1r5(9^F}Q`2NUs z#59PnGQ+fKKZ_0o3NcYVm+B@}uvF9uEC?H7+ooANo9c zq_iF-VTDleh4b;FyT}Oz!qdhbX5C0kN&_XXV~L-*sZ zQ$%76IAVW{X5s6yv&3W5G=iE~IC)f%W~Q$U!j|;{qz-1w*Tgo+ zc=WBcox@K%X8Jg`ek|^JC4CG?TyBGOF2S5O6m*nHH@(N>*&5K|4zB*sFX=ftAq5qmpEt~x70y)T{;r4vNrYfvEBVhoWCr&xr&PN2I{<; zz$O1S?&hHLA0qbN|oh!|_4(hHg)XvWz#r^ahNX%Ha`hZ55AJRzg>XV?OfE21$QtYBhqUCQBz}g zwC9)-nJNtZvWn^(G1-2P2@iEblYK3gT9EXsYVBaG42M+OOelo2Z-$n&p80Jias>XB zZ8y>4h>XyDvOJK@9C*yS$>0pq3^rjfqIRbaJCBk%`Wsa%vcg2=!7qOu(Ov^eI#oft zo%|+Y_&bArg7*DkIegVeNo05?g2chYx0++XQR7YD2bHohmtMb`KIfzGRL7IoGcO%B z1CMfY12f-1oEp0a%BumdqDoh8Jolmp5hXDSB0)Rh^-@13F; z5O-@{|M?WyZh6c4^@La)W!x>}b4oKr~d{yEK>_Ia0FCNRB`|aK*v-povBK)Kdwsqtt!{4Hr_9CQ@ z=&4wulYrOA&SWf94#OJ4F=lSAC*>W(muhLoxX=1UaH2w8ux+~wlTDGy?%C^>tjYsxfxp(>HeFQtz)%jUX z-F^7Y)Geg_I-(f|i0b&&@Tq)v_;LV3K|#kz&bnV!-~=E2cO%*GT%6iBCg>dL{yi!J zfTu+zO|^)~CTYo=R;|d-C!X=R$w+SbDDD-5PhO~o2~^p!+d6HV81Gc^;O#N%-Z$wa zV2kfnp%crQ+d8(&Qt~ct>CwDph$El+7mT_R}90)v&!Nlr3xQpMa5jOWPOzc z@R%7&3oGKegW!Y_AMDh0YLS>Z&;DJvJ`GR<#P+0xdwKB?ee0cbs4lW_%^{+t#uS$W zAmmU_V~V)u0gKB)81W3z{gAW>jjd%TYu8WO&0>-7wuupvJ4HC8!{=|+qEl*qaIZmH z50v@Nl5UdrcQYSkzYAVwI^nK|;tt4pi*MG7WNoS}5=Jrdoo)US>4Jl_g zjBjF;Jqax^jOxxy*{y@=KREC|rn(JC4U8tIIQPC(F^4Mt=gJJI^t{Qmua z_WD1I3^^r5^Bg6rHeiSGw7bOD%0{6CPa%U(rv*o6L9knn|HQ@rQB8<40qOBsP|icP zS*bglK?5{Ufs#?Ge}%69hsL72)87vR0FCm1=>LmL_}{N^VjvI$+S%^ftN%xw@oy^3 zfjV|=)&5t!6)PhIx_A?#tw?Lf9@dzOAa%+)NcpoR-xz)8DtYF9gIyW?+e~AzPJ**K zsw29dZv96l;T4~}Itx%ttP|KUmTX^PwGi~JWLR#fogp4Yeiy$Vj?B{F-z2UIis)sD zJr~da4e2Z2B1$apFJ(8doP$-GAL&S2Eqxuaz5E)%Ufjx@piUiVEOtY@i%+v2YFh`D zC3xGSt8QXhqsn3ONX56pNaYo%#-d!q?)w+YSSp7u^@UkWEI$!PuO_zIw8m6EN6Yle zqN@6BL&BK31YEo(_iU=t(PovlytY)t&LoD!E+Lw4QI)Sw)q0}e&`>F!VKZrQ{?hbs zEy|69bD7?=LIk_Pnkjo9qdei2dXC)EV>Fdf58AI!s5A**y5uQ1;|lvTCU~@GAX@1O z73TNa@`dT_D$70AUePtCdf0Obwcac?=yOGDfiASO74(_$B|@w}P?^xn9T5`)1mPTKyY+<1t2FWk$uEZ`uP(7cGfOggyJ(I`+@U|E2Xg@d5rA zJ#z&cgw_J1LT{Bhe5!n3vnII9vfv!#?@IpC!BB&4+;Y_Sf!h9Zc;}m@L@F-^fVCRW zQfcPhx@FA9(P*=*D+zP_XWL_`rHej+YIo8_khgwT)8ycP$KzAH_D(Ph?wFBVY7Yd; z9&3+kmO&&$C3(J~)7O~<)bAYjLBl3Gm(2yItQ~keIB?utmR{j$6MPKbBWlR`-Dqnw z1$Tmd!EHYw`}bdQyGV^!`aI_)$5EU81YSK6>evoJqFk5OiF0^rUlw- zq4AHWc)Gt$PK$5Nl*QvM|mDrt@qc*!E$ z%mND*2>S%Hd%WRPZoJKMY9n;!lmBKzo}SUcCkEHb2>YQOP?4$FcFgJeJhp&}u<1ed zkQtTkUM_Td{qYf2^}Jv$Kju11vJc)Y?vy%zE-bpypJrNK6BInp_`d>JH;50hjUC|k zltK+oM&HTFX_K<*do@ihkt=n65_j%1i^X@PpyPVHOZ!Nb*uQiFGx%M*{&d1RzaOC? z<428ISO4H&rh()7@j3SS*4sRe(8*a+Uy5<6HOy2O+A(9hnv8nP1r>+!E^xY7t;iKc z?x5EaeF0U!K42rf((>AxVsErBs6VeI$5B?(tJNJ$GDW9m&k4k2Ut+|)$*<6A7)p1d zt=Q6IO=e357}l3MC>u^bNx-j;ek%P`pET|B18iOnaD$IN=~NW8lo8f3*kJ82S&dbo z*eq&Szw`}D;p*rg!yAncow*I~WYpF>;p6=?OIKABL(9`QQeYRI%Udxu8PODMajU2RgD$S_&=#3d`8+#oYB`m1H zb_gtnuMZ2iEFSr^W|@@1U0xmRa&;QmGoZ6h2|KxGz_8o9X0m%x2jU^lYNk-$aGTx% z%kqj z^z0>X=uF8fOV_U))fF;mCgmL-f3n{_7Byb{T3=ie5gHE1JU%%Y!D_M@&oS3akB2@P zRMo~=bbSpnCFjJ{Da}Vqg_%HJ-#c&!nGcz#rAFKln3+G$D|`1Y9sdL+@KquM zgREH_!pldlo9%mB)OqxY(6cO)bmndY0^i^~vD3nUAAh{9^Hx|ggRl|<6n5l4m`&{J zu+t@6=+;OPVUtXOBkON@8D3(m`{akg=KzbG2D2Fr9l3z8w@Gb}&|?OQ!Q}ywAo-uj z7-OZAVxU^|;0 z&9F0#klH6QMSj8lto|o)=t4eSN?X;TOqn(9xex?=kc(!V+bN-`>P6 zo11`pISZq*mZuZ`O=r$6$p^I5M8ERh%Wd6lF$DXrS+V5?sPk3RBy4ZMR$)C%y$v*F z?{%V0w&(yNo3;2I_-1q`TmH|9!7&LWW~3+F%=xsLC82&k{nWv2HP1_11W((01Bn=H z5~Eo6LP*nMB)%=Hs%nCFJS^7U&s5l?*v~ikhUyv>Ce3$su*?mX7BaI^>I&)$9ArU5 zk|&l6!P}>P^E0;QtBTwKHJnbK#q zUzK?OR6eZEHU3M*As&!gxMx0Ss8j3Iq6d9sJ^jSgK5VYgG4P^Evs!(8?JX53Bk*I| z;lJ}mPF(+2533&R=vHGiaK3x(f=|StU1 z0XLl=7i?<_#Q$)s0SgNpef|_2T*1<|S@j_zMRfDb%b{-V2FCtXXI;H3)KCe0HT*D= z?rBww_il7OwzlEZ>S;D7rBxG0EY4?G{yG^q_fi(mx^;$z1LoftPTwa5GXByg%(I0B z^9ddMZARHxnuQ2RVq%x1KI!^f+})M_zCZCu>j(MZrCPPcx31!Hew_7G{Eh+@Jx)2Fz4uB5>^62P=iLqfk9+Y|Iv;fG&QD?LUeALu z@_t{*bg9GBz4m_S_snox-y!R8J@U0!uNW71J|L+l9co5II5IJXsqiz1#TU{w{}qME z4rV)^Gb>AVaK@{7I#}x2>0c&BQBJNtK+Bt!9dbwqjrHAWBm>+jJ?;oLv+B_(-MiBYvC$&km1=hG3HNd+;5w=Mm4+7)^Fko>-itlscsp;uP=_M0)u^(gc zi1Q2T+uYs0Ekt+(i^=soNI@sr7r?mE%0>%$q{mD@Y!0dQ0L#S;08@0;{JeL5Fb`3 zu)u0LHjc{^jM)TExck}UVOy3$q z;PlRzVi7rnVvk33=w9M5%eg!CO0ad4E~tq@r)yr={Y#w>1i9`-@Ik6m@9sir|GeU9r8QRf2WAU3peR$BarS3WZ?Ma>fKtUXiL;jA=zjrU{xPm$&Y^TvheN9H2h_9EUTd^orawVX8Ge|=vP@uw%@9e#R zM_ZD{P5d}+zS(R@fFtInU_873wQ_k@`2)_z<=T{Xe8WU(op1U3#tL-OvbR6jY-uLW zwiMG+5^#2e;FCzMgEVMM=uG6rPz?V&1J@-p*Ae!n#plQ2l#{i#^V-8Y^X1y42==&= z+D_QxVVy&nkmJD3JT(o|)nc+fWZ-y&Bp}7*zX$=>FwuddrYr)9<*=&fm+mV%0^&XK zJq|jR=j`!m+V)u!l2W?SLc3S64}49`^!_D^rl3;^(i2D8pjaN%A<3 z=Tq439$mlDjQ`u{y|^(_uG(k>U^rJ4hOZSr1k$1U^cnpVbppE8tN}HafX!ynDk~nD z7!Lk&F7qwok1^)0^A5PWfJLw8@j~1D=g2JPG3Sc8)f?qLHp}XpviZe7_zh%8fV0?H z<-JJh+Dbr1JTkYDo~bpVT9;D#bA7`+wCQGI)uF=+3g!U3s8;;;lN2y`1WnMO@M^uz zEgtBa@Ok4c=5wyCdZ{F=tcb3vwr`)U?nsh2%c6WC=D2)_lzrwa<58{oVyjug;L0Rc zo7+XR%5siG-6hB(B)oj@KFxyopk1g0r8E=ru1PUt9<>5Kn#R?@0fBbjc2te=8@=9F*Fg5-R{+|UW}ffW`1|TylF%yyS}6qo4#JRuN8L&cg}4Sd9B+OgZqog zPEF3+CG^B57v9UR>9rf2?hLA)df<3o-RL}QxTMZ*c;2Ru*iHSX@h}t z!1w!|eON*p)EQ0gdF=YX7x8Xf8hv+Z(eJqfSINb5zXc|FrH%BD^bL&s-`vj0GVr7k zK#fH_9qy_i__?=95%{IoR-bW5TKBpO+Wp+F(YelL7SN%OJauwxaB5@|%|DHG&eQ#H zO=&nby=ze@#46|hC42JsR~~V{;0m47p-1~Es9i1jq)>ffy~~U0BlMe@IKi2EAn-$- zU7QF^OBTod}_T4JmLB+ z&)o4TDm?m*sQciNix5w0x1DZ8>MHgd$cJ6fU8j`mVxGkAIwvcjVWu3en8hzppY?UJ zEB|S?$yU$iMo21G4GlS6!}d6cNPjQQd(3Plx3lCq9J){%t!{G_1j80tgkK)?KyOT# ztlAqs9H&Hxe~ozQL7QP_WRxpUP|lk%5fO-n@B4<%0PYj{K(s}x1d?ZMLwbla_6_Dy zWfse!{ynx4p{&~x>I9t5AG3(o+pTJDN=s{YqgYRWCWsLI25Ac^$pgNWl~pQ|v8BN%0a3gW-IL$i^lZh0+xJP+pM?idfv+or?5E4PC;yI?-S=^q zO*a&yYs@Uag(kLVEQ1H_4?yBhw{lq8r zXK-Ma$gUpue(9%1c!~P4P$`(B3m)RCv+ZDeXSHg36Updh4F2hQkccmEI(W9VY88}a zI{3}Z_H?+98w3|@J1Si#DFk) z)A$h;!;kv4$!%14%Tb{f=;XgBp7yPOyb@s6OyH|(6TZl7NkM9O)_{(%1LgcxqW5qz zIRP7YlHjPBAiw-{d>MSZEMi_+_tO*F@TW)mn5n*eK z*b%}&wmAukc$u26ANj5%^H<2D#(|(6O9*FUXmP0G*D~K+o{>%+-#!#Qw3PiU0l&!%VR~4M0#RA#% z!^rwrb|-}2;*0q$tc{7bgT3h7$BmD6H^XY&j)Tl?w{Z;IraO*aCwV2@)}nu{TU|8D zrMH;snfi>{FTNlI>UT_5H1#(y^u8Lj(=YRL5n?anQ{b^}_*KenCt{Yrmva?Z2xLHa zo*ZID?4hKvp8(@>7a#H+YaE$%XmPu*VYzUOTW@FE}rWd2q zNiX;MRm`BhOEo2HoxEYVw-V&q-COfvWI~%`ZjQRdHjTM5hAmg`Ejo48 z4^ZP%PkRo*_ptpb!VT!M19l)6)67GpE1KmT|69wBZ)eDUj+pF%=|9GA1>8?Ps?=2H?PR@<9Ar%GCKoLdX;Tn<(aou{*?Lw642f6p&yHyN$f!rI{;p z?bRoy3X5ldPU9WRfr$B3oBCah>>30KXp_BAt87_iu5&M{UtUU4ekc~{ILeI0;=F2( zYv5bUEY<+1So_qhbkubilP{yC<$239NGjpVKQUR2DwKbFRc%WPQT8Vu2Y}t_9p|sP z;BvHA;gQ+IpMM8^e=q76o3asLhmUJ48tjbs*-%Y%XM zRsK&W2hoJgM3EN3g^J?*izq>wR1m7evt|bc)PbBl*xH& z>wY`MZMR0pU2dMJ2Or%{wo*I!DN8(p-PvEdi@gpb*89k*y1-px_wjtFGFe}z+FvL{ zM@6!&ZuWEI*xtC;e18muiSz#G*SJQhw9jN+J=#`eAo05e>*X%9k>nuYvu4B7)4m9{ zIQ0qw$BQC!@}texxWIY+i{6<>*WxC7SOyqm2&i4PidXBu)5vkSI)fMdYFF8L{;54z zn;mx(-fNbQSur4#TA2`_0y}dlEAI9Rssdu!2(KOok-n*XeV>M-1@GQDaSdR=|7Hb=HRMq${X@jaO zs60Aho6aF%Mdc>Yn$a$N^1p^g?|A4g;*kN@BzB+7A$(~YDHwooh>t_^+mAVR^^!_D z<~Nk)(&Y0KXLpZ?ad%3K^n@ezq~i77o7>Z)joQz71pz?_Q)5%*YDWX#37J`*M@y8o zZRV!@L-E+yvH$$)3@6yaFnr*wRT38wwww%%<%#larww{&!sQ%Xs>It{@<1jy0@*Y! z`9cdc!d!^-o|C%BK$U z#FdRnHtKR;Xrel{D45wY8z}-K85j}|ZQPWy9P~n7R~J*InTzvgk!rm=ILPM_yc(Mu?|@9JS=u!$^Oc{Plm4jKf>ouSyluXdFU;P-dF z(%@|_hk95HiA79=2i&;7NIm7)-az<5etLS_DW7k&K|85j0SHc^58c_y$0T{z-#T}4 zU}CUTK>d2!c+?6u>Z!dW(i~L3`*-*!wbL%TJi0n5Yq8SuYvGsCwLgWKg5^x}o;b9J zlERB8wlKh-FxmEl8g}67fAWt;;$PYN?4xwbMMKXpNf^f&%Vddwno! zfq?%w)Ul>_{<1d14NT3OxD=z0*K?~boC_bIg|%)7_Kq;*Dq zeF{IMc7AYSt(f!)Ww7?LJTg@`Sk*tkAB9V`(mbPE?bXrdu?~9jN{)YbbQ}VrV2Ou@D9DM@kG0O*Lzmj45pyOu3vU{)79Ho zzDb+v8bI}`l;&)+@0_>L@G*BuV2#`{Ls}5Dm$KXB{q0-CelWFAX^?9{I8otNHNJd7 z{@yf1Q0dFi}g&iZ`$MXpWKrQSlq+l@iR2$ECb|k5chs`9>aT0PjFA^?1VCK z3^P*c{y*;mU?VhRG~l_`gAUG$gjO@2WG_=;?Fir%=@MOCa*L1Sj+uwSCXR~-E%Y9L zxg8hynpW^zHqWI)5{uu5MAe5-cJ!cP&vTp6GTp8|{)7x{>V6cu;H~csi*F<&2vd52 zH}ZB?#ddrMld|y)!Y-nH>K{r?Imc(iTQoxGxr|oT-X7GjC|~|vV7uCmR$jL9id21Y*W`KoBfRkx zb7TZ92UL+oox0SsljGVt_qz5gmf$-4;i5>LtI^aXB&OkpOnp)L7kskQZT+@Fds+DH z;!n-ek6X@8^A2Vr86SK{h!*cJ}hgMJ!D_wqNCZB=F zrhBmKQ83IkpY7+2r2T@&!V&UrJTFr^SLU-@`=b$G<^>4|>uVOeFXtO{I*bjOiGuc2 z&-3-55ojd4aXwNTV6m+NuT)sU{rb#K4)m2%4fC*aVW6Sp6rcgZ-lR_oe=uQh+Vo}T zAFD^kZs*aI)s!^EkCVj7O{L^yJjGh${M8u^sdm|&>haRt=F(W4e_vJCFN~%=mVP*Y zy0mPU$lj=MBP!q|$+OJ=th&tq@WbZF%d%~MC_Sz;n?lY}Ynt~H;s1+=`^W8Q>rz!C zPSCnQDB=G;x@%vfsVc0O@z5<5UPo234S;q^tL7K=!cQ=-M zkkfI+<|f-yRpgyWQy|{S4M4)^AB;)XWw#v?ntg^;#M}Hf6gNw4)?RIy2tHWepJ4UA zb4O+&f$y@VmHFKJozrLuY^~Od_%)^ULz46$;yCno^khP`Si}2L7MNv`Fyan-KQ}lO z>cW>Av+^-IEqz&VT-4f+B~^_a6C4YyXM%heBa92WgMLew#$as0bk^GBpWyjvUo=!- zLlT+&k8jt2(zbe!xz$a{JHOi&Tzes%@-*G}`EEhVVR-_l&L;MQv)JM4rhO%*S|SMB zMndB*@GEnBxu`&KMkei>SuA{mEGrm!?zMYjuhu&}_Mfw}{XMf~ew*9y;%T+!QeRkEZ>FbxcS+uT}TR2phiVG)?Wg zZK_PJvx?>?$BIhJ9I%D2OIG;&Hu-nwLL)=b#3fpIT&pfh-s_xiKCT^yKF^&-5~@YW zO!U70R5SjEti%feJfh+vL(RsaPf53ZBX|2;i!Mxv<=__=@Bph~Hf~h|swF71zk1nf%mmgafq?1q0th>c6q?@V{U}~Ab!81XTZ|< zPi|Pey$Rwu`&RtZj4#k^UQgvU2CP#HOorsD(n71@n1x(rZ=JHgZDl(Ua!1wNyM^Cj zkZ^4vUg8j+#9*4=WKbYPTyxi%r19S$^^sRP({GC2G|~hlMCmaz?-DP%UI*|qo1rH@ zn&PnJ^&ov`U-}@pGoMFwE&?>f(e$A6I@cq|xEj-mp~ud^zrKI7J#RFX`dH<+xxuM1 zNEI;tgR@VD-))YUYRifb;(+y-iM^_Y>gSplQd6}6jCF_PZ8xy}6GeFbPwHv*8ttAr zBKI9=FNYaY_x^z}}iqv^t z>jmE{{8YxqsuS!o!%Pah{OFUlR( z41C`Q5Gvi~bnq9i@j9N%ZTlU9etIhV9^Sss$&jXh+cM4cm$+ig{c+*53g!0mDQ8`M z9+>h1=W{@DyTL&1ei({GXa6>&kWt~Pp{Z%P{`{fNx9deli~NDAD~GFEH_x@HX#Hlx zS)^Pw3&AX;mA>wSz+VMSKt@P|tw(rS12xk>dHGWl{_Jlaz%1*Bs5&(DERwIYKTlvB zS2au@Ii$#bESQfKye+z@q7r#8MG(dcoLVb>akobKQKjAhTl_O>7oh^;ewh(DE%nn7 z3G>JZp0LG(z2Hh(+xX`9UTnwglh6AJ9f7}h2quKU z=0&%J;gcvwL=6fXWL=>vEL?r&$0(ak_HW4Y$-tk7u|mo|N&1*s`hSA$Pc5a-LY5}mgF@3)nJ(Z4Pb@P6Njwf03?|dYU1`v^_8SHK~B=;(%5ka)Ry+qi$!GB46S#!rAv`%D;owruWs-DYU z&s>+&zA?q33JQvf-paPqVck>bYx>^e-EVYupmm#!(bbhKdULbDPLoz63d9gn=H5w- zJ&g-e-f&r?8)dw@uxbiDhyL&29!OQRP*9CVM++Qa7EhM(dy~}pW5>GCnGT<48vDEF zg=Lf-TKYV*)AEd$##+x(`9sNwpAPm@r-RjZf``eeF0}D2^ZC(3-N(I|7c^VKO1Ig_ z?<&*JlOvIZy@w&eF~Qo?Mymo!6uJY4GPHY(DEffQ`h$Li{~N9Bwnqz<{ z0E}-?P+&is+W<+;neQC{qs?sNi>|+)VF36lB)}O;y2u=?7C4f(ur^oO3vdP#=KV7q z#sA-Mhy&~igh;`J?NfEmz;na>`<{goYR$;X>;bFIuuBh8zsdh=Q2(5YcQ4d%0z)q_ z$m&fCt72~v-aQhz=_qw5{M_`BtI30k6_ zN^$k^vfAZIE#i#Uqn~D+;c0R&1L2vM7Cy;7fKEXmEu@Z1q?fjOeYxo5bwu=zo_lnZ zALji=?0?PGsXpwf6N0}m$V2+^Wz=~=^1f+57iuGC z`&1(W?G@vi@fWkH<&ykV1~#Jq>lbl@d*On6=>hzg{qjB`?g3+h99qtgvoI6M88S!4 z;Yq9`RBf1odOL1%qJ?89&7Tb$d2MT5JcXN+dMH#!swOoo7DJEUk*6yzmQEt`x*_t5TTu1&c9sD*COIRuB!C; z*Vwm&&jFJ;PA{KrGrl#pi}1V*w?&E8_A*nX+gBuBm%pu{x?95<-4m0k$fh-(mZfTh zrT(i_??0FImSMDT9R*ZJtGw)MCv9?bIU4^{$fv~2F6Z#q%wT{F%`5};az#Z&RUVJ! z#PU7kBOfe)Vz03z<)kaXVee9in>x9@yDj#e9XWY#dl%jv0bECu{# zWn;jIFt_5@1&+0XlKOJ`VV1dN^lRFB(p$Aco0Y%9+f2K%ZCRSCfK6UMxUrXnFDRf7 z4UT46NAk5G*z&Il(Ld9=87C}QV|0+eQ2$L+zU%%?1_Se2uM>aXLsVQZb@m~ZezkG_ zx(W?T`pF=B#qd~$`6V@l_&O(%MucWr&{^og=tv6=Lrwd8^Wtm^dy`J;@91XWFHV2f zt`9qr^;ift+l9m*>YfXJGV;9JF=~OGX6jQr%dmEkDuP|VE;5f8NN*O#2wD6dfSx5P71o0 zPwGugN4_G59#AVvSgP=yOfM`|B&t27sQ@4E_t$O^`S-Ouwi(Dbx* zw2mFu%afj{hZF}2MSHwtcDr|zV~+xVW9;ssAS0ockD`vSi!g?J1!0J>+Z@+cP`H(v z0s+mksBzC}ThCQR(T^5Gco?odv{h-os~F=6-MhmXC`kYZBf{5;Bf5Y?VL9h2T+C!a4yW>zTt-03GES zFHZhhVjmp4pDZ%jEI*`fXP9~rRhvedu^PBUKX6M1`mh*2HMrMw(tmqMuJQg6 zEA;N}wTr)L6-MA3?z2ZuT(_{m$!}fIspsKy#ecu6+4G!SrQ5>T==V#3Yq?UpK{Q4G z?qf;~|EvKIRh`fE+3(KI*lT_e@u{ZrVF=%`F`dm4nl4N~;r5y}`A*%SMysx$$m_K3 z>`eYU?|cfAAyK{ST+Nv0>&jn3=^#rO(1ipR2q1$Tv1kZjYYyMzGS@Bg$8=n12($x6 z6=__Nc5ypSKnvGvLlztkRDe-rSSA&h) z9k7iL2xKROb$+LkVbI~CIt}GnEQP^M@I-t$PFjODYi2%Ktf=JKG}|oe`4tOXP|p1F z-fOQe3$bbKNU0Z3<4F;Zvj2xJWE@7=+@%W$I}j+gV*P*v64qbc-;=xAE!P(jqHer@ zUWKzyjB_gs!+y}w*(1usfa5c}17Wus6Ue1jf{+ERzOFe*9U0~b`kekjHZ`xTP=#`u zww)n=5yhXFn8-td1^xkaQ3!$ff~^YatdwR97fK$>v6H5TqYxivFof;{+>U=uqM7%( zT9!ErW_w@D@V#CR1pN^9$gH#5e;s`3;Qc_vztrw_h8IlCX7RJuVZD8MI#29t^7_T! zTsdo}Na7WDC+V~4G!Ii!ENrdT?RGz2I2H^ewZNfEtsX^~+Rvtqa$2A6HQzuCuZA8_ zX~Rk@=aTq)Xy1HG+^N{cc~5yOQ_vV4=%Kz&uMZkVY7F{xwf!wrH%6Kv0IV%XIovP* z7Mmi%C^O*q7Ldu%>Bom~NN&#D>d=+89_s;K+v$_$DFN#nM*G_F?q}T&hZS`V%KdjX zP5Z`G!4Ba=iI+3i)D`>moRxSrPikl5h3c0Z*Jh7h$<;>dZ}uCVZR=59AlJC@q4Q8+ zp~nw+`3x#a#lOBrH0cDszl5DAdGDZaXT7#UUJ}&590~!KC%Jc{g@3Y?`5onj^*3z3 z9&qKIgF!$C?^d;Jw0CWcae|;Bjxd4p!0Df2@}&7WPd_b1)0=D;K^l!5$IYk7ucyK2 zinUX|_YHmETOWm@kijb(QP0gd68}{&gLeI(Nv6Wcx-;r?P0xzO;?(9pDFFs9R*x!kJK-*{e2B`Cr#hKWjk6_u9_k=Hq* zqXPC0TL;IDI~Sv5BsC+4PvRBHd$+*w?7D9T8vLC}wo!C2T*L4rA+}!oN4j#_P{`8D z-(0f4h5D6EWRcqg*{0O=1Yyt+QM_|clatm3gAw}tD_4U&M5jY50*0z|?bi<^gI*n$ zYDK0H-0sm~RwZtf8VcI8?a*C5E^py0)pvAv&QUq?&L|Rj7suENPQ2gN@!79va_U|W z!>o{&eLG9RcWhD`lh1aWmQU@$V$`#$(5Qmfxddq(Nl;cmgtWsvhHQ~oWbQ4%z{5Yd zNF-%bLcmU+EeK**5AHuqB;y*730u4S)8+d$m#O767Srf@SVZ5q6T>hU`TMIHOGLt^ zHlsf9m+RCXg4Z?Di$659fybKm-?V%no|-*~c7{Naxf_m34n8{MM>OGTX-~%fhctx* zDz0S=L>gl>=;TJ(kf$&@yK` zKp{Yh^mjddsE*abA$b%A%rsa|G54G-+QPsk@2fM?Z>{|uZ1)8o{PK)mWCwGNiS)rk zf=_MwJzwGbec^t+2h`oKNdWZ@CjI9XbQk($>qZkvk>h>0seAu@MgT0BL3nrzQb2Cs zq6ZnNkY9o?{f9{LC(Q%2*)aHYuz;5&u_xzaa|A#(j+vup$0AIH3{DQWIIbU zjfH!nl21c{gwz}K{JKDe=lh#vME~{#hR+05&t-xmU@sfQBDn_@_w&G#Zrm1gL4nJs z$F2;j`o9|qDuKX5VSjL;#s<^xrW^o~kK5P&oH<{Pi&CLg2@c|T=1!svU-KFC+u655 zm4hLzhjg})9Nopj)BXJfGh7dnzZ3r9YT`RVqwvPNh3HBxT}JZ)|KQ;I-amu&>iDy} zoh}LAgG_%*Xglgk{E?#+oH3Zk2#6A#7$*z~h9C-Y?(sJsfsvs&;6pWv|H?v*Z01D- zLzEO|)XvuRL(cu9Dd+y>fOvu2{ouea^U)lYN|AM7GW!SyHd?wAY35h7A)NO=pacI^=Z~G07Z?u@0-l} zFJGucS&Gx9pve}x8^hU@(`&-`%iQ8k8BiumT;SJxh>ucjyYH~J{e|YPol)8IuIM^0 zFQZ|Qi8?kELK3;?GJ+}`YAl=rE7g7BwWU?~GLnCN$#*xM%Yu){2k!}=TnN!KZb864 zR)bJs7Zn_3118+D)xFo#hN)%{f$Z&mCeD`~1=!x+Zj{%11;Y8TNHY#%DDe4w!~%eU z@!8x|cbwPn#@Y@9aUKtdzz|}<@`C$=PFZfNdsDw!Enx`IM}Ht#!skMNATs0>M1D`< z_&0YTu51Xe$$EiQ9OwYn>A37i2x5k40sJmdn63VN0*jwLGlg@Ua}t66G4%Pf$Ro(G zq6U9##Y8E|^UnV2`e8=OKS&+ooB-D5h#VX(m=>0K%rK7yxclGHf?h#?fW?az0Mfkk z@e3)_L|bgx7klQnoaaH)`(9JFDoSn=8iSDUinKB7wU&D)Jyl z`La9Lb}`22poWg@JgVI`6D&RY;(Kn2IFQPn58qNn}Dxt$IE& zow2=ymqNm*r$3*UuhOBDL7rYY!fXkSq~+ZJNt!TGKG%F8DCPXgM!%E@5~fhO=3ek8 z#~6IBeP#@|NuAklpYxY+Z~u?Iz5&D6RTs61c&*^A{y1j-8N1SL#@0)?`FBjy)A zTwC!ST=Zk}Ti*mZ)xng)8#$iue?@x&d~m_so93Q1%0peEnhvKY$7i*}l6Jt8Dl0IW zRxoqZ=0AApS8^sHP(?}dP+!1!n8NK+dlC~# ztWv)khqn03KcTCi89=2!r1k)?17*ljemBZvE!Ci)hj`l(F%ru^btvb!eHf|g7*6zw zRS9GNa8Bc>L!nLu_S`d(XOubEZ^q$YoGOl=g$_rYAMQpZ8g(EbIS__ZuuqjnSV(+! zIV^b3@^Y-?XM^I3R{U%=?F8o^Eh;PXI3V_OCZzzX1X1U+s+7Ix*v#H9EZ6s|I6uTd zzzACeH~88B?-qzT8H&0TXAg!d`DKnu1c+j{H72Z&VhYQq;~~w3^})#h4&n-FI?@q4 zH#lYW-5-}Cy$ZDe3b2dI|#~f|Doy!_EypXZR;F^ynx7fa)i8p+I+AXL$tmEOcT;n?nVB)vbjDY>< zN&IUePaSzF;G^G|#Z-ndj1vDy@y3gf+(R;@u;Q7cXYYp7xyOBwp}xtr{8BcoYFG~+ z*x9syfm58|>ndCF_pL*s2*2es;qVzUsX*eKyeg?1eP3drbK?tP6Wpj|hf-T62`~Hpp`OW~l_k)3} zQV-SLXz^UXif7fXiK<(Za`QcFryNr^$h;S5dBF=PC|x*TUjHJB&?Q|H7)VVLc@2qK zSQ_3XfY~89USq-(XW93BTIx?Ifg%B=QWynQhcKIYn}{N<)ckt5wjXLPQx8Y-d~2}u z^YrJM+xgE^0mF`~Q5x9KPy)oMO9+>(VT|`sP#$^_OvEud?8d7>rAflc9bp#F6L<@G z?EcPBE88#oYA6ZLGS}kZ=Fc_u?4)wW%z+~qIa;_UOTwA(@VMCiXb9GKA2+y>Kjv&A zC@p%yoq-Rl==A}Q4RLR2OwUp1oPxiC!QLl6|Bl&R(Gp)%m_?e3i z_I!<)3pP0`XNh9Hq+2MTVYwj*z(0V6`Tyh3#}0Cm)R)4sGOY$14m{7_c!HAn-WW4K zyW=zNF_0s=y{~R?#S{oKih*ECSRnvGJB7`F^5kELJ=ZD;OxeFZOosxM*UQVO6LSR1 zJhf1S>mBz127A9gkq9wuZk-!b(E+A4h>00sI`y1;hh^1`_~D*cCRUHw zhch~&wv$pe4|J+w*W(kyE*iQ7RSD^mQtbLN$9Sl%$Km9pFhNp9o*}3k~;PE=-#>skU6N?1)on$3NV`Mg2<397PkB2?U&7AklC^CEdi?2mP*l+5c(7*idNrrjl9ZUqEL5s$KI& zKD0X(8Dg9Ickg;h6O#Vo6OV;Z;8yCVW~p-kpIZE)00r7y zaB4FB6<1);cWj+RrW?NmE4g=uGRBHd9|235j=($ZZE=aQ#;2y3Q#FaPM>c(Y8px+V z&kYW-jr!Z?=D-dz3p}y2Sctqhm zPDx!W@%YD4J@f_RP`3X1yRXFs(|*&LFqeVczle@G=@8ozCR1*H6VS~+dS?^#glTKz zVPBmZZbenvIj?}(j>08Y1FwBS^M|S5u4eq3CFlnO_M@Ly8LR{NRoRKb6_!8?(nJT~ z-~D_M=LtT1Cy2W_@s6nWQK{GCP(P4mN-*Ml{UxyCt!?kG`}fbtWhHtO{p?MD0O*=f zzV?ImczA@ciHS-2;vfd#G05Okc}D1uD8C=NOacM#CD~EgLGKaA=$ivWNOa0APB*M{ zOS@(yadnW1I0CuxDlf-Dz59R%%WJ4k*cs+NNXR{SSYIeXqk1YSL~SEge>&*Fj}#Sr>X3b*BjUfpkP8p8UxlCAMZAE8+7~7bi!lem15k&Cw{T64og`q< zT;f^)u$1X&uhFQehYH&d+&iPYFY%q(kkFl50%DzF5`ymNuZY>w$8|#-BhQ^rr(Swj z$TBL%I1tFgvvYCvsUdsofy&I;nwa%O$UC@HY=xM3+{MvNeg4TJE=(R>(O>&8={u=D zQx+J020kzw-asB{pc4;!%>?BGUi$GlQD}D}ap4Y#pcA?oM99 zB_$0UfUMmo^!z>Mqa$v#C&S8ak_(fh+mMFcS|e5yUXuxjIXeBX#Bd>zM0+Jt86>!g zcPd~x6+lR)-2mRVo#`k9l?r)}^VB<@DTTQJE+H#kmMm6vM435GJki6=0DndggV`%w zG*bKk0U9BpH&wYdzK~rpm}{m|*oZPcL7cKadeg;l&k#I1w`97LAc!JVq?_WKH_;wu z0)=x&%_z2#lLG2^-e>VZ{9tO7Y3JB%f@?oCAD3uw)JXi1yf$_B5mA$_8V)soF*5i& z89A-N7o_7N=}1><5-2}{=*xgRNPYt1_s^f*gD`#vQM&6v1 zguRf}t$Dii`YHeFC4wPgMfrpyFhezNp+47FR;UlM>?)?6(0n&i18l09%&l&br zA9Z?7OB7&V6g@dM7KjN*3YL)v^CueFur!D^D9H|Lg|s;x4cJjjygV9#qcElDqgck2 zAtHv8)Fa&~BTV7^EOhy6y`0I&<-F58+5^{J27ViXDV+q|Iy~Ii*;6}y>lmlS(~G08v$o+=jR7wto3KX1>p1G;`))`4cl6+%>7Z%|V)2(O`R5mY0*lky2wDTrxVk7V=q|N<(w2k`G(sVg;Grox& zUwe5~dJ+MJnpRkqRk_1~_JhEqyPk{vSMo9>JQ)YZhjC7k2&kCU!kH<-(-E59Q*DIW ztrAzQ28*D!x|{3zrDpk9Iyk!FDu=F&BWEpJMBXl9n?;#|5I894MA)PR@N93pDf+?F z^r*}6*L|%PL5S7nGhv5~4;W83?v8s-dO@XXExf#h8$>1F`2ifZC6_qXtWY0VH0tOJ z4ic3@s7D!9w+Al*Yj{aq>WFFXc3JKpbKHMXk$A0HRd(#yu=_qqP~=Qva$23$F_neC z#U1w0)ChzeGi}Bhv;B&x6%;GPO}K z4wU=RXhQ;ySSaX!+3Q3Co<^^aSEbqwR38BtM6Lf}`Fnwo;BK+>BL32mmupV!ejG%96V1L>RZ<aD{1Agd<*YR2bQ!b#H=o#_#FU+e|wh$vi<7QMF zX|`K#hiK6Qf@@Ui#1_Y7)L&BfA1y{j>S$)X09mg-WI4TAj_B}4`NRz)Fs;SXR(Tev z6i7+-SHeS9zN6nPD4m=O;g24L_v`0WCp6cWU~_ZG3*A-@txGz#zlQ9)+Z< zS5`4;C+b2pfgnQWFPG_75pzV|T`P8L9efU(Vp68XxR4&kz9}Jw-u{rNtMjzuwCm$9 zoo|z{)28HZ`7gaA*u|u5Y{;(o8j>xHXVZ-#W7V=EQeapN20yyr0-t(bBkN45c5aRv zuAYw$%V@Zbz%i$fJ4MxMS{7spGh`B2u32%Qvw zp+@k(?OUr7D)K2r@2Gjq2ASWa=4%%Wjn&ebBvEsN8mL2@ywz1whC`Iu@sslj%+hu9j*8sxo;H0E8llrr!fr{M7GfA6ZB<) z4A;PHdlIZn69}lrr1*&eFjEP9emdMVJ*E}XV9*QMub8c~J5w5=j8M$&`qULVKfPUx zh4V$$&t|ehMU|o+tJ|6^6XWu^&T3w#u*jLh>|TiuuDeeJl|dA$F@IX{ZDBXO%0K&I zmtH<+1*%Kwbku2&XGc?GHZCCfQ!<7SsrXqBQ(qKjkG)ir>|FG(d~%X+&avr+-B-6? zStjy@Bi0WDw8JUsIJYt{x`iJKV$J3|;w)wCwVQ45Z9ZMqA*)j_1)G>(AA}1 z9gwH7Jj);wE56$3MFtW}kvNWzOY^&;Pu!_Jm9h>EDB5?NHysh%{eI#Z@*bj&kH3n} zDF*iIc?1%m>@$)1lENQ=KRt~U{SZZE2ot5as7M{e0%!#?UHe^+el!I|;BolfYf;;+ z!SinLxf}*F9lNayfrr^%j30Q9a-9*N<@uI1Y&p$O8g@aqr~mPVKf|8#fj|4qUo;CQ zypPdp-?Vm|69h@doD^)9N#z-L>11)0knwPQ@L2XWv%tuUXMx<=MOUuzRhTqIul0Vi z;J+HAK*V+Chk~r1L!u)bTUC8~x82Yts{gdX`Y`O;KWgLBRCBN0C*v{J(vP{{CXEP}GblKLL^+B<)r8mKb#Q?+=^gnRvcAN=qY`7xOD42+4qL3@C6i^BX>KwEUk`jr2PnoHT`i2SjOA0 zIhW_HqiHN}be$~Ea1=9P>)fN*sofWR#tdHt4L=Bazh1f6>4G!hTa}2AWhSJ@NGj}3 zKaFtWe72$85h&RiHq_in&B00>VeEZ$$}zg1({{f(!$yRAnAHXa6-NLc)a~5@?PeYW*ls zr#fQOq3Awjq1WDInfBd9LqCZk+2lw=&l&sJSBHy^5mSfF|BWjJyhZtgCu#3k2PH4# zv3F^8ks*xIq)RI(6egBO&Tv%eB*)kvw~ef&gx%Wnj7V>SO8ea|wXittR{Gr~LbN(8 z1gi8iojvvMUxydWTWrQbUHO7eYI=y&D`v}|kYi~IpJKzin`OzIu$Y<@#H%YY(jA|! z_lL}{7jzvt%s2diZ>`s3bSfpQHb$(kDaJ;QB6tM0EvKK$|KHr_wH&U{eyzuJKT z9D6-nEXe3g(X-ng45=@vNJD~|ax(6)hZMz}DWL-B1VW0CIwoJzxneUWer{>J>TzT8 zjpR>t<+F{Np-Kt?(TLtIY1Y;*EY@7c>^o&VZW^vIW%4MX!9D@Fo>h_C?zkmYE&aI! z*`6UwCngvWg@h9YEi5g`nJi2ESQTF97mj`>md>Y8Hl&K%GILZDD?DK^#d#B^>bcS^ zyh-{UPkgJjn7zY*9^B?j%*7IL5LtJ_CSx|tb-4p14i?F!sH(ORoUJr+x_&AYs;f?h zUO1@=?3;2JDlGfPyi=6=`Al8YbiW-Dve`R0dX&qQA%?xXphp{Azn)=;LQX|T zv*tZxU#@-72*Vk78z&|CQ%)C8!HGsUH=5%Q!}!Z0`wlFtnMyo7uBy=A*6P%#lLKRz z_}YhV^g4}1ZVI0#f5EC~m*9Bp04ZTco=n4UtF=~WoB7H>1q}95 zKRQkO-g-)Ht$H(Z20)-z)0b)w56@-B4F;BBHVt6@D!CV)Hfdw2GxO}5EeqLad?-ia z9c8$FQ6TFeVY;sJ$+YOL_8P2{$LgicFp%V35)Pp1QIleyfUXP}7G~rCBJVbE5e>8< zD-6VD*ls<&lVR8uwY_r+)w5c6Pfcx2HeFt~q!&lrOHsFX8C37}Np4rTl6tfHA#B_< z4lbSaNTJ70)iIoG6)w1 zxhz)evpDUD|H-T$z;wta)3#m>;UD)mjJ{dSd*ED@gkn8{jF+@Nf@H^(krK z$=jWXc&gRR;={0ZIenP5u2B@-qDIfdl;8{fpZ<^s=zg~sJ-<^`#mw|0sV4krHLIgn z9eW5t+#{`@Pl=f2)H&BZpdK`>$HkdHI}eUaa)zu+zK8yvugG+!RIYW&aSm_=Fg`cL z41*nAU+9E1fm7ROeHHL2VjqxWSg+Nj!nv_gh!>z3+;C6ilej4fsF(KCrfJ_HNu9g- z=59fb-UhWCZId0&kLDsU_0hnc;u=T$eI7e|xL}vKKmOPG;2DG?O~s?Yq(>CmHq!`~ zTxkr!JI}Qh9>cZOYm-M)ei$tcSzBQ1-N|CgEK8#C5G;z;EUXljvsgy(x6;xa{>2(c zp=g3DS|+%iqXI9Z_lm`>XnY~b`&rzdgrgR@T{=;Ongg zduca1s_Ae$Ihhw54Sxq5GPO6Q)2LJ_L@848_OE>TbO&+WXeH~9aP=t@tY^eLJ1llq zIQ>&X^oL871#T;SBeFo~o+<+bH~p3Ih~W^0x_}t!;!B z&c zN)Us!+D)8k%%_%SDz$l-0A2+_f_c8j+N+OD#W}b5Q1pA7i|fJ-o@ib+4+7VkH00LW zeWQ+op=Ga#o}XEZ4o+PfvLBzLlvHeg@r@{2cIjc5E>&_jz6=ZNBzs4Lq(m7nqNe3e z;qqwrop(N12CvQtc!Q3^`@#4vN&0&`f-yn z;`F6ZJrgv==Cm|GDPwYsE=Ypvz0R2fviJk1IR7rsdsSQtn*klK0 z3sNVYJg+IF{>>m%9XmI+VU0svRJ9-;*z<=`$4>uX#e^3Li>5UFcr%V1ovTWI>wa^S zNlLI?oJC>Z6V%a5U)RLFD7}P3%;}$T2?YkZ6(VHMT(`#iix+sn&rgqsdtuX!PUz3n zt^?(mjVMM0K@#IVByE!=FTs#-9pqFI-TCQa2=t=$j3Util4+^JD-$D{elez-&zomK0_sERFgS^uIk+qcVa^QPjgo-(^k zX7_%&lYecewtLRWikHum71})}kzd{opS@pe8Z@*tW2_+#AHh&+xF$maA1;-(F-IFF zX|`XAK0UJ=7$TJ3%m|rBg#V_5bW@c2y%$@b%z?laqM1W0>{L*DFkk_8kX1Sr?P-K= zL(ELJm^ghU*Pl%!wy!vPq7#PeYM2V9VxeX@^bQJxagUV>YE_t+Eye6S$o;u9EIj>> zk<vW|@@U4~VGu*(G!5eaM&pQtEhZhWxm_l;E0_o~} z$!Vz;R0}NEEjblD?`~8KbLN>H+uQ}6>pGrtFg$Qi{_K(6k`G|=%Z?qeaTtQDLRan( zalv>`3|*(s#uxazYUXF0p!IQr2WDb?g?4$0=>fu?npnlamSbbXr`NwI@2*%OiX zfIP4eQ(=Xr6>@=S^y;;H2@>FL1;7AfSRCWnQutH#-O@)(IyLI;A=z1mr0yylpRI(R z-|1}a)_MLT5-}Dge0yOFI*B+qDhmI zWhe~|P&plz$2NT|W?%JOI!n{kRJ%(*XhX`1T!Qu<&V%p-HmK#gAwO`M;~C_$p-c9~ zOJ(1HV0HK)0wIe_5J;R14N~B6E`&HU5pX$Vu@vR-d(@8>aEpUB_YV*gDQuxi7eA&$ zPv=jk-)KTUtkFiB*5Bn7Ki9OReL(61svLR}Xtv^nYPGj9CWS5yUQiR9;F%p_m!B*+ zykDsQ=)|MVP>yifEVgE(h&k%wRvN8MSFBGyMHl|*2Y-7NP9DqbLN;Gg&%u?!Y947F z_WT*7P{G-cowR)~D7>oEz}=zx4g8}MH=#d%>3Z0R0!f-P?!TTaOf;(BRGn0JOj4UT zTYYz$;8@)H)0UM+sdZGq1*9p=>M7a*$^JO7V2g}RSD!$V7TmnBA&~{-c7tP(u8B$T z^-`>qC?+mR&2RtqU@^T=F#4qUMQzNkSed|d)QP?;`pxYu5sSEIFUEsT~{l?uL>2+bzqDZ2|J*)Yd3#e8PwVi2LO<~d6GfSGYS%mRoY ziXUghkLIZOrNZpUOXc%OJIax%QOL2n%x;K!?LopN1o3o=--Qs(NWBUi?ptYG1j$}Pl91>M^6s}n{&mpYlAw~ zQ?+glBOYOrMat{yWa(4-YCZ1lX9Vb50hk`f*Mt<*fvex+O!ztWaA3EyY8yT>g0UZw z#N`v4TNKam5Es%y@m$NvO3VSE1mwXmNz}WsF7A!d2%T8Gx}!ih5es%1_9w}qidCA@ z{H-t{6fk&MZxycih=VE4Vhu%(H`^s{C|8?#VbX$$=862W*VANJ3_G)FA)=BKvD5*& zs}`z&K&V)biDen$haxX;5(YtU66-vOdE%omEYDdi+`+i+aC)-#IJQ z^}vs{1!K4S6*=RHZ?qk24~qpkQ|ruuc)AH^%Za&F*5Ws`LnW7x_KEQ0_mzcKHUBA9 znNc)%sCQ8F3bFfG#75i21SWn-lq;;AdOw3mxE$}`it6s4(&u-(v)w*kQBcxSqX ztRg^(vr)%$<~iaxntd`E0>J8C;9>hyL#2#i9nUm5BVm+b1z?sXDU-0U%)}d_8riZ6 z8TUi7+pjb(VH+|cEE;%KIiXMMiS4Offr~2^mG$hW=pu?FUkdNNP_}QE^QT`=WpdTD zPJ$YuLxAi?=W+E&#YiVTfgf5Bi4)XOnC&Wkj_Zfj>=Haz z8{y9kjwqKqJ+b%ke#rpBWD0hbO$sB_Y&3v)T--Ch2k_MH+R(;D@o>!j`HeD^+zYXd zLV@ICWQp);dqCBF8;}JG5IF|y(`CvRdx^zyUi3qim+60C6C8AjTZ>VVA{y^CG-pCD z#;0Y)g%Z>ri|nMN7zr5?H-xYb0oy=Pc#Lvht|Lk5>LOZAvD{vpw9HrfmaQdula|7; zB8k;9+zo50v#)cs)WylUI61UNoGn`MI@x+OQZbY3tcx)nCN0jNGY&Q;hYS|eI}{C0C=-`!P~IK6Ce%O#o}2%kse-$B+I>=CYdF=3u>i= zi|>+pNb;|W?AoK-IW9GIIh{f5;w~wUBV&<7FeO?#5>fwXs59H@Th|fG`-r^1bAaEm z)A{gXimO4Eo$+SS^+M7Fg#Y>Gjb-!FxZnl8U|#r*g5_L<6ONwvF$rylOT1;OGl`}! zK3MJGYQEyhDnHrGp%;!g`iD^Li4wyrr=EA8LhEbf_*K8lRA$&aNUzVz6nb>+X6p@S zm|v5c8T#|w)q6J-sZ>=!_-l~P2;JWJLr}-%UNms$mI`|}#o+6Xq2ro=ky8Wn;S2njN#L^bdBOCv8-aMm1n`L(q6D%8>*HO6@Del5}c zq2irF4j3y!K<-uxNE`zc;%ES@l;;6Pi5UkkgpUZs|96 zzzSng@?1fs-5vN{EuSFo@(iK;d_7~EJDh&O7`4rnN=QSyiKIj?w!!TGY*rbAb)U zVRe1p8VFC)z(=qImn5JG1$&?-ZMdCIj2ekvl6Ac~fnD3bl;?w~+*Z}sv*h)tri+vo zY;nAv)lGDc1JG$TjCSzgaX6;y+gvU;ek_p8NxUm)hku$bRi@4Z#1;6l+`+;YZ;etd znMaU%a=hKm$u0u>t8b1M7#UAjYID!gWq#wEX!<#C-JdxKTLr9L^RoOB5ZNUb4E!1C^DMG|@d0lc<`eT04Bo87Al!7e z3N>e-ns0k(?ozOgBrSlV1d>zG?w$2YTIuaVu>ZDj=vH$14Ie+Zasd=T{&7$Kl{o)ke3c+kbn;Yy&JW-1& znjNs02jd;;w}$FLzy#TDAGoDRZYfMyfx@FTX!FEdw0#mXIEw<}dT`-KBI8+ct8S3tMMxqPtyxO#Zx;h9tXhnsVi}BIsmRxW4dt2s(5KvNaoFv zk+@hf>zh9mTkA)u5*P|3(Tuc&5j8bAu5$7Eo8^g-CzlmbW!u5#88$8C)6F7$(J9IK zDmJ{O%) zCYI@smZgZAfT689dGfreu(zkaUnwBSTXw4ZWgREF0&lC;SlqRZ@vb*Rft&pN<(O#= zHon9MRedALh(a6D=bl$!DZ}WOd+g$Qo0R02I(m^dGjE2zFvP3J%%x~2cyYemR9!)z zz&-{o40Q}8e+CEJuwLBi7omM3{6Q1wRD8V-)E-q6e{0j1)pC4zHd@ihB#!AVTyHoD zbA(BKI{7B!c1{?{vDQ~WEj*n4qAR1`h^%ShG8CzEk`TObbw4_ z=LYhob{P&Teiy4!v=ZmGGIqJywN{dK=Lelc4hH+hgBLC^_7O z+4XeOR2Tpm0h6+gWFs6cho@=X8T(q@hGgP(_dS9!C_v?^}ne%8k%_;UROc z4;u_CFC8^wC=0Dt*J~$pJF(6_PZKm}meKgz0d>8Z7sDj?2ON**M?mpXF<%mG!EBWS zIkSAUW$*#@V!k$Ap)(#a3RQ$+`aA+Khp_VTa$1$12&z)9=7-(f8b925U`2F7C2d?v zgS)htRCPKpXP(R)CdGI#zOk8L6g8CNvh8BXc(8`tp?}k zlL+5AX<04WEtI&$bW)edmNwNJ-9m#SyH(`pKPSXbE>vo_adcJBh~Jx)**jJ6t*H9! z=@9w_tyJaj_KGiQQh#>v_p#({6~kXBG72JFk(ZQYJap8N)V$ZEgV4B9r)H<9ZUqzg zNK_)!*6?&B?m7(5v)df58rJuHr8^h9DO|SEO3S?1F(zF{H!c8{vXSy^7t56qnfct% zhqCQKRY@NWwwpF%n^1Fq2*W%7hOY)U#YQ&LW91uCOKVCYoA*>JrljBU^L*Kx!tQ`o zmv*py-##?#HZF?I2%7fSkbr!jjmn=CNj4d4SQTnP4mABL$G@AgMs$`l@=eejB+6Z- zcX5H=@W3D6&Z*49PUh9S9_orXoe=~O5AkiRymNT7qa2lha`whg3I&4Z4WOUlvTkIl zdqW!YbPbS3%u!mIVW~M}vIn?gRQJo{BRpSIt2(|WM9HaR>G2s+&68Au`-rQ(khy+| z2ucIg-uhLmh9BC8R!6lsVD9Qcf>+?WbL0g%SA~@g!I9S9GrZMPQy5Y7ekR5fc|93o zkP}3x{p{SGT%@?{!emMBwX$!KTX0LH^h9Vf+)c$2SEUVqpFW=#%nH-Ojo}-^>+Uvh zK_=98Q(q7`%{NYD1QgN2cfg%RFtvJiteuUK++;jBxeUx*@{0(H*zZ$GlxdGa1Yq;o zkaW7gYvOdAL&Le<$niKYfIr#Ks~)xPN%SNC+*{yCOjT8Gr@~FZd#8nsn3md zQ{0oLt@XsEFZ1~k1pY(fihQdd3Vr9koqJgo7GGkogSCYwH~IZ0{YRf>8@Vy4NX7)B zb!K!SdS;)mSKS2fE;-vQ;1dRYH@Qzjs7MjIjMqM4`||IQb5u289wycAEx=-9a3#=9 z!U6#7%lVAO^}qw3DaR2(&C7CdyXbj%TbPLBoJf9_d$}oWPG-QluG^|oLNtj!%oQJ1wM z({NJvSjKz!9|d!Kh&vBzq2l^Otw;y;_d*~o3LalxBlO{X_W0yzNI$b{YptHQ{X3H^ z|HSgB{e|qR*ksAa?bbKL;P=tfDm~XGI**@bVPz-rx^A}z6O3Ljj(Jf@iz|(ST^~fN zuo>iaPG(yL6{_B;=N1U$N{;GK!@a7oc{&~Lm=2za)KM)m`wib~Xkb__m44SUA*Cia z_)1iqlq=)~*ZBWjdlq~21y0aIrn0PWiXR`%V=MQjdbn6_n`Dw^J=C~q-I78^4#M1oTKxZ z?$_g`8!EitUc~0A9wjuH>{@dT|wc?I(-+4T^^w-rrVb z!Sxg^)E*sAk43L6Xv=vT#`$Q|WSqCF0LDC3^~dRhOk_Yo_T@MpOR*Vuj`cBacbI>u zH$F)v+RY?3DezN5VS1;yG?bt5(l6nw?gxpIKtt-#Q6Kf7=Y1t|Fb17GcBGSQxk3F> zF3WC~@MA*4&6N||+@`x$8l3`W`DCiQwRe={!;NGBmG0^X!0Om}&u3To#Af2^zP3UQ zu#fXat;*%Y77iq_O1?b5;9QRToTd{_XX~CX;~R76fNqRox+F;$8d~C$-8Evn!s!h+ zsbko-fQgtXfwJ=%l>w`M(=Ci;0NA4y$*<8uP2s2mT86_p`mL!0;lAzP3KrmUAEqSh ztS?uP=>7h>UHgq+$Mn862j*AT&qDLN^5UPFx|e^dl3E~<0bFU0muaJgG?qmWb1}PW z^_`f`)K<7P-y6(>m*k@t`6mwFNz!-b#rz-;>%4QiHN#QXF`69{p?qoX5F7l82UTOS zm=9Gb13=hZC<**29W$_?T_xI7W;(?;A0XbuuD8~~J zc*iLEJ2{nh$@nt*W@Dtfn>CfGN}Hs@C7~7;GSM^Oy;U{%LY?h5O#*4fKx@^s~JO{5TNs7=^b^ab2x1Qo(6egKkbvLF=6Vw^jvw&sB--A3oz+w0_2Unl(wjd zsL}gppRsZt6dXQM4HzQkBjb=oVw?;A4()?;G;cp;3U(1?TrGq#@P^ZS+0E+{gpzWjADK2%J)689HsS2)3q8xmG^2) zY1ML}l}DYs;+n5jRTwZ-ij=bDVS7Jc9OXlWi6%+9rD@MhPDhi+^6652g8jg`jAj>A+?S$g-do@`hz0Z&U z#W?5wk(NH^4MPS`%$EiurTc0v2>QZ5X8QC)Z@l z2HBnZH&w0Y9fqf~j0sP94sY<}+nF`YHKyBCGAZ?6^M+&w)lKllbEzary`~g*YzN_s z3;}b*Tc@@pFIj9z*`Ct-dJ3!=@+#=b|=SuylUHjs>FULsI);L`&hN#tntqJ3QZumTcY^$KOcr{2K5wBOCbW6Fa4hvnxumv42Ou zXfRptc4helbxF6)i^RW_^5MZz$hU(Xl{_$E9Yz;LCo=6t!9k84W~2J!41{0q!~?dp zJMHL4M|$9Z_VytD{_b$% zCp8iVcakA}3vjKsaYpi)60SFW^DE6jn0E`jvhAx%9SU*VoE!*zBu{$|Ul1`dF~L^E z`VGsS{hgO+h^UAt_r?0K9hT0-=M{}a-bfqEDY2}@uTtr!_w)K#moAnkX`U=ffztcL8o9khesl{W=z{9z_ItNuvUAi;k!bU_mf6afCy( zqF3=;zfP<;F|a2Ju#=b z?;cD{AL!9#_vo40-96t!7Sl!}GV%#5JBqT`a2en~tW$+Oq3p!_aB7{{{Ej(|Yas|- zY#G{`KN!k!%0q~x(@2#65l^@s1PNC=NQ&_0i22Ru=XdY&PedgA7B9+ULci<_xR$4# zU^+8iF|kMnh@)m+_LJKU7Q_IJX%L?GC`MMRQemoINwU%~X%4qDVW#Jum$Tp2VhJ|M zUgAxz^{1rztN3X|-%C9sTW--kuNN#`zhJ5-j+LOAi-s&Uh^t>cw00}5OVoMMn%4NB$CAnmU|z}U?p7nvH^f~K`6t^?X|@n< zx;#2uUu#{KSrA_y_|Z0UMKlmiJD#=aTaIq_19ZzYz$!cQ`Pr;>A}pa;e~T%*>1-pE z7plKWH+7hXwm@i8kzU02m=58mIlakuJ2N>;IuMUVt~Gg0H`c$W7NCrreCBYzq<6;! zU(qpuuBE}>DLH2cBfgM6`l@@2e`Kr14m(&3edxhn`2#<&QI68PJE*B6*=k+qCFBm@ zlYDWe-1?|_o1=~k9Ofn~`{%`ge#ewZ5#QnTSr=#;o0WMWoV^W_&c4@1w3!NcGOqR~ zdO7tdSuL&_kEMW_e0{WXjnts3PR)qR&Szxt`PJ~gwg!RS04xIKN-!-!!7;Q!J1yzH zvBu3W!@{}r1D*x!nBkLSeV-D@F}`$b#RCxeQbj;98o=&?uq}JlAuQq)vW5+eou9ap&Q#ak~>;OGyPGgto;L-EUYr& z^yV`i;VAcFHl&@-M^0vm% z8a4BKRS}~Guj{=Pv`nRZ=ppicz86Y?mK6avh7VQT#b%14KsNFR=brILn6A;vJ>Na1 zQueR|>AAF2QF3CujMrW4>41f9@544dWmU9jb_~v?k*+e1Jw*_QscMFH64CFs+iz~) zm^NB|R${d4qkb2C3?~<)uUIb_AHa-o>3zGmZ)p#PKXstx_O_%NW(QS2Q>`m_c3qZZ~5n;*t)*<~Zl03ct@weG`q%XMLE;;Yrmjn9)5yT4crUT~DvveKjg%UK?@i`ZOPEIeHY?K_ z@E)N?LSswtd=2DGbL^ON2*}XSVdRSbcQIc+>20Z_&vvPK6U0Xc1+ewUHCG)n>G7FA z!7h#W6wIfHk*`CPYDwmcO2RL6@>(NY>}QW>(8zdxfalv{7~ej=L2;RlNJB>DvY_46Y%wj?DQf#~_nQ1n3OJaX!i8pYN7!{gQMT1TDv; zhJqWgs}sj$t&0*x?oSq)cf?rdE0w`n=T6ex&tS0*#=M_|pZWH|9ch1ENj*N0XUi~J zoUFWZx&t1B6Dy(rkiSrccJB;CM6jNXV)5d$+_K3H24qxWe0k{gv>Y4OgUiFAni@uw z_@Q`YLto)uF#nxS*vmgvHGFND9LN|G@u~(ob6AWA+{U)?Dko* z0S;*suSdzaot&6BLK=-s5Fp9$osLc3rO4(vq0)Q8W?kZVtF(rkT^M1Xbn(2MH>h{M z2nH*&CGNM8SN_QHHOGUcbL2}3-q`4FjOBO`b&6F;Ee_{<*`v<&_WdD_l0$)%1FfOf ztiRkc(W={+1wu=QTtZ24*`RBOh!xA>$LK6_8e{v ztN@V4EuaKkpNR>Osd@?+lCJVuv2Hwg*zqA7iuEOv3Wio<>p=Q%y;Yu)aKN6=KV9D6 zk^`OtD)xy;?-B$iEHZ8uz`{{sln766Z(4v??%GcN1oc7&k#d&z_D4*%<;aec(0*s1 z#pBUGETB0C(8Gv8XlT93YX$ev^&&e(fwWJ)} zIvk8M{x}Z@%^7}*8<_;PXCE$ zwQ@(h^#e6RA6q+3)4_=?-H}fb1j&JoF5=0dvKdAcvSoOE^1e@k#W> zhgBl97JQUOL~on75?BTabm^*^?lRc#l(oCkISb&VNidPNbOus9B$#(@uyBiG*O&b`CpZ{IN$UBEKgtK}0QT1V)nWT;IKJ9uqh4 zrxh^P8!7JpPFHx18@l)M0p4;c_Kw_)G%C}x0~b5BzQ1>FD9t>Ra^7OckFe@_!8w`) z@_TH4!KzP{Xws;i+}(!7v>Q2-Ck$f_0`=s=L?Qk$drNHA@`C%@#W-?zOduMm7DU1b zE?g+OD`t@okMD~p9MaL87t!owI%{hcBlQ8K=j_qglt<*02H&ZC5>hwzR}}XJ(2ZM- zF#2v2>Z}@O!2awRcSt4+XmtD-IzHEyQM5xGU^%OcOqm9 z`r6-|JZ&W1j8cuy%RDEFtV&J2PC^b0Uy5lx*!KYrJ;w{hw86iT%h+qi8Y5SRfoPmdAdPT z7JN@tbPZ0R+X)f!dwYjtwg%M=X(WpGxeo~Ij~K-27dnS#7pX<;dch=2fVuEgKgU1o zQ(jHhk=(QJSbd_#xp204~J`rF0a^mMU}_wk#Lncsw5Kh z75izpN4Zm{7EN>y{wt(2|9iiO;)qtC#0!;fC9n(1Ddoz!_ZoIN1prGN(DVnYcR6`g!(+&v$bkFF|qO2 zBc!ugid4A6k6E^0ZT|!L>0erqh7oXhg z#}ba=QW-x2D6*%86TQA>JxKT9hSKL<%nZIl5Q6R;6IDdF6u-_}%y=>+6r)zdE_2Ljn$aq)`+a{lw75#Uw{s^Z3GYG(M;KfYJ z0_MuZrph84I7#q+!zR-HY+g<63N^j;p~3#phkp36%25d|%By z6p^5`HDOG)?fm(yz{?hRMJgW9^Q_m^W@QNxmVy`XBV1Ke!{Hpr;1J zcy5;+k2@`gS;C&ThRrM-OZe0=Al*az!+aQTL|9G7p(+z;M4L2u;w4~9K)BC~PR|Z& zmvpewYzPq3`HN$xs1A$*vuHLt9Kby;B@E0${+(z2<2C!4LYz_QCrL}im6P@wYJl`R zcwOeXBX$pqTlc6ZuZKNBm;qX*b+nK|aAu<#A-0XXa;fV#8_ooN{2)uB(>70{l9rQe zELv-XfXLMbag;feqnq2eWvY1$nH|*vTp@aXr}PrlBt5bfqi9b zfZR$Px4k$rTd8~>@c}7&Rqp?0;{f$9-MW~dEg&LPQSi?uA*2{rqp$=jhh8LrKC$)) zqE;|hvzw`DP%`QE5IzVvB(51x<-6!|%l@FP}RUirUK-0u6FjAvV zt1PXYp0lnb-7C1U#Wc<)Sy+rkOlr=Y=G`XWtuK-@NO5)14;ek^;@wnnq2ddGfj5X} zgU1oAqkJ!_(6w6ZT*;4FQC0L6*3Qefw@kONANzuW9}KA5liWax zFZ({Qk{A&y(B(r*&fqYsS*%3~8HLpVR7IHO%MLXN`Nj|b3Iu&oBPxCy9u6{AHiCqC zTysDK3anLWKqzQ^M62k_tTUC|q)vwL8WW42#}|uj_Ylf0M1s zB^uhzcitRl@ZzTqo&WQq5*R=Z9Z~bzYed)e_@sm5OkOCP<$H+NgRP;d1L~g%SuFmZF@Y^K#>bOnilPgd#6%Gjol+JMh37&dVjU?6e74>~YFGMkY zA&BB)V!?z_aZX|f6-Pj8iS&vpv9Xh$lH}6a7^9}OndZF`M(O5Q5-s&&?P&_%Cnm{0 zeD$Jr^wgzJ?TFfPHp$SuL`0S>ENZWxJ_F%su0a0p=;+DhKVYMPTSEX78i@6Qi1n2d zcOGIkEZTV(((PAn+6Woi$cl_!kJ;4#8!<-hIQ=P6DpB1?G$xMk#nK75k#?|r2Rsi? zP7b!a-NGGHQ&2Fx^19zqe8o{?(w$v2PjQ+gYooux$SlfT50e&Ly_>wKtlHe~%`-f2MmT_A=f51HIlyDe^&r(Gk|2lWbLi~oO8Raif3E4FEe(drK>@9HYfViXh4PVp?jWl@b~CElI;+SGYiw zcM6|Z>&%7s+x-&IR9Hj!*6O@iu5P;8SV0){gh1>DS z7x<>;wO%(oE>mxmL-?MbpE-ck)+kZmQNWbXdw?(kXTKVj=hJpbVF3yRh1dJ@;n8A6 zI_2SR3_sh@PZJ=k!*sKgH=1Jyx*Z7HE!4@Jw@WmR87uc1jwK8}dcV#7=r>N*{!yun z`MR6;uJ##R--O>hg5?BV+c8evSP()3Ec9{H2Op8=%C{z`n(RJqnL2yLcx*;x(`wd* znxqEHa}_aDN&TU1@-)x==TK6C-RoY0{1s5azrCNV%eG`XPIJ%*zf#Jx{+U*zo?-te zW%N64qh(@M44Uck`?51d%t@oGhbpOXLq^6Jr<3rbESj@Oiyp5S6rwV2SpA`SQi?enHi6 zp;Q^@(I#hbK2swWI9e!EW$aPb)bYAkCZ^y3w$Y5j_Lnf1lZ!5KnJ-odzKYly>(>c< z1-eQ4fvDpvAbofzn)`xb2p?#!AR#9=+#8OIh0@$F?RrtWX>HO>ENG`1L(%nGvQt+8 z07uw-kY*wC)>;Up9K_!DC&=@eRmVF81(E`30W5D>EM_QB2smmojid~*0>aOMK_^JT zxZKVx#u6CJ)@vMpc{s(8a=9GeR36<~VC~uu1k>Frj7?Cvzv2mSBAPETt zu0+0d@XwEhKX84}#7GX90zM4rRlFY{FWDZPD-EY0L2VJll6Nou5;9Vh=+Q)xL<>p7 zqde_mQCPueKDQI>gH3Hf6;%qCQz>BxQPnKbse7DqoSfO6=$+`1C{5yD3U6Ts(XXP@ zP94LoG$0~RqTWhMN>M?6(C>d4)-Z|EQ&ZJtd_}(&czxCP+>K(dwpwMIqf4X|s$vqA zK&unT=VoVLGHr0uGJ2kq=Vv`v^nm^R8Q!j;^NOu%^4v<1`>v*6%L*A!sx~xsOK?xa z>dPcbv_v(ZA|2WtQ zA_ahGr6Kf~QXq0>bp=6o6{kmQUS#O`7$r6o35G#P)YyPhs5rlZw4cah_N4Rux1XvcYLc2>jxv%EOr)fcW6AXF5OqN5OEA({ z{YRpzP7iIY zm||)~mOth9$1^y;yuCiMFAdiU`eP| zB{9S|b=a@PY-(^)=6Qb_DE_`Jy<0=~JAy*T9X+1#LQlbWVDtMhf0jn~jM4RZLXPlx z{_2<8p5hwhPt-%yr?Dt|14R#`4F(Ca&ggQ%gY)~ILh4id(Mkcf_p>o*!}L)1VU&1P z7C8Ys`DRK>1k&htZ6SZ)22p$>K*6RHH!h3j7$ljl0oo-#d$~Uj0I%sW@YrmaW8h{P z1&p0L;nYXTeCVM3Fchcr_k6G%KXo_3{jRPr)?-AybqJYenM<@U{P2eGLh4UguVe6d z71Xwd3Zpc~J72z4XrxgVnJ=8EH8~60wVYI)*S&N!;m6raZ#AGve)U`I3`D6dPvLf< zTkS4&(}Ga5LnRTZ5&9zCnkb&;BJyDC-9>4D-6&=(q-&GlVN~T-KeEd99#ZZif8@mdwj)6D@VlBbvvAauf@s z4%#d0dO@|DjK{t@M3oDZl*bkX%X}F7{pzIZlKw+s{>Qbgnj4If7DOluXFP)k3iFwp z0T4%c1$DG3=Z{D7>|+gZB&@q776uHR_(}^+kzySN*V4?c7<9W1JP}fpuGL?1U zQScg-zy8l!#}ewt8{zDvQ)!enykwa^dE>H>3ZT zJwD3VH*{MVkvFpWiQ_4vmxP6nF6#nLpEGp0U^H&On>dEg-{YclC?)HYKPV3{$_88V zy+7?X-%fI09~s6d#v*mUA+FhsuhDlN8LT-yYKuAWo^5L%oRD_c$cK<1eM2EsVGw;D z?gH|(#W;w{AS()UnqhBdRO8zMqsOR($evEb6RDKPTQ1hyu>HD$mrpz3%@6yA2Gq~C zcDLa3z4rYGtbiJoBoe{eJ+gID&T37Po=_5)lrv!OD}f70>g`y3uLj)_77X<`hrO27 zChCWvS6o#We1GwcF)vXqJ?J3kVTK_D%xE4!s&%k&qH!$4*5{wXP4^}S=oB{d*T54M zS<$#I-@!LK5p`GSq~s0GkabzAKxkWr?*F)NpDLTsnE`%m)(9Jl_gt&^vp(QMAnlm#TDQ z$|_q&A(X#sK|a5Ztq5Kt(`2nAPjzb1?llr9R)F|(@&6dd7$z06T6BqXP=^?9(pehu z+)N^7s!)SLnFV5sR)|olD&i&F)?1yTx&!Yi(dS&%5Thp0C@! z9uetq1npj&I2Hq$Zk4qV4yPqtROy#pWl%swj37O5js@$H12~xCWeWTAu2(E z4t2F?qYjeo6_pds*w@L)ul*^m={5hgfjIh2p*DZXa~nT1p}{v0e-==N&_IluPst65 zRJxQ@(B610 z7~W$Geb%Vu^%g&|Jd=%d+&$=^pUM_->8>HD6j+DMKzjF5$tCNfUNnC7msu_l`2j1@cs0+;sP=w&H_mF>>7jkXuu3WY z%uO9dge+ZLQ(v*m`)y~=JVDXueJ8t=xvxpm1hQMKM0$h>;n- zazl3{zs7};S+_ycT5W!h=D5(kRYHdzh4-)e(a0NzC+FmN$7#IW>`@{Vm;))Y`EZFSOH?s=7WA54Q)LC~Dg-SHT0`23fdrq^Z?CzF z`wj20SYznu4_s2G+rA@1^h!S#6cu5AJcaMoW8H`Eg>^2PudzPNZi!39m){FG;ytea z(_?W!An<_gSiDHYX)1{W56>R=^l_1q~m!0*_5s{NwysIK^ zOYeS2AjJrp$)tS+4e~>x=1!T=l|#bW4@ktTw{6MPn5YB$$%*&And#5ZI_U?+NlJ*KJlSnt%(Ex+1_bT3ZI)qA zKr6Qe9StHOeOrI+lo%`qD*VSNbrlUa_|yuIMtG&iy{a zfr(Ez&>OR$ipTinU>?4@v$yP$PkV1#VF*C?c`@O~FWdGz#dHe6o=;hl9Hh%#{T2^M zAbWlahk}>lO$tb|@F#_9R#={HR$1$c3G+Tx6Zs@o{AR1th!oh+QP=bdr_TWprjs zv^|S6!*ANEZ+sp%3iR?``V${?WuTJEky{~p7Lefo7+8UWqYnk)#8)Q{qe^X1@41*- z7-GnV*DS~0ZzTaUCaX*u#FLcQMN!%m20JSiuEYGDWYGyVo!OY+aUkLNT+t1tkX{UB2k`mIg1(3e@%BA0h zUxFLX8Zmh06hZmFqPWTexV{KM1W zTCbUqXjW5$tw0h#6-asM&Eumz7zR`@Myv35h#n9@K?NiTNbrG0)+L>`?#cxxZ9`g1 zOPMnPK_S%qHU~XDE}f6A%l4MDbaswme35B~t%y8OF`DiMA5lb?)}10lXIOJm~gb?tpu1`#-X#7KR+ zyGvVcI_+tGUHm*_a|P|7brG#MS)YCN{K+Oqrw*!EnVp%lYu&vQnB)5Eis=d@H!&Iw zBeer@V%%Dt#5~ghg9dusOo3`CdZQ=)@rjI89T97^>2~|d=nC!xvCnl!TfYt5R^wx=;tuteea@Xd0mA#EJC`i+rbXYKw5sq&}Wd}B5WILGrrb~yur6HX$ zlHloqmF@nzd@2V_TlzMuhPxE=-Flag4~yk860qIfpw0bbl|KkQhnrj)3kt&l9gLlw2edUNhtInKjZO`mYHQ1!FAj|nUHl$n^}V3S|Gdfn9;IKVV7Hxk6A0JFNB}UEoI>#AaFEDgkMgh2d4?zknvpY;SR=MAWs*|3->*c?lm0+LLP9p9$!r_ z=&V)!pq+K?0WSmfF+d^)E|+6BFfWtC0m7Y5A~M|>rf(f|L|o1Ln&ta?*#gsncr3;5 zgUIE=50#hgfiVCX)VveETEk_+ybdCCRPTfTgF;|EQdiZ-d{UGFGfVK4ezvM&zyJOx()R?Yec`@3FlV{ z06z}pw7PDe`zy$(I2}lIgx@47Mko_OE)7_&WtkEDk4H!sSROh=o*73SVyMXUEreS< z+*PChyW#%(Kl$+@f!c5&ktj(YC?^5p?3wEEpqhzqEm%%jZet2!Vdz9*12#p6p@$3z z=ORVKo?}c^iFPY*aLWSw-L0tUx*KVrGE5@%{CWU91`o%#*-0wkZjhq!5PB2g3${ui zTMzC?Fv)3T9z3L>kl?m%$9zbzw(?>clGE-4sI-P~pjLLTh2@h4I28Y+^MlC?^UzHZ+O15g0pwkK)$_4W<+Oi!?-9$(!j>pXq}y zxMxl}4h6J>yH5cYl85i-3|RMR5*yD2?3MWTZpvvHU~Nqc6%{q7I8=sfuGV-gHZf6D z7qB9haLMp+Fr@oT+~tFq>b1@dkzz= z3>SV0T=>=aIzApaNwnG_Dzs^YJCx!aUyV#f@U6&%u29NiCk^=^h(Uu52s+z5Rw0UN zA6EYz+dNpo7TN#`i3%l7$`D|Q-VNmcUTsenL;?@lG?Yz%yeR%r_RjELQu;Ipb=OG-^ zyeL#0Um*?V-?C5*AABBC`|P$0mU4A=1Mmnu-_;s!rWUD4YV+F91sEZIndWH&K-1(jYD|G(Y%fLDzr~9 z&ybwMk~No<0b+qF!*KSW-38da0{*2{^DB(^@?! zA)y0{kMX>z_}t%Q_k7-AM*Rt2x`zVxgUtBw^U4G|}k-(|ZL9d&7z0RR2JF~LU^qIke5q_}(E z#rJ%36#tS?Eq2H`jB>$3D*PnVQ`@Q`E_qN(<0^G?-GFGb&1|O<`pF*ts$jlvv(oFc zLg|OLAb&5iHLOIiYOgGcOTRA9jqyizx8X_Xd zzc#&%{fTEr1(e}iF(DXs1UV<(ED#=ZTIzYo9y4)TAmv@{$6Q`&?H?kF7?QC=jRp)|BfFR{n{fFdRLK9Q+b(t z)w0%YS25Xs&t{4A18p+`mqv>^9RlmK{>;RTeV=gbbTh6GTQCgX1RC+(I5*QlT&UQE zKz$WCa0D4BqTEnV7wLri7HKixtuLhvo^TH~)xbrB?=ByE&@H-Eq=$bAUUeBUJa1B- zLr_rY7nz2Dgu}-^Sp8J^0AC|x2r?XsV1fPAiyGf7%u}T4JGFr1XDa*DBJEr2Y?m&Y z{>Qpo76kV0aGhZaqfB$WC?&Yc@TixTFZk)`Q?Pj!_OB-cxFK(y3iH^Fx4~XDt&z$+ z&_PP`5TBZGJd9SgeyB1g(tr@nKZ&D#Cg4D<`G&a;QVedQKO?}Is)^pP3x|oZ!%L_` z{D=hyg+}2k1~#809&pu9f+6Al>%FVA;S~><;zz#a2jVU7_y7!SVb>r=paPrT?hmS^ zGH73f2O&a-X?x{$KakpjAcDXUgLnv^F#WsF4SfX%)kEz*i?YkU6OXT+Kcr%S>7%aZz|1ak&L(@8 zG5{F%6Sjm63JDCv{bqmb)%@l?yC&xBq*?sNB?p5uXhqEt!X$hJr2f`9@Sl0d>)V3Z)yEBb? zt7eT3ralhd&i60t2l5niaTM^IZVPO(Zgr|;c-}hi>svJcHw@~@i{*ra2+&J1w)=rh zZ1L(7!$D)|q%5)R=g|~_xIKD{jzKfMMuL8`J?5yF{d7}&$;SBQVQ1-titK9x~RXyIBi$ zrD(T%Uz96%t|1{^mg;({qAySo@zDS8Q`CnMq7)ireC#Lv3BQ< zXI!+zq!iPO^?Z9Xq9Q^?fWJ?)xSj%?`F^=*q}|0s-H$b-Y z1!hrwCcD_}*6;jh`c{vi%uevFdGQL+_s=;H1rCDOj<>3wTlju@^!Bnoq7OdW_ij8U zKjx`h>SA4Q9R{(@XErI&B9jop6W2Ki1pHh>um9aFy}HQ2Eg|nK9j%vHBwqtVhB=T$ zL9bL}jAGc}pf(oo+Q^vwiKQd$Y(iD|W%@GQ?+!4q_v zw*2P=|Du6%>#}hN7Abpv$~6y(xE;k0*rmNClCpNQPvvuFJ&#FL_;d9{TE!GOIYr!9 z9p@iU-c|}QCB3t3RgBr#EJ_wB{gB@}w@Yy8C8iMJ93A2Jo@W08-lwyY)7<~x(|2$7CCKV|#b}smMf$RXX5Mhk9TMQ0e`Y53P4yxl z0*Qqc2&_XCp^0`@b;T{=%O|%t7$KN}!jU@JC<~RYj-*9ob zg55Bw=X%~eHIfbU0m`D=DGZ3>UQ@^gewt8I3_$I=8}LDEE|?oll$4BF1Wn3*{=~25 zbx1cNyT%CxI*guoXLb$WB%6q9Ck5Oggf=$kSogOBPaeX2+n6jJ9D^S^A_2q@ykvY< z4ypbGYN3C)=L?nUh?1~SK=^bJ0Th8Tt%)Lr5)r>+W(qK$2l(i5^ncp`7(5TXM9l3; z&f^p9e2o_aXLO_MYe^VhGz5Tjm5*1=Mq~BKg2shAeA%)HssD!S7 z&IR?ODB<_?;L0BGi{@Zvl-*!&bGaj$8=OW!^rH3-t_fOVW`@p*o>Q#o+lS%Wsbf(!?Dese)dE~2x) zv}y#0I71D(LhrnNtJD z&zMiS0zz>{G!H6&tqO6}D#>y^87Dd>EX2Cs>O^-1W3$z9)j$az69YR0-jj{8ktKcR zwE~EbK{yA5U{M>hRgrCnpA{o9wFAL;Y2MAo+4y^W1Sap&-7opXJjXt)@-i>xj_u6&t&nkJM2Q3?7U-B$HF z#~g$Mxwm=ObNF1&X*+0ho_bZqY|rU*uN;=29K6ez|8&`Z)G;Z2(kId2Im?bGyfr+H z+y7pTig)sWA1dSj?-k?Y0#<$j@*{_>)p;R-dQe1(+x5)Yk=XpFnHYGv9c#dcq6fE0 z%FP<(U?jO1_Owo^nBU?sa`0&7iOb7HSjiF{5l^*}1gE-tsGx|2pd?$y;}jZnWi zXEHvc9}bZ#3X2v8wP5mY%P8F-d|F+WGKD#?C=kp-x8eS=OJQv&6^~HAB43&902FoBnhX$DFTth1(44P zM73(qiS$op;}0TH+@~ncRO3viax?f`Yz7L#=i5d_H>7Gq&e(mbzaG@8A2z68j0rnP z*wkxU8ms<;Iq-fNgWAqE9QgW&>8_|I{)*D^I0}{=q%!4D)aRHCt}B~pc$)*{(V|$n z6?JI;cU$V+ghl7ulxL%DR&+@X_V5=FjFeDny%{xM&ZIq)E8C`)^pmwB;j=aqQW_f% z6(YpVpvS`P*CF}M%g0RvVGZvk6y8=9+Xz+KT`cAb|2LP(q;>=%A->-)G=ra=?=Uj-SD9XT`vr#)s;M#|{%qW568PklRtH@*=araQJWzw$+qD|@J zZ5nEsAb3YAj%!j)#`if1rPKJ+Y#2I`kAKp5LwBWP^SN+#J7aSPz}A;CXEjIegfa^h z3Dq#F0sp#LH(kW!Gwr`A(SQy!+zFkP?M5|FcS#QS+C}Q%!7V2N$(`Qy)0u{K>d@ev zXb5(`WXUJlkIs|vR1j_p^MK%nW@>e7O#f&aV?Jy1bNTE3OW-2a{bAv8xT402!v_Q-%0 z@ZF?EHxVs`Zx41GI>fn5rxAe# zLWw1S)*DPsh)C2ENQRw9q4@@yF&@fA%X=Cl&0qa6{FFp$7ve#^o%D3-i2!T9Q(}HJ z%-E`P(+WppE=SQRjS4%$K8Hd%Qi;IsPu?d)Il;j-vKlgC;Ris8WsIAOdX`Te>02zl zWM&My1|GebS?`h0`W^j{7JO^^9s0^7LQ@wZIo{iSqv&x>B4!n2 zUK7C?7ExTiWJd70XxEUAH=zi_=0pgNJ|1#8ixumlh4Z(Gve;t`tZgh1Z0*`aCieCA zhF~1KTowj{2ClGf=~JJXryhyAhz;nKJXs(D`77#{Lj$f3j1-P(k~asQ`X`_RMMdI8 zqz!Q-6-)pR^a2N(h$c!tOC^Dz?M>p)nqee7%Gm1967E*K8??9_3gdZZq|XxN(-kd> z$XL4c#nA%cWWO5A@m?%KmEF=!fLTyN#3o1-;qFJr2#HieUIPSP==sd4pMHU=@14M= zyO@tmRu>*(*E4A}cPpC>)?7xv-|tlwg=py*ez2_PvVe*2N8sbiHUBH?21OazEUb5p zv~DIF0={ham=QEidpz4b^eJF#ocbO=Sb`U%CJWPD|GxLVou4X>BLTt0?MPk4>nIv| z0sda5$^uz9?QgyhJX+JIHAs%^W!#d@wq(N?!)U|PS9ue?%?Ht>@eQ48 zcTNNYG_9A>(PXiSNCEo7rV!(ayRnMb66dgfdJV)eA*sop9<9`X;LQ7{&g)) z%Np!|{(xSjiEmQSfH+0^REu?Gs1^dDQSCObUjcUX zkH$$@D^mO?e1$hloxG!72qJP8yAv`Q-*8NJofQHG}Q zr-wuLRQCG{Z|n_{t{0dGw5Rqk$4n+ePSwxbth3x0Lz$>6Q9jwLp z^ie9G)MZ_uqKwSXNwe+}`{5S`b1)#4s|-j{_KS)<)beTDJH)V;W*rT^!HZ%&?t^(_ z?sw`#?xt2-E7YjsEFUH*Y;fc6OlgVf2jbG7E%kzrJogK}FS3CI)|6ED@{fFpKx8>r zCxz1nKM&^NXQ<%hDEefs)~JL9CTtMA6VN)g>^3(V|V z6$OB{nXJ@=wdiO`wA3&S%c%!Xgy041WNqvvNV3>lL3wL7CWGXn zji;DB_K`bDD-yF?L%GwyHRM)gmpy%`wdb|W6i zm2pjWUI!zke8pK@Y8r3Dxs}x;Wi!uf6n39JfURqFBj`Rl?E*Afn(gqV8EiegaAD_Y zq(Jzf>s!5t)cHBEH3{~PDq@BrAKf|Q&*P5|BXT}MpMBIV0+kKEbUXf`bxu2z+IPqN z_2yY;AL~CVaTfOQKEV{ZJq%I4S$ZfM_7`AKDtXvJ1odbXAHZp^PWa`scC8DojXvc=_wX6jKZ;nrthQMk^WPO4^gPns%h~il)hagh-v3no%3zC zj!@_f>vhAM&=zCMj38~}zX5}cl4IeffkAgwiJ=YIDamrwTDO;*30gWZ8U_VL7{H?^ z=3;89=2j;X&TjU6HjV)0Jrdc!^`oP!=5cy`;Bbp2$}GK zga1UIjw%U6D8)~a-Bd`<_m*$pEyXCpUhiR9ZZ+~*tW44cE)mzWkY*JKT9BoT1}ufOOHswfc=fSdh_c8Rk*fKKT=a<~=|CvS2@ zIPj+T*goa<5=G5<-3lrp5w8HJ2s-Lxjk^^3zVE2zVHUknZckycC=+0*99M^87MB%0 zF`C-LVoyNut%tMDR;^alxeRZ4U;(33JgFTR<$m;gSU3=e&D4`^^zOiIn8@ukN|Liy z7K4GW4s-akHIgl_j4>^%L+2eBmjhED>C^9;vjs7D>j{B*UMW_TBO>LBKFJ#lq7? zN8BmatMZy%iQ_z5FGyigGH>B`5Ytd|2QO**BUO4BTW%$`luki>(@+*MXv|u~>rgs! zl%q)MCvB_dTvwpP9ZHvoLkDe2w7)c;|8TXbe38q(Ztqk+hyCn>W>7lSB;^JgiW!w~ z&69Mo_GGc8#_WROKx|JbjQ_{yx#MCb4|T70l23b*{~@8O99sY&o`{A2Bc;$I2T|XE zZyadL{-}vD_}$wO(L(E|w^0&#j@lUnGBmd+wWh%;)$p$83CA z?1_dRvPRhiu)KvxpJq`7+M)m3!zo>~&M1v(2s6_QN{vU@#ofXr6osAxL1%I)6$ob!+h(=`i6=9n*()Lj=%)Dy+`?e zkd89ROa#E^V{9$I8-A4v_6ayOZ4>IVTBb^-Kxo29uuRvbwR(TOXA#a-i?XlmK#6HP zac=QR?IpSfjc1JfJ;uZt)M^w72T&*&NEHawiJIV8;H?9HdmGZUH(H0n#_SLhezV3n zaBKLFwV$@kgivkG@0JY#G{;lvowQ^3Ku5|m{NvH4sk;ei$xW>nxitvefXOJjcAR6j zkKUFKOg?UO_K5p@ujV||PY`%_H*0v3CL3^E(Z_)(b?*y44gW`6;Kz>*q5~ci!SY3- zlCa(FQ$K7|!S#190&2D;6ewhtDUy5dbP~vA>(^pQxL@C@#K~ynro2f(B2Gq-<-HwH z(_t93khQwKA`qdxj#Z-p`dva*3stP@$+5GY-bnH!Y3L#=xIhFf9!#0wpZ4lPC3n90 zb&^?7KcMZ**2F_giv#Ry3ofW+`6JxHfRq*)v6ieG&F?JJQLh?wu%tbQvLDj zOHp7~dv#@naBs-wUR>Q1(gqV4P?sUlld3!nb7at`F+^Q!EsbQ$tLNgEx_BI(BWmKf z4DXt^?LA`QGQURu9GSEjLKB7|u(yZo*$&?JMw?K{d)4`q znHfP;X1FSxrM`m27dhQl@Cdc)p;+Nx`6J#@fN0H1Vn}Dbn{K?$r+<`pBQd3?uS6q$q;{DFkYLkrL`? zlnCS!&@8)2283iK*QU0;3yTIGqaV|M>ap=Nelyf`E=EOVjN8eixVSxToP8!FJ&&Mb z=)rszo>Wcu*}>?nFHQ8$X9{(`y}}vIZoc#)RMi#77EiDm+r-PNAuijS%OU@ek;VWh zeUYzRRQkEK)%fZ8vIXm>gEJAj)j|uCGE5LyFrzAXOR|&iGr?iMeXb->27cv=JAO#) z&7I1x5ik>-vnL`E)<3Xfdb@8r8O?(TM^3*@kw*qXG#cUFIoy}slGVv6AL$W=JO2r< z3kP1^j0B(SwAXGdu{+{w2Dp26KRs6Bm+2&VP)=)xXT}SC)LRwIA^hbUsgOod9WtVj z?SncJ$h={OHr-IStw-u)7<>tVlMdWW<&qnnB~^BT$)*A@Qyge2mrHm2^@3*MEDCgW z=)&H%)x~pGP?+@-(M+{7o4wsMe z!3Fl;uy;ALI+!rC(oO86jb~*Ke2%P*+&>Y_f;qZ#Fnu8Fb;f8j{rAS1PZzFF9KE!I z$tzU%RH7@`(aPy{b$bE%*WnR zopwwz9^e?$^zGHIZ%@a0jy<3ME&ciFmFNNk58vg>iI{AXF>fXwa--OFaX#*4;KaeO zXlZ~-C?7~nfX9CLOg&yAwR_N{BIpzCm;C^NgZnrxO@bc(VEj93rf)bUm4_#33Jveg z7P7uGVUEj)xUVB*QwXD$$#2f36H0grBEyk9RH}$eB{M0LPWTHr1X%dA!3Q7%oo447 z@ZU)$k|&?QVkpz@i}A@iY$;=eaaSkeU5YK5?TvOy>)}2(>XDu&0hd&^*jG=-S z;TQ?X(5&H9ELt9fo|8%{KNjh$N>o)kCn$WajiH#3E^9hpZ0Bn_v_wu63ss6wyXU}; z(hdJuTS9y+Wh43Q;0#f`lbl75tJ4v`G}>~C*2w0_6YYD!c7)Gk=y5fFHZq(Hv-8hnknw7XbLub#{hfc1QuUoG-8sI zM_z{A0_i;v)xYYvf4Pnh$26$kay@~LY$CE88`7m+4BnNS63R9&eWi(G0zrSULa5nm zpRTt5kg4TUK$Edyl1bgWSB!H-FC*)mWcjwRKBx|PbZ6LT67FU1wXc+O8lpwADDE4T z@{r_zh+e$lx3GEcF1)NYDRTM=g!d`OfETJ(Zoy_`hN=YapcaUOKeK24zvt~7QZ=Bz zCf9ZI>VC4EKGLalN5jrbLL!tSEzQ`glCa7OrQA{IxFsjO9hAC^`|6CeiSH$cC}6^k z=;Qia^#d)V3=pY4mtT39U1M*LJiRGzssEbu3cXeD7yLoEn^rqu59 zF$td}kYL*ssvH!gl*=}NPqCRtU)h~em+75GJGmqhtc-bx9IKuk>b}5XWT9Lt7@jbE zJQsda22V640PU(}*)IiAT{@LP|KcG8g)j3^^RJjaJ4ZFgmOs^pr-D`luxvOt2MiaP9u z3VJU1;ag3{ud)(`Md_*HYJrkB3XBhWGWgLPygn*XS5?d)IgkUK3&t~9D;sJNY9!G! z{Qv{3(w1#(2n#MeBe!S0UGC58(o|{Gf%%@@a)4o(^MvrdSQ=;hJ5w|)H2G*@eCbng zSPV)Udla=bL~2jkLCn_U8HZz8+r*yjqEx~t``*|;-75Ruh`(nXC3j|A+5%Fi!*M}Q z%Tk}xzbzszTYp~+`e^8MI)l|0ltN^3^C{r2w~*nn4t7JpEzL9pv{2`vd7t&+LS=?c zQ)6|PDsedM( z&i6j%ZG>sPQD_w$C{zL5eOjN)F*~Z`bntG56 z5KlQ4_;Qcm!`5Qd^fIC*s=B?BqxmzYe+Cb#s();I_FIt>zoP3+d)=o%c8?7? zD{PF4QUs`;dRiPTj}JXOVsHcgfZ9M#viNmO60E%Ofkgd5Qf};sn(=No*f&v(nJewH zL9#XMwxERbxN5Yo+d3n*cD(RHP{tffdKqnYrUB{%Zv)%8ENy<-Z;P9~MBalQr3Qev z-GuHX!OL2*6&hqIrGS^4#`wDEWdFLD%BZC_-K+RGm-=!{BFx+Uqz7Uc)x;c5|`{mxdxExc$px6W1`6m-5~ z$m?Y<&wmWGSWs3KlKvI2u`G_O33g~jN9?E^sxR)8kJy1p`E=UWmO$5LzVq^?rrqE0Cd~Fj|cW__7f3N-2oCEO-{M9id3Q;*9 z!ZqF{z$v|ep}*5grb29jGtR)Q=xv=e0!Zk?2d%ewwLhNI{+BUr-*;OOdPK}@m`mLy zQ)f(1Qq>buO$BRa)0vkGMf!FX0?}ld_Bn!Rvjb+GzVH^vfOiJ@+9KV7l_w(N)zo!Z zvTOWtL4LYchK+EwIr-x3YPAg{+t4tH1*a$wD|D$RR*Xsd=Df?J-_hDVNCkK9rAND% zJ0wN`t^~_P5fKrJz0sn#WKy}UsEx!?U0i^p~elqye3fpu5Ouu z7^RVls31ZJ8+`5EW%)0iM%qO8*<@QIa7CMPuesNH|413{ODH?q@GJGCx}Sj!fK8=P_lVBKHyN|=-X znzw`lql&t)Vw~o1yx#W@{8NeD!~mD)O?MRah15VeygM3={f(oJS%s2Dg(tTMeKHe! z9~Wr5W2S@b?s~Fp-_N3tea3lKx6xWsUkacUOvE%-EOO4d#m!dwq(qyklt36pHVWgn zi%sc}0NZ9#FFB<0>@+bPDa10js?m~`;<~s&PXA^!q1P~UVS07B!f`s#tiXZ*Fqdax zWfW4=*B#Hti~k`+;IBsouh9xw`?A5WpH041T(+hjZ1)F&``1OdQlx?>o)@qB$2L`B z*21FiZi>_38zZu0Zy>BIJ>ya0F$IX({Zj_Eh>6N55kPQP>v!#Yc$dyzEv!$q2~2qsF??x|u$gyLf*20Nrd@Sw#@xqf>Gx2-V1 zk~OQHr0o5igEzCrBg}THa63~Pex)S-_t@*?BRQ0nDC?slJF7Xh)dro{Zcl$U?NkXP zyWWigu?DMIC+m8B{S1uAc*5gHpW|N@c(IOr=@cF%mwXbCAOA2>ZF*rovALIDrSRMV zC$o4Dz3**3&|Kf4%3(HrP()}+At-p-lm6O5E(t?U&yBf((Ox? zOIt;_pvLAf)3-vGzWE>geqm-LNSBxCAAm6-1#kms3^>sw<}2wpknYI0dn#g%;?eg~ zW7)Yh{*>46tMZ^h)DqihJl1~iym&L%{Az>L!C3)%?%^3y2lITlv$VL?c5}KQJ9Joq z#oUtB`EX-DdudA;bf!cBYmO7zInT-HZKLutLBd413U)MG+e^t5O{UEG?#}|DS~c9^ ze~n2Py*bu@tCw{<3m~L6x}6vRN9^K5U&&cVKS5m0`Qe~c)tJWiO$~Khrz=nlKaz+k zzfw(-DSUp*3p+sB3JXLlX^d8r5ab+O5tGY zSBna!-}LaEp;c2ebP7&jL(lTy@Z)fNB=GD^m`{J7;_};JhI?}sZ}4RX7~`!d*OHmC zd~T$zoZQb<%6V-L`4*XY2)v!@-o9{Fu3`0BYoUr|Z$%h>p*?A=4hCX#y>Zi>v~#Eb z;nbOG&i<>yO`7;vk8r`$4wJZFU>;$&u;z7Rp0aRznfcqK3ytN1`Sv$WO%BdCa{KY< z?05Ct&hE0~yA6F!Aizwl`-MEf)j`Rz8jSOa+Ojfno^v|M=!l3y+ly>?N0uB|!$PRv z6^!_!>b_4Dj#taIDJbtJ80ZECsh+=?jm?WnIBl6mqZY|?h0T3E(s&opCkIGMO!{U z%nth>h>cCs3%7BEz{*G+id}cp%uOF8emFX9${ryjU>pEleaQ?bSL`v`GRY=P=B*@B zdB=SvBrx^seL&iPiKPI8ja=WV*r)j^N>!i=4aM&6{Sh$fIvs3qFoVDAjMzpn6qMWQ z%Xi1aSkjz^7tQ+3;9vt2PZ3!zEwAH+_f%s3g@a-xNP75f{h+YGMvM zkPnomi>Tob)wF6P(O+5O;B0>}2B(v*LQ@7;cl8uJm&$kg+D6VwPTnB4ubOUaUNc1Y zBC*9$x>sV-lUP^)_2DpI#hP-|Y9kS12?%#*HAhhXLr9@q;If!+(q&>n6Yz-6v<)u% z$n`Yj3(Fs5Un+g>3om*^7F`CN?2=?SGT^|o7%7QGL=3Kia88#eWZ*s@Z8OOz<~wOB zyUd&aL`DW6GI%kx3ekcW`e?;A6*`cUkqE4#^t^}=C`|2JWmZUt^z{!ay8C0Y40to> zFjK9(yes_tts}-w*;(2Jt4!3VSs<89$8WG2FE5P`sG00hTS?xO-K9Dv9AcCA9NrD6 znCg@*)kzYbdId_WVU30)w694h(D(vj9^%J1cH==X`9K#896*z zHA;m=RcG#JZ!epQ9(yiGC#!&}avwGp)^s{1=Ro66o5OO2L_#eby&cXPs7y*a$0RN2 zmq5kiwqhI!8szF=85+%%Y`6|js*BN(|B{x;v>B$M>aP>R20lry1m;v{^%;c3Io=9* zW96RN5E8^Xk@S?!yKau~8US3&IxAadMQ4Ik125S(V^w&K+bIK+)5 zSA>H>cwgc5Z?j*64xQdC(2xz9Dk*=K4sfE2ZcY`{Mndf4E$B0k0KS<< z!c*XWbZd6j;jgF3f?}+7otJdt!T(e;14nAkW?D&Qe~h!Ravipn$f=%RGc0xsj%bTj z+moK86jy?Y9W)|rJ!{ES-~`lo4N1q`D_~W?=_6BTCiW{yO4YvyyE83OFjYxM4pYm< z@KGBh1g4KY4cRaYJQBccv-PO!&+Jyvk25NO!o}c5*g`A9BC0_iPyLCd$@$+KGrdY4 zhiFYQWjwTfei;Ut4UDw1>qK&4o{gVVj?m!hU9D(l2<@2|xWfStyw2p1(-j13@pv1= zXQbqRNaqfQ?3t{7A+@9>{!UiKJ?bL8_meJn4{0S+G}I4o$-6C~u282%Q82F@o*})zhwCNbu2#=4sc0Qbrvago4<&wEcDNjpd3zw*RK6UJE{O{RM)UJqP_` zl4f@bi!mHW4*mD18tBcXnp_jE^s_zNlO7qDQ*`9arB zdq}ZpytaWykF&CpU7NK9DusD-04>T5V-{Gc&eJ>wXMaE!HWFzq5%Q0!sR$q1ldRUu z=nIsU9x)-8Ay-Tq4n&d*Wr^g1go^S2jV^D^#~h7%+X=2I1tlrS zjB1pwO}0ElHyWt{TqUt(FtBc51DJ-BlnEY6jpIZ^C32hv3PPj(mz__)XEcPwX7WZh zShl_{G^`8P8YvFnSH@m{2P2^>0k=8-#2k}~WxGv8!YUC=SrQuf3)hx{5Ss_EI-ePV zMfq(6hK`cl#_Ob=%Oos_l67Y=8B>X90Vv;0iP2I=r+G>`y^kP#2fN2OiA7@MP=%V; z3|V7v5d0`!mhE6oWX1rwk6-Jg;}|RqUV|7Qy(gGkqz{s&iKP&)9otRe^IF>VFLlTpk+Dfp^Eoz%wFNxX!JsX@kIkj$ z3tIi6ohhJ0-Z04nYN;0VfftGjWmMabtY~8?!U9VSN}v;3+Kfe$f7-^Ed9UdDf3}p& z8wj};*BF|Af~)W!6p%)%fVi#=teC_bkq3*yp&u1Xg)y^|xX{oXvY>*Rx^lpz)_#z(-A+@vFx>w{l!%Sf2 z7>Y3{j|(Ee8}PWJ-lyb7Pu8r*DrCP^wij-J<>TR|@O`D}lNrwA++&k+9vERXw3RV! zyQFXgHIN6gLN`#O&HpkE%;s4hUGhwU(Bc&3%xMe=2SQ{fqpG*NcS&;>K}!{1-%#=&#a}HHlHa)PhqVAnvg}-t zs96VD6(+DaNJ=J2m_(ftiTiUlnSn5&1`y|n!PgKI-rv(aGMF)-_*>>f{xIsfSr6s# zxLMLDG5^>>mJT(tBrMn0kn#!D zCMlb;sML+8c;YLWw$22K8)VhvAjT77Tb6)jNzg&&q1^cRLm%_IvC#XRRoVfw`|?r8 z1&Rfn<&e(I*DSAN=A?)iL1h+ZI@W2^ZX@u;t8j$G*OtHNi__HNbpjtsMf>ik9Hzfw zOPC~=k&CsWzhA(?$L58P`@*Gp*b!@|7n6UnHY#UhnIInmqdW!J`sBdDx9tQTJ}r`= z%3G6SJDK;B82F|Z*)g#xYs($*PEwGB6Mckizri&BFH&5VDpJ&3-DIU)0_^C=$lfRRKH0mTT(yqT%q5P4E8hH*niyn zr3e^2u&Za3<&vX7-{mg(U|)CL8YnkIyShS4LK}5Lu&>4%33HB>4zn=E;$k)oN2)0# zCfWdJxIh=YaUu)?7g4@K!r?HuF1wyJm@ zM;Fu>h*Kvw|7O0-bko9vVLymb;c7vp%-LQr4ol?!tBGc zAdAjgvhPLE!+*=^T{P~QdlMUhcTTKAdu8ec$81$WX9HI6B7b|&eHNv+taP<6c--TH zV~zl0e5iVCIEmUtxcDQZ%5!xC1g$P${FGTJ8eI%{4L`P84{j(lUah4IYTi*2{(ml$ z{Y6Q(sznT52BnL6qw&mTVfZ-KI-{IOpQ?!T(JtOGo>^kFQYd!oBx&Kuz#3wgrzeOj z!N+HXtY63XIg)P?ZxroG|7v(ki#tkbg7uEIi2XEcgEkPQkP>2f9Po({NJNaUtS0MF zz5mPq*?S%0t3^SE7r*=OsK#W0#Q&OmS{xI6aGHDXnf5bgrY%y)Pk=axXt-QZ+QArN z6$%oyT!VNjoCfWl$WFj=vq* zHH159C$>@VPzHL$p?{J2<}Jl%qeu#tOs?%W@yqKw#%oU|2d^=q2RT~;#^0E`EZ?crg#f_{0@3uvgG3Slj zhwm-{iAE8o<8HW94C7rv)YyprYN!@K1R%dTKE`qALP~&+mE+;!N^bp2h8xO_OML1f zF3L{mjsAdT?`g-0iry}AQZEpAZ!;W3T^43Og)8XPTszE8*S$@oEZ78>uNs5`2=`sb z`{ykV0`_w|%kH8W;q@3&b8);zhD!4D&1km^31M}EO_ zzpC(w_EjSzcUcHQsi8!0Gi>LhnBV3~x+cp|B^G2Yt=Z}`NjVz;?FqM9)+GFFW<{OO z_YAc9uPsSoQVx#>g<(S~a?z>ZVjs6?jgm;&FKPDBFd#?48kLES_uLj(s3Gq{4n>N4cpeNzlf!*m7<-NAHLGZiMp=22U&*;_S`aAJc74QO$N|MvTL$a!2h*i%KFx(LWmyQMsP-vL@vW(9^YfdK z+L0A3g#KiMP2d@hJ(~tDt}yY3Cw$0}{6Z^nZijs|ze{aARoh-Uw4fZN#p>~mNR)n} z-co%+>g@6$>QGCjwM9cS_zp{_C?&+yHK(9l(-jniF8zro5W!bb3l8)}!~l=TSCz;| z;&WF+>hJ34m%e$u<^Y?5Qq!SYn(!Xz8w%L;z?goQw?gzItwbgP5Ewoww14Lef(VAK zU|c!cixiQ!*~I)OXuPgkZ0=N{EzP_ zCf^-R!rn_lE{Q4i+0@-9{0?vg=wvdyhX3Q<_tOsOb)jbBD7Zx6yaeI-xI%1wA6qF6 zD=-Q3c0=TS=1U7`?b)g>8z)SV&Tl@*4M14`CnaHc%A_{m?@`+IBXATKR=IM5UNYS^ zIkmMxGlo(t*sJ<_y8J3{rjqw+76mGax5(_!LzpJm&UvpIl)>v?)Nbu}kIfl7@X+YDH8~os{?t-mP5E4itYL7k(@m*qt~sK2?O=3nc9@9Bv#l zqB5i^5u1S~^V!n?WqLoMrucz`VrJTRapN)!D|_^u7aSZmcHO3Ve%o@TytW))*dniz zPeU{20KO(NX~%`}l2~8**(jpORv_+cNLtg569aKGs}`q2>iA5_d8?(=FTRJhLyu?2 zX+w>=>=ji}ut7X1 zW_i|2?MEFPD#>TyQs_1y7vXb=CF%kW<-3l5YIUsN=H2yw7ZnzdZ|&`=Roc}#y` zvei*c;G@ofK>Ytv^_Ed_MnTpt5Zv7*kl^m#5Hz^Ey9IY`B)A86x8T9uA-Dy18h2}G z{4#TAzM1*mYxR16oK>gJu3gXmfmmQ*44rTAsrZ9N$91o%(Lu+NkV=HR9@vcA@*_g8lhk9`#Opb!LW+b86&_WIR?WT5 zj;?M|npA(W5V2)A1QS}cro9`7SPGP0<>WvIj|FJdXr|5t}dvdK<%1>ebx$I)6f zJ3M#;!*l({Q$CAh)0*4t-wkW}KcS_pUib!6}j0rgQb2EX$xqRWw_%u zj8J345IzWP{>FaKe#!XNrv^^Ga*c9MDX_ePr|W zccW}2s=Gq7j$M6Qce(K~4+ZA?Kz#}0h`*J;=w2|LS+x-TqoeTItIYhr6Kg%uy2_p# z2t8c`O&8`?xZ>kY_S}KAa^LKrY|qUXD~0POjj**C=B=}1WJ+RuWK!g;q+sMM;JnKk zRjB^#D>0P@KJh!yN(W^2$Z(!=0Fuo0I?1baIx(Xy-}<-A59H3tBL&ms?H}2Hw)3kp~z!Oc+@ZCsqa5o-DAyNcr4$zewNve%1y>#oYWRKe<^`>SLvmm*E#`! zz==q8bsBG-44&|L+6~BI(y!KWjAP1MC*5%G5!K{ zZqFciow5j12-0G(Z!|Dp-#f2zp)%R*JzSwT0%u7J z+Nnb_Xr~BGD(_DP-*&XkKlTm$m4w|XQdtc9Zwy+`7o$NmM|fr{G2KR3G z=pPGhh83uW1MZw0vVq57uh&;rB1Q{3L*iGqfZ~+U;fyTe7b~M@R1D!;hUa=xjLiVN zU^i~%o=xC0m~U^J9OBlGt?#$M>~$2BRZpF^8W5L5@b;`E|L)B3b~~r-_c)Kde!FZ9 zFIl9S2V$2+sd8m$M|bSx#WLH>`?&;wkdL5~j&FS|_2{F;eO_XX|))BjFFTcJ3wp^upiP8G!pz0i4tZ z8E9Z{;G@2M_yPw;Tsi|T=4-A;05jTJeozZC&#PJ81P6^0kq^{|!B26Ecqb^;TEuE6 ztdj_nRKh8{WO-fobfp3TS63X3sggI-FqzK9?SrilHoPEbWeDh1++^yrOl{= z<{N|d+xPniJdOdJ@pOR;e2ZsGV2FP7lFZ0~@UF>P<2uLI-eW!wiqU?e7%wjG7Jb$oDTN z){?-FI2s0SYI|AB7+9sKJPFh6R-B^Wb^=#7GOfp~J=WJusDh7f+0OSv%Z<)t zMDbpM)z-=fk6-r+ExgY6X`K%0irC6MNwNhyKNxvN;$fUp!Tx}n&MR0{fx=HLLXU*< z880O!LXr~(0Z(iLxcXc#blE;HCXkz=7Hg`r{+Nm+y8Po1CBp3MG8rS#nOdA>uC(zd zqDVwI>@1$D!Rn>#=)PB<-Suz6Y!^9csFW?%kEZ%gx<*Xq3DS}UTa6ZckGk*P{qA#0!g0QU;|J{N4L#Rqq}S*#q*IO7D< z19*pM1NkAD+npvO#y9^Qu{c~%u_yM{Hof!#T82(S@OQS+9W_1K@-9$WJdVBgT6ys}Pvn7WVfTY; zmpzv0(e`i?zic|v?b$cd41ADtz3&aP1N>OC+4nyCy^U%QkgA9UrI7;(2jb67ulO7x z*XbNPt{igEev{p82iXOD6+nV@w;}4*-CZ>{Q*9uVAq0hp1;gcIKQ)Xo90d6yU^eJ{ zCbuZrE{sGkf7NX7mW*hPwef-RuwE%;wtNvL1W44~Vpq~`*sTl@jk z>eV{ZmUSoSIKe+8VH8Uwd0o8l&`9&vs(B4QNK%_l-0=4+6twq(P)cuhU;A;JCvxs_ z6h&+>0k2M|rAjZ*hk1NZRyoTQS-g8xgFHW27pl|{+%uJ*0e4(y4L}0Fx0MlR_;d`* zMVmmy^Y-n=hT6eY=ErnSGmcay-Jc7UsoS{2n%7T4gf1`27oNFs*PxO41;Cn)(`&+EsVc^EzK9ivlJ1GA&)?5=)*GZnM!JdaIp-th>b(E!v32(a$H|XX zmp^+BLnPpxUI=$FvQKkHLMQg)XgbxvF*{!q4b)iZjPSLEt#AE3l4vbKA;}a}j zukdry?lMi~P`(O)W`UcNFV;7Tr5qALvleN&Q5ik*Ji$mif~F8CCWGdL)`VFre-?n} z=kC2s_fZ`yW99hf*26GHR9r!U_d78f#`y6m5jHV%YE7HP8~ zKDIyN+lKRm37Iqb7ReUyojMc;Ait-Z4|b-j=5=Vjk=J*Bi{v}s`@-fpjH))Gz+d@$ zBD^)>8>$Fg-miZ&w8%PA!goyM-cQVNWzC~KtFHggPpJ)iF9wUPPPtaowUigtp3yYh zCa2YCy_O;I8<*rCu2%^)_xe&Z#kyRLED8g3;IHd7h2JfW5$uv7OPBw~1ZL~qC$p0v za`NV^ZeQRjfbb3-_t?nj)~15HR1>-UXqR2L?Ubc?z*7{z*Oh0l+v9iRLGLtBU6HTZ z>NKaadS@tcmS*ewaAkr@CH{r~od!pcquDQm)pI?#bj2r9wwI6XJ>AdU36gyqo0QO zfJt^m9yUUUnMpt=rw)ThhZIGciJ*3|td@X%)eA-gS%c3+42F6#&=PFQ_)CG;tE(j_ zF(o70YDyz*X&Vuew**8|kN1@<-z=pBo-c`*^g0ohHar>8&z)iaWN`%wG7TR9>8YYI zZDmS!^m}aS0b6zW@2zj-FC4eDF>encglt#loAUO0KEw`PhwSDS3qu5;;oWASelV}d zI~Mi+(BBg82Yb(V1TDh=_^FO<-Kv@^UXO^ znRKKIvI)-bPlKPyUkD8SAAA0eM@|=E5{(JyxNA%6IAMm{{%Y(Eumwh=+|(tTox2UI zC|`-xV%_|l(6qzpdCcZ-oo(OfP8Ynj3PlzzI>4L2W9H*x;dS`iH=Nysn3iUeSF<5+ z^j)~7JJOk@+;M#nd>cPvyjf+#ByN^0_WQP$X45pE$U5O0$(Jf$P-!*2-{0O$i)iJC zUigK7h8uEAl(zfhFpV$7@ATs`l35<-?xTLc#z~wn7OXegn?`Tn8`K8pQpQ&>BwJ5P zJJ_wJxP)A`&W~LG85b{(&2U65*rkHn%HBdjib8mYM$TlKOxfdL0rSOR`5OBoa$o2z zzZ;f|z0AiO1d)7?kRKeowcA5w6#WsmtYUe9kgMB?iodL@!Nao$t^4gL2`WW27q3fd z+KqmcZ{Te@QkNqY>$z5z^j6Wza z$?SntTOsUmSqpNlHA0V=@Mt7)Jw^dU_$)?&n3rptFLIe^*KhlzIxT)k-7B3$1O`Bo z(5gnL$E6THpP5Kf?tp(|)<3f@ykOl=dCew%wXj8LyM{Ma zj)AQm z6c6gSg5G+r03p}coXdeYfK?whQQ&CoRPI}7rR{v^Jq2&6+(`mdl(YXq!_U+0o7>XM z`lsgw8nc#BDW<-xi@ZO68s*B+TeXiYNBFv6&FAvPWX+epFLc_zDplGVW=NYIo`TJeTQQN-Q-c}{CzNsc1GNW}C80nf z-R8@w=4|VwYbmbsEz}f-fBk2?Wms(Q!5r5qm>SI-E_i?CC{w^g!$d*Cu}7wdsZGmG z79_-*9LV7qw4WISc#-j=hqUr0hhkwhJ~_0JWGz+=k%jnzj&}ULyzl)O*u^lviK=wE z@k>ZbQYyJ|1qIl^Xd`zviqVI(Mb|V+Ya3xLQU@O8!)X~`hz(ILdC&;h$>jcCYelPZ zSVYeYfI#z98H8rW>MEyOVsq;1>NVSkzlmRRu(aS+^7Kz_WYwQ8#kRhN9+&GjV2!2J z220)o23J$YXLs8bA;I3rCpr68oh^7FBD05V~JFXB(I7uD+8hE{g+3Lxbz7>&$nA?z)`I>%FWBF;Z-7 z+#cNLD|`FyYfd*2nuuGdFsl_TrsPN;@RONT$Uh;V4@H8k>H;Y)|)V7LfhJbBM)&?p>EVmj|Z2l=PmIzC39+WY@s$oI9Od z2)2>ROH@WihCNp}Apcl=C%q72v%uTPrg}$vdC1oX?S5QxpAUgaPti0huZj*#P&L7pc(SGHFVl9yJ9{Q=m3iE2pz7N*EUcDwo+Y z#U;N`?ABHqi^ThIO}>O^awxdyLF^Yf>aw?RlDDR#nxyZznmFWGu?=NP@L--(y|w|2 z^G)~)bwB?8@q?w|WpN^qZ)z8b?UZ{PP13`}e79>(7~vYv!4+Tt8!mK$9X|FfS# zzTL_Qb)Se-u5?xlGZ-DBD3?nR*jucBnY=DoU5Kr-I>cuH@fa`5H7K8+w3n;CF)*de zZ9*>W8oQej0B=8dY`-*4$zl;~fe+0omcE{sq zc2-%Io9t08eDCOCHh&-SJMrORwM-=lJDGNZB>NI6QCgslC8MFZ^Pc=48LCIz z#+VPmIOp|t^bpI%d=R;!o6^V3Jd zZmmFJi32fbpWlA}k?T5N7QeEjzn&EmJwEif|Jk6pOC(%@M>lvo>+FFC?g#QRZXLa` zT5oBuNG6O9@H(XZ6w#TaPmuna)G+t%vw<~HumZH6M>_#P-+Y%p#G$QlQ#K*BNxt8% z%Lj}I;QUl54(pu7^I|;w^>b0WOwh*5qb>ex6OIA>%w2Q7oB&qQoivC;E8@rOCSkm%Tf4Xp3tj6_)-C@=@{gZ6pZ6+fN%&c1UZF zT_1oOgfv7wW>HH*Z?XLvR5nGYfz``T9V5*I>I~TMjyddMo6m}$vOBbt$J$9Qe^`K1_ z6^R|af~6vzk^q%vQ&lpY@5CveNltMHR%We&cA~_x5o+MC`O#Ug?W0OY zr}`U~#{rU(j2cLMosJkbdxJp+9TVbtn&ql!-bng9j&FU4tL#H^#G+)P7!KKNEff_X{lCFpwc6Z&`3@K(Hq5io4* zZg7;$V1{%*b&6|4)#c|*Nbe|nyAUO8qxv+G=uCE+lM^p=3C^>}tldxi2{&oJF%2dq zr-TvhVmu`#Oj2zjH}SOSrcPh|DyyxxuD@EveANYaUMj8q)cDn`(DPs9f412V5HnzK zt_gi{-Df|w9uVk(5v@Nh482I2J8mMNH34)9X7V_O0QM%84!c8^(g_0VVq^LZ zcEZz|N8_$L$V0+XQri~2TyQ_G%b&p1Xx1QG?kv;o^M^vQwy3>pHp|QRg^3S$gHTLz z!y()LBkdIq=*bQze}4zCYpfVO$Vt0x`8PDs()16MFCy}6=DFGO;7Zb{6aFF5d13TH z){o>V@Dwgy`BoKN`^V?asz4hr_7M0U%j{AadHYBDO@(~bb)L=vg!p;i4h%SbPTC2M z>f?gZp>M~%cFtP^ikx4)MLIwYc~Jz zj>~Y~YU@vAt-(x5Lug&>;%k40%5-JnHfUEg)-{1cxThr~KBx6Zzg(9U_(|FA!^{va zR_6^;lIm0a<7G297}Uy<659~Y`LlpgUk_Q~x^z@9I10;0<10IBu+S&@2|&nX)5yQ_ zjh|yg&U`7^>){w|FAQbiG;dxu33HKOlYZ*u`bn=~Dqf%xu1B)h0j{{Q*!89K<-i=P z$PPdg59`r%LO)MV_Gg+OXf_gSZwr&b$-smh(D9d+wl2Jfx1w13$_Fvtm>lh*VfRPN zR5mKZSVrQ6@GK)M-wiUaXhTowH7`x@SVDu}xDhLkRDlqMPJh&Qxj&?He4d#D$_(|m zsnn9cL%hk?CkhH)mBz>vRTak>%RTS)vS9wF0&d4EfBuLb1g2AD@q~-K!4k;}P@~lJ z{>ciq5daR>-cen#)=?@!b)mC>^*qG74#?1y7d?@o*;ty3qYZg~tWZMmZv#GZ(T@Pe z#aO+$8C>WKwhJS@1)iWOJ>S9w?j_=f$&DDt`?mfVW2xCF|L+A&tWj92ili$oIFBfJ z61FbLaVlQpIW17sXQXA(VlKG9<}j3vQ)X->7(uEN$6}6_+bl#zi-=Cxv2ZRGPl3Gq zq=r5|RAUQOv2BiB-^SIHf(x~g&0xvoVW}&Nda2YNcSu9s=mTNr?&u6lVHP>1cr)gx zol!-`Q%Mg+r)J-%*r}q@<(^)yFCouGUubY`Sk^x zPWb~RH4WAA1s0vXv5M6Gq;aFO&XgfsGFG(~GO4h9>nd-_p-2^%c3_PBUS8f->J6mssHVSw{|Mndp(%WWw zj$N!1g&W5{EsTIFmBEpM3iPF$C{vEm662goeFR*^*LULx5s$MQR7)1Ef=Lo<5%)$f z(`@&-UBBnr$SPq3{rUWwsUljw`J^wct0e(bD!ACb-e@AsoLh7xgB4mvvmWwWi&yHM z(i4PUQ$$l;Yt{_~lLPgZyc^8pg8SF#XRg5U5#Wj@nL#7$883;#2|rnWctuKgGw9Mcywx6jRk>;-R6}1i?y#9TuzwV8_kacPJ z@WH8mbtc-a)SSu}Udnlr!u#k?>E8toL%#$+NjlxX++Qyjt5BXL?TER8kC)?R7v28 zd^cNLMXtJsedE?bCS&hROrfscv3h2D<8w0Z5veDu=*}y^SW07=HklodI91*{G)0U) zSzO#U4~RHghpS-woWIq8Gy8}#ASbyz`igLjhCLvR@i&cCL>#V}SYTFpn!boC$Th7; zG+-XVPWUL+bgSfyKfNx`b=Z$mI<8Q3M}Ix9IjgyAy>c%UOYAL4_2(PWatDwki04@9 zqen&W>6i5lO2*Zse?eHxbHBV4rdV!>m967XzrPnsF2;68aP{}Q-48!-2`z>rC~N#I z56I*-!Yb-SHN?mic_%KRqFbr`i&Q1<8>5A6w3x&ISN=HSQ7$iEicFoH2ZY?CUf>|i zq*GepRW2ZRl2J^1$3F6)=c`mMma8|R<00uwXA7RQUQXvq4s9zkY_1lVret<1`Q^AP zjj0#B4wnWhK>v5Wfz0Dx$*~cXOZBTT0MDrX$pn2!eUW~By(&?~bdja%=#SQqt^Q?z z4waKgCdQZq)d<$5lez@AB_jl3EKmo@?m$QBdCY}=gl?nlG&Uc`p-Q`{a|J0P5_363 z?nkE?gQHk8OawwR7MDyPYV0HEb)$@VC=RAFg4Dt>Kp~!+g$Sh>3wAtgn%0%IJrDW< z-K2}v@6h4*my|Q9nCIq3*4L#P@3FjwROv!uy@^qmn#?0pWO@_nxhB{wN$(Dm^2`0EBPi&WLCYETUvt0b&pc9O3#Y}M zEZAZTd8y=W+YkL2(r$_w?fpK@+<0W;R|2Y~!DNZz=Pae#xx&gU{B=bB&TQ5V{MMJg zOXIw%PoCv?~-Y2y(?pX0CI8}Dq_U5hU8b1k{IJh0Jqg_t;p=Gs-& zUC=TJuZJncb13zF^Rb~@^nJ)Z=W{=+%MhG3fb!m-qb3x&a7g~GOzwWt#337+@RyD0 zW!FDU=xf#!t}eD-C+cHNF2z|xRRcZjgaXpUSVH(_;d5I60`70z_03~WY43Po*HNY% z^G$-z9aviaj~AvKerJ5qh|>II4~v#?7aJ^O^oy=pVG%Bjz;&Tly{bA4zJ=JhXM)!Y z9U%R-U4~GnMAv`b@0G^Bjeu!j%mQVCyxC$v3AJ)H(yM_dIvwnEHG>73Z1&klzBQO# z-i?T542`#(-ZON9qL}nw)84^5Ng76qt@XqE7{UY=H-z&^J0{|vWB~(8NO9t$ffKW_ zXB|h{sbjNp20;E^MnMP&G5{B0?!|z`wnp`JpJ3)?XT6qC6{El72^8&3SaJbjoX%y2# z9h^oZ9tX~pA&K$Jz{QHM#VCNBXnxKzc5~Y#6?KD&OKDN?z1)9Sng4j#ZDXi@mWG3} z5G38K$BIY43=({599Yg0+(lA!6ZzvE6)XEMqF%OTI$*yfPz#)oNuq{aY;9X$c&-P^z^n1 z5?k`^Z@t!?r76DB&e5k__m~X}N2ZKxu{HSm%lkS|!LR$YjNY7&!C%37wxVxD*%=z3 zh4>hZxQ>i(A0-OAp*-^oXv~ z#)AeJ>?;dIolkdP!e|Q4?5dxbRSI;`P|2NySO3x3Lxop`Q@VvPi(jdCX&U%R7?c0l zK)cA=9KT7T`j$agtrZUMb@rxmv<#wYwzwwY_U`BAb&@1v!=U61kGrE=G&jUi>8k_j^niQDhZbA}n;x)b}koi=L)78U3 ze{GLJp45|sxezH?T#YS3<`z&2lmAIcnr{#Xa~<~gu6NT~y_!~TMK^Jd*PDAkbi2kp z$(L3y&Z=bD;B+ylv=N+01acr2NqTFg)w6)mgK%!yN6gBeniVJ0-#%`ANS7CVsWoX* zG`R1`RlvNkvYK9apc!zCx5V2<~X66yU9j8KEGJEmo73 zVZWh=yQ>Q2#d(R`5_!22SFcfrPWi3Dd)d$futN*VBZL~+?-wVxNi1z*x9&>+^7pS9 z%%npYDW8oF-rsrg&&nCgUzQbgsyo1>5ku;P8=k%t>;0h1>^nlFgXvPREPJ;Iw8>7Q zm)jib)U(u`qZUODiTdCm(gWpjBh;VxHmJ=ZwCa-t8Z9ipp0J>S%Y5Fb^@6rCl@-<6 z0CD|EcdkZ91g>g>{%nN2sU$%c2A7Qcy2}F6vVLb+-INLC#`y|Vn;P7((4QRq+iakP zL?>(Bi;OGS+b>n3;WXD?`&;pBl$$tzM+Se8!%PJ6ibS-7vrO+Mg=cC4sD=2Rc(Mh3 zGjqk=IBC6dZ%;T0XO4+cjp+t@PxXvh@Q`kbF*h8~*FI+AzUj!lvXCVdM?$$~!HMXO zVL%vvLs^kR2r{AnA=KTO^d;fJH^hQ6DZ1KSrn<}Zjw7AfwujG5Z)Z59BBDb`A}9`* z)fw|>lg0U?yKgx-^>@N40y{sNq{9WgT+Ys03-mB_uWS|$*Y$Sjbq@4vq=tbFG?R5+4f9D+;9w{uOOG9elEhsh1C2>9)~W=PtxhO^Q<)1??Pj zv!;V*!f6ZK9JJv+9`cc28Q%F!QOW&C0GW>r4%P;1dpyoI7)yStlq(hEV47O-4!hr= z@BJ*G>g2QUr7%&OaC=1H$#=c}1n4DHaz;P`8r@mb>()3VtP#}H5R$giq+h?} zr_h5Q&V-k$^5p)q2b+gcOTr}or1kH1J68Sp4a3*teDFwzgx!YF;2jR}t-tU-o@34R zTYH?GvHDh3cqjA6Hn!!{=K|Fs;t`7TITIf|YkAvCmw&XCSEbyQ*URE9CQr0m7LhnT zW}==yR&Rt&WmAV5TMlrxL-U1$!a4TRn5X&lZsM5Q8L%^}oij21JQjHif44J%rny8$ zQPaGi*nc>x@UdV|%Ceg+l;qrSyFb%8QYlXmA@SHwvsDsvd3yk82BV2DQON4F}k`QriLyCBq7( zw6M44UPoH^lf_|asuB&Ickn8znzQ}8O4pU0;^<@o67kvnmX1va04HJX=lq4z`|zZR zQdUEi`lBEIwOy;bUn-eTJI-?56^wo12>%S`efQCp$tb5-naIx&M8K1rkoZQOvO47u zz>Pkcms{QSxuY3)+0Y9%_KGC8j3)3i6_OluoE8#9<38o(G{IkKdiMnz#!Z)SE!mJF zuSJX}MTx;hn~q`#bp<~=!s1vkaM6ZRGFssbJtS*?2M_?o_d+SD6A#L4udVMgTcL2C z2aDWBe}%OSE$uqbs$-lsafkaflM{#6Ao&6Lhb@;(K9t!1JoxW^$RD6B!pThT=Mi`H zo{=X5VvztL@{cV(xr?o2dbMq)l|af30HW)6VPGGX+)VtIe|Uu}g}9G37qbHkmqzJ+ zi&4?qfkQ5|(Mj;b`+QGhz@Fqs!Uxb3DA4LKCkEu`HzboAoyrgP;6yRSf{UNB#77nqP*`!D+ z8WPBgNjFNN(6X6Li52D7uVRp{4K=#t09xxX5{{s7ZzvzK^q zzn^3!hp58;*1pX@lw;Nvff>>C|Gl=0)a2eK=fly5FKnN!{-f(|z2mIom%K}D5(!_* zq!8(xSLoj4ZXnSuh;qH**JH`ieXiRN%Dus9k<;o z@c7aDuUFQ2(o?Bv(_tw=8m`iLmVtfM_6^UNdTU;H?>riVkwN$<N7E0a9_&)vr5Xj3XATX&$OY~GY&eOp zd?%d3Oq6p^7uc0kZf)F#!bWjVur%sg90tNUhCR=ArSOkZwD@$>jooFd(8A9c-)7TI z51Iz$<@lDg!B1jCC-0#(v!3|E3nEApnq8VCn!@;KRRHZq^s24jOp2L`>4)-cgqr_FYr*0}A5pz~`~EQzp#kuz4!&&i{YzbZ(P zm{@#v_b0WocL-z;%8NtZvPpxMv_Xx-c#w^uPR%V1w;pWR%&(C`=OdkmhseIlEVy3B zo6~HV9slPZdpE%Ss{;L*pd(=5asc=yOx|GR8@EUdL!3*o30%&J$pGu2)SCbL{#iZo z3WN{^tnDqjhm)-$)Izdy8BjN>GDWHds&6-(Ao+FcyYmy75%+&2w~)slQai$uG$x-R zHJW=XY{JGn+n@6~)s4dCLmcJu7YQXpva1p_d#L^NYOaGo$fac(z|S+Y+>3tW3d_Ie zpM>fFU5kf3ONLiXedpfR5^_6OrnW_1eWnu(mjvC_&u(3D*qrukQ#s1RPh&!-zH-J| zM%7F0Z>C2jvTpI*Qo@xVCJ{OAB&ng8Ea*1mcNw#;3)IS@0rxo3-n@>urk_P<3b0>`1phhvfC9{NUZwb{J`=kj50x)E7mhbUKFl%X9{kZbw1 ztw_^{uP0G?e$bRWk=K@>^p4S z&`CJAqOe}4iN9yXGz>)DBH_ZX_!+N+oSY(S_yL`!sxkV1WSctrt1amuCS)jAreD|s zDy{j;!{++v>NQJ*Nmk5kGJAe8I%(rA;|eCx2o|S&rSD->CQQodFCD|hJk&oc{e{(G zLNzLtg0|i>x^=*>83G&|a)#{rn$pDY#%c=HP^ zA291+A&334xc_mwnjq-4;bhS>O_p_|2%zI<4voNX!pN`HKJ`e$!FfpPL_V25@Ak6f z_)rnYSg-9`&>bB{?EBfEn%!bVY0(q7;Hqe^>stDOPBobXQ5!rP2G#nY@fkhH>@w=+nb(eJW^rjbIeVS_$ zUD!J=-D3e-dIWN;mE^*5JC;%2W5gVi%aiPo3T!_7cZIi}J`n25g{h(5>ui&c0=W8} z$9|}gGRqT|F8|eN6=?teCYS$F8S#;||DL^gef`xY=H*8QR~c&u6qQwFxc~8lB*^n- zJ*Daq8fMJcFk1V59Db{lIlbiv*PW115)Rw5Kb~e3^rf!j$A90v|1%Q!udA2`&ZSfo z9|MYQzyUda$z=xaI?^{BG@E9*9Xg7!Gcg+yUTpKij*uv=nOV1jx0IAa)kG3-q9z=Hg))RsW%bNafi+SEiV4|-~N}{sIQ4^ zjs&fYO;t$;YzR^5n-&s+Ij$HL5@aJAm0vhBhkE!2R2aMt@vV}pUA77W4#6_Q<{NhT z=nN-L!8))Y;Cy9|G+^N5y4(WJWK&}pMHIxE3b@yvsPqfER^i~#J^CHX7Z0uxl3Xgt zak#g-?-@vGTHu6N&B##?%&m<0P4>J5^3sbp{~EeBT=?P`txk}_s@i)c5Ds&+680$V zh(?{r`9O~@Qto9iaoGE$;nsXt{{?~Hu&E-#5u5|87<8^{I361wl29(Kd%LZD%}ehg zFGDb708V^K0bg-g{PC=i>l9W{>8hF^l~6tDn67-neV#_~Rt+RCObqwuSmG23e6sih zvg`bAnFj$FjIMCiOh}q7dZ`|V7WN;R@)1?C2t;dvAA>$2II$#RJrJX;ahmOuwsQlb zr3&j)B0lFMO$GrTrbB^0PQoJ54zkO9`2#qW3Mo!eGJA{z_?E4*D9C@GA}_ygpARV?*^)bgr7>{YU= ziB+qo`t63G?%o&wmOB(T8^cdaMrtH>TCAh>zP8h61yxHs2i^VrJg$?EbC4#Ah<{IU{u-Fh)O6VP>UYt$3Cigl9wC(8YXRWCl| zKB&a*LrK%vrTa+vOMOFGyMz3}nTIr+q0@){-)Ga2gX)}w0LRp=0|V@~PM)sjsx?C1 zDwT?4`o0FN>a|~QCz@FL%>0>XeL zfA|QD%PpcTUI(f=V;4TwzPhBq7}1!=2DbMsg(GJJ`)nb1VvG@T0 z&t?Yq!v~U8Kv&HD4wq^n*WLT2NV-rj?;9b{4KxfrjP+uY7~DcKEk*xfUbi$g)bml~ zpjwiV!~%S*vsq=>hd7M+Ymz6R;Z5PM^DiZ^*B`k}`UNKGe2*5p7`zuMBG$#p^s~~VFy5YdZuo(AdHv#eb5!oNgG!<9?N?x5JsHX)1}_ZCwx}2V^*USWO6`v z?HqSEJ;|?8Vvgr3CWDNJ2s4e|oF_Xp)9-x=I*J@P+VF(Eu1bb|3l{_aVYIPPC4}I? zMn*=q=IWeuJdju~78$o1&2HBYFz(3=#j0r61IeXf=YGw%rWQ*iU?(6W(|?w?m854X zXEQ09;$o0!jIX;yuZeBh%8jF9mt+&_royY*lV(_P^9l>BxtP(OYr+@fQtY-8wiKb< zdWN(aHhlRSd(Wy8DhtDa@ttfjWeoNCCAU{6501I4>Z@@NcL2SdA8Aq&GG%zOyWjZ% zIhGJ099L2vo-wopS4tK0ck!(c#bFe21j>}r#<2a>1%ZOI_?pl6ujj5zLOjzlp&Cny zP0n}5!N+Ogpfn%1`@@f*?Kd&V+gb_)L#gV~{T2Sk1$oyL#P<3cs@`~QNcPQ|;D5{C zAGW4aO{jIBk#a*oH9`S zmed=H-x1KV8Ny>!VP)6e_n>d|i9=der44fv9=l$h=Z zf2jJ4z0Q{;hV1?8Z=;Qwz@WN1wqV``eq{TaQ^lQJ(UirRBcae3>Qw6}16mF=27%d~ zQE76~>h>nKlfF@i?Zukc+vu}OnT=lSocjdH2p`BmZR9M2bth8#a%9c5M=B!g&;vye z7T2tR7NVxzYrWDP0uBGCdq0Ya zjsV(hl$7Jfkjs97T*R+~bXwjAaR|{o%Wytpi^|9PZyX_|z zNq~q=FN)VnqgL*43u8|or{k35%G@>NIGh_XTAjub26t*8Q13$Q7Cna#+gk&InZqkW zFZr41pQymMn2=0FT0AnCeBM~%SWWxd5sXUB-7Tf{=;gVRnby#gYZLnFw7%OkvYsjn zj!9)DSRC72&fdR?0dd<~LG@qY|75xez5V0bLyz6d*hYtqXH_7lQ@;`N+d};0Q3~vY zg>%{OfAMy87NACgV{!JI8~iT)HQ~^-J3c%&BaFj>(RhJZ?y5Etqsa1=<}ZaB>PI#v zh5PB^@Zb6*j_c^Gz;zJ%&_CXT-J@%q^tUndb@n5vPJk5velvgq-f#=XX!;%Ty!JdS zM~`JES1Fl`rU&uv!piKs>^z$5UR0Z&C-l#Aq zoxR-e1)u-2^RI+u;R#k`E0gI)s}g4fn0tLGueF_jXCj8g+i^xmf{y_HWmewYN4mnI zSEtn4_w^JmD^A3_S75lP)dg`$a0Tm)ARG9&yc;#&F*g3wOo|jV=wJmbLt1GxI^f$j zB7@~q@aUS*oK5FL?}SPKJw>+NE$5g^VEBqyrbOOX?Juz19iAsvQhEB>akIa;0)tf{ zH&Cj&rf-j6bNA)zPD2}o@^slccX1`r2Y>qiwzgM2a?r9i1T3rpS7^E|myx56%=s3V zobr!XBtioI&;obuq5U3~CU5=Rube%2bW7qe7at1kA2$wqW~|Gecl7o-Y;E>#n(DKH za+OM&-|7`&CaU4({D>#FRNbZ;cbztv)vDoj;1TfEjO6uP?#+Hr^HA-?g;?xW)YCRr<`D#cMJhcYd^fi7(OGZ@qtxq@)d~ z(!Jr|`;&X|UFxDAPPtT-dVS_nlXR_xBr5=t+sjay@-K~ijD3DraY%{doBu`dqqmX$ z-3c%DNIdDtYLf_&WH9X0U;SA+{d6;WU1Z7VAxef!q%X&kRL0o&IVf;)xZ+tXUCK>T z8cdKAHBO8QHr?+rh-akUttR ze@ZlS;OW!~@b!yL+N00$rlR{L&6N3Q@Zla2V-a~NiTl9e42>bTUvNQpl9Wb(Igw_< zRgaS>*~VY2y5B>k;YD@3Tx3!oQ4R=ryCgplK(W6yYB_E%Xu6V;rg!Rn!$9)8{PI2? z`2AFcsE`Nj1cdnMLzID3cM;>$Rrfn=qVQHf>TRTWu`=>k6_)N7>Uh?lP`ME?`EkZL zJ9G&>bjWy&A(rQ>S!_w*td{L1BOcSsnse)=(^94vF(7Plah_z*E_=C34`5j6g~{U# z0ylm{sh;mdd3Pl8bF9BC!G{H_wj1K;^NUNWIxIGpK%5wlT?g6QWIi*L&`F%c@9CP< zujdD)!^Ir(s{q%)>;S^V{s{VIpKuFWZ_^}0(Q^|T`+G{PoYL^-{Hy4RyJ@GB4;X)vm2w37g^dg`94s z^J%&%uF(5$nB`hNoc-z2H#wlT?MvDF>2Qk;%W>GB$&SFnjE8;*->qB1;kzIo?#3M>7{N$H26pF<^?c!NC+Gx0(?8sIA zcJYBBtQ|ic$cpvwzFTYxVJx%UOpdokJN#c)FHkjWZj$QiJY;>hyWcM1;k2EO%SHe1 zu^SiE$1rXDAVkl=mJSw)cBbWqwX-jBkS|;uWZcvOMTqk8TGu^wa;5IL)>W-3o~&c5 zA|M`Z4H@%)6TnrBkwwJPvU~9f(H4Sj2tS`qOjw39- z%L*$Djl%6w0{YNl!0q<*2Gi)(0){2%vv=3jHniFuNyRK{nDn{m;GUW(~>p%%9PzLWI_8f;FO>l)wOw{yq^)|H1PtuFCOYf|mnW%D9;)2v4uc z@V!E{#4-93G&(w3uKZ31p|M~vS@lwxJLeY-MLf|vbmi$v$(Rfm(PlNmG7w?De>D-x zjruj^*N%3hYE34TiJ-1OTdp}?H$=%nQf)B0h~shF^+t?djx_MMd11dZ9}VTK0!l`G|1!(9M}NE9Q>`@g`Ax6G2M-)j%|It>b-XE} z`B|vtL3dYX!fK;e$2Uk(2Ifxt!_a1u3e}=>A zSvHvHPoEV(L2ZH@ycyb|_mb><|5tQ8?~jnl?GQ`s|AtDfMDXPsAEGkyl&)k#e+#zG z-$~8)*ohlcdouJZX(w_d)SF5mm`oDRsCV6+^<(Pi_2vVG= z-V5{j`XAVc2#e@J|F?^NlvH|dB42a5U-nzEnpDDJLzDjsMFPcEqhDI%kZiZY>SBp{ z%URKnWq}0qxxQ!@wfH^RVCt^l_ovvpAB7D<=cyHUVQ%fCi9VSHSgcvR5O8DP|GFD) zQoFD;IxFZ}ehduW)GK>LgASi+=vTWNoy&`rd3RmejTj%HCNpjVl#hP1naPp}W2)>8 zBlIG6g%|lXQH>Vwt!W|v2N$fi?F=@!=2FJ(Q;@_s7O_$!^%?A2uz(68HE82|SS@vQ}8 zq!0|oo+*cQHjWi{DP&o=^e?*|a0=$bv21(iZ}?71TpGD<`2!pink^tSYrBAe-)};z zw1|uxc9-@75;k6_qh@oii*ODtX*=4{sL!R2RP#~*5+2Z{xIg|AtU)rWNhj!M$9M;h zsz^vwidjdeVJN#rVB}EMvc)tC1Ino<&v3AJi_}=geDt!L@otk^0(S=rCW`8dZo1?* zcbiZQ0JA|kdK{=*Hv!c)a1*9D=~%hgl2y!$O6oR*lucLWj;0M=#GmDrkwNF0^H0ss zm}^}X%dgA<n7m>a0qF9O^t*CfGBeL9B*d$GmvpUMc-^;^1v#be-l^AY?r>3T{S}nrOH+ z+=7WcaCO3BZ^>@903yZ3-`FRi{f11qivVs2tIv-vL@`GI0TksdC=q7E#C|I`E|IUVR4$QG+AI@DGdMeLKNfyX%D2(hvTb-u?i2k zn+y4sqM42_Dd4bp;KWi8kj8x{b0`Q(7ycByJL5hN+EXx59pcKd&p-Muo?NGldewFB zaK743+f&lIy3s2tNT5$-emmcYa~FY z{ppMa9eBKtZN432#k{*Zd^I?)6kg;W7l`9}_GJ*w@tlFFoYr&^RU`Mz^vCuI_UyQ% zFg~Iuk>A~ZAT6%!#Uw%^;Gyw)_M`cYRj zFT2%LxvfI)FIQ;oL{6Fr6>{J_OYsb-G!fc80*Te&u^9HB0J&k@tavRTn5>=?Ux7$|2}Z_ z<%+aMfu@me5;0KB#*#%_PTjsRw=W2x+%Xd6V_YYhM%n(O!vPl@m`qIE{feZR%@df% zUHgSsO2s5fj(nW2&TG@5^duT;#~Id`v~~}y;Ds6w60tl}2of;)a zq+!D(EjfLpvVRCWd{p12g&G7s$uw*x<@zET_`Ja8W=*7fAG-f8bkl5D8c*}H>+#rr zQk?71DVDAVAt)zuQeNBqYv$ebw)pmNvEG~VbTqV_U|1*H;`I&7?QbnCmd`V+3n00S zO!`j12CVtm0wl*$gOTJPhV=x1g2Um9g0@+*8{<_HCl4}}YcI8!RhSNxgd@d;fns3* zBgy@tBGw)Jii|>{X4U9`?Z;a`e(kA!BPT)8r7`l!jm7}H*@rk@EZ{YUy@5u;54O>9 zXK|zLl#~<^ce8nS?)y}CN?lRBF>MHvtTg$Yp%%Ms5hui zxyIV8DK>{d9ImS#@_M6rY?#eQ+@{KO)Oo01?2&N2js=YP&y_+?ZI^d6phoqeN`-{Z zA=ZT3rpX6$X#a2Y+{C00ktz&r!Jg?MqITQ$y!@V=qO9ppNEcZjX{I?Dl*<{E+w7rf zmrNkSo@4BL#|pf_lp_ZDrx44DXEwjzx7)++Kx}Fyv3~O!Wxno2kZQ+D$4BJZn++Hh zhGfq_+UfiNvUmd)CHo?h8C@Eyg6iE&CD6iF4H(aqnh6&hq)epxd+w+j!>IR?$JP@c z%nZG0m`$3^thi&H-#4t#sbhBNM~hp+1K1*u14%ZDr^isR!D#;zXbmIapZ`G{|If~i ziTyv5KpxtB4f`3GCJTX>sg3Z=VlDX1JkbI!NLJT^?zt!^X^L!^7RfZY4#{x6 zZr{4=v{D`qnEQ_7Sp=M~F4}5MkTK{{rC7wk;{rss2ju9x$0?o?DWd?4YhOq<5ufXY zTvURv3|@{f?J?SdnHt6miQHao4zT``OG|vb-4bgIS2;U?$~A8?Wl_odxRUwKB5z)SYX#gydjqC{?{hbA zg*YtZ?LMQ}KYPwxx*_=A`HIoURECOsLbH|PQg;L_K{6NrGCbay1nv7iAow!^Kx*>d z-b|6K4F^+s%X{O`d3g1dP&#zJwU2VJKmTw%T!NNszE0iYu=h9jBtHX#aSl}@Mg`uD z5OmmiF$rN$i=`qxa=P|1P}Nyftvn1LMSVaZ?{v1;uRm6e|3-fHqtKJ>EZ23Gf!4@Y z@wV*!+BsF7O43c$s=NdhHwT#;p^cEZlbz6Jsm6FJ`t)@1!1gln3@xYG`i#44NT6Bx z8}D-#mY2NdJaX3>-}&Nd>~-xgB>cv`^sfB!x2 zYjcI$FL!vH^;-P+H>K5jgTKD{iWhyliLm9viw$9qZ(=;d+%@WdNC+V4U4p+~IEs|` ztGIFfF<}+GW*|k9F1x%m=(?qAQtc6$^oTlBI)}E^Y=xa%sSeeo?;nwIL|M*j^~^s| ztPb4W4%AzbL-9@|h1z0#LHmM2`}dTTdP8LDc3{nA>Xhq*k^oErX!zxKm3mOxpedx(f-G1XpGNs>mhh9ZGhKI|I@d5KS&_(2QLYat)0BB--f=(DSPSI;sD^v6Ac1GECHzDk5GB@l# z%YPr_aCE(Qda%+N+m0=b4j!ZyK7~TzgoLBSoH-gya(2vPG9jK{eR4SAWu{``0m*MQ z#i_{?9RL~|%p)W7HxhWB@Nb+T#z|Z6c0s-wuL?6TCDd!OhK*Brn++hJ&6r7%!4YgT zxq~#{`b3k%VeWPwO+#pi`0DeBJsAvn>Fmbze!!~b`T?ZUuSAAxa|BBEDBqV_oLC8QSLjxj2qo^dWQblKpVMQ1-U+w4@`ii&n|ebRB!AFj1WMU$hTrY zWx;CutWK!kk0_MSzZaV7#A1UFF{4nlXD*^?;;i7F$K<8z+EQ1whNZgHJV`^V#fP<9 zuO&JDU$}z$;a4HON;8r@0goyQrC|%=LFjn(>wI`qTj_SA_Yp{-h>6-?IoZ2IlI=O? zHemOm8TSH@ZFP-s_IMTk9QtGT^ZJATD!t*kTw29LG%&p{o!5j9iEu5B9bxv_{@M9_ zCjutWgtKl{9F!3L$U9#i!U`76ejI5GkWfvB|3OXHb0Cby;o$=pan0IZbc`it7IwI* zK%|DIY!S&k{H(TSidD-_1SLbLr#Ps(Kt-@3PC3r3u3StK=t=&-hHDCUYe&ICVR|Z; zU8&9xU~>v|H-m z1C1{kv>~-APT-BHhyFhx9z0Ea(X%Az-yq$>0B|!q+yEwEUQJb{Xi0rYw|}3?oh{6JX}S9oo|)S(Q<( zFX)9h6asRe$9yI-4riG#c4iV}D5x0j`C0EfKV7aJ%wdZ4z(H!csSWfKm-l}5Op4f` zWXB7PmF2dG$^N9?cER#L*#q*l2@dUEPs>m=MDVv>XdS9?cLE(?oQ^RAsn(qGV)lT z06%={pXEbE0Z$=iOcQzhSt6QC0^HU!KYOI)j4nD5SBP>pSG&{li#58!JPuMKqzlD% zN`Kn-x1$d`x&!emMtJ(?@yI}RG7i^XgT7@ZFXNwmcUDTMGs>2ff?juBxUHMN%1{L$ z_(`hC;}F5oX}OZsRXPjEk96hbrK06nTF~xo7P(rXrt>f;oW+IxUJx#iw^C~6JBV-< z{X8R5)q|w(^O{r1%IuS{Ea(1^=lWX<$fnRm(7EB6;ciu_jqn#QhYXi(gP^|``VW7D z3`Giy+m{OVvSae}IiU!6`wnUTgKAw6Knm%fQn}a@^Zu>KC~9e_X?HU`w-3VPyXj7v zU@_D^Ee>ZrdL&k)csrjPYoZk8izQSlba?Qa`BRV!1&bG}B$gzhfo7|{9z$0LUf4tT z)XY^sbGK;s+o0p;o{~{t8|(4vA6&5t9?&&K3Pp2U9I={LD0Su*`5+DsMkYN-QsR zwtas=9GLC;dp(lViudm?%u}A?*RKod`KuUb-=hz$mTS3KcMAR7XVfoQgHWe_ z=*%Q?ycTPV2O{LMX$7M0`^#|F=YqBLqFs0n>(!;}3f)?A?Z=g2{XU7>o$ia%85?>? zBY9;WP{dJVbecFBaQtSh;iee@)Dh=NC7&ow=byC7?Fl(BFfa>I?Vbv<%3-M-qL53r z2s>1jMHbeBHOxTY6}y#^{(VOQ5ToOS+;*Wu@~YxFwqkL1)FcpgouFaK+w-d$D8BOV z&V*%BYlwzhLf-U#Q7H$>;%te12(Zx`YdSCj#>XB>=$If=kqB@v33%SMT zGmHe&9SoKtfuX`;6DywHi8I+h_w%Qi<@#OUZdlQuc9pioj;7wDe@x1V8q^*FD(nG) z?^0hasodkN;J71CAWD+hL7USalLgSfl?j6Gxdv?T{{ShU9*|txkWX$gkl2`d7PR20 zj6cINIc-dkYqE+g>;{UB2x%?VY>Uw(OyuMg_dJl$MD{Jd`|FJSc1SJ|iXmA{nP6|k zC1x1^#TNLtQO#yu0|dV`kv3sZqoaWgTjX4zKsn+F@(_ic2M{)*QKM7vx!K~G4Apqu zoyTQSbWy5ju#VVef-(SQ$%l)6rF|~~%?o8SLA1-~;?RDgy#Q8qtdRNVER#Zj*l^4! zUO9Wa*&=cQnuy3&Kd6|##YIE~?XSAo+44$pvEdrvPho-6wkb40^WmsRnhKi;atfT#gH!~zTi%wDy7skM26Y9Fu~Te2 zA`Ka2 z6qKjbI9A*z)1Jg!j?69Q+F~ay_Wv#{Nc>Vn5cfk%g2EsiER!%(WkNVg@Bn@^6G@IG z_upmQKDEQ!;c4_0DRl)krleB`($mmo5<&Y=PGb_EWJoY$o5@5(?-KPU;m@hT)MU_$ z>|p?NO()(OLW*cq+gJz?vOw`^W+y*b^<)n!@F3ga3{djXl(OXnM!VHOJ*E*zf2=xH zqZ1>qwQaI`Jnv5zJsuKR)1O!2LR^rV{oL@R`WnQ~gOgmeR;oV@<1d7vf}7{=iE^fP z$}&c~dRrJv!aIfTgpwnJ<}G3^@bU!6n-6|-&s#n(Z<;M3pH#NwZ^gk+Zta%jvD-#U zjm;$se6)YEgiE7~M{T{DJcV`|f?_}AmfN4Xmz5`a)+Gs zwj8-2wOB~g4sXr03Fw{)oc z^SJcRl|oVLq!22Ia%o!HKvlGPO3{VODsb`5Y)@_eOQw-N1BXPRw}5 z_oAeoKnclC zVrQKET8ULw3; z+7xynWA4NIp3hji`1F2{+IHO{(Y9?IfU%agxG4@_%z+0GMPs4eLRVEb9Jf>oDh>hO zA@I>oi@_X8OD%$^AjG;z&!Ywumn?Q`IJeNwi#ZC+*eAg%w!C`jR>Sfv{g4BqpG~st z0c`9V!MMCwQz?xGXZw&gAH@sO<`b>Ss76MpG+3H_H1Ry}e!OXSi@NRUZ3#>iwmcb; z1ga^%iG>6E^e{Mi48=@yYElpF6^IehbiW1KtyrlnA6bxuVv@XN_Q>O85wNFUcpg~b zrb6z%XY893cdAQM%qLDCj_lEDKMhLuq)mA1sozM0j(#Na>ode5P}i)O>fHzpTR){= znDUPUXZal`BbavKXvq#<7_P_yEwE4e?dSRoP&{SeX{Y9%GG4I9x^Fv0ByM($eHvp2 zT@(H26an3?wLh3sY=nwzopup0*>e6Z6sAEyA0rkWL`-FS?4)p~ zpM{L6Xiy`g>?#(asQ$TKzvGIhjyhD(a6iCB5fnT5fnEzW=vk5)W0Ra8s=zw})H$0q zQu$4jyGEgnVaNu%37M%)psMO<=d9frl5~H7*|WonYE_vWxG&#IzB-YXeP70|zI|<# z8;z0!Er&HBb@q^RqPkXZ9wnVY9%5;^g8P5AG(bU&P9=eA}l=lFjZEil4B$*Ze9Faa3-g4Px;_#ou(~qJW zcL({^$RMr@yC3o6+=;;{JEqB$1x*&1SjmLD{;BiTvDs>#?vnSESzw;!PJRszAFFXW z7tU%JH!BW!wj%?|Ih<}g1Zq=&->b!a&s3A?nQmq(!9w$wE}%RpeQ>{p7`$rPx^d{) z_UXwi4~YLIeMwIe=O;V+x+7 zD$O{ycF2pZNMR(cp6EPu_%TV{{It3|4ORZU_f&tmU#R6ys0cD(_x(~X1?{O^qFn{` z`=8Ou5zI7CFaxq+#_Wj^G@4CSf?^XvvepeoBGb8bT>s=vj#I#_!gOmy>|! zp%K}gTrUWAs#TI7>cBp5`Gm!|&!DK6!a|#a3sfx$?Dq96I<1%LLB`dY2G%uxMf;-;A`$VF@NRMK3a6%iCDo zP_)POnf(&ogOV|t{VgU4ggZw-4SeGI{Tb&{l@#t93eFWuh47ONxbLLUFbn85;|u0b zp?jQ1?*8eHpA~;=wm!UTd^)kEox#u{;o`Q5-sY>f ze1ElEUA9yoDBGo-jE~#IR-~2nP`I%9XEMosYlZ5z4H~U0G(EW~#=Jr&M1U>nDJp|B zu-S^7$boMPNo5t%8|fOa+n*sS z@xIRhLV4DGt-XEJHwlXga*onRhJa2_`JgnyyuYC(?vyE3QfP&MIEE2f&c)>p7Q#(WIo43IkxNLB_Y`t8k450f_ z8B&=-@4Q8JU3$avI%|3vC}skPTJ(=urdfD{;k!nAZTW8w>wg3b{Zaoj&mTEvcO1~_ zycu{u6gaK}<|4bxvV9kPV+b`h!Rss>EzlA%@!Y0?M8c4={-4v}4}MxhaDCdhiGO83 zJq%fyE^tY-;6%^7&hV(kiTAPU>hW#1>bqb0b0Hq-ThhcHZSGZ`X@Xue_5AniFtm~( zL?2<_EVws&Y%Z4nH-G=LRnwyD+ec+iz&@){Vk-tZb7e<^|3EhwtlW}av<~O z6prX9^t2w>^xylB|FEQO&b09+3uc*T3?{;uW@n-T(+jm*ZGtzLkwyTv+%+GwqfhoG z^FVMxxi%!GA-eC(FueRBeCdH%PJ>h?-MgK*JTU2`QJ# zRCuQGRhOK|fVAyGle_ePIU3^>Vb?eM51J>v3&Lh?$VSGzcUClWwd+KS^6Zd+a|_hYg0U_z|U3;nm>pl+k4valI{#NE)-$aNi9*RZ}E z#X&3)fHJp16?&k+G}tQ%_Lv`4Dz}zHxDwOZL)a2iw+<<~lV-b9)Bbni`cEfC9gRUp zUml{JWL_EfWV!7Vk}jp;GXF+6DWm+i#ow33mo0OHqL$Mnt|uY=siuUV)_@;fCx4$P z`i-Xt2R;(bb-j55{qLtJ*7oLu6t-x$!XF&pFCp`^jPxvo z*Zyy2jVTm>0mZBf|LY{v|OR%7=wEVeNaSD zsCJ}G$oF{Z7KlL?qD~3Xx#H}-ccCHlvPL@QrWEhh?$|Mx5_S+?)B@xx7C6$PBuXKL zrED0Lvg{Kx#uTjF3rpeK^8<8^K-L5Pnpnwqj6c}%Dl;qyxb2Q06oPkgxM zM4EG!wXN8DIg|3X!wETa*C?1V2EEF!29~*4e z7L=aXjJ(~;DsEP~bRYZfy!yE(0NM&yfx^ahPsyZe9D(_J|NWRDn`F9d&B3WpX3Pt@ zON<*b=$d&USFgZh(%k7<$hz=thAY*O-(mZfLIZNeR(NWxiNF%DA2+@9?Up%o`~9O6 zc}BQ!-)G0F4L~P(45}<`C0d6>rNoFfMAa5GQWra^Xxq-!)55D}ufP5q!`Ox^`>K%w zI2_2#JMVD#?(l-fQmSO+S^IJrRtp3U&t;jv_l$%2wAd_{)~9$%FhR$mk>|Ur@yM0k z^Xy!!?2o4*7Zgae@|9)vWkjCB%FmQcyS^oFdm4h^;~I~puMcN`bi)w+7~-?!Y_;)L`*AZ}^gL;zdBVe{>K zzFP+`m#-9MP?A`!VIc2P{C#Gz@#+FJ5pHSGiRHH0Rxw~3^>?zYSxl-_2v}IBq!HKJTXrl|m0UMGn#0Q`jO@wwUAD(Z^JjY9}4Zz0_SvDLE&d zXg5Ve@#QdbSH|DySWU z>F_sK*WnZ36;r_f8VWRCKt3|fUOmXHA7qPNGpzcj94Y4D?X4j#Qz{1%l}9LthvXy4 zS$2=dCDlSNk2ewk<(-zy6RmW2wew#Y8Dj9u)yan>a*WJi%yL)My^6$Sa@ud-~M__!du=8 ze6QKDy1X^tP^&6=40L^NB789$r^*)e{`SLWk?ltXq0PpV;Lw|d`|XPI+2i5#AFC~g z|IM)fNx5%Vs$ZH`0o8wIq2P8atLTcnmy_8`~F+E`Hoz`d3fV^woEu|gDcGbg9w3m2I(i41J`4*ng}v= z&b)6#bD4Mjm$_V9fw*3_fM;SD53s6Z89$Q$3O6ct!;77Q1Y6bP((_QPUXJA9cBlo1 z-yAZQcy*e6gxqQEID7{5lB@OEj~Crmf?vi7t1=s^(&Z=adcKaSxoj;>%25Sh7t4h) zZ>#&tXiw~f4*rPi(dSa|tKa;1rG&q>a<(Vn73t!1`+OAr&b|a7R%&=NTfTNBakR-@ zJCQ6KxL}gTP zOm&H5^<)+>C`qy8Z%`@UMMOkVFjG*9|Kg`^uIlOb0G}XyHN!JQ3V({ZB~d*unsXk zP+L=Z(Ab>kNH@mE*X}B%W4;mpgJ+FbwvY|JKT%v7a1tTR94+ zb4y&QaU>(tdb@sD@9zA{K_wut9dh_mF7v3FPKp>}KJjT7og?7@)FBZ|_7DYO|84F) zvS}rwAw%3{&gp|!ayPo~^*GxY<@kUZ8v7B2HcJg2le}OtP4N9QaN6WEj5wo6=o_x{ z{@~9dA&Dsflzn8kh|axdZ=n)T9#er^)t}-B@+=BUy}7fx$JT(^K1z1Sk9ALhxmqbQ zqtW}z#Vb~9=6vlki<#*61WtLh=hYbXgk4Ugmyy5iW|Nt$P`vC%eMz6J-~l;7?TtT( z2cn^V%vR2J0U@+6`~!RDrw5A9c5a?sKJq3Y2Lm4dR}0|voH8q(i;f_R%O}{1SfTI1 z4tNdg1hsmL)hE@|z5nv=4Jj9a_YVCTugo3hJw6wD`yZwEFMtbbwb4xO5A*vXla>F^ zKc-x<1iV4JUw>Ss`)DF1kN*zCzh-+AU2rrC>8_^LXU$d94GX89-GD*xC+hLgmk8_IHv_k=&qa0%XCRZQ5m98lB;5^!-GauXU zvs#~%+#c?8M>OjDOtvpZm`an$8PU5jT){mRxz<<640QFW%X&) zjnuIlgF$y;BCWn&c|f-v;85>cvamXwBMv@C*#D($(qKYuWV4vTq0%N!ss&KU8pLF@ zbLhkL2#@PAJ`ygU1^@p81zL7#^`K>c?l5%an%Kbg7+|wM32t=XIVv4x4Sk_KKAH47Ig) zkcuL4hSOoxM#!W{t!-k7@vPXfC+NDj^DpJ(Zw~s>c$bPjzqOhe=InOdyQr9SKXE8| zAj#Yjnm^$=agBL1_ecp8#wYEs@JrBqT8|%nZRoj$?tW;$?_f1NQqWGqa5U*&G6kfX zvJ|?{C2Zgx^>~J%A29*isCO{x!1GZaa<7hiL>h!=od`1lbZz*fuznDZb>-jY+9>RA zz|chZH0~v3wm4$W8@Gj;d6c@ij4>YUG!}oM(2`7)Pm`Wge25NeN5!)YGqpTGWVm-y zh=wRa7>#J*p@^Xq%giLd33T6NOBS8)_s*AHbR6zI_NL41W^+|rFm`kvs~Ap9SPerN zAbbizscyEo^A#*v-Z=p$_9OjIo*35CQqYaF1IRs)^FANvbSXZ7dUH0ag7lX8(qw>Sl9}GxZ1ob?I{}V|9*Pd?K9XPul3?TMT2ph!)Z1w)a1uve4pPuFBe9OVq{> zDiqVnJVC+>qOb{7m_gHV18Zwixdxk+}=67IEh0NxKqZL zn0fQO_{S_0+>;M|(q#TUm+X1AR-9Xx&kX>y{m6ix9oQDu-gqN3>8KttC`S0_b{bhk z9c%Jx4se*FgTj>)A5XAdbs@8fJwL?66WtaQx)q2<30gtWb}8EFXH@BsaAGiM>>;pC z`eTG$NgfBayU}d_Y4 z8pj1C3V~$FWRKHG%tZSQ>Cf2gVqr2XwdJ>;or+n4!l&F;F@=IrFg|tP_SG#euXakOy z&LmC8k`Xs&)II7Yp)u&x?@CXSzO$!`<=Ac2h#iHW8M1O_ebK{cggOhNWvPpf*;r)u z-yj6s-oRc2*I;9;HNTgAOQ}DekArnQJ{8S(d6^MH@NdV?RA-K%;*{Iza{tzp#${_n z%+Fb49)f47^1hR-ffvj~-ti1r9r8(x`F&NsXRx!@ z)2OXW6hKQ6haJHVUsLp*?s=x$>__#_rU4i_$aF#Z6JCo`o@RR=;!9vFPKTQZ3^X#4 z{5k>k-j~zMY?q!|b*WoKI4d_*Cp(NC-g>r{JaZOs*ktl- zy8y3*weuE=Pz(Q@@#h~eG#+gf6As2KIl)WD_mI-h1I z;RZkF@WA7iSk{o+%tL{W)*r)M)EOS0;l#OCr$sm>DCFgFAAz+Ka2< z<*gy&`R0w_*P-s{mkjmaW%AJ>W|>>=yE3qxr5cW{uN=?$SX>4#`^R>b*3`*xxz@n( zZG>sTdI3<;uS!Zoho0HuP0%Z<8CuM}FjmtpEwaiCiQ>5QPvLI&X{C*}gQwfsNcJwP zwq@9eS>cY@ei3}~pZg%|&5t0WtnfaDDdti1DI!4;x%{$8FON12&uD*dm{8__aaN$k z63jm{I%D+lQ}68xXF4lQHq=srFy2V#BCQ(tGg*7wuY1VR*RpP(H~oCBw$EVQIxN8% zR^6iE;Wqg$^BqGiGA-GBE(q`5g4TzIQB*0Q(WCkHml2!c&rLj~&WFTlXT2oO91kKI zls3*H+ePdDE>6}FplfZwxAzNUmv*gP>SVmb zCs(95>&SR{MCNl{j!|OJsNT8P&?@yG8j>r-K`gYP6b}vP^>SCGU6(2EGi!}ll85T0 zF=huEz~Z45Llqt#B@E|^#jd*>4W|-2fp#SqD%WuGCf{)IyY<7~E{M5n&So&mc|nAR z6~5}ku*bmSUv{@jS@MwYBrl-W%R5NtBiace)D7y{l`}A(oja>r-&BI<^5^2xsPN4@ zT=qQ*aJhmY_lzrB0T0>Lr$xBf7IK8=+at7YT=3t4^Q`w~4n?oIWH+R-`k9=B zQ&STY6lc)-A7b=_DAKyA`{8H=`4e#`A`VQ9=Qm0~0q6hOxbnA#%>Sf`C#dII% ze60)KBpg}n`P40e)Xsb&^O;o9Kp^H(C^ybSC-8iIw0&e$KOiVua|_2org9nD(p9;7e88Hn3dJCW07-1dhN+*f4gp#Q>qKD0%pv(H+kxX{zTwgyH zq3k!R2m7r+k0G<)aZy8Z%&wyUMqE7(Y8rUz{joQRmeK^O6bkgI=Bczv#lr?dU;A>! zU!4xuSvwBy%1{oVqwzTjkU8wf5d3rZ@9rGM4WA=zaK8t4xY_Pr$!DObp zdEri-mE!djd>4gFq489g?M{~=@2{}4|-&#?S)4Mguqe~)?9&8A1<96#(W#)YRL zV3It8dx&U;7MceP_q^EtcT9O}`cK2N4F}#$bj~G7aI`a8&}`G3xDdESvMW5L@o78# zS-SKFEzt!{WdFWsz~jCIHou^P%3(!?Ly^wehs+u*S$eAXb3t4{LBb9p^67;?2_-W! z+~7u`0?RkM9Np$;v_B;EYr!{tUQ?{5r0SstQ(TE5_6Z!Xc?_8SD`<)&ly;V z6;8sO=gWK~na$w>408Q%_uN(Gi_EdVM;z75Rq^qcYb4el1ZkubzF{rgSa5_-7JE*1 zL3XNG&9T+%GO5MMuaM&u%RgR!VvMhAH(hUNj@LgQ5u;=Ks&w>F z5CV&DDSrncO=6oAPNs4gJX~x>jypN6bewoE)Z}FJ1odIZUJWh6C(bShy6i4If6dOS zAy*9G7+xNHLKb;dN;ZQn7s_#m&xcOtvsFzWSaf3cCvuQgaOW~TbAmfr<00^BAOU4;WN~u`e5zV&xRXDP2)ZY`D@fu7C z(n)-rjZJ?1j7XgvdE9{rw4HN4e=`cVlfv6|2@AM8ILEk(^Z4F#pj~swT z+G$9Z>mBShvd6}~-B9y61q#Db3JAfI!ahn>Ip-7lCxfHG)RvCK5%1o9;$OOX31x=* z&4xqac3FImvVSKYUt8ZJGnF0&PLhTb=mgN(oiTdmO5|p1_4ube;S@1f66tyBX+{bF z=1X?#Xa|)70X~D{CPR0~+FSPflir$aFU{Npo4{}vxRFF4*qBDOjHoolWrZ@L%HIdW zv&X9F!I8ikVBz;Pi=-HXzrU2eartjd`+-;Z+nwsUNE>SO3I<#DUzRwY-n*BYY!)N4 z_-HwV#KMVI{mG#{Kkw&cY&iI=m9D2E%^j-)epo{$26j2kC{PFpWCNz(o}Sb4p4E)2 z%A_wj6|&sK63_IM^fsq0Bw#i~o4IFe=*h4j2j$zu{Ht_3 zhlaYeu;74~{~uT1z#dn>?j1~=#D_g!9V!q_O4X?C28k&P49Sw; z0q>O=F)hNL2M4^q{YrTUt62H|ZqUWe4X|xt_*yMfkoyFY5e-a~X0`Rf{1HL}H0%rX zgjw13nndsG$Emwqcf{K+#F&-L|34e<~0yv?ZLh&9lit}KoZ^{hSqt@L0-p45UCzZ@B6vrae2?YP0D z_pFlF_2w63kQFP5w7I9$?i8ut1<{TRJ2T1gH8i$~BTQAbl;RmQYLhXOxYX=tNEkq9 z>I|6$2oYy8PR*jKP<;wlwZvEzdh73myPXz=X84HtZhAO@3xWlU5vP8R|l{VT2o3jnWrV?uBD|vZyW$vsnqX(EjVX z5LU~nk0?cfD3Ot>?2@Ug@cRm0>*d`PY$U$3q6hX2{|RYS5;76Yr*72pO233h!!JP{ za%4$5*!Fjt4vTF_L$M{te*HHic~ua*T6f}q2~hDAtCE9}2aBie8<*>Ve-KVhbEU2% zknp-T6`a`$^q~&@S!^>c#EO?NbX*VnCTp_s1%J~>A$t*2Y59hATrk8p;vbRpW|9ow z)1Tk*4SjB{Q-ZD~twjbctQzFt7b=9w62K4Ff2^wdgf>^JY0PKXR(N6F*ZM?`s236U zRcS>|^&Mz`o)5M_F{L<sxM z-c2)C@b>l5v+d^`q>!_=e#P7k7(%&vUO!}1TWd@Xv->*<9{MuZl7H9DUZO<-0(4?( zBSgeyQd3Z2et}AP(uLjn5J?doT3k^**vLy6(W=I9&lisf>;(sGeaE z3=(Fo6R0EJx61v&q>VnHSNir~eHTd*IVGGKB5M|2L=navhVC;D?~0jbN;|Z3Q0|5SPTYpvN*x&$alqb9$BE-0`Tl>)7mBo0jo5s$)%1FnCh>}btljz zBS1wS$c5{#s7j`YfAq)@ci=eBhQmArEdr?p--a{QpH0F0hq{Q&Z=%6+TnP;~$|N?y z={*E>ZoH@UQbht>ZyOxYBr!-IGD|Gt0`Y=+CN)(3_xe`Z4gt6ZkK|5Zbfz0e2=_Vv ztbvI&M-cv}FiiT*jfxHJh}NVJq*W8TcFBx#GC8C8(v+D!k831wGbc3rPkz@rmQdF5_VWixk-(EAKbD~-xJph7acvo1!{b$GMS>Q|1EMwr zR3}w^MIHsDCeT>JPzzDv@pCPF-bTnS8b~R;@(CKGQU|*FQGyJ8}Lv6 zO9l3N43iF$@$S&Q6xxpYuij6m-QrDIkCb#ADGPv8l^@Ft_Q)HD1+KMy=Eq0O%r1h= zYoSZUQk50uC`f$~CaR&jf(N5Qt;#|AF-1$j^ zTn<=GMK>K+TZ#Z?%3Stqkaper7O{weCAaSq`RnLW+K=qJ#g_+5PS|A7>k=t^Mc;-U zM$}s&GD~Fl=bjj349IQoHv9t!;^!XyR-RN#OxPGU^ay(kO^^$Qovf;*7wALFA`1tj zprXLS-Sq4)1U+r|<1CSwTUe0ap?X6?pu#bwA1Up+Cwad=!Ke9M^9@buhU$AE?Or+d z81K*WVR4~r)W2^lc(geVqkt#eA9|B=A(oqQo&fvw&fev=pP{&h{>UQrk-cE3r2_FMNcI>off)j zs}3dQ?HDgov)i&y@2-%dWVubYf5ksy_n~`s>}fAbe#w-o)r9Bl%OW0vABgp)fA^~+ z=Nt`KBc6|LsKXfK`66`rG>V_|$Eg+=J2#NT6AQ&3V@lELqM|o8wma#3HCLM47Q(7- z8{a6~g8Up`ACW0$j$1UJkAPJY*`jNQQ8S{p6%7>WC|@FExe@s`6l*!zbUYsyJV$}` z{TZSslrx1t+b3DYN&X#qdnFBN6#-G}r$&_o?yntvvu;KA{_syy@C8f!b+LGHC-+%N z_GO->Y}%(b7iakTjxVaIFCH^H7K)qCSgoaRO$;sn;IaS1?6}RgDmlYOP!OxHrFM33 zH3gO)9gaPkTBuZL;6n@6y1smSZ&1*G+t+1>I0K-da@mAra?+@)w<0{W;=TU5AUsU*1#;VzZecVLlq=mzgq52i&su#DEOF-Uu7r| zVrL-ifj|rY6o0WAR_qhNS&6h*rxP?^IcK_bRPX7x7lFs+OC+b!ic7f2@gS-VAoy$( z=G9^>33;)0cg_>rDall7qf(Ku z{>9`|Q~wp<-DX!(6!1Ets-6^=A7Xj^DXXb3XPJ~x{Y>Owj8za%I=jDv7mXl|pvw?1 zw5~@t{_og<*)E7%M*iGU4Yc6j05wXb(x@QW$>U9@gy|+viAU_GTJqL&Jf_u3_Sw}i zU(h>JG@C#+UKSm6UN(_JtX|eRY#dk~cV)8car!HO^lcqMW8v3SI%}R}_;{vjiM6V2 z5rV0;Ejb(0V@w|w&9~L&R2;;Y3i@=ts7sXqW=Or!wZnM|!C4}miOSjf|;)!6yFTxM1Z#Z}Sc58PUFr4#X;Fmk3R!^OWMg2OWBXb7_0 zmBq?1$1}KTL)sM0e>Ecw)$Bwx8D+MjgTa6cZt!L8V_r)4sX<*zY8c`)0fnp5g$`y? z+@|}b@^?sbj^6TxAE8dP*6U<*_pap$u5lM;Uo{Aoas;EVcf)trqRfzy2}8K$4|div z=PEQxm42^)k6Du@`Oe*gSflo+&Sn`ig42PU1^!74#y^l+uOp7tlGq(23erLW2gd;I5Qd z{5J!Fa5EVW(8e#Hd{07n}{zmzs6x?J<+|G8si{x3ddOMQC*U|ISuKN_? zr$l3n13Yu4*jB1o*L2}&@|irc@T(J(aEa7-o!G^6At%Y@GvXK964{AU z4f{0t(=DI+^&l;$?+V+^!G%v10hvy{FAVg6`DbRNpbsgN=}ra@0;uz7?H;D}NPMP2 zNS%cvx=V-`djpSsL!VV_d>-M_7;%^)<12)m$x_Ph{O)o3pPGSJIk}S8w-B!Hvlyd0 z!8YgquivRdAir|>Er@-ddAhz-S_fr3&+g7x&I`MCqp^MRdw~vxk;FHo!_HPXW7MdK z2>(Q4N-zL9Zm0rpF}j`}+wFWAPxcf&4BRfh*4@0Y7HjaS={n0q+S-tNeD67CG^&LC zT&)A~d@5zs8OS%b$k`x4gY4-_5&r2YT$-c;IY|NYmdkTD4guDT>4OA1kl>p9um&=ra1iRcRT za$7$EDFiIpv^CjZ6Coe3!l1{_CAtX-UO5rQ5^w-Mouo+ax8L)HR9qe!GN#u+Dzvnx zvBT^L)mvUx8PKrau+NRdk@`6>ja{&4#eMZanyER5##%D$Z5%vJr1Vp|^ZACncra)E zChD~$VGo}m6R{W`$6gEh!Sa{vr}>t_gv7m6J~$12ZToNxLdFUJ@4`kj8?h+ps8MFH z;**;K&wjSzw55$?*lC*h{r@tNUy24z6WL)aN1mYjQzz5cx@WdS{FE@hO$4ue8+VZ= zd#hNfY{cHyS@Pm^^)V9;q@rA~FE1l&XMW9&D)nVR}S z*_vbTzvK;Tv0VKcTXgATxLt2kKCUlsMPRFf{5F&!0$dRzhn_re6N$}Q0;!0DwMIcl zK$bA6N~innJ_a<8p=DrDwN3+A*zuj9+~KTNy<92NtB9|z$eoO!xVYFE{OSd*rv6j5 zlC6!JEGtW7V?xXHhv*FI+ZMv4O<(m}u~ozY&9u&fAPk%His?aXIgHXi1eT8#S#yYntA6m?vD4O&u;&1`;{L?4xtKJTLmzx1ofYfzSF+{B= z%9QiLjwUfH^PP)=>gz2?J%3qko|K6MV$-mQekKG-vVW%nWbnFfUj{*b>!fj-q(7?4 zwSt3D7*C}k$>gx?&r%e?f1wuYlfX9%JRKPn&7IL|jQ2D(!9=-0KuoJTyw2pbQlYT2 zZNzUUl32x->K61G7d~#`QqRAe;XYY*J4iC^=7)B^#ma9`^T<4*oo zZGH!UrU*meP=|m)(2nf^ACbPoXI@YCmYr2sXbfYuS|P6%M%la($^&S^8N0E|JtWae zS*)Wi4@#`yh;FJbn0*E>N;q!j zeFp+}WVOeq8~z94(a%po&3Xm^)4~3d&RFASIE3C>y$t6a!F5A|zf5+4-L!@TJ%N4w zFBy-P1=`0q$Zp5IBMAp8$+9MdO;P-3goYfh;ej5umN?UoVDOV&8_w0^dzrud(mpBN z`y+jq9VwdMVwOO%^ryi#d95G(id5Yo7vYonfFFMIylhfXK1@$U@OMf^{1H-rFU$U7 zy&dExu5s>Sa0~5(w9#qR=CJRB8{TNCK^U6f<3y6;^V8Y!e@;(W?T5ok{n#!*NcTL0 z69oBkN-n-!EjgI>)_`0sT-G8f$6 zQ^9NFLf{Mt*)WJ4-$i{p9`zRYn*YNzfAKo){);COjac>6!z=#eTxxc9wYyo7`D?nxc&5x%={T;0rj=Xu{;^tEE^9GQ;Is5fU;KMMm|1n0at zmxiQC+sy5kbV##_U0FaKp<#j*x@W$(E5oa`l*!9ASM!ZqsaE+{d=t5PE^gk-cgu}F z2nukZ>S4I%@#n8|_e*V$!-qDd)_02|_za>fa~_)_O9hyusK`uj6?yp@XKyD~vRNJT zl+}H<{k%>Cu}^wlYB8!3@L?+u0u9St7LAFy`eWvYvM`(T`K`Pk)#YD^cze7l`|G}$ zQRqU681;k;yhH=<4-ehRB>nTi27)t0i3KwEl~0SnrWKU4;q#m2j}4B6(&WDXKZ-l> z*#G>jypxItvis>zDGQ>lTlygP0!w8QO^=QusAn z(0uLFPmh^{!}<+%286S6o{^Ywz%$3(eH-MfbHvPTL$@brM}T-+#!0n8Mjj#|rw-ph zq82j2&3g@Sk$l;hZ`gF|(R+Qn^1e#i^a7EzChlO_9V7L=CaY_;-RHqRVxl@18fUD_ z{u#?d;!UY3e5xRYHcJ()oj~6LSHs=(+SYaPOC3_Pg7ox|;zJ(m}ld0}p~8 z=rD+6JlA3}Gbmns%&ofdo}N+ZQ{n&GdW{Z%?tgot``$jH1PfKJeb`(;6tOREpKN*T zL$3QlYCb6gIgcm@CGTjdDS-EFr3mIOEasJ3{UO1dMiBS;1yh>=0U~d1YjnouZfF-| zfJ`hRx!Ylz-QJw`W1oRKO6DU)^c) ztck;Ga)4VG$Yp{b8#zg6P9Ad6_u#!d`gQT;c&^0|)<@%);LMc5Rg|^z3T=~5O_BGT zyV2=mO1Jz<_@(as`r}PP`Nq3kBAVPc{Znv&z!PrI>+9T;eheJA?eQJIALu-j^SFrr z)Fr&B^oo+>fz6=7W}t}-Aws$bTX1823QH4M4s`&#VdmcmuK#Zk!2#i4`ip|22a#`U zkqG%cupaQm8|pEdHDdDP`Fsdg8F_SiwVf>`X73uMV2NZD$5Ac)Lh(|p>@+w>G-xdL zSb^YR8)5lCOl1>HqrEShq!Cg29j>hJ%dIFWViL-TeY)c%gK3 z$W|;v9Pv`R<|7&S_?%V^!1o^WPG*k(#X%>xfK8f8kbWNMTV-PzBvm*Q#r<@YUOv0^ zUb_Uv=Q8=!TEJ9~gJID*;~pt?YPsO!{%lcU&!>wbG_oxEWnasQSn+WU)vy0`!|(1W zGP^x_Szw_Tlp>4MX4t){EOu<6yrW2_WfwBLhn(2=UIlzN^7?mK#NKy)RAvzK|H|Ni zHCsS;W{4Ea!^8_ecCUHk@w__}Md^@=XB5c@hpAb|1l5w-Wa+oBZlKF*bsPx)diUqtW9CJMkZb!CqVXATsAQ?t*913sqy*6)ukXiT(>3~wyNW)KaXKC1rvD7v zcMiB(a)<&xfhO=!%ily%kpR|ctyWY=MZI95)z7<#x36hTdg$@SS-?30(aQFVJ&LQ# z$IX->3i2Q_;Q~5%3ZgqWC8wQ5WdU+6C#oCRa;f#^^Ejj55#T!ca^FBRpS%IEH7bMf z1Noc30lXZ%Wbj-%2~$D4IqC5q`!%>dM!)dm+2Br;5?SIwVRk2c7^Z6lLYm$$KZKAS zy5@F(HCQ%o%kD#P>_7sigEItJ6;}!dj+$$3r3D!vuFLV&bi(p^;aITN@t#aJCrNJ} z*}!jql74NtFp6mBt+Ehk{H?;(2*He&*I$ruD7gjLkx2WOHG^B0I|O+n|S%3g9|wfi*o*|~0BnNvcM0Uc}IZfPhhPM-L_lP1A` zXSTx7*T3yC`qbXt9(eN%4^I@hJXC=X#d>Q$l&usghlbsox&QLpK;x0c;dm; zeg8i-<_G%Mk^}t*05SW7gx7|EF_p`&blVB`lU`#)41_bd z#F_WiS%Ao0x@gvH*9*(kxcC%aCgtQT;?pU6<^r})vpqE+PJ(4fGvj6%5&8I0@ZlVU zZD!?LI}&2Q7-ACgV)n8ShbQ8S-@W<^V~!?aF#ekeKDpS3WQxt=;s#5nv|^tGRtLIo z+nJ7x@ckj2GOu8hkxkCKNB@d`GFK!4=e$F0S`;eGAOGrl?|OHs>C}qp$sQ-%ax}Uc zpFE*sZ16Qw8b|VR_h%F&u3zxj}jY>glcQY8`##=>sQ@Nc_tf zW%xcVq{E%@XLak?=_qMe!-nOTtug4e@wHD>;J-8{(UI^#T*N!5`ovB z2~yd^7P<|>-kd2AK^Fs-wNM({e_>Eg6$sojk8fl#})qPd}SQZuma`ugYoj~@;ryY%=7Vv=UuO@cH0w@;B*20!+Y~5d0eI8NLAAQ zgU0Q36KIvv-Vo1k;}KGNT`mYPFpKp31@vB-hqiLu&{8%QWCf(-T11d1wL${U599b| z7F%1MKC$66$d4k^L`_Qx`|`N>r-1b2t!0Rp6hckHUcd^2t(K(QOK;sKl*FZ2j>m7e zX~%m)ZmAF{Ma-u1qpRO4HuDwO(qHl}PPC|S|5T3vj5klv(c43{xxeQu#JR|!dl@-r-LDRv@{+@*$; zhYv$+Uv=bjrF5X}>}B{jVb^-jS8!M<8h}=_c&Bs8qD3@Yq8NcnGd1vWg8uXgltVpb z&>|%C74E;rNKYd4AC+W-EXBU$IjbqvG5my&Bn6CCG&gkQwr?z+!MSug)g19eYf(q7 z1IEuv=08j!j;PTNl@+mMB9aR-aE^P@wS(J|QZENjV2rlLln+g3Vl(MfGi#w)DE_qK z(YI}PyP)I3Q>1cSd0RYA=JI+P^PFsKVkIV;L>7G%t9}#61k3bq{FcD=6@2(KFs$GE zRA1~g<=3RzKI*sBU?vcsvy{O9DT|DP3R_LOWH4l6)u4{gtZDk~Bck1Xj^7M?5$jPP zak{e9<0If-GIda_Xors!=%~fId$?k~+0HVVEA)j~QLt%|Yq>-;ba{L`o*MZPbQ4fM zUjg}iU7x{eL9z0=HsqxWyU*;LaQh0JYiX!R^2VUM7QlL<#S%X`abhyDSQXho{Z-Au zvpKOu=r65U&>H+&W7^fMd#?m1G7scyT#CB%qv@4=*K`GF-LusjL4oM`C)U%G^W5Xn zbhU6AD+nM`s~6I&cp*_v)8urs=gj-O3)zvvpoQN0-;y3Ehb47rb*H9qkjEz+C?FY39Qht zK}+Lra7Mxta*lr{!sv5rU#wpO;r<$==>5-mfC**oJCTefB$~qC>b0#YB9SPCWu!h# z0;ttNB$^+}!IV&LGg9Iu#9j>teTC~H#m4mRDgH-In!{DK@QGUeS+d%ay+v-GiEb zCE9RKIZc?iaOwfV;1~ov&c*Uch^H$g88v>Yk|H#Ixmwy8*XO|1{%0_6p&SOHLtT0O zJp3vAl3$08uKLTWp7Y*_U&4eg3vqxrXCG)LR8E%-(BIJ)KgQBs$2`RQi(O zO)0{Op7nXT(^TN*?(wZ>u_SokG5#6P>jt;~Xwm4)hf(orCLKZR`F5cPM^F{D%&xYCHAIPAi%@@`We)| zim>-~aNx4>_k+=cr9>_jF%dm6R`LfSpX&ivAHd*Lq~chYkeSk< zgqNOIhy5Kh#c~?>kV`7P9ZY@Yl>D`|L&NK4HY(o0r$`0-$}8Fu61)5xUu?WL1Wr*8 zEL=992dae#Vekj3oh-I-meX@ZO3-;}|5AaR_x@Fi@CEy$`D~o;mMmISBx$9p)9Z#z zId6^Y=@G$H*W)7I7X}HB+20cJ%NYydtycXyV^5t_K0!>lEVqEjJx6UZQVpiJ2f)*PYJh z2Q58!)Bv*kKf&pRISQ48vtibr7lLqqKc#B5n-}u&=3s`v@O1Ut>;CSO*&kHvSSv zVvn^hA{``t#Is{CZUDw4@o8ifCgLFwXm&K~uuo2duwc}n1SyH8zSx35Vq#yQhUq*C zJEk3vIx-q|qy=Y7;mYECFa=s1+22w%L#{gx{YY$2Btr~?-Y`CS(}x6xLPh(tibWV6 z_()oJgLE$ag`c`_uLs=dKH5^xK61<=oF0Ytm_rW!ig$MWZzILt!SV4SRMK z89K;c$jmY|J(BCi*t^S|Dxc3AQVz}}WUe6zAb1GnZM4ybKF?kl{<+^+(K-s(vaXdt zp?)eL(V%DeZrCaG#MkKm3kApjGx3KFx8z$OVfyiAev0r+X}UER4lYr7egGH-9UUFn zx^>J=-B+Ur+qLhXsr$s^D*96KAOM%o3H9cE+|WJe`2W3HIw(}Q5Un9-6hvPN9tLhD z%!lKh>+Xlt6{`w;8eZ79&WevB@(Xb-Wzdm^P`*$Tiwq>okqt)# zl3Zypfx_~51)KgY$Yj5g*??cd5AS()Hu01VR}eTV(WC&k6g-zpm^!ZJeF@n;l!9g9 zp+OI4$TY^lO5p2XWA8H72kUlHPxM3vXvzl>yLSFpm^ZdIwm@wEf=7(MH^Ga4{XXgVDAp#&n z#7Hdm$@sG+vq8da>DW%!;tOzsOp^pb0dG%rkn*Elb^#fTi#5axL0j+Js~>B=^>e$} zs!-=NJ~m1e7pZJSK`x)kT2LYR$l?`Q>lJ%c(7r<+e;<`H2S?-@&|Z8 zo$HNuKzbuv0o#yg>zuxRyR}VmsjP_436(GbcM|%k&FmzZTU8npFbZ?nS$TPMUJ=QV zBX`s4_Uc)B7oppO^SAKs->Nz+feEYuoB@No7dL!LO zD^M)uaJ+i|IakDIn=1F*P^wb7^!}CoTj!fsgy2ih;=epW6w3k#bQoQpeuJZ$^$zz8 zzPIP;oeM!m0qa2_FOP&`YEUpxR;;=GFbmut*M}%5LsF`Al0*SP^^NuO5Uz))*?#GK ziALt=lgpsEey0xLPH{{$<~fMz zMB!Nfdr2T8x5w`d;s9Rp9h4@CA4j(>XVK`*QK{go(;Y5~!gn7L@+&N{)f3 zk4C}!NC%b(Lrld;mN3@8+m>CrJGImYc|-IawXk452V2NZuZg4q`5~oI&ihN3w9ojx z(YD=<4!2?8m6H*~#>uA==+nr8Uz@7B2RiAKE6%^qp$aqdyIq74@$CnYd^Ajof8y9?edjAv$`l0>MT{@serUi9X`}+UYtG|j6zk2<88%x!>)te>2hV#S)u`UB&i0a1hc;E zH(7a`dB+9xsUBXgUtWlSCt6j(bL=gPt-fd1a?Y(Cb$AnzqFGDPMTe<5ERj$vp>`(~ zSEEWb7<(qozG;#PQUBXC--OuZ+pXTR+?jG8Mnsz()ha1y-r#=pezJh*ztd-lwMzj{ z@P_C2ygA4Y`_ADecQ2&Bl@O^s$(sJ$2bnEi^?qGy{m#8{vWa==&qa#fI1pJ51pe=& za1xzDL(R`b2|hmD)U$b*&n}d=vGBXGMm1P6ha3``SCZ#_K?PhlHg}wqmGY-L2kMwj zH0TA$Uy)@B`iSa?vUw}L#Ra?%Z9XG+>h5hEv4RYz-heL5)S_FL3s(PF?Dcp>Rm+zh z4Py1dwa-&#^}f8NfKcv*-M5 z-}=?vdYduUNIf1Xjo$wK_}#~O7Ask#7lSSZKh?xz)lLl?^&V;8L@u(h9g5 zfhatdzUpO{tLdG&yb@EaS3DB$;G8qgFjs`?u|f%?i7CktE~;TxQb}6{KRz=;F2;DT{0$813ohp6t&LW$VTW=-(SwF~#%HxGd>z~Y_BmkGZh2x{FF3eA z_*p0nf4*~Azs>l-fH&llkBD422=19-iDm8;_^?w6L!sv-^fFjt0i^r?}6_ZAYyatZf*4GQ|@RL+zh?^?s z!S65%8E8A~e;yGeUb07;7RpE+GXu}>cWSXmf3M0a)M$v$o4hYZZ58{z?~)E%#l+o% z^3($~DrvLdGwWQ#A9T)lo&)?EMAj0MC^vVf-o=5K~+<;kw#SgV!)C*GlhkF06~ zz<`-g_y)7k^N9DTTonmjrBx^O5#s77V2QUje7LsN8^Z3i1R9|E5qCZD1GVcC29fG_*`MH6E-v-M%0FT%$Aw-c6M;_n zcSlr`jlO@OfQn9zRz4;~sy{2ylZ1I*JTf8DjP(g2VW4kxJZAT1<>lcFFvt1zKiVCC zB&T>j^veQ?2l_J_-_p&Lik&CaVBu+<9-YwO;nGxhEw^ivES4SU!XQ;gGHD}kBZo5g z5|5g11IwzRudyhu9J+a@mR#XVkzBkAUg=eRexd(LrdhA*FL;u#$9z!=8XDxZ)~&NQ zzTL}23Bod-F|ZgHXi)j->qVx?KcpxF2gj_vLp|NjK=fOEYo|;gj5b3Y9wB-OE?PeJ zG;oOgn>jz2g;PD)s=7R%!uU>}mFBQ-<0*fg}% zh;n7WhzslnZ2K;fvb zJhV$}ZCVG&8h-@1c!|pRLi`vQv_=k{gO4TdR65xE$a#^Gf)^q&NtflR!%k6b9j!9Q zh4m$mK{E8ZCnQnwR1R*uMtQ!Lf4R_0(=AYod*WJo9r3sOgHZ+oRvdrsNd|q9Uk>zt z@2K;ZKvGm&Yl{H1+sQhE+p#gQ?KIZE>DHcXp zrI9_?iUTR>{TnH@M7YAiua733eA@^pL<3W&I`5s^%@oa$NUfIxV-NQtSs>O@p7)i{ z4CLIrq@v)ZvSKnAAF1c%&1w@ae@OaOE|=<{ARu-fWTyiW2yuT_x#u%!z z+OYR|->AH~O{Xfk$;L{^qP<9W-x`)ura_35UVFHb5k2rSkkgINxXv}!)jl62R?IZ$ zy2}^rmi-v%4KS6o{!fK<)Lv$D(4+I$!+C4bddV;jX4NiPKFko1zP5vV+Gqj0`zSg3`{ z@L`U>5UC;7C#dapigfbme)mT?=CriX^2OnU@>W}O(*E?V-RLfhyNHwgh2HM3@z?Dg zKDvyBsNcTkOh*HE*|&uk-QVkzNk7Bo^2kPjSgUll;ZltkaLb>iH-1+5l@IAHB){s> zS2tyuYgV$y-%2%*>TmWIN;z5WzD987Z~}3E>0SI{6wVIv>-etzM}r{sWW$k3yQ#Tp zgKLrdGI#(Nhd!4jUns&F5wF2~tj~gMllQ`;8K>+a`kNw;`ZQ=*@M_8%_Hu3dx{ zL~sk+pZd4oIubt{d@qyQC)&H;NyyyYlV-D#y>e0BdKA-r6kAj0gB8>GvRqn_q=^;7 zlvv8^=9&u%%M)HyzYv3bmE$LkvtxhMDrV}0xzp3!*dV&98DH&4XleB5R*Xi9$_^6N z+dtqX<9w{vc`n!vf3td>bL@tO$hU22H6PF5Q$@1XlRQ7YD)FfL4{ZjlIShoTL)jUn zqvYv*>xkc~DV#ESNt=*K=HpZ%5e_W)<;3)wBn(zS)$VX(3Fd>c*8Q1kda`7NZ$zV) zNFfv19o+u7XA*&+3m<9Ww{SdjadbEDDmCwY?80@T#TusjC=!WlTPj9HUyT?X0Ox zE?8H18kXm|xFe0$8>EI!%I68+Z{(F`c7?=YJ{qt7;z7Zs>FxX51@jpvA1G6mR2 zjVAYFdApu=`u-UAhbWLh8VyIr5p8umPkR5b7Eo1XIG7=-858BO;h76=s*E zAZ8@&WZHIDq82ch9>#6vR1OQ3q#($8BSKuYqp?tjN2MU6pzIN;#&WR?5zS@H*$lW# zU!wPYn=#F4uLPOWj-FB?!KXy|7<=CR-c;&|#?(P9DgHsaIp`>8TeLPJN_|3q<@4lK zOv(#HuZ4)P%37au(@&++_zitp(Hmv(_RId14)|fX_`dyRzzjL<_Wl%0HZrDUhrE-q zUO6fBe6`U?O*aZ$c*{Qz%ntyiibq&4U`K};IVy2|ZrMRasK)9alOiAf4U=znF^*bU zF&gY&7xzU&14~^lAfhD#*_`xn?m3Ff8AwdC#k1V&JoDsrraI)eSoO!a+VYQ{;pvX& zB10xZvamr=a9E7XS*xQh@QFj5-wa_~1p3M1bA+B)h2|mgpP=_n2+<@15jw04_iGb} zRKmkRQe*i*Q&0LCchSUy%_$?|z}H1M{hJnl1#@y>)*B8C)cgCFmjFiguNMDoAR&BY z1>2jq1}wOs$K%inuH$+qZ1p**E75?#D5K_DTDq8`-}gmr4{tU|=$W614gD$wgb5yD z4SjF@px7xWN$iKmwS#x4N3R@pVAup8-sdO}$HHzac4GRqj983SRtn*x5vfO_hJ%|{ zpY>gKMlN!#S4#-Q-eJp175h7gBHgc@CM6z1D{oa=HM}TGAe!17C`j8L_?|ClejLs1 zvJWl&3FTw_OcCw3@p?-m_~@x#VnLG$m$Ad0HpLwjFUyHb#>K(>;d8@Iri~o}ZYw<(km_>mniJGZ2K96Wu1DUHmyl^jq2U6 zW(Cv>@pj4C=*!-<%C!5+1VX;nDysKh_Pz6UKoeIVYZoQ^e9*qj>dW|{7M6gUeyp7Q z5aBPXoH^)PVrZ<`J8O3uqwFA@Eik=92^pOvM2^G)T(Nwqz7#*sDU%rtacMWYz`<}= zDts+H&;Fd*IP8q&>*DwHY00J7sb5d%ZyjXWIg9%2JE8 zs?rD?g6}tycIu7cP7oMJu*YQ`b=3wiqnI;}wxHX90T#I%ZPw=je*u8$^DI$QvLz2E zJ52LsDhveovkOw{eRbo)P7naU%x_(y-MuFc2M4R>m*KtqX)t6JqgHQPKF`kD@~x%A zPb&h(8J3uAGJh1yt3yqr$zeym=B>5Qn1Qe1AjHQ=nSZ+balzx6%{o)=a%?PA-X1tb5*+aUr$38hd?T z&RgDX3}3N#?nUSNrM8R&=Qo2`|KdNr8QJVwULe@(qu%T>Mm7MF#J*r# zq8=7%84oLQx`A}ax`l3jdxd@Z?jYuB=`Bl`IN9i-^@oE_rZQoH^9NE+dkXo#wmN@$IA0ELKF|At6^5+@`}7GVPBaq{+eW;WR~+DAKh>Wh z*2zH=-1zpmQcHI>GRKRD`zEz^6dCehU-dK`f8Uy4NZfb2=FA zZdWG&K7-svl-%7vY%ls6Leu)*YY995(}*KKPvq20aKi^82xE?jHBY%jK*B>b1gyfG#(jH}wZK^fF=+DB<0q8ClBNI1)bp0PU`w5GICTWC-hKYk1<{wwRd zFAhny9^wRHN`I1a`8A>K8GT^J-32^Xr4~vPBhElN7XOFqpqu;X+5GVZ_AMbGtX%WX za@V(9JIHu71P4_ESS@Qd{TnP~y;wr?mFYPLm{5?(g2H<5jf}cT9|6aJGZdRSH}M8K zj3Din*gWhgG}$k*Hf$kc;V?@^*VgZ%NXxAB7Fs~&EK{b*uPxZ*Oem0C$FNpu!aGpR zw;s}Uj!X*xBaqY@AS7^gqJAX&3>DW9IvD~QSg4BMABXC$#RMG;>!7+bZXiE|0MQY) z8zJ{t^G{O&Z{9+Q)qa`VEwx(soaG8zLgNgY4OITxO<0aSHyE~BBN4bhZU-xmL3f%+ zmc=%4N!F@89BJdZHfw}#)topOE}MHq$!H3$ir;>Yl>R@W&Vf7AXxY|b2OZnCZFFqg zw*AFM$F^?noXD--M+Yu?CoNa%GWqLcy)Lo zJ`3#J1yh@^<`PY3@_~>Ct6Qnj_AALXvQ#7Mer<+gHp3&aw|Cu`qd<9DEiTk+BOiXSsBZWkg zdhuH@AjwvgmQZL5r!3o-7{*~TL^y*Ej_CHFM0@>Wtj+$hYOdKMXFiY>kg%k7M^$Dr z2^6LO&Xd5CX)K+qz15zlqb(*;TemRQ0*8ML2c#m0r$+c3njA^)iel@G!$4C{- zj&T0OQ)j6jwqv@HI&b)o^?btv?gWMaNF2xwu&ugxgOFGy9~|n)hYZ=4#YHpQsDs6g zyJ1rIxL@q@;&^E2)!;?>tBY^moB@0T*Q;9=hdrJVbe<^Dr;i>6YuYn&<#_@AXMK$x z&+EkjXVn+s2Y@25;F^U%WJ57S*th72MF>>Jx|4&@YX$O9Yr`kRkHZgr$|QZLG3?)6 z6M1kyG=i2D0C%-9>|90IT44>|zA#dkjR2j5EMKNc+xb0gbp#XJ`>y;Qv+Wzjsz;aa z>Vf$S9(&9TaRx$y!>i$8NNJQ%pnr%swASlgmFCNfOw-k4JX46I*B%KNb2k7$b1^+# zG8jYrZhkd`0a-M@EoCa7A&%_PQpap+4i-INf}Zp9ze>B?k<1qs`1#p9dtchLbIFGg z`P^kvMAc{PJ3JjwdNq9`dof-cHJ+~|Y1(TdS#L!akjwq7W@Xvm?D)`p8FHn!Sl9u* ze<6GRR3OI=49*=5%i)Fm_urt9!vC^aE^k-v_Tf2(D;43{ts;axpAF|OEC8+UV(HQ& zyEj*t!;xLW!ReyvyG3a&jAh5GlA5;QqN*Fgh4-Pz)9ixQZacYZb+)(C57>-oL)Ub2 zf$`?;6)?TE4hwN?HdH)Yjc}HWwgJCWUA~q?QNetTu6eE?q_`m z0Vvc?@FT&<636`{B4xCXRSJBF9}|l2qq{;cyT`DN`KeKMs`SHT#4^rBC{+HZ=`=^FZ z2opUYC^a!z!5YY7`>!SVeFa^=^v}#DZp9NIZYGND6arNFh4k>lTFATvxfb$u7BpL1 zWQhxl3E~d!DCqn#PP^LypT`Os1ORJ;Qu(T1RH`*m?+>y!b(Lh6~KL z{a-9^VXjj4?S_giBzyn^N_GeFwy zNncTly-*Nh=j%s#j2{qMZUqYd){IpddTq3hVUD$v@sNgUdYQ((P_dWUjNJ$Yy zM5Ui9KtUS$Z#!h~Y5ynGfc)8#J&yR647e@ZZCsVu*Mhgl*k9}rq-HL`bYXd-F5yo% zpG@I|YR$xF_6#m`52{a-avAh!QcLbbt=E#mjqDDu+Z9S;g*@zB%1pl3P`NsT9ai(_ z9cVZct{sxQJyQsvOodMANEdlU4r{PbWYw!sC53DY-Ck}+;7Re53^02y`Ec6T5e;;? z@^o3c-AZ{?<-(sM=4FZ<{#E*DdV0S`U-yeX1jZe>h%)G8$&;ac+2&8|c|+rSf$27R zno`Li{L_-Qc>tP^%;qEa-?Dn6r4k=={FRvQ}bIDLj@VIHgI?-I&tNVPl zvcAq1Z55tXGYZQ^@38H*TEG=cBDGo^8UngSwhn9rMxo6}v|en_%O;Q3JjrYO{Iz4c+@0hL%pvroW?U^gClWJh0cB6uhjzT4@ zLU1VXLK5LZ6bVG&BE(ZT2}EgmU|>?QNbT#ZZ=U0;J&dn3ik@w`TW`AzOpY4@M}R}}utH!Sx%wBqZ^kkg*7)dI#ZI@UU`{`=OVLbGuL+zQQ-sD;ln()2$#`Yq2NpR2Vb z16y`NE1EJ7@2Se}v_GGw%ZDjm_cE4i9aKvnIOuzi|BpW{&mw{@mD`D^JMUS7a-IP{ z32~e0;y`TAbmMp17_k}*uaYZaxS(+;Uf}N0dFY}~rckvWWfjWO-PS>!w3HV*GyjS- zDDrVqu2&m0%7~iY)rgy(uK>dYb|c%W!%44d5xrnlG3}{^kx+0sYpu(>=6&bYddvIV zZHN2rP251Kg3e6g0K&aJfrFjl3rq|SKQiatVPDgZ<4Thc^7>I)s-W<$U=f~`9x$q6 zco&-&4wKn**o8Z^eW$5{mfd^R^(h3BcRwjR|s(LK@QF8JcM7HSLqj-ggJS zfZwK-Eie=gZt&G_u|b{+CB1#uMm6lR9vhyjIi<{Xj{9qK*d2#S);G&Vs>e zz{T_ip?{FueKOy{U#?;`xNeN%JW67_LI0?0fb%i-)Rd1qQ^jN5dAgfRBnMH|S5E8$hx} zS%yYnM4*)S)@R;G>a`BJXt;R2M`Ju(pDvC8--g@o-azQ?cm(OAI) zS930F6V=DZM_mei*N-T8XRJL(dGJ{ZgR?K2zqOxp2_6&@vbX3q64yha zG@1??0Q=*=XIRpcvkQo-+eX^a#bf~a39A@c>DyE&vQzaDs7KOPd2pv4w;QpIv%Nf>%L5@42pYTtF~>%}BWkKEqFLH^=9~%*l!` z0_`iD|0E?2by368P(nCk`Jhfdn@S{66+U~5Kfy@+;q69!8DMj zcM*${E9|4jxq5#Y<7_P)RDhXm&S2Y41Ax#9F4F`<>e#huuKOP7U^;1{vEV%)606Lx zz`pFh`)p3i2(r!P{PwmdcHQe(c$J-fu zUHl!o3-Rv;OfMm`&dnrcLB8UTp1>@s;+x^LE6~@><4@WJ5Utj2fMQyR;;$3bN+Z4q zM5lTe>T0Kz@3eOa(N^w7hj_{bNwSbr+6z@T9#8$Ni-L>a#w${;ES|tdjKyZtH*?A_ z!~;gp$4!}<7ak}$8m0Bnjp5HuCO2~P#rur02sE zDEpvDkXcfu=TyKM#~zynjqFb{?xfXI^e2f(?#?d`3NR9dz5I>RC2h16;|mK;!Om4V z(IR-Yzc-Z83b@46bF*iBfujT89;wQBc6gTMXgXJb{2kTT)q!|q=Uu!!rS&{@K0M_q z-Q}2)amCsoFVg2507CE;^6dFpq>Fyc<~&>_=ShHE^~IXrBr-KzRkvG!x$-#&Vy(*r z&zjySxVeNI*GCItwq+Aa{JUL|p=ef`Wo9tELklMQYTKU=H-qu30_BWx__W9rHSL|_ zSAwoDc-8uH;cXzDsj)s{zTpV+Whbzdz^F5tF&qbz~%p}!vEGh%sZoB!0ukMghM#{i!Pgp1%iwxdh!(tuxX`oI@=2Hfg?|ht8|U%h_YwDg_@9 zZ(>D2bijr-NmU_8hvP&h0iSJR)s1q!8l%mG7CO7E34vmyj(#lg#5zoNqqbfgSC->5-@Me)Y1~ zN}SbH`I@bKl*#Rjcl?^p`H3sG0-OXzHkI>hln7h^sratb>o8p5B#A;Hz<_8@PNrrA z(%kz-TgeZ=?np5=+&_}2`A6fs$p))0mAlj-hjER^GUX-7&_=owcAIOpJ!RHPNw zr-rL6D?a!QUolgf&cLl{i1fFc(3mBwe7Pj<#oGh%h59RE`9HhA^DgJPih=FwJ;sEp z^u`PwNTtjlvR@+YUGxZkfVas<%jU!2H}YRS##W(=ELMrg6TxkFtkIDS z<_va$Y8)QQyzrOKzosU(KNdhKmIZ7A72PU1TPj6ZoH6Bl=(~2#w?Xk~eL`U=5ZWCZ zs8Oz5Os?xzJ0ORItk#(=K;NMi0XdhD1HHn(2349MQ4D$-Gpc9~9(Yi)fWh)+@- zQ?X}e#j~*^lTw#-=2`j!^AH=O*T-7eYxMjqWw@PuR?V_##m}i&^@N3;G2m>sCQqYe zoxdpg6p#Cy{Br1rf6^P=t~Lf*hwFcSA5ceV1B&WH8*2yedx4+su4RjaW$32n6Y%4Z8f9dHuaLr2M0ZRR;tO#Vth~Ue zX6);aMtn~JRV+cGV}ij6Hx1Iq7L;GRFK*^qJuJgrY+yQXFo%laOyRXRVe*T|JQrJS zz^C=beXVg_yE0ghhT)Tk_;kXb&~0+A( zzu$BMKve0qfZkht!XMJ=hXWP-ff`>`vP{*&GWldhF-}4d^<_4$a^(B(hA0hVu$8}GK8WkuhRM0Mu zg}~u*q}V%7LvLa7qBF2|#xrr~LSe6rX8qWuO5H$bsxrN_Aj#G}#3UmUQIny+{|X7QWIbW&?l8r04sFw%_E1M!7?t z;l5?z(zl;sJK1hyELSU^romb3alRt0<75+XX`82RbC|GA9gM_59)T5Ex>#jQ1pJ0N zeQY#ps`l-s+^Gi~kF7A+!gyJ?$rk~|!rjiG)4C!fk5FmT;V}6zc<75F89eqVJk(ZD zXd7&Gx}PjnWvl{a=KKbTTt}Uw)&Q5R#c{dq3&ed<$jF#%Y(3RR z1=-2w@I~p;LUq?$qSqVWm&nVgiGivQgl3qGZM4)mY&wGEUkqRic{(OU4HZ&Koy@y{ z@UF4-1~hrb@>-!eLH^w}J;5>Scg^&T*nT+QfZ_Fk6T};)YLl3ot%uvfV8va&-s<EVPevXBvPJn0n_=`TP0eFFVL zSgqF<=9d}FXn6ti;|78{_T>w-Kn~fT9IJ^V^LBNkkfDLoK=Wupi{C^P^{WSr_F|qh7Rh~zVZ{PX8*w65 z;P0$OQI94vax(*sD!yezR0R3nGG<{rcfsAE6h->!E7lC%0=(_63Sti%^V5f4S_B%* zxcBmrpq&X)NEL^nP)jN*`IH*fYh$#z@6-Jt9%T|37FQT*F=?ppF(MaQ}19M;F$ zOBxnOCVxqt*_#WL$+#6)pT_}%&@(*>z=5f;-@)b#Qds>eBiLoNCaUIxKC)Ia@-gnL z)DpQm|8*=Nn3{%uUso`5#tY6nCmFDsaHMAx&mPhMcl=So)^z=`@!Aqr_2THBMlqFt z)#Lrnrju(&;QjVs|9sB~Qg@^k4$e-+t{fA77B0tmPdI`sUmQ^W;kE%Dq8`B(9F>E!;g1bn%QekkO(^QBg>JK8v&=E{fI=$l&ofQBI zj2B`I^Mz6)F4KJXcIa8Vr{1}ojJYW|)!F#yAySfg@$t52;qd6VADv1BEPHgFnB@i~ zv0Ux|{*6}mQ2n5ZmF{{jdy3l;If47W%lBWxN|GQ=MaM&djqwC@gj;D(Ge2ga)CWeE zV`e}GA@}Y2bI}epkO*(eG;5(dqrS&Q%b%yr$1*rIDv|2BE?(Nri?Z{9)0!Cl*ZN>_ zQ9Hjcp^ElH;@Y_$;*^r=UCs^x+iykaQb;hyIwb5NsGVV@ zR%?Rji&c^3TIh||QH%ki$q<^UiuoFj{rb`7Z1p1F=t}V_ISU4tJ z0b0ed(fWT+vu`hGaT4^ITm7$BKR+O0iV;@$HoT4VLrrWUtNKph$lQr@5_JgxI%H1& zEeZ65lC;R<3Z`i84G`{uOUz5PVQWEYDO*3}YbYEyl>$nvwX>R<1N8hPg!z|`d1Gwv zpNV!jjVtSQf`bMb_wm=FhhR5oey3WtB^_O2pBkj;8|Ef*0v`8T%B_{8fNVb?73Cbs z$jj5=5nxA}3-(}8_nxwxa*5BF#D4!@5R~GXA|N9PCjy2UUw@xH$sYy%^nk!AqXV5C zlag}G2-`yM!;B6nEU~TFDXtJ*E@gSlagjunUhQ== zAe>7r-`gKz_I&tDeSDT*q@58yvRK0|{>QAEc@miD(ESS9+;y7h5B)bX@nAmAGi)Hl zWAwdjk3#9-9cOc%XbV#F>^_Jq^&Ktv7UM1?>G$RoMPh3#X`Fuxp?gwd%Ut3jp@E0W zE3(8x2+i?=P7j1CJXW%>Pv$d!k!1hdOYx9N&m-NuIlrHDy~{8fRV$^4e|5ZU(5po9 z84Ht^T9tY{%5L)nLbm(g?mKE+F4eJM?Eb(`@fz^lkbE20D?EEqmc* zEAR!#qc}1^kP3)Ti&6<{fpUogbCKTDnj?LgE_iV)VHa+|etveA+586b$^V=#ebEHN z>f=_7fp$}h)&ge#o&dl{=zX<65QmD|& zvSytEl%bE4k9L_zoq|Lhsg>&$B9mlUjOJkvFZbC!Gref|GV}Ske0~6ok$gtYM zTO$0B!1c!!_yy@lt}5` zfCfNAFp5(f0}Xh`^^umY$6!CA(tg)j&RI_aoH&kp?$H$VwF;zW44iYI13OCS*N{(L zKsLM6n@>V2zksbXxC1@G$fmS~QRdrH*=#wsvY4Q!*1Lt3R|ugp00(xWh>rIM6QWZb zsOSoc9FqHpDV2cn&qQ0ro zJBWO=VMn-~YMlIY<9>q5a>8+xx@IBiK|SJlD@?(@r(DyRa~HG;Lx1fFq5nD5L+wOU zI#U=AZgf`i1t;=fEaqcc~5~QEuV2 zDb1DAj4AqMIcd&tAeNJuI3)fYhl;)uz(Z77aR+PE7)wCjGzW$wh6bFrumNC~`*N2@ z6ju*N7Q>MW3+fCP5J5DGi;(`F$BQvl$#4gAsWr=N|EkWS2x`EEr(|R?VbLzT)~t&A zkacGKG?wJVFD_1Ir-17FR*sMTs*WQm<<7}#U7XJUF?-Er>@3)bo&0?TO(H9UO|2)9 zySJ|OiDLYE;q~IJbDR)h#&O3NpChGix^*?^>7+aoL!OnxWG2ZyucSx_cgr~U7 z4R83g-_rn$IBwSVtU=%)q@Y~2wHLIdPBBkbs)LZKVOc{p@pPs?nzn@I+b%4XN?~zi zTVUR<;N`#;Fz8?F6rvc|ylI^gfij4JLMaqR|qhAWZy-|>w7Jl+U92)VpIA~8oTRfqRKSvfHW;#_N;s!M?=??PF zgrdjFeuOk0wWb*m@pY9ZeZ;^mmw)7l07IC)nLWOyJuR94Bdv8(qEIPcG;)ckTWNFm zxG|VF#TP-R0VU~=V$6hL50|EjgdyYNiG+Z)mG=@+vMF~A>zl#=YgTF!=yCV!BYhzp%YS-J!+G$}~hUyESjVS{P^ zM-7f@S>4Uzp~RF&1HCyeVt@=7BU#FxCu+YxEFT!!pCZ4Aer)+qpZ@_*Nl;A)90B~q z^AaIMp}WziWPHgMz*{qSyvMYMjd!3Us$LLVvOOo6MeX1ZqUg+_lSTTW+>{8V9r@M!=Uby;z=}Owh`aaXGEI<+jmL;5$=y49{G~Qta0}I6(a{i z3vN3n{P6eC4jUENQtNS;0aX)b0pkphoHuBnBu4mg%>QQQD?X?n34y2$aft(O=yctp z>)){{ojCl07&HnZj#?pNB!KSjfK}NPV>j7_45!9365>!YG-(TM-;4)XTI3^-uUvRG z{Gu@U%V++B`aLc@8VRccOsmb_>cffAYdkyGlNROg6haYMeWHzZ3p<|^7ZvR|a4O z#lm~0Rw#X8E#=BV93?*OXcDf7FrI7%?M`hC?2-4*hi=-08H zh!y|t%O;>ok-kFM$$FYO2ZcDDyhfZuHWt?FrW?}~Bxjw^W1 zJi77MVX9TcQN#4>0*6b~S$NUBpixW`Q6%a)&6&E@!y==R>jmjq=-C2?FvL`ndC{1P zuaDfzv2|)wfAXuB`RAPnm5VUveKvniF-9=rd&yJhiXP=3l|}YPF{`;?&X&!|*0z`% z%{kd~d0n)tjqQy#e)FqF(@4c=D}h~ftcc&J>58hBkqRF)q88k3*BC{=1-Ovs&n@0; zb>2Ue{3_nJbsASCp$K+Y+HQwS!Wy>>gtw37Hj;*NI^yp&o#^q68S^OkYF%ylKuRO> z410y(TMCzjB@;2gb4+YfBu?6wDuu)fC6ds{d-$v|MEch^Q4xmoo0|kqUJkA@V5T(P z3}L*7#G>fzb)mQCDdDGn0XDLGrw=ex(h^= zu-Q}wJaPu;D)*eKfyal({#x^g62MKj91^CqaTz9vX=d}fU zRm#ac26}ww*I5(=1N}$r9vy#2kPM=PG9!W%V0e1DBkAmtrK7B^jk}BgeaiQl^j1KD zAeDI>UQ7-&6U$_M6Gh0+Cm!28yTO1a4)>eS4JSE~5I@rAjZc5KtR z1o--g^0G_~v{&-=&I3}B25rQ@A%q};B^q6_=crGMZ> zS_nxboc&|gk=Uw46VxOxYLgkSXtvtiGs*;UD{bD?)!XfpC`3t9!#Ovu1KMLG0X4b? z)f<%3tAM`_BG0vEBV-$`j^F|&<4R4Zv#qvUozT?D(*rU5S%rV5WTK=+wt#*@ZTgPi z-4G@Zv6d>;&-B-vn<5Uq1zlCv3Vx!5;naLN#b9YRVfNvK6uDYwk@M~U8m@GmGjDV` zMA>>99C^+S;2rCt^~^X9Q7hGS zq~BeTLsJ+yHS7e(8#X4J*NsE+UlGwChEO&a4*vec^zvF$zy9y1pHU)6R@F!T9vAAM zDKeH<1`)>8&Unu=kkhFP!h+hXx1{EK?NKm3M77J}GvN_fyW+7{6wF~{nsw3gc1J+6 zo~OY+=O3Zov5>-jI2)adm30#=!eOy9VjPt%_I0txxF*eZLu?V<*cx%rq~zMb#1 z#=jbiwTAM0okabQuc3U#p%gEAbPX{e;JFMl_S6XfWk?0yPRpNq2ll4W; zYJU~?ngk%*cs}|2Ci57N!u<{a)?>^io+rOY z5J;h>1TJT{{%hC$^((3ZV)rcR-dSod?=Lh6s$Ba|O1BQGJ2bk`aEf~}uCC}!la{%50Y|ZHmgL&llnmPMHfd6d2NA2eZg$C}nx9#KN3LxV$jNpE zs}uJ&xp)+Q2rPEQeyD4%MAf`H&n2xXFaY(7(-D)Mh7upi>Uv1E3&H1}DqWd6Jk2gf zYPR*UPYue-Ac{SGOGV6bG0ZQQ|6~EYyAafK-uEON`h0I1MB=T+lpe_8Ut>u; z@01Ih^ULYdE5Cm`JNQA)PyU(MAHkm-c|2c^a@n?Mb2Hj#)Sg1s0c{qaJXKwX-8qcpAK!ntGL#P898++`M6$hvFkT2W>A`QKkG4QN}g!m>wLD>4o%@^ z8KCxFC(fk!x>NkPnwVj<9Q@+}Bu^-Sb%$_Y8Tu{#6JKk5LCp)RDo8WqZiPNAnhayH zBXz^2^!59ku@3n318}-WuiljzQn0Pz`*-u(?OXS>DtHLN>y#)OkEfTh-SE9xt}co` znC$0m*LyGQ@B10PM0PX@MquOFZ)gm#?R0lS2Y0L)`BAinUcHGOELJT;K!Xh5L!#`b zVnMQ5hwU4}{PoVHM^or?%0#z754fNzybi7#%N7iF?{Hf^pR334Vxv#Br44k3yQ29& zyb=sY(2plaM2}~#6$>Q;MXZ|B6WJwAN)y?!BHnUUU9LUx?H9uJC~`xU5;V%SQE3cx zS3IAu5dHc8*{R*!kPvs{D>Za78Z6o6oM-ilLSE&^Q`;Fx=X7jzs%fuf*&E;@0H;1E zX&Zdx3#EpZzz&Sai10(dOU@K9dU!A;M?(MYz57?^HNog4ub|i2iP2(#@q463o$HC* z$Fp2ZPl~aCqLnB3xBlKc{)pYY$Nx!R!qB6hGU3K}%|kIm88(q|tmeDWP{ccFDA#vO zN^31e4cmQ{q*k|c?+y0m%d&}7I+(~}uzf)mzaeucZdmhIcpnCtDXzHgyZ(tNuIbaenQB7JUd;6a*sS@$uIwW$!yw&$XPG<5zbN)UuS{tNcQMZ?lJZ?c05+HPZcq13j`}0>wh9f8|{2qfz;+4J> zK0L2ljSQcRu}P~>kaU%pY6(-XCe?u*82!#iP1mTNgM^cHft`mI6=Mx&FpEz-pMN)g3u8S`vhQsHOof zuU8CGC}1}lWH-Vv>*&Lf2ZPg08-hx490Ni89^GOvnTT_QD~ID$p)@xzyWcRT=-K~- z@&hOVP&m2fuCa@^3*bsV|@L!;B#h+iB%r ztjG0U`oFbI8#}|ZidDFeYTgedUjzH+G2X|TNRinVq2BZ9$TGO+aTrK2akFlcoKv}S zx-}SXz`9IcArO-<=NVFQ+am@V4pV6kcU-K zFf^u{ju)0f=bZ5|?WZy6`yASUE+-nz4q++=C(J32sdgkvb+z4k)Z2gTdizKJ^p~)r zTy@@lfZ%J8qj4$fP~b9JOYjjOGoau&a+miE@%)^>3d*9LG$QcfZoXAgLd73VJgWoT z5};~TFrc)G6zs=%f%s5#rIgF=um6 zzc*|PmoY$94|{}C?Tx-?Ba{txJm2Ba5axW{(i}mC(t5cW*8E>LGq@16?gx9L8+oTV ze7DEpz2Q{+DoQRzCNvh003smOv18lQ9%A6l0Vl9S>BM1ZX(oApXqYuPHI0 zFsQI}JcJQ8iA z1%>zVu!Vm1CgjIH-I7_2Jl(P+`ti7nbuJSuL4s$G+p1XZloyMShBj3x;eDex<1d~= z>o*SNmicxEsf$00${OI9Z=1B&>h{h=9n%}FlQCOttFcIR6mxZXwpYTu9S0YWQ!rO( z%UG$^41{~0G!UU8sXsG)N#>*|=z;JF#LZU4@?fpn0>W0~JbMqeZmm*7;`6oZSwO?p zZinsRV*ck)2%|W@*uV`>|HRJ~aG&(0y-znBk!SNx*E2;BiY25CPVDRyDRZ9KpAXJF zSFVcaY%34N-R$!*`lj`;rOZ;L2*%CsD`~JC-6dVIQ7)?zO^fZ(R2GvX`#soB`Jxog zcYCN1i7_8+*0NzPPm9oE_ch*56ld?9p$>R5V&DiU#uPR}f2tf_ z+%kNxTH2SQN+7_{jLdI|HJ~>6ezsXcg{52vC$!m?bUG9tzXJoty$BiWAM{>B5`INW z=LF{=vc(Y{WCc2{aK@U+kBv+KXRQM?LG)Q*D&C#p-@0zEq{@QMdi#M@r*N;Q6 zwpZe3%gpKXhp!qm{GLMfI+LD(!}zL`p4RV|&vhGqw+hYrCzJ7#9p4n4MhK zAg)z<5$wgC5kDs(3V-ZjenOSb?C1yj*S%Ovv|cV1!%45b&r9CT69(nPH;nGdH;jj|na9;uJ(|&OMsQ1zbfvK}&9zde4%%od zGaQ%O)$sL$v$BVfE|Xj6oUiM5LP@bmQUH{I$2p5lcyGRv!_5tywD&zLi_PXgf?6kp z7!(sG3?>hxW;>0*IlE~=M#H1ge7>J0xl}$Yy7;17F*9hFB+JDj_T9~q6BDO9 z4_|fKV*9+)4}lK$;mRSU93aBm7@FFN@FK79Ww{0M8Qu--V6gduE}V+@_lr{Yi7YZ3 z&NLAp%6zuLRuMR~gx$@c;Yb?vs3s{pJ2KfdOJ7eW;o4vbUPBd z{l9J{0$;_B?`=0rsjCNBoWQ}e_}Qv%PE`26I^W+-=O3AHU*aib6_|k#O~rGPQph!f zHG0>qx{s?+ttZMLqr?I^BRzb&tV>$|-y5Nh0+^<}nSdu}@cq)hgMtP{3I;&Z58F3= zyx#8@z#m~0)uDinKkEeaTNfl}DSQsOzFcJprSiLwgriqP0_$KCtK2nW+#Pj{#&cqa zz+OaObwLzJUKT5pP*iXQ_j90I#3_}55tkV=47GAj1ZQNADGRPpxVL#Q!LuvDT&>q- zB_C0EH5;b2Ey@a9MG%KlL@pLL@uTrl>K{y|qiU=<4{W40-2BS}rO+vZhDN3RNtKM* z58a1wAV1&(4jc=_%-)&)IJ&~qebBwx#S8#yb}qtaH3e}*f$2Yt_nbpi}Sm!x`y0cY;mtbly~OxRPG~q&H=*NR3~) zK!1vwgo@B59frgEEb-Q7w#n60)+2pyPx8PggeQ~RC4T9OGn3rIZ!qJ!Upbklo)7Rv zrP+>w#bOiV0jssMUK3+*w0H{%Qy%88lg?bAXt`Lr2^MFtd$RG2`oi$9Hl+sp-EyG& z6CzTiU3b43Cx<+pp~R~NEs8^o@L^PXnDrz)Zl8>Zz?TuF)d!S&xh6L_#P;&`#Nhs6 zU`q!ZmRGG>cgT5ex6zdQM5EhO=mCcXW;^EtD+^mqC~LS1GhcD8Qs5t9*;WMS7Vn1l z%|IG`9Fq`QycQv*wiii;u|Y6Osd%m`K)A<8=r4Q{IxUmQNPpVG&Csq8B$eJ!Wsm>B z_MZ^+yR@6Y0dCh@x)3TB9|h#FkSVQvsR@r(Cu*GSoRyf94*1!+*#OjVfg%K6-)JDOa@Cax7RD?p;H;S7eh!N&DJF?Z_T>BYD3i{|Pv7z*)Q`TM&b*&FW<}_?=hL@>T z$kB}7?6$uQ7Jeq@QlUU)ztQN!Yh=CrYvgc7vesLo1g4YDqhC=NoflDzCy@NK=}`t= z^U-I!mFz@`S_xd%SX!rJ*S$ks2@@q#9tW9c+ZKcI%EihsO0_H6PXjV#V4}fe8Yvfw z2PpYMe+0@K9tDEvb6z>2Hz%Xlf&h+Z)}#BvXfOGM1=wSuaf(d#h#qNR>>MML}7;+kT|7Ddm5+V zj`?y4xa+Wnd;8{`UTfKwr!YG>uCgvFVQRg>S_Bg_=D4HBWo7<0G?+dL72;sWKrT&sXh6vE};z1^OVV7Dd! zpHwcC48uHyCDY-%mF)3tt4UN`8tsdPgp6RVY}zneeun?1E(q0{KTvFI<_~iuGdZ|M z#1Zuqxjv@)llpU_w=x>=dZdyUL-B9%_#oK!L|T6b`dQuRvIr!*$eOs4Z&H$?!B;^> zc=sw#!cV5!(0xd=O3s>OJlAY{SbLjIB|(h9S%=23qe`HB8!aX;VZRrv`wl%(%Wff_ z)4$!oOmfB%{dvKDqrJwVWYb<9-qh-A%zn-DiV7h+R~GSTJs8i3IZp~&)QI<z~xZO=2wxhcG zC6c$R<<1jzC0hKP%A|%zzDQD~)g4e^+0=e>y!J1%^p|@|>ciGW|D_gt>~U}_8xE}o zKP~jfKIP7e%-8L}%ROjV4*1RwHt(;halC)nt`oD>)+Y#$*#$hZQE{gJvG@)wr$&<++^FfZQE~q@Atd+?@zdod#z(#I6vq4 z|1To`8wVSr-cI>R9iB`juko-;g$gjPeEQhfdyiDT-zDKpG6) z8Y(sXmL{S+3;^wxui@SexrZ$C}dZK48IO zbXn9yx3m`QrNVAThneclw*)|ejcEwM`Ue%6cBxX; zZ)cE6M4i3$bl~lr9YlEs!S62jOvOHkgEGZ z$zcxb@9f#|W9Xf6;f4@@!o4k=L&ZW(Lmg|Mc#5*7{QrN;JB`gQWuP@lA-dw?^X0MQ-Xa zQj1?PI|~Qi3F(gT`1K4Dp-wZ9I}8A`xuz$(Eh?#Fir_(XW*eoY3Si5umOYr^q(Vig zcy1}9(FTdMy5K?>qrEYNFwV0A%9g>xZM~kEXWc>4SjhY_m&%;iD~1sCNtDW)1KYI0 zn8vah7~fFuf!7bDt{8*_e_>F;pZ0`ImpUogo@J6##JK{!h6Q#bf|F}rI$e(Nei-;u z^)=1Li7K@-2_hfPB#b8q`t-SsPXra;^a9zqHshMI@uD<*>-4Cr0*g9TCp zo~0V(0*_vuY&Nlg@vc|=2}`xUR6~XWjhv+@5T!hMxSk;Zr~Skfja9OgIR_*us> z4N`;I31I;QBUOIL1g%Ftc)Klg{`|#?)i{PJdM9pTe=_X`E#bPn`^=5XNf zVQl*4VCTHfcT$TuQVAjm*r0Im-aZ59Xz-2149+5cF4_zK?d^nEnhhaEmGJ+T83smb!|{V`vikJNi;<*oWqHI=7{Id?|+D zPqKHjlh0MEQiY;tr3m$nlZqXlr+wcsEv%EWZuc@v0R*DyD3H{m*g!*o^kZQpjE$-j zo5dz5xSmZ&CxKR;RZ%&h&iuoaNYz#J_fvDaTSr#%d*vqr0S+I*l>%-Qw;Ft|;lS>4 zmnp|d&x1mf*F+ooozT;e!-s@9h9isJpQqdsx+StC?phr@xLTA?;ViV3o0mnzYlWPs zDa;)EP0I4-Sy~OTk2vTM>7P>VMdQ8avo3W8Yat70VZm@F?VB&~rm_dMuL?)wOMbZ=aZ!`LGo>Cy=lB zzU)i&N9=U9(R!yFOv-ky>z7&U`&pCnWSEacg8o@0N#H{z7Z^{l^S!*709yDiP4 zqyh2XJoqUPhd&BE&knFhV73*?RPdOUo1kBjE5}Ha5U!VcgBF$i!)WimHzVE*gRNARK^w>giXum+KcrlB15s^^Qg>y=Y%X~Jrgjc6%B^nOTrgVA@)k~}hQonl zC2(^}jTVX~l;q~uOQPw27EdI7I2H(!Q_lw3Y&ncL?<^Cpw@fgC{;~=a5X_^>q+ccB zuwlVdl%7jgYQFw_zK{243Z(dmZkF4Lq`%{La#CGw=5g}U;5IVhj;(1AEqk7&R0x0q zz?dv7^1_bon1}!DMr$_)Rge1yVm)OTHNv|1MTZ=Z6#4{IVPfx-tpDIz;W1lVCr4W;E-5by158?W2%p z-RGL)==Fx?7UGS#K4|we5$2UZxU~#rJoLX|9PT*1rC@b`ygj8c`Srl+@sAtX6N$Jt z^jV^BiIuaSC^aflAmDuwN~@I`Gs4nfOa>0nHWAYWnQ<7wJg+tv!)le)fSF>4XY+I{ zEnBN%imi#9+}LFp#N3B(b2bw4$vuN&=;}0)KzPe$rQb~*iHd!AIC-`8M&NR6JP~K= zRiVxEz05v%1~(uXD|LAs@p~TAb%Q`eCynC$yU3&+!7TPUFPR{pCy7m9Y^sJP!x73i z+0c--$m&a~n{@@fURlJaydmcg9-ey0y~4o)wnH|k^R0h`mY{}ZJY6Zz?8%_?VT+>3 zkcBa@K-f*tc!s!Kw;VajiTP(+?vWev{~0%z{b|p?>~nN?KKSr7(X?f7u=^5x7$7d+ z-M*3#n|(La;HJGu)Ff29c~oT92{pd%3#@PBXApTE+gq+TMW#_JzfU=HTg2deRKv)c(he&=M9DQ<9?ehyM@x)EwffY9Ye(Z8&XCCsDUR9T^0sayu##YX9(LrR<7 z>`3OAQz4no;T1fqWIX`r2U2IsnZltLcb-zKRBU+xB!g%ff~?`Y5l5`9x40R{5=i@= z*k3t$+C&SvVN_j7Wl;mk);>(v$>cVp=Rf{!tH?t>E*uVGI*+Sl|@IJv`)U69Oyci0Sg7@{X3{ z0{7J_w+uxy`NHmVEYbduXA53;z@%?ZK&7t3I%jvT3b+B+Q`nr;FDq(5y52go8S zA3Ku3zg#mO)OneIQ_s}GULu7#lR&gg(-j)?INub5F&b=tr7UalDh&DAow?a|&wKoB zMRcwtd(=<+cOL=|ip4r<_7^dGKpCY*38<(UARl`g2aLw=nC3lY`8e?G%sO(w;%^f! zw~OXrr@=S%;T(y?qgE_*MXeIcRc+CtQp_cGi3!|ePSO(i3HJ{CZXl^YYd5~m2vV-E z?m_I_A^WS<{I6T0Hn!0(A{rW)6K&VW8N(2XCRn89s8!BTD=Ff6R$n2n_I5+8?YRb# zi`vEy{`JbyUJ9aiO+H^WauM)fbMe0$U`~48(fw&a9ZqHgf!DC^>yHz${~V_t*J@23 z*V0bTy7Vsyb@G6LPxU`yRLS}IvaS1m{Q*lBSv-aBJ5bRyRQ*}|G>_<*u+Z>^&B5BD zz5?`W9&sf5LD$e@^Jay?*4H%Cu8YhJg`~LZ3bqHK-w{4n(q+V*sK7{K4P`8urOy0} z9s&Ba_W_qO4WpxD4m!j0?~LZcGIKyoRy*8}ika)+VWAjb<~NB*FlTTp>V)MV{9U=< z2x$GfeE7MF^v3wci0g&anRo8gR>pM9>lETzdW4aj;x|~(c-v2{0ZX40!}T`IxCEa@ zshczRDoZu!m#VR$>{?`p?s^uf<*PN}|IzlmpHZO{a2npGsA52}>}T|uc&)bhB9K3^rZ)^*LxmJItQ*__8c zOYXxb$6;PS6zF-qd*(Q(7p+LuL6gjDc?-(kohja~qUn>fd7`u$cDSYtUD3VB-+3_5 zzcw~C|Na6zPbqKfSA(EH`Lg3-7=nn-THtqy+K1f2KZxRxevKyCY?YhLKZ0R|8lCP6 z?ZhCsvGtf3QL$puXa}W%T#^`X9X&@McfH(V&dOtUwGM5bb-HZf2Eegd8r?=BQ=1Ka zi*l0Mr@$E=2m|S(Xbp!3|CFjciMoiBIg|r&D;ZQA(1^E9HLMm3Is}}k7c2HdM zGBY-wlnS9Aj)ksVX+#l(`xDB%^0jhGXYBP`8DycIzC|@x3OK3Ll0+4X0h{}1X2Q0G zpA9+dE<;e>U?*sum(X(EkEg;UKM1hzC@}R^`%lley(IzqtCT#pXfi&_Gpy=O;rEk* z95Jl_t*_&tScK_m#~kft8Lj6a2euW|twaSc9^5df8evEkb8AiDT#@d!3-@W^L~PI@ zOt#5x;HOXPb@ff!vbUSTX{KpAH^JT__Y#+U*H?y^M88?EIMtXhH7RdI<0K+ZCD9ZP zBwEU5c0DL1zWn=75NKpV*=IJotNHGs0%cCfE@6{VqbbuIqqXvd<>qrB;Ah`7=;5Q7 zXsWSvf8gdo)>#UXJ*7wGZZonszhm-n%TZdzKkC}B_MMb*XvDQnR{);7R39D)w2*NiIO&V4ikmohMYlP zoUutENnewA^?q}IEe3X9%;s{rEi}f1=r2z9c3*NLiND~7X4))O=BX0U3C=VIX8L%{ zt)U-n)= zbwdkjHNLV5@NVj3W=eF?Ri2iY+|xVZXI>V(v!-($lp3lvkiG+-m}JGlzLF|Z7}JUQ z8et;mYs96-)7aB{`P0zDF!4PJ$;2Nd<}Adfo85Cq*zm{3k^di5hZ3?KfGb|jmlw{W zu+Bp1|1$>dSr$e&lhHVk?AFNZv5Wrnn|3u2IQVOj)Flqe;g)zkUY38YOeFnP%UajW z$W}yKi=Y~LJA}<+c5df0&ctIcXxRYd7J$@3_fjm9n3NCDh_29-*imK|MScKAkvgZlO}ZW)DBRg z8Sc-BA`Yqx4O)~Iwp}EiFl^0Ji-r;l`90h3X*T4m`E!B0-r|waG^}?~qt#@#l|X+? zkImJ99F4yb)cFxy>%edbHR(4WnU~I32+fYt@p##>CaWg;TL{Lmw$?lHfkPcy zVrsv&+Ou(RH*OfDXhyHe5D^nivPi4rcWS*c`YD@b^x8QC5QVsBJ>s|(-PF_H-%pJ3 zw<4BKhy9Fi-FmY1wchiK0M!gFBVW zkh2$t&^VN9d>jm|ZC_ zIF;4^s|UtW@x`_c-lCSB2wP`R?2<9{?(N_qQSF5vjuM8{?KlTiodYrptRtH!k!K#} zG4b?hy(_-EB8f?C;La5`ZyLlC<+*oY`<|1q0k$uM0qlA3*Qi|16@gd2lCS!J=3s$L zO&l?ap~S@iwgNl#B7rF+=q0SJM7Lj)2qELgG8a;8dwQ}#ov!2K^os~EGH-_Dyazn< zMGDx_=W$$A>@9;5gO>tT{ZB1$v>H68w)NKA?H{$XuGljVSVsa@R#`y!rIFZ|`*xdcfP>q29(9_*q0 zo$>1^w{9xwtlV9hw+s_tDSFi*8M~-vPqX3QyhPM5RusOZ3jXwG>0Y{6aNi0#|2uh4 zs%R0jdy5#6eT79skV{Ali8gd|Od(#fAQ}pMhA`8`&%*~=Mvqg?^VQd~UkO?+(frDP z1{`NT+L{O&euLW}aG|IxM`lU?{j!T=9vc{RBj+;_nX~1`pjcPwLQnp>zq>>e$po(g zx@Ew<5r^kh(@4veUE}@F#4-0{PhWQ&s$Whrqml4+i`Jph!FPA$BYZ915Me#E3?tEB z(8e7sdQRrJU&)x&=R57tFq8KK{26+`uYn^Z_g6sq^Kr+?J`)lJMgJy!N660bw~zCB zC3v0j#DK1{>=d}Ig6`;>gVM8C*5ZT1w~spohdlu|{^f^5UQAw)e&m2S#h$UGbk-g( zfXZ6|sJPY9(Xlg?*$O6cOLiUC<)dyq5CGfOdvE~yV~&ugYIvCAJHe;@<;5^ic7KF3di;3 zInTI^d3XZ5uLk;QoU>o_4DCm;@yhM-tQT>6NBs5~S(_vlL9e8bw| zFsnK9SS(Kp=e3!Zu2CGHE#bWN`aHf)Hlx!S?SCde&&bLKcg2mz8=a`)_ckHZ&`nVb z_m;(bcr0~9Ivt+WKb3UQd`=m$ zwK*T8OBpT|%M(LAp8Br}wOrpoUn%((8Ho0On31-8yq@9QU(RA9Rsj0(s+|Nsq#+fX zg!KYLHYGUgxz#3fU@^k?MT`7#l#-sN(wO3;zeDDe6eHLMa&=i}d>#J;+lEvfDoUiCd4-`yKEA@DJUYUb-U*;&KC|Bje zQ1m+mX;i6VA=M&G#0UI8HHBjap2cpjl{sGAnzgaXKKCIQ#Gs}u0P}pji6VNv^}R3HmlA~5C5AmgM`Yhvj&f|0 zztBTls|PMHdXkA7zGc`T_d(F4kKt&_;9}GSAO0vuI*Q8ZhhKN^Iph+Q5HTOjq9nOL z^py%s{%JCx>cI%YjlRkZ*@(Ip5)=>KXV^_ITmc-Echr*9-;`N*ELE879L|eS$0hLr z=V^)sK}0ABQ_7>kd%#48OS#Wt zBfnd}pu0;Cl(?eV5NaI-92}geptuvAOk>6a_9+~7)}sXyXD7#pHc`+=f|)MN9&1)= z4;fG-b2F6%-A5tYx0b!0T`--lY7SaVl_1gDVy%FfMGFOlKj| z%V9*Pb@mK<+;9huys2EzmD$Sq6pb_5Kea35y5k1u-K512=B6k^Nl_E;{E8G}xNC`h z+uJ;AN z$;WQ5B}{yI^m##a;6IaAtvPf)ADBD2+p(aLtRyBqU*dkiBI7yo9ts#Lkzj;C^1-5-JgzW&dgAoT|f>JAe&^EEke<-=+T*7JSE z+e*MS9OjmYaeycZd-v?T_f2NeU}`C)X75`l!fyZ*WUi&PlJkqmYjBDlxH7siZWjy4 zTAd$glu3d8J#6f~@3Xt|1EmAnjUqSpLadUgK+rIU?ca(F`*y&Chh2>DSN_u$GyOVJ zx9;M{&F^z=dq|JY7TsD9Ay#qn}j zHI!ONk*qr4T|rBo$pw}+pi@yAXYwz3CX68oEiY|x#x@r7rn7sgbn zbTBuF;(RAM5rmjkvM>BQRoe;QY3xPt|AnO`FeoF;DKbj+qY*3#sV)tVY^*i4xF$gFC<;kBIU)HY*Q&5n?F4}qg~DofqFvEnhyOOa?HyK?S!Tar_cy3VSy z$+)bJHJ6i_Jk{@7V%6zn+GE(vcr<=wx-Z~E*-J~Hch+T>ovZpw|Lc>7|LV&!UGqX4 z@JtJ^J5Tp13if&K_$_jHSUz#^bq5k_nHF9ZRtzQx4c?K$EVwly((MWr>o!(r6MN;> zk!rmwCg{F8ZG9~rk1x0OB$j?pZU4SjVBBwfIByUkg{#3wAaC3lO3P%EXS^zVmB7k| z`qoCG2Icb`hSO${B&dHBV~lZcgTwwdWG^@`6$Ru`=_RtS@7Q9<9vWJo1rAZ|igR8>Mm74gs=l*Nvk8NGy$@p@$9_Lt}GHco+ z!DGlvQktG5SQ`(d2lUBE>hQB_iU=_lIMjEnz0vILNxgoRPQHtfo}*$MnFOoty?nZV z2*f1a&~9(0>`8n{F?=q;U%k`lJlpo5xV^*ehuS%%5<~4~*EUj_Dlk`{M_kW_Ll8Jj z+7O&QeJr>bdj*8yEWG-|zy0xaIR&m^q~n9vxcPxE2LHPydCpPno@C_3DyF=<&wq0= zrV9G%JYKJ7;5(?>o3QV@CcY;WM|6cn5AOWQgt)fkCG45fYo^YDlA%Fo52NGcr^o2X zjJt#&+NjJ`YrSS_S90)j!2!kR>|+$*bo(B1*=xMC*#KiYnTqjpi#4bq;5p<7`jQi9 zuBBc722Ct6se|y*CX&>cW$68elmA4Q-gxB)=%g+?au(|p9#AZGrT$rBNF2Ok-N|1E zjpf5B!oL``X+I7*Mdn}9MD#6fpvWmX(562Ic+0_nNzgsH|N09oLO9|Q3E_8fUp5(i z1q+VOfZ~|~8%voWp&Pa}PfOlw>UK%O)04V2%3sG>m)uDhMc=5df&1Rg#L^K{+63`4 zw(R_&M~O+kwgzeeS57dRvTKGfGAW_WC0zeTVe^~Z++=2mUw8sp8>N`A6e=})mhybU_`JpRp?X|S+wu+=2UxgxG%3i8&V zLAu;T60dMCvOjyZjuwD|cKyoD{<{(l5>YVi@AYAKsoGGgmAV;F5rx&Q4#wD2sScPp zQ|(P&Aj(h#p;kh}oUk_&W&P$30vctoa_Q_tan%@tKHAvR9*fMd`E%jZQA|s}>7n0~ z2OZQ0Vt1_vHM@OJGwt3eOLnOE>n)&Hk+^~BMGn&{g^&dbQcnsiolS#<23}-e9jm3K> z_`l_wUu~~G-~nt#_St=cEtjhDMQ@mmf3-%OyoXZP*v#m_ZJAPGC%BbWt0L^vY62u4 zt;B~vv^DE*MFI$jt?Mgqr7aWbZ1plfFY#KB=Y$o0Gpxek=wpK`#{=kbL#LXmB^Yt6 zL?PbHkg$-Jc=tvn4nM9rsu{$lg1|kTfnPn=y!XpD3r+gpQY#j~ay=23xYLG|+@dgRI zP`Q(NT*6CHM@Paeo$4l(&2pD53y}GWOeGy*_(qtJu-Vg1vJgJ!|E6MTih>?(SvHq- zw=};uU?SG%OkSLfJ$9V&6++E7|M7_5d!BqPx50swjb3^DcK#i4X@g>Zaybc^C~vM5 zi+Pf)%!ooQ1&M)z@&iJs6%`c&<3zLdpNr||k!Rm=9o3nF;>*~ZQ|e0EQ)ly4$JJuX z6R!84+mxI*ZlHT&<*$%t8=lurZvVkc2yAA1T&T!&!2oL*Js)dqaryKJsW~(J97c$| z^*IIzefH9}rLF9Ug^cK2-Z&s!(HWmR-22Bnlhdv&0yfLabxT*>@SVn#5gYAWr6Im^ z#9~%6h1=hYNtyfc-kxU|QM!TVY!69#wP`Rjj?^^G_ z;4F4Q^ba?wBhV=ou#48j)B32Y-sSFo01J1CfNc z#$C=qHfMk9pvGpB1a=xlg4&-Hy(pXII|=uJVccxbQQB=!FQvY3qJ6hM2-Q)?Q-MPy zgKxHrJnIGru+Q!)B3}%iV(rC^1sMm)(_w<<1KkSyvx&8r7o?Ox)lmv!A%! z_Lvltn!Y1@;Yy008RTv$QWySJp)Bl$QRN{%KyB6HzO8cro zO2qE%6~ob*d`Qxp6^bffE)YA{1tN}FQfZK7DflUVZYr8xS5N4X_le91NOutD`Od(9 z6%)v)PWcVBfWlD?pM=>chb}aLUM|;ylglJ`rVtv7y5Uas^jvlJT>R}r5rk-h$XvgZ)$q`M60xXJ4Dp%G>EQUE|Jbb zy5PPS7Z=8bbWMQmX0+g8_=6h)8a?D(-0v>JG0S3hInAo9Tk%dS~V)A9UuwhEl!ADZ8;&U(k25o#b( z+A*TQ*MFb?>z&jk@5gcbpa#S@6qvi?gNIII;-{2s|?zX5R07HMWE;czg9%Ao$Tn zrMyN8FK|Dgj4XrmU{r5pbak)jM;E9Em@56Vus$_n%^X|qN!i{}de^oZ6Wf%C+Q1$t zSjmZi@_9KdI00Oz=XQjGuj%T^=Ya%8BnrPGtV|>he28+4@Z@Jv=gAbfv!a4Cp~gw3 z|HO$QW+AIiS|JY}Z5KFzz zXO?|vntOADA{QEP`4LR2y=Wzw(n;`pX0Izl+9$2fWW4Ki zcD}=1YCFk(XmyQ=$X2sZWf{!Tr@VzG3Itp5QdXW!^vV5L%6{_kHC{x)ge1g)yj)l$ z{MGd3!#(@^iVbXdjG(FI*zb{?RbG+W!|x#QkZACUhhp~)Ifghs{0K^TG}AnRL`g0w z5W9Z^>sSCYGHUv_JV`kjUP2xXZ0BxSIhChj7>Al1YuEo)B zF@}F|Dy_$&GZEUIUGCi*Mc}aTM`cmS#KA>i+71rz9HA0m2Hl@9U%fyJaYWL&qc z+@+*lIYqm+G0&ql`5KK=*BJkSTyOP8lu|BA!8UkZ5Tfx&rLuQG$lwi#gEmqb^&VRm z>V*TsnB0>%4yTncQYh$~VdtZv2cfc4LSa;Cvi`1!+5jY!?)wJ>D+q6alHq(OVd*`y zipOcVWuTeR8XO#j*u{}Qqp^t3#=x2ZpuZEcp;>L7dC8HW)vYn(Y>N^!kR!BAVFo zB~n2k6k4jyea+@~c3EN3!nVPTFNTEA95!TuV8(|CX|V6HAcKwW zt?VD#U;iuE)GrYXXHCN<+su4B)y?jI3Z!O9OTEc0e&0M$zys-+TVKMEs9I-hveoN7 z3lv7qd1n8w`5d`r6YyE)!v1-T^T$^TUol82Kt9$NL@f!sDT!X`{Zy0}-iQZ4&14%iP|7H^#>ibHRL~eOHezzQ3!4WpR7DA8l zmc|Iip#;`bqQH!Et-|^&vHiZ103#V2=$S=}N@UWd`-VvBe@QBSf8}5PCjdb~P1%Si z>W(}jMS`9bA?u#TQE-&`x0cUyOxA61B;sbVWd@ZJDT~I$(!}#0p*d?Ooxr)dsyeID zVS1P@G?4PN=7+X371#XN=@z)5c851yolbex>V?>T`vUGb2(FybAYC5zxnUx+L?42R zPrz&GVaKL&Fac|6Gu4sQJsNwq>V6{`9Toftwu$L&zvWVBZy|ND#lh;Jt75%{uJK6P z7LYNX5wk+76Rrd(34A4&l#UD17}EjD$K3M_UdK%S%_y*LLrSzxy-t(6i#yMMG9zU0 zq!eR`o@!B2-wk3Ki3nP5mUH2O( zOoTNlwE)jpRCZm1Zw#`#TlmVOUF;eimVFUx!|vW2oWN8Zb^%1t&KLgvnF0y>k3|z^ z7-j~C7SR#qJiBaD6#2tK2Z6f%w>Tk~@Tc5Eg+Xd;)ltCDMu`J8;b0;T3(7nn!-iKG z6lE?#j{2=tS#}+F*kQ(dur!6%LUYu(#AI`39U^xOou3kg@l3`MXe`YUDkKzlsu3i2 zN|D49aPKRiU4UPl0?ExJqI$_bOc+Uq_AvfZg#pn@TIrI`c{kV(zEqQaLVJM;VK4g^ zUFgn`h~)qyY%s$RV`u(&L8Hd9z{dkR&BVP|JOw5X>5`{LG+aX6cB2dm$^UaWjgOeA*^9}+n9ZBp(}&yNrFyM z3;C(biz9m~v6~LbvBt7!{mTN6CXR12j{lh82VukO zY3xEge*{!lDkH_88Sz z+IAzm{$J>i%Q`a>U_8PwBhZj)d49 z;~gl$Y7;oajITT!p4fMG1LoisL+S@qHjOIGx2tXMf~7{<&Id?&V)eLN_)^@{oVHD( z&#gu>AtUc3k1cgu57y+)M;S2ohZrua%}h|RkNUt!Dh}R~PqZ*OElF_A>xPGO++{mq zu!)Cpkr~C!f9G#_H4^SYJN3QEQXG?Ju8Rk)$-f9CML9tR?#6=d3r&b`zFlPhMSva; z-_Yhz>T$_8$n(!Wn?mmhjxZYq$0%PgFcVV1Uwt6YrdA7^OgV7+2l)24rdImrNf*up zs(JgVZMINLX%ixj{X;)49|H$Z0KZ3LvcRyQ7_e~OzBr?!LN1HVg7St9rs*s1he0&O zA$4WUi?Z8yV#ho*%~cE%-gEC#Ov>a)7kVY5PUac#R49=h`rA9uNQ`Eh1VsvbPHx`y zUs>FjC{NP$T^JsP4K)#!L5&pSlDiZpWJsqkhP(gh-?M%$}LQoBb{;x&_q* zp7GXvz9;y2QYL?_mA2zly6YqOZf(B4oJylK;7YI^zJJnXMza$AOPf@u#DJ!{9rdij z5kq(7yPB)~pXBliAzD`w(OKC_2;Nn*Bm_$S1N{JMcq;_Dapg{O9W&kp#MDKLh5Utg zRt})zk$|$~!hMGnk_aYoGr<_{9X4SF_y~YEqvL5K)96*bvW=Ovo|||nFO>B=|9h^) zkZL}3p};&)NF3MDf5RS$-u(#DP^Ap}ui6pM3E!_~2L}H28Y~(9tte!TtCpjrr?mJ) zA>+i{?!jlDD=k(Hi<9iy;bw>%4fK3p{0Xx||98ul-*SLM1nb1C6jsXt?8fn5^>~na zcO2wCuIV96j@j=D4Y%LlcX|NW>s;#^RF*A>RwH^n|J4zaedsZ(EUWK`nw6B$4W!!9 zm!39b`_C@T^#?$az$qy>Vn@E1(Hds#X@V+PER7*WrwE zo+vMnTG-Y6dSPxjdnM)aFaHqD6UsnJ~h{5efxc2c5+hs$_gD5)QVi38Yq&*^IsXE`L#nVis37~hmjCRrXBorVn zXJ%~b$L*sp>kg#gd+ccc3NZQ7yPWmU zvwB^Oy1Y2clis;^E%TCV{)KD189#**OGT3K^|GTjn3colgDdotb~(`mMg=u)rjRRP zKi(%~E>yuVh&SmxjknfxE3X*`Er>%ic=-qQ?=1qY1>q#p6QwMv*VjMpkNo~+S)GqhOOb}ik&cX!A zygCy1CK=h_oH+TUVXU4v3$V{-pKqo5Bph0hNj*goDX}C#ZUkHw)GK-1klb)F#p>I+ z<=QjHVA2Fg-m9eEhy$1AZ_eEHv23j@J3yv$BZ>IJG&w{qPH0| zbl5A>%)~NpBQ(=UjTX0 ze1U_?=Ci;0zsNrq@meU-!(yY(3rs^Bbl*;dXUT{rvpJ)ehVFsFgGSDbljb&FH!Z1B3RPE6rBPaf4JTdrwtIuLnI%4iQA(nE@m24JZP$6q^2 zvge!K;~P$9A9rm46x}~wi0J4y-X$j-Y#koeeOLI8C7rj?M;AkDPdVHx+{6EQ+&Cs!&FPW-9bFYe!K4f22E*Ge*ws!<5x@xnow`XZ zLr+&2G|xYd4CpSf3%6c+(hvG^YD=`XQAyzE z&)y%1lc`K(OOhh&h>u!r=a2KSJG82KErf9J2A`zvnG5Zns@EO`R$CW3U3FMG1?$N_ z42_3G0)s^Yb$ne&9ZmfOU_}HS+6fu+2;n3zhOph;8*=tTn~4O5u7dWIfUgiw>1R z)Q`fHD5vIqpMak3x0B~)_XnDImL)&!a1MRupMfDEO0bl;@p?YCD$Su$;h$L3x?gLy zUI#u~IDumM`1Lt7^x*dOM18kpN__PDs!0R*bwBCTk?^&grv1-Ks7N}Auubh`W$BaC zVP7)10`V*7h{NmEX}La`329C+eKj~+x5N@v1#@@VNfVseQ$H&Pik|*xbYg5 zlL+D*yE@VA=OE^7s#DpYG=It?=j%q!%!y;;OKWO>u);`k0lMN@x~cxXvxW5lM zJ>GIN=qJuCq&Oxpkqll~=B{z`tcx+!Bzlt)_LIpa5z@q`ha8gK8}#nOqQw5p+p#Y< zD&WUZqB7A$i@1G%hFlH{92>oBW~b+l_gqfV?N_`hIhF4RaeP*!Zd${(kQ`9kE5#{+ zrbA{I-e5BwSgu&X-lPOdNvpTT&5o^@bMLoil3@UUU$Rk2T;WHO$`z?e!JBt(=bfu8 zLbH>p!CGTgu-U9)LL>V`y$8|Ot=lS3hHTuWmzGDPppUlfC##QRiuC)%Vp}NRHhNEt z^sGycl%~o^x!8B=?fFKlLYCEf^Mx+mKl+GwBBa6;985d6D=52V?vv4DE1rOv-c`BOlV^VY3Nt zhd3w|z=AbfJY^Qk@%~b49B)VWzUt;z${e0o*01_%MeH zwLd05&}Y5R7icGt%w*b9S-ytBeLdVs_nWu>`A~6Y`hP{iEftFVal>5qXj!hZt&@<4kDg>US%rHa=+FjW zktg%bNt8)mZmdW6YXzWxBsbBP&O^JEHcT;sqd8O7BS;q*ddSW3H1;$$%UoCaAwnmDve2Ca|WjoY*76Fr{g_xK`Np!Z!CgHelV>)E+=fEx*$&A^Cq z@?G3=M??!_1}1dM2TR@>>|B2}VM#j?zghsxMEnbMAQ8)(jWRhUs z_lGFS8{qWA;M%^oBun=0HqvKRJm05M1sgiFo6$V9JLw2Sk<2&qF+Twup3#^P3R(-%yJwtTIx*%1pUFXLZPN`8o3|ELXvyM=22hw&%4Ok(KmlH`v0D|~ zX9b1Qp_}`7?+tR4drcI#kv%CdjIVdtSY$pQi><)0p2G~aYdVHZp z@3Nyp_q9w6NYt!#M4Ax*?T@JE8Z8jx9n=q*N6)vOlZnpIL6q@O2v|wR7$Yb{%V$Y` z!cyp#92U{sQQFrW^hwa-js*O|^w%zADL1PT!OCAj!md^3meFI3h;wJQcVA5cd^S^W z-{qjCX9O6s$bTO(HN7H9_dYNq^!b56+Rg^iiudf%TTbJ@B|+*;PlRLcoWRo-uCez~ zIkrJDsHJ?A6yXS)9O)^+84f=nA&DqT?v5y` zQbh-*#T@1yDJ9Sx!?IS?EaS*u4bxxk9QRzld18uIrjI%mCYU<9s*K1!F;H<#b0);T zVcuZhwz{cmmFdKJ1jikFoYa^sS&<=Ry|RkKZR*g2BK6KW!da2d!s+-ucMBx8QJaC6ACq}A1^`aYAt6cT^H zZ4|`I91NXM5{h`!RP#J}s&(8HHSzg-_EE*|?;%n0we069-yhijnfZH`YeXbcT^_O5 zoKKe8o${{s%lg6)e+wMh<)y3_spIrq9g`?krvL(jFVR6T8YZ zlZq5Jv}dW(wfS&p5Xh^ewlq7(A=SI}?2<`=+>tJ1sTe1hM6y>cA*m7V>~I)g?`qwE zulw7U@Krb%{MS zckmQ;4&p{;ybSr1>+56Spc&!eYZ`Nki<;;EN7y^ISJq~2+p%riHY&EU;#5+xZQHhO zRaimAww+YPHdgFB>3;j_zQ4VHVQzDs=bB?2$G$6sGk=_AvR%=?7rkbh5pF~s{z>UO z-?C9GWcJIYzd{a=(a9mWqW|FyUbTISkPtS*p&5GCMn88lULrR?(%P>afSK z1YKKW1m?hdzpl%rnCKMEbJ->#*P+$62i>1alZ`oXi&-o)v?wQR(!XRO&Pk{e;9fDR zZzf;oY&<389R>f~)XxkrL{P^_!=o_cZTEEs#QkXe5oEbK7um2V!+tgo*!#3&28J{x~e# zr4m;J1_GLJ=p$pegm9TS{2S9&b3cb>&=l1^G+IJvYS$dOK<3)||CIsY_J39#Se@PyCdA$3W1L&1IYIC<(EQFYnVE@A4?j8W1iWl6vll z513a&B1J0u zEybfnN}2;hG5*R1H-=Iine4##6Hz_@oJ+7 z|IKikoq>^^ZV!R{4By!{6vdH-7}X@h8;6jC7-=+_>M!;M#vkB0M4=FN(!*8?hQ}|l zXX`%aWonZG&Y$r95kz`FA;U|!!xCiKWcdWX@_pw+5^3VU=2Y}rbtOvVQcsv;zEG@a zGBDe5_dhdSD!!pn83`D}#%VPEul~un=4p(g)agkriaXs_-yH z7nL*)SpP_TTiVN~sLquAm^$NjxQAlzFdywT@eFZjlyU#y6wEOX2?^W&Qb9?la}lCZ zE83)xpT36lFBCAf&=xmOCqgHv+o%ah-X^FVi)~^nTnW_xB@0zP-ENSLGmdfwaUna> zfn+LCpfd{-F?Ghz+Q8KtHR}z*kmj==xO>ICumd{Jzkkm)1-h5Tu;dMyXSawAPyYFE zz1$b`l%R}J%6o# zFRa*0k?C3%)ujTiExDGI$IX-GY?+K{Kj}b&`v}#Y%~r;N&UhiJ9H^^>3VZj??)#6h zFm-Fe!61n%yucwHH)ZNP0e3uVf1a31^zfa#NaGLzfz3_-Dc-O`xMC@U-UGQK&sgHm zXRGP|yfD4~UwVtQE(M|$xKQ>Yo4}^SE`{Qor=4w3x{<_+1R+K`fn>zgC-3~)Dd0rI z0MSAIkv{(`dwUDK=s?zt!7Mx@px6bJ!OuS{&|V4^Qg{|5Na-ygk1)FcRIV%bd;!vR z98-LX?HP3n@04qJKAkoJDm8yBA}Um+*eH=9^kZIq}ZWv_ghbfFuYW{oYyZ=O-tb~(MA0K*W$#th{rWXH|uZe6r7HnqXpDA6? zPd8P9j_=o@(N9kUp`Q;fM9)ubEHcw_`COb|6vIgJj&6>de2inoDf|M@V5j51W#97b z0q83;d7k@wLZ?VV`i%t4EtT=4%)iAfMmdWMh~C|}C6T=Ugsk$Pd!#e#_0D%Z_HF1! zA+H@6yMFk-qCbLNKyR)Dxl;jodt##?+sr#T`+7ex+4^yaIT-SZ&HX_MoUGH4KZLcA5jN@5+fOksP-u1En?D62EQ9gRw~PvGj!!v zEt%@S9w^q_e&OF3|Drl!2D>rejWnYR8N)LInU-^e?iXmQ^*>m>?ucaLr7_I9S+Qm? z=z}r!&--ttya8uz8k?4%I~_Qkk+8LCBicpnld^mRli5U$r;&(?RgY z6zFmEg~~Q>t7o`fN*ar|vpL@X9gadupuiQ2n{T|m=8T&mLq8u`CVbf@bJ9|uEmA72MC-Sd5LEIJOKWikbAR76*qn(D74pSr_VK8E$tB}D zt%W}?&-)`Wb&w2q%yoc6-T5r1Q=WI5e{er%-oW;4*|8W$4#lt=4tix={47b1$hGPa zuO>ecvLA8=&y`xp8vN0k?1@73nR4zK;%q2lqI#l%`%J%k`nPaNq%4G-5nEwzH90=L zqXh@T^Dl;T>-n_!{qa&+ilCnG{Rht>t*@6>%o{GQVfjCA3SMETkTl3ED3jQneG$;7 zX**{ILQ^JVnFDKwW}a&AD`8y=>S1w@4jf}hkTom0xu2U!Cb$Y8B8*t_EroXs_m^Y| zMz5hC#1cAqSHd|DIA!=et3)Xl^%1&qzfJe%Mf#Cc2fowt_XWGnuCJ$9yTn;-&en4MwUQHX^T;Uu;EJh%$s$lh9=<;t96>$6ro_h z;rzYvxXv0+CQIs8(BK^o?=QwD(N1CI@hAa)nRt;2hhH7<^EKZOd``g&mk`g|pZn}T zkmqJ6!*4R2EEgG4;kW#{w$Q;(V0+ReV|DOVMWdD4X@bV7h- zd0;#A-6q)5t_RD0%pdA3J=-36uR3#Xc6jc`y|p>zO%-Fg^x50YA2%&^$%m_8x8zY zA5|^GA!|C3NI+%3l%fo&)$6b_cm=vXO(;=2e%v`OR^1Yyu{hfZ&+l9O?JWKSGG8he zepu6Pyxf6~`jt=d{2Hy^b%RBvS4HMqdh$=*RzY*JE03r}CKqYn9_`^z+mH$HagY2C zcXMDj*8{iXxX51W8#5N#-QK+L`1lj`WHZHf{`VcTo#SVehQh@5;n$|1bFF0!_(1#! z!i_s{@DrQ0$z6)0S{FtEKedmVUXaAPfMp_U06XB0ijO5--=>S60r+j%u#_{? zh)iz~pFAGCX{o!ryGK)K*`eY*gYVY|8V-vg_xpg+Qf_%?O2JNPF@F*n&GpvdI?}^i zD?C&~OC2+xU2F=GDXI?Vs=ZhlGB_a>tkZ=TUNGzJrc@5`4J3WZ{$wrE#XN3#f+JR8 z4WwHyD=Rr0?j1H;4D4B9j>$ualjl5*6&I}XUIq&Au~sWlFVdwV-_v7{EXkF}0t^>k zQZ1APnDJKVBbMZ_o%9gmx2+dWm1bL=P`&yljBbZr!zAr)29<9<%{ZfW-i8e3m!}fi zQ;#=FLt#UeVI-onC|TV9QgBph;hZfqno_;6_&h&bL8vnaXdu!XE{!;se!Q7+L`Xm$ z=qEURm5Koj`9jz=r)eVZbVCisd*%GHnNP+nccm>JwN|8ymC7*mM?J6t&aW>28HBH3UpTp2GolQQOnyR(YM!H|a+Jpmg*OrT{UrEAVL-y`j z!H)}(hY~hzSuKR?!n;uUtS^c#1o%JPD^y^2QC_JIv zD4NK9mkDtAjR@$C#SO=HArHTeTacn_tv?TU39b0@hf6YUZum?e%Hu|w(;tYq3if2L z_(4&}3Omj`##wj$yM_{xKk%Na_eq?Kj{k6#uq2pwXf}p(iAohW?Hwm%|9n^dGNmiUo;}jmocIcVr{-cC#9NULGFuR-JD^?sZ z%lPPnOKY%<;#)s2t%%24T!RrV-ue+B8X9f1*sE94hv*fO<6-?K{Z-^aG^U;!9#bu! zbXATq$5?1ax?F)xL}ilqaE8iqvzSSUVr`|8RN4;6$Y1&|bm6KnAmnsAI=$X)$f^3- zh4uUI%l=qRI<|WMPmNAaR|qcOW~8aCZsEW`f$ZgqBqY7ap72=g=t&GrdybJR2aX?$ ztaQ>$IXoZaKJVvHh}7MM5I&L(#%#S6(q8P56vPoQ`i^F?QgZvgyFUD*CR)L2qUKsh;uf)Bq&a-*5SWe!QVTp@YDiHAPi6$DT za!x;X)DH-(Qy?YV)t<~22p%TFwSH6n31DaV-p4X#SZ6#J!|nNlpXkuqT*+YIh}ig) z&lymqtA2MihgHdL*8fUu-`^eF;ds|u`?}0$`sT3S?wRYn6FZmit-2DG-!9l2AP)wLqP5zYJZ6g!4dtf89)l4xS07Gl^J!vDuxpjF~q-pquS@mVd5? z%+CkaeT)z9=>zU_RcCl)e$vX?pI;_q>s1oU{pe2mr z>%SG77Ar0I8a6y3)t*i}8^4EDys2c9rRN%trVai;JF{9X>Qvw^Lfme8Crd)&zaZd- zg9z!zWbh-3jdb-X7hJy{;yb>6%VX00!qThvM|5vEp5D#i2o({3dpt(=$FqLv`4(6a zAdHaD179rJ{V}^D!L~i=zBSZJ`p#mhW$#=^D-~&S@DVJzjV4BR==4z(j*#YX|Dq11Q4To#wv0eR_E^Tm-e-U9V)<;&8{K>TJZxM_p2@u%T?t zBxbmLb{zTr(L!_GqrCllU^&DbZR6D(El;gIiVvO>P;M=W=wFru>uW%!UHe>Xx%vZUh;C8*HI6w6 z^_4^?PIs8z`C)N}$Mem*^I;P#rGWeRgy6Z}?ZoMP;~g^jeQEF{KhCgsly)?gof~&Q z8po$V0Fliu#{_0*X3H;@3!#Pw)dxui44vG$eNwCE1D${E7kig*%s`2-@&A@!cNh-r zgVv|k!7+0!=AUyFT3vDB`2fnbE>8i)oM%|qv)`g84fI`MLZ*f<|R4n#OGEoa&+SE_W7o-^(y? z(AOoEd*sCh@6EH2R~k+Cz7q(!5+DZsEtVgmbJZT!F9>=r zpn`GvogPl2v#dM18Z>_HjqYG^M3lm$6V^Ec-K9_XWlwMX1<&VZvo`5(3*%KQFyd5% z>Wu1YqmI2&r$5*i42|k_i}$@}79A88ot(sxWM`1yd=E>URn72%`WE)WECTfTbESiu zT!iH3oO3s)HFRPvl3J|_vCc{zr=B9dKo3KhJf$=TnSw7EstkE}IcqFy7mRP1yy%N= zCJi$W@Ze#oer~(xWk7;IzK7lHCEHg=xmH80*kwy#uCooYp}dI3{%v+nHIdn$biLgJ z7hi*!-6^WpGSFOhcGL+(Xm-}=dDs?RcGu*O1olA-sMuD?2q!lo*>lEh9shUNQ?nSX z6BU!*RGk$EjzQJo^!@AlE+aSuymgap@=nJ^lPDuzV_ z;mmFta+i8ETHYu1D3iv#yI3ZmMJty~^+H6I^)y?O64$+H|MT|l=&ZpI@ajH7~)C-04ynr3s z(HigagRTB1pFZ7Fhx?Uy^J(*3=?sdG(vxrakrjCaQlZgM)wOOI%M*+IP(BPySnaCz zGC)93ZLdqK!oksGIxX}O)q9t!xQf&(O%TDJ9)hDT7^Uj#xr;G>|*xZt^wq2>~rTZd@O z(hn@_ECduqId_bSLvd%ZxU$sE@FDwROOOb&SQ7PUSJpBmR!3wjqj4ob10mZXVJE)> zhw+Tr?h0n}&~eH}1vjqF`JS*@4+@8%U8<=>}^sPbRo_$JA@8V(|z>p8!1a+0m1TNX~I zK5ZV9m!%GeOTSO)He};xM+c>M9vIOC4a5GWj_)i`wQ5L)I=z}``k=G>oX=#35%kT< zE@pN*q74xLh-|}xb2RBzIx=G*dX-ILgZ+%9U^oxce!OoyQm*`Ni>KXMc&eob9f(q^ z&#zQCAR$6SEO$TqJ#UuS(y45unI0Q>yW`7o9!`!Q3N~y);*Hep?dFuj=e`Ida-{ek zvaR2}=Lk9~QMONepxu_2G5I{=g~}RA-TIhs1n_%=(2(` zkhepi#*Qa%mI#E`XjMzrF+tDpB&yTp4t#e|$&f^4;XN2)%cIt`Vpm^MlzEf!v38(h z$wb=HU4!?CWJ-u-9L*#rafW%(LPpUa3s#~iFxXf;%SQd#6pN)*GM-}f2DDO5j1GBr6pC3P zKGE{&Te$JfMjN!wI2gpw?5^;1xGvwG8csovDsG~v%<{*hgQF71sfWesgFP|q^bpO^ zg2iccx&mQCD^$u!5zpFy_tUoZuZ`8XCndVzbNtIwC|wa5D0`~`H)qP-j*f^yrSxMB zQ)5?T$1tF&{Bfm&5jQEDoqoA1qk%WBd8MG#cuUsYB5ArIC0m@WIJ+C~QoquZ+hB}% zYWunNapTI^aAeA(qJftqJ)ck;Ftql|mC#Ot63G16^n!#U60!|DXbL775mZwY!Q$DS zBIjav29x(w*^jlq&APlsQ}!%*Xx-a3s{c$sJK=yge13G;17&BBJX{AUQW*7vT?|&k zQf!CT&lC%wHI8R`8cRnL2xE2JD5eC!VGA?q)afXc^1$x1-S+PjSts@q<{pEJ!hiI{ zRFXrh7W(4{zqSm_-+RyYn0pflG-cEMVy;rF9IwI!t@vKUG=DHD@#1OH4Du=dIQRPY zXYabau(!+se=`7STv~Cs^yhhLu1o#%OQw%Z{~`@^3UZx@)|2fMJI_`;DHnhvgGNot z595b7HzK&fWlR9b!CFC*BJX!otklO~70v?zJ*BWMnwfzqdh^R{`?MVG%$2|>_D48w zKou)sM>>I@*HZY8>M+Ons@+&<3H+7TgJh6^_?~TuQK=k>ec^n{5hXmka@u334W^(^ zS`}()qvHUbJl@<0dC$!zU=y4(GSh7{-3P%#!ESqdWo@?hMj8;+n55YI-tTvm_dM)N z^m9Qv?W9uI0pex%{h7Z0DH$?@#R|ob_XEBCj-daRxKl6qG*u)eJ6p7nLSJX9sFxTZ z{B{v(XC%x9b{sf&)T%Ic+MnT@|GAsS|KXkp_H8+5B3vQzt>~$KYz;+%iW(*-scbZh zSYH*PI1dm>ABjdOn(TIwNGDc0@-fQ0TNO*3E0!^WV9A~bokAozjWB`E7K(ts zbAkni@gUiBf%W2|unFmk70Znk$yViKJy{GEQnf$d08ZD+h{H-Ysu)p0UgIRLe-uQV zSd856i7t4bz8Hp`CYlxoSnzD!xh1AdL7uE){p{l&L-5J<5}y+x(sZ|CyPCpx^uCGG zS0yiW&Y_*<5<~eKh!Cs?#s-5AnMt!;qL9SF7z&Ob3s-JYT1HKc*6R2GhDIqDK8b;* zD-OTj>J%s{8X!XGQ70Oub~35^z3D0@aBs8kXEC+G>QiOKR%;uuHiNjv|G%GyiORh? zk9t9sSt`HBhnNISZb|#6>Or#naT^tDuu`iQC3C;KUVs0@c4VhOE0xm_c_@e9-jiU@ zFbZeA!x--2YbAz;0opAADIZWni%hG?6dtOduHSK6T`$ri3sYG=1d@*=*#YSQ3)+xZ zSxW}Lz*NOF`of5!eica#~oUm*C62ULe?)aOp@~B z{b-s1H75QI8QrHY6mLEAxMp=!RkM|$S`Sm}l#c+{2h$I6tH{Z5H|orTD~tGDSAbeI z<_$GO5XPfG$M5+Ql;8_}J8|Ix;u{u@8JzVo`wwr`)zkdtvY+s0boB@VqR5gb&6ikOaLyBuB^zKW~Cxc0F|yL~XVfMKx8jGbW? z^0~qAXF^#l#xair8r=>rB1$^-{rjD-Htv=Q7KjCpbTQ{DRmvI?>w8)EPJ&#^J4ofdth2~Xh_`Ad@or&nh*Hsb)D90wIj5>rVaGUhhC`83%%RM(Whvs?xR zE4nDQDUK`vgC5ZD@yyQ7EZH9dtK4M4ib4AwOd>jc-@Y_~QU}Sa+}?11Tk!bW$lj!6 zT`z2A&CIwI=hff7@U`?_V?~fP*iVBp7cpJ3~pe^>)vC^GpRVj(((yW`|W0yTb z9(7N^@9-K|6ZljlB1T~?IV?A3eQ1v}+}cqbDZv*RT#g(*$<#w7xWvZ5NlTvk3wS;K zOKL8EDs)7SgUa`hpkMgz{wn8P@g~;aa$yp7a8jgb;jL#Pc0Tq>p#4z90Dgk+gVEk%{SRX`!wn|9S9JbcQxcw`f^EQb^p{J?;#Dop8=_QMg0Wk?@oXU--3u% zu;#y*3E2?{NFOFnDvKlVkcnyoo@ZsA&8rtf8;>#^%m|CnC?$9x(M_de>wfgOKs9dW zh0ym=qxO}!XLoDGPpnKAdjQ7?wDIq{6p-7hx1%JoJ`PQCC{qO3c3T21f3!J(QjVuk zW0wW=4lLLHh>91=kbwDcH)~9HRoi?jzZDQ`U6Kr0hZ(+!7h(Ym&5oI#y2YT*=Tj0S z5O`r^$~zn;U{s1U7fZZ0EQb88+(5Sac3|G>O1Vn2|MKI`!Ez*K;nzN02#4CfkRA*E z5fcRd#KTAM8t@ia+=TOnJD<)O$2(=U?_O0n}*+c^F$-Mc%{7@sxFwYQXKGV*y0z8BJ*18h5?#Aej#Lp;Njp^CB;si?&a zsurcx4X?dBFvax(wr>XH2JzW1M0UDeK?OIVb47~ko$Cj@E~kIPQ$6s=sDj3g0>II? zJho_nh}Kx5#ds1K3Dx||%sLS)czZ)iCJx8LA&suGhhoh}f98H#%Rxk}IQTKQRE5(? z%ojO_zevjHU+;WR*3ztK^b@0I346w{(x44U6B$bU=1aw4zm~|qVBJ{;2+Y5@^LoJH z*i3=&c0N~jvZK3ITl8+Wjj)n%D)_!baQyC*{2Fn*lU)+Z+PVOuWc@Hl9-aYGk1*Wz zg4W){pVAp^XLtAx_<#sE8o0t60|x`2ZGIHqyFjeUK|a%9774HI8r3*yGu1-cfR~GW$u=ukLF#_A`m=NmBkYW{#CyzbQ=O&Z7{{0FH;!ddHgtDdGv%>qB$2K z6rbM_={_~mN6g}s>ajym@ablf)vOK#q5WKpl9w*w&sOs>iHR@yl}u~xc84zjxuAz1 zC5f3Q;;SL~x62g#2N_350`k`FuImnEL3yg4w;#&JJ|KcjWmd7RO1B1Ya?c?=ayG9& zO<^LDON=YVP>_O@a8X{JoQQe5EL-MJh>;qXN4i48>-6jLT7b-P_pWY{1z-J0#W={( z;O$J~{vIwKPntgq@{+93kcnF+OGF`v-8XcT-jjPH`t!}(P~6+AH|nTb=dN>vDH55f zuAezro1Iv0dO9`gn8+b;nVfq9UzKKf%%4labv?|doVL+Kws>To{A zR}0|es8%Py*JKof4uj~3JdgDL5SUTPF`uw@dGB)7+0w>9fwY0=@;yQ_p8vLaFidw; zRC;Qdm9*uFNxN40gU6qC)y8Nb4ADEo?(?oq&rl4dO1sglP%fS65cJOPD)v5|?I#uG z=4*i6T1za}3Yt8>3);I7e^lfKK8lmrPN3fVmH!JKX?FNPe&%7axpZ`YC_H1v4&)|Fc$Bfig1#Zf!O;>-n zSQtoe^p8CSM@?Mq>ht$v+a>@7!mK== z&-P)PeJ0;o)GEX`a!va+J6Q2ln@3#JlzV0e7MEk$p|??cGp0sQH75>N#WT9^)kWF^m52 zUOv~ejsNaJq2We*t0A0%!r!)v?}ien@g>4!vv$z$y4yGI?o=96*+>q0 zr>hSE7#Y45L$E~EPPJ7O#j=bm_TgmvUM%w^a&>CQi_AP&ruIV)a)}xp=uXgm@~2t6 z&XUQ}QzXgOjfd@-Yf__g{S zA>yzNLaOrrumF<3DkY+6kR>CTde+>=JDmQhtI6}0Y_V?KRF;t4wLSL zprvS;nz!*}K|FN@ONP^bb&-_&&wkq_;XU4HQjf@FkkCd-EkK``B#?Hd-Q>~`$A5WT zK|(g#LkDS9NJ4I%!==brV4blt0R0hu+ZhDi;#f~G4|}Irv`0=28?OlxY&@^*nSy9j*5sRyE-@{>#55bhl6W-hDmL+|MVTib z7PWw{B{v1&{QPh!Tiz-+=MlZ@Q0JTZ}fCjHl0E}y&n7AUA!o(J(z zR^0412rzaS6Pk9#bu2pnt*1*~~|ANK(Ti^}+t`#h|rP zaf+Q;-zTqrY~>pz7nzCiaRs|f_r0zp@b9%o!>y={QpBOX526fX|j>L^iVT?dO`{*vMy^K@0IO0EaQA)^b=T2V6El>Ga(0B zWmRMz;|4d7Gj;Ux{lV%yf0MUcEI(uGH%pzwzl%!uUam`DkUFEM>z&Wrw=$)CB=2Rm zLp?-_s4`TaarwEInD`*AJLlJ3^=<^?RYA^nQrRpbECo$ z-7?_FD%O#nbJU5sLffDqBYb3SUqFf@R!-@?Y;Q4t6I1H{R9rmZ2020GFGcFwm;BPf zc7^QY{6bHwkh6ZD1h{BNV$fv3HVSD+e^~(8>;vKMRXUzN*Kv9-@N+>75qNEusLNbeD@x zmqqjDfB=x&DDR}lN2!K~R$m?ee_SX55`jWupuoOOF@5xqz)g{O>W5<2wL~&sjlC(? zErsO=^A|6hctdrN1Ndu0o7a(_?)VUr=WTF~g&x-yZAG7vl8}0ZV6NFsY@4pn?n^Pc z*L>Z0@jl1FR0>&I!~26bS9s-?w{VOlG~DsQqA>>R;k>F=G?S9W(^b89??ZxGJNYr+SHD&+QT$ zZ_H_-)1_#%YdpAJzK_S3XZ`7=Z(YX6w*xK0X*e$)8(i_}`3XWwmg!qw3ezD}dM|LM zg{*sYXFY_zpXIC8w-4x#G=#-losywX%jH{LM}rp=FKhqYTVFm8bPQz~(V<5CW5MSn z(Th<^#KFz$qtAc=?HxEcc=bhIaKuZ}pEnHB&tC(IFlGPmf|t+lfKS6iGTzt>ccta0 zE#+WjJh>z7%};2+=*vZZS%9b6?lA!?M_DDU<4$qH)#nMP_Lm9`!($f_WHVe`wh+T@ zXp_I94L7-@9#4OGUV@cqY;2V#6+@*)7atrAvM=#yYeDl(&olN)U5l9GlK8!>VW0Go zZUuNxNvZ9e3|2h@B>a@x^Xf5gLY*%eH+lh<^6FE*?sCNzV`Wq6d0B5FTNTBp=k>Vj zoX$ev?JOw#t@s*vQ?LMda5T2e&58gJuvy#`BLH;=Os29~R z0*t)iq=Wg_wQ*ir!~?hdHE`9O1pKKk3WjI2*cwo%9t~6k`I2WUkZN%}Z6MjZDMti1 zfA$W$E1qwaZhNI33psbY+kHElAt3gy-g-SZOTwm<1u$;Xe1BXrUr$f3{OWXU`gPtu ze7t*KHJsdf_jtc9+ke+NKYQ{X?}@vuU3;y)sx|}s%kTNc$?&I!T+aXwJIH6VWM$sZ zWCapns2sev&|6}8hNHDrTH2T4$+MBY0G+SXD^<2jp(Gbg7hKFF+?$NNwOymGpjl{CER0`H{H4hmRxm`&eS zwt7aGjnvE%d@XBb^~yLc6mCv`z8S0oFYJ_P#T3JuhqPz%B4Nl=IOdd!G7gVTl0?2? zXV}DKp2!D@J2M=e6p85c@QofV*S=(&5ysYW`As*9v&YkzACkrMy)OF*$ShSH)6FEx zjpYe6-4mI2Kkn;W0RBW`# z9t?th=#2Z@L}}%JGQtgZOS$R~`=#CSCPmw3gS6m zKvsOP_R{kYo1HcJgijb?`QJ5EwFlSgPCK+g!tdaim#upX=H@2Qln5GTuK2MSRVjOA zx5Bj+>V!A9G9do%l6yhOi06{s2_j-NVtAlxRotehO+3zr2oG1QRtQ@`b843P{vz` zHS&G@AzPQCHKhBha^fm=i{KTe4y9z#=s=a?e9Mk(aKoctOu!d0+SquP$^Xm-LsOZ9 z3;^*nxwsq2M$>Z>c|1lF`Z`XUNZnowZaW}R|RVGF~Pd*jE^iF%< zqvq?O*REo4I`YiA+vjmH;8A~xrh=&%S<6u@f|Q2$++K3C*$jX?7|#SMoD6n^VO;^2 zJN~H%^7CRm#p>|$T6de58s+I}ykir z3o?8fv;c+=0H0o4TnHx{sLirRqBY|~4)-sRR7u6V@+5-y{%H${5?4&N4K^R%YP;kt z74Fm=wR!}uvIoQA#NFm8HniJ6HJC(|ON%V@$_dJpaAFh{tZ^lD96p#enWc*H4rZGa zDXVo_RztvMe>rRgnask(Mo2bhnO>hjJI}W3@p4q_!L4<_<=mPo7Vzx(b9mz&AckH@ z6j^RKJ!LrCeD8q>vf>ZU&DJm;zxJ!prh|TQu^;w2n`9h(6U|`424>O*9EZ@259lm9dB>1nd=&v*DHl0YRDx*+bk5A#ZdhWH1;P(!)XW{>8 zdj27=+aPcwU7;^Rb-}<}aaG5930$thH;Z$8jeq@(3`yCC^y3l*ys~LTS~{WxdLUUs zKPae^SWxzGWF~K~4a>_Sj$k!zi9W3%?9xcL-DOOeeeWwid_^;tUfx0D(t7;o>0?&W z=GlkWPPe0<*?5v*@eznF1$^Im&*Pj;E^cw(x_lj0T`xbxHjZWirgGJeoa_}gADjN~ zLGaUV??l|aOz2N{@jcza67bw{QuX|XaK+~ym=*CwL8Vj^MyTSphzXr=FWQ;~X1rdi ziK9^wOLRY3%^*qVauKH4@`tp^Et9c`I1SXT-&G{18r%h3Uf(`S1!LJF`d9xS9%uN% zmKlRDMZc*1UJWbx?ER2lM&pxeNQlJtTj&B5pqJk#ga1Z7Cij}_KgiFWmsq}i1+}I< zjyRa|g)sOdrQP7tTUL)7hQ-Qv2CQk1ilM0Z1|#DaXkxE);3nEJ_+hQhLE;J z7JimgsAvNFi9OBMABKj$Wc?Q^k)x_E>y~JG+CKJ{6&BEr4gghKgq8N$zM#n1`Pk@S zai7-V@!Qu4Llr0aisWcrpGd~w&LdO%y&x?JmS~1-LKEZB4aXBiUG;24XGX6W&s-|} zE6wG{<2Bm*GH*5+2RYI0vF(A@rOU7a4Z+5mkOTp=cPA-|NeqVH^WyetNdcQdC5O$tTb|!NY@W~5XI;5K`eS?%>h!4q6uh+?N0gHs_VIkBlrIq|o$qs#d!Dys`oiDEX^ik;rT$3^xw66{bEWpu`8{NB@(@#E!2g-S8r&(qOs zMy#p?*e`ejz2d@?{Z#f@uL5~*OI^2cThx;O>)eaUKYu2aI3V*pzyq8>JPJR@K~ZpV zvqM#`D1()7PQ%%jelA24#@5IQar}v(UxW#o(p3J&T^P0y%Ux{nhc1QNZtrFJ;^`sW zK7m_Fr1)#Ag{0cK-H|*}pnGqX@it9{blm@( zV0RCl!Q(23j{fKR;mMFjlN-i(%QL_9#;D%123qjB07&sQOcEv!KmaA$4>pKWx$}LF zD$x8W-xJ#XyYzF|`3k+14jN4ZOu0i5UG0FsTkCfiY-Givs)LGA8FaG+6;D$6(Qxxm z9;YXkG#@{Zllc-+h%W4}v_BQb;usy=l#Z)-E58tjOKa(9bWL#w@c-V5y~awQe4dIiL2p-FrYA}nJhWfjub^66yh76v?1XG6 zV@}+?)QwG%ybGW~vj4G=<$;&unWoITzT#U%qxsAi;gsMB_~d@P-p>2CLZGk1CA=HWVPe_ov7673)6` z#H|iMvkJKfSquOq zNPONmFk~}5dPZq{?w6hMAV$}dVt3Z?<-fG+<+W{|Z78`IetfNhnIr?*N>K=9kcd#t zAVM-`by_{2J4N8$ympCwo}NdD9bXn_DnwQd`a?jaQy4&lz6;nNk|TRJy8U4B|4Shr z8ftXdR7s=JjR%)bAHOH$6Ytzd4d}8Xr?{4jp@2;yt&lkr!a4X|N6Fr~+6LRr*BUGn z0V0)x{I|IxELq4u9$eRd#QY~7MDH}?*>fA--=>Pdvz2M(r--70fdmjdaSU=?bj5@G zQsg~rK@PRM^HrR#Z``ICfkH2C)`1$a*4y}D=&S371dlj*_UicHdKO^^G2tmFWo2ii zq$l0Lig)-MkIQqVc$wHm2)-JZ|=X zB0~IRlv%deS6klYsNm$|moM7UMGnm|_H+zMX|x-lay~${+6|~KL&9*ynx|7yMfmqh z^#%aV-+$bl%%dFz&uq`O*p8;KL4J2Tl_=FV@SwUx?2-u)F-7P4Z7_^s^KQkyiNk&R zxypz9R55;MyQR7yCT&p|N+x>Dh?77@vMQm50to>CxLtI-uBc<N)Akh zvl*La9uFu0pjh-8>$`_{06*L^CUrWf1Urn(QYYSsSB&b z&x3PoCSM%AE67935xq^X5twb)7Oer>4kzfs-TeuKU-z96TRfIxU9JPA`-L%k4ShAZ z{zuhe|Cp4A*CIj*HSHn)Il?k@d!GU$kQZvdP<;L4x6OLYfNuEYjP=A&Eo0A|?F|GT zhkcY`F?GSaM0&Af^s9SRE)+=B!U?m>gQ zyF0<%36S9Kg}amB?oQzjKgnEst-aTr=Q)>kQN^J5KAL>(ZN0H3xySQ{qR}eV)2_wJ z_L`1GTb5~U-N6HVFd9~0(A<@8!2|4{&u#~16+w_~6noDaWvWhmmpx`bKiUNAcr>Il zj>QdX%;k&w?IH4AZ4mCsPz|P!3kEzrplWmv&Iqe_V?GzCc; zE-SX{%lVB#3Y#5N`TkG5r*i9gRENlvBD{ zN9#T@zmMQi-0W(fu}nDMMiD-?()4V<>zo zSKnqv|7#&%$Za*f9$zd11zkb*HA%^Z2(;GC-^!WCzq()uK)(Xc)a3zrqzGp}81(3_q1wxiPSU}t1 zvtYrm?>2$1k`qz8dMU4i`q~0ny8*q2k(o!!r>aYy{cVNtbbQ4R=#6YA2iO%h{u8_3%Z=1fdX#|c+r z_4%negVnL2!>@$il|s8`b=3g&tlIOLm`08D6Md;3h~&xU3G3SQSW?@PXh`jQsJvii zczSAzV*0;U0umA2e(@_$!)*FYiE{co$p-)T@mSDW#jh`lXU9e&{Pgg}>J{2NILd-g zS@_RrWIR-`G|>RA8z5bj3v2wnQ*&)dl{1an_YuOX#NgU)6Vc(Jq*>4X(8UV*^;J6o#@Ea(&l1rN z#BHngu_{%VupWZZ$Gm+LE&iPGduGAab}JDxM#7KSV&<#gKjV%(d%_CB7TXpFmmvFe zR8fR{6&h}HWf-{drxj_}Y>HTUgF=>5xmvSIdf951bH^CwW9r>JQp(kH(X2BKuT#;A z3XhkR9H;%2EYvx8nyJ5hm6M#aooIK5;|46J)0`*JO;k#~;;3Y|9?=`Y0v>yaR1~(y zF;o6+#b_a^(9e({WYBS_gd`;3Yzkm~=)}Nve9%T(fgXYYL!(7`Sl<%B$T+5iz5shr zWh?Kzo<>?k80-&rvXy*_K2ok-yqXpHt~o^t+ja5f6ue?GoCmVn<{YdbcfkdhJ;UaN zMmLPr=`ov7$&i@N+z`~ykQZ>RcU{T@TiyL`R|M%Hbi7Y*A6uC}90rDcjLr6RtxPNR zLuNe*%)_>wFeH7ToKafIj5J7qCz$6{ebe>zup22}B&Sp^!i~$|Elnb|eHp@;>RwPI zD}hU&VR?=7HbA~T;`PetG#;z@I(S~^V~$T)1e{;|kj}QtWG;1n|HnBn&-yUs$6oA7 z6}LeoCYcHXJYh+;XM2W6-m*le(5RYEscNfBrbdekGpmw5efPBW=4v+;?s1H@II~F|uvXSI~*kJQ9+Nxb2*F?~8lDzI+vEbW%8W z%4*eFNVP z&{Im4b7Hek_ZCWrTG+Wg>#QiFr{X;eyMkE@_+#Nb;S1aE{=nv3HuXl!% ze`csmX-DK!0PE(HOQdm*cYujRM;50QlCzPO&!%4l%SEzNM34lGt=lao+}jpR+<^f5tnDN-66d*OTFe4LH`=(J zi-(bb%)8iA$@Q~>qijkH?87l%zlLdwJd7It;m>g_jQ7jihtgb$zQ1k98c0m&`Fizf zfaUpk_bK4!ZP;M;^*kD_S_$UqN4MG`UUTu}3|<3<_Vhwst4?)xtq_DQ?9$ZoBoZ?e z(@ifarJZ?^lS-D+nu6M#Ex)ggF4?Qyo2@Qq+`q0{lWy=;K~?Lt+Ok9p#^$EL*IQHS ztt35__~=#2gpHw2$?YrR9uQ6)>?^(!H7JpD@w{GSxclfE+w-t(LGBrmsB>Z}tjlnd z!|i>|i;uKttfxXgusqlo8^RY%C+0vva(ze&E!93u*or?sdbr=v@6k4r7Ves~lSqRF z97f^cQ8SmL$1AAK4$y^6zB&pRu4tR2#V>7HshhnqK+~?Kg&EPlmF>P;eF1OoxRD7_ zLAzM|k6p+?f;e>PXg1KyE^{H=ytk(CFF#5Hi!fVIk!L`#Wh>^VNiX0aozrS-sS6zLb=k&u_0x!u?64^x7^zFv> zhaalA`)}CScC@`bQ_SZIVA~(;Ni^%NBK85G&-UV}3C+wKAlDIxT3mGs=YlGTkn7Tl#Sp3Vjf&t_mf>)0+@ccj(RJ>ut}=vC6(|RnKWJ;E#F;;R&DVDd8km22Sg}3{YMh0Bxap( zWM(rh@L`dDhW9ZHqh1T9B#0m!PjjiatXy}Pnh}5CsN1t+uI@8(G+VvR^vQAP@iPiQ z+IOx%x|ZVuL3>TFgGr!kk3vExNd!B0)~El$v^FQ=;ncvi>60}jG|@Ig|_srVzzC0_{GoiWllkR zwGijMV|!o`I5+HL0>*3)E&sLn8*SU*W3w2!JM*6wjN$X!8 zBLGI^l4uj)wi54;cefkiX2a7$BdvIQuYok%+tZMU)!JH7Xt<9?xR;kbLeFCdRth^d z@NaA7v-2n#797W#bwdPzUHJxhVgrKB2lseAIkP||BwuE}TQTlnj!`E$n8y(TGfJ{& z?R?ZBNu|x3^xj&s0jz!>BR_|)zEMb%mG%i}d*sv^%h`tx7*b+oB{{Wk6=l$XGvSiS z@&?J5{^f=z1a% za9J2IE*qZhTu6m6<%-Z#f7FQ-<(VHazVrS0{TJQZbP&s$cqv72c_ieAzKx3Zr^K_z zNBJQnm~&goGvCv;7uai(#Wz0XXrGjSq?bM$KEz7C-9hh5Kb2*F*dn+aXQB$h6Z3t| zG}i)}i0vqMNryg_N_)HkENl^x#8-zPh7IDqKX8&D3QebGx{oVM-MNEU#wUIZu+w!% zj$QLd*QxZ8H8iWEK|t6_tHeTEt(9`zDXsn9~xV_fXI?=y&qP}kf-8($5H>g<+} zF!Ya!6bRcah=B$iJ*te%WvC$84&L=+g~%KrO;nl_%4R)LU2h$2J2|VAX!r7=zs1uM z{1Xc#bofO2X5T=<2RW|Dc7HxUeVXTxdOzHPeu@=&Rb;dPLEKXtk1oMYrLkZ)xlH1yr*Zkl^b|6wHjlV162L!*yZkggN?!^d#1>x<$C|%FI z{I%ndsD326V&hh*vV;dWKZmP;KdvW6*4O8@;5;m#kMk~`Udgw9fb4fXb_RjI{%Iw` z;f1{(rEf(B*;mS?7{Qh+&HtUn4CyX{%yn4Da7bw2InE?`8_&6!F+vqEj5Ts2KIn0m zzC@gN$@A7WM+8acSjv*T>_L%eTpYJwTl1OfL=O`tNS$D!&sFGNgkamhaVo&y>5CGM zYaE{Fco8`~z|p@{#*$s6krHWZ8o7pCCXe5I#Z4nM{o%ppctWvul-|rcU|{(pPN*w@g>o1lC{^{M|rW}&MD#R`t#J2VBG9& zl9R)#&}1HV9OmwwcJPC@1kx*{^cE6+hX}hckOG#xcS}d>*-f@-zZ?udHHWfcau2sS z;Cnm)-hT}AVPNKGXOH(c>m+QyTGKC3Lh3^m-~&&>y&>SDtCn5>eVozbQDa0YJyHIG ze7+uJn#C701f#o&`zeF374OjF)~{QgoOVklqrJA$!jSte^A2;g)~!56QY^+a(ED&% z8`B%Xu$tfDyKHPYMEYZcV3U!XFA~iZ@14bZPTf<1oB~OLKXX-vEo$w_fabQlnhMlP z=2hES7J>s~;~o+YeQJ;N`knMkQA~OWke;c4L28NeLcl3uckrxhbFj3;YR!8rWQL$g zx;&oJmjgak{$BK7X72(<+gr+KSg==xlW?8KvxWXb%ztEaHx{7c8A8;mcIN)MqNpo% zyrfl4Cgfc0e9v@z=zFtcI?c2VXxBP!S`*(zjBvLIrli2xCD)x2`Iw=~~b0s-> z%$s?2^SREE`?%t<0?eJH9%8r@SD@KV7n8=Bw1sTkmcAzi`z8Kj)0XTxTT`~tyQH0< z1cHPf2_kt+3Rdk-dB4T|&#IfGo7hd`?yS)I=J|>4d?SANDO4EBxp*J$j`Z1}qAl%- zKj=cu(>PS$N|}Fq1kMA2hpk;$v7hhKjqH<@l-Q!zNel_P;%8;z#Qu1gKQGjOmH}LW z5qe7mkrc}yV)ASYfn1b{fBuAhZq*LKj>4O2LhE}4SPD)%Q6D;D#=9@5&e4An!ihnDTr=pKY#arQ|5X-sEgKnCD;*E44mq*%j z)Su@G<|(|)^7N7o?uSl_WgLw3wu$fY^=1x!4}aTeU1S7r#LoPPeNEMw6XOq>mg@~F zFnZ>Cx4&8%HVE%EvSfq{3!g|Ptf~=9y(+H|2lwUQ;p=}k)~|;8w^1E-XA1X?j6|U@ z!p$**(dJ^hmn*%i1blzLsnEMEaYG27s@ZE;lKs*tX8CeOVkwvw!s*g#Fm&feSIJwD z=lfxjiesT!gINk@3ElqMxU-i{5|MRK1)1fL71rQ8U=I@g?fJ2_x6U_d$RK@sYX91# z2$n1d+7MI(XG*FnlC@LI^^~W|84+w$xuiEJlQkV<=iY)(m;Bc!E2H*-Zf2A1SV{~t zx0(5Nzf@WWQpg`4N*-_R&m4`M_ktT6#Y*qDJsJ%&%@jaYg9oySp?kcwbpN$)f2^Vq z=>`r2`K?S1AB2C<(w_NC-*r<1`6O1*m)d)mmU6&&oxw>9u=}IS3!i2I@HGhzQpYus zb45(=zwY;TAzDE3Onhreg9A_XYST<1hM(_vRx-iwIZK~mR}`2JeilazDuepsW1e9x z8Y((_xOO|%qeEzHu|H>dp)h#gzqOIq2n2v02u|DXFlTJ$AVA|G3r+`XWihx(e6KyG z;^^7DHb|)3L|vm#CwXz}wLNVPv(86Lm2fpCvVF?G`tseSaomLysymeWhJDoSSy6m8 zbX)IM3=@86p|T6OLWlkOlJk5Q6}bd###WU6w}|n-USq!+n%}#PoJtENhN#dO=BmX! z9>%%coSyP9ZrT>%+aDZJaRQw!INP{2?tRJxW7cLpQvxmGM&fz#OR&mdnV!S!XSiB2 zW7R$FW&8c3!=CLK6&}w$6MKmKTiL=0F9_)1$2Sc(<}pCQ^r*4f%f9-nMHZiXNmutv z!pN8#gGXffe4XSI*XzVE6(X1_+m(#2=~v|F9F|2N;#xsvE-||uuCF`W-`h7RiCD$x zNCSj8KR-X>rZ0-p{e}|F4~FZq`JCFd;(EPC-h_OhGN>BiWhWyx!~mH&A02}PQ)0dL z_3+3=cn=KQEnNoW^oxc*qpPHS$dB%&1sJxD06Jn}-jgb%c7>19fbuJgMAYp*Gfx2i zN=W|KIzdt?ko);$-_`dRJU7B$sJ)f|9L-Cx_&Z~7z7g{pJpV+iGTT96OyMNlKi2G~ z$bu$mK4kaHoIULI3xMxpy(qlAUHn!y*Y>2Q?S6L^DibLxtHkDh)AS3Wqokx{Z~8{w z_45(}OmucfPgVE6`zi*0YO?;t&gk6OVe?fZWLQ{OaY{-c;r)`*klDz)4=xWL)~5l# z1c8ZbP>r-^Xszq^mdlkG!yr9>t@6V_o^07}uGMF(0Gqw=_O``!aIV)*bAEk(;kDi^ z3>;9udkClT_};qly9{*eIF3>8#w||qz_zoBWMH*gy8WZD&TxT);{&}Q(Z!w=? z#oGz{2r`K}5UsqJd&zTm6+FsyVb^;F9jjV{ii0dmw0FMQ#EPZZqDmY|a?N7h{GE6O zUyyuNHe$6P9weoNSKXiHCKC-^d9CmJ3wEh$TOnVLzo);SqC}fVMdn99ZSBRH$y7JQ ztO;7?Q-#d6AOBpt0WsVgZ}c)P-48*1R*p|J7D)npo|Nz)tEJGzmq!GG`X&UfC40TE zQZ`GCaA?o_)Y=Zc9~g^l286C_;_8KjISN@GLEK42R;|RRI=ff zS*fWSMi_E^z3^?E)Q=AA!OPHq&yS+AkEY23uCGfZfM%bHvznbeT>8SO(Vx6337OdC zF~J-JDPzqULcBX$79tta=ARnj)9EYh(^b%**V!D!Ku6g^cN8)ajekQtLOs`RC8-S4 z5jl=`-|R%V`L*b^ov1?9u!9(FZTW1oGN{X$mUaa`^5RCk6F+Xwou0c<9-9c$$Hrwc z%Vr$fMR8L9bE+`X7GyS0zm)K*O$^)a{1MHXqtp_={8qSVWM{I)UPi~W8}ZA0aYtoe zJS%cT)DQ3ARh$CyT*x2PuC^;~yWQA8(%g@HeO*2u$`m661BwSJgM${4R7pakr8~Yc zS?u8p1Chss`;tyai>M%xHmAn_eTe=i=x$+d~|@O!2@PTP#B&S z_4^`BCBZI?vH8XgjMEHW(egd)wF7btJ3bCKe=OKmN{i`gGHOUxzY7e6xg=mg$5Ey? zI1abz%#GkkrdTS9JY7R1=Wf{;%ANffpim|Kj#2L{3gfjI_PKvrw|9>9rDNgU>g4iE z!I~^Sf11P#R>%#75QFE;$*~Cv#iqmXX@UN@!?8A2iYIXPt;5g(iD91)p#yQFI9;3z z(N71KUBB@Wy*`GqfIQ*uZ??Bkb1hbFie{FJ=L|J>QW~OwsV|w5(vU~14gDizrn_<% zSug#Gv)6sac39wHG{KGd)YE`_1or62ZCh+;+Lzwue~N315X4%ca%zbn408qK!rT^z z0Cr}h_LRv$o3${U*Nc*$9DkyPgHNvv#>aHj`Ciy>G2>!)!KtP9MIW*aC}=$3SMb;| zA8P8mHZKfc#gI7{TP`-X_k`>1U}K2^69l2_6@J&NLdCh%I%M5(MbD-^<)hUac&i1c zoUkl6B-*|4bS@mgM{j6C&hnsa2W*cvSLjzaNhH&*8@L%#&GM8#Si3e2-616-P;pU} zq5pI#pezbK?}z(7-QETa@+A|X1w*RHl?Bs(vM|_z$Fe&D>yD(pZvxw|+xD?w=aQVXya=~G zPQ6yN&C3Rz&|_Ik9w+{!5&!i{8dE5!7&0t6?T%>N{eWQ9sxKXAw!~H;y!6BZsT>6P zSgQxhb-z3ciQ#)D?14H)&n}BEM{_ zW@olpgs@Q@Aa;D= z%cBEki%9bP&psn{Ykt!hy|EDVnEw=93Z)_>WL>w*E&f~L~;gvPcYNmAv8#+(j~v|Z#KhvnP^1jZ?(bPH8i ziApZp%DpW{G!c*CcX*X@Z5~g72R7@wM+`u6sJNgd>qFG-_~&h9dc%#&J8s9l*fX(W zrNSYpS=T{%AuhL}(an{tPqvntD;KnUruC=(Hw(4>uTv<$#>Ls+6CE)0gaV}?0D$MA z{ikXiaF=|p*23NXD0u1?ZL~fens_W;8{WBbj|{y4SNM6yUV7O{O&9t2D*tkJ`ter(p1R8*-=gg2g5Ny$^CvG5IxItsVI?Phl36(0_GHJzUs zJZO8wYmr6CenlN6`74j;t6nwO{b&HOyFgdQG{M*LU3#Mh@XV@;ISU=eqKs{jV*3g+ z@38TN{-u8Xj|KjdOT6yztDWhPhM<-Hohc#ZQaRMz1=I$%>|snGjY)9!jll17%ELk_ zFM3e5d9_n_)rZZGH&lSXMcU9oZmFB^;?8^#|VlRvzZtCZ5#XK+PXTJfp zShVF>e6k0(=}DR2qsoBpi2{TACFO<6G^5W1YkfUhLvQV)UMR zxqCyvUZs!a5Ir(EHu9oG*4e!T$w`vzVC18*V{`T6^lu&vlFHWk_kQcI)BgbP=X@1h zSm#WAId(Kad!NeNK?18r8_s-8;w_+~s&LO(_M|)9FfH|?g>GJr6AfZ`v$OeI?OmcX zpAlN}MttGDI+mX}Mz~c{p709Y^YjyGM+YKj(%ag!%6~L+FFptvN$t-smoFiwpI{7z z-P;}ar<8Ur$d|0h_t^F`d10#DdCdkVgARDAW3qX#TVdhjR#O>>X~|{-!&% z=a&OuC_O-rbhVrPX=3hEk@#Z2CK@(7dAUSGE(3K z(kFV~_CWWOeQfo#XQ8Aa=Nm6c-SYNCn~hJPzbwH(%Jn#PTQoliwR2`u*l6YYZ9a6X z?Op!5sW-%+vz`*Nzn&ixnsYGr5wBw?4(t+bzrEYWCv-zkPlc{Gb4S8E#QJ-!5hU=C zHQ9^aCl0~3Yx-|9P-!qXhS>|AQG{>5;WATU7u@(qZQtWnqf6&Z1z0%Tuc0=__Senf zXWP^$(}|Gy`SKI3bg+b=Q#`6Y-7?i54;bDC;94;s4Q=^+;_mlvl|yy7XWHtS0`BJN zc5@c1@Zig(#|&Z-X8?yG?5&8}J6shny9TyJ#PPdJk-#C8xrQmZ+4H!>%v>6*s}OB0 z8O}7V0%ICoEK71Qg-D|27d-sz%S!($;QuG56T|-Vf=J!=K<6}4I+7#U+!?VLKG_u; z#R!LFwULHF?6yC^iE$Q1MlyKZgd~53siA2N&OE*BJ`v(uSmDgd;|RJ{!iGRaYFuU3 z@poDAhD}#1H^lRUubX49Y<6|@P6iIGrBjA(>H zdXD3cm4^9FFxSx5;pzqn!T=L5o#s~?PSUX3u1yGB9{b>0X4u4%;CZ);l-951lXtJ9 zs%chA@d!UNXgn#NYhM-rw{$4Iru|1I8idqudX_LMEda&c+@2gA^G*<7iOt02=mQ!y3z!b24&)5U$iGC zF|Y}SLf1RQ-x&dU*L&n}sd2j;v{9dhtB8;lHeAt2vRHz0Yk7jrcku{=v?Clzc*nh< z>yDGWLczPg8RRZ*Ghm6yho{7f`AzB)mGB9O8fZO^<71%@2A> zG6oWWL($r2647a#d?TVZ_Icej8&9S+83&DMBtXG1Kj$O|S11(eE!RUly`QxQ2Lq%+ zN>OhX9UgLYKMzcC0zzzhfWu;~8%6c?@ecZ>_F7smR@Z*0$(;~jR~|OFw2x&+bB};D z3;Ul8NDl3vlUMaZjsVoEM=8^4pc5LD^81-B|7|4ySJS5!=Ue+R#-Rhp$nlFDw-DLK z+g{9$c;vG^v9l#tMpe7-B577xT9BPv8(C`I(pyJ*Nb=P664*V00~i`S{g_Q zhtgMImp{>Vh~w%t5@EJ-LSB0`fdR6b3p{S|>7HP4CugR|xJ;Ie(S4F87$U-|2oglw z4QwxW4xU(;}|}PlDw8L zf{D0`g%GwBZ%y|_ofS4x$lN(xQ@PJt07>hG$yww?K)982E^Yf?b+_idO0Ab$6tI2q zV-l^`%=I>l(N*ID;TaiE;K_#^n{iYL4c0G@@E<;wglWO+hDq$c>zyh@-XBDdO1A;{ z|0r+D?P=N*{+m%1qQv^GLaV>@BCpAkK^RiGC=!@%@n=N7-eE5)R66pJZE-E6;w3C8 zb7AWHv81&w^SI$xA$+U+;nXYmrX;%t zalG8PzC)J6wJVC^wP)@5@|2u%`&@LyM&NYtQ#>d{C;qw>4tNAh_|*=u12Se zVJ#%Cam@E}lvM09*)#4fqW%OaxTISm9qYye5X-kE+;k;8p3IE{w)0csx5KL>{b<8J z9gS6@c4wc|a;2V<#QU%g9R!5D|K~0MA8C8z1R2@RiLW;L2Q8bGE~j!!4?g4eDWq{j zMG7Sw-PZJSsKoC>;YslQ5`VP!rmUlFZZK4cMo#NYIbNpx?R_UTMBJ*elB9;l(BC$u zg9^__M_*6g9q@=PKZ0ytl)1R;d80D~We-^0-rlv#2I=Do+j(g|95K^Kv|e(4nK2KY z9OnzwRdeZW+0?coPWDnC zvTBLm`7-DaB!M%(BG{N*{|uhY%eK8(YXPrVZyt?rpvJIJ1QE!XtDxAg(Ilk5 zd{jkHw`SZU7xQ_X#BSxg#xK=j5OEO)I^Gi?wGr=eJ~eQ zv>#|Lr9ONsXWus5iw?mSJ6`zi^{KYJ^vOH)Ls#HXBG7^13cf>F!L*@V!p~=n!mDXN zE`ftkqdY{)UBJCr(sE=*sYZCkIQ`f;DcN>6FaokDAtc3>ht@=AAsS#0ih8 zV4KZ-FK#lhik1#U(;G<-C@pO>8}0FqGst#(sM7Cq9LeA&N$0XOQT2i+VpBs}eUo0> z;i5MtI#v~s@_fc?8_w%z^mEt4Hw(IMYP!n&O8RJ_W|o#LFiPb^>_tyajz$CuqXswO zd`R`$nQe5!`8JLboEXOS1*pKHB^wD^QGWnWB|MNwv9ikFmr|W?+BMJ2)*-Wwu&(Ps zPgVc57jLApgAth%2q{)Y;ESv0BY?Gd{TM7>Ds8&~R^%{u@Vlzp{}%xLfAmyra)stV z%{_mI<9vjkb4)Uq{i#CnWXarjPYa0ZSxdMwGgf`kI=ofpcSt5(E|bfGG5&Rc7H7-O z$yPqgg*M`<%7~VgA;4&M`erYG5X9G1t34s}uKs9|Rll2QruOHOcYzt_SLal3T{#7V zTzKPQoI%a-Nx&D3Sr_x5Qk_LNq(o%PydztR$LlZ|nNp*2T?Ebx5S(L+p&vCEo$)w=sfo@xD#>f|he~d!Zq2d&o z^3p#+3Xz5;w%8&osXI+?WULg!9)0{a{m$oqfS67~uzu&!yzM8tm_V5<^nS;L74(eIlL~n zeI}NJUoIs%`VAR+%oik~!`>ui=VTt-+FhD8ynR6$$le9^en>FUfOC(tUsG0nGD6o< zQk`*qGLaFzSlxQt3;Q~xBA`GrTiLtvlg10(pC%=}>fVy&_Bc(iOdj^iOzVFz(0|)J zbaR++=~fI0q0$%C4W2MT;8F@)OxKsWIDil%filLLH3zK4OsVkLS1)XTI`9;ImO?wZ zW&xKZ3D!Z-oN27d0j=io(iTHH5RsIi;Anc?CWHt$1=^HyfT$$r-X$by?rwzkX zqjD(CU2|zJ|4M}J%7@rA71%6FRZ4vmA^6Yh0g%*#>>}I@m!7GyX!4Y%xCN;<^GTUCV8sm#^6fkE^J=_&K?HpLqXMl*B7L8KLVIR}#1A3j${@kH zKB}L1YcCh#ccW*39o$i+%wj8|JfFN?FH@SK1$cVX)AXE=zZ*&mxQvaB^^NO8W`P%( zAT~}3mkf|mkM+yW!iQv&E=jRGXGQo<>cbuG9du`spZ?!@G_Bvj9|yrOpP`<_&d!cM zrKjMFQ|POR5^9|4Ulp*+st@rS3OUyjeQ2grT4B zBI*jy598WQ`ExUgXp0Cc1Jb1$f0!2wodqD6h#_~9Z0Bh!PPMkIu}T=>IVYlLJBdTj z0)R>%lo48ARjN+0YfPvd+aB4hqV_|aj1@34_dX-f0sCyO!7CoNHmjfvVDS7{YphoL z7jOT6ELg^$%n3u22@T@&C&5vPh9My#?K5R%3V*Gz0Ph1 zyI9Vpa0&GdRcPN5FYg!reK$i%e;1Q6l*C=@VCK74-D6XafAbuAzT1a*j?CMalwp}s zL9YY0rA*Nwp?~(a@elO4%0~D1cnG)PS`UV+X(IFRw9Bx)A{{(}UBg@6BXDNrmm<<{ zg4Ya{gbCw!!zLK0z!?JYM8YleG!NUoD87YJst0E*@Ia!m%Hek7^<-q@#ZDs_qWP`& zv8^ykq}FFOtO|lJ5s1)oQTvtsDLsL4mE+nBGM8~*H5leIM{G#Fq(JA)+8Lz~q^CQ* zOK|7JA5H>=d^7$(6y1!Zu_4F%CYLybw4};ZL81=Ll2_b=>MUav*Z1{;Wyoi(mrkqV z{pdoz13zW9bu}5uGR_8>A%X8uk4G^g_AE%cT(EN+-5X^mC1POmwN0WFKOm(vEGWCn z37ZJJpwQnJ+D>9{t;iQhb{z+)mw+Zvl&}(C5%USjwF5KF$0wof5)W4O@N+K&J^#OX zk2ud*k;a&%3}<>~5h~<$`>4y$DBboSzvWIqP21RP6VOzcE+$?^ySVVy%%uqz8zp)#|cNy*zsf0iSYnd-gOwkE_h zj4OGo&m(BEUUc87-WNrByfbV39eZL*zE>=k1d%*)muM&#+MifTsucc~S8J{;>!~`d zt8=j0kIen;oW{!OYg=;v%5sZFGz%Kjf{VzPUV_4C>LGMHS#*?iADtMie$-s4Y2>ak zBt{;*0x0nrbfn2?e=6)k{Lbvtyx6Z6Xgfv}JUpr2A#r2uLjLJ>;I{ZvsXYX7V7!m& z&=`oyy0)>*_F%x|S1gwJ;nQ$3D)JX1wUJ8e>c`G_AX=lhXM4U!{v7}no1|)+ zhOT1@5Y1%;p$T}xM&OP}Jk&3rtzl8fd*Q~#uOCl#S2^{+FQ6>SnRSA;J!TS>*6<@y z{hM?~>$mYo`t~;rg8UuNV%Q9C^Gtrza=~(Vxhr+S0MFT;{qkD7*d<7QoIh;~g3!51 zcRKJ@$bw(>ypp$6Z$NrOP`B~Rz@qt=-nxq(sjphL4=OQpI}C*+2<+peOXuOv6-2p8StDv6a0GT z=o7&)x@s#hr@sU|uV1Hs;nypqfo%kg{Uirj@?wu2SQgn)?d zA}}dv9VSJ|P=f5`IRj}<|CA(!s^G3O`QZ2#$|NUAZ^DSqr8^%5-YEMvLp zG+4ZeaYc2dWX%NVR=iHoB|+#PNuJuYNv}7&xz@AW-=3vlW<_O{8r)mnRo#JxP*PT& zEIQ2w_cdZ55DEH)eGZwvYNudh19t9=rdMUoIvv_Uzm`lCSy>UeE}IGyCQ~G1$k1+< zR^Wg5=+bw>+S+CKacM`F5po*d-N@JuJ7u!$#+%>nEczIN-{?#>xbPAQ)Q)Sr{B*AU z`HY;s_AR8t`PxhJMfY|wlWQ%2E?$<~cMXYkymK>ur3bk}Rzx$ikJ_<|j0_)pFKE4d zdEP8>B@Gb~YohfEHsKh0uE{F|=HptqFqh%^A<({^c%or9NS)8)Jq~1$b2)# z8_D$`w}r*DPlafJM;5Zl5m6oU^mL&bqp7K>HjRB+00)8>Fa7k&eWFzAGv7OVzV|N8 zDEs?NO;2!H1kVH;m_zL7i@wr!~dXNXAqT`keY+L;gUEjgn6<17l5LHAxcjbxZBh% zIcx|Lq!(`=2$GoHgzeQKpn{T*qNA3N=ZIFZP79>2_m08k@g$B7=snUk#O6*a>naXT zNc!m`Vf&qlKzXA##MGA=R*efQX2C2%c8ofUU!8jfXq(@DEUagqQT$dF^W#BPwIN4U zCM$89Lef{T>N*{-%>wTZeu{c}^2H4$iq_S>{~*JQW=+kHVr%7WvM#tty^Z|Ya6_TS zT8C1FR=zhh5Sj(X@4~kEh!F~1gs~eYgHu(26!|SDN(d#(C25TnJQ24iy7H<@2E z|Le?(wRah>)!_oeuEf^}*k9J2ZbD{bZk^Hc&gx=bPJUeNZ^ldv#jhrLZ;X|L{846u z7h~o%4vi?4`!ew_2&E(&UZC$*hT6SFtnZ;11?(0(TzdQ5s%`RgLpG4S+Al!Y3V*DG zSGi^4FlXnz?C$C~$B@!=i;IGHNh9n2fK$5Ih)HI$mdtp6oMN}yY3YBw=*%GwF>=ev zbueQUDVgPsUjxz%gM3w$T>4|WlinQCuF25xBh9zda*IaB7p*Zrh=G&Xf}N2j$vjA8 z4q4#>?VeGy2$60_c;t}oy~8?p1=F8kV68Fc+{o343^UraySE;Lle@V$+1XzP&x}U8 znD8oVMhr;u#0GZjDJ2Tt`Wm)lbF5VWcBygD5Kwh_H}B_NViR%BqXC`WH)wr1TBqH$ zZa={HS{Ez_O}V#s4}kTg3@DVkVlQugdMN)7vU!GnPubkg1z_;K#y=c9xj*3pT?LKZ zE_SqWi)}o?Ws@IPWb$|~M%C@~=Z^QY+A;>8Fz@atn@EC80Za>!^l(eHrHf*k%!PNf z5HewWZ+k>VM4;T?;Dv_MCBDvcYoHy=U+$f9d%d#O&JFid07E&E`!WXt&JUIDbDUMY zb?v0{vsyJ)=Mlk5=TR5z9l8nS!Olt#F=aSGJ6Ay{RNQK38?GmO{A?|68XTxNg%}H{ zyjY6}RuarU8UM3K&gSEme*r2fMqX?_`0|a|)^Z`qZ#_t8(8BK|=Jj{+$Qy_8IOFPA z{qkISL)oBIYD23Hx`Tg#UC}7=b!f(>gYVxQ)?n+4m+H2qRXra?trHlZRnqbSo=X42 z*8VHh3RU?XV$d?dL-eW;74@`QZO3ren()L8Cv$-q$UVbbK%wQr7|(42NApd{5xYKc zdLo$TL;{=Nbr*oDa@VM>tR|G#rdC1yyS*Dh7geWg)<#B-oLye)hf%Q~Z*Gp-JirGs z`IYPzxUE_FxAv1ob0AZ+h1x?Qy7X5(CE|bKDevqq;`roSAqhCXL{sSjyUs*4Ql2M` zG{O6jYXwx-hJ3vSxtnh{@wTW`&i0F}3)+k)u!DU|`;k})j64pky!)S%6N{<$_QifF)S=iUAr zbV)y-m5dm>#~uvEM^8vp;-#4D<3(j*GF`&FoPVs|8dE8_&$LuuUkbWsZ9$;tYQm_O z@UAvHr9&}%?QwkL-X5m+isfzU@dcZK0#wgPHEYcb0=IqpBfJ)!yH3vxn1b#CnPaLb z0SW>oNO^8$pkifVzvt8qlHqpEKy$2qWieE;MAb*(hSh-YveBmbuf;WA*m2y>M(oz;Y42R6qXtr!7U zzmrS;mb%WM%w|>7k)iNPiP6 zkzQx`mq#l|%N2x?Apq|=gcnYCgbA9QHBX+$N)TEnCOsz<>UWu9$USdi{-5jjeeziW zO@KDj??fMpgEB2z_S1oOhuJ5Rr&_`K;AOPUO)0Fi$pW>ecB5zy_=+E*K{B@waZ?fh zC<dl#_BrXpp$+`1PPR|JH~5= zTLYnJNDOpv$ORlWDpuoueG6&D#=^GRRhO}vZj9H%_2iRasx%rd4*L4DDdT-p2UUdk zZC!`y(|=0E|4H9r{}lciU;a=kXV_0aa}1PoCRIu`TcDmxpZe;VXRg$druIJ)veyWB zEy;5VGX2El)l*`3gK?EJG|Y2LbhNhXkBf^NS&H%ym{ruQ5g`#{0g^r@JFnwMpBA+| zf5LrdItHC|=Fm4i+@ZWSf>9y=nOhW&f$}ygudt(&&AV8oL`_l@d zp9q0X<%{q=Zlt`xBwrqsJ$Ny7*x+CDHOc@&*rc%tiVQt4x#IC-;BnX6)5m_}#qT2e zbV$;?An=tc;9NJ!g2^}}1Gork=WG`dJjKlZGj@Lm7@JbEdFxS2#K-zUcFtJkjPF zhP*}IW{iE_{*=^&!T~A zmL-4G#y3G9DcT0*pGRD&dI7i%7WhqY)a-29_z*&fPBMm}g?7SN+HGsvXUwt4ymG_x8X2ZBiwKj5aan=&u;-O1gOv zf0*$f>=-AU7>=ozW5kBvyh2K>04SNh!}!VvSML6Q`+?tJ)C=5SoWdDQyZW?@g>_%! z!&6i3J^b361zSE!ddM)3hVF>gDdySDzX>wG{mnB2jC8W=3&ZsN_#65epW)F~M&_OW z#hPG0FaK}WL>vMO=AYU^AgRET6o1s6=Q1O&)YR146WkF)oA?yx5P&cU%c2NXzY z8}D~rXYTT}jp+`lZ71lgcc@)T;HJM31j&sqTUTsoXm~bCL*Ek(eFSQ^?g{-!u7EfiGZD7HdpDP{3Ulb;GJe(_V4seRkn5HbDNrGGj@lApr&)M%;b_Hp2kYZY27yTp z9^%`W1^+K~*1;=Jv6V+z35rmr{|NZOq!Th%x{Pz*l#Ubr*+OXc(&DS_Y#C`=8V9nF z{{HZP(<^>r^igvNzv-1Hmu{7I`qgD6J#Ap$UKDYq_p+H&vlGeIwuwb1yvKEG?}#)b zkQ;>{(zP$Tr#GFY`@S+~vZ=cl(((nvRjw1Nr=??mu{%!zp;yAToLe7p`K6xIw`%R? zW7h~A`oR`cztS%%&z8$M$jG_yLhnfX4pd?`CN{xpL2mY*<)?jJFIx?+vARV>mtK_W zd|4EV>mU)bVBa4?pWq*wS*onJHCBDK|o}sjfpleg32Q6c?h%Grv}!&T0|N7GSyE$P5 zFrK6zjA-`$Txzq*saB{;s3hbBzo(EH9tdBp73Ft&bS)6;^oo1c0e^MX+6{PixA8>Y z-m!WoAc5?Pb2Mw|_demn1yEd^)phPuQ}e!G6|Y!LgANiZ-$FMfKMjtk1CmS|jH1hM z-zd+B^8l!&P8YazN$lXLlqGtV?{?J7J^7qHJlP;=DIj#|Eb#6NbUYnTXk>z(2NpUs zJ~W#4QQ+Ft4+t3;t6h&r<^_VyowW@hg^V%_6cd1dz0?tssP9EITRh)AvAJDoevITn z+z_SHK6=(a?Mv8o1?_g)J3q0%x9omu2OM97K~G@yth4QDf#qP^fs8u%P(OTrn-m8e z_vedB*&M{QWtSGkPg`%nB_n+1%OJR5$liV%D|)ytU4%S^{lAv`KVid5&cB_hg)NMd zBKGShB0&Zj)Mug|D6bA|SVpChtLYGW!20nEgTv$7LP+JN)?6VJktC2D$e3khVx~7i ztEX<{*Ye2xSOv=DvNL84oYRJVOs~6}#D*qw1BfF^>8Cd1g-xW#v*1k02l8?OZXB?O zQ%5dh`9y67+htnu$gm=fn4i}5Yom;Ywqc??-a-V7de6@;P0z!P>~~2?1T*r*zco=k z{k=J6qnvxxg+@5=4rSMG6~=01ZT#3d8~aXNwn10p(hrxrsNzQSj*CjgFLR^EYzJlS z*&q908+<0bL-L%O?YH5qvRox{@<%IeZSjVBX|o&>QZ(-eNvfI00ExQpg6zxsK|a?> z80Eny%Uo2h;VE{zgnjrq#@PZswp1IU`yb`RmPDzSDxiH)cQxQ|+L%zXn+$9w^eLgWXGk z{CR2{?p35nu3wy;`&?DRULAT<6hX_c$A5kKq|@xeg#F~M!cq}ylje#x2Y@!6;P9fZ!;&v+ph%ML5~iw8D_JO;f8QBJpXVqlfWJ+ zqk7KdX=$hh#Y8vRA$$#H!dAGo&_i)lnLlOpeMd`5MF z{f5X57>Szxgir7$eNShGv*Eji>siSvGV-Zhu>4hZIhKiX6AdbI?>88E2Y98VrKwpo z-XAW;CZwC<5LKDwj2OQ0mTjPYkA~UPh!7|~#{}_`>6aXKbr_o~(rtzY&L=yB3rOQ& zuq)ySqWAETXD>fLLlmmDX4dKm_p>E(P48tD_XvDeoR$R(KNd6hV=2Lfs(f+NLhYa# zLSn$zRk^k@jE75AgFbWGnG(A$q2|9_!1YO?1QXK22^do9a#Jt zK=l$)fE^q}Vt0G1+1=Y2A4p4=rUB{unIWoWHQB={qYZ6D5#kDmhOcJM&0HtI{ZPCe z_|=vw0uk(`CIh-WF}7N&N?=1lX^cgI1Fo?A#6t7<#5&?n?Z~8}rr)4)4BA_0_`-X8 zx*`>flE9Z;xXJsM6hYkke|n}dhUJ1*AQcNduwd42MNaC!>wZqopRWKw>0~q2j_rUsC^hnGiLlwlCAB4R3X6rbCDU?=^2G zw_93(+iEV(16p;AXWk{HbSl<%iRndSpk0Z-@=dxo3k{M;yg)`@F9&1SN7eE%3R zZtpJTy)xfkfO%`%dPC;L=T2pFw1)KLYKy%J*B&Flle2xkP?1>avpRm@`cdb)p^z=) zdApn^r8+YjL(SHX2@2`9Yk-9Y=D-?r2jq>?Sy8!T(2qtMyOtZJ)lFl4OqhohK&$w3 z67`RQy+|&^H-G`Cw1|KfNoi=nw-H53vYA_uvz>vyeKTF*HH%cD!-sX8UlPK-VFUz| zH2iu^xf$P|rwAD8FUYd5#_Rj2UvekEVPGs*7#r>?q#yJ@A{zy-X5oK4HoWlAjQ$#E zFCa4xIi#t_ab+lcex^)S%rnIY63>{E5aIdIUo}7E)P0F_wj_(OjWN22u?teX9Z;jT zN8~76t|+wYj|1-ZoqFQZ0_ij=f6*VCk6|M7={^60?d(|M)JQ^g%D>dn9bp{oZbX_n zbYYCi+4{$Aze&~vQS7^RZL^hu8%5EZ=?TO(!=pPV%=-Z26Ds~g$k=$I!Ehh3L*(|0 zJ+t*7)hXZvo0@!)gk<1rwH+_Q(}@}_j+S>PawJ1*Mq(@wahO6L6uww+U&(_on}i=3 zvKm|iZ$a<6O@4MztLlCIRa#-vD}jrVD-a1Xdg+VJg$*k;-pwW51@ctjAJ1uj#~=}v zuXiL`np%mJUF|)Q!=Cn(0IEVb`pEal6hA7jnIM=C;s0Ph>i-M#DLuqWCCjZ93RnLu zEcojEm&uxvh=jJ^+8Gr;)bR763th(AL^)BdS4Qn_09KSvsbhiBW2r_%EbJw38HHca zN>~uA=iFJQN^tL01tFy_<90SH&j}PpmYwZy-F_qK!$E+m^pMu|Zr5dK1g9(_P4$!X zL=d9pd+7HCEqyF_o}oP#5jW|}R&TzN1$!0$XdPK@Si6G0qDlGeNIo71HmdhM*7Go& zulXJdis#N$cq1d}7qy1ENqUX3aY%`Duo53AK-)oRN1GZX^GeUS(VQG-#yPi3g%1~^nCntd4X0GpJAtDJ~%M8aia9-FdHOCrhg4fsZ5 z0?1QAfSsIa`W>;a9@4W(yhi~9QsT608y!&VIZWszVMs8P)a3`0MsEe7e8nD^$1!+ z#2a-wNuDMHXxgrFh~VH}`(p*pxboef+{ZKaKQV7Waf?K(UY*sVZ@>fZyO1EL_`ebJzb=>iW@Nb5HymxiJGKnntr;-mpt*^a(DWu- zo9^WiHZ}IM?1($Xz>Zs_BRacmx=z(r!kic|5b>M>@p6G$nEfIB^&v9yxV}tLC&st! z3%cs%uac`Qh!0-!e*IPtRpTCDe)g4MUN;2?LClq1(|3z5tVx;Fsk-o3^DIxF6!C-y zyE0!)@tmq)LIwL?zu{~|-Ca7zDm{J4b4`x<{+_cDUH&;RU{#Y0;SF1M6ff>ya38Ag zB0c+niXdG%Oy&E#jLBfZQ*BLD{A95YskLcG4+iV8f5=@Ru#f4z7Y-=>H|+yaS(+0ml*Rev z!iu|t=!a1A?@b^r2!jh6a5P^Vo9@X~Z~XF*4b9_4Sk{#kZ)OHXi_$0};x6t_cBakK z_@uf2{2Al^QKI~~(GJ@G*Zy+973FuFEx8``j{H{oqdCd1hLr=KZHoH?((~U6>+`~) z8u0puZ?R$rL3mKOV$!lGk|OkT!L@#L6zUkRrR$I2`B~VKEJGMfSWMAQXgUODs;n^R zqXG&F3Iz`Y#8?rE!I8A&hxKuO5=6?^M$WE!mo1)A9FBWwcP(eO3ziPT9|dlZ*S)cu z>sCYc+=FF^*(YnRuH-)XJKd8aHGar?+kx2LIR}$t=wABdivG!wERjRG*8yV zI~g(Iq+~qljp+vzn7q_S(Pbr|6|i_4c~L~{sMzAb0N>p(w-IV}WHz3LJU(I1ecr{j zv!}CmNi!+9C>&S|PkW8mvxNqGt33o%rFXBo=d6V(Uo4ol>ze4WN+@<8sOuRVGp5r! z(0pg^f;Ddsb#wI`V7Imwq$&o^;l1yVzBM)!$|?2qYP=~oaPOvaJeK?8Lhta!_D8aX zILuhOqX7uGmN-f;+%BW-FoBvMv7N*U zXV56mMwH|d6ZXNN>$IKnqcD67e;BR-W2eqHTH~w7cjuwV6BYW@@|ia@WG_z!6-M(O zEf0?Z4K4QPuve_7$(x#2;Q1tW6SlS|Gr~0=Z$>WbHIxXlb4Mbs9%2ss1fOnpAzblp z5G+S*>bHngcu=w!SOTddqqVuheA;6KY{!>T$c=gPYt{@$;*c1HEnGC7IOweZB?%&x ztv8WBb~^o*k6b5z9sYA$BN8JAvx_rc;AY{a+j2Bzd!@mQb`%cYL?rB`dVs+Oz2-#b+5r}NH)PSatYA{eNcgF*->1WsFIKH)YnrL(#VJi`ISx`-2 zOx~0A6Mb{cC%xkOTa4Wx`IGU!5`V>c;N8Vc#5c`E3cs)8!cl06w>^c4>$zEIMw0>V zy@|d<)8?DBNHK&<`Jh&>Jzcy^8c+Y@_!__1kzSUj+_M)PKMzP{;s1bt=LYYyx*$Vv zVEj(cqC-+|e!R$GXg-Bv5~z2jnI4UvvkC(h>BC9Pt4L3gV@FsDS1_?)d2sAPQi@Hfp! z)FJIbKYVH}jy3hLwmfcD|uk zJ9Vh&#?GO-uD`s6=`Ma73(_z4WQK!-Q=u)KLuLV37+vvd zUk{yQ(%HB$H|VC(D-(G?1nVV;86zwRReA9-2?0||jptWQksPQbmh#@2_+1~hFZtI# zg=NFD4C_8k%5(q-(o%eD)wvby$aeoMJyEM;+ro89xSfn|>nktMNCtkoN&=lyIUPB? zBYRnYic1(JdQ~#a>T>-}MyLRa%=eOpNV%>;9lBO9hbo(tEYf?=en!bAj5aep2;$x$ zHVH{T+H?r5@O*M<5jd5d^J+lI=~EDUzpQ35pmJfbrBMj~ufF(y{`Nd_2x^c~DiVN& zV8AdoG?|&AX9u5DCVRyBB!MAYi!KU4DBO1#iM?ypT;S#MtQ#*q53KVw+liFTg`J2? zzOz9k#<+vL*<>hae*=ZxHly(*qfm3jYhGNl(Sfq8$p<5zm~*Rzk>sF~^$QS3f1ZFv z5KQ-YcNA8HEuHA{_KGkSErlxB$egCyrpTV6^f5r*^j!T{b+u*hlj@_eX}D6t+xw6kVYvTw z#eQKB!?W#s7UJga)=Sdp%P@E+qc^l>6B!N(vsW8n)Apk)tOoj=&jYCC+97MdRwK*7 zrR4O};btgp*q3AHKYevO-&Yw3lap? zPt&X$dAiPF+RP@ea@|Om0af2gx3;$@%_o=&RZ8D*l{^r&+|YMZmtOJgtTBglMHF>n z>kxX|G@-uxGT-~_-PS%@UuY#)rjh^(`!g0u8PDo1JJKiZv4}*i`E;b<In zW`(3S0^+n5>7>~w>N}nXBsRv0TtAp6m#U3TPdB5>W`e6O%ZAM#&03(dq{Yx&;d3*d z*aT4%NtCMF)1cx0chh#08=xOJAm%x^g?{J&P~?>ipOg&Oz}ZmrP;3(-P3hgv>;eCu z$M2%}?+b9~7nDeHxXC0LQ1^+{VZK~!mf_<_J&TxX7g(!4qbYuCoxGz>(6jQ>CM`k_ zZFa2WVeT&3 zzY%itV0605Osg%WzPB11Db zzXW+*HJ)SG`d(~0#z95lQF`n%9m0v2i2C6{T|7rfx7}Bqna(ToxZGph?viyz7Gb+9 zB&8!VzMd@$e7qSqJqaWn7#{5aJ#c&u3L~(OKjIQmO%F-B8GF4$z7iT^*4ll;){?0L zuj;ORyTPk}EZX|qdwA^mf7f-)47z}!uG+nx2B`1_Fd+U4_pd}Gc${(U{su|i$pZ(yqcedDVp$;TQ)3~$`s`w2Sm8r zqmW{LuI}%Z)b`8iciCvj`(HKdLr)sHcCXwgx>=tS448WrTKTt^%9z;fS7cBKJkW_| zY~NRsUN}k1BKaFQEFU(Shk3_3BfYk0mp=2+tal+TYi1-(PUep~Pn`2(f34Q8_he(S zv?qqrc;cZud8+%#3~0m`2(K?i!b6w;gz|`8RqbH6x?AM-9E?8@4fjflKPlFOLoV)x zHGH$E{TVT_ATuVJh&wj~l$1!v8mkcWz6A5kJFPge`7j6W9azGFKSLqHZnq@mcX> zxEZF#^Vof$5Xo@jI^mlilTxSgROOL?Z|gOI@aWm5;Gu@kJ5-S*6R)Dic>6(Z!?qc# zTGBq^!1+2Oy^NDkE6p+b$LDn;Y8JzYe3-Q8_tR!0!nQ&XwP1;V?F-( zS#67)j=og8B8<#rB?cXHxz4aQ2G_SvvUDeRcw1f?LX}~5vBv=ON{r4Xk8hs8T(I2n z#U`q7U%&Y;7eJtXVvXr2j1+vsHi0QcpC9&ivW7WZI^`?@8PGHHz6PkFiZ9wmOnCbY ze8C=I!+ddQxqmh>HeT?ikW!rd`A1bx8Tz&ICMtkx!djGGEP=0SX45dxBck_8HANS} z)e*jXP#h(-z?`2T+k9&$Lh^iR>&EHZ5ZId9FYUwJ1I?%jG2xJ7X_)DgfR1t^r@4E~ z$8fn0PvjqxEi~6FIOE6V@yaLoZCIv8<+UwW!`cx@plq@A=Tj@6+s5|Y=b>grL8U(* zFP^l&zfv6n-XvXsV2_x6UKFbdnieoK;T(*hS)w`a;)S;i;1f_8iMji*;o)=Pf{$BV zkXl_xA-u|)N18|ngIJAkub0vINuf$<`P?vKcj{DS$-D%`Py1bb)W97(&a^|?h|*r7 zwELX;l=o|=={>sfTaO4LEMTLlfy+#Ant1{Lcg}LMKaIL-oc}&vH|xS`)-z8RC24&* zBaUTvea-!}!fe!km_P9<@gV*5i#elqKdL(rTot&r$E>ZRT^4eAGfovN2^y~Gwf{W7 zd{&Dti(ydN`4VraCn*5dsM7-M@Irn!SIdNLWgz+D2O|SV;p%^g=|KuSc1^SM& zD3M@pK-hhK#7JI2!F02)1C6iL-G><+1T7n@Bximix9y1u9YVn;bP1lGY=1_syTO|I z3ftw?1$)MzYyLMJ{2k~qxG)hnP_NmuYC0ABfVTZq0g-P8#zsx0p;#FD``PC8Mi8xR z`<-A0JzYaIUHuNvZ0Z(~`4$@e(%}Vu;EUqX@VHqBuP}3OZU3quclhkOt*+Tj(PJ4% zna>!M*Gpze&;WBDB0#sJFRvpm#m(bBZWs%WHziHu96@<;UiXelZ@%N$=nSnl|KGqpaAY(vyHnz75`7hD<`;AD%-;W%gct`V{U%L~?rg2?_l zXJPiJj?f)A)Qi3nCAKdM>lG%)QY`{t@do_6GjyrO&TuJS#-n|7~`6*rMs_jjE< z=(vgaNNGs)f-WCy8dqh#>p+H2fnDYFcTT#E>ciqNnt%i(zJT0Wavfbb1 zuy(_k88^p<2nD>#Mfm{B?d=MTvIP90P3jzzPC+4=|K zsS(o`tNR8}ZP0xO91IjM2+^kI9kaQ(CF}w_!nUg+t)4Df{k!wos#YkiTOwyr_2DKY zvhTiZg@^{Sog}aw*dHdiS+7J`O#gh#+|a<`vsMG!%K^hF)wXNymEL15hb_Ru&5iF3#J}ht$+c zweW*E72Q@ikyxFCHDxZw=R&7I2|pi3_Uj3lIuM``^=y+fLb5)FAvfiIK!AY_h82h)g-Y5# z-7bnODUfFt2Y<89k-AYSRaX$WssE{Y-)TkN_F0T|^O^GbE+jRyt5e`{6Ma3xwhfGO zw|2)$8?)yerIKT29r<{yJd(*z8XB|Xw?twTGB=#jlV$W3-T>`A1GM;IRAPF>YMc98 zG)M9(q4perXZ=fLK!6uy959kn%Q+vPb1N3pQeAi0WclV-wr_C*X<$~t+jv9@ONZd( z#Is8d(+-2ZcC^H4RQOUN(FpXl@m_7%t<6N&M(Nv1pH5MM%WF-qW(Ruhnq$BG{d%@1 z#0GE@FIZt`cXxA^zM9Ppv}`fc@O3c}sBo(}b@y>E;QG~HVp*Dh0**J3fFr~&UP`%# zW&GPdh9&GPLK_xp3VRTK}0?hB61>PfrTQ1`*_i(>kTN0%NBimY= zw@WqpR6j+`)M4yKb&~q}5UhJO;>=$Y20ae$r;@niiy!w3+;Np#1|((@hCsEl^wkWq zR3}lGa?LYrEeu`aye&6a-B< zE|X6_|CpybW!f7Ywv2!SP(MHDt0L~S28|6ny7v|Z&Vq?KKZl1(xA~#tz4-Clv?EXJ zlgB6sTW@Gn8H`JkGQZ1i_YNI1^NxQ*feAOb|E@cSx__%xa(#2J)3UhKh zVv91hZ>*Df@2|xCX@Ke zQ=*KY^11hZ!-*rsFV)@-^^}ff!=4Z(5D5OU9LnBF5vfyl77ekNhttRjflN`^3%p$a zcBN%`L5`pRER`?F)6BL*~1)i$sgE4EB+vu-AMl(UA3Y8VJl)_WC#uf zd+*gL09?=f>cR-5oqf`(C(rb`huUl5#nj=p&P!Z{O)NzH-7zjl?&H^=@H?{k$v;+cWpo< z!UlB@QrOf~`9U`UQx8U$kH7WwhsyhJclPIYT+t*sP-3Tp<8JUSgQ;OtBx9h-FD;Sd504E8{ zTkdhnKfM)Bl%!(h94HLVMnA-%5L@rmxjyD5fJfWi2+25Mdk8jq)4tw)Gf0%9N47+f z+YL~_$9W-ZOW}8AE^ECO(_JscT}ypruptJuo25UJ|8X)yM$tGzWA3`{&8NT92$R-9 z0kHQB>v;vyb+rO36Q^33(wNLSIDJvMn8~A}IDB&Z*Fu$qQ{a_OBzg?E0xt0ju{2Pb zwCmsfyu@?nM!rwv+bX6tIvVL67#$RYT84i;TV(FARhmVfpvxxDfj}kH#@?pcn7{-} zXy2g*g-%@7-7xjgh zV_S+WJHQ$9{SPSseoEb!K>hhO1Yu#%+g{m7)d8vJO%q0`Bzc&iTr7zxMBu~C-&$yg zq&L)hb=r={QmQ3D5pD_l@nSxQT<%LlY|&RQe!A+`e}T#+#q1W9>6Voi_LnB`;CWKd6A12#N*650+}&-_cX6acybj~v?h3Yqq2*qR|H!^THr($=O7?6tfK~s7 z!(8)cd2G$s+}zwSe?LY!BC4Io%f%QS2AqP;#Kvwmn#q0GHefDh{Q@BB~jZ}(qslUJ}{d1 zrvOwnG70kL1r21;pD2*eg42B5@)-2Bs7H7;mC-xH#?x#!&FzKNdpI;6DNEtH&npVE z0wphda%@!WnqfwMnWMFmRFjtgH0M@_KmuKz<6MDpvEGn~9e>CY-|>bf)8GrK%u*Z4 zw|9#mk`htnYs&szqfCuGXhp{WFLY+t#V2IBT2UW#Rh`Zn5rI)J56wUB4&_M%wR<7} zmHaLxRjmb|9~ixJ5a|JLd7l>=sBmUBED}DPxz>t}+LBPX=xrxQ18Sn@p*=yPUzGmf zhoCfu8y>JO7p&``-6AL$h2ZlFMi=JodGI1?hmjV}yo#NQj2t`^zA=5%XQ!-*M4Ttq zWR*~ zK>PaxBGlUW z*o4%a4uHLF`I*FwuQCtc7MdX8!miR?G{S zWud}SaLvn`Om~gvKER#eZp5zS;n`9?xsm`Pnn$s17s5;BvdxF69{vN^B!fZKFPN2r zzMUvLdplcuP`>$bn?b|g<7;{g)t?3Te0WHeW>UjEX1`2N>-WLEEC!Rb+pP6-*x%bh zF8O(3tP2WWtUMHa)OXaGkHpWnJ&uLyU{%DyiN7apn^Jy>g!N!hNcnAvUz_ZTaZh<% zbMoG0j(Q`DX2Ps`-iZ5U*dY$S9Gq}td^+$sX2z%1J?I`XH87m+bGBFliRqJG%mMnp6lgiNxu8O@zv{Qm}NHYtK6k@ps-Gj6qxU|&7hQSxC8jcdXT9=lGc zQW{+;3f+QhV70Wg&UHk7V>CuL*||@;-q@g4==+^*UIaGlp8{K%vq+lwKmCfZR3f#{ z?S1umR`H;H=CBQSU=&yc_I7|JZ#(KK=Tu`O12GyO?|sI9C@j>oAUABP!wIp%2F^De z%yIYO=2Ha?$Raf7G6&`w*a?}*bR0*wt`v$d;-WN~QCAY?fYA5PQ^==Hm7$B<$mI&s zVmGgGLM}B){Xzmc2;_t^qTJ8gqa!1|d4%(r_USsF!B1>fJrSNR%t@NwID3y=RM|y6O-m()DVnT{q?Qc=Z|R2LG{m{`E4eklWqIk%x0Z z5`hZrTEcf13j?wi-&ZCGxPJIP(C8CfE4A&yl>&t1nx2Ch+m_roNHU>ub!l z2f;;sQz?aHKHQuT_D0sj474m+jy2yMHz)bC5IiQ9t^v04?F;iYk(;Ag zLduOEP~(~5We@&EXz`=r)UxAb@%ZQfzXt+d4zg~f-Mvlke#1*=|3vL@9%M9)xxAXF z<`?$Aq~X<+{|O#20WOps@v4CEmu7@&c3%kiGS2fa_~NDiAMmA1+P1dn$2juIBXsXR z-J?*r>9bU1dSnRd2UeSz9D?)y(zMLIX*d8 z82I?1Jwpj9+>My=-^POzCD8*{QosFtH0L9U470HF;i$37j1GFwX0coeqpDpeak>d( zM$WzZ2q5DAGGq~=SE%03>?Lo#P;Uz_FsUN*WdY}6wwR*L0e7Z&88CPgFWb|*gv`tc z>R*;QTfhXLf;i?Eu;#DZ2uD*3*k=7;iS<+t`f#FZ#z-fhel*)(%P_lGEe}~&Rb>CI zz)EAc7kT@PM`FQwbLsA`n*prY+zkl}mL)?i%W92S&y2 z!wNs$%5D+?&uj9v!=Dh?WdP)Ec3VA=IRij|huI_H4sP3xWZ&mad$98iXo;qE=r^Lh zI(dliL`=(^zwkvPVg)`83PzxpLF-F@XCrH{kO_;9HWL-+l0(6rdp|}E!*(OV^!M@p9uaS0&Z(PK- z)BkqW$c+C*y~wC+lt0CMiZHxfY5mXscm||@BE}0_X~06pQ?@~yB$PJBh`Duy~u*KKG3I7vn+3!!{^@Q$=Ar3)3ZZ~QW)`3^8i71TDpBBy}yU!X9 z1QRxo2>!-eAoWgNf%(rZhWQGM&))%i*kz-<24th0oAD)lFDWqh%kd=CsZ&wvAs|>*P zW@H;UHP-tsV2;WD>Ag#@#=Xmfm=xcAg%MK()#-}vYiew%+{+4I9IK ztDbhL)cLoaa+yC6DQ%JboeDXJJUhdFu-YLS>VaD~kYpRTJGA3KLD(I!hNl&J*o zs>OU8aY|hyhPX{LnMMsielnqF(%6Q7A|^ZOvT1yaavsWF^IqCMMEm*V7Jhj=Al{X3ykW{8k9jcWh_3Xy=Bu z_o0I99q&U~F2i}QK!nZl6sN;|g_Y~)F(BlQ(hZ7(Ny(bz z-A`I~eHg9gKOQ)%0xxl)4OfFPpdAz^?_RVRJY4@>@OxKGh)0IL$>rqntVyr&jQUZ^ zCy~q($c92L)Uq>$%dZ5@>>VDZ# zMy0bU@^wWN->#9NLGhn5NB?k%-zS)a*Rnb;=C6Jj7{w=Bh~@}{7qOqm*@$tvhql)d zO29R4=ZyF3>Pp2aY$Ksjj@ZF>8G&Ly!P!UFaZxJdQui(NqR?4A#&E(G*7;h1DW)x= zAorAF#X;f!pd<&p?Y+nA#w_i{gL4Ts;WZ`yg5rmnS&7pJSi{kp$HBgygejbrf_}9S13UdHNK^UFAOCwEMN!-}ci#X)TrpPX8~N)Z@%wW-RdL zzYV=u@yEobG99O>oCoD#7{7ar<;R+`jabW`|8c!^`#k*cGJ_& zC2!kk!CpVYZ<_yy7&+kk{~$){w!q-h2X4JMw-*{ty^LYBpXLW%bbhtfAz5)8Xb?ub zoSP`QHieS+MqR3X8lwZ+|8Kc3$QN1rhxZQi9TZIjU0h!~dE6;6OY|T3gnJ-U4o9I@ z+epLMk`Q^k%`t!RM+nvA{C}LiWn7ed+ps%BcXtgXAuZh;y#0Ucvz3DGr1Xf&5S4f$)j*nGsTwNsSr1^5ze8JNg{*b%H z@;ag`*YYH}{}j)CBakj2HlGVtYtI3I&uJrEBOC9ef;b48Iw0*gBsZS-BW+jCEAk8K z4Mqe_CpoPRJu4v$G1(;3OEbf(F*r0<-3m4h6X4$oZsldZUp;=#Zf1PI1L8tLy4Kq@ zx>Ae20w(#(zNs^waKKgvKe{GHkO=W}C^ed7I8-skxG(1eVlsZ5?2RZ>cUKf3`TKip zW(JJ*8z1Ci6`IK0Km#xz0%&(i5_LktAg+YQA8oF|uJe-I)mqW%sGUyiw3piscKkxc z&x)@7%7^E7Xym|yePZBQl_5y|znGDc9?kIFn_IU<_VxA60!U{|oUWh_GR8&Oh>G3J z3F4;zC8xsV$Izl(ew#R!bB{`veQ_gFOHrUk=hnp6m4b2k&D5yaeetf`S-~lF52hv3PChS zjW8Cs?eWkYC(PlOqud1@uHZ!{_34<>Y&a_-K22A<>%}SxT&J^|d473ZQfK|DzED;UEJw7qzZZ)3x55OT>_k=`6+-bWdb{kQ5@B<`o?Wj4NBYv98zxd`POha~ zO&ssXYOOel!qYJ)x8{$6IX+j|3YxdORQ)wr|_Nl61)Zm5S5)di%|fV_-VK_ z=8Jm!{`^o>*4Y_~aqxX}FC_@>(%cVqFc>IMlXzJiN*drH<`k|h=!8V=;1InSFb2u% z>y<^6je_DK2F>4}7)`Cje5&Ys-FK>D5$bh!m3$S)8TbyHks$bhq&KPCUFgYxUjN~_ z`EQ4rRNn*jW}i<0gWgjv+{ZxODziRTQ4cMm7xFB`-w2mJ$||yF3zFuJy^Bw@Y7Kou zogvc6?Rkk2r;5D^>RQ>yB4l;?64r+UpB5r-@o<)LY^YK@1Xm`r7d#`9BlR)T6zIJG2Ge^} zlILzm66OO5eer=x1D4tE)+Pg0(4RawbN%hpg16PMgXzCr@L6STME2b{Dgske z5oia*&cbdUK<5jD&L=XTLcE91_r$h6G!S0vCvpGW> zOAY>rB%JSJQSTlhQ2Q7~q#OHWv8{^D8)u-9MDr!p#{d^)Cl5U@-}(S3_**ZROu3fN z$wB!~8V)b_?s58(TM?7}ld8zj-TwC|8=Mi8y83n8qgi@S!-*Ll{e1gUO>-* zB@zOV@FV96RGI=~-Sqf0$lZlP`myWm0F{a~nfT$;ELR82IO=o3vx5a{$95RKyny(A z0*oee{paNSUJg5}JeXl-K?h`<4jHJRBMs9B#bE zoys%RM};?S0g9(5mHsz63@~h8)yYLaN>B$+5vk_W8^7j!}uHs%US`!eOb{L4&R zxq){xWmBAsWN!`s&_Pm1u!N%o`~W$nS(?-D-?d|gQ<8_QJS>7*Nt_)u#D0+@`1iGF zWI)?RUSq?Y1wOJ=D<$`PpRJrk#a!~(kgUQCNh^x}L~j!6mJ6vurqQ^lj-vuj?IjWs zL%$DiHCvDAmr}rv5sHcl@`o!um#OZEMuB(eMV{?MTRBtRVH2X{4R}u6OH2E#^wX9d z7fIqy48@^AWXJ|1Rq5tt`$<*}nO%3Q@3(C6cl%2_Pw7!o%<}dh$BM@eNk4=NN>m7! zV>>YFd_WhRV8KY(AUBUm!N+{G59yi@rNg6Pq7b`Xck;WMQM8^E!+u8ask3VjwvR^J zQx*+z|MR7ir5?H=dS52`q}NXFtAZv_dDbM#$eo;Cgo6UWh#+MY%OfRm^Wc$`*bX0x zl0^^}ewk%_&_<+|%#wHP^p|JjTW@ZXwJVs~jc>3YRHpacF`ng|im*1?AfZt^wpdNB zieV^n$4!UrmQ72N{di3Q2PB^{y_Xi-rwkOLRCK{CL%%+jvW4SNl))4 zURrk2M)8r7tt^krVEaDZO?^Co23HF(D7Bc*&xp`jCd__-qqmS~6rk54$1G%RQVGE) zCbn!m=1ahPHT74dB2=)p62`c$sse;V1YR@H6aT{>og_v>n#d`hazJl~J znZ%1D3HT6f(qa{JIBy|(Y1i8(H3ncf?>r0y8ItjitgboQjOC)|WurWTr~k;Om4Sgw zvxd`MVUrVTiE5HCfa_vbRC#87^^;&sPCYhk#8LhFKEWrX%j%2Le%!7PZBe6?6Kj#M z9z9seN+q(pa^|?O*e|>>(nOE;I;{C!kF@x|C{lXeW@NeWn zkLo50x}>nkS|iDjLaH$-c#Ap>#m1z@g`` z&9~C>2StnyZqGO-YZ=G>LL0SrxP;x%bhxs3u8duzuR1FaI*m>}JXB^mN#`;QyPGnI zSv<%z!H5TjI`{(4cbR#$bDAzRzo;SAhiy&xI`HHeyBzhQ9bcXFZ3jMMHkfJWVd^-c zx?Va7`hb5lEG|yJ$oe`_5nGoCqMAr3?t9+9`(vrl5vsjkveLB@V-XTn)iWyKXLGBd!THxx0B?Zm)=9BRw0VIy~(a;{*IkXkS5G2qe+^4^Q)vm zjX1NIs z(01wL9;J=Cy!>)$wxOe|d7fi7)ARU~_NU;6mwpi=h2)hO2&F07VC{3yppZ;YECz~{ z#VpH&A$~XT#2U@|4c@GKBN1d|FOEStQoTumdM#LRD+)K)=;|`;BbmVUvzJs+zz|_* z0?RBO*~W6hOXqIxv8Oh%;}t4}!66ea{#O#YLn~ZpS3*z2-nZ?PDjSXHT?VQ|<^hA@ zQ+^vOu@xQ}EI?rr_=q??^_b%~1g^wf`Cu>$@UukkS#;#xQc9!kcIdnYTGje)aWb8C zw$e-`B>(sP8V)rJ1ZxpH&P-)Jvx>S*pZD^9Gk>xgD&dClJ&IW}O4(XkHmKpst<1QC zMp&_$HH6h`hd8l96VYC4HZN)MjC%`X`~^rJ-}XN&$<9xfM4YK9a(g9l^;XQT?m6x8 ziJ$#rB)|k7)!EoYnnN6BF?T+1P*Lyf(SvG+;1qr=T_su~i>Ow(2A4%03x$~;5JCi1 zT}*t5{LoXd;Nt^Ve?{Sv^eyLdJ_4m-Y0nH9iNQelUaDbXSeDG;Kp84hBaUD^A&t*r zC=6!Z1w1>PL`evuBuU?Ty%-?hUsEwAl__u#e@tgGE<~3Tc&Kr~zG_@RNR_XeL{EiX?Taqj%J+HO7xSsk0DLB1?uLwq~y*a@vfpL`*$99}NH)vX6 znOc^?d`LoM3wXkCDAyd=T5LYf@Uy{zh*S;h!XnDCj&@y%s{R1QpPqq z4?z@a$9Abv_Bo!AMYjA4{C78U^=4QkX1@8OjApfY;`A=a@w|_+ADbR!h|+X0o@5W& z{3%J!Gx(MH)n<#*08LtVH@b_NXOI}}=~-E$yK_+xC;-Y7?;4B=h<~$!!u2yyf~ZE% z`!*=dZ~;E$H(gjn0l2WbHh2VVA*PWWbiB9hM8#QWL|^pX_tArItKBL-sI z)e51+ZRMy|8$4eXWxe-h#Ts<*FJ>_gy7748E`>wb4VL^|1pje72}(#; z))1HJ-esn9CuMBy3#P9rkm8lRvx;wPIA(pMPmU(nqo-Q~uwg3*d}UK;6ITAw1NV2N zcGGn3`J%90tZXBdtFQUO16#Fz&um=OlNwp`!%Y3uoo1<=j ziJ5gqhY5;{tBdn#kmSUm6MeDC@08=qL84-|lMAo=6CL4M!@eYzho-WN73NhRgql()dU%lWu$>Hfh_DW~#nPBFdR zcZ2~z656bz`I^SY8%wg=Rmy(6 zjU?h05!61`t#K#WXuIEpWpcu<3iCeV2wc#gGfghr2S+TlVN1~9KA$G?! zuN9WxprK5PqD5wJ3f0iyt$T}+@eDS;9T<8se9fpS^9Ua!RK?%PcX`=0V;r6HQ2uYQ zBg-F&@yjR#O4-v2>lc}a?|gs6NUf^5(jC`(N{n)u$=-CYnI3`Se{0Voqx_$zg^+Y! zcZ*}J2T-@&?+X1Ev3?HEb`LrLQ!ewD~?1o)sfyli^*F_T^t$_>+TCR z-chc|z{P4r@|OCQYPQd^b~5Z{1fL2VJLdFo0sqQUz}+G~SpUP8(oEdqWeELcO9`St zk8aFgD(@KaZ6=kDxLgvvRDd=52+Q;DQ5;D$T(n?_3fT95bnNIp@aODmO|&xKm@;05 z8&gbZvGF2ZYgk9J2VK{*9cCwJNRL%F67w4j!{uw1di*`Hq#&Q;kJj&T^6@*ni_&wu zf)=x#Ew@~qT{}2++t13#TlypTccJhYcQ#$^ZTH`oOaH;&(^x5;uwSbk$ae6tH*nZrY{n*Jic^Ti)HgZHV72z{LMDPb^!70= z=bM6;>pr-S*PW)3-3{g@`Erxec<5g`pQrQDR6arI0U*G79Bwu_rcX~_G76RssG`M@ z&^rE|xH)+c;Nd$SdzRBmF2O$Q>#Pfo!8|lzFMxLf+_$4!r*FXuGM}H3jh)VBmfND`8G3@8Dz@J77CHrf<|!JS>fkboJvNss>Epks*MJ2D7kVb;UjY z_}fHcL10BfhKRG9-f((y0k6U+t)`|Xf)57}hEe?8I<@R_9F@XB*XQ!zJ+(H|DRD%geZY@AoU#$S9=QGo%a)R-S6?Ac zjS9ryKN*nuDKuGX%e>m9>j*`@Z)M*dkQDogc__7{G@XX`-*iffg@jjL4n)Qp?c#xS zf?So)14{T%*!_jJcO*KFy}izc;PBq@E3D=N2bIi|M*)d;P;({p{Vj1+aekpXX_Ye@&A$U57p zRg()1zniPAOXmYz>-qZd`Q-e()|9R9H^dzs?SF093cgoGfVYOmY_v%gPdL_TI6ISD z5!R{C*T@*AG5mn**Qd@&$hNqkv6W-M?)Op)frpZMB!PwhRmv;*E0wP4<;P}OVghPMwA4DER7*sqFiKe|t%BY6d|5#0kRt*rb5nMVZ zFr4VdTPW2v3hcK| zLMyr4Q{^{VW2%@KI&hlI+id_~8Rwb`rQcGRVeIO|F`o)`UxF?dVC8r<&bZQq zWHDDFdgYYT#5sPof>h0KV$=TUM|!L?A2T7SRWh5#k3`GN@|GJL|Fzo8f1x9aLD@LH zv0%D_g)XJ2$pg;Lt=!R`m3@_*Tt^8~ntTG8lLZGIo0qAfP4!5LDztcVWBF8f(&^zl zyv1*=L-5M+>s~#ei$;lu!>5JNx?AV{K^|DEC9kHwk`*!qy*1G3+jPM{k1kaN2Z{te ze-uM5>#%7STwCB}1_qv#sdQAuRm-!CM3{^u!$5}FWHTLs`7~Wbht-KMqlW#zsa3Gn z&zwYRoD%>i=7qwO&_;`=RJw8bZz9N^1hd$-cixf{99iF-|;&pFmdP?DEPr!1YZg3b{X@1 z;u%vSXi;!%?u-8Y%yCNGe4V?gH{=szHJywm^rK=uD*+IV&3n>rO6o*`p~sD_J>E(x zD%=Oo;bC&MO*Sl3|MJdR%6~&BnEO#mZYQX`XKZU9<@X;W8~wwe=&nU#Q@%{N{d8~c z`-$TMD~Hd900o!EPV75eypVsQFIS4i%E_n!aPga|wp4oZWZ*Dc^yq8cx!1*^(aQt* zsaBgc5h?=#s+`a(qOyOrCr*pB1Rtm5YhI3yJn--jE|?+>v=`el_}^*Hz+zMD8jYOpJ#1rNK$u5N;s z2QI6yIZ9hfTf^Nk(()UGG{7dmgx+`Mhu(|_ez)=}4#bF^X3G4@n6UZezyXsoIAD@= zW%;=P61$}JH-gtW^VnqP+xzX=x;==4Yk}d0=T6lCP0!Iv57^6}kVz%zGz*8xr&&|G zHZ`bXy5}yLwDLqzTCdQiMn~%Ot!@L{0(^@a=V;ivm&Q`0rC(=)-$v*fH7yXBn)>L& z0d_jf%R6fa{^h~?^5}e7ZKr+DeA+tnVZ&`W>l=Af5A5|$;W^@=kOH~fEceWw*X9pB z6)PqF2-KU!3#*G7jKIt=iQielJNI9mSfpnAXZZQbin1Six^`v$MMxqV;Rp%WRRo;^ zQkGv8n$g>qS~_S$Jix_BZ!4WI-QI!)TxZ5u31&;|$}74d7T00r1VT7;Nsixqb!9j} zicNTk{v%+;wgfU2YYgGUlOwn!Zt(0qOG zCPtrYC*>YyeM@+f8XPtg+sFwvsAifevG=Ns2fkk@tOe_m1L|HeQYJ$zMFBPk&)o)L zCoJ~%^+4Ilp9lN@GC0B$JpR8DJpFf4b>L(xQvO$esYaM%u_C8^Sk~jro?NqpO((Fd zON{HNZ?fA?FWv|0L_KjRj0z;*cq`jmpJipNHF^EzT5R89P6B7<72GnSTYXjALvr1x zroLjF74`S?{l8xtc7arj3Fxai5I1i3^L`ulG(r@U=y8Qlq9E3>PmAtr38FD8(CYtp zMg&*biJhGZJ{j-Xjk{C)Pd@QKk%dl3qSQCOqoG z8`fQpFm^$Kk!EV_R%h$&^0=H^RC+42ajDITz()uC`*R+G9#oigw+TZdI7dC^eVu0h zfM_fh`>-Oy!cci6@~27JnZpSPM%oF9Yd*bM%TiH0DAfX1QSPW2R*;vOZF!;Iuzj)R zs#dgWmY*ug6^|x-&~xMwB^LL_f2|^GHfJW-h@ODOB-HSE%ob2j*ER|>gd9tRVF&yF zrWJwD;yp$H;%afg>|)VyLk60JrujR+`$&eGdVl_9#4Cg0Lo1avTyHry6y0-EVxC;-r_2YG8CJm$*;Y z?=eH|(L^NDBv}9Z()e|Wjy?RVkh+qB7W6u1JQ{ED?if$I+Dv1DJT$gq#~cGV7HCUQ zLp{==_9>$Nh_!-3utg1RC6v z_Z81^J5(-b_c?)1>viMGNciVeLhwY_bBZ{%3LA>YE+YrOKK)!LzjfXlt`^cX#VaV@= zgKtvjRPzs#FmC-oabf8Nk}S_Io0i~HlME^SQH!^ryz$^Y(oZ2%k+rEr`!lBuZ`j{O zrhj=RWw2Atr$FQ-{06y*PCAa9FAvE+OOgFyK>AE<%2aAGCg0;D@eb0pP%@%R?me>? z@->VKhJ(I2Xt?PNdkq?`3@j)}6l(i^YO=w21hO&l3aI1)6j&h+B#(=vr9Tpi7{ao) z9v4N56|IFn%iunfaLWQ>_OIn_?uOu&_muUK0cFNP)e7E&TmJ@v|G6ceGX#hHnETPVCgw{3?huo^ zw4bh|12wR3{{i`MA@7+B;KIS*Yj2O;`;JwZ~Uy-*; zp^&Eg8z1*a_yEeu&+B_*WYbV4iyR@99|!UR@zmdrJEc3?B{NrZ%W*L&1#poC#V>Gi z4ujQ5!F>#fhn-LDZP&t+ao;s*;@-yvO89U&bX1X}EKcI&`oXI3k34+NH>#XAEwI`P zd7JC)qfoCGL)Jr4m)CD+J8XGr+ABz#>p#SIwKdc3#1d~BmEWGpit(-Exb4j&s7Z(r z-TRetT`$a#i#GTx%E}1PkbfskG4>(wT$o3J&igD}?L|9F#o;zNxS3K;K>oM-6<+H# zMT%)%#jmI!Ms}(q0$h#At2IX6IbCkQeIw@K^O>^N4k+0+`Lx3JF&&nLrPVQu2h!1_ zsN6{9-sZ3lQh|@pE8;XazL=e*^i;X5AY_T9b!m~k3y|Qx`wZ;a*{C=D9;J9R+K{`J z+>x-nzEWz`hVmtqBauf9Yv5brQqPBpw@xn9(pH0OoG92YdwS?VE}X|Pv7Kp^_qQ$3 zRU#Pi+E&_+s6wZ{({`l^zNq5ins1eEAe9-r@_ zLT}zB5L&6O2o;hlB;-T|2A&G<^4W(rV^f%%GhP9mDu@ZJlFv`qu`$Ja zW6gAAg-7BONel`86Sw|Tc^5H->Lli+4 zL=)^dSs|Zjgs36hPGY|9&!^wWbC>4nZDikicQUa()kggi?3KNEq0Sdd#<_nsd9$<9 zFq7e`=GeTi5y2WTpdLu>5o05)Gf9JwAN=t686F{F=ys{K_6LH*FKKM|yX2&*kJfcF zzoRt9t(aT~5uLA@Imr%uCVS+E6pv~DwFWG;Z*tbtz92eYq=#uiB^t3E#iDIu4}5It zRCTlzlek4!HF~}s2th2>uaR(QY7=}VSQeSuhz+mn(;vw~2sqkh=u0Yp@Ti1>S zP4K_vzkj61ozIk)PqgQsHG9vzNh{=B6@YtdmQ>~WUL*rg^n2S9SM`i;tO4AsxsV6( zQj5M~G^cja8-9eFSDpR4ch6o;bw#Bc^>y=0nz8g9?l&-*PmLW^i@2WEm5Y*%FMV|P zJ&#&?1FpI-(1WCGHo`=rh)CiT0HRO8tAiYiF-2G#yJxz zR`e75kt>VMm!;Ws#V`{#G8(SwqdS|~@E-1qqsvCN;ClMm9x;&&(ZJ8i{)0^<`4~j* zWW@q@c`m~Epj^58y%=8C-zSJkqZhrTQFT^$8?e^+$W zAVDeK^JsaDL}w7EIUjy#WC{oQf`edpcXv{cKESNgxe`;Vj)H%vuWvg_NjtV8+Md0D zrDs?s@=u32TQI#b(pQ3BdKY=VCzhA3J=ZD;$I*Co^ngqK_LL(pLUO6#gA(qv!5}A9 zv)PI8tV8dTk#i%Ao$adF;wp`(i+0$rk4;Cqngnx z%Td$FefQ=SoYbe~c^So>J{e)Qj@LEvG^6fI`+KDVGN1uxG2loy*6{P_x-V;i;j0JN zgRJz$NLk;i6J6(YCG!mIY+gP?a)NIG)Tq> zA-J(5NYfsj)Z{(i5l|DT=A&nMq78t)0e2;Q?f8FwfdDwt0XQNO3PO}jBQeX@9B6_WGgQ^p`R4~0^5*dH#>A4;@EhoAei4OepHXk$9TqD6fMOuk1C?vujS z%OA7IkMAa_J2Urn;&IH3ts)ORWEZxXVlIFNKJ49|@jh9~e*V(XD?4Ot8w5>QN{kZO#HtI{iN!%~xmu{N6{s zfTYyaFxv`y_m%QuZq@B85&`>rbgRjD86@PYu)!(2*`SrX8KOxED)Cm3Rkdp+^A#Sw zXre&*A%ppFcb^j!#uScO;;FIDTy7XI@46^3j%4|;*K|2)K>dS@*hX!7Aj^on39p#s zpr1bo?#bDc;*s&|O1kpgYL)+x8|p&*iHG@)r}ud|$AfzrQq#tk+V6xF?O33`mh1{q z&%K1_3W+k1glKDDS<+cTnGO`QeW!1GO9el$r;n~4iV5X0k7cX$&8u}N>|i`=TuR9j z#_&hM?m3IDSUprdfE$E8*Tw@|P3Vccz4Rp6?zU(IG9yv20u=Z;sfjJ3q(~PZDM(1- zbBW&=Z~OYP`CJy_Q9h$8Gzy4cdfr2Q3+Y*5@IAi2vqkIfS*UC&6}q z?qEa~tzs-p!Ea8|=COaePn0_aZfXv?%Jxsir&-@1Z26YnFJi|Ey}@%KuMee6R#B@% zt0>70xQ42F%Wvr!`JwCOO8ARJz^h(JCFf0O0p9i-HJM3wrwTz8?bjHi?;fmjzZeyl z@TBaQn2tAlO}7PGE6He>Xlb<>e!0#VkEmKSF+9@hf*#EU!t`Aj7!iq;PnYo@da<R{t&2EAkG162%w}2tiaSRB0SaqJl57>=bXRty`qUxi0q~vO+ z5>ky{uMD5Oqw@N&3n54ew%(HxLKd_oI^uQcW|x-P={r@m66t`hxNV{nacOnco?}v* zTZIKvpUjyQnvf=n-yj`5&1i~bcefUy&1em9h<*2N;?jAHaF?6bHRf_myqjhAfxomq zYI7ETu|mj$yA9z%@wuLCC9ugu86A=@Zz?(&EECxclw4&ypC(v=>C*5KEQgc$@3sssKHPe6Y&(Cn;2jZ(cornk_ zzHM16CErq^EKu^udq)J%HfW{&oPb4+YKe8x@`Dkx2Ve3Y%a~hC>`|>}(cks32>BPx zW0I|$y^KwV51ZA`VnzX(g1C*qeLB8+XRu+(Fh2rdCm&L#@m(gL*$G!0L7VVd@9;aJuqG@=BwGZ{uj#9I(O5tdjkr95bQaVrOHUWgKsmmLI*Dc& zh?qq0LW@?+aOTVAjoVe8Dc~q=A%BjAGI!Rwl2D*Gy6k`l-vI+Y(9xpb^Pxp0OT{7b zJWxL6ekXXDsC;)b4l`GaLvBTXX?Xp6>CLGQpXCIu7%8B4=$l=twtSLen{&eyi?1BQf5M53aODzr}*q~L8W71sH zu8-rsLrXgCAiRjn|^a4)B}?5 zhcvFB(Mb!f>hbx#m1F2UR8ae)erQWURd`@nVI7IN_6qBtA|{4ldiaW?ab|jTdVn^- z=&GVIOsBuEk9@_SHNeaOKiNL~xzW|LyPL7?CC5s=$f5x2sI5TI^X$j}tH>EFDH)vP z3k7$K-B%GSbLR2OjqEl)LU>c!pvlUpKnrCc`hfTDR1+nHtz{J?I_vO_TIMQma`t{Y z&Zqu2qu#P)s8llCBMc|bqPnmt1z=Y5b&}%``)as;B4^#|i(3JMny!I&fo*QADcdFo zfSs~G6d~19(S9Z{QP1!z-Xx9so+6I0HOx+V&pcFhS@$pNb~JZrPtA6%RLa%v6O`Y) z`~os@79&~2oECR_@~pL6LA`aHQ>#qXZ_5u8H}-Ko<}IU1H{ciVyI|@l_bG#T$Rn_g9ho%#@?!6r~n?LnulX02E(SPl;rQu9E0~r zF@7U0QIDUfZ>pkJ9yWx<#a`BWzo!Px4QZ@HvOGZ_8yWPTN}#HK2s7pZK6`t4qNZN2t2DM*2{VZ7pLh z#3w7F7xkXiV!4J6pxD!6O#I%LTvuGqeYr}eQXoMFWN6!bgVyz$a|T`j1+AQz@6f1C z$qK!adEfo=(d+kRk!{4*+D96#HA3`LCJPPsT~GGD|5t+f*Lw^86!Y`D)?Kv4PmPX_ zRe_nh7YSmvU zxv{}>o)w#}zCwkYy$WXP>@}(_9=jG;HnRGWh|B!1yW(egDF*K4mMg+K&U=C+MXN?8 ze!C=8>&9Z{(yg9sbg$}pwpJy;p3RHz5OHJ0`(U|v5pg@s!}K_As?zfWV9{9k)$FUb z&q+2P6%p*orptBJ$}pJQs-JIvv7S7~gyiG1j|tGtiUHSq2xL0In(}3P9TJWwp9{>2 zduKyq8g@J7Wpzm52OSk@y_uBTpKYU*s33jz=~>SlsGRdMB;1cJBI5n<)~dzkW2|i` zcRW_d#ut#V51OKfea}GbV$W$>alYnQxCT?}+n#&G2 z_%FX_Hjp`y^oH6;l{AmLAK;CQb@jU&n@uHflxkIwgE@szJBJa%w2aAPJ*Znu=EEA| z>C9$6USU;1&6ke`oQ-qqbz4>m=bd~Vsph=_Y@`8Eb19Hz&smmrZ;<)E_bN9HD35S9G6Jw<(UkM^r$Y3iVLWT1EFio36U6H5tO*Snq1>6MNqnR(e8=s8+qH zTh0|!RItAE_O5=G2*qroNI_-Ex)<4Zu)C#;hD)5Lf)M4dw3RAPlAhv;v4FHBUHd*;?>b*&#kj#E~kp@<)YW! zQ}K{i(h2BqM+WeL)8n62@T8Wb+zCA|DY>st9EGV@<7XMW*Tf_HqeqvEm_?J)5Y=dj z-sEIwKUMQ7ZCrjZlzU&G9PgF-@C6Mxt`!su2gOT$DeTTthnpFD+rW7%P7#XBZ}Af~ z^Bg;k?=EUT#2B}|lgAE?cvGgKYLam;l zVpZx$g=p;KFQ00@<~`QJxTRH)2mpx*1LNKvq4?mEhoPJ2bng(dvNvw`M_C#7e^tzp zZ(IttGRg`WH!mp+xV>glmTA2=YyG2oFir_s#cc33fuN!7hV&)|E>c)hTQ4^i<)_J}b;>FOaS z2?yeeCB#!cUwtErO5d*RK7ri1d15-!>*-~L-FmUAbapU_Qd1nyw(ml8k|o#~DgNyz zTc!k&mXtkPNbb{U@_8x;UtM1B<*Xf7k#KowyZmxoRucLW7anxPA}L&Ee3oJZ%yJv9 z1V_>+miHEK57Ecmcu8g9I2YU4gXFI*SQ1=Ysk^rxHdwkxmBRa_&kC6o z+PTqVCt*RsvNXN>o<;)+3zBq$zsx}Hb9*Yc!S&^{vJ{vZdvo)p8if)$J}dlwu#J~k zt@n-@y!IFukXh+qu5nbm^ey<#jTm3b@D@KN6dcL>X~TUc6EKQoL4McER{*42BiFbT znI$V+-hr9@tz|c!K;v$t#6IN;D_mXX(5Ji8rEVPWcC8?+F$d$rv^k7LZZny?cDIw*kr|qO|ChIn0*_xK4ci z-7X&-f=)zpYIJmUf4roRyunDYZ05ZoF{B91HE;JL8H*Xn9f(eP6Dgc-4-kiq40rp` zziRV?l$g?nMI>z$= zIUP|o84UuG0()FON4bA^mej&#*5u;6IqQkroY)`N98nU>F1DWoAMXY{rQYQ zw;30hC6$~AU@1e93M#m=Ys5qiyvAW}u$LJkc!1>|O_t;o2$Fv#)!Q);Yp$5ET9d}M z%s~=s7dZu&`|Oig7E|}1Jzh)BsRqrA^xWH>D;MP|DVVKdw?2C2oxWvfZuPy*P zU`VB_8+WM?H5Ub&S^P>2{6yMVG@qv4elErwH85gySQXXfDGrawG#UDMskfHj@fAUq zvf9e=)(EtlVHteCx9(Q`2G|DMG@xPVM~IfKbjF?fUK(1x@x^?xj9lq4I4^f87#@%> zcLv|mAr4>dZA#}k{@%q=UiQQrte6fMV7wnHSwBReUFC&T&V-gun2Q9k&tV!L&L$KN z4IK60N@n!PvER6gDJ=z(Nx&g1RUYHA9u~QJvV_-F#CT(_nAGe^4bHb#+e-%u^RvaA zi*GLpBIcoJ549^yyEn^E1Iw9dAD>fkMjSgDbdW&Z920Y<1UqXVbLB4`b>t~;i0~@H+M1{^z;z-|5`x}p-x)r3rf{j)*S*W;|=u#HniH*GAPz?+(@`N6<| z=LOp2tu-ddsySjd^!Q)Wxg1+J^RJPxa!NLHU>B=!6JdpKJr^p+oJVICiM{jY2zlzm zXS)sN))jcn?LOV zetpnn6R9tWT4NfBOZeouh?%*0yi>i*KBnl>Y~kENyE=^2WA#BhSSTghL6FZ>4M_o2 zsF3{U8m6WGVaE|G5m|asM(%5=kEomEW=KiS!F2Rso@<>yMEG|?zmn)y%m+xWi3B|F12)(+NGA1NK@7h2hq8y@^Sa+MX1GQL z`m50K1SuAcxQj+8*F2E5SGpuS|K8+*A8xCJK$p3w1PFcv8<@g3EvXMS2b_BtCp?#E zpzZk1k9ln%wny-iYxUY?^ELmF1V>K~ghy!I2$u~p&)}^W!^r~sF{CE^6_M`1PtM8O z{>>%VHkqx&A17^>egz)vcIj*q)NW3ZHH|sicMZO87Y{9NqAh5bMnI}LIb z{P*v3I3V{B;#F1Vw!>n}r44ypU9&lnEzP~=d2pyluCR6pdh33)y84zx(?wrIo#)<_ z*}%5dA1;ui0W<@Hn*088R=QbyGXhWuDG;)knoSRPugUf;2>aqZG19BENglenWwZTk>d`4wYlp z!{WH(1Z|dcJq@}lt?+oz;3P>ET~lrxQnJ#!8M0(98zfJhr8-a{k6>?*3+7bGFp@@T z&#T47;yJ6jF6h~a$cFar4M(I5c(;C&4zeM0$YC%f!_ZS(Jm2}d^!i_+o|Fci`Z_j1 z2VWu@kTm5Ti8ggRe5hE&g<;9sJ$Js1%!<_LHs+?p3V3BPKieWHMzoka;)SUA@?5c6 zlA=69wJ^1KnWGnAVkOt*Y3$f3%FDE}RX&%YkQDkQ?UUI>0Y91eiSzza4Ry*EXEAkG zKYZ})e3}{l_+{&WCG3sRauOSwQ7GxSXEAc&$Ak` zbJ|v=)f&swGrWetPG*g(*%|wPNPEk$DBHDff9US6AqA8U>29S_=?(!wy1P3?LK;C( zq(eZuK^l}67-~Rj$Qg3p!F#RsthH{R_rJZ{{}UhBm~CdRi|ahj6{N?OPi%=h1&4oVmHZ6-CsXz(Ji3S@&RbJoJ!aQJ-~bKdh5Og**Q;qE=ZOj;Al zKt7uN^e6y;x8z~Y79ucY3?=(=c!T9hLQNf-$x0cQlGU zIr(8LBRk=D-p00B3I3;ned*<4{un=_{N@A|bf&45_#-U3CNW%$lBLkN6g&T(%0z09 z+*0y-YLj6lm;<}(LtSTLnGHW{#edi^_->6l;GZXwL{%2BYr>OmxLN_t*@@jOx2 z2tyF?QGOs+6OZHfk3`ASTO*(rw!^`b$WzyK1#0(o1FsO^>xarN6XsZfO}|;718=i6 zo@5DG0zb-EvlWO!cb#`T7Nmc5>@VUeM)G}|b9f2&w_zn?)TafQ76GE-_?KEZq~<>oC*dwpurHaO}%^P z*cvlNz7A z4jG|*0}T!{4S2}BgX{j@>0E4QIS>G)NHWhLIQ~)2c)X|^6BEZjMRES{Li1(50_m#W zXG6UHI5I11R2&}N%DD0u8z9SCc|Q4?FAPpC=lI4;rF2m%aAAcAir#H!sm=tlUBBx>avuoATKcz?Mzaqfe1!DIAn6MwoNO$4u(Jb7*7g;$hOWCJSy zcSwhP4rkg3m=fTt!J53h_eOF^UJNrvTc-Q~Zdhw3HDQtmZ_}0~XK+XLy&a*#Hw|8! zRQ74ZLuoZjzVr4PSo}es-H zJvwh7#c-K^ZXZ{^@zvuR_q~h}gEzq9zu!e~{_1Vps7yxbAaP$9A@T=IqKIw<0V=2n zW06%z0Mx-6fcC{_79r?~N<2r#rZFvuMmu5u?i>4Y{lS#OWO2;r=j5yKGraa~C-UpG zN&j(&vb9nonMd0rybiT+WEvchV*lHh{dX4ZWO`^uLeBgT@hnqdJH0Jgf|m~*S6hZh zEgB_o2?&(EbiXWk8yc4L*$w6DvV=FRkuXQ^k5Ee;z7UBe>fW-%22c%M_e3S5!Ph^} z^>=2q!pGm7f1GQ3aChFLqQqKb8umm7^A=l-*6A?0AK5-8#d9bHADO?Ty}*D(I`a%? z;IYaMvJo**USEre=0?P0pS^s5Eoxcc5W&jWEtCrMOEKgAW$X#XdT*O3Ynmo^so+QbQX?zmZG%TwS|m>fkL;^g z*xB_p1<#KVW`YXC2Euq-jouX#|Ah}-_pD4*=vTb#wVcKg*Y#0X&Ko;&2MnztfoYkx zvmhn>=l>4NsA3~=!0LHJY1vZI60=#>KmRCTcr1V>x^VC8K?*=^7UR>}3=+|oWwihK zC|6BgG4g~=yIKR8si!A#PF68tjlLXeqhV3usuQp!N zihZSDNDv#UeeyGucb@7;&E09gNJ<;Q=S-gdmS?t;h5e1QuV-xkuu~qAmmw~XKO>ao zlvi-l(IKv~k-9<)?-3~i8_hS|vgH~GV-u0~5wn`r+oK>(Ri5czyPQFSaxH{IB!{C3 z7knGAw38FKa5B$6cbeDTI2)5*K5@{qn#yfb7nFU6?Mf-K$@jdRR#Ws~iyqsZX#Ok; z<6SjR5q#QBD}m6g2KlbledT??xNJ+@k4f)It5PMv29_L!TdYr6?RvoXkmU8B<8yhf zo`W34%0=FT3JvW=@kASLVU*&zXJ4A^JW+%KIlJwJ_?R_8>0W$Q0#`@jy4vV0Pf^5ljZt!#3uwNq=FrkssYT0MEsIb(OV|R2uu6~TgN~buI#DP(W#HAfHdEZHnB=gc%-iW1AMJ!8m60)A$hTW0Dr)N^3&N7 zH)jruJ`-%-9=5!(HB4WmT~E#qG{SxG{%O4zpqScGCpZKR(608HkOMh7=RQ^{&5#ib zw=JKN;Kosp(j}UzR2H~LOm4kqWgS(J@HG9Q{b5caHYB>i`um?cvVYa!FDNx7M!1Z= zSU-hFBI_m~5AZVN+hAK^BwM+B-BmB3V5_u#z@key!qaln|tnfXB{J^TLF6de50l}iN{0H5@!@n zUp;o~EagCbq%e&IdORwAMsNn*H%$S#54U5k+i?;quXvtPhmaL98lCdR$%-*AOYRpq z=IQs6YLc$$P;32ZxiQZE-5Rq)K(3pONgT`!MKD)aS4NcX2e8;tq`n;zTfA3w8K161OI;Ae2MCPPZ17@4`@c?_`fgK`9s^5)1krrj&y%8bui(n#? z1K)X5>RX$B(lfXH79#O)GvWWLm%6t8;%%x<2pL-uO7W56QsvvHG7{HJ`~4}FzE_nE zSZQM2%m{d6FE)5BGO>}&dVF~xQkpmK4>2R`#D7&7n=GZTe5QWu{``(4ba4FM?zFzPt+{mlWsN zR0WCVWJ>ORcqFNKH|`59iW7g6E%{%x226w=j2+RvQ7Xq>QW4UyaEjm&b=Pp}XhO!o z#m)HP;c|vzm?DIVQ|iSiksT%Ts%Qbb)N7syQUfd0HdZpoB6fdu^J`-`M{q_@h?G;5 z5Qa~SGx+l9Eo+2X9Dz=R|L`b+)Cl9c`Qs%lK$P|f`bPOD@x(ufjHQJC7a}9(A9+*e zF?~(7>%l3=(gKon+)a4>OivNcpxFSge>sC*d)MDPg9KR`YV*uw?wvuW)~qOm`!R_& z(p}Obau(-|pCc)0bK5jhwqOU2N6=g7D$@hecS>=bg7)5$>))Q=h3n1C{OJTDIR5vC zfSN^-ArYpmxVNDH-@psn+k5aL(fe=U#llrp3MYWVXyY~PL}2tCA6{$I>nOIY$XDs* z8|{~S$II|*@h|j?QSY3&LVM{FY2j3Ae!iqa!SKf`?^@9j;ZpcV9gm4xy^f+L_7s1- z`T@C6{_I|P_suM>$YS@TMdY0?G0K&s8gp+UaEs)hE&yjfH02~5jW>+oCZ`tXX}TS))zDycD^ql3_^Fuv@mza zo%u?FwzCLTl{>bh4m@djD2>S+e)m4DqcQY>*TH<4*m?Hxev0tVY@Va~Of<~04u0|j zF|Y1sEN2?|zPcBuRF+4BU7+NR4yo6*Uj1y%po)6;9mNJOMC z(^=7!%_!5R6%jL@$6mI@((Cx$`i zqM6}S^g;FoUb zyP+f56e6lOT%dG8tg3F1l{E%*-$kLuR5r;GiJMygMq+5fmoDKbg_@);nCfM42QPZM zwYvtJaRBdZ_#DIyzbf?i-e;Xr;X&Eeode68>_RqF^!d6`k~B`1NuaN~@RE zOp_UC#Z=gQxDIU|cAn|8cBrwViPHBeZFjp(;EO=ycmWhZ6X`Gjx}_99ac(Y_7dZR% z9rc;1|7^_Gk#JQn3UoQDUKIE#*F279JmA(wjq;lFydH1Y9^?2XjR16kukNZ0cHlez zG38q}0nfj=&1aDE@qTo5VVBHZx#1eznQt918FLZn@3nS};Saj_(#Y4W%ofn(6-ji! zkrA8#r(VXBbaIMhi-LBqMne@>m&DDlHFKzjQ^Sh_oqGGGG>hlBxF*4+rTS9N_!5Gw zF~<=(-4Mnm^YbtQ$XeH3bEP_08?4W4Y!Ttb*@#uXE*!*5oPvJYtM!@U1Zox|9my*_ zy}NyKtU?4Id;_)WBY|$r;wMgib|*Q!rGn{aY5#pKUV{=NSksW@NOM5so%&h zq4RfEBH)pzpoSxQna|65w>1kJzu}^Z@$u4V@#n@hH8jsYC`mj`=SsF!T1oDY2ZPjJ zBA^tO`%o;Y@TguYV5lwP_n{p~!Iw)j9uKdz{{W@P^Qf6M&o?T{0e^PVAd=b6V(MXx z|KC&!FA-Brjrn|kDJMiAmNW}`w=^V@7dk8;J;3p7`@PcnVyTv8r4pX&*`#Serz_XF zl;lo_BPYyUh+5Fj9Q7pko%7oAZoN<7fLucG21=jar)O)8o2v9U%-m)-z?FP4a+B8c zt^}x5zq+K8^7ifqtLH{bYH}CVc3+m>Hbap;Q-0ttM&`a?(Lic8{v@l-dL9sB#zLvL zbWFR+f|=7yD0v0$QgRbO2*10)x!L+O)qI?h@8h}r405w>(|}0C#b?7m`WgM{*Dj_hk>wj-)jqEAJvRmn4?-LWFiB{sehm?)!GYvQ z6|uuFRO+2RxiVOs1Vz=fGRGIYoo6GGpOhSr*FRF4(H$Spb&b7`4mung*Sh4O!zbsK zaAitkgdsH>YZyOkWpz6ABETc?dYkw#T!_xOC;NeWBHQg=;$Etvyi6;86LokO6*XR) z8lH=?h*qPLr$>9SZBeH8@y!PgDFp;^H|f1r{L%OWx8I5sA=bH_qsW)!eroUHi4bM& zCPjCNt05H_W#e&gr|`7Mn*1g8*UlBByW%*GJ4hJ*;Z@xYo80+g(j^ zlA57+oy`2@fGegfPwkD!@#N$O5E9NJnCq_g+_(}J+;Ls2=nZ@_G zZ{noY*o_e&S_QJBL154Q`CF2(iY^{5G^3{W@$d9@OXcmu^1^dXEs1)tPZXxTgJw?JrsZgjgz-w~y;#9{m9xhs$WGL~emJS9n)62ytuFy7$1^N*?4g zZVT}ohMEo)h-8GJsS?WeZqSw-C>ERij9LWK z=4pEW#h94@ixhmATiH&d{ zi{?&D1DbZ2j7Z)cSi`1^q{0R_6#$<1rv+fTU5o*iH-Qn zmZZZ{BbMIZJ4lbGceSd#Yca7Oa_fJ_?_Dn&?XLK+I!UvFOfo3p@QY<~KMehxrqJ?3 zx&FnJ5e%AHP~@N&i(l9hx>sS;iZq~+7rmf5%Utw?$<+VSKFySIF16iwKWHkU+biaQ z{){<=*_4|6v6Gd9qOS?(*SE1AB7P7`+Ht$w4dAp+a?$foIt^ry_fT|jMW*~^Ukc|v)7Ln(27qj0vfFh{Cg zq1|rLahqrL2t702p{ivdK-hg(j78AdChJMjlfQSFLRVGqF-7dpNQ8wh5;TWB-31-J z!>@C+>J+eg4N*TvTwk+up)lP^n$n89krq@MBRSXVTZ^|Ld{-92tO5tTrJB^qXK!zZ zN@3UkLsBU%gC$pE9OEV%-dbf{EpmwDx<#1&n$d6Fes(|eOJ2D|CHzHXBa^2fnP4?% zTqtyjYJfW(E}#EP?3{Yz^SJ{=^(8iW5DX}}S)qGW!d4K4$+LtttMM`V_0pI1`R)RX z)4G{ZpB7OC+@=2}spOCiP+O$o)oGdN;XKl2i2`Lw^|P`D-=C<+=uA-d(-Ky6*ez7-wAN$KF&ktixKfVj{b}OlC2$!rR?F}&^xwW zoT*i$?S%ubugZv6ov8A@D*Olkg{uk`ILl)^cq6x#dins6&vl_+);0V+RO9FM z+K<{|7v;*(d!{REP%_5hS`y5;D?@n@G*wUZ8O z@`z~72g|O{n8eQ82sEWGONih?N|?N?U87dF=IF>7K_@^ZNvW(xv^eHceS2JAn6nyl z%6C)*v)7Jq;yk#NX1f0MFe60nv+C*qr;yci-Gov^)@!*8)& z_nZ*Mys1JW*qEOx_VMZqcd4(j3Yp91^(A+pQn2ca0Ylb5!h7;eGMRFXI^eazg-;u^ zVHO+cN|F(7`@uG2!>>utLQm0Cco*r>p>6pT-tTSU{@PIk4E6@>1GrR0NyG^;YhMvl zXi-UQgBsl&no?o1O^qA*CNZ(Ny)m`bInVWZ+KUqq0LtbClE`=LZ81gV_pX8vBCI?%qkh!b!F5o*UxEYoc zRclJ$p3%R%sGDeP`ymyjs#zdK*BiwL&qW@;S|+|>nzUBw4~j)jnV73IiYDhWT!(a{ z_yimZB?Q(iIrm)OVBhaqH};geJ#T0w?#$%cK^srI(jk=9AZ4|`h&a(j;xMpg`%YSn zx*;BMJBI1gv159av9?yMV_X z3p3*;RM~GCeDLh(y#csy^UsguEf1>U@iadR7rtV| ztt}i2XtnExi9Vl3wx82*8g+mn`H^x?vPN1@f z8x?aIwR-uL(W5->TR{cT>?_m1P_`-!WQVz`{_{CAc-c~}9p&qkpL^Yf-H6GfJjCxyI)DB}_-)w^%HdGy)56ufFci z*?p7TJu`cb_`@4%?qm+S+B5u-MH}FPszvW&F{X`bAGw!??5b_*V}S`**J7@FNEq5ndT2gQ&$Yho}K%`CTarqfUD4najvAVpIyTO*P65Kv$|mlNVw z-PSm7tcfeebjb0d+`3smcgrAw7@;U1ZG9Wx0o~$tDR4Ncoi8due#>caqBq5}j6*Za zmuZ>j9n4>l%M1skA8j&1&)trkE%v7VW+P$$`qwFW1|~O=0iqE`YKR8spQp4uv|{&` zJ9z0bThE7@TeMQ)LT{ZTPC(y+$mmlAY~M*h9a=gbXl$MKBuxZXof~eaxQc?mNmXue z51N~sZ0Jm+PVvFaFU5K%lqM1zNJb@}_Pyn|oLwyTe7%=NTx;WcG}&3)%jM0RC=*eA zKIS~p0@a&8|CWKRC^xiH(f;l6*7*_9l#T~qmr(L;v{XcMTsmGWN1kex^KJg^m(Q!F zTPp=V<(sf&hj!A|)t8fh$02b820KECJQf$Q02SX4L+1ureMUb) zYw-#b$u?g*8rU|qs$~V*RrR!=WTO`=D0?9cKAc0^9a((x0vO03-y=(s{DO{$<>F^JErYmv*vsc!@g)%NS{k8Lo4Vxfe zuDSYY;HH3sBry_W0a(hkV?vmPCH?(Pez!ao7{s5uMXTBX7QbVn*I$QQLI=NgG)iN+ zHcnGk?CFDt1JkZ6{yy>v@&7&dhc-rRFng^kS??nrf7oIG4(UmGyisE7-!9zH-<4vnl#F zFdk@P?A%hK8A;l)utZ1Fnu2xqrjsUl3yF?jHC{Kd*knwE5%c?dEv&}$W zhKF>dH=`M#r`0MjqZtEezuyc9Eh3hfA+RS$^mk^w!Ojs6ZqOXTrE$xk;KuTA~Z}f~n#xN9PO>5>`Dz+2MZeF<*}Zad>h!xI|+j(6%v@S zRSs5ovs$fYRH`u#$p)mq^6|fWl;C^ygm%6arMj~TQzI@o`w?%@nZSIVFY|w!(~w(? z`(I_Xo1dedf&=B+7cF~U+II%gO*@a3cO2dAk|tQ3y!2qt&B&f{Nn z@5viJ#lG0TBvK_G>s8%)#8Bn2par^XqZmG40hQE2BSACiI4-|D&=1=j2*LF`!CSA1U-c8isvyvA|FSwG_z`V z$KAs2=O+@$8L5gK>A9G@i@es}?NUQL)LQe|=dfJ^XM_q3?SRU<>Kfa~`!3=u7TyO6 zlTdG^@f?Xm--e@UG%L38_iK2T=hMkP`8475cj8eO%|M3?E~Po6!@i>SrCQ5f<2Kkg zTHXdoexU0vsL& z78qEiUYkeiM{v zi;K6%ke7MAIccngu6uh^4JQ7y^Ys|fZ-SKutD2Y}aiaGZKP~jH4)T3D0oQ#`4g}89 zED1m8R;+HF`M=xEMi>OL8>B(eBJ=w@y%!FqJwi2?an9e z5(0V_>Z5qHmABLMBuEiuaabX4HRkhcN(tU?_3-opRad8Bg2Q zG|7-?;Pn0&Pbyg{ihPmkpSr0}L;k9&>acjEoiUr|og?q*!!&S+0xs_|B5JT`*ODOx z;xAqB|4S@J#dPFib;EIV(zfVxyHz$-?Jqu>e=HV{74@FV+QiFm@AeF` zHa)x4K&`{|sZuPcY=8{Nf|aewAJ7i!9Put-m=4)b)Tj&PzxDWlaJnMY?&Yvq-pP&)%-bh~rTN4O^Kc zxd=qx{ps2Mj|$a5bu-ScV;)l_QVgG{TIye!e;wD4`9sQIAcj_`7lk2zdE5^j_h086Fe&a4hb&7cotW zEspB=-&kR+r5MXs#enGOXlC*FN{kk0L&I~c$rLohRNU!BtpwUS9*3chEgw;{HfWE` zirIKg0;gM5E;9j$E%}YjBdgW?c1QOiQna%8C`@5#>0sOz7W&0x7iy-SA^!7uZ6)^S zSLZhzu?@|+p1=71-o^aW1mufFm>vMqjt{7(RI`|_+Yg}+orew2OM;JWpRh0l$Feyf|5qAzvT>#-`7 zvlUeu*@tbmnQ<`Ot<0W4PVA5k(nA3@HJPV|Vr&29+cIdP|D0vk>9Z}k|FbbO{esSA z$k3kh<5D43he0bX+c@oDPx8xJF96$zd2-M}8BxhAIphn+TP)=_$$Tr)q-YFu#G4{~ zZv@6oKWX0mF?^Ze_}BIDCyjR2`IarV5?WCe6fC?)n4)`_ZK1HB*8G;F1g-)?*T z9_!olnBFeN~G!gr$P`OK}rNB zo$)5PD88;gKXCv#iZ}}@73VE(=6yIzSDgTiT%jYGx`^U#V2cRC>zfCa%ylY$rl|p) zzVLC8(aaTp7uQk{lsHXR?$XI7>P~uvOC7aKV%GmNZ*fCtdtdr0nLBGGki|kN(EUc~LEny>&6^jfz^k-B_Tsoh_xLXO`5{6km#g8-x>fh|)IxPVcwSZ}k z!}zdd19q2vu?7;sqV}`3%1aYhK>?I44n1L;TQz#qw7O`ltw-jYB^2*m8BBd1-7dYi zlZW&iC6tO-5T4UC4U~XaLwrCe#%4~kp^RI;p~(0o{2%pml9HG@DyRuFQz8ag)i=H_ zvll{Fxu($fNonZgqX(oSgC%(Jccbx(U#V9O0{eGDQb1PoiQdJB@6XgS9j+nhNrw&V$^Hs|b9zfebYVuFb)yG4Ntx%D%k-<>CMZ0-E zC(M#dhQ&f0QUupU4Jp`M8NamCWpMXqD!1gSI-(r(sHdNM${hNZ)}yY?baFy3JTNPj zfFL^MGV2_`GY2Yh?b#~C2UOFKh(`p0wHjCVSVYUZ!wpeDuTNB+rx@Nmok3=%gdMvE z(15W;sQP7&0z;;7kk&~}I*?!WJz$LUKUWnCGZDmKS?`X7VUt}Zh;$Sj6IzantYF*u zxU{x-z5d%*cmG8a5wV}50~p~MA||h1J$iP9L!z%*k>mwILAE5vPPv=44-UCdNMTJn0g`_#8wzFSStTjCR`;DU|hWZVmu~GRj@d_)Vj4IS2eeN)2*bEbOn4h~SSy^n z*>3_^M)!3NLbL&1IWwEL(W~@M6|sUzrh5PN&VIipdxFe6VF0E!ndQUPvJ))~WMFXu zPmQkuljhK;WR@QT%K_g&d<7;R=UBy`o=gx2BE@ZJ`|xxTdpRLSalVJqhKKp71qpY! z-$g{P2dPB}d;2kbKo57(em z-X|S->f|SXgO#iexLBk*7EQqIN$%xP@;NAtmp7y^94h{VP=)U|?7TY|EwCnMIEKEmi(x+f%j z2od-p79W`%xw)@+MvuF;y%`g(8n7+r0s506D()`-We=DDQ|RD3gLk+xHOzde=Ky#w z`L_iE1FpWcwM_|GCGvTLm7{3-yV!=nYrB#m`91ERsm7NHaF;LZP4Ff#M+dTG@gF{n z8Oi;JAzbGfivwViVilLcXTQ8*Y}F}1^3RLdF8`_ zE0aCQ;>an;Ww5xbAkkhk0g(?G5U&U3?1ipYcIEJB_Lq+3fUKz67d?Nir9(6Bl%2~d zsmVFB!z)HPjor^H1^IIm9?sW$Q(QP2Mkh;UCAvN?D}LGkDj_VUrhCRX(cGaCJ`gZ# zd{z0U&q??Dq5*5t(amqabVROXOnASSKayev2VE-Hukq9r>8*17!}1h#N(Q6)x>{#M zfqIGq8H?koweK|)e6^V29o@D&>!aA&PRbAf8jjtW-ZNJ7+a|M$(TD9CN6laJ!AkvI zZpreF``44FHr^x6x42?tw86PqB?Q91qME7&|I+r@U%*I~zNW^*K;kqJ?A(F$2gRF) z6wqV5moK_Wc$^~PPs2qPM6|MD3m@Q8(bS9{#OO;|^M4o5GmLl3(}tbjVajO=V?>yq z*zqoT#0q|nW1>@&?Q2kL-q2=RDPJx_RE3ZdAFg?(O4png1O;BZuiTYAHmk+k!}`;c z2`RkmXs-johESWLnIq1hh`duq-a-*vl*RC}cg=n;0c5u=d8*k;oK$5~CN!B0Edb&p zA(HDlA90{e4VmK-uW_Ce%JpCQ5W_(coz;g;>C*4{9R=_vEzPyRD~E66G8RHN((N!I znKYZ%`abYi%lubQ4zJ@5(?E9}glk)DX!NPh=v6 zgS#t9J*W1nz-;5|og{BCNFw0$Ad@o4#u@iL(z?p5th?D4F7b7kqBv<@GC2uu$94d< zN|1#fwKD8FYLBPyjj!`YMp5Q^PZb{DUAIL8iWZ8j4*Q>0k3!5FZp^ocx%y^=uZc>O zfobPMQ*P2;M&4rY#+c&gi`SsD+AtYYBnc#JSgJV~44z2?5>q6cz18{kL$3eP58f*f z%`qt2nOR(bPH6iAfyPyERJCJ`BQgVn*63MwKJ%`Rr-t+96!q z%No)QGq06BkNB^G>#rx8J+s#KZ-5L7DGpzzguH~mb1qYU^|2z%4i~}~V2TSsV}VO$ zeBxkd7Xe*1ouNIY7Kq~yE-o8a$P-KCJ2;MZJy&dp{KC4^kUtoCeQ9|OrYaW)h8W(StmQal=Dp_rUg=;N*BQ6f0GJ{rKXu)H12$nY%NhIilG_mZ$j?RSd=TJGnWQe8vq9 zDsA6bd=)r1yu0^E?sVIBTBL=udZj=qf?zjIBrK>T+;QYQ#-EBroOs`}gmb z4u7eZv>_Af+MUQg?>2Z^ej!Xt;Cs^&Im1K&fmsmn1^m2EFz`G;b` z%Otxn*}wdnOtW$`*Hy>V@s`PtZ%Z4h!>ejO*$Muk^}I?K<#X`eK#KdqH~&-9F83KF z%iFIduXm!jgW%MOC*gqWMRhS*(i2C%sDvDLEMj*W zsy3qpCR|WiUU)W!F^X^NsCPMLoXV+zHt~Bam-1^(?+(k5-T&qJcmG)tab%b&mSBa} z8uu~ikYN)w*_$`GE^@{XmRAR5ZbMRnlPRvD`~9}6?3~PW{G>9an5pgom6(i!#kJF|Q`b#%>T7WJURZR*ImPSL?KD1< z!A1(s>R=dUnYbCO-LK;B3u6eA3o&BPb+FmU?@EeT1Adgh=)d3;-Am-o4=pG^8_dj^ zwL0p!g&hylt4lME+#wU-JFVi;a{wyX-f8ZLV%O3+$wl`4iXn%3mu$PN=TuAe7IuKw zdNkA_zrGLho?R_zwL3}5&sHvRX^I+r5#6$+gbSMmhJL>C?0@hx$LgwK(B)j6ImJzh znVQ88z`&UNh7>vZtPGqFx(fPruR=Ns(lbBEZfrhVeqQq7K(Np3DazCMI`OH)efP5 z%IOo$@Zt!<-1m8h0cDhOnt#|&6k-yF4%I<}U9yHI=L(?rWO# z+j;Z|U@PPlYisJaWbEz!o>NzbkU2aahDNDKxZ*f9mGE>YsY&XFn2L((*4qpwr>USSp0QxD;e7FOtdrV|VnAea%yu`&~`nGj943LM>$7 zZJlCPu8`6ri-W5IkhsebY_`7@sLJ%SSyAB8o&e*W&*`O{4N~Q5*%f(lctnRPep`S> z(*su4?8Y2Oz#+3vy$*2M$=l+Des^HCIfz}HB+$R1bQ`G{CHFXipU|pnSjhhB+HR&a z(ZGuFB)Bdf_{ZyZLxI>_paYnlyd|tV0Cz_6UHBthI(tiquwa?b3i<@QpBZNoG9D{KC_(Yy)Z}LiBs|DmD zw=j^E?$dHNraHM<+semn$v}?3??n;S1pN1cN{&VD_9#NqMPl%-sgOYI0QVLn9U=+2 z(nn3+f(3A**tsk6Nw3IqNotnIDhR6hnp}RmV|Yr1lxb0 zl8@;;t3MR|k*xtXo&=V^VDCmXomDW`j<6hKy8F;wJU`|q_osDa&0ALHGayC6Xyr7W zLr)3yhjsH(#E#C{I9-HKJKghc0#tW{ac9_PcGQ5d9i1@$teX4d?MWI6$3jk}I)Ympz}uhnU-MWTpU{ckC%hr? z%#OAbc^(|IGhBMN7N_bqV!djl@7eLDMrJ4csQ$man_|ZMcauSxzgbpRS~}forvEW% z>XzlV@2H}{pH64__~Qn5vJ?siBW0l-!|5(X=P~hxb1Rj&8?p+WP}%|#usMJaqD?Qu zg!1$ik_e)0nfDMaI{D=@)vnOK6Rdygj@l{^x+4^6u-i$~>VQO$F3`o#Jxn?ubmT?{@dZPNLdOc!lZnAbPQBL4FpI`(gVVxj}Y znXxQtpPB$bG%%YuF>P2}FKSS-J|a+~WsWco4!aV_q+yGM&<^o~w-LHx76)txd3e-W41x%Gn( zN9!sWb*CdDojTDdMlg8ZuAgAI^Y~^HYiGHYf>rvO^}`v8{>ia8L}1-~=QVWgYtT=~ z0vkQ(28X*hNqw)zr`u62VB2#(S4ho2fK<$El7J*XF!DDN5EB)Ksm=tXmF3B_5&l1f zy;W44TidmXyGwBQ;O-O_G(d0&?(PZh5Zv8e1Hs*)&>)2*KyY`baO>Lp{lEUY_q#{; z5oe51Pt|(XTKAmunh2PY5QI^TNnq%*QbYdvoymC1LgU7UPUN5oQR1#ntq9ZxW&?GJC(B z;tY06N>vc@oIb;3(C3=6(Y#MUY_G&%Y^U_iUp*d@MBn1+Am{SbO+B}}vzvKKIhz*leyDriU+YNrOo?}gwCLA3HnXzmAT}NgB zA=Pi*CVuYrZvIsHSu>{lO@_rgfQ^f5HWOE+M`?@M6;2zy{deeCy!Qs*^Ys&mbF1Zv z=sU$X1a#s;h2Q2P{%=Y;7c=&xf?3Evp(zha#GvkI5zrC-0I3-0@FjTQ4_?yi-cGYy zw~+p>B)h8fc&Z&8AOBFS#maGZm_7q(TC$$+Ad^w?M&70eNt?n$C`8Qck1)>=3ei~) z5ct)T+5z*o-EZmIntjs=U@H|3KZ%NnH^tBNs^F=8aDRO@>@RkKm~iskr~v z=E?+IcOr=XC`=0EJ}A`Fo)-Q0%Sk*_y5I}T89Q36=MZbW*VFB3^r=RTZX&cR%g)+} zh?n5)43zOGAV85g==s)DWN(>z{I69e`Rm1Q9)ODp;KX+W7{r<^ppP)KEB6nh9}BRH zKB9Fx`DpPsI8g|B9NL_{bLxsm2>xuv*AI+W8WL9Q9pU9)iQ+fPiJ2ss&$?022+7{^ zmdGY#V(cC1-@)yHG<^A%1Vb9WNGEOxq{4kC9yq@Gw}S>G;zDwId6bIKO!eK-$oWV+ zGc27ChX{&Yf4^VRfvzt~3|@lr4^v!hL$FFAQB}o5Dv=4CptDPG7rIWhR9ce#w^bDJ z_b|O34SV9#`@TxUV5sh++0cYXYp4VyC_xA&NM9J6NPPCFoD;Hfm;9+9z^e4}BVUw1 zAS#S+yTYG-TMD3Tx5R(0+Y{bf>SVf=P5Q{*VT5;W4Tm-4Yh%fJYle4$N?oH*_x^T0 zFlvlR=jqxud6p6(@@_3R#0Df9c0;0_%~_okJ~J~j3L58sQdR*NqY-nJ;g3<4q7RKy zJvC&V=sDw*vuiHPx#~dv^a%En+9M6Kquo#))oLa z_ga#EcwWU=0WuTPhU zi09kDg)+0_vLE0E;f;jmS&r!vFFW76A!>7Tis7g8Zsk)b94{GSIeBqFq{r!SZ2fLJ z?_#49VEcvcTi%p+#3zD>DMJdU?%CaI-y>I9a1ZdlEFD4g5Vsyo&rA-)7%Wn@n>-MR$xB=1r zU<<3;Pu6*=^SE<2-zP90?=grt<%V`4lcnV2B&rcNXN4k=fBngxX1XyXI&*#!=9xMi z*e`W1KFMv{FJIf6c!e80dGSmsUmyCasN6+JC1%u)2FrdBa}BBq&jbM?gBI3Icwm(6 z2k2ZFTg!F(`IA0m<<9R zH3Q6mKjjxW_6a->nqR@&56+s3(gW?qrOHrATg*kewoI&#TEIC+lu$Tkehf0ua)3z+-V3qDEerOH}-okx*@Ixg*1<4 z7azYyWZ>PjC?>-Pc%s%ocQT)?|5ex-AcYi?j}e&pTmJv6u_GY;M`Jfm3E|G#3YGZf zw6f%Rt?LX0UBliQxaK1xyaP`->%@MNdhY570E^t2(%8xgBdjiR&!`%vEV5MM>^d(3>S z9#y{KG37`S)-7XL>k}c>C$;D@D+4+E(kPZ@0^hk!lDh-e9)n%Inbr}8m>ME(-g8wB3yX>m1tIYu^a4 z-nuJdcv_biMHS2_=KoN8loNa!eHd$B@9j1(+~7sV=;kbsaiRYQs^V0 z@V6>r7?d;SM&)hI0KC`yK9Cnfp5WrC*!PZDZ=P%^I|gXEI&vStP1DM>6pfLGna^%6 zgtTf(#25EA%l@yEah$)WCsaQmwuj5_=}>8g@8beXlxP_k!qMOcuQZfm5KVm(oc`T@ z@J0eBdA9mC37M+vet_+>EuV#|t2w-@#IBR;PF0{Hf4op(RHOP*ORS?DTbQT$-_r0# zZ_wXcu}f+^)*sC(trvcdH^oV+JU^;iQ@MJP7p(ypl@gNNhb+3?3Pk)7UwP36vunGD5U^aC5@;43f+nLmnc3> zinr|cDc9)d`UmcS^uT~I zg`1|<*YabS2BOtWD1B?x<8McVnF&Wbc8l?GUOhpw+9m%upFOifTpbX#{CT~6j(;)2i;*dNrC<0B$<`dGV3lQU5__~5c7u15?e(O3-)Z2*^O<-=x z@(>DK9yN8?W^3B5PAIhB3Yr6YK$|6!khVpl+vc(4E5u9n9QR9MDPNjfK=(GGjNHt# zelL<|k7BnYc{n3bBbE|F0?%33;H52|L0H8n;?uu9vP%oi7M@Mxs}1| z{nf_OCxh@rZuEn5KsZEP7fu8H>T`$D$4xMD34c9Z9!-r)#`Lbvz zlEXB0)|urv7Fe5C(-M!L}(|JUzW2W|l(s>_|W z*X@-feq9JQVbsR@Mht$u>jB$J2@p(Vq3{D=uI1<7_%?{W3k>d^_welf&WK4}M+$+> z?9+;%X)scZ?{>#c+t+EY4Bh~EweMvd-zg(r_dWXQ7FI(+?HBOBkybS|vf`j-Zh`Ah0WqVCuS!{lhhuBJjsfEduNralnV_gGFu_^9`S6VlTXcg zS}0QiHYSrxbjFFQs`0`St%KrWXTF>x5}Nh-dJ>b_uVk<9m81mWKJhzBczX-YAqNtM z0eu|Wd7KwFuR1qPeoA`ciUtR=#wWrkFOm*UkH?4RaToPV#QRR?19^~zyFO|nEgdGN zdELhY2aiUa_1S&>Ns5^=kos4AIzuXPW4109_~N4YznP~ zTIPQZlsfd;=zO+~1KOR~mt*(sn-g{ckoXsNHrJ$oNT|`y zoO+=3HG0KTPmx0EicO>+OddmirtYI&CGNe{gV?cAHPm-i(wy#eTe2Mww!c{u7$7pQCAENGi;jMGr&!P-Q zr~vkTm1~MB8NcA=07=0ZdlI1Bd(bjsvx%|mJBpP<<(FHt+!uQh7&X+rAS3YgBumJ& zg`!!nu&-bj7_MDPo!TifVtk7@jYN6bkxei*`ds zwk4E@O|~84b`sfy(t${5D4FP7)xBKohzZ%*cK+Jc8pxVe^x1mPJ(L|D=Qg9dDXbWk zr$U=At%j12TBY|~&w96R?~B9oLoaTR*+wq1&t!`E$Tq0?iG7FQ2}NyDFvutSP?Kf1 zjb(@*%%Om_Cl0swV8uq&8a1vf*gv#ict}He+2!jFD7&7YX<2md#jdy-KGBu3g{^YI zb72Y8dFVyn zP`+#ah$2!SHh$QG9~DcAw;da6yG?tV{;~gX|Bwy3{FwM6*hT&^N00y+zslr1t(ov` zG?&Nvex^gp3hiw~D$E+CbftTjK;+?oX0hFi?5DQkaK!Ri|DRkC?@mL>%R@Y>+~74C+!tvX$!t?h2zuwlV+!S`qM&;z=&K%YC%bk?r_l z|7<_oMEd?>wbigsmSRG3F9_Im{xOCaKxFmnhZC9{b33R~C4Q3|y!qYkTs*%gfd7t6 z%o$3ZUMwa*;B)lBfsX$8zVoX^NSkcUxAXd3>4!G5{?BY;dIFf&>wZK}gf_00+w;DN zSI&XkF{Gl%=-DlOV4L{uXceN!L@y}KB)g3=y)*G;M}kkX{Xu%QooJ`(%O;0K-$+66 zRkfX{`)}QV_D+i0-g`VTT@Hc=U0Kvq6*QJ(t+&8(dXZ3I=HbEDvr?VLMVmvuxw(ErWi@&`oT;=FZ!yQt;+cz6mK0V9@{q0(z zCBodnPcV-l%q4qxc%UVwf^l5cUUH%sOVl7lN??p~k&G~<;!<(4OUQG+T$x3TcItga zsqK1(D@(YzIa)^y9v|I%p=S6+~V*b0D#4ViX_Wo8)lcQaqSB z72$DQ2^*Q?yqzI{xP#5Rs#NG*c*hP*aosCo?xQr9ktFs@IZ3{B*d=h-Q*!soLc9Br- zaRT%JlJ5?NRyq~RAI}p8tRs<%B*k%OH;)u2=Z*X^5GuA9pZ5fh?Q>erYG_n{ibOyl z!1+nH4Xrz#O;M~Ee@5uD&N?d6glNU*q-h^eobOMxi^Cj|Pcp`9x7~A@{HfMNz2tOR z3bPrBry-Ft-v0nYdd^4mwtZoy;j3PZ&jtq0uj+^=W&}bNPoiAPC!>xFsjkbdIi4{6 zFapbfh--GDKoMf+6W?LZdi;xvgUCTQv5qh2VVrmI9G;K&E9t&GB(>cwO z0_R)flb;8Z*-c>I^y^7mS4A;ar`n;|#e~xkh-CyhxV8(Q91A!rq0Hz3(N$pv@#XZQ z5mMoE6Hj!Ei1N?U6ct zyi~JLGiTQMR@{&5I=^M&9q+hHFSv_~ZhlGtC>&WuH2zfz!R!hbH$frm+%>&kU{uI%Dg!V}4y-s~n2 zc3>B9ic3ZfL46X3+)=v=3i=YaGHL1Tma{(640ozT}Kg zSqC)(-XeAt0TM!@#koRZBHgpvw_B#3J~P7w&bYy3O(R)fqlbf#8LS{)(iV~KQFKUQ za{S=cu4=KC0R$F8;TT1p^&s~#nisjXeBX1UnZMYu_;In`P5AxvF`LQJ)9nc*of|hE zK#m=}YrX#93pVRDlZ6m3mbH|b*K~xZ%!EFSGebsVV4yJ905|NM zq_10YU6xOaH_KaJ%bj{dxrGpZ+wx0GKKzW>&Qd?(+Y};k%dJP-2aTkLgcoVO(1(en zDJpL+i7raegbE9NUwlmhRXD_mBe2Km<(p|%e)@Jl6KEEXqX&2Ert;L{FrXkGMvn8A3HNH}Hy2lL@jo6jJw(OTwZ%?}FeJ$%c=9=6`AA>JUyiijz zZxT|@F*|cC$39nn{(Xmh^Ie$V` zi7UGp5Pk@MmEPW)tn7A1Yns4_*Xz0!(A`z~W&!Mkw6SKe}TN#44LLjcRMk`jeA5V*2 z?D0p>YL*{5lS2F?)L|w~^2?GqrBFgSE+MnI`OwxbpEBE4I@OT~f7>ng-JlsuVQ0=UJ zkYvbFmTN$sDVr`}d=-}Opd08rXYY$`6^+=WIRg@){q{fE)SK>_Y^B}Mj8TQ<`84`S zBx@{rG?dJ`dFoEkSbF*(vNsyj{tg}L(j67~OCsY#==~K%wrKjXi?gUCT06qt#khy( zwF^4eaB}=wc&(UGSQ+bQh~rXWVr!4^0lXue$qst?&WcaEAZQq@nV5a>8w)4drGP`zW8Fvg!fm{Zj{EM6h0iK60?8kwt}EI@k0?9XGk`L zviWR3OpwWa{BBz$edWfT*#8Atn3vT3Y$ZBZ*xfk}>WJ57N)A>A5sQG+Ptf33=myrN zQWNINL~VKn93r~J%*@2H$6WT=X^o-70dfkhI!5g=)zN~_Rl<7`kVnL8D1|14v zYWCGJi`{WOExH^928TcVv7%9y1hnoh0{Kwj!! zU7pOM#TU;4$#Z=)Wi?lzUAa0K`kHv4>%*5j@QP)ck=H^pE|wW?Wn>iiNb4&+{}QZ1 z(ChG?HuNj&??Pi@TJK$4vvx5^LF=Dr6nu3;2h~6t9}G${&avum&nuqa+{Sb)PWgyG zih#AON*soRG1vMhS_z8yL=QUoUm_sYt(on+f={E+z&q_eUySes>oe7+-Qd@Rj2tX^ zie~gtU)4&rc|=U zGn(qCpAi?nH*OG@ZLvcoCoe$^>; zJH?osxjN<3*}YbCARUo6)@zS3c2HsfLlmEv5k}c5?-C3M^oZ1)>4@Fa>kWb2Z{E=O z-O+1QEkOCWpK@f3URQpSkCE+5T`QjdS%_K<(lZ%`Ub7(W&E z14gZ?Q9L+}PE#&Sm!gs?w7SZy)HaYh>B_?j)K@lnd`R|gH{h{YzK@vK;ahF*=i!SB zp02kudvB0@PR_5Eat2*$G-5u-sIRn_5Etan6&Ecb0p+4lFusFUN09#b z4T?NvEc%D{2zcFh8ofW-zb{nBqNG-B1Ml`I!;hZ>&GvR4W~w!XamlD&q(dFAADb6} zFVWQgDbi4+MrOA&#R8relxx1%N@h)ocnIxUUji_^SLu={<<8qzDQ3B`Ok_!7Ikz}& z8}THYckpPns)E|jyCaIjXD??~w2AOHr5e-dP-XIL1Gri==&%xj7`fi2zkgcXyAPQz zW@6Z$r3lW>lSAo<9omkiW?X;{}F#c>z zlvOA|54RfSN4_9pQ0EuYRcZYgh$CB`)DNyC^rBT79{WYa8S~$vo}gr;l#?^zKj-W| zw0Qwk?-G6nm(X6^hufSN zy3H={D}-GxXX9yqk^#>>k(io~ITvy*iHIeHO56vvCqHk`OAt`+>#$j}>VG@p%~TBd zlj^xKZ%2qgUV`GQBHd0jF!d^lQHrO3{~AXo7}omEf9MEB6Ov-sgw%Ws77H9i?mtbJ z8;Bke^9(le?{6!ktSXUyC186Y8E4}%HC_aemz;?+!W0~kN4>V(vaT0e%Dm!8OszkYalevXVNgr-x&{Fjdyrh3@5o!d|I?{^J2QFZg@Y3Cz}x!C z$fOl}FgmhmbC^85Jm2rzvFS|r_RezFoHfQY7A|F=*|2EH$Vl8k0;-TI#Xu0D49*JR zm8q)gawVS&X5&7C%ia3rSA{X2_zf}dv_~Jl=fRW-PuOmuU9H>4sK96ogyH?frMc;s22{O|gNqck*o!%aHx; zO%>@LHlr|k{Z=CH*x|WV^2gmj#P1Ms;_Z?`&~+z(%f9lwxhqcWd*WmUCoKPpI5ua^ zh>#Pu|F}9!)QhC$&T|w#^K>CB{IL63pQzis$=0M_GueN^Y*hcZ6pxBSEL5mAN$M7-GaEenTE>X*5!L_MCQj*~72t zS~dED*Q`FcXs^li$4ZKd+)v3~3UlU${pvkGnp5_AX2E}2ohXtB;c-Yve715?dR34* zLJ!BE-W5O(60p4g!S0RWKbSZXWf+>9NT8OuIbA4Kq4gt+NMQ}pi^9#-bwXgC+#HaW zZdfz^l$e+27()OtSoCe*sAHdB+>F&v&?&7E$pgkrX`@B73C;WA!SVbxb*vsXRfc?=Md_&gG#fVl1!*(u?jbPrguY!OBRVCOw%2Hq>q|eie33N_Y#!B=kKnPLg|U7lpO4b{ z6C_na^9(=-*NkXY%Skj^;$S0&&ym~b-CtcDb;fc!S@%(3hzrf}g1J5m*x9}*q@;SeG zy?D&qZhDTzEUjfs)Kpq9*GECv{j2H@!&C#{Sn%6A^FX|WtcW`N>~t@G>VrzXJ$o@r zSUcC&Hv9bryw+#Sq5C;ui%Yd(F)b5_j?GY!J@3NKdy-6cpii^pk3w5}yU5h?YuOR$X9&s+$kIe|T)R zUNqI{-R0VfZrU}*S-i~d^eo=HdRon(ge1r2@vA5H9gUusxZ^aB(wI`63g%8bywoQQLHjV9zPNHjR}85mWVT{AcDVP+4ay(FCj{y zkJ{X^9*Q^j<4Q|VVgAzPSvz30Lq0yo;`1!3Ctx_gG%ylhB)bme@NU;iKBP2^n)$}B z8^6AU3q1dD-REsolCR$?*V2VLU;nLKItuBXR`Rv$TW@q@bkE!ORJ+WZ4x8!=RZT$G zm{_$RB*>rDJUnYmW)r}rwO#gOrb3?idc{I{{(u9Y7ln|F(pn*3&Q9pJ&`r)iZsMQj z|IV}@!(&n3=)sK~(X1zJlPT4kBZ}LO0 zM)#>PZg=@J!yzE3{GuSoym3lzy|D4I{2!mZ07+Vs5)YNMa>3}n1MB?*lGo>USBt^i zEHs<2j%309T@1;tvMqRsi@s8U9QV@y^q)K3|KTepX=OTkvavhG74fe+ke2wR`^kUznh_AihrXhd5F-(h`LZ0=vDn zh>lxNyoBe@)fu^}CAj7#OcOBAc01GmpNn4dmF`VP4N6U2{cx2b64Nf`jG^+5YQxR+ zW#u?wD^8Zo!wXC#fFyy^1D~luwB&s>NX;W(YdXeSf>@gBB`H{?i`3j#P6gCd0qzRa@Q9P=u)Q=pnRv zAzXy~VUsJ63lSU5frXMDt48N1MZ-!q55YLxJI{#Pal7~MgU%;VATM3z=`(X1ew0n* zFy*LSc%2XZQ=&RWo>%&$?pxOE9LHbaB7#CbqrwYXIzeMQn6Fy*(}_dNz?tff><3^=fLvmS8>jfgfQ4>!7E)kjJGMW?1b#(@Zm|_;dq?~NS}cs zFwUCtUguQ&yI80@saHVK4#hkiyW_7eH#Wp7xjOrjT#%UD3F-4Kyx*SJxEm)ZyC|tV zq&!xYDY#q&(BCKFqQG>@FvEJ~c==s7Hsm}x-ZsrWy$krj6MRW_J=Rzv1D*eEfp9qI zW4F}<;C1^er{*xw3ZZ8I-iK8aR$1h!PV}hozkbBeod1DRWI`Mzqy!FA(2wmtyn~ zj3WMArx(lIaHFYq-gnKn*-oF{gOgk9ytciQq>?0Y`~ixmW3ae54`Zz)&XZmS2`&O8 zhB$5Bv7e1c>#z@gZHq{;eY+p;i6Vv)z^NT)luY}usDfn1(nUKa@dq&S`sG#M+|t6N zuVC|p%;Gx&lEl|Udx8&g9La7?@(C=sia0u*(L8F>I9{`|rf06g*24)H5<6=R3ipnky++AOYsz>)b5sbM0_bG%?u>MJoLF&MU1s)y)z6GQdYz_$A+6VkXvXEqXa zUI~~4Y?}b>>v4k1E6JG7b982%Y#C$rz`5rHxU=ReF%n?d@CK{{g9bBvHjNYSMhrKV@^T>+T0D%NJ4C8HYJ>n4m)ya)^cdS$RI*i9u=^X=TRYF;PuJHST?QI0;42-dL^lbd=wn=1 zoloRk@tX|vIU{2p!z#Yb|CP1s%ZL5j9A%q0zKz3P8E!aru}8NV35t~*S?iW}_S50? zh@*NjcmjvS!YRs~b}bljgjRhh&#Q(@h@HSU+D?zPn=WxdHF4Vn;tSJ%E7})Kmu8h7 z_5)8WKZD!UZhTMF*^@)z6a08kfi)e3cOqQmKbD({wevzJ$z!oS;-$wi_Uly04f9`N z@^VFx9n?Cd6o%xP6<&995^QA?);w`ssLmxZ99Ya4AySrk;REfKUW-GS$tH)kOl^~q zoLhx`f#=@t>xJbDhPOOrh@(``w~x4l{&H#ZdEH@)v-wKVk%~wh`w5&D{!$;mmE+Re zvDo=0r%}N&Qvwf*nRCKhFp|)8CqvwI zk_t9DKMYzpzqNYgB>p7?=dCXSj_PIL=9K4t@gZ+?X;6;(Ww2m(t8SL(V%`(YW{9@^|9-(woAtfBmU%=wrS zXKM=!yi+V$`d+R^H9U7QF|<_*6n!ASm(cHOy-NHGbfd9{(R%Ss?=Jjcqc}0yYWbZxXD7ymd5sk1awTx=KI3X~S|=Y*XXmFn*2Z{1e7rrjqW{wa3E2CBsZLfNX&{d%=r|k@ z_=|ks_yyC*Y}U-oh4GqW!6@*UU39^7JU@pMF_oEqt8~8{BDr~ujtNEV2;FdkJCNIu(&n3?uAq!G5-7dnBIC45mh~$3@k^GMZ_xyCaAALlg4&=_> zki74N5UaFnhY!ljXaog`4iWFRBIS!Oj_=+iH6-EnIjsrV$ero9X(6R!H``@YewTOA z2*xvr6voH3cGLAfP9j{J@MdjH9kTy&pa}Q~H&Ag(;TH6^UezE{dqsAY^e#_zYNqw0 zQOi!iobY?EX|OM!%4uKDp>NY+nnJu#LVCWHNX3PBUy83(4&92F8ZH?$qEvmR>7)|_ z>{+fe_gkmY`e~9ctj+KX>Cdlkw~a%dHxDD1C%BjeBkcr*lBqw3 z&6p9;6S{<~#jya5J1NoO1_Q6HPHRy#E8*23vvJ_sX)iT9J3;K{=DxOaBN>Pnp;-6W zolx|UE+$h17oYhz?M&Hu`r2X9kAgr$vzifnlKAiuu@LRG7d!)>n}LicCrI(QZj zeZZ49i|!-#S(^`!(5)Z=NSVk^WR#k{?rmXGr^OT7v3nc)%b_>K03ka3kqWeZDeGwU zC=L~`;*EQg?cQgGxe{g;-uS82=KZjUAeliYSb8q)^kPGuo5OL*j#0Z1g$Al8AtwQxBh&kG7Yi;uabS2l0QPaZ!a6jSqWWCly7O)-z8U4wu7^!x_#DqaLBh5B8I&T;gpONt*ufN&B zXElkUqG#~}gT1)vRH1iqk|Xxju`f?PQolW?Ami*Cqe;ar!mS9OF?|f!H~VrpgKBn8 z95(?(Y`=vv%n?8tW8&p}jI>#7Fe7odH;i9dF&o|n+{Wn{kKb|}nF}Fc^gy!%ZU`~R zcCO8i;DF+FR?D@XCP%bQN56=0%X@-kl%|4XhY9}MetNP0cgj^c6p-v3mJWv&5Q?Kl zhBIUq#=8pkk1ChPP2}aoipa>yU%$G%>_|8HUFzT(&nf2YPb8a_lYC)M1Wi!jM@s}r5gZa0r(&T=h4oj?fUY6+(j-sfmh4|Uo6jN4f*o&5(3D0XZx!HI-MDBn(LsW^HaGpxBYU< zq_os1_fn@*t$eJ&?^k`cu}jRlq7af;5`LL)DDqA994h%Tcz_$U**i!~;fEekyR-1; zyxb^knzQiq;CQ>&8;il0T#bS0Q4|a!{8D9mG=h@-d{5EzNM{#QLqv8^lXoaTEZxmSVQUVAD%mHUhaM8{B*=ZPQtIYpA}`-6*A z>qQ9cFy5~A^X|T}o5x5T@B7A(!sN})%cx8Rvv}-cuH^9#H}AFy>#>qU4oH95O{XY2 zQ*&0LJS``rCp*M2aXEH#XLIWGo1Ed+K5^QTBas`HY5a1UW@&oo!SY?J_Gd*f?DJ`O zv?lTiZP#qI=vZT2r@f~onC#y4L5;_D2BrQo(lYP4%aF#&UYT&ud=zWUJcErief+%908;HEPe!4`LL?cRtE0Nfjc_K?M|951s)DyOg zgbnq^zhtmqNs;g@83N*X-)gGxVBRYsC19HfLxL_0$fN)(Bx-ah25KlzmW5#2uk>7j zB@puJR(t#&RGEH`b2(0y=W?lhB|p`M8iGm;8uBIb$b$MHwdxm^_npg(j0^SZ{9)gh z>)j`9i*YI8yw8Li>)s%B+;i9ZJa$WA*=Uigk%+5Ure`nWkI)dxs!1%TRLX1QH$p+$ ztDtNS?kJs{2-@o;7dLq+myn!Zr?rGm~q2Zaht;!dTU__tPTATpC@5dQ@2Zhq70(oQzH5kXy-sX=c*TN5oZ5aefNd}J;w+ecX)LM$2dt{4 zFP?q!iyRezIG12<)*xg;q{m=6#pPHF3bw(RRx#jNH@VUA;H4AOLz;Y1OgX&=&EZD@!6As0T; zk?^}RvqJ_&tQa#kA>`!0GHI;!lJL@Viruack~_{8I0l z}f!iBEy|bdAy56LqaMhiP z(}a`TaMMXT$8tMe&*Y7c5eZ~80of}D@QAK%d0~E_y_W}vXwanaDwG6z4#LKHmSwrc zQdjh8HCm#)*Z2|a<}6?qTs3+s3C1EEvwpv6iFxnr|$Lr>SHbjaX?82 z^m;QCKGcfuQE&&+dzpb`7ZTEN8~7OCgzs=-D9of{SwYnkJYwOQ2xb)WK6Ev`jz17Q zkAE{Q4ko-oKFTETth2cORK-FBb^LFRr<;WYcWVMyQQ6B$?eTiMV+1kch5$aMD#k4I ztM3smeKJztk^*33U;i1bf40G5Jez%)V|lsLt-vz1F@@6k%l<2Ld@=x=4Cd?Ev8Xoe zMfk%kLls7=DN=yG#8a;3FD9RW>Eq!f%U1<$|ECqT-j6;5>u7QCy|d~Ct0WXu&W!uY z!-mesybCBpZxfVAcPQ8z;<%33thr%vNd;^XcHqf}7^Q)sp=7p!Ao8$j6+ds%xY)<= zOHzL8Uoal4yu@FRc?%iyk%+mH#3QmQSIMcj#FBiNPUp*=03w1WcnDzI_$iGB{%sTl z+5%6@Ra2lZB=lAKiH!r!$k!>1zt5qXl3TvD(6pgXcc^gDqcLZm+OoOwIL z(8qV-YJ=@R%pMNcEuVc@?f5!*jSUKb^aa%)jcc`eeFB(UQUIT#wJF;_qwD)Vh>P%; zQhvkh7O1jQ8KkAn+8@ts2ly1e?3!Dd&X44ipa;3!tp$V9SuJ%s38jJ$e)o`1*{|TJ zTY>huiQ`Ae+Y!@QGM!?m7FL}B-xsQ;_WO53PeJsc@Tc+AYms-DKAyPjy^G(Z)2SF2 zhAJdsBSOBS43TcR4^lD-!uvfLMf*6BS&N+0Z8FgzzYP9X1b%9^wc40fL^K6Q9DnKq zM=E!NLTK2sQVHcYn9MzKKM>}VzF=10pQwK^)rjc2PU^uX$PGl)h2Og5yfYhJ*Ch&` zC-<=T61lzSG3{@Sh~86ccg86B??C5k6Vl?^y}cg?yHP||Xnv!iXGX+IZzD6+2#zW1 zWXm)FLtTue&M$uA+Imo@aM@5VLs;L;-Jw|5v1Njmk z(oSi|-BYoRn#od+d|4{HvM)HCa|J8+{WCuDOeF0KIC;*Fo!s@x(L0sMqAx4JG48NF z8Z+&AmZYzL!oaz6D^WTm#B){m<1`^0j2ORY7kQF{xAWm<+Fl9b8UzYavI0^?nM$qI zU%gL|@+%qcB)j5^NM9O`+cHU0VJjvj#OQmHM8G8i@zgLx(V@Y9L5F~BCE5M3Qr~Ox zCBhnZ#0)jE3Z8N$dB%S`5e`uu=5{p0=mjKcpmm!HfB2Zujhkw|fdwym9)pCEG&ewh6&CsC z!@JBO%)*kB2PjmqDlaeZJgU+jn&@IbYFzWe!>|A4C^>f*C|0Y)Mkq$G&b`fpB`=+YO+ALazJS>@MOG}wbat}-)<~tdMl(^%n^y#C_ z?5>f|(bf%2vVqw(%S^5u`|;H!6EZ1IBx zhYXIcO+tE_&BX27qGD|^nZf_X)>p8_wQb9y!JS~i-GV!fySuv+2oAyB-Q7uWx8UyX z7NqgU-Sx4LynF6F`w#Tj-D|8d$E+GvbzT08`H@HrE{-}gT5Pri(&Vz31;RN}L%E#^ zL^TB!uWDmX1C2v0NXNRz3Q6r1K%UdTmYZd~cK*mP!qv9J{v@#p_yr#iL1Erl%o2K4 z?p~%UK^xu$+a6?y2~+FL+9b5{cv(zACATtfnOyv!tFkU);l-jaU`F}8NB#Yz?ML+B zjbfgc^Yy)>Kn<2?`lGuUGYE%b_4m#$e`x*G^2W@m)qHtgP|)*;1<;)1b<+IXFTl*p zUcRC*Afe>o@=17DvTSe~o$_)OBgb4`*Y3k|(&;pi^3fn}lmvd9kz< zy*?Q!9V_~4O*W>;`ZKqjiCgf5NN*92Et(nojNricda|4dGzQL*)Ky*LTd=8=JDDS? z-eR3c2~bj^U+6vx9Dz+MV1t{86+6MrN!%_TZ&dh1mvpwc-;OuP2+&49f9Ra=YyG5A z_)F(}h?5h}Ozj9|nPi0Fkxz^m>_n!(Que9;dKhtd38Ky!--%i#QvW)?D!MUa(RU*C zI-iffh}`re+!}ew?xK;@3uLM*Ses`4-v`r8YQIUUI2we! z2KS;rB1TPs0v4+Kw!x25^o-;W3Swbp9m`G$E6b>fM7ydBYFf)g-cCgR)LUq)rw)fY zreN7RsANdqejD1Q8WuUIY`xyf{-<%IK=wl_;nYxW>iclK89 zdv?|H9Esmrv(MiyB`%+JI$+YiD<1FC-m*OGNHp+i|GV=3rx2g%AeiSi-)Pr!iBpZ= zZ&7J7IPEranYR5ogG?&1#7Tc&qJ$1dSZYIq>FtFFW&~;h)F*2zuB>{`eAlDUN#(cl z;xH(lP4d9YWi@l(-r3)N`~Kgb*8LXLO;QbpO5;@VYY(jscBei0MOKbt2{V_#c$*!2 ziUuhw)Zsj0IyPC-WbzFbV}zMfcVzBGIzU6{nrS5mHXR*_lJ2^bWjisIMtvgda)}YJ@~8=9a_fc6~gq zde*(lFl}!peKXqmeTkD%T*S9*WcZu{7pTsN5Z$KRk7-5jO8Jc-89tsI>V*_^*>UQD zUm(WOE9xapSOOuTZ>E=O<&S$V`{QAj{5$WN>Im0p#jMko-zZ4QhZcN|e3zfH1A&~J zdCdXHk5A1^j4@SS((SW^KYJ4ABy2R?^%H9PIO0#vK2^erORaNG9r(xam=*EVaIW*; zm4M~{O5iV|55B2cBSz2bdM3+~USrw-Rqu!Y^~s0c%^LQ|V@`1uB+=z0L0Uq8K@MaE zdcl>a=tryRM9%EZTBH-?6fW#)5wqxnM{=ld!}{fJx_c1T-FZSepa^jFL=qXq?wG~ag=zpoRJ?#1Yq#cir$ zU3er$vluFnolm@^ytJZzz<45U^4WLu$=*}{yQBW|dEhI;;$Ojog-S-KjzSU_2;Vu# z&CHhbx5BDPCn(0Mzjs>b8p47ks`-%x)?Xu~78L-V)L$?7+uwUlG_U3rcOU1b%^t|L z57i|2s_Gq)ef4TkHINTuH3YH(LmKgB%ZVfEKjBBuF}5S-db8om_-a|6MQ9ZqPEN2m z<-}pDbiLsAO#!eTkL%=cdj_>mnXb0SW=_+5_M+zHg?Bd4wD!E?cwvGwLuqREHTT+aRT7CLqe5gSgAB3j=W*~4Zdw%qA` zUo0Qq%r?3gJIIOt$&6pS5zSxLnZ{l`ijU4VTikb1%fihc{cxs?NbL!XRJ5QY1-SEhW5f^xzusc)<^5K%3x6?ZMq;URbE;i$LwUg1GCucdN~m_KQos zJlmpvNuud)q0tExrqo4@H=Hut2VF8pk>W3JDWU!v8dxE#{#8KCp-?Fk^je0EEEu(m z(ra-mx}rDUR#W_l7U$NCT8QYgp@#!YHb9*PL7jg>7(2Ba6}DBbSKOH>>m~un=^szd{zHVC_(*Y&2yCszd&y+p^75k zP#JIh;l$Xi`zMgOGI_NaA7P*6dFa1uoeLIqnNI}(OWDM!q6iJfjyBoi1S+6|yUWog zdDI1�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

  • @C4&O{lGtD zU5fs~W0T4UTgYI>S}3TvoV?as`NKY~m<#&kmP;T)({{SyGqjUghJoL0`g{-l9RKvA2CR^$8U znWwsl9{wAgu6TKOK+|@e(TM*+kY6zN^|Pvzx6OeioPU7PU(Wo7#IwW+)J`N?o%He+ zA)FuojkW=3n9A@i{&9iQzE4RhppFpapS&+v{(SwfQGj3_TCdCkh#nAmeFCsi{TCp2 zLB;(*2&f7VM_L`a#We*z|6^YM!m7VDK*5Yz6EH`yOdF8uX9Bwaz~ItfB%XF#q6Oc> z{eOhDh3C)Ip@2*Ica-t?3oyqD)o=0%45EKKb`U;G4t==XCwy8DadjAN zM@}r}aqVr6Y!q>?VmH(ZKOM;a-e|MbRZ)IEP-nP1k*Ik)!oF3xh^AF_`^6_;oI`{% zp4?cFeB`tRGD{HmG!iW`{y_0UwBo?7BDD0-z=s@*TTTxdpJ9~xT0sUUBlxuFmc9PO zlOLqlh9}loo6lxo$x6d5Mk!Rz3r#N*TMckZm*PNsQrJaV3+_JI*h)J2>Pv~kO+h~Z=9UACv%;K5N}XKE{L|vRT?8vzy2r z0hdHi%KXU14L5owC%f0)iIL~aW6J$p%VrxxY(=f~!)iF+0Xr5;Np5MpfcqjY>2vKJ zDoXUa10D7l!r3}G$r&1^`S#&oT3zN4o(kmpdU|^PET|4Z>E4`_<-DH7$NexSBrgIv60r*NPcg z6=s`@>e_5Lp8E_)pHtIMOT(30YpvW|n2nxs{%Szsm3?s~I!@zaY-&!u3!~*T#V2qm zLXIW+(KqKN-Q#H0x5sIBPZRu*@M-a@^Q|$oiOae_@xgjO;jDBOYXpU%N!w73uk&do z=j6B$MA$HHR?R1TOiGF5Y zyN4Z@7a>E?wVsQ32;~<6@nt(;L(Ps0G;y{2Xnwb{^c~WR4B+mQscB7G-$SePh6!~f zLa3I6Bg<{$(#f7``IUA?VRN+-Iv^gki$zB>x2#R?GuD~h?qi%qA1NQVAjE-=J{Xpa zx}w6U_|EH?7%A9dht!AS3iW-Aw9HQ?K_&iYeUuSRmmajIkw?*RW{r#4@;*L-C0@YL z-rFax=(|gjz3MG!^CWvNgXFw=ZI|R!RPhn_uhqRYY5c~0c#l?4RW&HOE%0$Oy>;a) zi{!1C!LY`SO2M5ef)8KPqvQ9*dV9Xbo67fKTRtG0IZW9q3!2k-F%WJ{)8A|!7T9w- z4!2QWk?i*{g9V73yOw$wo^f&Eg@=dhcAAOqzd67qAP5Z$L)_ZhqHf6{NBXMM&9fA~ zb=ao%RowQ5i_Vvuhyjti8!UEPEwldO}8dmVYiXi!}ro{&c7Lt zHC%dXbO0=Q=J*IPt0a_&*xODjdF^bbjCFYXbi1Oe7g>MLCgoEFP z1N*Cx{6$d~Xr0TpXuz#T2RA;1KD`*A_wJQV7?ol{EN{dgh?jmOGm~%8N%7(eY;e=X z33ayry#8Jrrpbm{cmMT4w7b)j!e{0n?se8;=XLe%CM-(g@Ecp>;lVZVa%nzi&83@G z+q*vHq%yA?Xl>1~e{e9tG#KoGHO%x>6TB*D|!|xlg!V}&HtPvv4lX^doPkvy-?Fpc8)_klqZnRExW7P-b=xe+_jPM0Ykbv8#wVX1miPHG zYsvso5l=>zlpDT4zM}od#Eaxrr(;h@+u{L{eGB@m6L|AcE!+=3rt435E~Q?QGl9SQ zk6^H_x>I;$Iik00T*KCLU^HCMC|s+Ht+5?b_v;PPLbkmwi>yrY;y z27s$q6C@J>`jn3D>*8agVLTiily-U$o9}Ysz7*sPzc7Xp9C&JHGZjSp$8?0oQ=c4` zpd&3_>VN^?g^|jQ`FR?{clE$7lb>ee3IbkE4VzyyyrQmj+Cs-V(UDf2@RUqZ&;gtJ z)Z&_IpT$JpSn&rQy%=gYxqUQ$sMY%H-=4Kj7)a^3Yt-ubmtQoVmmL%^;HfQceT~5m z@|ZsAEOBGZq1muHT=qwyz_iMwNjH&}4#nfFS3|mv=wp~maL2_XiRW~MR5F1{?Q#&u z^RC*(1RTt|kjxLf zsHkRuO|$3DVL(Ed>}q~@r#j$v?5;wp*RtQV=bnShx$ld@%Y(UtY{t!*VBqf)Gt!wU zffU@kQ5B7GcQ{`=BCOxyQ5-FaM?n#Le@@dB5i6^C*o9FvH{TXGQcf66yHQ|nb771W zY|zH3sM3Oyz+!w*Rvc>F;rCr$@Vx4|;6@Z}OmL+XG&f%CP2bgiX=MZH>M33im(Kw1 z=j7zgNpItx;?++0kLnZU`=|c|sQ2h0qr|=_B*o~QG&dxY6PwxxovR4cf!B5lVn5N9 z(>qBk17HM8RX&1HzXdPDb18Jnb^)Aq0&DZRfeA_dE1UPqC&Ut3yQ`b#$Kpx>Avc*H zMPm8ZbR>#qLk!vgIXN^Rto#*8cjvz8A{nsoDbWRqDz9WXv^VS{8XJsxcxW@okvua6 z+e5x38qb2?Z}iZYeb#t1l1twqP$PKL*xA&Cm4kX_gu^}je3P83MGFF17o5mfWvk3Z z2YC5#I0(9WM~E3c7N0D`BmGPj$`F@jsSU#%qA37*UF<7ZSBuHC^z`3MC_#Kxu`3-b zn)Rd>uPZ=3^f>GHF$b>mYf7=(CgCuJyUMLg{5ukQm@Lip7hT>avJYt~Vc>UcYK`?$<0>4g9JA^>6$zvJ>E>C$7YW=Pjv<`Y;j)Cwt@hxvMy=Fx?l*CAvZXLS~ znl^eWz9HwfWUiYI0Be~)^7`0HE zR4lV|SR1N~6t5yR}tgAsxoX@4OPTlj*Ml&pUYH>eVpMMO!86A4Z`n2H|aRTzq5>z4GaS3H-K zarorh$07;kUCX@AFFu;LJdUK=o9L;^_ri$qL0O*%cW$IEmC8=t7=X(&nZZLrC^hVo z9z>L6hV@Rp10reoDIA}tw3)DEZ)d$|b2f*yfuuN+jVVj=zxf3yU(Wgi6_TgqH#wLHSzKTo)X+o~w%jEs)i$Jjs+yI>iWUJIJfGS^;lUbd_(PpSi7~ zww;&aC^zyCcP|y`6|I~ji6vSb-#G7j2rh3g+x18?PrWpZ5jKG$V|`%+`QFyw&KSLI zD$!DCaO70=={daJ6z5mEgBRS1kn-?qxG zO_v`{QJAp7TE^O&1t{T+mBlvkEk|FFeB}=c4U07iC#N?^C4!re-FSPYK*immv2N1e z;kb#++k!%Ch&U1V2|Xu?v*b#1V3yZoSIzzSJI*HFGx!drrF%$HQ0MzjtE)%lH-aK8 zLzijhin*0#{T}wj2+l%TQ>tCX#0oIW} zf+B~qYVcRn;0-uHWp62ytA*yi?b*91bYI;hHPS~G1*@N~z~Ygcwl3{lSkM=_+R})K zhOR8R^k9{T0kL=sNrjfnpD8BU&S^d)Fn=Ag`WpVwd3|*OdP3~Vu}KNW1N!b4BW zvs^`M z;?qlqc720(eD{-5rZva)qW9~!Ba@X{bO`%hdh)8#6#zA1c8%?n+WAzbx6jkjpt}MU zCN%rVR1A!b$*ZWu;eoHbhlJqSV9a2HPVfDXA9?8>(U0g4o2c>Y#x*KIO#27%sKW4q z)6W{i^BPwwL-p3WH-5(|`^+cDm)T=eHlx9a5umRI6h1*;!5MV#q@4k9?UOa&Pn)OiD|eFYJLQ9w2oY#@Nw-0iAp)O+reei_ zlQeYsSfNIS)51zhD=@$`q1LGkb`rHymp3u01Eb4I$ZUw`rT&l*Gfvsbr>iY&y~-n( zsIgi)!fPs@wFD6J&jq)K%8C++v*Yxqe6JvRHzu!%VFP)X?lSaN^@jGwK9;$Hl_yQmY5rS0n*X(hN4L z55A_Skc#Sk2AJJK_E$Hvr*Xdc0Oa7ZRxaJ<0{CzF;b_}=IA1p)#HcE-P)WbB;}N4p z$*;%O)VvLa)9*C!YgmG^t(y?Kmwc%1AG|-`@{l=X41YPa=I4{W2tz86cqV=-RHb6l zPD!c}!l@1r>3k)Zf*Z*>{{ue&xWyzrQHf)AZmgg-uQ495YkYE}%(!NB`Xs#l(b z;451PhcNk>)Iw__Tx=p#6V>uLwdbLtLD&D}RFCj+dn|4&08!JA*4uv;Rth><%tagzh(*a-yp5Ki z?rzyWUpbaouSu57%>jI^>*LQTN zrnNpV3buHJ{wYi2dK0VejE+j)Of@bNse;U9g|Lh8&0 zG!}uA@fmt2>1U3-gn!go-GWxJjPLzyH56}UPwtkA=MC}?o?5eHN8B54MFldNE^Z^H zkAUR$W4BtCVCLLQHQ8Wf$YiZPRO?n%fhuhGmJUsB-qqnfMD*D7sId`}S&t}@`2xH< zZ%q=MQJ%LQIM1?Hl^YjYdL}-1`^~7xrybXBUYd)^nKvRXHEL_hV=I<))~uON^?$jA zKPd7nRXjC|P5Vs8b3UOd#uod%^ukr1V~DZqgHCebE5DhifSGpWMh%R1{XV`LSQ?TA zP6>!iP&yv9Bg4A0G{`il>cFKM6rm*1KKi2ur=vGXOBfSDD{glwRv^s9l~-69Bwp#m z6O$^0NXv-zqDUkF-?o|^$VWp^JF-Nx(Tijp^xW^0NSq(O_aRqCuB2u%~n>uBMq5n+dPB zWo?~`J}y7Cyg|}C&VhrOTSkYqKuUj$K2XmFcZc>uP&nSQRig5IRXuUT1*v(#2|jh7 z1vY9C<`*)-GG{_%)EG8vDx z31DbAKvBxyn|0xTcB8U=sE?tEW`-*qLiRr%SLPLZis+KnVLAH#KQ1%R?KZ=}z+goCZ)uf5jPA8} z0d-KEHSgi#|H@}|Z;6w2TXF#Yd+6a_fqq_;&;khlV`?AMQ}omgz{TKnaz?pdJlH9^~OS^SW0^0B*fHWWMd#5k5nXS3bT6eb(Er z)v7`Mw?{+X1+T$m@RuGuWkS?Eta}Jp zNxG9!h8hj=abT0fouqan%+5diG1*7a%E|6L@Qm9)<)6^^QALFqsVM<)&sjy*B9c+w z0Vn`|nRScXZ^%}1ZiLO=|0>>Z?QvDquBN;Dk{!gDiwOq2Y zG%}16B1u?SATSTT`}ip%x~VB_2J5UMJUDk=5=jCB%lIEj#>W_T9})ccBzE!DW_QMl zmVM@c+x5t&d~crcKi1?umICHtM#b)t38U!R?|Z)WbF7^|9qDuCbUJJjyBlrChik3X z)UF}JS%uh_LEb#CadWF?ff@An_HCY=u*zy`df3FDG@eV$Jd`Im@h&Y*g{d`p<=Tl! zJ$3^-;0-ny5tkiVF2XZuIsC|APS4lIx)w@-CH_NQMtmV7P~Kxloz zKE3+cI2+?~`&OR@f)iw%J&Nq8A8v|>ou7zJMM+2}sfxenkI+`ggvZ|@Z4{{=jZ@gB^z0b;JUfHtE;PrkU2HMwTPH?y+vvQ zpAW^NfWFvdL>skwec5T@5eqy$ZawLX!lV6=mKGC^L7dv~7BbiFFQ8qixBR+nHkFu_ zPk4EESGO6g6wvC*MwAAO4s(p*_H0L$KTe5uX$kxpboOwv5m`tPJ2WZ^chYg^oG`oP zvi^xD{+j_Th)`S<_Cy1E*Z*Gset-9iP6iO4INj@s81%HW0J_`=#U##j#T@-Aj^zx# zpij8DZTALEOhqjQc|AXVfQ&GlT*QlaTdj)X*-(g53P3JV=31=Ye{byj(XdRM>Gwoj zB#^yB7>F(g*$vcaq$SEudXbvyUtX^EVA&oAjQ?(9dNI-IoZh~vc3>;|tJMlwq0h{Pu-s$LfPHz%osm@{NN0{_Xv16YK)4F zZ17lh*lpn48NN4J(8EsTcI16`zAYC$o_rrn;|xw|~%a?m_~fiw$QvlO}N+v#Sa+@a#3484%sh*%X3w#p2Q(lQBn z*P7`=k}k^QwBTTPH6%{WMoac_W4YS;4nHPc1nWSXy~o0PIi{1{5WTYhJyixTLZ|<& zZw&d)4WP-Ri`?-3V$pR@y?=uW7)YMqig7m7O38B~+mAoz^h)bR#ofx8&suo+0QqMN zpKrY$!=6+=lH6jDQ;T6yXbN@y@S};{b%f8osHw7&e;GLv@w$Kg97yRohl}yI$qq(r zQKsf!V6U-DDc_bP)D;$5a%yxf)`4qk_sa~rFUGqZ6?<^#?fbUTjlsb?b3Qnzs26{< z>U0{-m;q`!+jN;TizL|&ZkSa6(sKTokdyH_?Lvu_=(PNf9{~Q|UsPGy&o^rrTC~fQ zmp6E?F>N~sro_5-`C`~qp6^KE?%kjK@ncA}MgInh_${2+?HYnizf7YrOoHKswEH-# zw(VnG>B|JhE;fjO0-zHlG*chfl#5WKOk1`s4qSe;kKonSj4=7n?2ki9EXU63cfi*M zy(zR>S)Z%3&i9ovIlk&_#_^@?H$UvPV`6#E9q4&IY$g7Hg{)KtXS9%QK_(i+-QcAA zp6x(8x4J^^-t((>wtikz6qC#xZI#)T8%Z(Fg^DgU`X`^Xsx^@^FqoEiYPunYzG`{u zk`z=@E(^X+qO8-=Ha2!*-QE8Iyx%L_ z+)g&>+xnic?&^=r{QrFE&riiMXb#E-2^ zzZu<=1`*{|x&q}qP1Hdu?8-i=F+jSqxB@h!Dh5bKh1R=Kup1*sQn|zbB=^U6YTf~I z1q}NDjrMq7wp^dW)GQP0uq#^JN#%v0ZE zzKZ2QssNRsJCysAY$!tVi#UAM;0F1jrJE_cX6N|m8MA*3TOho7dp!vnTW>+U$hpF< zP=M!IW!Wi;e@RJM_gCjOwB*Tfi+Ir)-R(}@`*7F5+4_fzoiTYoIlm~;LxWeF7)2-& zdU_;3N7FGVLR&7!z6y*nk!AS)B$@Pn<%yMsU1&$m$5(GP0yKU9II4k0?O$f6XAK>b zBv|$9n5yOjE2beP3GChjLqj}LC!^iz4^tR?7CB9uIHP3Yu(nIy{Wtd4z7F6ik`1#p zIZrDjhF9X`1O=l~hEf}1SMWS7=ff>pCNxHdm&5@l8$|SPndx}H_0ne>wxRRBO82BQ z9EqK)vJO`V2S6uUQ+PK~>GJcwoHvN4TF%R9Scr}`t@R7;Y_L?zwE_HCif>Tslu4TNzvsl8rPe)TTj6hXnf{AjfbbUSYkt7)xghTU3 zJiU+b+rk>-2|?#$3iQta;74=e_K3~$uLmu*1G@-rz(hJ}e8i!Vu~M@0PI)#vPltfl zYuUGVCsf@Q-m5V?l+BB*JWbcLH>NY{7q1Kk^&U_~qypv0Qh08JeKxmkTqn>bIh87E z-Of+Nfh|}9t5>L_ko9dJnX((kG*`GFw`I1b%ZSwt90Bmtk1ed!LPP?vGxf>JZ9DT= z*~M~ZmM%7(0Aen*mwig>`(ICZJ?qN~U$*lLZ7xiT-HM=nkg$ipcXl$6v^!94#sD`y z^=Vg?wf+^o9SXoR6GTEDE?#v+SU2u%)scis9hYTybfLneBeD7Hj}WLdZ@{Ukq3v~pE0UGT%)PgO1N8h zGAHikCbn&r#4AcPY+VjlcwTBVref_N9sGn(QpKch>DxovrZb0Mp3U0GKBDmqyr*Kk zJbB0s#K)!7r~%{mBIv`LzvfsZ#vTjlB4`i!=8>{o$JhZz>VV5O{{~Y$-L~wdmaXPw z)H0(+$^^z&hxs#en2$wsAvELTZ35QAA^QoCzsCxcEg|6z_kkWj(V9txPK|v{zK6f~ z;7rZTP>{IjdU69I`qe-E7ByzUaL3cP!Db5&V<{+G3O5d^oYXsBRSfw`;saNv6E>Z{ z!qvxiU~Dk^LBjz~L8uZ)?q&U~321jIyM2X$>~FC6N5~lhRRl2s$_5@Fp7;o6O93bd z>uhe=|L19Rp(Bn7labcRD9>HJfWB1FyZIf1vo4fX(81YvkG9jn^`yX!3>@S z7a(HRt)D-U9j{{(oxn#CybcSw1a_4h-@F|` zb9BV#=jRJ7)|CH>u0a60tXAlJb`Zem6^&i#DbQ>^9Lo4@!&ptt1w;rC&rFU>pfrdy z82d^mB}9GBEn`fyu9pVaOD56(P~=i(ph517>AH2ccyXfFb1I8C+FdM1 zK9-JskQ>q9$DJl<-pigi6>aDG7VWDIjs}tFfGbk9^;O!?bDth%;T+*$4Q$cYOIF4A zM~jUbaJYv^e^$KzK|=oiiOdA|6&Zfl4Lv}nQnpIu>0WB{UQt<5R}00oe>jjNo*BN3 zOSGftiTH~X&ZQuzkBkjYH>|A_L-?H#=f{&T121-zdsr%2!#7^4-n9OBUrmJ_i8|$0 zQR48yUclVkJoeKX70ic%F@yK@XT)qa9tF`eDpV2HAma&RADP!W>yLXZNIIccBR?`% zFF+*(hlkoDk#voW!>C~9Tj6beZSeuUCjj`q`a+c|{*-@`)W0niP5_!MW-!Puyaf@2 zUoleaALbayzqNxPeAIO%Pj;YofYzU4_FZmG%gl&vc^~PqsLZ92LwV_X+2^7s7FFC6 z{pSeTdwEzPY9+^W5KNfmCE`s~R(m{|04f>(leL6ztEQuPn|OpsyaEVVSocvVSh3hV zt7&Onw;S)RHr&+Ss^>;nbcdlma*hGMFFKgd*H3FRoqXlWVM)}PpUEBjcAm(F8ZZzs zZwhB}B;Hf%Wvt27PR260n%H_Zoi5rlq+Uxo_G|vc`M-vUIwVLH#0rO6dt?MZo&f;% z7kaOCR36)l>Ji=}B%m(a1o{!3?yU@y*{nvbW}Gj!lRT{NZ#o}vx%<3xz0>Kr9-?yU zn(vR}uQ(>f<>VH@>=b7t)`6V70UwO;30{3JewvXSp(;SM_CQGZl-E`*GFRxLOwZ@= zqxZ**k8ckT9eDY=$VW!po;_z_K?n~QuJ-tDp5{4YfrvKN*fZI=g@vk&#;6?5WA?P!ThfL%|!b^ zo$Vbm&=gdvG6H(3(fmw?=_JPUPipZm&CC+VKaKvlfw?zgWA?uUMRA3mO}8Qym6Ysj!kOaW^wW!H z#LLT|xlB**&^}gBhq-3e)KKyp2tL-bolR)~zmeF)$h}eIj=-U!^eD?F@@aR97NB0h ze2E zfLc<)>4d{pP57NN`4M;;bc8+%2u?IXIP@C`Dl;a+!WZpbFGQ(KW!@3*w2{V|XdZ!H z*=!w0PvPWQ7iP5~7nN2LJnL{T^?vgPepJ|*KO^uO3%u386AcfF*w|3SOL9N!e$O#f z^Hx$pNeT2A!bt1GGJQ5+NGjReLcS{r_>Ea4#AC`_lz>HV&1f1>=+%MZh+g^Cy|EB! zt^B?%wIpEf4y#A|KxRO%S z?1{CXBgK8NKIE!u-!>zWjzcr~N|;?7xw8p&L_{Bq4!ePEXqM(@?W{k?n={mXk0+gg z$9@d`%G`Z6U^RKh6P+Y}F-AXk*&8i*Tw$f#c*LTdl7x{woNcQ^$i30-!uv3LisC4e zW%?seB;exJGa`1wm`D6OGi*PRqx$jVF@7UVGKJR;KPMM*aD_l=e{)_j#JEvj@9A?& z>~63G1KxqQefH*IYhiV-9ZaeRQNcY{cA<$Kx8})@NP-2hz-&_{f2tvRPxekf#JhjF+$ZY$+}*leZkTvV@p_*@LCR0O=rMuq90 zL@f!jE~>?tNq^$*`uQT!RkI6 z{cs_^;9~Ua`$eY*@fb4Vi0RUv)3c2+*CWqJvQl5gL1VLJ6XDyjgAM_r&Y+DGUB7ja z!|OYC@9R|^WJs2}=c=h0vI>Nhoks%A|Z0i48-y$pE|X`VcJQa9|? zC6CejnYEGm&>nvsxc(diG7BdjiA843Is~UjVJzmdX-ARN$d)F~k5>t)#kHa2K#$a5 zTu&5eZ#tSj@;Q8GNs=&zsan32bXu8ow&6%G=$(Z1{rh(#QiH_~KA#-@vPXJwk;u~z zc$1iLmRz{f*Xs^3#)bu+@qur*B$=K+msECmcLs3z4$``XZ4s!W7Qss(uYO5{rqOP4 zS-8AtaAa{J>A5(7pa+9M!6W$OYTih;p8~NSIRXtE#|Qhfzmi;*XGZk@`!9gMkf8*S zE{i);)D%fVEkt+rtWkdm7NR_h5B2;>V`*>E{|F!8wp}*zc*!5ExS+MR1S%=QMEzq_ zkreO6B!i%hHCS0Xo`AliRegd^mQKv)W+N$F!*NqnQ&|^SR`?~xyA|UBkekBwnaE@L z;pag}5=VoTE~A+{q(LWb7o2G{U@Crh+(!a?b^~iI{I@!+Tl=sdt1f6VMUjaacP$Hs z$jHc=`BBW$nzsT1n?viB zFpniKKU&H_f0T%V){kFsomkh*j?)=fLzn?m2p}O<@e75v^KsZZQMBLcU}<(~&j)^g z?wtdm&l9KSli7kQITJ;V6xLioKc=!0lU25Q%afezv#Jchsqr-kyctx6iHt((4p zlPvTPg~Nm2<|M0`IM}7k1D-s>Fw28ZvlO?puQcm}0Il!OU}TK|F0V{s9`Y91^%O1( zp;YTuD;?uI-jY&FD#@3kgsCUZXEF{ebVGz&6fsZ5y6b$`!`;vNTQl(14VR$bL{1X( zF`2 zaB_Hr_zWenmBS;v0d-R9P5FmZO>T#=4I{TMQ!Q2nIS<6)cnkC zj+ntgf*9EU+e`Tmypm-BUxS==#SXw1{p0QbIQxicOoQ=0H2FNnhzN)IZbE+x^jCUs zJR%r5vk_$hEa14YFvK6@^Xm?s|6K*i2-fi$sC@`%5zi3EBIO-uIlQom?1@b*JwKb) zLBe0}z#JK&oa?bd2}UL3=Go-38pIvW;3MDLL!%hYZ)I^+3H5Dc_NKxrv`{hTUj2~Vg%{_hN!zR#BK*t z1c?rh@J|^*_jZO}^H$lKSj8&dix*vyvhVrLuS(Jtlw-PXt3zFXL~DFVObjd9MV*@E z&n+qOA+;_t3jcEADkJyTZAe|PC2D1kkeA4{z#-G=9ZMe88jq;w(WcC zXDLHZPm2P7%HsqFe!$$t^aEh-&JKOQ!h;t*1KgS-hyv~h?6)}onla?3A#+T^4k1ba zq0~(MLw_F6#&+k>JK6&; zLG@qEL~E@gSN5Y6`T%(OUQEpG%4pOQuqXGIam2oh3G3ha$XDcVK~XpBB=7tD`}3mG z@`Iv5I5rKdF#Q^~{IJ;_Sy|t3A4$O$UTiG@9Rqz%PENPT?Cehx2X2T}T36p#0KOm{ z+94jayqUwK!%(Ez+MrS7S03Zg2A9#%4(lUxu5-G1@&D-h>bR)d zt?i+aMn$9%lrHHGK@jPd9J;%E2nCgHkrpWd>26TEyStmAVVLhw@A>1fD#i-=G#^M(bfLlb&X0FO<=A#BIlst6Q4%o1pF@_m*|dy=XP+q53WYn zE{yI%jB!Zgts}pGfA@)+BIL_9!>^Byl+)% znB%gtvUJ97W*RSc_jWG}ez2WBc<^8t^D~p9t{bq&W)5|Bc7EORIGle_GsoJ7u@;fy z=jmA+-t}p8RMllNL}-^w^cm%j)s8Y>1TYAsVmtn|%=C@v!NTu`-+K~|pD{9aVv7?Y zy?F7WySra}n<5Raw8l{)nL-(_-Jpl-b9IM~vVN%Y}H@0)tXf9FB$b_q$OEbtI zw>&K)S3n#q9Wc<_{|YdyAv7q?D(Gv(S^!4rR^67%%Li10_a$b`lUpMxgu<0~Pp*=v z^Ob)dUgP58avrL$)q~a5P1A8F^PZTSo4(x-qNx?J2mDHSh6+K&ud3!YI+xpmBS0l@ z(J5-MS|_V@+HS@-C})2%v8i88)m18tjEqolTIzzgGT)+56jtX2HM21?FtD_iW_9#W zlai4|AWPn=x9NA~0Y6sqnXim8v@QBV^uv~sjV*+UyAqrRDZLzX?{5V1F)(#-wsbvT z=VElHQ0ZNrm{Gu~>f!Ofx*fn=^}0{;)1eN@-5fq)P~$2R0R;uKOsasf@oIGR7pC?~ z2*i?^PQ0`NZ=5#qNMhy_|H}Il{?q;)Pgq&T8a|}9{Ph*&sOj<;sK-`QT_T?tjfHug z#uEOBm1ONHnN&qD2sfNB za-Sm$)5xX7Cq2!qDBMcM>ke&8UT1C2iXy*-kq-#49I=Ix+zP0S4B--@`^;xr+H>>H)a&H?KAI zZ#Awo=|2~by#h7Yz|1`;7HK9hk~>2TcAp3!F_uQbLfr(-Jk{>iRS z`BBxM;CML*$uS)Dob6dNtq=q*t+|sTX|;fM%Rwa!sIL@MM%)RZKTZyP$T*B%C3x8m zlIw%LYwP?S+7=V%?TG<(#}HsALIQB0gpELh2ui`lfz`HH@0}A=rIRy`ToQ9WVNLPn zOzsEPc|t}$4B~QT%{XKemda}KmNj0RZvMj=CoR%Ejg=IIprusGvtf7PR0&x6! zSeZ9g{)?rDP<_QDCl{?1a00<>OMQzCcvjKEkC&H+W-Q%m_Xjnlw+7^|BG?M?+`2GcULLVa$zH}oKcaw3j z+p&*&<=_cY*Ls{?*4&ADS25}Pqm-CU_x8hASD_XwwNS(DVQxatJEbZ>3U0f%nF6tj z2O(~zS_~7D(UTAnKJ{29OrC|hfc4drvu6U5;Y9jfb`v9e&~j(X08u}Kt?CNLJQcca zZ%=*V5-j8d8#&VjZ$s6jt7^X=4_^hN!5ZNCba-;miQQgTkEq7rufEF1R|fld{u2_%dH2b zv3}tor?KielQH`YEKOBlQ#s`7{|9dVjrId2KL)&2c*c&jU4YRFq`0!u*hbUgCuenMmA@Uz{mt@s>83%TzF+sj6tJST!uVry!}`hPE=B9?=6JKkmF2wUt`}F`OOR*s!&)dcdxwT<*s|IP69P9D z4C@dWYq|I#P|@+Q*3V{{>4d-n_lbM{N4XVBjdUI|W$FA(0Z6wX0Mmq0YVO+m)GYa9 z8Th%8i0V`la#`>n&)OVySNo1kSC)aM3_M3Jqff2Beq=gm|`ipMcmr?3g$%DP70oZ)O_zM?` z2^96FhM75sC>Z7lihKZhxsK) zRXkPY)r~#xIy%he>bAcyJXj}=dN*T!eA0z5ZA5k@H<)>)yf8c`S1$?|&r81$AV7oc zQJlp`OyCXuXU$Q+6AQbX-AeI|81P^5XbW#cNep`+$e@B>RJAoJD7}kM^0rVr`1HHEsT$wa$NaX%y`4gt+V<#x<8R-o{~>nztM}}GjaR? zMNrw7f5e@5$br-OjuA-1k=l)EZRD0=enOJl9ECz_bLE>xsXo`hwy;pavv`W1W?Vff zw0o6t#JWcGA1xrzgEKYcU6{jZ&lBgY?}yR{_>=Bn%b~qYf_#W0`4x-JItS)bbM@{3)M zcr9Jsu+`Po$RCwVdjrk7JoAGJMn=yly?(Wrt#w9_%@wq<{NFbP==Bm{`W$dQK;GUK z#x(R`*{8rQ$~!35slsB`L|s~Q*z8aKBI@TYBiX78NeSuUvXFg>+Vb#Mp~c7psm|}T z4lth0SuDdG-0RDd%hgX}sS#@I{$yTtUd6LRJw1f4gT}^P8Wu|D4(LiXbaY6YuQyXP z-HOR@6~BCq{mkA1dk7f3m6Z?FWtVFbN!E^>==q-ft_73{S!+FmgS?} zKmh9~j_LTI6{)RX@gH28DTfM^07>d11vDF$;islyA@~+OO$;>)ZHQ=u)Ij+tt?#ux z_6hg>rmKr5^$IOoZ`_!lQwCsAMv*ZI+dw_n4WQO3r=@16)qambLLP_Q=U7-+reW;` z?^^stIJvkK7Te%XTWKD~vz1m)g*{6>1^N3OpRnq@2Ymi&NM}cLg;$~TaKVKj#+{=1&fVjUAFAffjuON={-Kwbm*>g{V&t%UshvdAlSqNhr;VqB zLdCsBDK(4U*lM}*Z7ZQvkr4Q4h9>V}3&NlFOX2d*gGvSKCJ2BT1T|JIn*i}1!Rv-F z9UiB>;+k)OH{`qRl7>S;waLYIXI^O?Yf)nMkFh6(XA27>SoCU#$JLAw1AI%iJ6vpR zcw#prQ9;g@1>JwidjD0%|0|zGW9EA_EI1z=?tg0DM9N%qYe@A8IhZo8O~vbR$;|qh zTe0&6sxf!enl#1!VQl4bVJ$hdacm`MY$K>^qfgJV|n z;`hJ;UX3}AC%UwGX}gCbr$dnwV#P)+jU7nwt&Q6p~9 zM8v00flN~Ao~sYY{mw=_mjf}78-4*Y((u@I3$a`6Lf^$dyZC>9?-~`Lz`B+7eX(>J z<6;bWOE$y=1vMl2$6V#*$saycdo6Cqd#Op)Hb_LI;dzx6_8PNEuV|ata5G$9&;L4# z!~6^rsNbnymSI_Bh{ynL4o>@Jae(?KbmfdIvbEMpGJH#X+4ogl`b)o%Pr8}y{$^%5 zgx`y|{7+Ms#6?iXp~bROzcA=DNVio{iDs$%uZ$jn#rL*#{N3WFwnT4^Y4gt;?Pg1j zP=L1AA}`s=$;q3yZ#la}KOm8i_KB;RN%H=epsXII##w9Z6YN*J^Sn@4M-@ zZ@zq~0}2m&S{CJdNL@-@H2c%8dXx--$;wea`*{|C3ZdDbtsn(4fFCTa0HXq`J-(iON$svrgyW&J*YnN*JvoE?wnxQ*souK<5BV~Cio&J>JV;mI zH+v;DpHI%Gz-y%)cpa~a^-OhQQX!TaLpG}=NktI&hoP7i9_PZi?(On1zSn^}sgA!JAFh*=NH~#!`M>|UU#d;U0$M0|46lT_QcvIaV;3XbLD(0$#|H0`D#rmI>5_` z;ZY4lA3;e-$Tr1e3T_n6p%tBV(?)gsJbe#jm7(5yquERa)dhNi(spjG=G;iS@fsaoczbckTBSs=Ep+V4;00 zAEtQ^x@8aEGDa8sUvUs&g`!*W$tx}S^P-~1re=AD(d2k}7!Mx2?0f+(abpzsH5PWa zUHY)PI&4gj8YwZ=uvhP)5EB!#Icx)%R#=(B24kyZ($kxjs;UX$bDF~ezDlCk-)9C( z?6mVQe-vTLw{<>z*Hw?F$tO5lB44_@~EX<=_fiwyh+qu&1?Lux|h8O=nHZTt%mylG8H2bm+9j?$Jb z>tFh zCH-)BH~r{L-OcT*P-u?{go23{QJx~~+Gh`4&hUskahRV^ts!kh4iu**zy$u#|Ni3k z8B~ox7eQG*5en%!v4|>yU}9lr&if8%nZ>o`^@w8J<%_cU{_B?%UQwHaxF6(FWBu`W zma$)Fx`etbAaD#_ipqwT^yQYj?BTV$W=C&WJ6jIVz`AP87!)q$!v2>T8y6mMmI>dE zdb*K1K;f2YT55xvqa-W!UQg_63b`GigVY9O1p93Q}6_oGYFUAdT^p z0N!uTUYkioIApx?0PZLUpfy^Cgy&^K#tc2;iyeBd zw=&r8mB=}EbJd#F7?hsk%@p-TBM?yi5XK|7GV?F*{WgE1>a!y8ecAK&1 zi#CGB;8a{Ru&@f7zCj_?K>PzgyW z3LP{+k2@wf{ch|z*G`R`J8-FbTHx!v$$TXZ!WZwzv{g?il7&2Wu!QkNuMF4ttjF_T z%@@}!GSR0x1}W0z$HgfM%I3*TBZIWSJ`=FZ1&@sV zswso}%BKN-5(Qz&mWfJaE@@PCUvSgfd*cZ^>0)K`|G)3;zuu2dg5eTSKG8gCQij12 zDpXqbYcTk{Jja^aMP1v!FHy56_BFQY;r@Fhg-@ zJPBbjXnY5UCbhg-^7q@&YPm_6cbn3O!ZD8ent_M%iiGCR)%znP7^DL>5F5V(bAG0n z{1P2%5V$g`_1GSkjT-E%H|ZK2&9PD9DP=yG6(V_?)`XHNorgTWJ5u#6SlDxF0Xom@ zAh(1RY`T?p8Nb-Xmtb}v)HBB3^5SyQG1#_Z0I%Hf8EmXG;M%7h(*B9Q8?caK8WYQ4 zyPS84N_FmKeAOks7(v1%{iCq3ID2{4rX=C>XDqMljie7GsQozaY8|r{%mvLuaV8J8Z;|k@E8~P)Nj8R=j8{?CBoE`*_jr^9^ zysQ_v8bRWKz-^Pc=p(L%z6xmM`U|RfoGXoOHpOL)Yscl0fa=MNBka#S`ll45drZ<} zeb^C70;X4v0yo-}6UtbP;kTCSH6Vmsfm&+<~;BVBjr+j!A!w--I8{V`HzAzKt4 zy#SV>0R#M}7PW~5;T`Z=w~kWyU#&QAXNC3xVy7%J z0#Sx8N}r+w=GJqoyfiwC48LkUmjNE;Iqk)@?bqO?dF?UN$un6_m)+-HJ3AQTV%nIxm4^1Bg|Ys;NJSGP zkX(exdylVWqPm475x9cGrpx!b{}$C+e>6oAVZ>j={gqs zo|V;jzSgNd4f}wb*pWusYh_j~g9%yO12#^}KL61wIT;Ek z@V8FSS-LiuAWCM@Px(c^Ba?v(lk4jtc9sOcxb|z#)}rK!?^-1W=4X72F%Jilxw=G| zr`2yVvF|TxIZO&rN~(Ha?$El`SN`A?!sJRi|CCs0nn@bS0lb?A4!c@A4|MlV7)?yk$5*Kb^w{Bs~V_&Z)xluCfDCg)AFey#L4)ZY5c zV>kyyv2i-I^|s-HsQ%hODEZ`?{JbXa!uxJSCZlIFMWg4k1)}3ZM0@quKPp|MCg1{1 zrpS=+J^bf}_Xv^G#uHhm?2c1hk#WGanR`?uS#RUuzDEs`IU-Zq^A_~8&<#`F( zx&2Ta0JD&}rL!N*4Gc#hCCO$ihJEjob}_5b7uu`88#t|b1pog;DH^RZz1gJ*LSo@t z@7YWvt`oXAHn8nf{`GO47sxMBGBrf28C?Gf?xHPBSL-Ed3((^ORq$@QZturCVvT0i zYbnovKJ(`j9G)dGghFPTOkD8;e&D*`2YfnOpn0@duj%pQXB?^fkIjmJDw?@N_bl5Q z-J&B0J0iheGT=F|q6B_H8sDv6YOlYR^a6&crWwKh>Quzd|DU@~plP*8;@d6(347lvUw76;y*V%U`2J)KoCg}8 z9PjPlK}2^QHEUSA8B0|S;JhJw!6_7=gpRjxNkdY7lss@TO|O*Ba=8R)fh}W*S@Nd0 zG5mFnZXd+^LGQG>Wt#uo^W&ufq*x6^ixm~pyJEtNQSFk&kACS(wN7iM`_pCDnHw;m z0F8Sl8Nx!W>8n!sOs-UfJ=6>yfxZIXlf<{8QY>R?v|Cg8LYmq|Uj@es`YPsDSTKYs3pa>cw)ITrk ze^#h47*uWdA<~DB@j%-mZQ^--?!#h6vA^-0sr$e1ocEp(4kAb4)?!yIAOK?v?G!xb z@)wK~%k_v85?ciG9?U9kvJ@p~-Q4Nai=N(KQGoDXG`6GtcL2lsAkcXdiTiieuM*HW zhnbjAE&fj%*F}Ggjn&-wScR>wcmKv@PuNN5!=6MYe8BG9RRwMQR?(*oOVpG*QncGB zJ>W~scHg6Ku%Fj9ANW!?D!l#1@JTyBys`nHqGZ3kkB##lnSBkV@_*;P=w&hE&~mq) z6-vqUevL%H`TNLG-B!9Y0K|03DJbht1bz|rq@Q{4XWQN^ zDbJYQdPZb0X|k}k48jdRVArflbum}k`}}7N2^Z7GObdIoN}oY|Otu?JKrd6WfLkuC zPqXLPKHBLCztgJJ^}>-qJ>Q~hwlF7@@cO_30+bo9(If|3={`U8Ab01J0ks#l9!Se>N<6;JY3p)61BbN^_5KM((rBC@>YWHl_U4>vXfH#Q&VxYbPhk zw6zs!GI{0tm%yKK_wPV5M0q9d1M2PT>rHX(Vs%0XWg{pAT}QJk79_hO({kjd(ya-! zW~-9w#%F{;Pj@VSA$CSYOlK=speOVl8*Lbc>kA$hJ#$Aav1v6$v3J#9*oDqgnCBdL z!Mr=iN;8$NcMkb#?(oeTt1;kTj@8>7HGBLxtUZ1-sV9%DZ-U{YxDzcZb)t4UB(646K}J&$)iOm&1d zu9E+=;rnl=b3Swfr9x<3E)B~hwny@FI!YS`OuGizNcV^A9`VXeT^=I(UzBv%B>#GK1u0(Eo0nx9Km)Om)Qypz#*t`Sb>mBZ*FG@&J-7O%rbdBE`+-~~?u_9`N zFHi)iL?O z_fy((1s`8yz*P|9)Qe)`Z=jis(9jFr+P{+sH!{;$<-~X;%?*S1SUy>vHJ(5A=0M^M zS8gvb9bJKAG4zGT#X>3RH+D)jYG!SGLc%^qwCK5(hDIUnMFMoNVFC)1!(PuGDqN4# z?lWDXx#L}q%_%p{x_DTWYoY`aM0z>{E;S6C_gsrWQv{BDC?x@LSq#SewN#euH(f4{ zHu-pjwE)fyK*r=tl%e#Ky03P-fzUQy$r%N@6w3UAVhCR@IFSDJyXl1kTfb5VWSMt< z#UeligBKm9tW8NMI={k`V>ETyT{Ard2hB6hs zsC;QYB)o>SU0FyA^cBu?Y-vxQc2mZZZNh!6gy&qwJfpHt>`sJb(#yefTDq0+Vg5Y- zotemRzD_aWR6Zx}$37SQ*#i-|M!_3UR zRM-`KAGe=FGL??hn_yhmA+VM1)e2Lmzc>oR1Declg)~cs2HN(bpPM%F2=hp7zIF0SP zGoIV*3JKJ8Zfq!FeOmhK<(|YrvRRwIya$C$ZtA)Vgpz!$Ju!s0n;f$u!G9ArMy!5} zU3f6b5FAD#yOkRKhV0anwHQvwVqv|6L6x41oy^W?PKvt5M0b(4Lth}qU>v^KkHoeH zocM;k!)HhGx-4$9GaNR%EOnNbkp~dkKlNk9e3wBWMF0l}4SB3dtc?78GL`7cB zSD$GhRlvpdlT?&3v=$E)2PvHG5xO;tmq|wl$G6h_M!bji5mdO`CiDHQT*>1}9}3FQ zsK`Sa#=PhQ^=*99E!Io&i)60YfqMPsY{$ecpuUwQ;CI*)-GwYgW#VW*|Dh{^Xbq)^ z3>yk0b7#Y4wUY7z*oT{~bNWJyw}xIP!A4*zy(s1t(e|T0^vqEDL9+Aso?WrPn3f=d zE15gFG}9CKgoh{%y>k${mC+$~f>^p$>R$!&J2X_m>amNdCX>!7R?T4InsU4VjpaG( zH%s2vN}TTf04n@B22YyUu>jeupK5Cel8Kj81=g$NVeL$36*uZ%D9oI`ms_t*<4d#> zJVi|AiN)})QAIODoV^R{rWh=#moaN&z_o)o9$em*si%ntU#+N#upK$c^}Y;5r%80f{#qfhS7*U^bHT zMRIH|<2%N2>|I9A!MlQ_bOjZmeohs7U!H%eEb_F zC7L@p)Jr85 zBDD1*VJL`v$O*iP?s^T%0_mjs`^JQkD~H_BTW8W>a-Tvl*C5#ej=L|Ww)I%3ZzM5y#mawpa(DM!=$ zXM{&&$w{B5(K633dT5D^q2Dh^&+3b6)PNh6Vz5=423tYpjp`yD*IAYGaIHIS*eRgI zw0i*BDYEy{ukubLyBk{W8}n?U>nFF^Emyjm63+%3eGhMZ)277foz-_5VpunW5nb3f zCIy%M86bdS2KH;z>?-QjG$dg+NpflZ3Xj<>a8RtDor0m0vzL5@qgU6l!9 zPR!TjpzO!h{Z~EYjr?zd0>7N(&hz%Bo_vNq;@Crmq=&67g>+h6gkufKm7G-Y1q|UF zclB-Q%i2^@cDr;M={Yk<;yZ7C*vfcqs%?lRRq@w2hU1AWLs#ZE@q5==cIvdTb^7_rl*BC zNy7;#|5|+{nO4)+{UAqv0BKd)qgwJ0TOLb;Jl5c^$ju25v(%YRh8FtBtr;Y*l9xuA zjGm=FLAS$okeN1XiosyV@sRfL`_&Sy=><)|CA%Jg4sJQ1|A2ClvbOLTl$XcR!yG?A z&CLSEe1+Md4gyyIV34J{GqtMn=RwmdPAOuWz*WEVA~YY;A8JOTb^?H04GHMiTwYmG zWG=dsH@tw7;OJZ;SqFurBTd@X=$Fcv_q&_7por~p+1K7B!yj-L&*adoz(M2Fkuajm z)}`IJi6Pg(``JghhQJx$LW!m&;)jL;}b4nRj7#{-Hn z!Ha|-a8i>aCNY3B$taQ2geo7|+3_88>fU_3+f6(=`7f;t8&YZsBFstgZ* z%CcZxKTOQP!=o?@N;>8BCpBjidJV@i#qP?mu#6bmpE)UN!aE6XI`q0*BkigZLCjX# zia#P@O-K|Y$2B95&rSLK<^CQ4JHNw*6&R~m z=R+>+CtD;>;KdZzl5UckMC(eqQwqF4wp~c9C{{@^($e$4(>>DfoK<}hHulEHJym`1 zh4I09(Gfqr+dVj(J|-x|>+(q_1J{@`;uhc@F@vI(Udk)-AJOV(3yO-|$uBPgJ(-O? zij{}R+hcV8J)qSS09_wc#8R66~%#c{Ma#R zak&?VyE|SrMzj_pX)PBR@ynH@A;+UwG?sT_PW5;eX4ENjLKIL~DR5IyBg-e%xq4&F z32MuBxUYp5y3hD6MZ&o@E@v?P+22bNU-RKY5IEGH*A+VDrk{+ab6;gpalPU!^1`!4 z?dCE@2Z50|Hc+p|g?O%B9zLQ->%XuC?&Y0Y_KfMLUJkAw8t?{|)l|LFC|L-#nw~$kS}Ye&;dyr|l;P>Nwy<-T z5UW63-jE(s8bmeM(GA|0GvW)y6V~9Vtp;>hD+yw>!=zfn-5iWF=g#qIr-K^<*tpGoyA3UXJoeC*lOxei3v`xc~K`^all;D3Lp;&Gy zqJ&71b+(L=!Y6A71yjeBvcC{o`R#66m@Wxo7QtW4d?9Typc+lyfx%yuqPAvuDGZdi zH?(rGvyUCEuxTX~Kw`v>yxIkhqi$-DnjuVFwuv#l=;@GRHbPEG{SBp2m2FH@w3}|B z$4$kFu9o$0Pw0%*xo7rCn;flPhnhFRBoNQF&2BJS+~eCb8Z)aLnXx&U1lk#No8+$Z zgv+63oc3PY$$~AiN#^nsE|_3|6D#V%qz*px@qYzSY&q^pGB^vB6Y~fEVt-!r3E56_ zkZ_v5>G7nIUaU?@Jx=TTZoM;C37cpwP+93eTiXq4Qz;CQtHOfdJZ+z=a$whQNFApJ zPc~ibO%0J&a9euJTG7`5tvWMc=(F+|pyo9Jx?>A{OcZELI0J&UUMl!8h8o*FBM?q0 zQa{X*4#>iTcW4|tBm&Uu1QadZMaCRU9WPBXaCn9mtcUB?&hdTcIfqzwL-LwFbvUPq-dZ@gvu`JYE(sk@naD@L+O+7go*}5z zI?iD$aWzK?^1GSl`o=bbqzs5>YOA-BH3W9)D+Dpum_gZ#DR#K}KJce^FqNU=-S0P& zX5SV~*7KzKLmDT=?4AdsogEg96uHTwU{@BDr8>&F4tEHp`6UKgf9Mti7LfR8Nhd*U zvdqw#`BN76TI)GD7DAU7-}zmgu1~L;F!8LYuf_W=CF#RYB@q^Vdava5!j1A&nEbPo zdxCNA5ptTK`kU8j7teWrmvzF6Dh92wtl}&uBw>KMW2#BEZ+=ID28))+Z3yZ$j#1(b1NLqBr@%fSwTw^w4DI-0e2jK2Z@{5KfUjMP{(ZQ-hl2`?y&benB1@WN=g4 zpXPWH(Iy%EY-Ej{!T;4cS}VbpgTR*WN|vzGuyOQ^Amk^PK_lPrI|1%gMbH{>;!vb( ztuOy;P888Sa!1nbiib%)FEzD}YCOJ0FW>BN{Hu48obj<@@Ary8X>a7{P19n%yJ(IG7-LvPg+Mcj$K%T9 zr(O2XH@WI$JY%J-xGDW`KQu>a`+l83^;q3TRjPOxZBZL9mX_$Q5?!db`yog6As%7A zYc7Pf_s!MIG&%odJa(z~^!HmE8LDN}l*c1pXWaoSSe%B-v0O&9v9;sZ#Xg>hrXRh( zBjy!8Pf9R8ihla?I8)`OlPsk#H^rXmUW&>Uf4zrKZ_C~hqM*$PLESb_v7_q<#Ru=O zpjiZQUd=7RHMi9*ODb@_zyTYxqm=f0foEKAVM!Cy5(0i{b~?aUGlM$3lI{zYC3$K5 zet?_*W;^@01x}{k7hETRubRH@1H;RQ+m`LuyJGz!Rszal0t>{o; zS778*rfa`;>6pT0Xz$OMee?;VvzdpqvMiPhKJYYH5r5QB{n2LQaYsuQCva}};abK$6QH1VPAsVhWu@u9g`A|z2sl)S~`4R8qe<14|4(~VhA)60Mi&KVI# zIz{5^yqgsYIxq4&0iQ1!DM4bjiS1$$%XuLMYYs!9=s(R~iI{u%r_tF=P3lcfpKak9 zuPTI$Rm2ITzdS;M?2zQuzvYK8wu~E@C5XupU+>)_iH67kD42b*C1fLN_qEL{TDfgc z#XeN^wVjmg5QusFDQPlH;$Z=c6r3Q+Dg)?U5?VB7KC2TshY=4Xc%5$blCAM3 z0S0N~I6FyT{~6VE_gxWpxNWb+6Gh=PP(L!mMlM8D9~ggmmNEz#c}<)^!~DJl&^eS3 z@XoyfGzKg<0#bNXyj<<+zHVv~$bJ2G`O6}nG2x(|;MW79g-_uiAczGbX{O0bd zk+fVR)wLsR*e7{;h2Kk?C2ezv$KR3yf9tj9dW-p$nugrU(d|nhrAb%OOR=7>PB6(Z(-(KgYe#!Z@I3_md4QS-|ZtquFD@*_LG&2w&( zo=~`=mg%?EVvIL^|CTC__J@GH;aO}O#`B@~ZFb+_`AtcBs0XR1j;?g3u;cM2DH~hG1N?g^y+@3E z@srQ(fw)Wf^wtVMZD9@o?9tB1%sY?$Y3+K~gMtt{&M)^}bAW`-^@T;|c&tG({4QdE z+$hblcoz`hC_Qu9S@nYD=KAn@DFGl;+j9{afL!o(8MDDFAHb5Am}VC6X8`)fO|TOL zoB>dhXOqLLI_&QDT};yB0H4=coB+i%LD{3lrh#|Hb)X=iIS`e^reEKEPp|_9h9CRW z_-a~D0WEJb4mrPaqp+(ZM_(ZNm0isO-IRe(F~{d!3aSt9SF|lK-$}lTctq|mwC6HN z)-fp`5CYM-F+VfyEH9bss^yIMiPJyKr}#yf5S5c{s^LNfiGx= z*ES^BAr&_}na-h9q++2;SzW4m`f$P;85J4 zty~gMWrYVl$;sES(QK}MuUXdwgD7>@2_@+m2(UXi1Va$9rW_^|S%%p#b60wSpdt=0 zqtzE=py& z2Nh?*bVAR{6fjQmPhkp_x-u4iNP6&BGP1G#3Mbe6s~z`!r9Eko*Q>oIS&tQI*SL=< z;^X8n0`q&eeg|sx3o_YXz%-|*{4TG4 z7ZX4LC0e%E=@01JDeDgF_trnsMiPWycao1G02RbCQFo-s<~zXMfcQNL^1axD#3(${ zIDd;G#iq=*HU5KirOnjfd%gxcVj<%7esaJoA%qdP*9$nfss}LOP;riHHx_kjawk~6 zp5{`;wZ+B8Asl~6D&V8BApSyBDNM}a%9vrL$S9x->^AKsdhK}rC^DvhW-pFxK6*7j zm@+C$NqEo##nXRy*;k6Hg-2L@lVIy49slGQs)*d4bs{W`3lmX_qAk9qpkl89`}n6v zovzK^#XwG1hGJQE?HOTr*N@kRatkktT-U?7A{NJw6^0l^5Zt|qp5Jd|wm?&^zB8xa z4XlYOZ(eJBUyMr@ge-p8d-bl^?uPW5ne(3h^h6}aiFHSE8>g@1hX`;Ex|We_E}n#! zO4M88Q1s4F?KrVPxTi;~D;$;+K#gOhqd8jh)e!NBPDcJ{L}4-;k(v z3tx50^Lh-uGxa-7yQY792N>0ZcT`X zY0|09#vFgkMSeUh|F$xxT=(>8ny6Q*VyF@qdIR7gwDv4a8sXAeHf`%(0Gz?oPJnB;ig zk2;MAxU(~F1(JuU&Giv51EDM0ii7kRIg%gh3G`{qvLkq7^*t6eyf5~xIv4*XIpIQK z6VuUUQ1)!*K<(ciNGHLXiZImboK@u5l1?D*$Dy(#PzJ-2O)!n(b#+Kde_3>%I{WfO zp8eWb6T#{D>PT+Z8`=?yLON)_?=!O_e_Z)%Ep*b$DQ#;f4g1&DsZ(=$q|FdlM#~mj zTBy&LB>ZOnt*8u6@vV)Xt~jOjlI*=?l)~KQp&Q=}Ckax$6zE2h&s9a%;LYiXo0arl ziu%ZioM7P;sm0LSJulLMAkB{bWYw0&q_C|F!Ox@eU&i0mY+)Cl_CQs0rIkoY&uhCg z2IJqm{GIThci3`^`mjff@Fx}IfQ$^SX)|;dn5>P2s`lG62e%JJSWS=7-y?;8xjnPt9k=s+W6KA?PE(;wU!_SA56I5GD z+>KxQrvLUQy+HUvDqZ&`z)V2P5jYH8!QXSk&v}Cf!5W1x*wO9Kys_uLc>4>Y%hvcs zOYJAV;5PNnTuli@(MeYXDbL&KO7^3x=hS;wp?DNb7?h5gehP*qO&8@es4ce(N9zEL ziwi`-_(~`SSW)i`HwPb2pj_dQa=(FJb&2&Vv0cli=iGNOCIcOzJ@kDJ{-GWCEEbT5nYnnH0>bFkk zafOAHr}3mR`2Etp3t^cM+FprU#8vdp=pB;Y;}-c;TkYt{3{IUY_^ZOoW0&@h0T8}4 zw*;J8Qk=E!J2+M)Ly*Xi?$N^@K|%rpKw_$OZAf0;hvRLw$vLq8%}t)k&s{M&3$iC< z(S-V)YbGpSO~e*Dd}Z#fgl(0U=3PCg#)`esngiQA`c9C0q8TY4Lgoa!mm?HP1zaf2 zG!3)S8Su1CB_CE~W$&fC)gfu=>9kQ)7aKp7&*N)Zg&bK`Sqm0pG5W0Wlm4?ce zRCaT%CqdsHgs4AR%Xzjfggw;T?Y8?^91)uelZ~<;G_})YJ4`NLEm8~WpOE;g6`;e8 zoHncV=7Vei-8>5I#lTCur3xK2|EHH;C=j>nG^Y`v>TJYxS-fp75&qiJ!gQJI=c1>F zCpO-TfZ%Zd)c3dVyD>4x*49E=ZT}l%d&=e5d2{s zmM>Y0k+${Jt_mtbw<5THmvA#!tMzje%u{Qk9l8#$$`quWq%wN7zl4iK+C*LQJ3M!c z(A8{`XPTuJ9mPbq7va%zK2^%A|G#R+FBs;YaZ9Z@~`5*7u-GV?4}gy<%o~_$?Fva z6TjFF>~DM4F5j6SU7oD`kuJ{0>OmUo5?386&yE_6AQDIaBi3ulp;5t!no`XbtwPF% zNk+scHs%!0XG6bmX7a7LA?vJO{NO#yVd0{FQWU>lgQEvJtn`r0aq!a1m>__U#YEL1 zL%xA8UBWPc{^wY(SFsg(>uiwsUd2z=QuBDKt~Zc^V`L}n3;7h@0UX%s0E(_-4By9Z zFNg|jzVe`Ab;j~wC5E=*E(QfnTH07fPjmA`JoG+Rqx}`(xV;jV^*cG3fBSeX^I5ns z=4A&>g(r?Fj=z#5x$r>r;HVGzrI}3#4|x)m-(~p|vRmG75?+?icc?b9^!&yA5xl!b zdV5oGabP2<_xuBsV{+I3{g$+_Wp_hC-eWK>aC-qiu(QG zAp}%P=^PLx1f)9#L_u0Wx}~MN8IY7l8iWBUK{_P|1Zfx=>F(~H`5k=jz3=n>#ab?K z)|#`=-uwH>)*VU&wv6DQ84*vqG#sMY{y3(WRy$)tQF=KE_8^u|>n!!-3fb}xcM7P9 zlGt}gB`L9=YHo`9t&++i8mJ%sO&D>ILuT9n2>F}4hzom?)fj}%NRf$CsCB$@YO!oa z!lpo!%&qD1L$6V|m#v>K#<2aS+vHMih2RV>=T`M+WEB}{3oibqHtNI9PrqE}7QasY zZ8nEH*zxHTzvKayP0{hB@ zc=fodZvF(00=v+FKWF5`Q{*|W2l9Fs7gem%SH*pMw(HtKD=!@Z*MQK34V$?JMzi0I zTE6t~n(#6wE>+qIRn`4Aj`noaGZz7Q@HC6KH?Vqtmog*)O~TkY)?L_Cj{uiuJ zB!&Hc^34zt9<9e>aTBFQr(Y*F6e%A0el)J-15!ijc}BxpuT-te^EXKA2hf)H9}VeM zc5QXw9|tz%_9#pdpDkqd=_7e2ACqpg7heb<*+*f~nE=vs$s z;Fa-p*r8Je#uxZ>xE+dJ*Q+Ub$e@JYThhA}XV9la!U^zRt98Mc+s z4-@3A+W1hNjFsw&0EKC_5?5!xmA-$pSF3aFMrJcMzgMSj%27xr-_Y7|N86JJJSWHp+EA5N6K23R6SolLJYsz%el1r_9}Wqzsew3f@uac(`X^ANO9TJc@a#Qt+H z0o36~Z#pPBX9W$Qv3H`v?3<#4#xb%p@)MAE*Br8;G znwu!hEq&Mp(!jzaael$KJi^P427Z<^A2z3*tud`UYF~|Pg%uR9DyJli7}6F5Fqs|S z-lg$U3vMj=;5ZxXGx@HY9V%s(aj}BxV((0!_|4eN(3v^|+h8Pb1chEB4v&ZAwk}rwVmNhJbe9e4x(IIn_3c=5Q z|C+x{Zum6i27~o{o>WeQy^$+mcWnM zF_NKoV=MctdVLstT%p^2xqi@oQZQ?v#6f0Z**uC4J*)hr+Z6+A7x>J;E+YvcD+P=D3`sIxp!Y0seV|H_)v zYktM&r&zhh_x*C)BYkdb_;8iDQr0Y{hvzIE|22}LqF2N;YrA!omp2|7#8AqXA^q`o z!riQR5iuj%QQuxe1uDm;+DXS^CNng0_6mR?sq*K)-$#5D7;24>n#5gI2f9Nxo z(?;Y6j8f!%qa-`CUSX+d{*^Y7P&JbNWNnf%W_X7NBiH@KzTe17*W!1KtVQO)9q*I; z+YFfE$z%xTR!J2)cP@>ULn^;*~1WTWG{l+^_4dg8LjPk`dhla7-?1p&du$c59~Hvm}-S=8#X}| zze3F4{VaC8%lY1I3U&&DIB(ZIaZlvRU)aPw6iiePGF!$r&UH*}8F!&f_0Xa`J1OIx zP?4aWl0?>~W*xtssJD5+wU%`!>5+yPD~uDypjX4T%&k%sTKNq6u)szzz0JteF^@OR z@N2VPzO^}f(7oj(DFWmT`as8xtEvCQ z;Vj=X|7>Ia>N=;Fp9@4yQ`fl=o)!b4RG(G_Ol-ACy0eRv0Yw zhw!*T(=y1iW#7W|xAaw&kL@YMnotX^ihD$`ReMG9q$(O+y4O0sn2tc8A^W6~CvE>i zCQ}eGb2}Z|y@60dpJG-g!w`e}&@8Ip@_$Q%PwNEMya~KfH(Do0$3u4OHyTY7W36YX(C zcuM0`DD~x$FWa-E+?E!jaHU?QDKPw9j)PhysgE?eAQ|f|GRV@(?&3A#Iq$%^_tnQn3mm!G#70dUQKg>e>(m_NW7RHb*$l3B6*LdzI8%8i~rZl@WF8{oVCzw@e>PK7YDx%wBgPXSsan zPCJn@WKHdtP!((zPAg8{CQr%{SCpsTIe8L9hDV&gcEfu$_T!!B>YB7Tq!*1~P_Up6 zwiLC}FX`oORW0C}6<4+Zak;w9t_%4(Ph>$UOG`j-V0q}10f(KKb#EMqHjOeIU)1FN z3_(@q_2m|+?j(pmrg}SJp@3Z|5KPM zMOW1l26;ut{(TPGE9gclq$fy4E$`se&gm3E%Ute>gp|f#xIwkBYy^r4HF^UNX8{kW z>E+>))2N~V#T3BW0ebM`Z~)Mi@dK#b-ok>+PfKMj=S8zlC+tqBy9;@M7wixw@N(fO z&mUH>=xM_SvlV2xr6nw%3`r66C_}H+03B}xwcB6g&JCbDjZ^&I{44*e{*AEPu4M+} z!eyrb+qbEQb+b+p{TU*fcE6UegaB8@ zE*Mk>cEzvTmu~NNtIu*C7fPbp<2u_X5F(smV&1jY_6r953qHGbXcZm5dx*5ASiH$h8p|2SyI1OFq%4Zl>|%5)9*3c{CB(%LR#BD;xnIopemNp6eMKh<(h}z|}i!osq!FYJ>!(TBD_w&;0 zCqwQvzo{0ZNE{Vqb|bC?up#*ljLE4;uOb7D|MkdN?|>GW($8a#Q0of^$?+}mxTw(R ztAKtmM7F_h(lFX*QF!HOQ@>6&J<5f#Rc`haQP3v?_I(b$YzMD0L9V{2WL^#s+48pn zY|N_2!d3LWo!5NV=bpfI9u$(fCvdf!JStrFrfXU$=&$b%pbNO}2b`8+1Zvh>He$Db~>=jUb?Z@!~>ZyqKcd zZ9)YqP}~!{5hdSS?Poem!t$uDwqgFS8^cs0yT!S)e ze6-DfoE9+N+#{iVuR&sSW;sgSAG?(%jKz-&$;_sIUybDH64*)@W$nOgF`9V%pK$AR z)lPw@4QB|8cH=7mzoo+Pvo=lmX}H@vN?mXQpxMR1qfx=$&VaxP^N(g3 zk4XPByE+jLxoa(q2zOZjYmFnakHsOz+^ z!ig4K#<8I9;F|UZEIU1bgU4E}%fRo-Z04sC@DDY|V*lLL_0IH)9%)a|eBu4&lT{RV z%snbIcp5U^hkQf$MwSnMHyNJSFdNR#LF((~FA5{i){8cn^PB3uF``A`Pi}(0upsEoH1fNvF^D8@h-wZKJ+NoR>X3)=fxozag?vJxaba$0e7pIaJT?aSe5PgBE%ml z<`(YLqPn3Gz7mbKWr+O5YYbCr(>B zv?Ou#RB|x<7ZA=s=sV+ z@J8QyP$t>({`jzqYPCVcBCkS!`a zza=yBdn5fEb=}Z^Ea+k|c^6Y&MdQvzV{Ooarfs;?1bf{KROLInJ1u<`jFv@YU;OoY zf0_aD%&ENe5;h*?b3jCwDSCU@o)kMj16vj!cS;)TM)*1G`A)!B9zS9;s8a5(5o5mqAOe-K}?u z`}0da(Qix)NT3A|_EESX<{lpWw~PU#L=SUlM;HIELZ|Xg_cSrTWtOxEmLGR(YAvi+ zxiRJJ3Q0mgNPcF1Dix_%#$zQj)Gp=#m4o1F5-flqBhX*r3fJmo4s&_=Y{E9SPSB3CfvVm7& z$$lAx%^1NXavvasECGJI#?hGrMImdSEV;vP^k;Ag84fStsAgPRQ7wF- zRl*w`N$fqLmi092iHSY?SRchFYD{}DSC^ts`>65C8)V6Z}xr>&G_2R4-D=Vmn{i;Hh)N6c65@|qR`p3$Un zcjaf^oc5+3ul8@O778KySRc<-)wiwG-+t?P<&yXY-J9Jq*5>yO6 zB&{u_Qa6D?ly;-HN7m$4ONqjd!<6@^Dl0^@9^Wfy*wN8;p8zFx_TEH#_ad4qZ8bj| zgY&}`#D?~(4W<^Z$@&Y2`h#$y4|I%I%$D1Ks% z-Flu39R3EG5RZgXmT`ox5+NsWXt%CL^GQcbL z&#$CUes3GAK0ZDRa2N>nr`XGviRX4@m}yrjx9eaEPMw$ZT1^!)QajhKE5Ls{fF?E= z<>^uXG!)w}2`$AugoaXBttk_01?EECS7gQ6T2cM;#^Ljrs7IL#7)3C{@ZDy`RAEx_ z<^$>6T}!|34ZD@|>5*#f_(Wdn>c{Q%7Ir@HJl$MUw2B{u9T$T zU}u;n+fiJH^Bw^-Qb_&FWGJ<(A5R)7vxkqjERY#^w9RMuo=;iSc)t1l@A;-ZM&qea zAJk5lq^eYCwn%_6`e%&CWJjypS3RvdZ>eK?r>rvlJS7Y0)+5XRG-S^u6LXYff6=GGQT>UMk2$ah8_pR^Nc? zCXG$2Jge3Gbd-$r_D|;azAYeq0e{7pLMczzSsPL}k65>wkCAkR_)_narw&k|Xy=FO ziNWWjM%A!9P(QDcwB&qTsrvzmj8yw2B4~HK&uJH zfH40qe2!9{f(Dy?uxaXj%G%=pyT4%E5m1MvHY+1vmEgy`JNZL*SOB?`#TPsTQ3x6> zlEoXZKE)|!#T>etu19n?5t-t*-? zqk6d~Zga5~QH!EFUf$>E{WaOb;3~hNGrLn}KyS9!AU{cUP`iV_C(>=;y;tMY;OcV* z^p8JcxTbQQvW$|hpE$BDCYwrsohz@8I?8c~r&N4I1{vHueX;sBs57zd;5?@70Jv^y z7Sm#hWnj`;?3^3fPUX&fEg!q+HL|X6EV=pZkx*S3&R;68P0)n!5|Gg9H&P6U<|Rtu z>jJIEZ|6=6Y*yh$x9u-YWIVSBEoW*PU2c3L`_-l^kxax@TKm^MsV4t^V>CNK{@Y@wUem1{c$mLlKEFBU zx8i|JQ}xi*5gDjA%G!@i91b8qxw81zP?5jq?7|9Q-dc?fV96BaV~dd6;!7@$GPb2X zOHOPPF?_Z`d@n)L(!@Db(zxuK)}o(q>1auT%CB2=-Wg0kIRuQV+UnZOUh=%R%?>u# zUGwNm6Ex_jVU17h4-#KWYbJ@;fb+uOgrywxR-6W0>qm`C2Mkeu>w}^+w{tN|h-uNJ zM8bVTylyJwp^}`qEfx;mmVCXie&ttjyi`gYxo-@A$^;5BKtug1)0Ke)1AodkOEQik z6>sX|pkGHF95Q*yEv=bfvEilURIlmY_Ju1r(dTTm7>yzaHYZ)CFhk#D-|pSyPd{uO z0a?Q9dxq=Bmh@pyvPvOpVuI6O?T63oHib1|QDZ%5h z-oT~kQMHesE0FzETUH?m=J#BSV7D2(N-Xnv+a2R=^blwd%hWdN(bP>Db^!8Cllozb z24%mNA5n<={Bj^Lx);sN*x-1KZ~uY zEff`Ncp5;Dy#IY#Yvr&sm9`Fl1-o0`@vC5xz9pdHQcgF&Q@R?MgX=1fWOZRAGSeZ4 z^antGfbPHPd%?xu5NM%sJMh^)-EZ8l^}afl16v z&iWeJEEOShCTn-j%h)7x9q->*&&WOAF|LnDlBHD+a^Onz z^JE%>e_X&PML8l^kv4IzFzkVmWD#F>O`t1^`Tc0_7yP^^E@cmKd@pJm^q{I9um!bM zHwHEhZ;%iHfwSMYY!*)iat<>ejqbk%q6w)i-hDwhccJ+jR`SO^$42dNr^_XyeH-lRN+Mr0yM^d3z)|C0>-w`y4U)XX+G^4h?3{;JKW z;M--Kf z7@*4#OKiqq`yut57Hwnck#s zdMg#(x3jx78vdX93q)zu6R(ELU(ZNJxtTxZd%(!FmmW?E3@#|c)?)3NXFBHd z8oZ7sIj*ek4Q%>1*hfhCE7d>Jh0O*nSFb+t4qupEvqpce`0VO17?tQw3(o~2siH&m zU(M{f8^n)bsqDP=#|mcYF%2bq1WWjF9+_T~M$BTIPnXzxm%HX`nlPMDXFwFP(4O_j z-m~6GAj1G|0SXs9XwplHNoqUpS%Vem>%$lNw(~iZCP%JFk_Ae2@zKdA#$fje67vBX&F4_}+`6}7To0iUwqK*%@gAejkyGxVmUZZEzf zGRRpu-L@gsSBVrVb){z4dpTa_r+&#++z7p?gYwv`t0xXbXH{V^WHwvf0|I3FE^$W| z7}~-TKBH1y+a30q%wpcB)i*h8)cro)BFF55H}~OyUlNlO2hV`k+jcE3j6kK>&OHc3ERRzi)oEh_C5Wrw~?bz)T|X^17J)vnx#nIrmO z2*hQg7f(WMi%D(aap{EKc_*8E$(Y8!MpAfZoSGY{S|By;+)A$f?P~X~%1uSQotOj; z+|SDg35Q;Q?4)=#LXs-Y;U9!_b*{v{j-YG$xKNVHf(%#d?7t}QITr5o0D03o299JJ zg0N_Rbk3cCF7M$x4LwgMTWJse*D;caQ_<537QNf;_p5&_1dzVc{=m)4ZU?E3O@(@v zw zW$}zdVTq6O-$R5cep8dAzah%8rdK(^&CD#&?owK$Pb85j7!Sq9KD5?{4G{yvO!%fd zFWY!#uLC52`kg)LlbAJUV(V+_tvgCD>5>A) zbVi_=x9oB8)gxTbk0~28)#SIC1dhl=Qgc>8LuCwhtE>%ceuWj(NOH?_Ag8`+r}OwA z(-$vLDby#EP1Bz&o!)JGtYeM*(d``@(i9#!na`59E&T3ASAGSHIoFl(Z`QDg(-9vSpj|`#TM9_lnmSZbcSovuR{KxR&l15QC~sxGk4~jKfxfwYivwoM zIUK!(!Tsm)ciXD+7e~qnVo>L!&l$KomG`}`T`?9!nxJ)9` z=IkLZyF}GU;nx*S*B};p!3aKTO-8+Ny;jQ*FI~6dDExH zJKZvJUs@Z+u$7K%n&%Ou>*%FPF-g!7n z6JX3u5WoyYMCES4iQ5}b4%-Q482vj;O#P5o8~iU|jT_DZ@`4_-k_}i&T>j0tSby;q#FOHXU9EgQi$q9=_Ey;k>vi(M6nfTJ6 z<0CI~D)Q@+NMyVwPJ!F^)cuXb+n%HOR5hagGM}M!5=FFWcI>@&8wkE_#r2j?xLfU0 zB%E~H?Avr?ZSU>t6;pdPYoR6%XgJNucte!w;k)8d0my_$7ngwIW9Kot!Q}AH<){LP zZ(4oc>OE!ihVK{^zm)_XcJxJ}O3@l4-pA7&HjwmV-f$L_`R+=NZ96yveY=i>piN5K zGd&l%gOQXz?B$kZ@lTx^A(7QoTI#q0`&xU-cf+3TLx8Fbr9d&k9DjauS}$=rT`2vk z4|i^A@|%LKWpZR#Ta*&OPq^z3nd*A~K$_JvQ9Cc3<_g7h-k62GE*3{8pAk$bM_@{* zq@ll+Z1_G|kIIep*yPBLH0Lo`;q;PzWH zQf$SHkypvJ0o?lwz8q5pb}6N36USy-Q5;P?$os!Exqa5Mv%!K6Sri9=!LhCk-RKf%?Aby!?p8*OlbjP6eF0I84$HPOx;U@*vy3tD zZ{ruorU6|~() z94?3GD**iRZ-`sM7bT3}no01QPBgT**k%!0X$!iGHcCH+VGsUeOd|da@yK7zZ$wZd02F|QRFklU>C zo#JkpK!ja`ii12_fyVKA9Gs#h)yWA$uiJ1G$Ef+l}k0x)} z5@zjh7);qpv`PEW%SFNiNgE@ip#fq0t#Nx^fbC_=#HspZAh(b$AsgKt%*~n-r5zs> z?0Eg`qIb9Apf71M^M#stMlN1c^zkVXG;waQ9>Gu5e_~d`sP@5kT0lg->IBgG8@>YG zudkiUCr!tGZYAc=cYw=Qd0}Bk1;(k^#ViBRnbXJ@or)E)*y&;V2G@8V2n3_J=oFmF zU0~!k?U@Tx_5Dqvqe-i$M&5!#g1l@u3;EK$|HvHEXLevQckgNHSDZr5Ajaeu{KxqIg)# zk|oW(2hRDlt}!FKHyQnPS~5_qM-H*}cs}u1RzS8aE!nmXxou&KL)xlIL=_k7ePTd)PvR%qUx=u(^X9mdroTp%d_xfFj6 z6Qxr>=(^B)(m(}ohv3Tg>X}=6M$Z%Ex}hgIONKz2&xZN zVo>TK8JZ0kAPn!uz1k|g{FGYRcC3{QtU{_qyg%L;MX{di#@8%(qLH4I&|f~-{tq?@ z81!t)Pk}*%EWd~Q`)iCNfU>Pp!bCu&_Cd_#$naE_c?HP^Gy;J8GZRKkOqvlCy$(^2VO^a>?CW?=h75+k4}Ii(-NA`@)H!l z8Lheox>BCLYLwd>n#JA>^k%k1c6Tnx%{ZsBHlfs{Lu^Oq;}w z+hmH(^V8ttw5GE&+!F2@cIg3hSNFPluSV|nv&Y?Q|LZ|vC+R`$oP}7a z{38l=-Ir=_S{pT*iyKUJE=_*%s4ft9X=2L_m$H=-AE*z&+-W^y;hMrY3*;9e0CiJd zZh=mPd0)4~y7^{55&x-2agp_pVi(ZuG8sG;@cD<y|Q|qo8KL%&SdXMbYuv>TFHVkcOoz>NedC%Vz8?DZ8E#12XcOqesQuP_HMrcr!1c zw;=t}oExU_G1=6u+->sxEgZQ6_j36*`3(Jv1;s3NGdbX_H+el}7YEg59E_RGT73lX~0ROHR~exa5zV8}6?s80h@MF%43o({Df}H(uI5 zuOZDB{crmDL1TCBKBt-9bxLTWX>?K31$ewAQ7W5k?+p~LLLnIs)4u%K;j^#~wPcd~ zgfUKqioCqR^53s>StYv<+?jZY-qhB=XQ#SuE&SWyo2>k*W^+HDZ%4k8#n?bXQL=i^ z_Xov+cC&@wtcT9PobRYU9Bi+v>GsUp$gGKGPunQE72BFNFyK{(=$Rbh<$WpVd((PK z->ZSDq;<9)+vW=&jIysTW)aUr2*@cqu2cS2SbEXlzU3*9C&$Id-a9LOTy>+BH~$Are8{cCeU3P=I{?mDe6iE_TT}87rm$A+ zh|=%2!QVXBQ-Ay6T8os`cu=(o6KYxDWc4}Xu3JU4o1x_p2F6IZ^H@mml(%&j~zZ-Irz3U)&SD z#Uhw5IknQ3b(X_?TV@AT#J!kAT(?z?X5y5S3e#_Uyxq=~B2+EXDa;anp2znbFak4u zLEckdQp1<}L1lm)$Uz-;WdjndSFsC^o@9%#AO!)!wHKSn&m-zi3CxrIZ@AWe8Z&DV zxQpvC1^=W$rH-6;^3q^thB69>UumNU1>X~tcvJ!WB(|nIwzakGah$2^WPskzqpz*= zE~3|-eO|5{|Neni>w7|nP`rHQYqq}dTE71G%25Q5}gmGe0!+|$@ozP8mYEAFlBa~0HQNAUeKiTRUli& z(r!AJS?JOQml&1PY%Ki#5=OXIE@{x9X@17bdmi0RS(l$0AGhC|#w*^u5alsAPkzqR z`xp137{lL%c0(@Fdc*k99I;a`th%GE;FoCOA5gm>df*QX73}Z$Z)n1Vhjh06Yakyk za!@6TSzda&=+~feD+WW7mJsXo&u+oAm=iB;KVkpKMog<0RPg(Az1u_c*nF{vWuH8x zbp8(4Z(%kjH!bd{w~H(pQHrPc^q&gQH2_58MsoF}FOlST)O_M_v7Da#YMs%%O<|GV z_tBzJRevCl^2ZT;Y(kN5Z9e=0WGP2!8JijK!KX;d@y#L~*?fA6!EJqQO7zhN=Pz-W4w4K8SF4>mZ_SUT8n`)V8E0m< zMn0+B{RIWE-d-MrsELRy&p24~rJq?OYU3JEm|mo#EJUuV0v3%!X&3>N?z;DD?yvqI zd7}HG&{6<5vY*KvTHz1l5k@4GeEi;d2_G z?~5b>hh|#&xQ%L;gq;awIXg7@k9C=7#)BYTWGZ@S*;-jO(4tq6N6+?ux(G31;f{Gd`23oj5~hU)Vm#>!70 z%lILFV{M5NJGXwop1`4YItb!kEmJtT;2xF^;0O(^QR>JU3y`n|lniY*nJ5VeMoRv# zvRxkkk~;)eSC4lODIr}qzD0WV3@;27Mna+OW8<1pgTMiRo>kDNm3M{Xl${S z9n4YPQN;vW5Gw!<_IqCce}n^BuFw4K;MW{6vN4&>@lVR?mI5`%cd8|)O+)H*=B^Fx z0`aQxW^pdgu{M4ifO@-1&lGg?6yLs`sC_4xn0&*8mfc=%u?mS&y~KeZ)!<_a+-iT; zg3x^x{9_M%g3mCH%QBDuRW8 zv(LY+u{U;Z#{yG<9F^3B8WiC^9OGG)PhEnqEwb+sL9cGK)gYsd1VXE^B!9mFFs>7j zdqncv`(gr78EnmusbFm0S-16iP2r%P>dLMu=Y95{HIfRdGxPp<(g&HY%vs%EILJ>w zwKi7RM_#HVwKVy=49+A!9m5fMP@oj>I_>a(gcSEbeoBF8%EISQg@cuC!)#8(Yzc-2 ze+)~8@%M`dO`JktSav2>IMz9xqDy9Mc<(jSZE5u^tav46I9HAOa2{b$7P2ofpmOE+ zz*r(aClI_*{)jqgalm(%-M2=4r0iX13DW)xRjIZ^ObgqGEXwH*veF4gQe*iajcHAbOfWvvUrx5Hk)jty z!=1T&h&l1#KG6Lru{X*B5$56CfEQqhLf)-)JTCi6ROY89eS0WAb@ThC|FY}Qq5*QW zqys^p=dtS@A~xVY++vr3eCM14UBp2T=;(Ze0>ODWVo6@>J_t|(XQ;@?^^#Q>6M=is zs1yMKH4Ua9V&T=lLH&Q$I*@L^=}9eJyL0(Eg<^};+WPLuI7@d%3LCqa-AF^Yv!M=> zr7BZJZ=KURGYuv`J>S4&F_g<5Y*dR??Z{ESBQ_+-~?9szU)@Ejg77Uka8^a=kKt;f~M$i&dcmGbnEOPTWj<#(|)hjFHV3k^g^|bS;LFwnr~|c zH#0Z6Mb_@RGxpY(>If!ZL+>H~s1SBTj=GxCEdg!|(Z_V0-L2f9;}2Lex~i5{q)Yr5 zU05VOZqG1q`LFG(NGKdykv-phe||M(=rgCJ6OmWjb$hs#1uQm8z|H7xS+LYV9A;hp zC+2sU?~|bXhWW`%awhk?T)F*UzvLJVKD^*irqQ%v93ct!j~SX_h8qOJoQ0Tq_krZl zgXFN2J$#5qbKrqtpJNxXfcwOOvr|eetoCS&WCL1J}7U z^p+B7mG__iKTG|G4JHt=F*g{E+=NyM^s{s^7E-+D)RnNsUQsjn=4C^|f7L!~^k&|M zu(w>BnsVgjf(^b%C7(nkgH5V&r&R!2Z^^5!e#YMIpRsI&vC{z@_mu!?WN6;f3Ldv> z13xG8t=cNEB}VVi))l}^Rg6&@GD@qFRh=83yY!)H!j{jleU~0h*=r4$`v^%re~FIf zeyLBPQ=lHRwoy7dl=;HSu+Lr+bZ7A{Tv+I6HQQ8ixaecGghVYpflq#lx}-?lM&nib z$4PWZs6~#_ne%u3Z3GMgF$W1UJL3NDHujP{z#8gZ=CU`>L)EMqFSUnbgMq4ESNE4o zOY}X;2l+<99y}WRA}|x|b=@m&GJIeY+d8>DV-)%p!(m&ECWFI>U#MW zTBV$G+Rie?A{(NJ;$U%a5yV0dXswlMJqIz*r{M98e_&Xi?>v7=(1n_pFEX77%*pH1 zpUXo$4m8`p8{MlE+81*#KZRDti1Ha%&-%C}ik=wt;~b*C$caA1ad@$l?bKNCKH-|n ztV@MKlK;DM%U2Q9{-N_KMmr^MQzfpHx~(7iis@O^yqkBE4OGWs(z3pK{zt-UntQ=k@^o~`XKe+z+ zfz(}KVOP_EFx2vtefMhBD+CpV+sWGzSD4?`74%kc0OxYvK6%|U&hiQ;>&+D*iOkme zu;XMFb#^X~bJuL5{mVC+lf`odxCLS*h4KtH%$CHis)u|xXtBwKlVg68(b)J3nJn=T8*y? zomt-cB0?Tr)>=Yx51;ycqFbdgs3Eq8hYGtrLcMp`FFr4I8NMP=Zcr{TIg1tAm}hImpOTr~Vj@4>#UnE7iJaoz+_31m75KRp zmR-=D5Nem$qsBOsj;4p-RbxFVS7y*`QJ~T9m1foXO@e|EIC5?>q|V$%P>e+(P+%q@%EdZZ$ItgOBcxP z_DJTZH7su8nUqV{`eE+#o}HTd`s_e&TGo9)$w-b2K_7!9VfEe<&JEoIn&?=Vvq&m; z$JIqDnvR{?$)ehytsu3*dTex?4~D2O3Z6x8RWn z+^-G~EBuQ3KSC6YeEzH6;}89!m-yBhFS*h6{AcvPPxd!|va6VU&ZR>O`8iF`_Jq?r z#DtVn!eF`{!mi7kT2c-Ds{JS2FKX$e>J@RZ@y*IN1Nfy%vYP z_sgcIaimbKONYDqOV%SP(AzLI1i_=k92SH^{nzs~w3aO}N^NWfqrPfzI0LGS2$ks7 zMic~5_xiekg(44i!IlE?eQ`14J<}KGg2J#m`^cmJsv;u!0`i)pw%KdmfhszDjx%n& zGcl1kBsqgvRY{f0CUhB~r9|x(2>&J1QRz!nkL_Ue?w~=A`Bg&uv3hsO5TVM!)^lSB z#rfnhdiIC+asB2p6824}^D*2yc2*4MdHQzYNLwxVE24B-*`3LfM7*8J-rkF(WPZ(! z`p(DOxh;2C-Mdp&rbAg`W>X_CbPsv?dAxxhnfsapZ+`=z%2jtPCURY-_1S#tsJ*fO zZ%atCV{pXDV2sd7e*AEL;cSKzcu7W5hmKC|%W8Z34mykTGs4#6K*bU@x&WVTp_nu5 z7eC>vQy*Ftw$??b>iZ&1{_m8;`9O=#-<>r#Sp2v~fOpY;2RS9K1 zYMPJ+5Qp45?xqXqTbQlIF&!!u~?@>@MKUkVUE1G7r+yjm3wIBdDS}4S~}(s7FIytTYS&4vvVP=|60>#4F0x8w9N)sMKl>O zb6Re-Cm1|i(A@`Bx(Q!g@9ZMR{$g0=&Tsz|i)0hWBwBo%L^F3d!~j{9+*kg)3*rll z>kIYSwU)Ow6q>N%{~Ly8^L2&w{*`}ub*0|09g$CGCEq)@f#z_V%{uiVyGA)?={w1zv`4Grz11*QseN`h ze9^g!rfYUo_DQ9Z5=k|3L1;}b$*r1=#dK~cl(~8S*92n~KDU`%CI#BdEWF0cPc7Kg z%z;1T30r5FX#Q)zON;>Vql4e6!-Xd8k{voS%N1{`BgI0>AJElNG0*%s_dohUt^3HR z(qY1JbsS$sif<3wAK3WNeCnXn6W}Vy2XWSj(foik`BXpV6UF#AP3kjy#n3=tJI&I5 zQl6DLpK8XpoilI7mE1P=bgjA0=L?&sdjOl~27BY@7YBpMX7ck%>Icbnm{~wq6t@v4 zDQ&4_Vkk%s?+>=NFjb8Jb_S$qUWXRfzw2a)ohGATmfC%cY4pbNSUq#iqBpIY)h3O- z*PLH+y6W{s$q)#`RdLJ9)L`cSarRYlQTA)QL!$zNQqm|=N=fGoh%%t0h?I24(A}Y; zbR&(@(%mJ}-5p8{9Rowd><8AnzO}xCy$|*QNBrR6`PY44_Z68%DnjV6mozt^*KN7i z^Qr}xV60TZ83zkjgvwaph5b=9W9l@iMSSK}QItcf+(RAOt`@%;vMKs0;spIfe@wk- z>D`?V&!)Aoa;=;d+_5Ce?7m%nlWt?*k7(U&1x066;Wu>X)|S8qvHXHw`6fsh+hDF| zEXX@mawsp9wcj&7m>n-OldKdIUR97EBtgD!sxBz#oiNRoOLNxJXc*x0m~cofIO#e< zr;2;bAYxP$^5Totl?r$bet$7g&P>9@P<789;$cbQ>lq-W^TQDDyo2}_W6*EbD7rSF z=wjcL84B-7>6TD9mc1+Duu^{9KRszreR$g1XY+4yLn8xinV z0H>gihs_~$z_|EqK=`nSlKJ>}2HvX2srZlpnQ)4*fc6`Qd-w_?tZsqIWq> zXbLxfLEJKNwj~@UGP*mjvt&^iwkB0LF5TTh=g8LLzFf(Fj{kPKgQ!E}(6|?)41-vj zL`4s@P?33mV63{r1@t0lM#dPv;#-Pq)isuv@`$06tI6w$nNJ zz3e?vsrFx2Iy2@Jnc9MwvUAZUCw#V&HxS6b zA$*#f;>#EwJ&(%*WwZ+5i-q>%$_+FiEyP#!>-A=9cx^5d!I4!NGbCN@=g;e)I zM;8T`$NTp?o+Wecz3OLM%h4+*)t4_OoJ8dy;+xJ6*LIhIw7l%e=)d%3FGg5v=OU{a zoHa4^UaOELDxw9A^G?2rqCcdvsjL2=Idi2ud3>3r(0o|)*9noP?VX~IIaC!oz^C*{ zao?}$OvGn1VUAr>*J^UB^ZD&faC;V>-t#l!%GCIn*`F|(L5Q6T_y4-*{3($mZmq!# zujD>Gl%|x{lNbY!UMFLFiKwC3ojA!fLj(=i%nK+EsS5P9CjPbniLe42G2SbyGE>CD zGMUY^dKO#^{BxkSwbB^;*r~J7;I2)jA3_P5#dS5o?n@A5p`c^D7A7T2lGs?yl#R&@ zA4n=vF%?y->sdFCVR;S4NqRP7^=@%6G6|2OjL*q-y_;(yC#deHn(6ug`HWM*-Ikp%=x$~lje$gj#{5S{3Vi#D~6@JBbXT3QePWb zoW8~A$b(u^9J5y<@ z^k{Qx#+x;=d0de&^t#Gt*g$=vYofBH(%DWt%ZsT6lBL5Nf9U%xK*g^Qh)YyI3_z3zh{M*kYkl)818?)!E*>YIyCqw`D35E0fS#hG1-OYn!1$ekM%qn9dulIUt zCY;Du9tcU$y-rj+Yqbf|ise4*`lwVz90XyTBb8tn^vC^K6ZvN+(puq{#1funy>sC^ zAln0I`LaAtc6k85d^f;~^Y9Xp=F{|ka{U=bn-r1o?>Nrw#>oXY;aJ4=sT*q{Uy4V%2mgF?_*(rtb*<)$C2(#V%{bEf*h?=Kg8y z^8}XWsUE%imYQK%maObWVcNtV3v7|bdA#+Q*)KVb6;w`oN5Ba6?y02j%95#b5P3r3 z_fXBNhDSS6*5NBJ?qx;ZKrZmFzWuvw)qdeUUmBN7D<^}OefF4CdA3@IM^=k=M-ZP{ zc}}i3nB$fg9Pr+tSuVO%NThrFP1U-2!O{#Z&x?O&h_38rdN6>px(MGp*33VLJ^IyI zJFbG5KWk|bnCvDMK?nf|b>G3HgUSNyyQ|Yae*vo1z+&}yXSt%|_EG0B45bJ~>e)p1 zy8?ZcmQrvJJB$vq79aQ_7 zcR)z0&T-?h17aW+_>Lnz-bWeq-Hj)6TBN1&BTm|*0_LnAZ=U+whXlpY!V1O0Ub8Y4 z%U&+m1C?U}5P7BW7R)&FauoLB*dA%;)r~5MJM7B4O@wqM zm52Ww1FyE%$$rn~F-jUOwztCd71+5TR$AM+AL~LHho?KCc$(m|e53w12IBtQyv=`jT^#>9LQj{Q zQWs(25%H1JT;C{Unyz+idVx?uJvTfWTVK!X!?gJ4h8;0Mc_+!fJ-{4k1+cd-TONkd zb70dZ-{z(-wNlk=E$Vs$v^z~_ugRm|B#K>tl*#-%y$|r$+8;jvq9J==KKB|3L_~t5 zbsm2G=LV6`dq&(6wr_qSTR2G|mU~~XZsDkTQ&?0mM;o>`evr*cjq~^8v;0U=)D(Bf z2+OQw@VlC6!f!%(kMhCc!Ur*1;mYq7s9ygw3YZ+3bR-`f_w8=att9#6hDwfV-{X5A#ygq#X>UP;yi zt)9$_D~COF4=S1_PY^RklK=Jk>9}#U%5OP2MY;(HL!PGzc=hv7j{RKJO^F34fZ|+x z6NO2k6>(uze``>i<8L@?mi#qQ!Z*R>!tfg+YUFzwt`W$h`BhXUrkv&F^ph5b3Ym(B2{G>xz5 zd?0L7<0h!`IiA-gI!q8Y#e>?~aao81=9Mt(h6CxdR-lfD(J* zuJGqvlTYYn{yTm~WsJ=b^zuF&OaS5^z1Bi_o0&(zit%TSMo zha>wyVy`a-~vua5E&5Y@}$1sLc9Gb7R!QhVboi^?4|& z{kj>o2L_T|8Rkh0xZeEJsmwBBW+PAuo#l3iCj6Vj)h4fVwbP;NJ}jfxVsw?sFbDUy zYj?^iN7jB}lLpnFvQT3Q7di_2P77G8nW6Z8rI|dgGM^Vfy`nBXzE>VHe{4I8?RJAO z?uSdJa|qfCkHri?cPd}HRds9P;ug!wW+aIC*I8=|6X#*QPYRU){g&}T(7Hs$?lrTd zh&WXYZel*e7y-WtiAn`5MUa4Yh#5yIyG8eEQ|-k*sPm&<3lIZfz@MX-W=&lliIBv| zHsDniks(Wc+MMZ1Mi^5l@`pHSzm`|#$-K*E^@|>Da|^1RxmaE&IpH62yq`iH_6EdY zGwDQ;ZZnbsFPo}2JXe+pYL^Fv-?1wS&#u*1%-3lqaO?Yf0`3fh!T8+#FBzNoUO?QY zSU4n()-%F;fY+@sqbuKdjhA0ZFRF}$I1=zIRF z2{Y~VHw#s4i#R4(zyoaVn`DefUB{s|o^2+xop3RZgx> z;x`t+KBdm}PP5{HnN3aG)r)^B{qMVdlDVzIN>Uy#F&0_3mM&#pZDt+@M0qsxslii7#$O+wtG%keW#F2&r#gIqfa{t@%B5^-n=)m9^el{Q!2)+Bhd z3+5$op0k79sq6J2uEgP! zkx0ecNh!vUE}T@O#`aHppZg}_dri2yg?4X&*9RZMr$)|1WDz?%87xr^PbL-q-eRaY z7@kCgT^lMt2rRw=!f9*4SLiQh&g(;Lg6g8q+w7uF)2b=Kd^qy~?%R@{%kU)x|oodTp$!gnMT38|2Tngl;vo7$N?mAyT$L1;g^7qg)M&P$_&`^xN^RsjDJ5VAv zmGci8Z*#t7i$fZ4KuCub_m-B5%DC}yAX46+E7?cjRCFUV`s2o>?)gZ(g{<-K8ympv z51t3@mB=lTKj;e6!PH~@9Vp|u)z41mfVM!wc)%n?*Y>)W?mBQ<*I-cmBu3F|Q$@fy z4aw#C=U(N@_?`mQZzi8#;)c-yM4?wTQhS$-vzlQxN$ztH*O z*G9f|>Ni?IeDs8-q>y1z1Q%vTFvVcJ%R)+yD?vf^Wc@o-gtqg>_ttM4R0Qs_=+4mq zJ5=HcS+v0B(4MC0{J7=9Xk>QPd0$~8+a{;#eDxGKy{V}IHDOst(SGkZuROBrcIK=n z`T~@)S0^p*Rn9ha7IK}F0rBDgYGQv8fUy1X&bR3=5K})FGBG=gH3pI8ttflCkIca2 z;7%WOIi_b&Ur>Kbe2@1N^s)A z>V1%Uslitf1!_meI=V8~VN8u`lgfhO{+|rZ*XLoVe$c*U(Oyj@>h-FZ+wb_*u-Uzc zJ@1qHvl%;tFmN?m?qIZhc``5xsOpXP6a&NauA9;Gd+@e03@qHKnG178xoG`P0^a9) z4ToWH{|*#yA?4Fp%LFISGai4p@xx4?=If5uTu#QqSeYV6!RnEVPHz<>>Q^5eult16 zOc%-6!=PccqMNCM_9QAbOc>ZJt>6TIfz|0Af9~1>xs92lx`_?%wYBWfOe^K9ub$#f zy+@bXLOk-R=*E<~?U)cheeqOSKFBG|IzF(tSIC8z1}H0nwEH&~g0YWVy_8Qb#@7 zN$0LQ5Us99*w?`1GYM)5A`AYMch)_Vf2LbdZl92VLKy=W!npWdkytjSsoQ%1;8)DW zNuZZ&3|SuPW35Y7!}BZf!pXnw%2oLdh>ST%?+Nqd4`rWOru10aNoESf-7N^MtK z65eS99HH15T4sz`q*cdMd0%SH(Nr0p?1;4UR4&U@&ZH|<>{0LiT4jooe{Om8 z_nKzu6Z>rZ3$(7-kX~5@XVBypMao5Hi)zzTTLJ4M?Q{9}$I|}U*s)HBsQYLvtvA?s zVz%$%39g}M#6y4kAFyLB^*^AG0mSV!ugI>egwVviw4PWJ1JEvh)w09E%H8roV!{W^ zfIF^F(WA`?I5=ftQ8m@eISAKmA(luaBgk|Exf*QsS;BlijMljVd9tWw(u>*Pc~cIA#GvtMrgrBXYmlv<-OT* znN`Ms2#_(e+A7N|MG|YJX=uj{EX{Wh(|vM-Rtxv6;)F-N*8muh#ciyq1}_%Hy}I{v zwVTbw!aX&j`Yqvz{TIKPjZy1of&7RB@vT}hZC!)ljo#_BkigvN91qksliX;aSh%Ay zF7;LELNgzJ+Yvmb^9np?laY>%9nng(X2sK0v3Y%Uk;E7zm;27Tr|{w;Uhr~6`i0%d zw~_g38(rbUKHe=8&b0}<#&+if=7l+psyxqOCEo zuH(+{6|*VNFM;V+4rT8`*ak_36>ac+JGUG@imgYS$Qrl7nojDcnhxPyu%c)|1Mbx( z8q8?G?nu_P-*_kx<~w;&sGW2yyR=AUks*4u*We)N5zwM_h%n=RilgDC$^dwZJxkCY zs&$~ysM&WC&7t$aWS^wOCgc$Iy(JuB`h`EnT)z?{%?E$LrM6OOVJAsygB{S)`{U%1 zgUyUrBUy1>}42)@m~oX*|x5Oy~-GTaahI<0%g0;b9Oe0 z57u}d-v@5oet+MEj**E;Q-KMCyz;4sK8C9t@^tmHi=yV5jq{wQCl@}nj&~pz;`CwTN8tFp z;<-?-OYMH)VtTPoUyMjumxC#NLb8LS+k*GOx-m^Pg2C5NXE!qMT2d>pr9eZ`qTOi9 zX~E7kZv=$~@1}&Pg)7XmN{1@#yK2z6(fI-%&5WKMAzG-;m z=H}k*1j^;wuHcB;HJt!rR1+Mlrt7U>vZb(krKr}4E~!wSPWKD2;uABq(7%%{41UO+ zKCE+}RcNOo+If=H19V@jS zlrVhbF1&WL*W~bx#8IIK;7h9`yyD6Jv)J$iylnO7xJm_PrZVl%A1`5Gayd|bWoyFn zJHOxJdI_|j%{WqCXWYk|$t4#D%1gV3fu7L<=;M!{&m>YLtK%aU;W zg~t*t!710ls4dI#rb`YHTFP5w(#jNn|FX>i(N$hKk?56dP2g&6<&DUF`>MaE=FS~>6NxeRUoC7Nrbwj>lgvG#^W>5^ESo6-Am$tV`OJ}DqDZ#xh!mIdi zJju)Js|uW5&G?zTNLQYxT&)~-bafl1#VV$F)YI54>;Rp`-@$?N7(7*GOjf}zL97)q zHsSFEDtOM6z!KwT#>(rkP>}czkysDuD|v|)w|PI8_H`$@s?D(vXBOIBi--5U-a=)21m-&wb+qO=4|tBJtE^ks^3ePR7XVyokT zwQ?KKfQJGzxOR%yVsd@hly1hDifLGQhV_n;#6+7)Vd{U?K?+79V_d)dv>VC*(l z&84p@z0oSyok7ISL20gRkKdpTW?O~t5@*G+>5yu?t#d_hoX-t+)CLar)}96Nf>;>` zH_e?kTZ7wnJ#ZKzJzf4bil@;oA#`?kl*6mKTxuuCac=6Ae=szqNc`Re*)?cvb#8VQ zA50$))2TfXhhzU2ZKhWWb;Q#!u7qq*(>?RhU`zByZoRUFv#D)jacrE@I!i{bpF3h=;N3 zZZ2Zr%5$B3w4{fYjC*66`lBRZTa^YcWa>v>VL^=V)ZX`ZnEO63;CrMpM-Bn^WSU&hHIjx@Wi~$Xp0V; zx>edO71_)i`v@{dC}L?n_t|~u|Cc@+B=Ym`%kMwN=DGztwVi&j0fT^dJg+PTHR}eK zoV6*gJ}$^Zk)NB7mM87E0wzAaHELQ@4OnsGP8YIlF;=Gg@8kB> zcf(;j?7exS_~;It#k(aHU9j>}RiUzY^v{mBR8xX{v;){P|p-nsYK#+)^Smyo%wd&xR)*5N6WT{-d(rXjUwAJVqY-Tg_H|!cNTkFOx*p17EWeK~ z4rWii`YZ?8vUfX2qN~dE1$CcjpKP$OOeJ*rT%PhJoHu8zdNgY%uJR4)1GdX$CjC?! zm0Db03@mtMZkh`aO$^?cBtuh#yVUo0j~qIj3X|C&;)+4!SsJ|eK(G3ayy^3*BRvau zUyH_PImu9%Vku1;YkIJ1tFG-Ie5YNpTbXlfgj!=O3Em94{~2;UCBdLBt#(3nbMCi- zbVtLlVJDMvwVej~Ll_ql#grb8)1H5sj}S(ao>@s}Uzh7k#06^WBl&{U{pt=Ma+T%9 zRvBLeTh^`tN9k@&K|$mDF{vu2mf!!Xc_}d62e;-mbS!7LzBKAy0Y229EDQFe+=Tfq zPkUGY$ewif<)ELEgq_EUd9=N3-9Yyk3eH42AlaG$)}#IJA(f*_+sDy4atkjmXDThT ze*S!2=e+auCXiac?Q{32A~fZ&5lA*ZZ`#qZZ^fZlaeMN5%WKC{H~MDg1P=0D>Ub1L z^H?g7D7NurW)|6~P;EV*2@9t?rWAE9h#f~&nhihRnx(dBh@@BqMyoHhlz`+@dEBct zDxt@KbJs~MFp*JT2^S_~1+f@Y5huAXxgWLA0u3Vn&Ziy5rr%$Ia*tuNxgPfHfyYTsK!{>EF~* zv%sY4+jA*tVDexSUtGIJMJeWL+qg<-{y_Hacw=Dbsmef?&-ezc zd-Kng(ST~T?4%6=ix$jcM`>?zEKkK45D!M);x|2=;flNjyG<9?8UPU@1$~qQjU7l4 zos5!fyh)A)oaZ@iTr6(2+!uSzy4iro4q%89RWbWLr2%q+(sW{0Ol1dt<5SpBr{G#5 zg%WRC^gNV*Rt%ILSYR6Y>g*HVd1ELreovMNeZpm690^R zS!y4KHBed4s6Ypu3r@u=9wcH2cYt?%aj_FFoAi;`Y@jf827F8y<)>^GL%0-3|GLWT-@` z+$BO#3&JBRE#JrDy!{u!7eY$8k%sIFaQ;xWqP;PeXUO3;^D^K!y+yeAafB3D{2l%~ zApm}FjsjBKf6Tn`>Ob?VE~Nu1v!JTz#(0; zPcSNJA3Rr)*wL$mmN;-_el=mMw$)V(&uvx)IoPdGu%wqQX;%C$rPieQIR%GT zjO=-KcqtRZ;2R}%_Q&=xBdA}7KLrn~YneGja ziFyRCaERhrWWLnHJh}i{&0TDt+p3-mbFO%!J@a-&A`;2XDdsiawd(> zJZjEyRK5y(2|$QS%ba&+x(Nm67@F(O)R0@cXibIF%R6T=o)3W;KesTz3D_|t`gVL#1`OZLGdGaL`tlRBN%U}S#YSdz>{$;3egrAJ$HiEVcBS@1 zSVZp=LL2w$;*W=5hW`|qpBN*YuhnLycCgB!JoS(16V$W-iz`Knpu!{*{M_LnXtBT@ zXX(43OiA2w4!-8~f~1UMH>EO;vD8w&B;1jv8IH@`%b3BWs0U11?NsGe^VhO}K8COn z0T%+G2O*wgBv2>kZ^!p2{T{~}9yk$1_GawsOnTB7Dxw_-XRqVWH}2m&Dco8>oQG+8 z<>!{VlQ7Fgg!^1B*IEgn89^lg5u>}CCC%!r0FA!d^X3AsN{s=RZl?IIU!U%+=IdVl z^aRovsjLVw>du0#iVjZ7e*fJ^9K41d7*r>sC6`OdCrvel z{~T8`^R(>}{$Uk--(i;n6PvXzQ+aMNUrKGFX5k0gWLDRY7hw=%g#Z@ z#sY*2jnjlr%gJ~jRzi3fs_CP&zY{e#eU7m6!UVl9YBVzz_)M2qe2j-Q(^WKM&Ui97 z`1hu7o2A3>AV2M&Q+I%D&Og+xT?I(P9=-8hQ7#m~&q7(RI&#-jqiO}Nf%0~H1A2V| zVxV_AGB zOk`zPU*PU#I`Am5Oaq4TgnIVl2((*Bq9|J2s;Dg#qoSIqlH{BU;<(;~MTiWkG@AT>;J?Aeo zSXFV0m>6bmF2&_pfu~bK^XIbIurg@h{h=k_c=*V4poQ;~i(f0OTnZj{Dkm8H#w9a* zDk(vmm$RQcG{CGUS9fv;sBwZ`&O*|a`@$W8|81p(J>r!HC8o0OgEdmGJ#DUF>d~rl z{m$-PuSw348^@9}m$%{eVgZm##5(Es)ulpqs>)nb%#RBYVj9PhsOzlL6vq)+0RvAo z)``s{#0@(F2lv+D9@tEeZ%8&Yp8Kslo>R6SM|lj>JF=leb$N z*QZGk4+%yBz}TsjkYZaTM4kR}`rt zPv*Nt9YK#_RZpJRKTSIybo8nuDhLzavoMv|z78J^E5xLP8cz#nE83@6NoD@q3xFCQ z^e|ZXiuuhwc)|}87RrRHfIkK?R*%ltuaK=#A&+j4F9E)-Puvxig!J~ClmYN)XB@Ll zSHvUxy-ahI&V$v^;pQ-nr!FBt)>@5e!FE%FO2GCrC$;PUh37Ri8Ty$2Nkd;EM%aOl zcl0V{YGd)M`Pm>8-H_HpX`1}#p8i9LQ+E%)P$TzeFsY-KV z^kzMB`pb_|WPe8&4XV$N1zg`MNWW&$-8PK)!rmo#*O9uj!OJLjyB`oPdGlNIDOQum z3DjXr%)1+_P@a#zKI8T_%O5vc4d4rwM;CnbEQ?GaqgK4pL$wINd_f;(?Q<6SvH&mD zN58zGneALSIXR3XX%K|k{{1$#Gl%!TiC7n^v4lYn-<;Hq<0p8 zOH?*|m~2kXV!Plq?=2-?YP3|d95(B3ywVj}RhmxWxHZuqO`m7@+i$ilv-Eu=~tl4#f;BD-c~EtX2OGk6|${X z>i^Z>fim10ss>&5xO86Ky*oC=WKPwjNi{_~g>CWT8*g}jxLw!39xXSWh`>Hv;z4V#j0QwSGl}>stnLTwFpS-IrM>Y z!GFNKQhv&NP3SmG3`MyH1?xuR0_z24WPDz9=3)-4CkK{wAHC*$xm7=Lj?_S)Z+x?w z{)Rhxzm3`S%@CIl%#L)DkUUFZ41b}@)QQLRg+wt?oFqs=NCg!V1>s`~d7Kr-*4bAJ zV@7p#=DAQ-ATIDpV>#@_&6X}Jq%PM!t)G#m*lgqKOe0o~@rckJ zp<62H43wM}uw0x-Ftc89W($aC?4fd??hegF_0N=O6H2q%wQ7r$#@ECbfey#_hj0&8 z^DKHFZ1|=sSsw?b&RF48%FB71jJDjORsCOl7jofW=QfhMso|Abp;PhBHB85Ym>39i zhNZM-E{C;&?)teAT69B3WG)4U^oD%*ru;|4f#PQdF@>TC{QdsR4-buHH8Q9HCF5X9 zrzr+QJ}VfOCer1YlWK372HB{0cgRT-#09tzOoYP_`g~L2|CX!8eg*O3*_}pTSFe7t zpoj=88kB{D9LC_IP+n@seF;4Bl1KYtXv*+O6=PcIUkRy zjF6ngz$D*LP;km~fUCuCsL;TB?E2=15y_s=Kxmpkpg{%7fz5U4?%3&{9#Vdo%W|ReeRl=x)!Qllbfp2LAE`2nK~ay;1w(WtT5fbUb4#wvxw_8R>&i_r^Ub{@Qn{cH(D?C8@G>Pk^)|ysa?t1p8iCNEHs!Cau z1I2s52x+bVa!Q%}9e0@RuV5nY=fq24Zo?Zc?IC5EG~O=T-OB-DU+k0obMDgpC~$r9 z7Hm`MH8Nn@_uspYED%%`02WA}EXC&G#l~V9MJGlR64hMigbANeaWkZRX_2@~nj5LN zx|XXoZ{)!s#>-nUH)C4YYy#*IV|a%sw!v3<=Fl^mK9G!L5YjWEAi(bC%rZ;(iZ%hd zA`YjI^LA!zS8WH)Cs9umP)lYT_G&I0hrjd^JkX9?%$f9QL1gm?#_hObiuU|7r9RIfQ53ZgEd~5_Os;UGi_z0aW_r`K zij;h@9(W_&PPs<-#Pag$SeCp^ny=(d%kb}&gkVmAvKLWi-tHz?+$11I=!Pdhag3{q zZ}cpOb83*v+nu{Bda!RF`YZWhmEvRgvODX-JW({2uROVjH-GN5DcpmINw_mD8 zYos<^HXHv^UMyoou*^BvCcFG`r9@>M@a#+s+h1*{X2lS@IKa~CDq!NXc7nm{9v&-})yQk5>M1(Je>xBbr3CzM@boI* z={s`urh#6L&BFWZ=)MkwUiY?GxmL*?hHBoo5e(C$?VcxO+dG)dqDjIMGu!mE-%3`o zyAP@%xxQlD>E@>v-4*4xk^~>X&v{23S*%R3fwAKv5%OSi* zOD%pQ%|1RF>p~B{;fbT^=$MwiMwH7$VRdT-pthNoVJ+7-H%EJr%DYEowr`| zsp=Nht|e;ztxW}>AMJHfFAU!O<*u`)i`^t$n7I#E-TGtU{T3`^fXmDrz4RMU*01{E z(dDY>0P=V_o$Nt-y!m8@nBoVKcFAsP1uOSymiDmEBKdko9@~eko8I@@bSL)BSRG9d zLd;>|ywcdcjD{)sdSNi|KInQ@VT1F(4sEb+;h-994i|IoTB(!HRHr=l)S!c*_s%@C z49sxI022dpwTMd*6RzxTg@@z-rHk!H>l!v^CVZXZ&bz`kjQY+?RDd<{^L1&+%;Fw9%nqG$G1{CE z*`IYM5k(hAA2|vsPj9?ulYOqw{2d6LorVGZ zKi6os{OurpW@ku2C+(uH^dKE_%i%RSY6dh6WhOgRZUBwfD3I2<1n>Fk4Kh^gfY4k3 z+8~xrdY^`IVSti_T-)601q@e=0c!Bz+2$KQW8I>EXv0yAMTB)3S8GW&nup`#<7;Eh zfUuq%#1Jik`))?p6G+l(+?9g-ZcHwNF z->nrqBCX*j*W{5D(Q~{502GM10aB1VHa@ce=@2Zm1Uk#{IcKRop0O0}&zoynA$$Em zemXuQ9HKcOj7Zkp+I*Av?4sgLJg5B?YO;6G=i1?{oy+^tZ7d*=)oNAay>>dg?v>4M zHwFwDO_S3>My~}_er<1pTbKPXuQDhT-m1FoFW0nfg^3XW=cKB|w`yZ`p(@^v2>em( z{FmFXS;?>4E9f6sD(D5sYoH5q9AM#5$u@M7*du+;&!`=~iLN+EouS#c6gb9k_S-qN zImR%q*Lim%{|%Wu{u^GqpjMlOIpCT1(( z$)kgteo)>I;JLZzYm{wLJ8|aQ)5-zB0D$-zHF}M(9-KQ_8l!qnjHaVpHf#Jj%K3DZ zZZSV{4tJQd8cP%BTl!*2cL42MP4(D~1fY9m@BIM!vEE=QF@xXuT2E~OkJ}kmXdmF( z{JitJq>U)Qd>078d`v6i7!g1ulKcM56mm$JB)>%T6L?yXu81ByYxQ~Vwt6p^0*@E+Ph9!7> zmF`~qE6M*nxfQP1Ls#ZQL8U%cAS>czSF1bz7zu4fd7fjshj&P8;3dj~@KK3!(fvD7 zSAK>1z4!$*hMk^1(*+sY=AR`KwM)!-sc9{fOb}xg#o`&L0$l=~%&UkJo3{)tPmp9c zEfEkG9}o_S&x!o31^7dj_R0@K>3#s8Wkk`GWFAOIoX+blq9T>qS`jx>UL3|MYWI$f zt}=DR3PE@xXx!Gn2U?w@H*(T+xJ>Jvcls!=$NQVhP!}wo*VtOidtpY6WR)#sl2T$Z z%qBaW+9Gj%PViuvl zUnfczRk2GM#Irl1XE2SXJ7zBzO+cb z9m{K~);E5dQ*M$?8Jn1+F4g-y-cC7l#?B@w|8 zI_6+~fv-rzRsgOz7=zk z0xGorcwgk4@15Ng0z;no#AVO&`CZ(54LAexn0l65YYo~Tq)4YpUs3>W2lp0|pHcJV z3_~;GLKH(|XKx*9l zT4~s&w8SmZeLnwOG|E?9QI{o)K&zPpJ0LD~O=0uKITWbaHR&&JMogBJP zU4{5uFdf?Ua_l}oHJmpdkT)O*jaN?rBsL}@zyVxL;^uZS1I-1vUANQfe}7y&3~JfQ z-5=A#D51S3leB!LQOO;?rNH_VUXIS4enYY@;}z3|%06r0ij zE;_(jf5B_)4X8rm26ZslpXvR+_`((N4C%fOHdVM+L-f25nS?9ldM~33T<*ceEDj7eJ__jBnk-SoGp>+aDp}u2q<2*75e0= zguu$!_>5(Y#8hI!*vc^?+Mlzv^38{dxm?QNR?Xu)OY4y%7bRQ|7fTF3uU={;E%Cej12vj}7iOZ~7kyyc<8-fH zKmy&(y|jf!k4cT@s*3YL*Fqh(gE&lxLjO30O>tg0D<@=aJ^x298RfZ3w<%W5udD|7 zSpk7YdM0`9kBmg3lGvlQnuBMNe+C*3hUlPFS%IDLpccGGy%*R}>U-|=K@HnBEpI~` zn)BQ}@i0GwTF0_ezmpC9GY|aI*ip-tRxC6XKX04#&S|Tt^}1>;bisd*cSEhFkr5j%>@xm@p5YRDe#jJGs#*zN<^1a+eH6gmJ zO3uG$h@PX*iZHevi5>g(1DMKIVG)q4OQfF>ug`r?sTi-XVz;o!D9P$>tK||o)tYVo zzi|Fs!w&Mfpe*H1?q29oSdVhTGSqB|VPm%1X5di&fzZ^|1*%x>C1N1uPz__Ez2a~{ z^j;cRO0K=wlFK)e5jMkG-)kM#~mduUKnl#m!oLFsM=q(MRnr9ry8V+K(Wr9qJH?vPGVx*MdsyBU~wkC)f; z-1qbQe|bOh1(-eitaYw+ED>&PrN5j$tTtIs%+_l0ruusAly4r%>JYy#VI5pAm`DCG z^o@RkstMiw&Op#s`k^0#06YzAY^3mpry&hRaqd)1+H*;FI1cVZ_g#L$%kAeSUH8L< zk5(I2_CIl^vsovSGi}j{EMqc4-;j9@21TbFI0Oca&D&cl`q#x*}4ok(_ZF z1;A=`X2IuT3dato?bGZVEk*A=RHFn&3IrTWe1E1gmpuWYqr`j;;|mjPRF)1}_{yjT zXH6yh(Q!Hf0uNt!v9*U6ov}Z->Y{;(-z3qeiWs1(uKu}=`d0x0h*+wsWhfif+uY>o&(~2*&TK!o;B#=~8M=Mg*NU0+@7xVuSCCpY56-=tp z-K*C5C^6V2n=bA1qoBvx>&nf7`vrRf%UzN=o4YcKJ^1veZQ?$LW_Y05y|!~BBmNq%@gDBN$&RZcj&A5mt`gVhkE1-dqF3$THr2v4>VR)&`O z#*9PIpU*Zs#{VHun!OM|SgW?oP+r0Fi;>xtSZUWkNZML4naCQxhCLEoDLN8tT`7Sm znav7n<6r-HRIyN23HS-rNl^2+oM)Ai)5oG7@O{jWdpA&fccgT*CHNVCd3KcPUCzag zTvO<3VsmkDls8ovlgR=%te&mY1L)S>JNfJ7dNmM1f#UW6DXabckbwE}TS{j~*Y15V zZdo#X{Ivw4U5$H<`pXmNzN4*j#$)n;$0A+3n5~D?p^d0R?svc)(T`P2U!B)!_9!&s zWq_M28)60~ddQI|V@~~#oy$0f0r$^-7ogUO4(e%>@Q#0~<*#n)`G2dF4K`ukgH$ZH zsk`(lN@T43sd`TaMaZ~O;n0kzFeddFT8IT7q~6$eTjMK*Psf*vF$#S1ROb=t&e>$B z+K4u08y2v~%{j0pQW#zP_Fw|P>-0p4|w`Yl0j5T0zE#dILPODO_wm73V1t*-~ zG6+lhHIz70)hw66`{(?Fv|og7{!~lDF2i?*AE*^>F!KJornE*$a5)+z_i&*YH0QDt ze6p*If>ZKUrAhNSyf(4X---VSl_A)htoiJCtfg%P!gTsGJ?BgWe`uI|%Lv!VUzH0H z-R631Dh788ntXr`m$f5yyNWJMd=(B(eX53VuktylQLIeL5d?5g>OeCkeUsbHSL!Y$ zdcG_Z>@=oVdO53d`R`8T1X)VnF0D{YdS;}}#pljaIUZkfHur4>O`2o1cGmG3|E%j~ ztx~grJe&LZGIgffN(U$&r!HhUFo+`i5C4*CFgAxNI5ahB-vpYrF^rhHx9MF;Tk*x2 zf)*+XTLmqdz5~@vW>Ut&iJmP5`$GCW>QJ~WiL_pKF3fe z5A*Qzf3}YR>M7jzmd~z88Yp`lv9z~521Lnc+-7}wq=EkrAZESW0j={ula?D*MR@I~ z3diC!#nYZB@=DX8!NI62d(B=VNtMWF1akmW;AJ&GS}kQ5Qb%;%nV3e4%U=-q03SxW z`vyf$LQc1{OMQofs)PeFWy52E1JRr2tA6_)K*KtLzcKLrE}?~N)GD7AX#&hAjd%|M zhaZ*6=1{uRuSajXU?^x=<;S|J^6vm*MFrr+nC3m*nH*HGZ@G0trirQE6U z&l=8Vl&GO_$3M0K=)cg-tgp7-+JG?B9mDdO03*K*TbEN6Zl zPrYP(K*#u~Ed<0om2|u`T`Ru_zAazF;QJK0o4gDQ{PO8fph*Y4_5g5Ok#`6nGG#&w zNRO;b>T-rbFi~NR7b>o*8)5NG4Z1#2>XtMxBIqaM|26ns&rjIn)&S(#33>bGtDLnr z0M851WSQ8TflJ)Y;r3&PW?IVIj1zCb7uj89If|a!JcqxxdRA9TVIWx%lJ3twb2-&1 z_7u?LBLM1(Iq>MD01Dy!dAoIK(*$KF;wlx9|D>k;SiA3cHx7dSk5$Sf zg&sg=Z7W0Kc0Z5Z)r@)a-?4~`*CEYPJGh{p^bFkhpl8P^$HmD-Y=F}ME~ghKKQlA< zo^1&pAoo9eP1R}a#nY9D8*0eQ-$CEVEwZXVm2Pd!#^N%CuPqH0vIZpk+x|#^?tU_9 z-}H3+EEd*$EZ$u`#>vusRL-Uf2$LaYA)_}r{?E42KV z@X2HV5I&uN8r`J|+&o2Tel)Ps*fVX%9bBzaRmtjEbGj z*5%r!N`u0g?ZOT{^@s_9*&YQzZe5Z{$#VU(j-~|@0t~^p%+YcpGVd~foL-e`RFU%p zv9KQVb8Ok!lfGDqz-ergKhCJNe6pN7dP=Q`-vpX$xCvWM>c{bS_OjnY`^1Ln&&Kz~ zsrPnp`psfiue6XSQN!Q#t-iYF4}iWYvzCV`Ih){D!^+8SJ<{&GQ_~|ScPSHH-V{K% zd%9X9=E^}w;{s4HiDj-vCEtFCyri(Jl?X%Z9y!fl3`Rdw%faqNecQ62{__~k;InF6 zUq{bQfm*OoB<mSvj#b_12ER$}hskEgA5AJIJf*Y*` z>ONuO_ndD|*|0THh&vZ$QdMuja0Je_PUs0j0*Uv-r2cL#qUm6)twG=60<)GKhM`6y zGFX^>GOD@M%~EesR~a+M&%r&P`L=c?6RG<`K+dCQIy~5rC(*%=c`(V#e)_;5uFaELylfcukj7zp%-NIe zzkt=iy&x6rHvM|Rr77Xel21Hg-9F6C%~D`ROfMDX{`OSey5#Piz2ZG}Y7=;j>4pHj z+g7!Z(HR^yT3T`18T*W`bC+P|bz5E5=;R zA3v#Box`YDO|IE}9oHyq5XVNOX^|V?S>0**7K<># zkuG;wdU16DMYwNGSLP;pZRdZN;?vYO*&oY~-dluD>bZA&;guBWH)&J*T^daT9{4Xd ztU~=~>&oA^B+)#0vjYI&Wy z%?)2PPj&duJgrzXs)G@Gb}a|-r2h9zJ+y)r9;R zTH@WXn2%Y|w+MAg{>CZf|EMGp(e#BHf7S%e(s1$JJ||fMZH7@u}2acBJc! z)Rm*%y+>=Gqtr0I0FEgw0%^wCiG^33C*7ik;#8MQrg$wi5@KzbaT4Ay8&(?gY$A6g za5i$uXD*r@|0@L)1gdY8IWWfK$Trv`(39Des>7pWIsi;lt~5a?7_L9Z*9}=A^oTJ| zMHyS1MsMNH5<@|{HVjjhO5C^jX(#~`(}n0n?R8Ew#^gXdpMo>h{hh=7l)Dnx+ zs)K8S<{tdHfe8UzQ^j_v=iBRFtw;7R7^xe*xi1WFY)X)#O#O|J*5MfIzZSYH9nhVS z@8>?hBk3)OOV+8_?tRQwWOfxD4)*T=0>!(bDA~5*l!C7ZfRe_M-HO4Qud@}xWufGb z9ap@v^${||8B@CXo->cC;u_HOMLL6nSU|1%sP#GMomAw4Eyt?(b!zq$I93gPa#Lk~ zlKZFhg8?{f=E==l@9uO?)|^vsbelQTaQ+ZK|DK`qn9$33*{*&aWb2g9jid0B&YD@h z<6fMy=QLJ5!2x~CEP10qm9rLYTz%Of9e%yf$srw5XV~v&=+6N%E%18!{Bn zs2Ur#C94Urz@kgl^wE58`X?@AhuAzs6m;Q_RUD4>G07WKF#3({o2=-4%iMCmqS0tG@R z(@oi!^lpv#SiZGymy7woa!rAJ2nO1xF>8oTwRk$E*amGsHIWUaywLx#Mu(-|LR;eY z8}{tfj`|_yJo+crlwOo}t{w5sr7<>NSCgVuk`rh^XNHqbtDD1tlmJCI8}zj8Gpp&E zwpr!9GCi(LY$8p9SFt6Ir^R72V6hX}33B9Gh@lJZrz!gO;DLAyYN}gevHze`TgsrT zpP=)>az0GxA|Ub8S)3rDHzo;tnFsqm#KF0#QBGyy(#@=yjqH$ zCdGGJrgpJKISvq3Dv?j@{dZtPj!PHc=*+b#oMNr!yv!SUy9e09+!#!`Y-c=1e4nSE z)f3TpqgnXd-jjPQW`;B6go4g=6$NA91#-^fX@Z2CV<|VO6jiwIJ~Tbs%47)tzS|x~ z9t#y9D6m0Sbs+Qyx!1DNn_GqEzb(U4*qV$)Wr0Am}3o zn!_<~vRv}5P1*|#ZNbdbe7g#H!jyP&&6M5L#~TZnvPu5U7QTK~GlQ|DdAHH;@z$w#A_8>{!RULnVga4?c=+E&{D6bWvS6EvG_Esb5n9c*XjL?1+>zz^N&%O?= zR6fqTXI8fwur7b5n&~e>4s8Ti>ny69VNKNXB)Ny&Kf)!$`;FSLi|>y<^%aKoqYrIo zO*6N4d)|s5Il92o=wh`HTLW6m=22#K4D~Ia{5NzeaCf~b0*F?gZ;<^heYMV2l&2q= zO@Zfas>7M9*$gMj*W z$;>kpMkKPdVzhN0i7e$hOvSH3QcHWcF}|$kf6p|%w#{6NU^k$}q5}KF0ueXb`j-3Z znS-bHd-wYF<0S(hs39E3k|$#dWJVoFXbDgwWQ;N>^H+MvHd1In-XIS`f1wy}F<06+ zfOAIlkcJSncKg?yH0Ix$_bPL{E41jZbVm@-$~&ohVpK4x6?b-3usS{=H^BdLibCMT z@+UY^igB4cp;WnEc()pz%vb|jF51^U>0DUo^Hjwa{~Xj6eB2iXQ?X81u|LQ2hlOx< z51j*N5I=|n#*7LjrR_?at^)(|ur^INa{s<`LBYA|G&;VQ#ghg zS?@@;qG{WEjPy7bi#{nGp}@G4@zps*zB*B4TLjZszw zdQbA8FXx6?jd%W$xbE_rFD-pQ4AT5EZAy$%e{ik-k7nOmEeqR_ z(y?1~vhb!Vzpzdfbk6Df#@Vj2_ZIgxE5iNyz0GhGapos?(n`Z@Ao}ztoy(`(6C}F zJ}lM6&kn}GsBimmnfa!Skt~>>?YmLbZIl@yR{*RAD=!UL=Mo5b9p?G1g^B^&Y z%M5kNT7m(rE7x{M$2fMwc*b)ay+`kCPp`@s9`bE;2nyl|h1jBVVr}#-lA0eqGpO>2 z{Macm7_f!qllEjyCapsM^y7#%)#g;IX^0J;eEzdB4ur9`9kGAu@Gj0eQc+=z1P4Ae$lB`V z>F;9GuaG0@OZ_b%pk5FA!q@KPW)ZI6Uo;24?1e?mpggi$2OrS zbh-m|EQsf;Tq8P3uv*=&0Y;Dozf?tX&^Ld z3P^u-m8)ZFD!f5@fM0O!q6OhQ5V!d#$r3QoM#xfoGO%An4~pHq1W2}|@tnqikCxy< z0G(!c_NE00{q9hmAQPGcwP^SNYTV~g!rao+_yU+M;2kqdQqOXbiR|@(WM*KHUL4E4 zzrGyGX}&2a^^Ju7dj(r%hyIdu2phC2f^$1wWUC?WBMTj6R}X6a#`xrxb_-kro)SaV zHop!!rgs4wQ)}NJ?R;O;jYH3Mi+S6*`E}rWyx>W}&z;yld>82_^G@$U5m5<%NX9Iz{u`3>3!0!#zDweEnYCM zCxp<1XtsCA?O<3D?{l~bG4Jbb#c6jZUk#;LJSrje0nrOxK>$w|at`1htID?hZm)qH zr7qnGX`g+RtQvZ@FOM`rBTu$=t;26A&=HrxKiEX^k#1t7Ju0uL{V#G4Tt)8n@AtH+ z<)O*oAJgbn_ugJhM(C8dkX?^y-Ruem5_E|2q%if~@P~Ul33>QFIS#x#AX{m<-D&CW zps;5_O5xH)fQtL<;28KhCef~0URhuXy>7dpuqa81KueheupN@~TE!rnI=RdTC<_z0 zOh3Z`rc+eIL9$3Uv*61mh?4@WBI zzyzTjf4a`Vy?o+t!nk+^Ane{sVM+_2TWkd1+1D-wdUb}3E>-lhMc?c<40f~HZ~Hk& zi2ycgz@?24+GA_Je5d8y&ujVT%E?p-vp(*5GZxwHzWF&v^n6MZUucs?cyYMd*PEQr=G&}KZ@&{D z%=H*82)1NJycByz z^ii;_*Vd|%MhRS>I(#M5SC;g~^(i@V9O5@#eKRP(IwS;PE*g@RM7Tq}ukFpGh*5^h zjb*0+tLMp0hBfZ#UiF-^+i%;N*&#oG!{1+b6a;}wlr-!M{k~a7vL9qWOIn@u^Tz=N zO>H3_Nf?PX6~X=6lVf9Kb8NouoaU|f*&AtMj6^EUI{=EQ?LZ*o-Svl}N@cGB=MK}9 zF@CdH!lMhJ_4}jai078y+ykJ&w%wq zkJ$J!Zuq9HgsWLIUTQu!!22aJ313^=d_@{dQxNl&s@3NUzG++q6M~F@SCYDSWZZMIm1T z0V^1x{w<(0c1Np-Y315^vOnH7_Pi=mKHcwL2U>@g$p_K1DVD0A8hoVneDL05J~}ha zqAPK@)Q52ODL*gs)0uaRmA_l=>so~BA{=_o{e35%lFrzIT%R(=XL=JksS@Z^|K}Qg>TcwE7k@#33vBn;72jeY8NYEDVSK18azME zrS}W-n={1z?lfI#7M(cys~M@OOJXgM7_TV?wm=D}P5TO!Rm)g&^66TStqh-=dc$BP@e|rAgzW3%J_o(tN zQ60CgL>guA+w{V4=n;d!cU36SkD+6JiA6`lhib|?6CHIls|i8TQskKL z9uz%BQC(i@oMMb8)w?MVdYm$&?_K^0-NOSI(evTF{|t?ypiaZ5k3VW%0-=v-3Wmo! zZlz7<71*GOrGpxTUj?u(bzSe2F1(Eva_x(`06_H0!h1Xo_Rlx^6U`&BKb#^iJ0YQ4HlaMeJ(#_NT*A+KHY4zct|z zO64ODnO=ET$Bt%!eT5MFi9Q0;^;4^O&SLEp3h&gE7RDIgyRD*kZ}3u#zlaL&hhgsQ z6n;Cswmy3lrzdj>1$OOw0zf)_EtoN-tbcT>s|Wz4a(NsYP6O==z3XqlMwZ~S;h5M* zzYhy)##!SXMiaS=3W55uw}}yB8=r+pBgW#1O7!UlIN_Z0f&!hei+ICr%MI=;!;QVA zy$+GJswYciu)qMf)kB60DdB|=oxeTjde-r77dVCc6RvvMTXen7cP%Lnl~Tn-55hPj zyL?|Fp*Rb-`|dw}Kdqj(vYxgoEH(jd*JL)T{Fe4^6X3!NS7GFEmiva>&8*c^KlH=9 z3$HjbrqLaM^zBtM`LF7tx{YyPDQaZE!)ff5?4!cH*&CLycn-J$09yZZHOKec#<&;M zxO6-lUULL5svM}eB?O8HP%S^H7++}E9Ei{p{8?xS-}(}Y8#rj$r(ZusL=%f=7tULZ zP>jexyD#+{)z1h-Sv+1rJnn;V#8@!O@X)xgY#w<_G(^jBLp@H2rkc&Am_iM;sM*P2iVDSD5e4 zLc`}e6TR?g_V%g7-kOE9DDipbXYRTT=L;6fN9)Il`Bq10rDpN=jK5i6EIt3m*o05X zl(^^kVfgGurX|VGRM|s%v5Fv9{-VEOLq@|G?i28x4zIGBdRvzz{Nw}ZedvdpS&UM> z!l6p6`}qakcy7Y{OYwZG0hj?TwZ<(+>G2iH@A-ybth|VF!iCedu#@<{+KHdMXEq~$ z+9q-AR`uk?DzIBKOLn9fR`BCFhsw58nh%y3lktyJkpXkAnvnZ`(gIY?wlSsJ*=(@9 z4F2&x>EnT23GroCbPWv+Wo`Qb?sEOyv)uz7b_ukPyESbKk2+;7wTEw(lt5BpE^iA1 z%56TWNM2~nG`r|#PYS4cJ}G$SaE%~AzWm4s$c25Vu%#f|sxS1?fO+nF;=s1?PwuwG zhRc<=8*&t&gy`f0mvOb3YTHsF5T*e4xn>ro=x|_CE}zd$Zv4&9LBg&X#)PUi@J4X> zHUuL@#@=;b#K9K_%U@YFE!E^qh60S-ZLnY$HRZ7NueGrw13z5_DM{T-u$5L!7mNgJz28J3JU|2=CutlVbLK zzckNGltlM03!qYVu%gzGGG-qvE~%d{gYBBtLDWiiV%`;E`+>0oYQ`V`s+6T`ZZnAf zJy|B1aio(68Q%O!-=>pfYBp+;x1eofST)~hi%hX`tLIHulf8ZW_lpgluU!;3EyjHx zGTBvr)cwfuXO6PyP4Ib8c}{VoUkGI#mJd!~loXT3 z%sTIp!x<_3xOHDU_K^uKf@jQ49?aF>WiewRI3{DQh@U3k0o|(&<@xjK#}h7U*_#u% zkyB}oT;?{6$Ai=B=LY4%VCFJ<%=GpYRySxOh%x#R;}-vlh3Po5<*$73-b-#a$@h+` zvqrw;@0s$zC|@ni@`ywHyXl+r{^{LLwf!7J;Dob#)IqSM!s0#}J zkaK&oo0hlP>ZEGW3n#)&&xRSCdzqZRbY~bUEO%o$6I&72BcISV;*UBVZA%}jQx6S6 zkq3v%D8iu))y#k%Z|r!YQj_cFhwVfTeQDOK-_lEa^v&n#Z*c2n`Q~o1+YT9LQ?KQU zAENLMapnm2A&zr$ zo#?6h^qX?)lwAWvDb(|Wb^WV}jl~oh2O@-B&E}xffziu^A!Y8{5P!ZydVYz6TXTHK zj4Uz*{?FR!KM@M+_B3hi@jgXO#WhrdnALu@)Y~f(eynKr%@{RJWtAvkTcqn0Q?>j_ z=xSpdllOg??Ol+u_!b8(_SPHc`6LX*84JX<@imb$%BUsJajU24?e}!5$S6W75r z7Ekp|8L1d~W7N@%EtS20v1cCGd)rbJ<;|WK^=jiy_s`rw(uUv@&CejzM@AO-JSJoW zQR~1O=%KNMnLJF#a^`Q`k!n5gC9sYHf$g+`LKVz4!0MAK7E^lSkL5ePgHm~CX&)4; zX8#IP3o#_Ppn1<1w*eReP)6jw75PDXrCVKb;;x?GDKV-(p&?&2tIAAe@cj_sTOfBw zWgpn&w?KMEV74i5Hfx>uaQvIgm+Z!V?B*dRZdcA#-;8k84gxqa_#ibefZ@$ z(M^=!G~M1&yFb!Lj)nryHKq5}Mpe`7z zOfhc^BKi^Qq50-2zWg^P=nb@IP@HH&t(;eKCA(&Y&P!!D%ua z{Oc~XRFI4;b6YI(&jL!c=xMVN?x-fpO|LJX>Fc@{w1ns|mfXE59lfRK_G;pfentRc zZfa?&S<_M4Vm`^~k02$%jWj}eQ5_DpZ z06fFB?_&%82>f?mgo_#)$p7-s0!=#bT7UXu;bg%r zJ#y#cwJX;aoq@Okor|tg_J%``+jk^aTL+Nt-sg@#gxfqBJ!?W6rsI5`c=&0Fh#}z4 z@qD%kE_*W?zL8aOk-K=Jt&VF821Y^EK?G#2gE{@0)mPYK24nGd$> za*M2>Q^`v)id_%6mJ?d`YS$Dpc#Jodpy@#iqSJ^ZRp^$6Sz^KIQSyb$`alY4rUL@ zPY<|udX11|i|YiFv#ucSGG?0)`N!L3uig(MN}&zIP9@KB{Z7#`O;XXq#;5foIgLA6 z+Wji~`J$0TKp6^KhQ^h|q#fIuIZYClw}z&TjLBSK>5@SS<+52Fb`5(^k1A4ttQ zH!=-EE*H^|y=08YOf<2I$SXh*wA~Qk^RdA@>W?>J1YE3ToGpNm;yDgzcJzq51BBgV z=#tvP?R%UT{UOk`);jXv+q8`Qnfe$^m3t|(96=MI=NS<%QF(AQ=s=AnUG4Mzi60jp znIBu;Z#sFxD5x?}jCkp_g8d1pX#Smqiz!fW-RKB>!@)n!<)tvSU+evxJax8J#C)kj z`%?VAI-^9YIDeafEL2V?L_g8UUbl+2qk(HQ#^uXH6vNvcbPW4PLnw~{ZE^F!AS&)2c;2Gp1mfbR3*#Fi(0Z_ZYBAuUr z_QXOqOLonGYd8X^{z#)#m9v-(a6Pfo5gN@u?;$x;I;}q+e;hW>+rezFyD#sS`jn=E z?~ShGM@pc=dOazvD^$;1OGud=3N*8QAm1mVm+30?J7d-|Pj)T3*X976-xEiTfj&9S z0Z{~?KgR$UV52kQQ-lT^2X*1&cy8<$jhsFX0uf0;HAmi6(_XhL^fsP(jY;NT?rP&0 z-bP2moca5bC!8Le1bgu>CkH-3wITVG##jeBbH2_^rnorOtEWWKK1e1Vl zA1=P&p!TDyAkAi$0U_cCYsH6uR?jV<@Iol zibYIWcrWrPeZ+;-*<|w3nI!8NK-iQl8Vs(A_N23S-|0~!dAEXfYzr; zaAf?A0V`6t#iigYn%`IG#2E%I%$^c6D#rlTECVm#(2ItJHCurAYTLHB0Q{npifiTV z6&PA=iIUXTq^q-^xptt_!H%QZ!6B zJ!nAWM%-mV$wXb_#on8y_F+9E~XGTNRBzyRJqFQez znN(kwxNSL@%j2kBQ1+h|+&>ejMH4p7l8bhHKzPx)YY_gpn&13`? zu*wZzJzNe&$@!Ak96_;J5}y9sg2DyY$%9SP{DqDlYAbIgoaDaYwd^*9eryb^1~08w z+}!IEr~LR4Iq-G$2Y~Qv-PQsZ)ZYa*dFTN0r-6_2`q)&QfrbWYyr6LcOA9P)(bxE*r>dperdPvgVX@u^ zb#MHD8zYv=hiNWJHg`d2hP|vce~PL*r1B7Z&_+FE2jUiRH6X~=A1p zdWY~{nuJFJXxv(4z1l{3npT^r);9Jj?G{{1W)Tw-1{BL+`7sRm?m;F`<6``IN*EkQ zJ-+Ovh5qMiMT}y05}S9o)Nn(3@WU0KUD4>Wz%tD}F9kL}z|yjXTTpn}C(73_ToAUj zgIMyiwtcxl@8fK^8_nFkJ{(i{e+1-4qFA?RJOl0r#kxw$HUZ$4g5e zxOJrp*Btp0@3$cQoOR&|uA*RQjH_G@+t^t#o|xjD6;@plzzRcd;Dq7rtC z0fes?n{i55fLh5I4!QGawp==PGknnxrv9o&wof*ZrF&`m0uLqVDCI-uTZA9JXu8)g zYj?6CtRRYu<~QQcAlD~CJCGgH=9I@f3zq*L`;p^*A^=n`Ssa;6zF?(uQzYgdHOaiU z{L8?E-~6*;Lgb(e>8J@;C&(*M5c89T`YlF~zcl~r!McIPL>z*|-5IYz8_zFnU9M@X z9O9<$GKw`9^2Zak36?oW#0`1H#Z#5$Ix{EaEOujkCK@;s*7B``;b#4CRWs$%Sn|<= zwYu_)tt;;r(;KO==CEz|ED=DlT=SQB+H^PLG#vMU_-^65^&86G;JKTbZZ~ z&^@>VDvc`VX*#P6%3BKJ%Y0}!dKmzNtIED@sQhvBTVE|gco)376DuDLcm zpK&aX+0pc`WUJciRTD72p-lo}3dK)`W9Mdv#CPG^nUj2i=`IYL7RG>1JhEMX?{+kH zz#?%Vx;dt2L?HB)4|4NXNjqdVHcA{fpcgT54-80*cy4_mzWHqvG>+ttSVI>sk5)du zLE(#;@@>wa1dW`}F9n!(T>dtRjuYxpCQVMLOyt>e^$ofu;o6CQ%v{)fE#~>XQ)J6^ zQGD7aoW7_}a_&Ti+2hB~agMKmQoa5BTr)iJ9XAjgHJJJumYjtB1q5$fQB_5 zdc2hJM)#Gt|B?D_0B1(xrO79vPFdtR!U=ssU#*3?#}!m`JX|D0r4H;ck>cN|ey!49 z@z21ZH;xj-E+(w`ROuUyC_x@C{N{AuxN_J46P;|bku!}4k5WJtxNfK#StjwFOS)Lb zhcT=_U?Cf;qfy)1NQc|`aNk!ERV3`XU7RsLU24cOVZ}MyMLGOMXPXPL8;YiH?Oz<6 zsarbmrTe&qg?GEey!37290F? z*PuBUY-8KO99XxY|J{!Vu+_JVP?+`QKQfAB+KRSqwjPBJs%nFd zhvZyM75UAGV|CUMk@oy;h;>%|HH)X&*mthu>hya0hOQG8Q999c3Z|Q6-(WmMFAtmw zGSPt~dihNkoUAvJqEmL%-xAUV@i0W@>+PLsX3byl#!h(EbDqzs=FWfQ+F&@hYxNZW z;o$C7GG{3sM$?(bI2I<>)cj2iAMp+>U&dJKYxOAAUtA9z=_{_saD4R7#-?lp8-6|6 zqHjqpjmbwFu|>0qk%wx@2}_|tXrz`!_bsLNLTxLvl(^1qD>7_f>pS3n4B? zsA&w>SQuuGItvYeVWSm0H+BAiTV@1n-SJ}ceFz$<9c_)JvZ&;^!^;6SQNZ;K^&oHT z_CWGlmVy_{)&{^zt^cn^htQ%#`heEAy7 z`uL2i8*Wl@k^@r7NzHm^b0ZQ@Ogn1)(th~ysCk#hh3b!?6rpF@9Lz%Rf&vc_eb@VFh> zEf2&k^>g$DF%H-NM`NQ=eTM#$zsu#``#sx0Dy>W}v~6E)L}^p{c4ECf*eoxzCXF~k zcTi6GeU{q8-Z@PRNh$xM0lG(mli*kohlD@dyFD(?IAP2xLZL$DVap7T zGJj8SAW(@={*tyvNuR8ql-()7V^n0TOSppF`t3p#m5D#Vz?q$2hMaw1&azeT{S-aE zO;OCF>!6%>&nj)3Qa>NrN`%}U20`Qi2E-c+sYKiQc=**IG&UK)y?mUJ&HSsMil>R8 zzfBE)l|q3~Fd;@SkbEl#r9gMlzPDMrtLRBGUpj8dw-9>s(AEO3ZeTRIp&TphYtusa zAbuPcG@Coa3ZCk5j7{#bjeXS?F4M(KfFB9LpE%}h?-du7(-uNCt1_o{pZp=d>W0K=d@?yYM0mZM6*x+}A5;6qs^%KI^Pf2jH=`$F6>@ghSYX zlR+GS^i{fBGq{tU_u64Ct$+hKqw=GZ?QY=OUZ7MMn6%ci;|wZx0Elj;`%sw)?^1{ji_7R2dc5C&br6 z@9jvS^S0b+=hE50!cJ{YiixcYi!SL`%)+9>&X{LvtH}22|8f^$(LK1^GeGp~Z(Ra> zz68gGe6?JmChlh7EtMrM3cq(IU@js+g$qcZI|t zU#U0{N2R@ataAc0joHt{fwnCF>D6f|)N6FC>rdpTR#S!gKb$~cXqd>ZWOA!yN-Bgt z-c~x&?2SfAc{BhDWNekcrJ`3TAh0|tW}3v5f4R&J{E6rOFkgaI1AHY1-D&cp*XM=w z5L^U5H3eNK9wluj6#4<)i#FLc0J$!K-yS0(8!jN@P9+2lD^BDt^Votnr1U1UU9?WO zI2zf9MW?)#1prgAl7058S@k`#s?#H0*IsOXVvpx1+t?$00`38`A89)HgDB?7&O0P~ z(@fnK+E)(CP8?p_yDD3YJ_ozb7}>nWQduAyqQZ)Cj#ymrjXSqTFFahyNwkal9}5u- z@p}|nN$y7n^000PzSwWZuLo51{jN+iA%6`(5%ggKboS=}kCTG!!#1*ucU|C_Z~L!W z#}(XYWQA)5Fl4%qI>GkoSCwXiJy-Az=w0sV?(`@n>BHD#i#)*H)t@YCU2UK?Q)6!* ziG|#YA3>K(Rl0nUl36SCI_D!w~t-kL%x0Z9A zmq&7$?UETqx4xs3@>=@w@mxB%Er_-)j$(EP?cV;q77Y>tN;e3oAl)qpA}x)ibW7)=1%nhRY3c56kwrJsDc#+$*6&)}-h1DB zKhHcf@67w3<2a&MoY#3C-_LOzSkidU-%pK>9C{>(pgsmb@F~4Uu;H ztuk)#3dIdhoh$7JuGYp~ZLh7R{c9)jP8h|<__V2|@VQuu zr3NUdGqKm1i9m`g`!i}nuH)c+;;MK7k=4u*jQ7D;M#w)M_i&h60VT*R3M(hc@lz7O z={SySn|stm{YmFRK{BN^toPeO>ymXwNdj9}KKh}2iX8*rz_*>TtQ#1p(Jrk2w1r!F zC?zy1qxC6%^Pxrr)ms@yl1f@D{C2%dtM^m8wz1j5n`~Ax8><9!rwiDSqW0!e41XK% zT9h=NW>`t|8Y7F+2m z)|q`R^lgiJofQrW^(FB5g?ZiE2oo_migA0nu6p&x!>ne?;}F?6L~4U0F~rEwd2^(r zN0^0F@|(+8idJGD3zIbDnrEh0NOis}AL{Ng6YLned^%xZ0Py@QKxhO{JL)u`ueSb3 z$E<_>D)Fi6lV{vzPeDLUUg|UUKF8#5RP`1v8uv%8506G>!?=E`K=R72J1`goBCe+S z)PviUyl~ynhM;CkRRcJXp8MG(mn0$cIi$A<_t&WIe-i%0_)=ZjxRTudVI^Z)Rf_c% zF{?raJg7nyinmNlt0foa)zc_O{dB@W`t6)3+6B<`VU>Q9>ItPk@1Iw!}f;PY(N=rucTY-wNQQl zs;2oh$}GSmjg%OOeU<{r5V#;FA!Wv$J@vp>x(^D$IUOBpS~8*0@pm|;Sms~805V=} za7AJ3?O^4bryU-DmUjUlQYJ0P0@URhYM)r92?-3c@>fl>Z8)ogMJ1u+>GRNzQkSmw z9>*nRCrL62YjVZSjW{=t41q76>F zTpWHId-W*v>5pwDg>NPXP#{x8-*VirY%@EtXRl#jpXt?a;PV-a=uayBL8|=CqULff zu@`{pQcF7YA1*)Ltq~~h*Xl!Id_IWdlUiktZI)!5mdGwYL9))^NE~c-qneAyFz@JC z>ZCJ(52f0&&+Hksw1|)xbP>h9dXL}o9+vLnbC9RigTmh^a_LbfX4W!AzIfEj76*){ zzDWo}uAJ@P8n+voRS26M02?P|fvwz(BhT+V9~cFI$`{i_+iH&X>8Bn|YrwKEL~CWT zT~r-gR6YF)nvZWFPdUCt!+$(^Qvz_JKi~%*k^@h_bOCC%SufF~`vDLDTgf4@$j>_l z5Lm(fN-Mpn#JV(%_4k>O1`t_hJs#`7c3TDvf7AW>RNuD%fmfcQHDEo7QR!|CuGD}p zK2gw$S1AEd(zG5hPd*`o9xdte^iU7`kqXV%BC2Vs<+-oAeP=+N$CkYLz*U<6;i%Fy zQ=N8=uRFPzZS=MnHshVbM~(#Wh5A;OTxVGs#Xm2IAZ6^viOnP}TD9W9uf;{-&aVHI z^m)1rCbT{OH?y``XfM8-0zH{qbO(pBgTS2NOu)z>kSK4>(kahXFBu+aw1aye$_U zY�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�hN&+Hn6{1E8QK=Kv?TPN<)ioc<|3!O=d zI37}n{yPhR=M!+6m-O3TgX(`I6aS-%7m^?~?&f@{=gz2gj&Ihem(xtXKhz(fZeR$f zcK%pxUD-<~p}NsxyO?t#oAWXnIomvMYY{(#&8gD4WU@{TytNqB!4S}Z< zAJMK>LwvM#8l^HmcNZ0HQA!sH%Vrm(m1tF{nLWIFQThW~r>(1ETvwlgb5Dph0Gz?W zAl!dp%)qSGa^j`SsrJziO3UV z>wHh3zbD18_Izi!f`u0-dF3%K{Tk1HGO8$4R9V}-oqYuqpu(QCUd2OptqlmnV`Nw7 zM|(m$P)L5@*7BX- z*ZChU%8^gRc$3^c`NuSVB5l!H8uqNV&}Qc$R!eV^{iL1dd~S_AA`C zdOu8GtA3E(@AUKHf<^2!9(RY-zZW?|@F))F zt>knrtW4UA8`CmFFmOP2MKD^>9o#QS7$If+GuHWoi$n zd8J4fnbX)3Z-y)}aMsPa#II^NEOP8_MtP*s^Ku8ZB>u7$&<{NmX;nC%K{y0uW(hjY z!~G<-FfR7AIX!w-yt`Q24hGQ)nVtrT+o{nHs-e}3xAV&!M126YD!b_r=5J-4lX|-$ ziEsb-!u!m5&S_BkB;%@9Bs`xW9eLsp_Fs z1?)gm^uW9+mB~VOKE=~boP?TitLpjW%zxacd*CEk%6<3-f!R<&Sy=jBG*|-&Ke&;^B#;jGxbWrORuX6&W)n__7>>*Y1)mK@u)au(cn()~7h2yIzVq;? zM}QUxcisIEi9o?k{Cly2%{8f{&j_hVzo%%q1^`~HH=13%=q&K*tKUsfk9!gzfkaHD zPzSEk!`K4xmDw#4tMcw>&17FBg~qT}^W(!$qw~DSqk>+HgbDqNlGcs)$T90jY1h*s zS9LCF)IPh*rM!YfJt}0vf~}kXvF{569nHEf^EISmv}KN77d8@QCQ8Uiz?Jpdc<=pW z9K?3;`bDkwD)A)lfy7G`i8p5OCRT3Gf%Mrg#^Qsj@nV7zXC+tIf_Tes8H#;L@QQLG z9{5K>)r)bSPu%H|K=6z1+q|zGy9haw=8qhS2g~mXg%c`K(IP8R(u!RSV|c8#(H?cS z>4=)SYuBQy^h(iS@}Z=M<4IUOXH7hmp)u2U*my~@K(SY3PPE`|Qb_`*qUtQCxKP1M zP0|pmKroVxs_056O@||Z5&Rqm(LFu2NB;az%{2yt=Gw!BTDoczoj1L;(3^8eK~|*+ zq~5^?%2d$7igXU{@Z6OaD8bGw+J3+fen*ie8QEon2f~IlvFp8XyU7um;KdzSYAXO) zwnwDIX9SS_vj1ZDomg6e3bEb$h6jEV&>lGLY?a5gBYG6eDf+*wk-YLpMcF4YDTB7p z*k(nf>;#Hl>3eWffMI+#3UyvZ_%>$+BdnOe82A;kEgzzZt&*&)h;Hk1k8m7t!19=Y zgc2`I{;;akAqe4Cx7=f%68S!m-xUx^Rx47l&X+GPRW+&DHvXCW4@ha_Sxwila<|n~5$iLvG8GFw z&2RA#%Dd+PAKZ*J9kUH7$UGbrspj@s?gaF91D`tFn+{XZ-|C|x1VVg^SEozmYf|Yv zpZi%}^q6SMaH6Oq3|Q+*aLFI>uqk~Jok(V(mM@Bh;PPugMR{LCLn-NP2(;t@d@F%P zw|1zxl4C>b-awo!U@BOR(bSK!o2ySK>x|>I?24pyTuU(T!SlV4B;_&-g(RrLfJ6vc z<3>bBL|3eASk)AuE7=GGp1Qu7WB?#22hhGL5)$&|-+pI6WpeCp%|i1$2Ob$W^SX*K zA`{f6ZZ+1m1PBZ*%?A_#nZ4#~yE-5ol)NeDZ!%R$?6%SdIC+il19bQ!p}kt;vd<4i zJ1u1DjUuCG7dvP6q^s|}*$=V~b#gPm zSKhs%~)Lt$|-!sVgOC?8LwSMOX_j(U$sD?HtR+X@l93?v&6hF+an zSI42 zaxZA6JNKPB+rGdc{6bm|h?f~}u0sqmx3D6-K^NW`ZxPIPDVMY64PVhWL1^mW+(7 zdS#(P_s06PGj{TBO>>b5KIVp$6ouJvXb&}Iu!%?ZzxF6Jtz54V99UNWWE^fi!Ll(u zZ*wj`C}g{%KE<-_rY>vlmzSPZ*D{7h4p(yqHOV96RQItXAk0;+Gu(Q@vP4gfrKoCL z=lKOZQ#SfUX-4|5EZ!H=Gd2}rh{~BG;N&@bCA3{wu`<0~9D_?KxME^h`-j(TmUn)k zIQC6REx67Q)f(IG3+b|M{-Qk6GfXYQzWVA^PFy-cd1dQ2u!+#vvl|*q9u?^^&_tyh z^8B_p5rX~_bAEPn$9~NxV?c!wNAthO?CSJ}T!;BjBY`kMv)Sn4sL)%Jn`=&~Ur*UL zexZmj(TK!;tB_9YTuw_qmB>xe_xdgpj`pSIxW4Njh{7qY zpXg#am81ciT2AYRG>j`D@+6{i*nqQ{czfWM0)_2+L8WaXQh;UqYtRh4vd7BfWtk`e zq;l62!@u+VMm1SN0`-?4bV1j8QAqfl|BOf%r``mjS0$+-6e%%4k>Y|Q!hkUfDrh?6%##KS6obmjPK`Eda4uSDT2r9jC@Qp zL~NkFv#RsCIqJn7i^Yigq4`2q)(K#-+R#;YQXLi4;*Gu70Y{5ZFGz z1B}-KK#BMEiO^y$_^6L-5Wx{MDv4g2B-g*vKiM3W8Q1r+-JH(a=CqkA+z0f`IDikF zr65!s8j5e4KXw_H4Ua$1UpS`oKuj)xxRL&nmL0-#=VJ=mt{t*C&o3YI{^G6%<2isb zdK{;w?9dgYVG1PA-Ea`w`Ae`xe^gq)7zOyGBqUW;>3iSx`L<)Km+^gsDeljzHuU>G zJ0()P?yB&o5LWa96)XIXu}f=MS^zYz{w?@EIP&=smnW-SFOGIVJR@CbRP3>pk&;=L z^}<1gXrV9vcg(|XnGw0yU;SbjJb!)M;JRaz#gO7*)|qT!*+Om^HI_X`%s?EqlKI5T z{?5_NwT$y!Mk`U6cso3&cXrS$&P6rL3-tBZ%a1!=4Z6P>H|Bwu5Uww@$81}Q$$~t? z`KB5`Rok%ZK?@vq&4aakFM-cKMfeZj=W~gyA+VP6E_9n=Z=_UM828+DcnAt42dNG( z=1}IhHMM0)V1JIMIeI8lw4j7-iye1AaLlkBz^-{t=B{QkTD)P^KmPXYr763iwz ze(;!*)=P0->A{DrLw#;JB=xq_X?GT|k+D6KH%mqtw*yzf3>%N1o9AV~EogT)zO`SD zPJ9Us31bTNH3ZIS-U1jKfQ43c)nifTcPIqE>i>>CC2YIhsTCqCEGc;l$ZfwgbzMo* z;Xq$u)iN+fh(QRrh}iQf(>T3MAo{c#89wi|ugBZ6M#DnsWDJ41PTH>ms&Lf=*wFwH zOd72ym{-P_H?T@Q!XgLodQ3)HU&=eWc=5lT8cEl@5_0sFu_I`Ftd%a%tg)_4^)X|F}1_?0-On;Drgob^!Dv_OtF})y<>PMR7q%8 zk|`IA5LCg@u(V%LpT*pFw@{Be=(j(}PqcS;Hq9cx7ZGetaoiJb545Dkgiw)cnrN>l zU1g8>>K=cb74j~M9xAjF!mej44De*@iTMOUau=*Hr1di&>Vsl$iFxIWCm zdHdr8FXpLS5>LUlOXMy)a5O{7#Pfpy9%mC+?Zbmo;Ze&*?4}76FP@UirKn4SJ$W@5vIS0KE zlTJ4w_HK%ZXKaV*-fUg(4z+l@KOj|F<|JznMa0lPse$A0&Av0O&vSpnms?S@5nn3# zgH}y8wqQ;_6oow_iPZO@ds2I#(-(4hhvOE<*yHvCK66Tl#nkT?jm4aAo~1Pbfk_(X z*r$OU%62Mf(-8tVoFxsTQhzvn#F|w^2wtftUH&!`u}$k4c3NbGOIr19Gg^WETqPR@0ZoBR@uE@m zq^>F5k9PBddD!gk3n_qzBkcdf@0mTs1JHoA9iOWG&k2W!)X!f^3)yH?6|Hxn0Ev6e zR@m@gR6|6rfon_B?nmvO0>Y~ag#}z{tWbPE+6Zx}_%Fip3%!qz1qWn@l%*ROCoEmMR(k}!C(N7g=iFn%ii;=8=~>|izCqdc zze7r$sYp)tX#A*cy%kdI@5hf?(=QxEaqg#5bfN$%Ge%OxL+C%Z*E%RWJYIrVna^pC zT}IOQ9n$hU-g@VZ4AUF#Ku_6NkMW*Lrz0feUY6y$|_t zC!P#QCi52tIOfv_X+pCkQ)%8W1Igg8b?*Xk{pEg?y3tdR8N{WM-#iJMsUF2~=Ukq< zT;vF;8I4+pB%ml=d^6M(bmM17+xOl4UU^8vP4zHRrvnk?_xF*37lpmH|7cu^uW*-2 zt>qnM`vg1#@4%|XWZE3sM8Gy~8oYsN%k8?Lf16W}&2>^)V_dc+G$q}Bpr{gIStLdk zRH^AVaNC|?I5|qxEciYONA?uI=o|%dr#OeNFbVH|kFfrL@@{r-zmBFO^>wA$f8+j^QTN@&BdHMx>qUt&~h(IEo# z`mqLpUOh{)-*Ik|N`x?zn7GGV!s8!6TiX7yWhjsaWl#rF+=4`asmK=@wC|r8m?Y{I z%q~=e{6?}K`;2mZL8ejQjJHd#e>JSdCn;7z`o%6CDsnp{2HAdtdZOAHIsY6K_J%}O zvuvQye!};Q^cN^100YsJwK)6Ki?Fq1Bvj;}Wan1V$F;T*)^)#`ZS`lg%!=>u(gZad z+XA0dv(L|m<&YNjmTvudha@#3Fkx;t*B>uSshEM>mFer7kk z2HD@-@>_Es+{p9^yMXdEk#5x7)KRhB+1ecY2s*!D4tHG2-McgJpIf&r1-b=khs(>z z7%GCM2D`t=Yx)Jhl@Rp~i5 zp)rPv@PXZqdBw?4>G(o4X3I{1Q;HbguA5Qll9B+|&3MQWGq4w3{TlV=$%z3A+inZ9 zt7`ilr2J=b8UNt7jZqy7!00b8<=KX2=`hO5)HSPP+ju^I9_LyKx1xR<3?_={84n%D1# z+|8c~(d+j>TvkGslmzVzd6(gksD$YG7!D?bXTB{rzJ2m0C4Hw9gY~jIs0Sa^hjvkSsG+l5aO-p@Q2qORo84LPOd{OI9Nl+COz@A_NYBaImo*j5IT zg?e#?b_^#FdR8LB5QEUOx`Do&$8+^AT_<2 zkEp?-YW;(V@I>_?4w8oNY-`OU@Jr1Y>zk&oHgd`2pLLj@$bDfSM_feHyP8G7YykUotd!6&_ z+u8PjBOxuXGYdTzAI^gT_GwANClm9FUs#te>MIe^j%{f@_bD&)D8Bd9ps^Miiule23cRwu`g|6uH)Uv z@{`T_FJ9CS@1Im=4RpTPyGc8BRiysgSPU#}m7*x|{mWI5W-s4E+{n`|Z>7iB20S$1pLkb+Em<%PRbZy_M95@888k3Btao{p4h<)_U8j#YpY)_A^vpI+TI2ER=P) z%sMGl(828I$8e~Hnlc))_jkpw8>v4-$sS37QKN8Q>-(P@EL05&?l<;6C9V}-xMwXk zFlW14b$;tGsBIc&3>6j(B-`~#Gx*jz!UDH@XOjeUl{L zdPoa7Rn*7`RpVvqN$O@CS!W{1(U}e(qmls0bHVi7@-t=q;Ut|=0*Y-^YEy(>9Lp4D z_7ywBV1rzNMiKM&n;5bqejq%v-En7BscYpU-1zYK`{PXWK`NY!L(ef69D|D=#4EE- zgE9M%eXnwhVYlLRf)>c-I#!13*r?dP_`?$y`IpkM;8#5#IeeMYOs3fE5IG`ki4q^#cBy{-4 z?tmI4^88fV)y%uVHrWh5dfv4?Y^^zAVleQ4n5%i)a+?x)gH^QGAZGxT0fd)Xh3jMfeCo{xlfPdv06EtYg1O#R%` zS!I0)K=(RSo*T3RJEiS5JmQ-~0d>@aF)cuVjU&KOc0bhAjjAx_X*CzS*5-O(U%#2% zC`_-N{VuQEQHG}Sqhh<9j^7>W4Tk84oO}c-e6K5aAzrd{w-CnmRPB{bm@^2wm`6r?k z7Ze0LfVvE_Wx=C->R-0;>zxdqH1#3ma)X{y9iD3~rJ}Hon)wi^GB6|&MuB4CUB#x9 z150ooYp%izuw^Zc>52_QOi?XRQEKN-sY(`@W_43Vx92GO>&L2I`1HoIe0_hs*7YMo ztg@v1-Mo!<t~rZv!^w(1w*Gmij3j`9Eg3gy&l&r)_u&@co47y zq(T&p_`cagp_O?lw}KVy_Jo&qW4RLpsO)$l<43;sB4YuyLI^$0tv!YF*#*9Z{S1=U zw;ccax1l-nL3JZSct?unfB8j$CmC_z*u@1qqo>-47iVCaSYcqjVuV*QsB-JUMxmiz zE+mnP;7;*sQxy*t`{4R2g?jWpE}r(SBH!2+D_Y+TDFLvt3M8=Q3KrephUK@C$vlYG zjYgsZ{KaY@@ZLpv4d|lK4fTqL$Tn)>H!5{^KpmGUEGglrXC;SQM2`7QvyFqc!5dqS z%eh{-9#Iit)A2ZYicM8~7925!&;zoq94l^Ny@Rk9W_|HSCCC&&g3M0sa=0Uu)SP<; z`h*Kpjhp-PEduglJ+^3nU?-p0rHV|QZUI!BsgF4rT@bqSQ1idzc(dQOA)@+0;e(YI z;Xp#VeSnrw+a!~%$0|DBOoe3ksc@%b54Ydc#22;)o(^Bw2xNh;(Fk)BYaZlp_%MxJZJh=j^nRJ%Du<`Kn3a4|bq*L`M>?XMJ zcrB6hfSc#0g?psO?P^w$w<3kG>h0T(PY)e0mO@H?E!VW%+9FB|kB$IoYi;x8gHWrL zgjX`e7QFYA{LvbhNw)0#5|!1Bf%v*bMbHR_d=R~@?#A2MWt7D#$Q{w6ulOe5*jcdW z9oEICKyPm#W8~vMFA6buCbh)Vf4AEW!SjS(R%TKsORcZia{9HO$3LJMUp<$9w$Z|! zSVDzNfnNE`b2-5j*yeD+kQAs7G zk&^C)p_K0KknZkb=Gnu2&iz04i{}-*Vm{2?``XvFertW#3hP=khlklOw?<|mbi~DH zk+rYTX32Q5&yCl!N8C#-_Pze`zyLyN^zh=KT?`3S){a*YmoT8O4^L2a6WEYsalBNU znm&HX2lVAJX40KAk`w1MhMnz!JlzSsmn3LDSW;pvYG5ysbHZftd_sihwOhDF2*e1D zENa2k@5Fn*DVLD7sZ;!WPOyK!W$QrVbz|aev7Dj1aiRIugC_J&kpCnoaUnxkYDOwb z-o5AL)Cja+v#I!<>Uc+h5J4qmQo%wdR#9c@UO_qxeAt)P` zBQo|sHc_qYKM3hC-`-P&X7fqvWj}WjLKVL3>-Rv4yc6rmVQk|!;ekhGKx+LR^5IRJ9M>%tdd=U_o&cDadPulNhrG2ZV>Mw0@b^kDe&%9RMxPiAbUHHRvELwi#lcob0}E;&_ZT z*bUJYR74zH)bu(j>8m{Akf^kLV)(IH_C=63*Akb&ihgjhtO(v}f7f6TYw)UQ!kgcs z5%g-5MubGC-=QQ!EW95uFImtwIoG3=6$rtXk2SgWGtR`d7NF}1%;yKr#Q%kc`HSC3 zfV3hX*~j;IhS@Gw4Av-*OPpa25EvzaRG-@uu*Gi?P4JIGoZHYsK#hB0pwkEF*BH0Y z*+~dANhcnPZb>}Mn+aA=9D+9O0?cR<9Xd_P=7ztfAx=M(*;_mSpOZ~CT%Cy7dG z%=QV`u#!QXs|y$WD(FeYi69y{J0SdJhfqgNXXOXlQj_lFvK-yu;*;PAHPF7QUwl=+ zg#&h!n`D|NRp#;Ohx-i|^C=JbhyK0$bqx{!c9T!_6RvdaEj%~q42r!ni_=LtIABsN zIh52W%SJLkk_}ZX%uJ0|v}famMoMV|&S(3Mc<(|% zARN8!bj$ShE-C~ZB@0PdSUKBaVp6UueY5D0u!5Q#T~i{~j_!BQQUmq8PGePG_{@yJ zOcHVC28$tz*Siis@u@jW^Ge1Ud(8V2p8-?dEM3R$XSPN!p`n4Lq#(E^Zvtmum~YR# zMW=+}Q_9J$5s`pNVv_q`;QQ`w#kg8orpI)eK8l&AYzIymgzWK?4Ws_t$sqOI!l_hc zXZ|UBT`CV`2mSv()rPD%F00k6`Yu?<#SE8!p&RstxfeN!{w1fHdl(zS%n~Q_A*W?Z z{Z|A~l*yczpYi1zzUSpAQ+@fF?cVpUH>S+|r@ih&#^6WRGpD4ipYQgz1emoO!ts<; z3NE^U2qMNGvj}kC*8pgnJ?GpXem?*gq6569XVPK3?dX2<9}Ucj9`pPvl(eeQ zms|^8)P0^tHKws&mmA4fRCN1!4!Q^&Wy_mcYUUh`o{Qw==YIoQgr_kgLgoNI7zcof zPXY`CHtaLuTAW_zHYg)iJ6b81#K#(hFXzwx&|-maczgmKK12{jG_tnc-^L!0%Bv*M zn2@18=nePVJSxfyyOxs%Annl#tyn$!(V*;x);o2~m0(!x_Czr9)4yC4w@(bsJxl@D zBOS}ZFww|b0m=B~{@m-{uAQsDXhz|5l)))&Lpd_|{ZqRTpD}CR)h8&8-lgl@cW3tmdoPCrmzI2qRI_*x~mh)31HUQGbZ$u|9o3wFrf+=?Eb! z1}^jD6JN>*PB)hw&MqRUPU}S0hCBqksS{uhb*cJ#sXGUrxq!A3~ISF&VgA z$ZyCG0U*$`@O0B0*e0=nCwt~X*lidcC+Tc^l4pR(qrNE(&&?%kpP%%_MRGbA>Dei^ z3|%u4WRL&5dScGJKreoANHD?%O>`C~QfBvm7mKvYDu@Vm8L&ZEiPohJX^oPfb_*(9 zf8L_fKCma?e3k7lfZeRXmOv*ys+#{H&0D z@*5f9eO4gQ1*By(ToG_nvtL4iGge;jUg%^@5(hm|`0D3*gd8w^9I9K3Vhg=2oA>^{a7W8ScqE;SR<2!X85F`SUpcYsG+YuR53ErSX^n^!7|DwDqFD8JT0#uvdKytN{0< zZcsw9?SRk*wa(kaUnELhugUbD0*XV`G0K%?*LWo50WdzpLZI~2zy)sdUMC9ynPa+J z*yx6zNhDF()k@HM?Q(f+%)6}uE#=OSlAObiYy$>^D24h9La3KJgNaj<<*kpudw|-N zH!k9+))U=UXgmXiFnL`8AkkU zLu_#lA14xi+j=ZK{93%huY+lz6f~sOC*-&Nii%xs0}Jp0xT?6f`T6N_fI4%FHKq0DtJ{~gws~UwuLZe8yJ2ycjic$Rni@J&cnjMI)C$s67 zYwCM%y>3-D#}Xe*70tF^gqbnJ08AV|3;;%J-X*K>4SdejbWHv3lY8{NxhuH^`fEMX z)}DSrJr4u?bUg+hV4y&-aotG`J^;hy43FOZU*9*_MmJ_q6iDw;$VBvu#7P44nH- zBS1Z;ks9|N*u2c2{R=geRl-GU8WzdbaCkas=+xfwsW@nO-$yk7=;6+mBg^+!Wo`1Z zXUAI~9GkFtxxCouf>BW%zaaa8$C|?N~wSx-0x0mr?B0| zlYxL?#P>n(4%$-1Syf$L@su3F;+*Tvk?c?*KEc5yzz7frr0#pOP5NWLo$mZz7zVqvXPeB?3O2em%epFWjvrxIiWh8+Z44H<2_o1mL z+@GTWH8l^nbsA#+J7u`{0ByByhvHY?R3;UPmxtKn^u?jI<}Jd2*0gG@srS&F%&c(~ z1u5&hXShsKi1?MmBXPSw)?C+kC0x}BCm6eiEm=eo(omXO?wAj%EfGt`vUUH_6eIi= zylLjsE%JB-e(3yQt${s&$FXZM<8AbR4W@%y%yT3Q=)@xjV@cE4o?DY|@AjGL3Bh0V z!)9#q)f;aoHeNRD;`w3ZBd&?ZTG#;1t8^eXH$~i*Mq%vPxNK*-1*VQ!HE;Nr2ThRUc zbt{10J-zKqnwRl`vv@fRfON*%F-G(Tcw5(nU@#jo>_=r1k-neq~>m*s=JHaZ2aV$;FtKAZg}EDZK?J1&o< z)&3|T(xi3nJ2!Md-ox}*B{B6`47)*f?HU?0mRzp;rw`kZirXqrKYF5`nuWyd-pzw3 z15uB%i4v|rNRl!iOpUz|WRZXJV|ctt$8A{wiy9$dF+}eHSY=ng(CNNc_-@<0k?OSy zgkQ_>sRf4!7m`HWicxyroj(>JFqj;21Ojd~*RS2tOtX&zCUu>{seualup99{~LXEW#A9NMYS_`l~5ITUD7$RRj0mcg*i9FN49>5j*me#S~ zT?H>GIP&81kl3?4&EU}vN?UM%uXjbS*GMNWbwC2l78cS^RP_fih(IW&J;=|CYsv|A9r_!ZUC-)1Jw9ig!yxWUfCoJrgg$ zt*l7c3rpnKrrU&J^6aab8-D8(98Jp^hMu-x8l8Kk{U%3zj=U&|SzzkRV~RlSs)|BE zHLD~qnpJ9yNOQfvgppV4?GPGbcqRcge|tXmU$AobiD-l?^Q>5*E921kNrQT|@aJEP zYG^n__FQAU_Y&|-r|&Jq4}{rx@&b1iq`O(v-DO~>w4DP$)r-AK^dvA;)RaP(wCn!% zj3CU_enOQdvJdNo>`j`O&*^fqXm=Iy?7f6%9sbIcf@}^a?EFeZTO&PE$H4bG3kGcA z^KU{GO2A?FU4QXgmo!r-6w_3aFI(z+lDgYXogn279Y^$~6P0;S^)y8YxJ-WyEt8kV zvIRSKbU+LcgA;xL+e0}*@Xx2JYgy5bjhqP3!1TI)S$*CL$s*)#Q+f8TFI0dJB<$<8&Qm(NX7q z`9MAj7>j%vmfsbz4fL(l(aVGM!(JTRSP(Kh?1m+?txFY7hVfbCPnsN zXnq#G`Ay3oL)YOm++slID|vofZ8LmuU*uU@nNOqqDg?O`&%JU>!Qbl(bSifF`D3gC z%cB8xy{bm`?Kr``NuGAe=)fCFJcaS2p;g0{krqc}4!S+DX8e#U-FrCG!{{iv4#+dc zxzfrbG!wa_=K}9#GqA%PHf!Hh!09j+%+9M8u((!t*DgQ=w%|%9NxFsohleNFjeRK? z`UkcY0?h?RbzBku4r952r>qgqW8It@&jkQ!=r$==^BDU3pg3+1HEE*hW#3NG`ceM+0xI~~ON}Pm&RVZ_!xfmO1{O1O zBV?9A?IzY_n)2kZF~`P zw6RSXywd1LrNXMfV@&z3Y|~rv@hhLKk)d#xp4x6O`TG82^Xi3g2MhQi#DLfjBSXcU zZ-hrW;H1@<&_0)8;HF2tV2G^od8gKrZ4);)7{f~-9IPmv**5U#!pUkNWvqhe6fP%+{7K+F74;-q$uH#ycGc8Ef06k%$o60$u_8O}AiOZ>1tHoVv%d9g(SQrkPg z_fv0UuE)iseBFX?8SBb8rg_i&8_}@(0oTPx@)gF1YMh>lu9$z|0iO|pkA$i3r7}jg ztd)uzP>55IwHiGwtM06=5hlGHsy7bswX(7{8Q2v<>E|1^;r|KC{w;_$yaLfIUqd}q zukA)(^zUX${#0y3z)i9Wd`dbRi+EMFdjLw+x>7G#UCQTuX!>ZP{*Sf%Lh&h3+E|2< zo<}-gJ}_<0t|ZS6^0f#dX^Tfp^2o%TUA;jO2s)(F%?0KOS3kayOW`s$=pK4>sQ|rs zOo3eV>YYN)$fbH%ytq1p?mmMe+M(*l*4QP@?=ipK?+?n5TKCroY}8atY(miL(nmA( z-)_j=L`RvF=nGe+eMdgkjUIBP{S~v(HhpjV=0zM(65;cZ;qeSHRL+mOhbgf3k1 zi9U3w_ui|uPQrO=C18oUjb#(y-$-%1Z7B_2@t5{9>LXEEzd^_(E%o|3fens5MAjtU zl+4Ri+>GfAee#+(N&P5ot2fiW(R(ALIyBlLLW0PuyZh|FuhflH%c=V~@u#nQeSa8` z!!pV=x;{%fGvB<`xaRg1ucd!TYGf4ckUq*}Wj2UA(dn}BH;$|Dt2xBB>DOu8Cv7^%<^8NB+}Q zSriCjbrp_pfajo8P@LZDFd~MnqURc0CvtQeo=5cCGnpmHo?D~ul2T6XrJ^Tpcdu8n z1_?v>uRHwKJ4jui4dB&)x6Mz`C(Li;nz=3#s1D$%bK)Bp=50xfsR&7_C)&%i863EZ z8^8I{1uk!u#RaxA9`9A$u5J-6h;bOvNtV%6{&)o~5FcvCrpXeeT1f1+C5+^EjVs(82v?SO9w1h@bI z-B0k-v!;&(*pSOsB9pP7Z#xRU(RJhWVrUYG-p=MB}NMW5;IJ81X3-jd3 z`kKnpa0#JT0un(d1R0yndC|o*RQP*d zSD3oVO6xsn`&=SIkeuqfx!4&e9Dy>!{O!ZFum{%`N3Dv@h_Ay3s~;Tu=ptLJ44UdY z2=V$Jl8wKv4BjT(e2~*^5`orhJ+tsMeE`cesfgRKJj^yCf3OxIsh@(CaP-~Bz5q`? z`z=iH;WyYX&8bJ9qaUAbc#^Dyp+2W5$Zz3i%F*0bnKAphCLpB_pf)8aL2zNU)+5qI zju4b;`7%ho7#_$TkJz&>iM5B`7=3@arN7qj3UL)@zXnIHw36}O%B0$Ja9NH#od#e? zi44*RD)?+!Z>k(HBf$h8+gj&?(R)eQgrU4dvv;8&GQ~xA& zJWg!u4H_xxzrQfx$KHLk@z<(3nP7V4*DL;l5>oP&YkCb77Ru&i;Vjx`l7&DCX?HbR_NS^iJkm7ELYsW4%Nuxfa z$lni!m2SF{=3h8Sd$SG`e|A~cIZZ1_X{`L!peaW^U%kkpc&E`WoKo&(!hYk)ntz?X?kQ4?iUSmar} z?hoqiRh`A_xV}`L*_o!pHoS76zIfUy$liN}iraRkvi!Op;EVTV_%XbPUmjhNKN-eE z2P;2Kz>Xw#B8DmID;(;H{k)$6L34t}q(hs?iV(5aIPR5HjZl3Of5Q}3( zg;?9A0Qe5Ge7CQ#m;{?xeWDn-%JBT28fD_69sCpXT$HPxYd1O~{rY2E4rM-9pHQ_D z0hDibx*`%`7=mNAXDR;Rc6MeOluV1!jI#MuEm$-)y}PUqG#WgmMV&wS#n7w2)XmxP zJ9oe;(_{||it;Ab`gGMgU^(@&>Kq1)p=7?gC_k7RNY{ONay7FKne*{NO-jJ)JhOcM zyoqFx@+&QwON_Ohs7wTO{Zi^G=8+iuu-)-u-fi|Z4Uu>?(b#q?3nn#sg;{?&FWqRa zQv6*|8oJ~wv{yO08mD7dCVcJ;JvnH84oD?MjX=#pz=~lgdvz30j-puay2oNnOUppM zH;`F>kIibeuwtNmoERw2dRPpsL75-wJFbmh0@0Gdm*-Q)#{&%q2|Q2iAAV*ec95iE zNI{wl{QCN3&d}~q1&6>Rm*JqJX>|DOq*w0#u+levAu4(L0_ERJOr`RXHP}NF7`)Zr z=yyhME~*vD{w?|`VSa;m4yScPW3RIGN;r)nqYzz0gI#)##}A$r>f5IZqzy$0u44!!z>+=*TTKn%Q51Q2ThqTWh?6etAL%9$K}`+b!_ zxf5D}2Q>BA5Pq^Qu9J!oyS6Z=_`m?BpE!(~HE10Yunci~S&;iYpxRhZ8#_e&mxVOA zp)BJ4zU8LvV9N2+B}_-pV@74-e9vL*4L|lOxmERj=U>9&PTUV~n1#{97=d9HI{M2O z41b3sY^X6=xX{)aB#92Yu}{%e{VOTNNxGmSc;Y009n|rvM7Sf7aN6~?bAn>Rws2_4 zHSTjYM)^+qv>C=GjFisp*k9M`ux@DPlH!Y5Ac2 z)7_(`jfIwqozgpxuH23DXtDSK+yTUXHFW>p!?D@m^GjNQEUkfC}lr=r7|Epb09 z1g9;Y|1kXSMHdM=|4SG*D-6ae%BqU{KQ=h~QoshMhk$6PdzWX0+5ZZBOZTZ>{+?um zbmWU|1oAt##nQ8NWkIitw~l*jkv&zJBWHgMkWWMN<9frG9`%$+A!Hd9QdQOI?z#&S>J~(Or>^#z+p{hK?EO{DTq~=YUx4>PRTggBwWY%yrcp={O zt}sE26jQkV>&UwUvCxGFdUa>9OEvDT(&dKx^4}rmIgQ*`&lLtA^Z@2w-3d<4O85IN z`*TVL85f1rE@S;b0y$nLavx)jr{ZH*A=PA8VUqLSH^l*HrFU85StwEeWysZI9J+VF zch7}4_}&L4QBwmYXKnZVN0x}*8wt>Vk2P;bL_*=l6oL-vG(!SF?S^&FE?j6MnE{9o zm=1iYo^Nm=d)fEDV&T`(D2u|9=?e4NR{ut|B|z`{%35qOm4g=8HHCcppb-~e&Uz&5 zME-F3{l%iDzCps-#dmK(`qF-e+_U{*w?R=`uI(afw0y_dMv;3K2aR)=x%d)cPN74Z zNcFcFMEd^I4Q}>MytYke6KyVl#8XJ-R*HffOiZJ-*k1y@QwAksa#U5k*o3>(BCa-; z73If=>o5LmFfPpik7eH$GM?yFr*FLPD*zgohzxuWgeAU&ix((ds5S*m%{YGaD`I&w zi(YyENenKlTM7oO+UV^~>E}{PY3jrbOZJm4VFz;CSey~CJ*5cLYzElm?+4DU%25Cl&KV9v}=k{VdGkoRk zd^9?|2rccw=eOa(bhn$*u8GKX9h+jJrt41HEh8$kTjXgjWQ~n;RXU9Pv0NNmnHID} z5Xfx=-`e?n7wCC=HqbHL^jon)b-~UsOJAj*yhn|8$?N)d@!gc|l+1{E z$jWN&1;nf()@glG8xC*{x_i{N`q2kg7MjwkSL^%WUOJINt#m_^e20GK-B8OVLqJ-m z!c(ZS46D|B)Bz<9e>8G!VA)asg^w(bd|N#ZS7*g~7P|LAhQZ2V*zv~a~aDHH< zbsmy927(G6WldjBswNF8yj5;_&*x1?8wMN;B$Jb8KGDAs%gpNto?BiEy7$+bSg;|EMhr zXL-6um1r(`gS(AS|F;@c6sLB%7dLjQ!eBSI=#UDSFtTqzR>F8zp^WgzFiJjIfHX># zH_~*@0Q1fBJ}bpr?ZruDhro_L|2br6`pn=r#OI&OUExo!rc{kP)|aWr3w!R?PSw8P zZb5-9S^%=SN?wSx>0Mrz57665p70#gAD37P!EGZ!vuWh+M1#-0j|#GNWQ;j)=0f0U zog;4#ppeB^0Y@(#SKsIqwbA-i7kM9eEmqWM9MVvF^_zas^)AWL&*)}-p@r)N;KzFa zK98D>86o!dALU+Du%4rS^NA>@^OiPme-k&!pXVw$nm52KThCppbljiQXf!-6% zzU{|04v!(Dd$} z5=qE&w&nyx`?V?wVS79n0}q&-N_GbOM;;yQ<%Kk-4WcO&!M1)x-&3N-ifJbj4!E<} zEz+%wV(9z@Xa7$bX62~*6U0b7>}lG~+{STP>j@6z(!Vs{?DB9K1w`&f+#J~J@tq~g zz0NMoD6RK9;5ttD`VkU=9k))R@45Bt#y8cR^mjoCj0G4ayAL!ZYnbV~jH_`wEQx!G zGA?4!7V;kssX|g3oH=$#Q;)6{q`Ck6y>Pg^ZgEB%Cm5m|B6h%b-u<<&4|pySnJ=8T z3)h6-4!y71W(meczjnM0a>D%Sbo&=coK(MG4u*Z^EAzLoF|DjwqR-KYAFe?;lMdUE zkFbgN22=O`F2tmfzEO7#YuSAB8gyzoILvAMuS~;rxFUj+p8Bm_Io}e zv`1!DH+UD6IlB(CKlh64P0N`xp?w!8zQrR;C-uZ@A1OI)z3B91mrCJ88wO5dMCX?) zdew{X7TiMM+qh?E(lERU{@N+ndH z0H!NA`9p4!W1+H@mABwjmry?gpmynKi!vRpU>d6X0=_dIu>}Vp%~e4P0z`uN6(zxi z7*cA+-wub5&r14Mll}g%@(_qTTX#uBrCQ`uUuroJ9>;|lS>&hXz^Lpok2Kud3NEh| z^pCn9e`#F4GsNB2#MFBg{jiU~Gp#!(`I#doW)a2ZSz!@1r4!}Pp^hat zf16WT37;~kMfgXq?dCr{7ze#KHH0jeAEw@iOtV3FZh-_xxoze$2nLk$>P#86`}!=r z^MAiEXU#$JU=j5mEB8huS{Hu>s>tx-9Q6M|zRCLA$TvZXmQ*w;RlQ2v zPT9oJ@YBh|l;=QO{{>RbO9JYrzQv0{vKB*)6NVw}PjR|QTc1s@!uqr4758;_3t+;( zCWhY6Eo&{|eESMQxjEZuhIMCvC<^eKKT&FgE6#sWvm8A9^nSKVw$nB{dc&7X9_Fzx zm{;VX63*#!e=9K5RN-U;kroE^4ujPzWYsgW$C@1<`n8wDG>h!Qy)Vnq=|ha7l6zxx6w3ZBBa;7dMI>w65Eg4s2 zevzJ}^;sK}JF9{wo(GN`S|I>U-DFlmdgihDg1rhCHi7IdD(KuHqvHH_K@4Cd65Fin z86R_W&57p{8ZVkJ5jzSdq)QGNQ6E!1wYAOYq)0!D5rJGE@$Q93PLNpOu{Y~k)F$J| z?FhbT31%(3^FvNPLcioaPwf3OC3~?zwo~tB4_8YVO7}zcq`U!0#(4-X1TK&U?3(ok z_`enA=&bi(K>O(Wn!?%WL;GsshmwuH6`!R3xm$Z)x13>Zjv}skPa?$9wb8Tlaek&| zcou&7i)UYBr~5W&fc!e2>gh_Oe&lBQ8Dav&@GDBdCs^~UErgq;LM<$2nje$BMtCnx z13wY*Bes(1k{|732q6hd#skKksT3*mQI>f-XVb=u)Pn?T0sv-j`Qf1vvmM6LnK4j| z!meHtyG~I(d${A+-c9@CT99F(a8lW0SwN#_1N$u2Yk$kw*4i5Sq-H@_%ixwzg4TU$ zuIlpbA`+qL7Dk4($Yv>ssd9D@4tk9YhG|jP|W9+0I1$wolDWIVfs?4y2P(v=rS9#_(Jcjv;3rP%!z+9dHWl()}_sPshUic^6)7K&p zjFy|qo=avbe`z`&RWX3#R7LoZElJ}3fANN-uUbs&*p~%ZDPeue;kZL&A{jae3u^`Ok1b zB!^WBN{1{;MuzAPmA35H&YC$AJ* zcE(hcsqq(yP)ARduAAS)ZPY?P|0QCbS_Jz*Ky_?zN)e($desyRPw?RhwMJAzSs3T!jLYlZS9*{hz#3{MpZbI^ShGR=Ihk`-@#}r&OJY$7v;qa6h+F?vX zX?e$cVtw4wv`{veWG`vHE7z>@?DBhS#Bebg5zTRd%Zl%KK56zmU!p0N*vq{o9y&XyMpsJr!Qx^$F|*z?UzEK`lN4 zl|gJ&FhEl;#EpEV&NK%|nvdxIKJu*Xc0|xv+X}`ew~vAs)&Wmwl}4e^Envm9R*XOa zh$M+bO)60me(>#YU{C)8WyM!N2kgM$+*l`z83EW4!FPV!#8`pf@nwHrk^^nWVRVoM zi{J#yh5fHUB%fcJd% zb*;I-JFrhgOaOWmmZm1N0Q!=?J7CYJu`P?(~i#< zAI48=7{&abZP(@v-?&=2;}y47IZMx+;v?>|8@Ri$Xz3CW!V!4his34H-$R(g39geo{f1v1~L zsm1z6QUbz`lSy9!m%7{VYckxBG-8WDE(D4Lkr6^`Wy+M|{jCvx+`BGcdp={mm*EKj z>b{@6?`t>i+X4;VS%BpXFIS>!fqtMOA7gJJ`UrNsNYV3z#*=-Kwt|T#ya9f){9!gh ziBwl+&IR5KQp^v&Ev-q(T~JgiDy8)A7JSMojOJ)=Z-^MnYAPXgpzU};QYlrE3Z=q$ zpo3wXp=TZJcdqaq=V0;Vf5yU+0F-P_n(Pgi4xZ5GX5w4PUR{J_L&pG`GVts4!C;uT zDK zY&5uiZQeUJq3nfklkDNjS(EtzGVyvI#F$NMH0EEDVJEhg&DRRf8C zFb$jec=DxbTq<6koHF~6v{>a87ngm9Cgi6S=LQJugVIw&3Lu8v0;I+D+bk$uEg1m4 zNwqcf832c<9VF0l6$d~=dKGDN=P*hhqmJ86A}QtXB}1l#z$!WNUxV?;5;6SO{sa~4 z)z9Q@3WD8RQXSfG%YoCv>?1727Y2hd(uj^sjl8`F*-4rwMNC}$cVRhKz$oA2;_55+XQd2hF^JxM2N2a6Rg&Vm>oi!a|NUzcYKuJwc3W z7_g>Kzo2om)M^diEdSI?pAYz^RRP2J*y#Ca7&73>$z%X$^sLJFdO(Z-bp`C~5};Q* zH08ZZd#klV(3r(k!M7h9oxgpBUWG@mHVxZ%2fHAv)qyb!;^e%iG!L3ElWzCt*XQ$8 zM}dwnv39E;dah7rT|<;vH-)Ul-`H!nOj=Pt`L}6RYjMLqOET9|$&+4OJY4;+6Gb`# zJ`0S2kr(-+=C%r+XAD`dVU621Z9%xz+{-A*AJwJR!u~A+gib1%0$I)NjHvi5aON#( zUI~WWLQ2OO!4?W9$fbbkaHucCK>H3egDuk~LqTlGi9e3d^oVctN}|ewtEJFcbr1ax zo$$ua;SmvfvBT5mE^)rboNDcV-igwx_SR}vr`5JQZq8yAi&*-yA z(d47PD%HQH=|vQU$2~Xb^F62_Z-*QmA!0{vf`ra~{cZagqKf3}GsP14(ffoW@aO;f zc18c~+cn0dF3(Ao!GAJ~9!2X=ou++a-^{0C-X`6n6-I{3AogAXu1Tp%ij`g3cUce+Z?ZUpBH~PpQ}(xBL$;Q zX&BAk=|J9gIq(D|yDfNJ!xfO98%vT~SjWXKmoVh$yt`W4Zu+(&Lyn@A z#GZ#xJHCl7kqV4MDgIF?4>b_v2vhRr{i_8toAM9iZe>rgFmBlkyZN*6;F_6bs31PD!9=V3gQFoR z7aHnqKA38|(((8R)!9a>!JB0}aUQ_0>B#VsIWkkM@ zaNy64#{IKvH}+|fk*sxA+!|d4tK|1}(vhJ#j>Si$+;*cqHO4CLL^EN>mFEA@DH~qX zQ%rY3VXw?|ll+0P?&$N8e5F$&XY^CQ2%6JI&?%N`kZzh`wzx1Eo+y)=DR%R*yzs}- zOq@JK`}AwtN`H!rdKN$5+Vo{VyZ%+-FSZb7c~AEfR4~DCg~2a;XgWMFuD;+`m`_WBMl&}v=iR`3L^|o<2u!9X0GLW@E%BBa2u_H zfpMijK#%RDjT>XvuI!RwGb=&tAP-!$>P_;R;tI7F<^BAnm-ax75kqu6i`Nr1t69;C z!Jb;{lMvQvm#-4fGAr6uOydiEEPLUnObr7dg%5Ql|iri78M_;Ei3a z-M8@yc$)Hj7)A^DG&A`k7?{YncT@d(>3nm(H=ABqhVP6}bUZ(I@<0vInbRKhC385v6jZt#jgOqXQn@o_{4LkdFrky*lCN3|Zw9qfhS`qGs74w-=-PErlOAzI zngsE*N80%#N+>_F&|T-9%FxL~<5vcU3=6T@owBMp0$x+!gi9J{UEYb;SQAX}O#>e1q+njD!Ph945fvTU{tAFDDICQ2 zaxws7_r^%XNVXiXLKzHWoZ7|WzL2-r-zij~>Ahg6gktJy&Im|I8QJU@JaBkUMBsHh zp8$}Tm@UIx%+84Cz+=L(F^awTkjg{ORIIMXFwd2ZTWhfc29o;I14aKIQ|zUoCjWJu zfh&11hp=j=dLvuI7t$ZOp0jI8By3SzjY-C%CxX_xHKmb1R2`*f6KU)X`m%CfVg!r&sv?yI_AMh&wP}TRy><{X<UwqK+DG#>v)MRWNJ5* zlu;s(Ms=|NeQ@?UQ9xSZ&Z&BW*GTka@(r2T;m;yDugke9>7QOR?&fW2yc++`C@z8% zXd@pNannvm9N9(RBVWsBaquX8c9m~r5{gkCi}smN?>9bDzJ&7@T~FfV3g*Li94#W= z>)eJuL4NBA6eQ%}}HeUe_?B}n5JS0{9cif;yd?zaR_{HA)tEl5f&mBdEwuPmx# zn4nYC#SiwdKFT64WVGQ^IOL|rt<)>hcSrAN!gW*d+P%G&MWYL)q5gS#81QiqotBv= z1S3FmRQKO*%iAY@x}8HE4ocSnJ)Yx_k9`pNDhd1P&YE+uk~A3%jsU8QUzIvd+Ds%v zuTNj3rF0rGP031!t9B|!bU0P*BM-84KwUh&gZzFb@LbrksRZtBlsNUh(@0t)`FAdN z=I$N(mM}Ti>zL5;j>Okau1dlU$#Vw z&zRqIkMcjqu+&{mG5G&@N|lA1nlIUPHxA1y@#*vg`ge`}Dp*>av8!-)#U%>lIvO9W z-yoO$0YB+$wR=1}RqElMqG@kZKr)>zb4u8dw9ou&w)niNsl^Rbm&|u`hN4e?c4%Gu zqmM*vcf8Ig&AolaWo`SDtb(>MWJJ^08pL*|R7~J2#;as*kmpt8R-S)^C8DiXKjVuW zHk4oZn^%9*x)0xb;(3oNjexzwqacPn3DVNHH(^?tJq@s7 zeY^TkJ?xlN*<{lSN4dLzGpue`pWaG ziom98Ck)28_3A{nz(ep`hS-)|Sg`F^%c=l%Z6TApZ8RzI5LFdVstBL8&TiEmN1^MC zf{y6-9an(KeOA6utgQZglhua^QNgAKlR_NETL~Er?mJ$RExr?`RTo{&MLGwaPA@A1 z=q$r%N$qlz&urS2Z(IRAepfk;Q6}>T%@f03_}PWwM_waEWF7swn`s;2^Pm0{UfVB~ zH#~e*&e~?5$B@0!(m+$zSnafr;XicFO!eGJE5g|>>Z**-?u7$TO>B1DDl|Iywg#TU_s%8v#u zP>GE?`?CMD8b|Bx0<-~c=glF;ojk*fcDweHiVzYaX8ixh*IS20wYO3KGYl!Ih;)fa zNh94TArgv$bV*5f!_X?JfHXr0h;&O2pw!Ua4AR}rFz?3mob#OL{l&Ha_wr)){>Hl3 z`mC%YxGs}By5r9Ipis>x)6;E6@|jC=?K&Te^R|e`<>MfUttYT}z@}`FO$3dWyimNE z>H0duIfnjkF*Cb#4%f!b=*6TYi8St~GQbH#SGTx+D$<+;_BuKz#Xo4ne<@m=(0m#iTjeLh<1fNUvq7EzSy!;`yH}<(M4Ef^HMqee2IMu}HWaw(ozwoFFv$3()YV zvLMjcDirbsnvKT9d_*dy^rP>p_Q)TJ=~QpMW^w*f^o8>9`%?67NnCyZ4hylGUL5^^ z=9EZ-suarQ1_)|)akM^EWv%52jK-JVGeyM!|E7+76pi-Og9E@+!QXi-#$#$9$VFPm zjy}k_y5joQCJdn3NSc;_NG~slW`rDaY(uX|cYKr*!a^=Sd1-G?KQPbv|I2BM_`_-Q z{=;e8;Pb`!zc_6w?lM3G4>#;Mr&_1~Q?WmZ;6D!F-TII>CyP@aRen*jy z@6^Cv^|W2A#OaI%HqapqR3Zr(?7yJI{OqqAl5lNYdMH*N^VWO?-S=@sL|tGnJPIV# z6E5G3Z+@w=X+LOjydY0WeuZ1v!HW#@e5tTUp(auJ>so2`Sf2LZU+o+T4@!>E=dCDt zvSMy%M#kF%LuEeNU&~UW5L??ZgJCu#MQ8ORcJ7T{^_uDrQvad9jmoet5vQ@T7(H5} zFXZmL?AK&WocoH}^aTA!3_wP4d*j1z@C|-de|*Dz6S-kpDz5P(W3Rdn%#@$iTMO(G zf%vm}@M0p+3G-4<)BS97Xi5-ht&x!~VwkwL>V=cL=f&~U^3`gI<$gjIOXs=aT$NaW zu89D;zvB}=2_Fr}Etey>5cFSc=)aAQ7n1Po08AA#D*iD_KkkGVRKo-g2dfn8@T}~Y_2DMAL^C|0dZ;Uo_ma$MhrsBBR=bk}MN)^EQq(^b z$0)805%2w`Wiar7CH~g$!kOtM48!%Fw&KboEQtg*2-R@j@PY3Ch*^ID<6h4ce2MAu zKe#xKIe&hiBypw{&XVY7!p4_A@IV!?J0}sz#IKY7Olo==R#rk*yclC#Jzq^U5I2c_ z&TI0LEA4Tv>7WaXe!Mh&Wq|#kXr3=-DNEw5M+K`l001#S$THulci+v|;x?VlR^XoW z2`@T|JAD1+R5JNvRjmY+r`l(Q-gF(^*eu&r>#sJ8p4U)4t2b~O@zd@8f%a8vk~*ju zDpC-dT%Fz}Z+@08XrKSvinyjhKtde_)?+o`I0tIJlgds2^ddsvebx-o1O)m=tJXeZ zsZ_0xm%s?<#NVijZ3`rwrFt>@@LE8NkXL$?T- z|1SgNjS7460?$tv^o2|RTi&+6O(8kJsdSc1EG_`Od$j8-Kt|r7@qB#5VP|fodrz5;=!(#O*JIv|!k7}{ z7P@AWBRSMj#t_H-bzSs7+@IO|Mwf@L+ozvEH|d{~Bwn|S%U)Nw@}%VC1)E)BxHli#0J^BibUW|3Bh6|6Y!|$PUcq7(@0p_51^q1A$hsQbUN?e+-RLPcBAfz11smv zOo4*G8rMM>dAZwY4}@_5J8w~HG{AD{*9198!UGH?2U4+h?P_yuIo^x|Y#?MEG7$eQ z02Xc4hTLY42FZ&BauMUcL@Bot1|W=u*wm8ZIV5;pG5wt9LVeh1J%c%2gm2B{8)4{r zy0C9$290@oNT7t(4hJkenIit3y-mQqn|A%)-vw{W)|(01?KLj-3Xewu)ClqgF{Q(; zK}AY}l*@Ipw+X&nuOiS%$NdCe9`$q(iN}_5f|;45Bv-YhnG;fX=lafvB>!Bli7>=j zMi{kt43gK!Ee2BND zgZFxlzsNkLK7Av>=+qAWe!cInhCE%wh?|hTSBuO^)j;8W-T#=v(_{B^N6E7GEK>HS z`t)l!YA|oydw$^j&3n8t`3~8pZvt=3{z#PnIW*SGGIaTyukjWPO2wQev-j;CM!tga z$kC+*DM3cD2FM5Sw|@FZRxu1S_XwAE@#>Prh~N`YtR3+=jWXN3lsQG4s$1f8-)mRu zho(z5q**DCSqQRak}Xd$d{FvxS7IhXHjTJ@zZJ5;r%5U+0iYeTHmp)ao!)L&h(5cb zL_l(jL2)Hq`X9JHE_b=7Nqot)vT%NWO={MfeED`KL6Qj}naHhiU8+}&+7fKv87$*B zgDq=)*t*!3pR72&A^ybu3Ma=`z7PqH76M%zBsAas@*C#4l5~(wk5atJ3Q3e09Ucul za%g?Q^B)n87IQ6h?xON$T5cEp=0T(PDc2E6*E5Eg;Nn|lL`oC2r0_^*q0ZTf74#=W z!cP5R7eeIj9R<*l-A~ds9GyVCH+MFEloY-2Dhf)E2jl8F(-bP9JZQxmh?DCUcE#EL zi@5`aE5u+I=+VPRX%tAc4dngPMJ zJ31BuqLeMSw9WT3nMg+0zfwklh1Oo+0VKjEGMryWJlS#{`kyre%0@`LpM z)FS<}=>x=|X`~i+vu=&g>nVOIlL@z?F<0I7H5BD8KFd}@s6yU0_q=2#>}n^6^5AMD zr+nDW*X;Ut4xfD&U+qOf#n*X3)LWoJhtqbAKf4>UeG5$Ll7u`E zz!;X>8Pya~tfgL3+Iz?}iu6EISXTlQ@L27gh~%+(emC4ci`sP3zGbqTnHZ~C9i57qBls3=H} zxxX@t-Rs~Btyt|0NUx>HYS!zokgRY05U-cGY@;!BaK%b)hfFvInFq=sO`wNqu} z(MR|a$9eioYP#PMR{05NKI%%#Bc6Y!_|!cy2f#7cZux~B6Xy8<@B`DvS`*i0V}^NL zs&l%)b_Q6orK;4nUy?oI+s#jTV4TNNuqK0 z89XD*{NX1QFyJO!I(U0+@HGr)`Q+ugS*C3o{STu(@)D=ATXoI8m@|8;DJGWFJ$28X z1gBE3RZ{`}U0jL4@md+xTKX|LT>`h*Lisewj1~tAeCZcP)Qz7LrGN3mj(4NL)Y)Ii zwCFqx=lnBM6#ucj1W1d?ff}JunH|wk>KVHu4SRX_-0T>k?Wf21*&#Syx4aZ(ZX0vl z$8Ji4Ks6Zhsm4ToGteIBHL0Y1m>yl`c)#@yj8k`EC5b@plFhe8 zGe(if^Hh-cC!9LhNtwA8jKWtt!uCtR7g>(cKqc0hU;(VNP)caYb`yG#m4@%r4%Cp6 zUI^dzNu^A=;g0=hW5`Im4|G6M>{0<0yPmu4Rg}9+ucg*3r$GaxE+)`6@Z*7xhe5Bl z6-fym%y11n6WdaA#WU-aD$1tw>*9sW_Vokia)1)dd_5<(uVj=TKlL9%d)GAc<LFJZLt%O?ViC5thv6;|G|)lK~)~Sy=iU4YPQ8uJdjFSRPskg z%66R@6d{gkZT2(#&RU?A#)gu4Xw$V-FiLKdm5)}z)P+WXAi}$bSutgwxbd3#9@Qdd zXM5;AG3}!HA5k*H^+xXPA=FW|yvgE60$KbHxhQqr!(1x$kHLMdCKqb%(SH{g_0W=8>DnUiARESGY*fc}fn$O7?K+??%gp-7!MG2U!CZ0SmYA_J6ae+h z$e`L81NACcy@DBaNnNNWpR36?lOXvH{A`S2x{vL9)a(`T-vi^@k{0!HH z>$Kf8)Yms+E4N8O7ugYX2!!${+ul1)U0eFTaorx&Qf)l4@(z@3TP7}o>HDVw8rp#T zJdOHQF%Xsc^fdfl*B=j|R#|al-VG$}k`oxFSrnBF>CNi=^oL+|wWUSakp9G#B}?DY zT6C9V$ept|pN(;6f#S=o zL|+>K%sp&%vKsK;Y8v)&4kb-eJz;Ynoix%Yv`O;&`vgv3mBpj$<590x(RNb)BAa+G zKt4-$0r>#xh7(}->EbA9xDRaH2|$B#Cs69fV3F>cEAc?NW6x@Z5|(zaWIj#XoIr(c zj^gCTMwBhL_`+{kMX1ZMBcJK(Pw;@Aes<54v+=`MzDdoLsL9hZvkPIczysq%c9QC= zYVjDBz3GZ@fP(-p)Jt&|1huA(qsW2|_a+jK#R!-8kV4Anr3JO5MkV&l zDb9a=^y``KMV_rrnY7uT`?xFSk>plSWU+H3=gI6nAW;iD$NBxm;H1AMi}$quG{!^8-4u zpeTmd;d<-B7LiS64Pjatx0xZHUysj0#^UeHFXn63Iqyb44((9&R@A`4Ub-H?tKDyp zeLMP{>U=*MEo1RRZ4}3xrFQ$IVyU>kFP_ueo)O5A=U-i|W-rI8X$p3S%bKI|o+sU3 zh50v8qT>iD`JUW_k#9(`UGFZ{-cFPn^8p1p2(@GZrN46iylz`>tSfe#F1rE$x!v;S zaA@caXO{8=f=v*!zt}-t;(C4)k?Z|%lR)uY%M7Cu2%#@{bkptYxl_AJHR73Dwktau z8ihFbPj);=9iJC#!i)kswM--Y^-X>UlFI=M@u4eoZP$Q>-DX2O1znj8*F8oLY69=$&E**%edJGS;IrzI|!Qwsk*sRW!vf}GMPz28cf&(&al-3H}H*uRn5jB3xq zKX~2GtQjKBLOb+;;zGc4nEMrMZ#0tjRo=ezjWY@pWprho`OEHV`lbJC)8}Z`y+HpB z*oWwWr!?chfmagFR>v9@f_1D~ws>@_|r4;``h4a%N6n+5&eRP(N(f z&pjeOk}l1JPwIzB1cB%p&pGP5?eZFjKTAOZ_ZL!bNkeNYJBiZJ3trnPfpvh7w^cQ6 zVDNSyu==qB7`G$|Oiz;X5O{)#=}dp}W5n8<4PSuY+4;k9(Z*8(`{e(r%n9<(7^$1R zRTVvdP`el{_Pzt|2bwbvuyGxb9!hP-ix9dv#V|lDsGl`^}LA5%LZaj z)7<&ZbwpnYkB9;H^TwIWU~-qr|G7R=)lx^GBa+?}nd09DuW=D6eHmR*X|cS~ z*I?UZmw^MD*NpEcuKiL{6-AZ8L~|+|hAg~P!ic){E?c&QBtx3E$)MeaA}y-x$k-tY z)YmH?knO!cM_^KLBUt-VL-X5>7bN@HUYo|`f31OCKz1_+aiXO?*NZz?^dvUzU5`;tiWmr{AfuH}#iK z6oM{^X%*12W`~7VZ12I6|9B1e!(Oio3$6Uf zH+SJvR?j7x$t z@?ZSr#`{pNQ~{E=-b2>sT%G8z-rr9$M6nY5mM#?d4vIP>(0XX~#@uW>X6PKzCSv;G zT<#^Sy{%Qu`4b$`Tcl*ULFxtDZ_Gexr}m~iw9G2dH*-J!a>w4oaI?>yu36@qeQ%dk zF8&d)V`kR4tjkK+qD?nlTCPO+R)f~-ZZXg%uc(IRn$WZHf0bnGZW|t^gE>BtTCdV( z5xIh2m)9XQ#|q2B#<=RY?sI4r#{ovbjY3ZIFIP|q5l?oJOo;hafbxwKFv9%jd!YD_ zx1$sAKC$1J0j*-or(D*Do&weOMizHc0pFAp5ZfyLl~)@GaD}zpW?i+!+Khm8&HnQU zVJ~O(L>5>@W8O@zV>BaHjW;O9*|>v;r;~Gy5bNPpvlFGH5?`LSPf^epQ3B`S3R|GylMOyAl9cd`ctm z9Hn@Lqdvncow|0#R)R>d`R22 zJ{S~dVeAbRe1_Wm4!T$fG(V==hPmWsPn-ljCm-7QbNT{2AcQ8wVSJ*lOmzf9<%)nK zZSr$S-MoJeSD30U7!VF^r!mIf64!mf4)p!?c}+)O6@}W(%R#G2JZ82(*_xPFeyvh; zwK>ec{GR(XVbHztk;2X-cL}!&5cIz;@0YynM4irZdvDh!7;QO~&K>rn{ZHmF;n6^K zwLc%f2;qg;41IjmwW5GA?E> zv_#%&GwaF1DV{JgP%+@)G2+zrD;=Qy(l_$*EE1EhK0kj*`SS5_^Y>z}4bSheo#NGR z+5Vz_UW(*smvn%KRg6)DWgyD7h@$URQf=KGhL1<`#9yv0sdc3~)JSVShZbI}C zC-P=%@y+u;p%MnvPF=y;UT66|Ae?P{Qz1VKOxcLSoU^^7chb$RT5cddfWlk}nCk{l zslMH}-qaDS(SJ>)`#3UY7>3XP@{SGNgY_SVmb) z)AZ+szssF@WC>J3$N{2%0nK~t4s+u3jmd_$XnmN#0r_Aak?+>=)#!?tr<>nEK* z4cR5yI(4hx8ppp%u_9mBiWa~S$U{&|eT~hGh;wcr%=>v+nQYGsz(Mv2+Wq`T;$5##Iz({=FGk4&tyu9gQ z((4DHQ(BtKo7lhz5x)14qj--<^45Z!?s$3a_ARPu*&f&5m<%!UNM5q2iIA@bMLZV) zjNHMD{poGwL>S#|iSA6zZx+@3$Z%9ar$5QhRr9{#H^G&kc##`=eaQOt}GRN1IvGvq$)38SzkslEpQH-63***6ged8`?=o$P~ zxAVuTKm}>erRAwV>RHWT`wZ6eK!E8c(__IBd>t#m%Ciz95+gF8O#`nT->$}iX*c`4 zroy9f?<`Jx>Rqw^Jc;kucwSA&d%`36NUBlIvQ;VG^)SKn77p73XIRay&+70=4!24v zU>yt_5lNEYrmyN!Hnd0k&KqvEY|dNBUAR}I(CgS~%^oGv)~!alEo*yMhkGxyhDheX zJ~=gk;GI$$`%))m(VmTfaBAHg*fbNUwb1e{Rm#4}9#b)l##m#c;h>vC5I|K)m%ZTK ze$!xCcDy;>Z*kj5-~_NQTHNE=hz^2UZS}ZVa#XrZ;XgXg#s&ypz!qyX&~xckU+ zqy=dFm9`38eZi$5y~Y9#_ZyC+jEHJbVzK?M;M>H?p#Q`lslt9+L>TWbzK|+LDp{{w zpiO#0|III5{Q&3UXoQX)eGDJo)LP^B2tJ_!MNGK=tVI3Du*I4`P{_)D74i?(g`hBb+B z<;_w+BFsQQ$jf*1)wvtTN~`S`2*svSCu74)_{2j70k&1~VD^5Hl`I7cUR%bM`G!05 z{h(^2lN>F1V%Gq1K#w0-Cahs^WbvG(IheHZtQ;heDM!g$!BY+a6))YqPk%iFt|Cyn z0EiKM)6GrdelNvyY@v2HUtU}KHp!z;OEikvCrg?BM%msmRExtw0o(-c_kw} z`EbR@sdvrTIJJUUX7>_E1M4K20xqC;d9B8^f-5E;L2fzStW6VHG;6cjb5!5CO}$4% zht9(KssruMN*COgY#8$iou(z)V+=g8` zcl}Q5r$f3z^ur-s6dWomGvjN@6DFPYpm?KpX$9%n4reIbSE=rqiD>q;yY0oE(GJ;17yK90zfJfw%mN92D!^~=BlbJE;aS~uGsVIuAATYH;s{qYOgY=+QXVJpeKOq zCzxQJkM#pj_@H0vyB!+o0Ww)3qqd3YPoCs+UbkZjfmb~gu4?+EOAZLSQQy@(|Q!sU}(mC~?7d1wtblVvuv0y!qN;;+&n22;ZaGY&%|IJb)N8up+OhYTkVLJbln zj6AOYooQH_%_hS6D+;k6n-pI$x_C?txW@qDJ4V#tlzl;?_C;M!2B&DyU%{5VFJ$^SK0r|Va zmrWy?0D==JXRlO&5%;BOfhjcN>Jp9tx$AUS9Z#TpaVCG501IZUz9AjQp%LcKn9-@= ze5DGaWZ{33A#VM zio~~BYN59af7RDd6XT$Qac5z(0{j3^j)ci3mR!QKR-1}MUZgPlQQz(I9EajPva9DQ z*@Yj8s|0t zGq*yVfizut6TuL8M!n-rhl5s&=<;Z$T%5e8af4WOrMZ;D*PO`jtf_0X1CD7=5`FNX zahCKEBz`83{5BrWGP&fMWMIxJ5#p}OOtz=qtT1bLi3AGAE7NpZSBlH*l}vTvr(3Y% zs^Pwd?0l<@$hB{NF1=#5*H`CmOZzZec0_(pz!#buN7zTe5vDYO_vT#j4JNb0YdOij z{6%3JaS>ASl8MX?tilbAgf?0nGB4w;Ajob#zF!VXj|elB6z-t9l?}ZV|;8f2?*x%V~x^ca|-`8OIlu=tP zCbNu+p{?0bG^*H=yu#XaaCbjX zw^#<%Dy5F+f$Wjr40ApW->heUKl;%SrE5fsAvbw*gab;E+~}dn%l$#u$p^wf?gF%N zCgRY8*`Af~`#1HiXF~hF;J6^kmnWA4LAx_IOKgKIAnsv3~qg9XBbn8#(#j}b; zg9RWA+qy`~a~5EAHVSu!j_bp~g|>L`Y915A<<2-ZjhoESXrcK!5CR>!IqN(sS;nKC z)`<4&5@YE0>HchkqHDyN4(mh5d*zOtqih%OtG#BasGHiT3&RA}YZr$01ubh9Bh+v; z+W?Y~?eWH_U9fSSapm9wA(cQUz(Li)Iu=MD3V>iw0VmOS-rH5<1>Mf=)d+Af&1paS zmfXBGG0s@OY8hFw%q0BuIfq-IA_QsYZ^2QgWEu0jU#tDP@w^lHUL1EZ0nQj7<}Wmlxn4r9LX$ zf3vw|IE%nHwGZz=ZH<36b<;(l@wppHlSd!<0)BYA2`~fEmiq*=9j-Bfr$ugGq(|3p zDOLk(wMM?#;>45rv22B)$aTS?sOe)B!5qJ`?Sq~rEfJ7;U+TJTA|Q0q0#V(QrC7D8 zKC#`ILj6%vQ3N1ROaMSm&ECFsE;v{y{gdZKc&)P}N~Qk=#Tdo4;=-8#eZq3~amZ@@ zyErXw%2bMDq~n5~c*>{#LnT}Vs8qejbO^als&nus;$G-4;~2RW>Hj|Ct01TOWwFqP zBSQLQ>1*d=gxm`Md+9fME8SEE|nG{9(d6XX|2fkIa>X&HaA#;d4{@kC|e29$H2AoHpcSi zth(?NXmXXTCzpn-K{bngS~UwjX13l7omMeb!)~Y#KVhWQ z9RUwW@WBr$+YwLb+C?yuNV3lueY%_jbZ+}N?(B)*zSCg*wWCwYL*)J$0XR)VC{=UE z2cFG+Arox@YN6ZC^out@A{_twCti^rUxaRAho~-u*2s_OpVUV|uee=&?yKEf4Vep6 zmBy8Tuz(+mi#~lUWfNl8!|E_&wF1r4M-M*nH&j(0kwdHFF2V%7?l4-OEB$pYV5hOf zWipc+si~p_Rn|E6Ze&g7XKPn@#UE%+mNSP7x`-I`P5Fu5r@`$?%3vGi%UA>DaVFWK zPfiWHOXm=N?&EK%hl-jBr98Ci{l_ZY;4*Et=P+w$zE?L;Rso?p|KkF~Ng$xP@pP%k zplT|C=th_Uw3zY9{SJD2peM6R;&Q8ksI5G(y8G84xDS<9-b9asbG$I`e54 zI?7%*0VxDmeGi@I(rs!%pTy{UTGI)`RnDMnQ9Ogu!NpZ8=2>BGO!~Qf3RE7AjB+DI z3kz3B$p!;WKID;t$4+g>0)a!2p;>AyJ);9Q%{i_EaPKp_WIt+TK))sW@8hCPbavsh zjwRVBc|?qj`|&o~Zg$|)@Jng=^`tDANiTuA#P(sT)LL4^Na3roQr~c%n1!ZZz~&$!wOrkx?#m0&s_!TBJILqIPPUD`?#meK-P~O|nJc&N0D8 zFUVxRO9fN&V*8JNJN3cSBKKowLi&6ZP1Vp0VTueOrb+irA7;hz_cbG=Jr8KZD(`O7 zmZ4Ng6*Kzta{VoOtbL|=PwD^i$%FaW>jmt_2uFhB0V!63#+F4{v=PLHjX`Dj68{G~ zzXL|xFj|{VJ@FhV4|^|-S1svvOBMUthYdr3{V3qQSAdYilJL!*gK!3=WCxJ{_)^N* z2ZDo3J@zpupG5K{yH}qdnon=UbJ#3@%<)qiT&XsBeM)p&jfDxQoG7VGA2y#>eQrRmd3Q%JzJ83P9$nbGg2i{fi>=kGyUseA-Jfz7eM(xJlcP}iBMWfshwB%3NrVaAwI`3GC@SGqw27Blkd=+A z3IB|y8tiyDPJe;Pv|pT?5xthmzQ#-tG0J~I@465%L^I;h0UfeRmLkF))RKr9x>UEo!yhoXEwO$cWrXd&Gq~A}fqhUn7JN^y*yl9a8~%anlkKAWifVLD_=@@23S9V=`-OUeRZ2Mx2rJuC-3&MnKw9 zZeMM%N}l(KItFlLc7;>ov{JmmxIZ4WWWAVtkU+ckf8XW=sDNRy!)=c%q=tc%7jt(Ik4Wj?i%m#;}0p z{@11R7gz)|gh(ccIO%lzx=)-I1+Q^vl3z^VDwi+%XsJ|IFd zK`QZmS{5&0k1mShY&Zc1j@nXb6jl!J>{0`a} z)B=S>Zpo6EM1<|D`3g-idzktYAst9~M&}d2ir<2`cQ{?GApJaYimd%6m-=B)riTA&`n^%kD ze6}vd7NzAiF=Vc&J)79tIjN`ro@MhT*GCR)9OPJ~89J;(DZfdrmDG6f*^8g@kmshj;?@kP5sY7gGqo6 z`gT#3Dvz1u(3c6$L!dhZnFr2-$ZaE70F7W8WTu}7**1Zb65U$xh`{%NBv;&;Vs?b_ z$Dkpu@e_90+Y9S~uljX;`l7v+Xb+g|^rE3E)K}++YxlL|$)NUDGqL1HzbBF6VSg_m zMTh`xR7XAk2i}EMs`j^$j)Hybm;m)qel z*6=!|Cnay;g*=*9cSvg`Ja}7bYLi{SH>DQ*u^$#c|MpE>Bc&I;>M%Wq!30ztIqn~=x z!0%ca^{R4a-YD5Fg5>i+c~yj|b8A4Dq2+w@)hu7s+n6G4`|Po!vbNmQ>L#(%ax;E| zYNh_(iuo}q3$f?E6J2ML;NMerO!E~YZ>J0E0T(oNALI+hUOW`R-P{mtTSCAfItS1< z685&4%lGH$+~0AuS&}1S7mC@9_xRt@69qiLOxbgck|wqQ@wN^}`on`?ay^Wepl1wc zASb}70O?Ud*!7kIh!ZI$fjhR7eYS(V*!$ain7_9$9W-zB_?xGwJwS(65>9vGG&C%!Cn>y|LiZa0nwT;gSAJQmFyRo0E@(X-DU8 z&+3U7l6I#ujbyL$C|JN3pkEZIV%E6!ADc7=iAMx|v-u!Hd=E1v9HomV6lcix(o=2% zPytd!ee?SfE%vN@Y0h;l{Lud9{K(?Sz=>NNFtHLfQS+dT6Dj6!q+pxJ*f9lcUaP&j z`DthtHQ2jGL!U7N9jT#}sJUSxO3_xgjT#Na%Jlo&Oa}2awUhvyJT7`*cfwtPx;*^L z{a3QyW@M$QTMvMb+%c2Q>!9@@qQM_9w~`j7WwlmnmVL%1aVF%s+hfCR$Pms>az#Pf;#;2HA-c{acxEWv> zMHYR2S5i27OT-!BEX~(5KB@%YCzs_+1($`w%1K%ae}%83mJ>irG<)2j2T5x`ekVa# zu*G?0r?K1|&6YySq9Ke!j7CSHzwTqY>>|2N`l`A=EPQm@n5Babtf$*5ySE8H{q>Nn7aX${ny*J5yB?7Lq z4r-9g>*p8d{ylfye7>ui?O9`knNSpGS?q;bZ7_2z+*a3kljyhXWTi?8U~=1sHY3iz zA0MazZw`FL2}B)KQ=JQc@2e1MOGe**Z*u@RTe8fvaubwAHJn5gY&tU#><>*S%rGjE z&8%sDE+0CKf)C?&)QKQTDk-*T#GRi9F`Znn=NV8OeNyms5TlDH)tlgOGc`Pht4NrT z@3DtlBqs97jvU7RBS@8w3PbfgifF0Zo-gSu7@$A@Qr=3+gO!DpJlaxksH)tzPVntD zNIyITJVC ztgt4OTgiSU*gZz(Mqm%%x8>Xe!su!#f`KM;BOik_L34?O)UP#6PZADa}|f_nuUPF8j(j zhBOT1k|@g%$bI*|Au;Qs1g3;5&jsF6?TZplAExNTZ}`s#q8ivG{yS)$@S=I&}IyV}=aF=~1z<#qUzYc^d=ZC

    + * The value of the alignment argument must be one of + * WrapLayout, WrapLayout, + * or WrapLayout. + * @param align the alignment value + * @param hgap the horizontal gap between components + * @param vgap the vertical gap between components + */ + new(int align, int hgap, int vgap) { + super(align, hgap, vgap) + } + + /** + * Returns the preferred dimensions for this layout given the + * visible components in the specified target container. + * @param target the component which needs to be laid out + * @return the preferred dimensions to lay out the + * subcomponents of the specified container + */ + override Dimension preferredLayoutSize(Container target) { + return layoutSize(target, true) + } + + /** + * Returns the minimum dimensions needed to layout the visible + * components contained in the specified target container. + * @param target the component which needs to be laid out + * @return the minimum dimensions to lay out the + * subcomponents of the specified container + */ + override Dimension minimumLayoutSize(Container target) { + var Dimension minimum = layoutSize(target, false) + minimum.width -= (getHgap() + 1) + return minimum + } + + /** + * Returns the minimum or preferred dimension needed to layout the target + * container. + * @param target target to get layout size for + * @param preferred should preferred size be calculated + * @return the dimension to layout the target container + */ + def private Dimension layoutSize(Container target, boolean preferred) { + synchronized (target.getTreeLock()) { + // Each row must fit with the width allocated to the containter. + // When the container width = 0, the preferred width of the container + // has not yet been calculated so lets ask for the maximum. + var int targetWidth = target.getSize().width + var Container container = target + while (container.getSize().width === 0 && container.getParent() !== null) { + container = container.getParent() + } + targetWidth = container.getSize().width + if(targetWidth === 0) targetWidth = Integer.MAX_VALUE + var int hgap = getHgap() + var int vgap = getVgap() + var Insets insets = target.getInsets() + var int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2) + var int maxWidth = targetWidth - horizontalInsetsAndGap + // Fit components into the allowed width + var Dimension dim = new Dimension(0, 0) + var int rowWidth = 0 + var int rowHeight = 0 + var int nmembers = target.getComponentCount() + for (var int i = 0; i < nmembers; i++) { + var Component m = target.getComponent(i) + if (m.isVisible()) { + var Dimension d = if(preferred) m.getPreferredSize() else m.getMinimumSize() + // Can't add the component to current row. Start a new row. + if (rowWidth + d.width > maxWidth) { + addRow(dim, rowWidth, rowHeight) + rowWidth = 0 + rowHeight = 0 + } + // Add a horizontal gap for all components after the first + if (rowWidth !== 0) { + rowWidth += hgap + } + rowWidth += d.width + rowHeight = Math.max(rowHeight, d.height) + } + } + addRow(dim, rowWidth, rowHeight) + dim.width += horizontalInsetsAndGap + dim.height += insets.top + insets.bottom + vgap * 2 + // When using a scroll pane or the DecoratedLookAndFeel we need to + // make sure the preferred size is less than the size of the + // target containter so shrinking the container size works + // correctly. Removing the horizontal gap is an easy way to do this. + var Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane, target) + if (scrollPane !== null && target.isValid()) { + dim.width -= (hgap + 1) + } + return dim + } + } + + /* + * A new row has been completed. Use the dimensions of this row + * to update the preferred size for the container. + * + * @param dim update the width and height when appropriate + * @param rowWidth the width of the row to add + * @param rowHeight the height of the row to add + */ + def private void addRow(Dimension dim, int rowWidth, int rowHeight) { + dim.width = Math.max(dim.width, rowWidth) + if (dim.height > 0) { + dim.height += getVgap() + } + dim.height += rowHeight + } +} From e8bacef508a1fad7342e67627a0011d38e3c9313 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 18:36:02 +0200 Subject: [PATCH 076/188] add disabled label and reorder resources --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 3 ++- .../utplsql/sqldev/resources/UtplsqlResources_de.properties | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 301084f4..f0455819 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -50,8 +50,9 @@ WINDOW_CANCEL_BUTTON=Cancel WORKSHEET_TITLE=utPLSQL RUNNER_VIEW_TITLE=utPLSQL RUNNER_TESTS_LABEL=Tests -RUNNER_ERRORS_LABEL=Errors RUNNER_FAILURES_LABEL=Failures +RUNNER_ERRORS_LABEL=Errors +RUNNER_DISABLED_LABEL=Disabled RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index eb3711e1..d6aaba70 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -37,8 +37,9 @@ WINDOW_CANCEL_BUTTON=Abbrechen WORKSHEET_TITLE=utPLSQL RUNNER_VIEW_TITLE=utPLSQL RUNNER_TESTS_LABEL=Tests -RUNNER_ERRORS_LABEL=Fehler RUNNER_FAILURES_LABEL=Fehlschläge +RUNNER_ERRORS_LABEL=Fehler +RUNNER_DISABLED_LABEL=Deaktiviert RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. From fc7883b08134f006de71ebba56e5d20c3009f64e Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 18:36:59 +0200 Subject: [PATCH 077/188] put counters in wrap layout panel and add disabled counter --- .../sqldev/ui/runner/RunnerPanel.xtend | 121 +++++++++--------- 1 file changed, 57 insertions(+), 64 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 498e760c..c756eea9 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -18,12 +18,14 @@ package org.utplsql.sqldev.ui.runner import java.awt.Color import java.awt.Component import java.awt.Dimension +import java.awt.FlowLayout import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets import java.awt.event.FocusEvent import java.awt.event.FocusListener import java.text.DecimalFormat +import javax.swing.JComponent import javax.swing.JLabel import javax.swing.JPanel import javax.swing.JProgressBar @@ -51,6 +53,7 @@ class RunnerPanel implements FocusListener { JLabel testCounterValueLabel JLabel errorCounterValueLabel JLabel failureCounterValueLabel + JLabel disabledCounterValueLabel JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable @@ -114,6 +117,7 @@ class RunnerPanel implements FocusListener { testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' errorCounterValueLabel.text = '''«run.counter.error»''' failureCounterValueLabel.text = '''«run.counter.failure»''' + disabledCounterValueLabel.text = '''«run.counter.disabled»''' if (run.totalNumberOfTests == 0) { progressBar.value = 100 } else { @@ -227,7 +231,36 @@ class RunnerPanel implements FocusListener { label.horizontalAlignment = if (col === 2) {JLabel.RIGHT} else {JLabel.LEFT} return label } - } + } + + private def makeLabelledComponent (JLabel label, JComponent comp) { + val groupPanel = new JPanel + groupPanel.layout = new GridBagLayout + var GridBagConstraints c = new GridBagConstraints + // label + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 10, 5, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + groupPanel.add(label, c) + // component + c.gridx = 1 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(5, 5, 5, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::NONE + c.weightx = 0 + c.weighty = 0 + groupPanel.add(comp, c) + return groupPanel + } private def initializeGUI() { // Base panel containing all components @@ -239,7 +272,7 @@ class RunnerPanel implements FocusListener { statusLabel = new JLabel c.gridx = 0 c.gridy = 0 - c.gridwidth = 6 + c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST @@ -248,80 +281,40 @@ class RunnerPanel implements FocusListener { c.weighty = 0 basePanel.add(statusLabel, c) - // Test counter + // Counters + // - Test counter + val counterPanel = new JPanel + counterPanel.layout = new WrapLayout(FlowLayout.LEFT, 0, 0) val testCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_TESTS_LABEL") + ":", UtplsqlResources.getIcon("UTPLSQL_ICON"), JLabel::LEADING) - c.gridx = 0 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - basePanel.add(testCounterLabel, c) testCounterValueLabel = new JLabel - c.gridx = 1 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - basePanel.add(testCounterValueLabel, c) - - // Failure counter + counterPanel.add(makeLabelledComponent(testCounterLabel, testCounterValueLabel)) + // - Failure counter val failureCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_FAILURES_LABEL") + ":", UtplsqlResources.getIcon("FAILURE_ICON"), JLabel::LEADING) - c.gridx = 2 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - basePanel.add(failureCounterLabel, c) failureCounterValueLabel = new JLabel - c.gridx = 3 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - basePanel.add(failureCounterValueLabel, c) - - // Error counter + counterPanel.add(makeLabelledComponent(failureCounterLabel,failureCounterValueLabel)) + // - Error counter val errorCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_ERRORS_LABEL") + ":", UtplsqlResources.getIcon("ERROR_ICON"), JLabel::LEADING) - c.gridx = 4 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 5) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - basePanel.add(errorCounterLabel, c) errorCounterValueLabel = new JLabel - c.gridx = 5 + counterPanel.add(makeLabelledComponent(errorCounterLabel, errorCounterValueLabel)) + // - Disabled counter + val disabledCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_DISABLED_LABEL") + ":", + UtplsqlResources.getIcon("DISABLED_ICON"), JLabel::LEADING) + disabledCounterValueLabel = new JLabel + counterPanel.add(makeLabelledComponent(disabledCounterLabel, disabledCounterValueLabel)) + // - add everything to basePanel + c.gridx = 0 c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(10, 0, 10, 10) // top, left, bottom, right + c.insets = new Insets(5, 0, 5, 0) // top, left, bottom, right c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 c.weighty = 0 - basePanel.add(errorCounterValueLabel, c) + basePanel.add(counterPanel,c) // Progress bar progressBar = new JProgressBar @@ -333,7 +326,7 @@ class RunnerPanel implements FocusListener { progressBar.UI = new BasicProgressBarUI c.gridx = 0 c.gridy = 2 - c.gridwidth = 6 + c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST @@ -701,7 +694,7 @@ class RunnerPanel implements FocusListener { horizontalSplitPane.resizeWeight = 0.5 c.gridx = 0 c.gridy = 3 - c.gridwidth = 6 + c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST From 04d83761d407fddc3e52e7559d6d9640670ceb7d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 18:45:48 +0200 Subject: [PATCH 078/188] adding warning resource --- .../sqldev/resources/UtplsqlResources.properties | 2 ++ .../resources/UtplsqlResources_de.properties | 1 + .../utplsql/sqldev/resources/images/warning.png | Bin 0 -> 724 bytes 3 files changed, 3 insertions(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/warning.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index f0455819..3c8a760b 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -12,6 +12,7 @@ SUCCESS_ICON=/org/utplsql/sqldev/resources/images/success.png ERROR_ICON=/org/utplsql/sqldev/resources/images/error.png FAILURE_ICON=/org/utplsql/sqldev/resources/images/failure.png DISABLED_ICON=/org/utplsql/sqldev/resources/images/disabled.png +WARNING_ICON=/org/utplsql/sqldev/resources/images/warning.png # Translatable text PREF_LABEL=utPLSQL @@ -53,6 +54,7 @@ RUNNER_TESTS_LABEL=Tests RUNNER_FAILURES_LABEL=Failures RUNNER_ERRORS_LABEL=Errors RUNNER_DISABLED_LABEL=Disabled +RUNNER_WARNINGS_LABEL=Warnings RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index d6aaba70..b8e8a10d 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -40,6 +40,7 @@ RUNNER_TESTS_LABEL=Tests RUNNER_FAILURES_LABEL=Fehlschläge RUNNER_ERRORS_LABEL=Fehler RUNNER_DISABLED_LABEL=Deaktiviert +RUNNER_WARNINGS_LABEL=Warnungen RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/warning.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..0cea5484bce1331f6678a38eac0d37aae0167d26 GIT binary patch literal 724 zcmV;_0xSKAP)cOXqAi^Sg>mdjvEdNJDrIjDl6JAo3;OcfB#yWP2fKlv0QPcbI)-e z8Ro*~zRUj%n7vVR(QMm%MidfYoRgP|TL#bmHNexpYoorX^tr`m0$3XKt2lh`>9Ud& z4`2Kd;O(l@5R}Pjty*79dqW^d1FXh*xJDu_f#WxnwDhNz2VAdeu-fbH%`dvqF;I>~ zibd-|1{T(f$;aNtO|65D-vWF+wMH^)RWz%zP|=4^1>knS!_(fiik=#tMKUg!N{=~W zzXbTZYC83m2by#%{ED{OM-hoeF+WhC=;#80i4o7u?dQgue*y%$Yu9KCwtOJ-NvL_J za+YWJK;Q*1y%9xosSLaxVKDPHSkQ0>AAbaN?i@F4vsH1CXD}LgG1R(+Q$(tr;IVYH~y_6ljGLwZ6fdT~L3S)YL^X8;q< zK;xmFq(cD&udSwa_4{%~-%E(18X9$aV%Mz+8KA<^y(`lWVjPI12)$Z`{=V7B{`OcV z5xk&2sovXkRb~1NX(V`BpD#x&62@5DB#h>KBqDM&R)mfO=(!mBhw0Nq zw7Z-ocT`X!{YIWa$__XfjdJcO7qXA60}^or9bQm4v}ZpFo7JWHrN@(=KHi5|UgH zdHLmeNshrH?3e$Gq=LpkAQqz_aB@xVkt7K|CZY4t$(ApME-q$n32K7?0000 Date: Wed, 12 Jun 2019 18:46:07 +0200 Subject: [PATCH 079/188] add warnings counter --- .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index c756eea9..cb265148 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -54,6 +54,7 @@ class RunnerPanel implements FocusListener { JLabel errorCounterValueLabel JLabel failureCounterValueLabel JLabel disabledCounterValueLabel + JLabel warningsCounterValueLabel JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable @@ -118,6 +119,7 @@ class RunnerPanel implements FocusListener { errorCounterValueLabel.text = '''«run.counter.error»''' failureCounterValueLabel.text = '''«run.counter.failure»''' disabledCounterValueLabel.text = '''«run.counter.disabled»''' + warningsCounterValueLabel.text = '''«run.counter.warning»''' if (run.totalNumberOfTests == 0) { progressBar.value = 100 } else { @@ -304,6 +306,11 @@ class RunnerPanel implements FocusListener { UtplsqlResources.getIcon("DISABLED_ICON"), JLabel::LEADING) disabledCounterValueLabel = new JLabel counterPanel.add(makeLabelledComponent(disabledCounterLabel, disabledCounterValueLabel)) + // - Warnings counter + val warningsCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_WARNINGS_LABEL") + ":", + UtplsqlResources.getIcon("WARNING_ICON"), JLabel::LEADING) + warningsCounterValueLabel = new JLabel + counterPanel.add(makeLabelledComponent(warningsCounterLabel, warningsCounterValueLabel)) // - add everything to basePanel c.gridx = 0 c.gridy = 1 From e9e6a81ad1ab9a2c2b7042b8751806656086e4fb Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 20:39:44 +0200 Subject: [PATCH 080/188] add info resource --- .../sqldev/resources/UtplsqlResources.properties | 2 ++ .../resources/UtplsqlResources_de.properties | 1 + .../org/utplsql/sqldev/resources/images/info.png | Bin 0 -> 727 bytes 3 files changed, 3 insertions(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/info.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 3c8a760b..3cefc38d 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -13,6 +13,7 @@ ERROR_ICON=/org/utplsql/sqldev/resources/images/error.png FAILURE_ICON=/org/utplsql/sqldev/resources/images/failure.png DISABLED_ICON=/org/utplsql/sqldev/resources/images/disabled.png WARNING_ICON=/org/utplsql/sqldev/resources/images/warning.png +INFO_ICON=/org/utplsql/sqldev/resources/images/info.png # Translatable text PREF_LABEL=utPLSQL @@ -55,6 +56,7 @@ RUNNER_FAILURES_LABEL=Failures RUNNER_ERRORS_LABEL=Errors RUNNER_DISABLED_LABEL=Disabled RUNNER_WARNINGS_LABEL=Warnings +RUNNER_INFO_LABEL=Info RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index b8e8a10d..e0e8fa8c 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -41,6 +41,7 @@ RUNNER_FAILURES_LABEL=Fehlschl RUNNER_ERRORS_LABEL=Fehler RUNNER_DISABLED_LABEL=Deaktiviert RUNNER_WARNINGS_LABEL=Warnungen +RUNNER_INFO_LABEL=Info RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/info.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/info.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd4d289b01b81d0a88ad854f6edaf5abc77f053 GIT binary patch literal 727 zcmV;|0x127P)0Lp zZ740Jux)pDX2l<+@?N|&~&)xBH;Vi<8Aae9|qK)gnb zA$BUlm4PGW0BMN|*N2$uY4t{q1>F$bS7(zsUGye$M(@XD@fr>X5c4$^Si%mt91gf* z-7Ov{2n9Z*bl50bw&G zwV#QjInt1pJmf70aQ&jHFxV^!6k4`{@c3N@o_@C^SbqQPPxs9!D2)K}tmQ$|n$Fnk~Int1pJWhbQI6LuUIaLTK2KZeJNi^Zx z-u~K#ugQY_OdQRThP31%FQb2fF{Y|l9}I;~_C0EAZiH=cW4AeI=@Kwi0bipV8a*ob znGUPz93(%_-{sHlkE55{O;qp9az1)#GFiB-r8;`JlC2Hf6GJHaR}!A|DA^=4uclJTFY z%~yJ4FF_f4QQfvD{nVEbB7mshr8Ptzkz%)=J9}!4Ux9xD3;>RxgtU<~*G~Wd002ov JPDHLkV1jiyOGy9# literal 0 HcmV?d00001 From 67b43a3acb959b5776c2e15d1f6666f9057c1350 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 20:41:29 +0200 Subject: [PATCH 081/188] add infoCounter (number of tests with server output) This is a virtual counter, not provided by the realtime reporter. It's only available on Run level, hence it is not put into the Counter class. --- sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend | 1 + 1 file changed, 1 insertion(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index 5b89794b..02dcf4a2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -29,6 +29,7 @@ class Run extends AbstractModel { String endTime Double executionTime Counter counter + Integer infoCount String errorStack String serverOutput LinkedHashMap tests From adf0d6aa0f38fb92c8b363b6e98b1259f59202ba Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 20:42:05 +0200 Subject: [PATCH 082/188] populate infoCount on Run level --- .../main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 2db52e57..3c32c9c2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -103,6 +103,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.counter.failure = 0 run.counter.error = 0 run.counter.warning = 0 + run.infoCount = 0 run.totalNumberOfTests = -1 run.status = UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT") panel.model = run @@ -157,6 +158,9 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { test.counter = event.counter test.errorStack = event.errorStack test.serverOutput = event.serverOutput + if (test.serverOutput !== null) { + run.infoCount = run.infoCount + 1 + } test.failedExpectations = event.failedExpectations test.warnings = event.warnings } From ca1161eece393fdaa3aab2ac1b1f37cd56d39f15 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 20:44:06 +0200 Subject: [PATCH 083/188] add info counter and align counters --- .../sqldev/ui/runner/RunnerPanel.xtend | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index cb265148..e39da5f8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -55,6 +55,7 @@ class RunnerPanel implements FocusListener { JLabel failureCounterValueLabel JLabel disabledCounterValueLabel JLabel warningsCounterValueLabel + JLabel infoCounterValueLabel JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable @@ -120,6 +121,7 @@ class RunnerPanel implements FocusListener { failureCounterValueLabel.text = '''«run.counter.failure»''' disabledCounterValueLabel.text = '''«run.counter.disabled»''' warningsCounterValueLabel.text = '''«run.counter.warning»''' + infoCounterValueLabel.text = '''«run.infoCount»''' if (run.totalNumberOfTests == 0) { progressBar.value = 100 } else { @@ -235,7 +237,7 @@ class RunnerPanel implements FocusListener { } } - private def makeLabelledComponent (JLabel label, JComponent comp) { + private def makeLabelledCounterComponent (JLabel label, JComponent comp) { val groupPanel = new JPanel groupPanel.layout = new GridBagLayout var GridBagConstraints c = new GridBagConstraints @@ -257,10 +259,13 @@ class RunnerPanel implements FocusListener { c.gridheight = 1 c.insets = new Insets(5, 5, 5, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 c.weighty = 0 groupPanel.add(comp, c) + val dim = new Dimension(154, 24) + groupPanel.minimumSize = dim + groupPanel.preferredSize = dim return groupPanel } @@ -290,27 +295,32 @@ class RunnerPanel implements FocusListener { val testCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_TESTS_LABEL") + ":", UtplsqlResources.getIcon("UTPLSQL_ICON"), JLabel::LEADING) testCounterValueLabel = new JLabel - counterPanel.add(makeLabelledComponent(testCounterLabel, testCounterValueLabel)) + counterPanel.add(makeLabelledCounterComponent(testCounterLabel, testCounterValueLabel)) // - Failure counter val failureCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_FAILURES_LABEL") + ":", UtplsqlResources.getIcon("FAILURE_ICON"), JLabel::LEADING) failureCounterValueLabel = new JLabel - counterPanel.add(makeLabelledComponent(failureCounterLabel,failureCounterValueLabel)) + counterPanel.add(makeLabelledCounterComponent(failureCounterLabel,failureCounterValueLabel)) // - Error counter val errorCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_ERRORS_LABEL") + ":", UtplsqlResources.getIcon("ERROR_ICON"), JLabel::LEADING) errorCounterValueLabel = new JLabel - counterPanel.add(makeLabelledComponent(errorCounterLabel, errorCounterValueLabel)) + counterPanel.add(makeLabelledCounterComponent(errorCounterLabel, errorCounterValueLabel)) // - Disabled counter val disabledCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_DISABLED_LABEL") + ":", UtplsqlResources.getIcon("DISABLED_ICON"), JLabel::LEADING) disabledCounterValueLabel = new JLabel - counterPanel.add(makeLabelledComponent(disabledCounterLabel, disabledCounterValueLabel)) + counterPanel.add(makeLabelledCounterComponent(disabledCounterLabel, disabledCounterValueLabel)) // - Warnings counter val warningsCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_WARNINGS_LABEL") + ":", UtplsqlResources.getIcon("WARNING_ICON"), JLabel::LEADING) warningsCounterValueLabel = new JLabel - counterPanel.add(makeLabelledComponent(warningsCounterLabel, warningsCounterValueLabel)) + counterPanel.add(makeLabelledCounterComponent(warningsCounterLabel, warningsCounterValueLabel)) + // - Info counter + val infoCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_INFO_LABEL") + ":", + UtplsqlResources.getIcon("INFO_ICON"), JLabel::LEADING) + infoCounterValueLabel = new JLabel + counterPanel.add(makeLabelledCounterComponent(infoCounterLabel, infoCounterValueLabel)) // - add everything to basePanel c.gridx = 0 c.gridy = 1 From e79e117dc16c7cffd8486145561fc55273acb9cb Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 22:14:58 +0200 Subject: [PATCH 084/188] calculate counter on run level based on tests only ensure that warnings on test level are counted as "1" independent of the number of rows used in utPLSQL --- .../java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 3c32c9c2..61a1708c 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -121,7 +121,6 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.startTime = event.startTime run.endTime = event.endTime run.executionTime = event.executionTime - run.counter = event.counter run.errorStack = event.errorStack run.serverOutput = event.serverOutput run.status = String.format(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"), event.executionTime) @@ -163,12 +162,18 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } test.failedExpectations = event.failedExpectations test.warnings = event.warnings + if (test.warnings !== null) { + // it does not matter how many rows are used by utPLSQL to store a warning event + test.counter.warning = 1 + } else { + test.counter.warning = 0 + } } run.counter.disabled = run.counter.disabled + event.counter.disabled run.counter.success = run.counter.success + event.counter.success run.counter.failure = run.counter.failure + event.counter.failure run.counter.error = run.counter.error + event.counter.error - run.counter.warning = run.counter.warning + event.counter.warning + run.counter.warning = run.counter.warning + test.counter.warning panel.update(reporterId) } From a795dbfa1cd897af17078e8d2530a000e59da697 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 22:15:53 +0200 Subject: [PATCH 085/188] add warnings tab --- .../sqldev/ui/runner/RunnerPanel.xtend | 105 +++++++++++------- 1 file changed, 65 insertions(+), 40 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index e39da5f8..268a8af6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -69,8 +69,9 @@ class RunnerPanel implements FocusListener { JTextArea testFailureDescriptionTextArea JTextArea testFailureMessageTextArea JTextArea testFailureCallerTextArea - JTextArea testServerOutputTextArea JTextArea testErrorStackTextArea + JTextArea testWarningsTextArea + JTextArea testServerOutputTextArea def Component getGUI() { if (basePanel === null) { @@ -93,8 +94,9 @@ class RunnerPanel implements FocusListener { testFailureDescriptionTextArea.text = null testFailureMessageTextArea.text = null testFailureCallerTextArea.text = null - testServerOutputTextArea.text = null testErrorStackTextArea.text = null + testWarningsTextArea.text = null + testServerOutputTextArea.text = null } def update(String reporterId) { @@ -211,8 +213,9 @@ class RunnerPanel implements FocusListener { p.testFailureMessageTextArea.text = null p.testFailureCallerTextArea.text = null } - p.testServerOutputTextArea.text = test.serverOutput p.testErrorStackTextArea.text = test.errorStack + p.testWarningsTextArea.text = test.warnings + p.testServerOutputTextArea.text = test.serverOutput } } } @@ -374,7 +377,7 @@ class RunnerPanel implements FocusListener { overviewTableTime.cellRenderer = timeFormatRenderer val testOverviewScrollPane = new JScrollPane(testOverviewTable) - // Test info tabbed pane + // Test tabbed pane (Test Properties) // - Id val testInfoPanel = new ScrollablePanel testInfoPanel.setLayout(new GridBagLayout()) @@ -565,13 +568,13 @@ class RunnerPanel implements FocusListener { c.weightx = 0 c.weighty = 1 testInfoPanel.add(testInfoVerticalSpringLabel, c) - val testInfoScrollPane = new JScrollPane(testInfoPanel) + val testPropertiesScrollPane = new JScrollPane(testInfoPanel) - // failures tabbed pane (failed expectations) + // Failures tabbed pane (failed expectations) // TODO support unbound number of failed expectations // - description - val testFailurePanel = new JPanel - testFailurePanel.setLayout(new GridBagLayout()) + val testFailuresPanel = new JPanel + testFailuresPanel.setLayout(new GridBagLayout()) val testFailureDescriptionLabel = new JLabel("Description") c.gridx = 0 c.gridy = 0 @@ -582,7 +585,7 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - testFailurePanel.add(testFailureDescriptionLabel, c) + testFailuresPanel.add(testFailureDescriptionLabel, c) testFailureDescriptionTextArea = new JTextArea testFailureDescriptionTextArea.editable = false testFailureDescriptionTextArea.enabled = true @@ -599,7 +602,7 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::HORIZONTAL c.weightx = 1 c.weighty = 0 - testFailurePanel.add(testFailureDescriptionScrollPane, c) + testFailuresPanel.add(testFailureDescriptionScrollPane, c) // - message val testFailureMessageLabel = new JLabel("Message") c.gridx = 0 @@ -611,7 +614,7 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - testFailurePanel.add(testFailureMessageLabel, c) + testFailuresPanel.add(testFailureMessageLabel, c) testFailureMessageTextArea = new JTextArea testFailureMessageTextArea.editable = false testFailureMessageTextArea.enabled = true @@ -628,7 +631,7 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::BOTH c.weightx = 1 c.weighty = 6 - testFailurePanel.add(testFailureMessageScrollPane, c) + testFailuresPanel.add(testFailureMessageScrollPane, c) // - caller val testFailureCallerLabel = new JLabel("Caller") c.gridx = 0 @@ -640,7 +643,7 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - testFailurePanel.add(testFailureCallerLabel, c) + testFailuresPanel.add(testFailureCallerLabel, c) testFailureCallerTextArea = new JTextArea testFailureCallerTextArea.editable = false testFailureCallerTextArea.enabled = true @@ -657,30 +660,9 @@ class RunnerPanel implements FocusListener { c.fill = GridBagConstraints::BOTH c.weightx = 1 c.weighty = 2 - testFailurePanel.add(testFailureCallerScrollPane, c) + testFailuresPanel.add(testFailureCallerScrollPane, c) - // server output tabbed pane - val testServerOutputPanel = new JPanel - testServerOutputPanel.setLayout(new GridBagLayout()) - testServerOutputTextArea = new JTextArea - testServerOutputTextArea.editable = false - testServerOutputTextArea.enabled = true - testServerOutputTextArea.lineWrap = true - testServerOutputTextArea.wrapStyleWord = true - testServerOutputTextArea.addFocusListener(this) - val testServerOutputScrollPane = new JScrollPane(testServerOutputTextArea) - c.gridx = 0 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::BOTH - c.weightx = 1 - c.weighty = 1 - testServerOutputPanel.add(testServerOutputScrollPane, c) - - // error stack tabbed pane + // Errors tabbed pane (Error Stack) val testErrorStackPanel = new JPanel testErrorStackPanel.setLayout(new GridBagLayout()) testErrorStackTextArea = new JTextArea @@ -700,13 +682,56 @@ class RunnerPanel implements FocusListener { c.weightx = 1 c.weighty = 1 testErrorStackPanel.add(testErrorStackScrollPane, c) + + // Warnings tabbed pane + val testWarningsPanel = new JPanel + testWarningsPanel.setLayout(new GridBagLayout()) + testWarningsTextArea = new JTextArea + testWarningsTextArea.editable = false + testWarningsTextArea.enabled = true + testWarningsTextArea.lineWrap = true + testWarningsTextArea.wrapStyleWord = true + testWarningsTextArea.addFocusListener(this) + val testWarningsScrollPane = new JScrollPane(testWarningsTextArea) + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 1 + testWarningsPanel.add(testWarningsScrollPane, c) + + // Info tabbed pane (Server Output) + val testServerOutputPanel = new JPanel + testServerOutputPanel.setLayout(new GridBagLayout()) + testServerOutputTextArea = new JTextArea + testServerOutputTextArea.editable = false + testServerOutputTextArea.enabled = true + testServerOutputTextArea.lineWrap = true + testServerOutputTextArea.wrapStyleWord = true + testServerOutputTextArea.addFocusListener(this) + val testServerOutputScrollPane = new JScrollPane(testServerOutputTextArea) + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.anchor = GridBagConstraints::WEST + c.fill = GridBagConstraints::BOTH + c.weightx = 1 + c.weighty = 1 + testServerOutputPanel.add(testServerOutputScrollPane, c) // split pane with all tabs val testDetailTabbedPane = new JTabbedPane() - testDetailTabbedPane.add("Info", testInfoScrollPane) - testDetailTabbedPane.add("Failures", testFailurePanel) - testDetailTabbedPane.add("Server Output", testServerOutputPanel) - testDetailTabbedPane.add("Error Stack", testErrorStackPanel) + testDetailTabbedPane.add("Test", testPropertiesScrollPane) + testDetailTabbedPane.add("Failures", testFailuresPanel) + testDetailTabbedPane.add("Errors", testErrorStackPanel) + testDetailTabbedPane.add("Warnings", testWarningsPanel) + testDetailTabbedPane.add("Info", testServerOutputPanel) val horizontalSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, testOverviewScrollPane, testDetailTabbedPane) horizontalSplitPane.resizeWeight = 0.5 c.gridx = 0 From be1c09b5eb46c4c064e7173129ad4c9e399a8b4c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 22:35:34 +0200 Subject: [PATCH 086/188] set column header to ID if there is no common prefix --- .../org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 79e357bd..5b065e2e 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -37,7 +37,7 @@ class TestOverviewTableModel extends DefaultTableModel { } def getTestIdColumnName() { - if (commonPrefix === null) { + if (commonPrefix === null || commonPrefix == "") { return UtplsqlResources.getString("RUNNER_TEST_ID") } else { commonPrefix From 95437831e1990ede62e8ff58bc5e10fbde42c76c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 23:22:37 +0200 Subject: [PATCH 087/188] change default frame size when running outside of SQL Developer --- .../src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 61a1708c..6af71e39 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -222,7 +222,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; panel = new RunnerPanel frame.add(panel.getGUI) - frame.preferredSize = new Dimension(500, 500) + frame.preferredSize = new Dimension(600, 800) frame.pack val dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2); From efd96bf18d6fa6dc4001992872cc497c4abb3107 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 23:23:10 +0200 Subject: [PATCH 088/188] removed RUNNER_TEST_STATUS (not required, always empty) --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 1 - .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 1 - 2 files changed, 2 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 3cefc38d..14b370e1 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -61,6 +61,5 @@ RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. RUNNER_NO_TESTS_FOUND_TEXT=No tests found. -RUNNER_TEST_STATUS= RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Time [s] diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index e0e8fa8c..494d1180 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -46,6 +46,5 @@ RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. -RUNNER_TEST_STATUS= RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Zeit [s] From 9d92cd02c6dc25e8164781e8c463cd98f3c9dc10 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 23:23:51 +0200 Subject: [PATCH 089/188] add warning and info indicators --- .../utplsql/sqldev/model/runner/Test.xtend | 18 +++++++++ .../sqldev/ui/runner/RunnerPanel.xtend | 40 +++++++++++++++---- .../ui/runner/TestOverviewTableModel.xtend | 20 ++++++++-- 3 files changed, 66 insertions(+), 12 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend index 0e02601a..09b1f500 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.xtend @@ -47,4 +47,22 @@ class Test extends Item { } return icon } + + def getWarningIcon() { + var Icon icon = null + if (counter !== null) { + if (counter.warning > 0) { + icon = UtplsqlResources.getIcon("WARNING_ICON") + } + } + return icon + } + + def getInfoIcon() { + var Icon icon = null + if (serverOutput !== null && serverOutput.length > 0) { + icon = UtplsqlResources.getIcon("INFO_ICON") + } + return icon + } } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 268a8af6..74f735b8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -103,7 +103,7 @@ class RunnerPanel implements FocusListener { val run = runs.get(reporterId) val row = run.totalNumberOfCompletedTests - 1 val header = testOverviewTableModel.testIdColumnName - val idColumn = testOverviewTable.columnModel.getColumn(1) + val idColumn = testOverviewTable.columnModel.getColumn(3) if (idColumn.headerValue != header) { idColumn.headerValue = header testOverviewTable.tableHeader.repaint @@ -235,7 +235,20 @@ class RunnerPanel implements FocusListener { int row, int col) { val renderer = table.getTableHeader().getDefaultRenderer() val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel - label.horizontalAlignment = if (col === 2) {JLabel.RIGHT} else {JLabel.LEFT} + if (col === 0) { + label.icon = UtplsqlResources.getIcon("UTPLSQL_ICON") + label.horizontalAlignment = JLabel.CENTER + } else if (col === 1) { + label.icon = UtplsqlResources.getIcon("WARNING_ICON") + label.horizontalAlignment = JLabel.CENTER + } else if (col === 2) { + label.icon = UtplsqlResources.getIcon("INFO_ICON") + label.horizontalAlignment = JLabel.CENTER + } else if (col === 3) { + label.horizontalAlignment = JLabel.LEFT + } else if (col === 4) { + label.horizontalAlignment = JLabel.RIGHT + } return label } } @@ -362,13 +375,24 @@ class RunnerPanel implements FocusListener { testOverviewTable.autoCreateRowSorter = true testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) val testTableHeaderRenderer = new TestTableHeaderRenderer - val overviewTableIcon = testOverviewTable.columnModel.getColumn(0) - overviewTableIcon.minWidth = 20 - overviewTableIcon.preferredWidth = 20 - overviewTableIcon.maxWidth = 20 - val overviewTableId = testOverviewTable.columnModel.getColumn(1) + val overviewTableStatus = testOverviewTable.columnModel.getColumn(0) + overviewTableStatus.minWidth = 20 + overviewTableStatus.preferredWidth = 20 + overviewTableStatus.maxWidth = 20 + overviewTableStatus.headerRenderer = testTableHeaderRenderer + val overviewTableWarning = testOverviewTable.columnModel.getColumn(1) + overviewTableWarning.minWidth = 20 + overviewTableWarning.preferredWidth = 20 + overviewTableWarning.maxWidth = 20 + overviewTableWarning.headerRenderer = testTableHeaderRenderer + val overviewTableInfo = testOverviewTable.columnModel.getColumn(2) + overviewTableInfo.minWidth = 20 + overviewTableInfo.preferredWidth = 20 + overviewTableInfo.maxWidth = 20 + overviewTableInfo.headerRenderer = testTableHeaderRenderer + val overviewTableId = testOverviewTable.columnModel.getColumn(3) overviewTableId.headerRenderer = testTableHeaderRenderer - val overviewTableTime = testOverviewTable.columnModel.getColumn(2) + val overviewTableTime = testOverviewTable.columnModel.getColumn(4) overviewTableTime.preferredWidth = 60 overviewTableTime.maxWidth = 100 overviewTableTime.headerRenderer = testTableHeaderRenderer diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 5b065e2e..8e5d7121 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -58,7 +58,7 @@ class TestOverviewTableModel extends DefaultTableModel { } override getColumnCount() { - return 3 + return 5 } override getValueAt(int row, int col) { @@ -74,9 +74,15 @@ class TestOverviewTableModel extends DefaultTableModel { return test.statusIcon } case 1: { - return test.id.substring(if(commonPrefix === null) {0} else {commonPrefix.length}) + return test.warningIcon } case 2: { + return test.infoIcon + } + case 3: { + return test.id.substring(if(commonPrefix === null) {0} else {commonPrefix.length}) + } + case 4: { return test.executionTime } default: { @@ -86,7 +92,7 @@ class TestOverviewTableModel extends DefaultTableModel { } override getColumnName(int col) { - return #[UtplsqlResources.getString("RUNNER_TEST_STATUS"), UtplsqlResources.getString("RUNNER_TEST_ID"), + return #["", "", "", UtplsqlResources.getString("RUNNER_TEST_ID"), UtplsqlResources.getString("RUNNER_TEST_EXECUTION_TIME")].get(col) } @@ -100,9 +106,15 @@ class TestOverviewTableModel extends DefaultTableModel { return Icon } case 1: { - return String + return Icon } case 2: { + return Icon + } + case 3: { + return String + } + case 4: { return Double } default: { From b0934a82bdb76d2d15e84320512fac1ebfac7f41 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 23:44:57 +0200 Subject: [PATCH 090/188] fix headers without icon --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 74f735b8..cebd04fe 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -245,8 +245,10 @@ class RunnerPanel implements FocusListener { label.icon = UtplsqlResources.getIcon("INFO_ICON") label.horizontalAlignment = JLabel.CENTER } else if (col === 3) { + label.icon = null label.horizontalAlignment = JLabel.LEFT } else if (col === 4) { + label.icon = null label.horizontalAlignment = JLabel.RIGHT } return label From 837634df8f53bbda3d4a3594b71dd1910ba9a743 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 23:59:00 +0200 Subject: [PATCH 091/188] sync test detail tabs with most sensible content --- .../utplsql/sqldev/ui/runner/RunnerPanel.xtend | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index cebd04fe..ebe77f43 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -72,6 +72,7 @@ class RunnerPanel implements FocusListener { JTextArea testErrorStackTextArea JTextArea testWarningsTextArea JTextArea testServerOutputTextArea + JTabbedPane testDetailTabbedPane def Component getGUI() { if (basePanel === null) { @@ -216,6 +217,19 @@ class RunnerPanel implements FocusListener { p.testErrorStackTextArea.text = test.errorStack p.testWarningsTextArea.text = test.warnings p.testServerOutputTextArea.text = test.serverOutput + var int tabIndex + if (test.counter.failure > 0) { + tabIndex = 1 + } else if (test.counter.error > 0) { + tabIndex = 2 + } else if (test.counter.warning > 0) { + tabIndex = 3 + } else if (test.serverOutput !== null && test.serverOutput.length > 0) { + tabIndex = 4 + } else { + tabIndex = 0 + } + p.testDetailTabbedPane.selectedIndex = tabIndex } } } @@ -752,7 +766,7 @@ class RunnerPanel implements FocusListener { testServerOutputPanel.add(testServerOutputScrollPane, c) // split pane with all tabs - val testDetailTabbedPane = new JTabbedPane() + testDetailTabbedPane = new JTabbedPane() testDetailTabbedPane.add("Test", testPropertiesScrollPane) testDetailTabbedPane.add("Failures", testFailuresPanel) testDetailTabbedPane.add("Errors", testErrorStackPanel) From 0c152ba427a0f21b6c3147715a1502673328cca3 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 14:06:53 +0200 Subject: [PATCH 092/188] new info icon --- .../utplsql/sqldev/resources/images/info.png | Bin 727 -> 796 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/info.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/info.png index bbd4d289b01b81d0a88ad854f6edaf5abc77f053..eaf2ead82bf4728e2f4f78f27c088d1efe2ae4ea 100644 GIT binary patch delta 736 zcmV<60w4X?1)K(uBn<>-K}|sb0I$e51&ZmBAt-;YNklK4D7LceR0b@*vfyAhB=|WbzRu?8l-KvSvg=s>f3&ceciNuJOp$0!- z$Nb9{nW!$5_F@V zdJlhkTNigi1pYBi6T-z0O$5Hu)l$}W(z_QGh3Uvlw?SS}F&bKhe^`d^)t5eK`dzcX z!!HOzl7ODvbhtF*-i@>6N2=Y~SWtkaO<+w0Y$8BBNE1v91m^I#TbhW@OkRg{?FB<^ zmTcqZgG+~wdrGr0@f%nsg8NT`xO1x)3mboc`=AT4O#vmY98#5*7yL9^0(;gFmdBPv zK66*gzBYa`DTQhPnwjDZRMWa2T?f2JJ*chsHo)oWq%DV?jA=gM-GfEN8q(v#=g-xk zqrC=O^k36~ExO0ox+i>Jd zKs7-^6-6CN_BU3V6tW46@x=0T7`z3ihXEkmV ztN53INfj<)2#rPPEOVo@waf~7d@p~$_Pv#UB5PN2I3>ooeD0qIzabJF2_X7?*l|Io%|M# z-9AInT&=6GZm6s(Mgc{|ZnI(GNg1K>S%gQV0Dc8~G536sVBcARkfPPyUIj>Jc_-{S zjoUek6qQD9vtfK@mc2IpgC=Jfocx$lmxHQ^UlPulqhhz&usBF&UlYTB1sDKTF=RI) Sc+!9X00008G|5tG4bHZhygF$NI1a7pVSa9dV^@xATdV8*rbWdk8LO|rLb*xcV@@$ z+tMvPyPLPW^X9#`-+Z&nq?GVKhf0^Wsnxw)17a9)9&vh?TR^-C^S zbqQPPxs9!D2)K}tmQ$|n$Fnk~Int1pJWhbQI6LuUIaLTK2KZeJNi^Zx-u~K#ugQY_ zOdQRThP31%FQb2fF{Y|l9}I;~_C0EAZiH=cW4AeI=@Kwi0bipV8a*obnGUPz93(%_ z-{sHlkE55{e@#^H%yK?@X);;3t))78?sc>uK6Eq~02bU|UIy18oy)?fKWl$wV&S29 zH9A9{non67j%|vu=nS-;Sd5>$aXsG9bOzksPCLOUF2PRbz4c~d5|Z(ssLfY;WG_J( zdQsiBC;ily5F&u6-=#G~9+6_Vo;!PLjbDL(0t^6-6QG2&ku=v&00000NkvXXu0mjf Dv}r!w From cb301365041259dbf7530248627d7388dd20f7bc Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 14:07:08 +0200 Subject: [PATCH 093/188] new warning icon --- .../utplsql/sqldev/resources/images/warning.png | Bin 724 -> 693 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/warning.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/warning.png index 0cea5484bce1331f6678a38eac0d37aae0167d26..63e614dbcba410c3e5872d126d4520215631d553 100644 GIT binary patch delta 670 zcmV;P0%85s1+@i`BYyw{XF*Lt007q5)K6G40000PbVXQnQ*UN;cVTj606}DLVr3vn zZDD6+Qe|Oed2z{QJOBU!M@d9MRCwBA{Qv(y12!-rmT}#`e++>@yuM`l{~!h&03d)E zKn9@W{ul=D=v1%!}jYqn6IqNz+hp*An$L$P{arX=;{Fi2*o+QQ4Bm2 z6M3Kh{r=>CXA1ZK6i3GYok@)UpKoONU+u;4Mn#lC3*8F<0mOu6dy!vqp%l}*xeRA7 zd}Fx#kb&XsC4UA62~h?HJ4*&(TNQ?Kpd(n2^#BAA+<=})Mrm$AnKF5kGzNy}-3;QQ z5OHx4kjV@TR>nX!FGHBAJcA{&0RRESgk*blU}hCJ^}JtTTPY=QJ&1_mAu z1_n191`a(*uq!xV`Tzom5#*1qa7Ha5Y3)lXt*e+Bu7BzQ4fqSz1hN@SL-D^q3=HL6 z4F66%U^TM?Z3^65)3=7vI3}6Bp=s z1#|^3NH0JDF?ED8+8f*3d-DtNFfhE^3b%RpQAUPmuYmM%MuaPXF0j#MV9-}&Fm+O9 zhz1z|5Pv{SK-)_#14_XG$M7HFY*&l_3{t>=bT#`A*9yiawAd$3QxG1Q0-sxUw^`02d&@0OigF!G!P0m;e9(07*qoM6N<$ Ef}39x8UO$Q delta 701 zcmV;u0z&<@1=IzQBYy&$NklcOXqAi^Sg>mdjvEdNJDrIj zDl6JAo3;OcfB#yWP2fKlv0QPcbI)-e8Ro*~zRUj%n7vVR(SK~)d`1)!V4RbeidzQH z{x!hUzH6htsPwtTW&&6m^s6|0@9DCV6Axef5#a5r(-4%&X{}mcOnXBhNCT|KdALR* zE`j4Wl(h7xmIqv~YOvbt?#(Z{(J@etM2bc0K?WAqi^<2{#!an*j^6@&J+($MYgII> zvQW{7PX*w1zkkEi-nELJ8lFWmE|^M>Iby#A_`7O4^_2&jbSwOdw%JD!iAFI$P@w4O z0)dGU&&}=U#+!cv1iEY2XbZM{AoEG6d8cxgXZJwh1u(r4MRTbPydGgN^EOz}a0efM z1a$5kH*B+2agk>*8hGU_r&4}a!H>pSB1?*Mw5Zbd3TdT7dO|6BaY2AtpMfc7029tY+hDG5>Fp`%1Z88>#H zFGnmA#(!AbB#h>KBqDM&R)mfO=(!mBhw0Nqw7Z-ocT`X!{YIWa$__XfjdJcO7qXA6 z0}^or9bQm4v}ZpFo7JWHrN@(=KHi5|UgHc{cgwc}b4JBJ7v{i==|aKp+;QAaHU` j?vW%3J|>~_(8-oBhAu8 Date: Thu, 13 Jun 2019 14:07:39 +0200 Subject: [PATCH 094/188] add toolbar icons to resource bundle --- .../sqldev/resources/UtplsqlResources.properties | 3 +++ .../utplsql/sqldev/resources/images/refresh.png | Bin 0 -> 946 bytes .../org/utplsql/sqldev/resources/images/run.png | Bin 0 -> 579 bytes .../sqldev/resources/images/run_worksheet.png | Bin 0 -> 3376 bytes 4 files changed, 3 insertions(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/refresh.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/run.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/run_worksheet.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 14b370e1..b9cc368b 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -14,6 +14,9 @@ FAILURE_ICON=/org/utplsql/sqldev/resources/images/failure.png DISABLED_ICON=/org/utplsql/sqldev/resources/images/disabled.png WARNING_ICON=/org/utplsql/sqldev/resources/images/warning.png INFO_ICON=/org/utplsql/sqldev/resources/images/info.png +REFRESH_ICON=/org/utplsql/sqldev/resources/images/refresh.png +RUN_ICON=/org/utplsql/sqldev/resources/images/run.png +RUN_WORKSHEET_ICON=/org/utplsql/sqldev/resources/images/run_worksheet.png # Translatable text PREF_LABEL=utPLSQL diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/refresh.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..2aebd50a161a24fc6802b84e53aad511e291ed41 GIT binary patch literal 946 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 Date: Thu, 13 Jun 2019 14:08:51 +0200 Subject: [PATCH 095/188] add toolbar based on JToolBar to mimic look & feel of SQLDev this way the GUI can be shown outside of the IDE, that simplifies development --- .../sqldev/ui/runner/GradientToolbar.xtend | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend new file mode 100644 index 00000000..c7185c0e --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend @@ -0,0 +1,38 @@ +package org.utplsql.sqldev.ui.runner + +import java.awt.Color +import java.awt.GradientPaint +import java.awt.Graphics +import java.awt.Graphics2D +import javax.swing.JToolBar + +class GradientToolbar extends JToolBar { + override paintComponent(Graphics g) { + // default for non-opaque components + if (!opaque) { + super.paintComponent(g) + return + } + + // paint gradient background from top to bottom + val g2d = g as Graphics2D + val w = width + val h = height + val h2 = height / 2 as int + val colorTop = new Color(237, 237, 237) + val colorMiddle = new Color(244, 244, 244) + val colorBottom = new Color(254, 254, 254) + val gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle) + g2d.paint = gp1 + g2d.fillRect(0, 0, w, h2) + val gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom) + g2d.paint = gp2 + g2d.fillRect(0, h2, w, h) + + // do rest, changing opaque to ensure background is not overwritten + setOpaque(false) + super.paintComponent(g) + setOpaque(true) + } + +} \ No newline at end of file From 5e49843129db98896f9600aec52c264029cee3ea Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 14:09:58 +0200 Subject: [PATCH 096/188] add pathList to Run, required to handle reruns --- .../org/utplsql/sqldev/model/runner/Run.xtend | 4 +- .../sqldev/ui/runner/RunnerPanel.xtend | 82 ++++++++++++++++--- .../test/runner/UtplsqlRunnerPanelTest.xtend | 2 +- 3 files changed, 74 insertions(+), 14 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index 02dcf4a2..877bd8d1 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -24,6 +24,7 @@ import org.utplsql.sqldev.model.AbstractModel class Run extends AbstractModel { String reporterId String connectionName + List pathList Integer totalNumberOfTests String startTime String endTime @@ -35,9 +36,10 @@ class Run extends AbstractModel { LinkedHashMap tests String status - new(String reporterId, String connectionName) { + new(String reporterId, String connectionName, List pathList) { this.reporterId = reporterId this.connectionName = connectionName + this.pathList = pathList this.counter = new Counter this.tests = new LinkedHashMap } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index ebe77f43..573e095a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -22,6 +22,8 @@ import java.awt.FlowLayout import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets +import java.awt.event.ActionEvent +import java.awt.event.ActionListener import java.awt.event.FocusEvent import java.awt.event.FocusListener import java.text.DecimalFormat @@ -36,19 +38,27 @@ import javax.swing.JTable import javax.swing.JTextArea import javax.swing.JTextField import javax.swing.SwingConstants +import javax.swing.border.LineBorder import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI import javax.swing.table.DefaultTableCellRenderer +import oracle.javatools.ui.table.ToolbarButton import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.runner.Run import org.utplsql.sqldev.resources.UtplsqlResources +import org.utplsql.sqldev.runner.UtplsqlRunner +import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner -class RunnerPanel implements FocusListener { +class RunnerPanel implements FocusListener, ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) + Run currentRun JPanel basePanel + ToolbarButton refreshButton + ToolbarButton rerunButton + ToolbarButton rerunWorksheetButton JLabel statusLabel JLabel testCounterValueLabel JLabel errorCounterValueLabel @@ -80,10 +90,8 @@ class RunnerPanel implements FocusListener { } return basePanel } - - def setModel(Run run) { - runs.put(run.reporterId, run) - testOverviewTableModel.model = run.tests + + private def resetDerived() { testOverviewTable.rowSorter.sortKeys = null testIdTextArea.text = null testOwnerTextField.text = null @@ -99,6 +107,13 @@ class RunnerPanel implements FocusListener { testWarningsTextArea.text = null testServerOutputTextArea.text = null } + + def setModel(Run run) { + runs.put(run.reporterId, run) + currentRun = run + testOverviewTableModel.model = run.tests + resetDerived + } def update(String reporterId) { val run = runs.get(reporterId) @@ -172,6 +187,20 @@ class RunnerPanel implements FocusListener { testErrorStackTextArea.caret.visible = false } } + + override actionPerformed(ActionEvent e) { + if (e.source == refreshButton) { + resetDerived + testDetailTabbedPane.selectedIndex = 0 + testOverviewTableModel.fireTableDataChanged + } else if (e.source == rerunButton) { + val runner = new UtplsqlRunner(currentRun.pathList, currentRun.connectionName) + runner.runTestAsync + } else if (e.source == rerunWorksheetButton) { + val worksheet = new UtplsqlWorksheetRunner(currentRun.pathList, currentRun.connectionName) + worksheet.runTestAsync + } + } private static def formatDateTime(String dateTime) { if (dateTime === null) { @@ -300,17 +329,47 @@ class RunnerPanel implements FocusListener { groupPanel.preferredSize = dim return groupPanel } - + private def initializeGUI() { // Base panel containing all components basePanel = new JPanel() basePanel.setLayout(new GridBagLayout()) var GridBagConstraints c = new GridBagConstraints() + // Toolbar + var toolbar = new GradientToolbar + toolbar.floatable = false + toolbar.border = new LineBorder(Color.LIGHT_GRAY, 1) + toolbar.margin = new Insets(2, 2, 2, 2) + refreshButton = new ToolbarButton(UtplsqlResources.getIcon("REFRESH_ICON")) + refreshButton.toolTipText = "Reset ordering and refresh" + refreshButton.addActionListener(this) + toolbar.add(refreshButton) + rerunButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_ICON")) + rerunButton.toolTipText = "Rerun all tests" + rerunButton.addActionListener(this) + toolbar.add(rerunButton) + rerunWorksheetButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")) + rerunWorksheetButton.toolTipText = "Rerun all tests in a new worksheet" + rerunWorksheetButton.addActionListener(this) + toolbar.add(rerunWorksheetButton) + + + c.gridx = 0 + c.gridy = 0 + c.gridwidth = 1 + c.gridheight = 1 + c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right + c.anchor = GridBagConstraints::NORTH + c.fill = GridBagConstraints::HORIZONTAL + c.weightx = 1 + c.weighty = 0 + basePanel.add(toolbar, c) + // Status line statusLabel = new JLabel c.gridx = 0 - c.gridy = 0 + c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right @@ -355,7 +414,7 @@ class RunnerPanel implements FocusListener { counterPanel.add(makeLabelledCounterComponent(infoCounterLabel, infoCounterValueLabel)) // - add everything to basePanel c.gridx = 0 - c.gridy = 1 + c.gridy = 2 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 0, 5, 0) // top, left, bottom, right @@ -374,7 +433,7 @@ class RunnerPanel implements FocusListener { progressBar.foreground = GREEN progressBar.UI = new BasicProgressBarUI c.gridx = 0 - c.gridy = 2 + c.gridy = 3 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right @@ -775,7 +834,7 @@ class RunnerPanel implements FocusListener { val horizontalSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, testOverviewScrollPane, testDetailTabbedPane) horizontalSplitPane.resizeWeight = 0.5 c.gridx = 0 - c.gridy = 3 + c.gridy = 4 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right @@ -784,6 +843,5 @@ class RunnerPanel implements FocusListener { c.weightx = 1 c.weighty = 1 basePanel.add(horizontalSplitPane, c) - } - + } } \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend index 1bc2e31a..bca73972 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerPanelTest.xtend @@ -31,7 +31,7 @@ class UtplsqlRunnerPanelTest { @Before def void setup() { val reporterId = UUID.randomUUID().toString.replace("-", "") - run = new Run(null, reporterId) + run = new Run(null, reporterId, #[]) run.startTime = "2019-06-09T13:42:42.123456" run.counter.disabled = 0 run.counter.success = 0 From 21ac24849e06d9ca5a85779c08822c779ad12df0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 14:10:20 +0200 Subject: [PATCH 097/188] add toolbar with refresh, rerun and rerun in worksheet --- .../src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index 6af71e39..aeb7ac17 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -96,7 +96,7 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } private def initRun() { - run = new Run(reporterId, connectionName) + run = new Run(reporterId, connectionName, pathList) run.startTime = sysdate run.counter.disabled = 0 run.counter.success = 0 From 4772d3dba6cd1436b49cabe62d13879e07e4ea9c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 16:53:44 +0200 Subject: [PATCH 098/188] fix insets in toolbar --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 573e095a..9b11e97b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -38,7 +38,7 @@ import javax.swing.JTable import javax.swing.JTextArea import javax.swing.JTextField import javax.swing.SwingConstants -import javax.swing.border.LineBorder +import javax.swing.border.EmptyBorder import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI @@ -339,8 +339,7 @@ class RunnerPanel implements FocusListener, ActionListener { // Toolbar var toolbar = new GradientToolbar toolbar.floatable = false - toolbar.border = new LineBorder(Color.LIGHT_GRAY, 1) - toolbar.margin = new Insets(2, 2, 2, 2) + toolbar.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right refreshButton = new ToolbarButton(UtplsqlResources.getIcon("REFRESH_ICON")) refreshButton.toolTipText = "Reset ordering and refresh" refreshButton.addActionListener(this) From 860e654b58b67b906575f1f229283e3f867fae31 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 16:54:05 +0200 Subject: [PATCH 099/188] add separator line at the bottom of the toolbar --- .../org/utplsql/sqldev/ui/runner/GradientToolbar.xtend | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend index c7185c0e..b90d886d 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend @@ -14,20 +14,23 @@ class GradientToolbar extends JToolBar { return } - // paint gradient background from top to bottom + // paint gradient background from top to bottom with separator line at the bottom val g2d = g as Graphics2D val w = width - val h = height + val h = height - 1 val h2 = height / 2 as int val colorTop = new Color(237, 237, 237) val colorMiddle = new Color(244, 244, 244) val colorBottom = new Color(254, 254, 254) + val colorBottomLine = Color.LIGHT_GRAY val gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle) g2d.paint = gp1 g2d.fillRect(0, 0, w, h2) val gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom) g2d.paint = gp2 g2d.fillRect(0, h2, w, h) + g2d.paint = colorBottomLine + g2d.fillRect(0, h, w, h+1) // do rest, changing opaque to ensure background is not overwritten setOpaque(false) From 69a4a97faeedd9cf99c7c6f1df9345e3dcd52e02 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 21:48:08 +0200 Subject: [PATCH 100/188] add copyright header --- .../sqldev/ui/runner/GradientToolbar.xtend | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend index b90d886d..352ff457 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/GradientToolbar.xtend @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.utplsql.sqldev.ui.runner import java.awt.Color From ad3d5829449d364a72744c43eae64c88adddeed5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 21:48:55 +0200 Subject: [PATCH 101/188] add clear icon to resource bundle --- .../sqldev/resources/UtplsqlResources.properties | 1 + .../org/utplsql/sqldev/resources/images/clear.png | Bin 0 -> 617 bytes 2 files changed, 1 insertion(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/clear.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index b9cc368b..00cc372c 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -17,6 +17,7 @@ INFO_ICON=/org/utplsql/sqldev/resources/images/info.png REFRESH_ICON=/org/utplsql/sqldev/resources/images/refresh.png RUN_ICON=/org/utplsql/sqldev/resources/images/run.png RUN_WORKSHEET_ICON=/org/utplsql/sqldev/resources/images/run_worksheet.png +CLEAR_ICON=/org/utplsql/sqldev/resources/images/clear.png # Translatable text PREF_LABEL=utPLSQL diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/clear.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/clear.png new file mode 100644 index 0000000000000000000000000000000000000000..7132e95cdea8cb6109aced457ee6800cb0f655a2 GIT binary patch literal 617 zcmV-v0+#)WP)z^Q>-8KIssI20AY({UO#lFGbpQZ!pa1~&u>b&tnE(K8 zng9UjyZ`_%(*OV#r|*vQ$^ZZX-$_J4RCwBA`v3nw10kGd%+LVD|FOvd1Q79>&oKP| z^B@hw5P$$8N%Mzw4F8|bM0E*305LJ(0O=--4M3`X=1c~LzanW2U(U^9`1YEC;X4pt zDPjB%QwI=0O!zd1cI;+&E3_D{`702Ad&j`=^D_fOs5&#)5P$$;!lzkLNs&QVF^1v# zmvD&fK+V6tFfg?3XJUBqnPE92Bcm@s0I}fGtfZs_#;aGaW_b3_lHt$Ia|{lgw;5XZ zGBLdV#<2Xz^MA{MYHtAq5F9CdRLvj&5I`UU{v&IC{gnaaM~40XRT Date: Thu, 13 Jun 2019 21:50:15 +0200 Subject: [PATCH 102/188] generic key, value helper class for combo box model displays the value in the combo box, key is used internally only (e.g. for reporterId) --- .../sqldev/ui/runner/ComboBoxItem.xtend | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ComboBoxItem.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ComboBoxItem.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ComboBoxItem.xtend new file mode 100644 index 00000000..f78658a3 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/ComboBoxItem.xtend @@ -0,0 +1,28 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.ui.runner + +import java.util.AbstractMap + +class ComboBoxItem extends AbstractMap.SimpleEntry { + new(K key, V value) { + super(key, value) + } + + override toString() { + return value.toString + } +} From 36ed30133aa25e92b4a8877fb8576a6c3bc618d9 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 21:51:26 +0200 Subject: [PATCH 103/188] shorter representation of a test run to minimize the width of the combobox --- .../src/main/java/org/utplsql/sqldev/model/runner/Run.xtend | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend index 877bd8d1..a4ecc999 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.xtend @@ -45,7 +45,9 @@ class Run extends AbstractModel { } def getName() { - return '''«startTime» («connectionName»)''' + val time = startTime.substring(11,19) + val conn = connectionName?.substring(15) + return '''«time» («conn»)''' } def void put(List items) { From 858c9b1e92ce395d3e4fd95c4f8ba1146530d071 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 21:53:20 +0200 Subject: [PATCH 104/188] add combobox with latest runs to toolbar, with clear button --- .../sqldev/ui/runner/RunnerPanel.xtend | 88 +++++++++++++++---- 1 file changed, 70 insertions(+), 18 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 9b11e97b..99ed3f17 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -27,6 +27,9 @@ import java.awt.event.ActionListener import java.awt.event.FocusEvent import java.awt.event.FocusListener import java.text.DecimalFormat +import javax.swing.Box +import javax.swing.DefaultComboBoxModel +import javax.swing.JComboBox import javax.swing.JComponent import javax.swing.JLabel import javax.swing.JPanel @@ -59,6 +62,9 @@ class RunnerPanel implements FocusListener, ActionListener { ToolbarButton refreshButton ToolbarButton rerunButton ToolbarButton rerunWorksheetButton + DefaultComboBoxModel> runComboBoxModel + ToolbarButton clearButton + JComboBox> runComboBox JLabel statusLabel JLabel testCounterValueLabel JLabel errorCounterValueLabel @@ -107,17 +113,39 @@ class RunnerPanel implements FocusListener, ActionListener { testWarningsTextArea.text = null testServerOutputTextArea.text = null } + + private def refreshRunsComboBox() { + if (runs.size > 0) { + runComboBox.removeActionListener(this) + runComboBoxModel.removeAllElements + for (var i = runs.size - 1 ; i >= 0; i--) { + val entry = runs.entrySet.get(i) + val item = new ComboBoxItem(entry.key, entry.value.name) + runComboBoxModel.addElement(item) + } + runComboBox.selectedIndex = 0 + runComboBox.addActionListener(this) + } + } def setModel(Run run) { runs.put(run.reporterId, run) - currentRun = run - testOverviewTableModel.model = run.tests - resetDerived + refreshRunsComboBox + setCurrentRun(run) } - def update(String reporterId) { - val run = runs.get(reporterId) - val row = run.totalNumberOfCompletedTests - 1 + private def setCurrentRun(Run run) { + if (run !== currentRun) { + currentRun = run + testOverviewTableModel.model = run.tests + resetDerived + runComboBox.selectedItem = run.name + } + } + + def synchronized update(String reporterId) { + setCurrentRun(runs.get(reporterId)) + val row = currentRun.totalNumberOfCompletedTests - 1 val header = testOverviewTableModel.testIdColumnName val idColumn = testOverviewTable.columnModel.getColumn(3) if (idColumn.headerValue != header) { @@ -133,19 +161,19 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable.scrollRectToVisible = positionOfCurrentTest } } - statusLabel.text = run.status - testCounterValueLabel.text = '''«run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»''' - errorCounterValueLabel.text = '''«run.counter.error»''' - failureCounterValueLabel.text = '''«run.counter.failure»''' - disabledCounterValueLabel.text = '''«run.counter.disabled»''' - warningsCounterValueLabel.text = '''«run.counter.warning»''' - infoCounterValueLabel.text = '''«run.infoCount»''' - if (run.totalNumberOfTests == 0) { + statusLabel.text = currentRun.status + testCounterValueLabel.text = '''«currentRun.totalNumberOfCompletedTests»/«currentRun.totalNumberOfTests»''' + errorCounterValueLabel.text = '''«currentRun.counter.error»''' + failureCounterValueLabel.text = '''«currentRun.counter.failure»''' + disabledCounterValueLabel.text = '''«currentRun.counter.disabled»''' + warningsCounterValueLabel.text = '''«currentRun.counter.warning»''' + infoCounterValueLabel.text = '''«currentRun.infoCount»''' + if (currentRun.totalNumberOfTests == 0) { progressBar.value = 100 } else { - progressBar.value = Math.round(100 * run.totalNumberOfCompletedTests / run.totalNumberOfTests) + progressBar.value = Math.round(100 * currentRun.totalNumberOfCompletedTests / currentRun.totalNumberOfTests) } - if (run.counter.error > 0 || run.counter.failure > 0) { + if (currentRun.counter.error > 0 || currentRun.counter.failure > 0) { progressBar.foreground = RED } else { progressBar.foreground = GREEN @@ -199,6 +227,20 @@ class RunnerPanel implements FocusListener, ActionListener { } else if (e.source == rerunWorksheetButton) { val worksheet = new UtplsqlWorksheetRunner(currentRun.pathList, currentRun.connectionName) worksheet.runTestAsync + } else if (e.source == runComboBox) { + if (currentRun !== null) { + val comboBoxItem = runComboBox.selectedItem as ComboBoxItem + if (currentRun.reporterId != comboBoxItem.key) { + update(comboBoxItem.key) + testDetailTabbedPane.selectedIndex = 0 + } + } + } else if (e.source == clearButton) { + val run = currentRun + runs.clear + currentRun = null + setModel(run) + update(run.reporterId) } } @@ -352,8 +394,18 @@ class RunnerPanel implements FocusListener, ActionListener { rerunWorksheetButton.toolTipText = "Rerun all tests in a new worksheet" rerunWorksheetButton.addActionListener(this) toolbar.add(rerunWorksheetButton) - - + toolbar.add(Box.createHorizontalGlue()) + runComboBoxModel = new DefaultComboBoxModel>; + runComboBox = new JComboBox>(runComboBoxModel); + runComboBox.editable = false + val comboBoxDim = new Dimension(500, 50) + runComboBox.maximumSize = comboBoxDim + runComboBox.addActionListener(this) + toolbar.add(runComboBox) + clearButton = new ToolbarButton(UtplsqlResources.getIcon("CLEAR_ICON")) + clearButton.toolTipText = "Clear history" + clearButton.addActionListener(this) + toolbar.add(clearButton) c.gridx = 0 c.gridy = 0 c.gridwidth = 1 From 10bde5ce24c4bdb829f8750d3f997c887a4fabfd Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 22:44:08 +0200 Subject: [PATCH 105/188] calculate common prefix when setting model fixes issue when switching test run via combobox --- .../utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 8e5d7121..802e1ef0 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -32,7 +32,7 @@ class TestOverviewTableModel extends DefaultTableModel { def setModel(LinkedHashMap tests) { this.tests = tests - this.commonPrefix = null + this.commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) fireTableDataChanged() } @@ -66,9 +66,6 @@ class TestOverviewTableModel extends DefaultTableModel { if (test === null) { return null } - if (commonPrefix === null) { - commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) - } switch (col) { case 0: { return test.statusIcon From 29915001eb0c8adcac67f38c660ca6dcc9d22e12 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 23:55:37 +0200 Subject: [PATCH 106/188] add description resource --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 1 + .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 1 + 2 files changed, 2 insertions(+) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 00cc372c..14329f15 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -67,3 +67,4 @@ RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. RUNNER_NO_TESTS_FOUND_TEXT=No tests found. RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Time [s] +RUNNER_DESCRIPTION=Description diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 494d1180..6157fde6 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -48,3 +48,4 @@ RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. RUNNER_TEST_ID=Id RUNNER_TEST_EXECUTION_TIME=Zeit [s] +RUNNER_DESCRIPTION=Beschreibung From 6c91842c4f30de8d4c9d8c910ec7185bd29eb915 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 23:56:02 +0200 Subject: [PATCH 107/188] table model for failed expectations --- .../sqldev/ui/runner/FailuresTableModel.xtend | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend new file mode 100644 index 00000000..4c9e8c7c --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend @@ -0,0 +1,88 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.utplsql.sqldev.ui.runner + +import java.util.List +import javax.swing.table.DefaultTableModel +import org.utplsql.sqldev.model.runner.Expectation +import org.utplsql.sqldev.resources.UtplsqlResources + +class FailuresTableModel extends DefaultTableModel { + List failedExpectations + + new() { + super() + } + + def setModel(List failedExpectations) { + this.failedExpectations = failedExpectations + } + + def getExpectation(int row) { + return failedExpectations.get(row) + } + + override getRowCount() { + if (failedExpectations === null) { + return 0 + } + return failedExpectations.size() + } + + override getColumnCount() { + return 2 + } + + override getValueAt(int row, int col) { + val expectation = failedExpectations.get(row) + if (expectation === null) { + return null + } + switch (col) { + case 0: { + return row + 1 + } + case 1: { + return expectation.description + } + default: { + return null + } + } + } + + override getColumnName(int col) { + return #["#", UtplsqlResources.getString("RUNNER_DESCRIPTION")].get(col) + } + + override isCellEditable(int row, int column) { + return false + } + + override getColumnClass(int col) { + switch (col) { + case 0: { + return Integer + } + case 1: { + return String + } + default: { + return String + } + } + } +} From 7805171310f31fd616b6d0352e1c65d16501017f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 13 Jun 2019 23:56:29 +0200 Subject: [PATCH 108/188] show all failed expectations --- .../sqldev/ui/runner/RunnerPanel.xtend | 118 ++++++++++-------- 1 file changed, 64 insertions(+), 54 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 99ed3f17..ac83ff87 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -82,7 +82,8 @@ class RunnerPanel implements FocusListener, ActionListener { JTextArea testDescriptionTextArea JTextField testStartTextField JTextField testEndTextField - JTextArea testFailureDescriptionTextArea + FailuresTableModel failuresTableModel + JTable failuresTable JTextArea testFailureMessageTextArea JTextArea testFailureCallerTextArea JTextArea testErrorStackTextArea @@ -106,7 +107,8 @@ class RunnerPanel implements FocusListener, ActionListener { testDescriptionTextArea.text = null testStartTextField.text = null testEndTextField.text = null - testFailureDescriptionTextArea.text = null + failuresTableModel.model = null + failuresTableModel.fireTableDataChanged testFailureMessageTextArea.text = null testFailureCallerTextArea.text = null testErrorStackTextArea.text = null @@ -185,8 +187,6 @@ class RunnerPanel implements FocusListener, ActionListener { testIdTextArea.caret.visible = true } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = true - } else if (e.source == testFailureDescriptionTextArea) { - testFailureDescriptionTextArea.caret.visible = true } else if (e.source == testFailureMessageTextArea) { testFailureMessageTextArea.caret.visible = true } else if (e.source == testFailureCallerTextArea) { @@ -203,8 +203,6 @@ class RunnerPanel implements FocusListener, ActionListener { testIdTextArea.caret.visible = false } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = false - } else if (e.source == testFailureDescriptionTextArea) { - testFailureDescriptionTextArea.caret.visible = false } else if (e.source == testFailureMessageTextArea) { testFailureMessageTextArea.caret.visible = false } else if (e.source == testFailureCallerTextArea) { @@ -275,15 +273,12 @@ class RunnerPanel implements FocusListener, ActionListener { p.testDescriptionTextArea.text = test.description p.testStartTextField.text = formatDateTime(test.startTime) p.testEndTextField.text = formatDateTime(test.endTime) - if (test.failedExpectations !== null && test.failedExpectations.size > 0) { - val expectation = test.failedExpectations.get(0) - p.testFailureDescriptionTextArea.text = expectation.description - p.testFailureMessageTextArea.text = expectation.message - p.testFailureCallerTextArea.text = expectation.caller - } else { - p.testFailureDescriptionTextArea.text = null - p.testFailureMessageTextArea.text = null - p.testFailureCallerTextArea.text = null + p.failuresTableModel.model = test.failedExpectations + p.testFailureMessageTextArea.text = null + p.testFailureCallerTextArea.text = null + if (test.failedExpectations.size > 0) { + p.failuresTableModel.fireTableDataChanged + p.failuresTable.setRowSelectionInterval(0, 0) } p.testErrorStackTextArea.text = test.errorStack p.testWarningsTextArea.text = test.warnings @@ -305,6 +300,24 @@ class RunnerPanel implements FocusListener, ActionListener { } } + static class FailuresRowListener implements ListSelectionListener { + RunnerPanel p + + new (RunnerPanel p) { + this.p = p + } + + override void valueChanged(ListSelectionEvent event) { + val rowIndex = p.failuresTable.selectedRow + if (rowIndex != -1) { + val row = p.failuresTable.convertRowIndexToModel(rowIndex) + val expectation = p.failuresTableModel.getExpectation(row) + p.testFailureMessageTextArea.text = expectation.message + p.testFailureCallerTextArea.text = expectation.caller + } + } + } + static class TimeFormatRenderer extends DefaultTableCellRenderer { static val DecimalFormat formatter = new DecimalFormat("#,##0.000") @@ -318,7 +331,7 @@ class RunnerPanel implements FocusListener, ActionListener { static class TestTableHeaderRenderer extends DefaultTableCellRenderer { override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) { - val renderer = table.getTableHeader().getDefaultRenderer() + val renderer = table.tableHeader.defaultRenderer val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel if (col === 0) { label.icon = UtplsqlResources.getIcon("UTPLSQL_ICON") @@ -339,6 +352,18 @@ class RunnerPanel implements FocusListener, ActionListener { return label } } + + static class FailuresTableHeaderRenderer extends DefaultTableCellRenderer { + override getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, + int row, int col) { + val renderer = table.tableHeader.defaultRenderer + val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel + if (col === 0) { + label.horizontalAlignment = JLabel.RIGHT + } + return label + } + } private def makeLabelledCounterComponent (JLabel label, JComponent comp) { val groupPanel = new JPanel @@ -721,45 +746,27 @@ class RunnerPanel implements FocusListener, ActionListener { val testPropertiesScrollPane = new JScrollPane(testInfoPanel) // Failures tabbed pane (failed expectations) - // TODO support unbound number of failed expectations - // - description + // - failures table (number and description) + failuresTableModel = new FailuresTableModel + failuresTable = new JTable(failuresTableModel) + failuresTable.tableHeader.reorderingAllowed = false + failuresTable.selectionModel.addListSelectionListener(new FailuresRowListener(this)) + val failuresTableHeaderRenderer = new FailuresTableHeaderRenderer + val failuresTableNumber = failuresTable.columnModel.getColumn(0) + failuresTableNumber.headerRenderer = failuresTableHeaderRenderer + failuresTableNumber.preferredWidth = 60 + failuresTableNumber.maxWidth = 60 + val failuresTableScrollPane = new JScrollPane(failuresTable) + // - failures details val testFailuresPanel = new JPanel testFailuresPanel.setLayout(new GridBagLayout()) - val testFailureDescriptionLabel = new JLabel("Description") - c.gridx = 0 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - testFailuresPanel.add(testFailureDescriptionLabel, c) - testFailureDescriptionTextArea = new JTextArea - testFailureDescriptionTextArea.editable = false - testFailureDescriptionTextArea.enabled = true - testFailureDescriptionTextArea.lineWrap = true - testFailureDescriptionTextArea.wrapStyleWord = true - testFailureDescriptionTextArea.addFocusListener(this) - val testFailureDescriptionScrollPane = new JScrollPane(testFailureDescriptionTextArea) - c.gridx = 1 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::HORIZONTAL - c.weightx = 1 - c.weighty = 0 - testFailuresPanel.add(testFailureDescriptionScrollPane, c) // - message val testFailureMessageLabel = new JLabel("Message") c.gridx = 0 - c.gridy = 1 + c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::NORTHWEST c.fill = GridBagConstraints::NONE c.weightx = 0 @@ -773,10 +780,10 @@ class RunnerPanel implements FocusListener, ActionListener { testFailureMessageTextArea.addFocusListener(this) val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextArea) c.gridx = 1 - c.gridy = 1 + c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.insets = new Insets(10, 5, 0, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::BOTH c.weightx = 1 @@ -785,10 +792,10 @@ class RunnerPanel implements FocusListener, ActionListener { // - caller val testFailureCallerLabel = new JLabel("Caller") c.gridx = 0 - c.gridy = 2 + c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.insets = new Insets(5, 10, 10, 0) // top, left, bottom, right c.anchor = GridBagConstraints::NORTHWEST c.fill = GridBagConstraints::NONE c.weightx = 0 @@ -802,7 +809,7 @@ class RunnerPanel implements FocusListener, ActionListener { testFailureCallerTextArea.addFocusListener(this) val testFailureCallerScrollPane = new JScrollPane(testFailureCallerTextArea) c.gridx = 1 - c.gridy = 2 + c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 10, 10) // top, left, bottom, right @@ -811,6 +818,9 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 2 testFailuresPanel.add(testFailureCallerScrollPane, c) + // - split pane + val failuresSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, failuresTableScrollPane, testFailuresPanel) + failuresSplitPane.resizeWeight = 0.2 // Errors tabbed pane (Error Stack) val testErrorStackPanel = new JPanel @@ -878,7 +888,7 @@ class RunnerPanel implements FocusListener, ActionListener { // split pane with all tabs testDetailTabbedPane = new JTabbedPane() testDetailTabbedPane.add("Test", testPropertiesScrollPane) - testDetailTabbedPane.add("Failures", testFailuresPanel) + testDetailTabbedPane.add("Failures", failuresSplitPane) testDetailTabbedPane.add("Errors", testErrorStackPanel) testDetailTabbedPane.add("Warnings", testWarningsPanel) testDetailTabbedPane.add("Info", testServerOutputPanel) From e7f3f10ea914d2dd13d0f288ea66d05b162f7f5a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 10:19:27 +0200 Subject: [PATCH 109/188] Fix formatting issues in failure tab --- .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index ac83ff87..abf46a75 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -360,6 +360,8 @@ class RunnerPanel implements FocusListener, ActionListener { val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel if (col === 0) { label.horizontalAlignment = JLabel.RIGHT + } else { + label.horizontalAlignment = JLabel.LEFT } return label } @@ -754,8 +756,10 @@ class RunnerPanel implements FocusListener, ActionListener { val failuresTableHeaderRenderer = new FailuresTableHeaderRenderer val failuresTableNumber = failuresTable.columnModel.getColumn(0) failuresTableNumber.headerRenderer = failuresTableHeaderRenderer - failuresTableNumber.preferredWidth = 60 - failuresTableNumber.maxWidth = 60 + failuresTableNumber.preferredWidth = 30 + failuresTableNumber.maxWidth = 30 + val failuresDescription = failuresTable.columnModel.getColumn(1) + failuresDescription.headerRenderer = failuresTableHeaderRenderer val failuresTableScrollPane = new JScrollPane(failuresTable) // - failures details val testFailuresPanel = new JPanel From 3b52818dcadaf4992435aaecefb5b55725b8ed6a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 10:20:39 +0200 Subject: [PATCH 110/188] fix margins of description label and use resource --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index abf46a75..2ab26f6a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -658,12 +658,12 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testProcedureTextField, c) // - Description - val testDescriptionLabel = new JLabel("Description") + val testDescriptionLabel = new JLabel(UtplsqlResources.getString("RUNNER_DESCRIPTION")) c.gridx = 0 c.gridy = 4 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.insets = new Insets(5, 5, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::NORTHWEST c.fill = GridBagConstraints::NONE c.weightx = 0 From 7a0b4e967fd0e3126b846dc7ebd69f46a49d57ab Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 13:53:05 +0200 Subject: [PATCH 111/188] calculate common prefix also for initially empty model --- .../sqldev/ui/runner/TestOverviewTableModel.xtend | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 802e1ef0..4542faa6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -25,18 +25,29 @@ import org.utplsql.sqldev.resources.UtplsqlResources class TestOverviewTableModel extends DefaultTableModel { LinkedHashMap tests String commonPrefix + boolean commonPrefixCalculated new() { super() } + private def calcCommonPrefix() { + if (!commonPrefixCalculated && tests.size > 0) { + this.commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) + fireTableDataChanged() + commonPrefixCalculated = true + } + } + def setModel(LinkedHashMap tests) { + commonPrefixCalculated = false this.tests = tests - this.commonPrefix = PrefixTools.commonPrefix(tests.keySet.toList) + calcCommonPrefix fireTableDataChanged() } def getTestIdColumnName() { + calcCommonPrefix if (commonPrefix === null || commonPrefix == "") { return UtplsqlResources.getString("RUNNER_TEST_ID") } else { From 6b9c9b6cb2a41bfe623a613653b1f67086b38ea4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 13:53:56 +0200 Subject: [PATCH 112/188] add context menu items to run selected tests --- .../sqldev/ui/runner/RunnerPanel.xtend | 50 ++++++++++++++++--- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 2ab26f6a..b0b7f865 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -27,12 +27,15 @@ import java.awt.event.ActionListener import java.awt.event.FocusEvent import java.awt.event.FocusListener import java.text.DecimalFormat +import java.util.ArrayList import javax.swing.Box import javax.swing.DefaultComboBoxModel import javax.swing.JComboBox import javax.swing.JComponent import javax.swing.JLabel +import javax.swing.JMenuItem import javax.swing.JPanel +import javax.swing.JPopupMenu import javax.swing.JProgressBar import javax.swing.JScrollPane import javax.swing.JSplitPane @@ -62,9 +65,9 @@ class RunnerPanel implements FocusListener, ActionListener { ToolbarButton refreshButton ToolbarButton rerunButton ToolbarButton rerunWorksheetButton - DefaultComboBoxModel> runComboBoxModel + DefaultComboBoxModel> runComboBoxModel ToolbarButton clearButton - JComboBox> runComboBox + JComboBox> runComboBox JLabel statusLabel JLabel testCounterValueLabel JLabel errorCounterValueLabel @@ -75,6 +78,8 @@ class RunnerPanel implements FocusListener, ActionListener { JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable + JMenuItem testOverviewRunMenuItem + JMenuItem testOverviewRunWorksheetMenuItem JTextArea testIdTextArea JTextField testOwnerTextField JTextField testPackageTextField @@ -100,6 +105,8 @@ class RunnerPanel implements FocusListener, ActionListener { private def resetDerived() { testOverviewTable.rowSorter.sortKeys = null + testOverviewRunMenuItem.enabled = false + testOverviewRunWorksheetMenuItem.enabled = false testIdTextArea.text = null testOwnerTextField.text = null testPackageTextField.text = null @@ -141,7 +148,8 @@ class RunnerPanel implements FocusListener, ActionListener { currentRun = run testOverviewTableModel.model = run.tests resetDerived - runComboBox.selectedItem = run.name + val item = new ComboBoxItem(currentRun.reporterId, currentRun.name) + runComboBox.selectedItem = item } } @@ -213,6 +221,16 @@ class RunnerPanel implements FocusListener, ActionListener { testErrorStackTextArea.caret.visible = false } } + + private def getPathListFromSelectedTests() { + val pathList = new ArrayList + for (row : testOverviewTable.selectedRows) { + val test = testOverviewTableModel.getTest(row) + val path = '''«test.ownerName».«test.objectName».«test.procedureName»''' + pathList.add(path) + } + return pathList + } override actionPerformed(ActionEvent e) { if (e.source == refreshButton) { @@ -239,9 +257,15 @@ class RunnerPanel implements FocusListener, ActionListener { currentRun = null setModel(run) update(run.reporterId) + } else if (e.source == testOverviewRunMenuItem) { + val runner = new UtplsqlRunner(pathListFromSelectedTests, currentRun.connectionName) + runner.runTestAsync + } else if (e.source == testOverviewRunWorksheetMenuItem) { + val worksheet = new UtplsqlWorksheetRunner(pathListFromSelectedTests, currentRun.connectionName) + worksheet.runTestAsync } } - + private static def formatDateTime(String dateTime) { if (dateTime === null) { return null @@ -296,8 +320,10 @@ class RunnerPanel implements FocusListener, ActionListener { tabIndex = 0 } p.testDetailTabbedPane.selectedIndex = tabIndex + p.testOverviewRunMenuItem.enabled = true + p.testOverviewRunWorksheetMenuItem.enabled = true } - } + } } static class FailuresRowListener implements ListSelectionListener { @@ -552,7 +578,17 @@ class RunnerPanel implements FocusListener, ActionListener { val timeFormatRenderer = new TimeFormatRenderer timeFormatRenderer.horizontalAlignment = JLabel.RIGHT overviewTableTime.cellRenderer = timeFormatRenderer - val testOverviewScrollPane = new JScrollPane(testOverviewTable) + val testOverviewScrollPane = new JScrollPane(testOverviewTable) + + // Context menu for test overview + val testOverviewPopupMenu = new JPopupMenu + testOverviewRunMenuItem = new JMenuItem("Run test", UtplsqlResources.getIcon("RUN_ICON")); + testOverviewRunMenuItem.addActionListener(this) + testOverviewPopupMenu.add(testOverviewRunMenuItem) + testOverviewRunWorksheetMenuItem = new JMenuItem("Run test in new worksheet", UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")); + testOverviewRunWorksheetMenuItem.addActionListener(this) + testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem) + testOverviewTable.componentPopupMenu = testOverviewPopupMenu // Test tabbed pane (Test Properties) // - Id @@ -663,7 +699,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.gridy = 4 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 5, 0, 0) // top, left, bottom, right + c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::NORTHWEST c.fill = GridBagConstraints::NONE c.weightx = 0 From 825239201ae21c9393c2caf8e1792a29de7f06de Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 13:55:01 +0200 Subject: [PATCH 113/188] get failure text to get a more dense result for the GUI --- .../java/org/utplsql/sqldev/model/runner/Expectation.xtend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend index f80ab18c..c7f547d6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend @@ -23,4 +23,8 @@ class Expectation extends AbstractModel { String description String message String caller + + def getFailureText() { + return '''«message.trim» «caller.trim»'''.toString + } } \ No newline at end of file From 37a26c4ed410b4f556abe62c87b2c4ecf74cfd95 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 14:59:33 +0200 Subject: [PATCH 114/188] add new line between message and caller --- .../java/org/utplsql/sqldev/model/runner/Expectation.xtend | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend index c7f547d6..02b8c31f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend @@ -25,6 +25,9 @@ class Expectation extends AbstractModel { String caller def getFailureText() { - return '''«message.trim» «caller.trim»'''.toString + return ''' + «message.trim» + «caller.trim» + '''.toString.trim } } \ No newline at end of file From 843438c6a9915f3482a88788f1b7f532340eedff Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 16:44:31 +0200 Subject: [PATCH 115/188] combine failure message and caller, add cursor in warnings fix NPEs --- .../sqldev/ui/runner/RunnerPanel.xtend | 77 ++++--------------- 1 file changed, 15 insertions(+), 62 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index b0b7f865..20386af1 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -90,7 +90,6 @@ class RunnerPanel implements FocusListener, ActionListener { FailuresTableModel failuresTableModel JTable failuresTable JTextArea testFailureMessageTextArea - JTextArea testFailureCallerTextArea JTextArea testErrorStackTextArea JTextArea testWarningsTextArea JTextArea testServerOutputTextArea @@ -117,7 +116,6 @@ class RunnerPanel implements FocusListener, ActionListener { failuresTableModel.model = null failuresTableModel.fireTableDataChanged testFailureMessageTextArea.text = null - testFailureCallerTextArea.text = null testErrorStackTextArea.text = null testWarningsTextArea.text = null testServerOutputTextArea.text = null @@ -197,12 +195,12 @@ class RunnerPanel implements FocusListener, ActionListener { testDescriptionTextArea.caret.visible = true } else if (e.source == testFailureMessageTextArea) { testFailureMessageTextArea.caret.visible = true - } else if (e.source == testFailureCallerTextArea) { - testFailureCallerTextArea.caret.visible = true } else if (e.source == testServerOutputTextArea) { testServerOutputTextArea.caret.visible = true } else if (e.source == testErrorStackTextArea) { testErrorStackTextArea.caret.visible = true + } else if (e.source == testWarningsTextArea) { + testWarningsTextArea.caret.visible = true } } @@ -213,12 +211,12 @@ class RunnerPanel implements FocusListener, ActionListener { testDescriptionTextArea.caret.visible = false } else if (e.source == testFailureMessageTextArea) { testFailureMessageTextArea.caret.visible = false - } else if (e.source == testFailureCallerTextArea) { - testFailureCallerTextArea.caret.visible = false } else if (e.source == testServerOutputTextArea) { testServerOutputTextArea.caret.visible = false } else if (e.source == testErrorStackTextArea) { testErrorStackTextArea.caret.visible = false + } else if (e.source == testWarningsTextArea) { + testWarningsTextArea.caret.visible = false } } @@ -294,25 +292,24 @@ class RunnerPanel implements FocusListener, ActionListener { p.testOwnerTextField.text = test.ownerName p.testPackageTextField.text = test.objectName p.testProcedureTextField.text = test.procedureName - p.testDescriptionTextArea.text = test.description + p.testDescriptionTextArea.text = test.description?.trim p.testStartTextField.text = formatDateTime(test.startTime) p.testEndTextField.text = formatDateTime(test.endTime) p.failuresTableModel.model = test.failedExpectations p.testFailureMessageTextArea.text = null - p.testFailureCallerTextArea.text = null - if (test.failedExpectations.size > 0) { + if (test.failedExpectations !== null && test.failedExpectations.size > 0) { p.failuresTableModel.fireTableDataChanged p.failuresTable.setRowSelectionInterval(0, 0) } - p.testErrorStackTextArea.text = test.errorStack - p.testWarningsTextArea.text = test.warnings - p.testServerOutputTextArea.text = test.serverOutput + p.testErrorStackTextArea.text = test.errorStack?.trim + p.testWarningsTextArea.text = test.warnings?.trim + p.testServerOutputTextArea.text = test.serverOutput?.trim var int tabIndex - if (test.counter.failure > 0) { + if (test.counter?.failure !== null && test.counter.failure > 0) { tabIndex = 1 - } else if (test.counter.error > 0) { + } else if (test.counter?.error !== null && test.counter.error > 0) { tabIndex = 2 - } else if (test.counter.warning > 0) { + } else if (test.counter?.warning !== null && test.counter.warning > 0) { tabIndex = 3 } else if (test.serverOutput !== null && test.serverOutput.length > 0) { tabIndex = 4 @@ -338,8 +335,7 @@ class RunnerPanel implements FocusListener, ActionListener { if (rowIndex != -1) { val row = p.failuresTable.convertRowIndexToModel(rowIndex) val expectation = p.failuresTableModel.getExpectation(row) - p.testFailureMessageTextArea.text = expectation.message - p.testFailureCallerTextArea.text = expectation.caller + p.testFailureMessageTextArea.text = expectation.failureText } } } @@ -798,20 +794,6 @@ class RunnerPanel implements FocusListener, ActionListener { failuresDescription.headerRenderer = failuresTableHeaderRenderer val failuresTableScrollPane = new JScrollPane(failuresTable) // - failures details - val testFailuresPanel = new JPanel - testFailuresPanel.setLayout(new GridBagLayout()) - // - message - val testFailureMessageLabel = new JLabel("Message") - c.gridx = 0 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right - c.anchor = GridBagConstraints::NORTHWEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - testFailuresPanel.add(testFailureMessageLabel, c) testFailureMessageTextArea = new JTextArea testFailureMessageTextArea.editable = false testFailureMessageTextArea.enabled = true @@ -828,38 +810,9 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::BOTH c.weightx = 1 c.weighty = 6 - testFailuresPanel.add(testFailureMessageScrollPane, c) - // - caller - val testFailureCallerLabel = new JLabel("Caller") - c.gridx = 0 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(5, 10, 10, 0) // top, left, bottom, right - c.anchor = GridBagConstraints::NORTHWEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - testFailuresPanel.add(testFailureCallerLabel, c) - testFailureCallerTextArea = new JTextArea - testFailureCallerTextArea.editable = false - testFailureCallerTextArea.enabled = true - testFailureCallerTextArea.lineWrap = true - testFailureCallerTextArea.wrapStyleWord = true - testFailureCallerTextArea.addFocusListener(this) - val testFailureCallerScrollPane = new JScrollPane(testFailureCallerTextArea) - c.gridx = 1 - c.gridy = 1 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(5, 5, 10, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::BOTH - c.weightx = 1 - c.weighty = 2 - testFailuresPanel.add(testFailureCallerScrollPane, c) + // - split pane - val failuresSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, failuresTableScrollPane, testFailuresPanel) + val failuresSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, failuresTableScrollPane, testFailureMessageScrollPane) failuresSplitPane.resizeWeight = 0.2 // Errors tabbed pane (Error Stack) From 613ad528c77fc398875a677b0ce70750748951ff Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 16:45:06 +0200 Subject: [PATCH 116/188] changed icons for failures and errors based on feedback --- .../utplsql/sqldev/resources/images/error.png | Bin 310 -> 575 bytes .../sqldev/resources/images/failure.png | Bin 3013 -> 966 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png index 67157278d1ccc6770ef086404587c00ab3a0bddd..030bec170c9b4d7c890761906fedb2be25440650 100644 GIT binary patch delta 526 zcmV+p0`dK}0>1>17%m6~0000V^Z#K0000DYLP=Bz2nYy#2xN!=000SaNLh0L003D4 z003D5s-3BZkwqte0lY~>K~y-6m6JhB+&~n^|C7vSkgY4bB{9<4Qq9S*w?YdAJ!|Qu zpP zSSf{36sb5I>=p=nuIKSP!G*KRv?h)oJBu$2#_l&Y5uRnZ_JgmPxLR>Nk81#+4AHLw z1AxI8=AFftI_ymVAg2q<-AB)!e(TIy(_l#a=BT|0FeNi~ QZ2$lO07*qoM6N<$f`3Q!(*OVf delta 259 zcmdnbvW;nigf0s+0|Ud`yN`l^6mzkYX9x!e$L)vy4}e_G0*}aIAl(YWjE~;@KRD4% zy`Digz$e7@KM*i5{14Us6sYk&Nb^Im#>XHa155^Md}@4UpiH8ti(?3fY;r<^!TjP)GZ;Bs-tDdaer;l7W8qzE zg$mUJ2R^;~y1V@MJxc@c8~d`ms#kq{XXJc0oAnyQvfA?!&-QXBBqY>+pY-s~?&Ul@ uh41evNEB%9NZL`hqp?8y!L&nj7#YN7IRAfT?Y|Oe8-u5-pUXO@geCyG;%!6# diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png index dbb1b38783d8197b0861287373a674aaf89c8e9b..11d419a8e91248a6fff9361712d8343d6eb3b14e 100644 GIT binary patch delta 944 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 Bq@e%+ From c1bb115dd4bcebce4d729a88df6d8b6cf21cd2cc Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 22:35:18 +0200 Subject: [PATCH 117/188] use lighter variant of disabled icon --- .../sqldev/resources/images/disabled.png | Bin 527 -> 3097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png index 45e7246259c03e75aa8ecc2a9c311be09a5d8606..7db9e9cd97970fb87e0cdf4abf0973333b5ab6da 100644 GIT binary patch literal 3097 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 X@{7`Ezq647Dq`?-^>bP0l+XkKq;R+W From ae018c7ee59c333ee413cfb0ec672f7fc4ed00c3 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 23:15:19 +0200 Subject: [PATCH 118/188] add realtime reporter preferences --- .../model/preference/PreferenceModel.xtend | 45 ++++++ .../ui/preference/PreferencePanel.xtend | 142 +++++++++++------- .../test/preference/PreferenceModelTest.xtend | 7 +- 3 files changed, 140 insertions(+), 54 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend index b05827da..94b5f791 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend @@ -39,6 +39,11 @@ class PreferenceModel extends HashStructureAdapter { static final String KEY_CLEAR_SCREEN = "clearScreen" static final String KEY_AUTO_EXECUTE = "autoExecute" static final String KEY_CHECK_RUN_UTPLSQL_TEST = "checkRunUtplsqlTest" + static final String KEY_SHOW_DISABLED_COUNTER = "showDisabledCounter" + static final String KEY_SHOW_WARNINGS_COUNTER = "showWarningsCounter" + static final String KEY_SHOW_INFO_COUNTER = "showInfoCounter" + static final String KEY_SHOW_WARNING_INDICATOR = "showWarningIndicator" + static final String KEY_SHOW_INFO_INDICATOR = "showInfoIndicator" static final String KEY_TEST_PACKAGE_PREFIX = "testPackagePrefix" static final String KEY_TEST_PACKAGE_SUFFIX = "testPackageSuffix" static final String KEY_TEST_UNIT_PREFIX = "testUnitPrefix" @@ -102,6 +107,46 @@ class PreferenceModel extends HashStructureAdapter { getHashStructure.putBoolean(PreferenceModel.KEY_CHECK_RUN_UTPLSQL_TEST, checkRunUtplsqlTest) } + def isShowDisabledCounter() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_DISABLED_COUNTER, false) + } + + def setShowDisabledCounter(boolean showDisabledCounter) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_DISABLED_COUNTER, showDisabledCounter) + } + + def isShowWarningsCounter() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_WARNINGS_COUNTER, false) + } + + def setShowWarningsCounter(boolean showWarningCounter) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_WARNINGS_COUNTER, showWarningCounter) + } + + def isShowInfoCounter() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_INFO_COUNTER, false) + } + + def setShowInfoCounter(boolean showInfoCounter) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_INFO_COUNTER, showInfoCounter) + } + + def isShowWarningIndicator() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_WARNING_INDICATOR, false) + } + + def setShowWarningIndicator(boolean showWarningIndicator) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_WARNING_INDICATOR, showWarningIndicator) + } + + def isShowInfoIndicator() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_INFO_INDICATOR, false) + } + + def setShowInfoIndicator(boolean showInfoIndicator) { + getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_INFO_INDICATOR, showInfoIndicator) + } + def getTestPackagePrefix() { return getHashStructure.getString(PreferenceModel.KEY_TEST_PACKAGE_PREFIX, "test_") } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index b53bcbaf..e8391f45 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -43,6 +43,12 @@ class PreferencePanel extends DefaultTraversablePanel { val JCheckBox clearScreenCheckBox = new JCheckBox val JCheckBox autoExecuteCheckBox = new JCheckBox val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox + val JPanel realtimeReporterPanel = new JPanel + val JCheckBox showDisabledCounterCheckBox = new JCheckBox + val JCheckBox showWarningsCounterCheckBox = new JCheckBox + val JCheckBox showInfoCounterCheckBox = new JCheckBox + val JCheckBox showWarningIndicatorCheckBox = new JCheckBox + val JCheckBox showInfoIndicatorCheckBox = new JCheckBox val JPanel generateTestPanel = new JPanel(); val JTextField testPackagePrefixTextField = new JTextField val JTextField testPackageSuffixTextField = new JTextField @@ -71,87 +77,108 @@ class PreferencePanel extends DefaultTraversablePanel { private def layoutControls() { // run test group - val FieldLayoutBuilder b1 = new FieldLayoutBuilder(runTestPanel) - b1.alignLabelsLeft = true - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_USE_REALTIME_REPORTER_LABEL")).component( + val FieldLayoutBuilder runTab = new FieldLayoutBuilder(runTestPanel) + runTab.alignLabelsLeft = true + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_USE_REALTIME_REPORTER_LABEL")).component( useRealtimeReporterCheckBox)) - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_UNSHARED_WORKSHEET_LABEL")).component( + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_UNSHARED_WORKSHEET_LABEL")).component( unsharedWorksheetCheckBox)) - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_RESET_PACKAGE_LABEL")).component( + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_RESET_PACKAGE_LABEL")).component( resetPackageCheckBox)) - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_CLEAR_SCREEN_LABEL")).component( + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_CLEAR_SCREEN_LABEL")).component( clearScreenCheckBox)) - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_AUTO_EXECUTE_LABEL")).component( + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_AUTO_EXECUTE_LABEL")).component( autoExecuteCheckBox)) - b1.add( - b1.field.label.withText(UtplsqlResources.getString("PREF_CHECK_RUN_UTPLSQL_TEST_LABEL")).component( + runTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_CHECK_RUN_UTPLSQL_TEST_LABEL")).component( checkRunUtplsqlTestCheckBox)) - b1.addVerticalSpring + runTab.addVerticalSpring + + // realtime reporter group + val FieldLayoutBuilder rrTab = new FieldLayoutBuilder(realtimeReporterPanel) + rrTab.alignLabelsLeft = true + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_DISABLED_COUNTER_LABEL")).component( + showDisabledCounterCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_WARNINGS_COUNTER_LABEL")).component( + showWarningsCounterCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_INFO_COUNTER_LABEL")).component( + showInfoCounterCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_WARNING_INDICATOR_LABEL")).component( + showWarningIndicatorCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL")).component( + showInfoIndicatorCheckBox)) + rrTab.addVerticalSpring // generate test group - val FieldLayoutBuilder b2 = new FieldLayoutBuilder(generateTestPanel) - b2.alignLabelsLeft = true - b2.stretchComponentsWithNoButton = true - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_TEST_PACKAGE_PREFIX_LABEL")).component( + val FieldLayoutBuilder generateTab = new FieldLayoutBuilder(generateTestPanel) + generateTab.alignLabelsLeft = true + generateTab.stretchComponentsWithNoButton = true + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_TEST_PACKAGE_PREFIX_LABEL")).component( testPackagePrefixTextField)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_TEST_PACKAGE_SUFFIX_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_TEST_PACKAGE_SUFFIX_LABEL")).component( testPackageSuffixTextField)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_TEST_UNIT_PREFIX_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_TEST_UNIT_PREFIX_LABEL")).component( testUnitPrefixTextField)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_TEST_UNIT_SUFFIX_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_TEST_UNIT_SUFFIX_LABEL")).component( testUnitSuffixTextField)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL")).component( numberOfTestsPerUnitSpinner)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_COMMENTS_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_COMMENTS_LABEL")).component( generateCommentsCheckBox)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_DISABLE_TESTS_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_DISABLE_TESTS_LABEL")).component( disableTestsCheckBox)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_SUITE_PATH_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_SUITE_PATH_LABEL")).component( suitePathTextField)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_INDENT_SPACES_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_INDENT_SPACES_LABEL")).component( indentSpacesSpinner)) - b2.add( - b2.field.label.withText(UtplsqlResources.getString("PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL")).component( + generateTab.add( + generateTab.field.label.withText(UtplsqlResources.getString("PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL")).component( checkGenerateUtplsqlTestCheckBox).button(createCodeTemplatesButton).withText( UtplsqlResources.getString("PREF_CREATE_CODE_TEMPLATES_BUTTON_LABEL"))) - b2.addVerticalSpring + generateTab.addVerticalSpring // oddgen group - val FieldLayoutBuilder b3 = new FieldLayoutBuilder(oddgenPanel) - b3.alignLabelsLeft = true - b3.stretchComponentsWithNoButton = true - b3.add( - b3.field.label.withText(UtplsqlResources.getString("PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL")).component( + val FieldLayoutBuilder oddgenTab = new FieldLayoutBuilder(oddgenPanel) + oddgenTab.alignLabelsLeft = true + oddgenTab.stretchComponentsWithNoButton = true + oddgenTab.add( + oddgenTab.field.label.withText(UtplsqlResources.getString("PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL")).component( rootFolderInOddgenViewTextField)) - b3.add( - b3.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_FILES_LABEL")).component( + oddgenTab.add( + oddgenTab.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_FILES_LABEL")).component( generateFilesCheckBox)) - b3.add( - b3.field.label.withText(UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_LABEL")).component( + oddgenTab.add( + oddgenTab.field.label.withText(UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_LABEL")).component( outputDirectoryTextField).button(outputDirectoryBrowse).withText( UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_BUTTON_LABEL"))) - b3.add( - b3.field.label.withText(UtplsqlResources.getString("PREF_DELETE_EXISTING_FILES_LABEL")).component( + oddgenTab.add( + oddgenTab.field.label.withText(UtplsqlResources.getString("PREF_DELETE_EXISTING_FILES_LABEL")).component( deleteExistingFilesCheckBox)) - b3.addVerticalSpring + oddgenTab.addVerticalSpring // putting groups into tabbed panes val tabbedPane = new JTabbedPane() tabbedPane.add(UtplsqlResources.getString("MENU_RUN_TEST_LABEL"), runTestPanel) + tabbedPane.add(UtplsqlResources.getString("MENU_REALTIME_REPORTER_LABEL"), realtimeReporterPanel) tabbedPane.add(UtplsqlResources.getString("MENU_GENERATE_TEST_LABEL"), generateTestPanel) tabbedPane.add("oddgen", oddgenPanel) val FieldLayoutBuilder builder = new FieldLayoutBuilder(this) @@ -163,8 +190,7 @@ class PreferencePanel extends DefaultTraversablePanel { createCodeTemplatesButton.addActionListener(new ActionListener() { override actionPerformed(ActionEvent event) { saveCodeTemplates - } - + } }) // register action listener for directory chooser @@ -276,6 +302,11 @@ class PreferencePanel extends DefaultTraversablePanel { clearScreenCheckBox.selected = info.clearScreen autoExecuteCheckBox.selected = info.autoExecute checkRunUtplsqlTestCheckBox.selected = info.checkRunUtplsqlTest + showDisabledCounterCheckBox.selected = info.showDisabledCounter + showWarningsCounterCheckBox.selected = info.showWarningsCounter + showInfoCounterCheckBox.selected = info.showInfoCounter + showWarningIndicatorCheckBox.selected = info.showWarningIndicator + showInfoIndicatorCheckBox.selected = info.showInfoIndicator testPackagePrefixTextField.text = info.testPackagePrefix testPackageSuffixTextField.text = info.testPackageSuffix testUnitPrefixTextField.text = info.testUnitPrefix @@ -302,6 +333,11 @@ class PreferencePanel extends DefaultTraversablePanel { info.clearScreen = clearScreenCheckBox.selected info.autoExecute = autoExecuteCheckBox.selected info.checkRunUtplsqlTest = checkRunUtplsqlTestCheckBox.selected + info.showDisabledCounter = showDisabledCounterCheckBox.selected + info.showWarningsCounter = showWarningsCounterCheckBox.selected + info.showInfoCounter = showInfoCounterCheckBox.selected + info.showWarningIndicator = showWarningIndicatorCheckBox.selected + info.showInfoIndicator = showInfoIndicatorCheckBox.selected info.testPackagePrefix = testPackagePrefixTextField.text info.testPackageSuffix = testPackageSuffixTextField.text info.testUnitPrefix = testUnitPrefixTextField.text diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index a74cbc31..67083f60 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -30,6 +30,11 @@ class PreferenceModelTest { Assert.assertFalse(model.clearScreen) Assert.assertTrue(model.autoExecute) Assert.assertFalse(model.checkRunUtplsqlTest) + Assert.assertFalse(model.showDisabledCounter) + Assert.assertFalse(model.showWarningsCounter) + Assert.assertFalse(model.showInfoCounter) + Assert.assertFalse(model.showWarningIndicator) + Assert.assertFalse(model.showInfoIndicator) Assert.assertEquals("test_", model.testPackagePrefix) Assert.assertEquals("", model.testPackageSuffix) Assert.assertEquals("", model.testUnitPrefix) @@ -44,5 +49,5 @@ class PreferenceModelTest { Assert.assertEquals(PreferenceModel.DEFAULT_OUTPUT_DIRECTORY, model.outputDirectory) Assert.assertEquals(false, model.deleteExistingFiles) Assert.assertEquals("utPLSQL", model.rootFolderInOddgenView) - } + } } From 9ea6ca0deeb69373bb2b4ebbcdd66a953acff170 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 23:15:53 +0200 Subject: [PATCH 119/188] add realtime reporter preferences labels --- .../utplsql/sqldev/resources/UtplsqlResources.properties | 6 ++++++ .../utplsql/sqldev/resources/UtplsqlResources_de.properties | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 14329f15..498969b1 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -27,6 +27,12 @@ PREF_RESET_PACKAGE_LABEL=Reset package before running utPLSQL? PREF_CLEAR_SCREEN_LABEL=Clear script output panel before running utPLSQL? PREF_AUTO_EXECUTE_LABEL=Execute unit test automatically? PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Check availability of menu option? +MENU_REALTIME_REPORTER_LABEL=Realtime Reporter +PREF_SHOW_DISABLED_COUNTER_LABEL=Show disabled counter? +PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter? +PREF_SHOW_INFO_COUNTER_LABEL=Show info counter? +PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator? +PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix PREF_TEST_UNIT_PREFIX_LABEL=Test unit prefix diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 6157fde6..40bc7c93 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -8,6 +8,12 @@ PREF_RESET_PACKAGE_LABEL=Package vor der Ausf PREF_CLEAR_SCREEN_LABEL=Skriptausgabe-Fenster vor der Ausführung von utPLSQL leeren? PREF_AUTO_EXECUTE_LABEL=Unit Test automatisch ausführen? PREF_CHECK_RUN_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption prüfen? +MENU_REALTIME_REPORTER_LABEL=Realtime Reporter +PREF_SHOW_DISABLED_COUNTER_LABEL=Deaktiviert-Zähler anzeigen? +PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Zähler anzeigen? +PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen? +PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen? +PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix PREF_TEST_UNIT_PREFIX_LABEL=Test Unit Präfix From 0da61068b29a02e24993c3bad3110fc171be58e1 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Fri, 14 Jun 2019 23:16:16 +0200 Subject: [PATCH 120/188] apply preferences and change them via context menus --- .../sqldev/ui/runner/RunnerPanel.xtend | 132 ++++++++++++++++-- 1 file changed, 122 insertions(+), 10 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 20386af1..ca80852a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -30,6 +30,7 @@ import java.text.DecimalFormat import java.util.ArrayList import javax.swing.Box import javax.swing.DefaultComboBoxModel +import javax.swing.JCheckBoxMenuItem import javax.swing.JComboBox import javax.swing.JComponent import javax.swing.JLabel @@ -38,6 +39,7 @@ import javax.swing.JPanel import javax.swing.JPopupMenu import javax.swing.JProgressBar import javax.swing.JScrollPane +import javax.swing.JSeparator import javax.swing.JSplitPane import javax.swing.JTabbedPane import javax.swing.JTable @@ -49,8 +51,10 @@ import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI import javax.swing.table.DefaultTableCellRenderer +import oracle.ide.config.Preferences import oracle.javatools.ui.table.ToolbarButton import org.utplsql.sqldev.model.LimitedLinkedHashMap +import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.model.runner.Run import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner @@ -59,6 +63,7 @@ import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner class RunnerPanel implements FocusListener, ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) + static val INDICATOR_WIDTH = 20 LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) Run currentRun JPanel basePanel @@ -75,11 +80,16 @@ class RunnerPanel implements FocusListener, ActionListener { JLabel disabledCounterValueLabel JLabel warningsCounterValueLabel JLabel infoCounterValueLabel + JCheckBoxMenuItem showDisabledCounterCheckBoxMenuItem + JCheckBoxMenuItem showWarningsCounterCheckBoxMenuItem + JCheckBoxMenuItem showInfoCounterCheckBoxMenuItem JProgressBar progressBar; TestOverviewTableModel testOverviewTableModel JTable testOverviewTable JMenuItem testOverviewRunMenuItem JMenuItem testOverviewRunWorksheetMenuItem + JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem + JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem JTextArea testIdTextArea JTextField testOwnerTextField JTextField testPackageTextField @@ -134,6 +144,72 @@ class RunnerPanel implements FocusListener, ActionListener { runComboBox.addActionListener(this) } } + + private def applyShowDisabledCounter(boolean show) { + disabledCounterValueLabel.parent.visible = showDisabledCounterCheckBoxMenuItem.selected + } + + private def applyShowWarningsCounter(boolean show) { + warningsCounterValueLabel.parent.visible = showWarningsCounterCheckBoxMenuItem.selected + } + + private def applyShowInfoCounter(boolean show) { + infoCounterValueLabel.parent.visible = showInfoCounterCheckBoxMenuItem.selected + } + + private def applyShowWarningIndicator(boolean show) { + val col = testOverviewTable.columnModel.getColumn(1) + if (show) { + col.width = INDICATOR_WIDTH + col.minWidth = INDICATOR_WIDTH + col.maxWidth = INDICATOR_WIDTH + col.preferredWidth = INDICATOR_WIDTH + } else { + col.width = 0 + col.minWidth = 0 + col.maxWidth = 0 + col.preferredWidth = 0 + } + } + + private def applyShowInfoIndicator(boolean show) { + val col = testOverviewTable.columnModel.getColumn(2) + if (show) { + col.width = INDICATOR_WIDTH + col.minWidth = INDICATOR_WIDTH + col.maxWidth = INDICATOR_WIDTH + col.preferredWidth = INDICATOR_WIDTH + } else { + col.width = 0 + col.minWidth = 0 + col.maxWidth = 0 + col.preferredWidth = 0 + } + } + + private def getPreferenceModel() { + var PreferenceModel preferences + try { + preferences = PreferenceModel.getInstance(Preferences.preferences) + } catch (NoClassDefFoundError e) { + preferences = PreferenceModel.getInstance(null) + } + return preferences + } + + private def applyPreferences() { + val PreferenceModel preferences = preferenceModel + showDisabledCounterCheckBoxMenuItem.selected = preferences.showDisabledCounter + applyShowDisabledCounter(showDisabledCounterCheckBoxMenuItem.selected) + showWarningsCounterCheckBoxMenuItem.selected = preferences.showWarningsCounter + applyShowWarningsCounter(showWarningsCounterCheckBoxMenuItem.selected) + showInfoCounterCheckBoxMenuItem.selected = preferences.showInfoCounter + applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) + showWarningIndicatorCheckBoxMenuItem.selected = preferences.showWarningIndicator + applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) + showInfoIndicatorCheckBoxMenuItem.selected = preferences.showInfoIndicator + applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) + } def setModel(Run run) { runs.put(run.reporterId, run) @@ -261,6 +337,16 @@ class RunnerPanel implements FocusListener, ActionListener { } else if (e.source == testOverviewRunWorksheetMenuItem) { val worksheet = new UtplsqlWorksheetRunner(pathListFromSelectedTests, currentRun.connectionName) worksheet.runTestAsync + } else if (e.source == showDisabledCounterCheckBoxMenuItem) { + applyShowDisabledCounter(showDisabledCounterCheckBoxMenuItem.selected) + } else if (e.source == showWarningsCounterCheckBoxMenuItem) { + applyShowWarningsCounter( showWarningsCounterCheckBoxMenuItem.selected) + } else if (e.source == showInfoCounterCheckBoxMenuItem) { + applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) + } else if (e.source == showWarningIndicatorCheckBoxMenuItem) { + applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) + } else if (e.source == showInfoIndicatorCheckBoxMenuItem) { + applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) } } @@ -523,6 +609,22 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 0 basePanel.add(counterPanel,c) + + // Context menu for counters panel + val countersPopupMenu = new JPopupMenu + showDisabledCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_DISABLED_COUNTER_LABEL").replace("?","")) + showDisabledCounterCheckBoxMenuItem.selected = true + showDisabledCounterCheckBoxMenuItem.addActionListener(this) + countersPopupMenu.add(showDisabledCounterCheckBoxMenuItem) + showWarningsCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNINGS_COUNTER_LABEL").replace("?","")) + showWarningsCounterCheckBoxMenuItem.selected = true + showWarningsCounterCheckBoxMenuItem.addActionListener(this) + countersPopupMenu.add(showWarningsCounterCheckBoxMenuItem) + showInfoCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_COUNTER_LABEL").replace("?","")) + showInfoCounterCheckBoxMenuItem.selected = true + showInfoCounterCheckBoxMenuItem.addActionListener(this) + countersPopupMenu.add(showInfoCounterCheckBoxMenuItem) + counterPanel.componentPopupMenu = countersPopupMenu // Progress bar progressBar = new JProgressBar @@ -551,19 +653,19 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) val testTableHeaderRenderer = new TestTableHeaderRenderer val overviewTableStatus = testOverviewTable.columnModel.getColumn(0) - overviewTableStatus.minWidth = 20 - overviewTableStatus.preferredWidth = 20 - overviewTableStatus.maxWidth = 20 + overviewTableStatus.minWidth = INDICATOR_WIDTH + overviewTableStatus.preferredWidth = INDICATOR_WIDTH + overviewTableStatus.maxWidth = INDICATOR_WIDTH overviewTableStatus.headerRenderer = testTableHeaderRenderer val overviewTableWarning = testOverviewTable.columnModel.getColumn(1) - overviewTableWarning.minWidth = 20 - overviewTableWarning.preferredWidth = 20 - overviewTableWarning.maxWidth = 20 + overviewTableWarning.minWidth = INDICATOR_WIDTH + overviewTableWarning.preferredWidth = INDICATOR_WIDTH + overviewTableWarning.maxWidth = INDICATOR_WIDTH overviewTableWarning.headerRenderer = testTableHeaderRenderer val overviewTableInfo = testOverviewTable.columnModel.getColumn(2) - overviewTableInfo.minWidth = 20 - overviewTableInfo.preferredWidth = 20 - overviewTableInfo.maxWidth = 20 + overviewTableInfo.minWidth = INDICATOR_WIDTH + overviewTableInfo.preferredWidth = INDICATOR_WIDTH + overviewTableInfo.maxWidth = INDICATOR_WIDTH overviewTableInfo.headerRenderer = testTableHeaderRenderer val overviewTableId = testOverviewTable.columnModel.getColumn(3) overviewTableId.headerRenderer = testTableHeaderRenderer @@ -584,8 +686,17 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewRunWorksheetMenuItem = new JMenuItem("Run test in new worksheet", UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")); testOverviewRunWorksheetMenuItem.addActionListener(this) testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem) + testOverviewPopupMenu.add(new JSeparator) + showWarningIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNING_INDICATOR_LABEL").replace("?","")) + showWarningIndicatorCheckBoxMenuItem.selected = true + showWarningIndicatorCheckBoxMenuItem.addActionListener(this) + testOverviewPopupMenu.add(showWarningIndicatorCheckBoxMenuItem) + showInfoIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL").replace("?","")) + showInfoIndicatorCheckBoxMenuItem.selected = true + showInfoIndicatorCheckBoxMenuItem.addActionListener(this) + testOverviewPopupMenu.add(showInfoIndicatorCheckBoxMenuItem) testOverviewTable.componentPopupMenu = testOverviewPopupMenu - + // Test tabbed pane (Test Properties) // - Id val testInfoPanel = new ScrollablePanel @@ -897,5 +1008,6 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 1 basePanel.add(horizontalSplitPane, c) + applyPreferences } } \ No newline at end of file From a5fe122ef86765f31535c4add6d6343e7d7cbe49 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 16:25:02 +0200 Subject: [PATCH 121/188] apply preferences only when GUI is not displayed keep settings unchanged when running new tests --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index ca80852a..5e24d228 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -109,6 +109,9 @@ class RunnerPanel implements FocusListener, ActionListener { if (basePanel === null) { initializeGUI() } + if (!basePanel.showing) { + applyPreferences + } return basePanel } @@ -1008,6 +1011,5 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 1 basePanel.add(horizontalSplitPane, c) - applyPreferences } } \ No newline at end of file From e46a4374e611b788de9b47e10f675c61b69f4f43 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 16:51:14 +0200 Subject: [PATCH 122/188] add sync detail tab preference to model --- .../sqldev/model/preference/PreferenceModel.xtend | 9 +++++++++ .../sqldev/test/preference/PreferenceModelTest.xtend | 1 + 2 files changed, 10 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend index 94b5f791..f9e24937 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend @@ -44,6 +44,7 @@ class PreferenceModel extends HashStructureAdapter { static final String KEY_SHOW_INFO_COUNTER = "showInfoCounter" static final String KEY_SHOW_WARNING_INDICATOR = "showWarningIndicator" static final String KEY_SHOW_INFO_INDICATOR = "showInfoIndicator" + static final String KEY_SYNC_DETAIL_TAB = "syncDetailTab" static final String KEY_TEST_PACKAGE_PREFIX = "testPackagePrefix" static final String KEY_TEST_PACKAGE_SUFFIX = "testPackageSuffix" static final String KEY_TEST_UNIT_PREFIX = "testUnitPrefix" @@ -147,6 +148,14 @@ class PreferenceModel extends HashStructureAdapter { getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_INFO_INDICATOR, showInfoIndicator) } + def isSyncDetailTab() { + return getHashStructure.getBoolean(PreferenceModel.KEY_SYNC_DETAIL_TAB, true) + } + + def setSyncDetailTab(boolean syncDetailTab) { + getHashStructure.putBoolean(PreferenceModel.KEY_SYNC_DETAIL_TAB, syncDetailTab) + } + def getTestPackagePrefix() { return getHashStructure.getString(PreferenceModel.KEY_TEST_PACKAGE_PREFIX, "test_") } diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend index 67083f60..54d9521f 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend @@ -35,6 +35,7 @@ class PreferenceModelTest { Assert.assertFalse(model.showInfoCounter) Assert.assertFalse(model.showWarningIndicator) Assert.assertFalse(model.showInfoIndicator) + Assert.assertTrue(model.syncDetailTab) Assert.assertEquals("test_", model.testPackagePrefix) Assert.assertEquals("", model.testPackageSuffix) Assert.assertEquals("", model.testUnitPrefix) From 6788f117b615b5280ac147014df118f795165fb0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 16:51:32 +0200 Subject: [PATCH 123/188] add sync detail tab resource --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 1 + .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 1 + 2 files changed, 2 insertions(+) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 498969b1..6ed93fde 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -33,6 +33,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter? PREF_SHOW_INFO_COUNTER_LABEL=Show info counter? PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator? PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator? +PREF_SYNC_DETAIL_TAB_LABEL=Synchronize detail tab based on test status? PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix PREF_TEST_UNIT_PREFIX_LABEL=Test unit prefix diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 40bc7c93..c456d69f 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -14,6 +14,7 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Z PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen? PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen? PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen? +PREF_SYNC_DETAIL_TAB_LABEL=Detailansicht basierend auf dem Teststatus synchronisieren? PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix PREF_TEST_UNIT_PREFIX_LABEL=Test Unit Präfix From af316da3975d946b046682d97c22f4d05ed29773 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 16:51:57 +0200 Subject: [PATCH 124/188] add sync detail tab to preferences UI --- .../org/utplsql/sqldev/ui/preference/PreferencePanel.xtend | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend index e8391f45..66ef37f7 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend @@ -49,6 +49,7 @@ class PreferencePanel extends DefaultTraversablePanel { val JCheckBox showInfoCounterCheckBox = new JCheckBox val JCheckBox showWarningIndicatorCheckBox = new JCheckBox val JCheckBox showInfoIndicatorCheckBox = new JCheckBox + val JCheckBox syncDetailTabCheckBox = new JCheckBox val JPanel generateTestPanel = new JPanel(); val JTextField testPackagePrefixTextField = new JTextField val JTextField testPackageSuffixTextField = new JTextField @@ -117,6 +118,9 @@ class PreferencePanel extends DefaultTraversablePanel { rrTab.add( runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL")).component( showInfoIndicatorCheckBox)) + rrTab.add( + runTab.field.label.withText(UtplsqlResources.getString("PREF_SYNC_DETAIL_TAB_LABEL")).component( + syncDetailTabCheckBox)) rrTab.addVerticalSpring // generate test group @@ -307,6 +311,7 @@ class PreferencePanel extends DefaultTraversablePanel { showInfoCounterCheckBox.selected = info.showInfoCounter showWarningIndicatorCheckBox.selected = info.showWarningIndicator showInfoIndicatorCheckBox.selected = info.showInfoIndicator + syncDetailTabCheckBox.selected = info.syncDetailTab testPackagePrefixTextField.text = info.testPackagePrefix testPackageSuffixTextField.text = info.testPackageSuffix testUnitPrefixTextField.text = info.testUnitPrefix @@ -338,6 +343,7 @@ class PreferencePanel extends DefaultTraversablePanel { info.showInfoCounter = showInfoCounterCheckBox.selected info.showWarningIndicator = showWarningIndicatorCheckBox.selected info.showInfoIndicator = showInfoIndicatorCheckBox.selected + info.syncDetailTab = syncDetailTabCheckBox.selected info.testPackagePrefix = testPackagePrefixTextField.text info.testPackageSuffix = testPackageSuffixTextField.text info.testUnitPrefix = testUnitPrefixTextField.text From ec7d68d987c5590c8a605e9928e6de0f9aae9808 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 17:30:16 +0200 Subject: [PATCH 125/188] add sync detail tab context menu item honoring preferences --- .../sqldev/ui/runner/RunnerPanel.xtend | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 5e24d228..4884b113 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -90,6 +90,7 @@ class RunnerPanel implements FocusListener, ActionListener { JMenuItem testOverviewRunWorksheetMenuItem JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem + JCheckBoxMenuItem syncDetailTabCheckBoxMenuItem JTextArea testIdTextArea JTextField testOwnerTextField JTextField testPackageTextField @@ -190,6 +191,29 @@ class RunnerPanel implements FocusListener, ActionListener { } } + private def syncDetailTab() { + if (syncDetailTabCheckBoxMenuItem.selected) { + val rowIndex = testOverviewTable.selectedRow + if (rowIndex != -1) { + val row = testOverviewTable.convertRowIndexToModel(rowIndex) + val test = testOverviewTableModel.getTest(row) + var int tabIndex + if (test.counter?.failure !== null && test.counter.failure > 0) { + tabIndex = 1 + } else if (test.counter?.error !== null && test.counter.error > 0) { + tabIndex = 2 + } else if (test.counter?.warning !== null && test.counter.warning > 0) { + tabIndex = 3 + } else if (test.serverOutput !== null && test.serverOutput.length > 0) { + tabIndex = 4 + } else { + tabIndex = 0 + } + testDetailTabbedPane.selectedIndex = tabIndex + } + } + } + private def getPreferenceModel() { var PreferenceModel preferences try { @@ -212,6 +236,7 @@ class RunnerPanel implements FocusListener, ActionListener { applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) showInfoIndicatorCheckBoxMenuItem.selected = preferences.showInfoIndicator applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) + syncDetailTabCheckBoxMenuItem.selected = preferences.syncDetailTab } def setModel(Run run) { @@ -350,6 +375,8 @@ class RunnerPanel implements FocusListener, ActionListener { applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) } else if (e.source == showInfoIndicatorCheckBoxMenuItem) { applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) + } else if (e.source == syncDetailTabCheckBoxMenuItem) { + syncDetailTab } } @@ -393,19 +420,7 @@ class RunnerPanel implements FocusListener, ActionListener { p.testErrorStackTextArea.text = test.errorStack?.trim p.testWarningsTextArea.text = test.warnings?.trim p.testServerOutputTextArea.text = test.serverOutput?.trim - var int tabIndex - if (test.counter?.failure !== null && test.counter.failure > 0) { - tabIndex = 1 - } else if (test.counter?.error !== null && test.counter.error > 0) { - tabIndex = 2 - } else if (test.counter?.warning !== null && test.counter.warning > 0) { - tabIndex = 3 - } else if (test.serverOutput !== null && test.serverOutput.length > 0) { - tabIndex = 4 - } else { - tabIndex = 0 - } - p.testDetailTabbedPane.selectedIndex = tabIndex + p.syncDetailTab p.testOverviewRunMenuItem.enabled = true p.testOverviewRunWorksheetMenuItem.enabled = true } @@ -698,6 +713,10 @@ class RunnerPanel implements FocusListener, ActionListener { showInfoIndicatorCheckBoxMenuItem.selected = true showInfoIndicatorCheckBoxMenuItem.addActionListener(this) testOverviewPopupMenu.add(showInfoIndicatorCheckBoxMenuItem) + syncDetailTabCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SYNC_DETAIL_TAB_LABEL").replace("?","")) + syncDetailTabCheckBoxMenuItem.selected = true + syncDetailTabCheckBoxMenuItem.addActionListener(this) + testOverviewPopupMenu.add(syncDetailTabCheckBoxMenuItem) testOverviewTable.componentPopupMenu = testOverviewPopupMenu // Test tabbed pane (Test Properties) From 8960a3ad43dd8ff6d69df4cf840f1cc4d18ca19d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 15 Jun 2019 22:14:17 +0200 Subject: [PATCH 126/188] run correct selected tests in sorted table --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 4884b113..56b24e28 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -326,7 +326,8 @@ class RunnerPanel implements FocusListener, ActionListener { private def getPathListFromSelectedTests() { val pathList = new ArrayList - for (row : testOverviewTable.selectedRows) { + for (rowIndex : testOverviewTable.selectedRows) { + val row = testOverviewTable.convertRowIndexToModel(rowIndex) val test = testOverviewTableModel.getTest(row) val path = '''«test.ownerName».«test.objectName».«test.procedureName»''' pathList.add(path) From b4d1f946e063824f71bba2f8dfdd7c9a22ea48c6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 18:30:05 +0200 Subject: [PATCH 127/188] close connections after run --- .../org/utplsql/sqldev/runner/UtplsqlRunner.xtend | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend index aeb7ac17..9c6701bf 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.xtend @@ -79,8 +79,13 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { } def dispose() { - producerConn.close; - consumerConn.close; + // running in SQL Developer + if (!producerConn.closed) { + producerConn.close; + } + if (!consumerConn.closed) { + consumerConn.close; + } } override void process(RealtimeReporterEvent event) { @@ -202,6 +207,9 @@ class UtplsqlRunner implements RealtimeReporterEventConsumer { run.totalNumberOfTests = 0 panel.update(reporterId) } + if (isRunningInSqlDeveloper) { + dispose + } } private def isRunningInSqlDeveloper() { From 0a0048a98aeec9663453af91b10dd06d7feaf4bf Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 19:51:43 +0200 Subject: [PATCH 128/188] set initial state of JCheckBoxMenuItem in constructor --- .../sqldev/ui/runner/RunnerPanel.xtend | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 56b24e28..c221f6a1 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -60,6 +60,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner +// TODO: fix missing checkmark on Windows with windows look and feel (just a blue box is shown instead of checkmark) class RunnerPanel implements FocusListener, ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) @@ -631,16 +632,13 @@ class RunnerPanel implements FocusListener, ActionListener { // Context menu for counters panel val countersPopupMenu = new JPopupMenu - showDisabledCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_DISABLED_COUNTER_LABEL").replace("?","")) - showDisabledCounterCheckBoxMenuItem.selected = true + showDisabledCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_DISABLED_COUNTER_LABEL").replace("?",""), true) showDisabledCounterCheckBoxMenuItem.addActionListener(this) countersPopupMenu.add(showDisabledCounterCheckBoxMenuItem) - showWarningsCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNINGS_COUNTER_LABEL").replace("?","")) - showWarningsCounterCheckBoxMenuItem.selected = true + showWarningsCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNINGS_COUNTER_LABEL").replace("?",""), true) showWarningsCounterCheckBoxMenuItem.addActionListener(this) countersPopupMenu.add(showWarningsCounterCheckBoxMenuItem) - showInfoCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_COUNTER_LABEL").replace("?","")) - showInfoCounterCheckBoxMenuItem.selected = true + showInfoCounterCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_COUNTER_LABEL").replace("?",""), true) showInfoCounterCheckBoxMenuItem.addActionListener(this) countersPopupMenu.add(showInfoCounterCheckBoxMenuItem) counterPanel.componentPopupMenu = countersPopupMenu @@ -706,16 +704,13 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewRunWorksheetMenuItem.addActionListener(this) testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem) testOverviewPopupMenu.add(new JSeparator) - showWarningIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNING_INDICATOR_LABEL").replace("?","")) - showWarningIndicatorCheckBoxMenuItem.selected = true + showWarningIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_WARNING_INDICATOR_LABEL").replace("?",""), true) showWarningIndicatorCheckBoxMenuItem.addActionListener(this) testOverviewPopupMenu.add(showWarningIndicatorCheckBoxMenuItem) - showInfoIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL").replace("?","")) - showInfoIndicatorCheckBoxMenuItem.selected = true + showInfoIndicatorCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL").replace("?",""), true) showInfoIndicatorCheckBoxMenuItem.addActionListener(this) testOverviewPopupMenu.add(showInfoIndicatorCheckBoxMenuItem) - syncDetailTabCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SYNC_DETAIL_TAB_LABEL").replace("?","")) - syncDetailTabCheckBoxMenuItem.selected = true + syncDetailTabCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SYNC_DETAIL_TAB_LABEL").replace("?",""), true) syncDetailTabCheckBoxMenuItem.addActionListener(this) testOverviewPopupMenu.add(syncDetailTabCheckBoxMenuItem) testOverviewTable.componentPopupMenu = testOverviewPopupMenu From 6d86ed534812e7821261b8ed8436705a8ddc6b56 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:10:14 +0200 Subject: [PATCH 129/188] add checkmark icon --- .../sqldev/resources/images/checkmark.png | Bin 0 -> 3619 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/checkmark.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/checkmark.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..c17f9beb50eb90b3ea4ba1aa627d660ed6411e52 GIT binary patch literal 3619 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 literal 0 HcmV?d00001 From f5c063f1edcefb06d26d2406304b5c72c29bc482 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:10:56 +0200 Subject: [PATCH 130/188] add checkmark icon and rename test_id to suitepath --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 6ed93fde..1a41704c 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -18,6 +18,7 @@ REFRESH_ICON=/org/utplsql/sqldev/resources/images/refresh.png RUN_ICON=/org/utplsql/sqldev/resources/images/run.png RUN_WORKSHEET_ICON=/org/utplsql/sqldev/resources/images/run_worksheet.png CLEAR_ICON=/org/utplsql/sqldev/resources/images/clear.png +CHECKMARK_ICON=/org/utplsql/sqldev/resources/images/checkmark.png # Translatable text PREF_LABEL=utPLSQL @@ -72,6 +73,6 @@ RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. RUNNER_NO_TESTS_FOUND_TEXT=No tests found. -RUNNER_TEST_ID=Id +RUNNER_SUITEPATH=Suitepath RUNNER_TEST_EXECUTION_TIME=Time [s] RUNNER_DESCRIPTION=Description From 1627a752b09f8b4cab05b86cab9a50e35511125f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:11:01 +0200 Subject: [PATCH 131/188] rename test_id to suitepath --- .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index c456d69f..1af05b80 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -53,6 +53,6 @@ RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. -RUNNER_TEST_ID=Id +RUNNER_SUITEPATH=Suitepath RUNNER_TEST_EXECUTION_TIME=Zeit [s] RUNNER_DESCRIPTION=Beschreibung From b6f47bf73041ae573478d78cf9db325bca2f02d4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:11:21 +0200 Subject: [PATCH 132/188] rename test_id to suitepath --- .../org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 4542faa6..6a3f5ab9 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -46,10 +46,10 @@ class TestOverviewTableModel extends DefaultTableModel { fireTableDataChanged() } - def getTestIdColumnName() { + def getSuitepathColumnName() { calcCommonPrefix if (commonPrefix === null || commonPrefix == "") { - return UtplsqlResources.getString("RUNNER_TEST_ID") + return UtplsqlResources.getString("RUNNER_SUITEPATH") } else { commonPrefix } From 9fcda692cea94159bc0ff74fbbbf76ceb88efe9d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:12:35 +0200 Subject: [PATCH 133/188] rename test id to suitepath, remove end date/time, reorder items, fix missing checkmark on Windows with windows look and feel --- .../sqldev/ui/runner/RunnerPanel.xtend | 142 +++++++++--------- 1 file changed, 73 insertions(+), 69 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index c221f6a1..1f96933f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -46,6 +46,7 @@ import javax.swing.JTable import javax.swing.JTextArea import javax.swing.JTextField import javax.swing.SwingConstants +import javax.swing.UIManager import javax.swing.border.EmptyBorder import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener @@ -60,7 +61,6 @@ import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner -// TODO: fix missing checkmark on Windows with windows look and feel (just a blue box is shown instead of checkmark) class RunnerPanel implements FocusListener, ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) @@ -92,13 +92,12 @@ class RunnerPanel implements FocusListener, ActionListener { JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem JCheckBoxMenuItem syncDetailTabCheckBoxMenuItem - JTextArea testIdTextArea JTextField testOwnerTextField JTextField testPackageTextField JTextField testProcedureTextField JTextArea testDescriptionTextArea + JTextArea suitePathTextArea JTextField testStartTextField - JTextField testEndTextField FailuresTableModel failuresTableModel JTable failuresTable JTextArea testFailureMessageTextArea @@ -121,13 +120,12 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable.rowSorter.sortKeys = null testOverviewRunMenuItem.enabled = false testOverviewRunWorksheetMenuItem.enabled = false - testIdTextArea.text = null + suitePathTextArea.text = null testOwnerTextField.text = null testPackageTextField.text = null testProcedureTextField.text = null testDescriptionTextArea.text = null testStartTextField.text = null - testEndTextField.text = null failuresTableModel.model = null failuresTableModel.fireTableDataChanged testFailureMessageTextArea.text = null @@ -229,15 +227,21 @@ class RunnerPanel implements FocusListener, ActionListener { val PreferenceModel preferences = preferenceModel showDisabledCounterCheckBoxMenuItem.selected = preferences.showDisabledCounter applyShowDisabledCounter(showDisabledCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showDisabledCounterCheckBoxMenuItem) showWarningsCounterCheckBoxMenuItem.selected = preferences.showWarningsCounter applyShowWarningsCounter(showWarningsCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showWarningsCounterCheckBoxMenuItem) showInfoCounterCheckBoxMenuItem.selected = preferences.showInfoCounter applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showInfoCounterCheckBoxMenuItem) showWarningIndicatorCheckBoxMenuItem.selected = preferences.showWarningIndicator applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showWarningIndicatorCheckBoxMenuItem) showInfoIndicatorCheckBoxMenuItem.selected = preferences.showInfoIndicator applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showInfoIndicatorCheckBoxMenuItem) syncDetailTabCheckBoxMenuItem.selected = preferences.syncDetailTab + fixCheckBoxMenuItem(syncDetailTabCheckBoxMenuItem) } def setModel(Run run) { @@ -259,7 +263,7 @@ class RunnerPanel implements FocusListener, ActionListener { def synchronized update(String reporterId) { setCurrentRun(runs.get(reporterId)) val row = currentRun.totalNumberOfCompletedTests - 1 - val header = testOverviewTableModel.testIdColumnName + val header = testOverviewTableModel.suitepathColumnName val idColumn = testOverviewTable.columnModel.getColumn(3) if (idColumn.headerValue != header) { idColumn.headerValue = header @@ -294,8 +298,8 @@ class RunnerPanel implements FocusListener, ActionListener { } override void focusGained(FocusEvent e) { - if (e.source == testIdTextArea) { - testIdTextArea.caret.visible = true + if (e.source == suitePathTextArea) { + suitePathTextArea.caret.visible = true } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = true } else if (e.source == testFailureMessageTextArea) { @@ -310,8 +314,8 @@ class RunnerPanel implements FocusListener, ActionListener { } override focusLost(FocusEvent e) { - if (e.source == testIdTextArea) { - testIdTextArea.caret.visible = false + if (e.source == suitePathTextArea) { + suitePathTextArea.caret.visible = false } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = false } else if (e.source == testFailureMessageTextArea) { @@ -335,6 +339,25 @@ class RunnerPanel implements FocusListener, ActionListener { } return pathList } + + private def isWindowsLookAndFeel() { + val laf = UIManager.systemLookAndFeelClassName + if (laf.toLowerCase.contains("windows")) { + return true + } else { + return false + } + } + + private def void fixCheckBoxMenuItem(JCheckBoxMenuItem item) { + if (windowsLookAndFeel) { + if (item.selected) { + item.icon = UtplsqlResources.getIcon("CHECKMARK_ICON") + } else { + item.icon = null + } + } + } override actionPerformed(ActionEvent e) { if (e.source == refreshButton) { @@ -369,16 +392,22 @@ class RunnerPanel implements FocusListener, ActionListener { worksheet.runTestAsync } else if (e.source == showDisabledCounterCheckBoxMenuItem) { applyShowDisabledCounter(showDisabledCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showDisabledCounterCheckBoxMenuItem) } else if (e.source == showWarningsCounterCheckBoxMenuItem) { applyShowWarningsCounter( showWarningsCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showWarningsCounterCheckBoxMenuItem) } else if (e.source == showInfoCounterCheckBoxMenuItem) { applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showInfoCounterCheckBoxMenuItem) } else if (e.source == showWarningIndicatorCheckBoxMenuItem) { applyShowWarningIndicator(showWarningIndicatorCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showWarningIndicatorCheckBoxMenuItem) } else if (e.source == showInfoIndicatorCheckBoxMenuItem) { applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected) + fixCheckBoxMenuItem(showInfoIndicatorCheckBoxMenuItem) } else if (e.source == syncDetailTabCheckBoxMenuItem) { syncDetailTab + fixCheckBoxMenuItem(syncDetailTabCheckBoxMenuItem) } } @@ -406,13 +435,12 @@ class RunnerPanel implements FocusListener, ActionListener { if (rowIndex != -1) { val row = p.testOverviewTable.convertRowIndexToModel(rowIndex) val test = p.testOverviewTableModel.getTest(row) - p.testIdTextArea.text = test.id + p.suitePathTextArea.text = test.id p.testOwnerTextField.text = test.ownerName p.testPackageTextField.text = test.objectName p.testProcedureTextField.text = test.procedureName p.testDescriptionTextArea.text = test.description?.trim p.testStartTextField.text = formatDateTime(test.startTime) - p.testEndTextField.text = formatDateTime(test.endTime) p.failuresTableModel.model = test.failedExpectations p.testFailureMessageTextArea.text = null if (test.failedExpectations !== null && test.failedExpectations.size > 0) { @@ -716,43 +744,15 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable.componentPopupMenu = testOverviewPopupMenu // Test tabbed pane (Test Properties) - // - Id val testInfoPanel = new ScrollablePanel testInfoPanel.setLayout(new GridBagLayout()) - val testIdLabel = new JLabel("Id") - c.gridx = 0 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right - c.anchor = GridBagConstraints::NORTHWEST - c.fill = GridBagConstraints::NONE - c.weightx = 0 - c.weighty = 0 - testInfoPanel.add(testIdLabel, c) - testIdTextArea = new JTextArea - testIdTextArea.editable = false - testIdTextArea.enabled = true - testIdTextArea.lineWrap = true - testIdTextArea.wrapStyleWord = false - testIdTextArea.addFocusListener(this) - c.gridx = 1 - c.gridy = 0 - c.gridwidth = 1 - c.gridheight = 1 - c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST - c.fill = GridBagConstraints::HORIZONTAL - c.weightx = 1 - c.weighty = 0 - testInfoPanel.add(testIdTextArea, c) // - Owner val testOwnerLabel = new JLabel("Owner") c.gridx = 0 - c.gridy = 1 + c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right + c.insets = new Insets(10, 10, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::NONE c.weightx = 0 @@ -761,10 +761,10 @@ class RunnerPanel implements FocusListener, ActionListener { testOwnerTextField = new JTextField testOwnerTextField.editable = false c.gridx = 1 - c.gridy = 1 + c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right + c.insets = new Insets(10, 5, 0, 10) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::HORIZONTAL c.weightx = 1 @@ -773,7 +773,7 @@ class RunnerPanel implements FocusListener, ActionListener { // - Package val testPackageLabel = new JLabel("Package") c.gridx = 0 - c.gridy = 2 + c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right @@ -785,7 +785,7 @@ class RunnerPanel implements FocusListener, ActionListener { testPackageTextField = new JTextField testPackageTextField.editable = false c.gridx = 1 - c.gridy = 2 + c.gridy = 1 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right @@ -797,7 +797,7 @@ class RunnerPanel implements FocusListener, ActionListener { // - Procedure val testProcedureLabel = new JLabel("Procedure") c.gridx = 0 - c.gridy = 3 + c.gridy = 2 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right @@ -809,7 +809,7 @@ class RunnerPanel implements FocusListener, ActionListener { testProcedureTextField = new JTextField testProcedureTextField.editable = false c.gridx = 1 - c.gridy = 3 + c.gridy = 2 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right @@ -821,7 +821,7 @@ class RunnerPanel implements FocusListener, ActionListener { // - Description val testDescriptionLabel = new JLabel(UtplsqlResources.getString("RUNNER_DESCRIPTION")) c.gridx = 0 - c.gridy = 4 + c.gridy = 3 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right @@ -837,7 +837,7 @@ class RunnerPanel implements FocusListener, ActionListener { testDescriptionTextArea.wrapStyleWord = true testDescriptionTextArea.addFocusListener(this) c.gridx = 1 - c.gridy = 4 + c.gridy = 3 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right @@ -846,22 +846,26 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 0 testInfoPanel.add(testDescriptionTextArea, c) - // - Start - val testStartLabel = new JLabel("Start") + // - Suitepath + val suitePathLabel = new JLabel("Suitepath") c.gridx = 0 - c.gridy = 5 + c.gridy = 4 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 10, 0, 0) // top, left, bottom, right - c.anchor = GridBagConstraints::WEST + c.anchor = GridBagConstraints::NORTHWEST c.fill = GridBagConstraints::NONE c.weightx = 0 - c.weighty = 0 - testInfoPanel.add(testStartLabel, c) - testStartTextField = new JTextField - testStartTextField.editable = false + c.weighty = 0 + testInfoPanel.add(suitePathLabel, c) + suitePathTextArea = new JTextArea + suitePathTextArea.editable = false + suitePathTextArea.enabled = true + suitePathTextArea.lineWrap = true + suitePathTextArea.wrapStyleWord = false + suitePathTextArea.addFocusListener(this) c.gridx = 1 - c.gridy = 5 + c.gridy = 4 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 0, 10) // top, left, bottom, right @@ -869,11 +873,11 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::HORIZONTAL c.weightx = 1 c.weighty = 0 - testInfoPanel.add(testStartTextField, c) - // - End - val testEndLabel = new JLabel("End") + testInfoPanel.add(suitePathTextArea, c) + // - Start + val testStartLabel = new JLabel("Start") c.gridx = 0 - c.gridy = 6 + c.gridy = 5 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 10, 10, 0) // top, left, bottom, right @@ -881,11 +885,11 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - testInfoPanel.add(testEndLabel, c) - testEndTextField = new JTextField - testEndTextField.editable = false + testInfoPanel.add(testStartLabel, c) + testStartTextField = new JTextField + testStartTextField.editable = false c.gridx = 1 - c.gridy = 6 + c.gridy = 5 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(5, 5, 10, 10) // top, left, bottom, right @@ -893,11 +897,11 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::HORIZONTAL c.weightx = 1 c.weighty = 0 - testInfoPanel.add(testEndTextField, c) + testInfoPanel.add(testStartTextField, c) // - Vertical spring and scrollbar for info panel val testInfoVerticalSpringLabel = new JLabel c.gridx = 0 - c.gridy = 7 + c.gridy = 6 c.gridwidth = 1 c.gridheight = 1 c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right From 9273e6021ba2404bbc166f7778543822cc708307 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 16 Jun 2019 21:22:57 +0200 Subject: [PATCH 134/188] renamed testsuite to testId to match realtime reporter model --- .../sqldev/ui/runner/RunnerPanel.xtend | 36 +++++++++---------- .../ui/runner/TestOverviewTableModel.xtend | 4 +-- .../resources/UtplsqlResources.properties | 2 +- .../resources/UtplsqlResources_de.properties | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 1f96933f..7dc1d678 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -96,7 +96,7 @@ class RunnerPanel implements FocusListener, ActionListener { JTextField testPackageTextField JTextField testProcedureTextField JTextArea testDescriptionTextArea - JTextArea suitePathTextArea + JTextArea testIdTextArea JTextField testStartTextField FailuresTableModel failuresTableModel JTable failuresTable @@ -120,7 +120,7 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable.rowSorter.sortKeys = null testOverviewRunMenuItem.enabled = false testOverviewRunWorksheetMenuItem.enabled = false - suitePathTextArea.text = null + testIdTextArea.text = null testOwnerTextField.text = null testPackageTextField.text = null testProcedureTextField.text = null @@ -263,7 +263,7 @@ class RunnerPanel implements FocusListener, ActionListener { def synchronized update(String reporterId) { setCurrentRun(runs.get(reporterId)) val row = currentRun.totalNumberOfCompletedTests - 1 - val header = testOverviewTableModel.suitepathColumnName + val header = testOverviewTableModel.testIdColumnName val idColumn = testOverviewTable.columnModel.getColumn(3) if (idColumn.headerValue != header) { idColumn.headerValue = header @@ -298,8 +298,8 @@ class RunnerPanel implements FocusListener, ActionListener { } override void focusGained(FocusEvent e) { - if (e.source == suitePathTextArea) { - suitePathTextArea.caret.visible = true + if (e.source == testIdTextArea) { + testIdTextArea.caret.visible = true } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = true } else if (e.source == testFailureMessageTextArea) { @@ -314,8 +314,8 @@ class RunnerPanel implements FocusListener, ActionListener { } override focusLost(FocusEvent e) { - if (e.source == suitePathTextArea) { - suitePathTextArea.caret.visible = false + if (e.source == testIdTextArea) { + testIdTextArea.caret.visible = false } else if (e.source == testDescriptionTextArea) { testDescriptionTextArea.caret.visible = false } else if (e.source == testFailureMessageTextArea) { @@ -435,11 +435,11 @@ class RunnerPanel implements FocusListener, ActionListener { if (rowIndex != -1) { val row = p.testOverviewTable.convertRowIndexToModel(rowIndex) val test = p.testOverviewTableModel.getTest(row) - p.suitePathTextArea.text = test.id p.testOwnerTextField.text = test.ownerName p.testPackageTextField.text = test.objectName p.testProcedureTextField.text = test.procedureName p.testDescriptionTextArea.text = test.description?.trim + p.testIdTextArea.text = test.id p.testStartTextField.text = formatDateTime(test.startTime) p.failuresTableModel.model = test.failedExpectations p.testFailureMessageTextArea.text = null @@ -846,8 +846,8 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 0 testInfoPanel.add(testDescriptionTextArea, c) - // - Suitepath - val suitePathLabel = new JLabel("Suitepath") + // - Suitepath (id) + val testIdLabel = new JLabel("Suitepath") c.gridx = 0 c.gridy = 4 c.gridwidth = 1 @@ -857,13 +857,13 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::NONE c.weightx = 0 c.weighty = 0 - testInfoPanel.add(suitePathLabel, c) - suitePathTextArea = new JTextArea - suitePathTextArea.editable = false - suitePathTextArea.enabled = true - suitePathTextArea.lineWrap = true - suitePathTextArea.wrapStyleWord = false - suitePathTextArea.addFocusListener(this) + testInfoPanel.add(testIdLabel, c) + testIdTextArea = new JTextArea + testIdTextArea.editable = false + testIdTextArea.enabled = true + testIdTextArea.lineWrap = true + testIdTextArea.wrapStyleWord = false + testIdTextArea.addFocusListener(this) c.gridx = 1 c.gridy = 4 c.gridwidth = 1 @@ -873,7 +873,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::HORIZONTAL c.weightx = 1 c.weighty = 0 - testInfoPanel.add(suitePathTextArea, c) + testInfoPanel.add(testIdTextArea, c) // - Start val testStartLabel = new JLabel("Start") c.gridx = 0 diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 6a3f5ab9..4542faa6 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -46,10 +46,10 @@ class TestOverviewTableModel extends DefaultTableModel { fireTableDataChanged() } - def getSuitepathColumnName() { + def getTestIdColumnName() { calcCommonPrefix if (commonPrefix === null || commonPrefix == "") { - return UtplsqlResources.getString("RUNNER_SUITEPATH") + return UtplsqlResources.getString("RUNNER_TEST_ID") } else { commonPrefix } diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 1a41704c..a6338350 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -73,6 +73,6 @@ RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. RUNNER_NO_TESTS_FOUND_TEXT=No tests found. -RUNNER_SUITEPATH=Suitepath +RUNNER_TEST_ID=Suitepath RUNNER_TEST_EXECUTION_TIME=Time [s] RUNNER_DESCRIPTION=Description diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 1af05b80..75c79e97 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -53,6 +53,6 @@ RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. -RUNNER_SUITEPATH=Suitepath +RUNNER_TEST_ID=Suitepath RUNNER_TEST_EXECUTION_TIME=Zeit [s] RUNNER_DESCRIPTION=Beschreibung From 9f1842f1b254e8c7cbaf1d0bce4756b4abd555c2 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 17 Jun 2019 02:24:20 +0200 Subject: [PATCH 135/188] add read-only TextField with honoring look and feel --- .../sqldev/ui/runner/RunnerTextField.xtend | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend new file mode 100644 index 00000000..17af302d --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend @@ -0,0 +1,24 @@ +package org.utplsql.sqldev.ui.runner + +import java.awt.Graphics +import javax.swing.JTextField +import javax.swing.UIManager + +class RunnerTextField extends JTextField { + + override paintComponent(Graphics g) { + // default for non-opaque components + if (!opaque) { + super.paintComponent(g) + return + } + + g.color = UIManager.getColor("TextField.inactiveBackground") + g.fillRect(0, 0, width, height) + + // do rest, changing opaque to ensure background is not overwritten + setOpaque(false) + super.paintComponent(g) + setOpaque(true) + } +} From 24bd5004bce2c06da76289da5f4cd60b957b1bb7 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 17 Jun 2019 02:24:39 +0200 Subject: [PATCH 136/188] add read-only TextArea honoring look and feel --- .../sqldev/ui/runner/RunnerTextArea.xtend | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend new file mode 100644 index 00000000..3c19edf9 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend @@ -0,0 +1,25 @@ +package org.utplsql.sqldev.ui.runner + +import java.awt.Graphics +import javax.swing.JTextArea +import javax.swing.UIManager + +class RunnerTextArea extends JTextArea { + + override paintComponent(Graphics g) { + // default for non-opaque components + if (!opaque) { + super.paintComponent(g) + return + } + + // use value of JTextField for consistency + g.color = UIManager.getColor("TextField.inactiveBackground") + g.fillRect(0, 0, width, height) + + // do rest, changing opaque to ensure background is not overwritten + setOpaque(false) + super.paintComponent(g) + setOpaque(true) + } +} From dc71fd32979279d69c48f99b2a68e6e46794fddb Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 17 Jun 2019 02:26:06 +0200 Subject: [PATCH 137/188] use own components to make make UI more consistent across platforms --- .../sqldev/ui/runner/RunnerPanel.xtend | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 7dc1d678..f73cfbff 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -43,8 +43,6 @@ import javax.swing.JSeparator import javax.swing.JSplitPane import javax.swing.JTabbedPane import javax.swing.JTable -import javax.swing.JTextArea -import javax.swing.JTextField import javax.swing.SwingConstants import javax.swing.UIManager import javax.swing.border.EmptyBorder @@ -92,18 +90,18 @@ class RunnerPanel implements FocusListener, ActionListener { JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem JCheckBoxMenuItem syncDetailTabCheckBoxMenuItem - JTextField testOwnerTextField - JTextField testPackageTextField - JTextField testProcedureTextField - JTextArea testDescriptionTextArea - JTextArea testIdTextArea - JTextField testStartTextField + RunnerTextField testOwnerTextField + RunnerTextField testPackageTextField + RunnerTextField testProcedureTextField + RunnerTextArea testDescriptionTextArea + RunnerTextArea testIdTextArea + RunnerTextField testStartTextField FailuresTableModel failuresTableModel JTable failuresTable - JTextArea testFailureMessageTextArea - JTextArea testErrorStackTextArea - JTextArea testWarningsTextArea - JTextArea testServerOutputTextArea + RunnerTextArea testFailureMessageTextArea + RunnerTextArea testErrorStackTextArea + RunnerTextArea testWarningsTextArea + RunnerTextArea testServerOutputTextArea JTabbedPane testDetailTabbedPane def Component getGUI() { @@ -758,7 +756,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testOwnerLabel, c) - testOwnerTextField = new JTextField + testOwnerTextField = new RunnerTextField testOwnerTextField.editable = false c.gridx = 1 c.gridy = 0 @@ -782,7 +780,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testPackageLabel, c) - testPackageTextField = new JTextField + testPackageTextField = new RunnerTextField testPackageTextField.editable = false c.gridx = 1 c.gridy = 1 @@ -806,7 +804,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testProcedureLabel, c) - testProcedureTextField = new JTextField + testProcedureTextField = new RunnerTextField testProcedureTextField.editable = false c.gridx = 1 c.gridy = 2 @@ -830,7 +828,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testDescriptionLabel, c) - testDescriptionTextArea = new JTextArea + testDescriptionTextArea = new RunnerTextArea testDescriptionTextArea.editable = false testDescriptionTextArea.enabled = true testDescriptionTextArea.lineWrap = true @@ -858,7 +856,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testIdLabel, c) - testIdTextArea = new JTextArea + testIdTextArea = new RunnerTextArea testIdTextArea.editable = false testIdTextArea.enabled = true testIdTextArea.lineWrap = true @@ -886,7 +884,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 0 c.weighty = 0 testInfoPanel.add(testStartLabel, c) - testStartTextField = new JTextField + testStartTextField = new RunnerTextField testStartTextField.editable = false c.gridx = 1 c.gridy = 5 @@ -899,7 +897,6 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testStartTextField, c) // - Vertical spring and scrollbar for info panel - val testInfoVerticalSpringLabel = new JLabel c.gridx = 0 c.gridy = 6 c.gridwidth = 1 @@ -909,7 +906,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.fill = GridBagConstraints::BOTH c.weightx = 0 c.weighty = 1 - testInfoPanel.add(testInfoVerticalSpringLabel, c) + testInfoPanel.add(Box.createVerticalGlue(), c) val testPropertiesScrollPane = new JScrollPane(testInfoPanel) // Failures tabbed pane (failed expectations) @@ -927,7 +924,7 @@ class RunnerPanel implements FocusListener, ActionListener { failuresDescription.headerRenderer = failuresTableHeaderRenderer val failuresTableScrollPane = new JScrollPane(failuresTable) // - failures details - testFailureMessageTextArea = new JTextArea + testFailureMessageTextArea = new RunnerTextArea testFailureMessageTextArea.editable = false testFailureMessageTextArea.enabled = true testFailureMessageTextArea.lineWrap = true @@ -951,7 +948,7 @@ class RunnerPanel implements FocusListener, ActionListener { // Errors tabbed pane (Error Stack) val testErrorStackPanel = new JPanel testErrorStackPanel.setLayout(new GridBagLayout()) - testErrorStackTextArea = new JTextArea + testErrorStackTextArea = new RunnerTextArea testErrorStackTextArea.editable = false testErrorStackTextArea.enabled = true testErrorStackTextArea.lineWrap = true @@ -962,7 +959,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::BOTH c.weightx = 1 @@ -972,7 +969,7 @@ class RunnerPanel implements FocusListener, ActionListener { // Warnings tabbed pane val testWarningsPanel = new JPanel testWarningsPanel.setLayout(new GridBagLayout()) - testWarningsTextArea = new JTextArea + testWarningsTextArea = new RunnerTextArea testWarningsTextArea.editable = false testWarningsTextArea.enabled = true testWarningsTextArea.lineWrap = true @@ -983,7 +980,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::BOTH c.weightx = 1 @@ -993,7 +990,7 @@ class RunnerPanel implements FocusListener, ActionListener { // Info tabbed pane (Server Output) val testServerOutputPanel = new JPanel testServerOutputPanel.setLayout(new GridBagLayout()) - testServerOutputTextArea = new JTextArea + testServerOutputTextArea = new RunnerTextArea testServerOutputTextArea.editable = false testServerOutputTextArea.enabled = true testServerOutputTextArea.lineWrap = true @@ -1004,7 +1001,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.gridy = 0 c.gridwidth = 1 c.gridheight = 1 - c.insets = new Insets(10, 10, 10, 10) // top, left, bottom, right + c.insets = new Insets(0, 0, 0, 0) // top, left, bottom, right c.anchor = GridBagConstraints::WEST c.fill = GridBagConstraints::BOTH c.weightx = 1 @@ -1030,5 +1027,10 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 1 basePanel.add(horizontalSplitPane, c) + + // fix missing borders (e.g. on windows look and feel) + val referenceBorder = testOwnerTextField.border + testDescriptionTextArea.border = referenceBorder + testIdTextArea.border = referenceBorder } } \ No newline at end of file From 69e27180ce04d2b3a3de8eb436695e06310dbcb0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 17 Jun 2019 23:32:17 +0200 Subject: [PATCH 138/188] add status icon to resource bundle --- .../sqldev/resources/UtplsqlResources.properties | 1 + .../utplsql/sqldev/resources/images/status.png | Bin 0 -> 3611 bytes 2 files changed, 1 insertion(+) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/status.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index a6338350..fc210002 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -19,6 +19,7 @@ RUN_ICON=/org/utplsql/sqldev/resources/images/run.png RUN_WORKSHEET_ICON=/org/utplsql/sqldev/resources/images/run_worksheet.png CLEAR_ICON=/org/utplsql/sqldev/resources/images/clear.png CHECKMARK_ICON=/org/utplsql/sqldev/resources/images/checkmark.png +STATUS_ICON=/org/utplsql/sqldev/resources/images/status.png # Translatable text PREF_LABEL=utPLSQL diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/status.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/status.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d3dd703d764959e0d29d691810c14d04150652 GIT binary patch literal 3611 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 literal 0 HcmV?d00001 From fa3027e98adc9cd33e5d248c338ea783f9b7081a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 17 Jun 2019 23:33:49 +0200 Subject: [PATCH 139/188] use status icon for test results, remove icon for tests counter --- .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index f73cfbff..37a29f34 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -488,7 +488,7 @@ class RunnerPanel implements FocusListener, ActionListener { val renderer = table.tableHeader.defaultRenderer val label = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col) as JLabel if (col === 0) { - label.icon = UtplsqlResources.getIcon("UTPLSQL_ICON") + label.icon = UtplsqlResources.getIcon("STATUS_ICON") label.horizontalAlignment = JLabel.CENTER } else if (col === 1) { label.icon = UtplsqlResources.getIcon("WARNING_ICON") @@ -547,7 +547,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weightx = 1 c.weighty = 0 groupPanel.add(comp, c) - val dim = new Dimension(154, 24) + val dim = new Dimension(134, 24) groupPanel.minimumSize = dim groupPanel.preferredSize = dim return groupPanel @@ -615,8 +615,7 @@ class RunnerPanel implements FocusListener, ActionListener { // - Test counter val counterPanel = new JPanel counterPanel.layout = new WrapLayout(FlowLayout.LEFT, 0, 0) - val testCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_TESTS_LABEL") + ":", - UtplsqlResources.getIcon("UTPLSQL_ICON"), JLabel::LEADING) + val testCounterLabel = new JLabel(UtplsqlResources.getString("RUNNER_TESTS_LABEL") + ":", JLabel::LEADING) testCounterValueLabel = new JLabel counterPanel.add(makeLabelledCounterComponent(testCounterLabel, testCounterValueLabel)) // - Failure counter From 65d9cd5a4ee4f251a1cea0c3457710cd94cb0532 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 18 Jun 2019 00:06:09 +0200 Subject: [PATCH 140/188] updated failure icon --- .../sqldev/resources/images/failure.png | Bin 966 -> 3597 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png index 11d419a8e91248a6fff9361712d8343d6eb3b14e..bf2b32c4e0ce62be9908360c6f1aa9878b274c5d 100644 GIT binary patch delta 3596 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 Sk6i!&002ovP6b4+LSTYci`h#6 delta 944 zcmV;h15f;o9L5KbB!2{FK}|sb0M^*lPgpVl000?uMObuGZ)S9NVRB^vL1b@YWgtmy zVP|DhWnpA_ami&o000A6NklVFyxY<&C-U+>;zcy#U@ z!|~&17}g%UxC>}d-|qkacft$+2q3Tlg+R?xa#H<4*-5%ea^egOC-*Y^y?&12@AIb& z|AoaE{)@{o{1caDIDGpV!=l6IZ{7O*z4FZe|LZ^o00a;EGf!vD1x z7@h+SFaii5kPGD5_yrmMzj(^<59;J^agGdsP8|T-{OjZahS!mfkZ=IvKfiu62>kuc z08}apG=D$yyJp6X|2E#ugF|Yw3%n5ZiNHd$c1B39g{S1GAnty{Z(DBc{{sPhr zp!C265I`UUPCq<%mf^pI9M}fV1qjV=fHwa;ae#rt!hu0@<$kdIzyC}OSHJxM8E_kD zz&C&Z0vWL9#IZBrxCTYl?~@1Nn*RV@^DNAf;eY$_0}Nk}9RwTj8z^?>`(K713=9{5 z27CYrAjUwTUx1t?1wJ-zW`Eu?{JL|4;V&@wL7G94@&_87AogEIW`>Pl85rh%{(JHj z1H%-czC!>3!~{y)KL+e(_cmwhTqJrV9gu8 z{(rsug@IuUQ1eZo3tj*O5IirKGBO4M(^{dEq=1bcFB^jb8v}#T-#-jbzW!vm`sEkH z>2H4-4*&Rf5~TSZ1H(a}mg_*hZvX;_5ji)?Gcu}!QWz+a01Z-Hx^G61T zQ&5}lgEWKm00a<<0bl`O@&urWZgxzhLSC0t^5Oke9QY SEa|NP0000 Date: Tue, 18 Jun 2019 00:07:12 +0200 Subject: [PATCH 141/188] increase header/row heights to ensure icon fits in overview table --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 37a29f34..efde2e12 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -63,6 +63,7 @@ class RunnerPanel implements FocusListener, ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) static val INDICATOR_WIDTH = 20 + static val OVERVIEW_TABLE_ROW_HEIGHT = 20 LimitedLinkedHashMap runs = new LimitedLinkedHashMap(10) Run currentRun JPanel basePanel @@ -692,6 +693,8 @@ class RunnerPanel implements FocusListener, ActionListener { testOverviewTable = new JTable(testOverviewTableModel) testOverviewTable.tableHeader.reorderingAllowed = false testOverviewTable.autoCreateRowSorter = true + testOverviewTable.rowHeight = OVERVIEW_TABLE_ROW_HEIGHT + testOverviewTable.tableHeader.preferredSize = new Dimension(testOverviewTable.tableHeader.getPreferredSize.width, OVERVIEW_TABLE_ROW_HEIGHT) testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) val testTableHeaderRenderer = new TestTableHeaderRenderer val overviewTableStatus = testOverviewTable.columnModel.getColumn(0) From fe9b413dfaccf41ccd03b078de62ae7bb2970b2a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 18 Jun 2019 00:16:19 +0200 Subject: [PATCH 142/188] change failure icon again (less heavy) --- .../sqldev/resources/images/failure.png | Bin 3597 -> 3615 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png index bf2b32c4e0ce62be9908360c6f1aa9878b274c5d..23211dfca0237b20dd7ef2ecafa8c6b4da9d5fab 100644 GIT binary patch delta 877 zcmV-z1CsoW9G@JpzzTm#NklI>NSQ=ee$)Z{@N~>6iO4^0i(qN1xBxxs) z&SV~$J9qBPz2D~|)$Y$ZoXt;6ck}{)5QJ_O6>=b&Ngs~w>>huyTVol3ddXdIm$DbD z3oDa`WJboKp!Ifbx}z5aG|DbcDs`rF(RcFoXg?X@iC`D6JG&yLe^7Ut2$F zwZ=e$m`Y`HR)*?GQy?BUUvs1k16BJk@dr4YB@nYM-9-Nlw_V)5M1Q|`jjAuApW zCSzX16IG9aQv{G17;@(`Lbp0Cfs33m-y}L_G`M#i3 z`pQtk983*m#-o*0Dzkr5-akzB_4nAwyx`Q7aYD!=t1|$H=$sAouq3L}#y4eEffDk|$20f#UfusQ>*N@xHw@ zb+x@HU)z;Fk%;R~RrRnf3-6~X{5|)P7#^XP=%lO_$&-^925cUGiI$lkaFXp961*Cg zm>t|(?(VbVfm_G29dvG$TmZ&99}^#Y7GXfJnWy;ftHi(ml9vA6)U`%NEwamvEkpSp zp;tu(4eEbh6?s<@IiDlEG)0R62|z9{5`23W$F>NxCTP^RJHChEhvtH-1U0SkwdTgP zzfdo~z^;!buvCaQKTG@I1EkMgX4P({ki9|Okhn_Vhw>l8uc}`vp2F9f;>J3WSKc7= z!6yh{>G(0`9vPrI`#UWI``LN+5?)URx0t8mY5aex{?!Po!Kq3y#1k6N^GF_i5`g9R z-z4|hX-wN>?wLoaEzA+$a}Q=;hKg6AQVa;H!6`A_){C~pX|q?13sJ*qP7>WWK;gpI zSc!IoW7Am661jUHPP(7M2R0T#LkSX00000NkvXXu0mjf D4oS6b delta 859 zcmV-h1El<)9E}{XzzTmjNkl~H3slmwV8y=u160bUyC|TDNK`a5ro?HS*iK{5j6HMb zURH_9*?-c}`ERlJv8~+XOq*Xyig?<+WR|I+x6C7qUi>$4~yed%d_P-y;N9l9qev%wG-gfiF_hzSOe6hcQ%6V9=l;mlXC(r*S)X7KU zw=*Y+EwPjhle;AW&Qw1-Ya?4Rap?^J+{!v>-o*+O$=`nsDh2}Ix#4PaPcDuZkcQQc zE9*g=Ud--=NY_Ex20J>$YS&40jMYl%ZZ`NwK$vwucC=Xru#Sdyw7C=IyenI%YJ0l@ z9YNd*h+6@41nunxTc~Q3^R77B+&SXxV^zjL&_b3MFhPXcdj`2I0J{HWZilB5FNjL^-9Bo)Y=DkD~Y)SsMxppwq5BTg<&^r5=# zCBHQHy}5VeW^GTbUpQ@YNk6Qt;N=CW zmV|LiICBD1?70dc4m$V!C;RxWL|Q4`mVxu~m2gB%L2b4EWbYSN(MS zrBqX|lJ}}A>t2p(ZPKX$#BlB#I`J2BaiR#Rc_{K;f&R>bRp_}*SKU3*bR3ngiJaG@ lFLT!F%PgbxZG_;z0RZ0@e$W|6k6i!&002ovPDHLkV1oX2wIcuk From 3bd6de4cafb69e168038d5dc4d8dfa94803dc2ba Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 18 Jun 2019 02:03:15 +0200 Subject: [PATCH 143/188] add utPLSQL tab icon (only visible when moved to center) --- .../main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend index 4202e3b4..49050d4a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerView.xtend @@ -35,6 +35,10 @@ class RunnerView extends DockableWindow { return panel.getGUI() } + override getTabIcon() { + return UtplsqlResources.getIcon("UTPLSQL_ICON") + } + def getRunnerPanel() { getGUI() return panel From 36ead625230dd1e0c9b2102334fb99c59e4f99d6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 18 Jun 2019 02:06:04 +0200 Subject: [PATCH 144/188] set of icons provided by Jacek Gebal --- .../sqldev/resources/images/disabled_32x32.png | Bin 0 -> 918 bytes .../sqldev/resources/images/error_32x32.png | Bin 0 -> 536 bytes .../sqldev/resources/images/failure_32x32.png | Bin 0 -> 972 bytes .../sqldev/resources/images/progress_32x32.png | Bin 0 -> 638 bytes .../sqldev/resources/images/success_32x32.png | Bin 0 -> 572 bytes .../sqldev/resources/images/terminated_32x32.png | Bin 0 -> 622 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled_32x32.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error_32x32.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure_32x32.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/progress_32x32.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success_32x32.png create mode 100644 sqldev/src/main/resources/org/utplsql/sqldev/resources/images/terminated_32x32.png diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled_32x32.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..3fcb0ca6bfc7b63aa02b002e88d3ba61266c44a9 GIT binary patch literal 918 zcmV;H18Mw;P)4UKI=KIaOnKuDAT8A6~{2Ti- zGc&_Vsc|B@govjA;3NQ~0bmmmzY|f7h*mt$YxJwPF9!m{^8j$6PsI&HoLyL0_|%KP zs{`e7Io)hF9|OR>;H16u#ppy-+1=fpU0z=P6(fjEq62JvdwY8o5ibk=gMf`zt95O0 zaq)*uSlN)l$v-3*uOZ?srPS$sKA+KAqwo7?7)L~JE&2-Sbb7T|EM_gV{R`BA55jKd zdjk<2TV5-b%2xp3-z(R3=ZT0@CRbr_aPSELI1 zh*&jbBb!7tYF0=`3Y1cO+qtyDwec^Evob_v-LVyOfKP9h8i)O$C+8}NSpz6Ij#H4h zm;>BoBoP2=wwz0zE@7YaJdbn!M)D)#gxtp*0Dvo!h=?!b-h^G(y_t~nNv-uW=10U8 zDTjzx<=%9FTWhosF|m`muFEa?xp7}uHZsnecDubEDFgr_IwAL69mwT!o02(%`Q$|O zx|eb04@xu?g5IgbK*49}mmvrHX=z-RHN%Ds9 z^z?KrVeaT>f`!&vGDvg6uYR=S`G7)QQYu`pj zMveo(d6NbJOIquP7JP)_uxGPb4)etb`6u@kt@TrhV_3d=5iOt3&o!G(zP;v5aJN({ zaU)q#O0DN|xi95%xy7ZH$z+Co-@g;&+|=9P(JV3`fR1?}q=i$F#fgxm-*4BEtRn@X z)_T3}kByDJ+}qnb1_0+QJtJgI{02kmjcT>}Gl?lN0#YEDlK%f#E}dYQ9Z9896GX(5 sGT#OM$v-A_etvt+5T@Rv{h>zSH*qUUhE;)gt^fc407*qoM6N<$g2s-k$p8QV literal 0 HcmV?d00001 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error_32x32.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..91278fb86623cf9f78a5bb66b5b553de60e940b4 GIT binary patch literal 536 zcmV+z0_XjSP)Y5Pfs2VkHPRR>nd^dqJ=l8yoQg5kauF68syf#6}Qo6i%_R5gXfpy&^WIvJnKU zkZ>7Uxr5E@-j}Xe#A|lnF!Sc!?AHMQ->_GJsuZBTwKduA^;QF-1!kTDFp zLr1Bb`SbI)vb?1PyliYtvr;<*ECCoRLEb_fpVY3dUWYt5PWvy!`Fa&63en$zXu6reZUH`d(6pW4Qt)NTsQ(GsAKS^zAYPM+q=PmRWu z+4Yb#rReGgB?ac_6rej9B5InBKbezK zM_JubWDb>$((dp1J4BS&3A7_<4<<(>E5}1y9{u^z%%<+$h auL7Sbyrac)Sv?;B0000iE+)h59WBKsvDE3jnqk;y3`kA>un_jeV~d(_at( z-#@LU-LbPobS(R&i}|zUMD*xgYVvOVnW2;=FgAGsNbs2zpV|QIH1wBDN;b+WoMt-m z_-CB46UWR3@A%W;;@bh&O-}{wL-*^8;$p=DkhDkZ&7c8*#^apWJQ~mFhFk%$rD)x` zkP}il0OY_)%|jIcM8l;O&UFg7nSmKgW^6>J0`J=BugNxMJU2vO=A%C!9;h>ULgxTb ziZ7T4j)_L*iso9Rh9!xtjO(IVuriQtGNy%OA1HAY zw`IYlrDZ4k$0gMOeUmTu0&cBHJQ>!ev)zX`61g`3uGT!gdcNAHX<01*VBTd4H5~^+ zGT{Y5i=^EQKHamwI&l29xZr7jjvd1W0IJeKqiY-p32dfag2Pem0P^|)qtf(k0g&Eq z3Zrx!2(2^K-LREN-6Teh=H*!}a29|(27i@p0U*%iLecb9Gt;j1r5tiQm@uY!dDaP& zZvg<<5}JwxN)h}{Gq|KZ=XUrieLGBBi&a?mAe&x$h#;EqiswFSqfC=gU6IpXhR+t;yHnvieCmh!VWkU3-NHdm?_CN*jA$n!FqUBK+3V zaNZ$0VJgZKOTdP_9d2G(o@0C@@a}n5`az{fC5^qeO`gzJ3AC`xtGNfjDn-U&Zg1B% z;mXy~;F5Y7%|e}!ip_wCjj5=hK{Rw}Q;Uscc>!n;%Qlpn-;q6-|9&htK?t1%vNtoV uQdRViNf7WWa_Cth{|BPJ|L>PA1HS=m+=Y~vtC{@(0000{&d=wxg6bbPkXsMv$Lp0R1ARNTZq7$#RQ9cp1-e(D9|;Dl7Ywfm%pIzuOmXHJ^!qU!RF2tEzTTSHi2*@ zc&qu$wPb*c^4{Vr@ciB^CT!vxYn?ZysJXBF4#=(XHOMA>9iDDNfRC~tT-C9;%AvY| z;2qaFK6#Zm<0=g>;GhZo9QBtgU-iQ{z32;ZtckcbTD!6d8LQW|z#jmfL{sdcuc{Yo(P;NZF=xi%%F+vtt^WcO*!KRvfwm|7`}o5ojhnK`IK9~v+vp9* zp?VIK&&xO+))5a9b&C*AMzLC|!*adW0E<&j`#6I9bk!vIVM ziIM>+w@*O^3$BxE;;PkVVi2oETaU#+_v;Z~JVSvKZZOAgBXH#on#l8welWISO9mM9 zpnLb-oaa3S6npy4ZOwH#HbF#L)ayKPVW*G91#snEkI;p8<*gHNf!oL*x`8$h^>=Z8 Y0}RFP<+o-tW&i*H07*qoM6N<$f>q%z+yDRo literal 0 HcmV?d00001 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success_32x32.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..efb200a3738bfd7e751d2aac1b94fccabce4cd2e GIT binary patch literal 572 zcmV-C0>k}@P)QCD$g3wwQk* zNTENXUCJ`srvrBxHvU|N^gBsg`N(@O1JP@ln1tl>IB>je5djG?Zu6j#ya42Hmc5V_tP{a zWalopVO1{RaE@E=zWq>eiPm?(>*RNsP`Yor>QnmY%jVfH^RVV0I@vcVa_bCE>oYT| z@-VpcL=y12`E3Tu<`4is|EAo!X`j@^c2PbHxSStZfdyQ8U!-pb`&;c-fyznXVDx3@ zQOZ?ZN)wIDlm@ZhK8OrtmKIkUTWx$?SXjHqBZ%7v(|F5scMb1ii=mR9-6e`kPmm-DHNhpOHfxp0z&M{UI z$RY9>!laQJ1xAtU06#5Hrx zpH{7fVVK&ennQ-tXf#N=5Ye90%@s%ykj^>DS`3pwPBGkJOadeKp=*0;G0Z){M!sg3 z&CKD_u%^J*wj64%z_m1PLgt!5;%WrqIQ}k;n~=F+k+>RxPN(x505XdR39zCZW!?pG z9DiC7)Y)Ar_1SbTm>t96@U~Pc?E=7C)AkgdtD`UsznK_X3KmA+_nB#)sff5VTj0yL zl|T>#bKm!mb0YD-BzveXOr>DKZZH_cl}hDeHk<7Lz&-$2$u9hD@1!XG*z5J~Y Date: Tue, 18 Jun 2019 02:06:38 +0200 Subject: [PATCH 145/188] updated set of icons for disabled, error, failure and success --- .../sqldev/resources/images/disabled.png | Bin 3097 -> 3423 bytes .../utplsql/sqldev/resources/images/error.png | Bin 575 -> 3244 bytes .../sqldev/resources/images/failure.png | Bin 3615 -> 3401 bytes .../sqldev/resources/images/success.png | Bin 375 -> 3138 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/disabled.png index 7db9e9cd97970fb87e0cdf4abf0973333b5ab6da..b2afa029ae563950e1fe2cdee027afbcf308fc69 100644 GIT binary patch delta 700 zcmV;t0z>_o7~dL@D+>z~000XU0RWnu7_l~q3V#BMNklb?g4%@Grad7 zwcG8rEX&d?%W!2`re#@PQPq!~bCcn4cz-^|_?7qm@nkX~#t1M6><8YmI(Ib7va4yD zrebDvI-QY-q%p?p{eJ)Jxw$!#B$)+uTtt2aQs9}H-4l@uz@*pfwPzuwW;O*@^E}5n zM~o2>`2@JrfTzG&5qS=jP2e~HGs8Le*TTZWi~0F^R2ASeGrI+3z#HH+@Q12SfPZIO zE&Qk6psLh$4R9Q|-L&zhVO}>gR24IeTOa@tK~?u{Zfrj0`S<( zPNix3V79WViin&`lH`Vnc<=qn+JD;G?=H{tah~VboOAb^@Bsb<$|Onf-eYD5LI~ex zS$4}gm&6z!jYgyH%F4=EmY0_i5vr=%+3)v%iZLFW?Z0#GslI)6Kaez59#&O#Za5si z1aNg-Go4Opx7&XwNpdpA_#LnT5M%rhIM{UlT12i-r_&R4UB3(=;JyF%HzhXmC%~0n iuXmaEn8n3K{uuy;szL8JUpYMh0000<9000ie0hKEb8?iQt3V#7aNkl@EG_q?qC3u=`T!$zeW)+*h3$B zaS*X$aPmiGXpe5g8ZMHu4{?;7FR&iC3xzD2m)n8&Z9l<<47W+3sRn_RbCcmD5gD#Q zU?ltlhDXt}pn26`bL3 zd}mlrMCY-aZX*1SD!!o^EoFLggIWA~yUMw(VjD9UMNe$wF*flP=V`+K0RX;EMDRQn R{a^q9002ovPDHLkV1nHUqF(?2 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/error.png index 030bec170c9b4d7c890761906fedb2be25440650..aefaed044340319adf41da902479b11ab55ed8f9 100644 GIT binary patch delta 3240 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 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/failure.png index 23211dfca0237b20dd7ef2ecafa8c6b4da9d5fab..27bc6d87b899eb2be70e4066a4dbd5eedeee6c24 100644 GIT binary patch delta 663 zcmV;I0%-l89LXB6zY2c>bV)=(RCwB)lh12ibr8irXTIN?#Pq#1i>9dr!Maos>K`B! zu`L!U{={7tF1jhSq)?&jc4x2@M9@u_(st2OK|wbzx^W{`Q9&0~!BmRPOOyL@-+lMa zxX4YKiYw3NJ8;e%zMPp+Tzv}wqM%9-7}-PizIL1cLUr@7t+RjWP0{k8+{E31Xi-r7XeqKXtvujWC+7k)o)XIF_De{L*O1T=yV1g^zd^%O};R6 z&R0Gj5RfYk01D6L1*bV;6n8>V5%Dyz3Luzq_|c)r=%u1AE-V!NB@=b7v^Jp>Z)fai zMEcpLw7{Cg-kjs3kPbCrKM;H`+4FyrecaOS?{aCoo*je75TNKP z+X|7`dh~Ct?V57}W)!hO#3|8!Yv#`;^jr$RqtMBW-3QHf+H$wSieTR1@5u3PHhwbM zQ!-mtiVp%k(?;{h(5po!eg_T+R(1^9Xl@4HBgkpOrj%?hLdy#E0;VnH$t&}5blRo;BL5%t-H*S{Gl zVk<7c{^m@T?_YHMWufg=Zaae{m>24Y_-dF(=YQK+9VmEoOx8|4OxkmLoCb@Te7u`; xucLgS&jez002ovPDHLkV1ha?M}YtU delta 878 zcmV-!1Cjj68lN1nzY2c?N=ZaPRCwA%(@SVvWdOzT|98Lpn9O7nXOd>}nv_iK1Cbb0 zwcsKkMrhCygo+B%2DBoIx)7-@bRk#}T!@P7SNmf3l}f9&DWn5YtN+#>MnD5Vg$-+Kk@u(nv|Gm3QOZmQ_ zRQk$L!W>KuWyYhGRVuT8QrnEyfj6N0SQ1ZFA{uv7RR;-v?gfOw>!Rv;fLmes{}Qz@wMj0 zwZBj=zre1KCa_e9H$O}J-~*)3U1rs8rjWfs-H^CS;D_=b!>_7eDxSjEn&QSfkyqXz z^T8(wVCncV<{lZKI{P~<1N+%|_7YxC2Dg}};%R^Us{Yjos==vBF~k!Z&+|wgd=h}= z_unM<*=bDMWbTmgk#fK%M!VJA5OZT!sQ>qNf0cDXGBAfZ(9hF+Tk13V;)rD7HYGA)6s)KptVMr zCiQ0WCV^kUN%SIas_%rapFk3d|22jPEtv=s`nezm%G7A%HdF;hAdoIt1@XBEIf6vr z(a4=3iUXm|;UJ07*qoM6N<$ Eg5ArtssI20 diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success.png b/sqldev/src/main/resources/org/utplsql/sqldev/resources/images/success.png index fdd9ae84e296c10b53058669004729f87a99d9ca..525198af49d9cc3053392525453a6075c6ec9ce9 100644 GIT binary patch literal 3138 zcmV-I488M-P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004PNklrt zAqbO^bYMh$VdOhBMx!n^EieE6?_mIn1tla5p7rKFHz(&@+2%e<+*3t>m#wELM2z<7 z7t3UwBl6>)jEz48Kmw)n3iL=Unrad?kbsz9qT|1@f-LuY(cl~S8Qzv!35~gk-iTAmY*w2+v!A$p+A$+gisUw82Bov+WMS3y+X7v z0WU1pjG`Fvdc^T8FvgPwv;mq0+CbH2Kdd*v$sh$=LKe^s=Nd`nI^{}9_5zCe!DZMF z(hATUiV@htbP#Jm*GgHrG`<|pGvjZ-Bb$%mw1hal(Sr-GElfgQ1^2@FuZuwy_!Lfc zAOjD@b-f2WSOw$;V8H`h9|AQH8U9BTujw6DAip*2h1Eb;p6>zxcu%C{6bHz?+Zv|- c{*7k?0PRtsNNJip+yDRo07*qoM6N<$f<9r)DF6Tf literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJbFq_W2nPqp?T7vkfLzW3kH}&m z-3r2tkKX)02xLf>xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1ymFm;1lBd z|Nno6{|up5L(|UqrtJ>RJrtU?KPLNdc*eoVtb^g%ha$5MM`Rt00x~iWMPz}vksv|b zNTBIBBhYZEk|4ie21Yh6eo+-QC%1z7hK-xI?%I3o#HDAiK79Klq7jw>R8{2Z;usbP0l+XkKd7+lQ From f4fe2515f8f3b15a825c721afab567e9e78afb27 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 12 Jun 2019 18:45:48 +0200 Subject: [PATCH 146/188] add shortFailureText to be use --- .../sqldev/model/runner/Expectation.xtend | 15 ++++++ .../sqldev/test/runner/ExpectationTest.xtend | 46 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/runner/ExpectationTest.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend index 02b8c31f..b39d5577 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend @@ -15,6 +15,7 @@ */ package org.utplsql.sqldev.model.runner +import java.util.regex.Pattern import org.eclipse.xtend.lib.annotations.Accessors import org.utplsql.sqldev.model.AbstractModel @@ -30,4 +31,18 @@ class Expectation extends AbstractModel { «caller.trim» '''.toString.trim } + + def getShortFailureText() { + return '''«IF description !== null»«description» (line «callerLine»)«ELSE»Line «callerLine»«ENDIF»'''.toString + } + + def getCallerLine() { + var Integer line = null + val p = Pattern.compile("(?i)\"[^\\\"]+\",\\s+line\\s*([0-9]+)") + val m = p.matcher(caller) + if (m.find) { + line = Integer.valueOf(m.group(1)) + } + return line + } } \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/ExpectationTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/ExpectationTest.xtend new file mode 100644 index 00000000..7aca6152 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/ExpectationTest.xtend @@ -0,0 +1,46 @@ +package org.utplsql.sqldev.test.runner + +import org.junit.Assert +import org.junit.Before +import org.junit.Test +import org.utplsql.sqldev.model.runner.Expectation + +class ExpectationTest { + var Expectation exceptionWithDescription + var Expectation exceptionWithoutDescription + + @Before + def void setup() { + exceptionWithDescription = new Expectation + exceptionWithDescription.description = '''This assert must fail''' + exceptionWithDescription.message = '''at: 1 (number) was expected to equal: 2 (number)''' + exceptionWithDescription.caller = '''"SCOTT.JUNIT_UTPLSQL_TEST1_PKG.TEST_2_NOK", line 14 ut.expect(1, 'This assert must fail').to_equal(2);''' + exceptionWithoutDescription = new Expectation + exceptionWithoutDescription.message = exceptionWithDescription.message + exceptionWithoutDescription.caller = exceptionWithDescription.caller + exceptionWithoutDescription.message = '''at: 1 (number) was expected to equal: 2 (number)''' + exceptionWithoutDescription.caller = '''"SCOTT.JUNIT_UTPLSQL_TEST1_PKG.TEST_3_NOK", line 42 ut.expect(1).to_equal(2);''' + } + + @Test + def void failedExpectationCallerLine() { + val actual = exceptionWithDescription.callerLine + val expected = new Integer(14) + Assert.assertEquals(expected, actual) + } + + @Test + def void shortFailureTextWithDescription() { + val actual = exceptionWithDescription.shortFailureText + val expected = 'This assert must fail (line 14)' + Assert.assertEquals(expected, actual) + } + + @Test + def void shortFailureTextWithoutDescription() { + val actual = exceptionWithoutDescription.shortFailureText + val expected = 'Line 42' + Assert.assertEquals(expected, actual) + } + +} \ No newline at end of file From c0cbbf5ab18dbf72d5160f7ce0b1d624dc9eb154 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 09:01:35 +0200 Subject: [PATCH 147/188] move static string resources to resource bundle --- .../sqldev/ui/runner/RunnerPanel.xtend | 34 +++++++++---------- .../ui/runner/TestOverviewTableModel.xtend | 6 ++-- .../resources/UtplsqlResources.properties | 22 ++++++++++-- .../resources/UtplsqlResources_de.properties | 24 ++++++++++--- 4 files changed, 59 insertions(+), 27 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index efde2e12..ce86f4c5 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -565,15 +565,15 @@ class RunnerPanel implements FocusListener, ActionListener { toolbar.floatable = false toolbar.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right refreshButton = new ToolbarButton(UtplsqlResources.getIcon("REFRESH_ICON")) - refreshButton.toolTipText = "Reset ordering and refresh" + refreshButton.toolTipText = UtplsqlResources.getString("RUNNER_REFRESH_BUTTON") refreshButton.addActionListener(this) toolbar.add(refreshButton) rerunButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_ICON")) - rerunButton.toolTipText = "Rerun all tests" + rerunButton.toolTipText = UtplsqlResources.getString("RUNNER_RERUN_TOOLTIP") rerunButton.addActionListener(this) toolbar.add(rerunButton) rerunWorksheetButton = new ToolbarButton(UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")) - rerunWorksheetButton.toolTipText = "Rerun all tests in a new worksheet" + rerunWorksheetButton.toolTipText = UtplsqlResources.getString("RUNNER_RERUN_WORKSHEET_TOOLTIP") rerunWorksheetButton.addActionListener(this) toolbar.add(rerunWorksheetButton) toolbar.add(Box.createHorizontalGlue()) @@ -585,7 +585,7 @@ class RunnerPanel implements FocusListener, ActionListener { runComboBox.addActionListener(this) toolbar.add(runComboBox) clearButton = new ToolbarButton(UtplsqlResources.getIcon("CLEAR_ICON")) - clearButton.toolTipText = "Clear history" + clearButton.toolTipText = UtplsqlResources.getString("RUNNER_CLEAR_HISTORY_BUTTON") clearButton.addActionListener(this) toolbar.add(clearButton) c.gridx = 0 @@ -725,10 +725,10 @@ class RunnerPanel implements FocusListener, ActionListener { // Context menu for test overview val testOverviewPopupMenu = new JPopupMenu - testOverviewRunMenuItem = new JMenuItem("Run test", UtplsqlResources.getIcon("RUN_ICON")); + testOverviewRunMenuItem = new JMenuItem(UtplsqlResources.getString("RUNNER_RUN_MENUITEM"), UtplsqlResources.getIcon("RUN_ICON")); testOverviewRunMenuItem.addActionListener(this) testOverviewPopupMenu.add(testOverviewRunMenuItem) - testOverviewRunWorksheetMenuItem = new JMenuItem("Run test in new worksheet", UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")); + testOverviewRunWorksheetMenuItem = new JMenuItem(UtplsqlResources.getString("RUNNER_RUN_WORKSHEET_MENUITEM"), UtplsqlResources.getIcon("RUN_WORKSHEET_ICON")); testOverviewRunWorksheetMenuItem.addActionListener(this) testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem) testOverviewPopupMenu.add(new JSeparator) @@ -747,7 +747,7 @@ class RunnerPanel implements FocusListener, ActionListener { val testInfoPanel = new ScrollablePanel testInfoPanel.setLayout(new GridBagLayout()) // - Owner - val testOwnerLabel = new JLabel("Owner") + val testOwnerLabel = new JLabel(UtplsqlResources.getString("RUNNER_OWNER_LABEL")) c.gridx = 0 c.gridy = 0 c.gridwidth = 1 @@ -771,7 +771,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testOwnerTextField, c) // - Package - val testPackageLabel = new JLabel("Package") + val testPackageLabel = new JLabel(UtplsqlResources.getString("RUNNER_PACKAGE_LABEL")) c.gridx = 0 c.gridy = 1 c.gridwidth = 1 @@ -795,7 +795,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testPackageTextField, c) // - Procedure - val testProcedureLabel = new JLabel("Procedure") + val testProcedureLabel = new JLabel(UtplsqlResources.getString("RUNNER_PROCEDURE_LABEL")) c.gridx = 0 c.gridy = 2 c.gridwidth = 1 @@ -819,7 +819,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testProcedureTextField, c) // - Description - val testDescriptionLabel = new JLabel(UtplsqlResources.getString("RUNNER_DESCRIPTION")) + val testDescriptionLabel = new JLabel(UtplsqlResources.getString("RUNNER_DESCRIPTION_LABEL")) c.gridx = 0 c.gridy = 3 c.gridwidth = 1 @@ -847,7 +847,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testDescriptionTextArea, c) // - Suitepath (id) - val testIdLabel = new JLabel("Suitepath") + val testIdLabel = new JLabel(UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN")) c.gridx = 0 c.gridy = 4 c.gridwidth = 1 @@ -875,7 +875,7 @@ class RunnerPanel implements FocusListener, ActionListener { c.weighty = 0 testInfoPanel.add(testIdTextArea, c) // - Start - val testStartLabel = new JLabel("Start") + val testStartLabel = new JLabel(UtplsqlResources.getString("RUNNER_START_LABEL")) c.gridx = 0 c.gridy = 5 c.gridwidth = 1 @@ -1012,11 +1012,11 @@ class RunnerPanel implements FocusListener, ActionListener { // split pane with all tabs testDetailTabbedPane = new JTabbedPane() - testDetailTabbedPane.add("Test", testPropertiesScrollPane) - testDetailTabbedPane.add("Failures", failuresSplitPane) - testDetailTabbedPane.add("Errors", testErrorStackPanel) - testDetailTabbedPane.add("Warnings", testWarningsPanel) - testDetailTabbedPane.add("Info", testServerOutputPanel) + testDetailTabbedPane.add(UtplsqlResources.getString("RUNNER_TEST_TAB_LABEL"), testPropertiesScrollPane) + testDetailTabbedPane.add(UtplsqlResources.getString("RUNNER_FAILURES_TAB_LABEL"), failuresSplitPane) + testDetailTabbedPane.add(UtplsqlResources.getString("RUNNER_ERRORS_TAB_LABEL"), testErrorStackPanel) + testDetailTabbedPane.add(UtplsqlResources.getString("RUNNER_WARNINGS_TAB_LABEL"), testWarningsPanel) + testDetailTabbedPane.add(UtplsqlResources.getString("RUNNER_INFO_TAB_LABEL"), testServerOutputPanel) val horizontalSplitPane = new JSplitPane(SwingConstants.HORIZONTAL, testOverviewScrollPane, testDetailTabbedPane) horizontalSplitPane.resizeWeight = 0.5 c.gridx = 0 diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend index 4542faa6..a9947783 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/TestOverviewTableModel.xtend @@ -49,7 +49,7 @@ class TestOverviewTableModel extends DefaultTableModel { def getTestIdColumnName() { calcCommonPrefix if (commonPrefix === null || commonPrefix == "") { - return UtplsqlResources.getString("RUNNER_TEST_ID") + return UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN") } else { commonPrefix } @@ -100,8 +100,8 @@ class TestOverviewTableModel extends DefaultTableModel { } override getColumnName(int col) { - return #["", "", "", UtplsqlResources.getString("RUNNER_TEST_ID"), - UtplsqlResources.getString("RUNNER_TEST_EXECUTION_TIME")].get(col) + return #["", "", "", UtplsqlResources.getString("RUNNER_TEST_ID_COLUMN"), + UtplsqlResources.getString("RUNNER_TEST_EXECUTION_TIME_COLUMN")].get(col) } override isCellEditable(int row, int column) { diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index fc210002..541e23e5 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -64,6 +64,10 @@ WINDOW_RUN_BUTTON=Run WINDOW_CANCEL_BUTTON=Cancel WORKSHEET_TITLE=utPLSQL RUNNER_VIEW_TITLE=utPLSQL +RUNNER_REFRESH_TOOLTOP=Reset ordering and refresh +RUNNER_RERUN_TOOLTIP=Rerun all tests +RUNNER_CLEAR_BUTTON=Clear history +RUNNER_RERUN_WORKSHEET_TOOLTIP=Rerun all tests in a new worksheet RUNNER_TESTS_LABEL=Tests RUNNER_FAILURES_LABEL=Failures RUNNER_ERRORS_LABEL=Errors @@ -74,6 +78,18 @@ RUNNER_INITIALIZING_TEXT=Initializing... RUNNER_RUNNING_TEXT=Running tests... RUNNER_FINNISHED_TEXT=Finished after %.3f seconds. RUNNER_NO_TESTS_FOUND_TEXT=No tests found. -RUNNER_TEST_ID=Suitepath -RUNNER_TEST_EXECUTION_TIME=Time [s] -RUNNER_DESCRIPTION=Description +RUNNER_RUN_MENUITEM=Run test +RUNNER_RUN_WORKSHEET_MENUITEM=Run test in new worksheet +RUNNER_TEST_ID_COLUMN=Suitepath +RUNNER_TEST_EXECUTION_TIME_COLUMN=Time [s] +RUNNER_OWNER_LABEL=Owner +RUNNER_PACKAGE_LABEL=Package +RUNNER_PROCEDURE_LABEL=Procedure +RUNNER_DESCRIPTION_LABEL=Description +RUNNER_START_LABEL=Start +RUNNER_ASSERT_DESCRIPTION_COLUMN=Assert description (failed line) +RUNNER_TEST_TAB_LABEL=Test +RUNNER_FAILURES_TAB_LABEL=Failures +RUNNER_ERRORS_TAB_LABEL=Errors +RUNNER_WARNINGS_TAB_LABEL=Warnings +RUNNER_INFO_TAB_LABEL=Info diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 75c79e97..3723dc60 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -42,7 +42,11 @@ WINDOW_EXCLUDE_OBJECS_LABEL=Exkludierte Objekte WINDOW_RUN_BUTTON=Start WINDOW_CANCEL_BUTTON=Abbrechen WORKSHEET_TITLE=utPLSQL -RUNNER_VIEW_TITLE=utPLSQL +RUNNER_VIEW_TITLE=utPLSQL +RUNNER_REFRESH_TOOLTIP=Sortierung zurücksetzen und aktualisieren +RUNNER_RERUN_TOOLTIP=Alle Tests erneut ausführen +RUNNER_RERUN_WORKSHEET_TOOLTIP=Alle Tests in einem neuen Arbeitsblatt erneut ausführen +RUNNER_CLEAR_BUTTON=History löschen RUNNER_TESTS_LABEL=Tests RUNNER_FAILURES_LABEL=Fehlschläge RUNNER_ERRORS_LABEL=Fehler @@ -53,6 +57,18 @@ RUNNER_INITIALIZING_TEXT=Initialisierung... RUNNER_RUNNING_TEXT=Starte Tests... RUNNER_FINNISHED_TEXT=Beendet nach %.3f Sekunden. RUNNER_NO_TESTS_FOUND_TEXT=Keine Tests gefunden. -RUNNER_TEST_ID=Suitepath -RUNNER_TEST_EXECUTION_TIME=Zeit [s] -RUNNER_DESCRIPTION=Beschreibung +RUNNER_RUN_MENUITEM=Run testTest ausführen +RUNNER_RUN_WORKSHEET_MENUITEM=Test in neuem Arbeitsblatt ausführuen +RUNNER_TEST_ID_COLUMN_NAME=Suitepath +RUNNER_TEST_EXECUTION_TIME_COLUMN_NAME=Zeit [s] +RUNNER_OWNER_LABEL=Besitzer +RUNNER_PACKAGE_LABEL=Paket +RUNNER_PROCEDURE_LABEL=Prozedur +RUNNER_DESCRIPTION_LABEL=Beschreibung +RUNNER_START_LABEL=Start +RUNNER_ASSERT_DESCRIPTION_COLUMN_NAME=Assert Beschreibung (gescheiterte Zeile) +RUNNER_TEST_TAB_LABEL=Test +RUNNER_FAILURES_TAB_LABEL=Misserfolge +RUNNER_ERRORS_TAB_LABEL=Fehler +RUNNER_WARNINGS_TAB_LABEL=Warnungen +RUNNER_INFO_TAB_LABEL=Info From 5859affeb6bc49525f7469668b02f34ef7225fbe Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 09:02:20 +0200 Subject: [PATCH 148/188] use shortFailureText and new column header --- .../org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend index 4c9e8c7c..acd9418b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/FailuresTableModel.xtend @@ -56,7 +56,7 @@ class FailuresTableModel extends DefaultTableModel { return row + 1 } case 1: { - return expectation.description + return expectation.shortFailureText } default: { return null @@ -65,7 +65,7 @@ class FailuresTableModel extends DefaultTableModel { } override getColumnName(int col) { - return #["#", UtplsqlResources.getString("RUNNER_DESCRIPTION")].get(col) + return #["#", UtplsqlResources.getString("RUNNER_ASSERT_DESCRIPTION_COLUMN")].get(col) } override isCellEditable(int row, int column) { From 699d5970992a5ed4b9a98a79edc3ad1e1207cf66 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 09:10:55 +0200 Subject: [PATCH 149/188] manage caret visibility when gain and lose focus --- .../sqldev/ui/runner/RunnerTextArea.xtend | 17 ++++++++++++++++- .../sqldev/ui/runner/RunnerTextField.xtend | 17 ++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend index 3c19edf9..e21d907b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend @@ -1,10 +1,17 @@ package org.utplsql.sqldev.ui.runner import java.awt.Graphics +import java.awt.event.FocusEvent +import java.awt.event.FocusListener import javax.swing.JTextArea import javax.swing.UIManager -class RunnerTextArea extends JTextArea { +class RunnerTextArea extends JTextArea implements FocusListener{ + + new() { + super() + this.addFocusListener = this + } override paintComponent(Graphics g) { // default for non-opaque components @@ -22,4 +29,12 @@ class RunnerTextArea extends JTextArea { super.paintComponent(g) setOpaque(true) } + + override void focusGained(FocusEvent e) { + this.caret.visible = true + } + + override focusLost(FocusEvent e) { + this.caret.visible = false + } } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend index 17af302d..65e326ea 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend @@ -1,10 +1,17 @@ package org.utplsql.sqldev.ui.runner import java.awt.Graphics +import java.awt.event.FocusEvent +import java.awt.event.FocusListener import javax.swing.JTextField import javax.swing.UIManager -class RunnerTextField extends JTextField { +class RunnerTextField extends JTextField implements FocusListener { + + new() { + super() + this.addFocusListener = this + } override paintComponent(Graphics g) { // default for non-opaque components @@ -21,4 +28,12 @@ class RunnerTextField extends JTextField { super.paintComponent(g) setOpaque(true) } + + override void focusGained(FocusEvent e) { + this.caret.visible = true + } + + override focusLost(FocusEvent e) { + this.caret.visible = false + } } From 763563f2e3435287c8b490ed4a7767030264aa6a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 09:12:12 +0200 Subject: [PATCH 150/188] remove implementation of FocusListener caret handled in RunnerTextField, RunnerTextArea --- .../sqldev/ui/runner/RunnerPanel.xtend | 40 +------------------ 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index ce86f4c5..5a77ca47 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -59,7 +59,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner -class RunnerPanel implements FocusListener, ActionListener { +class RunnerPanel implements ActionListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) static val INDICATOR_WIDTH = 20 @@ -295,38 +295,6 @@ class RunnerPanel implements FocusListener, ActionListener { progressBar.foreground = GREEN } } - - override void focusGained(FocusEvent e) { - if (e.source == testIdTextArea) { - testIdTextArea.caret.visible = true - } else if (e.source == testDescriptionTextArea) { - testDescriptionTextArea.caret.visible = true - } else if (e.source == testFailureMessageTextArea) { - testFailureMessageTextArea.caret.visible = true - } else if (e.source == testServerOutputTextArea) { - testServerOutputTextArea.caret.visible = true - } else if (e.source == testErrorStackTextArea) { - testErrorStackTextArea.caret.visible = true - } else if (e.source == testWarningsTextArea) { - testWarningsTextArea.caret.visible = true - } - } - - override focusLost(FocusEvent e) { - if (e.source == testIdTextArea) { - testIdTextArea.caret.visible = false - } else if (e.source == testDescriptionTextArea) { - testDescriptionTextArea.caret.visible = false - } else if (e.source == testFailureMessageTextArea) { - testFailureMessageTextArea.caret.visible = false - } else if (e.source == testServerOutputTextArea) { - testServerOutputTextArea.caret.visible = false - } else if (e.source == testErrorStackTextArea) { - testErrorStackTextArea.caret.visible = false - } else if (e.source == testWarningsTextArea) { - testWarningsTextArea.caret.visible = false - } - } private def getPathListFromSelectedTests() { val pathList = new ArrayList @@ -835,7 +803,6 @@ class RunnerPanel implements FocusListener, ActionListener { testDescriptionTextArea.enabled = true testDescriptionTextArea.lineWrap = true testDescriptionTextArea.wrapStyleWord = true - testDescriptionTextArea.addFocusListener(this) c.gridx = 1 c.gridy = 3 c.gridwidth = 1 @@ -863,7 +830,6 @@ class RunnerPanel implements FocusListener, ActionListener { testIdTextArea.enabled = true testIdTextArea.lineWrap = true testIdTextArea.wrapStyleWord = false - testIdTextArea.addFocusListener(this) c.gridx = 1 c.gridy = 4 c.gridwidth = 1 @@ -931,7 +897,6 @@ class RunnerPanel implements FocusListener, ActionListener { testFailureMessageTextArea.enabled = true testFailureMessageTextArea.lineWrap = true testFailureMessageTextArea.wrapStyleWord = true - testFailureMessageTextArea.addFocusListener(this) val testFailureMessageScrollPane = new JScrollPane(testFailureMessageTextArea) c.gridx = 1 c.gridy = 0 @@ -955,7 +920,6 @@ class RunnerPanel implements FocusListener, ActionListener { testErrorStackTextArea.enabled = true testErrorStackTextArea.lineWrap = true testErrorStackTextArea.wrapStyleWord = true - testErrorStackTextArea.addFocusListener(this) val testErrorStackScrollPane = new JScrollPane(testErrorStackTextArea) c.gridx = 0 c.gridy = 0 @@ -976,7 +940,6 @@ class RunnerPanel implements FocusListener, ActionListener { testWarningsTextArea.enabled = true testWarningsTextArea.lineWrap = true testWarningsTextArea.wrapStyleWord = true - testWarningsTextArea.addFocusListener(this) val testWarningsScrollPane = new JScrollPane(testWarningsTextArea) c.gridx = 0 c.gridy = 0 @@ -997,7 +960,6 @@ class RunnerPanel implements FocusListener, ActionListener { testServerOutputTextArea.enabled = true testServerOutputTextArea.lineWrap = true testServerOutputTextArea.wrapStyleWord = true - testServerOutputTextArea.addFocusListener(this) val testServerOutputScrollPane = new JScrollPane(testServerOutputTextArea) c.gridx = 0 c.gridy = 0 From 77a84bae931bef222c6d927e8ef5c1fbd09f1bd5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 18:51:53 +0200 Subject: [PATCH 151/188] experimental intergration of SQL Developer's PL/SQL parser It does not work from a 3rt party extension since Oracle does not expose this feature via their OSGi bundle. It's possible to include the relevant JAR file directly, but this would violate the license agreement. Hence, the utPLSQL's parser is still used. --- .../utplsql/sqldev/parser/SqlDevParser.xtend | 60 +++++++++ .../sqldev/test/parser/SqlDevParserTest.xtend | 123 ++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/parser/SqlDevParser.xtend create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/parser/SqlDevParserTest.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/parser/SqlDevParser.xtend b/sqldev/src/main/java/org/utplsql/sqldev/parser/SqlDevParser.xtend new file mode 100644 index 00000000..3eb38765 --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/parser/SqlDevParser.xtend @@ -0,0 +1,60 @@ +/* Copyright 2018 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.utplsql.sqldev.parser + +import oracle.dbtools.parser.LexerToken +import oracle.dbtools.raptor.navigator.plsql.PlSqlArguments +import oracle.dbtools.raptor.navigator.plsql.PlsqlStructureParser + +/* + * Cannot use this class within SQL Developer because the + * package oracle.dbtools.parser is not exported in sqldeveloper OSGI bundle (extension) + * (throws ClassNotFoundException at runtime). + * + * The dbtools-common.jar contains the necessary packages, + * but it cannot be distributed with the utPLSQL extension + * without violating the Oracle license agreement. + */ +class SqlDevParser { + def getMembers(String plsql) { + val tokens = LexerToken.parse(plsql) + val parser = new PlsqlStructureParser + parser.parse(tokens, PlSqlArguments.sort) + return parser.children + } + + private def getStartLine(String plsql, int offset) { + var int line = 1 + for (var i = 0; i < plsql.length; i++) { + val c = plsql.substring(i, i+1) + if (i > offset) { + return line + } else if (c == '\n') { + line = line + 1 + } + } + return line + } + + def getMemberStartLine(String plsql, String memberName) { + val members = plsql.members + val member = members.findFirst[it.name.equalsIgnoreCase(memberName)] + if (member !== null) { + return getStartLine(plsql, member.codeOffset) + } else { + 1 + } + } +} \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/SqlDevParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/SqlDevParserTest.xtend new file mode 100644 index 00000000..a424e7d2 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/SqlDevParserTest.xtend @@ -0,0 +1,123 @@ +package org.utplsql.sqldev.test.parser + +import org.junit.Assert +import org.junit.Test +import org.utplsql.sqldev.parser.SqlDevParser + +class SqlDevParserTest { + val packageSpec = ''' + CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is + --%suite(JUnit testing) + --%suitepath(a) + + --%context(test context) + + --%test(test 1 - OK) + PRoCeDURE test_1_ok; + + --%test(test 2 - NOK) + PROCEDURE test_2_nok; + + --%test(test 3 - disabled) + --%disabled + PROCEDURE test_3_disabled; + + --%test(test 4 - errored) + PROCEDURE test_4_errored; + + --%test(test 5 - warnings) + PROCEDURE test_5_warnings; + --%endcontext + + function my_Func (p IN number) RETURN BOOLEAN; + END; + ''' + + val packageBody = ''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS + PROCEDURE test_1_ok IS + BEGIN + dbms_output.put_line('start test 1'); + dbms_session.sleep(1); + ut.expect(1).to_equal(1); + dbms_output.put_line('end test 1'); + END; + + PROCEDURE test_2_nok IS + BEGIN + dbms_output.put_line('start test 2'); + dbms_session.sleep(2); + ut.expect(1, 'first assert.').to_equal(2); + ut.expect(1, 'second assert.').to_equal(2); + dbms_output.put_line('end test 2'); + END; + + PROCEDURE test_3_disabled IS + BEGIN + NULL; + END; + + PROCEDURE test_4_errored IS + BEGIN + EXECUTE IMMEDIATE 'bla bla'; + END; + + PROCEDURE test_5_warnings IS + BEGIN + COMMIT; -- will raise a warning + ut.expect(1).to_equal(1); + END; + + FUNCTION my_Func (p IN number) RETURN BOOLEAN IS + RETURN TRUE; + END; + END; + ''' + + @Test + def void packageSpecMembers() { + val parser = new SqlDevParser + val actual = parser.getMembers(packageSpec) + Assert.assertEquals(6, actual.length) + val first = actual.get(0) + Assert.assertEquals("PROCEDURE", first.type) + Assert.assertEquals("test_1_ok", first.name) + val last = actual.get(5) + Assert.assertEquals("FUNCTION", last.type) + Assert.assertEquals("my_Func", last.name) + } + + @Test + def void packageBodyMembers() { + val parser = new SqlDevParser + val actual = parser.getMembers(packageBody) + Assert.assertEquals(6, actual.length) + val first = actual.get(0) + Assert.assertEquals("PROCEDURE", first.type) + Assert.assertEquals("test_1_ok", first.name) + val last = actual.get(5) + Assert.assertEquals("FUNCTION", last.type) + Assert.assertEquals("my_Func", last.name) + } + + @Test + def void StartLineSpec() { + val parser = new SqlDevParser + val first = parser.getMemberStartLine(packageSpec, 'test_1_ok') + Assert.assertEquals(8, first) + val last = parser.getMemberStartLine(packageSpec, 'my_func') + Assert.assertEquals(24, last) + } + + @Test + def void StartLineBody() { + val parser = new SqlDevParser + val first = parser.getMemberStartLine(packageBody, 'test_1_ok') + Assert.assertEquals(2, first) + val last = parser.getMemberStartLine(packageBody, 'my_func') + Assert.assertEquals(35, last) + } + + + +} \ No newline at end of file From 3bbc2260794f68e342902180de99ebef928fd4f4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 18:54:06 +0200 Subject: [PATCH 152/188] Extend parser to support starting line of a package procedure Works in package specifications and package bodies. But only for procedures. If a unit is not found 1 is returned. --- .../utplsql/sqldev/model/parser/Unit.xtend | 1 + .../utplsql/sqldev/parser/UtplsqlParser.xtend | 30 ++++++- .../test/parser/UtplsqlParserTest.xtend | 86 +++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.xtend index 94768379..a913f70b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.xtend @@ -22,4 +22,5 @@ import org.utplsql.sqldev.model.AbstractModel class Unit extends AbstractModel { String name Integer position + Integer positionOfName } \ No newline at end of file diff --git a/sqldev/src/main/java/org/utplsql/sqldev/parser/UtplsqlParser.xtend b/sqldev/src/main/java/org/utplsql/sqldev/parser/UtplsqlParser.xtend index 6ac25a20..736be98e 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/parser/UtplsqlParser.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/parser/UtplsqlParser.xtend @@ -110,6 +110,7 @@ class UtplsqlParser { val u = new Unit u.name = m.group(4) u.position = m.start + u.positionOfName = m.start(4) units.add(u) } } @@ -221,5 +222,32 @@ class UtplsqlParser { } return "" } - + + private def getStartLine(int position) { + var int line = 1 + for (var i = 0; i < plsql.length; i++) { + val c = plsql.substring(i, i+1) + if (i > position) { + return line + } else if (c == '\n') { + line = line + 1 + } + } + return line + } + + /** + * get the line of a PL/SQL package unit + * + * @param unitName name of the unit. Only procedures are supported + * @return the line where the procedure is defined + */ + def getLineOf(String unitName) { + for (u : units) { + if (u.name.equalsIgnoreCase(unitName)) { + return u.positionOfName.startLine + } + } + return 1 + } } \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend index 72372504..b49293ac 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/parser/UtplsqlParserTest.xtend @@ -208,4 +208,90 @@ class UtplsqlParserTest extends AbstractJdbcTest { val parser = new UtplsqlParser(plsql) Assert.assertEquals(null, parser.getObjectAt(0)) } + + @Test + def void StartLineSpec() { + val plsql = ''' + CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is + --%suite(JUnit testing) + --%suitepath(a) + + --%context(test context) + + --%test(test 1 - OK) + PRoCeDURE test_1_ok; + + --%test(test 2 - NOK) + PROCEDURE test_2_nok; + + --%test(test 3 - disabled) + --%disabled + PROCEDURE test_3_disabled; + + --%test(test 4 - errored) + PROCEDURE test_4_errored; + + --%test(test 5 - warnings) + PROCEDURE test_5_warnings; + --%endcontext + + function my_Func (p IN number) RETURN BOOLEAN; + END; + ''' + val parser = new UtplsqlParser(plsql) + val first = parser.getLineOf('test_1_ok') + Assert.assertEquals(8, first) + val last = parser.getLineOf('test_5_warnings') + Assert.assertEquals(21, last) + } + + @Test + def void StartLineBody() { + val plsql = ''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS + PROCEDURE test_1_ok IS + BEGIN + dbms_output.put_line('start test 1'); + dbms_session.sleep(1); + ut.expect(1).to_equal(1); + dbms_output.put_line('end test 1'); + END; + + PROCEDURE test_2_nok IS + BEGIN + dbms_output.put_line('start test 2'); + dbms_session.sleep(2); + ut.expect(1, 'first assert.').to_equal(2); + ut.expect(1, 'second assert.').to_equal(2); + dbms_output.put_line('end test 2'); + END; + + PROCEDURE test_3_disabled IS + BEGIN + NULL; + END; + + PROCEDURE test_4_errored IS + BEGIN + EXECUTE IMMEDIATE 'bla bla'; + END; + + PROCEDURE test_5_warnings IS + BEGIN + COMMIT; -- will raise a warning + ut.expect(1).to_equal(1); + END; + + FUNCTION my_Func (p IN number) RETURN BOOLEAN IS + RETURN TRUE; + END; + END; + ''' + val parser = new UtplsqlParser(plsql) + val first = parser.getLineOf('test_1_ok') + Assert.assertEquals(2, first) + val last = parser.getLineOf('test_5_warnings') + Assert.assertEquals(29, last) + } + } From 61baad2468ea8c006042fdf130cb980de7ea276b Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 18:55:00 +0200 Subject: [PATCH 153/188] add getSource to get source of a package spec or body --- .../org/utplsql/sqldev/dal/UtplsqlDao.xtend | 39 +++++++++++++++++ .../org/utplsql/sqldev/test/dal/DalTest.xtend | 42 +++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index cc71428d..9f78e09e 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -858,4 +858,43 @@ class UtplsqlDao { return deps } + /** + * gets source of an object from the database via DBMS_METADATA + * + * @param owner owner of the object (schema) + * @param objectType expected object types are PACKAGE, PACKAGE BODY + * @param objectName name of the object + * @return the source code of the object + * @throws DataAccessException if there is a problem + */ + def getSource(String owner, String objectType, String objectName) { + // dbms_metadata uses slightly different objectTypes + val fixedObjectType = if (objectType == "PACKAGE") { + "PACKAGE_SPEC" + } else if (objectType == "PACKAGE BODY") { + "PACKAGE_BODY" + } else { + objectType + } + val sql = ''' + BEGIN + ? := sys.dbms_metadata.get_ddl( + schema => ?, + object_type => ?, + name => ? + ); + END; + ''' + val ret = jdbcTemplate.execute(sql, new CallableStatementCallback() { + override String doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException { + cs.registerOutParameter(1, Types.CLOB); + cs.setString(2, owner) + cs.setString(3, fixedObjectType) + cs.setString(4, objectName) + cs.execute + return cs.getString(1) + } + }) + return ret + } } \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index 125f1045..6601e476 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -37,6 +37,11 @@ class DalTest extends AbstractJdbcTest { } catch (BadSqlGrammarException e) { // ignore } + try { + jdbcTemplate.execute("DROP PACKAGE BODY junit_utplsql_test_pkg") + } catch (BadSqlGrammarException e) { + // ignore + } try { jdbcTemplate.execute("DROP PACKAGE junit_no_test_pkg") } catch (BadSqlGrammarException e) { @@ -472,5 +477,42 @@ class DalTest extends AbstractJdbcTest { Assert.assertEquals(expected, actual) } + + @Test + def void getSourceOfPackage() { + val dao = new UtplsqlDao(dataSource.connection) + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + -- %test + PROCEDURE p1; + END junit_utplsql_test_pkg; + ''') + val actual = dao.getSource("SCOTT", "PACKAGE", "JUNIT_UTPLSQL_TEST_PKG") + Assert.assertTrue(actual.contains("-- %suite")) + Assert.assertTrue(actual.contains("PROCEDURE p1;")) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } + + @Test + def void getSourceOfPackageBody() { + val dao = new UtplsqlDao(dataSource.connection) + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE BODY junit_utplsql_test_pkg IS + PROCEDURE p1 IS + l_expected INTEGER := 1; + l_actual INTEGER; + BEGIN + l_actual := junit_f; + ut.expect(l_actual).to_equal(l_expected); + END p1; + END junit_utplsql_test_pkg; + '''); + val actual = dao.getSource("SCOTT", "PACKAGE BODY", "JUNIT_UTPLSQL_TEST_PKG") + Assert.assertTrue(actual.contains("PACKAGE BODY")) + Assert.assertTrue(actual.contains("PROCEDURE p1 IS")) + jdbcTemplate.execute("DROP PACKAGE BODY junit_utplsql_test_pkg") + } } \ No newline at end of file From 619023950d6d6c4805fd01c012c4c88b97988de0 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 19 Jun 2019 18:56:24 +0200 Subject: [PATCH 154/188] open PL/SQL editor for test package or test package body from tables --- .../sqldev/ui/runner/RunnerPanel.xtend | 76 +++++++++++++++++-- 1 file changed, 71 insertions(+), 5 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 5a77ca47..239f59ad 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -24,8 +24,8 @@ import java.awt.GridBagLayout import java.awt.Insets import java.awt.event.ActionEvent import java.awt.event.ActionListener -import java.awt.event.FocusEvent -import java.awt.event.FocusListener +import java.awt.event.MouseEvent +import java.awt.event.MouseListener import java.text.DecimalFormat import java.util.ArrayList import javax.swing.Box @@ -50,16 +50,20 @@ import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI import javax.swing.table.DefaultTableCellRenderer +import oracle.dbtools.raptor.controls.grid.DefaultDrillLink +import oracle.dbtools.raptor.utils.Connections import oracle.ide.config.Preferences import oracle.javatools.ui.table.ToolbarButton +import org.utplsql.sqldev.dal.UtplsqlDao import org.utplsql.sqldev.model.LimitedLinkedHashMap import org.utplsql.sqldev.model.preference.PreferenceModel import org.utplsql.sqldev.model.runner.Run +import org.utplsql.sqldev.parser.UtplsqlParser import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner -class RunnerPanel implements ActionListener { +class RunnerPanel implements ActionListener, MouseListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) static val INDICATOR_WIDTH = 20 @@ -188,7 +192,38 @@ class RunnerPanel implements ActionListener { col.preferredWidth = 0 } } + + private def openSelectedTest() { + val rowIndex = testOverviewTable.selectedRow + if (rowIndex != -1) { + val row = testOverviewTable.convertRowIndexToModel(rowIndex) + val test = testOverviewTableModel.getTest(row) + val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName)) + val source = dao.getSource(test.ownerName, "PACKAGE", test.objectName.toUpperCase).trim + val parser = new UtplsqlParser(source) + val line = parser.getLineOf(test.procedureName) + openEditor(test.ownerName, "PACKAGE", test.objectName.toUpperCase, line, 1) + } + } + private def openSelectedFailure() { + val rowIndex = failuresTable.selectedRow + if (rowIndex != -1) { + val row = failuresTable.convertRowIndexToModel(rowIndex) + val expectation = failuresTableModel.getExpectation(row) + val test = testOverviewTableModel.getTest(testOverviewTable.convertRowIndexToModel(testOverviewTable.selectedRow)) + openEditor(test.ownerName, "PACKAGE BODY", test.objectName.toUpperCase, expectation.callerLine, 1) + } + } + + private def openEditor(String owner, String type, String name, int line, int col) { + var drillLink = new DefaultDrillLink + drillLink.connName = currentRun.connectionName + // argument order is based on SQLDEV:LINK that can be used in SQL query result tables (editors, reports) + drillLink.args = #[owner, type, name, String.valueOf(line), String.valueOf(col), "OpenEditor", "oracle.dbtools.raptor.controls.grid.DefaultDrillLink"] + drillLink.performDrill + } + private def syncDetailTab() { if (syncDetailTabCheckBoxMenuItem.selected) { val rowIndex = testOverviewTable.selectedRow @@ -378,6 +413,35 @@ class RunnerPanel implements ActionListener { } } + override mouseClicked(MouseEvent e) { + if (e.clickCount == 2) { + if (e.source == testOverviewTable) { + if (failuresTable.selectedRowCount == 1) { + openSelectedFailure + } else { + openSelectedTest + } + + } else if (e.source == failuresTable) { + if (failuresTable.selectedRowCount == 1) { + openSelectedFailure + } + } + } + } + + override mouseEntered(MouseEvent e) { + } + + override mouseExited(MouseEvent e) { + } + + override mousePressed(MouseEvent e) { + } + + override mouseReleased(MouseEvent e) { + } + private static def formatDateTime(String dateTime) { if (dateTime === null) { return null @@ -409,9 +473,9 @@ class RunnerPanel implements ActionListener { p.testIdTextArea.text = test.id p.testStartTextField.text = formatDateTime(test.startTime) p.failuresTableModel.model = test.failedExpectations + p.failuresTableModel.fireTableDataChanged p.testFailureMessageTextArea.text = null if (test.failedExpectations !== null && test.failedExpectations.size > 0) { - p.failuresTableModel.fireTableDataChanged p.failuresTable.setRowSelectionInterval(0, 0) } p.testErrorStackTextArea.text = test.errorStack?.trim @@ -663,7 +727,8 @@ class RunnerPanel implements ActionListener { testOverviewTable.autoCreateRowSorter = true testOverviewTable.rowHeight = OVERVIEW_TABLE_ROW_HEIGHT testOverviewTable.tableHeader.preferredSize = new Dimension(testOverviewTable.tableHeader.getPreferredSize.width, OVERVIEW_TABLE_ROW_HEIGHT) - testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) + testOverviewTable.selectionModel.addListSelectionListener(new TestOverviewRowListener(this)) + testOverviewTable.addMouseListener(this) val testTableHeaderRenderer = new TestTableHeaderRenderer val overviewTableStatus = testOverviewTable.columnModel.getColumn(0) overviewTableStatus.minWidth = INDICATOR_WIDTH @@ -883,6 +948,7 @@ class RunnerPanel implements ActionListener { failuresTable = new JTable(failuresTableModel) failuresTable.tableHeader.reorderingAllowed = false failuresTable.selectionModel.addListSelectionListener(new FailuresRowListener(this)) + failuresTable.addMouseListener(this) val failuresTableHeaderRenderer = new FailuresTableHeaderRenderer val failuresTableNumber = failuresTable.columnModel.getColumn(0) failuresTableNumber.headerRenderer = failuresTableHeaderRenderer From 61b9b835fab8e3b1fb39d44477fe7dda5ccb3c00 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 20 Jun 2019 02:07:59 +0200 Subject: [PATCH 155/188] add getObjectType - required for linking within SQLDev --- .../org/utplsql/sqldev/dal/UtplsqlDao.xtend | 26 +++++++++++++++++++ .../org/utplsql/sqldev/test/dal/DalTest.xtend | 16 ++++++++++++ 2 files changed, 42 insertions(+) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend index 9f78e09e..59f96533 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.xtend @@ -897,4 +897,30 @@ class UtplsqlDao { }) return ret } + + /** + * gets the object type of a database object + * + * The object types "PACKAGE BODY", "TYPE BODY" have higher priority. + * "PACKAGE" OR "TYPE" will be returned only when no body exists. + * + * @param owner owner of the object (schema) + * @param objectName name of the object + * @return the object type, e.g. PACKAGE BODY, TYPE BODY, PROCEDURE, FUNCTION + */ + def getObjectType(String owner, String objectName) { + val sql = ''' + SELECT object_type + FROM ( + SELECT object_type + FROM «IF dbaViewAccessible»dba«ELSE»all«ENDIF»_objects + WHERE owner = ? + AND object_name = ? + ORDER BY decode(object_type, 'PACKAGE', 10, 'TYPE', 10, 'SYNONYM', 20, 1) + ) + WHERE rownum = 1 + ''' + val objectType = jdbcTemplate.queryForObject(sql, #[owner, objectName], String) + return objectType + } } \ No newline at end of file diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend index 6601e476..ed5108bf 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend @@ -514,5 +514,21 @@ class DalTest extends AbstractJdbcTest { Assert.assertTrue(actual.contains("PROCEDURE p1 IS")) jdbcTemplate.execute("DROP PACKAGE BODY junit_utplsql_test_pkg") } + + @Test + def void getObjectType() { + val dao = new UtplsqlDao(dataSource.connection) + jdbcTemplate.execute(''' + CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS + -- %suite + + -- %test + PROCEDURE p1; + END junit_utplsql_test_pkg; + ''') + val actual = dao.getObjectType("SCOTT", "JUNIT_UTPLSQL_TEST_PKG") + Assert.assertEquals("PACKAGE", actual) + jdbcTemplate.execute("DROP PACKAGE junit_utplsql_test_pkg") + } } \ No newline at end of file From dd2754ebbe250a2d9e87804671b8b1a2881c2bbe Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 20 Jun 2019 02:10:21 +0200 Subject: [PATCH 156/188] add RunnerTextPane to be used for text with hyperlinks --- .../sqldev/ui/runner/RunnerTextPane.xtend | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend new file mode 100644 index 00000000..17222a8a --- /dev/null +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextPane.xtend @@ -0,0 +1,56 @@ +/* + * Copyright 2019 Philipp Salvisberg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.utplsql.sqldev.ui.runner + +import java.awt.Graphics +import java.awt.event.FocusEvent +import java.awt.event.FocusListener +import javax.swing.JTextPane +import javax.swing.UIManager + +class RunnerTextPane extends JTextPane implements FocusListener{ + + new() { + super() + this.addFocusListener = this + } + + override paintComponent(Graphics g) { + // default for non-opaque components + if (!opaque) { + super.paintComponent(g) + return + } + + // use value of JTextField for consistency + g.color = UIManager.getColor("TextField.inactiveBackground") + g.fillRect(0, 0, width, height) + + // do rest, changing opaque to ensure background is not overwritten + setOpaque(false) + super.paintComponent(g) + setOpaque(true) + } + + override void focusGained(FocusEvent e) { + this.caret.visible = true + } + + override focusLost(FocusEvent e) { + this.caret.visible = false + } +} From 6309e7e7411052ccb45dbd204e9cb35cc6715fd7 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Thu, 20 Jun 2019 02:11:15 +0200 Subject: [PATCH 157/188] add hyperlinks to source for failed expectations, errors, warnings, info --- .../sqldev/ui/runner/RunnerPanel.xtend | 158 +++++++++++++----- 1 file changed, 119 insertions(+), 39 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend index 239f59ad..f3aa4d98 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend @@ -28,6 +28,7 @@ import java.awt.event.MouseEvent import java.awt.event.MouseListener import java.text.DecimalFormat import java.util.ArrayList +import java.util.regex.Pattern import javax.swing.Box import javax.swing.DefaultComboBoxModel import javax.swing.JCheckBoxMenuItem @@ -46,6 +47,8 @@ import javax.swing.JTable import javax.swing.SwingConstants import javax.swing.UIManager import javax.swing.border.EmptyBorder +import javax.swing.event.HyperlinkEvent +import javax.swing.event.HyperlinkListener import javax.swing.event.ListSelectionEvent import javax.swing.event.ListSelectionListener import javax.swing.plaf.basic.BasicProgressBarUI @@ -63,7 +66,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources import org.utplsql.sqldev.runner.UtplsqlRunner import org.utplsql.sqldev.runner.UtplsqlWorksheetRunner -class RunnerPanel implements ActionListener, MouseListener { +class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener { static val GREEN = new Color(0, 153, 0) static val RED = new Color(153, 0, 0) static val INDICATOR_WIDTH = 20 @@ -103,10 +106,10 @@ class RunnerPanel implements ActionListener, MouseListener { RunnerTextField testStartTextField FailuresTableModel failuresTableModel JTable failuresTable - RunnerTextArea testFailureMessageTextArea - RunnerTextArea testErrorStackTextArea - RunnerTextArea testWarningsTextArea - RunnerTextArea testServerOutputTextArea + RunnerTextPane testFailureMessageTextPane + RunnerTextPane testErrorStackTextPane + RunnerTextPane testWarningsTextPane + RunnerTextPane testServerOutputTextPane JTabbedPane testDetailTabbedPane def Component getGUI() { @@ -131,10 +134,10 @@ class RunnerPanel implements ActionListener, MouseListener { testStartTextField.text = null failuresTableModel.model = null failuresTableModel.fireTableDataChanged - testFailureMessageTextArea.text = null - testErrorStackTextArea.text = null - testWarningsTextArea.text = null - testServerOutputTextArea.text = null + testFailureMessageTextPane.text = null + testErrorStackTextPane.text = null + testWarningsTextPane.text = null + testServerOutputTextPane.text = null } private def refreshRunsComboBox() { @@ -216,6 +219,39 @@ class RunnerPanel implements ActionListener, MouseListener { } } + private def getHtml(String text) { + val html = ''' + + + + + + «getLinkedText(text)» + + + ''' + return html + } + + private def openLink(String link) { + val parts = link.split("/") + val ownerName = parts.get(0) + val objectName = parts.get(1) + var line = Integer.parseInt(parts.get(2)) + val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName)) + val objectType = dao.getObjectType(ownerName, objectName) + val fixedObjectType = '''«objectType»«IF objectType == "PACKAGE" || objectType == "TYPE"» BODY«ENDIF»''' + if (parts.size == 4) { + val procedureName = parts.get(3) + val source = dao.getSource(ownerName, fixedObjectType, objectName).trim + val parser = new UtplsqlParser(source) + line = parser.getLineOf(procedureName) + } + openEditor(ownerName, '''«objectType»«IF objectType == "PACKAGE" || objectType == "TYPE"» BODY«ENDIF»''', objectName.toUpperCase, line, 1) + } + private def openEditor(String owner, String type, String name, int line, int col) { var drillLink = new DefaultDrillLink drillLink.connName = currentRun.connectionName @@ -442,6 +478,13 @@ class RunnerPanel implements ActionListener, MouseListener { override mouseReleased(MouseEvent e) { } + override hyperlinkUpdate(HyperlinkEvent e) { + if (e.eventType == HyperlinkEvent.EventType.ACTIVATED) { + val link = e.description + openLink(link) + } + } + private static def formatDateTime(String dateTime) { if (dateTime === null) { return null @@ -474,19 +517,53 @@ class RunnerPanel implements ActionListener, MouseListener { p.testStartTextField.text = formatDateTime(test.startTime) p.failuresTableModel.model = test.failedExpectations p.failuresTableModel.fireTableDataChanged - p.testFailureMessageTextArea.text = null + p.testFailureMessageTextPane.text = null if (test.failedExpectations !== null && test.failedExpectations.size > 0) { p.failuresTable.setRowSelectionInterval(0, 0) } - p.testErrorStackTextArea.text = test.errorStack?.trim - p.testWarningsTextArea.text = test.warnings?.trim - p.testServerOutputTextArea.text = test.serverOutput?.trim + p.testErrorStackTextPane.text = p.getHtml(test.errorStack?.trim) + p.testWarningsTextPane.text = p.getHtml(test.warnings?.trim) + p.testServerOutputTextPane.text = p.getHtml(test.serverOutput?.trim) p.syncDetailTab p.testOverviewRunMenuItem.enabled = true p.testOverviewRunWorksheetMenuItem.enabled = true } } } + + private def getLinkedText(String text) { + if (text === null) { + return "" + } + // Patterns (primarily Asserts, Errors, ServerOutput): + // at "OWNER.PACKAGE.PROCEDURE", line 42 + // at "OWNER.PROCEDURE", line 42 + val p1 = Pattern.compile('''\s+("([^\.]+)\.([^\."]+)(?:\.([^\"]+))?",\s+line\s+([0-9]+))''') + var localText = text + var m = p1.matcher(localText) + while(m.find) { + val link = ''' «m.group(1)»''' + localText = localText.replaceFirst(p1.pattern, link) + m = p1.matcher(localText) + } + // Patterns (primarily Warnings, without line reference, calculate when opening link): + // owner.package.procedure + val p2 = Pattern.compile('''^\s{2}(([^\.]+)\.([^\.]+)\.(.+))$''', Pattern.MULTILINE) + m = p2.matcher(localText) + while(m.find) { + val link = '''  Â«m.group(1)»''' + val start = m.start(0) + val end = m.end(0) + localText = '''«localText.substring(0, start)»«link»«localText.substring(end)»''' + m = p2.matcher(localText) + } + val result = ''' + «FOR p : localText.split(System.lineSeparator)» +