@veloceapps/sdk 11.0.0-6 → 11.0.0-60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/cms/cms.actions.d.ts +92 -29
  2. package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
  3. package/cms/services/element-context.service.d.ts +0 -1
  4. package/cms/types/common.types.d.ts +2 -0
  5. package/cms/types/index.d.ts +0 -1
  6. package/cms/utils/path.utils.d.ts +1 -2
  7. package/cms/vendor-map.d.ts +17 -40
  8. package/core/index.d.ts +1 -1
  9. package/core/modules/configuration/index.d.ts +3 -4
  10. package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -19
  11. package/core/modules/configuration/services/configuration-state.service.d.ts +8 -8
  12. package/core/modules/configuration/services/configuration.service.d.ts +23 -47
  13. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +23 -0
  14. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
  15. package/core/modules/configuration/types/configuration.types.d.ts +4 -2
  16. package/core/modules/configuration/types/index.d.ts +2 -0
  17. package/core/modules/flow-configuration/index.d.ts +0 -3
  18. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -38
  19. package/core/operators/filter-successful-execute.operator.d.ts +3 -0
  20. package/core/operators/index.d.ts +1 -0
  21. package/core/services/catalog-products.service.d.ts +11 -0
  22. package/core/services/flow-info.service.d.ts +27 -12
  23. package/core/services/flow-state-configuration.service.d.ts +2 -8
  24. package/core/services/flow-state.service.d.ts +13 -22
  25. package/core/services/index.d.ts +3 -3
  26. package/core/services/integration.state.d.ts +1 -1
  27. package/core/services/product-images.service.d.ts +3 -3
  28. package/core/services/runtime-settings.service.d.ts +1 -1
  29. package/core/services/sales-transaction.service.d.ts +27 -0
  30. package/core/types/flow-customization.types.d.ts +2 -2
  31. package/core/types/flow-state.types.d.ts +2 -2
  32. package/core/types/index.d.ts +0 -1
  33. package/core/utils/index.d.ts +2 -2
  34. package/core/utils/transaction-item.utils.d.ts +7 -0
  35. package/core/utils/transaction-item.worker.d.ts +8 -0
  36. package/esm2020/cms/cms.actions.mjs +93 -71
  37. package/esm2020/cms/cms.default.mjs +2 -3
  38. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
  39. package/esm2020/cms/components/preview/preview.component.mjs +3 -3
  40. package/esm2020/cms/services/element-context.service.mjs +1 -1
  41. package/esm2020/cms/types/common.types.mjs +1 -1
  42. package/esm2020/cms/types/index.mjs +1 -2
  43. package/esm2020/cms/utils/element.utils.mjs +3 -3
  44. package/esm2020/cms/utils/elements-resolver.mjs +16 -5
  45. package/esm2020/cms/utils/path.utils.mjs +1 -10
  46. package/esm2020/cms/vendor-map.mjs +17 -18
  47. package/esm2020/core/core.module.mjs +7 -7
  48. package/esm2020/core/index.mjs +2 -2
  49. package/esm2020/core/modules/configuration/configuration.module.mjs +14 -4
  50. package/esm2020/core/modules/configuration/index.mjs +4 -5
  51. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -101
  52. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +65 -77
  53. package/esm2020/core/modules/configuration/services/configuration.service.mjs +104 -223
  54. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +74 -0
  55. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  56. package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
  57. package/esm2020/core/modules/configuration/types/index.mjs +3 -0
  58. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
  59. package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
  60. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +44 -128
  61. package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
  62. package/esm2020/core/operators/index.mjs +2 -0
  63. package/esm2020/core/services/catalog-products.service.mjs +25 -0
  64. package/esm2020/core/services/flow-info.service.mjs +82 -31
  65. package/esm2020/core/services/flow-state-configuration.service.mjs +10 -25
  66. package/esm2020/core/services/flow-state.service.mjs +60 -172
  67. package/esm2020/core/services/index.mjs +4 -4
  68. package/esm2020/core/services/integration.state.mjs +2 -2
  69. package/esm2020/core/services/product-images.service.mjs +8 -8
  70. package/esm2020/core/services/runtime-settings.service.mjs +3 -3
  71. package/esm2020/core/services/sales-transaction.service.mjs +62 -0
  72. package/esm2020/core/types/flow-customization.types.mjs +1 -1
  73. package/esm2020/core/types/flow-state.types.mjs +1 -1
  74. package/esm2020/core/types/index.mjs +1 -2
  75. package/esm2020/core/utils/index.mjs +3 -3
  76. package/esm2020/core/utils/transaction-item.utils.mjs +60 -0
  77. package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
  78. package/esm2020/src/components/flow-header/flow-header.component.mjs +8 -12
  79. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +8 -12
  80. package/esm2020/src/flow-routing.module.mjs +12 -41
  81. package/esm2020/src/flow.component.mjs +5 -5
  82. package/esm2020/src/guards/flow.guard.mjs +13 -14
  83. package/esm2020/src/guards/product-unload.guard.mjs +7 -9
  84. package/esm2020/src/index.mjs +1 -3
  85. package/esm2020/src/pages/assets/assets.component.mjs +8 -9
  86. package/esm2020/src/pages/catalog/catalog.component.mjs +8 -9
  87. package/esm2020/src/pages/debug/debug.component.mjs +14 -23
  88. package/esm2020/src/pages/product/product.component.mjs +12 -89
  89. package/esm2020/src/pages/product/product.module.mjs +5 -5
  90. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
  91. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +8 -9
  92. package/esm2020/src/resolvers/flow.resolver.mjs +10 -18
  93. package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
  94. package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
  95. package/esm2020/src/resolvers/ui-definition.resolver.mjs +42 -0
  96. package/esm2020/src/services/flow-dialog.service.mjs +8 -8
  97. package/esm2020/src/services/flow-router.service.mjs +16 -33
  98. package/esm2020/src/services/flow.service.mjs +13 -54
  99. package/esm2020/src/types/index.mjs +2 -3
  100. package/esm2020/src/types/route.types.mjs +1 -1
  101. package/fesm2015/veloceapps-sdk-cms.mjs +138 -275
  102. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  103. package/fesm2015/veloceapps-sdk-core.mjs +808 -1658
  104. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  105. package/fesm2015/veloceapps-sdk.mjs +188 -801
  106. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  107. package/fesm2020/veloceapps-sdk-cms.mjs +134 -267
  108. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  109. package/fesm2020/veloceapps-sdk-core.mjs +867 -1738
  110. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  111. package/fesm2020/veloceapps-sdk.mjs +188 -795
  112. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  113. package/package.json +1 -1
  114. package/src/components/flow-header/flow-header.component.d.ts +3 -3
  115. package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
  116. package/src/flow-routing.module.d.ts +1 -2
  117. package/src/flow.component.d.ts +2 -2
  118. package/src/guards/product-unload.guard.d.ts +5 -6
  119. package/src/index.d.ts +0 -2
  120. package/src/pages/assets/assets.component.d.ts +3 -3
  121. package/src/pages/catalog/catalog.component.d.ts +3 -3
  122. package/src/pages/debug/debug.component.d.ts +2 -5
  123. package/src/pages/product/product.component.d.ts +5 -14
  124. package/src/pages/product/product.module.d.ts +1 -1
  125. package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
  126. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  127. package/src/resolvers/flow.resolver.d.ts +5 -6
  128. package/src/resolvers/pcm-model.resolver.d.ts +3 -0
  129. package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
  130. package/src/resolvers/ui-definition.resolver.d.ts +3 -0
  131. package/src/services/flow-dialog.service.d.ts +5 -4
  132. package/src/services/flow-router.service.d.ts +4 -6
  133. package/src/services/flow.service.d.ts +2 -7
  134. package/src/types/index.d.ts +1 -2
  135. package/src/types/route.types.d.ts +0 -5
  136. package/cms/plugins/configuration.plugin.d.ts +0 -23
  137. package/cms/types/configuration.types.d.ts +0 -21
  138. package/core/modules/configuration/helpers.d.ts +0 -6
  139. package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
  140. package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
  141. package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
  142. package/core/services/context.service.d.ts +0 -23
  143. package/core/services/quote-draft.service.d.ts +0 -50
  144. package/core/types/runtime.types.d.ts +0 -30
  145. package/core/utils/line-item.utils.d.ts +0 -25
  146. package/core/utils/line-item.worker.d.ts +0 -9
  147. package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
  148. package/esm2020/cms/types/configuration.types.mjs +0 -2
  149. package/esm2020/core/modules/configuration/helpers.mjs +0 -73
  150. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
  151. package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
  152. package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
  153. package/esm2020/core/services/context.service.mjs +0 -91
  154. package/esm2020/core/services/quote-draft.service.mjs +0 -192
  155. package/esm2020/core/types/runtime.types.mjs +0 -16
  156. package/esm2020/core/utils/line-item.utils.mjs +0 -187
  157. package/esm2020/core/utils/line-item.worker.mjs +0 -19
  158. package/esm2020/src/guards/context.guard.mjs +0 -91
  159. package/esm2020/src/guards/index.mjs +0 -2
  160. package/esm2020/src/pages/remote/remote.component.mjs +0 -342
  161. package/esm2020/src/pages/remote/remote.module.mjs +0 -20
  162. package/esm2020/src/pages/remote/remote.types.mjs +0 -2
  163. package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
  164. package/esm2020/src/types/context-route.types.mjs +0 -2
  165. package/esm2020/src/types/metrics.types.mjs +0 -2
  166. package/esm2020/src/utils/flow.utils.mjs +0 -25
  167. package/esm2020/src/utils/index.mjs +0 -2
  168. package/src/guards/context.guard.d.ts +0 -19
  169. package/src/guards/index.d.ts +0 -1
  170. package/src/pages/remote/remote.component.d.ts +0 -46
  171. package/src/pages/remote/remote.module.d.ts +0 -10
  172. package/src/pages/remote/remote.types.d.ts +0 -4
  173. package/src/resolvers/quote.resolver.d.ts +0 -19
  174. package/src/types/context-route.types.d.ts +0 -5
  175. package/src/types/metrics.types.d.ts +0 -5
  176. package/src/utils/flow.utils.d.ts +0 -8
  177. package/src/utils/index.d.ts +0 -1
