@valtimo/process-link 12.6.0 → 12.7.0

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 (30) hide show
  1. package/esm2022/lib/components/choose-process-link-type/choose-process-link-type.component.mjs +3 -3
  2. package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +1 -1
  3. package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +5 -4
  4. package/esm2022/lib/components/select-ui-component/select-ui-component.component.mjs +128 -0
  5. package/esm2022/lib/constants/injection-tokens.mjs +3 -2
  6. package/esm2022/lib/models/form-custom-component.model.mjs +17 -0
  7. package/esm2022/lib/models/index.mjs +2 -1
  8. package/esm2022/lib/models/process-link.model.mjs +1 -1
  9. package/esm2022/lib/process-link.module.mjs +11 -5
  10. package/esm2022/lib/services/process-link-step.service.mjs +13 -1
  11. package/esm2022/lib/services/process-link.service.mjs +13 -9
  12. package/fesm2022/valtimo-process-link.mjs +176 -20
  13. package/fesm2022/valtimo-process-link.mjs.map +1 -1
  14. package/lib/components/select-ui-component/select-ui-component.component.d.ts +28 -0
  15. package/lib/components/select-ui-component/select-ui-component.component.d.ts.map +1 -0
  16. package/lib/constants/injection-tokens.d.ts +3 -2
  17. package/lib/constants/injection-tokens.d.ts.map +1 -1
  18. package/lib/models/form-custom-component.model.d.ts +16 -0
  19. package/lib/models/form-custom-component.model.d.ts.map +1 -0
  20. package/lib/models/index.d.ts +1 -0
  21. package/lib/models/index.d.ts.map +1 -1
  22. package/lib/models/process-link.model.d.ts +15 -2
  23. package/lib/models/process-link.model.d.ts.map +1 -1
  24. package/lib/process-link.module.d.ts +9 -8
  25. package/lib/process-link.module.d.ts.map +1 -1
  26. package/lib/services/process-link-step.service.d.ts +1 -0
  27. package/lib/services/process-link-step.service.d.ts.map +1 -1
  28. package/lib/services/process-link.service.d.ts +3 -3
  29. package/lib/services/process-link.service.d.ts.map +1 -1
  30. package/package.json +1 -1
@@ -26,7 +26,7 @@ import { PluginConfigurationContainerModule, PluginTranslatePipeModule } from '@
26
26
  import { PluginActionConfigurationComponent } from './components/plugin-action-configuration/plugin-action-configuration.component';
27
27
  import { ProcessLinkComponent } from './components/process-link/process-link.component';
28
28
  import { ProcessLinkModalComponent } from './components/process-link-modal/process-link-modal.component';
29
- import { ButtonModule as CarbonButtonModule, ComboBoxModule, IconModule, InputModule, LoadingModule, ModalModule as CarbonModalModule, ProgressIndicatorModule, SelectModule, StructuredListModule, TilesModule, ToggleModule, } from 'carbon-components-angular';
29
+ import { ButtonModule as CarbonButtonModule, ComboBoxModule, IconModule, InputModule, LayerModule, LoadingModule, ModalModule as CarbonModalModule, ProgressIndicatorModule, SelectModule, StructuredListModule, TilesModule, ToggleModule, } from 'carbon-components-angular';
30
30
  import { ChooseProcessLinkTypeComponent } from './components/choose-process-link-type';
31
31
  import { SelectFormComponent } from './components/select-form';
32
32
  import { FormFlowComponent } from './components/form-flow/form-flow.component';
@@ -36,6 +36,7 @@ import { SelectUrlComponent } from './components/select-url/select-url.component
36
36
  import { UrlValidatorService } from './services/url-validator.service';
37
37
  import { UrlResolverService } from './services/url-resolver.service';
38
38
  import { FormDisplayConfigurationComponent } from './components/form-display-configuration/form-display-configuration.component';
39
+ import { SelectUIComponentComponent } from './components/select-ui-component/select-ui-component.component';
39
40
  import * as i0 from "@angular/core";
40
41
  export class ProcessLinkModule {
41
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -51,7 +52,8 @@ export class ProcessLinkModule {
51
52
  SelectFormFlowComponent,
52
53
  FormFlowConfigurationContainerComponent,
53
54
  SelectUrlComponent,
54
- FormDisplayConfigurationComponent], imports: [CommonModule,
55
+ FormDisplayConfigurationComponent,
56
+ SelectUIComponentComponent], imports: [CommonModule,
55
57
  ProcessLinkRoutingModule,
56
58
  FormsModule,
57
59
  ReactiveFormsModule,
@@ -82,7 +84,8 @@ export class ProcessLinkModule {
82
84
  RenderInPageHeaderDirectiveModule,
83
85
  SelectModule,
84
86
  ToggleModule,
85
- CarbonMultiInputModule], exports: [ProcessLinkComponent,
87
+ CarbonMultiInputModule,
88
+ LayerModule], exports: [ProcessLinkComponent,
86
89
  SelectPluginConfigurationComponent,
87
90
  SelectPluginActionComponent,
88
91
  PluginActionConfigurationComponent,
@@ -120,7 +123,8 @@ export class ProcessLinkModule {
120
123
  RenderInPageHeaderDirectiveModule,
121
124
  SelectModule,
122
125
  ToggleModule,
123
- CarbonMultiInputModule] }); }
126
+ CarbonMultiInputModule,
127
+ LayerModule] }); }
124
128
  }
125
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, decorators: [{
126
130
  type: NgModule,
@@ -139,6 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
139
143
  FormFlowConfigurationContainerComponent,
140
144
  SelectUrlComponent,
141
145
  FormDisplayConfigurationComponent,
146
+ SelectUIComponentComponent,
142
147
  ],
143
148
  imports: [
144
149
  CommonModule,
@@ -173,6 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
173
178
  SelectModule,
174
179
  ToggleModule,
175
180
  CarbonMultiInputModule,
181
+ LayerModule,
176
182
  ],
177
183
  exports: [
178
184
  ProcessLinkComponent,
@@ -186,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
186
192
  providers: [UrlValidatorService, UrlResolverService],
187
193
  }]
