@veloceapps/sdk 5.0.14-8 → 5.0.14-GOOGLE

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 (257) hide show
  1. package/bundles/{veloceapps-sdk-cms.umd.js → veloce-sdk-cms.umd.js} +15 -16
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -0
  3. package/bundles/{veloceapps-sdk-core.umd.js → veloce-sdk-core.umd.js} +42 -197
  4. package/bundles/veloce-sdk-core.umd.js.map +1 -0
  5. package/bundles/{veloceapps-sdk-runtime.umd.js → veloce-sdk-runtime.umd.js} +4 -4
  6. package/bundles/veloce-sdk-runtime.umd.js.map +1 -0
  7. package/bundles/{veloceapps-sdk.umd.js → veloce-sdk.umd.js} +23 -27
  8. package/bundles/veloce-sdk.umd.js.map +1 -0
  9. package/cms/cms.default.d.ts +1 -1
  10. package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
  11. package/cms/components/preview/preview.component.d.ts +1 -1
  12. package/cms/components/preview/preview.module.d.ts +1 -1
  13. package/cms/injection-tokens.d.ts +1 -1
  14. package/cms/launcher.module.d.ts +3 -3
  15. package/cms/modules/federated/federated.module.d.ts +1 -1
  16. package/cms/package.json +7 -7
  17. package/cms/services/launcher.service.d.ts +1 -1
  18. package/cms/types/configuration.types.d.ts +1 -1
  19. package/cms/utils/element.utils.d.ts +1 -1
  20. package/cms/utils/elements-resolver.d.ts +1 -1
  21. package/{veloceapps-sdk.d.ts → cms/veloce-sdk-cms.d.ts} +1 -1
  22. package/cms/vendor-map.d.ts +70 -71
  23. package/core/modules/configuration/configuration.module.d.ts +1 -1
  24. package/core/modules/configuration/helpers.d.ts +1 -1
  25. package/core/modules/configuration/services/configuration-runtime.service.d.ts +2 -2
  26. package/core/modules/configuration/services/configuration.service.d.ts +2 -2
  27. package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
  28. package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -1
  29. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -2
  30. package/core/modules/flow-configuration/services/flow-update.service.d.ts +1 -1
  31. package/core/package.json +7 -7
  32. package/core/services/context.service.d.ts +2 -2
  33. package/core/services/index.d.ts +0 -1
  34. package/core/services/product-images.service.d.ts +1 -1
  35. package/core/services/quote-draft.service.d.ts +3 -5
  36. package/core/types/quote-states.types.d.ts +1 -1
  37. package/core/types/runtime.types.d.ts +1 -1
  38. package/core/utils/line-item.utils.d.ts +1 -2
  39. package/core/utils/line-item.worker.d.ts +1 -1
  40. package/{cms/veloceapps-sdk-cms.d.ts → core/veloce-sdk-core.d.ts} +1 -1
  41. package/esm2015/cms/cms.default.js +1 -1
  42. package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
  43. package/esm2015/cms/components/preview/preview.component.js +3 -3
  44. package/esm2015/cms/components/preview/preview.module.js +2 -2
  45. package/esm2015/cms/injection-tokens.js +1 -1
  46. package/esm2015/cms/launcher.module.js +4 -4
  47. package/esm2015/cms/modules/federated/federated.component.js +1 -1
  48. package/esm2015/cms/modules/federated/federated.module.js +2 -2
  49. package/esm2015/cms/plugins/configuration.plugin.js +2 -2
  50. package/esm2015/cms/plugins/script.plugin.js +2 -2
  51. package/esm2015/cms/services/launcher.service.js +2 -3
  52. package/esm2015/cms/types/configuration.types.js +1 -1
  53. package/esm2015/cms/utils/element.utils.js +1 -1
  54. package/esm2015/cms/utils/elements-resolver.js +1 -1
  55. package/esm2015/cms/veloce-sdk-cms.js +5 -0
  56. package/esm2015/cms/vendor-map.js +12 -9
  57. package/esm2015/core/core.module.js +4 -4
  58. package/esm2015/core/modules/configuration/configuration.module.js +3 -3
  59. package/esm2015/core/modules/configuration/helpers.js +2 -2
  60. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +3 -3
  61. package/esm2015/core/modules/configuration/services/configuration.service.js +4 -4
  62. package/esm2015/core/modules/configuration/services/runtime-context.service.js +3 -3
  63. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
  64. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +2 -2
  65. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +3 -10
  66. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +2 -2
  67. package/esm2015/core/services/context.service.js +3 -3
  68. package/esm2015/core/services/index.js +1 -2
  69. package/esm2015/core/services/product-images.service.js +2 -2
  70. package/esm2015/core/services/quote-draft.service.js +7 -17
  71. package/esm2015/core/types/quote-states.types.js +1 -1
  72. package/esm2015/core/types/runtime.types.js +1 -1
  73. package/esm2015/core/utils/line-item.utils.js +3 -14
  74. package/esm2015/core/utils/line-item.worker.js +1 -1
  75. package/esm2015/core/veloce-sdk-core.js +5 -0
  76. package/esm2015/runtime/components/component-preview/component-preview.component.js +3 -3
  77. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
  78. package/esm2015/runtime/components/ui-runtime/runtime.component.js +5 -5
  79. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +5 -5
  80. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +2 -2
  81. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +2 -2
  82. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
  83. package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
  84. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
  85. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
  86. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
  87. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +2 -2
  88. package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
  89. package/esm2015/runtime/execution/directives/sf-query.directive.js +2 -2
  90. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +2 -2
  91. package/esm2015/runtime/execution/directives/velo-port.directive.js +3 -3
  92. package/esm2015/runtime/execution/directives/vl-approval.directive.js +2 -2
  93. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +2 -2
  94. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +2 -2
  95. package/esm2015/runtime/execution/directives/vl-quote.directive.js +3 -3
  96. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
  97. package/esm2015/runtime/execution/runtime-execution.module.js +6 -6
  98. package/esm2015/runtime/runtime.module.js +6 -6
  99. package/esm2015/runtime/services/cart.service.js +3 -3
  100. package/esm2015/runtime/services/configuration.service.js +6 -6
  101. package/esm2015/runtime/services/current-state.service.js +1 -1
  102. package/esm2015/runtime/services/product-model-cache.service.js +2 -2
  103. package/esm2015/runtime/services/runtime-context.service.js +5 -5
  104. package/esm2015/runtime/services/runtime-form.service.js +2 -2
  105. package/esm2015/runtime/services/runtime.service.js +3 -3
  106. package/esm2015/runtime/services/section-helper.service.js +2 -2
  107. package/esm2015/runtime/services/section-scope.service.js +1 -1
  108. package/esm2015/runtime/services/section-store.service.js +1 -1
  109. package/esm2015/runtime/services/section.service.js +3 -3
  110. package/esm2015/runtime/types/bound-data.types.js +1 -1
  111. package/esm2015/runtime/types/runtime.types.js +1 -1
  112. package/esm2015/runtime/types/script-registry.types.js +2 -2
  113. package/esm2015/runtime/utils/line-item.util.js +2 -2
  114. package/esm2015/runtime/utils/section.utils.js +2 -2
  115. package/esm2015/runtime/utils/sections-binder.helper.js +2 -2
  116. package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
  117. package/esm2015/src/components/doc-gen/doc-gen.component.js +8 -8
  118. package/esm2015/src/components/doc-gen/doc-gen.module.js +2 -2
  119. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -3
  120. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +2 -2
  121. package/esm2015/src/components/header/header.component.js +7 -7
  122. package/esm2015/src/components/header/header.module.js +2 -2
  123. package/esm2015/src/components/header/metrics/metrics.component.js +15 -19
  124. package/esm2015/src/components/header/metrics/metrics.definitions.js +6 -6
  125. package/esm2015/src/components/header/metrics/metrics.module.js +2 -2
  126. package/esm2015/src/flow.component.js +4 -4
  127. package/esm2015/src/flow.module.js +5 -5
  128. package/esm2015/src/guards/context.guard.js +3 -3
  129. package/esm2015/src/guards/product-unload.guard.js +2 -2
  130. package/esm2015/src/pages/catalog/catalog.component.js +7 -7
  131. package/esm2015/src/pages/catalog/catalog.module.js +3 -3
  132. package/esm2015/src/pages/debug/debug.component.js +3 -3
  133. package/esm2015/src/pages/empty-account/empty-account.component.js +1 -1
  134. package/esm2015/src/pages/empty-account/empty-account.module.js +3 -3
  135. package/esm2015/src/pages/legacy-product/legacy-product.component.js +6 -6
  136. package/esm2015/src/pages/legacy-product/legacy-product.module.js +2 -2
  137. package/esm2015/src/pages/product/product.component.js +4 -4
  138. package/esm2015/src/pages/product/product.module.js +3 -3
  139. package/esm2015/src/pages/remote/remote.component.js +7 -7
  140. package/esm2015/src/pages/remote/remote.module.js +3 -3
  141. package/esm2015/src/pages/remote/remote.types.js +1 -1
  142. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +7 -7
  143. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +3 -3
  144. package/esm2015/src/resolvers/flow.resolver.js +3 -3
  145. package/esm2015/src/resolvers/quote.resolver.js +11 -11
  146. package/esm2015/src/services/doc-gen.service.js +3 -3
  147. package/esm2015/src/services/flow-dialog.service.js +2 -2
  148. package/esm2015/src/services/flow-router.service.js +3 -3
  149. package/esm2015/src/services/flow.service.js +4 -4
  150. package/esm2015/src/types/context-route.types.js +1 -1
  151. package/esm2015/src/types/flow-customization.types.js +1 -1
  152. package/esm2015/src/utils/flow.utils.js +2 -2
  153. package/esm2015/veloce-sdk.js +5 -0
  154. package/fesm2015/{veloceapps-sdk-cms.js → veloce-sdk-cms.js} +17 -15
  155. package/fesm2015/veloce-sdk-cms.js.map +1 -0
  156. package/fesm2015/{veloceapps-sdk-core.js → veloce-sdk-core.js} +38 -174
  157. package/fesm2015/veloce-sdk-core.js.map +1 -0
  158. package/fesm2015/{veloceapps-sdk-runtime.js → veloce-sdk-runtime.js} +10 -10
  159. package/fesm2015/veloce-sdk-runtime.js.map +1 -0
  160. package/fesm2015/{veloceapps-sdk.js → veloce-sdk.js} +32 -36
  161. package/fesm2015/veloce-sdk.js.map +1 -0
  162. package/package.json +13 -14
  163. package/runtime/components/component-preview/component-preview.component.d.ts +1 -1
  164. package/runtime/components/section-renderer/section-renderer.component.d.ts +1 -1
  165. package/runtime/components/ui-runtime/runtime.component.d.ts +2 -2
  166. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
  167. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +1 -1
  168. package/runtime/execution/components/context-provider/context-provider.component.d.ts +2 -2
  169. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +1 -1
  170. package/runtime/execution/components/federated/federated.component.d.ts +1 -1
  171. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +1 -1
  172. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +1 -1
  173. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +1 -1
  174. package/runtime/execution/components/velo-type/velo-type.component.d.ts +1 -1
  175. package/runtime/execution/directives/section-script.directive.d.ts +1 -1
  176. package/runtime/execution/directives/sf-query.directive.d.ts +2 -2
  177. package/runtime/execution/directives/velo-attribute.directive.d.ts +1 -1
  178. package/runtime/execution/directives/velo-port.directive.d.ts +1 -1
  179. package/runtime/execution/directives/vl-approval.directive.d.ts +2 -2
  180. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +2 -2
  181. package/runtime/execution/directives/vl-document-templates.directive.d.ts +2 -2
  182. package/runtime/execution/directives/vl-quote.directive.d.ts +2 -2
  183. package/runtime/execution/directives/vl-ramp.directive.d.ts +3 -3
  184. package/runtime/execution/runtime-execution.module.d.ts +5 -5
  185. package/runtime/package.json +7 -7
  186. package/runtime/runtime.module.d.ts +5 -5
  187. package/runtime/services/cart.service.d.ts +3 -3
  188. package/runtime/services/configuration.service.d.ts +3 -3
  189. package/runtime/services/current-state.service.d.ts +1 -1
  190. package/runtime/services/product-model-cache.service.d.ts +2 -2
  191. package/runtime/services/runtime-context.service.d.ts +2 -2
  192. package/runtime/services/runtime-form.service.d.ts +1 -1
  193. package/runtime/services/runtime.service.d.ts +2 -2
  194. package/runtime/services/section-helper.service.d.ts +1 -1
  195. package/runtime/services/section-scope.service.d.ts +1 -1
  196. package/runtime/services/section-store.service.d.ts +1 -1
  197. package/runtime/services/section.service.d.ts +1 -1
  198. package/runtime/types/bound-data.types.d.ts +1 -1
  199. package/runtime/types/runtime.types.d.ts +2 -2
  200. package/runtime/utils/line-item.util.d.ts +1 -1
  201. package/runtime/utils/section.utils.d.ts +1 -1
  202. package/runtime/utils/sections-binder.helper.d.ts +1 -1
  203. package/{core/veloceapps-sdk-core.d.ts → runtime/veloce-sdk-runtime.d.ts} +1 -1
  204. package/src/components/doc-gen/doc-gen.component.d.ts +3 -3
  205. package/src/components/doc-gen/doc-gen.module.d.ts +1 -1
  206. package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
  207. package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
  208. package/src/components/header/header.component.d.ts +4 -4
  209. package/src/components/header/header.module.d.ts +1 -1
  210. package/src/components/header/metrics/metrics.component.d.ts +4 -5
  211. package/src/components/header/metrics/metrics.definitions.d.ts +1 -1
  212. package/src/components/header/metrics/metrics.module.d.ts +1 -1
  213. package/src/flow.component.d.ts +2 -2
  214. package/src/flow.module.d.ts +4 -4
  215. package/src/guards/context.guard.d.ts +1 -1
  216. package/src/guards/product-unload.guard.d.ts +1 -1
  217. package/src/pages/catalog/catalog.component.d.ts +3 -3
  218. package/src/pages/catalog/catalog.module.d.ts +2 -2
  219. package/src/pages/debug/debug.component.d.ts +3 -3
  220. package/src/pages/empty-account/empty-account.module.d.ts +2 -2
  221. package/src/pages/legacy-product/legacy-product.component.d.ts +4 -4
  222. package/src/pages/legacy-product/legacy-product.module.d.ts +1 -1
  223. package/src/pages/product/product.component.d.ts +1 -1
  224. package/src/pages/product/product.module.d.ts +2 -2
  225. package/src/pages/remote/remote.component.d.ts +3 -3
  226. package/src/pages/remote/remote.module.d.ts +2 -2
  227. package/src/pages/remote/remote.types.d.ts +1 -1
  228. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  229. package/src/pages/shopping-cart/shopping-cart.module.d.ts +2 -2
  230. package/src/resolvers/flow.resolver.d.ts +2 -2
  231. package/src/resolvers/quote.resolver.d.ts +1 -1
  232. package/src/services/doc-gen.service.d.ts +1 -1
  233. package/src/services/flow-dialog.service.d.ts +1 -1
  234. package/src/services/flow-router.service.d.ts +1 -1
  235. package/src/services/flow.service.d.ts +2 -2
  236. package/src/types/context-route.types.d.ts +1 -1
  237. package/src/types/flow-customization.types.d.ts +2 -2
  238. package/src/utils/flow.utils.d.ts +1 -1
  239. package/{runtime/veloceapps-sdk-runtime.d.ts → veloce-sdk.d.ts} +1 -1
  240. package/bundles/veloceapps-sdk-cms.umd.js.map +0 -1
  241. package/bundles/veloceapps-sdk-core.umd.js.map +0 -1
  242. package/bundles/veloceapps-sdk-runtime.umd.js.map +0 -1
  243. package/bundles/veloceapps-sdk.umd.js.map +0 -1
  244. package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -21
  245. package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
  246. package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
  247. package/esm2015/cms/veloceapps-sdk-cms.js +0 -5
  248. package/esm2015/core/services/metric-calculation/metric-calculation.service.js +0 -74
  249. package/esm2015/core/services/metric-calculation/metric-calculation.types.js +0 -2
  250. package/esm2015/core/services/metric-calculation/metric-calculation.utils.js +0 -42
  251. package/esm2015/core/veloceapps-sdk-core.js +0 -5
  252. package/esm2015/runtime/veloceapps-sdk-runtime.js +0 -5
  253. package/esm2015/veloceapps-sdk.js +0 -5
  254. package/fesm2015/veloceapps-sdk-cms.js.map +0 -1
  255. package/fesm2015/veloceapps-sdk-core.js.map +0 -1
  256. package/fesm2015/veloceapps-sdk-runtime.js.map +0 -1
  257. package/fesm2015/veloceapps-sdk.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { HttpErrorResponse } from '@angular/common/http';
2
2
  import { Component, EventEmitter, Inject, Output } from '@angular/core';
3
3
  import { FormGroup } from '@angular/forms';
4
- import { EntityUtil, OrderByPipe, SalesforceIdUtils, SearchFilterPipe, UUID, } from '@veloceapps/core';
4
+ import { EntityUtil, OrderByPipe, SalesforceIdUtils, SearchFilterPipe, UUID, } from '@veloce/core';
5
5
  import { MessageService } from 'primeng/api';
