@infrab4a/connect-angular 4.2.0-beta.1 → 4.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/angular-firestore.module.d.ts +1 -1
  2. package/angular-hasura-graphql.module.d.ts +1 -1
  3. package/{esm2020 → esm2022}/angular-connect.module.mjs +17 -17
  4. package/esm2022/angular-elastic-search.module.mjs +34 -0
  5. package/esm2022/angular-firebase-auth.module.mjs +130 -0
  6. package/esm2022/angular-firestore.module.mjs +459 -0
  7. package/esm2022/angular-hasura-graphql.module.mjs +243 -0
  8. package/{esm2020 → esm2022}/services/auth.service.mjs +4 -4
  9. package/{esm2020 → esm2022}/services/cart.service.mjs +4 -4
  10. package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +4 -4
  11. package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +4 -4
  12. package/{esm2020 → esm2022}/services/catalog/catalog.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/services/catalog/category.service.mjs +4 -4
  14. package/{esm2020 → esm2022}/services/catalog/wishlist.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +4 -4
  16. package/{esm2020 → esm2022}/services/checkout.service.mjs +4 -4
  17. package/{esm2020 → esm2022}/services/coupon.service.mjs +4 -4
  18. package/{esm2020 → esm2022}/services/home-shop.service.mjs +11 -11
  19. package/{esm2020 → esm2022}/services/order.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/services/shipping.service.mjs +4 -4
  21. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +411 -411
  22. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs.map +1 -1
  23. package/package.json +6 -12
  24. package/services/cart.service.d.ts +1 -1
  25. package/services/catalog/catalog.service.d.ts +5 -5
  26. package/services/catalog/types/product-sort.type.d.ts +1 -1
  27. package/services/home-shop.service.d.ts +1 -1
  28. package/services/types/required-checkout-data.type.d.ts +1 -1
  29. package/services/types/required-checkout-subscription-data.type.d.ts +1 -1
  30. package/types/firebase-app-config.type.d.ts +1 -1
  31. package/esm2020/angular-elastic-search.module.mjs +0 -34
  32. package/esm2020/angular-firebase-auth.module.mjs +0 -130
  33. package/esm2020/angular-firestore.module.mjs +0 -459
  34. package/esm2020/angular-hasura-graphql.module.mjs +0 -243
  35. package/fesm2015/infrab4a-connect-angular.mjs +0 -2196
  36. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  37. /package/{esm2020 → esm2022}/consts/backend-url.const.mjs +0 -0
  38. /package/{esm2020 → esm2022}/consts/category-structure.mjs +0 -0
  39. /package/{esm2020 → esm2022}/consts/default-shop.const.mjs +0 -0
  40. /package/{esm2020 → esm2022}/consts/es-config.const.mjs +0 -0
  41. /package/{esm2020 → esm2022}/consts/firebase-const.mjs +0 -0
  42. /package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +0 -0
  43. /package/{esm2020 → esm2022}/consts/index.mjs +0 -0
  44. /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
  45. /package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +0 -0
  46. /package/{esm2020 → esm2022}/index.mjs +0 -0
  47. /package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +0 -0
  48. /package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +0 -0
  49. /package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +0 -0
  50. /package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +0 -0
  51. /package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +0 -0
  52. /package/{esm2020 → esm2022}/services/catalog/index.mjs +0 -0
  53. /package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +0 -0
  54. /package/{esm2020 → esm2022}/services/catalog/models/index.mjs +0 -0
  55. /package/{esm2020 → esm2022}/services/catalog/types/index.mjs +0 -0
  56. /package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +0 -0
  57. /package/{esm2020 → esm2022}/services/helpers/index.mjs +0 -0
  58. /package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +0 -0
  59. /package/{esm2020 → esm2022}/services/index.mjs +0 -0
  60. /package/{esm2020 → esm2022}/services/types/index.mjs +0 -0
  61. /package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +0 -0
  62. /package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +0 -0
  63. /package/{esm2020 → esm2022}/services/types/shipping-methods.type.mjs +0 -0
  64. /package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +0 -0
  65. /package/{esm2020 → esm2022}/types/index.mjs +0 -0