188
194
  }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvcHJvY2Vzcy1saW5rLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDM0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osV0FBVyxFQUNYLGVBQWUsRUFDZixpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMsa0NBQWtDLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixP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QTJCO3dCQUMzQixrQ0FBa0M7d0JBQ2xDLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5QixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix1Q0FBdUM7d0JBQ3ZDLGtCQUFrQjt3QkFDbEIsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLDhCQUE4Qjt3QkFDOUIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCx5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2Ysa0NBQWtDO3dCQUNsQyxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWiw4QkFBOEI7d0JBQzlCLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxpQ0FBaUM7d0JBQ2pDLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGtDQUFrQzt3QkFDbEMsMkJBQTJCO3dCQUMzQixrQ0FBa0M7d0JBQ2xDLHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CO29CQUNELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTGlua1Byb2Nlc3NEaWFncmFtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1saW5rLXByb2Nlc3MtZGlhZ3JhbS9mb3JtLWxpbmstcHJvY2Vzcy1kaWFncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UHJvY2Vzc0xpbmtSb3V0aW5nTW9kdWxlfSBmcm9tICcuL3Byb2Nlc3MtbGluay1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUsXG4gIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gIEZvcm1Jb01vZHVsZSxcbiAgTW9kYWxNb2R1bGUsXG4gIFBhcmFncmFwaE1vZHVsZSxcbiAgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RNb2R1bGUsXG4gIFN0ZXBwZXJNb2R1bGUsXG4gIFRpdGxlTW9kdWxlLFxuICBUb29sdGlwSWNvbk1vZHVsZSxcbiAgVG9vbHRpcE1vZHVsZSxcbiAgVmFsdGltb0Nkc01vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICBWQ2FyZE1vZHVsZSxcbiAgVk1vZGFsTW9kdWxlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U2VsZWN0UGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbi9zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0UGx1Z2luQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LXBsdWdpbi1hY3Rpb24vc2VsZWN0LXBsdWdpbi1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkNvbnRhaW5lck1vZHVsZSwgUGx1Z2luVHJhbnNsYXRlUGlwZU1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7UGx1Z2luQWN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbi9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7UHJvY2Vzc0xpbmtDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWxpbmsvcHJvY2Vzcy1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQge1Byb2Nlc3NMaW5rTW9kYWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUgYXMgQ2FyYm9uQnV0dG9uTW9kdWxlLFxuICBDb21ib0JveE1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExvYWRpbmdNb2R1bGUsXG4gIE1vZGFsTW9kdWxlIGFzIENhcmJvbk1vZGFsTW9kdWxlLFxuICBQcm9ncmVzc0luZGljYXRvck1vZHVsZSxcbiAgU2VsZWN0TW9kdWxlLFxuICBTdHJ1Y3R1cmVkTGlzdE1vZHVsZSxcbiAgVGlsZXNNb2R1bGUsXG4gIFRvZ2dsZU1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0Nob29zZVByb2Nlc3NMaW5rVHlwZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Nob29zZS1wcm9jZXNzLWxpbmstdHlwZSc7XG5pbXBvcnQge1NlbGVjdEZvcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtZm9ybSc7XG5pbXBvcnQge0Zvcm1GbG93Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1mbG93L2Zvcm0tZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RGb3JtRmxvd0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1mb3JtLWZsb3cnO1xuaW1wb3J0IHtGb3JtRmxvd0NvbmZpZ3VyYXRpb25Db250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWZsb3ctY29uZmlndXJhdGlvbi1jb250YWluZXInO1xuaW1wb3J0IHtTZWxlY3RVcmxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtdXJsL3NlbGVjdC11cmwuY29tcG9uZW50JztcbmltcG9ydCB7VXJsVmFsaWRhdG9yU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy91cmwtdmFsaWRhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmxSZXNvbHZlclNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvdXJsLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtRGlzcGxheUNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWRpc3BsYXktY29uZmlndXJhdGlvbi9mb3JtLWRpc3BsYXktY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcm9jZXNzTGlua0NvbXBvbmVudCxcbiAgICBGb3JtTGlua1Byb2Nlc3NEaWFncmFtQ29tcG9uZW50LFxuICAgIFNlbGVjdFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgU2VsZWN0UGx1Z2luQWN0aW9uQ29tcG9uZW50LFxuICAgIFBsdWdpbkFjdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgUHJvY2Vzc0xpbmtNb2RhbENvbXBvbmVudCxcbiAgICBDaG9vc2VQcm9jZXNzTGlua1R5cGVDb21wb25lbnQsXG4gICAgU2VsZWN0Rm9ybUNvbXBvbmVudCxcbiAgICBGb3JtRmxvd0NvbXBvbmVudCxcbiAgICBTZWxlY3RGb3JtRmxvd0NvbXBvbmVudCxcbiAgICBGb3JtRmxvd0NvbmZpZ3VyYXRpb25Db250YWluZXJDb21wb25lbnQsXG4gICAgU2VsZWN0VXJsQ29tcG9uZW50LFxuICAgIEZvcm1EaXNwbGF5Q29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcm9jZXNzTGlua1JvdXRpbmdNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFN0ZXBwZXJNb2R1bGUsXG4gICAgVk1vZGFsTW9kdWxlLFxuICAgIFZDYXJkTW9kdWxlLFxuICAgIFBsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgUGFyYWdyYXBoTW9kdWxlLFxuICAgIFBsdWdpbkNvbmZpZ3VyYXRpb25Db250YWluZXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFRpdGxlTW9kdWxlLFxuICAgIENhcmJvbk1vZGFsTW9kdWxlLFxuICAgIFByb2dyZXNzSW5kaWNhdG9yTW9kdWxlLFxuICAgIENhcmJvbkJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgQ29tYm9Cb3hNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgVG9vbHRpcEljb25Nb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgVmFsdGltb0Nkc01vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICAgIFN0cnVjdHVyZWRMaXN0TW9kdWxlLFxuICAgIFRpbGVzTW9kdWxlLFxuICAgIFJlbmRlckluUGFnZUhlYWRlckRpcmVjdGl2ZU1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQcm9jZXNzTGlua0NvbXBvbmVudCxcbiAgICBTZWxlY3RQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFNlbGVjdFBsdWdpbkFjdGlvbkNvbXBvbmVudCxcbiAgICBQbHVnaW5BY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFByb2Nlc3NMaW5rTW9kYWxDb21wb25lbnQsXG4gICAgRm9ybUZsb3dDb21wb25lbnQsXG4gICAgU2VsZWN0VXJsQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtVcmxWYWxpZGF0b3JTZXJ2aWNlLCBVcmxSZXNvbHZlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTGlua01vZHVsZSB7fVxuIl19
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvcHJvY2Vzcy1saW5rLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDM0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osV0FBVyxFQUNYLGVBQWUsRUFDZixpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMsa0NBQWtDLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixP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ZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTGlua1Byb2Nlc3NEaWFncmFtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1saW5rLXByb2Nlc3MtZGlhZ3JhbS9mb3JtLWxpbmstcHJvY2Vzcy1kaWFncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UHJvY2Vzc0xpbmtSb3V0aW5nTW9kdWxlfSBmcm9tICcuL3Byb2Nlc3MtbGluay1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUsXG4gIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gIEZvcm1Jb01vZHVsZSxcbiAgTW9kYWxNb2R1bGUsXG4gIFBhcmFncmFwaE1vZHVsZSxcbiAgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RNb2R1bGUsXG4gIFN0ZXBwZXJNb2R1bGUsXG4gIFRpdGxlTW9kdWxlLFxuICBUb29sdGlwSWNvbk1vZHVsZSxcbiAgVG9vbHRpcE1vZHVsZSxcbiAgVmFsdGltb0Nkc01vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICBWQ2FyZE1vZHVsZSxcbiAgVk1vZGFsTW9kdWxlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U2VsZWN0UGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbi9zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0UGx1Z2luQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LXBsdWdpbi1hY3Rpb24vc2VsZWN0LXBsdWdpbi1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkNvbnRhaW5lck1vZHVsZSwgUGx1Z2luVHJhbnNsYXRlUGlwZU1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7UGx1Z2luQWN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbi9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7UHJvY2Vzc0xpbmtDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWxpbmsvcHJvY2Vzcy1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQge1Byb2Nlc3NMaW5rTW9kYWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUgYXMgQ2FyYm9uQnV0dG9uTW9kdWxlLFxuICBDb21ib0JveE1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExheWVyTW9kdWxlLFxuICBMb2FkaW5nTW9kdWxlLFxuICBNb2RhbE1vZHVsZSBhcyBDYXJib25Nb2RhbE1vZHVsZSxcbiAgUHJvZ3Jlc3NJbmRpY2F0b3JNb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbiAgU3RydWN0dXJlZExpc3RNb2R1bGUsXG4gIFRpbGVzTW9kdWxlLFxuICBUb2dnbGVNb2R1bGUsXG59IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtDaG9vc2VQcm9jZXNzTGlua1R5cGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jaG9vc2UtcHJvY2Vzcy1saW5rLXR5cGUnO1xuaW1wb3J0IHtTZWxlY3RGb3JtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWZvcm0nO1xuaW1wb3J0IHtGb3JtRmxvd0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZmxvdy9mb3JtLWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0Rm9ybUZsb3dDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtZm9ybS1mbG93JztcbmltcG9ydCB7Rm9ybUZsb3dDb25maWd1cmF0aW9uQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1mbG93LWNvbmZpZ3VyYXRpb24tY29udGFpbmVyJztcbmltcG9ydCB7U2VsZWN0VXJsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LXVybC9zZWxlY3QtdXJsLmNvbXBvbmVudCc7XG5pbXBvcnQge1VybFZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvdXJsLXZhbGlkYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7VXJsUmVzb2x2ZXJTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL3VybC1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7Rm9ybURpc3BsYXlDb25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1kaXNwbGF5LWNvbmZpZ3VyYXRpb24vZm9ybS1kaXNwbGF5LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdFVJQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC11aS1jb21wb25lbnQvc2VsZWN0LXVpLWNvbXBvbmVudC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcm9jZXNzTGlua0NvbXBvbmVudCxcbiAgICBGb3JtTGlua1Byb2Nlc3NEaWFncmFtQ29tcG9uZW50LFxuICAgIFNlbGVjdFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgU2VsZWN0UGx1Z2luQWN0aW9uQ29tcG9uZW50LFxuICAgIFBsdWdpbkFjdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgUHJvY2Vzc0xpbmtNb2RhbENvbXBvbmVudCxcbiAgICBDaG9vc2VQcm9jZXNzTGlua1R5cGVDb21wb25lbnQsXG4gICAgU2VsZWN0Rm9ybUNvbXBvbmVudCxcbiAgICBGb3JtRmxvd0NvbXBvbmVudCxcbiAgICBTZWxlY3RGb3JtRmxvd0NvbXBvbmVudCxcbiAgICBGb3JtRmxvd0NvbmZpZ3VyYXRpb25Db250YWluZXJDb21wb25lbnQsXG4gICAgU2VsZWN0VXJsQ29tcG9uZW50LFxuICAgIEZvcm1EaXNwbGF5Q29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgICBTZWxlY3RVSUNvbXBvbmVudENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcm9jZXNzTGlua1JvdXRpbmdNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBTZWFyY2hhYmxlRHJvcGRvd25TZWxlY3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFN0ZXBwZXJNb2R1bGUsXG4gICAgVk1vZGFsTW9kdWxlLFxuICAgIFZDYXJkTW9kdWxlLFxuICAgIFBsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgUGFyYWdyYXBoTW9kdWxlLFxuICAgIFBsdWdpbkNvbmZpZ3VyYXRpb25Db250YWluZXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFRpdGxlTW9kdWxlLFxuICAgIENhcmJvbk1vZGFsTW9kdWxlLFxuICAgIFByb2dyZXNzSW5kaWNhdG9yTW9kdWxlLFxuICAgIENhcmJvbkJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgQ29tYm9Cb3hNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgVG9vbHRpcEljb25Nb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgVmFsdGltb0Nkc01vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICAgIFN0cnVjdHVyZWRMaXN0TW9kdWxlLFxuICAgIFRpbGVzTW9kdWxlLFxuICAgIFJlbmRlckluUGFnZUhlYWRlckRpcmVjdGl2ZU1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gICAgTGF5ZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQcm9jZXNzTGlua0NvbXBvbmVudCxcbiAgICBTZWxlY3RQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFNlbGVjdFBsdWdpbkFjdGlvbkNvbXBvbmVudCxcbiAgICBQbHVnaW5BY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFByb2Nlc3NMaW5rTW9kYWxDb21wb25lbnQsXG4gICAgRm9ybUZsb3dDb21wb25lbnQsXG4gICAgU2VsZWN0VXJsQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtVcmxWYWxpZGF0b3JTZXJ2aWNlLCBVcmxSZXNvbHZlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTGlua01vZHVsZSB7fVxuIl19
@@ -75,6 +75,13 @@ export class ProcessLinkStepService {
75
75
  this._steps$.next([{ label: 'selectForm' }]);
76
76
  this._currentStepIndex$.next(0);
77
77
  }