6
6
  import { Subject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
@@ -18,9 +18,9 @@ import * as i2 from "../../services/form-scope.service";
18
18
  import * as i3 from "../../services/collapsible-state.service";
19
19
  import * as i4 from "../../services/runtime-form.service";
20
20
  import * as i5 from "../../services/runtime.service";
21
- import * as i6 from "@veloceapps/sdk/core";
22
- import * as i7 from "@veloceapps/core";
23
- import * as i8 from "@veloceapps/components";
21
+ import * as i6 from "@veloce/sdk/core";
22
+ import * as i7 from "@veloce/core";
23
+ import * as i8 from "@veloce/components";
24
24
  import * as i9 from "../section-renderer/section-renderer.component";
25
25
  import * as i10 from "@angular/common";
26
26
  import * as i11 from "@angular/forms";
@@ -426,4 +426,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
426
426
  }] }, { type: i6.ContextService }, { type: i7.OrderByPipe }, { type: i7.SearchFilterPipe }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { solutionUpdated: [{
427
427
  type: Output
428
428
  }] } });
429
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2NvbXBvbmVudHMvdWktcnVudGltZS9ydW50aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lL3J1bnRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBR0wsVUFBVSxFQUVWLFdBQVcsRUFFWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBSWhCLElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7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Z0JBQWdCLHdMQXdCakIsY0FBYztrR0F4QmIsZ0JBQWdCLHNGQUZoQixDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQywwQkN2Q3ZGLG1nRUFtREE7NEZEVmEsZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ25CLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLHdCQUF3QixDQUFDO29CQUNyRSxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3RGOzswQkF5QkksTUFBTTsyQkFBQyxjQUFjO2tLQVJHLGVBQWU7c0JBQXpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIENoYXJnZUl0ZW0sXG4gIEVudGl0eVV0aWwsXG4gIExpbmVJdGVtLFxuICBPcmRlckJ5UGlwZSxcbiAgUHJpY2VBZGp1c3RtZW50LFxuICBTYWxlc2ZvcmNlSWRVdGlscyxcbiAgU2VhcmNoRmlsdGVyUGlwZSxcbiAgU2VjdGlvbixcbiAgU2VjdGlvblBhdGgsXG4gIFVJVGFiLFxuICBVVUlELFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbGxhcHNpYmxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29sbGFwc2libGUtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS1zY29wZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdGlvbi1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQsIFNvbHV0aW9uUmVhZHlBd2FyZSwgVXBkYXRlRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJvdW5kRGF0YVR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9ib3VuZC1kYXRhLnR5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2xpbmUtaXRlbS51dGlsJztcbmltcG9ydCB7IGdldFNlY3Rpb25UcmVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2VjdGlvbi51dGlscyc7XG5pbXBvcnQgeyBTZWN0aW9uc0JpbmRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL3NlY3Rpb25zLWJpbmRlci5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1ydW50aW1lJyxcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgdGVtcGxhdGVVcmw6ICdydW50aW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcnVudGltZS1sZWdhY3ktc3R5bGVzLnNjc3MnLCAncnVudGltZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtGb3JtU2NvcGVTZXJ2aWNlLCBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSwgT3JkZXJCeVBpcGUsIFNlYXJjaEZpbHRlclBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFNvbHV0aW9uUmVhZHlBd2FyZSB7XG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlQnVja2V0SWQgPSAndWkucnVudGltZSc7XG5cbiAgcHVibGljIHNvcnRlZFNlY3Rpb25zOiBTZWN0aW9uW10gPSBbXTtcbiAgcHVibGljIHN0YXRpY1NlY3Rpb25zOiBTZWN0aW9uW10gPSBbXTtcblxuICBwdWJsaWMgcnVudGltZUNvbnRleHQhOiBMZWdhY3lSdW50aW1lQ29udGV4dDtcbiAgcHVibGljIHNvbHV0aW9uTGluZUl0ZW0hOiBMaW5lSXRlbTtcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIHB1YmxpYyBhY3RpdmVVSVRhYj86IFVJVGFiO1xuXG4gIHB1YmxpYyBzb2x1dGlvbklzUmVhZHkgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgcHJpdmF0ZSByZWFkb25seSBzb2x1dGlvblVwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlY3Rpb25zU2VydmljZTogU2VjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybVNjb3BlOiBGb3JtU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29sbGFwc2libGVTdGF0ZTogQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtU2VydmljZTogUnVudGltZUZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTWVzc2FnZVNlcnZpY2UpIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3JkZXJCeVBpcGU6IE9yZGVyQnlQaXBlLFxuICAgIHByaXZhdGUgc2VhcmNoRmlsdGVyUGlwZTogU2VhcmNoRmlsdGVyUGlwZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwcml2YXRlIGFkanVzdFByaWNlKFxuICAgIHZhbHVlT3B0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgc2VjdGlvbjogU2VjdGlvbixcbiAgICBzb2x1dGlvbkxpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBwYXRjaDogRGljdGlvbmFyeTxQcmljZUFkanVzdG1lbnQ+LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICBpZiAoIXBhcmVudExpbmVJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLm1hcChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCB7IHByb2R1Y3RJZCwgY2hhcmdlSXRlbXMgfSA9IGxpbmVJdGVtO1xuXG4gICAgICBpZiAocHJvZHVjdElkICE9PSB2YWx1ZU9wdGlvbikge1xuICAgICAgICByZXR1cm4gbGluZUl0ZW07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNoYXJnZUl0ZW0gPSBjaGFyZ2VJdGVtcy5zaGlmdCgpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXJnZUl0ZW0gPSB7XG4gICAgICAgIC4uLmNoYXJnZUl0ZW0sXG4gICAgICAgIC4uLnBhdGNoLFxuICAgICAgfSBhcyBDaGFyZ2VJdGVtO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5saW5lSXRlbSxcbiAgICAgICAgY2hhcmdlSXRlbXM6IFt1cGRhdGVkQ2hhcmdlSXRlbSwgLi4uY2hhcmdlSXRlbXNdLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1TY29wZS5mb3JtU3VibWl0RXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZTogVXBkYXRlRGF0YSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5mb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgY29uc3Qgc29sdXRpb25MaW5lSXRlbSA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5maW5kU2VjdGlvbihlLmlkKTtcblxuICAgICAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgICAgICB0aHJvdyAnU2VjdGlvbiBub3QgZm91bmQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVudGl0eVR5cGUgPSBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlO1xuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF0gfHwgZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLlRZUEVdKSB7XG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncGF0Y2gnICYmIEVudGl0eVV0aWwuaXNQcmVzZW50KGUudmFsdWVPcHRpb24pKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZU9wdGlvbjogYW55ID0gZVsndmFsdWVPcHRpb24nXTtcblxuICAgICAgICAgICAgaWYgKCFzZWN0aW9uLm1vZGVsPy5wYXJlbnRJZCkge1xuICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuY2xlYXJTdGF0ZShzZWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHZhbHVlT3B0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5keCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBzZWN0aW9uLm1vZGVsPy5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuc3BsaWNlKGluZHgsIDEsIHZhbHVlT3B0aW9uKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTdGF0ZS5jbGVhclN0YXRlKHNlY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICd1cHNlcnQnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zLmZpbmRJbmRleCh2ID0+IHYudG9Mb3dlckNhc2UoKSA9PT0gaS50eXBlLnRvTG93ZXJDYXNlKCkpIDwgMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBwYXJlbnRMaW5lSXRlbT8ubGluZUl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAgICAgICBpID0+XG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zLmZpbmRJbmRleCh2ID0+IHYudG9Mb3dlckNhc2UoKSA9PT0gaS50eXBlLnRvTG93ZXJDYXNlKCkpID4gLTEsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnM/LmZvckVhY2godiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmVJdGVtcz8uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHYudG9Mb3dlckNhc2UoKSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY3JlYXRlTGluZUl0ZW0oc2VjdGlvbiwgdiwgcGFyZW50TGluZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgICBsaW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAnY3JlYXRlJykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVPcHRpb24gPSBlLnZhbHVlT3B0aW9uO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY3JlYXRlTGluZUl0ZW0oc2VjdGlvbiwgdmFsdWVPcHRpb24sIHBhcmVudExpbmVJdGVtKTtcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLnB1c2gobGluZUl0ZW0pO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAnY29weScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlT3B0aW9uID0gZS52YWx1ZU9wdGlvbjtcbiAgICAgICAgICAgICAgY29uc3QgbGluZUl0ZW1Ub0NvcHkgPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZmluZChsaSA9PiBsaS5pZCA9PT0gdmFsdWVPcHRpb24pO1xuICAgICAgICAgICAgICBpZiAobGluZUl0ZW1Ub0NvcHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbTogTGluZUl0ZW0gPSB7IC4uLmxpbmVJdGVtVG9Db3B5LCBpZDogJycgfTtcbiAgICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBsaW5lSXRlbSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICAvL0Fzc3VtaW5nIHRoYXQgcmFkaW8gY29udHJvbCBpcyB0aGUgb25seSBjb250cm9sLCB0aGF0ICd1cGRhdGVzJyB2YWx1ZXNcbiAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXMgPSBzZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMuZmlsdGVyKGxpID0+IGxpLnBvcnQgJiYgbGkucG9ydCA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZSlbMF07XG5cbiAgICAgICAgICAgICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBwcmV2aW91cywgMCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgobGkgPT4gbGkuaWQgPT09IHByZXZpb3VzPy5pZCk7XG5cbiAgICAgICAgICAgICAgY29uc3QgbGluZUl0ZW06IExpbmVJdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgICAgICAgICAgICBxdHk6IHByZXZpb3VzPy5xdHksXG4gICAgICAgICAgICAgICAgcG9ydDogcHJldmlvdXM/LnBvcnQsXG4gICAgICAgICAgICAgICAgdHlwZTogRW50aXR5VXRpbC5pc1ByZXNlbnQoZS52YWx1ZU9wdGlvbikgPyBlLnZhbHVlT3B0aW9uIDogdGhpcy5mb3JtLmNvbnRyb2xzW2UuaWRdLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNmZ1N0YXR1czogJ05ldycsXG4gICAgICAgICAgICAgICAgcGFyZW50SWQ6IHByZXZpb3VzPy5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgfSBhcyBMaW5lSXRlbTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zW2luZGV4XSA9IGxpbmVJdGVtO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0gJiZcbiAgICAgICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuaXNSZW1vdmVBbGxvd2VkKHBhcmVudExpbmVJdGVtLCBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLCBzZWN0aW9uLm1vZGVsPy5xdHkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IGUudmFsdWVPcHRpb24/LnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgcmVtb3ZlZCwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncXR5VXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgdHlwZVNlY3Rpb24gPSBlLnZhbHVlT3B0aW9uXG4gICAgICAgICAgICAgID8gU2VjdGlvbkhlbHBlclNlcnZpY2UuZmluZFNlY3Rpb25Gb3JWYWx1ZShzZWN0aW9uLCBlLnZhbHVlT3B0aW9uKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgdHlwZUxpbmVJdGVtID0gdHlwZVNlY3Rpb24/Lm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZCh0eXBlU2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcbiAgICAgICAgICAgIGlmICh0eXBlU2VjdGlvbiAmJiB0eXBlTGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLnF0eSA9ICt0aGlzLmZvcm0uY29udHJvbHNbdHlwZVNlY3Rpb24uaWQgKyAncXR5J10udmFsdWU7XG4gICAgICAgICAgICAgIHR5cGVMaW5lSXRlbS5jZmdTdGF0dXMgPSAnVXNlcic7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdhZGp1c3ROZXRQcmljZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWVPcHRpb24sIG9wdGlvbnMgfSA9IGU7XG4gICAgICAgICAgICBjb25zdCB7IGFtb3VudCB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICAgICAgICAgICAgY29uc3QgcHJpY2VBZGp1c3RtZW50OiBQcmljZUFkanVzdG1lbnQgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdPVkVSUklERV9BTU9VTlQnLFxuICAgICAgICAgICAgICBleHBsYW5hdGlvbjogJ01hbnVhbCBuZXQgcHJpY2UgYWRqdXN0bWVudCcsXG4gICAgICAgICAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmFkanVzdFByaWNlKHZhbHVlT3B0aW9uLCBzZWN0aW9uLCBzb2x1dGlvbkxpbmVJdGVtLCB7IHByaWNlQWRqdXN0bWVudCB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdhZGp1c3RMaXN0UHJpY2UnKSB7XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlT3B0aW9uLCBvcHRpb25zIH0gPSBlO1xuICAgICAgICAgICAgY29uc3QgeyBhbW91bnQgfSA9IG9wdGlvbnMgPz8ge307XG5cbiAgICAgICAgICAgIGNvbnN0IGxpc3RQcmljZUFkanVzdG1lbnQ6IFByaWNlQWRqdXN0bWVudCA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ09WRVJSSURFX0FNT1VOVCcsXG4gICAgICAgICAgICAgIGV4cGxhbmF0aW9uOiAnTWFudWFsIGxpc3QgcHJpY2UgYWRqdXN0bWVudCcsXG4gICAgICAgICAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmFkanVzdFByaWNlKHZhbHVlT3B0aW9uLCBzZWN0aW9uLCBzb2x1dGlvbkxpbmVJdGVtLCB7IGxpc3RQcmljZUFkanVzdG1lbnQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5UWVBFXSkge1xuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID1cbiAgICAgICAgICAgICAgc2VjdGlvbi5tb2RlbD8ucGFyZW50SWQgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0gJiZcbiAgICAgICAgICAgICAgc2VjdGlvbi5tb2RlbCAmJlxuICAgICAgICAgICAgICBzZWN0aW9uLm1vZGVsLnBvcnQgJiZcbiAgICAgICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuaXNSZW1vdmVBbGxvd2VkKHBhcmVudExpbmVJdGVtLCBzZWN0aW9uLm1vZGVsLnBvcnQsIHNlY3Rpb24ubW9kZWw/LnF0eSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBzZWN0aW9uLm1vZGVsPy5pZCk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgcmVtb3ZlZCwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVN0YXRlLmNsZWFyU3RhdGUoc2VjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncXR5VXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgdHlwZUxpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHR5cGVMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCBxdHkgPSArdGhpcy5mb3JtLmNvbnRyb2xzW2UuaWQgKyAncXR5J10udmFsdWU7XG4gICAgICAgICAgICAgIGlmICh0eXBlTGluZUl0ZW0ucGFyZW50SWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IExpbmVJdGVtVXRpbC5maW5kQnlJZCh0eXBlTGluZUl0ZW0ucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgdHlwZUxpbmVJdGVtLCBxdHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0ucXR5ID0gcXR5O1xuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0uY2ZnU3RhdHVzID0gJ1VzZXInO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5BVFRSSUJVVEVdKSB7XG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlID0gcGFyZW50TGluZUl0ZW0/LmF0dHJpYnV0ZXMuZmluZChcbiAgICAgICAgICAgICAgYXR0ciA9PiBhdHRyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICAvL0V4cGxpY2l0bHkgc2V0IHZhbHVlIGFsd2F5cyB3aW5cbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gdHlwZW9mIGUudmFsdWVPcHRpb24gIT09ICd1bmRlZmluZWQnID8gZS52YWx1ZU9wdGlvbiA6IHRoaXMuZm9ybS5jb250cm9sc1tlLmlkXS52YWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoYXR0cmlidXRlLnR5cGUgPT09ICdCT09MRUFOJykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgPyAxIDogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGF0dHJpYnV0ZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgICBhdHRyaWJ1dGUuY2ZnU3RhdHVzID0gJ1VzZXInO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VCdWNrZXRJZCwgc3VtbWFyeTogYENvbmZpZ3VyYXRpb24gZmFpbGVkICR7KGUgYXMgYW55KT8ubWVzc2FnZX1gIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5vblNvbHV0aW9uUmVhZHlFdmVudFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZShsaW5lSXRlbSA9PiB0aGlzLm9uU29sdXRpb25SZWFkeShsaW5lSXRlbSkpO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5vblNvbHV0aW9uVXBkYXRlZEV2ZW50XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBMaW5lSXRlbSB8IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmICghKGRhdGEgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVTb2x1dGlvblVwZGF0ZShkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFuZGxlU29sdXRpb25GYWlsZWRVcGRhdGUoZGF0YSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uub25VSVJlZnJlc2hFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHsgdWlEZWZpbml0aW9uIH0gPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldFJ1bnRpbWVDb250ZXh0KCkgPz8ge307XG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbiA9IHVpRGVmaW5pdGlvbiBhcyBhbnk7XG4gICAgICB0aGlzLmZvcm1TY29wZS5zY3JpcHRTZXNzaW9uU2NvcGUgPSB7fTtcbiAgICAgIHRoaXMuc3RhcnRSdW50aW1lKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Tb2x1dGlvblJlYWR5KGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldFJ1bnRpbWVDb250ZXh0KCkgYXMgTGVnYWN5UnVudGltZUNvbnRleHQ7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbkNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgIGNvbnN0IG1lcmdlQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgPSB7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb25Db250ZXh0LnByb3BlcnRpZXMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBhY2NvdW50SWQgPSBtZXJnZUNvbnRleHQucHJvcGVydGllcz8uQWNjb3VudElkO1xuICAgIGlmIChhY2NvdW50SWQgJiYgYWNjb3VudElkLmxlbmd0aCA9PT0gMTUpIHtcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQgPSB7XG4gICAgICAgIC4uLm1lcmdlQ29udGV4dCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIC4uLm1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgIEFjY291bnRJZDogU2FsZXNmb3JjZUlkVXRpbHMuZ2VuZXJhdGVJZDE4RnJvbUlkMTUoYWNjb3VudElkKSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0gbWVyZ2VDb250ZXh0IGFzIGFueTtcbiAgICB9XG5cbiAgICB0aGlzLnNvbHV0aW9uTGluZUl0ZW0gPSBsaW5lSXRlbTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNldFJ1bnRpbWVDb250ZXh0KHRoaXMucnVudGltZUNvbnRleHQpO1xuXG4gICAgdGhpcy5zdGFydFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU29sdXRpb25VcGRhdGUodXBkYXRlZExpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IHVwZGF0ZWRMaW5lSXRlbTtcbiAgICB0aGlzLnByb2Nlc3NTb2x1dGlvbih0cnVlKTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNvbHV0aW9uUHJvY2Vzc2VkKHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTb2x1dGlvbkZhaWxlZFVwZGF0ZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNFcnJvck1lc3NhZ2UgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChlcnJvci5lcnJvcikgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGhhc0Vycm9yTWVzc2FnZSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiAnQ29uZmlndXJhdGlvbiBmYWlsZWQnO1xuICAgIGNvbnN0IHsgaXNIYW5kbGluZ0NvbmZpZ3VyYXRpb25FcnJvcnMgfSA9IHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uID8/IHt9O1xuXG4gICAgaWYgKGlzSGFuZGxpbmdDb25maWd1cmF0aW9uRXJyb3JzKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogdGhpcy5tZXNzYWdlQnVja2V0SWQsIHN1bW1hcnk6IG1lc3NhZ2UgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zb2x1dGlvbkxpbmVJdGVtID0ge1xuICAgICAgLi4udGhpcy5zb2x1dGlvbkxpbmVJdGVtLFxuICAgICAgbWVzc2FnZXM6IFsuLi50aGlzLnNvbHV0aW9uTGluZUl0ZW0ubWVzc2FnZXMsIGBFOiR7bWVzc2FnZX1gXSxcbiAgICB9O1xuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKHRydWUsIHRydWUpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc29sdXRpb25Qcm9jZXNzZWQodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnQ6IExpbmVJdGVtLCB1cGRhdGVkOiBMaW5lSXRlbSwgbmV3UXVhbnRpdHk/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwb3J0RG9tYWluID0gdXBkYXRlZC5wb3J0ID8gcGFyZW50LnBvcnREb21haW5zW3VwZGF0ZWQucG9ydF0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZG9tYWluVHlwZSA9IHBvcnREb21haW4/LmRvbWFpblR5cGVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IHVwZGF0ZWQudHlwZSk7XG4gICAgY29uc3QgY2FyZGluYWxpdHkgPSBkb21haW5UeXBlPy5jYXJkaW5hbGl0eSA/PyAwO1xuXG4gICAgbGV0IHF0eTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShkb21haW5UeXBlPy5jYXJkaW5hbGl0eSkpIHtcbiAgICAgIHF0eSA9IE51bWJlci5pc0Zpbml0ZShuZXdRdWFudGl0eSkgPyBuZXdRdWFudGl0eSA6IHVwZGF0ZWQucXR5O1xuICAgIH0gZWxzZSB7XG4gICAgICBxdHkgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChuZXdRdWFudGl0eSlcbiAgICAgICAgPyBjYXJkaW5hbGl0eSAtIHVwZGF0ZWQucXR5ICsgKG5ld1F1YW50aXR5IGFzIG51bWJlcilcbiAgICAgICAgOiBjYXJkaW5hbGl0eSArIHVwZGF0ZWQucXR5O1xuICAgIH1cblxuICAgIGNvbnN0IGNhcmRpbmFsaXR5TmFtZSA9ICcjQ1YtJyArIHVwZGF0ZWQudHlwZSArICdAJyArIHVwZGF0ZWQucG9ydDtcblxuICAgIGxldCBjYXJkaW5hbGl0eVZhcmlhYmxlID0gcGFyZW50LmF0dHJpYnV0ZXMuZmluZChhID0+IGEubmFtZSA9PT0gY2FyZGluYWxpdHlOYW1lKTtcbiAgICBpZiAoIWNhcmRpbmFsaXR5VmFyaWFibGUpIHtcbiAgICAgIGNhcmRpbmFsaXR5VmFyaWFibGUgPSB7XG4gICAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgICAgbmFtZTogY2FyZGluYWxpdHlOYW1lLFxuICAgICAgfSBhcyBBdHRyaWJ1dGU7XG4gICAgICBwYXJlbnQuYXR0cmlidXRlcy5wdXNoKGNhcmRpbmFsaXR5VmFyaWFibGUpO1xuICAgIH1cbiAgICBjYXJkaW5hbGl0eVZhcmlhYmxlLnZhbHVlID0gcXR5O1xuICAgIGNhcmRpbmFsaXR5VmFyaWFibGUuY2ZnU3RhdHVzID0gJ1VzZXInO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lSXRlbShzZWN0aW9uOiBTZWN0aW9uLCB2YWx1ZU9wdGlvbj86IHN0cmluZywgcGFyZW50TGluZUl0ZW0/OiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXR5OiArdGhpcy5mb3JtLmNvbnRyb2xzW3NlY3Rpb24uaWQgKyAncXR5J10udmFsdWUsXG4gICAgICBwb3J0OiBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLFxuICAgICAgdHlwZTogRW50aXR5VXRpbC5pc1ByZXNlbnQodmFsdWVPcHRpb24pID8gdmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbc2VjdGlvbi5pZF0udmFsdWUsXG4gICAgICBjZmdTdGF0dXM6ICdOZXcnLFxuICAgICAgcGFyZW50SWQ6IHBhcmVudExpbmVJdGVtPy5pZCxcbiAgICB9IGFzIExpbmVJdGVtO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUubmV4dCgpO1xuXG4gICAgdGhpcy5zZWN0aW9uc1NlcnZpY2UuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJ1bnRpbWUoKTogdm9pZCB7XG4gICAgY29uc3QgdWlEZWZpbml0aW9uID0gdGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb247XG5cbiAgICBjb25zdCBkZWZhdWx0VGFiID0gdWlEZWZpbml0aW9uPy50YWJzPy5maW5kKHRhYiA9PiB0YWIuaXNEZWZhdWx0KTtcbiAgICB0aGlzLmFjdGl2ZVVJVGFiID0gRW50aXR5VXRpbC5pc1ByZXNlbnQoZGVmYXVsdFRhYikgPyBkZWZhdWx0VGFiIDogdWlEZWZpbml0aW9uPy50YWJzPy5bMF07XG5cbiAgICB0aGlzLnNlY3Rpb25zU2VydmljZS5jb21waWxlTW9kdWxlKHVpRGVmaW5pdGlvbj8uc2VjdGlvbnMgPz8gW10sIHVpRGVmaW5pdGlvbj8uaXNWaWV3RW5jYXBzdWxhdGVkKTtcblxuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKCk7XG5cbiAgICB0aGlzLnNvbHV0aW9uSXNSZWFkeSA9IHRydWU7XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJ1bnRpbWUobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zb2x1dGlvblVwZGF0ZWQuZW1pdChsaW5lSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9DYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gRW50aXR5VXRpbC5jbG9uZSh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zdG9wUnVudGltZShsaW5lSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc1NvbHV0aW9uKGlzVXBkYXRlPzogYm9vbGVhbiwgaXNFcnJvcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLzEuIEJpbmQgc2VjdGlvbnMgdG8gc29sdXRpb25cbiAgICBsZXQgc2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgY29uc3Qgc291cmNlU2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgdGhpcy51cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aCh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIFNlY3Rpb25zQmluZGVySGVscGVyLnNldExpbmVJdGVtc1BhdGgoXG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0LnJ1bnRpbWVNb2RlbCxcbiAgICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSxcbiAgICAgIHNlY3Rpb25zLFxuICAgICAgc291cmNlU2VjdGlvbnMsXG4gICAgICAoc2VjOiBhbnkpID0+ICFzZWMucGFyZW50SWQgJiYgc2VjLmJvdW5kRGF0YSxcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljaW5nRW5hYmxlZCA/PyBmYWxzZSxcbiAgICApO1xuXG4gICAgc2VjdGlvbnMgPSBzZWN0aW9ucy5maWx0ZXIocyA9PiBzLm1vZGVsICYmIHMudGVtcGxhdGUpO1xuXG4gICAgLy8yLiBJbml0IGZvcm1cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmluaXRGb3JtKHNlY3Rpb25zLCB0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIHRoaXMuZm9ybVNjb3BlLmZvcm0gPSB0aGlzLmZvcm07XG5cbiAgICB0aGlzLnNvcnRlZFNlY3Rpb25zID0gdGhpcy5maWx0ZXJBbmRTb3J0KGdldFNlY3Rpb25UcmVlKHNlY3Rpb25zLmZpbHRlcihzID0+ICFzLmlzU3RhdGljKSkpO1xuXG4gICAgaWYgKCFpc1VwZGF0ZSkge1xuICAgICAgdGhpcy5zdGF0aWNTZWN0aW9ucyA9IHRoaXMuZmlsdGVyQW5kU29ydChnZXRTZWN0aW9uVHJlZShzZWN0aW9ucy5maWx0ZXIocyA9PiBzLmlzU3RhdGljKSkpO1xuICAgIH1cblxuICAgIGlmICghaXNFcnJvcikge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLm1lc3NhZ2VCdWNrZXRJZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNhbmNlbFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGluZUl0ZW1zU2VjdGlvblBhdGgobGluZUl0ZW06IExpbmVJdGVtLCBwYXJlbnQ/OiBTZWN0aW9uUGF0aCk6IHZvaWQge1xuICAgIGNvbnN0IHBhdGg6IFNlY3Rpb25QYXRoID0ge1xuICAgICAgdHlwZXM6IHBhcmVudCA/IHBhcmVudC50eXBlcy5jb25jYXQoW2xpbmVJdGVtLnR5cGVdKSA6IFtsaW5lSXRlbS50eXBlXSxcbiAgICAgIHBvcnRzOiBwYXJlbnQgPyBwYXJlbnQucG9ydHMuY29uY2F0KGxpbmVJdGVtLnBvcnQgPyBbbGluZUl0ZW0ucG9ydF0gOiBbXSkgOiBbXSxcbiAgICB9IGFzIFNlY3Rpb25QYXRoO1xuXG4gICAgbGluZUl0ZW0ucGF0aCA9IHBhdGg7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGxpbmVJdGVtLmxpbmVJdGVtcykge1xuICAgICAgdGhpcy51cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aChjaGlsZCwgbGluZUl0ZW0ucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJBbmRTb3J0KHNlY3Rpb25zOiBTZWN0aW9uW10pOiBTZWN0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5zZWFyY2hGaWx0ZXJQaXBlLnRyYW5zZm9ybShzZWN0aW9ucywgdGhpcy5hY3RpdmVVSVRhYj8uaWQsICdwYWdlJyk7XG4gICAgY29uc3Qgb3JkZXJlZCA9IHRoaXMub3JkZXJCeVBpcGUudHJhbnNmb3JtKGZpbHRlcmVkLCAnb3JkZXInLCAnYXNjJyk7XG5cbiAgICByZXR1cm4gb3JkZXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNlY3Rpb24oaWQ6IHN0cmluZyk6IFNlY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBFbnRpdHlVdGlsLmZpbmRCeUZpZWxkSGllcmFyY2hpY2FsbHkoJ2lkJywgaWQsIFsuLi50aGlzLnNvcnRlZFNlY3Rpb25zLCAuLi50aGlzLnN0YXRpY1NlY3Rpb25zXSwgJ2NoaWxkcmVuJyk7XG4gIH1cbn1cbiIsIjx2bC1sb2FkZXIgbGFiZWw9XCJMb2FkaW5nIFVJXCIgKm5nSWY9XCIhc29sdXRpb25Jc1JlYWR5OyBlbHNlIGNvbnRlbnRcIj48L3ZsLWxvYWRlcj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzaWRlYmFyLXRhYnNcIlxuICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8uZGVmYXVsdFBhbmVscyB9XCJcbiAgICAjdWlUYWJzPVwic2lkZWJhclRhYnNcIlxuICAgIHNpZGViYXJUYWJzPVwie3sgYWN0aXZlVUlUYWI/LmlkIH19XCJcbiAgICBpZD1cInZsLWRlZmF1bHQtc2lkZWJhci10YWJzXCJcbiAgPlxuICAgIDx1bD5cbiAgICAgIDxsaVxuICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHJ1bnRpbWVDb250ZXh0Py51aURlZmluaXRpb24/LnRhYnMgfCBvcmRlckJ5OiAnb3JkZXInOidhc2MnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHVpVGFicy5hY3RpdmVUYWIgPT09IHRhYi5pZCB9XCJcbiAgICAgICAgKGNsaWNrKT1cInVpVGFicy5zd2l0Y2hUYWIodGFiLmlkKVwiXG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+e3sgdGFiLm5hbWUgfX08L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9ucy13cmFwcGVyXCI+XG4gICAgPGZvcm0gcm9sZT1cImZvcm1cIiBuYW1lPVwiZm9ybVwiIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgbm92YWxpZGF0ZSBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc3RhdGljU2VjdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY3Rpb24ubW9kZWwgJiYgc2VjdGlvbi50ZW1wbGF0ZSAmJiAhc2VjdGlvbi5oaWRkZW5cIj5cbiAgICAgICAgICA8dmwtc2VjdGlvbi1yZW5kZXJlciBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW2Zvcm1dPVwiZm9ybVwiPjwvdmwtc2VjdGlvbi1yZW5kZXJlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzb3J0ZWRTZWN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi5tb2RlbCAmJiBzZWN0aW9uLnRlbXBsYXRlICYmICFzZWN0aW9uLmhpZGRlblwiPlxuICAgICAgICAgIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC92bC1zZWN0aW9uLXJlbmRlcmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9ybT5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibW9kYWwtZm9vdGVyXCJcbiAgICAgICpuZ0lmPVwicnVudGltZUNvbnRleHQ/LnJ1bnRpbWVNb2RlID09PSAxXCJcbiAgICAgIGlkPVwidmwtcnVudGltZS1kZWZhdWx0LWZvb3RlclwiXG4gICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogIXJ1bnRpbWVDb250ZXh0Py51aURlZmluaXRpb24/LmRlZmF1bHRQYW5lbHMgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBpbnB1dC1mb3JtLWlucHV0XCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiAoY2xpY2spPVwiZm9ybS52YWxpZCAmJiBhZGRUb0NhcnQoKVwiIGlkPVwiYWRkLXRvLWNhcnQtYnRuXCJcbiAgICAgICAgICA+QWRkIHRvIGNhcnQ8L2FcbiAgICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCIgKGNsaWNrKT1cImhpZGVNb2RhbCgpXCIgaWQ9XCJjYW5jZWwtYnRuXCI+Q2FuY2VsPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
429
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2NvbXBvbmVudHMvdWktcnVudGltZS9ydW50aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lL3J1bnRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBR0wsVUFBVSxFQUVWLFdBQVcsRUFFWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBSWhCLElBQUksR0FDTCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FB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QUFnQix3TEF3QmpCLGNBQWM7a0dBeEJiLGdCQUFnQixzRkFGaEIsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsMEJDdkN2RixtZ0VBbURBOzRGRFZhLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNuQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDckUsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDO2lCQUN0Rjs7MEJBeUJJLE1BQU07MkJBQUMsY0FBYztrS0FSRyxlQUFlO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDaGFyZ2VJdGVtLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgT3JkZXJCeVBpcGUsXG4gIFByaWNlQWRqdXN0bWVudCxcbiAgU2FsZXNmb3JjZUlkVXRpbHMsXG4gIFNlYXJjaEZpbHRlclBpcGUsXG4gIFNlY3Rpb24sXG4gIFNlY3Rpb25QYXRoLFxuICBVSVRhYixcbiAgVVVJRCxcbn0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb2xsYXBzaWJsZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnVudGltZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCwgU29sdXRpb25SZWFkeUF3YXJlLCBVcGRhdGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQm91bmREYXRhVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL2JvdW5kLWRhdGEudHlwZXMnO1xuaW1wb3J0IHsgTGluZUl0ZW1VdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvbGluZS1pdGVtLnV0aWwnO1xuaW1wb3J0IHsgZ2V0U2VjdGlvblRyZWUgfSBmcm9tICcuLi8uLi91dGlscy9zZWN0aW9uLnV0aWxzJztcbmltcG9ydCB7IFNlY3Rpb25zQmluZGVySGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLXJ1bnRpbWUnLFxuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICB0ZW1wbGF0ZVVybDogJ3J1bnRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydW50aW1lLWxlZ2FjeS1zdHlsZXMuc2NzcycsICdydW50aW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0Zvcm1TY29wZVNlcnZpY2UsIENvbGxhcHNpYmxlU3RhdGVTZXJ2aWNlLCBPcmRlckJ5UGlwZSwgU2VhcmNoRmlsdGVyUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgU29sdXRpb25SZWFkeUF3YXJlIHtcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VCdWNrZXRJZCA9ICd1aS5ydW50aW1lJztcblxuICBwdWJsaWMgc29ydGVkU2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc3RhdGljU2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBydW50aW1lQ29udGV4dCE6IExlZ2FjeVJ1bnRpbWVDb250ZXh0O1xuICBwdWJsaWMgc29sdXRpb25MaW5lSXRlbSE6IExpbmVJdGVtO1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIGFjdGl2ZVVJVGFiPzogVUlUYWI7XG5cbiAgcHVibGljIHNvbHV0aW9uSXNSZWFkeSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKSBwcml2YXRlIHJlYWRvbmx5IHNvbHV0aW9uVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VjdGlvbnNTZXJ2aWNlOiBTZWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtU2NvcGU6IEZvcm1TY29wZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2xsYXBzaWJsZVN0YXRlOiBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1TZXJ2aWNlOiBSdW50aW1lRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgQEluamVjdChNZXNzYWdlU2VydmljZSkgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcmRlckJ5UGlwZTogT3JkZXJCeVBpcGUsXG4gICAgcHJpdmF0ZSBzZWFyY2hGaWx0ZXJQaXBlOiBTZWFyY2hGaWx0ZXJQaXBlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHByaXZhdGUgYWRqdXN0UHJpY2UoXG4gICAgdmFsdWVPcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzZWN0aW9uOiBTZWN0aW9uLFxuICAgIHNvbHV0aW9uTGluZUl0ZW06IExpbmVJdGVtLFxuICAgIHBhdGNoOiBEaWN0aW9uYXJ5PFByaWNlQWRqdXN0bWVudD4sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgIGlmICghcGFyZW50TGluZUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMgPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMubWFwKGxpbmVJdGVtID0+IHtcbiAgICAgIGNvbnN0IHsgcHJvZHVjdElkLCBjaGFyZ2VJdGVtcyB9ID0gbGluZUl0ZW07XG5cbiAgICAgIGlmIChwcm9kdWN0SWQgIT09IHZhbHVlT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBsaW5lSXRlbTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhcmdlSXRlbSA9IGNoYXJnZUl0ZW1zLnNoaWZ0KCk7XG4gICAgICBjb25zdCB1cGRhdGVkQ2hhcmdlSXRlbSA9IHtcbiAgICAgICAgLi4uY2hhcmdlSXRlbSxcbiAgICAgICAgLi4ucGF0Y2gsXG4gICAgICB9IGFzIENoYXJnZUl0ZW07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmxpbmVJdGVtLFxuICAgICAgICBjaGFyZ2VJdGVtczogW3VwZGF0ZWRDaGFyZ2VJdGVtLCAuLi5jaGFyZ2VJdGVtc10sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNjb3BlLmZvcm1TdWJtaXRFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChlOiBVcGRhdGVEYXRhKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBjb25zdCBzb2x1dGlvbkxpbmVJdGVtID0gRW50aXR5VXRpbC5jbG9uZSh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmZpbmRTZWN0aW9uKGUuaWQpO1xuXG4gICAgICAgIGlmICghc2VjdGlvbikge1xuICAgICAgICAgIHRocm93ICdTZWN0aW9uIG5vdCBmb3VuZCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZW50aXR5VHlwZSA9IHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGU7XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSB8fCBlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuVFlQRV0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdwYXRjaCcgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoZS52YWx1ZU9wdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlT3B0aW9uOiBhbnkgPSBlWyd2YWx1ZU9wdGlvbiddO1xuXG4gICAgICAgICAgICBpZiAoIXNlY3Rpb24ubW9kZWw/LnBhcmVudElkKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTdGF0ZS5jbGVhclN0YXRlKHNlY3Rpb24uaWQpO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUodmFsdWVPcHRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmR4ID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHNlY3Rpb24ubW9kZWw/LmlkKTtcblxuICAgICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5keCwgMSwgdmFsdWVPcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVN0YXRlLmNsZWFyU3RhdGUoc2VjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSkge1xuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3Vwc2VydCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMuZmluZEluZGV4KHYgPT4gdi50b0xvd2VyQ2FzZSgpID09PSBpLnR5cGUudG9Mb3dlckNhc2UoKSkgPCAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGksIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IHBhcmVudExpbmVJdGVtPy5saW5lSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIGkgPT5cbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMuZmluZEluZGV4KHYgPT4gdi50b0xvd2VyQ2FzZSgpID09PSBpLnR5cGUudG9Mb3dlckNhc2UoKSkgPiAtMSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgZS5zZWxlY3RlZFZhbHVlT3B0aW9ucz8uZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGluZUl0ZW1zPy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdi50b0xvd2VyQ2FzZSgpKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVMaW5lSXRlbShzZWN0aW9uLCB2LCBwYXJlbnRMaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICAgIGxpbmVJdGVtcy5wdXNoKGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZU9wdGlvbiA9IGUudmFsdWVPcHRpb247XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVMaW5lSXRlbShzZWN0aW9uLCB2YWx1ZU9wdGlvbiwgcGFyZW50TGluZUl0ZW0pO1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgbGluZUl0ZW0pO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdjb3B5Jykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVPcHRpb24gPSBlLnZhbHVlT3B0aW9uO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbVRvQ29weSA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLmlkID09PSB2YWx1ZU9wdGlvbik7XG4gICAgICAgICAgICAgIGlmIChsaW5lSXRlbVRvQ29weSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtOiBMaW5lSXRlbSA9IHsgLi4ubGluZUl0ZW1Ub0NvcHksIGlkOiAnJyB9O1xuICAgICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5wdXNoKGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIC8vQXNzdW1pbmcgdGhhdCByYWRpbyBjb250cm9sIGlzIHRoZSBvbmx5IGNvbnRyb2wsIHRoYXQgJ3VwZGF0ZXMnIHZhbHVlc1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHNlY3Rpb24ubW9kZWw/LmxpbmVJdGVtcy5maWx0ZXIobGkgPT4gbGkucG9ydCAmJiBsaS5wb3J0ID09PSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lKVswXTtcblxuICAgICAgICAgICAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIHByZXZpb3VzLCAwKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLmZpbmRJbmRleChsaSA9PiBsaS5pZCA9PT0gcHJldmlvdXM/LmlkKTtcblxuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbTogTGluZUl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgICAgICAgICAgIHF0eTogcHJldmlvdXM/LnF0eSxcbiAgICAgICAgICAgICAgICBwb3J0OiBwcmV2aW91cz8ucG9ydCxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnRpdHlVdGlsLmlzUHJlc2VudChlLnZhbHVlT3B0aW9uKSA/IGUudmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbZS5pZF0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2ZnU3RhdHVzOiAnTmV3JyxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZDogcHJldmlvdXM/LnBhcmVudElkLFxuICAgICAgICAgICAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgbGluZUl0ZW0pO1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXNbaW5kZXhdID0gbGluZUl0ZW07XG5cbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbSAmJlxuICAgICAgICAgICAgICBTZWN0aW9uc0JpbmRlckhlbHBlci5pc1JlbW92ZUFsbG93ZWQocGFyZW50TGluZUl0ZW0sIHNlY3Rpb24uYm91bmREYXRhLm5hbWUsIHNlY3Rpb24ubW9kZWw/LnF0eSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgICAgaXRlbSA9PiBpdGVtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZS52YWx1ZU9wdGlvbj8udG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVkID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCByZW1vdmVkLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdxdHlVcGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlU2VjdGlvbiA9IGUudmFsdWVPcHRpb25cbiAgICAgICAgICAgICAgPyBTZWN0aW9uSGVscGVyU2VydmljZS5maW5kU2VjdGlvbkZvclZhbHVlKHNlY3Rpb24sIGUudmFsdWVPcHRpb24pXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCB0eXBlTGluZUl0ZW0gPSB0eXBlU2VjdGlvbj8ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHR5cGVTZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICAgICAgaWYgKHR5cGVTZWN0aW9uICYmIHR5cGVMaW5lSXRlbSkge1xuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0ucXR5ID0gK3RoaXMuZm9ybS5jb250cm9sc1t0eXBlU2VjdGlvbi5pZCArICdxdHknXS52YWx1ZTtcbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLmNmZ1N0YXR1cyA9ICdVc2VyJztcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ2FkanVzdE5ldFByaWNlJykge1xuICAgICAgICAgICAgY29uc3QgeyB2YWx1ZU9wdGlvbiwgb3B0aW9ucyB9ID0gZTtcbiAgICAgICAgICAgIGNvbnN0IHsgYW1vdW50IH0gPSBvcHRpb25zID8/IHt9O1xuXG4gICAgICAgICAgICBjb25zdCBwcmljZUFkanVzdG1lbnQ6IFByaWNlQWRqdXN0bWVudCA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ09WRVJSSURFX0FNT1VOVCcsXG4gICAgICAgICAgICAgIGV4cGxhbmF0aW9uOiAnTWFudWFsIG5ldCBwcmljZSBhZGp1c3RtZW50JyxcbiAgICAgICAgICAgICAgZm9ybXVsYTogJycsXG4gICAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuYWRqdXN0UHJpY2UodmFsdWVPcHRpb24sIHNlY3Rpb24sIHNvbHV0aW9uTGluZUl0ZW0sIHsgcHJpY2VBZGp1c3RtZW50IH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ2FkanVzdExpc3RQcmljZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWVPcHRpb24sIG9wdGlvbnMgfSA9IGU7XG4gICAgICAgICAgICBjb25zdCB7IGFtb3VudCB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICAgICAgICAgICAgY29uc3QgbGlzdFByaWNlQWRqdXN0bWVudDogUHJpY2VBZGp1c3RtZW50ID0ge1xuICAgICAgICAgICAgICB0eXBlOiAnT1ZFUlJJREVfQU1PVU5UJyxcbiAgICAgICAgICAgICAgZXhwbGFuYXRpb246ICdNYW51YWwgbGlzdCBwcmljZSBhZGp1c3RtZW50JyxcbiAgICAgICAgICAgICAgZm9ybXVsYTogJycsXG4gICAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuYWRqdXN0UHJpY2UodmFsdWVPcHRpb24sIHNlY3Rpb24sIHNvbHV0aW9uTGluZUl0ZW0sIHsgbGlzdFByaWNlQWRqdXN0bWVudCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLlRZUEVdKSB7XG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncmVtb3ZlJykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPVxuICAgICAgICAgICAgICBzZWN0aW9uLm1vZGVsPy5wYXJlbnRJZCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbSAmJlxuICAgICAgICAgICAgICBzZWN0aW9uLm1vZGVsICYmXG4gICAgICAgICAgICAgIHNlY3Rpb24ubW9kZWwucG9ydCAmJlxuICAgICAgICAgICAgICBTZWN0aW9uc0JpbmRlckhlbHBlci5pc1JlbW92ZUFsbG93ZWQocGFyZW50TGluZUl0ZW0sIHNlY3Rpb24ubW9kZWwucG9ydCwgc2VjdGlvbi5tb2RlbD8ucXR5KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHNlY3Rpb24ubW9kZWw/LmlkKTtcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVkID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCByZW1vdmVkLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuY2xlYXJTdGF0ZShzZWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdxdHlVcGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAodHlwZUxpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHF0eSA9ICt0aGlzLmZvcm0uY29udHJvbHNbZS5pZCArICdxdHknXS52YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKHR5cGVMaW5lSXRlbS5wYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHR5cGVMaW5lSXRlbS5wYXJlbnRJZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCB0eXBlTGluZUl0ZW0sIHF0eSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHR5cGVMaW5lSXRlbS5xdHkgPSBxdHk7XG4gICAgICAgICAgICAgIHR5cGVMaW5lSXRlbS5jZmdTdGF0dXMgPSAnVXNlcic7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLkFUVFJJQlVURV0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSBwYXJlbnRMaW5lSXRlbT8uYXR0cmlidXRlcy5maW5kKFxuICAgICAgICAgICAgICBhdHRyID0+IGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgICAgICAgIC8vRXhwbGljaXRseSBzZXQgdmFsdWUgYWx3YXlzIHdpblxuICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0eXBlb2YgZS52YWx1ZU9wdGlvbiAhPT0gJ3VuZGVmaW5lZCcgPyBlLnZhbHVlT3B0aW9uIDogdGhpcy5mb3JtLmNvbnRyb2xzW2UuaWRdLnZhbHVlO1xuXG4gICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUudHlwZSA9PT0gJ0JPT0xFQU4nKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSA/IDEgOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYXR0cmlidXRlLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZS5jZmdTdGF0dXMgPSAnVXNlcic7XG5cbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBrZXk6IHRoaXMubWVzc2FnZUJ1Y2tldElkLCBzdW1tYXJ5OiBgQ29uZmlndXJhdGlvbiBmYWlsZWQgJHsoZSBhcyBhbnkpPy5tZXNzYWdlfWAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLm9uU29sdXRpb25SZWFkeUV2ZW50XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKGxpbmVJdGVtID0+IHRoaXMub25Tb2x1dGlvblJlYWR5KGxpbmVJdGVtKSk7XG5cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLm9uU29sdXRpb25VcGRhdGVkRXZlbnRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IExpbmVJdGVtIHwgSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVNvbHV0aW9uVXBkYXRlKGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYW5kbGVTb2x1dGlvbkZhaWxlZFVwZGF0ZShkYXRhKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5vblVJUmVmcmVzaEV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgeyB1aURlZmluaXRpb24gfSA9IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQoKSA/PyB7fTtcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uID0gdWlEZWZpbml0aW9uIGFzIGFueTtcbiAgICAgIHRoaXMuZm9ybVNjb3BlLnNjcmlwdFNlc3Npb25TY29wZSA9IHt9O1xuICAgICAgdGhpcy5zdGFydFJ1bnRpbWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNvbHV0aW9uUmVhZHkobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQoKSBhcyBMZWdhY3lSdW50aW1lQ29udGV4dDtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uQ29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgY29uc3QgbWVyZ2VDb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbkNvbnRleHQucHJvcGVydGllcyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGFjY291bnRJZCA9IG1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzPy5BY2NvdW50SWQ7XG4gICAgaWYgKGFjY291bnRJZCAmJiBhY2NvdW50SWQubGVuZ3RoID09PSAxNSkge1xuICAgICAgdGhpcy5ydW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgLi4ubWVyZ2VDb250ZXh0LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgLi4ubWVyZ2VDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgQWNjb3VudElkOiBTYWxlc2ZvcmNlSWRVdGlscy5nZW5lcmF0ZUlkMThGcm9tSWQxNShhY2NvdW50SWQpLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQgPSBtZXJnZUNvbnRleHQgYXMgYW55O1xuICAgIH1cblxuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IGxpbmVJdGVtO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc2V0UnVudGltZUNvbnRleHQodGhpcy5ydW50aW1lQ29udGV4dCk7XG5cbiAgICB0aGlzLnN0YXJ0UnVudGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTb2x1dGlvblVwZGF0ZSh1cGRhdGVkTGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zb2x1dGlvbkxpbmVJdGVtID0gdXBkYXRlZExpbmVJdGVtO1xuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKHRydWUpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc29sdXRpb25Qcm9jZXNzZWQodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNvbHV0aW9uRmFpbGVkVXBkYXRlKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xuICAgIGNvbnN0IGhhc0Vycm9yTWVzc2FnZSA9IEVudGl0eVV0aWwuaXNQcmVzZW50KGVycm9yLmVycm9yKSAmJiBFbnRpdHlVdGlsLmlzUHJlc2VudChlcnJvci5lcnJvci5tZXNzYWdlKTtcbiAgICBjb25zdCBtZXNzYWdlID0gaGFzRXJyb3JNZXNzYWdlID8gZXJyb3IuZXJyb3IubWVzc2FnZSA6ICdDb25maWd1cmF0aW9uIGZhaWxlZCc7XG4gICAgY29uc3QgeyBpc0hhbmRsaW5nQ29uZmlndXJhdGlvbkVycm9ycyB9ID0gdGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb24gPz8ge307XG5cbiAgICBpZiAoaXNIYW5kbGluZ0NvbmZpZ3VyYXRpb25FcnJvcnMpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VCdWNrZXRJZCwgc3VtbWFyeTogbWVzc2FnZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNvbHV0aW9uTGluZUl0ZW0gPSB7XG4gICAgICAuLi50aGlzLnNvbHV0aW9uTGluZUl0ZW0sXG4gICAgICBtZXNzYWdlczogWy4uLnRoaXMuc29sdXRpb25MaW5lSXRlbS5tZXNzYWdlcywgYEU6JHttZXNzYWdlfWBdLFxuICAgIH07XG4gICAgdGhpcy5wcm9jZXNzU29sdXRpb24odHJ1ZSwgdHJ1ZSk7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zb2x1dGlvblByb2Nlc3NlZCh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudDogTGluZUl0ZW0sIHVwZGF0ZWQ6IExpbmVJdGVtLCBuZXdRdWFudGl0eT86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHBvcnREb21haW4gPSB1cGRhdGVkLnBvcnQgPyBwYXJlbnQucG9ydERvbWFpbnNbdXBkYXRlZC5wb3J0XSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBkb21haW5UeXBlID0gcG9ydERvbWFpbj8uZG9tYWluVHlwZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gdXBkYXRlZC50eXBlKTtcbiAgICBjb25zdCBjYXJkaW5hbGl0eSA9IGRvbWFpblR5cGU/LmNhcmRpbmFsaXR5ID8/IDA7XG5cbiAgICBsZXQgcXR5O1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKGRvbWFpblR5cGU/LmNhcmRpbmFsaXR5KSkge1xuICAgICAgcXR5ID0gTnVtYmVyLmlzRmluaXRlKG5ld1F1YW50aXR5KSA/IG5ld1F1YW50aXR5IDogdXBkYXRlZC5xdHk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF0eSA9IEVudGl0eVV0aWwuaXNQcmVzZW50KG5ld1F1YW50aXR5KVxuICAgICAgICA/IGNhcmRpbmFsaXR5IC0gdXBkYXRlZC5xdHkgKyAobmV3UXVhbnRpdHkgYXMgbnVtYmVyKVxuICAgICAgICA6IGNhcmRpbmFsaXR5ICsgdXBkYXRlZC5xdHk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FyZGluYWxpdHlOYW1lID0gJyNDVi0nICsgdXBkYXRlZC50eXBlICsgJ0AnICsgdXBkYXRlZC5wb3J0O1xuXG4gICAgbGV0IGNhcmRpbmFsaXR5VmFyaWFibGUgPSBwYXJlbnQuYXR0cmlidXRlcy5maW5kKGEgPT4gYS5uYW1lID09PSBjYXJkaW5hbGl0eU5hbWUpO1xuICAgIGlmICghY2FyZGluYWxpdHlWYXJpYWJsZSkge1xuICAgICAgY2FyZGluYWxpdHlWYXJpYWJsZSA9IHtcbiAgICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgICBuYW1lOiBjYXJkaW5hbGl0eU5hbWUsXG4gICAgICB9IGFzIEF0dHJpYnV0ZTtcbiAgICAgIHBhcmVudC5hdHRyaWJ1dGVzLnB1c2goY2FyZGluYWxpdHlWYXJpYWJsZSk7XG4gICAgfVxuICAgIGNhcmRpbmFsaXR5VmFyaWFibGUudmFsdWUgPSBxdHk7XG4gICAgY2FyZGluYWxpdHlWYXJpYWJsZS5jZmdTdGF0dXMgPSAnVXNlcic7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxpbmVJdGVtKHNlY3Rpb246IFNlY3Rpb24sIHZhbHVlT3B0aW9uPzogc3RyaW5nLCBwYXJlbnRMaW5lSXRlbT86IExpbmVJdGVtKTogTGluZUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBxdHk6ICt0aGlzLmZvcm0uY29udHJvbHNbc2VjdGlvbi5pZCArICdxdHknXS52YWx1ZSxcbiAgICAgIHBvcnQ6IHNlY3Rpb24uYm91bmREYXRhLm5hbWUsXG4gICAgICB0eXBlOiBFbnRpdHlVdGlsLmlzUHJlc2VudCh2YWx1ZU9wdGlvbikgPyB2YWx1ZU9wdGlvbiA6IHRoaXMuZm9ybS5jb250cm9sc1tzZWN0aW9uLmlkXS52YWx1ZSxcbiAgICAgIGNmZ1N0YXR1czogJ05ldycsXG4gICAgICBwYXJlbnRJZDogcGFyZW50TGluZUl0ZW0/LmlkLFxuICAgIH0gYXMgTGluZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZS5uZXh0KCk7XG5cbiAgICB0aGlzLnNlY3Rpb25zU2VydmljZS5kZXN0cm95KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UnVudGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCB1aURlZmluaXRpb24gPSB0aGlzLnJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbjtcblxuICAgIGNvbnN0IGRlZmF1bHRUYWIgPSB1aURlZmluaXRpb24/LnRhYnM/LmZpbmQodGFiID0+IHRhYi5pc0RlZmF1bHQpO1xuICAgIHRoaXMuYWN0aXZlVUlUYWIgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChkZWZhdWx0VGFiKSA/IGRlZmF1bHRUYWIgOiB1aURlZmluaXRpb24/LnRhYnM/LlswXTtcblxuICAgIHRoaXMuc2VjdGlvbnNTZXJ2aWNlLmNvbXBpbGVNb2R1bGUodWlEZWZpbml0aW9uPy5zZWN0aW9ucyA/PyBbXSwgdWlEZWZpbml0aW9uPy5pc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuXG4gICAgdGhpcy5wcm9jZXNzU29sdXRpb24oKTtcblxuICAgIHRoaXMuc29sdXRpb25Jc1JlYWR5ID0gdHJ1ZTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUnVudGltZShsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZC5lbWl0KGxpbmVJdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgbGluZUl0ZW0gPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG5cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnN0b3BSdW50aW1lKGxpbmVJdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzU29sdXRpb24oaXNVcGRhdGU/OiBib29sZWFuLCBpc0Vycm9yPzogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vMS4gQmluZCBzZWN0aW9ucyB0byBzb2x1dGlvblxuICAgIGxldCBzZWN0aW9ucyA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnNlY3Rpb25zKSA/PyBbXTtcbiAgICBjb25zdCBzb3VyY2VTZWN0aW9ucyA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnNlY3Rpb25zKSA/PyBbXTtcbiAgICB0aGlzLnVwZGF0ZUxpbmVJdGVtc1NlY3Rpb25QYXRoKHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG4gICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuc2V0TGluZUl0ZW1zUGF0aChcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQucnVudGltZU1vZGVsLFxuICAgICAgdGhpcy5zb2x1dGlvbkxpbmVJdGVtLFxuICAgICAgc2VjdGlvbnMsXG4gICAgICBzb3VyY2VTZWN0aW9ucyxcbiAgICAgIChzZWM6IGFueSkgPT4gIXNlYy5wYXJlbnRJZCAmJiBzZWMuYm91bmREYXRhLFxuICAgICAgdGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNpbmdFbmFibGVkID8/IGZhbHNlLFxuICAgICk7XG5cbiAgICBzZWN0aW9ucyA9IHNlY3Rpb25zLmZpbHRlcihzID0+IHMubW9kZWwgJiYgcy50ZW1wbGF0ZSk7XG5cbiAgICAvLzIuIEluaXQgZm9ybVxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuaW5pdEZvcm0oc2VjdGlvbnMsIHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG4gICAgdGhpcy5mb3JtU2NvcGUuZm9ybSA9IHRoaXMuZm9ybTtcblxuICAgIHRoaXMuc29ydGVkU2VjdGlvbnMgPSB0aGlzLmZpbHRlckFuZFNvcnQoZ2V0U2VjdGlvblRyZWUoc2VjdGlvbnMuZmlsdGVyKHMgPT4gIXMuaXNTdGF0aWMpKSk7XG5cbiAgICBpZiAoIWlzVXBkYXRlKSB7XG4gICAgICB0aGlzLnN0YXRpY1NlY3Rpb25zID0gdGhpcy5maWx0ZXJBbmRTb3J0KGdldFNlY3Rpb25UcmVlKHNlY3Rpb25zLmZpbHRlcihzID0+IHMuaXNTdGF0aWMpKSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc0Vycm9yKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKHRoaXMubWVzc2FnZUJ1Y2tldElkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2FuY2VsUnVudGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aChsaW5lSXRlbTogTGluZUl0ZW0sIHBhcmVudD86IFNlY3Rpb25QYXRoKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aDogU2VjdGlvblBhdGggPSB7XG4gICAgICB0eXBlczogcGFyZW50ID8gcGFyZW50LnR5cGVzLmNvbmNhdChbbGluZUl0ZW0udHlwZV0pIDogW2xpbmVJdGVtLnR5cGVdLFxuICAgICAgcG9ydHM6IHBhcmVudCA/IHBhcmVudC5wb3J0cy5jb25jYXQobGluZUl0ZW0ucG9ydCA/IFtsaW5lSXRlbS5wb3J0XSA6IFtdKSA6IFtdLFxuICAgIH0gYXMgU2VjdGlvblBhdGg7XG5cbiAgICBsaW5lSXRlbS5wYXRoID0gcGF0aDtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgbGluZUl0ZW0ubGluZUl0ZW1zKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxpbmVJdGVtc1NlY3Rpb25QYXRoKGNoaWxkLCBsaW5lSXRlbS5wYXRoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckFuZFNvcnQoc2VjdGlvbnM6IFNlY3Rpb25bXSk6IFNlY3Rpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLnNlYXJjaEZpbHRlclBpcGUudHJhbnNmb3JtKHNlY3Rpb25zLCB0aGlzLmFjdGl2ZVVJVGFiPy5pZCwgJ3BhZ2UnKTtcbiAgICBjb25zdCBvcmRlcmVkID0gdGhpcy5vcmRlckJ5UGlwZS50cmFuc2Zvcm0oZmlsdGVyZWQsICdvcmRlcicsICdhc2MnKTtcblxuICAgIHJldHVybiBvcmRlcmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2VjdGlvbihpZDogc3RyaW5nKTogU2VjdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWwuZmluZEJ5RmllbGRIaWVyYXJjaGljYWxseSgnaWQnLCBpZCwgWy4uLnRoaXMuc29ydGVkU2VjdGlvbnMsIC4uLnRoaXMuc3RhdGljU2VjdGlvbnNdLCAnY2hpbGRyZW4nKTtcbiAgfVxufVxuIiwiPHZsLWxvYWRlciBsYWJlbD1cIkxvYWRpbmcgVUlcIiAqbmdJZj1cIiFzb2x1dGlvbklzUmVhZHk7IGVsc2UgY29udGVudFwiPjwvdmwtbG9hZGVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNpZGViYXItdGFic1wiXG4gICAgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFydW50aW1lQ29udGV4dD8udWlEZWZpbml0aW9uPy5kZWZhdWx0UGFuZWxzIH1cIlxuICAgICN1aVRhYnM9XCJzaWRlYmFyVGFic1wiXG4gICAgc2lkZWJhclRhYnM9XCJ7eyBhY3RpdmVVSVRhYj8uaWQgfX1cIlxuICAgIGlkPVwidmwtZGVmYXVsdC1zaWRlYmFyLXRhYnNcIlxuICA+XG4gICAgPHVsPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8udGFicyB8IG9yZGVyQnk6ICdvcmRlcic6J2FzYydcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdWlUYWJzLmFjdGl2ZVRhYiA9PT0gdGFiLmlkIH1cIlxuICAgICAgICAoY2xpY2spPVwidWlUYWJzLnN3aXRjaFRhYih0YWIuaWQpXCJcbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eyB0YWIubmFtZSB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNlY3Rpb25zLXdyYXBwZXJcIj5cbiAgICA8Zm9ybSByb2xlPVwiZm9ybVwiIG5hbWU9XCJmb3JtXCIgY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzdGF0aWNTZWN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi5tb2RlbCAmJiBzZWN0aW9uLnRlbXBsYXRlICYmICFzZWN0aW9uLmhpZGRlblwiPlxuICAgICAgICAgIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC92bC1zZWN0aW9uLXJlbmRlcmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNvcnRlZFNlY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWN0aW9uLm1vZGVsICYmIHNlY3Rpb24udGVtcGxhdGUgJiYgIXNlY3Rpb24uaGlkZGVuXCI+XG4gICAgICAgICAgPHZsLXNlY3Rpb24tcmVuZGVyZXIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmb3JtXT1cImZvcm1cIj48L3ZsLXNlY3Rpb24tcmVuZGVyZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtb2RhbC1mb290ZXJcIlxuICAgICAgKm5nSWY9XCJydW50aW1lQ29udGV4dD8ucnVudGltZU1vZGUgPT09IDFcIlxuICAgICAgaWQ9XCJ2bC1ydW50aW1lLWRlZmF1bHQtZm9vdGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8uZGVmYXVsdFBhbmVscyB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGlucHV0LWZvcm0taW5wdXRcIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIChjbGljayk9XCJmb3JtLnZhbGlkICYmIGFkZFRvQ2FydCgpXCIgaWQ9XCJhZGQtdG8tY2FydC1idG5cIlxuICAgICAgICAgID5BZGQgdG8gY2FydDwvYVxuICAgICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgY2xhc3M9XCJidG4gYnRuLWxpbmtcIiAoY2xpY2spPVwiaGlkZU1vZGFsKClcIiBpZD1cImNhbmNlbC1idG5cIj5DYW5jZWw8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,13 +1,13 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ConfigurationContextMode, EntityUtil, RuntimeModel, SectionPathUtil, } from '@veloceapps/core';
3
- import { RuntimeMode } from '@veloceapps/sdk/core';
2
+ import { ConfigurationContextMode, EntityUtil, RuntimeModel, SectionPathUtil, } from '@veloce/core';
3
+ import { RuntimeMode } from '@veloce/sdk/core';
4
4
  import { combineLatest, Subject } from 'rxjs';