@@ -18,13 +18,13 @@ export class OrderService {
18
18
  .subscribe((doc) => this.orderSubject.next(doc));
19
19
  return this.orderSubject;
20
20
  }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OrderService }); }
21
23
  }
22
- OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
23
- OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: OrderService, decorators: [{
25
25
  type: Injectable
26
26
  }], ctorParameters: function () { return [{ type: i1.Firestore }, { type: i2.OrderFirestoreRepository, decorators: [{
27
27
  type: Inject,
28
28
  args: ['OrderRepository']
29
29
  }] }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQTJCLEVBQ0EsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFXO1FBQ0Esb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBSnZGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQTtJQUtoQyxDQUFDO0lBRUosUUFBUSxDQUFDLEVBQVU7UUFDakIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7O3lHQWRVLFlBQVksMkNBS2IsaUJBQWlCOzZHQUxoQixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGRvYywgRmlyZXN0b3JlLCBkb2NTbmFwc2hvdHMgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7IE9yZGVyLCBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcmRlclNlcnZpY2Uge1xuICBvcmRlclN1YmplY3QgPSBuZXcgU3ViamVjdDxPcmRlcj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckZpcmVzdG9yZTogRmlyZXN0b3JlLFxuICAgIEBJbmplY3QoJ09yZGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJSZXBvc2l0b3J5OiBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICkge31cblxuICBnZXRPcmRlcihpZDogc3RyaW5nKTogU3ViamVjdDxPcmRlcj4ge1xuICAgIGRvY1NuYXBzaG90cyhkb2ModGhpcy5hbmd1bGFyRmlyZXN0b3JlLCBgJHt0aGlzLm9yZGVyUmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZH1gKSlcbiAgICAgIC5waXBlKG1hcCgoZG9jKSA9PiBPcmRlci50b0luc3RhbmNlKGRvYy5kYXRhKCkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRvYykgPT4gdGhpcy5vcmRlclN1YmplY3QubmV4dChkb2MpKVxuXG4gICAgcmV0dXJuIHRoaXMub3JkZXJTdWJqZWN0XG4gIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQTJCLEVBQ0EsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFXO1FBQ0Esb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBSnZGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQTtJQUtoQyxDQUFDO0lBRUosUUFBUSxDQUFDLEVBQVU7UUFDakIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7OEdBZFUsWUFBWSwyQ0FLYixpQkFBaUI7a0hBTGhCLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGRvYywgRmlyZXN0b3JlLCBkb2NTbmFwc2hvdHMgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7IE9yZGVyLCBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcmRlclNlcnZpY2Uge1xuICBvcmRlclN1YmplY3QgPSBuZXcgU3ViamVjdDxPcmRlcj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckZpcmVzdG9yZTogRmlyZXN0b3JlLFxuICAgIEBJbmplY3QoJ09yZGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJSZXBvc2l0b3J5OiBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICkge31cblxuICBnZXRPcmRlcihpZDogc3RyaW5nKTogU3ViamVjdDxPcmRlcj4ge1xuICAgIGRvY1NuYXBzaG90cyhkb2ModGhpcy5hbmd1bGFyRmlyZXN0b3JlLCBgJHt0aGlzLm9yZGVyUmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZH1gKSlcbiAgICAgIC5waXBlKG1hcCgoZG9jKSA9PiBPcmRlci50b0luc3RhbmNlKGRvYy5kYXRhKCkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRvYykgPT4gdGhpcy5vcmRlclN1YmplY3QubmV4dChkb2MpKVxuXG4gICAgcmV0dXJuIHRoaXMub3JkZXJTdWJqZWN0XG4gIH1cbn1cbiJdfQ==
@@ -84,13 +84,13 @@ export class ShippingService {
84
84
  }
85
85
  return false;
86
86
  }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: BACKEND_URL }, { token: i2.HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ShippingService }); }
