@infrab4a/connect-angular 5.4.6-beta.0 → 5.5.0-alpha.1

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 (227) hide show
  1. package/angular-connect.module.d.ts +33 -36
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +10 -11
  4. package/angular-firestore.module.d.ts +16 -17
  5. package/angular-hasura-graphql.module.d.ts +14 -14
  6. package/angular-vertex-search.module.d.ts +9 -9
  7. package/consts/backend-url.const.d.ts +1 -1
  8. package/consts/category-structure.d.ts +1 -1
  9. package/consts/default-shop.const.d.ts +1 -1
  10. package/consts/es-config.const.d.ts +1 -1
  11. package/consts/firebase-const.d.ts +4 -4
  12. package/consts/hasura-options.const.d.ts +1 -1
  13. package/consts/index.d.ts +8 -8
  14. package/consts/persistence.const.d.ts +1 -1
  15. package/consts/storage-base-url.const.d.ts +1 -1
  16. package/consts/vertex-config.const.d.ts +1 -1
  17. package/esm2022/angular-connect.module.mjs +288 -0
  18. package/esm2022/angular-elastic-search.module.mjs +34 -0
  19. package/esm2022/angular-firebase-auth.module.mjs +140 -0
  20. package/esm2022/angular-firestore.module.mjs +538 -0
  21. package/esm2022/angular-hasura-graphql.module.mjs +333 -0
  22. package/esm2022/angular-vertex-search.module.mjs +34 -0
  23. package/{esm2020 → esm2022}/consts/backend-url.const.mjs +2 -2
  24. package/{esm2020 → esm2022}/consts/category-structure.mjs +2 -2
  25. package/{esm2020 → esm2022}/consts/default-shop.const.mjs +2 -2
  26. package/{esm2020 → esm2022}/consts/es-config.const.mjs +2 -2
  27. package/{esm2020 → esm2022}/consts/firebase-const.mjs +5 -5
  28. package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +2 -2
  29. package/{esm2020 → esm2022}/consts/index.mjs +9 -9
  30. package/{esm2020 → esm2022}/consts/persistence.const.mjs +2 -2
  31. package/{esm2020 → esm2022}/consts/storage-base-url.const.mjs +2 -2
  32. package/{esm2020 → esm2022}/consts/vertex-config.const.mjs +2 -2
  33. package/{esm2020 → esm2022}/helpers/index.mjs +2 -2
  34. package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +7 -7
  35. package/{esm2020 → esm2022}/index.mjs +7 -7
  36. package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +4 -4
  37. package/esm2022/interfaces/catalog-strategies.interface.mjs +2 -0
  38. package/{esm2020 → esm2022}/interfaces/category-facades.interface.mjs +2 -2
  39. package/{esm2020 → esm2022}/interfaces/index.mjs +3 -3
  40. package/{esm2020 → esm2022}/persistence/cookie-data-persistence.mjs +22 -22
  41. package/{esm2020 → esm2022}/persistence/data-persistence.mjs +2 -2
  42. package/{esm2020 → esm2022}/persistence/index.mjs +3 -3
  43. package/{esm2020 → esm2022}/services/auth.service.mjs +37 -37
  44. package/{esm2020 → esm2022}/services/cart/cart-services.facade.mjs +21 -21
  45. package/{esm2020 → esm2022}/services/cart/index.mjs +2 -2
  46. package/{esm2020 → esm2022}/services/cart.service.mjs +73 -73
  47. package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +2 -2
  48. package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +4 -4
  49. package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
  50. package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
  51. package/esm2022/services/catalog/catalog.service.mjs +111 -0
  52. package/{esm2020 → esm2022}/services/catalog/category.service.mjs +42 -42
  53. package/esm2022/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +2 -2
  55. package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +11 -11
  56. package/{esm2020 → esm2022}/services/catalog/facades/catalog-service.facade.mjs +32 -32
  57. package/esm2022/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2022/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/{esm2020 → esm2022}/services/catalog/facades/category-service.facade.mjs +30 -30
  60. package/{esm2020 → esm2022}/services/catalog/facades/index.mjs +6 -6
  61. package/esm2022/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2022/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2022/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2022/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/{esm2020 → esm2022}/services/catalog/helpers/index.mjs +5 -5
  66. package/{esm2020 → esm2022}/services/catalog/helpers/product-fields.helper.mjs +40 -40
  67. package/{esm2020 → esm2022}/services/catalog/index.mjs +8 -8
  68. package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +10 -10
  69. package/{esm2020 → esm2022}/services/catalog/models/index.mjs +2 -2
  70. package/esm2022/services/catalog/services/catalog-helpers.service.mjs +33 -0
  71. package/{esm2020 → esm2022}/services/catalog/services/catalog-operations.facade.mjs +26 -26
  72. package/esm2022/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/{esm2020 → esm2022}/services/catalog/services/index.mjs +5 -5
  74. package/esm2022/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2022/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/{esm2020 → esm2022}/services/catalog/strategies/index.mjs +4 -4
  77. package/esm2022/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2022/services/catalog/strategies/term-search.strategy.mjs +123 -0
  79. package/esm2022/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/{esm2020 → esm2022}/services/catalog/types/fetch-products-options.type.mjs +2 -2
  81. package/esm2022/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/{esm2020 → esm2022}/services/catalog/types/fetch-products-response.type.mjs +2 -2
  83. package/{esm2020 → esm2022}/services/catalog/types/index.mjs +6 -6
  84. package/esm2022/services/catalog/types/method-params.type.mjs +2 -0
  85. package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +2 -2
  86. package/esm2022/services/catalog/wishlist.service.mjs +254 -0
  87. package/esm2022/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2022/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/{esm2020 → esm2022}/services/checkout/index.mjs +3 -3
  90. package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +55 -55
  91. package/{esm2020 → esm2022}/services/checkout.service.mjs +106 -106
  92. package/{esm2020 → esm2022}/services/coupon/coupon-repositories.facade.mjs +24 -24
  93. package/{esm2020 → esm2022}/services/coupon/index.mjs +2 -2
  94. package/esm2022/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2022/services/coupon.service.mjs +248 -0
  96. package/{esm2020 → esm2022}/services/helpers/index.mjs +2 -2
  97. package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +18 -18
  98. package/{esm2020 → esm2022}/services/home-shop/home-shop-repositories.facade.mjs +24 -24
  99. package/{esm2020 → esm2022}/services/home-shop/index.mjs +2 -2
  100. package/{esm2020 → esm2022}/services/home-shop.service.mjs +119 -119
  101. package/{esm2020 → esm2022}/services/index.mjs +11 -11
  102. package/esm2022/services/order-product-review.service.mjs +110 -0
  103. package/{esm2020 → esm2022}/services/order.service.mjs +30 -30
  104. package/{esm2020 → esm2022}/services/shared/configuration.facade.mjs +29 -29
  105. package/{esm2020 → esm2022}/services/shared/index.mjs +2 -2
  106. package/{esm2020 → esm2022}/services/types/index.mjs +5 -5
  107. package/{esm2020 → esm2022}/services/types/pending-product-review.type.mjs +2 -2
  108. package/{esm2020 → esm2022}/services/types/product-review-create.type.mjs +2 -2
  109. package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +2 -2
  110. package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +2 -2
  111. package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +2 -2
  112. package/{esm2020 → esm2022}/types/index.mjs +2 -2
  113. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +3284 -3289
  114. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  115. package/helpers/index.d.ts +1 -1
  116. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  117. package/index.d.ts +6 -6
  118. package/interfaces/catalog-strategies.interface.d.ts +31 -31
  119. package/interfaces/category-facades.interface.d.ts +6 -6
  120. package/interfaces/index.d.ts +2 -2
  121. package/package.json +9 -15
  122. package/persistence/cookie-data-persistence.d.ts +10 -10
  123. package/persistence/data-persistence.d.ts +6 -6
  124. package/persistence/index.d.ts +2 -2
  125. package/services/auth.service.d.ts +18 -18
  126. package/services/cart/cart-services.facade.d.ts +12 -12
  127. package/services/cart/index.d.ts +1 -1
  128. package/services/cart.service.d.ts +26 -26
  129. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  130. package/services/catalog/adapters/index.d.ts +3 -3
  131. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  132. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  133. package/services/catalog/catalog.service.d.ts +24 -24
  134. package/services/catalog/category.service.d.ts +23 -23
  135. package/services/catalog/context/catalog-search.context.d.ts +14 -14
  136. package/services/catalog/enums/index.d.ts +1 -1
  137. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  138. package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
  139. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
  140. package/services/catalog/facades/category-repository.facade.d.ts +9 -9
  141. package/services/catalog/facades/category-service.facade.d.ts +15 -15
  142. package/services/catalog/facades/index.d.ts +5 -5
  143. package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
  144. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
  145. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
  146. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
  147. package/services/catalog/helpers/index.d.ts +4 -4
  148. package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
  149. package/services/catalog/index.d.ts +7 -7
  150. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  151. package/services/catalog/models/index.d.ts +1 -1
  152. package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
  153. package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
  154. package/services/catalog/services/catalog-repository.service.d.ts +12 -12
  155. package/services/catalog/services/index.d.ts +4 -4
  156. package/services/catalog/services/product-management.facade.d.ts +12 -12
  157. package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
  158. package/services/catalog/strategies/index.d.ts +3 -3
  159. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
  160. package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
  161. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -58
  162. package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
  163. package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
  164. package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
  165. package/services/catalog/types/index.d.ts +5 -5
  166. package/services/catalog/types/method-params.type.d.ts +17 -17
  167. package/services/catalog/types/product-sort.type.d.ts +2 -2
  168. package/services/catalog/wishlist.service.d.ts +59 -59
  169. package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
  170. package/services/checkout/checkout-repositories.facade.d.ts +9 -9
  171. package/services/checkout/index.d.ts +2 -2
  172. package/services/checkout-subscription.service.d.ts +19 -19
  173. package/services/checkout.service.d.ts +30 -30
  174. package/services/coupon/coupon-repositories.facade.d.ts +10 -10
  175. package/services/coupon/index.d.ts +1 -1
  176. package/services/coupon/types/coupon-params.type.d.ts +13 -13
  177. package/services/coupon.service.d.ts +36 -36
  178. package/services/helpers/index.d.ts +1 -1
  179. package/services/helpers/util.helper.d.ts +3 -3
  180. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
  181. package/services/home-shop/index.d.ts +1 -1
  182. package/services/home-shop.service.d.ts +26 -26
  183. package/services/index.d.ts +10 -10
  184. package/services/order-product-review.service.d.ts +16 -16
  185. package/services/order.service.d.ts +13 -13
  186. package/services/shared/configuration.facade.d.ts +12 -12
  187. package/services/shared/index.d.ts +1 -1
  188. package/services/types/index.d.ts +4 -4
  189. package/services/types/pending-product-review.type.d.ts +12 -12
  190. package/services/types/product-review-create.type.d.ts +14 -14
  191. package/services/types/required-checkout-data.type.d.ts +2 -2
  192. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  193. package/types/firebase-app-config.type.d.ts +1 -1
  194. package/types/index.d.ts +1 -1
  195. package/esm2020/angular-connect.module.mjs +0 -291
  196. package/esm2020/angular-elastic-search.module.mjs +0 -34
  197. package/esm2020/angular-firebase-auth.module.mjs +0 -141
  198. package/esm2020/angular-firestore.module.mjs +0 -541
  199. package/esm2020/angular-hasura-graphql.module.mjs +0 -333
  200. package/esm2020/angular-vertex-search.module.mjs +0 -34
  201. package/esm2020/interfaces/catalog-strategies.interface.mjs +0 -2
  202. package/esm2020/services/catalog/catalog.service.mjs +0 -111
  203. package/esm2020/services/catalog/context/catalog-search.context.mjs +0 -40
  204. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +0 -17
  205. package/esm2020/services/catalog/facades/category-repository.facade.mjs +0 -20
  206. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +0 -21
  207. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +0 -57
  208. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +0 -44
  209. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +0 -52
  210. package/esm2020/services/catalog/services/catalog-helpers.service.mjs +0 -33
  211. package/esm2020/services/catalog/services/catalog-repository.service.mjs +0 -25
  212. package/esm2020/services/catalog/services/product-management.facade.mjs +0 -25
  213. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +0 -133
  214. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +0 -42
  215. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +0 -123
  216. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +0 -2
  217. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +0 -2
  218. package/esm2020/services/catalog/types/method-params.type.mjs +0 -2
  219. package/esm2020/services/catalog/wishlist.service.mjs +0 -254
  220. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +0 -20
  221. package/esm2020/services/checkout/checkout-repositories.facade.mjs +0 -20
  222. package/esm2020/services/coupon/types/coupon-params.type.mjs +0 -2
  223. package/esm2020/services/coupon.service.mjs +0 -248
  224. package/esm2020/services/order-product-review.service.mjs +0 -110
  225. package/fesm2015/infrab4a-connect-angular.mjs +0 -3491
  226. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  227. package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
@@ -1,141 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FirebaseApp } from '@angular/fire/app';
3
- import { Auth, browserLocalPersistence, browserSessionPersistence, getAuth, indexedDBLocalPersistence, initializeAuth, provideAuth, } from '@angular/fire/auth';
4
- import { Authentication, AuthenticationFirebaseAuthService, RecoveryPassword, Register, RegisterFirebaseAuthService, SignOut, } from '@infrab4a/connect';
5
- import { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/fire/auth";
8
- export class AngularFirebaseAuthModule {
9
- static initializeApp(options, nameOrConfig) {
10
- return {
11
- ngModule: AngularFirebaseAuthModule,
12
- providers: [
13
- { provide: FIREBASE_OPTIONS, useValue: options },
14
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
15
- ],
16
- };
17
- }
18
- }
19
- AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] });
21
- AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
22
- {
23
- provide: 'Authentication',
24
- useFactory: (authenticationService, userRepository) => {
25
- return new Authentication(authenticationService, userRepository);
26
- },
27
- deps: ['AuthenticationService', 'UserRepository'],
28
- },
29
- {
30
- provide: 'AuthenticationService',
31
- useFactory: (angularFireAuth) => {
32
- return new AuthenticationFirebaseAuthService(angularFireAuth);
33
- },
34
- deps: [Auth],
35
- },
36
- {
37
- provide: 'Register',
38
- useFactory: (registerService, userRepository) => {
39
- return new Register(registerService, userRepository);
40
- },
41
- deps: ['RegisterService', 'UserRepository'],
42
- },
43
- {
44
- provide: 'RegisterService',
45
- useFactory: (angularFireAuth) => {
46
- return new RegisterFirebaseAuthService(angularFireAuth);
47
- },
48
- deps: [Auth],
49
- },
50
- {
51
- provide: 'SignOut',
52
- useFactory: (authenticationService) => {
53
- return new SignOut(authenticationService);
54
- },
55
- deps: ['AuthenticationService'],
56
- },
57
- {
58
- provide: 'RecoveryPassword',
59
- useFactory: (authenticationService) => {
60
- return new RecoveryPassword(authenticationService);
61
- },
62
- deps: ['AuthenticationService'],
63
- },
64
- ], imports: [provideAuth((injector) => {
65
- const app = injector.get(FirebaseApp);
66
- try {
67
- return initializeAuth(app, {
68
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
69
- });
70
- }
71
- catch (error) {
72
- if (error instanceof Error)
73
- console.error('Error initializing auth', error.message);
74
- return getAuth(app);
75
- }
76
- })] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
78
- type: NgModule,
79
- args: [{
80
- imports: [
81
- provideAuth((injector) => {
82
- const app = injector.get(FirebaseApp);
83
- try {
84
- return initializeAuth(app, {
85
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
86
- });
87
- }
88
- catch (error) {
89
- if (error instanceof Error)
90
- console.error('Error initializing auth', error.message);
91
- return getAuth(app);
92
- }
93
- }),
94
- ],
95
- providers: [
96
- {
97
- provide: 'Authentication',
98
- useFactory: (authenticationService, userRepository) => {
99
- return new Authentication(authenticationService, userRepository);
100
- },
101
- deps: ['AuthenticationService', 'UserRepository'],
102
- },
103
- {
104
- provide: 'AuthenticationService',
105
- useFactory: (angularFireAuth) => {
106
- return new AuthenticationFirebaseAuthService(angularFireAuth);
107
- },
108
- deps: [Auth],
109
- },
110
- {
111
- provide: 'Register',
112
- useFactory: (registerService, userRepository) => {
113
- return new Register(registerService, userRepository);
114
- },
115
- deps: ['RegisterService', 'UserRepository'],
116
- },
117
- {
118
- provide: 'RegisterService',
119
- useFactory: (angularFireAuth) => {
120
- return new RegisterFirebaseAuthService(angularFireAuth);
121
- },
122
- deps: [Auth],
123
- },
124
- {
125
- provide: 'SignOut',
126
- useFactory: (authenticationService) => {
127
- return new SignOut(authenticationService);
128
- },
129
- deps: ['AuthenticationService'],
130
- },
131
- {
132
- provide: 'RecoveryPassword',
133
- useFactory: (authenticationService) => {
134
- return new RecoveryPassword(authenticationService);
135
- },
136
- deps: ['AuthenticationService'],
137
- },
138
- ],
139
- }]
140
- }] });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFDTCxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixPQUFPLEVBQ1AseUJBQXlCLEVBQ3pCLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQ0wsY0FBYyxFQUNkLGlDQUFpQyxFQUVqQyxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLDJCQUEyQixFQUUzQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7OztBQWdFOUQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUF3QixFQUN4QixZQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDaEQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTthQUN2RDtTQUNGLENBQUE7SUFDSCxDQUFDOztzSEFaVSx5QkFBeUI7dUhBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGFBN0N6QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBRSxjQUE4QixF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QUFFLENBQUMscUJBQTRDLEVBQW9CLEVBQUU7Z0NBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBOzRCQUNwRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLHVCQUF1QixDQUFDO3lCQUNoQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCdcclxuaW1wb3J0IHtcclxuICBBdXRoLFxyXG4gIGJyb3dzZXJMb2NhbFBlcnNpc3RlbmNlLFxyXG4gIGJyb3dzZXJTZXNzaW9uUGVyc2lzdGVuY2UsXHJcbiAgZ2V0QXV0aCxcclxuICBpbmRleGVkREJMb2NhbFBlcnNpc3RlbmNlLFxyXG4gIGluaXRpYWxpemVBdXRoLFxyXG4gIHByb3ZpZGVBdXRoLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCdcclxuaW1wb3J0IHtcclxuICBBdXRoZW50aWNhdGlvbixcclxuICBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UsXHJcbiAgQXV0aGVudGljYXRpb25TZXJ2aWNlLFxyXG4gIFJlY292ZXJ5UGFzc3dvcmQsXHJcbiAgUmVnaXN0ZXIsXHJcbiAgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlLFxyXG4gIFJlZ2lzdGVyU2VydmljZSxcclxuICBTaWduT3V0LFxyXG4gIFVzZXJSZXBvc2l0b3J5LFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0cydcclxuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBwcm92aWRlQXV0aCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcClcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBdXRoKGFwcCwge1xyXG4gICAgICAgICAgcGVyc2lzdGVuY2U6IFtpbmRleGVkREJMb2NhbFBlcnNpc3RlbmNlLCBicm93c2VyTG9jYWxQZXJzaXN0ZW5jZSwgYnJvd3NlclNlc3Npb25QZXJzaXN0ZW5jZV0sXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgY29uc29sZS5lcnJvcignRXJyb3IgaW5pdGlhbGl6aW5nIGF1dGgnLCBlcnJvci5tZXNzYWdlKVxyXG5cclxuICAgICAgICByZXR1cm4gZ2V0QXV0aChhcHApXHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvbicsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogQXV0aGVudGljYXRpb24gPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvblNlcnZpY2UnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogQXV0aGVudGljYXRpb25TZXJ2aWNlID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBdXRoXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlcicsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RlclNlcnZpY2U6IFJlZ2lzdGVyU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogUmVnaXN0ZXIgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXIocmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydSZWdpc3RlclNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlclNlcnZpY2UnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogUmVnaXN0ZXJTZXJ2aWNlID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBdXRoXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTaWduT3V0JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTaWduT3V0KGF1dGhlbnRpY2F0aW9uU2VydmljZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcclxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogUmVjb3ZlcnlQYXNzd29yZCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSZWNvdmVyeVBhc3N3b3JkKGF1dGhlbnRpY2F0aW9uU2VydmljZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUge1xyXG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxyXG4gICAgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxyXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcclxuICAgICAgXSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19