78
+ setUIComponentStep() {
79
+ this._steps$.next([
80
+ { label: 'chooseProcessLinkType', secondaryLabel: 'processLinkType.ui-component' },
81
+ { label: 'uiComponent' }
82
+ ]);
83
+ this._currentStepIndex$.next(1);
84
+ }
78
85
  setFormFlowSteps() {
79
86
  this._steps$.next([
80
87
  { label: 'chooseProcessLinkType', secondaryLabel: 'processLinkType.form-flow' },
@@ -238,6 +245,11 @@ export class ProcessLinkStepService {
238
245
  this.buttonService.showSaveButton();
239
246
  }
240
247
  break;
248
+ case 'ui-component':
249
+ this.setUIComponentStep();
250
+ this.buttonService.showBackButton();
251
+ this.buttonService.showSaveButton();
252
+ break;
241
253
  }
242
254
  }
243
255
  setChoiceSteps() {
@@ -254,4 +266,4 @@ export class ProcessLinkStepService {
254
266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, decorators: [{
255
267
  type: Injectable
256
268
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ProcessLinkButtonService }, { type: i3.PluginStateService }, { type: i4.PluginTranslationService }] });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLXN0ZXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvc2VydmljZXMvcHJvY2Vzcy1saW5rLXN0ZXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUk3RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUtwQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLElBQUksTUFBTTtRQUNSLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLGNBQWM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDLElBQUksQ0FDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakIsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSTtnQkFDekIsY0FBYyxFQUFFLElBQUks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RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3RlcH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQcm9jZXNzTGlua0NvbmZpZ3VyYXRpb25TdGVwLCBQcm9jZXNzTGlua1R5cGV9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtQcm9jZXNzTGlua0J1dHRvblNlcnZpY2V9IGZyb20gJy4vcHJvY2Vzcy1saW5rLWJ1dHRvbi5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQbHVnaW5TdGF0ZVNlcnZpY2V9IGZyb20gJy4vcGx1Z2luLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQbHVnaW5UcmFuc2xhdGlvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RlcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxTdGVwPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFN0ZXBJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc2FibGVTdGVwcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGFzT25lUHJvY2Vzc0xpbmtUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGdldCBzdGVwcyQoKTogT2JzZXJ2YWJsZTxBcnJheTxTdGVwPj4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX3N0ZXBzJCxcbiAgICAgIHRoaXMuX2Rpc2FibGVTdGVwcyQsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICBdKS5waXBlKFxuICAgICAgZmlsdGVyKChbc3RlcHNdKSA9PiAhIXN0ZXBzKSxcbiAgICAgIG1hcCgoW3N0ZXBzLCBkaXNhYmxlU3RlcHNdKSA9PlxuICAgICAgICBzdGVwcy5tYXAoc3RlcCA9PiAoe1xuICAgICAgICAgIC4uLnN0ZXAsXG4gICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVTdGVwcyxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHByb2Nlc3NMaW5rU3RlcHMuJHtzdGVwLmxhYmVsfWApLFxuICAgICAgICAgIC4uLihzdGVwLnNlY29uZGFyeUxhYmVsICYmIHtcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChzdGVwLnNlY29uZGFyeUxhYmVsKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50U3RlcEluZGV4JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50U3RlcElkJCgpOiBPYnNlcnZhYmxlPFByb2Nlc3NMaW5rQ29uZmlndXJhdGlvblN0ZXAgfCAnJz4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zdGVwcyQsIHRoaXMuY3VycmVudFN0ZXBJbmRleCRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbc3RlcHMsIGN1cnJlbnRTdGVwSW5kZXhdKSA9PiAhIXN0ZXBzICYmIHR5cGVvZiBjdXJyZW50U3RlcEluZGV4ID09PSAnbnVtYmVyJyksXG4gICAgICBtYXAoKFtzdGVwcywgY3VycmVudFN0ZXBJbmRleF0pID0+XG4gICAgICAgIHN0ZXBzLmxlbmd0aCA+IDAgPyAoc3RlcHNbY3VycmVudFN0ZXBJbmRleF0/LmxhYmVsIGFzIFByb2Nlc3NMaW5rQ29uZmlndXJhdGlvblN0ZXApIDogJydcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZ2V0IGhhc09uZVByb2Nlc3NMaW5rVHlwZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc09uZVByb2Nlc3NMaW5rVHlwZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5TdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblRyYW5zbGF0ZVNlcnZpY2U6IFBsdWdpblRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCQubmV4dCgwKTtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbXSk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RlcHMoYXZhaWxhYmxlUHJvY2Vzc0xpbmtUeXBlczogQXJyYXk8UHJvY2Vzc0xpbmtUeXBlPik6IHZvaWQge1xuICAgIGlmIChhdmFpbGFibGVQcm9jZXNzTGlua1R5cGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuc2V0Q2hvaWNlU3RlcHMoKTtcbiAgICB9XG4gIH1cblxuICBzZXRGb3JtU3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUHJvY2Vzc0xpbmtUeXBlJywgc2Vjb25kYXJ5TGFiZWw6ICdwcm9jZXNzTGlua1R5cGUuZm9ybSd9LFxuICAgICAge2xhYmVsOiAnc2VsZWN0Rm9ybSd9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBzZXRTaW5nbGVGb3JtU3RlcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbe2xhYmVsOiAnc2VsZWN0Rm9ybSd9XSk7XG4gICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCQubmV4dCgwKTtcbiAgfVxuXG4gIHNldEZvcm1GbG93U3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUHJvY2Vzc0xpbmtUeXBlJywgc2Vjb25kYXJ5TGFiZWw6ICdwcm9jZXNzTGlua1R5cGUuZm9ybS1mbG93J30sXG4gICAgICB7bGFiZWw6ICdzZWxlY3RGb3JtRmxvdyd9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBzZXRTaW5nbGVGb3JtRmxvd1N0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW3tsYWJlbDogJ3NlbGVjdEZvcm1GbG93J31dKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDApO1xuICB9XG5cbiAgc2V0Q2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvblN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgICAge2xhYmVsOiAnY29uZmlndXJlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBzZXRTaW5nbGVDaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uU3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgICAge2xhYmVsOiAnY29uZmlndXJlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMCk7XG4gIH1cblxuICBzZXRDaG9vc2VQbHVnaW5BY3Rpb25TdGVwcygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2hhc09uZVByb2Nlc3NMaW5rVHlwZSQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW2hhc09uZVR5cGUsIHNlbGVjdGVkQ29uZmlndXJhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKGhhc09uZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLl9zdGVwcyQubmV4dChbXG4gICAgICAgICAgICB7bGFiZWw6ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkQ29uZmlndXJhdGlvbi50aXRsZX0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjaG9vc2VQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICAgIHtsYWJlbDogJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicsIGRpc2FibGVkOiB0cnVlfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDEpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93TmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlU2F2ZUJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlTmV4dEJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgICAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJ30sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nLCBkaXNhYmxlZDogdHJ1ZX0sXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCQubmV4dCgyKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd05leHRCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcblxuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlU2F2ZUJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlTmV4dEJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldENvbmZpZ3VyZVBsdWdpbkFjdGlvblN0ZXBzKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5faGFzT25lUHJvY2Vzc0xpbmtUeXBlJCxcbiAgICAgIHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtoYXNPbmVUeXBlLCBzZWxlY3RlZENvbmZpZ3VyYXRpb24sIHNlbGVjdGVkRnVuY3Rpb25dKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbiA9IHRoaXMucGx1Z2luVHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIHNlbGVjdGVkRnVuY3Rpb24ua2V5LFxuICAgICAgICAgIHNlbGVjdGVkQ29uZmlndXJhdGlvbi5wbHVnaW5EZWZpbml0aW9uLmtleVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChoYXNPbmVUeXBlKSB7XG4gICAgICAgICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbn0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDIpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlTmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgICAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbn0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDMpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlTmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVUkxTdGVwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbXG4gICAgICB7bGFiZWw6ICdjaG9vc2VQcm9jZXNzTGlua1R5cGUnLCBzZWNvbmRhcnlMYWJlbDogJ3Byb2Nlc3NMaW5rVHlwZS51cmwnfSxcbiAgICAgIHtsYWJlbDogJ3NlbGVjdFVSTCd9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2luZ2xlVVJMU3RlcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbe2xhYmVsOiAnc2VsZWN0VVJMJ31dKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDApO1xuICB9XG5cbiAgZGlzYWJsZVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVTdGVwcyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGVuYWJsZVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVTdGVwcyQubmV4dChmYWxzZSk7XG4gIH1cblxuICBzZXRIYXNPbmVQcm9jZXNzTGlua1R5cGUoaGFzT25lOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5faGFzT25lUHJvY2Vzc0xpbmtUeXBlJC5uZXh0KGhhc09uZSk7XG4gIH1cblxuICBzZXRQcm9jZXNzTGlua1R5cGVTdGVwcyhwcm9jZXNzTGlua1R5cGVJZDogc3RyaW5nLCBoYXNPbmVPcHRpb24/OiBib29sZWFuKTogdm9pZCB7XG4gICAgc3dpdGNoIChwcm9jZXNzTGlua1R5cGVJZCkge1xuICAgICAgY2FzZSAnZm9ybSc6XG4gICAgICAgIGlmIChoYXNPbmVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnNldFNpbmdsZUZvcm1TdGVwKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLmhpZGVCYWNrQnV0dG9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRGb3JtU3RlcHMoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd1NhdmVCdXR0b24oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmb3JtLWZsb3cnOlxuICAgICAgICBpZiAoaGFzT25lT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZXRTaW5nbGVGb3JtRmxvd1N0ZXAoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuaGlkZVNhdmVCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuaGlkZUJhY2tCdXR0b24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldEZvcm1GbG93U3RlcHMoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd1NhdmVCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3BsdWdpbic6XG4gICAgICAgIGlmIChoYXNPbmVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnNldFNpbmdsZUNob29zZVBsdWdpbkNvbmZpZ3VyYXRpb25TdGVwcygpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlQmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93TmV4dEJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0Q2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvblN0ZXBzKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dCYWNrQnV0dG9uKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dOZXh0QnV0dG9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1cmwnOlxuICAgICAgICBpZiAoaGFzT25lT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZXRTaW5nbGVVUkxTdGVwKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLmhpZGVCYWNrQnV0dG9uKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dTYXZlQnV0dG9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRVUkxTdGVwcygpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hvaWNlU3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUHJvY2Vzc0xpbmtUeXBlJ30sXG4gICAgICB7bGFiZWw6ICdlbXB0eScsIGRpc2FibGVkOiB0cnVlfSxcbiAgICAgIHtsYWJlbDogJ2VtcHR5JywgZGlzYWJsZWQ6IHRydWV9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMCk7XG4gIH1cbn1cbiJdfQ==
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLXN0ZXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvc2VydmljZXMvcHJvY2Vzcy1saW5rLXN0ZXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUk3RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUtwQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLElBQUksTUFBTTtRQUNSLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLGNBQWM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDLElBQUksQ0FDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakIsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSTtnQkFDekIsY0FBYyxFQUFFLElBQUks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LElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsRUFBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUM7WUFDaEMsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7WUFDaEMsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQTlRVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N0ZXB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uU3RlcCwgUHJvY2Vzc0xpbmtUeXBlfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7UHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlfSBmcm9tICcuL3Byb2Nlc3MtbGluay1idXR0b24uc2VydmljZSc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGx1Z2luU3RhdGVTZXJ2aWNlfSBmcm9tICcuL3BsdWdpbi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7UGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtTdGVwU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0ZXBzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8U3RlcD4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRTdGVwSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlU3RlcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc09uZVByb2Nlc3NMaW5rVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBnZXQgc3RlcHMkKCk6IE9ic2VydmFibGU8QXJyYXk8U3RlcD4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9zdGVwcyQsXG4gICAgICB0aGlzLl9kaXNhYmxlU3RlcHMkLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgXSkucGlwZShcbiAgICAgIGZpbHRlcigoW3N0ZXBzXSkgPT4gISFzdGVwcyksXG4gICAgICBtYXAoKFtzdGVwcywgZGlzYWJsZVN0ZXBzXSkgPT5cbiAgICAgICAgc3RlcHMubWFwKHN0ZXAgPT4gKHtcbiAgICAgICAgICAuLi5zdGVwLFxuICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlU3RlcHMsXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBwcm9jZXNzTGlua1N0ZXBzLiR7c3RlcC5sYWJlbH1gKSxcbiAgICAgICAgICAuLi4oc3RlcC5zZWNvbmRhcnlMYWJlbCAmJiB7XG4gICAgICAgICAgICBzZWNvbmRhcnlMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoc3RlcC5zZWNvbmRhcnlMYWJlbCksXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXQgY3VycmVudFN0ZXBJbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFN0ZXBJbmRleCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudFN0ZXBJZCQoKTogT2JzZXJ2YWJsZTxQcm9jZXNzTGlua0NvbmZpZ3VyYXRpb25TdGVwIHwgJyc+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5fc3RlcHMkLCB0aGlzLmN1cnJlbnRTdGVwSW5kZXgkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW3N0ZXBzLCBjdXJyZW50U3RlcEluZGV4XSkgPT4gISFzdGVwcyAmJiB0eXBlb2YgY3VycmVudFN0ZXBJbmRleCA9PT0gJ251bWJlcicpLFxuICAgICAgbWFwKChbc3RlcHMsIGN1cnJlbnRTdGVwSW5kZXhdKSA9PlxuICAgICAgICBzdGVwcy5sZW5ndGggPiAwID8gKHN0ZXBzW2N1cnJlbnRTdGVwSW5kZXhdPy5sYWJlbCBhcyBQcm9jZXNzTGlua0NvbmZpZ3VyYXRpb25TdGVwKSA6ICcnXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldCBoYXNPbmVQcm9jZXNzTGlua1R5cGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNPbmVQcm9jZXNzTGlua1R5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uU2VydmljZTogUHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luU3RhdGVTZXJ2aWNlOiBQbHVnaW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5UcmFuc2xhdGVTZXJ2aWNlOiBQbHVnaW5UcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMCk7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW10pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0ZXBzKGF2YWlsYWJsZVByb2Nlc3NMaW5rVHlwZXM6IEFycmF5PFByb2Nlc3NMaW5rVHlwZT4pOiB2b2lkIHtcbiAgICBpZiAoYXZhaWxhYmxlUHJvY2Vzc0xpbmtUeXBlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnNldENob2ljZVN0ZXBzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0Rm9ybVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLmZvcm0nfSxcbiAgICAgIHtsYWJlbDogJ3NlbGVjdEZvcm0nfSxcbiAgICBdKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDEpO1xuICB9XG5cbiAgc2V0U2luZ2xlRm9ybVN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW3tsYWJlbDogJ3NlbGVjdEZvcm0nfV0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMCk7XG4gIH1cblxuICBzZXRVSUNvbXBvbmVudFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUHJvY2Vzc0xpbmtUeXBlJywgc2Vjb25kYXJ5TGFiZWw6ICdwcm9jZXNzTGlua1R5cGUudWktY29tcG9uZW50J30sXG4gICAgICB7bGFiZWw6ICd1aUNvbXBvbmVudCd9XG4gICAgXSk7XG4gICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCQubmV4dCgxKTtcbiAgfVxuXG4gIHNldEZvcm1GbG93U3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUHJvY2Vzc0xpbmtUeXBlJywgc2Vjb25kYXJ5TGFiZWw6ICdwcm9jZXNzTGlua1R5cGUuZm9ybS1mbG93J30sXG4gICAgICB7bGFiZWw6ICdzZWxlY3RGb3JtRmxvdyd9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBzZXRTaW5nbGVGb3JtRmxvd1N0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW3tsYWJlbDogJ3NlbGVjdEZvcm1GbG93J31dKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDApO1xuICB9XG5cbiAgc2V0Q2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvblN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgICAge2xhYmVsOiAnY29uZmlndXJlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBzZXRTaW5nbGVDaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uU3RlcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbid9LFxuICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgICAge2xhYmVsOiAnY29uZmlndXJlUGx1Z2luQWN0aW9uJywgZGlzYWJsZWQ6IHRydWV9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMCk7XG4gIH1cblxuICBzZXRDaG9vc2VQbHVnaW5BY3Rpb25TdGVwcygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2hhc09uZVByb2Nlc3NMaW5rVHlwZSQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW2hhc09uZVR5cGUsIHNlbGVjdGVkQ29uZmlndXJhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKGhhc09uZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLl9zdGVwcyQubmV4dChbXG4gICAgICAgICAgICB7bGFiZWw6ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkQ29uZmlndXJhdGlvbi50aXRsZX0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjaG9vc2VQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICAgIHtsYWJlbDogJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicsIGRpc2FibGVkOiB0cnVlfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDEpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93TmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlU2F2ZUJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlTmV4dEJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgICAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJ30sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nLCBkaXNhYmxlZDogdHJ1ZX0sXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCQubmV4dCgyKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd05leHRCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcblxuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlU2F2ZUJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlTmV4dEJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldENvbmZpZ3VyZVBsdWdpbkFjdGlvblN0ZXBzKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5faGFzT25lUHJvY2Vzc0xpbmtUeXBlJCxcbiAgICAgIHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtoYXNPbmVUeXBlLCBzZWxlY3RlZENvbmZpZ3VyYXRpb24sIHNlbGVjdGVkRnVuY3Rpb25dKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbiA9IHRoaXMucGx1Z2luVHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIHNlbGVjdGVkRnVuY3Rpb24ua2V5LFxuICAgICAgICAgIHNlbGVjdGVkQ29uZmlndXJhdGlvbi5wbHVnaW5EZWZpbml0aW9uLmtleVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChoYXNPbmVUeXBlKSB7XG4gICAgICAgICAgdGhpcy5fc3RlcHMkLm5leHQoW1xuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbn0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDIpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlTmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgICAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZScsIHNlY29uZGFyeUxhYmVsOiAncHJvY2Vzc0xpbmtUeXBlLnBsdWdpbid9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvbicsIHNlY29uZGFyeUxhYmVsOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24udGl0bGV9LFxuICAgICAgICAgICAge2xhYmVsOiAnY2hvb3NlUGx1Z2luQWN0aW9uJywgc2Vjb25kYXJ5TGFiZWw6IHNlbGVjdGVkRnVuY3Rpb25UcmFuc2xhdGlvbn0sXG4gICAgICAgICAgICB7bGFiZWw6ICdjb25maWd1cmVQbHVnaW5BY3Rpb24nfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDMpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlTmV4dEJ1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVUkxTdGVwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbXG4gICAgICB7bGFiZWw6ICdjaG9vc2VQcm9jZXNzTGlua1R5cGUnLCBzZWNvbmRhcnlMYWJlbDogJ3Byb2Nlc3NMaW5rVHlwZS51cmwnfSxcbiAgICAgIHtsYWJlbDogJ3NlbGVjdFVSTCd9LFxuICAgIF0pO1xuICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgkLm5leHQoMSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2luZ2xlVVJMU3RlcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwcyQubmV4dChbe2xhYmVsOiAnc2VsZWN0VVJMJ31dKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDApO1xuICB9XG5cbiAgZGlzYWJsZVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVTdGVwcyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGVuYWJsZVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVTdGVwcyQubmV4dChmYWxzZSk7XG4gIH1cblxuICBzZXRIYXNPbmVQcm9jZXNzTGlua1R5cGUoaGFzT25lOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5faGFzT25lUHJvY2Vzc0xpbmtUeXBlJC5uZXh0KGhhc09uZSk7XG4gIH1cblxuICBzZXRQcm9jZXNzTGlua1R5cGVTdGVwcyhwcm9jZXNzTGlua1R5cGVJZDogc3RyaW5nLCBoYXNPbmVPcHRpb24/OiBib29sZWFuKTogdm9pZCB7XG4gICAgc3dpdGNoIChwcm9jZXNzTGlua1R5cGVJZCkge1xuICAgICAgY2FzZSAnZm9ybSc6XG4gICAgICAgIGlmIChoYXNPbmVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnNldFNpbmdsZUZvcm1TdGVwKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLmhpZGVCYWNrQnV0dG9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRGb3JtU3RlcHMoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd1NhdmVCdXR0b24oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmb3JtLWZsb3cnOlxuICAgICAgICBpZiAoaGFzT25lT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZXRTaW5nbGVGb3JtRmxvd1N0ZXAoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuaGlkZVNhdmVCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuaGlkZUJhY2tCdXR0b24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldEZvcm1GbG93U3RlcHMoKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd1NhdmVCdXR0b24oKTtcbiAgICAgICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd0JhY2tCdXR0b24oKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3BsdWdpbic6XG4gICAgICAgIGlmIChoYXNPbmVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnNldFNpbmdsZUNob29zZVBsdWdpbkNvbmZpZ3VyYXRpb25TdGVwcygpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5oaWRlQmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93TmV4dEJ1dHRvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0Q2hvb3NlUGx1Z2luQ29uZmlndXJhdGlvblN0ZXBzKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dCYWNrQnV0dG9uKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dOZXh0QnV0dG9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1cmwnOlxuICAgICAgICBpZiAoaGFzT25lT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZXRTaW5nbGVVUkxTdGVwKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLmhpZGVCYWNrQnV0dG9uKCk7XG4gICAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dTYXZlQnV0dG9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXRVUkxTdGVwcygpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbigpO1xuICAgICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndWktY29tcG9uZW50JzpcbiAgICAgICAgdGhpcy5zZXRVSUNvbXBvbmVudFN0ZXAoKTtcbiAgICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNob3dCYWNrQnV0dG9uKCk7XG4gICAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbigpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldENob2ljZVN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0ZXBzJC5uZXh0KFtcbiAgICAgIHtsYWJlbDogJ2Nob29zZVByb2Nlc3NMaW5rVHlwZSd9LFxuICAgICAge2xhYmVsOiAnZW1wdHknLCBkaXNhYmxlZDogdHJ1ZX0sXG4gICAgICB7bGFiZWw6ICdlbXB0eScsIGRpc2FibGVkOiB0cnVlfSxcbiAgICBdKTtcbiAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4JC5uZXh0KDApO1xuICB9XG59XG4iXX0=
@@ -45,14 +45,18 @@ export class ProcessLinkService {
45
45
  return this.http.post(`${this.VALTIMO_ENDPOINT_URI}v1/process-link`, this.emptyStringToNull(saveProcessLinkRequest));
46
46
  }
47
47
  emptyStringToNull(object) {
48
- Object.keys(object).forEach(key => {
49
- if (typeof object[key] === 'object') {
50
- this.emptyStringToNull(object[key]);
51
- }
52
- else if (object[key] === '') {
53
- object[key] = null;
54
- }
55
- });
48
+ if (object && typeof object === 'object') {
49
+ Object.keys(object).forEach(key => {
50
+ const typedKey = key;
51
+ const value = object[typedKey];
52
+ if (typeof value === 'object' && value !== null) {
53
+ this.emptyStringToNull(value);
54
+ }
55
+ else if (value === '') {
56
+ object[typedKey] = null;
57
+ }
58
+ });
59
+ }
56
60
  return object;
57
61
  }
58
62
  deleteProcessLink(id) {
@@ -107,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
107
111
  providedIn: 'root',
108
112
  }]