87
89
  }
88
- ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: BACKEND_URL }, { token: i2.HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable });
89
- ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: ShippingService, decorators: [{
91
91
  type: Injectable
92
92
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
93
93
  type: Inject,
94
94
  args: [BACKEND_URL]
95
95
  }] }, { type: i2.HomeShopService }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFRLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBSXJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsSUFBZ0IsRUFDSyxNQUFjLEVBQ25DLFdBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNuQyxDQUFDO0lBRUcsa0JBQWtCLENBQ3ZCLElBQVksRUFDWixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsZ0JBQXlCO1FBRXpCLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0NBQXNDLFFBQVEsZUFBZSxHQUFHLGdCQUFnQixXQUFXLEVBQUUsQ0FDNUc7U0FDRixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFD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QUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFbEUsSUFBSSxLQUFLLEdBQUcsR0FBRztnQkFBRSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBRW5GLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQTtTQUNoRDtRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs7NEdBbEdVLGVBQWUsNENBR2hCLFdBQVc7Z0hBSFYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFJTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSG9tZSwgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEJBQ0tFTkRfVVJMIH0gZnJvbSAnLi4vY29uc3RzJ1xuaW1wb3J0IHsgSG9tZVNob3BTZXJ2aWNlIH0gZnJvbSAnLi9ob21lLXNob3Auc2VydmljZSdcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzL3NoaXBwaW5nLW1ldGhvZHMudHlwZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNoaXBwaW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KEJBQ0tFTkRfVVJMKSBwcml2YXRlIGFwaVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgaG9tZVNlcnZpY2U6IEhvbWVTaG9wU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRTaGlwcGluZ01ldGhvZHMoXG4gICAgc2hvcDogc3RyaW5nLFxuICAgIHppcDogc3RyaW5nLFxuICAgIHdlaWdodEdyYW1zOiBudW1iZXIsXG4gICAgdG90YWxQcmljZTogbnVtYmVyLFxuICAgIHBlcnNvbklkOiBzdHJpbmcsXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxTaGlwcGluZ01ldGhvZFJlc3BvbnNlICYgeyBTaGlwcGluZ0NvbXBhbnlOYW1lPzogc3RyaW5nIH0+PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5ob21lU2VydmljZS5nZXRIb21lRGF0YSgpLFxuICAgICAgdGhpcy5odHRwLmdldChcbiAgICAgICAgYCR7dGhpcy5hcGlVcmx9b3Blbi9jaGVja3NoaXBwaW5nY29tcGFueT9wZXJzb25JZD0ke3BlcnNvbklkfSZwb3N0YWxDb2RlPSR7emlwfSZ3ZWlnaHRHcmFtcz0ke3dlaWdodEdyYW1zfWAsXG4gICAgICApLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkYXRhcywgc2hpcHBpbmdNZXRob2RzUmVzcG9uc2VdOiBbSG9tZSAmIFBhcnRpYWw8eyBzYW1lRGF5Tm90QXZhbGlhYmxlOiBhbnkgfT4sIGFueV0pID0+IHtcbiAgICAgICAgbGV0IHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLnJlc3VsdCBhcyAoU2hpcHBpbmdNZXRob2RSZXNwb25zZSAmIHtcbiAgICAgICAgICBTaGlwcGluZ0NvbXBhbnlOYW1lPzogc3RyaW5nXG4gICAgICAgIH0pW11cblxuICAgICAgICBpZiAoIXNoaXBwaW5nTWV0aG9kcy5sZW5ndGgpIHJldHVybiBbXVxuXG4gICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHNoaXBwaW5nTWV0aG9kKSA9PiB7XG4gICAgICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLlNoaXBwaW5nQ29tcGFueU5hbWUgPT0gJ1NhbWUgRGF5IEVHJykgc2hpcHBpbmdNZXRob2QuU2hpcHBpbmdDb21wYW55TmFtZSA9ICdTYW1lIERheSdcblxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSA9IGRhdGFzLnNhbWVEYXlOb3RBdmFsaWFibGVcblxuICAgICAgICBpZiAodGhpcy5pc0hvbGlkYXlzKGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSkpIHtcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMuZmlsdGVyKChtZXRob2QpID0+IG1ldGhvZC5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b3RhbFByaWNlID49IDIwMCkge1xuICAgICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHMpID0+IHtcbiAgICAgICAgICAgIGlmIChzLnNlcnZpY2VOYW1lICE9PSAnU2FtZSBEYXknKSByZXR1cm4geyAuLi5zLCB0b3RhbFByaWNlOiAwIH1cbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHNcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3AgPT0gU2hvcHMuR0xBTVNIT1ApIHJldHVybiBzaGlwcGluZ01ldGhvZHNcblxuICAgICAgICBpZiAodGhpcy5pc0ZyZWVTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xuICAgICAgICAgICAgaWYgKHMuc2VydmljZU5hbWUgPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XG4gICAgICAgICAgICBlbHNlIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IDAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0hhbGZTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZHNcbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1NFTEVDVCcpIHJldHVybiB0cnVlXG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgaXNIYWxmU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZykge1xuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1BSSU1FJykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgaXNIb2xpZGF5cyhkYXRhczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpXG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhcykge1xuICAgICAgbGV0IHN0YXJ0ID0gbmV3IERhdGUoYCR7dG9kYXkuZ2V0RnVsbFllYXIoKX0tJHtkYXRhc1trZXldLmJlZ2luRGF0ZX1gKVxuICAgICAgbGV0IGVuZCA9IG5ldyBEYXRlKGAke3RvZGF5LmdldEZ1bGxZZWFyKCl9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXG5cbiAgICAgIGlmIChzdGFydCA+IGVuZCkgZW5kID0gbmV3IERhdGUoYCR7dG9kYXkuZ2V0RnVsbFllYXIoKSArIDF9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXG5cbiAgICAgIGlmICh0b2RheSA+PSBzdGFydCAmJiB0b2RheSA8PSBlbmQpIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFRLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBSXJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsSUFBZ0IsRUFDSyxNQUFjLEVBQ25DLFdBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNuQyxDQUFDO0lBRUcsa0JBQWtCLENBQ3ZCLElBQVksRUFDWixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsZ0JBQXlCO1FBRXpCLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0NBQXNDLFFBQVEsZUFBZSxHQUFHLGdCQUFnQixXQUFXLEVBQUUsQ0FDNUc7U0FDRixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFD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QUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFbEUsSUFBSSxLQUFLLEdBQUcsR0FBRztnQkFBRSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBRW5GLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQTtTQUNoRDtRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs4R0FsR1UsZUFBZSw0Q0FHaEIsV0FBVztrSEFIVixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFJTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSG9tZSwgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEJBQ0tFTkRfVVJMIH0gZnJvbSAnLi4vY29uc3RzJ1xuaW1wb3J0IHsgSG9tZVNob3BTZXJ2aWNlIH0gZnJvbSAnLi9ob21lLXNob3Auc2VydmljZSdcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzL3NoaXBwaW5nLW1ldGhvZHMudHlwZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNoaXBwaW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KEJBQ0tFTkRfVVJMKSBwcml2YXRlIGFwaVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgaG9tZVNlcnZpY2U6IEhvbWVTaG9wU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRTaGlwcGluZ01ldGhvZHMoXG4gICAgc2hvcDogc3RyaW5nLFxuICAgIHppcDogc3RyaW5nLFxuICAgIHdlaWdodEdyYW1zOiBudW1iZXIsXG4gICAgdG90YWxQcmljZTogbnVtYmVyLFxuICAgIHBlcnNvbklkOiBzdHJpbmcsXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxTaGlwcGluZ01ldGhvZFJlc3BvbnNlICYgeyBTaGlwcGluZ0NvbXBhbnlOYW1lPzogc3RyaW5nIH0+PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5ob21lU2VydmljZS5nZXRIb21lRGF0YSgpLFxuICAgICAgdGhpcy5odHRwLmdldChcbiAgICAgICAgYCR7dGhpcy5hcGlVcmx9b3Blbi9jaGVja3NoaXBwaW5nY29tcGFueT9wZXJzb25JZD0ke3BlcnNvbklkfSZwb3N0YWxDb2RlPSR7emlwfSZ3ZWlnaHRHcmFtcz0ke3dlaWdodEdyYW1zfWAsXG4gICAgICApLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkYXRhcywgc2hpcHBpbmdNZXRob2RzUmVzcG9uc2VdOiBbSG9tZSAmIFBhcnRpYWw8eyBzYW1lRGF5Tm90QXZhbGlhYmxlOiBhbnkgfT4sIGFueV0pID0+IHtcbiAgICAgICAgbGV0IHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLnJlc3VsdCBhcyAoU2hpcHBpbmdNZXRob2RSZXNwb25zZSAmIHtcbiAgICAgICAgICBTaGlwcGluZ0NvbXBhbnlOYW1lPzogc3RyaW5nXG4gICAgICAgIH0pW11cblxuICAgICAgICBpZiAoIXNoaXBwaW5nTWV0aG9kcy5sZW5ndGgpIHJldHVybiBbXVxuXG4gICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHNoaXBwaW5nTWV0aG9kKSA9PiB7XG4gICAgICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLlNoaXBwaW5nQ29tcGFueU5hbWUgPT0gJ1NhbWUgRGF5IEVHJykgc2hpcHBpbmdNZXRob2QuU2hpcHBpbmdDb21wYW55TmFtZSA9ICdTYW1lIERheSdcblxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSA9IGRhdGFzLnNhbWVEYXlOb3RBdmFsaWFibGVcblxuICAgICAgICBpZiAodGhpcy5pc0hvbGlkYXlzKGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSkpIHtcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMuZmlsdGVyKChtZXRob2QpID0+IG1ldGhvZC5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b3RhbFByaWNlID49IDIwMCkge1xuICAgICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHMpID0+IHtcbiAgICAgICAgICAgIGlmIChzLnNlcnZpY2VOYW1lICE9PSAnU2FtZSBEYXknKSByZXR1cm4geyAuLi5zLCB0b3RhbFByaWNlOiAwIH1cbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHNcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3AgPT0gU2hvcHMuR0xBTVNIT1ApIHJldHVybiBzaGlwcGluZ01ldGhvZHNcblxuICAgICAgICBpZiAodGhpcy5pc0ZyZWVTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xuICAgICAgICAgICAgaWYgKHMuc2VydmljZU5hbWUgPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XG4gICAgICAgICAgICBlbHNlIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IDAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0hhbGZTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZHNcbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1NFTEVDVCcpIHJldHVybiB0cnVlXG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgaXNIYWxmU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZykge1xuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1BSSU1FJykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgaXNIb2xpZGF5cyhkYXRhczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpXG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhcykge1xuICAgICAgbGV0IHN0YXJ0ID0gbmV3IERhdGUoYCR7dG9kYXkuZ2V0RnVsbFllYXIoKX0tJHtkYXRhc1trZXldLmJlZ2luRGF0ZX1gKVxuICAgICAgbGV0IGVuZCA9IG5ldyBEYXRlKGAke3RvZGF5LmdldEZ1bGxZZWFyKCl9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXG5cbiAgICAgIGlmIChzdGFydCA+IGVuZCkgZW5kID0gbmV3IERhdGUoYCR7dG9kYXkuZ2V0RnVsbFllYXIoKSArIDF9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXG5cbiAgICAgIGlmICh0b2RheSA+PSBzdGFydCAmJiB0b2RheSA8PSBlbmQpIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdfQ==