From 0d89ee8e9f316251a4a26e3fe1e5f0f041213305 Mon Sep 17 00:00:00 2001 From: Krishna Nanda <59322@hexaware.com> Date: Tue, 21 Sep 2021 11:07:26 +0530 Subject: [PATCH] User and Member service ang integrated --- .gitignore | 1 + Angular-UrbanBazaar/angular.json | 4 + Angular-UrbanBazaar/debug.log | 2 + Angular-UrbanBazaar/package-lock.json | 300 +++++++++++++++-- Angular-UrbanBazaar/package.json | 7 +- Angular-UrbanBazaar/proxy.config.json | 19 ++ Angular-UrbanBazaar/src/app/app.module.ts | 28 +- .../src/app/auth/login/login.component.html | 32 +- .../src/app/auth/login/login.component.ts | 21 +- .../app/auth/sign-up/sign-up.component.html | 84 ++++- .../src/app/auth/sign-up/sign-up.component.ts | 28 +- .../app/components/home/home.component.html | 29 ++ .../src/app/components/home/home.component.ts | 7 +- .../memberlist.component.css} | 0 .../memberlist/memberlist.component.html | 82 +++++ .../memberlist.component.spec.ts} | 12 +- .../memberlist/memberlist.component.ts | 89 +++++ .../page-nav-bar/page-nav-bar.component.html | 6 +- .../page-nav-bar/page-nav-bar.component.ts | 3 +- .../user-add/user-add.component.html | 1 - .../components/user-add/user-add.component.ts | 15 - .../user-profile-details.component.html | 63 +++- .../user-profile-details.component.ts | 44 ++- .../src/app/models/member-user.ts | 2 +- .../src/app/services/member-user.service.ts | 57 +++- .../src/app/services/orders.service.ts | 2 +- .../app/services/product-category.service.ts | 2 +- .../src/app/services/product.service.ts | 2 +- .../src/app/services/user.service.ts | 84 +++-- .../src/assets/Images/Logo.png | Bin 0 -> 8525 bytes .../src/assets/Images/download.jpg | Bin 0 -> 12099 bytes .../controller/CartController.java | 2 + .../src/main/resources/application.properties | 4 +- .../src/main/resources/application.properties | 4 +- .../controller/ProductCategoryController.java | 2 + .../controller/ProductController.java | 2 + .../src/main/resources/application.properties | 4 +- UB_UserServiceProxy/bin/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.class | Bin 0 -> 5516 bytes .../bin/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../bin/.mvn/wrapper/maven-wrapper.properties | 2 + UB_UserServiceProxy/bin/mvnw | 310 ++++++++++++++++++ UB_UserServiceProxy/bin/mvnw.cmd | 182 ++++++++++ UB_UserServiceProxy/bin/pom.xml | 56 ++++ .../urbanbazaar/ServletInitializer.class | Bin 0 -> 1492 bytes .../UbUserServiceProxyApplication.class | Bin 0 -> 1265 bytes .../controller/MemberUserController.class | Bin 0 -> 3189 bytes .../controller/UserController.class | Bin 0 -> 5300 bytes .../urbanbazaar/model/MemberUser.class | Bin 0 -> 2911 bytes .../com/example/urbanbazaar/model/User.class | Bin 0 -> 5038 bytes .../example/urbanbazaar/model/UserLogin.class | Bin 0 -> 1675 bytes .../repository/MemberUserRepository.class | Bin 0 -> 1157 bytes .../repository/UserRepository.class | Bin 0 -> 1121 bytes .../src/main/resources/application.properties | 12 + .../UbUserServiceProxyApplicationTests.class | Bin 0 -> 1115 bytes .../controller/MemberUserController.java | 23 +- .../controller/UserController.java | 39 ++- .../example/urbanbazaar/model/MemberUser.java | 21 +- .../com/example/urbanbazaar/model/User.java | 3 +- .../repository/MemberUserRepository.java | 5 +- .../repository/UserRepository.java | 2 +- .../src/main/resources/application.properties | 4 +- 62 files changed, 1577 insertions(+), 159 deletions(-) create mode 100644 .gitignore create mode 100644 Angular-UrbanBazaar/debug.log create mode 100644 Angular-UrbanBazaar/proxy.config.json rename Angular-UrbanBazaar/src/app/components/{user-add/user-add.component.css => memberlist/memberlist.component.css} (100%) create mode 100644 Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.html rename Angular-UrbanBazaar/src/app/components/{user-add/user-add.component.spec.ts => memberlist/memberlist.component.spec.ts} (54%) create mode 100644 Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.ts delete mode 100644 Angular-UrbanBazaar/src/app/components/user-add/user-add.component.html delete mode 100644 Angular-UrbanBazaar/src/app/components/user-add/user-add.component.ts create mode 100644 Angular-UrbanBazaar/src/assets/Images/Logo.png create mode 100644 Angular-UrbanBazaar/src/assets/Images/download.jpg create mode 100644 UB_UserServiceProxy/bin/.gitignore create mode 100644 UB_UserServiceProxy/bin/.mvn/wrapper/MavenWrapperDownloader.class create mode 100644 UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar create mode 100644 UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.properties create mode 100644 UB_UserServiceProxy/bin/mvnw create mode 100644 UB_UserServiceProxy/bin/mvnw.cmd create mode 100644 UB_UserServiceProxy/bin/pom.xml create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/ServletInitializer.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/UbUserServiceProxyApplication.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/MemberUserController.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/UserController.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/MemberUser.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/User.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/UserLogin.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/MemberUserRepository.class create mode 100644 UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/UserRepository.class create mode 100644 UB_UserServiceProxy/bin/src/main/resources/application.properties create mode 100644 UB_UserServiceProxy/bin/src/test/java/com/example/urbanbazaar/UbUserServiceProxyApplicationTests.class diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e10e727 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.metadata/ diff --git a/Angular-UrbanBazaar/angular.json b/Angular-UrbanBazaar/angular.json index 063ac34..9a07b0e 100644 --- a/Angular-UrbanBazaar/angular.json +++ b/Angular-UrbanBazaar/angular.json @@ -70,9 +70,13 @@ "configurations": { "production": { "browserTarget": "Angular-UrbanBazaar:build:production" + , "proxyConfig": "proxy.config.json" + }, "development": { "browserTarget": "Angular-UrbanBazaar:build:development" + , "proxyConfig": "proxy.config.json" + } }, "defaultConfiguration": "development" diff --git a/Angular-UrbanBazaar/debug.log b/Angular-UrbanBazaar/debug.log new file mode 100644 index 0000000..6c0f224 --- /dev/null +++ b/Angular-UrbanBazaar/debug.log @@ -0,0 +1,2 @@ +[0919/155655.703:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2) +[0919/155714.431:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2) diff --git a/Angular-UrbanBazaar/package-lock.json b/Angular-UrbanBazaar/package-lock.json index 521b158..e1d4425 100644 --- a/Angular-UrbanBazaar/package-lock.json +++ b/Angular-UrbanBazaar/package-lock.json @@ -149,14 +149,42 @@ } }, "@angular-devkit/schematics": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.4.tgz", - "integrity": "sha512-yD3y3pK/K5piOgvALFoCCiPp4H8emNa3yZL+vlpEpewVLpF1MM55LeTxc0PI5s0uqtOGVnvcbA5wYgMm3YsUEA==", + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.6.tgz", + "integrity": "sha512-CmDNOdJg08p5QrV8dNdg3O5ErYM1hJT06PLnVZzTWkShAL0y/3zxXAP/Wwdg0vAvt9Kh38jvMtC3YTCOThR/hA==", "dev": true, "requires": { - "@angular-devkit/core": "12.1.4", + "@angular-devkit/core": "12.2.6", "ora": "5.4.1", "rxjs": "6.6.7" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz", + "integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==", + "dev": true, + "requires": { + "ajv": "8.6.2", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + } } }, "@angular/animations": { @@ -185,41 +213,156 @@ } }, "@angular/cli": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.1.4.tgz", - "integrity": "sha512-LpyhyqWe3bFcuH3MrXeYoIPI1htjwG1b5ehETfq4qsMvNmuFON6QI+F7EWEpX7lItVQc2bES+ogasTZsZue/uw==", + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.6.tgz", + "integrity": "sha512-nBCynOi5OVVAXA4ktsVhWP+UyWjjR/7+TlEjNgEfcbtlwkE+HIki+oHETAtXKdn5nPvNum3OXPLZPLX2B8MiRA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1201.4", - "@angular-devkit/core": "12.1.4", - "@angular-devkit/schematics": "12.1.4", - "@schematics/angular": "12.1.4", + "@angular-devkit/architect": "0.1202.6", + "@angular-devkit/core": "12.2.6", + "@angular-devkit/schematics": "12.2.6", + "@schematics/angular": "12.2.6", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", - "debug": "4.3.1", + "debug": "4.3.2", "ini": "2.0.0", - "inquirer": "8.1.1", + "inquirer": "8.1.2", "jsonc-parser": "3.0.0", "npm-package-arg": "8.1.5", "npm-pick-manifest": "6.1.1", "open": "8.2.1", "ora": "5.4.1", - "pacote": "11.3.4", + "pacote": "11.3.5", "resolve": "1.20.0", "semver": "7.3.5", "symbol-observable": "4.0.0", "uuid": "8.3.2" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "@angular-devkit/architect": { + "version": "0.1202.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.6.tgz", + "integrity": "sha512-DQHK5VGfPof1TuSmRmt2Usw2BuNVLzxKSSy7+tEJbYzqf8N/wQO+1M67ye8qf8gAU88xGo378dD9++DFc/PJZA==", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.6", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz", + "integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==", + "dev": true, + "requires": { + "ajv": "8.6.2", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.1.2" + "color-convert": "^2.0.1" } }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "inquirer": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz", + "integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.3.0", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "rxjs": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz", + "integrity": "sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw==", + "dev": true, + "requires": { + "tslib": "~2.1.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true + }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -371,6 +514,21 @@ "tslib": "^2.2.0" } }, + "@angular/http": { + "version": "7.2.16", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.16.tgz", + "integrity": "sha512-yvjbNyzFSmmz4UTjCdy5M8mk0cZqf9TvSf8yN5UVIwtw4joyuUdlgJCuin0qSbQOKIf/JjHoofpO2JkPCGSNww==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "@angular/material": { "version": "12.2.6", "resolved": "https://registry.npmjs.org/@angular/material/-/material-12.2.6.tgz", @@ -1784,14 +1942,42 @@ } }, "@schematics/angular": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.1.4.tgz", - "integrity": "sha512-xGqgGI6GWk4EFdKis8FmSESxoLgjnLQbaRE1t1KZCkSKJzqkOj0R9wiDrtZfcrbPxIkLL+3fAk2ThwwPznT6yw==", + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.6.tgz", + "integrity": "sha512-53yVIB43jPpqitJXT5IxPm9Kq1P8AyRgzrCIKAl4mESsPsOIFR6ZCpuNRlaumEinHnbMpgzZ2M+RlialzAOS6w==", "dev": true, "requires": { - "@angular-devkit/core": "12.1.4", - "@angular-devkit/schematics": "12.1.4", + "@angular-devkit/core": "12.2.6", + "@angular-devkit/schematics": "12.2.6", "jsonc-parser": "3.0.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz", + "integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==", + "dev": true, + "requires": { + "ajv": "8.6.2", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + } } }, "@tootallnate/once": { @@ -2633,6 +2819,11 @@ "readable-stream": "^3.4.0" } }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -3104,6 +3295,25 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, + "compat": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/compat/-/compat-1.0.4.tgz", + "integrity": "sha1-bEmRBiKzRhKJH1rY7UYqc7H4hlM=", + "requires": { + "bluebird": "^3.2.2", + "lodash": "^4.2.1", + "read-dir-files": "0.0.x", + "rimraf": "1.0.x", + "shell-quote": "^1.4.3" + }, + "dependencies": { + "rimraf": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz", + "integrity": "sha1-vkgB/3bCum8cUMeOlwDrHSHyOfE=" + } + } + }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -6519,8 +6729,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.debounce": { "version": "4.0.8", @@ -7602,12 +7811,12 @@ "dev": true }, "pacote": { - "version": "11.3.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.4.tgz", - "integrity": "sha512-RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", + "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", "dev": true, "requires": { - "@npmcli/git": "^2.0.1", + "@npmcli/git": "^2.1.0", "@npmcli/installed-package-contents": "^1.0.6", "@npmcli/promise-spawn": "^1.2.0", "@npmcli/run-script": "^1.8.2", @@ -9586,6 +9795,21 @@ } } }, + "read-dir-files": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/read-dir-files/-/read-dir-files-0.0.2.tgz", + "integrity": "sha1-bh4uFE+10OZcZGi6/rSJBP+44wQ=", + "requires": { + "async": "0.1.x" + }, + "dependencies": { + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=" + } + } + }, "read-package-json-fast": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", @@ -9946,6 +10170,11 @@ } } }, + "rxjs-compat": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.6.7.tgz", + "integrity": "sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -10229,6 +10458,11 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -10469,9 +10703,9 @@ } }, "socks-proxy-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz", - "integrity": "sha512-FIgZbQWlnjVEQvMkylz64/rUggGtrKstPnx8OZyYFG0tAFR8CSBtpXxSwbFLHyeXFn/cunFL7MpuSOvDSOPo9g==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", + "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", "dev": true, "requires": { "agent-base": "^6.0.2", diff --git a/Angular-UrbanBazaar/package.json b/Angular-UrbanBazaar/package.json index b2facac..71d4c3e 100644 --- a/Angular-UrbanBazaar/package.json +++ b/Angular-UrbanBazaar/package.json @@ -17,17 +17,20 @@ "@angular/core": "~12.1.1", "@angular/flex-layout": "^12.0.0-beta.35", "@angular/forms": "~12.1.1", + "@angular/http": "^7.2.16", "@angular/material": "^12.2.6", "@angular/platform-browser": "~12.1.1", "@angular/platform-browser-dynamic": "~12.1.1", "@angular/router": "~12.1.1", - "rxjs": "~6.6.0", + "compat": "^1.0.4", + "rxjs": "^6.6.7", + "rxjs-compat": "^6.6.7", "tslib": "^2.2.0", "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "~12.1.1", - "@angular/cli": "~12.1.1", + "@angular/cli": "^12.2.6", "@angular/compiler-cli": "~12.1.1", "@types/jasmine": "~3.6.0", "@types/node": "^12.11.1", diff --git a/Angular-UrbanBazaar/proxy.config.json b/Angular-UrbanBazaar/proxy.config.json new file mode 100644 index 0000000..deccd64 --- /dev/null +++ b/Angular-UrbanBazaar/proxy.config.json @@ -0,0 +1,19 @@ +{ + "/products":{ + "target":"http://10.3.117.7:8007", + "secure":false + }, + "/user":{ + "target":"http://10.3.117.7:8008", + "secure":false + }, + "/orders":{ + "target":"http://10.3.117.7:8009", + "secure":false + }, + "/cart":{ + "target":"http://10.3.117.7:8010", + "secure":false + } + +} \ No newline at end of file diff --git a/Angular-UrbanBazaar/src/app/app.module.ts b/Angular-UrbanBazaar/src/app/app.module.ts index 69c5843..8b54043 100644 --- a/Angular-UrbanBazaar/src/app/app.module.ts +++ b/Angular-UrbanBazaar/src/app/app.module.ts @@ -6,7 +6,6 @@ import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { HttpClientModule } from '@angular/common/http'; import { UserShowComponent } from './components/user-show/user-show.component'; -import { UserAddComponent } from './components/user-add/user-add.component'; import { UserProfileDetailsComponent } from './components/user-profile-details/user-profile-details.component'; import { PageNavBarComponent } from './components/page-nav-bar/page-nav-bar.component'; import { HomeComponent } from './components/home/home.component'; @@ -19,18 +18,38 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { FlexLayoutModule } from '@angular/flex-layout'; import { LoginComponent } from './auth/login/login.component'; import { SignUpComponent } from './auth/sign-up/sign-up.component'; +import { RouterModule, Routes } from '@angular/router'; +import { HttpModule } from '@angular/http'; +import { MemberlistComponent } from './components/memberlist/memberlist.component'; +const appRoutes : Routes = +[ + {path:'',component:LoginComponent}, + {path:'login',component:LoginComponent}, + {path:'signup',component:SignUpComponent}, + {path:'user-profile-details',component:UserProfileDetailsComponent}, + {path:'memberlist',component:MemberlistComponent}, + {path:'home',component:HomeComponent, +children: [ + {path:'user-profile-details',component:UserProfileDetailsComponent,outlet:'user'}, + {path:'memberlist',component:MemberlistComponent,outlet:'member'} + +] +} + + + ] @NgModule({ declarations: [ AppComponent, UserShowComponent, - UserAddComponent, UserProfileDetailsComponent, PageNavBarComponent, HomeComponent, CartComponent, LoginComponent, SignUpComponent, + MemberlistComponent, ], imports: [ BrowserModule, @@ -43,7 +62,10 @@ import { SignUpComponent } from './auth/sign-up/sign-up.component'; MatInputModule, MatCardModule, MatButtonModule, - BrowserAnimationsModule + BrowserAnimationsModule,AppRoutingModule, + RouterModule.forRoot(appRoutes,{ useHash: true }), + FormsModule, + HttpModule, ], providers: [], bootstrap: [AppComponent] diff --git a/Angular-UrbanBazaar/src/app/auth/login/login.component.html b/Angular-UrbanBazaar/src/app/auth/login/login.component.html index 427c145..37bef85 100644 --- a/Angular-UrbanBazaar/src/app/auth/login/login.component.html +++ b/Angular-UrbanBazaar/src/app/auth/login/login.component.html @@ -1,11 +1,12 @@ - -
-
OR
sign-up works!
+ +Please provide your details to signup with Urban Bazaar
+ + \ No newline at end of file diff --git a/Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts b/Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts index ec35435..7ba8690 100644 --- a/Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts +++ b/Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts @@ -1,4 +1,8 @@ import { Component, OnInit } from '@angular/core'; +import { NgForm } from '@angular/forms'; +import { Observable } from 'rxjs'; +import { User } from 'src/app/models/user'; +import { UserService } from 'src/app/services/user.service'; @Component({ selector: 'app-sign-up', @@ -7,9 +11,31 @@ import { Component, OnInit } from '@angular/core'; }) export class SignUpComponent implements OnInit { - constructor() { } + user :User; + tys :string="t" + temp : Observableys) z8;8HL&!ks@%TODKH%~+m=|8PKqp9x&k2bk|tV>C#F4OOcWW)nRs6ZFAN;A`GDV&_b4yGKPER4oc2Oor~afIX)Bs+5m_N-n`&g?SsO^+Zq-$vE&}q(g22 z?kmw-AQBeG{9>XQi*6nkexF+5F=%#Q|0G^7Ax<`P&E`!^bupM-m8CDC@068*0%QqI zneb_En|;wwvoCw^(LqLNEiB7u&c4iL7Nia}$7;^se3oc&batkxvkI=RZ`N@a?Z1DS z#_VChDMRUrAGP^F>Ft}fBbulVJOiNN()ciB-pc|a4 zC=5)9CL7XVQwp|eYCrS!bW})XDh#DWtg6rmjd*DKW auUkPq5nzMyPZ3y#FzwT>YL-QTE1yU8=19hfuX}UQiG2QGG2lBUm%yZKLSeMr zRNDk*4EsWq@)CjbtY(FwH9mKm8EEe@n&?Hz+^5OX2+-$q?E&c!Ffa0{tX71AD@&YQ ztjVIO-SHmROHv_`7-F-qMy0;kEV)~Nu+-0mT_f>1UiD-e)JL9-YZd~wYgMxydf-3B zE$2YOhEi5yK2Msgk;5<97~_Z%mH`k+8qN5a{Mtpy@ Q*J$!t?UftWPQTc8t zwdRs-0@Y;Lqk>BgS^CjEZ2w8D8+^zMR|$`$pW&CVbYXnFp*epE_BjPted>(7i>mpE zdO3XY$KT*lPJfmFp&zJ#B_%dpkkraRs}R=9+L>~A-vJ0^^158L+SI*qjaLk1*&ArL z=+#+4T CPr=KykTwUXR_79Ydg^E`) zn16QWv~UEdMWLkO6L?*}HyXdC>WD?QapbC-I5Z^7H=1?ggaVi6QG#-NYVK8&5&3 zSv1@9Yl4F-kq ImWi3$=#$Ca26M@k8)f8 zJsFWGUqfb9POMSFXbSBuFfv}Xf{DS#g4}#3rkQhen4SD5eK+cZSA&WLR-f;QRz)IJ zq^wZAW-96HuQOKd$E?&HDD~3(IQ9OtW$rWY-D?&4v8U|oA(Gz6{+`p4h?I2IP4tx3 zS6r}_4^J#07uL8YJ;Gn`4dPnE3w*?R_hjx1YpEW6_*sAVtvJ(51=U%}li~(PrPb|c zq4MlcYg*mE4lWb_?7N z0?0SbR8mcHtI4E6Cdv;?K4gu|KFxo;>p+aB6&wZ8z*Ehbfa(|1ykBs0d|<3SqwdH= zH=Iq@0O@ix3jf=G P0S7Xqf }(|4QFtD$mM z2w$PXC*ZAF(T_NBO+K*|ieX_4RO2H9@0;>>;w#A0vX!ka*ps l~EBoBqSIB;rvxMtKnh>Z{g~!o5PZ`ML+#Ax1zc&&J+_+~pS$Os5hT`$ zZRtYGTP<|&AUaA|AsKo}jU-$H#QBrvSG#Q`Z4Pghv<2znI{~Nd&O-v#VIQ2jTz8Bu zC%XtNJ-li72R$*EN0E-^c7_54+cSo!)zoY<+XJ76#m~u{--CZ00s%1!to4*Wx%)P2 z^Trk+19Ri=?9^+&DJIK5{@U^EZs?Dqf~p)XKD@h5NDL{7d%fzf)%g|kp}5fJE2%Px zo3qCTc0qI5Ha;wAkSkp0Gw@WK3qdK=`gf!7_X1UUUF_jJBdRe;s&9w_dyl=pOd}J` zmsF;=wHBHQS~vagy7;D1+qTNi9gTVSz?Y`1nP$qaj5XBsjl|ttPhp|cJRMJE-#j;w z;d1BJ@m;zFp?OI=3p!6XDpYtF%$-qYf^`{F*K$3QH?ntD<<6RHzsJ8}>^0qgmLO>9 zKhYdQ=j=id?aLvt6;DL0Nn1;8kyTbYx?NeP;w0CTH*6`xz?du0UmN&wppDTzL45N2 zkiKta#XFB4EY-#f0xhRc#<1B4=aX`!4TT==sx0Ni1sPGF&(oWcjkgR?yT^npJ z21N+}z_AHo*7^Ky7q<;hJ^j07$d9crm3{0&Nz@zV${fW#7!a6e<>qLi+zA7c*<0;s z`GrLzhGH}n9Jm3jH~=~+ KiB|nvwNWUMh J_D5j&Z$fpB^24NK-xJ{~G|bkuO{IBdhHq z67$xqH-$D746La$f~PuJHY{bnj#g+2U(Sw~HCvcq^?tCdwRJ= se;p+7w@E!(DKavs0 zXtVn+2F^6WaPdA{=1K09Uoe@GuP-eBV_Q~NRQtR&lPme9k*PjN_8#z<6W!W77COQA z>G<&-t1->hv=U|Lib&~8GRgi#g{*dH4$-WVWvzIH3A1uHT&wDV+MBROw^nE2`-~H7 zn^ZLW3E0u0IQ|s@Y%(P+Axr L%T`(ckvd4uBne?pbT zLGjYk!+&z=>Qs?B2l299(TvR2y3PgE>Z;;5SiMXvMLDefdorei9V?{15-3R(=jTS$ zkt^j*BEr(t`Ic)V`|yn)wjFhhJ~!OjQeS<5zK0gTvAm?I6SQ4FrmOIo@39C+Ot4^R z%LQTt)cPgIAPRA$QOHh)Tti#ai7A=ipncR|B}{Pz`L2E#|B5(uFfPGmhfIbNgm`8Z zvd><~UE3gMWTrc)4*rrNEQ@EM8B7oX B{L5 zEe=FRH@MWWDv%9tqiP9+Z2|vH&RX#^Fb70pIzbR>%P4`QC2#EP7qs-HB$RRUpLjE~ z cfc`C8>Ssvvvk7c^ui}tus2$DrwU2;40v$HN zaK_&8vEj+A4bNCt)4lWO$}cr2CHk_z+SE350WpXeh%sJMc@Oq_pUjyep!iEPBhI24 zhh;e)6d_%i2aj1khNlk`P%w6EkF{IlP!33K9O7tmxMbOd-uRKqbWAieYpKj=qq~uP z-EhL05svg2pQ-KcryjpeoL?u>)fOeFl-5SoqHh}&zd$XrniA9<7-6&5-oTM>ie|ey zRA1^zhsq*EUMSbecmYu>lSK{c_WTGyG@etm?2}H#+Mbok6;;EQ;-B_k!Fo{VdFU1& zbcoV@k33jkjL|#(d9zks0zh!eUA3xn)@xr;7Gb9BO2}8353@}hin->~eF;tGKlHVH zp?M3a5j+}Q)!uYIKV#R?S{_PqmE8qyf!}ugZrifyor3L1=x(fD_Sl!=f(Qe Y>8nAj@`#vQXs=lAz;YPCetX;H$OmH|f}-U7J*h#OEwDgYD5wF0-m zLhj2c#*h}`$yYw^l~^?NN?7Y&{;!%MW)-RSx%JNhb90P!NgKJrtS?F?8K{SZNrQ6P z7qLx+=6Yaap>SqOQ16i9y_N2!Qc+{bAkaHBC9V~zeBBXjQGKOaWF8~t%|LUiPfMz` z`}FM2_DOOBL{$nsk|K7}yDFE8y~99lCNPAwj}82fuywoLJdB*dnG(wtVgr|XFGB9P zp8Rn@83`mvg^R~aM;+y=ubXy|nBp@B*yUFcH?;4}z%@0L&{77l1p5Xr_}qt~mJ9`O z=ixLGJsL*dYMTd~+!@|RIxX#H>{IpLP1Zb8h+^P=mR0g1(~MOzM2U-Z(=TdEeHVGD zh$#)BZv4}`Iu>^3SJ+zdGg0Itqb`o4PKYzz 8HT=~ L})7I0$!`FCeZ=FWBXh5ZdJ%ZhK)Ef5v5uk4>kAMl}0w!ppoOH|U` zXSp 9VOz2UImg<({md z*nCiZx5i?ju|+}YJhKXl5*5(xiC>mW@K;CzMmVP2B*^}ZYEPwC2zrlQYQ6G5!3XN{ z|NP-5n`UrXm4!WT#y*IiC}CW{>h22dWK1rnzs4=W@S!$52$%VfMATzMx=YUO;e%C@ z6IB^cf45yfX)(M!={5PDa2?VD{n ? zabmTjtdZC{NB4ARGWEGdB22|2sLw8GVlsrFi;VunbZnMfLG_^S+JgZ0d8b&z5%(cg zz_=Z b3BoqM8+@7Q*@lYzUyYf`&jl5fJHtL!GC%hgA?PAJ4#TLNzt?2c z!IefDJSGH-&be~h-Mw031i7^4ftr!bD=MdHeXm8V$224?3!lIA=}U+fI;pG&R={Qi z*eG`)W?7b3X(I3D<)%r`Ard;J{BtN$1&T?8l9r6Ftp2+tdP`Z*9lo5Fi*byE0i$j~ z7qy_R)!HM=4=r8%d#uJXB&CGh?}^wpArn*LDU*?UarF3DHI=PN4GI(Zp}>H1sXd7d z2TK8|(#$jYUK0ak*FP$TCVYZ)4@0~=XaQsH&PDI*8C~R@y}C5OX+k-x|Fdo)dP!-a z*>;qqeTE@$jI@3COBG}hPu!Kc>4{u7(a0%+N&fXyJ}l?^v{*~=C+^Jlclf!M?1l4? z=vz}_=9agQ5h>>4Z8WS_S;Fh@ixcTS#b{vJMwMG+XHq&*l!W^kvJ7(t6orA&U*PT~ z-emU?yP@c8zsphk0v>@ObmO!?XkAU;Ao&gxlLmIPStae8RtJH{UAHd-RS0j{N2uUq z&6RjQUIx_B4pOGT;uMBsoBBPN%5Ea;B-n+6CjhHC6*?}9KCkOdbt&}#3-XT|9$owE z|GB3&ed3LKcBWOH_()OTn~M-ZHKDoc+ztKWWBJg2SU~F_C(Gk>M=fvmK*57>VgQsT zj?!9H_I-t72h&VgojdP8kru8VT@qA)Aj|vzQ2Z;I*6AY#)h+2!y_MgmSei?9+*PSl zwVzpa!bD+2XiSXGpVrU1CE+|sZTt}$i7t3dLF5K08AINu93q_7JdpmySfNBu3*}qs zaq~YO`a7QbT7N8F-5##O80QBrTyA z>@#CLBtnfSwG!6NR|Mv26%Z5SAZ*fP;U4)Ld#A`}gkAk8&iaV-w9KJv`%E!%&B8D8 zbchmak-jz6ob%TdW_shRQ_j9f!&jrpT=0e>_tb&XiYB>@a!`rB5;yAT1Qyod7#X%N zYaUT)=+7x=IWf@8Nx@bZdo6Zz z2TR}JQ7J%DKHEpB5k>7Dn`r+i&$gv;e)u6@!*;3QquEDcAH*93#C%;ABz}8 k)-yc^>QODTA5Y)1?Q#!JVe}bh|n!O7K{kIE#C4=zqkkkfIVe{nIe_ zQuaxU&I4pQrQV~q!o|m{`@vQN$v!`S`I^24_!-1W1Q85U+R{%AB_GexJq}U_6Sm{y zwAPh7D_TOR#E`Z!2 o~U#Eq~MA8GNxyyb^&^w5DYtWRll81?m9?kqp zW_9p79aUcTYK%51H2_Z;Q@(H5q}loIb=OxPL`MRgOCHQgi0> z-&+}eDBQL)G_q{IBL3=*2*SKb cT+4 zp|m2bI`=F+?8z70%CnCaIEk1)9x|UPHX80;xD64FX@{zuqA2YI8r}PlO&FmoyN%7C zT8Hd64l>&(F{sjQY7($j_O{iAqZ*I!#oSr^%ZAb~c=ehX<)T0N^}YrPxnyFD7HqF) zroHobHTyqz5!?YuYDA%28+wtlog88h>=E`~$j8w3aGlApGk!3Wf_x%kH*Clt#GV&b z(c(v~mU2;qhU)+}1P-~QM3!QSKI|qhyDO|(Y7Q8Z;0aP!!xp19_2in#rcNJ*8Tyc^(YDhMYaGR^Lxy{@@Eb?>~s@3u!dZj8ajY;FmO&DZ(R})2c ztRKs{indpXM5qhF5o~G!qj$($^=m|-eZ3z95_zS?NN02Bp@bcO>_TPJa0ROsaJ#3L zb#3v?{O~~w-vt6C9Rq8*xLW*kjHy%DSB$i_<5O?4! wUsVhZv!WAtb>Lc;?9CFvc`BPD$~S2;XXy*f$5Aw`E erei_@kNAs zzg!C{t@bv`g)$^s?BXyl;QWW+ZP;E~8Q}TBDq%R;J2IEK5pd8?r+z4??IWdSVrzK| zJaau$u1~G|u{V3uechUmVIsFb$P5`;2-(whoy8KN;cwGWM{(#Ud(6)AniZzDFLcmT z1F5}cat7lfXhx$o1 JyC8*1(GhZCI(K%%9WSe69=>S6^sbTC0o@BY&kn*gw9%V)W*+U;$-AP zE5s!MoUC~Z{*P7VoK5MfxQAw;TLUm6eVVC~pzN^T)^4l~CbhTpIl9NkJKbpOlpYC9 z19kxmYQk*)#axG(8and2bVliXi9pX>WjVv1u3-?%joc?c-#2wV2G+t3$rcK5w#QbB zQpBy3@!OGalV|D4=ZCtw;a;rf8+D1ZBC8q>G4Dep%5TPhvmGsab23;9*}*N_$n%Ae zR?U;8vuLKb#m+j6>0Dwv>)K}3p2n>Lb!#LZUI2Hhu$AY;sCF}tx?QaC4<$|Cc%?h> z)8t0^E#8xhFTJU~aHy`6lfuJ!?{#O Omvazu6Ykmo)Bg65)#rAR?!1! z14a!f1&`?Y*xKQf>z-TS!C^7O;0!Wr@MS>EgVXl23KP;>p#NC<0l8|T)7;3pq8-Ti z7D!sW1yWz#0-dhcoV9k)=!Ir_(flgyfCfdM7A%DmYnx0h*3fYRtnF0=W#uWGU~DOz z6)i7w!0C{ElU~vcAdBl8b$|4!v-Dxdwj5XmtP#3_-1lQ )qj=x@W3E9Ce5o{D!5i zOtv2RqY6uveR>7Lq5duqwU*IbR$#=gx~p@g1He_`5zLChXB*M{Qq+(lpMR54=>ScZ zd=*-KcVIk3}O+N(?H&s@;> z{j 6r5203rxvVbVvsxmO)6la_FltDkl>L{YYe%&RRbgn5r@7J5_?y7 zU-_tg4DHd(#g3!lc~v33yJ7e1=?OZ >!lXW_O2YpO7y9wVAQ5FZ?kxLri&>@bS@s3J`_+ z*Y)ULz>i ee fuo&QBCfoU XpG;|yl(*yA|Kba?Pwq)U87I*HTC zY5p>1$_%{oM=|V4PNGuTzGNI8m^?@)>Aw5+Zf|#QwSWEn<_`e)25JS!S@5LljYRE4 z(jZ{6)}|vS4w9EG|3tVxb(kzb-h$OvbVO?|700#C;VWh<3sw$#^=`M(8|*iFyUosy z1;y5`l3W}=x8UAZW4pfB>JPR$2Rp4!eQU7SYgzDdyT0Gp8Jvym_Bu$=Z#H%Z-Fp8= z3*LXb|EGFy-0@%xeL2{vw;SgKG3nxWTyXWh1q+qUeGBq0e1{ca1!s6M>4ucPEW#bD z{AN!`7W(dpImGt8fV)(2Uywlhhc5HNZ%Mh-A2Q-F+ocjg0kwaj$Bb-j5XWaB5xycG zRrZi5gt6BFY9kHPDy@!Hx{+|H(|{2@nX1-cHPIlksnA@9jGRrVN}7uBkZ|E}iL~x1 zb{#RvgpCr8r0?PTuMze+q>9rELvqAj7G_FG_Tsvw^oP ciFqOfd zEIW ms{N{NcII zepgzUN$f=4A(MSQ$bz+&Z&P=FOfvqMS3@3J@U&&{1Ays#-lJStuw421EXCj4FTzJw zzGje38+q%LKw#j=29WC)VC3#|1L-B3AI6tM8=uI=KqDKtIl9w7gXz#T#dzo5b*)D? zh7u}|G4iaonHu^|mrCj}#Uy^Z>x^p-+E};oXE*-4zf(C2IW7G?4szx5gF7t16AMb` z??rfOEv(NgC~1Kc!*cT1buM`Z?uy%F6fP#`2~(t|PVt)*;-UnT_PYOJ3W2^7NjHhc z7A!d|R9wUbFbm4Nek5(CjoyNX*~P%BPC5$k1^ThZ72qoi7SHIG+dK@h{@2HPL u37aNH+&-NFJTHbr;@1cyGx=R6W@ moReu_GM!H|$mm;Sr5t>Q@XzteK_$L#LKWL0Qg6UB`0^jdLMKlE literal 0 HcmV?d00001 diff --git a/UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar b/UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 zcmbTd1CVCTmM+|7+wQV$+qP}n>auOywyU~q+qUhh+uxis_~*a##hm*_WW ?9E7Pb7N%LRFiwbEGCJ0XP=%-6oeT$XZcYgtzC2~q zk(K08IQL8oTl}>>+hE5YRgXTB@fZ4TH9>7=79e`%%tw*SQUa9~$xKD5rS!;ZG@ocK zQdcH}JX?W|0_Afv?y`-NgLum62B&WSD$-w;O6G0Sm;SMX65z)l%m1e-g8Q$QTI;(Q z+x$xth4KFvH@Bs6(zn!iF#nenk^Y^ce;XIItAoCsow38eq?Y-Auh!1in#Rt-_D>H^ z=EjbclGGGa6VnaMGmMLj`x3NcwA43Jb(0gzl;RUIRAUDcR1~99l2SAPkVhoRMMtN} zXvC< tOmX83grD8GSo_Lo?%lNfhD#EBgPo z*nf@ppMC#B!T)Ae0RG$mlJWmGl7CkuU~B8-==5i;rS;8i6rJ=PoQxf446XDX9g|c> zU64ePyMlsI^V5Jq5A+BPe#e73+kpc_r1tv#B)~EZ;7^67F0*QiYfrk0uVW;Qb=NsG zN>gsuCwvb?s-KQIppEaeXtEMdc9dy6Dfduz-tMTms+i01{eD9JE&h?Kht*$eOl#&L zJdM_-vXs(V#$Ed;5wyNWJdPNh+Z$+;$|%qR(t`4W@kDhd*{(7-33BOS6L$ UPDeE_53j${QfKN-0v-HG z(QfyvFNbwPK%^!eIo4ac1;b >c0vyf9}Xby@YY!lkz-UvNp zwj#Gg|4B~?n?G^{;(W;|{SNoJbHTMpQJ*Wq5b{l9c8(%?Kd^ 1?H 1om1de0Da9M;Q=n zUfn{f87iVb^>Exl*n Z0hs(Yt>&V9$Pg`zX`AI%`+0SWQ4Zc(8lUDcTluS z5a_KerZWe}a-MF9#Cd^fi!y3%@RFmg&~YnYZ6<=L`UJ0v={zr)>$A;x#MCHZy1st7 ztT+N07NR+vOwSV2pvWuN1%lO!K#Pj0Fr>Q~R40{bwdL %u9i`DSM4RdtEH#cW)6}+I-eE< z&tZs+(Ogu(H_;$a$!7w`MH0r%h&@KM+<>gJL@O~2K2?VrSYUBbhCn#yy?P)uF3qWU z0o09mIik+kvzV6w>vEZy@&Mr)SgxPzUiDA&%07m17udz9usD82afQEps3$pe!7fUf z0eiidkJ)m3qhOjVHC_M(RYCBO%CZKZXFb8}s0-+}@CIn&EF(rRWUX2g^yZCvl0bI} zbP;1S)iXnRC&}5-Tl(hASKqdSnO?ASGJ*MIhOXIblmEudj(M|W!+I3eDc}7t`^mtg z)PKlaXe(OH+q-)qcQ8a@!llRrpGI8DsjhoKvw9T;TEH&?s=LH0w$EzI>%u;oD@x83 zJL7+ncjI9nn!TlS_KYu5vn%f*@ qa5F;| zEFxY&B?g=IVlaF3XNm_03PA)=3|{n-UCgJoTr;|;1AU9|kPE_if8!Zvb}0q$5okF$ zHaJdmO&gg!9oN|M{!qGE=tb|3pVQ8PbL$}e;NgXz<6ZEggI}wO@aBP**2Wo=yN#ZC z4G$m^yaM9g=|&!^ft8jOLuzc3Psca*;7`;gnHm}tS0%f4{|VGEwu45KptfNmwxlE~ z^=r30gi@?cOm8kAz!EylA4G~7kbEiRlRIzwrb~{_2(x^$-?|#e6Bi_**(vyr_~9Of z!n>Gqf+Qwiu!xhi9f53=PM3`3tNF}pCOiPU|H4;pzjcsqbwg*{{kyrTxk<;mx~(;; z1NMrpaQ`57yn34>Jo3b|HROE(UNcQash! 0p2-!Cz;{IRv#Vp5!3o$P8!%SgV~k&Hnqhp `5eLjTcy93cK!3Hm-$`@yGnaE=?;*2uSpiZTs_dDd51U%i z{|Zd9 ou-;laGS_x=O}a+ zB ||za<795A?_~Q=r=coQ+ZK@@ zId~hWQL<%)fI_WD IX#=(WNl!Dm$a&ROfLTd&B$vatq!M-2Jcs;N2vps$b6P1(N}=oI3<3luMTmC|0*{ zm1w8bt7vgX($!0@V0A}XIK)w!AzUn7vH=pZEp0RU0p?}ch2XC-7r#LK&vyc2=-#Q2 z^L%8)JbbcZ%g0Du;|8=q8B>X=mIQirpE=&Ox{TiuNDnOPd-FLI^KfEF729!!0x#Es z@>3ursjFSpu%C-8WL^Zw!7a0O-#cnf`HjI+AjVCFitK}GXO`ME&on|^=~Zc}^LBp9 zj=-vlN;Uc;IDjtK38l7}5xxQF&sRtfn4^TNtnzXv4M{r&ek*(eNbIu!u$ >Ed%` z5x7+&)2P&4>0J`N&ZP8$vcR+@FS0126s6+Jx_{{`3ZrIMwaJo6jdrRwE$>IU_JTZ} z(||hyyQ)4Z1@wSlT94(-QK qkAatMmkT7pCycEB1U8KQbFX&?%|4$yyxCtm3=W`$4fiG0WU3yI@c zx{wfmkZAYE_5M%4{J-ygbpH|(|GD$2f$3o_Vti#&zfSGZMQ5_f3xt6~+{RX=$H8at z?GFG1Tmp}}lmm-R->ve*Iv+XJ@58p|1_jRvfEgz$XozU8#iJS})UM6VNI!3RUU!{5 zXB(+Eqd-E;cHQ>)`h0(HO_zLmzR3Tu-UGp;08YntWwMY-9i^w_u#wR?JxR2bky5j9 z3Sl-dQQU$xrO0xa&>vsiK`QN<$Yd%YXXM7*WOhnRdSFt5$aJux8QceC?lA0_if|s> ze{ad*opH_kb%M&~(~&UcX0nFGq^MqjxW?HJIP462v9XG>j(5Gat_)#SiNfahq2Mz2 zU`4uV8m$S~o9(W>mu*=h%Gs(Wz+%>h;R9Sg)jZ$q8vT1HxX3iQnh6&2rJ1u| j>^Qf`A76K%_ubL`Zu ?h4`b=IyL>1!=*%!_K)=XC z6d}4R5L+sI5 0Q4P3upXQ3Z!~1ZXLlh!^UNcK6#QpYt-YC=^H=EPg3)z*wXo*024Q4b2sBCG4I# zlT FFY=kQ>xvR+LsuDUAk)q%5pEcqr(O_|^spjhtpb1#aC& zghXzGkGDC_XDa%t(X`E+kvKQ4zrQ*uuQoj>7@@ykWvF332)RO?%AA&Fsn&MNzmFa$ zWk&&^=NNjxLjrli_8ESU)}U|N{%j&TQmvY~lk!~Jh}*=^INA~&QB9em!in_ X%Rl1&Kd~Z(u z9mra#<@vZQlOY+JYUwCrgoea4C8^(xv4ceCXcejq84TQ#sF~IU2V}LKc~Xlr_P=ry zl&Hh0exdCbVd^NPCqNNlxM3vA13EI8XvZ1H9#bT7y*U8Y{H8nwGpOR!e!!}*g; mJ#}T{ekSb}5zIPmye*If(}}_=PcuAW#yidAa^9-`<8Gr0 z)Fz=NiZ{)HAvw{Pl5uu)?)&i&Us$Cx4gE}cIJ}B4Xz~-q7)R_%owbP!z_V2=Aq%Rj z{V;7#kV1dNT9-6R+H}}(ED*_!F=~uz>&nR3gb^Ce%+0s#u|vWl<~JD3MvS0T9thdF zioIG3c#Sdsv;LdtRv3ml7%o$6LTVL>(H`^@TNg`2KPIk*8-IB}X!MT0`hN9Ddf7yN z?J=GxPL!uJ7lqwowsl?iRrh@#5C$%E&h~Z>XQcvFC*5%0RN-Opq|=IwX(dq(*sjs+ zqy99+v~m|6T#zR*e1AVxZ8djd5>eIeCi(b8sUk)OGjAsKSOg^-ugwl2WSL@d#?mdl zib0v*{u-?cq}dDGy Z%$XRY=UkQwt2oGu`zQneZh$=^! zj;!pCBWQNtvAcwcWIBM2y9!*W|8LmQy$H~5BEx)78J`4Z0(FJO2P^!YyQU{*Al+fs z){!4JvT1iLrJ8aU3k0t|P}{RN)_^v%$$r;+p0DY7N8CXzmS*HB*=?qaaF9D@#_$SN zSz{moAK<*RH->%r7xX~9gVW$l7?b|_SYI)gcjf0VAUJ%FcQP(T pBs; zg$25D!Ry_`8xpS_OJd eo$qh#7U+cepZ??TII7_%AXsT$B z=e)Bx#v%J0j``00Zk5hsvv6%T^*xGNx%KN-=pocSoqE5_R)OK%-Pbu^1MNzfds)mL zxz^F4lDKV9D&lEY;I+A)ui{TznB*CE$=9(wgE{m}`^<--OzV-5V4X2w9j(_!+jpTr zJvD*y6;39& T+==$F&tsRKM_lqa1HC}aGL0o`%c9mO=fts?36@8MGm7Vi{Y z^<7m$(EtdSr#22<(rm_(l_(`j!*Pu~Y>>xc>I9M#DJYDJNHO&4=HM%YLIp?;iR&$m z #_$ZWYLfGLt5FJZhr3jpYb`*%9S!zCG6ivNHYzNHcI%khtgHBliM^Ou}ZVD7ehU9 zS+W@AV=?Ro!=%AJ>Kcy9aU3%VX3|XM_K0A+ZaknKDyIS3S-Hw1C7&BSW5)sqj5Ye_ z4OSW7Yu-;bCyYKHFUk}<*<(@TH?YZPHr~~Iy%9@GR2Yd}J2!N9K&CN7Eq{Ka!jdu; zQNB*Y;i(7)OxZK%IHGt#Rt?z`I|A{q_BmoF!f^G}XVeTbe1Wnzh%1g>j}>DqFf;Rp zz7>xIs12@Ke0gr+4-!pmFP84vCIaTjqFNg{V`5}Rdt~xE^I;Bxp4)|cs8=f)1YwHz zqI`G~s2~qqDV+h02b`PQpUE#^^Aq8l%y2|ByQeXSADg5*qMprEAE3WFg0Q39`O+i1 z!J@iV!`Y~C$wJ!5Z+j5$i<1`+@)tBG$JL=!*uk=2k;T<@{|s1$YL079FvK%mPhyHV zP8^KGZnp`(hVMZ;s =n~3r2y;LTwcJwoBW-(ndU-$03{RD zh+Qn$ja_Z^OuMf3Ub|JTY74s&Am*(n{J3~@#OJNYuEVVJd9*H%)oFoRBkySGm`hx! zT3tG|+aAkXcx-2Apy)h^BkOyFTWQVeZ%e2@;*0DtlG9I3Et=PKaPt& K zw?WI7S;P)TWED7aSH$3hL@Qde?H#tzo^<(o_sv_2ci<7M?F$|oCFWc?7@KBj-;N$P zB;q!8@bW-WJY9do&y|6~mEruZAVe$!?{)N9rZZxD-|oltkhW9~nR8bLBGXw<632!l z*TYQn^NnUy%Ds}$f^=yQ+BM-a 5X4^GHF=%PDrRfm_uqC zh{sKwIu|O0&jWb27;wzg4w5uA @TO_j(1X?8E>5Zfma|Ly7Bklq|s z9)H`zoAGY3n-+&JPrT!>u^qg9Evx4y@GI4$n-Uk_5wttU1_t?6><>}cZ-U+&+~JE) zPlDbO_j;MoxdLzMd~Ew|1o^a5q_1R*JZ=#XXMzg?6Zy!^hop}qoLQlJ{(%!KYt`MK z8umEN@Z4w!2=q_oe=;QttPCQy3Nm4F@x>@v4sz_jo{4m*0r%J(w1cSo;D_hQtJs7W z><$QrmG^+<$4{d2bgGo&3-FV}avg9zI|Rr(k{wT yl3!M1q+a zD9 W{pCd%il*j&Ft z5H$nENf>> k$;SONGW`qo6`&qKs*T z2^RS)pXk9b@(_Fw1bkb)-oqK|v}r$L!W&aXA>IpcdNZ_vWE#XO8X`#Yp1+?RshVcd zknG%rPd*4ECEI0wD#@d+3NbHKxl}n^Sgkx== Iu%}HvNliOqVBqG?P2va zQ;kRJ$J6j;+ wP9cS za#m;#GUT!qAV%+rdWolk+)6kkz4@Yh5LXP+LSvo9_T+M miaP-eq6_k;)i6_@WSJ zlT@wK$zqHu<83U2V*yJ|XJU4farT#pAA&@qu)(PO^8PxEmPD4;Txpio+2)#!9 z>&=i7*#tc0`?!==v k>s7V+PL#S1;PwSY?NIXN2=Gu89x(cToFm))7L;< z+bhAbVD*bD=}iU`+PU+SBobTQ%S!=VL!>q$rfWsaaV}Smz>lO9JXT#`CcH_mRCSf4%YQAw`$^yY z3Y*^Nzk_g$xn7a_NO(2Eb*I=^;4f!Ra#Oo~LLjlcjke*k*o$~U#0ZXOQ5@HQ&T46l z7504MUgZkz2gNP1QFN8Y?nSEnEai^Rgyvl}xZfMUV6QrJcXp;jKGqB=D*tj{8(_pV zqyB*DK$2lgYGejmJUW)*s_Cv65sFf&pb(Yz8oWgDtQ0~k^0-wdF|tj}MOXaN@ydF8 zNr={U?=;&Z?wr^VC+`)S2xl}QFagy;$mG=TUs7Vi2wws5zEke4hTa2)>O0U?$WYsZ z<8bN2bB_N4AWd%+kncgknZ&}bM~eDtj#C5uRkp21hWW5gxWvc6b*4+dn<{c?w9Rmf zIVZKsPl{W2vQAlYO3yh}-{Os=YBnL8?uN5(RqfQ=-1cOiUnJu>KcLA*tQK3FU`_bM zM^T28w;nAj5EdAXFi&Kk1Nnl2)D!M{@+D-}bIEe+Lc4{s;YJc-{F#``iS2uk;2!Zp zF9#myUmO!wCe JIoi^A+T^e~20c+c2C}XltaR!|U-HfDA=^xF97ev}$l6#oY z&-&T{egB)&aV$3_ aVA51XGiU07$s9vubh_kQG?F$FycvS6|IO!6q zq^>9|3U^*!X_C~SxX&pqUkUjz%!j=VlXDo$!2VLH!rKj@61mDpSr~7B2yy{>X~_nc zR I+7g2V&k zd**H++P9dg!-AOs3;GM`(g<+GRV$+&DdMVpUxY9I1@uK28$az=6oaa+PutlO9?6#? zf-OsgT>^@8KK>ggkUQRPPgC7zjKFR5spqQb3ojCHzj^(UH~v+!y*`Smv)VpVoPwa6 zWG18WJaP KMi*F6Zdk*kU^`i~NNTfn3BkJniC`yN98L-Awd)Z&mY? zprBW$!qL-OL7h@O#kvYnLsfff@kDIegt~?{-*5A7JrA;#TmTe?jICJqhub-G@e??D zqiV#g{)M!kW1-4SDel7TO{;@*h2=_76g3NUD@|c*WO#>MfYq6_YVUP+&8e4|%4T`w zXzhmVNziAHazWO2qXcaOu@R1MrPP{t)`N)}-1&~mq=ZH=w=;-E$IO k=y$dOls{6sRR`I5>|X zpq~XYW4sd;J^6OwOf**J>a7u$S>WTFPRkjY;BfVgQst)u4aMLR1|6%)CB^18XCz+r ztkYQ}G43j~Q&1em(_EkMv0|WEiKu;z2zhb(L%$F&xWwzOmk;VLBYAZ8lOCziNoPw1 zv2BOyXA`A8z^WH!nXhKXM`t0;6D*-uGds3TYGrm8SPnJJOQ^fJU#}@aIy@MYWz**H zvkp?7I5PE{$$|~{-ZaFxr6ZolP^nL##mHOErB^AqJqn^hFA=)HWj!m3WDaHW$C)i^ z9@6G$SzB=>jbe>4kqr#sF7#K}W*Cg-5y6kun3u&0L7BpXF9=#7IN8FOjWrWwUBZiU zT_se3ih-GBKx+Uw0N|CwP3D@-C=5(9T#BH@M`F2!Goiqx+Js5xC9 2|Sy0%WWWp={$ (am!#l~f^W_oz78HX<0X#7 zp)p1u ~M*o9W@O8P{0Qkg@Wa# z2{Heb&oX^CQSZWSFBXKOfE|tsAm#^U-WkDnU;IowZ`Ok4!mwHwH=s|AqZ^YD4!5!@ zPxJj+Bd-q6w_YG`z_+r;S86zwXb+EO&qogOq8h-Ect5(M2+>(O7n7)^dP*ws_3U6v zVsh)sk^@*c>)3EML|0<-YROho{lz@Nd4;R9gL{9|64xVL`n!m$-Jjrx?-Bacp!=^5 z1^T^eB{_)Y<9)y{-4Rz@9_>; _7h;5D+@QcbF4Wv7hu)s0&==&6u)33 zHRj+&Woq-vDvjwJCYES@$C4{$?f$Ibi4G()UeN11rgjF+^;YE^5nYprYoJNoudNj= zm1pXSeG64dcWHObUetodRn1Fw|1nI$D9z}dVEYT0lQnsf_E1x2vBLql7NrHH!n&Sq z6lc*mvU=W&3Y7tNdrmhnHR-*#=c(@8+WX>S6=v9Lrl}&zRiu_6u;6g%_DU{9b+R z#YHqX7`m9eydf?KlKu6Sb%j$%_jmydig`B*TN`cZL-g!R)iE?+Q5oOqBF Khx z%MW>BC^(F_JuG(ayE(MT{S3eI{cKiwOtPwLc0XO*{*|(JOx;uQOfq@lp_^cZo=FZj z4#}@e@dJ>Bn%2`2_WPeSN7si^{U#H=7N4o%Dq3NdGybrZgEU$oSm$hC)uNDC_M9xc zGzwh5Sg?mpBIE8lT2XsqTt3j3?We8}3bzLBTQd639vyg^$0#1epq8snlDJP2(BF)K zSx30RM+{f+b$g{9usIL8H!hCO117Xgv}ttPJm9wVRjPk;ePH@zxv%j9k5`TzdXLeT zFgFX`V7cYIcBls5WN0Pf6SMBN+;CrQ(|EsFd*xtwr#$R{Z9FP`OWtyNsq#mCgZ7+P z^Yn$haBJ)r96{ZJd8vlMl?IBxrgh=fdq_NF!1{jARCVz>jNdC)H^wf2G!*f3zl; zdyVT?9`x`+G$!^eYN@PUum|5;j8$+`cBrBI`k*I0!jRt1BR=3gh&7e8U#!mamgR&_ z3Z&@9rms~l@GlsEKduCfx9Wt{o>y?R94#MPdUjcYX>#wEx+LB#P-#4S-%YH>t-j+w zOFTI8gX$ard6fAh &g=u&56%3^-6E2t pk*wx 3HSCQ+t7+*iOs zPk5ysqE}i*cQocFvA68xHfL|iX(C4h*67@3|5Qwle(8wT&!&{8*{f%0(5gH+m>$tq zp;AqrP7?XTEooYG1Dzfxc>W%*CyL16q|fQ0_jp%%Bk^k!i#Nbi(N9&T>#M{gez_Ws zYK=l}adalV(nH}I_!hNeb;tQFk3BHX7N}}R8%pek^E`X}%ou=cx8InPU1EE0|Hen- zyw8MoJqB5=)Z%JXlrdTXAE)eqLAdVE-=>wGHrkRet}>3Yu^lt$Kzu%$3#(ioY}@Gu zjk3BZuQH&~7H+C*uX^4}F*|P89JX;Hg2U!pt>rDi(n(Qe-c}tzb0#6_ItoR0->LSt zR~UT<-|@TO%O`M+_e_J4wx7^)5_%%u+J=yF_S#2Xd?C;Ss3N7KY^#-vx+|;bJX&8r zD?|Met fhdC;^2WG`7MCgs>TKKN=^=!x&Q~Bzm Qio_^l~LboTN T=I zC5pme^P@ER``p$2md9>4!K#vV-Fc1an7pl>_|&>aqP}+zqR?+~Z;f2^`a+-!Te%V? z;H 2SbF>jP^GE(R1@%C== XQ@J=G9 lKX+Z<@5}PO(EYkJh=GCv#)Nj{DkWJM2}F&oAZ6xu8&g7pn1ps2U5srwQ7CAK zN&*~@t{`31lUf`O;2w^)M3B@o)_mbRu{-`PrfNpF!R^q>yTR&ETS7^-b2*{-tZAZz zw@q5x9B5V8Qd7dZ!Ai$9hk%Q!wqbE1F1c96&zwBBaRW}(^axoPpN^4Aw}&a5d Me+*Gomky_l^54*rz Xro$ z>LL)U5Ry>~FJi=*{JDc)_**c)- &faPz`6v`YU3HQa}pLtb5K)u%K+BOqXP0)rj5Au$zB zW1?vr?mDv7Fsxtsr+S6ucp2l#(4dnr9sD*v+@*>g#M4b|U?~s93>Pg{{a5|rm2xfI z`>E}?9S@|IoUX{Q1zjm5YJT|3S>&09D}|2~BiMo=z4YEjXlWh)V&qs;*C{`UMxp$9 zX)QB?G$fPD6z5_pNs>Jeh{^&U^)Wbr?2D6-q?)`*1k@!UvwQgl8eG$r+)NnFoT)L6 zg7lEh+E6J17krfYJCSjWzm67hEth24pomhz71|Qod n#oAILN)*Vwu2qpJirG)4Wnv}9GWOFrQg%Je+gNrPl8mw7ykE8{ z=|B4+uwC&bpp%eFcRU6{mxRV32VeH8XxX>v$du<$(Dfin aaWxP<+Y97Z#n#U~V zVEu-GoPD=9$}P;xv+S~Ob#mmi$JQmE;Iz4(){y*9pFyW-jjgdk#oG$fl4o9E8bo|L zWjo4l%n51@Kz-n% zeSCD`uB?T%FVk+KBI}=ve zvlcS#wt`U6wrJo}6I6Rwb=1GzZfwE=I&Ne@p7*pH84XShXYJRgvK)UjQL%R9Zbm(m zxzTQsLTON$WO7vM)*vl%Pc0JH7WhP;$z@j=y#avW4X8iqy6mEYr@-}PW?H)xfP6fQ z&tI$F{NNct4rRMSHhaelo<5kTYq+(?pY)Ieh8*sa83EQfMrFupMM@nfEV@EmdHUv9 z35uzIrIuo4#WnF^_jcpC @uNN aYTQ~uZWOE6P@LFT^1@$o&q+9Qr8YR+ObBkpP9=F+$s5+B!mX2~T zAuQ6 RenX?O{IlLMl1%)OK{S7oL}X%;!XUxU~xJN8xk z`xywS*naF(J#?vOpB(K=o~lE;m$zhgPWDB@=p#dQIW>xe_p1OLoWInJRKbEuoncf; zmS1!u-ycc1qWnDg5Nk2D)BY%jmOwCLC+Ny>`f&UxFowIsHnOXfR^S;&F(KXd{ODlm z$6#1ccqt-HIH9)|@fHnrKudu!6B$_R{fbCIkSIb#aUN|3RM>zuO>dpMbROZ`^hvS@ z$FU-;e4W }!ubzKrU@R*dW*($tFZ>}dd*4_mv)#O>X{U@zSzQt* 83l9mI zI$8O<5AIDx`wo0}f2fsPC_l>ONx_`E7kdXu{YIZbp1$(^oBAH({T~&oQ&1{X951QW zmhHUxd)t%GQ9#a k5fTjk-cahWC;>^Rg7(`TVlvy0W@Y!Jc%QL3Ozu# zDPIqBCy&T2PWBj+d-JA-pxZlM=9ja2ce|3B(^VCF+a*MMp`(rH>Rt6W1$;r{n1(VK zLs>UtkT43LR2G$AOYHV ailiqk7naz2yZGLo*xQs!T9VN5Q>eE(w zw$4&)&6xIV$IO^>1N-jrEUg>O8G4^@y+-hQv6@OmF@gy^nL_n1P1-Rtyy$Bl;|VcV zF=p*&41-qI5gG9UhKmmnjs932!6hceXa#-qfK;3d*a{)BrwNFeKU|ge?N!;zk+kB! zMD_uHJR#%b54c2tr~uGPLTRLg$`fupo}cRJ eTwK;~}A>(Acy4k-Xk&Aa1&eWYS1ULWUj@fhBiWY$pdfy+F z@G{OG{*v*mYtH3OdUjwEr6%_ZPZ3P{@rfbNPQG!BZ7lRyC^xlMpWH`@YRar`tr}d> z#wz87t?#2FsH-jM6m{U=gp6WPrZ%*w0bFm(T#7m#v^;f%Z!kCeB5oiF`W33W5Srdt zdU?YeOdPG@98H7NpI{(uN{FJdu14r(URPH^F6tOpXuhU7T9a{3G3_#Ldfx_nT(Hec zo<1dyhsVsTw;ZkVcJ_0- h-T3G1W@q)_Q30LNv)W?FbMH+XJ* zy=$@39Op|kZv`Rt>X`zg&at(?PO^I=X8d9&myFEx#S`dYTg1W+iE?vt#b47QwoHI9 zNP+|3WjtXo{u}VG(lLUaW0&@yD|O?4TS4dfJI`HC-^q;M(b3r2;7|FONXphw-%7~* z&;2!X17|05+kZOpQ3~3!Nb>O94b&ZSs%p)TK)n3m=4eiblVtSx@KNFgB Y_xV6ts;NF;GcGxMP8OKV^h6LmSb2E#Qnw ze!6Mnz7>lE9u{AgQ~8u2zM8CYD5US8dMDX-5iMlgpE9m*s+Lh~A#P1er*rF}GHV3h z=`STo?kIXw8I<`W0^*@mB1$}pj60R{aJ7 >C2m=oghKyxMbFNq#EVLgP0cH3q7H z%0?L93-z6|+jiN|@v>ix?tRBU(v-4RV`}cQH*fp|)vd3)8i9hJ3hkuh^8dz{F5-~_ zUUr1T3cP%cCaTooM8dj|4*M=e6flH0&8ve32Q)0dyisl))XkZ7Wg~N}6y`+Qi2l+e zUd#F!nJp{#KIjbQdI`%oZ`?h=5G^kZ_uN`<(`3;a!~EMsWV|j-o>c?x#;zR2ktiB! z);5rrHl?GPtr6-o!tYd|uK;Vbsp4P{v_4??=^a>>U4_aUXPWQ$FPLE4PK$T^3Gkf$ zHo&9$U&G`d(Os6xt1r?sg14n)G8HNyWa^q8#nf0lbr4A-Fi;q6t-`pAx1T*$eKM*$ z|CX|gDrk#&1}>5H+`EjV$9Bm)Njw&7-ZR{1!CJTaXuP!$Pcg69`{w5BRHysB$ (tWUes@@6aM69kb|Lx$%BRY^-o6bjH#0!7b;5~{6J+jKxU!Kmi# zndh@+?}WKSRY2gZ?Q`{(Uj|kb1%VWmRryOH0T)f3cKtG4oIF=F7R aRnH0Rc_&37 2={_3lRNsr95%ZO{IX{p@YJ^EI%+gvvKes5cY+PE@unghjdY5#9A!G z70u6}?zmd?v+{`vCu -53_v5@z)X{oPC@P)iA3jK$`r zSA2a7&!^zmUiZ82R2=1cumBQwOJUPz5 Ay `RLfY(EiwKkrx%@YN^^X uET;tE zmr-6~I7j!R!KrHu5CWGSChO6deaLWa *9LLJbcAJsFd%Dy>a!>J`N)Z&oiU4OEP-!Ti^_!p }O?7`}i7Lsf$-g BkuY*`Zb z7=!nTT;5z$_5$=J=Ko+Cp|Q0J=%oFr>hBgnL3!tvFoLNhf#D0O=X^h+ x08iB;@8pXdRHxX}6R4k@i6%vmsQwu^5z zk1ip`#^N)^#Lg#HOW3sPI33xqFB4#bOPVnY%d6prwxf;Y-w9{ky4{O6&94Ra8VN@K zb-lY;&`HtxW@sF!doT5T$2&lIvJpbKGMuDAFM#!QPXW87>}= Q4J3JeXlwHys?!1^#37q_k?N@+u&Ns20pEoBeZC*np;i;M{2C0Z4_br2gsh6eL z#8`#sn41+$iD?^GL%5?cbRcaa-Nx0vE(D=*WY%rXy3B%gNz0l?#noGJGP728RMY#q z=2&aJf@DcR?QbMmN)ItUe+VM_U!ryqA@1VVt$^*xYt~-qvW!J4Tp<-3>jT=7Zow5M z8mSKp0v4b%a8bxFr>3MwZHSWD73D@+$5?nZAqGM#>H@`)mIeC#->B)P8T$zh-Pxnc z8)~Zx?TWF4(YfKuF3WN_ckpCe5;x4V4AA3(i$pm|78{%!q?|~*eH0f=?j6i)n~Hso zmTo>vqEtB)`%hP55INf7HM@taH)v`Fw40Ayc*R!T?O{ziUpYmP)AH`euTK!zg9*6Z z!>M=$3pd0!&TzU=hc_@@^Yd3eUQpX4-33}b{?~5t5lgW=ldJ@dUAH%`l5US1y_`40 zs(X`Qk}vvMDYYq+@Rm+~IyCX;iD ~pMgq^KY)T*aBz@ DYEB={PxA>)mI6tM*sx-DmGQHEaHwRrAmNjO!ZLHO4b;;5mf@zzlPhkP($JeZGE7 z?^XN}Gf_feGoG~BjUgVa*)O`>l X=$BSR2)uD<9 z>o^|nb1^oVDhQbfW>>!;8-7<}nL6L^V*4pB=>wwW+RXAeRvKED(n1;R`A6 v$6 gy0I(;Vf?!4;&sgn7F%LpM}6PQ?0%2Z@b{It<(G1CZ|>913E0nR2r^Pa*Bp z@tFGi* CQ~@Yc-?{cwu1 zsilf=k^+Qs>&WZG(3WDixisHpR>`+ihiRwkL(3T|=xsoNP*@XX3BU8hr57l3k;pni zI``=3Nl4xh4oDj<%>Q1zYXHr%Xg_xrK3Nq?vKX3|^Hb(Bj+lONTz>4yhU-UdXt2>j z<>S4NB&!iE+ao{0Tx^N*^|EZU;0kJkx@zh}S^P{ieQjGl468CbC`SWnwLRYYiStXm zOxt~Rb3D{dz=nH McY)#r^kF8|q8KZHVb9FCX2m^X*(|L9FZg!5a7((!J8%MjT$#Fs)M1Pb zq6hBGp%O1A+&%2>l0mpaIz bo&jc^!oN^3zxap3V2dNj3x<=TwZ&0eKX5 PIso9j1;e zwUg+C&}FJ`k(M|%%}p=6RPUq4sT3-Y;k-<68ciZ~_j|bt>&9ZLHNVrp#+pk}XvM{8 z`?k}o-!if>hVlCP9j%&WI2V`5SW)BCeR5>MQhF)po=p~AYN%cNa_BbV6EEh_kk^@a zD>4&>uCGCUmyA-c)%DIcF4R6!>?6T~Mj_m{Hpq`*(wj>foHL;;%;?(((YOxGt)Bhx zuS+K{{CUsaC++%}S6~CJ=|vr(iIs-je)e9uJEU8ZJAz)w166q)R^2XI?@E2vUQ!R% zn@dxS!JcOimXkWJBz8Y?2JKQr>`~SmE2F2SL38$SyR1^yqj8_mkBp)o$@+3BQ~Mid z9U$XVqxX3P=X CKj0*W>}L0~Em`(vG<>srF8+*kPrw z20{z(=^w+ybdGe~Oo_i|hYJ@kZl*(9sHw#Chi&OIc?w`nBODp?ia$uF%Hs(X>xm?j zqZQ`Ybf@g#wli`!-al~3GWiE$K+LCe=Ndi!#C VjzUZ z!sD2O*;d28zk l))m)YN7HDi^z5IuNo3^w(zy8 zszJ G#mp#Cj)Q@E@r-=NP2FVxxEAeOI2e= |KshybNB6HgE^(r>HD{*}S}mO>LuRGJT{*tfTzw_#+er-0${}%YPe@CMJ1Ng#j#)i)SnY@ss3gL;g zg2D~#Kpdfu#G;q1qz_TwSz1VJT(b3zby$Vk&;Y#1(A)|xj`_?i5YQ;TR%jice5E;0 zYHg;`zS5{S*9xI6o^j>rE8Ua*XhIw{_-*&@(R|C(am8__>+Ws&Q^ymy*X4~hR2b5r zm^p3sw}yv=tdyncy_Ui7{BQS732et~Z_@{-IhHDXAV`(Wlay<#hb>%H%WDi+K$862nA@BDtM#UCKMu+kM`!JHyWSi?&)A7_ z3{cyNG%a~nnH_!+;g&JxEMAmh-Z}rC!o7>OVzW&PoMyTA_g{hqXG)SLraA^OP**<7 zjWbr7z!o2n3hnx7A=2O=WL;`@9N{vQIM@&|G-ljrPvIuJHYtss0Er0fT5cMXNUf1B z7FAwBDixt0X7C3S)mPe5g`YtME23wAnbU)+AtV}z+e8G;0BP=bI;?(#|Ep!vVfDbK zvx+|CKF>yt0hWQ3drchU#XBU+HiuG*V^snFAPUp-5<#R&BUAzoB !aZ+e*KIxa26V}s6?nBK(U-7REa573wg-jqCg>H8~>O{ z*C0JL-?X-k_y%hpUFL?I>0WV{oV`Nb)nZbJG01R~AG>flIJf)3O*oB2i8~;!P?Wo_ z0|QEB*fifiL6E6%>tlAYHm2cjTFE@*<);#>689Z6S#BySQ@VTMhf9vYQyLeDg1*F} zjq>i1*x>5|CGKN{l9br3kB0EHY|k4{%^t7-uhjd#NVipUZa=EUuE5kS1_~qYX?>hJ z$}!jc9$O$>J&wnu0SgfYods^z?J4X;X7c77Me0kS-dO_VUQ39T(Kv(Y#s}Qqz-0AH z^?WRL(4RzpkD+T5FG_0NyPq-a-B7A5LHOCqwObRJi&oRi(<;OuIN7SV5PeHU$<@Zh zPozEV`dYmu0Z&Tqd>t>8JVde9#Pt+l95iHe$4Xwfy1AhI zDM4XJ;bBTTvRFtW>E+GzkN)9k!hA5z;xU OL2 zq4}zn-DP{qc^i|Y%rvi|^5k-*8;JZ~9a;>-+q_EOX+p1Wz;>i7c}M6Nv`^NY&{J-> z`(mzDJDM}QPu5i4