109
113
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.HttpClient }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL3NlcnZpY2VzL3Byb2Nlc3MtbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBZ0JyQyxPQUFPLEVBQWEsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDbUIsYUFBNEIsRUFDNUIsSUFBZ0I7UUFEaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQzFFLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxpQkFBeUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FFRixHQUFHLElBQUksQ0FBQyxvQkFBb0IsY0FBYyxpQkFBaUIscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2FBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYyxDQUFDLHFCQUE0QztRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUM1QixHQUFHLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLFVBQVUsQ0FBQzthQUNuRCxHQUFHLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsbUJBQW1CLENBQUMs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QUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUM7WUFDbEUsTUFBTTtTQUNQLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsdUJBQXVCLGFBQWEsRUFBRSxFQUNsRSxFQUFFLEVBQ0YsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQiwrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7K0dBeElVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHttYXAsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgRm9ybUZsb3dQcm9jZXNzTGlua0NyZWF0ZVJlcXVlc3REdG8sXG4gIEZvcm1GbG93UHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvLFxuICBGb3JtUHJvY2Vzc0xpbmtDcmVhdGVSZXF1ZXN0RHRvLFxuICBGb3JtUHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvLFxuICBGb3JtU3VibWlzc2lvblJlc3VsdCxcbiAgR2V0UHJvY2Vzc0xpbmtSZXF1ZXN0LFxuICBHZXRQcm9jZXNzTGlua1Jlc3BvbnNlLFxuICBQbHVnaW5Qcm9jZXNzTGlua0NyZWF0ZUR0byxcbiAgUGx1Z2luUHJvY2Vzc0xpbmtVcGRhdGVEdG8sXG4gIFByb2Nlc3NMaW5rVHlwZSxcbiAgVGFza1dpdGhQcm9jZXNzTGluayxcbiAgVVJMUHJvY2Vzc0xpbmtDcmVhdGVEdG8sXG4gIFVSTFByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0byxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7VVJMVmFyaWFibGVzfSBmcm9tICcuLi9tb2RlbHMvcHJvY2Vzcy1saW5rLXVybC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTGlua1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IFZBTFRJTU9fRU5EUE9JTlRfVVJJITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5WQUxUSU1PX0VORFBPSU5UX1VSSSA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFza3NXaXRoUHJvY2Vzc0xpbmtzKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRhc2tXaXRoUHJvY2Vzc0xpbmtbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8XG4gICAgICAgIFRhc2tXaXRoUHJvY2Vzc0xpbmtbXVxuICAgICAgPihgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MvJHtwcm9jZXNzSW5zdGFuY2VJZH0vdGFza3MvcHJvY2Vzcy1saW5rYCwge30pXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcyB8fCBbXSkpO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc0xpbmsoZ2V0UHJvY2Vzc0xpbmtSZXF1ZXN0OiBHZXRQcm9jZXNzTGlua1JlcXVlc3QpOiBPYnNlcnZhYmxlPEdldFByb2Nlc3NMaW5rUmVzcG9uc2U+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdhY3Rpdml0eUlkJywgZ2V0UHJvY2Vzc0xpbmtSZXF1ZXN0LmFjdGl2aXR5SWQpXG4gICAgICAuc2V0KCdwcm9jZXNzRGVmaW5pdGlvbklkJywgZ2V0UHJvY2Vzc0xpbmtSZXF1ZXN0LnByb2Nlc3NEZWZpbml0aW9uSWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0UHJvY2Vzc0xpbmtSZXNwb25zZT4oYCR7dGhpcy5WQUxUSU1PX0VORFBPSU5UX1VSSX12MS9wcm9jZXNzLWxpbmtgLCB7XG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVQcm9jZXNzTGluayhcbiAgICB1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3Q6XG4gICAgICB8IFBsdWdpblByb2Nlc3NMaW5rVXBkYXRlRHRvXG4gICAgICB8IEZvcm1GbG93UHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvXG4gICAgICB8IEZvcm1Qcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG9cbiAgICAgIHwgVVJMUHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvXG4gICk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PG51bGw+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0VORFBPSU5UX1VSSX12MS9wcm9jZXNzLWxpbmtgLFxuICAgICAgdGhpcy5lbXB0eVN0cmluZ1RvTnVsbCh1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3QpXG4gICAgKTtcbiAgfVxuXG4gIHNhdmVQcm9jZXNzTGluayhcbiAgICBzYXZlUHJvY2Vzc0xpbmtSZXF1ZXN0OlxuICAgICAgfCBGb3JtUHJvY2Vzc0xpbmtDcmVhdGVSZXF1ZXN0RHRvXG4gICAgICB8IEZvcm1GbG93UHJvY2Vzc0xpbmtDcmVhdGVSZXF1ZXN0RHRvXG4gICAgICB8IFBsdWdpblByb2Nlc3NMaW5rQ3JlYXRlRHRvXG4gICAgICB8IFVSTFByb2Nlc3NMaW5rQ3JlYXRlRHRvXG4gICk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rYCxcbiAgICAgIHRoaXMuZW1wdHlTdHJpbmdUb051bGwoc2F2ZVByb2Nlc3NMaW5rUmVxdWVzdClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBlbXB0eVN0cmluZ1RvTnVsbChvYmplY3Q6IGFueSkge1xuICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvYmplY3Rba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5lbXB0eVN0cmluZ1RvTnVsbChvYmplY3Rba2V5XSk7XG4gICAgICB9IGVsc2UgaWYgKG9iamVjdFtrZXldID09PSAnJykge1xuICAgICAgICBvYmplY3Rba2V5XSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGRlbGV0ZVByb2Nlc3NMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxudWxsPihgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay8ke2lkfWApO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc0xpbmtDYW5kaWRhdGVzKGFjdGl2aXR5VHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxQcm9jZXNzTGlua1R5cGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UHJvY2Vzc0xpbmtUeXBlPj4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay90eXBlcz9hY3Rpdml0eVR5cGU9JHthY3Rpdml0eVR5cGV9YFxuICAgICk7XG4gIH1cblxuICBzdWJtaXRGb3JtKFxuICAgIHByb2Nlc3NMaW5rSWQ6IHN0cmluZyxcbiAgICBmb3JtRGF0YTogb2JqZWN0LFxuICAgIGRvY3VtZW50SWQ/OiBzdHJpbmcsXG4gICAgdGFza0luc3RhbmNlSWQ/OiBzdHJpbmcsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEZvcm1TdWJtaXNzaW9uUmVzdWx0PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBpZiAoZG9jdW1lbnRJZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZG9jdW1lbnRJZCcsIGRvY3VtZW50SWQpO1xuICAgIH1cbiAgICBpZiAodGFza0luc3RhbmNlSWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Rhc2tJbnN0YW5jZUlkJywgdGFza0luc3RhbmNlSWQpO1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgcGFyYW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEZvcm1TdWJtaXNzaW9uUmVzdWx0PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rLyR7cHJvY2Vzc0xpbmtJZH0vZm9ybS9zdWJtaXNzaW9uYCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgaHR0cE9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdFVSTFByb2Nlc3NMaW5rKFxuICAgIHByb2Nlc3NMaW5rSWQ6IHN0cmluZyxcbiAgICBkb2N1bWVudElkPzogc3RyaW5nLFxuICAgIHRhc2tJbnN0YW5jZUlkPzogc3RyaW5nLFxuICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxGb3JtU3VibWlzc2lvblJlc3VsdD4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgaWYgKGRvY3VtZW50SWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50SWQnLCBkb2N1bWVudElkKTtcbiAgICB9XG4gICAgaWYgKHRhc2tJbnN0YW5jZUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0YXNrSW5zdGFuY2VJZCcsIHRhc2tJbnN0YW5jZUlkKTtcbiAgICB9XG4gICAgaWYgKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKSxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JtU3VibWlzc2lvblJlc3VsdD4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay91cmwvJHtwcm9jZXNzTGlua0lkfWAsXG4gICAgICB7fSxcbiAgICAgIGh0dHBPcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYXJpYWJsZXMoKTogT2JzZXJ2YWJsZTxVUkxWYXJpYWJsZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVUkxWYXJpYWJsZXM+KGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rL3VybC92YXJpYWJsZXNgKTtcbiAgfVxufVxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL3NlcnZpY2VzL3Byb2Nlc3MtbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBa0JyQyxPQUFPLEVBQWEsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDbUIsYUFBNEIsRUFDNUIsSUFBZ0I7UUFEaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQzFFLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxpQkFBeUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FFRixHQUFHLElBQUksQ0FBQyxvQkFBb0IsY0FBYyxpQkFBaUIscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2FBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYyxDQUFDLHFCQUE0QztRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUM1QixHQUFHLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLFVBQVUsQ0FBQzthQUNuRCxHQUFHLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsbUJBQW1CLENBQUMs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ZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBGb3JtRmxvd1Byb2Nlc3NMaW5rQ3JlYXRlUmVxdWVzdER0byxcbiAgRm9ybUZsb3dQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8sXG4gIEZvcm1Qcm9jZXNzTGlua0NyZWF0ZVJlcXVlc3REdG8sXG4gIEZvcm1Qcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8sXG4gIEZvcm1TdWJtaXNzaW9uUmVzdWx0LFxuICBHZXRQcm9jZXNzTGlua1JlcXVlc3QsXG4gIEdldFByb2Nlc3NMaW5rUmVzcG9uc2UsXG4gIFBsdWdpblByb2Nlc3NMaW5rQ3JlYXRlRHRvLFxuICBQbHVnaW5Qcm9jZXNzTGlua1VwZGF0ZUR0byxcbiAgUHJvY2Vzc0xpbmtUeXBlLFxuICBUYXNrV2l0aFByb2Nlc3NMaW5rLFxuICBVSUNvbXBvbmVudFByb2Nlc3NMaW5rQ3JlYXRlUmVxdWVzdER0byxcbiAgVUlDb21wb25lbnRQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8sXG4gIFVSTFByb2Nlc3NMaW5rQ3JlYXRlRHRvLFxuICBVUkxQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1VSTFZhcmlhYmxlc30gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtbGluay11cmwubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBWQUxUSU1PX0VORFBPSU5UX1VSSSE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMuVkFMVElNT19FTkRQT0lOVF9VUkkgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpLmVuZHBvaW50VXJpO1xuICB9XG5cbiAgcHVibGljIGdldFRhc2tzV2l0aFByb2Nlc3NMaW5rcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrV2l0aFByb2Nlc3NMaW5rW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PFxuICAgICAgICBUYXNrV2l0aFByb2Nlc3NMaW5rW11cbiAgICAgID4oYCR7dGhpcy5WQUxUSU1PX0VORFBPSU5UX1VSSX12MS9wcm9jZXNzLyR7cHJvY2Vzc0luc3RhbmNlSWR9L3Rhc2tzL3Byb2Nlc3MtbGlua2AsIHt9KVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMgfHwgW10pKTtcbiAgfVxuXG4gIGdldFByb2Nlc3NMaW5rKGdldFByb2Nlc3NMaW5rUmVxdWVzdDogR2V0UHJvY2Vzc0xpbmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxHZXRQcm9jZXNzTGlua1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgnYWN0aXZpdHlJZCcsIGdldFByb2Nlc3NMaW5rUmVxdWVzdC5hY3Rpdml0eUlkKVxuICAgICAgLnNldCgncHJvY2Vzc0RlZmluaXRpb25JZCcsIGdldFByb2Nlc3NMaW5rUmVxdWVzdC5wcm9jZXNzRGVmaW5pdGlvbklkKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdldFByb2Nlc3NMaW5rUmVzcG9uc2U+KGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rYCwge1xuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlUHJvY2Vzc0xpbmsoXG4gICAgdXBkYXRlUHJvY2Vzc0xpbmtSZXF1ZXN0OlxuICAgICAgfCBQbHVnaW5Qcm9jZXNzTGlua1VwZGF0ZUR0b1xuICAgICAgfCBGb3JtRmxvd1Byb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b1xuICAgICAgfCBGb3JtUHJvY2Vzc0xpbmtVcGRhdGVSZXF1ZXN0RHRvXG4gICAgICB8IFVSTFByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b1xuICAgICAgfCBVSUNvbXBvbmVudFByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b1xuICApOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxudWxsPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rYCxcbiAgICAgIHRoaXMuZW1wdHlTdHJpbmdUb051bGwodXBkYXRlUHJvY2Vzc0xpbmtSZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICBzYXZlUHJvY2Vzc0xpbmsoXG4gICAgc2F2ZVByb2Nlc3NMaW5rUmVxdWVzdDpcbiAgICAgIHwgRm9ybVByb2Nlc3NMaW5rQ3JlYXRlUmVxdWVzdER0b1xuICAgICAgfCBGb3JtRmxvd1Byb2Nlc3NMaW5rQ3JlYXRlUmVxdWVzdER0b1xuICAgICAgfCBQbHVnaW5Qcm9jZXNzTGlua0NyZWF0ZUR0b1xuICAgICAgfCBVUkxQcm9jZXNzTGlua0NyZWF0ZUR0b1xuICAgICAgfCBVSUNvbXBvbmVudFByb2Nlc3NMaW5rQ3JlYXRlUmVxdWVzdER0b1xuICApOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGlua2AsXG4gICAgICB0aGlzLmVtcHR5U3RyaW5nVG9OdWxsKHNhdmVQcm9jZXNzTGlua1JlcXVlc3QpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1wdHlTdHJpbmdUb051bGw8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KG9iamVjdDogVCk6IFQge1xuICAgIGlmIChvYmplY3QgJiYgdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlZEtleSA9IGtleSBhcyBrZXlvZiBUO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFt0eXBlZEtleV07XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5lbXB0eVN0cmluZ1RvTnVsbCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgb2JqZWN0W3R5cGVkS2V5XSA9IG51bGwgYXMgYW55O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGRlbGV0ZVByb2Nlc3NMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxudWxsPihgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay8ke2lkfWApO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc0xpbmtDYW5kaWRhdGVzKGFjdGl2aXR5VHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxQcm9jZXNzTGlua1R5cGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UHJvY2Vzc0xpbmtUeXBlPj4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay90eXBlcz9hY3Rpdml0eVR5cGU9JHthY3Rpdml0eVR5cGV9YFxuICAgICk7XG4gIH1cblxuICBzdWJtaXRGb3JtKFxuICAgIHByb2Nlc3NMaW5rSWQ6IHN0cmluZyxcbiAgICBmb3JtRGF0YTogb2JqZWN0LFxuICAgIGRvY3VtZW50SWQ/OiBzdHJpbmcsXG4gICAgdGFza0luc3RhbmNlSWQ/OiBzdHJpbmcsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEZvcm1TdWJtaXNzaW9uUmVzdWx0PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBpZiAoZG9jdW1lbnRJZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZG9jdW1lbnRJZCcsIGRvY3VtZW50SWQpO1xuICAgIH1cbiAgICBpZiAodGFza0luc3RhbmNlSWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Rhc2tJbnN0YW5jZUlkJywgdGFza0luc3RhbmNlSWQpO1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgcGFyYW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEZvcm1TdWJtaXNzaW9uUmVzdWx0PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rLyR7cHJvY2Vzc0xpbmtJZH0vZm9ybS9zdWJtaXNzaW9uYCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgaHR0cE9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdFVSTFByb2Nlc3NMaW5rKFxuICAgIHByb2Nlc3NMaW5rSWQ6IHN0cmluZyxcbiAgICBkb2N1bWVudElkPzogc3RyaW5nLFxuICAgIHRhc2tJbnN0YW5jZUlkPzogc3RyaW5nLFxuICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxGb3JtU3VibWlzc2lvblJlc3VsdD4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgaWYgKGRvY3VtZW50SWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50SWQnLCBkb2N1bWVudElkKTtcbiAgICB9XG4gICAgaWYgKHRhc2tJbnN0YW5jZUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0YXNrSW5zdGFuY2VJZCcsIHRhc2tJbnN0YW5jZUlkKTtcbiAgICB9XG4gICAgaWYgKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKSxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JtU3VibWlzc2lvblJlc3VsdD4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fRU5EUE9JTlRfVVJJfXYxL3Byb2Nlc3MtbGluay91cmwvJHtwcm9jZXNzTGlua0lkfWAsXG4gICAgICB7fSxcbiAgICAgIGh0dHBPcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYXJpYWJsZXMoKTogT2JzZXJ2YWJsZTxVUkxWYXJpYWJsZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVUkxWYXJpYWJsZXM+KGAke3RoaXMuVkFMVElNT19FTkRQT0lOVF9VUkl9djEvcHJvY2Vzcy1saW5rL3VybC92YXJpYWJsZXNgKTtcbiAgfVxufVxuIl19