@@ -1,6 +1,5 @@
1
- import { ConfigurationPlugin } from './plugins/configuration.plugin';
2
1
  export const DEFAULT_PLUGINS = {
3
- CONFIGURATION: [ConfigurationPlugin],
2
+ CONFIGURATION: [],
4
3
  DEFAULT: [],
5
4
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFxRDtJQUMvRSxhQUFhLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxPQUFPLEVBQUUsRUFBRTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSURlZmluaXRpb25UeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuL2VuZ2luZS9tb2RlbHMvcGx1Z2luJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvY29uZmlndXJhdGlvbi5wbHVnaW4nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TOiB7IFtrZXkgaW4gVUlEZWZpbml0aW9uVHlwZV06ICh0eXBlb2YgUGx1Z2luKVtdIH0gPSB7XG4gIENPTkZJR1VSQVRJT046IFtDb25maWd1cmF0aW9uUGx1Z2luXSxcbiAgREVGQVVMVDogW10sXG59O1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFxRDtJQUMvRSxhQUFhLEVBQUUsRUFBRTtJQUNqQixPQUFPLEVBQUUsRUFBRTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSURlZmluaXRpb25UeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuL2VuZ2luZS9tb2RlbHMvcGx1Z2luJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExVR0lOUzogeyBba2V5IGluIFVJRGVmaW5pdGlvblR5cGVdOiAodHlwZW9mIFBsdWdpbilbXSB9ID0ge1xuICBDT05GSUdVUkFUSU9OOiBbXSxcbiAgREVGQVVMVDogW10sXG59O1xuIl19
@@ -1,26 +1,20 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, Input, SkipSelf, ViewChild, ViewContainerRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
2
  import { UUID } from '@veloceapps/core';
3
- import { ConfigurationService } from '@veloceapps/sdk/core';
4
3
  import { isArray, pull } from 'lodash';
5
- import { map, Subject, takeUntil } from 'rxjs';
4
+ import { Subject, takeUntil } from 'rxjs';
6
5
  import { RuntimeService } from '../../modules/runtime/services/runtime.service';
7
6
  import { ElementContextService } from '../../services/element-context.service';
8
7
  import { IOProviderService } from '../../services/io-provider.service';
9
- import { parseBoundPath } from '../../utils/path.utils';
10
8
  import { ElementComponent } from '../element.component';
11
9
  import * as i0 from "@angular/core";
12
10
  import * as i1 from "../../modules/runtime/services/runtime.service";
13
11
  import * as i2 from "../../services/element-context.service";
14
12
  import * as i3 from "../../services/io-provider.service";
15
- import * as i4 from "@veloceapps/sdk/core";
16
13
  export class ElementRendererComponent {
17
- constructor(parentInjector, runtimeService, elementContext, ioProviderService, configurationService, elementRef, cdr) {
18
- this.parentInjector = parentInjector;
14
+ constructor(runtimeService, elementContext, ioProviderService, cdr) {
19
15
  this.runtimeService = runtimeService;
20
16
  this.elementContext = elementContext;
21
17
  this.ioProviderService = ioProviderService;
22
- this.configurationService = configurationService;
23
- this.elementRef = elementRef;
24
18
  this.cdr = cdr;
25
19
  this.refs = {};
26
20
  this.destroy$ = new Subject();
@@ -44,10 +38,7 @@ export class ElementRendererComponent {
44
38
  this.refs[UUID.UUID()] = this.createComponent();
45
39
  return;
46
40
  }
47
- if (modelMeta.lineItem) {
48
- this.createFromLineItem(modelMeta.lineItem);
49
- }
50
- else if (modelMeta.path) {
41
+ if (modelMeta.path) {
51
42
  this.createFromPath(modelMeta.path);
52
43
  }
53
44
  }
@@ -60,43 +51,6 @@ export class ElementRendererComponent {
60
51
  this.processChildren(children);
61
52
  });
62
53
  }
63
- getModelComponent() {
64
- let component = null;
65
- let injector = this.parentInjector;
66
- while (!component) {
67
- const parentComp = injector.get(ElementRendererComponent, null);
68
- if (parentComp?.meta.model) {
69
- component = parentComp;
70
- break;
71
- }
72
- if (parentComp) {
73
- injector = parentComp.parentInjector;
74
- }
75
- else {
76
- break;
77
- }
78
- }
79
- return component;
80
- }
81
- createFromLineItem(path) {
82
- const parentComp = this.getModelComponent();
83
- const parentPath = parentComp?.meta.model?.lineItem;
84
- const pathBlocks = parseBoundPath(path).reverse();
85
- const { property, name } = pathBlocks[1] ?? {};
86
- const finalPath = pathBlocks[0];
87
- const children$ = this.getParentLineItem$(parentComp).pipe(map(model => {
88
- if (!model) {
89
- return [];
90
- }
91
- if (property === 'ports' && !finalPath?.property && parentPath !== path) {
92
- return model.lineItems.filter(({ port }) => port === name) ?? [];
93
- }
94
- return [model];
95
- }));
96
- children$.pipe(takeUntil(this.destroy$)).subscribe(children => {
97
- this.processChildren(children);
98
- });
99
- }
100
54
  processChildren(children) {
101
55
  this.runtimeService.moduleRefs[0]?.injector.runInContext(() => {
102
56
  const refs = children.reduce((acc, data, index) => {
@@ -117,15 +71,6 @@ export class ElementRendererComponent {
117
71
  this.cdr.detectChanges();
118
72
  });
119
73
  }
120
- getParentLineItem$(parentComp) {
121
- const parentRefs = Object.values(parentComp?.refs ?? {});
122
- const parentRef = parentRefs.find(ref => ref?.location.nativeElement?.contains(this.elementRef.nativeElement));
123
- let parentModel$;
124
- if (parentRef?.instance instanceof ElementComponent) {
125
- parentModel$ = parentRef?.instance.model$;
126
- }
127
- return parentModel$ ?? this.configurationService.get();
128
- }
129
74
  createComponent(data, index) {
130
75
  if (!this.type) {
131
76
  return;
@@ -158,17 +103,15 @@ export class ElementRendererComponent {
158
103
  this.refs = {};
159
104
  }
160
105
  }
161
- ElementRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementRendererComponent, deps: [{ token: i0.Injector, skipSelf: true }, { token: i1.RuntimeService }, { token: i2.ElementContextService }, { token: i3.IOProviderService }, { token: i4.ConfigurationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
+ ElementRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementRendererComponent, deps: [{ token: i1.RuntimeService }, { token: i2.ElementContextService }, { token: i3.IOProviderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
162
107
  ElementRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: { meta: "meta" }, providers: [ElementContextService], viewQueries: [{ propertyName: "el", first: true, predicate: ["el"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-template #el></ng-template>\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementRendererComponent, decorators: [{
164
109
  type: Component,
165
110
  args: [{ selector: 'vl-cms-element-renderer', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ElementContextService], template: "<ng-template #el></ng-template>\n", styles: [":host{display:contents}\n"] }]
166
- }], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
167
- type: SkipSelf
168
- }] }, { type: i1.RuntimeService }, { type: i2.ElementContextService }, { type: i3.IOProviderService }, { type: i4.ConfigurationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { el: [{
111
+ }], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.ElementContextService }, { type: i3.IOProviderService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { el: [{
169
112
  type: ViewChild,
170
113
  args: ['el', { read: ViewContainerRef, static: true }]
171
114
  }], meta: [{
172
115
  type: Input
173
116
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvZWxlbWVudC1yZW5kZXJlci9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFHTCxRQUFRLEVBRVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFjLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVN4RCxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ3NCLGNBQXdCLEVBQ3BDLGNBQThC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O0lBQ2pCLENBQUM7O3FIQTlMVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0RUFGeEIsQ0FBQyxxQkFBcUIsQ0FBQywrRkFHVCxnQkFBZ0IsMkNDbkMzQyxtQ0FDQTsyRkRpQ2Esd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHFCQUFxQixDQUFDOzswQkFZL0IsUUFBUTt5T0FUdUQsRUFBRTtzQkFBbkUsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFekMsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNraXBTZWxmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFVVSUQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgaXNBcnJheSwgcHVsbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VsZW1lbnQtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VCb3VuZFBhdGggfSBmcm9tICcuLi8uLi91dGlscy9wYXRoLnV0aWxzJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9lbGVtZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1lbGVtZW50LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtFbGVtZW50Q29udGV4dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50UmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2VsJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgcHVibGljIGVsPzogVmlld0NvbnRhaW5lclJlZjtcblxuICBASW5wdXQoKSBwdWJsaWMgbWV0YSE6IEVsZW1lbnRNZXRhZGF0YTtcblxuICBwcml2YXRlIHR5cGU/OiBUeXBlPEVudGl0eT47XG4gIHByaXZhdGUgcmVmczogRGljdGlvbmFyeTxDb21wb25lbnRSZWY8RW50aXR5PiB8IHVuZGVmaW5lZD4gPSB7fTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNraXBTZWxmKCkgcHJpdmF0ZSBwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50Q29udGV4dDogRWxlbWVudENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW9Qcm92aWRlclNlcnZpY2U6IElPUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWV0YS5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudENvbnRleHQubWV0YWRhdGEgPSB0aGlzLm1ldGE7XG4gICAgdGhpcy50eXBlID0gdGhpcy5tZXRhLnBhdGggPyB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNvbXBvbmVudFR5cGVzW3RoaXMubWV0YS5wYXRoXSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUNvbXBvbmVudHMoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudHMoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWxNZXRhID0gdGhpcy5tZXRhLm1vZGVsO1xuXG4gICAgaWYgKCFtb2RlbE1ldGEpIHtcbiAgICAgIHRoaXMucmVmc1tVVUlELlVVSUQoKV0gPSB0aGlzLmNyZWF0ZUNvbXBvbmVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChtb2RlbE1ldGEubGluZUl0ZW0pIHtcbiAgICAgIHRoaXMuY3JlYXRlRnJvbUxpbmVJdGVtKG1vZGVsTWV0YS5saW5lSXRlbSk7XG4gICAgfSBlbHNlIGlmIChtb2RlbE1ldGEucGF0aCkge1xuICAgICAgdGhpcy5jcmVhdGVGcm9tUGF0aChtb2RlbE1ldGEucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGcm9tUGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheSQgPSB0aGlzLmlvUHJvdmlkZXJTZXJ2aWNlLmNvbm5lY3QodGhpcy5tZXRhLCAnY2hpbGRyZW4kJywgcGF0aCk7XG5cbiAgICBhcnJheSQ/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoY2hpbGRyZW4gPT4ge1xuICAgICAgaWYgKCFpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJvY2Vzc0NoaWxkcmVuKGNoaWxkcmVuKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kZWxDb21wb25lbnQoKTogRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50IHwgbnVsbCB7XG4gICAgbGV0IGNvbXBvbmVudDogRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGluamVjdG9yID0gdGhpcy5wYXJlbnRJbmplY3RvcjtcblxuICAgIHdoaWxlICghY29tcG9uZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRDb21wID0gaW5qZWN0b3IuZ2V0KEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCwgbnVsbCk7XG5cbiAgICAgIGlmIChwYXJlbnRDb21wPy5tZXRhLm1vZGVsKSB7XG4gICAgICAgIGNvbXBvbmVudCA9IHBhcmVudENvbXA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFyZW50Q29tcCkge1xuICAgICAgICBpbmplY3RvciA9IHBhcmVudENvbXAucGFyZW50SW5qZWN0b3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGcm9tTGluZUl0ZW0ocGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGFyZW50Q29tcCA9IHRoaXMuZ2V0TW9kZWxDb21wb25lbnQoKTtcbiAgICBjb25zdCBwYXJlbnRQYXRoID0gcGFyZW50Q29tcD8ubWV0YS5tb2RlbD8ubGluZUl0ZW07XG5cbiAgICBjb25zdCBwYXRoQmxvY2tzID0gcGFyc2VCb3VuZFBhdGgocGF0aCkucmV2ZXJzZSgpO1xuICAgIGNvbnN0IHsgcHJvcGVydHksIG5hbWUgfSA9IHBhdGhCbG9ja3NbMV0gPz8ge307XG4gICAgY29uc3QgZmluYWxQYXRoID0gcGF0aEJsb2Nrc1swXTtcblxuICAgIGNvbnN0IGNoaWxkcmVuJCA9IHRoaXMuZ2V0UGFyZW50TGluZUl0ZW0kKHBhcmVudENvbXApLnBpcGUoXG4gICAgICBtYXAobW9kZWwgPT4ge1xuICAgICAgICBpZiAoIW1vZGVsKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncG9ydHMnICYmICFmaW5hbFBhdGg/LnByb3BlcnR5ICYmIHBhcmVudFBhdGggIT09IHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwubGluZUl0ZW1zLmZpbHRlcigoeyBwb3J0IH0pID0+IHBvcnQgPT09IG5hbWUpID8/IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFttb2RlbF07XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY2hpbGRyZW4kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoY2hpbGRyZW4gPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW46IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5tb2R1bGVSZWZzWzBdPy5pbmplY3Rvci5ydW5JbkNvbnRleHQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVmcyA9IGNoaWxkcmVuLnJlZHVjZSgoYWNjOiBEaWN0aW9uYXJ5PENvbXBvbmVudFJlZjxFbnRpdHk+PiwgZGF0YSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gU3RyaW5nKGRhdGE/LmlkID8/IFVVSUQuVVVJRCgpKTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdSZWYgPSB0aGlzLnJlZnNba2V5XTtcblxuICAgICAgICBjb25zdCByZWYgPSBleGlzdGluZ1JlZiA/PyB0aGlzLmNyZWF0ZUNvbXBvbmVudChkYXRhLCBpbmRleCk7XG4gICAgICAgIGlmIChleGlzdGluZ1JlZikge1xuICAgICAgICAgIHRoaXMudXBkYXRlQ29tcG9uZW50KGV4aXN0aW5nUmVmLCBkYXRhLCBpbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVmID8geyAuLi5hY2MsIFtrZXldOiByZWYgfSA6IGFjYztcbiAgICAgIH0sIHt9KTtcblxuICAgICAgY29uc3QgZXhpc3RpbmdLZXlzID0gT2JqZWN0LmtleXModGhpcy5yZWZzKTtcbiAgICAgIGNvbnN0IG5ld0tleXMgPSBPYmplY3Qua2V5cyhyZWZzKTtcblxuICAgICAgcHVsbChleGlzdGluZ0tleXMsIC4uLm5ld0tleXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95Q29tcG9uZW50KGtleSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWZzID0gcmVmcztcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50TGluZUl0ZW0kKHBhcmVudENvbXA6IEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCB8IG51bGwpOiBPYnNlcnZhYmxlPExpbmVJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgcGFyZW50UmVmcyA9IE9iamVjdC52YWx1ZXMocGFyZW50Q29tcD8ucmVmcyA/PyB7fSk7XG4gICAgY29uc3QgcGFyZW50UmVmID0gcGFyZW50UmVmcy5maW5kKHJlZiA9PlxuICAgICAgKHJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmNvbnRhaW5zKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSxcbiAgICApO1xuXG4gICAgbGV0IHBhcmVudE1vZGVsJDtcbiAgICBpZiAocGFyZW50UmVmPy5pbnN0YW5jZSBpbnN0YW5jZW9mIEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICAgIHBhcmVudE1vZGVsJCA9IHBhcmVudFJlZj8uaW5zdGFuY2UubW9kZWwkO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJlbnRNb2RlbCQgPz8gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGRhdGE/OiB1bmtub3duLCBpbmRleD86IG51bWJlcik6IENvbXBvbmVudFJlZjxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMudHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZWw/LmNyZWF0ZUNvbXBvbmVudCh0aGlzLnR5cGUsIHsgaW5kZXggfSk7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5jb21wb25lbnRSZWZzW3RoaXMubWV0YS5wYXRoXSA9IGNvbXBvbmVudFJlZjtcblxuICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnbmFtZScsIHRoaXMubWV0YS5uYW1lKTtcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgncGF0aCcsIHRoaXMubWV0YS5wYXRoKTtcblxuICAgICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm1vZGVsJC5uZXh0KGRhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbXBvbmVudChyZWY6IENvbXBvbmVudFJlZjxFbnRpdHk+LCBkYXRhOiB1bmtub3duLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICAgIHJlZi5pbnN0YW5jZS5tb2RlbCQubmV4dChkYXRhKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbCAmJiB0aGlzLmVsLmluZGV4T2YocmVmLmhvc3RWaWV3KSAhPT0gaW5kZXgpIHtcbiAgICAgIHRoaXMuZWwubW92ZShyZWYuaG9zdFZpZXcsIGluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lDb21wb25lbnQoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnNba2V5XT8uZGVzdHJveSgpO1xuICAgIGRlbGV0ZSB0aGlzLnJlZnNba2V5XTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUNvbXBvbmVudHMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnJlZnMpLmZvckVhY2gocmVmID0+IHJlZj8uZGVzdHJveSgpKTtcbiAgICB0aGlzLnJlZnMgPSB7fTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNlbD48L25nLXRlbXBsYXRlPlxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvZWxlbWVudC1yZW5kZXJlci9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxLQUFLLEVBSUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFjLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVN4RCxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ1UsY0FBOEIsRUFDOUIsY0FBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLEdBQXNCO1FBSHRCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgs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QUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRXpDLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVVUlEIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc0FycmF5LCBwdWxsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VsZW1lbnQtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtY21zLWVsZW1lbnQtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0VsZW1lbnRDb250ZXh0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZWwnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgZWw/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXRhITogRWxlbWVudE1ldGFkYXRhO1xuXG4gIHByaXZhdGUgdHlwZT86IFR5cGU8RW50aXR5PjtcbiAgcHJpdmF0ZSByZWZzOiBEaWN0aW9uYXJ5PENvbXBvbmVudFJlZjxFbnRpdHk+IHwgdW5kZWZpbmVkPiA9IHt9O1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRDb250ZXh0OiBFbGVtZW50Q29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpb1Byb3ZpZGVyU2VydmljZTogSU9Qcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1ldGEuaXNTaGFyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVsZW1lbnRDb250ZXh0Lm1ldGFkYXRhID0gdGhpcy5tZXRhO1xuICAgIHRoaXMudHlwZSA9IHRoaXMubWV0YS5wYXRoID8gdGhpcy5ydW50aW1lU2VydmljZS5jb21wb25lbnRUeXBlc1t0aGlzLm1ldGEucGF0aF0gOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lDb21wb25lbnRzKCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IG1vZGVsTWV0YSA9IHRoaXMubWV0YS5tb2RlbDtcblxuICAgIGlmICghbW9kZWxNZXRhKSB7XG4gICAgICB0aGlzLnJlZnNbVVVJRC5VVUlEKCldID0gdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobW9kZWxNZXRhLnBhdGgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRnJvbVBhdGgobW9kZWxNZXRhLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnJvbVBhdGgocGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYXJyYXkkID0gdGhpcy5pb1Byb3ZpZGVyU2VydmljZS5jb25uZWN0KHRoaXMubWV0YSwgJ2NoaWxkcmVuJCcsIHBhdGgpO1xuXG4gICAgYXJyYXkkPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGNoaWxkcmVuID0+IHtcbiAgICAgIGlmICghaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbihjaGlsZHJlbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NDaGlsZHJlbihjaGlsZHJlbjogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLm1vZHVsZVJlZnNbMF0/LmluamVjdG9yLnJ1bkluQ29udGV4dCgoKSA9PiB7XG4gICAgICBjb25zdCByZWZzID0gY2hpbGRyZW4ucmVkdWNlKChhY2M6IERpY3Rpb25hcnk8Q29tcG9uZW50UmVmPEVudGl0eT4+LCBkYXRhLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBTdHJpbmcoZGF0YT8uaWQgPz8gVVVJRC5VVUlEKCkpO1xuICAgICAgICBjb25zdCBleGlzdGluZ1JlZiA9IHRoaXMucmVmc1trZXldO1xuXG4gICAgICAgIGNvbnN0IHJlZiA9IGV4aXN0aW5nUmVmID8/IHRoaXMuY3JlYXRlQ29tcG9uZW50KGRhdGEsIGluZGV4KTtcbiAgICAgICAgaWYgKGV4aXN0aW5nUmVmKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVDb21wb25lbnQoZXhpc3RpbmdSZWYsIGRhdGEsIGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZWYgPyB7IC4uLmFjYywgW2tleV06IHJlZiB9IDogYWNjO1xuICAgICAgfSwge30pO1xuXG4gICAgICBjb25zdCBleGlzdGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnJlZnMpO1xuICAgICAgY29uc3QgbmV3S2V5cyA9IE9iamVjdC5rZXlzKHJlZnMpO1xuXG4gICAgICBwdWxsKGV4aXN0aW5nS2V5cywgLi4ubmV3S2V5cykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICB0aGlzLmRlc3Ryb3lDb21wb25lbnQoa2V5KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlZnMgPSByZWZzO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoZGF0YT86IHVua25vd24sIGluZGV4PzogbnVtYmVyKTogQ29tcG9uZW50UmVmPEVudGl0eT4gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy50eXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5lbD8uY3JlYXRlQ29tcG9uZW50KHRoaXMudHlwZSwgeyBpbmRleCB9KTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNvbXBvbmVudFJlZnNbdGhpcy5tZXRhLnBhdGhdID0gY29tcG9uZW50UmVmO1xuXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xuICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCduYW1lJywgdGhpcy5tZXRhLm5hbWUpO1xuICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdwYXRoJywgdGhpcy5tZXRhLnBhdGgpO1xuXG4gICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlIGluc3RhbmNlb2YgRWxlbWVudENvbXBvbmVudCkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kZWwkLm5leHQoZGF0YSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29tcG9uZW50KHJlZjogQ29tcG9uZW50UmVmPEVudGl0eT4sIGRhdGE6IHVua25vd24sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocmVmLmluc3RhbmNlIGluc3RhbmNlb2YgRWxlbWVudENvbXBvbmVudCkge1xuICAgICAgcmVmLmluc3RhbmNlLm1vZGVsJC5uZXh0KGRhdGEpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVsICYmIHRoaXMuZWwuaW5kZXhPZihyZWYuaG9zdFZpZXcpICE9PSBpbmRleCkge1xuICAgICAgdGhpcy5lbC5tb3ZlKHJlZi5ob3N0VmlldywgaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUNvbXBvbmVudChrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVmc1trZXldPy5kZXN0cm95KCk7XG4gICAgZGVsZXRlIHRoaXMucmVmc1trZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95Q29tcG9uZW50cygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMucmVmcykuZm9yRWFjaChyZWYgPT4gcmVmPy5kZXN0cm95KCkpO1xuICAgIHRoaXMucmVmcyA9IHt9O1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2VsPjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
2
  import { ToastService, ToastType } from '@veloceapps/components';
3
3
  import { ConfigurationStateService, IntegrationState } from '@veloceapps/sdk/core';
4
- import { BehaviorSubject, Subject, catchError, combineLatest, map, of, startWith, switchMap, takeUntil, tap, } from 'rxjs';
4
+ import { BehaviorSubject, catchError, combineLatest, map, of, startWith, Subject, switchMap, takeUntil, tap, } from 'rxjs';
5
5
  import { RuntimeService } from '../../modules/runtime/services/runtime.service';
6
6
  import { IOProviderService } from '../../services/io-provider.service';
7
7
  import { TemplatesService } from '../../services/templates.service';
@@ -33,7 +33,7 @@ export class PreviewComponent {
33
33
  }
34
34
  ngOnInit() {
35
35
  if (this.config?.clearStateOnInit) {
36
- this.integrationState.clear();
36
+ this.integrationState.reset();
37
37
  }
38
38
  this.startPreview();
39
39
  }
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
81
81
  }], config: [{
82
82
  type: Input
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILEVBQUUsRUFDRixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QyxpQkFBaUIsQ0FBQyxTQUFTO3VNQUcxQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZz8ucGVyc2lzdENvbmZpZ3VyYXRpb25TdGF0ZSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGUuY2xlYW51cCgpO1xuICAgIH1cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeShfOiBudW1iZXIsIGVsOiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEge1xuICAgIHJldHVybiBlbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUluaXQkID0gdGhpcy5jb25maWc/LmluaXQkPy4oKSA/PyBvZih1bmRlZmluZWQpO1xuXG4gICAgY3VzdG9tSW5pdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXplJCh0aGlzLnVpRGVmaW5pdGlvbiwgdGhpcy5jb25maWcpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QyxpQkFBaUIsQ0FBQyxTQUFTO3VNQUcxQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZz8ucGVyc2lzdENvbmZpZ3VyYXRpb25TdGF0ZSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGUuY2xlYW51cCgpO1xuICAgIH1cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeShfOiBudW1iZXIsIGVsOiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEge1xuICAgIHJldHVybiBlbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUluaXQkID0gdGhpcy5jb25maWc/LmluaXQkPy4oKSA/PyBvZih1bmRlZmluZWQpO1xuXG4gICAgY3VzdG9tSW5pdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXplJCh0aGlzLnVpRGVmaW5pdGlvbiwgdGhpcy5jb25maWcpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -7,4 +7,4 @@ ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementContextService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbnRleHRTZXJ2aWNlIHtcbiAgcHVibGljIG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhO1xuICBwdWJsaWMgcGFyZW50TW9kZWxJZD86IHN0cmluZztcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbnRleHRTZXJ2aWNlIHtcbiAgcHVibGljIG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBQYWdlTGF5b3V0IH0gZnJvbSAnLi9sYXlvdXRzLnR5cGVzJztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi9wYWdlcy50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT01JWkFUSU9OX1BBR0UnIHwgJ0NVU1RPTScgfCAnQ09OVEFJTkVSJyB8ICdTRVJWSUNFJyB8ICdSRUZFUkVOQ0UnIHwgJ1BBR0UnIHwgJ1JFR0lPTic7XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uID0gUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiB0eXBlb2YgRW50aXR5O1xuICBwbHVnaW5zPzogKHR5cGVvZiBQbHVnaW4pW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcblxuICBidWlsZGVyPzoge1xuICAgIHN1cHByZXNzUmVtb3ZhYmxlPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgb25seSB3aGVuIGBVSURlZmluaXRpb25UeXBlID0gQ09ORklHVVJBVElPTmAuXG4gICAqL1xuICBsaW5lSXRlbT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBFTEVNRU5UX1RZUEU7XG4gIC8qKlxuICAgKiBNYWtlIGNvbXBvbmVudCBzaGFyZWRcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgIT09IFJFRkVSRU5DRWBcbiAgICovXG4gIGlzU2hhcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVsZW1lbnQgbW9kdWxlIG5hbWUuIE1vZHVsZSBpcyB1c2VkIGZvciBxdWljayBhY2Nlc3MgZnJvbSBvdGhlciBlbGVtZW50cy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUgd2UgaGF2ZSBhIGBEYXRhU2VydmljZWAgZWxlbWVudCwgYW5kIHdlIHNheSBpdCdzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlLiBUaGVuIGl0IGNhbiBiZSBhY2Nlc3NlZCBpbiBvdGhlciBlbGVtZW50cyBgbW9kZWxgLCBgaW5wdXRzYCBvciBgb3V0cHV0c2AgcHJvcGVydGllcyB0aGlzIHdheTogYEBTZXJ2aWNlcy9EYXRhU2VydmljZWBcbiAgICpcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgaW5wdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIGlucHV0IGFuZCBgdmFsdWVgIGlzIHRhcmdldCBwYXRoXG4gICAqXG4gICAqIElmIGB2YWx1ZSA9PSBudWxsYCwgdGhlbiB0aGUgZWxlbWVudCBhY3RzIGxpa2UgYSB0YXJnZXQgLSB3ZSBleHBlY3Qgb3RoZXIgZWxlbWVudCB0byBjb25uZWN0IHRvIGl0LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICpcbiAgICogMS4gYHByb2R1Y3RzOiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzYCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMi4gYHByb2R1Y3RzTGlzdDogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMy4gYHByb2R1Y3RzTGlzdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHMnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzTGlzdGAgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50IHdoaWNoIGlzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlXG4gICAqXG4gICAqIDQuIGBvblByb2R1Y3RTZWxlY3Q6IG51bGxgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBpbnB1dCwgYW5kIHRoZSBzY3JpcHQgY291bGQgaGF2ZSBhIGxvZ2ljIHdoaWNoIHdpbGwgbGlzdGVuIG9uIHRoZSBldmVudHNcbiAgICpcbiAgICogUmVsYXRpdmUgcGF0aHMgYWxsb3dlZDpcbiAgICpcbiAgICogLSBgLi5gXG4gICAqIC0gYC4uLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKlxuICAgKiBJbnB1dCB3aGljaCBuYW1lIHN0YXJ0cyB3aXRoICdAJyBpcyBiZWluZyBhZGRlZCB0byB0aGUgZWxlbWVudCBhcyBBbmd1bGFyIGlucHV0IChzdXBwcmVzc2luZyAnQCcgc3ltYm9sKVxuICAgKi9cbiAgaW5wdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgLyoqXG4gICAqIERlZmluZXMgb3V0cHV0cyBvZiB0aGUgZWxlbWVudC4gQW4gb2JqZWN0IHdoZXJlIGBrZXlgIGlzIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgb25Qcm9kdWN0U2VsZWN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYG9uUHJvZHVjdFNlbGVjdGAgb3V0cHV0LCB3aGljaCB3aWxsIGVtaXQgZXZlbnRzIHRvIHRoZSBgZGF0YXNlcnZpY2VgIGVsZW1lbnQgYGhhbmRsZVByb2R1Y3RTZWxlY3RgIGlucHV0XG4gICAqXG4gICAqIDIuIGBvblByb2R1Y3RTZWxlY3Q6ICdAU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBTYW1lIG91dHB1dCBidXQgYWNjZXNzaW5nIGRhdGFzZXJ2aWNlIGJ5IHRoZSBTZXJ2aWNlIG1vZHVsZVxuICAgKlxuICAgKiAqIE91dHB1dCB3aGljaCBuYW1lIHN0YXJ0cyB3aXRoICdAJyBpcyBiZWluZyBhZGRlZCB0byB0aGUgZWxlbWVudCBhcyBBbmd1bGFyIG91dHB1dCAoc3VwcHJlc3NpbmcgJ0AnIHN5bWJvbClcbiAgICovXG4gIG91dHB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICBtb2RlbD86IEVsZW1lbnRNb2RlbDtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBzaGFyZWQgY29tcG9uZW50IG5hbWUgdG8gdXNlIGFzIGEgcmVmZXJlbmNlXG4gICAqXG4gICAqIFVzZWQgb25seSB3aGVuIGB0eXBlID09PSBSRUZFUkVOQ0VgXG4gICAqL1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDb250YWlucyBzdHlsZXMgY29uZmlndXJhYmxlIGZyb20gVUkgYnVpbGRlclxuICAgKi9cbiAgY29uZmlndXJlZFN0eWxlcz86IEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uO1xuICAvKipcbiAgICogUGFnZSBsYXlvdXRcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFBBR0VgXG4gICAqL1xuICBsYXlvdXQ/OiBQYWdlTGF5b3V0O1xuICAvKipcbiAgICogUGFnZSBUeXBlXG4gICAqXG4gICAqIFVzZWQgb25seSB3aGVuIGB0eXBlID09PSBQQUdFYFxuICAgKi9cbiAgcGFnZVR5cGU/OiBQYWdlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TWV0YWRhdGEgZXh0ZW5kcyBPbWl0PEVsZW1lbnREZWZhdWx0TWV0YWRhdGEsICdjaGlsZHJlbic+IHtcbiAgcGF0aDogc3RyaW5nO1xuICBjaGlsZHJlbjogRWxlbWVudE1ldGFkYXRhW107XG4gIHRlbXBsYXRlPzogc3RyaW5nO1xuICBzdHlsZXM/OiBzdHJpbmc7XG4gIHNjcmlwdD86IHN0cmluZztcbiAgbWV0YWRhdGE/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBQYWdlTGF5b3V0IH0gZnJvbSAnLi9sYXlvdXRzLnR5cGVzJztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi9wYWdlcy50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT01JWkFUSU9OX1BBR0UnIHwgJ0NVU1RPTScgfCAnQ09OVEFJTkVSJyB8ICdTRVJWSUNFJyB8ICdSRUZFUkVOQ0UnIHwgJ1BBR0UnIHwgJ1JFR0lPTic7XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uID0gUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiB0eXBlb2YgRW50aXR5O1xuICBwbHVnaW5zPzogKHR5cGVvZiBQbHVnaW4pW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcblxuICBidWlsZGVyPzoge1xuICAgIHN1cHByZXNzUmVtb3ZhYmxlPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFRvIGJlIHJlbW92ZWQhISFcbiAgICogVXNlZCBvbmx5IHdoZW4gYFVJRGVmaW5pdGlvblR5cGUgPSBDT05GSUdVUkFUSU9OYC5cbiAgICovXG4gIGxpbmVJdGVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZWZhdWx0TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEVMRU1FTlRfVFlQRTtcbiAgLyoqXG4gICAqIE1ha2UgY29tcG9uZW50IHNoYXJlZFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSAhPT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgaXNTaGFyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRWxlbWVudCBtb2R1bGUgbmFtZS4gTW9kdWxlIGlzIHVzZWQgZm9yIHF1aWNrIGFjY2VzcyBmcm9tIG90aGVyIGVsZW1lbnRzLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB3ZSBoYXZlIGEgYERhdGFTZXJ2aWNlYCBlbGVtZW50LCBhbmQgd2Ugc2F5IGl0J3MgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGUuIFRoZW4gaXQgY2FuIGJlIGFjY2Vzc2VkIGluIG90aGVyIGVsZW1lbnRzIGBtb2RlbGAsIGBpbnB1dHNgIG9yIGBvdXRwdXRzYCBwcm9wZXJ0aWVzIHRoaXMgd2F5OiBgQFNlcnZpY2VzL0RhdGFTZXJ2aWNlYFxuICAgKlxuICAgKi9cbiAgbW9kdWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyBpbnB1dHMgb2YgdGhlIGVsZW1lbnQuIEFuIG9iamVjdCB3aGVyZSBga2V5YCBpcyB0aGUgbmFtZSBvZiB0aGUgaW5wdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgcHJvZHVjdHM6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZSdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAyLiBgcHJvZHVjdHNMaXN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c0xpc3RgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAzLiBgcHJvZHVjdHNMaXN0OiAnQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnQgd2hpY2ggaXMgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGVcbiAgICpcbiAgICogNC4gYG9uUHJvZHVjdFNlbGVjdDogbnVsbGBcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBvblByb2R1Y3RTZWxlY3RgIGlucHV0LCBhbmQgdGhlIHNjcmlwdCBjb3VsZCBoYXZlIGEgbG9naWMgd2hpY2ggd2lsbCBsaXN0ZW4gb24gdGhlIGV2ZW50c1xuICAgKlxuICAgKiBSZWxhdGl2ZSBwYXRocyBhbGxvd2VkOlxuICAgKlxuICAgKiAtIGAuLmBcbiAgICogLSBgLi4vOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqXG4gICAqIElucHV0IHdoaWNoIG5hbWUgc3RhcnRzIHdpdGggJ0AnIGlzIGJlaW5nIGFkZGVkIHRvIHRoZSBlbGVtZW50IGFzIEFuZ3VsYXIgaW5wdXQgKHN1cHByZXNzaW5nICdAJyBzeW1ib2wpXG4gICAqL1xuICBpbnB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICAvKipcbiAgICogRGVmaW5lcyBvdXRwdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCBhbmQgYHZhbHVlYCBpcyB0YXJnZXQgcGF0aFxuICAgKlxuICAgKiBJZiBgdmFsdWUgPT0gbnVsbGAsIHRoZW4gdGhlIGVsZW1lbnQgYWN0cyBsaWtlIGEgdGFyZ2V0IC0gd2UgZXhwZWN0IG90aGVyIGVsZW1lbnQgdG8gY29ubmVjdCB0byBpdC5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqXG4gICAqIDEuIGBvblByb2R1Y3RTZWxlY3Q6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBvdXRwdXQsIHdoaWNoIHdpbGwgZW1pdCBldmVudHMgdG8gdGhlIGBkYXRhc2VydmljZWAgZWxlbWVudCBgaGFuZGxlUHJvZHVjdFNlbGVjdGAgaW5wdXRcbiAgICpcbiAgICogMi4gYG9uUHJvZHVjdFNlbGVjdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFNhbWUgb3V0cHV0IGJ1dCBhY2Nlc3NpbmcgZGF0YXNlcnZpY2UgYnkgdGhlIFNlcnZpY2UgbW9kdWxlXG4gICAqXG4gICAqICogT3V0cHV0IHdoaWNoIG5hbWUgc3RhcnRzIHdpdGggJ0AnIGlzIGJlaW5nIGFkZGVkIHRvIHRoZSBlbGVtZW50IGFzIEFuZ3VsYXIgb3V0cHV0IChzdXBwcmVzc2luZyAnQCcgc3ltYm9sKVxuICAgKi9cbiAgb3V0cHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIG1vZGVsPzogRWxlbWVudE1vZGVsO1xuICAvKipcbiAgICogRGVmaW5lcyBhIHNoYXJlZCBjb21wb25lbnQgbmFtZSB0byB1c2UgYXMgYSByZWZlcmVuY2VcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFJFRkVSRU5DRWBcbiAgICovXG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5zIHN0eWxlcyBjb25maWd1cmFibGUgZnJvbSBVSSBidWlsZGVyXG4gICAqL1xuICBjb25maWd1cmVkU3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb247XG4gIC8qKlxuICAgKiBQYWdlIGxheW91dFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSA9PT0gUEFHRWBcbiAgICovXG4gIGxheW91dD86IFBhZ2VMYXlvdXQ7XG4gIC8qKlxuICAgKiBQYWdlIFR5cGVcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFBBR0VgXG4gICAqL1xuICBwYWdlVHlwZT86IFBhZ2VUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRNZXRhZGF0YSBleHRlbmRzIE9taXQ8RWxlbWVudERlZmF1bHRNZXRhZGF0YSwgJ2NoaWxkcmVuJz4ge1xuICBwYXRoOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,8 +1,7 @@
1
1
  export * from '../modules/runtime/types/compilation.types';
2
2
  export * from './common.types';
3
- export * from './configuration.types';
4
3
  export * from './elements.types';
5
4
  export * from './layouts.types';
6
5
  export * from './pages.types';
7
6
  export * from './path.types';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vbW9kdWxlcy9ydW50aW1lL3R5cGVzL2NvbXBpbGF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0cy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlcyc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4uL21vZHVsZXMvcnVudGltZS90eXBlcy9jb21waWxhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0cy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlcyc7XG4iXX0=
@@ -59,8 +59,8 @@ export const metadataToElement = (metadata, recursive = true) => {
59
59
  export const normalizeElementMetadata = (elementMetadata) => {
60
60
  const metadata = { ...elementMetadata };
61
61
  // model
62
- const { lineItem, path } = metadata.model ?? {};
63
- const model = lineItem ? { lineItem } : path ? { path } : undefined;
62
+ const { path } = metadata.model ?? {};
63
+ const model = path ? { path } : undefined;
64
64
  if (model) {
65
65
  metadata.model = model;
66
66
  }
@@ -179,4 +179,4 @@ export function getElementAngularIOs(names) {
179
179
  return trunk;
180
180
  }, []);
181
181
  }
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFO0lBQ3ZGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1B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QU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFlO0lBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM1QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiwgb21pdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCwgRUxFTUVOVF9UWVBFIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXRvYlNhZmUsIGJ0b2FTYWZlIH0gZnJvbSAnLi9lbmNvZGluZy51dGlscyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBhdG9iU2FmZShlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGF0b2JTYWZlKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gYXRvYlNhZmUoZWwuc3R5bGVzKTtcblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU2NyaXB0IGRvZXNuJ3QgaGF2ZSBleHBvcnRlZCBjbGFzc1wiKTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnRNZXRhZGF0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0IHx8ICcnKTtcbiAgY29uc3QgcGF0aCA9IChwYXJlbnRQYXRoID8gcGFyZW50UGF0aCArICcvJyA6ICcnKSArIGVsZW1lbnRNZXRhZGF0YS5uYW1lO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZWxlbWVudE1ldGFkYXRhLFxuICAgIHBhdGgsXG4gICAgc2NyaXB0OiBzY3JpcHQ/LnJlcGxhY2UoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLCAnZXhwb3J0IGNsYXNzJyksXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiBlbC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gZWxlbWVudFRvTWV0YWRhdGEoY2hpbGQsIHBhdGgpKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YVRvRWxlbWVudCA9IChtZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhLCByZWN1cnNpdmU6IGJvb2xlYW4gPSB0cnVlKTogVUlFbGVtZW50ID0+IHtcbiAgY29uc3QgY2xlYW5NZXRhZGF0YSA9IG9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBPbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgRWxlbWVudERlZmF1bHRNZXRhZGF0YT4+KG1ldGFkYXRhLCBbXG4gICAgJ3BhdGgnLFxuICAgICd0ZW1wbGF0ZScsXG4gICAgJ3N0eWxlcycsXG4gICAgJ3NjcmlwdCcsXG4gICAgJ21ldGFkYXRhJyxcbiAgXSk7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgLi4uY2xlYW5NZXRhZGF0YSxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5wYXRofScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID0gYnRvYVNhZmUoXG4gICAgbWV0YWRhdGEuc2NyaXB0Py5yZXBsYWNlKFxuICAgICAgRVhQT1JURURfQ0xBU1NfUkVHRVgsXG4gICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgKSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBidG9hU2FmZShtZXRhZGF0YS50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGJ0b2FTYWZlKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IGxpbmVJdGVtLCBwYXRoIH0gPSBtZXRhZGF0YS5tb2RlbCA/PyB7fTtcbiAgY29uc3QgbW9kZWw6IEVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgLy8gY29uZmlndXJlZFN0eWxlc1xuICBpZiAoIW1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcztcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+KTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIGlmICghbWV0YWRhdGFTdHJpbmcpIHtcbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZCA9IHsgLi4ubmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpLCAuLi5leHRlbmQgfTtcbiAgcmV0dXJuIHNjcmlwdC5yZXBsYWNlKG1ldGFkYXRhU3RyaW5nLCBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEodXBkYXRlZCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRDb25maWcgPSAodHlwZTogRUxFTUVOVF9UWVBFKTogRWxlbWVudENvbmZpZyA9PiB7XG4gIHJldHVybiBDT05GSUdbdHlwZV07XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0VsZW1lbnRTdXBwb3J0SU8gPSAodHlwZTogRUxFTUVOVF9UWVBFKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBnZXRFbGVtZW50Q29uZmlnKHR5cGUpLnBsdWdpbnM/LmluY2x1ZGVzKElPUGx1Z2luKSA/PyBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAvLyBQb3RlbnRpYWxseSB0aGVyZSBhcmUgbW9yZSBpbnZhbGlkIGNoYXJhY3RlcnMgd2hpY2ggcmVxdWlyZXMgb2JqZWN0IGtleXMgdG8gYmUgd3JhcHBlZCBpbiBxdW90ZXNcbiAgICBpZiAoIW1hdGNoLmluY2x1ZGVzKCdAJykpIHtcbiAgICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4uZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aCgnQCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9FbGVtZW50QW5ndWxhcklPKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIWlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50QW5ndWxhcklPcyhuYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBuYW1lcy5yZWR1Y2UoKHRydW5rOiBzdHJpbmdbXSwgbmFtZSkgPT4ge1xuICAgIGNvbnN0IG5nSU8gPSB0b0VsZW1lbnRBbmd1bGFySU8obmFtZSk7XG5cbiAgICBpZiAobmdJTyAhPSBudWxsKSB7XG4gICAgICB0cnVuay5wdXNoKG5nSU8pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVuaztcbiAgfSwgW10pO1xufVxuIl19
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFO0lBQ3ZGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1B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QUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFlO0lBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM1QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiwgb21pdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCwgRUxFTUVOVF9UWVBFIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXRvYlNhZmUsIGJ0b2FTYWZlIH0gZnJvbSAnLi9lbmNvZGluZy51dGlscyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBhdG9iU2FmZShlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGF0b2JTYWZlKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gYXRvYlNhZmUoZWwuc3R5bGVzKTtcblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU2NyaXB0IGRvZXNuJ3QgaGF2ZSBleHBvcnRlZCBjbGFzc1wiKTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnRNZXRhZGF0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0IHx8ICcnKTtcbiAgY29uc3QgcGF0aCA9IChwYXJlbnRQYXRoID8gcGFyZW50UGF0aCArICcvJyA6ICcnKSArIGVsZW1lbnRNZXRhZGF0YS5uYW1lO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZWxlbWVudE1ldGFkYXRhLFxuICAgIHBhdGgsXG4gICAgc2NyaXB0OiBzY3JpcHQ/LnJlcGxhY2UoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLCAnZXhwb3J0IGNsYXNzJyksXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiBlbC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gZWxlbWVudFRvTWV0YWRhdGEoY2hpbGQsIHBhdGgpKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YVRvRWxlbWVudCA9IChtZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhLCByZWN1cnNpdmU6IGJvb2xlYW4gPSB0cnVlKTogVUlFbGVtZW50ID0+IHtcbiAgY29uc3QgY2xlYW5NZXRhZGF0YSA9IG9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBPbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgRWxlbWVudERlZmF1bHRNZXRhZGF0YT4+KG1ldGFkYXRhLCBbXG4gICAgJ3BhdGgnLFxuICAgICd0ZW1wbGF0ZScsXG4gICAgJ3N0eWxlcycsXG4gICAgJ3NjcmlwdCcsXG4gICAgJ21ldGFkYXRhJyxcbiAgXSk7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgLi4uY2xlYW5NZXRhZGF0YSxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5wYXRofScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID0gYnRvYVNhZmUoXG4gICAgbWV0YWRhdGEuc2NyaXB0Py5yZXBsYWNlKFxuICAgICAgRVhQT1JURURfQ0xBU1NfUkVHRVgsXG4gICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgKSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBidG9hU2FmZShtZXRhZGF0YS50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGJ0b2FTYWZlKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IHBhdGggfSA9IG1ldGFkYXRhLm1vZGVsID8/IHt9O1xuICBjb25zdCBtb2RlbDogRWxlbWVudE1vZGVsIHwgdW5kZWZpbmVkID0gcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgLy8gY29uZmlndXJlZFN0eWxlc1xuICBpZiAoIW1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcztcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+KTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIGlmICghbWV0YWRhdGFTdHJpbmcpIHtcbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZCA9IHsgLi4ubmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpLCAuLi5leHRlbmQgfTtcbiAgcmV0dXJuIHNjcmlwdC5yZXBsYWNlKG1ldGFkYXRhU3RyaW5nLCBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEodXBkYXRlZCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRDb25maWcgPSAodHlwZTogRUxFTUVOVF9UWVBFKTogRWxlbWVudENvbmZpZyA9PiB7XG4gIHJldHVybiBDT05GSUdbdHlwZV07XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0VsZW1lbnRTdXBwb3J0SU8gPSAodHlwZTogRUxFTUVOVF9UWVBFKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBnZXRFbGVtZW50Q29uZmlnKHR5cGUpLnBsdWdpbnM/LmluY2x1ZGVzKElPUGx1Z2luKSA/PyBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAvLyBQb3RlbnRpYWxseSB0aGVyZSBhcmUgbW9yZSBpbnZhbGlkIGNoYXJhY3RlcnMgd2hpY2ggcmVxdWlyZXMgb2JqZWN0IGtleXMgdG8gYmUgd3JhcHBlZCBpbiBxdW90ZXNcbiAgICBpZiAoIW1hdGNoLmluY2x1ZGVzKCdAJykpIHtcbiAgICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4uZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aCgnQCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9FbGVtZW50QW5ndWxhcklPKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIWlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50QW5ndWxhcklPcyhuYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBuYW1lcy5yZWR1Y2UoKHRydW5rOiBzdHJpbmdbXSwgbmFtZSkgPT4ge1xuICAgIGNvbnN0IG5nSU8gPSB0b0VsZW1lbnRBbmd1bGFySU8obmFtZSk7XG5cbiAgICBpZiAobmdJTyAhPSBudWxsKSB7XG4gICAgICB0cnVuay5wdXNoKG5nSU8pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVuaztcbiAgfSwgW10pO1xufVxuIl19
@@ -15,10 +15,18 @@ export class ElementsResolver {
15
15
  this.config = config;
16
16
  this.renderableElements = [];
17
17
  this.sharedElements = [];
18
- this.sharedElements = this.flattenElements(elements)
19
- .filter(el => this.isSharedElement(el))
20
- .concat(sharedElements);
21
- this.elements = elements.map(el => this.processElementMetadata(el)).filter(isDefined);
18
+ const services = [];
19
+ const shared = [];
20
+ for (const el of this.flattenElements(elements)) {
21
+ if (el.type === 'SERVICE') {
22
+ services.push(el);
23
+ }
24
+ else if (this.isSharedElement(el)) {
25
+ shared.push(el);
26
+ }
27
+ }
28
+ this.sharedElements = shared.concat(sharedElements);
29
+ this.elements = [...services, ...elements.map(el => this.processElementMetadata(el)).filter(isDefined)];
22
30
  this.renderableElements = this.getRenderableElements(this.elements);
23
31
  this.uiDefMetadata = {
24
32
  ...this.uiDef,
@@ -80,6 +88,9 @@ export class ElementsResolver {
80
88
  }
81
89
  processElementMetadata(sourceElement) {
82
90
  let finalElement;
91
+ if (sourceElement.type === 'SERVICE') {
92
+ return;
93
+ }
83
94
  if (sourceElement.type === 'REFERENCE') {
84
95
  const sharedElement = this.getSharedElement(sourceElement);
85
96
  if (!sharedElement) {
@@ -192,4 +203,4 @@ export class ElementsResolver {
192
203
  return c && 'default' in c ? c.default : undefined;
193
204
  }
194
205
  }
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsS0FBMkIsRUFDbkMsUUFBMkIsRUFDM0IsaUJBQW9DLEVBQUUsRUFDOUIsTUFBeUI7UUFIekIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFHM0IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFSM0IsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFTN0MsSUFBSSxDQUFD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QU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyw0QkFBNEI7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbk1ldGFkYXRhLCBpc0RlZmluZWQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2Fzcyc7XG5pbXBvcnQgeyBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuLi9jbXMuZGVmYXVsdCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgTEFZT1VUIH0gZnJvbSAnLi4vY21zLmxheW91dHMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcHJldmlldyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEFuZ3VsYXJJT3MgfSBmcm9tICcuL2VsZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2NyaXB0Q2xhc3MgfSBmcm9tICcuL3NjcmlwdC51dGlscyc7XG5pbXBvcnQgeyBUcmFuc3BpbGF0aW9uV29ya2VyIH0gZnJvbSAnLi90cmFuc3BpbGF0aW9uLXdvcmtlcic7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSB1aURlZk1ldGFkYXRhOiBVSURlZmluaXRpb25NZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICAgcHJpdmF0ZSBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnLFxuICApIHtcbiAgICB0aGlzLnNoYXJlZEVsZW1lbnRzID0gdGhpcy5mbGF0dGVuRWxlbWVudHMoZWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQoc2hhcmVkRWxlbWVudHMpO1xuXG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzLm1hcChlbCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoZWwpKS5maWx0ZXIoaXNEZWZpbmVkKTtcblxuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG5cbiAgICB0aGlzLnVpRGVmTWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLnVpRGVmLFxuICAgICAgY3VzdG9taXphdGlvbjogdGhpcy51aURlZi5jdXN0b21pemF0aW9uID8/IHRoaXMuZ2V0RGVmYXVsdEN1c3RvbWl6YXRpb25TdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IG5ldyBUcmFuc3BpbGF0aW9uV29ya2VyKFtlbGVtZW50XSkuZ2V0KCk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlbmRlcmFibGVFbGVtZW50cywgLi4udGhpcy5zaGFyZWRFbGVtZW50c10uZmlsdGVyKGlzRGVmaW5lZCkucmVkdWNlKFxuICAgICAgKHRydW5rLCBlbCkgPT4gKHtcbiAgICAgICAgLi4udHJ1bmssXG4gICAgICAgIFtlbC5wYXRoXTogdGhpcy5yZXNvbHZlRWxlbWVudChlbCksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgLy8gSW4gYGN1c3RvbWl6YXRpb25Nb2RlYCByZW5kZXIgb25seSBlbGVtZW50IHdpdGggQ1VTVE9NSVpBVElPTl9QQUdFIHR5cGVcbiAgICAgIGNvbnN0IHR5cGVQZXJNb2RlID0gQm9vbGVhbih0aGlzLmNvbmZpZz8uY3VzdG9taXphdGlvbk1vZGUpID09PSAoZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkgJiYgdHlwZVBlck1vZGUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGxldCBzdHlsZXMgPSAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcblxuICAgIGNvbnN0IGxheW91dCA9IGVsZW1lbnQubGF5b3V0ICYmIExBWU9VVFtlbGVtZW50LmxheW91dF07XG4gICAgaWYgKGxheW91dD8uc3R5bGVzKSB7XG4gICAgICBzdHlsZXMgKz0gbGF5b3V0LnN0eWxlcztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRWxlbWVudE1ldGFkYXRhKHNvdXJjZUVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGZpbmFsRWxlbWVudDogRWxlbWVudE1ldGFkYXRhO1xuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnQgPSB0aGlzLmdldFNoYXJlZEVsZW1lbnQoc291cmNlRWxlbWVudCk7XG5cbiAgICAgIGlmICghc2hhcmVkRWxlbWVudCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFNoYXJlZCBlbGVtZW50IFwiJHtzb3VyY2VFbGVtZW50LnJlZmVyZW5jZX1cIiBub3QgZm91bmRgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaW5hbEVsZW1lbnQgPSB7XG4gICAgICAgIC4uLnNvdXJjZUVsZW1lbnQsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKHNoYXJlZEVsZW1lbnQuY2hpbGRyZW4sIHNvdXJjZUVsZW1lbnQucGF0aCksXG4gICAgICAgIHR5cGU6IHNoYXJlZEVsZW1lbnQudHlwZSxcbiAgICAgICAgdGVtcGxhdGU6IHNoYXJlZEVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogKHNoYXJlZEVsZW1lbnQuc3R5bGVzID8/ICcnKSArICdcXG4nICsgKHNvdXJjZUVsZW1lbnQuc3R5bGVzID8/ICcnKSxcbiAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5pbnB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5pbnB1dHMsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxFbGVtZW50ID0gc291cmNlRWxlbWVudDtcbiAgICAgIGRlbGV0ZSBzb3VyY2VFbGVtZW50LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBmaW5hbEVsZW1lbnQudGVtcGxhdGUgPSB0aGlzLnJlc29sdmVFbGVtZW50VGVtcGxhdGUoZmluYWxFbGVtZW50KTtcbiAgICBmaW5hbEVsZW1lbnQuc3R5bGVzID0gdGhpcy5yZXNvbHZlRWxlbWVudFN0eWxlcyhmaW5hbEVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZpbmFsRWxlbWVudCxcbiAgICAgIGNoaWxkcmVuOiBmaW5hbEVsZW1lbnQuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShjaGlsZCkpLmZpbHRlcihpc0RlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZENoaWxkcmVuKGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKGMgPT4ge1xuICAgICAgaWYgKCFjLnBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtlbE5hbWVdID0gYy5wYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBlbE5hbWU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKGMuY2hpbGRyZW4sIHBhdGgpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogVHlwZTxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IERFRkFVTFRfUExVR0lOU1t0aGlzLnVpRGVmTWV0YWRhdGEudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogZWxlbWVudC5pc1NoYXJlZCA/IGB2bGMtJHtrZWJhYkNhc2UoZWxlbWVudC5uYW1lKX1gIDogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmTWV0YWRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgICBpbnB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQuaW5wdXRzID8/IHt9KSksXG4gICAgICBvdXRwdXRzOiBnZXRFbGVtZW50QW5ndWxhcklPcyhPYmplY3Qua2V5cyhlbGVtZW50Lm91dHB1dHMgPz8ge30pKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ICs9IHNhc3MuY29tcGlsZVN0cmluZyhlbGVtZW50LnN0eWxlcykuY3NzO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q3VzdG9taXphdGlvblN0YXRlKCk6IHVua25vd24ge1xuICAgIGNvbnN0IGN1c3RvbWl6YXRpb25QYWdlID0gdGhpcy5lbGVtZW50cy5maW5kKGVsID0+IGVsLnR5cGUgPT09ICdDVVNUT01JWkFUSU9OX1BBR0UnKTtcbiAgICBpZiAoIWN1c3RvbWl6YXRpb25QYWdlPy5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjID0gZ2V0U2NyaXB0Q2xhc3MoY3VzdG9taXphdGlvblBhZ2UpO1xuICAgIHJldHVybiBjICYmICdkZWZhdWx0JyBpbiBjID8gYy5kZWZhdWx0IDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsS0FBMkIsRUFDbkMsUUFBMkIsRUFDM0IsaUJBQW9DLEVBQUUsRUFDOUIsTUFBeUI7UUFIekIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFHM0IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFSM0IsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFTN0MsTUFBTSxRQUFR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QUFNLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFFekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUVoQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQsIFVJRGVmaW5pdGlvbk1ldGFkYXRhIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBrZWJhYkNhc2UsIHNldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnO1xuaW1wb3J0IHsgREVGQVVMVF9QTFVHSU5TIH0gZnJvbSAnLi4vY21zLmRlZmF1bHQnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi4vY21zLmVsZW1lbnRzJztcbmltcG9ydCB7IExBWU9VVCB9IGZyb20gJy4uL2Ntcy5sYXlvdXRzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3ByZXZpZXcnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9QTFVHSU5TX1RPS0VOLFxuICBFTEVNRU5UX0NPTkZJRyxcbiAgRUxFTUVOVF9NRVRBREFUQSxcbiAgU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsXG4gIFVJX0RFRklOSVRJT05fTUVUQURBVEEsXG59IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEVsZW1lbnRBbmd1bGFySU9zIH0gZnJvbSAnLi9lbGVtZW50LnV0aWxzJztcbmltcG9ydCB7IGdldFNjcmlwdENsYXNzIH0gZnJvbSAnLi9zY3JpcHQudXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNwaWxhdGlvbldvcmtlciB9IGZyb20gJy4vdHJhbnNwaWxhdGlvbi13b3JrZXInO1xuXG5leHBvcnQgY2xhc3MgRWxlbWVudHNSZXNvbHZlciB7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG5cbiAgcHJpdmF0ZSByZW5kZXJhYmxlRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgdWlEZWZNZXRhZGF0YTogVUlEZWZpbml0aW9uTWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1aURlZjogVUlEZWZpbml0aW9uTWV0YWRhdGEsXG4gICAgZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdLFxuICAgIHNoYXJlZEVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdLFxuICAgIHByaXZhdGUgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyxcbiAgKSB7XG4gICAgY29uc3Qgc2VydmljZXM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gICAgY29uc3Qgc2hhcmVkOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZWwgb2YgdGhpcy5mbGF0dGVuRWxlbWVudHMoZWxlbWVudHMpKSB7XG4gICAgICBpZiAoZWwudHlwZSA9PT0gJ1NFUlZJQ0UnKSB7XG4gICAgICAgIHNlcnZpY2VzLnB1c2goZWwpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkpIHtcbiAgICAgICAgc2hhcmVkLnB1c2goZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSBzaGFyZWQuY29uY2F0KHNoYXJlZEVsZW1lbnRzKTtcbiAgICB0aGlzLmVsZW1lbnRzID0gWy4uLnNlcnZpY2VzLCAuLi5lbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCldO1xuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG5cbiAgICB0aGlzLnVpRGVmTWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLnVpRGVmLFxuICAgICAgY3VzdG9taXphdGlvbjogdGhpcy51aURlZi5jdXN0b21pemF0aW9uID8/IHRoaXMuZ2V0RGVmYXVsdEN1c3RvbWl6YXRpb25TdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IG5ldyBUcmFuc3BpbGF0aW9uV29ya2VyKFtlbGVtZW50XSkuZ2V0KCk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlbmRlcmFibGVFbGVtZW50cywgLi4udGhpcy5zaGFyZWRFbGVtZW50c10uZmlsdGVyKGlzRGVmaW5lZCkucmVkdWNlKFxuICAgICAgKHRydW5rLCBlbCkgPT4gKHtcbiAgICAgICAgLi4udHJ1bmssXG4gICAgICAgIFtlbC5wYXRoXTogdGhpcy5yZXNvbHZlRWxlbWVudChlbCksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgLy8gSW4gYGN1c3RvbWl6YXRpb25Nb2RlYCByZW5kZXIgb25seSBlbGVtZW50IHdpdGggQ1VTVE9NSVpBVElPTl9QQUdFIHR5cGVcbiAgICAgIGNvbnN0IHR5cGVQZXJNb2RlID0gQm9vbGVhbih0aGlzLmNvbmZpZz8uY3VzdG9taXphdGlvbk1vZGUpID09PSAoZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkgJiYgdHlwZVBlck1vZGUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGxldCBzdHlsZXMgPSAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcblxuICAgIGNvbnN0IGxheW91dCA9IGVsZW1lbnQubGF5b3V0ICYmIExBWU9VVFtlbGVtZW50LmxheW91dF07XG4gICAgaWYgKGxheW91dD8uc3R5bGVzKSB7XG4gICAgICBzdHlsZXMgKz0gbGF5b3V0LnN0eWxlcztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRWxlbWVudE1ldGFkYXRhKHNvdXJjZUVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGZpbmFsRWxlbWVudDogRWxlbWVudE1ldGFkYXRhO1xuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1NFUlZJQ0UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnQgPSB0aGlzLmdldFNoYXJlZEVsZW1lbnQoc291cmNlRWxlbWVudCk7XG5cbiAgICAgIGlmICghc2hhcmVkRWxlbWVudCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFNoYXJlZCBlbGVtZW50IFwiJHtzb3VyY2VFbGVtZW50LnJlZmVyZW5jZX1cIiBub3QgZm91bmRgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaW5hbEVsZW1lbnQgPSB7XG4gICAgICAgIC4uLnNvdXJjZUVsZW1lbnQsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKHNoYXJlZEVsZW1lbnQuY2hpbGRyZW4sIHNvdXJjZUVsZW1lbnQucGF0aCksXG4gICAgICAgIHR5cGU6IHNoYXJlZEVsZW1lbnQudHlwZSxcbiAgICAgICAgdGVtcGxhdGU6IHNoYXJlZEVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogKHNoYXJlZEVsZW1lbnQuc3R5bGVzID8/ICcnKSArICdcXG4nICsgKHNvdXJjZUVsZW1lbnQuc3R5bGVzID8/ICcnKSxcbiAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5pbnB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5pbnB1dHMsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxFbGVtZW50ID0gc291cmNlRWxlbWVudDtcbiAgICAgIGRlbGV0ZSBzb3VyY2VFbGVtZW50LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBmaW5hbEVsZW1lbnQudGVtcGxhdGUgPSB0aGlzLnJlc29sdmVFbGVtZW50VGVtcGxhdGUoZmluYWxFbGVtZW50KTtcbiAgICBmaW5hbEVsZW1lbnQuc3R5bGVzID0gdGhpcy5yZXNvbHZlRWxlbWVudFN0eWxlcyhmaW5hbEVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZpbmFsRWxlbWVudCxcbiAgICAgIGNoaWxkcmVuOiBmaW5hbEVsZW1lbnQuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShjaGlsZCkpLmZpbHRlcihpc0RlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZENoaWxkcmVuKGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKGMgPT4ge1xuICAgICAgaWYgKCFjLnBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtlbE5hbWVdID0gYy5wYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBlbE5hbWU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKGMuY2hpbGRyZW4sIHBhdGgpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogVHlwZTxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IERFRkFVTFRfUExVR0lOU1t0aGlzLnVpRGVmTWV0YWRhdGEudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogZWxlbWVudC5pc1NoYXJlZCA/IGB2bGMtJHtrZWJhYkNhc2UoZWxlbWVudC5uYW1lKX1gIDogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmTWV0YWRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgICBpbnB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQuaW5wdXRzID8/IHt9KSksXG4gICAgICBvdXRwdXRzOiBnZXRFbGVtZW50QW5ndWxhcklPcyhPYmplY3Qua2V5cyhlbGVtZW50Lm91dHB1dHMgPz8ge30pKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ICs9IHNhc3MuY29tcGlsZVN0cmluZyhlbGVtZW50LnN0eWxlcykuY3NzO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q3VzdG9taXphdGlvblN0YXRlKCk6IHVua25vd24ge1xuICAgIGNvbnN0IGN1c3RvbWl6YXRpb25QYWdlID0gdGhpcy5lbGVtZW50cy5maW5kKGVsID0+IGVsLnR5cGUgPT09ICdDVVNUT01JWkFUSU9OX1BBR0UnKTtcbiAgICBpZiAoIWN1c3RvbWl6YXRpb25QYWdlPy5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjID0gZ2V0U2NyaXB0Q2xhc3MoY3VzdG9taXphdGlvblBhZ2UpO1xuICAgIHJldHVybiBjICYmICdkZWZhdWx0JyBpbiBjID8gYy5kZWZhdWx0IDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=