@infrab4a/connect-angular 5.0.0-beta.6 → 5.0.0-beta.60

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 (70) hide show
  1. package/angular-connect.module.d.ts +13 -8
  2. package/angular-firestore.module.d.ts +1 -2
  3. package/angular-vertex-search.module.d.ts +9 -0
  4. package/consts/index.d.ts +2 -0
  5. package/consts/persistence.const.d.ts +1 -0
  6. package/consts/vertex-config.const.d.ts +1 -0
  7. package/esm2022/angular-connect.module.mjs +38 -5
  8. package/esm2022/angular-elastic-search.module.mjs +1 -1
  9. package/esm2022/angular-firebase-auth.module.mjs +1 -1
  10. package/esm2022/angular-firestore.module.mjs +25 -28
  11. package/esm2022/angular-hasura-graphql.module.mjs +24 -2
  12. package/esm2022/angular-vertex-search.module.mjs +34 -0
  13. package/esm2022/consts/category-structure.mjs +1 -1
  14. package/esm2022/consts/default-shop.const.mjs +1 -1
  15. package/esm2022/consts/es-config.const.mjs +1 -1
  16. package/esm2022/consts/firebase-const.mjs +1 -1
  17. package/esm2022/consts/hasura-options.const.mjs +1 -1
  18. package/esm2022/consts/index.mjs +3 -1
  19. package/esm2022/consts/persistence.const.mjs +2 -0
  20. package/esm2022/consts/storage-base-url.const.mjs +1 -1
  21. package/esm2022/consts/vertex-config.const.mjs +2 -0
  22. package/esm2022/helpers/index.mjs +1 -1
  23. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +1 -1
  24. package/esm2022/index.mjs +2 -1
  25. package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
  26. package/esm2022/persistence/data-persistence.mjs +2 -0
  27. package/esm2022/persistence/index.mjs +3 -0
  28. package/esm2022/services/auth.service.mjs +1 -1
  29. package/esm2022/services/cart.service.mjs +14 -11
  30. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +1 -1
  31. package/esm2022/services/catalog/adapters/index.mjs +1 -1
  32. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +6 -4
  33. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
  34. package/esm2022/services/catalog/catalog.service.mjs +89 -33
  35. package/esm2022/services/catalog/category.service.mjs +1 -1
  36. package/esm2022/services/catalog/enums/index.mjs +1 -1
  37. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +1 -1
  38. package/esm2022/services/catalog/index.mjs +1 -1
  39. package/esm2022/services/catalog/models/category-with-tree.model.mjs +1 -1
  40. package/esm2022/services/catalog/models/index.mjs +1 -1
  41. package/esm2022/services/catalog/types/index.mjs +1 -1
  42. package/esm2022/services/catalog/types/product-sort.type.mjs +1 -1
  43. package/esm2022/services/catalog/wishlist.service.mjs +50 -17
  44. package/esm2022/services/checkout-subscription.service.mjs +18 -21
  45. package/esm2022/services/checkout.service.mjs +13 -16
  46. package/esm2022/services/coupon.service.mjs +54 -19
  47. package/esm2022/services/helpers/index.mjs +1 -1
  48. package/esm2022/services/helpers/util.helper.mjs +1 -1
  49. package/esm2022/services/home-shop.service.mjs +1 -1
  50. package/esm2022/services/index.mjs +1 -1
  51. package/esm2022/services/order.service.mjs +1 -1
  52. package/esm2022/services/shipping.service.mjs +1 -1
  53. package/esm2022/services/types/index.mjs +1 -1
  54. package/esm2022/services/types/required-checkout-data.type.mjs +1 -1
  55. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +1 -1
  56. package/esm2022/services/types/shipping-methods.type.mjs +1 -1
  57. package/esm2022/types/firebase-app-config.type.mjs +1 -1
  58. package/esm2022/types/index.mjs +1 -1
  59. package/fesm2022/infrab4a-connect-angular.mjs +366 -139
  60. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -1
  61. package/index.d.ts +1 -0
  62. package/package.json +5 -5
  63. package/persistence/cookie-data-persistence.d.ts +10 -0
  64. package/persistence/data-persistence.d.ts +6 -0
  65. package/persistence/index.d.ts +2 -0
  66. package/services/catalog/catalog.service.d.ts +7 -4
  67. package/services/catalog/wishlist.service.d.ts +11 -4
  68. package/services/checkout-subscription.service.d.ts +5 -4
  69. package/services/checkout.service.d.ts +8 -4
  70. package/services/coupon.service.d.ts +6 -2
@@ -1,24 +1,29 @@
1
- import { ModuleWithProviders } from '@angular/core';
1
+ import { ModuleWithProviders, Type } from '@angular/core';
2
2
  import { FirebaseOptions } from '@angular/fire/app';
3
- import { AxiosElasticSearchConfig, Shops } from '@infrab4a/connect';
3
+ import { AxiosElasticSearchConfig, Shops, VertexSearchConfig } from '@infrab4a/connect';
4
4
  import { HasuraGraphQLOptions } from './angular-hasura-graphql.module';
5
+ import { DataPersistence } from './persistence';
5
6
  import { FirebaseAppConfig } from './types';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/fire/app";
8
- import * as i2 from "./angular-elastic-search.module";
9
- import * as i3 from "./angular-firebase-auth.module";
10
- import * as i4 from "./angular-firestore.module";
11
- import * as i5 from "./angular-hasura-graphql.module";
9
+ import * as i2 from "@angular/fire/storage";
10
+ import * as i3 from "./angular-elastic-search.module";
11
+ import * as i4 from "./angular-vertex-search.module";
12
+ import * as i5 from "./angular-firebase-auth.module";
13
+ import * as i6 from "./angular-firestore.module";
14
+ import * as i7 from "./angular-hasura-graphql.module";
12
15
  export declare class AngularConnectModule {
13
16
  static initializeApp(defaultShop: Shops, options: {
14
17
  firebase: FirebaseOptions;
15
- elasticSearch: AxiosElasticSearchConfig;
18
+ elasticSearch?: AxiosElasticSearchConfig;
19
+ vertexConfig?: VertexSearchConfig;
16
20
  hasura: HasuraGraphQLOptions;
17
21
  backendUrl: string;
18
22
  oldCategoryStructure?: boolean;
19
23
  storageBaseUrl?: string;
24
+ persistenceProvider?: Type<DataPersistence>;
20
25
  }, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularConnectModule>;
21
26
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularConnectModule, never>;
22
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularConnectModule, never, [typeof i1.FirebaseAppModule, typeof i2.AngularElasticSeachModule, typeof i3.AngularFirebaseAuthModule, typeof i4.AngularFirestoreModule, typeof i5.AngularHasuraGraphQLModule], never>;
27
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularConnectModule, never, [typeof i1.FirebaseAppModule, typeof i2.StorageModule, typeof i3.AngularElasticSeachModule, typeof i4.AngularVertexSeachModule, typeof i5.AngularFirebaseAuthModule, typeof i6.AngularFirestoreModule, typeof i7.AngularHasuraGraphQLModule], never>;
23
28
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularConnectModule>;
24
29
  }
@@ -5,7 +5,6 @@ import { FirebaseAppConfig } from './types';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./angular-elastic-search.module";
7
7
  import * as i2 from "@angular/fire/firestore";
8
- import * as i3 from "@angular/fire/storage";
9
8
  export type FirestoreOptions = Pick<FirestoreConstructorParams<any>, 'firestore' | 'interceptors'>;
10
9
  export declare class AngularFirestoreModule {
11
10
  static initializeApp(options: {
@@ -13,6 +12,6 @@ export declare class AngularFirestoreModule {
13
12
  elasticSearch: AxiosElasticSearchConfig;
14
13
  }, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularFirestoreModule>;
15
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirestoreModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirestoreModule, never, [typeof i1.AngularElasticSeachModule, typeof i2.FirestoreModule, typeof i3.StorageModule], never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirestoreModule, never, [typeof i1.AngularElasticSeachModule, typeof i2.FirestoreModule], never>;
17
16
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularFirestoreModule>;
18
17
  }
@@ -0,0 +1,9 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { VertexSearchConfig } from '@infrab4a/connect';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AngularVertexSeachModule {
5
+ static initializeApp(options: VertexSearchConfig): ModuleWithProviders<AngularVertexSeachModule>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AngularVertexSeachModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularVertexSeachModule, never, never, never>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<AngularVertexSeachModule>;
9
+ }
package/consts/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from './default-shop.const';
4
4
  export * from './es-config.const';
5
5
  export * from './firebase-const';
6
6
  export * from './hasura-options.const';
7
+ export * from './persistence.const';
8
+ export * from './vertex-config.const';
@@ -0,0 +1 @@
1
+ export declare const PERSISTENCE_PROVIDER = "PERSISTENCE_PROVIDER";
@@ -0,0 +1 @@
1
+ export declare const VERTEX_CONFIG = "VERTEX_CONFIG";
@@ -1,16 +1,20 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
3
- import { UpdateUserImage, isNil, } from '@infrab4a/connect';
2
+ import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
3
+ import { getStorage, provideStorage, Storage } from '@angular/fire/storage';
4
+ import { FirebaseFileUploaderService, isNil, ProductsVertexSearch, UpdateUserImage, } from '@infrab4a/connect';
4
5
  import { AngularElasticSeachModule } from './angular-elastic-search.module';
5
6
  import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
6
7
  import { AngularFirestoreModule } from './angular-firestore.module';
7
8
  import { AngularHasuraGraphQLModule } from './angular-hasura-graphql.module';
8
- import { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, } from './consts';
9
+ import { AngularVertexSeachModule } from './angular-vertex-search.module';
10
+ import { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, VERTEX_CONFIG, } from './consts';
9
11
  import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
12
+ import { CookieDataPersistence } from './persistence';
10
13
  import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ShippingService, WishlistService, } from './services';
11
14
  import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters';
12
15
  import * as i0 from "@angular/core";
13
16
  import * as i1 from "@angular/fire/app";
17
+ import * as i2 from "@angular/fire/storage";
14
18
  export class AngularConnectModule {
15
19
  static initializeApp(defaultShop, options, nameOrConfig) {
16
20
  return {
@@ -22,10 +26,12 @@ export class AngularConnectModule {
22
26
  ? OldCategoryStructureAdapter
23
27
  : NewCategoryStructureAdapter,
24
28
  },
29
+ { provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
25
30
  ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),
26
31
  ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),
27
32
  ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
28
33
  ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
34
+ ...(isNil(options?.vertexConfig) ? [] : [{ provide: VERTEX_CONFIG, useValue: options.vertexConfig }]),
29
35
  ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),
30
36
  ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),
31
37
  ...(isNil(options?.storageBaseUrl) ? [] : [{ provide: STORAGE_BASE_URL, useValue: options.storageBaseUrl }]),
@@ -33,7 +39,8 @@ export class AngularConnectModule {
33
39
  };
34
40
  }
35
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1.FirebaseAppModule, AngularElasticSeachModule,
42
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1.FirebaseAppModule, i2.StorageModule, AngularElasticSeachModule,
43
+ AngularVertexSeachModule,
37
44
  AngularFirebaseAuthModule,
38
45
  AngularFirestoreModule,
39
46
  AngularHasuraGraphQLModule] }); }
@@ -56,6 +63,17 @@ export class AngularConnectModule {
56
63
  },
57
64
  deps: ['UserRepository', 'FileUploaderService'],
58
65
  },
66
+ {
67
+ provide: 'FileUploaderService',
68
+ useFactory: (storage, baseUrl) => {
69
+ return new FirebaseFileUploaderService(storage, baseUrl);
70
+ },
71
+ deps: [Storage, STORAGE_BASE_URL],
72
+ },
73
+ {
74
+ provide: 'ProductSearch',
75
+ useExisting: ProductsVertexSearch,
76
+ },
59
77
  ], imports: [provideFirebaseApp((injector) => {
60
78
  const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
61
79
  try {
@@ -65,7 +83,9 @@ export class AngularConnectModule {
65
83
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
66
84
  }
67
85
  }),
86
+ provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
68
87
  AngularElasticSeachModule,
88
+ AngularVertexSeachModule,
69
89
  AngularFirebaseAuthModule,
70
90
  AngularFirestoreModule,
71
91
  AngularHasuraGraphQLModule] }); }
@@ -83,7 +103,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
83
103
  return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
84
104
  }
85
105
  }),
106
+ provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
86
107
  AngularElasticSeachModule,
108
+ AngularVertexSeachModule,
87
109
  AngularFirebaseAuthModule,
88
110
  AngularFirestoreModule,
89
111
  AngularHasuraGraphQLModule,
@@ -107,7 +129,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
107
129
  },
108
130
  deps: ['UserRepository', 'FileUploaderService'],
109
131
  },
132
+ {
133
+ provide: 'FileUploaderService',
134
+ useFactory: (storage, baseUrl) => {
135
+ return new FirebaseFileUploaderService(storage, baseUrl);
136
+ },
137
+ deps: [Storage, STORAGE_BASE_URL],
138
+ },
139
+ {
140
+ provide: 'ProductSearch',
141
+ useExisting: ProductsVertexSearch,
142
+ },
110
143
  ],
111
144
  }]
112
145
  }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5RixPQUFPLEVBSUwsZUFBZSxFQUVmLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTs7O0FBd0N0RyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0s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LFlBQVksQ0FBQyxDQUFBOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO3lCQUNoRDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGdldEFwcCwgaW5pdGlhbGl6ZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXG4gIFNob3BzLFxuICBVcGRhdGVVc2VySW1hZ2UsXG4gIFVzZXJSZXBvc2l0b3J5LFxuICBpc05pbCxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZmlyZWJhc2UtYXV0aC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSwgSGFzdXJhR3JhcGhRTE9wdGlvbnMgfSBmcm9tICcuL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlJ1xuaW1wb3J0IHtcbiAgQkFDS0VORF9VUkwsXG4gIENBVEVHT1JZX1NUUlVDVFVSRSxcbiAgREVGQVVMVF9TSE9QLFxuICBFU19DT05GSUcsXG4gIEZJUkVCQVNFX0FQUF9OQU1FLFxuICBGSVJFQkFTRV9PUFRJT05TLFxuICBIQVNVUkFfT1BUSU9OUyxcbn0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQgeyBTVE9SQUdFX0JBU0VfVVJMIH0gZnJvbSAnLi9jb25zdHMvc3RvcmFnZS1iYXNlLXVybC5jb25zdCdcbmltcG9ydCB7XG4gIEF1dGhTZXJ2aWNlLFxuICBDYXJ0U2VydmljZSxcbiAgQ2F0YWxvZ1NlcnZpY2UsXG4gIENhdGVnb3J5U2VydmljZSxcbiAgQ2hlY2tvdXRTZXJ2aWNlLFxuICBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gIENvdXBvblNlcnZpY2UsXG4gIEhvbWVTaG9wU2VydmljZSxcbiAgT3JkZXJTZXJ2aWNlLFxuICBTaGlwcGluZ1NlcnZpY2UsXG4gIFdpc2hsaXN0U2VydmljZSxcbn0gZnJvbSAnLi9zZXJ2aWNlcydcbmltcG9ydCB7IE5ld0NhdGVnb3J5U3RydWN0dXJlQWRhcHRlciwgT2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL2FkYXB0ZXJzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcE5hbWUgPSBpbmplY3Rvci5nZXQ8c3RyaW5nPihGSVJFQkFTRV9BUFBfTkFNRSkgfHwgJ1tERUZBVUxUXSdcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGdldEFwcChhcHBOYW1lKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoaW5qZWN0b3IuZ2V0KEZJUkVCQVNFX09QVElPTlMpLCBhcHBOYW1lKVxuICAgICAgfVxuICAgIH0pLFxuICAgIEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUsXG4gICAgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcbiAgICBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxuICAgIEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBdXRoU2VydmljZSxcbiAgICBDYXJ0U2VydmljZSxcbiAgICBDYXRhbG9nU2VydmljZSxcbiAgICBDYXRlZ29yeVNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTZXJ2aWNlLFxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBDb3Vwb25TZXJ2aWNlLFxuICAgIEhvbWVTaG9wU2VydmljZSxcbiAgICBPcmRlclNlcnZpY2UsXG4gICAgU2hpcHBpbmdTZXJ2aWNlLFxuICAgIFdpc2hsaXN0U2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBVcGRhdGVVc2VySW1hZ2UsXG4gICAgICB1c2VGYWN0b3J5OiAodXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5LCBmaWxlVXBsb2FkZXI6IEZpbGVVcGxvYWRlclNlcnZpY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVcGRhdGVVc2VySW1hZ2UodXNlclJlcG9zaXRvcnksIGZpbGVVcGxvYWRlcilcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ1VzZXJSZXBvc2l0b3J5JywgJ0ZpbGVVcGxvYWRlclNlcnZpY2UnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXG4gICAgICBlbGFzdGljU2VhcmNoOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcbiAgICAgIGJhY2tlbmRVcmw6IHN0cmluZ1xuICAgICAgb2xkQ2F0ZWdvcnlTdHJ1Y3R1cmU/OiBib29sZWFuXG4gICAgICBzdG9yYWdlQmFzZVVybD86IHN0cmluZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckNvbm5lY3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJDb25uZWN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDQVRFR09SWV9TVFJVQ1RVUkUsXG4gICAgICAgICAgdXNlQ2xhc3M6XG4gICAgICAgICAgICBpc05pbChvcHRpb25zPy5vbGRDYXRlZ29yeVN0cnVjdHVyZSkgfHwgb3B0aW9ucz8ub2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVcbiAgICAgICAgICAgICAgPyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXJcbiAgICAgICAgICAgICAgOiBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLihpc05pbChkZWZhdWx0U2hvcCkgPyBbXSA6IFt7IHByb3ZpZGU6IERFRkFVTFRfU0hPUCwgdXNlVmFsdWU6IGRlZmF1bHRTaG9wIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnM/LmZpcmViYXNlIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZWxhc3RpY1NlYXJjaCkgPyBbXSA6IFt7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMuZWxhc3RpY1NlYXJjaCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmJhY2tlbmRVcmwpID8gW10gOiBbeyBwcm92aWRlOiBCQUNLRU5EX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuYmFja2VuZFVybCB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5zdG9yYWdlQmFzZVVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IFNUT1JBR0VfQkFTRV9VUkwsIHVzZVZhbHVlOiBvcHRpb25zLnN0b3JhZ2VCYXNlVXJsIH1dKSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0csT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0UsT0FBTyxFQUdMLDJCQUEyQixFQUMzQixLQUFLLEVBQ0wsb0JBQW9CLEVBRXBCLGVBQWUsR0FHaEIsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXdCLE1BQU0saUNBQWlDLENBQUE7QUFDbEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDekUsT0FBTyxFQUNMLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBbUIsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxX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LENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFBOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO3lCQUNoRDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixVQUFVLEVBQUUsQ0FBQyxPQUFnQixFQUFFLE9BQWUsRUFBRSxFQUFFO2dDQUNoRCxPQUFPLElBQUksMkJBQTJCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7eUJBQ2xDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucywgZ2V0QXBwLCBpbml0aWFsaXplQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCdcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSwgcHJvdmlkZVN0b3JhZ2UsIFN0b3JhZ2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnXHJcbmltcG9ydCB7XHJcbiAgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLFxyXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXHJcbiAgRmlyZWJhc2VGaWxlVXBsb2FkZXJTZXJ2aWNlLFxyXG4gIGlzTmlsLFxyXG4gIFByb2R1Y3RzVmVydGV4U2VhcmNoLFxyXG4gIFNob3BzLFxyXG4gIFVwZGF0ZVVzZXJJbWFnZSxcclxuICBVc2VyUmVwb3NpdG9yeSxcclxuICBWZXJ0ZXhTZWFyY2hDb25maWcsXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmViYXNlLWF1dGgubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUnXHJcbmltcG9ydCB7IEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLCBIYXN1cmFHcmFwaFFMT3B0aW9ucyB9IGZyb20gJy4vYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUnXHJcbmltcG9ydCB7IEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci12ZXJ0ZXgtc2VhcmNoLm1vZHVsZSdcclxuaW1wb3J0IHtcclxuICBCQUNLRU5EX1VSTCxcclxuICBDQVRFR09SWV9TVFJVQ1RVUkUsXHJcbiAgREVGQVVMVF9TSE9QLFxyXG4gIEVTX0NPTkZJRyxcclxuICBGSVJFQkFTRV9BUFBfTkFNRSxcclxuICBGSVJFQkFTRV9PUFRJT05TLFxyXG4gIEhBU1VSQV9PUFRJT05TLFxyXG4gIFBFUlNJU1RFTkNFX1BST1ZJREVSLFxyXG4gIFZFUlRFWF9DT05GSUcsXHJcbn0gZnJvbSAnLi9jb25zdHMnXHJcbmltcG9ydCB7IFNUT1JBR0VfQkFTRV9VUkwgfSBmcm9tICcuL2NvbnN0cy9zdG9yYWdlLWJhc2UtdXJsLmNvbnN0J1xyXG5pbXBvcnQgeyBDb29raWVEYXRhUGVyc2lzdGVuY2UsIERhdGFQZXJzaXN0ZW5jZSB9IGZyb20gJy4vcGVyc2lzdGVuY2UnXHJcbmltcG9ydCB7XHJcbiAgQXV0aFNlcnZpY2UsXHJcbiAgQ2FydFNlcnZpY2UsXHJcbiAgQ2F0YWxvZ1NlcnZpY2UsXHJcbiAgQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gIENoZWNrb3V0U2VydmljZSxcclxuICBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2UsXHJcbiAgQ291cG9uU2VydmljZSxcclxuICBIb21lU2hvcFNlcnZpY2UsXHJcbiAgT3JkZXJTZXJ2aWNlLFxyXG4gIFNoaXBwaW5nU2VydmljZSxcclxuICBXaXNobGlzdFNlcnZpY2UsXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcydcclxuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLCBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMnXHJcbmltcG9ydCB7IEZpcmViYXNlQXBwQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcclxuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldDxzdHJpbmc+KEZJUkVCQVNFX0FQUF9OQU1FKSB8fCAnW0RFRkFVTFRdJ1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gZ2V0QXBwKGFwcE5hbWUpXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoaW5qZWN0b3IuZ2V0KEZJUkVCQVNFX09QVElPTlMpLCBhcHBOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9KSxcclxuICAgIHByb3ZpZGVTdG9yYWdlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IGdldFN0b3JhZ2UoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSkpLFxyXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcclxuICAgIEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSxcclxuICAgIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUsXHJcbiAgICBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxyXG4gICAgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEF1dGhTZXJ2aWNlLFxyXG4gICAgQ2FydFNlcnZpY2UsXHJcbiAgICBDYXRhbG9nU2VydmljZSxcclxuICAgIENhdGVnb3J5U2VydmljZSxcclxuICAgIENoZWNrb3V0U2VydmljZSxcclxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgIENvdXBvblNlcnZpY2UsXHJcbiAgICBIb21lU2hvcFNlcnZpY2UsXHJcbiAgICBPcmRlclNlcnZpY2UsXHJcbiAgICBTaGlwcGluZ1NlcnZpY2UsXHJcbiAgICBXaXNobGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFVwZGF0ZVVzZXJJbWFnZSxcclxuICAgICAgdXNlRmFjdG9yeTogKHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyOiBGaWxlVXBsb2FkZXJTZXJ2aWNlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVcGRhdGVVc2VySW1hZ2UodXNlclJlcG9zaXRvcnksIGZpbGVVcGxvYWRlcilcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydVc2VyUmVwb3NpdG9yeScsICdGaWxlVXBsb2FkZXJTZXJ2aWNlJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnRmlsZVVwbG9hZGVyU2VydmljZScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChzdG9yYWdlOiBTdG9yYWdlLCBiYXNlVXJsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZShzdG9yYWdlLCBiYXNlVXJsKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbU3RvcmFnZSwgU1RPUkFHRV9CQVNFX1VSTF0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnUHJvZHVjdFNlYXJjaCcsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0c1ZlcnRleFNlYXJjaCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJDb25uZWN0TW9kdWxlIHtcclxuICBzdGF0aWMgaW5pdGlhbGl6ZUFwcChcclxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcclxuICAgIG9wdGlvbnM6IHtcclxuICAgICAgZmlyZWJhc2U6IEZpcmViYXNlT3B0aW9uc1xyXG4gICAgICBlbGFzdGljU2VhcmNoPzogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnXHJcbiAgICAgIHZlcnRleENvbmZpZz86IFZlcnRleFNlYXJjaENvbmZpZ1xyXG4gICAgICBoYXN1cmE6IEhhc3VyYUdyYXBoUUxPcHRpb25zXHJcbiAgICAgIGJhY2tlbmRVcmw6IHN0cmluZ1xyXG4gICAgICBvbGRDYXRlZ29yeVN0cnVjdHVyZT86IGJvb2xlYW5cclxuICAgICAgc3RvcmFnZUJhc2VVcmw/OiBzdHJpbmdcclxuICAgICAgcGVyc2lzdGVuY2VQcm92aWRlcj86IFR5cGU8RGF0YVBlcnNpc3RlbmNlPlxyXG4gICAgfSxcclxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckNvbm5lY3RNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyQ29ubmVjdE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ0FURUdPUllfU1RSVUNUVVJFLFxyXG4gICAgICAgICAgdXNlQ2xhc3M6XHJcbiAgICAgICAgICAgIGlzTmlsKG9wdGlvbnM/Lm9sZENhdGVnb3J5U3RydWN0dXJlKSB8fCBvcHRpb25zPy5vbGRDYXRlZ29yeVN0cnVjdHVyZVxyXG4gICAgICAgICAgICAgID8gT2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyXHJcbiAgICAgICAgICAgICAgOiBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFBFUlNJU1RFTkNFX1BST1ZJREVSLCB1c2VDbGFzczogb3B0aW9ucz8ucGVyc2lzdGVuY2VQcm92aWRlciB8fCBDb29raWVEYXRhUGVyc2lzdGVuY2UgfSxcclxuICAgICAgICAuLi4oaXNOaWwoZGVmYXVsdFNob3ApID8gW10gOiBbeyBwcm92aWRlOiBERUZBVUxUX1NIT1AsIHVzZVZhbHVlOiBkZWZhdWx0U2hvcCB9XSksXHJcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmZpcmViYXNlKSA/IFtdIDogW3sgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnM/LmZpcmViYXNlIH1dKSxcclxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9XSksXHJcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LmVsYXN0aWNTZWFyY2gpID8gW10gOiBbeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLmVsYXN0aWNTZWFyY2ggfV0pLFxyXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy52ZXJ0ZXhDb25maWcpID8gW10gOiBbeyBwcm92aWRlOiBWRVJURVhfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy52ZXJ0ZXhDb25maWcgfV0pLFxyXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5oYXN1cmEpID8gW10gOiBbeyBwcm92aWRlOiBIQVNVUkFfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuaGFzdXJhIH1dKSxcclxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uYmFja2VuZFVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IEJBQ0tFTkRfVVJMLCB1c2VWYWx1ZTogb3B0aW9ucy5iYWNrZW5kVXJsIH1dKSxcclxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uc3RvcmFnZUJhc2VVcmwpID8gW10gOiBbeyBwcm92aWRlOiBTVE9SQUdFX0JBU0VfVVJMLCB1c2VWYWx1ZTogb3B0aW9ucy5zdG9yYWdlQmFzZVVybCB9XSksXHJcbiAgICAgIF0sXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
31
31
  ],
32
32
  }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTRCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFZcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7OEdBTlUseUJBQXlCOytHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixhQVR6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixVQUFVLEVBQUUsQ0FBQyxhQUF1QyxFQUFpQixFQUFFLENBQ3JFLElBQUksYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRjs7MkZBRVUseUJBQXlCO2tCQVZyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRSxDQUNyRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEF4aW9zQWRhcHRlciwgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLCBQcm9kdWN0c0luZGV4IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdHNJbmRleCxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWd1cmF0aW9uOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBQcm9kdWN0c0luZGV4ID0+XG4gICAgICAgIG5ldyBQcm9kdWN0c0luZGV4KG5ldyBBeGlvc0FkYXB0ZXIoY29uZmlndXJhdGlvbikpLFxuICAgICAgZGVwczogW0VTX0NPTkZJR10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTRCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFZcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7OEdBTlUseUJBQXlCOytHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixhQVR6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixVQUFVLEVBQUUsQ0FBQyxhQUF1QyxFQUFpQixFQUFFLENBQ3JFLElBQUksYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRjs7MkZBRVUseUJBQXlCO2tCQVZyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRSxDQUNyRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQXhpb3NBZGFwdGVyLCBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIFByb2R1Y3RzSW5kZXggfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RzSW5kZXgsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWd1cmF0aW9uOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBQcm9kdWN0c0luZGV4ID0+XHJcbiAgICAgICAgbmV3IFByb2R1Y3RzSW5kZXgobmV3IEF4aW9zQWRhcHRlcihjb25maWd1cmF0aW9uKSksXHJcbiAgICAgIGRlcHM6IFtFU19DT05GSUddLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB7XHJcbiAgc3RhdGljIGluaXRpYWxpemVBcHAob3B0aW9uczogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zIH1dLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
112
112
  ],
113
113
  }]
114
114
  }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9ELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsMkJBQTJCLEVBRTNCLE9BQU8sR0FFUixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBa0Q5RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BQXdCLEVBQ3hCLFlBQXlDO1FBRXpDLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3ZEO1NBQ0YsQ0FBQTtJQUNILENBQUM7OEdBWlUseUJBQXlCOytHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixhQTdDekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBRSxjQUE4QixFQUFrQixFQUFFO29CQUMzRyxPQUFPLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFF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QUFPLElBQUksMkJBQTJCLENBQUMsZUFBZSxDQUFDLENBQUE7NEJBQ3pELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNiO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBVyxFQUFFO2dDQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7NEJBQzNDLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFvQixFQUFFO2dDQUM3RSxPQUFPLElBQUksZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQTs0QkFDcEQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgQXV0aCwgZ2V0QXV0aCwgcHJvdmlkZUF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnXG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvbixcbiAgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gIFJlY292ZXJ5UGFzc3dvcmQsXG4gIFJlZ2lzdGVyLFxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXG4gIFJlZ2lzdGVyU2VydmljZSxcbiAgU2lnbk91dCxcbiAgVXNlclJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4gZ2V0QXV0aChpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApKSldLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQXV0aGVudGljYXRpb24nLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBBdXRoZW50aWNhdGlvbiA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogQXV0aGVudGljYXRpb25TZXJ2aWNlID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UoYW5ndWxhckZpcmVBdXRoKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBdXRoXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlcicsXG4gICAgICB1c2VGYWN0b3J5OiAocmVnaXN0ZXJTZXJ2aWNlOiBSZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSk6IFJlZ2lzdGVyID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RlcihyZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnUmVnaXN0ZXJTZXJ2aWNlJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVnaXN0ZXJTZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBSZWdpc3RlclNlcnZpY2UgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXG4gICAgICB9LFxuICAgICAgZGVwczogW0F1dGhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1NpZ25PdXQnLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbk91dChhdXRoZW50aWNhdGlvblNlcnZpY2UpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSk6IFJlY292ZXJ5UGFzc3dvcmQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlY292ZXJ5UGFzc3dvcmQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJ10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9ELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsMkJBQTJCLEVBRTNCLE9BQU8sR0FFUixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBa0Q5RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BQXdCLEVBQ3hCLFlBQXlDO1FBRXpDLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3ZEO1NBQ0YsQ0FBQTtJQUNILENBQUM7OEdBWlUseUJBQXlCOytHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixhQTdDekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBRSxjQUE4QixFQUFrQixFQUFFO29CQUMzRyxPQUFPLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFF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QUFPLElBQUksMkJBQTJCLENBQUMsZUFBZSxDQUFDLENBQUE7NEJBQ3pELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNiO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBVyxFQUFFO2dDQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7NEJBQzNDLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFvQixFQUFFO2dDQUM3RSxPQUFPLElBQUksZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQTs0QkFDcEQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXHJcbmltcG9ydCB7IEF1dGgsIGdldEF1dGgsIHByb3ZpZGVBdXRoIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJ1xyXG5pbXBvcnQge1xyXG4gIEF1dGhlbnRpY2F0aW9uLFxyXG4gIEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZSxcclxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgUmVjb3ZlcnlQYXNzd29yZCxcclxuICBSZWdpc3RlcixcclxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXHJcbiAgUmVnaXN0ZXJTZXJ2aWNlLFxyXG4gIFNpZ25PdXQsXHJcbiAgVXNlclJlcG9zaXRvcnksXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xyXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtwcm92aWRlQXV0aCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBnZXRBdXRoKGluamVjdG9yLmdldChGaXJlYmFzZUFwcCkpKV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvbicsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogQXV0aGVudGljYXRpb24gPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvblNlcnZpY2UnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogQXV0aGVudGljYXRpb25TZXJ2aWNlID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBdXRoXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlcicsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RlclNlcnZpY2U6IFJlZ2lzdGVyU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogUmVnaXN0ZXIgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXIocmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydSZWdpc3RlclNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlclNlcnZpY2UnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogUmVnaXN0ZXJTZXJ2aWNlID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBdXRoXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTaWduT3V0JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTaWduT3V0KGF1dGhlbnRpY2F0aW9uU2VydmljZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcclxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogUmVjb3ZlcnlQYXNzd29yZCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSZWNvdmVyeVBhc3N3b3JkKGF1dGhlbnRpY2F0aW9uU2VydmljZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUge1xyXG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxyXG4gICAgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxyXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcclxuICAgICAgXSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,16 +1,13 @@
1
1
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
2
2
  import { NgModule, PLATFORM_ID } from '@angular/core';
3
3
  import { FirebaseApp } from '@angular/fire/app';
4
- import { Firestore, getFirestore, initializeFirestore, memoryLocalCache, provideFirestore, } from '@angular/fire/firestore';
5
- import { Storage, getStorage, provideStorage } from '@angular/fire/storage';
6
- import { Buy2WinFirestoreRepository, CampaignDashboardFirestoreRepository, CampaignHashtagFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, FirebaseFileUploaderService, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ProductVariantFirestoreRepository, ShopMenuFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionSummaryFirestoreRepository, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethodFirestoreRepository, } from '@infrab4a/connect';
4
+ import { Firestore, initializeFirestore, memoryLocalCache, provideFirestore } from '@angular/fire/firestore';
5
+ import { Buy2WinFirestoreRepository, CampaignDashboardFirestoreRepository, CampaignHashtagFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, ConnectFirestoreService, CouponFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, OrderBlockedFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ProductVariantFirestoreRepository, ShopMenuFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionSummaryFirestoreRepository, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethodFirestoreRepository, } from '@infrab4a/connect';
7
6
  import { AngularElasticSeachModule } from './angular-elastic-search.module';
8
7
  import { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
9
- import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
10
8
  import { MobileOperationSystemCheckerHelper } from './helpers';
11
9
  import * as i0 from "@angular/core";
12
10
  import * as i1 from "@angular/fire/firestore";
13
- import * as i2 from "@angular/fire/storage";
14
11
  export class AngularFirestoreModule {
15
12
  static initializeApp(options, nameOrConfig) {
16
13
  return {
@@ -23,12 +20,12 @@ export class AngularFirestoreModule {
23
20
  };
24
21
  }
25
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1.FirestoreModule, i2.StorageModule] }); }
23
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1.FirestoreModule] }); }
27
24
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, providers: [
28
25
  {
29
26
  provide: 'FirestoreOptions',
30
27
  useFactory: (firestore, platformId) => ({
31
- firestore,
28
+ firestore: new ConnectFirestoreService(firestore),
32
29
  interceptors: {
33
30
  request: (request) => {
34
31
  if (isPlatformBrowser(platformId))
@@ -237,26 +234,26 @@ export class AngularFirestoreModule {
237
234
  deps: ['FirestoreOptions', ProductFirestoreRepository],
238
235
  },
239
236
  {
240
- provide: 'FileUploaderService',
241
- useFactory: (storage, baseUrl) => {
242
- return new FirebaseFileUploaderService(storage, baseUrl);
237
+ provide: 'OrderBlockedRepository',
238
+ useFactory: (options) => {
239
+ return new OrderBlockedFirestoreRepository(options);
243
240
  },
244
- deps: [Storage, STORAGE_BASE_URL],
241
+ deps: ['FirestoreOptions'],
245
242
  },
246
243
  ], imports: [AngularElasticSeachModule,
247
244
  provideFirestore((injector) => {
248
245
  const platformId = injector.get(PLATFORM_ID);
249
- if (isPlatformServer(platformId))
250
- return getFirestore(injector.get(FirebaseApp));
251
- if (!MobileOperationSystemCheckerHelper.isAppleDevice())
252
- return getFirestore(injector.get(FirebaseApp));
246
+ if (isPlatformServer(platformId) || !MobileOperationSystemCheckerHelper.isAppleDevice())
247
+ return initializeFirestore(injector.get(FirebaseApp), {
248
+ ignoreUndefinedProperties: true,
249
+ });
253
250
  const firestore = initializeFirestore(injector.get(FirebaseApp), {
254
251
  experimentalForceLongPolling: true,
252
+ ignoreUndefinedProperties: true,
255
253
  localCache: memoryLocalCache(),
256
254
  });
257
255
  return firestore;
258
- }),
259
- provideStorage(() => getStorage())] }); }
256
+ })] }); }
260
257
  }
261
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, decorators: [{
262
259
  type: NgModule,
@@ -265,23 +262,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
265
262
  AngularElasticSeachModule,
266
263
  provideFirestore((injector) => {
267
264
  const platformId = injector.get(PLATFORM_ID);
268
- if (isPlatformServer(platformId))
269
- return getFirestore(injector.get(FirebaseApp));
270
- if (!MobileOperationSystemCheckerHelper.isAppleDevice())
271
- return getFirestore(injector.get(FirebaseApp));
265
+ if (isPlatformServer(platformId) || !MobileOperationSystemCheckerHelper.isAppleDevice())
266
+ return initializeFirestore(injector.get(FirebaseApp), {
267
+ ignoreUndefinedProperties: true,
268
+ });
272
269
  const firestore = initializeFirestore(injector.get(FirebaseApp), {
273
270
  experimentalForceLongPolling: true,
271
+ ignoreUndefinedProperties: true,
274
272
  localCache: memoryLocalCache(),
275
273
  });
276
274
  return firestore;
277
275
  }),
278
- provideStorage(() => getStorage()),
279
276
  ],
280
277
  providers: [
281
278
  {
282
279
  provide: 'FirestoreOptions',
283
280
  useFactory: (firestore, platformId) => ({
284
- firestore,
281
+ firestore: new ConnectFirestoreService(firestore),
285
282
  interceptors: {
286
283
  request: (request) => {
287
284
  if (isPlatformBrowser(platformId))
@@ -490,13 +487,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
490
487
  deps: ['FirestoreOptions', ProductFirestoreRepository],
491
488
  },
492
489
  {
493
- provide: 'FileUploaderService',
494
- useFactory: (storage, baseUrl) => {
495
- return new FirebaseFileUploaderService(storage, baseUrl);
490
+ provide: 'OrderBlockedRepository',
491
+ useFactory: (options) => {
492
+ return new OrderBlockedFirestoreRepository(options);
496
493
  },
497
- deps: [Storage, STORAGE_BASE_URL],
494
+ deps: ['FirestoreOptions'],
498
495
  },
499
496
  ],
500
497
  }]
501
498
  }] });