5
5
  import { takeUntil } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../services/runtime.service";
8
8
  import * as i2 from "../../services/product-model-cache.service";
9
- import * as i3 from "@veloceapps/api";
10
- import * as i4 from "@veloceapps/sdk/core";
9
+ import * as i3 from "@veloce/api";
10
+ import * as i4 from "@veloce/sdk/core";
11
11
  import * as i5 from "../ui-runtime/runtime.component";
12
12
  export class RuntimePreviewComponent {
13
13
  constructor(runtimeService, modelCacheService, configurationApiService, contextService) {
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
106
106
  }], uiDefinition: [{
107
107
  type: Input
108
108
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsRUFJVixZQUFZLEVBQ1osZUFBZSxHQUVoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBVzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxjQUE4QixFQUM5QixpQkFBMkMsRUFDM0MsdUJBQWdELEVBQ2hELGNBQThCO1FBSDlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTmhDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBT3BDLENBQUM7SUFoQkosSUFBb0IsWUFBWSxDQUFDLEtBQW1CO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNC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dCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgUHJvZHVjdE1vZGVsQXR0cmlidXRlLFxuICBQcm9kdWN0TW9kZWxzQ29udGFpbmVyLFxuICBSdW50aW1lTW9kZWwsXG4gIFNlY3Rpb25QYXRoVXRpbCxcbiAgVUlEZWZpbml0aW9uLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBSdW50aW1lTW9kZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJvZHVjdE1vZGVsQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdC1tb2RlbC1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FjeVJ1bnRpbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1ydW50aW1lLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJ3J1bnRpbWUtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydydW50aW1lLXByZXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWxJZD86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNldCB1aURlZmluaXRpb24odmFsdWU6IFVJRGVmaW5pdGlvbikge1xuICAgIHRoaXMuX3VpRGVmaW5pdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdERlZmluaXRpb24odmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBwcml2YXRlIGluaXRpYWxpc2VkVWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBwcml2YXRlIHByb2R1Y3RNb2RlbENvbnRhaW5lcj86IFByb2R1Y3RNb2RlbHNDb250YWluZXI7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RlbENhY2hlU2VydmljZTogUHJvZHVjdE1vZGVsQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2RlbElkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2RlbENhY2hlU2VydmljZVxuICAgICAgLmdldFByb2R1Y3RNb2RlbCh0aGlzLm1vZGVsSWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGNvbnRhaW5lciA9PiB7XG4gICAgICAgIHRoaXMucHJvZHVjdE1vZGVsQ29udGFpbmVyID0gY29udGFpbmVyO1xuXG4gICAgICAgIGlmICh0aGlzLl91aURlZmluaXRpb24pIHtcbiAgICAgICAgICB0aGlzLmluaXREZWZpbml0aW9uKHRoaXMuX3VpRGVmaW5pdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0RGVmaW5pdGlvbih1aURlZmluaXRpb246IFVJRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9kdWN0TW9kZWxDb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbiA9IEVudGl0eVV0aWwuY2xvbmUodWlEZWZpbml0aW9uKTtcblxuICAgIGNvbnN0IGV4dGVybmFsczogUHJvZHVjdE1vZGVsQXR0cmlidXRlW10gPSB0aGlzLnByb2R1Y3RNb2RlbENvbnRhaW5lci5tYWluLmV4dGVybmFscztcbiAgICBpZiAoZXh0ZXJuYWxzKSB7XG4gICAgICBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbi5leHRlcm5hbHMgPSBleHRlcm5hbHMucmVkdWNlPERpY3Rpb25hcnk8c3RyaW5nPj4oKHRydW5rLCB2YXJpYWJsZSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRydW5rLFxuICAgICAgICAgIFt2YXJpYWJsZS5uYW1lXTogaW5pdGlhbGlzZWRVaURlZmluaXRpb24uZXh0ZXJuYWxzPy5bdmFyaWFibGUubmFtZV0gPz8gJycsXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbi5leHRlcm5hbHM7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0aWFsaXNlZFVpRGVmaW5pdGlvbiA9IGluaXRpYWxpc2VkVWlEZWZpbml0aW9uO1xuXG4gICAgdGhpcy5sYXVuY2hSdW50aW1lKCk7XG4gIH1cblxuICBwdWJsaWMgb25Tb2x1dGlvblVwZGF0ZWQobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVSdW50aW1lKHsgY29uZmlndXJhYmxlUmFtcDogbGluZUl0ZW0gfSk7XG4gIH1cblxuICBwcml2YXRlIGxhdW5jaFJ1bnRpbWUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1vZGVsSWQgfHwgIXRoaXMuaW5pdGlhbGlzZWRVaURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBTZWN0aW9uUGF0aFV0aWwudXBkYXRlU2VjdGlvbnNQYXRoKHRoaXMuaW5pdGlhbGlzZWRVaURlZmluaXRpb24uc2VjdGlvbnMpO1xuXG4gICAgY29uc3QgdWlEZWZpbml0aW9uID0gRW50aXR5VXRpbC5jbG9uZSh0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZS5nZXRSdW50aW1lRGF0YUJ5TW9kZWxJZCh0aGlzLm1vZGVsSWQpLFxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoJ1Rlc3RJZCcsIENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNUKSxcbiAgICBdKS5zdWJzY3JpYmUoKFtydW50aW1lRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUocnVudGltZURhdGEudHlwZXMsIHJ1bnRpbWVEYXRhLnByb2R1Y3RzKTtcbiAgICAgIGNvbnN0IHJvb3RUeXBlID0gQXJyYXkuZnJvbShydW50aW1lTW9kZWwuY29tcG9uZW50cy52YWx1ZXMoKSkuZmluZChcbiAgICAgICAgYyA9PlxuICAgICAgICAgIHVpRGVmaW5pdGlvbi5yb290VHlwZSAmJlxuICAgICAgICAgIHJ1bnRpbWVNb2RlbC5pc0VxdWFscyhjLnR5cGVOYW1lLCB1aURlZmluaXRpb24ucm9vdFR5cGUpICYmXG4gICAgICAgICAgRW50aXR5VXRpbC5pc1ByZXNlbnQoYy5wcm9kdWN0SWQpLFxuICAgICAgKTtcblxuICAgICAgaWYgKHJvb3RUeXBlPy50eXBlTmFtZSkge1xuICAgICAgICB1aURlZmluaXRpb24ucm9vdFR5cGUgPSByb290VHlwZS50eXBlTmFtZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29udGV4dFByb2R1Y3RJZCA9IHJvb3RUeXBlID8gcm9vdFR5cGUucHJvZHVjdElkIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCBjb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgbW9kZWxJZDogdGhpcy5tb2RlbElkID8/ICcnLFxuICAgICAgICB1aURlZmluaXRpb246IHVpRGVmaW5pdGlvbixcbiAgICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgICBydW50aW1lTW9kZTogUnVudGltZU1vZGUuVEVTVCxcbiAgICAgICAgcHJvZHVjdElkOiBjb250ZXh0UHJvZHVjdElkLFxuICAgICAgICBwcm9wZXJ0aWVzOiB1aURlZmluaXRpb24uZXh0ZXJuYWxzLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5ydW50aW1lU2VydmljZS5zdGFydFJ1bnRpbWUoY29udGV4dCwge30pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8dmwtcnVudGltZSAoc29sdXRpb25VcGRhdGVkKT1cIm9uU29sdXRpb25VcGRhdGVkKCRldmVudClcIj48L3ZsLXJ1bnRpbWU+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsRUFJVixZQUFZLEVBQ1osZUFBZSxHQUVoQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVczQyxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQ1UsY0FBOEIsRUFDOUIsaUJBQTJDLEVBQzNDLHVCQUFnRCxFQUNoRCxjQUE4QjtRQUg5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5oQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU9wQyxDQUFDO0lBaEJKLElBQW9CLFlBQVksQ0FBQyxLQUFtQjtRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJ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eyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgUHJvZHVjdE1vZGVsQXR0cmlidXRlLFxuICBQcm9kdWN0TW9kZWxzQ29udGFpbmVyLFxuICBSdW50aW1lTW9kZWwsXG4gIFNlY3Rpb25QYXRoVXRpbCxcbiAgVUlEZWZpbml0aW9uLFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2R1Y3RNb2RlbENhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3QtbW9kZWwtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtcnVudGltZS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICdydW50aW1lLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdWlEZWZpbml0aW9uKHZhbHVlOiBVSURlZmluaXRpb24pIHtcbiAgICB0aGlzLl91aURlZmluaXRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLmluaXREZWZpbml0aW9uKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBwcm9kdWN0TW9kZWxDb250YWluZXI/OiBQcm9kdWN0TW9kZWxzQ29udGFpbmVyO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kZWxDYWNoZVNlcnZpY2U6IFByb2R1Y3RNb2RlbENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubW9kZWxJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWxDYWNoZVNlcnZpY2VcbiAgICAgIC5nZXRQcm9kdWN0TW9kZWwodGhpcy5tb2RlbElkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShjb250YWluZXIgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RNb2RlbENvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuICAgICAgICBpZiAodGhpcy5fdWlEZWZpbml0aW9uKSB7XG4gICAgICAgICAgdGhpcy5pbml0RGVmaW5pdGlvbih0aGlzLl91aURlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdERlZmluaXRpb24odWlEZWZpbml0aW9uOiBVSURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvZHVjdE1vZGVsQ29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdGlhbGlzZWRVaURlZmluaXRpb24gPSBFbnRpdHlVdGlsLmNsb25lKHVpRGVmaW5pdGlvbik7XG5cbiAgICBjb25zdCBleHRlcm5hbHM6IFByb2R1Y3RNb2RlbEF0dHJpYnV0ZVtdID0gdGhpcy5wcm9kdWN0TW9kZWxDb250YWluZXIubWFpbi5leHRlcm5hbHM7XG4gICAgaWYgKGV4dGVybmFscykge1xuICAgICAgaW5pdGlhbGlzZWRVaURlZmluaXRpb24uZXh0ZXJuYWxzID0gZXh0ZXJuYWxzLnJlZHVjZTxEaWN0aW9uYXJ5PHN0cmluZz4+KCh0cnVuaywgdmFyaWFibGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50cnVuayxcbiAgICAgICAgICBbdmFyaWFibGUubmFtZV06IGluaXRpYWxpc2VkVWlEZWZpbml0aW9uLmV4dGVybmFscz8uW3ZhcmlhYmxlLm5hbWVdID8/ICcnLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgaW5pdGlhbGlzZWRVaURlZmluaXRpb24uZXh0ZXJuYWxzO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbGlzZWRVaURlZmluaXRpb24gPSBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbjtcblxuICAgIHRoaXMubGF1bmNoUnVudGltZSgpO1xuICB9XG5cbiAgcHVibGljIG9uU29sdXRpb25VcGRhdGVkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UudXBkYXRlUnVudGltZSh7IGNvbmZpZ3VyYWJsZVJhbXA6IGxpbmVJdGVtIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXVuY2hSdW50aW1lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2RlbElkIHx8ICF0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgU2VjdGlvblBhdGhVdGlsLnVwZGF0ZVNlY3Rpb25zUGF0aCh0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uLnNlY3Rpb25zKTtcblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5pbml0aWFsaXNlZFVpRGVmaW5pdGlvbik7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeU1vZGVsSWQodGhpcy5tb2RlbElkKSxcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuY3JlYXRlKCdUZXN0SWQnLCBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuVEVTVCksXG4gICAgXSkuc3Vic2NyaWJlKChbcnVudGltZURhdGFdKSA9PiB7XG4gICAgICBjb25zdCBydW50aW1lTW9kZWwgPSBSdW50aW1lTW9kZWwuY3JlYXRlKHJ1bnRpbWVEYXRhLnR5cGVzLCBydW50aW1lRGF0YS5wcm9kdWN0cyk7XG4gICAgICBjb25zdCByb290VHlwZSA9IEFycmF5LmZyb20ocnVudGltZU1vZGVsLmNvbXBvbmVudHMudmFsdWVzKCkpLmZpbmQoXG4gICAgICAgIGMgPT5cbiAgICAgICAgICB1aURlZmluaXRpb24ucm9vdFR5cGUgJiZcbiAgICAgICAgICBydW50aW1lTW9kZWwuaXNFcXVhbHMoYy50eXBlTmFtZSwgdWlEZWZpbml0aW9uLnJvb3RUeXBlKSAmJlxuICAgICAgICAgIEVudGl0eVV0aWwuaXNQcmVzZW50KGMucHJvZHVjdElkKSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyb290VHlwZT8udHlwZU5hbWUpIHtcbiAgICAgICAgdWlEZWZpbml0aW9uLnJvb3RUeXBlID0gcm9vdFR5cGUudHlwZU5hbWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbnRleHRQcm9kdWN0SWQgPSByb290VHlwZSA/IHJvb3RUeXBlLnByb2R1Y3RJZCA6IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgY29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgPSB7XG4gICAgICAgIG1vZGVsSWQ6IHRoaXMubW9kZWxJZCA/PyAnJyxcbiAgICAgICAgdWlEZWZpbml0aW9uOiB1aURlZmluaXRpb24sXG4gICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICAgIHByb2R1Y3RJZDogY29udGV4dFByb2R1Y3RJZCxcbiAgICAgICAgcHJvcGVydGllczogdWlEZWZpbml0aW9uLmV4dGVybmFscyxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc3RhcnRSdW50aW1lKGNvbnRleHQsIHt9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHZsLXJ1bnRpbWUgKHNvbHV0aW9uVXBkYXRlZCk9XCJvblNvbHV0aW9uVXBkYXRlZCgkZXZlbnQpXCI+PC92bC1ydW50aW1lPlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { OrderByPipe } from '@veloceapps/core';
2
+ import { OrderByPipe } from '@veloce/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../services/section-scope.service";
5
5
  import * as i2 from "../../../services/form-scope.service";
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
65
65
  templateUrl: 'children-placeholder.component.html',
66
66
  }]
