From ce0a5360814d48f203e8dbe9111ccaeeb7123dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 21:35:44 +0200 Subject: [PATCH 1/9] Initial commit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20ba138..4f76dcb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@

    E.C. Shop :apple: :bacon: :hamburger: :stuffed_flatbread:

+ From c22cfafa8f85d362508b612dc7d9a4b597c37982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 21:38:47 +0200 Subject: [PATCH 2/9] Added travis CI yml --- .travis.yml | 5 + EC-Shop/.gitignore | 24 + EC-Shop/.gitlab-ci.yml | 35 + EC-Shop/LICENSE | 674 ++++++++++++++++++ EC-Shop/README.md | 116 +++ EC-Shop/tdt4140-gr1864/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 5 + .../.settings/org.eclipse.m2e.core.prefs | 4 + EC-Shop/tdt4140-gr1864/Makefile | 5 + EC-Shop/tdt4140-gr1864/app.core/.classpath | 49 ++ EC-Shop/tdt4140-gr1864/app.core/.project | 18 + .../.settings/org.eclipse.jdt.core.prefs | 13 + .../.settings/org.eclipse.m2e.core.prefs | 4 + EC-Shop/tdt4140-gr1864/app.core/pom.xml | 81 +++ .../java/tdt4140/gr1864/app/core/Action.java | 69 ++ .../tdt4140/gr1864/app/core/Application.java | 13 + .../tdt4140/gr1864/app/core/Coordinate.java | 52 ++ .../tdt4140/gr1864/app/core/Customer.java | 544 ++++++++++++++ .../java/tdt4140/gr1864/app/core/Product.java | 48 ++ .../gr1864/app/core/ProductAmount.java | 38 + .../java/tdt4140/gr1864/app/core/README.md | 1 + .../java/tdt4140/gr1864/app/core/Receipt.java | 102 +++ .../java/tdt4140/gr1864/app/core/Shop.java | 177 +++++ .../tdt4140/gr1864/app/core/ShoppingTrip.java | 207 ++++++ .../gr1864/app/core/StripeShoppingTrip.java | 71 ++ .../gr1864/app/core/dataMocker/Action.java | 62 ++ .../app/core/dataMocker/Coordinate.java | 51 ++ .../app/core/dataMocker/DataMocker.java | 301 ++++++++ .../gr1864/app/core/dataMocker/Inventory.java | 30 + .../gr1864/app/core/dataMocker/Position.java | 40 ++ .../gr1864/app/core/dataMocker/Product.java | 64 ++ .../gr1864/app/core/dataMocker/Rack.java | 51 ++ .../gr1864/app/core/dataMocker/Rectangle.java | 37 + .../app/core/dataMocker/ThreadAction.java | 47 ++ .../gr1864/app/core/dataMocker/Trip.java | 62 ++ .../app/core/database/CreateDatabase.java | 67 ++ .../gr1864/app/core/database/DBPath.java | 42 ++ .../gr1864/app/core/database/DataLoader.java | 428 +++++++++++ .../app/core/database/DatabaseWiper.java | 71 ++ .../app/core/database/TestDataLoader.java | 327 +++++++++ .../ActionDatabaseController.java | 200 ++++++ .../CoordinateDatabaseController.java | 201 ++++++ .../CustomerDatabaseController.java | 224 ++++++ .../DatabaseController.java | 20 + .../OnShelfDatabaseController.java | 164 +++++ .../ProductDatabaseController.java | 143 ++++ .../ShopDatabaseController.java | 137 ++++ .../ShoppingTripDatabaseController.java | 241 +++++++ .../app/core/interfaces/DatabaseCRUD.java | 31 + .../gr1864/app/core/interfaces/Model.java | 10 + .../app/core/interfaces/UserInterface.java | 12 + .../app.core/src/main/resources/database.sql | 75 ++ .../src/main/resources/mock-products.json | 64 ++ .../app.core/src/main/resources/plot.py | 18 + .../src/main/resources/requirements.txt | 1 + .../tdt4140/gr1864/app/core/README.md | 1 + .../src/main/resources/test-data.json | 482 +++++++++++++ .../tdt4140/gr1864/app/core/ActionTest.java | 33 + .../gr1864/app/core/CoordinateTest.java | 30 + .../tdt4140/gr1864/app/core/CustomerTest.java | 318 +++++++++ .../tdt4140/gr1864/app/core/ExampleTest.java | 13 + .../tdt4140/gr1864/app/core/ProductTest.java | 32 + .../java/tdt4140/gr1864/app/core/README.md | 1 + .../tdt4140/gr1864/app/core/ReceiptTest.java | 52 ++ .../tdt4140/gr1864/app/core/ShopTest.java | 139 ++++ .../gr1864/app/core/ShoppingTripTest.java | 66 ++ .../app/core/dataMocker/DataMockerTest.java | 29 + .../gr1864/app/core/database/DBPathTest.java | 18 + .../app/core/database/DataLoaderTest.java | 132 ++++ .../app/core/database/DatabaseTest.java | 149 ++++ .../app/core/database/TestDataLoaderTest.java | 99 +++ .../ActionDatabaseControllerTest.java | 150 ++++ .../CoordinateDatabaseControllerTest.java | 135 ++++ .../CustomerDatabaseControllerTest.java | 145 ++++ .../OnShelfDatabaseControllerTest.java | 76 ++ .../ProductDatabaseControllerTest.java | 70 ++ .../ShopDatabaseControllerTest.java | 66 ++ .../ShoppingTripDatabaseControllerTest.java | 158 ++++ .../tdt4140/gr1864/app/core/README.md | 1 + EC-Shop/tdt4140-gr1864/app.ui/.classpath | 54 ++ EC-Shop/tdt4140-gr1864/app.ui/.project | 20 + .../.settings/org.eclipse.jdt.core.prefs | 13 + .../.settings/org.eclipse.m2e.core.prefs | 4 + .../app.ui/libs/charts-1.0.5.jar | Bin 0 -> 1353529 bytes ....javafx.fxmlapp.lib_0.0.1.201701160851.jar | Bin 0 -> 6523 bytes EC-Shop/tdt4140-gr1864/app.ui/pom.xml | 97 +++ .../java/tdt4140/gr1864/app/ui/.gitignore | 1 + .../tdt4140/gr1864/app/ui/AppListener.java | 13 + .../java/tdt4140/gr1864/app/ui/Mode/Mode.java | 54 ++ .../app/ui/Mode/Option/CheckBoxOption.java | 51 ++ .../app/ui/Mode/Option/ComboBoxOption.java | 110 +++ .../app/ui/Mode/Option/InteractionOption.java | 39 + .../DemographicsTableRow.java | 191 +++++ .../VisualizationElement/InStockTableRow.java | 70 ++ .../MostPickedUpTableRow.java | 158 ++++ .../OnShelvesTableRow.java | 67 ++ .../app/ui/Mode/VisualizationElement/Row.java | 299 ++++++++ .../Mode/VisualizationElement/TableRow.java | 14 + .../VisualizationElement.java | 47 ++ .../VisualizationHeatMap.java | 107 +++ .../VisualizationInterface.java | 47 ++ .../VisualizationSimplePlot.java | 85 +++ .../VisualizationTable.java | 186 +++++ .../java/tdt4140/gr1864/app/ui/OwnerApp.java | 53 ++ .../main/java/tdt4140/gr1864/app/ui/README.md | 1 + .../tdt4140/gr1864/app/ui/TableLoader.java | 323 +++++++++ .../InteractionViewController.java | 13 + .../gr1864/app/ui/globalUIModel/MenuCell.java | 29 + .../ui/globalUIModel/MenuViewController.java | 99 +++ .../app/ui/globalUIModel/ModeController.java | 433 +++++++++++ .../VisualizationViewController.java | 83 +++ .../app/ui/scheduling/GUIUpdaterRunnable.java | 44 ++ .../tdt4140/gr1864/app/ui/FxApp.fxml | 8 + .../resources/tdt4140/gr1864/app/ui/README.md | 1 + .../app/ui/globalUIModel/InteractionView.fxml | 8 + .../gr1864/app/ui/globalUIModel/MenuView.fxml | 11 + .../gr1864/app/ui/globalUIModel/OwnerApp.fxml | 43 ++ .../ui/globalUIModel/VisualizationView.fxml | 20 + .../java/tdt4140/gr1864/app/ui/FxAppTest.java | 21 + .../gr1864/app/ui/GitlabCISupport.java | 15 + .../tdt4140/gr1864/app/ui/Mode/ModeTest.java | 33 + .../DemographicsTableRowTest.java | 56 ++ .../InStockTableRowTest.java | 31 + .../MostPickedUpTableRowTest.java | 52 ++ .../ui/Mode/VisualizationElement/RowTest.java | 62 ++ .../VisualizationTableTest.java | 56 ++ .../test/java/tdt4140/gr1864/app/ui/README.md | 1 + .../gr1864/app/ui/GlobalUI/MenuView.fxml | 16 + .../resources/tdt4140/gr1864/app/ui/README.md | 1 + EC-Shop/tdt4140-gr1864/app/.classpath | 26 + EC-Shop/tdt4140-gr1864/app/.project | 23 + .../org.eclipse.core.resources.prefs | 4 + .../app/.settings/org.eclipse.jdt.core.prefs | 5 + .../app/.settings/org.eclipse.m2e.core.prefs | 4 + EC-Shop/tdt4140-gr1864/app/pom.xml | 41 ++ .../app/src/main/java/org/app/App.java | 77 ++ EC-Shop/tdt4140-gr1864/database.sql | 85 +++ EC-Shop/tdt4140-gr1864/pom.xml | 20 + EC-Shop/tdt4140-gr1864/web.server/.classpath | 45 ++ EC-Shop/tdt4140-gr1864/web.server/.project | 20 + .../org.eclipse.core.resources.prefs | 4 + .../.settings/org.eclipse.jdt.core.prefs | 5 + .../.settings/org.eclipse.m2e.core.prefs | 4 + EC-Shop/tdt4140-gr1864/web.server/README.md | 124 ++++ .../web.server/customer-deserialize-test.json | 2 + .../tdt4140-gr1864/web.server/customer.json | 9 + EC-Shop/tdt4140-gr1864/web.server/pom.xml | 124 ++++ .../java/org/web/server/AbstractServlet.java | 233 ++++++ .../java/org/web/server/CustomerServlet.java | 13 + .../main/java/org/web/server/JettyServer.java | 48 ++ .../java/org/web/server/ReceiptServlet.java | 17 + .../org/web/server/RecommendationServlet.java | 16 + .../org/web/server/ShoppingTripServlet.java | 15 + .../org/web/server/StatisticsServlet.java | 17 + .../org/web/server/persistance/Persister.java | 257 +++++++ .../server/serializers/ReceiptSerializer.java | 76 ++ .../web/server/serializers/Serializer.java | 281 ++++++++ .../src/main/webapp/WEB-INF/web.xml | 58 ++ .../java/org/web/server/SerializerTest.java | 57 ++ .../test/java/org/web/server/WebServerIT.java | 68 ++ EC-Shop/tdt4140-gr1864/web.server/trip.json | 17 + 161 files changed, 13023 insertions(+) create mode 100644 .travis.yml create mode 100644 EC-Shop/.gitignore create mode 100644 EC-Shop/.gitlab-ci.yml create mode 100644 EC-Shop/LICENSE create mode 100644 EC-Shop/README.md create mode 100644 EC-Shop/tdt4140-gr1864/.project create mode 100644 EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/Makefile create mode 100644 EC-Shop/tdt4140-gr1864/app.core/.classpath create mode 100644 EC-Shop/tdt4140-gr1864/app.core/.project create mode 100644 EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app.core/pom.xml create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/TestDataLoader.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.classpath create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.project create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/libs/no.hal.javafx.fxmlapp.lib_0.0.1.201701160851.jar create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/pom.xml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml create mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md create mode 100644 EC-Shop/tdt4140-gr1864/app/.classpath create mode 100644 EC-Shop/tdt4140-gr1864/app/.project create mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/app/pom.xml create mode 100644 EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java create mode 100644 EC-Shop/tdt4140-gr1864/database.sql create mode 100644 EC-Shop/tdt4140-gr1864/pom.xml create mode 100644 EC-Shop/tdt4140-gr1864/web.server/.classpath create mode 100644 EC-Shop/tdt4140-gr1864/web.server/.project create mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs create mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs create mode 100644 EC-Shop/tdt4140-gr1864/web.server/README.md create mode 100644 EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json create mode 100644 EC-Shop/tdt4140-gr1864/web.server/customer.json create mode 100644 EC-Shop/tdt4140-gr1864/web.server/pom.xml create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java create mode 100644 EC-Shop/tdt4140-gr1864/web.server/trip.json diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e00e4fc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: java +sudo: false +script: mvn clean verify +notifications: + email: false diff --git a/EC-Shop/.gitignore b/EC-Shop/.gitignore new file mode 100644 index 0000000..e7b2ea2 --- /dev/null +++ b/EC-Shop/.gitignore @@ -0,0 +1,24 @@ +// output folders +bin/ +target/ +.idea/ +.DS_Store + +// temporary generated files +*.xtendbin +*._trace + +node_modules/ + +// vim-files +*.swp +*.swo +*.swe +*.swn +*.sw + +// generated data +data.json +//Database +*.db + diff --git a/EC-Shop/.gitlab-ci.yml b/EC-Shop/.gitlab-ci.yml new file mode 100644 index 0000000..fa92dab --- /dev/null +++ b/EC-Shop/.gitlab-ci.yml @@ -0,0 +1,35 @@ +image: krissrex/docker-java8-maven-testfxmonocle:1.0 +# image: kaiwinter/docker-java8-maven +# image: maven:3.3.9-jdk-8 + +# most of this taken from https://stackoverflow.com/questions/37785154/how-to-enable-maven-artifact-caching-for-gitlab-ci-runner + +cache: + paths: + - .m2/repository + # keep cache across branch + key: "$CI_BUILD_REF_NAME" + +variables: + MAVEN_OPTS: "-Djava.awt.headless=true -Dmaven.repo.local=.m2/repository" + MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -Dgitlab-ci=true" + +build-job: + stage: build + script: + - "mvn clean compile -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" + +unittest-job: + stage: test + dependencies: + - build-job + script: + - "mvn package -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" + - "cat tdt4140-gr1864/app.core/target/site/jacoco/index.html" + +integrationtest-job: + stage: test + dependencies: + - build-job + script: + - "mvn verify -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" diff --git a/EC-Shop/LICENSE b/EC-Shop/LICENSE new file mode 100644 index 0000000..908a24f --- /dev/null +++ b/EC-Shop/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + 64 + Copyright (C) {year} {authors} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + 64 Copyright (C) {year} {authors} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/EC-Shop/README.md b/EC-Shop/README.md new file mode 100644 index 0000000..4f76dcb --- /dev/null +++ b/EC-Shop/README.md @@ -0,0 +1,116 @@ +

    E.C. +Shop :apple: :bacon: :hamburger: :stuffed_flatbread:

+ + + + + +This is a school project developed associated with the subject TDT4140 at NTNU. + +E.C. Shop is a system for tracking customers in a store, similarly to systems +such as Amazon's Amazon Go. The system tracks customer inventories as they move +through the store, and automatically charges their credit cards upon leaving +the store with goods. The system also provides customers with data such as +recommended items, and shop owners with statistics about their shop such as +items in stock, and visualizations of customer movements throughout the shop. + +- [Feature Overciew](#feature-overview) + - [Service providers](#features-for-service-providers-shop-owners) + - [Data providers](#features-for-data-providers-customers) +- [Installation](#installation) +- [System Architecture](#system-architecture) + +## Feature overview +### Features for service providers / shop owners + +Most of the features for service providers are shown in the owner application +user interface. + +* In the first tab, owners can see stats describing how often items are +picked up, so that you can see which items are popular. +* In the second tab, owners can see how many items are remaining, so +that you know when restocking is needed. +* The Demographics tab provides information about the customers +visiting the shop. +* The Shelves tab shows information about how many items are on +shelves in the shop, so that shop workers know when to move items +to the front of the store again. +* The HeatMap and Plot tabs shows how customers move in the store, and +which areas of the store usually have the largest amount of people. +This can aid with the placement of items. + +### Features for data providers / customers + +The main feature for customers is automatically being charged for your picked +up goods when leaving store. In addition, our service provides multiple +endpoints providing recommendations for items to buy and descriptions of your +shopping habits. + +## Installation + +To install the application for local development on your machine, start by +cloning the repo by issuing the following command in the terminal. + +``` bash +git clone https://gitlab.stud.iie.ntnu.no/tdt4140-2018/64.git +``` + +This project is configured for development with Eclipse, and so we recommend +you download Eclipse and import the project into your Eclipse installation. + +To import the project, right click the Project Explorer and select Import. +Select Maven, and use the directory named `64` which you just cloned as the root +directory. Clicking Finish should complete the importing of the project. We +reccomend installing Eclipse using the guide for the [TDT4100 course at +NTNU](https://www.ntnu.no/wiki/display/tdt4100/Installasjon+av+Eclipse), but +using the setup file found +[here](https://raw.githubusercontent.com/hallvard/jexercise/master/no.hal.learning/TDT4180.setup) +instead. This installation includes Maven, and a plethora of other plugins as +well. + +Once the repository has been downloaded, `cd` into the directory. Then run the +following command in order to download all dependencies using Maven. + +```bash +mvn clean install +``` + +You should see the test suite running. If all tests pass, the project is fully +functional. Once this is done, you can start the application. The +module `app` is responsible for starting the application. Open +the `app` package and run the `app` class directly. This will start +the web server and the owner application. To cleanly close the entire +application, simply close the owner application user interface. + +## System architecture + +The project is split into two main parts, `app.core` and `app.ui`. The +`app.core` package contains all the business logic such as computing receipts +and all the database handling/persistence, while `app.ui` contains the JavaFX +code for the owner user interface. Inside `app.core`, most of the business +logic such as computing receipts and modeling shopping trips resides in +`tdt4140.gr1864.app.core`. The package +`tdt4140.gr1864.app.core.databasecontrollers` contains code responsible for +interfacing with the database. The +`tdt4140.gr1864.app.core.datamocker` package is a standalone system +for generating fake yet reasonable shopping trips for local testing purposes, +and `tdt4140.gr1864.app.core.interfaces` contains interfaces used in different +parts of the system. + +The `web.server` module uses its own instance of `app.core` to pass and receive +data from customers. An external customer application could interact with the +relevant data through this REST API. Documentation is found [here.](https://gitlab.stud.iie.ntnu.no/tdt4140-2018/64/blob/master/tdt4140-gr1864/web.server/README.md) + + +The `app` module is responsible for starting and stopping the system cleanly. + +## List of tools we've used +* Jetty - a http server and servlet engine used as webserver +* Java servlet - a java program for web server +* GitLab - the core program for this project with it's version control using Git. +* Apache Maven - Dependency manager that describes how the programs are built and their dependencies and is used for automatically project building. +* PostMan - API development environment to send http requests +* Insomnia - Rest API client with cookie management, environment variables and code generation and authentication. +* Eclipse - An open source IDE that is primarly used to develop in this project +* JavaFX - A set of graphics and media packages. +* JDBC - Short for Java Database Connectivity and is a standardized interface for java applications that communicates with a database. diff --git a/EC-Shop/tdt4140-gr1864/.project b/EC-Shop/tdt4140-gr1864/.project new file mode 100644 index 0000000..7306b46 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/.project @@ -0,0 +1,17 @@ + + + tdt4140-gr1864 + + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + + diff --git a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..abec6ca --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/EC-Shop/tdt4140-gr1864/Makefile b/EC-Shop/tdt4140-gr1864/Makefile new file mode 100644 index 0000000..29e6d8a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/Makefile @@ -0,0 +1,5 @@ +create-database: + sqlite3 database.db < database.sql + +show-coverage: + open app.core/target/site/jacoco/index.html diff --git a/EC-Shop/tdt4140-gr1864/app.core/.classpath b/EC-Shop/tdt4140-gr1864/app.core/.classpath new file mode 100644 index 0000000..d39a158 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/.classpath @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.core/.project b/EC-Shop/tdt4140-gr1864/app.core/.project new file mode 100644 index 0000000..c447d34 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/.project @@ -0,0 +1,18 @@ + + + tdt4140-gr1864.app.core + NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.m2e.core.maven2Builder + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..13b3428 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/EC-Shop/tdt4140-gr1864/app.core/pom.xml b/EC-Shop/tdt4140-gr1864/app.core/pom.xml new file mode 100644 index 0000000..1f2d949 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/pom.xml @@ -0,0 +1,81 @@ + + 4.0.0 + tdt4140-gr1864.app.core + + + tdt4140-gr1864 + tdt4140-gr1864 + 0.0.1-SNAPSHOT + + + + + com.fasterxml.jackson.core + jackson-core + 2.9.3 + + + org.apache.httpcomponents + httpclient + 4.1.1 + + + com.fasterxml.jackson.core + jackson-databind + 2.9.3 + + + com.fasterxml.jackson.core + jackson-annotations + 2.9.3 + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + junit + junit + 4.12 + test + + + org.xerial + sqlite-jdbc + 3.21.0.1 + + + com.stripe + stripe-java + 5.33.2 + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.0 + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java new file mode 100644 index 0000000..5f7ea2b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java @@ -0,0 +1,69 @@ +package tdt4140.gr1864.app.core; + +public class Action { + + private long timeStamp; + /* type of action 1/0 */ + private int actionType; + + /* product action was made upon */ + private Product product; + /* trip the action is a part of */ + private ShoppingTrip trip; + + /** + * The code for PICK_UP actions. + */ + public static int PICK_UP = 1; + + /** + * The code for DROP actions. + */ + public static int DROP = 0; + + /* + * Constructor for creating Actions in ActionDatabaseController. + * Needs to handle getting correct ShoppingTrip based on it's ID + * Constructor used by DatabaseController + * @param timeStamp time of action, parsed to long + * @param actionType type of action, 1/0 + * @param product product action was made upon + * @param trip trip the action is a part of + */ + public Action(String timeStamp, int actionType, Product product, ShoppingTrip trip) { + this.timeStamp = Long.parseLong(timeStamp); + this.actionType = actionType; + this.trip = trip; + this.product = product; + } + + /** + * @param timeStamp time of action, parsed to long + * @param actionType type of action, 1/0 + * @param product product action was made upon + */ + public Action(String timeStamp, int actionType, Product product) { + this.timeStamp = Long.parseLong(timeStamp); + this.actionType = actionType; + this.product = product; + + } + + + public long getTimeStamp() { + return timeStamp; + } + + public int getActionType() { + return actionType; + } + + public Product getProduct() { + return product; + } + + public ShoppingTrip getShoppingTrip() { + return trip; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java new file mode 100644 index 0000000..344ef14 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java @@ -0,0 +1,13 @@ +package tdt4140.gr1864.app.core; + +import tdt4140.gr1864.app.core.dataMocker.DataMocker; +import tdt4140.gr1864.app.core.database.DataLoader; + +public class Application { + + public static void main(String[] args) { + DataLoader.main(null); + //DataMocker mocker = new DataMocker(); + //new Thread(mocker).start(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java new file mode 100644 index 0000000..3fcc5f0 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java @@ -0,0 +1,52 @@ +package tdt4140.gr1864.app.core; + +public class Coordinate { + + private double x; + private double y; + private long timeStamp; + + /* trip the coordinate is a part of */ + private ShoppingTrip trip; + + /** + * Constructor used by CoordinateDatabaseController + * @param x x position + * @param y y position + * @param timeStamp time of read, parsed to long + * @param trip trip the coordinate is a part of + */ + public Coordinate(double x, double y, String timeStamp, ShoppingTrip trip) { + this.x = x; + this.y = y; + this.timeStamp = Long.parseLong(timeStamp); + this.trip = trip; + } + + /** + * @param x x position + * @param y y position + * @param timeStamp time of read, parsed to long + */ + public Coordinate(double x, double y, String timeStamp) { + this.x = x; + this.y = y; + this.timeStamp = Long.parseLong(timeStamp); + } + + public double getX() { + return x; + } + + public double getY() { + return y; + } + + public long getTimeStamp() { + return timeStamp; + } + + public ShoppingTrip getShoppingTrip() { + return trip; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java new file mode 100644 index 0000000..75487dd --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java @@ -0,0 +1,544 @@ +package tdt4140.gr1864.app.core; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Observable; +import java.util.stream.Collectors; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; +import tdt4140.gr1864.app.core.interfaces.Model; +import tdt4140.gr1864.app.core.interfaces.UserInterface; + +@JsonAutoDetect +@JsonIgnoreProperties(ignoreUnknown = true) +public class Customer extends Observable implements Model, UserInterface { + + // Controller for handling database request for customer + CustomerDatabaseController cdc = new CustomerDatabaseController(); + + // Controller for handling database requests shopping trip + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + + // Controller for retrieving actions from database + ActionDatabaseController adc = new ActionDatabaseController(); + + @JsonProperty("customerID") + private int customerID; + + @JsonProperty + private String firstName; + @JsonProperty + private String lastName; + + /* has a default value for Customers without demographic data */ + @JsonProperty + private String address = null; + + @JsonProperty + private int zip = 0; + + // Extra data, is optional + private String gender = null; //Have to consider more than just male and female + private int age = 0; + private int numberOfPersonsInHousehold = 1; //default with 1 person in household + + private List shoppingTrips; + + @JsonProperty + private int recommendedProductID = -1; + private boolean anonymous = false; + private boolean deleted = false; + + + /** + * @param customerID id provided by database + * @param firstName name of customer + * @param lastName name of customer + * @param shoppingTrips trips of customer + */ + public Customer(int customerID, String firstName, String lastName, + List shoppingTrips) { + this.customerID = customerID; + this.firstName = firstName; + this.lastName = lastName; + this.shoppingTrips = shoppingTrips; + } + + /* Used by Jackson */ + public Customer() {} + + /** + * Constructor used when user have added additional information. Checks for each field being not null + * Thsi is for not having exponentially many constructors + * @param firstName + * @param lastName + * @param address + * @param zip + * @param gender + * @param age + * @param numberOfPersonsInHousehold + */ + public Customer(String firstName, String lastName, String address, int zip, String gender, + int age, int numberOfPersonsInHousehold, boolean anonymous) { + this.firstName = firstName; + this.lastName = lastName; + + // Input validation + if (address != null) + this.address = address; + if (zip != 0) + this.zip = zip; + if (gender != null) + this.gender = gender; + if (age != 0) + this.age = age; + if (numberOfPersonsInHousehold != 0) + this.numberOfPersonsInHousehold = numberOfPersonsInHousehold; + + this.anonymous = anonymous; + } + + /** + * Constructor used when user have added additional information. Checks for each field being not null + * This is for not having exponentially many constructors. + * Also includes customerid from database + * @param firstName + * @param lastName + * @param address + * @param zip + * @param gender + * @param age + * @param numberOfPersonsInHousehold + * @param customerID CustomerId provided from database + */ + public Customer(String firstName, String lastName, String address, int zip, String gender, + int age, int numberOfPersonsInHousehold, boolean anonymous, int customerID, boolean deleted) { + + this(firstName, lastName, address, zip, gender, age, numberOfPersonsInHousehold, anonymous); + setCustomerID(customerID); + this.deleted = deleted; + } + + /** + * @param firstName name of customer + * @param lastName name of customer + * @param customerID id provided by database + */ + public Customer(String firstName, String lastName, int customerID) { + this(firstName, lastName); + setCustomerID(customerID); + } + + /** + * @param firstName name of customer + * @param lastName name of customer + */ + public Customer(String firstName, String lastName) { + this.firstName = firstName; + this.lastName = lastName; + } + + @JsonIgnore + public int getID() { + return customerID; + } + + public int getCustomerID() { + return customerID; + } + + public void setCustomerID(int customerID) { + this.customerID = customerID; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public List getShoppingTrips() { + return shoppingTrips; + } + + public void setShoppingTrips(List shoppingTrips) { + this.shoppingTrips = shoppingTrips; + } + + public int getRecommendedProductID() { + return this.recommendedProductID; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public int getNumberOfPersonsInHousehold() { + return numberOfPersonsInHousehold; + } + + public void setNumberOfPersonsInHousehold(int numberOfPersonsInHousehold) { + this.numberOfPersonsInHousehold = numberOfPersonsInHousehold; + } + + public boolean getAnonymous() { + return this.anonymous; + } + + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + public int getZip() { + return zip; + } + + public boolean isDeleted() { + return deleted; + } + + /** + * Sets deleted field, and wipes all other fields if true + * @param deleted + */ + public void setDeleted(boolean deleted) { + if (deleted) { + // delete all values + this.setAddress("null"); + this.setAge(0); + this.setAnonymous(true); + this.setFirstName("null"); + this.setLastName("null"); + this.setGender("null"); + this.setNumberOfPersonsInHousehold(0); + this.setZip(0); + } + this.deleted = deleted; + } + + /** + * Sets new zip code and notifies observer + * @param zip new zip code + */ + public void setZip(int zip) { + setChanged(); + notifyObservers(); + clearChanged(); + this.zip = zip; + } + + public String getAddress() { + return address; + } + + /** + * Sets new address and notifies observer + * @param address new address + */ + public void setAddress(String address) { + setChanged(); + notifyObservers(); + clearChanged(); + this.address = address; + } + + /** + * Creates a relation between product objects and amount based on amount of bought for customer + * and a sorted list sorted based on amount bought. + * @return A sorted list (desc) consisting of relations between product and amount bought + */ + @JsonIgnore + public List getStatisticsForAmountBought() { + ProductDatabaseController pdc = new ProductDatabaseController(); + int amountOfProducts = 64; + + // Get the amount of bought products for this customer + int[] temp = getBoughtProductList(); + + // the list for storing the sorted products + List sortedList = new ArrayList<>(); + + for (int i = 0; i < amountOfProducts; i++) { + // temp[i] is the amount, i+1 is the index of product in database (0-index vs. 1-index) + ProductAmount pa = new ProductAmount(temp[i], pdc.retrieve(i+1)); + sortedList.add(pa); + } + + // Sorts the ProductAmount Desc based on the amount + sortedList.sort((a1, a2) -> a2.getAmount().compareTo(a1.getAmount())); + + return sortedList; + + } + + /** + * The recommendation is based on shopping trips stored in the database and + * gives the recommendation based on to occasions: + * 1. The customer has not bought anything + * - The recommended product will be set to the most popular one amoung all customers + * 2. The customer has bought at least one item + * - The recommended product will be set to be the product where + * there is most difference between the average amount of bought products + * for all customers and the total amount of bought products for this customer. + * Also, this difference is only relevant for when the total average is larger than + * the customers total amount of bought products + * + * Sets the ID of the product that is recommended to the customer + */ + + public void giveRecommendation() { + // List of all shopping trips for all customers + List allTrips = stdc.retrieveAllShoppingTrips(); + + // List of all shopping trips for this customer + List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(this.customerID); + + // Amount of customers (registered) + int countCustomers = cdc.countCustomers(); + + /** + * A list of amount of product bought by id. + * productsInTotal[0] will give amount of products with id = 0 bought by all customers + * Right now there is only 64 possible products + */ + int amountOfProducts = 64; + int[] productsBoughtInTotal = new int[amountOfProducts]; + + // Updating the productsBoughtInTotal based on all shopping trips + if (allTrips.size() == 0) { + this.recommendedProductID = 0; + return; + } + + for (ShoppingTrip st : allTrips) { + + List currentActions = st.getActions(); + + // Checks for empty action lists + if (currentActions != null && currentActions.size() > 0) { + for (Action action : currentActions) { + /* + * Adds to the amount of bought products in total (by 1) by converting the 1-indexed + * productID to be 0-indexed (int[]'s index == dbTable's index - 1) + */ + if (action.getActionType() == Action.DROP) { + productsBoughtInTotal[action.getProduct().getID()-1]--; + + } else if (action.getActionType() == Action.PICK_UP) { + productsBoughtInTotal[action.getProduct().getID()-1]++; + } + } + } + } + + /* + * If this customer haven't bought anything, the recommended product + * will be set to the most popular one among all customers' shopping trips + */ + if (customerTrips.size() == 0) { + setMostPopularProductAsRecommended(amountOfProducts, productsBoughtInTotal); + return; + } + + /** + * An overview for amount of products the customer bought in total since registering. + * customerProducts[0] gives amount of products with productID = 1 (1-indexed in db) + * that this customer bought in total + */ + int[] customerBoughtProductsInTotal= getBoughtProductList(); + + + // Average bought products for all customers based on productsBoughtInTotal / customerAmount + double[] avgAmountOfProdBoughtByAll = new double[amountOfProducts]; + + // Calculates average product bought for each customer + for (int i = 0; i < amountOfProducts; i++) { + + // Converts from int to double + double pbit = productsBoughtInTotal[i]; + double cc = countCustomers; + + /* + * Sets the average in the averageBoughtProducts list based on whether pbit and cc > 0 + * NOTE: Don't care about zero or negative relations: + */ + if (cc > 0.0 && pbit > 0.0) { + avgAmountOfProdBoughtByAll[i] = pbit / cc; + } else { + avgAmountOfProdBoughtByAll[i] = 0.0; + } + } + + /* + * Calculates the average amount of bought products for this customer based on + * customerBoughtProductsInTotal / amount of shopping trips this customer had + */ + // Average amount of bought products for this customer + double[] avgAmountOfProdBoughtByCustomer = new double[amountOfProducts]; + + for (int i = 0; i < amountOfProducts; i++) { + + // Converts from int to double + double cbpit = customerBoughtProductsInTotal[i]; + double countCustomerTrips = customerTrips.size(); + + /* + * Sets the average in the averageBoughtProductsCustomer list based on + * whether cbpit > 0 and countCustomerTrips > 0 + * NOTE: Don't care about zero or negative relations: + */ + if (cbpit > 0.0 && countCustomerTrips > 0.0) { + avgAmountOfProdBoughtByCustomer[i] = cbpit / countCustomerTrips; + } else { + avgAmountOfProdBoughtByCustomer[i] = 0.0; + } + } + + /* + * Calculates the biggest difference between the average of bought products per customer + * and the average of bought products for one customer (based on amount of shopping trips) + * Sets the recommendedProduct to the product with most difference between the total average and + * this customer's average where the total average > customer's average + */ + + int productID = -1; + double maxDelta = -1; // max difference + + /* A function that iterates and finds the max difference + * between totalAverage and customer's average + */ + for (int i = 0; i < amountOfProducts; i++) { + double temp; + + // Checks for nonzero values + if (avgAmountOfProdBoughtByAll[i] > 0 && avgAmountOfProdBoughtByCustomer[i] > 0) { + // the difference between + temp = avgAmountOfProdBoughtByAll[i] - avgAmountOfProdBoughtByCustomer[i]; + if (maxDelta < temp) { + productID = i; + maxDelta = temp; + } + } + } + + /* + * Converts back from 0-indexing to 1-indexing + * Adding '++' before the variable increments the productID by 1 before setting recommended product. + */ + this.recommendedProductID = ++productID; + } + + /** + * A private method only used by giveRecommendation() + * @param amountOfProducts + * @param productsBoughtInTotal + */ + private void setMostPopularProductAsRecommended(int amountOfProducts, int[] productsBoughtInTotal) { + int mostAmount = 0; + int productID = 0; + + for (int i = 0; i < amountOfProducts; i++) { + if (mostAmount < productsBoughtInTotal[i]) { + mostAmount = productsBoughtInTotal[i]; + productID = i; + } + } + this.recommendedProductID = ++productID; + } + + /** + * Creates a list for all trips for this customer + * Adds products equally to each action the customer has done. + * The list consists of the total amount of bought product. + * @return int[] array list for the amount of products bought with productID = int[ID] + */ + private int[] getBoughtProductList() { + // List of all shopping trips for this customer + List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(this.customerID); + + /** + * An overview for amount of products the customer bought in total since registering. + * customerProducts[0] gives amount of products with productID = 1 (1-indexed in db) + * that this customer bought in total + */ + int amountOfProducts = 64; + int[] customerBoughtProductsInTotal= new int[amountOfProducts]; + + /* + * Updating the customerBoughtProductsInTotal based on all + * shopping trips for this customer + */ + for (ShoppingTrip st : customerTrips) { + for (Action action : st.getActions()) { + /* + * Adds to the amount of bought products in total (by 1) by converting the 1-indexed + * productID to be 0-indexed (int[]'s index == dbTable's index - 1) + */ + if (action.getActionType() == Action.DROP) { + customerBoughtProductsInTotal[action.getProduct().getID()-1]--; + + } else if (action.getActionType() == Action.PICK_UP) { + customerBoughtProductsInTotal[action.getProduct().getID()-1]++; + } + } + } + + return customerBoughtProductsInTotal; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Customer customer = (Customer) o; + return customerID == customer.customerID && + zip == customer.zip && + age == customer.age && + numberOfPersonsInHousehold == customer.numberOfPersonsInHousehold && + recommendedProductID == customer.recommendedProductID && + Objects.equals(firstName, customer.firstName) && + Objects.equals(lastName, customer.lastName) && + Objects.equals(address, customer.address) && + Objects.equals(gender, customer.gender) && + Objects.equals(shoppingTrips, customer.shoppingTrips); + } + + @Override + public int hashCode() { + + return Objects.hash(customerID, firstName, lastName, address, zip, gender, age, numberOfPersonsInHousehold, shoppingTrips, recommendedProductID); + } +} + + diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java new file mode 100644 index 0000000..05c8bd2 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java @@ -0,0 +1,48 @@ +package tdt4140.gr1864.app.core; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import tdt4140.gr1864.app.core.interfaces.Model; + +@JsonAutoDetect +@JsonIgnoreProperties(ignoreUnknown = true) +public class Product implements Model { + + private String name; + private double price; + private Integer productID; + + /** + * Constructor used by ProductDatabaseController + * @param productID id provided by database + * @param name name of product + * @param price price of product + */ + public Product(Integer productID, String name, double price) { + this.productID = productID; + this.name = name; + this.price = price; + } + + /** + * @param name name of product + * @param price price of product + */ + public Product(String name, double price) { + this.price = price; + this.name = name; + } + + public String getName() { + return this.name; + } + + public double getPrice() { + return this.price; + } + + public int getID() { + return this.productID; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java new file mode 100644 index 0000000..22288de --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java @@ -0,0 +1,38 @@ +package tdt4140.gr1864.app.core; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import tdt4140.gr1864.app.core.interfaces.Model; + +@JsonAutoDetect +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductAmount implements Model{ + + private Integer amount; + private Product product; + + public ProductAmount(Integer amount, Product product) { + this.amount = amount; + this.product = product; + } + + public Integer getAmount() { + return amount; + } + public void setAmount(int amount) { + this.amount = amount; + } + public Product getProduct() { + return product; + } + public void setProduct(Product product) { + this.product = product; + } + + @Override + @JsonIgnore + public int getID() { + return product.getID(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md new file mode 100644 index 0000000..834b0e8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md @@ -0,0 +1 @@ +# Source package for core code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java new file mode 100644 index 0000000..fda74a3 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java @@ -0,0 +1,102 @@ +package tdt4140.gr1864.app.core; + +import java.util.HashMap; +import java.util.Map; + +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; + +public class Receipt { + /** + * The ShoppingTrip object which this Receipt computes the prices for. + */ + private ShoppingTrip shoppingTrip; + + /** + * A Map containing the amount of items with specific codes were bought. + * This could alternatively map Products with Integers, but that requires + * a custom hash code implementation. + */ + private Map inventory = new HashMap<>(); + + /** + * The computed prices for each item. + */ + private Map prices = new HashMap<>(); + + /** + * Creates a new Receipt object. A Receipt takes a ShoppingTrip and computes the + * total prices for each Product purchased during the trip. + * @param shoppingTrip The ShoppingTrip to compute prices for. + */ + public Receipt(ShoppingTrip shoppingTrip) { + this.shoppingTrip = shoppingTrip; + + computePrices(); + } + + /** + * Compute the costs for products purchased during this trip. + */ + private void computePrices() { + if (shoppingTrip.getActions() != null) { + for (Action action : shoppingTrip.getActions()) { + int product = action.getProduct().getID(); + + // Figure out the amount currently in the inventory, 0 if it was not being carried. + int previous = inventory.containsKey(product) ? inventory.get(product) : 0; + + // Increase or decrease the amount of the given product in the inventory based + // on the action type. + if (action.getActionType() == Action.DROP) { + inventory.put(product, previous - 1); + } else if (action.getActionType() == Action.PICK_UP) { + inventory.put(product, previous + 1); + } + } + } + + ProductDatabaseController database = new ProductDatabaseController(); + + // Compute prices for items using the amount of items computed above. + for (Integer code : inventory.keySet()) { + Product product = database.retrieve(code); + prices.put(product, product.getPrice() * inventory.get(code)); + } + } + + /** + * @return The ShoppingTrip described by this Receipt. + */ + public ShoppingTrip getShoppingTrip() { + return shoppingTrip; + } + + /** + * @return The ID and amount of all products in the inventory. + */ + public Map getInventory() { + return inventory; + } + + /** + * @return The Map containing Product objects and their total prices. + */ + public Map getPrices() { + return prices; + } + + /** + * @return The total price for all the + */ + public double getTotalPrice() { + return prices.values().stream().mapToDouble(Double::valueOf).sum(); + } + + /** + * A constructor to ease the testing of Shop.updateAmountInShelfsFromReceipt + * @param inventory The desired inventory + */ + public Receipt(Map inventory) { + this.inventory = inventory; + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java new file mode 100644 index 0000000..abc3735 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java @@ -0,0 +1,177 @@ +package tdt4140.gr1864.app.core; + +import java.util.HashMap; +import java.util.Map; + +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; +import tdt4140.gr1864.app.core.interfaces.Model; + +/** + * The java object Shop that corresponds to the shop table in DB + * + * The shop also keeps track of the amount of different products that are in storage and on the shelfs. + * This is done with two hashmaps between productIDs and the amounts + * + * @author stian + */ +public class Shop implements Model { + + /* Values */ + private int shopID; + private String address; + private int zip; + + private Map shelfs; + private Map storage; + + public Shop(String address, int zip) { + this.address = address; + this.zip = zip; + + this.shelfs = new HashMap<>(); + this.storage = new HashMap<>(); + } + + /* Constructor used by DatabaseController */ + public Shop(String address, int zip, int shopId) { + this.address = address; + this.zip = zip; + this.shopID = shopId; + + this.shelfs = new HashMap<>(); + this.storage = new HashMap<>(); + } + + public int getID() { + return shopID; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getAddress() { + return this.address; + } + + public int getZip() { + return zip; + } + + public void setZip(int zip) { + this.zip = zip; + } + + public Map getShelfs() { + return shelfs; + } + + public Map getStorage() { + return storage; + } + + /** + * Sets the amount of a product in storage to the desired amount + * + * @param productID ID of the product + * @param amount The amount of the product to be set + */ + public void setAmountInStorage(int productID, int amount) { + this.storage.put(productID, amount); + } + + /* Same as above, but for amount in shelfs */ + public void setAmountInShelfs(int productID, int amount) { + this.shelfs.put(productID, amount); + } + + /** + * Retrieves the amount of a product in the shop storage, returns -1 if not found + * + * @param productID ID of product to retrieve amount of + * @return The amount of the product, or 0 if not found + */ + public int getAmountInStorage(int productID) { + Integer temp = this.storage.get(productID); + if (null == temp) { + return -1; + } + else { + return temp; + } + } + + /* Same as above, but gets amount in shelfs */ + public int getAmountInShelfs(int productID) { + Integer temp = this.shelfs.get(productID); + if (null == temp) { + return -1; + } + else { + return temp; + } + } + + /** + * Listener for a new registered shopping trip, updates the amounts of + * products on shelves in DB + * + * @param trip The newly added shopping trip + */ + public void shoppingTripAdded(ShoppingTrip trip) { + Receipt receipt = new Receipt(trip); + updateAmountInShelfsFromReceipt(receipt); + System.out.println("Listener in shop.java triggered and finished"); + } + + /** + * Updates the amounts of a product on the shelfs in the shop object from the inventory + * in a receipt from a shoppingTrip + * + * The products are assumed to be in the DB + * + * @param receipt A receipt from a shopping trip + */ + public void updateAmountInShelfsFromReceipt(Receipt receipt) { + Map inventory = receipt.getInventory(); + OnShelfDatabaseController osdbc = new OnShelfDatabaseController(); + for (Integer id : inventory.keySet()) { + int amount = inventory.get(id); + int currentAmount = osdbc.retrieve(this, id).getAmountInShelfs(id); + + setAmountInShelfs(id, currentAmount - amount); + + osdbc.update(this, id); + } + } + + /** + * Same as above, but doesn't update DB + * + * @param receipt A receipt from a shopping trip + */ + public void updateShopFromReceipt(Receipt receipt) { + Map inventory = receipt.getInventory(); + for (Integer productID : inventory.keySet()) { + int amount = inventory.get(productID); + int currentAmount = this.getAmountInShelfs(productID); + setAmountInShelfs(productID, currentAmount - amount); + } + } + + /** + * Updates the amounts of products in the shop object according to the DB, + * used to get new shop objects up to date. Currently have to assume fixed + * amount of products, if not productDBctrl could support this + * + * @return The updated Shop object + */ + public Shop refreshShop() { + OnShelfDatabaseController osdc = new OnShelfDatabaseController(); + int numberOfProducts = 65; + for (int i = 1; i < numberOfProducts; i++) { + osdc.retrieve(this, i); + } + return this; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java new file mode 100644 index 0000000..577d6ff --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java @@ -0,0 +1,207 @@ +package tdt4140.gr1864.app.core; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +import tdt4140.gr1864.app.core.interfaces.Model; + +public class ShoppingTrip implements Model { + + /* start-time of ShoppingTrip in UNIX-time */ + private long start; + /* end-time of ShoppingTrip in UNIX-time */ + private long end; + /* duration of the trip in UNIX-time */ + private long duration; + + /* customer and shop trip was made by and at */ + private Shop shop; + private Customer customer; + + private int shoppingTripID; + + /* Coordinates that makes up the trip */ + private List coordinates; + /* Actions performed during trip */ + private List actions; + + private boolean charged; + private boolean anonymous; + + /** + * Normal constructor with charged paramater. + * @param coordinates list of coordinates making up the trip + * @param actions list of actions performed during trip + * @param shoppingTripID id provided by database + * @param charged true if the card has been charged for this trip + */ + public ShoppingTrip(List coordinates, List actions, int shoppingTripID, boolean charged) { + this.coordinates = coordinates; + this.actions = actions; + this.shoppingTripID = shoppingTripID; + this.start = findStart(coordinates); + this.end = findEnd(coordinates); + this.charged = charged; + setDuration(); + + if (!this.charged) { + charge(); + this.charged = true; + } + } + + /** + * Normal constructor without charged parameter. + * @param coordinates list of coordinates making up the trip + * @param actions list of actions performed during trip + * @param shoppingTripID id provided by database + */ + public ShoppingTrip(List coordinates, List actions, int shoppingTripID) { + this(coordinates, actions, shoppingTripID, false); + } + + /** + * Constructor when missing ID. + * @param customer customer performing trip + * @param shop shop where trip was made + */ + public ShoppingTrip(Customer customer, Shop shop, boolean charged) { + this.customer = customer; + this.shop = shop; + this.charged = charged; + this.anonymous = customer.getAnonymous(); + } + + /** + * Constructor used by ShoppingTripDatabaseController + * @param shoppingTripId id provided by database + * @param customer customer performing trip + * @param shop shop where trip was made + * @param anonymous whether or not this trip should be counted in the statistics + */ + public ShoppingTrip(int shoppingTripId, Customer customer, Shop shop, boolean charged, boolean anonymous) { + this.shoppingTripID = shoppingTripId; + this.customer = customer; + this.shop = shop; + this.charged = charged; + this.anonymous = anonymous; + } + + private void charge() { + Receipt receipt = new Receipt(this); + // We currently use test card data. This is because security is a concern, and we + // want to handle that by letting the card be provided by the user instead of storing it. + // Therefore this needs to stay until the data streaming API is implemented. + StripeShoppingTrip stripe = new StripeShoppingTrip("4242424242424242", 3, 2019, "314"); + stripe.charge((int) (receipt.getTotalPrice() * 100)); + } + + public boolean getCharged() { + return charged; + } + + /** + * @param coordinates list of coordinates that makes up the trip + * @return time of first data-point in the list of coordinates + */ + private long findStart(List coordinates) { + long min = coordinates.get(0).getTimeStamp(); + + for (Coordinate coord : coordinates) { + if (coord.getTimeStamp() < min) { + min = coord.getTimeStamp(); + } + } + return min; + } + + /** + * @param coordinates list of coordinates that makes up the trip + * @return time of last data-point in the list of coordinates + */ + private long findEnd(List coordinates) { + long max = coordinates.get(0).getTimeStamp(); + + for (Coordinate coord : coordinates) { + if (coord.getTimeStamp() > max) { + max = coord.getTimeStamp(); + } + } + return max; + } + + /** + * Sets the duration of the ShoppingTrip based on first and last + * timestamp in Coordinates + */ + private void setDuration() { + this.duration = this.findEnd(this.coordinates) - this.findStart(this.coordinates); + } + + /** + * Sets actions after a ShoppingTrip is created + * @param actions the list of actions + */ + public void setActions(List actions) { + this.actions = actions; + } + + /** + * Sets coordinates after ShoppingTrip is created + * @param coordinates The list of coordinates + */ + public void setCoordinates(List coordinates) { + this.coordinates = coordinates; + + if (coordinates.size() > 0) { + this.start = findStart(coordinates); + this.end = findEnd(coordinates); + setDuration(); + } + } + + public long getStart() { + return start; + } + + public long getEnd() { + return end; + } + + public List getCoordinates() { + return coordinates; + } + + public List getActions() { + return actions; + } + + public Shop getShop() { + return shop; + } + + public Customer getCustomer() { + return customer; + } + + public int getID() { + return shoppingTripID; + } + + + public long getDuration() { + return duration; + } + + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + public boolean getAnonymous() { + return this.anonymous; + + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java new file mode 100644 index 0000000..9f3f45d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java @@ -0,0 +1,71 @@ +package tdt4140.gr1864.app.core; + +import java.util.HashMap; +import java.util.Map; + +import com.stripe.Stripe; +import com.stripe.model.Token; +import com.stripe.exception.APIConnectionException; +import com.stripe.exception.APIException; +import com.stripe.exception.AuthenticationException; +import com.stripe.exception.CardException; +import com.stripe.exception.InvalidRequestException; +import com.stripe.exception.StripeException; +import com.stripe.model.Charge; + +public class StripeShoppingTrip { + private String card; + private int expMonth; + private int expYear; + private String cvc; + + static { + /** + * Test API key for the Stripe API. + */ + Stripe.apiKey = "sk_test_UfH4v9dDBkZ1DJvte0keF1Ta"; + } + + /** + * @param card The data for the card to charge. + */ + public StripeShoppingTrip(String card, int expMonth, int expYear, String cvc) { + this.card = card; + this.expMonth = expMonth; + this.expYear = expYear; + this.cvc = cvc; + } + + /** + * @param amount The amount to charge from the card, in millikroner. + * @return A Boolean indicating whether or not the amount was charged successfully. + */ + public boolean charge(int amount) { + Map tokenParams = new HashMap(); + Map cardParams = new HashMap(); + cardParams.put("number", card); + cardParams.put("exp_month", expMonth); + cardParams.put("exp_year", expYear); + cardParams.put("cvc", cvc); + tokenParams.put("card", cardParams); + + try { + Token token = Token.create(tokenParams); + Map chargeMap = new HashMap(); + chargeMap.put("amount", amount); + chargeMap.put("currency", "nok"); + chargeMap.put("source", token.getId()); + + try { + Charge.create(chargeMap); + return true; + } catch (StripeException e) { + e.printStackTrace(); + } + } catch (AuthenticationException | InvalidRequestException | APIConnectionException | CardException | APIException e1) { + e1.printStackTrace(); + } + + return false; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java new file mode 100644 index 0000000..e173b64 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java @@ -0,0 +1,62 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.util.Date; + +public class Action { + /** + * The Product affected by this action. + */ + private Product product; + + /** + * The time at which the action happened. + */ + private Date time; + + /** + * The type of the action, which is either a PICK_UP or a DROP action. + */ + private int type; + + /** + * The code for PICK_UP actions. + */ + public static int PICK_UP = 1; + + /** + * The code for DROP actions. + */ + public static int DROP = 0; + + /** + * @param product The affected product. + * @param time The time at which the action happened. + * @param type Whether the item was picked up or dropped down. + */ + public Action(Product product, Date time, int type) { + this.product = product; + this.time = time; + this.type = type; + } + + /** + * @return The type of the action. + */ + public int getAction() { + return type; + } + + /** + * @return The ID of the affected product. + */ + public int getProductID() { + return product.getCode(); + } + + /** + * @return The time at which the action happened. + */ + public Date getTimestamp() { + return time; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java new file mode 100644 index 0000000..9852996 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java @@ -0,0 +1,51 @@ +package tdt4140.gr1864.app.core.dataMocker; + +public class Coordinate { + /** + * The x-coordinate of the point. + */ + private double x; + + /** + * The y-coordinate of the point. + */ + private double y; + + /** + * Create a new point with the given coordinates. + * @param x The x-coordinate of the point. + * @param y The y-coordinate of the point. + */ + public Coordinate(double x, double y) { + this.x = x; + this.y = y; + } + + /** + * @return The x-coordinate of the point. + */ + public double getX() { + return x; + } + + /** + * @return The y-coordinate of the point. + */ + public double getY() { + return y; + } + + /** + * @param x The x-coordinate of the point. + */ + public void setX(double x) { + this.x = x; + } + + /** + * @param y The y-coordinate of the point. + */ + public void setY(double y) { + this.y = y; + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java new file mode 100644 index 0000000..509bdba --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java @@ -0,0 +1,301 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.PriorityQueue; +import java.util.concurrent.ThreadLocalRandom; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; + +public class DataMocker implements Runnable { + /** + * The API URL test data will be sent to. + */ + private static String API_URL = "http://localhost:8080/api/v1/shoppingtrip/"; + + /** + * A Rectangle containing the start and end of all paths. Typically the cashier desks. + */ + private Rectangle home; + + /** + * Zones where a customer may stop to pick up goods. We use a List instead of a collection + * so that we can easily shuffle the zones in order to pick a random subset. + */ + private List zones; + + /** + * Creates a new DataMocker reflecting a freshly stocked shop. + */ + public DataMocker() { + initializeShop(); + } + + /** + * Initializes the shop with products. + */ + private void initializeShop() { + home = new Rectangle(new Coordinate(0, 0), new Coordinate(10, 10)); + + zones = new ArrayList<>(); + + int rowAmount = 4; + + int productsPerRack = 4; + + int rackLength = 20; + + int rackHeight = 10; + + for (int y = 10; y < rowAmount * 20; y += 20) { + for (int x = 10; x < rowAmount * 40; x += 40) { + Collection products = new ArrayList<>(); + + for (int i = 0; i < productsPerRack; i++) { + products.add(new Product(180)); + } + + Rack productRack = new Rack(new Coordinate(x, y), new Coordinate((x + rackLength), (y + rackHeight)), products); + + zones.add(productRack); + } + } + } + + /** + * Generates a random coordinate inside a given rectangle. + * @param rectangle + * @return A random coordinate contained within the given rectangle. + */ + private Coordinate generateRandomCoordinateInsideRectangle(Rectangle rectangle) { + return new Coordinate( + ThreadLocalRandom.current().nextDouble(rectangle.getLower().getX(), rectangle.getUpper().getX()), + ThreadLocalRandom.current().nextDouble(rectangle.getLower().getY(), rectangle.getUpper().getY()) + ); + } + + /** + * Returns a coordinate on the line connecting the start and end coordinates. + * @param start The start coordinate. + * @param end The end coordinate. + * @param displacement The position on the line, given as a percentage between 0 and 1. + * @return A coordinate on the line connecting the start and end coordinates. + */ + private Coordinate getPointAtSlopeBetweenCoordinates(Coordinate start, Coordinate end, double displacement) { + double position = start.getX() + (end.getX() - start.getX()) * displacement; + double slope = (end.getY() - start.getY()) / (end.getX() - start.getX()); + return new Coordinate(position, start.getY() + slope * (position - start.getX())); + } + + /** + * Returns a list containing evenly points on the line connecting the start and end coordinates. + * @param start The start coordinate. + * @param end The end coordinate. + * @param intensity The distance between samples. + * @param fuzz The amount of randomness added to samples. + * @return A list of distinct coordinate on the line connecting the start and end coordinates. + */ + private List getAllPointsAtSlopeBetweenCoordinates(Coordinate start, Coordinate end, double intensity, double fuzz) { + List coordinates = new ArrayList<>(); + + // Calculate the distance between the start and end coordinates. + double distance = Math.sqrt(Math.pow(end.getX() - start.getX(), 2) + Math.pow(end.getY() - start.getY(), 2)); + + for (double i = 0; i <= distance; i += intensity) { + Coordinate position = getPointAtSlopeBetweenCoordinates(start, end, i / distance); + + // Add some noise to the coordinates. Clamp the values so that they are not negative. + // This slightly changes the probability distribution for coordinates close to the edges, which + // should not really be a problem in practice. + position.setX(Math.max(position.getX() + ThreadLocalRandom.current().nextDouble(-fuzz / 2, fuzz / 2), 0)); + position.setY(Math.max(position.getY() + ThreadLocalRandom.current().nextDouble(-fuzz / 2, fuzz / 2), 0)); + + coordinates.add(position); + } + + return coordinates; + } + + /** + * Generate a sequence of coordinates describing an users path through the shop. + * Five units is one meter, and the maximum speed 60 units per second. + * @param intensity The distance between samples. + * @param fuzz The amount of randomness added to samples. + * @param speed The number of units the person walks each second. + * @return A list of coordinates between a random set of zones, starting and ending in the home zone, and + * a list of actions performed by the user. + */ + public Trip generateRandomPath(double intensity, double fuzz, double speed) { + Inventory inventory = new Inventory(); + + List coordinates = new ArrayList<>(); + + List actions = new ArrayList<>(); + + // New date element used for timestamps. + Date time = new Date(); + + Coordinate previous = new Position(generateRandomCoordinateInsideRectangle(home), time); + + coordinates.add((Position) previous); + + // Shuffle the racks. This is used to create a random subset of zones to visit. + List shuffledRacks = new ArrayList<>(zones); + + Collections.shuffle(shuffledRacks); + + // Select a random amount of zones from the shuffled list of zones. + for (Rack box : shuffledRacks.subList(0, ThreadLocalRandom.current().nextInt(0, shuffledRacks.size() + 1))) { + // The target position. + Coordinate target = new Position(generateRandomCoordinateInsideRectangle(box), new Date()); + + for (Coordinate coordinate : getAllPointsAtSlopeBetweenCoordinates(previous, target, intensity, fuzz)) { + time = addTime(time, Double.valueOf(intensity * speed).intValue()); + coordinates.add(new Position(coordinate, time)); + } + + previous = target; + + // Choose a random product. + Product product = box.getRandomItem(); + + int action = ThreadLocalRandom.current().nextInt(Action.DROP, Action.PICK_UP + 1); + + boolean validAction = false; + + if (action == Action.PICK_UP && product.canPickUp()) { + inventory.add(product); + validAction = true; + } else if (action == Action.DROP && inventory.contains(product)) { + inventory.remove(product); + validAction = true; + } + + if (validAction) { + actions.add(new Action(product, time, action)); + } + } + + Coordinate goal = generateRandomCoordinateInsideRectangle(home); + + for (Coordinate coordinate : getAllPointsAtSlopeBetweenCoordinates(previous, goal, intensity, fuzz)) { + time = addTime(time, Double.valueOf(intensity * speed).intValue()); + coordinates.add(new Position(coordinate, time)); + } + + return new Trip(coordinates, actions); + } + + /** + * @return A random path with sensible default parameters. + */ + public Trip generateRandomPath() { + return generateRandomPath(5, 2, 15); + } + + /** + * A basic function to add time to a given Date time object. + * The function adds time in milliseconds, as waiting for a long time when testing is boring.. + * @param time The date to add time to. + * @param seconds Milliseconds to add to the time. + * @return A Date object where the the given amount of time has been added to the time. + */ + private Date addTime(Date time, int seconds) { + Calendar cal = Calendar.getInstance(); + cal.setTime(time); + cal.add(Calendar.MILLISECOND, seconds); + time = cal.getTime(); + return time; + } + + /** + * Returns JSON describing a shopping trip. + * @return + * @throws JsonProcessingException + */ + public String getRandomPathJSON() throws JsonProcessingException { + ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); + return ow.writeValueAsString(generateRandomPath()); + } + + /** + * Sends test data to the server. The data represents one shopping trip. + * @throws IOException + * @throws ClientProtocolException + */ + public void sendShoppingTripData(Trip trip) throws ClientProtocolException, IOException { + ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); + String json = ow.writeValueAsString(trip); + + DefaultHttpClient httpclient = new DefaultHttpClient(); + HttpPost httpPost = new HttpPost(API_URL + "?customer-id=" + trip.getCustomerID()); + httpPost.addHeader("content-type", "application/json"); + httpPost.setEntity(new StringEntity(json)); + HttpResponse response2 = httpclient.execute(httpPost); + + try { + HttpEntity entity2 = response2.getEntity(); + EntityUtils.consume(entity2); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void run() { + PriorityQueue heap = new PriorityQueue<>(); + + long currentTime = 0; + + while (true) { + if (Thread.currentThread().isInterrupted()) { + break; + } + + // The delay until the next customer enters the store. We use a random exponential variable + // with 10 seconds as the expected value. + heap.add(new ThreadAction((int) (currentTime + Math.log(1 - ThreadLocalRandom.current().nextDouble()) / -0.0001))); + + ThreadAction action = heap.poll(); + + try { + // Always wait 10 seconds - it's not as realistic, but better for demonstrating, which is + // what the datamocker is supposed to do, anyway. + Thread.sleep(10000); + } catch (InterruptedException e) { + // We simply exit early if the sleeping is interrupted. + break; + } + + currentTime = action.getTime(); + + if (action.getAction() == 0) { + Trip trip = generateRandomPath(); + heap.add(new ThreadAction(currentTime + trip.getDuration(), trip)); + } else { + try { + sendShoppingTripData(action.getTrip()); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java new file mode 100644 index 0000000..5f3dcd0 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java @@ -0,0 +1,30 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.util.HashMap; +import java.util.Map; + +public class Inventory { + private Map products = new HashMap<>(); + + private boolean keyExists(Product product) { + return products.keySet().contains(product.getCode()); + } + + public int getCount(Product product) { + return keyExists(product) ? products.get(product.getCode()) : 0; + } + + public boolean contains(Product product) { + return getCount(product) > 0; + } + + public void add(Product product) { + products.put(product.getCode(), getCount(product) + 1); + product.pickUp(); + } + + public void remove(Product product) { + products.put(product.getCode(), getCount(product) - 1); + product.putDown(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java new file mode 100644 index 0000000..66955ef --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java @@ -0,0 +1,40 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.util.Date; + +public class Position extends Coordinate { + /** + * The time at which the person was at this coordinate. A coordinate tuple + * and a timestamp defines a position. + */ + private Date timestamp; + + /** + * A Position is a combination of a coordinate and a given point in time. + * @param x The x-coordinate. + * @param y The y-coordinate. + * @param timestamp The time at which the coordinate was visited. + */ + public Position(double x, double y, Date timestamp) { + super(x, y); + + this.timestamp = timestamp; + } + + /** + * Alternative constructor which accepts a Coordinate and wraps it to create a Position. + * @param coordinate The Coordinate to wrap. + * @param timestamp The time at which the coordinate was visited. + */ + public Position(Coordinate coordinate, Date timestamp) { + super(coordinate.getX(), coordinate.getY()); + this.timestamp = timestamp; + } + + /** + * @return The time at which the coordinate was visited. + */ + public Date getTimestamp() { + return timestamp; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java new file mode 100644 index 0000000..96add8b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java @@ -0,0 +1,64 @@ +package tdt4140.gr1864.app.core.dataMocker; + +public class Product { + /** + * An unique ID for used to uniquely identify products. + */ + private static int productCounter = 1; + + /** + * The unique code for a specific product. + */ + private int code; + + /** + * The amount of products of this type left in stock. + */ + private int count; + + /** + * Create a new Product with a fresh ID. + */ + public Product(int count) { + if (productCounter > 64) { + throw new IllegalStateException("More than 64 products have been generated"); + } + + code = productCounter; + productCounter += 1; + + this.count = count; + } + + /** + * @return Whether or not there are items of this type left in stock. + */ + public boolean canPickUp() { + return count > 0; + } + + /** + * Picks up an item, therefore removing it from the stock. + */ + public void pickUp() { + if (count == 0) { + throw new IllegalStateException("Cannot pick up item which is not in stock"); + } + + count -= 1; + } + + /** + * Puts down an item, adding one to the stock. + */ + public void putDown() { + count += 1; + } + + /** + * @return The code for this product. + */ + public int getCode() { + return code; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java new file mode 100644 index 0000000..6a0428d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java @@ -0,0 +1,51 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.util.Collection; +import java.util.concurrent.ThreadLocalRandom; + +public class Rack extends Rectangle { + /** + * A collection of items being stored in this rack. + */ + private Collection items; + + /** + * Create a Rack, which is a Rectangle with a collection of items belonging to it. + * @param lower The lower-left corner of the rectangle. + * @param upper The upper-right corner of the rectangle. + * @param items Items belonging this rack + */ + public Rack(Coordinate lower, Coordinate upper, Collection items) { + super(lower, upper); + + this.items = items; + } + + /** + * @return The items stored in this rack. + */ + public Collection getItems() { + return items; + } + + /** + * @return A randomly chosen item stored in this rack. + */ + public Product getRandomItem() { + int index = 0; + + int target = ThreadLocalRandom.current().nextInt(items.size()); + + // Since only assume a Collection, we iterate through it until a randomly + // chosen index is reached. + for (Product item : items) { + if (index == target) { + return item; + } + + index += 1; + } + + return null; + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java new file mode 100644 index 0000000..d2a8b79 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java @@ -0,0 +1,37 @@ +package tdt4140.gr1864.app.core.dataMocker; + +public class Rectangle { + /** + * The lower-left corner of the rectangle. + */ + private Coordinate lower; + + /** + * The upper-right corner of the rectangle. + */ + private Coordinate upper; + + /** + * Create a new Rectangle with the given boundaries. + * @param lower The lower-left corner of the rectangle. + * @param upper The upper-right corner of the rectangle. + */ + public Rectangle(Coordinate lower, Coordinate upper) { + this.lower = lower; + this.upper = upper; + } + + /** + * @return The lower-left corner of the rectangle. + */ + public Coordinate getLower() { + return lower; + } + + /** + * @return The upper-right corner of the rectangle. + */ + public Coordinate getUpper() { + return upper; + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java new file mode 100644 index 0000000..31c9ddc --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java @@ -0,0 +1,47 @@ +package tdt4140.gr1864.app.core.dataMocker; + +public class ThreadAction implements Comparable { + public static int ACTION_ENTER = 0; + public static int ACTION_LEAVE = 1; + + private int action; + private long time; + private Trip trip; + + /** + * Enter action. + * @param time + */ + public ThreadAction(int time) { + this.action = 0; + this.time = time; + } + + /** + * Exit action. + * @param time + * @param trip + */ + public ThreadAction(long time, Trip trip) { + this.action = 1; + this.time = time; + this.trip = trip; + } + + public int getAction() { + return action; + } + + public long getTime() { + return time; + } + + public Trip getTrip() { + return trip; + } + + @Override + public int compareTo(Object action) { + return (int) (this.getTime() - ((ThreadAction) action).getTime()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java new file mode 100644 index 0000000..9683472 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java @@ -0,0 +1,62 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +import tdt4140.gr1864.app.core.dataMocker.Action; +import tdt4140.gr1864.app.core.dataMocker.Position; + +public class Trip { + /** + * The customerID of the person doing this trip + */ + private int customerID; + + /** + * The Path of the person this trip is describing. + */ + private List coordinates; + + /** + * Actions performed by the simulated user. + */ + private List actions; + + /** + * Data simulating user movements and actions through a shop. + * CustomerID (0-10) will be generated and will be set to "user" of this trip + * @param coordinates The Path of the user. + * @param actions The actions executed along the way. + */ + public Trip(List coordinates, List actions) { + this.coordinates = coordinates; + this.actions = actions; + this.customerID = ThreadLocalRandom.current().nextInt(1, 11); + } + + /** + * @return The Path of the simulated person. + */ + public List getCoordinates() { + return coordinates; + } + + /** + * @return The actions done along this particular path. + */ + public List getActions() { + return actions; + } + + public long getDuration() { + return coordinates.get(coordinates.size() - 1).getTimestamp().getTime() - coordinates.get(0).getTimestamp().getTime(); + } + + /** + * @return The id of the customer doing this trip + */ + public int getCustomerID() { + return this.customerID; + } +} + diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java new file mode 100644 index 0000000..14529f8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java @@ -0,0 +1,67 @@ +package tdt4140.gr1864.app.core.database; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + +public class CreateDatabase { + + public static void createNewDatabase() throws IOException { + + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = CreateDatabase.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = CreateDatabase.class.getClassLoader().getResource(".").getPath(); + } + String dbPath = relativePath + path; + + String url = "jdbc:sqlite:" + dbPath; + BufferedReader in = new BufferedReader(new FileReader("../app.core/src/main/resources/database.sql")); + String str; + StringBuffer sql = new StringBuffer(); + while ((str = in.readLine()) != null) { + sql.append(str + "\n "); + } + in.close(); + + try (Connection conn = DriverManager.getConnection(url)) { + if (conn != null) { + + String[] sqlArr = sql.toString().split("(;\\n)"); + Statement stmt = conn.createStatement(); + for (String s : sqlArr) { + s += ";"; + stmt.execute(s); + } + } + + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + } + + /** + * @param args the command line arguments + * @throws IOException + */ + public static void main(String[] args) { + try { + createNewDatabase(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java new file mode 100644 index 0000000..ea4f941 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java @@ -0,0 +1,42 @@ +package tdt4140.gr1864.app.core.database; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Paths; + +/** + * Streamlines database-paths, removing it from the constructor + * of database-controllers. + * @author vegarab + */ +public class DBPath { + + /* Path to the database file */ + String dbPath; + + /** + * Sets the path string to the database + */ + public DBPath() { + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = this.getClass().getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = this.getClass().getClassLoader().getResource(".").getPath(); + } + dbPath = relativePath + path; + } + + /** + * Retrieves the path needed to locate the DB + * @return dbPath + */ + public String getPath() { + return dbPath; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java new file mode 100644 index 0000000..14f2d2a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java @@ -0,0 +1,428 @@ +package tdt4140.gr1864.app.core.database; + +import static java.lang.Math.toIntExact; + +import java.io.FileReader; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Receipt; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +public class DataLoader { + + /* trip, customer and shop created by this loader */ + private static ShoppingTrip trip; + private static Shop shop; + + /* lists of multiples */ + private static List customers; + private static List products; + private static List actions; + private static List coordinates; + + private static final String[] NAMES = { "Reina Novoa", + "Dyan Linkous", + "Kenyatta Horning", + "August Eastwood", + "Kasi Fredricks", + "Sherilyn Salamanca", + "Jean Oslund", + "Maxima Hargreaves", + "Isabell Jarrell", + "Debbi Fuquay" }; + + public static void main(String [] args) { + customers = new ArrayList<>(); + products = new ArrayList<>(); + actions = new ArrayList<>(); + coordinates = new ArrayList<>(); + + cleanDatabase(); + loadCustomers(); + loadProducts(); + createShop(); + addProductsInShelfsInDB(products); + loadShoppingTrips(); + } + + /** + * Creates database if doesn't exist and wipes if does + */ + private static void cleanDatabase() { + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = TestDataLoader.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = TestDataLoader.class.getClass().getClassLoader().getResource(".").getPath(); + } + path = relativePath + path; + Path dbPath = Paths.get(path); + + if (! Files.exists(dbPath)) { + CreateDatabase.main(null); + } else { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + } + } + + public static void loadUserDemographics(String json) { + JSONParser parser = new JSONParser(); + + Customer customer; + String address; + int zip; + + try { + JSONObject customerObject = (JSONObject) parser.parse(json); + + // get Customer + customer = (Customer) getCustomer(toIntExact((long) customerObject.get("customerID"))); + + // get Address + address = (String) customerObject.get("address"); + + // get Zip + zip = toIntExact((long) customerObject.get("zip")); + + CustomerDatabaseController cdc = new CustomerDatabaseController(); + List customers = cdc.retrieveAll(); + customers.remove(customer); + customer.setAddress(address); + customer.setZip(zip); + + cdc.update(customer); + customers.add(customer); + + } catch (ParseException e) { + e.printStackTrace(); + } + } + + /** + * Loads mock-products file and creates Product objects with corresponding name and price + * @return A list of products which are generated from .json file. + */ + private static List loadProducts() { + ProductDatabaseController pdc = new ProductDatabaseController(); + + String path = "../../../app.core/src/main/resources/mock-products.json"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = DataLoader.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = DataLoader.class.getClassLoader().getResource(".").getPath(); + } + + JSONParser parser = new JSONParser(); + + List localProducts = null; + + try { + Object obj = parser.parse(new FileReader(relativePath + path)); + JSONArray groceries = (JSONArray) obj; + + // Creates a list with products with groceries JSONArray + localProducts = createProducts(groceries, pdc); + } + catch (Exception e) { + e.printStackTrace(); + } + products = localProducts; + return products; + } + + /** + * Creates list of Products + * @param productArray JSONArray with generated products + * @return list of products + */ + private static List createProducts(JSONArray productArray, ProductDatabaseController pdc) { + List products = new ArrayList<>(); + String name; + double price; + + for (Object o : productArray) { + + // {"grocery": String, "price": double} + JSONObject jsonGrocery = (JSONObject) o; + + // Gets grocery name and price for each product + name = (String) jsonGrocery.get("grocery"); + price = Double.parseDouble((String) jsonGrocery.get("price")); + + // Creates a new products and adds it to the list + Product newProduct = new Product(name, price); + + // Adds the newProduct to database + int productID = pdc.create(newProduct); + Product tempProduct = new Product(productID, name, price); + + products.add(tempProduct); + } + return products; + } + + /** + * Generates 10 customers from NAMES and persists to database + */ + private static void loadCustomers() { + for (int i = 0; i < NAMES.length; i++) { + customers.add(createCustomer(i)); + } + } + + /** + * Gets customer from database based on ID + * @param id of customer to get + * @return customer + */ + private static Customer getCustomer(int id) { + CustomerDatabaseController cdc = new CustomerDatabaseController(); + return cdc.retrieve(id); + } + + /** + * Creates customer with name NAMES[i] and persists to database. + * Used as sub-routine of loadCustomers() + * @param index of names + * @return customer + */ + private static Customer createCustomer(int index) { + String fullName = NAMES[index]; + String [] names = fullName.split(" "); + + Customer c1 = new Customer(names[0], names[1]); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); + return c1; + } + + /** + * creates shop and writes it to db + * @return shop + */ + private static Shop createShop() { + Shop s1 = new Shop("Kings Road 2", 1020); + ShopDatabaseController sdc = new ShopDatabaseController(); + s1 = new Shop(s1.getAddress(), s1.getZip(), sdc.create(s1)); + shop = s1; + return s1; + } + + /** + * Loads JSON-data from string, creates ShoppingTrip object + * This function is for the API + * @param json String with json-data of a ShoppingTrip + * @return trip + */ + public static ShoppingTrip loadShoppingTrip(String json) { + + JSONParser parser = new JSONParser(); + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + ShoppingTrip trip = null; + Customer customer; + Shop shop = createShop(); + + try { + JSONObject tripObject = (JSONObject) parser.parse(json); + + // get Customer + customer = (Customer) getCustomer(toIntExact((long) tripObject.get("customerID"))); + + // create ShoppingTrip + trip = new ShoppingTrip(customer, shop, true); + trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); + + // creating Coordinates + JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); + coordinates = (ArrayList) createCoordinates(coordsArray, trip); + + // creating Actions + JSONArray actionsArray = (JSONArray) tripObject.get("actions"); + actions = (ArrayList) createActions(actionsArray, trip); + + // adds Coordinate and Action to ShoppingTrip + trip = createShoppingTrip(trip, coordinates, actions); + + } catch (ParseException e) { + e.printStackTrace(); + } + return trip; + } + + /** + * Loads JSON-data from file, creates ShoppingTrip object + * @return shoppingTrip + */ + private static ShoppingTrip loadShoppingTrips() { + + String path = "../../../app.core/src/main/resources/test-data.json"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = DataLoader.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = DataLoader.class.getClassLoader().getResource(".").getPath(); + } + + JSONParser parser = new JSONParser(); + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + + Shop s1 = shop; + Customer c1 = getCustomer(1); + + // We set the charged flag to true to prevent spamming the Stripe API. + trip = new ShoppingTrip(c1, s1, true); + trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); + + try { + Object obj = parser.parse(new FileReader(relativePath + path)); + JSONObject tripObject = (JSONObject) obj; + + // creating Coordinates + JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); + coordinates = (ArrayList) createCoordinates(coordsArray, trip); + + // creating Actions + JSONArray actionsArray = (JSONArray) tripObject.get("actions"); + actions = (ArrayList) createActions(actionsArray, trip); + + // adds Coordinate and Action to ShoppingTrip + trip = createShoppingTrip(trip, coordinates, actions); + } + catch (Exception e) { + e.printStackTrace(); + } + return trip; + } + + /** + * Adds Coordinates and Actions to global ShoppingTrip. + * Sub-routine of loadShoppingTrip() + * @param coordinates list of Coordinate objects for ShoppingTrip + * @param actions list of Action objects for ShoppingTrip + * @return ShoppingTrip object created from coordinates and actions + */ + private static ShoppingTrip createShoppingTrip(ShoppingTrip trip, List coordinates, List actions) { + // We set the Charged flag to true to prevent spamming the Stripe API with charges. + trip.setActions(actions); + trip.setCoordinates(coordinates); + return trip; + } + + /** + * Creates list of Coordinates for use in ShoppingTrip-creation + * @param coordsArray JSONArray with generated coordinates + * @return list of Coordinates for use in ShoppingTrip-creation + */ + private static List createCoordinates(JSONArray coordsArray, ShoppingTrip trip) { + Coordinate coordinate; + CoordinateDatabaseController cdc = new CoordinateDatabaseController(); + List localCoordinates = new ArrayList(); + double x, y; + String timeStamp; + + for (Object o : coordsArray) { + JSONObject jsonCoord = (JSONObject) o; + x = (double) jsonCoord.get("x"); + y = (double) jsonCoord.get("y"); + timeStamp = Long.toString((long) jsonCoord.get("timestamp")); + + coordinate = new Coordinate(x, y, timeStamp, trip); + localCoordinates.add(coordinate); + + // writes coordinate to database + cdc.create(coordinate); + + } + coordinates = localCoordinates; + return coordinates; + } + + /** + * Creates list of Actions for use in ShoppingTrip-creation + * @param actionsArray JSONArray with generated actions + * @return list of Actions for use in ShoppingTrip-creation + */ + private static List createActions(JSONArray actionsArray, ShoppingTrip trip) { + Action action; + ActionDatabaseController adc = new ActionDatabaseController(); + ProductDatabaseController pdc = new ProductDatabaseController(); + List localActions = new ArrayList(); + int actionType; + int productID; + String timeStamp; + + for (Object o : actionsArray) { + JSONObject jsonAction = (JSONObject) o; + timeStamp = Long.toString((long) jsonAction.get("timestamp")); + actionType = toIntExact((long) jsonAction.get("action")); + productID = toIntExact((long) jsonAction.get("productID")); + // producted needed for action-creation + Product product = pdc.retrieve(productID); + + action = new Action(timeStamp, actionType, product, trip); + localActions.add(action); + + // write action to database + adc.create(action); + } + actions = localActions; + return actions; + } + + + /** + * A function that adds products to the shelfs and storage of the shop, also updates the DB + */ + public static void addProductsInShelfsInDB(List products) { + int amountInStorage = 90; + int amountOnShelfs = 20; + OnShelfDatabaseController osdc = new OnShelfDatabaseController(); + for(Product p : products) { + int productID = p.getID(); + shop.setAmountInShelfs(productID, amountOnShelfs); + shop.setAmountInStorage(productID, amountInStorage); + osdc.create(shop, productID); + } + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java new file mode 100644 index 0000000..b93259a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java @@ -0,0 +1,71 @@ +package tdt4140.gr1864.app.core.database; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * DatabaseWiper deletes all tables in databse if they exist + * + * @author stian + * + */ +public class DatabaseWiper { + + private List tables; + String dbPath; + + public DatabaseWiper() { + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = this.getClass().getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = this.getClass().getClassLoader().getResource(".").getPath(); + } + dbPath = relativePath + path; + + this.tables = new ArrayList<>(); + + this.tables.add("customer"); + this.tables.add("bought"); + this.tables.add("coordinate"); + this.tables.add("action"); + this.tables.add("on_shelf"); + this.tables.add("shop"); + this.tables.add("shopping_trip"); + this.tables.add("product"); + } + + public void wipe() { + Path path = Paths.get(dbPath); + + if (Files.exists(path)) { + for (int i = 0; i products; + List actions; + List coordinates; + List customers; + List trips; + + public TestDataLoader() { + // clean database + cleanDatabase(); + + ProductDatabaseController pdc = new ProductDatabaseController(); + + // loads products + String pathToProducts = "../../../app.core/src/main/resources/mock-products.json"; + + products = this.loadProducts(pathToProducts, pdc); + + // loads trip + String pathToTrip = "../../../app.core/src/main/resources/test-data.json"; + trip = this.loadShoppingTrip(pathToTrip); + + } + + /** + * Creates database if doesn't exist and wipes if does + */ + private static void cleanDatabase() { + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = TestDataLoader.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = TestDataLoader.class.getClass().getClassLoader().getResource(".").getPath(); + } + path = relativePath + path; + Path dbPath = Paths.get(path); + + if (! Files.exists(dbPath)) { + CreateDatabase.main(null); + } else { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + } + } + + /** + * Loads mock-products file and creates Product objects with corresponding name and price + * @param path Path to .json file + * @return A list of products which are generated from .json file. + */ + public List loadProducts(String path, ProductDatabaseController pdc) { + + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = getClass().getClassLoader().getResource(".").getPath(); + } + + JSONParser parser = new JSONParser(); + + List products = null; + + try { + Object obj = parser.parse(new FileReader(relativePath + path)); + JSONArray groceries = (JSONArray) obj; + + // Creates a list with products with groceries JSONArray + products = createProducts(groceries, pdc); + } + catch (Exception e) { + e.printStackTrace(); + } + this.products = products; + return products; + } + + /** + * Creates list of Products + * @param productArray JSONArray with generated products + * @return list of products + */ + public List createProducts(JSONArray productArray, ProductDatabaseController pdc) { + List products = new ArrayList<>(); + String name; + double price; + + for (Object o : productArray) { + + // {"grocery": String, "price": double} + JSONObject jsonGrocery = (JSONObject) o; + + // Gets grocery name and price for each product + name = (String) jsonGrocery.get("grocery"); + price = Double.parseDouble((String) jsonGrocery.get("price")); + + // Creates a new products and adds it to the list + Product newProduct = new Product(name, price); + + // Adds the newProduct to database + int productID = pdc.create(newProduct); + Product tempProduct = new Product(productID, name, price); + + products.add(tempProduct); + } + return products; + } + + /** + * creates customer and writes it to db + * @return customer + */ + public Customer createCustomer() { + Customer c1 = new Customer("Kari", "Normann"); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); + this.customer = c1; + return c1; + } + + /** + * creates shop and writes it to db + * @return shop + */ + public Shop createShop() { + Shop s1 = new Shop("Kings Road 2", 1020); + ShopDatabaseController sdc = new ShopDatabaseController(); + s1 = new Shop(s1.getAddress(), s1.getZip(), sdc.create(s1)); + this.shop = s1; + return s1; + } + + + /** + * Loads JSON-data from path, creates ShoppingTrip object + * @param path relative path to JSON-data (relative to this) + * @return shoppingTrip + */ + public ShoppingTrip loadShoppingTrip(String path) { + + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = getClass().getClassLoader().getResource(".").getPath(); + } + + JSONParser parser = new JSONParser(); + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + + Shop s1 = createShop(); + Customer c1 = createCustomer(); + // We set the charged flag to true to prevent spamming the Stripe API. + trip = new ShoppingTrip(c1, s1, true); + trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); + + try { + Object obj = parser.parse(new FileReader(relativePath + path)); + JSONObject tripObject = (JSONObject) obj; + + // creating Coordinates + JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); + coordinates = (ArrayList) createCoordinates(coordsArray, trip); + + // creating Actions + JSONArray actionsArray = (JSONArray) tripObject.get("actions"); + actions = (ArrayList) createActions(actionsArray, trip); + + // adds Coordinate and Action to ShoppingTrip + trip = createShoppingTrip(trip, coordinates, actions); + } + catch (Exception e) { + e.printStackTrace(); + } + return trip; + } + + /** + * @param coordinates list of Coordinate objects for ShoppingTrip + * @param actions list of Action objects for ShoppingTrip + * @return ShoppingTrip object created from coordinates and actions + */ + public ShoppingTrip createShoppingTrip(ShoppingTrip trip, List coordinates, List actions) { + // We set the Charged flag to true to prevent spamming the Stripe API with charges. + ShoppingTrip newTrip = new ShoppingTrip(coordinates, actions, trip.getID(), true); + this.trip = newTrip; + return newTrip; + } + + /** + * Creates list of Coordinates for use in ShoppingTrip-creation + * @param coordsArray JSONArray with generated coordinates + * @return list of Coordinates for use in ShoppingTrip-creation + */ + public List createCoordinates(JSONArray coordsArray, ShoppingTrip trip) { + Coordinate coordinate; + CoordinateDatabaseController cdc = new CoordinateDatabaseController(); + List coordinates = new ArrayList(); + double x, y; + String timeStamp; + + for (Object o : coordsArray) { + JSONObject jsonCoord = (JSONObject) o; + x = (double) jsonCoord.get("x"); + y = (double) jsonCoord.get("y"); + timeStamp = Long.toString((long) jsonCoord.get("timestamp")); + + coordinate = new Coordinate(x, y, timeStamp, trip); + coordinates.add(coordinate); + + // writes coordinate to database + cdc.create(coordinate); + + } + this.coordinates = coordinates; + return coordinates; + } + + /** + * Creates list of Actions for use in ShoppingTrip-creation + * @param actionsArray JSONArray with generated actions + * @return list of Actions for use in ShoppingTrip-creation + */ + public List createActions(JSONArray actionsArray, ShoppingTrip trip) { + Action action; + ActionDatabaseController adc = new ActionDatabaseController(); + ProductDatabaseController pdc = new ProductDatabaseController(); + List actions = new ArrayList(); + int actionType; + int productID; + String timeStamp; + + for (Object o : actionsArray) { + JSONObject jsonAction = (JSONObject) o; + timeStamp = Long.toString((long) jsonAction.get("timestamp")); + actionType = toIntExact((long) jsonAction.get("action")); + productID = toIntExact((long) jsonAction.get("productID")); + // producted needed for action-creation + Product product = pdc.retrieve(productID); + + action = new Action(timeStamp, actionType, product, trip); + actions.add(action); + + // write action to database + adc.create(action); + } + this.actions = actions; + return actions; + } + + public ShoppingTrip getTrip() { + return trip; + } + public Customer getCustomer() { + return customer; + } + public Shop getShop() { + return shop; + } + public List getProducts() { + return products; + } + public List getActions() { + return actions; + } + public List getCoordinates() { + return coordinates; + } + public List getTrips() { + return trips; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java new file mode 100644 index 0000000..cf8d60d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java @@ -0,0 +1,200 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class ActionDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + Action action = objectIsAction(object); + String sql = "INSERT INTO action " + + "(timestamp, action_type, product_id, shopping_trip_id) " + + "values (?, ?, ?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setString(1, Long.toString(action.getTimeStamp())); + statement.setInt(2, action.getActionType()); + statement.setInt(3, action.getProduct().getID()); + statement.setInt(4, action.getShoppingTrip().getID()); + statement.executeUpdate(); + connection.close(); + + return action.getShoppingTrip().getID(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + Action action = this.objectIsAction(object); + String sql = "UPDATE action " + + "SET action_type=?, product_id=? " + + "WHERE shopping_trip_id=? and timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, action.getActionType()); + statement.setInt(2, action.getProduct().getID()); + statement.setInt(3, action.getShoppingTrip().getID()); + statement.setString(4, Long.toString(action.getTimeStamp())); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Returns action based on shopping_trip_id and timeStamp + * @param shopping_trip_id id of trip this action is part of + * @param timestamp time of action + * @return action + */ + public Action retrieve(int shopping_trip_id, long timestamp) { + String sql = "SELECT * " + + "FROM action " + + "WHERE shopping_trip_id=? AND timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopping_trip_id); + statement.setString(2, Long.toString(timestamp)); + ResultSet rs = statement.executeQuery(); + + if (!rs.next()) { + connection.close(); + return null; + } + + ProductDatabaseController pdc = new ProductDatabaseController(); + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + Action action = new Action( + rs.getString("timestamp"), + rs.getInt("action_type"), + pdc.retrieve(rs.getInt("product_id")), + stdc.retrieve(rs.getInt("shopping_trip_id"))); + connection.close(); + return action; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * Gets all the actions for a shopping trip with a given ID + * @param shopping_trip_id int the shopping trip ID + * @return List The list of all the actions for this shoppingTrip, or null if none + */ + public List retrieveAll(int shopping_trip_id) { + String sql = "SELECT * " + + "FROM action " + + "WHERE shopping_trip_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopping_trip_id); + ResultSet rs = statement.executeQuery(); + + ProductDatabaseController pdc = new ProductDatabaseController(); + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + List actions = new ArrayList<>(); + + while (rs.next()) { + Action action = new Action( + rs.getString("timestamp"), + rs.getInt("action_type"), + pdc.retrieve(rs.getInt("product_id")), + stdc.retrieve(shopping_trip_id)); + actions.add(action); + } + + connection.close(); + return actions; + + } catch (SQLException e) { + e.printStackTrace(); + } + + System.out.println("gjorde ikke noe"); + return null; + } + + /* Deprecated since Action has joint primary-key + * Might need functionality of function later + */ + @Deprecated + @Override + public Object retrieve(int shopping_trip_id) { + System.err.println("Not implemented!"); + return null; + } + + /* Deprecated since Action has joint primary-key */ + @Deprecated + @Override + public void delete(int id) { + System.err.println("not in use, see delete(int shopping_trip_id, long timestamp)"); + } + + /** + * deletes action from database based on shopping_trip_id and timeStamp + * @param shopping_trip_id id of trip action is a part of + * @param timestamp time of action + */ + public void delete(int shopping_trip_id, long timestamp) { + String sql = "DELETE FROM action " + + "WHERE shopping_trip_id=? " + + "AND timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopping_trip_id); + statement.setString(2, Long.toString(timestamp)); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * checks if incoming object is an Action + * @param object suspected action + * @return action + */ + public Action objectIsAction(Object object) { + try { + Action a = (Action) object; + return a; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not Action"); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java new file mode 100644 index 0000000..daed3ab --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java @@ -0,0 +1,201 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class CoordinateDatabaseController extends DatabaseController implements DatabaseCRUD{ + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + Coordinate coord = this.objectIsCoordinate(object); + String sql = "INSERT INTO coordinate " + + "(shopping_trip_id, timestamp, x, y) " + + "VALUES (?, ?, ?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, coord.getShoppingTrip().getID()); + statement.setString(2, Long.toString(coord.getTimeStamp())); + statement.setDouble(3, coord.getX()); + statement.setDouble(4, coord.getY()); + statement.executeUpdate(); + connection.close(); + + return coord.getShoppingTrip().getID(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + Coordinate coord = this.objectIsCoordinate(object); + String sql = "UPDATE coordinate " + + "SET x=?, y=? " + + "WHERE shopping_trip_id=? and timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setDouble(1, coord.getX()); + statement.setDouble(2, coord.getY()); + statement.setInt(3, coord.getShoppingTrip().getID()); + statement.setString(4, Long.toString(coord.getTimeStamp())); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Returns coordinate based on shopping_trip_id and timeStamp + * @param shopping_trip_id id of trip this coordinate is part of + * @param timestamp time of read + * @return coordinate + */ + public Coordinate retrieve(int shopping_trip_id, long timestamp) { + String sql = "SELECT * " + + "FROM coordinate " + + "WHERE shopping_trip_id=? AND timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopping_trip_id); + statement.setString(2, Long.toString(timestamp)); + ResultSet rs = statement.executeQuery(); + + if (!rs.next()) { + connection.close(); + return null; + } + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + Coordinate coord = new Coordinate( + rs.getDouble("x"), + rs.getDouble("y"), + rs.getString("timestamp"), + stdc.retrieve(rs.getInt("shopping_trip_id"))); + connection.close(); + return coord; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * + * @param id The ID of the shopping trip to retrieve the coordinates for. + * @return A list of coordinates for the given shopping trip. + * @throws SQLException + */ + public List retrieveAll(int id) { + List coordinates = new ArrayList<>(); + + try { + String query = "SELECT * FROM coordinate WHERE shopping_trip_id=?"; + + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + + PreparedStatement statement = connection.prepareStatement(query); + + statement.setInt(1, id); + + ResultSet rs = statement.executeQuery(); + + // Used to find the ID of the shopping trip this coordinate is connected to. + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + + while (rs.next()) { + Coordinate coordinate = new Coordinate( + rs.getDouble("x"), + rs.getDouble("y"), + rs.getString("timeStamp"), + stdc.retrieve(rs.getInt("shopping_trip_id"))); + + coordinates.add(coordinate); + } + + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + + + return coordinates; + } + + /* Deprecated since Coordinate has joint primary-key + * Might need functionality of function later + */ + @Deprecated + @Override + public Object retrieve(int id) { + System.err.println("Not implemented!"); + return null; + } + + /* Deprecated since Coordinate has joint primary-key */ + @Deprecated + @Override + public void delete(int id) { + System.err.println("not in use, see delete(int shopping_trip_id, long timestamp)"); + } + + /** + * deletes coordinate from database based on shopping_trip_id and timeStamp + * @param shopping_trip_id id of trip coordinate is a part of + * @param timestamp time of read + */ + public void delete(int shopping_trip_id, long timestamp) { + String sql = "DELETE FROM coordinate " + + "WHERE shopping_trip_id=? AND timestamp=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopping_trip_id); + statement.setString(2, Long.toString(timestamp)); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * checks if incoming object is a Coordinate + * @param object suspected coordinate + * @return coordinate + */ + public Coordinate objectIsCoordinate(Object object) { + try { + Coordinate c = (Coordinate) object; + return c; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not Coordinate"); + } + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java new file mode 100644 index 0000000..35c7c94 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java @@ -0,0 +1,224 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class CustomerDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + Customer customer = objectIsCustomer(object); + String sql = "INSERT INTO customer (first_name, last_name, address, zip, gender, age, num_persons_in_household, anonymous, deleted) " + + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); + statement.setString(1, customer.getFirstName()); + statement.setString(2, customer.getLastName()); + statement.setString(3, customer.getAddress()); + statement.setInt(4, customer.getZip()); + statement.setString(5, customer.getGender()); + statement.setInt(6, customer.getAge()); + statement.setInt(7, customer.getNumberOfPersonsInHousehold()); + statement.setBoolean(8, customer.getAnonymous()); + statement.setBoolean(9, customer.isDeleted()); + statement.executeUpdate(); + + try { + // Retrieves all generated keys and returns the ID obtained by java object + // which is inserted into the database + ResultSet generatedKeys = statement.getGeneratedKeys(); + if (generatedKeys.next()) { + int i = Math.toIntExact(generatedKeys.getLong(1)); + connection.close(); + return i; + } + } catch (SQLException e) { + e.printStackTrace(); + } + connection.close(); + } + catch (SQLException e) { + e.printStackTrace(); + } + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) + */ + @Override + public Customer retrieve(int customerID) { + String sql = "SELECT * " + + "FROM customer " + + "WHERE customer_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, customerID); + ResultSet rs = statement.executeQuery(); + + // Returned nothing + if (!rs.next()) { + connection.close(); + return null; + } + + Customer user = new Customer( + rs.getString("first_name"), + rs.getString("last_name"), + rs.getString("address"), + rs.getInt("zip"), + rs.getString("gender"), + rs.getInt("age"), + rs.getInt("num_persons_in_household"), + rs.getBoolean("anonymous"), + rs.getInt("customer_id"), + rs.getBoolean("deleted") + ); + statement.close(); + return user; + + } + catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * Returns all Customers in the database + * @return ArrayList of Customers + */ + public List retrieveAll() { + String sql = "SELECT * FROM customer"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + ResultSet rs = statement.executeQuery(); + + List customers = new ArrayList<>(); + while (rs.next()) { + Customer customer = new Customer( + rs.getString("first_name"), + rs.getString("last_name"), + rs.getString("address"), + rs.getInt("zip"), + rs.getString("gender"), + rs.getInt("age"), + rs.getInt("num_persons_in_household"), + rs.getBoolean("anonymous"), + rs.getInt("customer_id"), + rs.getBoolean("deleted")); + customers.add(customer); + } + connection.close(); + return customers; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + Customer customer = objectIsCustomer(object); + String sql = "UPDATE customer " + + "SET first_name=?, last_name=?, " + + "address=?, zip=?, gender=?, " + + "age=?, num_persons_in_household=?, " + + "anonymous=?, deleted=? " + + "WHERE customer_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setString(1, customer.getFirstName()); + statement.setString(2, customer.getLastName()); + statement.setString(3, customer.getAddress()); + statement.setInt(4, customer.getZip()); + statement.setString(5, customer.getGender()); + statement.setInt(6, customer.getAge()); + statement.setInt(7, customer.getNumberOfPersonsInHousehold()); + statement.setBoolean(8, customer.getAnonymous()); + statement.setBoolean(9, customer.isDeleted()); + statement.setInt(10, customer.getID()); + statement.executeUpdate(); + connection.close(); + } + catch (SQLException e) { + e.printStackTrace(); + } + + + } + + /** + * Deletes all values from a Customer + * @param customerID ID of Customer to "delete" + */ + @Override + public void delete(int customerID) { + Customer customer = this.retrieve(customerID); + customer.setDeleted(true); + this.update(customer); + } + + /** + * Checks if Object object is an instance of Customer + * @param object suspected Customer object + * @return The customer object if the object is an instance of customer + */ + public Customer objectIsCustomer(Object object) { + try { + Customer c = (Customer) object; + return c; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not Customer"); + } + } + + /** + * Counts amount of customers and returning the amount + * @return int The amount of customers registered in the database + */ + public int countCustomers() { + String sql = "SELECT COUNT(*) FROM customer"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + ResultSet rs = statement.executeQuery(); + // Returned nothing + if (!rs.next()) { + System.out.println("closed"); + connection.close(); + return 0; + } + int countCustomer = rs.getInt(1); + + statement.close(); + return countCustomer; + + } catch (SQLException e) { + e.printStackTrace(); + } + return 0; + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java new file mode 100644 index 0000000..bdb87c0 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java @@ -0,0 +1,20 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import tdt4140.gr1864.app.core.database.DBPath; + +/** + * Super-class for DatabaseControllers to streamline path to DB + * @author vegarab + */ +public abstract class DatabaseController { + + /* String path to database file */ + public String dbPath; + + /** + * Sets the path to the database file + */ + public DatabaseController() { + dbPath = new DBPath().getPath(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java new file mode 100644 index 0000000..0b2975c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java @@ -0,0 +1,164 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + + +/** + * The database controller that links the amounts of products in storage or on shelfs, to the DB + * + * @author stian + */ +public class OnShelfDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * The DatabaseCRUD interface was not compatible with table for on_shelf, so its four methods have been deprecated and replaced + */ + @Deprecated + @Override + public int create(Object object) { + throw new UnsupportedOperationException("create(Object object) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); + } + + /** + * Creates a new row in DB - updates the DB with the amounts of a product that are in storage and on the shelfs + * + * Inputs are objects to secure the right id is used in the right place and to simplify the code + * + * @param shop Shop object + * @param productID ID of product + */ + public void create(Shop shop, int productID) { + String sql = "INSERT INTO on_shelf " + + "(shop_id, product_id, amount_on_shelfs, amount_in_storage) " + + "VALUES (?, ?, ?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shop.getID()); + statement.setInt(2, productID); + statement.setInt(3, shop.getAmountInShelfs(productID)); + statement.setInt(4, shop.getAmountInStorage(productID)); + statement.executeUpdate(); + connection.close(); + } + catch (SQLException e) { + e.printStackTrace(); + } + } + + @Deprecated + @Override + public void update(Object object) { + throw new UnsupportedOperationException("update(Object object) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); + } + + /** + * Updates the amounts of a product stored in DB + * + * @param shop The shop where the products are stored + * @param productID ID of the product that's stored + */ + public void update(Shop shop, int productID) { + String sql = "UPDATE on_shelf " + + "SET amount_on_shelfs=?, amount_in_storage=? " + + "WHERE shop_id=? AND product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shop.getAmountInShelfs(productID)); + statement.setInt(2, shop.getAmountInStorage(productID)); + statement.setInt(3, shop.getID()); + statement.setInt(4, productID); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Deprecated + @Override + public Object retrieve(int id){ + throw new UnsupportedOperationException("retrieve(int id) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); + } + + /** + * Retrieves the saved amounts from the DB and updates the shop object + * + * @param shop The shop where the products are stored + * @param productID ID of the products that are stored + * + * @return shop The updated shop object + */ + public Shop retrieve(Shop shop, int productID) { + String sql = "SELECT amount_on_shelfs, amount_in_storage " + + "FROM on_shelf " + + "WHERE shop_id=? AND product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shop.getID()); + statement.setInt(2, productID); + + ResultSet rs = statement.executeQuery(); + + if (!rs.next()) { + connection.close(); + return null; + } + + //Update the shop object and return it + shop.setAmountInShelfs(productID, rs.getInt("amount_on_shelfs")); + shop.setAmountInStorage(productID, rs.getInt("amount_in_storage")); + + connection.close(); + return shop; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + + @Deprecated + @Override + public void delete(int id) { + throw new UnsupportedOperationException("delete(int id) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); + } + + /** + * Deletes the DB entry where amounts are stored + * + * @param shopID The shop where the products are stored + * @param productID The product that's stored + */ + public void delete(int shopID, int productID) { + String sql = "DELETE FROM on_shelf " + + "WHERE shop_id=? AND product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, shopID); + statement.setInt(2, productID); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java new file mode 100644 index 0000000..a42b198 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java @@ -0,0 +1,143 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class ProductDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + Product product = objectIsProduct(object); + String sql = "INSERT INTO product " + + "(name, price) " + + "VALUES (?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); + statement.setString(1, product.getName()); + statement.setDouble(2, product.getPrice()); + statement.executeUpdate(); + + // Object has been given an ID first time creating and inserting into database + try { + // Retrieves all generated keys and returns the ID obtained by java object + // which is inserted into the database + ResultSet generatedKeys = statement.getGeneratedKeys(); + if (generatedKeys.next()) { + int i = Math.toIntExact(generatedKeys.getLong(1)); + connection.close(); + return i; + } + } catch (SQLException e) { + e.printStackTrace(); + } + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + Product product = this.objectIsProduct(object); + String sql = "UPDATE product " + + "SET name=?, price=? " + + "WHERE product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setString(1, product.getName()); + statement.setDouble(2, product.getPrice()); + statement.setInt(3, product.getID()); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) + */ + @Override + public Product retrieve(int id) { + String sql = "SELECT product_id, name, price " + + "FROM product " + + "WHERE product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, id); + ResultSet rs = statement.executeQuery(); + + // Checks if product with id exists + if (!rs.next()) { + connection.close(); + return null; + } + + // Creates product with (productID generated from table in sql, name and price) + Product product = new Product( + rs.getInt("product_id"), + rs.getString("name"), + rs.getDouble("price")); + connection.close(); + return product; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(object) + */ + @Override + public void delete(int id) { + String sql = "DELETE FROM product " + + "WHERE product_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, id); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Checks if Object object is an instance of Product. + * @param object Usually a Product object + * @return The product object if the object is an instance of product + */ + public Product objectIsProduct(Object object) { + try { + Product p = (Product) object; + return p; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not Product"); + } + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java new file mode 100644 index 0000000..7018aa8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java @@ -0,0 +1,137 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class ShopDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + Shop shop = this.objectIsShop(object); + String sql = "INSERT INTO shop(address, zip)" + + " VALUES (?, ?)"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); + + // Object has been given an ID: + statement.setString(1, shop.getAddress()); + statement.setInt(2, shop.getZip()); + statement.executeUpdate(); + + try { + // Retrieves all generated keys and returns the ID obtained by java object + // which is inserted into the database + ResultSet generatedKeys = statement.getGeneratedKeys(); + if (generatedKeys.next()) { + int i = Math.toIntExact(generatedKeys.getLong(1)); + connection.close(); + return i; + } + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + Shop shop = this.objectIsShop(object); + String sql = "UPDATE shop SET address=?, zip=? WHERE shop_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + + // Object has been given an ID: + statement.setString(1, shop.getAddress()); + statement.setInt(2, shop.getZip()); + statement.setInt(3, shop.getID()); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Retrieves and creates a list of all shopping trips based on what's received by the database + * @return A Shop object + */ + @Override + public Shop retrieve(int shopID) { + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection + .prepareStatement("SELECT * FROM shop" + + " WHERE shop_id=?"); + statement.setInt(1, shopID); + ResultSet rs = statement.executeQuery(); + + if (!rs.next()) { + return null; + } + + Shop shop = new Shop(rs.getString("address"), rs.getInt("zip"), rs.getInt("shop_id")); + connection.close(); + return shop; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(int) + */ + @Override + public void delete(int id) { + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement("DELETE FROM shop WHERE shop_id=?"); + statement.setInt(1, id); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + } + + /** + * Checks if incoming object is Shop + * @param object suspected Shop + * @return Shop + */ + public Shop objectIsShop(Object object) { + try { + Shop s = (Shop) object; + return s; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not Shop"); + } + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java new file mode 100644 index 0000000..5278159 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java @@ -0,0 +1,241 @@ +package tdt4140.gr1864.app.core.databasecontrollers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; + +public class ShoppingTripDatabaseController extends DatabaseController implements DatabaseCRUD { + + PreparedStatement statement; + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) + */ + @Override + public int create(Object object) { + ShoppingTrip trip = this.objectIsShoppingTrip(object); + String sql = "INSERT INTO shopping_trip " + + "(customer_id, shop_id, charged, anonymous) " + + "VALUES (?, ?, ?, ?)"; + + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); + statement.setInt(1, trip.getCustomer().getID()); + statement.setInt(2, trip.getShop().getID()); + statement.setBoolean(3, trip.getCharged()); + statement.setBoolean(4, trip.getAnonymous()); + statement.executeUpdate(); + + try { + // Retrieves all generated keys and returns the ID obtained by java object + // which is inserted into the database + ResultSet generatedKeys = statement.getGeneratedKeys(); + if (generatedKeys.next()) { + int i = Math.toIntExact(generatedKeys.getLong(1)); + connection.close(); + return i; + } + } catch (SQLException e) { + e.printStackTrace(); + } + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + return -1; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) + */ + @Override + public void update(Object object) { + ShoppingTrip trip = this.objectIsShoppingTrip(object); + String sql = "UPDATE shopping_trip " + + "SET customer_id=?, shop_id=?, charged=?, anonymous=? " + + "WHERE shopping_trip_id=?"; + try { + + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, trip.getCustomer().getID()); + statement.setInt(2, trip.getShop().getID()); + statement.setBoolean(3, trip.getCharged()); + statement.setBoolean(4, trip.getAnonymous()); + statement.setInt(5, trip.getID()); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) + */ + @Override + public ShoppingTrip retrieve(int id) { + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + + String sql = "SELECT * " + + "FROM shopping_trip " + + "WHERE shopping_trip_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, id); + ResultSet rs = statement.executeQuery(); + + if (!rs.next()) { + connection.close(); + return null; + } + + int tripID = rs.getInt("shopping_trip_id"); + + ShoppingTrip trip = new ShoppingTrip( + tripID, + cdc.retrieve(rs.getInt("customer_id")), + sdc.retrieve(rs.getInt("shop_id")), + rs.getBoolean(4), + rs.getBoolean("anonymous")); + connection.close(); + return trip; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * Retrieves and creates a list of all shopping trips based on what's received by the database + * @return A list of shoppingTrip objects + */ + public List retrieveAllShoppingTrips() { + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + ActionDatabaseController adc = new ActionDatabaseController(); + ShoppingTrip trip; + List trips = new ArrayList<>(); + + String sql = "SELECT * FROM shopping_trip WHERE anonymous=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setBoolean(1, false); + ResultSet rs = statement.executeQuery(); + + while(rs.next()) { + int tripID = rs.getInt(1); + trip = new ShoppingTrip( + rs.getInt(1), // ShopID + cdc.retrieve(rs.getInt(2)), // Customer object + sdc.retrieve(rs.getInt(3)), // Shop object + rs.getBoolean(4), // charged boolean + rs.getBoolean(5) // anonymous flag + ); + trip.setActions(adc.retrieveAll(tripID)); + trips.add(trip); + } + + connection.close(); + return trips; + + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * Retrieves and creates a list of shopping trip objects from the database + * for the customer with ID = customerID and are not anonymized. + * @param customerID The ID of the customer for the shopping trips + * @return A list of ShoppingTrip objects corresponding to database instances + */ + public List retrieveAllShoppingTripsForCustomer(int customerID) { + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + ActionDatabaseController adc = new ActionDatabaseController(); + CoordinateDatabaseController corddc = new CoordinateDatabaseController(); + ShoppingTrip trip; + List trips = new ArrayList<>(); + + String sql = "SELECT * " + + "FROM shopping_trip " + + "WHERE customer_id=? AND anonymous=?"; + + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, customerID); + statement.setBoolean(2, false); + ResultSet rs = statement.executeQuery(); + + while (rs.next()) { + int tripID = rs.getInt("shopping_trip_id"); + trip = new ShoppingTrip( + rs.getInt(1), // ShopID + cdc.retrieve(rs.getInt(2)), // Customer object + sdc.retrieve(rs.getInt(3)), // Shop object + rs.getBoolean(4), // charged boolean + rs.getBoolean(5) // anonymous flag + ); + trip.setActions(adc.retrieveAll(tripID)); + trip.setCoordinates(corddc.retrieveAll(tripID)); + trips.add(trip); + } + connection.close(); + return trips; + + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(int) + */ + @Override + public void delete(int id) { + String sql = "DELETE FROM shopping_trip " + + "WHERE shopping_trip_id=?"; + try { + Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + statement = connection.prepareStatement(sql); + statement.setInt(1, id); + statement.executeUpdate(); + connection.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Checks if incoming object is ShoppingTrip + * @param object suspected ShoppingTrip + * @return shoppingTrip + */ + public ShoppingTrip objectIsShoppingTrip(Object object) { + try { + ShoppingTrip s = (ShoppingTrip) object; + return s; + } catch (ClassCastException e) { + throw new IllegalArgumentException("Object is not ShoppingTrip"); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java new file mode 100644 index 0000000..f2756db --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java @@ -0,0 +1,31 @@ +package tdt4140.gr1864.app.core.interfaces; +/** + * This is a generic framework for doing CRUD-operations on objects in the + * database. All object-controllers who's objects are stored in the DB + * should implement this framework + * @author vegarab + */ +public interface DatabaseCRUD { + /** + * @param object Persist object to database + * @return ID of the object persistent to database + */ + int create(Object object); + + /** + * @param object Save changes made to persistent object in database + */ + void update(Object object); + + /** + * @param id Id of persisted object to retrieve from database + * @return The object retrieved + */ + Object retrieve(int id); + + /** + * @param id The id of a persisted object to delete + */ + void delete(int id); + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java new file mode 100644 index 0000000..7279acb --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java @@ -0,0 +1,10 @@ +package tdt4140.gr1864.app.core.interfaces; + +/** + * Interface to generalize how we retrieve IDs + * @author vegarab + * + */ +public interface Model { + public int getID(); +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java new file mode 100644 index 0000000..b8a9dea --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java @@ -0,0 +1,12 @@ +package tdt4140.gr1864.app.core.interfaces; + +public interface UserInterface { + + /* + * Adding hashcode so we can use hashmaps and hashsets later on in the project + */ + public abstract int hashCode(); + + public abstract boolean equals(Object obj); + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql new file mode 100644 index 0000000..1ebd32d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql @@ -0,0 +1,75 @@ +CREATE TABLE customer( +customer_id integer primary key autoincrement, +first_name varchar(30) not null, +last_name varchar(30) not null, +address varchar(31), +zip integer, +gender varchar(31), +age int, +num_persons_in_household int, +anonymous boolean, +deleted boolean, +foreign key(customer_id) references shopping_trip(customer_id) +); + +CREATE TABLE bought( +shopping_trip_id integer not null, +product_id integer not null, +amount integer not null, +primary key(shopping_trip_id, product_id) +); + +CREATE TABLE coordinate( +shopping_trip_id integer, +timestamp varchar(255), +x real not null, +y real not null, +primary key(shopping_trip_id, timestamp), +foreign key (shopping_trip_id) references shopping_trip(shopping_trip_id) +); + +CREATE TABLE action( +shopping_trip_id integer, +timestamp varchar(255), +action_type integer not null, +product_id integer not null, +primary key(shopping_trip_id, timestamp), +foreign key (product_id) references product(product_id), +foreign key (shopping_trip_id) references shopping_trip(shopping_trip_id) +); + +CREATE TABLE on_shelf( +shop_id integer not null, +product_id integer no null, +amount_on_shelfs integer not null, +amount_in_storage integer not null, +primary key(shop_id, product_id), +foreign key (shop_id) references shop(shop_id), +foreign key (product_id) references product(product_id) +); + +CREATE TABLE shop( +shop_id integer primary key, +zip integer not null, +address varchar(30) not null, +foreign key(shop_id) references product(shop_id) +); + +CREATE TABLE shopping_trip( +shopping_trip_id integer primary key autoincrement, +customer_id integer not null, +shop_id integer not null, +charged bit not null, +anonymous boolean not null, +foreign key(customer_id) references customer(customer_id), +foreign key(shop_id) references shop(shop_id), +foreign key(shopping_trip_id) references action(shopping_trip_id), +foreign key(shopping_trip_id) references coordinate(shopping_trip_id), +foreign key(shopping_trip_id) references bought(shopping_trip_id) +); + +CREATE TABLE product ( +product_id integer primary key autoincrement, +name varchar(255) not null, +price double not null +); diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json new file mode 100644 index 0000000..c0d43bc --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json @@ -0,0 +1,64 @@ +[{"grocery":"Pork - Back, Long Cut, Boneless","price":"0.55"}, +{"grocery":"Ice Cream - Life Savers","price":"8.51"}, +{"grocery":"Nestea - Iced Tea","price":"2.97"}, +{"grocery":"Laundry - Bag Cloth","price":"8.60"}, +{"grocery":"Chicken - Wieners","price":"3.93"}, +{"grocery":"Lettuce - Curly Endive","price":"0.30"}, +{"grocery":"Soap - Mr.clean Floor Soap","price":"2.35"}, +{"grocery":"Kohlrabi","price":"6.31"}, +{"grocery":"V8 - Tropical Blend","price":"3.06"}, +{"grocery":"Flour - Strong Pizza","price":"8.79"}, +{"grocery":"Pasta - Orzo, Dry","price":"4.93"}, +{"grocery":"Broom And Brush Rack Black","price":"6.02"}, +{"grocery":"Macaroons - Two Bite Choc","price":"8.24"}, +{"grocery":"Pasta - Bauletti, Chicken White","price":"6.86"}, +{"grocery":"Cheese - Boursin, Garlic / Herbs","price":"9.98"}, +{"grocery":"Pectin","price":"3.11"}, +{"grocery":"Crab - Soft Shell","price":"9.40"}, +{"grocery":"Vinegar - Balsamic","price":"0.39"}, +{"grocery":"Sour Puss - Tangerine","price":"1.96"}, +{"grocery":"Bread - Granary Small Pull","price":"0.36"}, +{"grocery":"Beef - Ground, Extra Lean, Fresh","price":"7.32"}, +{"grocery":"Basil - Primerba, Paste","price":"8.63"}, +{"grocery":"Pasta - Orzo, Dry","price":"8.54"}, +{"grocery":"Creamers - 10%","price":"4.68"}, +{"grocery":"Tea - Darjeeling, Azzura","price":"8.69"}, +{"grocery":"Carbonated Water - Strawberry","price":"5.11"}, +{"grocery":"Vodka - Lemon, Absolut","price":"4.34"}, +{"grocery":"Pork - Smoked Kassler","price":"3.52"}, +{"grocery":"Onion Powder","price":"4.16"}, +{"grocery":"Rice - Wild","price":"4.71"}, +{"grocery":"Veal - Provimi Inside","price":"1.86"}, +{"grocery":"Tomatoes - Grape","price":"8.46"}, +{"grocery":"Napkin - Cocktail,beige 2 - Ply","price":"4.78"}, +{"grocery":"Mushroom - Morels, Dry","price":"7.80"}, +{"grocery":"Jolt Cola","price":"5.91"}, +{"grocery":"Coffee Cup 16oz Foam","price":"3.24"}, +{"grocery":"Pasta - Penne, Lisce, Dry","price":"9.31"}, +{"grocery":"Oil - Olive Bertolli","price":"4.98"}, +{"grocery":"Chickhen - Chicken Phyllo","price":"6.99"}, +{"grocery":"Cake - Mini Cheesecake","price":"8.56"}, +{"grocery":"Beef - Sushi Flat Iron Steak","price":"0.91"}, +{"grocery":"Wine - Savigny - Les - Beaune","price":"3.92"}, +{"grocery":"Wine - Charddonnay Errazuriz","price":"2.73"}, +{"grocery":"Mushroom - Trumpet, Dry","price":"8.85"}, +{"grocery":"Cherries - Fresh","price":"1.56"}, +{"grocery":"Brownies - Two Bite, Chocolate","price":"6.51"}, +{"grocery":"Cheese - Pied De Vents","price":"9.06"}, +{"grocery":"Soup - Beef, Base Mix","price":"0.26"}, +{"grocery":"Pasta - Orzo, Dry","price":"1.31"}, +{"grocery":"Lamb - Shanks","price":"4.92"}, +{"grocery":"Chicken - Livers","price":"5.36"}, +{"grocery":"Flour - Corn, Fine","price":"8.22"}, +{"grocery":"Crackers - Soda / Saltins","price":"7.68"}, +{"grocery":"Beer - Original Organic Lager","price":"3.68"}, +{"grocery":"Wine - Shiraz Wolf Blass Premium","price":"2.36"}, +{"grocery":"Longos - Grilled Salmon With Bbq","price":"5.31"}, +{"grocery":"Rum - Cream, Amarula","price":"4.16"}, +{"grocery":"Bread - Rosemary Focaccia","price":"7.64"}, +{"grocery":"Tomatoes Tear Drop","price":"9.61"}, +{"grocery":"Wine - Sawmill Creek Autumn","price":"9.51"}, +{"grocery":"Iced Tea - Lemon, 460 Ml","price":"9.12"}, +{"grocery":"Soup - Base Broth Chix","price":"1.74"}, +{"grocery":"Sterno - Chafing Dish Fuel","price":"4.17"}, +{"grocery":"Nestea - Iced Tea","price":"7.03"}] \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py new file mode 100644 index 0000000..c4070e7 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py @@ -0,0 +1,18 @@ +"""Plots a data dump from the data mocking program. +Installing dependencies: pip install -r requirements.txt +Usage: python plot.py data.json""" + +import json +import matplotlib.pyplot as plt +import sys + +data = json.loads(open(sys.argv[1]).read()) + +x, y = [], [] + +for coordinate in data['path']: + x.append(coordinate['x']) + y.append(coordinate['y']) + +plt.scatter(x, y) +plt.show() diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt new file mode 100644 index 0000000..2784d20 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt @@ -0,0 +1 @@ +matplotlib==2.1.0 \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md new file mode 100644 index 0000000..a9c1fca --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md @@ -0,0 +1 @@ +# Resources used by the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json new file mode 100644 index 0000000..d77e29c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json @@ -0,0 +1,482 @@ +{ + "customerID" : 9, + "coordinates" : [ { + "x" : 5.988600917321573, + "y" : 1.6073608851323462, + "timestamp" : 1523367344888 + }, { + "x" : 6.900839491066374, + "y" : 1.040854256948999, + "timestamp" : 1523367344963 + }, { + "x" : 8.107654104507713, + "y" : 5.319242707385421, + "timestamp" : 1523367345038 + }, { + "x" : 11.80935328822557, + "y" : 9.321944377321229, + "timestamp" : 1523367345113 + }, { + "x" : 13.608721012351305, + "y" : 13.751842402096802, + "timestamp" : 1523367345188 + }, { + "x" : 17.772177301879093, + "y" : 17.78556943384929, + "timestamp" : 1523367345263 + }, { + "x" : 19.568905035050378, + "y" : 21.279467806531684, + "timestamp" : 1523367345338 + }, { + "x" : 22.95148545813437, + "y" : 26.63287284283732, + "timestamp" : 1523367345413 + }, { + "x" : 25.83420734707189, + "y" : 31.290626259651575, + "timestamp" : 1523367345488 + }, { + "x" : 28.266028336454564, + "y" : 34.23991452517638, + "timestamp" : 1523367345563 + }, { + "x" : 31.578760196665492, + "y" : 39.090572525990176, + "timestamp" : 1523367345638 + }, { + "x" : 35.445580973115334, + "y" : 42.10521964659277, + "timestamp" : 1523367345713 + }, { + "x" : 36.69134807706618, + "y" : 46.13057667145744, + "timestamp" : 1523367345788 + }, { + "x" : 40.02852811832709, + "y" : 51.36788651175036, + "timestamp" : 1523367345863 + }, { + "x" : 42.7870065268006, + "y" : 55.46643497132583, + "timestamp" : 1523367345938 + }, { + "x" : 46.99142352234404, + "y" : 58.23124916595772, + "timestamp" : 1523367346013 + }, { + "x" : 49.61774756692872, + "y" : 63.9778168877525, + "timestamp" : 1523367346088 + }, { + "x" : 52.680310101714895, + "y" : 66.65305721330475, + "timestamp" : 1523367346163 + }, { + "x" : 53.84205923123626, + "y" : 70.89474513055161, + "timestamp" : 1523367346238 + }, { + "x" : 58.146373726634465, + "y" : 75.17940673298476, + "timestamp" : 1523367346313 + }, { + "x" : 58.07070597688804, + "y" : 77.55951720972969, + "timestamp" : 1523367346388 + }, { + "x" : 63.83449834744537, + "y" : 76.99848730771846, + "timestamp" : 1523367346463 + }, { + "x" : 68.54387328310114, + "y" : 77.6680002452583, + "timestamp" : 1523367346538 + }, { + "x" : 73.5633870435451, + "y" : 77.98711909248021, + "timestamp" : 1523367346613 + }, { + "x" : 79.88677926842534, + "y" : 77.8686501551285, + "timestamp" : 1523367346688 + }, { + "x" : 84.46970861374808, + "y" : 77.5402454849737, + "timestamp" : 1523367346763 + }, { + "x" : 88.84298833604319, + "y" : 79.22215367714396, + "timestamp" : 1523367346838 + }, { + "x" : 94.56984237337127, + "y" : 79.09814244983721, + "timestamp" : 1523367346913 + }, { + "x" : 99.90008868101057, + "y" : 79.30986442940225, + "timestamp" : 1523367346988 + }, { + "x" : 103.59309205674501, + "y" : 79.00916736435747, + "timestamp" : 1523367347063 + }, { + "x" : 108.85146827840569, + "y" : 78.5335187840472, + "timestamp" : 1523367347138 + }, { + "x" : 113.24196680268909, + "y" : 79.99836179139088, + "timestamp" : 1523367347213 + }, { + "x" : 119.71989728753928, + "y" : 80.22672687894531, + "timestamp" : 1523367347288 + }, { + "x" : 123.93433381995797, + "y" : 79.64589199533219, + "timestamp" : 1523367347363 + }, { + "x" : 128.90351354112136, + "y" : 79.25661882202898, + "timestamp" : 1523367347438 + }, { + "x" : 133.46725959923953, + "y" : 78.76284531314376, + "timestamp" : 1523367347513 + }, { + "x" : 135.84725641295245, + "y" : 78.84894062592038, + "timestamp" : 1523367347588 + }, { + "x" : 130.6784158949242, + "y" : 79.57125048068237, + "timestamp" : 1523367347663 + }, { + "x" : 125.36418271809461, + "y" : 77.64538192485026, + "timestamp" : 1523367347738 + }, { + "x" : 122.25668700328154, + "y" : 76.50275297319514, + "timestamp" : 1523367347813 + }, { + "x" : 115.92134769375045, + "y" : 74.86319633425121, + "timestamp" : 1523367347888 + }, { + "x" : 111.08407920026126, + "y" : 73.20633433142224, + "timestamp" : 1523367347963 + }, { + "x" : 107.56860744833136, + "y" : 71.65217227662502, + "timestamp" : 1523367348038 + }, { + "x" : 102.75977303615785, + "y" : 71.42341052161298, + "timestamp" : 1523367348113 + }, { + "x" : 97.93103682060556, + "y" : 69.35557407869447, + "timestamp" : 1523367348188 + }, { + "x" : 92.36066629485525, + "y" : 68.09283361191737, + "timestamp" : 1523367348263 + }, { + "x" : 86.9327917403154, + "y" : 68.03891390705931, + "timestamp" : 1523367348338 + }, { + "x" : 83.20799384439164, + "y" : 66.3636099304237, + "timestamp" : 1523367348413 + }, { + "x" : 78.54230103152285, + "y" : 66.03219982833251, + "timestamp" : 1523367348488 + }, { + "x" : 72.40779135241368, + "y" : 64.66802030668451, + "timestamp" : 1523367348563 + }, { + "x" : 68.56953934039535, + "y" : 62.44496824763245, + "timestamp" : 1523367348638 + }, { + "x" : 62.611619897979345, + "y" : 62.384226755320796, + "timestamp" : 1523367348713 + }, { + "x" : 59.296009345683395, + "y" : 61.06605532485242, + "timestamp" : 1523367348788 + }, { + "x" : 54.38154220924307, + "y" : 58.453361376112554, + "timestamp" : 1523367348863 + }, { + "x" : 48.420465413308186, + "y" : 57.71509140640354, + "timestamp" : 1523367348938 + }, { + "x" : 44.38667916360935, + "y" : 56.40746058950024, + "timestamp" : 1523367349013 + }, { + "x" : 39.68441388579074, + "y" : 56.292658547425916, + "timestamp" : 1523367349088 + }, { + "x" : 34.181084325703594, + "y" : 54.87645072848192, + "timestamp" : 1523367349163 + }, { + "x" : 29.182155171856824, + "y" : 53.4056724054912, + "timestamp" : 1523367349238 + }, { + "x" : 24.70493132477867, + "y" : 51.97169762582995, + "timestamp" : 1523367349313 + }, { + "x" : 23.271874212518913, + "y" : 52.14277643915296, + "timestamp" : 1523367349388 + }, { + "x" : 21.688348726303875, + "y" : 46.69017791464968, + "timestamp" : 1523367349463 + }, { + "x" : 19.62868063283935, + "y" : 42.92415208359695, + "timestamp" : 1523367349538 + }, { + "x" : 17.703625820039804, + "y" : 38.295985106689, + "timestamp" : 1523367349613 + }, { + "x" : 19.30595345864188, + "y" : 33.0363596079524, + "timestamp" : 1523367349688 + }, { + "x" : 22.331766964352013, + "y" : 28.22481987714355, + "timestamp" : 1523367349763 + }, { + "x" : 22.466613013892502, + "y" : 23.007051950178436, + "timestamp" : 1523367349838 + }, { + "x" : 25.42812804054515, + "y" : 19.028669895776726, + "timestamp" : 1523367349913 + }, { + "x" : 26.778720575105137, + "y" : 14.538884199263947, + "timestamp" : 1523367349988 + }, { + "x" : 27.433158820743, + "y" : 10.527333642342187, + "timestamp" : 1523367350063 + }, { + "x" : 30.89413088019961, + "y" : 13.031808100014691, + "timestamp" : 1523367350138 + }, { + "x" : 35.153211191864564, + "y" : 15.672625840889076, + "timestamp" : 1523367350213 + }, { + "x" : 39.539317378755264, + "y" : 17.64880485033646, + "timestamp" : 1523367350288 + }, { + "x" : 45.369002740808696, + "y" : 20.189735792686996, + "timestamp" : 1523367350363 + }, { + "x" : 49.481062735851395, + "y" : 23.183357807476835, + "timestamp" : 1523367350438 + }, { + "x" : 54.10371398064055, + "y" : 25.0542561791284, + "timestamp" : 1523367350513 + }, { + "x" : 57.3910338500473, + "y" : 28.56255964954228, + "timestamp" : 1523367350588 + }, { + "x" : 61.93158000177472, + "y" : 30.20170372150696, + "timestamp" : 1523367350663 + }, { + "x" : 65.68505701522888, + "y" : 33.70369257106548, + "timestamp" : 1523367350738 + }, { + "x" : 69.91619239002449, + "y" : 35.80410361222925, + "timestamp" : 1523367350813 + }, { + "x" : 73.95528812738387, + "y" : 38.157350681989136, + "timestamp" : 1523367350888 + }, { + "x" : 79.8089255551471, + "y" : 40.74030133137947, + "timestamp" : 1523367350963 + }, { + "x" : 83.04915950776056, + "y" : 43.57352658162876, + "timestamp" : 1523367351038 + }, { + "x" : 88.76244563573874, + "y" : 44.94420325653222, + "timestamp" : 1523367351113 + }, { + "x" : 92.16260680495294, + "y" : 47.153959102594385, + "timestamp" : 1523367351188 + }, { + "x" : 95.41400075791074, + "y" : 50.68462251316997, + "timestamp" : 1523367351263 + }, { + "x" : 100.66676294912514, + "y" : 52.562307093137576, + "timestamp" : 1523367351338 + }, { + "x" : 101.51232794086832, + "y" : 53.44286089669229, + "timestamp" : 1523367351413 + }, { + "x" : 97.77085175018136, + "y" : 51.39274899108682, + "timestamp" : 1523367351488 + }, { + "x" : 93.40816139534448, + "y" : 49.262630881776296, + "timestamp" : 1523367351563 + }, { + "x" : 88.48315881846251, + "y" : 48.145751745404965, + "timestamp" : 1523367351638 + }, { + "x" : 84.47453115187443, + "y" : 46.7861058298123, + "timestamp" : 1523367351713 + }, { + "x" : 78.64852198348716, + "y" : 44.44924679380962, + "timestamp" : 1523367351788 + }, { + "x" : 74.5839716534065, + "y" : 42.15840047860838, + "timestamp" : 1523367351863 + }, { + "x" : 70.13851445795878, + "y" : 39.03086445856381, + "timestamp" : 1523367351938 + }, { + "x" : 65.6502337876236, + "y" : 37.32539628515692, + "timestamp" : 1523367352013 + }, { + "x" : 61.467350809973546, + "y" : 35.781814671929574, + "timestamp" : 1523367352088 + }, { + "x" : 57.01046958342529, + "y" : 33.091846713816864, + "timestamp" : 1523367352163 + }, { + "x" : 56.21254637180344, + "y" : 33.59621089760373, + "timestamp" : 1523367352238 + }, { + "x" : 55.81400006092989, + "y" : 39.18753147764853, + "timestamp" : 1523367352313 + }, { + "x" : 55.33741106092432, + "y" : 42.876809460671154, + "timestamp" : 1523367352388 + }, { + "x" : 56.9057020571935, + "y" : 48.594622611576, + "timestamp" : 1523367352463 + }, { + "x" : 55.99050485509338, + "y" : 52.432733004939806, + "timestamp" : 1523367352538 + }, { + "x" : 52.898138505948744, + "y" : 49.533439769629844, + "timestamp" : 1523367352613 + }, { + "x" : 50.07661834121617, + "y" : 46.035685319063504, + "timestamp" : 1523367352688 + }, { + "x" : 44.725286486929846, + "y" : 42.67984357834504, + "timestamp" : 1523367352763 + }, { + "x" : 41.71217834909431, + "y" : 39.03571255943457, + "timestamp" : 1523367352838 + }, { + "x" : 37.33928569641117, + "y" : 35.21424124343068, + "timestamp" : 1523367352913 + }, { + "x" : 34.735079316822265, + "y" : 32.53528783839099, + "timestamp" : 1523367352988 + }, { + "x" : 31.13484110381177, + "y" : 28.58286251189877, + "timestamp" : 1523367353063 + }, { + "x" : 27.600102867229506, + "y" : 24.869345268195943, + "timestamp" : 1523367353138 + }, { + "x" : 23.027483834995355, + "y" : 21.298880532321064, + "timestamp" : 1523367353213 + }, { + "x" : 20.340265491983715, + "y" : 19.34281474309427, + "timestamp" : 1523367353288 + }, { + "x" : 15.258615249589859, + "y" : 14.766315314032235, + "timestamp" : 1523367353363 + }, { + "x" : 11.577822860801984, + "y" : 11.440051513211193, + "timestamp" : 1523367353438 + } ], + "actions" : [ { + "productID" : 55, + "action" : 1, + "timestamp" : 1523367346313 + }, { + "productID" : 34, + "action" : 1, + "timestamp" : 1523367349313 + }, { + "productID" : 2, + "action" : 1, + "timestamp" : 1523367349988 + }, { + "productID" : 2, + "action" : 0, + "timestamp" : 1523367352163 + } ], + "duration" : 8550 +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java new file mode 100644 index 0000000..386887a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java @@ -0,0 +1,33 @@ +package tdt4140.gr1864.app.core; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + + +public class ActionTest { + + Action action; + + @Before + public void setup() { + Product p1 = new Product("Name", 10.0); + action = new Action("1", 1, p1); + } + + @Test + public void testGetTimeStampExpectOne() { + Assert.assertEquals(1L, action.getTimeStamp()); + } + + @Test + public void testGetActionTypeExpectOne() { + Assert.assertEquals(1, action.getActionType()); + } + + @Test + public void testGetProductIdExpectedTwo() { + Assert.assertEquals("Name", action.getProduct().getName()); + Assert.assertEquals(10.0, action.getProduct().getPrice(), 0); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java new file mode 100644 index 0000000..0772d85 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java @@ -0,0 +1,30 @@ +package tdt4140.gr1864.app.core; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class CoordinateTest { + + Coordinate coord; + + @Before + public void setup() { + coord = new Coordinate(1.0, 2.0, "123"); + } + + @Test + public void testGetXExpectOne() { + Assert.assertEquals(1.0, coord.getX(), 0); + } + + @Test + public void testGetYExpectTwo() { + Assert.assertEquals(2.0, coord.getY(), 0); + } + + @Test + public void testGetTimeStampExpectOneHundredTwentyThree() { + Assert.assertEquals(123L, coord.getTimeStamp()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java new file mode 100644 index 0000000..e70073b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java @@ -0,0 +1,318 @@ +package tdt4140.gr1864.app.core; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.*; + +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.database.TestDataLoader; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +public class CustomerTest { + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ProductDatabaseController pdc = new ProductDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + ActionDatabaseController adc = new ActionDatabaseController(); + static TestDataLoader tdl; + static DatabaseWiper viper = new DatabaseWiper(); + ShoppingTrip t1, t2, t3; + Customer c1, c2, c3; + Product p1, p2, p3; + Shop s1; + Action a1, a2; + + @BeforeClass + public static void createDatabase() { + viper = new DatabaseWiper(); + tdl = new TestDataLoader(); + viper.wipe(); + } + + @Before + public void setup() { + viper.wipe(); + s1 = new Shop("Kings Road 2", 10); + s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); + + c1 = new Customer("Ola", "Nordmann"); + c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); + + c2 = new Customer("Kari", "Hansen"); + c2 = new Customer(c2.getFirstName(), c2.getLastName(), cdc.create(c2)); + + c3 = new Customer("Nils", "Nordmann"); + c3 = new Customer(c3.getFirstName(), c3.getLastName(), cdc.create(c3)); + + t1 = new ShoppingTrip(c1, s1, true); + t2 = new ShoppingTrip(c2, s1, true); + t3 = new ShoppingTrip(c3, s1, true); + + p1 = new Product("Produt1", 1.0); + p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); + p2 = new Product("Produt2", 2.0); + p2 = new Product(pdc.create(p2), p2.getName(), p2.getPrice()); + p3 = new Product("Produt3", 3.0); + p3 = new Product(pdc.create(p3), p3.getName(), p3.getPrice()); + + t1 = new ShoppingTrip(c1, s1, true); + t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); + List trips = new ArrayList(); + trips.add(t1); + c1.setShoppingTrips(trips); + cdc.update(c1); + + a1 = new Action("1", 1, p1, t1); + adc.create(a1); + a1 = new Action("2", 1, p2, t1); + adc.create(a1); + a1 = new Action("3", 1, p2, t1); + adc.create(a1); + a1 = new Action("4", 1, p3, t1); + adc.create(a1); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#Customer(int, java.lang.String, java.lang.String, java.util.ArrayList)}. + */ + @Test + public void testCustomer() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + assertNotEquals(c1, null); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#hashCode()}. + */ + @Test + public void testHashCode() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + c2 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + assertEquals(c1.hashCode(), c2.hashCode()); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#equals(java.lang.Object)}. + */ + @Test + public void testEqualsObject() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + c2 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + assertEquals(c1, c2); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#getID()}. + */ + @Test + public void testGetID() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + assertEquals(c1.getID(), 1); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setCustomerId(int)}. + */ + @Test + public void testSetID() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + c1.setCustomerID(2); + assertEquals(c1.getID(), 2); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#getFirstName()}. + */ + @Test + public void testGetFirstName() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + assertEquals(c1.getFirstName(), "Roger"); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setFirstName(java.lang.String)}. + */ + @Test + public void testSetFirstName() { + c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); + c1.setFirstName("Benny"); + assertEquals(c1.getFirstName(), "Benny"); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#getLastName()}. + */ + @Test + public void testGetAddress() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + assertEquals(c1.getAddress(), "NTNU"); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. + */ + @Test + public void testSetAddress() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + c1.setAddress("UiB"); + assertEquals(c1.getAddress(), "UiB"); + } + + @Test + public void testGetZip() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + assertEquals(c1.getZip(), 7047); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. + */ + @Test + public void testSetZip() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + c1.setZip(0001); + assertEquals(c1.getZip(), 0001); + } + + @Test + public void testGetGender() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + assertEquals(c1.getGender(), "Unspecified"); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. + */ + @Test + public void testSetGender() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + c1.setGender("Male"); + assertEquals(c1.getGender(), "Male"); + } + + @Test + public void testGetAge() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + assertEquals(c1.getAge(), 44); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. + */ + @Test + public void testSetAge() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + c1.setAge(50); + assertEquals(c1.getAge(), 50); + } + + @Test + public void testGetLastName() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + assertEquals(c1.getLastName(), "Len"); + } + + /** + * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. + */ + @Test + public void testSetLastName() { + c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, 2, false); + c1.setLastName("Knudsen"); + assertEquals(c1.getLastName(), "Knudsen"); + } + + @Test + public void testGiveRecommendationBoughtExpectProductIDEqualOne() { + int expectedProductID = 1; + c1.giveRecommendation(); + Assert.assertEquals(expectedProductID, c1.getRecommendedProductID()); + } + + @Test + public void testGiveRecommendationWhenNotBoughtExpectMostPopularEqualTwo() { + int expectedProductID = 2; + c2.giveRecommendation(); + Assert.assertEquals(expectedProductID, c2.getRecommendedProductID()); + } + + @Test + public void testGiveRecommendationWhenCustomerAreAnonymousExpectProductIDEqualsMostPopularEqualsOne() { + setup(); + int expectedProductID = 1; + c1.setAnonymous(true); + c1.giveRecommendation(); + Assert.assertEquals(expectedProductID, c1.getRecommendedProductID()); + } + + @Test + public void testGiveRecommendationWhenShoppingTripsAreAnonymousExpectProductIDEqualZero() { + int expectedProductID = 0; + t1.setAnonymous(true); + stdc.update(t1); + c2.giveRecommendation(); + Assert.assertEquals(expectedProductID, c2.getRecommendedProductID()); + } + + @Test + public void testGetStatisticsForAmountBoughtExpectSortedList() { + + List actualArray = c1.getStatisticsForAmountBought(); + + List expectedArray = new ArrayList<>(); + // index for max value = 2 (in DB), maxamount = 2 + ProductAmount pa1 = new ProductAmount(2, pdc.retrieve(2)); + + // index for max value = 1 (in DB), maxamount = 1 + ProductAmount pa2 = new ProductAmount(1, pdc.retrieve(1)); + + // index for max value = 3 (in DB), maxamount = 1 + ProductAmount pa3 = new ProductAmount(1, pdc.retrieve(3)); + + expectedArray.add(pa1); + expectedArray.add(pa2); + expectedArray.add(pa3); + + boolean correctList = true; + for (int i = 0; i < 3; i++) { + if (expectedArray.get(i).getAmount() != actualArray.get(i).getAmount() || + expectedArray.get(i).getProduct().getID() != actualArray.get(i).getProduct().getID()) { + correctList = !correctList; + } + } + + Assert.assertEquals(true, correctList); + } + + @Test + public void testIsDeletedExpectFalse() { + Assert.assertFalse(c1.isDeleted()); + } + + @Test + public void testSetDeletedExpectAllNullValues() { + c1.setAddress("Some Address"); + c1.setAge(12); + c1.setDeleted(true); + Assert.assertEquals("null", c1.getAddress()); + Assert.assertEquals(0, c1.getAge()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java new file mode 100644 index 0000000..8035e42 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java @@ -0,0 +1,13 @@ +package tdt4140.gr1864.app.core; + +import org.junit.Assert; +import org.junit.Test; + +public class ExampleTest { + + @Test + public void test() { + Assert.assertTrue(true); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java new file mode 100644 index 0000000..b453798 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java @@ -0,0 +1,32 @@ +package tdt4140.gr1864.app.core; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ProductTest { + + Product product; + Product product2; + + @Before + public void setup() { + product = new Product("tomatoes", 9.23); + product2 = new Product(1, "tomatoes", 9.23); + } + + @Test + public void testGetNameExcpectTomatoes() { + Assert.assertEquals("tomatoes", product.getName()); + } + + @Test + public void testGetPriceExcpectNinePointTwentyThree() { + Assert.assertEquals(9.23, product.getPrice(), 0); + } + + @Test + public void testGetProductIDExcpectOne() { + Assert.assertEquals(1, (int) product2.getID()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md new file mode 100644 index 0000000..3fbf2fe --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md @@ -0,0 +1 @@ +# Tests for the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java new file mode 100644 index 0000000..d538e93 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java @@ -0,0 +1,52 @@ +package tdt4140.gr1864.app.core; + +import java.io.IOException; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.database.TestDataLoader; +import tdt4140.gr1864.app.core.database.DatabaseWiper; + + +public class ReceiptTest { + + private static Receipt receipt; + + private static ShoppingTrip shoppingTrip; + + @BeforeClass + public static void setup() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + + TestDataLoader loader = new TestDataLoader(); + shoppingTrip = loader.getTrip(); + receipt = new Receipt(shoppingTrip); + } + + @Test + public void testGetShoppingTrip() { + Assert.assertEquals(shoppingTrip, receipt.getShoppingTrip()); + } + + @Test + public void testGetInventory() { + boolean allOne = true; + + for (Integer count : receipt.getInventory().values()) { + if (count != 1) { + allOne = false; + break; + } + } + + Assert.assertFalse(allOne); + } + + @Test + public void testGetTotalPrice() { + Assert.assertEquals(10.16, receipt.getTotalPrice(), 10e-5); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java new file mode 100644 index 0000000..c569423 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java @@ -0,0 +1,139 @@ +package tdt4140.gr1864.app.core; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; + +public class ShopTest { + + Shop shop; + Shop shop2; + Shop shop3; + + Receipt receipt; + + Map inventory; + + Product p1, p2; + + OnShelfDatabaseController osdc; + + //Set up a DB for use in the tests + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() { + shop = new Shop("Kings Road 2", 1020); + shop2 = new Shop("Kings Road 4", 1020, 1); + shop3 = new Shop("Somwhere inf", 4343, 0); + } + + @Test + public void testGetAddressExpectKingsRoadTwo() { + String expected = "Kings Road 2"; + Assert.assertEquals(expected, shop.getAddress()); + } + + @Test + public void testGetZipExpectedThousandTwenty() { + int expected = 1020; + Assert.assertEquals(expected, shop.getZip()); + } + + @Test + public void testSetZipExpectedTousandThirty() { + int expected = 1030; + shop.setZip(expected); + Assert.assertEquals(expected, shop.getZip()); + } + + @Test + public void testSetAddressExpectKingsRoadThree() { + String expected = "Kings Road 3"; + shop.setAddress(expected); + Assert.assertEquals(expected, shop.getAddress()); + } + + @Test + public void testGetIdExpectOne() { + int expected = 1; + Assert.assertEquals(expected, shop2.getID()); + } + + + @Test + public void testSetAndGetProductInStorage() { + int productID = 5; + int amount = 23; + shop.setAmountInStorage(productID, amount); + + Assert.assertEquals(23, shop.getAmountInStorage(productID)); + } + + @Test + public void testSetAndGetProductInShelfs() { + int productID = 5; + int amount = 23; + shop.setAmountInShelfs(productID, amount); + + Assert.assertEquals(23, shop.getAmountInShelfs(productID)); + } + + @Test + public void testUpdateFromReceiptAndRefreshExpectSuccess() { + p1 = new Product(1, "p1", 1); + p2 = new Product(2, "p2", 2); + + inventory = new HashMap<>(); + inventory.put(p1.getID(), 5); + inventory.put(p2.getID(), 10); + + receipt = new Receipt(inventory); + + shop.setAmountInShelfs(p1.getID(), 60); + shop.setAmountInShelfs(p2.getID(), 30); + + osdc = new OnShelfDatabaseController(); + osdc.create(shop, p1.getID()); + osdc.create(shop, p2.getID()); + + shop.updateAmountInShelfsFromReceipt(receipt); + shop3 = shop3.refreshShop(); + + + Assert.assertEquals(55, shop3.getAmountInShelfs(p1.getID())); + Assert.assertEquals(20, shop3.getAmountInShelfs(p2.getID())); + } + + @Test + public void testUpdateShopFromReceiptExpectSuccess() { + p1 = new Product(1, "p1", 1); + p2 = new Product(2, "p2", 2); + + inventory = new HashMap<>(); + inventory.put(p1.getID(), 5); + inventory.put(p2.getID(), 10); + receipt = new Receipt(inventory); + + shop.setAmountInShelfs(p1.getID(), 60); + shop.setAmountInShelfs(p2.getID(), 30); + + shop.updateShopFromReceipt(receipt); + + + Assert.assertEquals(55, shop.getAmountInShelfs(p1.getID())); + Assert.assertEquals(20, shop.getAmountInShelfs(p2.getID())); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java new file mode 100644 index 0000000..21ae5d5 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java @@ -0,0 +1,66 @@ +package tdt4140.gr1864.app.core; + +import java.util.List; + +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.database.TestDataLoader; + +import org.junit.Assert; + +public class ShoppingTripTest { + + static ShoppingTrip shoppingTrip; + static TestDataLoader loader; + + @BeforeClass + public static void setup() { + loader = new TestDataLoader(); + shoppingTrip = loader.getTrip(); + } + + @Test + public void testGetStartExpectFirstTimeFromTestDataFile() { + long expectedTime = 1523367344888L; + Assert.assertEquals(expectedTime, shoppingTrip.getStart()); + } + + @Test + public void testGetEndExpectedLastTimeFromTestDataFile() { + long expectedTime = 1523367353438L; + Assert.assertEquals(expectedTime, shoppingTrip.getEnd()); + } + + @Test + public void testCoordinateListContainsCorrectCoordinatesExpectedSameAsTestDataFile() { + List coords = shoppingTrip.getCoordinates(); + Coordinate coord = coords.get(1); + double expectedX = 6.900839491066374; + double expectedY = 1.040854256948999; + long expectedTime = 1523367344963L; + + Assert.assertEquals(expectedX, coord.getX(), 0); + Assert.assertEquals(expectedY, coord.getY(), 0); + Assert.assertEquals(expectedTime, coord.getTimeStamp()); + } + + @Test + public void testActionListContainsCorrectActionsExpectedSameAsTestDataFile() { + List actions = shoppingTrip.getActions(); + Action action = actions.get(1); + long expectedTime = 1523367349313L; + int expectedType = 1; + int expectedProduct = 34; + + Assert.assertEquals(expectedTime, action.getTimeStamp()); + Assert.assertEquals(expectedType, action.getActionType()); + Assert.assertEquals(expectedProduct, (int)action.getProduct().getID()); + } + + @Test + public void testDurationExpectDurationOfFirstTrip() { + Assert.assertEquals(8550L, shoppingTrip.getDuration()); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java new file mode 100644 index 0000000..79ea901 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java @@ -0,0 +1,29 @@ +package tdt4140.gr1864.app.core.dataMocker; + +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import com.fasterxml.jackson.core.JsonProcessingException; + +public class DataMockerTest { + DataMocker mocker; + + @Before + public void setup() { + mocker = new DataMocker(); + } + + @Test + public void testValidJSON() { + try { + String data = mocker.getRandomPathJSON(); + JSONParser parser = new JSONParser(); + parser.parse(data); + } catch (ParseException | JsonProcessingException e) { + Assert.fail(); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java new file mode 100644 index 0000000..9001d92 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java @@ -0,0 +1,18 @@ +package tdt4140.gr1864.app.core.database; + +import org.junit.Assert; +import org.junit.Test; + +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; + +public class DBPathTest { + + @Test + public void testDatabasePathExpectPathToSQLiteFile() { + String actualPath = new DBPath().getPath(); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + + Assert.assertEquals(cdc.dbPath, actualPath); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java new file mode 100644 index 0000000..47f4828 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java @@ -0,0 +1,132 @@ +package tdt4140.gr1864.app.core.database; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Paths; + +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; + +public class DataLoaderTest { + + private final String[] NAMES = { "Reina Novoa", + "Dyan Linkous", + "Kenyatta Horning", + "August Eastwood", + "Kasi Fredricks", + "Sherilyn Salamanca", + "Jean Oslund", + "Maxima Hargreaves", + "Isabell Jarrell", + "Debbi Fuquay" }; + + @BeforeClass + public static void setupDatabase() throws IOException { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + DataLoader.main(null); + } + + @Test + public void testCustomersAreLoadedExpectTenCustomers() { + CustomerDatabaseController cdc = new CustomerDatabaseController(); + for (int i = 1; i < 11; i++) { + Customer c1 = cdc.retrieve(i); + Assert.assertEquals(NAMES[i-1], c1.getFirstName() + " " + c1.getLastName()); + } + } + + @Test + public void testProductsAreLoadedExpectFirstProductFromFile() { + ProductDatabaseController pdc = new ProductDatabaseController(); + String expectedName = "Pork - Back, Long Cut, Boneless"; + double expectedPrice = 0.55; + + Product p = pdc.retrieve(1); + Assert.assertEquals(expectedName, p.getName()); + Assert.assertEquals(expectedPrice, p.getPrice(), 0); + } + + @Test + public void testCoordinateLoadingFromFileExpectFirstCoordFromDataFile() { + CoordinateDatabaseController cdc = new CoordinateDatabaseController(); + Coordinate coord = cdc.retrieve(1, 1523367344888L); + double expectedX = 5.988600917321573; + double expectedY = 1.6073608851323462; + long expectedTime = 1523367344888L; + + Assert.assertEquals(expectedX, coord.getX(), 0); + Assert.assertEquals(expectedY, coord.getY(), 0); + Assert.assertEquals(expectedTime, coord.getTimeStamp()); + } + + @Test + public void testActionLoadingFromFileExpectFirstActionFromDataFile() { + ActionDatabaseController adc = new ActionDatabaseController(); + Action action = adc.retrieve(1, 1523367346313L); + long expectedTime = 1523367346313L; + int expectedType = 1; + int expectedProduct = 55; + + Assert.assertEquals(expectedTime, action.getTimeStamp()); + Assert.assertEquals(expectedType, action.getActionType()); + Assert.assertEquals(expectedProduct, (int) action.getProduct().getID()); + } + + @Test + public void testOnShelfLoadingFromFileExpectFirstProductFromDataFile() { + OnShelfDatabaseController osdc = new OnShelfDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + Shop shop = sdc.retrieve(1); + int expected_shop_id = 1; + int expected_product_id = 2; + int expected_amount_in_shelfs; + } + + @Test + public void testLoadShoppingtripExpectNewShoppingTripInDatabase() throws FileNotFoundException, IOException, ParseException { + String path = "../../src/main/resources/test-data.json"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = getClass().getClassLoader().getResource(".").getPath(); + } + // Read JSON from file + FileReader fr = new FileReader(relativePath+path); + BufferedReader reader = new BufferedReader(fr); + String json = ""; + String line; + while ((line = reader.readLine()) != null) { + json += line; + } + reader.close(); + ShoppingTrip trip = DataLoader.loadShoppingTrip(json); + + Assert.assertEquals(2, trip.getID()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java new file mode 100644 index 0000000..ce23adc --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java @@ -0,0 +1,149 @@ +package tdt4140.gr1864.app.core.database; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.junit.runners.MethodSorters; + +import tdt4140.gr1864.app.core.database.DatabaseWiper; + +import org.junit.BeforeClass; +import org.junit.FixMethodOrder; +import org.junit.Test; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class DatabaseTest { + + /* + * Setting up database before running tests + * Checks for occurence of database before creating one + */ + + static String dbPath; + + @BeforeClass + public static void setup() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + String path = "../../../app.core/src/main/resources/database.db"; + String relativePath; + //Finds path by getting URL and converting to URI and then to path + try { + URI rerelativeURI = DatabaseTest.class.getClassLoader().getResource(".").toURI(); + relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; + + } catch (URISyntaxException e1) { + //If fail to convert to URI use URL path instead + relativePath = DatabaseTest.class.getClassLoader().getResource(".").getPath(); + } + dbPath = relativePath + path; + } + + @Test + public void testDatabaseFunctionality() throws SQLException { + // Test if connection throws exception + connection(); + + // Test if writing throws exception + write(); + + // Test if select throws exception + select(); + + // Test if delete throws exception + delete(); + } + + // Method for test purpose. + public void connection() { + + Connection connection = null; + + try { + Class.forName("org.sqlite.JDBC"); + connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + } catch (Exception e) { + System.err.println( e.getClass().getName() + ": " + e.getMessage() ); + System.exit(0); + } + assertNotEquals(connection, null); + } + + // Method for test purpose. + public void write() { + Connection connection = null; + java.sql.Statement statement = null; + + try { + Class.forName("org.sqlite.JDBC"); + connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + + statement = connection.createStatement(); + String sql = "INSERT INTO customer (customer_id, first_name, last_name, anonymous) " + + "VALUES (-1, 'Ben', 'Ten', 'false');"; + statement.executeUpdate(sql); + statement.close(); + connection.close(); + } catch (Exception e) { + System.err.println( e.getClass().getName() + ": " + e.getMessage() ); + System.exit(0); + } + } + + // Method for test purpose. + public void select() throws SQLException { + Connection connection = null; + java.sql.Statement statement = null; + ResultSet resultSet = null; + + try { + Class.forName("org.sqlite.JDBC"); + connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + + statement = connection.createStatement(); + String sql = "SELECT * FROM customer WHERE customer_id = -1;"; + + resultSet = statement.executeQuery(sql); + assertEquals(resultSet.next(), true); + statement.close(); + connection.close(); + } catch (Exception e) { + System.err.println( e.getClass().getName() + ": " + e.getMessage() ); + System.exit(0); + } + } + + // Method for test purpose. + public void delete() throws SQLException { + Connection connection = null; + java.sql.Statement statement = null; + ResultSet resultSet = null; + + try { + Class.forName("org.sqlite.JDBC"); + connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + + statement = connection.createStatement(); + String sql = "DELETE FROM customer WHERE customer_id = -1;"; + statement.executeUpdate(sql); + + sql = "SELECT * FROM customer WHERE customer_id = -1;"; + resultSet = statement.executeQuery(sql); + assertEquals(resultSet.next(), false); + statement.close(); + connection.close(); + } catch (Exception e) { + System.err.println( e.getClass().getName() + ": " + e.getMessage() ); + System.exit(0); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java new file mode 100644 index 0000000..4e2301f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java @@ -0,0 +1,99 @@ +package tdt4140.gr1864.app.core.database; + +import java.io.IOException; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.database.TestDataLoader; +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController;; + +/* Uses test-data.json for testing */ +public class TestDataLoaderTest { + + static String pathToShoppingTrip; + static String pathToProducts; + static TestDataLoader loader; + static ProductDatabaseController pdc; + + static ShoppingTrip trip; + static List coords; + static List products; + static List actions; + + /* + * Setting up database before running tests + * Checks for occurence of database before creating one + */ + @BeforeClass + public static void setupDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + loader = new TestDataLoader(); + pdc = new ProductDatabaseController(); + coords = loader.getCoordinates(); + products = loader.getProducts(); + actions = loader.getActions(); + trip = loader.getTrip(); + } + + @Test + public void testCoordinateLoadingFromFileExpectFirstCoordFromDataFile() { + Coordinate coord = coords.get(0); + double expectedX = 5.988600917321573; + double expectedY = 1.6073608851323462; + long expectedTime = 1523367344888L; + + Assert.assertEquals(expectedX, coord.getX(), 0); + Assert.assertEquals(expectedY, coord.getY(), 0); + Assert.assertEquals(expectedTime, coord.getTimeStamp()); + } + + @Test + public void testGroceryLoadingFromFileExcpectFirstGroceryFromDataFile() { + Product prod = products.get(0); + String expectedName = "Pork - Back, Long Cut, Boneless"; + double expectedPrice = 0.55; + + Assert.assertEquals(expectedName, prod.getName()); + Assert.assertEquals(expectedPrice, prod.getPrice(), 0); + } + + @Test + public void testActionLoadingFromFileExpectFirstActionFromDataFile() { + Action action = actions.get(0); + long expectedTime = 1523367346313L; + int expectedType = 1; + int expectedProduct = 55; + + Assert.assertEquals(expectedTime, action.getTimeStamp()); + Assert.assertEquals(expectedType, action.getActionType()); + Assert.assertEquals(expectedProduct, (int) action.getProduct().getID()); + } + + @Test + public void testProductsOnSHelf(){ + OnShelfDatabaseController osdc = new OnShelfDatabaseController(); + int productID = products.get(0).getID(); + int amount = 5; + Shop shop = loader.getShop(); + shop.setAmountInShelfs(productID, amount); + osdc.create(shop, productID); + Shop testShop = new Shop("lol", 101, shop.getID()); + Shop retrievedShop = osdc.retrieve(testShop, productID); + + Assert.assertEquals(shop.getAmountInShelfs(productID), retrievedShop.getAmountInShelfs(productID)); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java new file mode 100644 index 0000000..afd8e16 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java @@ -0,0 +1,150 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +public class ActionDatabaseControllerTest { + + ActionDatabaseController adc = new ActionDatabaseController(); + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + ProductDatabaseController pdc = new ProductDatabaseController(); + + Action a1, a2; + + ShoppingTrip t1, t2; + Customer c1; + Shop s1; + + Product p1, p2; + + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() { + s1 = new Shop("Kings Road 2", 10); + s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); + + c1 = new Customer("Ola", "Normann"); + c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); + + p1 = new Product("Produt", 1.0); + p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); + + t1 = new ShoppingTrip(c1, s1, true); + t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); + List trips = new ArrayList(); + trips.add(t1); + c1.setShoppingTrips(trips); + + a1 = new Action("1", 1, p1, t1); + } + + @Test + public void testCreateExpectPresistedObject() { + a1 = new Action( + Long.toString(a1.getTimeStamp()), + a1.getActionType(), + a1.getProduct(), + stdc.retrieve(adc.create(a1)) + ); + + Assert.assertEquals(t1.getID(), a1.getShoppingTrip().getID()); + } + + @Test + public void testRetrieveExpecetPersistedObject() { + a1 = new Action( + Long.toString(a1.getTimeStamp()), + a1.getActionType(), + a1.getProduct(), + stdc.retrieve(adc.create(a1)) + ); + a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); + + Assert.assertEquals(a1.getShoppingTrip().getID(), a2.getShoppingTrip().getID()); + Assert.assertEquals(a1.getTimeStamp(), a2.getTimeStamp()); + } + + @Test + public void testDeleteExpectNull() { + a1 = new Action( + Long.toString(a1.getTimeStamp()), + a1.getActionType(), + a1.getProduct(), + stdc.retrieve(adc.create(a1)) + ); + adc.delete(a1.getShoppingTrip().getID(), a1.getTimeStamp()); + + Assert.assertEquals(null, adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp())); + } + + @Test + public void testUpdateExpectNewlyPresistedObject() { + a1 = new Action( + Long.toString(a1.getTimeStamp()), + a1.getActionType(), + a1.getProduct(), + stdc.retrieve(adc.create(a1)) + ); + a1 = new Action( + Long.toString(a1.getTimeStamp()), + 0, + a1.getProduct(), + a1.getShoppingTrip() + ); + adc.update(a1); + a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); + + Assert.assertEquals(a1.getActionType(), a2.getActionType()); + Assert.assertEquals(a1.getTimeStamp(), a2.getTimeStamp()); + Assert.assertEquals(a1.getShoppingTrip().getID(), a2.getShoppingTrip().getID()); + } + + @Test + public void testRetrieveAllExpectActionListSizeNotZero() { + a1 = new Action( + Long.toString(a1.getTimeStamp()), + a1.getActionType(), + a1.getProduct(), + stdc.retrieve(adc.create(a1)) + ); + a1 = new Action( + Long.toString(a1.getTimeStamp()), + 0, + a1.getProduct(), + a1.getShoppingTrip() + ); + adc.update(a1); + a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); + + int notExpectingSize = 0; + List actualActions = adc.retrieveAll(a1.getShoppingTrip().getID()); + Assert.assertNotEquals(notExpectingSize, actualActions.size()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java new file mode 100644 index 0000000..c6874a6 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java @@ -0,0 +1,135 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +public class CoordinateDatabaseControllerTest { + + CoordinateDatabaseController cdc = new CoordinateDatabaseController(); + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + CustomerDatabaseController customerdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + ProductDatabaseController pdc = new ProductDatabaseController(); + + Coordinate c1, c2, c3; + + ShoppingTrip t1, t2; + Customer customer1; + Shop s1; + + Product p1, p2; + + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() { + s1 = new Shop("Kings Road 2", 10); + s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); + + customer1 = new Customer("Ola", "Normann"); + customer1 = new Customer(customer1.getFirstName(), customer1.getLastName(), customerdc.create(customer1)); + + p1 = new Product("Produt", 1.0); + p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); + + t1 = new ShoppingTrip(customer1, s1, true); + t1 = new ShoppingTrip(stdc.create(t1), customer1, s1, true, false); + List trips = new ArrayList(); + trips.add(t1); + customer1.setShoppingTrips(trips); + + c1 = new Coordinate(1, 1, "1", t1); + } + + @Test + public void testCreateExpectPresistedObject() { + c1 = new Coordinate( + c1.getX(), + c1.getY(), + Long.toString(c1.getTimeStamp()), + stdc.retrieve(cdc.create(c1)) + ); + + Assert.assertEquals(t1.getID(), c1.getShoppingTrip().getID()); + } + + @Test + public void testRetrieveExpecetPersistedObject() { + c1 = new Coordinate( + c1.getX(), + c1.getY(), + Long.toString(c1.getTimeStamp()), + stdc.retrieve(cdc.create(c1)) + ); + + c2 = cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp()); + + Assert.assertEquals(c1.getShoppingTrip().getID(), c2.getShoppingTrip().getID()); + Assert.assertEquals(c1.getTimeStamp(), c2.getTimeStamp()); + } + + @Test + public void testDeleteExpectNull() { + c1 = new Coordinate( + c1.getX(), + c1.getY(), + Long.toString(c1.getTimeStamp()), + stdc.retrieve(cdc.create(c1)) + ); + cdc.delete(c1.getShoppingTrip().getID(), c1.getTimeStamp()); + + Assert.assertEquals(null, cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp())); + } + + @Test + public void testUpdateExpectNewlyPresistedObject() { + c1 = new Coordinate( + c1.getX(), + c1.getY(), + Long.toString(c1.getTimeStamp()), + stdc.retrieve(cdc.create(c1)) + ); + + c1 = new Coordinate( + 0, + 0, + Long.toString(c1.getTimeStamp()), + c1.getShoppingTrip() + ); + cdc.update(c1); + c2 = cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp()); + + Assert.assertEquals(c1.getX(), c2.getX(), 0); + Assert.assertEquals(c1.getY(), c2.getY(), 0); + Assert.assertEquals(c1.getTimeStamp(), c2.getTimeStamp()); + Assert.assertEquals(c1.getShoppingTrip().getID(), c2.getShoppingTrip().getID()); + } + + @Test + public void testRetrieveAllExpectListOfCoordinates() { + List coords = cdc.retrieveAll(1); + Assert.assertEquals(1, coords.size()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java new file mode 100644 index 0000000..97d60a8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java @@ -0,0 +1,145 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class CustomerDatabaseControllerTest { + + Customer c0; + Customer extendedCustomer; + CustomerDatabaseController cdc; + + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() { + c0 = new Customer("Ola", "Normann"); + extendedCustomer = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true); + cdc = new CustomerDatabaseController(); + + } + + @Test + public void testCreateExpectPresistedObject() { + Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); + + + Assert.assertEquals(c0.getFirstName(), c2.getFirstName()); + Assert.assertEquals(c0.getLastName(), c2.getLastName()); + } + + @Test + public void testRetrieveExpectPresistedObject() { + Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); + Customer c3 = (Customer) cdc.retrieve(c2.getID()); + + Assert.assertEquals(c3.getFirstName(), c0.getFirstName()); + Assert.assertEquals(c3.getLastName(), c0.getLastName()); + } + + @Test + public void testUpdateExpectedNewlyPresistedObject() { + Customer c1 = new Customer(c0.getFirstName(), c0.getLastName(), cdc.create(c0)); + c1 = new Customer("Kari", "Hansen", c1.getID()); + cdc.update(c1); + Customer c2 = cdc.retrieve(c1.getID()); + + Assert.assertEquals("Kari", c2.getFirstName()); + Assert.assertEquals("Hansen", c2.getLastName()); + Assert.assertEquals(false, c2.getAnonymous()); + } + + @Test + public void testDeleteExpectNull() { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + + Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); + cdc.delete(c2.getID()); + + Assert.assertEquals(true, cdc.retrieve(c2.getID()).isDeleted()); + } + + @Test + public void testCountCustomerExpectOne() { + new Customer("hans", "nordmann", cdc.create(c0)); + int countCustomer = cdc.countCustomers(); + Assert.assertEquals(1, countCustomer); + } + + @Test + public void testRetrieveAllExpectAllCustomers() { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + + cdc.create(extendedCustomer); + cdc.create(extendedCustomer); + + List customers = cdc.retrieveAll(); + + Assert.assertEquals("Ben", customers.get(0).getFirstName()); + Assert.assertEquals("Ben", customers.get(1).getFirstName()); + } + + @Test + public void testCreateUserWithAllFields() { + Customer c2 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, cdc.create(extendedCustomer), false); + cdc.create(c2); + + Assert.assertEquals(c2.getFirstName(), "Ben"); + Assert.assertEquals(c2.getLastName(), "Len"); + Assert.assertEquals(c2.getAddress(), "NTNU"); + Assert.assertEquals(c2.getZip(), 7047); + Assert.assertEquals(c2.getNumberOfPersonsInHousehold(), 3); + Assert.assertEquals(c2.getGender(), "Unspecified"); + Assert.assertEquals(c2.getAge(), 44); + Assert.assertEquals(c2.getNumberOfPersonsInHousehold(), 3); + Assert.assertEquals(c2.getAnonymous(), true); + Assert.assertEquals(c2.isDeleted(), false); + } + + @Test + public void testRetrieveUserWithAllFields() { + Customer c1 = new Customer("Ben", "Len", "NTNU", 7047, + "Unspecified", 44, 3, true, cdc.create(extendedCustomer), false); + + Customer c2 = cdc.retrieve(c1.getID()); + Assert.assertEquals(c1.getFirstName(), c2.getFirstName()); + Assert.assertEquals(c1.getLastName(), c2.getLastName()); + Assert.assertEquals(c1.getAddress(), c2.getAddress()); + Assert.assertEquals(c1.getAge(), c2.getAge()); + Assert.assertEquals(c1.getNumberOfPersonsInHousehold(), c2.getNumberOfPersonsInHousehold()); + Assert.assertEquals(c1.getGender(), c2.getGender()); + Assert.assertEquals(c1.getAnonymous(), c2.getAnonymous()); + Assert.assertEquals(c1.isDeleted(), c2.isDeleted()); + } + + @Test + public void testDeleteUserExpectAllNullValues() { + cdc.delete(1); + Customer c1 = cdc.retrieve(1); + + Assert.assertEquals("null", c1.getAddress()); + Assert.assertEquals("null", c1.getFirstName()); + Assert.assertEquals(0, c1.getAge()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java new file mode 100644 index 0000000..9e851a4 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java @@ -0,0 +1,76 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; + +public class OnShelfDatabaseControllerTest { + Shop shop, shop2; + Product product, product2; + OnShelfDatabaseController osdc; + + + //Set up a DB for use in the tests + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + + @Before + public void setup() throws IOException { + osdc = new OnShelfDatabaseController(); + + product = new Product(15, "MocProduct", 22); + product2 = new Product(23, "Potato", 555); + + shop = new Shop("Kings Road 2", 7050, 16); + shop.setAmountInShelfs(product.getID(), 7); + shop.setAmountInStorage(product.getID(), 93); + + shop2 = new Shop("Somwhere", 7060, 22); + shop2.setAmountInShelfs(product2.getID(), 66); + shop2.setAmountInStorage(product2.getID(), 44); + } + + + @Test + public void testCreateAndRetrieveExcpectSuccess() { + osdc.create(shop, product.getID()); + Shop retrievedShop = osdc.retrieve(shop, product.getID()); + + Assert.assertEquals(shop.getAmountInShelfs(product.getID()), retrievedShop.getAmountInShelfs(product.getID())); + Assert.assertEquals(shop.getAmountInStorage(product.getID()), retrievedShop.getAmountInStorage(product.getID())); + Assert.assertEquals(shop.getID(), retrievedShop.getID()); + } + + @Test + public void testUpdateExcpectSuccess() { + osdc.create(shop2, product2.getID()); + shop2.setAmountInShelfs(product2.getID(), 10); + shop2.setAmountInStorage(product2.getID(), 90); + osdc.update(shop2, product2.getID()); + Shop retrievedShop = osdc.retrieve(shop2, product2.getID()); + + Assert.assertEquals(shop2.getAmountInShelfs(product2.getID()), retrievedShop.getAmountInShelfs(product2.getID())); + Assert.assertEquals(shop2.getAmountInStorage(product2.getID()), retrievedShop.getAmountInStorage(product2.getID())); + Assert.assertEquals(shop2.getID(), retrievedShop.getID()); + } + + @Test + public void testDeleteExcpectNull() { + osdc.delete(shop.getID(), product.getID()); + Shop retrievedShop = osdc.retrieve(shop, product.getID()); + Assert.assertEquals(null, retrievedShop); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java new file mode 100644 index 0000000..6a0f4c8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java @@ -0,0 +1,70 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; + + +public class ProductDatabaseControllerTest { + + ProductDatabaseController pdc; + Product p1; + Product p2; + Product p3; + + @BeforeClass + public static void setup() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setupProducts() { + pdc = new ProductDatabaseController(); + p1 = new Product("tomatoes", 9.23); + p2 = new Product("beef", 50.5); + p3 = new Product("cucumber", 10.0); + } + + @Test + public void testCreateAndRetrieveExpectCreatedProduct() { + p1 = new Product(pdc.create(p1), "tomatoes", 9.23); + Product storedP1 = (Product) pdc.retrieve(p1.getID()); + Assert.assertEquals(p1.getName(), storedP1.getName()); + Assert.assertEquals(p1.getPrice(), storedP1.getPrice(), 0); + } + + @Test + public void testCreateAndRetrieveExpectCreatedProduct2() { + p2 = new Product(pdc.create(p2), "beef", 50.5); + Product storedP2 = (Product) pdc.retrieve(p2.getID()); + Assert.assertEquals(p2.getName(), storedP2.getName()); + Assert.assertEquals(p2.getPrice(), storedP2.getPrice(), 0); + } + + @Test + public void testCreateAndUpdateExpectUpdatedProduct() { + p2 = new Product(pdc.create(p2), p2.getName(), p2.getPrice()); + p2 = new Product(p2.getID(), p3.getName(), p3.getPrice()); + pdc.update(p2); + Product updatedP2 = (Product) pdc.retrieve(p2.getID()); + + Assert.assertEquals(p2.getID(), updatedP2.getID()); + Assert.assertEquals(p3.getName(), updatedP2.getName()); + Assert.assertEquals(p3.getPrice(), updatedP2.getPrice(), 0); + } + + @Test + public void testDeleteExpectNull() { + p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); + pdc.delete(p1.getID()); + Assert.assertEquals(pdc.retrieve(p1.getID()), null); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java new file mode 100644 index 0000000..3379845 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java @@ -0,0 +1,66 @@ +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; + +public class ShopDatabaseControllerTest { + + Shop shop; + ShopDatabaseController sdc; + + @BeforeClass + public static void createDatabase() throws IOException { + DatabaseWiper viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() throws IOException { + sdc = new ShopDatabaseController(); + shop = new Shop("Kings Road 2", 10); + } + + @Test + public void testCreateExpectPersistedObject() { + Shop newShop = new Shop("Kings Road 2", 10, sdc.create(shop)); + + Assert.assertEquals(shop.getAddress(), newShop.getAddress()); + Assert.assertEquals(shop.getZip(), newShop.getZip()); + } + + @Test + public void testRetrieveExepctedPersistedObject() { + Shop shop3 = new Shop("Kings Road 2", 10, sdc.create(shop)); + Shop newShop = (Shop) sdc.retrieve(shop3.getID()); + + Assert.assertEquals(shop3.getAddress(), newShop.getAddress()); + Assert.assertEquals(shop3.getZip(), newShop.getZip()); + } + + @Test + public void testDeleteExpectedNull() { + Shop shop4 = new Shop("Kings Road 2", 10, sdc.create(shop)); + sdc.delete(shop4.getID()); + + Assert.assertEquals(null, sdc.retrieve(shop4.getID())); + } + + @Test + public void testUpdateExpectNewlyPresistedObject() { + shop = new Shop(shop.getAddress(), shop.getZip(), sdc.create(shop)); + shop = new Shop("Kings Road 3", 11, shop.getID()); + sdc.update(shop); + Shop newShop = sdc.retrieve(shop.getID()); + + Assert.assertEquals("Kings Road 3", newShop.getAddress()); + Assert.assertEquals(11, newShop.getZip()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java new file mode 100644 index 0000000..50a7911 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java @@ -0,0 +1,158 @@ + +package tdt4140.gr1864.app.core.databasecontroller; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +public class ShoppingTripDatabaseControllerTest { + + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + CustomerDatabaseController cdc = new CustomerDatabaseController(); + ShopDatabaseController sdc = new ShopDatabaseController(); + static DatabaseWiper viper = new DatabaseWiper(); + ShoppingTrip t1, t2, t3; + Customer c1, c2, c3; + Shop s1, s2, s3; + + @BeforeClass + public static void createDatabase() throws IOException { + viper = new DatabaseWiper(); + viper.wipe(); + } + + @Before + public void setup() { + s1 = new Shop("Kings Road 2", 10); + s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); + + c1 = new Customer("Ola", "Normann"); + c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); + + c2 = new Customer("Kari", "Hansen"); + c2 = new Customer(c2.getFirstName(), c2.getLastName(), cdc.create(c2)); + + + t1 = new ShoppingTrip(c1, s1, true); + t2 = new ShoppingTrip(c1, s1, true); + t3 = new ShoppingTrip(c2, s1, true); + } + + @Test + public void testCreateExpectPresistedObject() { + t2 = new ShoppingTrip(stdc.create(t1), t1.getCustomer(), t1.getShop(), true, true); + Assert.assertEquals(t1.getCustomer().getID(), t2.getCustomer().getID()); + Assert.assertEquals(t1.getShop().getID(), t2.getShop().getID()); + Assert.assertEquals(true, t2.getAnonymous()); + + } + + @Test + public void testRetrieveExpectPersistedObject() { + t2 = new ShoppingTrip(stdc.create(t1), t1.getCustomer(), t1.getShop(), true, false); + t3 = (ShoppingTrip) stdc.retrieve(t2.getID()); + + Assert.assertEquals(t2.getCustomer().getID(), t3.getCustomer().getID()); + Assert.assertEquals(t2.getShop().getID(), t3.getShop().getID()); + Assert.assertEquals(false, t3.getAnonymous()); + } + + @Test + public void testDeleteExpectNull() { + ShoppingTrip t3 = new ShoppingTrip(c1, s1, true); + t3 = new ShoppingTrip(stdc.create(t3), t3.getCustomer(), t3.getShop(), true, false); + stdc.delete(t3.getID()); + + Assert.assertEquals(null, stdc.retrieve(t3.getID())); + } + + @Test + public void testUpdateExpectNewlyPresistedObject() { + t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); + t1 = new ShoppingTrip(t1.getID(), c2, s1, true, false); + + stdc.update(t1); + t2 = stdc.retrieve(t1.getID()); + + Assert.assertEquals(c2.getID(), t2.getCustomer().getID()); + } + + @Test + public void testRetrieveAllShoppingTripsExpectSizeEqualOne() { + List trips = stdc.retrieveAllShoppingTrips(); + Assert.assertEquals(1, trips.size()); + + } + + @Test + public void testRetrieveAllShoppingTripsExpectCustomerShoppingTrips() { + t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); + t1 = new ShoppingTrip(t1.getID(), c2, s1, true, false); + + stdc.update(t1); + t2 = stdc.retrieve(t1.getID()); + + List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(c2.getID()); + List expectedTrips = Arrays.asList(t1); + + boolean wrongList = true; + + for (ShoppingTrip trip : customerTrips) { + for (ShoppingTrip exTrip : expectedTrips) { + if (trip.getCustomer().getID() == exTrip.getCustomer().getID() && + trip.getCharged() == exTrip.getCharged() && + trip.getID() == exTrip.getID() && + trip.getShop().getID() == exTrip.getShop().getID()) { + wrongList = false; + } + } + } + + Assert.assertEquals(false, wrongList); + } + + @Test + public void testRetrieveAllShoppingTripsExpectAllShoppingTrips() { + t1 = stdc.retrieve(1); + + List expectedTrips = Arrays.asList(t1); + + List trips = stdc.retrieveAllShoppingTrips(); + + boolean wrongList = true; + + for (ShoppingTrip trip : trips) { + for (ShoppingTrip exTrip : expectedTrips) { + if (trip.getCustomer().getID() == exTrip.getCustomer().getID() && + trip.getCharged() == exTrip.getCharged() && + trip.getID() == exTrip.getID() && + trip.getShop().getID() == exTrip.getShop().getID()) { + wrongList = false; + } + } + } + + Assert.assertEquals(false, wrongList); + } + + @Test + public void testRetrieveAllShoppingTripsForCustomerExpectSizeEqualOne() { + t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); + List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(c1.getID()); + + Assert.assertEquals(1, customerTrips.size()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md new file mode 100644 index 0000000..b67a78a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md @@ -0,0 +1 @@ +# Resources for the tests of the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.classpath b/EC-Shop/tdt4140-gr1864/app.ui/.classpath new file mode 100644 index 0000000..6db5cad --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/.classpath @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.project b/EC-Shop/tdt4140-gr1864/app.ui/.project new file mode 100644 index 0000000..7312089 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/.project @@ -0,0 +1,20 @@ + + + tdt4140-gr1864.app.ui + NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + tdt4140-gr1864.app.core + + + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.m2e.core.maven2Builder + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..13b3428 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar b/EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..9a89a7884d22826e79bd36b600f66107b3464884 GIT binary patch literal 1353529 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%0Aixh&!^F#1e z`Q=goH&0M7Ac?Z`hc-;C>F4ALCn&20h;V$I&ueHr|+5QP%*9l+~@UK)U-R0_`(atcs}LhPrmpOdzW z;mVXFWU?zj#uyMI7^?}B(k~{GM9i<)fzJo$9*S!>rTo+`54EDKU4e`An(Rq z`v>pI#-c7ZCmw8BD3nx$DIBG*GWSA5VoAO(D-L?$Xf$afx|g<>JZS@#rrdgs{()Tb zDtPg1I_`a}@{hVH)0WAo*OVLwvo{4XCOLcLO14bmG~S7n_!j26E( zS7PJpyaNk`o+LFp=*Ssa1IoqjrMP$G7iGsxlB(uD)(?lV4L+(Sct=8FR`Wd*%8wBj z#5a_>ZcTd1DIs?|OyXumXHMeEgbn`D%!CbO>Z>S}XSq%fW;PQ4y;>!d_z2Ib$DhjttQpu}BXiXZLPqQ>))yV$%<@|R9 zj}WtJ;%A@TR;t$Um?vHroP`0Ny>~ofSou0E(fWO}Ic$J#F7H!2^lm)9{#t!rfU>u6 zp%*&x8+gZxJ^8pd`aW))eylxk%BJT6W0ib;WT7Xd#;*otF2bzB19psrV{muhI8^d* z0xwSfPj!3ES+yAhs@CKeqSn!vrMUL~UnAI`;c?02Zh<0?i$+WVtQC9G3*00U&)-FJ z%@upreVx=>wP7yMC(eF0%@bp{kq=C_IK z6-(sr=)~Ei{xk;SVYJM*i6mVnIjGD`Z0UFBSUA!1{dnx%OS21F3l|l-2WIvQoavd; zPzWfA$W!E0l$2Cztpz1H1~`B!J$N+Rn>*&tOiZ-S3yo~(L?9(c$S9MUs=h?T!jRz- zQRKJE;m?PFKyH$P;1eCuIkNn_86AdUlqyN6Q`F>IYPI$@TLd7VUMnASfsl~*lwlI6 zRaDvu$+}9l5&YY69j}GPl$2q2s1;PBl$telEw;NGVQxtqkP+gOIlAKd{O~MusRveu z0*LW>f$*tTOhFil2xN?b%l9Z#)HGV^9HugE_+d2MRnR3#C5=^OM;ahW8pY*BP3XQ7 zqWu`4XYP8pp;63HXHKhG5~lu)>wKoi<PR1+QOgZ4Xq*(*<46O*B9Y9F)h!ASOc53o!R@g8!KlrhKSxt$X0q> zW^g>O0jMH6PaN9tg(mIuiT1b<|1<(>hoR@UdatT*VQxvMnDD)!a(2^Np___Le4L_C zmGnABsMuqpS4cEsei@8Xo@)EW!0bb1ZLi;q9TcKIIF)pvkpT0U5gA8ue{ZBJgeO8D zt#)ctqRBhFcwjzdSwi9Ln)VsMKdIU_E0zc$fr*`1b@W)03C3n^oY_8?TSmrh+|1N| zRu_&8vtIWiQH&F09C(8l9%i2lD@=)gWvFmkRn7=>iw7EAZypIaNaO5g_Jr~%#mrsT zSB5nibs_9zb6BrD&e15vJTo)vH!M_jtmS_;StJn%^mKYM2goB(fXjWne zqD*s&ZCuTXxOie#CCp3$WZpV38$w(!K);J+nPH>VnYLs~D*!SNwZ?&j-`>#*-kE1m z#k}un=Df>_^+TglRTUPl>WuVB&GUb;1FrSya;Lnp|TaaskUdN1{`fu0&Z`+eMA zou)7w*ou#&uvb0Qw4|w9$+fb5;X=r(`7L1VyKS|X& z%Jy11T26{-mA3qm!ZD@B!og1i0XBXz+}3XBVUBnTdY@Z(=z%MhMfQ8>%=e;1eOl!c zJ_e5Sv<1x0k_tz8ee}wgTIQ*osK}9#i^YueHO#geCqsOgQhg3(8rl4HK}tdv9r(5= zXsDl=J{QF99E(3uixcpfm6Er)ojE!Mq0!*OX&Apq&S2Kkl%G!AQ;osd!etLfsfR$F z_!lt~9$}<{@88D(cE54+3Q{yu#;}DE6r>~6!~^8y{4&pRYaeNoUh9%hd&GJ=9x0NB%IYFD-2bOr^#rmolInK7MFxBs8I! z9&@ZrSZdoRkl-ZW)z}l@f7+6n#rY=Xm4(%z-r8!ur^;drFhEW_6(br))vtB-nJ_}{ zThi0+%|c5Re3iKlAv1mlbPdTL3!qE^82L-LPFPSs7A^`yqe+vMnI+?9tb1vp$(Q7S z_1m75KuLS%hyJlcQDSCaDvP8Ii$ZdmVhEG+WJpL`w_;M)CjYStETifVEx zT0HSpRNXZ&qSQnj))w`gsoLf)>G^$s4!^DJh-lK2bZng<<_9Ewp)uziPRa!2V~H4o zpOxf871BEFKpfv`%q$n;w;B)8Bc3S)0`P>%v>5Yvm8SHIqC^Q$PzFYJ-SGt(kyVdSmaCP@ ztk9WeG$ihVI)LLe-n}^bavu*Hq@Z5&u96K8Mpumdwb3WYI|md|yjC;yla~&HCJ9=~ z*5<3yh$OWEvaC04x0o176nK+c5-P_$CVg$38e7~KtdBoAncNgGH4!RJrIUH1kx_Yb zc0!3?8$6X(2#8Pd-4!LvSIOTv2RlqQ<)P~$OHjD^@Fe6~l_kh4RV&l0Q4 zKcphxvhYVIiKN)hIsDfoIhGHH=w}&)sQZmU0uPMWQAflK`PSgWrFpCT?;(u-uQ*Or z!xRe$xHhh$V>-2&a`mn9!j2KHCJa;W(dpF7wDrvgax*}ZvUz;LH~E&az{t4r-!AVz zJ<(C36*C!2vluQ8V{lH|EKM2w^F1t%>7xA?y5_a|lR)?$xKNxFnifE*&Sh%E8=he! z-2sQeMV2?wl3c`RvHw6pIo8+owz7Enk#vcsMi?T1?0-x;|Gi1FF@jd7ICZ?KDGMC) zd4jhDaxfV|(_)KKSuQIR6Eb+eYG!6XW80bSUSf(T!`gFH%+gEdzlZF45->U?>OlO z4Q*fbT0liLctHP;q<`?afM>*+FmuXtV&2eAnoS7{m2THOB+9Ym@DrZl=KClyl z^IlqCo}y@)Ts!XM482}fe@@=&8)u!cG16qQC#wAsyjfA7PSzSY)BKZZL5yBny|ij4 z@m?DIyGqH?9={pLW8Ad9d0{Rxti5Md<)rF{K(&`Fbv;Ru^U>Sc8 zR{MkeYi`x+!rRer_bqeN&#N#nJ{m1Q+<)(n#25c~)zTn7co)VIPl45%p*l@a&e8K6FOlf$NGrOyio;> z6MFHet2W7q&;!IKHto3;tL3~g!aKhyZN2IY8Am3&1%rCBmr)pvqVcwnx3M3|`{^9X zJkzRfGT;H9HcXrsJZFl%Ai|+sK(yFFx+A+3%(8JCR&M=pY4da)snZjdN8E3-J2CC3 z1oTh_#L~-9Pam5412XNXBtyqk>fn0cx1WvYztwEgIY|zV&dlq1qoo5^ zkbBILY@UmhFo>c3j+xryRr3c>dpFq1U%9G@r1FQU9PN?Tr^ug1nT>H#2>r04?#l0E z7SyWo^^U2ersrIt#c{6(=O17UPXMX8;{p;#dVTwD0(lwfaKOt%V?VYj?w+}oFL|&| zC?3*DodT73EFY1ojw&`=Fuq`;K~9j$LBzaH!1UZs$kyuV{0^;EEm=}bP;%5U=n>2N z#6DFki!6FDC`vMcas(-wR8gyR98qk+Zf;jmRL-nmT$w2*F+r)e+VPZ#P&ax@RAn4P zdr2ahM0VlOLcMs@J#(60;E7#6Iv%>sQ4;Bc=;AF&DAdMi@4N1qK-O%Q*$f3G@C&~2EA^V+{b{6UM@&Rz$1`+MTq41r7w2nZkq*JT9PSNPNlN+#% z%TIw@b#{O^T7x}1paY{5WxGdq=@13HtwY3S@vzYdYkBmX+0CD(c@)#hExtoNxw(cG z4eIjrK_Iy~&IWcSWm^QJCG%*}$EJ@i6Y^}`d9`eu6Ra&hu3e7KjWu$U8)#FKVUu+B zeLOec6h?TPN9h6YYJ=Zo}(Wt?4nF`D4zE2dj;Kzw%8eK3CFuPdHV9k<(EG`eh_w&&VS{#`lR z?D*Q`DH?x$cE|nTdFNI3{F@keEZVUv*0CX>?fxf%a|5`06H3ljxMECv*GkqMN$yu= z*q5Pehw_)^xV;KA?S0{;G3xh!PvpZn7LFIZ1b!FUdNaS11j&aXJs7AQx!CLY07heY za@P&^7=z%zP*d}rO=@#ekVn9<3rISqnuI+-d$4=&zwIa@8Foh)rs$5-)x_8E797Tf z{)&m`cdPcB=x_He4m#PG-Q4L0q`uN-?CdOPX2Za=0~Ajt?hG}UB(ub@wh3#a9MX=z z_S^Vd2!{bZU#UNnSu4`q3*$bBm?$sD_dd-Q-{ZnAwfw7VSpw{B#_^As(NJkXS;tBX zDL5xAnl2ycYHBA32iQt5|52$E6Nk9-vjwU4-f{VO-|DcE(u}!{Y{7_)E3Jm|wQt(z zg{aZPgj(jZeql$F$uk#fCp}xCW!V=qH*pV8Cb7lBIUDy13If^vyzeFUmgfX&G|5*7zu#Q*}kk)q9zY{&F`bK-Gr{7Rs>uTCeB z;)ni(%-7|4Ho1MpB$+lD3wboVf?JwE>Y_p&XS1*e^0xl#Au25G&)f`25obvth2vK4 z(rXIUZw1Qj=@8h7Y{$VSj*?|T<7~cQP>$|@Y_QQoFx&^w&Wa~&W(R*GKUui8{cWMo zQBAgL_?w52JBJ;4!2+5nIH}(XpdB zDe~8!hIb#8=k`yTd!J9fSwG3yjMM1gHcG|m|BehfdE(F=E&@*1!ef$iz)N$!V(WYG z2F?uUz$4i|H*j{$AE}8~bx-sQx8Ho@il!&=Ri>PHqTB%K#X_W?L~TvGn{&4a&;uXZ z3#(rrwig*#T?jQau_Fpvk+UEgoN34ANK`R(*I$d62obR`0`d}`(Sv_Y#zkLYXhWjl zX^?J%gb~WcU-XC04`r8GLhUr}j zH;Z7>?x%HB6C#Kyl;;PM{Yqn7^-LQQdn8!G7*VN^_i8gHr^qw24?4@rj{Tsc;Wb`E zK#|%JYL9>->kvOLAHCiSH;AG3GX$EE`k;ZP08F^Vh3V}gp*N$y*)TqvfA^2ATr&_; zc{qW^Kwg!_Pa}}IYwA9eLRj1*GEYMtK3aMAeY?nDi%9CpG3lov9Kz7*bogRgh++85 z{k)kNoe#8H6IEFRRQa+9az|40fl@c=#Gf~6s(hN)7nu1KC+-00xN9%z=Eg&{vL z07HfpS)|jJpyE<1fjVo@HRkE9VbtMK(Ae9I1*Dl?J@I@;RxmN|piY$KwQ$Y@g_his zX8BqD5_NVYY}+Cp#6z1j@~8AR_gpeemSO`9Q{PiJ@I1Smp}TODPu)xnoUi)wi4C>X zE`BJonY-eX=4oPFd8CN^ubEj3UVXiPe^JEq{aIU^;>nU*M?1`-z%=4sjW_Y7|9E7* z9fTg^>8)s*Zq!sX^BlvGi@Hgss)kBKhoio*PHk;hYQ($Y#HMi}S_A;Lk&*P-qM1-x zmFB|>>+^{x#n>H6673kJqNyr6IFw!MlH>efp=z}xtCp7g zfdhj#6-LLAO_@D2+ZkDgvMg;xeNrCCMOScJ)~fj$rtv($v8O)q&;pIKO1dbU@e!|A zzG?fFi2t{hi$i_;)=b@X$S@+?UZ{=zT)aYDk?zi*-iUl^+Y?VkJu@NKduZ>=O<1QJ zo}Amud+*dWt~=Brh|_ov*QJKdNn?f?fL&F0QlBj2w25GC&|Pv)Yuj>MJ@kT=^8#Ca zB!GK2#&7Ei*P!$yoc>AIg!I@4v&_BRkd1}&utpeJoKDc5#K0vhfN@Qg(tBmB_-s28 zJmJ*aj2^aTW=5qCU3Ux#Qf&U<>aI%DXHbT;58>qQFe8gw6mFY?8R3h17_UUyIld7S|XnQ&+ss0+sbs^oC z_uo13zoJbngB~iv6F54y*Bc@VID05-?n4gozu%2V@_O;9z7#D zm%Z5-6_;M0l6*nkdlbELkAGxYdr#AMAE#~KPh7tqJp(j}d(j%9=3=2zz94*PTkNq0 z@6sA3Q@%hr7ryBj-?gS$%Wqq*s62KiX%}}br@#I@ndROi|Ftu8v!bgx=qt!OV3*=B@P@crtlF3^edpXgB!Eh-YXw@pBP_ClD#b1vHFW&jjxvRm7}; zd|qJdS^6`5JpA$h?fkBT1~voY4~8K%1NY8@)>eTXC5Cepxcju3y9M-B&BEWltDz{Cd4o(DHkUM!Pkg0m+UyuuCinS z2`&0tAEcezE;ZINSlpU!HL5K2A~1hV4?;lEnLi4(h+vUPY3hL`#didK4w5ley~-2J zgc?yP*Aw=@PE7y*0KUoouVX;h++U1=DXE4=&W6`6{W08h z$$;V^#P=lyWOQX-v8;TY1HUz(FMMNbP)Yjg`R%0`L<45$vFdNZ)dY;?%?R!RCo0Gg zdnC;Wz99_Yj2U7sz@G|6^&k`=`U-pe-aj9y!@iJ}o2&PTC)w%e8IY zh7Rs3vd5JU__e5>VlU+orj8r&cu;t8!*$b+3GUU=rj8$JUS1B|coeE7`dd3@{cUtk zkds;47okmQ>yo8tAY+0`Dn><3-EyrcLwwvY^FLXtl&*nq>)&40SG#Af>5Y3%&JEx^ zQ#<`GLhYPmfD^C5;;;RumJHn&Rbxjjy&0*Pk9+WpPd#!0X8fY%n`|(?3}AlWN2o%) zq9N$e5yVld6^x0cafH zQ&NQI*S6s~uMhMWr2o!xP8SU1870gEouYbfPzPgvaDvdMa6- z^fukn9>)|lH0d{XO;{d$7;ao}qaZO2ld^uVzwRqHE@He{%DshKgSucYAaH2?-LKibE$KGjJiq?+P80Wq0sT3M{$}~mC%${c zUQc@ek@X2@p2s>Tgv$rdK*JQYhcWw-)`!drc{uIQ#)6rs>VxPdgNpbmx`7rT^YC4h zO@OYGpUW1lprysh)XYzq+mFl&i%BCenCM*HlKmM5SrOij|Ahmlj;gL6P!d-A{pQ3t z+^i8Vvp1U3hr+Ak`xxbm*3=S?{En*d%l@4?j}LqofI5)z#IRzr$vRWNz2&HxZ zpU7t$9_S1aMY9%>5aI!rb3r_ZYE4H3t_0?MF`o}Q7Pv3;FC#dgtSTW`0zy^pkQjg+ zj=CUuERaQ?I}TDws|WO~;Fj1`>7cFbC)D!-LT_jFX>X?k`f6u$jEAf*GkB24HLC43 zb?nAFha<}Qte`dDvo}QBb7br$XEcP%^#;PvooG51nRg1GYx-W84R9PAl9^G^*}gg! zip@Gl8k<>&=e`0>{Ka+s4ln@nGqL;EzEJz+j<}l=D#nkL*OQAC2JAW zXNPrzFggIdK9pm(v zH&>kKOd0*yae^m@?gM1f@i$rmWLGrX)}U^M*!)RvjTFrpr3wdE>N)iCQDxTAhfbF8 z0ta4@5&GY6keIpST+7I(Z%N99;z%uFGp6iRXJAZ$lx$WeFZsr#^eXu?5I-{zV;yu4 z)~9KC^sTxO8M1Uq^C zCAsik*p153mw9OK&Gpuqm(sBVsfG+uB^7DsGld1B54+DSn&mB}mz^ic>onklNq_1s zG9Ivk)f&mcrlDYAKxHIDZv>^$FNwwn(;C~6U+J)IK&2U9gG`=Bd53_h4Cc9z%0k4O z#^?mCB1(iIJfVmhDetTy7A45Gw7N?>$2Vz^cGtH&&m}EIRd_Uj8psRK5i_`?3v%j# zdIFme*sRiv=7;vcTB;%4aeN}m7|-&BOtF(-hCjYQ6Wi%$!!E7jC&Y~UlJA2UVX|9M zRfH9<$ts@5uiPd>4vMA|odJ>m+y5&PxAZplufQ9B2*2K1wh_exEHX6oP*(U7E4=nH zycu<>$Bu>wD2(FXsB2YzHfj|q=Ncd@om_qwXp^0kjS<~6SxacIRH3&n%p$LHQO~6R zlwjpn+fU_{lavD3W_)(wAY~zizquw$)^= zdeah0yEAHoTd!q!zB8g!opU|Q7stdl&RZ!4b5nqXrl0zB!PYJ~g_=UMjx(K#=3Qs}X*cjI31=`Zvbhr{eFphdAqA6cAIsxIsz*z%lz*8oc#`P9+ zf!Ci#Y7-~pDZL4=o#6oj6EeFd=qBjLzF=oy#Nx(*FcD8wqUL^4i-33c-TfC=+6z{q z?*KS6&g{5L&mq0Dng;zLt)zM|29o=Q-IB0fZ{>n=3GaZkB|5z)$MMW7)0(Dv&i zX;WN&vD`K2`{ld!O)?b%kRwo?H=8PGSI22PKWjg26GE`vk{NTc=w%r#37x-O8zmp8 zGbk9l#-V1-+!aye8xd*DWA3>|N34;gA4YNRzD!|>CY0|@YR(&Rv7q}_d zf~)i*O~@c1h(O7oQNa6ToKX;UU}JZv5qTG66ku_{kR3OsYp(VH3a-1f_Zo7optMl3 zJR#z1wv6|zo5=3FxCKXd_-qYQDBVY#-?yz9<4#R(`b=4PTEttECl>)9s&- zoFbt#Qo21Y_ry@&x;P`M`@3E8)>d+UVuDNisW_IW?r~7!9IV; z?&5svwk&?ZH4lNVY+sme9Da?$*llRtnbFXpBzgix@2zh1IoLWVhN+QW2`t%DcKZz9 zQMOK9AKH21ikw9oI({(A9(CXH5F{0c7;UK<-Fh2PG=~!K@L^4ZLcrn@vE1YD!SER-5e$bzuF}ozuYFdyh@CVegKUpZ|J`!RnHMsFBrHc zE=5<*zSZ+K=6YfSD_MaW?Xp41^~NKM5{8-@@F7F4@A7U$$zgo}YPz8afXhur?d7i= z!XYMt`9&WY;&ECqLJ4O^`PRxm6WCA*?7#f6C&L{c7HkVi>yWo8HK&kO@b}WA?E`q>4J#^E-0#(7AUv*kttf5ko0mP#KVL6*X>3Ac40AtY++G{ zEg3B@89;r8JF!NRCA~g^Yi}*H?Z*Xc2AnA=YttyAxSA00A;fglf$CBb+fC&IhbHD6U=up;Q6KqX|vb?ba9Lo35hDB&50ZqP3!T0t*G`$V}Rpseut5rnD zKmS;s6Q0gQguO!@5guDy@5BTs{^<_F}X(n1SG#o-@tUEckMOz$bP7>jWp+jni+?F zz$`^?kG|cvtD|%WOCLYiA$ap@j=I#uzsNYFY!6oL!PcmBrC;t^UjSbjYfW1@tg2NrfJ<5L}^u+kX-Hpm#?mxJJLJu-6YpJEm?;tnqF+ z$usAg{0zYb27P|>{Y3`&NtHVP4k&z1&QP!Zad?cuDT6=v5CKCqb0gx|5%!HI3#=-9SxcbtxG+qR7p+qP{d9dweO+;=@wHB)cRQ}0yG zr+vvnTyXavNq-Wqj}ic5Y=iqOs01E7gF^DUyhd=4u_M$T$lOSr!PlpK zw!>x_zxMlZ@rB~XxIR+a7kmS&KGVC-{|07zuC_g?O^8Z&irEdRof*!qGJ583La#M% z)4Y2;*Dxj~OiU*V<}lW$I;r8n+C8li%epM^BG7k=BzYVW7)NRrF1#Bu7OI$tG4X`F z7b_7qK!gG2N+4Wtot}OB_ciVD70#@5a0osXn zC&K{Uakyrm32ZZ|Upr6O&Z(S*z)Ytw7GXp*q9_EPbHjnmw@+sB!$z;1?RE_r_u(o|2gxPHE2V2HRM*W)1#wZ`)Yb)7o_vXoiTVy zLw5}l&vi%B5OzXWcLDNO6gk>cr{FCVDRkFpmUIC!e*q^5k&7AY!RZdT62Zx z*@U}h_YLzbX31-u4B;xcI0vbLe_Wl20WTfxE(UfMZNVNf3K$18jh(WwVeRamB?^*# zB>0O8Y5y~EI9V8fRjdTU*M5PdJh&`Y-9r0mxfE%3W2TM&`=Olj47Z&(}P2qf9OXp=O~xf+M;ljrkDvJ&(I_{sK!I) z_EOtB1L!54edzBYAhN~jNPoVG!|$!AYH}6?0;>owJ7D>*_dBf8#?C>z$4pd%@QA5l zo0zXOe`)4>NTPf)yAW{qmahSH$DG8x)It zQqWX40GdS!BJ$y~+2qh65{$REV~n~1S?Ai6`u!VPF7*GiR1~7bP2yt%% zFP$sK)U*+cul-@%{r#TsW!R%dzkBW7(v%{pB zIctebx2|K&7Eqj>gr7O74Oc`+CK-7bSovN z&7L>fvU;sCr4{$ZhY3cn2mQNnqY`OW?J|XcjF6WR-%Vwu`+QsMgHA>n5rXrpv@>r{; zSJse-PYlsL`qp#H1}=o$YfCM(bIlDq?ZR^W9y+1Zx+O8}$P|UeCgQC^9BIrV;5#}z zRq?i1gurC}ucq^s6t;|+;u=Tg*!^4fvTO7T`IDRYX|zJkQZG1Mt<36lOug0>F<^+< zlKG2maYt?bRP~$HmR@0ztQ&_FKWNM~URfa<_9Xi*rD#op!!-iGEZeAynck;?lEe~1 zb?`kuwY`g1tJso)?dFJFNF*d+DC0Nu(@$f?3LE!8dKRiSY~IbX}@ zLNl%b4M*OP@NkR#_j!cst*}FK4l4xD$nz2i7MdCUGMmGOd!=8h^?}P^jSHS+&kF95 z`qox+ykf!YH|+spGiCMuB~^f?#MpGSD- z*i&0usTWUeJSk`VJ&Ko>&SgFW=*?%Y*0-L#d-+RE6$l-3f|`qq7^&;JPpmW5{I=D~ z0_pJPC&>tQ+{zc1rZrO7&Zg~M1@oeY9znCWQ>^a}Do&B>_;$rkD%sl>tPAER{kUmnu7YaZAzi&Jt%TUo)q+INkge!G^l(t;B(TVk2HJXwsDQsXL%3Yn6Uh9W!@h7TP}qX zcfg&A`VmHX<<`L&7wIr$H?vaFKELcEAmyw{|D);cILWc{Neimy`=6~gR=8rerJ5r) z#1JYlP((*;>K&5meC^puG3F#dGA-_*Zd;K!HJkPFoY-Dz)WXKG^=!(S7nteLUG`LV zl}6}OQ{Njpnpzcv_axBYOsIFZOY8EXoRtUSE)uD9d;Wa6pGyo5Math)YmJgU1H*$7 zvPS_E7B#r;7kstk!&4L!IZX59hM3dl0tpRF(cp!PvafuqO-L4aWngBMX18oR%2Q-cnBxS`d%&f6r$np{f*l@0a4?6w=@O}3fo!Wulygz>AIS}*xR^Nw4( zmL`$-v`J%?4Lg9HeR&*lf8QVnNEpq(AZ{6VftzA#>eQY#GDM_gSnO|mXeu9;*~Q=1+GZSBs@ z+_d|a3s}-_qHP!rr>}whrj70I~zRx)KNivRS8@H6yCqt>*+;E zSKA&k3&gO;cmqFjg^nN@&dQ~r`PA;jse86g)5XNolu3HSfbaOpxGs0X2%vUjI?#!+&70@azS zzHG^!`MCnD5oq$KWU@T;b z>Azb@95$P$RcQDdAoM&b4Of6zztC04l&YH_p2s#{3^BQ@&s(Ld|mpvATI<0K0zQ2gLJViLX)m-;ym@VSt8){bdAH#6{LK{hc@A7rbM9(R9hcIJT zhl!Yv(|+$@Wns?ZFFr#%uaVTs{&_Or4M9y#gpU0U617L_Y)!_V{B%?lw#TJ>M3#?U zVi7b1;2ePN+^4bwbLLaDDeV1SO9HW&Lg9zr0#j5DzGq{I_pT@npZw+0L7_SOJ0o$B zPQkrEJ6t&$udOsC4L%p$q49wJTnK{6P<3n}u-)6NPpydZn11vrI9md#UrD`=EG3c5 zgarV59DI+3_dEP>K${{zyTHvn1#66!7Y+|oa59l(@>p*&DroX`P>0aulc@i4`PHaH z*=T21r64zC;UH!;Bd$B`R2uw|#lb89C0BH^5n_@ECY@}Mme1gri<5)i$pR3vbmDB} zu44wlL<2GTa61A%DS-0erGso-60ByQ##I0(^${f(6*b|E+$hxxMD~^IeTQRW=pSx7 zn7r(#DUz1Oik$6$_U@7cX9$^ z@-k==HLM(;@c|aZ$wsI|Y_b_@5~$QWDLJYmKKTSSxk1$o3Y37GNOm4!OV5q-z+PV4Cb1f^tV@S3wIcW=e4EACUdK@_D1&tKy8(*9wDAQqCw53}&$IuXnn}s*n7vaHk zoK{9UN)P|{4c6#-APq1`gmf@Vh!~k+`p7&OSdG8Q^bDjAFTDjsBkl}x_K z1zg6AOuwiawoX17G`@wqH%AFpbUou+r*b;g{4(UKm}!c{FBQM+vPnd1C)hte$wz{m zU{z}M5%4;KxOfKarV^lm=pgJWSnC4*9fWF-iUhqY`n64v0U*a^c1`@=wgcp?TX zz@dR1QU3AGgd3#c47_d+g?6a$5$9H5)o;Xs8^2T^gy+oFGvNA$Vr-v^H(Ga9_$Nb7 zA3v`&Q;sp0dyec7oDGPc37LEN(w?a+sGgy%dvbQjmJRCfI_q2PPN>>OJoiApNRBl- z;81t(#-%vWc)Yi>L!nx4A4#_PWwdC|I1ws0ZF-=zB>H6%t@osaZq<4{ zoIz&hKzc#^W&9DnJ4NX>niYIUD)BB`CG4iS_(ibcK>UpJos@0Q{0!}#I6KmNUiC$_ z1LaS#?Mv+=v`?a*Nt~V`t+N?@{=&z1_+l*gB(sxz4QuRXDoSRWYEaovccd40~IJVaVtKQD|nZzge zsH`XNuZw^GRZ^r0dDc1LzkQ=5`)^Yc#{c7##NO7y@TaAdy`7S!o%z48#s7qOla+Pt z7Z}m_>=tGqmXkp?{1o$kth<;HZnIzIqYEdFhftn(W@fOHG}BOI5BGq=fD0MjPR0u9 zm}6ydlaC8uUSvAO-0-#de!h9a?^0nym?%&YNAieP?c3o$|13Lp$R)x-`1n$I73?F! zc@CLX{D1D?wr|H>P&#W{u^z7@C3_uB2u_f4gf|~a3#^;DUr)+e6Wj{R#m%BBwHaSe zggN-nXExIZE-88UG4A{>{^|G%#?~m8kV2K&x1FqXs@6N8Fx$Z7 z#I!WBD0&|Drq|v^8^WcJf8TraAn}MbA4A2;fvl+PFjjZEXw-n?z~%7#3#y;x7_%3j zAl&i?#e5SV2rQm2p$F?6_!`$%w|GK6&$1P*^CP|DuXNf>UNmh0phLD`C?>-~{_?bIQ9?Lk}ws26lI{t&QptB!>2YM|xg zRHMdXp=vm#$%F2YM7tsmW}R|+YL+*68a6NDpJj%~9H#a6vu_hIJ^~M!pagL=In=bJtKc{cpMWl*n>bJK*6DRF}2juIgmp|2vuQ=3n)Xk*{2iQe!7y>Dkryo z)#H9In8V?L3vy$OplXl^r@NaOZ_n%c>;1!m`8T9pb%nuZYN<9oQLrgyJI=PVT?}C= zJn@d^som#6T1=;M)v5q>3PH|e$%??53>lB_mSp-OKNs1CLq+%^Op^G`R_{|r5I4Lb zJ1av1466Z>^&FY-BKHYMMh%O*iANL6m9Esn_GuQ&}Aw7 zx{NagMzDKpDqA@omHngp-Ra2 zl^tuH9L@uw3=2;Nl?`3;jr)`mJ<(KPg-1s@dAq?MOYLOn{g_IgKiIdVU~X0K_pvH| zh|ofc?Sin)=g4r=AB*|p6pL`pYO`aJ1X+Cu)!APOO_89q9qRADZu;Jbq0qJywEU#a z!?XNqIfc!gu0vE8{bZQ;G|00>v!QWL>T*K2@;BaT{@nEP_iIJH(nX$4d*7$QpEweo z1ZFW{e@=nEf1v5SgXs^7A=)3;skQ><2uc-b#OZX#f%FGb>^YD%M$x1!1xCv>KL4g2 zh7AfS*jItU{=X}*|H!-lOWK)M(SQxFP!|4^cA#HrXNWG5C>8ln+IiZREY|EhWB-LE zMGpH1X$*=L@Nb(2%@{9A30+;`IKkB?(D(g#dWG{VwLps#EDoc+#;Et7;=MjnnA+nP zX2*W*=onD24=?B0SE~HcE?!#0v2R$kRe~+=eripo|N3*4bxhaj>UBQ$Hx~Ewep6(8 zypq2w&)$!q&Sw0;B^9u~y7~KJ3;7Xml4&S?N*IODGOy08rw#`RI*ay(}E882}dg5QxVzs z>{gVupF^+D6_d6Y?I$p@3`U`zMt=l4I+ulm^)yrPacPpHEYUO{(G|d55Jf{Jh-4p> zyf45sy6#ZQ-To&xj+0_pmDT3}^B-Ob80bewM%iTP(jtsx(gJ;kB(T1N3FulPUQ_=@o&!e-Qob{n2KhXWMNKM{AAeuwi< z#IX^F-jn{njky1yw#h30;ACi7Q_YSt--Y0g)+M2e;IMZxd89a9FA z8*$d;R6qZ%Kz=`aq2R_Ce+6no{D#znbgo8Y`|cd?Pf!CmR}ijEwzv^KFzdG3(Dm>5 zhj)yz;_&Sbmypfu!i6+uztbjuc#QjaTk#lQhx%_RCQ?0b{TKt(;JP?FW@_-%I1lKC zbSG!IGBK-+!(9%nnGn8vAIZD7>E5uIa9dGgercr;5tF%#G0($wnbCAT`uW^Og_%qwwAbByNc;Kv$OalzZ}1;b z?SARRTo(4#JFrTEA-;-aK|KoPZhqCElXyZXODYTZ#HzF7jm^<`1a54 zgs$KJY!~B;$xnHSUv_c>m*7Cx7QLxHOXu%Yek_?2<5n8tr-XB3lcy*!8X63Upwgjc zS}4AMF$ms@V+-bW3HV8Qk}g#HqT&Lo5=3&J`X7|#=odGsWjl?1c;euKSB{zd8Oy$# z0ir)Uw}!d5W_Wc~)yhv5ER*wd{fQ|RwD1VOM%$s`VW>K>2NIE}Gu>o=p#mMA?^cMqF2!0RjB|qxfW%u15CGmHbo867a&F}6N zpO4>1-+J*(jM^eS;ve$8P>HQ zTE1b^xs@4{sW~~5Sbz1IH@m<|x?%pc+@wAa4DwgCRW3YJ)ox9bo(tGh)f6493)}eK z>?9(DGcDB?sR;Azp#OuSl`_SwmQqx$;%uqPQUiU-F^yyoL`*cw@t`e8&CV+f1||^~ z-%-LbZ9fjO%OqD(8F8b4)}H36g>nRqIu<(aXNxVTrL>do06MZg8go~Z)#>8Xpkyg3 zAwlN3ec1g%2&=7?T6ArS3@PBA;w~!Q(vCclx)Rh=?i@K?naOtQzBOA;jx>|zSW12| z%5U4a^mZoe{v!S2uXVVu*#mW?Q!tfFir$rg4Bgtha|MvIDNXUKLlm|AhC(bnfv6N{ zzfV}qP84^hTIA89@wuqBFze+V{Tt@YY$#5c+wB7=a;qaG8_0=6PFuDJAb=H=|5A{1 zHP&0q;LFq14H8-)K=C}DAWtyVzZQI4Am(|GxF&W@61ztma}bsy&BSgbQG3@W3AMY{W^4%R9RVb=%K0f~Gf-Q4AINhy$p z{T#5mgb)Gl9H-Ysok({l#HQ$+lYcQkAVm>b7eseFU{b?{+k`kzXJmhgM7baG{FBz$ z-()h{za9&+|N2<`pI_Mge`iPkQOI~AMf6`GEn=CD}j()gE<>2$GQZ zgE(#jlcTOT!xZ3_io3q$#y;y&1P|LKxo5)B&0X#@=1A25j%`bFh~U>@Yvl z18$1@JiT)BcZ&NgUqFO=R&J5lG0mL0OZEtC<4jdPlfe9Z%})n#f4l>P36A`F<+0wP zLjNEEa-HrV0Q&0&6h1?&987ziGo>JhC=qXt`f3EOe#K?5XO&Mm?vKWl zaW{PEx8yfmyys!Wn@B%KR738F1O+22(?VYjnb;F6N(E4^lCF(lH@%xxwl&H~s|jcR zYU48~gHwgk_%daanMNYFYg9un*VKpY_?=^BVbDvKwyqDdKJFrtwO#{N+NMsEwi$)y zNQbtO-eU%HwBwL$qadc!$Fz|iCgw)o>^BVGI3#us$iJhDm{@K zrzujEH+re5V_zlY94o(%9D4{mWZB9H?^!z+G21ARoL#HuA@<;WhMYZop-NiY6(^A4 zig9)KcxrO>tO(u+PT0Io3-_c#8CBcXq26LYKBHQC1v`6T7jx8mPJSs{7Xo|Bmf>PeFMC}}0v)sqM zqYLTICZ9&%F|=^Y;FQmrnT23?%x??JkE{;qzYB5==hM+K;6gls zKY?|A*g|9RD~zVSjapWRu4a$wOIEw6lI93PH!5x0CbvW8U{>c~YMSYAHgQLZork4A zZ`<%(L_=KIoEe(Z*);P0oom=_hupe8XuI!f*Ap1YlfDa**(SX?HN;oN`pmpIG~}(* zmFw0Irt=Me)W9wRFegkg{LAvTGg%`)!uS~ zfvA5Ya&qxry03V9s~D%dsGz}7CpIAKuY=9yKz8;Fw9d|v0|=?1S(~apMI=WDDQWAf z>voo~Z_<(I#1bdf-b5QL4?w5*{jn*?ZW!3YwGpmsY2U226$H)5+P;$8w>6ncpT3$- z$u{*TPhC+pV@*{p8vzAhL)#2zB%+^(?P)BW+Ct0o0N3RS46;3Q@U(2|-#*1Zq1QLB zvtjEZ!KK^1@6`2AhhDJK$u_l>v+q5*OGa^3&RigXPr|yHpl(ycb8hA+<9?E{c4+m? z?voQhnBz?9hC3kP;0c_jJP#OBJT@abv{^fUWN>1)wSM};-8D6_g)iR|?!vjXZJ-IE z_@umZ$%#iE!eiqycWa90qaQj!u<&b&+0EvTM~Sm7Pi!+{SqK67h!)Bv;_niu_|; zLK?S5M(W3}^qG_V6ioUmZLd$WR02aCuW*QR@jM&!17z2TaIc>UKqRSz6GofJ)<*Bj ziJr|9d$)uFIs7thU3luJrC)A*Pk(3BYeCYwE=%gV7u&!DwZMI&yfVG;krZ7Qy6F#A zinO=Y)G^~dSI9!sf!$`EFcs_9_mG8`GO;@wLmH+_-glZdSKZTo*2N1OmwTV0hUC%s zup3^Iqj0D_SB2Sj_E1-ES|!zWXakn`PCCqd%4j~C=CfBs{_dIFA3mw`Co#H}z>9a* z=AS(~?U7u?Ip(CX**| zT;a!35MVs+wV12WyUiLr)7k85CuYaQPSlW^4;NoDvT~Z`dNMD}3dvTF$zM~32}=4` zwgq26a$C2rY*h>ARFrTk&MPaiTPC9dOdwox^jD`7IUE>S2CxH6j;*rsjvdx~)M+B; z^ig#;;0I3Co7(xNn&bvOQ4uzPfF5vY|9987VIV=!5E2=1mr52=%)9mQpt(te1 zjDAnYSi%;H4?A45);AQ;85TXNsl#id;wBzkjj3u|GPOKB%3NjU!t3QCD2Q8^JW{8I z=q&GWMMcd=oyh+LbNq$Q^W9CUq5;@Z0-2we%K?kS3oh=w+xMvBhr|J#m-hkbw@)KJKm79hO#FSm3eL_xHzFo9m}VDkSXs0y0d=qN6|ePEb}!V2s~h8uB!O^G#0H83+(1r%nK}nrs4c}vswNZuz~*p0rpY$# zB|jHXc6evL!JdQo32j~bVwAQxZov$!thqgqtp+2(o?7rJBwLW8KfZX68W;sqvLt^PiT^?_K!DK>BC*edF1Rqo%fx zn(oAG{-81J#7B`~nQ|>{)s<04m3vawJ7H#RJRd;tH+quZyl<|%r)1=a_1O6!Ys)5{ z$gOg}7p?ZRx>7$$tSXS8~tgp)FRZf%(_JJm97n#GIU>m-7?=h$Lz>zeX7 z-<6Qgg51K%o&#iZd}r*QBvEXK6ygjYD7H7qLxu9>N)7DW&SAyY zr0zc@c}PMw{@VN$x5A?DsmmjE{8%%+Jb2M0A@&*0xDc-sqGhClZoLq?T>SiUXgQCt zP@eVkCiOC5lyu}5TVP>-(RbY;$7AlXq2-W0Qdp}71(w;HVkm%(B{L&p~3=T_S?^2G_uN74nsLdj%5N#dE!fF43))FJ#OmRzVO`_cBK4H z1D8we=v5RMJ4BK3(n`;do_n@0u&=-P)=u6%JCxc+EA1t^^w(_9P}hqt=Hff4nN`B- ztBRDa)|XCHtu)c!wU|*c!D_j12MSaeLDejZbjXQ`Y#-gVJL7)BT6P0v3eir*+NTMc zHyP4lPAs8dalwsg&zK~>*N|p)SW>WmDzpi0j8_FRb?MC#`aS~*n{%5~HW)YcZI zqgr@0^-_s09Xe#{*7qv9%M*~g?Bi@1I+YVHKfCBTMx!%G&Eyj^T|7EA3&vQS&yuuV z)<`p5&Wz%lM%83n&gSW67LVA^^7HGYQm;05XtZ6J$>q&*mAxI^f5r^@KQ> z?R4!@d05+(Q#%jWxbb^CoxReEoe`xEwN1V9$Y;9N%wRIp#c+o z898k z7fe#=ZxWv`?m^n~YE{{;jQNHHvNTD1+9~;|@fm4K)3_?0nlvdr_8yHlch>~HP|Lpj zPW~`P7fOF+;*&KB@_dJ#oep%vroxU6&)x@7ZBtb+h(F0oE;N*&Rocp(RTbOh1PNZh zs0m8iCQqV8#Gr9PzpuhyK?aQc3KHVWT}iWKA)rMtZ8E9V7ZWMiz|2>~9ERr|Pc1y( zgfSfY%j~(i@x5yaJ&LO-1(E-5Im*EwDFHXBUiFKKEeM_|dqrNjOb|0TJmogXW5aao zKqT2Zm`3Q+#ZT?97sKQ^+GaPMt~|KN6lg?XdmH( zR)dIa0eh6yaFR*+0ZC9&Q&DIh#qvFeX}L3NsuGx^8`2pr(hAIoEf;RMl8fzJY*)X(sM~elw=l5FF_2ZG72Td=cCU!l`w)&Q4eu6Bq$kh;t69kg?<(fVJ|oC1*fTb z{OhQNBPYx)!BY`ROFO{X;_R8+oqU&ykbNa3qZK)$e`G@}i+_NLyku|y!@MPVoF~OU zV5MGdS+?HL(Or@6e}j1G*itC9gv@LSVbog6Z7Ji&*IUB=a!I~(apC6New4|a0250o zoxo*R`mr@0%GiFqeAc}AsFXbmKQxNqb-+qg-kCmVo_!~#!XYHQ)-(2*IKKC{>yJQil3Y)Sf@r}h9TU}&rBgK{_qhisId$p4#!#?^H8xf!+Hj7C5u zw>x~PxnOM^?WPqb_k(do)4hca3k%G=H=wv|rxJDm^Yw*t2m2Ar$5{oK9Bn|a(5hIg+U01HMk?DspvI8Uk?rLbMw0%dKR zrx7C}q$l~w=y;@~_{pp?$huJN>ciQKj~_TXlUp2ERnM$`w({_SZXOxb=9S9FduXbZJo0{@)U2syqnle z5tg05t;PYZ4v^p>uLgJzGbF0%^*d=!cT`(kn`56Q+AQ}fm))U{Kll>0kKx;R?f744 z90o^Jm7_a7v@D{>Q~oTHd3J<0B{3h$Ayqn|*luvXv((&?nZyYWO9z>5w&PTOms5Y~ zL~Mo)?^a=I($GyA)a?7|n;1W&rB+>2aq;Y7#X$O*MVmLQ1TaUH5oS|BI;ya)Na4sp zRoR$o>8QwADew|Sr&DWcFg;EguZTEbzt6Z8jC8ym0vrtH?^f1lWpp!W$Z91GG1aWR zg&4+5bI5wje)))W?xwUMdrE*u?k$*whL*J9OEmGn@qc2!GmJ!xM3U{ANT*^vCW6MN zltuD%%NzKymGfGpjlu@)&3)P=Wy=btc0@k~drUg14C0X{+k4_9_hIgx#u{KEOx?i7 zQMq8H+c&4Gg|oIYTA`3c*aJyAUhj4=F_zxx0|_5G;c2wx^+N@H(-|-yn{ir-m)jR4 zs>ZH7CGvRPKG`Y78jVr!Fe~xHte5Cw5qra1UvH5 zH}~o&>J6E$7As3ym@uulaa{Fyin}e>?s9~(5J52u)+Z>C#P;Dtj0M9B8^YDSBa)eX zO(U7(Q29_EZs_ZWUn(XIapweJbGj@Y8tUT5%U`^}c2^uYy#&OFJ66Wb>??Egj}4*l zRvi%03$>|_P}FIUq_)2iwKl7#-YkWHLPxL5$=yQQb2l+DVrJkHjnvpw>$AqPql+5F9KRT-Rz;F@^#>J zDClqhI|JINz*vwxXxKgF7kK1PVK$J1@=uT4HvrQUb%pO*>8GkpSH}6@D^-BkL+S3p zaN^AJ5~^ZZsYs+}NuDYnn+(JtE5ycW>UL?(0V9ODfmsn>q|aJf;qG2qWsXN$Z4Qai z?d2m)uMh-as42EcpD89{QGCH3K1TJH6PLh}A%6!v3$t9lAQy}Rl{au*$`LkMx%@Y} z#*g`j&3XK|V&#rLCGKV%C8@@}w7VOkI@drotFw^B`M|hk1a{9Nw?Mr&QuvKoFs!XO zNdpZ3wXHa1El=CrNiUnh^gTs||BkwZOe(#mGX`+p3q0FKn{L4riZZx=9 ziWgM;SQna?)og~fP!nb~B4S|MjS`d#!RtVC)}PJ9vSC=m ze?Qg6mA&>DvQr$lNmDpzIicjiP_CyA?~j(~2O;0@LGGUjov1pI0H+!&@}`ac`B7ot zU0@nsmIHA@V{F_9A*tv=2$CF3o-B$&{SXeRT%RI$?vL($#)~ODf}L+1?a;`{pPl^m zJ;_flEtl-hOm!=D{24NSYQCt9_se#P6KEy$DpA5{oGs;D51lOh0IW47ql*-Muar@f zEB41MMV4f;z9#$g3~m8zEXN2~FI0H8FoD8OLK;?}k6P2j4x6-!PC|F&s$m?nH)au; zF-r6z$1#k?#L$hKmQ@z2qwW}au=EAx1t~X?3!OV24Hjnn9y1tL#7UfBq$8<@u(XPS z+-|Z{hb_+@d_XESxyR{bz_XUMgtH21$>(6jv6w{6B6L&mFah%0Pk!!HJ`gV_)X1I4 ztmeSzSPHUm743wI)dpcXq8d)&pL7k|$8 zHoz|SJc)sjE5nJ~+{#F{if7f4rJ+6flJ6-+&-9Wv-U-`KFh#8~#97<(+64MYD_EXw zf|4`KU^ty)nntY|mmS@nFHqPYnBljzMWMa~I!GL|bvTa7ypDFvgXK8;n?-{jTKbNk zP6m!SVnOl)Q{=CHRMYk3uY0s|*@NMV@pk8Q^Fq6I_aqsMBc${4l*n%!vezuI#{97; z7pq|!Bl~A)gkpnM=Jj^r49l`18XPqB=X?&H95zPv=kGPO8aXi7B(zBcX*BkB%*~6>X=!W?Q`w zEMnXcwV-xQGe3jH26QdGlwyxqK4Tn^UtSMCqgpNqn^q2{)+r@2&!`17`(iHJ>Y@@yx+{^2~P`!69&ir(c8b zB%k}J&q3|Ier}*76k{PJL!YDvk!&3U#@b09#Ewnz{0Pv|j-z?uc`)0(eH_K;FR3X@ z*6;(Ij-&UR8%~-^4x?>0jAz!&W-QnYzyAg@{Z{<#rBCl=y#aJY>>RRdE?pm4b;@ve z#Ii6Y1WY%_@_=`qq>ze?F(Q*6CSQgw0%88_f@8CXs+<6kv+M%^w=Cd*mXKXyrNc-r z_ZBp?=iVG-op}gLK+Isx0ZX)`DS_V~*a*mUl^U-2P0qxI=S&s5v;!R{r5!ekWc38r zPAcy;)%Z?PTcA0m3dlH?G9%u+VkqzZ21FXj0o6mM5Z8guWQf%Lk0(xCElO)%oCivY zsnFa+5OPQ`zX#4m)_41J8I#U*Ycf63RW!Zo~BNcKKou;Iua$BrLk7*|2_c8qN2s#v z0s`v4aEu@?r=SKPw?rU6_&(Sl*b|A`3Z%*MxG*5(j2T7!4=^XCR2_WKxcH)QUAmpd zjzHB0;9=F}`>{3rToeTJkACu^pHt5BB=6Tnw}m`9;#sbGGI!$SgK>}&36sDI(FpP!|&(zcRN2=;IQV5l97Y(@bB}(Wv>wEl! ztc~G9VjQ)LCdvd5Wtzt!@I2^%GDyn!>IZ$YeVlTTN&oGPf66gEHpPWA3E5rmPOykU zv9==h??HRc_;8yuz%7?yebZOxd1BOwEh-~{ZUY%R-O=E%9XD)~{IPOptQeviA`fW{ z+9HY=7V%?XB1|=Aj6!TRSAzTzHu1w5SzoXsMBN9(>&+Ei&o)S-=rMykwv4p>Qd?x` z(^O@XSD={ih^s8qdaCg{@G$^w9J!NoZ0Yof?m@X6=yJHqYwfQV=Lv4dG9y;dZGfwZ z+3R`_p;woW)KC}5oZD#deXYdOB$;}&Lq<+ z0~^q$RHhAP(C$1R*U+^!zj>Gg4lLQb9g13i&X2|CF%0Dt1n^Jg7_CI*F;uJ1rf$=m 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 z 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


Cu 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 z%0A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%0Dwnv^`@pFv8?+w2T9oq9_& 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�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

j)4Q2oFZPtaZtJmqO}KU*^mQ#d$U~t1?;CxP z6GMiM6McrU6MBZ$30a0=4el7r74{hW6=jn7Gg33t=C|R!vI10W108Dw8Cc2d=1$~U z&y$gfPOqy%Se#jnLLGZ%uZWGbO8)-oad0xuO?@7k|2M2h(aFM`Zb>^OJRM8zn;|Cq zH$yDPu+31sZ)|?}4lH+Xbcq~77Nc5!QOa7@)Y*_N8SqdYF{eE*{|;I^%IjUr%Hv*J z$t(ZcnJ2vVkjH4|KI!9?vjg#}nGfdePw$oP5B|HhF8Via-N)-^GX@n)7G5lA_8Uml z(~Hq}$3Vs?>X72^ra{F~;$ha`0|Kp)^e0B`cp}u)xKHvzYyDTsUQ8=!?C{ucdh1GS zvsbexpgT5w(f|UJ*sj-(eO-b4ZC5p&N}gWj!)9J>!&xV)$%7{j$yQ#~!!NwLh6%26 zhGkF8lMUDM*&u(BZ0x;^#$tgu#{QvdN}ty1VVx)5gJUPMgRidYzEEG46;O7v2@-TN z31W4!wxD&g7`$Fh7I`h6(2gUX@4f9SnEo@bZw1>Ko z5#vLLe#F$KRFW7_dzYn$W%>Qx)T+$KH!_kn4ZqAnK46#0Xw+1Hz^$XD0?@af2(LbTj#kSE`)aE`4;Vi=MfVUoK* z8j2USvR3}N{6uT#_0)a(J=;pv$npdAe~m8hHJr4#WqJ0DP3?aQDE|2W6OjGi0mbU( zZZ`iur$&iEB~9O?CHEq zx^l7F)Z_gk7ol?T$j0+ib^Bvuj8w8@54rj_A>V&1uHz=V7p4K7FF1l3nMruC%{6+7 zH;_L;nl%-vpTlj@$>Tz$+Ci|*^#$i*C54A?)2>0I$q%wa z=B)icSvrJdNsDS(`!Qv^DL%9A?X8e~%Yf{c%MF0xbkd!{Xh)5)_BLsaapI5gk9^to z=@)gihudp^4ds^CFP}yG`07f(*WyUO$y(zvTAXFlb0079#krSnayZ`cZc-F9wIf@h zDr`#;G>#cDG}1REA=|H8zW)YeCmtT|uakHzvexc0$v_+WB9fA9A81pBdJ0OLVn%dYifyAd<- z5aiv9vhADK8VM>*2GwaSBoKgr`85%oP~yeh6W#YM1~yWZ);%dsf`aaav^9ppUx>16 zg3*io=Coh@SA2oTKM2VV+`MaT7lf^h-=D@aOeCwi@)u9<3g=^x%`^DT!0%OYPs&1q z{#n|fPZNBmFG6yD;Uc;=P%_KXn|m}p!!YvC|2dGQ!F@4WsT1Iuqt*4xyLE`ZT%$gQ zR1)B_>OzrazW9Qh(o?4Z&-$pVI`&xjcuvaLVg_7PPsg!vSTFGUb<&voiPEClXqhKN zws=I{_0rib_wQKzn|-6)Y$H6{C8D3-od|!YRwY~E1o?&y?4R=~DeuvjEF`=Qk2p}; zO4*RLX-5lfCUJSq0{w@fap*zi`-yt zqQ{?a3bpzwt7xrCOW0@=RPmc0W&2q7I8=So$FfN#=a@cMl}8A+Vn3b)OUS@vLoOFd z;<4GvlOIU#XZ-Co2GzA;|EfRXpRHZo5%BnKz8Uy2j2sM%C-REoH~*7~Vf#NaG5`C>kC>;zE;lO4yJv}LnC%8?03RQX3@v3mE*$6V{bK< zG3?2DNJRZOYI-Th_YD6-+eOKg#_m2C%t-gJifs5G9T^u zNj9Sm8a)VAjh_6W8IM zrjl;*$i-WuWWX)%PLE;gCK`sol-@8NGK5-=VJ)ImEVY3)rGq0IM7^lTHs@$A85f6z zVMAmit1y$D2gAfIBU?H#Rrexb-CqKo2c?MHL?| zwPZ5Zg{`Uut#r#2$`8suGuj#1^fKBQcp_xI96019G-|(-&o_AfIji}!x6<9C^b$bl zy9WRH28Z{s3O3Rke-#pE0J;lxYnQ+{ELzWRBK_`U05ox;#^3Yex3fQhj+T@|R5#lA z^_@!-ZdNomCP7}>A!_g6igH0 z2@)YxX@Q|bAR+*?Uq!HfG|T8D{G6w3K1?=)G8f@ksfeM#rclzJpD(nTDVO>|mPvAw zD6GdukTtHGG$dCA$?zX>TQWV17~feiKTQ5@c<=wA+AHf>IvL66n;RMYGg+16(Po(& z7#J7<*x4Ca*%_Ew7`STZV=nJNv3VjxQ5e{_W*}ou@lQd;!U23|#Xy~)FmU67{Aa{K z$KFSV=Vt@>=Rw3kUY!2t-A7&qq8H&JZzt~K8(XN`=^HFw&Ta&xBqVIlNDm}oDyr(= zIX1)R!`D{ddg1r|`QLMF{tvInRQ?LaA*B0QUeueDK($kO`%P0 z2w~0&AgZ3NDbJ>*b^M|cOTCA|X!eOtiPaz8^M<)nh2rlt;;3V5XWRkaq0Ci>?X2Sr zhiSIw4!8GfiyzIk+`sEvstiC`7$?kY9Mz}IQgC{tHqdbgu&~HHa|uFeoD6T3c)FDL zS#wNR}`>jNmNq>m)b`gtm{apkXi@qgWKi zq<{@3?*(IA+)%;QjosN}Q%R~3-W|IoNZR{pPh6*4&J|k_k%9_JF&E1CsUfcDJT0X~ z495?(7uQI6;F=~Hf1G>DI07^o?zk!eWDxOkLrU=90VHR5hS-fQ(l)G3fpXOxDsoX{ z{3N5y1l3G2<5`K5QYit=guf7)>s&}&Xd5-&Sr)=ghbS(eY5ow_4ObE=6o~fYCp$R0}`XQ+(SQv zCfwfAT3Qg);R~S5SW$M{MgPeg%Jd877K=@tdjVy0oEJ{Pu+0Sy>(xd42O6=v*_>?N z4i|iYspxR=+FR?hz!>JP!)EW?^JYzAIehi9(j!vWHFPBy^|R~dT8YDY?4%!pd}ETv z7)05{bo%vj+nS6#9YchRgu)igi4yl7(y*Rrbpms<3tAPT2XAQ+^*~J7&2s=`+EN+{ zxEPE_!^&p>D~EA2dn7pS^8A6A`67_ieQ?#sz7Q(kG;C?7Yw-m3L`b2-Ix-&9I-9u& z15S*Sq^t@~UeI(<@M3zNTG|&}#;-^0v`RcaC~VY;sSl{6PVe6X*$t9AoTJ>LpqvBM`ZJi)+`c)|5YBdgBPstkU}pc3jT;}LzvRc z`0#d~|9JauwW)hyt1+po>z6M;(qe1Wm@1l>8SO?x-&I>3Jm9$jsOaBCret8!v6pr? z%EbpSh)KeU%b6IMpW$Sj9(-*LNeymD2E1l0Rjw*&h6^Li!;y!hMF^9L$(E^qXKih1 zp?myo0zU16xwXEPr{X)m|9@YyWdGg-{Bz0D{&USLSlGbxA#(L&geB>FEs!+jAm(Wx zbkD*n%nSr@;};QoV9sTq%4Stj!A+RO?X?1A|F-uC)H-^W@p6+ka-Pfg`;`Ch5D z3_3nuUjRFJSH`hDk(hBUslAnq;$|DhqN%x%V;Yd>Sa9qDRREV}$BP)lSoYh1Qx=yV zUdMr%7y(;J;%USJg>9%^ZX+?Kr(L?LSE58ueR47{({9rQGPU_yS6KEsYhDMED~70d zGKuisphxD!!3VS0^it89D28@Da!tnZx! zyJot=152M&Wa!H%F@~)wKeAwWfVU0#6 z7#fI$fZO?Lcq7qxF6rlI$ChM=l?>k}&m3Q9l~|lLBn6^n@u>LB2rdM9dKQCnBvzt$Up~G;G!g@e1RwcW&FyvNQ2>yf#*^|?BZ2oegcqtC*wf}dV_RYQtV{FjUR>#yHkVTGozJ0LG$N$N>&SV>%~ zs`z<3%0_dW4sR2ur&C?;Uq@8G^(K^fg*1hT+!Y;jRfwK7f#5~OSqk%Djt}Q_qI^jo zNP*GDJ}OQJM^Drdfw;!4rfV@jucE9CThBe-yoMX;->h1r;M_MFqT}lCzluP$A4LB*xmHI~g1j{!+w(7U%^rHgfIXBEhos*5!gF-JW za1!eWrM77CnN9}J3vPcQhm+wa`Vw%uRJ9FJ(ZFSQCFJf<#v4wyXBlB&VS4=NH z)*_+N^ij#S!wkn~5%3A}AZ)v59U?U@ZP4(81=@Bzsl&$FetDt!Seez$9&ml51ky4W z)z&`V7@D1_*zt}!eoW+Kk@RtydN_HT7rJZJ?Sb#jNK|N6hSF0|iqvZl8Hk7D3Q_1s z>;v5AC78R#=xewK%C@aCP`h96OR70N)l$j)~+kvpba=46ag_iBbK@0 zB8=W?>%EL1(##A0BumXrGok+(6*PfD-7mUlEh`h*1Og;?zCw_G(&YG z`7uNe8#!POn%BPZy@tR-LDpK&d3}`qrfN;DT7a>4NItd0n{A*@13INM)wd)^nz&C~ zG&c`kL14uUos6xcG1~G>qqMS50Igf*ibgN0ie7gIV`E5PMW9>;BvTEgLA}~g0BF>& z_+f;p`&bT0M@OY?3)qjn;*eh2H58uJ#0?d6s!?PG-FboU_EL=Tim6tmD21S?K^dcW zQ7cFrD801)oMPQDGR~q*3GIbi)B_<6{>(7>8_3U{lRv`W8keNe zFT8gYs4pD#4`?F7Ev8%(ru1T+9mEm}OL&AC-?!aoK?HvU#*eC#@$5+)K$?9?F?7x? zjV`nyw&A6D=96j4Tqk#g6lqz7H+Peect3c|Cdo%0_E6S$?o+Xw8POHl|5fmbt#-2AV(?iPq-INZC1>yF9LNcKz$S4j63O_W zlPAIIHQ}>A{8t3Rx>YXWZD7ju-2vv%AR$I^G2URGO?2X)^AK^Bygpm7DQngG2UzV&0mE^|>(nKON%zOs16mK}m2*DCGNq%zLLcoArMv_35M6Hcxz4UXu{^l^@cPl%|o+@c@uTaDQ+Bgr2bixZ(g#w$?j?QVnNG_Mq&qBDNEs+juN7vJKI707}(%#VS? zxJp%T9Qf1(!@aS#pVk|BdAaL|iqCHkq0P9*G(;dmwlNHjKI;zl!iau9F$>gY=Kurr z6vD|QphBJ6!-SP!#|$s@&LD|qq~6hocaC)YWLES9d4dzR!#VYG{3vw7CO!-G_sM_% zzCKAHZQ2Y#2!=+jhYNN!Q@OooYZImPejnm6?0avdDV9+TZ$e;!?egg~uqdhtRVI=j zWXp79of0wRnCVV?^S6BeFwR;C{-zu6-=@I-XY$SX54r>6q-^GSVS~1% zHdyJXp$_wN3mIh*<{*&eZEy?7#f1d93y8&u+}Bpt4f~hEm!vhQKd`2L2f*@w{`?>v zs37ClEIGKHsLyg6PFuy{>DKzOA~fG`wNctLs2-S?HrP(RL}l61a=gbaK!BPxN}2Zf zvaUNN^Lpz>i}WUFc%(&3D^G|vT_BALE`k+wcP~0BXiS3|HknE1KR;Kit9m*n_<%x! zpeO8^cVgIBPEa+pAv&HMJl-E6VpFn6W8@rOshH0L^NAg4>T9YX#UQD0*B*;8p z8%~AdgadOkBLb8aZ3W1Uo!eVuEx|t+Z?>}BFT}W>%s*&l&~ST;`m?`DHGmhUQ zg)_o6qdOS&3r+uJ8djoM zld8hCv(;hYQ|62z?Xks+_N?Kl4KiJ&plxk{ewTb3ymHiojrF7h`$5EG(>(J@r|7+> zjERF415U?Z#yizC3SWr#o?>Ot<(dIJ`$FLZU>MEw_dWSA{H}ZyjvQ{LhH5{&c|#!Z zD}Gfx|L7UwmO0F39I~EimT7Gxw(1hyLnLVRC@XFVW4S(kh~kqn-hI-Z zvT^E$l}A;3{Wv(IselYq&#~o@G@swTnzMTxw!B5EmsYtRvv!lq6!eEKC>cn&YxVWEIpDlQ!DNQq!Sb(t_L9!{p z9lxcYHa7cNum4DTe8ubnLLu>2FEbD9r(fG0WwDT-9K2$|27H)G>t2FD$$Y7}*~3Mw zdy91=W>p(Dnsp|HCdHHW!eTAe1C*BS>iI#Z9Wi3YLF=(|KylPEb(84gW|c{pNfNcl zSoa1Ilq^^_d(ovhI|I?GbGjJfyr>>oBp&4Xh^PS?g<~Jrc$3#Kqj*Yg7KSD_Jd|`M z9>)k-s7S&S1YcNHoo3nDdM{PRdpS)um2#EE_)b!jYjOU$wwG5^162$A4wgZ2zmx=) z3YD1G9Oy)O+b;3_ALmqU8M}Ez`6K0|(#T`#+r3AAA}FLk`#B?XAOvFD(9GOb5TbG! zUt|%#w|K&s;rJ4UV)<_|RP}Z_@O4bldy(9UMFBhdNxABMAq`rQ4L=>qaoRe9cO zK_avA=2P$zg_HRio&8*S-b;fc123p_9MX^Y96?+@>B2p_%#okzq~(H^;6c418roXu z9{-j`TR+v*)Nj-m|E)CsN4Wp1?k8CM1NTd$q`z?QP^45>*KPHp;L|S$14A)@BKA(V z9(J}}wQ?>3_37i;^f{tr{W%E(#ctOfqb9XpzYB$Uz2rilDc5g zhh)ClO6_<^=Hj z!6vr-5jrZx1aQqEZL`_s(sOI&Sgvj`){Qow)N7wroNfvr5?OPrzETnDA?&GRnY_A| zM*((4XwkUhFiHQVL!d?BRb(2wb4%3>(4aQSbtFUX4WW!@^`w_mhjVS9+C6*MBo4$T zGz00CA8<)vwC4IPVP~vgCGnLfDssK`9b=j0k zwP2?t%O%LgSbavpqW$uob?Owq%A8E!-5`qMc7&tdX>BSbQ22+H)c#>qbbh%X6>E{I zfK=?7xw0AeX)8*FYU0-?uhw3a2lz71enIwMTJMhjL1+Xk58d`q}oSY1OB|4VxQ z;%j8+_Fp!4D^*x4<(u~9|DN`L`hY}*zr~$vUPiqPcMs$RNVTz{=cY#k3|>P@6dcup z_SUKmYaMUgx}HJk1>p->E@bGtS;sTxYU1KA1%%GBn#%F*a=9F?H+8ywJ^*Wi7BS~s zGem#~={QFXux099lY~O?4BEs|RM3#o>!#cL=DW`CVMI1g!+K1=W??p%eN2YQbC(l~ zCxH9!=S*D0K$*sV^m&JVjbO z@MWE`Y>FzRg8Gt9|LoTeLBxUc6mWB14SmmHwt2vTTqHsPYjFtTzX$&`o-?ay$iPTx0IvAT6Y1 zWpgC}n`Id*4)aFe>>BKTIUCg7f3J$7Z=iDL(zt(n56{&ioA5ok-ORF0V5_2#;+hK^ zIB#0DPW-y0ZO=xDB50(ps+5ON`RZplI!XQ>sxVDVVueL2KA$dty>NwSh388+xqmo@ zrs{Tz0Z-B(nZs)k#M=W_HOq?9Yl{`ni>k(kEX+bH6oF{1&z@AdBD3bAdLcoo90F}X z*T!N!EGS*iC6O%C%MBCT4IMLoe8ACy5ua>eZ%@u9$%U0eJYC9=LX=QgHL$SYQV`T? z@@qqJq7y~`YMwm|dqpKDOMBLiNfC8Xz5&!y2#7F4cS2OWD0;cmqfd>XaZgL}BoLN>B zbL`?XTNxatRvDhRJ|EvNNPe5Bj^jm&xEab~_V05d-w=iut0kb)w~_eoq4(DA#SuAJgD1pY~C##&3YZeezLYN45A-;zX2hYYkT4A60Kg#}ed7D*$mia#HK z+qAi|=YZUo$Fdi3Zb8QS<{EXvInW!gML&g%D$sCzx6I)M7PS&^G=XQMo#r60G(Z)D@^+ayXPNZU$#lZ9+r%9O)GYOed(LZ z*n0JFSuF22Eet!M$tE`t+_srDrx*HoOk5ndS}B}`om(snB>uUHaC4CxE*HxNMpct(($=2rDcc6*%i8i9isD zkrHY|aTI@qh0Fmp2tKPvDf~QCnPNI?IW>1!t(zS@vJEnF>TqYZ5jsji$Htb4S(F7O z8-Ki@HUT##tMYxkf>^3|75&qi{Ade`?%5Pe==l~m14lj&()?$5O2G&rapVcvytR?V z6U<+Fo#54K?EejR+{M(&y&67|a;_dzNys0ra^SuP=Pi7XiWcsV^);nM` zf4Ks!=A52M)|Y+LY??Ql67sf)W7JXK-dh9^Ddl`LHNj>wz2VW^?d`(_bOU+_8P}35 z1pZ35F|7{@Vq5{+My^%L zf`*ME+>ZhB5i%cJ7f4Zoom|yq4){z#@eUc9wu}s^0CgI+`K2fELgO}`o0%G9;$V{f zK39=H8BjYKv+k_5yNp?tkYnUs5c&b!8ih6gc|_CHPfNW?a5ciboHq$egX(`8H6sJ) zf@Tas@pIL_Wxe)E9i(q55w>O=W{@_g)a%q4lveC_nmh;pJ^OM7ry#3=5}CzL#7t_@ zMT_RM7yL#mtSS{0HsfO`fn*T1*b}jtO{N66&E3Ycd*3q2;y6*ARQ2`xUMl0^2=J&D z3n2Nf!m=}`kPC6VR(0l(I5b+tQOr+B-IjOj6Ccz(iM z&B!AJUr1LHHqztf3G~#TL6s>Gi)jbNlme`+^VGU!ootv(@G2O$>9un^jkEYR#RcL@ z*$(TsOZDAtVup7$>vjIp58>3dmIs`yT2URZu&*C04-I5MLSpXpBYx~zc~;+U#H~a1 z4NzJ0GhziqeJCcMP6&4ggV`af8vi*MGA;%5Vp@5iw!`$Ht9-Q}l(JGc;Y|kV2A>TP3nEfI=A5$^+68 z8sb6Gvr*)Py4ky_tDPf=wgCU_#$v@J;diS=+Y2jO|Bj5kyV0Ew`er-+zh|4}A8cnT zTPa{DeNTb~pbRJ!6mJZaH^Z?%7P-W~`(Jg;`G@H4z|ov))~K61=4UUyZv%}h&w%K3@vZC!C$^|> zR3^#m%Bd1^#v#Q@zt@^#ApAHW`%g!ITdr)ZGA~KM1d=)6=|-vuQRI+vjjs~-kO3Tc z`6!8YjSv;1;%9&_K1UWY@INC}S_O}{i2$oa15O#I!-UySBa7!63}g|k_cK=~jd3nI zN+sS064a4uEk8jef|#{Rhg)^`S@e;X(TN&XW9_06OB+Vza@5$7l1wI{0f)tJ6YmVpwuX2S337=~nXy9=f=XxK`bEZgQ_ar@ z$$qt;7xjGW8wG-Dz`9Pn2E}yt0*f;{exZ2)ct$BvUQFDIMxBl80J)#ZKYK%G=B@&p zhb`ZAu|Xye<$2Wt4t|jDS5kW1_>#lbfZtMamsYF2UqtkbOeG$#1RhCK=FSz*{gJZh z?U!D3^SLm=*cow%@X$Pj;AE9v5d)G9`PR3tw5O2M3iy3q52>=&Vu=!PHj^!vtQ5OI z*gpr>kRG~6dlJ@EtK{Ox8v#Tiv%65v-`IRB?JLi)Zr@2{ty~f}hjqae?xYa9SpJqV z2G##6yl=j2vL8UG(-rgZW*PK-@7PiH!#DlHhZGA+Qv{4(1RP=3AM~-X>i7yYANGNF zQM9>*Oe-2&(5JC>u10DOMbo8N+WliSqi%%vW$D_s*b;&V3Ev?Y71FcoHHTRKjv7!e;Pp-z{r|LM-%*4=QDrYVQF-!E!199!zbp-#nsb^W?dQB zY0g4}kKb3Q=tl?-Kv{6R$vuJC^7tr+$QIz8cVujYbL zFpmxLJ{EaHFeUpfqNGBd$a3vjycUOFTLYJ2Ey(~AhlY|$P6uBQbrl5|nfj|<58i>k z6Wnj!{CgIr<_0*Q(Z8Od=BLvTakykX5ovbCZMnl3iAUvvj*j8-d9+u%6H%brg2>eI zg#Cp9Ttx7+3d>8XeNS;W&Rx-_=Pd(F+557Q*1SBvFeNQ>CDFX7+O{C|toNKcZvQUS zBEzaDF5hPd{owy~*NpX_g<5_+41o`pD^rYqRm#zzqpAwsK+}P59Rw#JL^KWwxei5B z4bLXCU~+;!72BBI?wRBR8A#}+7v|GAS8x%vloev==g zbrrt92HQrHT$5ceUO5&^8Ml7P!$AT^Uvxt8OS%EKqhJZamvZ1%NH?=b_>7F!_Tn@u zv&H!C=Nq0tTfT6dUghzdy$d_q$W0=uDP76-g~6lz7@-1e>;kBf-2z(c=fG|yCJU1d^ClK%DSoXV?2vJNr;7%IwLXd zZQl8)eg@lQLM;&z?_q%lao~eWmbZP@=SCsA;{$Y|gyfdXv{?&QVok)m?5mXy63l#+ti z;WkOKBWnn0;tHb^X-dv9PsSTl5x>KcP)yLo8#2nbWWcgz9#PM~fIfNqe%vFn-6wkj zsUY0>2UsRn2%S|cC{pCAw;<;)*>PQsLs{-{sui}Ryt*XkEgqly{C!_;(2k`J_q&7= z|Jzfm|EPJz_CM5Ff4B9yFi7mu0MYvzWpM*!?cpe4I&yFW;t)&a-Qk3U#@2__;wmw# zjW`NF!McD5Vc}ssf5>QlfzX|+$_gdoQ(j(8T(B{iEZzSTyRL8Sj$(T&F|F52R$BUF zB8kZ>xb#b&4kKg&P|Q{CS%x=KLvX=gHLzL;zSb_R_<5AF!m{Wr7n1uyB7X%rszej^ zo9npQn=oUI?IfbMA(A~e5^Vf}Bi$$IZIJ7i-MHgKbJT(hirZM5Q*R_8q;`_Ds`)9v z=O)spL;yDm=dZ-Veo-62F7FDNd=~kY%L>1Nw3TuV4O58Fc>EiSE;0P~C#mdK%8yqs zE(pw5eze@zmJ5Mj`A5uL!;5&mO-78f1Q?6>_AM%c$W67(sN%Vfr7?3`MJDb_nMu(t23d9vx+aC%P3J{((dF1$5>PG&wFmA!v^zjFiIsex+bPWYNdwS z85N9`n997HagBk9lccgkV85JEcW%PWCrr**?Y5~eqOW$~OpXPej+&-_~-u4D4 z$%*?NVnUxqK%&RT&llu}&vI@zF_xft91_VYzmZH>0$KYx6zso=?C+@yt;umiwX7$L z9%bOp(Zr3K@+$~x5^^Ey3bsc{hPzZ)=J~_-ZT9iP;4xA2~1oSt_fYPljQUa`>(p^=fObGuB3-al791NO1g&y$#28 zfbhT-Uz_1V?)JQPO^f7YxhSqvi2Wc5!}YseV%KXAN@gbwWY)zB0nRL!bmN!H3e@OF z)S-Cu0|sdVzZ5r+uz#aKHK;_d9r{sg;&2$)%voBhpTw&C&-uuW`Nw&ngnH*CEeVFo zxskei;1^Y?a zh#MrqzGi!MN>8B&aQtBr;+t{9L<__#1EPs}5Q1^EG1wE}0)D$g_}Y7)1PRxHLIb9O z3Os51Wnum&Q&{iBE&)z)i9Vt|6wv@*%Aj7!2N0pY801S)O#LFKpU&O}ta<}qfU7e+ zgPx=rONee0iwyrz!IakaOPX&QJ^n3?#Qy<}|IoljPY_;A5qMpv>4~X2NIpr2ZK$E$3r{(q@0^(70DWxRM6_<7bm5RRnYWWMpXtE*o^j8X?G;t` zsKixYU*G?u{M~0;P9d|bysf;vyv^hBBHIHS@ONsJrjmKsFXC5FMg&v58S$LRo>{;p zcvF&^DgPXQS|7}HGN++ixH-D2z*5|=@O^?p>Se#_M?@tk*A*@K8LCPb2@KNC*feYT z!b$8?)l*ibZ~xn0fIxaLsKh?{EB|p|w9GLKWau)}MUy#8;pYm+1Rm1^;4}a^9>sA1g~bC;4&uy{}5iWqsKLxtxboqP9vQ3+eeJ>uL6!hTYuyTsNm}#X}Sbv&6N0uLt0k%+KV9 zSdll?w}80pqTgX+1Kct{S&%+7-Ub?LenJjedRkHQ`SrTK1zE`qI{kOP7W+gxMgXs0xHterh*F z`MKCgD^M+TxmkuOq7!Y=dphi0b1=2A&sn1qMFN0s7t1>;s3d*YV;~<>7tiIHzzG^} z4^9NqeyAv3P=Ez7Z6EgiK({_ zHcn{C-@z%DC5RjTk|L?f?3>~07M6iA{Rdx$D5iL9p7W+QLq?ZfDU(l^*jEkE7$F6L zW;zi9l;UCJ{@@i58sC=I7YGm;o)o_(gqO}29-t5q89|jlC!!<)!5P$708G*KK)jVa zOU%9sq-k`tWYoTqd|7r%571nxb*f*}zEeb-oF?B)ReA*+04hOKY=wN;@3}wd%(T60F0fnA@-{j8*{9-YbiJjG$UJfZg4Z>#OQ3>lsCC&+WnM#k-6>yC1wCTp`XJXeBhS ze@Bcx!{YuT+m>1RMHYk0BZ#`n{|ZO$$_NC1NFu5eV+vpZ7C}Pm z%c}ML=Qi#HqwVqJ-6nv%`=s?SFxpPTKVj-kE1X`I7@Ow6#rP)ukuLm$djX{64L6zc z0T1;sUKM=IV}E{~-I#r??z%wP8>Hb)1Qd6`vT>J=jf(dtzO3^wXzMP0rXh{msG~z}M4bFS8HGFDE-WJ1-}zU;bc7A|5QR=`4p#zyNMey_1*R*J;i= zQpw%(%Sam?E9>B?xK&k^h5ZKYpAb?$C%VqR#!l>LwhT8#=1CC1KTm5tn#+z#i)Y#Rq` z+2wOhg&cthu&Q#DkQXbev^!d=8oVFFP6(q)l@(PK)HS=m=f8J#ptGqeDtey8t(_Gr z5tWCR$Jzj&F2PYk1Co33*@Uv32=OI9$|3f<25A7Jdtr5TNZV+L&{m_CyM)F{tM6NB zuFoCnY|j$XqeYy#VAqQ2bt4@;Z)cm>xd{oW?z9{=JvrxVR91C0z0J(o%6a0h9O|4i zfbWl&B_}QgjdNChL6r=-%K=OoYH5|Sg{Ye(!z^-8O6hBv0Y$kNaN_M)JTn0kAd#1a zn+caqfM0$I(@=%b8ss(4LBrRD_7>E5T6nTvxMc>dxP^asV}?MFvl5+i;Str_$rs!| zV)a%{LJ~jmRk=^js?PFP;unQ|p83y~rUbtje116*>)iSZ+qBE*yH9tjJ!vxK=+tFRO>)H>T9w??9M#Dp01V0MpbM8)_=jrTC>% zUR_zpG{OtrfEE74d-dSFW1`w1-Q>aYz6^42UIST5UhtVoD(P5Aln_2>UOtUc@!&jH z!)h;fc;1oeX5`Lgna6ZSx$Np+$%-kKv^ztA375&x-E3B`SYiqRXppLW234Fy%tBq! zxAM;F(D=3vo4Pxi<I1+G&2SO@1O(HYQ7%V;aA$Qg$^bysiH3&Yd&S{w{L zP}I?TyO7yob!j#c}zboq`j_V4MFy3=c?nR&ABNA_5|-(S_kB^b#3>kNO^H(ze=O` zCc2JFr%Lt@`Q|61ttw`5j8yxYMk&+x-|u+-W@^8d#v)#X?nBUEtmzk#B+RmPV?1~# z(KKCkKL+!o}Y+L0RRi5V7Dco$ZEJnp0U_s?}uquvZ>6bUfG8 zQ=w#&&!1R#F#;62QtLs~woq9`LT zC9Nc4!86CQxq_@d1p1soUD1{&A$FK8G8JWAw~ho(?^A`62Zw&dZ};HDr+52){tItw z%0OR!O*~Mg-;yO@HRZaps2_uL>Vzv&OE^^ai}eg0ynAIY3nVYjUviqO&j7!vq~859 z^ryy zw}31zgjx~i_HzK0f~WyVSv{Xsm{1-) z9Owioi6}pAHDigdK(~q0NzF}*jT~id&=iMd&J2?pS4(;0yhBP#kBY=u9~^WbLr%M< za^AinCp|-$2fDVKt6G~zWNLF)HzO)XKR5d85Alb9a^p=Hg$?0X5Jw>Xpp{nSCE`61 zIwh5Qv;z zPE3oBtTX!tCDG;d<3}`L=%Y`PzzhcW8!gcNWEq|-4Hg?S+gRfUMp(!RE@!Lm3H$95j&u**l_-|*ItZOa~J%Yu-hny&K- z)3quMIK-mH_VTIy5{&&dP(y&}GHWCOSty78h|3Gd9Nl~J(_LU*zooIUx96lGYh%BF;@u_P~$BP{E<^lrNBBb@xt*v`lwt-clf3qt~I$}`h425Ivk;E8xJ zjnT4{kN2+q*{^())T#v8%?AiV!^kIrv^d^Q9ZlGo(t)xrES%hOCnF&yL%pD91-MPY zb9^%9X=}hxyeT0^=u1V~?rU$;?-10h(rx9wQZvivs`G`)T2}aY^6_#|rv&VxYxKh=tN7ED}Mzi&&=zYzlv&*H` zS`wLObGFQjy`vON4;xByT8jK60s>SUA?s)0-73$6T(RX^N?%fmKEok(aP1IpdD8=? z=bGp@PDqV8V__U)yyep<1(|wv->-Re?Ws#h#y831qS%EPKH3L6=_kc%b*7G3w-Tnt zmtNA5IT6S*Rt=9ShlOuC#r{RwcF^{s1 zsHP+8h0_bO@zMSm+I0(+x=qsn{jC+R1f6kCS&M0!=VgN}lAXSP`Ox;3VsUDMot)3=A({-lGOHL)|*!XFcO%A@d`JNwC_HFo7`^wYL=R z$+#3fsfh++V>N{O%22ihRZrgjjp;zolrv2W6rcoETU;&HE#YAiV2D#Jc!W;XXuTtr zCXD2kEcRW39pm5Sy#yzcL{&4U%X|1%8pjOM7~$;fAH6qhizTN1+ItpHRW{9A)-4#5 z=S_6KZYyhTR+`aOSWPdSo)U(WIiswgEDN2q3iQv)-L3hAnlQB7V~L>dM` z;M)~JSXW+x?h(X=0Wo-r{_bJPWMX;|xMDuFup&{rm{C}(qF>IYVNgA&><~4y6;gSm ziB8@;v}O1wqR`!UXe%#mA0(^DOjNCGc4hrShi-9td8M5$E=yW+*zAJqsf(D%&hi!O zU0aDW4Zb=D`cFXGxVIjR>4nNu`jEE>ma$I_h(3NK!v~2ST%~#viURsO%R7AL$X0YA z;}g<*8aDIWXD=^o=1<0%%C92cI0-RPW%zhSA~H4g60*@b^2p2M-)R1fQ$TTfc4D~x zOwtU!McP&Wf5}; zvty`{DEF`EIupkv6b7+JErv!NMTX=Ej7E9%V*9P0Wo3qDV}?W;3ib(Ptd8Q;(3$i| z!P2Asxe7(QGkWr)$11d_3+Lk63Pltx-I4a_l_N~F=E{GNMvRtTIJtF{jLpX=jhf0P za;s;i0008h=w(u?$w0_JNF)$slYr9dWXa?ch0^3J5=_NQ?P-swmlBA?(eMw;>_dh~ z?!nNfiF5Mc4y*y}068%g4`roFWyzTe#Y>H2(8d!}%N9(>^gL6G7VeNj$Pzzk(ED-v z&%_(c7Ub6ROR2!yk$vT5bjf^;RC}-qh@>J|vl35+&BpA_>j45~(LpN&d$5bs(7d#7 zO)nr6eK4Dp((J#}x2OOPK@UYEsNP#nW)l|YaHZJ70`AEz7{8@EfEuQ%l$c-m!Noy{ z!mFb!hnbOrDs8T;!E9`HOkK)Mg_aW=tr3mp*=<>!#c)l{c8UY^CDAEuPHcrPzzGf+ zmvY3UY|LG1HOF!xL2Ar6vicZ<@laJAb(n0pd<-njKF>a`C`0lhn}0s;ik21May~)9 z>`GdoC%u+kXEJ*3#peYE-6!RHpRV$1QD)y(lz|6TlrgMyC>g0U+6>#GzQ25X4z|I+ z!yLIS4eMg~VPV9}cU3tspSzVTqPj*ax z9E)xREz^#swF60htS}1%Nj!9PYcUo$CRBEZBGsD0cm#haFVz}R(+%H}5vKy{Oynb? z&;+|urddd)V!(6ZP?waACtHVX@DC=q}aD*D9xAy{BX5NjB=j3UxPWs9h%3 zJof78DD%z@w~%nTurR)C+Tr(L3qrgqa$z9V3PcBFm0z?`_CcjqIuz)kQAcRGa9L&# zl3L2abVz+D8u@3yXFj1l(Ic)ksL|PctaHq(Y_5_FuTVtE*=)?(D7xrE>B=PL%+WTV z42BfOd`w`hKkW|mmENBKBDbq?ygN2SM#@dmjZzcQOF5rB+F}f0EWXSSdT!p34p^v- z>>gNs_Lrc!a#;lweOa8mwN}73W)h6lOUsX$RPEa;ZsPiV>;HINE2U(iK(0sS)FJzlILAc zwmr+}6D|JRAi8SD=Y_uF_7~JgblRPce3VqluMse*5t-4kX~H*}v^xqjHw?N54Bze1 zIxqgR#^@TEQCctFh(CN1#{yq)SL2^R+CwxXjAVhxhMe8#BHS!@vZN}Q%p?@)b~k?{ zlf;>fx*FcogaY3sFV2{)4*?hB2g2L&TJeev&I-zFx8g5HzTEa4^4j$=F`b&f z1U9qb@PRzEq2pW1MxB!h1+{c(w+03r;T7VG!$r$ek=6e=s?UdY+Prno6?@-J%vs#N zAd`A*<#WC0Z@xI~c1T)1xFosbYfUDMbmLw~`0eo_b_RNrpSVtwa*eq`IIm)B z%pEhlp4S<^RqF!81U@gkc4jJywxr)Y8E?+)HFInPEWEag|3yDcHgo3~sm#p`H91*c zHMel?`1f_C5R6FGZ7H|`1^!99G7rXO*^^A*F#n8NGO)n|qTmIIy$^fn^HR*C;wj<* zA#m~6BV6;@9e?2FpeyqIO}KfHhIy_Tz{ z({3;ky7_(=(s@Fv_zvTh;qMmlzCSlMxyzn8QSXrD7EB@D+4UEWXYH8!h~ipSOW+zm z>mvscL0r-Z_^>xIQvF=!x>NnK=;mURfl_oYE=l;XCD>v z9u(*_rCl$?mJaOzWZt+|@JmGwa!t{9_wu&U-1s^eIXDtoh}R!Ir16l=Id5D3?0(R& zCwFT4uv>Kz-9s{j8Lewb`l@RGcr>8~Snqe{v`cF28R<0Dr)5yx4R=Us3Uo zmX)=^+EA-Djtr;&uSxLhWMp{gGhO1Zdl$|oC)f4+6_PRMX0dhoaJsv3IZH~6%C^g;FE7NpK%5Xx`4(OE##IAxCzg5&#()tASx-K1>p16JjoazfFg6~dgk zKEvNy`{nJHDaHXD<6*w8G`LO^;akwi(t9t}OzBGGgy+J?t#>t)uog4I?FtKN(&8%j z$B%YKEf!HnZa@95+{X92T$XiW9`>Dut`oBl)UEkh?_g+xi$nBI`S|+zWZhL8F<#>8 zy-@#g6^w`QOL?zhl1+nK#8$v!2N2fVH90AjXMIRfF0;|Ox;wXJiKWi3I=(LTj z-?DaKZhJ}IpTavv4I+EJoS7wzlEWH)6d_yX-h0(n4e`ILWhP@eOHeBt?;V+2<;ij^a>ZNH?rEV#B0wB~>B;lyYpObiTJ*=d|^Exr{M!7k5-Re1Hx zZJ+a&T0a%QE;myA9q?|lUMm>3;#V5fRjq#2kR{(57Z$1t$hNqgrV~$Zj)PD7Un7m8^SKW7VxvF@8mC8v;@l);a7N>WerUhqqR~hy38Z_ zNr@oL&6$l1!^Fp@dz@fTG|sbP<3ViwfGZvj_SU7U`W3X@KU&xsv&g<8u~)Pgmx2ZY z4=qcQ{Z6a9Dt(qFg^EKO@U_&daYI>g!Z7Z8AIsH@pe_%M)guqVczX^%R+@kL;rY9w zw5-WJ0PsCHBXNTr?|V5XxfyNrKM9;=>YAle5wI9&>Ob_7IkXaPicZowh zw%yVVyo$#w`QS@aQ+`bZEGCI6fZjiv?rP8kYzWN)d_S_qxvBhQJ56#f9X+@s)k`24 z7uwId&-b^A25~5t^>H{Aoa9*L`JfYrS?0Z#1L}HK{(Sod+kZ@jt4u0uw-j*l$CA7F z@fTjOo_h_Y0LJ`d1I)x7o~)3W6u15hsmu$3tdONtPRNM_!$}0odnu(CtLrgX#8Zhh zG4{6pS(qeG#n4^C8EwLL326|~aoWjI?VFp{^S0H&XKhlq9=*@3>PLLlo3Yk2ee;c) z)j`ebm~Kl_H`?#16U?lhZMH6(2A{NpOVD<^_=m@t*Y&%v7fly&UCiJkI;(Xi)9BzM z``&Bo^?TpbM}`+|mu_9n;3NJ+)sy#d7x(Kc%Ex<;H^=%b!l`KLl}iEPb6-#Jg)(49IX9pmbpy-NE0yfXWFpU|S}MRU=frMZI2i=*BhBBnn0 zA%-Xc%UiMWWnf@dY%09eoIFkidyH8;&4-+3A()y7o#l>HsJT0N_5{pM3T!bB zB+5^J6&G9QsUQ2*{un^bSp0l$))6$W)Di=1F@PNPgv~eXcxY!4XB2yxvqMW5m$6vF z+(N{2zdP%Zku8LNyjrnw(szjjl_!d)`WIadc^2+&QmqTWlT8)~bawpu zBBInqqy|>j60o1?>qti*|rVrmDQwy;#lR>ywf)}>;N@U#D{OGl@+AVR<#MH%&- z0vFMn6KjnF8L2Iy^pOIkR^FxGw0`DDdMuYDadTd%l7|s|Dbp>f-{+5vI1LF02t2BAM#<}rIfxlr`|2V_ zN$H&c)iM2yLH15?mN?1fo&YW(*eCA=>EBRie@n(BBxMiCDM5)~mO`CjbtzKrX=4(3 z&N0X}49!TpKU3i8`gX$FL7`TqI-~$433k*!RRv+8L_d!?S$;2c8sH;hbD~L&7Bff( z^|V8LuUFQWqvOyAzfD)xbQYx#IS6g}O#*0RdlgiP&!qLxW9+du`!fDHN!3Ggqzf*X zj$zTS4V~>^d9Rhf`x{;<X( zY$w3LvFbW?(bdLawj4>KZ{E~AiagWuMRh228qi6jR7oO*!YbOU3GN_pzAP#P!W5}t zWBY`2*&`7?LS16VzPEjVlv7-m^zAo8_Q9~RL1#L~_h_Vo;SKei(tXAB1*r3_BA4}% zMh&Xf8E(UXK@(5B>C2yx%SBluYl3025@hU8vH_A%_Vhzcd?oly5e$@BV{L-sE?63Z zg6n5~_NgZ@6TS7VQvz>`TcX3C8=`&=C@Je6SD(`Y7`%_RL7gE}pRFNoo?Urr4w0j> zJ);Co_|-_gZ$ zWTJ;B&=S^U4=k2V?C6awd(m^XKP5|66zl7}q?&sb>%U8k4)Mw~+kG3ACZxnaC0Q-@ zrqnv4(J;}CCp@KD{i03PEA&o|LfRX7}byb1U{7d|qw#4W^0?Ld-hE=z(t1oF*IbcSoF4gLb zJkxp;lcpk3wVm3drh+<8^u`Z7gJwTSL`wmGh4>-W)_=B*kSS%-DiPT9NCt^%j;i4n zR&EU-w)6X(oXhDo^b;PWo|6nyM%xqY&aUnk+qDLXbx8G%F9SlAV$uCA&hxcrLujJT3`wOE%8XSN;mUv4IaY-@^-u}h2H#U0$APxace9`II6YTvbJ2@QXH8N{F zA<<(eh+H>rmry_;ETc{zR?oUBMG7S4V}<1Y4h$1`;Or;-P8Z8SZDN#Vtv(|=EfOzQ0@)*gy2G7o{v@m7O`S}G&@soY^i6%yM*2bx7QgR zF#)+TFK)Rn{AZYsH8SAa-x&Gy6%744uphXLisoDU-pj6f)`(n7XOeadR*rYhch4^3 z2y>O_AY(3qhVk4%*CNtFX#UhKA|kT#Nj^3tat$)hT#eu6nMC zc;lw|l(YEAAp6Wo{7mNjWQ_ad3NPC?0y_71Q>YWcsUrJf5cId}p|;~6)@S|dy$GUO zLOPwX&g^s7qhE(wZrHS?Ux#?C>%2m3C(brP>1{vLe+m=m`@ULWN#@}{sizSBTn@#( z0YmFazDTUG*678e88kfiC>%W|fi(E} z%R(OI6j^D0If6>un7gC@p0)1Zi}KgvW}1vRdm$hwr+1p8)T)QKbPy*%Mc(a7&%8O4 zDy9Q$uDEb?9wF%rkrMJUo2h~DwL22A9S~zO-G}p#=@y$9UI)^U)FxFj2{C+LeIqyv zg(d}i$^of9w?@8$Q_Q*@j%AoLXrV|o;%^yt5~Lk5o{kz;m)y$X+oRP}?75`N?|4DC z??6B&DLeOvAU5}~hzXK0pYD}wbFk*1J~(pey zhV{F#uMmO;vrOOtQMzK{lCU@^p2QSoZ_M4jW)p2I8$T38NX^J@>@>WaG50-i$Z`tO z=gkj}9Py+=;smaKIyb+4v$Tk{|K|?c7Pusq-|E^;Ytuf>RV zog^%9Dh`t-Hcav(w_=S~?=9oMS@-ecc`KJDNF~fCIdTdxkqbg@ui}1k+AGC0(`;zL zcMDst2X2<;Op`mK8-({*7c0B@SxGR+>+!7!E=ce0Vg*Dvdu{s}Wkn!TZYD)Te|X@d zXru8HFffSLkN%IHtvl&c?kbi6IID%qZ9RKyB|dGeF2TA4cp&iqTzQoZ&6Lit$gH)^ zAu3Q17xHzv5^#m}uAP^)yA!wox$w4p&K3vp_t(AuDXp5)eA4BE*n9a!*k(z}*fBgC zC8FwG->S$z9+#9AZH*yu`_Pb;gzHrsZw*v@P|x6dgs9h+r;U!0P* zBd)aM=AXalQh%PDk}e~sCrwB)P!Tnt3|lj$rjq;Tw=G&bJvH+kK~#!LRH|cG&kTF} zoL|mog|m1lE>FPIh8XX*Br7Rca447wgyVgAgo0DZG*ompWTTk87{CxKhiz|=^HCtv zs%sTHcd!P{v-ul8jx-KBf;c*!7>ph0&6B|ByhQeq3oNBRBi#X`>~-8h7-fO@9>l!w zuY9uIa7<}F#k3N$9_m%v;U)P(y8|I{%GU|hGPiMFLJhYas# z$^e%*hYpwXLm0`WM2vj*zocU!NB?ghVvm^3`p7RH_uXLJ&4X%Jm%l&Kt0~S5_M;LH zSUnPx3igjApBWE$s^18Bx{H1csi@M)Xh)1i;GWb+x3j{w-TVz*AB}hMwV=jVIhLXe z-5yn9<0s{E{bxlYP81kD8&6;Yny*h_36;u+4KI3mH^YSAb@`E=oe`8~E^gxN&i^xD z1k+fleE9JsI*3s znT;~>$0MoEq9o5{Bv|%uUMfyqUIJP>twF0}gB_gpY>Eh7_e6bMNg8-z8opb4U7W*9 z3g8ZtNyy)PL8*&`dSK3uQ}rNNT|6(-FTzGW4~Q}mJ868@C*6;*m}Myz+(wv8DoWl` zyM4|67XfiJml`rBWaXF<1EztM@0b)GKO(MDrUeV98*hm$fTbSGl3*1T(P`Bc5#G7B z-ML>eb%MlHB^qIJm`XuCHzD{Zh`!wnQ&JWH^}I3kK73Dqa(nel4+N_~<>B z4;umr>}V6Z&v>68uV8MtENJU(@v4*_$}?o>@Yg(|jlK)dsv8@XuQe4KuaIBQEyv|$ zEW0RIBm?JrYB-bBh?6Z$&H$WjgOt&G@W8xs=|2i2tuV9{kpf0hI& zi!dI$3bAn| z-U8nxnS&u8bO$ITdqFvwsH>4N_n9dyroa`pCt?=uNNRZ#D)(ri>l`G~h2ll1Hv+3X9xI5xe=JRmaP9=oyb7=f&^v&>0&3cKS9;vr&M)o9(^QB~D)Tr_r@@3oT|D<^ia{Zzr zw@*3YIwtV+C-4kUxK0~u;+SFV=7@P8GA^CsYvHV}CR;Mw=7_05BCC=iSGI|zRT^A;EZMb2^wS+++q zq}&7X4&6(C6+s(TAt}vf(l=rfh(V{{uq}i*{}9RRNMOvp>)U8o44~>)88N*jg%B4l zyRH&}R_pt#9&n;miuQ$Y`7L9$cL*eldC{9VcFqn7Kk>ZC02fWRH zbb?l6{?)w76sXV&8#}1bD*hCoRh@{@_0L88eCXHf2mVxJqtB0-5N=)~8IB+%2x&+% z67;*lZR2%hrtdS?RPj6IhiGcTAsLXizi6f%R{)}Vi{C%>=U0m&t!~5?3Qch>{+@o0 zaT5uut4w4-Vrz74)~{&9;7UyjUfD&}GC)|R7&XZ5I~udQt0}}ii@~D&cASwEq|U=> zntaIAX-JF7C(n+5fKS>~6xXECQlzlx&Kzn4cvrR^%7RZ0zipthH&oqI5~3JDwwmq6 zWZaDOR0l{asNp^TPR&V|%NBUP0dffhCb;;IS_6fWek%`YO7Hs14L<$Y*BhCUyB`vt zQ$eYqFb-KqHGZ3GUr;NBC!L-vJH^_GBNC61wNqS}bD^$4sB`ZVO9ZocBW+%gEH>zg z7&YF(39J{fY?X}9Om_wOA^U;LTJBX*Ap*9>XVW|7k+a3Tv|H74V+&hOPOLE?j5|z2G3xEC z;4{cFg+ohDd0v~l2Z%^1mlaJVyEU$j)QWpSwA7K&WUKDo7Eb!Xx7ym++l+_(%YL6B zbMGR?L!Rt{+Zf2VaN|{cofho;2G<5nCO%+L`1!98kpPjZb|=)XP>C|C$Nkt^xQv7C z@A`s6-})hryS)H1V^pBH5y$(N*SB^498NH#k00Dl6=z)r*X0fTE0Pqj3Wtr~?4FJG%1+b&i|q~zRK#uhMj zW|4`Sv-2Yo0|x75eb4i|bLfYWHc)qH{KksoHCg*z?wQMRJa$!<_O1S&j6#AeDO`rM zIk{I=a*E3))Lp%+3vYguabl@6~H->O?&n{Wr=jR!x`+EG01CzRIA1Wo(U0g)=`=lThcW1y0|i2U)e5> z&3xGXR{1f^5;$Bo=uRHxhgvy~mW;s)pYNGVE_XLGCGNby87+cv{AV%e*aHKj_|+4N zy%T=@JwyrD__};Jbb7q?NX)S+5(oCeG-!uzeK^884&xC9iApM`aA14M6Bn~6m5+d^ zyzy}G%C%XBBViRLue*O*HTDVm^}Z*|CnrQyH}839-I#mXV}ism6C4D7dzwK2RzA9@TBMR;9v=kb~k%AlRZg z0J))XH8{r|%X)iYmHZ{zL3$TcD`->XZDD{uQh+@vOEr3%9e&@j)i>I2O14mr@6XiD zUh0mil^?^@)toVJXTRnNlaG>&A77Z}xj%Vx-;AZDvnn@VM%R&JgTs9%&OE8JPH2__ z%pvbTYfD-ZACR_yn{eSk0HvmLn=Ey}Nw(wTnj?}hN;|5Q4hHW2;E%3w{AE*uNPQxe z9M=&OJO(4UU%lV;X=VHi)Y%&Ag=a>UNJf-)M3SLfYDsOW@!=mE5F6# ze$5pLeId3W4$cXtQtlKo#A4x%xv>z=gKe%IfK;?+`#%hHgP6wY8aLLY9FE1n%rWnU zPwine$G$aUedTJ98~4G?Fdv0a*YhtHef~aAO z3hi&)C<&ar@D6kitxWLoT9YP~`HBpp(3TTuhKPTMECm^wCD#1%n+rUPkq+e=mn!q; zDh_4Ja*Jh$Y$fSTCF$cun8*dyD-xS-0KCk$xU4n}TAt2>1cTE<+mle7>|_8Zbc zT0&moWYu|FDG4c^Ty8m8%>bW%2qkiI|D*6>=O6u(&ftcROcTCrGoO4TPgr={JVP$U z*OS~`%277a*OP2r=#iIzJ-)RkgbCau_y=;}d{TlMf>Jj0y5Z-v z%oL9!qy=}vofumDR6Bh?BXck+J=M#obn=B6#8truB3yw9i%VJDph)P*1%Q3dPeExr-J-2%ND|MH#PiHhTW${p{>~m~r_z$=$%d{p4Xv{0#l=tml+~1-wT3 z3L8cp^qWueDxI*}Z&~A{=KI^E@U)sS@V7rV0mzp-ZB2`9gQ=g8%~LEmX3Vw((Pi|C z6>bWUi@24%lfdRF9jq{JTZ5<@E1a?u!Iqi0BZy0s2&#lo?d4rK($z{bzquVCyd9E@%3Diy37Pj03!68p=s2g)pI z#w0|5Mv8_{k9p1Nb*$$}>e$v7A;J>7Gqd{F8K~C)?uaKBP9`;Njx00gFItB`LMlyy zZ61VXZKhjuXxN}^lYbbcEQ7HDF8X+ydhdWVl`3mpdKjl{rLh4a`f1uq&ww}_{c3}B z-`|HyeFJp#jI@=$z=W_W+05YqE~;ksI?=w{RR?PH_SBWh0jTeuK>`+OE9ClwP)-0W z!X<;SSS$&35FZ|Z$TpfnMBmhbgvb&O@lv?fB^a9AZ$MI3)GWPBF{Kh7hAd!eN{j&m zcf)Xj0N3fk+)r{NjVzL9T{%bqJN~zXY=lI=5e;6PEpw-f(H0tp4MqMSUZ0<9=5y0( zNfaQ!h#oJRchuU41yyDsOYNuO4%m?})w0|@)p~Q=FN#DUs&HxLKM_>?e29IIFlLNd zO^M)_##Esh>|(q{>~oaBcJMk>4~5_1VS1sdzunUA$@8v!vB-6v9r+CV&9$^lEDEP| zZNvtbi08rK{%I&{ghFg4LH#U6osa&S3eLFn-Ckb`udVul92LI1g?%i7OpV5>zxxDnnl(j+7CrvbAJL64(fn1_ZA5LvBYpD5e z5-pOb#3|KNG1z=`sOgR*d{0yTR6({g#2l?wzhp70D;rh|4gxlV4h55qV|4ys`J>wg ztZQg8loOXWqnt=sJgc^&69;diTZRw@VVFg>q(}rO3>k!e6u~{7`Q}I04>CvwB&0vAmHQhG6zwG4f))1h|Nx2Z^7vo zB!nHKvQ~QJiWyB@S$#=K{Da?nQiy{D4O&$2p1iJfLoQ&=%L<9<;inUsWonjNGx@|E zn&I2vwcZ`w_5w>GlTAqq7Dm;$ce9}R9#L@>Ua!rK6m=Ds(FqpEfWhAUnU!5ri-%T* zY|A_W#u_Jr?I@0AT%9~GI7D6?;B{^z$hF+H?JEv(3;Anx%=Zvt^UT448i_9&5<1=k zY?bk^W2->t5Kz)aCzk84eSsBVhFCgsmiO-i@XfNP)9Sn$x~4k>OPgc$7y$La7+eB)M80(sXF8fYV_NT;_4Sj>tEH01i@q}0_QTx@G~P7laq_IZiW7!)?Gq+5 z@k*FZYaezw(T3smg|m{uaYP)|qP$-e<|=sbkyJ9y;=DL`l91+oYkd4son;@$OEZ;0 z&;fAi0tJ*-id1}MOb=K#7HuI}<@1CDmEO`qEa|f@P6{V5;w5)wf>kyV$|AW=2^m>P zOgSYje18@b$_$EZ^%!{LbH!JW{+aWEOx?@Ivdg6Dc)zoT|4CJXn4`II0c!GjF?H*^ zl$V)mqBjT;;NY-y-2_i0^OpV$X%w@ZIEfl)66?rKGQMqgc7JPp!p_hTRkxOBGnrW% zo*=Ev_~|eDukVLhXyjDw2{Mv-9DuRK%DUJ|7T@q>BT_ceU}k3N-=*0tX=NHx4Uk=U z72a!E9GaSxGVY@7Wv%Z9h|oY_e#$2e!?iBMTR>jtUBx=^z5jVNtC__LY764BC>Zy- z34C~m4vN|T6cdP7EwKWS(M2tHINHg|%iF0nJ??YoHFw?oXO3R{a^{WX zCV6oTJIK}!b6zLI!#<|M56@+g;6Hg>G#J1B#v@9y88O+%etY)o>N~*r?+ZcBC`VQ9 zeXG+n5*%#{i6x`so=PpIJbC39cP9g{6@2raHyj_vnOL_!OzqEJCa$+Rhi)(^lzM=3 zfkH146>{AQk;$$S6_aR-e+v8T_yDFXWa_bDeohz|6$e!`3+sqjtek<{g~Fd+RHC9k zeGHeXS2)3#1O{YZ)?S!CRkab>kQf0zhAazfpQ?J0xpXPWt`Nm2F^rX}+GH26L)9;# z()6U2n7rx=+?utqM%F7qXRHDOE_rJ`y|dGiQ$$^z=hnisMc$81IdGFl)8Y7NjYUlQ zW%WEM9?e~S6<2aP|HF(zI4@GSuel@Bwv7cg0I!#O|LxpwH7FM}%z{PX-2E zrH+`SrJ0TM0r%-v#gqwUG@~u%QE820Qe8#(=XYyqW5R3)*%X^8Q@q7G?(vpBs>!V9 z0*eg-SqcoCLI<=TbV>iFJMWl}Hv8M-A>#g^TD#!0+ zcq(q>x>HgL&y6l75ZK=9FBd2LL|4^L*|2ufT23)H)}7Q;yH8qXZyfJivFD(0pu6f>28#JrCbF;cOwKlG?y5DK#J{YvIPqJjoYnMlY_spS}rv>T6EQ-BtRc z^o1zZ{@#at9ZeuXljzDBGgEKD^>Xg zJ(lp77F+$q1drB)hrB3LYG@a$Zv&oKUZ07YuhK{3K7geBLCW@SLH5TifCk2t<&*}| zqaoE8*97+s{q2^+WR>I4YM^5?P-DWlEmT9u^pKEh!cE(RoHgTc;w==eA#l7SFtv+^ zUFdHg!vWiRSgX&}1fN{$ZR-TYz*#!`Efae2m@yIA;m+47&@M+tOsRqO*+uBJEYuAt zscNY#LdevB2?f;K1gZ&pCI{ctwal~}HhrdDHqiloUem*poooztKvZigUk;jqxLj(E z-*j=RvK6=SnqUeKnxMj+hukrywtMDrn2X;B6#C0|Ca=U}!%Of#+}v9T<=Ii_wY=1~Tn1a#eFPzJ$hW#-&$UvP%eICd z)U20m`hxM?%?VU{+T(;ra0cFefzM`JcHV?taSoZMz*{#IRw2W_H>%7-md~ivZGW4R z)PAFB>1ktV2LVI*zToVr-{`fokzULUd0D}AYPhVL$@DVy| z*xQ`f`Sz+ho?#tNH|?N7bSfQ{$+3up{Xw;DDCTSq4Y$ROB$sg2-ep`-d z3*dyEfqW{)cBhpoCABxvz$RTm;Q%@&LKP11f%w$;lNuo z+--;J30Zw?`ra_z48LdzSw9iHGu|4a91&KPzg7Af9daSJUjz@H z++57t_5v2Ng9Uh3H~4|mUQ%e zaF~RFS{-poo|5fmGF75~ba!w zC|8)&Y?mQ)t5zt#$k6Rq5;2hNftG`8DmV#(Alj}poX{omWU#kNtPg1j7J}#(7zu)` z{{SVO>@nOO^@G}y3T!1?I;ygV6#yP!m# zT8m=^pECS-2`z=`Ww;&eaWY|fR>3?s@_Sp63gh7^;_;J&6OpdO{54!tV2y*=@N`9y zXO=MGcE!}uDWp?}%I{}hQbLys1bgUMudO{>mEoU%c_emHk!va<0Py;R*}t(JHgNDl zLXlBQF+H>_Sg#HUDJKX(Sr{f_ty3gWtQ{AzSaU z!+$D$6RIWpfRwv}huoRAWq)J-i+`NsJK(Shva*PV~()Bp1dx;lW{j=LjB&KCOp ziVJ#&K?mv*^on)`NwyV%<%t31N$}GXt?EguaYrMOfo&`~$*e^sufHB8f&sh008X#& z0B5RU!E z4YmKEuL&puL|21<1kvrFX*2Q%TLkKYGrHvV#lfi-!w0%ooU7yk{O)}m_A(x|`?qr4;C(>3PGo;;9ZpgkKDL()4 zS`GI{DGD2M`}(?d7`X=87K;84aU=~r4EEdi;)EFX5oFt#Ay}BlVnxOT9=Og2VOtd} z2Q!suXzd`>#mM;zYVs$)A^0jiJXug5La+dy&X#*bfVJKmQar8R$om+_+UkNJKjKMMZ6Mnn;VSFE-NCJD-5d^#rlY4TFd6z zH42w&rY(xQd(8ZO+^*r#P1snx0^$}m_W%svia62-46BQ{ zWS(p%SL6h{1?=0vZzS6wAa;4C1t(pn%c$P{siCej20hvS+;!a8O(TY4kJKEk+*Tt^ zeA0$a19o?BGlZn~FDTUKkmwb8mK@65xG%#@>q&2g{)@ziIzbh5{zc*={>9n%zes%k zPc@?dQYd35W;1>3FAP2#W)oLtLoUXIE%NRKHLx$p8|!K;28t%UhG*_sRVb z!>b9KrxoRul@m#)-p{wXZ_g#&FXxvZd&8GLx0?z%ALBKjrzP<>Pj}3p*C*XxuX{1u zpLZwS?@uAbA9s_l-5%8=tpH-42Jn%g^2O z6rX!;pT~-BHv#HOiI0G1#r0iyFXWc&EbAQ@T-MnXfHRU`e zr|Wq#W;=V?`^9SFQQ?T!>$BfRNAUflAm}HrvxRU$<)RB z_BPm|wd;9jKF906LZSO@F~{p=yvF-}T(>jR@a^`ilYL%aeO`tYKHnCF-ul&i9%H)S zGIYIOUVWbK)O-VU}uH{ssTOKLtYx_w@@eV)IHZ%)=7%BGe*UxmCM4JSS` z_aEybw?8Z@S8KZ7ANnCb&Rb-UAG=>4mbX9GAG-y+PeZofb~3g-Ur)HZ-}k--$JTqQ zWczD?yT6`&Wnw#Lo(~N)|N8j(@zup|g}NW}5?M9RgUnqor_9~f^j@<|o@Jaqibt;K znNZD%P=`8@k5dPUZ6G_H>|tyR``1$CD*^~0BB;@|!x^;Uy54(l2g}g#jV&eqC8R{z zyhnmRs|x^c!)K4#v1U|H3vp?~gM1+r4(fVJJ&QT50H21R7)~sBdyA;~I2^B$s5(NN zW?kYHa_z{mQ9q~jQgj#mlsE3!cZhyzPr7~7zIi=`BRGXr(gEAALYJj;q#2!9A1Lu?C|kV;jqTuu_9y=B9-P z`fQLAr%Hsr#PYB7ie{$lE#f~b;?{KIe8dn*qt-31gkt}w6O1D96rS-ZD? z1*-39hM43!Iav$_$&0R?Nfo6XrvJDQTl%qzq|`H;vtjy@u7&0G!A8yY)^c!k3gQ?( z_=^Aa=NO{V)`Th*ASGXYVG)02`Pkn)y}m%1e*x^p5GxCN=EU};;pECMi`~>^mkbZv z=)UHlBz?Bfzu(e-etwuND!^Y)DZ%}7BOX)-8onu>3T$7#@>r3v`ZZGLp&2~7)XF2^ zz%USs0+- ze+b#ox|j1Ins@#BLhOL1Cg+Ytze%NL(-`_~FpyHobc@2|16Z0m`Z0G!=0bcy8b1I0 z_@A!=QU>IXaKNKo-_*fPqD@~gSmJ5qrY-F%r4OR`m4WtMf~gV3K4vJ=n7>L6mF}lh zcb^kGksc!h0zy$jt;1G~6x9I;3-kNV{NC6HfRsJ5R1IxXX4qW7z%G(`m)Fp~ckpSJ z;j+`s;~wy+S*pu?fJMQOWCW3BNm$~#B`-$nH$h#e7uVBsbG`h|?*6L;&on?;as)ZrZ{l2M;P^w(G?f|X6hHg!fY;2#7wIy=A zr`Hj!xfcOba1LHA(S7E}>tMEit+A8g)~U&b4oGR;tB8NQ$-L}WOWFtrV{qw^RPL5w z*L`B?$3tSN>Zd^#P|af|`UdN&Qu%7+kFAhYcl9y@&I+IC#LZC{PCW;v|=D1hfZuosVriIbez z9R9x2pi|u~qbo}RoqZZ1y8TDQ@;g8OEZ(VYpOvjolowzp9@yO^YAY!S7SnUgqacrV zsvRH*%jEv?rq^i${{>>zHEGu+gs{|=eI?t&`EVV$J{kdjk#H(}4xv*wb30Igx7VVF z=r3UgLA~)p`m}%wIX(97W&fGJ;gg8d4KqFepK^$odyv!%iPb|dOw+0KjT zwBL64>eRmHl)p@ynKy_Yh*nW>lBKR#4{G%_CDExgIW~BQMH051{YNx+296v?3S!Lw z=_!KMe9zei_k$unLG`>?gzf9!Dgrc!W~R;}ENfi`L%CD$iA5p$paGyxzYVL1m=eqV|dZ={Lv?1gTo3!j6@_ zPynaBcJBb@f$e!L3yl50b`JRk#51}oSFPHVs)?R~%z^p$|>Aw!mk8U%JD2i1rUShwJ) ziyfq){a+2*7(<;Z|7P|+{cDD733#q@gRSljlUHv?U*7vrZ<@Ma=~xL&gqm{Y=Ni3| z*1ixV8BXp&Hdy8Y=?W=;5{a*k#DVNN(IF?}lW%bis%xOu z=5H;t;h6<&CG8P{!{}*g6Z*I5cxH$8^q~_8AXI<77+E2rvq(>{noik`&{Y@s@{9TUN&k1>{GMG+nVd-a`w#?xQe5*$8}Z}d4F zg7Lx;mPmML&mFY{ooW0L1|7+o)b(S3|YPpXeHx$jntLqXY2=a&%>L|BUgrWKf ziUE!CVp{wkNz9RJgPnis<#QK_4Lim>9q?(wXwvkD;7{lV&_8tgRTe$;K&%id5HuK1 zS_9~NzS&G`@1q)8>TP@c@N|APy=lN+aWi%1K-kpqZe}C;0r+%)t=aR`C%P^CluI9Z zGClAoaj-s>$R?N3AJ`>FSIow zc`tzdHCrN)G#zWvxtzE=OKLxYdjk)|rL}iHmTHSbu~h?jh7uHu(-D_?XDMe#ylT9C zPA;DaA$Wx${e*K!hbQ8l`naUEK0+(htW#$RE3(wBW66VhHmVmX95)OfDMpg|& zx~>Dx5LvFrXV6Vx&F*|``Sy@mwkUhTtpH293%K+ADS`W#BRaEKA>%f|gV~IU_hO#OYnYGo<4QnAdO=WG1-nYl2r5TNMZvU3kzAAFm<0MS z~fd^7liPehZ(U78!oc+2gp|1q}?lQL`6dp`BuPt!;{seq@ zx{|fSO5l%O0!L-EF%WLAkC!AIrqau#bi$Z2Vx=rOS77mmP?rwF2}yg|1T_=a*RTm{ zOXdq$$7pQRL)eNB!7T*d*x7_4v28@%dPn8{&@?qo6BTGtJGn`+}_M`N2x9HP*b3Qv~~ z?5h>1*j85t3ZT5zG5SPZ^vkThro$gv&_>zf**~k%WAb6u}Bw+&?f`=6QdSdn= zxCmOI!-SL~qr-W)0z*Qo(b}G;i_4{N1I*y^f%Qg|C8U@G+mdi32A|wNJMiilbY>9Z zm^+tO$U^aH1=CmR{?v@2uojjg7vP=@XG~o(UB&&jt8ulCVnZ1VGZKcjIw5OiVK}Ra zeUz3g!w&R16R;pDpPVkbH@+wm$yy;g3A%AVV=>C7+06H2&BF{%n{ z&&!j`;fBSCE1PUM^JF~kz|)jLXEg#W%pz*SCcF;L$PAXV!WZD9jqN!PaQ+CH`h-X0 z+vfs43P?EvsaD`HOH(mzSL1MKS0^ZoX@ItL_rs$H&V}XMhJQ);aotq7c=Qu}d_pU* zPjuVkCx}BI9&Z{xu)JS8m9gA+Q*E8d73P5B@xBlrm`;$r6}s#)gTfC`eFB+&Ls5_W z^ROQQ0wW7)_$mB#cs&|W?skH3uS_>f_BN*8$Irj`>c4&Y^|@guX114>!@%t@lb0)G z#NNl$aG;HfL&lCcd&cB3I&f{uaaH6g#O0b6@eTTW$Ww*yDRGZofA}Kv+h_CnnF*d7 z&~k`rcms(?nDgO2IyDO1OqvD0NW0SHS4;RrBWwYB9v9^4(x3Ub!!J(4_Ss9%rTXQU zUzg+LI%}OjhV!<*1>DZ5oZBAuM&KbZZ11`~b9)$s0uC3F;6BeW-@g31*Md%^=%nK< z;9MLn)CE>Y4~0Y#a8HCf9S5+iM)BB5r2;;JPMrUry4DGYo1_SCr!pRJiPKTzRB*k8 zXdSJduh1kIUbCN) zbpt#U3N|C^=Y&s=qrkJ!Oq<{qXIIw`!JWt38h~-0PB;w3f-~2{=oawMWLK~f!Bdl6 z3QT*#A-n2+g~^3+uJU?){8Hpuz*UO-&wouU!*dI=Ik7UTnBXg$v?<5k0~4dBbhpxY!hs11yHExE{fCa=%ui z#Fhb$kMJ5iJ~h28LayNig$&2wRd5)sbTA|+op1vlfoK62CO5?1!&VF!TiJpaam)@z zo0F*`rsWV41UCjh{InQkz&Y?FPA6~}Bm-W1IGsv4eGGTt%>5_D5j?q^JCC=_Ms&?x ztV$bq6oJ{>sxJ*<2Yl+}Z@t7_Q}8)Su9w4b=5Yoqe!O%pS5cH;0w7s9vbhdY9>c>Q z#^DJ#LGjMhoTn*_Nq9Ts{B?gw;`D~^Krp8j1QZL^VPC$?)Pl?L;Si@LV_m>KOfYe- z4uPYZ78Sm1G-ywnz*VoS3?EZp(8B32If_YP^|}s7$ z6{}jf+Xx!*C9oY}2h=tJ5nd!{g53&ri2u1PpK(Or4xT*>=Ob9>*I#};lI7PXt446@ z=ID?e9H~&wPP}6O5PC-xNP*p_MLboJ2vUgD=@a%%JQl$|5f~}CfT%ymx>=4n@-4YI z2!;Sx!l(+Nf{8GdLWp5P!r76l6XC+4E{dN@#D<=@smM*u9)YPiJhSd_wbv^cD>Hf_ zHp$UWERCZtiG(VHS&a1%!E$v3k3*)IA(1{!ajcmb$bx9&@7e)J-UvaR(B0+;v!f&a zF?Lh%sI@Z(iZ-td-`h-k1Zd}9_5d}2Lb7PsW#YrNc3bUw4orBTW z_^=$Ydxapni1xY`dwnBlORokmiMT5co@$7{U2ki1 zqwF2*nj*BW5yX`gSXh}<<_dv@4yZg>3r4Q&gZ}hN7B3N2?e}Xh6t_7P7wD*J&5Cyunx&X$$H6HeFD9$?26b6mg*K-~?6?qy zz)1=IRiFK$2r$K2Dkcs=yy+IUOA&s$LyCc<^Gq1pB3@B9gO^ER?TKJG#WD6{Yb)sr zE>DDy2~Tp2R27n0HQ!cP9U{VGJx5azWFt&k0oM+q*D@5&PEwe3Ch9n8s*aVM`m&~p zIGix&O-7``JTw_rE>&NM<$2k-5ZYkisx!beW?^T~Qn4NLqeybJG_+L}1;CN3xS zVcX1P+ zoHyZq3e)GuK~MJj_oo(ls;M5>}t~N+@fp1+gu<=G_ zdSDW8N(skp-gKZ7pgJ~!c%!p5{dnJW_JI(7a(MaH%Dee zy2(W-L|P9s5berzl)Qxo-Ph8U+aShdP9u`qjQ@`OhWZWoqzKp@dVSMZC7Tq435a!0 zkHFqE=Vn!L9g?gw?TiE=bv+(@BqE2*J29hZFpGOw5xUA%6b) zM450%zqCUN_x zAW~5rV69gS|E+wK)h|@3;sIHxHGEU{{Xg;Gl`Qw4K)e+tjS4RI ze_J~1WVx*GUX{@m|E=2o^M7+p{RcFH)y42_{4rb~0*+Iv<^Q4|o1rdf7@Ge7_+xkr z^wA@}W+~QRUwII1kC96Jim#Hu+bZkGCkhW{Y*pCLLPCoXM~`(MVx~j)cO{v1v6Y4t zwMZF@BbsH;iSe{r3o0ASn|A^Lgp+V=&g;@65y1X>$)ssVcXI|v9%?qi=^S?Qz1YXr zN%(+5S;~3j5m{)imMsrP=sQ?G_5(u9E>H7Z7}+G3=M)L`l*MFAxWvPwCGZd_P}Rmx zP^J3(E)yu-iOtb*?iC`srCQUIXWElRTuaakQUOhx!|KEVRki@B4cR09e?sMd*0tD| zC!j?|w8D~GEv{Rr@sVW0HVhxntgY%a8^oV7cjAzi%=BAVAnoO_o%cGUDbgO1xt6oR9-YDr8uJ z`$)3rB2#jHB(1(GSoz(mQ{)6F;Yy#n$ml`^JfviVGy7GUM-bH*tB9JQqt{Me6**FK z=!%wVj7R=c=Xv#v9^L>W)7*;sZ8#S zohGqR3k%3$0|iIMQj`51mTYVsvGoFAUF0Ra2AX`>l>@7qv;8#2M0<~*0#SF)27`>@ z#3&YyWo&g%Z&}F=EF0`sR?68hDL}Y#?%w;Q7N>%uf_DeT_ee@gm&HX> ze@S}MWJtr~Qj&U5k(i~96lEpq;PrK@r_)lHV$q zJ%8`dNtTd{q+%aZvYip9kgrMgU7}4|);!R;w89Uylf12RU=R`Cx700OpHaJ%=PMDl zNCI!2_exCIhbir}YSG7&dcDi0q2cE}g+8z0vlQ?m0V(i5Fd|+x3mR%j6=?Y=u7gv2 z+&EFM{5lba$GQ(x3&d(~h=iMDwjqhe<_%F&?+19tJDeQZg%iU{dEcLYa@FtT@_Z++ z={0SCB&MIK6-(O?$a9y8D2C#U`H<@LLw`^Sln!rHB?HrptqL86MF)~u+m&$~i)L*j zhF-P?342j`Gqx*XO0(H9fWB=S;x(8|Fm|AdSEO@|+VO7&iX!dCpG#76Xxm9Xo{jj> zqi33KQldDy_>iAKf}Sig2NJY$A?r9W>qzDlMkJ;CAI?-1Hub}L-Jz$gD#VKyOiHh) z9rY%LMI)$s+GZPR2VF;x<2~%c)%`Z3>R8zqtojO86iJhJ9;h^n;dF2v)}7jpqy8pdVG2>lsZHyf>BY>kprWnD+`7vx z)W}4Cku^7do%d-it}CG@C76m9_PZiQ-f9lE1G41fLObsA6je;5NX}|H-d)Usfl8eh z=9lae7TeDIx|Lrf-SxN!{5c-U;FqP0WN_D-&>~uZ)eAGW;eP}d%=Kw#Fn(DX>G#3ix3O*rYRt17clD1tZbMYg^On4}@4;`et%3Y;n6Pkd&Sa%6AsmctZBNQPkv8RrFX=4fiK*KL zt*?KYw5+t)8KEo{od6bz^5d@U>U$PxX!|he zHj$0;pn+a3YTjImD7NE=yD2;Vsov9s6XabBN8HA`;>0QC*J#D;HACRQ3|S!wP~;&Y z#gjf@J~4C_JxMmLC!+@yY0&cUD(Ls;3tPYUt2~`lyU2l<#=Z?hE@X&O7UN|zlai1n z?$;IS7|mPbCFQ?p70{(eXWH;_t$U{EOx%u!4qHYz*mgwZ)XR4lEAuGm04?@OrD8$B zgoO%&?a)_}X;PgfWJ89qRo3`UJdxrJ=%S{}4IWhnLpoB6)I5t+1N^3Yx}-Q)7IqU-5tVid%u2n)ePtb z3Xxs23AD&|EZh60*KbD%Uj>RW^tv(01|~MoPaM;v2qN%UJDC^@l5lNEHLQf#VcpJa z*;Yq+@WymmFD@pKS2ZaOKx46}XmprG^+3lG+R*#3M?Sc85tFq}fSzctzXctAR#T~+ zY70Q2P>;)X!6|GurzRA8s)6D76>GCMI8zu#Bt{5Yt(xjQJ640Q^@(UtRI9s~N!l)h zg$|}Qy<$00Nw58>t{#H>w%$lo`YzS7xgrvQ9hnJ{;>ml<_Qv9!^h>lKMz8$9LIx9= zk)&c5B%)w`U~}P<5L)w&L%3gupR&1Jme9nG6N>K0V;^KCOD28YB3NFRo%PywJgzWg*fR-tXJ^ayq#o557?aS1q-2`&As)yQu}p(Gxio1!nQHUn$IF~7GB}l z#BQBh*d(?j^zAuhmL|?WZNZT{Qo871+SaF09C4({V}D?;6}nGvv$hG58NPx~4pWGh zR;%0*ao{lVs&0$2)F)Rq636Q}u-@5*y#0>CjpoupB3Cm0XZf5W?OU4_$vJtOsj&-t z6LMyv@R|vpuNa_du1D~vBI6cH@p)y5zBZ0;D+rV4m1+mR4VWDzAA(^+3#Nkshv5K@ z^|W9QOESG~!X^p>#kP<#?}@|pA#&?MGW)tCsw)8=1a%BFLiB0G2OYKQ2qB`v+xx{) z83-ZS(O1;Av$mqU4i2a3Fw;Qrc~G@tPL*-2t&6a90!gqb;5O41&CL)*cwsyUz-7sG z0-x=0gofV4hfI8PUHg^W!?DzCro;$$pt^SqwKf%TjK^>pGOV`9kve;b)Ct?G4YBp& zBfi9z!U?b1cS+GBy749Lx`By_+hHS|@5Jlt@Hc9YotvL8nidZXb2yu8w8vWKh6mbl zCDMH5(c@toRuDXG3&h|=?W+C=F|orfLqZ7w5!I76(TFJ$M!9Ai0Y(iMQMNP;dP@{u^R1l#{Gd`>4p+||xplM2nPf~~?NVpb&av_bHYNSFDZtiHWI zWi+@ew&4Q0pw=UNj^nYp_EqeXS{UbzquIuP1g-8cNh0!au3CzK({Pdy3bvq!v8{)# z0tVk@X6R5GkcG~gp<5O6~#48pv*Rx#W}shb{&up zt1z%am*kCU!yyGbIPamv6+#?B z*UQ`9(+5^Rt#BtC&|w1!<XWp zwW3KWg}Pbv)=`%_ZFqyi+JGNU# z*W0X9;V&eN+LlP$d|7^+il8lQbv`ZO{dT?)?j?jg$}XF!0z|AKr0HI^f}*#b{d^O& z0W*VrXqa-rTfO38WvXae;_lvDT&CG7HUczC{h_@GJgc%#_l}$>IbMP_90jiFnx0~T z=?Z^l%{cb=pp&laV&wEDtNt*Zy2q%uhw2? zds1P`JN^X<=-7SR12n!ZHekBu?F(F~JNTagh)${5XP*!VOzgx!RFpGJaMPT+J_fX< zrPy!kNCWFZh#HRk2Al8!IhKB>OKS9PwFncTbz^^Gv9-v>V|C%NNSJhB3*A?2)tZFk zvMf(?a+Tz2YOqaA7JT_8A9~m2-n5D(bFk~UoS7!)ua~UP9&|)X$78i^U?-N+g<7@H zHV%`gu?;K`rR>NY)`fsl{A1mAV1(h-?kiO;`5jX~Hv!P}FeGssUNP4S-cFxaOEEhP zUrr@|cX}9Ji=#ZR^p9&r3YJjcX61)V!$o1Q^n^>)g#p-yZL0txWw$;_k>Iv%lq|jj zpCb)nT)XW|k&_TBtEo)&>I9qa=J8q{@1f4lG=+1l?#LLd4eZL0t zxyaq81ObT??kEM2p_XlGcooZk5Mau!W4WsjCCByF{URHHz>=~3QXcM#Gkv{yOGZp6 z+mQSyW^acD$p=pL!8EZaVaf@Kux;b8E@6^ygx6k!)gWH8onK}Klhk!niz4x<8ugt* z!Y5juFFU%+wmZU^Tw|Q*fNH(aURu**f4(Ee9Nk=r9dK!Ku?B4U=(-L?lpa-wji-3r z?PQj2=cqTae>*Di6@AEEfwJ|IZ!97b)$ex{mah=YR$Z5x(9-RovSqkEyyP2uaoYHJ z2j644abK_=KIqW?XNhiWC5Eg^LCBf~V*89Z-bO=f91LMkCtJjZZHCeRs5w23e4?Vc zC02V0LB8_XrNRNN_QhZwvRZ57y(3ZV=*;_s>9lAqmNgZhFuP}~d9)T`-gIn}L5JO; zT{d$lfA+c$tfOekBk*evm*+hP`!Z@ z{QdkPx_@2{=U3Itc}HQ36~#`H9do&(1bl_FBM9D7EFcgtX`CehZC?1c<60f>qZzav zwXJV`%+r+DRMgQW5GHHyCO^-`KJMj(j1PQL`rAi|XdhFk`k1}lMP{zqW@T@1zvNYp z<2|+XcqzWX^@u$1E)pPREU4Q*?0Vcd+`(n%cMSjVy z*rE}K%Ys)S1jx={0$m^`LUHGMrYE+#rv?aaGxgXb-}tc83XyvoTBRwt<3OEDxI-!T zoiJ-%*~QhbpwsIE?Vz^dCOspmck>l!*L=ty_HD4^c6>UJGTn(p&33)x$`-u=Vv^i^ zU_i3HeV3I(#O;0KWqyWr;ubERPHp#K=URMs(FKPL;QQTVMyn2Xhyj`u6xVcjLgh4j z(qhlYWZ|=>vlc6>W&5>H;dZ;34RP`vOl~2-hppXc?2xaWPCD$wM8@9Nj7W&~=CZgo zoUN%(O1ETb+#|v|%_l*%f-)UT<4A<G3wf;QhI4I7|WH(krN?@`(OLv+Ezb1R> zcUB#Y`5CQoo&GB)MzgW0y=)|Wy(o0I#>?3p?#qL~Sl7)X8j`mc-13M{-% zgtYBOOYM1voPK6aiwRd=0F+YTwE#*Cf>^Dbu z2BM>nb*7wwNZOnhw?AWn>*cNvGLWA_8=QNqAR>9=p(2$XCOmFo5xb8y{~CH?Dc`{t;5&KZwYtjxvp*?Ht>itkKu(Gk zurP{sb6(;tAqnl?)AXzXH#V}S`)%hb%@@UFQFaoij;KC3ZK{~;;>J5w>z!G1@|Cv_ zvGWwR3k>e6e|VP_*avZwX=kQd>2?P|YxK6d86~6$5y*Dj!8f~}-Q!(9e_dA9>{SvR zwLC+Yh_NZk4Yck;=3;TiKLE^mUnvg&E}4i^9Zz81{vmps4Fw^%`P<93+R9V6)9h@8 z$M{0X_qL13%w zLL%~B!Tj>RC{78Fw2~6=`}avafXso7#H{(g19XO%+@Sh`sN^7YTQ)dKzJ%PGx6Pi@ zR*66_6vJR4Z8;$m!Qm>LI4t!25x`jI#&jJXCu)E2XX8yFN#4~XypFGz6Vi@`@*(dP z^vAvF+9bZs@*oN2PN~G_Z<3D>eQhosmz<@gsdbY{JKkNA(i!FL5u96H9w(Q#&k+2? z_#+yRRQ-^s!a$gsHX=Whubgy);$`9f5>n9P3y8rs&Nc^yl;vddU(hpT*Ol9%whtc^V3~L%ApRfMM zFTd`^#Ub@{c@rGf8qa%AnF%;5o+Whx5UkEPG5EoC^#MBJ(I;@_`dYvdv|3a2Aj^Uy zMfB8p!uJ5&foo$tRWD8l^&R8-5ICZ+S%6WHEgfnQ6R>(kWJzCwqw+$)Dy$dRqyAjh z88EyAx5IE0Y0F{p^lUqzXREIZSl0`EiFJJnUWwsX&w?XhL2%TEJK+X61VrjtK;1WI z-qoYt;R!~tu5OOIGey|-sv=mGB4g;W1g{KyG^Q4D;WY}OGFsP6qCi~nWr5LOMPTRh zN=&q9GSP5{(c%;dUd(1ip}btwS5mOnz3?{o>B&VML3BCl@SX680){d9sHT{sC0_IO zfNSV?JReni0-pYOeQaPGAA3Z}(kyHR*1}fTSB&D0Jl{Rr$>XYW8LvNh-59{?6Bck| zI;yXD!c%KY;OI$DLk||LcGa1NbOD1!bfXd6fLHIpQTjY!VPR6Owt%DBa?h%S&-Ey> z7;see6g&j?XloSk0uBm(lJpRr1V_on6UW?`8448n4zv{0Y)TWz|osK;HKG+ z(2oQc&1OJx;=aM~s==6}MmV4@_b)Pv>z5ttNPsHN>u zY*cV=tVQ%S>w!U?x3@rrz(5|4rX5jdAgZ}&t&V^*9YnO$MX#@e&A#k&p;Ej-Cigix zxsTw=^P;xNW%dL1^ARti``0<0 z&+Jmh!FAg7_cX!N2O|o=2Rs_f)uKjb8j@E6jzZu8S1(_WLP#g9J^=woJ=^3yNb!7> zDo$=Sq=U@$dN5veDhfFBxazQ;pc-KYoD8!$I)=$@M&fG%8B%l+>yOoG^u-Vv8G_YM zFyJV4oGO+30|&J_QApXlo0ecT7}aWVzlrAX?Wytlcv+!Sg-GHQ+)Y9^JiOCUt2C*Z z5)?IPMpDm0C@z<~Z;u`cf}_l9)Z#t>wGt&7;RL9LoN+q1+6Gsn(7xcx!_j|4?;3E2 zWLO;ya#pi2UIyHopD!@4Xul%Ztj?F`;`Wou3RZ*5IE#yA6Lrk+j#x$UaA`w=)g3k7 zrrAdqQYMplTAggfDOvSn^0)+?fP41GRBbXi6U|t`0j_4PYx98#-VaKY1z)WV6p}a= zOO-&OR#{mNK=Xkp6nZ`3WiHHUu)z$i3TVoDK3D9ONs`KWOD z3AgJy)J5I=;{96ON%8C;(n6GIsppLzB39uD08b!hQJO@EqSZXE)l`+Ww7Iqm_KKJa zoTUK{2 z4z!BsL#fZV5^_|7z-a)FfzlHFqpr7y64RNjT5SdUGpq*0C#;SEB8!Gqoha(_3Csl< zL&cm^G+k?g(UGRQ@dex_*Rx(V>EoL`)d81@2o$~p!4MK`9|6-U|_ijjV0M*JU(THMU7AC0y|R^ zdk(R=G4)h{)l4*m25r;yr*?JZ3|O_x13nPT!%!Kp$ZKBet(Ur*wg#vkumK0BIN=_A zDsB%BeZph-bq9~D?NwZtsCdA1Pk36Xh>CjwFCEDsSB3{lNSL&NQBt^ns0(-~L2C6A z@PQJgE{=lHx#sZl^sR$&Jz5D$oh>|{r39Tv98khfDfF{R^zxIc?A2{((vnmIPZFBA zI$8!S4Y0y%gr#9O`KK?xUePJwT!K^M-;tVj6WTQDBzi2Ujt9hn=b#?h@UUTGk(PDI zHd12DNqv-!nF7TQMU%VmuC?ME37Ih;J|nx+NOj7)TJ?K!SiZwANd#Wo8=baK7yrPq z9bIYH%D^eG3)10HD2{J(<{8E+@**)c9#<90SL)QiUPX*{sU(+o!#sGreYUdokt#h$Y2Kd<+ z=b-BDUbMA?vgFADqz~6w_a5P2a?KYK-JR0lqNDY(Uyk2pec4uFXxp{B^$5N@4A!U2 z|Ji)b2{yI1Rpq1Oz=xmT8eMVV!mjl7s4Tgw_Pgu~0nl(VWkuw zSK*QE0NhSUhXfgec{3rPZ=a0-D)lHye3V^2%q4|s-oRmA*IC9EUmX2<*XPn9c>8QL zmM83N66_(mjOb|AN6DKV?Yt`=vo4s_?Wuid8?`UsU80dEMby{-XNyYmiLmY!0#j%f%?F)7nIkuj=l}T@UWc_{kCFaITI!rc(NN z-N;s{L)RZ6kvPoVCSxDBoln%?KHHw3zdlk@!j1Z(I3Cl1?PUBvmtZ^GTyVvmBg#f8 z5kIGqJ4on8eEZUNs}Of6b0C|uS;-?5_BD}}aY|gD%`m3i<)iO)szS}Z*YwVCEU{x{ z9Cs=&<&qz_63M>f?~T!(zVS-e`bK?L-1FDL+&QbH4XlmWX_sItCb`Mk@(!%0WQsc^ zKyqEQ;Lf#&UOQTfjMbgK;he#IlXZtdP!FQNeYP~QRw(~H`Y#cF>I^sMVezE|B!l7I zLGy<{+x&|(>HOf3x1do^(eSf3`PJtMiehSI6+9_P>N3}9O<>gi`Ql- zuh+F`81~uVC*3*Jd{Q9<-Ss)2-)XAhRdq)ZGf2F^nh@^Yod+Lq;q{uB2YIKdHZZ~!N9sA8A6V6y;Vo8J7#cqj^WS~ z8sc~>m;E7t$-y&kpA8rb9_GMPx-4n;ROpWqVGf=w78@uL>TqJ5;0`?{rGF<%2!G!` z8=IG{ljh1{$I%5k0S?KHPry@(Wlf2mX1wxKm!~lKZwsR>PK>~ zBi;0OIt9d!1IF6Ps`%2EI{dK%=F3E??8F}udI&8WcWo>!)#cN_A_Yr&YB9TBVA>9S zlfh@PC#q&C=5122p4m4rbaK^I-Vr3$&X{et*zylAh&LA5)-{DkDZni`S`l&?nwLv#a$~S=#7=55 z`*E<4Cuh`H=t&;Dy+Su#cLh0;l2 zFx`6M1nG6)M0>x2k%(;c);)^)ltrOT`?oVI9^PWiSKsILMW+|9F8-cZkGv%u#==y~S#Iv&Ey1Fen?#yN`WVH$@#c^^rqqzGE)eW$rIlbP31&Kh* z0k|%E8SwK9Tircv0IocZa7hg!*PmX5mu9~f-Tlre=EYXZo(iEJiL_#hi zBvnBRQ-|#OU_si}ndKS<`UEO) zqT6qhq;FowO~SEZf=KmoAggV?PM_Kpo6@$nKuR=gYWg%UEA`zWrR9+(*-$=rJ;$`W zC5%TlHxD>?zR{PXIW_8$Z9*XLJ`(WJoycx$!)}QM7TFY{y5KJ8P6#-M#c{b#`L0Sl za3Mk`f+8F_|L%RWx1G6dE2|~@^+1ZW1MF#|q{XTpi<(?goi>?IJJE2Lh2~NvhbBET z52&DYXV_z(-$ltEC9OB>xJck-8Gx(^M{EdYGvBw#uHqxGc0zMM&`Zm~ug>@-*{JWr zP@?FMjTq_ian3Y#QbvE~%-h1W3E`a^O1jeScYszsKja}XGn-|~y;IJIBtyr-JTfY^ z7;U|M>XDS5b{drE12Z8bsLX4n^CgFE`M^2_8AR^o1E+R>Qk$hpVfO!>%iV^;#*%rOPrb3a zavF@wwSz4(Sdv0LSl8bs5IRVsJx!ASey8ZSE0f~&vcFjoze*9MtJ}zUmRRy@K>M!&Gh1bNw^KdXil8 zF3It}tx2?$ExQ7zB}6c@S-d(ZIDlm1|Y^rmSFV}2$I>c@Y$#ZwMtnke^ z?Dv7Ephh*nMM`(^4_Bb`D3;RANXOMoL8x!J7AwZnbK(3CSLpClmSkNNZ#x1kCs|Pj zNuLD*wza@UvYi(QDnT3gOf(qh!#zql?aEW0)03=q2-H>5owcFhnX?`#3(=f7dDXlQ zjALmU>vTBXnkBT+!iio$b@vW>y%JN}uD9cJ$XdHzgPSs}tIj~$8KH%W;;zI>GApOR zj&0MXZkK=yK3U?=wg}~WZQ3@fx)hQ5-`a;KZL>*siWbvwQjB8{44HcS=v+ExELhKv zIl3f|*@oRNcEvXrH+8ihY&1}08b`U-C0uz|hc|1rw&JW|4!(<_JR;fYUO30*NeFA zK5zD~Jj9z#qjm?4@!0TPtJG_TYj)Q)bl0EmDq+RN`!7^OuT_(w+m>%?~t;rz`44VCpA=$2b z;g2h?){o|f*9SYNCz)jeDXunmE5D8WEZSXD1iS95$25cMh1Sg!Cr7yhb;r{Q zwVW=^=5hSVr*lKhj2_IER7%l9;>0?%Hmz$?UQaX?MG&jW3EO#W+D6 z5@X#vLX4iS+9mYW{K!k|=JP}q1;5W2i~F%YDY=d^BfbZ(r;`<}7RE+Z5G5cyU}$5dzh>VMoh7T-FW&&!wE* zxpOy$d~%Up1Zhi`HjY@(hZOvDA1syo+(@8~_)4h7TDWmO_cF^_rOJ%jMEPqHITozC49XmJY z9fX%GYcn=sN^E9(8nfCo^Re+ofD4tlBB1NcJ8a43v0auE8(TA0Sg`cI z>`tDpu)=D)exJLH=%n`D$U;vEGjiZ-slx2ejBw5|@>K2#XpO_Nz{ zp9?Ew_QIL)><{B_xf-X?5mmP z>y3ibvYF#hJlW?tAFftGrvX$pdsA^L*|gs;YYg=0vCuy2*1tdM?Jg42%r&3J?_z(B zr6HH_zr^WF)T%Bh!nzI1qoje zf}wyC&OGkrafn3Okz-Gd!zX69(li0{WT0s;@Y!TDW3$YJf6{h)2VIT-Cxcg!3j< zZr+kFBVf7=8g%H|JtX2&T((x9-{G`$uHYc?c1f#ltBxR&9`-WA9~|(*-?_YBZ##B9 zM?{shqvXA!geo-Get@1iDrL7$-e^EGbVTK=r81Jd)ex7WxEzgI^Q%L=_Es-7m9vCx z+Upp^V|xNP*j^#ObyxehZ|2(V7-l%G65c>Bpl!}HzuaM~HsA@JxBK;Yx#Y%lxv8|B zV12tu$M(y*Lz{P$ zD+kW2tg4&Z+G6XdCdct>s0FtkyJ69@&bkk`jbBK9>w_&1zi6{X*zVu83Kfb*HWC z-U(Y4KyBB|rJ00VuDDu{zgvLafnI|m7onp*$74r#%{rdk87#?Nvv<`$zJ&WlK%7EA z7gnanYi%=XY{VmuFmG97dbyGv=kRs>)RdHW$2hvgE68>SQFBi2qR44S?_`^ft%lh` zVh!77ik*Jo(x27@kH^ZT#{qZmKM;f!<@<4?5&L%W8b{yoS@3YlMil>{Uhfqk7h2S4A+@$56^ub z(>9tx4Os{Z6gluCrYP=Bwh;(uib#zOCa=n% zyju2F_uHdwc1$mH5__ImX@$5>>j==d^mvICtgapv$;f=v4+~NgcV@AJq&W!p~Y~+ zo`rY^SD*C%btJUgvonCc%rR4_3y^||BH?z6mUxT5(?XhEw#XZNwF6QwOLW>^0osX8 z3Asb7cGyaQuxNv0y%(y<OBF-9Lra2?@BXaFv1L2pQmoirIVO>XVmj!=GcP|I} z$XauP0bjo2z2+Be_Hoc7rSJooDCpRkJc|BtDeYb2x=zK_680~hWdHV`o+t#*3BE;-( zNzX8u^ug-m2r3+@C^6eDt?#l~*V2gPvS;@7F0*Rq1i41U5^6(;>%#hcuJi89R~1be zIR$x_JXT2X*wym0a4A_QrOvI8en?j8TCYiRJR-hx-mqa4vqm_+nr;kX@EYTq4vFug z&o)fKnFuh)$4PPwtpEqDO@;jA=j*5~dFa?xMP_#0pqi6QodT&-OG98sh}XDj>^2!# zjT|*BvgDX7SOHP)<9aV=YHamV-rJ}Q?awTbL)7xXSxlk67$`S%XOHC!$P9KFXth;F6V7^fXsF0c*r)n8{LWK*{7$M zKwJ(gFzf~r(wOWR6Z#)cMbPX!{yd>v-4U$uiPLwD=*T*@3?7dY{U{>qa7(BM&2irm zL9wbwK_ZKT@vhChH}fa4wz@~FaMW%HI&Xs=3Xy;EFr%L~mFTeaslb7bq! zdGnp5@Wj6Hdx2Kkttluf#9`R zr!^*KSlk=L1{5tHaz6Ggq8KjIe!99X(stX?EUv_Gt6h^OV^ZcsCID_gk-t&N*NuZj z1X~esJr4;z@Ig^?3M@DHX4*%1E9a#Au;-XV2hAhrqpZL^3^ZaKk8iQ{X{Tw}wP3He z6S-}=bw@hvMYif9UqHVx9^o{#rhF55&R(%0T2#UfP*Gy=lIR@D065$R)K+7BmBuP< zddKfW*!bNX+np75DvE>bwzAkakrBUfxIV!r97VR=V}O_rv((P6K>zHfY-K;A9ko0G zDaqredG5?YGx+&TKiu6mBpKNTP7~rCHBEDI;wornXJ>K)698xf;dUra8M<3$r=7@3 zk3>Q$+y|5<&7_i*sz?{h$Pb0f>6vu;goVyK?x-COkx$#1Ny59OZHheitu`I%T2?JJVBOY~xUM^PBuh0Ugpk;Gx+ei)q-5vFqABg6t&)qLWctS^B6<5@dRI(Gyw2}6hOTBYT&4MWF9TpLh2uZ3eVH);W=_5FN)Mnppa2g!R zw{gYn38B_!LSJE~z7PzZW1`#e5E9YZ@7!0@q^+W097Yb+-rHcav%?%e?WlG;%t>Q1 zlA!h5yMaOl@5RPQ$sr0LaP+$LRFq2;xgr0xZLMH{miy>-mglPoIwII^lO+6nxJo<9 zAL{qoy&d)zx^R?4uA|*-FMgHa;jY-hc+rjV$-0lXC}h{M9mEY|c%_^_k`@liaW$(| ztoqBQ)02ENMAG``K(PfTAt3co$go03MwH>_^1dTuYa`#NUFWJp`-R`T*Rw2;^|l&Z z8Hh`0;;=DN*y@hqq=MMpd$2l7bf=X(JKDiqw>4&W3>DhCVIaiM$@ikMJ5q}Gpsi$VE@7ZaDZjRJA=+z}@kh*nOAlg1I|v$^~%T zdKixZJZ!mminF}w$KlK{T|reDZjy>^kgPPANe7!PkkBP{Iy4`AVFn__v4MH}r>shs z{@rFTP7+9SXTw1dUenbg&B;l-3Wn};d?`&w#{(hJ^Idbq-KF^U?a)QCa$GqMLkHGF zA0V1bTV{70VasmtO!p+~gCyN<>2jwuJv~+qgm5n~?>Y->|0jjD?ra|ik4~Q*y^@|V zmSL}$AmNF=!2KQFi|yElBq@*Tbz2>-$dG3aBj?p=7JC1@T$*VoGL2513Wt2kPUXIj z>&7`7A}wT0q*gwE79BBLTwYBacZD>xcwS3vEK5z6vBfKLs2{l}19fLfbZ_99+b9z( zG3y)+$Y+Qw+udIq5h_WODDxqpi`YUi>7-dVDY9bKM)& z&Bqn_`RjR9d6=S@mR0-RGu!zG!cceK(Jma;E@G|zKgQL8o!UFwpG2JL+Dk6|!HeiMZ}@*EQ!BT)gh>v-dH9418?Y7E8EYKItmD_sG7%4(2$K<2naBXZ*@~@d-`# zo)K(Fn>j50b_k74$G3!FXGVMO@zLKtPM69y5lz-rs}}5YVYy|+jJ0{+Yw6!p+QBl( zDLK@K+aW9_9nJ!$f8yadxVO*V8Wpz67c=TGjbqoMD^8Qgr)>Aw+7U{^8bbRaPURW3 zzq7C$yV>2b%Te7#mlLYm<)$V`-k;BvbOpJmoxFiZiH473M?%9alFhVrx89TD#06N= z4sF-dI8|XNl-XPGKr`rm@yUAa`0GA>ZJUC{_l}+Ecz-T64xD0O>z{?fs5tgvr2~N_ z@4oa^PqJzZw#U$NHY@A|4l=nP@m0H|34Q7u{y>Etq*Gihb+ehY9V@7z4p6S%fqeok zyYJd}lCxNYN83akl3PS@!jx@zQ3mhBmj!W(_8d`pbxOPy8uJ2AV?1mk4)!g_+h@=H z{EM&t`OB}%Jmk1*CE6vdH^CKnjx4w(!+8h}fhXW-=MnHp1p;h|%Mm&saC8?E+$M1D zg2V70aJ0P8@CWzzBj)sfe))B;`HS^(GI3`TId;%hGi=XA{d(C#sdFPy9x$kw8R{N) zE`7wLxK5sP`H3%_5472muWfd26h9uE1op-Z(XQb|11plvK0dCNRxHv{ZN{hkcu4H7 zyS8&xcTO|;80pg0UB}R=uh?>~+A6w%1H7XwEK6Hnw9fiSzjEVqe>paPLcgM4!gD)* z{yGYzt`k>F53e7IZ7|YjLXFe>Nle|5SJd-!d}n#)mblNT3*uUcW@Al@qPM}vH^)?} zIslZOp@yw=)ctr-YBPoHzLS*hXgo)#Ja)YVvXkK9w`* z_%|$;j&c<<4w8kqPXLI2Aa`Xi}?-9nh zYxTIo5Qo@}k)5CC3>C`{L}EL)N7hD1`T@8s9deH({s zOcwhfIT^_Dex~qie}is$nn#=&vh`y&rKjzA79RJ_F|5^(>zv?X9w$@O{D{5Q{yRYp(<3em7zZ?*zfqPjjjE$;$+b6`uHvkO>P%a)(#ZHg5h9w$DZ@5xu>d$ zJzX5GbFyh=-~ex-?4%tUM5a9qhR(0qsV$D4?~coKEu?Ypf{UzeC!}>M%iM<(IIMx@ zz2cC9Oy zxk19NxbW2f?ACHfnJ(XK)z5DW2oN!LXea22Ru~ zdD1(jeX}tLUi(;OOJbbe`!=-{a7o+! zBs+jPC7Km|RJQvTI+zp^mu#)1STy|BCDk=1$pcttU7Job#jE6d2;yuPjbt%!V%p83 zSrP?x?73{i0zPI8(>R#AYh&n&S4#%1=9&|rgEQM$;k~nI2UoP(-aeBhfBt%;N`tq$ zR2J*T78B*&2!X?9Io^gDVm?RyW0GQf{(n=dbUa7ar@+ z>^^7aaULu>)*VWAuix$y?gB&h+p=2_ZHU5jdAI&C^|bFZ@p`iqJe4j@E>n-Q9__y% zJ=B&NQe+Mvqf7Q7hr?xKaKC}srm*i@By|ye)_BnqD8SsfBwZ^enoq7^=K@K z_Piy`r2)GwVreoc3XV32rOC4)xE8@-F&C_+W#{10IIx6^RN!JXb;divBf1a<98DNY zR~-gDJp=~r8~t10%3{3vc0)I3^^Hhy6~Sxl~~hxHN*Vm4WDWwJy4)s|u-s#;?&!`yyEce=9Z zxvECsO|TlmhRr^@&zbx@z&J-DuRj>T<{qlw%eJ$lPU)40a{O&fPoyXnbvfqpvr8wM(=+4mtm zHsJj!H9FA+Dn(yD4R#1_Tprrx7J377i=KmlXSMT@}`R)^tunU?juzW6e&YLABB0_XJO(dRN?MxVo%8QUeqdRPztHA*|bU;>EHW*LSi!P8HxXI<*m`zBtg8TIGJp4GX5075eeGHd) z`;4CJ#l0ruEeEuL6LEyLV0Z|wv3D1BI3j8aSi{Ts3N;a3J!sjiMLee)o95f&09I`8 z0na$zHFDXe;Y0B1kgiDV3;3uEFX~Yv9lG7THp_Iq=)j-w1decwfIYg}sm4+XueuTv ztMD}gM|am)+RpVn7_JtWOgCbv)osw3==>`T0M5&p5^ahDp5XNqxoUEN2RvwuIU2{N zCpcu*>uG_iwwr)$(Py()4s~_k&0>mk47z@*%V;c8KIj5EAYfIeDl4ln;4Jc&Wm6Ej zJLn>sAf_dHq!uNsKx&u36>Wrr5FhSADmGCgLSAqYO^6oW^e}~`M)UFwo9n2naOZ}!@bg2-0pS#}JZWQ@S^}n>;)J}1%C|j;zc6jd{PU5I5ytKPH4v|H9 zyDlFSwApt(U2zT!K+OUDP~Y>dv^XEx+1ZZ2eHgOIb1tMVjN{UO9JEU439+|sQAJhp zM_9XUve{)$!9j2nAC^XXCgIzceshwX?wIL8HlNNISMytb#xwlLF;-OGAD@L&h{9hZSoEAT{I7n-%J z!bZy71Kp_=wvYRDJ0Cmt(f%gK=W^!l0~%MF;p;`|TpgS^ce}lc`|&t63$f#o(r5QU z!J#_6uJipm$Hbg%k25>ywXpT=u}nKU%sj+x_jaV(*qEL!Tl_Pp3!^LrwJ`XTZ4di% ziNi;^0k@djsVnIbD{~QW66m+lw_mIYN6@xL6Nq28&-wL|Z8rZKS69Z1yU^=thjThO zWXE)*tK4|Ie#feg5I`U}SscZg2;4)GAwDB50VZ;pCrxkMh>3km9}3{PjJp%ViK3|+ zL(+~dqXv4qGvw*EHq9}{E|rpO9bG2Z$}60v&dE*;%0O@~?L6U}@9a0pF2vxGGgEw= z-|>Sd+lC2oB=L7UUPx+j?Im$(ht0&>mZLXC1!jKukA3vlF1xTdWgb_xR8?QNU((nv z8N1uO)7=XxL5|&`wx3f+kCz+K*Q1;oQP=K7QGIZBeWzwVxpBDo^k-M(Xj>bYd3yG7y1CCzkD8BA zUgz96T-|{waDe0YH_8ah0o2yRML3*Y66 zc2rSw@7eJv6G7m(d$3SNB-giDn<^btE90>&xHCy(ZG@1xX6OzwPP>d6bz+IpB_fG3 zJDvT%Q(#H(4k{j18p_*8`@qj%Pgx0j%;Ss2A`?v`baE()b!CUsnTI>b*3} zC`hy;U@pq)qJc1V*P&EcwN!@YVmrq916~S`|PbTjjZO9F|S=tj>J=BpF_3|SJ@zAoS1q_ z#~g2;4G<&ZeQs$hbeXOsyY%2g7;@nPFuFY|dbn^np~0k4$E%(r^QL)n&6e_&n}VM2 zlmCo+wXDB65LydKpw@y+ljbc2yUM1^5;%?Z?X%bZ{ENT*n=ij^k$G{V<+(-Cvhq#v z`4IunIt5305y5i^j)+0Q9XL9H1l$+*ugvo&)doI*d#{3zb4q%CoYxN+;mLVJ7!zDi zDiZMdzuSKBo*AW=UG2oto8)JnBD!^rU72snqTKF+q zbpPuyml4bYxGceWKVOI7Q5LY)Vz4&4K7o%z@YGt2(7*+EO>drv1z4uQQvwt`vcPZ| z30%OvGnvu2T!2gE=`opn)F%?WxZZmgJO|g;jOUmBK4xq}xQF82DqCj2;Z6!TW#E1Q z>dA093k<K*-IAz|zPr*G^!6&K#k0Q7qli|61jOvLVFEs`2$iU%- zObT=X4xd9xUZ?WKT)saw!6V#~g8A?^frAhPoIT#qHWWz+0UsMH!V{UoKg2eLn?AZ^ zd($KHBjBEo3kd=S1!lM$PH3iTcnV&*c<_@7Mf{0&G2<;d;gj>StBLEqFxQAENI?!g z*Tv=KZwt;F@No^#aECE&mSMR2K*YDz(2Y4T-SEM;1`WUA@J1A#Pn^aXuDF;_;d8rq*`_s{lc<0xw6(23Qi}WoJA;}dMAX^(=rX@Jyb9h}07hX_- zL5%}!`S@@-B6kJHDG8WwkC=oDOl+j?=4C53a@lDalW88^NZki;uzMYn?9r3IZNHsQ z=VG{Z0!lf1s)G~hsU^`Z@q!aR>Dy|+x__9Eg+KQY9DOAOk0LlMZi43$oa^*>Rd8sP z0go2ZVx{oY#aniTL@?%NU;pixEyXq zvGvO3=E)AwXKb(=T`e-SIgHLsJ#jR8Mo2hmColrf^3xM}0-}yCcqn17fw(6;j|CjW z;Diq)0JiX@obZy~*c5v=1eXE`6y?$aYz;W@v?(k?VE5%2qQ?x0<`5j46S;;H_jd}} z_q=?pAvh1n+8KQ|?jQSYJfCAT1FpcMG~bW6{ow7SMxLjGt3jy(j70vJP1VAW zD6S${iTx3Aj72>PG zL*URxobcfBIkI1$1s^+8vl@10=BNyRII(j!##^fcAKX9qnkB?P-=4U<#LN}QE=9=iRiz{^v}l$ z78DpR!GN{3OH~sDqZWmp%jL=CNYd41;puVTp4saer>3eoo#2S}5FBJ;DsqbPI+)sd ze0sR**&UPH!{*i^rl|slNGw=*e~3E>HsT)H*N^!DE*V5$i~DQ#L0Ev}0Ib}8GA-c7 z>-)j*q3HxXe1;>xQLvB6XxzTI91i1vXXRjoUn$^KtB?FNTtp&z^7Yut6OI&~fR9ih zPB?^W!Hw%-yU_g;5)|e{#)HCzkzLc%*Y~Jk?azz(G^j>=zQ%7Vz^>~WFT#Mi-h+S5 zP^CA_{gH|%Sj*8A>ZA8{?ys5qCGnha*b_9r&hyFdJ6gQ2#&@1@C<_8ZzXHsHqqU_T z|9{AOb0y1_bXiY7&r;cj7=aL4;Gu9yT5Zxe7_X5}&_c>b*iV1q{&`>_tEEaWEC7KR z{&~pHN6U0cXuq*3v>&g}XR0pKpek9Ip_m3KAUC(_(Zxw?zN|BS78`H*`326KHL$}? zB7pbRxtuk}yx#+vmrLM21D#^cStoHe&N*yQrYT_;@F(|S)ImlgdgIBW3LjlF4S_?A*E^83}m*3|qs{k}V9 z+1Q&z0%-0(!RyFmn1T!`HT>R3emEkV=by&bdgo<(tgy8gVXyj>+sXJigEKqJXISFI zEoz z_L{$^IbX!H>+v?r!^WNKC7*A#VO9mP<$J5~Sy&x~Z3-(n(a#rioYt5bk2I`Vp8IvA zXR-9|&k-}4#l^*iM*)w@=T|YyxzA-o$eqRBUvEY|PByo~UX=(p&1JwI-GStxz0GCC zYxyK}Zdc-hPtKX2SAKqYbO)@oDFm^DFAk#BMd88qG9 z!@VkWpqh>xSv+UX_-l^}cWnDQytJI$F16pReDJgZ zld)9MSSTGr1xn8>Tel3dyeu`fEiQ*&3J*(k7l%fhq#4c%_IFBz30|F_H`Bl77(k0W zUgZ`|KsrnCLPBF6g(;08+OFF#Dg;6Ip!7 zoH~bXv&LdY)1%7U7ZhY7jCZL)qA+=1J5J-#&`WH!6wdqm$n^`&qE;vr(zXo-P`s1- zE96zN$pPvW-N9Xcc!Q%j1 z^S|YZR=~#qb7BtY_KlV2V2o%}2D&lnDx8E zYa}_%pKAZF<-Wt;<}elGlgs^>w=(|U{`uFv)$ZvctwnYjVKSF=<_yV+!>k@3q%>eG;D@4R|zY$epE|>hKkhJmmIlU!SSOe!K9HMbK~aQ zt1XPe5=V@cO*E>b4vm$^FxaO4xB(VF_4AbEF>K@IYn0S64(m(CXE9dC0FOrrYU3a$ z%-FDQsM!8NNP+O2{9OI5oSr*6_y8-NrYpVeM%@+{!EsIFqCCUyR1xE=d)U zT-A{4_sVsdUAe4p5j=Rj45-4F2h*ixfiJLJ1pYlgKeeMfHk4*bj<+#(43WO>g&t%= zJ&zx%>}aemA;Qk0=$GAMzJBTclOzva_t%^@OYr+;OuCMIej3jti9>>`4ro_;&onLv z*X64B@0GjMhkb~xCCjZ_f@8c&qU(c1G+nP;uRbK+?L zo|>EZ)?nrT-MC$hU3OOCqm?Y3mO|o9rpDI`J_=z!uhPY{wir zCB5DFT>Fd{;~ARc1lp!d&NDP(7#|^!VqK$M7MGeM9fol~xPC0IPj8%RbDr@ci*0#4 zmn$PTTOooQ^x4Ury4($$i)h7LWuchYO=BfRU0gRkmaN}`!zvojo66>Nq9vC{O^V)r zof(ZEwvq|8l*VY>%>^YqaD67}O-0;oD5bsf8Z95UH!u=MHZgNJB{8V34 zQ_DIL#=2S4uwv?!kv!BVS?Y@Xnr0QU;d)(7EuD+wTz=@TWCrU-`2s@$>l3SwYA8#1-Z7L+2fLZ{})xHJ8kE@B_nlm z`z@@Fl}$dfdxC_e018W?6jr4+{a(4P#*#ebtG+)`Sa#laP1|jKUB~j8wl@0t$7!sH z7h_Es?rPpA)~x#r*JYO0^W|DH9=z|?r|*yWUvB|^7A!GSu?P2lmIg0l1I9^Xg@Icy z64#OeKziqSK(=*VireX+J!6UN)|*6XbX^97)0LU>Jg&FZ^1N4x8* zjr$uvzYZ?T6fHQo`^xC#2)Nam=jlr+v9dEst34?)At zejR+9#BSlG6Cksc)U#8D9R@e0#0t+`mwEWqYx#B&R$G-1M&B;(mrl;yaD84CT)>yt z%55)yN$oqd$)|H|jpeowo}KGFU?mp1vN*pdzEqJ=|jWE#&4Y;*RFo$x!BwGb(S zt}`(%T&q$P#U#h&W`w?9+0!?cTH)tw{>JGhu2x(1JwssujJH|tR}jMV_i3>V`P}F7 z2|mWYy|Wxvl1|){r(3M$bu4GOc)eX_r+rn%G9R68|6*9OwamAKbKNJynA@FwJ#05( zrytxe`3nmI_cvLXg^$H>J11-9`Kz+ii-&tTVbSj&nazuxKg7Alg@4ny8sEn}zh`xh z&Um{O*yY?4k6$NqESDMZ_;u2RS5B&*x7aPRh**id@d8^&845@SUTiim_H?}uW7R%0 z;n3$!;@-iP&8NdK<(uRBV78vU`e4qExQSoK)~^{{T{$Xe$kr$~E&JaT`{}?LTQcP* zyPS26p|cQY)8i#1CS+h&YHpECSWc<&@(~kalUYPeM{&drb`rHwwwue5qOt?xeOW|p z)B|@*Z9C?pVFl*bSin_id4l~ispMy3LU6a(AEMhYOxS(SJT6A*lbEEV2HQJ6a5oF{ zZC3$G8Ye=fJQi`mIDf7^6*gga*8}(M2L|@pn96y@Kar_&BE0pqE8#Qv6UxE;rQlB} z39mU?yg4V&J37}#!jMdfnnR-qQ?dtDOR&HPn3$#!-%Vncx)(-{ePVyA-L2FC^KzW$z8@GxubV^s(WxXwj)Mk1&#z%4bgz^FwEd)Y*+Aw5leUxy=4XNXn_P!$l?gY04QaN*9-NQ4p`%+aX@WJcBVL4;*F3Cv z=v{f);L4}3Yb3zoGIkiyMbZ?X&eIF9Ct$%2EzMlLGS&qyfgOTtr`((cTAUCOl%8FivdbCl)mON+-XM^G+(4 z;W^^WBpO2sU$@Y2EkMdnmH5w zblB%CzY@5Z3e}ju{|ub?_rQuj126sz%=ja299BqnX&Xbv@MwMx!w)0dy@l$XD;jT3*QUtAm@=c9bC8L z(2pBn(H_6<9^L=`&%aLPS(p;*i=XWMW7oP?A8(ItIi1tSLajR_1I-#cU!zv)_3Yv-xq zllD|oS>$?mq}^@1lY5_X$Mc=PnJSC?&+P{#q{_2dES~|3Rth?B;vjKN{KG|FJ{7A!$6jk~C$J+n>=Vtg9rM*9E z=X^zHEVuM1a+Yk}^#D|YfNm!(>2Y5>J#(iBvp%2BQ%|*mR2oQ4l2lkZ-6S@+=+mhW5zwB%^ydN(d7*A*l!d`#hDN#rK0 zwt2R4*d8nF=N&4{CG5I!E-N+e9Vt9ibxL+4P}Q%e6Z(Wt->ul6$ z>l#0?OjzVB>Hd}iTt}X#aB;AbM@OuJ&fw6u$R-JGx+$G&fi6%3bqJN>09-kALI->C zqr~h@F-IPKb8F+q^>K=#UUo%sU3gleGhWy4B*Fcn03KMz4luu$x@~N_IkRbmxvtLW z#%D2>kJW`w4~=i+dDHHnq#pdDe&75}g5mj#(xt=LGk-evMo_jampb(44WFjr_+kx5 z+0Na#d1j@7fe$s3QNVr~e*Njk%RLINW(#s7Wg!G*f90}_Bf_d#=*ch3SbC4E399Xl za_$PVDO+k?u9OPCit**ok<4kR5Grm5mrV9`>2@kBcrrU!mM)hMtj$;@R9t=V)_1Ei zwJs+6&~TOIIlA}VEh!kEC&QCOAgumkatho>PEbx&@1@RVl|=RMZULh@%VA~f-LJpo zY+^Q4ty9PLAE!ZP`#MOV#Ra zHNLk$c!H&^7@Hs!d-9F_cn3oocYmJ3S9WExdUi9#)J*KWADS{(h zq2-r1akcB-Wh5Kd74~h~Ubwz0v|jFR|9P!Rz^Xa6YGm zX`Y?Wl>tn6Y`6?>`2pOxTzn?G{T(jYjy-$TTyrh1Yw`pulP?io zSYa0axfVlARzkJbR;NlnnE@{T8rODZIGx`s3+Xc(HZmJ4`d#5x@NP^|8#ser*w&3BTaJWwDkYHt^<=ijh zI)B3P6PH|96xt}1-xlt`({CdjNqBmvNu4kp$C=BQahrL%r{3NfW3whfIxT*aPepq zW$sOU|J_}m)>}?ZS`P;(Web882Ig0LC^jbZYEOK3T$QnBPLk_hSMb@v!!y?$H{}B% zf#+z>`u9vq{5vcdv2umqD};}g)XK{Dm-Al?&y$6e=}LG`ZdXN4;gR24x|MXF>$URx z5^_@c`BC{=W#*2f*xTT3=&!|<_8D!7JXAA#l%zKHwmqD(%5V)^<>wOPZ*~=lC5~04 zJZH2vk}Jo#vhBLeg4Vtm{oryR^C70ft%Y;R@wZ&&JFI26G2;s7b1sU~ln?G##Gr5q z=Tn4WUoM6H?DC$v8SJy}7Q^kz+RI?0q}em%%g^uj%xN2+C)bZq6q~_SSYolw9rY{B zIHM9HB&xjkR+w4o)NDPL#5-HoqfJdD*iYbDX#xL;vayzYwJA=ir@ zcflAP=B~GeajuKoyTzFPkKElFu*>eZYG|#EzQ*%HXi|Kj@qvWshLtMk5rJ}YwIL6R z)*5?X4zhAq&CE+WH7ph3Rh2oYVKI%J`XzjTFV9?w{3w?%(Cc=Rn4u~XBVxI?ootqf z?U%pBuFT)n$;#k{79fj?Vc{}wR}liK9Cn$xMnt#DV&n57kV04)Jj;eK!;^c9^(6~| zzbH2&1;##bW0@eUi+;@D%edub3)nLt+>ktmEU{wOl;%J*@?ehOQ`4f-b|+xjzrlTaF{qxzE{Oq30uO;#=?olD4Aw7@PWvr02uB^W>Uz6 zo^O5K#eUZ7`PF;N_b7p^5d=w?tI=n zbKQ2?fgW)vQ-H_U+%HW+SUQm3%Hxz3i0BOV(@y&;4KF0|YCG;ky>`okVWY9~b&VIT z3#=d0BEdFjmES`0ueMPmP^w7K#AY2u;g-+@&&K65ChaS4Tl{+E=TqNOs7&VDbGf0m z9J7PbQX~rtPD__ME{%74CW)-__13IIjXjtVjjUua1>7}th0+XG_>N(Fe6zAGDYqJ{ zJB{^84c1j_gjzcdn?|RrCwSPtUM-Cpb6K`P!AlFH{~mgHcSxc&We=viin(x={aqTi z)ywXHXX67b70SQ23NAMivae)dhq+jat6|o; zg;FNFUzOwE)`|hqkcDjNR`Y~c(miJSDcx@|9J7=_8hCQY%f*=cnno} z1E`>ya*Y(ZT)V=iy_eTh6O}r|amJNTyOQ{cU+>Y2FO)nl(e?4t9vMX%YNk`~+@8B5 z)w+*Q2w8XZjJQ zX72bDDovZ#IH6O&fA>L5zeE-}{bh44?$dN@U?p2V%d1Nd%M|6OpgF&yC1<*9tT?j2 zsKvaCd!}`8>itu>duD=<6!%rPMjDqq9^P~uaG~BaZE7cXu<;sQNm&I-uD>s&>^(id z7i&Th+N_(sy3`_0mC@8xW{CCEJGK;D{`i+`;sTx>O16Jg-+&tDX@ zJ?PF!e~;@^VKfgspO+qkGQJFkH$Bg2i=MU=AN~|7<<7plCp>?boJ;SnbljlA`bzzL zY8t{qjh90j^m zBvONFx>pJ&o4C*|mt}B2W>;2+R5gcbG#A-d5wx-k0^hP(Nx|OYMNezhrJr0O!Uugl zC~r;q=HeRYl~UR+6yN6#pW~(i8thFcq*e!!;4&<84-ElmO zvLz_TyPpQFY%SNpFYA2no#|5I3dQL@F(zCgBYjch6q$gt{keCK0m*X-S4TnigYJ@Xwc~(T-a}fKT}&i zjjrn0u`+%ZJqrAGmzN*;l0nNZuZwF*!<;HRBQ1WY0e;TSi|Lo{5B_!R24v}0!MZ97 z+so@uar=UvrrOM^$-r9lGH^?Uk_NTk?tQ{Z&~jcq(Kx2IZ*Dk8f^odMyN8Mi>lF@2 z+3o%ztTm<3+h>bHQfOIF(tfGZk?d1mzqD7YUCMkjb#$%qz1OEpFX3pMsdSNkbrCq= zUl)(;&kmI>>_|)QQ7G;0-R+Mt7fS1DPR6dc&tXpV8KGIf_J0pAcQKD>XF6%X&#ARf z09kb{?HmX?4b1dEXs?!9UhrGm{{GrbbN551;60Q!L-gdcdYf9ZMuQJGfpQu9p;G@v z)+~P&LeqgbvOepT)@FkS@{}Wo9Z(2-nLGua_9el^E%?QSQVXY}%x z?mT0Wg+mS4`;B+6^F!?3GVg8&pg*bl?_a8 z5Hg3wsPqs^GZl5Nc@6>}lpT15vDVLY(%7M1Pf+k?5orSNjXIF)dR~@ZFS|q3BLZFN zacK$~C5~?Qj6ChJ#?#tMEX((sV_pn}4M}gtZn6#AMew?|^l(9CRSNseB1#cc<4zk2cG8b-uU|O~v$(h(1UYgyM5L zBTF8TuM_)?i9@=t(m*ZdFDM8ti5wYDKOj?sgu?s35vV=5ix=Dypo@^w=|hl~c#X!m zXaPKJKfw3Q`Du6+{h-W*@?#(y*;!wkPmM&tTNaFwD2?tg3~icAWc{1#A5Ray=R>y; zWh+QOUW(s(@taP+O~r5*YiVDEHaJCz>GaMayJLC@PF~tc=}4#7$2Q|}AZtV-p`R^n zAD`Y)@AQb>!_0zy8}B@Tw16bl0I@B!724>H#%~rhjrqVdi&n>DqkYj*Cz9e(Ki@|B zN#pp9w_TRTHgtxTLN5Z=Mw z^!|;%V?_qj-`D!+`xluHv_j(Zs!7L6_f1pA6tmcl;8BfqE%ZK#{$1z{<}1S!IT0}0WNXdOA=pY34cGF{ff9y#HoXw-S1>8`DLM1Xv%?HSkSDnxARt z=`mx7E3X`~bGMT|VmvKZHpuHE`|;|ej%_@&aL~ze=E}Azd+9x}mVVTx0GI=i%G{zd z-AKdZw$=Q3ji-gZb8L?Ng%FCQ@`b4InZ@%FuA$z)HlM_%)i`S%=>qEq&Eq1blZ2O* z#jfmyJD*;80`8N%+x4gzcFKn!*bQDK{$B=*RjrQ5w zb9Z9PkdMb{mrjWNAfDEsBL}}Dd_vyUCpnUe@q4=C(WIZ`E_hh&pVUy zG2vrL^0xaB`ZSTnAbOzRr>!9BwG^twLa~&2+*$d~r z%5}?xiuG1t1$|fNXQOq~r^%_A-WVq%yZo6a-@i=5$y04OeHmG^t-P0<&giK0$V}VD zOa~h)BnmAu?w9lp$L`{N8pl&CX|xp$u;Dg>+lk@U1nw-@YGb9teMn>QP~~Ksru#V! z?OC_oY}%?3t#;EZF!tSS;&@yUa!KSg{q5Ki@hVhIeoymCKYJnAZf6(*BD-AwpLW2H zYw*i;O_?`7D7z@qi zh6TW4NwlnMn}hxMmyqk@(rNE#)*caQrzD5z$1j;3VqJOe?>y{d`r3kR`c-0S=}DN@ z3lU$@qT_HF7Y%TcuQzo<7|YmT$p0o(%J%Gi&}BmZF{34;~n%JS6d}#7epwrXDno&ECh6nojoyY^Q3|<=*T*Z#{g9y^)0OB#|cxJOn7x7Q%R5 z3-NClfLr`lytrk-W7>)6JeBTCvz)Jt|<+?)xINMC!uJk0P43&T`| z6r_SS9y_0aD%;aZI$xed{s@y-=qMkQH*nNjTGS6*Y1ue2vZP$WJKAG6S&!Zr?>=8} ztk;o>8E)4+Xz@7kJ#pP`mJ2buo-Xdkw(%Y>4`19%+c0YtA*u`AQ`@6UAG;+yeUl&S zmbA&@p-bVEr!G(beNCgz$~0 zb++EhH09$XUm-)K*24KBck~XAEhZ5N7bu_7Uh9uBETIY*TzfiKryVzYJHp1fSITmR zfn8HCFHOe=Y;$7ACqL$^u0k9FOo;wUr3m5|64_wmS{Mm+2nrkr_h4mu@!dCkPq@X) zN;hAV#r_IuIJR#A6LyRxW}y5Xw^o8C@N)LLFMSvz!3tgsd{ih*wj}N&jalgv>+tn# zmwonQe12J_%X~-3;Ns00`aX8t1wTsl1{y2ZO~f=8@gt-9Y@ZeHFFzt)@?oClgwgQ< zyr%BhfY1CzW1FwYk2p3W?BnE|9}{><^c7y8(7r)9j4x!#m`jg1wq0+k{`yV6zJ1m% zuI`Y(bo&0azoYK>Ja5(bG*PL?D=eobybRA$je{263BlhbRN`w7vri=w!r#U|vd@)C z6jNkNEL1EELQLpL*@hFy^kcyNdbGWaVvd;qkWYV>@JMwObgT;BtuY2h(25J;;wcHP zich-}y#x&-YAnW1+|B*)`;~yEam>Cff=kRT2z`gcUg#56$GW@cs5pV*Dhg z_T^`tY*X>T@|b>n;d;MyM~{Yq(A|E^j$WI+OTQkKG&bkB1#7rk3@{iuBL-|o->=Wd zHmm{rR}VdIg!pWk=lc8#(<_{*VVaI9H9j6DKAphBz+SJ<_PRBP|MCytT1%^05O#Dp zX0(RLX5qr9K6^)E5B>4G&DP&9<&5O6ts=EZH!<5n6r$p$UA#lgGW?MG_h91H?z!;1 z{Kp+-?5TukF&xgq_t!J3w%5q>u=XPP!~VqsJi+}XO;wgO=GUB>_uIyM95IRH75&FZ zK8E+_HoP%0s$lorPdj3@O+?OoZNsDNBm8_U!47+?d_;oJcSI!30C!m2^ZS@y=WA?H z)7tAvb-(y)4{2}4>-p4u3mdz<_FQgHouTVJZ`fh7e)fY+pIww?Mf=>)RVd zqO5P>`S>Yqmi4}tUyf}&`oey4JW-jk2Ib_S?&c9FC!6}eZmO{&^Wqpc_I5|CJYqtK zB$;{TDE1!`NOn*hBO#)c^~$CA&m$}$wI&*>zbEl0Djz$ShkU-i4B>lw#d=2kUi&9# z^?j|B_amRDJgn$=G{Eis`P!6ZA5-F|Vo9`y7T!gLva#>@!khf%mIdBuJegppY{5p{ zBht;Vi#_pg!{+>`cpd3(d!~@D5`mNtdc;UCYp7#5<|9=f+mb(`f%-FW9I*HVNyKs= z+hXE;YU;OreR%jLa0!Aq_d)P%`mRx8(L!s;DMN6n`;gYXKR;xI84KZK31@;S;x=86 zKH%Myjlg>PccFG{m>$ay65cFtanZti^wPc+Ck~pYX;b)+)^IqqvYeUi{KPDOh9Dw? zJb`HkI-25k6OPn{T7t8=w5y&GmKj3Tp7;~KoKHd6$R6e)Jsvc6bPOTLqMaXhK6-@0 z_K%!8k_&(}a9h5@QZ38GtP{2w1KxUe=;w$(5+7^CnJ#;WKHC*-Vr3Iy2Ih>k$9iQ1 z0YB!Z17G_%Mq!PSq;MEoI5`j5(l-{OT-sj`Z}O!pQO|xJx@)Y_u`gy5;>C(3;Gwx+ z$72w|;h%Z#Z#q@mJFn!3X$!|e^yE0t2_`@REqmzwnM~CGt*k$K(${0fjc}T%gA%bi zv%O}id^X{+UGCc$Z#kfZQ70{6y-szF(<2I7tT3Bla9?!3^2n86$2N=*$`m(c z3$fw|jp(zSHI;Y$d})cXI1<$=@1cBhT$rsdD7TmP$^LnEQ522ZB8L3X2Cg^B+S~-< z8(;TkdEwAU4AiAgKr}friOD985HH5BoeG6 z3!4q#D6dW0Vw8IX*M}K~YsAhKLcumqqZMk6_(#t%g`MA}sso z%Mu}(1H3D!Mt{b}h8D<|5+xFAWu=H}+*t=ZU;rQ7=bPvFumj@68 z6xn6`A>sQhgli`6;R|v9InnX8C4DNKnt<;ef5VRFdwv~{^&G49cnm2YKwMUK1+L6g zY9%M{-`zQV9>kC}KXdQZ zZE>v-_nwN~mQmV@SVE-tW5GP0v?aTuLV8K4356vwGsMG|;Vqpyt~)j~!r$Y(@Ax@d zj^*)G0&gS|#JWRz3HN(oiJ2gLZl|v&r!|Da;EF8@zu4LbX0!L?2Cw>ga*G4XBO|`D zyb?+Y(yN8M$MTxj<2}iwW)ou2UZ()})3x@-|D3byl_5{WD<>M?4cf>`K$mCr!o{<% zw9lqr1i-K=>)Ppsx+f{-e&vK)b5F{G5GV1av0;uyM8=!$2F37|J?TD%KLZkmnFg_g2bky zIW#c&sIXC~;;3CuXx`T&rzGy6J=SJV7DNx-8J-YF3`z+rapE8;@v3?$vs=+u=9c#! z0+vb!*~Wlqmt#}vuZKEs{|3GrIQYolzJ>6qwHN1ee}BJ*x(J*p60xuH`Fp)WgX63H zgyV2##>6q@EPUev!O1sa>{G=x6v6EABmLO3ZM0j*TzJWpj=FDa;E&tt&P4l z0us;^^Yt%>FK7FHzG0_?B!q*rh37w}C@K~P`E;QjY5 zxl%uTCYh9<@F=S}0;Ivk0u>=Q26bkP9TO(MRjR!r(LG-oTtww!QQ7V>SXr{`vFtw{ zpT~YjhHQ;h5`G=;1R?RCbiS0yzz18iu@1Zk^|Lvy4+W{)Do8eK%rsv1I1dP3*x6Nw z6M%i52{650bA^=$at*`i^+hln{4{<-SVS1Xe4R%#lI=6xd4}Ojhig`SZK1fXS8bIi zgrO6Lv%J{c=+CCmPkgGsti|)NsJw5j<(O|z$1b2WU(#yQBNEm(-;6!c za|yl~(G25%iLn>r-|%Z5kLGzi>Tul8V;lXxlvj$gWG1nJFD`GUA7gw%{2ETb>yZwQ zZCD^AYLF+f%FXd(}B5fO|5Mr#|CMy&jX{GhxuhP#;f8$j`NM&ptj9P!H}MLW zjM5LiteZCYhgtXa{ZXCv_aAYsraTSwE0##Y_}F~yMZ^&ou{@6cuOp&#p(I4zs>HGD zB@xk?KoyuS10%tivqhkGl1K}jx$ZAJw%Z}O`a4qB`!>Q|{ZwfnAv6q%Tv<3l+dib{ z0N`-$&$n03Q4IF}2onsy2m(ZgR@xkzq;&i;BxZh7S_ z5kOmBR>|E>i(uF*nhGjtWWzH=;R|orvBO`TAcA#}Cq1zV6T`f$!19i9TDrH z*5r5i^H`FyH~*1b7^jm^wxLjkfzwYU4fYdE?2*n5wgYH;#Ezd;!^-v<9lIVL;%ut? zBu?p74F_s=ew22oETJ&eJGsaUZqG5nFc2>e$*#l7_ zkRRrwfgewJE#5b(bYS&hB^uPMe0J>h5n6Xz8uc39#*HwX@rp|(ydr4@$U8eAF=sKR zA%pE7p}a_D##2U)GV{7!mA=%SQ|;+fAP-`Y=yY zR6hxusqV*KLWX37>m?U6jXU-#)OEgia{rKovLhi?67)x1$iM$;%{@=}4>AQvO^Lf{ zr`^9}-N-Lua%;kDVruiqQytU4;lLr9{Bj1#?>}D27?!GvtG|6>E}*)*gjdw1`}_U= zQL=5!ip_H0g62+)M`n(;v0bvq6I*FLvZ_q$&-XJRDICsoW+3QqNR$ZG5WIF)uh zL&C(dWhUSex$wzp{vu=K*ka2ratXjR%NcsuIQ7Xnj%Nd7a<=*olz&JRLd1AXbEe|I{}_VC)LaGW z7D#t~$Y~}zb}vgN=S?_~$P?685^-^-Z8<@ov^vttP4$waw3yRQt6LLPXVVb$PWM<}Ahc9O_!06?xt};l@eO zM&3;DP?!*3zwIDTj_d8@?u#QTwW}>rDJqpx zTumeH#w})Qb$pITePZYiYViLY={@wWmM_!)v2!62ox`=E89$@s>u0JXibC;Gb)ryX zL?h=}ONznIEmS@fV+W$ybX-#!vc40)sUW!z)c_e!0_aE=l?5nYcnjNl3m%=KZ;GT%! zQ8ep^+$SF<38^u^*O#aq2Yy28(1f!Kd;xov7UIVcv=`Ns=MW@!ZOW~oAj8BO z%62HP>bGdbNivP~LSoC0hx4|n_8`4Iv^HhCky1@8&i?WMV-t>zE)I=Qsqg)+U6YK| z^`tIguv0sRpD+FUKmPOo{^wse4|Le|{bBz|{uzXzCYC5xP~2B*N6wH%xDrgCpfWhrc#CZVj&L%DYX@z5uzlMp@gZEF8A+XgZ2H(Q zO_Z-sEoQRpsZ)YzQqSu-Oo>OmUfIe=N}M4}aRJT!DJepxSv@`--)F>!NyQ64#|9O5 zllw9Kf8Wb7)C{Ys*DQe;WEt&Z?qB%X2m58lGIvgF*(jI9YIOu3+2IdfijP~5`t}3yF!d5Q+yp1 z5X`akKz9IM#+Hb{x#^z2a(+Hy%Wt@-6Fq}c{Wz+88j^vU_<-xh22*FWCh|Oq5%1{E zx)VsAoLrw*Gy)tGuL$HV`qb}_^rfC!Kj%~%@N}i;roMCGN0<^(f2o#uK3$FhSAS%R3Sp#TY2OMQY|OBTwHntRBL+XA1^#N!<$z7xy`dQ%i&B!(FV z^B7{vu8;DB5qTzK$BO>L4>6S2&z9#x!tt}NqrP&UlO>G>^x6?h2Z`XR2=Wv8#jERC#+^O6M zQ%_BGo(17ZQUdxEbA}TIClHc)Twmsr;|X&)9<5Yu?|#mbc8uD4bO3pU%#(M-(b~Zjc+@+?`v~!s(TSJ z)L;*(M@baI??2wEVW@B7&9T&gFd=Llq(p%6ITK3QcTP9s*qPu2v^;q_$5TfD(LG!H zsUPj(reHp9?&LQ;#SOlW$KAf=fMkyloM~Axk}MXTPt|(#VG<$+RqpYV;7jq})ko#W zmuo821M%{I5ZH6f?QHShqqrYB>yGmA;BazBCrC{V$a3QUK4Jd&QxNV5^sKQO{{G|r z3`n^kZLOy+3yS-CX;#D&r7J;ArHUsh@3U3$(C%z4zj{VEnmOE`FN)+7|7_CGsQ9>R z+2Zi!o8AtOq|-SdV3$?3IFCq4;ZTlxBeO$oJ%4`c{q3iv=legd6llrb=Dq9X>Td~# zGTnOlbo;xo0#>)>j*81t{yqI9&vYSW<)6UNL)F?jwc&rlvCgV5)IZu@i`SFs{Q znnfFkx8TgAd)wi~ijaT_2pyGxhn+cl?Ba9iGdp4d+ZFz}`upc+-a6g?^UuG|rbct^ z7V6aOw*NNnCwL8GS;>WO;S79#Tyux@3cjhkuzHmXug3lNb8p zZ(OLXihEB8!JLnf-Q>u)?vFbb#S#%Jw$J@^{)_4?wJTjL2uC^h#l2u3$SDQY|gp}u%u z_x&{lthhU2^D z>m_)CkKA2P;AN;b%l>unsJvVPwXpgg`{nl+8|Q5jQH=|OQzoJD5j;2U#+`5LR|(AP z@;DidJe>XW&h2xwdxHM^KmQt?gr~d4 zHtikb%RP9zv@_#HkKJ1)yrEmM(o=U$4uorJW-3LVeL9x6jj&lRmABtx95lzh zN!tClE0C+3?M>0fDAp<69QOpDjmzf*uaoAu>)wSo-LhQh?zejLjg^=#e9LOais=zP zZ{BLGmeW-ymEWJMfHj(C)y}X_WA&X8E}F#~_r~>G;sVPye&coqH-0|@2hj5*d}uUP zhk?iIYi=xpZLDd&@pMVTYRW9R8-NtK^1aRZ-@+`u)9%XFUGup0pD}vP@)6L9; z+tG~q_O4)?8{hmu&Bm*Cz24@#neAbX8aAX*~V;ryMKBG7$+^&y_f_P}AwWaT{E1{&>kh#dw|Mm|J z$-XT9wxy^u4Pb5m7z34C&$eR_+Ai|evd4e>?e`;^|qU$}@k$&q($ zoKtMpm403!>x^*woY^4im{?SN2Be%h{knvb*`i*G{~I_Aq^=46WS>uSokJ^&{nm*Z$kkR zroERs$v5q6X!GgM(N5+1FjAX)p(etA<8wmk727AgDvaRLMr@L0;WMIef&*AQSnXRq zZfH)xeHbg7R=Da|_2I-*ss``@W|+yPv1)C`-nr7>~v9{4LEjE`XX#DKo&n z43)LukJV1P@!(sV$aSyQ>pU|XsJ7SjB!lDF6O+*o^Qk&3k)zuuC=h zjW0QmyVN=Gscob=&^GdR8^#^jgHC=e>kU`+@>@43!6M#G3QvCTkLjvy!_((wED4&o zX|Phrxh`qnM@`hY+eKt7#n3C_(cZgiu6+CnzHo(?i|3uj5+f$hA53P3BU7&D+K=lH zyc?G**G0ZP=gasw+0>Wzjc^Xd=sfMn;lx z23##;)w2f|B*NUT&y~D60#8e-v*&4ZAn3L$xLYi)ZU4Smte!q51EECt;MB>$Al&^m zI;4o{l{0-dZnr#nZ(rFLB;>CH`ZX#_!Py{4*F*_8L%&vjZyBhUNd1k)>{@b$W5#%6 z<)aB-7Q}CSBK6BHC%i094+Mvs-X8vZ**~DxO3Bjw-g-Bl`JBG^{TZdh^t3s2$4bcn zE4s#?r=8fF>8D0}!bt2QLwn9)MD4Fc`1P#SyW7oR;Ors_)^KP4L)b zJ;0Nn&y(AwDhQu`x(G10UrX1kgI0x?*Ha3Tp%fLtQQHq}8lu~) zZod%l^l{$Ol0$gBl97aG22;3vtz7mV)_Ui41KhQ;3Rw5lFLclw7r#!rLIZo(Eww}N z{p%L-stkLX>s7!qM(Ovm#R*TDBIGUwE`ytQR2j1PsU%^+OLF<_F8x;JpwMBS(oCE2 zICS0XXFO}LzFY=TubU0*H#Pk%_ zI?*wVJ2%SbgJv zo-#JSi8Z1C0fIrddBoCD0db;l|RkF{|%Hj9~Nj>gx?byIo8PKj@6*ZTDfI_vn6 zZalpk^HHwwm%U>GCJE`j*hD<3I+a z+@IGn{l#WgVbk7X@~|5Az*#H=+)w@obl;S6b!1CD%io64*;s^kiSBcK_}g$F`Dr5L z3e{Nf4TUork8Un?<>wx%936T5YA`XNWrvB&)}xVdHXSDdwozz7xb=HW3(L9h!d7+_ zQ`LbD1D6DEziot_19iw`4Xe4@kR8s(-ECkklS9Q5cg8&Ci3_!o?4d)pMB9)}F*1zdwPCh<@)>@gI(}LKN zK%wW2$9BoZciw(YtZ$u_z({=a`y(rR z#N?d=b9r0oAcE_Gac*AVGQrA0F}4X^n|vQYTkjpj_#ZEx2%M)>w}|B$U^h=@ZA!6{6q+^X-3_MHb-sfo zpXlLhORelV_1xtCfs%fL%TZ#X&F|Y818xP!pnI15-rwHXQ;NO0I8!ZBap6Sy?G^Se zCEenDg)dlXN5uAl8qRaKh<;qLMo;5I!pn`<;`YLEFDDYcLWG2yXHp6s#%?v?6dotP zUtVSBc$=D-VM}2MMwBdQ1hTbvet*U?U-P^bFRI#1`TYf3eCKP*0kJ})uQ=S~WQ_uX zIpsn}*5kHgAowgRzt34+ASnJCci%~ zuAB1fb)I~g$}*gSsvcO$@3}vtE7(NdK~9=l4<=eIjzpiyAS0-j%57B7A~Js`M|^!saZcuB^`Nx2_oa+F=>lvwGD zE57AQ)-?IaL?7>8y^?%)o?DV=D6X7heoo^`u9m~CX&=wWutrDv!lj%&sbNVbAOx0N zs6r_*^11t~?s89|+teqa2p^w3fB&(Q{=T=CoJQyUA5vjc)u1KJ{Me0KD2BL8@Q|%Q zX}v^LXX>AXi~jqM2kTAChQ%(Eb?UySKk?d|=j+(hPsT@Tr#-#ZpMd>j7Vgs8yBFl~ zX+A|d;qO1*`uBhQ&;QeXo@7tEe%TSxziY~7bSL7UyNRPFPENzJD{uNM37)_5BhT)n z-WCs{Qh^q|yJ|sO@1EjkvL~9KN_!ZGcrO)!k(=;W+o?Ovj~yP=mB{q^U3QjI@zz+> zCs8tbp~8Pjso7l?!zqv_na6sVxarc*v~*<`Tsxg}(qmj6-6@0MT0NGG5KV6CV>|tmn0d+xjc-(~uafd(>AK2dFZx6~ zlh}h!cX1~q_VdXHx!(nyapU)0jJ}3`9VyY{q?F;j?aLFP^_9HdcWnASL!m4~9o&05 zi+K=ZepiwgirB1xDcN++&2;)or(}$?We3GZ2CpOeRWni3KH*aL_)3<~^6SXnT1$f( zA&K`Z6fmj3F9+hEy1h98r;%V;oYh)fJ>m;zTKObBxZI75#ZR$!eV#Y)=t&pTnxsR4 z6DZP`?4mk{(ibEv3e?@?p!kIl5={cnH33hW1%;YiIYg1eznZ&Mm{@twIkj zb{RJ~?UwoKUcRzxtgB?Zq(Co6dCD&o$^pm?c(Y^KNx#2h|Chtc&9mItdx`x?&C|>^ z|E-Lg=1T6G`KoDj86l@e{E`pb)8!L3*R+QllpPQ#2ZZH!tfy|Wn_d5=kr)wpLW z4C?P|m!RF{Nfs?>?n$e=YQp7gsupJ96XYLtlJF2Xl3sVJd-|pE%~Kni=Iy&6)3kX}xz zPq1OnPQkwKEk0eDQYc4r__=VY1ONySxusA82Z3!PN?x<9Jy z)aCBHx5+k%D0vI|H$_OxAu6W!e`!A;UY_YR#m*)zIZXIWg9x&tsWL#Fiut2YeNUB5 z-!vmgLF>l)>`V&%F^MzflSvjlceXHe`=E#|8JLLPRJs|zwuCk&``>?S8=e-d=ru%f z?2(GeuCFi<0#p~ye9GI{MH{bAr_IBT-kr$}MI`}~9qnz|&FZ8jlx#~10$qI?A&>*sp%Sc5_Lj2Tob@8%%FIX}6xtvFihRgO+!jsPudACm>Rp1}Yz< zxF_B|@$lGe#%t{(Uc7U(gQeoj)x?1^Pf6Q53O=0a8N~8?xE2Oa2=~bu@231MrKP7S z*+>ntIP?^>nQ}QY5`udZ7a!!cz0=2OUtT zub!OjIX~2F`i|5tozyc}4C_gt|Jrm-!&U6n$#ln>J1^DPyg=~QXaI0daN zK2s^Evh^ty(6rynWyVAeN2?E(crU1rBoSwg{9;Rg?_Ow~l9;ZNx1K)ouI0yOu(U%R z3p0jcZDO7~*;EJEL!wwc47E{b9-4dlS5J{3MtX;Fvte39G;bIp5? zB3|9~e6Fh^4@r1T>Db|v`Y}_w#KWZuz~mG|{i)rK%0kgSJ^dh5}Ggm;m?+@BJyTVrn*(?u0SkX|CZ+IE!eKWi6y~?z6p8S7b#ltw^>~ zv>)kxkWD>P;|gNE5o%!iIqsSUkuy!FuKJ`@OXxGWl3w3JoT5r*!u0C7%L&$B6^Z61 zm}saCLVHDKWXiig*|+%5ma?CIYrl3y@UrbNT_FYBLZX#GI0#l?{;*BRO5P3{OL{G6mEJJy-3&?qZX`ilR*qah$c+9XgSog!_AL`OO$i~d?M^W=b;N3;Gj z#gHg?IH+Ga(!=mD>6jcUcTB9Qx1+jNwuySd$mO3)g1$=)iIvdCAl-$KK&fB#v>*L? zth(t)JPVQ<+aLCBtv;1Or*+-b)0YP?B(_3%bGSIPI-DvJwU(0mHhL~G}sF{Ijy~}KP93|ApHn{KY1Sph9U`zIw ze$Jt#GYm*UbXbks}V9Y z5K|s2Iv7KzeIYh-Oze}XE1Oy5%w89E9jd!c>guf;;}Et|yf>;#ZPd8W@^_pts^uXR zeoZ;2D~u`ShmM8?BmzK6z``e~k9Yb7Get!>;O80c=xb*R`_pG}o6>fi{vG`Qx*q{S5W z>)CG5Y6U87JNX#fYU-1gPkXbgBAm^3SXXUy6M_I+dpivC?Ti>HcFtdO4?Ti&Ri>D5^s zQ_NOVU)jIoxM85%m7ljtKy69vSQL#PkjR2bZ0)0_eds-Y&F#J_R_z_4%a+nnIGfL7 zDzL#DEDI@S)0X4IdrB!jWy{3_BL$@QwAIVaa&@HUFNF`pQtUl(l~05AG?GUpOI5ZB z1#-E)&rnBnAvhA}EQ(#!N-p&js^g>LIfxh4K52DiDu|zGoD3^Y8%MtKP%~crW zv`J4$>0W@E@Z<9g0cz_@%u?<|;0E2~7K+OmX0NxM?soq<{G@Ro>e zVWmU6pUYc1MViv5VK4SY$1Vu)X~GA?U)~@wbk_DVBGe<28^7E2j$sP6h)x7rm4huX z*J5k(V+R*Ka2R#gvABrAk(!euCEGiu4+@fFAW8ADVn0Ja9v4O;$Rs^Ob>32Cc1XJ5 z@VKG%Sy1u|Kle6VV?)KoK2yCn4G*xnKse%d!4^kt(bGh6@w0(hdF=p@uScO&DHQKj z)D~LedU|FJJF+b~E+DJ4Cnx&6Ord6$$V?|1RnwK8LW(}nQM`Ibqw@U@e8>Q7%(@~` zpT3>&0EKFl9go7mY#F4rlFo05?HiN&MYkv@)wDYyD#_)$M^3DL=J<0g6z`e zloO*r0M6!?vawbK8(VXD@pd=9lJ>c&PS5&BF--l@_0($oYRxFYdsD!$`(7)9QfVM`<4h&c#Du*xT6 z`pOh)V^~PDOJjw25CF8YEskCMoo~kZwUCrz$xdgJlV(Uqm;;dj@o`wgyb{sl9cNu< ziRLdwEV^S-brqy)e|&KOjn0=%GuQKx_gVE?niLRKlxEwhKZm>a^aw|evZWTC0-a^4 z2(C=xYZ2_y%B8S(LoKn7?CSa~pM~au+!={*AFSRrh8=E4RE8hq>h~y8LLt6 zbbi<-m0%Gqsd?Ben=i}YcI6UuL$lTtOvVPMjzIR9#zTS8f_5meM|t1FpO79`d@9-> z^3xZa?W%=)Oa=N-w&)S-c&hNB?C~L(n2BFW3HE`-;zUVr*pFB205OuUCv5HONRzlT zCWZ2S<7Ai0k1`{I8oUvbZ3Qs zUuLn`<`M_D+Agv0bK;qdQO(+2N2OVZ<&i6L;P;V6ateJb4oWw1bhJYTc*J_qX@s%c z=EkxErGcJ~=v^rw54-Pv%kuB=F3p4pXcv#Tp?5cnBPB#D#e+>jeX>+9^&M39_h0w& zQYN9sMA|0CXFF6?=q}}8XOXI`K7lT%rr*#G*ld1G>O-5A$30*p7F~_3$2PMjqJX-& z=yFWdg(WiGY3Zi|AwFKcA1JXrD9MYt6DKvDQHjZUb)#rRUY1WSezfU9?^#RGm7X@X z)=`8X2U+4S%EIsFhYqT-67&;Ku|*<1(~HfQ4aXgfwBw|&G6SWX$!qG>wDaoUu?I{Lqnznh2Yj^W;V&b>s z;k?wJsGBr(nx;qB8HwMUU}1H%^2z~aGx`n7v4yx5o2TtaonddRwtHcftsPd!Wpqli zR;3VZEs&<;BXwyl$Ddn`KjSkOTb7AtK97JS6I31xxp{<`RL zTCHl~Rt>j!nM)hZVf!Oa9=rWoquCr4Uu`k4?v5_AluMcJx`b0+tb;|v8ODOT0yqea za9mZD*f$Hpy@}>JVw1BeDmB#ykw0-grr80pD)iJ%OD-S()WIc$x~Jis-Q;Hs(4*Rr zkm|&&KIWz?s&d+WZK+{z@)871Fw7Ku9} z^gCd3EEDu#_6iNKW#-%g;zUoTwEeGbQYBQAc0d>((jEc7O&VF79WQ!7Sn}Sz(tJZ= z3t7!0{*)azh(utTaDME3Wt(prwb0YBB{Ahbu<_Ev;>U+j`3$UA*Vh5H>rF?p?EcICt{zfO7vkO88{0e9p1OONVLVEpSiFldDE9P2O4L>KOYYn8vxz9V z_U1C>1rVhHF;0Yt*#eQ!#KN-!al??uK)VGK#6IU9z_EJ>&Gzazd_`NrRFRO#ehd(j zl$Fjt^O89rjZrH6FIii9fGzaWL z$SgZ1m;|>g>w9gB8`8g(xu?-c4i`J~UO}^pXV3J5lnP=+2%N=gO(X?hBD9Y1)J@2*-#Uk=Vg00=5qoG07pQ$zY~V&)tM1&%4ewtME59r zA8HZOeH3Y^#s5z%*-Sfg;z-hp4nkMAcMsucUi*{29#OF;QY#!Tovm^kolrQt1C!C* zgs(Ux@>!ZQUor@LvO3#rZRk#enV51dR9RfPxNx zDulV#-#=#ao?MmrzE@G@qHJ}+?B2XLPm9cp;4jt3N(SoDK9=T#@a2~YBi)uz?$hbF z?Py0V>W`1wLwp+AI%F#Gu5=Y5J~r~kW?ptI`A5kn;VCEQ9b-Z0w1CaHvM%0WMA(i$;n zTK=v+)Jn*vH=Zp(lNO8K04D|-(xcL48p>9a@rF4F+1-QS9Q3$(pt9yPhyqu8{E8p? zo51!n{sicIj6D%=5{8$~G}zjsG-JX{=jYw5wnW^=Gq?lv39G=CR6lK|i}IIz34J|1 z1`$`#LgKVrm>JTj6}rw$C#^O%|I)&&pMC#z?1oaYL}WUlHh&Qq*!VXJ2K+-PP`IEx_HXtFG*@p#IA~JM{0F+o58}by|=%Pq&TFD zF!rhQO1R3C((?7#U|Yn!G+Tw*jO0&;{Ic#BAxz0PyFQU2wUX-gf8Hr; zWQs;Yw-XKrQ!>XgzC`qCcA3>{>erD{;M9tyi0|v{Hhs?u0)~8HS`_tw5LW!I*HZU@oQFh zzPIJ3r#qxcN0ex6%*@ScLrj8QiReLenzlkskE2<%9+9tnH`1z4ZhBsIrzR$43HxHA z?>Y(pN6Sjn$`j4gp5+1MTXrFJ0^OVKxHZvyu!Lln_0221wgeF+9WJUECv_&AALbiz z9;;deeRkXN&YoB~MbQs?;*Hq#39($|eOAV`W0AJeY{X~*DQL0yFbp)C1Wd9^BXy?L zdrfi!LyYMxArCEyP>|esZZJT^o0#ae$XCfSiOiP_6u1n8b|gtF>K7d@(?!-B{ER#G z{D@`A+l@zeU>MER6a0JZ;7jWvNrgAROl-?xTIfYZU?8XpXPX5bvIye#uyrOzVyxFh zWLZM6cDmA?nE#Isim{^p{&}u$=}i?dZ#tsNU_L5v){8!c>9AHHFcya?>p=Hy{+}QS zOt&P~bIuAO$n3wq52ML3;n`3~2Mp9J{!EL+Neamhn+Z6i9WjE+phep|RVDgzdi%!H zUgPrR?D04c!Qy;kyAW*?f80)d|Btoo8Bg+KO2YaGe}{|U=Ze)9$K*_61XjAdbr*+- zuL}v}`1GD683hhFJ6}tIB#@La)t=~Tfq#b_m_+RCKw#cF7vw)J2XkYx%+Z6D%?Zjug zKvS9`?)YEvS;(?QdO*G!Hzq0WJ}Pt=rT2N=^2%Ycp|}S1*Ve@-GeUYTIbrcE%#SOC z+?O_bcvx|&;@3XuNeC%+8O;)Ag9jC3gmsm1CTW3eOoZv(0Gl0aw+yk3Qq#(Ig-o)V z6Y$4b`b4EZ*JW!E>p9cfF{JkTekeKTq3n1*`fC%e9d}D)o1~i| zX%38d*(+!IP{Z{4c-cZWA4;eT5)BWe`Em*)P-O&r1Xo_79(<;{U#G0 zKqc>EX6-SOuQnR&V-xSgazP9vG@{2)$8YWpLI)J*Y$!-X-YM+s8i!0w2Ml5TtSgyx zmHUd<`198tKk@OIKE-EEfKg70{otSqGK4OoazhIfT68C@UmFIAmMKDB^jXBxz-b_p zM=UCK#s>7ycS9+(En3C||mG^Hcnf_1euy*~KSTh%I!(mx0-MFe;if81DC?ECW~_;TA){ zx3g;eFpit$?~^bhS|n>4H#i+DREPNFlK>ePM(Ak!j>p*Ndvfmo{IwvD!SB(e{&^Dr z$bnlrPyn!C?83Xo%gd{4FoDpA?V}L944ALer2xq@7jWG#vyW;&R@eq@0uNIugR|-k z3os(@<9WwyL+2c0_Nb2eI3H`rw&F=Y1kN61$BK?!DwjS#MYm?AKjD#7VDpVO@o#;ZpZVFT4VVuyGXM-HVr zH9O!t+eBSNAMtj;N2R^rV@>VxC-0Sb6mvkGXjUW-rUsYNKx ziT1`OB$f-u9oQ?ejn1lPquBfQ#rDhILD=dRJ4MUve7C;5hf@@Zt3F0n{obq)oz=4< z)N>Co{?A_L*-emVF!)1x=xz{F7CLdjxwc=Dl})x6&(=Lg&YAm&;V06P4q#Kmttb2r zcn>=*t^!+wCqIVb!%}pcjSz?jw9#^cN(J1=OZHCEQ5@%*-nk8lhy`4Co#A+n(nWAk zeby=7O5j@2W`L)j{Oz{I;igJP5SD|XQ~>g+CuZ=u=Or}iXHCM%KQ@}ks@FXB{hI^& zDgUmNDZJw)f6;T|l+Qq+mL#W2=D`Sqmv(WAe1ut2;5?fjak;%IT-pX$%#G*Hv6S7kcOj3hWf}V{IAB2={t10*rene;> zkL1*t@Tf!lvwDv`@VR z%P_}DdYYVd?VISh!&!3M=MLqVjp3>Jl7 zh8T*!P9jfn0ex2L?C=7z-Uwx}EIB3u5U5n-*3KONg?)KWl^DZ;4UcCuLLZkt0nAMV z@nUaAQU;?uIq=)qA7W{bt97PCG2ket#ZavXs?lLivm8PvAi->g?x~8q=OoJ+P3R|r2>g%iT-R!J zNfZsrHAzSkswF8lnjYOguHmSA?Hc@B+%El@LBF_@rhh)}8@ zp0HN-_ySRMFk!1=K@Y}eIUbPB8Vj;Osu^w2oYKRAx^~|u@V>8hw&x+66suI2cOf@w z2})8lBu&E3UCmH762`jPj8p*I(&z7VW8>kkecmrqIHVM0a)XK53$lsY*gKVqD znhhW-1tm^P#Lkd%L&k7QbVyz?)zq<9OZnJg|5sD&lp^F+p)Sv%Vjrsa;MiQ;kf#(7&NFL?~=%%+n!Sh-7gy{ z_VQ`b#pL6Fl#ZF7v-w6o93QK^kVHqX7TD;Vc=Cd9tkbHnF^h{5rz~mJL_}Di4ib{& z5g3+RXE~7K7Ob|Wu%=1kqI=`0`2<&e;Ah1B1|af(DX&-*UeKyi&n1y33d4-NAobo1 zi(EDU}K6=BL6(jyW*UnPI^AebP#*9L8}&Y3O%lD&B90xR_O&tF$Y&FOkdEK7@?=x6wPMKLUa$_%3< z%{CMq!h`^4Db&l}JEVqEpc8ptEchGzU+;~Sq!5z6ypPMbCM&c_;cQzY(%92 z1W~mevS><=?P6v_|0>hT-~#ezytZ6wfF)@w)RbULx2R;udnQ>yhXjzDxPuMdLZz3K zf8|7|9$Ndyw~;84)U6uyrdVd*>)XdlJCf$PL{w#;prHFXdRM>=ds}wekIiaxA$B^^ zb}&F-A~lZ0#Oz*+6>RSp&x@l2j%%2NO2mGa`v70WiNqeTxt~*&4dkE{6p1jTNpO|{ zSfNKkc7?TABGIyw%z?~oG_VmUoh9v?E(Z<;#r|8~&@*tfdVv53>Sh0!`YOYRe2F)DBW(l> zXh-K`e-?p)iw3k6L3`9!42f(+RM=IJ;uz5RXJ|lP_pDyN+L_b@Vd9}2zVY2k1$?L5 z&y*ne(XOOXI-N6Zs*BPMXBC`CwTzr*o;~U#Ql!z1a*!9ic5;msSE592Y7{$BoD2s? zU^ox2MwPJ1tRUk5FO)1wFpV z>$J>7kWOV+j$)NMN+3suHLGxu%nJZf5ZK@KsQ^B-@VyPjek&2r4sLnubcmD4fote!im~n1f;T@Edb?F) zgwK-grJY~y8m);0+4Po)Pj3p*H1K=%N{Kv zaJ^IoBqu&EY>0B-%a4Es3Lb>*RPIH`U{U*km#7TKUV>$x;&nL52x`lSsGrZiu#fGb zSEK&9WOX)=p>_IeCJk>@SI@3H@0nj?6<=)KW>#ZdZF{4onq|c`36XAZ7+b`m+q;%plA zrg9X>JkOo@)F>y_XP0)tHz_$;6~*xz~^@n|-53T`jx5*L+A2 zL@Xzy`gQd8#aKblG7v2|I04ZLVsf2xOVfEER2g`J6vBcav9_H)Hkh<^#xBS46?r%( zySndIiJuo2A0nvJg)%VU*1`2iCi)msk=DSe_8FoThH*)8S#?lmb3V3r`A5z`X?X)l z*xkqUCGQS32AS-6anjt7hkoL_ud%@w{0c;+{eB(J7^#zd)y5(qa1l`wK#HU3f#JdJ zFX2=gl?@F!ev~_pYOyGg;bb|Yp{E*tmy0Z5Pbn^!M9d-e=AcjFZJ%EH@#n9k_Ti8} z2+`M%vwg_?&mW#kRk-ss+_~7GWeAM43=8{cA8uA3tv~@Yi0{R&ZY;lk=eyY(&QK;5 zv~SwnqP(>JTs&G+Z`d5C6WaBzq%49KY{2TQA5)hh^+J)jiItN)Ap1wh zR*_kOwB_C9Q5{wWkQrp19A8VVJ+(GYF5hg-9b!6x45aXlLhQ-7&&<-gim>UWI_viN z{2B|egh;U|*pjkrF#(I#gcDRqmnza)b4PLAJrR0pX zh8$?1SNn4JBEcVDBYD7CFEPSwfA|9s8=-Ksr1q^qe{`nHN||y~g@j5J80>hXR=%9;c~JL@~?E6Vug9Ly4h8mhA!}5#`8pdCnuV+t{k7IL624_c110ECD5HS)w~Snujmi<*X+Q13k5vHCC^uM>T?Wwe%l6-9weSLn=ign2LB%E-t- zJ|m@4H^&G~-5-0rN*`0DIIiBB8$Ta)vOlf*`eZVZl{Z_42eIJ!SbeHdz%?~ZcDVj_ zf~7r65nv33Y74+9Q(9jIPaNK6`JL`r$URJKQiC6u+{Iou2r>(O;uwsknjvm|p65pcBi~FmDUsy5gW!tAz}`(jQ{-CKYuK8dOM#$WOtN10|w$im#OSg z%1!hpwYOe2T0eT>$g~BPTIgeJo_ENHp^QFNGdK3->I7{b-roI_MIN1PDvL8ISUH}L zx(3Lj)!-HacqR4R3uHQf1d?l&kqMSfZrRx}NX#rwUCUiD_VN&O>u zMRNS5rffs^`e|;?EtU4HkVHhp$<)83*U!P2>FQ-gxqGuJLwRo)tvrJ>0 zlWyqMlnbi1<70F+kBZoJ&{!r&l7s;3aSLA4ks=y{-UC&Klr6*_5u>*RnOOM|H2ZZ6 zKl^A~Q3qdpfr1c9&c%Q&_vDNzl^nf8pO+p`WXpaOs~p8d{FK44BCur#ng3qlZbmG< zgvk%RW>~AogcTlm&>Q}t)Fw!mumZ4_EDCWTl~7exGbY~VrUl=p(8`VU6}~+aAAa)v zKYy*y!>%Wu`PndIyaa^qw%0er1&BuD5G-1rqt^Brz(e&3IH1>e>IQ~%_h%q6JcG`J z^b&T8k&(sh%n>3ano>ZgkVHO*lWzp$5FfAVt}2)YQBI(ol5&*XC{iNC{O7MF`Po$K zp7!$m50!{|oxm)IN$lL9ANbZl`m&uK_h|;o1`~cQs{J?FV)i@Cd3IhZZ*pd_iLrLV znR)PM0S~071fZDTdu~BG)<1vU(340Xx$wR&R8=z zUk!1pRC)T%`X%=6{hJ{= zJa4P27`>coJlG}Y@q@>0g^MA-u$>!W3=9I3bGG?SYUVUZ&7qmC5vqmQy{yznt<_ii zS3c!xHAVW8JiIY1DksB8Q;svtWYH*1@hF&QpDneAvr*VPeY&ix!p1y3d9XrJT!-z1 zm@Q1E8l`mqK3VV3_%|20NK>{tpd-S!N3WF(9-fRARe0iJ_w$sRhr7oRxlif;ROvQW z;n;Y*>^<0$$O{B=N_hB8$?dSLm`$ouc{anfPR-FL#&Z1{LL-em>>{Q1zpuxizqaXr z62?Bvw&#D?Y=UQ3hO^+;{KB*7Ga-9k9dge@c9bEJCi#dAkX}f5qNDq@^a%42UY(5u zZj_};+K3qiHv3dLsfh&Bhfhf&DhyK~19cH5kn$#!4jq-gy^d5pnYT*WN(T}i@sDf% z^Vf1cR`Uui<|jePZomgjeu0vTL;?Z@myaE7v(r=xScF8tfi3Id35>Z}vD{O0bS(|x zadjjZU;y@EY=8c`&ga4(xjFuaJoGD@?9iAL{*RsVXr|PK5d~~5T#Wih_8gffLf@YA z)eiYTe|_uYSMQ&*^5cfKQ`i^ah-B$pl=V+2DcN_Yju{luVRtx_>NKsbqg*Qd-yDtn z&#C2y&&$TyZBYDHq{qR-Yjrq56dK0nxqqDeQjMFjIN!~IpFB$nS3u)e>=v8z$R(fj z3MH4wNWq6x@C@|KjMzL!G;8U;*`UE8aR)%XR^MB0L=J69La&Xh_^DLuhU)=w#74g0OjZh7_T+LdJ_1%jU@APT*rvui)A(F@f zkEFEL*vqCwmg8Mbfeuk($@(Vj*%SL&+SeU=b1Cdg%|=khnc_4ON|#>L;TYVq+zR(? z@Ag^d>G_{}SS9gQW(lr*nh_gI@xEV^6;i3|)t6%owm=2wSZzf{OV_l#``q(w=L{5! z^=-cBQjo>-6rrJE18buABB>N|BQ=z&5(W+;r`#mrgljcC%x4(PNx%9tfP-rLAXUKc z_hVx7K&32R$6e<1Q+=MM>8qU10`OWCmJ%v_54Z==c#+u6R~qn_!q-@aPkWj2ltSQd z_R)U)-nu9|^dzYY7tp9~GkBUxqHtR+aKaRxx_BjS+GQ*0V4tyRgZh%GEoIJ`L-uPS zWiCA&#VHdPpCg{T4EvAk6@1>ECdlC_@} zK_9hW!>8?}+i`G#TghLMADMvKIj%5RYDo8FgJs^I)Db2@1RQhkvrM{8evXG(zj|qT z(99=mcR}4S-*=P4QIZ7TWDkuPKP{CjW;6R0!F&wr$+~bU0jQUTTKRK>@EE8!1A_$b zX#fppaqcR}Drx<|8oSkC`gl35*A<@3K1##AlBbSPfSwV?7f<2V!8igc@mW`ojox^C zNDb9Z!o`F|2?@SZY`il@M)L2YO8zX6vEn@i$@&8ytYq?iE3ueQQ{&9h?!8yT>+>5A zHB30+j~=;?aw*u53%Zozz8G1nKn(Fb{Y^5Mt;X&=A@x_^pXZde@Wjpl*D(1(?G)I^ zRra|VX!+G_vkYBbELSc}t}AwZ>eKy<9VQlc6vc$Y^xaAbc-ag6`VbrDFknZMdddyh z2}*~^WKS2y@Fufl|Dlc~A|LkV{rPQj9tO!Bz4jlg|A;i^IaBVir4)4%drOdrbtH@3 z2V$6%FgWwK-;B|y@k5qbhoc|%x+8=ty2Krt$4mn0sHF=nF;2;FC79E)O+tXjJ~G>0 zR51Yj(|OSCoq4HpsuQ`so3q%u^poxVS?R+n=>{QD>N!UFYUiK77W7%+Jua(nSL8sJ zP#YFpr&^*^JI|^@B&FI$&tM;IREQ{B#X-43L0{UaoHvHZ&c>i8iheMh?s3y3svRWj ze%W%=<(6=GuMJKColKT^11_pU7D|k?5~RC|B{APs0lzt?LM-Ks@8H5(zmeg`^Qk&w@7duQU@LvZ41dp{nIPlEbKJ3cw z$9rR-HH%#`)cMF^b1n#`;LOujQ>~MAz2k}6MyW=8E8VN6%rB4^1w+;cmj7;t^78j? zwLPbgpW#8N5CP7N>f-u}R#3VtRiTUCNJmM4+br)f*&qdo$fbT>ESEGaDXq(9THuN$ zWY6`r8qSDPLhQ6saZP5zE`0F!HDcUbe7RL zR0}p4c=DWqqw0Xck&BH5@azT@RyMYPG}$Oh@hPtivEQe%ctU;qSJIZBp8BgZYsgw!;W8AZEhAf(AAS zf>gkFC!{?033i9jfRs2MVue9yhq=DWS(3|3R%!#IR#_FjmgQIT zW(}4Vv*aT!5%at49t_7U((~e(wh$2qwwwDRfj!^B|R4m1?WNvzogl1_Fey%!9nX>FF4% zLNKXLg_=w;S9}+Z0C6U5P!e)-Kkg=+kI@y~vlzYhGHkcYmx@pO%tHAj zMa<&K38B1_L%2RBXP!FFECB(MENjbw)UT|)U}_GZA~#(_yT353lOfoO%B9UC%(#Ru zG19!i7Z(c0W0Zi^-{B=FoL@e!7gT5m^=gi)YE9v8ovZHe_JCOX0zuy#c;{hJ(C(Zqkt0NDBO4UHX`KC)>qg89){Ip_9cJ z1Z9s&_b@E$^sFz1z%m9RKVRf6bfXfkGh4JOc-s0LNbA3jJIhs4DNshZid!Otu<$I! zRnz{b5Ex}kRUJCkw~wX_mvnP_=f&R#w9`r(f8AAx=p=&d!?hFky(gYmI@Qj4`PJuz&u5RSy=S)TV|S* z1uS~#zngMKJ5gbF18h)=WfYmO%kO~4VEomHQS`6QIy?PQwF{NSK zMCBek;i+E@Kg!7P7Z@16N@zH6m=;Whz@SOF<49=+JSXE{z>ewoHT6{1$B zu9?YXSLDJib`3nI6-L3#z03L>NhhQ@P}7iJAQxcgQYCq|3Z@CJ;DXAv>3n`8KFJkt z6ZOuHszVBx4jx#I5SHJ34d{UjmX^F_B8gPOhvE42GRFN@YfgN$9amTor?T=wfpu&s zqxxQ0llLquy`i+Qe}S%>3OruyDjPa<$qC zX9LV)%#JE^iwap6hnu<)U>vF$^mH6J**Kv7w0Mh&3$oEU;xQQ~#P zt2w8HB6NM{=v1jTVW^PJ{hAD^teg*V!}C2k@)9gd;Ar%zB&r7_E z(|FRagfG!1qdORms2zDRC2A^6?VB6+7(Mi@v?g%^yvXw0V$v72;hdJ`RZpPbvS{w# z<;|B%nqb!UaQp<_njVnnMi{%gb`(Xp5KK!ffOhfNFdG#c`b-? zv1H@6g{-zeOUz%SJ7Fl*lt8P4RM>t*LOK9uZ8z~I@Z*i$pzL9;@Ka5cgj>)W|bk&S#Zv>^oy!1?Q%vA0Tc4bSIXYFjgmNp0|7CRx0JEKdxihz@kQP!|JX*2<52^?;n7qL@Z9 z201+Ou+$pi%ui)#Xb95V;ps{#O>EwU(gl-XliMF)S@oCFJF{L3libQ+j=dJuxLyiN zo57Si-^<`~YOGb1h`b(=8}*SJ^FUk1HHxe2R&?M%K-s3C7m0eZI$urM52$Ha1?Hx~ zdl8-n^B15%lX>?P)gmuvIi@CI6`6TA0 zEhJZc1NMx{Y{er)4M%_Td#gA+f_P9$PhbNCh$?;tej*n(vh-cRB^MfY$H?Q^K=uBSr)o+lYJ zQx+7YCd^4rx8L*ADbPFFHwONDWT0&KgBzqmV;zI|(du^x5|A^Tt#L!Te7=swO*WD{ zx4E9I+zHf3%5UA`&KoN_Q9_Ln8UdLO(FJS2n?|3REZaM-W;Ae7QFK}|`nHPaI5h#F zF0qOsG5DGDwhEV6lzw%W++%*W=03)PKG#AKAg2Yt1WSNXI)n#!2nle^ zSXxzEWg}k(A0sx(KEpx1l?i9Wlfq=vIQ`*-$3zV?OG;wSo!`*FIB3BEZGQs@WOJQGSqGuiwBS5>L8!CUm`5cWylX=`3wx4Q`NVoo2Gesn901PQpi3!@ zvNd@@M+(KbMt`(On>HPHXhj9CT@6zSn!jE3wHeUI0lLendmrIIvh zC?Y86J)QRy#_bMnv$(>79rjy^Pfa}cg@T*1_zZNltsNpSpFlh1Ruq~qLe%^TCA0kf zsRG$C7qF=|StKd_Jj%Y7Pq;S6f&-ViQ{cArcgGeQpm!54l_Xzf+qG=|rk7aGyoT@S#cN77g}t}&y{W%FW_eYryb(n)K66dVkMZpKn+F5NVl;TqAIB3(I(~SMBL-4 zY5w_wuZrH7EeO1ST6-qmuT(}Oma`L=(7m5#i4l~Uf!D+!8<3474k@+)3e{}4JQmto z#8~pzbTYs<=8;}N4AAPZvQTJ*@e*EmqC|oaA|lt?hASfmajF0q?c26YfV3N$NMfC? zbqD)h-`$7m6Mj>~y8sPXkAo zkq=nN5J{d${d?F@v)<&OPL{uDH`Y8@d$WqyYX@d$Q%MEztSP9^$)aJKb$YXq7(@kc zJqH#R0O&Y_t$InCjB@AcGG33vd=AtJlm*N6yqGqsMCv}RhO@fV6@zd?f`RhNaZeAD zOqT(T9ht}PW`CVC#Yxdsa9gLvAnVQM$RPxWiRm~r?tG4oA#AzD*x6!`Y{r?axv!xb zpB0fRN-o@hB|qh2=kJg@m4QD>A5FFzK59pR5S5J$YY}gAj0WB|i0zKB#9M=s(pACX z$hk@l??8~Su_ajw8YTen;@jbwE>jy{)xmY&L>D*)2xz7CKgU!%p_qMqJW^y69(1L@ z)4#ulPiJV zB{l{Xkz1CPlCbufa1~cBpJ3DiH|J5IV4f1*mc+!OG z&T5ZIdg*`%N+7bbjde@whiKKPSmm3kSF#oQu669i{56}{rcbej; zM|LgCap4ggr=F^uaftY4yedZ&E0aTWlXJ&F*7PniFEiaLIPRe1jBO*DJ(~kUi4-v| zK3>}=Eec_sz-JK4zKX;`(?OuJucj#dPKEA(*qIs<&i^XS`Os;f_uD+hIf{`ZOe9e8 z08auE)fgcQB=M3N8?q?Y^qQq{!c%*Qz#(B+fYE}u1svPs&8b!~;mdLwExqv&L<_Xz zT`&QY+WQB$Ox*yBOFLvszBC=0*%retvSCrKTC|*41r)TYf<`s-o{N z1pSUp(wvsy8Zaa&`vuaGSvq|{8j7t-yB2C)M-y)g*7_-6N~vr|B$XhwTviUJGvGFL zyDVz%!cd01j<%2(2pNwHp-4@VeaKo@dY2*++_-b#yr1DSw_m{4N{!d2 zdQCDK>}fxvP2?3=R8F^+=~JyguvbkJzhf(SL~6wGVM5=SGs}jyFdt=D^C-C~f}Ub& z7loKTbyc&;yD@dkHPDJMrq@P{dt#5$KWaoJkT%v0t!R6xADHUtMg z0hMa=am(x&yUi@xb4^8~WzC`c?4!J$hoqpkTTp-&jP-Owwjo(aa4e{Y4!tI}O^m^J zL<(&s8^)Z8=yvFYN_H!RF)@J@y%UYH5wIrkj8^Rr2|&*8Rpz7>S0`x(cEylMQYBZrZs-A>2NqP_*bG!;W z!QNhFbqM1H`<`2N)kYJx3;k);4`rov2&i&daxLw*rT(i_stP{p-q>!NR?V;Ga8kwZ z(Q~j35Z`c$?NdY3)g(H#voo}9ni)1UCs=j*tXOjg+=?Yz^-&)iE8^O)G?JY zA;j|>?~AGhBat{2vlc(a)e_ipKB*nT@Dl8#f`7={*pG@>s0^&`33!lL7qJOfmXqMz zvm2^_@KdV0TuqI#-Rfb##&66PG)^Oiv!M^0v~~MDh!L?acMS|hE!+lau5eMb&Qi=$ zM4k_6%BNLBnD+n7sS|3^Emw`s+WOp^CEwmdv5Vqrv*?EAeK3e@K{QGtDC|?q%4&Cq zXRQA!?3nwp+H$icT3eQ)3fL&%q$k5WOsK(yGpn^*(=aG?ou3iGR=EyJVSa}2B0X*$gSbBLKJQpqvJOhh&W*9tN=-H5R?AJQs5uz~ib_pX zg$d7wMy^Nd*!`kp*;aOk7PpQaa_z5sr&ZSiAH32P zf*E8mx!UJc7^uOLgSgEievi$(0LIMfN;VriWxT|d@&O#h8_Zgb-E$&kL(g5+299B% zhL2tFfnisU(cn8?K(V)rYMW@E&g8MucnDmTb{~+1QtGg-TI(z|?2@WTWBJVdiuE*? zAIIP?7|S(0!*og94BKa9=zTgWAlrUfr?SCM2=?dU>HUPbP88a)Z>O2KJuUmlx1W!* zbVn$6{1Q5MLCvD`5sRTJPson`YlwifQbFW}A|0j?W+&(=og;#(5*^?YA_O-qx|^Jw z8dy;Ll!sKn*kFp&@c_T`uHE(|j`_A;WR*|-HCu8=bb+7mx7%Z9R=GVPw%IyOgGY7M zaBKS%JWLvRj@>=Fv_9b_aKeF)B%&jKuIno^yw}vUf+c8|mEHt_oT@xsaVIT3i5rr$ z3e$&utfn+NK~ya0tz=_Ujs{q|9<%;*BCS}?ApXtp~ zVo_<_3bt)zvSpi790&8!Xto>M8AV%o;BljRBU+c@>`g5yVa9DTLTSAXvNUKk{S7C8 z#6_Da^}xsHTD=Hy%@`A9~hBba# z4NW5-c0Zn{_J97!5;t;5B(W@$^$Bd$OE_N#bC=Cy#R)G>KhZxCN=>41?uPi;-vw!! zC&*m&qU@s)T_S-MlGr3lN!wNjb9=)ldYL-U4XjeRmmAT(BQDRbU}5X4Bnk5*a)B6| z`8juVAv z);$aAw48^6(4V=xc~`_9YPUstf@5gx|5|qDYM1#AhEd9Ma=1 zz|4KAjXB8552d}=j7=y;bc#O|!X-EL84g=5G3!O+$PQK4b((X4D*4U&K3%P#<_Dmm znIat-(uElZB&~!?B(@GaNp+Cao@B>`eveS`Gx8>!tF+qX=TKpkD8eEzjW*9B%{XZ3 z!=siDy1;DCi!+g^A~rYjZxl{hK|2}`hE%W|m*ZIapTG2do{3dUcp*O_qlzZ5L>|`1 z`T}-|m8qCt51f-$0(GWBa&k^ta?1_eKMxm_2Md_D9B2iiq)NwoJ{{nzlH_Nnq)gZO z@PrX4QnWILBc!8FdfssIiQ6CzCBA?sUoiUHReI99Bfgccm91!)#SVC1YQkvbpv za8gY4{<1Eri_`N|=mZ@u@S*R~rkO{o(a=~)q9EjP$XB~2&v$FckP0&0Z-%)t{5-Mw z$h-8%u#GhkaZYsQ@0iL1pNo%fD#u|N6O<|32PaI#yvtU?P>EGsliN^t>U4mFBv;yB z^rQJa<<`&$B~)oKTsuI0XD;4XnL{YaKhOQoU;FnN!P5SLmhhFXluyO-O@eL>ngC6= zBZqSRlOjVS06aj$zh%vhJ(S7I&({FN@=!`@J%63w5LB6C$^a2Kqu0ss{G?4D0I|Wh z5-fw|Xo~%qTpPC#?G&-G7b3?dM(oUCqS{VN9O6!t&T|G%wmodvK2B|umo1KRq|IO? zrlUmqw3GBwe%X?wII~aTgM08=+EBONVeKA&{(3Gy4{G1Sv+u`aPN1|=1q$SA1ci*$ zDdh;e?U0n*v?62*S;auuD@VJx;VHeI_m= zoG%_Ru7vq~a4aFN-ME`&oahS;j7%Iq)aFaq1$jdx>Q}L)bvhw$-{jjg+HAZJfGyQ1#)VtQEV9H7xyj5P^gmA? zeM!f*3PRf_V!(fyTyU}L=-t4}vcb8i6SSFV*d8)V|MJZa_s=Kr#n)$3%XG{WA?Id0 z!c~$nbJ3YM+L=ZsR6w!mvGvNmS~5PvXKKGa%g@JMDN}SJ*#&KqG-!uJNzT%%u_4CM zbc?Pn$M|8wNIqj7?-LSf6d4!?gfuxLed+hk9zE|-yF9lNUaXQP=D{{gdSxcwyMY?; z%Byf>jhHK7W5tl&=4lwd=U(og9kQnC(`0KhDu6A$s`d07;JsQ&yJne>LCc0#QnE9o zTUNz>7-Tf+3a#2xq|6C8({QLxNM9WlJ3hd92api*(C#yuc9_Kbjwo{;2WkU(|0$6z zNkd1ag2H8Tt^R^*jO~_xi8-k0gYcLKaNcS-gA4#4f6+XJ(XE`^?>4>G%)HG}E+w+q zW{CGm8XFAW;}r|HB7RN|T&CXfa_4OqRrn;EgI;AjYr}>Md~yq4L-nxY%W=R_y`#Gp zwb{bq8F8`&=7dC$Sqw46U_Gd<G&8TTBRkH0Os>(LoK;T>q-b-6g!LN;0W|`0RK)E{xOLpCpDn4RA!&IiL*aH zBiJUQcT1_~;W*>jJ#;yktSF$>T#&7fnr6~*tALUjO|0=gbHDa3>!M6gj^I+eozux? z#d7AlJ@Zsgj@fIIiMe;=T9(wRA%>lp?ikzAOTbNFl7mjGE!fLegKFGQET$X{o{gWO zyv|xor0h$&C@gl-E;aJEUVP(aVj_}S-zLl3S_i+&^G-?Zaa=q$0cXG!5azE|ZNvvq z+QMHTxJq$_p4pXYe%ms(K$k{ct+m?z#gS1{FUD?DKQG{E9GMM8Q(P}?rfg4uj~x=R zdRkTQQWkY9clBviP91|4iMu$0$v=Arb7FY2kHB9^Y)qs#8K#&Pr0dM8$(PeO zTNloXJ7BqSD-gUI$h~AE?L}=;5iKR84+sW)$f08EF?TZj4va&&j!Q>{0vTU6Ts)A1x2WjdJ7?3>#Yz=N!* z@Azo>WlpWMGw4{TYvz0Nafjohp?cp@p02n8?~U`22|}BO5mF+u+YId29Gwj0+c;{3 zkCImRyy!L#&~#qyL%{);N%Bhup;1Q(jvsbL6L;L3{w!CQu+VDeipryO|L;MGpcl^o z8ZiJqswUY;N@(3*Z3+c+Xa)wkJ!7q_=yGA9B}10B&8OC^dt23d^X=rgUK!b72V`^@Gul(G?pPur)v zu|EB?nf~>8Ll8o@Qp7T8%jd+a+pM@r`}P{i^QL+&*tPRwy2A78d;8LwEeY=wgzDy7 zQRQfs*8JzfK`~XN!>9N`Gjr8h>rTp3m(vuUPA;2D64=9uJORa$!Sk2hrR-RL-M$r4BUm-a>}BPlp5O1{0R{MYNMHHRb^TW>rNt&wNXTPuA*|$de2rX$-r*gD6FY!&T`Dwg#mPNT;Pgy2Ww?+x?-Ey# z#`vZO?8)rkp%zihXp?KapT`OIA zzRelWb}P5i4URd-;GeJchb!yis4Vh&lFk7+YLHF+-1$)qKHrc#dHaGsO~p6wacgrQ zhy9D)0NAY8U-5BL`=J?1Wynq1#+OiR-{w;5JzbA9{bqkQyFSO$5y&!^!Jc#gWk+=y zStJ(rm`vIc+u+I>G6xc?M#H4f?NfiPx9tA%86c}UILiF9ez@2^yx#Mux%+h zeaXaqkCfSRrfdOtCV3CVF{cDDiN^gwJ*+0dd^&HP!u?Ueza77GWSMCD5V}G(ZWo*=dFxY4F6g zS|rdUwjx)ouc@^3LT59X7j50k7`9Y`%79$ot;#&a_`tn9=T{DinNNIw8{-5y&9Qg2 z?b^^9hG}(vPYc!GM+wqqV>v|!zCwRb3Z#9sPuf0*((C!Os_0arfP1jFo0jbQ%DNWy z<~?VwJ@r3qB?)ShacwQGLv#pix%%KJY7rm~%C$DoBcY+5V5^e0WksiX)lNjIhLYx# zkOfYKu9WQK-6kF<&&e{Y)6{u3f|t%~QCf(%I^lf)~9Zw#jCl9&M{yS4GgdzOr}EZ|-?1%3FB%Hpxn5oYu(Tgh2C` zQdM28wdX#6_01sfu#YIPs9&jT`p83rA0Jza)}{{8!|RLPG~ z;|urKA+?))RDyO9sy>xB=?$D=V2Ct`gRQ_eEz>cWjcs}eqJD<>tw?U!1o7Ag+vwK_ zS)cE_99}%fwbd|h!zf0k{lb1qTJP6WYg1pOAZTeo-LuWGq~>Vd<8L~X`|Le4n*k&z zAaC=gZbBaYGK4)@6!`!n9?yXhkHo=az@B*&?o?s5ywKp4^42{cAGuEZyW7x7Zpzn3fSdRpFn?*(SHG@YzT7O>%GS^)@G-RXR{4>inO}A zeslSJuK0q)z-!)j1y4!C<4Hd?U#JXNM)8-od7&=FY|~cm(qgq1rr}|$y1&IZmWjy3 z&DF8v!I*rYHMvbsX+{7gp0=rSV5PPU5~$%?NAbOG@M!@m38CA&OG--~W`)5v{oG0j zKwa?|keRBF>FVO7*|kUI-#&#_w1Ax?RQ*_=qLEuJltHhnM7h8ny_~rdWjGdJtpIxD zaZJSc3vcaui=kZdknZX4?xr{(R)0{IFy8O)n!)BSzBz(-n;f-$GD@o>hCKP4btBZT z&x>rSm5CcTuzvP_>PLuODdmi6muo%mx0-yQVX={u@@?iH$H3`1B^qTPvk!OumH4z#^!SYSXVQaBAP*yEcbwnso;OPyI$57O8%Jf% z18ZR{bk^xvj++&5u-1=d`d6rt{&W8N=YRP>|N7m3k01Yc-u-|4@&A{f^3AKS_W$6E z|9|;|RI_m=7@}P!fJ8}ucaayVT3#aKF_Dr}5s=Z7ye3D8u4o8aH21j_@8nnm3~c|X zT+<2!ds10ahyvT78oidzJWFhydV~s2rC9}=umn*N%@Q9#^G-kjlB)#feB5nFEbE6E z5*&G3Cpz|N#tGqiRfb-a1XyH(ZKt8v`D~~%KD-;3!*TlHZ>(gJo0`W#b(sM zTH^Gn6iB<$Z>zjp%>jP5fh$ai#{-VhVaSzDtQK(vZRZR z4J=&a``rD%wC*T{u0=eZCYz&ACtz;3rzgW~3{vb_5#gs*g?(|Fn>H%js8RAH3^&K1 zC}gnsHJIK@gG)p31V0cP=V5=c7W4PawT56-;(<=pWYXSg%P7X}^o{3;~ zDJOj1z5F{nS9HQ;O-{&FtMVaaY2OukY$Y*1Z-y*SwT4V%#?V-ddF^RB?a>f>Z5E9Yye4PC6ze^sOJJW zK!{t?i@Lrog3Jb(%8*^NMrmpF--9RiX*KX+tyxeC^<~dzE74b=u=zGCFSOg$YEm}= zdS(W5>OZXjn8(6J?1N5n8x9HUJums9d};1}nP2T~l+DMLn=^DfVmWB@ygFz;=VZB;QPOQi)H7I6 z%cwN4;p0k0O~3gvLe};&Pq;xhqP6~tqvHcjw}9P=fnjMLCCZift53La${l=x%gDr#~S`28tAQ7t~;*lY|~ zR??MlCejY3yh(9*c}%$lw&sogh25<=EB5p52a}iyDU_PJr+xy5U1`OQ1=}1#6=LA7 zwX=a-Yki3s!+e80?RpV}1Fr(SMxMiz)I)?-;X>K3me0uQw_5F1$h=I;{Qokzn5XKI z0a%+kOjRo_A$aP{#OQ636D#3Z)_)L#|D*CP3e za&Z+`SEa*wUn1ystBl6W_Y4-oA+61j+Xp>&mMtZvBRF_XYrGm}s&Qfsz|dT)XAxMk zujS8ey15JTqRp{30P(Ze!53pI$(nQ~Zp&+WW`6IH=z8Um9ee5JeVW6_1lp;7(UH=a z@N(7Nwjm#7y^D*kVypmpFmd+@qwO8nx0kffr>UgJ`s~Z3eXu$5*(-}>J8TIu`#E0A zzf}boFI5ExVsgc2hFW3vue*m$?d~5GF}M5Ya=8 z{q*P(-kC$~2>szBkCwE-F&-N%XJ^)vQaWJxnsjLbWvZy28XOzxaOfBJc{(qB7w{s) z;Gxv`o4kM@g(=(s{o_qeepZ}ii%s)%saIXB%J?}WrHUHfG`R8i)|M+=e`Ekn! zT}R$_UHRv3{IleD_mv;b8F>LvV-~E`h{KMZZdE?I` z$Uo=x?`WUq6*Op)?PVX53XdHa6PTW3wPdqBsr=JTy+(Q~gKCK4P6qLyNgFou=}5Qd zJ!cx29Yb9h)6+{HeXRsiM;|2JUJZ;i#CJfh=X16m=}IR6eYI*?P(i_I!jD7jquzar z7-ROG`KcVJ#EoLqSs1_y)j+@3)F|3#-yy@IZU-LZf~;BqDUzSqKU1|qiV~MqUcj+>{{azv(2h#PJhtke^yYV+u2KB zJiupFDW&T!^4z~il3N3DO#N#(;IE=uH5MB?y59)GIgo@cPR+`tZPkE4qYCaL>kZ*Q z;NP)H{L1OO=#N4N^0oj&tJSE~H0SftI$>)vnyXyOK98EAE@oiF#fN%c4 zny?1psXRDB$Yxt&3+Bm54$RvWNM?OyoG4jA&Z{P$3Hg^fF7%^qHAN}2U?jp@R9g_V zu{TUvgngjQpAjQg(RQh0(4*tgY~6c@!nDyxXZ&QmPvltT9B(7mqEks} zC?e-4Vkmil_ySt+_*o$h5kOAmI*h1u(T+P2+G8r2^GT8OXdH$Zj*y>sXFLGjWmOlp;R1W zLT?)r?|y85uRe5Bamh2x+k(`2M zd;bQ7iw!*-M`#ST`eQs`b=J@05Hg#p?;NVvVDCe-vkQzn;6vra=jNXQSWgzgL8Uu3 zK`JzbpF_L+1UYCz=lE$l86A;y1eQ8BNBN&=V#4HL`DHf9!4aVh*-;k-PKA zxv%G#GYu;HM05`BuNuGvK7i1|qQ${OLB;_`N$UxkR%t%P`>OzH>1%0%9S4gfHW%RdPY;^NC6ocwbV34 zz+Tg?+@(mp&5~qVqUDO^6nk|Wr+UfeJ96VF6QYld+Flp8d4Al;f~$3G1iMV#V~R*@ z#vufe@_XXx$PF%lVae&TJHY9PK-p&1-!b=KJ897oNhRgU`+lWV%gF4@=njoTSs#RN zrHK+Jg8e9JOe+R!ojHPbiL=|-lVSnPZbHum^(8x$9Z`3Va$=$8Fx zgIKyzv}y&sm0tH@F^Y)G>~7+~CP%BeLbPHcFQ`_y#JqY!Q{*F^FRM@ZjE%I@G-hfW zT%a~cbV}zESUVMlfF>sL?I&A028cN67av=yDCb`0FR1isVwGLtrEn+m;DBAFhm%^Y z({0&H0!A#8tC|D{@cF@~u%q(OkVK@egbav<0V*%OcFw3W&{MV7)I&Ja`QR#*jk-u1 z9dE=kekG$H?D)IDH6@VJkwP&R>{bSt&ORrwCuo&0=pv@Fotcu9qF zQ?%_U^T?jhD<3>(@Zt=fQlDj(=H&W`M~?KhL|mGou+=jk6o6frCv;bV=J9<8d*o&# z*po`2dkZKsw#nAZcmX8^qf85yg?GmylcwRUKt^G}=gXh;zNho*xsNY|Vwhm1pNb6NO!mzwpNzhHf`R##lpO%|EG%Vfljp#}^yrTY$R zQEc3RZqFAllYlJSVuPhj_5yDaq_@0ae>sReg) z1F}^#suwk(a}$uf7hr{)or|cJr6lG;*D2rDCw$yS>(1gEnZ+f#$fg@r-x8Y~6{XLc zD?+eaoj@n&7bswpb-oXpSt~e4R*Ce%Ya%o>18ExgKr<5lGu!%l((Z%&XMF<_!iOv+ zGUGdo0hc6u)oEWV7>-cfG64)V7f-4`2<*@`d!1n)gMfXm`Be8KiJf!L?UI+!k8zEa zqNKe$925e}TBqE$f7`qEXvpvPEp&Qk6+SaYmub|xZRi8ey@~B zD@qTe4s8bi&S;l$j@R84OIEHhoU)vpob8+|nT~#5CpfuwJQ9l>;Cnpzrm>qSXyw=` z77>vH>feR3Fu%d6D-2@+unW$Eq(3$-j`xO0iJ=6ccW#o5Ou4?0M{!vhQ~CrP5qkcK zm6q1N$MbJ$-q|$s-G*E{n5_dGu-FC!J;h_r;K9>)XHDjGJU69|{4-}(@@Ar>tD1mg zS0yh%-5{6-F=2|^O3^zTn<56XAF(77DNCZiLfST>q7Q4lm8uH&P*Yj6m6F@YPNz>U z*>B;GpjS3SKz91d*T+2NLMQOP(jMH0f(-$;r_Q%FG+$@=T!0Ztd(~oL6C2khoXQq7 zoN!N5|0!+WcaByoMW(gN5_xgjr;tB_Yx;)Ht-LdR?oP-1A}H_ClkH@l&ZlIXWFdDf zkkB8Iv4fyXR?LnwxFy%l03i8JoXL5BoE;A~#WKnJq%WRlJlO!dZ?(+JXdT0af4Vhq zS%#-Om6Y-{PdPSbQ}fDMi>CxqU`r+a?Kc1)c`%p7ttE4IDV;a)P>e6_*~zk%*8k2mG@)}rvp~<_0nOtWs0Dxo;vuDZdi@P zXBdMGx`Rx7Q7Wl&#!uoaa+4LRQGQE4nP=dthZe(P4IXPzYL8iOpr%2-%zChazuHjq z2Ym2>sc;PTO^Hc}!Ghy%Pv+?TX$9#+)vt0*?973MWWG3ogd_Uwy~1DFvWmYdzTM2J zJ*ku0uVKfjXcS2zPCEAQ5$kiZ67Flt(q-s-NA>_WK%B%>El%uej$0OB#2eW7ha})W}@y;q$<~` z(kmIbqf}1%d{=sorKz)?%s-gFyz%nYSoN>mV$9f&iLt^)`LvYFLaX2K> zX4n)iQp^BE3NGf7iskd=17d8b;o0^oyqkBO$?eScmy+$b5j zYZ6M9vu~wLa@7P)Pm*V>S8>nDkmu0(j_rdT2YT-aa6OtpRNmI+z{BYGy61u)CgrR8mXtIznWGi$s;EeFzHN53lm zra~p;Xd6=~uCags9^DvFBt+iOatkSDU}~z0?wHN5>k~JbQ@5wn~4E*dOuYO_~-V^$Q!Zk9DgKV$W(> z+J{Br@V#J#Jj){w_I$p(2lMGq8o&*Z!hV+{u)i41Dq7CAiJD>9#)RN0K<2wkaSDDI zU^+>Dpq)I~{bbs&^s3-IGKj3|X&thW5Duf?bsLVV9DB_HJt;Bc1UKqS))$jiFz$UR zX4KO}1a||TXl^5Wz|II_XsW>Mp9SE{`a2p=WELt^@3rWkRzjfkc^c<2i&sOwFr;|O z1AQDCS=+`80Be#f@sr{k0t2=(*$eMQKp;Ba4=g<)X9A>jc|G=GV|4nqgjbWBX1F4h z62e4@ua%Ey?`5O)alB8rb=H2j^=b`o8fpY7xMic={oX7Uth5?0b+DdKjqRb#u)8Gn z76*^27E9L+uI+%dCR_y!i_gS56Q!Jvr4{v`>4G~v>QYLInaZ+Xl&EpX1c1Z=w_0KG z;2XYfa=Op#iO1PM#?o_|uB5Ln4xZ^|YBeJT1q1i!@~2lZ>yh!1m{s8%cVmZQ;kLMAV`@ zi-k68Hu@+RHvDMz8l(w{BCImaQxwR_e2>HwYqiqV&i<4M)o4;7H{WVAyKt!?E+1{B zN1Ce^gPV8)2PGHN#Q;!LvH_rq>PdXE2aLQ2HR=xG%X1EFGeDN)j56Wer=}>8xcpX1m$uds+4s?q*oJrmUpY|h( zzMAz|DCrC38HzrQa8-g^3NErO!a4=lgOkP2sR`typ<8fLr*is|-}@A3_7iU!(%n>4 zT7jG4CJ;X>CASg##yTZV-JL3C3xLr=?uV~ChAp|lDX(fsexmQwC(x?F6!}pfjXIW( zL=;kl;j`2!V0c!IlauKj(248~Zn;AC79lM?zfIcTF+6Swk} z2<^GL1l&8kc50(Z^Ogl#W#YFyz7us1hF&}5G(}JYwS|b!o{y|jVYw86?V>zg)=woA zf{td)r5n4=G4N8gpe#~IM7AL3A=v~^l4rwsc3kyHr{JwnCR|he(*>)SJwh?-TBjM7 zHm9uf3@LiiOL(|MsN4=#d~0t%|L+*1?VdlTub08xH9E7;XC*~V3T;o;N(hd7wlr0L|FKNtWo8c)nT(@czuz{6dq3$p$6Q3pzepPrBPBT0M za$m3-{`??jCBT7RT=VSVGFHW=1+{6#L598u83uN40)lhD6QAYV^6;j96BrJp$e`;z zb-|5@K0luua0{%7L7l9Qt0xR^{pXw0M29~>TpVMEk9KBGDN z^L&>KJ^s{q_1g|@CgdqtF9@Or1Gb%&0X==JZ|80lW;ccx6$J^xi75Xg$DT&d;-8^00d)hS@gU z*72@O$>JPB^TPJALwDASV*?$h>Hc@9^mt~aA_2~t9L;)HHw#*j_*8P-w zvKRb3xTUSOCddnBo>Td0C9WYGOG{#!;wIW_&Ju(#sLdb%JVLr59LcJrH79__<}N>{ z@t9VO1ap+UYqR&Uzr6~xu2v~NnN+Ffvy|=Rf9BA_#i|*R*Dzd81(LY;)dYp`OVGjK zC-l+C+-i7)@;^&`{YxcZV`E5=;Y&L15N?1PDtT6?f=BRsn%%7Dcp}AIG#wv?IZ5e>Z4>y4k1r_7;Hi}Z9lQ_?EcA|akD+`mCG zT;DC7;3(l0#9X-dG|O)_r;%`~Pdm&IrFvTOqQ)cQDh)E=RzJR^g z7cR;!q&y_q*ttWbFr4xj@x6N1I91;b%?ORYLYUHy3l%yvZ=bp%8Zs6cPq8t~g~;ZF z=YOmd^$yboJ2mzbauq_Cid`ry(e?r8msN785=|vo2x>dU0!WU7Eyz$m5nz99KT(zQib>@0 zL&RRj_^`j%0(e^WUsI|gN5m4rmq}Kx3@MW}YBGZ54_?XG@R4t${rJ;rnk^i2p5?0B z7!};|oXt~{EqYD$V^q&5t~p!id5axjQ26MrKqV6;1wuU;OF697PMar0q_fKf7AZU3 zc}+n$duj1A%g`n)7HA^k8hjit#8EcwpPHSHM^S1yq-22bQczP8SOp z&xR9E(tTDl>RYE`mb*+$PuW=(eB{ri0#&nLC}Cmccw0%(x4G#16L0?c`Gj;k8n|!S zCD%PZmX5lA;_k)PAh*60GG@Jsl&{dP<3hhUNj?Sm)WOBvpS3#(YwP9#l%@M|H<%#3@I<7j8 z0TZzSs|sAUx4YF+KkP#FNvQu6H1IaC;HeG`YH<^qU9Vf!FY*VaNlvr=J^s2R@z5*L ziNaJd@1!*YbSnpmdTDO;HV4gnw)ddo!ssd^$8A$*>O#r!diN``LTs{~1P3Sw)?plP zLL-_wr9)CxSRQiFDBNd9SQR69MTeB*h>y!w+qT z5j^~(y~KLqTeh_0$G{Q@gcn%m=2iPx6lo~Rl3|IaO~4i+p`~0*s0}iL-J!^q&&MiT z-U_)arU0v~dK1 zEmJ48c}npS7LoWHIo4UzkVT-k>E_g5Fa-3mvc5>bC<`F#5m-EzTN4ata-u`A>Zy#H zWRBSP0J^HoRQ+G;ba^Tw+l_{WDE7eAjaGV>e+@X9@j!d}YT#~-wV3LKsm3COHS~mgcGZwA zvGA4BU6qvtj_AJ=hg#{8G(JGT(?o$hFf)~<4xOt>vJo8$26nn*n|(KTQ@Ifq1p<9(YWG&rpUsKlWQ zVSA!1oJOGn!bN@yCrc`Q>{{F?qsgzNWNW7cG^NbkMgRx+h*BMJUh(0AJ1GQC=*hk0Xp zp}f(Ug!8HHG5cC;UX20?)OJtAoUGp&CBW<=;;HGw&b{JMyG}*xe-1EucFuXSKbCV2 zebW+T&^5=W*XZ4ilbz7SREPlB-MYM{WdljsyEaSm0$)@^lW~Du^<4g*HqvK!a5qB7 zQaFj!0)z+4i5ko>NQu2s>0{sMbAI1eJQv|Y2X&!|KdjUwsvr79bzdhDoW$P+R zK0nupTWU2Zx=@oL1JuCtw4^FQE|ddtyNaKY+6#b!2+?+trEaf6iM55seBhVx&<1=8 zI)l^#o#sFc2$=Rl(VFzQjjAi^NnCnhYGz|^6C+({&DEilYw2rwIqaQ$sgl zF)%e%{=R`8fU|kB?2oX6gua8HLTTOhu z_o89a?(+its)i(@Y|XO_#vyV~8QUBTQ0%AyG^y8=0v_iTH0-O{CP7c|YF#4l zSjMSer#kmiX<;i$gM-d$YC0c}i<%gB7}p19egxu~0^03xy~>5Qsw~EsZOG*#mf{l+ z17mZxJA8OHVQpGT%WwjztY(pM$&@FL;o905g#n~l%sJ*n+4YjYr@0#l?u6AuiRjgY zx6((&ahuBCl}$hp*-2z4c*H+xLoy?0mKWsW7AXVGt`l%&6Xc?Po8i?m9oTD5n3kHe zGE*&TXyrB059!2dcmH=AnXLRfX`WMWk8+oev|^AeCk4Y#HRE-PRECTqh+=40AxI2@ zO=^D}zXH1F56%(KjR=<^4eT~Jgh%z&u`TkT)b72<)yWP8#pg%tD0fpT#U;>b(b49g zudXC55M z$N`tS=KFy4@Pa~BA@6i+P!))GiZecmc0u*XNx2X`V30o%BnZa&+r_NtyHyGf#%ebR z;l;VXu6VB``n%PP;FUr}4Ok2EYm$(^`1;g2FKwJc;XWh&mJ16>Nu6xCu>6A3#TN#4 zY-73iD)YaH`KtK$R|O`VV7F^F(n*)lHkB0YG^38r&T&kT!E+T>`}Ars8#PMyo8TiR zs7)z58NTwAHymSG~kiry$wzPv{I6>^Np30Lv$;gbku|K^+M{;eu{`r;_Y5t;_-921f~JS31or(PNx+BPfyJ!aUB@A&JDX^4Th-_>;v0!+{_!7ko{^ORfI`8 zaPBn0OK~{E_rcg?t3AE$wBTg|o!QXyAp)>&PJvmJPO#Js^r(B< z@I@KHG?!1aWcwU+zA`eFQVcF&gA6lXP}+B=rQ%Yo4V{Kaa#lhG>cl(5KV@tW;(A&q zAg%*X0{ae~6tDj9nz_K8bV?^;?Kf__?yJ6ZQDX56w0%j87tkES?!>gMF2W9gFG##O zGf*;ZPFJQOeE{x)nm2uzT5e+_=QQ@CEljHr?0bI95>4}QO=f| z-|C~>f2clC(F}N#tKh^=I?;qqIyr?R3j76f_`0@1}X>&gKunM2}I$E1T|rfbvfV$b9p z>uXWsyE_9uV!p|!Zwmlqo|6J>iY`SZ&3Bjg(ALeSPn_D*J0ZBGZqcBrHRU)sOzB*) z?qvCxZ=aABtv%I&v8SYJ?8J>Q35*I{mH<0I#J|g{q!*82xSFbuUus4^8hELDT1q9o zT`*kcf^&#av`wdF(WV(UwgrEMYcG>qp*Pt%g+7J^(X`u0fQ^FA2M*%IFe?_6EOu1Z z2Q??f5pH}V28zu4{^F{j@G)4I7er7RXIdc?A22spDM1)y-GCpM>>tXu1iz;=CVG!t z$)|N>ZLss9J-0^~1>S>IX!xPe-wk(e21GE&hB!M0C>_D!yPDOBUul9HY=KSfTHVC# zWy+nX@ke{4AEe*h-fj)vVN=TRIgg{QO^uL|3>`Bo^Jd63le)J*#qfNbVrKEgQaw`` zH~VpKu72Dot#+exa2^a2mkv5LkM&URMelTiWZJrT{_$D$^S?_*I$V+mpA3oQZtm^O zCTBd0|67sSEnsmb_50`<%4Dy@nOfK@4Fl&nkUzDdFs-88ui~U)XD)Up^cbp3U2ca5 z0a9mU?B{4u*qlse93we*z_{Eju9I~;a&x~>b+mby>qkm~LzO*x0>R%KkL3ZR%n<+yAeulgz3@uX8HozS&QF9Orr9xR-8 zUgnGLEWnOhQ(H3aoOUExy+a~+TQRnhJw54pkr}}X+c;E=);Jzf?cuU|4*c3pAy>ZJ z5=)`n9}t_FXD>L&|R^G#zwy93K1B2qlHl>b-_XbU+ zC(t5lW80Ddl8Q!w!zK{kR1eeAyTYnYCcD7L;tBOe=uL{+AFB*aN$iTjqBQ$K4D2^_ z$~CYyEV>)bMy+n_wn+@+=am-hFl>f80_H9wOZpYp2`?^&kGUl!XFQZ8C-X2kU29CR&T-N7ujUj88(z{&^O>x1w5L1hH5Ral;9U|Su z7eP5%M{JLf*@25ITW?c~*kOAe6>8dJ2cgqALZB^RWk&)W%hE**IlcY<4ky&5dyO+| z|AXJ&77U?etxyS^{RSXZ+AiEh4X{r{NhGFnSz=hgtCZ%8a*NFI#`zqp^f;|Fm4>eBx%$YA4rv9I(N zrh7o?e5$JC97t^fC;iFHo$iY*L(au5(Pp0ga$VgFM2b3?R0s5o>lkhs!fp0b@r2>B zCO}9Y)_B@8LurQyU%RXfx5;c3Tq16r>SP{wuyT7ECqx?}haEOnsef%DHgL_|RWe)C z)o!w6B~cyr-Dw=03pm(MFtR(r8h3C4)?P@U_4RtuE z(e|URXr|VB4i^Yve>g*s<<n0i>U9+5T>^Hq<8voRvW8@~SdhHdijhmPNCZ z#5z3@RAXqKuUJ*SeV5E~>0W@{&h(-3bcA2Efwe2_%%h}}&s4U5#FrI8*l;nXcE#epUCIfYC zd61nkC9Ay_Qnb)=ahB}#oN{_O1}>!l2rusMHfNXsy~XKi|NI|+UwlwNfqIlxz}Z`! zvEJ=DUL`Sc&PYfIo1+{~RCU-7Z_*$dZulhHD2KA%_#pC+@ZJxnjkgrn+KmZhDA|y0 zzP|?k&)?TxzNYCCk4L}0E&G@hyYsRHwqhOa(d!0G2oXQ0>;Zp}XmQpp)`Kgbv&in0 zWv=VO9T`k;(*bKQ@9?``=OH^5CQ>(V!z~e5ePjU7GmmWsu&pH^FNJN3vjZ$_ZOaB&(!eDR$(Iv(jcYr@-jy%>vRJ zrwxF_BBtS#-=BqxF_TBgO>wi`Cv$(my6D*wmA_OA+66t)+;G+(PWp93#tIGrI{dKN zi3V-@gk^83NR7u1bFkKyr0e{-r1(cM7}tJuJQ7Vmi=Np7Wu=F&L{pqA?M!nNH|K8* z>E5|b&{-kNFu>vwFTp5JUvelU!7^qed{S7R< z(b=aB^97E0*$#9h(*59!DRwBzX1ZM&E8|6Lb>73v;*Qu}uF=71bB6~K#>m_PPoT3y zXc%^RKHWKE*xUm2+mFXiGs?X@pbCYrqkC>{6QH9`Z<3(OdKAv%ciIc)+Y@2x#Nq^K z7UgH9Fa>Q27S4z_Tj5qJt! z0zYH}fJ9}ssb$#D1z9Ppm{(4Yl~T3Jy)plfmcyxEqroCd@Bcrj;n*lh90QZJd zR*FkfOX^SzA1A-7MY>TPm{~0)LSTxyXxaIU??l-fE)v_Stf9Q$S&`Aa61VO z0y5Gb$1iah+vDVqY_Xt?whCrw0jxRe362oCvXJDeRHlS(>JwT@ms{KLcIQ#n?+tsk zvzDCHtlYT#<{s%S9b6t@%eu{w_Ehn##!&VZ-YR${QTXznsS;EbbqDRS1+A~(W;mN*m z99CAgpe9b-J+dA{s_X8uK#9dN-cigYJ~WGqI@Ei-22-_BAlr8r#JwQQ~&PY`~DhftZEnMy7Wc$%X+P! zI_{Nmk0+?xOX<`;Tw00#qi(v2P{)*V=wAWo*l;mTC2j zsD=|abYk7aYUHNU?tc1w-TKW@O~Xx$8RJGe;M%ZoHS6}!kqlTs>zQ{?%*d?<9F|6D+k6r0R_01x9Tapsy%`nIsM#k)P& zYjNLkuj3;J#GvB4Z;GDl=o#GB=yiij^!3y31Tx%gVLH3YwI)bx;`HhNS&$fY+M9z}{`D*b)v|@^rI?Lpz7)e5W+|32RCE5;T{#c~V060Ju;ZS#;2ijbJs7%Wzl2kjtkbv` z4W|{z{cc5nQ@sag#97nAvaI`!#&7;nTZouyMSlyOrn;4$>+IWR%`^tVL-62I8H?5v zbaiOiO0>Yj$m!%tbHsfeJ?9MI-gF@eHyU$xvMcdAJ-InX zVDuv_lQ0HqsrA~d=I~n9jtk8hjtv0Z$x8k4tdfn03>X+Fj_;oHpT5Dc*;`#n=_JbczITm~OAdhx1xow7r1w^w-_kO0PN zxF?T$03b}{4DR;eQ2L1Db}^36=f&wg^}9=3{YwRuyM?^YKyofy`OgJ)dpOsiMUmN@ zgL16KU$@wx@r`3cSSx!<(tuZaLkO_B-Id=a5y)85qd&ldXtQ`_!Kh-h?TbwSPMYrH zlWoGZgpxgbZ0N_w$7G)Zn#bf2+H=`>*}*NF-QC$~-G(9oJWGLWAG2gof)=uus~w-t zINKlFxbCq+AA`6?wYO`@exm=nc?<~+Hus%p=tk}?Y+)R>)k|X*9XA-}xxtIhhuxDK z+}TVnq{n%rJOUyBFUWT9WHWP2f4Yu186+Vqc??1~d4A2c{m%2UvEpm@3_$mhjd@^O zoNw|Voh6~+IFHhKJZv#s6lczC$u=N%HjcXnVWAOHmLzu_{P)**nEmjz#ve9!aK%v7 z(wR=g^WfTa>#4I%%-G|6rvA@4wbWP1@f{(Y_0)`{@uZ@maST9~`LAFuU zd#&5|O!LuKKC4sZ%$`rn%VD#0`Pffxad+8zpF@fz3d{;$Kv>Mt%m>d&)6quE^4z>`dnB7@1H;|#^XdFVsuA*&Eq(Ul zppJVx_rTi@{o7gFXs#R_d&xZ>yU?6k$-uW~5yTTb)YF~rirw}n?Dk2zx)UyHmzi71 z>#wxFoIRNRqq8rY6@7fE4$F-H!K|{kP z_nT2&#QSTXgywK)UN7}Vm~=+`v*z6OaEkY;-7K!VSRVa`s%uc(sFK%mE~E#_?rVE% zUFfHMP;ld=9*jv+pTM9{3Qyv}4rGu5kHD7`ld_kfSKJvk zYrK`rpXFSO4cTHP;rP7IIFW*pC9YEa|P&R6Q0ZV>{|PcO#hu0d?Xkq-MI zaLyT7D32ic&4Uy$uul}Qw#OMx$kgE02UzG{8!lSsXm)&fv~Ynjx@pShI6nTS2}~hN zSY>T|tGhCHTv3dmx{7(!)o{_OzJqUBfYebyT!469Y-wfb1gA4NTkqmKmtuEKrTrz; zVOhPSQCmh1a9t@r1sp`sFxEz-Qxm$TdiZI-0D!~O1mJ%2u1u8_JJu3smT=s5SZ79X zvc%-N0PQ2mI2%7Wee0!`?Ru2k?0{pp6Mw~`;bK7@hCv5-qopNm4_tK&)WPO#dSy-` zqkzun2s$@~GLDAciJJ?vkr!&y#7V-(Lo8)a6=%83hg34k&x^eMxwTmx6iktw`tEqF z08yoPRc)HlYiah|>-}@5-m03m{&TEk2#Lq1usrOFKm<7_t2~MnpfA%*Q08&{i=l8F zwuK>Rm(UYe_7ztLb9qF{gqSgi#h`W_^m1|xQeL2ueMmvT(QN_gl&W85m%y&@~i-K@y%%P194MJ55f623}#R0RKf%A;^a?W)Lrow@6DICMaU zAoyiEsH-a%8wT@8`qW&n#>8%;jXilI4CN9 zB-XYVw)bc-YNMM%IN4^8b~E-nAtH|C*(IaH)B!1(5~0uBjMCFKHfvwwvjQS7&P# zHZE?u`2X?DCK&yZF(SRNDg<9M)@sm*lW+_`Y=+vo%7HD>)xqMG87w2C@tF@PLc7Az z58I`?8)VrPV&h}3Ep18X8Ys4GU<3G4rZ!m>8^PLanT#!yifU%K+;QX)0Aoi9~y_9uWQF1Bx1~Q76 zrej#f$G^WmJ9x>VWr;s*?v?8lG@!6H7Xh)lEVGN4ZiXmllJTo#qTg-r6sIDS4M$ju zIMCr1a~KXcFLuSedGX@Uv4wx7Uq_@ddQ!zY+UI6AqdC-D=}8T+x<42;%3*3+WTQDf z;8}WY%Q8cIGNi@VE#>IYmAKjI#ARmtPr1=`ANUl*FfB7KmG1M4KsW|mE#%Pd7K+47 z@JGn*8rhM?I)I&4&MwA+$`AzIkqx+}DX25Rw)WsJ;;UOi9QBrjZ=j3Y&714@D(TF~ z@W#Wlk;Rb9>I1CZelDOKe3XB99nM$KoJthL$c zJb=DM11e+r5V>})qKlZlby3J;GY3>UI$L3ue`P59K;O%{^+2-zaH*GKcX|$ zxa&1&DlNP$^BgC0t@yg?7~On3K|e6X19|8Omg{!455xnW{pR{!6;%|WSF*xDapQYe zL!x4itGVKM0FLMY&yOtrd`HQ2sJmCP8BF|~segQXu!l|QG1n>jYxnUwtf{b1>Vpj% zCr>8G=^_#WVA>06hXMXXY#z(nA=&ZI(gjfmsPy2fYb0YC3rpImbtN%I+o)tLzQ0Bv+iLuEj`+Sa zY(Vw^;Ivg+>9vHs#ewVhWYzC1>Z|;T80a4RZ_fr_VO$Xzui`@gmyYF za8cOIG+&JEhM2w5A(6N&II%rKjVeixEOg_D*=$5Sh)=kB*ZXUnTCK}KyOhkiElz5jbn!uxY9 z%xolY5#oGg5}Qbee|o&10kqrOUNYKTp5-1`C$d61^YVBV8d=n6i9bxkG|tpIU-zfE zzz7}?gFD?0+0M5t5`mrQpbP=XBSlzo(I~7cDiZ_oa;@?$xlGAA-~h)j=Joy>DnOb5 z4z|5Uku)72S>RhH{sPpsLKqJ{ZJ|1!**JBa2&5BGP!Vf45h4h*Jw>C$ffLVHB2-CK zUS!SJm9&9J-MMe>rfAIu&yevy=AI;UkO(YC$u9Tn02*OF=tqxaS332aFbV<4_jB5{ z=Yt4~we9Now`<%1mUpg?d-jq8B7ppcdO0!WY^SnB}R(Vc_y-=<|FGiE#Vy zS^2Y0f~6hK{H(#r=`2p4a@sEXMM-Sk`efF6e^{>0$fJ%)ztMt;$3_$$@2@=$vk2!x z{Nc3nf--MO+bZ%O6F1xb*QT$CgY#HDzi$Q2`v5}qqwaNY#@E>uQG zzh&}gUHPkPBRkb@+!KAB=J(eZgnYRa`zHE8vXSs&V4{mQWubgWCY=)EYxQvoG59j! zQ=I;E-aU5B-L0Tya`4*6XNZ{RaQ^xG;u#7OUSst>bOB>dxSPI^QRlV+AV(=P1Y0U( zYi@8kIsDrD>&fw|L%6SY6xGjt<(_wxDti`{M}n#g=N;~ZMcRA2!d2j#rj$jITeB zr5AFtUnL7M@tc!s%FcFlsLBO2vLv~4APi0vyK|c0jN*x zm9hD}>YTj4HukmCtGJc^;NT|!Nr%tr65TQ>0_|kxiPf+S+_1aIYSpviOG*|0?sV0b z$DT-(&7(-a6;f-C2JVeKHu~EKWuV3O^jbP8(URJFun`cuH@y6EOe}DS`j|q{=uh|p zPp`kt1)rvc64g*)9eF;hJse;3@H%xKwIt=-tfwx z0m%^q{Eb+`22$@&mRUT`jB$uXy+6i_>d?grXYT7~l3Ps^e&t_kzp!gkDm_jHYU6xl zkm8}gCgA<`s+c;v*&^pRJ5r#t8nAl(lvgdo>OL2C!=`k!;rC?JyDQp-#hiJL zi+ism;0N#c`)g=1))Boiu0QON;AnndvuFy6YPJm|f6{F&X;tdtJlh?ju#Yu+wYsO_ zlSPb=_&Pb(-u-*_gn?^0fdppB!kyU*Q&Yg^vRdW*xw0grxaAY%Zuns~S;#W9uhc@^ zEU3GApzAuI`l3)fQwwF~QA(a>eTD!@dh|w(8vsFs4BubV9Rhm07Gl$a5KME;TU1)f zTcbbvM;?4Gu9)+x^6)B7HYk}ul9IW&fD!$Bn{%egJ|bXC-!UBL6vF{CM@U6$;ME~~ zCFmVpeH<(#)~iWD!M88QO7>hg36uF#RwWWP7T=5ujU=Qcx;(Ce(;GYzM@eG@&69m5 zj|3#$gu(SjxU42DF7t259W|f8{Varlj~AwEI!FwTW)tj>V~98BQCcCsH?$eBEOiilT-} zyQV0y43b7->A|jaX==DBDaX0Ob6Ugq*VhH#Yu9g^4&qi<8J)6<+SV2Dd6fjp*uu%W z9`@katv43v{9d@bI$-L2#DyI}azS^1eIdd=#)Kd_La>}snGK0SPOOe39;(e{DLqZ@ zD2MKxwQ#(d;CEIfs^z~0P^wGC)vSMN=fhh|Td-sTVh;Je~P%W8A@Aj4|KUjw=<{e~QiKV%dc zOoJnWOb;1>n=@}X&1Z7hWvW=56Air>_xtPVv5RK-!G0ooGHheuz1$s`YA8-wq0E1_ zLTn|Syg}E5x+|Gwx6aig1;G3w(p*uOk4v!@^g(>V5R|KJ#3o&;){$Z51a9k%CKN_J*$HFC1d8)g<^!rp2 zoWz5JKVc<9m(_uaarf17DlxlRgHoKRvBx=V*g-S7VObzCpbZ8)(M82oM&$wByQdA5 zgmrd3pgkf)-H=W&>=>z9wCUIkm_cjyw$yRD5;3te!rvah(8_psXSIEEqms$;TUI7W zcH&9Ie?K2{MIx5PkwcQ%w4F+fWBg25YkoRZFMOw2^b*%W94Ft zGp2_2N_{ZhBR3+;4HYm1M;1@($>p>CCVFD#wrN%rcYZeSqE|{uWHOjdSB0ZbrZH4n zG7jyDL&Y15jyIXJVCG&{rWo~VGU@_A%BeJz`;XU;hnl>CK{&fOT_e+=N}_Y!^2Sx< zsGLZqw<*{FkPs>o$GpN3`cPb=8F--)*XCeKHS z_yjf+J2unzXOWxsu!S8|@l7)Eo&Am1(V4g|Xx<;Q@+@X>xG-D2e@}K;dsYWZF>Y-D zd&iEZyGKZI7mU9Cj_u)!VeR=Ov>^w9Pj9H)PphOe={Ouxun=uA5jq0xL~gWYc291} z%DxWq8V=+B1&`)J##-@z`_?`Pf{qT-<2omyT>N(QyCx9lXk_Y|mcuPRQ5sR^9NPQ2 z?EuRC8M{Fao8}ThrU@|6SI>0kJ>zL~lU=GU!%44VBj1&WGg*l}jm&a|adMSiv2VHb zie33Msv3r(Q3W@9LIErLLBjkg8A+;MGV5;u8u>z*SaxPPliSW4nCZ{j3Dz^f5hid4 zZib2u&*JOvO~?$nD~=WRp_GnU-{(9LE&S^GT?=Hm$5Y}`#~ z+1V!IB$}99eRXx|T5f2sN#rtiUI!$8z?Te)eKB z-;UIbaxp%`PLQEshwF=x znVWT_u&SM&!tZTWBWSRBkfj{g+jZ^I7)ETN0BQTNMcIk>|Lf|YTbHmec~N- zzjvgB-Apgv1197K7&%x6&Rwi(fuTp%NO<|;ES^?rY z&j?F3#D{3XX4eWnlEgL7kuQG9QOqNqcY#ybeikj1i+G3$9e$aeriPSix7qikjr}ZB z3m5}ft4qh)8E9QHr4=jsBOUdX&W*+fa(6zb*RR;yt1KJ^K@z%a*v}zhZj&G1xiiU? z3F#urE`w{dwRS1GfI)iuBU0}uQpe(QOE3gN`a<`9UbQ+O) z1ZtearX*Q-tKyMoD)&b`kkqa$QDlte3I~;R0q|0JiHC73-4F|$qXeKcb<#`r^u!)G zChcQP$2gkPk(*O{_;{=)rB03VrJGyLqFQJ?Gy}r%q1}KOwBO(8zpQ-8_O|wAkb#dC z8Z=d_62gtC^@tX@966qX1LJ0D>+e|r1%&k~lJFSApQY3GrJKLjZXd85H@JT`r_Q9B z?m5Ph{vZ9{fM?_U$i8wAS9w|Nz0C>o1}xbZF6QM3HpT}r5F9KS+AsDxbc6S*?|ChC zlLaG5RU@5*HY9)T48MJ%gm>)cpREX~hOk zXQ*;}Y9ooKK>xrxawSbvPb=yuAofyF*FYo4gxlBhE|zBtgv=&)g`ou{Evq?#)MGdA zrZ+}9i=70AnseL^xNL1|UdsWs4Bd37Q6n@3#=C3@Fe*+)!c|0#3NRv1B;4+r320ST zAnkfl=rtPw6RZ9y+4B_}u8sGXPdfbTN91>3e>kM{RrmYbwm+Fm-}Gnnla6<+WpY@u zPOPWJ*Nc4!*~<0qbHMGx{SQ=45uHG#AAngOD`SN+MRsRm@YOWUirXD-JW=eG*fVix z3Lp&1$1!%zg~QyB9Ho}lPsv_%3LUxn_^n)M`~s`S#w)m{PF`tNrHQQ7(J~&Dhrx%Whb@eUwtiO(;5i6`QBFzy4Uhn z^~{#ESa!oJ``3`7#)2gvZp(dIZeV9jqpLLnXK<9PJPvYux;ouzX>~1lfcQ)1y#ADo z6c9wU=fVfbn%L@>9iju>#IOJ-{UNXIN6WIb4+U_!XdTmF;K;_YKPrx8y9T#7G7lit z4ynmEoVgobB~7}lbZs}7RjigQ<+ZG%k{Ew>k-fW5XsK0k@+};SBz&`+cr4`4Z2@H} z^q#x#wG<)$DkJ~QzpV{ev2R2Cn9UMhv7M<4);07+$NGuH!OFQU+4o|5ST4?$DVgnx z%3-I$ky4|q6n8q0?+-WegBfQkhdYRBWGigMm_%jARBN=jLD)|gI`gq$Hmj_KjN=I= z$)2(HXq$T{q^mu)sC%Q(X|{jlKB1rDJRPf{n|2X~jblXiw^)1{5^O^Y+sHUgr|_|Y z+=X;Wr^dpFzi#njGl1AYwqn4%+V3m%ZlqN*ZL9WYs+|kov8x&QSXdHT5)wM`^tUYd z^jh*ftHEboD3Xq5o<)we_Wt&q1b2CJdO&&%EYdlsT0wS~tslgDU9}YuC7%3}adnh& zK-3P-ngcvGiW_H?tc^xo-fjkabAf_ zE)L^OykRDoH%jTwetgwe*u*u%e@9e@?ygRz`~Ynu?X@{Fq)L4fX^8<#(=k1PTfi!1 z;7+2hC_ki>5UOO6Gg#%=%KK|ZW66u!UBrbxT4E;y&k3aOx3I91Q=+1No5A<-nxN`q*0LkoZ12y}1*)fC ztD@i7>H^e*lm}%NSAbS5slLC46XR>q zr$B$$=R)6?g~eG(ecC2E)%=}FSs@jsTN}bh<#-6gdPi{_&v%6D7E+0E1g5K5bs964 z@?09P*-qKsU!#xBQ7>lA^zW|KOH!8IwYJ?qa(Fj^%GyS85`$R=0qA6W4Sto%syC6NHFik@^~g zgn*R#RO+FwJ8SK7=C;?EpHItt-bB0Ub@dh+4q_U}S|6v#+L-lN`-G|W_#rqmzj%Kt zlo?;j#0slC^*_uKe{7E@8;|NNFS|_VdGAYKu>nR>YFUts_{Uzb1r61wkX!l4Df;}> z`>pp*%JWKTk=$f>ckA)IwmpBg@+NR$eh?PgMzuO+d9(G6*V&0}y^iaZP|c{q`cfnf`Gr0p^x-XD|lmTK|v6= zO?M%;eXU<{j;I~kbJ-rtp%1-tHTEg}ulvMb9gNpN=nfx%8dFRmo$}g$agk zK1SsRu+_~n9rM#WGf`Z2nX3TE+MYv3R?6t7}@Bhwf$-+G+X;@?z4K+X(L?6}#8k*G7Hq`09+%8;2{m@jws=HgsGj zkoyu>2OFu6dOv+(^IxPBl?+9JfgL3O*n*VpeI_6xwxhJfB9o4eK#f2Y_$B>c5H{Lw z7*bOn8Q-V{-9|u^r%X-JKgHE>rM6vgW#6TM*%!>v+PXRkIZ*k(1?6rL$<4C!59Z>X8 zw8#!8wQt6~$Dr)_`gn&x6d%PJ$q!&s%_bmw?-837rQK!IYd2j$!-e zBnhpXWq4O6KfKOD!xK=0Pm5d6oWfPS(=}YP-PQ+&*Nx?Gu0dK)+Ghkw%%6Rx^#m#M%oyaHa_j`FXpTJffSo97BxZ(iGD4;=bWthyYXOj=ru0q+jtm#j#r^C+R6I4o*lXvQe7Z5dP^F?Ofu*ubZ|i>0KSTpl?zjjvJv+$abZz5l+(N6Fo&W_%g-mq}&F2euZN zO&f&UEueq~C9ZCzdg>eBU(e$OQ@irKEP8`iFu83`NjJCn$DXLG7TK#T;1(P>{jm0+ zkQ(C&`IAb|#nRqi?~Sfjn*>I$%LVB^dlrP-bN(H5#oz3Kq!ndWURHt_r7r9+mjy?% zGDUBl=i)pWatNcT$;WVrP(>cx#mmCIrRe~EoiPR$H*;@ZDNk$GWFXRR>@)x(yV|FP z=n^!UVnYx<70@lupvm;RCUqI8DmPs+EVVx{l*N{zM3FJIN;J&okI*ZBmb3*r?>d$kweD}?=IG8k zAW7|-g3m9G?L7aQ!PM&}L`2DyX&1JA)V4D~$<5KQI>6gjOw+WWb&SYm-aI$O@Ip!| znV(`TItM7ec+cD%EYNWu$lZu)yC`k{=;avofcUikS;+Bd9566E=Yw$Z_H94zc?Ch{ zs(#cpum|1|^4l#?+z6T=rfrowT)eqqp|?xVbN?zUvA!)vNgbbuyu;cB(COI znLT<2Ob2gg%H36QN8{!cu<_9tj2*)dvG87HwFi|K+6j$!T&<|ZVp&y9trE$@CT@X# zx=}o1-gZkCG+*5=%PL88q^Bf(5*M?7e;sIQq6S~NCipt~cU5XMjGm}}ozWkOA|w)L z8Wy+R{Elr-VJCah%1Y8G3DGn6ad{Uu&yi{B#m>2IH2|ly>r=ZfOR6d*YZ~EON(}0O z>(k*0#DTXMhWqhMuX|L=8yI!=KN{O>L)6Vlw{~-4tkP^7V1~`85uccNP7+QRD=r1L zk-n3Y1T2&w=p(C`QYh3xs0o57D;~;xll*|&_AW1IXUrf2)>vqqyY>fJ_}S_cv*Q3A z_z<`4Kb%M{bRN@N$~YBiyI}4ITNlx@J$3CGs-M_1pI3Q)XeDywd@6l9os> zaSu5l`=^7>I+Au=S~w^ZWH=MX8r}y&MWLm7A6&;aoUQXLp7>Bkol}sx8r!|na6P2F zd_>a~0a(REi^&&awNO&^u(_p8FtA3@iL$UZR)=$7S$Q0Q?mhwEAVc3V?dF8h_t!~} z22?Y;gkFCbSrgVW#!zH-GMh9DsDdJ$_Z6zZ+M=Oo)TKeazaCC&<46~Y*W3T*YGSro zEYj>7VH{>_Pb~SC68)8&(7ncLBF9<^D@|;FY`3-?FE{tjTsM6edVMNh#ThoB%AJRk zk*@dG2gMhL;&{==>P)S41e|D*AEDcoT=roY1PSm+!vaXNj zXTCp26Qk=u#IE5US*N3}jcUJ0N$XP#>(82RV_8VgKG!_B(^Xq=qmtFwz$3U|__6q3 zd8S+!R|&kkb2>RAt<_;5~4U0V_~2kIjzn^%1#xX$zlK9!#N(0@@du|xa}H8V+H<=K3#OBI5>(EVgZJk%(DtW%9B1NgvvT8d*xZZn zo`dNrG1DYMp6N(;D=7o-fMt~Z{q?SpKvR~czA(2JE&#SY-@}Cuw_m!ah&A=x^TpN0 zveF3vj?&*>Z=$PI#5)4HJLaRpq`l2-WSD|24c9?&xS~IHSpy~W$jNpK$o>8GolX7VB#Y?+;e?2aqe=7I>;<_FL#V+QE5E zRDXhL-=B|&eOHB6yqLuD92kXTrelO%d$K3QmUU&LE;FxlJa6nzw6=l$Y**&kgmn6} z;%8}&1Y@nJzT2*NiyLhpEC74J=i>r1g>DAsbiTiy{Lg>=```cidmsB{ zfc}hg{&k!PbB^rx5ES*+m(m*!hSCv?6lHc+=aJNK9mx4l{4}bZT8$|Q^)6WiE}PyH zHLUN?k^Q5Q1`;Fwa5`Auv;Dy9UiNG+xZJ<5vH}=@)8Dpwk|r1;jwAPMfVO}caf2u9c1_A1M=c~ zBF{?-7>6zMl6McFnkGT1irLP~)DSG2w z+X=ZB-nB!X`mz8AUPB8uGOFlpUK2N~SS}*KVkV%h8x3=ysT% zL-aUAZiCzN>AR*~4c$ZsNK~{Q*92O)?{AU}Lz}Tf$EU|;)aaYqvj=^4u7_4NuFZ8F zBItgIj?T+LNAM)*uJJYHQU<+MzhC9~Lo_Q}ofeKb!|apF1PjPScZj?KR%5t{b9{c8I== zKhbCBdW+k;Y!Q*iAv)m2LC4v>$kzGw7*llDs?KX!L=JvD50hH7=}8M(~O_UC>=_t@Q2)!{{Jd(Yw(kA2Pkp>K{UrH<`?DJ(&E zpO(-|f*u@)c$(hQxOxpe1`&gcm+W2iR=6BW@zCl_AHBH0NjVKVT*sohtnCuJ&POqv z4nZINfDRTLi*s=7k4w3@l>AG&`k)6Jn9&KYi`HCR^mZPmMIPIL95K30wampg^tde$ z5YW5G{p4+XjmtCY2|>q9&ge=mayubsspd&l^gg*BmQB#d&dhx{5oY0#Ut?X zXLQy*s+d%G_<}xTQ6|3d5$(I;_fr@=(H$AR2OGM`qrme{y}k!(9hn_G^rE+h)D0+R z&}Rzm8NVM<<`^j)Qt+bBX<-vv?$~%;W6>^hI}zGjob-#HX2C~jGlwuzu-uRq7k!wC zN_s>GsLCP_4R?mM=N;KaU-FW}T1ED4<9O-yGa~*dS7nIai;tha?)n*LTj%45WaTPa zOBZcJHV*Fy$#}#$;qg^(mkEPvr|U;Jq^0@=qY9gNbTq@@!56)m;_4jejgfM4iF=_v zHpH{&i-Yj+>&v6RMupKx0Gt8{Lx)s8qs5NtnAtOOY8cCTOwmWR8X99)&x~rdbco&# z?hkBc(5H^uHN4o?XXxq&-xgDScI(`mpb6u=1WM=gqHtHx@bFD}KI7cfLs<8>F1nqj zPw1_pHc!28vw(~7R2dopY!V$>%SG49_y^?1*Uvcq7r9q6am~ga?pqk=JVkS=cIC(i zJuHBNQ(dG^L2#4c>KBbpe?-!!F3;UZ+`l$E8NoNt-Ln5sWkJ2Yb3ICa1YMe?>t-WL zYjFnHPGmoCRUiz(!R7F1iLSd@1aBK3UK@#`=QKFD2TIk7*^bLkyPb3{%d(6*w` zX+Ay3zQL}-;T7~acw9K_g0>_C@ojYRz{J=zK!#HHbzs+Lpq=Gc(SXs5TVPl%cN>t zblo{qoxzq0y9icz&GgZIfP>jSm>OCbkMQ?-Om&W~rO?3Ej z;4OpR2S)HY*o3oU)sEepv|&U?%};GgeS8lHEA-CwaLTi3p^Kl->($TDyA=8u&?tHB zI)a?YCf%l~S4$k|UAj$EyiN=t?5D5_wK2Cq1&QAEybW!BtEyisT8Ap^!Bh0`^}){% z4ZkW;M*QO7aqZv`q0y2D%kX0QBEymEO}{T*jTsf`M0bB)3&lzclC zV0Fd&W2cV;MKS1D?eL9EKJPRgKx&O&^zP*d8M28Eyp8Cc>k++$Uml`M<9Q=k*qB}p z^Vbo&HgpYHchNI+oWN!7T%Y>>feIh@hdF&lP`+|q%RR!37QJnsbocEV&P0U|I#}e` z5d3Ep;yFb3%Kfn#V-t2!WEhcSU}H*}RMA_7-Zi^J3B5scclE>f*y<4PJ1Y6KCtw&f|Tt9cT`ZJhS&>C1r zEXVz(>t?z`#$oOgZ@@*fYE#%z(R%zQK^LS3KB5vDbV!=sLnVZ+(2?2{Hi(|q;nWwo zhyEg(%UkFG@pB9q8Kpgr!3G^dx_9-2!T^fFHkGB)^*H=J&O^f>(qOByiA9IO)FUs9 z*GaMM1^>WB$KmYZ?5Q6734KEMFo3!uv9gym^8rH)iYEn@AXcI5o9QY#c54eA$EMQ; zEsgkE#1J^`Q2V(Dxp$MH1U8Ps_2VPBK-*y&qBqf-Hp{@5)pkXU_<7J1uk=ONU}| zngz{esgbP-mxjlH%Yh`oqY&4F{S47nqpeDA4?5zbTML`MLC51&p>H>RO=i7RkrNUs zLdYWHcm+D_w%Waa!!TgiMcroo zT&HCSW2VQ)X$yR4@uzKER}dlw7pzS9QIX=5L7rT$!3k^Vn2c7kGLD2lRXR!?1R-`a z;u<0w^5AWfV#cS2}L$Q^*bI}IS(&dit=tf zA` zS7vWQ%6YgC0(|xK#|#0AgN`&Qxx2+!PXfVv4k0zG^iGrW9< z{>PjJaRy3R`uulZrYH+*2 zn#8`J!t`^0JT8KCo7JBP6h;_pq8!Dsx#%8V?28@>WbdImLMv(+p(2zkMSi0ZxOK0C z_-v|Xinn?nh3d8u+m&aaMK|N7!136)el`NxXM{~I`Zx(>qs%xE5)P7XI>cyrI1YY) zWYqrT`Nv`WLI{dWldJ|T3~QFM7z2?Y-R?xU8>c7p#5Nz{#hg-W#mq0d%Xo;80%(se z8?dU!iqIevdJNDXQ&v>K13-%$an5=p?jL9n$g@LkHWvauD{#lT-_}F`Br5bAre!t_ zp_>6vh}?|UP>A57&jY-Kf>x0Sn(&Pfd>7r1({K)KooT$q#DCg-kjc@0b#2K8h(`j}I7f%%wC^e}Sfuzeo*SdcMI^f9?U zLVOGoE<|_C|EPH(dJ}p0=bPwC{4tzc8?-jM=qY-StsVE{*a#$^a66{`v=(0U@Pl+N ziz$q7A`BLO^xN$ct}?tb!aT%2(bzW?tqMA}@o+#O?w&Zbq7wN66@`Op`scx4(Q8`|?Iz(B(OJ#pm( zm^^44ghfr#N1T^Xvb46FXfJKd{dF9wNjaV3xP%3CEv0-|Vd}H8!BTq2`4e*E>aMX= z^olqQ6|d77vk{Jj&c4w$l^cVxNYeIL1AJI=ruGQ!doYzRQKS5 zvE^e12R`{zQ*+Irj-bry5pk9ikACN>l-*$2q3B=qsR(H#^~I-$w~GLSe4jC6oLPb4 zG{M9pq+8384t*Zn4!EMB5{d5+AF1M8$zXZd#-1rhJzopKn zRQeKH-!kn>H}Zu!f$QjTif{5M!vO`Z*AsV z+xb$4e(Oq~y41I>^;;MFP}ROQx!;=JrzZHVDSj!E-+Jb6J@ivg{nlf@^xSVf_?Mpi ztw(?B+24BjZ$156kN?*5f7t1x1j&+I$8J9PI_dx|Tk)h1fGa5*v*1ej4su@_IEm*v9>#*AI5Kt{)(PcdU7Z z=>nSGaSm*v>?!EBMmH>d$sOZ!TY(u1|ASjXQg1UNt3`N(pAQWsT7~ke-njqhwr=HU zpc?c-Bg;9hkzxzS<&BYVzHDH#RJ*43lzjPwRsEJRo2E^qMHGjy@Y zT;D;s&zSm1<@1pp6Ni)BBthFVUyX<#gU8pM=gG}dlV!vb?)Kd`__rLTJ7Qa41>T?R zUv8Ni`m>V(f~C|Q1ZHqdhNH)YG-knW>qcy zila1N=R>1EtyI0!en%9+l3qv@K|3)60Ttx7@$jLshFT)=YFL{gj!OW^de;_ z^m-Phc4(nZgN{WGrS|Zm6_i{-tm+Og3Ok}TZz}81l}%GR*E@SkkV&cJxGjaW2pEBP zbY%Diy_p^dwBQESDnuwgrP|FoFc3O!Pl29-=78-Jdto;}QT~Yx$m#>^pC8aO_(v#C zr`Zvg^|7r2+zUNQfxwCe6V_{=Hzyp0wQ5Z%z(Y6&$Id#|(A){dRqf$oG162WLe^2m zaj9rc&u0apXXk_lG3Mrxsenlaj!^|Gm zrwWe~;49u%@B*A3O|XEzTOBz-qX(^-Kd{d(dOuLVpyuFZ)h+|gv-EGsP8eUl{h);; ziS1*$fC4z|fdD{J$>xv)16@*SaeXIiE1Wdl4i8Z~7pwKyfpcV@02**N1W(+cgFkdK zW-fA%AnHYqQ%be|-*I(zyfDfE3H3S@#L&_MbJZit)9kfDTi5apl#;kj4xxdQM$VjF zv=C^4`bZBEwt@7BZnt%xq$~y9MMfXla4(%Zri1WeJ-8T{66tgCb=Bm+J2gzpC)2}A z^+6X9D9Qi~mEVSmOv2uXZpJ!=shcv!J9v=~r?|{j7K;?J99BS#s_ZW6V&k=^6?D``9h3*14_ODC*AMbCijbf$F~dq z63N5N)DALe&zWl=hXn8nT2P;gCu(HT)v2!oN|ZCZ z@$;yT!^~8WLr8n~s)x z(ejZ-)}d)}$A%(NESmQwO|BgNmPiBd3?_3H{Vg+}rnxu>bm{4vXjyMTAIzmZMe(|m zxhuZDhr=N5Z{$eMjpv=k?{CbdptixiLl4sPpc_kDcZMUu81#uOI9tAM`yoa1@Nh}t zoF2X+A|Wd}uTv`0Uh#Vcy&+4KHWt6PtWk|!R~jpV`Z|* zHHn~4uVdV5n^I?82dO*FOx_wlF;2DCMIv&5i)H! zy}DZ{1@D>KXb7#rDwU4J6HHOlZhB{rD2FTP!mD(h7GU0s#$HO`8}Y}O)V9)?8oszD>GjAJ6${>c9ZW_LPgLg8v%`C`wLA_rk?Z# ze$C`f)gRN!LrRW>-Z|Q>Zp>X>bf0v!2TsW0NR)3@mm+)=iT2iJoL8^fBJuN31tV?W zZZc_4k=1`#*>Mp7D^J~Y_vn;57+U$v$DySsQdsG)QFCB7Qh0|xCTK;~SD2lYqe{tj zY5ksh*g^Nc9q^_o88O&eTd-1Fe*;pujp}9>PT&A7pVYi9T-eeC}f9Lw0MSR zij^&s>q@SV;kZIW?i6-bB|$A#y7PPRzZ*hdDb(z=Qx?%_VnFUjS*vP>YEXD33)dCQ zk)lg&iC(x~PwrQSMspZ=Kk8o*PxG zps)j{y7>MIOPHz*6J;mh3C-_UUUqH7Tvd8Qq_E5zk+>i$g*K{{J?Xj1d*$}S#^=Gq z2#mR6gK*&OwoQY7>0=LTZ;gegyaD&`*tRnEV{j)WNR(O}ifADsGNm`$;Ub#J==zvR zOt)^U;>m>E72KJ&znn^;9AuU{T4Ji=iI17GN|kMHuX`}mpe1;A)kPC+Cx3OlmE*u4 zEcGgAZXbTV&9T@wVb|kZKJ@M|^P$hpX8(z?M=_$^_RaxAiHDsSe_dnU4Y@!5^3MgZ zsE4{s3>7KDmwZmHOWR1>Gw4pVg@xUzmC&dtt(7VSkL1saN)of*!J{2(E`mp!>5bc| zY@a?v#(u?W zKSR0Sq26DS;LkwuR~-3wnE5*l{T-(M4r70Zxj)0;-(m9KVf61X`y&kh&wu^HP(5ArBy7DYe(ZhW(Hq)_yLCc{Sbcx?bf>eWUyXY<} zrs-Tm^Sp(5?xA{FEMD;d?k-kXwBmPWyqHs9R-SCAM8J9 z*)*G6m0gM=w}(R6B_bKj0V$-^MMv{*UG5?S6sCt2zNK!EjbBGaM9~LRarWt_4bjKm zL<`Ck^vUDS!b~&PNjN*6r~AWF=WUvqaH9=qU!G_8^-c7?<>M;!x%>5}uTRnQ;Qp@P zcbV$Ej^7WHT&EQ)KzUa-9cXWOqA)%g3 z0PPfwr5|0@HqraR^NYq40q_ZZoT3F+(({Js-ueBZopb~`u@D#4-TFEjMCfUQ>%IGJ zo$EtO9W_TPv`%Qatmj)5GB&QaUF6=Wt$%GG(J+uHWLMBCKdPwx27R&p1CqS zENaiQGV$|WnRIF-&<@et=DF-ubaA7Bqs7NfL8(QTO*DmpWtFMK!}QN*+`b7Y>dN(^ zqnMQFGDMHULdT&Ey65AM_NJl*OBs;cpo=#ipF`yiZNzPgX0Y`X5#c}0#a6l4Inq;O z53a}5MeQopcR0;4ny=T%!t9;v({$%$(FRHjIbtwfWjI*)`KFEl&#QV~mtmrX)$_V) zE9m{&c%)~G*2d}K`8SK=`Q>EkPi>44v#f2^#%!{;MUO6eY@Uv?n}*38nvXCB7Do&6 zFq7G|k6SqI8Scj84)drek*3!dn8#A>cc86Of!6lYLYqUxXV}utJO3<$qH_3k2;pSj(|nXhR-)c(^ii--!%i zAyUl#n!(C09jFjp3wzVS`$a<)?nbgSIcc?rCv<6?k)}Og#T<1e#80Y_+&V*2NUGdK zDtkg}v%tBEtebz%<eJ5sYCae0)f5?p9J}238~i{b zzp4h3szMcC*JySh$SO3Fn3qS>cKFlo*H@jHQ-$Q8bkF`nq3VeZBIyrX!$QY-aVF=-GMRcJTah zbibbGjlu5^>5l5;BS}rVUP#vm_s=rcXhk=kj;0${ z7H^j`v{W^ldD16KS&s;<|KI=mTTT?AH^j?SdYqo?YGOx|2kKP2$o`|*COzEfb6V-C zFKavT6eiEgIfCyy0*~sk8TF~E>}9I|M5(<=HAw3;pXR5Ls#Xn)+JZYr(PMI<}++*Q>n&F#J_Dxgh!-$yr|My-3V47~vL zHQTE1E^sIX3mc0!qn9c>7#8Bsdr*RYweRXBfu9H@3^bn@&iM#gDhbt%as} zg_fg}zM`}`)PabX?R|O|td3La-$RvteL|x%54-hbZ)8)MY@%J}qjfIz=yiU^bb)?v zzSp|xV1cz~cDKN$>$_Xy=23hl%gB~uG_Il8zx&LW?naEOIKED(o5ku8r#sLvBlO>M z3$^~ypqj$*ZX>Aa9gJeVHo(U2hDE#R>UQI_cW^r)%FR!AsB!~V`b79UwAj~`s&YP> znsy&^ceU51)k}9bldC+JzB%(b3vLWXzkp3dcE)t?W_LHbw{fNW=JDt~J7^|u)<;+1 zn1L$5+1jk9x{=d*YtV5w`dd^1Fk-Lku0z%SJyGr%dAbdTem{A@!Oq{9rg<}uPP+i_ zqimYBnh?hA?nB{jf7yZUr7f=2rWen~j)P&-ePceFnD{pLVxnsQ#iIX|?0efd9#s0L z+myRd(C5azc(P#x?H=7l&u6G!n&=6y9K~$-0psRHcQEK zj}R0mq!boKt}v>HLy(g1=kf&AR8A2t+iEMIG5(I=_WZL-tSq#h3r z<)ul1@od_jeX5vAH_dSK&H7+H**L@tRUVC1+!toh!|K`3YJZ#vkBG)--R&FI=Y`IP z^zEfjM>eY~V*R&` zSM{I6&3)LR8{PKSnGrj@cZ7F`rTDnNZnZ&Yd#l!uH^|{KQQY+q2s@BR~CQ9n9RJNY94SyXQ||Yiiw-WzS<*vNM)@;mt?;qPEex zT2=;1X7lQ$6iq?lhQCZd%9&LbuWQZQ%4#eG+sRIKbl)*2E!NDt`yJAV*WDAf82xUp z)~sWenF77IeO7hXnf-1U?A}G&T5dXExhW=Xz3Gj^!8V7~{q8wM_ZyF!mfiiqX==8a zj%l-`P+OeTg~A#4X-NL_cK|a~2TM7kPn{Xvu)A9wtUue~T{iXS?=Ca-|M}P7ZNHS) zAF#~r9h8aw7Pfmrs+XzyWvT4ld5XLwB31CX+WBq3MuR*}j-luJw{;Wci{YAx^by`t zqU^-`8q~3i?r>`O|y5_^7i+n(!}_fM9jsPMCTuc)7oj=64E>Idtf@j`XF&c0o3^Mhc0F?Tk#^sI*2E8erww2b!1_#G~eU9+j6 z3`6&L@7np@R)_4Lmi-xZx=QLHWi?d2+um!{hT9CsCSQ2E`m62vS+A09|8S^f&on#;-rd?z>2@(=U@EkPs0g_Aq>$hS+;lW6jBI(x zB+F1S51);7fNaBP#l1Cgq@@IA>fFM0c$?-#sB5b&po*auTayuaYQu|+1^!$%tt%Qm?GZ~4G_HQQpG znEqIZL1SNO>l5`%W8J*{alxXoFfYf0VHHm?W`X-B!j~SqJ6ra->$F*k_Wi!JaagH1 zhEyBIt0i*x=TmEh?u!p&Jldwa;dj_$w;13gPn=0?WAjT~&OROVqeYh;K2Et2&|guj z>U`{?#;#?4-RhF>IB7Lq@3W{KpN%=$&@1=eX)K6$jgH`OyJYc*_F%9BRs2W#QanZcaG+L8Iofbz$^$kCAov~~ zv=i^OM!*biRys84%cHn70t;_8EBl*m(b<%E651f_U@z`@KiHOWx`7`ZwdJqfvjeww zl8=Ezptr6TrJD_H56!4}iOwgd&g=t08*#A^jQdY;Vu-Zj(gu{+5U9CzYdAx9hE;HA{@c+fLt&t9T35cthl&bmDdT zL956e>Sse3Iu>{km zlD?>&%Y80;O|SF2*{#GsRwN>x1-GhcXcPzT+KE%S{w%@km%z(gv2#^h11{O`eKL^j znD9{ydMF5vIj>E=*><3raTAa@D;9WjS;@h@EIIYBH#Dmc! z&J}}x(3IrR!#IrB*~v- zMgzBv*ovci@Qd^Y0KPB_M&H@sil`{y59+2tN zp0BgoHIKa?IlXQeuD>4ZYlw1gI8-Fq4uBX{(btyqPzC?W{}1;dkHJhd3Yo|g_suKjf$~_T;@pc7f6>*+eI|I-C<{+znf)BN^@8A;n&*~a8rdFiESGoFMsYXwGl*=t8 z*yLstC|;*!*#M0~h`c=H-*9+VL)jggg5&+XmN#k=8nvIO6$eAPj}Vas3J$UK6!CPn z7qiYl)9)VV&KpDG`{eIBvPf)<2Fh^*AIP`U_OT_^je;*k4?1wHH4dW@7K~m~kiw1#u*G($xi7qV!A&`w+U+MS3nxt;NBHd0V=miMLdS1}Aleqx5xlwDXZzD&CuDv=|2Xmo!!#j5b$LZIe<5H)wVN zYwP1{HD(3m5o%mXrud)YxLQZc8z?cxT!_6GJ_N+j5mIr*;h3|I32W5R1_`ltlyG** zb~|hxD+C}!2odC>UeWN^;3mZm($UpcH9E-g7L*E{DBWI0EJJjXLX;A~0iQI{c#r}F zUo{he*c`aU>+N`dTK3+9BM+`lfPHEEsjDSMvG*Rdwdy?5_!_ME|59DFeg zhx_fr!EI#dPka|n7mPb}G(aZt@>BZSz~_siZKFoFz_bpmIz16hPE&ZI9bw0!zT|lq=?90A|+Do2rd!yC35s-(6tnXIG@Qp8t!fl8ih7nx8mExQ(P9PV>hXzk*@bKL2{Vj|;Ilg?H?+$a z8sdjB7}8~=LO@u?M|tqD3f;D2bvFM^7{*ik)`{i((@7Wo;>_}fv59s;ZLvfG$sh!? zhh5h|Lfsh9Vd}@f@1xDX3vR>23B?^|B%#p_yih6g#2;@G$g3S7%K=V%pK!;L5$2Mv z=cl}28a7wwjd@4Ib0%L8c9*gM7Ykwu`J{h71+$ zN7}LSn`cNveq#-I5NRYXsm5gK1ULTC{VgF75PBPzy}HCG6o z88BKbBG$FOd?8pOYC=e?c8p-beOc#Z&s?&GrH5I!&5IAiVaqd^8M)#x%r#+>PW$Nv zcz7PSg^v62`l|DuKa}8M&+38z20dogoqn!h4pd7Gk0Q<9lT9? zCtCnB-Hds}9C5rgpE$90>(NjJnI7x*sY;7+95w=DIx*htsbxdnMg?wctR*M^W-4ar zVJ9=kd4+qcTCOC^7%e@f;?ZiA26hQcyNjh@RQZ)^Kx=(l_liodE*6tst}jTgFl^~! z(TgGM(3#iQv>^yLbezhbqmvuR%&I`XdnVdGB}*AnkFhWspS6u+!NUmT5T9V{3Jvk) zDEnwUG^TEAn&M8TG2^M$_}{uDh!u(}BQ1R39|Lo6^PaDg6NJjNbi*55t=1!T$!F@; z-5j+_^hyB6CkNA|CoZH2_Cuf4j%fp^oOA?7ZWb*VS6vg@mI=Ki}N90Oc9@G?!EQhS-Ai=R_oThQ!xF5)6GI6F% z5^8M05X(3-pq-UVa_U$ws3ZP^+4Gr>2f-~6$<)#G3EwUmr%y-`%lXk_TL9}~FMM&3 zeaiGo?rGCBK~V95D5mpF97J3=Lxs~riDzsg8{aEa}w zGGp^%Ulju;#SxDH6AQn)SIK? zBrU}ocLFt-4TsjB6$c)2oHjG7w)(6!{Y-N8mNl(c44=DIqY^*U5V>yaqL?kpu~0Xd zli0H&C9HP>80DPC)>ms2I!$xVC4xh|Yl7jPiG#|@ovgI{1f5@8k5om1a9sQ23iV9w z6^n<1Zc8lNrwESUG&bX1oi73ymPS&|F#dfIs^$BcV#ih2%ZP`*a5Bj82{hg{4&qyu z4QQXTvIwmhV8ArYDxKJ7b%~NSW0NO21C<27(Z$dtA#u#SI^~(;!aV`4kvMM34Q3<3!qMEbc8WBUIUmr^`&o3^odb9?Oi}0xCD_^)e0;``YK^ z$*$Z_(=@08dXL5I)AS`=r3pJ;=BSDF%18%s$?oPM$iBUAY$gT!uBvsi1RmE1kBtjVR zn@F>5S#E-pL|%a@N?4uYZ>m^$7_#I=V`ZtvA==n@n@;)cyfN;y4*y`Zhz zo_NMjMwL$H{wPaD$6=%{zU6UF0O2@hoyoX687xaSnx;L8kc&q$y1+qWT#Q(@)(0ux zO-nW_d}7Y_cg5fLVzHiAMp$DtMVyQ!0~q*7W%-&lKDI&JVs6_u}u?Be7#+SuqY*XdihI&~XQ8$xF+ozpL+9OCg(cysfjco8-hW zD4|(^th1B*Nv@~AOHPbQi+Pi5IT`S|g8I*b#Zq|yCV9$cp z2` z*rebcJwalP?L9hQWF?^pi+q-wi58Lpq;q)y)s=?4dWQq^G#!A zN(;nGC;`eZ%tS9ZRBNep5MfKu_^t#~7RV5*rnD>yD>7GLK~f9Z->(!g&^(jDGwz+F zAaRR!%t0`&9XIGN>X}kJg0sLuYE=G^IU&v3x9uG#N@y!pW|@A)vMHIzCnHJBnvDek z2Kk!s?llRi-8fP$hMo3PEUIdt#sQicj02btSw~6NAeSU&`9^AlJZuCx3c3;+9{72f z*+MYN0OI!_HH!cIy$y2j=S4<$)_RDSh%4S%G4e^rN6jEO&eT3lhYPKTdZ(LaTlN>=S)B!I#tXOAxU;iQV~ z5ZCFMi;oeD)uPKwokxE$oD`>VGtPtk2IxlE7{Cq&3GfDU{t+ zd%c|Bf2_N)5MiC~!QzP1FWO`Y!3&)-0*|5)gTuLmjX<2WzS^PW0h$_TuuuMROE$yk z0?_a1?(vg{XJ)*~fb0`>8;gU719opd&p6&#LOP~~j?WCgl=M!BC^RfMisLg$W%&Xa zh3`L}jfWi|w#PM0pr9p%7L0+?;MC-}xtCHG(Q;y%8NEt56Cof}F{w{#E?$&*%L=fp z5}Mk6$u!iOn7NWEYRXWyKBJ{&Qq6Q~d^8Ya@$Sp1YvBxqtA%*EkVoFu^ep%y)6n{h zw_6(}R+1?peih%l*4Uia(@!PaTD4|l0o7|sPT(H33c|oB1RQZHMGmJoJ)^QCR){Vs zSxhr7#Sv_1gfi@w0DzJKXU+{EcBE|icRU{&!4aoYdj30{&<>YST}qmxPjhy`|H z;}?Yd*aZ-+w&#c#|Gsh-1(%XT5spznPe3 z1MLh~5Af@L;{nb{2p#1J&z;5pH3ulGg4mPia->og zVRkDWM`ANVrTV)IcGf#FD(f)yY>D2vSxCqU42$1nkPnkf5T^OhD6}<36CYp)f5r7) z#q%i5??2viym*VQpU3EyA!C@uFjnO;{USVspy39Xn`{dpgOhnj(OFK;1iTz}IdEWP ztTYX)dUSC6@xC`+e(-? zK~~O9T;7^UmXZ$Uok987`rp4tbBt~cZsKD!2^R*6y=~5pMR>;YjJV;Z_fRtGCsxBy z6epdacLP?KRTjw?Y@U;-05R3^oxT!(@< zg#lY9i}uK(UczteoJ1)4Gee9f_Le+s2F9_2>I%_wGw>}Vf+%wF0%@s#UVUcR%1Q+_ zezAlk#z7DUre>ZkvE{AsFO2nq3lQCkyDbcj${1l+r@^xLNED}4*Spaqw1&wBjvY}P zp_@8uc+Vr?Lr5^j?zci)Z3B}h=G3vg#E6T{0|KoT)8-OJVOMAKmtL=O$#`gB&zo(G zl)7PQ0F53Kl+Y*t8FoPYd)ZF2Uh7k=1T`PH0bQx+;P`-AC6G{3A1>ZE1$5#*>-Qg< zhcjY;)W-IzE`@!mCWDFckeIVm!NN>Z?5#Q$3@@LX@FHUK_X4dkw!bHCmB@4Mq?P)x z%o3uwpb2SWi#4w?zvpUCCdCDw(4h&|%v*pz8~A*-#9qJu7zquRXYC)OzYF^o!cotQ zM1VE1ZfI5_lGbkk9AH6!C_r0sVD8In2zRJ&l>vJmCT47MlI;AwzHsHu>O7|?Rzv^( zCo1W1x-o)i80nXiyBU-V8aY)`F zLE_)dB!nCpxF%g3^eIq9m^s-O88zA0An11WDEyyP3mr?WZFIo={W=)>$3Ffrx(Y1@ zw9&wX(@z&59^p;hmI;qkN_H;o`z3Kkuv70DW;OY$7Lv|TLyc-o60nrAB|USjtor@O zV?Xb4jUE$^98IKI)%|Oms~W+SKpA8j`?U(<*%11%eloY_77Q=(7*QZ_2c?bV0%Rk^ zjvX^!GD`DIQOc7*_Dq6^Du7HZ{v;|5tpxW7HmDc0BzIx^w6M(3l^RIFt!GhP#DlC| zJ!XN&Cn$m0Br#N%_Z%YzWCo(?FdLqcJhlq_&HLjSf zmwPGZF}O1_k!!dF^iW@zS+kyx#X@Cl3%Dl8#W>+su17&wmh(rVVvndEc)5lrMmF^% z`Iu0=BB21F?BXO_Gkem@0tTQN*QCT6{h5w&Wt==lYp` zf~^m#DSS><216Ux>JT!q@o$`tnhPlQy)m(8d+h`Qx5=1uimX8yvb?CUE=3FwWs4S< zQ)GtDjPW{mlh@;cu4dg^hL%1hv2&HWHLuMb9E&l_Q&KgJF4(`%K1{s(*)c~wgHy94W1}T@ z;^|}mU?&E&5Cg`r?3*&$ms(j>-La&VsC&iUJl=ekgx&F-CME!?sBrSAl3J3+na}FY zAAcg`&w`U+$e<@%%3!OhW@bekx`8L{C1EG(uzNxtKhs-GJgqliFEzqNvODO3Yq(Jw zi%HkY#K3(h2Kr<|LJ!Q3eEy`K%&b?;$buj8#KAW`A^urOMDRzK=^fGkElNO+R*bzF zZMjU;mZXm`qjsc&5u+889~T$qgb&EE08K!$zd%BtvLYTV9ug{)OJFS4TD&sxpBJ-N zg1_(c+D8lwMLQFJRc7fW)b<)jn9f$`w}c9O((pErzZG-YO3t^zsTtQSlZ>7qq?XtA zmJP~eRL#vxhD8GxTcB8TF4tt{1E*m=b+7pg%wPCflc#R&nZc!7uKdq5AotA5Sjf0I z?DhpnLWNZMMx>CEY~fzF1*K`)liqp?pOU;LTO#-;iNUM;m?I#?n6aWDSnM zBvYof52y(&)mNF!zOYIQ9FzN5h(MSUrhMUV#fmeeqHQEF+cJUc)g6|F7zO*K;A8@G zwI5l&6VF2=uSt!=5#SfA*f(}1rXQ7eM&hnzv*Y?+@{fhNM(>_Jn81IH+!)Fu=n{{1 zjP|VK`cxiqh+M9jB63SM1ieBaNy7Ig)%_>U@0t+rI2gk9KLv=vTxS*+0<7$Pvt)?3 z$sAW^w~>9ePkQ%`A6ZFg+a471O=RNA{rXuxy7N&#ud$R2^}ke#1tzW=N1Pcn=A)&d zw{qvL*^yR6zXsZmcN_0%;Je`3JGnD2=}PLU z@M5mFW#aXBiNf!cep&CI(}r4KL1VUysHvPkWx~9z48v&=>1&->`XIA+LW~kO254z| zPjl8PXKNA|U_asgEzObX$G%D2YAM=3piu*z3B~O^Ez&4!%f^t7TOagVUT)WpHz15| zZ0n-lmKRO7249q587ZSI0Iuu4NS}ub_H^Fj_G^Vy=5;KkH?9Q?%ouZhx6^gD?>~0Q zKhY-PIiQYqP0Cj~i(CsKVn%(e{B;$e)tC)aPyBv@>f&7(j^zE+I@JK0ZE;vAu`5m9 z#vT(bgEAHIbiJQwK`~iZHmAAP5k2SpWK9I|(TuzY53>y>JE*Fyn*F8*jWCE3d9wihGuZ$H9Mnb9G& zEg&6q&G4<(hZqkvdeA;k*|(|Md9kb#Kb94pbS8wjvvE+(Sf+ZXB!|+rv@6k0lAGdC zV}8rzFj=%ZFugKZpMBH{g}V+mAn-*MbH#?9{S_Nld$_Hy3<% z5nFqqVF+Xkt&>`%X`%<@AQr+sPY0|8LF0m40WKUo@A7#6{MUc~{ja|tdnc^J)<$pH z{@u6huj^S!&vFdZ#E?hL>X7SkhCFPJA@|2+4*40}7M2h4*rP+fM^pD`BYi(|eSZIl z=U>;|LX1A-qeFM&<7-DA4HH^x1NL z1pbhFyiOmF9rB=K8FCwa%|~nFM}rNycYZ%YbwfV*`X0h)bsf@;eBa2UTK=)-$I|9z zTSe}C9``CpO zkyFa;t#9PBajWYJdEfZPrC=#Afw#&kS|Alz*mMG;}HJySL>monB?)| zJ&L?TzMt(pJk3~Q%9WpAW9h}u&yerl z-@$pro5ATZIM1H(=X<>T84cmbTwbyA&QUwV++TdYS61qMaJ$`=Jlyn<8!N5z@pH(a z91lJ&JMuUY$IGKYt~lr7^U)1@EL?wIawBcL?PGt2+=sRr^5MSoa!6j>YYnJIh!>i) z#H$}Ho3X`*G8?k0?mC>9{ZM%^?_F&*yt$ajSoVEPAaZQN9)OsT$E&p{en%YgXy(58 z^*iKJTo|d0TSO6SvKgMbB@X3qy``q(m$GkV7Gs zsK6caK5kcTb-?(13;8(t{XRD7Bkz9x*n*EdY%9b*zJ7*BhkPL))m_n%cP{swv>~^< zxhqDa?jyR-BR_*#o)hM3zvL0?d*!B%NV!H+^;PEE?Y=`AX~B@AEqDz`PdwdNmP0;I z2csevU%vVIflBF@*Sk>>rSbje07pYr?tY-K%EiY$9`^b3P#NRv8w$0Jl~tap9wtbS zDUZ*$f`0B}r3EZ`Lms>4k&jFL-TD2qQA2*LBt9SK=#Yno8^8DX82-n&K09F>Op3@m z^40kL*^!TN{0!OC=t6u{4X4#Ohlf1c(G4?jXtZ(r7>&W&i`+}fTgcVZsy5|KdFT7} z;QMiUmOX-9@i-^n-#YgXi)%D(Kl%N+Az#(gFPg}2gV>tuT}Q}A=Xv|a=gj^#JoIQ9 ze|uW)W9yWH$=1gf;`2vggnY#63WfwudwSF#7vg^N^O1uKTOnpMYU7a$KkvO`TipCU zR!4kJ4|{)pU3`73m?r1g_$B-`OqI&*LJhSzmA{|$Kb*{Xobsr-A)g0tQ(B0lt8;vP zHs*R^!oGZ`UoTgdf!`H;uuA9=gHUBl42V={*Aja?O6p#-zpkhg=E?b>v0 zV{DJH&xdR5V4h=c+c-^6=SGXN#nf$Dt6?3FsnxozH#=vfNyA#+Si0MdbmhTJcH-(nv=2GHJ=H*{urCgb}xMhg!emco=!DkS~spz503M^ERxaF;B5YAM+*b_2x2q?1+uu@8h(5POE{jjfp!C zPOt6uarit`$|Lv9&+przyF+dpL$!y(zd|F%Nb&J~=>u{$-lra6Na3YCORMqAaS#r7 zvgM~c?q>D3u^}F%c5x23@QEJf*%k3t_fX~c2CE=*r_5sXZW?ArE`64$qqFU1PgF@_Fp9LH5W!?7JE;njvq)NZ7`yenvajt{kWG z0Fn(w{1|{EUOD7#_z~M!%R?Tm=P?lPij1e;qg-Ohp$@i=kul_g+&iC_j*B`rU>zD0 z54H}ktws<{$A1sGZFsy#3`c-GbgudSR(HSuJpTSDbic0Hbhgj2koHl~jCDNp@_y-I z9vpIeE|nuld4`tg(_w&fu!O5~ZaGS1i=8a|Q?eAE`d-ZAui~8C&9lR|z z!G7}j$juD-s6;OAp=j&y{qZk%#DO7=P(o$Tg&Q!?-&^iME+3(WA)f}@D!)Gs&W(gZ z{QlN|yxG%dW3VIiF!p$E0{8rRvFJ<7-*2vj>h)O}Y^rgzp6<~zbjTi)6Mqjmoc-Yg z7Ie(D)w$4yii)v+*5Mr*EDV6L%1<<07`Bgm$Ci9FVqu53c>7Zy?~DSQAzvMNAO}L< zR$dnET{e8@rnWAPi9d%|@yN9pblTDGr@na)1#u5EAmn(u7U_?eoAGL`7`VLIvaJ}n ze168q*R6PPZk3uJb5QN|b|Gw>YvuaqzyAAw{Oj-Y8ZZ7lVj0^XoYzbo+2nx^Unk@k zZ-c=k<^w^JRch3DMYy@stWF4t>=^f(z(}zDo{8O(7~x5?T!JF$Q>=n+=0AX-Oop>J zVGN_3R5$yZ$=eKDlS_gygpj!PtR@jkGMtkZu=S}_6cTWoxsYa?vY)lcQczvIt`yP0 zxh?vkPDMgKvY7(R&4mAMcSth58LYQumSrN+8(oRwJtDT zVW$AED1nd6{h8gp%Y;)}w|Bm273(xjV4W`uK3FYSL||-qj_*JA=|9iL?Syk42dT*i z+rBbWwx8FM&7rxc^`>NpT$uO50$|ct3RuS3vQd|!X(LnV(95xg+V%a%13gc859{*L zb|s?0Kcv6n<`%q>ak4;-!L;PoC3k-RaglM=Js4(MxTSlh4@Rqa17}@>r-`5=X7#3Uqs%IYscqo>+g0o`KvOts2V(t2?GG@=QpF{^dr_J{t*B&>! zgAQZ-!EV+bxNR*SPcTB<`dFZf#ok#QrpNam*W+#O$6c;xn>A^a%v&s)oEe-|2{F6h zHLv7s`yR=l=X|ilin2i3$BB0U z?Oi8Iz670Kk&^2S$W^q%oPZ<@Ud+6Q2z-EKTzYG0! zEtsSdjrKKG;UAuECHuWWu?sCrdG8`>i5k=FD#|7ia1`G{sn8$^9*dVy$%RS95Fky8 zckgq)(!ON}wPLp>RbERfiIPN6+k2wZWQ&KcF#JqxcClmW4*CT0K%3Umxiuz~hO|(= z#pq=V;@|>kS@uChaC_o7cG_Cpj`O`^C2P}xy<19Tt5!g2LgtcgtWD#?(r{QL(Q06-I>){$?rWAS;0D&@ z)jH>1@m;s1fG)B|fD)4{vE>>s!trc{3ToO0An?(2%zBnWjGDXvXBNH%zVs(|b%n{| zVwe7utO1W2k@^-`laZQ+j} zre(bv}tY$(qCb@(cWF)@#8 zIS`VXih4!8n$QKtBRXuE*xT*BwX7iWs_jceV55{)A`wC(QW)Qw+gy#);};hjsuB<5nMl|wWC{xN&}t*-k0pOV}+ zGKi)5BrAzf%`?|X>?Vso^=qLRk_w)ZQcI{gv+F`cBGHsU_bo{_4c_1&Y|HrSTH1&+ zu7Em~Vj7z#y-^M-Z*;hBK2z;7+}#e;ezFv}wk3|o^2it+y5I$0mni2gqG30D{x~P$ z$|Z&^_@E?wU$xf0~zb3iOCArfk^k1m?h36+Jb*&-c@M_?VYUCF7x@+q^LqD`jolGS{c zlG_q|VJ+GTkL_)lD*ehV9f`MmLsLd;2=o}u!w^Y6l%lcgsAxLq2#CTqq+mdR$4^#( zwQf7#Im=2Z1qc0}ye%T;RcvvM9NSn~M{e#IV@oY~a0AVlXnrxV;d~VTP9+4Jh{hzV z-v#qECe*H0GvcOgi|bO71`1bk7Iu`R^R(D9>3zk9XG8d33^7z7 z=NGdJ&SxG_5*bj2$DlHq{(^H_(i7CZe1jYv=Q2FmS|SS(J|&yn88xOQwvlkm!D^-5 zG$lSS?~aUB%gQ7$gBy=_`U%~NRxkF1BoVN|#5 bbnyAlN6i6C6-q6&#r_p`r@_g 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≦?3P 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%0As(vY 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 CFz - 4.0.0 - tdt4140-gr1864.app.ui - - - tdt4140-gr1864 - tdt4140-gr1864 - 0.0.1-SNAPSHOT - - - - - gitlab-ci - - - gitlab-ci - true - - - - - - org.testfx - openjfx-monocle - 8u76-b04 - test - - - - - - - - eu.hansolo.fx - charts - 1.0.5 - system - ${project.basedir}/libs/charts-1.0.5.jar - - - - tdt4140-gr1864 - tdt4140-gr1864.app.core - 0.0.1-SNAPSHOT - - - - junit - junit - 4.12 - test - - - org.testfx - testfx-core - 4.0.10-alpha - test - - - org.testfx - testfx-junit - 4.0.10-alpha - test - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.0 - - - pre-unit-test - - prepare-agent - - - - post-unit-test - test - - report - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore deleted file mode 100644 index fb79d71..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/ListViewSample.java diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java deleted file mode 100644 index 569d6d8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java +++ /dev/null @@ -1,13 +0,0 @@ -package tdt4140.gr1864.app.ui; - -/** - * Interface implemented by classes listening to App. - */ -public interface AppListener { - /** - * Runs when the application is closed. - * @throws Exception - */ - public void appClosed() throws Exception; -} - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java deleted file mode 100644 index 72dd983..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java +++ /dev/null @@ -1,54 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode; - - -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationElement; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationInterface; - -/** - * - * @author Hakon Strandlie haakstr@stud.ntnu.no - * @version 1.0 - * @since 1.0 - * - */ - -public class Mode { - - /** - * The string that is shown in the Mode-menu that the user can select from - */ - private String name; - - /** - * The list of the VisualizationElements that is shown in the Visualization Area - * for this mode Implemented as List to get an implicit ordering of elements - */ - private VisualizationInterface visualizationElement; - - /** - * - * @param name The name shown in Mode-menu - * @param visualizationElement The VisualizationElement - */ - public Mode(String name, VisualizationInterface visualizationElement) { - this.name = name; - this.visualizationElement = visualizationElement; - } - - public String getName() { - return this.name; - } - - /** - * Gets the visualizationElement that is contained in this Mode - * @return VisualizationInterface (VisualizationElement implements this) - */ - public VisualizationInterface getVisualizationElement() { - return this.visualizationElement; - } - - // Allow tables to be updated - public void setVisualizationElement(VisualizationElement element) { - this.visualizationElement = element; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java deleted file mode 100644 index a6d5afa..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java +++ /dev/null @@ -1,51 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.Option; - -/** - * - * @author Hakon Strandlie - * Not yet used in the app. Exists for future. - * - */ - -public class CheckBoxOption extends InteractionOption { - - /** - * The state variable. Is this CheckBox checked? Defaults to false. - */ - private boolean isEnabled; - - /** - * @param name The name of this CheckBoxOption. Is shown in the UI - * @param enableStartState The startState of this button - */ - public CheckBoxOption(String name, boolean enableStartState) { - super(name); - this.isEnabled = enableStartState; - } - - - /** - * The constructor for when startState is not specified. Defaults to false - * @param name The name for this CheckBox. Is shown in the UI - */ - public CheckBoxOption(String name) { - super(name); - this.isEnabled = false; - } - - /** - * @return The state of this CheckBox - */ - public boolean isEnabled() { - return this.isEnabled; - } - - /** - * @param isEnabled Changes the state of this button - */ - public void setEnabled(boolean isEnabled) { - this.isEnabled = isEnabled; - } - - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java deleted file mode 100644 index 5ca9df1..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java +++ /dev/null @@ -1,110 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.Option; - -import java.util.ArrayList; -import java.util.List; - -import javafx.beans.property.Property; -import javafx.beans.property.SimpleStringProperty; - - -/** - * - * @author Hakon Strandlie - * Not yet used. Exists for future - * - */ -public class ComboBoxOption extends InteractionOption { - - /** - * A list of the option that can be chosen from within this ComboBoxOption - */ - private List> options; - - /** - * When initialied without options we just create an empty optionslist - * @param name The name of this ComboBox - */ - public ComboBoxOption(String name) { - super(name); - this.options = new ArrayList>(); - } - - /** - * Initilizer with an existing list of options. Fails if options is null - * @param name The name of this ComboBox - * @param options The list of options. Cannot be null - */ - public ComboBoxOption(String name, ArrayList> options) { - super(name); - if (options.equals(null)) { - throw new IllegalArgumentException("The ComboBoxOption object cannot be initialized with null-list of objects. Use the ComboBoxOption(String name) instead."); - } - this.options = options; - - } - - /** - * A private method to see if the the list has an option. Based on .equals() comparison - * @param p1 The option we want to check - * @return boolean. True if the ComboBox has the option - */ - private boolean hasOption(Property p1) { - for (Property option : options) { - if (p1.equals(option)) { - return true; - } - } - return false; - } - - - /** - * Find if a list has an option from the name of the option only - * @param optionName The string of the option wanted - * @return Boolean - */ - private boolean hasOption(String optionName) { - return hasOption(new SimpleStringProperty(optionName)); - } - - /** - * Add an option that does not already exist - * @param option The option that is to be added - */ - public void addOption(String option) { - Property newOption = new SimpleStringProperty(option); - if (! hasOption(newOption)) { - options.add(newOption); - } - } - - /** - * Gets an option from the name of the option. - * @param option The name of the option we want to get - * @return The option if it exists, or null if not - */ - public Property getOption(String option) { - Property newOption = new SimpleStringProperty(option); - - for (Property listMember : options) { - if (listMember.equals(newOption)) { - return listMember; - } - } - return null; - } - - /** - * Removes an option based on Property Objects - * @param option The property object to be removed. - */ - public void removeOption(Property option) { - if (hasOption(option)) { - options.remove(option); - } - } - - - - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java deleted file mode 100644 index 69dae57..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java +++ /dev/null @@ -1,39 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.Option; - -public abstract class InteractionOption { - /** - * Not yet used. Exists for future. - */ - - /** - * The name of this InteractionOption. Will be displayed in the UI - */ - private String name; - - /** - * @param name The name of this option - */ - public InteractionOption(String name) { - this.setName(name); - } - - /** - * @return The name of this option - */ - public String getName() { - return this.name; - } - - /** - * Used to set the name of the option after object generation - * @param name The new name - */ - public void setName(String name) { - if (name.equals(null)) { - throw new IllegalArgumentException("Cannot set the name of an InteractionOption to null"); - } - this.name = name; - - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java deleted file mode 100644 index c704256..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java +++ /dev/null @@ -1,191 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; -import javafx.scene.control.TableView; -import javafx.scene.image.ImageView; -import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; - -public class DemographicsTableRow implements TableRow { - - private StringProperty customerId; - private StringProperty firstName; - private StringProperty lastName; - private StringProperty address; - private StringProperty zip; - private StringProperty gender; - private StringProperty age; - private StringProperty numOfPersonInHouse; - - private int size; - - public DemographicsTableRow(String customerId, String firstName, String lastName, String address, String zip, String gender, String age, String numOfPersonInHouse) { - setCustomerId(customerId); - setFirstName(firstName); - setLastName(lastName); - setAddress(address); - setZip(zip); - setGender(gender); - setAge(age); - setNumOfPersonInHouse(numOfPersonInHouse); - this.size = 8; - } - - public DemographicsTableRow(int customerId, String firstName, String lastName, String address, int zip, String gender, int age, int numOfPersonInHouse) { - setCustomerId(customerId); - setFirstName(firstName); - setLastName(lastName); - setAddress(address); - setZip(zip); - setGender(gender); - setAge(age); - setNumOfPersonInHouse(numOfPersonInHouse); - } - - - - @Override - public int getSize() { - return this.size; - } - - public StringProperty customerIdProperty() { - if (this.customerId == null) { - this.customerId = new SimpleStringProperty(this, "customerId"); - } - return this.customerId; - } - - public void setCustomerId(String customerId) { - this.customerIdProperty().setValue(customerId); - } - - public void setCustomerId(int customerId) { - setCustomerId(Integer.toString(customerId)); - } - - public String getCustomerId() { - return customerIdProperty().getValue(); - } - - - public StringProperty firstNameProperty() { - if (this.firstName == null) { - this.firstName = new SimpleStringProperty(this, "firstName"); - } - return this.firstName; - } - - public void setFirstName(String firstName) { - this.firstNameProperty().setValue(firstName); - } - - public String getFirstName() { - return this.firstNameProperty().getValue(); - } - - - public StringProperty lastNameProperty() { - if (this.lastName == null) { - this.lastName = new SimpleStringProperty(this, "lastName"); - } - return this.lastName; - } - - public void setLastName(String lastName) { - this.lastNameProperty().setValue(lastName); - } - - public String getLastName() { - return this.lastNameProperty().getValue(); - } - - - public StringProperty addressProperty() { - if (this.address == null) { - this.address = new SimpleStringProperty(this, "address"); - } - return this.address; - } - - public void setAddress(String address) { - this.addressProperty().setValue(address); - } - - public String getAddress() { - return this.addressProperty().getValue(); - } - - - public StringProperty zipProperty() { - if (this.zip == null) { - this.zip = new SimpleStringProperty(this, "zip"); - } - return this.zip; - } - - public void setZip(String zip) { - this.zipProperty().setValue(zip); - } - - public void setZip(int zip) { - setZip(Integer.toString(zip)); - } - - public String getZip() { - return this.zipProperty().getValue(); - } - - public StringProperty genderProperty() { - if (this.gender == null) { - this.gender = new SimpleStringProperty(this, "gender"); - } - return this.gender; - } - - public void setGender(String gender) { - this.genderProperty().setValue(gender); - } - - public String getGender() { - return this.genderProperty().getValue(); - } - - public StringProperty ageProperty() { - if (this.age == null) { - this.age = new SimpleStringProperty(this, "age"); - } - return this.age; - } - - public void setAge(int age) { - setAge(Integer.toString(age)); - } - - public void setAge(String age) { - this.ageProperty().setValue(age); - } - - public String getAge() { - return this.ageProperty().getValue(); - } - - public StringProperty numOfPersonInHouseProperty() { - if (this.numOfPersonInHouse == null) { - this.numOfPersonInHouse = new SimpleStringProperty(this, "numOfPersonInHouse"); - } - return this.numOfPersonInHouse; - } - - public void setNumOfPersonInHouse(int numOfPersonInHouse) { - setNumOfPersonInHouse(Integer.toString(numOfPersonInHouse)); - } - - public void setNumOfPersonInHouse(String numOfPersonInHouse) { - this.numOfPersonInHouseProperty().setValue(numOfPersonInHouse); - } - - public String getNumOfPersonInHouse() { - return this.numOfPersonInHouseProperty().getValue(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java deleted file mode 100644 index 1aa8668..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java +++ /dev/null @@ -1,70 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - -public class InStockTableRow implements TableRow { - - private StringProperty productName; - private StringProperty numberInStock; - - /** - * The size of this TableRow - */ - private int size; - - public InStockTableRow(String productName, String numberInStock) { - setProductName(productName); - setNumberInStock(numberInStock); - - this.size = 2; - } - - @Override - public int getSize() { - return this.size; - } - - - /** - * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell - * @return StringProperty The string property for the Product Name - */ - public StringProperty productNameProperty() { - if (this.productName == null) { - this.productName = new SimpleStringProperty(this, "productName"); - } - return this.productName; - } - - /** - * Sets the productName - * @param name String The new product name - */ - public void setProductName(String name) { - this.productNameProperty().setValue(name); - } - - /** - * Gets the productName - * @return String the current Product Name - */ - public String getProductName() { - return productNameProperty().getValue(); - } - - public StringProperty numberInStockProperty() { - if (this.numberInStock == null) { - this.numberInStock = new SimpleStringProperty(this, "numberInStock"); - } - return this.numberInStock; - } - - public void setNumberInStock(String number) { - this.numberInStockProperty().setValue(number); - } - - public String getNumberInStock() { - return numberInStockProperty().getValue(); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java deleted file mode 100644 index 0b0dabe..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java +++ /dev/null @@ -1,158 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - - -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - -/** - * The class that makes up the content in the cells of a table. Because of the JavaFX-implmentation this - * needs to have all the variables and corresponding methods for all possible columns in any table. - * - * In furture versions this model needs updating. It doesnt allow modes with same number of columns - * @author Hakon Strandlie - * - */ -public class MostPickedUpTableRow implements TableRow { - - private StringProperty productName; - private StringProperty numberOfPickUp; - private StringProperty numberOfPutDown; - private StringProperty numberOfPurchases; - - private int size; - - /** - * The constructor for the mostPickedUpMode - * @param productName The product name of the product - * @param numberOfPickUp The number of times it was picked up - * @param numberOfPutDownThe number of times it was put down - * @param numberOfPurchases The number of purchases (the sum of the two above) - */ - public MostPickedUpTableRow(String productName, String numberOfPickUp, String numberOfPutDown, String numberOfPurchases) { - setProductName(productName); - setNumberOfPickUp(numberOfPickUp); - setNumberOfPutDown(numberOfPutDown); - setNumberOfPurchases(numberOfPurchases); - - this.size = 4; - } - - /** - * The constructor for the mostPickedUpMode with numberOfPurchases calculated automatically - * @param productName The product name of the product - * @param numberOfPickUp The number of times it was picked up - * @param numberOfPutDownThe number of times it was put down - */ - public MostPickedUpTableRow(String productName, String numberOfPickUp, String numberOfPutDown) { - setProductName(productName); - setNumberOfPickUp(numberOfPickUp); - setNumberOfPutDown(numberOfPutDown); - - this.size = 4; - } - - - /** - * Gets the number of columns in this Aggregate - * @return - */ - public int getSize() { - return this.size; - - } - - // Common propertyMethods - - /** - * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell - * @return StringProperty The string property for the Product Name - */ - public StringProperty productNameProperty() { - if (this.productName == null) { - this.productName = new SimpleStringProperty(this, "productName"); - } - return this.productName; - } - - /** - * Sets the productName - * @param name String The new product name - */ - public void setProductName(String name) { - this.productNameProperty().setValue(name); - } - - /** - * Gets the productName - * @return String the current Product Name - */ - public String getProductName() { - return productNameProperty().getValue(); - } - - - // Propertymethods for mostPickedUpMode - // Does exactly the same as for ProductName above, and is not documented for that reason - - public StringProperty numberOfPickUpProperty() { - if (numberOfPickUp == null) { - numberOfPickUp = new SimpleStringProperty(this, "numberOfPickUp"); - numberOfPickUp.setValue("0"); - } - return numberOfPickUp; - } - - public void setNumberOfPickUp(String numberOfPickUp) { - this.numberOfPickUpProperty().setValue(numberOfPickUp); - calculateNumberOfPurchases(); - } - - public String getNumberOfPickUp() { - return numberOfPickUpProperty().getValue(); - } - - - public StringProperty numberOfPutDownProperty() { - if (numberOfPutDown == null) { - numberOfPutDown = new SimpleStringProperty(this, "numberOfPutDown"); - numberOfPutDown.setValue("0"); - } - return numberOfPutDown; - } - - public void setNumberOfPutDown(String numberOfPutDown) { - this.numberOfPutDownProperty().setValue(numberOfPutDown); - calculateNumberOfPurchases(); - } - - public String getNumberOfPutDown() { - return numberOfPutDownProperty().getValue(); - } - - - public StringProperty numberOfPurchasesProperty() { - if (numberOfPurchases == null) { - numberOfPurchases = new SimpleStringProperty(this, "numberOfPurchases"); - numberOfPurchases.setValue("0"); - } - return numberOfPurchases; - } - - private void setNumberOfPurchases(String number) { - this.numberOfPurchasesProperty().setValue(number); - } - - public String getNumberOfPurchases() { - return numberOfPurchasesProperty().getValue(); - } - - private void calculateNumberOfPurchases() { - int numberOfPickUps = Integer.parseInt(this.getNumberOfPickUp()); - int numberOfPutDowns = Integer.parseInt(this.getNumberOfPutDown()); - int numberOfPurchases = numberOfPickUps - numberOfPutDowns; - if (numberOfPurchases < 0) { - throw new IllegalStateException("Cannot have higher number of putDowns than pickUps"); - } - this.setNumberOfPurchases(Integer.toString(numberOfPurchases)); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java deleted file mode 100644 index b8f0360..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java +++ /dev/null @@ -1,67 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - -/** - * The table row for OnShelves mode, based on InStockTableRow - * - * @author stianbm - */ -public class OnShelvesTableRow implements TableRow{ - - private StringProperty productName; - private StringProperty numberOnShelves; - - private int size; - - - public OnShelvesTableRow(String productName, String numberOnShelves) { - setProductName(productName); - setNumberOnShelves(numberOnShelves); - - this.size = 2; - } - - - @Override - public int getSize() { - return this.size; - } - - - public StringProperty productNameProperty() { - if (this.productName == null) { - this.productName = new SimpleStringProperty(this, "productName"); - } - return this.productName; - } - - - public void setProductName(String name) { - this.productNameProperty().setValue(name); - } - - - public String getProductName() { - return productNameProperty().getValue(); - } - - - public StringProperty numberOnShelvesProperty() { - if (this.numberOnShelves == null) { - this.numberOnShelves = new SimpleStringProperty(this, "numberOnShelves"); - } - return this.numberOnShelves; - } - - - public void setNumberOnShelves(String number) { - this.numberOnShelvesProperty().setValue(number); - } - - - public String getNumberOnShelves() { - return numberOnShelvesProperty().getValue(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java deleted file mode 100644 index db34ccc..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java +++ /dev/null @@ -1,299 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - - -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - -/** - * The class that makes up the content in the cells of a table. Because of the JavaFX-implmentation this - * needs to have all the variables and corresponding methods for all possible columns in any table. - * - * Aggregates with two values now take a keyword in the constructor to set the right values. - * - * @author HÃ¥kon Strandlie - * - */ -public class Row { - - // Common variables for mostPickedUpMode and stockMode - private StringProperty productName; - - // The variables for MostPickedUpMode - private StringProperty numberOfPickUp; - private StringProperty numberOfPutDown; - private StringProperty numberOfPurchases; - - // The variables for stockMode - private StringProperty numberInStock; - - // Variables for visualizationMode - private StringProperty customerId; - private StringProperty firstName; - private StringProperty lastName; - private StringProperty address; - private StringProperty zipCode; - - // The variables for onShelvesMode - private StringProperty numberOnShelves; - - /** - * The size of this Aggregate - */ - private int size; - - - /** - * The constructor for the mostPickedUpMode - * @param productName The product name of the product - * @param numberOfPickUp The number of times it was picked up - * @param numberOfPutDown The number of times it was put down - * @param numberOfPurchases The number of purchases (the sum of the two above) - */ - public Row(String productName, String numberOfPickUp, String numberOfPutDown, String numberOfPurchases) { - setProductName(productName); - setNumberOfPickUp(numberOfPickUp); - setNumberOfPutDown(numberOfPutDown); - setNumberOfPurchases(numberOfPurchases); - - this.size = 4; - } - - /** - * The constructor for modes with two columns - * @param productName - * @param numberInStock - * @param type the mode type - */ - public Row(String productName, String amount, String type) { - switch (type) { - - case "stock": - setProductName(productName); - setNumberInStock(amount); - break; - - case "onShelves": - setProductName(productName); - setNumberOnShelves(amount); - break; - } - - this.size = 2; - } - - /** - * The constructor for visualizationMode - * @param customerId - * @param firstName - * @param lastName - * @param address - * @param zip - */ - public Row(String customerId, String firstName, String lastName, String address, String zip) { - setCustomerId(customerId); - setFirstName(firstName); - setLastName(lastName); - setAddress(address); - setZipCode(zip); - - this.size = 5; - } - - /** - * Gets the number of columns in this Aggregate - * @return - */ - public int getSize() { - return this.size; - - } - - // Common propertyMethods - - /** - * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell - * @return StringProperty The string property for the Product Name - */ - public StringProperty productNameProperty() { - if (productName == null) { - productName = new SimpleStringProperty(this, "productName"); - } - return productName; - } - - /** - * Sets the productName - * @param name String The new product name - */ - public void setProductName(String name) { - this.productNameProperty().setValue(name); - } - - /** - * Gets the productName - * @return String the current Product Name - */ - public String getProductName() { - return productNameProperty().getValue(); - } - - - // Propertymethods for mostPickedUpMode - // Does exactly the same as for ProductName above, and is not documented for that reason - - public StringProperty numberOfPickUpProperty() { - if (numberOfPickUp == null) { - numberOfPickUp = new SimpleStringProperty(this, "numberOfPickUp"); - } - return numberOfPickUp; - } - - public void setNumberOfPickUp(String numberOfPickUp) { - this.numberOfPickUpProperty().setValue(numberOfPickUp); - } - - public String getNumberOfPickUp() { - return numberOfPickUpProperty().getValue(); - } - - - public StringProperty numberOfPutDownProperty() { - if (numberOfPutDown == null) { - numberOfPutDown = new SimpleStringProperty(this, "numberOfPutDown"); - } - return numberOfPutDown; - } - - public void setNumberOfPutDown(String numberOfPutDown) { - this.numberOfPutDownProperty().setValue(numberOfPutDown); - } - - public String getNumberOfPutDown() { - return numberOfPutDownProperty().getValue(); - } - - - public StringProperty numberOfPurchasesProperty() { - if (numberOfPurchases == null) { - numberOfPurchases = new SimpleStringProperty(this, "numberOfPurchases"); - } - return numberOfPurchases; - } - - public void setNumberOfPurchases(String number) { - this.numberOfPurchasesProperty().setValue(number); - } - - public String getNumberOfPurchases() { - return numberOfPurchasesProperty().getValue(); - } - - // Propertymethods for inStockMode - - public StringProperty numberInStockProperty() { - if (numberInStock == null) { - numberInStock = new SimpleStringProperty(this, "numberInStock"); - } - return numberInStock; - } - - public void setNumberInStock(String number) { - this.numberInStockProperty().setValue(number); - } - - public String getNumberInStock() { - return numberInStockProperty().getValue(); - } - - // Property methods for onShelves - - public StringProperty numberOnShelvesProperty() { - if (numberOnShelves == null) { - numberOnShelves = new SimpleStringProperty(this, "numberOnShelves"); - } - return numberOnShelves; - } - - public void setNumberOnShelves(String number) { - this.numberOnShelvesProperty().setValue(number); - } - - public String getNumberOnShelves() { - return numberOnShelvesProperty().getValue(); - } - - public StringProperty customerIdProperty() { - if (customerId == null) { - customerId = new SimpleStringProperty(this, "customerId"); - } - return customerId; - } - - public void setCustomerId(String customerId) { - this.customerIdProperty().setValue(customerId); - } - - public String getCustomerId() { - return customerIdProperty().getValue(); - } - - public StringProperty firstNameProperty() { - if (firstName == null) { - firstName = new SimpleStringProperty(this, "firstName"); - } - return firstName; - } - - public void setFirstName(String name) { - this.firstNameProperty().setValue(name); - } - - public String getFirstName() { - return this.firstNameProperty().getValue(); - } - - public StringProperty lastNameProperty() { - if (lastName == null) { - lastName = new SimpleStringProperty(this, "lastName"); - } - return lastName; - } - - public void setLastName(String name) { - this.lastNameProperty().setValue(name); - } - - public String getLastName() { - return this.lastNameProperty().getValue(); - } - - public StringProperty addressProperty() { - if (address == null) { - address = new SimpleStringProperty(this, "address"); - } - return address; - } - - public void setAddress(String address) { - this.addressProperty().setValue(address); - } - - public String getAddress() { - return this.addressProperty().getValue(); - } - - public StringProperty zipCodeProperty() { - if (zipCode == null) { - zipCode = new SimpleStringProperty(this, "zipCode"); - } - return zipCode; - } - - public void setZipCode(String zipCode) { - this.zipCodeProperty().setValue(zipCode); - } - - public String getZipCode() { - return this.zipCodeProperty().getValue(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java deleted file mode 100644 index ddf770e..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java +++ /dev/null @@ -1,14 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -/** - * The type - * @author hstrandlie - * - */ -public interface TableRow { - - - public int getSize(); - - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java deleted file mode 100644 index 23e3a4a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java +++ /dev/null @@ -1,47 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import java.util.List; - -import tdt4140.gr1864.app.ui.Mode.Option.InteractionOption; - -public abstract class VisualizationElement implements VisualizationInterface { - /** - * Originally thought as a superclass of all the visualizationElements. This proved a wrong assumption, and it is not used now. - */ - - private String name; - private boolean isActive; - private List options; - - public VisualizationElement(String name) { - if (name.equals(null)) { - throw new IllegalArgumentException("The name for this VisualizationElement cannot be null"); - } - this.name = name; - this.isActive = false; - } - - public VisualizationElement(String name, boolean isActive) { - this(name); - this.isActive = isActive; - } - - @Override - public String getName() { - if (! name.equals(null)) { - return name; - } - return null; - } - - @Override - public boolean isActive() { - return this.isActive; - } - - @Override - public void setActive(boolean isActive) { - this.isActive = isActive; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java deleted file mode 100644 index 7cbcf58..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java +++ /dev/null @@ -1,107 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import javafx.scene.control.TableView; -import javafx.scene.image.ImageView; - -import java.util.ArrayList; -import java.util.List; - -import eu.hansolo.fx.charts.heatmap.HeatMap; -import eu.hansolo.fx.charts.tools.Point; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; - -/** - * This is the model-layer of the HeatMap. It is contained in a Mode, and has - * methods for showing the resulting image to the ImageView - * @author HÃ¥kon Strandlie - * - */ -public class VisualizationHeatMap extends VisualizationElement { - - /** - * The heatmap generated from the data - */ - private HeatMap map; - - /** - * THe constructor when there already is a list of ShoppingTrips - * @param name The name of this VisualizationHeatmap - * @param shoppingTripList The list of shoppingtrips that this heatmap should be generated from - */ - public VisualizationHeatMap(String name, List shoppingTripList) { - super(name); - this.map = new HeatMap(180, 100); - map.addSpots(getPoints(shoppingTripList)); - } - - public VisualizationHeatMap(String name) { - super(name); - this.map = new HeatMap(180, 100); - } - - /** - * Set the points to the heatmap, after validating - */ - @Override - public void setData(Object object) { - List shoppingTripList = objectIsList(object); - map.clearHeatMap(); - map.addSpots(getPoints(shoppingTripList)); - } - - /** - * Get the heatmap - */ - @Override - public HeatMap getData() { - // TODO Auto-generated method stub - return this.map; - } - /** - * Load the data from this Heatmap into the imageView. The tableView is passed - * to conform to the infacemethod, but never used. - */ - @Override - public void loadData(TableView tableView, ImageView imageView) { - imageView.setImage(this.map.getImage()); - } - - /** - * Called when this heatmap is set as the active element in the VisualizationView. - * Shows the ImageView and hides the tableView - */ - @Override - public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { - vvc.imageViewSetDisable(false); - vvc.tableViewSetDisable(true); - loadData(tableView, imageView); - - } - - /** - * Gets the points from a list of shoppingtrips. Used when generating the heatmap - * @param shoppingTripList - * @return List - */ - private List getPoints(List shoppingTripList) { - List points = new ArrayList<>(); - for (ShoppingTrip shoppingTrip : shoppingTripList) { - for (Coordinate coordinate : shoppingTrip.getCoordinates()) { - points.add(new Point(coordinate.getX(), coordinate.getY())); - } - } - return points; - } - - /** - * Validation method. Throws Exception if object is not List - * @param object An object that should be an instance of List trip. - * @return List - */ - private List objectIsList(Object object) { - return (List) object; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java deleted file mode 100644 index 76b45b4..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java +++ /dev/null @@ -1,47 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import java.util.List; - -import javafx.scene.control.TableView; -import javafx.scene.image.ImageView; -import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; -/** - * - * @author anders - * An interface to be implemented by all visualization objects - * Should contain all basic methods used by a controller to - * communicate with a visualization object - */ -public interface VisualizationInterface { - - String getName(); - - boolean isActive(); - - void setActive(boolean isActive); - - void setData(Object object); - - Object getData(); - - /** - * Used to load data from the VisualizationElement instance and into - * the appropriate view - * @param tableView The tabelView in the current scene - * @param imageView The imageView in the current scene - */ - void loadData(TableView tableView, ImageView imageView); - - /** - * Is called when the VisualizationViewController sets the instance as - * an active element, and loads the data into the appropriate views - * @param tableView The TableView in the current scene - * @param imageView The ImageView in the current scene - */ - void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView); - - /* - * TODO: Add more methods - */ - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java deleted file mode 100644 index d9c45c9..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java +++ /dev/null @@ -1,85 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import java.util.Date; -import java.util.List; - -import javafx.scene.canvas.Canvas; -import javafx.scene.canvas.GraphicsContext; -import javafx.scene.control.TableView; -import javafx.scene.image.ImageView; -import javafx.scene.paint.Color; -import javafx.scene.transform.Affine; -import javafx.scene.transform.Transform; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; - -public class VisualizationSimplePlot extends VisualizationElement { - private Canvas canvas; - private GraphicsContext ctx; - - private static int ARROW_SIZE = 2; - - public VisualizationSimplePlot(String name, List shoppingTrips) { - super(name); - - canvas = new Canvas(180, 100); - ctx = canvas.getGraphicsContext2D(); - - ctx.setStroke(Color.BLACK); - ctx.setStroke(Color.BLACK); - - setData(shoppingTrips); - } - - public VisualizationSimplePlot(String name) { - super(name); - canvas = new Canvas(180, 100); - ctx = canvas.getGraphicsContext2D(); - - ctx.setStroke(Color.BLACK); - ctx.setStroke(Color.BLACK); - } - - private void drawArrow(int x1, int y1, int x2, int y2) { - double dx = x2 - x1, dy = y2 - y1; - double angle = Math.atan2(dy, dx); - int len = (int) Math.sqrt(dx * dx + dy * dy); - Transform transform = Transform.translate(x1, y1); - transform = transform.createConcatenation(Transform.rotate(Math.toDegrees(angle), 0, 0)); - ctx.setTransform(new Affine(transform)); - ctx.strokeLine(0, 0, len, 0); - ctx.fillPolygon(new double[]{len, len - ARROW_SIZE, len - ARROW_SIZE, len}, new double[]{0, -ARROW_SIZE, ARROW_SIZE, 0}, 4); - } - - @Override - public void setData(Object shoppingTrips) { - ctx.clearRect(0, 0, 160, 100); - - Coordinate previous = new Coordinate(0.0, 0.0, "0"); - - for (ShoppingTrip shoppingTrip : (List) shoppingTrips) { - for (Coordinate coordinate : shoppingTrip.getCoordinates()) { - drawArrow((int) previous.getX(), (int) previous.getY(), (int) coordinate.getX(), (int) coordinate.getY()); - previous = coordinate; - } - } - } - - @Override - public void loadData(TableView tableView, ImageView imageView) { - imageView.setImage(canvas.snapshot(null, null)); - } - - @Override - public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { - vvc.imageViewSetDisable(false); - vvc.tableViewSetDisable(true); - loadData(tableView, imageView); - } - - @Override - public Canvas getData() { - return canvas; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java deleted file mode 100644 index 9843416..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java +++ /dev/null @@ -1,186 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.cell.PropertyValueFactory; -import javafx.scene.image.ImageView; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.ui.TableLoader; -import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; - -public class VisualizationTable extends VisualizationElement { - /** - * - * @author Hakon Strandlie - * The model-class of the Visualization Table. Has proved to not serve the function originally thought, and wil probably deprecate in the future. - */ - - /** - * The allowed column names of a table. Needs to be manually updated as of now, but exists for safety. - */ - private final static Map allowedColumnNames; - /** - * A static method that creates the allowed columnNames hashMap before creation of the VisualizationTable - */ - static { - allowedColumnNames = new HashMap(); - allowedColumnNames.put("productName", "Product Name"); - allowedColumnNames.put("numberOfPickUp", "Number Of Pick Ups"); - allowedColumnNames.put("numberOfPutDown", "Number Of Put Down"); - allowedColumnNames.put("numberOfPurchases", "Number Of Purchases"); - allowedColumnNames.put("numberInStock", "In Stock"); - //OnShelves - allowedColumnNames.put("numberOnShelves", "On shelves"); - allowedColumnNames.put("customerId", "Customer ID"); - allowedColumnNames.put("firstName", "First Name"); - allowedColumnNames.put("lastName", "Last Name"); - allowedColumnNames.put("address", "Address"); - allowedColumnNames.put("zip", "ZIP"); - allowedColumnNames.put("name", "Name"); - allowedColumnNames.put("gender", "Gender"); - allowedColumnNames.put("age", "Age"); - allowedColumnNames.put("numOfPersonInHouse", "Number Of Persons In Household"); - - } - - /** - * Container for the columns in this table - */ - private ArrayList> columns; - /** - * Container for the data used to populate the table in the GUI - */ - private ObservableList data; - - - /** - * Constructor creating the lists - * @param name String the name of the Table - */ - public VisualizationTable(String name) { - super(name); - this.columns = new ArrayList>(); - this.data = FXCollections.observableArrayList(new ArrayList()); - } - - /** - * Sets the data of the table. Setting this will reflect to the table shown to the user, since the list is observable - * and only references are passed - * @param data ArrayList The list of the data used to populate the table - */ - @Override - public void setData(Object data) { - List list = objectIsList(data); - this.data = FXCollections.observableArrayList(list); - } - - /** - * Add a single row to the table - * @param MostPickedTableRow the new row. Immidiately shown to the user if the mode is active - */ - public void addData(TableRow a) { - this.data.add(a); - } - - /** - * Gets the items currently shown to the user - * @return ObservableList the reference to the data currently populating the table - */ - public ObservableList getData() { - return this.data; - } - - /** - * Implementation of the interfaceMethod. Loads the data from this VisualizationTable into - * the TableView - */ - public void loadData(TableView tableView, ImageView imageView) { - tableView.setItems(this.data); - } - - /** - * Implementation of the interface method. Shows the TableView, hides the ImageView - * Also loads data and Columns into the TableView - */ - public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { - vvc.imageViewSetDisable(true); - vvc.tableViewSetDisable(false); - loadData(tableView, imageView); - tableView.getColumns().setAll(this.getColumns()); - } - - - /** - * Gets the Columns of this table. Changing this will not immidiately reflect to the user, as this is controlled by the ModeController - * @return ArrayList - */ - public ArrayList> getColumns() { - return this.columns; - } - - /** - * Takes a list of Row-Property-names and creates the corresponding TableColumns and CellValueFactories - * Assumes that columnnames already has been verified - * @param columns ArrayList of strings of columnnames - */ - public void addColumns(ArrayList columnNames) { - for (String column : columnNames) { - addColumn(column); - } - } - - /** - * Adds a column to this VisualizationTable. Called by the ModeController during initialize() - * @param columnID The columnID of the new column. Must be one of the predefined valid columnIDs from the static variable - */ - public void addColumn(String columnID) { - if (! allowedColumnNames.containsKey(columnID)) { - throw new IllegalArgumentException(columnID + " is not an allowable Column Identifier"); - } - - String columnName = allowedColumnNames.get(columnID); - TableColumn tempColumn = new TableColumn(columnName); - tempColumn.setCellValueFactory(new PropertyValueFactory(columnID)); - columns.add(tempColumn); - } - - /** - * Gets the size of this table, e.g. the numberOfColumns - * @return int The number of Column - */ - public int getSize() { - return this.columns.size(); - } - - - /** - * Tests if this table has a column with the name - * @param name String the name shown to the user - * @return boolean true if has the column name - */ - public boolean hasColumn(String name) { - for (TableColumn column : columns) { - if (column.getText().equals(name)) { - return true; - } - } - return false; - } - - @SuppressWarnings("unchecked") - private List objectIsList(Object object) throws ClassCastException { - return (List) object; - } - - public void wipeTable() { - this.data.clear(); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java deleted file mode 100644 index 1a791c9..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java +++ /dev/null @@ -1,53 +0,0 @@ -package tdt4140.gr1864.app.ui; - -import java.io.IOException; -import java.util.Collection; -import java.util.HashSet; - -import javafx.application.Application; -import javafx.event.EventHandler; -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.stage.Stage; -import javafx.stage.WindowEvent; - -public class OwnerApp extends Application{ - /** - * Collection of listeners which get called when you close the application. - */ - private static Collection listeners = new HashSet<>(); - - /** - * Add an AppListener to the collection of listeners. - * @param listener - */ - public static void addListener(AppListener listener) { - listeners.add(listener); - } - - public void start(Stage primaryStage) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(); - Parent root = fxmlLoader.load(getClass().getClassLoader().getResource("./tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml")); - primaryStage.setScene(new Scene(root)); - primaryStage.show(); - - // Run all listeners listening for when the app closes. - primaryStage.setOnCloseRequest(new EventHandler() { - public void handle(WindowEvent we) { - for (AppListener listener : OwnerApp.listeners) { - try { - listener.appClosed(); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - }); - - } - public static void main(String[] args) { - launch(args); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md deleted file mode 100644 index 9b8ca79..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# The UI source code, a minimal JavaFX/FXML UI \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java deleted file mode 100644 index 136f2ec..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java +++ /dev/null @@ -1,323 +0,0 @@ -package tdt4140.gr1864.app.ui; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import tdt4140.gr1864.app.core.*; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.MostPickedUpTableRow; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.OnShelvesTableRow; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.DemographicsTableRow; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.InStockTableRow; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; - -/** - * This is the class that loades a table with data from a list of Trips. - * The visualizationTable that is an argument in both constructors is the - * model-layer-representation of the table shown to the user in the GUI. - * - * Can be accessed in a static way, or instanciated. Is instanciated in a VisualizationTable - * @author hstrandlie - * - */ -public class TableLoader { - - /** - * The list of shoppingtrips for MostPickedUpMode - */ - private List trips; - - /** - * The list of customers for DemographicsMode - */ - private List customers; - - /** - * The Map of ProductIDs on shelf - */ - private Map productIDsOnShelf; - - /** - * The Map of ProductIDs In Storage - */ - private Map productIDsInStorage; - - /** - * The table that this TableLoader loads - */ - private VisualizationTable table; - - /** - * Empty constructor to support legacy - */ - public TableLoader() {} - - /** - * Constructor for the MostPickedUpMode VisualizationTable - * @param trips - * @param table - */ - public TableLoader(ArrayList trips, VisualizationTable table) { - this.trips = trips; - this.table = table; - loadMostPickedUpTable(); - } - - /** - * Constructor for Stock Mode - * @param productIDsOnShelf - * @param productIDsInStorage - * @param table - */ - public TableLoader(Map productIDsOnShelf, Map productIDsInStorage, VisualizationTable table) { - this.productIDsOnShelf = productIDsOnShelf; - this.productIDsInStorage = productIDsInStorage; - this.table = table; - loadStockTable(); - } - - /** - * Constructor for OnShelf Mode - * @param productIDsOnShelf - * @param table - */ - public TableLoader(Map productIDsOnShelf, VisualizationTable table) { - this.productIDsOnShelf = productIDsOnShelf; - this.table = table; - loadInShelvesTable(); - } - - public TableLoader(List customers, VisualizationTable table) { - this.customers = customers; - this.table = table; - loadDemographicsTable(); - } - - public List getTrips() { - return this.trips; - } - - public void setTrips(List trips) { - this.trips = trips; - } - - public List getCustomers() { - return this.customers; - } - - public void setCustomers(List customers) { - this.customers = customers; - } - - public Map getProductIDsOnShelf() { - return this.productIDsOnShelf; - } - - public void setProductIDsOnShelf(Map productIDsOnShelf) { - this.productIDsOnShelf = productIDsOnShelf; - } - - public Map getProductIDsInStorage() { - return this.productIDsInStorage; - } - - public void setProductIDsInStorage(Map productIDsInStorage) { - this.productIDsInStorage = productIDsInStorage; - } - - /** - * Load the table for MostPickedUpMode. - * Only loads the data in the instance. Is called in the constructor. - */ - public void loadMostPickedUpTable() { - loadMostPickedUpTable(this.trips, this.table); - } - - /** - * Load the table from MostPickedUpMode with data from new trips - * @param trips The new trips that is to be loaded into the table - */ - public void loadMostPickedUpTable(List trips) { - this.trips = trips; - loadMostPickedUpTable(); - } - - /** - * Wipes the table clear, and loads the data from the trips into the table to - * The constructor for CustomerList - * @param trips A list of shopping trips to load the table from - * @param table A model-layer representation of a table shown to the user. Any changes made to this will reflect to the user immidiately - */ - public static void loadMostPickedUpTable(List trips, VisualizationTable table) { - - table.wipeTable(); - - if (trips == null || table == null) { - return; - } - Map pickUps = new HashMap(); - Map putDowns = new HashMap(); - Map purchases = new HashMap(); - - for (ShoppingTrip trip : trips) { - for (Action action : trip.getActions()) { - if (action.getActionType() == Action.PICK_UP) { - int previous = pickUps.containsKey(action.getProduct().getName()) ? pickUps.get(action.getProduct().getName()) : 0; - pickUps.put(action.getProduct().getName(), previous + 1); - } - else { - int previous = putDowns.containsKey(action.getProduct().getName()) ? putDowns.get(action.getProduct().getName()) : 0; - putDowns.put(action.getProduct().getName(), previous + 1); - } - } - } - - for (String productName : pickUps.keySet()) { - // Assumes there are no products that are put down, that are not picked up - if (! putDowns.containsKey(productName)) { - // If there are no put downs, only pickups, the number of purchases is equal to the number of pickups - purchases.put(productName, pickUps.get(productName)); - } - else { - // Number of purchases = (the number of pickups) - (the number of putdowns) - purchases.put(productName, pickUps.get(productName) - putDowns.get(productName)); - } - } - - for (String productNameString : pickUps.keySet()) { - String pickupsString = pickUps.get(productNameString).toString(); - String putdownsString = putDowns.containsKey(productNameString) ? putDowns.get(productNameString).toString() : "0"; - String purchasesString = purchases.containsKey(productNameString) ? purchases.get(productNameString).toString() : "0"; - table.addData(new MostPickedUpTableRow(productNameString, pickupsString, putdownsString, purchasesString)); - - } - } - - /** - * Load the data for the Stock Mode into the table - * Only loads the data contained in the instance. Is called in constructor. - */ - public void loadStockTable() { - loadStockTable(this.productIDsOnShelf, this.productIDsInStorage, this.table); - } - - /** - * Load new data into the table of the instance - * @param productIDsOnShelf - * @param productIDsInStorage - */ - public void loadStockTable(Map productIDsOnShelf, Map productIDsInStorage) { - this.productIDsOnShelf = productIDsOnShelf; - this.productIDsInStorage = productIDsInStorage; - loadStockTable(); - } - - /** - * @param productIDsOnShelf The Map of the productIDs with corresponding count on shelf - * @param productIDsInStorage The Map of the productIDs with corresponding count in storage - * @param table A model-layer representation of a table shown to the user. Any changes made to this will reflect to the user immidiately - */ - public static void loadStockTable(Map productIDsOnShelf, Map productIDsInStorage, VisualizationTable table) { - - table.wipeTable(); - - if (productIDsOnShelf == null || productIDsInStorage == null || table == null) { - return; - } - Map stock = new HashMap(); - ProductDatabaseController pdc = new ProductDatabaseController(); - ArrayList seen = new ArrayList<>(); - for (Integer productID : productIDsOnShelf.keySet()) { - Product product = pdc.retrieve(productID); - int numberOnShelf = productIDsOnShelf.containsKey(productID) ? productIDsOnShelf.get(productID) : 0; - int numberInStorage = productIDsInStorage.containsKey(productID) ? productIDsInStorage.get(productID) : 0; - int sum = numberOnShelf + numberInStorage; - stock.put(product.getName(), sum); - seen.add(productID); - } - - for (Integer productID : productIDsInStorage.keySet()) { - if (! seen.contains(productID)) { - Product product = pdc.retrieve(productID); - stock.put(product.getName(), productIDsInStorage.get(productID)); - } - } - - for (String productNameString : stock.keySet()) { - String totalStock = stock.get(productNameString).toString(); - table.addData(new InStockTableRow(productNameString, totalStock)); - } - } - - public void loadDemographicsTable() { - loadDemographicsTable(this.customers, this.table); - } - - public void loadDemographicsTable(List customers) { - this.customers = customers; - loadDemographicsTable(); - } - - /** - * - * @param customers - * @param table - * @param inputZero to differentiate the differetn tableloaders, no real function - */ - public static void loadDemographicsTable(List customers, VisualizationTable table) { - - table.wipeTable(); - - if (customers == null || table == null) { - return; - } - - for (Customer customer: customers) { - table.addData(new DemographicsTableRow(customer.getID(), customer.getFirstName(), customer.getLastName(), customer.getAddress(), customer.getZip(), customer.getGender(), customer.getAge(), customer.getNumberOfPersonsInHousehold())); - } - } - - /** - * Load the data in the productIDsInShelf-Map into the table. C - * Only uses the data in the instance. Is called by the constructor. - */ - public void loadInShelvesTable() { - loadInShelvesTable(this.productIDsOnShelf, this.table); - } - - /** - * Loads the table with new data from the productIDsOnShelf-Map - * @param productIDsOnShelf - */ - public void loadInShelvesTable(Map productIDsOnShelf) { - this.productIDsOnShelf = productIDsOnShelf; - loadInShelvesTable(); - } - - /** - * - * @param productIDsOnShelf A map of productIDs and amount on shelves - * @param table The visualization table for onShelfMode - */ - public static void loadInShelvesTable(Map productIDsOnShelf, VisualizationTable table) { - - table.wipeTable(); - - if (productIDsOnShelf == null || table == null) { - return; - } - Map shelves = new HashMap(); - ProductDatabaseController pdc = new ProductDatabaseController(); - for (Integer productID : productIDsOnShelf.keySet()) { - Product product = pdc.retrieve(productID); - int numberOnShelf = productIDsOnShelf.containsKey(productID) ? productIDsOnShelf.get(productID) : 0; - shelves.put(product.getName(), numberOnShelf); - } - for (String productNameString : shelves.keySet()) { - String amount = shelves.get(productNameString).toString(); - table.addData(new OnShelvesTableRow(productNameString, amount)); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java deleted file mode 100644 index a1b788a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * - */ -package tdt4140.gr1864.app.ui.globalUIModel; - -/** - * @author Hakon Strandlie - * Not yet implemented. Exists so that future Visualizations with options can be created, such as graphs and diagrams. - * - */ -public class InteractionViewController { - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java deleted file mode 100644 index 7f4927c..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java +++ /dev/null @@ -1,29 +0,0 @@ -package tdt4140.gr1864.app.ui.globalUIModel; - -import javafx.scene.control.ListCell; - -public class MenuCell extends ListCell { - - /** - * The contents of the menu. Just a simple extention on the ListCell-class. - */ - @Override - protected void updateItem(String name, boolean empty) { - super.updateItem(name, empty); - if (name == null || empty) { - setText(null); - } - else { - setText(name); - if (name.contains("Average")) { - this.setDisable(true); - } - else { - this.setDisable(false); - } - } - } - - - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java deleted file mode 100644 index 723ab00..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * - */ -package tdt4140.gr1864.app.ui.globalUIModel; - - -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; -import javafx.collections.ObservableList; -import javafx.fxml.FXML; -import javafx.scene.control.ListCell; -import javafx.scene.control.ListView; -import javafx.util.Callback; - -/** - * @author Hakon Strandlie - * The Controller for the menu View. Also contains a reference to the ModeController to be able to let it know when the user selects a different menuItem - * - */ -public class MenuViewController { - - /* - * The reference to the modeController as specified above - */ - private ModeController modeController; - - /** - * The list of items that populate the menu. In this case just strings (Names of modes) - */ - private ObservableList items; - - /** - * The reference to the actual menuListView shown to the user - */ - @FXML - private ListView menuListView; - - /** - * Is called after the GUI is created and the reference to the menuListView is created. Is used to specify the cellFactory - */ - @FXML - public void initialize() { - menuListView.setCellFactory(new Callback, ListCell>() { - - public ListCell call(ListView list) { - return new MenuCell(); - } - } - ); - menuListView.setEditable(false); - - this.items = menuListView.getItems(); - - menuListView.getSelectionModel().selectedItemProperty().addListener( - new ChangeListener() { - public void changed(ObservableValue property, String oldValue, String newValue) { - if (! newValue.equals(oldValue)){ - if (modeController.isValidMode(newValue)) { - modeController.modeChanged(newValue); - } - else { - throw new IllegalStateException("Cannot change mode to " + newValue + " from " + oldValue); - } - } - else { - System.out.println("Nothing was done"); - return; - } - } - } - ); - } - - public void updateTopMenuItem(String newValue) { - this.items.set(0, newValue); - } - - /** - * Used to add another item to the menu. Just a String. Should match the name of a mode, or else the modeController will throw an error when the item is selected - * Is called by the ModeController when a new mode is created. - * @param item The name of the new MenuItem - */ - protected void addMenuItem(String item) { - items.add(item); - } - - /** - * Used by the modeController during its initialize()-method to register itself. The menuViewController uses it to let the modeController know that the user - * selected a new mode - * @param modeController the modeController that controls this menuViewController - */ - protected void setModeController(ModeController modeController) { - if (modeController == null) { - throw new IllegalArgumentException("modeController cannot be null"); - } - this.modeController = modeController; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java deleted file mode 100644 index c1d23a6..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java +++ /dev/null @@ -1,433 +0,0 @@ -package tdt4140.gr1864.app.ui.globalUIModel; - -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -import tdt4140.gr1864.app.core.Customer; -import java.sql.SQLException; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import tdt4140.gr1864.app.core.Receipt; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DataLoader; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.*; -import tdt4140.gr1864.app.ui.scheduling.GUIUpdaterRunnable; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -import tdt4140.gr1864.app.ui.TableLoader; -import tdt4140.gr1864.app.ui.Mode.Mode; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; - -import javafx.fxml.FXML; -import javafx.application.Platform; - -/** - * Initializes the different modes, and handles the switching between them. Also hands of responsibility - * to the sub-controllerclasses. Also runs the dataloader - * @author HÃ¥kon Strandlie - * - */ -public class ModeController { - /** - * Different modes saved with their names as key. Only valid Modes exist here. - */ - private HashMap modes; - - /** - * The current mode for easy getting and comparing. - */ - private Mode currentMode; - - - /** - * The controller responsible for showing the menu to the user - */ - @FXML - private MenuViewController menuViewController; - - /** - * The controller responsible for showing the visualizationView to the user - */ - @FXML - private VisualizationViewController visualizationViewController; - - /** - * The controller responsible for the interactionView. Not yet implemented, but will be when we get visualization - * views with options, such as graphs and diagrams - */ - @FXML - private InteractionViewController interactionViewController; - - /** - * Is called automatically by JavaFX after the scene is set up and the @FXML-variables are connected - * Is used here to set up the different modes and set the initial mode - * @throws SQLException - */ - @FXML - public void initialize() throws SQLException { - this.modes = new HashMap(); - - /** - * The menuViewController needs a reference to it's mode controller to let it know when the user - * has selected a different Mode - */ - menuViewController.setModeController(this); - - /* - * MostPickedUp - */ - VisualizationTable mostPickedUpTable = new VisualizationTable("Most Picked-Up Product"); - mostPickedUpTable.addColumn("productName"); - mostPickedUpTable.addColumn("numberOfPickUp"); - mostPickedUpTable.addColumn("numberOfPutDown"); - mostPickedUpTable.addColumn("numberOfPurchases"); - Mode mostPickedUp = new Mode("Most Picked Up", mostPickedUpTable); - - /* - * Stock - */ - VisualizationTable stockTable = new VisualizationTable("Stock"); - stockTable.addColumn("productName"); - stockTable.addColumn("numberInStock"); - Mode stock = new Mode("Stock", stockTable); - - /* - * DEMOGRAPHICS MODE - */ - VisualizationTable demographicsTable = new VisualizationTable("Demographics");//, customerList); - demographicsTable.addColumn("customerId"); - demographicsTable.addColumn("firstName"); - demographicsTable.addColumn("lastName"); - demographicsTable.addColumn("address"); - demographicsTable.addColumn("zip"); - demographicsTable.addColumn("gender"); - demographicsTable.addColumn("age"); - demographicsTable.addColumn("numOfPersonInHouse"); - Mode demographicsMode = new Mode("Demographics", demographicsTable); - - /* - * ON SHELF MODE - */ - VisualizationTable onShelvesTable = new VisualizationTable("Shelves");//, productIDsOnShelf); - onShelvesTable.addColumn("productName"); - onShelvesTable.addColumn("numberOnShelves"); - Mode shelves = new Mode("Shelves", onShelvesTable); - - Mode durationMode = new Mode("", null); - - - /* - * HEAT MAP MODE - */ - VisualizationHeatMap heatMap = new VisualizationHeatMap("Heatmap"); - Mode heatMapMode = new Mode("Heatmap", heatMap); - - /* - * PLOT MODE - */ - VisualizationSimplePlot plot = new VisualizationSimplePlot("Plot"); - Mode plotMode = new Mode("Plot", plot); - - - addMode(durationMode); // Must be the first mode - addMode(mostPickedUp); - addMode(stock); - addMode(demographicsMode); - addMode(shelves); - addMode(heatMapMode); - addMode(plotMode); - - updateMostPickedUpTable(); - updateStockTable(); - updateDemographicsTable(); - updateShelvesTable(); - updateDurationModeField(); - updateHeatMap(); - updatePlot(); - - ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); - executor.scheduleAtFixedRate(runnable, 10, 10, TimeUnit.SECONDS); - setMode(mostPickedUp); - } - /** - * Adds a mode. Used by the initialize-methods. Does not allow Modes with equal names - * - * @param mode An already constructed mode - */ - public void addMode(Mode mode) { - if (!modes.containsKey(mode.getName())) { - modes.put(mode.getName(), mode); - menuViewController.addMenuItem(mode.getName()); - } - } - - /** - * Removes a mode - * @param mode: mode to be removed - */ - public void removeMode(Mode mode) { - if (modes.containsKey(mode)) { - modes.remove(mode); - } - } - - /** - * Returns an already created mode from its name, or null if it does not exist - * - * @param name String The name of the wanted Mode - * @return Mode The mode, or null - */ - public Mode getMode(String name) { - return this.modes.getOrDefault(name, null); - } - - /** - * Returns the mode with a similar name as the input string, or null - * @param name The string name to match against - * @return The Mode, or null - */ - public Mode getModeWithSimilarNameAs(String name) { - for (String key : this.modes.keySet()) { - if (key.contains(name)) { - return getMode(key); - } - } - return null; - } - - /** - * Gets the mode currently shown to the user - * - * @return Mode The currently shown Mode - */ - public Mode getCurrentMode() { - return this.currentMode; - } - - /** - * Checks if the Mode already exists for this ModeController. If it does it sets it, and shows it to the user - * Can be improved by setting the table as a listener on the currentMode-variable - * @param mode Mode the mode we wish to set - */ - private void setMode(Mode mode) { - if (!isValidMode(mode.getName())) { - throw new IllegalArgumentException(mode.getName() + " is not a valid mode"); - } - this.currentMode = mode; - - switch (getCurrentMode().getName()) { - case "Demographics": - updateDemographicsTable(); - break; - case "Most Picked Up": - updateMostPickedUpTable(); - break; - case "Heatmap": - updateHeatMap(); - break; - case "Plot": - updatePlot(); - break; - case "Shelves": - updateShelvesTable(); - break; - case "Stock": - updateStockTable(); - break; - default: - throw new IllegalStateException("Not a valid modename"); - - } - this.visualizationViewController.setActiveElement(mode.getVisualizationElement()); - } - - /** - * Checks if the mode is a mode already created - * - * @param mode Mode The mode we wish to show to the user - * @return boolean 'true' if is an already existing mode - */ - public boolean isValidMode(String mode) { - if (this.modes.containsKey(mode)) { - return true; - } - return false; - } - - /** - * The method called by the menuViewController when the user selects a new item in the menu list - * It also wipes the data tables of the modes and re-loads them from DB. - * - * @param newMode String The String of the ListItem in the menu selected by the user - */ - public void modeChanged(String newMode) { - Mode mode = getMode(newMode); - if (mode == null) { - throw new IllegalStateException("modeChanged should not be called when there is no corresponding mode in modes"); - } - - this.currentMode = mode; - setMode(this.currentMode); - - } - - /** - * A method that extracts all trips from DB and fill them with their coordinates and actions - * @return An ArrayList of ShoppingTrips - */ - public ArrayList getShoppingTripsFromDB(){ - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - ActionDatabaseController adc = new ActionDatabaseController(); - CoordinateDatabaseController cdc = new CoordinateDatabaseController(); - - ArrayList shoppingTripList = new ArrayList<>(); - int iterator = 1; - while(true) { - ShoppingTrip trip = stdc.retrieve(iterator); - if (trip == null) { - break; - } - trip.setActions(adc.retrieveAll(iterator)); - trip.setCoordinates(cdc.retrieveAll(iterator)); - shoppingTripList.add(trip); - iterator++; - } - return shoppingTripList; - } - - - - /** - * Exracts and update shop drom DB and update shelves from a list of all shoppingtrips - * @param shoppingTripList An ArrayList of all shoppingtrips in DB - * @return The updated shop object - */ - public Shop getShopFromDBAndUpdateFromTrips(ArrayList shoppingTripList) { - ShopDatabaseController sdc = new ShopDatabaseController(); - Shop shop = sdc.retrieve(1); - shop.refreshShop(); - // Update the shop object - for (ShoppingTrip trip : shoppingTripList) { - shop.updateShopFromReceipt(new Receipt(trip)); - } - return shop; - } - - /** - * Method to get latest data from DB, and update the MostPickedUpTable with this new data. Also used for initializing the table. - */ - public void updateMostPickedUpTable() { - VisualizationTable mostPickedUpTable = (VisualizationTable) getMode("Most Picked Up").getVisualizationElement(); - - List shoppingTripList = getShoppingTripsFromDB(); - - TableLoader.loadMostPickedUpTable(shoppingTripList, mostPickedUpTable); - } - - /** - * Method to get latest data from DB, and update the StockTable with this new data. - */ - public void updateStockTable() { - ArrayList shoppingTripList = getShoppingTripsFromDB(); - Shop shop = getShopFromDBAndUpdateFromTrips(shoppingTripList); - - VisualizationTable stockTable = (VisualizationTable) getMode("Stock").getVisualizationElement(); - - TableLoader.loadStockTable(shop.getShelfs(), shop.getStorage(), stockTable); - } - - /** - * Method to get latest data from DB, and update the DemographicsTable with this new data. - */ - public void updateDemographicsTable() { - - CustomerDatabaseController cdc = new CustomerDatabaseController(); - - // Retrive list of customers - List customerList = cdc.retrieveAll(); - // Extract table, wipe and load - VisualizationTable table = (VisualizationTable) getMode("Demographics").getVisualizationElement(); - TableLoader.loadDemographicsTable(customerList, table); - } - - /** - * Method to get latest data from DB, and update the ShelvesTable with this new data. - */ - public void updateShelvesTable() { - // Retrieve the shopping trips from DB and put in a list - ArrayList shoppingTripList = getShoppingTripsFromDB(); - // Retrieve shop from DB and update from shoppingTrips - Shop shop = getShopFromDBAndUpdateFromTrips(shoppingTripList); - // Extract table and load - VisualizationTable table = (VisualizationTable) getMode("Shelves").getVisualizationElement(); - TableLoader.loadInShelvesTable(shop.getShelfs(), table); - - } - - - /** - * Method to get latest data from DB, and update the DurationModeField with a new value from this new data. - */ - public void updateDurationModeField() { - long sumOfDurations = 0; - int numberOfTrips = 0; - List allShoppingTrips = getShoppingTripsFromDB(); - for (ShoppingTrip trip : allShoppingTrips) { - numberOfTrips++; - sumOfDurations += trip.getDuration(); - } - - double average = (double) sumOfDurations / numberOfTrips / 1000 / 60; - DecimalFormat df = new DecimalFormat("#.#"); - String minutes = df.format(average); - this.menuViewController.updateTopMenuItem("Average time in store: " + minutes + "min"); - } - - - /** - * Method to get latest data from DB, and update the HeatMap from this new data. - */ - public void updateHeatMap() { - List shoppingTripList = getShoppingTripsFromDB(); - VisualizationHeatMap heatMap = (VisualizationHeatMap) getMode("Heatmap").getVisualizationElement(); - heatMap.setData(shoppingTripList); - } - - - /** - * Method to get latest data from DB, and update the Plot - */ - public void updatePlot() { - List shoppingTripList = getShoppingTripsFromDB(); - VisualizationSimplePlot plot = (VisualizationSimplePlot) getMode("Plot").getVisualizationElement(); - plot.setData(shoppingTripList); - } - - /** - * Calls the appropriate method to sort the TableView. Is called after the GUi updates itself. - */ - public void visualizationViewTableViewSort() { - this.visualizationViewController.sortTableView(); - } - - /** - * Code to be run every few seconds. - */ - Runnable guiUpdater = new GUIUpdaterRunnable(this); - Runnable runnable = new Runnable() { - @Override - public void run() { - Platform.runLater(guiUpdater); - } - }; -} - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java deleted file mode 100644 index 66f75eb..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java +++ /dev/null @@ -1,83 +0,0 @@ -package tdt4140.gr1864.app.ui.globalUIModel; - -import javafx.fxml.FXML; -import javafx.scene.control.TableView; -import javafx.scene.image.ImageView; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.TableRow; -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationInterface; - -/** - * The controller in charge of the VisualizationElement, the largest part of the app, which shows tables - * and other visualizations of data - * - * The controller initializes all the possible views, and hides and shows them - * when needed. - * - * @author Hakon Strandlie - * - */ -public class VisualizationViewController { - - /** - * The reference to the actual TableView shown to the user - */ - @FXML - private TableView tableView; - - /** - * The reference to the ImageView used to show pictures - */ - @FXML - private ImageView imageView; - - /** - * The method called after the TableView has been created. Only used here to make it not-editable - */ - @FXML - public void initialize() { - tableView.setEditable(false); - } - - - /** - * Takes an element that implements the VisualizationInterface, and - * loads the data from it into the GUI - * @param element - */ - public void setData(VisualizationInterface element) { - element.loadData(this.tableView, this.imageView); - } - - /** - * Changes the currently active VisualizationElement - * @param element The element that is to be active now - */ - public void setActiveElement(VisualizationInterface element) { - element.setAsActiveElement(this, this.tableView, this.imageView); - } - - /** - * Show, or not show the ImageView - * @param disable boolean - */ - public void imageViewSetDisable(boolean disable) { - this.imageView.setDisable(disable); - this.imageView.setVisible(!disable); - } - - /** - * Show or not show the TableView - * @param disable boolean - */ - public void tableViewSetDisable(boolean disable) { - this.tableView.setDisable(disable); - this.tableView.setVisible(!disable); - } - - /** - * Forces the tableView to sort itself. Is called after the UI polls the database, and updates itself. - */ - public void sortTableView() { - this.tableView.sort(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java deleted file mode 100644 index 7ab5e9e..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java +++ /dev/null @@ -1,44 +0,0 @@ -package tdt4140.gr1864.app.ui.scheduling; - -import tdt4140.gr1864.app.ui.globalUIModel.ModeController; - -public class GUIUpdaterRunnable implements Runnable { - - private ModeController mc; - - public GUIUpdaterRunnable(ModeController mc) { - this.mc = mc; - } - - @Override - public void run() { - // Must always be updated, since it is always visible to the user - mc.updateDurationModeField(); - - switch (mc.getCurrentMode().getName()) { - case "Demographics": - mc.updateDemographicsTable(); - break; - case "Most Picked Up": - mc.updateMostPickedUpTable(); - break; - case "Heatmap": - mc.updateHeatMap(); - break; - case "Plot": - mc.updatePlot(); - break; - case "Shelves": - mc.updateShelvesTable(); - break; - case "Stock": - mc.updateStockTable(); - break; - default: - throw new IllegalStateException("Not a valid modename"); - - } - mc.visualizationViewTableViewSort();; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml deleted file mode 100644 index 40b080a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md deleted file mode 100644 index 8fa86fc..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# Resources for the UI, including the FXML \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml deleted file mode 100644 index fc0e6aa..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml deleted file mode 100644 index c6d742b..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml deleted file mode 100644 index 02d6a6f..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -

- - - - - - -
- - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml deleted file mode 100644 index 8753755..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java deleted file mode 100644 index d2fa416..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package tdt4140.gr1864.app.ui; - -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.testfx.framework.junit.ApplicationTest; - -public class FxAppTest extends ApplicationTest { - - @BeforeClass - public static void headless() { - if (Boolean.valueOf(System.getProperty("gitlab-ci", "false"))) { - GitlabCISupport.headless(); - } - } - - @Test - public void testFxApp() { - Assert.assertTrue(true); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java deleted file mode 100644 index 9d653b5..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java +++ /dev/null @@ -1,15 +0,0 @@ -package tdt4140.gr1864.app.ui; - -public class GitlabCISupport { - - public static void headless() { - System.setProperty("prism.verbose", "true"); // optional - System.setProperty("java.awt.headless", "true"); - System.setProperty("testfx.robot", "glass"); - System.setProperty("testfx.headless", "true"); - System.setProperty("glass.platform", "Monocle"); - System.setProperty("monocle.platform", "Headless"); - System.setProperty("prism.order", "sw"); - System.setProperty("prism.text", "t2k"); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java deleted file mode 100644 index d34f8a4..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode; - -import org.junit.Before; -import org.junit.Test; - - -import org.junit.Assert; - -import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; - -public class ModeTest { - Mode mode; - VisualizationTable table; - - @Before - public void setup() { - table = new VisualizationTable("TestTable"); - mode = new Mode("Test", table); - } - - @Test - public void testVisualizationElementContainsTable() { - Assert.assertEquals(this.table, this.mode.getVisualizationElement()); - } - - @Test - public void testVisualizationTableHasName() { - Assert.assertEquals("Test", this.mode.getName()); - } - - - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java deleted file mode 100644 index 39138fb..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class DemographicsTableRowTest { - - private DemographicsTableRow demographicsRow; - - @Before - public void setup() { - this.demographicsRow = new DemographicsTableRow(1, "Billy", "Marsvinsen", "Moose Road 5", 200, "Male", 32, 2); - } - - @Test - public void testGetCustomerIdExpectOne() { - Assert.assertEquals("1", this.demographicsRow.getCustomerId()); - } - - @Test - public void testGetFirstNameExpectBilly() { - Assert.assertEquals("Billy", this.demographicsRow.getFirstName()); - } - - @Test - public void testGetLastNameExpectMarsvinsen() { - Assert.assertEquals("Marsvinsen", this.demographicsRow.getLastName()); - } - - @Test - public void testGetAddressExpectMooseRoad5() { - Assert.assertEquals("Moose Road 5", this.demographicsRow.getAddress()); - } - - @Test - public void testGetZipExpect200() { - Assert.assertEquals("200", this.demographicsRow.getZip()); - } - - @Test - public void testGetGenderExpectMale() { - Assert.assertEquals("Male", this.demographicsRow.getGender()); - } - - @Test - public void testGetAgeExpect32() { - Assert.assertEquals("32", this.demographicsRow.getAge()); - } - - @Test - public void testGetNumOFPersonInHouseExpect2() { - Assert.assertEquals("2", this.demographicsRow.getNumOfPersonInHouse()); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java deleted file mode 100644 index d9af46e..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class InStockTableRowTest { - - private InStockTableRow inStockRow; - - @Before - public void setup() { - this.inStockRow = new InStockTableRow("Bille", "200"); - } - - @Test - public void testGetProductNameExpectBille() { - Assert.assertEquals("Bille", this.inStockRow.getProductName()); - } - - @Test - public void testGetSizeExpectSize() { - Assert.assertEquals(2, this.inStockRow.getSize()); - } - - @Test - public void testGetNumberInStockExpect200() { - Assert.assertEquals("200", this.inStockRow.getNumberInStock()); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java deleted file mode 100644 index ba9b973..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class MostPickedUpTableRowTest { - - private MostPickedUpTableRow mostPickedUpRow; - - @Before - public void setup() { - this.mostPickedUpRow = new MostPickedUpTableRow("Bolle", "2", "1"); - } - - @Test - public void testGetProductNameExpectProductName() { - Assert.assertEquals("Bolle", this.mostPickedUpRow.getProductName()); - } - - @Test - public void testGetNumberOfPickupsExpectTwo() { - Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPickUp()); - } - - @Test - public void testGetNumberOfPutDownExpectOne() { - Assert.assertEquals("1", this.mostPickedUpRow.getNumberOfPutDown()); - } - - @Test - public void testGetNumberOfPurchasesExpectOne() { - Assert.assertEquals("1", this.mostPickedUpRow.getNumberOfPurchases()); - } - - @Test - public void testGetSizeExpectSize() { - Assert.assertEquals(4, this.mostPickedUpRow.getSize()); - } - - @Test - public void testSetNewNumberOfPickUpExpecTwo() { - this.mostPickedUpRow.setNumberOfPickUp("3"); - Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPurchases()); - } - - @Test - public void testSetNewNumberOfPutDownExpectTwo() { - this.mostPickedUpRow.setNumberOfPutDown("0"); - Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPurchases()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java deleted file mode 100644 index 281b02b..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class RowTest { - - Row row4; - Row row2; - Row row1; - - @Before - public void setup() { - this.row4 = new Row("Bolle", "1", "2", "1"); - this.row2 = new Row("Bille", "200", "stock"); - this.row1 = new Row("Banan", "60", "onShelves"); - } - - @Test - public void testAggregateHasExpectedProductName() { - Assert.assertEquals("Bolle", this.row4.getProductName()); - Assert.assertEquals("Bille", this.row2.getProductName()); - } - - @Test - public void testAggregateHasExpectedNumberOfPickUp() { - Assert.assertEquals("1", this.row4.getNumberOfPickUp()); - } - - @Test - public void testAggregateHasExpectedNumberOfPutDowns() { - Assert.assertEquals("2", this.row4.getNumberOfPutDown()); - } - - @Test - public void testAggregateHasExpectedNumberOfPurchases() { - Assert.assertEquals("1", this.row4.getNumberOfPurchases()); - } - - @Test - public void testAggregateHasExpectedSize() { - Assert.assertEquals(4, this.row4.getSize()); - Assert.assertEquals(2, this.row2.getSize()); - } - - @Test - public void testAggregateHasExpectedNumberInStock() { - Assert.assertEquals("200", this.row2.getNumberInStock()); - } - - @Test - public void testAggregateDoesNotHaveUnapplicableFields() { - Assert.assertNull(this.row2.getNumberOfPickUp()); - Assert.assertNull(this.row4.getNumberInStock()); - } - - @Test - public void testAggregateHasExpectedNumberOnSHelves() { - Assert.assertEquals("60", row1.getNumberOnShelves()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java deleted file mode 100644 index 36f3b29..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package tdt4140.gr1864.app.ui.Mode.VisualizationElement; - -import org.junit.Before; -import org.junit.Test; - -import java.util.ArrayList; - -import org.junit.Assert; - -public class VisualizationTableTest { - - VisualizationTable table; - ArrayList columnNames; - - - @Before - public void setup() { - this.table = new VisualizationTable("TestTable"); - this.columnNames = new ArrayList(); - this.columnNames.add("productName"); - this.columnNames.add("numberInStock"); - this.table.addColumns(columnNames); - } - - @Test - public void testTableCanAddValidColumn() { - this.table.addColumn("numberOfPickUp"); - Assert.assertTrue(this.table.hasColumn("Number Of Pick Ups")); - } - - @Test - public void testTableCanNotAddInvalidColumn() { - try { - this.table.addColumn("notValidName"); - } - catch (Exception e) {} - - Assert.assertFalse(this.table.hasColumn("Not valid")); - } - - @Test - public void testTableHasExpectedNumberOfColumns() { - Assert.assertEquals(2, this.table.getSize()); - this.table.addColumn("numberOfPickUp"); - Assert.assertEquals(3, this.table.getSize()); - } - - @Test - public void canAddData() { - Assert.assertTrue(this.table.getData().size() == 0); - InStockTableRow agg = new InStockTableRow("Bolle", "1"); - - this.table.addData(agg); - Assert.assertEquals(agg, this.table.getData().get(0)); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md deleted file mode 100644 index 32a5b77..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# Tests for the UI, currently empty (besides loading the UI) \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml deleted file mode 100644 index 279413e..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md deleted file mode 100644 index 191401c..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# Resources for the UI tests \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app/.classpath b/EC-Shop/tdt4140-gr1864/app/.classpath deleted file mode 100644 index af1430b..0000000 --- a/EC-Shop/tdt4140-gr1864/app/.classpath +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app/.project b/EC-Shop/tdt4140-gr1864/app/.project deleted file mode 100644 index 14affec..0000000 --- a/EC-Shop/tdt4140-gr1864/app/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - app - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index f9fe345..0000000 --- a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/main/java=UTF-8 -encoding//src/test/java=UTF-8 -encoding/=UTF-8 diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 714351a..0000000 --- a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f..0000000 --- a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/EC-Shop/tdt4140-gr1864/app/pom.xml b/EC-Shop/tdt4140-gr1864/app/pom.xml deleted file mode 100644 index 861fc8b..0000000 --- a/EC-Shop/tdt4140-gr1864/app/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - 4.0.0 - - tdt4140-gr1864 - tdt4140-gr1864 - 0.0.1-SNAPSHOT - - tdt4140-gr1864 - app - 0.0.1-SNAPSHOT - app - http://maven.apache.org - - UTF-8 - - - - junit - junit - 3.8.1 - test - - - tdt4140-gr1864 - tdt4140-gr1864.app.core - 0.0.1-SNAPSHOT - - - tdt4140-gr1864 - tdt4140-gr1864.app.ui - 0.0.1-SNAPSHOT - - - tdt4140-gr1864 - web.server - 0.0.1-SNAPSHOT - - - diff --git a/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java b/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java deleted file mode 100644 index 54560bd..0000000 --- a/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.app; - -import org.web.server.JettyServer; - -import tdt4140.gr1864.app.core.dataMocker.DataMocker; -import tdt4140.gr1864.app.core.database.DataLoader; -import tdt4140.gr1864.app.ui.AppListener; -import tdt4140.gr1864.app.ui.OwnerApp; - -/** - * The App class starts the entire system and closes all parts of the - * system cleanly when the owner application is closed. This needs to - * be done in a separate module to prevent circular dependencies, as - * starting the application depends on all the other modules. - */ -public class App implements AppListener { - /** - * A common shared App instance. - */ - private static App app; - - /** - * The Thread running the DataMocker. - */ - private Thread mockerThread; - - /** - * A simple wrapper around the Jetty server. - */ - private JettyServer server; - - /** - * @return A shared instance of App. - * @throws Exception - */ - public static App initialize() throws Exception { - if (app != null) { - return app; - } - - return app = new App(); - } - - /** - * Starts all parts of the application. - * @throws Exception - */ - private App() throws Exception { - // Populate database with data. - DataLoader.main(null); - - // Listen for closing. - OwnerApp.addListener(this); - - // Start the data mocker in a separate thread. - // DataMocker mocker = new DataMocker(); - // mockerThread = new Thread(mocker); - // mockerThread.start(); - - server = new JettyServer(); - server.start(); - } - - /** - * Closes the application by stopping the mocker and the server when the UI closes. - */ - public void appClosed() throws Exception { - // mockerThread.interrupt(); - server.stop(); - System.exit(0); - } - - public static void main(String[] args) throws Exception { - App.initialize(); - OwnerApp.launch(OwnerApp.class, args); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/database.sql b/EC-Shop/tdt4140-gr1864/database.sql deleted file mode 100644 index ab9a26b..0000000 --- a/EC-Shop/tdt4140-gr1864/database.sql +++ /dev/null @@ -1,85 +0,0 @@ -CREATE TABLE customer( -customer_id integer primary key autoincrement, -first_name varchar(30) not null, -last_name varchar(30) not null, -age int not null, -sex varchar(15) not null -); - -CREATE TABLE bought( -shopping_trip_id int not null, -product_id int not null, -amount int not null, -primary key(shopping_trip_id, product_id) -); - -CREATE TABLE zip( -zipcode int primary key, -city varchar(30) not null -); - -CREATE TABLE coordinate( -shopping_trip_id int, -timestamp int, -x real not null, -y real not null, -primary key(shopping_trip_id, timestamp) -); - -CREATE TABLE action( -shopping_trip_id int, -timestamp int, -description varchar(255) not null, -product_id int not null, -primary key(shopping_trip_id, timestamp), -foreign key (product_id) references product(product_id) -); - -CREATE TABLE on_shelf( -shop_id int, -product_id int, -amount int not null, -primary key(shop_id, product_id) -); - -CREATE TABLE shop( -shop_id int primary key, -address varchar(30) not null, -zip int not null, -foreign key(zip) references zip(zipcode), -foreign key(shop_id) references on_shelf(shop_id), -foreign key(shop_id) references storage(shop_id) -); - -CREATE TABLE in_storage( -storage_id int, -product_id int, -amount int not null, -primary key(storage_id, product_id) -); - -CREATE TABLE storage( -storage_id int, -shop_id int, -primary key(storage_id, shop_id), -foreign key(storage_id) references in_storage(storage_id) -); - -CREATE TABLE shopping_trip( -shopping_trip_id integer primary key autoincrement, -customer_id int not null, -shop_id int not null, -foreign key(customer_id) references customer(customer_id), -foreign key(shop_id) references shop(shop_id), -foreign key(shopping_trip_id) references action(shopping_trip_id), -foreign key(shopping_trip_id) references coordinate(shopping_trip_id), -foreign key(shopping_trip_id) references bought(shopping_trip_id) -); - -CREATE TABLE product( -product_id integer primary key autoincrement, -name varchar(40) not null, -price int not null, -foreign key(product_id) references on_shelf(product_id), -foreign key(product_id) references bought(product_id) -); \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/pom.xml b/EC-Shop/tdt4140-gr1864/pom.xml deleted file mode 100644 index eb1d49c..0000000 --- a/EC-Shop/tdt4140-gr1864/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - 4.0.0 - tdt4140-gr1864 - tdt4140-gr1864 - 0.0.1-SNAPSHOT - pom - - - 1.8 - 1.8 - - - - app.core - app.ui - web.server - app - - diff --git a/EC-Shop/tdt4140-gr1864/web.server/.classpath b/EC-Shop/tdt4140-gr1864/web.server/.classpath deleted file mode 100644 index 4b2fcd0..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/.classpath +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/web.server/.project b/EC-Shop/tdt4140-gr1864/web.server/.project deleted file mode 100644 index 3ac3dd6..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/.project +++ /dev/null @@ -1,20 +0,0 @@ - - - web.server - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - tdt4140-gr1864.app.core - - - - org.eclipse.jdt.core.javabuilder - - - org.eclipse.m2e.core.maven2Builder - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index f9fe345..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/main/java=UTF-8 -encoding//src/test/java=UTF-8 -encoding/=UTF-8 diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 714351a..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/EC-Shop/tdt4140-gr1864/web.server/README.md b/EC-Shop/tdt4140-gr1864/web.server/README.md deleted file mode 100644 index 89357ae..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/README.md +++ /dev/null @@ -1,124 +0,0 @@ -# web.server module - REST API using Jetty and Servlet - -A REST-API module for the *E.C. Store* application. Includes a functioning -REST-API (running on Jetty, using Java Servlets), and a persistance-layer ontop -of the database-base system in `app.core`. - - -## Dependencies -* `app.core`-module -* Jetty 9.3.2 -* Servlet 3.1 - -## End-points - -### Authorization -To authorize your requests, query-param `"customer_id"` is required, with a -valid ID corresponding to the data that is manipulated. - -### /api/v1/shoppingtrip/ -#### Permitted actions -* `GET`: Retrieve shopping trips corresponding to a customer -* `POST`: Submit a shopping trip for a customer - -#### Format -```json -{ - "customerID": [integer, required], - "coordinates": [ - { - "x": [double, required], - "y": [double, required], - "timestamp": [long, required] - } - ], - "actions": [ - { - "actionType": [binary-integer, required], - "productID": [integer, required], - "timestamp": [long, required] - } - ], - "duration": [long, required] -} -``` - -### /api/v1/customer/ -#### Permitted actions -* `GET`: Retrieve customer information -* `POST`: Submit a new customer -* `PUT`: Update a custmer's data -* `DELETE`: Delete customer data - -#### Format: -```json -{ - "firstName": [string, required], - "lastName": [string, required], - "address": [string], - "zip": [integer], - "gender": [string], - "age": [integer], - "numberOfPersonsInHousehold": [integer], - "recommendedProductID": [integer, read-only], - "anonymous": [boolean, required], - "deleted": [boolean], - "customerID": [integer, read-only] -} -``` - -### /api/v1/customer/recommendation/ -#### Permitted actions -* `GET`: Retrieve purchase-recommendation for a customer - -#### Format: -```json -{ - "name": [string, read-only], - "price":[double, read-only], - "id": [integer, read-only] -} -``` - -### /api/v1/customer/statistics/ -#### Permitted actions -* `GET`: Retrieve purchase-statistics for a customer - -#### Format: -```json -[ - { - "amount": [integer, read-only], - "product": { - "name": [string, read-only], - "price":[double, read-only], - "id": [integer, read-only] - } - }, -] -``` - -### /api/v1/customer/receipt/ -#### Permitted actions: -* `GET`: Retrieve all receipts for a customer - -#### Format: -```json -[ - { - "date": [long, read-only], - "charged": [boolean, read-only], - "totalPrice": [double, read-only], - "items": { - [string, product-name, read-only]: { - "total": [double, read-only], - "amount": [integer, read-only] - }, - [string, product-name, read-only]: { - "total": [double, read-only], - "amount": [integer, read-only] - }, - } - } -] -``` diff --git a/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json b/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json deleted file mode 100644 index 1d7e081..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json +++ /dev/null @@ -1,2 +0,0 @@ -{"firstName":"fornavn","lastName":"etternvan","address":"addresse","zip":10,"gender":null,"age":0,"numberOfPersonsInHousehold":1,"shoppingTrips":null,"recommendedProductID":-1,"anonymous":false,"customerID":1} - diff --git a/EC-Shop/tdt4140-gr1864/web.server/customer.json b/EC-Shop/tdt4140-gr1864/web.server/customer.json deleted file mode 100644 index afcdabb..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/customer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "customerID": 1, - "firstName": "fornavn", - "lastName": "etternavn", - "address": "addresse", - "zip": 1020, - "recommendedProduct": -1 -} - diff --git a/EC-Shop/tdt4140-gr1864/web.server/pom.xml b/EC-Shop/tdt4140-gr1864/web.server/pom.xml deleted file mode 100644 index 8d2eb63..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - 4.0.0 - jar - - - tdt4140-gr1864 - tdt4140-gr1864 - 0.0.1-SNAPSHOT - - - tdt4140-gr1864 - web.server - 0.0.1-SNAPSHOT - web.server - http://maven.apache.org - - - UTF-8 - 9.3.9.v20160517 - - - - tdt4140-gr1864 - tdt4140-gr1864.app.core - 0.0.1-SNAPSHOT - - - junit - junit - 4.12 - test - - - javax.servlet - javax.servlet-api - 3.1.0 - - - org.eclipse.jetty - jetty-server - ${jettyVersion} - - - org.eclipse.jetty - jetty-webapp - ${jettyVersion} - - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.0 - - - pre-unit-test - - prepare-agent - - - - post-unit-test - test - - report - - - - - - - org.eclipse.jetty - jetty-maven-plugin - ${jettyVersion} - - 0 - stopMe - 9966 - - - - start-jetty - pre-integration-test - - start - - - - stop-jetty - post-integration-test - - stop - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - 2.16 - - - integration-test - - integration-test - - - - verify - - verify - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java deleted file mode 100644 index 1045bda..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java +++ /dev/null @@ -1,233 +0,0 @@ -package org.web.server; - -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.json.simple.JSONObject; -import org.web.server.persistance.Persister; -import org.web.server.serializers.Serializer; - -import tdt4140.gr1864.app.core.Customer; - -public abstract class AbstractServlet extends HttpServlet{ - - /** - * Enum class for HTTP methods. - * @author Ruben Johannessen - */ - public enum HTTPMethod { - GET("GET"), - POST("POST"), - PUT("PUT"), - DELETE("DELETE"); - - private final String method; - - private HTTPMethod(String method) { - this.method = method; - } - - public String toString() { - return this.method; - } - } - - private final String JSONRespons = "application/json"; - - @SuppressWarnings("rawtypes") - protected Class cl; - - protected Serializer serializer = Serializer.init(); - protected Persister persister = Persister.init(); - - protected boolean hasGet = true, - hasPost = true, - hasPut = true, - hasDelete = true; - protected JSONObject options = new JSONObject(); - - /** - * Setup method called when servlet is created. Must set Class cl field. - */ - protected abstract void setup(); - - @Override - public void init() throws ServletException { - setup(); - super.init(); - } - - /* - * Under is `do***` method for the five different request-methods we support. - * You can disable a method by setting the `has***` fields for the specific method to false in setup. - * `do***` methods can be overridden if needed. - * - * Options method sends the `options` JSONObject with the response, witch can be used to describe wanted JSON syntax. - */ - //TODO: HTTP Errors - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (! hasGet) resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); - - // Authorize - int customerID = -1; - try { - customerID = Integer.parseInt(req.getParameter("customer-id")); - } catch (NumberFormatException e) { - resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); - return; - } catch (Exception e) { - e.printStackTrace(); - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return; - } - - String json = ""; - try { - json = persister.read(customerID, cl); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - resp.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } catch (Exception e) { - e.printStackTrace(); - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return; - } - - System.out.println(json); - if (json == null || json.equals("null")) { - resp.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - - resp.setContentType(JSONRespons); - resp.setStatus(HttpServletResponse.SC_OK); - resp.getWriter().println(json); - } - - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (! hasPost) { - resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); - return; - } - - // Authorize - int customerID = -1; - try { - customerID = Integer.parseInt(req.getParameter("customer-id")); - } catch (NumberFormatException e) { - resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); - return; - } catch (Exception e) { - e.printStackTrace(); - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return; - } - - int id = -1; - try { - id = serializer.deserialize(req.getReader(), cl, HTTPMethod.POST); - } catch (Exception e) { - e.printStackTrace(); - resp.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - - // For returning ID of posted object - JSONObject jID = new JSONObject(); - jID.put("id", id); - - resp.setContentType(JSONRespons); - resp.setStatus(HttpServletResponse.SC_OK); - resp.getWriter().println(jID.toJSONString()); - - } - - @Override - protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (! hasPut) { - resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); - return; - } - - // Authorize - int customerID = -1; - try { - customerID = Integer.parseInt(req.getParameter("customer-id")); - } catch (NumberFormatException e) { - resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); - return; - } catch (Exception e) { - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return; - } - - try { - serializer.deserialize(req.getReader(), cl, HTTPMethod.PUT); - } catch (Exception e) { - resp.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - resp.setContentType(JSONRespons); - resp.setStatus(HttpServletResponse.SC_OK); - } - - @Override - protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (! hasDelete) { - resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); - return; - } - - // Authorize - int customerID = -1; - try { - customerID = Integer.parseInt(req.getParameter("customer-id")); - } catch (NumberFormatException e) { - resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); - return; - } catch (Exception e) { - resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return; - } - - try { - /* - * Ugly implementation of deleting Customer - * No other end-points should support deleting anyways... - */ - if (cl == Customer.class) { - persister.deleteCustomer(customerID); - } else { - serializer.deserialize(req.getReader(), cl, HTTPMethod.POST); - } - } catch (Exception e) { - resp.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - resp.setContentType(JSONRespons); - resp.setStatus(HttpServletResponse.SC_OK); - } - - @Override - protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - // TODO Add example request - resp.setContentType(JSONRespons); - resp.setStatus(HttpServletResponse.SC_OK); - - String allow = "OPTIONS, " + - (hasGet ? HTTPMethod.GET.toString() + ", " : "") + - (hasPost ? HTTPMethod.POST.toString() + ", " : "") + - (hasPut ? HTTPMethod.PUT.toString() + ", ": "") + - (hasDelete ? HTTPMethod.DELETE.toString() + ", ": ""); - allow = allow.substring(0, allow.length() - 2); - - resp.addHeader("Allow", allow); - resp.getWriter().print(options); - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java deleted file mode 100644 index 65cd11a..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.web.server; - -import tdt4140.gr1864.app.core.Customer; - -public class CustomerServlet extends AbstractServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void setup() { - cl = Customer.class; - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java deleted file mode 100644 index d223514..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.web.server; - -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.webapp.WebAppContext; - -/** - * Simple wrapper around the Jetty server, which boots the system using the web.xml configuration file. - */ -public class JettyServer { - /** - * The Jetty server. - */ - private Server server; - - /** - * Starts the Jetty server using our configuration files. - * @throws Exception - */ - public JettyServer() throws Exception { - // Server running at port 8080 - server = new Server(8080); - - // Use WEB-INF with web.xml instead of production configuration files. - WebAppContext context = new WebAppContext(); - context.setDescriptor(context + "/WEB-INF/web.xml"); - context.setResourceBase("../web.server/src/main/webapp"); - context.setContextPath("/"); - context.setParentLoaderPriority(true); - - server.setHandler(context); - } - - /** - * Start the server. - * @throws Exception - */ - public void start() throws Exception { - server.start(); - } - - /** - * Stop the server. - * @throws Exception - */ - public void stop() throws Exception { - server.stop(); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java deleted file mode 100644 index e65135c..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.web.server; - -import tdt4140.gr1864.app.core.Receipt; - -public class ReceiptServlet extends AbstractServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void setup() { - cl = Receipt.class; - hasDelete = false; - hasPost = false; - hasPut = false; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java deleted file mode 100644 index cf34fd1..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.web.server; - -import tdt4140.gr1864.app.core.Product; - -public class RecommendationServlet extends AbstractServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void setup() { - cl = Product.class; - hasDelete = false; - hasPost = false; - hasPut = false; - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java deleted file mode 100644 index 45f03d7..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.web.server; - -import tdt4140.gr1864.app.core.ShoppingTrip; - -public class ShoppingTripServlet extends AbstractServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void setup() { - cl = ShoppingTrip.class; - hasDelete = false; - hasPut = false; - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java deleted file mode 100644 index c34221d..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.web.server; - -import tdt4140.gr1864.app.core.ProductAmount; - -public class StatisticsServlet extends AbstractServlet{ - - private static final long serialVersionUID = 1L; - - @Override - protected void setup() { - cl = ProductAmount.class; - hasPost = false; - hasPut = false; - hasDelete = false; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java deleted file mode 100644 index e38a388..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java +++ /dev/null @@ -1,257 +0,0 @@ -package org.web.server.persistance; - -import java.util.ArrayList; -import java.io.IOException; -import java.util.List; - -import org.web.server.AbstractServlet.HTTPMethod; -import org.web.server.serializers.Serializer; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.ProductAmount; -import tdt4140.gr1864.app.core.Receipt; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.StripeShoppingTrip; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; -import tdt4140.gr1864.app.core.interfaces.Model; - -/** - * Calls persistance-methods in app.core - * @author vegarab - */ -public class Persister { - - /** Class names compared in switch-case */ - public enum ModelClasses { - ACTION(Action.class.getName()), - COORDINATE(Coordinate.class.getName()), - CUSTOMER(Customer.class.getName()), - PRODUCT(Product.class.getName()), - PRODUCTAMOUNT(ProductAmount.class.getName()), - RECEIPT(Receipt.class.getName()), - SHOP(Shop.class.getName()), - SHOPPING_TRIP(ShoppingTrip.class.getName()), - STRIPE_SHOPPING_TRIP(StripeShoppingTrip.class.getName()); - - private final String model; - - private ModelClasses(String model) { - this.model = model; - } - - public String toString() { - return this.model; - } - - public static ModelClasses fromClass(Class c) { - for (ModelClasses m : ModelClasses.values()) { - if (m.toString().equals(c.getName())) - return m; - } - throw new IllegalArgumentException("No value for this class in ModelClasses"); - } - } - - /** DBController used by persister-methods */ - private DatabaseCRUD controller = null; - - /* Used for singleton design */ - private static Persister persister; - - private Serializer serializer; - - /** - * Private constructor for singleton design-pattern - */ - private Persister() {} - - /** - * Retrieves a Persister object based on singleton design-pattern - * @return Persister object - */ - public static Persister init() { - if (persister == null) { - persister = new Persister(); - } - return persister; - } - - /** - * Calls correct function to persist changes that were serialized - * @param object Model object to persist - * @param c Class of model object - * @param method Persist-method to perform (CRUD) - */ - @SuppressWarnings("rawtypes") - public int persist(Object object, Class c, HTTPMethod method) { - switch(ModelClasses.fromClass(c)) { - case CUSTOMER: controller = new CustomerDatabaseController(); break; - case SHOPPING_TRIP: return -1; - default: - throw new IllegalArgumentException("No controller for this class"); - } - - switch(method) { - case POST: return create(object); - case PUT: update(object); return -1; - case DELETE: delete((Model) object); return -1; - } - - return -1; - } - - /** - * Reads and serializes data from the database, based on customerID and Class c - * @param customerID ID to retrieve data based on - * @param c Class of Servlet, decides how to read and serialize - * @return JSON String - * @throws IOException - */ - public String read(int customerID, Class c) throws IOException { - String json; - - switch (ModelClasses.fromClass(c)) { - case CUSTOMER: json = readCustomer(customerID); break; - case PRODUCTAMOUNT: json = readProductAmount(customerID); break; - case RECEIPT: json = readReceipt(customerID); break; - case SHOPPING_TRIP: json = readShoppingTrips(customerID); break; - case PRODUCT: json = readProductRecommendation(customerID); break; - default: - throw new IllegalArgumentException(); - } - return json; - } - - - private String readProductAmount(int customerID) throws IOException { - controller = new CustomerDatabaseController(); - Customer customer = (Customer) controller.retrieve(customerID); - - if (customer == null) throw new IllegalArgumentException(); - - List sl = customer.getStatisticsForAmountBought(); - - return Serializer.init().serialize(sl, ProductAmount.class); - } - - - private String readProductRecommendation(int customerID) throws IOException { - controller = new CustomerDatabaseController(); - Customer customer = (Customer) controller.retrieve(customerID); - - // No Customer - if (customer == null) throw new IllegalArgumentException(); - - // Calculate recommendation - customer.giveRecommendation(); - - // If there is no recommendation to give - if (customer.getRecommendedProductID() == 0) return "{}"; - - controller = new ProductDatabaseController(); - Product product = (Product) controller.retrieve(customer.getRecommendedProductID()); - - return Serializer.init().serialize((Model) product, Product.class); - } - - /** - * Reads ShoppingTrips from database based on customerID, serializes them - * and returns the JSON string - * @param customerID ID to retrieve Trips from - * @return JSON String - * @throws IOException - */ - private String readShoppingTrips(int customerID) throws IOException { - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - List trips = stdc.retrieveAllShoppingTripsForCustomer(customerID); - - // If there are no trips - if (trips.isEmpty()) return "[]"; - - serializer = Serializer.init(); - return serializer.serialize(trips, ShoppingTrip.class); - } - - /** - * Reads Customer from database based on customerID, serializes it and - * returns the JSON string - * @param customerID ID to retrieve Customer from - * @return JSON String - * @throws IOException - */ - private String readCustomer(int customerID) throws IOException { - controller = new CustomerDatabaseController(); - return Serializer.init().serialize(controller.retrieve(customerID), Customer.class); - } - - /** - * Reads all receipts for a given customer and serializes it. - * @param customerID The ID of the customer to find receipts for. - * @return The serialized list of receipts. - * @throws IOException - */ - public String readReceipt(int customerID) throws IOException { - ShoppingTripDatabaseController shoppingTripController = new ShoppingTripDatabaseController(); - ActionDatabaseController actionController = new ActionDatabaseController(); - CoordinateDatabaseController coordinateController = new CoordinateDatabaseController(); - - List trips = shoppingTripController.retrieveAllShoppingTripsForCustomer(customerID); - - if (trips == null) { - throw new IllegalArgumentException(); - } - - List receipts = new ArrayList<>(); - - for (ShoppingTrip trip : trips) { - trip.setActions(actionController.retrieveAll(trip.getID())); - trip.setCoordinates(coordinateController.retrieveAll(trip.getID())); - receipts.add(new Receipt(trip)); - } - - return Serializer.init().serialize(receipts, Receipt.class); - } - - /** - * Creates object in database - * @param object - * @return id of object - */ - private int create(Object object) { - return controller.create(object); - } - - /** - * Updates object in database - * @param object - */ - private void update(Object object) { - controller.update(object); - } - - /** - * Deleted object from database - * @param object - */ - private void delete(Model object) { - controller.delete(object.getID()); - } - - /** - * Deletes a Customer - * @param customerID id of Customer to delete - */ - public void deleteCustomer(int customerID) { - controller = new CustomerDatabaseController(); - controller.delete(customerID); - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java deleted file mode 100644 index 61d4022..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.web.server.serializers; - -import java.io.IOException; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; - -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Receipt; - -/** - * A Jackson serializer module. This implements a custom serializer, which serializes - * Receipt objects in an actually meaningful way. When this module is registered, you - * can use Jackson as normally but have Receipts serialized nicely. - * For usage, see the Serializer class, where this plugin is being used. - */ -public class ReceiptSerializer extends StdSerializer { - - private static final long serialVersionUID = 1L; - - - /** - * Boilerplate constructors for Jackson. - */ - public ReceiptSerializer() { - this(null); - } - - public ReceiptSerializer(Class receipt) { - super(receipt); - } - - /** - * This method receives Receipt objects from Jackson and serializes them using a custom serializer. - * We manually control where JSON sub-objects start and close. - * @param receipt The Receipt being serialized. - * @param jsonGenerator The JSON generator, provides an API for generating JSON data. - * @param serializer The Serializer which uses this plugin. - */ - @Override - public void serialize(Receipt receipt, JsonGenerator jsonGenerator, SerializerProvider serializer) throws IOException { - // The root object. - jsonGenerator.writeStartObject(); - - // The shopping trip start time. - jsonGenerator.writeNumberField("date", receipt.getShoppingTrip().getEnd()); - - // Whether the invoice has been paid or not. - jsonGenerator.writeBooleanField("charged", receipt.getShoppingTrip().getCharged()); - - // The total price of the shopping trip. - jsonGenerator.writeNumberField("totalPrice", receipt.getTotalPrice()); - - // Object contaning individual item data. - jsonGenerator.writeFieldName("items"); - - // The object for items. - jsonGenerator.writeStartObject(); - - // Loop through all the items, add the amount and the total price for all the items of that type. - for (Product product : receipt.getPrices().keySet()) { - jsonGenerator.writeFieldName(product.getName()); - jsonGenerator.writeStartObject(); - jsonGenerator.writeNumberField("total", receipt.getPrices().get(product)); - jsonGenerator.writeNumberField("amount", receipt.getInventory().get(product.getID())); - jsonGenerator.writeEndObject(); - } - - // Items closing tag. - jsonGenerator.writeEndObject(); - - // Close the root object. - jsonGenerator.writeEndObject(); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java deleted file mode 100644 index 914ef0d..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java +++ /dev/null @@ -1,281 +0,0 @@ -package org.web.server.serializers; - -import java.io.BufferedReader; -import java.io.IOException; -import java.util.List; - -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.web.server.AbstractServlet.HTTPMethod; -import org.web.server.persistance.Persister; -import org.web.server.persistance.Persister.ModelClasses; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.Version; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.module.SimpleModule; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Receipt; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DataLoader; -import tdt4140.gr1864.app.core.interfaces.Model; - -/** - * Generic (de)serializer for web.server - * @author vegarab - */ -public class Serializer { - - /* global objects used for tests */ - private Object object; - - /* Used for singleton design */ - private static Serializer serializer; - - /* Used for persisting objects to/from database */ - private Persister persister = Persister.init(); - - /** - * Private constructor for singleton design - */ - private Serializer() {} - - /** - * Retrieves a Serializer object based on singleton design-pattern - * @return Serializer object - */ - public static Serializer init() { - if (serializer == null) { - serializer = new Serializer(); - } - return serializer; - } - - /** - * Deserializes JSON data from reader into POJO. Does handle non-POJO models - * based on the objects class. Further calls functionality in persistence-layer - * through Persister-class based on method - * @param reader BufferedReader with JSON-data - * @param c Class of object to deserialize to - * @param method HTTP method - */ - @SuppressWarnings({ "rawtypes" }) - public int deserialize(BufferedReader reader, Class c, HTTPMethod method) { - - /* For classes that needs more advanced serializing */ - switch(ModelClasses.fromClass(c)) { - case SHOPPING_TRIP: object = deserializeShoppingTrip(reader); break; - default: object = genericDeserialize(reader, c);break; - } - return persister.persist(object, c, method); - } - - /** - * Generic deserializer that can serialize POJOs with Jackson annotations - * @param reader BufferedReader with JSON-data - * @param c Class of object to serialize to - * @return object - */ - @SuppressWarnings({ "unchecked", "rawtypes" }) - private Model genericDeserialize(BufferedReader reader, Class c) { - ObjectMapper mapper = new ObjectMapper(); - - try { - object = (Model) mapper.readValue(reader, c); - } catch (IOException e) { - e.printStackTrace(); - } - return (Model) object; - } - - /** - * Serializes POJO into JSON. - * @param o Model object to serialize - * @param c Class of object - * @return JSON String - */ - @SuppressWarnings("rawtypes") - private String serialize(Model o, Class c) { - ObjectMapper mapper = new ObjectMapper(); - String json = null; - try { - json = mapper.writeValueAsString(o); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - return json; - } - - /** - * Serializer that handles classes that requires more advanced - * serializing - * @param o objcet to serialize - * @param c Class of object - * @return JSON String - * @throws IOException - */ - @SuppressWarnings("rawtypes") - public String serialize(Object o, Class c) throws IOException { - /* For classes that needs more advanced serializing */ - switch(ModelClasses.fromClass(c)) { - case RECEIPT: return serializeReceipt(o); // We deliberately do not cast here; it is handled in the method itself - case SHOPPING_TRIP: return serializeShoppingTrip(o); - case PRODUCTAMOUNT: return serializeProductAmount(o, c); - default: - try { - return serialize((Model) o, c); - } catch (ClassCastException e) { - break; - } - } - return null; - } - - private String serializeProductAmount(Object o, Class c) { - ObjectMapper mapper = new ObjectMapper(); - String json = null; - try { - json = mapper.writeValueAsString(o); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - return json; - } - - /** - * Checks if incoming object is a list or single Trip, serializes based on that - * @param object List or ShoppingTrip to be serialized - * @return JSON String - */ - @SuppressWarnings({ "null", "unchecked" }) - private String serializeShoppingTrip(Object object) { - if (object instanceof List) return serializeShoppingTrips((List) object); - ShoppingTrip trip = (ShoppingTrip) object; - - return serializeShoppingTrip(trip).toJSONString(); - } - - /** - * Serializes a single ShoppingTrip, returns JSONObject - * @param trip ShoppingTrip to be serialized - * @return JSONObject - */ - @SuppressWarnings("unchecked") - private JSONObject serializeShoppingTrip(ShoppingTrip trip) { - // Trip object - JSONObject jTrip = new JSONObject(); - - // customerID in Trip - jTrip.put("customerID", trip.getCustomer().getID()); - - // Coordinates - JSONArray jCoordinates = serializeCoordinates(trip); - jTrip.put("coordinates", jCoordinates); - // Actions - JSONArray jActions = serializeActions(trip); - jTrip.put("actions", jActions); - - return jTrip; - } - - /** - * Serializes a list of ShoppingTrips to JSON - * @param trips List of Trips to be serialized - * @return JSON String - */ - @SuppressWarnings("unchecked") - private String serializeShoppingTrips(List trips) { - JSONArray jRoot = new JSONArray(); - - for (ShoppingTrip trip : trips) { - jRoot.add(serializeShoppingTrip(trip)); - } - return jRoot.toJSONString(); - } - - /** - * Serializes Coordinates based on ShoppingTrip - * @param trip trip to serialize Coordinates from - * @return JSON String - */ - @SuppressWarnings({ "null", "unchecked" }) - private JSONArray serializeCoordinates(ShoppingTrip trip) { - JSONArray jCoordinates = new JSONArray(); - JSONObject jCoordinate = new JSONObject(); - - for (Coordinate coordinate : trip.getCoordinates()) { - jCoordinate = new JSONObject(); - jCoordinate.put("x", coordinate.getX()); - jCoordinate.put("y", coordinate.getY()); - jCoordinate.put("timestamp", coordinate.getTimeStamp()); - jCoordinates.add(jCoordinate); - } - return jCoordinates; - } - - /** - * Serializes Actions based on ShoppingTrip - * @param trip trip to serialize Actions form - * @return JSON String - */ - @SuppressWarnings({ "null", "unchecked" }) - private JSONArray serializeActions(ShoppingTrip trip) { - JSONArray jActions = new JSONArray(); - JSONObject jAction = new JSONObject(); - - for (Action action : trip.getActions()) { - jAction = new JSONObject(); - jAction.put("timestamp", action.getTimeStamp()); - jAction.put("action", action.getActionType()); - jAction.put("productID", action.getProduct().getID()); - jActions.add(jAction); - } - return jActions; - } - - private String serializeReceipt(Object object) { - if (!(object instanceof Receipt) && !(object instanceof List)) { - throw new IllegalArgumentException("Argument passed to serializeReceipt was not a receipt or a list of receipts."); - } - - ObjectMapper mapper = new ObjectMapper(); - - SimpleModule module = new SimpleModule("ReceiptSerializer", new Version(1, 0, 0, null, null, null)); - module.addSerializer(Receipt.class, new ReceiptSerializer()); - mapper.registerModule(module); - - ObjectWriter writer = mapper.writer().withDefaultPrettyPrinter(); - - try { - return writer.writeValueAsString(object); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - - return null; - } - - /** - * Calls functions to deserialize ShoppingTrip with its trips and actions. - * app.core's DataLoader has this functionality, so it is used. - * @param reader BufferedReader with JSON-data - */ - private Model deserializeShoppingTrip(BufferedReader reader) { - String json = new String(); - try { - for (String line; (line = reader.readLine()) != null; json += line); - } catch (IOException e) { e.printStackTrace(); } - - /* Properly persists JSON to Trips/Coordinates/Actions */ - ShoppingTrip trip = DataLoader.loadShoppingTrip(json); - return trip; - } - - /* Used by tests */ - public Object getObject() { - return object; - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml b/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 5a61061..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - ShoppingTripServlet - org.web.server.ShoppingTripServlet - - - - CustomerServlet - org.web.server.CustomerServlet - - - - ReceiptFetcher - org.web.server.ReceiptServlet - - - - StatisticsServlet - org.web.server.StatisticsServlet - - - - RecommendationFetcher - org.web.server.RecommendationServlet - - - - ShoppingTripServlet - /api/v1/shoppingtrip/ - - - - CustomerServlet - /api/v1/customer/ - - - - ReceiptFetcher - /api/v1/customer/receipt/ - - - - RecommendationFetcher - /api/v1/customer/recommendation/ - - - - StatisticsServlet - /api/v1/customer/statistics/ - - diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java deleted file mode 100644 index 0d55218..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.web.server; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; - -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.web.server.AbstractServlet.HTTPMethod; -import org.web.server.serializers.Serializer; - -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.database.TestDataLoader; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; - -public class SerializerTest { - - @BeforeClass - public static void setup() { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - new TestDataLoader(); - } - - @Test - public void testSerializerWithCustomerExpectCorrectFirstName() throws FileNotFoundException { - FileReader fr = new FileReader("customer.json"); - BufferedReader reader = new BufferedReader(fr); - Serializer sr = Serializer.init(); - sr.deserialize(reader, Customer.class, HTTPMethod.PUT); - Customer customer = (Customer) sr.getObject(); - - CustomerDatabaseController cdc = new CustomerDatabaseController(); - customer = cdc.retrieve(1); - - Assert.assertEquals("fornavn", customer.getFirstName()); - } - - @Test - public void testDeserializeCustomerExpectCorrectJson() throws IOException { - Customer customer = new Customer(); - customer.setCustomerID(1); - customer.setFirstName("fornavn"); - customer.setLastName("etternvan"); - customer.setAddress("addresse"); - customer.setZip(10); - FileReader fr = new FileReader("customer-deserialize-test.json"); - BufferedReader reader = new BufferedReader(fr); - String expected = reader.readLine(); - reader.close(); - - Assert.assertEquals(expected.charAt(0), Serializer.init().serialize(customer, customer.getClass()).charAt(0)); - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java deleted file mode 100644 index 188235c..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.web.server; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.ClientProtocolException; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.util.EntityUtils; -import org.json.simple.JSONObject; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.database.DataLoader; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; - -public class WebServerIT { - - @BeforeClass - public static void setup() { - DataLoader.main(null); - } - - @Test - public void testPostDemographics() { - JSONObject json = new JSONObject(); - json.put("customerID", new Integer(7)); - json.put("firstName", "SomeName"); - json.put("lastName", "SomeLastName"); - json.put("address", "Kings Road 6"); - json.put("zip", new Integer(10)); - - DefaultHttpClient httpclient = new DefaultHttpClient(); - HttpPut httpPost = new HttpPut("http://localhost:8080/api/v1/customer/?customer-id=7"); - HttpResponse response2 = null; - httpPost.addHeader("content-type", "application/json"); - try { - httpPost.setEntity(new StringEntity(json.toString())); - response2 = httpclient.execute(httpPost); - } catch (UnsupportedEncodingException e1) { - e1.printStackTrace(); - } catch (ClientProtocolException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - try { - System.out.println(response2.getStatusLine()); - HttpEntity entity2 = response2.getEntity(); - EntityUtils.consume(entity2); - } catch (Exception e) { - e.printStackTrace(); - } - - CustomerDatabaseController cdc = new CustomerDatabaseController(); - Customer customer = cdc.retrieve(7); - - Assert.assertEquals("Kings Road 6", customer.getAddress()); - Assert.assertEquals(10, customer.getZip()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/web.server/trip.json b/EC-Shop/tdt4140-gr1864/web.server/trip.json deleted file mode 100644 index 9b65d33..0000000 --- a/EC-Shop/tdt4140-gr1864/web.server/trip.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "customerID": 1, - "path": [ - { - "x": 12.0, - "y": 12.0, - "time": 123 - } - ], - "actions": [ - { - "timestamp": 123, - "action": 1, - "productID": 8 - } - ] -} From cbc045b9f2b53a0d1efbbd5ee5261e39760ff805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 21:54:28 +0200 Subject: [PATCH 4/9] Try again for Travis CI --- tdt4140-gr1864/app/src/main/java/org/app/App.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tdt4140-gr1864/app/src/main/java/org/app/App.java b/tdt4140-gr1864/app/src/main/java/org/app/App.java index 54560bd..d7b5ba6 100644 --- a/tdt4140-gr1864/app/src/main/java/org/app/App.java +++ b/tdt4140-gr1864/app/src/main/java/org/app/App.java @@ -20,7 +20,7 @@ public class App implements AppListener { private static App app; /** - * The Thread running the DataMocker. + * The Thread for running the DataMocker. */ private Thread mockerThread; @@ -74,4 +74,4 @@ public static void main(String[] args) throws Exception { App.initialize(); OwnerApp.launch(OwnerApp.class, args); } -} \ No newline at end of file +} From 593be0270873d52a9583ddca72899c8d651c5f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 21:57:18 +0200 Subject: [PATCH 5/9] Added travis.yml --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e00e4fc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: java +sudo: false +script: mvn clean verify +notifications: + email: false From 4eaf17af3cf1243824f9c5468998035b7f8f6934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 22:02:07 +0200 Subject: [PATCH 6/9] Added path to pom to .yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e00e4fc..243aa60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: java sudo: false -script: mvn clean verify +script: mvn clean verify -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS notifications: email: false From 8ffc5491eab73b41a142871244864e84daaddd52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 22:11:35 +0200 Subject: [PATCH 7/9] Deleted hanging FxAppTest. Was emtpy anyways. --- .../java/tdt4140/gr1864/app/ui/FxAppTest.java | 21 ------------------- 1 file changed, 21 deletions(-) delete mode 100644 tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java diff --git a/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java b/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java deleted file mode 100644 index d2fa416..0000000 --- a/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package tdt4140.gr1864.app.ui; - -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.testfx.framework.junit.ApplicationTest; - -public class FxAppTest extends ApplicationTest { - - @BeforeClass - public static void headless() { - if (Boolean.valueOf(System.getProperty("gitlab-ci", "false"))) { - GitlabCISupport.headless(); - } - } - - @Test - public void testFxApp() { - Assert.assertTrue(true); - } -} From c693c1eddea4e536f8efa1171d5f3f4c9f1aee7f Mon Sep 17 00:00:00 2001 From: Vegar Andreas Bergum Date: Mon, 23 Apr 2018 15:16:49 +0200 Subject: [PATCH 8/9] updated readme badge and description --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f76dcb..103d897 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,13 @@

    E.C. Shop :apple: :bacon: :hamburger: :stuffed_flatbread:

- - + This is a school project developed associated with the subject TDT4140 at NTNU. +The project was developed using SCRUM, split into three sprints. A private +Gitlab-instance was used - this repo is a clone of the final release. Issues, +wiki and pull-requests were not migrated. E.C. Shop is a system for tracking customers in a store, similarly to systems such as Amazon's Amazon Go. The system tracks customer inventories as they move @@ -19,6 +21,8 @@ items in stock, and visualizations of customer movements throughout the shop. - [Data providers](#features-for-data-providers-customers) - [Installation](#installation) - [System Architecture](#system-architecture) +- [Tools we've used](#list-of-tools-weve-used) +- [Documentation](#documentation) ## Feature overview ### Features for service providers / shop owners @@ -114,3 +118,7 @@ The `app` module is responsible for starting and stopping the system cleanly. * Eclipse - An open source IDE that is primarly used to develop in this project * JavaFX - A set of graphics and media packages. * JDBC - Short for Java Database Connectivity and is a standardized interface for java applications that communicates with a database. + +## Documentation +[REST-API documentation is found here.](https://github.com/strandlie/EC-Shop/blob/master/tdt4140-gr1864/web.server/README.md) + From ffd6465d04537f63526693e5ef7c1113c7e16d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Mon, 23 Apr 2018 16:21:37 +0200 Subject: [PATCH 9/9] Added correct Maven build, and support for codecov.io --- .travis.yml | 6 +++++- README.md | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 243aa60..687dcc4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: java +jdk: + - oraclejdk8 sudo: false -script: mvn clean verify -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS +script: mvn clean install -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS notifications: email: false +after_success: + - bash <(curl -s https://codecov.io/bash) diff --git a/README.md b/README.md index 103d897..40990dd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Shop :apple: :bacon: :hamburger: :stuffed_flatbread: - + This is a school project developed associated with the subject TDT4140 at NTNU. The project was developed using SCRUM, split into three sprints. A private
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%0Dwnv^`@pFv8?+w2T9oq9_& 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�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

j)4Q2oFZPtaZtJmqO}KU*^mQ#d$U~t1?;CxP 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 bbnyAlN6i6C6-q6&#r_p`r@_g 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≦?3P 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%0As(vY z5Y-%V2u*(TcCOs|UnMmuEU&*O@Nib3sBoO2-Rn3%LjF-Bx-OemWa#>$R3e0TC!8C)k1R^mB?Pc;B?61Vs zHnHcDGMg2b5jM6oF{u{T7G|@rm{bJi66xhr$PH$CSc93pN5pw7o#5%!-_DYU`m8Ek zh~y<3B4h)b*|qT*L36pO-)k8TGeX-XKjoMl%-4JxJ8*9~)`Bsn<$1QXKV34UAJ04f zQ6$Z=^T^f7d3eK9P z$lf&!NGoQjNLnb~klA5hO}u)h#j!7GyeZ~ka@a?uYLaAB%`u*{xPuh(fo#C~5!*HC z30gAy*NFG<&CE*AetvPEK!-7!7SY=DWC!XZs;yddghBNQ&kp~aVxqK{9{V$_N(=Or1(GN$1@40@SCMbZm4n~TpWUfbukF;uV!vqn+2iI z#4?=@FC(?ONVBQDiNlP#;P}%Nv2DH>{@FZ;2l)O2B>4Sr|MA}suxkJ7e&5R5Q=N}q zQdi=AaO7?N}#@WiEL}{ZdF=KtX2uQl!XJU8-Ywp!D zviv^0M3d7jzjhF<&fL%Rh3N=mvuxl3do@#UY^#N+!X^C~Zt6*!r~~CM>URirVm?qZ z(z0C!3qR6{7(+^jW-fTD;zHr@wIIo(e;Zb*E_I-&@dKkayOX)K1~8EQX9As&VGyyl z+ZR$AwVAFX=rU-VnXMRfdZoGjy7P+xJJWfWbva0?wvi4Y)g@1Y0GDu$`otAqU~(U; z)ozO{#(|u&UyG@UV;EB+S9e^W{nH9u4JRBTZXmE9_f_kd#^0A{ zg8BuL{-k|(2URi}>rfI51CmBL9_hq^mGZu&y@^xQXC2PO^-mh+A!9nVxrXtMm*VwsEL8-sGA zITroJHr5SVjaj`3wii=g2C$SqYJ|Y1b)|nw_8KfQM;P!`_&*8t`$rQq_pWSkv_|EU zIzggZN~u$~1fdxI1~BnY=ucwnO0wa&XB$~pTU8jF!Zh9&`tDIzPkXm0JY5P$Ut9_v znLS+COBKyItk+lw+u7FK?N}!DKI7IR zQ?Zf9-5%$_6|>p?0>2z8up+KC8;ZO@e_qpLy1_W@&TX@l$&xFxKRALodQv14B*F%g zk@#Lu-L^4_qt^b?b-EXns@>PKtL|#H>SnNuF`4Y8qCYZgx?CJz|{SNe0;y(jl(+#AT05pUKQ8ODVxF!`~$&nPOj)JA#x zkOXGNBwW>4(C{LZrf}AaTj~Ti6w$;1Ald0=^>vxyjY%ABYsU_dh`R1YSrx?PYMCr%n@aFj*F?T3 z*#KcAROmFjeD9omf;hjx7x`4*iwKcrfbpyBSc$bx!}pvo`zUepoaQlR%Z`(AJ~K;= zE~S)RV#TqgP);l83*yCjA!5NA+CN}qXw`~bi%_NB#v&&bHe>sW$i%Vi7{1VDgMUXS@0lCL#`?1qkRv$FIS%7 zHFrKzi|N#zNE#RgXMFZ5S*VvfUZ#H;LK{+1=p^=kuRxn{v;bW;0n7GN1TR}Etd6@s z*E*3zR?G%b*v%(or+pPR@Liz-J-}>ZAyLkaglruX^jMbDgnTE@a+!sP?2vf;)h{x3 z6xz;sdfj@}8g{44iV|Hq0|9Hd6DYZJCdSXLp7{7I3o?c3+dBC6aM!Unxj741N_q~w z*(0cCjlpU5Ql9{G`76^S5PkS}gdaq&+2`CAx|?y_H$n}f{6B?CQN@^X!md@ZmCaUq ze%`$wIqkWmv33R`d@;VKAg?!b&KEtYfIgUV2mpN6*%`Om`u(A|bp`b9)g>aI%)G7} zfemcG7@THjhk#)$7(r>Pai zjTDRT=h-n-E6y_hb({mx#Cm7oZ#33y+|bf~6@~Kv_ADGW z!v-A_*Mn_T*Vo~KTEqzBQD>dj%5Og|EmcW*b=?PeGgnUclB!TUl|VQPR7%xpcI+Pl zIrYl+FS*fFLIMUOTYS$;Spp`1Z^CC~mf*uNd5|lYmUK;>Qp?kXFn>x4D{xu}Dm)Gj z3I_FtPLzhBmb7lHk6jVPMId>t49m);{9C zopuD`5^$M&?K3EewcjD>#yhLz=ZVhI zvN-FzujPH&K$FDi;eZ#jQZ>E9lJE&hF*7--Lod+DLYxxAF-UAbVY~1K(O@oF-&3+p z5%!ScK2Sh+?2{fHsjyN6Vr2Lo8Pk;PGP@o7^XuqG;N7tRcxQ<%F*lt5;fnl}?3@al zkm@m(cRV`(4Er_n&cz}@LM(*Xk5KeEs1~P9rmXPk;*`nA#-%n~O|`Gr1h&mTfvAh0 zgsB2zvZ=vRP<}jCiQYgIJ=Qx#CrZe@%tvd}Auo^I%rmXn>X=s6vd4?URk%{MshDJ> z-9s!u#ZF*xQVaSueYM1hW)MpysGX>xq>@t9*^Pty98;N22(-qDIghw;iVcN@kOPl$ zmH~Fylw@Ho^u?;-B5qds9Y302AKb6a_XtI_DHB6_-r8<*5$X@mfyu-O6;g{CR=yza_-NmM&?H91MUQNH-HyL5YIJPtpuQ9q1n~VjW<7Vf1t#&x zsz~n39ySbTzU-~9e@#PNAE9Oqf%_~2>pe#T*o%OAs4i{l}mKaOkXbOR0_ z$L)HbuHTUc8^`CU9eN)R2Q`k5o8zr<+&O*^3CG(N$M0d|e3j1!;1bun-`DF`IHBXX z*NfwFa_q<6Uh6fE4+i%f^$Fw9!GA9rzV6iATAuxV*oNS;hdqw_&Bg9`mu&#$aeT$; z>gWL)H#@A}+YuOCAdX{Z@1wI{91jq)Me`X3YY;+HvvmLjAPVIBxv-tSt`f#fu!M={VjG-up-mxA*t*#SaDQaoq2mCq0hq z;XJDxzax2%509DWW0m#uJ-zQ(HDhZT$L~Ebj^8`xdqw;;-b)MfFacD7YbvVl$7ry`A z-TD2nyM2rom#Z;u?*Y0rba6BL=pDpB#thh*f8#am{C+DO*BH2Qe8uruINqCv*6X!W zedYFiM;s3xLEP@u+xzwQI6hl`KX%bQM>m$x9g-3p_c*@h+u-;vp1z*3OV?O5Z(}kZ z_uRq{Y<*BbdK?dGTwI=ykFm**!;_B>4)4xkzp7`iaqP|PW5u3(gj6v$V-=ixR6a3w zC&xV6vGMK3#NN8cM`a?9M;YHf&u8MlkNd^(eOz&T4m-_#b z;jn!k9$3n70OGjE@ws=8WLZOc8`w@vtImq^|*4nO{;(LYVNqYyTtqW;@e@V--n|!-8kl`ogAG9 zKi*GvtlcSjk9ja$lFIQl26AjgV~ZM-Zv1|@G#8VuRrbsM;QKYU-}hWCEspnamBxy? zV+q{s&fC~!#$g3Y{vZF#Xlyb>C~MsFdtHpf z^Tz!sCx_SOr`+-X?5_qZH5`Mtj}*t{(ox`dLllkAFOP4IH$Jc1>G2Wg{a@ba-O2_6 z(S{Jhd!g|UWA7XP@ZMTK|Dm1n(_iD3t_uO7D_Zq_$MJg{-gTak8fOMeEW=FzRl?PZy(<~YyA8BKDOaq$CmKy6T5>>$2)K%*3;b@9MaVDogw4kHvq3rEvaoLd zyUc@@CZ6rBCCcv9xYbDCL<#j=u?MhMv94Y>YvCx;bYDn#vOuZ`lJZoV%KNqo@I@yC8wdVFB1Im6zjSBdL zH$}=aO&LJq;nPft&aGZznbpG(mDQ$YN0HXuyLIy9UH7_h) zN3}jXhLP(3%F;v$fQ(LzbX+PP=9uix9+}(T6Gtm4X(=mrX%q*zx6j(M@znmRc?$m5^{y)O2KrYkff}FGN#XCX?j8m*{nO4{U}HN zSa~7IN0GZ@c^Yh3iN!KFvQaBtMJ0}rfJ*rVI33B4JQ5Nu*(Q>na%SiyX`i;$jkDhl zAlyx+L&|+!%ffi95;gdHw#B3hXqNR(V+X@63wLRLE(ML;3?p7;^_)`;>-D5W7=M~m zCPVDVohGJ5AkmjpC-QcVB&vOVNPBMf88nL-Y?fU@61@c;&5)P`k~Nq+@rj!G@<6Q| zu~de_88tM{~M3g4RduX`15K62GYOPs);lu+~LO zWK|%}Drt2KRCJTnY?6@FE`$T~)ABD)>u0{akr7nK8?voXocyv%f28%cxin58j)F&yMu)XC$8T;v3hT2aPd3p zfG|pU1x%QGvIXK1QM*}b*cJ&`nF9Mt4=CtYmdwI}Ih6;%804%ypEcoxwmhfRwQ-tB%&~nziCcDG723K3`vDGgU zgjh5t^W%IezbU=Ryd?|wg3*~;1F<){?kx?zrzi9(G8>bZeXk`OQggfZEn6&0cfn+& zK>HD{MC=N7>qYRh>j}jRBTTC~_2wt3?zKG!Rx4x$faW)A*X?$NY0mbq5@*h3j-4Dom=HM`L9 z9;}p!yXKK^mcdfk-7JiOPihIu`AqzF7@=80tPV+!4is#1w^AL_`W4g70)UUo7$aDV zNSMZQuqgo9rWSboSn{o!MAo8t4inM1p-gZMrQS%KU3y=(uaO9Xo5Z6F*a z>N(4zVcZ|#7W=#Tird-`gFdeQ{ZnQ)4c3~4;UFPv@$o6&eOIFl-#$BJueDFvmSs-` zp%MiAcxgmN3?*(lS`xJXvl1no5~_&gl@NzypY|4_4i#79u(OGw(gD1p-?3|l;?4Fn zm9J+hYP^jL8OC$5YCIk_FUsGfz#VfcmbguD!Uk0DrRU7Cy)}>*vO# z-XeWmvd9AWPQjc;$&eZtDctW4JBtk-Z(B35E!*mTt}e8-?pEn`%l{-nIZ1i744&JE z;1Wh{`y9Mk_FFRaJ0Z|2g#<&bOc<-AQh8GjXOeVcMTfVesj7?XLvPyVzH*_M!BmUQ zA-;1ObntX4CKzTIZQ2_|+W$lHij|Z+`k27s;ONs%H& z+N>PfpJC1pO%{)_2zl9Rg7~;o6RTt(4%cb6^#$5w>&TvQ-k{#QK@2x|8*}ZC1JoOZ z7OeLOK~-_E_HsYhy3}s%1FsD!=M*xGH?^n+rWMuQORwB2m=qu?S-mEY)D;OzXuWEz zJ3*5Aj8@vzNo$Kob*r7~CGipV!Zk$Ur8=z$kfv4_Yu^Yp8N9LHnJfCKb|KQ!<4SnR z>|x>792;@HI3raMLI&aGs7i7p{bCK5=B}o{>(ructsTQKG630ablS8r(C`dNzOE4pkoN((Mjad05abMDKxGk@`;F_ESPr z;4{y-zod|Av7pA+M3Kz7uIU8PE_c>fvG^!e$dDPOWZ%jf$aY&Um@@k>g05#FYwR-o zd)&O0wNI5uu|G1*-k*|yYj!hbE*mLQN+SG6nGEC0kS^~{j~gB>!%!aXH>wOh75gcg zT|<3+`?}0KTe@g>LIu_U#rk|B3=FC?QYNmeW$oZae;|c6RH!ywH~pa+&1#ae4r5zG zs4dl+K!8{6{*nv&BNXooR}}$8yFC^b5Md%UH7#>c|R-mCAZSkRtsCVB_E?H9qjb1@WuQ{`KGS2Pq5N>9mM?6LyI z>RM+lQXYiG(2}iL3M;1J0m*areDIQOOOx@*_Si0H#x9$x3{w%~VMABUNaN+auzK^S zWM~C?zExEtf67$b2!g#57l?&rFdl^}I#yQ}550={N^`Ij(paZ@+7eLTeo>C}!LP`f zoUUW$m|Fphm5t%dAj+Xz!C7HzRAX`OPDxo30SNrNm5dw-3K z7r@7*X`B2`Nh1?g?(5&rR;za`TOb6T;=} zw<*>UgW|5L-iNJw`&1;2nbQ{=SGGs6&7jBuZExhlO zHWtjC2t>uT4_wo1NE`1$E&#|M3Ec6|03M{=bX%5ugH?e%MBIkx7|U6VLlz0nUy8a} zo@n)?snx!W*LE*B94&}jibcTNApN<|O@zwmnN3LGk_8x3%t>9J`4;CDe?dP>(d4h; z6rbPkN8bkvnp9u-csB|K)My1U08IWSUj1yj_U(>mT?T!5I& z>;TK9z(e4L5qPm5+FAUEJ?UB0EnZqT3I?D}1Zm=crb(6WB3DiafUjcxu7&s3S=sE+ zTweqWEWz715-(qc5~5w}J*Oy5NujnZH9cwK#`NLUg|C;cEw{)tfH>g*Asf>d9nz^6 z6ys|mlL|U+Gef2LIh9({GnN)ZR1+xyLt&-h5H)(|GYNA>n$+TJ%3}#*wM93m6JHqy zQp`jpsjrSI#JJ3bQUcA|`eFg?olz*m^1bjAMz1|9om*DgX@8Un;x?(#;$A3`%FZ?) zRdST-W6{X>7!h)7+ziF9t6G1;IavrF@8w)K5SrL{H+m zdF@mD(Z6gzmu;%CYSVGb?oc@y4Dn|5I z2n~qXlGI^*yyeV#JzL!$(?V%a0M9G(^Jna3=l=bEiuZ0b8q7ZH$S}mdVLH9rQ#Y6m z&y+yo{X$oX+nBDkc(Su~%P-EybcvRwi_Ny={;VYAlB+7vKJ|9SGLFb!+iKxs>aWME z(2hWk%f8su=&zl&6ri#u_Yxsn%J(;R4S$4*!`vBer@;O3oExMl6X*EPnAJrkx1ZT2 zIG&AnF2HH_hS4=+g=>tpky`ul&K;sDH7Y~yOHd~IL~(&rdY7WBasOs;`*2= zo6b0idFpg%_h*}6td)UUz7(mDTl0Sq@iH{#Hyr2q$(9yt`oGZjBuxpQh^6q*PC~<1 z_WBfEV$rV25AiuY(p&9jrk-#W2HhSfGdEBYNQ;f)%!Yk+na0dKCNfk=b<1RC_^7td z)sa@TJV8@B;WcyZWZIVgvpX7q{H{qN`Y+~uQlU9vOO_3&&riNkSqL$5o_(BpSMB{9>)pYLa~ z?-Z+(Da3Qw(W!~WakAAdk`sws#nf^te9-wCBiSb5t7P*M^bGDtj7X53)R75wBHiuT z!h9wB%EWR=eDi8nU-NCh$`t%DNE5SRBRtmpj#O#r!~CejkGF?2#BW8l!5if7(V3n7 z?s)I3TfY7SijC_2@tbCo4Pb7Q(e>{Vl6obDT3`y}ia=u?>f zg9jFtMIF$SNqju>R1 zZAA)_&n(N`U8jW7S?(-S&Nhu#cCK;@)SOO^X3RGoS^>MMAA#LrtQ>>|ZK;UMkpDm7 z?J)?~p0MmIUSf8=UZgPRDBh2}+1wemoYvQhgsTcLz&-)shlKB}}}+p{quX8Y^ z3GP04jd3%g*)ZJvMHZa^oMnF2^dl291DCHEv?G_AttWz5(v@p<$Ay7G;g3`>VzP9; z@D8RYHV2!8eN38-qKRNJB*%tDa;bwFw&7ep$nDOIFjBl`O!i4oE}v+zU5|`|8bVRo zDlaw;^OShJ)od~Q?AfhdcqJ#s-9a@uZQq&lC~`xZ%PyG*FU-mzjIc2D0sBCV-R=jRz`dKxK^H`SzZfsxH&MuXE@QG=k$O~nCe332Vuw?1l>U(9gKcA=z1o^=l0{0^#POJDL*OM? z;7O8w(QSIM-*5!cCyG~0MM6AZlQI-eCf^~iM|o5BfCZNpEy%);Y5H+|Y+7Z-5NJiy zRU)ZNuy8E9C2YemT6u|KHaow?yz(|o{ASOsnq%^s*8VhMf-kO2Zfq}|_}5xB3m{A$ ztUV2r7|milC^9R-f7+c_@YYZHk60wchf={*50j<9>B2|B*tCFLt9{Q1M(^b{r*7XS zT@ZisIT;OZlv=GK(ZrHcQ94>-3LF`aUfRI9;9dso;;!(8-AKC-_bg_FrPJI~ooQzXtspgnmF=hJcF6meVP$}ON$CM2 zTB(&O6TU24X?8TpO}NM4pQ#zre)@_f(I*T|tn_O3Iq6Xl#Q? z*u$&Pqr8?mD_7;rp1EPk0{D_m>pOp%cZ_%5fq-eggO(`Y!b#^RG0*jVsJ&>evN8*4 zzw~I4O+jzap9x=UbiO@1Vt9-32iHJo7c^L2M<}T1IGz&R_A5dab_dBl6;tx4A|vHQKGrWw4=H8>qpa#oO{M2sbnV(CQ7^Xq4bTy zy*kL0?obRaik7i3F$QAMWu{PLP)QbOE6^sD83#U!TeK%_?G@fJvl}L|rJHdJH)geQ z>s_&EP=3p44r-Z%zZeBXqI`x@XY?t^eOVXCC3%~^8mKPEP*iQs~ znbBL;7so{c4{VA0&4D{soH^KV+tfRLI&~D%d3ze*!BZJ;g?DscABdCLF)11Q{%k48 zDeqaef#v@y$T8>w#1?cjG#z_qQE9Bbdu{%l602~k0i|jLS&i3o(BQ_dTx@81%LtaH zM-_t;w}OrZ0X|D5 z9a;O1XVQPzAy0DbfPZBM0n^pXT^KqOvx=pB4O_g0 zU`AMG?(8yHj|Z@zF6m)XoUsQ4Teg6QeQQnd_V`_H;9*)XexV&(K#6N#bQj`GS45^% zB%GF&qwhaSI7MN4Q1I|a6fwtvy~m8RSsvUldmAo8X}F=zG5g;MIhnybteCfZ9N8nX zEq8?Yr|rSrG_Rb1VJR`QtcRKy)t>KgEO?emTYUT`xhi|1u&*R`eetfD`ix*-N;K33 z$Trgf4C!X{v;txB7gAVb8<&z{KgrB0+SeTyvxL9h%et4`16HggN@`4lVPe4q_IuqU z1S7Kci&u6P$;s9zqBES9q1?74A`&DEWaPYslftIdxDJxeflgFeA96LJ znTKoiQF4xH7MK6gKiFb5yAf=$d2GyzJ@VtYT;r3U8CikdWFgU!aX)Zp$uv$`Dl${} zCvGbHq_3`zIz+2*gL@i2OaL8+hKaNY+fNO`=vAbq#%6*Se8Z8c7QT)VZapR%?mo;$ znt14;H&OdN%zX2umdP+0U%ET`3y1qskyQaepRM4mO(^Tu*MwSPTuyt&hh2#w8h>8Q zhY_2PS1ivrX6M1KcuA_yhE8W}f4sn84Nd7D{tpbk!`u0xzyFgc5qTtB;%j zW)E^9`(2pLKD)k$Z!s4|H%W+P40p`5B|G{tb5r6XTNWW3>0RlSyowb&2ipay5-P3Y z#$&7RR=+lSrLyo)x(WD?lIIxa{-oJ@2X~Au560C&_l+{ah+=HsjI)^}xH=W%G`oqUIB*jl5$zPS6aPyOq8XQfk`n@H6k# zoK^ai@QZuq$2aHAp@16c<dXqzlIw@F{#@n@7?Y+|&Uv5oi&ul+L94j*urM>Se6iaO#sp{z+tBjh)ElLmh^wZWjBgxap5Hc zZ>QM8(_g;o2_9g)Hv^F~Qtp-M6VDKa{KUDAmp)LFA%+)vWwe~I`+SUPm`en+l9zy- zfdsLz{J@xP|Nhhj{Qc`5I;LN5?9xozH;G4hk3Z(iri4W~`v{M)JXlL+?}5 zDJ+X!PYND}S%Ksx7HK;5*>-I{SX%b_h@Bh4CJ^L)e18trd+1t-ql{ye`qT~yEH_gw zk0Kx4x~xaFB?7ef6oLX>#np!(1}nQ^2+fx)xg7Ng%_OqzwG|r-+=CgK6rh+%=Q4+4 zyt2jU_vb^sAM%QV+;Myh8{f{}SIL}#Ri{ZWqrj?~=D{K3so(Sb<9uUTk5t1rJZK3- zjR3nc@&NksGBV*2!EKK}fwy5pV)A*>bl$KqF3y=0oq)BOgYg4)LulP~-YxBJkSGu} zqzAa7XU(lZD(_cGHJ!Do6ZEfHh{$S~eAjqUEnj}jIRM*zZjUb-PQ^UGaa-}^>`JaX zP_OSJklnW%{g;_qLL_oKLKC=^((Xnqve|W&6e^J{u9<)|&9IdXM!--Qs2ju0b1j+-TN~3&0UBVgK zf7Zk74Qtl0kOYj29i7Q-P7d-Wd-7VzQpU0ys`}exRGw>7z%Z9JyOK1$% zchuOTmh-*Oe@8GF*XuLGS>()_ovw!RV6qYp!3!WG)m5dymNS%7;B3^lFYtM#-@o=2 zh}b?Pv@`V#YtmGM7^S&eBSV~xrEA=tsc=*S+*13T{bSC4Uh2Is4_V`{{g{@T{F+4% zNq#dTx3Lzs*E+^J@qpaFO`nC;TF3^Ol3OiRI^UM+eSh3d+}voxFpe))B~?Q-XiSia zs4=6q5OlA+abKab&xd&GR~(-|sB%A&!P2ylEAfHVTo!&}9UdDPGj?l9&jK-=ve}DY8`v(zzjTujYh&O{b^Ws)=V} zQ(o!-BzKdjOtL6>6C3g#&l;w7Fg2|tFS423z9~o2e8~=83Qj@az9gsJDGCT;4M zAdN8pM2(Elv_2(-O}+XUw<-elnWb40=9*4I?~G2v7EFo;Q#6j8TXK$Kzr@eJ z&!tYl?q$FZn684DGeQVIb#>(bF?9A!=rp17iLP1FR$hx!Ve^Zj|D z_l4W&Z4k#4PQT z!zbxXk|yU^teZK4T|brmbUT*Un6gESWhPW6>Yy;=uyRx37eHcbs#4_!p9Yu1#2h zOo#_VhXAUWs?q|~U^|Bpi|WtoL7XerzzYF+3EYvcQf~l9e2nl%qNzVWZ1t!;?hy)RYs^EpvXtDdNasm?xoZSfVqrL$~ zt-abTdb`?PytOq*;T6<{GTmO2_TNJCo+j2X=9LV?t_cWmr z8=kho64t3!@S2ZRQWS5`Hx@_XHL!Xwn`;X$sC1@Vv&&I-imMsMgMOS}c8lyZe0*lS zmG8dWV|v(ev@(>`PBY)qjs>aLq!lSm?l8wlM~eia7!MHLTs1k_E3c zeddjABXH=!>578|z!>QFOvSvOj26o~1#f35*WCKCK~ld-g|@Y+@GdAupO9-QNTnW= z0d{|-^6RF?@m%H`ZvhgNl*hUJksD}$F~|>QcXYiX#VoDlH9v3d0sDXI01)8IgEG^; zElpu()wY-(UeWeg@MP+OD`26po|uOdSSB{L z0;U_&0C3VX= za6KCaQ1d}m2yKu}Nqm3q74N-cbl=?LxU11{F2#{4l$=Tgma%MFmN0>=fMfY2v$!ZD zi$B6`idAD<=eWK0{do&-hwF%jaQo)fY6E0B z1Tc0ZM?#U3Brp((NfoxU#O48rj|_QkkaFq(vxcx<^f3IR*)lU2U*bV&>!PVbUn zIF*!}tEkM#AhH}RWDN58e8=p($vrcDO6*_xQp+O)ix>xf#VMS+@;y>=-8e-GItIfG zRGN}lZE}o-yyX+cV8#cYTUNG4%#g&{WKm4Y*0i)N&t^uMz-f-_XL6A1$o_uJlDFl* z|9ZPs`)DZYVj!T7Qyi1(kSmZ*Yc64T$K8=Nd`t_|g*HW?tJ~Js9@f)51Oa{=9+r z4Q;)`Q{pvzP?KCbLKxe{WMuPsKl>TUiGms_w)q;5pgQN6813nlfj~ zCdc2CAQ9F{|HR@r{`P7bgE2! zQLJS1P;mt$8&>9>BL_J$n;SmQVCR}vmr)9Li-r(5P5lu9aSNel21H0{a2zG>maQoa zQ4A6O*5-~o&Msm_*&|7FtyR38i~f^V=5hhKM^fbXWpv6Etsuv;K`i0+ltx`!*KL4j zLcdr+hsLfuBD}VtQh5{NkO_RN4+)|y7f)UEWuM7P@=VS@1vX_fE5-du^0=xK3pcm$ffQIQMXKIR#l%dOORPzbUGR_(596OlGLA_C9}Z*oQHY(zry%7$r(c=cFSnI* zfI@(@@~l8Qtuj2<$V%~#rp7uZGd1kaj}bDc)v4e~Oc$6BRxjL&7%N@QWdnfVY2a$S zBk}pjgnvkCP}HTU2ZGiAqjrl&UimY>8?_btS%B#As>+>#Wj@de_l>_5sma$d0|2#a;$ge1c1;%F=B1sc8x#kPnx*_YKI1#jg{W!C8_*Z>Zy z$MyX&F7ILL@53_=_v~jDRRPyWGq3cY-Hgbf-T6!<3HV?BAcm zG3MwQeD3iNot!b%m5BUN1fY9y0xReTCIgUJv3i15p(SU62j6pdd`(xz%|81@!1u~% z3!1`aeDW$u{ViFrL2KewDTCj6|-+#Rq>iAJ#>xD9a6ui>c z6J#ZgExL?<8$ z>>4Xr+JY05$(i^I zODGnQLE36d(ge1w%pe7cN3$EI72Vi9o4qzyBq9eqkdh>J!~wf7VTx`7khgKom^jBa zp%I27ZV+wR~hE^}%)TPl-ixmUfsLSZ4O3*=RSO*a^)r`#n1i zYX40g5lNlvKqpJr0%^VT`q=upsFq2JQL?`qq17=R>oR)>#^BU_wu~%^P;XD8jkjs~ z{#ZSuW^CN|JI0^7=wRG(hG#2aY%~iyok?D7ta$MwVC{u(nQizeFro^>0yp@o+p^Z* zk;wPQ{rvvbMjcbk*tmrYPe1ij=^$gB3N;e@V;60@PSeCxMXXt)6_yP0aDOIw{QDh$ zcUc8gOXG*75+_C2X2g<9{>r^vEHFJ%Mh!$nnCf^YnZ1}bpj5afKa8+W$T2=K1VE;n z`j)u7`y5-Ug8F)k)@xf(>I9)UGuvx_dd?+DdMkgGl!~`ck%TiKmT05dNL}*l<@#vyg&-SRgjb&0@)kHn5~FoRxSxhvl_|xh*|dACTRaJr%ifab!gmIFA@3 zfuazV4w|bLD62j@hJ8S*J*e=EskpV92zeZIdmy3XkVOt(RDpzW4~f+>r0&G|&)|d} zDm(?{>u!r8-8L&sa$Y_?O3GhS|56U8gb;5DC4m^iF`lFvgLlr1i3K<&OCY4nmbX+JY|x^o$1$NLRbUP@!-4z#9@o@O7~?FM-Kp1f9 z(u4NGdYF@JJG0cbWYy|NNi=(3OV6*Q+QR+t8;uibS!zWV399n2+NE{zHyPx^Ojlgl zc*~Q_E+MFdRrVw%B;V3EqD@8(-9`V$ZkADqQ&6Z5dizAo%;~Umz zI$kMHP%>@YGfba4MQy3l&<1!?@r$>zFIcw74dA-EO!xe$bgy(D z<8AE{tBJ8Q`cs4+)R${=(UZ+D=vY5phUsn%E0#47p061iKR2eZ* zA8*^_<}y28!D>65H8fjU|(1IBR`xW^}X6#IiAYh9CLKROm21+@8CqgI&eeSaslSFw?T` zYCe^u)3(%9dI!RkW%~Zi5+n4=%wx~LH$~Y-u zC9915=gh&D1egqAvgz)=fcGY&vq9?Da)(^95=o(lr3`9S!?viJ)nPFiA8CU&pD zP3GAXA%7J+p>GMd;!%jeEompLj_f`h{>e~V z4T_i_E4BDym6}9V_V;vk;z@C1VupbWE@d|OSX_^7tLOC0?NDBnqYz}Kq`cTG__0xY zTV8IJRun_s9Flm6_T8W$ECbXSI4uWZ#SV~0JReDX_lSyA-7CC2R3%a#=ae}twazM1n^MX+}9U-z!P7n!?DJaHg7Tj>7 z8ldz37beu=NI7vNI%0iaOtZ37t`T+6r6Oa?mF(4$mC7KT%if@U5(1|9!04N5wA3di z%!m(&tbM$)a^=m!CKr7+VttiNG-Qu}W$zFb*%o3!Zje`U#9ySROXf_LiD(Avp6*on zEA=Rue?ksV9YpD<#IPejGphAPJ!TjFmGg%!#8aQ`)5@$M-m@&Zq+*@o4+}FaOJI|y zU6Prk3X7X&NoHA*iedv^;h>hus8`0*naW?;;1=nwog|XUO~vP$442p*KZsR%&jLB# z!7JSYOQB8OJWp%Dm|Ue;JxIWl-6~icw8Z*jIedI5n%L z1rKddGq;*9wU)j15xnCP{f@!+#;}x?Um-4L6 zM8L$>X?w|u5lY%vfmC;F1K<)&n+ZHCGw=VL!Doazph95 zaMLJE*1=p_`$s8SX4;m>LkKS^AaOE6TS)x@`Px_sydie~nt7^W`Md-u`Jyf1dX;Nnc|`u;U!DW$yc7(5!ak= zEe+du1v<^RGAw*6o_?XzA5*094~TREo+b0a_x#gVrELK+MOs*sKXVQ4?80?T@48{s zW%n@MZO5_!PJArj1X{6e@#Jt@99o!Z?j39->pqk_)VT93RgN`bE;Q~?AD$;|b6xKJ z84cDecnRyTTCqnFL9EgDY}ryQJ$`#yb?_`GC%3cc?c!{czaL?Udfn82$_OJR5EG&X z&%yqG7udF8cy}?!aN%+4mWqc-r~zoSR-?M=wW>vZ9R)R3yv1FFwdGP#bz+vOCJzs@ z#S4_indO+vM@-u-g`mP~wLqQw2X6#jvx8Q=90@r|luNS!&x*bUX5-MHTH5jX{q}GJ zGcS$GR~BXD<{h^V)P_ABcL8K-VM-EWUn&M=3z;Waum=fS%bo_IBXob6c$`5r_b^?WLqnjx4q~07F5tGlgEsDC~35D9esq zwEf`Dq2-yqfR1qxXYFy;J>y~0NT&Zu*U4q5kL?)mdrKz*)pgrLR&eg)=?=DM>${Z3 ze!Po11qe#A5vGD%ESfl%5j8iH>PlD~`36i%e!{}xk{a`5Y(Q*Zs@A6eR&$?uHiwq! zX_gOM>?3!YY1>lepj@H+kJA#{x{ZQC0?w7MdfSFFoC`Agb;;w>7Xxk{-^o}6VXp0Q zU%L1zK?=Y4$sLodL3(3kMm!+eSnFY0mJ{5rv$W)iX)^luZW@yfI!-Q^MY^RTjUBZNMq>H>Nl$1a6 z%&#($nJo?I9Nm4HPT6oy&y>k&<}f4k=P@$NB2GQoEU%JOvih+#;QVK6b(5MO6Zd0W zye0bIVQn9FL#6rAsmR3_IfYPA^o7r6ug^!N2(A{1;#Q7YFleC7E3(wV7&- zcansVIhQgp;|H5>5Y|gHCT|-vNzkXy1+Nmswla;_Rh%x)-UK1x_{pSd>&8Mzh>8X9 z4=-9M?abxLyk$YR#~Ok=?@8sLzQd3m{-#C1i$Oum(1%9LW2&?+D}1X0Wi6+2NyI`; zIuq%N;Yuz>0C#BySyKXH3Ea7ky>(y_+2APL4mR2Y=d$?*A^612(B@Hqsu5guTgT%X zn>5{jGNuq4f~jg2>#Jm&brN{8o|BDTl%!Qp8LxoC%Kl8Zwov?f)>ACVk!&b?`ED87 z#SLukn0eyZAlQ)Tj@}x)h6uKZOXKT@C@O^y*Yo%3OUj~Ve5#{AUr*`D_;>jFB>WkO z`|F7pFh)ypw`RU%>{P&XODf-hj_WoPW8Z1vpVJcinK{ktm87U1+dqpu0qch>Lzd3< zQ!?wTW-Y^qx7L?MMd~JgY*(fJ|9UEQ+sw}{YQnc@GpgJEeST+TryYjDhXaOS~Z0&OV%n0;76Qmg*#yDelLa0nJ$mq zQvARG%=WV)3J&km^m$uYv{oi%KEVWuX&<_9ob#2GEKE=3R;8*ek;xhOwY<3i8u&fK z)N<9o%9IQ`Cj1(oF*C<-Ff>`a6(&bUjSlkl9H=p8Z!t@UEKluO(Zk|3(qaObF;fIF z0{Wvr1LzKTJ&j7sjdKGNA~2Q?u+X{!%W`2 zC`r#@DGW1s6>xI+=qAT=DU*-G%{-L#m!lcW;%BZ@D^C2R8l2v1w06duJuD5SfFyOF zZ(qr4ZnRDzQImFL)y6Ag9@c&m3104!J7bvU*yZl|Qe4P8kH2SKQ!(paHRvbHlsgFV z>ZcEA$*lE(-@wXtny9r&XFCmLSG-$^uQOlpDk`lT=fawaovkz_Y76Z5-e zTLo&;YA(`ONe(6NUzQ+LvXnInt14EFNTK`~mM9~PN3C@ORLeR)Y=J|ZX_HrIZjIZ- z>!b1^IXPLPz?_lV@H6-0YLZ9!8(Dk#E@C1( z{K*@JhheTohH*?Y!+7!)rVK%#$POvP(S;SQ<&kBQQB8bAenBb_w!m2nrI=Yq)1|0 z6*e$hzKZlWG8pOvLkUu=h&7NP@+(~+JuSIH6At6vd4>0S6u-|TnP;N_P-iB2&#(EY z>2iaDrPCvi7#Crwol9iZF0nn$_-omB$tKNgK@st!0*CpM6&LkbmiUxqQU_3DBF=-b z3620uBbDXB(Bpo>F&guo`LzbbZgIBNsI#``H60__cHUd=G2}fna3S@#Bw6aUqOK9( zCDnZ`uePC`i%d-v^&7#67DAbYRv82n5=Y1hecVo0-*#Tv^?_a&5gd9z^0EH$V`is3ZvXqN@ z0E*!@R~x3?HBjuWAdT&O0CEcp6tu-dHt?2@W~d8CBDsJi8!mp8sc3dSnX+PgTk|x> za|tk5VCEoT%ANd5n_yH4UFcZZSePio310d#ZH$}6yR%18ZOd%^5Du`}w~|NrZ)0{H z5kMYCmXYMP4t!@`OYbeN&N-bXSvifHa?ff1BD9Iem=uLq?xfP|Q%;g`bWL!E55tkq z=4POSmP)O!j2}!kWl^;Ip2$8xk%?cb7qL;1XkcB&`iei?Tuor}9)o;f4M4{APMc>v z(na(CY3^NirAw0Rym>v#iG<&M`=ADbK#2k(HIYby{RBNY;~M1CYny$`e0xNp$(9HL znq>ZVB4S_sVs4jZ%jR)vM~FsEBM4^#_R!u=ifmRTLP&GYr(%fy(%o0uqyZ2;n?+*& zo1$U+?rNEoAO%^C6$=bZI5&`u>sjgnzgE{8#i$5Ws2!egHvZA2CRzerrH%6R(bh># zv|;S@%qs=&W}=o6no{xwjx(V)%$H{y&nqsF5x%8KThNZg$BnQ>fLvzOCWU(^RmZT+ zSQP$p{&+&Kcp<;fHowuRh z8{1Dx25XhaCaR4_6i3z-Y9MV!iP)7Nl)&ovq{gA)K(WH*0G)&cS64SOUm+vFmDpYp z^+^$=@-@|o>r)w?12MKM#)ZT1lL&0CYkS6F04xe<@m|#JftIuYXVA+f>xGjT00Yd0 z3E^vefZyX7Ckz_JvDsnT5Sry(*~0LOuJO<>jad~lGoFwNle#C66~@ru)?;jUB@NM} zeyC8vX~_=B$@XEWyI?Sb0_s~sKs&phu7bVpXv%AQg~9)+Qz39eJo4CPXA1Wx2)NM? ztOX_GcjVKrV7DbaqaJQSi7}2(%}mqsb9iF}kB>+I)vmQ~JS;{y1aCI_9!ymAvODt~>*#E=5;Pu(|^ zLfQrAuk=Sg!eK#at4NCsV+DCW5iuerK8n7ISSB}2`Q@<`288IHNR7(Y*hXTJW#=fk zO2Vx^L!%P?gK?U8Riv|2`g0c4a0)d{92p3LBKRj=?V_|82<^Jw#e2WV&-?9vjrc)E zW!KtC3ej@RRzS1GDn=vhzb101w9qO0-~%zuArHG4XxNA;RY zE2hTdC3`7?EA4%oZEkRY3s;Oa*eQJg6u<{>aok+wXdGkL(QaFP7^np=0q-S)jbc1< z;mY2~+zfZ&g{_)4H!tpU@L_J`sQ(E3ouU;=*SiAuv*lsz^9`*QFB`$}3R4QqrD$J3 z{HPm-{3M*C{=BEiOjJq#aWdu|ncB)p1xxxG$HeA%OB*D_vna7Kgu`JqxiKE?#oP}0 zO<~}s6L3L&51ZWIkD3al#mg~V1HO54LGz}%i^j5=!FJ4RhBxESd=IYjIy>n{9WAM_x~OrnR142@zElnKp8i-~z) zohwNCfWs=E;beL9JPXFkkQNNfAaLB2LPauDh<$~`#HXRiKWl44Hv)VDmvf|^%HDv2 zqOh&=@ndxsdTb~~J zax1E}VoR%*pQGy9TfI^r;A7M435Zl)+IP@AUEu~#Nr1;{oB}BfGM0wgMg!Q7VqDhM zIy0Abhgy6K9Gz05Kw3ZrvFMA&IDK>|=?C{!Fx&-uzhax@7g=t8U;yIh^r_JmjO<$y zDk|y`eNON1XA9g_5W$5NK%_9mp4?Ztp2XPHS+IN_qxX(|vb6q!>Sl9F_GCeEumaQ z_7*`l<#m5kRPj}Dj*Ft1wb%|$hjf7bfHy>|96`!?Kr;LSHHm)$_DU^NUHL4Rz$F zRnMcXCdXzwlKzDm3nFc=dTp@0OFs-S6Pjb*5*d&z20bBf=fVBFgqGI@6;f$Q z*nZE}nclB=ffcAOb#~Gc4Ng^%#`pl(oa}JK7Fj9NPj=NN zmJfCsk%(#ek0S>Ny^S);923F+t<=M*u1l@|(EEq2LRBo*D3v3dBa6_w){PdrLaEYX z6hmNjitq`4Br2^AD0cvz+MdxzsS!VqrhN**k_FkhuN3e^fpTTYkz&(QUT1|uC>^}w zOWnaxe^Xn{5m)LK`}%eEY9+U{kR9*}*n_y$<`vL|+*R*DZq>s4_sDMS+B zK51z=r5Z>qB2tm6g_WBfVPPE)LfiySdGGcb9)VkzvI>RUmd_PP)))SquO(DTq{-}S zk-Hej&WO4r3bxtu07ul?6K>@k;W-s6p;i^f!sPJjtV-OZJ%u??mldsAx(ehJ)ngXr zi)zX1n~t`ucuM%JjpE=QURM&wGCoNU3>hY!v^UvQ0wv@^SvS7GnIifSkwtt;212!| zf_!Jr_F@pj2{C7XBAV}XEx7ar&D6A02ZFH$Z{H4YGq(Oh?RWp1$5z%+r)@;fQc&;6 zF_P-)hbmB{Pdwh};u9%5k22n!D9*=X3{&=c6iZyewYiwkgIpmgqbXi3AKlplp0_n+ zQpExUu)kX&zy@B$hs>RQoY%qo9c2pRfP{!2W_?(rN<0PkG|P;vnjllCQuSxk3~`B2 zcdr!fpThS1gwhFK-#01S@jKPN1&1*iVO~UgNf3=l%9j{;9-FB{y|JaIv~5rUbS=oR z2UPb*lB`FyYua8`I!z{!Xk{ll(*yRbkKTpDXiDKu6 zGK>U22K7_7>mQxGAIcmEk`!GufY`hMMrlBC6r$-XK%0(>_Z_z6jDM+}`X(5#~kn36R@^N}dv? z5iQ4b9BEH7Pedux#%B7m`Q6$eQb}4@(bA$FkDY;CMgfbWtA}RTSaZUK;aFLYkyo{! zQ%$aTkD4I*X{$i{u8w=fnV}2@l?YXyHX&dF-oCxti6&24n|?zd4H0VdZ&#UTMG`f7 z7=^^e>ItMG+^d5`drdy70>;7&sbh^o8V54A2+1L*Mkl6RA6=18RH>`r5cT807(8U- zgNMQFlSi48@?XBOc06UT#0pb_;I31<=fKa&ZgM?Vqh3Ehzljz(ayc<>DHTf?mgqCfqwdx^Fp zBQxct9D#21brD`ai+H}vty1b$1A4CF)Dj(F#KrGsnxd5s<{%}*Q4BstE*ODvg$4Ta z2{ti(bX0jv>!StPW8Htp3?Vz9&W7tTNsRwD2gS?`+SVir*QhB8bH>IEkgAd5Teqe8+KOW{+Ujs5fiDanR<3_C1n+E$+Q>E6 z8fG;L7^`kMT<>RFV=7P6O1};gs_KVTCFbNib%fvSryEu1}$ zV9<5clEP9DMmb1-m%t5^Db}P^6&5|KqZ0fPI;^U?L4?KXI~D1C8AfMJPJt}ey%OUU zbG0i1ELy_4{=sAYvYjnNuT>hH=}<+tjIpQ=Vx7&X0re?T{etXRdrtqCP}AJi>p5x=MH^vKaE={y zLMlcDbU*+?h!YvT%KZ4Fz(pMfhPDuE4YnQS!;gI@(wq&9xsGdt2`V2YFao;NA;tEQ zJFR=Rw{FBIA)bIUq;gex!g>nzrx_}u%=?|xICZySWvQwZOQFf|YUo6yT0{jnU~jdAQGur*03yP)SD_!eRFUOToKC#{h|Rv%PjCbq&xFUABhQkCN+ty@B4p_|;$u_E>_Pr}gw^gjL0Kt8_LK0hHioT9dy?K$~a} zVUwrFdy;lm$+`e3sGqLDBF{9G@GDP;A6&XQ&ZKhWgN90r&vB$QhUH2ZstN+4C=#Fu zNtMb?Vg-*QOcB`>1b=$C{gW!p2{BnJdr$~$kX@je!}+ig&XFh4@(HAi#)ot&Z}R{d ze1Y2w*y&X^S-dKaez$gP(I#g3jl|7w{|>}e@UH37Y;y8Z8#kAtp{R##$HO4E1KA>K zRvS7W4a!Y?_$V}Lzv)RoDxf6ym$6htHwp|`EsErbY7?oK1IsM9JSVDRMAEPPU3!Vo z8EQ*(Be%i zD$pnjTPQWaSx`2NCPe{%)bgQ4q6TL@n>9kdY~yqUEv`V&vi`*JizT6M4oV5|5Nf=p zqm~O!!em&5{V6MU^+iQGP*3|>pMgv>niq$NQOC*)Q9=Wf#n0Jw)-MJ-*>4JHjc8Iu z?@iq+xHIq`xFTKWvKG}g5RY*ClD2>jx6fZt>SX5 zhi(iIgN}6*Ml*!q(U=JRw}e;^z=THPb+(&K6mr*w@nm>lsSN`-qAR|9XxxO!wZ zDrCX7@-E|GiqQec(dLo#Xy>A-=j2c*vL1GhntwoCLXSW=5&WrGm^n67+Px^m^ZZe^ zQqJ&7aF41Do2&y52LzA8iEI-LxkXIBEary@+;$`~A|{HDHck!?$xbyG*95dHI6FtqYcfv~s^l_bj&yGGkW`%p>Z z>o|86-F`G{R$B*zcEUjO$wv)zAxEtTNrDrNE(Xdcd^oJn7>L#Nh{hvM|IkGZe%~jVu|p?Q{*m?te=T;R5-@M&rkLJ)e-xz zKW{zbX(0Q@Edmn3GC{^&x``a4LO_bsMaAXOjW;|TdJa5s zh3Bl!?fvzv_V9KN_WKXh%A)-`O-Ik`!G{R#Q4WkoaLorAn}7{|P!LAd-^VV4mLDue z9`COkGmK`O*&jyGRgl7*D?cgd6e(;;>;3fv zJkq>Z+->>X&OSz_U8A=HH!A!CRV21x{mMG}sbT8R-0Of4v8Xz&D83PK5S>K|eQ6ac zxS-=uSyicY#q|V5`CxWh8^q;vkPlTGrP^%+lwWa_Yrw{iGN;W950`=h@Kk{LsCHQu zES4m!e&Cj1Fe7LaO(j^8ej31G;QyAlj;}f1UsLecpSL;f>%JyS(;OF};s^k;-V z!#|jI@H-zdvJ#M%*LHtmxCL*Lv(WcB&hb|M^%dGJR(xP0UucmWK=I+GeUqc>rd*FX zNPnmSD?1$3RJUE36ogdpUTf*VrIIvht-L?ShV{E_x91#r|0IO!X*xucOTFy%9Pd)g z!lqLt8654dD?q)7me&`1t?#ef+H;gY92SzxF4dD(lpRb4r+#R{vqfIO?sfCL0jt|k z4C40sD7-RtsQ7jIquZ|X{(2-^SC>Z{><=>n$mO|y-oqwfl}L{%8V~q;eHL6;zGk{I zd>m9V$>Y>|rQmfC^n(|zXC-6orQ`5~vQJLXjWBbDuD+ARdN0BMtps*LN#9!{2B{`6>JcDb6LmxmoD97e4!+rb}q;?|~6><@9MpyF2SoL34&TLcJ1 zLcb0n;ufK=uloMHG`F%4o6CZt(5ougO676m4RVIKffi{OVv|Z##9;WlzP~OWFJ^ye z#!=xfGeVm@hoUS!{ymQ*Av>tz)GF~uQAvyQJwlIIp2230?a8o<<@5dZF!$5drNrlS(?BZHl;is0APYAb6t3*M(>6o5Mh|i7l7iuzp&}x{i85I4uV>_; zM;`u%DS#pKCsd+B)iU3B*z@!POx5@9Nr9-OnZ-la6TM`v_t!n|hiKU$AvI6Yf@y0W z%&a*YdxO{|1=9wj$rywuMS@jnb3PkK1aaj<#KYfny){a2WF^Z(YYDQ!$TZu2h1Rk zXWZJ!21LzBG#SMsQXG(dBCtLyFx_h9^9k&c`X4rF%Sap8=_Hp}ZF=1(g!fGZMS|Fe z5wH=ki+vzAv?m4#NDvR#jcHZ2c<<@z(=C394Ya+1Z7|?ReA8t}`rN6@dj;tA^ z1T7`-d_)QKkX=f)Y~6= zI~lN}GZ~|=hT-i|hTD;4UaGiV@yOb})jzLn15D8zXn>Yw0=yl>$^jJ}A6SD;3GfPqtu&3uhNAt3kbIQI zGHmd5i39YxCcMijXf*!*x)FD_Xu`eF{}6=M?XIr$ zVL;FNvpt8I2OmGP%QVm7-IjWkomV~EROUsm-!IM}%~D0Y&5T!BlD`=F`a2Z-H*$FOZ3|KBhCfUXpno57%9 zzX>gS@}c*SRsjl?_;x3EOCy7gYu$A+(e`A%zaEaKwR_ng2AT~Tu1J4u5)xA<=p!?% zK7VG{F?DgrZFwf&(5`Uc7= z^&VhQh2{}QMu`Qyx2+1=%}xKjqD8NkV-)IbNi=O!*BvuR4IYy~U7R$bvHNZIs2oJ) z2I<9)dcU4sB@nemJU?!0&vCgqVt*L<>$JFD}1OQ}SvArmsh5o1Qk*C5bkZWCJc%UGJ}p-*;;j`~O}tlm4Bg8dSQj6K9WD z+P<0MF>>xyMWwlK+ZBH8gI3|^$PR=wV-iwe^?3Z&)&J-H^@#S&mgKZQG+|VJ-6U9CT0J>7%Cs zSdr=Bj^&6K-M6x+&~$I6&KxjYUUaTA+!Dn>;t*0_BY`Py9sYS0g7(&4w9Xc>ayo{E zl_I;~VS#*Y14?u026n6AgucHnY4?~GdiOs>DVf?W>V{|AW|fCW>mcnEkKBt|C0n@h z1OV8FZKv*exj_Y4|Sm1jqI4A;~=b%D%c@mJSF<+`>tJV0i%yQ-M7w{yNLFO zb{$z7r4FM)F#6|+(_ADr6{b5Ew zH`Qd@)dxe`Fhd1BV6f2vioDXaXWn+#=jH7B&CS$$?SdEOyWoq`HRq8)!ry73N^oHm zKR;|+2&bY8rPOITGD#H70H7oVDoXqY(foC1p+teu^w35K&f>G@3qS%h^ zySu>4PNw(gZOrMn`mEuF?t}{(2u2oRS4|g1pd83our8Z0dSKVnZqwq1lv%tV*S1$I z24JSBUZw{0w3uUM*Ldv++`z6!BV0I%f({Uj?QU0Im(BCX)w$iWSn)N(&WXk( zK zFysAq`)R~#RSQiXL3Tv>-BxQ5U;Do)8e4MTV2hEL_x^eSd->&c)AolI*b^*Ma2$dY z5itgM|Ni=sUB$o`_lquz2(16;vM)WIq3yYr@DLI1-ZOZA>HT#bE`0AwlUukDB%GM; zdIaS1nM-Yo1-@V4(pBKdLu2on*JFdPL}ft#_WeU~#lCx?D+Ko8ZDHgfRgW?;gCO2kGe41J_+C@6Q3g2fR6R zXuA&`UtxVcvBl`GNcfGcuE%!)IJJQ8q}X~*<%){%UOk8A(35cSS)|0&!uZISQo>;`I3b_cXVxGP_>NG8dfPtmj%K;z~ zuoG}2@oZ#SpUnKnWCx=B02f4;*5F!}{d0663`mKp+M{*4Y-V8$;Ydeilt_o{cNIrl z>F>|6y2q|N337AOjeHvMQ&IfM-;F-wTk-otN-0r;GoE805^7J;4lz4*NLcUByWUT+ zT%okvoE|DAr8!>vOv?D`=|TOXS-BoXqz6=icTr$dP0KLJAU%j`IvSK{5HFf(6YCQd z6Q^5K#0 zDKUB6PK756?_;zN+k7q>XQhd^`Qx%h_iu~U8tB||b;=i$SGrub#yTcntGjG-+{duZ z{{V{VhbUAf;bcMltyeA}UKgGd=$n#MprOWpj+55a#!lmD5m;1%jw!-H|N8|E+>X@9H zKEDru-pBnomHRE^S#-UQeBYDDx0Q3tt?>QJ=I)k@UT@jx^n0!w@3VS$c~*(j#eVTR zMs96#v$M+Zn6tQCb-Am$XpuCZX&)V%>5G+7s>`)X_Q7qQ(02K<@7Mb&C8y=`D6Aw) znwi`dzc)9O8?3qdPOx~4$rhe6IbSYTUrNmgWsrU2boXvt_J!ZsNG50G>ce4P*KpYkVv{d@ zzHFO!3w;bWs_pac1gS3f9FJ3dV_WM-lb3&f`5|Jj+x+n_&u#kfOcz^bbe7N7<-Nmf zG_&iGOKY)e-(KFM(`RdO`CgE31Kef9Nw_SnbuG!hRu@{(e($rpjP=1U?>}Ewk?nFX z6D6pxw~pL>GVV$2h!=M+m7fnSh0Mo(Aeel+iKb%HrK_6?bsQMqzf6f0QqR6LZ7vJZ z6qEBnMY|qo7T-XF7gl<+m0gS+qO+#kR9`TZ*?BW0y|O8=pDT+?+?D1YEerbZK-QW{WS+=3@0NJnmU=vH1=kOyVsM zpX6!rN=`~&;}*c?=XUblV$ngmEjgWa+brHf@48n<9;516Fj;Qb{%`;3U;h5* zm^Qrmr`DoM^nl#V?TUiMDFZjqgRN>P*0(7pkeN`r>IXtqbUBLJ<(do8rl42&JMQ$k z?KcE~0r1|#@lTuQ8Xnc_aXgg{c9>$H{dpFZXhGOTduuQyUSIBhJ;g@&(}W8z(LP42 z^rXNzp&|k(g#Wsl*(!jWyk0s5iTZpBCn#9}qhDpQ!bmF9*WC;-2;h{SJYWhS+5|8G zM<8+Ja*$^PH+4uY=i~ z4yP*?R0{S3ckLR~*(!P7OG~wTdIEeLmA^l=bmG-gKjx)UaAF@RB2%PrYxsF-WPb2w)yC!A4%3l$bNflZZq z!K3DKl>aDPGOlOLf^JH5s!E5cqafQ1fC#8g!ilQ4@!PDU)Jd^l9O1$8j_j8rNxSJB z)5;}4@#F|eytdYi=t4B5+$lsKc%_iw5`X9nq?=iy;^Y*Cj=S6=_?mazBFbmQU(BUS z|Ho@9*($>McGlvfDkIlBE<)EDNPKwKxTr^4#9ucc!QX}wB4w<9QuG2MH?YB99$Qt# zq}rImefn50a1dZXA3f+kDItUK>e#pxKu`Y7NhFaRJ-}qfYADc)O=NkAiDkn zJ7lR$ohlqO{=wNMRm5`ZL@M%06nX9Y5vfG+a=xn00i=03Z^8Ux9t8RLNw~)+f`O@+ zt{j5)`}icC@rRStpEZTy&^A-ZriS3ORO?@;dZUXVDQ}hJj?&?s8ZzNs3i9I+DHc#;`KDFe4_Cw>R!ff z@2oN z!4KNuEHSx>1aB9G`{LD0?P_lSAE|la_XHORh@m3n8>MVgK+MH6wbKi)2h@VXsvjI= zly)c`B!G2$<}-cv17<+c-GH@L5`ff%iINx5dyBs1XIsR`7K#~L8SUe2p@$I>Y^?ZRfnu^ota{i$T4b8=ciT8 z9mEBv#D%)qZ~vy9Ia#8`A~Bb1VTL(Nx|CQ(}eGXH8v)S~xHk4=zv-I7`xYb71_ zXBLf_S|@Sj%TzoopG0yc^QSBGC^%b?Q7F>|bRfqD*=Kej5E$XkiqLOV*S`BS`N9bJ zw||6@uNo#&p?q*;>DA0hfS%-rkMJ1590Zr&PYU4F_#h~GQoOGe{6ewr1+yTr)nw$! ziGCVWrl(#9|Av2GI&v8|iI49e%q#09#fni!d2D#eahmy4*Y6Nzmf|M35LcZ6$vd^S3N zDW|y#ibKEFQP89g9d5bOWfDiD z!c*wB?f;v9=YPk)|9k%=mHglN_x0cUx5M}d7`YiJ)0%w+?YaNk5h9h=>Xk4dK8+)W z9jVg}Tv#RCIMp4>hLs{2k1CQw_n4KsQD*3XHi&K8L!6B53H~_usDI*1LgnvX+|>5D z&2C64$rw9uf`61$lGwx>@ax4=KS|-tir30G_XDkVum?uFAfM3^Yq31bB&!9aj@3Od zgf-=7P?M;>&2tYJoKi(aFuvY^pg6jbzF;jq1FVW3w{>a{Y`6dFH|=Uh;*PQnc#7zy zDCT<*L<$>tEHsdxrvHYhH+;$Tbg(3Jo!>NNm779$*|kZFJg{sdy-5yjC4#W@c{#|) zAUTEO)%9vu;CB85-hz;gX!_kV?V{-Q75%h*tU%TBfoO#EM^}NdC=mWS_G~AgA{Y^ z0wW^&1HTp@T$DzNT`AZHUm76w<`FbLn5WS!{Jxy!nrP8*W;rm_?xZ{qQ`lQF&)u97 zXPj@|7KV26#57CXH35~<2loPx6-8k_C89&U9@SCQFkv@Ic`Vts-k-^?zy2K4n1Q;N zn3mvQcfBo%0 z|1W?4vu9JU_iWVr+PL980fl8!HT)+#C&PaCx@lc=Bpok!$32UO!rl;A9C=i(uA^62W`|Fn?mpcg)sD;ylq~uLLbkGAT z@X+;e``Fr7duZ=O8=KbgIs~nyZ4mhPK_MWXFasQXzQVou{(~*P>AbAXDpDIQC2f?3 zf&mmXD44+UiTjMt^+7@|N7(PKrn2xMWc5t*cLe@?Y`6iSwEXAnlJMAs7l=@#dz}VSw!Ssa3-QpDCz5Co~ng4 z8br-twUx0Xc^$wGbghy(Pb6f6o2A22kO`D)GvP^@r|o!eI|;4pgZPYy@*zb7dNd(T zQH-#3+(_ex17M)_IFY_Eh)4&39b>U*S*GBS;z)-KnK>xWL#W%j0tBQV0?V^8z&}F-x`Q`f38R#+9zdKd-%)v z!(e0tl);~iS5d~)A2PCFk=uJEk=_)QF!~$M_M|FA6RJ+5QhOzD@}?K@8h>B*KJkwh z?dr9Q^05vn-X?yYb!3Mz&cp6A%^!m$z>nAn1dxtBA-WFbb)FJRpDdYVnns1Y*qU=& zNiVvf?059^8@~{a;kZ$dr>gILw3E^Spb~1C@- z_3<71>~M;Z-#Cb>ZzZZ6y2lF&4xf^J0ZDm#hN=cWID3zDYo^H!zk!B3^xsd~N&Kh_R%tCI>1=(% zrb@ezSZ~jEm9kJ|m@ffbQ!<7-UXS8YkFr9?IyoK+{!$(;_7`PG)H_P=DGWzD7rK(; zDwJlZ#=(XS&MDYr7DpIUEpkbMwd0`7N8<#Gf=ZW}5k)(6I=ZCz|K#yT@U5U`DAo*i zn9yg;Co6$eMr8jt{N)*#y?vDoSjS`4Xp($ALm1?L+C~UE2|h{&$=bo6r3M%>gXbf} zrL~?^PtIAyXaxTU!JiV~Bn8qo2H=^j%_}LRKpxq3{x0l-b!bC^6*|=9aB$Ag!-cvy z$u76KRV`M}KG*{7$V$kb)2#GCOf`^{Sk7x?8t9%*|$ zSc=?DQKMclfp1^U-(Iz>Ii|%Q`NW|qbrXgE;A_c8Lz#i1Ti`ueqchGm6>iDSZsky{ zML&)TvD^baZ|^&oIPOq#m|PjjGA2 z_*U7+1kiQPmGcp#3NAeZ+OM7q9MfbowrCRvnDW@*Is6<2-n5o{VfANeH(XNDy+Mx| zP34ztk5`!1>qNZ8siKI28d=UWa#R9REgl8lSY2hWZB+XhhvZBAv;K*6hXSy>`LipU&;n-XVSYQ_%1XbiePXZAZ^*ytWZ@@g zmQA5mRftDdhl2q3Xa}&hHVtKE_<$#~G0t+c)C*We*U>-`!{=yBPBxEd6!32BzCoy- z24Q4@9Iq)Z;T08{KBvJp6{cAut3!|9C%B_6fQ6zCpmiJuad9iNMQGxPSv0q1ufn9b z%?(yf4w~K0eM3kU@u*?x;YfWb;*tXWS$H-Wd3`8-#;)KTl|AWGst7y#Q3p2gaV>*` zbFQBKYg#`lwR=A`LOsz#>P9OjW7SJ27%$KR#!Oe#D|ozQV93GR2wWdC$`lkD77%k^ z-@DEFNB8Q^L9p0;4NPH)?OT_cVd5Yuk_%p9${Yw}zpvEa%~sYThvLsmgcpq^0w`8` zo!$gRAmJ%srF5Fiw12#|g(t7Bi7vAmmi6AQm%Bi*-=S%b6Fgx(HkjVO&8$*Y4EN_jx-OQv&4i~S=-RnYas z3j{f)VJe#;dVHlo2afjSr7ObH&*FU zU;E;(RJP%O!bun#8k*FV@#%4$^?f+EkAI7>v7NjKB3hHPuGxMr8~fVV8vAQ60jkwp z3&0c!^IkBIrHIN?dWPE#^pEm85)He}!m0HX9*)?7-%Zda@}+WspzqBA=N1LR03G4e z`|EDnPn?N$p-y0TAQ7eH9}x_Ub86RQ;CZ+-qWgrF$6-eVw+|Tsx%%R}UU5Y2;D|q~ zIPGbHTHSIX69x1`@vx)R4j7TIUD`5LxoJM_tsOeJ&4a)qpXh^Y1x?Ae8bzLVJqoAM z`NImrKNB;5{dt?X&I;RVR!erbu&PD|t$|V2pOiz8g|gGG0AA_P-o0LR2e22vhOXEB2#Z^~&$Bm$p$T2AjVBP#*Fi zg4h@${=D>QE?J|C)kcWp6FlRpHK7G-~RLe{`Y%wx_hK8EtxH3%M=Tic@hYH=1I_a zeT4BP?8diYbe_FO>fIh=vS8jKn_t5>Ds$6_!6Pr=$wZ1zDTu7I!^h(Nb-8;8{|_6&`p3LirTuY4@v{Fw2vZ$y zLmG5z4pl=|d+d)(@Z1&^wm+yBxKdSfv-ZB8*JuZRDmpx^{QkPiU;e1;*4r(YK)bP0 z%JNpXss!a|Cl*4El7zpyZm0SFy3jok|L5QTob$4tOwNF{{oAZX6%)b<#xoNjB3F!QTK8SCG|NFA8V!DQR3nsFTPf0I z&~M|Ik=ervQ(Aows0zN&0W%=^>5n8{D}sgO!QHT<(>M>IEdTQYJp=c{_;c%)HUR@i z9nS<~(!Wp3A0M}l%j@=Q-wlHldLds48W0b;xw|i{2!sUi47cn7O2u72p6cEJ(-Hebo0 zRm3uU&CF*v5lO@AkY}PGG2ljF0h(Ur<;vq{Yf)gyQrDoQr*Z`t_*i9xA5`OWJ!3@w zm3tMu=UkrUXsRnAA*o~uj-axe_KSX&kSnx4RgcQIeC(Iv@u>3|8sl+RVkS1?;Tg*! zlOZSbql&hAg?7sGesnDS?B&yf{{JRFU@QP0POMmv}#{YLthRogV~>7n&| zoKHf+#8SB-ftN7Yj+IHdg@!OVcD1O9pvq~e z1xr2zHSXBZ#y@-CilA@}DChbrs7yV%+#Cma1#BzsD8^10KSSKw51{`VrKIXI7Zv}9O15K}&BA)$8C9j4kyMtV zN9AZ$VDUl3J$=~xeE3bfa~XB|0*rvde{i%)rgFHVmh%%IRv26M0Mx?~=1Ln*1w;=P zhXr*&6#gY8l7jsi&!&zeeo(@*$7eD(fE7U;SBLQJCNMK1&Ki zm4_IH{md7BT{E)^qvAx1dY8!o4X;t0?ei^Vcm*5ni?b~4juZViOsjM-QDI&OVuKTe zf6Go+x&=VkuG3)6F=cYX{G*8OVQVRotn@3!3u>d&BvOgvxS%wEF98uX3l>Gf21`yE zq{vk5_4(S{Az(dGddQo&&`V?!eGT?Utrg`f39(@Hi5>s34PX2GN|7%nlffraN{ZGC zf2lN^FBDw@G7Q0(FtC)_Jwgs89XnjbK`|eK2@D~>WQw#y#Z;-7xsewBKLreT>e-)0 zu|I!WeeX9#Oj|w7RLH}oRMr4okPMUPN~<)`Ss)|xui zfuYiKxgabUuN+vz7uNR6G8jOXlsYNLXb4?V)RLqrdAT|AUr+Sp8uoOsIxPqOz-QAd?HKWf9ins;yH&`V6lDND z$k;9n&oSOw5{l_Xra%xrL3C9-cRC5twd^EClKqpTA>5A5`Y0$Ov%Rh7Gf~zkHWyV~ zE$RjKLfYL&ejnY!*&IX(peXc{Gwv6@x9W1ELk=%Jgm4qIPr!MZtwO=z{|LWM^M|wY zKwSxN)B`aViF4LFkFh~3E`jC?+7U5uN#R2I1jk4h zU(cZxMXpL432nX3*Hy?;gca8|sMwO+R|@p!`5w(`y@;>?Ufg z)KppQ^$3a>`5yW8sLfA`5&{*pKGpABN6h?JJV#QArc%E&dXgcCjV|MXBB$fup=t#r z8?h0#4Mp;7cfRl|pFotSe9eOip;}{^3To7z~CBXnG$iVW9`-vRU$n6?h|HW@oQ3$|5$Mm2zbD&i%~@Dm5D$R7nWC2k(#(wKsS=6`mS`-xEz<(tfRBuM658hM$u52W9&~ zwTKce>O)w8ObPH67RYZB{ZZ8S6R{T%bf6IW`|~#3){ywE*65O~tgd|YNC`wS>?>Ag zFj7G*Dn*#zUl+XZFyksW|1r=lEt5Nw?7-{^1)Ihca1|-J}yJ9HZEvG!{+{&|h z!~l&#l;t>LkN5!HEBEu+Y&fiqii2<>NI_+j)X7HQr%h-WW%hkqO^3!rFBj2Ot~u?%Eft6!b; zBx%0-{(7Rn?nfM+O6vFWzoGz}6Mz&uAKNn|Pu)tH|{B|>(c15=g?{t|=6C+P@mVUf!wjT&a@{Bj+NQ2ncZ!cO40 znAl6KUq$7WlVIz3URo}4Ynzk7#|-ou3NYHc;#0{$mn+R7s$o~da}t{r(}td1o|GW?ifdOk9 zhwNtuyqA#~GX+BeSdlLQm^InTKuOiY z_dVZV*Z9k|hQV`tx|~)fsTb9KbQx90ly(Rst-;%VJ%uTv23fImQ?RMdhaz8Sdn_xJ zsFV5x2qIfd%>psHlqZs6RL$dI{AzjBbxdXO=rZc6^te=g(~lE07$DaPD?=eGKp-Ac z0T1c(OgJOzQa-5zMHus_0bfv(}?nP~9!-p@>ps*=KB6 zf8r8H%4;u8P`?o*XXPlkbrym$11olM+6@9CoD?TSc3kW|WACqbh?lzMVn7m&7vbI{ z*iJyPsMA}bLdMO+&{PzP5P28`HCB$+rO%blStSg?`>^`LZDyJdKC5#0YY}o{e4=uo zN)7sIdw;&s{f5>r$(rZnv9nkhLqeZyZT*4=!ZrOd{#82+1<$-c+N4D4jF+c;)87HS z9L^y}uM{5(%+FTJxzc?me?Fx>wzq-0|8RM=4F{Aj*)ud13Qjo%O_dmoQWOXHilisX zu2xP$`=_1jv@gBC?rRTHZnO2?1|{t{y2`iY1ZW!M@SQ0(#hO(tbTG&XkelCMSO4p8 z|K)$X?X{Kv7`94NdPsh$29a*prs2sIVp@6)f4|=(%KB{9*5~!^ce<<*&@I<};$g^t zM4vXp)y^UC9DW00c2T?$`UF35%CUTZ-sgU~|LgC6=6j^9{K225yQeEU2E}PWoPg zW`LfMIgb)Y9z~s(Ne|Q~Y3K9Cav&j}AB|lj%3z~9MNUB(#L>e?+$7J+b!7;&s;u|- zWB&EG|N0;P{^zh3RreOSl@#@L+4a>XUI)Qcwt<&|QyYkXRduC@l1F)J#(H#HZ~&A@ zQlOI1s6f)e)~yg(mSADndQV1}BGLI^3!0b6LSIfzYd^QRtnE(M!~Tm-Wh67*pg@G( z=Akvt!8gf6b`|jXOAhE1*8z;rL8Jtczl;qKGRg>o(^8fJAg`Jk2X&TxO~(Fs9xVu} zr9XpvE!dl1DWa-FfEm9w3V;ru!Vkh!8a4J9&6Dx)wF5#)hmM?3W5SOP9WOg!1Lc!XE-MzFYixD2}D@ zEAlUXHTBmGMgYO;w!8guN(Bx8J%m4=9AD)}`Dhr@A_q^i`MTLF%lyf5sGyhUQkYbH z0nDGQ%GY*$QN6tsm~7gkXTVqcIb13k@w=%6O9!g>eMEwE78_$^C{I*HalXsUQgoA`%3diG>~;B(eq{wZnAjS3 zN#2>)N05isPy9qryL2*%fHEmZ`XCxHr=M>qApmL|aB_bbkphI4A8%H*dMc^;-3v|6 z!2aM~0eo|GxJnB>0@(>dco4PAY;+<%tVTB%x+pJ5^!N_sG?%*mO(NxmM81v)_Sx?B zed*&nwRs^0DErOS(SriE`kZz;$`~P{uO0{~7X}%$$IcnCp1`{RL;w0CTb|y z%kPfYbud>Vl<{j6^`ErT{m=K8 zVf5FZ-KxEAd!kt@)l1ptqyJmz6jYfQi_tdgj7vjb6#*docdGBNi*vVWQE}^zEp#g3 z<7h>t3bhlQs(h)^>oahSeqO)7uE;ISz`2jr4boAU0o)&!CBa5*NmqZsS`(K%uJG4w zO%7`ad;ejwyHp=Yv`Pf4uJ>nDGusn`bgoZ{XxgaRbkGH5wxEN_)&rT(k?$Aeeq8Pz9v7S6 z?lKxwm#tFXDt*xcABR*Wdod$cIP$qu;hcFV>FzsY!vs zUPT#zmA%>tN`oKo@aundJJtW`8P>U!74SNm7GT2^^(&%q;6U|#3O0na6;ACFDWp{u zbmElMG}R{BU9mV&4A*lbrGO|&I=Jb(cs%Vfhl)<@OOxPc;!Tunp|WV~@wgN}am&8d z2f1I{<9&;j^rHz;a0IyhNlaK?)=>0iZe+@9yAxu96}k=|2CuU2nlRT8?&_#g*+X(_ z6je`Z8ZjsaEZ8TK2B@w;DR)wZ9APn$|B}@AdvJ#O#vD-j``&@4p9TtkeoYJuAL}9G zHzL~D;sSNrzXud0q=OqNs3>6cTL-(tSka2!-G>xwKo)p;XF={XpA5@JCcl|Fl0)_aADfcY6r6_ zfpGQI#tTnov7;b9?s#<8ra7B7b|vUfxwtS57A`r`%fF@$Hy)x3sse2?9y!5~>ld)3 zK$ev}{b`na)wYhe12Ei@1(9!D{{sf5!{W4_>fWe`A{N3G&!U{7u*VQQ9F! zW0oPObE~L}YoD||SaSVK_~gnN%k>tO9u8I;2PbGD5E8vYf3^!Xu!R@rkVyKnKedow zRkV{@r-K3c*}gj#H1oNXui}&!2W1u`ozf<9w~3$dq$EtIo0;$Bvm|XqSpy(Jo~WyO zMr{e6UST3#C!MSQdrG5=9r_~#s2V%P*2T&gA$g{PZH6Bu$f#a@)0q2@mel$)L_u2; zmHj8rW6)$NeHwj2RMZ@+MRut?d-6$2ZGx$bW+=Y&gQW*MPhm}r_f4sbPXVNlM`-R- zL=QP-{-U3sQ2yf>PPIJ@vQBIzF~hmB`+QzqnycAW!|b zC2Z!sj${(9UHp&~;gPAxkNFPx1%Q15(*VQ4KeEwkNex1cw?b-F!t5sz!~1 z-KNj8D-Oyu4ai{UKP(V$Z5r)=+5UGQ$NUfJ>i)mE_@7I1mBn0O|Gqp*PAdh7zsFNF zhhC#l?4rWohi&5OQ1DI-Qhxe`C6$BL{qJ2piP5ME9|Hg4*`&^Mgx0H1Zw&`f{3ft3 zod_0zZ7>CNhwH#>ri;Zqf9~)^d6L1uBUxP9r#2! zu?pHo{KwZp96RaBhE|Q1uT%_RXjojsD!br77DY;Y8O#kfqLYOS%^X83p`!g+_l;iqGz7O7z(I!mNFe2m?Ka! zucWqD3jX5=S3k&t(Z5#Bkx*%&h*L1~qE*%!QRS!ROCFNyf)%)1@}96b z8Nw<*J1F4J&94{?R|`Fq_$$spbwW^E1$<>#VnlL&kO)=6(dsBrHP<}x zPYN^`r4Cgt`~rfn$foB<)J9zGVb1OmVL|())mxdMi3lFxoe|KODxAEX%M>YN{0DhK zGPw>Qmn_0Wj0jFgf69aSp+*!89jW!%v*%f*AKF zE-zkT$XHO}+-b*fQt*v(9c-#1CYBUgRq>x`f%XGdA05oZkVq+HESGJU4`P<$-6={cqUlArH+uwo zf9-T<@?M=Wo&^q7!jZVQ)+z4eu7CaQU;eak?&Z!!yOz!C+vO#BWtWW{!sKG@<8Ik% z1x>y;BeH?(FH2k?Ta>`$QIMNNOG4bD#cy05m&?|T&g3q67H;3Cix!jduh-`CvH$V?E9@m9D`23b;a+;yGjL>no>=(13{X(>NTZY8rU5L(?`yF{WYhdKEKDW@0 z%ZrD>2fI=o4Js$sqgdo?O16nn#+@qtG>P@TZpJR=^nSU$yu-hbYW5e*sfN<5qe)7l!26!WY3NDm8@>f!D4X|4!Q z-;2vN^SNiHT;^$}XG-QX*we*c_303;jZ+-5R+r0j@wtC}IxV+}S3&?)K&rnsb|jNm$;b=D+nW4*%<9z{IrI5! zRBIGVW)2@UWS{Hl&XCEsw&wS}x!mIS7uRcx>#xT5yGA!H7w2gE?G49v`*u=6+2t&i zQx-V49Fx@~vT%*Bny(M3Af9GD8py?hd|iCI@@+HnO|FfhUAlSeE~ep&X7X}X zU3D|d&f3k3_tiGJ__W{Sc{NHdT$^QwESTI^bvgU(ZHL=9Lm6oD>XP&H8Vb(_4?-#? z-#&}WBNdmsD=0IOk*{1`Himt#!MOPS8eTAQ+sJ7FVh%(IsvlPFSvT_)6Gwl`!!s)psp89*t~bUPILLHoZ&`qVe*=MZUuk_ ze=q*~N1nFoOwRWGWj2P(W=xuVJJ(;bU9W5O7iUqo$; zLbjQ@UuBpH((d(Sr9-#eOuOE)L5qO6FPF2vUu-2bdq=)+S$UJ~tnklmsBhUq`2KrS zXU)>!{N87(-I~E>_LjTtvs<>JV1FJvi<&bua(&xp4X4VcW|)apm#3CYw)(_gFDLo+ zPQArNgQuEU>~-qp1v<7cE}O}EkLJa~8K$s||9Eudgxr1MU#8Vvt``e`w)P<>n_8FI zD0zR*HZFM_a&x8RVskCyC+U_8+jh&Dx0w%GdaW({Q8qv2`^fXRO`qa)BPHbfpsx9m zTXI3HFdbsDn|RaA3BKLj$eBq$?k?6U@p2Psb(XQ;>DI3L&@GZ~5h;Dj zxAW4i+=AgTvg1OUkF#kZVgn7V0bvik_l zcoX>jLhje+=QAU-q?#G=t$FZ?v1%@_s=@KQcl;&0x>=65Tr*>9o5>2gbn)slK0FNJ z59hjJ{GpjBnUA|Kzh=o5mra$O^6dJ4(&raX)BIhBElU~ci|>!ZDv;*98gjAScxzgw zu1j@J4^;Z1^5>bZdrTe^P2Cqp{xEZ=VS2gQKC;VA_gj*u8>VLWATI|v4X+{dV?}0t z_R)2N)@2T9k2@oqNn#GP59ctvzRT<4`o(_Vv*vzSl-K2=&t11!^^U6pt2ys3H$A?7 z-sQtIQ+>B=r=Aa&AG+Ck^C9c=RkD1X?uTr0|FT;UoI|%UoYO3A)c5+Y58i z4}H6uX;(8JD+kH4gW#4&<7t=7%Q%>p>CkRfkUR}5>t5-p>-raR=INTh?Q*SyOXi~C zBmHCl`T9c+T=l0}-usVtTar1Z{G>SKlBQ&ip;`Nf?CaLA?#rOBQ!GtC&TP^v9(A#a z!qQGvi*zwEov*uF&@IH%v}iSwLyNRBGEKfTo9h04(juMu9I+1uzFc_vBXPMTPrtjR zIxWz|&nsrV?&ijyoAuf<3A1}hL(Eup>`1NXODC{(Yj6uAf)p`c20}_p#{?)$+4U-=B){RNc=q4#b3b`sDiZHbpPqE-hk8 zrE`6=6+Ix8*;9;$dDi;ApJwLSv&SsCWO9=elL)63z22Hc>*j_2@OYR71I;>eAI5@# z7Y?e+!)3i3AJ$g&EZOBWcoyR|Yu9Zor6C6?yF7ed49}35+`AkyTl1HcO8y#*}^Rfl0e;)xvPGcHBV^7~OKwD)#8xExX@u8`Mtf%bvQqH=10w6@#;DKm(KA zVYtX& z$L^}di4fhhuUKTae0g}QInvOF%0F-JJepiHazk`qbGRYMOn7{#Sz8a}Qi)UO^S+2n zc(lyqi?D`=S?&8CB=O_a<>^t`&K9?sN3^uGFANVIb_a&K-1+%6wQxMnFtAUr%k9Zq zG)LOSHe9wY^}g;BF__B^#mn>((I`Wu`Jyd~Zt?XwiRdiE)&Bb1zx~ z9+EBE<}w;^Sq#d)&#`E|@OrVsnuTA@xh`FMdgA$;T=;qMm$BW;v6=PzuFowyVscBw zS@J?o`O^38dfv*0edlk}h_Csvo?X5!_N|3kZgKiaX8WnR+&v7#S~IzJ;v$B0b=jQt zTdrK)C%+RSyG4R9&0#9NRD+~qFjEuZ~9;ZYu5<5R1Lo(6)u7_QTL&yMAF8kdr95Q_{ zY9@JL7)_TKvR_SsD?4hgJ5P3KdX8mT35?7A;`^7og{ff)056RWlu!mnvuFGY2 zk?nF9@?7Ki{KAQ~cXQ=(J!4btX&L6~FY*8ds!!6rc{PfBdaq2S_%4p7jy!CbikAVr zNjY*-W?vz;2gsZW3A4?UKEV$&_S2dp^`mrpnecauK)48e4azA$xHA z_5T1+O9u#jB?fXY-v$6VlM?_?O9KQH00;;O03B^-OaK4?000000000004o3h0A+PA zXkl)1Z)|TbW_T}SXkl`6b1!#qa%^NTY;SU9b1ralZ*XODbZKRCjJ->fEys1GImfTK zCQYi$GE?Di_in?0;uBn z-+ag~$A|x>8~!dX{oQ~6zjq7&_2<8S_|Gr@>%%vH{{F*Xzx!%8@%48f{^RT0S0BFm z-+%b(FW-Oo`kN1b`161M<@WWL-~8dL4}bgm`##J|S*`M>_FJFE8pI?8c$^342 zZ!drkx3B;6>+iq(p1=IyqxNe)`|L+Q{rqE3>t&9ovdYWIuRR|x#Z((mb#AJ@)U>Jm z(tT}}P1TpRxOV7Tf9bwc#C+-d_nxDDUpZd%(D8D#P2`ulsX1SgsIq^qm#kkeMUSVK zUN@CqRx{P0M&`BME#&Oi4jSjqx_f4-ZmPYk43%`}cu5oL(4F(8tlh)q4_kCGr@s?iZZnlm6w@vNOtK66NjcxZz z*BYJMf6V)P^~Ve~_UP&H-GR3DctB}bHr4jE{hr-O-`}*qq8%@Dzo752=um6l*!QUU z+S*^(n_r%o$i82v7vz_u=ce!6AF6A6%m-B8Zy0-=2CW>T;)C`d`=<72Pr9Oc*;Es? zzkH9=D15>m8@+wBm;H5hj{^jE&B5Q*-frQjP-rG!H`KxmBRl#XXCOcV{{>_^pM#`>55> zG@MXceV+P#pBB-cdX0^zcTbSk(5A+2V^2_l+CO(U8w09!-m{zA|A^Ypc7~oN8Vhev zOWiN-JoX=^xYxDcG*f%xZ&%I6|a-%DI#P_O6 z?z1+vp3=AOkKChD%~`s)vF==qn0lgX8s?%I*pD&L+BSQqzJC6(ZT6teTNqza>RV}= z*tVIBMyBlX&6}#UTXq+N(zT^;(w$;5n>wG<65g-ToqK7C+N)?nX)9H|$W-Rey{p@1 zGFr8Deh-gROx2&oo(<5n+1!~l))gmQ;#LB5D{8(;)s5CD_on4 zFXwyqa3mNJ#!DkZ}u>V^OvV8W-xDuxY1@fYyX;0n>q5Q`n1_= zy6qds{#zY4807P@2Yp}O?d_j+|FN|v{Wvtu`%mMhbMILP+P=7Z^sLRg|Co5Vt{dO5 ze;(*5qz% z-1|}Ujjb=nzwa#j$DDe4pAq5^`iP}pl^5!d2XAC7b}u$hcQ3hNFSLDr=|xlHx1ZPg z-w(~KTa&&b?WZ{M_=4LWm)+_8|J^`J5;@dNyiK2`J38Z6vVKnnRU@Ez*|#+PDjM_F z8NaTZr{<*Ww}|&@WQKnB7URCZn(<29pn3K?lE!9pTeYAMUEIni(^g6`wt73iC%yO7 z4gNl|es>=2>ps!EWzxCC9a=m&?rywYW1n7VkjdT*Mc1@$QrAyrWF}1_A2s=7eZ4H- zPaj)C;t`pdn4w3?*~R@CYO(NbT8Uo9tms1nxw`ssXabs-T7P1DUmD&!=eM7K%o5I? z#MAfQ&=Bj^%%oJ_FbY$}gllH^BD)>?f<9U=oKHHGwF&luZRIBE?nw;e24hhdUmsuc zX}@wanWwfTO}fnONo(z3j;h*F-;=gZ)d%gZ$MV}}M!jXtrM^j9tUQUI?7vN|a~{xo z@A{N2U{!TLYY}Ud_5+E{J#Pq~nwYt`k z3yIa?jm-5!n|BRw)BUx{Y-2A>m?*m-v1io1#f&tyxu<&n%*`CejIhM_b$x2`Lexwh z{M4YBLrsltx-qvB5cV&a$Ydaw247RM2R23Xa2!ceyq`IP4<)_-=w>3-%zbJcI#Zfv zoDAv-$3TMb@#hX#ODvXN%-{7+F9wZP=EIhG2ot;S*l)SzU_KL0zBxbQNGs)-zaZ`D7M_hW)pud zaa5_(h0#!3x;ojUONY~k9W|CwUVh4s5BiG=%|%MYo+O-T+*RT@e=x)!pittg3-I=b(aFudik<~!FuRwT_q zNQyl;%xPr5Jmjz>o&ZH3GpCVQQ_2X*yFE#}`?lPnX7;uH(Z@hD)kDpFWITG}oZ0f0 zsIlLyLGtLd2{k6yrYVWV$3kRQTf50)O1IXK$cC}MaO>TTvEbU)ax{?Y=DwyEOzo7i zMba&AYQRP8-c4pk@7~nWnZs#nnvxQ`Thw9rPoICB)-0RM8d@A9nXx00Kf?sG7_<37 z2ryZ@Wgn_KxXgrNuV`?@VxEs!vImTFiSu-JUNe_rCk!@qf;o9Bn2GGs5$A#>Xa21B z9qj7ydg<|}k5ii6d}2PuKEwsH4rjlATF_12)&+U)>?$8Btt5+`96DO1Yu--jgI~JZ zVuL2JDA=cr0NQL~^hi5Pe7*kqrm@Ehbdt$y990!| zwHLLHgafsrgqU?6?uhT6*(t$fl{hF9#|I;+CC6wm(6>0fljY>(sd+{Tv$%zcgo!Y> zOmV99<-yjO0Jm@RZ544SRam1B^CkhPBO}xveaNBU>@!?M2QE|ANmmhH9aOjHJHv zF4CKNO3`fIhBq>MJ4rbcs~R)_aZW z#u743@j|ok;*Fj4dyP{(tC|I`$%f44-o8n!Mf~LOM0Sh(nGX86%<*0(Y#}1I(69E8 zvFyx5EWW3^D!@)ZnDe8Zf;^k^h#o#$?1Wi9BXIj5mkHr64WB#FXQ!HB=x#@xqOg*Z z&ePdrTVngy9?KCG#46r%3d!N1_XlI`U6XyV`?zlBjI%a#Y}UezS|ZXUSWH^nJg0lT z>Dyr?7DX)t0#-pe)s5#SWr?oILh>!e>k(td@Dyh?^PDUaa=DbdQ36HSHh?@%n+2~~bRPcL7-l%> zI9Y_u80-iX+Y&nSd7hx|tRACH_p=VY6o(!>hDH%zz1Qh~eG0DQl>n!1mQ6K|mLSm# zDhtd!nh%(sKRp_vbQ}}81P9UfU;x%Fo3R&Nw=|!u3}I>(2_dCV?VEgqnQD|V{8~S|9vrEluo=XWP2rEctaenwfr=F5v*e&QHdX5dg$3j<* zVg-ql^e{V)RnKUwQ{h_3Igqr}gg;(`_Nf;K-m)|%Su3IKT3GZcERRq$C%#iPqR*LK zPAT<7)3p`2Jly93rD50<-gK?^Jq-3Pt;G1q7O@VGT}78)61cb~&zc?U8aug1Hw-Jv zg#uoer2S3FaSbKiTt~zvU|phWgOc_1C>r*)S_cN7niGRIikM3kuh`!@v?IBu z`5T*$n8*;vq>*8&c3yYr#>rOKUV@NoA$!)RM<~lt2elbn6<5@?7!^sduku9{jY^^k z8O`Mf)dfyqQG0b(g(YND^!G5KckORUrf3hnh8s1?LyJRH?;fqnROPYP!_Vbso>-$a z)bcYsVne%dQx&(8`0Cuuv*Jh4wY|%lq9qzs7d0hg>dwA-WJ9DY?CedIlUHxn+Jc!5 z*!aFQ&Hi=C{6jG_g-hc1#n!rp3@gWP^V_O@|t;6-9Kqo`PiY`wL~=ut*c#4q%KWgO0?U=XSA^OROjrk4xSLD9XfD0wJx3lHLIyf z`?8pJ4oEGVQfQJ^swZo*HWlo$d-_XpJ-OU#C5AyuR}JmS7ax+lZa-QpTX9oM%W%kA z%(8A!o2}z;3-&Qt=bM{p8EQlCbzU>n(SNY&uRG#xt6cZcyZyznBn$uSthiNCKKpdqoOvIGRgqZx%-Kwv+oxERsJ-8GtqrKX7ppeHKF5~1c$1V!D;lLH zy>q|jH}Y!gbFt>{+jTHaQ(1<78P1;&#M;H||C;wXwnb=(JbPI4K6MiJ)xL=)0TiiE zHx`|7lF{Tkm_)-NhfS{Sp_5U1bMHLiN3vJv4z)S0Y}rXKKnItd8)|Q>O&t7vuSpr$ zo1fWR0JHz%+8&m6VDIM{QB`JqC_P8?oq8p{xQC*!mUOs{HAJQ>UD=$ax;pt7z>XtC~ApoWG>QEsnt805)- z^#WBggE{?NgV^2FrKTH~&Qf_RR)gBIBwn9ABS{u)D6Ou_+ux*Us6<~jhv3@oCJdJdsR5;K zDs*%~mBMb#8tUDnC#fzPrNkoE=kIRqji^b;!!wC{h)W4dyGdW%elR8Pr|UYE53~G! z0X!~_>%w`zs2&#FbuqqQr;khcy1cJT|GF)%Tjsi*9=FD=P0H)48{lA3uQyQ<#|MGQS(3V?74dWhzcwg7b8$%P`v#+{X?g! z#07<2C#If5e)^;vGO4JM?8BHtelcEBI2SLEbyo+}c@p`#QdptV>Llh(BmoIxk|PUL z^ZO1-0z;cjeaWUI)-;^Yx>E~wQ`K#DeM9v%B8DsB$Py}``thRJNeWNBw;b5`WOhOnn?EQwg5+=FW&GsX5-r#H1V1DxKIJ1dul8-X*7 zQ=AfWK8PyU%S+>$)=EP@rV))_(+uG`PmEE@Jg1S~;|G&k=L`*>k$fz{6QXK?D(0+w z(9(RtFDI=G_+|BiSRG!?_)Xu~+0~k^1yj#nR>ds7c^x$fh0`^2;OUojslhrJ#0xa7 zmGgwDLrm0JQ%o(NL!CBS=4h+Fq=C)0c(u-;Z>oCTXhNhdW~eG^czt(9Xdg$~p{??| zLg*8V<5fCU@r0<6l3}t6YTu6)yo~2}E4tWJYf!OC^tvKpR;C5@vLK^YLaY@l%eM9z zTNVSf8NlYo1Vrz*ZB|zHDKBkkUpV%Q_sS{3H8$07U`zXwAkYYEs&J=Qh1|=6FkqI7 ztJj;Qw7n|CTdhl-+r5|l1>I}+_T+5t#o$P-u;)#Y1c5rV+X%bEn7%d`IO#bMYQ!v7 zH|m&~9-Nc8AG~@bA2XG8-H{inHhraAEpy_j|D8F6novjaxoIjF%jTk*^h_P$I?y{& ziiGm$Q)Om2Wql0;GQx731Y%%m?NDkZcXp#zdx$Ihnl)vN$a~24(veV=36~+&V<7YB zi|Vw9B{iR!lmH<`axlfcA#iD43ugm*`Cw^GiF6*N!ko+6p&hPkTV~kmZ-G$9ltiPI z*AW@&eDPXK`@U9@CJNy{Qsn3Gs^8xlTtfDfEn9Q~r?huO6l8i#>Ap1CND@MnmXW*x z)#UI7l*sfXYl?PiLf6Kc($D=aYFWT*2)4CtS@(BaHEaXBy-otWy(|3aM+7^J(~lv~ z2BF2LN1Jf7h)Z3#M)x`K(A*~)SI)`o1WZcIdpaUw2LFaUHzh}W1vW*pbuQ1TnI-d? zNV~eL-j>rDdExkUdmGS+ivpo1|aJa!;EY1YURE zDYwEufBsSGNAmXB^C(J-D50mb=rRKL-jY^Z&~$3Sjm`}c9H#xuKW|0Hb3=_k7ni;XFp*`$AJQ1+4n<=wXUou$EaY+-vRNw+G) zmOLVTMDdgaPTi=GLKz=3RI-6CH>j}6wa)$}$z{Niv~gv6YgWm^D(8=`i7v~@!i@?J zl>fzzD4wo(42xqH3r_#dO|TsF$oBti`m+HNEYkt zsjE+t{pGrAcvvM`D|)cuOvyTp8Y@H590L=dsGfLEPP4X%e%Esi8{-~n3E@e$Nz`4v zuZI0`(G?kNZR=MrHJAI8*jh~X9u%b*@TrL8O?7cq3CUXYvR><2$4S?jXN$$OsVMI0 zWz|WLl3t~+l>neO*vY8(?Ord%$HQ7B&ywC2f=8Q#2t%pso8tDZOU|c5DOjv9+ zp34U5Mj{_~R>rgXn$npXwn-?aA>NjmyF8#uXG!>y!e2=U;-T(^q#;rh9V+<)6r-y% zY!e4zrpm24r##ifc`QoWMZ$+5O5zu>shjHBvZ7=n zl&3(HTwYL;sznu3Ti#HFtJ<6hYRMW4ZXa4neom5AA}LCgMEYc<@obZbUQzNIB@D5m zq->;)ZX<(^?i|=Fvqh#&>6FUYcGEnGV?0uPY{Mz?;~#zgF)f5e`S!{gakrnpA%-3i zMpPVKhOM*Wp+B5)p&+X2`1)}M=_xoazdp9R54l7HR63@^{Yr_zq=>r91lhC*$0C)0 z?1?^aC~*gtgvUm9n{tM%r_{7LZsa>O0%J(JY061)q*LZ6DM~jo4bPbUOsI;23@X9p zjd;r*aT|{3AX`bA-{adpeN2<{UIyh7v6D(oymbd~w0x_m-FuSvFLEIq0O%Na!t)do z*2!T&8I9n7$uQ64KuC^Iy!`9q%l3C4n9ec2-&#cXC&CZ+bMP0&WV2ccIoi68 z@j!)iAVwo(EfK6#h})@518LpQp4^B`BMMDP4b1M+&q084Cm2$_Uj&ruRDFstDLE#P zwn!^Uk!iH(TaKSvzYgWH&HUlp_8?ajo+Rm$6eET1C?F=EX=Y@#DIS}+JqbIC{-_an zlIv}-1~daV872szyx}I_Pv#uaF&cC}b~y^kQK~7z6O$Tn?6e~8ngcvn1ib0ip@~j6 zj<)33@A^Wh%Jk34OfSu}5ri3KZFUraN+K5pAvrp%T%Pi4>wEVy86W`kLHtz24%_9^k>3fY=ZN+`co2Pw}H z(M5=b51mktu$m_wo}@t?EL2TjWv*)o)O#K7iAZPE?KAB=1bhE~I+oe7g!G(fD>5&) zz_%iji5#ZEwpU8aRBn& z#BMF(HYW<%AS>!<=hScc=rYBcaT#YfStHzwd@#qz*Wttfy2&4XE=5}4Ag``FDpT{# z^TSC?PJAL(&ykl7K-`Dy<&8Q3$ZJcj#`LFh238jbbk|@QM9?ZbP_x)xFAwTubS^;` zx`sLSvuw*cY|o&6lHQ*ud4r7rRYypl8NHDLIpY+zf%H@mm6=Gm={`^~tzF)@JCHFY zhzsowG`0mXfHPt%yYib`B#qPvb0$UEq4kdH+%m$m^AY)x*?NxXo9ZcvB^DRRN~ks1 zj)Q8SOXS-*zMpq6l+FO?q=7F!IeO&Os_*N+)}3(cX;kS&0V7;!4)kdFUum zJAs@&E>p-$cf6x^&dure7{DI~X-~dvYJ26P9p7NzVmfNB=LmVkh2)WNVB(5wgUQK~ z*l;n_&kXxKPgeb0Y%@Z#UoWrIl1Z$f$`*0#bydLivy%u*aF$B`-ZFpJPB?NzTq46M zX*v#z>Glsd))tV&lX5N+#Q8o z&1`b8$ou)fd{U91pKp=(OlPMINCXx$6v{Vl3E3`kUt8i!FoInAC_@kF23ZEP{jPKT z@}u2|89Nx^oI(tIwj7&@v_%+yKGR9a+cM8`l8#evj}qbJ4j1nsycBi;uM`xBvnHKz za*Kpo81;ht@^J%k9&i8>ho{5>vZ3WndiWsi2?tqA?QXXbGGv9>^_t^A))5NAK zHD=u;Fz!BfpRn0%UcuwTG1n8Z)e=mkQH-v1kZ=3OHrNjq1R*4)-a^tX5z?M?f{|k~C5;{J6m<^1P~mTGs*sVVwc45$ z55=D8)Y;ovY85aSEmF-6lGs^@*{L{Ui?{5Ah^piX>DrNBrIokD^!s!Md3Ew;=gn*SK%%F4N0rS zBuz5)3d!#+6axMVsz+!XP8S_yomsr@?cC2Sof+vDPKJW*TLwh_(*Dr~DKRYONcGmO z^QF)~NInT@jop!3k5gl5t|XvN^70aVW}vbsnAid5I?U^_g19%6W^KEv>+SdM`+NaE zVxE~J87Y0LZ%0UjGKO+o6gaY($bO+x(f7KO{Wav&NC!r5-;P8QhfrHxM?6@VZnd)Tsf*GOSqD|Q_TI8TwR zD7(03FA`!)y=U#o-TBzuZr!;U1Pr9}V99XCLC$eSe;rQC(--HHvCqgbbINtVXXFqXtn8x>dOgXw(_=7-m_Z9brW8^(nR#{G zB6EK8W<1!3wQu|6GTH$BH+0f`iUiv}?lT2DY$U3Ik91 z^)j@YM1_A^VohhY$4Asbgi!0e~}$Oc23>AI8U4%$QcB8`x_YNtL>Ld&Z* zDc*I4Y*;Yo{(Fz;cZg(g#bo0|2qVj|O!D%>*GcJX(lZJH7}kWAE!qdUP>3(&BbOK0 zCDKP_!I5$ZnueX{Dz+;A@!>D5W3sT=>pN)Llu^n z!`1;Lr^6dbwnS_#`r;9W8cS|ybN+%Oog$=7t~ow?C7$rD3OiZf|M*Hmzgl3bR^y zF{VYcq2ZJOt9b2&FSvn#)9i*T9J zv|_Stv?S~gL;%pH!ZOM17t-bp&vS&O5Zm-EMMgDIJ?e}u{I#AU|Vo#s!(r{hK#FaHP*Ko-&?Hfm(++f_hDbvrvg??6Aua)#&Y z76Y*3Xr1O09kJQkfkc^t(SQSFL>iP!AMl5|-%mSMHg4Wzj>?nq4-lgOB0!fe^Mw5C zCER++XIcVkCq-;kOm#xua+DRjY1rqC40poAkd+R~qRhEZh7e?fAJtz43`BMcy5ZQ8 zMSV2m68dIr*V7GQwp?xds<#s$$Ur6f7VJqtaN4*Ih{G|0O{A~{7O?WXxfp1~UGM|c zI~zAnaE-u7m^L|&^G?7$Mhly@5laFzu?7S9U&4SqPV?jmIdP7{bAS#QXfKC5;`E^u zWcwDz))ePS>$Yk<9~KPE5R0W?%RrV#k3gz>It()bWWmwBvFy4zMdR`2_B|wyZ^ohJ z>j7WPj5+^_L?GmZ&^C|I7g7tLmcjx9J?j7%)i^je+sTPf5W7=jc)~JplPB^+4NqA@ zJf3WP4T;d0^&PQb5?(Q8h_gLJgTi*dUe$hr-rtLv2Wo!N7KJ z*d9y04{$(c8uy9B>^{IL8n2h;K7C9F@o0)@ny-(9xey(_{9TVU2WOSAED?BVFe^ty zhDdQo7Hh0!T%*|nA&Rkv>Xr=gi!}#V&uPNex$}B?*Qd{Z{FBc=Hu4k*sqW4XZ4Luh zYH!bu=a-R@Yr`1|IkHS0ovw`9wwyU}IMi^FhujUD&;W!WbD~2LnC)0NBG`$fR)THA z6fWu>N~N&sNPbnoc$a7BeJboVOZJ*U3j&@3q#d-TKzt>nx+8@=6Get8J-rYuogA~K zAnQp+aL3yvqDDxUb6N=7a!7?TGMvP$mkG|mRCg{9uh{hgJirYK@6<1fvH09SRh-59t=SeWoW7CnJWEDA@vaxQIj6}?r(v$UW zo{wu zQ%NQejKdNj7nL%nGUcl&d*?6)s=26&|IB`5vcN&bnzbJ+L(cEpv}lq0WZec z6znUg<)jn^M#_U+Nbo7IP6{=b%m#a@XHtq5f*1seABMPb8dCA1)3#THG;3}-J6j3% z3JRWXB;EIdD>;Z-PD-lABq;ax>*3ri&@#01oF^_ooeEdcjxK}?Ydn+=)!54#;%aW~ z5OUI?9I&1J+~KI-NRER4IA=_E8nVH;I0+6zzFGvAw=;`snFk-v;L*pldGB#IRDs8C zw0#8qY#%|1fPq@G@qL{BQ>iB*N@G?7fd?-&)MPcpbJcU%vy?yz0*O5AR<>i4W_GZI0Z#hsvTO5`Jf5D4^wrHo`5aL0#G_tb?|wm>V~ix zh7mJ#*i;{}*V(2lTQS$wbX{qeMR-}Bmz8^2)bG~&buV1^$#oAsZm;Xkd$%jE zJNCMp8!||9P&FViyj;=w8FX1?rqyvm7E2ydjJ@*Co%^VjlomJw+7=7s-Rg`s!IUH? zX0^-+rEw-PLN&JnXpflY;Snolr~qkrP3l@=B6YA5+{`3v8ws-I9nU5RNDOxvDS7ys z*r;%XJFK}HH(4uqQ~+EK99@#8KuUIs@JI$n-q+yFT8)V`22$G^loH+gB=9|XVF`ky zaY|I*nT=Ph&}bzG`}2q8KVMmA!YyeJPSX=!vBIz?0_NcsNsU|*>lBXe^vdjm(W#f( zW(knF`-C-5%J6UwXH5>$4HCf8oCH6Z=y!|YxiC&=}1d4KRcoJfyH)%6&A zf5bf=f0vW-dT3q`)XQOeJ&4~O($@q0dbnQ?{;N=MN(*~k{$j7ocOcqVfbA>z_63*w z3fWDruUvZ?rGpT50WtvK&EGYwhf(*FF|Q;Gcc>;Dt!X`w`L6P2rv(Vja>bTJ-52D~ z%0nUya+b)%RO-C|>k>>G%4p^SiIGTK_$=VOs_)F_3##G41-7(Y?*|}*w_Zu#r^m@y z>c`xp_l1GEvbmai*Nx9smyxsT$-h?xIVyvek3>|0;D9jjS;Jo_JfOojavsSf0o8n>YgQWe z@&_t&_z9DzVG$9PsxLK;$-NrM2R67)^<$l*HMM)Ubcn21r8EP2zY9<;nTv>CA zpk-B$rPHm2oYpV`>w@6P#2^AVt3Yw67x&((n@;}>6%bqFJv7=o)U+$2+7)f>io|wB zX}bWp`2?-#05Ap1Nn=1sn4yrBAM?RpbdJ1!{!s~7TXgD$e2e4B6-^4Tr%nnj;dVd~Y#GgbP~e25k44VPjj+)p3h#)Uoppeo&MFZBzy3^IceaU) z8*>;9O9W`1)kz{J$XOem`XAWI6`N&~Y6{S8;u2l_0`Pj*u)w=VtVB7jwFC@cmda5$ zg`~15?;&WK@Xlb2$5KUXnQIGS`wurJ##%M0E$o0wS$#1CkJCBna)ySn29&->xJ+Q0 z5)P5hXon-P*zef==+!6cyiWZvso|H8!~+~Vt)3C2E+HWEZHa&xTgNAEeIgCVdb2QA z43GAk$b~pOso}MhC4W7n0Od2f#Q8WStnv6o9SNCjS%*75kAR;COFBAHBa(HDyR~r2|T^~{c<+57|0 zvCYFiS{8m3{E{^f>c3G##8@5K@~+`b7Lu@VdfGTkffU~-4d}=g7Y%EBgh-gN*&Q|! zHb59vpDhkoQ-=@U8PtM0eA-VRu89^=_4W)vENgI5BadRuwxClThN7s2tWN+L*g_1UO*i9}VQWm!K?9w6W#msN{|bS;FciZ~}>q1gVJoWfNsm8D|j zy<+jv`e`{V2HG~7!Ky`=H27Y%Bo2`0M2jO!8c@t?Y8fxHyPQcfN}u(p?Dj3c8^KZ< zdLr>%XJL&ZDBYAbCD8nuOR$iABdXYdRSelD(?jZaJv{kswg?QryIbNw;>8lH!JO9i z9t;={n%NJOwjU^T7iI5J5xgpiR|WE_TwWE=i&FXnh4n$ld8hw8=tg@F36gMD=l8mx zT@G)9)2#3m`MjDDT6l)!5m<0IKnI5e!AiqE$`n2o7bbYUyyMfyStu4E)GdN_sgi=T zvfv<$s3M{-V5!F~M>#gqsvPg{csapyo|qNu>8uGRlT{p*Q^(X?clW(ZQKSg-86;hV zAGt=K}fmlElN6MSfVP@EUc#MvUO|5pi+lEHYr%zH@6!`1@x#Kyw62 zIM}8~1_br@o+D2eejcHz5BUDLTB9V$z2=1boFgzHlJ9Z|1cSr8-h&_9HG=kt*9L3D z%`QjC9Wk;|HjZ#0hxBKc09`<$zXYo5JkwmlZ(zH&OT?O;rDq&sa8@YG7CpSwN%0KN z+|!xFOR$;)-j<`-El->QDilbH*w%YgMzZ((Z9-dwU>&E>)g7Du9EB?!(lyRp4%a?N zA(T4zEb5rxmt1Ec4FcPJiRD;?L~XtW&v`|=7(uG{NSU5v4vxrq2o!&h(31=DC6^zp zQ4O@jkUQq#o-WRoI!@nujm3MMxhCoC#p!-0n81Ntj#rH=H+$`eV^g2AqbFL3>(1YB zBzN|rOzG4lPVQ7gYJEOST(~x;6DWH`0X&}xwe^(DQpmPZx<%vrWSmtgR!?QH7KGby z*3oMb`-6>x!W_?My^eX`g&w0Ep7`eg<#!O|SyG9Vsu1ELjK22>vwl8H?4;A1AJGzL zR`Of;=J}=8&RiTIQfbQ>tD0l7mcu~%(;0Au6zK?0XD>SV)v@mkI#nI&TNREzT#bA?x1qv1j(!g)um)Ql{NQK>_vEa?dd8rd(Gn^`QKvI17OA(L zg+S(A(48yvPDwep<_P!FB1(Xj=`u9cDuZ*FOT!ax8!!bZ5 zLd=fo!k-9x$xsHcjy|318(~LvXgb1 z@*zOIP@EyPhaAQNBP)^hd?**tRZEI~o(E+)7k0g!QK@G64$2GV?m3-_Jg4g5P!Ni) zwdu7%Y_IlN4mFPVoFUCFT9X}Oq8uxql${7WYB*)N$Ty~M^3ckAkUG_%8Yv5R7dXl1UAcdgzC-t zE!pWk=0c>%M0q_Tf}WC>SbZxXr0}>-*e;p4=yl{ym)DE1wnaw4OLtB-S*>Pz&D|skiQL^p#H z(95RADf;GSr$eI-x0(czv7tV;VV4ph@44BwFW}HNP8a7|^s!oZE8~PWlPOeR$}6Gh zv4c(&F_C!Lv};b#G%d`zz0V5vtw1?H?sY^Mok^?%}T5a6jtu+_hp;1QN2LI%}@d-9Ttp3hpD#iP`eelJwe0{w7_EEauD3T7$@mQn9&o!uhp9WH0E!$i5&p-W?%R)>a3xe zgm9V-!|v6o0i2FK(mI}QrQwxo29qVks~TLr8IH68=``)~Y2DZQ2|}x(eg`yr1);qH z)Ly}BFTl1J%-bs*?iDKc9gOY;V)qKadqL*Cg7*FZ(DwoC_X-3YaG9gHN!#^B`E}Ef zo@*LTm_W21D?BPM1PZZ{K&w|V;GCFPv{H+oQ1R-H8>>2z9jw->b4 z&16-XTuZUoxc{1KvV(xQxLo~(1*CIP;!&zcv7m-2F+|xhY~#^p6r82aAlk&*G2wKW zP{UCS+5n}W=9A<*lT9nyVzQ$6IZdEJ@2auPMIEM^+O!SJu$!WW-61+B3SrvX?%MpN z+KU2?nWz;kD{&{a7!p~s#m1q`#}?y(1#c_UpFo75KHW@EUr-O1OaataRQKCPVQg!P zvM8?__PS1^QZ~R|b#)P4gYgh90#ykrAucpC=+(C^8&GSELo^f)Q z1?+CFSi)44DCyxvSuIhEAXG{ef$E+cDiXDy3MU_}Odn$1C8HLj)Bs&jT_}x9)D1bn z-_xO@$vkXg?e?%80FrXVObS+UayYb6C6TL74popc_I6a3Ib3g|dl3k7*{6}5aR+F@ zdY{gN!;2@5$-~g$0z}TVnd7|n+Z!K5F{|AbzBRj(mGfWw=x{D;%jc(Z?&6!EAXZ~A zYZU6zBsCA_f^o~R8iU!nwi1Kcy#`eFWm(>+$-`h=^w?j=J&UxNnykjmyLDt0SKDIS zxqMCF$rsGEYFzxHk}OSeug0s!y+D<^vAh-lsuLFEKt?SQ1u-Zt)o^0BZhTREm74;{^!s3WKbtm1$eMqE^HI=-EOw%IRs!hv_0*ckyUI&3MC*C{0O zZX0p$)a@D(zA`|6#K>(VN`=Ll}};>6BvF<6)dzs6z0$f@2N}Oi_Nt(Mrl5 zp2-$_&`u~A!|=s!IhDL^Q;j`WROeS{AJ`@U=ia1NI+wz^n+Qt&fs-+ zuQPvL6_*wBZZ%z2+I10L*XMQZUaP!cE5N_64*ys={!&%`QgHrVE&6Mn`fCmQhvN2+ z0XvtNlpn;aTw_^~EY*JnO)Ru0ecLf!UG9RlMuj_!sfS?mAV|%QV3|uLy!S=&l;@xr z`a+A$cRAy4fKz3u5wl)dCVg>DQzhXx`C11&778$2EiMP+C0d7Aa$yCSSu1$UVKT>Un@KK!;!EnJK8m|_*b^%b-0moI@IKATlY$PdY3(NHSbUO zm3*i!*FH{|y$-s}h)h=5Bl>At%Lbq`<_bQrhi5;1Y>{^|(rL|&tj06RD$Ky-G7=AQ zg03W6mTb6o)=;;r#dvi2H1amXk2@{hWthXe4>pbZ8SvydHEw5`X~m|QA~+#RV)tp| zvSXVcJHLlUc8*akx(q9?A!%5895|z<(J69CSDZb!}SQ#R@mX(y4L?xT^)w)*cRyXQyx4NSbP$Sl3Q+m78 zNffxy?;5=r^x(r~(n(Z-Wl)R`oPAC5oC;hFH05SLAG&ch=C3i{6?p1lSlT_367(C% zH{9gNp2hmSsfP7H}=94N+XNQBs_OZyoz3=BnV^PNhc`YwSvoQ5^4XqZ7kGzSMp< z5T&n<VBdMRqj9lD2|b! zaA}8vB_D1dqZrkXBqvgpkTOX@B@PtEv+~L36xu*u zrBa0`4Fc9V8e9ws-I^ZAA=mxkV^yPC9I0BFo9@^U1z53hpcd0DAOC?DS&;o5LV}(W z?jrWJQ3YW5TBBURaPvCt1DgCOE@^u>M1^GCvfQFWOBdw`#hX~5uHfkEH7aVGwkGh? zAAb&zULu-%I$5zf5L@=K20J9dZlDA$hip$HIO`muR4UYTY0YsN3m1rgVgBPWBPrTtBs8FqI|_lsyhJdghcNwb{EX6D&~rL^;(+GFy-O4{U7> z_?Y`6m9;P!Hti%W_2JUX!yzieLhl4cUX&yRop=e|vINH+XtgR7KbB)*|X9XNAk*9KDba~#b*5i%m}Jjp!>uCyK}sU z1Eo56v}JfjYy0*4+d8pIq9nr(f*Ew@*lOobfART8S<$E#j#oei`Q)=%=V4FN zJTZiSml)T%oR{rDj)6j{3~|jj@+fg{IoK$twnX$V{iE`3Sn9P|0@^miTkZIqX(VCrLD5_%NH?O zRQJ|32PS8iTA3~)tlDFud?d(PvI(b8Q-E_*M2)FRw^r#{ZOXZIiKGGAFHo|SOj{h44MVr$F|{8>gp&;y z;buvcP;AT9#IjZUT+iUM=e&pHhV$ znEujS>{|Ib5N(k;GAufR)jF9UT9I^T4scIoqAJm<1*fI*04DsQq!_?N%jk5b! zmTk5FyVPbK#K}q(R*rsBp_(a%3!5|!^8_W%~CZln8bHDZ@l6yE{yP-wGlid&7 z11g7+9_tP_Zt-#l80+9)6f%J_*Xa&7uI5O6-6>=s-j@s9UGjN5Y^7pkXa)n9x2tnS}`y^?Td{C$xLR{vw4(Zovd?b<3BNcE`2GTnKwUmy_27%WOPgzEsO*mA z#`L7BMh($$k4KhMZXrZUZ8`3!F^VQi{f^bL)t2n#)In;Zl#^RgsS1tUa^ZHarN=o8d+l=~Wzx@2;nuoz@W<*vOBW61B=u8SE$Z+JlVYlCLZUg9y@W_70 zv`S}wk<47{BlCmXM)cUM`I3yJQDv`?h*V(4JLU0#7j?3 zB`Y;Ti5VZ`!@49ugliYau@mPGavX7uC4k~{#HAnZr}O_>z_tnN)@W<4Z=z(6T;pcK zMG1tACa{5N+2lw!JP5#V4^Zl7=rLiu&JD%rueS_}a^!&S&G%^I6R$TrfSKhw1L?P% zD-VcWh0Gd3&TUN1PA8YK-Fo2edU_m|o;-WchCn5=1UNl_*|t3RIQySI`}vQw%&t%j zL~2U(l(rlxXPrm{oKub&s!l*VY|qls4k8p*xOlGEMCQb@=@=`WRfnV5dO!sQ#1`kq z`&_ukEV)bm+%>oE2YGjoUAYf$5~+R4ssWJ0T%<(Txq#s+(oROjg}uH+{Q zRXL?IM^+PQKhC|)k>hJuEI&)YAbR7D*!htuaVB_>%W$t@@f_ufU=w{rp0IDO0W#gI z;US-oNIlgqkJ1JA)D4#$Qxx|q!C@oJIUDBP8}aBaCID3M0luLVcAdZCoZfX0muAM! zOfbjvN7+1z+7LROBh%p7D9O0s&uk6XFPg!8`Q&)6IriL8*M;<{O0QlolfKuNOumc6 zB~>q<)+CZu-fTrhb|J^)N)DHCv3R}DX)S$Wj+<71VNoHKsv{1uU1ED)?w*c5SrZwq~=U!-`FEu+uliHtE+vLD&|6Hb>9Q}y4Omzj|0FC8EsSoM;=2}rB^x} zMQP<6G}`gjga*gr@hU^UK^^u>6JTSRNJD(;3h0tPF4L?cdZg`8GkovS-MYQjj*}&Z zQwA4}>Oqa?$_7+J+5`=onIna&LvnnAS)Hb?tqyqXJT6IHa9M(fA|+CmVX%z0BuT_D zrbJ+K1%dS`WkMo#ZSQ{7X_GjU!IuE)i!T!4#)UH?6{*pHq_D~&NQ4)qhTTKd;fiOn zJ|*YTI@?1L0h^0L={Z-LkkUAylyBOF^r>J0-Pm!KYA%HGDyya&*~eePM8FGF6$^D( z-OAFFoYXH1jHqWxLg+A1fS)pMUUe8qk`bodYavSo!-2j#g9xQg z?xoB5IMKuR@+_GuLK$SMO$pRH3pQ=PIs-bF4_v#H60voo)4pSYjzyelsbZ3z8 zl_MgmFwA#65Q-7qt4DtEJ-G)lYdUWAl`FWoR`k&wSF_nW$YzpOydD6omf_oLN)C+0 z&Ml0Kc`VyDFPsgVxD{_1@U~Pt z$0?~msm%FPT)s`vat+U>j(^?QUk&;3_Eu%2si@gSZb6#E{1go=r ztG{oV8jMS}g?yM&&+K2s`(Zqpg!f;Oe^sVKIh z6ron}iUDR*SRTXKirP=rP}P~>CB$*RAbG__mrZo{>s+?+a(lk|+YmXT#yb@%{6t{R zr87S&(DeE|9SnHWigTOX%JiLqefNlVcSXW`kCOKQp!XhI?-6(J2bg?saD5L*etQf5 z4;i=F zY@0AvAC%F>j(V0*c%}lwa|!5{Zm{0-ZJ$0Wer8$$wRvKWu#rU34eOu-qXs`~kF5P? zn_gBxZ{^TYE9M*5uouA19lFIf8r2=4L|X@24M+jmWzj;rEx^fm0v!x3?7K46%7uXv zY!DGwYvNneX~>;-ECp(U@x^K`8*;~Htm7f+-haaYexN^RfDH0^i^`Q9#wl>}y3^E; z`X>i+AFfgml{=&&XJd}#$hr?zJsJF=oho_w49-?v^tH?rE8+-4Z9Pk7AAx;gR64^t zU@M}q&F#c1aYg0R@j!ut$oN0;SWegn*JLn$gb`1Ss^VH|{*pJWJXcQ(BZ2KjbVqn| zf#T8cbx!V8LtL!N7<^hoJ#G$5#7Y6Qa0J@Y0%*rb5r90L02yJ3$0q6J*W2x^+mfg! zOPM{4Q-&UOD zB>n&e+-7GZCk{p3sY72~$bP}Rk4bj6Y({veD-0#yO?p(gjYSqY^!u3iLBP;E5#hb~@J_V2h#ik2$yHpriZTyk&K`h&k%xVdzklFQZ$8+h z9+O;QJOF#wi_J|E<5M<}eMPBDWNAu}km42qconQ}R4Lo;qzooX_EZNR0hFAdEFW;q zdHshkjXMsU8tIYO@AeaE{U~@I2psHChq0%VAFEE*U!5kKtGWzc#-Y4?BVGZ#76}U6 zfQ1F&SSL1sG{eI?Qz4>>*nyc&6aj)079AVD)*|?$@LVydqAV5;W=Gs0P(`g%iAI5|0ez%3Q9D$BcSY$vqrqUrJ@lq2x}pN5c*#JZu_|9Cr#9 zAf0#WeI+~EaXO*DoNX%UsW>7gP1NYpP6l5LAOKIF&f)Lut%T+SD1o_bb{=(ZcUG!w zdkBLbXuuNtjGXH3xXVROb@8Z>){q^W;}nGI)T|7P14vCQ}fwS z{)#q~?c=N;Qf!S<>)nB_!-XGYL9y1TlxK|fgv8RvW!GDv{5wju7>2)bqx(DTPg8JQ z#xJNAi&NMq{ZPDJ0?tQNHtznh=y6;3T=$$$+rVW z0BZ60En1Sd`ZVds)lL`R_8Ge){Z-pM3stCUDcpM@MI;K<44%uJ-;;*WtAJ064nCpnjB| z-ye5rm|i-8LP16??*6K3Nr@!>#n@oI#n;Mj{`kUK1?gVqAKGZgRaQsuTtqzF}e_MGkr(dypw2cjAc}ao7dk32{rr8mthjz!*!3Awgs6F znSpA11{GFA=dL(|?pD}2?jcByj-6V_tSop;CEPCGPOxywpp+RHzu84HrlJmA_;|&Z z32WhS-0a?ik5eng(T&;XMSB?b)!5Ls2IsTe$%bV>QtJsTd<5QdI_;fa>)KA;#@grX z6Uw1~Ff)L(bpUl(<6eG`z3_>5maSceC-*)Ane7N${eorM9&PB<%rUt3K|=vqS+bu4 zLN~s`>%gJOVluhEZ5}FhND1{S30qw(eBLrfRxbZNxd}DEvy0U);u_uL8G43?Biqd5Uwpo(r-Q*)$ z!9!X)*vh>$J1`8VI*!21J?-DR3qI`5#6twNEMUW9K}W|g??_L2${`Qp+z*_tmaELm_;^K zv6f9Ne#026#l@ZPl?V2(fS@7ydenLX((DNyBs4R|bx%eG)3aSEUgXdsmK1AiqAj6?!5an;3L@sKvF&*cvvn3iF`qqZi}7Sh9nFZm4W( z8pe{Zwux#@Ki5xa%&tK-*70%p8p(hHPw0t}oQ6{9+2eW#${fX|(iTysnwsIhO78>z4qVjG~raceX@*ZPB={eI%U?Hzv5t`Bberyis`jVf~XQXV)bhD{u4+1ZP zh1sXG+ZS$zt^LZSm|;AW4`Wkk@Wd>q*FM&1|I~Mjss_c~Z3=#qd8{G~gnzKK`*5Ak z1Ji%+9xj85c5q+VSmON(mt+ww-H2?j^|g0d?^MtZz!JTndL?RMnEmB&1XCf)OjBi-*9%lCZWZpGXs^hxoJr)Y6b-j*`(lT1KI12?{VD!qqk8GVpb_ zTo)VYL>23{!zY~HJe^$939iyLeI}{Mp2Gob*i1~e_OM`;_A&ZD_AwfGUadLT#kdAS z)=kcJ>0qWoVLm(CJ#1g>pqS~-7H8}x2Aro4U!ou{UnFV*pCTLb;@WH%Y63{6bz|?W zMrkFk2~WbspY?|6!Wf`5hN1 zyTW?NlD*>5L_CE6c}d{7JXH~`vZ!H*CPL)7u^HQHuXC5=<=8hR{BX_UzOxbIBT8(t zWutBZ3#?Z3InxqgwYvZi#!VUO&Oz)Nya1=tL==DPBuPg&0{T``USGRoOu@m^B)Md0 zTyv0!c*b6W-Q}=DT|IB8D~6xX28Q~CfS zyY#~wQ@97kDSQb;81AHaUU5kZGV_cUqZJSzURiL-g=Ym`Z%UH3(x^OKgQui9BotZt zRT*@tTh*(G^cig|ac$K->`KOOK!MwwbPSvaa61L3!xenw6jdfablO1 zry)EEh4BpINg$)>nqcV^XrIY!QUVNKTb${YWEBN?Cuh+p7ATX1B_Qbt3Ql+u)rdm6 zj{vMNepsSVaHh+zjtwJKM#0zzactSAIu6YJzJ%-#dg|g66jGZ8U>3;`I|?Mo+}WLu zC6H|Sa;qbzbS(kJ{e`e{z>r{+CpMBprc#RcQoGSXkrbgD>%lafBI7q=C<#=0<{lfE zl5K%FmrA~;B^Ot|yua}iA-coffr8-(Qan^CB7dJ#RHO_< z44ZhfvxyHp01l5OaQDs8l<%qO;hP+es=d3`hoixFNS@|J?X99+c0lb}H4CPa zULHOdsOHn1^PD0^*q{@`*18(zNqa=@pI~dRJ$xzLk>E45h~!N%PEOHfqTVnufWL4Z zJJ-S+_9dq9s(>LKekLrfPf;_|wcIeOhC?X5Ue@rZ&wlw)$gSWZRx+z7fzch&pb{V5 z#e$Rbn!00OU9`kdj8KM4Ma3#-<&5k|)d`kqsBpujGnQLCT=|MXtbcTpqlZHs(~#PeJ^|AFqmfo7|F=W ziu4)%#0~{B$u_pZ`SadxceUxgGxsg`a5J>ee)<1={&6;zM~xjQV~eikPx zMIxjl#b?Kwi+>*=U=2~+Iw`K-lQZWOVxdy|6n0sqilb8!Z!gn=ZA zw_!Wom4px6&y(t+<2QTE!qC2EY+15GTGXsRG`*_^f`ugb%N%G*3>d3q(OYs2Nh&iM zW}YZ}W%c0ZsXkbYfPWQ&{Q;C29yE9rq-rK2+ zyKd3a>th!`efBFbCde%iSj@13HjSbJXytOQ4I#gx!uQqC29uFenjtu44w4?84Pn`E z`?JftqNo5oX8#W`lBMTO*T@+G3wPKF;qbLUW|INCzD5NbQGvdu52Egnfq;!9E#Q}d zLzhG%8|VpVp1zaV35vD{imyTG>RG6UyuxbSVI$?u@dG%y3)0*bgzgGZcLA@v0^7X< zy}JV9U9j@5FnSO8dKcimD=6O&0Q+QY5`*88;jezam1KXBGD}mkeW)4CqhWiIAE8(P zpP;y$&>oZIk6PC&+&eXd&MOC7t+oF{U~Boc;%@P-YDPa~^NmNs$o8ulTh8_ReN(T#zL zSt(hO5!bXeD%6^SrAnY(&M1`?OQ)Lv1S=Fe6@d@^gbW2NT%#;wdL?q7HX#^DKog1z z%~vi-h%VjMG~)>?$v0t58;pYH#%a(Rp{mXNi_brf-fYtpcN(3ARH))Ix&y5}S)$0v zm6wPc5949VUm~^D_=5Y!VUuGn4l}Z~SPqXpT_b{s3D6&d1oP_re^JYU?lSGh#!wV+ zv$wHe3tesn6D=wp?=u9*ULNWSS*sG`_ZRB;tsIh0rYGtr5JGi!)mR9iht6WCC*#B27!u$ zWEMx}%EZ%XGFiKBg(inJuAZs!)8x%gc;)YQ6+3I#Y-zQ&k7wei`@ut$?|g&#GKGIn}xm6V{ekz^Hi zRKQf%LTQP`Fbp{?n9N`OcCVy&(=Zt7h5)XIG0YHG59NXvt8-^|8M9e=DHSi2LCmbX zYK9_3G7L<(82pydpmZ63l15BfqxyJ&C}q}2^Z#`BE@_e^$&uzh&*GM!ydR5Ppl7<# z503)63I#Ok1hw!J#OYhb@!8aPb=CYH65nS8aqd)BnN4b>{ioKSJT&$xJ)gz z|2enoS?6wM1XveT%H9Z--1fizLq7eRv)oE#Iw{D*nG@{wQ#%HcVz^cGljMkMwP&!} zqb|qSn}7Yq_kO+aZ@=!v_VZPQDHLXbHyLwjXkp%7rX~Ry__A2EM(7x5o4B@+5wm2n zYY*?*6@9HS(qZJ%ZiY;s=fzd(mi&V{9?!4VFeL%Wo4lPDuV|?IpST6tD#IRfEBTyh zHetCo1R?qm5tTTAuMW&s%hSlJoaywl@c+yE3Y_FB!OEf1i6SiSR1?e1jN%*76NV@H zZ;g`traOWi7OLM!E@^n`xMtLW!XombE*S(Td=ff=x>L_wP%G=10+d2Ee@%d8wZf}b z9cpN3Vit2xFPqDuQG!ebl4h*F-MN;+wzg`Vg1d7XzC_M6wza`b3Lz{aG9s1H>{ci< zwC8N#Hh!itVGCEZHv}aG3`f&>I!r!jAVuX)k&wsjX^*7Vn$v*{<=?vO%a;h#fcw4#+>EDU)($STe zC-n#_Y+3T*#cM7lYfcE3G2~}9eb`mNtE`exN^CK-<8(7He4VOrUd|+MIGmn7N%)!ETtyN>gKXi|UQVox7Z@EuC$OVJp{n1}|YAhDTZl-RY$> zSOg0iIq%1w`;qA7xO8>;e=%C|6{UAa@ZHgU@5nz&1xC;5c(7Pcx=VpesAh+^8gI8t zbQ{|jzmrc?B3M^_E;~>V9CFPIK(6HMpwCy;s}m%0;A-8rf5bXD2k;%ar)5D1}6 z;FFz`Uh9*HN8x|BjXMBDZiCyWnOv${?XY2G;w@?))^WL-`7dJRm%jnIFVVGg-W8*} zf(=%flK7Y0=AE%F5ie1|TQ)?c<vr|J@$LASI|@8+2ARqn z6un(;j;nTxRO&ds+0sZHT;3&(|EMPEGeA^HfXg`HLu{{oc-pk*{HNScvJ8=O)vPv+ zK7XT{1tow==_#9~AIU=qmnx-p#IR5;EoM0Jwr*`DJIfM;KHH?N zTSkyg=fGwnp#hShA^fAl{CpRmdl7E?Mbzyk_;weA>z0Eyez+rx^FhY11?EIasgCIU zPBL}VE8|;F+&byrfA_w9?e_2SaJ7+C(ep4)Z60xFls+vRVJQsIr)K_s>W|)36@O7& zysI(Zgc|P}j(2^>oAl$mD&$=;@+KyElbL)~puDS7R*pL88JR{tq}0Z4k@4-660gw{kMn6 z{4)ou-&*7+WbahCjEceLdo{zVA(Xg!IG6vtG{I-*WO9R<#p2< zsf9Xgjqj}LLRU2QGhSdRiEdXHh{CI-6^52=%7tgASQXu` zV|xkqay4r!$9<-+#+fGiavaU}28(t*0(hzT#(BWZvY;)XC+Oz%?|?l|U#o_7q7T@C zXhV3`t+J?+zLcmAwW+-m94ORDBO~nq%1#Jo&>|KRd8A`UUZQh40jzctc4RPEjqMsA&S3w|&bPwsum!g9X=&@nP6u3u zLa1FoQl4F8@RFh=iTQF8mh=hBEPjbIC}Q*(;vJp4EWprG{8_Ec+R!n8 zol<4PDTF^{Uy;6z?kx|uup)7u< zGrm(DztSMTQzYN%lV7Qo@3hM|O6EIV^PS20PV#&wfWDJM--)B|q|$f7={p(qji>q- z3Tslyx~;(FT(}mr;+f750q0^~H-RaB{P^R?l$fktwn}B}<}sD7LA^@J+S1c0o*`|V zNS$n?e+8$Nu4$wSmM&K>ytT}r%`>}axw2e)sJEu`hVFG_`gft_DtCCV9`6m8Yp;h< zF}cJDXSdZiG!uEI!uuGHMw1|5%6L>pW`AmNDvh%j`}`D9;N@;#<%x!a4yXjxte!$- z+?tlFV3DgKygqEF%MNqBk_OwEU2@uQl46I~4n<~ytj0#9(qOCI%L3{&L)~PwI7N0o z>B*G*+wF{xRN!Ubc6Cy0sb{$(Wwo&|@)WbZYDaXwY_sC`_$7Pxo>}{zb$idqea+Ur zW%Ay$eBUyF@7clk%;8&7@h#o>o{4K9In!Q_paG{u~evPxwp#KxH?f&;{ zF>?>~$o5qjD#WlimgN=q%fl4`?lYoM~ z2TJZil$QX@HG%(hP2l1rp43jFuUtoXp{~-#e|U8)S<#{*$Lgc+DiKyiLF#r;6}Z#H zUny6j24*{J6vT zY~0x@$#Lf+fM9Go!{gB;zT*!W4%1`@Cl&pYf3W+S;w>C&lHaWpG;N{E3xc6PufLF) zB(8)l$dxh=l0Ys4j?Xr<_b=&xu)Z@m|intrUh{ul|X<@!e zN$`$oZcBMM6JH)L;?mq1eA~p0QPv8|;ye#&_wuD;dhcO|bgnt_=a@3rrnxPBr)V~H z2KS}RRu#Wrt5568L1{$} zgCBIl0nEAHc=~3COfrOCu9Wnw8K?Yacs+}j4)4pV>w9xeJ~Z6*)C_5FJcp_^(%#O2 z+ML=@WN#ehD}_uu?9gi0ea=4^KALSH#k!`(-2|)kM46duAN_X?ZmB>y%Rq+gjzD^} ztpXKScK@ZH;g8iAcL9nG zvxBF0=FHMV9Lr8Pxl8B-C)DVrQdUhdD+XOz>`y}59A{Qc8)c3%vtb5Rj%jvDjMsVD z)*vD-xdYAu!S$UzMF-^3a8^^zhFAb$31%-M1D?IJK`p-had4O8vcV+n@JGuSS3gr& z?M!-=Xa;cAaEY7df=6z%m!JxdwE8ww#pLR-{?ul2^=X)lxyy@BGs|KNx-$m@y2-aQ zGKWyC8#Ob{oF3V9b$@F+xSnsi4|h$7n_R@Jki=bM;;uh&*QR*Wt$5e8_?El4D`C8; zWV|bAysB&5l{cI@lihsTM4m#xFu>+>%`3^OOqoST19O|OWH$zFx2Q$&fbQ{-$vl7w z8CRbq3zxs{Y6tZ5T)OrS>F4n~0)S}baoD`JRmtZycfnN^>CbOB`t^dmx_2?w@N8}n zv@$=fiRbB4Kl6;CsPF%jdfu{;ow=kIN`%Mr;aFj%$}5JO65&;F%&iRW%VE+N9=MtB zQw3Ym>|2QOZ8%l(_0iLeRvWBZp0R>3MDySoi{q&Z)$7hR5>#4dRk>PRij>tvSgQUo z@@`?H<%r5j*X}A*(5fWCT&2wOiCyNv1W)*xRU#tDaLPWP5CgoP-~BaKzRca6X{xV| zD$~KxO(~fQZR$4ob;+qz$rxQr>T%7%X*E`d6j?93)(EM24)caJy}_ZK$yS~NxJ(C8 zQgnA>;Ht{$$#SQAbn3fYtY0}8l571s>goB(JY9x~TMr#9qV)6dF@!4pM3o8u=kDvuN$3+Rgjb_U6VpX+0O)hbWo%cy6hi(bklp~5%MKZ=3d@@f1g zKN*EB(nd#^RHMK0j7JUAcF)3W{FQ>|w<;6d|9TiU%nV^7;AHA>IL%Gf!GI_pSV5$~ z<3mMG+4+&-jxOPAA6!HAZ@(U*nj?hWOr2(N+eS0Z)@4>Q?a2rCBEJH038q&1RY?5w~lreLlFZKg=O-D-3SP8pX?NJ&fx7; z(rM9waNW5S7B_W5Q-m4M6s1XIdIWRnpw!K{z>fgCpWoHwByG+p;JgfwR@}Ro`$3eM zgv1BOv#k5Tjtq>+Zjsau@i8w z{n7m8kqYk)yh?iA@-=}J6lJKCghW8l_A0@$)P=JhAkcbN8}xYF^(^Q z0!{;@y9C1FNZ#&9-Mw&kJ>1EZ@@&*N~2o#eA3s z3#gDGY)N-g0Ch8Tulp8+M-{>9-ChL!g9oFd2gBW_DB_rBdZj zVRW;nRd(OmE70LZ14Pt@pJ%90W5Jltt5kzz17RCfNxE?xJ3L$h65Y;2^hjr8vFsTC zs20fvH#LmIp3VG1*04(*Bxap}PmEM9{@HdK=k}#!2!z&?kjYVrRvpHKCb#k2&r*f^ zjZ&qrvw>BD(um3mycCzr08wzh0B1)zhCd6EQT)V^wE{d2MDn~w)Bp3wkKG^<=}@(P z?p6#TqQ7^mp7cln>YAoZp^JBO?~_aYx#jUK{O;<dcUE-?+9`G)=75* z9A!sWwMy17Q*N~q*0PUEt8(5aE<3FBmHVM^?Z;I!fKj*O_RSXaD%S7YzJ`N1{tSFa zKiXZiy%&`2ZW*5*{|=K^PwN6`pc?HSYMZgt@Q5-Gd>e82&H^$G7@0Z*lC!pVORwdOQm?oHioAgI{|zs^x7>_y{ZuihU~6#AOT5J;-8hQ;ZR5?G}9b7 zGrEMDXDd<)o4cKz)6w6G;AW;M&4k~7TY37z@uukYY#nz2qBa74||R~y3k-c0u0f*0 z-eGT@dGF}^Ab1@h_rdc%uGr5$Rbj&O>XS=7C8uelrJp#nw=^G+m8+4-4zI(G^klL>3>M_G!%0!j#sfL z2`XmmN%o@w46UXcs^YOHT@ru^A%RA3W-E$DuZ(5CzjvH$MbU4C)fer_Ut}rol9jJg zmah_*clpb^H0E74^De1*m)pEcalXrRzDjuB|bfuU~D~AUte=DFiY7&SgD^wPEi#$X9Hg{X`^NW#jy|`Z1ab6U9IY=!o z8E-hPqMFT?-YKy9;7wO)7_c|}YSq!GTQ!0UIka6p2+@S~IbTE4t!!GMvFW&Kjq2U5 z0sI+xc#C}d?Tu$-vg#E^2e4xClg+i(5I@mEyh$q(?SK}_&1vSP)SYo(z5cn^Ev#th*G19*$ASllQ3M2wOO<&|5NJtY|b_ za3aF_nqcjm?c*tBbXly(=JdnsS%Mz1@h4{=`FbER6wo{PL)XXTeN^sR0*{KE1*W!M z)~Tf>$+BHPm$htm(`#{+t!kwsO;mnWKL&J(7W_E0v~sig8$^y+Ly)aEwJ%=`nWLL} z!5t_@*{qhdxZx7xplBz*NCUS>(iEquJPThu>w!KUX=IOUMf}3U{@{T1)ubGzt>X*X zf`?LZzHs@9({O(^YyVtb(IC;)4*b<*wNBrsndh^zyC(^CA%Qt{qcPW~1;)DN?7pONQ!AfM^*ntO`Q-9bRve z+-6AQE<;AMl|&aSqP{gbSdq0h{OvlnIYMIhoL$wZ58_V_=2$o{`}|7&--Cl?4zVr~ zfCQhdoRwYU56a$U)w>Z2eC7eR*LrI1^`n;6m-!fJ6jsCDP(t=WEF ztw>-Dr%pC!an;yPht-pZ&yVj1%4|4lmsvA?Z8Q8T*!>9g&Q?Mb&v-;;EJnps^~*w} zGa5Cc-N-ZhkswXM6`T(1GsKz&hT)LwGJ$Ygq4j6FVJj3mPEaEVV7<Pc?mT(EgSqW*KaX1bE2a0YDqN{t5*2ALp3p1(O$;P ztqXqs_AfvF_%ZB9X)wCb2DDuJCg!#}DLR~!W^QUk)gESSFQIHDmY}pUoRuS^y{XZM zYaWrFQDR33k;06^+id2g&QY0)&Z`-$pMrtm%6Bh_{na&$hJUh5>r=m0gb&cjT`Z^W z-$FPi^S&7yP>T6e#*-Zzy)?Ijn}Hw=MBUXyz3n?Dq3m^we0F^;UC_IOSyx!uz0X$MNh4F;lBC3%LFMNUEX zZ{4=i>p8*|+vS@!k-B&z4B4E-#m{8BF8^6L60XT@H1Yt5)uPEK#~5pVohEMtepHfH zdNYivl479JcIQyxNZLW^UQOA2=-l*FcA-WuS}>_?dKj}D(4|T}{0tr$@^V$o2aTFW zK_`Mfef&k`NrdFp#49r3h1BqX>b@48!>F|5tofwUr@JHLs{hyjdJW>m8X9h8QFCbX z$v)G~=>Qg5L!yz0J7-1?9&a%iXSCZZF$W39!=S1&vpQuIhYlJCwShU`&DBv1X4ffM z0`Pr1R@gdD7Xc*dUmufuOVGfMQ7eZT{KNjm9}o z(D@oap<~S>A#tR%7-{mbP5dN0q*E%5QuQ^hQqw7j&^1v_o}wI174)gXFEIw?K3SOY zx>P(4w zaPbg@LzG70JBjvrgfAQdIPr#mr?B9)4E*zDtY=eqFVo(K@J49F9>t3X*@)*_R?a8o$QJ=!8vaOH`-u?6Tw#&v%SdQvb@8b0PLW3KPD&tIxGq- z<#CyPhy!EvjKFlHkSSTy`XR~2UN`G|3Hv+SVm$WlF}n6wJP3Mtqd>5SP_qErl7pV! zhCYW8QuB_;2Zr%=7Q21l&mU_|4^+W?RkIJ&u`N=g!)OjU5le_<8Fr-`Q=&~DOTAgj zqgble3Lq8n4MSCst)-WCoKdiK!4Tmou#keS;*6QS;?#uM7%B)4!-4Qq(ET(uhB1~X zD!SEr4kaYI%M)|c=RxOa&we0$ZD`SBhy59UUuSXT2X^`D1~4JETy6f6>;fR?$X@ra z7IHKkE!W3UO~K->pSL#F2y0%ng~+4*mhI-J-8ZcM-d~2g)fUc(%HjS=-x}gC`t6J^ zhTLY{hcZH3&A@388=i5dc&*Si1^@dWKZ5HRqX&4_e!{r)p%$%Ive!8&W4SLTLCpu( zqXU@r4%8-<162)q6;JC2VjD-A##-TXoxf?C9Pp`HjyFhs`|$)kjc5W?+=aCJI^q;_ z#{>)Wd2i#+N}!O?b8jQg3ppestOV`zSVkvXU(B>DMl5~aTIZTWkXRA`7=bNI-(7nS z0raw!I%W-MREnejRP|1s&t#rVa4Xl$=c#RTB(bkb+}z)FXVi7$f|hB_z?yH|((0=Tnfl`uzTp9?+d$trPDT z!-0{JLWPUbP(Z@<7~*lb-Elm9zSkJX0Q&j+igB6ZfRogcHzl?Akukc4a%G+G`+2PI z%nvP=!~dvO_1f(9xP?CqU)h6P@^~rImAv!9dS&pj^2ZBXB3Ec7 z+qE0qLo7gjrjy4khh-St4}SZ?71(^qche(6(Om2uB}jlXcoMb-SO(46)69xkjY!co z(kCJ2spcvkfqya0U^c_w3%BAc1>rk8At)1q9%4Z&jx(47O`dh7MfnN-NCgQS-X}G{ z>dz-^O!V%9u)-fRnA4nQy#0`%81B@tI*B=(A%&D&OTCDbifmdTm?|mtk>AW`I<0q_ zZ{DfTW=~qq!4=A?z|yI-Uc-7sF`J%zNs<05+)yYNB-7a!Gp;6UED`{u!h%+m;uy__ zh0;k+x~895K{X}*oXZVhZM?B5$?fvL{`fH*+d(~Oz&e~PhFYzkvP@5w`sbTm`?n13 zyF%@odhNTi?W^kTiyZDz;|unyKeAJQ~0ho z{H8_R%r?M*cSK&xHs||5zpXMQM>kLI2F5VD`RhE8-<3>nDyMe^)Hik1yK?GHRrRj8 z`liNuQ)=zWTzaUfjYyE0K$1o$q=RyqOT$QhwQQf~cQi|OCd7afX_#Vi!Wbh(fbH}H z@g5z1zGtbLtxvku!(u2C0VOqjH>)8{ZN8!bDTzwT3=)Pm)5~J{8{MT)!XSBO%WQ$qWPjckWPVBWF-cBd+PcQ(IiCwzxT=t%3zDOlf*TnRo z1vJMC=Jn3M{3@LHqA&L@Jy)Hx0X3{jHTuDr*7Qs*;hIasl2_ZAEctrnzbRpSTScM) zMhXHzr`5xo^OVeiVaEz8W*BbfzFIEDL&QsHVv2f*d8S#iU@i+XAJki-l+n)-uBdmb zlqAz4qgE7xw9WC#3WW{VszqlZqJ)PS1(W5cSg*PHDcL$G%|yr+lNIKuN1v0FCNiPo z;V{huG(8^7gxajs7hP=K9fHP!xUoOmst zHE_Ukwtk9{FdIvJH43ExD)ed;m9|mG*T{yuFdvwHwTLoUSl#K&Y#<=;CUQkD%XXm} zBX!uxE61AMU8IZ~tlEtY2)B9xcf#<%K_zIJedHE`((x0!(co)0*;b`SXHPsvKK)nSk z`QQH}n!{=K)u5uAj(NkFD5a0$q^W9Qk!}d)0oU&MFjgY1Bp!3kS0g%16cNXiqO{aBmT7L1DTe;@`FBU zEq|fBys=^4i8Ajbn(qXgujHE`=}>{_rWIXWgT~xkwFO9|N?H>EVf#+&)5v=3)~gay zi$_*V-e~dcR;4N!>YdE?8ennx+$|9^%=xWODd3A4M1BYWchBxJ4u83_?F!QyZu8(0 zaY?3Eu^?eJexaahz_mi1r`fA{J7fTm4QA`@SQtrA2SdR~h;gfYGZsd!PR*8;C36&x za9X_>LBFgZ6I|KFx-qj}!|E>$D1)Lky>RZ8j?nW+~Es=GYZO}Xk_)aq66 z>Mn+L)5*F^XuZp8z0$4TsaS6`t#=C7U+G;bWb;PzkOA|5ftHHS@foUn0-2CopHon* z>Tsqp7KVSOy)&3Z3!En!aNEZ+54g2{8H+FD^crw~{o_YYiQ!Se_6MY^;E%mVmi!xd zUj%ov0xiDDYKR&xy8Og{6x;yy_|EK3#>=v}XW=cy#hB&rSa$lB@CjPj*~qeLcLU1L zT5iHuC6=pD`c5dd8iDuWH`J(6lTSxGfHPsWb^nfUMIIBdFghZGI|(nz03uhz>-8|C zQG&MeXYX*iw2*hzUm_6w9oI^#0fu9^Nyc5jSFkOdEColPUENczA8I;#xRD-!u<(iT z(cNw&feN#{KzWCI72m_87YaS&CXvuBupK!FT)7?YE{9I#7i#vA=N3+#hGz^G-gXcv z4W!EoFWKOeLlZqYY9Wbkt;b&^OY3gD%^;P4$61FM(4E>sXxuMos2+0Jd_hkjXOLW+ z0yr)7i>tvw-JbKy#AoPW(htxs1ZyU>Cmzk!tN%4wzI?U?+c69{QnNRE8u6I{8`_3i z+7r#FkxrII_lmHCa+kLgs0Et=>J3ZF*CQL#l>I$mp+@B2Dx`88Z8_ZKS6!-8iK_w? zN=&qCO-n5wXZ{&J8JBer$jw#%feRKJeSq)b9D&>SVN?Qr$2QSIoqYj8U4fP?;7akZ zr{n*#th|4Rfb|Yn@`4jfO+7v5#1ba+#KAmINA+oD4z?2nU}WKDhfdRwHsOwyru{fECRRceq^IUBfWys$Hn?8K zTAe4PQjHKYh${etBL;rNzTnKQku;Bkd*%pL<@i^JB46idd zaQ*ffiR=!4){xC!&)`;#$OOw__V?ij?$qC|;uS$UMk7$V@;g&i+fwwC`yi@uKyC(z z9SGSbVwCu$9sl(V0dS5FA5UpUa&c0CJ;8JJ2<4hbzE=|6eU*a zbzS4RGuQixa~N}4Lg;>eBh^UGjL=O;(2oNMWZ@#>SfN=cj=T^rstyYK-$ZHmWn;;> zLADMLhIaP!K-)Sb*lFa#E(lc4y}E-sA||M-NWRvidM_gOt1xaSH!I>x^r;O8W4et2 z6#&B_zg3?0!HCZxj;wP{1lM?MAk4jwDzgBMd9TnTc3*F~#dCakkb?CUXtOiAp1;0lKB3zEq~!1n)M4WTEI;c3KeQE?pTR97y7M|ubm!YnqeP zypbT%pOaoDVROLVf5t9C!paJaxmE-=v%=G0LFxQ+TVZUgUhuq-?h(z6&HjZ$n}fs` zS(ygQo4ijgJPqKpWWt6*!d^Dev4KU}?Xt%Y2&lbx*;oA0Se#f%E5b^8S0Xb0c z{3S5j7rRfy?{lonL```GW8Kws7+&p>znrl4JFA<=*FIxLcFq@IJQ>o>t&?blp^X8Y z%b@cXm8{1UVvo>5ed;djXMb_3DRCwWyFY9KvUY^g(;NWxek}U>9Q0#{71deK6#x0! z%q_7te3g?C!*JE}2WH{=2(}pW)^r^Xif5ksE05^K%1P#0>T2Xk#SUY;Qy*n`(bcNU zYjxA}7k_Q_^7W`i>pGEW&vWK%wExKt7<_hhlzTa*u4R{1n-h++5DtLji+mc5P)!^~ z#04IXO(;jQkvfE7CBB%zLR<^Rba!Bs`&~+r@^aF2pt$B$CEGB}R;5tc5YW~xNLDrP z5;%@rV%XI4a$rT6<6XnMvA%n@duT8TEAuDu;a=c}>)>Ick12eY&k$GDFlN5MZ9c{! zUZQaZaQs+uS&Vv|M6dn_kXJv>FxJsmYzSZEzhX9hk+RE{XXMstEp365tu8rP4LD&7 z`{4Tg;mo$H*T>28U|%d)Pn@|lu4F5Hk<_ov=?hW=C6s07gk^WrZn5Idn0E;nk!*>f zSy>p?h0X_r@5||y(W;d;PsM(Ge9$}(yvM( zl;0wUZ90S%WQAwvA_=jFH8nhHl=Ueq*Zvv&Pq^#7T6G)QT}@Fje%AH~B`2^3K+6VL zVYHB{RoEG?*Ds$5i-vySDfgH02yQHSZ9T#lU9WxY8bFg|GXs=^-EF%kVp?_&Wi}vj zX5O57LXZYhW5gLiQ*Z`0HnTr4D-uoG!*g{0oHgbOCe0J0h|j?XQ%xHmWv=VjK>IRR zZ6u845~J9WYxScky|isSEW@BhkF@1V8qaEBivamxsXq&{Pv$<-7rkk+MCJT>`^uj` zZW^X%D@ox5S>F)Jp~X2@_ddx(Jz#9kW-A6b0a|6%vE%;v=$}9KBy=PO(t#bouX}k~ zCO{j@fml6Si zVM+7MTdu#TwsXMs;h!{s+w-o+gY)>vjT0!09cpkNbNT&R-%iu9VmqnMvn{NI^YiwU z>!AZWg$#+&7tS?(uPu(p;{2VRqX(biV|u6Qtf?GQ4LZ&rQrP_>%B>uT&)buK{us#l ze2BxdFdGdP9=0XrlKet~Q~J@~LA7LmZ8IQ}ifKc$;elWUv<=ZQ1-cASxymF$1JVjN!nUKj;EpUZCp4pQMKGh1 z4J{oah_vk3UY5a#4_JzfH+pT5pFc$Ne>I6x=D{?&a>wiX;Gey}Je&epfQjOdQ2;<# zk=JKjEuP>!8Qa4p1$$x*_xAuZ%Vc0}_uf=w{mc=k#2hnx;J>wD7`gD8qBd&Odq#zK zR;X`}p|WMhWn?10q%9oCd-;5=+4bcWvY~}{$$?~l!GGxSMf1P&ah(ELwyoQxGji1{>5jd#ivt!uRcD=55Eqcd{ss1$h_TRLM_V)_Yef z%2jBG#C*5}$9RJ3P2{&5V%`Y_q{VYO5$J_`G30Wfjx@MUL)8yJp(H9}zf)?K?XI(Fz$<5OaJFcp+FlQ^2{xp9N zU0rwEv{LZ0N}}SWlK`fsP!Qq@sAnoXm6jy}gZEi5y6l91gd>rewWP8n0O37ADO;s& z)uACVhBHeFb-{n*!Nzar^hccWVijZ$-dyuamm|DD zSnJ_Q)yuSDj0&p~TAFN#k(XUehFUFWh_L-q24ppZm<5RVnPrE&8NRyJkj3wWxaR>M zy_CxSzB8K=$;@CK%7tjVW(@=%S1op)P{NCR7G?v`v! z^OzN}i1%fg7TgS1$s`5BEOV*HT0Culc-8JUIgpU*=F44HH34`l8^D~MFhA=M1hwZf zd$cu3gMoLM1T2~DIhzenm>^pmPzze5Xw;+B+2>QC5hU|-h3J=w`WIBP=|9Pss6nMV zdYwa*f8p#9K~1#mf;GB~2DstO*m~Wk88V@1y$+osND%)gHU3ckyLuLW(+{QPYv2}+ zSOv)l6S`jZzBHZ|nL5|lQKGe`Q%2gY%%B6sa3Y)9oT7>a%3d>#pVacEdkh2%cS2{V zb)$s+od%!NO+|`s?FZZ(CM;~!QVT`qfUEC`XUO#oxh$pYlC@fOV^?!66M}*$FMzqI zqm)P&mU(v1N_$OMyXUgqvfS?ZZ};4|TiVl{EYk>h4-w z7l`fTCsLYZ?3pC9YLV2bN}o|f^)sNiR*sQ~cBj^<7-{Zx)Eb7>xrzpmFRu#K*kbY+ z+flmQUSijH0?12ob)Z`X~|V7Lw^4(WaWus8ijAClFY1u+x&;(2( zpKN&fp=v5FnSaT;gx!QZO8RL&&uJ0X^AD#iWU`%)?(J%$KV5BP5ld)uulE)6atmUA z{j&IdC8H-fkBFgk5X(BG*W$>$Yfau{DBlz+@9LFzWy`zj#fdrk^qjrDS5<=Em%%Y;A7MAV*Fv%_t4Gt(lqCvi@g_iNe4eH~Ao5NWo;R znise4Pm>vQjgM)Ec{v^)47%0bn1Wr`J$!z44XS@p`ixoDq5D1Vk~qbYOyfeg|7D)D z!pJ7=rK#}g#Hm6#h8f1Cn(Y)yzsGrF<1aGJY_iXz`yg0wav)C+y_g&s+f3Q==p@1x z2-!D08QYZF@@nmQm}`|r9Yod@DQ|f)iV1H;>c0CCrI)?1o5{4Q@9d^agDbWpa_ZCG z=9$yn3X^Keal)YEbBfoZq))IsO>^4Lw&G#4?{#B1Lr-4unO4)9%l_Jhg{nLMVH0&# z#@(>b6gRDRnT-=f{$ee}8#+-tZF#098nVv*^s7*?aW+!H(ot0^YBEDwhdB%HUgmY` z{fRGnQYd1>XURe*x8{?Lp|Ai?=GmrNG;+P$kZkjfoWNs>%eQi^MhF@isow29U(VZWdowO=f#U{}& zx!H%(1&NfASm~s>P9Zs4uroH&qVl~5~-$Jtb z3MCNRH?+SC(JVfd5AP4%>1_il5M3J)9%&!WH^m*Kn)GzS9?4@GS5f!x5?|gqOzE1A zYtlmWjpWiL^RJU4hYhaL7S5pIVdqz0y@OZo9Cn(CJhC(!HDuT#{~L_> zozg7FUsQOJoo(g2E{I{3Vgmt{U^|>Jyh{lepjILTeM3$HtpK!Y8pO7L`Oj;8S&<^& zez$HL0VOB8Np>|uf1!yyjpSE}f{sc$sZo&NDC+XhXxPAIF)g+@EGRSaN{P1sIWyBt zjO3NaiL@Q@XI)eDs)xv$)#JNU9;c6lol{5z*pSY|L#H!ahY3-xytqcx(Ngstwo}yR z%!Z&vaM3Qxe~*A?b^#lMKNXwY*sS`^U>jGvDeu;$Vj2=+s{onx)oNu)=lvp*CSfXE zpsa~X^J+F722bKn&oyBMbPU?unXJjC6Od zICt5c7d@SKp`BL|o|`_;UApHk>vNaxE_YS!e;FsIGJA@ z(0Awbo8$W3seN~NzdFO;9p$f1^mhmQtMmQtn7=#i?+*RDvwxZg4e4gRA$!fkW6=)N zEN{Tnt9Be}Nn-=jpFYuAn5>v*7gxlvJ_)Bhq`!)_a_mP?LzE{UUb8<&%@hY_xSQ=QM;vJ z);R-Eml^vH(r{L`NS2zhJ;5$;&58eZouNz;3c)~yrA4U1f-kIoaZ{LM8oO&?oP zCTL!4TQHqWADpTcsT5&xTuWY+xgETie%-dkDGuA~>;L;7KjyF$Q-OqI4pY&3rp#_8 zYHO%T8a5WB>w{8ow(xiiTb=?5C3A zxe7s^J^b$GieD2%wahME`^g-}NQ%>>a80{?L-cnB6sG|^xQW~HhB}Y3kgBpQS5^H9 z)7OMN>P}dePeosDT`Pjmv)c#YnKZj)W*YkRDz$zbRVryo(){=Dx;c2uwM=<`17)s@QoWF6{onf(pLnsnDw#IoFs zX1IRWyiS=DV}`MwISWj)XK0D9lV?sx_ILv+!XT2m2a8K(Fsw8_5>&|3Ts-<6Ef~Ah z^7ol9SYCYhUZ!HJ(Cd5xxPC_CK%XO-djWVjXz} zCTHl{vMI_;gn&R1C0RB)A2zRc19~12u1xY-YQt|Mo-@JZnjHhH9Fm_M6l;T$P&zBP zhma#vNyZoKVU$FYp>FMd%1eo~EtTZHn5MK2HM|60!z) z((3N<4SUiyqnvD9F@%_f&eT)0T%+Yv)U@5~>p3&fqm`?1503spLf1Ug=ZJ7muH- z8?_Zu0OU1j;H%H7S+S6LC?=yahfsygLBm5ZFpf_8wHgqL75WQ^SZ654m@1&V)L+8Q z6|6G#mqtV(+)%wZ516~`R4vHJsedX@5Ta0qS?0|;UR6+*18Fy?uEcDIz@K@^`u9Ux zJlzCixby`XZYCeor^%T0&lZndrg>T0uk#~ixK!h*i7(SWI#S89y$byhnCacM`5_Hh zUUfVOh7uZ{!Ix>|hSs94MG3wZbiCAk(*rY^UvT-FfQ4EiO!?K#{+GRI)dKq;v!c>h z-MG%y%{J&GV#62_!{2g;tNljyIWXBuOI}i}9n#G~BySvrY*I8$$v&uN&wkx7MH)_< z(apzaN1%ug87R=#i|TNhlTvG41Cb!EKFzd0T}QE$k5JRF=BJu%FaX5{9~^j{g3dq) zTO+DDIC9TSfulM24&A5)0^Um%cp;2SDzO4J#i_QLYq~A`l-&>+eZ#e$r(Tu3uv!)| zuX9jNKIzB#I++)%J2sne%GDlflySHpR!rrs&DXeKU&7T3qNDV^it%$vY?JyGy*hlIx30^hQf{D}@Q;d+`m4g|APRPO6y*^Ij zWABmG&}%S>WT%iji`b;vX3%khZF91Z(_s!>Pj8WX5sVGc{N>1yg-hND$o8ZXsRnm$ zbI}mdccw@tDUR%)35oK!{rMzSn1MIo(}O0=;)QwD}! z+e`^TE}?U)Ew9IilIZJ}98PT}`61Xu$fX>C=Xe|%^hwTYj=S4oL5GuPMPhP~lznB1 zRcDEn7zy+oUT%_3KVOH<&mXv*S<3g0B;TV3Wg3(jtR#;hr5@(c*T0%*!;I}_57=Z& zAC{gNeuzv}w@fjExf3k1hu5PzPsdbkr!vi3gst<)ijWL zIm$PO^AW1mM;!E6W?WkK(=4DQh*~U4+p08p6s_!|GzgbemxZ^PYZXI?qySjNdjA^;m8_9o4oSxAL@ijJ4@d6ZOY(>CoEpH3HcUxWx3O%kE1ZiI!uX!$(;0 zz!G7=;;RP=Txn%RR@ph}0fIda0LW3zrBL08jGD1RgQv5(ShQ!8hojz~)scwIL01VL z&fn2-c{(^Y49|@n;-0_rmfLgB`+3g^LW5`cDI#K{(0~5+SLNjl+*_gpZ$?%NDY$Xz z5HzXirVLjscCNO0e5nHgr3}!EKG9LG7VpuO_+`7IcFF>E?@uUb|D0gx>~M zg15dy&@E@WGG8bN6%mUFaDfv_VDYt5Sd-We0FMv7^cQz#t^3Y-~fIn|GX1}-bq8> z2}QF@@-6GmsI|fQ)h!*FY&o!`6sD`vJd>3el&#aW@g$$<RO5f%Yn`s zJJGf%nu8$SK*iyn9j0RFj`jG&sZw#cPx}VSe6E>MDQmt1BHq9fcObjX) z`iLUHZE1L?hWD!}ILbvbtLPFCrl&79a_Z_4!)( zPOe%Oq?&Oo2(qmP3>)Shc%{w(rE$18^41jwOsf!?DXTSryf@8<@Va4Z&VV1@mH<%s_w!s>t9w@r zFe~X0YE{!gcrZAN(Trc){5h~L%tPAdHg)S|8Z`w~tjRd?2-XlMz*p0g6uwweS;4+h z!fycC7CJzj<_gEuluh)Of{Lldc@-WC$YxAgNrS=O=441SS;CBry z?20I|f-|E&+swhxs>tBiY*)x%Tv*Xkm|r2b7X(DHmTcQlZItHnqK8l8zL<@K`2k4d zu;VS6?I5x}*jc*a9~u_l_#zc<0{%&?+@F$b$&h?M+>v`&aW|&SshF)StmWg$IdH<@ zeLf!4)q4hY$(fdESgX{N5>U*|PTHORUz8JaOR$O)2dpW|W_0Bvi`D(Tj|Q9IBuCf< z%(be2@o91t$RmPuSTYJ_6#6T8_&x>47_y{3UaDQ*$Pb$ApL%Ddc>X%;cX;C9gCT zs=FmzD+^=puG({b;+={svw@Ru(#&k4@$|?d)SMgt`6^> zsOfFUT|5!B&@fdu_z$)wo(tHLUu_|Q!~MD|t%&_VEItxe*AY6)LEftlp9nSHGifT+ zWin=$y6oYZ7cZS8^^f-T-5y*`i1?axZD;NBY79KmF>9{HD$LkVX(9w8L&KDaR?`~| zpm=*GjUN3||IA2yF~4dGGJRG(4bVybj_M|jyx7}{b7Q@Fbgn!KE`_4fX}Zh=L9?n50& zehf!-@RzSKob!Y~cxVIc3WK$SFnyoX8{ak5P({zQgf^g9rP5oD4sNk~PAHL9bk)c@Oqg$6>qs^9enR ziwkK*4E7Iv;Vjr^rEVWB3#B&cz<)G6QhZe6- zFTgTm(e0^uHv278>jzS@Z#Yw)Z8IH1`;g03axBja@4;NQETs07JiF$QBIBoCX78kD z71on$h><3q4})2qDHe^>ApQwUgy3AN36!}I|L_(p!sj6GZ_6$&BN0W8EI)vom*3p< zd72Te*SPA9ZhQn4SJnWv*>z(*k>qQPX~_V%cOlH0^z9pTk6DP4tfpbj?gy!#Jo)ED z0!{5g?Zd1C>cT|T4pCsx&DAQ2on`CYE|yul$w?DdiF2gAX|!bdwlZ^c|^v6xP29^WUC79h6(YMGLH*$r=_OV%6{YX z;|JZ4nxrbs?EB<=zSUIUW+#&Rmsgd0G%;Z3h#orv>~jO5mg#U=t_Q-#TMYtIbdTvx zapl0=wmkW%on97Qzy35<5Igo0Ba38rbADif>)~w z)i5bWkZb#i)TK3LJY*39gG`xNH(HmLV7tpinwWQFp0bLZ*OkWJnG#WEcLwsu83MQn zTdXI_92O9QAz(d~-vu)!xsDjli+g0@1pg%VvIzYpFt6S#1pJHRg`s~aKK~Iy!)HBJ zOhgTSbltqYihK>u<4Msk=NN>@YDdJl(?*Hh7)!a7`JQ~ee!k}mI03B4QkNg63hfIZ z#8vssoOpS`M86(&c%|+;xb2961KRt-&9-}m{fRT(8B5Tk$3wgm? zxttX=gluOlEnX&7bK22DRrc^cdWFs{S9pm+qJN^|NV=+Q|NZy$@N`^tfMr;pi(53> zsuV|L+w_i=Md6>oAc54?Mi4gSF+`tQEev~Qz-{Kvm^x!zpauAIRd-u}tNeUP^sqth zimO}E%+S)qj}u)|(iCG*i<}?E$bCU~tJlb3^9ZmQLI|OwWpsXQsWBsp>`E`w6PFcy z+CSE6mS?FuBmwibcZ4W8VSb62FiXkLuS0lw-O&G5){HFXr#j@ztzMyO_G|o3P;fRg zxJnVGkPo6Ch@%ci++hm@*CheaJll=uFZ;apg?90yLC%xm)^w5*Z#aJ9XnBi12liJK z6Zj-^wCV&ael#Q?QyhP{fQ%Xe>UG$fnQ+G8lLEppc z!98#gZQVeY<8YtH<#>sxZXv02urA|OJcaFdl5}66*5NQ;#$kJlq-@QZxs$HL6%Vru zaaRyTj;4bnl{_87DGoI*b*2<-f{%m?X9!Es3Hu+1M^h?hemz<)Bl}<0&$K6vu)>|JFt*|T1#_O^EZhrGC<#V-*slupu=FUx-7?STC!;N#A_r6D3^jJ)x^zOx&8}qpyzYsTaEeCj1Z)Yxt-0P zg|jhl+Mc`PTS{+$=jKuC)0ADcHn=e|UNR zu#?z`8*;L8EN)L4hk~UhbmoRGgx7Jg)DA`pySQ*ioFJc_JJ8+T%UYhoO^3PtA;V0P z3}CPqll)l|M^;ZHWW#qrbxvhJo5t5(2AJBh+rv=Z_IMqNLi-ev8pI|svADx?B%K$+ z2FM;*U4!yUZ7ERNmd!J^2I^J~R{F2xl*>*9>4nzYG5rc<&F(*R6tIqgPE^mCtI=f7 zEj*@Oj|gIS^KTy=AL~%08cDcF`5|a>Uv~5$XwE4#_&~eO!FRNDHC%78rSYV7`}H^y&xKblCm33q)*xwj#1>@cBSCyx zU5y;rj9hW<45(7x9$y+@K^_Xhe_bR=r!q=WYDr=tXB(-T=eUzDTAUOte8j6Uo+eu8 zde>AxzukD*)|9Yd$_-4)A7+~NuH{@jqym}B7Y`_PECJiT$P+rt4F*SVWR%xe^SrdrfGc=0477`+pjS! zC`?|?9z=izE87e$(;j`p^i+e-l^yBOhLh}(wq5gg)c^Z}K)@}ySi1XqudLvNi_cfMiJY*==zdFy)x0oN$&`C>6vH{a6 zf~L-pF;5de)sE6x<2e^b)Pq0AB-z4&dIxgmEN+D=NLI>OfBlsELhf$b6e3HGTZ?R7 zPR>LA6q&NjFbNB(syUmRl486=RAhnG z#M7%7`Ij)`2f}E$eq`iL@eqU0uzTf!JN6-u=zT8#t6Yswk?tR5=AE;w8q^P4`Tlf%E_AY`U zJyp5W@h*fXM08JoNiK1HzV{Rv@%KG03B*4JvmB-_Bd=&eQEm;1DrUQDD4?^hWC(|a zA_~Xl4K)M2a+cmG${0A?ZNJm;a|d$|>xuV(YS_BOBuKi)M^l5ENB0^d4e;i<-Dqrl zF~@IiP_jWU$s*u<-=iG({hXd6*imto{b@~2)3=1CU9cMI>xGbYyOt}n?Lp|~ndmI%Y z9FAD|2rJKONaWPiEhJKrQvGBB2qhe(g1Ms-$Dy|hF!Y#xAxwSnL~NOO@0W07sYh?H z$MyvbDiMAd?iblO^uRE)H*xP+}ZL|aCS0R=rDLx&3y^z%<)P5{gf!R#8qT(hMD03of znUOvU<|x7H)XL3IW$@ef_QUM>;-bql+p%=1#J0t2ND=IkJ@)t(qE8PPRZAB10V%RK z1(s)t`Ojws+=vSbUbZA(S~8}OWx`uMtVs=O%JSSKQ2m~)Ld9!VUp8F%%!BzhciURr zI_bt{TJq1L8p!7|<>~YWUO~Pk$V2L~ni`U8(^qYaoQz$#v#d{PFj8pjR#}O+6l*Sb zt{!gehfY4-e$e7`4LfD)l?*#9%>1I5a2rcMxudgMbuQ6QVOf+)e!9%`_Lh-q2fNqI zq?^oo6NO7JiMJLigdEyZqX*P{YH4gJz8{#OarP0^?Lx`@ZMY>}$%&8QpgS8A#k~63 z#w1*4N;Io0Do%#e&xn6?Ye+bS23epgecjVe_F}HmATq z3eq5;s6ddAkU)60<}yJ4OC$YxHg#pNFtl^Fx3On1^I$NxFm!TpW^lK6vN8GZJ-xBB zvuVLh#7T=RF&ir}(JFa&7t z!GUu;l)RV&z*+YuhLQ$C`~y?YT%UnxqaOsD1eZ5MtVQOS^l@FhUr}?iK#>dE0Zmwi zMJ_&2W|sn+ra5TA09;&;5r6jOWm@~v1w^|Qqy&!@eN04yGUQhuM_da?LBNGA9hfq1 z0b1?(KP(-<%^kDH=_FGUi_Y2hk+@ zQdBRE$6`_~7;t~Kf!RJ4s46N{b1c!+YB1Y?RPacyE0MOvbcG|(YI>asSg&jy4f9{i z?ee)-B=d*i0IOIkOmV8eXPAFPEpz0$$DF%g|9GwUIXCNxkCE#Y*J};>q;8I6d!){8 zAQv8j`TZUH1Wmv$^1ZEL_X9*x`DACfFO@{(6Qg#SM0Va@uhTwB84c6(IKNi!YY zmAAk^=sk~zi8y0_dJIyQ^+@AK88Opoy_*{EZ6NsZv7dC;1@KA3Yf=^aMjySsum!{?LQ^OlEQ{^P#x5tl>>*>|6Uw%U4QGr5`K-K9!>nk| z%*k9zAhj8%K znCtmFZ#8m;%X}$+XjUWT@V+X*)l!KyLR?#_gcW>UGT#F3uS{O~r);Hn;`#M1xbEto zb3R+2wq(?_st5%o{NV}=f7a;4(6j)@DovLSUO&B^^zb*?Jx+{@=@sl%mp^g>EG(H1 zp50|mMunJU{VRoaZV20V>V`2v>Wde37Z?)Ve>W9pZ{&f+L*eEks4v0P{n0+JKr*(A zAeu264Nxe*PBfA&&@|3*SLLF`E0DW@^&s4B-4R$cMC)(m7e-*}Wohap;_BpP`roaf#~aE=WySTG z>%lBhtVu#b-YXcfDs9dJD+G-T1QbL|uvL(-fgx7d3XrZ_uF|VyUdWKS>J!i>p9nb zyXPd&`Ficz_W*q$MbJTcy@A{oQ0B58+gikM+%AiAeJB)t>kB;oBukCz8T0bC;i z*p3C50nNFImF~JuJGXmt+%`z-c<<n9YH9M0ig z5!mM8QI&4TEZU=+Wjk+!p`-IVPe%~S((8!n>{hBs3Wq|*DiLkkyk9}7~pjHqkO=znC&T}fwqpK~Q+?#~qA z+2Y~P;Y|0A*Esjo@$mqjObgp44;J$NfJ#Vv zyNWQamgOayJ3p4kUEuLwo%1}&XPkQQWbeO=WZOF(>H1qxR}b@unssY}E`~z$HiM-{ z;medPAxEklT>~A`C;z;WSL?fT=V59f?bI~y7BE$B$9*->H}$e{kRGzu`Wa}cySBNz z1a;sJxmU?hZ>?)r_E*!eZD!+&t+2KKqt+7X$xa%iI$I=eo|Tjy3H|;&-Ok2Ejm!}l z^Udh%F_T(=UX=b5k zt!LUwY{!zddAR-ZyW}Fkp~o_rOX+ccGh{b9#clo%@MrDEYGf}-tjT50QG$CGx9Dkla`;#w|w>vV3jJ8jCSTgg&o z$_cYnZw8gnZ92(X+^N{Ok+o7!2qi+(d^xyScrv}Q`8w+YxON?hapRH8f_!$XH|y{j z0ot6_NMvP08ACr+&@GSr3h8KbV;pH}2KKjdZEd%VxZ^|YP5yjO^GmTeh=gYtx_Ugs z!ZMd=FRlG?f-A0SFJNkn<3R2SX|}h#DE+rwYddA#wcJ7s+t;`besETBI4bd+7Zaqd zLTcMVx<00?W{!C@Y9Vj`z3m6pg14e~Wdm-PA}Jf{Cp+YOVo+!}*?pzn=6Sr({aLxg zyClDE$Y!Pyi^c8@SEbj^mLV?;{HbD(b#Q568+_K@xtn7B_tibVLanocDU0iu;sPqu z$TX8B(3YDBcdufi^0(=tor{>e`^kE(*=hhqBCZrg_=t@~uORjJbkpxoc2@Q}qF|I! ziho956`?p-Vgas2vRA8te#pV7DMf$;K+h-h2&B_3s z^e*sZLcN(x21%|($-=Q4!p!jLFDpvC8v<-kp6@PFLWvCZS~{p5R2~kd9BiyJ0^|Xq zmz7EnFLRzp6#23QxfT8FYsLf~rNOR3=>w86w#+iH71)!t5F{q26&E_qwXNl~mLSV( ze;4FZxNpPZ+FT3z1KP40MllEo>ya??!)dAtlQU%rw+tx z%M7Zfe&{ey!ZYHM>w87&7PI0-Awh2e@i&KEygqI5J0kDCA9{Hg2hVpp2s;M{&ksTb z{sD>spyZjFz@o3GgO5lAI}-$tcfOcH@pD83zA^ZLuQLB^aAbyl;5{PdnP&R>;{5Bv z+P*1*gU`Xtw#g&ytZmW@G*fPtUd0pPFTpZRwb~(qMt-~N59Xd>@p)w!KDcObtP&4| z{;T2)z~T%O)#AmkRG$Nbh@V7X4hk*|y#MwZ{=LK04^$vm+0f zssEbWSa2}M4=Y=W#g^j!CQDqc;}OVdDFQ?fC#`2S_^@wUq>2KlC%}O9iYHy;F0sV0 zj$(ceOwwf*di+Uqf5Bzo5a7q%aQIR=q0LzILXXGXM-{g6w9M=)oQHbE@47ur=$WYd zOu}DL(~vHx$@8Y_iJ-656b!HCUd#P!d5kYE!5xE>S0g9|Ejs(^KSeh5`SnW%j%GX? zP5;e~sq|Pz&{i5Qo7I+j*5nS&_fl6V`m;{g3!MBR<)?N8Q}fxC@Ix%=fpyr8s}j|= zLU9PQCAz8-#lIQ9EU79BHug2$#_Uo%-nua_z33BH&6$h4ZlViMk~|JmK6~(xgx{@K zZQ9Sa%f4N%@!HS$7kTy9J?HqqApzm72=a=XSnleFw08?uQMpdAMF}m7@yq6Jzj-VK z69YjsgAtU0zeuPP`x7gz22DL;bVz1yar#*fGe|KAxunZUD3+9&j!_%6Db>TYOu*K` zzBGhH0$9OHfI3i{aT3IZyn!-}!-0>eEI1;6{y6_Or@?HVPGG9U2{65Tvamzefe*oAI!#nj_9K&xx{fxe;OrRwzKk zq`+(X=W1#!jlANs;68>!N$V2SiuDD=dCMuEplnTz8urHMUM<1E3v2lCj`}Q0$nBa_ zIu!LZKq8276OD#5R64*Lh|+h6HB^ydD64LR36&}GJRW6XCAuxUa0H9wb`PH=EQ?y0 zZAspfTuBMul`9Wp30&<L|+amGGf0#9FzrXxnfC7in{QRTr^bNqBG-4GtWWMLto`LT0>`};cW~1-IcRbI1mf+OSbf)X9?U6_j>@lEG^9C%dPQwPShL3$+LvNfp=fkBk5&6ikRAZB`c?M;Zsrz zdoCA_DSZ#S46Dz$A0~iF2YB^uvKEDP$^q>C(jEATzI+?cXp;rqdty^-Zeq?vQ*9EoE7Go&3yRp6suq6EBxw@)4f z0DjNIUaCC?ex-&c2E|njp-7}HL(%7p?l94sgM5;GW;)G5gCev=rWZ9unz5(hsQ6qo{oEBu}C`ILDVSqF5_^N8S!16st2Wt?kk=e*Me5{8wk7e^BGay0yd`h*A!tX7<}YD; zZ7B`Frwk=U;+sW;k>in(_zWDuFM}{-0N|B*kE8w^H(_2Wj}lf}sgJ($rbcs^=nx%1 zh&d1vsqZ!nHq%;wz8ggde+B!6ErNj@=NGHRKe7^tvWV4ssg;8w%g%bqxZuGOa@sC^ zCTp6pkGYqJ-##j4ObjyS#TTe~f!^SULi0;e?ENWh4u;g@Dd?Q3Xy*a5Cs1lwt?{Y} z3lxGnwXJ+a_1%twFFS={)DI7m1D;2H6g9O1@Yzdn#owhGV_sj}+pImhzRFvD$ITvVEo=u`WHXxcz-d>M~$T)(L3XYs&D1 zcE{RbermFM#C?S>fkk7ih1TKN^9tv+rjSEq^^;9%FK*7?~W>pJd~*xIQF&8h4JvX3tW6(9C)s zn!tS}t(=|_8D=mbaD-O9$GCEV!mp|Hqy}6yjVIy|o$OGGU;l;nRn}a^OL*ooHH@+S zXrtv?F}(T<|1dKri!-BiFfO6Gh2m23X6>coeTe(l{eb;Tctr}xH$PIS?XMasV{iYM?-9j|KXx3~3M z7oz9TeibpBe(7sF`r>|^wGiHQJ9%s-^y~-!FD)2P$g|YI6vEh%~2Eg79Fu z3SP*ks)BMu;|O$W{1%pls+LB1^~T#65lWNhWlxuldAiF@8(wP9RZMSuFEWd*mrN4T%KCxUoiC6DG$57x}Rw)+s;~-%SXu@?n2n zB?p%KG9$LggZoJdH2pnqXjUhn3bhrN%AId7c9cFyBp1)}d7^FQlY^1hEgjA`t!U8G zWT85Jrv_mWg=-E;#E{W8QW>E zXgB&w=fq!gPalOa*3A@OPLxIy6>$_vZRDpYMoW1v=nEJ67h05zNjC+V21@N|NLXz2 z7C}Xl503^67gPtbz53cy%l>fK4AZkgv+o3O1K|h1%iCApVT=}V0z?m{1J(|3z%p3m zZonQysj6Zz!)%J-5(`x{Rl#8k`$e&aY$F(sbxIfl!zj@Pi2%?kik3N9gs;n;}!c_9}(_ybpp5!v)vv?;;;vk-mM7IdW?QXBjivJJEQ{Y~jr zH;?>AA$sGAy4|b%=ofz1tNu8xjPexG zenU7t)wDWeGCjpKeSoK)N{cjP)jeDFoEmirDZ2s&P-+EpZw~7XD7!ise&yf1ZY8_5 zZ^$BcY6Pzdr*kz`JS0zIww42z3DZdAeOWWJ_}p|}DIc|jh?{_j-jKJ+;CyUIW{?{_ zjFT?a*F5RhJn>h(+WQ{fBX7SWZ=oY^u+`g>ir`cYqSiM*l*KBzcqq?$-BGrF9g>W* zEOS(o&Nrdov!K#~f*kz`xHnk_6?-!V6EVm|tSngFV_DV5p47EtImhV{?^xWM<^MdX zE6`Rc*~TZ8{fc&xpOr@Vc~fyRi>IK$D4jKkPFo4%j9Z* z%j!U_R2FXGmV)TWK0AfrA7gWmx3~mdoJz-xCl)O1EaKPqjIJVe6>+O)(9Kms-1L%hpiCLEV^_?8OJSRtk5%!dpKJl zWH?@x8bJj5i;JK@uqiTmr?(ztKzRJZSR*EZ=*%l+3ki$moFf_srJ?{H{tLv1+>ptc>ppZbfHZB#m~fuvUXyH#ex zuD#1@B4;BuhaReyjHv8dSln1DJ&1QBwvgV0v99AXY21fA!&rt1K+ZWt$$T$c51BbV zfKGCxsR4o-B|8fP9R~F#*gpXNa~i3_wg&8Mu`(X^)0(z!_sDfHCh#mo zpioedSo@)OS?4-oegUBS0(`(cnD37x+LK$~P?xhj@I7D1p&dxhKH#&4W$PERsRnL} zJ#m9`r^`gUfm%BgxIK`TpV8MRqYdk%4eO@rSI}3jX)asf{&m9s>%{%H9*62c2ag+OFjJQv{4&89x!k z6N4uHR`@*Q9+JQ$zl@g{2yT%wel#5am@+;CV4Ff6PZ{L}PTeLVlv-l|v6%wzcz`z52&JqXx>?K$)8k9@Fnn}Lwuk(hV{%54* z#<8i+AR3fMx1L3|TAyKYV%YM|ka`xxE0JHfe;3!Imw(VpImDgiiUYHW#o2C|RXR+T ze;VBuOcrgDy$b?Vku*XRde3v1#XpYq=f@0Wfc7$&PmcjuG}Z5 zxim_lLvPQe@eqp&X~fb}IaF`YD`-~8denke<+|B0yCC_E))}61RymZbc#yP!=A^!? z*CcLIY7`gC!wKG`e3M@#7EDZ!0D2hUDig!p!k|Vse{%YT!V1%3G(?sJPa0F1(zD4{ zScu!hxX^T(#b^D5-GiPSZD;Kw@Ee!UAxOtdQ5g=j#@Acug3w~iG-w&P=@aYb!>fj> zQv9h?UdggtFTT)xF|GB%AVps01N()$r<6rSKyC{2i4;uaNz1oG@E!Xh{#ID{q0O`#rsA(0#r zEc}8VegO}c?DH+<)`<6+;lZf0AN?> zdJo|iatG#={|~{pZ-~I(_*;+6vNV=z?4ctRksDH2G**UDzf<$bjh z9@z~W)lS12l$KuHLk_E{Rp3$cVD_4RYG&?c?5fdKAbOa))&#E>VS0edFK@Po5j^g# zGY{p^Q{>K(J8`r^5tsafXX;<+^F?v`4RJ`Ok0A%)Is>EY~mC(5p+V z$z6CyxP?5H=+B%kDVFZ@HWnZ5=Lb)?r>`84x5g^)J#wOVVV}Uw+7Za`?;xkEvBE#M zk%LF&6z8gn;XB-055V|j%LINg404PBOme^Q z;zT_;slBT%Lg+pE1K532vofbYKnqgW7^vyVSMC}`qyECpWweaP=2`HQSMkK(ZdH_8 zJRIt9-f{(tl4_1fw*}{%x*a|ucSN}R@{NR3{U@gyLp)R~6YUGS}7ZMtHk<`BCG}-YrI>ocqT={E7IjK->lB4(jMluE(U{ zBs$f=!1F#q;XnQaX*rszxvtyBxi`&vLEYy>3G8yV8`(PL#5ZpIj-m!C`6w^ZkTLQL zQeR5T3?QwmI(B0r5Q1hN8j(^o)mC*7i?4}k{(3AJsf@MUrnp)!rnq>z)t%CoNOb>|BDEEL# z5A&#Fc!v~o%DGA|qsUfB?4;DkyrLr<5;pS+-+PeQj_s4i z>NohDB5k1y*e!H^X}t7>iLY6d`ZF+EFThfj2uJuw)>2_N21^yfc7Np`?W!t>N{C;< z_r4wDUJ#V`O4!iqw$tI zapCJW_~*9xg=@Tvx?_XRyL+!Vhk-}p_2>w?<=3L(d(J8ycV5>{X=*yP?>8p7nPDsf zsE1;g=Vra*1+!LE&+o9*``{3 zt^xMwtw7>HFxpQ67r--!?7%BPX-$)qyQjvjPx@b2nZ41nbJC1aH;P2PGVibAt?SU1 z5UqhA%71<|bt)fD%MJ)yWzCfkw^l4~SHAiz8Dn;m*!+1nP#7lg2IXugzMB2R+{ekfxpo>A2XpJnH%=Cq2RnMDpWB6M6Y zy{e?&D5STN$qI-B>k+3koeHNWZc*$|! zA{K7lHj8`s5aR?wNk4%^y#Qn1B)Knq42|yZwdR_((r&c92cehBD-}MZj4MnY*{Gqb z4&Ai0ey-3J1kMp^gmTtKefth0#3HBIg5AYIR{zu$?fnP~G#?*Th``%FrX$k8#8V_Z8yL!(?#qLPU$bsxQOUO>y zy0geq*|C<91?)I0hp0^7`R%l6Av-Lh)7?SiGq>w1z2)xZ5q+*PhLKv0GEmhD`yBNV z*&0K1CKXYlNz@CqQEaRUL8AU9J4Rd5d~%iy2{oisv6QEhb!!wRu8HFYi8}9U&6aTY ztB*Sp4H%35y+P5?7G5CGX<$e*Fi6_Z!uah5{EZF!Y`frWvdsy4a)(Izy^jq4@gYjk zzrBuskY6nj|CJ9R`M>)R5lbgyoBsh;@l}|R0|+5j2m1CkMgi_`vE%^|&-=2*thD6h zAs~eP$(jZsbD?Y#wR3gMdaQT55HE_u+v2yy$ueb~WtE*}y?+GwfpHDBxkOx8DJiWI z6qOX!6b%*R{_1#?fmW7UF2BJl4PrTm*+@@%ZsfytY&3axpb6n)kl9nC z!+O(Q<0xDIaj+R__hlyE%ygXbWyc=CTl>f$TC!;Mo|>Kt2+Zs~V{^UE$xc_-4SNjn z#mv#T*A~Dp=yDkVe7QY1#qgMlj?~sxK0WUdtoY5Wy@(3OG*y z5V=%`45L*OOSb}Rk)*)RaT8@$avdI|iE#o5S9S<{Xs=Q=ur)4_h+54kL#ks5{xd=O zJ{vX)Kkz)zA6U`<9ar~%0z3aFu1?g(#?rz0f6P#-+Qxqz`*)gbqpSqLQlha(F^Vp5 z7FmmuO({^=qCl`B!O61f3OS9G%!CO8X8Y}!bNc02rb25N%lr~1j+>;vfhF$G+hP6> z|HL1z)jRiTyEGZ>b5!yZpOgE~KN~kWO}zr|uNcJVr6Iu|tXG5#LzfnI^=4sgP1TuA za0y>0zdbvt=I9`bH(I|0o;0<;2}(>EdZ^~K;qPbhBCi|oY?mpK=^#m~_b`U+bqOy% z7mfI-66h*Qk;iyLqAO&mcPJ88*V#!DOeM5cz$$U%O&6_0Q^DA9l+ouixHxNvQXgZI zWE&coEXOF6xdO9>mxMVhOq{f|U>IsbQ7T&tkDD&`_FTAIvXs5SlC+9mjL}25K92Xs zE-hHu0T5zg;&m~9fzlKnoHygk`TI&iPR(57uMovy%kUDy7iILOrc)7)pZZf8GpG-b z$00Nll{)rPmp-`L9Fz%HT=XIt}*7A;!s)g z234kEQNgRRRL5$u_$IX$UEcWjr!3Y|Tc(p7)bu5=51!@+xY6PNw#ev7ngUtd(giY; z6+u|wee~2GCKufbj#+C4nrS~fbLS5oB0mlUOUcEiiuJsUX~M^FUNuxmuaq*#%gI76 zzBY;>n(1hVj!eCqyT;SAKV1bSiEaK_zVjaEk>ac|LEak+^_FmAmk$eR&!&Ds>ci_ZmeD=67V1k@9kSygnJoXFn28WR7!2*W~ zx(H)dTZD)71E?S@t|>cS9>0jZS#}6N^uq+CP$Tt8sv_-V zY$c_6WnqYH3O&fs^hY^3B0WfbHc+lAu+0(>cNHL~#2LIV1=u0QbN4IqGMkqa2ZbQn z#8VjE5$3`O>$rn?vIyJ^Lm%yPABYERi@af_VC;uR9;_|#y4BW1y49}8rLkGIl`rU> zOLC^@s$YBntWrGc6P1d@tB>@5l{Zg=GrJg^Yjy#$k#0qgXi1=^Fdmh6Ur~VfM35~z ziU;tvqsgBAB~M64p^dA(O_E63CQkeqwH?!8gl;R&AYoHl!j%>X7fPa52fFxX?GOpQ z8K)A(3fB921`AY&+|EfNUt@?6?|!QF76O)^?ce7RY?E~F1L+tY8xv=7pGI;0f4=}W zYgG*1YmgJbYZUKkM*+AR;EHQnrj}(6xkyh$Hz1?$gvW)y-x>G2W7d#5h1D&?hEM5b z6@qFN!^kTHSI&Gb_JA?57v74vM>!9;Fr5h9jWxI3aKAopX&MM;uDrQ#c@nP z5Y1JeeeN8e5j&r-Ona5A?Ik9tkn&5KuJCld1bc2so4}kiPa;^$KM;uikx9>irbx)M zzs8G*Oz)VF8`JbBnlm=f%&FL=?}?2>JBPQbgeZr5AWCWh#UX=ixN}f}zvpda25tN! zV$imfIt=oLByq!t@_Uk-NWQ$Gw7!aY!fD_Lnr;>Fdju#$y4+OQhB)12bp_+_ZU}l+ z#7hE&aS95p!>%2fe1=Ln6MnvbSgT=W1fFRise{c`2cLSPoV%3VuDvG%ynaMR?lB|h zl!C?)sMTw2EglJi8XW=YY!dSmcVwrT)JBq+PN1&jjl^(3AMfMw~n*h&5u9 zjEJAq_WebOfCSH?LZl95*DsR?WURrK;salp9Sug~s{;E`t2L|d*zWl9x=;0cImVZT z7ru|2^-Qc$^wE(_u2Hp7Ju~!1xW>et6Xx!)$?5|nFN{flgaV&FU8@0n24)W6bd6PG zvsL5Ym`1X-5>)3zn;>6`+s)KfB z{H!+ofAzzo{lBkB{>KmR|Ffe}({@HN#q?wET9ch;wJcy%LL3m1NnQtvQlPRekY!3B zC#x_hhum<GH3p^S9}Q^l0@+nn4$%RPjiumf@r$rzz`sjO6jKP@zSL=$fi|t z$`yMewC0IniwyIT_yxY;XQU&~V2F%P-27LP);^AVi-~|w!HEw3~lyQphbw2vc ziXm-ny!?kxAY44z#T$k}z@ekIDsG{eZfS*m;dIN@vCGS3rO)=|WDiZp#pFt=wieo6 zn}K)A{YuNdbbgk7_#Jzz6R6kvD0$yjoTJ?CG3j)D1=>b7BTJe+B%6mP6oq%h(i^JT z9n|6*P?D{Zk+pg9V^)5ySaW@gmYlguBn)lQZZfOu)Yi3MBm#`qcfb=eUV{FsQjLoH zel4TD)(3(Xq+{B9kZSx;N8n;mO-JBb2&G32Slw^PUVBeu2JU&4)uiIZ5TXgq_*{*Ik&|6^P zd*Vg&4u;NKfB&f{puIf_!9V~2+#&ug!7}~N30BnFz}eZv*230I-oV-XzvtN&H644T zHI(lg%aRn613ZNAfxyX6U=JO7Vq)NE2K}u3QT%vpBq0i2si+?Oy69#`RuYImK$*e( z_!Q~!r1PxON~I7qknxPh@5>podJpp%vRmg;c%0WpWj+uY#iv)bBqKl=@A7dzvmK|q zPB$ETJg?i&x4oagS^ZPq6aZY-vG|dNRES}y=s(xd{G-2ojn!EOhm8|W7$<)NXdMHN z5B*ed1L^=^46{KHq+yi}zZD15pw`Uo#n?lJ=q0hMHk_c&gO4LLi2grxLEOjai}GtKYK(gLsYo-lw9 z_N+;$@vbfq?hhTw{fD?c^PJTgf2>KjI^DWm#OGqqRBa1gvP@ydsCmjXHng++{p>`W zq#iB3eXI#I)gD@6@JsT-#mdcKyal0fpFj>i?SH1r133F(5TBHjt;Va%U6{C+a6IobPd}%c+ zxUF3f>})Crt|Qry#$QUL%|py|C$M;7M_YvML!6uT#xJoUdFO1Fr!rE5a$9<(hP5z= zZY;x{#0b^?&hF|q8d}u_To`xT2v1}hRAzm47-P~Bb7Oqmd`q%X^PXG1DVrz{4cstD zx0vKo7(auQRh&nG4A7rue%3Y!9ZXVe-md6EIO+i-s!Qg4;RS_)kEpOJP2Za|&_My+pUDasJ4X^HI|R7wu+-RV=Du9?V2x}X$~BRpQ3w=oQNgvK~)dY08L1wZPRThX2VA7sRw#wj< z{OTJ$K}i~SWB_6o#2z+*-%5x(?9pAbF9_dNFNXi)*is)YeYtAg7>{`~d$#0nzNrOC zY1ob+(g;G8xPyf;jXKSYb3gb|?iSF=cymAC<2k8#7u%osQ4PbHXfC%Qv^cpSjJ0Mi zqtO)-T`u?l=C~bNsN?NL*(xLZo5m;jJtlR^0;%HaEZ9e@Y-|O!D{8V=DZvZ4t0%vN z3yP!Hj){`i{sCZxX2mZ0sC*I)bZInwfQEcr@-%ISwmobs=A9tOHu0$a9?M@4sRvX6 zK64mr9y;YW>cul+Z_Kmy%RU~ZLY7j><|jg$QqAV4g4<{Mlv>B9Lt35dT8)E8)>Or` zP46s@QUoH5JTz8)f;m}CZg5(zT)w1D#41Rwkao+^Wh0uTu-1N=ewRd~e_jQp^&nDf z7bTayffRP9G1u-D=Qk3^3!+^48bO5%OItGGbA6^08vW5){D;u)<(&_wR4yhZx3X5` z-4DT61S#f*jxc{VF{+%D5^ft389|w6jUkBWX&r%9h-IN9xnCRD0=YC?lf3j887`QaxV(X0tZ)R^iCw!fi!3*yH;%|-oP?eE zcSKf}2jb>qW{Qn<`}^yNFf=bk&LEp48eXT(ayv}v$GdXdxHgxF|wF7mHPVEHUS2Sudr>x4Us()x(MeG5OY5KxJ zrgfD?EEM+5i#RjODuU<+{UycC2Q`6e0w%4{gc!+CQ&DA@W@FG2M1ZTzCBzg*cyd1+ z#{KkfeFMtI8!edl!Yb;YgTFO{!<~yHJXueaUespgj?1V{R}v<|gwaHC0@H#z4} zW$jcoXst-crY5sjc99%RJF(DuNkq@2gqZ`dOH9X{3WufL@pF zp>jo|+J3{SiEC+P8?86c@JfgJMvSg-VWW?$gJ%KXGa*(vHk!`Mq_l~rrTb3RX@M+z zNF*-Z4n3;2jR({Ijk9xHx9g}Xm*O5I?Fy47;)an8r)~fFm(SkXn$n@cfP&(}8&+|0 z?Y_#%;CTWDl0qcwo49Lu4}3f*04e*Jl^MLcyUtOf>B$} z_lLxM(iqw&g{862GP~|&EBwGBa$k`i2s6EI~J17ua z16*4JUf%$?FC3DeFsk1W`F9AAAikK_$%vr3Aqym7tiwVaM8QEkd-%{HeJ(kL)B`1I5mOwvw%O{4bDOalf&yMZWvoCp+!r-eD3s7T=4Em{%Tz zPwR`3f_7a|zBb_p`{ji84rvy_L{~&!St9M|_t5t{LKgJiASAtf$?2}3x6^bVFtr_p zL#K;|z&?~6-L^%We}H1KccntdN0B7IQFog_Xbow&3LaL1=TLSN`mWPcQNm+>^c zao~I=Vaj=`yQ4;Eavx086U-@iC>Ub~lkO(352#ASjCfh(_tDD7!qR09m=7schUm^0 z-cWcjM(98?`cq;hWsd6I6{>1*F)g8NecKU|; z2kfAJ(R)Y#h?5E6{|)RA{Lf%V+QRlfz0(@?52qh!!%J1uyr`LqC;YP6zyKFyfWrUEc?{_80im~a1azT-t`*ZWxt7UQK1w7o0 z;iN@bCd6EB6xrcFyPoBxqlXedGXRR3VvG*Xi#aS@9J8(O)`@vMsb;Vb2yXZqWRAP9yYy;HBj#~88Z#JP&OM&2?pU1 za%W#|jvzaX7L=-QF(OG*_`=)C~cYM3Fah(~7AKWy=QdEy&&Q9iQ#=@8Nle z7!%zO(XHX0+X(z@#*ym(c*wT88U)9J%n2dP@heWOBdLmcW*i+&X&Ew< z%IoP+Vx^r!%&MEwhzpYrls^TZ)*A$Xh1P+q>X&gNw41AKPv2k}FlM*dtM6qAS0`Sg zO#qsf%XV5}dWKDgjLrF+@OMr49;Aq$kf)2^3mfFQGcLIDjsf3?c#`PH$cmOewXs-~ z+HpdpR*~AY%{nk9w>ZQ-O@%8=^q-Hlnz1b_$+9u6!srf?Gvv+fZF(TMxy?vRF|~#! z%>7Po<}*`%=+G!9H@7zDH(U;lZBhk2SRe}K=0l+&4=vL!g-s=WAMSd1lk|p;_bb&q zdaLdZqH}YhWC}yPey8qlg6$5B+&EU;9E`D%@Dr+JA{y&62@bf%RL1RwtH9@2P;>N= zyJoYbgbPRxHvnuxw+14(o041H%fh~-T|CMnE4Z7}#i0|Zm8)k;a9@dbyhWBFt-Nla z?q^P_uT+A3$~9)GqHNqxATI9ZF`GQjiJsid;zF2Tn?ijBS-6}sLb#kmzo`q*+Uk(T zr4iQ)v>$q#8m`J6ym3iOiXWEXW(8lA-R_rtP2n4Ds^Y4#dA=B z#-K8knGQnO?;fY=l%xM<_Q*}E@?8kzxpeys{WwGBuI^8jDNY=u04cLq9cdZuv_)96 z*>8pH#Bqyhr)=j0gp>G#gpRcm$T>1J(+sqngqokDOty@lzIw>saWAJl90la^96B_Q z8*if#lXjKQQf~?MRwKCMTRw;=h2!*GFNL5Dkga16v%l!r)o%gl+6MArG+wV9;BT}3 z?0?k}zXi~NGnSzFtAm7wmH^5;&OW=NXWx21t60q`-n4EK$mLZ6W_eG{9(v5j5fu8G z*J4WEWKfXLoF^Yp8Mm-z^GQNJ?`bLR_>>na9|xcn+CMT52#<_+lM=uSm|w$F0JUFgzdi6}X)1M- zjk+ZZFM;7u~92yL&lr8g7!fq|eS54Az#@6@ zcC@p|x$7l5y7(dAwVzW3h*c0MZ(EpbSPn7bo@M>YQFWHRQBrDr7E{r{kSMvn3OLmF z?Gf6B>iPM*_&v-JK}|?GaS(OY`Zwl+##7gWKM<6^c%mo$V3ID$O@)~X=L6N71Gzvw zu|YfoInQ031+gkG#NGrKB-ARRYL(brvvEEB*|0m72%V%D9iS!uLaIGy> zb6p9VxMS)tFJ{%{S+c*?=Pla%yP$EpZQG$wgA1@OgsIOMxOYh?-^aZkS#d_8QuNr# z2oFbQ>c;2hh9!qGbl;Nhkr|-WFk+5&+EBD>w93W$l&JeN3 z6vATL;)g8torGN!@s`?k*0MSVx5|ZH3dD>nsNKw$SLhTRY)_-jTs$+T{V=@6Py3)( z5^tVZm!&Zaz`(6tRA>cFr)vY55>^US5X&YnLTpKud9jM|DwVpXs9a>+%h>P z3f5`b)Lfu?7|_le2Xp$`?5s8ZcJvfzj;QfOVhG<3 zyhc(z(xx0;z%43cLHljy5tk_dz1S@_1DQRyhQk6Wn3ncM_xqwJq3x@T&G0W|HeD_g z<=pr(UxTMD{#@<{UY1!Ix;C4^E=_wA!1$JV?%v=uox^5(P|g9B^zfcZ4l$@P6ZE(# zdi)GMewG10>yW>7XpbrrcJj>pi!@Wa_@4kz2S62G0F>&*(0aU0~?=LbWY*W zXh(ah^x{%pVq^|*~i(p zLWk`}`XmhnsS9YEmCzt7d2)N;JA%JQd)j?%j<`8e{+93Tf!G@&)kg$t5(3Q!0?VdI zAH%sIQSp)%bLh8I{gzSQ4wRR!du#dqt0(=^?N4Q2YPz81N#8$+62;+X?g`}2`2@zl zAxesWN0k4)Y4-oqt?Fge1q(!?z!JEf1b9v0iepq7$UO~ zvd3jbQjhkBcs>8t6p!ZSp6mUC))DO zH@0o)e9EhbYgMXi##9_@?3a(@?Pn@*id(N@8KN;Zm9-APqTnre;Y+SD>X33<*j+5eI7M;`9QucNwH^TUNDZ*@>gD?A1>A?789uNVwD=x}ve%w0^dC zA?-P8&AKWLpgDV+>{}tjR2P!l*T_|fb^MS-KNur9SCviUWM409B=)`I?S~vMOg%0` zs{e3O0y6z=>dC%J5~O(TR;K0In^v0yG|QNFFLX!jx$s&B4s-b#MvJZFmHQe}1c@_U zwF5JfU_9$e!)}=y1lSki%b>Cu{`kcJnJX0hr}W^ifH&K({sBB5_Rb9gsrlW18&ojh zTKob=n9?U)-tqd+EpLY^Z?`DG?W|PidpLyAZU#e%!z%9ck z>ig(=2V3}OE#&7frE~g>c`9Kli<%)AmBA=F28UvFUe#gBO~Q^lJZ!);X1r?_(NfvY zB*A3o)S?-CXVNatu^sNbtWPd={@iQz0UPT>*?6}|4zsfl2ryhl4P3c%jAK$O^@Cte z&6Pdy<^?K0BkgDfdbDQ4TpEC(he!n82Il+!B1Qeh7IcdKAw~86tBnus|NM#n(-$We zva|R2@85Zh;*=wz05Z=EKj?To8gC&4X2`e{221aPvPj{vI=Z4@!$c*9CL@Arxq)~H z-yPK_Ae(6QF!d+EUx}$LBxqXdNfEa^uiNtv_8mUo9B(jtIJv^~(P!{PaS?c)9n}&K zp~7ZijEF{s-|=b=N+UF&HRn%QHVTf|Z5u}5SJsTuJT2B!T4w4K$s&4t$F6f0T<={# zJtWz&ciREIGd(+ot+Vjd95Ms+TCLU%E4R$ST1Uxo1_f8?-8!eWB-aT{XV;p_B2*kZ z0S6FiUa?Z823vzPEgp4biaqgP$E^*xp5E@%4SCa$ba zphM0TiXL4S);7z!$|in6v@H|l@C_e1e3iqMxNLiU2RjSs3zbW5GWUy#qQa@$7>s|p$b>8rU8JGn4i1m=)%5Cgkt@zR&s zdJIarNtH3Z2A?8F`Lsn_V^PNQpy)M;v9Et=5|enGfcKDYz5ad>)9?6%52%yp{pj|{ zs{oiJ5S&CCP9{JdcQZ&Pk_G4O3>TRkvxi6%^Weh|#?Lw5h94jhbe68+;R^25R+sZ0 z=H7s;vDcNr{*m%Ult=2>3+O7vmaj7$PO?=~lKC!dTXZ%RT2L>rKlzmZW<*?8#6GnT zi4UwoRvYj&Oi5@j4#+;ioc%ZlDi%*HH&`Tz`0?+=`sbfiAF;@+@%mQ&WW-ilEa(rwa_=DlJ#a^jim4Bc?07PZ7R!@7BHJMmd?g|5lOrJZ0L-c~*H@ASYifQV(ozm&5+Ve zYjUZ4=_HlGs>s0Ex&x(U0AVDAr){oQa4@KDHHPyHxwP8FN06MsXs7A5fowrYXd--5 z-bR&TDOxP8nQ|YA@1U)TMAofx4+lYEAXb)!N)iqv@Km4_syE?aWsx;)G%`|tg>#=G za;Tv4WUP+!WA)Q{O#2#);(5%fa)v5&4k@0|D1gJ~<9U!cIC3&{PY3|N*{4M}g`i19 zi(>@-2#jC?=0!40C&GF#f=bRC{3Q2-LHe#pjCa&S;0_{wAfx@gM^u$-cEF4K=J0NB z3^GIs_yp)^Yw?X-a6~m}k|?%#KRzcx6g_4<7h;bo%&oOYz=G(wk9>e6?42*poBkAl z`81$>23F7?zgkNG!=PaW9F|_0kY$u< zn9c0}8mGx*a*LS!1aKGdzkw>s|0U!8KiO7U$8J#{*>|_KNFHhno{x0)pg#t#q;uwW zMA{5hqLemvnw_q>pUPQKN>XEe?tT)BZrM81{YP$tR?eVs^p`%j%~`S=-|8{8n3*Y6En|JNF`d3p?fU^RXR_yak(qiXo+a7{S^gL1Z-gTM%O(8YDLN5!gzD=SXj87jsce+jO>Bec$t84w$W&`L7Iejx{M67HJ+yT&)SXMIkU&yQ!J4RLu%*-&R1Mb*O|sk zxK5c`!`y>;|G&X z+JnZ}^md&A6`ZmJgK_L)t5Akt*32?pw%c{q_mnNExQKt~>|gw^>50SK7sHymY8Yh_ zdXrD;RPe>)>=xjwblkGkaK>u>R3;`CqO9XrHVfT zY5w%8_cnlA#7ZP4{$v+S;1f#d!zc6`L0H7O_Cm_LV_?a~SJw0$_@&|@Azmj=_i;vWK;-wR@Z9U?&naOBtmrM#pF5}w@F7edQT7o}^hXT1uY!9g zh`WzGcwVb~f^eeXuh&~_@F&pH!(0IFqChL~42cL5;)FR{ps`agbg)RH8+hM$)Oy{= z8vo7#fW#n1-t0d6J^Rk^-eEf8DD(Z(;_!d5b>p%U{Oy0@*yLa1nCgFtV_l$ zlmDnOYE-rCki?L`N4>6|W46WHM}VE6Vu6a2y&MKdejUOK_6IOqP-tvnnHe-)Zen3h zGVulWri7JR5*0|o%O`BUen;}EU5Hdtw)p3ptzwM@AO|c9GdY=_OuO0cO~03+?fnJV z2e1umz{r3%M298{aZ<#DbaK;`9CEx4%#ICqKu9Z2PQfa2JaR-=qc1%aLOG%&9W)mt z4UhZ%<^ZpD{1$Ol8?q2Sf!~bp=$H#vm~SX4qQGCXO`XbYrkQVY*6FHr$-q*zp5!ta zs=`eQPw!Gi?j|D2PqBd#P;Z*~VrJoGDtdGbu_}R)dhi6%Orjfh)=9{3(UlLy42zM< z%gvRvG*zTIyIdl{RhOaG+(>Y`OUSVVngwA}myNS9iPA$2Kck+iE1RWRQuz3jetcTZ zG@B?}EncN(o{?R=MBOIaJVn{#aax?NeB;U1L}g=P>(fL__FB>PB%B+TtQuoe`y6zs zJXBW-Z;H!W8oTmLlTvw4jVV>!IA$r_itCnayGfM|$O~QkI;& zDW?Vda@kColgKo@TC>;Y&=+IkqkZb6{gAl~gcky66owrXUA2nX2}*1fJ7cjFum=cG zOp%%D3&p2;uGbMlViF_eipYbOx=lLLRr+Svk1=LAc+%FSVhx(~wo+LbODoV=9*sNL zxr(%&B`@`khbuIOsK<+0F;-<}m?7^2v!>h$A;FpeXLKBfBBfMES;%IKFH^ACir%1| z7&~PHU}qh-b1Nw`T77~Xj+9(Cf)Lf)f^(W|l-8=-tA$qvX<)DWV!bvgdC}JYs8S!% zrvi1ych#Qeph&Hx?*u-ofd9@gBGU*$#E@tTH5qxlp@HUjA*s=?*Qi*c!$7N?KB2^& z>=Y(lYS|R2X=)#y7MI{`XV!XlWc1{xN^zEG=c%ITZvBlCM>C38<=)th<9t;zuZ2|A zi7i#U2R#2B`ovUb^l1w?Jcq%QQ$jl7G~Q>kJ05+)3r#>V^hKMi6Bze5AoVvkKW;U#q}t11wA*Zq)daRX+p&&VPbWcD z<961~@@Nh$1%5<@pFtAGAdbWrpVZ4Dc>cE-q$Y1*4&#pYqqLvaY6&))er-u15E;@6*ZSDkrd)za#bUG{c~xP*(iU13CwPS*`0!eOu6 zqnRIg^GM9Gd;&{vM9gi?)P~o%wlp={Ep&x82$#49UvY|MCPB&T!eB`*T$tV5E`-Ch zA^TiiDxPA2Hzu#~$uG6u~jYU()MR61qulELLXtlpy z+ie~s*UuT3Ny;1Rsh0$O99dPJ8Yg6AQJh44H+MeuMRZy1by*#CSqow|8&V9#7fhk$ z!9*!yx0-8QCE5%Deb{eMpJj2n2=hAi5W6bBdj=%cXA<^@|Wv? z2z3rSINnmkS#vkq#&VMiy4It=e7g!v%oH=;&7w9l{yx@mD?v3?JX9bH>wuC;?uRFF z$mnDc?P3u4uupk;T;TxEf?ewoldZX9{b&m!N-SXI_krzm4`mW~P)KH3l3IA*T*uWD zXAq$%Q9G{+p=zw-1%dzQ8RI{F+0L4BkWxWCXtVyE<0-|Q zdyykX{Q|N))6&9Q@u=ye=iSrTn>IiB%ma#7@^)}x(!$HUcd)yr_|o z|7$@e=nxTC53M2+o{7( z{aX$FZ;0$)Xt@7X11r1#cTAR|q$7v)Qvok+G}>tJYl5Iuicrm?Y9fD9>*tGa149;I z>4w8earIkvZCSSge~0q*>+MH@GT#rN@gXj}#W8PdKyq)4o0^^MW^g&pak!nF-ImP( zl-@A|!VDQi>oZ5sCee~~HD^zWTS;pkEl!HY4+TedQQk0^qm*@Mpn!}yP{D-uj{*v< zJIQo49JjNCMvyE_U&mi6=WMU)+G?@09CUniG^KBMZ@`aMq?w(iw^~nSnW*D@t(~YW zZB6Js{a)q_QnaTGEHImB6lu`dLasGH^bS2sRAQ~VEVYv8W2tcGLQRN7_v$3mUUJeV ztlnz1hf--;fNx$!HGJ?Ux>r;^jXs6GZ!H$*F|zp?j;yVrWqL--rlYp5D`CB6t`8n- zOI_?7Iy*Qyxf!UN&6Jx$Jp08tVA2fVn$@yo=$yjc^l7%46tJQ_Sc+=cnc&qEM#^@ z_@i-(5w;lupX1^izJe?D8iP2-kKq(Uxgtq-gXl|qT}OeptEE_b9PU-E39U;bIdZaa zsjh4_A)l>qp$Sr+NPvKEv6*EliX7e0xCcLP30=yJH?V{W3>-VKYz(%b`!R@42`>cj zjt=~x?(A?6{&>$J6Oe|%qSv)>2a2R!jl5CAs8s9#~;U%}A7F9F4Ju)IKw zv01|zH@E`Q`r-cK=56DL?J}2?>v+cK7O};153sfG+(5)z;O_{8_oDO_!Lk1pZDJ2I@d? za6ci|=ygzqdP8Y9X$i}g9}7dqR4R?{E?&!3Z!8IX%mQl%Tiffd)11fc%WK|k9{{p^ zxWH&)q=_+#G}U<3d_Cc`C9*?GVpZXx2C~G#8uA(ReU4^PqneExme-7Ah=JkQAsFhd z?MLfG{t7$Wj?C8C>kRJ?_51xjVc;Y7`YbH(srLLydhV;bkEOe4THNfO&%S75{X>4o zmXSQ;CF}jeGK%2uJt}#}YA|e1Q9EPsh z<=ALM!4~N414ofA{Z^6ly!$FzJ2sfokXwgLOs$cYy1tj->y zsOC{k)ikW!Tg1d`O>pdg?uRl_6?f%l0@h%tLW=al!$5j@bl)?FJlKBD2O0gzuRzqoyN-nm<;h4BePK zb^2IQYC1b_(}o^7t=dI;LX>47EdJh#Z^PN~QWzKv)BCVzlH{J!y4)84S5$&%@xAiH z_How4<1`9i)Qdy!fPw>REF`CW1m3?imcvFbPRA|(R?^3X;LDkbsNz=(6{5*MP(huB zXX`H2?ib|8iV4gR77DvLh#N-*hnro4{oY9?%pvj&RfjKkgqIHXQzV8lZ*e{TMXG70 zUzRp3A@oEx4*X3~3V7I@K5o#M{eM|2X91{S+&^Jy{jXv9FRYb+lJ9>E#I=76#8*20 z_BxqONRv`!*aHQNgv3k010iCg5)l6)jMooO1V$b-1}7juO04go3s-lu5~;tD+}^AV z@i(k-U9zofb!};>scUVi>b2CCBx^?EYq;nx8nCY9d|qdy>ugf;*Vf}J%l50C4Yzl zbf1^v{){btMlkzPj?5Lmbs+b}AF@#RQXKh`VD;omPWPo^^xZ$$eI?KRyp>Ps&CM5c z%ue#-Rq<0m^iv_St@teo*)R2wPVrMEvQOgPZO*&#TjJ7&VmINiulOwt`S$%x)>kgy z@7)6RZyWO8#6uqn-uOcyI=|l;uLHqx7nG&xj1T3=cu<{r;ttRugms2TkUa~4CB^i` z_8uu)a#6`+Ro%XoiWIuXk4uQhV;m}#$iJvd7l9>TtDsZPRWv9lx8zzrOVwiTroE0L zoSIa#nSPm9Vp9a_rd*bZ`YwsZSQ6u>P=-*5^Anj#HH3woqIFWQ{ zMSd(!r>ja4P+SHi-HUugqp`cVh;?NEspRA=)H%ME+1XjJt)n!Pthk79WqBU9U(jpg z*#%D?<8*ss>!}Q+a51qGbFvbXx=wv5S5vtl&{4PXP;>UVbk&ZtKHtQQ88+0J*^#zX zK~dFK=rEsY%zUJ}v`j~DFHRZb?DWdy^qjS`+(Tp$p1)F%s;Xp=^jyE;cQ&FqdP*sh?^@Zcf zX;_WT?ZnAZh#{?)JYR2|u>Al?-4YYuLFJ=YI#@hQt-#9U>@@mOMqakb*+h)8ig|2~i zS|?soQcyPS`SmbO<|b2Sb8Bx_qlD*0!Y&LO@9kStRy;VCEQW?197RHYsHIR7j~ZPo zq6OhM?<_4TQVMM9EoC^9Br}-Yvd(SmU#}okmL4tIdFvcK6Yq1}!cN(OL#a zp71zd{9Mlt5J!8wWlUJ2tL2hL2%*(WKl&MU%wYQ!iEfsJs*^r25AVW%34KV!bBWjK zlJc~+RD5a6;IU)C^QWvy{lZWre5yo@FSDH)+{7gBhQb6}JF~rr99Qql-(ELAxQZC= zOtUjb+1lMK__g*jlVd+qi__`oCbHFL*Ls0dp2D0AA_6REz&w_p33^hnO;FNSRng%h z_38??`776k?&mojtjk|gMmY0tFQv7q<{E0o23|@~x1YI3rjV>oZ zsIv%B#MUNeYz$A!vsJ2!3e@~O+_IFt(JT1AQ#Z)c6H=ZFINM2(h93OZBEg$XwzpuD zE);c*L4Eppx)RO6QmKrLCm|p_es;{wckhL|N0({7m1DuMPDi_H0z3swJ1or%{B7bs zO@^xP`w{dSj1@zoY`7v>C1gxQSw$0)wCEdKv62g_CGtZF4PBL1cWGs9V{3J7De6_! zFubc+eneR|@yYyB&oRr&O3JYder}7GOrV58romRr4VVF}3S_jxnW$Nb&v0;PATs)0`A1(0ZlDUQe~q2STJG0v>4jopQL zMrUCeRG_Vhe1c3qtCVSAgH>=MVl^%ss*yf1WT^0rgtzs*b_V(!T8?@xSj5>RPk96RpeJbenPFelALyC(Tt{adg|Z3a{)j0t4RC< zBTP1C4dRvX!OvDVvW9xo9Z~VOD?wo^QR|)20PZF_NmU@F=wy&4p&=#m^d3=$0+}6~ z{HWFxX{j(aH+9oq1wzn<^;Q=(;oc*Zho!b$(fs#A}T8;QrGET7ADVx z0_a5Xq-V^iffNOkZv=9+DjRxAZS9S#ss?n;1_iT5WBh}m+36;!0zyr8gB(otd0$&7z%C1Q`q0tCON0 zIz7hrLl|`=9_&C^G)KEQHVIxZ>%j49G!K;{f-^}MW|P_CT{)W{YQwG0B8B;h*cxX( zo%sFE7xc#X`IToDr3*sPF!O5XCKS4Nl}><`5t^9!r)N~ZJaIv8OYK0;pq@qmd@^9i z%WuKXC_Fj&^$Nv+y7Rn%o`~^Vq*bII8vt;MdjW6~59^WV#P6$-#pLaSDk1EHvw*sz z>R{}lhPbjF9lw%t_6#X;9F0}HyqZfYbYMfcJIFLUco46f1GfidYB;+w>4a@;Eb-_t zbmgFD?hn7m*oF!wQq;j*52t`EIs8cTXGH|;7PWqP=J?{|_klmTQS7E3;&{^Wy1euD*ZOfesCdr;50@NNz z`L&Xd31pd~i6f6z4pks01R={`qhJM8DNzGe9v*0xW51{_3;uz-Y+_!9*T+Hr+XHac zru_b%D+;~Ff5j6#%u<0}Em;@5Tos`u=GV&T{F>6CSlb`9)s;pQq)&6ekI@_k-`VYZ zPW=S{_OME0Z?tYDE4Ai7!{92dZEdcuVn^@uu(stgi7V3Bs>}%TI8UPdBg$s{HmC(> zi9^m%%S4QPabol_(y{8O))qE)sb2LOHS}=TH8V#o3R^&yVV&gpw5T|_wtM;5dm-`0pQSWAJV$FHV|CSn7n&ZvCeN9f zk&*Wev{gl&rJgcICNzmN4LA+=FEb{+68qm_EDfYavT8@33RT`BU}NxevN`{_fh88s&e&QWcqKGo)Hn7wRO_w^Ae3bUxfO1A{-9MJt!F#0N}u%c?8%VZvi&P-57G(kk^hnMIjZ$ zW5eVsvmn|<=6#=kvP-|wYeQ7O`YY@do-2)5Xug$@IBa7N$D{%gbwt$bTWI`AMB3I~ zH8Pd5UesBEcCfhKC=k+tP$S0g|NElTRSrC$NN^)VQ&&+Fx>r}B8=1P$T&soH2?-G& zBQA|7l&;ee)7Ak+=D>2^yWcPEWl$}3qfWLxT!CpFO)Mh)i;SQ$(V$}thH9^|mIW~B zBDzWJ1X{c)hX*LB>OBmGb8?e~h<8$#Hl2HZmyODynCE5qS2t|lH=9IPS#*)po zE`kk05rxAw9eZ2T5myx)D$Qpo2WQOd`)F%jTr3NAiZu`-Y@LDXPh;YtjP^Ts#G|ajWgs83?jE& zId1Y2GEVyQo+mI!j z0X-%~qjI>8rM*xsw3~~Y1YkuF#`A!LkckwmIP>K1+&ePTuj7vbooLq|h?}oPU;Kg} z0?l}m=6umF-@&eQt3JWFE}L-$U+#h*5Xs;k&q)r!9i6_5wFn;3N?)5Uz zYe!QGo4*D!`HbsVUx+rbK7|#fi(kaad<;-B!J$xwSL|Hz_2BhQZ!$jc%M7=8`p_<+ zuRX5uMX|)WBy`>j8sCbq`oI?=|PEr11J1Cjzc|3?&(ee>LqvxqDetPz) zdIgy#^*B0S$GCIrgPhLzR=-+=qp-E_Jkd0E$yti&jG1R~+9gxhBGx&RVv*S@>SJq` zdV{uCFCv@x=YmcC&yMP!9o;`W#-9tXwE@C7E2Oh;s3;Re36m3b!en;!9A2j3(*n9d zYe9w&TydDWMW8lK5qD*%_R2i5rfk^~BxlxaP;rjj>7t~j)N^wHW_c2(1y@ZWl{w3G zDb!h0GpMRD%~LysU{kEGFoI`LX2PmS!c@(vv*m%31&~~kDs53rclM?`Op6nk&7l;< zsG2<4ZQ+bJl*@h2^31CO+-+HnCcqpqTg=GWUw;5hbe3FS{<`pLC%Zm*z{X(3d^|%p zk-9>zyzMdn)*mdLhU$JkrknACkm4imr-;-7{C8M2Y>a*+=>6wZ{}I0=Br+uO4`H(h zErIboj6jUl4Drt#Xd8&&ZCH>U0i!d*^!+G-6De~@ok}?8)|R9qg)**4PtGsoQbmh1 zGkFamAwDn-9n5!-_ig{52{4=Pc|bEs_Z?#7eFDP<&JnZ(GGXRdNwB`SJ>SO=m^qhM zc~X6gpjpIBZL7zUSL9qeY@T$%h!>r4i?Q?Vp;z}|=7VZNg-vFsMRdPcA6BFYqt5@l zE>Zj`sm-T~+Vcumluzya9mvObrfGG_Uhnm7jj+jJ^@vwUXw`n73eC2gIGPSN&NP~t zW;rv}YEwYcbn4$OtTs@jBU5BS7E@$Z9`C9Ep#!C{0duG)X5!3K{3exQ z(KArQ92mDK{vE#tfm zB&MBqyxYi;3>$$2dyO`@Cv*y)0piRew9MCCUJa z3j&dwhZZ(_4xgqKRz?*PcIA>@V4`PtK;^!iKh}7!nh7*Jw*%6U|BLWM9revi3B3!sjlh%3AM3n2>M+@Y4lTnCxb=lCBc$E|Jz$cJ zyaMaH63eW*wU{nq2j}rNF%jm65cYRd0`_mK)7#g}!DX1&TY#Y>HwdWYxP$Q<==hyX z{DBrT(v1a);W|6U1&;J3PDFVd2_Y2k-#+VXH9<3D?|A~C!6c4E&;v~qqxZ10Tc~B@ z=;ni8pn<^OxVCTc8_}Xa7Ll}DGV^Ry788UfTghdf-)6yO-p^_Q>VaNhrR^EW!(jm- zRAfe;iPI0<@ymPd=%bJ5gqw}i4K6V&-qQ$f3^DGMNLNhkBUAhf=ndOfa)NWXRJMuEg~!3p&02r!pic#-ZeH^qbrh5FT|B9(fTS@e7W9ix$1o4`p3bAl|W^RJB@g8pHWmBPASz*T#wCSYeG1l2 zs3cd~OqBi?X#9o>Zz~jQ7RZ(#gsHu|2hPqKaiH4q2sOtmN`>cSGPDN>#x_)V`-^`SGEMl zHJ$)wpVr-UOIynBh=0-^S^uPaZz$W2F>CwN0BhBPGGE^=>P8M0sBJ9R+StO(`h=Dq zG%VJ*IwOZ?PCNlQ0;Z_X-Fo(r_h6$6-u7Ns8`GtW!apfkd(6mf4+X+i7TvVdYL9#j1T@#)>X2Tx zbL^}VypB8rU||-b9M$p@u*|eRv$}VgSURV9OfmVVi_8y z^5E$tQ}Jawa_P3blq6ZH`1spW8YS-x$)Wc}8CdwVgCvNF>KuBe>U$gyfYxA&JTq;n z7iH$ztU1#dHaVNfG>iJ1KTUGUPr)td%p~Y^3=|nCn^VAzd9=uMEHKPZTOzIb=_}}T z1I1A-H%a;vx{|DsEg_Mfl*3sKv^-!|sN>j58=3=3^J&D<#5D4TfJ`Nl{WAbZBPntY zkn~&zl=K{Q*c`6G49g(E*-6whbXb7d91hC@p`VPG)I8>r;7&PIW6cnK1b$JYuN*QB z7=&;YJqP;%TW*w75b&8!lDOowp=si5kQ97ra9nwl2`l@(f z{-pMxLZyPN{y6E8$CAYcA_YX7Dg>mOQq+~JnNrh|0R_%ZDKaY)_9^X9 zu-Ck7qYCI{SI9|bf*PiR^=6CeIUowTQf7DS@^`N+nUiHv81iJPN@!~GB=iO3y3*6y zA~+sUHh|)$?8-CCn*2<6&Z)=t2alSNab3aLTaO1DzFgh?##%%E zS^!Otzf4cu=q+~6kd+4;`z^5Us0yy29kZuaTQs{pM(Z8?&KP@v3wP_iPFDoM5xj4f z(TB*@QK>sK!Jh3G{PT^S2Tt$!<}2;gOB}tTZ;yKPk<^lUk22a%N=;g=ywa;AYhtZp zqkF05$ZA=0msImjb48F_C9QXM#}9AY_V8jE&pT*il)b|1h5Yf?Zk6XNIwSc60?Mj1 zelWaGk{GSAJ>r~s(O@ShhCI?;J@x+Vdt9NP^u^vXlK3Eh)~JWSq`r8?{>_^?R}D?z z<^@Rc=)5;aFJA^!EJ`TMWnmpQR7@0@@`&BSJ?6Za(<`kfx@>(cpxi`VPL)o{$|69w zUAx&|ufehS{1=4Dv4|y%%sjPPxs-W=u1AD=g|AW>en8N23E~`O3MHs>g$XoJwy0e= zCFsv;{BJ0^hA5JJ0NdY^4zQVg1W~W5H(2dI1SWIV%}_r8k_c6-GA&SZ(3`(~77zV? zs^zTqcs}ALY(W_4WUZCV){?r_x@%&h#jC%9wXH-~hxhjoC_ zpvzEvNPhgVq?whE7h)gCY-1Aodm-(!(>M<4`UE2CICu?4W@9SO%l2r|TeIfXs^w>UF>YNa=iahk z4I*H1v{e4q3P8q@(0Q*d-?(tX#0A6z*r^D&O$V10xXurY&^<sJd%H49mJzFQB!=;P;T(wILPHIP4Az9d$h zseGeJV-3T5qOCkkE6zgh;lUdP#W`#v_}~}2nv2&xH2RUa#TZ&{Lbh*3E!Q@s?4A%} zpG$}PVXc6eX)l?X2gpY9X?9yU*{*=g>iEuQ%NVfD~e_vg9n z4ZN^UHury$oSoDp^Y-9VhupQWIR$AZT!ZogWHuTf-9%hd6ue+HG2V%}&nO-nIF ztd*3HUcAwY-OYaaR1|_-w3D>Xumqoyh6GA!2y){0T$r93R948yJb{VX;#3@(B9M(` z2i~93_2hRD{m^v9otn2wTQ}%UM}dD>Xa&!V*GA9=8qi5^8(JRJI4F{$lh(eAGEf)* z{gjFGErptH*ImpeN3b$wVAn|XgSUI7_nC|9 zAUd1X4&%Q`TpbTgqUt{dSp1*Guj(cqxIE8lDg3XD6&!-!H&H88{HHfXD;2+*uESS) zoXvL^HQ$*6PB5B$j{{|6Ek3c!A1i|wM0y*nKLbr4snb{LG_W|0B>4)!2o!8YW6U*d z;o;}})mJ87)Yk08yU1tt$h2UvKGVN@&zf@!s(C`UGV$(G9{E5tU z{>>yMuLLtzI6)bYYu0|4*7%Md%z6S7|D+n7M>-*(oAzw9}@hgGwN5tfR5Jav zyMa_q;dXI|(K7O~Bd&~MV)0*vP+@x3g>My4$5hX-aR%K%I`PB$2Sx0mOQFGJYec>< zc6H15hVO#Iv&_7+9+io8Vi&TYGF z>Im|t=6@BKhE*2CN*@>eur5#eGZ}Tea zQb!O@GY)9e69QqByvA|P3$byHI1?FLpVcK6A`L2{w<@w1mdQ`uqEaekx%6yGz?Ws% z%kVoiY)ZQ=A?}tU4PNQ;>B}ciGtV78HFP9)mAKEu&avOpJJ|NIrf2b>-Z)zqs555x zPol*OP>&u}{vB0e7&MIep<3Xt%HklU{b*Kjy{3OMr~9ei|LrcxBR$WTF+N46MRaXt z|9rca*V&uDk3}VqUAyg4yn)Ta;%EJPjTl;&q^0Fi;Intpq0BHcc7$+d1ReL-d|av37QmU8ZPV4ER$c_F){yZ- z0@^XnV+PP9e#cd5Mk_y{&CH&P~% zeW3~WS1XiA@!;Oil&krk73%~JpxRTlf5(Fc%H-l}5>g0Of<_*kYpZHw;1hc;<343<4trb5esF0{)m3;ub#cM?)bPpqD!wvJ?MPKx z_Q@)}I#F5%;Su2-Yg`iU66c+AvE*kj*R@rOy+MEctyhdMjQGw0yhiaN_$cD5?Gu4e zM)At|i25z*qhV4BVp(vm#GLflvX(9Wz_!2_({B`myzX|Dmh4#SGg_6zzUek4**@80 zq&o3qa0Op7+NGdArd^pv5YTc7q?}{RmWFQ1b`xkc`wfV6#?%@44wgy2X$$=xOZ_!b z4D*8FO-ZP<82~JacfuW-N4YHlh19Z;t-6+RkED~z+0RSD4PxnyrDt1Sf5D!T&bARF zZv@h{QDHJXBB-geC5CayeEz-gdfeed=6F_ohQ2*!QVqut`o_5P4U=m zIJ+C6*LQUxqe*@8(){jsKI`hUPx!u@v$T_!`y2l9y_5GF=tH*ty(gi|4{}tGgx?&# zqSYR&C3Ti2J@A#U+K;RJ{@ z@YR^=+GuFZg5_GhEmOta`$MXGAHvGEX= z1~HK!eaO%-UOpgH7@?ONj3g zmpH6eUY=L3a7oP~%QHack(E!z2e0KqOS?q(;P`yAOVcN{a|z*v=@DA5(08nJIri1{ z5v51!GwE8PcW-pb>Lclm%zCZ%mHM3h1MX4FSK>29PsQ%e>iqem!!z&K6lul35*T{6>t`MA#p7EcItZD;vqOrWe zZ(|nxq}bL4;WxdGPs3aB_eUoWIo^|>PHnNSH|C2O zz@K7ca~gVt8rA?ZhUII9Wjiw;8olOCE1A}_e~VUl1v5v*6UcG5oRnu~`;%2k6QE29 z*xK5t8*;X*C~r9I=W%vhDg8@DFxA(EFp<^ty-e4IXulT!tUNCo9$tF;;G~M8O@=Wp z3U_p+ZjGRD!(H({m9P@t17YjX==Ggmd)!GOem=&&WM4p$_%=FVM@-fb)+#_D>4}p> zi8z`K%%l>SqyVnbk zM!q_EhgIWxBprOF$%@$z0>X~?pf`^4zvQKZKH5Ptr}RKskHN>L0v}oioIM_TV*d)i zO|qC@`rcLOI<`x0hub480u<%uP@MHzQoHD!aUv*|=!EnI;qXAmjv`3ber#>L4c2(o!eIamB~ ztteN`fjL(c*34a_+<;6rkNQI4LCm=Sr1APg=4>^+dZVt*oFFvM{M+}E6%XdyNRSRr z=_df%_=A|SV@3aL2D%Q}cqVj|8$a0OLQqWfjw&A6a+bofZ0EUn-KB*>CZV`hoB%Vf zZMD*(=r>3Ie8L>~l}9gIPRi9BD2ii|Fb|JyQ$STnvY%ZDgIA(+Dt{uB$>sRS_kMO3 z;@vBYGr*#tv=XMxS9Y!P&WgrNNfx%qAv|=(fH)>?KoHV}>H}+9>KqNUqL1ZHD#Um7Z+XCLuf(->+H~~2F zU&W(ZgLP_l{hBBO#<%t)6QaU3NM8Oo1|7#VI@%a|I}sH2AhuTd6bGvTHj)>l_gRFf zJ+Vi(8oG%+tw*<(hH0ZwyF=b_wpOFeS%XaOgceSQF*b;!PA}iA+&UwOTpQ)*aD`=p zehdwQ?y#!9{_hWAhPH({f|Y{;y&U2*V!W~7%h~bwFq8A^j!1AGhXjLD32yUr+s}UQ z`2YWS?DyueUXhcH@<}q>5=kG~j;rw^(s^EFIuz`fb5C2rc`qM4Ev_CRaZbPe{f`O1 zFf(fO3|`!9i;T3(byn}!&}VBag$%Gp&zK%IDaj4FM6}g%UMytJQR(G)BZDT}z4+0! zOh@^-X10IKsNm?J+@hMZ{>!moytstu!GK^q2LlH(<+ykiClE4(4e8qp;^X%?6!n4( z6dIN&flkT;bet8QwSe&rKWBf~E0$NYnT>-No~(vnR^ZXkBQl~Uz-ZP^>NMeGk=U8* zEw`B5edLi*b6!}P-^P6`*iX}{y&4Ps1Zcn8dNT+ZGGF;e(XmyLl?q>ia>mcR;J^D+ zz|*RbaFUYwzWSgjBjlt;Kkb&`Vax98*!!*dx(GJD?O{vr>$vLYMvs~wTXR7sT=!$> z^P*ugr8gN%RJ9}U0mrDFZQZ2waR%97C+9_T5uu!376Pk*Q$E@dC##WR*<2Qc(P6Z7 zb6FVv>2<|Y!`Qw)FTv2}eMqpv`J8h>>fY~2`ycDs72njk$S9L;e{8#lfw@3)dHBqhHa)57!d zf_u&_f1REy=2o!7&42Cp6Y>H9*)oQiRR7~TfHnQ!%s2lFW9C2o-~Zit6CFP(IVg`9 z`h7;bv7veWj04>QX?i#ly`c)JTv)AI2E(~xBrPFF$cf~`ioxfPKqe~`QZ+RF`Wos- zX9l=6aIJl`H$oXBPQvMdZkF$$=n^+whi+-Ao?JsFVbtBtVH-^& zlFn&|o%H->r@-Mnfs97CdtS#qoKbWC21;IYt;l$Qj9R7z1~GIuA2H4*11Ti#@1 z(hG+6nPt!2l@@y=DGzeHmpo1FR=#4)-wTz|b4a$X-k~^3@?L~`XnQ1t1}=A2<03)F zuX5e3x~GWL;fDsl+ltj1{tGrzKM)YtHDhN;9E#v_;EI_=h+K&_|fRD&d&H(ijOaYt72n&TJP0mxb z{8+E5v1!v;159Prsdd(|ZmAW} zE^d9umwwyFXMQP_emB&T-p}?d7$DQ#E%^PcJsWc7UkMrDG6?wZFlVFGasDZ zC%UErS5GmXC@2@HOZCnlsC~aOGF#hT;n=?`7wvSECG0L9xUarJ7 z;<|TNH=D>%KU09MZ*q5TYH8X`6%n3nJh56$uWpU{R;s!^PQ(PZtC5E#o}mR=v*zmx zS~^wm6OHZ0Zg6;l!} zf4g{EMIcq|L^+EGdAt}k{G2u-@j{vG7nOA2n#h=wJ`q82u)>B{4ntloCQ{>ShG2>%g>Wq}+l`kjRq6yg zJ5#=2i!s)gU!Hoemfebzjxr{#TeY^ZFnjtpt)nxaVq4b^w$kX<-0af&1Sz>Z)g;H2 zjE!BbmnsQgn(8O-RD{1O7y?6Q!UkZgJp`MxDl?rdrePG(SzX>)2T`D=w}8_+Ihg6g z>0Gf>Uv8-O5N>Kk(}lZlfg4^JjF_Llx+tb^F@D%iIONLP=2W^hb+#7sbF@qFah)d1 z^0w$I$E&ufD@7OC+e`ltVC!ir{I{)xQ!p(bp)(*DB!WAJ2n!8>gtT+xLMP}VZyALa zL!h4eIO*;J=x#E7otf4*@Wv+1oSz4e-3PRGLjlZ4QvhRgb$XC_Mpinz5#fTfmyy2S zYtr+o?xErPjUWWNj0uv(1{h*ItXVN+VS=i9ips%kM)eP@eCQ>jdcV*?Nd~?+NQl^j z-rEhFFU=|llB)f_5nCbVsLqCYd?4gbLU(_E2=&r&vMhOiGQ2OO(7>*Hs=3(fGhnhd z@}YPc33J|gY2;?IPl734F?#{|An~yVAaoZN0g(zEz)J?1F=dnCbMkre$|+ zePM2MW#9}pW-vfk6-Mwp1im&|z0DdywI(0fJy90jJihN!j}*%5CFAAAT{+xSW2QA* z!OBqxqbv;HJyfJ4Z*FLes?IT?nz+^Ic?f60C;vk@%Ej5#^0W{3v8g;e+3>X*0J>=3 z&2aDY<|+b_jfaqS^s}@xH2w`9=Yl(y&;m-m$(Ha7#t?Do22)@aA%AsvfqS!Gk0u)% zsma0g8nb`Tr96K7vC^n8B1hWpHA+9blkp@o=d@zxs-@<4RpZMiKC$`YyJ^+2BBxW6 zOV#jvfCy6mz%(JC3#!uW{MhuNI1d5fQ%TO`tJI-{IweapVb&0hGr~52WFiO zMQ&Gz2|lxgyu0++^Bt_s!O^x3B_opCKUxWl!>K0vNY{Y;oF@^LC9X z84z}X>Up^7ez($7%r+hJyh4Kp12KcaS4i+1XGpRv zO_8Cz&LBR2Fz90KVPeJHLuQ5jB;ABQBFoo>W9N1~P8B?-gu_nj!tjd<1F7ihXpA%f zll12Muu7a3#VCX0`vKZ+H*<{-GP>!b86k?jBD?6yjzlp1Th$L-3;@{I5Pl6|E8Wmk7XRz60j4; zC1OimuOp&KY50KL&rcso(kfTPYuG>d8!n^N=O>qE$U?}Rh41AvR`Y3G2aWc(8a!)S zb0VwFf*!REdFc~pIh&HO=dBJ3GE(yWJY@L;ztA{8k5Bc|f7(Ods2$(b0#Nz`LS0!! z&m)Y&#bI(uZ^1Z=)2|sF>;7uac}_tsN!ldPz9clipldsJxuf44*t?9)!EW1QU!fF9 z+Z>bhz$+(8va&=9IZieg-7{H9m8=M<5|z8kvq|W{NhU541Td*N`#VaWW6M`f&(Lt^ zj&PZl5^MWpS?|v|C=Q0Y;x=HtIW&a9oj5EEhQ4!fmaI`H;?NHXM%rIgl=7q*u}Lcc zGf#y~rsHPYZTliJD1Ycr|4IJVD#RCWtV zvMcv)T~3IVsneZM3wc$b+(nxcX-%p{0sj|&M^sa`ns5xCmhxEti0bi9Bb&~wMf94s z+3!wtT9eT2s z2t{DU2cx0iSgYwXeLiWn?{Q=sL|ru=-^n;BOEPR8W?afBcGWgKVV(AIuT^5l^`>|jqq2HQgBscvsFWtZv2+!4DFJq($u4SC2D9!jdUeqxXpHMU)Q5?jWMNiV+8F zYCiVKVUyHVD=;s(6f-Bo@R?vdDg~s9Vixg~M;0k=LWeXl##O?#m|kP46B2K2Pr|jH z-pS>b6Os=ZeO0Z~)8-4%nH2_{=1I%I`ug^xz0Ec#nvC1hG$&HN8JEL**}(X@4;*=T86Il zdH;QOXlX_EyJ&w2F00&Pjb_-_pTH#$lC|?3u&Xg^ZGF(X)KzGK%p@zYS2A-;e-!pT zGJ-xuP;p9;BsIbr4B`fQF+#S%bnbmsANwHRGz)^LN3*zuM~BX-W;dmYh0$#dpDmj+ z;lfzS`!)L!+65kL*|$2D*qHl~B9AN%Rh-3uY4GU0Z zAa_l{!aU%ll(>B9K-OB>V?ZzM`{;VqG?QtDh=F@f2w7<{hS=poED8KsFH-8mUbxts z%Mb-GcLIbAU^RK81?S0Jr@Uj^{!h?(BPwJCkj$>_OMx^;3yz1vplzFU(As`CexfsG z&s5p$*klyIpk|g-CoR(~0UwvOwMLmaw&7mErI=$d1VZ*^EU5C82M2*EKVuL`X0p!E zOtplj8)Jh=J=A9j;u=<9m2A!$%o#gn16KsIM1lEAM5Ya)uALy_3;bm$%pely7C_?6 zy!{7a{)_Ar3NMt5pg`*kb6Yew3;|c{{2Ti619dy%eOTv#$+QO?K_8)A5d7XE%RKbM zB5VFP?-2{fd1AjOwi(;R7#AG;yYX5MI70LdTDETTml4FtZv5BbukTr@ZwJA@rA6QF zgp+E;-!Fvo4rlxx3-l8b*}?kw+3?|06o=@IyT$5o+K1p{7J+?+>5GW>`!}Fihl>n* zhnzR&VY+XmJO||F!(Q~FCOpB-p-*)ihzf&jFR9hz3Wu3_dq`Bw%87GHw;TS4u3-$9 z@35?ByrP-EoX_=%rpvKdE`vajO7|b|JpEZV+xD~akRMd8xM5HDO2{yiN{DT(aNK05 zEZcmZ@yPv5jRv#-g5w@89(ZAVu5LEhns#(RR!yYk2F z0r?*W)vYS5JrGfPp>Eg#y={{kxgv(#|J(* z@b)Y1C!(_iv8c*88v>-iPzl0Ofhy;rfFtIq!5`3Ju|-7rOu^G>OqtLqStWhKu1YmT z%fEXd#%=Nt?(6&SqZb4}CI{TO-kPA?uml1TjR(xQLzuA?J>U|a7#;^;YPkgz7Qxy1)U!@!$qax8 zm2t6|G{`yKJrme@-W0m)eu_gak{^N+ed91q#!$?q2lywx??{fCsNHzmb6_gF$=3Tk zzYIa*x*-|E;USY&(>%<>36qxd9CLV}$QbW-o39VDGU7+hpFcDOhW0+F4)u`XuNr%c zym^4Y_uq!bNVe0n`TE@$%3!1#g3kdJNnc)Qoa978J6?A&AxwtIZbbu5yJ>day0tdN zzmo8TPSfdpQIx0M2JY%;m3a~2D#gz=c~}sEtBD2?ZhG-!Ws`q5k{bJhT;u?MvZ(u# zpUA4^z)d>_w|JP*iuq@{tvL355L@klC{ELT$xZ||@ePUb?cg=Bw%f?$_?NygJ1cSQ zS%kYw!6&ZXyzOy-jE)U2DRi_b!@nW$iYsuQh6z_6Cz*h%Gz0nKC^v@+4sv6fRcRiv zcYz@JaqRVM)3!Nd4e@ig&L|0tBK^|k!d$bThq$mq|z>*S!2*5WDl#a8zM|HLCoObKhd;qXz=R4@>+>QZ^l1 z$Ueix0g}jaWta$*3WV|gnAnR?JC;9>K;$%IiYJPq)-L@%TwABV7g$Q~5QbhbF<9VG zitw%F)=)rn{1aH+5#E@fNd19Xk#2<9z5dEPeU)jRa=J(!!Vr+;L2f&mWg?rUJ$gAO&OtzZn=a33V9 z;QE#2{|s~o0gc~RkSBcxM1X*L*N5xW=apoJdyFMEjm0BB2I4dYWS2*Xn3eY$M#;Yi zg9;81$Hvv)%JfkRcT=*fGc_AQmKpA{uFx7#e3wy>oI2yf|9uo-$f^Hb;VVMPZW53{ z(nO{{;eC;B^di7wOi0=cRRNg-J}FOYfuNvNC#|FskT*$s}Q1KFy#~L?4RRNUd2f*(~QcZVgf*);b^6j$0`E`shXeg$4DaC;}+G-t1CxV zRMiofC^^^H$m3EQi*83YZOy^gs-0(Q;uji!=Q_9?{axxCX#PTJcxfgcU`P1c9ntjc zwAJYsK)pq;@b(RDvRxaGu_HwGfK$}I3%t7{+VF+vgHrye;)!853yF}8Hq1gf0NHXZ z6b^5IauGu18A9Fy*@=nP!SNgSAl&{hec)HZO*qs(8a-65yUxq-Cb8TtOl|@NbP};b zSyF_*BK6;-;Q{%S2+j#ng#v4|VoB{O6I|3D22i<(t!!9f*3|2 znmk1l$|GJNo-*Z@ATFqizeapYqW%pNkn*Nj{Y$|Si+MdX4xTM{e`#p5lnc5@rC{{K z?pSIVqQ{`6lA%y3qXjbAjtw+4U&@6c2;n$pX)}pn51sYCc7gilH21+3}JwAJ2)X-`jJbaQ(vwX zaR|FEd}jEiRMMCul5Di~!7x;z~%=ms_cPlc^fQeMZX;gwKX z?CHXga;mYYxvZy4a-NNEU%g+^#p6))O?UfSQNIdRQO+rmfA-D_Kt<`f^yRbSFVT%N ziQCf?tj?|-DWeIOQ}DQoMZcq7C?~)lSe(^Nxz`c!cnS-{ILoc_$pz}266<37U?>gT zs8xD3IIs3en5f-1I=^YZhGe~W$Wxh{eBqemI@RPuZvuJHHic*c@9D>%v8&FgG>*fzsnOAYW z@Q@27C;#t(!0_+PJM;eYQB~?U!hiH-B$hH$1Jqx?41Xl#|5>#BU-aewh?f6dUrtuh zQrc8S{E9Krsz)N{Ad`W#(FPvI2t0_BLLm%TD{-;9By^&@5eV^Nkc|FgLTM!DEAhUS z-t~}w7HnLSZL#|{x4UG~A=a~Z23xeYlC!+NZTGy{nDG5}vbqbj)$fX#YEK{h`wHe( z0}{oZuqn&{*@+22uTKPv6)WT(B|?;9%!6bl8eWCSNt7~}HhjX=6Blm=>2q?v9A(9S z0(%H{RRPhlUU#0-v8!yg#dQ?3t*F+?=Y+bqc2sY-9tPVg3v>EfCieiYcd?`3-p5ec zHQx8z&3=ag?gVMj^W!spHj}Epe{WV@<$zV0L0Z=t;km859J= zVXpPZDk77(nclHuZa(RoM-m{LPT^NA)zOO_VQkH_SAsyF5*{Q+p_+gGpq^ zn-zx(SJvJHlqdn3g*D4QZ?mn5>DyXj#yHjMX*wmzUR)cP7MP%iDy`dHL+EjUZQ61l zrkFq5YxGeUq51m411DeP`=S3r*X&gUav;Mp?iY2$D5yoMu2uu^}FG14Rw z&1bf!%?I!)(5yyiyw~$ivR1;ySCJl;2dbDuPt0N3X3baF7DKNDe|I3_2w6irVCm)J z@5m+X7mOCvWU@9lJx8hGVrjuDecvZxn$ECSJ4a={8oIWsQ(f7fG$B8p;-WAj(`O}V zxmq{49};-&3X7cVNG~>~krj(b<{hj(nwr@_UDy~9A(ga`|AdLy*JdkV8$NJ#fMz&| zKO7V=2E5D_xl>O=jsMaqY!lTrDzfQ6d4(t24J1<@lo!# zBBtHd1xR19fxctoKI!*UeGBl)5lku&$QA@8Je_?e3dC~;oFQ)Lz@S?Lj#30Z0GI)4 z-{q9^VQh1iXCDE{Yd4n-3qXCXTmTVtpH%Oxt-@NiCAM(d?dPq#Bo3ywo%0)>JC zPE3aqg$oDL1`hYvXZd5)M3rbP4W5wBkuK0ztxDad)d>pfHrJtIPDa>tu<%ziwWHbA z#cI1F%V^f(+gwgg&hNRK-HtC5Yn&61<#FwE?RCAg+kI`jJ1OUDH z+1iSxjpF0~I|fMDJ~=ezX6iZKQ%B}FE&|cZl$5?=Rp#cKwR^-6_)SmSrA_hKJ~=g} z;z(S0*uvi(V6=I}6X+cPTDQ8Urm45O&Wl%1-O#(QiorLoO4!@{5;I%39$GSeuS@vb z&hXf~FG`->-+UtZ5RXnHhi6ep(Qg@;oO3cP)Z|XJ?~QKN&y58`n){s?I~nHD&{$kO zXz+QR>S{?ctfQSD3`?9n3YZtXY)P>W&3MnmABVs}@w$1q)OS%L5J){y9#dhL-NaCQ z=9L|Ne59I~n+X{)ud&m@hO;BS9s^5O!S8AH5V68Dj#d8=e=wF{H5ca1!emD%%dw2p z^jHX!?rh`yK#lM{(h1$%SeDT*Bp=1m1f%h#X(C2CycExm3(Wa@n;5i-Tx{Tq#9}ll z{e72hb(=HW?;pi;qP#0bEo-)?ZY9d`0#lCB=##}C;Foff!-tjb?=07QAekN+$1MuA zw40dF&a@ke7iwpBi}jh%Y)4&166>4iThuE~vfOEaI;8G|nzJ8IFNtd7@fs=!*NMt# zf)1xnxgKTb&I;@QDlkG(E#fY3OyH_#9OzJ^NTkI=gk^@R8IGi{Cd4`dKW*G6uNH6{ zDU&l$F$4Vz{5ovo#K(nr-NK}qVOdxXA*osZ1q!d;=Qj+_p;?^)6E%bE;nqt?k6$nj z^xLbijosLxMrr5xd|ozrclV!YP_{^Do)Aw*w7}t&^pH}#y0`ukaaL`J==IfKxGKQ< zyeRq8?OLCO&u94~Qz%0;X|EMNDBMr}X+1nNuy4KUTw7FkRtQM=a3|KGdG+*WqWB0~ zoqe}{16zjlFqg;aS!7j&CFm}qKSIRn4iF|0aE#-PGJ)(|qNJgk9qDin!B6Y{0t{Tr zDxDsl22S~P2+T6OTNOAQrISH{5$j3xpf0cmRXtO3QbROE#uPN`c zGOQxn`Q8$G4gmCZ7hE}3xs{^gI;KNTGt?DUtNCtAD$jW+f&|;b&j9|SC`yZWPx^+|`-Gi8#N~?2tADcRF+U1PH^o&f_118(ex)=BTPw>B z{LzX3`ZC8Q`iYo>4U@4*Hat|&&wgfI&RgLIBdZF6UTb5d(qByZ6xyaw_{2rNgfy2M zU0gpJ2sc+WM~ILwdl}ePuFHfL&c8kCTWij&(s8^;ZYm~}b4J}5SC&>$mQXUMH1+-q zN?XW02cs!V&GHI%lzjd1KE93b2^^f82mC?vq3t!+xHzZEP_l9Q3dh@)Q-UEJeI>}R zIsgayDcj2`v;#Y2NcD#s57A5?H}1$ZKC#u@k;f1Yiqmi#bppvss@jNGBf+N8v=eg) zX3mRj^9C|{9H0&pBPakP5reX1IXEw6WvyRpBevG3BFnfu~VmV#tj~WB7sZ^;p9TwAl@ZDpy9&b-}@~;epA8JRk63Cvxk(-4F=;l9-pq6 zQBIAqXrk{4o<;|;h~|;zYR3Feut-^2t1gWd0K+eHg_hregiSEip-y*S1_pYCsQisBw@2 z7$wxs2-zA(+V`I{TR0j9$O}$*vGjTQpn&B(Ru=eIDT^^z)Na((mlj}VirTtetTkAb z*XljfLMnLad_tppZmjfOE>tzL%QS&jSn%V~0J#w?0=W60y(|ewgCI)l1no7__PU?* z?4!%S(wKR8T$69oq1ncbShYM!d=CydW}V$dobRw^x%-!kS)&eE)vqGWMoadV$tS2Q z|20%kk{n*364a4ZW`8BiLsMZ5)mJrZ$V3Av7dFy2N@E~j^e2c^ja9!`iwc{s3Ln7f zyJ7+8S|xN1FjX+esiTh2MDL)L)PD#_IgHJ)Q~PC?#(rq(ei(<9y(+v;ln=#ge2^s~ zry#y&w>NloLyW_NT4m<^GPd;98^TKP47iim_5GAh7KhjZ?dVj!@J~HRtYhR*RuK=l zUT_JaXbg409CTpRgg_N|uyZ70lu;v?l@H=`LDn#GoewGSD+j_yTFl^J3=u!MC)G4^B4!P{cIhnmd43Z zfBH+P2w-034I{Uul-3hC3L5t(#MDG1n2YLK2VCt2&pv*M+d-rdEV8^o35_$LHewNZ zL{6t@!M>r}OlpeQ=KjfLD_w2oY{o}6SP(+pgf^v==pz@MBM;iONbIva9_fW!y9Vv) z%-iqWH+r6z?jSIkaxEIg6DLDhvu&xubewqGb3Hj(TaxJ9>V zz=r)4Em|X5*em)cjJ*3w(S2mU1?aN}+_UvVT_ga-H|K{B&?7906M{9n$O>Q> zVP*kPVwM`D8fa%iv`?gX?P)Stc_NpzBe*{a|LtZIp<_;Ew z59U4|84g2#91T<1crf4s&~kzlOh#jpK{u8%5m`BfTz)-CW}o>c5=* zOs&61Q{Slk&92+nKF>1fl~FUH{X1uk5W22I2s>D~KwPXeHD5TTj zeSW~W&QVfA@%>q9+L8B$DQTm6gJLg5xNVeQ)Gntc6m4g4&K9ySC=`Ea1Al+KH}s=l zDE;%S1)mSlc+b%4lUj@SmMN(wCGJ`iM(UZvSK2*$+5I(}u%3C5dYN#}(-Px`5 z-bn&I?cu-X-C>a2<>KxWhX-U`Iuu&I)n@X%Rq77Qe6M|7DT9b4>VUf2=!kb=a*WpIpT&-r9H$x? zl08u-A(g8kukTouJ7)`rT*r`tcW$6e^%d(=$WOI^w>ckSV&a<&LF7X}CbD9E+Agn8 z*>1DA7Jf}famA#qZ2IQ7^UqW_EtEXA2xGir%wGR$*LTINo%42(O=do22c@z$^Me@Q zdBdm-R?eCFdfrz1-n!3bLpzW9JL2pRkWUOMvN zw43*`&j2>Av7I1VDF=LI(lVZ8!a(wCdqEDCa585CX#`O31u%F-&)(gh9=MKb5z@Nm zigxdytIQ#L9BAS^7~N^dxI5fM#dtUvaoJH=`3n(RnbIVMy&a;G&OzBTOd*ua0@_n# z5vNp3LOLcOMVA`#GB@7jsTVbf zo&uxj1s*46mkxt)*(e!Cj5sc>4js6A=xpyi40?Sj=!`rJil?IGB{Y0D5Xdy3TZACw z7J|dXe#=UCeMatDs&_|oI5C#bYOU12j48kT{FiYEe31DCB+8` z>)V+AKMK@QYLHG!OUPTS4?K(s;$i~Z2aJrdeuH%U{WF99z>#7{wsQn>){I1g3}_6o zP;iSBDx&)_&CAAh3Lt|+@dm2aAeBz)RYlFsO+U(-?+v_`zLrZqDwYvWIUhPYB(MK= zH(jqgUa~x|w@)rVvT3{D9vT0b=&K?njf&92U=Fs^^cQQUN6kNqB_#Zlp0|q5NA;FJ ztP`%Rnzu@@=~3G-9)Du7iM@!L_gWp6J~scp+SS0{+MLXe$|yh!z$UTfvl+c_S$z%l zKR>aB_uW9Av|fw$O7UMx8gp?uGS|wy8aviR5_n2bB}Yp+=3syzOg8akm}s%mN;&JI z=&H_eEl)mPU)ZXc?@~YeV2$!pZI;#VpPx(~u6B~ut>#>5?e3{#OxQ>rd$FLb zr5V*2|X?VV{>Lp&G@+o^7SoK>FT#$RMpTsj)N)~}ab zbY|ruo>rl_i#6*A-*l>%vZftNh_U_oLFwrnwy-tb&&I3{h?8f=_5)UB%6(VRfLH|2 zqG4u4dtBjriOUhd$4@V(;7NvBmsHSGNr0>_x21GdJrED-8oX1iH;FRoQo<^d);fu| zrob}ai!kRk7oxTX3+#v5p|zA1;l`^r@Y24L`GZcA+Nis((t_0U8o7EM%B7Fk41y5rOD8{|P|3N;sxC-Jo0uOe&VL zVXn{{I+&95P;E456mcPCw+B#3yDY+!H3=DmY_W^{&=sVKDk0g})wDgsvb z&f3)_J+BaqK&q`WtU)KC#*2rzyFpt-yiDBnYL?ge2iz}~pRF>P5jrMj?s}5f=UN}j zXl%pe3`JZPTmS~`PA(dH#rBsaduG{8wwiV0g=iT`i%)movHZpn9VkIvrhHEv?KACD z{d3J0@eo+a(N(ZItG6jYL?ipcy!!$>lhA=zB?OZfkT8i2kTHo1kn#vkR1fwI7c%0? z9m*GBpyt43dPJ<6DVTEcLQv8ZVi~hyPIVpOQ?ij5DzK3l3ymZF%!f(x6#tMBPPTLE z7-O^-sVnt_2!RS^E}C2ASL6xl;^YzxNBDJ8xEQ|g%#`0w#7_@XJ0tzpjo=Jz1de@S zM=F@90xZv<9uz+OFPJb;U_O8VqyM8vD&gOn2co8Y**vEdIT6m|HIk|N61i?mnkaaK z#zF-0>o!3!>3Igu;5ZH#mJJdUCq|J2g5W!xzpNQ~)BKP$%lajq!~wM@Z|oWqC8p=K zih(A{Fq-lq>7RN#hoNq|Q^r*&EG`NBp)QyI&^f61nbQ#D5|CXdy+etxEPEn}up6p| z=&>rKiyetFBXRkfHutDT#IXFVu>#>asAy?CP!;9N4;bikmWfOIi-_#;6E3?V&mD$4 zLLHOo){8bb9J(qdx>o(Qt4IKG&?~|Oqi7;2!-6l%6VaJ86X=smC-aQ&UE%M_^yMdy z7?o>f^EAp7(TWls4D;S34CnR@>rS;9YWMBZ7`B(=BYFKP&Td2la}jNA-EbwGRZTQyTBEk3 zfW!1Zz(mHYzCt0GL3iC0pYe~M-a_ex<{T_QZhfxpkQ1&f%7-xq?V%G+HKKiE7rjD1 zBoODFiR!XQl~AkuMKsv0dP%-FBCEVIy0U7TUKS7ntM8t1@ESRD?OJ5>)E>S()~5#H zAgDJh%$e~?PpqW%shiC;tcUB>7ciC^qlFHU_5&J8l-#2*`am?&ba84bPBk)Bu|$tB z!p)ZI$tyeK6nR{O&vj?yY;(O0<2;ms|Eaz%ilFrZYUJyrK$oX@L;@r`F3$!32H*Hj z)5t8EL<#9mG|XvX0u4tR@gPA?4M|i?AzQUZK%V*|WK5!4W&x~d&XWR;lTplW1$BXj zm!RrdlG#IanpzW4+b?idtP(l;ti@Mo+!|p5A~wYC`ZXBS-kxyB!Zs*R{bfS)O@B9U z{b*}+AS#Wd$KwolQT%-=L9SUM`Tm7@b1LeS&Y|J`bFH_YIRZJ@$0MAyMgg4mqTz5|lz5m!CR?_F@ zg%D8&gQ9!|LotXD?@N!aDMC5E<1DpJEQKN-N@VrGgiK&j5dT9@p4j)x`qIFlJ;zKH;4_VvjGka$c$DJt<;Wga#jB3jio*{K=1oM)z>-cjzeh`pGv3hc69> zcic>fRm_zpGO>~^9s@kte zB$UQkxas4#Ic?$WM@yH;nUp-|(T0;4_@*Vhq)~s&o6f3tXPY0;hGCTJNvCxwJb)@8 zxBsYuH0}(#6G(;(rnu!n#L##&Ndzq;sLz*Bwh3R<>$J>PqEa($RHqpkr_-qKEhQh! zM7EqJ%t$bySEJL`E?&Cv9}_iZ-QrHX#uyiBMzL9@5TmDb2y=4|Ij%B;YI*kh>fg0$ z5552Cp4{S|NI5-m1NIII<&kyg>g)23Iyr?zIfxvNj(d8L&VQqpcx#F4lT4hx z$;I6ab65yPM;ue1-E2QVI-eqe2Un! zGMT2*Xg+pjx?EpS65}Kj(Dn~wm>SA;=su@B5s$hd#_1G^vfM<#H!Ija_U6b}u2+8% z5+b+qs4nS{mX}sFk3ys_q_u}GN&H092r<+Mnb4XD3j^%XFOjmeT@1VP9tvX?&Qd6m znq=U)(RdW^D~4sI`fSr57Op{`u?*&pq0NhW2_H2So>!gnvxFkG#pVa_nWXNCWcUoE z`$-gck0;%mant(BH2U&Cf0Rt_t8qK-?oW7H8Qo_kx@uXC-huzzQ8dyu7XJZ=*=J5Z z$5l`EHQ@M6d;AXC{?;IBAq66keRr_j6V(urY<-v15P`1t6`Lp>BEy+uz%apju~3g@ zNbhK(N?}O$p`M@@S*$Q_lUmRsHO^#+R7A5zD{)W!Xs1l4Y@qGH`oKRXt)?u<2eo(fduy7R{oza>}@n-2PAv#$w@ zW@=wJ=XW;Z432BW81I|=Pbe5Li)?ged4ClgapP>hQt&1q}iIUNmEHMX53Vqcl+er!3}wu+#bPEXLVN-$Bt#-|oLTQAsN1 zikPBs-VsEBHd0XPxZ+-Z&TA-aE>`}uGLVzTvHW^oR0eTIkks%IQ9of7@t*-oLuC^G zD67X?yvBSbC~8bm(IG?YO0V1*Hx{-Yj;CsUe?CTX{#5Tf!;#j(4T4jJyAzp+PaYh1 z*!l2t#iht*rpN*b%?zT=YojQF8Gsb$D)WZ(V=e9y$|;!c@M=KMl;! zdNpWKZ?rJGA&jv@Z}VFYEy7{as!okfH5oS~GbU4FnPav7VbCRV(0XxPQoCDjl{gM|H^Dz{#~_vGBy-bT~WY|*XoifF_v9+ZZ< zBdw4ofvMPRt{fLJS*K9F;u%?C`x&9zEAdcg1nx!Z5{{AZnB% z@e>V~b1U5J)xQzSRNN78&{{E{WlyrS&{VJ@y%K#BmaY_U!#bu5b_aVp=Y7Y@i;r*v zecD}#bNY1lT?j?QzKeU{$BQgGUp9J|-=Pyjfj5NU2k=TS#uNw^{O0Zm%TdooQ}Bph zU^J5EAb^}&WEv}rtBRF7LSq2`l5vX9#EhlxJmyeUXuXBoDhf7{4 zO>U6vd>o1!-`B>$2&GPoFU^9DGJm+Jj~@k}62!!gf&ys7T7hPD(8VZ$w4X`8=_+|u z(n7_oaAJsA)x(4p&`FUyU|)#}XJ1rq|3Q*zr@?r5fvlDoke1}gj1trR2LI0}(F43| zq%H`%u`8)yqrxUvr{~%;gff{`dhgi&M9d=`nb?h=Bjb7L( z{Yduhz1R4iDbl|_YTe^|2(8QTa$oT=v$?7rQ43P!fBe@Ei3GI?pw=4jsrx!Sa=_2G z5*=k=o%|HG`}V^L)KT4{BmP=Yx+E^S zJ=VLejiRP=93%4KyLp~plVulvKd+0EpT7V3=0At&ccy{-`4j&?8U+&k-;p8z$A`X3 z<3DCqOS~sjJZaR7X@}Bc0$>0Fe+2#Vft29=;fxuDAj5;k=!pIiA(AAZt=Cj(G)l0R zHSdONFomw7p!Qa+w=WenKUFk0H!rXI{JK`TxB{I0Y<`$9SfTXjzI`2cJKl7>Y2r)%j>tM+4Jj^OSHZsk)l|^Ph&A*(noBQBR{d!Zyb-L-K|4`=>eW|6R zYCYy>`0Nw&ekr}vj$P!4KRBA}xJ;9L%}Dm->b9REZwQwwiuA-EE1UaJPg%}?ilpyI zJoqyFxC(S#XJU`ny>fr`y@d|VvTsy@qjvQnS*5YII4eKwFS}Du@KGD?n~?l${#K`0 z<`TGB=azB|9BA1~oR|9DO&iy1qtmp0Yp(T5?SB(Q+o`7>P)lE2NNS)a)#umSjp8C( z(=r=4JUJRl7}m~*b0&;(GIW5t`+~B#%Z9$TtjnY<^Q#~U_kzxh@-H@piWT3NbGbL> z)<%??=$3Y7<4(^cU5hZ6VOSbV=C{hMeyI-i(L%NsB-3-*1w>qfS6 zcf}ay*iFaSBQkO$=SZDEaRzI^d!k;oLv=xw0=b{6b+8DM&ISNC>A~QsrHwe#=@Unb z8KrPJzpEJ0v@)ihSSQ6Fi!>a&(ngT2@C~sn-$ITzo$@QM#++zrG`+ouPw3#UkclU! z3P0XCJl8*_#Y_W{6~F9ZT~}4$@Gtwa&(#@AaaWgm9v_!MD$?~CN?K^l0TyL$XK8}c zl_wq+AZ&P@gOVU1-bse<$IMj38an04n6~>&_{A8OGPqF^8a@y$Q@v0Uii=H#OzFZ*2r)+b z-A|@9!3JY1SB;*kOtbmtg}*)Mjad743> z|8@k?Z;ura0U6;|?Szq*>r$iE+y_jkQd{U`UR07@?oOReKyHhjlx8)xdOJ_GS)OS+ z%cxw{O_v*EV(I9I^~d#nc^cCw7j8Hq-SWL>ai}V)5!{eZlWC17q8Z0AtH_$`MUb5{)%W%oKM@n>q-91 z%1GtQX=-X{m89yT3?9Nx0AF};&N)R$w6nIK%EF!9wl%qMvvr8+xE%U?{=J~serfhB7|hcncZ+GqJh$d|CJPruSm zz77e?nIi{SsxWeyZy)6A7sbsxqj_(Lna+LV(ZHK3V;T{*eLtmskBIrEnA$0P>tHIG zSLe|no8mpq;dw{xnqv9_D$sLORW0Y9BQ^nTNs^wzM3P-d8-^Znb)`sDk#v|%J1q}B zkThO6Re3S+cuHT?cp}*%9Pt_vy_t8yt;$P`SyoJmsb9RwfAMnigJDqig5&XO45N9P zJ8}w&sm`zPZq!bt${*rc7j%6)<@XpBy;;D|!*T5kO+!zU786>WO*%EVRhw^yG4YS} z0<;M_D})UpDo+2&6sL=Nk6HT@2@CHdZ~802Yr%Z`ZEkt5$EV%C(yh5cwv$5TRpRfd(epwLPA1!))nv1ry0PHWCVw52DNQ(R@E6|gd z%ZvUs?Ej7QSc39ck~ib;-biX#2q2s6ef|P}Bd;hEN2LxuOcuRdLOKhTURJ-M{wOaV zpbt@^E+sRf2_)+&>rZXc*OFO*^kJ{J2Te-UatY>9^hF;O$?k%~Ap=$^>^n^*Rd`+gAG zjMVT)rZY6T^hALJ(~E0SVB&GinkEy^f5NJ~Cnh|#8b8F^b@VOQ zGPr=}xHZP>Z}2BRcXK$A0B50PH*BLbt}K;V8i{yKsq+oF(ZpO8A0r13v%-XK`bI*MbvGURK+N;sST z2@Q01tE1F|9eh%3>Xy70UH0!qGc`GV#nM)gb`mr#c&TbMwo<>bsGu&Xz$z(#a~S{x z69CADysx&|4*@eTxGUA%vy0pZ?AaGMCvQ?FZ`Q*vwx)aqUQpq;wnsq?8QOUWkF;q) zG|rsuf+VL<8odCOx(pRZKZH#&>rZ$Ihs@<$DvgN~1`!}*nXAPqRK*y9Qx*t= zn7Lh^9Kh8w1kcG5xL4W6VV&W&B{VnL1;f=nB1;^*5JYdOJR`(uW?inorO3HfN|WAf z2XDO}NH%@sAX_E30_}XW(hY6^-dKq#CXR?zfJX&wUK~}yE0BtSRHU&zr+<<~a|8};l-O65xF;S~1tf0lTZPKHG>{qZrJpc3l!}#|?>ZJK1ZY^DhOAr0jwoB&e zj?cH!Jmp*Mlxbx|2+^A>JWo^oq#ibIYt?$au6+whw-zVewYen0zVh)bDP(2}C@);g ztN~7$S9#%2=3tQA173AY-0~c0A_7V&dw_&jVJY%BJ6MwnJ80f|(re(k+&*HtVi@he z*an#}*+3KmSu(W9DH9{qq-Fvx?szA&F*K4)VJRsMNs@eGpnt#+AV_n7@p}U7!i|~1 zv{ggQ@)4F$!FQ$O6KZOIFFUA7hHW;k&B&OnL6KvYqLEx+C;n+kyVeIv%-a*&NsHi_ z=8zP?x$q?zo7AB%6>dbP8mB*ogCy%n3Kyfw9syKghfD7rL`~K&Mx!%N7+G4{ zJ=IpDL=YB5;7>{Zxt;0fVg=|<5hzdL?@m#~wGKw<@q3PVRDMU;64EW^Je63N)I8;+ z+cN#t>xi#50rgJe1|!ekkOoWK=cC^8uXlnRpQk31Y{~rv?D9X6Z9y#MIZ-N=Fo@^P z(?!F{%*l44Q4Xsw&;6By&oo0e<`cHBR>^edxlWK1drVA9UT$wYgu{y1G5IpImi9+5 zDngOyj$kgJTdj~+sFp{VqX;q?2+|{8(F-%BhyM-rQQ9M`J80h&RwAIo zZ>Xa!@Om%KiFRc{2RP8XGyB;w{h2)S`may!1(%5D1KQP;VIynIoKB{oVIyj{lwqSP z{&Yzx4`e|XL<_z!xXnN~!e;WW7VLm0xCm~c=Po!%f$zW;4**3lqv>fvuE_4;@4J7j zNIczxaC5RC7IcJhucWLZBd69K9&X({Fq=8>P;$no5}#P?aLMLW>)gzqmj+xi{)&zoj-E^BN0_h{22 zDUPV^J&{L5$-J%`NY@nVEN5n}t2;FIE|tVPYuU&~AHMNSJS&&ZsS8QRpH};h7xbT1ZBlv-#qSN(IEZ>A2?#Y`E5#MS? zL0u;|mW(L?N`aq$g$DBsA!d0)MCa191gp3(o`k8Z4(Jn)>K@VA+9TeGJiwes2unF} z4$dB-a-?eR$ZONt7-x(?XZ(@95-s19vPVnquz0dGXPfV|bVf|=l20CpJN;N6)V-K# z53f2?ZI6q_O+4g90eB%23QMuBT@USh2xC65QLcmHZ;#{?18Jv(`{Q-x5t98M(JH?f z#PefYtxIOgh$QTE#pmqk*v54)kH#eq{w%FhC>MnEK0CZRK;QY|wJZHQl99}mm%Q|m zH^g5g)VQDB)ens^8~kYW3Hi5U3D7g3@Mv)x!}sqg9di{@Bq=)rNs8CP`W3$D=I^7> z&cUOL542m+b7(paTR#`lz2Ul4KZ;~cWjnwqm5ME;ok(Yt29|^9AE$hI@hOQ3>X55G zkHa0i)&A9*g+c}XQWELSDz$_oI8~tpWRo)WYVjWPbmVlXbRWtNh~xT-erpM7eUwNM z;s}Zyb(*+B3ReD2={9wI(=k~#f|>m!B^c7}(0ez48UgSwj3NdKCYu6U$N1*{x|>5J zZom0A{OiC5T~N`Tp`y*Hf>uyFnTN4WNIKhH;mp0GO;9n@H-+nynTJ0+e_b(DaY2YM z*V97oWRwsvhB?n3P$FFk_{`C6gp%^~I}w|LgYRSxy?>7=7wxJl#rW6Bsg`T-l~O|t z3wVQc22V{9wnG?4%hYv;opPcS!`0&{o2T(D3KZg^-{=?1RZHXN*PSs=z%+z9Si`%=pmJ~0 z{iPl_ZGtKQLU*3#8;5`{yd(o6=bYplr}|yZ^NmNF$s#J}y^h7NT{e!B z*IZgJN=842mLtNeAS}q2J3XTCvf`2X!gI}m$X{PxelI009C;z4hB%}vH&!_y&yoxs zS~!BYiVp$0jek*8kcMls^gQ7~nzsDi#ppt(kcKB#OuN(Y;5tw6qX3_ID++>l&1!$o zT9t9RVlDNgI>IvqM%x@WcuIVHXA1<^g>~tUTTJM>i0ww0p(AGc;OlnzMUj=4FXcAC ziJiAnsYAtkaz{$Diq;~-JmX2&nvsI@>vySb=`FuenYgdAh@w5`-!7xtm|LxSc84Z0 z2Yp^42}aQduT+QN3BnF5P(YPK*5xh_B(mqA%id};vJ{glk!XjPT{;tlzd-)*C9gYLL9&>>&C%7H_fA~wHJ1RQGYMZT zzf%ikS{nW-Uw>zKcr-%ZFZ;(tcHZn8M_M3{E-5Du{gaCM?&XZi2L^l_Rxh5n5Q$g! zHmE+prv7k^pH=hzl22*j{xY}bca)2r%*A=CLM)4EWQR#q+#`n)_wXkg4l39me{~M- zs?lI{DwX0HA(PIYR+&Zxxs4mn6?ngzZxb;TRl0usvV~;m62$m?j&_uNEQlU|FPWY)=WC6&%?ZUdaqzEU;F7AA7DnHo+beq5P+9RY>FfW3v5A!_B zjdd`Kp3}m@cQQJigUsp^1+&Khv2hg`8M9|-xMmetd4~K(PW*srv=T6tgh(gokV-(Z zTM@*>L5X>&OpF->6iGuNk3tCvhY^hygJ5%^2j*4Pj}YA2c-22xoS_9e4wW|;+6Rw;U~EH;pSAuC+m85XTkdu)FXZ; z7xguUOzu0->U!q#u%*@ir~ly1mMiRMI_eWP@K@Rj$|uA0fs;&l`zYxXr@kGCYZMe- zZ~Md(dS4a#xCevfyF~xQ6&e(mN$W4B&44}12A4HaS&Nu2RqX~T-qW3-gQ0$syAeiS9fTR2GYZaASk&>!`s&_qx=r%;gmCJAW7h? zb6cMy?3VFcgQDIQ0yBg2`Ah*A{Ikmfw63iOkY-IDB$2_WsfzBOT}^{`U{gr{;u>z8 zQbr)Vw~M%64#Xf>UIKz^pvD`UU zc`pm4_!0#9?|ADNadocVo?J%3haFwsF4&1QXDvcYiiNS^o)ar zqloK6&}qB z(GX8v3>CU-d1I1iTasXC^6wsNzZIY^Pn>EgYXY?0u`lyQseTtXYVxKj^TC*pFz?m# z{NVQ)qDeBMedjoe7^q!H2?yTke~lBd@D@;fQi>^pxNOJ=|DxRU#wt4dZwO`eK7Zml z1>{!2mk)AIJ5|>-c!;01&nW|m4;l!Q9suw=^a}iE#)~=R1BjnELK!w%bsL;)&tt-xefA5H3UD88?kI5JLBFk?Y#nu%AI5T7b5y-|bbC@L(z zJ10KCYg)Cs(Zdyip!gZu8}kMFPp?2nYnyBHw>Qi}^MCe-fwat|e%k~8?}Yt3GIpjl z)3cV!YAuyS^#aaQfJ0&d z`BtrSdwLKdM@>I zAyrbu_ny^};fDgBu<7V?lDYHoIqeG5>3QG8`bR4~#5qxm4b~VHnBrN6w-OgMnBL%K zuxzf>Xw~M%NlF?#a_y#+ewEYKt3g8R>7*>}S~0Sv-44@c4rrxa&xQJgM5rxIQ3Fz_`vYA(If@T#zq@Mzh&m{R6@yV}FHGj}kco zxm=k={H24U?6LQJQEtje+3CuzT(*~gj(m-Y@O0uAZxL@!rz~!JHf{{LC{pY~;h^p> z8RF?^{Tlrxza z^5C%5kS{lyn0%~wP#xKZrLAZgxLxehrHpk061=s+UbvgM$46zh&IkyI&-t05YlhwQ!4X8hHr&{kh) zvC6JA9=T{nOx&=Yv0xt&ZC_r0@8n$EqqcAH(ROTDR|!GhR@f7-kKEcGK2YRzoSsS5 zxO+10^1ZwW2Kks@qi~L+<);Em)6a$N>S+htebwh`^uSES)e4;AQ47O*+PV^Ov+ubX z;dr+m@L|^j3cJe>%R)#1_c88C`{g0lODlLjS^}{aec{<+GG7_|(9?+q9I5C~p_oKn zxvx}1byn&;+j!rsU@Y-wN1Sq_ra)0NOeEMwruukVY)q*l)@X0cs91)ON(p=3cAb%o zE?$?o-tAOTa_(yVh!ydKwYI)uNew*r@R}y~%1kKG9yD9N>lJZb8KS z3n$WyC>+h#u)xHV?}@WUg!14D=ng(rNBoK}CO9nMm?Q;>IL9keTO11I9{`-kKpKz{ zRclff1qMK~sYap}<&sx~+<+DI=E1-Q6R^alYx-v;!1^>$i#hl2wD-D14z+oq3-56m z;4Hrkvm+;QT9U+6AST`8kxuJuE-)d|r~qO?T`Kr0{j5@aO$LNzhhYZ-S5#W1m}XGG zgre_Hb@2k_=_N;dM!zwd&?dyQ1SR^=nO?*~AIccAerkNY{)7`TIr2Xl>V{JG{##=T zEIIFyxoQr!WAW-M$>e$k4umBBH%;S;7Mb2Ih6uI%Bg!8T`ZSMhTsECMt-7F z10%V*$@^8s^l;J*^vo4aB_)e#A`XDC;%&8x5%N~WMFTS`GDK^s--l-&w3X*s4@DkD zpNX@d<#HSBYy}!zM!V-_#JUPmA4_i9r8I|2@6Qo34ogD_05lDd<8jUG$)zcV;;ANl zHf<}FDOuhEZ0!7^hrpa4z~9z?Cq3dDCi(LFDrJEugN3@#iL6Qd3(NEu=`KKx-U6}l ze_C}@`QKlP)o}y${~q>7mVq#`>yVP%Qh`kJx!}#^4r2;Neee22rWK=4lB8D#2{oV> zt{oG|>cjb{2;*6^)Ip*wge9vq2$K{KNk~OVNf|V=XH=RDoXIrKf=^GhLNx?+Ps;$4 z?2?$rSK`_tAtt9gh{@|2(!KLmXr}`Z)0b6!LID1SN8K)_Fbq&VJVBX>{AJnY+{p^eA4~Xmylfa9_ zw4$+wQO2UIF~*S2IAi-S|Qft6Gi7!Z3_r@ zM#Vr4hD=vyNR`d zz*2U(361T^8^gtrBVQ^s8@4!b8ejJ#j_VjDdAmtuyXuoN-Rz!qXR6borTwE6dqY=k z<`BK{U)BP$J_^-_XPPshbwuT7ywWkOYMy-uq)cfTQW5D1RN}KjyqdHG=C`j1rR#uS zjL0$|am4yJhUUV!pwIvvBR}K7bZ_no-OXPv0|@b8n+I2xq#Q`(Y>kYM+(rl=R#-@+ z!m+E2bMid|CIfFwT3vvGN}~wTn(b&)snp))OTTSVk@U1VbaWdIZGimZzaFqa35ZM`TNXAcfT#K_^ZGlj$x$4fuVW)*#bc6)yhR`)MH4 zG_1=iZU>zm74wHHEKT=vo_>`{n&*ycQ7h(}!lD9K(cVun`!HP+oOPCm>=MRv zU>KhXJF~k_cdr6!kd!z3DB*^kCza$C=MBL27Po%gcQE4p&&1feGtVj8r z=n-K^hGbRGLHE;^+Cy>rh*CGixVu-YVaEYA= z#-JGPZiujqGLP(?!VR5tZp+k5xxrBx`QDnBPcW>hE(3Br&wh>?RdaZfSQS*&+!4J( zzI*ancF>W&t}4TkpwvG%>u+b$6+`cLvTa34m#_? zVdr%@IaHPc4=(}Pp+T;a%E`=V`d%P?LQJkI(s`3jsQI}}eHyg1MFl#;^gAazyrP-G zNFfrd^apkLZuzcOt{$R0JF2WWQA!XKi1ZdVwTACZ|KajpeJWO@xW^x=5TXQ}{!3}Ub3;}67f8^}TX92_yfg<~Z#z?+LiYevI=~*;w(9dS zV0LqZZ}$CzZ}#$oZw^2)d_r-}U+Hyb?ZA2G;QE0ud?-|O2aS<=7j7Lpgj~zzsiFx(G=>6_n5U-ZY4Xb_kwF*C=C=v7@g>4$dm z^kVmC=zSbJCZA&)R3!ZC9FL90mbTSR$?cb|1IYHn5ZM?LHj+Gm*YdI#XZnWpggelr zVxG8boIzp?m~VTqlO3C&}`U z1r$(e4Lf>zcY@R=bF$V=(Ml ztgfSnpFrjp`&vJQrzjTcNTJmEO!kQ46j92RjbrcqDyi`wllrv%adi7L_BimdF*$(j z=pN+f8i9dCtW@X?nRG^b{)U7{nfq17WglP8}N7X^D10onU zP)0z@+-aR5a;jA}F630??UijjLkluw^*q48mJ%n64@L+(A%ciQ}Y=@$4Fc%Uo78HX-yl^$S0wx;kK@;@h$ax z;G9$fzO4jvhGr)CH(s$^sG<*B;|cUc*?M6XR^F$8ZCTbGJp5Y?NG4O!4q;HICZW!( z%qtVns|DPlNUu5s(!p`t=GdLWz6}@GO8^2S$p|#Z^d<3=SG8|W*yR$#Gf_Kzkm7_z zZWsk|Vpir>IUOTC(Xe%G1)0uXLW&ESHBAlVrS_HZhG> z6BLNQKHt!uqDjWXyQ@s8))vkPYJxP=YAM$7KbXHt(agY}vd}~3+_;*0rUYTY;in$4 zS&WsCF5JUWC`pKXgF`QHWR@n%A<0ew-=^5}MAZL87ktGGzH^P-#dYJ|9!{+sEfD$z z;@yJTwgsSAZE^}#Yae@Khy+%c>ny`7Z1880$hz<+MNTGsVn>c+uRBWN@hmDYhp5z^oO1}0ehb2; zQ~mzt9Jxy;!YyfeJ-&0U6-lF{=ad3tBv%NWX(UftoP5e2 z)Y|=uAjPzmn^;Z9OGMlwU_BqgQF0_HEFK_wW(bj=+=Y8piIJgsYHF5MZ!BAbmksVT zjT=%4xHz8m)0xBL=NJ=B#?II?2h5*~&~$n`fgi9sP#9_WTBTw;h@2)~bBRJ?se)Jb z2yVvzpm)R0%#Qp4-;5UaN{yHFm?L*TwG8|LYRoht&rj@pbd0?KD%^Ls3gIuyrZ;H1@PnxX*B9r?D;Hpiu6&rI8^EH*TbK-s zxTSR=M4JtmQ9>if)Qe_b*+q@5(t@~g@0iEG2+NGg=CbCh^VQqPyg23d2fe?hc~HlM zjn6#Uq!Qe&c@gfUi(b&n4JOH$=xughaPTI9{>C9BTK)xr6#W=DiAA@;HsSVi>N5io zYYfD<2TTHOKXA`E=&kH8KU@8pr%&hr|%~UGH*%Yxl;ywx-BAAPvGB7K=&iET%D6)w0J>W7MxB} zhf-HEq|u-1U5xVEZS5pyu?D&wmCvLH@WL{?F}X?*Hw0EMaYJVrF3d&j2nZ zX9H&w5jP_fduIzf+kfR$w)})75CbyLnbL)M^Lha-@bBgT4RS)|4g?Sb`1*No%>(8H z31d>Cr$%iQ?NotZ@g^si_jy#}; zp8Ngsoel7ag?N-jw~g=QNnZ@h$``<|#83UjlWI?<60jHfEyuQ>M8(vOi67cgYuZ}wloZ!wXzvz4%QHF0#dFtj#NcKpE=Ozj+P{##^^43< zlALhRnkni=YK(~Uv4vES30Cp>1|({ghY?DdNTK^txtY9r4M|y8o?RmS9#)3I!}6|7 zo##Aaqq#dCUS6pbS{8pS%=lKqD7cm&iDRyRZcB10JXmP@fi z9yy)Wdlw4thFMB0iMoZ|x_cXfT4i#GOm{!w zK5>4(c!|yZg<6*+hWg?(s;`Q!lm_-^65@eAFc=z_;SspYVX(W-=iQ&Fjxibu6E#{1 zbm~Z#$eOVT=f-a#q~+XAwrx0$CWU5#a>kme?BW~1;)60~q;f>evrDD*MLR;f=Jlhc z)20=>J|@6&)fsTS(Y^l;o#fJc=liv4`0H=;OGL+F<*hP1MVO-sl>+_z{(<$k3Z)^8 z3a#SX7;X7GOMEoTxdfE?Wm__Fr5M%ZGP?HN+T3Ed_JtDbS(l{(YsH>pyw>M8DY3`A zm#ToZANE6aAzrM@Vcg0bkd9a_J&3`3+>Cy_!FBIP|18}#tImd1n%xWRn-94aQBt{Y z2Q<>7bi-rPJUYDfVL71OboZQg*fDQAohToze-F2NZX6*Fy@3}Pljyp9lpz*{k+_Wz zOGp#z{IGrt%oP=mqJ8isj3h)0crp#aNKRf~3PYbN{iG_xbPghT9jJ_Uga96BnPYmdO&=FqHg98coeJYVp8o_F|EYxk zYMWiGykWbb39p01#Xu}OU-FpHlGPH&zyE7baTmJ=Mg}1svOFQ|0?2Ve#!~!p+#%2V zh;A3mZ4aPG38#PH&F?`*ENrcXA|J5~5iTd4C%xNr3X|)v_uD6(pU7qmQTWintb;;^ z)Vy}ev7E)X8&x zqO6?T&FuSi`8Ab*j=j|Y{#b}mk7+3dn3#=E<+nA0!5WR0qb+>$;C=6&x=U+&5s#&Y zp>6>?oi-Y$?uqotiUror7nzlW6Z&$GOx4^t8%@_zs*HjKq?XoaAf;~8jXyfq8DBlS z^W!sNo-qqoACFqtM?MjwLd743dPs%#_&gOV9EOh7^BoUO%bFI-noppWw{f{*LCT)H z9h)@Pl3}Ph%8@LBhV8m`%2qFw)ybp;_eGRoJ8KDo_qAgsW-WS~EUkhvia2{bb(b)> zc?_qJFcVSqN%%>SLwa*lFendA43&7+(P)EK$~N^=oBJ|myDdXDQh=nrW3I>TZ}W=` z{t`Gp6&$q}7UN(cN?$=lBm?XI=MLz!xG;!`bDX{M0GpKMc9+f9$vX&PtbUW_O18b{ zTf2z|hAJo#3^_>e3y1-K@)HmN>T`^w9}lEJzF7G)yh4#^$4qeM{LN?cg&{^=qlaav zl+n`=kL4S{`w%~%N^eji!Z5>#hrAE^TVF11z{~9o1-S;;G-{rfP}Be|f}!|YkR?e+ z)EMalmV-u$BAC1wp%fu%mVB5Z&;s*e1AQ_w{|_sp=C1o_Yz)Ig7#_}v_z|@oAMstr z4CF`F9UEb>+$>?+w816Kup}gyWMNT*64v;~+KYB6bbUI10BL+ag)v2>d&bY)!l$)K zuryC=M|S_jO@{tfC~`(DqPR2PodE& z1QXzMt>R$(4u7!B&$-IRUl;)Uf(iPp!O>@xhLcDjTy5?4cuEK_?g3uC@KyfoHV4jEw7zd9Gu_7~Co&=E8I694 z_y_TeYh-Z-HGndZP-6n`^Gc8oh^K`!A+g%%INzt2f`?$C|KTeWnj1oysA z$^BH9>f zX?RCcZ>-u^CP`{^W+5{tO`3uLzC@gGSCaOn>8NUAbY{+)j5?dafr74#V@08dEMuxD zQ+_{ubaba~DM6j7tDxIRzK&f9KRTh_NinVGE$eL2)J2kMPFX8!+~Ad|ml#G?xR&B9 zt?v=Lg5-geEmNGqcr>5oUKHYdmuE<5lF>3;VJu|b?mXb2nd~RFu7x8tT)b3}kVBRb zZcVtJq>f>=J6;ZW4dG}}(6^gl_iXv<_0IQ0?eoJO>$XsqWT zkl)TsLdqyuv!))C{~cXN!pdtW!Zd}(%`bo<>cj>OeI;WICy+0F!=B-orf`iCF+VFT zR;Cj{Sfh9*+%;YTadKI;IKTRb)|n<=V<$mYY4wk6LZvJx4S`S)@}hC!Q>2+lrV6~v zW-XDV8;jxy#ne=N6OA5KIrj9!ToLr2igqi(=r1~Y>8mN{Asrs?=O}kF#CDl-llsR+ zWvK-ArzY{KEz%Z@kgGtRCsM7H#Y4pzF?NmJ+y!%j;Mu&$ul8++l5$~2E|QIS!lB1= zt*BHi^J*!L{?dlTkWx%62yt3tw4nxWh8M>nNyA{7SCWp-3#YMB>ZaT%A^+^5A9D!| zUtA|rEUS_Wmhu#5@5`VdZK_lD5ru{T^t2ET&h9(IlJVy9_H~+aE3nrJxbYemO0F~PTVHDU}@&N zXm0C$Opcsd2Zex8DZbN-^^(%dqtCa^VK(z-j zsCfgNT>I4vPaG~MgXiu+rZ1*M^t+i6RmlQdK%IFjv~v)p<#W>3x+7HuD?#T9GffGU z8m$kK6_iv|C}&Zu^gBQ#OFTH`=(JdBgi7g>!^(?$U5?bA5l1gI_*G1+8~$e8FK}m3vw^XUZIFuL zkQvX-w9h~kvh$V3yIq9rnBFYAzzkHAeS0IA4+JH8DTwDEZFpdrO1=@@(+prk_P%x_ zcuWh74gLYx(^*`t*Z02g$`#V<;VJWtdo2%t8!UZt8dn~D98nob*^YfTiiSXR8r~Kt zN^I9mYTl0kSWPIeDfOL4X6}6H3;cCK^A}FfzLcLk8wuSR?7;(k;ZPHfL*Vxy(&Po{ z!Jl}dB0pB(-$cq>4R|q|;Q$9;1io0Hw!%82c#IqL;<#}wAWVPtaK-P$np^B_d6e}u zTcE_CxR2NT`={&pc2B1JJ#7c@-=JS70F&&afaD77uwt?s*XcAjeDx~U$ek&Xzr)i( zk8>mOEWhlrLGh#ZCIjmSb<%E(ab@*!W%t>WHQ2M=*%Q~)M!K}5^T^uojU+XNK5dCC z^$f1N1Y&-tf%X!4?2tMB6~FWeYJWv1gF>?$q@P40a)>|=eA{QIhDT8+C*421PHHuabPgDTPEsS$9z@_M&q~v;e=a96A zJZ3rpWseyKq&9|)aXBnZIoT6l-5W07?B_hP-)B~&mDWGcnLa-pCcYz?#!n6{H{_cp zKI(VY{EbQh#56?4j-_zyi}NHM+?pMvHiC}Bi}S{bgChHVX8sGdKoYy}5Gc*_*8(hI z9+C4ev+K|vycjwP!OH=7&EZZz6&!3#oAJ`k7jOU@BIlGp1VhK~GV~E7Rm)q@sYaPj z1;E*VVwT~TK|!0e=wlAn*2nAq81sia42hOUp_H&!VIh zBtu*ipgWY%4GsayBQurY=wKG6N`meaLZCLjW7HvS8V7o3yE51P?2 z>d#v&-fkfV;P0ttmui8$n_pGE8JUL`YWbUAm{2NSshCPr zW5$xCz3hd25~56GRjC~JP??kipk;B6L*ADiG_qCYyrJHHZRD~(4bK~9;s&02uS)mD zt79^~u06WEPT+(@E`ibjaA;>>&N7}hQ9(GMGu8crNsKTcPN;0t5uHFLzogzXt5tN> zDv?d3q0q|#zlV5TQg6q_W*7Teajx7?C_6!QM67I4msA+h zKtCssU_OFE9fFQcFQY(+6RN|fS_#xbD*e^Z!y88v6ErO%S4W1f+KEcX>1g9YzO)OD zO{fZw(h-ui(A>bIY|Om&HctI`((kd(+g!=#FWvkU7eE8E zS5VU+sFuEN+HessEN{?53yx6k}1ajOaSV6s9woARcW?PK$5o|&d} zv5K%1I-}y8s9#rheIP~e3y}+FTgE}=JMva^)!5co#V{l5R$2~8-6^IzsaIX#i9;+E z*&il|E=BYdRKec+6id_D;1N0%*;eF;Hs?-%f(7;omO5OZO}mUQrbpl%YAv^Pks~`* zE@=7F+jN?3b0v@A^qUqm;Ivv7&bOv%y}77|n;%SfUMlTO9D=0{SQubJCzhj?T-=5*$>J3f9_t8|F8ETJB$B66I#Ve4oeN5=VD}C7d7!#T>HL& z0Kh1bodAM3C=Tqg>*EEQ#nf$?A+&I~0+U{AW3+yl~sc zj8mcB@T4?bY(@uo2qe5Pj3m8U{nbJE5F&L(g98U(5TprmOZM;YM@(2&)IHH^bF8;*i z3{HeQ)8S0#7XH@d<;(ko5T&u~?2R>PIj{-OGzr%)47_{V^MDW_@Y#m8t~cg#x)oWE zDvm3I9v%KPTzHA01G~KL0<1m+%|I&jGNwmzo&}fzhDY)`TT%xCTSP%aEu}LV;8)xy>pl25&&>@2sK@2uurf=wglp72D8>;k}D zpv;$K8iDaDE_5Q{*7sj(hHkbjQYM0X1Iq~K+F6|Eg(&v4gt02! zdSaYQV|UKrw$r=whA|cBy3n4gLNiDzk_fl?Zt>g(TvWn7+#Gr#9cm#NmM^r4c97rh zA#Cq#1AOmrdQQB1(2(^6aGvFRk025+@`cN4?I|*56N9Bh2{XcKh@*n)6MUhJur_Uu z$YZsS^BIzjv+THI5L^zze#h(byQiK8C$UM&o#>&-k&+J{igAk0;HOi0#Ir)DD>!y!!RXE zefZg%;=h58p^D~v2eJ|-1C9H&cM7E#;VLvAXb?TZez^m3)D;Z@$*97IGBxy63&9HPLnnbamSx zeFW{0KDV}Z^4^qxWuCs48^9l*Ur*_>-Su2hzvIBYV;2T1ONVa@pNInSi{bE38sYZo znA|ATSFQO1{L_pYb~CA@`)MC5|650_{}n&^&z>={lD)Nsv!aQUi?#EA&Q42K)RDpx zK;~&&Gj4RSsZyz|eg*=RncpX@4^~8|k|z&J$v`Cc&WJYBPQOgrl34UD&O`P(g}W7# zxRDklPYAvGv&r>x$#ddE-};-)_m}m7JBSGP^Pb^S8Vj5pPZblgdy#0s-qK79ddLX( zSd#MIoW?4eCBCxS^c)jtLn_yRQmEMW824hTt`LA zfv^__EMdIQNj$M}eYJ)r`5!dcIu1}VAqQHAb@ zT3`vyOYk>4ZkvMLp>9I{RWzH{S((8)Qm)~G1---?_Z|^$--xImW7jVdH{2Ws>#yI5 z&`_e(N!(|ldWA@H3(&zGYlbwj=(_Wsm3GlOooia_WZhpVh$PS0nMDK*Cber!dx1|L}9PwnvgAS*94Idz< zhm^aF`(IS)(aEGiQcV+}UdFhXMqyK`b@~C_nJOa57E}MC{S$daWSNuXAJmNV-(tv= z|J&#Hzetg)6J(@_8Q?>9PT8*>PtPkp_Esu719)()lT7G5HEmFTDA)Xts|SlsH0j1? zMPOf6xSs&uU8_yxCx<av??o?4&$baoCSz{wa2WXHae)Ok8G*RGPCsVC!9D%+<=AXP?M@_^@rhMv0N+M zSbz_IV_}O_lUyl3w%A@OXz}TXt+K#;N=V`L5%pQQg=R`lkV|m*^oJdmABc{zPwIDH zA#!ng-F$`$P7)3pUbKcG)o=$YHhS}?q2G8}bdk)t|D&#b*D;7gexe)sU!wcp)oTR* zCc6JW==uMXf{pI~@<0JoQwv)YVut@@87N&@BK>R-3q@CTq)}&+0Q!$g*%kO|a5xpw#2xmaA^84B73w!~Zt6VQxT)(HcJDpxW zVrxf!T^A+{iBOxyi4q8zODvcGr82iyrBZ>`V5*y}HgMW?jpDStT1gEq$ARTP7BBHN zfC|P47j0|C7wGF%#6Jav{z-4ZVUQQ3pS)y4pO4kvf$BPC5GqjKHWIg;z_p=e?&fbg zP*5We{p}rbm^pv+jjNV(oVe>nwtr1UY51oR2ZKs&kw@mZ;)}Oj8TOTcY)EtWo$)b1 zKuTC>jmdthFC!dFoh^PSE1Xc0bi8e>t}1qw7Y@`_%hm9=`b*GGB?U=xxEALXt0c4u z!bals)pz_?r<3P;`&T941#RFOIADH@H*N@_@o09JL8~YJW?24ftR?6*z4a%{+YBBL z3rOf@tP2U8B&Ssp-UXZAipU({gIu9+#iY}U-*nT>F*t)H)m-j zVKcch0cMsGyi+&Ollm|X_|aVB-WrmaAxU$$=Ux-`u;bLyg%B=f6*oA z{*_|?O0Z_F|1@gsVS8Xq9Frd9G=PB@X9Ng{r|}EH2>^zN7tzN2^NWB0DG>sqt)+RW z!o^0%p>kPW3I!Q3xuco3dTUG5s#)cu+@;*-8uHHz-%GbU69hrPmv{f~9rxcHFPl!^ zFIf-Q+_{{$eL}*_F{!To3ZEhoz3->g z9s*^(5_bj2zNz~p6uQp~KbCHS-G+0O_qQ1@doL1y#};~v&U}m9w#2ATVffxoW%$^? zwa&K_Mp}#A#Bg^|&iQyfVz*mQeZQCkeCUS2EFSYW`4aYxD0uG{N*^^ay=j4Z;xfDy z8~LJpk}`l4v4vrTK=B%pB_V|%l^|o0bt$MPCoOo(PBbWTT35+fe8gwYP{F#M4Z~=r z#SijwO`XI!jY}N(5HKaH_oyivXr}L!qQP|r+PBmFLt@2Z7A$wUG2-b&)FS{X-lZ7$ zBm7a}3?Y@-SVXi;S(jT{M77eplrA#Q4@Qh2NE#pYT+SRxolLD=k|>(;dMG;TYz8XK zCmPmOqRYlK;VUa`v~@QW>1Je$G4#~nREwbsY>qB0Gc}E(>+e}`j;spnVdmT>O77jD zC|3qGS(D`S8bPs3=`pZ4In&%yaY_OH=Su7=mn~bD-JTfqv ztLIF@ODPy7X$FXmVqJ+7XXYYqZ>yt+%|upOgbPvOLXNF}Jl_t%Rkx!Z;(3riyJ;9a z{kIX#Q02UIm~|(NmsppoBb%MukeLrC>Oat<=SY*PpA?se@;p_TR3nV^qoU_JU_U|- zFr*Hef7q+dQ!(XL34@jaX3a}AA^dkFF~FwbtloL$HbMmww+f0jFEiHB!>L1$h?rIf zPYlx4`#6fD%pD3&^E9U6xQVz{5zC8g&CS!u7)~ywNJ^zk*>p;X%OY7PFzeX$xGB!}6OuzsP$OAdQs`oq*oI1#@igdc zPzsxiW6Dp(LG>F)ml3_IY?EmgvGphe#jxj`>)1;)n@po|*`?6k`bE{;0HTNPR3ong zI8?>34w@;REjT}Wqz!zDydhxc-nWH zzuMvveFrfoVF5NrSpqR{MpmF$7Oz*0a8X=DdX3@W%m?BQS_V6nw1l=NDA~>DrtTZC zQ1aV%mhg)#vJFBeD(~Ol|CKrmYY`YR9y7}~76iblHJnW}G^8J8sN^TbftY7%31g2D z3wdjvZU&tS=0**Qv3ti2P(oE@M}zE9 zfSd@ZJ(ft5gScDng^g`XupWbUeb7$Xx8S@*z9^I0fuSgk0$>WsA{DWwI2mtPgZxlb zmSV`8+o$XmGy!)DXrLv;wF{O2m4;%q0AO#K+hbx-B@r6r)@{rNF6F6yslc{s64W`>DY6HDzdukN`q#lp#Cxh{LA#s12)+a>>6+1lIX z4C=sjXjS3sv7|BJsDOI=jIVzvn-BPF=rOn7s5K?@wh{;D40TXWg)@0u1ivd7JMd_N`497(`G6i^bpvYeG&+u~=v9TP#4zy}lg-)!gP98wC(F{9 zYq?ZO88h;YP5XPbEjz^>!k{x}P7Z!xK%1JdE0S2m@A!zMYeFK#=S#w$>2|L1WQfmK zgm%PPJ&{%7w!^fNk!3oEJN^n0)BG6yP^B6#2kju6WFMUzV1u#rEL-a!y=+)SW$!dA2BR{nB%D@^`kd* zleYh}5y3P&%_MhqJEK|}quPo|P0fV1PHKAxt&@w+@o5H$HrIaa+ynvRO<~kkjdsg2 zSy9=7^AbiWtJ$T;Br(&Wh~z*HEu?5fr+)eTb6qKp+?a}~0kZtHt2;*&;=dLc$EJ5?mW@fi5m?RDCE?X)cpdnM&`J*Al=B(G>>rQ$zqGtp0*ZOgBs6cVc0yXw!_x!Wcb<14A`asriQP+EA&^QIP_b+!K zfVxh$s&zuX$cVu9CP#dlq5{^&h9O+#--*W+W97z3MVXWIUF=H_j zKYRkH&Vb)x`=&K{P~9PuSFFtYdoJ+rT~5)d-8+a@$#{UVqO53YuDA%PToYP_>B+*h zHsDd^$BNG}&(8;C@&ZY4p!?Go`iW*-!6tN9RkqL#>Lx}nqvI7)jSnRl11u{#rIP-L zS6|5#Ad3!brYfM~b~ikU2G#|UCm2|ygH0!rHzt0bqhb=M_~;zn6nSm+ck!yrD< z&>#gzFB7gV8Z}mhx?tWef>%JOht08C$6ft8|FSom0j$CsVDXm4$%RR)2zJ;m-@K=1*30HptZZ#BNA68z~ z&mC+*M7{3?o`AL_+?m4b^kq+kb_I%RQ9N@G&=vH3UCRnol-RWe3=!0;YAwav=i9ML#rM1#D#giMye8+mQOB;PN1pD-GC7{_=kgyY&! zR9k-SE`$viD#CFY=0w|)x7$dl-4WTMja^6EP}S>SZkzyVoxc)t`y#htYG0L34X_^H zm{tgm`bDx2+OlYBzFXMiM}f4ms-MvOJ1%_+#-Q&nORb5V_+VHa7n((p1nzQYON*E$ zNHCvQ5C$O6wu0o9FrQh%{#ws|Kql4ZBg)YjB^ji9^mJf8pn{yp+0FZ2j zdOPy%)+5!ef}HFG^Vf^fJ-S`pq;yVbU4yP4+2-k71Ft(rH33PmB72s@61%F)>&-h4 zj4oHo1nuMOW?hHuJMxQ)9dPp(&7XtDE(n#01Bga%qYnfor@$_&mL+yER&X6hC>6BS zvR?`<(k9O@;HdumgUfYeDMzZ?{mY7{i*HVM^b4x$Qoy=Cv~CD@7}YZu&PKlfKeDL{f*-CoX+sTZugH}35x z)b6WV^@r&x*$6;-Fox8R3w0XVKzZiRmDv_DAXujrQ^Bb*vE>P+E;F8b-DrhKa?Pl> zys-2)9}H7Z-YmeN5u+)3uEMDlrY-uqS9sYsZHJU>ouJqQ0A@8WSoK+eT=w28cAMrs zdD_>z+ZWd3H(}Q1PJUu4yr*7B&R>7x)7;yaTK?YJ;-U_!O_y5xmF_=N$f|AWe;~<} z!0|0OwJxZ^BxZ{_?;PT}CPc4aklKNFAZQVfa-9U9b3KDD-P>6AI~vtqt^uh~=2Io3 z6JSMwWPj13*a~fx5vu+N9$-r{+n!+?#EpC3!47}`}`FU%a>33 zmSle(VD}VX2clAYK$@+gKx-|JYpp1^F7?_V($xWzr;pbo?duUe;NFg%-**?m zpXsw@-Acj%H~Gc zJ&^+MBZIu-rW&%yj*^HS3t?b_<*r%YG?WuN~o!;8tF9WVrAK2 zgUX&ab6r&=sLR|g!~V&*2;X!L#Vis$UjVd^IGHb{7-4W*i0fRPtPj%S?c~GFuGDp5 zK{vDEkS%6-#eP)+EoE{G?H_jd!h|c0!mAbr9p##h;gTjCqgIv2Iag~uo8WRA9p>v< zjgc1y4?(=2zPUNpdvc@fxskI8o=xJ1d8XrN6^5sI#j05pzv41w8L|x|y~)oY_ql{V zr9)7`3Ebk%3k&_CON8+)i4h1&n|n7H<;o9&p;l(p={!Q-#PL@w=5#fKg%t&y+L8wj zNVHzi%-=LT0~d7;7xfA&PJFg~CDw+a);oYp!lY%Kee_;XY9Fp zM{zze?e<&UnS4jh9(Z}hD0tOOZrv?^>E(so29MR{K_bP0ndEjr%mN+K+=IT{p?sLf z7cr`l+~zEYu;)q{^UeX?#N)c9Ue>yaLCyzqagLpwqCrdsQJ0ljI=Tw9a33BXtK+n5 zplw!@Xq*gYw(DzbzmRx;bnJpdXnohc)MD@KYiD})_E>)UdZ%yE@#^bQ;;+PnmCaDe zBmbE{nbP2K8VDPt+)@w|fl%*g4XVdEy@~%;ETnW{lQY3*o8Y|hs7UHDUERQ6O)X-< z{$-&Lj7e1_dL~LzB*x~!S)TU-IvT9dF;|IYBjH?Vk{cUIj?{o3|3o83*r>P@CE0sh z)eYxH`Y4h7o-lnc)^aZe&ti zU98={BwN1B^2-$8N<2!UY7uw8MveG#d+Ks|YGG`kw+301MV-VMTl~Cj5Fns%SJvaP zSKTZ;Ft!MVC)`5DOmouycqNnIa_Oer=PM_pL{A9_FnqIWGYe`{%QL9NOOS!(qqPIqt)O`7*_lcIE ze>InGl`J9ts?r?sm7#n_RUDlxaehZe+(A)J`zoD0L|Q`i7SSH1E;WC`xj^+6T<@wa zb$@28PyJQw-TkWocaL>$;iJ^u|Cja8XA6Vh4h!TP->|sP4EoFsR^zLX5wEW?^|4%3 z;;WJoiLdG6!-*)@4b$}A*Kq5r)Bz-~{^lfD^hOfnwQ@+kO!~0y5krom#c*!YjGJyT z7F~tkUB)>5wkpAacd~_7$$NTHgS605h6UvebcL5w9AswU;;%+Q7-q8a{$mHrFb*x0 z3>M3@c3~JcITev(N|rxS6^KsVlq{JlgWP(_>8a%m$8gH+?tz@cT`DSRzbhP$Sy{Hb z2 z7`g!TfX3~R72~%oql)_9SGSpE3qWMIBr^^cx6Yn7j-Nf_B`-OdXyzpqv>zNRo1kTc|cq6FiQyv+LFI~!Z?s>(I(Oz}5OrPX@wlp>tJ`r@FD8Z%v2G#&2 zODs&?%sz>aHk#MC^KSWZG+5;SI9(Rdij6#NG3S8?@_@PH9%(9@oGk>{`nu&;CGhJq z&vJ@CP;jkH*h7`dUH1jXb=vXbTH#f5iPO z)+gHv{vo7z*-*#lEW=0;Tis3{Cf#bx@UsFB=?cDZ)s|^HJc$r-BQ~}bWwWXTVsYA1$uAkA5JYE}ggj7(bY@Ix>7KU&%PyZ^lH=Eu#a=C8WeBf>TLp<8cH;SGVRML@m$} z)8tZYNgzY=Y#r-w)RAElONc+dHhJ_q@3;k( z%r3ABMId)L5Vy*2cq4EKb=K{L0P_r zM%}sV`W|+?Oi=dWEvu0+ERF4|kd%Gomef`co&ulTn-6i|HIP<#>Pu(tw6$RM=R14^ za_V@k;k}3m8jXyP#O?|i036^3T=6F@yrUYTBcDG+dv0IQrkuXuH5om@3sPF#2gKx8 z(*nYQ5;y@Fkcz=ow^#_%AuI8wob8@{3$HND$+$%>Ulv^suY_$BXDGS4j})wUPrGh+*7_L)oY(bkLNUAW$~Vxr%(Jw6K4}tN_;29 z5ijke7GH8?EK|KusqZm+^dS{`bN0>@X!zn8FyFE5BXqvAVJDu={5Wd|5kRqnD4g(N zoaPl*@*PI&TY&v!hFP8y0+Ew{u;}#T^SB`Sw2~x}bxphP{2QT^E7CqjMeGxhj#?paCKHJ_T ze9s2H+eEr~*|WD`J)ejIZrBrJ!_w2%j=wjzDa5)mbCBumOwrQ;np!0&|FT~y9m^P_ z!}|5BfaBj$^O*kcV6UKo)Bg+bwXs7KfcHTq2XjLiOr3w9x12$(Ix4VO5RRs3iG%ki zbu4H2YQl!n=CPe}RJ*{tt$o#yiDD?>>%%k2A_3Qvmd@Pl;&x)1nKm}_{rYwQ)rUHQ zw$&$yMuxPwM`h7wv{wq$(%fRTAL)Y}s9Ey43BJx7+tDCw0OdxP(9`Tzs-!!V4>}J- zp@e)c!qlXD6=zp!qI;JF4_Q^nCU}~B>h6QeWg3hu777{6xtyP|9)J?2!gLLCbQ>uZ z?;+5+#&bNf;D(rP6}s*zCM9KGNQrk8nOeZtI(rHe$<^gOCd(pR>U%mGg?g7kfHhv} z(*dd^y*8Q>22GW&Dl{($0)v+77<_i0ZPjYPX%EaG`?OV|D3`WAZ3-o4w2m0fk+yr0 zz3N@qSU9`VKwBmPZNvo@yn6FuMkET^yi5w5uD2HoiFTsLTs2<(w(IYu!{>03ZNodW z%|VtDi-xM_DXy%#QPYy$av!L3GC&lns6n&$?SgH>`^91k^UC3iuN_sOAycg8Zwd~euktq8jnZR&X{s&708&OB=Qg7t3p`lrA^i? zolvSCLG4K45%{8iMf?39Bn1?Sp2>dz-^PCn`2IVWum1-4{*z|^3Ho}0=_d`{zfNBJ zylm;vwl@U^0v7`d(&kG>B2xfB1QCYw3(v*{!2@#WM);S)p?F8kY=cmfOAdzM14cyP zQ1N$HT!L5W@>hGP`-2H{p%O#9t5e^S+Mcz zcu?)utsb5I>o5?wr^$2mWKZJSU*qTQNuRj2Skh18+>frLFX~1;4x z^Cl?-4ouzXeXzQhVFE~8?bN7#WzMV&6Hq|ARBWaTNS&jX^yxU)!QZ#hSe=rewu~3F zjku)8ZU(^5MRNvp5)5jrFDV*1RUyU{J3tF{ekCv;ZuNA}iN)WHSok}zkMbJ`4a}p1 z{kr7+1pg0Z=M>yo5Uu-QV%yF?ww;M>+qP}nwr$(CZD-<%dFSBPeLHpT)2{B_wf0Nb z?(Ws!`hAT|%fkkcy@&7bm!S?()Yv#xI7o`4(s{ayzJd-5uN5XECMS^U(eXTV+I#ED z3VSR~h7L}wYDU0)U>a;j)60vAj3!4W%*3P`GbKl($>n6|7MUEr)36();e{(K_2EeXGKV_i6&F# z`XY_Z-WiqjY9=Z4R*EK*aM(^ttbyj5y~+6Bq4r7!Ka=)f5-V^qEeD>z*uu!hSPNTw zTP;wDo@TQo`i}-xklTw}dp#}xCcdq}nV|i}P?GYLXm2#UpNnTLT;Kigtj9_R$xd^@ZaM%`$kAHZ;K>oF=D^llK(zfE zWwEby(QsuVG+|rihV@k6&iYQS~8EpjCP4 zKo_K4WHz}V^`Z)=fNGac{E}JAI)&q5cT3EO%F2^Wi_8=n-vazHTk1r^cx)M~@NOxh ztb&V@%TVH`Co;ofUBWAz7?5|P?Hq{B`mV@jT()H$2(6B~jzE+CV=K1D(Vz(xxwf3r zF9*e2*E0@W-R*Td&-T_{3-{dupoKwtfUFZdT*S`TD!GH|w^ ze=eYW$>}8sg_QFTZ&`WzHyZU@BU{KOh;{_8T9<#-&Opj%m-*FF7IsM>MWf{sI!!(Z zoD%C);ELj2cd({(J1Ef%(rSPRx*vpQW4Qt@$an!QmX>H&9&Or2V?d*@hNQ~VVQFMJ zT)Hw^Z0&|p(dp<;bG_!D>1E9lvZ^9|kCbKV-TNu3sx-EQ@8Wxx=KRUcSf2d*sKZXV zI%tfxg6)FF0!=EGu9D75XM+%B+oH`Jez5uPZuL5e#PF0McyQy2j1kN2YKx3%anx;N zy7G$nWa=!zjIQ2J5xLkgPgebOYk2zFNE>{P>M7NpP5y7U_%EVK8WoB87a^lKPG>eM1- zqcdkUS&551^L|j3$?ckasMsI?atFSW)Vm(-Ce;X=uB&5p7>N%zqDY!2@{&VSHT1(C zHv3|zfeDAai8v!>42q8jn=XM6#h7gYg8P6ECCY~biabmGaEOv4C0WpTGHP&Uk{8RN zzd;&qt!iginOcX;%NG|8xhcFv2CmuED9Z{%O=XGry{J2~wk1Z#hXbx`>I#!!wqMbZ z3_iaP0Y4Gt4oLe?kk~$7aJ8#@mhM6^dfzmJ)PWtJJ6PHKzD0-VPwIwLV`rG8J5A3> z2FKR0BLP17njP8yCJ#u?Euej$+5!B-rDZi?0B83Lpad_~;v+r-z4 z##YxN@D4 z3iDVf@MFw8!Mc-TTbsF6NobjSfi?00Nf1OsrX5F_m~ zsb)8_W_krn)mZ#QHn5dN!CDgJu4JJrf5heysqS1nCa;_!ibe>=BUQFEC0KV~KZhQ< z!D&_w9B0$9@I?w|!m7fc8%eFwI@dYoCb+MTEVKe3B|Y_N3wLzM!olBoUZ(MkWMhiV zBg%Q3w$cbbU8bM<&qIDb2FBU1UOp9}k=5V#i)GNF02&#F-7iUqb51 z9=zC(7oQ4{O&YhQ#CB1nImTX5Db?=4PHa@{%4I7=<8N8DqfIYF`$b?;Q>cTNvSWgm zY>tc%pcj@@v}`apmc(Y?1af)a>csAQ;?wEnXQpOV;gf4P&YgS&>{t z4K#FY{&kg|!llZ$)T9`7yhNR01D1=1H1T49dE!DkB~^}E>hs9HsS#70o+W<3mK111 z1Zaysw&$!Sra0`gKE$AzOOAE1jB$rH%R!F-eFG( zA24Olfd@=Bh{l0eJ51FMjWL969cXpO(vGe+z{NwbdL&|xq6=Qrj&D0kTaVN>MB9#H zJF;Vsa}&UQXR;oBJAnQPdo%bmp!$i{$_V_@$g)1+Ip|Z3z|#*tBy=V2o*WZAwt=}m z6B#~~lss#{#KDF*R<@x21FSZ9p?o;3SF<9jjbFC4I)uH`3O3uac|5zcm4q~tGHE>? zqY2{CH^^Z8X}@P~NP%VIiQ$})4A?&%H7SlYU2 zpm`(TWe3%a?U|GT2l7Wc{3=4smyYN`11dr1e*8x^+}l;qm>K`=EqJ^Nnb_+nK~Fr~ zTUPM6*!>s-h4?3Gbxkn0IHtK-v3F%3@Ridcdb>Yv+hE>3hcDIl?>jA%m zJd>Ifourkc+^L@^)88G_DsydHjwdO5#`Cs zCRnTz32pwbX_$~tr(5v3on^Eyi2_Gt06n1b$8;Dg!d(W>{K>yL2BSA{Xy57__$Ord zPDc6GWA;)P65|4%9rN+#R?7>{2f zmQpO2A1jxL`GkySkw#Vx==1^m)c7FhtC=<;l6CF$Djwg~_d1fB6o7q!wxr0`* z;fp;$USlACWQ8^nd=HsWkhqBciO7hAJ-hj_iAuALYJt?M2M2}`rts^MsK7WG07`jR0!c+l2{&9Eai0Jt6JLP;FOcZSOF@wL9<|PqXVOX8i?;Ys2LQ_UyGJ;rRDvs1;aZY zh5M}KplB@00~*H}i1`tczyzED7U|G<6BKFs;L<}tG-L4gOju_v>k+W_=vRble|33a zb4P~`G_Jt&4BcLFo%S)Vp!y8xO7-oeM-W|yy<3!nilvcjb*ZRo6r=!BRu#kLVr{Sl z$nZC8(1kIpUKYnGfD(szo(i9&A(f~vqJ*YSAtv|okB zj2j85#_jN{l>ZDA{!|R39^kMXywL7pSr+{&mP_`YE>x~=G0PHuXh3P4{M#m!R#Cv` z(>h=W}l7_=@xy%nrPF|AJhO5KCs~USIj691C-bz zS9IV72lnY9W_s9>J`s9FKuGw)0*l;Ug1g{Qf;kUfBy&$)YEGjiNDXky`mpV6_4k;9WsZ;ih?VlY05i42h5m zGwcu0QBBO8JRh=j16+aSyW7Cu%$nNH~OYJCi7aHLhSFxMv<1%HQ5WDKLIli zyqrGfmty$Io?45-FAFnJ9&z?Nd!VOGLcaj#L2{em#E>n@l)<}x2_)XE>w;*)|P2sj!-*sRK1$yuj z9@{2}fN01h@}v{_z#<)}rUxwKCFuO{@IhlZKvfMWEwY&$U*bakIG}IGHXY#8goWL4 zxFetS|8?i__IEn)%7)-SfT~BJp6`E44^3Hzs;b9PJtEZhKdJ{O-xuV;#xS56hov1lcer=&!h^Lpq-0P39R$Ubg5}O7 zHI!0~k~{ElC(Q;jXGr3Jh7)&IkM&B=MlhGug@PdfuW=I~*;bOoj-uE}iz2${(VHSk z#}x8+-;}CDqF|b=&4}pw$Ku#`M-V`OD|NG9qbwP~$pCCyq)5dB1(vz{S9qszO%fBm zXA5em&<(>tUHOIxuAn@=_NLb1B?+Q%f80K<<-Mfn2NEX8`3JFzy_$4R#9$s8ZUM8T z_?)KQDS!MDgFaXxbMnNQrrA?VilnW)TO0s$<8r9mVPKrBY4(LwkQWmWJ2KodM`6$r|_l00V z!8;m|5T=Z=gx~n zB08Fnw*9kakI<)2Dv&NL6SpR|uVX{7QV~b8_h&9P(H;f|zVb}ks9?h;l<`s2Uu=APi6W?wu z&mJXd0QIAo1>`2oW|AKlX6vHv5rI4re7!(cL`kA(+bAb8-TpC*@aIglg#XtYKfC1* zITlaQI{n>z`Fy#&xTnC&rY>TISsPc4X?zV?6Iy*NL@nAD5h~}NM+yF*O))|n^^K?o zMeJINffX&4MU4ocrlq{N1wDnPX5_f1#dRn$0ytA{b(`D|^bs=r>K{Mx1b9f@{SYp` zwu1@%#{bhF6U+XKl6^*bHbM;Rjr63Dlp1584%SyQJ1eyy5BQoQeE@b-e*oyZgmmm) zJT=C5B^~{wRK(NqJ=|$&vurojc~~aujCZi*y41wnI_?^2xkK z8E1}&JpL^i<}Jtlwyed%Z5C!zU(XSPu_Dp!=Hhf+qn+kr4tClZ$EAl4Yalt--`Wu0 z<`Iz`rUXJnPzZQw_k8EEFG6zLU?#7K(}QC9=maH2`$qQQP#YcXICLZA`=;K=H)Cb{ z0^XUpO=cJ3?GU^z><4D;DEwn$cQD>yeZ_rx zM{2KdH$y$J_gaqAy+)j`yniD28-ZU@sE2*3G5t)(j_R!GzGu-7eOHI&In8C}QD#@* zHNmwj@tT2h9%&(Ff+er>J6h+-11VGwIj4&V$rz zahsFzRN=88beH2b8@uapoBMKYYy69ZSMx83P?+VEfK=g8^GQA+$)g3gnT1D)+Z?N1 znA;rRdKq4m$#xk&Ga{=wC^gv43Svgiibr1QP4-{Nnb{Db%~U z*%K8ZkEwvX1upm`nVxwxvyjmgD>IBok}XkVUf1mluvkoj7YJC~ehZL2_FQ6fc#}WU z|C5=9hXh=RSqBLSIN`wVf(!lgfYzDJ`nx`>DKigSRj4)AYaA4*0XW|Ra3_knx;W&} zcu5eHnp06Q(>Q2f7k1e=%kgwNGSKqz9F&`D#)#UHXSM=yEev<{k4cLg8LwnOkS#`- zF-e7DMaw$TprtN$oN=YX$2GvN&w$j2x%jJTAodn1mFVXzj5IQ4xD3Ew+2f9P9&)V0 zjWywOBqeWIufoXbcf>+8qM8oSQ42<+$!6CKMl`8#IJ92KX4@z#XVbzc`t%Lh&u09n zjh|@n3)S+^B+)5x@j&MLlFa8p@(4qK08|7!6(?B6YYKwfpsqwErzqiyZ}du>kxB;a z`?rE6sEBhC&%&n+?hg|&641AtY7`(M@mCEqTVFJl&KthgG6#!6uJ5UT@`S1BaeWvV zRDxVAA;~xqB@&uK0^`r%a4O+)D9W|V+Sr<-&C9tFDB5PzlV7=lR1B}8r+w20QPU*HsZO*pfXUvvoVaUI1i@8ZM6$@*+&)WM-K|9(QgMddEclFlvJc^+n>hMZ z9m}+HiIvhSij~SCGD7@7b96t;J1Ah8D`$}#pS-w2U4U8K)V8_^2^M%8Y|rP>at;@G zTc@*~*E!E?{jFoTQbflnWvzmew;6mE7mYC2CSG8{sqddlOB4Z>G@SjbNCQUNa7rKB zqU++ym?IzuguD^0K0GIr;kVuyY}+i<{8|gt{Krw5TM(;jQ#Lx6c=t4KF|(m@V4?5x zP?H4^fnuk0)ma;*MCy5k?=uQlu)Xg*nsfq@3jx;qqkgB!`4WQu`4UN`R-P)^`oVGL zpfq=)w$i#lo(mJ;3toVIurBiQ zFP#IddlGS|wvJ2=$dz?w8y*RfTlrcV%R>#$;wFYpeOQ}BKS2mrbZ0X&Avst0Y16Yr zP&Ymr1C0KPD?yGponPD=BX^Kp!P)In2QHiHdQDRaP1NHNUC1)6*v#wLJlQoPAg-*l z25b6&F7!X^F2?+;2UM=Sxm)lP8+hWlwEN)`Y%eo zQ4eA3NmmBX_+G(2qxdEt>qgsSu78c6NpFX94|mp=yn(zzF&cQic|O?lW^>QRn4h#T zwSjx|5nxr}jmdH}YMLA&$_Y=5b@-O!7hCBFQse(v=$Nt$n!IBha%$((Gs}jkaP9ly zUv%qSdJgoGO$dKv7K4(Z)VkQj3$(AE2$2uA&=J6sbDQa~pw4S*DDwpmv8JeUC>U+S zk6lznbmdDQ?Sd-N!mr!=_|B59c~^!Az`qH@#Hz$ID&W>*r&rWbr}jJhge*WNv80HV z8xQbGklQ|`nyq8tb}JnR2F*zt0Q)$nqV^<3PM_go&WZ)=B=UK@*)ywdP; z`;J?KW~UdxUktYPTT#%yeMVd{@iEX$>jb#GzUU*M#Rxj^3x?WEKGG1WookOz{OI_m zxl!V7l{$lw-=tpA0Tb6+_UHEp`B;xrm^MrsE7AI)CTh&^`fALZEg#NIFzW>qnS-&L z&|suru>uHKi?CxXF0h#{k7OH`&R4#Hkbm|1^K4#No&2JkAU0zZAb3-Ar1X;k64%w#r6@}B3uZ9Evvs` z$uAHH3}L&;a#Q#XU-rnle&9F0+$L`N5KN9)<_rmhXg_|*n&u5sJ!4s$p4)O%$%rI|+@bug6(g zg}>ywH}~bboee?k;G}!A{^dA!lg91Zx83k@61zj+c66#7IXr`r2r;kb0YnLPc&b46 zd+YbZyn0glIFxzRa?{RhM_CS#XPGO=d9Ew*`91G&7f6JsIeqZW8;sHU!gqhsU3xEo zFLbl`O?GAv4t%!*MKt*=taWHyTv~z?)ElV%wZB}ivXpD~Hx& zYorN~zp|X{;W{{SU3=J~N^)t1p8TZVI%sy45f0IlM;LU*R-bfA-}{WpKhvUq+b<54 zZ$}M3(UL;r#`qdPSeibGPIyJZ6JlC3x4e zg}(mOzP;zkJv*@U#s-kS-5azB#KqFx@D- zdy!Yhx}m&R!_OFcA}4e*r)T!lQ#hIo_D0$62)xlO4TN3f2-rqka*hm8xxn`ej+9)G zkFp~jLPEbOMwHmQA$oh3N9hKFFT(u-=F6p7h+kgjYmyLNsoL!kM3lUj5D&C&T4@NC z6C{3=^jSPw`pMgVK4LBsE;S6R0u06cA<6g&@2HC|WIw#iCD&!4mtzl~s0^?Cgc)`I zu)b8k-Yn)*^5A=3CC|s^{0)84lkZgQVfi6UAN)i{1kEmxaEfp86i99$dJZ%y9q@36 z_aMp7tc-L7+dcLoStX`kZ`t*v7M8F6NoY z`Sdh*rv7A}d&iYi9cvzx_{GpV4~dQG~EI3KTfn=+Q|9|)c!^bjbC(k0|U`=D&7 zuEMIfc@Yc7Vg$_loJO-cEnTuiaYxI-?3O^?l!E?Ydp_N^Fn#5(?Theu_L5k;0af(+ z)qIZ7PudG(`WK=gl>e91>(Kl-LBP^mkv)8MyYZI*u+ru;IF4>B&08ef}i*g3mh2$2wFmM4Fs#MlH!9L=t_{ zcDz^7vMd+NzZobN)^4^r*xFA0 z=snZ&{pz4(P>JWX|s5&+>f286_N zz9vk?<;9`KVKydy013vsvIzwb^w9e=eGWgQ(Z6ZtAHCowpDvArcJW{yNi^eH_Iy7G z+LL>s)NkDOw0;P-$G1bG-$d4j1VcHW%Q?y5i>4T4Y&>yTO^Rq2A(ucn$AG=&Qx=qczDY|NZZU*7+Lh*hDCB#?q z6->V(#j>SH{R+%=)&>!kW9bI}a`CB0CcIg}`yTHCN zizYme=6t5n#c)1Z1Jjvl8vj zB|^0v$zqOtVP84!&n!%qP02L~MhvMIA!{FX4yz^1W{shvA9fCn5M_H8eGYFIg@4y@ z4y6~adsi|Z)IKiu0n3Pc*ir@rX?tUQj<`N2a}BrA?gz+FKk%i;_70BTb&L*asn zmghoYFbQ5l(%m;8f>$Q!+oS~XQR|LCig^1afeSibw9g#|^~5gdeoJ3)Pb)b-5PDyt zg+AwIHrbIq4D#4q5~WSx{#5n68I0`Of8q@Rc(M2<7};ZvqeK`=&GS3RU(D2bGCpPc zcWDPryl*BlyKiM`YsvCR6of4D^KU3W;tIaHFJ}gC)!!C29~b#we%|)!pwE89yk<(5 z27u=l**5iy{8y!)xG%TwzJnvFEFs4T9mlANK+3iZn)Z|4RIs@1)yDmln;x3-IdRYo z$E69&$j#y~K>(60%}T5CvRcz6%x3U9w31}gO3tMvj`U77BwA%>MeXMHh@>7^kEFp9 zeCMC$fBFLa728W!Ibn?sRIrdFL$9Jp*PL(R6i7G^K z1mj#&JVJ{~V~9Xh-`mc7c8cZzd!-q(m1Ls>xKeqkN^6BNVb+YqD0OLOa3xN13C45@ zPvr8YL;3kFtr^$(wXWF<@)kFpVhD+?QfwJHMaz(;YGC!>ws5EhYDxF&cp04}GGr@c zPN)j?cO>i3?B^}<#1tv3u80cg)SJvB7|RIr-~zFjAiN_Cn1s*<`IzuQBjQX_Mf!~t zfkwmb=>W2R9tRd2GShlN#-tdurgdWnTxt}jb#2BtT14{tdX5CvDCkzfX|u9Os#Zzm zrl=9YR?+3gCqtwyipzEMhV&i4<%SROG(HNPb)30zT_o9auDNMmc+xt1VaPRFS<{yx z0Kx%Z4(ZIPuRYieDed9rkZD&;dln*!`ZeKDl22EAq%3^JJ5+s0YJ|00P{ z)4C|yPa6k}pWoIe1d({&dF^7w;a($<4tX4sSI8(MLxz#=!pV_hA|dY5!6Qe8CGLXR zw7IBfQDwuL_s#1RxkTq?BSMA<0)2$8Q5Yjmhk*M^cMWgxH?u?52DNUw=LmM#H20;u zaJOjG``QJ8ZZll6UG|5OFj2qz1V(9Z>uB^mOr_znQRn**MkQ|xT>4%n%VED5z#&eN z!WFA(xLr)su-j~_=&ON;G?q2F?j#~iHU2L~Fnv(g~ zik1SjfyrmcI-F4r8_5Wr#9tfkU&@{syPzzyBoO_DpJ2BBFC{PoeItLW`GP+qM=pnk z{RSW&9@4s(tH$rOASsFe@i5|+!EP8w%}=C@hiHz(U(?^m{XIsJ?*46^LW_eOn2b;S zj!BBngw^jhSV5WenQK<3q7If<; zc26>2S}KE9KqpakEL*aYwj8oDN^@O({g_mvc>yxfGvj&wNK${3rxE$(5+5UEM#?f& zh@_Yci%R8UM?Cp~UkKo0XQ;N%;`fY*8tc$}zV4}nes)+If9H$M(7WVXIS72Z)38Ze zCpw}dL`YYmX+5-xOE&(Xi-e2C!rP7i$V+~L2MzmTS`y;gFi@~_C@*+iDGvEp!C_c4 zNUs~W8+086ki*h<+ma4wi86UhcfD&3A@pHYsOuLW=#${ZF)`T}CPXa70HtE%IpiV@ zi-?l*?3_neMbmVTkB_p7VrbjphT=rmx>qg0vE%IALlr^rnH}#}iOP8ojgQ1d@3yav z8`*M2e#CgME>P&}#PHD=KbrVNe_Q7>`ol4UH(HD$S(h?~&oF~GK^swM8N(XIh!Sy6 zU{*Y?);SYm0{>YSL0kkjsp*tGbpG9;t@8_u0gO%=Ly9bUkn=Kg9Q4FKv=dh{kZO^* zYguK(Yd*ii8&--Xg}y-a$QK3;`-MH-!eHOp$793+U%J_Ih-xti8WaObuM(j<1s4Uz zmihRi?G~~25{}=|zK>9Q1>&Z~VdM9pioG@FfhKOe=D%sC#WwX1Rm}mtec5iaCp-}s zU1FNZ&LHNm))S@8c^#%ZyM@26064R?;6LV|=dRqsI>WZ$FCIA%*})t+yhsDOPtQSS+^MxVsi;-X$f`JP?$Td24gdOi zI*w!GgLqqtr`PY~a$t)0L{r>ZPfN94J(vAK_z$R3S0xuI*grD~Z^Qpd%FPV~1Z3hu zZ~l*;WM^$hZ|Y8OW@2Y!;_T=_|No#$|Dmo`{=bS_QehJ_N0a|n+vX_Q*e%MV`qH6l zcE-x|U+jA4KufDF%+Ly=+Z#b8)DIsb8-B{)4R$88QJO6Hov0s1i#E-DQyg{RVTVUW zY?GZmcARzmb4WVfCgAV$hNzFN!6Y?SHg2FYk{u;MbEt+YqE1(!EQc920+Tp!f>s>l zPqaHWml$~qQ>G{&VwQrm9xedDU zYTj_|sr??jx_`H8c1$3jL#*nfT8Xx-&@H_x>FJS-@jXrnQhajR&|mjtb~rt6uy_e+ zKf9Pd)+ok%!F%FXYQfe01m9g)oH_pw{yokb#cs$f+4NE zlWIYbo(s5yjgpAnI3a#kBf4zT=S=OJVQ`Cxl|1#A{Rl(f5t^>&ioJN@okW$5@>ew9 z7#d1RXfi3=qm^FoXQNbvYrAcE%>@*bkD6N*Mut`yLY}c?PQzi%VX~1?l^P&rVgCb| zhGLPjkcLPQ4ImQSh7v6{>VzE^FJ>gjzGR7YpClc({Gj}f6r<;Mhj^PR)z=p7O)pYI zDLh=k<~z5qSGx?IF6B>&-{OX5k4?E*Ff zgT6`VL3~KXMyh&5QzRh@o6FB8Mh8-X?pFqC76&RV+Jg*%V5x?)@TV+7!qVU50ONjJ zs*@D?9Z3)$d{=+&BRE**0MMVGKO!=X`rG%Pz+k0r`(DF;a&gfA(e8-l|9dL`H-}Cw zN)L4njcQ~K=d5r+SZ>9;PIo@n3U{hBmg@`9baH}7x!PE5iGx|ASoQ|A#myIE7pM zaUjkJVs9TnHi!2JzVGV9dRa`?6p_LM>7|sSR+_V>Db>O&4Xw}adewD)`E_l8-1GCB z>%{YKSrZ;EVk-^a8nH04qM=B>(sWTeOKe2=i&1swzHF6u+*&N#k9V(42>3CC(XO~r zK%yaXjrmGTHKo-l5+`r1`*#>WWJqpPIYfoXvWg%D$hq}Jl*^a~9TCTtMf4E1cyp_B z>tE>zW~Y4K-QBIljJ$hEWlGadO=O6_hIzs#g4+vNe+&lrB2=LU3WjKH)LZTH+q&#* zPnaSsPv6|+R5_!f0Nczhu}WjsbVWQksT8E9T3lR)_s;>>HZ;7~?oGv8o55PSoFU9x zMV6HvYQ%EJe~}`(YdoPL)HfE^JhaYP#gwz{L?pAl zx(v=kg}X?kcs9VRtTR2n_S1PXFz1Y&hm;kOueD35hgquA85OW4esQ%gr)RR$_wYzf zODyXSCMOl?IF8CL1SPQDx54`5Hb`(JZ(^R1f#sp7&r2xj&vQ4Z7^J1j0Q%1G5=?3| z!R(-LTc(yI!#!P`a$g{br?!+UI1AI6T1T{oL`nCFx0_+%3WyE#V%4+Rny4F>fgYX? z&WcZ%A}PFC68$q{N>FE%XR;A_Lq94^&lWdrj?ILKe%eX zr-Vpn8|UQW6eB-7KgP|W6f>J#$Z&Kn%~#@U*w+Axo+wKR2N*Gfy;`hoz-vYu7sJ?rA~^K*(Uvm7 z*a??1S@3ChCgrL>x9pKbR^iK5Mc1LJ8^F;{VL@FU-7Bsm3U1Q;# zL{q6em!`{LrRPFzu$8vEidZXGOrWA{LZP9=z73&q(@cG?vdKYTAwe0+Re-B9gLG!P zKMtsznewuBn_bp)mSeKv?+ys&vn5S|SK(>;E4VWWBh~C;fdjiJa4CHHS7D6BnOa76i@w>4%mBNR zt=msqhU5UbM&?42t@^^0!-{wC0LjH&m~oJ76#?Qx?$M0QZ{P!al{u0~mKvwHZ*k9k zr4K@)OgjFis78QG04t((o9(d!eF|PT-dricP9WYG+c+yN{gXsItb$+sr`Qi{f;5vSrb%Iim(z^YN=y0IZCi;z9OGTZ>ojdKxT%!35#VG1e zW;o9cCPnc{eGh(w_rc{cT;Z@OS?P5A7S#eIp6e z-#>v}2a-lA461jUgi6xEq;UMKA`W_9g2QP-FOw`Ph=!G~vHAY$L-nBJk;?tnczB+Z zw`j4;{M0I~sP4qo&jevsc4+FqrAymm0F)yban`OOZQVlpdOv7`e*T(E{DH1%|AomV zHK0*>C04GIW@-Tlx|Ev#3%OT?NJ5n1OWFV;Q7!tQN@DQVf_+}TK2-Ec5+zARHB$NY zT**IB0P&{gXmm1lX0Ai}OH=L7NkQl8SYza7<7Pi=rx499X2sL$yE>DQ+i4Lb($9?t zW=GTlIBBNZUX;(@y4$gH%pc`np19@0`Q-lHAiPk<7jQr+P>&k<{^1x{8~*kSiC6Xz z`O~3KF}MfNNVVgrW#x=aLaZSIPx@YA<;*xQ7YqJU?W_*W>3W>_@MSUPh~gj%859^zK9%5-hWwL%7^BR84W;0d*TB>{^n`*4Fj_gZhSLcxT7|x{ z3nxRKAcev?lnB?)f7E#q#=ihBo*;+b(KNe+?9wyqI=u#)TfNlp)^T<78z6CKga@BK zalLjYa*>9yUZYkrw+YU%lDrt1yMPK9da<3J*SPOj9(!JU-aE?umHw)LrhY5`H6R4g zIxt-rZ`fDc{jPwnfHmMcP+Kr~(69hEkU9umgzaD5!0w>@g#9=H>>zu<+d$j>yqjLR z-MKKwkEdVfpVhI>Edu66@=oT53`Ld;(%-qGRQd>B}p$W6B?doIywBWh`$oXCbrHN z&L01@)2dP3al%r7pJCR?;s zuL-(Vq+lsYUJQK>fui@Z{8-FLHGPZs{_s+yhVXDB8e4ZK-HGh=eH%57vcp*Q3YYYcLia?hR*(VxSrf)H=%P& zS|4IVc|CqW4!w&Op2I3V#7T~bkE4ekuH9VO`P+4r;i+Thz0#K6qKY-s!+f;Tyv1aO z?YN5_%YiLA^tZ3*9*woR=}@IcNK4INr|pW%*e)Fhn@p{SYma>8WvLOz))L6Q%MRt` zpVnIHS4t#%lK|xj7MBl087mfNCQnoA?zRmWO(8wY-kA1ONI|0TlItukFBN2Q%osA@ z+)lE1X6$P9C0w6f+ZxmKoT4q4p=If?HjIeoI7Sc>leAf99`6n>tTiz- zTo*CJ;@PQXka`&gUX7!XYS%^1vhPrL$yR{Ag8ZmzB;Y;mxMK{`aG;<*Of~Xm>vJ>H zKYxE@oRD53z|82>G{=ldrRUTfIExdZbe+ww$ZGr;O1GYE#=2o(?C1`5AR4ri4>lU3uy}?CNkYCf&#X%^k!>g7W zZ+D&-^M)x0KV*MFH)|2D60J%Fi1KZhtD~%o-0O_W_@_v#_E{;2YRSSLTH)?_sevOE zPkQ53J;4u|SbJ}i7$Zt?bNBGYCe>rxQN5J$&&768$50i|P5lkL)pa{_aZ1%?tAkXZ zB?rz7n}K?1KV>7ExgK%Za%uw0Ur)sf#fp;=^ID6RW`SsmO1fT; zEGrwWme0Co4;_8|2YLkroo1G+h~GjyFVhZ9Ac~_Iw2(VR$je=Cf5bq0$sIGU+MNJ2 z!QmOSZP`CzS@C`vrFXO*zFvj9g>6N%GCD`k*%pWHn(etauY%Z>PuRqVY?(uIos}y3`Ajw|#`Yl{uL02$Y@NW~DUUU1w~H{&n(?WEP2jj69~hc6xdF;5+wW5SX02=DGV zuPC2CE(PN4QNN|KP8>we-D|3n!Qm`S!Q|9#^JIj1pycMfzBT zkco%dr^)ck1)l5hNGksOnERGZ z{)mCkkr%=HmlFBC1Y-7VIrmMQ>~RtFj5*MZhmZfEk(D>&hvbk+A!XxtX(y>^{IE5l z)Dm9=i^;tOSwblf-_E2W#z}No<5dAEV3IGQv2JHU?ZN}#pYX_-=nlUWoj@9W@!W|s zp0qYT`mmoX4SP7j>RAhWGoeu_g>mGOnHYNbBiNn&10C@^`VFqde{TCwGe#-mJAVDt z?bmh;yxM-N>p?xw9J0r(*AFIlkLD@)7wduH4eZdl=Zbj6aiygYEZo?e7)!gD3t8rD zkyQ6`rhGGDA66*SE;Bb|;p$9p|J6Now8&DKPgy0wNyt*W7qD!6`nT&v$+fFi zV5eCY%!qN@gkrH+uID#1pj5tpiZn#SGo+Y8ikY+nyNPr}Ba?)3gQl*5A}QBRB8p}P zuP}uvDc5WfkoE|sk`QN+_DIP}=_Xxa@%CJt>9T|4xWgT9@ZzZ9YWMonekPA(qdXtLMSc&nR{1KrfT-=St&hMKDTyiMISC6THNm}nu_nQe3qDJDuqm*DDOOk8W2 zRJH{O;-4|Ye?h1j+ow9La4!&pi5-rLj=3e+%00M&0#N_*hBJx{EaG|*j&FU_^scpy zFrhVAEfhp2^O=c`t&~@mJFs>{Nq3zffJ~rP2bnfA`!bn)8c)7XB;O}d9s!b!>kk<@ zj#La;`l774@2-CXi~8(S=$?U~E>pfU{Z&9NiGq;7C#9 zpxJUOYG~0ddF2P10z={>pDqooR#a_xH$9hI@m01wwa~8pdS9NerAWyR&Th+y{+{}b zP5Yf@W!UL@zb)1IfBA@TBbbWg=CTQV1 zQ^ahY7O$NllJeSr-#9PuZQd4kotM#Z{f5YRWZ)bwPMer>-`b($l73-$>p(fyC3|7) z*b_mR51Rf8?9h8i)Z;u~qoc|X!+pfTkSW+>@(;`SjGZ8n#y6>myT7{4_zch^Fnb90 zY3M%a8PpJ_xs`}u+T=<^mQa~?37mqiknm$kfE5m^6mE*FtcZg%iCv<19J{eJz^XyJurufReQn0#DM@v#Dw39V31OcK@w%c zCn7_v0WG-<-d#ENx+&O^Rh2>CkU}iF#2W-LmG>hFzljS5<0A_X-kl@Kps2P5MHFM& zLW%+?;Ax7=F~iKp?BVi?^Rh}Ad_>{N>;7`%Q7l}Q~#k;8`3#+8}n zfI~+Vf_~7UN0Clm8XlNC-pH@QS~poBRZpFsrbL& z-bhOrd=Eglh1UQMK&i}?&21;NwEBd?u*^joefMynoe^^m z3e~)u*_iWEr2tT_iDvNERVdlQ2_Y?fHI!>4j>*V;jT+v}SEO_G8s0nCOMmp`DuLu6 zd11VH|3~PAT8C~)WrkPFh)=yp)f#DaE>nMJri=6m+;CQ!OC0=c6pw-SNOksE85`XV z?0wV>enQv={e7c_QY2lD==&hrNm)XGkxwIHy$QaISYnNk*QQ9ZgY(g2VnaJ;XAVX5 zCxM+9@Gatq)_kn&K+x&A)qC|eu_@RN@v0rtpEh$6`BMwkqXQXBBaV$sD!2o6WnuuY zZkdpT%t=`p`dFdBD|_W!c5)!+r(~z?E5Peja`c(8lHfJ^c-k}~l<@ylb|zpob=?C$ zNN6GzMH!lC&JZF)BhjQ%8Vt9(-eb=F>M?X}llXP-#kBN9 zSKn_&m)4#dcPzuD*F$gDV(SN|bh-(W%mR&1$v4e%zZufis@t-Roi9Gc+s7a4d~8?H zx3izFrsjIT9pdxyE?k9^Yg<{m;ppcWr_oy1d*;+ZS>S_n+AphQ&G&LGpEn2$Z}{HQ zxoxMrslqM3vO<`av2!1PZeqp;fyy`j$W>08_I16fGPot}h1$oSX}_-dZ1;U{b|bu8 zdT{=PxbX5xgIl)!dblI*+Q-3qu}e#`?WX&_H<~+buTo{>j^TcDQ-2xUj(b+9e{lKI z_;c3wa&x`*M$byJd;9+CyzBY4Zzo06Q&V5IFL68dwZrngvV;6$zU2;HaCP&qD^E1E z`wlT(YuHq?R3^AjVN|JW>6;%*q9#N<8f4OSL~Puhb+wXlmbYsYzb`$h=jbtg#^N*G z=YP78sMY<3Y2zu)Y>%)>kD8}?@4WWVKXhWZO*#QyGZ*U`#?<#;9Nlhz{(isiRf80r z*Ox{_9C>A@ImK{Oe2iInme%qw19Kmay|!kSs@<^zKCgG0MoRbw_wF!f%3BBd{8Y*O zgp>XUZR+z!R_zXdBzf0#<*FAh7S4Ie$ptwpKIgt1AQ$CvLG7K(#E+Hz>kA(_t;?$S zzi9HddRWqy)I$S%3XJYZ#GLQtdQrY|mz#;|?Bcc6p6Y|-q&p3p?d2{be9&i7;o+0# z)v|hwD1NtU|EdUKV8XIY+ppc$H6INq>Uu4;!GC#^t5ChhU%|OuXkdwho7t5fXOGlc z*I3)BMXx>a*4QImDp_vw%X|t=vA=5gAA1t=m;InDH zw8{R|v&Xb$YTjLM?xUU^U2A?UHo5D%1%>0T^s;_>x&3TdJ%loml_#`~B_*8%-ybZEK0j@T(OJiZUD$wek6=;QJl?UKYk?2#(*V zo?kn8c-@cC>0y;O?zrv>JshuPwlBv&Wv}-}^$WVbMjnSw_cpA0G9~Sa&e?Ml``4{I zy=Yp}C|+2F+p@A}MsuIf-1$~i;feoBb7Rw$gQ_iawOSOiQoPp;S=-C5e~4VphRtgwzC?!EOw2VtGkd}dOPx=d zyRv4;ezJGU^Z)w7-D%g}=?4-v9W$OY=w)`!@nb8lJ3r{-*?2T1Z*5AaPt`$(0$%T3 zTQFx&AHBklw>q!>iDoeMovHm{c(tQt|)$LbITd!X1el}_AW3#(~I#*tuJrQr% zZl=aljn2wn=Lc_Z=RT-GSJJz9QMPiJl3K`~{T3S!>c8ruIwV8$-HEv8F>WgIr$1(| zIO9~fOnQOgBY&4+vpP{xk1n0=_o!g`vbq(^Ms<>p?qfHi@8pxRlTWKnj_&WBCp)?7 z(;e%3QsXKdzRB$mI8s(rJYwSd!~6!D>t>KY9V$I^BiGLKYcx?gnuyrji7PkllHCw~db^Ld@|`dxM2iV;W5QVffw z{MX;Cv-F+cC+|vyrSBK#4*gWCrYIh~DltSZFhR+1>9@yu3Hd_{EZn?f(styZQHlsu z&>O7ObFB9mt>a#EBJ~CzJM1+_@32#JSNj*+W2)3;4=?U}c>IvlTeQn%XY~n92>5({ zZ~n7YAvW#rCq(2beXdWeJZD*buf5~?$BH}ECs%)09?|pe&2hm7NzuIpQo2E=780MO zj;v{Ly*Jj&`a__+>hMChpAr3vwuDJKOl;WKrO7qx+t1FiTF-s!Te|D=^A>u3$SrIB z$cc%wyRzj~{+?y}8msz4t4(4qv)gTvF(6 zFQKp3-Mp^p$GDf?Z?u0ET5CM-ld85$W>i^bc;wpCRL@Q}&rhgI_$?e%^+kTgGu3G; zG@1@~F3QF&G(FWH!PLvrMjc+&+kmDg@r&MN9_b7pM9j`@mOPX_UxL_N&4xp)=*AI~$f z;nYi;VN$nM6GqJ#er&RGhSnMBBEkFWcdA7Tde?U@ij42Abtd_ItVHynGxHzz8|5)( zuWnR@)@ApXy=L+AWAAHAl%D97N26YKR6UgUY(%{IoL>Fb z>&q7N(r*p5_cogz9Phrx%*y5Vw8E&`o0%iVIJ!LVIKQr-vzbwv#o4>#JOj5z9g@Fw z(q=+cul~~lmqZ-W+0Co6<9VJAsWl1fx~cuxp6j;_HLosudMRf~;0k}~GZsG`E{4i4 zOwP~RbHDP~^!IxY^)d=OC-YtE=P%uYsu{aVK8|d>Kh8Gxo@>(2#K?uWPmjuRko=+6 z;ibdotBr1Q?eu=!i(WS0#HOjjQcJ6)D8J+PVdwKZguQKF|6{*q-E!}S)5$^xTRjfFk-^j!@3X)5`8p7u!vKGjGw8ZLTl!wm(VlZZP6q!{Oq~EplJ=-QddCCC|HdSMMJ7*i>_P ziL>0QjY7fBp$QJuSj%2~tAv%6eoef)^N1rtVcEL`by80 z-DXkWZNmP>!3G}2jlWT2h|%^pdKYCW>NR`>&S_G+_KK7u)wy$L3Vm;@gf9_w2QFn( z=t{wVD*>Ct)<1h|S91ef2OA@Ma|c@+YZq5Tdz)X^aLT`5nuFu|KRv!(GomOhja$@716{SpuvhGxSQ;yC!IP0?;?#Cr^U)6 zxZ9F$O2rb4^4%T4$|F4QjD06|QNYWk$)^indnHfrV1m0jJ~-(s3%n{CZ>~NokKk_e zN}E4i1l|#do$8pmR2j1J2<|o}OSq#Hc;PhO3%FX8<#`G2w(t9gO(>kMp@oBvCagSy zyJ?J13Q+}~4vjYtzPrpKAHm&vL{3ne2|Ov<^ESbCzAQX~yVdXND>)E&_h5eU)oqg* z8;@Wv#xBz>wE%}!W_4_O<;Jq&2<~R=RTF{C`3TMY7Mrv32<|piue^*8yxlbUZdybr&`q!F8Xk zZ@;Vu=nkc)_`@o>vEc}wyLsV=Wom$Prs3vJWy291chd2^saf!c2k%o9ER3ywjh-wx z=0*1wHOeTvJ4JOJLs8nTP!v^voCRhPDG2i83z?b0)s}ti;CaWw^J-wsy2~s~*VwRs zj-o^}(}u-U%d!E~4F70iz?c#O&=RHe=0ZM?S;U^bZpEX(w-PdMoEQl^9>!q$he(#u zX<IG*ht|Pl++9W@3WUCqK|G;TP-p~c)9|dbMUnI%qV;0Yr!yLEWX1^dS>Y$N!=PCOwGUM(R7g~Fw0$HWeXF8>&cg8a7Cueg!JILvN5 zso$vD;jlR!s6|nbM7H{+s=*O=5=zhw+4h@X!!v zK}f(K&5-=MN07W`2cS#Q=*I`PflhF56ZNF`nvAk5>a~GR@bVGo_l-0KdM5}TxMnsQ zw1G}=_Fj}-dM?nlXmkVPHqZ$^fApnV`CG7-L*AkmV>N_3o!J_#zsY@{4W*aQ{U{2y z46S~vJ-D-3jZ)U*cb~zG6YK3q93sRQ+BAg%U$I76viaKB-wE~fHD5D|(I~G5wt-GC%IZXQUp=6oqPZ(Cqz!a}Q5MY!(`PpM7h!Fn z6V{_2)UF0k$nE^5i<*492<~)dlW%U9q8J1<-A5XtCVx7eJDb(y#~;bOh&Gn=3@C9g zafle-&|n|d0DSPo`u8Yb%cQN+?X$RG2}VBqw$PwGV4G;G^wMlDSb}v|)m`|6icifn z?EOPrumrPiT)0t(57E#HHV*irY?i|T%WM;Nz84yjAPic<<^*4qKi}a1Wi^Hz;V`40 z5TUX_5B*yOSc^1%9Me*x6h<2H6(9WUKj@6-Ovq^x>}P&JQa>g{HTPEPsh4fY&?Q^ zNpe|sC~ZO0f#W*7Wy2AqlPtH|f@YU4T~sq0j^HeHH440c3%0m)FFvs02ti-rVDuIg zDbQTtxY3{4aD*uTwfFI!?Er_$-8e1<3N4Jgjz6A3*llb*uMo#Pv-hFULdFqx846}L z&(JoOKC_N3Y&b#*0-ud2NFx{pwBrZxL;RRU6vh;$qoXe&I0hc4$3P;^faP2lrkh7ll@ZUTMNP8aaA!3|(A^-p4pJ9!fB%8~rZq zP-cX-%n%PH8I)R|fykfelFs%K4<#7X&BT*KdND$4{lr5F2GxJ%hd@+{rb}uYARbCE zD9dE02h0<7LLeSWSTUk4W0FolIN1);;!fHxNIaCVZrs^XBOKim5+Eo~;*N%&Z8d&l-K6cA+S>KB8qDi#?pMtSjK14pUtXK^qmI4ZIk#^az2D zDu_Wr{2;?<2)FvQx96b0=Jt$xa-Z5?6~KbAQ{>F!bS zYy$ehqWhxT(5A(>Klp?ED>SphW3#ND&jf{M_Jg*{RszG~Hbgv=Rmb+%jc1|-=P+mk z&p%F#C80y%^p$mqIV*F+)dZj?Xwcyn;-Q3qe`LV6F^Nzht56Y5YKpAHLYeg%x!!qW zA;@V8?uZ*$x+5FXRp1-w62T8+rWTCoSMCl}K0Lh!Hd{xWiPUgGgdjA88E7rF#dZh) zJA;_`9Jx;+09|+?f&5suBl5Wh?^dBsp&FWVJ#gm$B`o}b!@MT{yOG5;YU0U(N+{@U zZ~QIA16c*2QJi|jn*)_#P&ZfDd`7KiE;OqD3=UL6(vY_$>mJ(6hSO}nnkSx05H-U% zBmqI`yKVbirWDcnH6rUvjpOygcK&`wccJ^ zfKH-GS`a86N=RCkbgt-*900ZU>ju?UDvCy(f1U%C5N!s` z(($tcsvC{ke1QX%5N@Q8n)o7rYXGCeHINDiHH?YTUn}^l0YbcqeDkB+9;m2G5T`!B z!huQ%I7>$L41@|hRZo+3wTSessME=O#@QU zCn{F2gqTxgF5}h>=_Lg-ej|9-KzI8ZI23=t42Bc^04i4k`OtilRS@>HG(JcHsw0?+_nl(D)31h3B zU=AZeE$Ps7_z~p^8RL2QFTn#7uYxq%5mt+TA<83zEPtv9Y>S#?fe0#~*+u>_q7G=nB^ z?r}{{Ttc{{_GVa(0q#>8*I@uBE+JqZdv#3$Eg9%|7nk=5ymP^9#h9rPLgvNY<1O9+ zR|U#UIM+*`6PFM)uWz5T1!d_d_rtlnj5u)#VN)tr=jsUHqSG;)+jB4{E+KFZ9&u{$ zYT(YK+1Wlgjo_ePLcTWk-URms;Fbe-1QsGvhI8V&@?#<#g#u`5k**vAeeELP>m61C(3_?rf-$YKW) zRw*M5UfECpB6r3m9CDByNLZdSZH*73#sDiC@C=lI8JDN29)B#Gur4*185lkuPf@*( zhz7_0M_GZ)p4aa{*(;PzT><%UM{)T^#Cfv0UXP9&uA&A5NFPOr&whv@5H2jKxga+3 zI`6ePE05sB^+)+SsCnCnCf`IWRvy8HU%E+kY0{#o>+TfQ53`pv8#W%@`b00$!Hu~r zh(O~(<#`sL7ZJ=0qup&YKA!IjkA z<_tu=^4)18OpI&e2!z#9B1U=8FBm}qwl#Ps$l>@ljxafr7xe#+B8c|LcK7UBbzc=$ zVJp$YD#fL38;2ey&?QrAv@Xx-22Fjw&|3i4g0%WM?`#{NSV&L{4zLS1cgX7ru@V{u zDQF*T^()CH4C9O5$T##24{xm!(Z~kvCar$@he#~=nw^jq(|SK&_&FE;{5SlApMyrT zgDep)oLQl+1MkJyDp8af6o>Kp@Y2Jq(%Hb(+H7E*F)Ig80c)EC84BJCGvJa~@Dy7% zbjq9gJs-i!W9cN?v{-eG6%DOBe4&6BWW^5`1ca~+F|;y6A{7dFe$t}ni>l4+L%`Pu zL)pmEKeP&Vc7lslCDa#0C!s|x4Zk@<@;4D362%vSR%q5{x%X}6I*3OT z!Q1e+pr?q3S%&_DC9R$_{3{>8Mw{vlbiBXLT0)X}g>5S#PC`;D5<$MOa{hlfNV1Xe zwcR>ig&+*QSR!Zq^)_q*wgMAMa`F6@nGb-xnnwOLfg_o4DmHLbeIhe?_#}>GLN=&y zPTfxn)Ep09g9qv`dv0U`ICx>2F6soMgWouE0~4~#x*ua#_5q{#A|)zupffixA*uX! zYu*QVGl+UaQ^g~9ZeT(#DIBGpjoO#q)4&Oy+`xnsGWPWQrIP^snFiLJ#tlr!9P`f= zd@%VGkylSXek>Vovu0h z%;x(t#9+idmKytYI%wG+w5-!A0>k~biQ>3Up@I+sHtkr^u`0khfVi3%cIR?7ENazY zR_~&SICb>;Lj(wl_hOf>U?cu*mj2J$2x0Tl=nvQXG2-o4wFOTIag9d9x1zfbg*54} zuWk#T5a_lRc|@WOVm1vwd0kuZgm8C%jj@#z;FTek;<~S0-xfR}=x2rBC5pNYXtZ;lafB2u$ z^)ec_;}K3=g5z8l?7Dz#165Y=u$p|76PMsIioQyJ+K^w;xcVnJaS5)nbK8+ERv_<3 z8u!L2PF#YI$Q_OLGl5OGC6s3H-bg_%7cR5)T92K21@)9Ug6H8o@Q-C|RM)@f7|47{ zhIS`JDgGE>Rbb15C!oG+eN0qJL%1cC>QQ(aP_*q6uF2%hZ3#KtQjiNuBzhE1KYVNxvjCP~-4V z8oI|Pu4sbqJ<&Kc4W+tp94eyg{4ZS51ozufdgCU_NxRU{zTdf`2_EQS`r>j7EF-&N z8Nm&@V+%(#vq3MqbYvOawn&-65(1@&R=>NQJFz6_Q$5Jb$ByLjx6tJ!(_r@S8;Cke zu`@lzW@2iOZq_4vrn48zaAp$>I@&#lLOV@5`?nltHo>BmKA&?$&Vo)?ah=4;b7m7v zI`?wQAmlA@9xuY~pvaj`uxVj(V+LxAN0$xaa%cD8%qAFhAMKyJCjc9@hvRHl70zrz z-W4Kqpg9^GW<59zGzqr)eeKPa&FnGCG|t8N!iFaFmK+!R2e9k`xE0OL(sM#Dp7}+1%c5)~mPx z=GGC+O{4ARxY!#iB?we6Q76X1SCHS+I?xIRmm`E>CK?c*Dz1`GwWNhf~*ma ze3|otrLJzsX3>@p=c-z>a?vyYVKeJ8_G5lYG3c-t=n{WbZNqqOTsr|=MG``~WOu<& zy*;QR{2J=EctATlft7C;>iegcnnm`ZUqfGC1=)3hkKeX&e$X|y?7zU4kACAg8wh7Pv6qTj-H*N)sY?cw-a*uOj9ma(p z1eGv2Lt%M_;x*UjmcTO@!ZY9pL#9*O0B3)K0gjVQ(JPOYFb{Z?3UCuM2=wKLvxuMf zD0yfph~FQ?$J_G1PvuHxmwiHh=ONKRSEKpB08iEtT>sf3u}J@MeZ*}fJ>3VsdvRxz z8)H@n; zhjwS?J;fgt{*lv}Ph*Ns3-lAV`W;wCV3K;TD%?G;CiMgthA@h+E?>l<{^_}*PY)`V zzqnF(!W&M`3*h|$JbK>UAx6Z1xU4n)t=En>9Rh<=gQf+1aap^c8{Q=>G=f=lmpPkK z%^+kx0rBz0B|TdV+cAvi3+*;murLY*K9S@j=<&@{HSfc`nL%*C!D1jXgofdrhN9Qgm-O`5MYf7uD=p>#OL;C;L)#VSFS{b z2sI#Qo}WO#EVP+>!2UP@Ujm_VeLQp!2e%Rg^FzXkot&O&yDAqz2Dt`&1(!Q-3M+cN z5afljn_XyVU}PAx+;YCc%#V;~=z@{pj<{huD|`Y!D2y*8C0t!C)HSU@9p9iLgF9lw zOfFd45a7zlfRX__hAU0lt@jJi@wGHtP zbqWoOB)*t4pm0$#D(-9mcgM+9hd7c6NmqYwmz(I`(H=DN>>Q3{LfS={24_76@*4=! zxXhoAaU>HGuW7nnqEUD5I2w7#DUM`9>b1pIRedF-20^f5;ekUXmm8VcGPW%p`U5p< ztpqLOLA0femHTgzm*gcIUKR&TL`tTC=T~q86YOG(r&K07*W}T_eJi@uiS0Ldv8zUO~ z!x}ja#EeZ%d^uMYQiEIt(b%8zixZZZgrQaZOSEMOTC8j#Oydh}XGtmMO#N>X<`5a| z!x!3w3WIrsn%Kmn$={V=M&AQo8&mwMF05!rA@S3!_4}m{z~x9(AIM5^=4WYECQCEz z=*kN#QbA57FcLf=2=B(qbn)fE{W|PM@w4c34tiG~Zb%YYxqTH_;s3vAhE2tHy(Wi!7x1eWVTkBZ zVUQo~EOj4W@qre+LF2A2I*qoySwR+&;gIl$heP3o~S1r-CBlc`j_}zsDuirv78iQ6-+UUS zjz+be&w)zF3E#h)c{>rP=zUsTuj+9esDy-Y{FSNC;8Hj0BIIp2^;bLxDj^#zo-_Oy zYJb!QGEOapEA1Iq%)iUc-(Wzf&idc}k&PNQ(H#Xi)qFVzDxo&JIXCaM5m4s=6|Z*Y zCUc-V^TR`fSk4m_v_?9sK}Kx6Su~d#pCTU5yh7;OyFR75QdB7eKQx!xuq@H!G z;~KC*9AGj{78T@G%!V^?I+SL1w!8-g19F~kG{PfwCW`%I^iP^5P{Y~ zL4vSw0#RoETy@lw9MeVAo%D{1BeFkyj~3(kD?39{0LeK1)ti;4h-7rz1T+Rh6&t0W z>;ovxxog@1Rs}B=(R;CC3yA~R5sUi2RV~6-f+-ZxQm)bxRvf#OIm>SiodWa!6wr9G zeE0?tiymInGBhlfoo%0PX3YmSI@rhAGs?xWQRUr92-h9NFx&3xEo&Er0ULcZMHjQ( zez)1#>@rVJ{Ms}JRD4iIwCwln4m;PyZ9IIn2o4CD1wOsnY#ge9W`Mx>!f>pf9qbyz zF7mVZ9-UDCL=cei)ok+vcCx!51ik*p|v7RPBbiY4Ok)nKnsg2n}tvnG6_Xqj0MBWnb7Ad&-oeF@+ zi;KEio0Z8vSMo~*FQp;#n5reZ_7v$7vCdG>V_SQojO-5x!CpOKNyMMO|43FSFC>68 z^PiXV&ZR-%T?bs;sG4lVF(cu7Pb^=&n(lqytR6%i1~EY$o31)LBAUPxO$zXy!A^W4 zkNJ#tt-E}$a){Yy;D8gaRJn>nnfpLz9M3nxg&zP1dxT=+s{UhU#lfPp5l;2+TzN^D z7*V;L>q%G4P=qgxQ&M2KxY7E=ioyRq*<*IwyZeJLqh8z}@DF}+y=$HrtSx+LGJqF^ z77Q1-N1SgRq3SDU zys1hOCTLfj43<6|8}HCUG2@{}a)pC_%|Fk^Ht8=G#J;tJ8S#K+#TpyrKs?t$Tp&yb z@&B?G@d$YCb8s{K@M`8#jzcn=!sQr#wh<`H72tT9J8PXdF!`d0?uzzJ z8(_*uf|l@Uc)dvs^&gdJqJD@7*h@wRF|}2rGlaNW70pB#BpC+5Glr%#ZiCQOA{u`B zW7Au_h0OieKxw;^B{#H!B*7&2ftav8ZT0K1l>^S)A8v>uemip;vS9815R z%7eV+35vMzHmR^^175qS5v@dKYEk z(vc=rq^SV}^`Gd^E8eTzneSVMnU|S8=Xu}Vo!#>+dYZ%}6a)kS0s@2%M1$avk>j4V zl?@ey)OA$AdN?MF`mLy)$LU(7Q^AcQJpL#;vS>M7%a0=Btf zoi)8X`B!o*c+U%SI|2krE=~JG>eeLo7QgN+O@sPV!ag-kzud{aaUuTHz#E99^PLQr z?wl%>rtRhnNOZ<2 z$d}$g_O=u6;Pnk7XO-=M$MHG#%VQ;_mJ!Dfkey=|v91WZ9FtG15xf>!*&&ed zV75pX3nkE-HOVD8CUeC^9^G_E%op^Aw4rzzt*V<7rF(IqxZLX7?dMc4_GvF@V+i#$ z$p8}rD&;e{?}rf*5a1*9`#=)oJP#_a z%h?HrL>_@*{UgT7-s&6f_xT4OiBrLytAIp0*;~U<_AUsJwG+(UJ;!7(fUb?vvlwm4yrX*rl70YQ3hm}Mxe$iGPS(t}Ls zOr1s&MM&~VQhmZ#DWxcB?;XsOlWahJB%QldQh;g?gwDG)^nS`NP4iIw!RYPVzLN!W zHlvDy1IMQ{URD|jpN}>iVvZNE5~!YA=n6~|(4wWw+B^NmB6PxVGU^>shkke0%4cpc z=hlN#YH8A23fyd!1|E8p2CvmfYS%0U=n^z3t_1yc%YrD9ffV?z_R)DxUHcEOq7e;> zt*Dw8>J1{Oh)1b@IbqU3UUMyqE{hjhi~C_Yr!;L%Yd-K1wkHTZzq$rRE;*TN**eSQ zTM>BDz`S{yQH&_o{N<~luElMXQ2RpJ+&x<$?L~=PGli97Bb*5e7}Z64q>lGv*2f0k zzLI=1s}DkyysBs6~;;KgxO zcgF6<#B9bZou&Mn55vy4SFg86$pCxrdc5hU`db^T!oFSQ8t47>62Xy|@=u2ZePngx)rNJP}4~B-hcq4B8WXz{NO& z{X$4y6l&;8e{w#((;RE|qVsh`dUuCRj(Fu?zWZMY2$$fy*Auru5U zZi!h0P`+RsxZpz*a<^x!KQ6CA6wC@y5$f)-VNMUEgpZHcW)?VuZSxs3T9z1mbut$U zB(B$S7QXN!4WBPEFqP)2wnB^3o$=-pD`Z543E5$3;35`M$6CHb%kOS6q#7d~jNgM$ z(zUR(lnQO5F-FR+s0SqlyQ~%GnU8m6H^i!(B#e!cJ8o`T+BxNk zbYpED+OvX&JsvhKI@+hbN4`-7gYut5Y*b)WmWD?P`V>h8n6Q;$p<8NWv5^;3Ph`8L zz$_$Wuy-#wTLv1o8Lq44tQDp84?L}tNz}Ohd6(S3V5atRs93YqJ=T$juBzfJRW#0{ zIyO8;2UK!)wDC4^O%-=(gftivm=3zDTcG({=28-JQ6_W=fG^WLlsrs{&KYv`P|`!Kv2HyhT z>UBQ4Vmad@Jnb}Ks`%JDO6K5-z^fP6h*7q z7Hp5A_Rz_C)HyiUZr!W=!Q)lxrM%AlGoLu_dO|ZrqlwWb`gtv#G-uyGscG@aLWI{K z!olo)tJ}=4=UlKOG9Mtjb)MlSajN&9#;qSGi?GdL-@ErT&iZDBE`~K%Sa#H4aLpO3 z&2^L3Vb+IY1tdOcF!*3G_FYV`HOI|{St{$sV;l`$lcCxdrFXVu&~#qsnwLC?5L;o# zNOm3Nxf8c2hSl!ac2q)C&+%1-xfL(l@sLScXGO9OLsbFPnH;<{t@F2M#H3uKJU|Ak zBGJvgvpfeU?gxdMurl0NCaAfsGP!yND+%pLV4ypv%Dc&!D|X5ODd*?j-xIJYvFbTE z%XJ~PBBQ$=%1q3+SJV2XMY{qyxs2|9GjP)YUo8gJ2J4;pPRWuT7;^f zV)HzA@v_$&*J{9;5(-L$;ip}fjHV{O>HC7k-~5D}eu#Hk^Ki@U7jXMRx)e)=N_v*4 zH&Vf(abN1;VQGmQsvI&I9$GvX;@lkC&hAQ|UfN_~>XEcDsCH*-L_CV*VDK1XkrsHr zOWGC{1{T49eC=}y7ABJ}#KpQR4H?jEu(iCB)fi^Qj4-|}d1&ZgE&_tNhA#=GznpJ} zk|{po8wh$;nFh8h>8F`eUi*l&J#U8v+PJngL%Q|eMT9!KCcXsrEVH|>J{U4c+B<3O zsWQVv*viMy%h#r@M|Pi0F1}iT!%<)IA<}@sN8%Qk5f>HX|%b{OGclBf6GG%|J zZG}yJA*Catqt15d7*F%9s-LKDTIfO~XvWoCI)G>CEdX)ctz^D9&%e?mY~ zuzt|~Wp*6$~ zKM@7@a~+g#O&)3n)I_|yMmSRcsR3G8$ApiYJ?mNeNnBLq{wKeGAGfnd#?9T{8R=vL z!s}x{eGAQId7!UE@@V19`s&p8Ib;lrzOSs(*c&^u{5}a%08A zGkGi}a>+S=jPb1s3oT@k+fwb0I>Q3d>*@6pgrzLyT&=)4s2NtM28X)PcoAVI%$XrLi%Ct3#TEe&bmVTl(|Uz~<*Hh@Oi|#=g1IZjdxd8D^V`&v&r-5fCyO1N zSW)LJ=;I6`Lm5jsH*c{n&{$0eUT&HU-;fw)wF;cqP5OMD0`rL$`8L(mDXl%nxSiUk z^?j62?C2N0bdQ;3jvM5~p&}nBbloDyD+KFOi>8E~`8-7sL|^Tr>zOr`_mkTOF(0^g zvV5MQ+g4g;XH6?+zU4%ezuH0pmk(p2qiPv)WKN*pa`LZghT6NZ3IqLg)EKKL*x!V( zXYJHs5;4nqrb;TarN;~CD3LCGAm(y z4|s}o`>2RJN&qbovxuhdg1%cO^}wr@V>d!liW4QuK^^7%=QJ7yq#&4BG(zM|xQvwV z`}v8}3{;qyEBBJ9K98BFa2W#}o-4~e_EBrHVFqaky{=kiph4{88s)8mk`8~qcd}9u zDKhG`oh^mZ@^join8*BED!zNbFk9#lv&dKgTS8sGNGh;|I!NMets4;)9p^E~vSk>o z<3a8AM-VtgZ*?j%(NLVGRk#@#4HpIR#8z{38@QTe)r7z;y13^p(OiCLOsMjtCDJ3f zOhvfM&V6ZeWO1Z;U5L8IH8honJ1CdY#2dVcDF+t}jig8``=R*CIo)1D<#?8PSXwLW zGy(MyMr7xx^4~vtL0lstsST@c$;#@dtricdrA)J9mhm?;QzXyujkJ#B+VV_-ZPvv^ zCJLjY=E=Kt71~$rG>oO}!l@Aa@L;1d{&$mFsp(-xK4fkw$KqrKRRX*R={c^9F+XB{ zsMf6B>sUEYFa6|zrlF*Axml0o*xloUgWvJvFX||K5){!#r#d zN8GMC{_Tu#0pV`^p#QwgpZ_oDFGSxu8SbVJ`t{b{6yv3ie;^eGOI7-*D)6^&}xsH<&147he#XHF8h z+$}0yQDGfasjsRsRa6*M*{i;idR5UhHbh-sEbAax-rXT9757vu8WJ&e^O_ z_SlqCqR`Bach&pWux#@ys%LD}*>5%v9P`NGb2V=d$nIX}m%2}VofXwIPtrzHVA%75 zNpyIl4Hh&L^q$pz zv8oLa6)(9=72hL$+K}1k?F1D`FA7}i*{2=RosFFNd=^?8iERAK#Oa@zxsA$|R;zMT@hR@16#Sh( zS`X{%FY#{N-ts-MlqGh{&H>VN=OI|MHS%T1)kh+jnayO^12TN^aXcD2V~A^@BS$t+ z<^R9@A>CY%Hf|_;8+WLOZnvh8hM>B(zFL9drnaDF_q+kNyBE5t(FKKwK_R7;BI1=I z<$6euVrjS5SS8s)QpJ<=x&~dCg6#%5f4?8Y zZz8`Nkl>vH{^{@1{SNy%_z!R7@SDjWmW}4cJ^l?lw5L4kVEpFpyWtO3$7SW)9`Da@ zir?h@1UP&LeBbN+8HC^L{RBn-1pVC_{*1+M`hH^T|Aqaz_xm#ke)IQ}W8;q;-#ZGP z=V!bROIQ3R@Q2~zjjLZ=wD2GQzwh|*E_j~b?gjsu%)|N)uYP}6Hadp#zsUco9{$OF zSf}6>;t$J4zoa^f`;cDzC*|R>ffqPGEE{c(OYxs$@q4**R9)gn&v(Pu4kXKdOFMHhSv+{gD3+ zuES^H|L1YI3*p=956ecU;qGI9w~X(B{pAz>V@UpNvU-}N$MCd3+|LwFRNVg7n*I;h CFz + 4.0.0 + tdt4140-gr1864.app.ui + + + tdt4140-gr1864 + tdt4140-gr1864 + 0.0.1-SNAPSHOT + + + + + gitlab-ci + + + gitlab-ci + true + + + + + + org.testfx + openjfx-monocle + 8u76-b04 + test + + + + + + + + eu.hansolo.fx + charts + 1.0.5 + system + ${project.basedir}/libs/charts-1.0.5.jar + + + + tdt4140-gr1864 + tdt4140-gr1864.app.core + 0.0.1-SNAPSHOT + + + + junit + junit + 4.12 + test + + + org.testfx + testfx-core + 4.0.10-alpha + test + + + org.testfx + testfx-junit + 4.0.10-alpha + test + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.0 + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore new file mode 100644 index 0000000..fb79d71 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore @@ -0,0 +1 @@ +/ListViewSample.java diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java new file mode 100644 index 0000000..569d6d8 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java @@ -0,0 +1,13 @@ +package tdt4140.gr1864.app.ui; + +/** + * Interface implemented by classes listening to App. + */ +public interface AppListener { + /** + * Runs when the application is closed. + * @throws Exception + */ + public void appClosed() throws Exception; +} + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java new file mode 100644 index 0000000..72dd983 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java @@ -0,0 +1,54 @@ +package tdt4140.gr1864.app.ui.Mode; + + +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationElement; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationInterface; + +/** + * + * @author Hakon Strandlie haakstr@stud.ntnu.no + * @version 1.0 + * @since 1.0 + * + */ + +public class Mode { + + /** + * The string that is shown in the Mode-menu that the user can select from + */ + private String name; + + /** + * The list of the VisualizationElements that is shown in the Visualization Area + * for this mode Implemented as List to get an implicit ordering of elements + */ + private VisualizationInterface visualizationElement; + + /** + * + * @param name The name shown in Mode-menu + * @param visualizationElement The VisualizationElement + */ + public Mode(String name, VisualizationInterface visualizationElement) { + this.name = name; + this.visualizationElement = visualizationElement; + } + + public String getName() { + return this.name; + } + + /** + * Gets the visualizationElement that is contained in this Mode + * @return VisualizationInterface (VisualizationElement implements this) + */ + public VisualizationInterface getVisualizationElement() { + return this.visualizationElement; + } + + // Allow tables to be updated + public void setVisualizationElement(VisualizationElement element) { + this.visualizationElement = element; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java new file mode 100644 index 0000000..a6d5afa --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java @@ -0,0 +1,51 @@ +package tdt4140.gr1864.app.ui.Mode.Option; + +/** + * + * @author Hakon Strandlie + * Not yet used in the app. Exists for future. + * + */ + +public class CheckBoxOption extends InteractionOption { + + /** + * The state variable. Is this CheckBox checked? Defaults to false. + */ + private boolean isEnabled; + + /** + * @param name The name of this CheckBoxOption. Is shown in the UI + * @param enableStartState The startState of this button + */ + public CheckBoxOption(String name, boolean enableStartState) { + super(name); + this.isEnabled = enableStartState; + } + + + /** + * The constructor for when startState is not specified. Defaults to false + * @param name The name for this CheckBox. Is shown in the UI + */ + public CheckBoxOption(String name) { + super(name); + this.isEnabled = false; + } + + /** + * @return The state of this CheckBox + */ + public boolean isEnabled() { + return this.isEnabled; + } + + /** + * @param isEnabled Changes the state of this button + */ + public void setEnabled(boolean isEnabled) { + this.isEnabled = isEnabled; + } + + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java new file mode 100644 index 0000000..5ca9df1 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java @@ -0,0 +1,110 @@ +package tdt4140.gr1864.app.ui.Mode.Option; + +import java.util.ArrayList; +import java.util.List; + +import javafx.beans.property.Property; +import javafx.beans.property.SimpleStringProperty; + + +/** + * + * @author Hakon Strandlie + * Not yet used. Exists for future + * + */ +public class ComboBoxOption extends InteractionOption { + + /** + * A list of the option that can be chosen from within this ComboBoxOption + */ + private List> options; + + /** + * When initialied without options we just create an empty optionslist + * @param name The name of this ComboBox + */ + public ComboBoxOption(String name) { + super(name); + this.options = new ArrayList>(); + } + + /** + * Initilizer with an existing list of options. Fails if options is null + * @param name The name of this ComboBox + * @param options The list of options. Cannot be null + */ + public ComboBoxOption(String name, ArrayList> options) { + super(name); + if (options.equals(null)) { + throw new IllegalArgumentException("The ComboBoxOption object cannot be initialized with null-list of objects. Use the ComboBoxOption(String name) instead."); + } + this.options = options; + + } + + /** + * A private method to see if the the list has an option. Based on .equals() comparison + * @param p1 The option we want to check + * @return boolean. True if the ComboBox has the option + */ + private boolean hasOption(Property p1) { + for (Property option : options) { + if (p1.equals(option)) { + return true; + } + } + return false; + } + + + /** + * Find if a list has an option from the name of the option only + * @param optionName The string of the option wanted + * @return Boolean + */ + private boolean hasOption(String optionName) { + return hasOption(new SimpleStringProperty(optionName)); + } + + /** + * Add an option that does not already exist + * @param option The option that is to be added + */ + public void addOption(String option) { + Property newOption = new SimpleStringProperty(option); + if (! hasOption(newOption)) { + options.add(newOption); + } + } + + /** + * Gets an option from the name of the option. + * @param option The name of the option we want to get + * @return The option if it exists, or null if not + */ + public Property getOption(String option) { + Property newOption = new SimpleStringProperty(option); + + for (Property listMember : options) { + if (listMember.equals(newOption)) { + return listMember; + } + } + return null; + } + + /** + * Removes an option based on Property Objects + * @param option The property object to be removed. + */ + public void removeOption(Property option) { + if (hasOption(option)) { + options.remove(option); + } + } + + + + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java new file mode 100644 index 0000000..69dae57 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java @@ -0,0 +1,39 @@ +package tdt4140.gr1864.app.ui.Mode.Option; + +public abstract class InteractionOption { + /** + * Not yet used. Exists for future. + */ + + /** + * The name of this InteractionOption. Will be displayed in the UI + */ + private String name; + + /** + * @param name The name of this option + */ + public InteractionOption(String name) { + this.setName(name); + } + + /** + * @return The name of this option + */ + public String getName() { + return this.name; + } + + /** + * Used to set the name of the option after object generation + * @param name The new name + */ + public void setName(String name) { + if (name.equals(null)) { + throw new IllegalArgumentException("Cannot set the name of an InteractionOption to null"); + } + this.name = name; + + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java new file mode 100644 index 0000000..c704256 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java @@ -0,0 +1,191 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; +import javafx.scene.control.TableView; +import javafx.scene.image.ImageView; +import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; + +public class DemographicsTableRow implements TableRow { + + private StringProperty customerId; + private StringProperty firstName; + private StringProperty lastName; + private StringProperty address; + private StringProperty zip; + private StringProperty gender; + private StringProperty age; + private StringProperty numOfPersonInHouse; + + private int size; + + public DemographicsTableRow(String customerId, String firstName, String lastName, String address, String zip, String gender, String age, String numOfPersonInHouse) { + setCustomerId(customerId); + setFirstName(firstName); + setLastName(lastName); + setAddress(address); + setZip(zip); + setGender(gender); + setAge(age); + setNumOfPersonInHouse(numOfPersonInHouse); + this.size = 8; + } + + public DemographicsTableRow(int customerId, String firstName, String lastName, String address, int zip, String gender, int age, int numOfPersonInHouse) { + setCustomerId(customerId); + setFirstName(firstName); + setLastName(lastName); + setAddress(address); + setZip(zip); + setGender(gender); + setAge(age); + setNumOfPersonInHouse(numOfPersonInHouse); + } + + + + @Override + public int getSize() { + return this.size; + } + + public StringProperty customerIdProperty() { + if (this.customerId == null) { + this.customerId = new SimpleStringProperty(this, "customerId"); + } + return this.customerId; + } + + public void setCustomerId(String customerId) { + this.customerIdProperty().setValue(customerId); + } + + public void setCustomerId(int customerId) { + setCustomerId(Integer.toString(customerId)); + } + + public String getCustomerId() { + return customerIdProperty().getValue(); + } + + + public StringProperty firstNameProperty() { + if (this.firstName == null) { + this.firstName = new SimpleStringProperty(this, "firstName"); + } + return this.firstName; + } + + public void setFirstName(String firstName) { + this.firstNameProperty().setValue(firstName); + } + + public String getFirstName() { + return this.firstNameProperty().getValue(); + } + + + public StringProperty lastNameProperty() { + if (this.lastName == null) { + this.lastName = new SimpleStringProperty(this, "lastName"); + } + return this.lastName; + } + + public void setLastName(String lastName) { + this.lastNameProperty().setValue(lastName); + } + + public String getLastName() { + return this.lastNameProperty().getValue(); + } + + + public StringProperty addressProperty() { + if (this.address == null) { + this.address = new SimpleStringProperty(this, "address"); + } + return this.address; + } + + public void setAddress(String address) { + this.addressProperty().setValue(address); + } + + public String getAddress() { + return this.addressProperty().getValue(); + } + + + public StringProperty zipProperty() { + if (this.zip == null) { + this.zip = new SimpleStringProperty(this, "zip"); + } + return this.zip; + } + + public void setZip(String zip) { + this.zipProperty().setValue(zip); + } + + public void setZip(int zip) { + setZip(Integer.toString(zip)); + } + + public String getZip() { + return this.zipProperty().getValue(); + } + + public StringProperty genderProperty() { + if (this.gender == null) { + this.gender = new SimpleStringProperty(this, "gender"); + } + return this.gender; + } + + public void setGender(String gender) { + this.genderProperty().setValue(gender); + } + + public String getGender() { + return this.genderProperty().getValue(); + } + + public StringProperty ageProperty() { + if (this.age == null) { + this.age = new SimpleStringProperty(this, "age"); + } + return this.age; + } + + public void setAge(int age) { + setAge(Integer.toString(age)); + } + + public void setAge(String age) { + this.ageProperty().setValue(age); + } + + public String getAge() { + return this.ageProperty().getValue(); + } + + public StringProperty numOfPersonInHouseProperty() { + if (this.numOfPersonInHouse == null) { + this.numOfPersonInHouse = new SimpleStringProperty(this, "numOfPersonInHouse"); + } + return this.numOfPersonInHouse; + } + + public void setNumOfPersonInHouse(int numOfPersonInHouse) { + setNumOfPersonInHouse(Integer.toString(numOfPersonInHouse)); + } + + public void setNumOfPersonInHouse(String numOfPersonInHouse) { + this.numOfPersonInHouseProperty().setValue(numOfPersonInHouse); + } + + public String getNumOfPersonInHouse() { + return this.numOfPersonInHouseProperty().getValue(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java new file mode 100644 index 0000000..1aa8668 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java @@ -0,0 +1,70 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +public class InStockTableRow implements TableRow { + + private StringProperty productName; + private StringProperty numberInStock; + + /** + * The size of this TableRow + */ + private int size; + + public InStockTableRow(String productName, String numberInStock) { + setProductName(productName); + setNumberInStock(numberInStock); + + this.size = 2; + } + + @Override + public int getSize() { + return this.size; + } + + + /** + * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell + * @return StringProperty The string property for the Product Name + */ + public StringProperty productNameProperty() { + if (this.productName == null) { + this.productName = new SimpleStringProperty(this, "productName"); + } + return this.productName; + } + + /** + * Sets the productName + * @param name String The new product name + */ + public void setProductName(String name) { + this.productNameProperty().setValue(name); + } + + /** + * Gets the productName + * @return String the current Product Name + */ + public String getProductName() { + return productNameProperty().getValue(); + } + + public StringProperty numberInStockProperty() { + if (this.numberInStock == null) { + this.numberInStock = new SimpleStringProperty(this, "numberInStock"); + } + return this.numberInStock; + } + + public void setNumberInStock(String number) { + this.numberInStockProperty().setValue(number); + } + + public String getNumberInStock() { + return numberInStockProperty().getValue(); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java new file mode 100644 index 0000000..0b0dabe --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java @@ -0,0 +1,158 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +/** + * The class that makes up the content in the cells of a table. Because of the JavaFX-implmentation this + * needs to have all the variables and corresponding methods for all possible columns in any table. + * + * In furture versions this model needs updating. It doesnt allow modes with same number of columns + * @author Hakon Strandlie + * + */ +public class MostPickedUpTableRow implements TableRow { + + private StringProperty productName; + private StringProperty numberOfPickUp; + private StringProperty numberOfPutDown; + private StringProperty numberOfPurchases; + + private int size; + + /** + * The constructor for the mostPickedUpMode + * @param productName The product name of the product + * @param numberOfPickUp The number of times it was picked up + * @param numberOfPutDownThe number of times it was put down + * @param numberOfPurchases The number of purchases (the sum of the two above) + */ + public MostPickedUpTableRow(String productName, String numberOfPickUp, String numberOfPutDown, String numberOfPurchases) { + setProductName(productName); + setNumberOfPickUp(numberOfPickUp); + setNumberOfPutDown(numberOfPutDown); + setNumberOfPurchases(numberOfPurchases); + + this.size = 4; + } + + /** + * The constructor for the mostPickedUpMode with numberOfPurchases calculated automatically + * @param productName The product name of the product + * @param numberOfPickUp The number of times it was picked up + * @param numberOfPutDownThe number of times it was put down + */ + public MostPickedUpTableRow(String productName, String numberOfPickUp, String numberOfPutDown) { + setProductName(productName); + setNumberOfPickUp(numberOfPickUp); + setNumberOfPutDown(numberOfPutDown); + + this.size = 4; + } + + + /** + * Gets the number of columns in this Aggregate + * @return + */ + public int getSize() { + return this.size; + + } + + // Common propertyMethods + + /** + * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell + * @return StringProperty The string property for the Product Name + */ + public StringProperty productNameProperty() { + if (this.productName == null) { + this.productName = new SimpleStringProperty(this, "productName"); + } + return this.productName; + } + + /** + * Sets the productName + * @param name String The new product name + */ + public void setProductName(String name) { + this.productNameProperty().setValue(name); + } + + /** + * Gets the productName + * @return String the current Product Name + */ + public String getProductName() { + return productNameProperty().getValue(); + } + + + // Propertymethods for mostPickedUpMode + // Does exactly the same as for ProductName above, and is not documented for that reason + + public StringProperty numberOfPickUpProperty() { + if (numberOfPickUp == null) { + numberOfPickUp = new SimpleStringProperty(this, "numberOfPickUp"); + numberOfPickUp.setValue("0"); + } + return numberOfPickUp; + } + + public void setNumberOfPickUp(String numberOfPickUp) { + this.numberOfPickUpProperty().setValue(numberOfPickUp); + calculateNumberOfPurchases(); + } + + public String getNumberOfPickUp() { + return numberOfPickUpProperty().getValue(); + } + + + public StringProperty numberOfPutDownProperty() { + if (numberOfPutDown == null) { + numberOfPutDown = new SimpleStringProperty(this, "numberOfPutDown"); + numberOfPutDown.setValue("0"); + } + return numberOfPutDown; + } + + public void setNumberOfPutDown(String numberOfPutDown) { + this.numberOfPutDownProperty().setValue(numberOfPutDown); + calculateNumberOfPurchases(); + } + + public String getNumberOfPutDown() { + return numberOfPutDownProperty().getValue(); + } + + + public StringProperty numberOfPurchasesProperty() { + if (numberOfPurchases == null) { + numberOfPurchases = new SimpleStringProperty(this, "numberOfPurchases"); + numberOfPurchases.setValue("0"); + } + return numberOfPurchases; + } + + private void setNumberOfPurchases(String number) { + this.numberOfPurchasesProperty().setValue(number); + } + + public String getNumberOfPurchases() { + return numberOfPurchasesProperty().getValue(); + } + + private void calculateNumberOfPurchases() { + int numberOfPickUps = Integer.parseInt(this.getNumberOfPickUp()); + int numberOfPutDowns = Integer.parseInt(this.getNumberOfPutDown()); + int numberOfPurchases = numberOfPickUps - numberOfPutDowns; + if (numberOfPurchases < 0) { + throw new IllegalStateException("Cannot have higher number of putDowns than pickUps"); + } + this.setNumberOfPurchases(Integer.toString(numberOfPurchases)); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java new file mode 100644 index 0000000..b8f0360 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java @@ -0,0 +1,67 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +/** + * The table row for OnShelves mode, based on InStockTableRow + * + * @author stianbm + */ +public class OnShelvesTableRow implements TableRow{ + + private StringProperty productName; + private StringProperty numberOnShelves; + + private int size; + + + public OnShelvesTableRow(String productName, String numberOnShelves) { + setProductName(productName); + setNumberOnShelves(numberOnShelves); + + this.size = 2; + } + + + @Override + public int getSize() { + return this.size; + } + + + public StringProperty productNameProperty() { + if (this.productName == null) { + this.productName = new SimpleStringProperty(this, "productName"); + } + return this.productName; + } + + + public void setProductName(String name) { + this.productNameProperty().setValue(name); + } + + + public String getProductName() { + return productNameProperty().getValue(); + } + + + public StringProperty numberOnShelvesProperty() { + if (this.numberOnShelves == null) { + this.numberOnShelves = new SimpleStringProperty(this, "numberOnShelves"); + } + return this.numberOnShelves; + } + + + public void setNumberOnShelves(String number) { + this.numberOnShelvesProperty().setValue(number); + } + + + public String getNumberOnShelves() { + return numberOnShelvesProperty().getValue(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java new file mode 100644 index 0000000..db34ccc --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java @@ -0,0 +1,299 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +/** + * The class that makes up the content in the cells of a table. Because of the JavaFX-implmentation this + * needs to have all the variables and corresponding methods for all possible columns in any table. + * + * Aggregates with two values now take a keyword in the constructor to set the right values. + * + * @author HÃ¥kon Strandlie + * + */ +public class Row { + + // Common variables for mostPickedUpMode and stockMode + private StringProperty productName; + + // The variables for MostPickedUpMode + private StringProperty numberOfPickUp; + private StringProperty numberOfPutDown; + private StringProperty numberOfPurchases; + + // The variables for stockMode + private StringProperty numberInStock; + + // Variables for visualizationMode + private StringProperty customerId; + private StringProperty firstName; + private StringProperty lastName; + private StringProperty address; + private StringProperty zipCode; + + // The variables for onShelvesMode + private StringProperty numberOnShelves; + + /** + * The size of this Aggregate + */ + private int size; + + + /** + * The constructor for the mostPickedUpMode + * @param productName The product name of the product + * @param numberOfPickUp The number of times it was picked up + * @param numberOfPutDown The number of times it was put down + * @param numberOfPurchases The number of purchases (the sum of the two above) + */ + public Row(String productName, String numberOfPickUp, String numberOfPutDown, String numberOfPurchases) { + setProductName(productName); + setNumberOfPickUp(numberOfPickUp); + setNumberOfPutDown(numberOfPutDown); + setNumberOfPurchases(numberOfPurchases); + + this.size = 4; + } + + /** + * The constructor for modes with two columns + * @param productName + * @param numberInStock + * @param type the mode type + */ + public Row(String productName, String amount, String type) { + switch (type) { + + case "stock": + setProductName(productName); + setNumberInStock(amount); + break; + + case "onShelves": + setProductName(productName); + setNumberOnShelves(amount); + break; + } + + this.size = 2; + } + + /** + * The constructor for visualizationMode + * @param customerId + * @param firstName + * @param lastName + * @param address + * @param zip + */ + public Row(String customerId, String firstName, String lastName, String address, String zip) { + setCustomerId(customerId); + setFirstName(firstName); + setLastName(lastName); + setAddress(address); + setZipCode(zip); + + this.size = 5; + } + + /** + * Gets the number of columns in this Aggregate + * @return + */ + public int getSize() { + return this.size; + + } + + // Common propertyMethods + + /** + * The propertyGenerating-method for ProductName. Used by the TableView to fill the cell + * @return StringProperty The string property for the Product Name + */ + public StringProperty productNameProperty() { + if (productName == null) { + productName = new SimpleStringProperty(this, "productName"); + } + return productName; + } + + /** + * Sets the productName + * @param name String The new product name + */ + public void setProductName(String name) { + this.productNameProperty().setValue(name); + } + + /** + * Gets the productName + * @return String the current Product Name + */ + public String getProductName() { + return productNameProperty().getValue(); + } + + + // Propertymethods for mostPickedUpMode + // Does exactly the same as for ProductName above, and is not documented for that reason + + public StringProperty numberOfPickUpProperty() { + if (numberOfPickUp == null) { + numberOfPickUp = new SimpleStringProperty(this, "numberOfPickUp"); + } + return numberOfPickUp; + } + + public void setNumberOfPickUp(String numberOfPickUp) { + this.numberOfPickUpProperty().setValue(numberOfPickUp); + } + + public String getNumberOfPickUp() { + return numberOfPickUpProperty().getValue(); + } + + + public StringProperty numberOfPutDownProperty() { + if (numberOfPutDown == null) { + numberOfPutDown = new SimpleStringProperty(this, "numberOfPutDown"); + } + return numberOfPutDown; + } + + public void setNumberOfPutDown(String numberOfPutDown) { + this.numberOfPutDownProperty().setValue(numberOfPutDown); + } + + public String getNumberOfPutDown() { + return numberOfPutDownProperty().getValue(); + } + + + public StringProperty numberOfPurchasesProperty() { + if (numberOfPurchases == null) { + numberOfPurchases = new SimpleStringProperty(this, "numberOfPurchases"); + } + return numberOfPurchases; + } + + public void setNumberOfPurchases(String number) { + this.numberOfPurchasesProperty().setValue(number); + } + + public String getNumberOfPurchases() { + return numberOfPurchasesProperty().getValue(); + } + + // Propertymethods for inStockMode + + public StringProperty numberInStockProperty() { + if (numberInStock == null) { + numberInStock = new SimpleStringProperty(this, "numberInStock"); + } + return numberInStock; + } + + public void setNumberInStock(String number) { + this.numberInStockProperty().setValue(number); + } + + public String getNumberInStock() { + return numberInStockProperty().getValue(); + } + + // Property methods for onShelves + + public StringProperty numberOnShelvesProperty() { + if (numberOnShelves == null) { + numberOnShelves = new SimpleStringProperty(this, "numberOnShelves"); + } + return numberOnShelves; + } + + public void setNumberOnShelves(String number) { + this.numberOnShelvesProperty().setValue(number); + } + + public String getNumberOnShelves() { + return numberOnShelvesProperty().getValue(); + } + + public StringProperty customerIdProperty() { + if (customerId == null) { + customerId = new SimpleStringProperty(this, "customerId"); + } + return customerId; + } + + public void setCustomerId(String customerId) { + this.customerIdProperty().setValue(customerId); + } + + public String getCustomerId() { + return customerIdProperty().getValue(); + } + + public StringProperty firstNameProperty() { + if (firstName == null) { + firstName = new SimpleStringProperty(this, "firstName"); + } + return firstName; + } + + public void setFirstName(String name) { + this.firstNameProperty().setValue(name); + } + + public String getFirstName() { + return this.firstNameProperty().getValue(); + } + + public StringProperty lastNameProperty() { + if (lastName == null) { + lastName = new SimpleStringProperty(this, "lastName"); + } + return lastName; + } + + public void setLastName(String name) { + this.lastNameProperty().setValue(name); + } + + public String getLastName() { + return this.lastNameProperty().getValue(); + } + + public StringProperty addressProperty() { + if (address == null) { + address = new SimpleStringProperty(this, "address"); + } + return address; + } + + public void setAddress(String address) { + this.addressProperty().setValue(address); + } + + public String getAddress() { + return this.addressProperty().getValue(); + } + + public StringProperty zipCodeProperty() { + if (zipCode == null) { + zipCode = new SimpleStringProperty(this, "zipCode"); + } + return zipCode; + } + + public void setZipCode(String zipCode) { + this.zipCodeProperty().setValue(zipCode); + } + + public String getZipCode() { + return this.zipCodeProperty().getValue(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java new file mode 100644 index 0000000..ddf770e --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java @@ -0,0 +1,14 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +/** + * The type + * @author hstrandlie + * + */ +public interface TableRow { + + + public int getSize(); + + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java new file mode 100644 index 0000000..23e3a4a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java @@ -0,0 +1,47 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import java.util.List; + +import tdt4140.gr1864.app.ui.Mode.Option.InteractionOption; + +public abstract class VisualizationElement implements VisualizationInterface { + /** + * Originally thought as a superclass of all the visualizationElements. This proved a wrong assumption, and it is not used now. + */ + + private String name; + private boolean isActive; + private List options; + + public VisualizationElement(String name) { + if (name.equals(null)) { + throw new IllegalArgumentException("The name for this VisualizationElement cannot be null"); + } + this.name = name; + this.isActive = false; + } + + public VisualizationElement(String name, boolean isActive) { + this(name); + this.isActive = isActive; + } + + @Override + public String getName() { + if (! name.equals(null)) { + return name; + } + return null; + } + + @Override + public boolean isActive() { + return this.isActive; + } + + @Override + public void setActive(boolean isActive) { + this.isActive = isActive; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java new file mode 100644 index 0000000..7cbcf58 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java @@ -0,0 +1,107 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import javafx.scene.control.TableView; +import javafx.scene.image.ImageView; + +import java.util.ArrayList; +import java.util.List; + +import eu.hansolo.fx.charts.heatmap.HeatMap; +import eu.hansolo.fx.charts.tools.Point; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; + +/** + * This is the model-layer of the HeatMap. It is contained in a Mode, and has + * methods for showing the resulting image to the ImageView + * @author HÃ¥kon Strandlie + * + */ +public class VisualizationHeatMap extends VisualizationElement { + + /** + * The heatmap generated from the data + */ + private HeatMap map; + + /** + * THe constructor when there already is a list of ShoppingTrips + * @param name The name of this VisualizationHeatmap + * @param shoppingTripList The list of shoppingtrips that this heatmap should be generated from + */ + public VisualizationHeatMap(String name, List shoppingTripList) { + super(name); + this.map = new HeatMap(180, 100); + map.addSpots(getPoints(shoppingTripList)); + } + + public VisualizationHeatMap(String name) { + super(name); + this.map = new HeatMap(180, 100); + } + + /** + * Set the points to the heatmap, after validating + */ + @Override + public void setData(Object object) { + List shoppingTripList = objectIsList(object); + map.clearHeatMap(); + map.addSpots(getPoints(shoppingTripList)); + } + + /** + * Get the heatmap + */ + @Override + public HeatMap getData() { + // TODO Auto-generated method stub + return this.map; + } + /** + * Load the data from this Heatmap into the imageView. The tableView is passed + * to conform to the infacemethod, but never used. + */ + @Override + public void loadData(TableView tableView, ImageView imageView) { + imageView.setImage(this.map.getImage()); + } + + /** + * Called when this heatmap is set as the active element in the VisualizationView. + * Shows the ImageView and hides the tableView + */ + @Override + public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { + vvc.imageViewSetDisable(false); + vvc.tableViewSetDisable(true); + loadData(tableView, imageView); + + } + + /** + * Gets the points from a list of shoppingtrips. Used when generating the heatmap + * @param shoppingTripList + * @return List + */ + private List getPoints(List shoppingTripList) { + List points = new ArrayList<>(); + for (ShoppingTrip shoppingTrip : shoppingTripList) { + for (Coordinate coordinate : shoppingTrip.getCoordinates()) { + points.add(new Point(coordinate.getX(), coordinate.getY())); + } + } + return points; + } + + /** + * Validation method. Throws Exception if object is not List + * @param object An object that should be an instance of List trip. + * @return List + */ + private List objectIsList(Object object) { + return (List) object; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java new file mode 100644 index 0000000..76b45b4 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java @@ -0,0 +1,47 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import java.util.List; + +import javafx.scene.control.TableView; +import javafx.scene.image.ImageView; +import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; +/** + * + * @author anders + * An interface to be implemented by all visualization objects + * Should contain all basic methods used by a controller to + * communicate with a visualization object + */ +public interface VisualizationInterface { + + String getName(); + + boolean isActive(); + + void setActive(boolean isActive); + + void setData(Object object); + + Object getData(); + + /** + * Used to load data from the VisualizationElement instance and into + * the appropriate view + * @param tableView The tabelView in the current scene + * @param imageView The imageView in the current scene + */ + void loadData(TableView tableView, ImageView imageView); + + /** + * Is called when the VisualizationViewController sets the instance as + * an active element, and loads the data into the appropriate views + * @param tableView The TableView in the current scene + * @param imageView The ImageView in the current scene + */ + void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView); + + /* + * TODO: Add more methods + */ + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java new file mode 100644 index 0000000..d9c45c9 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java @@ -0,0 +1,85 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import java.util.Date; +import java.util.List; + +import javafx.scene.canvas.Canvas; +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.control.TableView; +import javafx.scene.image.ImageView; +import javafx.scene.paint.Color; +import javafx.scene.transform.Affine; +import javafx.scene.transform.Transform; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; + +public class VisualizationSimplePlot extends VisualizationElement { + private Canvas canvas; + private GraphicsContext ctx; + + private static int ARROW_SIZE = 2; + + public VisualizationSimplePlot(String name, List shoppingTrips) { + super(name); + + canvas = new Canvas(180, 100); + ctx = canvas.getGraphicsContext2D(); + + ctx.setStroke(Color.BLACK); + ctx.setStroke(Color.BLACK); + + setData(shoppingTrips); + } + + public VisualizationSimplePlot(String name) { + super(name); + canvas = new Canvas(180, 100); + ctx = canvas.getGraphicsContext2D(); + + ctx.setStroke(Color.BLACK); + ctx.setStroke(Color.BLACK); + } + + private void drawArrow(int x1, int y1, int x2, int y2) { + double dx = x2 - x1, dy = y2 - y1; + double angle = Math.atan2(dy, dx); + int len = (int) Math.sqrt(dx * dx + dy * dy); + Transform transform = Transform.translate(x1, y1); + transform = transform.createConcatenation(Transform.rotate(Math.toDegrees(angle), 0, 0)); + ctx.setTransform(new Affine(transform)); + ctx.strokeLine(0, 0, len, 0); + ctx.fillPolygon(new double[]{len, len - ARROW_SIZE, len - ARROW_SIZE, len}, new double[]{0, -ARROW_SIZE, ARROW_SIZE, 0}, 4); + } + + @Override + public void setData(Object shoppingTrips) { + ctx.clearRect(0, 0, 160, 100); + + Coordinate previous = new Coordinate(0.0, 0.0, "0"); + + for (ShoppingTrip shoppingTrip : (List) shoppingTrips) { + for (Coordinate coordinate : shoppingTrip.getCoordinates()) { + drawArrow((int) previous.getX(), (int) previous.getY(), (int) coordinate.getX(), (int) coordinate.getY()); + previous = coordinate; + } + } + } + + @Override + public void loadData(TableView tableView, ImageView imageView) { + imageView.setImage(canvas.snapshot(null, null)); + } + + @Override + public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { + vvc.imageViewSetDisable(false); + vvc.tableViewSetDisable(true); + loadData(tableView, imageView); + } + + @Override + public Canvas getData() { + return canvas; + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java new file mode 100644 index 0000000..9843416 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java @@ -0,0 +1,186 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.image.ImageView; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.ui.TableLoader; +import tdt4140.gr1864.app.ui.globalUIModel.VisualizationViewController; + +public class VisualizationTable extends VisualizationElement { + /** + * + * @author Hakon Strandlie + * The model-class of the Visualization Table. Has proved to not serve the function originally thought, and wil probably deprecate in the future. + */ + + /** + * The allowed column names of a table. Needs to be manually updated as of now, but exists for safety. + */ + private final static Map allowedColumnNames; + /** + * A static method that creates the allowed columnNames hashMap before creation of the VisualizationTable + */ + static { + allowedColumnNames = new HashMap(); + allowedColumnNames.put("productName", "Product Name"); + allowedColumnNames.put("numberOfPickUp", "Number Of Pick Ups"); + allowedColumnNames.put("numberOfPutDown", "Number Of Put Down"); + allowedColumnNames.put("numberOfPurchases", "Number Of Purchases"); + allowedColumnNames.put("numberInStock", "In Stock"); + //OnShelves + allowedColumnNames.put("numberOnShelves", "On shelves"); + allowedColumnNames.put("customerId", "Customer ID"); + allowedColumnNames.put("firstName", "First Name"); + allowedColumnNames.put("lastName", "Last Name"); + allowedColumnNames.put("address", "Address"); + allowedColumnNames.put("zip", "ZIP"); + allowedColumnNames.put("name", "Name"); + allowedColumnNames.put("gender", "Gender"); + allowedColumnNames.put("age", "Age"); + allowedColumnNames.put("numOfPersonInHouse", "Number Of Persons In Household"); + + } + + /** + * Container for the columns in this table + */ + private ArrayList> columns; + /** + * Container for the data used to populate the table in the GUI + */ + private ObservableList data; + + + /** + * Constructor creating the lists + * @param name String the name of the Table + */ + public VisualizationTable(String name) { + super(name); + this.columns = new ArrayList>(); + this.data = FXCollections.observableArrayList(new ArrayList()); + } + + /** + * Sets the data of the table. Setting this will reflect to the table shown to the user, since the list is observable + * and only references are passed + * @param data ArrayList The list of the data used to populate the table + */ + @Override + public void setData(Object data) { + List list = objectIsList(data); + this.data = FXCollections.observableArrayList(list); + } + + /** + * Add a single row to the table + * @param MostPickedTableRow the new row. Immidiately shown to the user if the mode is active + */ + public void addData(TableRow a) { + this.data.add(a); + } + + /** + * Gets the items currently shown to the user + * @return ObservableList the reference to the data currently populating the table + */ + public ObservableList getData() { + return this.data; + } + + /** + * Implementation of the interfaceMethod. Loads the data from this VisualizationTable into + * the TableView + */ + public void loadData(TableView tableView, ImageView imageView) { + tableView.setItems(this.data); + } + + /** + * Implementation of the interface method. Shows the TableView, hides the ImageView + * Also loads data and Columns into the TableView + */ + public void setAsActiveElement(VisualizationViewController vvc, TableView tableView, ImageView imageView) { + vvc.imageViewSetDisable(true); + vvc.tableViewSetDisable(false); + loadData(tableView, imageView); + tableView.getColumns().setAll(this.getColumns()); + } + + + /** + * Gets the Columns of this table. Changing this will not immidiately reflect to the user, as this is controlled by the ModeController + * @return ArrayList + */ + public ArrayList> getColumns() { + return this.columns; + } + + /** + * Takes a list of Row-Property-names and creates the corresponding TableColumns and CellValueFactories + * Assumes that columnnames already has been verified + * @param columns ArrayList of strings of columnnames + */ + public void addColumns(ArrayList columnNames) { + for (String column : columnNames) { + addColumn(column); + } + } + + /** + * Adds a column to this VisualizationTable. Called by the ModeController during initialize() + * @param columnID The columnID of the new column. Must be one of the predefined valid columnIDs from the static variable + */ + public void addColumn(String columnID) { + if (! allowedColumnNames.containsKey(columnID)) { + throw new IllegalArgumentException(columnID + " is not an allowable Column Identifier"); + } + + String columnName = allowedColumnNames.get(columnID); + TableColumn tempColumn = new TableColumn(columnName); + tempColumn.setCellValueFactory(new PropertyValueFactory(columnID)); + columns.add(tempColumn); + } + + /** + * Gets the size of this table, e.g. the numberOfColumns + * @return int The number of Column + */ + public int getSize() { + return this.columns.size(); + } + + + /** + * Tests if this table has a column with the name + * @param name String the name shown to the user + * @return boolean true if has the column name + */ + public boolean hasColumn(String name) { + for (TableColumn column : columns) { + if (column.getText().equals(name)) { + return true; + } + } + return false; + } + + @SuppressWarnings("unchecked") + private List objectIsList(Object object) throws ClassCastException { + return (List) object; + } + + public void wipeTable() { + this.data.clear(); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java new file mode 100644 index 0000000..1a791c9 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java @@ -0,0 +1,53 @@ +package tdt4140.gr1864.app.ui; + +import java.io.IOException; +import java.util.Collection; +import java.util.HashSet; + +import javafx.application.Application; +import javafx.event.EventHandler; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Stage; +import javafx.stage.WindowEvent; + +public class OwnerApp extends Application{ + /** + * Collection of listeners which get called when you close the application. + */ + private static Collection listeners = new HashSet<>(); + + /** + * Add an AppListener to the collection of listeners. + * @param listener + */ + public static void addListener(AppListener listener) { + listeners.add(listener); + } + + public void start(Stage primaryStage) throws IOException { + FXMLLoader fxmlLoader = new FXMLLoader(); + Parent root = fxmlLoader.load(getClass().getClassLoader().getResource("./tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml")); + primaryStage.setScene(new Scene(root)); + primaryStage.show(); + + // Run all listeners listening for when the app closes. + primaryStage.setOnCloseRequest(new EventHandler() { + public void handle(WindowEvent we) { + for (AppListener listener : OwnerApp.listeners) { + try { + listener.appClosed(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + }); + + } + public static void main(String[] args) { + launch(args); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md new file mode 100644 index 0000000..9b8ca79 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md @@ -0,0 +1 @@ +# The UI source code, a minimal JavaFX/FXML UI \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java new file mode 100644 index 0000000..136f2ec --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java @@ -0,0 +1,323 @@ +package tdt4140.gr1864.app.ui; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import tdt4140.gr1864.app.core.*; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.MostPickedUpTableRow; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.OnShelvesTableRow; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.DemographicsTableRow; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.InStockTableRow; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; + +/** + * This is the class that loades a table with data from a list of Trips. + * The visualizationTable that is an argument in both constructors is the + * model-layer-representation of the table shown to the user in the GUI. + * + * Can be accessed in a static way, or instanciated. Is instanciated in a VisualizationTable + * @author hstrandlie + * + */ +public class TableLoader { + + /** + * The list of shoppingtrips for MostPickedUpMode + */ + private List trips; + + /** + * The list of customers for DemographicsMode + */ + private List customers; + + /** + * The Map of ProductIDs on shelf + */ + private Map productIDsOnShelf; + + /** + * The Map of ProductIDs In Storage + */ + private Map productIDsInStorage; + + /** + * The table that this TableLoader loads + */ + private VisualizationTable table; + + /** + * Empty constructor to support legacy + */ + public TableLoader() {} + + /** + * Constructor for the MostPickedUpMode VisualizationTable + * @param trips + * @param table + */ + public TableLoader(ArrayList trips, VisualizationTable table) { + this.trips = trips; + this.table = table; + loadMostPickedUpTable(); + } + + /** + * Constructor for Stock Mode + * @param productIDsOnShelf + * @param productIDsInStorage + * @param table + */ + public TableLoader(Map productIDsOnShelf, Map productIDsInStorage, VisualizationTable table) { + this.productIDsOnShelf = productIDsOnShelf; + this.productIDsInStorage = productIDsInStorage; + this.table = table; + loadStockTable(); + } + + /** + * Constructor for OnShelf Mode + * @param productIDsOnShelf + * @param table + */ + public TableLoader(Map productIDsOnShelf, VisualizationTable table) { + this.productIDsOnShelf = productIDsOnShelf; + this.table = table; + loadInShelvesTable(); + } + + public TableLoader(List customers, VisualizationTable table) { + this.customers = customers; + this.table = table; + loadDemographicsTable(); + } + + public List getTrips() { + return this.trips; + } + + public void setTrips(List trips) { + this.trips = trips; + } + + public List getCustomers() { + return this.customers; + } + + public void setCustomers(List customers) { + this.customers = customers; + } + + public Map getProductIDsOnShelf() { + return this.productIDsOnShelf; + } + + public void setProductIDsOnShelf(Map productIDsOnShelf) { + this.productIDsOnShelf = productIDsOnShelf; + } + + public Map getProductIDsInStorage() { + return this.productIDsInStorage; + } + + public void setProductIDsInStorage(Map productIDsInStorage) { + this.productIDsInStorage = productIDsInStorage; + } + + /** + * Load the table for MostPickedUpMode. + * Only loads the data in the instance. Is called in the constructor. + */ + public void loadMostPickedUpTable() { + loadMostPickedUpTable(this.trips, this.table); + } + + /** + * Load the table from MostPickedUpMode with data from new trips + * @param trips The new trips that is to be loaded into the table + */ + public void loadMostPickedUpTable(List trips) { + this.trips = trips; + loadMostPickedUpTable(); + } + + /** + * Wipes the table clear, and loads the data from the trips into the table to + * The constructor for CustomerList + * @param trips A list of shopping trips to load the table from + * @param table A model-layer representation of a table shown to the user. Any changes made to this will reflect to the user immidiately + */ + public static void loadMostPickedUpTable(List trips, VisualizationTable table) { + + table.wipeTable(); + + if (trips == null || table == null) { + return; + } + Map pickUps = new HashMap(); + Map putDowns = new HashMap(); + Map purchases = new HashMap(); + + for (ShoppingTrip trip : trips) { + for (Action action : trip.getActions()) { + if (action.getActionType() == Action.PICK_UP) { + int previous = pickUps.containsKey(action.getProduct().getName()) ? pickUps.get(action.getProduct().getName()) : 0; + pickUps.put(action.getProduct().getName(), previous + 1); + } + else { + int previous = putDowns.containsKey(action.getProduct().getName()) ? putDowns.get(action.getProduct().getName()) : 0; + putDowns.put(action.getProduct().getName(), previous + 1); + } + } + } + + for (String productName : pickUps.keySet()) { + // Assumes there are no products that are put down, that are not picked up + if (! putDowns.containsKey(productName)) { + // If there are no put downs, only pickups, the number of purchases is equal to the number of pickups + purchases.put(productName, pickUps.get(productName)); + } + else { + // Number of purchases = (the number of pickups) - (the number of putdowns) + purchases.put(productName, pickUps.get(productName) - putDowns.get(productName)); + } + } + + for (String productNameString : pickUps.keySet()) { + String pickupsString = pickUps.get(productNameString).toString(); + String putdownsString = putDowns.containsKey(productNameString) ? putDowns.get(productNameString).toString() : "0"; + String purchasesString = purchases.containsKey(productNameString) ? purchases.get(productNameString).toString() : "0"; + table.addData(new MostPickedUpTableRow(productNameString, pickupsString, putdownsString, purchasesString)); + + } + } + + /** + * Load the data for the Stock Mode into the table + * Only loads the data contained in the instance. Is called in constructor. + */ + public void loadStockTable() { + loadStockTable(this.productIDsOnShelf, this.productIDsInStorage, this.table); + } + + /** + * Load new data into the table of the instance + * @param productIDsOnShelf + * @param productIDsInStorage + */ + public void loadStockTable(Map productIDsOnShelf, Map productIDsInStorage) { + this.productIDsOnShelf = productIDsOnShelf; + this.productIDsInStorage = productIDsInStorage; + loadStockTable(); + } + + /** + * @param productIDsOnShelf The Map of the productIDs with corresponding count on shelf + * @param productIDsInStorage The Map of the productIDs with corresponding count in storage + * @param table A model-layer representation of a table shown to the user. Any changes made to this will reflect to the user immidiately + */ + public static void loadStockTable(Map productIDsOnShelf, Map productIDsInStorage, VisualizationTable table) { + + table.wipeTable(); + + if (productIDsOnShelf == null || productIDsInStorage == null || table == null) { + return; + } + Map stock = new HashMap(); + ProductDatabaseController pdc = new ProductDatabaseController(); + ArrayList seen = new ArrayList<>(); + for (Integer productID : productIDsOnShelf.keySet()) { + Product product = pdc.retrieve(productID); + int numberOnShelf = productIDsOnShelf.containsKey(productID) ? productIDsOnShelf.get(productID) : 0; + int numberInStorage = productIDsInStorage.containsKey(productID) ? productIDsInStorage.get(productID) : 0; + int sum = numberOnShelf + numberInStorage; + stock.put(product.getName(), sum); + seen.add(productID); + } + + for (Integer productID : productIDsInStorage.keySet()) { + if (! seen.contains(productID)) { + Product product = pdc.retrieve(productID); + stock.put(product.getName(), productIDsInStorage.get(productID)); + } + } + + for (String productNameString : stock.keySet()) { + String totalStock = stock.get(productNameString).toString(); + table.addData(new InStockTableRow(productNameString, totalStock)); + } + } + + public void loadDemographicsTable() { + loadDemographicsTable(this.customers, this.table); + } + + public void loadDemographicsTable(List customers) { + this.customers = customers; + loadDemographicsTable(); + } + + /** + * + * @param customers + * @param table + * @param inputZero to differentiate the differetn tableloaders, no real function + */ + public static void loadDemographicsTable(List customers, VisualizationTable table) { + + table.wipeTable(); + + if (customers == null || table == null) { + return; + } + + for (Customer customer: customers) { + table.addData(new DemographicsTableRow(customer.getID(), customer.getFirstName(), customer.getLastName(), customer.getAddress(), customer.getZip(), customer.getGender(), customer.getAge(), customer.getNumberOfPersonsInHousehold())); + } + } + + /** + * Load the data in the productIDsInShelf-Map into the table. C + * Only uses the data in the instance. Is called by the constructor. + */ + public void loadInShelvesTable() { + loadInShelvesTable(this.productIDsOnShelf, this.table); + } + + /** + * Loads the table with new data from the productIDsOnShelf-Map + * @param productIDsOnShelf + */ + public void loadInShelvesTable(Map productIDsOnShelf) { + this.productIDsOnShelf = productIDsOnShelf; + loadInShelvesTable(); + } + + /** + * + * @param productIDsOnShelf A map of productIDs and amount on shelves + * @param table The visualization table for onShelfMode + */ + public static void loadInShelvesTable(Map productIDsOnShelf, VisualizationTable table) { + + table.wipeTable(); + + if (productIDsOnShelf == null || table == null) { + return; + } + Map shelves = new HashMap(); + ProductDatabaseController pdc = new ProductDatabaseController(); + for (Integer productID : productIDsOnShelf.keySet()) { + Product product = pdc.retrieve(productID); + int numberOnShelf = productIDsOnShelf.containsKey(productID) ? productIDsOnShelf.get(productID) : 0; + shelves.put(product.getName(), numberOnShelf); + } + for (String productNameString : shelves.keySet()) { + String amount = shelves.get(productNameString).toString(); + table.addData(new OnShelvesTableRow(productNameString, amount)); + } + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java new file mode 100644 index 0000000..a1b788a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java @@ -0,0 +1,13 @@ +/** + * + */ +package tdt4140.gr1864.app.ui.globalUIModel; + +/** + * @author Hakon Strandlie + * Not yet implemented. Exists so that future Visualizations with options can be created, such as graphs and diagrams. + * + */ +public class InteractionViewController { + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java new file mode 100644 index 0000000..7f4927c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java @@ -0,0 +1,29 @@ +package tdt4140.gr1864.app.ui.globalUIModel; + +import javafx.scene.control.ListCell; + +public class MenuCell extends ListCell { + + /** + * The contents of the menu. Just a simple extention on the ListCell-class. + */ + @Override + protected void updateItem(String name, boolean empty) { + super.updateItem(name, empty); + if (name == null || empty) { + setText(null); + } + else { + setText(name); + if (name.contains("Average")) { + this.setDisable(true); + } + else { + this.setDisable(false); + } + } + } + + + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java new file mode 100644 index 0000000..723ab00 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java @@ -0,0 +1,99 @@ +/** + * + */ +package tdt4140.gr1864.app.ui.globalUIModel; + + +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.util.Callback; + +/** + * @author Hakon Strandlie + * The Controller for the menu View. Also contains a reference to the ModeController to be able to let it know when the user selects a different menuItem + * + */ +public class MenuViewController { + + /* + * The reference to the modeController as specified above + */ + private ModeController modeController; + + /** + * The list of items that populate the menu. In this case just strings (Names of modes) + */ + private ObservableList items; + + /** + * The reference to the actual menuListView shown to the user + */ + @FXML + private ListView menuListView; + + /** + * Is called after the GUI is created and the reference to the menuListView is created. Is used to specify the cellFactory + */ + @FXML + public void initialize() { + menuListView.setCellFactory(new Callback, ListCell>() { + + public ListCell call(ListView list) { + return new MenuCell(); + } + } + ); + menuListView.setEditable(false); + + this.items = menuListView.getItems(); + + menuListView.getSelectionModel().selectedItemProperty().addListener( + new ChangeListener() { + public void changed(ObservableValue property, String oldValue, String newValue) { + if (! newValue.equals(oldValue)){ + if (modeController.isValidMode(newValue)) { + modeController.modeChanged(newValue); + } + else { + throw new IllegalStateException("Cannot change mode to " + newValue + " from " + oldValue); + } + } + else { + System.out.println("Nothing was done"); + return; + } + } + } + ); + } + + public void updateTopMenuItem(String newValue) { + this.items.set(0, newValue); + } + + /** + * Used to add another item to the menu. Just a String. Should match the name of a mode, or else the modeController will throw an error when the item is selected + * Is called by the ModeController when a new mode is created. + * @param item The name of the new MenuItem + */ + protected void addMenuItem(String item) { + items.add(item); + } + + /** + * Used by the modeController during its initialize()-method to register itself. The menuViewController uses it to let the modeController know that the user + * selected a new mode + * @param modeController the modeController that controls this menuViewController + */ + protected void setModeController(ModeController modeController) { + if (modeController == null) { + throw new IllegalArgumentException("modeController cannot be null"); + } + this.modeController = modeController; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java new file mode 100644 index 0000000..c1d23a6 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java @@ -0,0 +1,433 @@ +package tdt4140.gr1864.app.ui.globalUIModel; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import tdt4140.gr1864.app.core.Customer; +import java.sql.SQLException; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import tdt4140.gr1864.app.core.Receipt; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DataLoader; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.*; +import tdt4140.gr1864.app.ui.scheduling.GUIUpdaterRunnable; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; + +import tdt4140.gr1864.app.ui.TableLoader; +import tdt4140.gr1864.app.ui.Mode.Mode; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; + +import javafx.fxml.FXML; +import javafx.application.Platform; + +/** + * Initializes the different modes, and handles the switching between them. Also hands of responsibility + * to the sub-controllerclasses. Also runs the dataloader + * @author HÃ¥kon Strandlie + * + */ +public class ModeController { + /** + * Different modes saved with their names as key. Only valid Modes exist here. + */ + private HashMap modes; + + /** + * The current mode for easy getting and comparing. + */ + private Mode currentMode; + + + /** + * The controller responsible for showing the menu to the user + */ + @FXML + private MenuViewController menuViewController; + + /** + * The controller responsible for showing the visualizationView to the user + */ + @FXML + private VisualizationViewController visualizationViewController; + + /** + * The controller responsible for the interactionView. Not yet implemented, but will be when we get visualization + * views with options, such as graphs and diagrams + */ + @FXML + private InteractionViewController interactionViewController; + + /** + * Is called automatically by JavaFX after the scene is set up and the @FXML-variables are connected + * Is used here to set up the different modes and set the initial mode + * @throws SQLException + */ + @FXML + public void initialize() throws SQLException { + this.modes = new HashMap(); + + /** + * The menuViewController needs a reference to it's mode controller to let it know when the user + * has selected a different Mode + */ + menuViewController.setModeController(this); + + /* + * MostPickedUp + */ + VisualizationTable mostPickedUpTable = new VisualizationTable("Most Picked-Up Product"); + mostPickedUpTable.addColumn("productName"); + mostPickedUpTable.addColumn("numberOfPickUp"); + mostPickedUpTable.addColumn("numberOfPutDown"); + mostPickedUpTable.addColumn("numberOfPurchases"); + Mode mostPickedUp = new Mode("Most Picked Up", mostPickedUpTable); + + /* + * Stock + */ + VisualizationTable stockTable = new VisualizationTable("Stock"); + stockTable.addColumn("productName"); + stockTable.addColumn("numberInStock"); + Mode stock = new Mode("Stock", stockTable); + + /* + * DEMOGRAPHICS MODE + */ + VisualizationTable demographicsTable = new VisualizationTable("Demographics");//, customerList); + demographicsTable.addColumn("customerId"); + demographicsTable.addColumn("firstName"); + demographicsTable.addColumn("lastName"); + demographicsTable.addColumn("address"); + demographicsTable.addColumn("zip"); + demographicsTable.addColumn("gender"); + demographicsTable.addColumn("age"); + demographicsTable.addColumn("numOfPersonInHouse"); + Mode demographicsMode = new Mode("Demographics", demographicsTable); + + /* + * ON SHELF MODE + */ + VisualizationTable onShelvesTable = new VisualizationTable("Shelves");//, productIDsOnShelf); + onShelvesTable.addColumn("productName"); + onShelvesTable.addColumn("numberOnShelves"); + Mode shelves = new Mode("Shelves", onShelvesTable); + + Mode durationMode = new Mode("", null); + + + /* + * HEAT MAP MODE + */ + VisualizationHeatMap heatMap = new VisualizationHeatMap("Heatmap"); + Mode heatMapMode = new Mode("Heatmap", heatMap); + + /* + * PLOT MODE + */ + VisualizationSimplePlot plot = new VisualizationSimplePlot("Plot"); + Mode plotMode = new Mode("Plot", plot); + + + addMode(durationMode); // Must be the first mode + addMode(mostPickedUp); + addMode(stock); + addMode(demographicsMode); + addMode(shelves); + addMode(heatMapMode); + addMode(plotMode); + + updateMostPickedUpTable(); + updateStockTable(); + updateDemographicsTable(); + updateShelvesTable(); + updateDurationModeField(); + updateHeatMap(); + updatePlot(); + + ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + executor.scheduleAtFixedRate(runnable, 10, 10, TimeUnit.SECONDS); + setMode(mostPickedUp); + } + /** + * Adds a mode. Used by the initialize-methods. Does not allow Modes with equal names + * + * @param mode An already constructed mode + */ + public void addMode(Mode mode) { + if (!modes.containsKey(mode.getName())) { + modes.put(mode.getName(), mode); + menuViewController.addMenuItem(mode.getName()); + } + } + + /** + * Removes a mode + * @param mode: mode to be removed + */ + public void removeMode(Mode mode) { + if (modes.containsKey(mode)) { + modes.remove(mode); + } + } + + /** + * Returns an already created mode from its name, or null if it does not exist + * + * @param name String The name of the wanted Mode + * @return Mode The mode, or null + */ + public Mode getMode(String name) { + return this.modes.getOrDefault(name, null); + } + + /** + * Returns the mode with a similar name as the input string, or null + * @param name The string name to match against + * @return The Mode, or null + */ + public Mode getModeWithSimilarNameAs(String name) { + for (String key : this.modes.keySet()) { + if (key.contains(name)) { + return getMode(key); + } + } + return null; + } + + /** + * Gets the mode currently shown to the user + * + * @return Mode The currently shown Mode + */ + public Mode getCurrentMode() { + return this.currentMode; + } + + /** + * Checks if the Mode already exists for this ModeController. If it does it sets it, and shows it to the user + * Can be improved by setting the table as a listener on the currentMode-variable + * @param mode Mode the mode we wish to set + */ + private void setMode(Mode mode) { + if (!isValidMode(mode.getName())) { + throw new IllegalArgumentException(mode.getName() + " is not a valid mode"); + } + this.currentMode = mode; + + switch (getCurrentMode().getName()) { + case "Demographics": + updateDemographicsTable(); + break; + case "Most Picked Up": + updateMostPickedUpTable(); + break; + case "Heatmap": + updateHeatMap(); + break; + case "Plot": + updatePlot(); + break; + case "Shelves": + updateShelvesTable(); + break; + case "Stock": + updateStockTable(); + break; + default: + throw new IllegalStateException("Not a valid modename"); + + } + this.visualizationViewController.setActiveElement(mode.getVisualizationElement()); + } + + /** + * Checks if the mode is a mode already created + * + * @param mode Mode The mode we wish to show to the user + * @return boolean 'true' if is an already existing mode + */ + public boolean isValidMode(String mode) { + if (this.modes.containsKey(mode)) { + return true; + } + return false; + } + + /** + * The method called by the menuViewController when the user selects a new item in the menu list + * It also wipes the data tables of the modes and re-loads them from DB. + * + * @param newMode String The String of the ListItem in the menu selected by the user + */ + public void modeChanged(String newMode) { + Mode mode = getMode(newMode); + if (mode == null) { + throw new IllegalStateException("modeChanged should not be called when there is no corresponding mode in modes"); + } + + this.currentMode = mode; + setMode(this.currentMode); + + } + + /** + * A method that extracts all trips from DB and fill them with their coordinates and actions + * @return An ArrayList of ShoppingTrips + */ + public ArrayList getShoppingTripsFromDB(){ + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + ActionDatabaseController adc = new ActionDatabaseController(); + CoordinateDatabaseController cdc = new CoordinateDatabaseController(); + + ArrayList shoppingTripList = new ArrayList<>(); + int iterator = 1; + while(true) { + ShoppingTrip trip = stdc.retrieve(iterator); + if (trip == null) { + break; + } + trip.setActions(adc.retrieveAll(iterator)); + trip.setCoordinates(cdc.retrieveAll(iterator)); + shoppingTripList.add(trip); + iterator++; + } + return shoppingTripList; + } + + + + /** + * Exracts and update shop drom DB and update shelves from a list of all shoppingtrips + * @param shoppingTripList An ArrayList of all shoppingtrips in DB + * @return The updated shop object + */ + public Shop getShopFromDBAndUpdateFromTrips(ArrayList shoppingTripList) { + ShopDatabaseController sdc = new ShopDatabaseController(); + Shop shop = sdc.retrieve(1); + shop.refreshShop(); + // Update the shop object + for (ShoppingTrip trip : shoppingTripList) { + shop.updateShopFromReceipt(new Receipt(trip)); + } + return shop; + } + + /** + * Method to get latest data from DB, and update the MostPickedUpTable with this new data. Also used for initializing the table. + */ + public void updateMostPickedUpTable() { + VisualizationTable mostPickedUpTable = (VisualizationTable) getMode("Most Picked Up").getVisualizationElement(); + + List shoppingTripList = getShoppingTripsFromDB(); + + TableLoader.loadMostPickedUpTable(shoppingTripList, mostPickedUpTable); + } + + /** + * Method to get latest data from DB, and update the StockTable with this new data. + */ + public void updateStockTable() { + ArrayList shoppingTripList = getShoppingTripsFromDB(); + Shop shop = getShopFromDBAndUpdateFromTrips(shoppingTripList); + + VisualizationTable stockTable = (VisualizationTable) getMode("Stock").getVisualizationElement(); + + TableLoader.loadStockTable(shop.getShelfs(), shop.getStorage(), stockTable); + } + + /** + * Method to get latest data from DB, and update the DemographicsTable with this new data. + */ + public void updateDemographicsTable() { + + CustomerDatabaseController cdc = new CustomerDatabaseController(); + + // Retrive list of customers + List customerList = cdc.retrieveAll(); + // Extract table, wipe and load + VisualizationTable table = (VisualizationTable) getMode("Demographics").getVisualizationElement(); + TableLoader.loadDemographicsTable(customerList, table); + } + + /** + * Method to get latest data from DB, and update the ShelvesTable with this new data. + */ + public void updateShelvesTable() { + // Retrieve the shopping trips from DB and put in a list + ArrayList shoppingTripList = getShoppingTripsFromDB(); + // Retrieve shop from DB and update from shoppingTrips + Shop shop = getShopFromDBAndUpdateFromTrips(shoppingTripList); + // Extract table and load + VisualizationTable table = (VisualizationTable) getMode("Shelves").getVisualizationElement(); + TableLoader.loadInShelvesTable(shop.getShelfs(), table); + + } + + + /** + * Method to get latest data from DB, and update the DurationModeField with a new value from this new data. + */ + public void updateDurationModeField() { + long sumOfDurations = 0; + int numberOfTrips = 0; + List allShoppingTrips = getShoppingTripsFromDB(); + for (ShoppingTrip trip : allShoppingTrips) { + numberOfTrips++; + sumOfDurations += trip.getDuration(); + } + + double average = (double) sumOfDurations / numberOfTrips / 1000 / 60; + DecimalFormat df = new DecimalFormat("#.#"); + String minutes = df.format(average); + this.menuViewController.updateTopMenuItem("Average time in store: " + minutes + "min"); + } + + + /** + * Method to get latest data from DB, and update the HeatMap from this new data. + */ + public void updateHeatMap() { + List shoppingTripList = getShoppingTripsFromDB(); + VisualizationHeatMap heatMap = (VisualizationHeatMap) getMode("Heatmap").getVisualizationElement(); + heatMap.setData(shoppingTripList); + } + + + /** + * Method to get latest data from DB, and update the Plot + */ + public void updatePlot() { + List shoppingTripList = getShoppingTripsFromDB(); + VisualizationSimplePlot plot = (VisualizationSimplePlot) getMode("Plot").getVisualizationElement(); + plot.setData(shoppingTripList); + } + + /** + * Calls the appropriate method to sort the TableView. Is called after the GUi updates itself. + */ + public void visualizationViewTableViewSort() { + this.visualizationViewController.sortTableView(); + } + + /** + * Code to be run every few seconds. + */ + Runnable guiUpdater = new GUIUpdaterRunnable(this); + Runnable runnable = new Runnable() { + @Override + public void run() { + Platform.runLater(guiUpdater); + } + }; +} + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java new file mode 100644 index 0000000..66f75eb --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java @@ -0,0 +1,83 @@ +package tdt4140.gr1864.app.ui.globalUIModel; + +import javafx.fxml.FXML; +import javafx.scene.control.TableView; +import javafx.scene.image.ImageView; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.TableRow; +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationInterface; + +/** + * The controller in charge of the VisualizationElement, the largest part of the app, which shows tables + * and other visualizations of data + * + * The controller initializes all the possible views, and hides and shows them + * when needed. + * + * @author Hakon Strandlie + * + */ +public class VisualizationViewController { + + /** + * The reference to the actual TableView shown to the user + */ + @FXML + private TableView tableView; + + /** + * The reference to the ImageView used to show pictures + */ + @FXML + private ImageView imageView; + + /** + * The method called after the TableView has been created. Only used here to make it not-editable + */ + @FXML + public void initialize() { + tableView.setEditable(false); + } + + + /** + * Takes an element that implements the VisualizationInterface, and + * loads the data from it into the GUI + * @param element + */ + public void setData(VisualizationInterface element) { + element.loadData(this.tableView, this.imageView); + } + + /** + * Changes the currently active VisualizationElement + * @param element The element that is to be active now + */ + public void setActiveElement(VisualizationInterface element) { + element.setAsActiveElement(this, this.tableView, this.imageView); + } + + /** + * Show, or not show the ImageView + * @param disable boolean + */ + public void imageViewSetDisable(boolean disable) { + this.imageView.setDisable(disable); + this.imageView.setVisible(!disable); + } + + /** + * Show or not show the TableView + * @param disable boolean + */ + public void tableViewSetDisable(boolean disable) { + this.tableView.setDisable(disable); + this.tableView.setVisible(!disable); + } + + /** + * Forces the tableView to sort itself. Is called after the UI polls the database, and updates itself. + */ + public void sortTableView() { + this.tableView.sort(); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java new file mode 100644 index 0000000..7ab5e9e --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java @@ -0,0 +1,44 @@ +package tdt4140.gr1864.app.ui.scheduling; + +import tdt4140.gr1864.app.ui.globalUIModel.ModeController; + +public class GUIUpdaterRunnable implements Runnable { + + private ModeController mc; + + public GUIUpdaterRunnable(ModeController mc) { + this.mc = mc; + } + + @Override + public void run() { + // Must always be updated, since it is always visible to the user + mc.updateDurationModeField(); + + switch (mc.getCurrentMode().getName()) { + case "Demographics": + mc.updateDemographicsTable(); + break; + case "Most Picked Up": + mc.updateMostPickedUpTable(); + break; + case "Heatmap": + mc.updateHeatMap(); + break; + case "Plot": + mc.updatePlot(); + break; + case "Shelves": + mc.updateShelvesTable(); + break; + case "Stock": + mc.updateStockTable(); + break; + default: + throw new IllegalStateException("Not a valid modename"); + + } + mc.visualizationViewTableViewSort();; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml new file mode 100644 index 0000000..40b080a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml @@ -0,0 +1,8 @@ + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md new file mode 100644 index 0000000..8fa86fc --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md @@ -0,0 +1 @@ +# Resources for the UI, including the FXML \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml new file mode 100644 index 0000000..fc0e6aa --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml new file mode 100644 index 0000000..c6d742b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml new file mode 100644 index 0000000..02d6a6f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + +

+ + + + + + +
+ + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml new file mode 100644 index 0000000..8753755 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java new file mode 100644 index 0000000..d2fa416 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java @@ -0,0 +1,21 @@ +package tdt4140.gr1864.app.ui; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.testfx.framework.junit.ApplicationTest; + +public class FxAppTest extends ApplicationTest { + + @BeforeClass + public static void headless() { + if (Boolean.valueOf(System.getProperty("gitlab-ci", "false"))) { + GitlabCISupport.headless(); + } + } + + @Test + public void testFxApp() { + Assert.assertTrue(true); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java new file mode 100644 index 0000000..9d653b5 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java @@ -0,0 +1,15 @@ +package tdt4140.gr1864.app.ui; + +public class GitlabCISupport { + + public static void headless() { + System.setProperty("prism.verbose", "true"); // optional + System.setProperty("java.awt.headless", "true"); + System.setProperty("testfx.robot", "glass"); + System.setProperty("testfx.headless", "true"); + System.setProperty("glass.platform", "Monocle"); + System.setProperty("monocle.platform", "Headless"); + System.setProperty("prism.order", "sw"); + System.setProperty("prism.text", "t2k"); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java new file mode 100644 index 0000000..d34f8a4 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java @@ -0,0 +1,33 @@ +package tdt4140.gr1864.app.ui.Mode; + +import org.junit.Before; +import org.junit.Test; + + +import org.junit.Assert; + +import tdt4140.gr1864.app.ui.Mode.VisualizationElement.VisualizationTable; + +public class ModeTest { + Mode mode; + VisualizationTable table; + + @Before + public void setup() { + table = new VisualizationTable("TestTable"); + mode = new Mode("Test", table); + } + + @Test + public void testVisualizationElementContainsTable() { + Assert.assertEquals(this.table, this.mode.getVisualizationElement()); + } + + @Test + public void testVisualizationTableHasName() { + Assert.assertEquals("Test", this.mode.getName()); + } + + + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java new file mode 100644 index 0000000..39138fb --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java @@ -0,0 +1,56 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class DemographicsTableRowTest { + + private DemographicsTableRow demographicsRow; + + @Before + public void setup() { + this.demographicsRow = new DemographicsTableRow(1, "Billy", "Marsvinsen", "Moose Road 5", 200, "Male", 32, 2); + } + + @Test + public void testGetCustomerIdExpectOne() { + Assert.assertEquals("1", this.demographicsRow.getCustomerId()); + } + + @Test + public void testGetFirstNameExpectBilly() { + Assert.assertEquals("Billy", this.demographicsRow.getFirstName()); + } + + @Test + public void testGetLastNameExpectMarsvinsen() { + Assert.assertEquals("Marsvinsen", this.demographicsRow.getLastName()); + } + + @Test + public void testGetAddressExpectMooseRoad5() { + Assert.assertEquals("Moose Road 5", this.demographicsRow.getAddress()); + } + + @Test + public void testGetZipExpect200() { + Assert.assertEquals("200", this.demographicsRow.getZip()); + } + + @Test + public void testGetGenderExpectMale() { + Assert.assertEquals("Male", this.demographicsRow.getGender()); + } + + @Test + public void testGetAgeExpect32() { + Assert.assertEquals("32", this.demographicsRow.getAge()); + } + + @Test + public void testGetNumOFPersonInHouseExpect2() { + Assert.assertEquals("2", this.demographicsRow.getNumOfPersonInHouse()); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java new file mode 100644 index 0000000..d9af46e --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java @@ -0,0 +1,31 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class InStockTableRowTest { + + private InStockTableRow inStockRow; + + @Before + public void setup() { + this.inStockRow = new InStockTableRow("Bille", "200"); + } + + @Test + public void testGetProductNameExpectBille() { + Assert.assertEquals("Bille", this.inStockRow.getProductName()); + } + + @Test + public void testGetSizeExpectSize() { + Assert.assertEquals(2, this.inStockRow.getSize()); + } + + @Test + public void testGetNumberInStockExpect200() { + Assert.assertEquals("200", this.inStockRow.getNumberInStock()); + } + +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java new file mode 100644 index 0000000..ba9b973 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java @@ -0,0 +1,52 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class MostPickedUpTableRowTest { + + private MostPickedUpTableRow mostPickedUpRow; + + @Before + public void setup() { + this.mostPickedUpRow = new MostPickedUpTableRow("Bolle", "2", "1"); + } + + @Test + public void testGetProductNameExpectProductName() { + Assert.assertEquals("Bolle", this.mostPickedUpRow.getProductName()); + } + + @Test + public void testGetNumberOfPickupsExpectTwo() { + Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPickUp()); + } + + @Test + public void testGetNumberOfPutDownExpectOne() { + Assert.assertEquals("1", this.mostPickedUpRow.getNumberOfPutDown()); + } + + @Test + public void testGetNumberOfPurchasesExpectOne() { + Assert.assertEquals("1", this.mostPickedUpRow.getNumberOfPurchases()); + } + + @Test + public void testGetSizeExpectSize() { + Assert.assertEquals(4, this.mostPickedUpRow.getSize()); + } + + @Test + public void testSetNewNumberOfPickUpExpecTwo() { + this.mostPickedUpRow.setNumberOfPickUp("3"); + Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPurchases()); + } + + @Test + public void testSetNewNumberOfPutDownExpectTwo() { + this.mostPickedUpRow.setNumberOfPutDown("0"); + Assert.assertEquals("2", this.mostPickedUpRow.getNumberOfPurchases()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java new file mode 100644 index 0000000..281b02b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java @@ -0,0 +1,62 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class RowTest { + + Row row4; + Row row2; + Row row1; + + @Before + public void setup() { + this.row4 = new Row("Bolle", "1", "2", "1"); + this.row2 = new Row("Bille", "200", "stock"); + this.row1 = new Row("Banan", "60", "onShelves"); + } + + @Test + public void testAggregateHasExpectedProductName() { + Assert.assertEquals("Bolle", this.row4.getProductName()); + Assert.assertEquals("Bille", this.row2.getProductName()); + } + + @Test + public void testAggregateHasExpectedNumberOfPickUp() { + Assert.assertEquals("1", this.row4.getNumberOfPickUp()); + } + + @Test + public void testAggregateHasExpectedNumberOfPutDowns() { + Assert.assertEquals("2", this.row4.getNumberOfPutDown()); + } + + @Test + public void testAggregateHasExpectedNumberOfPurchases() { + Assert.assertEquals("1", this.row4.getNumberOfPurchases()); + } + + @Test + public void testAggregateHasExpectedSize() { + Assert.assertEquals(4, this.row4.getSize()); + Assert.assertEquals(2, this.row2.getSize()); + } + + @Test + public void testAggregateHasExpectedNumberInStock() { + Assert.assertEquals("200", this.row2.getNumberInStock()); + } + + @Test + public void testAggregateDoesNotHaveUnapplicableFields() { + Assert.assertNull(this.row2.getNumberOfPickUp()); + Assert.assertNull(this.row4.getNumberInStock()); + } + + @Test + public void testAggregateHasExpectedNumberOnSHelves() { + Assert.assertEquals("60", row1.getNumberOnShelves()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java new file mode 100644 index 0000000..36f3b29 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java @@ -0,0 +1,56 @@ +package tdt4140.gr1864.app.ui.Mode.VisualizationElement; + +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; + +import org.junit.Assert; + +public class VisualizationTableTest { + + VisualizationTable table; + ArrayList columnNames; + + + @Before + public void setup() { + this.table = new VisualizationTable("TestTable"); + this.columnNames = new ArrayList(); + this.columnNames.add("productName"); + this.columnNames.add("numberInStock"); + this.table.addColumns(columnNames); + } + + @Test + public void testTableCanAddValidColumn() { + this.table.addColumn("numberOfPickUp"); + Assert.assertTrue(this.table.hasColumn("Number Of Pick Ups")); + } + + @Test + public void testTableCanNotAddInvalidColumn() { + try { + this.table.addColumn("notValidName"); + } + catch (Exception e) {} + + Assert.assertFalse(this.table.hasColumn("Not valid")); + } + + @Test + public void testTableHasExpectedNumberOfColumns() { + Assert.assertEquals(2, this.table.getSize()); + this.table.addColumn("numberOfPickUp"); + Assert.assertEquals(3, this.table.getSize()); + } + + @Test + public void canAddData() { + Assert.assertTrue(this.table.getData().size() == 0); + InStockTableRow agg = new InStockTableRow("Bolle", "1"); + + this.table.addData(agg); + Assert.assertEquals(agg, this.table.getData().get(0)); + } +} diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md new file mode 100644 index 0000000..32a5b77 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md @@ -0,0 +1 @@ +# Tests for the UI, currently empty (besides loading the UI) \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml new file mode 100644 index 0000000..279413e --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md new file mode 100644 index 0000000..191401c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md @@ -0,0 +1 @@ +# Resources for the UI tests \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app/.classpath b/EC-Shop/tdt4140-gr1864/app/.classpath new file mode 100644 index 0000000..af1430b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/.classpath @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/app/.project b/EC-Shop/tdt4140-gr1864/app/.project new file mode 100644 index 0000000..14affec --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/.project @@ -0,0 +1,23 @@ + + + app + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..f9fe345 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..714351a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/EC-Shop/tdt4140-gr1864/app/pom.xml b/EC-Shop/tdt4140-gr1864/app/pom.xml new file mode 100644 index 0000000..861fc8b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + + tdt4140-gr1864 + tdt4140-gr1864 + 0.0.1-SNAPSHOT + + tdt4140-gr1864 + app + 0.0.1-SNAPSHOT + app + http://maven.apache.org + + UTF-8 + + + + junit + junit + 3.8.1 + test + + + tdt4140-gr1864 + tdt4140-gr1864.app.core + 0.0.1-SNAPSHOT + + + tdt4140-gr1864 + tdt4140-gr1864.app.ui + 0.0.1-SNAPSHOT + + + tdt4140-gr1864 + web.server + 0.0.1-SNAPSHOT + + + diff --git a/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java b/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java new file mode 100644 index 0000000..54560bd --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java @@ -0,0 +1,77 @@ +package org.app; + +import org.web.server.JettyServer; + +import tdt4140.gr1864.app.core.dataMocker.DataMocker; +import tdt4140.gr1864.app.core.database.DataLoader; +import tdt4140.gr1864.app.ui.AppListener; +import tdt4140.gr1864.app.ui.OwnerApp; + +/** + * The App class starts the entire system and closes all parts of the + * system cleanly when the owner application is closed. This needs to + * be done in a separate module to prevent circular dependencies, as + * starting the application depends on all the other modules. + */ +public class App implements AppListener { + /** + * A common shared App instance. + */ + private static App app; + + /** + * The Thread running the DataMocker. + */ + private Thread mockerThread; + + /** + * A simple wrapper around the Jetty server. + */ + private JettyServer server; + + /** + * @return A shared instance of App. + * @throws Exception + */ + public static App initialize() throws Exception { + if (app != null) { + return app; + } + + return app = new App(); + } + + /** + * Starts all parts of the application. + * @throws Exception + */ + private App() throws Exception { + // Populate database with data. + DataLoader.main(null); + + // Listen for closing. + OwnerApp.addListener(this); + + // Start the data mocker in a separate thread. + // DataMocker mocker = new DataMocker(); + // mockerThread = new Thread(mocker); + // mockerThread.start(); + + server = new JettyServer(); + server.start(); + } + + /** + * Closes the application by stopping the mocker and the server when the UI closes. + */ + public void appClosed() throws Exception { + // mockerThread.interrupt(); + server.stop(); + System.exit(0); + } + + public static void main(String[] args) throws Exception { + App.initialize(); + OwnerApp.launch(OwnerApp.class, args); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/database.sql b/EC-Shop/tdt4140-gr1864/database.sql new file mode 100644 index 0000000..ab9a26b --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/database.sql @@ -0,0 +1,85 @@ +CREATE TABLE customer( +customer_id integer primary key autoincrement, +first_name varchar(30) not null, +last_name varchar(30) not null, +age int not null, +sex varchar(15) not null +); + +CREATE TABLE bought( +shopping_trip_id int not null, +product_id int not null, +amount int not null, +primary key(shopping_trip_id, product_id) +); + +CREATE TABLE zip( +zipcode int primary key, +city varchar(30) not null +); + +CREATE TABLE coordinate( +shopping_trip_id int, +timestamp int, +x real not null, +y real not null, +primary key(shopping_trip_id, timestamp) +); + +CREATE TABLE action( +shopping_trip_id int, +timestamp int, +description varchar(255) not null, +product_id int not null, +primary key(shopping_trip_id, timestamp), +foreign key (product_id) references product(product_id) +); + +CREATE TABLE on_shelf( +shop_id int, +product_id int, +amount int not null, +primary key(shop_id, product_id) +); + +CREATE TABLE shop( +shop_id int primary key, +address varchar(30) not null, +zip int not null, +foreign key(zip) references zip(zipcode), +foreign key(shop_id) references on_shelf(shop_id), +foreign key(shop_id) references storage(shop_id) +); + +CREATE TABLE in_storage( +storage_id int, +product_id int, +amount int not null, +primary key(storage_id, product_id) +); + +CREATE TABLE storage( +storage_id int, +shop_id int, +primary key(storage_id, shop_id), +foreign key(storage_id) references in_storage(storage_id) +); + +CREATE TABLE shopping_trip( +shopping_trip_id integer primary key autoincrement, +customer_id int not null, +shop_id int not null, +foreign key(customer_id) references customer(customer_id), +foreign key(shop_id) references shop(shop_id), +foreign key(shopping_trip_id) references action(shopping_trip_id), +foreign key(shopping_trip_id) references coordinate(shopping_trip_id), +foreign key(shopping_trip_id) references bought(shopping_trip_id) +); + +CREATE TABLE product( +product_id integer primary key autoincrement, +name varchar(40) not null, +price int not null, +foreign key(product_id) references on_shelf(product_id), +foreign key(product_id) references bought(product_id) +); \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/pom.xml b/EC-Shop/tdt4140-gr1864/pom.xml new file mode 100644 index 0000000..eb1d49c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + tdt4140-gr1864 + tdt4140-gr1864 + 0.0.1-SNAPSHOT + pom + + + 1.8 + 1.8 + + + + app.core + app.ui + web.server + app + + diff --git a/EC-Shop/tdt4140-gr1864/web.server/.classpath b/EC-Shop/tdt4140-gr1864/web.server/.classpath new file mode 100644 index 0000000..4b2fcd0 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/.classpath @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/web.server/.project b/EC-Shop/tdt4140-gr1864/web.server/.project new file mode 100644 index 0000000..3ac3dd6 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/.project @@ -0,0 +1,20 @@ + + + web.server + NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + tdt4140-gr1864.app.core + + + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.m2e.core.maven2Builder + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..f9fe345 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..714351a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/EC-Shop/tdt4140-gr1864/web.server/README.md b/EC-Shop/tdt4140-gr1864/web.server/README.md new file mode 100644 index 0000000..89357ae --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/README.md @@ -0,0 +1,124 @@ +# web.server module - REST API using Jetty and Servlet + +A REST-API module for the *E.C. Store* application. Includes a functioning +REST-API (running on Jetty, using Java Servlets), and a persistance-layer ontop +of the database-base system in `app.core`. + + +## Dependencies +* `app.core`-module +* Jetty 9.3.2 +* Servlet 3.1 + +## End-points + +### Authorization +To authorize your requests, query-param `"customer_id"` is required, with a +valid ID corresponding to the data that is manipulated. + +### /api/v1/shoppingtrip/ +#### Permitted actions +* `GET`: Retrieve shopping trips corresponding to a customer +* `POST`: Submit a shopping trip for a customer + +#### Format +```json +{ + "customerID": [integer, required], + "coordinates": [ + { + "x": [double, required], + "y": [double, required], + "timestamp": [long, required] + } + ], + "actions": [ + { + "actionType": [binary-integer, required], + "productID": [integer, required], + "timestamp": [long, required] + } + ], + "duration": [long, required] +} +``` + +### /api/v1/customer/ +#### Permitted actions +* `GET`: Retrieve customer information +* `POST`: Submit a new customer +* `PUT`: Update a custmer's data +* `DELETE`: Delete customer data + +#### Format: +```json +{ + "firstName": [string, required], + "lastName": [string, required], + "address": [string], + "zip": [integer], + "gender": [string], + "age": [integer], + "numberOfPersonsInHousehold": [integer], + "recommendedProductID": [integer, read-only], + "anonymous": [boolean, required], + "deleted": [boolean], + "customerID": [integer, read-only] +} +``` + +### /api/v1/customer/recommendation/ +#### Permitted actions +* `GET`: Retrieve purchase-recommendation for a customer + +#### Format: +```json +{ + "name": [string, read-only], + "price":[double, read-only], + "id": [integer, read-only] +} +``` + +### /api/v1/customer/statistics/ +#### Permitted actions +* `GET`: Retrieve purchase-statistics for a customer + +#### Format: +```json +[ + { + "amount": [integer, read-only], + "product": { + "name": [string, read-only], + "price":[double, read-only], + "id": [integer, read-only] + } + }, +] +``` + +### /api/v1/customer/receipt/ +#### Permitted actions: +* `GET`: Retrieve all receipts for a customer + +#### Format: +```json +[ + { + "date": [long, read-only], + "charged": [boolean, read-only], + "totalPrice": [double, read-only], + "items": { + [string, product-name, read-only]: { + "total": [double, read-only], + "amount": [integer, read-only] + }, + [string, product-name, read-only]: { + "total": [double, read-only], + "amount": [integer, read-only] + }, + } + } +] +``` diff --git a/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json b/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json new file mode 100644 index 0000000..1d7e081 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json @@ -0,0 +1,2 @@ +{"firstName":"fornavn","lastName":"etternvan","address":"addresse","zip":10,"gender":null,"age":0,"numberOfPersonsInHousehold":1,"shoppingTrips":null,"recommendedProductID":-1,"anonymous":false,"customerID":1} + diff --git a/EC-Shop/tdt4140-gr1864/web.server/customer.json b/EC-Shop/tdt4140-gr1864/web.server/customer.json new file mode 100644 index 0000000..afcdabb --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/customer.json @@ -0,0 +1,9 @@ +{ + "customerID": 1, + "firstName": "fornavn", + "lastName": "etternavn", + "address": "addresse", + "zip": 1020, + "recommendedProduct": -1 +} + diff --git a/EC-Shop/tdt4140-gr1864/web.server/pom.xml b/EC-Shop/tdt4140-gr1864/web.server/pom.xml new file mode 100644 index 0000000..8d2eb63 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/pom.xml @@ -0,0 +1,124 @@ + + + 4.0.0 + jar + + + tdt4140-gr1864 + tdt4140-gr1864 + 0.0.1-SNAPSHOT + + + tdt4140-gr1864 + web.server + 0.0.1-SNAPSHOT + web.server + http://maven.apache.org + + + UTF-8 + 9.3.9.v20160517 + + + + tdt4140-gr1864 + tdt4140-gr1864.app.core + 0.0.1-SNAPSHOT + + + junit + junit + 4.12 + test + + + javax.servlet + javax.servlet-api + 3.1.0 + + + org.eclipse.jetty + jetty-server + ${jettyVersion} + + + org.eclipse.jetty + jetty-webapp + ${jettyVersion} + + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.0 + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + + + + org.eclipse.jetty + jetty-maven-plugin + ${jettyVersion} + + 0 + stopMe + 9966 + + + + start-jetty + pre-integration-test + + start + + + + stop-jetty + post-integration-test + + stop + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + 2.16 + + + integration-test + + integration-test + + + + verify + + verify + + + + + + + diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java new file mode 100644 index 0000000..1045bda --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java @@ -0,0 +1,233 @@ +package org.web.server; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.json.simple.JSONObject; +import org.web.server.persistance.Persister; +import org.web.server.serializers.Serializer; + +import tdt4140.gr1864.app.core.Customer; + +public abstract class AbstractServlet extends HttpServlet{ + + /** + * Enum class for HTTP methods. + * @author Ruben Johannessen + */ + public enum HTTPMethod { + GET("GET"), + POST("POST"), + PUT("PUT"), + DELETE("DELETE"); + + private final String method; + + private HTTPMethod(String method) { + this.method = method; + } + + public String toString() { + return this.method; + } + } + + private final String JSONRespons = "application/json"; + + @SuppressWarnings("rawtypes") + protected Class cl; + + protected Serializer serializer = Serializer.init(); + protected Persister persister = Persister.init(); + + protected boolean hasGet = true, + hasPost = true, + hasPut = true, + hasDelete = true; + protected JSONObject options = new JSONObject(); + + /** + * Setup method called when servlet is created. Must set Class cl field. + */ + protected abstract void setup(); + + @Override + public void init() throws ServletException { + setup(); + super.init(); + } + + /* + * Under is `do***` method for the five different request-methods we support. + * You can disable a method by setting the `has***` fields for the specific method to false in setup. + * `do***` methods can be overridden if needed. + * + * Options method sends the `options` JSONObject with the response, witch can be used to describe wanted JSON syntax. + */ + //TODO: HTTP Errors + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + if (! hasGet) resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + + // Authorize + int customerID = -1; + try { + customerID = Integer.parseInt(req.getParameter("customer-id")); + } catch (NumberFormatException e) { + resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); + return; + } catch (Exception e) { + e.printStackTrace(); + resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + String json = ""; + try { + json = persister.read(customerID, cl); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + resp.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } catch (Exception e) { + e.printStackTrace(); + resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + System.out.println(json); + if (json == null || json.equals("null")) { + resp.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } + + resp.setContentType(JSONRespons); + resp.setStatus(HttpServletResponse.SC_OK); + resp.getWriter().println(json); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + if (! hasPost) { + resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + return; + } + + // Authorize + int customerID = -1; + try { + customerID = Integer.parseInt(req.getParameter("customer-id")); + } catch (NumberFormatException e) { + resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); + return; + } catch (Exception e) { + e.printStackTrace(); + resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + int id = -1; + try { + id = serializer.deserialize(req.getReader(), cl, HTTPMethod.POST); + } catch (Exception e) { + e.printStackTrace(); + resp.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } + + // For returning ID of posted object + JSONObject jID = new JSONObject(); + jID.put("id", id); + + resp.setContentType(JSONRespons); + resp.setStatus(HttpServletResponse.SC_OK); + resp.getWriter().println(jID.toJSONString()); + + } + + @Override + protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + if (! hasPut) { + resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + return; + } + + // Authorize + int customerID = -1; + try { + customerID = Integer.parseInt(req.getParameter("customer-id")); + } catch (NumberFormatException e) { + resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); + return; + } catch (Exception e) { + resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + try { + serializer.deserialize(req.getReader(), cl, HTTPMethod.PUT); + } catch (Exception e) { + resp.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } + resp.setContentType(JSONRespons); + resp.setStatus(HttpServletResponse.SC_OK); + } + + @Override + protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + if (! hasDelete) { + resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + return; + } + + // Authorize + int customerID = -1; + try { + customerID = Integer.parseInt(req.getParameter("customer-id")); + } catch (NumberFormatException e) { + resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); + return; + } catch (Exception e) { + resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + try { + /* + * Ugly implementation of deleting Customer + * No other end-points should support deleting anyways... + */ + if (cl == Customer.class) { + persister.deleteCustomer(customerID); + } else { + serializer.deserialize(req.getReader(), cl, HTTPMethod.POST); + } + } catch (Exception e) { + resp.sendError(HttpServletResponse.SC_BAD_REQUEST); + return; + } + resp.setContentType(JSONRespons); + resp.setStatus(HttpServletResponse.SC_OK); + } + + @Override + protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + // TODO Add example request + resp.setContentType(JSONRespons); + resp.setStatus(HttpServletResponse.SC_OK); + + String allow = "OPTIONS, " + + (hasGet ? HTTPMethod.GET.toString() + ", " : "") + + (hasPost ? HTTPMethod.POST.toString() + ", " : "") + + (hasPut ? HTTPMethod.PUT.toString() + ", ": "") + + (hasDelete ? HTTPMethod.DELETE.toString() + ", ": ""); + allow = allow.substring(0, allow.length() - 2); + + resp.addHeader("Allow", allow); + resp.getWriter().print(options); + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java new file mode 100644 index 0000000..65cd11a --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java @@ -0,0 +1,13 @@ +package org.web.server; + +import tdt4140.gr1864.app.core.Customer; + +public class CustomerServlet extends AbstractServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void setup() { + cl = Customer.class; + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java new file mode 100644 index 0000000..d223514 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java @@ -0,0 +1,48 @@ +package org.web.server; + +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.webapp.WebAppContext; + +/** + * Simple wrapper around the Jetty server, which boots the system using the web.xml configuration file. + */ +public class JettyServer { + /** + * The Jetty server. + */ + private Server server; + + /** + * Starts the Jetty server using our configuration files. + * @throws Exception + */ + public JettyServer() throws Exception { + // Server running at port 8080 + server = new Server(8080); + + // Use WEB-INF with web.xml instead of production configuration files. + WebAppContext context = new WebAppContext(); + context.setDescriptor(context + "/WEB-INF/web.xml"); + context.setResourceBase("../web.server/src/main/webapp"); + context.setContextPath("/"); + context.setParentLoaderPriority(true); + + server.setHandler(context); + } + + /** + * Start the server. + * @throws Exception + */ + public void start() throws Exception { + server.start(); + } + + /** + * Stop the server. + * @throws Exception + */ + public void stop() throws Exception { + server.stop(); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java new file mode 100644 index 0000000..e65135c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java @@ -0,0 +1,17 @@ +package org.web.server; + +import tdt4140.gr1864.app.core.Receipt; + +public class ReceiptServlet extends AbstractServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void setup() { + cl = Receipt.class; + hasDelete = false; + hasPost = false; + hasPut = false; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java new file mode 100644 index 0000000..cf34fd1 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java @@ -0,0 +1,16 @@ +package org.web.server; + +import tdt4140.gr1864.app.core.Product; + +public class RecommendationServlet extends AbstractServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void setup() { + cl = Product.class; + hasDelete = false; + hasPost = false; + hasPut = false; + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java new file mode 100644 index 0000000..45f03d7 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java @@ -0,0 +1,15 @@ +package org.web.server; + +import tdt4140.gr1864.app.core.ShoppingTrip; + +public class ShoppingTripServlet extends AbstractServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void setup() { + cl = ShoppingTrip.class; + hasDelete = false; + hasPut = false; + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java new file mode 100644 index 0000000..c34221d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java @@ -0,0 +1,17 @@ +package org.web.server; + +import tdt4140.gr1864.app.core.ProductAmount; + +public class StatisticsServlet extends AbstractServlet{ + + private static final long serialVersionUID = 1L; + + @Override + protected void setup() { + cl = ProductAmount.class; + hasPost = false; + hasPut = false; + hasDelete = false; + } + +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java new file mode 100644 index 0000000..e38a388 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java @@ -0,0 +1,257 @@ +package org.web.server.persistance; + +import java.util.ArrayList; +import java.io.IOException; +import java.util.List; + +import org.web.server.AbstractServlet.HTTPMethod; +import org.web.server.serializers.Serializer; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.ProductAmount; +import tdt4140.gr1864.app.core.Receipt; +import tdt4140.gr1864.app.core.Shop; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.StripeShoppingTrip; +import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; +import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; +import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; +import tdt4140.gr1864.app.core.interfaces.Model; + +/** + * Calls persistance-methods in app.core + * @author vegarab + */ +public class Persister { + + /** Class names compared in switch-case */ + public enum ModelClasses { + ACTION(Action.class.getName()), + COORDINATE(Coordinate.class.getName()), + CUSTOMER(Customer.class.getName()), + PRODUCT(Product.class.getName()), + PRODUCTAMOUNT(ProductAmount.class.getName()), + RECEIPT(Receipt.class.getName()), + SHOP(Shop.class.getName()), + SHOPPING_TRIP(ShoppingTrip.class.getName()), + STRIPE_SHOPPING_TRIP(StripeShoppingTrip.class.getName()); + + private final String model; + + private ModelClasses(String model) { + this.model = model; + } + + public String toString() { + return this.model; + } + + public static ModelClasses fromClass(Class c) { + for (ModelClasses m : ModelClasses.values()) { + if (m.toString().equals(c.getName())) + return m; + } + throw new IllegalArgumentException("No value for this class in ModelClasses"); + } + } + + /** DBController used by persister-methods */ + private DatabaseCRUD controller = null; + + /* Used for singleton design */ + private static Persister persister; + + private Serializer serializer; + + /** + * Private constructor for singleton design-pattern + */ + private Persister() {} + + /** + * Retrieves a Persister object based on singleton design-pattern + * @return Persister object + */ + public static Persister init() { + if (persister == null) { + persister = new Persister(); + } + return persister; + } + + /** + * Calls correct function to persist changes that were serialized + * @param object Model object to persist + * @param c Class of model object + * @param method Persist-method to perform (CRUD) + */ + @SuppressWarnings("rawtypes") + public int persist(Object object, Class c, HTTPMethod method) { + switch(ModelClasses.fromClass(c)) { + case CUSTOMER: controller = new CustomerDatabaseController(); break; + case SHOPPING_TRIP: return -1; + default: + throw new IllegalArgumentException("No controller for this class"); + } + + switch(method) { + case POST: return create(object); + case PUT: update(object); return -1; + case DELETE: delete((Model) object); return -1; + } + + return -1; + } + + /** + * Reads and serializes data from the database, based on customerID and Class c + * @param customerID ID to retrieve data based on + * @param c Class of Servlet, decides how to read and serialize + * @return JSON String + * @throws IOException + */ + public String read(int customerID, Class c) throws IOException { + String json; + + switch (ModelClasses.fromClass(c)) { + case CUSTOMER: json = readCustomer(customerID); break; + case PRODUCTAMOUNT: json = readProductAmount(customerID); break; + case RECEIPT: json = readReceipt(customerID); break; + case SHOPPING_TRIP: json = readShoppingTrips(customerID); break; + case PRODUCT: json = readProductRecommendation(customerID); break; + default: + throw new IllegalArgumentException(); + } + return json; + } + + + private String readProductAmount(int customerID) throws IOException { + controller = new CustomerDatabaseController(); + Customer customer = (Customer) controller.retrieve(customerID); + + if (customer == null) throw new IllegalArgumentException(); + + List sl = customer.getStatisticsForAmountBought(); + + return Serializer.init().serialize(sl, ProductAmount.class); + } + + + private String readProductRecommendation(int customerID) throws IOException { + controller = new CustomerDatabaseController(); + Customer customer = (Customer) controller.retrieve(customerID); + + // No Customer + if (customer == null) throw new IllegalArgumentException(); + + // Calculate recommendation + customer.giveRecommendation(); + + // If there is no recommendation to give + if (customer.getRecommendedProductID() == 0) return "{}"; + + controller = new ProductDatabaseController(); + Product product = (Product) controller.retrieve(customer.getRecommendedProductID()); + + return Serializer.init().serialize((Model) product, Product.class); + } + + /** + * Reads ShoppingTrips from database based on customerID, serializes them + * and returns the JSON string + * @param customerID ID to retrieve Trips from + * @return JSON String + * @throws IOException + */ + private String readShoppingTrips(int customerID) throws IOException { + ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); + List trips = stdc.retrieveAllShoppingTripsForCustomer(customerID); + + // If there are no trips + if (trips.isEmpty()) return "[]"; + + serializer = Serializer.init(); + return serializer.serialize(trips, ShoppingTrip.class); + } + + /** + * Reads Customer from database based on customerID, serializes it and + * returns the JSON string + * @param customerID ID to retrieve Customer from + * @return JSON String + * @throws IOException + */ + private String readCustomer(int customerID) throws IOException { + controller = new CustomerDatabaseController(); + return Serializer.init().serialize(controller.retrieve(customerID), Customer.class); + } + + /** + * Reads all receipts for a given customer and serializes it. + * @param customerID The ID of the customer to find receipts for. + * @return The serialized list of receipts. + * @throws IOException + */ + public String readReceipt(int customerID) throws IOException { + ShoppingTripDatabaseController shoppingTripController = new ShoppingTripDatabaseController(); + ActionDatabaseController actionController = new ActionDatabaseController(); + CoordinateDatabaseController coordinateController = new CoordinateDatabaseController(); + + List trips = shoppingTripController.retrieveAllShoppingTripsForCustomer(customerID); + + if (trips == null) { + throw new IllegalArgumentException(); + } + + List receipts = new ArrayList<>(); + + for (ShoppingTrip trip : trips) { + trip.setActions(actionController.retrieveAll(trip.getID())); + trip.setCoordinates(coordinateController.retrieveAll(trip.getID())); + receipts.add(new Receipt(trip)); + } + + return Serializer.init().serialize(receipts, Receipt.class); + } + + /** + * Creates object in database + * @param object + * @return id of object + */ + private int create(Object object) { + return controller.create(object); + } + + /** + * Updates object in database + * @param object + */ + private void update(Object object) { + controller.update(object); + } + + /** + * Deleted object from database + * @param object + */ + private void delete(Model object) { + controller.delete(object.getID()); + } + + /** + * Deletes a Customer + * @param customerID id of Customer to delete + */ + public void deleteCustomer(int customerID) { + controller = new CustomerDatabaseController(); + controller.delete(customerID); + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java new file mode 100644 index 0000000..61d4022 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java @@ -0,0 +1,76 @@ +package org.web.server.serializers; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import tdt4140.gr1864.app.core.Product; +import tdt4140.gr1864.app.core.Receipt; + +/** + * A Jackson serializer module. This implements a custom serializer, which serializes + * Receipt objects in an actually meaningful way. When this module is registered, you + * can use Jackson as normally but have Receipts serialized nicely. + * For usage, see the Serializer class, where this plugin is being used. + */ +public class ReceiptSerializer extends StdSerializer { + + private static final long serialVersionUID = 1L; + + + /** + * Boilerplate constructors for Jackson. + */ + public ReceiptSerializer() { + this(null); + } + + public ReceiptSerializer(Class receipt) { + super(receipt); + } + + /** + * This method receives Receipt objects from Jackson and serializes them using a custom serializer. + * We manually control where JSON sub-objects start and close. + * @param receipt The Receipt being serialized. + * @param jsonGenerator The JSON generator, provides an API for generating JSON data. + * @param serializer The Serializer which uses this plugin. + */ + @Override + public void serialize(Receipt receipt, JsonGenerator jsonGenerator, SerializerProvider serializer) throws IOException { + // The root object. + jsonGenerator.writeStartObject(); + + // The shopping trip start time. + jsonGenerator.writeNumberField("date", receipt.getShoppingTrip().getEnd()); + + // Whether the invoice has been paid or not. + jsonGenerator.writeBooleanField("charged", receipt.getShoppingTrip().getCharged()); + + // The total price of the shopping trip. + jsonGenerator.writeNumberField("totalPrice", receipt.getTotalPrice()); + + // Object contaning individual item data. + jsonGenerator.writeFieldName("items"); + + // The object for items. + jsonGenerator.writeStartObject(); + + // Loop through all the items, add the amount and the total price for all the items of that type. + for (Product product : receipt.getPrices().keySet()) { + jsonGenerator.writeFieldName(product.getName()); + jsonGenerator.writeStartObject(); + jsonGenerator.writeNumberField("total", receipt.getPrices().get(product)); + jsonGenerator.writeNumberField("amount", receipt.getInventory().get(product.getID())); + jsonGenerator.writeEndObject(); + } + + // Items closing tag. + jsonGenerator.writeEndObject(); + + // Close the root object. + jsonGenerator.writeEndObject(); + } +} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java new file mode 100644 index 0000000..914ef0d --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java @@ -0,0 +1,281 @@ +package org.web.server.serializers; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.List; + +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.web.server.AbstractServlet.HTTPMethod; +import org.web.server.persistance.Persister; +import org.web.server.persistance.Persister.ModelClasses; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.Version; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.module.SimpleModule; + +import tdt4140.gr1864.app.core.Action; +import tdt4140.gr1864.app.core.Coordinate; +import tdt4140.gr1864.app.core.Receipt; +import tdt4140.gr1864.app.core.ShoppingTrip; +import tdt4140.gr1864.app.core.database.DataLoader; +import tdt4140.gr1864.app.core.interfaces.Model; + +/** + * Generic (de)serializer for web.server + * @author vegarab + */ +public class Serializer { + + /* global objects used for tests */ + private Object object; + + /* Used for singleton design */ + private static Serializer serializer; + + /* Used for persisting objects to/from database */ + private Persister persister = Persister.init(); + + /** + * Private constructor for singleton design + */ + private Serializer() {} + + /** + * Retrieves a Serializer object based on singleton design-pattern + * @return Serializer object + */ + public static Serializer init() { + if (serializer == null) { + serializer = new Serializer(); + } + return serializer; + } + + /** + * Deserializes JSON data from reader into POJO. Does handle non-POJO models + * based on the objects class. Further calls functionality in persistence-layer + * through Persister-class based on method + * @param reader BufferedReader with JSON-data + * @param c Class of object to deserialize to + * @param method HTTP method + */ + @SuppressWarnings({ "rawtypes" }) + public int deserialize(BufferedReader reader, Class c, HTTPMethod method) { + + /* For classes that needs more advanced serializing */ + switch(ModelClasses.fromClass(c)) { + case SHOPPING_TRIP: object = deserializeShoppingTrip(reader); break; + default: object = genericDeserialize(reader, c);break; + } + return persister.persist(object, c, method); + } + + /** + * Generic deserializer that can serialize POJOs with Jackson annotations + * @param reader BufferedReader with JSON-data + * @param c Class of object to serialize to + * @return object + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) + private Model genericDeserialize(BufferedReader reader, Class c) { + ObjectMapper mapper = new ObjectMapper(); + + try { + object = (Model) mapper.readValue(reader, c); + } catch (IOException e) { + e.printStackTrace(); + } + return (Model) object; + } + + /** + * Serializes POJO into JSON. + * @param o Model object to serialize + * @param c Class of object + * @return JSON String + */ + @SuppressWarnings("rawtypes") + private String serialize(Model o, Class c) { + ObjectMapper mapper = new ObjectMapper(); + String json = null; + try { + json = mapper.writeValueAsString(o); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return json; + } + + /** + * Serializer that handles classes that requires more advanced + * serializing + * @param o objcet to serialize + * @param c Class of object + * @return JSON String + * @throws IOException + */ + @SuppressWarnings("rawtypes") + public String serialize(Object o, Class c) throws IOException { + /* For classes that needs more advanced serializing */ + switch(ModelClasses.fromClass(c)) { + case RECEIPT: return serializeReceipt(o); // We deliberately do not cast here; it is handled in the method itself + case SHOPPING_TRIP: return serializeShoppingTrip(o); + case PRODUCTAMOUNT: return serializeProductAmount(o, c); + default: + try { + return serialize((Model) o, c); + } catch (ClassCastException e) { + break; + } + } + return null; + } + + private String serializeProductAmount(Object o, Class c) { + ObjectMapper mapper = new ObjectMapper(); + String json = null; + try { + json = mapper.writeValueAsString(o); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return json; + } + + /** + * Checks if incoming object is a list or single Trip, serializes based on that + * @param object List or ShoppingTrip to be serialized + * @return JSON String + */ + @SuppressWarnings({ "null", "unchecked" }) + private String serializeShoppingTrip(Object object) { + if (object instanceof List) return serializeShoppingTrips((List) object); + ShoppingTrip trip = (ShoppingTrip) object; + + return serializeShoppingTrip(trip).toJSONString(); + } + + /** + * Serializes a single ShoppingTrip, returns JSONObject + * @param trip ShoppingTrip to be serialized + * @return JSONObject + */ + @SuppressWarnings("unchecked") + private JSONObject serializeShoppingTrip(ShoppingTrip trip) { + // Trip object + JSONObject jTrip = new JSONObject(); + + // customerID in Trip + jTrip.put("customerID", trip.getCustomer().getID()); + + // Coordinates + JSONArray jCoordinates = serializeCoordinates(trip); + jTrip.put("coordinates", jCoordinates); + // Actions + JSONArray jActions = serializeActions(trip); + jTrip.put("actions", jActions); + + return jTrip; + } + + /** + * Serializes a list of ShoppingTrips to JSON + * @param trips List of Trips to be serialized + * @return JSON String + */ + @SuppressWarnings("unchecked") + private String serializeShoppingTrips(List trips) { + JSONArray jRoot = new JSONArray(); + + for (ShoppingTrip trip : trips) { + jRoot.add(serializeShoppingTrip(trip)); + } + return jRoot.toJSONString(); + } + + /** + * Serializes Coordinates based on ShoppingTrip + * @param trip trip to serialize Coordinates from + * @return JSON String + */ + @SuppressWarnings({ "null", "unchecked" }) + private JSONArray serializeCoordinates(ShoppingTrip trip) { + JSONArray jCoordinates = new JSONArray(); + JSONObject jCoordinate = new JSONObject(); + + for (Coordinate coordinate : trip.getCoordinates()) { + jCoordinate = new JSONObject(); + jCoordinate.put("x", coordinate.getX()); + jCoordinate.put("y", coordinate.getY()); + jCoordinate.put("timestamp", coordinate.getTimeStamp()); + jCoordinates.add(jCoordinate); + } + return jCoordinates; + } + + /** + * Serializes Actions based on ShoppingTrip + * @param trip trip to serialize Actions form + * @return JSON String + */ + @SuppressWarnings({ "null", "unchecked" }) + private JSONArray serializeActions(ShoppingTrip trip) { + JSONArray jActions = new JSONArray(); + JSONObject jAction = new JSONObject(); + + for (Action action : trip.getActions()) { + jAction = new JSONObject(); + jAction.put("timestamp", action.getTimeStamp()); + jAction.put("action", action.getActionType()); + jAction.put("productID", action.getProduct().getID()); + jActions.add(jAction); + } + return jActions; + } + + private String serializeReceipt(Object object) { + if (!(object instanceof Receipt) && !(object instanceof List)) { + throw new IllegalArgumentException("Argument passed to serializeReceipt was not a receipt or a list of receipts."); + } + + ObjectMapper mapper = new ObjectMapper(); + + SimpleModule module = new SimpleModule("ReceiptSerializer", new Version(1, 0, 0, null, null, null)); + module.addSerializer(Receipt.class, new ReceiptSerializer()); + mapper.registerModule(module); + + ObjectWriter writer = mapper.writer().withDefaultPrettyPrinter(); + + try { + return writer.writeValueAsString(object); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + return null; + } + + /** + * Calls functions to deserialize ShoppingTrip with its trips and actions. + * app.core's DataLoader has this functionality, so it is used. + * @param reader BufferedReader with JSON-data + */ + private Model deserializeShoppingTrip(BufferedReader reader) { + String json = new String(); + try { + for (String line; (line = reader.readLine()) != null; json += line); + } catch (IOException e) { e.printStackTrace(); } + + /* Properly persists JSON to Trips/Coordinates/Actions */ + ShoppingTrip trip = DataLoader.loadShoppingTrip(json); + return trip; + } + + /* Used by tests */ + public Object getObject() { + return object; + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml b/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..5a61061 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,58 @@ + + + + + ShoppingTripServlet + org.web.server.ShoppingTripServlet + + + + CustomerServlet + org.web.server.CustomerServlet + + + + ReceiptFetcher + org.web.server.ReceiptServlet + + + + StatisticsServlet + org.web.server.StatisticsServlet + + + + RecommendationFetcher + org.web.server.RecommendationServlet + + + + ShoppingTripServlet + /api/v1/shoppingtrip/ + + + + CustomerServlet + /api/v1/customer/ + + + + ReceiptFetcher + /api/v1/customer/receipt/ + + + + RecommendationFetcher + /api/v1/customer/recommendation/ + + + + StatisticsServlet + /api/v1/customer/statistics/ + + diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java new file mode 100644 index 0000000..0d55218 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java @@ -0,0 +1,57 @@ +package org.web.server; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.web.server.AbstractServlet.HTTPMethod; +import org.web.server.serializers.Serializer; + +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.database.DatabaseWiper; +import tdt4140.gr1864.app.core.database.TestDataLoader; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; + +public class SerializerTest { + + @BeforeClass + public static void setup() { + DatabaseWiper wiper = new DatabaseWiper(); + wiper.wipe(); + new TestDataLoader(); + } + + @Test + public void testSerializerWithCustomerExpectCorrectFirstName() throws FileNotFoundException { + FileReader fr = new FileReader("customer.json"); + BufferedReader reader = new BufferedReader(fr); + Serializer sr = Serializer.init(); + sr.deserialize(reader, Customer.class, HTTPMethod.PUT); + Customer customer = (Customer) sr.getObject(); + + CustomerDatabaseController cdc = new CustomerDatabaseController(); + customer = cdc.retrieve(1); + + Assert.assertEquals("fornavn", customer.getFirstName()); + } + + @Test + public void testDeserializeCustomerExpectCorrectJson() throws IOException { + Customer customer = new Customer(); + customer.setCustomerID(1); + customer.setFirstName("fornavn"); + customer.setLastName("etternvan"); + customer.setAddress("addresse"); + customer.setZip(10); + FileReader fr = new FileReader("customer-deserialize-test.json"); + BufferedReader reader = new BufferedReader(fr); + String expected = reader.readLine(); + reader.close(); + + Assert.assertEquals(expected.charAt(0), Serializer.init().serialize(customer, customer.getClass()).charAt(0)); + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java new file mode 100644 index 0000000..188235c --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java @@ -0,0 +1,68 @@ +package org.web.server; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; +import org.json.simple.JSONObject; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import tdt4140.gr1864.app.core.Customer; +import tdt4140.gr1864.app.core.database.DataLoader; +import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; + +public class WebServerIT { + + @BeforeClass + public static void setup() { + DataLoader.main(null); + } + + @Test + public void testPostDemographics() { + JSONObject json = new JSONObject(); + json.put("customerID", new Integer(7)); + json.put("firstName", "SomeName"); + json.put("lastName", "SomeLastName"); + json.put("address", "Kings Road 6"); + json.put("zip", new Integer(10)); + + DefaultHttpClient httpclient = new DefaultHttpClient(); + HttpPut httpPost = new HttpPut("http://localhost:8080/api/v1/customer/?customer-id=7"); + HttpResponse response2 = null; + httpPost.addHeader("content-type", "application/json"); + try { + httpPost.setEntity(new StringEntity(json.toString())); + response2 = httpclient.execute(httpPost); + } catch (UnsupportedEncodingException e1) { + e1.printStackTrace(); + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + try { + System.out.println(response2.getStatusLine()); + HttpEntity entity2 = response2.getEntity(); + EntityUtils.consume(entity2); + } catch (Exception e) { + e.printStackTrace(); + } + + CustomerDatabaseController cdc = new CustomerDatabaseController(); + Customer customer = cdc.retrieve(7); + + Assert.assertEquals("Kings Road 6", customer.getAddress()); + Assert.assertEquals(10, customer.getZip()); + } +} diff --git a/EC-Shop/tdt4140-gr1864/web.server/trip.json b/EC-Shop/tdt4140-gr1864/web.server/trip.json new file mode 100644 index 0000000..9b65d33 --- /dev/null +++ b/EC-Shop/tdt4140-gr1864/web.server/trip.json @@ -0,0 +1,17 @@ +{ + "customerID": 1, + "path": [ + { + "x": 12.0, + "y": 12.0, + "time": 123 + } + ], + "actions": [ + { + "timestamp": 123, + "action": 1, + "productID": 8 + } + ] +} From 9e889e0d3e8df2eb828ca5bfd08cdb675ec99c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Strandlie?= Date: Thu, 19 Apr 2018 21:41:56 +0200 Subject: [PATCH 3/9] Deleted wrongly added EC-Shop directory --- EC-Shop/.gitignore | 24 - EC-Shop/.gitlab-ci.yml | 35 - EC-Shop/LICENSE | 674 ------------------ EC-Shop/README.md | 116 --- EC-Shop/tdt4140-gr1864/.project | 17 - .../.settings/org.eclipse.jdt.core.prefs | 5 - .../.settings/org.eclipse.m2e.core.prefs | 4 - EC-Shop/tdt4140-gr1864/Makefile | 5 - EC-Shop/tdt4140-gr1864/app.core/.classpath | 49 -- EC-Shop/tdt4140-gr1864/app.core/.project | 18 - .../.settings/org.eclipse.jdt.core.prefs | 13 - .../.settings/org.eclipse.m2e.core.prefs | 4 - EC-Shop/tdt4140-gr1864/app.core/pom.xml | 81 --- .../java/tdt4140/gr1864/app/core/Action.java | 69 -- .../tdt4140/gr1864/app/core/Application.java | 13 - .../tdt4140/gr1864/app/core/Coordinate.java | 52 -- .../tdt4140/gr1864/app/core/Customer.java | 544 -------------- .../java/tdt4140/gr1864/app/core/Product.java | 48 -- .../gr1864/app/core/ProductAmount.java | 38 - .../java/tdt4140/gr1864/app/core/README.md | 1 - .../java/tdt4140/gr1864/app/core/Receipt.java | 102 --- .../java/tdt4140/gr1864/app/core/Shop.java | 177 ----- .../tdt4140/gr1864/app/core/ShoppingTrip.java | 207 ------ .../gr1864/app/core/StripeShoppingTrip.java | 71 -- .../gr1864/app/core/dataMocker/Action.java | 62 -- .../app/core/dataMocker/Coordinate.java | 51 -- .../app/core/dataMocker/DataMocker.java | 301 -------- .../gr1864/app/core/dataMocker/Inventory.java | 30 - .../gr1864/app/core/dataMocker/Position.java | 40 -- .../gr1864/app/core/dataMocker/Product.java | 64 -- .../gr1864/app/core/dataMocker/Rack.java | 51 -- .../gr1864/app/core/dataMocker/Rectangle.java | 37 - .../app/core/dataMocker/ThreadAction.java | 47 -- .../gr1864/app/core/dataMocker/Trip.java | 62 -- .../app/core/database/CreateDatabase.java | 67 -- .../gr1864/app/core/database/DBPath.java | 42 -- .../gr1864/app/core/database/DataLoader.java | 428 ----------- .../app/core/database/DatabaseWiper.java | 71 -- .../app/core/database/TestDataLoader.java | 327 --------- .../ActionDatabaseController.java | 200 ------ .../CoordinateDatabaseController.java | 201 ------ .../CustomerDatabaseController.java | 224 ------ .../DatabaseController.java | 20 - .../OnShelfDatabaseController.java | 164 ----- .../ProductDatabaseController.java | 143 ---- .../ShopDatabaseController.java | 137 ---- .../ShoppingTripDatabaseController.java | 241 ------- .../app/core/interfaces/DatabaseCRUD.java | 31 - .../gr1864/app/core/interfaces/Model.java | 10 - .../app/core/interfaces/UserInterface.java | 12 - .../app.core/src/main/resources/database.sql | 75 -- .../src/main/resources/mock-products.json | 64 -- .../app.core/src/main/resources/plot.py | 18 - .../src/main/resources/requirements.txt | 1 - .../tdt4140/gr1864/app/core/README.md | 1 - .../src/main/resources/test-data.json | 482 ------------- .../tdt4140/gr1864/app/core/ActionTest.java | 33 - .../gr1864/app/core/CoordinateTest.java | 30 - .../tdt4140/gr1864/app/core/CustomerTest.java | 318 --------- .../tdt4140/gr1864/app/core/ExampleTest.java | 13 - .../tdt4140/gr1864/app/core/ProductTest.java | 32 - .../java/tdt4140/gr1864/app/core/README.md | 1 - .../tdt4140/gr1864/app/core/ReceiptTest.java | 52 -- .../tdt4140/gr1864/app/core/ShopTest.java | 139 ---- .../gr1864/app/core/ShoppingTripTest.java | 66 -- .../app/core/dataMocker/DataMockerTest.java | 29 - .../gr1864/app/core/database/DBPathTest.java | 18 - .../app/core/database/DataLoaderTest.java | 132 ---- .../app/core/database/DatabaseTest.java | 149 ---- .../app/core/database/TestDataLoaderTest.java | 99 --- .../ActionDatabaseControllerTest.java | 150 ---- .../CoordinateDatabaseControllerTest.java | 135 ---- .../CustomerDatabaseControllerTest.java | 145 ---- .../OnShelfDatabaseControllerTest.java | 76 -- .../ProductDatabaseControllerTest.java | 70 -- .../ShopDatabaseControllerTest.java | 66 -- .../ShoppingTripDatabaseControllerTest.java | 158 ---- .../tdt4140/gr1864/app/core/README.md | 1 - EC-Shop/tdt4140-gr1864/app.ui/.classpath | 54 -- EC-Shop/tdt4140-gr1864/app.ui/.project | 20 - .../.settings/org.eclipse.jdt.core.prefs | 13 - .../.settings/org.eclipse.m2e.core.prefs | 4 - .../app.ui/libs/charts-1.0.5.jar | Bin 1353529 -> 0 bytes ....javafx.fxmlapp.lib_0.0.1.201701160851.jar | Bin 6523 -> 0 bytes EC-Shop/tdt4140-gr1864/app.ui/pom.xml | 97 --- .../java/tdt4140/gr1864/app/ui/.gitignore | 1 - .../tdt4140/gr1864/app/ui/AppListener.java | 13 - .../java/tdt4140/gr1864/app/ui/Mode/Mode.java | 54 -- .../app/ui/Mode/Option/CheckBoxOption.java | 51 -- .../app/ui/Mode/Option/ComboBoxOption.java | 110 --- .../app/ui/Mode/Option/InteractionOption.java | 39 - .../DemographicsTableRow.java | 191 ----- .../VisualizationElement/InStockTableRow.java | 70 -- .../MostPickedUpTableRow.java | 158 ---- .../OnShelvesTableRow.java | 67 -- .../app/ui/Mode/VisualizationElement/Row.java | 299 -------- .../Mode/VisualizationElement/TableRow.java | 14 - .../VisualizationElement.java | 47 -- .../VisualizationHeatMap.java | 107 --- .../VisualizationInterface.java | 47 -- .../VisualizationSimplePlot.java | 85 --- .../VisualizationTable.java | 186 ----- .../java/tdt4140/gr1864/app/ui/OwnerApp.java | 53 -- .../main/java/tdt4140/gr1864/app/ui/README.md | 1 - .../tdt4140/gr1864/app/ui/TableLoader.java | 323 --------- .../InteractionViewController.java | 13 - .../gr1864/app/ui/globalUIModel/MenuCell.java | 29 - .../ui/globalUIModel/MenuViewController.java | 99 --- .../app/ui/globalUIModel/ModeController.java | 433 ----------- .../VisualizationViewController.java | 83 --- .../app/ui/scheduling/GUIUpdaterRunnable.java | 44 -- .../tdt4140/gr1864/app/ui/FxApp.fxml | 8 - .../resources/tdt4140/gr1864/app/ui/README.md | 1 - .../app/ui/globalUIModel/InteractionView.fxml | 8 - .../gr1864/app/ui/globalUIModel/MenuView.fxml | 11 - .../gr1864/app/ui/globalUIModel/OwnerApp.fxml | 43 -- .../ui/globalUIModel/VisualizationView.fxml | 20 - .../java/tdt4140/gr1864/app/ui/FxAppTest.java | 21 - .../gr1864/app/ui/GitlabCISupport.java | 15 - .../tdt4140/gr1864/app/ui/Mode/ModeTest.java | 33 - .../DemographicsTableRowTest.java | 56 -- .../InStockTableRowTest.java | 31 - .../MostPickedUpTableRowTest.java | 52 -- .../ui/Mode/VisualizationElement/RowTest.java | 62 -- .../VisualizationTableTest.java | 56 -- .../test/java/tdt4140/gr1864/app/ui/README.md | 1 - .../gr1864/app/ui/GlobalUI/MenuView.fxml | 16 - .../resources/tdt4140/gr1864/app/ui/README.md | 1 - EC-Shop/tdt4140-gr1864/app/.classpath | 26 - EC-Shop/tdt4140-gr1864/app/.project | 23 - .../org.eclipse.core.resources.prefs | 4 - .../app/.settings/org.eclipse.jdt.core.prefs | 5 - .../app/.settings/org.eclipse.m2e.core.prefs | 4 - EC-Shop/tdt4140-gr1864/app/pom.xml | 41 -- .../app/src/main/java/org/app/App.java | 77 -- EC-Shop/tdt4140-gr1864/database.sql | 85 --- EC-Shop/tdt4140-gr1864/pom.xml | 20 - EC-Shop/tdt4140-gr1864/web.server/.classpath | 45 -- EC-Shop/tdt4140-gr1864/web.server/.project | 20 - .../org.eclipse.core.resources.prefs | 4 - .../.settings/org.eclipse.jdt.core.prefs | 5 - .../.settings/org.eclipse.m2e.core.prefs | 4 - EC-Shop/tdt4140-gr1864/web.server/README.md | 124 ---- .../web.server/customer-deserialize-test.json | 2 - .../tdt4140-gr1864/web.server/customer.json | 9 - EC-Shop/tdt4140-gr1864/web.server/pom.xml | 124 ---- .../java/org/web/server/AbstractServlet.java | 233 ------ .../java/org/web/server/CustomerServlet.java | 13 - .../main/java/org/web/server/JettyServer.java | 48 -- .../java/org/web/server/ReceiptServlet.java | 17 - .../org/web/server/RecommendationServlet.java | 16 - .../org/web/server/ShoppingTripServlet.java | 15 - .../org/web/server/StatisticsServlet.java | 17 - .../org/web/server/persistance/Persister.java | 257 ------- .../server/serializers/ReceiptSerializer.java | 76 -- .../web/server/serializers/Serializer.java | 281 -------- .../src/main/webapp/WEB-INF/web.xml | 58 -- .../java/org/web/server/SerializerTest.java | 57 -- .../test/java/org/web/server/WebServerIT.java | 68 -- EC-Shop/tdt4140-gr1864/web.server/trip.json | 17 - 160 files changed, 13018 deletions(-) delete mode 100644 EC-Shop/.gitignore delete mode 100644 EC-Shop/.gitlab-ci.yml delete mode 100644 EC-Shop/LICENSE delete mode 100644 EC-Shop/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/.project delete mode 100644 EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/Makefile delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/.classpath delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/.project delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/pom.xml delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/TestDataLoader.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.classpath delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.project delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/libs/no.hal.javafx.fxmlapp.lib_0.0.1.201701160851.jar delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/pom.xml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/.gitignore delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/AppListener.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Mode.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/CheckBoxOption.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/ComboBoxOption.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/Option/InteractionOption.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRow.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRow.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRow.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/OnShelvesTableRow.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/Row.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/TableRow.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationElement.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationHeatMap.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationInterface.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationSimplePlot.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTable.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/OwnerApp.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/TableLoader.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/InteractionViewController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuCell.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/MenuViewController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/ModeController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/globalUIModel/VisualizationViewController.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/java/tdt4140/gr1864/app/ui/scheduling/GUIUpdaterRunnable.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/FxApp.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/InteractionView.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/MenuView.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/OwnerApp.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/main/resources/tdt4140/gr1864/app/ui/globalUIModel/VisualizationView.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/FxAppTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/GitlabCISupport.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/ModeTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/DemographicsTableRowTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/InStockTableRowTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/MostPickedUpTableRowTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/RowTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/Mode/VisualizationElement/VisualizationTableTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/java/tdt4140/gr1864/app/ui/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/GlobalUI/MenuView.fxml delete mode 100644 EC-Shop/tdt4140-gr1864/app.ui/src/test/resources/tdt4140/gr1864/app/ui/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/app/.classpath delete mode 100644 EC-Shop/tdt4140-gr1864/app/.project delete mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.core.resources.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.jdt.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app/.settings/org.eclipse.m2e.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/app/pom.xml delete mode 100644 EC-Shop/tdt4140-gr1864/app/src/main/java/org/app/App.java delete mode 100644 EC-Shop/tdt4140-gr1864/database.sql delete mode 100644 EC-Shop/tdt4140-gr1864/pom.xml delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/.classpath delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/.project delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.core.resources.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.jdt.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/.settings/org.eclipse.m2e.core.prefs delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/README.md delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/customer-deserialize-test.json delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/customer.json delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/pom.xml delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/AbstractServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/CustomerServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/JettyServer.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ReceiptServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/RecommendationServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/ShoppingTripServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/StatisticsServlet.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/persistance/Persister.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/ReceiptSerializer.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/java/org/web/server/serializers/Serializer.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/main/webapp/WEB-INF/web.xml delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/SerializerTest.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/src/test/java/org/web/server/WebServerIT.java delete mode 100644 EC-Shop/tdt4140-gr1864/web.server/trip.json diff --git a/EC-Shop/.gitignore b/EC-Shop/.gitignore deleted file mode 100644 index e7b2ea2..0000000 --- a/EC-Shop/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -// output folders -bin/ -target/ -.idea/ -.DS_Store - -// temporary generated files -*.xtendbin -*._trace - -node_modules/ - -// vim-files -*.swp -*.swo -*.swe -*.swn -*.sw - -// generated data -data.json -//Database -*.db - diff --git a/EC-Shop/.gitlab-ci.yml b/EC-Shop/.gitlab-ci.yml deleted file mode 100644 index fa92dab..0000000 --- a/EC-Shop/.gitlab-ci.yml +++ /dev/null @@ -1,35 +0,0 @@ -image: krissrex/docker-java8-maven-testfxmonocle:1.0 -# image: kaiwinter/docker-java8-maven -# image: maven:3.3.9-jdk-8 - -# most of this taken from https://stackoverflow.com/questions/37785154/how-to-enable-maven-artifact-caching-for-gitlab-ci-runner - -cache: - paths: - - .m2/repository - # keep cache across branch - key: "$CI_BUILD_REF_NAME" - -variables: - MAVEN_OPTS: "-Djava.awt.headless=true -Dmaven.repo.local=.m2/repository" - MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -Dgitlab-ci=true" - -build-job: - stage: build - script: - - "mvn clean compile -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" - -unittest-job: - stage: test - dependencies: - - build-job - script: - - "mvn package -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" - - "cat tdt4140-gr1864/app.core/target/site/jacoco/index.html" - -integrationtest-job: - stage: test - dependencies: - - build-job - script: - - "mvn verify -f tdt4140-gr1864/pom.xml $MAVEN_CLI_OPTS" diff --git a/EC-Shop/LICENSE b/EC-Shop/LICENSE deleted file mode 100644 index 908a24f..0000000 --- a/EC-Shop/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - 64 - Copyright (C) {year} {authors} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - 64 Copyright (C) {year} {authors} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/EC-Shop/README.md b/EC-Shop/README.md deleted file mode 100644 index 4f76dcb..0000000 --- a/EC-Shop/README.md +++ /dev/null @@ -1,116 +0,0 @@ -

    E.C. -Shop :apple: :bacon: :hamburger: :stuffed_flatbread:

- - - - - -This is a school project developed associated with the subject TDT4140 at NTNU. - -E.C. Shop is a system for tracking customers in a store, similarly to systems -such as Amazon's Amazon Go. The system tracks customer inventories as they move -through the store, and automatically charges their credit cards upon leaving -the store with goods. The system also provides customers with data such as -recommended items, and shop owners with statistics about their shop such as -items in stock, and visualizations of customer movements throughout the shop. - -- [Feature Overciew](#feature-overview) - - [Service providers](#features-for-service-providers-shop-owners) - - [Data providers](#features-for-data-providers-customers) -- [Installation](#installation) -- [System Architecture](#system-architecture) - -## Feature overview -### Features for service providers / shop owners - -Most of the features for service providers are shown in the owner application -user interface. - -* In the first tab, owners can see stats describing how often items are -picked up, so that you can see which items are popular. -* In the second tab, owners can see how many items are remaining, so -that you know when restocking is needed. -* The Demographics tab provides information about the customers -visiting the shop. -* The Shelves tab shows information about how many items are on -shelves in the shop, so that shop workers know when to move items -to the front of the store again. -* The HeatMap and Plot tabs shows how customers move in the store, and -which areas of the store usually have the largest amount of people. -This can aid with the placement of items. - -### Features for data providers / customers - -The main feature for customers is automatically being charged for your picked -up goods when leaving store. In addition, our service provides multiple -endpoints providing recommendations for items to buy and descriptions of your -shopping habits. - -## Installation - -To install the application for local development on your machine, start by -cloning the repo by issuing the following command in the terminal. - -``` bash -git clone https://gitlab.stud.iie.ntnu.no/tdt4140-2018/64.git -``` - -This project is configured for development with Eclipse, and so we recommend -you download Eclipse and import the project into your Eclipse installation. - -To import the project, right click the Project Explorer and select Import. -Select Maven, and use the directory named `64` which you just cloned as the root -directory. Clicking Finish should complete the importing of the project. We -reccomend installing Eclipse using the guide for the [TDT4100 course at -NTNU](https://www.ntnu.no/wiki/display/tdt4100/Installasjon+av+Eclipse), but -using the setup file found -[here](https://raw.githubusercontent.com/hallvard/jexercise/master/no.hal.learning/TDT4180.setup) -instead. This installation includes Maven, and a plethora of other plugins as -well. - -Once the repository has been downloaded, `cd` into the directory. Then run the -following command in order to download all dependencies using Maven. - -```bash -mvn clean install -``` - -You should see the test suite running. If all tests pass, the project is fully -functional. Once this is done, you can start the application. The -module `app` is responsible for starting the application. Open -the `app` package and run the `app` class directly. This will start -the web server and the owner application. To cleanly close the entire -application, simply close the owner application user interface. - -## System architecture - -The project is split into two main parts, `app.core` and `app.ui`. The -`app.core` package contains all the business logic such as computing receipts -and all the database handling/persistence, while `app.ui` contains the JavaFX -code for the owner user interface. Inside `app.core`, most of the business -logic such as computing receipts and modeling shopping trips resides in -`tdt4140.gr1864.app.core`. The package -`tdt4140.gr1864.app.core.databasecontrollers` contains code responsible for -interfacing with the database. The -`tdt4140.gr1864.app.core.datamocker` package is a standalone system -for generating fake yet reasonable shopping trips for local testing purposes, -and `tdt4140.gr1864.app.core.interfaces` contains interfaces used in different -parts of the system. - -The `web.server` module uses its own instance of `app.core` to pass and receive -data from customers. An external customer application could interact with the -relevant data through this REST API. Documentation is found [here.](https://gitlab.stud.iie.ntnu.no/tdt4140-2018/64/blob/master/tdt4140-gr1864/web.server/README.md) - - -The `app` module is responsible for starting and stopping the system cleanly. - -## List of tools we've used -* Jetty - a http server and servlet engine used as webserver -* Java servlet - a java program for web server -* GitLab - the core program for this project with it's version control using Git. -* Apache Maven - Dependency manager that describes how the programs are built and their dependencies and is used for automatically project building. -* PostMan - API development environment to send http requests -* Insomnia - Rest API client with cookie management, environment variables and code generation and authentication. -* Eclipse - An open source IDE that is primarly used to develop in this project -* JavaFX - A set of graphics and media packages. -* JDBC - Short for Java Database Connectivity and is a standardized interface for java applications that communicates with a database. diff --git a/EC-Shop/tdt4140-gr1864/.project b/EC-Shop/tdt4140-gr1864/.project deleted file mode 100644 index 7306b46..0000000 --- a/EC-Shop/tdt4140-gr1864/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - tdt4140-gr1864 - - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - - diff --git a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index abec6ca..0000000 --- a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f..0000000 --- a/EC-Shop/tdt4140-gr1864/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/EC-Shop/tdt4140-gr1864/Makefile b/EC-Shop/tdt4140-gr1864/Makefile deleted file mode 100644 index 29e6d8a..0000000 --- a/EC-Shop/tdt4140-gr1864/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -create-database: - sqlite3 database.db < database.sql - -show-coverage: - open app.core/target/site/jacoco/index.html diff --git a/EC-Shop/tdt4140-gr1864/app.core/.classpath b/EC-Shop/tdt4140-gr1864/app.core/.classpath deleted file mode 100644 index d39a158..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/.classpath +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.core/.project b/EC-Shop/tdt4140-gr1864/app.core/.project deleted file mode 100644 index c447d34..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - tdt4140-gr1864.app.core - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - - - org.eclipse.jdt.core.javabuilder - - - org.eclipse.m2e.core.maven2Builder - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 13b3428..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,13 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/EC-Shop/tdt4140-gr1864/app.core/pom.xml b/EC-Shop/tdt4140-gr1864/app.core/pom.xml deleted file mode 100644 index 1f2d949..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - 4.0.0 - tdt4140-gr1864.app.core - - - tdt4140-gr1864 - tdt4140-gr1864 - 0.0.1-SNAPSHOT - - - - - com.fasterxml.jackson.core - jackson-core - 2.9.3 - - - org.apache.httpcomponents - httpclient - 4.1.1 - - - com.fasterxml.jackson.core - jackson-databind - 2.9.3 - - - com.fasterxml.jackson.core - jackson-annotations - 2.9.3 - - - com.googlecode.json-simple - json-simple - 1.1.1 - - - junit - junit - 4.12 - test - - - org.xerial - sqlite-jdbc - 3.21.0.1 - - - com.stripe - stripe-java - 5.33.2 - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.0 - - - pre-unit-test - - prepare-agent - - - - post-unit-test - test - - report - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java deleted file mode 100644 index 5f7ea2b..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Action.java +++ /dev/null @@ -1,69 +0,0 @@ -package tdt4140.gr1864.app.core; - -public class Action { - - private long timeStamp; - /* type of action 1/0 */ - private int actionType; - - /* product action was made upon */ - private Product product; - /* trip the action is a part of */ - private ShoppingTrip trip; - - /** - * The code for PICK_UP actions. - */ - public static int PICK_UP = 1; - - /** - * The code for DROP actions. - */ - public static int DROP = 0; - - /* - * Constructor for creating Actions in ActionDatabaseController. - * Needs to handle getting correct ShoppingTrip based on it's ID - * Constructor used by DatabaseController - * @param timeStamp time of action, parsed to long - * @param actionType type of action, 1/0 - * @param product product action was made upon - * @param trip trip the action is a part of - */ - public Action(String timeStamp, int actionType, Product product, ShoppingTrip trip) { - this.timeStamp = Long.parseLong(timeStamp); - this.actionType = actionType; - this.trip = trip; - this.product = product; - } - - /** - * @param timeStamp time of action, parsed to long - * @param actionType type of action, 1/0 - * @param product product action was made upon - */ - public Action(String timeStamp, int actionType, Product product) { - this.timeStamp = Long.parseLong(timeStamp); - this.actionType = actionType; - this.product = product; - - } - - - public long getTimeStamp() { - return timeStamp; - } - - public int getActionType() { - return actionType; - } - - public Product getProduct() { - return product; - } - - public ShoppingTrip getShoppingTrip() { - return trip; - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java deleted file mode 100644 index 344ef14..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package tdt4140.gr1864.app.core; - -import tdt4140.gr1864.app.core.dataMocker.DataMocker; -import tdt4140.gr1864.app.core.database.DataLoader; - -public class Application { - - public static void main(String[] args) { - DataLoader.main(null); - //DataMocker mocker = new DataMocker(); - //new Thread(mocker).start(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java deleted file mode 100644 index 3fcc5f0..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Coordinate.java +++ /dev/null @@ -1,52 +0,0 @@ -package tdt4140.gr1864.app.core; - -public class Coordinate { - - private double x; - private double y; - private long timeStamp; - - /* trip the coordinate is a part of */ - private ShoppingTrip trip; - - /** - * Constructor used by CoordinateDatabaseController - * @param x x position - * @param y y position - * @param timeStamp time of read, parsed to long - * @param trip trip the coordinate is a part of - */ - public Coordinate(double x, double y, String timeStamp, ShoppingTrip trip) { - this.x = x; - this.y = y; - this.timeStamp = Long.parseLong(timeStamp); - this.trip = trip; - } - - /** - * @param x x position - * @param y y position - * @param timeStamp time of read, parsed to long - */ - public Coordinate(double x, double y, String timeStamp) { - this.x = x; - this.y = y; - this.timeStamp = Long.parseLong(timeStamp); - } - - public double getX() { - return x; - } - - public double getY() { - return y; - } - - public long getTimeStamp() { - return timeStamp; - } - - public ShoppingTrip getShoppingTrip() { - return trip; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java deleted file mode 100644 index 75487dd..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Customer.java +++ /dev/null @@ -1,544 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Observable; -import java.util.stream.Collectors; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; - -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; -import tdt4140.gr1864.app.core.interfaces.Model; -import tdt4140.gr1864.app.core.interfaces.UserInterface; - -@JsonAutoDetect -@JsonIgnoreProperties(ignoreUnknown = true) -public class Customer extends Observable implements Model, UserInterface { - - // Controller for handling database request for customer - CustomerDatabaseController cdc = new CustomerDatabaseController(); - - // Controller for handling database requests shopping trip - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - - // Controller for retrieving actions from database - ActionDatabaseController adc = new ActionDatabaseController(); - - @JsonProperty("customerID") - private int customerID; - - @JsonProperty - private String firstName; - @JsonProperty - private String lastName; - - /* has a default value for Customers without demographic data */ - @JsonProperty - private String address = null; - - @JsonProperty - private int zip = 0; - - // Extra data, is optional - private String gender = null; //Have to consider more than just male and female - private int age = 0; - private int numberOfPersonsInHousehold = 1; //default with 1 person in household - - private List shoppingTrips; - - @JsonProperty - private int recommendedProductID = -1; - private boolean anonymous = false; - private boolean deleted = false; - - - /** - * @param customerID id provided by database - * @param firstName name of customer - * @param lastName name of customer - * @param shoppingTrips trips of customer - */ - public Customer(int customerID, String firstName, String lastName, - List shoppingTrips) { - this.customerID = customerID; - this.firstName = firstName; - this.lastName = lastName; - this.shoppingTrips = shoppingTrips; - } - - /* Used by Jackson */ - public Customer() {} - - /** - * Constructor used when user have added additional information. Checks for each field being not null - * Thsi is for not having exponentially many constructors - * @param firstName - * @param lastName - * @param address - * @param zip - * @param gender - * @param age - * @param numberOfPersonsInHousehold - */ - public Customer(String firstName, String lastName, String address, int zip, String gender, - int age, int numberOfPersonsInHousehold, boolean anonymous) { - this.firstName = firstName; - this.lastName = lastName; - - // Input validation - if (address != null) - this.address = address; - if (zip != 0) - this.zip = zip; - if (gender != null) - this.gender = gender; - if (age != 0) - this.age = age; - if (numberOfPersonsInHousehold != 0) - this.numberOfPersonsInHousehold = numberOfPersonsInHousehold; - - this.anonymous = anonymous; - } - - /** - * Constructor used when user have added additional information. Checks for each field being not null - * This is for not having exponentially many constructors. - * Also includes customerid from database - * @param firstName - * @param lastName - * @param address - * @param zip - * @param gender - * @param age - * @param numberOfPersonsInHousehold - * @param customerID CustomerId provided from database - */ - public Customer(String firstName, String lastName, String address, int zip, String gender, - int age, int numberOfPersonsInHousehold, boolean anonymous, int customerID, boolean deleted) { - - this(firstName, lastName, address, zip, gender, age, numberOfPersonsInHousehold, anonymous); - setCustomerID(customerID); - this.deleted = deleted; - } - - /** - * @param firstName name of customer - * @param lastName name of customer - * @param customerID id provided by database - */ - public Customer(String firstName, String lastName, int customerID) { - this(firstName, lastName); - setCustomerID(customerID); - } - - /** - * @param firstName name of customer - * @param lastName name of customer - */ - public Customer(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - @JsonIgnore - public int getID() { - return customerID; - } - - public int getCustomerID() { - return customerID; - } - - public void setCustomerID(int customerID) { - this.customerID = customerID; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public List getShoppingTrips() { - return shoppingTrips; - } - - public void setShoppingTrips(List shoppingTrips) { - this.shoppingTrips = shoppingTrips; - } - - public int getRecommendedProductID() { - return this.recommendedProductID; - } - - public String getGender() { - return gender; - } - - public void setGender(String gender) { - this.gender = gender; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public int getNumberOfPersonsInHousehold() { - return numberOfPersonsInHousehold; - } - - public void setNumberOfPersonsInHousehold(int numberOfPersonsInHousehold) { - this.numberOfPersonsInHousehold = numberOfPersonsInHousehold; - } - - public boolean getAnonymous() { - return this.anonymous; - } - - public void setAnonymous(boolean anonymous) { - this.anonymous = anonymous; - } - - public int getZip() { - return zip; - } - - public boolean isDeleted() { - return deleted; - } - - /** - * Sets deleted field, and wipes all other fields if true - * @param deleted - */ - public void setDeleted(boolean deleted) { - if (deleted) { - // delete all values - this.setAddress("null"); - this.setAge(0); - this.setAnonymous(true); - this.setFirstName("null"); - this.setLastName("null"); - this.setGender("null"); - this.setNumberOfPersonsInHousehold(0); - this.setZip(0); - } - this.deleted = deleted; - } - - /** - * Sets new zip code and notifies observer - * @param zip new zip code - */ - public void setZip(int zip) { - setChanged(); - notifyObservers(); - clearChanged(); - this.zip = zip; - } - - public String getAddress() { - return address; - } - - /** - * Sets new address and notifies observer - * @param address new address - */ - public void setAddress(String address) { - setChanged(); - notifyObservers(); - clearChanged(); - this.address = address; - } - - /** - * Creates a relation between product objects and amount based on amount of bought for customer - * and a sorted list sorted based on amount bought. - * @return A sorted list (desc) consisting of relations between product and amount bought - */ - @JsonIgnore - public List getStatisticsForAmountBought() { - ProductDatabaseController pdc = new ProductDatabaseController(); - int amountOfProducts = 64; - - // Get the amount of bought products for this customer - int[] temp = getBoughtProductList(); - - // the list for storing the sorted products - List sortedList = new ArrayList<>(); - - for (int i = 0; i < amountOfProducts; i++) { - // temp[i] is the amount, i+1 is the index of product in database (0-index vs. 1-index) - ProductAmount pa = new ProductAmount(temp[i], pdc.retrieve(i+1)); - sortedList.add(pa); - } - - // Sorts the ProductAmount Desc based on the amount - sortedList.sort((a1, a2) -> a2.getAmount().compareTo(a1.getAmount())); - - return sortedList; - - } - - /** - * The recommendation is based on shopping trips stored in the database and - * gives the recommendation based on to occasions: - * 1. The customer has not bought anything - * - The recommended product will be set to the most popular one amoung all customers - * 2. The customer has bought at least one item - * - The recommended product will be set to be the product where - * there is most difference between the average amount of bought products - * for all customers and the total amount of bought products for this customer. - * Also, this difference is only relevant for when the total average is larger than - * the customers total amount of bought products - * - * Sets the ID of the product that is recommended to the customer - */ - - public void giveRecommendation() { - // List of all shopping trips for all customers - List allTrips = stdc.retrieveAllShoppingTrips(); - - // List of all shopping trips for this customer - List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(this.customerID); - - // Amount of customers (registered) - int countCustomers = cdc.countCustomers(); - - /** - * A list of amount of product bought by id. - * productsInTotal[0] will give amount of products with id = 0 bought by all customers - * Right now there is only 64 possible products - */ - int amountOfProducts = 64; - int[] productsBoughtInTotal = new int[amountOfProducts]; - - // Updating the productsBoughtInTotal based on all shopping trips - if (allTrips.size() == 0) { - this.recommendedProductID = 0; - return; - } - - for (ShoppingTrip st : allTrips) { - - List currentActions = st.getActions(); - - // Checks for empty action lists - if (currentActions != null && currentActions.size() > 0) { - for (Action action : currentActions) { - /* - * Adds to the amount of bought products in total (by 1) by converting the 1-indexed - * productID to be 0-indexed (int[]'s index == dbTable's index - 1) - */ - if (action.getActionType() == Action.DROP) { - productsBoughtInTotal[action.getProduct().getID()-1]--; - - } else if (action.getActionType() == Action.PICK_UP) { - productsBoughtInTotal[action.getProduct().getID()-1]++; - } - } - } - } - - /* - * If this customer haven't bought anything, the recommended product - * will be set to the most popular one among all customers' shopping trips - */ - if (customerTrips.size() == 0) { - setMostPopularProductAsRecommended(amountOfProducts, productsBoughtInTotal); - return; - } - - /** - * An overview for amount of products the customer bought in total since registering. - * customerProducts[0] gives amount of products with productID = 1 (1-indexed in db) - * that this customer bought in total - */ - int[] customerBoughtProductsInTotal= getBoughtProductList(); - - - // Average bought products for all customers based on productsBoughtInTotal / customerAmount - double[] avgAmountOfProdBoughtByAll = new double[amountOfProducts]; - - // Calculates average product bought for each customer - for (int i = 0; i < amountOfProducts; i++) { - - // Converts from int to double - double pbit = productsBoughtInTotal[i]; - double cc = countCustomers; - - /* - * Sets the average in the averageBoughtProducts list based on whether pbit and cc > 0 - * NOTE: Don't care about zero or negative relations: - */ - if (cc > 0.0 && pbit > 0.0) { - avgAmountOfProdBoughtByAll[i] = pbit / cc; - } else { - avgAmountOfProdBoughtByAll[i] = 0.0; - } - } - - /* - * Calculates the average amount of bought products for this customer based on - * customerBoughtProductsInTotal / amount of shopping trips this customer had - */ - // Average amount of bought products for this customer - double[] avgAmountOfProdBoughtByCustomer = new double[amountOfProducts]; - - for (int i = 0; i < amountOfProducts; i++) { - - // Converts from int to double - double cbpit = customerBoughtProductsInTotal[i]; - double countCustomerTrips = customerTrips.size(); - - /* - * Sets the average in the averageBoughtProductsCustomer list based on - * whether cbpit > 0 and countCustomerTrips > 0 - * NOTE: Don't care about zero or negative relations: - */ - if (cbpit > 0.0 && countCustomerTrips > 0.0) { - avgAmountOfProdBoughtByCustomer[i] = cbpit / countCustomerTrips; - } else { - avgAmountOfProdBoughtByCustomer[i] = 0.0; - } - } - - /* - * Calculates the biggest difference between the average of bought products per customer - * and the average of bought products for one customer (based on amount of shopping trips) - * Sets the recommendedProduct to the product with most difference between the total average and - * this customer's average where the total average > customer's average - */ - - int productID = -1; - double maxDelta = -1; // max difference - - /* A function that iterates and finds the max difference - * between totalAverage and customer's average - */ - for (int i = 0; i < amountOfProducts; i++) { - double temp; - - // Checks for nonzero values - if (avgAmountOfProdBoughtByAll[i] > 0 && avgAmountOfProdBoughtByCustomer[i] > 0) { - // the difference between - temp = avgAmountOfProdBoughtByAll[i] - avgAmountOfProdBoughtByCustomer[i]; - if (maxDelta < temp) { - productID = i; - maxDelta = temp; - } - } - } - - /* - * Converts back from 0-indexing to 1-indexing - * Adding '++' before the variable increments the productID by 1 before setting recommended product. - */ - this.recommendedProductID = ++productID; - } - - /** - * A private method only used by giveRecommendation() - * @param amountOfProducts - * @param productsBoughtInTotal - */ - private void setMostPopularProductAsRecommended(int amountOfProducts, int[] productsBoughtInTotal) { - int mostAmount = 0; - int productID = 0; - - for (int i = 0; i < amountOfProducts; i++) { - if (mostAmount < productsBoughtInTotal[i]) { - mostAmount = productsBoughtInTotal[i]; - productID = i; - } - } - this.recommendedProductID = ++productID; - } - - /** - * Creates a list for all trips for this customer - * Adds products equally to each action the customer has done. - * The list consists of the total amount of bought product. - * @return int[] array list for the amount of products bought with productID = int[ID] - */ - private int[] getBoughtProductList() { - // List of all shopping trips for this customer - List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(this.customerID); - - /** - * An overview for amount of products the customer bought in total since registering. - * customerProducts[0] gives amount of products with productID = 1 (1-indexed in db) - * that this customer bought in total - */ - int amountOfProducts = 64; - int[] customerBoughtProductsInTotal= new int[amountOfProducts]; - - /* - * Updating the customerBoughtProductsInTotal based on all - * shopping trips for this customer - */ - for (ShoppingTrip st : customerTrips) { - for (Action action : st.getActions()) { - /* - * Adds to the amount of bought products in total (by 1) by converting the 1-indexed - * productID to be 0-indexed (int[]'s index == dbTable's index - 1) - */ - if (action.getActionType() == Action.DROP) { - customerBoughtProductsInTotal[action.getProduct().getID()-1]--; - - } else if (action.getActionType() == Action.PICK_UP) { - customerBoughtProductsInTotal[action.getProduct().getID()-1]++; - } - } - } - - return customerBoughtProductsInTotal; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Customer customer = (Customer) o; - return customerID == customer.customerID && - zip == customer.zip && - age == customer.age && - numberOfPersonsInHousehold == customer.numberOfPersonsInHousehold && - recommendedProductID == customer.recommendedProductID && - Objects.equals(firstName, customer.firstName) && - Objects.equals(lastName, customer.lastName) && - Objects.equals(address, customer.address) && - Objects.equals(gender, customer.gender) && - Objects.equals(shoppingTrips, customer.shoppingTrips); - } - - @Override - public int hashCode() { - - return Objects.hash(customerID, firstName, lastName, address, zip, gender, age, numberOfPersonsInHousehold, shoppingTrips, recommendedProductID); - } -} - - diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java deleted file mode 100644 index 05c8bd2..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Product.java +++ /dev/null @@ -1,48 +0,0 @@ -package tdt4140.gr1864.app.core; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import tdt4140.gr1864.app.core.interfaces.Model; - -@JsonAutoDetect -@JsonIgnoreProperties(ignoreUnknown = true) -public class Product implements Model { - - private String name; - private double price; - private Integer productID; - - /** - * Constructor used by ProductDatabaseController - * @param productID id provided by database - * @param name name of product - * @param price price of product - */ - public Product(Integer productID, String name, double price) { - this.productID = productID; - this.name = name; - this.price = price; - } - - /** - * @param name name of product - * @param price price of product - */ - public Product(String name, double price) { - this.price = price; - this.name = name; - } - - public String getName() { - return this.name; - } - - public double getPrice() { - return this.price; - } - - public int getID() { - return this.productID; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java deleted file mode 100644 index 22288de..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ProductAmount.java +++ /dev/null @@ -1,38 +0,0 @@ -package tdt4140.gr1864.app.core; -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import tdt4140.gr1864.app.core.interfaces.Model; - -@JsonAutoDetect -@JsonIgnoreProperties(ignoreUnknown = true) -public class ProductAmount implements Model{ - - private Integer amount; - private Product product; - - public ProductAmount(Integer amount, Product product) { - this.amount = amount; - this.product = product; - } - - public Integer getAmount() { - return amount; - } - public void setAmount(int amount) { - this.amount = amount; - } - public Product getProduct() { - return product; - } - public void setProduct(Product product) { - this.product = product; - } - - @Override - @JsonIgnore - public int getID() { - return product.getID(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md deleted file mode 100644 index 834b0e8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/README.md +++ /dev/null @@ -1 +0,0 @@ -# Source package for core code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java deleted file mode 100644 index fda74a3..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Receipt.java +++ /dev/null @@ -1,102 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.HashMap; -import java.util.Map; - -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; - -public class Receipt { - /** - * The ShoppingTrip object which this Receipt computes the prices for. - */ - private ShoppingTrip shoppingTrip; - - /** - * A Map containing the amount of items with specific codes were bought. - * This could alternatively map Products with Integers, but that requires - * a custom hash code implementation. - */ - private Map inventory = new HashMap<>(); - - /** - * The computed prices for each item. - */ - private Map prices = new HashMap<>(); - - /** - * Creates a new Receipt object. A Receipt takes a ShoppingTrip and computes the - * total prices for each Product purchased during the trip. - * @param shoppingTrip The ShoppingTrip to compute prices for. - */ - public Receipt(ShoppingTrip shoppingTrip) { - this.shoppingTrip = shoppingTrip; - - computePrices(); - } - - /** - * Compute the costs for products purchased during this trip. - */ - private void computePrices() { - if (shoppingTrip.getActions() != null) { - for (Action action : shoppingTrip.getActions()) { - int product = action.getProduct().getID(); - - // Figure out the amount currently in the inventory, 0 if it was not being carried. - int previous = inventory.containsKey(product) ? inventory.get(product) : 0; - - // Increase or decrease the amount of the given product in the inventory based - // on the action type. - if (action.getActionType() == Action.DROP) { - inventory.put(product, previous - 1); - } else if (action.getActionType() == Action.PICK_UP) { - inventory.put(product, previous + 1); - } - } - } - - ProductDatabaseController database = new ProductDatabaseController(); - - // Compute prices for items using the amount of items computed above. - for (Integer code : inventory.keySet()) { - Product product = database.retrieve(code); - prices.put(product, product.getPrice() * inventory.get(code)); - } - } - - /** - * @return The ShoppingTrip described by this Receipt. - */ - public ShoppingTrip getShoppingTrip() { - return shoppingTrip; - } - - /** - * @return The ID and amount of all products in the inventory. - */ - public Map getInventory() { - return inventory; - } - - /** - * @return The Map containing Product objects and their total prices. - */ - public Map getPrices() { - return prices; - } - - /** - * @return The total price for all the - */ - public double getTotalPrice() { - return prices.values().stream().mapToDouble(Double::valueOf).sum(); - } - - /** - * A constructor to ease the testing of Shop.updateAmountInShelfsFromReceipt - * @param inventory The desired inventory - */ - public Receipt(Map inventory) { - this.inventory = inventory; - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java deleted file mode 100644 index abc3735..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/Shop.java +++ /dev/null @@ -1,177 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.HashMap; -import java.util.Map; - -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; -import tdt4140.gr1864.app.core.interfaces.Model; - -/** - * The java object Shop that corresponds to the shop table in DB - * - * The shop also keeps track of the amount of different products that are in storage and on the shelfs. - * This is done with two hashmaps between productIDs and the amounts - * - * @author stian - */ -public class Shop implements Model { - - /* Values */ - private int shopID; - private String address; - private int zip; - - private Map shelfs; - private Map storage; - - public Shop(String address, int zip) { - this.address = address; - this.zip = zip; - - this.shelfs = new HashMap<>(); - this.storage = new HashMap<>(); - } - - /* Constructor used by DatabaseController */ - public Shop(String address, int zip, int shopId) { - this.address = address; - this.zip = zip; - this.shopID = shopId; - - this.shelfs = new HashMap<>(); - this.storage = new HashMap<>(); - } - - public int getID() { - return shopID; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getAddress() { - return this.address; - } - - public int getZip() { - return zip; - } - - public void setZip(int zip) { - this.zip = zip; - } - - public Map getShelfs() { - return shelfs; - } - - public Map getStorage() { - return storage; - } - - /** - * Sets the amount of a product in storage to the desired amount - * - * @param productID ID of the product - * @param amount The amount of the product to be set - */ - public void setAmountInStorage(int productID, int amount) { - this.storage.put(productID, amount); - } - - /* Same as above, but for amount in shelfs */ - public void setAmountInShelfs(int productID, int amount) { - this.shelfs.put(productID, amount); - } - - /** - * Retrieves the amount of a product in the shop storage, returns -1 if not found - * - * @param productID ID of product to retrieve amount of - * @return The amount of the product, or 0 if not found - */ - public int getAmountInStorage(int productID) { - Integer temp = this.storage.get(productID); - if (null == temp) { - return -1; - } - else { - return temp; - } - } - - /* Same as above, but gets amount in shelfs */ - public int getAmountInShelfs(int productID) { - Integer temp = this.shelfs.get(productID); - if (null == temp) { - return -1; - } - else { - return temp; - } - } - - /** - * Listener for a new registered shopping trip, updates the amounts of - * products on shelves in DB - * - * @param trip The newly added shopping trip - */ - public void shoppingTripAdded(ShoppingTrip trip) { - Receipt receipt = new Receipt(trip); - updateAmountInShelfsFromReceipt(receipt); - System.out.println("Listener in shop.java triggered and finished"); - } - - /** - * Updates the amounts of a product on the shelfs in the shop object from the inventory - * in a receipt from a shoppingTrip - * - * The products are assumed to be in the DB - * - * @param receipt A receipt from a shopping trip - */ - public void updateAmountInShelfsFromReceipt(Receipt receipt) { - Map inventory = receipt.getInventory(); - OnShelfDatabaseController osdbc = new OnShelfDatabaseController(); - for (Integer id : inventory.keySet()) { - int amount = inventory.get(id); - int currentAmount = osdbc.retrieve(this, id).getAmountInShelfs(id); - - setAmountInShelfs(id, currentAmount - amount); - - osdbc.update(this, id); - } - } - - /** - * Same as above, but doesn't update DB - * - * @param receipt A receipt from a shopping trip - */ - public void updateShopFromReceipt(Receipt receipt) { - Map inventory = receipt.getInventory(); - for (Integer productID : inventory.keySet()) { - int amount = inventory.get(productID); - int currentAmount = this.getAmountInShelfs(productID); - setAmountInShelfs(productID, currentAmount - amount); - } - } - - /** - * Updates the amounts of products in the shop object according to the DB, - * used to get new shop objects up to date. Currently have to assume fixed - * amount of products, if not productDBctrl could support this - * - * @return The updated Shop object - */ - public Shop refreshShop() { - OnShelfDatabaseController osdc = new OnShelfDatabaseController(); - int numberOfProducts = 65; - for (int i = 1; i < numberOfProducts; i++) { - osdc.retrieve(this, i); - } - return this; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java deleted file mode 100644 index 577d6ff..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/ShoppingTrip.java +++ /dev/null @@ -1,207 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; - -import tdt4140.gr1864.app.core.interfaces.Model; - -public class ShoppingTrip implements Model { - - /* start-time of ShoppingTrip in UNIX-time */ - private long start; - /* end-time of ShoppingTrip in UNIX-time */ - private long end; - /* duration of the trip in UNIX-time */ - private long duration; - - /* customer and shop trip was made by and at */ - private Shop shop; - private Customer customer; - - private int shoppingTripID; - - /* Coordinates that makes up the trip */ - private List coordinates; - /* Actions performed during trip */ - private List actions; - - private boolean charged; - private boolean anonymous; - - /** - * Normal constructor with charged paramater. - * @param coordinates list of coordinates making up the trip - * @param actions list of actions performed during trip - * @param shoppingTripID id provided by database - * @param charged true if the card has been charged for this trip - */ - public ShoppingTrip(List coordinates, List actions, int shoppingTripID, boolean charged) { - this.coordinates = coordinates; - this.actions = actions; - this.shoppingTripID = shoppingTripID; - this.start = findStart(coordinates); - this.end = findEnd(coordinates); - this.charged = charged; - setDuration(); - - if (!this.charged) { - charge(); - this.charged = true; - } - } - - /** - * Normal constructor without charged parameter. - * @param coordinates list of coordinates making up the trip - * @param actions list of actions performed during trip - * @param shoppingTripID id provided by database - */ - public ShoppingTrip(List coordinates, List actions, int shoppingTripID) { - this(coordinates, actions, shoppingTripID, false); - } - - /** - * Constructor when missing ID. - * @param customer customer performing trip - * @param shop shop where trip was made - */ - public ShoppingTrip(Customer customer, Shop shop, boolean charged) { - this.customer = customer; - this.shop = shop; - this.charged = charged; - this.anonymous = customer.getAnonymous(); - } - - /** - * Constructor used by ShoppingTripDatabaseController - * @param shoppingTripId id provided by database - * @param customer customer performing trip - * @param shop shop where trip was made - * @param anonymous whether or not this trip should be counted in the statistics - */ - public ShoppingTrip(int shoppingTripId, Customer customer, Shop shop, boolean charged, boolean anonymous) { - this.shoppingTripID = shoppingTripId; - this.customer = customer; - this.shop = shop; - this.charged = charged; - this.anonymous = anonymous; - } - - private void charge() { - Receipt receipt = new Receipt(this); - // We currently use test card data. This is because security is a concern, and we - // want to handle that by letting the card be provided by the user instead of storing it. - // Therefore this needs to stay until the data streaming API is implemented. - StripeShoppingTrip stripe = new StripeShoppingTrip("4242424242424242", 3, 2019, "314"); - stripe.charge((int) (receipt.getTotalPrice() * 100)); - } - - public boolean getCharged() { - return charged; - } - - /** - * @param coordinates list of coordinates that makes up the trip - * @return time of first data-point in the list of coordinates - */ - private long findStart(List coordinates) { - long min = coordinates.get(0).getTimeStamp(); - - for (Coordinate coord : coordinates) { - if (coord.getTimeStamp() < min) { - min = coord.getTimeStamp(); - } - } - return min; - } - - /** - * @param coordinates list of coordinates that makes up the trip - * @return time of last data-point in the list of coordinates - */ - private long findEnd(List coordinates) { - long max = coordinates.get(0).getTimeStamp(); - - for (Coordinate coord : coordinates) { - if (coord.getTimeStamp() > max) { - max = coord.getTimeStamp(); - } - } - return max; - } - - /** - * Sets the duration of the ShoppingTrip based on first and last - * timestamp in Coordinates - */ - private void setDuration() { - this.duration = this.findEnd(this.coordinates) - this.findStart(this.coordinates); - } - - /** - * Sets actions after a ShoppingTrip is created - * @param actions the list of actions - */ - public void setActions(List actions) { - this.actions = actions; - } - - /** - * Sets coordinates after ShoppingTrip is created - * @param coordinates The list of coordinates - */ - public void setCoordinates(List coordinates) { - this.coordinates = coordinates; - - if (coordinates.size() > 0) { - this.start = findStart(coordinates); - this.end = findEnd(coordinates); - setDuration(); - } - } - - public long getStart() { - return start; - } - - public long getEnd() { - return end; - } - - public List getCoordinates() { - return coordinates; - } - - public List getActions() { - return actions; - } - - public Shop getShop() { - return shop; - } - - public Customer getCustomer() { - return customer; - } - - public int getID() { - return shoppingTripID; - } - - - public long getDuration() { - return duration; - } - - public void setAnonymous(boolean anonymous) { - this.anonymous = anonymous; - } - - public boolean getAnonymous() { - return this.anonymous; - - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java deleted file mode 100644 index 9f3f45d..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/StripeShoppingTrip.java +++ /dev/null @@ -1,71 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.HashMap; -import java.util.Map; - -import com.stripe.Stripe; -import com.stripe.model.Token; -import com.stripe.exception.APIConnectionException; -import com.stripe.exception.APIException; -import com.stripe.exception.AuthenticationException; -import com.stripe.exception.CardException; -import com.stripe.exception.InvalidRequestException; -import com.stripe.exception.StripeException; -import com.stripe.model.Charge; - -public class StripeShoppingTrip { - private String card; - private int expMonth; - private int expYear; - private String cvc; - - static { - /** - * Test API key for the Stripe API. - */ - Stripe.apiKey = "sk_test_UfH4v9dDBkZ1DJvte0keF1Ta"; - } - - /** - * @param card The data for the card to charge. - */ - public StripeShoppingTrip(String card, int expMonth, int expYear, String cvc) { - this.card = card; - this.expMonth = expMonth; - this.expYear = expYear; - this.cvc = cvc; - } - - /** - * @param amount The amount to charge from the card, in millikroner. - * @return A Boolean indicating whether or not the amount was charged successfully. - */ - public boolean charge(int amount) { - Map tokenParams = new HashMap(); - Map cardParams = new HashMap(); - cardParams.put("number", card); - cardParams.put("exp_month", expMonth); - cardParams.put("exp_year", expYear); - cardParams.put("cvc", cvc); - tokenParams.put("card", cardParams); - - try { - Token token = Token.create(tokenParams); - Map chargeMap = new HashMap(); - chargeMap.put("amount", amount); - chargeMap.put("currency", "nok"); - chargeMap.put("source", token.getId()); - - try { - Charge.create(chargeMap); - return true; - } catch (StripeException e) { - e.printStackTrace(); - } - } catch (AuthenticationException | InvalidRequestException | APIConnectionException | CardException | APIException e1) { - e1.printStackTrace(); - } - - return false; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java deleted file mode 100644 index e173b64..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Action.java +++ /dev/null @@ -1,62 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.util.Date; - -public class Action { - /** - * The Product affected by this action. - */ - private Product product; - - /** - * The time at which the action happened. - */ - private Date time; - - /** - * The type of the action, which is either a PICK_UP or a DROP action. - */ - private int type; - - /** - * The code for PICK_UP actions. - */ - public static int PICK_UP = 1; - - /** - * The code for DROP actions. - */ - public static int DROP = 0; - - /** - * @param product The affected product. - * @param time The time at which the action happened. - * @param type Whether the item was picked up or dropped down. - */ - public Action(Product product, Date time, int type) { - this.product = product; - this.time = time; - this.type = type; - } - - /** - * @return The type of the action. - */ - public int getAction() { - return type; - } - - /** - * @return The ID of the affected product. - */ - public int getProductID() { - return product.getCode(); - } - - /** - * @return The time at which the action happened. - */ - public Date getTimestamp() { - return time; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java deleted file mode 100644 index 9852996..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Coordinate.java +++ /dev/null @@ -1,51 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -public class Coordinate { - /** - * The x-coordinate of the point. - */ - private double x; - - /** - * The y-coordinate of the point. - */ - private double y; - - /** - * Create a new point with the given coordinates. - * @param x The x-coordinate of the point. - * @param y The y-coordinate of the point. - */ - public Coordinate(double x, double y) { - this.x = x; - this.y = y; - } - - /** - * @return The x-coordinate of the point. - */ - public double getX() { - return x; - } - - /** - * @return The y-coordinate of the point. - */ - public double getY() { - return y; - } - - /** - * @param x The x-coordinate of the point. - */ - public void setX(double x) { - this.x = x; - } - - /** - * @param y The y-coordinate of the point. - */ - public void setY(double y) { - this.y = y; - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java deleted file mode 100644 index 509bdba..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/DataMocker.java +++ /dev/null @@ -1,301 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.concurrent.ThreadLocalRandom; - -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.ClientProtocolException; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.util.EntityUtils; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; - -public class DataMocker implements Runnable { - /** - * The API URL test data will be sent to. - */ - private static String API_URL = "http://localhost:8080/api/v1/shoppingtrip/"; - - /** - * A Rectangle containing the start and end of all paths. Typically the cashier desks. - */ - private Rectangle home; - - /** - * Zones where a customer may stop to pick up goods. We use a List instead of a collection - * so that we can easily shuffle the zones in order to pick a random subset. - */ - private List zones; - - /** - * Creates a new DataMocker reflecting a freshly stocked shop. - */ - public DataMocker() { - initializeShop(); - } - - /** - * Initializes the shop with products. - */ - private void initializeShop() { - home = new Rectangle(new Coordinate(0, 0), new Coordinate(10, 10)); - - zones = new ArrayList<>(); - - int rowAmount = 4; - - int productsPerRack = 4; - - int rackLength = 20; - - int rackHeight = 10; - - for (int y = 10; y < rowAmount * 20; y += 20) { - for (int x = 10; x < rowAmount * 40; x += 40) { - Collection products = new ArrayList<>(); - - for (int i = 0; i < productsPerRack; i++) { - products.add(new Product(180)); - } - - Rack productRack = new Rack(new Coordinate(x, y), new Coordinate((x + rackLength), (y + rackHeight)), products); - - zones.add(productRack); - } - } - } - - /** - * Generates a random coordinate inside a given rectangle. - * @param rectangle - * @return A random coordinate contained within the given rectangle. - */ - private Coordinate generateRandomCoordinateInsideRectangle(Rectangle rectangle) { - return new Coordinate( - ThreadLocalRandom.current().nextDouble(rectangle.getLower().getX(), rectangle.getUpper().getX()), - ThreadLocalRandom.current().nextDouble(rectangle.getLower().getY(), rectangle.getUpper().getY()) - ); - } - - /** - * Returns a coordinate on the line connecting the start and end coordinates. - * @param start The start coordinate. - * @param end The end coordinate. - * @param displacement The position on the line, given as a percentage between 0 and 1. - * @return A coordinate on the line connecting the start and end coordinates. - */ - private Coordinate getPointAtSlopeBetweenCoordinates(Coordinate start, Coordinate end, double displacement) { - double position = start.getX() + (end.getX() - start.getX()) * displacement; - double slope = (end.getY() - start.getY()) / (end.getX() - start.getX()); - return new Coordinate(position, start.getY() + slope * (position - start.getX())); - } - - /** - * Returns a list containing evenly points on the line connecting the start and end coordinates. - * @param start The start coordinate. - * @param end The end coordinate. - * @param intensity The distance between samples. - * @param fuzz The amount of randomness added to samples. - * @return A list of distinct coordinate on the line connecting the start and end coordinates. - */ - private List getAllPointsAtSlopeBetweenCoordinates(Coordinate start, Coordinate end, double intensity, double fuzz) { - List coordinates = new ArrayList<>(); - - // Calculate the distance between the start and end coordinates. - double distance = Math.sqrt(Math.pow(end.getX() - start.getX(), 2) + Math.pow(end.getY() - start.getY(), 2)); - - for (double i = 0; i <= distance; i += intensity) { - Coordinate position = getPointAtSlopeBetweenCoordinates(start, end, i / distance); - - // Add some noise to the coordinates. Clamp the values so that they are not negative. - // This slightly changes the probability distribution for coordinates close to the edges, which - // should not really be a problem in practice. - position.setX(Math.max(position.getX() + ThreadLocalRandom.current().nextDouble(-fuzz / 2, fuzz / 2), 0)); - position.setY(Math.max(position.getY() + ThreadLocalRandom.current().nextDouble(-fuzz / 2, fuzz / 2), 0)); - - coordinates.add(position); - } - - return coordinates; - } - - /** - * Generate a sequence of coordinates describing an users path through the shop. - * Five units is one meter, and the maximum speed 60 units per second. - * @param intensity The distance between samples. - * @param fuzz The amount of randomness added to samples. - * @param speed The number of units the person walks each second. - * @return A list of coordinates between a random set of zones, starting and ending in the home zone, and - * a list of actions performed by the user. - */ - public Trip generateRandomPath(double intensity, double fuzz, double speed) { - Inventory inventory = new Inventory(); - - List coordinates = new ArrayList<>(); - - List actions = new ArrayList<>(); - - // New date element used for timestamps. - Date time = new Date(); - - Coordinate previous = new Position(generateRandomCoordinateInsideRectangle(home), time); - - coordinates.add((Position) previous); - - // Shuffle the racks. This is used to create a random subset of zones to visit. - List shuffledRacks = new ArrayList<>(zones); - - Collections.shuffle(shuffledRacks); - - // Select a random amount of zones from the shuffled list of zones. - for (Rack box : shuffledRacks.subList(0, ThreadLocalRandom.current().nextInt(0, shuffledRacks.size() + 1))) { - // The target position. - Coordinate target = new Position(generateRandomCoordinateInsideRectangle(box), new Date()); - - for (Coordinate coordinate : getAllPointsAtSlopeBetweenCoordinates(previous, target, intensity, fuzz)) { - time = addTime(time, Double.valueOf(intensity * speed).intValue()); - coordinates.add(new Position(coordinate, time)); - } - - previous = target; - - // Choose a random product. - Product product = box.getRandomItem(); - - int action = ThreadLocalRandom.current().nextInt(Action.DROP, Action.PICK_UP + 1); - - boolean validAction = false; - - if (action == Action.PICK_UP && product.canPickUp()) { - inventory.add(product); - validAction = true; - } else if (action == Action.DROP && inventory.contains(product)) { - inventory.remove(product); - validAction = true; - } - - if (validAction) { - actions.add(new Action(product, time, action)); - } - } - - Coordinate goal = generateRandomCoordinateInsideRectangle(home); - - for (Coordinate coordinate : getAllPointsAtSlopeBetweenCoordinates(previous, goal, intensity, fuzz)) { - time = addTime(time, Double.valueOf(intensity * speed).intValue()); - coordinates.add(new Position(coordinate, time)); - } - - return new Trip(coordinates, actions); - } - - /** - * @return A random path with sensible default parameters. - */ - public Trip generateRandomPath() { - return generateRandomPath(5, 2, 15); - } - - /** - * A basic function to add time to a given Date time object. - * The function adds time in milliseconds, as waiting for a long time when testing is boring.. - * @param time The date to add time to. - * @param seconds Milliseconds to add to the time. - * @return A Date object where the the given amount of time has been added to the time. - */ - private Date addTime(Date time, int seconds) { - Calendar cal = Calendar.getInstance(); - cal.setTime(time); - cal.add(Calendar.MILLISECOND, seconds); - time = cal.getTime(); - return time; - } - - /** - * Returns JSON describing a shopping trip. - * @return - * @throws JsonProcessingException - */ - public String getRandomPathJSON() throws JsonProcessingException { - ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); - return ow.writeValueAsString(generateRandomPath()); - } - - /** - * Sends test data to the server. The data represents one shopping trip. - * @throws IOException - * @throws ClientProtocolException - */ - public void sendShoppingTripData(Trip trip) throws ClientProtocolException, IOException { - ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); - String json = ow.writeValueAsString(trip); - - DefaultHttpClient httpclient = new DefaultHttpClient(); - HttpPost httpPost = new HttpPost(API_URL + "?customer-id=" + trip.getCustomerID()); - httpPost.addHeader("content-type", "application/json"); - httpPost.setEntity(new StringEntity(json)); - HttpResponse response2 = httpclient.execute(httpPost); - - try { - HttpEntity entity2 = response2.getEntity(); - EntityUtils.consume(entity2); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void run() { - PriorityQueue heap = new PriorityQueue<>(); - - long currentTime = 0; - - while (true) { - if (Thread.currentThread().isInterrupted()) { - break; - } - - // The delay until the next customer enters the store. We use a random exponential variable - // with 10 seconds as the expected value. - heap.add(new ThreadAction((int) (currentTime + Math.log(1 - ThreadLocalRandom.current().nextDouble()) / -0.0001))); - - ThreadAction action = heap.poll(); - - try { - // Always wait 10 seconds - it's not as realistic, but better for demonstrating, which is - // what the datamocker is supposed to do, anyway. - Thread.sleep(10000); - } catch (InterruptedException e) { - // We simply exit early if the sleeping is interrupted. - break; - } - - currentTime = action.getTime(); - - if (action.getAction() == 0) { - Trip trip = generateRandomPath(); - heap.add(new ThreadAction(currentTime + trip.getDuration(), trip)); - } else { - try { - sendShoppingTripData(action.getTrip()); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java deleted file mode 100644 index 5f3dcd0..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Inventory.java +++ /dev/null @@ -1,30 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.util.HashMap; -import java.util.Map; - -public class Inventory { - private Map products = new HashMap<>(); - - private boolean keyExists(Product product) { - return products.keySet().contains(product.getCode()); - } - - public int getCount(Product product) { - return keyExists(product) ? products.get(product.getCode()) : 0; - } - - public boolean contains(Product product) { - return getCount(product) > 0; - } - - public void add(Product product) { - products.put(product.getCode(), getCount(product) + 1); - product.pickUp(); - } - - public void remove(Product product) { - products.put(product.getCode(), getCount(product) - 1); - product.putDown(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java deleted file mode 100644 index 66955ef..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Position.java +++ /dev/null @@ -1,40 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.util.Date; - -public class Position extends Coordinate { - /** - * The time at which the person was at this coordinate. A coordinate tuple - * and a timestamp defines a position. - */ - private Date timestamp; - - /** - * A Position is a combination of a coordinate and a given point in time. - * @param x The x-coordinate. - * @param y The y-coordinate. - * @param timestamp The time at which the coordinate was visited. - */ - public Position(double x, double y, Date timestamp) { - super(x, y); - - this.timestamp = timestamp; - } - - /** - * Alternative constructor which accepts a Coordinate and wraps it to create a Position. - * @param coordinate The Coordinate to wrap. - * @param timestamp The time at which the coordinate was visited. - */ - public Position(Coordinate coordinate, Date timestamp) { - super(coordinate.getX(), coordinate.getY()); - this.timestamp = timestamp; - } - - /** - * @return The time at which the coordinate was visited. - */ - public Date getTimestamp() { - return timestamp; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java deleted file mode 100644 index 96add8b..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Product.java +++ /dev/null @@ -1,64 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -public class Product { - /** - * An unique ID for used to uniquely identify products. - */ - private static int productCounter = 1; - - /** - * The unique code for a specific product. - */ - private int code; - - /** - * The amount of products of this type left in stock. - */ - private int count; - - /** - * Create a new Product with a fresh ID. - */ - public Product(int count) { - if (productCounter > 64) { - throw new IllegalStateException("More than 64 products have been generated"); - } - - code = productCounter; - productCounter += 1; - - this.count = count; - } - - /** - * @return Whether or not there are items of this type left in stock. - */ - public boolean canPickUp() { - return count > 0; - } - - /** - * Picks up an item, therefore removing it from the stock. - */ - public void pickUp() { - if (count == 0) { - throw new IllegalStateException("Cannot pick up item which is not in stock"); - } - - count -= 1; - } - - /** - * Puts down an item, adding one to the stock. - */ - public void putDown() { - count += 1; - } - - /** - * @return The code for this product. - */ - public int getCode() { - return code; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java deleted file mode 100644 index 6a0428d..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rack.java +++ /dev/null @@ -1,51 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.util.Collection; -import java.util.concurrent.ThreadLocalRandom; - -public class Rack extends Rectangle { - /** - * A collection of items being stored in this rack. - */ - private Collection items; - - /** - * Create a Rack, which is a Rectangle with a collection of items belonging to it. - * @param lower The lower-left corner of the rectangle. - * @param upper The upper-right corner of the rectangle. - * @param items Items belonging this rack - */ - public Rack(Coordinate lower, Coordinate upper, Collection items) { - super(lower, upper); - - this.items = items; - } - - /** - * @return The items stored in this rack. - */ - public Collection getItems() { - return items; - } - - /** - * @return A randomly chosen item stored in this rack. - */ - public Product getRandomItem() { - int index = 0; - - int target = ThreadLocalRandom.current().nextInt(items.size()); - - // Since only assume a Collection, we iterate through it until a randomly - // chosen index is reached. - for (Product item : items) { - if (index == target) { - return item; - } - - index += 1; - } - - return null; - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java deleted file mode 100644 index d2a8b79..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Rectangle.java +++ /dev/null @@ -1,37 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -public class Rectangle { - /** - * The lower-left corner of the rectangle. - */ - private Coordinate lower; - - /** - * The upper-right corner of the rectangle. - */ - private Coordinate upper; - - /** - * Create a new Rectangle with the given boundaries. - * @param lower The lower-left corner of the rectangle. - * @param upper The upper-right corner of the rectangle. - */ - public Rectangle(Coordinate lower, Coordinate upper) { - this.lower = lower; - this.upper = upper; - } - - /** - * @return The lower-left corner of the rectangle. - */ - public Coordinate getLower() { - return lower; - } - - /** - * @return The upper-right corner of the rectangle. - */ - public Coordinate getUpper() { - return upper; - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java deleted file mode 100644 index 31c9ddc..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/ThreadAction.java +++ /dev/null @@ -1,47 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -public class ThreadAction implements Comparable { - public static int ACTION_ENTER = 0; - public static int ACTION_LEAVE = 1; - - private int action; - private long time; - private Trip trip; - - /** - * Enter action. - * @param time - */ - public ThreadAction(int time) { - this.action = 0; - this.time = time; - } - - /** - * Exit action. - * @param time - * @param trip - */ - public ThreadAction(long time, Trip trip) { - this.action = 1; - this.time = time; - this.trip = trip; - } - - public int getAction() { - return action; - } - - public long getTime() { - return time; - } - - public Trip getTrip() { - return trip; - } - - @Override - public int compareTo(Object action) { - return (int) (this.getTime() - ((ThreadAction) action).getTime()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java deleted file mode 100644 index 9683472..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/dataMocker/Trip.java +++ /dev/null @@ -1,62 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -import tdt4140.gr1864.app.core.dataMocker.Action; -import tdt4140.gr1864.app.core.dataMocker.Position; - -public class Trip { - /** - * The customerID of the person doing this trip - */ - private int customerID; - - /** - * The Path of the person this trip is describing. - */ - private List coordinates; - - /** - * Actions performed by the simulated user. - */ - private List actions; - - /** - * Data simulating user movements and actions through a shop. - * CustomerID (0-10) will be generated and will be set to "user" of this trip - * @param coordinates The Path of the user. - * @param actions The actions executed along the way. - */ - public Trip(List coordinates, List actions) { - this.coordinates = coordinates; - this.actions = actions; - this.customerID = ThreadLocalRandom.current().nextInt(1, 11); - } - - /** - * @return The Path of the simulated person. - */ - public List getCoordinates() { - return coordinates; - } - - /** - * @return The actions done along this particular path. - */ - public List getActions() { - return actions; - } - - public long getDuration() { - return coordinates.get(coordinates.size() - 1).getTimestamp().getTime() - coordinates.get(0).getTimestamp().getTime(); - } - - /** - * @return The id of the customer doing this trip - */ - public int getCustomerID() { - return this.customerID; - } -} - diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java deleted file mode 100644 index 14529f8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/CreateDatabase.java +++ /dev/null @@ -1,67 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; - -public class CreateDatabase { - - public static void createNewDatabase() throws IOException { - - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = CreateDatabase.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = CreateDatabase.class.getClassLoader().getResource(".").getPath(); - } - String dbPath = relativePath + path; - - String url = "jdbc:sqlite:" + dbPath; - BufferedReader in = new BufferedReader(new FileReader("../app.core/src/main/resources/database.sql")); - String str; - StringBuffer sql = new StringBuffer(); - while ((str = in.readLine()) != null) { - sql.append(str + "\n "); - } - in.close(); - - try (Connection conn = DriverManager.getConnection(url)) { - if (conn != null) { - - String[] sqlArr = sql.toString().split("(;\\n)"); - Statement stmt = conn.createStatement(); - for (String s : sqlArr) { - s += ";"; - stmt.execute(s); - } - } - - } catch (SQLException e) { - System.out.println(e.getMessage()); - } - } - - /** - * @param args the command line arguments - * @throws IOException - */ - public static void main(String[] args) { - try { - createNewDatabase(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java deleted file mode 100644 index ea4f941..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DBPath.java +++ /dev/null @@ -1,42 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Paths; - -/** - * Streamlines database-paths, removing it from the constructor - * of database-controllers. - * @author vegarab - */ -public class DBPath { - - /* Path to the database file */ - String dbPath; - - /** - * Sets the path string to the database - */ - public DBPath() { - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = this.getClass().getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = this.getClass().getClassLoader().getResource(".").getPath(); - } - dbPath = relativePath + path; - } - - /** - * Retrieves the path needed to locate the DB - * @return dbPath - */ - public String getPath() { - return dbPath; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java deleted file mode 100644 index 14f2d2a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DataLoader.java +++ /dev/null @@ -1,428 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import static java.lang.Math.toIntExact; - -import java.io.FileReader; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; - -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Receipt; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -public class DataLoader { - - /* trip, customer and shop created by this loader */ - private static ShoppingTrip trip; - private static Shop shop; - - /* lists of multiples */ - private static List customers; - private static List products; - private static List actions; - private static List coordinates; - - private static final String[] NAMES = { "Reina Novoa", - "Dyan Linkous", - "Kenyatta Horning", - "August Eastwood", - "Kasi Fredricks", - "Sherilyn Salamanca", - "Jean Oslund", - "Maxima Hargreaves", - "Isabell Jarrell", - "Debbi Fuquay" }; - - public static void main(String [] args) { - customers = new ArrayList<>(); - products = new ArrayList<>(); - actions = new ArrayList<>(); - coordinates = new ArrayList<>(); - - cleanDatabase(); - loadCustomers(); - loadProducts(); - createShop(); - addProductsInShelfsInDB(products); - loadShoppingTrips(); - } - - /** - * Creates database if doesn't exist and wipes if does - */ - private static void cleanDatabase() { - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = TestDataLoader.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = TestDataLoader.class.getClass().getClassLoader().getResource(".").getPath(); - } - path = relativePath + path; - Path dbPath = Paths.get(path); - - if (! Files.exists(dbPath)) { - CreateDatabase.main(null); - } else { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - } - } - - public static void loadUserDemographics(String json) { - JSONParser parser = new JSONParser(); - - Customer customer; - String address; - int zip; - - try { - JSONObject customerObject = (JSONObject) parser.parse(json); - - // get Customer - customer = (Customer) getCustomer(toIntExact((long) customerObject.get("customerID"))); - - // get Address - address = (String) customerObject.get("address"); - - // get Zip - zip = toIntExact((long) customerObject.get("zip")); - - CustomerDatabaseController cdc = new CustomerDatabaseController(); - List customers = cdc.retrieveAll(); - customers.remove(customer); - customer.setAddress(address); - customer.setZip(zip); - - cdc.update(customer); - customers.add(customer); - - } catch (ParseException e) { - e.printStackTrace(); - } - } - - /** - * Loads mock-products file and creates Product objects with corresponding name and price - * @return A list of products which are generated from .json file. - */ - private static List loadProducts() { - ProductDatabaseController pdc = new ProductDatabaseController(); - - String path = "../../../app.core/src/main/resources/mock-products.json"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = DataLoader.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = DataLoader.class.getClassLoader().getResource(".").getPath(); - } - - JSONParser parser = new JSONParser(); - - List localProducts = null; - - try { - Object obj = parser.parse(new FileReader(relativePath + path)); - JSONArray groceries = (JSONArray) obj; - - // Creates a list with products with groceries JSONArray - localProducts = createProducts(groceries, pdc); - } - catch (Exception e) { - e.printStackTrace(); - } - products = localProducts; - return products; - } - - /** - * Creates list of Products - * @param productArray JSONArray with generated products - * @return list of products - */ - private static List createProducts(JSONArray productArray, ProductDatabaseController pdc) { - List products = new ArrayList<>(); - String name; - double price; - - for (Object o : productArray) { - - // {"grocery": String, "price": double} - JSONObject jsonGrocery = (JSONObject) o; - - // Gets grocery name and price for each product - name = (String) jsonGrocery.get("grocery"); - price = Double.parseDouble((String) jsonGrocery.get("price")); - - // Creates a new products and adds it to the list - Product newProduct = new Product(name, price); - - // Adds the newProduct to database - int productID = pdc.create(newProduct); - Product tempProduct = new Product(productID, name, price); - - products.add(tempProduct); - } - return products; - } - - /** - * Generates 10 customers from NAMES and persists to database - */ - private static void loadCustomers() { - for (int i = 0; i < NAMES.length; i++) { - customers.add(createCustomer(i)); - } - } - - /** - * Gets customer from database based on ID - * @param id of customer to get - * @return customer - */ - private static Customer getCustomer(int id) { - CustomerDatabaseController cdc = new CustomerDatabaseController(); - return cdc.retrieve(id); - } - - /** - * Creates customer with name NAMES[i] and persists to database. - * Used as sub-routine of loadCustomers() - * @param index of names - * @return customer - */ - private static Customer createCustomer(int index) { - String fullName = NAMES[index]; - String [] names = fullName.split(" "); - - Customer c1 = new Customer(names[0], names[1]); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); - return c1; - } - - /** - * creates shop and writes it to db - * @return shop - */ - private static Shop createShop() { - Shop s1 = new Shop("Kings Road 2", 1020); - ShopDatabaseController sdc = new ShopDatabaseController(); - s1 = new Shop(s1.getAddress(), s1.getZip(), sdc.create(s1)); - shop = s1; - return s1; - } - - /** - * Loads JSON-data from string, creates ShoppingTrip object - * This function is for the API - * @param json String with json-data of a ShoppingTrip - * @return trip - */ - public static ShoppingTrip loadShoppingTrip(String json) { - - JSONParser parser = new JSONParser(); - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - ShoppingTrip trip = null; - Customer customer; - Shop shop = createShop(); - - try { - JSONObject tripObject = (JSONObject) parser.parse(json); - - // get Customer - customer = (Customer) getCustomer(toIntExact((long) tripObject.get("customerID"))); - - // create ShoppingTrip - trip = new ShoppingTrip(customer, shop, true); - trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); - - // creating Coordinates - JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); - coordinates = (ArrayList) createCoordinates(coordsArray, trip); - - // creating Actions - JSONArray actionsArray = (JSONArray) tripObject.get("actions"); - actions = (ArrayList) createActions(actionsArray, trip); - - // adds Coordinate and Action to ShoppingTrip - trip = createShoppingTrip(trip, coordinates, actions); - - } catch (ParseException e) { - e.printStackTrace(); - } - return trip; - } - - /** - * Loads JSON-data from file, creates ShoppingTrip object - * @return shoppingTrip - */ - private static ShoppingTrip loadShoppingTrips() { - - String path = "../../../app.core/src/main/resources/test-data.json"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = DataLoader.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = DataLoader.class.getClassLoader().getResource(".").getPath(); - } - - JSONParser parser = new JSONParser(); - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - - Shop s1 = shop; - Customer c1 = getCustomer(1); - - // We set the charged flag to true to prevent spamming the Stripe API. - trip = new ShoppingTrip(c1, s1, true); - trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); - - try { - Object obj = parser.parse(new FileReader(relativePath + path)); - JSONObject tripObject = (JSONObject) obj; - - // creating Coordinates - JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); - coordinates = (ArrayList) createCoordinates(coordsArray, trip); - - // creating Actions - JSONArray actionsArray = (JSONArray) tripObject.get("actions"); - actions = (ArrayList) createActions(actionsArray, trip); - - // adds Coordinate and Action to ShoppingTrip - trip = createShoppingTrip(trip, coordinates, actions); - } - catch (Exception e) { - e.printStackTrace(); - } - return trip; - } - - /** - * Adds Coordinates and Actions to global ShoppingTrip. - * Sub-routine of loadShoppingTrip() - * @param coordinates list of Coordinate objects for ShoppingTrip - * @param actions list of Action objects for ShoppingTrip - * @return ShoppingTrip object created from coordinates and actions - */ - private static ShoppingTrip createShoppingTrip(ShoppingTrip trip, List coordinates, List actions) { - // We set the Charged flag to true to prevent spamming the Stripe API with charges. - trip.setActions(actions); - trip.setCoordinates(coordinates); - return trip; - } - - /** - * Creates list of Coordinates for use in ShoppingTrip-creation - * @param coordsArray JSONArray with generated coordinates - * @return list of Coordinates for use in ShoppingTrip-creation - */ - private static List createCoordinates(JSONArray coordsArray, ShoppingTrip trip) { - Coordinate coordinate; - CoordinateDatabaseController cdc = new CoordinateDatabaseController(); - List localCoordinates = new ArrayList(); - double x, y; - String timeStamp; - - for (Object o : coordsArray) { - JSONObject jsonCoord = (JSONObject) o; - x = (double) jsonCoord.get("x"); - y = (double) jsonCoord.get("y"); - timeStamp = Long.toString((long) jsonCoord.get("timestamp")); - - coordinate = new Coordinate(x, y, timeStamp, trip); - localCoordinates.add(coordinate); - - // writes coordinate to database - cdc.create(coordinate); - - } - coordinates = localCoordinates; - return coordinates; - } - - /** - * Creates list of Actions for use in ShoppingTrip-creation - * @param actionsArray JSONArray with generated actions - * @return list of Actions for use in ShoppingTrip-creation - */ - private static List createActions(JSONArray actionsArray, ShoppingTrip trip) { - Action action; - ActionDatabaseController adc = new ActionDatabaseController(); - ProductDatabaseController pdc = new ProductDatabaseController(); - List localActions = new ArrayList(); - int actionType; - int productID; - String timeStamp; - - for (Object o : actionsArray) { - JSONObject jsonAction = (JSONObject) o; - timeStamp = Long.toString((long) jsonAction.get("timestamp")); - actionType = toIntExact((long) jsonAction.get("action")); - productID = toIntExact((long) jsonAction.get("productID")); - // producted needed for action-creation - Product product = pdc.retrieve(productID); - - action = new Action(timeStamp, actionType, product, trip); - localActions.add(action); - - // write action to database - adc.create(action); - } - actions = localActions; - return actions; - } - - - /** - * A function that adds products to the shelfs and storage of the shop, also updates the DB - */ - public static void addProductsInShelfsInDB(List products) { - int amountInStorage = 90; - int amountOnShelfs = 20; - OnShelfDatabaseController osdc = new OnShelfDatabaseController(); - for(Product p : products) { - int productID = p.getID(); - shop.setAmountInShelfs(productID, amountOnShelfs); - shop.setAmountInStorage(productID, amountInStorage); - osdc.create(shop, productID); - } - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java deleted file mode 100644 index b93259a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/database/DatabaseWiper.java +++ /dev/null @@ -1,71 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -/** - * DatabaseWiper deletes all tables in databse if they exist - * - * @author stian - * - */ -public class DatabaseWiper { - - private List tables; - String dbPath; - - public DatabaseWiper() { - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = this.getClass().getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = this.getClass().getClassLoader().getResource(".").getPath(); - } - dbPath = relativePath + path; - - this.tables = new ArrayList<>(); - - this.tables.add("customer"); - this.tables.add("bought"); - this.tables.add("coordinate"); - this.tables.add("action"); - this.tables.add("on_shelf"); - this.tables.add("shop"); - this.tables.add("shopping_trip"); - this.tables.add("product"); - } - - public void wipe() { - Path path = Paths.get(dbPath); - - if (Files.exists(path)) { - for (int i = 0; i products; - List actions; - List coordinates; - List customers; - List trips; - - public TestDataLoader() { - // clean database - cleanDatabase(); - - ProductDatabaseController pdc = new ProductDatabaseController(); - - // loads products - String pathToProducts = "../../../app.core/src/main/resources/mock-products.json"; - - products = this.loadProducts(pathToProducts, pdc); - - // loads trip - String pathToTrip = "../../../app.core/src/main/resources/test-data.json"; - trip = this.loadShoppingTrip(pathToTrip); - - } - - /** - * Creates database if doesn't exist and wipes if does - */ - private static void cleanDatabase() { - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = TestDataLoader.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = TestDataLoader.class.getClass().getClassLoader().getResource(".").getPath(); - } - path = relativePath + path; - Path dbPath = Paths.get(path); - - if (! Files.exists(dbPath)) { - CreateDatabase.main(null); - } else { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - } - } - - /** - * Loads mock-products file and creates Product objects with corresponding name and price - * @param path Path to .json file - * @return A list of products which are generated from .json file. - */ - public List loadProducts(String path, ProductDatabaseController pdc) { - - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = getClass().getClassLoader().getResource(".").getPath(); - } - - JSONParser parser = new JSONParser(); - - List products = null; - - try { - Object obj = parser.parse(new FileReader(relativePath + path)); - JSONArray groceries = (JSONArray) obj; - - // Creates a list with products with groceries JSONArray - products = createProducts(groceries, pdc); - } - catch (Exception e) { - e.printStackTrace(); - } - this.products = products; - return products; - } - - /** - * Creates list of Products - * @param productArray JSONArray with generated products - * @return list of products - */ - public List createProducts(JSONArray productArray, ProductDatabaseController pdc) { - List products = new ArrayList<>(); - String name; - double price; - - for (Object o : productArray) { - - // {"grocery": String, "price": double} - JSONObject jsonGrocery = (JSONObject) o; - - // Gets grocery name and price for each product - name = (String) jsonGrocery.get("grocery"); - price = Double.parseDouble((String) jsonGrocery.get("price")); - - // Creates a new products and adds it to the list - Product newProduct = new Product(name, price); - - // Adds the newProduct to database - int productID = pdc.create(newProduct); - Product tempProduct = new Product(productID, name, price); - - products.add(tempProduct); - } - return products; - } - - /** - * creates customer and writes it to db - * @return customer - */ - public Customer createCustomer() { - Customer c1 = new Customer("Kari", "Normann"); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); - this.customer = c1; - return c1; - } - - /** - * creates shop and writes it to db - * @return shop - */ - public Shop createShop() { - Shop s1 = new Shop("Kings Road 2", 1020); - ShopDatabaseController sdc = new ShopDatabaseController(); - s1 = new Shop(s1.getAddress(), s1.getZip(), sdc.create(s1)); - this.shop = s1; - return s1; - } - - - /** - * Loads JSON-data from path, creates ShoppingTrip object - * @param path relative path to JSON-data (relative to this) - * @return shoppingTrip - */ - public ShoppingTrip loadShoppingTrip(String path) { - - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = getClass().getClassLoader().getResource(".").getPath(); - } - - JSONParser parser = new JSONParser(); - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - - Shop s1 = createShop(); - Customer c1 = createCustomer(); - // We set the charged flag to true to prevent spamming the Stripe API. - trip = new ShoppingTrip(c1, s1, true); - trip = new ShoppingTrip(stdc.create(trip), trip.getCustomer(), trip.getShop(), true, false); - - try { - Object obj = parser.parse(new FileReader(relativePath + path)); - JSONObject tripObject = (JSONObject) obj; - - // creating Coordinates - JSONArray coordsArray = (JSONArray) tripObject.get("coordinates"); - coordinates = (ArrayList) createCoordinates(coordsArray, trip); - - // creating Actions - JSONArray actionsArray = (JSONArray) tripObject.get("actions"); - actions = (ArrayList) createActions(actionsArray, trip); - - // adds Coordinate and Action to ShoppingTrip - trip = createShoppingTrip(trip, coordinates, actions); - } - catch (Exception e) { - e.printStackTrace(); - } - return trip; - } - - /** - * @param coordinates list of Coordinate objects for ShoppingTrip - * @param actions list of Action objects for ShoppingTrip - * @return ShoppingTrip object created from coordinates and actions - */ - public ShoppingTrip createShoppingTrip(ShoppingTrip trip, List coordinates, List actions) { - // We set the Charged flag to true to prevent spamming the Stripe API with charges. - ShoppingTrip newTrip = new ShoppingTrip(coordinates, actions, trip.getID(), true); - this.trip = newTrip; - return newTrip; - } - - /** - * Creates list of Coordinates for use in ShoppingTrip-creation - * @param coordsArray JSONArray with generated coordinates - * @return list of Coordinates for use in ShoppingTrip-creation - */ - public List createCoordinates(JSONArray coordsArray, ShoppingTrip trip) { - Coordinate coordinate; - CoordinateDatabaseController cdc = new CoordinateDatabaseController(); - List coordinates = new ArrayList(); - double x, y; - String timeStamp; - - for (Object o : coordsArray) { - JSONObject jsonCoord = (JSONObject) o; - x = (double) jsonCoord.get("x"); - y = (double) jsonCoord.get("y"); - timeStamp = Long.toString((long) jsonCoord.get("timestamp")); - - coordinate = new Coordinate(x, y, timeStamp, trip); - coordinates.add(coordinate); - - // writes coordinate to database - cdc.create(coordinate); - - } - this.coordinates = coordinates; - return coordinates; - } - - /** - * Creates list of Actions for use in ShoppingTrip-creation - * @param actionsArray JSONArray with generated actions - * @return list of Actions for use in ShoppingTrip-creation - */ - public List createActions(JSONArray actionsArray, ShoppingTrip trip) { - Action action; - ActionDatabaseController adc = new ActionDatabaseController(); - ProductDatabaseController pdc = new ProductDatabaseController(); - List actions = new ArrayList(); - int actionType; - int productID; - String timeStamp; - - for (Object o : actionsArray) { - JSONObject jsonAction = (JSONObject) o; - timeStamp = Long.toString((long) jsonAction.get("timestamp")); - actionType = toIntExact((long) jsonAction.get("action")); - productID = toIntExact((long) jsonAction.get("productID")); - // producted needed for action-creation - Product product = pdc.retrieve(productID); - - action = new Action(timeStamp, actionType, product, trip); - actions.add(action); - - // write action to database - adc.create(action); - } - this.actions = actions; - return actions; - } - - public ShoppingTrip getTrip() { - return trip; - } - public Customer getCustomer() { - return customer; - } - public Shop getShop() { - return shop; - } - public List getProducts() { - return products; - } - public List getActions() { - return actions; - } - public List getCoordinates() { - return coordinates; - } - public List getTrips() { - return trips; - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java deleted file mode 100644 index cf8d60d..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ActionDatabaseController.java +++ /dev/null @@ -1,200 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class ActionDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - Action action = objectIsAction(object); - String sql = "INSERT INTO action " - + "(timestamp, action_type, product_id, shopping_trip_id) " - + "values (?, ?, ?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setString(1, Long.toString(action.getTimeStamp())); - statement.setInt(2, action.getActionType()); - statement.setInt(3, action.getProduct().getID()); - statement.setInt(4, action.getShoppingTrip().getID()); - statement.executeUpdate(); - connection.close(); - - return action.getShoppingTrip().getID(); - - } catch (SQLException e) { - e.printStackTrace(); - } - - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - Action action = this.objectIsAction(object); - String sql = "UPDATE action " - + "SET action_type=?, product_id=? " - + "WHERE shopping_trip_id=? and timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, action.getActionType()); - statement.setInt(2, action.getProduct().getID()); - statement.setInt(3, action.getShoppingTrip().getID()); - statement.setString(4, Long.toString(action.getTimeStamp())); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Returns action based on shopping_trip_id and timeStamp - * @param shopping_trip_id id of trip this action is part of - * @param timestamp time of action - * @return action - */ - public Action retrieve(int shopping_trip_id, long timestamp) { - String sql = "SELECT * " - + "FROM action " - + "WHERE shopping_trip_id=? AND timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopping_trip_id); - statement.setString(2, Long.toString(timestamp)); - ResultSet rs = statement.executeQuery(); - - if (!rs.next()) { - connection.close(); - return null; - } - - ProductDatabaseController pdc = new ProductDatabaseController(); - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - Action action = new Action( - rs.getString("timestamp"), - rs.getInt("action_type"), - pdc.retrieve(rs.getInt("product_id")), - stdc.retrieve(rs.getInt("shopping_trip_id"))); - connection.close(); - return action; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Gets all the actions for a shopping trip with a given ID - * @param shopping_trip_id int the shopping trip ID - * @return List The list of all the actions for this shoppingTrip, or null if none - */ - public List retrieveAll(int shopping_trip_id) { - String sql = "SELECT * " - + "FROM action " - + "WHERE shopping_trip_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopping_trip_id); - ResultSet rs = statement.executeQuery(); - - ProductDatabaseController pdc = new ProductDatabaseController(); - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - List actions = new ArrayList<>(); - - while (rs.next()) { - Action action = new Action( - rs.getString("timestamp"), - rs.getInt("action_type"), - pdc.retrieve(rs.getInt("product_id")), - stdc.retrieve(shopping_trip_id)); - actions.add(action); - } - - connection.close(); - return actions; - - } catch (SQLException e) { - e.printStackTrace(); - } - - System.out.println("gjorde ikke noe"); - return null; - } - - /* Deprecated since Action has joint primary-key - * Might need functionality of function later - */ - @Deprecated - @Override - public Object retrieve(int shopping_trip_id) { - System.err.println("Not implemented!"); - return null; - } - - /* Deprecated since Action has joint primary-key */ - @Deprecated - @Override - public void delete(int id) { - System.err.println("not in use, see delete(int shopping_trip_id, long timestamp)"); - } - - /** - * deletes action from database based on shopping_trip_id and timeStamp - * @param shopping_trip_id id of trip action is a part of - * @param timestamp time of action - */ - public void delete(int shopping_trip_id, long timestamp) { - String sql = "DELETE FROM action " - + "WHERE shopping_trip_id=? " - + "AND timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopping_trip_id); - statement.setString(2, Long.toString(timestamp)); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * checks if incoming object is an Action - * @param object suspected action - * @return action - */ - public Action objectIsAction(Object object) { - try { - Action a = (Action) object; - return a; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not Action"); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java deleted file mode 100644 index daed3ab..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CoordinateDatabaseController.java +++ /dev/null @@ -1,201 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class CoordinateDatabaseController extends DatabaseController implements DatabaseCRUD{ - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - Coordinate coord = this.objectIsCoordinate(object); - String sql = "INSERT INTO coordinate " - + "(shopping_trip_id, timestamp, x, y) " - + "VALUES (?, ?, ?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, coord.getShoppingTrip().getID()); - statement.setString(2, Long.toString(coord.getTimeStamp())); - statement.setDouble(3, coord.getX()); - statement.setDouble(4, coord.getY()); - statement.executeUpdate(); - connection.close(); - - return coord.getShoppingTrip().getID(); - - } catch (SQLException e) { - e.printStackTrace(); - } - - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - Coordinate coord = this.objectIsCoordinate(object); - String sql = "UPDATE coordinate " - + "SET x=?, y=? " - + "WHERE shopping_trip_id=? and timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setDouble(1, coord.getX()); - statement.setDouble(2, coord.getY()); - statement.setInt(3, coord.getShoppingTrip().getID()); - statement.setString(4, Long.toString(coord.getTimeStamp())); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Returns coordinate based on shopping_trip_id and timeStamp - * @param shopping_trip_id id of trip this coordinate is part of - * @param timestamp time of read - * @return coordinate - */ - public Coordinate retrieve(int shopping_trip_id, long timestamp) { - String sql = "SELECT * " - + "FROM coordinate " - + "WHERE shopping_trip_id=? AND timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopping_trip_id); - statement.setString(2, Long.toString(timestamp)); - ResultSet rs = statement.executeQuery(); - - if (!rs.next()) { - connection.close(); - return null; - } - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - Coordinate coord = new Coordinate( - rs.getDouble("x"), - rs.getDouble("y"), - rs.getString("timestamp"), - stdc.retrieve(rs.getInt("shopping_trip_id"))); - connection.close(); - return coord; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * - * @param id The ID of the shopping trip to retrieve the coordinates for. - * @return A list of coordinates for the given shopping trip. - * @throws SQLException - */ - public List retrieveAll(int id) { - List coordinates = new ArrayList<>(); - - try { - String query = "SELECT * FROM coordinate WHERE shopping_trip_id=?"; - - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - - PreparedStatement statement = connection.prepareStatement(query); - - statement.setInt(1, id); - - ResultSet rs = statement.executeQuery(); - - // Used to find the ID of the shopping trip this coordinate is connected to. - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - - while (rs.next()) { - Coordinate coordinate = new Coordinate( - rs.getDouble("x"), - rs.getDouble("y"), - rs.getString("timeStamp"), - stdc.retrieve(rs.getInt("shopping_trip_id"))); - - coordinates.add(coordinate); - } - - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - - - - return coordinates; - } - - /* Deprecated since Coordinate has joint primary-key - * Might need functionality of function later - */ - @Deprecated - @Override - public Object retrieve(int id) { - System.err.println("Not implemented!"); - return null; - } - - /* Deprecated since Coordinate has joint primary-key */ - @Deprecated - @Override - public void delete(int id) { - System.err.println("not in use, see delete(int shopping_trip_id, long timestamp)"); - } - - /** - * deletes coordinate from database based on shopping_trip_id and timeStamp - * @param shopping_trip_id id of trip coordinate is a part of - * @param timestamp time of read - */ - public void delete(int shopping_trip_id, long timestamp) { - String sql = "DELETE FROM coordinate " - + "WHERE shopping_trip_id=? AND timestamp=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopping_trip_id); - statement.setString(2, Long.toString(timestamp)); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * checks if incoming object is a Coordinate - * @param object suspected coordinate - * @return coordinate - */ - public Coordinate objectIsCoordinate(Object object) { - try { - Coordinate c = (Coordinate) object; - return c; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not Coordinate"); - } - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java deleted file mode 100644 index 35c7c94..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/CustomerDatabaseController.java +++ /dev/null @@ -1,224 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class CustomerDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - Customer customer = objectIsCustomer(object); - String sql = "INSERT INTO customer (first_name, last_name, address, zip, gender, age, num_persons_in_household, anonymous, deleted) " - + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); - statement.setString(1, customer.getFirstName()); - statement.setString(2, customer.getLastName()); - statement.setString(3, customer.getAddress()); - statement.setInt(4, customer.getZip()); - statement.setString(5, customer.getGender()); - statement.setInt(6, customer.getAge()); - statement.setInt(7, customer.getNumberOfPersonsInHousehold()); - statement.setBoolean(8, customer.getAnonymous()); - statement.setBoolean(9, customer.isDeleted()); - statement.executeUpdate(); - - try { - // Retrieves all generated keys and returns the ID obtained by java object - // which is inserted into the database - ResultSet generatedKeys = statement.getGeneratedKeys(); - if (generatedKeys.next()) { - int i = Math.toIntExact(generatedKeys.getLong(1)); - connection.close(); - return i; - } - } catch (SQLException e) { - e.printStackTrace(); - } - connection.close(); - } - catch (SQLException e) { - e.printStackTrace(); - } - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) - */ - @Override - public Customer retrieve(int customerID) { - String sql = "SELECT * " - + "FROM customer " - + "WHERE customer_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, customerID); - ResultSet rs = statement.executeQuery(); - - // Returned nothing - if (!rs.next()) { - connection.close(); - return null; - } - - Customer user = new Customer( - rs.getString("first_name"), - rs.getString("last_name"), - rs.getString("address"), - rs.getInt("zip"), - rs.getString("gender"), - rs.getInt("age"), - rs.getInt("num_persons_in_household"), - rs.getBoolean("anonymous"), - rs.getInt("customer_id"), - rs.getBoolean("deleted") - ); - statement.close(); - return user; - - } - catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Returns all Customers in the database - * @return ArrayList of Customers - */ - public List retrieveAll() { - String sql = "SELECT * FROM customer"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - ResultSet rs = statement.executeQuery(); - - List customers = new ArrayList<>(); - while (rs.next()) { - Customer customer = new Customer( - rs.getString("first_name"), - rs.getString("last_name"), - rs.getString("address"), - rs.getInt("zip"), - rs.getString("gender"), - rs.getInt("age"), - rs.getInt("num_persons_in_household"), - rs.getBoolean("anonymous"), - rs.getInt("customer_id"), - rs.getBoolean("deleted")); - customers.add(customer); - } - connection.close(); - return customers; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - Customer customer = objectIsCustomer(object); - String sql = "UPDATE customer " - + "SET first_name=?, last_name=?, " - + "address=?, zip=?, gender=?, " - + "age=?, num_persons_in_household=?, " - + "anonymous=?, deleted=? " - + "WHERE customer_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setString(1, customer.getFirstName()); - statement.setString(2, customer.getLastName()); - statement.setString(3, customer.getAddress()); - statement.setInt(4, customer.getZip()); - statement.setString(5, customer.getGender()); - statement.setInt(6, customer.getAge()); - statement.setInt(7, customer.getNumberOfPersonsInHousehold()); - statement.setBoolean(8, customer.getAnonymous()); - statement.setBoolean(9, customer.isDeleted()); - statement.setInt(10, customer.getID()); - statement.executeUpdate(); - connection.close(); - } - catch (SQLException e) { - e.printStackTrace(); - } - - - } - - /** - * Deletes all values from a Customer - * @param customerID ID of Customer to "delete" - */ - @Override - public void delete(int customerID) { - Customer customer = this.retrieve(customerID); - customer.setDeleted(true); - this.update(customer); - } - - /** - * Checks if Object object is an instance of Customer - * @param object suspected Customer object - * @return The customer object if the object is an instance of customer - */ - public Customer objectIsCustomer(Object object) { - try { - Customer c = (Customer) object; - return c; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not Customer"); - } - } - - /** - * Counts amount of customers and returning the amount - * @return int The amount of customers registered in the database - */ - public int countCustomers() { - String sql = "SELECT COUNT(*) FROM customer"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - ResultSet rs = statement.executeQuery(); - // Returned nothing - if (!rs.next()) { - System.out.println("closed"); - connection.close(); - return 0; - } - int countCustomer = rs.getInt(1); - - statement.close(); - return countCustomer; - - } catch (SQLException e) { - e.printStackTrace(); - } - return 0; - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java deleted file mode 100644 index bdb87c0..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/DatabaseController.java +++ /dev/null @@ -1,20 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import tdt4140.gr1864.app.core.database.DBPath; - -/** - * Super-class for DatabaseControllers to streamline path to DB - * @author vegarab - */ -public abstract class DatabaseController { - - /* String path to database file */ - public String dbPath; - - /** - * Sets the path to the database file - */ - public DatabaseController() { - dbPath = new DBPath().getPath(); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java deleted file mode 100644 index 0b2975c..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/OnShelfDatabaseController.java +++ /dev/null @@ -1,164 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - - -/** - * The database controller that links the amounts of products in storage or on shelfs, to the DB - * - * @author stian - */ -public class OnShelfDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * The DatabaseCRUD interface was not compatible with table for on_shelf, so its four methods have been deprecated and replaced - */ - @Deprecated - @Override - public int create(Object object) { - throw new UnsupportedOperationException("create(Object object) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); - } - - /** - * Creates a new row in DB - updates the DB with the amounts of a product that are in storage and on the shelfs - * - * Inputs are objects to secure the right id is used in the right place and to simplify the code - * - * @param shop Shop object - * @param productID ID of product - */ - public void create(Shop shop, int productID) { - String sql = "INSERT INTO on_shelf " - + "(shop_id, product_id, amount_on_shelfs, amount_in_storage) " - + "VALUES (?, ?, ?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shop.getID()); - statement.setInt(2, productID); - statement.setInt(3, shop.getAmountInShelfs(productID)); - statement.setInt(4, shop.getAmountInStorage(productID)); - statement.executeUpdate(); - connection.close(); - } - catch (SQLException e) { - e.printStackTrace(); - } - } - - @Deprecated - @Override - public void update(Object object) { - throw new UnsupportedOperationException("update(Object object) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); - } - - /** - * Updates the amounts of a product stored in DB - * - * @param shop The shop where the products are stored - * @param productID ID of the product that's stored - */ - public void update(Shop shop, int productID) { - String sql = "UPDATE on_shelf " - + "SET amount_on_shelfs=?, amount_in_storage=? " - + "WHERE shop_id=? AND product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shop.getAmountInShelfs(productID)); - statement.setInt(2, shop.getAmountInStorage(productID)); - statement.setInt(3, shop.getID()); - statement.setInt(4, productID); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Deprecated - @Override - public Object retrieve(int id){ - throw new UnsupportedOperationException("retrieve(int id) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); - } - - /** - * Retrieves the saved amounts from the DB and updates the shop object - * - * @param shop The shop where the products are stored - * @param productID ID of the products that are stored - * - * @return shop The updated shop object - */ - public Shop retrieve(Shop shop, int productID) { - String sql = "SELECT amount_on_shelfs, amount_in_storage " - + "FROM on_shelf " - + "WHERE shop_id=? AND product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shop.getID()); - statement.setInt(2, productID); - - ResultSet rs = statement.executeQuery(); - - if (!rs.next()) { - connection.close(); - return null; - } - - //Update the shop object and return it - shop.setAmountInShelfs(productID, rs.getInt("amount_on_shelfs")); - shop.setAmountInStorage(productID, rs.getInt("amount_in_storage")); - - connection.close(); - return shop; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - - @Deprecated - @Override - public void delete(int id) { - throw new UnsupportedOperationException("delete(int id) method from DatabaseCRUD is no longer in use for OnShelf DBctrl"); - } - - /** - * Deletes the DB entry where amounts are stored - * - * @param shopID The shop where the products are stored - * @param productID The product that's stored - */ - public void delete(int shopID, int productID) { - String sql = "DELETE FROM on_shelf " - + "WHERE shop_id=? AND product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, shopID); - statement.setInt(2, productID); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java deleted file mode 100644 index a42b198..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ProductDatabaseController.java +++ /dev/null @@ -1,143 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class ProductDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - Product product = objectIsProduct(object); - String sql = "INSERT INTO product " - + "(name, price) " - + "VALUES (?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); - statement.setString(1, product.getName()); - statement.setDouble(2, product.getPrice()); - statement.executeUpdate(); - - // Object has been given an ID first time creating and inserting into database - try { - // Retrieves all generated keys and returns the ID obtained by java object - // which is inserted into the database - ResultSet generatedKeys = statement.getGeneratedKeys(); - if (generatedKeys.next()) { - int i = Math.toIntExact(generatedKeys.getLong(1)); - connection.close(); - return i; - } - } catch (SQLException e) { - e.printStackTrace(); - } - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - Product product = this.objectIsProduct(object); - String sql = "UPDATE product " - + "SET name=?, price=? " - + "WHERE product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setString(1, product.getName()); - statement.setDouble(2, product.getPrice()); - statement.setInt(3, product.getID()); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) - */ - @Override - public Product retrieve(int id) { - String sql = "SELECT product_id, name, price " - + "FROM product " - + "WHERE product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, id); - ResultSet rs = statement.executeQuery(); - - // Checks if product with id exists - if (!rs.next()) { - connection.close(); - return null; - } - - // Creates product with (productID generated from table in sql, name and price) - Product product = new Product( - rs.getInt("product_id"), - rs.getString("name"), - rs.getDouble("price")); - connection.close(); - return product; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(object) - */ - @Override - public void delete(int id) { - String sql = "DELETE FROM product " - + "WHERE product_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, id); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Checks if Object object is an instance of Product. - * @param object Usually a Product object - * @return The product object if the object is an instance of product - */ - public Product objectIsProduct(Object object) { - try { - Product p = (Product) object; - return p; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not Product"); - } - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java deleted file mode 100644 index 7018aa8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShopDatabaseController.java +++ /dev/null @@ -1,137 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class ShopDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - Shop shop = this.objectIsShop(object); - String sql = "INSERT INTO shop(address, zip)" - + " VALUES (?, ?)"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); - - // Object has been given an ID: - statement.setString(1, shop.getAddress()); - statement.setInt(2, shop.getZip()); - statement.executeUpdate(); - - try { - // Retrieves all generated keys and returns the ID obtained by java object - // which is inserted into the database - ResultSet generatedKeys = statement.getGeneratedKeys(); - if (generatedKeys.next()) { - int i = Math.toIntExact(generatedKeys.getLong(1)); - connection.close(); - return i; - } - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - Shop shop = this.objectIsShop(object); - String sql = "UPDATE shop SET address=?, zip=? WHERE shop_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - - // Object has been given an ID: - statement.setString(1, shop.getAddress()); - statement.setInt(2, shop.getZip()); - statement.setInt(3, shop.getID()); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Retrieves and creates a list of all shopping trips based on what's received by the database - * @return A Shop object - */ - @Override - public Shop retrieve(int shopID) { - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection - .prepareStatement("SELECT * FROM shop" - + " WHERE shop_id=?"); - statement.setInt(1, shopID); - ResultSet rs = statement.executeQuery(); - - if (!rs.next()) { - return null; - } - - Shop shop = new Shop(rs.getString("address"), rs.getInt("zip"), rs.getInt("shop_id")); - connection.close(); - return shop; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(int) - */ - @Override - public void delete(int id) { - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement("DELETE FROM shop WHERE shop_id=?"); - statement.setInt(1, id); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - - } - - /** - * Checks if incoming object is Shop - * @param object suspected Shop - * @return Shop - */ - public Shop objectIsShop(Object object) { - try { - Shop s = (Shop) object; - return s; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not Shop"); - } - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java deleted file mode 100644 index 5278159..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/databasecontrollers/ShoppingTripDatabaseController.java +++ /dev/null @@ -1,241 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontrollers; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.interfaces.DatabaseCRUD; - -public class ShoppingTripDatabaseController extends DatabaseController implements DatabaseCRUD { - - PreparedStatement statement; - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#create(java.lang.Object) - */ - @Override - public int create(Object object) { - ShoppingTrip trip = this.objectIsShoppingTrip(object); - String sql = "INSERT INTO shopping_trip " - + "(customer_id, shop_id, charged, anonymous) " - + "VALUES (?, ?, ?, ?)"; - - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); - statement.setInt(1, trip.getCustomer().getID()); - statement.setInt(2, trip.getShop().getID()); - statement.setBoolean(3, trip.getCharged()); - statement.setBoolean(4, trip.getAnonymous()); - statement.executeUpdate(); - - try { - // Retrieves all generated keys and returns the ID obtained by java object - // which is inserted into the database - ResultSet generatedKeys = statement.getGeneratedKeys(); - if (generatedKeys.next()) { - int i = Math.toIntExact(generatedKeys.getLong(1)); - connection.close(); - return i; - } - } catch (SQLException e) { - e.printStackTrace(); - } - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - return -1; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#update(java.lang.Object) - */ - @Override - public void update(Object object) { - ShoppingTrip trip = this.objectIsShoppingTrip(object); - String sql = "UPDATE shopping_trip " - + "SET customer_id=?, shop_id=?, charged=?, anonymous=? " - + "WHERE shopping_trip_id=?"; - try { - - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, trip.getCustomer().getID()); - statement.setInt(2, trip.getShop().getID()); - statement.setBoolean(3, trip.getCharged()); - statement.setBoolean(4, trip.getAnonymous()); - statement.setInt(5, trip.getID()); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#retrieve(int) - */ - @Override - public ShoppingTrip retrieve(int id) { - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - - String sql = "SELECT * " - + "FROM shopping_trip " - + "WHERE shopping_trip_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, id); - ResultSet rs = statement.executeQuery(); - - if (!rs.next()) { - connection.close(); - return null; - } - - int tripID = rs.getInt("shopping_trip_id"); - - ShoppingTrip trip = new ShoppingTrip( - tripID, - cdc.retrieve(rs.getInt("customer_id")), - sdc.retrieve(rs.getInt("shop_id")), - rs.getBoolean(4), - rs.getBoolean("anonymous")); - connection.close(); - return trip; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Retrieves and creates a list of all shopping trips based on what's received by the database - * @return A list of shoppingTrip objects - */ - public List retrieveAllShoppingTrips() { - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - ActionDatabaseController adc = new ActionDatabaseController(); - ShoppingTrip trip; - List trips = new ArrayList<>(); - - String sql = "SELECT * FROM shopping_trip WHERE anonymous=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setBoolean(1, false); - ResultSet rs = statement.executeQuery(); - - while(rs.next()) { - int tripID = rs.getInt(1); - trip = new ShoppingTrip( - rs.getInt(1), // ShopID - cdc.retrieve(rs.getInt(2)), // Customer object - sdc.retrieve(rs.getInt(3)), // Shop object - rs.getBoolean(4), // charged boolean - rs.getBoolean(5) // anonymous flag - ); - trip.setActions(adc.retrieveAll(tripID)); - trips.add(trip); - } - - connection.close(); - return trips; - - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Retrieves and creates a list of shopping trip objects from the database - * for the customer with ID = customerID and are not anonymized. - * @param customerID The ID of the customer for the shopping trips - * @return A list of ShoppingTrip objects corresponding to database instances - */ - public List retrieveAllShoppingTripsForCustomer(int customerID) { - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - ActionDatabaseController adc = new ActionDatabaseController(); - CoordinateDatabaseController corddc = new CoordinateDatabaseController(); - ShoppingTrip trip; - List trips = new ArrayList<>(); - - String sql = "SELECT * " - + "FROM shopping_trip " - + "WHERE customer_id=? AND anonymous=?"; - - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, customerID); - statement.setBoolean(2, false); - ResultSet rs = statement.executeQuery(); - - while (rs.next()) { - int tripID = rs.getInt("shopping_trip_id"); - trip = new ShoppingTrip( - rs.getInt(1), // ShopID - cdc.retrieve(rs.getInt(2)), // Customer object - sdc.retrieve(rs.getInt(3)), // Shop object - rs.getBoolean(4), // charged boolean - rs.getBoolean(5) // anonymous flag - ); - trip.setActions(adc.retrieveAll(tripID)); - trip.setCoordinates(corddc.retrieveAll(tripID)); - trips.add(trip); - } - connection.close(); - return trips; - - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * @see tdt4140.gr1864.app.core.interfaces.DatabaseCRUD#delete(int) - */ - @Override - public void delete(int id) { - String sql = "DELETE FROM shopping_trip " - + "WHERE shopping_trip_id=?"; - try { - Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - statement = connection.prepareStatement(sql); - statement.setInt(1, id); - statement.executeUpdate(); - connection.close(); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Checks if incoming object is ShoppingTrip - * @param object suspected ShoppingTrip - * @return shoppingTrip - */ - public ShoppingTrip objectIsShoppingTrip(Object object) { - try { - ShoppingTrip s = (ShoppingTrip) object; - return s; - } catch (ClassCastException e) { - throw new IllegalArgumentException("Object is not ShoppingTrip"); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java deleted file mode 100644 index f2756db..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/DatabaseCRUD.java +++ /dev/null @@ -1,31 +0,0 @@ -package tdt4140.gr1864.app.core.interfaces; -/** - * This is a generic framework for doing CRUD-operations on objects in the - * database. All object-controllers who's objects are stored in the DB - * should implement this framework - * @author vegarab - */ -public interface DatabaseCRUD { - /** - * @param object Persist object to database - * @return ID of the object persistent to database - */ - int create(Object object); - - /** - * @param object Save changes made to persistent object in database - */ - void update(Object object); - - /** - * @param id Id of persisted object to retrieve from database - * @return The object retrieved - */ - Object retrieve(int id); - - /** - * @param id The id of a persisted object to delete - */ - void delete(int id); - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java deleted file mode 100644 index 7279acb..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/Model.java +++ /dev/null @@ -1,10 +0,0 @@ -package tdt4140.gr1864.app.core.interfaces; - -/** - * Interface to generalize how we retrieve IDs - * @author vegarab - * - */ -public interface Model { - public int getID(); -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java b/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java deleted file mode 100644 index b8a9dea..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/java/tdt4140/gr1864/app/core/interfaces/UserInterface.java +++ /dev/null @@ -1,12 +0,0 @@ -package tdt4140.gr1864.app.core.interfaces; - -public interface UserInterface { - - /* - * Adding hashcode so we can use hashmaps and hashsets later on in the project - */ - public abstract int hashCode(); - - public abstract boolean equals(Object obj); - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql deleted file mode 100644 index 1ebd32d..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/database.sql +++ /dev/null @@ -1,75 +0,0 @@ -CREATE TABLE customer( -customer_id integer primary key autoincrement, -first_name varchar(30) not null, -last_name varchar(30) not null, -address varchar(31), -zip integer, -gender varchar(31), -age int, -num_persons_in_household int, -anonymous boolean, -deleted boolean, -foreign key(customer_id) references shopping_trip(customer_id) -); - -CREATE TABLE bought( -shopping_trip_id integer not null, -product_id integer not null, -amount integer not null, -primary key(shopping_trip_id, product_id) -); - -CREATE TABLE coordinate( -shopping_trip_id integer, -timestamp varchar(255), -x real not null, -y real not null, -primary key(shopping_trip_id, timestamp), -foreign key (shopping_trip_id) references shopping_trip(shopping_trip_id) -); - -CREATE TABLE action( -shopping_trip_id integer, -timestamp varchar(255), -action_type integer not null, -product_id integer not null, -primary key(shopping_trip_id, timestamp), -foreign key (product_id) references product(product_id), -foreign key (shopping_trip_id) references shopping_trip(shopping_trip_id) -); - -CREATE TABLE on_shelf( -shop_id integer not null, -product_id integer no null, -amount_on_shelfs integer not null, -amount_in_storage integer not null, -primary key(shop_id, product_id), -foreign key (shop_id) references shop(shop_id), -foreign key (product_id) references product(product_id) -); - -CREATE TABLE shop( -shop_id integer primary key, -zip integer not null, -address varchar(30) not null, -foreign key(shop_id) references product(shop_id) -); - -CREATE TABLE shopping_trip( -shopping_trip_id integer primary key autoincrement, -customer_id integer not null, -shop_id integer not null, -charged bit not null, -anonymous boolean not null, -foreign key(customer_id) references customer(customer_id), -foreign key(shop_id) references shop(shop_id), -foreign key(shopping_trip_id) references action(shopping_trip_id), -foreign key(shopping_trip_id) references coordinate(shopping_trip_id), -foreign key(shopping_trip_id) references bought(shopping_trip_id) -); - -CREATE TABLE product ( -product_id integer primary key autoincrement, -name varchar(255) not null, -price double not null -); diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json deleted file mode 100644 index c0d43bc..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/mock-products.json +++ /dev/null @@ -1,64 +0,0 @@ -[{"grocery":"Pork - Back, Long Cut, Boneless","price":"0.55"}, -{"grocery":"Ice Cream - Life Savers","price":"8.51"}, -{"grocery":"Nestea - Iced Tea","price":"2.97"}, -{"grocery":"Laundry - Bag Cloth","price":"8.60"}, -{"grocery":"Chicken - Wieners","price":"3.93"}, -{"grocery":"Lettuce - Curly Endive","price":"0.30"}, -{"grocery":"Soap - Mr.clean Floor Soap","price":"2.35"}, -{"grocery":"Kohlrabi","price":"6.31"}, -{"grocery":"V8 - Tropical Blend","price":"3.06"}, -{"grocery":"Flour - Strong Pizza","price":"8.79"}, -{"grocery":"Pasta - Orzo, Dry","price":"4.93"}, -{"grocery":"Broom And Brush Rack Black","price":"6.02"}, -{"grocery":"Macaroons - Two Bite Choc","price":"8.24"}, -{"grocery":"Pasta - Bauletti, Chicken White","price":"6.86"}, -{"grocery":"Cheese - Boursin, Garlic / Herbs","price":"9.98"}, -{"grocery":"Pectin","price":"3.11"}, -{"grocery":"Crab - Soft Shell","price":"9.40"}, -{"grocery":"Vinegar - Balsamic","price":"0.39"}, -{"grocery":"Sour Puss - Tangerine","price":"1.96"}, -{"grocery":"Bread - Granary Small Pull","price":"0.36"}, -{"grocery":"Beef - Ground, Extra Lean, Fresh","price":"7.32"}, -{"grocery":"Basil - Primerba, Paste","price":"8.63"}, -{"grocery":"Pasta - Orzo, Dry","price":"8.54"}, -{"grocery":"Creamers - 10%","price":"4.68"}, -{"grocery":"Tea - Darjeeling, Azzura","price":"8.69"}, -{"grocery":"Carbonated Water - Strawberry","price":"5.11"}, -{"grocery":"Vodka - Lemon, Absolut","price":"4.34"}, -{"grocery":"Pork - Smoked Kassler","price":"3.52"}, -{"grocery":"Onion Powder","price":"4.16"}, -{"grocery":"Rice - Wild","price":"4.71"}, -{"grocery":"Veal - Provimi Inside","price":"1.86"}, -{"grocery":"Tomatoes - Grape","price":"8.46"}, -{"grocery":"Napkin - Cocktail,beige 2 - Ply","price":"4.78"}, -{"grocery":"Mushroom - Morels, Dry","price":"7.80"}, -{"grocery":"Jolt Cola","price":"5.91"}, -{"grocery":"Coffee Cup 16oz Foam","price":"3.24"}, -{"grocery":"Pasta - Penne, Lisce, Dry","price":"9.31"}, -{"grocery":"Oil - Olive Bertolli","price":"4.98"}, -{"grocery":"Chickhen - Chicken Phyllo","price":"6.99"}, -{"grocery":"Cake - Mini Cheesecake","price":"8.56"}, -{"grocery":"Beef - Sushi Flat Iron Steak","price":"0.91"}, -{"grocery":"Wine - Savigny - Les - Beaune","price":"3.92"}, -{"grocery":"Wine - Charddonnay Errazuriz","price":"2.73"}, -{"grocery":"Mushroom - Trumpet, Dry","price":"8.85"}, -{"grocery":"Cherries - Fresh","price":"1.56"}, -{"grocery":"Brownies - Two Bite, Chocolate","price":"6.51"}, -{"grocery":"Cheese - Pied De Vents","price":"9.06"}, -{"grocery":"Soup - Beef, Base Mix","price":"0.26"}, -{"grocery":"Pasta - Orzo, Dry","price":"1.31"}, -{"grocery":"Lamb - Shanks","price":"4.92"}, -{"grocery":"Chicken - Livers","price":"5.36"}, -{"grocery":"Flour - Corn, Fine","price":"8.22"}, -{"grocery":"Crackers - Soda / Saltins","price":"7.68"}, -{"grocery":"Beer - Original Organic Lager","price":"3.68"}, -{"grocery":"Wine - Shiraz Wolf Blass Premium","price":"2.36"}, -{"grocery":"Longos - Grilled Salmon With Bbq","price":"5.31"}, -{"grocery":"Rum - Cream, Amarula","price":"4.16"}, -{"grocery":"Bread - Rosemary Focaccia","price":"7.64"}, -{"grocery":"Tomatoes Tear Drop","price":"9.61"}, -{"grocery":"Wine - Sawmill Creek Autumn","price":"9.51"}, -{"grocery":"Iced Tea - Lemon, 460 Ml","price":"9.12"}, -{"grocery":"Soup - Base Broth Chix","price":"1.74"}, -{"grocery":"Sterno - Chafing Dish Fuel","price":"4.17"}, -{"grocery":"Nestea - Iced Tea","price":"7.03"}] \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py deleted file mode 100644 index c4070e7..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/plot.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Plots a data dump from the data mocking program. -Installing dependencies: pip install -r requirements.txt -Usage: python plot.py data.json""" - -import json -import matplotlib.pyplot as plt -import sys - -data = json.loads(open(sys.argv[1]).read()) - -x, y = [], [] - -for coordinate in data['path']: - x.append(coordinate['x']) - y.append(coordinate['y']) - -plt.scatter(x, y) -plt.show() diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt deleted file mode 100644 index 2784d20..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -matplotlib==2.1.0 \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md deleted file mode 100644 index a9c1fca..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/tdt4140/gr1864/app/core/README.md +++ /dev/null @@ -1 +0,0 @@ -# Resources used by the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json b/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json deleted file mode 100644 index d77e29c..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/main/resources/test-data.json +++ /dev/null @@ -1,482 +0,0 @@ -{ - "customerID" : 9, - "coordinates" : [ { - "x" : 5.988600917321573, - "y" : 1.6073608851323462, - "timestamp" : 1523367344888 - }, { - "x" : 6.900839491066374, - "y" : 1.040854256948999, - "timestamp" : 1523367344963 - }, { - "x" : 8.107654104507713, - "y" : 5.319242707385421, - "timestamp" : 1523367345038 - }, { - "x" : 11.80935328822557, - "y" : 9.321944377321229, - "timestamp" : 1523367345113 - }, { - "x" : 13.608721012351305, - "y" : 13.751842402096802, - "timestamp" : 1523367345188 - }, { - "x" : 17.772177301879093, - "y" : 17.78556943384929, - "timestamp" : 1523367345263 - }, { - "x" : 19.568905035050378, - "y" : 21.279467806531684, - "timestamp" : 1523367345338 - }, { - "x" : 22.95148545813437, - "y" : 26.63287284283732, - "timestamp" : 1523367345413 - }, { - "x" : 25.83420734707189, - "y" : 31.290626259651575, - "timestamp" : 1523367345488 - }, { - "x" : 28.266028336454564, - "y" : 34.23991452517638, - "timestamp" : 1523367345563 - }, { - "x" : 31.578760196665492, - "y" : 39.090572525990176, - "timestamp" : 1523367345638 - }, { - "x" : 35.445580973115334, - "y" : 42.10521964659277, - "timestamp" : 1523367345713 - }, { - "x" : 36.69134807706618, - "y" : 46.13057667145744, - "timestamp" : 1523367345788 - }, { - "x" : 40.02852811832709, - "y" : 51.36788651175036, - "timestamp" : 1523367345863 - }, { - "x" : 42.7870065268006, - "y" : 55.46643497132583, - "timestamp" : 1523367345938 - }, { - "x" : 46.99142352234404, - "y" : 58.23124916595772, - "timestamp" : 1523367346013 - }, { - "x" : 49.61774756692872, - "y" : 63.9778168877525, - "timestamp" : 1523367346088 - }, { - "x" : 52.680310101714895, - "y" : 66.65305721330475, - "timestamp" : 1523367346163 - }, { - "x" : 53.84205923123626, - "y" : 70.89474513055161, - "timestamp" : 1523367346238 - }, { - "x" : 58.146373726634465, - "y" : 75.17940673298476, - "timestamp" : 1523367346313 - }, { - "x" : 58.07070597688804, - "y" : 77.55951720972969, - "timestamp" : 1523367346388 - }, { - "x" : 63.83449834744537, - "y" : 76.99848730771846, - "timestamp" : 1523367346463 - }, { - "x" : 68.54387328310114, - "y" : 77.6680002452583, - "timestamp" : 1523367346538 - }, { - "x" : 73.5633870435451, - "y" : 77.98711909248021, - "timestamp" : 1523367346613 - }, { - "x" : 79.88677926842534, - "y" : 77.8686501551285, - "timestamp" : 1523367346688 - }, { - "x" : 84.46970861374808, - "y" : 77.5402454849737, - "timestamp" : 1523367346763 - }, { - "x" : 88.84298833604319, - "y" : 79.22215367714396, - "timestamp" : 1523367346838 - }, { - "x" : 94.56984237337127, - "y" : 79.09814244983721, - "timestamp" : 1523367346913 - }, { - "x" : 99.90008868101057, - "y" : 79.30986442940225, - "timestamp" : 1523367346988 - }, { - "x" : 103.59309205674501, - "y" : 79.00916736435747, - "timestamp" : 1523367347063 - }, { - "x" : 108.85146827840569, - "y" : 78.5335187840472, - "timestamp" : 1523367347138 - }, { - "x" : 113.24196680268909, - "y" : 79.99836179139088, - "timestamp" : 1523367347213 - }, { - "x" : 119.71989728753928, - "y" : 80.22672687894531, - "timestamp" : 1523367347288 - }, { - "x" : 123.93433381995797, - "y" : 79.64589199533219, - "timestamp" : 1523367347363 - }, { - "x" : 128.90351354112136, - "y" : 79.25661882202898, - "timestamp" : 1523367347438 - }, { - "x" : 133.46725959923953, - "y" : 78.76284531314376, - "timestamp" : 1523367347513 - }, { - "x" : 135.84725641295245, - "y" : 78.84894062592038, - "timestamp" : 1523367347588 - }, { - "x" : 130.6784158949242, - "y" : 79.57125048068237, - "timestamp" : 1523367347663 - }, { - "x" : 125.36418271809461, - "y" : 77.64538192485026, - "timestamp" : 1523367347738 - }, { - "x" : 122.25668700328154, - "y" : 76.50275297319514, - "timestamp" : 1523367347813 - }, { - "x" : 115.92134769375045, - "y" : 74.86319633425121, - "timestamp" : 1523367347888 - }, { - "x" : 111.08407920026126, - "y" : 73.20633433142224, - "timestamp" : 1523367347963 - }, { - "x" : 107.56860744833136, - "y" : 71.65217227662502, - "timestamp" : 1523367348038 - }, { - "x" : 102.75977303615785, - "y" : 71.42341052161298, - "timestamp" : 1523367348113 - }, { - "x" : 97.93103682060556, - "y" : 69.35557407869447, - "timestamp" : 1523367348188 - }, { - "x" : 92.36066629485525, - "y" : 68.09283361191737, - "timestamp" : 1523367348263 - }, { - "x" : 86.9327917403154, - "y" : 68.03891390705931, - "timestamp" : 1523367348338 - }, { - "x" : 83.20799384439164, - "y" : 66.3636099304237, - "timestamp" : 1523367348413 - }, { - "x" : 78.54230103152285, - "y" : 66.03219982833251, - "timestamp" : 1523367348488 - }, { - "x" : 72.40779135241368, - "y" : 64.66802030668451, - "timestamp" : 1523367348563 - }, { - "x" : 68.56953934039535, - "y" : 62.44496824763245, - "timestamp" : 1523367348638 - }, { - "x" : 62.611619897979345, - "y" : 62.384226755320796, - "timestamp" : 1523367348713 - }, { - "x" : 59.296009345683395, - "y" : 61.06605532485242, - "timestamp" : 1523367348788 - }, { - "x" : 54.38154220924307, - "y" : 58.453361376112554, - "timestamp" : 1523367348863 - }, { - "x" : 48.420465413308186, - "y" : 57.71509140640354, - "timestamp" : 1523367348938 - }, { - "x" : 44.38667916360935, - "y" : 56.40746058950024, - "timestamp" : 1523367349013 - }, { - "x" : 39.68441388579074, - "y" : 56.292658547425916, - "timestamp" : 1523367349088 - }, { - "x" : 34.181084325703594, - "y" : 54.87645072848192, - "timestamp" : 1523367349163 - }, { - "x" : 29.182155171856824, - "y" : 53.4056724054912, - "timestamp" : 1523367349238 - }, { - "x" : 24.70493132477867, - "y" : 51.97169762582995, - "timestamp" : 1523367349313 - }, { - "x" : 23.271874212518913, - "y" : 52.14277643915296, - "timestamp" : 1523367349388 - }, { - "x" : 21.688348726303875, - "y" : 46.69017791464968, - "timestamp" : 1523367349463 - }, { - "x" : 19.62868063283935, - "y" : 42.92415208359695, - "timestamp" : 1523367349538 - }, { - "x" : 17.703625820039804, - "y" : 38.295985106689, - "timestamp" : 1523367349613 - }, { - "x" : 19.30595345864188, - "y" : 33.0363596079524, - "timestamp" : 1523367349688 - }, { - "x" : 22.331766964352013, - "y" : 28.22481987714355, - "timestamp" : 1523367349763 - }, { - "x" : 22.466613013892502, - "y" : 23.007051950178436, - "timestamp" : 1523367349838 - }, { - "x" : 25.42812804054515, - "y" : 19.028669895776726, - "timestamp" : 1523367349913 - }, { - "x" : 26.778720575105137, - "y" : 14.538884199263947, - "timestamp" : 1523367349988 - }, { - "x" : 27.433158820743, - "y" : 10.527333642342187, - "timestamp" : 1523367350063 - }, { - "x" : 30.89413088019961, - "y" : 13.031808100014691, - "timestamp" : 1523367350138 - }, { - "x" : 35.153211191864564, - "y" : 15.672625840889076, - "timestamp" : 1523367350213 - }, { - "x" : 39.539317378755264, - "y" : 17.64880485033646, - "timestamp" : 1523367350288 - }, { - "x" : 45.369002740808696, - "y" : 20.189735792686996, - "timestamp" : 1523367350363 - }, { - "x" : 49.481062735851395, - "y" : 23.183357807476835, - "timestamp" : 1523367350438 - }, { - "x" : 54.10371398064055, - "y" : 25.0542561791284, - "timestamp" : 1523367350513 - }, { - "x" : 57.3910338500473, - "y" : 28.56255964954228, - "timestamp" : 1523367350588 - }, { - "x" : 61.93158000177472, - "y" : 30.20170372150696, - "timestamp" : 1523367350663 - }, { - "x" : 65.68505701522888, - "y" : 33.70369257106548, - "timestamp" : 1523367350738 - }, { - "x" : 69.91619239002449, - "y" : 35.80410361222925, - "timestamp" : 1523367350813 - }, { - "x" : 73.95528812738387, - "y" : 38.157350681989136, - "timestamp" : 1523367350888 - }, { - "x" : 79.8089255551471, - "y" : 40.74030133137947, - "timestamp" : 1523367350963 - }, { - "x" : 83.04915950776056, - "y" : 43.57352658162876, - "timestamp" : 1523367351038 - }, { - "x" : 88.76244563573874, - "y" : 44.94420325653222, - "timestamp" : 1523367351113 - }, { - "x" : 92.16260680495294, - "y" : 47.153959102594385, - "timestamp" : 1523367351188 - }, { - "x" : 95.41400075791074, - "y" : 50.68462251316997, - "timestamp" : 1523367351263 - }, { - "x" : 100.66676294912514, - "y" : 52.562307093137576, - "timestamp" : 1523367351338 - }, { - "x" : 101.51232794086832, - "y" : 53.44286089669229, - "timestamp" : 1523367351413 - }, { - "x" : 97.77085175018136, - "y" : 51.39274899108682, - "timestamp" : 1523367351488 - }, { - "x" : 93.40816139534448, - "y" : 49.262630881776296, - "timestamp" : 1523367351563 - }, { - "x" : 88.48315881846251, - "y" : 48.145751745404965, - "timestamp" : 1523367351638 - }, { - "x" : 84.47453115187443, - "y" : 46.7861058298123, - "timestamp" : 1523367351713 - }, { - "x" : 78.64852198348716, - "y" : 44.44924679380962, - "timestamp" : 1523367351788 - }, { - "x" : 74.5839716534065, - "y" : 42.15840047860838, - "timestamp" : 1523367351863 - }, { - "x" : 70.13851445795878, - "y" : 39.03086445856381, - "timestamp" : 1523367351938 - }, { - "x" : 65.6502337876236, - "y" : 37.32539628515692, - "timestamp" : 1523367352013 - }, { - "x" : 61.467350809973546, - "y" : 35.781814671929574, - "timestamp" : 1523367352088 - }, { - "x" : 57.01046958342529, - "y" : 33.091846713816864, - "timestamp" : 1523367352163 - }, { - "x" : 56.21254637180344, - "y" : 33.59621089760373, - "timestamp" : 1523367352238 - }, { - "x" : 55.81400006092989, - "y" : 39.18753147764853, - "timestamp" : 1523367352313 - }, { - "x" : 55.33741106092432, - "y" : 42.876809460671154, - "timestamp" : 1523367352388 - }, { - "x" : 56.9057020571935, - "y" : 48.594622611576, - "timestamp" : 1523367352463 - }, { - "x" : 55.99050485509338, - "y" : 52.432733004939806, - "timestamp" : 1523367352538 - }, { - "x" : 52.898138505948744, - "y" : 49.533439769629844, - "timestamp" : 1523367352613 - }, { - "x" : 50.07661834121617, - "y" : 46.035685319063504, - "timestamp" : 1523367352688 - }, { - "x" : 44.725286486929846, - "y" : 42.67984357834504, - "timestamp" : 1523367352763 - }, { - "x" : 41.71217834909431, - "y" : 39.03571255943457, - "timestamp" : 1523367352838 - }, { - "x" : 37.33928569641117, - "y" : 35.21424124343068, - "timestamp" : 1523367352913 - }, { - "x" : 34.735079316822265, - "y" : 32.53528783839099, - "timestamp" : 1523367352988 - }, { - "x" : 31.13484110381177, - "y" : 28.58286251189877, - "timestamp" : 1523367353063 - }, { - "x" : 27.600102867229506, - "y" : 24.869345268195943, - "timestamp" : 1523367353138 - }, { - "x" : 23.027483834995355, - "y" : 21.298880532321064, - "timestamp" : 1523367353213 - }, { - "x" : 20.340265491983715, - "y" : 19.34281474309427, - "timestamp" : 1523367353288 - }, { - "x" : 15.258615249589859, - "y" : 14.766315314032235, - "timestamp" : 1523367353363 - }, { - "x" : 11.577822860801984, - "y" : 11.440051513211193, - "timestamp" : 1523367353438 - } ], - "actions" : [ { - "productID" : 55, - "action" : 1, - "timestamp" : 1523367346313 - }, { - "productID" : 34, - "action" : 1, - "timestamp" : 1523367349313 - }, { - "productID" : 2, - "action" : 1, - "timestamp" : 1523367349988 - }, { - "productID" : 2, - "action" : 0, - "timestamp" : 1523367352163 - } ], - "duration" : 8550 -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java deleted file mode 100644 index 386887a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ActionTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package tdt4140.gr1864.app.core; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class ActionTest { - - Action action; - - @Before - public void setup() { - Product p1 = new Product("Name", 10.0); - action = new Action("1", 1, p1); - } - - @Test - public void testGetTimeStampExpectOne() { - Assert.assertEquals(1L, action.getTimeStamp()); - } - - @Test - public void testGetActionTypeExpectOne() { - Assert.assertEquals(1, action.getActionType()); - } - - @Test - public void testGetProductIdExpectedTwo() { - Assert.assertEquals("Name", action.getProduct().getName()); - Assert.assertEquals(10.0, action.getProduct().getPrice(), 0); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java deleted file mode 100644 index 0772d85..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CoordinateTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package tdt4140.gr1864.app.core; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class CoordinateTest { - - Coordinate coord; - - @Before - public void setup() { - coord = new Coordinate(1.0, 2.0, "123"); - } - - @Test - public void testGetXExpectOne() { - Assert.assertEquals(1.0, coord.getX(), 0); - } - - @Test - public void testGetYExpectTwo() { - Assert.assertEquals(2.0, coord.getY(), 0); - } - - @Test - public void testGetTimeStampExpectOneHundredTwentyThree() { - Assert.assertEquals(123L, coord.getTimeStamp()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java deleted file mode 100644 index e70073b..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/CustomerTest.java +++ /dev/null @@ -1,318 +0,0 @@ -package tdt4140.gr1864.app.core; - -import static org.junit.Assert.*; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.*; - -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.database.TestDataLoader; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -public class CustomerTest { - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ProductDatabaseController pdc = new ProductDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - ActionDatabaseController adc = new ActionDatabaseController(); - static TestDataLoader tdl; - static DatabaseWiper viper = new DatabaseWiper(); - ShoppingTrip t1, t2, t3; - Customer c1, c2, c3; - Product p1, p2, p3; - Shop s1; - Action a1, a2; - - @BeforeClass - public static void createDatabase() { - viper = new DatabaseWiper(); - tdl = new TestDataLoader(); - viper.wipe(); - } - - @Before - public void setup() { - viper.wipe(); - s1 = new Shop("Kings Road 2", 10); - s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); - - c1 = new Customer("Ola", "Nordmann"); - c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); - - c2 = new Customer("Kari", "Hansen"); - c2 = new Customer(c2.getFirstName(), c2.getLastName(), cdc.create(c2)); - - c3 = new Customer("Nils", "Nordmann"); - c3 = new Customer(c3.getFirstName(), c3.getLastName(), cdc.create(c3)); - - t1 = new ShoppingTrip(c1, s1, true); - t2 = new ShoppingTrip(c2, s1, true); - t3 = new ShoppingTrip(c3, s1, true); - - p1 = new Product("Produt1", 1.0); - p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); - p2 = new Product("Produt2", 2.0); - p2 = new Product(pdc.create(p2), p2.getName(), p2.getPrice()); - p3 = new Product("Produt3", 3.0); - p3 = new Product(pdc.create(p3), p3.getName(), p3.getPrice()); - - t1 = new ShoppingTrip(c1, s1, true); - t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); - List trips = new ArrayList(); - trips.add(t1); - c1.setShoppingTrips(trips); - cdc.update(c1); - - a1 = new Action("1", 1, p1, t1); - adc.create(a1); - a1 = new Action("2", 1, p2, t1); - adc.create(a1); - a1 = new Action("3", 1, p2, t1); - adc.create(a1); - a1 = new Action("4", 1, p3, t1); - adc.create(a1); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#Customer(int, java.lang.String, java.lang.String, java.util.ArrayList)}. - */ - @Test - public void testCustomer() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - assertNotEquals(c1, null); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#hashCode()}. - */ - @Test - public void testHashCode() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - c2 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - assertEquals(c1.hashCode(), c2.hashCode()); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#equals(java.lang.Object)}. - */ - @Test - public void testEqualsObject() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - c2 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - assertEquals(c1, c2); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#getID()}. - */ - @Test - public void testGetID() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - assertEquals(c1.getID(), 1); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setCustomerId(int)}. - */ - @Test - public void testSetID() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - c1.setCustomerID(2); - assertEquals(c1.getID(), 2); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#getFirstName()}. - */ - @Test - public void testGetFirstName() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - assertEquals(c1.getFirstName(), "Roger"); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setFirstName(java.lang.String)}. - */ - @Test - public void testSetFirstName() { - c1 = new Customer(1, "Roger", "Nilsen", new ArrayList()); - c1.setFirstName("Benny"); - assertEquals(c1.getFirstName(), "Benny"); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#getLastName()}. - */ - @Test - public void testGetAddress() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - assertEquals(c1.getAddress(), "NTNU"); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. - */ - @Test - public void testSetAddress() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - c1.setAddress("UiB"); - assertEquals(c1.getAddress(), "UiB"); - } - - @Test - public void testGetZip() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - assertEquals(c1.getZip(), 7047); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. - */ - @Test - public void testSetZip() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - c1.setZip(0001); - assertEquals(c1.getZip(), 0001); - } - - @Test - public void testGetGender() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - assertEquals(c1.getGender(), "Unspecified"); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. - */ - @Test - public void testSetGender() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - c1.setGender("Male"); - assertEquals(c1.getGender(), "Male"); - } - - @Test - public void testGetAge() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - assertEquals(c1.getAge(), 44); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. - */ - @Test - public void testSetAge() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - c1.setAge(50); - assertEquals(c1.getAge(), 50); - } - - @Test - public void testGetLastName() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - assertEquals(c1.getLastName(), "Len"); - } - - /** - * Test method for {@link tdt4140.gr1864.app.core.Customer#setLastName(java.lang.String)}. - */ - @Test - public void testSetLastName() { - c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, 2, false); - c1.setLastName("Knudsen"); - assertEquals(c1.getLastName(), "Knudsen"); - } - - @Test - public void testGiveRecommendationBoughtExpectProductIDEqualOne() { - int expectedProductID = 1; - c1.giveRecommendation(); - Assert.assertEquals(expectedProductID, c1.getRecommendedProductID()); - } - - @Test - public void testGiveRecommendationWhenNotBoughtExpectMostPopularEqualTwo() { - int expectedProductID = 2; - c2.giveRecommendation(); - Assert.assertEquals(expectedProductID, c2.getRecommendedProductID()); - } - - @Test - public void testGiveRecommendationWhenCustomerAreAnonymousExpectProductIDEqualsMostPopularEqualsOne() { - setup(); - int expectedProductID = 1; - c1.setAnonymous(true); - c1.giveRecommendation(); - Assert.assertEquals(expectedProductID, c1.getRecommendedProductID()); - } - - @Test - public void testGiveRecommendationWhenShoppingTripsAreAnonymousExpectProductIDEqualZero() { - int expectedProductID = 0; - t1.setAnonymous(true); - stdc.update(t1); - c2.giveRecommendation(); - Assert.assertEquals(expectedProductID, c2.getRecommendedProductID()); - } - - @Test - public void testGetStatisticsForAmountBoughtExpectSortedList() { - - List actualArray = c1.getStatisticsForAmountBought(); - - List expectedArray = new ArrayList<>(); - // index for max value = 2 (in DB), maxamount = 2 - ProductAmount pa1 = new ProductAmount(2, pdc.retrieve(2)); - - // index for max value = 1 (in DB), maxamount = 1 - ProductAmount pa2 = new ProductAmount(1, pdc.retrieve(1)); - - // index for max value = 3 (in DB), maxamount = 1 - ProductAmount pa3 = new ProductAmount(1, pdc.retrieve(3)); - - expectedArray.add(pa1); - expectedArray.add(pa2); - expectedArray.add(pa3); - - boolean correctList = true; - for (int i = 0; i < 3; i++) { - if (expectedArray.get(i).getAmount() != actualArray.get(i).getAmount() || - expectedArray.get(i).getProduct().getID() != actualArray.get(i).getProduct().getID()) { - correctList = !correctList; - } - } - - Assert.assertEquals(true, correctList); - } - - @Test - public void testIsDeletedExpectFalse() { - Assert.assertFalse(c1.isDeleted()); - } - - @Test - public void testSetDeletedExpectAllNullValues() { - c1.setAddress("Some Address"); - c1.setAge(12); - c1.setDeleted(true); - Assert.assertEquals("null", c1.getAddress()); - Assert.assertEquals(0, c1.getAge()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java deleted file mode 100644 index 8035e42..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ExampleTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package tdt4140.gr1864.app.core; - -import org.junit.Assert; -import org.junit.Test; - -public class ExampleTest { - - @Test - public void test() { - Assert.assertTrue(true); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java deleted file mode 100644 index b453798..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ProductTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package tdt4140.gr1864.app.core; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class ProductTest { - - Product product; - Product product2; - - @Before - public void setup() { - product = new Product("tomatoes", 9.23); - product2 = new Product(1, "tomatoes", 9.23); - } - - @Test - public void testGetNameExcpectTomatoes() { - Assert.assertEquals("tomatoes", product.getName()); - } - - @Test - public void testGetPriceExcpectNinePointTwentyThree() { - Assert.assertEquals(9.23, product.getPrice(), 0); - } - - @Test - public void testGetProductIDExcpectOne() { - Assert.assertEquals(1, (int) product2.getID()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md deleted file mode 100644 index 3fbf2fe..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/README.md +++ /dev/null @@ -1 +0,0 @@ -# Tests for the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java deleted file mode 100644 index d538e93..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ReceiptTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.io.IOException; - -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.database.TestDataLoader; -import tdt4140.gr1864.app.core.database.DatabaseWiper; - - -public class ReceiptTest { - - private static Receipt receipt; - - private static ShoppingTrip shoppingTrip; - - @BeforeClass - public static void setup() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - - TestDataLoader loader = new TestDataLoader(); - shoppingTrip = loader.getTrip(); - receipt = new Receipt(shoppingTrip); - } - - @Test - public void testGetShoppingTrip() { - Assert.assertEquals(shoppingTrip, receipt.getShoppingTrip()); - } - - @Test - public void testGetInventory() { - boolean allOne = true; - - for (Integer count : receipt.getInventory().values()) { - if (count != 1) { - allOne = false; - break; - } - } - - Assert.assertFalse(allOne); - } - - @Test - public void testGetTotalPrice() { - Assert.assertEquals(10.16, receipt.getTotalPrice(), 10e-5); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java deleted file mode 100644 index c569423..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShopTest.java +++ /dev/null @@ -1,139 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; - -public class ShopTest { - - Shop shop; - Shop shop2; - Shop shop3; - - Receipt receipt; - - Map inventory; - - Product p1, p2; - - OnShelfDatabaseController osdc; - - //Set up a DB for use in the tests - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() { - shop = new Shop("Kings Road 2", 1020); - shop2 = new Shop("Kings Road 4", 1020, 1); - shop3 = new Shop("Somwhere inf", 4343, 0); - } - - @Test - public void testGetAddressExpectKingsRoadTwo() { - String expected = "Kings Road 2"; - Assert.assertEquals(expected, shop.getAddress()); - } - - @Test - public void testGetZipExpectedThousandTwenty() { - int expected = 1020; - Assert.assertEquals(expected, shop.getZip()); - } - - @Test - public void testSetZipExpectedTousandThirty() { - int expected = 1030; - shop.setZip(expected); - Assert.assertEquals(expected, shop.getZip()); - } - - @Test - public void testSetAddressExpectKingsRoadThree() { - String expected = "Kings Road 3"; - shop.setAddress(expected); - Assert.assertEquals(expected, shop.getAddress()); - } - - @Test - public void testGetIdExpectOne() { - int expected = 1; - Assert.assertEquals(expected, shop2.getID()); - } - - - @Test - public void testSetAndGetProductInStorage() { - int productID = 5; - int amount = 23; - shop.setAmountInStorage(productID, amount); - - Assert.assertEquals(23, shop.getAmountInStorage(productID)); - } - - @Test - public void testSetAndGetProductInShelfs() { - int productID = 5; - int amount = 23; - shop.setAmountInShelfs(productID, amount); - - Assert.assertEquals(23, shop.getAmountInShelfs(productID)); - } - - @Test - public void testUpdateFromReceiptAndRefreshExpectSuccess() { - p1 = new Product(1, "p1", 1); - p2 = new Product(2, "p2", 2); - - inventory = new HashMap<>(); - inventory.put(p1.getID(), 5); - inventory.put(p2.getID(), 10); - - receipt = new Receipt(inventory); - - shop.setAmountInShelfs(p1.getID(), 60); - shop.setAmountInShelfs(p2.getID(), 30); - - osdc = new OnShelfDatabaseController(); - osdc.create(shop, p1.getID()); - osdc.create(shop, p2.getID()); - - shop.updateAmountInShelfsFromReceipt(receipt); - shop3 = shop3.refreshShop(); - - - Assert.assertEquals(55, shop3.getAmountInShelfs(p1.getID())); - Assert.assertEquals(20, shop3.getAmountInShelfs(p2.getID())); - } - - @Test - public void testUpdateShopFromReceiptExpectSuccess() { - p1 = new Product(1, "p1", 1); - p2 = new Product(2, "p2", 2); - - inventory = new HashMap<>(); - inventory.put(p1.getID(), 5); - inventory.put(p2.getID(), 10); - receipt = new Receipt(inventory); - - shop.setAmountInShelfs(p1.getID(), 60); - shop.setAmountInShelfs(p2.getID(), 30); - - shop.updateShopFromReceipt(receipt); - - - Assert.assertEquals(55, shop.getAmountInShelfs(p1.getID())); - Assert.assertEquals(20, shop.getAmountInShelfs(p2.getID())); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java deleted file mode 100644 index 21ae5d5..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/ShoppingTripTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package tdt4140.gr1864.app.core; - -import java.util.List; - -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.database.TestDataLoader; - -import org.junit.Assert; - -public class ShoppingTripTest { - - static ShoppingTrip shoppingTrip; - static TestDataLoader loader; - - @BeforeClass - public static void setup() { - loader = new TestDataLoader(); - shoppingTrip = loader.getTrip(); - } - - @Test - public void testGetStartExpectFirstTimeFromTestDataFile() { - long expectedTime = 1523367344888L; - Assert.assertEquals(expectedTime, shoppingTrip.getStart()); - } - - @Test - public void testGetEndExpectedLastTimeFromTestDataFile() { - long expectedTime = 1523367353438L; - Assert.assertEquals(expectedTime, shoppingTrip.getEnd()); - } - - @Test - public void testCoordinateListContainsCorrectCoordinatesExpectedSameAsTestDataFile() { - List coords = shoppingTrip.getCoordinates(); - Coordinate coord = coords.get(1); - double expectedX = 6.900839491066374; - double expectedY = 1.040854256948999; - long expectedTime = 1523367344963L; - - Assert.assertEquals(expectedX, coord.getX(), 0); - Assert.assertEquals(expectedY, coord.getY(), 0); - Assert.assertEquals(expectedTime, coord.getTimeStamp()); - } - - @Test - public void testActionListContainsCorrectActionsExpectedSameAsTestDataFile() { - List actions = shoppingTrip.getActions(); - Action action = actions.get(1); - long expectedTime = 1523367349313L; - int expectedType = 1; - int expectedProduct = 34; - - Assert.assertEquals(expectedTime, action.getTimeStamp()); - Assert.assertEquals(expectedType, action.getActionType()); - Assert.assertEquals(expectedProduct, (int)action.getProduct().getID()); - } - - @Test - public void testDurationExpectDurationOfFirstTrip() { - Assert.assertEquals(8550L, shoppingTrip.getDuration()); - } -} \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java deleted file mode 100644 index 79ea901..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/dataMocker/DataMockerTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package tdt4140.gr1864.app.core.dataMocker; - -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import com.fasterxml.jackson.core.JsonProcessingException; - -public class DataMockerTest { - DataMocker mocker; - - @Before - public void setup() { - mocker = new DataMocker(); - } - - @Test - public void testValidJSON() { - try { - String data = mocker.getRandomPathJSON(); - JSONParser parser = new JSONParser(); - parser.parse(data); - } catch (ParseException | JsonProcessingException e) { - Assert.fail(); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java deleted file mode 100644 index 9001d92..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DBPathTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import org.junit.Assert; -import org.junit.Test; - -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; - -public class DBPathTest { - - @Test - public void testDatabasePathExpectPathToSQLiteFile() { - String actualPath = new DBPath().getPath(); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - - Assert.assertEquals(cdc.dbPath, actualPath); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java deleted file mode 100644 index 47f4828..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DataLoaderTest.java +++ /dev/null @@ -1,132 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Paths; - -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; - -public class DataLoaderTest { - - private final String[] NAMES = { "Reina Novoa", - "Dyan Linkous", - "Kenyatta Horning", - "August Eastwood", - "Kasi Fredricks", - "Sherilyn Salamanca", - "Jean Oslund", - "Maxima Hargreaves", - "Isabell Jarrell", - "Debbi Fuquay" }; - - @BeforeClass - public static void setupDatabase() throws IOException { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - DataLoader.main(null); - } - - @Test - public void testCustomersAreLoadedExpectTenCustomers() { - CustomerDatabaseController cdc = new CustomerDatabaseController(); - for (int i = 1; i < 11; i++) { - Customer c1 = cdc.retrieve(i); - Assert.assertEquals(NAMES[i-1], c1.getFirstName() + " " + c1.getLastName()); - } - } - - @Test - public void testProductsAreLoadedExpectFirstProductFromFile() { - ProductDatabaseController pdc = new ProductDatabaseController(); - String expectedName = "Pork - Back, Long Cut, Boneless"; - double expectedPrice = 0.55; - - Product p = pdc.retrieve(1); - Assert.assertEquals(expectedName, p.getName()); - Assert.assertEquals(expectedPrice, p.getPrice(), 0); - } - - @Test - public void testCoordinateLoadingFromFileExpectFirstCoordFromDataFile() { - CoordinateDatabaseController cdc = new CoordinateDatabaseController(); - Coordinate coord = cdc.retrieve(1, 1523367344888L); - double expectedX = 5.988600917321573; - double expectedY = 1.6073608851323462; - long expectedTime = 1523367344888L; - - Assert.assertEquals(expectedX, coord.getX(), 0); - Assert.assertEquals(expectedY, coord.getY(), 0); - Assert.assertEquals(expectedTime, coord.getTimeStamp()); - } - - @Test - public void testActionLoadingFromFileExpectFirstActionFromDataFile() { - ActionDatabaseController adc = new ActionDatabaseController(); - Action action = adc.retrieve(1, 1523367346313L); - long expectedTime = 1523367346313L; - int expectedType = 1; - int expectedProduct = 55; - - Assert.assertEquals(expectedTime, action.getTimeStamp()); - Assert.assertEquals(expectedType, action.getActionType()); - Assert.assertEquals(expectedProduct, (int) action.getProduct().getID()); - } - - @Test - public void testOnShelfLoadingFromFileExpectFirstProductFromDataFile() { - OnShelfDatabaseController osdc = new OnShelfDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - Shop shop = sdc.retrieve(1); - int expected_shop_id = 1; - int expected_product_id = 2; - int expected_amount_in_shelfs; - } - - @Test - public void testLoadShoppingtripExpectNewShoppingTripInDatabase() throws FileNotFoundException, IOException, ParseException { - String path = "../../src/main/resources/test-data.json"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = getClass().getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = getClass().getClassLoader().getResource(".").getPath(); - } - // Read JSON from file - FileReader fr = new FileReader(relativePath+path); - BufferedReader reader = new BufferedReader(fr); - String json = ""; - String line; - while ((line = reader.readLine()) != null) { - json += line; - } - reader.close(); - ShoppingTrip trip = DataLoader.loadShoppingTrip(json); - - Assert.assertEquals(2, trip.getID()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java deleted file mode 100644 index ce23adc..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/DatabaseTest.java +++ /dev/null @@ -1,149 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; - -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; - -import org.junit.runners.MethodSorters; - -import tdt4140.gr1864.app.core.database.DatabaseWiper; - -import org.junit.BeforeClass; -import org.junit.FixMethodOrder; -import org.junit.Test; - -@FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class DatabaseTest { - - /* - * Setting up database before running tests - * Checks for occurence of database before creating one - */ - - static String dbPath; - - @BeforeClass - public static void setup() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - String path = "../../../app.core/src/main/resources/database.db"; - String relativePath; - //Finds path by getting URL and converting to URI and then to path - try { - URI rerelativeURI = DatabaseTest.class.getClassLoader().getResource(".").toURI(); - relativePath = Paths.get(rerelativeURI).toFile().toString() + "/"; - - } catch (URISyntaxException e1) { - //If fail to convert to URI use URL path instead - relativePath = DatabaseTest.class.getClassLoader().getResource(".").getPath(); - } - dbPath = relativePath + path; - } - - @Test - public void testDatabaseFunctionality() throws SQLException { - // Test if connection throws exception - connection(); - - // Test if writing throws exception - write(); - - // Test if select throws exception - select(); - - // Test if delete throws exception - delete(); - } - - // Method for test purpose. - public void connection() { - - Connection connection = null; - - try { - Class.forName("org.sqlite.JDBC"); - connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - } catch (Exception e) { - System.err.println( e.getClass().getName() + ": " + e.getMessage() ); - System.exit(0); - } - assertNotEquals(connection, null); - } - - // Method for test purpose. - public void write() { - Connection connection = null; - java.sql.Statement statement = null; - - try { - Class.forName("org.sqlite.JDBC"); - connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - - statement = connection.createStatement(); - String sql = "INSERT INTO customer (customer_id, first_name, last_name, anonymous) " + - "VALUES (-1, 'Ben', 'Ten', 'false');"; - statement.executeUpdate(sql); - statement.close(); - connection.close(); - } catch (Exception e) { - System.err.println( e.getClass().getName() + ": " + e.getMessage() ); - System.exit(0); - } - } - - // Method for test purpose. - public void select() throws SQLException { - Connection connection = null; - java.sql.Statement statement = null; - ResultSet resultSet = null; - - try { - Class.forName("org.sqlite.JDBC"); - connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - - statement = connection.createStatement(); - String sql = "SELECT * FROM customer WHERE customer_id = -1;"; - - resultSet = statement.executeQuery(sql); - assertEquals(resultSet.next(), true); - statement.close(); - connection.close(); - } catch (Exception e) { - System.err.println( e.getClass().getName() + ": " + e.getMessage() ); - System.exit(0); - } - } - - // Method for test purpose. - public void delete() throws SQLException { - Connection connection = null; - java.sql.Statement statement = null; - ResultSet resultSet = null; - - try { - Class.forName("org.sqlite.JDBC"); - connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); - - statement = connection.createStatement(); - String sql = "DELETE FROM customer WHERE customer_id = -1;"; - statement.executeUpdate(sql); - - sql = "SELECT * FROM customer WHERE customer_id = -1;"; - resultSet = statement.executeQuery(sql); - assertEquals(resultSet.next(), false); - statement.close(); - connection.close(); - } catch (Exception e) { - System.err.println( e.getClass().getName() + ": " + e.getMessage() ); - System.exit(0); - } - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java deleted file mode 100644 index 4e2301f..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/database/TestDataLoaderTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package tdt4140.gr1864.app.core.database; - -import java.io.IOException; - -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.database.TestDataLoader; -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController;; - -/* Uses test-data.json for testing */ -public class TestDataLoaderTest { - - static String pathToShoppingTrip; - static String pathToProducts; - static TestDataLoader loader; - static ProductDatabaseController pdc; - - static ShoppingTrip trip; - static List coords; - static List products; - static List actions; - - /* - * Setting up database before running tests - * Checks for occurence of database before creating one - */ - @BeforeClass - public static void setupDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - loader = new TestDataLoader(); - pdc = new ProductDatabaseController(); - coords = loader.getCoordinates(); - products = loader.getProducts(); - actions = loader.getActions(); - trip = loader.getTrip(); - } - - @Test - public void testCoordinateLoadingFromFileExpectFirstCoordFromDataFile() { - Coordinate coord = coords.get(0); - double expectedX = 5.988600917321573; - double expectedY = 1.6073608851323462; - long expectedTime = 1523367344888L; - - Assert.assertEquals(expectedX, coord.getX(), 0); - Assert.assertEquals(expectedY, coord.getY(), 0); - Assert.assertEquals(expectedTime, coord.getTimeStamp()); - } - - @Test - public void testGroceryLoadingFromFileExcpectFirstGroceryFromDataFile() { - Product prod = products.get(0); - String expectedName = "Pork - Back, Long Cut, Boneless"; - double expectedPrice = 0.55; - - Assert.assertEquals(expectedName, prod.getName()); - Assert.assertEquals(expectedPrice, prod.getPrice(), 0); - } - - @Test - public void testActionLoadingFromFileExpectFirstActionFromDataFile() { - Action action = actions.get(0); - long expectedTime = 1523367346313L; - int expectedType = 1; - int expectedProduct = 55; - - Assert.assertEquals(expectedTime, action.getTimeStamp()); - Assert.assertEquals(expectedType, action.getActionType()); - Assert.assertEquals(expectedProduct, (int) action.getProduct().getID()); - } - - @Test - public void testProductsOnSHelf(){ - OnShelfDatabaseController osdc = new OnShelfDatabaseController(); - int productID = products.get(0).getID(); - int amount = 5; - Shop shop = loader.getShop(); - shop.setAmountInShelfs(productID, amount); - osdc.create(shop, productID); - Shop testShop = new Shop("lol", 101, shop.getID()); - Shop retrievedShop = osdc.retrieve(testShop, productID); - - Assert.assertEquals(shop.getAmountInShelfs(productID), retrievedShop.getAmountInShelfs(productID)); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java deleted file mode 100644 index afd8e16..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ActionDatabaseControllerTest.java +++ /dev/null @@ -1,150 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Action; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.ActionDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -public class ActionDatabaseControllerTest { - - ActionDatabaseController adc = new ActionDatabaseController(); - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - ProductDatabaseController pdc = new ProductDatabaseController(); - - Action a1, a2; - - ShoppingTrip t1, t2; - Customer c1; - Shop s1; - - Product p1, p2; - - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() { - s1 = new Shop("Kings Road 2", 10); - s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); - - c1 = new Customer("Ola", "Normann"); - c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); - - p1 = new Product("Produt", 1.0); - p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); - - t1 = new ShoppingTrip(c1, s1, true); - t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); - List trips = new ArrayList(); - trips.add(t1); - c1.setShoppingTrips(trips); - - a1 = new Action("1", 1, p1, t1); - } - - @Test - public void testCreateExpectPresistedObject() { - a1 = new Action( - Long.toString(a1.getTimeStamp()), - a1.getActionType(), - a1.getProduct(), - stdc.retrieve(adc.create(a1)) - ); - - Assert.assertEquals(t1.getID(), a1.getShoppingTrip().getID()); - } - - @Test - public void testRetrieveExpecetPersistedObject() { - a1 = new Action( - Long.toString(a1.getTimeStamp()), - a1.getActionType(), - a1.getProduct(), - stdc.retrieve(adc.create(a1)) - ); - a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); - - Assert.assertEquals(a1.getShoppingTrip().getID(), a2.getShoppingTrip().getID()); - Assert.assertEquals(a1.getTimeStamp(), a2.getTimeStamp()); - } - - @Test - public void testDeleteExpectNull() { - a1 = new Action( - Long.toString(a1.getTimeStamp()), - a1.getActionType(), - a1.getProduct(), - stdc.retrieve(adc.create(a1)) - ); - adc.delete(a1.getShoppingTrip().getID(), a1.getTimeStamp()); - - Assert.assertEquals(null, adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp())); - } - - @Test - public void testUpdateExpectNewlyPresistedObject() { - a1 = new Action( - Long.toString(a1.getTimeStamp()), - a1.getActionType(), - a1.getProduct(), - stdc.retrieve(adc.create(a1)) - ); - a1 = new Action( - Long.toString(a1.getTimeStamp()), - 0, - a1.getProduct(), - a1.getShoppingTrip() - ); - adc.update(a1); - a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); - - Assert.assertEquals(a1.getActionType(), a2.getActionType()); - Assert.assertEquals(a1.getTimeStamp(), a2.getTimeStamp()); - Assert.assertEquals(a1.getShoppingTrip().getID(), a2.getShoppingTrip().getID()); - } - - @Test - public void testRetrieveAllExpectActionListSizeNotZero() { - a1 = new Action( - Long.toString(a1.getTimeStamp()), - a1.getActionType(), - a1.getProduct(), - stdc.retrieve(adc.create(a1)) - ); - a1 = new Action( - Long.toString(a1.getTimeStamp()), - 0, - a1.getProduct(), - a1.getShoppingTrip() - ); - adc.update(a1); - a2 = adc.retrieve(a1.getShoppingTrip().getID(), a1.getTimeStamp()); - - int notExpectingSize = 0; - List actualActions = adc.retrieveAll(a1.getShoppingTrip().getID()); - Assert.assertNotEquals(notExpectingSize, actualActions.size()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java deleted file mode 100644 index c6874a6..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CoordinateDatabaseControllerTest.java +++ /dev/null @@ -1,135 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Coordinate; -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.CoordinateDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -public class CoordinateDatabaseControllerTest { - - CoordinateDatabaseController cdc = new CoordinateDatabaseController(); - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - CustomerDatabaseController customerdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - ProductDatabaseController pdc = new ProductDatabaseController(); - - Coordinate c1, c2, c3; - - ShoppingTrip t1, t2; - Customer customer1; - Shop s1; - - Product p1, p2; - - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() { - s1 = new Shop("Kings Road 2", 10); - s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); - - customer1 = new Customer("Ola", "Normann"); - customer1 = new Customer(customer1.getFirstName(), customer1.getLastName(), customerdc.create(customer1)); - - p1 = new Product("Produt", 1.0); - p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); - - t1 = new ShoppingTrip(customer1, s1, true); - t1 = new ShoppingTrip(stdc.create(t1), customer1, s1, true, false); - List trips = new ArrayList(); - trips.add(t1); - customer1.setShoppingTrips(trips); - - c1 = new Coordinate(1, 1, "1", t1); - } - - @Test - public void testCreateExpectPresistedObject() { - c1 = new Coordinate( - c1.getX(), - c1.getY(), - Long.toString(c1.getTimeStamp()), - stdc.retrieve(cdc.create(c1)) - ); - - Assert.assertEquals(t1.getID(), c1.getShoppingTrip().getID()); - } - - @Test - public void testRetrieveExpecetPersistedObject() { - c1 = new Coordinate( - c1.getX(), - c1.getY(), - Long.toString(c1.getTimeStamp()), - stdc.retrieve(cdc.create(c1)) - ); - - c2 = cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp()); - - Assert.assertEquals(c1.getShoppingTrip().getID(), c2.getShoppingTrip().getID()); - Assert.assertEquals(c1.getTimeStamp(), c2.getTimeStamp()); - } - - @Test - public void testDeleteExpectNull() { - c1 = new Coordinate( - c1.getX(), - c1.getY(), - Long.toString(c1.getTimeStamp()), - stdc.retrieve(cdc.create(c1)) - ); - cdc.delete(c1.getShoppingTrip().getID(), c1.getTimeStamp()); - - Assert.assertEquals(null, cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp())); - } - - @Test - public void testUpdateExpectNewlyPresistedObject() { - c1 = new Coordinate( - c1.getX(), - c1.getY(), - Long.toString(c1.getTimeStamp()), - stdc.retrieve(cdc.create(c1)) - ); - - c1 = new Coordinate( - 0, - 0, - Long.toString(c1.getTimeStamp()), - c1.getShoppingTrip() - ); - cdc.update(c1); - c2 = cdc.retrieve(c1.getShoppingTrip().getID(), c1.getTimeStamp()); - - Assert.assertEquals(c1.getX(), c2.getX(), 0); - Assert.assertEquals(c1.getY(), c2.getY(), 0); - Assert.assertEquals(c1.getTimeStamp(), c2.getTimeStamp()); - Assert.assertEquals(c1.getShoppingTrip().getID(), c2.getShoppingTrip().getID()); - } - - @Test - public void testRetrieveAllExpectListOfCoordinates() { - List coords = cdc.retrieveAll(1); - Assert.assertEquals(1, coords.size()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java deleted file mode 100644 index 97d60a8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/CustomerDatabaseControllerTest.java +++ /dev/null @@ -1,145 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; - -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; - -@FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class CustomerDatabaseControllerTest { - - Customer c0; - Customer extendedCustomer; - CustomerDatabaseController cdc; - - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() { - c0 = new Customer("Ola", "Normann"); - extendedCustomer = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true); - cdc = new CustomerDatabaseController(); - - } - - @Test - public void testCreateExpectPresistedObject() { - Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); - - - Assert.assertEquals(c0.getFirstName(), c2.getFirstName()); - Assert.assertEquals(c0.getLastName(), c2.getLastName()); - } - - @Test - public void testRetrieveExpectPresistedObject() { - Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); - Customer c3 = (Customer) cdc.retrieve(c2.getID()); - - Assert.assertEquals(c3.getFirstName(), c0.getFirstName()); - Assert.assertEquals(c3.getLastName(), c0.getLastName()); - } - - @Test - public void testUpdateExpectedNewlyPresistedObject() { - Customer c1 = new Customer(c0.getFirstName(), c0.getLastName(), cdc.create(c0)); - c1 = new Customer("Kari", "Hansen", c1.getID()); - cdc.update(c1); - Customer c2 = cdc.retrieve(c1.getID()); - - Assert.assertEquals("Kari", c2.getFirstName()); - Assert.assertEquals("Hansen", c2.getLastName()); - Assert.assertEquals(false, c2.getAnonymous()); - } - - @Test - public void testDeleteExpectNull() { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - - Customer c2 = new Customer("Ola", "Normann", cdc.create(c0)); - cdc.delete(c2.getID()); - - Assert.assertEquals(true, cdc.retrieve(c2.getID()).isDeleted()); - } - - @Test - public void testCountCustomerExpectOne() { - new Customer("hans", "nordmann", cdc.create(c0)); - int countCustomer = cdc.countCustomers(); - Assert.assertEquals(1, countCustomer); - } - - @Test - public void testRetrieveAllExpectAllCustomers() { - DatabaseWiper wiper = new DatabaseWiper(); - wiper.wipe(); - - cdc.create(extendedCustomer); - cdc.create(extendedCustomer); - - List customers = cdc.retrieveAll(); - - Assert.assertEquals("Ben", customers.get(0).getFirstName()); - Assert.assertEquals("Ben", customers.get(1).getFirstName()); - } - - @Test - public void testCreateUserWithAllFields() { - Customer c2 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, cdc.create(extendedCustomer), false); - cdc.create(c2); - - Assert.assertEquals(c2.getFirstName(), "Ben"); - Assert.assertEquals(c2.getLastName(), "Len"); - Assert.assertEquals(c2.getAddress(), "NTNU"); - Assert.assertEquals(c2.getZip(), 7047); - Assert.assertEquals(c2.getNumberOfPersonsInHousehold(), 3); - Assert.assertEquals(c2.getGender(), "Unspecified"); - Assert.assertEquals(c2.getAge(), 44); - Assert.assertEquals(c2.getNumberOfPersonsInHousehold(), 3); - Assert.assertEquals(c2.getAnonymous(), true); - Assert.assertEquals(c2.isDeleted(), false); - } - - @Test - public void testRetrieveUserWithAllFields() { - Customer c1 = new Customer("Ben", "Len", "NTNU", 7047, - "Unspecified", 44, 3, true, cdc.create(extendedCustomer), false); - - Customer c2 = cdc.retrieve(c1.getID()); - Assert.assertEquals(c1.getFirstName(), c2.getFirstName()); - Assert.assertEquals(c1.getLastName(), c2.getLastName()); - Assert.assertEquals(c1.getAddress(), c2.getAddress()); - Assert.assertEquals(c1.getAge(), c2.getAge()); - Assert.assertEquals(c1.getNumberOfPersonsInHousehold(), c2.getNumberOfPersonsInHousehold()); - Assert.assertEquals(c1.getGender(), c2.getGender()); - Assert.assertEquals(c1.getAnonymous(), c2.getAnonymous()); - Assert.assertEquals(c1.isDeleted(), c2.isDeleted()); - } - - @Test - public void testDeleteUserExpectAllNullValues() { - cdc.delete(1); - Customer c1 = cdc.retrieve(1); - - Assert.assertEquals("null", c1.getAddress()); - Assert.assertEquals("null", c1.getFirstName()); - Assert.assertEquals(0, c1.getAge()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java deleted file mode 100644 index 9e851a4..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/OnShelfDatabaseControllerTest.java +++ /dev/null @@ -1,76 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.OnShelfDatabaseController; - -public class OnShelfDatabaseControllerTest { - Shop shop, shop2; - Product product, product2; - OnShelfDatabaseController osdc; - - - //Set up a DB for use in the tests - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - - @Before - public void setup() throws IOException { - osdc = new OnShelfDatabaseController(); - - product = new Product(15, "MocProduct", 22); - product2 = new Product(23, "Potato", 555); - - shop = new Shop("Kings Road 2", 7050, 16); - shop.setAmountInShelfs(product.getID(), 7); - shop.setAmountInStorage(product.getID(), 93); - - shop2 = new Shop("Somwhere", 7060, 22); - shop2.setAmountInShelfs(product2.getID(), 66); - shop2.setAmountInStorage(product2.getID(), 44); - } - - - @Test - public void testCreateAndRetrieveExcpectSuccess() { - osdc.create(shop, product.getID()); - Shop retrievedShop = osdc.retrieve(shop, product.getID()); - - Assert.assertEquals(shop.getAmountInShelfs(product.getID()), retrievedShop.getAmountInShelfs(product.getID())); - Assert.assertEquals(shop.getAmountInStorage(product.getID()), retrievedShop.getAmountInStorage(product.getID())); - Assert.assertEquals(shop.getID(), retrievedShop.getID()); - } - - @Test - public void testUpdateExcpectSuccess() { - osdc.create(shop2, product2.getID()); - shop2.setAmountInShelfs(product2.getID(), 10); - shop2.setAmountInStorage(product2.getID(), 90); - osdc.update(shop2, product2.getID()); - Shop retrievedShop = osdc.retrieve(shop2, product2.getID()); - - Assert.assertEquals(shop2.getAmountInShelfs(product2.getID()), retrievedShop.getAmountInShelfs(product2.getID())); - Assert.assertEquals(shop2.getAmountInStorage(product2.getID()), retrievedShop.getAmountInStorage(product2.getID())); - Assert.assertEquals(shop2.getID(), retrievedShop.getID()); - } - - @Test - public void testDeleteExcpectNull() { - osdc.delete(shop.getID(), product.getID()); - Shop retrievedShop = osdc.retrieve(shop, product.getID()); - Assert.assertEquals(null, retrievedShop); - } - -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java deleted file mode 100644 index 6a0f4c8..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ProductDatabaseControllerTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Product; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.ProductDatabaseController; - - -public class ProductDatabaseControllerTest { - - ProductDatabaseController pdc; - Product p1; - Product p2; - Product p3; - - @BeforeClass - public static void setup() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setupProducts() { - pdc = new ProductDatabaseController(); - p1 = new Product("tomatoes", 9.23); - p2 = new Product("beef", 50.5); - p3 = new Product("cucumber", 10.0); - } - - @Test - public void testCreateAndRetrieveExpectCreatedProduct() { - p1 = new Product(pdc.create(p1), "tomatoes", 9.23); - Product storedP1 = (Product) pdc.retrieve(p1.getID()); - Assert.assertEquals(p1.getName(), storedP1.getName()); - Assert.assertEquals(p1.getPrice(), storedP1.getPrice(), 0); - } - - @Test - public void testCreateAndRetrieveExpectCreatedProduct2() { - p2 = new Product(pdc.create(p2), "beef", 50.5); - Product storedP2 = (Product) pdc.retrieve(p2.getID()); - Assert.assertEquals(p2.getName(), storedP2.getName()); - Assert.assertEquals(p2.getPrice(), storedP2.getPrice(), 0); - } - - @Test - public void testCreateAndUpdateExpectUpdatedProduct() { - p2 = new Product(pdc.create(p2), p2.getName(), p2.getPrice()); - p2 = new Product(p2.getID(), p3.getName(), p3.getPrice()); - pdc.update(p2); - Product updatedP2 = (Product) pdc.retrieve(p2.getID()); - - Assert.assertEquals(p2.getID(), updatedP2.getID()); - Assert.assertEquals(p3.getName(), updatedP2.getName()); - Assert.assertEquals(p3.getPrice(), updatedP2.getPrice(), 0); - } - - @Test - public void testDeleteExpectNull() { - p1 = new Product(pdc.create(p1), p1.getName(), p1.getPrice()); - pdc.delete(p1.getID()); - Assert.assertEquals(pdc.retrieve(p1.getID()), null); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java deleted file mode 100644 index 3379845..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShopDatabaseControllerTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; - -public class ShopDatabaseControllerTest { - - Shop shop; - ShopDatabaseController sdc; - - @BeforeClass - public static void createDatabase() throws IOException { - DatabaseWiper viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() throws IOException { - sdc = new ShopDatabaseController(); - shop = new Shop("Kings Road 2", 10); - } - - @Test - public void testCreateExpectPersistedObject() { - Shop newShop = new Shop("Kings Road 2", 10, sdc.create(shop)); - - Assert.assertEquals(shop.getAddress(), newShop.getAddress()); - Assert.assertEquals(shop.getZip(), newShop.getZip()); - } - - @Test - public void testRetrieveExepctedPersistedObject() { - Shop shop3 = new Shop("Kings Road 2", 10, sdc.create(shop)); - Shop newShop = (Shop) sdc.retrieve(shop3.getID()); - - Assert.assertEquals(shop3.getAddress(), newShop.getAddress()); - Assert.assertEquals(shop3.getZip(), newShop.getZip()); - } - - @Test - public void testDeleteExpectedNull() { - Shop shop4 = new Shop("Kings Road 2", 10, sdc.create(shop)); - sdc.delete(shop4.getID()); - - Assert.assertEquals(null, sdc.retrieve(shop4.getID())); - } - - @Test - public void testUpdateExpectNewlyPresistedObject() { - shop = new Shop(shop.getAddress(), shop.getZip(), sdc.create(shop)); - shop = new Shop("Kings Road 3", 11, shop.getID()); - sdc.update(shop); - Shop newShop = sdc.retrieve(shop.getID()); - - Assert.assertEquals("Kings Road 3", newShop.getAddress()); - Assert.assertEquals(11, newShop.getZip()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java b/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java deleted file mode 100644 index 50a7911..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/java/tdt4140/gr1864/app/core/databasecontroller/ShoppingTripDatabaseControllerTest.java +++ /dev/null @@ -1,158 +0,0 @@ - -package tdt4140.gr1864.app.core.databasecontroller; - -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import tdt4140.gr1864.app.core.Customer; -import tdt4140.gr1864.app.core.Shop; -import tdt4140.gr1864.app.core.ShoppingTrip; -import tdt4140.gr1864.app.core.database.DatabaseWiper; -import tdt4140.gr1864.app.core.databasecontrollers.CustomerDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShopDatabaseController; -import tdt4140.gr1864.app.core.databasecontrollers.ShoppingTripDatabaseController; - -public class ShoppingTripDatabaseControllerTest { - - ShoppingTripDatabaseController stdc = new ShoppingTripDatabaseController(); - CustomerDatabaseController cdc = new CustomerDatabaseController(); - ShopDatabaseController sdc = new ShopDatabaseController(); - static DatabaseWiper viper = new DatabaseWiper(); - ShoppingTrip t1, t2, t3; - Customer c1, c2, c3; - Shop s1, s2, s3; - - @BeforeClass - public static void createDatabase() throws IOException { - viper = new DatabaseWiper(); - viper.wipe(); - } - - @Before - public void setup() { - s1 = new Shop("Kings Road 2", 10); - s1 = new Shop(s1.getAddress(),s1.getZip(), sdc.create(s1)); - - c1 = new Customer("Ola", "Normann"); - c1 = new Customer(c1.getFirstName(), c1.getLastName(), cdc.create(c1)); - - c2 = new Customer("Kari", "Hansen"); - c2 = new Customer(c2.getFirstName(), c2.getLastName(), cdc.create(c2)); - - - t1 = new ShoppingTrip(c1, s1, true); - t2 = new ShoppingTrip(c1, s1, true); - t3 = new ShoppingTrip(c2, s1, true); - } - - @Test - public void testCreateExpectPresistedObject() { - t2 = new ShoppingTrip(stdc.create(t1), t1.getCustomer(), t1.getShop(), true, true); - Assert.assertEquals(t1.getCustomer().getID(), t2.getCustomer().getID()); - Assert.assertEquals(t1.getShop().getID(), t2.getShop().getID()); - Assert.assertEquals(true, t2.getAnonymous()); - - } - - @Test - public void testRetrieveExpectPersistedObject() { - t2 = new ShoppingTrip(stdc.create(t1), t1.getCustomer(), t1.getShop(), true, false); - t3 = (ShoppingTrip) stdc.retrieve(t2.getID()); - - Assert.assertEquals(t2.getCustomer().getID(), t3.getCustomer().getID()); - Assert.assertEquals(t2.getShop().getID(), t3.getShop().getID()); - Assert.assertEquals(false, t3.getAnonymous()); - } - - @Test - public void testDeleteExpectNull() { - ShoppingTrip t3 = new ShoppingTrip(c1, s1, true); - t3 = new ShoppingTrip(stdc.create(t3), t3.getCustomer(), t3.getShop(), true, false); - stdc.delete(t3.getID()); - - Assert.assertEquals(null, stdc.retrieve(t3.getID())); - } - - @Test - public void testUpdateExpectNewlyPresistedObject() { - t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); - t1 = new ShoppingTrip(t1.getID(), c2, s1, true, false); - - stdc.update(t1); - t2 = stdc.retrieve(t1.getID()); - - Assert.assertEquals(c2.getID(), t2.getCustomer().getID()); - } - - @Test - public void testRetrieveAllShoppingTripsExpectSizeEqualOne() { - List trips = stdc.retrieveAllShoppingTrips(); - Assert.assertEquals(1, trips.size()); - - } - - @Test - public void testRetrieveAllShoppingTripsExpectCustomerShoppingTrips() { - t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); - t1 = new ShoppingTrip(t1.getID(), c2, s1, true, false); - - stdc.update(t1); - t2 = stdc.retrieve(t1.getID()); - - List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(c2.getID()); - List expectedTrips = Arrays.asList(t1); - - boolean wrongList = true; - - for (ShoppingTrip trip : customerTrips) { - for (ShoppingTrip exTrip : expectedTrips) { - if (trip.getCustomer().getID() == exTrip.getCustomer().getID() && - trip.getCharged() == exTrip.getCharged() && - trip.getID() == exTrip.getID() && - trip.getShop().getID() == exTrip.getShop().getID()) { - wrongList = false; - } - } - } - - Assert.assertEquals(false, wrongList); - } - - @Test - public void testRetrieveAllShoppingTripsExpectAllShoppingTrips() { - t1 = stdc.retrieve(1); - - List expectedTrips = Arrays.asList(t1); - - List trips = stdc.retrieveAllShoppingTrips(); - - boolean wrongList = true; - - for (ShoppingTrip trip : trips) { - for (ShoppingTrip exTrip : expectedTrips) { - if (trip.getCustomer().getID() == exTrip.getCustomer().getID() && - trip.getCharged() == exTrip.getCharged() && - trip.getID() == exTrip.getID() && - trip.getShop().getID() == exTrip.getShop().getID()) { - wrongList = false; - } - } - } - - Assert.assertEquals(false, wrongList); - } - - @Test - public void testRetrieveAllShoppingTripsForCustomerExpectSizeEqualOne() { - t1 = new ShoppingTrip(stdc.create(t1), c1, s1, true, false); - List customerTrips = stdc.retrieveAllShoppingTripsForCustomer(c1.getID()); - - Assert.assertEquals(1, customerTrips.size()); - } -} diff --git a/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md b/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md deleted file mode 100644 index b67a78a..0000000 --- a/EC-Shop/tdt4140-gr1864/app.core/src/test/resources/tdt4140/gr1864/app/core/README.md +++ /dev/null @@ -1 +0,0 @@ -# Resources for the tests of the core Java code \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.classpath b/EC-Shop/tdt4140-gr1864/app.ui/.classpath deleted file mode 100644 index 6db5cad..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/.classpath +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.project b/EC-Shop/tdt4140-gr1864/app.ui/.project deleted file mode 100644 index 7312089..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/.project +++ /dev/null @@ -1,20 +0,0 @@ - - - tdt4140-gr1864.app.ui - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - tdt4140-gr1864.app.core - - - - org.eclipse.jdt.core.javabuilder - - - org.eclipse.m2e.core.maven2Builder - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - \ No newline at end of file diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 13b3428..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,13 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs b/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f..0000000 --- a/EC-Shop/tdt4140-gr1864/app.ui/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar b/EC-Shop/tdt4140-gr1864/app.ui/libs/charts-1.0.5.jar deleted file mode 100644 index 9a89a7884d22826e79bd36b600f66107b3464884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1353529 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%0Aixh&!^F#1e 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%0Dt1n^Jg7_CI*F;uJ1rf$=m zE_@{?H&u3`GR;MYR$zT*ef zAa7EfU>u?!78CT22cURB#4A)P1ZxGGm8qIMj?%0e6SP!^6IgC!FlQd4S0dYB2J1rD zzK`cDTlF{Pv^)4-0Ox)a|7t-AiDnBy>T2hkv8`Tm^o~84$E$B`P9!m|5 z{a*jc`MaK{fD>vjkBe*AhZkHPH|RRx{TJZ}VG!*7O)x|;23Tz=p#XR&t^B|q!o0~D zwB&Aii16)W(U?qne}6q1Qp@jN7F|XbpB@oBdfMKa+FVwVa)RDsh~FS0=~x)1X10A! z6QzEj*HF3=Pu7KQ-yb^WiBH`5%BwlKa*N>=T2N(d^3LDK6Wj|{fP7O>_GTAR(Meg+ zDR0yJXGrq}dB}4Ib>*ON-_=WoHw|J2^3p7lQq@%RrabzmKKxde@U7==`?4Jnjdo@MmMuzz!+>n-O&=yq%ketmKK>&-1&+1?3 zYgF!>K<>ELPNi`HSl;3GmXFE5cD)O0fsj65AB#0CA5B*bJgZryBO_{1M*AyIwS;m^ z3nOZj^H!B=3#<`vQ_!h9oDB*sl0j~ zp}>t*`)-)Ek$hB2Xj}lr>SqSA`OkdptYw}<`qH>Rwxh9Eq_Ts0OdRptcbu=+mmrKJ zg3pdGOB|93lwa$dlaY;`mYVk#9USs-eT_~}I-FMWs@=KwhbOJ^o%mw(8SJzkACm>% zableQM{k;71V|ESZ+wM47Ol;r`az{Zt;0&_Gza=Qf^Yv4lLQfDVP+=%2S(#M? zno8|RCM`V%gm2F`H_JWRLwB2_qL6`dm;xE&pZiB}p~@*Auq%Z`yJNk7pJ(;w&p#uU zFIJKadte%G=`@1u6AyR%t=BzjE6~Fvyi`d@s8!-_0 zloT~oSEzGB)J*HV!yi9mAK)!M7|_IxAH6gKrpm{nF9u_vQ|&}O?|o380eGvV5sNv`_}Zx;_ZVIT)>hoN5J+fgrm(nO7U;{+NYD%UkCz%ZowY? zP3K5%M(;xDE#&tCZBZ2aTZppA3;3*Ix1_n3{nW0?9wk-$?27aM!P+|pS=M!H+G(TG zwzbn%rES}`ZQHh8Y1_7KXI5HOi7%gn?yuvGIMLmwBle&5Yp)eC){L>{9M^Tri@;<3 z3f@}(z;hR7n0X6@Qy3^ zY9g&UkCIe_=Kl^yEpZy>R4FL;qYJnv*fnwE(4iK7_qUTxxL(o?=gyZX)#Qj?WIEV0 zl1EJLA*=-ks`|KDkCHwfUf?e34X9Q?vp;du?n2N(quXEHrlf?X1dl1=L3Lqr2i)Jv zLUgJVOu8X|^9d1N6a;XOq`)2G?G%1MzEQy#F51B7;chlGfcY&OHmvKL`jJcxR=>PT zR6Y1Y`C)>;)&?U`;q9Rivp{K?AjPu;lbwWa|MI;N zY+(vf(+N_`I7}DElFD6#3W)PY$Ym6tAoVb$y&(FGYhwtJlL?Z8=Z%=5W|$?BI9(GO z$A-?%8^ytR?y2i>6c)sFBo$-Xxr#t^*Kc_7Xc|YXi2*CH-fb@8Lbvj3Sg*D6b zJEnaDwS3#`IlP%Wym>qr9E(yL`2L(Zq%7&jr{1*q=uQ^=OPO?)Zvkn}7|8g2jC0$Z zUVVr-rOg!LY}%Bg?#;N5{aJKl&5c~WFLi?5likJTjuQW;K;i<;dzsWF#sic$jP!nX zBj}d?o`gWgPkvv{xKjT+o+;y&BULG_qur5pvFW z+lRKnN1!%EUN~X9+)xXU$DALH&GH^fu8=DA+t0(;)hw*i@0jlqlF%f+$16 zi~<5GhMXb?Bb(PqU1r2{PKN&h+SFg-&E0%MHZ|J+6==iye*oJ2FA9L=G!Jj(WwcSh z7qX0(dv{uo;5ss7WqolF5_B~1dF%Kk2?%B(ef$2jqXal<(*fFK^D33iLYGxdshX9I zi}JSo0b%K3N)L1l9#W%T7-&Q^p^-sto`K;aCWP`w-tv4cQSFdOVB6<(kltt^>e77&aBj3K zMf-$k0W{`274S6bHtGIjrd)YO$S|}k1^be~Dpc*FJuYx|$~KAqX&76DI<@{97~7<~ z;>cl+v2H|}ekFHLnCE>cjM*`FRT22y!;VuEZ;|cX#3y@9R@{gaC7?N4{YJD>@^ zFxsHc{2))4XUqcewS+nD3y&I3!{?3~uBS)oAzvBSLjZ|kbh;^oGjWhj4E8 zU%?!?aaU7LK^@`1ksgOG;C$x7P>bt*OSI0cRn*L> zeopY=z%(x+t21{|$m^Yin_ok9GtzP@^16&nAdYFYW+~~V7vb_K3}?;dvO;)~F&`M| zWFrWcK=qz#>(OD5b8J2ugdid#nim2kRsW# zfRGl;+lLj#O?6a^FZ4`XTpnSNyGk_>08rXkY!L73QyRK5RyWyYNMo|KR!uLi_4T#L zhj^>&MgzeGm{CluNEu7o&{opUy4;+esf4Gz!)IuBCA+z5i(k*~8n>q8HL-(UYHVm*YS3|M zl@p`IUY6N)POf{8^U-e}oE+J>a=CG~?>a7eBTj<0EFNw;B!|JGA$`}h+|rTLj6Zo3 zKEW+H{PBXNqr;*FXI6sf){1q-N>bn}=0s>MO72FsnW?oMgU>#Qo1hj7!^r4x#ofjo ziv9PMB;OWXr$^V3Z^SLAb`>tzr@t=(e#h2;Yc>;^~*FT-M~cJS);~Ww&5k z3(tLxS`aKhWBXqf+%}GOLCshJ?OZKcIobIgLG$uu?K7hUc(6l&)Q28ywnI5MG9&za zY_>gXczo-nI%pg$T$Jc|uhJT&l#k_$=cnhlY2m2~4BDGJGx*wldbs8Gj^+7oq3eu~ z&j|+pQANk3)d#S}AJGeu##}x@{d_wLR=V!9dE9?522u09dT0D&C1>t}Y334zy$yO)4oGS{z(!fC_2>vZ&m z&X9N1yW|nS=Czu*7yxdoM6T486tgdyB1$i}DC=DJZz)JEwh10qC|{W;%zafSw;^mq z-ZU6c)sm%LR?4h)X3N*XKm(Sawu ziS5eb`;OEmDXz@SYSRu22{Qva1)LJ;GHp5qDXOT73)z!Z=k=_7ZY3<2;scpFUMwtU zW!`lsA!@Z53^Rb{xgzzlNzeNEz_VFtCvENNvvKzLX``Tt+QEFMInRyE1z%1_Q>>@` ziu9htYHUdSK8QR}1O*gBlY&fO)+d!(@#XbnuZ6M?8;pl&{yn;7dnym=oSW`4koqzq z=?xGJLSbFyAHv8=ON4>vIuXt=W2{K=75T5>^jH(hVaKTu&{IV#lL6S7!8d=E4NC=& za}a6?22l-{;+l;`Rh|{$v^%`rcb&S!}6(h4P$kZ z80w6eMb6h2I$oZtEd^lPXA<`_We$#)3zeXhOHq&op3q!m2sTQ~P#VqFssf`GSdR;j zaLEH<*AgA3A{v>vZh`GV>AsJqCbD=#EI04K(z6phIq6p5Q$T^7={`eS5%Q`h(bbE+@I2xZd|)SC*^{@S zEoyz;gtTuqos*xUF)3XK72r}*5AWM_rwL{ zgpo7j`}wH!b@S3Zg8bVFDgJphkdqjX40h=B6wZu~p)UEpcWK>|X^@kF?5U^-j|l&_ z^{y!`uqh)aCVG;SV~~^6d!`qd^wDGE-$W;9-1wd)dSjDa@U3Rk z9Z`;^+m{jF|MDiXl@RnsX1EhUpA?!N;uJ2CAmLpDQjMj4vwx7voLje{{3akv=Zv%(Rh zHd3tg*x-Pjhnl49<2v9j`xO2(?vRZCht)oY{@GGWX#j`}*OEh|V5hJq6Y=ohjfM#K3yksz}279UVXiMX?C(sJt%Wk_|s#h1lkA_$x&j8peejUzk9nOKybjybCnTfHaabIxf z3R^*5%yGRXhofJ7fAk_7+~kRj>Z5%IIfO)IWMo7}^h``djyKEQvwlY`)pq^8^MCTW z_4|j55P3uRV+jKU^i23)HM9Q(E@W$DV(aW^Vf24OjT`(=YJ7>riTXdN@q++@zP$ZI zNWx!@a58u($3)Lh)10F(_?vou-yqu_qbAvrJPk>lmI>{lE0P;bIfi{25dor!vYwH- z>(CmWBU*^SSr30pRfn%WXqgWdW zKt;NZaOpDUo2Ep73^ZsVNm;`qcnt9!{|jtVnKO4N5NBnvVzIzv!o0>U3B8TrjtZ^W zQVJ;jjPDr3RoIm}O&ew)Stdd}@*g$qi+7PO0M{GR3Zx13C`*Xn_NUqXmh8jMrW*lu zzW1hnByP)Vp)9hHmg_@W~@3aVs87n7hkTzW$!(I!IXK=$(^6rgIyte;#UK zd8U0YIfe|Ch2U4v{UMs{Lw;buLAjS3^Vi-QRlZ3#>3jBmZw}!Xhsewak>0SN zq^`{PdL^sGheu?lOa(eR$`bM~vImzf@rKE^2#v^SmG)w@cZh%L5nkg9pXt9tRsL%| z{ts|`@*k=)^ee(H!fN9O3@X$QLVp``9hIw}w8#OjO-LI)E$71m|ccHqcR zLxGTc1wYJigDRmS>gs$>UcY8+X5#X8dqCX->wsZfwb$CN3u9#Q+;F#C?Bn_Yr4l>a zrcjWE=-=6}DwW^n7zLhVjRY|tG9#iW+K63J$A#6IGGSgRV?`dbwfnSDgdn1zbv2{@ zIyUj*wJf|i;pfyi#rq}*>XY+$vj{#lStYg6y=zIT2H%MX?YXMue4Nc_hN6UU^Uyj;ljwkojCul4GvxbnoDL;+s; zrW&-m#0<2Yxnk%tE0ot3~8SQ>EDm+N4|v?Kz*s<|u5qKfi+G_<};N>C1hJjo|USZIA;p z+J3s40S2ive_EW|S2qC)MS>%w)N2QRS?h2{1245&w2q%d~3mqw1;W2sT|Rk}+( z5TNV-#kKwjs5LAKWT#m(&xk5_LSUs{>T6bX!DFAeYjQxbGCoJrFsXe7|EIXd(0@e|?>SZG%x+m)9| zl{$K>2OqY36_-gJj};w`X8UL4&Z9HwBR3yRh2k}JT$s==(4;bv$);I-0*UV=wIc;m zN*nqunBx4M5 zR4(#F{&>L|6qd1tj-`zsuvK#}@k7J{oVDjEG??lj)9{lNrfoh5X+naLgfohYp?X`$ zvhp)$&52h16V??@Lt~~@M5#}N1nW4^mc)1T-7MDUDAxTSG{@icZvaaw4+=7~sufz7 zLm1X9MY?LTau;jTOWrNH$}D$(w13vNqp5$FVz~8ORT2HaUEBT#F@9sW@DtM)0R~SV z@}TtLw6qW%qDiU8M&lq{Ds_*g(3^h(T4%z=Vv^~LMur8O{}u983~QH01sYKAYkt%H zl6&g0>-B5(hQG%bbS^;UC%#+MoI`E6%$8d11`Ph0d-)-f5MO4S!L+IQ;(PN} zKK;3lPjQB1uV1JS!>itB3Z)wlc)#J@_bNRSmzDsS(IiwNb5HJ=Fqv#hFRGVwrA(*B zLcA_%aAaz^4zqZ7;?bB5r59QRQD;BD4K1cCUKH=qTKH*3m&3Qh9FfI9qu$i1z&@7Z zvC#5ookrtD8b9ON8T~gf6OGMtAU-Rg3f&?$CXGG&gzD2eZhR^guKqUmA%*>7vO5G3 z+NcDqe@S!Y5-2{mhm(Jbhgsyuh6bRa!lBmN97mB1)HmzTi!44y>C{O#TVm)s^0@wC#wnGk7S5;& z!I+W@NsQx5>X+6&!B)(DMNdFwnA?PJcmn!1)Jxp05QMPO0yq>MX=5wf1mWPV)a8ux z7Rpy9V&e4m;&Tu;2+mc=My=1RA*-$&vxxWkZ|C$;9 z*LCqfneqRr4l=1uh9CK+i2|A~$Ab4P7V%Z*6)NC_%X&I1EO<*~Q;HW~)d&NA^4x;H zDuiE72^BFY;3Mnl%C3lJYfFc_ot{Tj} zuQ(k15M*DrVpNye|C52%r5HJE(Lpa*tm{UpbPJm2_lrB_(-tY64qMQ+s${TCo>)S@ zh0$-r%GvU$C90=xR}T$1Sj8NBJp^}J2sjHdj7*$JcRl;zx~nDRhD#?_XT7Jmkh1A{ ze<42fMt^`xekd5F^RfJ$J2rB$OV7WxfXEOiNFz7V8&=HQrwMD_U30w1bgn@bXA!AO z&()tL$D^6wEudO1fpD@9)qw)T*nUBbn7#E;e5=CGX;Hi^xF{y{LxdaHJQkl0!UwO( zy{Sz!fzxFZ^|zYu#L7elzAr1G28-dhhq1?sZ>dH^xb6Vkc0|or+j28L^JcY!odU+e7(Bxlrf)*01|J(9{VxxcL1*F3-Le_+UL#tX%*X69L~be&{=AqGv0$Stm#w+rFXaIvbfGm&H9QH`!x zkgYD6$#{_sOJS-nv$1CCHoHt#D6-hOqm|L>tM}O?Y%eEV=oB*H+uonzu5~MzwHGe|7tH_2-nzT+e$7`sS-^Q zu>4PZ!K*}>QGA@t6T9%6g-|9NYt@LF)DQ}6dy@Oe7z=xnY^ri-ZW0&RC|y>I>D#6( z1x4aGdc!bG_WU6z8Gl4U`%w{*9;Rd}e*MPb|>oKG8YMNl4we_IT5IW$Mu!_YNp z$B$y9TLZ)^eg0>x06brCHzXJtKjE_s`YiEKpLWQ8xu~mKnvSS71?+Jp(m{BtL~F}2 z(?mg`TyiXnG4w=5-oGd+m?f5*NTQG(=XppYgd+?B-+AR@C>XaO^bvXmfvkqGTJA#c z=r^~y9OANsp+Nf(p6lptnIqa z{kmLp@S2ufm0LawtEzBQQ1_*(=BIKstxJWQN|mabWqixYo9;K?moZazjrW&_xZmEp zQ!mq5>~=d{MkkX>U%c-OKvOAt8+`#^CkHg}y)6Mlc5U|rIG-4CYYaJ+AYhvPM8c)< z#M2Nm#5q;y02Z2T025||WGgWz^9JUx_2ObJnb!2eFuAha5d(SX(C% z(&FHiM;t>XT5)>Vk!FWZm7zbyLm!EPL6;6%W=SJ;#lIhI`J!FjM#EF1>6`<{HG)+; zdrSlrBPP@Q;B+f#o(l<=}hzb ze$)AhX+V}a%C)w$`G8H3s{@J1OUewhJMv2^K4}Z9p^PT?-E!B%w`XxhAmSE z5krekYKO_amDXdSrTlM8noTNMKl6^RgWIQDdX9~@^(<%>2eVQ(*~|>;X}FWk0nh%@ zkSxv>>M3(ChW(w6uUmo46>=w5hd2s`Q`*g)GyVKfNvabccj2e?!QTVO)ROIyKJCtE zjrMG1aqa%O6gZjVgKx=zO_0?vqKCg#wK>u%Q`4v@c6%DqufvO{;t1MNZ^oRcr1rLe zC>-WH0S6QecB_L_=`{-5X4*IF*guW5Z%r~Ej3JwCZQG%<5!}@Wvh{HV1RBF}!*ZA% zlhnS{z9VznYz}d2vvb|(LhK&%c_@%=ZLmyhDm=8lGmBorC~=ypwk)IhHuve@8iF|HA~}Xf*vSRP{S>d@R2zlX zgReAgp7G(@?~E&}^ug2NTAKr^JC;`d!Qn>fQ+BqyZ1>zK40Uc@x{LDNT^$7l9hDwFGAfIbVAX<{s^Kh{DFDx&t zE>>1TI!!_@6@nw-Kai$8F^TB*_=3#K?3`L5xPQ>%0o=UA;{DOf+^Uk?ag@9|oT?ga zyfpHMk6lu*rcF{V>VF8dfVGlH%Z4`%++6*(Zv`{Q7g&8JG$?c7?q=C2|NQnJAn3`} zS;KdeWIMafEsKE4!H_h+^5CmU&B-iKYISq&-P^g?KDSwJ1DBfHIJbJ`^yBj<=&(A+ z9a`z|n&ADrCV|m3>>o=)Ggr_|gJh_c`E5v4guU*AX_;R}V@c!o&E;Lo_pS1PV&1rR zboVz%79N-3w?lJDL%XeA6$(steDv6+@wWxFaphoY8-3>}HzfavljGxisAh%q{>-mR zc{D?zGiYOCg}yf7%L~&qY^!7W`(6X!9~c^Pgi%C9raHWp%owXuJn|7wOf`)duZrLbSiacL=KkW%@8y`8mwPf_hjVk13 zr+%YzM^35g_HPciw35B%#hS#Cnf=xo6WOjF+?2LwYi(y)R_hZXm(rolLyZB?j{In6 z_wPN!hNM`F%dti#MTqHFupGQ#qrw;XdN%62`|5Y451446TXHk9xpypW=7 z)%@AW`IiDUv8!+_D<#~bl+Fd1n6alEn6h=*v7Db{+9AXn$}jG!C^%)Rcm6EDaDjvof`LU@B{+3_HD6%!IDUvoqJ;{wIRg+=SwnT^dURZy{{#VG2rEG@XW z&n2epOjC^Fk8HhFlda1p(dk$-ckjT&2m*P7T)A}AVHgtmf z{^@kM=yg1$CD`36CE;Ac@2UF;ESZcrZ?G`?)hzAyQkh0c1#eY2nU&*L##sA0$-5R3 z8JL)7ccHpA!gj;40z%dHb)%b0SB#tyg+s3LpC&FsDlVWIT4)raST!;lnp7gu>nv%1 zd;|2(_mm=|up2?|KFSce`hB;T6KVCf<<$fb2>IDQqi0(0{1|tE6U<{Rl8g*zv-|u@ z1AX@`lFPOb&=N(0=r{aP@PvlUc-EzbuBUjjPE>I?eX0@)OBY==<$eQl0##hA8wO<# zgxNnV%T>E$gIRpT1)$QHBuVjEW9_s*;gQTq#y4)PU0&wKGHhiFa5{77suNYQIY7L8 zsx}8wbFr9sDq^z64JdVDTAoWWs&QFkI)74aX3ZXzAgWg({rm%Eggr2}F z#4k4#6jqwj4U?RsJ<(WJRrDX;x6m{ndWb0}t;Zm9CK`nklCe+pe17;ix} z;zb;s1aNxPE2vaY^K<|{M)}E+F*5=*uA~&fXe@pfsx@+eiBmPJ@sNK@rWHKct+kbS z!FmRcdE#2`{UpwF=;(g^%y(a*HMA5(E=4A*n@V5fqmeXVQ>tVAxUqnZcK{hD)0_JW=M_35s&@MxwGI zz@N4x4uj+Z9K1x?hmgmfA(L7vo+%!X?D3T8wFN9-Lg)^1u|&ysg>;xONzuN)!`h_bbWUwz#NL4XOSLcs$E1*?;p$6yyFPXPvYhsRV zU8sfXSUh(603Gk|Z9brN5|2waa(DF@i#Fh9jM=3tFIg{lxaH8=BNi}gV#6i3l90xG zF_zwf5)-&--x;f>K;$;@!0HhI=%t}wItH|BC1IT38@}=C=n~T}liuBddSn3T)6~rG zC3SSkYFCaCk6AmqQq4NWelH)nbad(N15|IFBe~A-1#fqqyhizr!JG~Jy4uiUYA}{ zcL&@!AAZo0Yd8|ZBqYmQK7imr#65kLJ1siq!hNHtrk+*sbdoO~gxA%LsZkRs~ zB!O|?%?O-U96+VP6;Yfq>q*LF&LINh=IqVh}T4qn>KxF9#xjl zdx_ z%DWKnXtIy%EUG)VrKKe}&s4J-^Wx;n%2Ho&q+fbkthr?^SWTLtXe#@W&Mq+>X)U$G*Shf@g<50{15k)om`br`lcKTdKdRfBq;KL@GT9Kd&;s9``1$CW zFZ-}4O_;)?div0ca)~eNxZX5pXD2T=HAtvT^q)8mI;(pusL5%F9*O7}y){H^0fUx( zR0(v0#3*FV5@6J_Wpd)NSn7yx?SszD^~E15gMYLSogUxX2ZLUDwk=Bz%ZJYXb*lJp z1fd&fp+a>C4!+C>~F1Wp(Wop0LYBsM++ z>UKe4&RJE=2#qJM(pK9vp7nXTldDpno^^xLR!jGqewli`($<%=V74%h=);@Vwj~*7 zOQmCT{Py#02+p)?j^WnvQ7!yd!jXwEKT=2%wr&uDS-!3bz(V(_u5t$6QiDb86{fg6 z&j8k$qf@6Eu}2oeuSWTtl(B?PYjbIc01_c&;#b&OtaJ7iW(Vv8Lk|J^sEf&nNL=T( z6|I z8?&k^X{;`&E&rPAUIejWYu=LS>Ds)*uC%Z<`^EH!Yq^m1bi}|btI&3artR5*Zcf4b z1sV}{2V7CeJ^z*Z{&e2DIH(fkx4@`~@6bB(`T?OnO&u7DRRO1GSN?e=l0zqu_9u88 zBUdD#h-sgY1Z6_4CT$muu=9`!c?g@Hj^O;h+*}@O9cG04Qo{hOtW*Mg{76Feis4n*Q zt8(97d4da@r3Z;-^~PXsyI)oRvuA7Ta%;>m<~5dcOXoy1Mzzeo+!8kTx3fV!yzDB) zg9z8{iJ!Z$M}c*5M9@prvOjY`%AJ_wrTiSI^LJn08m3)|iQ?ThwM}inYE*O-Eae6L^k| zEJ6T>%}wMA%bS~Gi)LPJ62F88xoc+zSacQ-$t)ZyPCE3IXhZD$(380ywh+RO+eTk& zifmk2!azz$=KBEZXZ%9}l#@MAIuL?1q(37A4D%dJI9nxjy6DqXTL->UZNZ1C z(VkIOb(V@lg%^*}eep~!ummO-e~~Z9mszI6#KGBY|4RG=^UrjDI}9KCsmMlL(XKab z+!Dr|9TC3VEwZIna8!l1U^6%&@OecV50Ik~LGhEopYF<0#V5Hgu$1X|=rRLvBdoSI zIGS@0{P_x|bLAi8hniB7h=F9l3Dfbwbdh6Fp!1{y@~i-gfvFXki@~GVpP2((RmF%+ zi9zx6Qpq=vR_8=@(CT`Lus1kg1i@3fhPuxKb%~(y%dqQ@W9K2-o<~mu_L-`DGFAB) zqCYqie|piQrY7TtDgbpeWEL>O#h94m3LRQZ5&x0dqY`HgF^Ly4p0mzfcGqa!i5@Wufv-OVm2_FTAGcN{-DkLBbn(gBiypp zK;2+TF;~mhrOE-v64Ka93Wm~%Fi?zBkltqqN=s_r0BnlH5z>#NUpmlzBAQ8MgdDFn zAfpZ2zvM&O;+-z~r4+Iu`A|v_h()^(sedAx=&r#xby2KGfV&9mBw21E3w825P#?@- zXS5+?za=^z6XV0si!l)~6ew=waY&>t-c;zAEwKQ)299FDE*%!7&!{cUeT%G)m?i+L z4a~hK*#`70wA&tj3v_klY|B^3R9(!TYwTP^6#;*#8G@=>&2m zEh}{~pE6Nmn0^M3N;km>exRgEh7(Zb86zLqay9g1`)p)6avaGzs5a!_p65a~&iL;w zu!lYL@<6Qu{NK_0&du!|V+5e-SJMVhrZW;Xs^8~*o#HjV*g}Ncr17Cvx57z%-UG>7 zsfesE--ZX&&uzxa6m*3e7HfTGvDuO2@~xy`$s`FAn_!qMxKcx^j15SNp~ZCqp;6=l zqX_#(0AtREJJ$<&0m_M)Poc*0uo5Rjur*t;@NtiTNzl7WghlIwA-d<&CkInED8~BM zDFsqO(p@sJu(;S^#3LD*BQ=u6$RZr^kvfY$hMF37;P;MoTY6;Z;X=8!wmwx84~)!1 z6Nn9>F}fyxK&cN)9yr#c<2A_TV?D_NOw&NL;H3eRS(Dz%B6VyUW?oG)siDdIX&@D7Zq! zkm`MUqB)%)M$3E)Ch({Mx9i-}=m4$rqE<{f#{T&c7PEP@!kR?9%DSA9NBS=cK{qt$ zAUX(-bCRKk(g2}B06buT1)d7czXY2lhihkmv zQMURLEjGQ3!freu!|E$#}Tx9AQ*x>Oz@2V$TTS$4w$()aY>YZV6j;s*K$v>6)kptN3@` z@x5cr#6e=xF!=bzI$*~OENNLUVn;5{fNWhN&TdIZPhJ&H8yV^{rGw)~i1G7jqN66( z`fOPl;<8o=h#PM!PMg7N@*4_8yAiAq(ySBieo@4nAc)G4J(dQXzlTk)-I#w_s7EZU z2pg=-Taoth+(RXL7PBYSle}FesKlIn2%iPW*%NpjMNip4ILO@dhMs`wM#JI}3FcQm zNlkN&NFH#bc8M1CX`zP`-%z>sGu%_DgeepZ5hyZ2H>tAMyAlR*x)C)!3);cFmQ8J9 zXXxY3fV?G({6r&f!83~ehNfH$r?e%&M=}q1vO;+wXIW3RtRkIA5jQQvo!0oC%;5tr z%N!cs-QYeFK0pW)y0e=Pc(yXc6KiP4=W&t6NY}Zzz-;ak-!o6{;U(_*NykYTAQ&S^ zXDJ3Z^%61m+@=HA(-Ywkr;yw_6OZcn&dx$qZDU~+uE~?*11$8#w5GsDpE15A9D3oM z$ma!{KeSs4!fZ>z%0|zL$O3{c_Rodg*>#h}J#Cc`8;cg4DCUHwN+piwevgNEAvtJsp^+qiU;Yt*3N(38O1m6i=?vt@xmArlk zA6zjFWmttbN<}Q<(9c8!MJ-AN`}wD39D$Z{P^2G)HF7vfWMiUPsQD$t7CHb$Stuq+ z6e|&?1)G);mO@Dx4RH|>uRyzVnoJ|rZ)jAjk)m6r5vk@OTiFsgzX)PPv8L?~N4Y>a zFeHiQiW%ncH>uYa8`Mf#)3st6;@O6~NC{d=P`$;k++Pf>I7U^J3>Fb@CyGm9%mu%I;-MsSj;>(`b_|^4B#DQX< z8*527CSkR0GJ8R)pH|DmUghmBFrz!y@T|aAEk7#=V>%1L0dYjTwH%EC2@caU!+cXPneFkc6F@cIy80PP_XCi1z@x=>C0pqmLyEn{!_9j+g7 zQ^+2k?ztHU7WS{c9Mm&%8OEB!ZbDK~MW5<@@J|nAF1DZKY=XdS3O}3B$@jS^ho2Y_ z*?)rD1~(^@+2kvmQIK(AD6}||u?-SAD-O-U5Gb^LfrtD7;bsT}`N%*$NGpPr8vyXc z5I@O2?ysYs`XaXOz0}7%Ys*_K;uMb)Ewu5XE=CuZj|R*4k+r1>HV8J%nH{<$m&Fv? z_+abG&0*3~=-LvR<2o=y+L7L7~aii;gy&K&uI%dIW(urk}wV0QA5HRiLD0 zN+8(tR$PuUV2+R{;n2MiABMbs7VsH;2AzPeW*8?XR375UY%I~(%qkDma3I?v9y`b> zimcWjv>3wCb^^KY2yuDHN+4p=ZOCC?DVGvxK{96i1WpY3w_e;!vXAd0N~#e4`4pgRlyv4u__L1Q?SiNrZ~F&Jd} zg~x&^HmDT+*}5vj59UUAEKdU6hB9t`U6m(Lu@nb(#eMIq?HZ^yXnYSqE47V-fJa2C z$~KjWsN)AmJOm~Gn?cwU00&R-9?9(SiM*pvlEc0%eDI!HN21Q@qB2BLyt$YnH+OaJ zI(-YhQZ6^9TmznQg;ITl!Zc2C2A)C16--$|h8kvp1YD!`Y*uhlnm@Ee@u z)2|(lI&Rv~Ol_q1$JQV`q`n{2Z`OQJqPAK8--rVALasUB&OZc+&X{>*Pioe9(nlFR zQP#{)Wf{-#d`QH zap3^utCH>qX^ii$hjFqC{U8a~R0i`PbnCn!bUP(#(eOblao#=>bo;(!!NbKlQ^@CT zKp-u*Mur6Nn*7?qeM*JY=eqX4q-^fZ^&W?BlCdjZJ0rJ`*Gms-?Sr{z*Scj}3uqnm zaEH7a_@4CI65F{St;6sGX+6}rMg4^98TzJPf`A;|r5JuzIC==jMyq-D4gIoQ2`$qbEOrH6-t$L_d@= zg#DDg8Xi0_eGl5GAV?hbU^=kik8|IE(6;d0STwgDT(m87-Zwb5cuCA?*Y()o4mWyk z7dg7o9LQDOGW_jU)u#HU7%Y7!bSy=N8ZMPgFB4XO0CFrf-Wq{7k)~-7drPgC2~9IZ zek|p(Mr=xjmSja%AjV&?_MCZO6B@kz;FsGd9M5#F{B!y`D-Ovs3z zCvRDov^l0q01SCVDh9^T^;Yzn?xEleeCrMDDu>t~^}zJ7Pu6*IShJCV*n3Er0k;iU zm_v_DyjJDjg}IZMoGe+qI%@usm$X5Giv-e3cyNSq924!Uhl!FNta7bMVkpBn3f_D2 zXfFY8hun|T&>(UTV%VWQ*7=+O=R~F88-6PP(33?%+_O4T(xbroOgJcEr&RPrnYg8k zOxhv8_6x)P=tL#x7MtJ58yoLM1bzo<*$*>D*$sHOBiTS2iI~M|I>2l4!ylyxzo4d6 z(;UWd=_JuLX8!~cqoi-a@r#h7#%RxC*{$rFwta72pbyPe{4+eaDA`Mk8pm7oXhnKG zYL?OGzv`jL_MaAwCaS-X9tMWjDJg1Jqj6H&Kd0LxICO}9e?zq0kdnx znRVOn+SjqoGhEtb-ux22zG=+yNb|kX^XitQ*xiQ2R`W_}_e)Eg8Fqn?J>hOGCwa~H zdlFJPp0B7(1Y$LALk{GBpi2+^67aZc5A+2}q)Dk!;?Qll-rI5OQ)|pQazvpYUSam2i@j<}r#{J^6tpe_T*W^BORJ~i6*kX z_h}CzDye;Qjp85cq)$k`)`=YhT_ZVK*n$dfK*x_iN~gP|_T>yJ^+}tGWZa1-BWx`B z9k8@!#7x-NOX=hxe3?Z1#U}(GNwlX*j{gd8bENL;-6}nd%tIu*B;qYk#7_fRAEf^f55v7LQ?oKN^hzV9rP9Fd0>& zmF7U|<9#8TmV&8=m=r4VvFjs!MK`$`YXq}V17ukX@DAYa@EWg^#x`e#kN-W8^e<4+ zo+ddEkg@K6g_ivno`ipyTKiu-2{q}^?*DiazTC*iy)wFfVhWOyCiutyf2_S@kS9^Q z?b&79wr#uqW!tuGblJ9TciFaW+je#Jt@oT8F%vN{CvL<{e#_XAnICdx=97Cr>$hak zF#(9AmW(*$u7BdO0v!D%@yGj2$Y*3oH5#m{)U2CT9RXEpSk}7r7sZGG&{yA@&z+6w z6?!Y}s0HU;+VztenTK(R(;n~J_EYy8w;Qb7Z?jkYU()MNDA{WiKe!g~t4UFA{FJ-& zhzVb29b|kCp%Ij>M@cOCaSyGL{OFn=OtT?(Zi-`WG>oYZ@u3pbYz8CD>|~qL2s@U# zq(^@+mxtnrD|5?ao8pKpvt5E?RWu&6U7BN9G>_>PopD)knoPX`0Y!Iqi25D%KQGw< zds&U(RkE)B&fVm_!((maos(l8oyTq3tA1~tE{1&&6tz8(n^AEcpQ&cQ(c#;4{R3tC?}_2vwzuf0UgvuR`tR}K-nKWL0gSFMrGZ}0cLJz?Y=&?> z2Pyv~Ir}E-$b1GTgGez+M=)jn^4s^Gz_hUn49aYZJ;N?@BRaI#$X52Y02SbnaxyROwMl~MR$j)$RpB(J%iTP60+bozGF`vqG_XXkq8(P$5D<_fi1r7GKShtgl?9i9 z^A4zP^}4miv7|z_r>3YNfm}eK-7|DSC3|jLjn}J7_xky{0w^>I8Quo3gr`}fsiUT- zWTl@F6BlBz-UFHc+zXrR>1>gJA1Mtj?)k!kENzirUAD>>MuX=-RFmF+;s3Ai}Q zHSe{bn6mL>gDfjX1kPf=Qr;vAxPnkh#`?k*HeROW^gIyx4u4@C{K%8_YTQ{>5Xr|9{_^bIB28sY zndQc%wQWpUZ5%t7vFz7mjom#wXt{FBGWTYzyF<4`k#lhZzbp_zO?cLh;=-7d%TmjR zZ8QA#jYOKW3`Xm2otyij)qE0K=ObTct31qGi$)foA06W`L}UB%&RPDRfVN3WfrJdK zc#xc3Y=IN9CJ-EpTj$5v8|WrnE&uePyCNa^ z*(L~TCsp3!B2feurp*sJzAP1WIoheZ#<^%^7>c~py>GQ-KBSn3N!`YXiJ)o^HCxJl zBG^T_|0nFBpIfrmg6)8!#7$klR~v>0OI87DCK_7W_}m4=gS6uLT}8`YGmiR+altt6 z2lyXCW<_92A5=itpX!806%hxw1GJGbFJ=lZU3r;bFJqRdkvf2yT2pUn!(9?|?|6tF zufu_hDPdO~f3KB>G$WYaS6&_11gKdNr%+~y2ctzZby!JQxt znLaK|uZ!#3ccc-4U!3!lQCst&hd(p|!hmU~+%HUqfx$4c_2^*@paSjf=>BS159g))wA$?h(Qg~OQwfsO);=Cg3@&{7?m_qYJdMB}bQ!8y@ zuH#PZ`B?QyzZ$2S9+VvSPDTF(VKo6{?{I$H-}qu5inw;4%x?Rdx?YaOspHce0O@1hriT5ZiTWlCvQ zMhKkGWT(H>!9k>su^+`~#-6?0we3`WXgBx&{*KBZ&pw%_!P+>M!;G|M; zOO%9bIQo6Ej6dlsqhcL#Lghu4SxJf19bRxH;o6jus$ogIpfM%Fo&5_F_6w`{fwU6Kff+h}L|?{=D@F^K zaRDP=}ed-Wg|TmPUWNsq8mw= zN%5V)6Z71J*SPEktu?zKjtiG%Z$NC}V59qpV|A9Um%!4@67x@^5o88Y`bx@e^t;J| zYwAF>X@`L4J`X(%gr8CVbk1Wgen|>?XPqW#KYnhcG`c;+8D^UUO(G zvhk3)49>Wt(EyUmF++C92A#1t&Ka3;mh8myO-Sb?I{49s$gJx3yGVB4Z%-g5hM~9v z=4q%5yrCwTbd3E2&?y3xN92CL8JRI1@u_Fv6ZyoO(~>sYfh&lA|J?Ew%uk$77|pn( zCqv^YjPjznj%ds=F7HbiN9c#-&*hl^UOIg+$37G~L}RGOW2i%SagvfTs5}%tYTp@U z^+l~yc@`vK;Piko)DA2+D90CQL+1s48BRH-!WR(I`;z1Y$_6Ss#K>Xf1X@RU=KR)7 zk3T0WRqyNKr*iK6t(hGE!)*}k>ms6h6a#vk3!a)D!bN5D&rSAB`pv~b^hj%DhsJ0x zH_-*?qm>)u4NE_TPVbeN=u+*=PK)>CXJSBPw3nXPA~KkfAL|NF$AC%iFP_>2n;JxB zW*|E;1wLU&V!lOW#2_`%lbfOeozf>W-Jvp|ml^BIOkagecmLU?Gf4dzm7lr>KH-zh z;BmCyQg3D5ukuD=vPWn1kNHGqyrnn+fed-PXfltGWQcK`W~5D4Ph02Y33h61feQl(+Ja=`j;fU)Vza`J8eFbjJv_OzY5I z=;E1VO+SiukAi0`^6D>bqME3l42pJ73#pmt5nlYYLxh-y0d$Xo-50crE?L7E^|rHa zX)7@KscQ*az#X7Fw@4Jw1-}r^u*qjx_{&1#5v>KCG0!5xxd%J=AiA10N*LNgUIwO{ z=W@;aO$9vn*I84)g~%>4TzPBAIYF2}Z@;73)S!OF7TmR@4#*;ah1a+k+UL`B2GyR> zcVx=X9s7WZyn*)ipRNHoJUFr<4A~J7{s26}mkkkk;1L=Z>(korAbD^;*Fx52TMiZ7 zaPW;g?>RT)DAsU15`DwV*3vvO@rGDJb$G2Q2b@F6Ja!a9Fkr7e=J$rA!4dS>ZANH9 zrSB>Yar9WWLRR63x(q$=?XmSnwL|6aTlQhPjHgCAM|iu;b)sKmChr60L*t@t-!u?} z*-+`-=i|PJ9=Kw7<9rf!=UZ@KU*kvY@Ks{0iTkD4*^My~V&T=i2oTf|<^^a@aDS@? zmJ}cTLWS~%H%JLaOGyC~eWPM5?$#+hp$)T(kdE-lC(>Fv z|5VOX{l8<+JdEvajYKRAom@zn{@Z^N^MAPm!B$f4*$iB&aV$B;1iNfA=cvhLsd1DP zcej_CGL$-{wkp18;spuu-+;bw_;Zm~HQ7}G%AbgzdZ*ck&UM!W{=L2scfgxqCJI!< zQO(3^_mpwZxRqQsj3%zTag{uD!PLsZ#m>&f4CFkBp5M&O8bESTV2vc)=*DfKEC|1>=X0Vywj{S%`!!htHx?W?aIDk4gO;UeDev- z=p@=7$_e`=#xI&$XMUImX3CYL-;9)_ZAG1adLY)-9uT2ZG1p8Cu^s-G_QdN72FZSW zfxiEvFYy0Nd;c2;5u^NHI0!xz9!LDp;)0M=^NrHIVg!hxQmbVE31Z3uDpmPs1Pf^` zuDmIa>KjeGM+BJBv^ddC8#n-HTyw3*{UqCYw)^n?{c_X&*X%rXU!NF~rwuw)CC(ak zVd$tQFOvb51>;d+0?vvyY!)6%N{>8 ze$Vk=>O+dhhy!)_(4GKwQ#$-50)pmqKYO%5Ml8kwDfi1G75QY2Pa_WBA+xGWdP)yF zVBEe#ioo!8LgqXusXA$5-Tch06eaQ7=gEZ~pQs2Ib27-cG{WH_ho;P=G+Z6RSHrTh ze3n^b#QLK|_Vh^0=nHN=?}xRb42ESlH2m*Qf*;FM3oLUf^7;0>0%Yav%OZBmQ516} zuSLs68@7Z0SCz_AJmtbURX-?J{uwBig;h!WU#RN#N3aZpWHX1P9WLO2V};T-H#iY6 zRl?Y0+^8aL4f4=fv@JQ4S1NVy;}dbEzp&R3PjzE6(l`xGo^Z0oST_c22@U5}FMp&? z{^D{8h|GMG)$Q8}@5qj6v2n=LO(`@7S03s`cf>*5zY^gOSFu$aM-VSpBellv{^#{q z-IV-5`y;`E{~sjyzo8K^O0xEgf{4C2JdOt)tZ>JTmXekm8$x@~Z2_D^z!gfA5;aa| zw%4=~G^5(5le!m1NFRHB-#>lwVcvwDnrn=VOou4l`ey5!+DU7s4K;vgv z6siu#28@EcVNtJB%4~+gcJeVfiu1~ul5Wc@b70<+O6$tYfpER>9d{GIT{6Nqa==2o zAiuGc&E|XmNN&Z;kT#aWSf8|PD~@vEZ2Y&lZ*K4eLtw{6SU-29ae@buyt2^E&VkW2 z#*&_;l++s5pcJP5110XA3@j$AHk%PFUL-EwZ-yqa&B0?DII&Ttc{vsYrA@qmDq5WXvIMuldD!2mEE_(AGC zlLr+UmN-;0*1u#=Oq`X_x}U|wt_;YYM2T08n<>nNW1|DN56K&wn&}DqGyb|?$I3av z-vdglDBCmo>qkO_N*l!@UIBkiQwPtB0M?oXaHh{4*od0kzHI6F7^IhwWEL*9F1bDs zm#qHzPbpi-v>)n_pe+%qf3!Imw}kP==u%>jSGci<<{WWw02`++m7P|nIBW72k6c-v za+l!BN5zKwcKz-!ewz2aQwgnRW5@nS-fjBvdFUoJ1+&Vn=H*&K%Xft0d_!jZx#TVN zVyW1QT&t1R{}Gneq7xnPkFZWb{=a`$|2Gce|0b+N?99*yRp4S$+e1Q!axV~~1ju5k z0z$Ckxy=zxT=f~dh8*hu`m(}*{qjRKT4AGv4m&cqox1X7c{Dp+y(JI;!Y$Ah#($ll z-1Ea?TZ&q1zUvbXDu|Z}Y+E<9cp9F{aloolXum!Ep^+#eck;2lF1ai%?kEQez?j7I znsZvz1PHi>!kWp)fDM`n#2=Wj<3*g|5rm*tyrhf{62$>un+qww4jK?hQx)os9csjP zwsvSdhHp$xOG5FOu0bAwAp|kW52g28oQu)wlj`=94Z2O9=iS5Hgz9|UWX)&XHF3gm z?khLIVv;Hn{?JDttk69VRP%YZwW_~0iX@Mu&qJumpR5yPmezz9NAO>4H7GYI_xr?P z;4Lu-%y@Aj{i#hJgg*+@)-^;(gNmf*pTmoXZaj-;0LeZsol+sFo>}j@_{wpeG%U-qq->mPpY>6uGva>pahdf7g#!pp!QJ^ zg+K}m0k9tV%T^@Mf}Yze>l;Yz>Cx+uq8+1eybeX4@Xx z;d=WRY$4w=z5Cl>r#QLne&GuM^X5;8%yn#GX+w?7$=v+qlzXqSi%?n1_v##P|$13LViBjQ~V9 z_J0rbua(I3L|ew0TL{BTDB7VU4WriHWPy+?=7Lxn{UjpKhOppqL}X0W5<^TGu^&zo z{f%fpX=kgv`E8w|GsQC7O}L&?&b;i2z0gtM`qq37tlZiuGcIqtWH+u=NgleBXgAPM1AV~B59tPs(AwP{FK5w0*b zNs>rg(ll^-AI(9cZv(H;2E)7OW?uqHTxoI$gOSk?Dp=_Jovd{CPZ#yO+@5+d{$BC2-3yl{nayRcdr~6;@iJ z{MFEgb3VNcm`?A)lR7*29Kvp(){3sv0|43JKgFfBX5;hg{HX+T{IzLUxmyT8UK_r(3i7|l@Hy|oL9DjC0uui=B)<58_8 z@=Lr@z^A35?tdToXpT&&*5=0dQVrlE6p+PP;I^7igZ(3)) z{)B;WcFA!+1W?VG2qy9t5mjx8zqED5+`Q1YGN_zezdn4ANiLPw=iFr`nn^@UMqstA zF2pkxw+*fGQDck);{=vt*$WMwTJ-$Hd@wENWPrJ8u8_mKBe zckW1zL6F|YG-AfpWx1^&m)00nbS-pucoYxcQ~Pv97suw9Tx1T#*y&m}L=6m-xPEqecX(1f8#A)?u>VsUF|Ok4JA4c_OQQL) zq>*5-?CwhS5LT@mIWs-PIGY5k7Bfh41edHo7SVE?Nb!A{TLGxPMEv zhDaD!RFyK%=kk#=6=y_07gx#jD-G#P1>ds$IO|uGHFOCIv+j;f!Lx)SF>UHB8p6J$ zls!kx%z)P0nyDsXQBAS8d<70WIdN}>)71F9KPpJ zY%@#VV$Of2+-O!c6STGtd_(_Ft968lL}_0W{O?A%0U1rn@}YHEi~*}!J4sDYAfN8D zZHitUe=@swN{fyOlGpFz6`jlHOyTBo<9fzFViE9;WSBvG0|~gA+dGe!)|WVAbJ2|g zK64Ff(#kQwl}e&`gzyG~6{~WGMuq7E`_m`+ahO>{kcANC%C+|8m8Db&O0$2*T&$II zMWm1fQzH9Z}a`Goakwonr4SSx&dN%DD>Ok4vsNEp)F zblKIC?5WRiaz)q7-OC}Ik049$CYbt&YGx*i>@c6^^x+&U^~AEp;27f_)aUeB+BJTd zanoxFxbzjm;Dd?U>YczHI8AO?JYyTCHUyhm-|P;oB3qWP4fDZU+c8=_dq&*B04OQJ zEEcZI<=T92KqEXY#VYMe68J(mzxqNrr$5~#x62zhHJ3^VBTMuC1EGTj>t)POet|=mC3lH1&4Z z)-Ko79+WRucub&bVRZBPWTMGu$na>{FU?*XQF#6`_R*#Z*d`c={^l-wY)8B7 zCKd|mI60%(l!=@txc+OQ`Ye~{t$W|JcA*mG5r3JDV{&Ri_p8$ zA&QM)%cpcsFCWIlDpu2Z@mB90pQ+ygkt$;$M~K8k%lB7s#zbkN-}eynBN7lt<2w{W zo8_x0><@%45c4YyjUJ$Yg&EWme@D21g*hsQlc3&H#j4eZM;YM?@g&IIDKLt*k0QI5 z5AI@5F-Oh*agAJ+F#;G0tM1Y|BesL>HUy;sSh}Gqym(q*smih z(PkSng!yT zNSQSDsHwfk!Z9Icl>Xc+;aJ#8`3>Q0lhnWkRoysvAE{y~(Ckb}`1k;4}$f+a| zI;V8vYi9ifFek`n_}SEuC#-}R8dNT&SS6DL+-Xc>)b==9wIdD9#F$l-2~GgFNkyRg zUJA5YVsY1T1F zfI({yr(tsn2z=KtNPwVrYN(D;*H+P}9V7dLXqX2y-Rl8u-6+@3q#d21w%7NcfrEmqXk*f(DBt zMsi?lo-Ys_M%wDsV5c}l%#x>mK-@5RPypbE!q7RD5F?~jSqzrqZq)NjgkRoy0r2~G z4jo!5RdsY^#mIF*$Cv*A5^AccIT)^!dvVDU*O5Vpa zQ9pb$*|p!Th{@P1^ga++0{61-#oK;j)Rup^+;-Gd-A8O+H`EvvhBU#D|&Lemc^h)9EU~TU@mc=EZx4?Cr zK_%}wj^$!O%{(E6=@p|l=|0tne%ejKq(3w?P=mzI^;$c-m{9NBJKpX5d#Z5yS#S4B z$^GiEAybOnGh3M)s*U%Es#A6Fs}3z{Pk->{{7<+D$r zJG${>iyrVI95bfNF%3Pwk9pe`E-hbOD|pOYu76P~x~E&==!3y?hI%3_{*}6#W_?Y6 zpP0TZ(Ij`_`&udI#}TLRB&X=Mw$A_R+&SIO&!|h#yIWZwuHak$y(%)wZ@-!RP{b+5 zW(aIjp{VUPpq~(WL>LvTvz5%LwAUXwv7|RW=;EQ&nPdaIthqI4mxDZDr?uu;A+Pp0 zWy{C!Dvp#2HroRQV#*eXuiB<9*WYjZ3NPWgvup-vo~|%+8evu&^a^|_bDA767m*!0eYen;I&iImQO>PaIx?5bO0ai= z*`Um)fs((m6S2o^2zEyVH$(1s&{YUh&$eCORfX<#`{YGVW@tk#G3G>NC1^BPSJ8xr5-*X(`s7(_OwUzhL%)2U7Rh!IIKCW4n$ z;pu)lab{`FH|%`P)^q;l;{wii?$%GI?;=G0X)VdpI+x9;aj`NCvP?%Sxqk<#3>g!V z;iI~|hr4y8GGdiErE5oqY|$+cfVr$zeRm$L?ss@|_)s^AM%!#qs zhvA<6_PL9nt^tB@84$f2U_Aq-cr)OCGlas0o7~6LfE!&1KZLw|E01u)M!7DIm?^cK zVPgF;uE($u<30R5+=`W&D%t9jUWP6wa+r-+kx*OWAdgVAD}6G+qs$&?GD?mdcBN3v zfv3rN@&RWd?J5<;6TCHlVx}xP=%}s&se!Cq zagJ^St(uj3(9q}1Js4<6cbl| z@+QB8f1nU49KWRHN<9p|cG^>9?pr8;Nd&`;=CZLbB(Fp(&gk(O*LqQNC?66#A!) zI`OCDOEe`+GAyc(9?86Y#x8rjNW;9l2Dx$59*_xU3;=5j3N*Y-6#&hF>Jw_k**TDk zOL;-zF?YMr;kam~=QsiqB9c1EJMH;iJ7r=JY+}&InWX{&AKpq{E<2VNH)}wy9wA@1 zgqIhWDqoFEW!d1t^Aq*?c{9*c6LUkZ8u|Pp{z5;_zs6j6j+Pr6>}k&R>dft8_BE&~ zw*jPkWsj_vQyxWan$5MeDp;*YS1r%^CO5@ua45(gi1s@_)PCNeJ*2Zpl5+Y3dX1QT zrEM^}K6yEIuhKGwHe&Vl*;6l&1*~L@+#&0ySV)?^>h4)uS9y~cIv8}o8eMv%J94{g zkaBKkkSj?SD{GPs#6Gj1EsZsTm48QsS|&N+Qo|XHt4n{R6ssNnLORkO>$IwIs1t|d zGD71b8;XTMB>PgHIkgUC-74}si$qE#4o)hjCYg8B(Par#e26-}bx<(^tyNB0C%3fC z6$(|IH~t`2uDZ>&4Il4RmoOH}izV#p%s)Bb>_Xz2#%RAaX4Auz@bJ{(>Bc7 zL9I5lG=)M%h*v|t;Z5m%SDW7m^+-KszyAuf!M-RxSr4LdrVH2aqsqmWP}&2BNV8Bz zX2{Nqv*iraxwyF%Wqm1w*yW>y%U+0c)AfWU-Gf4JN$tzFfy)mi_4T8pwpa(sjVO;j zEsXukj`SH#3h?8NAw-!r1uQv&=! z{)s6N9k0(G4ui%NBOWMr1?LmD#XY%D3H|)st%cw~QHQSXgLg&eBfB253XSO935SAJ zqi>Ot6(0HjT7GaJi+4WOoA~#5;6?He^A>?o@(Yie&O!3Lj`3doh5aka*SEKB32!?7 zUV9(=#h}~a8ohq*v?Dyi!d!+zW9|pO6@;smA8w6h)Rs!rP^L}3>#7%^j!o4%GNB{p z{rMpQTfsG|keK{Qy;VK3q>kem$N3%+i3)Sl1`S1iTi&|Z(( z5aSDviVRzwgbc?6HM+z(lnXV%V$f37o=}m?nwn{dp&#d- zT=xqWvA5CJ_C2Lq<4)d{jcLKZv|ABy=|i+WVcQ()pF4cx*>Xa|;Z|v<`?zSfEU&F9 zVB5HPwc=J*_;EgkRBYg+6B3#>^TgB0lEc;R(8;oTHzNXfYs1my9I&4Q19!{2z`vlk zCMVZ1$7Ke}b4uJP99;84Y_xaeJ;P)E0C%jrIJym@oz*(9-K6YfxG8tGY;koqH8r&b z)M>`u^l>9+PNfepbD9`;JjvH)v2;91l=xhuxf(7;e7H25{=}FQGO#N^A={KZUEp^?N43uF`5l{Tbi?>KDg)BU zlf#8wQSri58Ts0HTQ+a$IAhS@wNLcDM&<3B4s`Ml(i5+_p>KwClrf~{PJ@9LpREuh zm+&0jmdxA%MPHsEWJ}^ z6ZSJ&Mr%>eL&^9)S?bkl%dG5qyUCGd$0#ooMt(8l`AW`XhKs-Q<%|1t$S2IVtGlTY zLyyp+5V~7J_`4kHJ%#>g^e;4*N>XJGsOoVJMor1OAsv_3K3Q`}sqtw=JYiO$>yuON zqmzd9EZMsjtR+da$pZG!d6OJ{EKyj0E@f|F!!B@{xFjwTYgZ~1nC-_dSPUDg2y9N< z_x`cB?V%ZGoUJ_qP}zdft$E(WH7i#PgQl?O?#Zd;jq<~YZQy*U=S?sNhtS7Q$qal_ zbEn48)eUg%P=1hxT)_w48TVXuA?RAAwZt&_aNhUb@E~Bn368ruc3a*M;2)0A_7hmS z^EevhRml}3>W_#AjQZ2(!je!)IP6t0Ldh4^@41xsvE(Dq2Ag`IvmUNHaOQ&GdC-I2 z@p6LChArL!xBX%Wj`2X!3Gffvyf<14P3yDkLfsjNN&dDkojb8=nuAJ|)$0l8edc_q zNE!>fiQ*uN2v$8}$2i=j%5M(|%+aRmYlq{xcZ1!_K|R<4^iQclv$rUh*MrmzUzRGj$>4k)8Sa{PORExaaVZfb`K=yF*F{i-UsTr=Pf|V#3HncYTZ2h?tFZ^O3`i zn2l1t19PP6p{(ss8=`yrvldwwuKQN$fvJx&yLWj&vPII<$1&9UR{Dmwn~3$+GBxOa zMCqf>eaEL6dpnu&7EnEea2)WK;IdEg2kjpf&%H9%!0gfbTYDE|Z#>Suv?qxlS?m7l zgWs1Jf5h%Y+8xh3*SEG`n80}69YzwGKU>VeuFT@SyE53fq18xt=`yga`951IOmKue zNf*k=<`M)_GQFZplmJ3E9Ph2p0xJX!LP5D+?}^(Q$Mw7)iAT zA^5>gsLV);3EC~OIX{nB)_H2l^Z<6xOzc4J_g_o1)2xeJoS}yVW6U|lp;^FAvZF=} zAz7$z8G%h5xY67)_-uEqgQUt)*dAJjnU*Ek9vk@sO)_x2XyvSQsvxs68e&>J@^C^~ zvY%A}=J2?7nU&zV?Q@3IKVt=mgmn7Fq4}ff4@-TGzvNg<%LB}bbPR;q?r@=Sj_a)U zG(pwpK5SG(<~ENxx z?8gn<-~Z1hdE+ellipccC!-T&N{ z9Hxx&z?hF}!W50?ke%F6G^EG*?r#inO;x`*8Z4f`((cZnIjfIPX^{_hE8Tcg!X|C& zqM?J%2KS(hMe-)lw~&{J_o4g%?+1Ibcafy`X5RVow<#xYUn@Ps1d%>PF zG_@!F?z>yPH~HZDmlbD_^EWYKA7#`aL+~KOH%fEnp}mIUKi{Yfmuw(oADsLJNlwT; zbF25g_a?Qm#7SoHl7kfYR4G%76$$ISzcS1RTCEzQ-ko`KijrtgihQhvU2=ypT)11$ zT`t0>7_#y+`FrgGk)GabY&gDZdyVc#e(+&KuRXGS{x%z*)V|-O!QH-yZliY1$P#6L zvUo=mn!dS7+082`AmnM1Py$&ToSCQr>GeA{{-@_4`4s+bo<)}R2^oCO?V;!>XsC9>; z?e@EWVoLxMQ5(Y^*$xWsC>vv=^wb^r|0V$5g(mb9_16x1V|v*0jTrNq`+h##wflRy z%#WJh6E*v@{$KO}^^SRTINK*Mixu1(ulps{e_coYL~&Ch5EzV@7$_1-9w}*52rs)_ zU}+@4q#FW{*f<2_wdvDso5?x%`@*GMj}{H$+_nz8+k5Eg-+y&(o%p3vnf}C#i)#H( zeS!4w*nQY5q!oF?tV|fQ}DuPeo2T@eu*q(lf7D)sW!>@Zdfma zz59;$qo2K*`AN*f7X<_XP<`Tb>tGNO*6Rk5AtixloBYUMH!pZ94?(ddc(B2(xBNg5 z=r8CNsx|thfv=y#nEL~yX}9X3$?Sj77y<`+KNEV!^nS#LWp332vmS@1I$wcNt8E@RQTk5z;26CJ2dg?? zp;5a|_dN7|42K9`@8Veg2eSf`9!UcKh!5-Bn)c{+-f%Gd)9%@Wx*1Tf7DYnk5m=^N z?B`poYyAdK-D?&H_++(qsY89@>Ui?8{u1RFUW>+Eq)*g=b?D-g9KpEMF|%bs=-_pr zLv|hn3#nUwnJ!yJT2;M(`HWbBM>QIO1U1vI0q)D%eSx~$ds{^iJe%PKELGg=l^^Zr zg!y-3X==pc;vQ;TF8|iz8-e~6!no)5Zi+{8TLy#R4(i5p?NZ&meRMx30!EL8V_i#w zJelBQL2`od~N<=OUc=5CSu>jh8| z`P}uXxw76M)}{3ptdzdQ?$v#ce5ZYTV~^iYuVq8SPG_vev#9p!T$@`?n$Qmpymspn zW{7yQdqePwF7J^2qazxhzh!*?s>T-1dM1X&c7}6!hNO1UcbgAfB;Y(z0#E>YQ2kXp zaw59wqeQ{I*6z2Yk0bH1YJ>f}3NH3nGViW6)v$Wf^JMD8g<+@19s~LwV6IuW-LNJ* znP02PP@l2BFxT658Nw4POM%D|{X#3V+m^1WFm4)(bJ*A-N4sJtQ&oC|2NrI*nL_@L zTaBD#Nr`dP&bY`XU;np4S1baZwPBaw8FNiLU*}W+?6yQwPdUDhS z3peUTeRSTQ9sXYYNhU|fJ*uz40QY-&ts^s7zc*#FNz}sB8QO)i5s$b6(!sDp`df3! zYW_9(JR-I;2w0duaseR!26|0>&iefC^daC6AqNMZvhPI%qT_HmBjd12W9j^KJ|jT> z89OkJkU})>kx;iCu4V^mLXAJ9PxqV9qjudIyz8vJJAhe66Py|DH2)&tOb?2p(vdkf z!p2x^Pwx+z7?z7|R~!*)eEUKq_VP z>LtH5uUYcjxWsz6MDh-5COAD4p$TA(P@et1fdz-nY^x`frEX5OyJ_RhVbfJ=%(h&H z_H7+mi)kTV?IeXWI~mF%wM5f*a)KF!WoA16n!1`Fn08rZ^k zmzD4OMX|eS?BZT{6wAJ0Y-2AKfwvg@Y9oufi0l}$i8x7ioT-+2PTWECVySJ!F%M|p z0;`yGxlm$xVdl(IfkU}*(h%%j<9mwAowqlq#(UZlq=Ujygr%utF6K&N)zdhGOV{Iq zRpSD#@WuQg@Zb^WfSD&`OUdU4deIf?zoESWH{&+&bK;!NJ#H~&KAvg9!r?gzb1A;( zF$eNO+ilvL4U=q6@lQ6uO-;qu2U;07KfOvW~P}@()_+5n~4|6Nfg! z$TcpL-6Gm$UuaDoqS1WD5?Xd8^otx}boIUR1M1qec*6?)X~>B66xaezx;JYruwzKI zz7)B3b2P8u&(Lm17G^d>7s%8VW0OlnMj2*i4wMG%-d9VtBfuB25I;iy6r0vej02Lx zlTD1l!`CSEeduT$Q~bCXNLXZLMS3^0lG-GCGjrm(1Sf@n?w%_raX=?;qb6a(-Q)e9 z?g5uzlVDhBDad!sKzBHrX`Wz{M$F7Lq(@(Yk2o5b?T{H`r$#$NQh7ipGXR%Jj2NcI z-y|lpfR9@0neB#bEGjPZqgo>Q20Op?zOr{G`akI!`XFq_ZZTI087ddmt%}#C+NQ~D zX5s~_Bq8Jq=OgIppmivTE4f2{Rifn!GEt&cXhn;1rjc}T6uU`l-2n1R&a*fLs?=Yl z*%Dt|R-cctLaVQ)~O2zE>#7kLJs|@|<#Ou3g z!V(wLaeled)mJ4|2?yz*uA*r)O?8P?7)wCoW*Ky$A|tlEKx|#2MP9!wy2|dHJ*tIc zfbZNrs)b=NQgKLZ|jez{tk8sU> z*}L&b6tg35I-pw#`m!p#IVIoESBd_zCJtM7XV36!#QWTEbLL?O$b}`}8gk&A5Z}0F z=ZhyC#2OE#0l^+o*%t(vhU+j@e~BVAPSUC&BV`)=6enIHuJHm{;>k?(XOb4snowBNi?;jvy~_EfQGQt0Vqo@f{t72W+$sLC02=19=N_#zg zcY#C-UypjEO|KoZnRH-2B13XC(s_lg$bY1)60MCa#y8x;Cs9OOZ_ z$OwhUs=GM^h^iW=r*6IK7m4(O3v*)J^H)7?+`w93bkoWh_rA@1DqzJ5SIv6KGM2^R zW<7iv-2mk_>!k~e zvk|CrlT!5L?~69H$Gp?@&vu-PSEj^m}#Wef~*RMN9)C09*i5fmj<@_?0auatC zVpzw|w9*GRQV&>*k;3F(k>(PBw9=DBBS2c|lB=FeY_ORmxP5P^A@XcYqpCMB>Uw>R z8|yOY8V|xY+1M=JsXnRGZ+;~n*-bqBh^o_Y+eGs^yr?FMhe8X4)O~YMx+dQi%E6iK_lJ3Sq%j%^FuDjz@i*kZc)!Lr-4dx ze#Cbuk6p+4y%X8dO6<~|xbW0Qc|J)qQ1dERT7gie#vdR{mNM4-jiv}14XXJfNhJ58 zWAw(NVYCmUOfV+bSIj0uSi90H>T(YoGC>JcXL6untt*sw$WXVxhf6J1Ed>s8VpX9n@aG;)qgymDJq|P>A7M+BfYEcW4>yWQ1TCsA} z>|ySV)6`7%(r;isL8mMPHGs{;h=%{vR=D4jXHbG9{da-xmkOR{Ku#d>pj0oh?nom^OLYYiR%;`?AM0$Y-#c*JbQSd;rx+ zMWnBGJ+Y26RSrV9=P)pgxG5XjeeqaJO8};wT_CW9U_|&zY!g$+c7KnwDhsci!d0BC z!6*a`E9X`c-kmrER(?ZG5jVV$#%;28`N0##XFM=$q+rLM5y_yQ2LkuHOal~`Olz0~ zST$x*HgvD3ku2F}eFR-hw<~Nw5=*!XeM|!`(%ii@^aVeH(w%bOKa|}ok{zrTQpgrdcEBD zHKX3d91yY7!2Z2I_mS78xL{M1z?3J(>lWJsu$gpphP23Ef^1)E7N1}r;HLA7<=MKp z$QO)TL++ypj9)tseRT*k91mXgZk;zrM`M}mRU9$O#<^|XyZ-T}B8Bag(-_)>w%iDvM|CYBitjr=p7qJ!s0S^l8DA&;##zQL>%@U)z z&utCjCzRoK+;V<>`huSWf?SFQ!|xX>yy*a2PE1D2>v(m~bxmoekvuMB$YFQX;7?;-#4&AtNGj#45q<=|Y{`pbA(dmZTGs+eQXV38>9~!|oWeKb z$TO-;<+1ZP11WI|-XA~;V!irKPGE<5lAZw)urzojzJm&_IJf2}mk2RIIkpNwo?f)3 zKoAzh1w=rVfo=(pfD@5S&3SzU`x8>HjB0=rab5}c$6T`m!XKL-N_9#@AUJrOuoXr~ zqhqTJI($%vQe+J=IFVXL_D;kR2&F)W_!KvFlJkFT8Dc~tI>+Ad)k&M!)g$mN<$-+B zC{=#G_$JN?PRc(tqyO>FGuLCcc%2ff*l{zTn@=+T(5Nad5lNQPLqk7V8(kLz0^gF^ z3f=B&k7hybPSEy~GYc2gC$JAcUq%g?C&l*Tw zdQG)hSCOqAvxi%8?9RB0O#d(mc|8SgdyMUjz~OpQl4n0VqP@QZE00%!t28Oi(3lxs z=%u4gERs;2^cecfIw2s*r3egAqlW$)Q2kr59;~cuhb)B3H$YE2yF|QfNvEu;+IzAb z+k#DCzR22VsXQRE9byt>k(_2~W^tx)voB$uKliwUa4ms#MO$GJHWZrG_UDr8*k|(X z>DLRw7lb(~qF4_sFzX*mA_ZX;_|@*M(~6SA^Q;_L%bteVQEklJ^L@Ye332Z@nfe+u z;9DRcB&pK?(sFaU-iwwO*vn>o=#ax~RYO;9tguHk0#Sgd*lDzYKep(;A=m1T<&j4^ z+>K{%81nnC5(!8t{Mr*L2k^ogP+JJP$7SE0ZZ&)if z7y~#2v23%cpDsVronIGevZbisZFcr>o*T7II9bL+wV0B+f-0tkNa-;#)~~$K;#i#4 z(*cn=38)sY##vL1EXkt%?xJ;})NWR0o7U!1mXPKtksF{TyMO@=f(TA`6sM*b%3J2U zj?K8mbwChvpYQPpiC}pB^hZYI@NV;b3LW6=4rw+?4AIkTguLL#Zu}0m&aYOsx)ygh zuP%)B+uZnq5F+%lX!?RdKWkn6fImJXP{GV!P~XlWl2RvA7W$ky1 z2o$CA;?A|n`SeD7cnWapwX(^0O8ggSJwTt8N|!+;{}WXIT&e!KasMA54qXKl0Hzjf z1vHD$U%wQpRkhQdAnyf21wn*SN(m*TcPq3Q@l3fiuWcc}s;8R^;=cmDQ|@P(Fcz+# z4NPx({>gL{Fg+TXiM;yq&9KW4wp`5krZx;3|L}%0R101Kv)(~Zya_HOsTi}vyE?xY zVH2UGdga&vx6Mv?ZHsudS(W*xf!pC^FB`;bkP7W>5b|Z13|hyC$5wd@R%KT%4dzjX za(KZ_ElK~M&V7}_O<3N`7I(@fyMSc+s6Kv0=^#&jfceYi+3)ivxpEd~=_*=Ol()gG4}(}Hg4g+LNsl;l8FoIlDX{Dfs5P-91k zgdS?@dH;o@)|*q|!5%=Kaq^v59tTvrvJl~K$)EwY%7?!4OF!^)@xQ;z8=>(x<( zW9|3c&Z64#_-2RkHxmEhMVi~%$|b3pY)`&tFaQ0e{x>=x7~V`YSxgT|Y&M$k*B7cn ziyW&;Z!oLM9HRTQO;l?wKrsBYecR{6DR(F%-;P^8bK5;S9YOyg-OG8?5LPP4| zMMEwhjklLq(?d0_(CiiX6L5Q^&5pzXz-j(tr}fW(``dLxWeva-QTY-%t>EDDXmz0w zd!=Bi{U8d}yv@b(l(neA4!sQ###E;{>j8b%r{@NMCK^7G4C1*)lnVkQWVii!&U8#k zd%C?_F#8f)rzQ;F#C+STISg%!=Fs8i0pyB#E2TGl?;J9ejM?U0y~hZ-rA`4r9Kao6 zhWOMD(OQK%&6(HhC(O#MSq#_)y0XDO^I5bxnV)c! z$~M9H2;960>l{Kd7{mHkRAl*Cej{~+uI}F-o=M7C9EGcBWvc@X#LJEFC37hH%|^M~ z>xC6aHv(uvxJu#^w)`rxU-CUkdFAH)K=={&{alcxmPiE4=sY7R3c?6G%uYKq?h1>7$gFZ(U)71z2hfgZ zSms95jSxaPW9dc{>=x)nj3 zyNoS3dzCvdke-A8@;VhPh7yo60CJ1%LDWpNI>VXq-jW^f>ek&LFJb4cM=h!g{6m;> zXPD}6+ib6yM?F|1z5)`{Z{&Id&LZ7*qif}C@^20?>1?VncT|=@k*D23hpg=ZIH_bZ zvD7IKQF@<{3xzL}B?Un4pPT!ChTPwN94h}=<5cD+uNr5}voUE4^-d$licJ8h zaWHe+2AvJGA*$Nmt7)EB*^ZYZlU{F6PcVLPm1uE7O<}Z`s7ifXyqAXnM#(S2el}6t zJYBnqO42g(74y;m<$3Y`Sw|x8MQ7rYysx=1VUB%3#SFUIeNusQ=#x>xw*eTXF@RBK z02pO^fI%}=5+^PkH-J&%1S^LcZ zRW44MAguJW%IWVD{cn|{9@rEt7wlnFWx3Z#kMS6X1rW-rYy*dUM6xHDGZ=OO zUe@4W(>WA|@KvLH3PDb;E2pD03)LoF(bRl?v|V6o)M;3skP}35A^|l2&=%`v*cAl5 z*j5Db9ul_D>{Xh;K->1g%V%7$>PobQ zBF6|B067li?u=`ekPnxr*EeLYy9_TB7^o+uPeSQ%7Ax}?p~NgmuEo7-sYRBcX^qyb zpDbl|n0W;I#2omnXvQa@{BOz}+rNew|3|N;T)6~YWUd5Muz~4ae&atJOTL=Ecs<)< zfMqaRzi>_~_XapvS@|D9UWI%*G5_yg?fKUo#utQHdcsI8Bra=oB{9C(U+}h^tA?XP zBxN`ouu0Xa9whjdXp~p?Wyi5@s8&~+q!2uyo}?mJ0;a3h^u2gZ93A2C*4_c7MTc{=gL0=il3WYc3WZ;7&QXNTah9*lWZuq1 z$Ox7$F{Iy{TF-MNo*P~1b@&%0n&N@UnQJR~(Y<35rsaqHhlC$;QS=7~hTMQH`IXi| zHv{X%IQvw0vpJj=-=f9t_eRf3RptVsiQ*bR;*+V*N`}5AbHPKf`TAUwO?oZ)cG$AG61@qS}^u z(j4&Rk$86q$$XRP4yd4dvXyQgf8f18#wt%zrmLhVwJIguFEa$0Fit}>SuP-MbyEq7VdVD?}p?0X+(NODb3WD%(0L|kyvR9G2V!OaC4w%>s7Dtnh+QQuG0>)wX7&%Ng_vj1wu2WaKbdEPF85Y zNV%T-v6L5m!ta8W$o)9ttM5G{XjC@zs`+MGaUV6nCga*4cFgIaYh&M*kGdI9Z6@&L zd_C8QTR|Gl52XQ93blm+qKU#9V4UBU#(4Q(0xvE9?5fw=-r+#!jM4SxHHZ>2;?Nkk zm@?{!z>U(XKy5wiwY`9y^F+B%Sr(s8GPaQqz->-GeVb;md@tdu zcMR5fmH63PmHA3Zf#d9$-Tpn;@<0_N1M7?(d(AC>M3&qz4oit8{6eX0Ho=%iXHM=n#s9RtM}-cj^;LbrgKl$NMG%Id4St2XjIJUjSc{ z^zaNO_61q%{yJqF@O#E?IOJXz z*G`?Y>bU@utpy4BTGeE*#xhymAnc&PbtV zTKvd*2MoQWaR5WF^pFktpG|{-f|%<`y6N8DYuHZU=JWlB=6^KWtR+N}W%Q89W;5cQ z{a|t1)!YB{_&HnY#XpJKg5zfa9QKwRg3pg|Ln$1>6)^N#0ytDf|F|l7t^6E%aWKR+_>OVdvycf$j>!+{7TW6Na#Jn!nFh26 zTQX;3H`hu7xFq}Ozq#ZiP6Gzee_5b7{~p}`N1uiI$tBA^x#VCFXg`Q3td!XQa>=xR zaml}qJf&ft2}8-IrT-aDOvdJHcZ008Py4F zz)OYNfg9f?$Y+9wUu=8|Ft*PCjO|Iy)A}*bQHp~2Z{0DWzpoUV)m$iNmBCn=n0Np@ z;+3-;^<3OZ+W}L1)#P8{CyD@s9sFx*@3`#*{#TQAD8dBwpG}rk0IpuqXOk7<#E8u8 zkyDyQc1eUV^!{5IK@!kp4X>k&{Hw__1vFVHe>GV>=t=@7N7t*vD4guyM>i;QZ43P2 zLWYP4K-+CfP0#9B@$RFrm^nYR`37!PiKK5+7S*k#6QXYP+|8j|G6fU{akb(-vms9} zZRg_EO?4+caK3tc(e!`;oQ5pK6ZxN~p?I8g0P1|>3>!OtARBuR;eGtSspQ5mTzy3f z+&(A$k{DtaajUceU#x;-^>Rt@bzxPC4 z{KuOklmFTinQ1T(g?eDQZ_*Wnc#3T@IT!^Rw9yS;`c-hk3jf(k`vvFr zWAM_4^i3|nMv5%aCggY;R_7%s=X=D^zW|5)N24ZViaxLj=NYgkqD$h$M(`x|nD7J= zE5DfC7fO*(ejztM1pp4DNVE~>niKt?T7KrIn~<~VbZJu2sWaoGl=C>q>7D2!tfqvz z+DWAG=bC7TRiz%se#v$Fw|r2E6t?}~=bA{0xa=8}(%D$=#uyjL_=?y&mej}?(S_&cW4BGj^dtIx_yKKTYfS0IR=CG6lpVjXPDyZ1 z97+y{u2QKsY)&%OK)j0$9XlR5@jkq#ZR;9=T{m!(QYbA}pe211PYHLR2ExV=JE*$@wUMzf0 zFD%|ep>F%gzF%@Yq1)oz8i`D+0ro_@WR}Z{bhO2#WV9tO&}s|jaITCB$@pLCFR*&P zeD+`{yy7P$fD-r5R1&ZR|6=0IU~XXRXlHH5VCu$T^l6st$nd%6{ukaZwB2=dmhJ_P zrzbrbd6xw-A>*P)6N1l;35l$Uh!WsNg$$-Y`Im6r)x zZdN$kZ24R^(=RO-(SO~rlsj~t_OwF};Sj9o`S9`ScR$YdyyE)fb;Wl~zq7Et{fF?& zBznuZTN)Z7LrXtXCvkdf4s)Bb)+2A}hr=l~Ah}Fu>flRaplr3lce=!1sX8+Uh>19< zo1+KhMn`&#(`pMmd1dc0`8tF#?^WwQGWo1?GU zCBfudVw+v+OY&Gxs@KQ?=dU-8#H%Vd@&^I$T9go)#SuMO zO4gWOoGIMY&_oj!C0L3!k(2yJ7P*pGiIjFvXZ9h$R#|1@Gf;}UHG)ev%XKcBP_y%f|IuvjGP~Khk zHci%)d5F3=!a^20Ro09-a2A=x!aG8N+8_$GMsg8${Sol*~pQJiH!Q9ZFSkVZb>T&x>w;qAR@6UJylIP?*O>h zxAGK(lTiJK_CK?VbUa(p-KL;rYlpU$5ApiyYxErM+{MF7UuVzF|9EKefo-^;ac1CU z@!J8ZqpMVGY0;QCs+4p%h=mTEK3s^0VJULwnRXb320q(5$7ct`$SZ_aEVOjw&M!1I zEj1}KBs3pP*~DCAPm@KKxkh(vHO=qZmgE(_ym)3+yQm96$iOUepRtVB%8(|~G~2pz zc@vQr{MwYefY(!}Fi_;rm%k&4Ee=90wzhR-YwuX^m-vAz)Y&$*#qai709#aM@aVSE z+GQIMr?%}8G#5|pNc{Nq@}@C?6ckSTaVJn(nPerX4Y3jnuS_`Sge|a>J>eM%E`>q@ z(P{vzazip5n>}u}PNK9n7{Lrt9AHNh2t6{ID{SfHmcg|W2KPgYw4}g0G*B7~BqfKO zzEn|wHITf-4x^uRKs=HM4{yr0B&GhxOjBgw$mXuOD;#vK+K8hq^Y}x>@(|OB03Iu?utU!*i!c_4KSS>7kN*uxPPX zTc+bt&V#HcQT-tIJW`4W^@pq6IRk6;lXH2$d$w9SgZzv@B{GTh-T-uvYyHG?#-;aQBVst$!f^rA9DT~JrE6iP5 z*j?J!EzlkBUQzacH#RH7e_wbPJ{|paw%PZy7A8n^PI5iCsOpfFz_L4nBr#H?fvrzG zd>UFbcAdszyUoO-XlK5C|<{|BVWihyxIuRsUvQ-#JO?ZU*X%Y4SSv6Y`DOk;HYs zPFpScD?`Z`u2HQ?)L@`chQuLc27H4_Av0n~he$bxvRufV3$l~&(6Tvrcv!a z=zS4fdWC*|KA1>{!g{VIR5Rmowff3*`dRzgZMqnw=CJnH*>B%OjUnu`P6Kyg(&Y)F z^lQIc2l3HOUO{GPtP@fOI%^K|=&gccUAXu!;eBHo)^~(GgQ?CF($4(rBf%|eLtsPA zRRM3rvT2BbXXvgI)`--xRzgzC6P$O<0W+53;us9DYkY|Z$IGLiaMMPhmY+qjhV;^m z8NSf{>8EuOGZEu6@k`hLNm%r!7QwP?J)oh;HEBg*pJ>HI*A)X{ULgPX6h zX11zup=DmgbQz9P2|w1QiR0M{n0IVWj?UW#&zWCcBFjS}%*CVq(NpD^n#nKxoZKXogjm4iB0>`LSuViEmg@StJ7MA zjgixWofUw9=CroF#)Ilg7wB1&bJn+qliUaQT{ z1?osaN};w>@~8F#C-nY6IBzypY*CbI^q4E(-s=0sbjuWha~&QXRkrAO?17G3amjY7~7iXKkDT)lyZi?m@id(IZLZiQ)FV-VK` z-qRI==m}@=fQ?xU6yerI3cEN+EC$k$zjkPy#s%;}MR(Cet>a2@$&#~kZnUv+GDhG& zH<{VF8|v*Mb5m4~g^~nHM6VlCY%f6(hA&w-By-_Lt0&G(T|%MFK<;Rj$ttN>I4%Ev zcNTrrZeg7Xt|SwGVC#4)(^1*AweMJJ#-q$<@0V0<6H~oB+aUFW#Xd$hk`oe4K{OF~ zoB0Xv^_%~3DlY;8^)>QqEN~5rd*T?uPAqii#DRh=zy6wDs@LEFO0xI(fg`zZAOjj| zAu64yC{s+rke3)OB3Xn+SOKcicwv-OTPdL^iJpbIeZH`N&5o6rYJ?c{E8e@1YpvuT zwDI`Bn6}D%X@B2-4(MT{09te!!|+nIL1hQxDpqdA$4>rsHd@E0biU}HZc>Y+J3rkt zX;lWl*9oK3pw&q)Qs>KOO3r(L87ZnM5&<*xM%HUog|VIQX^B;$z(r`pQZ-_TgYtQT z$C?KMf@*2%Im5Xlqj%|pagn5QR#^+X(<<#6fbDu|M4B^-dbI~w)2ezmu48DMYh?gZ ztM|Bz<64VQ;Hy3!!21=wF9WPpsyj0SQMTE@1n>)k)x9H|q(+dBB{bLS_>+n@<}v&@ z)o{D-L-sbNRGi=}sF}US$cbFCM@&@1u$tCigA(J0ktfwfNgPck+fpk?;qOvW8PlXd zvv+sAlEYTX(^2Q5mY_|I+KD#}I|8I|Rp|1+_TA80k))X)N35w13X_ZJ>>}YsaHiq7 zGT$)YFrDrNcZwhZ-2EbTY1il;DEClF#RPVvx!26Mk5Loy!&HVWA~>^nvWTWt?SX1? z8{8nx5<3hTIJiQ=qtVWFs8+INE(ZD4eDHC2^>lK>V1~pZS~Ya?_2FAG`i!wTx>a?^ zBPY-tz_cH!5^2(O#6Yu6MIThk5!G3^dYj>q`x<6Zv-N*_Dakx##6qTtT(&`?NL(ii zzaZhEie!I5R!!Bi__M&!eKuBFHPD9;oxC|d-f6iGdC&j;%NI52{(Wu`{2N%O7RyCr zp-XWWiDp+T0_KqHI=N#%!weFEud*WtW+znb+08&V`K+2uAhnfEQDSbjxT9LfBl=x5 zqnfuee70MOMCZa%J8m@1y0&X5ACkrp+n$zBKu-*#eIiEHrFiI!SjoUV5y!H>TKOB^ z7~F@N+)srkg%IHfyy)onpO6#>F}>gq6`z8~Y-9^^$ zo}*3Y!))IMT8q2cF>^c`BY#Z!qTzXYOTy@oL#(X5ru6lFos-AbGovFC^q+3X?Z=T> zK=ja*fl|-i1|sfsD{Fe?f%ic-_Nm%f!F7wLVfDJ4e^!Mrv-?d*aPLqUw4Xm=l3+Dv z&l~O3$|D_hRP-*x*mSU3l!7dRq&V}?Zr$syClh=o7HCM>I-JbK$&rq${WO=XRf*6h zIZL@zaTsC48s5hJ1sp>)-1p_Hnv84uv)He*C*rf)B`&-(Z6RA{=RqH)XiK*nzp0-i=30O%)RP*5-fRmuF;p519W-s6-x5rg zoSd3xyWGKbiDmJ!vz~tn?h+irzrxS|nBb9%+US^XSXgQ^#Njw<*}PxJSJ{#W?>hI; zA7X9ewV~HLz67p{S&4LrZl<@?+4x;mp|(*?`i(XlUe32|YO8Nd)jT0?5kQ@`n-w z<2_JRGsU+?28Sae<2^;UiA0B6sy@_(UeIr|W%7qPb3HR>dhHeE+sD7J?%Fe}jm}c& zYtB+^H43l3CizDDd|NrR3mV&AJhTfQJ6*20b)r!2xjH-i^ZPdE_w9?v6Nv6i&cN?i zu@qlS@(;-rUtIDJ(Uli<-K!FhCzh_)wr}sk3=6^9Z}V)LZ}Vh;S5`{5%lsSNYvhTm z>N74W1ZY_v&fvgXgTUli_95J`Xt;3r9hOn^MtWFTXWGQ2q zaH~03^lkK<+&Y0M@?DAO12f8MR@$4f8-o1ccpC=A!@v+>jSD;xdlI1+3XU9o`CdpK z;UFQo(~q&`awU#IpKicZ*KW{y7f3lF8Rt1#4gfJrUHa=!)W?CDN0%dQtE4t(D? zG+i}x? ze#yl1eOiUDnf$3()yKDpe9D5csF=})m1b(K*)+r_H?b7UqZMnrT0Y#c><%RJ-w)$f z2?czW@T{nIm}}r8=G$CD%hm{($Ix}7(=!?4e~|7{dQ-AJb4!b9bp*F4Pq$*^w=XFe zFidvP)JCv1K?pAv!)xRbcSkIflN&`;w*~I~$jZ#MlAn%^oZ*6YnO5{BY^P$0=PkjA z2*_hjM+MRWQL?8a?Q@P37h=MzV*!Q-J8~auY}q@ z1cy7WXwGJN5&=j%mlaKOjF_Xdwy*k7_Q5Fnq2iP zI3d(vcgx_*Po#WqKG7!GFKQFDaf`8iu)5wbCHy@oh5Xr$-cE>JV2Pf2thilz2`H{g zrQ33A&ydEwT|_4);Ik8hvg@tDCuA%hnw)BSTJZBh?`W3P0u17aMSSYV9kQTOTGp+^kYs-goHW(%aaK5S8U@&^Vf8&>bN%M-djju!LhpMTK^kxeeAZX& z%*d~tM$h_E2&xvx_~kI6cX;*h^nFie_4m7@JCl7n1*)1=eP!ll_3aqRKaoNXDMX5- zrw`my?ShQiNVq~~tbs@?0FF7~yOKWA-Cp97KJt?9(Q&WTzzK;^`~H&heP#Z%7Eq>R zmUJ@9rIOU%wUrR%nz-3yAMzm|LWKAP+%obk;I?hxI+fs?-$8bsLqV#0Ftup&miP6}W%I+@vqbxA7lB}4fZ8S@*;BE;&w=Vt1Eq-fMq@GAH$(y615&R5 z##n)H=Bteu+U+$-*rf%g_cY%z#WCylfNOQ5yIaCB<)6gjznfy3_PX~tibTj)w~KpX zjLjUS_)U)Dp#s$vfMnL)Hk?-TZNjVK>+ii6eK~|hs}`Pem`W-^OsnYKOab1^yQp2Aih(r5Ajc}COtOPn;edu8JG2y>G!n2STYugAOO+Gl zIX4et+47Gu;GfeFQOQ8gX*Jq^8{emC414SWH!TV`eLrkpjg3ETXvDel%bpy3SH}+2 z43A4y!M>WDa|JmQjwHmfns=Yq@xJU?Onnu21lj%crrZ2uwwyGd-clZkB~O>IBsy>kXc5jo(` zBN&2!Y|jA;r?Zs1$jYAceU_bEPBuNQHO<;=9@(pHJRcRp4U_hfrFM@FF?Q?Vz$Pw4 zAe8o1EUdr?BqnAl0Tt^Tt{Xj%L{1&_!{{bVRo85B!$sH5+*-^x&NR))^;{LRGJkcz zi^0p@RT%aiS$toY5&z1c$_*6yMqM%HPl%s#9>S%pPQcQ0T)7i%WoGtM)7K!rRRe-H zZ`Ayo6(UMJZ&Rhk-k)Zn_c2FjU0O|C zI!`}|Y1DI2O7TlyGxIU4`8gE%6rb9}BFKNLqgF5-ukEuQd3grV(O>pDBbv$VxPDvP zgfm^(B&~V?exZzRo6XK=!dO$mBGWEErqr=kSO`j49Wm#>pc!9Gy*t;$cI@`fq?1_? zpcnlB{d`0e@Cd(@5qjnV>pi#b(oXy0P80h4AWx=D1>0W@x& zH%Of{bWfN;T>pxBL%X5vb@4T`+sHpfVhuJ94_qVqzJWHT1UkB^scMvCUG{!y-#E>4 zFw7Y0i!K|dtm@HjUO2K#o;8eRtQ^*lN7iJl?=FgXX+7Q7&q0GbisgOB&|x@ z9Cq1@aCFLb+3`Zwh@IOkd2Y~(Z`l=Ia^MBsTd3RvVSqw(GF+YoDq`E4Jo}|v?SQH! zqZd@nu*`p}hO6exHL|3{T`LdB8%|-*@Z8j4<*{K`=*8W@)dsGD50`faed#3kRQmG= zZ!6US6#h>2tm65#;F{$H*4ft7?Y!alBCBgmcJ$G7bOXjZv<(Zq4#L&Y#s#}4^QQ3Y z)nZzSa7)!Ste^fybIx|9l< z+=Pu+!)>M3H$qzJG)F|`uVx}8^*Hk?NBBWMASp{RSE;|^-nAN#wg$l2Jh+u?{oE4R zQj?T5aP1ioQp!bCs`yooCt5jm=QthFH?5=ll!&>R>Rk(cDnL^I2&2{DPM ziv`-Hnq_2)37y!pcI+qFh4&?uh18rt_okCTz<_dnCh03};k71xy$ux=UbK(5KW2<) zTzrHjHqdb+JwF+i!i8cD_wa!e?FT%l@fxqML?WbH5$u2qYRT(`XvffuW_5Gj$$dA3 zi{RqROIy3vDwED0MTqI=w2 zejSHdo>!GhoY&gnTQ0yp4?MzKM_`+`-}@F9hA?|`NyPocE1Oa&K?vas^7Rq3_1a-I zQlZzt3mJc?WJlKvoPXGCm*y1@cVyd$m_PLNkym~Y!ydX@QvE9Br1qVeen`C*UT-Mz znvEArZ-nm=JUiNMPwWvLzgJ*K?vedx$kmSSBmK|NtKI!ap!?@IEg#YO*cNafd1jlk`&=*Oznzz<}zUDrKnUi#`G-^hZ; zE;rDZAsOJI4dF0A506SgTdYcyHVnPSDk7Su23cW|6~@FBWO#;nQ@lmo=M*BzsvDM* zR*hUB%MpRPfM?iPCQ+D5k7Z z`>C`xg8&)eVJKGjWK!4r>QBk$OFBNO7xw*bCBJ`@ftpUqFrMt2s^)O`P;$6oc#)v0 z_EA_7dPiwpCF%s7_Mo&(qK3&DjU^pMIQImRl3klvWiv1JvPL$N6`e04TypH7#~3NQ zBzv6_HUqnqyJ3SWZL=htVMXIt&LZ?V$_pg9`L%q_cEQ%73ehB|K=XJXqV>XWbM$OKb1LxDPN&2|=6K1v9gYM&cjza=sfDrGQ!mdR z8iG%CL!|TtGUhA`($G^>2dN3OR1;SJSRPQ*k4~eFlSpH zu+~!lvtyYsl?Mput|rnXs;YTwO*X!h)$7k{jWHfN5^V*=Sxx7Pj9IpB8RW&6SGh<| zr|839vTbu`epKy9Do)uY(^1IW`px<(h9{JF3g5T`zGs^1L8&EAY@2*46pCrkL>6(F|KJi;Rx&BB}o=b9i2n0zL2LuOqx5OXOC5RkYc8Sb46s#;NH}n>) z+0vV=oeB|s3t=?9Bd628+zty*;J9Cb54T0i#*EA340atPDV}re-x%QxPxIxWOHtnu zW*Fz#>QG+{P@?eb(bSbpY6D@0qZ#7-qEH|wZ43G0n?WWkS{kOlYdaQKMG8B zIS7c7gjk4T&77AseUOx+7AA0;T0aY@Y$2oxP?vA_4JY_Weju6gJ%`c>%^|Sp&->Q+ z8%yqU!mBMfqzVNL75h*IQwb;TA!vl*xR{6X{r z_|prr-i<{<05NI?E`C=`3JiFF5G=NOb;w5t{g|;^-={x1^L<<&@ogXX{o}6Au(?&} zePwaxPoHdNen`^(s!qBcf8`6oZ=dzd6G87IR%D2P!Sb-69M(h02^x>@ia@fbp4II#lY`sUFDxb1}G6b|r z2`^mH3NDYd((kdCbqaz8jAaJ?}^Mi+T=ZP#c?;U;}8T8`= z{F#O49U32MXWPtg+Lhje(R;P6;nS-<%U(k-y+I=<4=%FD_2kDv_^@Bu`hs4o1=GCa!-8Kc*#D-r^iy%3av)a%2aDW#r94*M}q^w&%HexmY;R{U_TE#|FpX0XnXe#h3a@2509X8 zUPE1ZjSrdWcufys=y;6{sq1)64RPprO$-6ickl1zVr}0YBbdHQDuB~tVjyEMW02D` zw~n&1G=NF41iRL^*4oDd-1Z}pbfQ%4k$hvA8*sm4LOz3J>#zQTVv4HXI{SIq>>AR= z@7ct&*u0FVF&%gKyV<36AWH~gAl)C`WR57OqhRS07NQHUYT`bgPWNF7-&JB1pTubc z$1wWv@PMtLB7Z_=@}?h_=~vUVmH`}kGYu_keY@QB zr9pkIL%Te-sPcOkw=?by4$pw-%PD?rC9Ah7TfIb{lf$>wT&m6CF_i@#U6kL=sxBVh zblHT#X>A57Lm}7{Y&vxzRXr1zf}1vTx$ooHH1~Mp*6<#i2I=(6|ojY4eJ!bOXwEH#F$@fx7=@MDJF6pEX6vA-wYF71h$n8YpQ5!5B0Lo z$IsJx>l&#nFCDKg`&x`e_*DE-iIUUQFRx*Zuf!nc`XWZuoZ zyuyiHF=pocbt?T#{Bjz}(X7}e%!8$+qa(kHHb&#h2C78~-daPw$wS4uJD8@N@8>c* z_q(+&%AeA>oYfzdO>E9LSemT3Ir_W%-Vc}6LEb|l{GP7rIegJ07c3$_n0aw1Wsl1v z*30E^_C%@&5$&Efx8A22sgl;A)!*WyH|g0=&TtBg$#4th?v&t(BF~4N(VVB(BLFlc zXM9Ov=nZ0%j_$`0);MyGS;ffqB@{%*1sfibf?HS`Swr!(=8|LykNiQ1K|W?4f$p&B zWy}T^;h4PbO>^SX7c+RfjuMiCdsp1O9kmVKE#3_TN{z;|ulLT;zs{_J!KlEocVRm+ zT9non7TVGdnJXzPbl3+AzhwtiZ+9*&Og7{WonFDRd#ZUprKBaYn$dGK=LeR-wt<{g zqg9zV7~*)TH4cm@a%#XHK>LIw{9al+wLy5~oh#i-N*|EW*2KpdP_$&Nn!oxp=XT4B zV^c1WZ3vqN?@MuEa=TggTew?&c3Ie+Oy4n^It@7{Tt(Z`}_1_A`F*>k6SSC3G!&;QFOYU@jK0cjF`4Y zNSneGS)(M((lU4o(^nI13sdD)73!?vQtdSuwuSLX4ZIKhi?3VL^>>C*;6FTH+Hp>cBc$go7FNsN0c2HDULWJ3 zuy~o=xAM)&NTJKZcuvq}q`p7SBgg~)0;4!*d*|+Njw2LIS9w2Dv*TdSVbfLc7_tm= zK4VxZUfh7u8EvFV^tkmdf=$z7V16+N^t_H1WzE1&_Yos4?(l-S1WJl{KoOHL}8##)*J*^D# zi1y+bj_OEFnhu!dQW?aun4}^*AJu1+L8ceMWK@NpVX)o105XrnYsyY$8ZyryFgU|z zSVw5G+Z<;Am0FGJh|8SRXPED?TV@n_C7fXG1Tk7>oJVvB_VQq#U@**(9(w?lPQ`n$ zFvelB-FpK%R}(JCPEHM&=@A&jGMm^Dnw{5Ye8G*pg^$^c-a@B36?$nHOu)iDKI${j z_x3@UmFqYZk6-j;98ez(jI_+i8QY-K({`1BkL@F#xph*%H=B)-o9A zNuGB?sgI-s-i=gUf#h&zFncMUQe`d$Q4&2-su;@4R*oYhT|l;r>C@Z)%GGjGLP35L zy#bE97e?U*Rg}S2LNQlHIr)H5)FF4jFU9WmK%dpF7rsIJaExcC zM_++XXNJi@N4`e_ybl%3V24U)hRsMrymtb;mk(lM1#B9P_dsQ=Lu0VVO74*ErC~GC zlm5eP$^$purZJdiGSQR&!-CQVGu@^#NX1~XCpxAByr&OhvPWi+hRtY0xK{&oe$Jod z1v<77KE^ZJrZd>)qqv6ybdDu-re`DuI?f4VdWK5>`hU0~HmUbU!;D`bGF*mE{)l*m z2fVNQ`cZN6tn!Lypz__`=u^D+VrT~@-H-fu3#IPUn&klW3lGJpSdw*3WC!-k{Ao8{ z3r`p%tTO4z5RiW9wPfyx00{JTUm*nAP7o;~O-#n+08?m7)3YJxK+2u+B871~IQ7rP zF=rx*9wgCC2f6vfe$&!<@67LsQ3FKfvxnA;6~ZjFizYo>w&BB7EFDTYc&vEp>*kl? z`BZ^RnLN5Vg!8p?hcd3E652JA*X5!_wlQRv>QSQW1FUCguBj4U!DN>T(jx0xvQXtE zM3-8!T4mE{mgg*%0bJt6H7g`pTIIFVmlVOk=wgm4IKjZMS-oqIu`qB-_846s zdUd(D0*#3{)CO`YWsA3p_n2I(CA_jj>0GlV&X?;Ir_e3gttphDMb^z=lNM9UzfJll zJz9WANqK-V-NFpolovkzP6&Eu1cf(X#4FXGjN9elk;*t`{GPxs_uNN*`gudLG+Rc| z!y5yB3zIw2YFN04id=^lW(E6N5--$3e~p}LE@9IU=Z);Zkoo|6;JzDnwzq#M(= zYS%gSw1@kIux%=T!21NaZLYr$JQfIFGWQ}uH9Ru!?M+lOT&Bd!m!x$Yg3_BdzxE>a z9YbIG$4!h2cX!Iuf&T+XchdHV;2E?xz4mPo4;cTrGsdB4^q8wm;tI3o6Jyfm7}KG% zW~nzN^8`Di==MP4p;v~eZ@TG(Jww$8A+}-Ss)RBdwrS?5lWd60Qj;U+QVfEa($zcp zV=&SazCVOg&vkXtxZ+1@WbFSQ$>yqE1=}rhyQ|W#PYRp&M;VEX- z>AYS>^ZJGt^y}RIfxyY>o7(*&wwt2?>8)~vm^aptWrJr3DGo^`9$gQaEGnpi#7GDp zK|&%c#DS{+O+S$|%f}F&z@i~_yM}gMTE(WNrnv=mLki&1XJ!4}?$T$crc3@k@43t8 zy>X4i`t{b#yqkSTXJ^v;{%+6@|D6EQcGp;s>x8)Uo-b1#-TMK9_o^sIs5_5OA+iNN zbuR350M+0#I6e=hTORVI*?;Ec6!NXwKpyHP+kXc7B`~e~)RF;P;?o05%Iy`LtLLM+ z^EJ_*9{MHHzbA6o%pbMKnHj;)d0?+1Sf!_#yZX_5?#EQfyFau2cY6F51`HSI2 zVqztTG)Gj{u`wgh##C^Cw9R)EcMOXI2RvyE#isHd;LdMNh*tL~YByjCJ|P$k(?-HE z9ZOX^OeW6BB(Rz0qgTCse6wFQ_bcKCiN>a6LIN^H*e3P zDXC|*Hua(Es-4l|I`>3Ns_CnAi5ttPhCVSDAqw{1q`G_iBXa?H4 zU}PZN6WKw+YCLLC;#F?#RcdbcR-(ExheDZf=)}eZ5UYpk&rI#`8ea;n?8lK{2i|*vK~azPdL0d(=-gK;CGeDM3ji7s2(Wc{C3fqVK8lp zq6O^*p zpm8OYxa`X9;7D**;F)Qoeii{6c5$_#FR2%%$srGoX^EDR8~)JCnSm=MZM~vY)#?IV zLXbEa^DmGeN03I(l1W)`nk4b!T@U@mWQJ4Q-9G_s@STde(<&~Yin5X%X@Be};NvRH zN|b6rNX9yEt96V_H#R$3W9&#zH|(}>MP^7?%vvN zrXf9Jk+wxfntY^U4P#Mx&g6TafX6K%D}QouHXkE@l1I#KJ0BgIwTr(P2uW9`!hz@q z4n6&Hd!k;2VtBuvUg52%H{-ZTlqDIm^w|`B4cL{lO6y>|DLr z0nwEifS%y9dxzA4bcfc##3^2kI+O+}K`*Ne`jkR8*2oi1gP>?)W?Tw=tdi2U!{` z?g0L94iZIPr2U3$EO;mkg98jq`(@m$d<4+M%R(ru>=ijxQB12?tnhBplXYg39dX*`ow`4r^qe`x6<}-DS@~a>1ufZ>mvIhK3JDJ?5@4~g-ct5(Sat12nZK}n#?M8 zi^vG&Arn_ql?8s;f2BBd0l01+OZlojY4SDrs?GG7SHkuj5eJ_v zr#j8{LJ`hU>ej^{>Y#yGJbWumKL{TnAzBd|7I$@y-b+rJ7nOy4(FwyvnnWDM%{~UP zMK1lBt@rU@Up>cXhNCz@&(w5SpKAdVRuVl#0(~h9TTW6AA=BYWa(y!#X3MKqXjCL0 zD~x!@6=F?O=X7^R7z2N=7$dhJjKwQqKX(cU_-v?>FYbW4FyKNS%Y4A~1{a8WQBNi? zsrZ(UCza`F2~mVOKG8eK?rf7B_x}63M2Yi$ zJF~(*>%pQK{lGpaEzds8P0f$tV0u!V`fC_XQpltw^uvOk@e)u~09xRBs_?nvG$r5O zVGeMX{rf3v{(?DiHC!6+Zd4 zPb}25;+_}HwBq?p4yeEDO=+%Ce~J58G2_QJ7$>+bXUs0j_Wb(NNd-k%{FI8&ilz`6 zrI>cOfuoc_bb87lH{!FBwvOy2Csi%4d~VZWjZboC6}^Ha;AM4<56s3X&Ff7!OdQ!y zC|XzPG3ZqR(fW$$RsmgP+A_GxQaKUV9}~e?Bf(hd@qvJ0IQXVV^~f#6?!!6hzx*R< za}QdOS;{_mQg+0b1Wu@$k;?T8js#91JtLR3I_*2-=o&c!R2Ih*6_8aNu~vb!{C^Yp z(`M!m{VY>jO_ed&@jBaw{0_3H6cG$1GJM(MkXoKrSq?we0DOBDHt-`p+ABfgeRmXg z_Xi^4c3fO+md=RBCftA`&yY&HnFnQO*V^rqm_k3A|FLQKyHg>g7GNRNU`eF=A{Xus zXeC|#WZ#5-2ILwC_-i`|ShWzF*&>)t3k|+dYwe>NRxb?BndurP3y`B?n!k~@03vT* z>>5xln0Y}pZGMV*_Ak6B{$s8;qLb68Q?;t<$WzdcVvxp?^aY8Isnk0m@yO&-hXMoz%CHinqr%# z^9}WeZ;v3L@|C`dr(Bo96gQ4(JbA=3;`Bvn!qbY@;AucZ=51RXfweGN&l0IV>?fmm zs=Ial>z8s^%NvyXxsn$XTM;!hJfVZ#OQa2(lBen?4B&~4QysQi&U!&^3v#eCY$%#%?VsZqZZnHuf8H&xLip}BM>8O&L9TO3Ul8FXe#$K!T zCx=WW9>@o}j<1*nQ1lAAfIjIz$xqjrHGRABN;~^f%qMiF@U~Ne&h*Hyd#v?s#E+(L z57u}DS70l4LJOJ}DbDXvx`y=Z`#qg$CoKjSyjQx~69e*Ef0n+|v_O!q=n7Z}rY;q- zXrs?ABX%4xxs%R5$$(VFFMw>IEl_HO-MV6TVY09O!Z5%SSlo`>zR91cDWYr36%O$$ zGNYgJ6XO}AM+HEs4XP@`QCHUvi6mE+uB6!6OB|P~>=76?Kf&o#GpHiDi&Oq(_fU6! zYcsGAPV%?->-NAXXi&GSyUM&~l~4oj4u&-3pR-GJ$ML(Xgggl9P0ufIVTI;ky5V^ zJCg?%Z1{v3F}x3o?$3;G9C&@*vO9f6_4uo+*Jtn#;vu&HVm@w~qyh z2a^UarD!w$UmL&XC3EgFmM3x*-AB^MM(OuQknkUb>PDmSZAmE7xe8u^(xIe3)_C{H zHzC^}vIqJS98|raIChO0p-(GD)9?VPcz2R?WQhV@lmJ5T;!Q4a#P=G)7cKxIo}~mZ+rhCMfnJcO8HiGeLgI^T&9O0<(o}mPi|Pxd^-r}m zO(Tf{j=}5AT;w`GO-}yJ@jS6mRp`~l7PZ+}73zx4LApw*pHNUaAh2x4{N`!&Gp0kP zkl`-YJeU8tL8>zs1CsNCit!BL#gqW}F>)^?E8;5WhWRQ)C$^Iq72Ijj@(J?}d`^L( z`Wc84t}H1aoc~5pg1bfU@VhmDb zkT%|&2PRY};)``{rC*Yu@ctz^*|rW5Pj(K(?w^x@VctY)fY7S%6q&=_?#RKGKG4ka ztf}Ahr1_(f`nyrBaA2h^INIaD;iM?I%XbTa(Ped;(kZdT&0=6`Q%eT`G37fKIJi(7 z-YjUk*w6UnM`yo<;;?G&yr+q*myXkTRDM*x|JK~td=^b)$!)Pjin%~vxG0jlZkCWw zRjv9?k8*TY)e9CAQ%L7jf7-L``G8ve_=4?(o_xGJt3`rv1DR$~Gh^5uO%*Su6(tvr4?@-IYswDX$zDLEtIkT;@|03(qJi4ej$7U8}m4XnNpZzFC>>f|KRVS*?7>tm<8*O(x@sK z|6p5NAFo`~>jQT7enZq$ksdWH3TEY@Fkp_;!h^?j@}wD9hZ_)6pUh@dFSvf4-asC~ zy%z|RQ;!bD`qrGz0@+EOvPc`6niF}2cWW%?C!|iXC)1&_Zi&ogvHT8Wwt@de^{iFd zH(N){*cJPjHnZh8(d*g{}6ssM4m7&=X!(=fLF~iqB3`kWvyc+ zSt{(l;O%n#Gh!cZ(1-ZwqifE0U-}xAM`~1LM6ckdSBMF=+Lw#g8rpL2346ai!&+{T zQCqCE(P94l>#;eX7nJ=6f9Log+t|M#c>ga}2C4<}U&2#xt7xEWhg+L#i3+A@emyqNou_>!C!hKCdjMAl4aOT&7RUHW}m&^FEcKqJ@SQqP>Tt{aZAZ$f^55$RB6G`QX_8h?v-VK2FJ$t z=Q^oV{g6G)*Su!Nu=S(BQ2SAfBHlD60Al~rTO`qO&b@hl-y7qN%Th>$IT@QwWa0G( zgr_aZy7*Lnyokx#=IhD|LtV>rl*@f61%o-SrlN00vKX+NXgF0lVzP1IWYU9|4I$2Y z;!n(nIN_fQrNc=iP;e4UqTb|B5QcsRPJ+3<(3=-2kYn9qe2I6XaG|ej5hW7E>xag% zKl`}9r~B=V$4K$8#D#~y7)TG2^(l;#hw&CAH3H|345~cK!XS$bGglt0TYTv4TB0J8 zLjvsFPupNsCcY?x_PB>Y8IE_nn1v-md%33!30Eh9I~L+h?0UXoC9%%3D-Mb`mZl3? zjY`y+Xd?d)qQx$LN$`tvpkLydj17gM;-g(-~})- z!fXy^ruqnaJ<#vGKsg~d4iG9EQ1b{y{1!HTFQe&x<*<}9w3-`&rO^-tHB|g{xSbYDW;l(KH z+AlDm@Y*fRfG(%pvKpLgtj*iSL-r|`@l}7#p_t+$->ynar;@o;_vMcM0R3-!;dgs( zZlMv_E7WC0mEFUAe4M9mJ64|lQlEQh5D-&2O2W`L#4Pvp5jnUe96UyorBT?bFqjQo z#ujm%(C(8Bd-GQ2{Q#)TSPUpm3u;C?gqP8jS}P`&8WES1=sf2)WG*2nuYTQ%3$%hD zv6>Ns=8r!_vv#Fyxe*`4&OM(vrlZ(vhq@79cCGVb#0(RL4W-EZqgw`)=1s{v1s}Ow zWo9b711t7F>O0Bh-j#yEm{&WbXGi&|;V@Qjw`A0K>B!lv|2Pv|gyq~zi63PupblD# zgOoq(8kSgPDG;9&b@~3KzNFr~aDlD`tGdU#^sxO?t0Gw>+Hb!scf*laqO#h`A0!70 zC!x>WeI>y3pjhv~IWIC-gG`CSIwOFr$bPPVf%+y@Xr#gORz<&r_lwzvbd<50maWHN z9_)LBq?ZD`o!0MMaTgQOD-NRKAKnt+da_@ens`(XG>s2J8Wkw6;Y2~*K#}>{f{NH* zm|4AwYd@eWd~dOzz_iK?mXk;jF9FspYR3#Z;*jA*60t*bSmT2X4#4MHPn1)0J>I{F zSJ8{pSp9}Gk8z4vzie;bTl=0F@%JyJ*A-GHGr{f{?#vI3qyC5l)h-Q!#%bOWVC`rg+vf2 z5hbc5pMrKS*=LLWE*JQ=RC*2vY`W_PnH-XlFCuzX%&`X?JpOgNKR9w}IXVnY$li1A zH(sBzr>;KV?hinE(OU1?143|0>(h%aN(V_%Cy>;NQHrajI!H}rLn;bK6<99e?Ji)l zKDsD}kK^AJcR`Q)8qQ!mFvLrLIW9u;gf9B#2zvc=uf6_)pUs!t;RPwdeu08Y_udLw z@g7B1k9gzE%&-Fnx_I%vC(e+SU8ZwimoH(STpHkT8I3%Wu?`Bn{PLs`%L@AlUyzw{ z>m+dcC8#_&kY8t{D=I0D>Egj@pasb50>({e@6p;2BbbZE z@(2Ay5!FHfPb0XWw+*A)o{H_fGli(_qnsZle~+g=KIpQR2Z7omR#5T zx~)Rx>XuX(q4H(3Z5GXvXW4o=Ca9+f7cZ6B#}2rdlg6;3k>@S}ag=sN zfhQ=|?vPnV==OUGGRCQ`X(?GI6YWACk;6DKKo9IxoS7#Q(oi*BT(|l~vHn850UIoL zDz=eCFqiayRJZwFwMY1+I+y?UkoPr*{QtY6{!Iz$(u8(bS!&UsPS?vyYPGD7NCJ{vnE!DP;eU`_(yqoRszQEO;ZtB-_FUeu~8WEQMm7O#n` zw3xH9u{_4zFwX>K@um)m&EvmsF4OtGEPTXztzAQX*o!bHdh)f z*64#=zH=q`tUkIo5$%ikMlmc&W688q>R?+58#iM4EjyN!Ejxg@L#;AjxQ~fjMx6Y9 z(x{-x`359=fK?q3V7l!9h$kbf3>|7PXun@cbwWbOLT z??)}PgG%~sm9@UEJ~mo<)j0+lt=}ku=3*I5LOV|qFRG`upB&HwTcn@AeG5TMmMy5^ zwFSiQCu!S0`8oel@O2{lxw?PnV%g^~xBcnO!{JqC}$ zYQi3@3aSR*3a@$0stOYi7C01*Zv-ireUA4B_{TkjwIL*3!FvGvrfyWdJ{I|Z73Bf@ z7^)M;G-S~}y>;!8LeP!O)w#QiOlV1Zo95>Xp8V+Y^-_a<_ONVk-K8o; zUdOVyxY$v#bn91UYVxZibp1HBG&E%iV&jt^CC(->$1$$2rcr;;JB4SRFb2*#_sX+o z#l6Bf$g_+cWjV;M6vZooS)NP7G;L)CZ}Hb5L9T$jy}m}>^V`a(!&iorsz|~nMs$J^ zGFFRN!3;Bjm2DAYkvn?LIO)65g(L1dT9CC&A^9*%!mRD{S?6sapgxVAijsZVcC177 z7~HO?IXfFGiyC`NHL?ELViFqLfFc_3BJ#~E1=?IUw4w&oS)VUhxFVsSUOJq<)Qgs= zm-HYlc7+XFY#?QkQ2`Sp14GOb|qq5 z{l^QEQJI=AMN1jOtA?~jJ{AIYSSA+MJPtPhH4<~Rpzbk4hv2VlK6?dwb~ZHFX7H9N z6uS0sPVK6q%JIoJvC>k<5e&>JQAb+d=0_$|Z?-9{Vv5)^F@~x0d2ie)NpQCY`EyI_ z6{*-rbyDXw)X?sn!Qo^y5QNCkBMix>2$00%+f%~IT#1-O!*3?@XCqLw+KFV-M-flQ z0{XK>N$L^6?9+Tf9d~bAJHS ztKWE0=>_bl-%54r4B<0$M2;=BC-tvU7$7tcm}{DVU#aYUTP@pXeGx_l+bx4iY~k;> zM*V1rT-l=ob*pmc{S+C(z7dnE51k0I0LMY~*8Idny$aMXzX9qj-<74>j&3V=r@ks# zC?P_C2 zWnB)b4$Qe%r{WEQuet~Kk^xoMcMio@x_|Iujd~TFNBt5U*+Zz`PoBXOB470agV-K3 z^eZ)MX5X2r6V$%yhA?U1CJ`!c0G-NPM%Eh-zTyR_yL|upraqFs;kqZfNBtJnTXl&4 z=G2-5K;QfhEUtSj@^kc%)~W|Sq}VQ9knygTjAkY{QbNa;aTxRWIdtP6Wf*kZ0D6?Mxg8f<6TJOe=zc z)R@?V@{DB$HMpr_L^(O(lrvr{$xP(1sRqvG#aBr1!0#M;LAS7kBM?=N$HaG~d&}I> z;Y%b%$tlhU0(Hsyh!A1GyaPvM9|dCGNral5e6%?E9GfQ#qakFoDc@eM*^dpie48tl ze7Y`zjiXU`KS99_AIo=4kfge&!V2bDG+)ot@Jg|pVRqL9x6p59hfAy|@NQn2cBt%g z#~k^;aN-``-_dM{)JxC>%>8*lU*y>5m!ys#9OZ69Yyve`Q>sq9Ji#N9Rt67b{FAJh zg|+zC_?wD7n%FPSDpx$EAG(o%qZ4CkNs*!xSG$HA17f*J5p15{So1iD&!e?l9ruv5 zj`lAI=g6^J*|-XS#bmZKJ%YSFqJ0FaO#N$2jU9KuXsE2f{q&7t4{TS+%1%zs=*Daow@H6g$-3wsTFoyV2K0hg+vS5 zL-6ZLApb{PYhTmYE+&vksy20ZUa%C&iNj8@3|Xtq<;Utf=Bm1yv^RSaR z?^iX~!(Q^6O_*M{SwwP$Mp225R%$$7R1%$(%6xY7#~xncvr-jgb-dsa#)+h8Mc!s+|8#AQRpzQg-i~ju9e>m@d;Y_HHPJQaZkVtC%kKv9Myw z2SR$zl-}ThU?yTfCP^3LHf`ezfP=*%p* zQxfE$RGA%>c&KsURPAV;%b3Q@uR1+6FdDITuid0dE0N+fMzPA1m707>Y-Aj8vg;u{ zE@j1-*0r0gsmS5VZbFi+-hGMNd|oG!XdXAwG(dGRfRi_1gaa|eO^6LQr^CetZ9aiB;X=-U znKE{Yg!qn^%ApO#iN*_5kF|GB0!f==N`WUga3awa$G;KW&=LfVD*?8kVekz~q|Q2Z6WXpF&h}<1Q+BaXP_4|=7$!{H2Yp$=suxCsx(IxNOr4W zd8`2EfaO7h3dc3kWe)+zH8E^L!mh}tmN}SlOz<3?VKt&&2M_8nF!4ZpHrRH6+mt~y zqd_xyXXEfBHT=8~9tyc1VNMA$Wqj7a3mz`Bu%Y+PCbcz5bPJH!JHeu8eyHK$&~kDA z3x=g%wt;sf3lH;mbzgxX{LFz4q5cfwJsm^16X&9VS8`_#bqt4Nl3g7`uoFV9S!j@x zD3BAw!26@-y^m3xX;h@?6rkyBK?iXI&;d#siI98L`A@38S29a?YF-Y0wy-9>{t79M z^Qk>=Hx~|m#;~Sse`VQTO?$AD_vUb0iFtReNS?*P?tyEU4+`;P zXUVq5UmaYelbg7|GlCE=*w6s3VOJCD6PJhQ{S<__0jYcv+rv>LwJAbi@nkOr+NA1( zB4ye!>RvMdj4tsS)4>6cy5-P_Jt#nqO5~}W&`1pNn@nKS-VVSSPX>Tb(4n8;je&m} zQ-rt<>n0+F`sMtx9mOj%n0v^LE`Z6)=Lx6$Ov%IN&+TrMzzUTmN;;t-bM|sE&E%;8 z$gj9+wB6+jP&FwkvZuos@>=AO%eW;hD~~cQpNM8JHGO|{2yJq!tEs~QU=ODlG!_cg zp}2~crbIPlC*8_f;H{lVn*&MQ3fsHvCp-e6QW~`YwwXvTr>0~oz`#hvN+fRY1Mp41bowm-xjjBfbRovU>Z31&}eGxn$*nA(wCZO^WH z*sC5aZ;;CyPaR^Vx&%V(3LUyh<-KY%K;=Er3bXKu9V$k%@X4)GQ#3|dBV_pz% zaY&99;7DH~*N_tkRXqOy!X1qU*Lbfkco>aWR)@i4J1*iEv3%xdaeE$W+`HzDK8jxa zAdaNG%ucvbBc<4{I6|^lG$Tn=X7f?nLu)kQq#ni`?_^lAB*G+Y13{5i8u0i+A|o@1 zrd_7p_adM)CU8ql&^!AQ#bqqh6h*oOP~XVB19JtDT0%6LtAv328xl{GOO@>Bo4#23Wj#3|B7xT{WVGt{T<_6OGs!-nJkR;X9z`y`C zQGleR^_ATSt%_+Pp}XR0%%So@hpPiXf*1sa?-eFA!!1h|N$I$`x_H^Khr|2*S1sm< zd%Q4I3eS9dk~rqMrV4X=Rv&Mu3q$>{pJ>7*lw!yJ(mSp?_fxCQV4Kk1_x|9yympS1 zt&*L_(%cpdEYTXS_u+XCo(I}OP|l;anCY}Fb}L*kW4vwT7*Mj>kppv%>h5*!D}?eD zXIh(Q4l`;eqZulaOsDk4DBHOMKKiqcymVndiN`q^OZV02r$hIC_7KX4E!0D|^6bTK z9R!>*T7*jRETH$*eodps%0pBZ_8RTGFYq9x=aP5h@uM^avlE9U~CYbnT zs;9+wb3SYq+ypL!FGt4y*hJ?>SDz)Y=)R2Qk-pfVy6)dW<56iFz1Pu-Jy!+-C&Fm& zg1I_pP*_M1R1=4D#l>DFF@OIamj#`vubD$EHsQqPps|G*a#frW)0 z@z!87>4*LJdbimaEDzixs;n53x32|m{cv4;#%?rJ_!CW2($i@)h%C5zMM9v+r=a^5 zwYvKiHe$wQF@GVG4Dkjo%|bV8)B#hJpcy4LWEnLXqDi6^&x5RzeFFqrjv6gg8^mI}bB`Y|gL4hFVR0GwI*o{lM_&@AeGTQG z!XhqVJP<;j_~L-voCZr)N$;4|zt1^`(o&~v*|}go@b=JSNa3nS2Hjf9gV=k_5Eswi z;$FFW>{j{!{iH$%yN^jGTD^D2fLgaJ)m+L`u*!g3>RpFn|5WG0pITJc@fhZ9n<1Vv zpQTCBw<9P_{Sx4km5ba9W*aXZ_>Q$9_u{jnwZ% z&+7Kz&cxW0u)!_#x!LQJdeePEyo^yo`$B*T5n$Qz>3jaKIar+OZ(Lq6t1*~Vr~CoD zBmDKEUi=6GuC|TO^l@IPR$4qIy>m(@m?h5lHQh!DD>>%^zEic2-M_|A0qX@PNf-f@1**q$MOu9Ak3C9orlq(>GN zru5Z{e`g{$ry0ZaJF?sRM)XXSut4=zxO$YG-b%tI%(7X)8uX(beWg3}okFo#%XW}= z0RNBH>M~@$qkn0QBh`Y~ixSNH2PdaW{hQX( zsD4q$3lQMB9}w|DF`jcEB!ct1^D=uKXJ@RvKE6+=1HdH(Ve-5A<>!7F^53cA&h2_#R4-dr#IImlkqQ;RX5b z!h#5QoJ%;OOo<+Gi-?WYZOl2L%{xO6Bn=jK~I>4s&_Z>^V8ldE&^)qU$0LihDB;DE1{o z10*}X{cHZ|vM<_Ao69X#_)%B>4kevnKL4%Dzdnoz$0La68_ebqFR%v+42mI^MWN`D z=t0BHh8_uc-5H~jwi!bTknU5(XD`+}-ccC3+DKIS*1@3dz5ma3i2~#Dsj(R+Nuo1O z*^uM>tlOZpcH1a_G^@DWqJ(bJDZHP}S)5wRY8B-L@g)oDB9JVojoSiI#MCugaR#*a z$V}H`O9rzU#0WRAX{Xi7(FX0&Pzc(Qu|vyLm81D$tqCHf6u8#yi4d-*byrX|@CJDW zw3Xg*s->?XBt5Mt1+arH!MB$E>8jD!Xs5oDbEavhjecjf2Vz3cBn1nVZ$xV|oJ_V6 zHfVDWNz*W28r*#6y2_VH#d2lK#r!+;F-6dykMTbuwts{^{;P)CF%b(X@vfAmgp#8o z_{V82ga}rA{Jc_yD#@VLSL}n@4QEYG@;4L-LO3XXFaFI7+Td5aRyy ziSPTbBWizL8}#@gPejheNR0t8yk{62ta9eV!UF7NHw-o|BOCY*7@wK89T^+*(IARu zcz2ZcBx1TDyafD?`4~KA8_kM~Z$%UN*Y7@k3P0PGaAIdXi8%InRf4t3E1gQG}sfM*bJamEr*s=If14ma76jOzg4cTOT zz9F(ILNV*}C(X_Wz!T#fQ{5)) zrp#e3iIbM7KFT{Qc`0qg6as9U#ndj_)nH5A9-S0Qg_`+6?jHOfbK}Ovqxh4R{Ljtp zU#*A#D|5R7=0OdR0RB4PQK5sLPfY2c5&~q zcV853D?+(Z#7r-DLGoBBv7)~bt|-sRDB1j7CwX$^|d2s!S=QKUswz$sfOL4 zUHDH<8>L;=dR$f zI-ApZy36gVZin9&$USh2sBx9%s{;xWdzETe5O2eS1;c4>6dKzLMq8KBQA{UvTzxvM z;vm)?A!M2`4#?iKzhssCj#=LG>)eLRow8;5gfR)siU4y|OFlGr*hwGQ)_IMrbV-%= z&Wq>nnde_R9n$AXTmk{-{S}^U-LO=PDNEKelVYuh8;JRxLOSJ5yvdJj*UV3hbL-q7!$IoINg{NnA`7J6`P3}>s;?Bs znij7<|EMalDU2AiNDzk$4Szc-ga-;Ox{8)*q4=%)jUuo$bF`1!GkP%*)8-k`qmQML`sd zHL?aIqd}(nz|&~4pofpTx!d0-tl=UtLf7mWdhFLaln`=wR>b~<2xAp0KkXPMw9^`D z$Ax}}c6-ifm&9RoWe1HJT{tGSk@H|Lt`>89l$YZrc6%I?==Y_ycJsfl2!zr1)@c7D zQu|j|;=emvmm{U@21>R{zmLFv!9O3R6!16Aj;VtwKVrQr=6ittl>?6jCiJ)oTKRui zd&k&b0YSIQFks}FrH9s2{0sg#iE+etLnd8du*3T zw4AR2E*-ZO{g4+`>0n23s6zbr?g$YNuF51?bCoPJpdS0VU~#^gx1-H3XkxpMYMFNm zFc~aLD}VE&8fyQT*38(t(mpb^>C=SIZNHUPcW+T0M(c)&cLIkGww{9p^P=sJ;~Y2|>=5B&jTaf@LoNuQ&{fi7$AxS^5p#OT$0e*Y1y!J) zG|E3hEU!LO@^?3I>4{wCQrKldsI16A;|bf!`K3xDOU_wRv;5G(3A%@EwLzN|#2;{D z9_TEe6v{TI=QA6nMBzecbN=Jct%!dF*22}a#Pb8Q&e)EBm8k^}`bl){Uv`YT;2MDp z-6#iYC^^xvsVR(vwKBnxG>QDz5c()mF6{5BZsGf%Pf|rw619vYjKq(1rC>J1EU5jd zV8$v;e!9Q5v;RG|wK`A~cqjZnXhyIsG zTsTT$`~RO$g#XS_{K*csMiKmpNUvTq*<`c+w5n>Y&@J$E)b~L|B??9jT5C>M2;mzy zVZOA(GoQS$i|HFTM-vfw1Nl(g%fT#1FfzQ#_Wn73yPNraz4^iKAmMwo|H*<|bf^;C zvXxfXt?tlpcT6k5i`_C8O&tATK{ZWxO0ljOD$-0Z2B3PbwlI7-P-9Yu`G&qNh?r5+ zR@tj^F{ zj&?Jw+2qmO-UR14Mn0$zyXIExYoJ!-cD5fI4ULg&@ts+`tPc7TY(Qcy+e(pkaK(mt zsgR%AksmahN3+3d7e=EGiHbL!%sI@9_T4ZBZL3SA*B*G%JB98PZfzZikb(^zk*Q*` zeO0`iBU_v6q_%!M$-O(=_&=hA9=0?4t@(c*dDbz|r`b@@khlLBT1M!modVyZ8uu21}W9Q|%jceBvAQyp4!G&Vx{w=oI;vDQmz> zo1{-Lr0zwX&|Np~;s7a<5vhbUn9XuW6~#z1Xs9Y2iKIWM{S~w;wP5 z>gRsW^`7HB23&7>UnSlwc2VGi20ZQ&LmU{$vMn3o9cRP0!?!uwbp<|ZuI}_ZJBESa zG*CfgHHZ!@+f?$zN#dYjBt6+&^vgjc1I^iSu`o3JDAk)byz zY*^wW|C9m8E#D_R4o!z;zGYZT>R9Sq`a2BJ1MAV`NDSe7n!D}?x-v$d9z_i0WS=zQ zPXYn_aLn-z03q33;S=v`Un9_d0s{zKJ2u_HuhN>IVd*+*kO67jH_+XQYgN#|w|7E_ zFOm>`&~=96UvU#<%x(DK3r*)Y!qo@N@E^2(as$HIetHAecz>hycQVg$J$SeJ55&Ow zPJl4BhDY?3Zl>T*lBZ{&{YHT8CVW%}v~laDncApdSRo#yj?SUCjsp0)BYL`WCh%mg zOq?*1x-xLhoJ0nSG(F-#p7we!J~)cl5<-%uag9yK@H~E9?*l%wy#t&PxNeAiR{zB9 z6jdMK$l&jz$C(eoy##~M++^uIky^j25f$&YIp1jd&_m>nVc@ z`|Qfia95I`4i}&0z-^pwNETNVbQDw+NwQ6W-XjR<6%&(dZlWcb04K#k9#|9vY!TQk z4C3<#8rRiARQ}B7r8q>q2OaS~;~YC!kO(9u@aMS&hLzF?7JSsd?EpoWE8t_)!k?Y; zbq`h$pGCWqYL!*QW8Uv!Ee7pk=iA(<4{>kcrQ;ARad9INi9TPbw}(i#e7g4`)F6WX z0tlf9YON2KLf*JlLdpR!UaQoE;R}5{70H2woo1%PeO_DMQ8M*N^In z?YqY1N^0tCmb>}p)kM{C?a{xiI_$*Y*xK5py-CEt29e*7YJPME8k{7T+~h6%MR1r_&rJ2}NE1K;tZGG%-ZwC>#?X-9 zFHT3D#`%i-xF=87sgv@aqCWwm(zxcVyRpo>vG%92)~B)dYj`V-+`XpmI?`9SW^r>U zTY(N8IRIz`?Hsn(!KO%@F_*5oo-`Kt*NnQk=8Ze z`jy68l|0cb10X}We!ny!A808 zfRNd7P~#w48cncuJme0B|LC|IM5k|( zH!B}tgCj{pA3uW?O0wlQ)Aq+w+r@U*&Q9XFQ3#Uqp z95r!_-N%m$y@1pxiGc79A@rJIBnfOsnwDBwsPdnzHq~lG(@G60bY)9V;M%fcA+)Mt zE7592(GrcS!SkC;=srUy1VB~zf~sSvM%qciAwyy0qY;QMOexmNzlF6+W>pW|T!mrH z;uIo%1pBhT53qKfiXjxc5vav06*nqUf#<3ohD!|}bOer(uujoEg`#|l^nM#Vw^Fm+ij*T~S&ELGJthded3BJj2uD?74EvfI4Gk^5_lXt6mt+ z_Z+0$G+I~fqCwA0fRGGUP{c)3!ETHuQSZX7`xPusl4y_4zJjjU1!L&c*HwdRXqP%JOb&}q-9g(u9BJ2CAT}Sx zHg>E{|K96_wjycXmMU9j--4JRGrCalh&T`jOr^@f&j-T|hhXvt#%pzVRUSfee5;u9dZ=N{ z<&k+3cSdlMG+>|2NO5zpH?Gr`#uHB-9hyt$TR`&Cex;1)RMwlBlQX@uPltqe*i9Cl z@q(NCyb&-bp(@LN9THy_sGh~9B8(*)Wyzjw1TemoR)FQ({nM|%-z+MqbhtRws6(Xb zphXdEOC$L?b_#}q{y2eLhZ(L9pWrqSGR=q$;oFzc9wrnPQ%~?zWeo&@d;{WVVYY&n z3dZI7h-de9%I7#rRa)Om`q`QSs^?_)Fu`(>=nyRpg8NiZ*IiVkM7p${l>V$*H=|lI z#@=MAPpV{uiFR>$;zkPe7sSRPeY7IRJ2SPM>BF}m$AR1;ro{-xn&|qgWPoE6S$&plmPx+ z{GiG_iH$stS5t8F{F*&huB1YSAlOA|i7tsgqa6)NNmK(@p#hq`(gQuowOwySN=Lei zf=$;l?BRNe1}EkiuT#`INXvhf;K0_Jbd)L(nhEFgtEcGTjd}UijyfLW#%qRMK>S0A zN|Tkfn#|gwdiA?PDU-)@BSqQTnze4_5b9htvOS*IRqC@K>+i&&0pmfxYk&hUZHUne zF+k+?H*i3};jlmFpT4z0|Bx4L{<8;p>@Thd=P)3xC^!bSVPN0vS*wcL52C*$Cf_!Gz-*-qt) z?tBlE;`R7|u|hIJCP7VP1)dxoAXhW|5y}rO_v5wo7~wq+t44|Px@pn_H1`!Wa{1w# zGEf;gOL**YkCHJ40FLQ%uSOaA{jVWR`a*7UCD+XwE18CD^XL*`YUvQi140%>9mj>5 zOYmrafpPLt*aqY{AUgBm0e^uuN!Nr~yH2iO^9SrOLt*-*JAfXrZfFy8A_tog{G{%| zVsJsoXaz2#eznX2Nu>*XM)#)eqFIdyv;-J6`zH!$CA-6-Z$p+O>k>EJQ+27B-BW5$ zuHhKO5P6@72?dZ*DQnD%PRsT;YC|m&Ysh_v7c@3TLl~5B*VF?J<$hN?;DxCM`@b@3 z;2~)_qf%2C*uH^g=duBt{L6hYWNXkU&{Fdv2`p=UWdfgN|s}X z%@n`+&JWI%>W%Vm_WR>Z6LWz|LyoBK{GqE4BhO4jL9K`gCB$ z4Uiwg^og~q4U2+Yd0wb&U+vdT!OUpyLscKd{Lb!$mC$aX%7V;DtZs*Fp;j3*hU-)~*| z==GD%D|)brx0Gcmp>L;YP0W=6`tc7^kFkch@==}2qK7zQS)XF*%}d3)s6&r=N?j(9 zS@AvveI`S3CPVpSCfe#Nrsv2uBC}4akaPYx{b*Z^HP4zjK@W5T<1>1O{<90NuEfRnJXtT17xkyU4WCxN;!S#AD#7;1pbwU-W#$; zhbFK%GUXc$qgz6_`eEE)e}%)Wo79L2J7>hBMv@vQ#3O(eX$^|Q)+Q8*L)6F~fC~M1 zRFpNLFJ^j>fA^B|%SkjPz4dNN{pJgEq|bE(w3%%0oAvB^1?qbP@|zp-yDM?$TW(OK zb?96F#(p7%*UX=|cAES{7yQeayucS%tAhjFH+T2h(CH9TklzxxzyunS?6!WcXwdy~ z_bT3DF3rJxwcpq1$l-eo{|X-E>Xosb`(mdz@9hO>;FECRlVRZV&`=Y1(-D8~@NJr3$Q5EH=b=FlhR`$0DFNfY?)8u;FJ4SXfz-R?~a=z?v>kQsd4 z|2y=bN9F2x2JL*E%j~LM>~7KR>QU})*@8Uto58!M@&dYK+c8FWwrnAuwHL?ykpcE7 zfN$dVZC?Zj^Npb%?ZHj!{vHQpdd#p*oopcX33ElAbn%lJM7uCvKxS~4$Y70ZNEY@i z<`u4YJ1fdnA|@ac4p6Q{;7o*ZpAQLRK!n~4(XRS)56V3c*nNWZAuee2=bbPTXvz=) zFlNy1cBogj#qlAyE|*yO@&r;G3wsslhp|+XcnL|g-vOIq$ArGZ$}YL7g|j}|IYSSg zr6)Scg|ol1P4N*BGKTtqC3kbR37`2^&*>lJ2FHbU7=U~Ccf`4(CVvzoqk%!FRgA1~ zC)!jYqEsO;`lfDBn{c@>IF0ZoIB_-uq{HBm7PwoKA_x2!D$LDI>8sg+4sy`B`G@`Q zGbQ`>ch&OUH6$HRSfPEy1E2J}qJ2cRI~{fw_;)Hg9Z8eEZ%o|P-u{7GT(Ricms~S?xn90h zB?K=A)0>jLHXyjtGU-ij^lZVyh-jF8r z7d=q7WtD% zwZ09RxqcWK&)=ckAfdlg_MwXdrG2geml=}S43Mw>q5B&{FYWJD*#9i!sd5?7i}pmy zQwjYAM$U=qQRYK4{LAlBTWWiZeCLiRLr-u^cjB-lv2T+0nHpO4}^8S;T0 zP9??zLQXAIM9%PrA>5ZOS0+5>@4i)n4wTUHoZ$YD8th}Tt|g`z-twcD@$ef%EH>sy zIn*b7F;^~~lztgOd2viClpJy72u553%f#fPe&hKyZ;hmu(e;Owqj}JV2SLps%aorc zYIdH9C#R5U(1v4V6{-4NQ*$xP71gMOotqNP41$r!V$d|zG#-gH;SUaFcA+i%T%iYt z>MaH`ntrCp?HcOa1)6$E=}RIO_3Yrx3!k!MiD@+)Ww7Wi(>cdJy0BwsM^jFac1$z2 zU2$`a*%+Kn3n9##iA;zd^QLL((f56*9J6bNWs?j;a9p^i_HmRVBl**i&j$nMJC7ge zznh{L#y69zeX}d84^ZE1Z|J;H^Ju{H&HGEx_kUq5mh#t}crk#0M)>}x|M4{cx4mvT zQ)d@b6Cpz!}gvpV*JuBe^7NMc5dN1etWy2KZ+|Kgsoayct7zad1W zzzV#}#f7ffz<5Kt^1eFWLjv?jv zrc{#rC(%+oXHnqFvH58I&Xh9#3yB;utmfE(7G~6c3D1t$nJm>C z)&(D)DJ?%YR_(gUW?IEi7F}5>$a`%zx3s7?+IpYf!^=GZUFNFw&gEk!?OK!pq4oD;r?)VD8Mhmk*v zIht=>>lB&At$fP=fkzEHBguX!;>Xe24E}F;6da7KjiLddiOpR zYJ%O7`Kn%j1fn=;hbM&YzzwJmjz2MxoN-^> z!Prng_$b_#$gW!-gy;Pw)@tJf+Rgvqqx}BMB8{E}7e@0_gK7U`4O0ETwZ8wxT5v=C zU@ex80g^|i&|&?^KA1h=kc`= zMgS3zH2f$xJ^&7elSAmx1H!%|mTT!`#BAp@nA5H|F!O{~fYwg{LD#aXe&I8SZM$n$ zg`(|<^W4g9K$1J%qukE91QK8iSU>|D2G5HGf?vuM2I26tmvIk-sJ#)qPKN$>q28w1+0{1IwKMU#()YQr4(Sh} z);2}E@6PaahhW$}3b4(E+yWu=odI)ijYs>=M7Zy)pmitZZ7bZ+Q?Tp{>UC%j zc%y!lqO|Vx$QfN~1AMZw-ZkFdJD!1_0|7ka?FegW+s-Kdc4{}=PsZ2yNd$VH5(9b^ z&Bg=>Z@l?CBpol5e5p}!`|dd}pnh@cc`kd;w^ZPsTo}?f5CEQ{ohG^P9cO61>tOs3 zqWkY(&w2-RepDF#!TfG}@;7Aw?+kVS(RXhcb|gD^2WL8Vd777dopwb30fjn_TUDPJ z?>gt}G{8q>#|tZa-);zd`zxKYf0DO7=dJsTx7}C&%m&~iq3uN;5PUJ^kF$}a`C`76 z)aP)oZud2P{T-9l*VMYTyVWK40r8a-_Pw{;*YO$`cun=f7pR2+d$xNPfF5yz6pVzE zX{Elz#=5k8v8trrWC{0cneae0EHI%QJ-XH64?f-iUYM4$cAM7>`7g_I>uT#&0HXH{ z8qOGSWh*==!x&>gb@;c;U{252Hu|MNz5B`6Q!FLY#_svw!TFTTx+Y%SGpJS~)Rny2 z%VoDqy118ze7&uj*P!_yyX5yq+t| z`$mvfGlh&#_4G*z*(s-{7~~}%UAs0(Pb?m!xlEe+6vV)q&wLN0veHkEuJtCKpMLNY zVdb?cR8wb5KA!{(u&sW1SOkP?DenA`-`4yDBc(niBH`?3a|$Ua-Sx5?_=A^!u;LXr z-(sRyPg!@63lenjBv#@QE*1Mpvif~FeWg3=lq2>I8(rmyprojhB)8Bm8*elN)uZ&h z0;Rw-1FWEVR=+hfAaB3W1YJeH|N2~~2yEk5w6_dwTd#K6XZ7K-4(Sfrse01%0Kr8m zo+ad?hzk^%CFieV87;Vlqv`mYLtaJy02YFW$KavpMy|ykdtV3XRf46eK||ZT4#_f8 z_#832pnbDVfYF3X&qS;VeHZuQ=E4j;bMV$#V3!aMW-PmX1pi4KJqZeZ&X!QACY}|^ z0sU4PLHC2C*4kG_@=Po~10$xm>Qu zY6{C^2WJm|M$udZ@)W0a{KIJx+Yq<9nrfZ)X0x9&$zdLjI^wc>hJBn&dgLE%mgXMvWNtnbkV)GWl+{cnF5V*477mp5VjzITyhLW! zzoR&pFydlr2qb$p=b|wY&VDd1a9KY)xt;J~Pe%(|+lH@;e}-cnnnTfcS$uhzt)?2; z2o%8;hCMXR+HpTX?^eeiMX2Pzp{5EP2O`z%r9VkEw_v3iJ-rpBtq}m(W!#3$Uj;07 zkz+Je=ggop^$NEVE0UG=W22VE)Zx4dsMpancw9Rs_T`n<#qkVW6`8R#1?0vPp|lD2 zK6ssV&Z^#5MH(4m44~-thZD)#%p=6nezoG69>4Kh&_#I z6-xASEojxjepL{0&|ThzJ(?KG@Wdlw4c>Jtv2!V`8VlKMlt`oG#Ibal{`(d@;B^P`jnu(!9&Cf zu-H!`C4ETw`qG$@j!+j)Ob^{ZVF zgA3+LcqQS>@(NV+Putpydx_|(G+;noGI0%J@XLo~eWS0Th)*|YbjNXL;^b>8RB{CF z7AfBQvdDo}^+3{7x)Da>A1vZ|i3udAdV%tbWZ(p;Q1Jk|Qri`@y9(<<<0*wkEFavz z(N%@?Pzt$rbcXB|4%wbmpu~<)npw{m=N7U}Kyov5j;cnA9Cs_Kgzi#M@xb;AVBp<% zu7RE#`~h=7{jRv-wi1bTC?BM9QY~=$9fyO#P7fEim}D1cgd!@v``BkRs9TymdJouU}6wyWqN6XL$3 ztLh<|Kpi=P$xcrZ6Qer9!KjCXqQa<{ogXP_1Un z*ow#K*5W3@i*(Bsg?cQMg^FnBBjBPoDxygal!cmTS;J-Hiz zKn!Q=lZdhKiN-=u^@mR@Pf&r;ni#avbj!<$C4`ZTHr*F+ePHv-Il#*PDP$K!)`wFP zS4QH4ug=Wi+dVlo#cjUG*v;;JzW=h{R7?!8Ngn3NvWRpZ?ug`&M>~#!QE@C-t=l7R z^qCfAU9*%WuqjL@C`>wjNmi1gQx9>4p570wKBcS~*+;jP)`$unte9!bl=!Rk!*Q$} zJ%Uq}Wx^@z9!ZT)VVsH%vzG#MqZ?d5+MjxQYv09Qax;xgx)??sJ5<%K+9#PrCZeIz zVni=sYRHTlQa5u`a9>_zQ(s|QUSzFxi;Nn^I7Ku(JPW2#mP(KtN5Z&Q?d#?h)yOck z!@KiRD2ZesjBM4*7Az*YY}45=!j!j@9H+Gz{<8q9cF>Q8^mOZRG#_9XsizElym`#oMg zpY&Hs7Gwz3WoY>E#J0|!c-NX`oSSUtaw{L^s=0`C73^-z2Qt-^{504HYPAcp>m`Hx z0--8~u%MJodAm7$7{Oj}GG1LrS*n>pkm@0mpG)MfVMFgUzi!PoK&Q)CSlQOuna(zn zJ>>KDli~YC#0BM25nt(_0D|F2sI`ueAtB4jViTQmi(hI`%oyb{L}dIW%!w99%%zmv z@52)jQ78B0Yp~FUOR?~^C6r`9^8Ix*uWlmBO22~`eK!qi?UK(y9*T6Bk2=0zd2F`fYLs}I;#%57511$IE2*d11s{W=jaKxHQ7BvP8WsD{4g150EIMP)l1H-= z?UBGC%sJP#iiv1+i4xY(o^;KqQWb2fYxkThmFN+oSPpa0Y5C-j-P0V8e=+^4NGDk~ zZG4czZJ4lk>^8LwG=v4cTK&zTM;N+gF)i_P-qr;4B(VLDp#Ocet1DsN+F=qDTd7eZ z;Fqf5m;sxKYZr|%eSlU!ky1^F%zZqHF#_SIs6NQ`ARh$=sXH0!qY zuNjoWJbpkDgK6@P?O*ITo(VKG=Mgo(`E|DL14HWOMW>Ilq~&HaN(nD`+7TOvnue33 zG6re&gOVd|vo3<`>HJNvlW~myw@i;weC3LJ2KqmfMM<|aJ7`y&7xmD>c?Aspva@+` z+d4(=gxX(31S#O7sy@}rk;B$>-tz8Q4fMiEvlNGeCYA?2C7Rv{*{tFAw-6gb-tB~u zeOOEDk50yaXhi5vuJ^D@I)Z?EN~m^A+bH*(RCS1I)f%u>(bV^x(9#^6g5$VST!02f z04n_ukV$)XvZ@N@%D?N<(j?%#R5nUp$C2A5Uzfcib|*31ABa|{6#GHpiP5*xQiflm}{=kR&7Xu*JHQf;YF?{RUJn2;jm42FgVp%6k` zfd<g-@S79tOR-o_HGAJn0~)QUGs}>m+e9x1d@rhhQkYKtinfG~fo+{EYw1_cW!RZIX z*`-)ihI4qK>XwK0CV|}3MvF26(98X%L#}m_ccZIWF_&hy^PQtq8bkG zO3Gu9QYu2M-grsaIt=|jV_=Ev^Wb=+@Xl$7qA9aCQD60iAtlgyu8`8Xg;G@;MkJ&# zqwm`2!c%*F-OMq11e>RvLX6KK!^i&H7K0gfSd*lAJspRATsIV zpFBl?cTlu6DP)^nfJ0x&byma7*nGZ3dT%2i<~bMaKD+>w>ln@^@tGV$C;ge+!IiB; zVQ|kbP;^54;%)LRYTVmSa8Uf17V*;GfFp8Ga)Lj|z}gZ>%0Gvp3Gw!_sKd%%{Q@Op~Q!EGuW%E95j;^n}+%faFeCh65LEkeo#T zJyQU)gfSAN5JEOg*DmrZOxsXK^KWyqRj0g)v9^;exYi65yyD_*P5ghRUgJDQM);TK zk{_c!*tGcrLdF8w_<^DilovtJTOT7l`dH6}LW8gl@CQf)BM$hNSFgj5qEI^1%pC%~ z)~u3qMHF?WNo%x{ZWGeuHuSOr@wUX{f&Bd&b?;iMKi#;PTOV zeI<#N)L2uhWAiiH%!5vk@tuObS?onJo`YiQ{PDp@>!?{a9{2nfS9z%|DjEem^SIXd zGD7aYkqognzh9mS_3#4|Cb|LXscGNwqJ8Fvfo5Krw;4`?1dHTj$5~W-+lg#^2r{6t zf)P8sG)SN_LL<|cNIUOtPJK%P6)rJAN))41-V)D1ZAiT!s5yO71y4_)@R4-zkr1Zg zdxBVdzAya;26Yny97hJDNaZM`*<-llM(M{=?;-uf) z0Z_TG@m}_le|~s_GvdWB&kNLkwvBt&dee}2wBIq=-^jMsyoKLH^<7AynI_9rbjkp z5c$lkR50SaNbEOA2{MTvUQ;Oo@)6TnU{Y%&OF`c5I6o_T|n^D(2FST>dQ0T-uO5cquAp0Gmo?{@U4@ zip5tH8n;g0espr=8S`pY%K)7n*_Yo=XZLFc@97Fk>~Cu-*O>^tfFuY!KgpEoN97?_od&Nf_CW9DNi_W{is~!k#OK-Y*xM zk9}%J?}!?G9J=CLz0cRFrR4Lt==~&-Tt}vL@&^HstMFf#V$wY6^>2ufS+J!@bf}1+ zD|ImEOt!tMc+r&&Rzy^$(y6q(lpnMQ=B_9nIs_oUtx&f4Wc~UwMoq{o#QXpU+vHcG z^$`y(m;Vcsx2I7llbT>%C-{f2*)aWsPDsv?oZ5q}I}Rf;M^8Rlw4s4Nz6u!1!=*%-B z?*3%jh28Tw=O%QRCsCH^h|>eat05eg4X19@C=ew+N`HWHaVqe&J?Vu&ytfy(ZOYf;YwGmMB+%7sDEq0?FSFtA9-z?gxn-8`FYd`Q!g^alj=p#DhMd z{PaS!m74sU4gq~ykGRPYa}b$l zBVD7R61gy)WLp7y7eS$|HT2ITo7yGok1-cmEK{~29!9i)7L5=BssQC_%VjZYy!v#6f==O)GerD zhcU?TA|^;09h@RjB6s@87!kvZ?kW)&1e~T_IyeX%4$gyq-+|(t|Go@=ZuC6h;pG66bCvX(85y75c=&we2kQw$~32RD-h$)q0y*z&Onhnf%?{6-)kP$%LL zD}rQ2ipVNql8Q8rAWfycdkxGpnI52*wlc4|OEuoJnzbo;=`x9)9c<17C@B@$@{#Oc zxSDzL(xBA4AWZ1{hmbbWo4^en1wGSKbCjFGErtO58Xn8&2*9 zh?4bq+< zhX42Uya3M^8?|Fu9f0A;_yJ3^OQ!>Ut-yz<5%R;jvS~r5aYU;v_1~ZpzZm9PbmVi} z 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


Cu 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 z%0A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