502
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDckUsT0FBTyxFQUFpQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDaEUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBR0wsMEJBQTBCLEVBRTFCLG9DQUFvQyxFQUVwQyxrQ0FBa0MsRUFFbEMsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFFdkMseUJBQXlCLEVBR3pCLDJCQUEyQixFQUczQix1QkFBdUIsRUFFdkIsdUJBQXVCLEVBRXZCLDhCQUE4QixFQUU5Qix3QkFBd0IsRUFFeEIsMEJBQTBCLEVBRTFCLDBCQUEwQixFQUUxQixpQ0FBaUMsRUFDakMsMkJBQTJCLEVBRTNCLCtCQUErQixFQUUvQixzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLDhDQUE4QyxFQUU5QyxzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUd0QyxzQ0FBc0MsRUFFdEMsOEJBQThCLEVBRTlCLG9DQUFvQyxFQUNwQyx1QkFBdUIsRUFDdkIsb0NBQW9DLEdBSXJDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFF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QUMxRSxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDO3lCQUM3Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxVQUFVLEVBQUUsQ0FBQyxPQUF5QixFQUF5QyxFQUFFO2dDQUMvRSxPQUFPLElBQUksOENBQThDLENBQUMsT0FBTyxDQUFDLENBQUE7NEJBQ3BFLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzNCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFVBQVUsRUFBRSxDQUFDLE9BQXlCLEVBQWlDLEVBQUU7Z0NBQ3ZFLE9BQU8sSUFBSSxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQTs0QkFDNUQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDM0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxpQkFBNkMsRUFBcUIsRUFBRTtnQ0FDMUcsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUMxRSxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixDQUFDO3lCQUN2RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixVQUFVLEVBQUUsQ0FBQyxPQUFnQixFQUFFLE9BQWUsRUFBRSxFQUFFO2dDQUNoRCxPQUFPLElBQUksMkJBQTJCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDbEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHtcbiAgRmlyZXN0b3JlLFxuICBnZXRGaXJlc3RvcmUsXG4gIGluaXRpYWxpemVGaXJlc3RvcmUsXG4gIG1lbW9yeUxvY2FsQ2FjaGUsXG4gIHByb3ZpZGVGaXJlc3RvcmUsXG59IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xuaW1wb3J0IHsgU3RvcmFnZSwgZ2V0U3RvcmFnZSwgcHJvdmlkZVN0b3JhZ2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5LFxuICBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQnV5MldpblJlcG9zaXRvcnksXG4gIENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDaGVja291dFJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxuICBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDb3Vwb25SZXBvc2l0b3J5LFxuICBFZGl0aW9uUmVwb3NpdG9yeSxcbiAgRmlyZWJhc2VGaWxlVXBsb2FkZXJTZXJ2aWNlLFxuICBGaXJlc3RvcmVDb25zdHJ1Y3RvclBhcmFtcyxcbiAgRmlyZXN0b3JlSW50ZXJ0Y2VwdG9yUmVxdWVzdFBhcmFtcyxcbiAgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIEhvbWVSZXBvc2l0b3J5LFxuICBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgTGVhZFJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgTGVnYWN5T3JkZXJSZXBvc2l0b3J5LFxuICBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIE9yZGVyUmVwb3NpdG9yeSxcbiAgUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFBheW1lbnRSZXBvc2l0b3J5LFxuICBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgUHJvZHVjdFJlcG9zaXRvcnksXG4gIFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wTWVudVJlcG9zaXRvcnksXG4gIFNob3BTZXR0aW5nc0ZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFNob3BTZXR0aW5nc1JlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvbkVkaXRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25SZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QbGFuUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25TdW1tYXJ5RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uU3VtbWFyeVJlcG9zaXRvcnksXG4gIFVzZXJBZGRyZXNzRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NSZXBvc2l0b3J5LFxuICBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyUGF5bWVudE1ldGhvZEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeSxcbiAgVXNlclJlcG9zaXRvcnksXG4gIFZhcmlhbnRSZXBvc2l0b3J5LFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUnXG5pbXBvcnQgeyBFU19DT05GSUcsIEZJUkVCQVNFX0FQUF9OQU1FLCBGSVJFQkFTRV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQgeyBTVE9SQUdFX0JBU0VfVVJMIH0gZnJvbSAnLi9jb25zdHMvc3RvcmFnZS1iYXNlLXVybC5jb25zdCdcbmltcG9ydCB7IE1vYmlsZU9wZXJhdGlvblN5c3RlbUNoZWNrZXJIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCB0eXBlIEZpcmVzdG9yZU9wdGlvbnMgPSBQaWNrPEZpcmVzdG9yZUNvbnN0cnVjdG9yUGFyYW1zPGFueT4sICdmaXJlc3RvcmUnIHwgJ2ludGVyY2VwdG9ycyc+XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxuICAgIHByb3ZpZGVGaXJlc3RvcmUoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgcGxhdGZvcm1JZCA9IGluamVjdG9yLmdldChQTEFURk9STV9JRClcblxuICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHJldHVybiBnZXRGaXJlc3RvcmUoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSlcbiAgICAgIGlmICghTW9iaWxlT3BlcmF0aW9uU3lzdGVtQ2hlY2tlckhlbHBlci5pc0FwcGxlRGV2aWNlKCkpIHJldHVybiBnZXRGaXJlc3RvcmUoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSlcblxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApLCB7XG4gICAgICAgIGV4cGVyaW1lbnRhbEZvcmNlTG9uZ1BvbGxpbmc6IHRydWUsXG4gICAgICAgIGxvY2FsQ2FjaGU6IG1lbW9yeUxvY2FsQ2FjaGUoKSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmVcbiAgICB9KSxcbiAgICBwcm92aWRlU3RvcmFnZSgoKSA9PiBnZXRTdG9yYWdlKCkpLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnRmlyZXN0b3JlT3B0aW9ucycsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUsIHBsYXRmb3JtSWQ6IHN0cmluZyk6IEZpcmVzdG9yZU9wdGlvbnMgPT4gKHtcbiAgICAgICAgZmlyZXN0b3JlLFxuICAgICAgICBpbnRlcmNlcHRvcnM6IHtcbiAgICAgICAgICByZXF1ZXN0OiAocmVxdWVzdDogRmlyZXN0b3JlSW50ZXJ0Y2VwdG9yUmVxdWVzdFBhcmFtczxhbnk+ICYgeyBpbnRlcnZhbDogTm9kZUpTLlRpbWVvdXQgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSByZXR1cm4gcmVxdWVzdFxuXG4gICAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHt9LCAxMDApXG5cbiAgICAgICAgICAgIHJlcXVlc3QuaW50ZXJ2YWwgPSBpbnRlcnZhbFxuXG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzcG9uc2U6IChcbiAgICAgICAgICAgIHJlc3BvbnNlOiBhbnksXG4gICAgICAgICAgICByZXF1ZXN0OiBGaXJlc3RvcmVJbnRlcnRjZXB0b3JSZXF1ZXN0UGFyYW1zPGFueT4gJiB7IGludGVydmFsOiBOb2RlSlMuVGltZW91dCB9LFxuICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSByZXR1cm4gcmVzcG9uc2VcblxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChyZXF1ZXN0LmludGVydmFsKVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlLCBQTEFURk9STV9JRF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGNvbmZpZzogRmlyZXN0b3JlT3B0aW9ucywgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJCZWF1dHlQcm9maWxlRmlyZXN0b3JlUmVwb3NpdG9yeShjb25maWcsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0J1eTJXaW5SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQnV5MldpblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEJ1eTJXaW5GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENhdGVnb3J5UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2F0ZWdvcnlGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2hlY2tvdXRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NvdXBvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDb3Vwb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2FtcGFpZ25IYXNodGFnUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENhbXBhaWduSGFzaHRhZ1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhbXBhaWduSGFzaHRhZ0ZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDYW1wYWlnbkRhc2hib2FyZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYW1wYWlnbkRhc2hib2FyZFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0VkaXRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgb3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyxcbiAgICAgICAgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeTogU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgICk6IEVkaXRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCBzdWJzY3JpcHRpb25SZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnSG9tZVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBIb21lUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdMZWFkUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IExlYWRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0xlZ2FjeU9yZGVyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IExlZ2FjeU9yZGVyUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVnYWN5T3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU2hvcE1lbnVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU2hvcE1lbnVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdPcmRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1BheW1lbnRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogUHJvZHVjdFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU2hvcFNldHRpbmdzUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFNob3BTZXR0aW5nc1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFNob3BTZXR0aW5nc0ZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogVXNlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlckFkZHJlc3NSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyQWRkcmVzc1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJBZGRyZXNzRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IFVzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgVXNlclBheW1lbnRNZXRob2RGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uU3VtbWFyeVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25TdW1tYXJ5UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uU3VtbWFyeUZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkpOiBWYXJpYW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsIFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdGaWxlVXBsb2FkZXJTZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChzdG9yYWdlOiBTdG9yYWdlLCBiYXNlVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaXJlYmFzZUZpbGVVcGxvYWRlclNlcnZpY2Uoc3RvcmFnZSwgYmFzZVVybClcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbU3RvcmFnZSwgU1RPUkFHRV9CQVNFX1VSTF0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGZpcmViYXNlOiBGaXJlYmFzZU9wdGlvbnNcbiAgICAgIGVsYXN0aWNTZWFyY2g6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckZpcmVzdG9yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmVzdG9yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zLmZpcmViYXNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLmVsYXN0aWNTZWFyY2ggfSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
499
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDckUsT0FBTyxFQUFpQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVHLE9BQU8sRUFHTCwwQkFBMEIsRUFFMUIsb0NBQW9DLEVBRXBDLGtDQUFrQyxFQUVsQywyQkFBMkIsRUFFM0IsMkJBQTJCLEVBRTNCLHVDQUF1QyxFQUV2Qyx1QkFBdUIsRUFDdkIseUJBQXlCLEVBS3pCLHVCQUF1QixFQUV2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBRTlCLCtCQUErQixFQUUvQix3QkFBd0IsRUFFeEIsMEJBQTBCLEVBRTFCLDBCQUEwQixFQUUxQixpQ0FBaUMsRUFDakMsMkJBQTJCLEVBRTNCLCtCQUErQixFQUUvQixzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLDhDQUE4QyxFQUU5QyxzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUd0QyxzQ0FBc0MsRUFFdEMsOEJBQThCLEVBRTlCLG9DQUFvQyxFQUNwQyx1QkFBdUIsRUFDdkIsb0NBQW9DLEdBSXJDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0Is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Q3BFLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzNCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFVBQVUsRUFBRSxDQUFDLE9BQXlCLEVBQWlDLEVBQUU7Z0NBQ3ZFLE9BQU8sSUFBSSxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQTs0QkFDNUQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDM0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxpQkFBNkMsRUFBcUIsRUFBRTtnQ0FDMUcsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUMxRSxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixDQUFDO3lCQUN2RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxVQUFVLEVBQUUsQ0FBQyxPQUF5QixFQUEwQixFQUFFO2dDQUNoRSxPQUFPLElBQUksK0JBQStCLENBQUMsT0FBTyxDQUFDLENBQUE7NEJBQ3JELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzNCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXHJcbmltcG9ydCB7IEZpcmVzdG9yZSwgaW5pdGlhbGl6ZUZpcmVzdG9yZSwgbWVtb3J5TG9jYWxDYWNoZSwgcHJvdmlkZUZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xyXG5pbXBvcnQge1xyXG4gIEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyxcclxuICBCZWF1dHlQcm9maWxlUmVwb3NpdG9yeSxcclxuICBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBCdXkyV2luUmVwb3NpdG9yeSxcclxuICBDYW1wYWlnbkRhc2hib2FyZEZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5LFxyXG4gIENhbXBhaWduSGFzaHRhZ0ZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgQ2FtcGFpZ25IYXNodGFnUmVwb3NpdG9yeSxcclxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxyXG4gIENoZWNrb3V0RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBDaGVja291dFJlcG9zaXRvcnksXHJcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcclxuICBDb25uZWN0RmlyZXN0b3JlU2VydmljZSxcclxuICBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIENvdXBvblJlcG9zaXRvcnksXHJcbiAgRWRpdGlvblJlcG9zaXRvcnksXHJcbiAgRmlyZXN0b3JlQ29uc3RydWN0b3JQYXJhbXMsXHJcbiAgRmlyZXN0b3JlSW50ZXJ0Y2VwdG9yUmVxdWVzdFBhcmFtcyxcclxuICBIb21lRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBIb21lUmVwb3NpdG9yeSxcclxuICBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBMZWFkUmVwb3NpdG9yeSxcclxuICBMZWdhY3lPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgTGVnYWN5T3JkZXJSZXBvc2l0b3J5LFxyXG4gIE9yZGVyQmxvY2tlZEZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgT3JkZXJCbG9ja2VkUmVwb3NpdG9yeSxcclxuICBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgT3JkZXJSZXBvc2l0b3J5LFxyXG4gIFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFBheW1lbnRSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgU2hvcE1lbnVSZXBvc2l0b3J5LFxyXG4gIFNob3BTZXR0aW5nc0ZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgU2hvcFNldHRpbmdzUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25QYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25QbGFuUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25Qcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblN1bW1hcnlGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblN1bW1hcnlSZXBvc2l0b3J5LFxyXG4gIFVzZXJBZGRyZXNzRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBVc2VyQWRkcmVzc1JlcG9zaXRvcnksXHJcbiAgVXNlckJlYXV0eVByb2ZpbGVGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnksXHJcbiAgVXNlclJlcG9zaXRvcnksXHJcbiAgVmFyaWFudFJlcG9zaXRvcnksXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcclxuaW1wb3J0IHsgRVNfQ09ORklHLCBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xyXG5pbXBvcnQgeyBNb2JpbGVPcGVyYXRpb25TeXN0ZW1DaGVja2VySGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXHJcblxyXG5leHBvcnQgdHlwZSBGaXJlc3RvcmVPcHRpb25zID0gUGljazxGaXJlc3RvcmVDb25zdHJ1Y3RvclBhcmFtczxhbnk+LCAnZmlyZXN0b3JlJyB8ICdpbnRlcmNlcHRvcnMnPlxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxyXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYXRmb3JtSWQgPSBpbmplY3Rvci5nZXQoUExBVEZPUk1fSUQpXHJcblxyXG4gICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSB8fCAhTW9iaWxlT3BlcmF0aW9uU3lzdGVtQ2hlY2tlckhlbHBlci5pc0FwcGxlRGV2aWNlKCkpXHJcbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemVGaXJlc3RvcmUoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSwge1xyXG4gICAgICAgICAgaWdub3JlVW5kZWZpbmVkUHJvcGVydGllczogdHJ1ZSxcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApLCB7XHJcbiAgICAgICAgZXhwZXJpbWVudGFsRm9yY2VMb25nUG9sbGluZzogdHJ1ZSxcclxuICAgICAgICBpZ25vcmVVbmRlZmluZWRQcm9wZXJ0aWVzOiB0cnVlLFxyXG4gICAgICAgIGxvY2FsQ2FjaGU6IG1lbW9yeUxvY2FsQ2FjaGUoKSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHJldHVybiBmaXJlc3RvcmVcclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdGaXJlc3RvcmVPcHRpb25zJyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCBwbGF0Zm9ybUlkOiBzdHJpbmcpOiBGaXJlc3RvcmVPcHRpb25zID0+ICh7XHJcbiAgICAgICAgZmlyZXN0b3JlOiBuZXcgQ29ubmVjdEZpcmVzdG9yZVNlcnZpY2UoZmlyZXN0b3JlKSxcclxuICAgICAgICBpbnRlcmNlcHRvcnM6IHtcclxuICAgICAgICAgIHJlcXVlc3Q6IChyZXF1ZXN0OiBGaXJlc3RvcmVJbnRlcnRjZXB0b3JSZXF1ZXN0UGFyYW1zPGFueT4gJiB7IGludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB9KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlcXVlc3RcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge30sIDEwMClcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuaW50ZXJ2YWwgPSBpbnRlcnZhbFxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByZXNwb25zZTogKFxyXG4gICAgICAgICAgICByZXNwb25zZTogYW55LFxyXG4gICAgICAgICAgICByZXF1ZXN0OiBGaXJlc3RvcmVJbnRlcnRjZXB0b3JSZXF1ZXN0UGFyYW1zPGFueT4gJiB7IGludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB9LFxyXG4gICAgICAgICAgKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlc3BvbnNlXHJcblxyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHJlcXVlc3QuaW50ZXJ2YWwpXHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSksXHJcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsIFBMQVRGT1JNX0lEXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdCZWF1dHlQcm9maWxlUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWc6IEZpcmVzdG9yZU9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJCZWF1dHlQcm9maWxlRmlyZXN0b3JlUmVwb3NpdG9yeShjb25maWcsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdCdXkyV2luUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQnV5MldpblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2F0ZWdvcnlSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdDaGVja291dFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0NvdXBvblJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENvdXBvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IENhbXBhaWduSGFzaHRhZ0ZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYW1wYWlnbkRhc2hib2FyZFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQ2FtcGFpZ25EYXNoYm9hcmRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0VkaXRpb25SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKFxyXG4gICAgICAgIG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsXHJcbiAgICAgICAgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeTogU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgICAgKTogRWRpdGlvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdIb21lUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogSG9tZVJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnTGVhZFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IExlYWRSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IExlYWRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0xlZ2FjeU9yZGVyUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogTGVnYWN5T3JkZXJSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTaG9wTWVudVJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFNob3BNZW51UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnT3JkZXJSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBPcmRlclJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1BheW1lbnRSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBQYXltZW50UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFByb2R1Y3RSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1Nob3BTZXR0aW5nc1JlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFNob3BTZXR0aW5nc1JlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgU2hvcFNldHRpbmdzRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChcclxuICAgICAgICBvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgICk6IFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5J10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25Qcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnVXNlclJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFVzZXJSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1VzZXJBZGRyZXNzUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyQWRkcmVzc1JlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucywgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCB1c2VyUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1VzZXJSZXBvc2l0b3J5J10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblN1bW1hcnlSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTdWJzY3JpcHRpb25TdW1tYXJ5UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25TdW1tYXJ5RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSk6IFZhcmlhbnRSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnldLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ09yZGVyQmxvY2tlZFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IE9yZGVyQmxvY2tlZFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgT3JkZXJCbG9ja2VkRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUge1xyXG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxyXG4gICAgb3B0aW9uczoge1xyXG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXHJcbiAgICAgIGVsYXN0aWNTZWFyY2g6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xyXG4gICAgfSxcclxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckZpcmVzdG9yZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuZmlyZWJhc2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLmVsYXN0aWNTZWFyY2ggfSxcclxuICAgICAgXSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19