67
67
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGRyZW4tcGxhY2Vob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9leGVjdXRpb24vY29tcG9uZW50cy9jaGlsZHJlbi1wbGFjZWhvbGRlci9jaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2NoaWxkcmVuLXBsYWNlaG9sZGVyL2NoaWxkcmVuLXBsYWNlaG9sZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLDRCQUE0QjtJQWN2QyxZQUNVLFlBQWlDLEVBQ2pDLFNBQTJCLEVBQzNCLGdCQUF5QztRQUZ6QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQWI1QyxjQUFTLEdBQWMsRUFBRSxDQUFDO1FBUTFCLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFNdEIsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFN0csSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFeEIsSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLEVBQUUsTUFBSyxVQUFVLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjs7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQSxNQUFBLE9BQU8sQ0FBQyxRQUFRLDBDQUFFLFlBQVksT0FBSyxNQUFBLE9BQU8sQ0FBQyxRQUFRLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDekUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDOzswSEFqRFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsaUZBRjVCLENBQUMsV0FBVyxDQUFDLCtDQ1oxQixzT0FLQTs0RkRTYSw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7aUJBQ3pCOytLQUdRLFFBQVE7c0JBRGQsS0FBSzs7QUF3RFIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDRCQUE0Qjs7K0dBQXRELGlCQUFpQjttR0FBakIsaUJBQWlCLGlGQ3ZFOUIsc09BS0E7NEZEa0VhLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxxQ0FBcUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3JkZXJCeVBpcGUsIFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb2xsYXBzaWJsZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2NoaWxkcmVuLXBsYWNlaG9sZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdjaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW09yZGVyQnlQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hpbGRyZW5QbGFjZWhvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2hpbGRyZW4/OiBTZWN0aW9uW107XG5cbiAgcHVibGljIF9jaGlsZHJlbjogU2VjdGlvbltdID0gW107XG5cbiAgcHVibGljIHNlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBzdWIhOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VjdGlvblNjb3BlOiBTZWN0aW9uU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybVNjb3BlOiBGb3JtU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29sbGFwc2libGVTdGF0ZTogQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWN0aW9uID0gdGhpcy5zZWN0aW9uU2NvcGUuc2VjdGlvbjtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuXG4gICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLnNlY3Rpb24ubW9kZWwgPyB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuaXNDb2xsYXBzZWRTZWN0aW9uKHRoaXMuc2VjdGlvbi5tb2RlbC5pZCkgOiB0cnVlO1xuXG4gICAgdGhpcy5zdWIgPSB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuY29sbGFwc2VTZWN0aW9uRXZlbnQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgY29uc3QgbGluZUl0ZW1JZCA9IGVbMF07XG5cbiAgICAgIGlmICh0aGlzLnNlY3Rpb24ubW9kZWw/LmlkID09PSBsaW5lSXRlbUlkKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZVsxXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0Q2hpbGRyZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuIHx8IGNoYW5nZXMuY2hpbGRyZW4/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jaGlsZHJlbj8ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgdGhpcy5zZXRDaGlsZHJlbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDaGlsZHJlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPyB0aGlzLmNoaWxkcmVuIDogdGhpcy5zZWN0aW9uLmNoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAndGVtcGxhdGUtY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdjaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgQ2hpbGRyZW5QbGFjZWhvbGRlckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgX2NoaWxkcmVuXCI+XG4gICAgPHNlY3Rpb24tcmVuZGVyZXIgW3NlY3Rpb25dPVwiY2hpbGRcIiBbZm9ybV09XCJmb3JtXCIgKm5nSWY9XCIhY2hpbGQuaGlkZGVuXCI+PC9zZWN0aW9uLXJlbmRlcmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGRyZW4tcGxhY2Vob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9leGVjdXRpb24vY29tcG9uZW50cy9jaGlsZHJlbi1wbGFjZWhvbGRlci9jaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2NoaWxkcmVuLXBsYWNlaG9sZGVyL2NoaWxkcmVuLXBsYWNlaG9sZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBWXBELE1BQU0sT0FBTyw0QkFBNEI7SUFjdkMsWUFDVSxZQUFpQyxFQUNqQyxTQUEyQixFQUMzQixnQkFBeUM7UUFGekMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFiNUMsY0FBUyxHQUFjLEVBQUUsQ0FBQztRQVExQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTXRCLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRTdHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDbEUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhCLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSywwQ0FBRSxFQUFFLE1BQUssVUFBVSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7O1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUEsTUFBQSxPQUFPLENBQUMsUUFBUSwwQ0FBRSxZQUFZLE9BQUssTUFBQSxPQUFPLENBQUMsUUFBUSwwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUN4RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7MEhBakRVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLGlGQUY1QixDQUFDLFdBQVcsQ0FBQywrQ0NaMUIsc09BS0E7NEZEU2EsNEJBQTRCO2tCQU54QyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QjsrS0FHUSxRQUFRO3NCQURkLEtBQUs7O0FBd0RSLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSw0QkFBNEI7OytHQUF0RCxpQkFBaUI7bUdBQWpCLGlCQUFpQixpRkN2RTlCLHNPQUtBOzRGRGtFYSxpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUscUNBQXFDO2lCQUNuRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9yZGVyQnlQaXBlLCBTZWN0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb2xsYXBzaWJsZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2NoaWxkcmVuLXBsYWNlaG9sZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdjaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW09yZGVyQnlQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hpbGRyZW5QbGFjZWhvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2hpbGRyZW4/OiBTZWN0aW9uW107XG5cbiAgcHVibGljIF9jaGlsZHJlbjogU2VjdGlvbltdID0gW107XG5cbiAgcHVibGljIHNlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBzdWIhOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VjdGlvblNjb3BlOiBTZWN0aW9uU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybVNjb3BlOiBGb3JtU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29sbGFwc2libGVTdGF0ZTogQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWN0aW9uID0gdGhpcy5zZWN0aW9uU2NvcGUuc2VjdGlvbjtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuXG4gICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLnNlY3Rpb24ubW9kZWwgPyB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuaXNDb2xsYXBzZWRTZWN0aW9uKHRoaXMuc2VjdGlvbi5tb2RlbC5pZCkgOiB0cnVlO1xuXG4gICAgdGhpcy5zdWIgPSB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuY29sbGFwc2VTZWN0aW9uRXZlbnQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgY29uc3QgbGluZUl0ZW1JZCA9IGVbMF07XG5cbiAgICAgIGlmICh0aGlzLnNlY3Rpb24ubW9kZWw/LmlkID09PSBsaW5lSXRlbUlkKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZVsxXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0Q2hpbGRyZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuIHx8IGNoYW5nZXMuY2hpbGRyZW4/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jaGlsZHJlbj8ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgdGhpcy5zZXRDaGlsZHJlbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDaGlsZHJlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPyB0aGlzLmNoaWxkcmVuIDogdGhpcy5zZWN0aW9uLmNoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAndGVtcGxhdGUtY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdjaGlsZHJlbi1wbGFjZWhvbGRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgQ2hpbGRyZW5QbGFjZWhvbGRlckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgX2NoaWxkcmVuXCI+XG4gICAgPHNlY3Rpb24tcmVuZGVyZXIgW3NlY3Rpb25dPVwiY2hpbGRcIiBbZm9ybV09XCJmb3JtXCIgKm5nSWY9XCIhY2hpbGQuaGlkZGVuXCI+PC9zZWN0aW9uLXJlbmRlcmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, Inject, Input } from '@angular/core';
2
- import { RuntimeModel } from '@veloceapps/core';
2
+ import { RuntimeModel } from '@veloce/core';
3
3
  import { RuntimeService } from '../../../services/runtime.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../../services/runtime.service";
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
33
33
  }], products: [{
34
34
  type: Input
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wcm92aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2NvbnRleHQtcHJvdmlkZXIvY29udGV4dC1wcm92aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQStCLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUE0QyxjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFIMUQsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFpQyxFQUFFLENBQUM7SUFFaUIsQ0FBQztJQUV2RSxRQUFRO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixpQ0FDaEMsT0FBTyxLQUNWLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUM1RCxDQUFDO0lBQ0wsQ0FBQzs7c0hBakJVLHdCQUF3QixrQkFJZixjQUFjOzBHQUp2Qix3QkFBd0IsNkdBRnpCLEVBQUU7NEZBRUQsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFLYyxNQUFNOzJCQUFDLGNBQWM7NENBSGxCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdW50aW1lTW9kZWwsIFJ1bnRpbWVQcm9kdWN0LCBSdW50aW1lVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNvbnRleHQtcHJvdmlkZXInLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRQcm92aWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlczogUnVudGltZVR5cGVbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgcHJvZHVjdHM6IERpY3Rpb25hcnk8UnVudGltZVByb2R1Y3RbXT4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFJ1bnRpbWVTZXJ2aWNlKSBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQoKTtcblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc2V0UnVudGltZUNvbnRleHQoe1xuICAgICAgLi4uY29udGV4dCxcbiAgICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLmNyZWF0ZSh0aGlzLnR5cGVzLCB0aGlzLnByb2R1Y3RzKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wcm92aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2NvbnRleHQtcHJvdmlkZXIvY29udGV4dC1wcm92aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBZSxZQUFZLEVBQStCLE1BQU0sY0FBYyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBTW5FLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBNEMsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSDFELFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBQzFDLGFBQVEsR0FBaUMsRUFBRSxDQUFDO0lBRWlCLENBQUM7SUFFdkUsUUFBUTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV4RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsaUNBQ2hDLE9BQU8sS0FDVixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFDNUQsQ0FBQztJQUNMLENBQUM7O3NIQWpCVSx3QkFBd0Isa0JBSWYsY0FBYzswR0FKdkIsd0JBQXdCLDZHQUZ6QixFQUFFOzRGQUVELHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtpQkFDYjs7MEJBS2MsTUFBTTsyQkFBQyxjQUFjOzRDQUhsQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdFR5cGUsIFJ1bnRpbWVNb2RlbCwgUnVudGltZVByb2R1Y3QsIFJ1bnRpbWVUeXBlIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jb250ZXh0LXByb3ZpZGVyJyxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0UHJvdmlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZXM6IChSdW50aW1lVHlwZSB8IFByb2R1Y3RUeXBlKVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9kdWN0czogRGljdGlvbmFyeTxSdW50aW1lUHJvZHVjdFtdPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUnVudGltZVNlcnZpY2UpIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5ydW50aW1lU2VydmljZS5nZXRSdW50aW1lQ29udGV4dCgpO1xuXG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zZXRSdW50aW1lQ29udGV4dCh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwuY3JlYXRlKHRoaXMudHlwZXMsIHRoaXMucHJvZHVjdHMpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
69
69
  type: ViewChild,
70
70
  args: ['container', { read: ViewContainerRef, static: true }]
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLXNlY3Rpb24tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9leGVjdXRpb24vY29tcG9uZW50cy9leGVjdXRpb24tc2VjdGlvbi1yZW5kZXJlci9leGVjdXRpb24tc2VjdGlvbi1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyL2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFVOUUsTUFBTSxPQUFPLGlDQUFpQztJQWdCNUMsWUFDVSxTQUFtQixFQUNuQixFQUFvQixFQUNwQixZQUFpQyxFQUNqQyxZQUFpQztRQUhqQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFNbkMsaUJBQVksR0FBNkIsSUFBSSxDQUFDO0lBTG5ELENBQUM7SUFsQkosSUFDVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQWlCTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxlQUFlOztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQUEsTUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsMENBQUUsT0FBTyxFQUFFLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU0sYUFBYTs7UUFDbEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ25ELFdBQVcsRUFDWCxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLDBDQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7K0hBaEVVLGlDQUFpQzttSEFBakMsaUNBQWlDLHlGQUZqQyxDQUFDLG1CQUFtQixDQUFDLDZHQXlCQSxnQkFBZ0IsMkNDL0NsRCx3Q0FBc0M7NEZEd0J6QixpQ0FBaUM7a0JBUDdDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsMkNBQTJDO29CQUN4RCxTQUFTLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDeEQsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOzZMQUtZLE9BQU87c0JBRGpCLEtBQUs7Z0JBV0MsSUFBSTtzQkFEVixLQUFLO2dCQVdDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb25TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblN0b3JlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc3RvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3NlY3Rpb24tcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJ2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NlY3Rpb25TY29wZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBFeGVjdXRpb25TZWN0aW9uUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3NlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VjdGlvbih2YWx1ZTogU2VjdGlvbikge1xuICAgIHRoaXMuX3NlY3Rpb24gPSB2YWx1ZTtcbiAgICB0aGlzLnNlY3Rpb25TY29wZS5zZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY3Rpb24oKTogU2VjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY3Rpb247XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfbTogTmdNb2R1bGVSZWY8YW55PixcbiAgICBwcml2YXRlIHNlY3Rpb25TY29wZTogU2VjdGlvblNjb3BlU2VydmljZSxcbiAgICBwcml2YXRlIHNlY3Rpb25TdG9yZTogU2VjdGlvblN0b3JlU2VydmljZSxcbiAgKSB7fVxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlclNlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnNlY3Rpb25TY29wZS50ZW1wbGF0ZXMubmV4dCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZVsndGVtcGxhdGVzJ10/LnRvQXJyYXkoKSA/PyBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW5kZXJTZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLnNlY3Rpb25TdG9yZS5nZXRDb21wb25lbnRGYWN0b3J5KHRoaXMuX3NlY3Rpb24pO1xuICAgIGlmICghY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IsIFtdLCBudWxsLCB0aGlzLl9tKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdzZWN0aW9uSWQnLFxuICAgICAgYCR7dGhpcy5fc2VjdGlvbi5tb2RlbD8uaWR9JHt0aGlzLl9zZWN0aW9uLmxhYmVsfWAsXG4gICAgKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZVsnZm9ybSddID0gdGhpcy5mb3JtO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlWydzZWN0aW9uJ10gPSB0aGlzLnNlY3Rpb247XG4gICAgdGhpcy5jb250YWluZXIuaW5zZXJ0KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250YWluZXI+PC9uZy10ZW1wbGF0ZT4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLXNlY3Rpb24tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9leGVjdXRpb24vY29tcG9uZW50cy9leGVjdXRpb24tc2VjdGlvbi1yZW5kZXJlci9leGVjdXRpb24tc2VjdGlvbi1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyL2V4ZWN1dGlvbi1zZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFVOUUsTUFBTSxPQUFPLGlDQUFpQztJQWdCNUMsWUFDVSxTQUFtQixFQUNuQixFQUFvQixFQUNwQixZQUFpQyxFQUNqQyxZQUFpQztRQUhqQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFNbkMsaUJBQVksR0FBNkIsSUFBSSxDQUFDO0lBTG5ELENBQUM7SUFsQkosSUFDVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQWlCTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxlQUFlOztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQUEsTUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsMENBQUUsT0FBTyxFQUFFLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU0sYUFBYTs7UUFDbEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ25ELFdBQVcsRUFDWCxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLDBDQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7K0hBaEVVLGlDQUFpQzttSEFBakMsaUNBQWlDLHlGQUZqQyxDQUFDLG1CQUFtQixDQUFDLDZHQXlCQSxnQkFBZ0IsMkNDL0NsRCx3Q0FBc0M7NEZEd0J6QixpQ0FBaUM7a0JBUDdDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsMkNBQTJDO29CQUN4RCxTQUFTLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDeEQsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOzZMQUtZLE9BQU87c0JBRGpCLEtBQUs7Z0JBV0MsSUFBSTtzQkFEVixLQUFLO2dCQVdDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2VjdGlvbi1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnc2VjdGlvbi1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnZXhlY3V0aW9uLXNlY3Rpb24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZXhlY3V0aW9uLXNlY3Rpb24tcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2VjdGlvblNjb3BlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEV4ZWN1dGlvblNlY3Rpb25SZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfc2VjdGlvbiE6IFNlY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWN0aW9uKHZhbHVlOiBTZWN0aW9uKSB7XG4gICAgdGhpcy5fc2VjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuc2VjdGlvblNjb3BlLnNlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VjdGlvbigpOiBTZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9tOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgc2VjdGlvblNjb3BlOiBTZWN0aW9uU2NvcGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VjdGlvblN0b3JlOiBTZWN0aW9uU3RvcmVTZXJ2aWNlLFxuICApIHt9XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyU2VjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuc2VjdGlvblNjb3BlLnRlbXBsYXRlcy5uZXh0KHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlWyd0ZW1wbGF0ZXMnXT8udG9BcnJheSgpID8/IFtdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbmRlclNlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuc2VjdGlvblN0b3JlLmdldENvbXBvbmVudEZhY3RvcnkodGhpcy5fc2VjdGlvbik7XG4gICAgaWYgKCFjb21wb25lbnRGYWN0b3J5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3RvciwgW10sIG51bGwsIHRoaXMuX20pO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3NlY3Rpb25JZCcsXG4gICAgICBgJHt0aGlzLl9zZWN0aW9uLm1vZGVsPy5pZH0ke3RoaXMuX3NlY3Rpb24ubGFiZWx9YCxcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlWydmb3JtJ10gPSB0aGlzLmZvcm07XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2VbJ3NlY3Rpb24nXSA9IHRoaXMuc2VjdGlvbjtcbiAgICB0aGlzLmNvbnRhaW5lci5pbnNlcnQodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRhaW5lcj48L25nLXRlbXBsYXRlPiJdfQ==
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
78
78
  }], integrationEvent: [{
79
79
  type: Output
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvZmVkZXJhdGVkL2ZlZGVyYXRlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2ZlZGVyYXRlZC9mZWRlcmF0ZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEVBR04sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlELElBQUssZ0JBRUo7QUFGRCxXQUFLLGdCQUFnQjtJQUNuQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUZJLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFFcEI7QUF5QkQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxRQUFrQixFQUNsQixRQUFrQixFQUNsQixNQUFzQixFQUN0QixRQUFtQjtRQUhuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVZYLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO1FBRTFFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBU3hCLENBQUM7SUFFRyxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7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bmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBpbGVyLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZmVkZXJhdGVkLnV0aWwnO1xuXG5lbnVtIEludGVncmF0aW9uRXZlbnQge1xuICBJbml0ID0gJ0luaXQnLFxufVxuXG5pbnRlcmZhY2UgSW5wdXREYXRhIHtcbiAgcm9vdExpbmVJdGVtOiBMaW5lSXRlbTtcbn1cblxuaW50ZXJmYWNlIEludGVncmF0aW9uRXZlbnRQYXlsb2FkIHtcbiAgdHlwZTogSW50ZWdyYXRpb25FdmVudDtcbiAgcGF5bG9hZD86IHVua25vd247XG59XG5cbmludGVyZmFjZSBJbmVncmF0aW9uQ29tcG9uZW50SW5zdGFuY2UgZXh0ZW5kcyBPbkNoYW5nZXMge1xuICBpbnRlZ3JhdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8SW50ZWdyYXRpb25FdmVudFBheWxvYWQ+O1xuICBpbnRlZ3JhdGlvbkFwcFJlZjogQXBwbGljYXRpb25SZWY7XG4gIGRhdGE/OiBJbnB1dERhdGE7XG4gIGV2ZW50RGF0YT86IEludGVncmF0aW9uRXZlbnRQYXlsb2FkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICd2ZWxvY2UtaG9zdC1mZWRlcmF0ZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVkZXJhdGVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVkZXJhdGVkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGZWRlcmF0ZWRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKCdmZWRlcmF0ZWRDb21wb25lbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGZlZGVyYXRlZENvbXBvbmVudD86IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoJ2ZvbycsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgcHVibGljIGZvbz86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICBAVmlld0NoaWxkKCdtb2R1bGVIb3N0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBtb2R1bGVIb3N0UmVmPzogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBwdWJsaWMgcmVtb3RlRW50cnk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW1vdGVOYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZXhwb3NlZE1vZHVsZT86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRhdGE/OiBJbnB1dERhdGE7XG4gIEBJbnB1dCgpIHB1YmxpYyBldmVudERhdGE/OiBJbnRlZ3JhdGlvbkV2ZW50UGF5bG9hZDtcbiAgQE91dHB1dCgpIHByaXZhdGUgaW50ZWdyYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZWdyYXRpb25FdmVudFBheWxvYWQ+KCk7XG5cbiAgcHVibGljIG1vZHVsZVJlYWR5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpbnN0YW5jZT86IEluZWdyYXRpb25Db21wb25lbnRJbnN0YW5jZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlcixcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVtb3RlRW50cnkgfHwgIXRoaXMucmVtb3RlTmFtZSB8fCAhdGhpcy5leHBvc2VkTW9kdWxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbG9hZFJlbW90ZU1vZHVsZSh7XG4gICAgICByZW1vdGVFbnRyeTogdGhpcy5yZW1vdGVFbnRyeSxcbiAgICAgIHJlbW90ZU5hbWU6IHRoaXMucmVtb3RlTmFtZSxcbiAgICAgIGV4cG9zZWRNb2R1bGU6IHRoaXMuZXhwb3NlZE1vZHVsZSxcbiAgICB9KS50aGVuKGZlZGVyYXRlZCA9PiB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhmZWRlcmF0ZWRbdGhpcy5leHBvc2VkTW9kdWxlIGFzIHN0cmluZ10pLnRoZW4obW9kdWxlRmFjdG9yeSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3RNb2R1bGVSZWYgPSBtb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY29uc3Qgcm9vdENvbXBvbmVudEZhY3RvcnkgPSByb290TW9kdWxlUmVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgICBmZWRlcmF0ZWRbdGhpcy5leHBvc2VkTW9kdWxlIGFzIHN0cmluZ10ucm9vdENvbXBvbmVudCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCB7IGluc3RhbmNlLCBob3N0VmlldyB9ID0gcm9vdENvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IsIFtdLCBub2RlKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2UgYXMgSW5lZ3JhdGlvbkNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICB0aGlzLmluc3RhbmNlLmRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZXZlbnREYXRhID0gdGhpcy5ldmVudERhdGE7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuaW50ZWdyYXRpb25FdmVudCA9IHRoaXMuaW50ZWdyYXRpb25FdmVudDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubW9kdWxlSG9zdFJlZj8ubmF0aXZlRWxlbWVudCwgbm9kZSk7XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoaG9zdFZpZXcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5zdGFuY2UubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gIH1cbn1cbiIsIjxkaXYgI21vZHVsZUhvc3Q+PC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvZmVkZXJhdGVkL2ZlZGVyYXRlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL2ZlZGVyYXRlZC9mZWRlcmF0ZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEVBR04sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlELElBQUssZ0JBRUo7QUFGRCxXQUFLLGdCQUFnQjtJQUNuQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUZJLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFFcEI7QUF5QkQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxRQUFrQixFQUNsQixRQUFrQixFQUNsQixNQUFzQixFQUN0QixRQUFtQjtRQUhuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVZYLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO1FBRTFFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBU3hCLENBQUM7SUFFRyxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7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bmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBpbGVyLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICcuLi8uLi91dGlscy9mZWRlcmF0ZWQudXRpbCc7XG5cbmVudW0gSW50ZWdyYXRpb25FdmVudCB7XG4gIEluaXQgPSAnSW5pdCcsXG59XG5cbmludGVyZmFjZSBJbnB1dERhdGEge1xuICByb290TGluZUl0ZW06IExpbmVJdGVtO1xufVxuXG5pbnRlcmZhY2UgSW50ZWdyYXRpb25FdmVudFBheWxvYWQge1xuICB0eXBlOiBJbnRlZ3JhdGlvbkV2ZW50O1xuICBwYXlsb2FkPzogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIEluZWdyYXRpb25Db21wb25lbnRJbnN0YW5jZSBleHRlbmRzIE9uQ2hhbmdlcyB7XG4gIGludGVncmF0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxJbnRlZ3JhdGlvbkV2ZW50UGF5bG9hZD47XG4gIGludGVncmF0aW9uQXBwUmVmOiBBcHBsaWNhdGlvblJlZjtcbiAgZGF0YT86IElucHV0RGF0YTtcbiAgZXZlbnREYXRhPzogSW50ZWdyYXRpb25FdmVudFBheWxvYWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3ZlbG9jZS1ob3N0LWZlZGVyYXRlZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWRlcmF0ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mZWRlcmF0ZWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZlZGVyYXRlZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2ZlZGVyYXRlZENvbXBvbmVudCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBwdWJsaWMgZmVkZXJhdGVkQ29tcG9uZW50PzogVmlld0NvbnRhaW5lclJlZjtcbiAgQFZpZXdDaGlsZCgnZm9vJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBwdWJsaWMgZm9vPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBWaWV3Q2hpbGQoJ21vZHVsZUhvc3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIG1vZHVsZUhvc3RSZWY/OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyByZW1vdGVFbnRyeT86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHJlbW90ZU5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBleHBvc2VkTW9kdWxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YT86IElucHV0RGF0YTtcbiAgQElucHV0KCkgcHVibGljIGV2ZW50RGF0YT86IEludGVncmF0aW9uRXZlbnRQYXlsb2FkO1xuICBAT3V0cHV0KCkgcHJpdmF0ZSBpbnRlZ3JhdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnRlZ3JhdGlvbkV2ZW50UGF5bG9hZD4oKTtcblxuICBwdWJsaWMgbW9kdWxlUmVhZHkgPSBmYWxzZTtcblxuICBwcml2YXRlIGluc3RhbmNlPzogSW5lZ3JhdGlvbkNvbXBvbmVudEluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZW1vdGVFbnRyeSB8fCAhdGhpcy5yZW1vdGVOYW1lIHx8ICF0aGlzLmV4cG9zZWRNb2R1bGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2FkUmVtb3RlTW9kdWxlKHtcbiAgICAgIHJlbW90ZUVudHJ5OiB0aGlzLnJlbW90ZUVudHJ5LFxuICAgICAgcmVtb3RlTmFtZTogdGhpcy5yZW1vdGVOYW1lLFxuICAgICAgZXhwb3NlZE1vZHVsZTogdGhpcy5leHBvc2VkTW9kdWxlLFxuICAgIH0pLnRoZW4oZmVkZXJhdGVkID0+IHtcbiAgICAgIHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKGZlZGVyYXRlZFt0aGlzLmV4cG9zZWRNb2R1bGUgYXMgc3RyaW5nXSkudGhlbihtb2R1bGVGYWN0b3J5ID0+IHtcbiAgICAgICAgY29uc3Qgcm9vdE1vZHVsZVJlZiA9IG1vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCByb290Q29tcG9uZW50RmFjdG9yeSA9IHJvb3RNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgICAgIGZlZGVyYXRlZFt0aGlzLmV4cG9zZWRNb2R1bGUgYXMgc3RyaW5nXS5yb290Q29tcG9uZW50LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnN0IHsgaW5zdGFuY2UsIGhvc3RWaWV3IH0gPSByb290Q29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3RvciwgW10sIG5vZGUpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZSBhcyBJbmVncmF0aW9uQ29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudERhdGEgPSB0aGlzLmV2ZW50RGF0YTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5pbnRlZ3JhdGlvbkV2ZW50ID0gdGhpcy5pbnRlZ3JhdGlvbkV2ZW50O1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5tb2R1bGVIb3N0UmVmPy5uYXRpdmVFbGVtZW50LCBub2RlKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhob3N0Vmlldyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YW5jZS5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxufVxuIiwiPGRpdiAjbW9kdWxlSG9zdD48L2Rpdj5cbiJdfQ==
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
77
77
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; }, propDecorators: { showSelectAll: [{
78
78
  type: Input
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1wb3J0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvdmVsby1wb3J0LWNoZWNrYm94L3ZlbG8tcG9ydC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tcG9ydC1jaGVja2JveC92ZWxvLXBvcnQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLHlCQUF5QjtJQVFwQyxZQUFvQixTQUEyQixFQUFVLFlBQWlDOztRQUF0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUYxRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUdwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUVuQyxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSwwQ0FBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMs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LENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3hHLENBQUM7SUFDSixDQUFDOzt1SEF6RVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsc0dDYnRDLGs5RkE4RUE7NEZEakVhLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxtQ0FBbUM7aUJBQ2pEO3lJQU9pQixhQUFhO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjdGlvbnNCaW5kZXJIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zZWN0aW9ucy1iaW5kZXIuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAndmVsby1wb3J0LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICd2ZWxvLXBvcnQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBWZWxvUG9ydENoZWNrQm94Q29tcG9uZW50IHtcbiAgcHVibGljIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIHNlY3Rpb246IFNlY3Rpb247XG5cbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxlY3RBbGwgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1TY29wZTogRm9ybVNjb3BlU2VydmljZSwgcHJpdmF0ZSBzZWN0aW9uU2NvcGU6IFNlY3Rpb25TY29wZVNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuICAgIHRoaXMuc2VjdGlvbiA9IHRoaXMuc2VjdGlvblNjb3BlLnNlY3Rpb247XG5cbiAgICB0aGlzLmNvbnRyb2xOYW1lID0gdGhpcy5zZWN0aW9uLmlkO1xuXG4gICAgdGhpcy5zZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNWYWx1ZUZvcihpdGVtKSkge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5jb250cm9sTmFtZV0uc2V0VmFsdWUoaXRlbSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB1cGRhdGVEYXRhOiBVcGRhdGVEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuc2VjdGlvbi5pZCxcbiAgICAgIGFjdGlvbjogdGhpcy5oYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbilcbiAgICAgICAgPyAncmVtb3ZlJ1xuICAgICAgICA6IHRoaXMuc2VjdGlvbi5tb2RlbCAmJiBTZWN0aW9uc0JpbmRlckhlbHBlci5pc0FkZEFsbG93ZWQodGhpcy5zZWN0aW9uLm1vZGVsLCB0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWUpXG4gICAgICAgID8gJ2NyZWF0ZSdcbiAgICAgICAgOiAndXBkYXRlJyxcbiAgICAgIHZhbHVlT3B0aW9uLFxuICAgIH07XG5cbiAgICB0aGlzLmZvcm1TY29wZS5wdWJsaXNoRm9ybVVwZGF0ZSh1cGRhdGVEYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh2YWx1ZU9wdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsQ2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLnNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3RoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICBjb25zdCB1cGRhdGVEYXRhOiBVcGRhdGVEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuc2VjdGlvbi5pZCxcbiAgICAgIGFjdGlvbjogJ3Vwc2VydCcsXG4gICAgICBzZWxlY3RlZFZhbHVlT3B0aW9uczogdGhpcy5pc0FsbFNlbGVjdGVkKCkgPyBbXSA6IHBvcnREb21haW4gPyBwb3J0RG9tYWluLmRvbWFpblR5cGVzLm1hcCh0ID0+IHQubmFtZSkgOiBbXSxcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtU2NvcGUucHVibGlzaEZvcm1VcGRhdGUodXBkYXRlRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWxlY3RlZDogTGluZUl0ZW1bXSB8IHVuZGVmaW5lZCA9IHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zLmZpbHRlcihcbiAgICAgIGxpID0+IGxpLnBvcnQgJiYgbGkucG9ydCA9PT0gdGhpcy5zZWN0aW9uLmJvdW5kRGF0YS5uYW1lLFxuICAgICk7XG5cbiAgICBjb25zdCBwb3J0RG9tYWluID0gdGhpcy5zZWN0aW9uLm1vZGVsPy5wb3J0RG9tYWluc1t0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgcmV0dXJuIHBvcnREb21haW4gPyBwb3J0RG9tYWluLmRvbWFpblR5cGVzLmxlbmd0aCA9PT0gc2VsZWN0ZWQ/Lmxlbmd0aCA6IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldE1lc3NhZ2VzKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh2YWx1ZU9wdGlvbik/Lm1lc3NhZ2VzID8/IFtdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zICYmXG4gICAgICB0aGlzLnNlY3Rpb24ubW9kZWwubGluZUl0ZW1zLmZpbmQobGkgPT4gbGkudHlwZSAmJiBsaS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCkpXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPCEtLVRPRE8gQUxFIHJlcGxhY2UgZGl2cyB3aXRoIG5nLXRlbXBsYXRlcy0tPlxuICA8ZGl2ICpuZ0lmPVwic2hvd1NlbGVjdEFsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbm8tZ3V0dGVyIGNsZWFyZml4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1ib3ggY29udGFpbmVyLWJveC1ib3JkZXJlZCBjb250YWluZXItYm94LWNoZWNrYm94IGNvbGxhcHNlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGNsZWFyZml4XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LXNlbGVjdFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGxDaGFuZ2UoKVwiIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpbnB1dC1oZWxwZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIFNlbGVjdCBBbGxcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWx1ZU9wdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cInVuY2hlY2tlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBuby1ndXR0ZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJveCBjb250YWluZXItYm94LWJvcmRlcmVkIGNvbnRhaW5lci1ib3gtY2hlY2tib3ggY29sbGFwc2VkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtdGl0bGVcIiAoY2xpY2spPVwiaGFuZGxlQ2hhbmdlKHZhbHVlT3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jaGVja2JveC0tY2hlY2tlZF09XCJ2YWx1ZU9wdGlvbiA9PT0gZm9ybS5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImlucHV0LWhlbHBlclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24uc2VjdGlvblZhbHVlPy5kaXNwbGF5VmFsdWVzPy5bdmFsdWVPcHRpb25dIHx8IHZhbHVlT3B0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1hY3Rpb25zXCIgKm5nSWY9XCJoYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbXNnVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydW50aW1lLWluZm8tbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm1lc3NhZ2UtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGdldE1lc3NhZ2VzKHZhbHVlT3B0aW9uKVwiPnt7IG1lc3NhZ2UgfX08L2xpPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJib3gtYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0TWVzc2FnZXModmFsdWVPcHRpb24pLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICBbcG9wb3Zlcl09XCJtc2dUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzT3Blbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8gY2hlY2staWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtY29udGVudFwiPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1wb3J0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvdmVsby1wb3J0LWNoZWNrYm94L3ZlbG8tcG9ydC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tcG9ydC1jaGVja2JveC92ZWxvLXBvcnQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLHlCQUF5QjtJQVFwQyxZQUFvQixTQUEyQixFQUFVLFlBQWlDOztRQUF0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUYxRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUdwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUVuQyxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSwwQ0FBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMs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LENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3hHLENBQUM7SUFDSixDQUFDOzt1SEF6RVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsc0dDYnRDLGs5RkE4RUE7NEZEakVhLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxtQ0FBbUM7aUJBQ2pEO3lJQU9pQixhQUFhO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRm9ybVNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2VjdGlvbi1zY29wZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwZGF0ZURhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBTZWN0aW9uc0JpbmRlckhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NlY3Rpb25zLWJpbmRlci5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICd2ZWxvLXBvcnQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJ3ZlbG8tcG9ydC1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFZlbG9Qb3J0Q2hlY2tCb3hDb21wb25lbnQge1xuICBwdWJsaWMgY29udHJvbE5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VjdGlvbjogU2VjdGlvbjtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlbGVjdEFsbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybVNjb3BlOiBGb3JtU2NvcGVTZXJ2aWNlLCBwcml2YXRlIHNlY3Rpb25TY29wZTogU2VjdGlvblNjb3BlU2VydmljZSkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNjb3BlLmZvcm07XG4gICAgdGhpcy5zZWN0aW9uID0gdGhpcy5zZWN0aW9uU2NvcGUuc2VjdGlvbjtcblxuICAgIHRoaXMuY29udHJvbE5hbWUgPSB0aGlzLnNlY3Rpb24uaWQ7XG5cbiAgICB0aGlzLnNlY3Rpb24uc2VjdGlvblZhbHVlPy52YWx1ZU9wdGlvbnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc1ZhbHVlRm9yKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmNvbnRyb2xOYW1lXS5zZXRWYWx1ZShpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDaGFuZ2UodmFsdWVPcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHVwZGF0ZURhdGE6IFVwZGF0ZURhdGEgPSB7XG4gICAgICBpZDogdGhpcy5zZWN0aW9uLmlkLFxuICAgICAgYWN0aW9uOiB0aGlzLmhhc1ZhbHVlRm9yKHZhbHVlT3B0aW9uKVxuICAgICAgICA/ICdyZW1vdmUnXG4gICAgICAgIDogdGhpcy5zZWN0aW9uLm1vZGVsICYmIFNlY3Rpb25zQmluZGVySGVscGVyLmlzQWRkQWxsb3dlZCh0aGlzLnNlY3Rpb24ubW9kZWwsIHRoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZSlcbiAgICAgICAgPyAnY3JlYXRlJ1xuICAgICAgICA6ICd1cGRhdGUnLFxuICAgICAgdmFsdWVPcHRpb24sXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybVNjb3BlLnB1Ymxpc2hGb3JtVXBkYXRlKHVwZGF0ZURhdGEpO1xuICB9XG5cbiAgcHVibGljIGhhc1ZhbHVlRm9yKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGxDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcG9ydERvbWFpbiA9IHRoaXMuc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbdGhpcy5zZWN0aW9uLmJvdW5kRGF0YS5uYW1lXTtcblxuICAgIGNvbnN0IHVwZGF0ZURhdGE6IFVwZGF0ZURhdGEgPSB7XG4gICAgICBpZDogdGhpcy5zZWN0aW9uLmlkLFxuICAgICAgYWN0aW9uOiAndXBzZXJ0JyxcbiAgICAgIHNlbGVjdGVkVmFsdWVPcHRpb25zOiB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/IFtdIDogcG9ydERvbWFpbiA/IHBvcnREb21haW4uZG9tYWluVHlwZXMubWFwKHQgPT4gdC5uYW1lKSA6IFtdLFxuICAgIH07XG5cbiAgICB0aGlzLmZvcm1TY29wZS5wdWJsaXNoRm9ybVVwZGF0ZSh1cGRhdGVEYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBMaW5lSXRlbVtdIHwgdW5kZWZpbmVkID0gdGhpcy5zZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMuZmlsdGVyKFxuICAgICAgbGkgPT4gbGkucG9ydCAmJiBsaS5wb3J0ID09PSB0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWUsXG4gICAgKTtcblxuICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLnNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3RoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICByZXR1cm4gcG9ydERvbWFpbiA/IHBvcnREb21haW4uZG9tYWluVHlwZXMubGVuZ3RoID09PSBzZWxlY3RlZD8ubGVuZ3RoIDogZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVzc2FnZXModmFsdWVPcHRpb246IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBpZiAodGhpcy5zZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uKT8ubWVzc2FnZXMgPz8gW107XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExpbmVJdGVtRm9yVmFsdWUodmFsdWVPcHRpb246IHN0cmluZyk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMgJiZcbiAgICAgIHRoaXMuc2VjdGlvbi5tb2RlbC5saW5lSXRlbXMuZmluZChsaSA9PiBsaS50eXBlICYmIGxpLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVPcHRpb24udG9Mb3dlckNhc2UoKSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8IS0tVE9ETyBBTEUgcmVwbGFjZSBkaXZzIHdpdGggbmctdGVtcGxhdGVzLS0+XG4gIDxkaXYgKm5nSWY9XCJzaG93U2VsZWN0QWxsXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBuby1ndXR0ZXIgY2xlYXJmaXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJveCBjb250YWluZXItYm94LWJvcmRlcmVkIGNvbnRhaW5lci1ib3gtY2hlY2tib3ggY29sbGFwc2VkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cInNlbGVjdEFsbENoYW5nZSgpXCIgW2NoZWNrZWRdPVwiaXNBbGxTZWxlY3RlZCgpXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImlucHV0LWhlbHBlclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgU2VsZWN0IEFsbFxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nRm9yPVwibGV0IHZhbHVlT3B0aW9uIG9mIHNlY3Rpb24uc2VjdGlvblZhbHVlPy52YWx1ZU9wdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5jaGVja2VkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG5vLWd1dHRlciBjbGVhcmZpeFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItYm94IGNvbnRhaW5lci1ib3gtYm9yZGVyZWQgY29udGFpbmVyLWJveC1jaGVja2JveCBjb2xsYXBzZWRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC10aXRsZVwiIChjbGljayk9XCJoYW5kbGVDaGFuZ2UodmFsdWVPcHRpb24pXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBjbGVhcmZpeFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LXNlbGVjdFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNoZWNrYm94LS1jaGVja2VkXT1cInZhbHVlT3B0aW9uID09PSBmb3JtLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaW5wdXQtaGVscGVyXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIHt7c2VjdGlvbi5zZWN0aW9uVmFsdWU/LmRpc3BsYXlWYWx1ZXM/Llt2YWx1ZU9wdGlvbl0gfHwgdmFsdWVPcHRpb259fVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWFjdGlvbnNcIiAqbmdJZj1cImhhc1ZhbHVlRm9yKHZhbHVlT3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtc2dUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJ1bnRpbWUtaW5mby1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWVzc2FnZS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgZ2V0TWVzc2FnZXModmFsdWVPcHRpb24pXCI+e3sgbWVzc2FnZSB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJveC1hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRNZXNzYWdlcyh2YWx1ZU9wdGlvbikubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIFtwb3BvdmVyXT1cIm1zZ1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBbaXNPcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mbyBjaGVjay1pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtY29udGVudC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1jb250ZW50XCI+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=