valtech-components 4.0.996 → 4.0.998

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.
@@ -99,6 +99,17 @@ export class SurveyResponseComponent {
99
99
  this.i18n.lang();
100
100
  return { variant: 'empty', title: this.t('sentTitle'), description: this.t('sentBody') };
101
101
  });
102
+ this.successPresentation = computed(() => {
103
+ const cfg = this.typeConfig();
104
+ if (!cfg?.presentation)
105
+ return null;
106
+ const title = cfg.presentation.successTitle?.trim() || this.t('sentTitle');
107
+ const message = cfg.presentation.successMessage?.trim() || this.t('sentBody');
108
+ const imageUrl = cfg.presentation.successImageUrl?.trim() || '';
109
+ if (!cfg.presentation.successTitle && !cfg.presentation.successMessage && !imageUrl)
110
+ return null;
111
+ return { title, message, imageUrl };
112
+ });
102
113
  this.loadErrorState = computed(() => {
103
114
  this.i18n.lang();
104
115
  return { variant: 'error', title: this.t('loadErrorTitle'), description: this.t('loadErrorBody') };
@@ -302,13 +313,28 @@ export class SurveyResponseComponent {
302
313
  } @else if (alreadyAnswered()) {
303
314
  <val-empty-state [props]="alreadyAnsweredState()" />
304
315
  } @else if (sent()) {
305
- <val-empty-state [props]="sentState()" />
316
+ @if (successPresentation(); as success) {
317
+ <section class="survey-response survey-response__success" aria-live="polite">
318
+ @if (success.imageUrl) {
319
+ <img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
320
+ }
321
+ <val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
322
+ @if (success.message) {
323
+ <val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
324
+ }
325
+ </section>
326
+ } @else {
327
+ <val-empty-state [props]="sentState()" />
328
+ }
306
329
  } @else {
307
330
  @if (typeConfig(); as cfg) {
308
331
  @if (!canRespond()) {
309
332
  <val-empty-state [props]="loginRequiredState()" />
310
333
  } @else {
311
334
  <div class="survey-response">
335
+ @if (cfg.presentation?.headerImageUrl) {
336
+ <img class="survey-response__header-image" [src]="cfg.presentation?.headerImageUrl" [alt]="cfg.label" />
337
+ }
312
338
  <val-display [props]="{ content: cfg.label, size: 'small', color: 'dark' }" />
313
339
  @if (cfg.subtitle) {
314
340
  <val-title [props]="{ content: cfg.subtitle, size: 'large', color: '', bold: false }" />
@@ -339,7 +365,7 @@ export class SurveyResponseComponent {
339
365
  }
340
366
  }
341
367
  }
342
- `, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
368
+ `, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
343
369
  }
344
370
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyResponseComponent, decorators: [{
345
371
  type: Component,
@@ -367,13 +393,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
367
393
  } @else if (alreadyAnswered()) {
368
394
  <val-empty-state [props]="alreadyAnsweredState()" />
369
395
  } @else if (sent()) {
370
- <val-empty-state [props]="sentState()" />
396
+ @if (successPresentation(); as success) {
397
+ <section class="survey-response survey-response__success" aria-live="polite">
398
+ @if (success.imageUrl) {
399
+ <img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
400
+ }
401
+ <val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
402
+ @if (success.message) {
403
+ <val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
404
+ }
405
+ </section>
406
+ } @else {
407
+ <val-empty-state [props]="sentState()" />
408
+ }
371
409
  } @else {
372
410
  @if (typeConfig(); as cfg) {
373
411
  @if (!canRespond()) {
374
412
  <val-empty-state [props]="loginRequiredState()" />
375
413
  } @else {
376
414
  <div class="survey-response">
415
+ @if (cfg.presentation?.headerImageUrl) {
416
+ <img class="survey-response__header-image" [src]="cfg.presentation?.headerImageUrl" [alt]="cfg.label" />
417
+ }
377
418
  <val-display [props]="{ content: cfg.label, size: 'small', color: 'dark' }" />
378
419
  @if (cfg.subtitle) {
379
420
  <val-title [props]="{ content: cfg.subtitle, size: 'large', color: '', bold: false }" />
@@ -404,7 +445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
404
445
  }
405
446
  }
406
447
  }
407
- `, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
448
+ `, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
408
449
  }], ctorParameters: () => [], propDecorators: { props: [{
409
450
  type: Input
410
451
  }], submitted: [{
@@ -413,4 +454,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
413
454
  type: ViewChild,
414
455
  args: [FormComponent]
415
456
  }] } });
416
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUO3dEQThCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsU0FBUztzQkFBM0IsTUFBTTtnQkFDMkIsYUFBYTtzQkFBOUMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRTY2hlbWFEZWYsIEZJRUxEX1RZUEVfRU1PSklfUkFUSU5HLCBSZXF1ZXN0VHlwZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzJztcbmltcG9ydCB7IFZhbHRlY2hFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcbmltcG9ydCB7IGludGVycHJldEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL2ludGVycHJldC1lcnJvcic7XG5pbXBvcnQgeyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jaGVjay1pbnB1dC9jaGVjay1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1vamlSYXRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9lbW9qaS1yYXRpbmcvZW1vamktcmF0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMsIElucHV0TWV0YWRhdGEsIElucHV0T3B0aW9uLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1wdHktc3RhdGUvdHlwZXMnO1xuaW1wb3J0IHsgU3VydmV5UmVzcG9uc2VNZXRhZGF0YSwgU3VydmV5UmVzcG9uc2VTdWJtaXRFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU1VSVkVZX1JFU1BPTlNFX0kxOE4gfSBmcm9tICcuL3N1cnZleS1yZXNwb25zZS5pMThuJztcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3QgTkFNRVNQQUNFID0gJ1N1cnZleVJlc3BvbnNlJztcblxuLyoqIENvZGUgZGVsIGJhY2tlbmQgY3VhbmRvIGxhIGludml0YWNpw7NuIGRlIGVzYSBwZXJzb25hIHlhIHNlIHJlc3BvbmRpw7MuICovXG5jb25zdCBJTlZJVEVfVVNFRF9DT0RFID0gJ1NVUlZFWV9JTlZJVEVfQUxSRUFEWV9VU0VEJztcblxuLyoqIFRpcG9zIGN1eWEgcmVzcHVlc3RhIGVzIHVuIGJvb2xlYW5vLCBubyB1biB0ZXh0by4gKi9cbmNvbnN0IEJPT0xFQU5fVFlQRVMgPSBbJ0NIRUNLJywgJ1RPR0dMRSddO1xuXG4vKipcbiAqIHZhbC1zdXJ2ZXktcmVzcG9uc2VcbiAqXG4gKiBUb21hIHVuYSBlbmN1ZXN0YSAoYFJlcXVlc3RUeXBlQ29uZmlnYCBjb24gYFR5cGU6IFwic3VydmV5OjxzbHVnPlwiYCwgQURSLTA5MilcbiAqIHkgbGEgcHJlc2VudGEgY29tbyBmb3JtdWxhcmlvIGRlIHJlc3B1ZXN0YSDigJQgZWwgb3JnYW5pc20gcXVlIHVuIHZpc2l0YW50ZVxuICogdmUgYWwgYWJyaXIgZWwgbGluayBkZSB1bmEgZW5jdWVzdGEuIFNlbGYtY29udGFpbmVkLCBpZ3VhbCBxdWVcbiAqIGB2YWwtY29udGVudC1yZWFjdGlvbmAvYHZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3YDogbGVlIGVsIHRpcG8sIGFybWEgZWxcbiAqIGZvcm11bGFyaW8sIGVudsOtYSBsYSByZXNwdWVzdGEsIHNpbiBxdWUgZWwgY29uc3VtZXIgdGVuZ2EgcXVlIG9ycXVlc3RhclxuICogbmFkYSBkZSBlc28uXG4gKlxuICogU29sbyBsZWUgdGlwb3MgYHZpc2liaWxpdHk6ICdQVUJMSUMnYCAodsOtYSBgZ2V0UHVibGljUmVxdWVzdFR5cGVgLCBzaW5cbiAqIGF1dGgpIOKAlCBlcyBlbCBjYXNvIGRlIHVzbyBxdWUgZGVzY3JpYmUgZWwgQURSIChsaW5rIGVudmlhZG8gYSBjb21wcmFkb3JlcyxcbiAqIHF1ZSBwdWVkZW4gbm8gdGVuZXIgY3VlbnRhKS4gRW5jdWVzdGFzIEFVVEhFTlRJQ0FURUQvT1JHL0lOVEVSTkFMIGVzdMOhblxuICogZnVlcmEgZGUgYWxjYW5jZSBkZSBlc3RlIGNvbXBvbmVudGUgcG9yIGFob3JhLlxuICpcbiAqIENhZGEgcHJlZ3VudGEgc2UgcmVuZGVyaXphIHNlZ8O6biBzdSBgRmllbGRTY2hlbWFEZWYudHlwZWA6IGBFTU9KSV9SQVRJTkdgXG4gKiB1c2EgYHZhbC1lbW9qaS1yYXRpbmdgIChOVU5DQSBwYXNhIHBvciBgdmFsLWZvcm1gLCBubyBsbyBzYWJlIHJ1dGVhcik7XG4gKiBjdWFscXVpZXIgb3RybyB0aXBvICh2MTogc29sbyBgVEVYVEFSRUFgKSB1c2EgYHZhbC10ZXh0YXJlYS1pbnB1dGAuIE5vIGhheVxuICogYHZhbC1mb3JtYCBkZSBwb3IgbWVkaW8g4oCUIHVuIEZvcm1Hcm91cCBhcm1hZG8gYSBtYW5vLCBwb3JxdWUgbWV6Y2xhciB0aXBvc1xuICogY3VzdG9tIGNvbiBlbCBmb3JtIGdlbsOpcmljbyBlcyBtw6FzIGNvbXBsaWNhZG8gcXVlIGNvbnN0cnVpciBlbCBwcm9waW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zdXJ2ZXktcmVzcG9uc2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBSYWRpb0lucHV0Q29tcG9uZW50LFxuICAgIENoZWNrSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgRW1vamlSYXRpbmdDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fbG9hZGluZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxuICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJsb2FkRXJyb3JTdGF0ZSgpXCIgLz5cbiAgICB9IEBlbHNlIGlmIChhbHJlYWR5QW5zd2VyZWQoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwiYWxyZWFkeUFuc3dlcmVkU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoc2VudCgpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJzZW50U3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKHR5cGVDb25maWcoKTsgYXMgY2ZnKSB7XG4gICAgICAgIEBpZiAoIWNhblJlc3BvbmQoKSkge1xuICAgICAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cImxvZ2luUmVxdWlyZWRTdGF0ZSgpXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZVwiPlxuICAgICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IGNmZy5sYWJlbCwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgICAgICAgIEBpZiAoY2ZnLnN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogY2ZnLnN1YnRpdGxlLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIFNvbG8gc2kgZWwgVElQTyBsbyBleGlnZSAoc2tpcFN1Ym1pdHRlcklkZW50aXR5IGF1c2VudGUvZmFsc2UpLlxuICAgICAgICAgICAgICAgICBVbmEgZW5jdWVzdGEgbG8gcG9uZSBlbiB0cnVlIHkgYWPDoSBubyBzZSBwaWRlIG5hZGE6IHNpIGVsXG4gICAgICAgICAgICAgICAgIGZvcm11bGFyaW8gbG9zIGV4aWdpZXJhIGlndWFsLCBxdWVkYXLDrWFuIHJlcXVlcmlkb3MgZVxuICAgICAgICAgICAgICAgICBpbnZpc2libGVzIHkgZWwgZW52w61vIHNlIGJsb3F1ZWFyw61hIHNpbiBtb3Rpdm8gYSBsYSB2aXN0YS4gLS0+XG4gICAgICAgICAgICBAaWYgKG5lZWRzSWRlbnRpdHkoKSkge1xuICAgICAgICAgICAgICA8dmFsLXRleHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwieyBjb250cm9sOiBuYW1lQ29udHJvbCwgbGFiZWw6IHQoJ25hbWVMYWJlbCcpLCBwbGFjZWhvbGRlcjogdCgnbmFtZVBsYWNlaG9sZGVyJykgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBjb250cm9sOiBlbWFpbENvbnRyb2wsXG4gICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdlbWFpbCcsXG4gICAgICAgICAgICAgICAgICBsYWJlbDogdCgnZW1haWxMYWJlbCcpLFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHQoJ2VtYWlsUGxhY2Vob2xkZXInKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChmb3JtUHJvcHMoKTsgYXMgcHJvcHMpIHtcbiAgICAgICAgICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJwcm9wc1wiIChvblN1Ym1pdCk9XCJzdWJtaXQoJGV2ZW50KVwiIChvbkludmFsaWQpPVwibWFya0ludmFsaWQoKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2hpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fbG9hZGluZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN1cnZleVJlc3BvbnNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHMhOiBTdXJ2ZXlSZXNwb25zZU1ldGFkYXRhO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTdXJ2ZXlSZXNwb25zZVN1Ym1pdEV2ZW50PigpO1xuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpIHByaXZhdGUgZm9ybUNvbXBvbmVudD86IEZvcm1Db21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0cyA9IGluamVjdChSZXF1ZXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TY2hlbWFzID0gaW5qZWN0KEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgZW1vamlUeXBlID0gRklFTERfVFlQRV9FTU9KSV9SQVRJTkc7XG4gIHJlYWRvbmx5IHNlbGVjdFR5cGUgPSBJbnB1dFR5cGUuU0VMRUNUO1xuXG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIHJlYWRvbmx5IGxvYWRFcnJvciA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbnQgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBzZW5kaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgdHlwZUNvbmZpZyA9IHNpZ25hbDxSZXF1ZXN0VHlwZUNvbmZpZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBhbHJlYWR5QW5zd2VyZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IG5hbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSBlbWFpbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHByaXZhdGUgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShOQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhOQU1FU1BBQ0UsIFNVUlZFWV9SRVNQT05TRV9JMThOKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2ZnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yZXF1ZXN0cy5nZXRQdWJsaWNSZXF1ZXN0VHlwZSh0aGlzLnByb3BzLnR5cGVJZCkpO1xuICAgICAgdGhpcy50eXBlQ29uZmlnLnNldChjZmcpO1xuICAgICAgdGhpcy5idWlsZENvbXBhdGliaWxpdHlGb3JtKGNmZyk7XG4gICAgICB0aGlzLmNvbmZpZ3VyZUlkZW50aXR5KGNmZyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmxvYWRFcnJvci5zZXQodHJ1ZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlSWRlbnRpdHkoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHlGb3IoY2ZnKSkge1xuICAgICAgLy8gc2V0VmFsaWRhdG9ycyBwb3Igc8OtIHNvbG8gbm8gcmVjYWxjdWxhIGVsIHN0YXR1cyBkZWwgY29udHJvbCDigJQgc2luIGVsXG4gICAgICAvLyB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkgZGUgYWwgbGFkbywgbmFtZS9lbWFpbCBxdWVkYWJhbiBWQUxJRCBoYXN0YVxuICAgICAgLy8gZWwgcHLDs3hpbW8gY2FtYmlvIGRlIHZhbG9yLCB5IHN1Ym1pdCgpIGRlamFiYSBwYXNhciB1biBlbnbDrW8gYW7Ds25pbW9cbiAgICAgIC8vIHNpbiBpZGVudGlkYWQuXG4gICAgICB0aGlzLm5hbWVDb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIHRoaXMubmFtZUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5lbWFpbENvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pO1xuICAgICAgdGhpcy5lbWFpbENvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb21wYXRpYmlsaXR5Rm9ybShjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXA6IFJlY29yZDxzdHJpbmcsIEZvcm1Db250cm9sPiA9IHt9O1xuICAgIGZvciAoY29uc3QgcSBvZiB0aGlzLnN1cnZleVNjaGVtYUZvckZvcm0oY2ZnLmZpZWxkU2NoZW1hKSkge1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHEudHlwZSA9PT0gJ01VTFRJX1NFTEVDVF9TSU1QTEUnID8gW10gOiBxLnR5cGUgPT09ICdUT0dHTEUnID8gZmFsc2UgOiAnJztcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBxLnJlcXVpcmVkICYmIHEudHlwZSAhPT0gJ1RPR0dMRScgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gOiBbXTtcbiAgICAgIGdyb3VwW3EubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woaW5pdGlhbCwgdmFsaWRhdG9ycyk7XG4gICAgfVxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xuICB9XG5cbiAgcmVhZG9ubHkgZm9ybVByb3BzID0gY29tcHV0ZWQ8Rm9ybU1ldGFkYXRhIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMudHlwZUNvbmZpZygpO1xuICAgIGlmICghY2ZnKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU2NoZW1hcy5idWlsZEZvcm0oXG4gICAgICB0aGlzLnN1cnZleVNjaGVtYUZvckZvcm0oY2ZnLmZpZWxkU2NoZW1hKSxcbiAgICAgIE5BTUVTUEFDRSxcbiAgICAgICcnLFxuICAgICAgJ3N1Ym1pdCcsXG4gICAgICB0aGlzLnNlbmRpbmcoKSA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRURcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmZvcm0sIHNob3dEaXZpZGVyczogZmFsc2UsIGZpZWxkU3BhY2luZzogMTYgfTtcbiAgfSk7XG5cbiAgLyoqIFByZWd1bnRhcyBvcmRlbmFkYXMsIGV4cHVlc3RhcyBwYXJhIHRlc3RzL2hvc3RzIHF1ZSBpbnNwZWNjaW9uYW4gZWwgc2NoZW1hIHJlc3VlbHRvLiAqL1xuICByZWFkb25seSBxdWVzdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgcmV0dXJuIGNmZyA/IFsuLi5jZmcuZmllbGRTY2hlbWFdLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKSA6IFtdO1xuICB9KTtcblxuICBxdWVzdGlvbkNvbnRyb2wobmFtZTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiAodGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldChuYW1lKSA/PyB0aGlzLmZvcm0uZ2V0KG5hbWUpKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIG9wdGlvbnNPZihxOiB7IG9wdGlvbnM/OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgb3JkZXI/OiBudW1iZXIgfVtdIH0pOiBJbnB1dE9wdGlvbltdIHtcbiAgICByZXR1cm4gWy4uLihxLm9wdGlvbnMgPz8gW10pXVxuICAgICAgLm1hcCgobywgaW5kZXgpID0+ICh7IGlkOiBvLmlkLCBuYW1lOiBvLm5hbWUsIG9yZGVyOiBvLm9yZGVyID8/IGluZGV4IH0pKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgfVxuXG4gIGlucHV0VHlwZU9mKHR5cGU6IHN0cmluZyk6ICd0ZXh0JyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ0VNQUlMJzpcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XG4gICAgICBjYXNlICdOVU1CRVInOlxuICAgICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgICBjYXNlICdQSE9ORSc6XG4gICAgICAgIHJldHVybiAndGVsJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdXJ2ZXlTY2hlbWFGb3JGb3JtKHNjaGVtYTogRmllbGRTY2hlbWFEZWZbXSk6IEZpZWxkU2NoZW1hRGVmW10ge1xuICAgIHJldHVybiBzY2hlbWEubWFwKHEgPT4ge1xuICAgICAgaWYgKHEudHlwZSA9PT0gJ01VTFRJX1NFTEVDVCcpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4ucSwgdHlwZTogJ01VTFRJX1NFTEVDVF9TSU1QTEUnLCB2YWx1ZTogW10gfTtcbiAgICAgIH1cbiAgICAgIGlmIChCT09MRUFOX1RZUEVTLmluY2x1ZGVzKHEudHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5xLFxuICAgICAgICAgIHR5cGU6ICdUT0dHTEUnLFxuICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiAocS52YWxpZGF0b3JzID8/IFtdKS5maWx0ZXIodiA9PiB2ICE9PSAncmVxdWlyZWQnKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBxO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFB1ZWRlIHJlc3BvbmRlciBzaW4gc2VzacOzbiBzaSBlbCB0aXBvIGxvIHBlcm1pdGU7IHNpIG5vLCBoYWNlIGZhbHRhIGxvZ2luLiAqL1xuICByZWFkb25seSBjYW5SZXNwb25kID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiAhIXRoaXMudHlwZUNvbmZpZygpPy5hbGxvd0Fub255bW91cztcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEVsIHRpcG8gcHVlZGUgc2VndWlyIGV4aWdpZW5kbyBpZGVudGlkYWQgYWwgYW7Ds25pbW8gKGBza2lwU3VibWl0dGVySWRlbnRpdHlgXG4gICAqIGF1c2VudGUgbyBmYWxzZSk6IGVzIGVsIGNhc28gZGUgbGFzIHNvbGljaXR1ZGVzIGRlIENoZXNlZC9Pa2hlbGlhLCBkb25kZVxuICAgKiBzYWJlciBxdWnDqW4gcGlkacOzIEVTIGVsIHB1bnRvLiBVbmEgZW5jdWVzdGEgcG9uZSBlbCBmbGFnIGVuIHRydWUgeSBlbnRvbmNlc1xuICAgKiBubyBzZSBwaWRlIG5hZGEg4oCUIHNpIGxhIG9yZ2FuaXphY2nDs24gbmVjZXNpdGEgZWwgY29ycmVvIGRlIHF1aWVuIHJlc3BvbmRlLFxuICAgKiBsbyBhZ3JlZ2EgY29tbyB1bmEgUFJFR1VOVEEgZGUgdGlwbyBDb3JyZW8uIEVzbyBlcyBjb25maWd1cmFjacOzbiBkZSBsYVxuICAgKiBlbmN1ZXN0YTsgZWwgZm9ybXVsYXJpbyBubyBjb2JyYSBwZWFqZSBwb3Igc3UgY3VlbnRhLlxuICAgKi9cbiAgbmVlZHNJZGVudGl0eSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICF0aGlzLnR5cGVDb25maWcoKT8uc2tpcFN1Ym1pdHRlcklkZW50aXR5O1xuICB9XG5cbiAgcHJpdmF0ZSBuZWVkc0lkZW50aXR5Rm9yKGNmZzogUmVxdWVzdFR5cGVDb25maWcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICFjZmcuc2tpcFN1Ym1pdHRlcklkZW50aXR5O1xuICB9XG5cbiAgcmVhZG9ubHkgc3VibWl0U3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5zZW5kaW5nKCkgPyAnV09SS0lORycgOiAnRU5BQkxFRCcpKTtcblxuICByZWFkb25seSBtdWx0aVNlbGVjdEVycm9yID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25Db250cm9sTWVtbyA9IG5ldyBNYXA8c3RyaW5nLCBGb3JtQ29udHJvbDxib29sZWFuPj4oKTtcblxuICBvcHRpb25Db250cm9sKG5hbWU6IHN0cmluZywgb3B0aW9uSWQ6IHN0cmluZyk6IEZvcm1Db250cm9sPGJvb2xlYW4+IHtcbiAgICBjb25zdCBrZXkgPSBgJHtuYW1lfTo6JHtvcHRpb25JZH1gO1xuICAgIGxldCBjb250cm9sID0gdGhpcy5vcHRpb25Db250cm9sTWVtby5nZXQoa2V5KTtcbiAgICBpZiAoY29udHJvbCkgcmV0dXJuIGNvbnRyb2w7XG4gICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoc2VsZWN0ZWQgPT4ge1xuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0KG5hbWUpO1xuICAgICAgY29uc3QgY29tcGF0aWJpbGl0eUNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KG5hbWUpO1xuICAgICAgY29uc3QgY3VycmVudCA9IEFycmF5LmlzQXJyYXkoZm9ybUNvbnRyb2w/LnZhbHVlKVxuICAgICAgICA/IGZvcm1Db250cm9sLnZhbHVlXG4gICAgICAgIDogQXJyYXkuaXNBcnJheShjb21wYXRpYmlsaXR5Q29udHJvbD8udmFsdWUpXG4gICAgICAgICAgPyBjb21wYXRpYmlsaXR5Q29udHJvbC52YWx1ZVxuICAgICAgICAgIDogW107XG4gICAgICBjb25zdCBuZXh0ID0gc2VsZWN0ZWRcbiAgICAgICAgPyBbLi4ubmV3IFNldChbLi4uY3VycmVudCwgb3B0aW9uSWRdKV1cbiAgICAgICAgOiBjdXJyZW50LmZpbHRlcigoaWQ6IHN0cmluZykgPT4gaWQgIT09IG9wdGlvbklkKTtcbiAgICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZShuZXh0KTtcbiAgICAgIGNvbXBhdGliaWxpdHlDb250cm9sPy5zZXRWYWx1ZShuZXh0KTtcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbkNvbnRyb2xNZW1vLnNldChrZXksIGNvbnRyb2wpO1xuICAgIHJldHVybiBjb250cm9sO1xuICB9XG5cbiAgbWFya0ludmFsaWQoKTogdm9pZCB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEVycm9yLnNldCh0cnVlKTtcbiAgICB0aGlzLm5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmVtYWlsQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBhc3luYyBzdWJtaXQoZXZlbnQ/OiBGb3JtU3VibWl0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc2VuZGluZygpKSByZXR1cm47XG4gICAgaWYgKCFldmVudCAmJiB0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWV2ZW50ICYmIHRoaXMuaGFzTWlzc2luZ1JlcXVpcmVkTXVsdGlTZWxlY3QoKSkge1xuICAgICAgdGhpcy5tYXJrSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5uZWVkc0lkZW50aXR5KCkgJiYgKHRoaXMubmFtZUNvbnRyb2wuaW52YWxpZCB8fCB0aGlzLmVtYWlsQ29udHJvbC5pbnZhbGlkKSkge1xuICAgICAgdGhpcy5uYW1lQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmcpIHJldHVybjtcblxuICAgIHRoaXMuc2VuZGluZy5zZXQodHJ1ZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHR5cGU6IGNmZy50eXBlSWQsXG4gICAgICB0aXRsZTogY2ZnLmxhYmVsLFxuICAgICAgZmllbGRzOiBldmVudD8uZmllbGRzID8/IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXRSYXdWYWx1ZSgpID8/IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgLi4uKHRoaXMucHJvcHMuaW52aXRlVG9rZW4gPyB7IGludml0ZVRva2VuOiB0aGlzLnByb3BzLmludml0ZVRva2VuIH0gOiB7fSksXG4gICAgICAuLi4odGhpcy5uZWVkc0lkZW50aXR5KClcbiAgICAgICAgPyB7IHN1Ym1pdHRlcjogeyBuYW1lOiB0aGlzLm5hbWVDb250cm9sLnZhbHVlLnRyaW0oKSwgZW1haWw6IHRoaXMuZW1haWxDb250cm9sLnZhbHVlLnRyaW0oKSB9IH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIGNvbnN0IGNhbGwkID0gdGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpXG4gICAgICA/IHRoaXMucmVxdWVzdHMuY3JlYXRlUmVxdWVzdChwYXlsb2FkKVxuICAgICAgOiB0aGlzLnJlcXVlc3RzLmNyZWF0ZUFub255bW91c1JlcXVlc3QocGF5bG9hZCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oY2FsbCQpO1xuICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLnNlbnQuc2V0KHRydWUpO1xuICAgICAgdGhpcy5zdWJtaXR0ZWQuZW1pdCh7IHJlcXVlc3RJZDogcmVzLnJlcXVlc3RJZCB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgICAgLy8gVW5hIGludml0YWNpw7NuIHlhIHVzYWRhIG5vIGVzIHVuIGZhbGxvOiBlcyBsYSByZXNwdWVzdGEgY29ycmVjdGEgYWxcbiAgICAgIC8vIHNlZ3VuZG8gaW50ZW50by4gVW4gdG9hc3Qgcm9qbyBkZSBcIm5vIHB1ZGltb3MgZW52aWFyXCIgaGFyw61hIGNyZWVyIHF1ZVxuICAgICAgLy8gc2UgcGVyZGnDsyBsbyBxdWUgeWEgc2UgaGFiw61hIHJlc3BvbmRpZG8uXG4gICAgICBpZiAoaW50ZXJwcmV0RXJyb3IoZXJyKS5jb2RlID09PSBJTlZJVEVfVVNFRF9DT0RFKSB7XG4gICAgICAgIHRoaXMuYWxyZWFkeUFuc3dlcmVkLnNldCh0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnc3VydmV5UmVzcG9uc2Uuc3VibWl0JyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiBOQU1FU1BBQ0UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc01pc3NpbmdSZXF1aXJlZE11bHRpU2VsZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ucygpXG4gICAgICAuZmlsdGVyKHEgPT4gcS50eXBlID09PSAnTVVMVElfU0VMRUNUJyAmJiBxLnJlcXVpcmVkKVxuICAgICAgLnNvbWUocSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtLmdldChxLm5hbWUpPy52YWx1ZTtcbiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAhdmFsdWUubGVuZ3RoO1xuICAgICAgfSk7XG4gIH1cblxuICByZWFkb25seSBhbHJlYWR5QW5zd2VyZWRTdGF0ZSA9IGNvbXB1dGVkPEVtcHR5U3RhdGVNZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHsgdmFyaWFudDogJ2VtcHR5JywgdGl0bGU6IHRoaXMudCgnYWxyZWFkeVRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2FscmVhZHlCb2R5JykgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2VudFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdzZW50VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnc2VudEJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBsb2FkRXJyb3JTdGF0ZSA9IGNvbXB1dGVkPEVtcHR5U3RhdGVNZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHsgdmFyaWFudDogJ2Vycm9yJywgdGl0bGU6IHRoaXMudCgnbG9hZEVycm9yVGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnbG9hZEVycm9yQm9keScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGxvZ2luUmVxdWlyZWRTdGF0ZSA9IGNvbXB1dGVkPEVtcHR5U3RhdGVNZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHsgdmFyaWFudDogJ2Vycm9yJywgdGl0bGU6IHRoaXMudCgnbG9naW5SZXF1aXJlZFRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2xvZ2luUmVxdWlyZWRCb2R5JykgfTtcbiAgfSk7XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgTkFNRVNQQUNFKTtcbiAgfVxufVxuIl19
457
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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QUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBZ0NELENBQUMsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F6UlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0xBR3ZCLGFBQWEsZ0RBM0dkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQsMHFCQTVFQyxZQUFZLDhCQUNaLG1CQUFtQiwrQkFDbkIsZ0JBQWdCLDJFQUNoQixjQUFjLHlFQUNkLGtCQUFrQix3RkFTbEIsbUJBQW1CLCtFQUNuQixhQUFhOzs0RkEwR0osdUJBQXVCO2tCQTVIbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDt3REE2Q1EsS0FBSztzQkFBYixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLE1BQU07Z0JBQzJCLGFBQWE7c0JBQTlDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdHMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkU2NoZW1hRGVmLCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORywgUmVxdWVzdFR5cGVDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy90eXBlcyc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy9pbnRlcnByZXQtZXJyb3InO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dGFyZWEtaW5wdXQvdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtb2ppUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZW1vamktcmF0aW5nL2Vtb2ppLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcbmltcG9ydCB7IFN1cnZleVJlc3BvbnNlTWV0YWRhdGEsIFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNVUlZFWV9SRVNQT05TRV9JMThOIH0gZnJvbSAnLi9zdXJ2ZXktcmVzcG9uc2UuaTE4bic7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlSZXNwb25zZSc7XG5cbi8qKiBDb2RlIGRlbCBiYWNrZW5kIGN1YW5kbyBsYSBpbnZpdGFjacOzbiBkZSBlc2EgcGVyc29uYSB5YSBzZSByZXNwb25kacOzLiAqL1xuY29uc3QgSU5WSVRFX1VTRURfQ09ERSA9ICdTVVJWRVlfSU5WSVRFX0FMUkVBRFlfVVNFRCc7XG5cbi8qKiBUaXBvcyBjdXlhIHJlc3B1ZXN0YSBlcyB1biBib29sZWFubywgbm8gdW4gdGV4dG8uICovXG5jb25zdCBCT09MRUFOX1RZUEVTID0gWydDSEVDSycsICdUT0dHTEUnXTtcblxuLyoqXG4gKiB2YWwtc3VydmV5LXJlc3BvbnNlXG4gKlxuICogVG9tYSB1bmEgZW5jdWVzdGEgKGBSZXF1ZXN0VHlwZUNvbmZpZ2AgY29uIGBUeXBlOiBcInN1cnZleTo8c2x1Zz5cImAsIEFEUi0wOTIpXG4gKiB5IGxhIHByZXNlbnRhIGNvbW8gZm9ybXVsYXJpbyBkZSByZXNwdWVzdGEg4oCUIGVsIG9yZ2FuaXNtIHF1ZSB1biB2aXNpdGFudGVcbiAqIHZlIGFsIGFicmlyIGVsIGxpbmsgZGUgdW5hIGVuY3Vlc3RhLiBTZWxmLWNvbnRhaW5lZCwgaWd1YWwgcXVlXG4gKiBgdmFsLWNvbnRlbnQtcmVhY3Rpb25gL2B2YWwtYWNjZXNzLXJlcXVlc3Qtdmlld2A6IGxlZSBlbCB0aXBvLCBhcm1hIGVsXG4gKiBmb3JtdWxhcmlvLCBlbnbDrWEgbGEgcmVzcHVlc3RhLCBzaW4gcXVlIGVsIGNvbnN1bWVyIHRlbmdhIHF1ZSBvcnF1ZXN0YXJcbiAqIG5hZGEgZGUgZXNvLlxuICpcbiAqIFNvbG8gbGVlIHRpcG9zIGB2aXNpYmlsaXR5OiAnUFVCTElDJ2AgKHbDrWEgYGdldFB1YmxpY1JlcXVlc3RUeXBlYCwgc2luXG4gKiBhdXRoKSDigJQgZXMgZWwgY2FzbyBkZSB1c28gcXVlIGRlc2NyaWJlIGVsIEFEUiAobGluayBlbnZpYWRvIGEgY29tcHJhZG9yZXMsXG4gKiBxdWUgcHVlZGVuIG5vIHRlbmVyIGN1ZW50YSkuIEVuY3Vlc3RhcyBBVVRIRU5USUNBVEVEL09SRy9JTlRFUk5BTCBlc3TDoW5cbiAqIGZ1ZXJhIGRlIGFsY2FuY2UgZGUgZXN0ZSBjb21wb25lbnRlIHBvciBhaG9yYS5cbiAqXG4gKiBDYWRhIHByZWd1bnRhIHNlIHJlbmRlcml6YSBzZWfDum4gc3UgYEZpZWxkU2NoZW1hRGVmLnR5cGVgOiBgRU1PSklfUkFUSU5HYFxuICogdXNhIGB2YWwtZW1vamktcmF0aW5nYCAoTlVOQ0EgcGFzYSBwb3IgYHZhbC1mb3JtYCwgbm8gbG8gc2FiZSBydXRlYXIpO1xuICogY3VhbHF1aWVyIG90cm8gdGlwbyAodjE6IHNvbG8gYFRFWFRBUkVBYCkgdXNhIGB2YWwtdGV4dGFyZWEtaW5wdXRgLiBObyBoYXlcbiAqIGB2YWwtZm9ybWAgZGUgcG9yIG1lZGlvIOKAlCB1biBGb3JtR3JvdXAgYXJtYWRvIGEgbWFubywgcG9ycXVlIG1lemNsYXIgdGlwb3NcbiAqIGN1c3RvbSBjb24gZWwgZm9ybSBnZW7DqXJpY28gZXMgbcOhcyBjb21wbGljYWRvIHF1ZSBjb25zdHJ1aXIgZWwgcHJvcGlvLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc3VydmV5LXJlc3BvbnNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG4gICAgUmFkaW9JbnB1dENvbXBvbmVudCxcbiAgICBDaGVja0lucHV0Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIEVtb2ppUmF0aW5nQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIEZvcm1Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX2xvYWRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cbiAgICB9IEBlbHNlIGlmIChsb2FkRXJyb3IoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9hZEVycm9yU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoYWxyZWFkeUFuc3dlcmVkKCkpIHtcbiAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cImFscmVhZHlBbnN3ZXJlZFN0YXRlKClcIiAvPlxuICAgIH0gQGVsc2UgaWYgKHNlbnQoKSkge1xuICAgICAgQGlmIChzdWNjZXNzUHJlc2VudGF0aW9uKCk7IGFzIHN1Y2Nlc3MpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2Ugc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAgQGlmIChzdWNjZXNzLmltYWdlVXJsKSB7XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlXCIgW3NyY109XCJzdWNjZXNzLmltYWdlVXJsXCIgW2FsdF09XCJzdWNjZXNzLnRpdGxlXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHN1Y2Nlc3MudGl0bGUsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICAgICAgQGlmIChzdWNjZXNzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogc3VjY2Vzcy5tZXNzYWdlLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cInNlbnRTdGF0ZSgpXCIgLz5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAodHlwZUNvbmZpZygpOyBhcyBjZmcpIHtcbiAgICAgICAgQGlmICghY2FuUmVzcG9uZCgpKSB7XG4gICAgICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9naW5SZXF1aXJlZFN0YXRlKClcIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXJlc3BvbnNlXCI+XG4gICAgICAgICAgICBAaWYgKGNmZy5wcmVzZW50YXRpb24/LmhlYWRlckltYWdlVXJsKSB7XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX2hlYWRlci1pbWFnZVwiIFtzcmNdPVwiY2ZnLnByZXNlbnRhdGlvbj8uaGVhZGVySW1hZ2VVcmxcIiBbYWx0XT1cImNmZy5sYWJlbFwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogY2ZnLmxhYmVsLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICAgICAgQGlmIChjZmcuc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBjZmcuc3VidGl0bGUsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gU29sbyBzaSBlbCBUSVBPIGxvIGV4aWdlIChza2lwU3VibWl0dGVySWRlbnRpdHkgYXVzZW50ZS9mYWxzZSkuXG4gICAgICAgICAgICAgICAgIFVuYSBlbmN1ZXN0YSBsbyBwb25lIGVuIHRydWUgeSBhY8OhIG5vIHNlIHBpZGUgbmFkYTogc2kgZWxcbiAgICAgICAgICAgICAgICAgZm9ybXVsYXJpbyBsb3MgZXhpZ2llcmEgaWd1YWwsIHF1ZWRhcsOtYW4gcmVxdWVyaWRvcyBlXG4gICAgICAgICAgICAgICAgIGludmlzaWJsZXMgeSBlbCBlbnbDrW8gc2UgYmxvcXVlYXLDrWEgc2luIG1vdGl2byBhIGxhIHZpc3RhLiAtLT5cbiAgICAgICAgICAgIEBpZiAobmVlZHNJZGVudGl0eSgpKSB7XG4gICAgICAgICAgICAgIDx2YWwtdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7IGNvbnRyb2w6IG5hbWVDb250cm9sLCBsYWJlbDogdCgnbmFtZUxhYmVsJyksIHBsYWNlaG9sZGVyOiB0KCduYW1lUGxhY2Vob2xkZXInKSB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGVtYWlsQ29udHJvbCxcbiAgICAgICAgICAgICAgICAgIGlucHV0VHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB0KCdlbWFpbExhYmVsJyksXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogdCgnZW1haWxQbGFjZWhvbGRlcicpLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGZvcm1Qcm9wcygpOyBhcyBwcm9wcykge1xuICAgICAgICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cInByb3BzXCIgKG9uU3VibWl0KT1cInN1Ym1pdCgkZXZlbnQpXCIgKG9uSW52YWxpZCk9XCJtYXJrSW52YWxpZCgpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19oZWFkZXItaW1hZ2UsXG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9faGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19sb2FkaW5nIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5UmVzcG9uc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wcyE6IFN1cnZleVJlc3BvbnNlTWV0YWRhdGE7XG4gIEBPdXRwdXQoKSByZWFkb25seSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQ+KCk7XG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudCkgcHJpdmF0ZSBmb3JtQ29tcG9uZW50PzogRm9ybUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RzID0gaW5qZWN0KFJlcXVlc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBlbW9qaVR5cGUgPSBGSUVMRF9UWVBFX0VNT0pJX1JBVElORztcbiAgcmVhZG9ubHkgc2VsZWN0VHlwZSA9IElucHV0VHlwZS5TRUxFQ1Q7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VudCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbmRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSB0eXBlQ29uZmlnID0gc2lnbmFsPFJlcXVlc3RUeXBlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgbmFtZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGVtYWlsQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKE5BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKE5BTUVTUEFDRSwgU1VSVkVZX1JFU1BPTlNFX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlcXVlc3RzLmdldFB1YmxpY1JlcXVlc3RUeXBlKHRoaXMucHJvcHMudHlwZUlkKSk7XG4gICAgICB0aGlzLnR5cGVDb25maWcuc2V0KGNmZyk7XG4gICAgICB0aGlzLmJ1aWxkQ29tcGF0aWJpbGl0eUZvcm0oY2ZnKTtcbiAgICAgIHRoaXMuY29uZmlndXJlSWRlbnRpdHkoY2ZnKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMubG9hZEVycm9yLnNldCh0cnVlKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVJZGVudGl0eShjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmVlZHNJZGVudGl0eUZvcihjZmcpKSB7XG4gICAgICAvLyBzZXRWYWxpZGF0b3JzIHBvciBzw60gc29sbyBubyByZWNhbGN1bGEgZWwgc3RhdHVzIGRlbCBjb250cm9sIOKAlCBzaW4gZWxcbiAgICAgIC8vIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSBkZSBhbCBsYWRvLCBuYW1lL2VtYWlsIHF1ZWRhYmFuIFZBTElEIGhhc3RhXG4gICAgICAvLyBlbCBwcsOzeGltbyBjYW1iaW8gZGUgdmFsb3IsIHkgc3VibWl0KCkgZGVqYWJhIHBhc2FyIHVuIGVudsOtbyBhbsOzbmltb1xuICAgICAgLy8gc2luIGlkZW50aWRhZC5cbiAgICAgIHRoaXMubmFtZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgdGhpcy5uYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSk7XG4gICAgICB0aGlzLmVtYWlsQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbXBhdGliaWxpdHlGb3JtKGNmZzogUmVxdWVzdFR5cGVDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cDogUmVjb3JkPHN0cmluZywgRm9ybUNvbnRyb2w+ID0ge307XG4gICAgZm9yIChjb25zdCBxIG9mIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpKSB7XG4gICAgICBjb25zdCBpbml0aWFsID0gcS50eXBlID09PSAnTVVMVElfU0VMRUNUX1NJTVBMRScgPyBbXSA6IHEudHlwZSA9PT0gJ1RPR0dMRScgPyBmYWxzZSA6ICcnO1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHEucmVxdWlyZWQgJiYgcS50eXBlICE9PSAnVE9HR0xFJyA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuICAgICAgZ3JvdXBbcS5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChpbml0aWFsLCB2YWxpZGF0b3JzKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChncm91cCk7XG4gIH1cblxuICByZWFkb25seSBmb3JtUHJvcHMgPSBjb21wdXRlZDxGb3JtTWV0YWRhdGEgfCBudWxsPigoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TY2hlbWFzLmJ1aWxkRm9ybShcbiAgICAgIHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpLFxuICAgICAgTkFNRVNQQUNFLFxuICAgICAgJycsXG4gICAgICAnc3VibWl0JyxcbiAgICAgIHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uZm9ybSwgc2hvd0RpdmlkZXJzOiBmYWxzZSwgZmllbGRTcGFjaW5nOiAxNiB9O1xuICB9KTtcblxuICAvKiogUHJlZ3VudGFzIG9yZGVuYWRhcywgZXhwdWVzdGFzIHBhcmEgdGVzdHMvaG9zdHMgcXVlIGluc3BlY2Npb25hbiBlbCBzY2hlbWEgcmVzdWVsdG8uICovXG4gIHJlYWRvbmx5IHF1ZXN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICByZXR1cm4gY2ZnID8gWy4uLmNmZy5maWVsZFNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpIDogW107XG4gIH0pO1xuXG4gIHF1ZXN0aW9uQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0KG5hbWUpID8/IHRoaXMuZm9ybS5nZXQobmFtZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgb3B0aW9uc09mKHE6IHsgb3B0aW9ucz86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBvcmRlcj86IG51bWJlciB9W10gfSk6IElucHV0T3B0aW9uW10ge1xuICAgIHJldHVybiBbLi4uKHEub3B0aW9ucyA/PyBbXSldXG4gICAgICAubWFwKChvLCBpbmRleCkgPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgPz8gaW5kZXggfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG5cbiAgaW5wdXRUeXBlT2YodHlwZTogc3RyaW5nKTogJ3RleHQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnRU1BSUwnOlxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcbiAgICAgIGNhc2UgJ05VTUJFUic6XG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgIGNhc2UgJ1BIT05FJzpcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1cnZleVNjaGVtYUZvckZvcm0oc2NoZW1hOiBGaWVsZFNjaGVtYURlZltdKTogRmllbGRTY2hlbWFEZWZbXSB7XG4gICAgcmV0dXJuIHNjaGVtYS5tYXAocSA9PiB7XG4gICAgICBpZiAocS50eXBlID09PSAnTVVMVElfU0VMRUNUJykge1xuICAgICAgICByZXR1cm4geyAuLi5xLCB0eXBlOiAnTVVMVElfU0VMRUNUX1NJTVBMRScsIHZhbHVlOiBbXSB9O1xuICAgICAgfVxuICAgICAgaWYgKEJPT0xFQU5fVFlQRVMuaW5jbHVkZXMocS50eXBlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnEsXG4gICAgICAgICAgdHlwZTogJ1RPR0dMRScsXG4gICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IChxLnZhbGlkYXRvcnMgPz8gW10pLmZpbHRlcih2ID0+IHYgIT09ICdyZXF1aXJlZCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHE7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUHVlZGUgcmVzcG9uZGVyIHNpbiBzZXNpw7NuIHNpIGVsIHRpcG8gbG8gcGVybWl0ZTsgc2kgbm8sIGhhY2UgZmFsdGEgbG9naW4uICovXG4gIHJlYWRvbmx5IGNhblJlc3BvbmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICEhdGhpcy50eXBlQ29uZmlnKCk/LmFsbG93QW5vbnltb3VzO1xuICB9KTtcblxuICAvKipcbiAgICogRWwgdGlwbyBwdWVkZSBzZWd1aXIgZXhpZ2llbmRvIGlkZW50aWRhZCBhbCBhbsOzbmltbyAoYHNraXBTdWJtaXR0ZXJJZGVudGl0eWBcbiAgICogYXVzZW50ZSBvIGZhbHNlKTogZXMgZWwgY2FzbyBkZSBsYXMgc29saWNpdHVkZXMgZGUgQ2hlc2VkL09raGVsaWEsIGRvbmRlXG4gICAqIHNhYmVyIHF1acOpbiBwaWRpw7MgRVMgZWwgcHVudG8uIFVuYSBlbmN1ZXN0YSBwb25lIGVsIGZsYWcgZW4gdHJ1ZSB5IGVudG9uY2VzXG4gICAqIG5vIHNlIHBpZGUgbmFkYSDigJQgc2kgbGEgb3JnYW5pemFjacOzbiBuZWNlc2l0YSBlbCBjb3JyZW8gZGUgcXVpZW4gcmVzcG9uZGUsXG4gICAqIGxvIGFncmVnYSBjb21vIHVuYSBQUkVHVU5UQSBkZSB0aXBvIENvcnJlby4gRXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhOyBlbCBmb3JtdWxhcmlvIG5vIGNvYnJhIHBlYWplIHBvciBzdSBjdWVudGEuXG4gICAqL1xuICBuZWVkc0lkZW50aXR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIXRoaXMudHlwZUNvbmZpZygpPy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICBwcml2YXRlIG5lZWRzSWRlbnRpdHlGb3IoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIWNmZy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICByZWFkb25seSBzdWJtaXRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlbmRpbmcoKSA/ICdXT1JLSU5HJyA6ICdFTkFCTEVEJykpO1xuXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0RXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbkNvbnRyb2xNZW1vID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPGJvb2xlYW4+PigpO1xuXG4gIG9wdGlvbkNvbnRyb2wobmFtZTogc3RyaW5nLCBvcHRpb25JZDogc3RyaW5nKTogRm9ybUNvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke25hbWV9Ojoke29wdGlvbklkfWA7XG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLm9wdGlvbkNvbnRyb2xNZW1vLmdldChrZXkpO1xuICAgIGlmIChjb250cm9sKSByZXR1cm4gY29udHJvbDtcbiAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjb21wYXRpYmlsaXR5Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjdXJyZW50ID0gQXJyYXkuaXNBcnJheShmb3JtQ29udHJvbD8udmFsdWUpXG4gICAgICAgID8gZm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgOiBBcnJheS5pc0FycmF5KGNvbXBhdGliaWxpdHlDb250cm9sPy52YWx1ZSlcbiAgICAgICAgICA/IGNvbXBhdGliaWxpdHlDb250cm9sLnZhbHVlXG4gICAgICAgICAgOiBbXTtcbiAgICAgIGNvbnN0IG5leHQgPSBzZWxlY3RlZFxuICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi5jdXJyZW50LCBvcHRpb25JZF0pXVxuICAgICAgICA6IGN1cnJlbnQuZmlsdGVyKChpZDogc3RyaW5nKSA9PiBpZCAhPT0gb3B0aW9uSWQpO1xuICAgICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgICAgY29tcGF0aWJpbGl0eUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgIH0pO1xuICAgIHRoaXMub3B0aW9uQ29udHJvbE1lbW8uc2V0KGtleSwgY29udHJvbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBtYXJrSW52YWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0RXJyb3Iuc2V0KHRydWUpO1xuICAgIHRoaXMubmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChldmVudD86IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZW5kaW5nKCkpIHJldHVybjtcbiAgICBpZiAoIWV2ZW50ICYmIHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghZXZlbnQgJiYgdGhpcy5oYXNNaXNzaW5nUmVxdWlyZWRNdWx0aVNlbGVjdCgpKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHkoKSAmJiAodGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkIHx8IHRoaXMuZW1haWxDb250cm9sLmludmFsaWQpKSB7XG4gICAgICB0aGlzLm5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuO1xuXG4gICAgdGhpcy5zZW5kaW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogY2ZnLnR5cGVJZCxcbiAgICAgIHRpdGxlOiBjZmcubGFiZWwsXG4gICAgICBmaWVsZHM6IGV2ZW50Py5maWVsZHMgPz8gdGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldFJhd1ZhbHVlKCkgPz8gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXG4gICAgICAuLi4odGhpcy5wcm9wcy5pbnZpdGVUb2tlbiA/IHsgaW52aXRlVG9rZW46IHRoaXMucHJvcHMuaW52aXRlVG9rZW4gfSA6IHt9KSxcbiAgICAgIC4uLih0aGlzLm5lZWRzSWRlbnRpdHkoKVxuICAgICAgICA/IHsgc3VibWl0dGVyOiB7IG5hbWU6IHRoaXMubmFtZUNvbnRyb2wudmFsdWUudHJpbSgpLCBlbWFpbDogdGhpcy5lbWFpbENvbnRyb2wudmFsdWUudHJpbSgpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbCQgPSB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKClcbiAgICAgID8gdGhpcy5yZXF1ZXN0cy5jcmVhdGVSZXF1ZXN0KHBheWxvYWQpXG4gICAgICA6IHRoaXMucmVxdWVzdHMuY3JlYXRlQW5vbnltb3VzUmVxdWVzdChwYXlsb2FkKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShjYWxsJCk7XG4gICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuc2VudC5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHsgcmVxdWVzdElkOiByZXMucmVxdWVzdElkIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICAvLyBVbmEgaW52aXRhY2nDs24geWEgdXNhZGEgbm8gZXMgdW4gZmFsbG86IGVzIGxhIHJlc3B1ZXN0YSBjb3JyZWN0YSBhbFxuICAgICAgLy8gc2VndW5kbyBpbnRlbnRvLiBVbiB0b2FzdCByb2pvIGRlIFwibm8gcHVkaW1vcyBlbnZpYXJcIiBoYXLDrWEgY3JlZXIgcXVlXG4gICAgICAvLyBzZSBwZXJkacOzIGxvIHF1ZSB5YSBzZSBoYWLDrWEgcmVzcG9uZGlkby5cbiAgICAgIGlmIChpbnRlcnByZXRFcnJvcihlcnIpLmNvZGUgPT09IElOVklURV9VU0VEX0NPREUpIHtcbiAgICAgICAgdGhpcy5hbHJlYWR5QW5zd2VyZWQuc2V0KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdzdXJ2ZXlSZXNwb25zZS5zdWJtaXQnLFxuICAgICAgICBmYWxsYmFja0tleTogJ3NlbmRFcnJvcicsXG4gICAgICAgIGkxOG5OYW1lc3BhY2U6IE5BTUVTUEFDRSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzTWlzc2luZ1JlcXVpcmVkTXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb25zKClcbiAgICAgIC5maWx0ZXIocSA9PiBxLnR5cGUgPT09ICdNVUxUSV9TRUxFQ1QnICYmIHEucmVxdWlyZWQpXG4gICAgICAuc29tZShxID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHEubmFtZSk/LnZhbHVlO1xuICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5sZW5ndGg7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdhbHJlYWR5VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnYWxyZWFkeUJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBzZW50U3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0aGlzLnQoJ3NlbnRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdzZW50Qm9keScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQcmVzZW50YXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmc/LnByZXNlbnRhdGlvbikgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgdGl0bGUgPSBjZmcucHJlc2VudGF0aW9uLnN1Y2Nlc3NUaXRsZT8udHJpbSgpIHx8IHRoaXMudCgnc2VudFRpdGxlJyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNmZy5wcmVzZW50YXRpb24uc3VjY2Vzc01lc3NhZ2U/LnRyaW0oKSB8fCB0aGlzLnQoJ3NlbnRCb2R5Jyk7XG4gICAgY29uc3QgaW1hZ2VVcmwgPSBjZmcucHJlc2VudGF0aW9uLnN1Y2Nlc3NJbWFnZVVybD8udHJpbSgpIHx8ICcnO1xuICAgIGlmICghY2ZnLnByZXNlbnRhdGlvbi5zdWNjZXNzVGl0bGUgJiYgIWNmZy5wcmVzZW50YXRpb24uc3VjY2Vzc01lc3NhZ2UgJiYgIWltYWdlVXJsKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4geyB0aXRsZSwgbWVzc2FnZSwgaW1hZ2VVcmwgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZEVycm9yU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvYWRFcnJvclRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2xvYWRFcnJvckJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBsb2dpblJlcXVpcmVkU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvZ2luUmVxdWlyZWRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdsb2dpblJlcXVpcmVkQm9keScpIH07XG4gIH0pO1xuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIE5BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
@@ -189,6 +189,7 @@ export class FormSchemaBuilderService {
189
189
  DATE: InputType.DATE,
190
190
  SELECT: InputType.SELECT,
191
191
  MULTI_SELECT: InputType.MULTI_SELECT,
192
+ MULTI_SELECT_SIMPLE: InputType.MULTI_SELECT_SIMPLE,
192
193
  RADIO: InputType.RADIO,
193
194
  TOGGLE: InputType.TOGGLE,
194
195
  CHECK: InputType.CHECK,
@@ -207,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
207
208
  type: Injectable,
208
209
  args: [{ providedIn: 'root' }]
209
210
  }] });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsK0JBQStCLEdBSWhDLE1BQU0sU0FBUyxDQUFDOztBQUdqQixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQW9PcEM7SUFsT0MsU0FBUyxDQUNQLE1BQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGlCQUF5QixRQUFRLEVBQ2pDLFFBQXdCLGVBQWUsQ0FBQyxPQUFPO1FBRS9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sT0FBTyxHQUFnQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUU1RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQztnQkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztnQkFDaEQsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFLE9BQU87YUFDaEIsQ0FBQztZQUNGLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQztJQUVTLFVBQVUsQ0FDbEIsR0FBbUIsRUFDbkIsYUFBcUIsRUFDckIsS0FBcUI7UUFFckIsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSxrREFBa0Q7UUFDbEQsTUFBTSxLQUFLLEdBQ1QsR0FBRyxDQUFDLEtBQUs7WUFDVCxHQUFHLENBQUMsT0FBTztZQUNYLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsTUFBTSxXQUFXLEdBQ2YsR0FBRyxDQUFDLGVBQWU7WUFDbkIsR0FBRyxDQUFDLGFBQWE7WUFDakIsR0FBRyxDQUFDLGFBQWE7WUFDakIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxNQUFNLElBQUksR0FDUixHQUFHLENBQUMsUUFBUTtZQUNaLEdBQUcsQ0FBQyxNQUFNO1lBQ1YsR0FBRyxDQUFDLE1BQU07WUFDVixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQThCLEdBQUcsQ0FBQyxPQUFPO1lBQ3BELENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDcEUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxLQUFLO1lBQ0wsV0FBVztZQUNYLElBQUk7WUFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ25DLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixVQUFVO1lBQ1YsT0FBTztZQUNQLE1BQU07WUFDTixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7WUFDaEIsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQ2YsS0FBdUUsRUFDdkUsS0FBYTtRQUViLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLE9BQU87WUFDTCxJQUFJO1lBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25FLHVFQUF1RTtZQUN2RSx1Q0FBdUM7WUFDdkMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3pCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3RDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDMUIsVUFBVTtZQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QyxLQUFLO1NBQ04sQ0FBQztJQUNKLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQU90QjtRQUNDLE9BQU87WUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1lBQzFFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUNmLE1BQXdCLEVBQ3hCLFVBQWlDLCtCQUErQjtRQUVoRSxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxHQUFHLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxLQUFLO2dCQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE9BQU8sS0FBSzthQUNULFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDaEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQzthQUMvQixPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2FBQy9CLElBQUksRUFBRTthQUNOLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDeEQsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYSxFQUFFLGNBQW1EO1FBQ2hGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNqRCxPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUyxlQUFlLENBQUMsR0FBbUI7UUFDM0MsTUFBTSxNQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakUsSUFBSSxXQUFXO1lBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLEtBQUssS0FBSyxVQUFVO2dCQUFFLFNBQVM7WUFDbkMsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN4RCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsU0FBUztZQUNYLENBQUM7WUFDRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDeEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdELFNBQVM7WUFDWCxDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1QyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsU0FBUztZQUNYLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVksRUFBRSxRQUFpQjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBUyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxLQUFLLE9BQU87WUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssT0FBTztZQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekUsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQXVCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUNoQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNiLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLO1NBQzdCLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxjQUFjLENBQUMsT0FBZTtRQUN0QyxNQUFNLEdBQUcsR0FBOEI7WUFDckMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO1lBQ3BDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSztZQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7U0FDckMsQ0FBQztRQUNGLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQzsrR0FwT1Usd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FEWCxNQUFNOzs0RkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudFN0YXRlLFxuICBDb21wb25lbnRTdGF0ZXMsXG4gIEZvcm1NZXRhZGF0YSxcbiAgRm9ybVNlY3Rpb24sXG4gIElucHV0TWV0YWRhdGEsXG4gIElucHV0T3B0aW9uLFxuICBJbnB1dFR5cGUsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHlwZXMnO1xuaW1wb3J0IHsgYnV0dG9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENhbm9uaWNhbEZpZWxkQWxpYXNlcyxcbiAgREVGQVVMVF9DQU5PTklDQUxfRklFTERfQUxJQVNFUyxcbiAgRmllbGRPcHRpb24sXG4gIEZpZWxkU2NoZW1hRGVmLFxuICBGb3JtU2NoZW1hQ29uZmlnLFxufSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2Uge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIGJ1aWxkRm9ybShcbiAgICBzY2hlbWE6IEZpZWxkU2NoZW1hRGVmW10sXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXG4gICAgc3VibWl0TGFiZWxLZXk6IHN0cmluZyA9ICdzdWJtaXQnLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEXG4gICk6IEZvcm1NZXRhZGF0YSB7XG4gICAgY29uc3Qgc29ydGVkID0gWy4uLnNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIGNvbnN0IGZpZWxkczogSW5wdXRNZXRhZGF0YVtdID0gc29ydGVkLm1hcChkZWYgPT4gdGhpcy5idWlsZEZpZWxkKGRlZiwgaTE4bk5hbWVzcGFjZSwgc3RhdGUpKTtcbiAgICBjb25zdCBzZWN0aW9uOiBGb3JtU2VjdGlvbiA9IHsgbmFtZTogJycsIG9yZGVyOiAwLCBmaWVsZHMgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBmb3JtTmFtZSxcbiAgICAgIHNlY3Rpb25zOiBbc2VjdGlvbl0sXG4gICAgICBhY3Rpb25zOiBidXR0b24oe1xuICAgICAgICB0ZXh0OiB0aGlzLmkxOG4udChzdWJtaXRMYWJlbEtleSwgaTE4bk5hbWVzcGFjZSksXG4gICAgICAgIHR5cGU6ICdzdWJtaXQnLFxuICAgICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICB9KSxcbiAgICAgIHN0YXRlLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRGaWVsZChcbiAgICBkZWY6IEZpZWxkU2NoZW1hRGVmLFxuICAgIGkxOG5OYW1lc3BhY2U6IHN0cmluZyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVcbiAgKTogSW5wdXRNZXRhZGF0YSB7XG4gICAgLy8gT3JkZW46IHRleHRvIGRlbCBjbGllbnRlICh0YWwgY3VhbCBsbyBlc2NyaWJpw7MpIOKGkiBjbGF2ZSBpMThuIGRlIHByb2R1Y3RvLlxuICAgIC8vIExvcyAqRXMvKkVuIHNvbiBzb2xvIGNvbXBhdGliaWxpZGFkIGNvbiBlc3F1ZW1hcyB2aWVqb3M6IHNlIGxlZW4gYWwgZmluYWxcbiAgICAvLyB5IG5hZGllIGxvcyBlc2NyaWJlLiBWZXIgcmVnbGEgIzQgZW4gQ0xBVURFLm1kLlxuICAgIGNvbnN0IGxhYmVsID1cbiAgICAgIGRlZi5sYWJlbCB8fFxuICAgICAgZGVmLmxhYmVsRXMgfHxcbiAgICAgIGRlZi5sYWJlbEVuIHx8XG4gICAgICAoZGVmLmxhYmVsS2V5ID8gdGhpcy5pMThuLnQoZGVmLmxhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSA6IGRlZi5uYW1lKTtcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9XG4gICAgICBkZWYucGxhY2Vob2xkZXJUZXh0IHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJFcyB8fFxuICAgICAgZGVmLnBsYWNlaG9sZGVyRW4gfHxcbiAgICAgIChkZWYucGxhY2Vob2xkZXIgPyB0aGlzLmkxOG4udChkZWYucGxhY2Vob2xkZXIsIGkxOG5OYW1lc3BhY2UpIDogJycpO1xuICAgIGNvbnN0IGhpbnQgPVxuICAgICAgZGVmLmhpbnRUZXh0IHx8XG4gICAgICBkZWYuaGludEVzIHx8XG4gICAgICBkZWYuaGludEVuIHx8XG4gICAgICAoZGVmLmhpbnQgPyB0aGlzLmkxOG4udChkZWYuaGludCwgaTE4bk5hbWVzcGFjZSkgOiAnJyk7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMucGFyc2VWYWxpZGF0b3JzKGRlZik7XG4gICAgY29uc3QgZXJyb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICBpZiAoZGVmLnJlcXVpcmVkIHx8IChkZWYudmFsaWRhdG9ycyA/PyBbXSkuaW5jbHVkZXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgIGVycm9yc1sncmVxdWlyZWQnXSA9IHRoaXMuaTE4bi50KCdmaWVsZFJlcXVpcmVkJywgJ19jb21tb24nKTtcbiAgICB9XG4gICAgaWYgKChkZWYudmFsaWRhdG9ycyA/PyBbXSkuaW5jbHVkZXMoJ2VtYWlsJykpIHtcbiAgICAgIGVycm9yc1snZW1haWwnXSA9IHRoaXMuaTE4bi50KCdmaWVsZEludmFsaWRFbWFpbCcsICdfY29tbW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uczogSW5wdXRPcHRpb25bXSB8IHVuZGVmaW5lZCA9IGRlZi5vcHRpb25zXG4gICAgICA/IGRlZi5vcHRpb25zLm1hcChvID0+ICh7IGlkOiBvLmlkLCBuYW1lOiBvLm5hbWUsIG9yZGVyOiBvLm9yZGVyIH0pKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW46IGRlZi5uYW1lLFxuICAgICAgbmFtZTogZGVmLm5hbWUsXG4gICAgICBsYWJlbCxcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgaGludCxcbiAgICAgIHR5cGU6IHRoaXMucGFyc2VJbnB1dFR5cGUoZGVmLnR5cGUpLFxuICAgICAgb3JkZXI6IGRlZi5vcmRlcixcbiAgICAgIHZhbGlkYXRvcnMsXG4gICAgICBvcHRpb25zLFxuICAgICAgZXJyb3JzLFxuICAgICAgdmFsdWU6IGRlZi52YWx1ZSxcbiAgICAgIHN0YXRlLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVGaWVsZFNjaGVtYShcbiAgICBmaWVsZDogUGFydGlhbDxGaWVsZFNjaGVtYURlZj4gJiBQaWNrPEZpZWxkU2NoZW1hRGVmLCAnbmFtZScgfCAnbGFiZWwnPixcbiAgICBvcmRlcjogbnVtYmVyXG4gICk6IEZpZWxkU2NoZW1hRGVmIHtcbiAgICBjb25zdCB0eXBlID0gZmllbGQudHlwZSB8fCAnVEVYVCc7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IGZpZWxkLnZhbGlkYXRvcnMgPz8gdGhpcy5kZWZhdWx0VmFsaWRhdG9yc0Zvcih0eXBlLCAhIWZpZWxkLnJlcXVpcmVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZSxcbiAgICAgIG5hbWU6IHRoaXMudG9Ub2tlbihmaWVsZC5uYW1lIHx8IGZpZWxkLmxhYmVsKSxcbiAgICAgIGxhYmVsS2V5OiBmaWVsZC5sYWJlbEtleSB8fCB0aGlzLnRvVG9rZW4oZmllbGQubmFtZSB8fCBmaWVsZC5sYWJlbCksXG4gICAgICAvLyBTaW4gKkVzLypFbjogZWwgdGV4dG8gZGVsIGNsaWVudGUgdmEgZW4gdW4gY2FtcG8geSBlbCBkZSBwcm9kdWN0byBlblxuICAgICAgLy8gbGFiZWxLZXkuIFZlciByZWdsYSAjNCBlbiBDTEFVREUubWQuXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwudHJpbSgpLFxuICAgICAgcGxhY2Vob2xkZXI6IGZpZWxkLnBsYWNlaG9sZGVyLFxuICAgICAgcGxhY2Vob2xkZXJUZXh0OiBmaWVsZC5wbGFjZWhvbGRlclRleHQ/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhpbnQ6IGZpZWxkLmhpbnQsXG4gICAgICBoaW50VGV4dDogZmllbGQuaGludFRleHQ/LnRyaW0oKSA/PyAnJyxcbiAgICAgIHJlcXVpcmVkOiAhIWZpZWxkLnJlcXVpcmVkLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnM6IHRoaXMubm9ybWFsaXplT3B0aW9ucyhmaWVsZC5vcHRpb25zKSxcbiAgICAgIG9yZGVyLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVGb3JtU2NoZW1hQ29uZmlnKGlucHV0OiB7XG4gICAgc2NoZW1hSWQ6IHN0cmluZztcbiAgICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKiBUw610dWxvIGRlbCBmb3JtdWxhcmlvLiBMbyBlc2NyaWJlIGxhIG9yZ2FuaXphY2nDs246IG5vIHNlIHRyYWR1Y2UuICovXG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmllbGRzOiBGaWVsZFNjaGVtYURlZltdO1xuICAgIGNhbm9uaWNhbEFsaWFzZXM/OiBDYW5vbmljYWxGaWVsZEFsaWFzZXM7XG4gIH0pOiBGb3JtU2NoZW1hQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hSWQ6IGlucHV0LnNjaGVtYUlkLFxuICAgICAgc2NoZW1hVmVyc2lvbjogaW5wdXQuc2NoZW1hVmVyc2lvbixcbiAgICAgIGxhYmVsOiBpbnB1dC5sYWJlbCxcbiAgICAgIGNhbm9uaWNhbE1hcDogdGhpcy5idWlsZENhbm9uaWNhbE1hcChpbnB1dC5maWVsZHMsIGlucHV0LmNhbm9uaWNhbEFsaWFzZXMpLFxuICAgICAgZmllbGRTY2hlbWE6IGlucHV0LmZpZWxkcyxcbiAgICB9O1xuICB9XG5cbiAgYnVpbGRDYW5vbmljYWxNYXAoXG4gICAgZmllbGRzOiBGaWVsZFNjaGVtYURlZltdLFxuICAgIGFsaWFzZXM6IENhbm9uaWNhbEZpZWxkQWxpYXNlcyA9IERFRkFVTFRfQ0FOT05JQ0FMX0ZJRUxEX0FMSUFTRVNcbiAgKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgbmFtZXMgPSBuZXcgU2V0KGZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSkpO1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2Nhbm9uaWNhbE5hbWUsIGNhbmRpZGF0ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGFsaWFzZXMpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGNhbmRpZGF0ZXMuZmluZChjYW5kaWRhdGUgPT4gbmFtZXMuaGFzKGNhbmRpZGF0ZSkpO1xuICAgICAgaWYgKG1hdGNoKSBtYXBbY2Fub25pY2FsTmFtZV0gPSBtYXRjaDtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHRvVG9rZW4odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1teYS16QS1aMC05XyAtXS9nLCAnJylcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKC9bXFxzLV0rKC4pL2csIChfLCBjOiBzdHJpbmcpID0+IGMudG9VcHBlckNhc2UoKSlcbiAgICAgIC5yZXBsYWNlKC9eW0EtWl0vLCBjID0+IGMudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICB1bmlxdWVGaWVsZE5hbWUodmFsdWU6IHN0cmluZywgZXhpc3RpbmdGaWVsZHM6IEFycmF5PFBpY2s8RmllbGRTY2hlbWFEZWYsICduYW1lJz4+KTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlID0gdGhpcy50b1Rva2VuKHZhbHVlKSB8fCAnZmllbGQnO1xuICAgIGNvbnN0IHVzZWQgPSBuZXcgU2V0KGV4aXN0aW5nRmllbGRzLm1hcChmaWVsZCA9PiB0aGlzLnRvVG9rZW4oZmllbGQubmFtZSkpKTtcbiAgICBpZiAoIXVzZWQuaGFzKGJhc2UpKSByZXR1cm4gYmFzZTtcbiAgICBsZXQgc3VmZml4ID0gMjtcbiAgICB3aGlsZSAodXNlZC5oYXMoYCR7YmFzZX0ke3N1ZmZpeH1gKSkgc3VmZml4ICs9IDE7XG4gICAgcmV0dXJuIGAke2Jhc2V9JHtzdWZmaXh9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZVZhbGlkYXRvcnMoZGVmOiBGaWVsZFNjaGVtYURlZik6IFZhbGlkYXRvckZuW10ge1xuICAgIGNvbnN0IHJlc3VsdDogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGNvbnN0IGVudHJpZXMgPSBkZWYudmFsaWRhdG9ycyA/PyBbXTtcbiAgICBjb25zdCBoYXNSZXF1aXJlZCA9IGRlZi5yZXF1aXJlZCB8fCBlbnRyaWVzLmluY2x1ZGVzKCdyZXF1aXJlZCcpO1xuXG4gICAgaWYgKGhhc1JlcXVpcmVkKSByZXN1bHQucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgaWYgKGVudHJ5ID09PSAncmVxdWlyZWQnKSBjb250aW51ZTtcbiAgICAgIGlmIChlbnRyeSA9PT0gJ2VtYWlsJykge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLmVtYWlsKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5MZW5ndGhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWluTGVuZ3RoOihcXGQrKSQvKTtcbiAgICAgIGlmIChtaW5MZW5ndGhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aChOdW1iZXIobWluTGVuZ3RoTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4TGVuZ3RoTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1heExlbmd0aDooXFxkKykkLyk7XG4gICAgICBpZiAobWF4TGVuZ3RoTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgoTnVtYmVyKG1heExlbmd0aE1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbk1hdGNoID0gZW50cnkubWF0Y2goL15taW46KFxcZCspJC8pO1xuICAgICAgaWYgKG1pbk1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluKE51bWJlcihtaW5NYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWF4OihcXGQrKSQvKTtcbiAgICAgIGlmIChtYXhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1heChOdW1iZXIobWF4TWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBkZWZhdWx0VmFsaWRhdG9yc0Zvcih0eXBlOiBzdHJpbmcsIHJlcXVpcmVkOiBib29sZWFuKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBuZXcgU2V0PHN0cmluZz4ocmVxdWlyZWQgPyBbJ3JlcXVpcmVkJ10gOiBbXSk7XG4gICAgaWYgKHR5cGUgPT09ICdFTUFJTCcpIHZhbGlkYXRvcnMuYWRkKCdlbWFpbCcpO1xuICAgIGlmICh0eXBlID09PSAnVEVYVCcgfHwgdHlwZSA9PT0gJ1BIT05FJykgdmFsaWRhdG9ycy5hZGQoJ21heExlbmd0aDoyMDAnKTtcbiAgICByZXR1cm4gWy4uLnZhbGlkYXRvcnNdO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnM/OiBGaWVsZE9wdGlvbltdKTogRmllbGRPcHRpb25bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFvcHRpb25zPy5sZW5ndGgpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFsuLi5vcHRpb25zXVxuICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaWQ6IG9wdGlvbi5pZCxcbiAgICAgICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgICAgIG9yZGVyOiBvcHRpb24ub3JkZXIgPz8gaW5kZXgsXG4gICAgICB9KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VJbnB1dFR5cGUodHlwZVN0cjogc3RyaW5nKTogSW5wdXRUeXBlIHtcbiAgICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIElucHV0VHlwZT4gPSB7XG4gICAgICBURVhUOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIFRFWFRBUkVBOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICBFTUFJTDogSW5wdXRUeXBlLkVNQUlMLFxuICAgICAgTlVNQkVSOiBJbnB1dFR5cGUuTlVNQkVSLFxuICAgICAgREFURTogSW5wdXRUeXBlLkRBVEUsXG4gICAgICBTRUxFQ1Q6IElucHV0VHlwZS5TRUxFQ1QsXG4gICAgICBNVUxUSV9TRUxFQ1Q6IElucHV0VHlwZS5NVUxUSV9TRUxFQ1QsXG4gICAgICBSQURJTzogSW5wdXRUeXBlLlJBRElPLFxuICAgICAgVE9HR0xFOiBJbnB1dFR5cGUuVE9HR0xFLFxuICAgICAgQ0hFQ0s6IElucHV0VHlwZS5DSEVDSyxcbiAgICAgIEZJTEU6IElucHV0VHlwZS5GSUxFLFxuICAgICAgQVRUQUNITUVOVDogSW5wdXRUeXBlLkFUVEFDSE1FTlQsXG4gICAgICBQSE9ORTogSW5wdXRUeXBlLlBIT05FLFxuICAgICAgQ1VSUkVOQ1k6IElucHV0VHlwZS5DVVJSRU5DWSxcbiAgICAgIEVNT0pJX1JBVElORzogSW5wdXRUeXBlLkVNT0pJX1JBVElORyxcbiAgICB9O1xuICAgIHJldHVybiBtYXBbdHlwZVN0cl0gPz8gSW5wdXRUeXBlLlRFWFQ7XG4gIH1cbn1cbiJdfQ==
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsK0JBQStCLEdBSWhDLE1BQU0sU0FBUyxDQUFDOztBQUdqQixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQXFPcEM7SUFuT0MsU0FBUyxDQUNQLE1BQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGlCQUF5QixRQUFRLEVBQ2pDLFFBQXdCLGVBQWUsQ0FBQyxPQUFPO1FBRS9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sT0FBTyxHQUFn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LENBQUMsT0FBZTtRQUN0QyxNQUFNLEdBQUcsR0FBOEI7WUFDckMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO1lBQ3BDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxtQkFBbUI7WUFDbEQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVTtZQUNoQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzVCLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtTQUNyQyxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDOytHQXJPVSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50U3RhdGUsXG4gIENvbXBvbmVudFN0YXRlcyxcbiAgRm9ybU1ldGFkYXRhLFxuICBGb3JtU2VjdGlvbixcbiAgSW5wdXRNZXRhZGF0YSxcbiAgSW5wdXRPcHRpb24sXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90eXBlcyc7XG5pbXBvcnQgeyBidXR0b24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ2Fub25pY2FsRmllbGRBbGlhc2VzLFxuICBERUZBVUxUX0NBTk9OSUNBTF9GSUVMRF9BTElBU0VTLFxuICBGaWVsZE9wdGlvbixcbiAgRmllbGRTY2hlbWFEZWYsXG4gIEZvcm1TY2hlbWFDb25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgYnVpbGRGb3JtKFxuICAgIHNjaGVtYTogRmllbGRTY2hlbWFEZWZbXSxcbiAgICBpMThuTmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgZm9ybU5hbWU6IHN0cmluZyxcbiAgICBzdWJtaXRMYWJlbEtleTogc3RyaW5nID0gJ3N1Ym1pdCcsXG4gICAgc3RhdGU6IENvbXBvbmVudFN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRURcbiAgKTogRm9ybU1ldGFkYXRhIHtcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc2NoZW1hXS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgY29uc3QgZmllbGRzOiBJbnB1dE1ldGFkYXRhW10gPSBzb3J0ZWQubWFwKGRlZiA9PiB0aGlzLmJ1aWxkRmllbGQoZGVmLCBpMThuTmFtZXNwYWNlLCBzdGF0ZSkpO1xuICAgIGNvbnN0IHNlY3Rpb246IEZvcm1TZWN0aW9uID0geyBuYW1lOiAnJywgb3JkZXI6IDAsIGZpZWxkcyB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGZvcm1OYW1lLFxuICAgICAgc2VjdGlvbnM6IFtzZWN0aW9uXSxcbiAgICAgIGFjdGlvbnM6IGJ1dHRvbih7XG4gICAgICAgIHRleHQ6IHRoaXMuaTE4bi50KHN1Ym1pdExhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSxcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIH0pLFxuICAgICAgc3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEZpZWxkKFxuICAgIGRlZjogRmllbGRTY2hlbWFEZWYsXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZVxuICApOiBJbnB1dE1ldGFkYXRhIHtcbiAgICAvLyBPcmRlbjogdGV4dG8gZGVsIGNsaWVudGUgKHRhbCBjdWFsIGxvIGVzY3JpYmnDsykg4oaSIGNsYXZlIGkxOG4gZGUgcHJvZHVjdG8uXG4gICAgLy8gTG9zICpFcy8qRW4gc29uIHNvbG8gY29tcGF0aWJpbGlkYWQgY29uIGVzcXVlbWFzIHZpZWpvczogc2UgbGVlbiBhbCBmaW5hbFxuICAgIC8vIHkgbmFkaWUgbG9zIGVzY3JpYmUuIFZlciByZWdsYSAjNCBlbiBDTEFVREUubWQuXG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgZGVmLmxhYmVsIHx8XG4gICAgICBkZWYubGFiZWxFcyB8fFxuICAgICAgZGVmLmxhYmVsRW4gfHxcbiAgICAgIChkZWYubGFiZWxLZXkgPyB0aGlzLmkxOG4udChkZWYubGFiZWxLZXksIGkxOG5OYW1lc3BhY2UpIDogZGVmLm5hbWUpO1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyID1cbiAgICAgIGRlZi5wbGFjZWhvbGRlclRleHQgfHxcbiAgICAgIGRlZi5wbGFjZWhvbGRlckVzIHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJFbiB8fFxuICAgICAgKGRlZi5wbGFjZWhvbGRlciA/IHRoaXMuaTE4bi50KGRlZi5wbGFjZWhvbGRlciwgaTE4bk5hbWVzcGFjZSkgOiAnJyk7XG4gICAgY29uc3QgaGludCA9XG4gICAgICBkZWYuaGludFRleHQgfHxcbiAgICAgIGRlZi5oaW50RXMgfHxcbiAgICAgIGRlZi5oaW50RW4gfHxcbiAgICAgIChkZWYuaGludCA/IHRoaXMuaTE4bi50KGRlZi5oaW50LCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5wYXJzZVZhbGlkYXRvcnMoZGVmKTtcbiAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGlmIChkZWYucmVxdWlyZWQgfHwgKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygncmVxdWlyZWQnKSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkUmVxdWlyZWQnLCAnX2NvbW1vbicpO1xuICAgIH1cbiAgICBpZiAoKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgZXJyb3JzWydlbWFpbCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkSW52YWxpZEVtYWlsJywgJ19jb21tb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdIHwgdW5kZWZpbmVkID0gZGVmLm9wdGlvbnNcbiAgICAgID8gZGVmLm9wdGlvbnMubWFwKG8gPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogZGVmLm5hbWUsXG4gICAgICBuYW1lOiBkZWYubmFtZSxcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBoaW50LFxuICAgICAgdHlwZTogdGhpcy5wYXJzZUlucHV0VHlwZShkZWYudHlwZSksXG4gICAgICBvcmRlcjogZGVmLm9yZGVyLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBlcnJvcnMsXG4gICAgICB2YWx1ZTogZGVmLnZhbHVlLFxuICAgICAgc3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUZpZWxkU2NoZW1hKFxuICAgIGZpZWxkOiBQYXJ0aWFsPEZpZWxkU2NoZW1hRGVmPiAmIFBpY2s8RmllbGRTY2hlbWFEZWYsICduYW1lJyB8ICdsYWJlbCc+LFxuICAgIG9yZGVyOiBudW1iZXJcbiAgKTogRmllbGRTY2hlbWFEZWYge1xuICAgIGNvbnN0IHR5cGUgPSBmaWVsZC50eXBlIHx8ICdURVhUJztcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gZmllbGQudmFsaWRhdG9ycyA/PyB0aGlzLmRlZmF1bHRWYWxpZGF0b3JzRm9yKHR5cGUsICEhZmllbGQucmVxdWlyZWQpO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlLFxuICAgICAgbmFtZTogdGhpcy50b1Rva2VuKGZpZWxkLm5hbWUgfHwgZmllbGQubGFiZWwpLFxuICAgICAgbGFiZWxLZXk6IGZpZWxkLmxhYmVsS2V5IHx8IHRoaXMudG9Ub2tlbihmaWVsZC5uYW1lIHx8IGZpZWxkLmxhYmVsKSxcbiAgICAgIC8vIFNpbiAqRXMvKkVuOiBlbCB0ZXh0byBkZWwgY2xpZW50ZSB2YSBlbiB1biBjYW1wbyB5IGVsIGRlIHByb2R1Y3RvIGVuXG4gICAgICAvLyBsYWJlbEtleS4gVmVyIHJlZ2xhICM0IGVuIENMQVVERS5tZC5cbiAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbC50cmltKCksXG4gICAgICBwbGFjZWhvbGRlcjogZmllbGQucGxhY2Vob2xkZXIsXG4gICAgICBwbGFjZWhvbGRlclRleHQ6IGZpZWxkLnBsYWNlaG9sZGVyVGV4dD8udHJpbSgpID8/ICcnLFxuICAgICAgaGludDogZmllbGQuaGludCxcbiAgICAgIGhpbnRUZXh0OiBmaWVsZC5oaW50VGV4dD8udHJpbSgpID8/ICcnLFxuICAgICAgcmVxdWlyZWQ6ICEhZmllbGQucmVxdWlyZWQsXG4gICAgICB2YWxpZGF0b3JzLFxuICAgICAgb3B0aW9uczogdGhpcy5ub3JtYWxpemVPcHRpb25zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgb3JkZXIsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm1TY2hlbWFDb25maWcoaW5wdXQ6IHtcbiAgICBzY2hlbWFJZDogc3RyaW5nO1xuICAgIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gICAgLyoqIFTDrXR1bG8gZGVsIGZvcm11bGFyaW8uIExvIGVzY3JpYmUgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBmaWVsZHM6IEZpZWxkU2NoZW1hRGVmW107XG4gICAgY2Fub25pY2FsQWxpYXNlcz86IENhbm9uaWNhbEZpZWxkQWxpYXNlcztcbiAgfSk6IEZvcm1TY2hlbWFDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWFJZDogaW5wdXQuc2NoZW1hSWQsXG4gICAgICBzY2hlbWFWZXJzaW9uOiBpbnB1dC5zY2hlbWFWZXJzaW9uLFxuICAgICAgbGFiZWw6IGlucHV0LmxhYmVsLFxuICAgICAgY2Fub25pY2FsTWFwOiB0aGlzLmJ1aWxkQ2Fub25pY2FsTWFwKGlucHV0LmZpZWxkcywgaW5wdXQuY2Fub25pY2FsQWxpYXNlcyksXG4gICAgICBmaWVsZFNjaGVtYTogaW5wdXQuZmllbGRzLFxuICAgIH07XG4gIH1cblxuICBidWlsZENhbm9uaWNhbE1hcChcbiAgICBmaWVsZHM6IEZpZWxkU2NoZW1hRGVmW10sXG4gICAgYWxpYXNlczogQ2Fub25pY2FsRmllbGRBbGlhc2VzID0gREVGQVVMVF9DQU5PTklDQUxfRklFTERfQUxJQVNFU1xuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBuYW1lcyA9IG5ldyBTZXQoZmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKSk7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgZm9yIChjb25zdCBbY2Fub25pY2FsTmFtZSwgY2FuZGlkYXRlc10gb2YgT2JqZWN0LmVudHJpZXMoYWxpYXNlcykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gY2FuZGlkYXRlcy5maW5kKGNhbmRpZGF0ZSA9PiBuYW1lcy5oYXMoY2FuZGlkYXRlKSk7XG4gICAgICBpZiAobWF0Y2gpIG1hcFtjYW5vbmljYWxOYW1lXSA9IG1hdGNoO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgdG9Ub2tlbih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVowLTlfIC1dL2csICcnKVxuICAgICAgLnRyaW0oKVxuICAgICAgLnJlcGxhY2UoL1tcXHMtXSsoLikvZywgKF8sIGM6IHN0cmluZykgPT4gYy50b1VwcGVyQ2FzZSgpKVxuICAgICAgLnJlcGxhY2UoL15bQS1aXS8sIGMgPT4gYy50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHVuaXF1ZUZpZWxkTmFtZSh2YWx1ZTogc3RyaW5nLCBleGlzdGluZ0ZpZWxkczogQXJyYXk8UGljazxGaWVsZFNjaGVtYURlZiwgJ25hbWUnPj4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2UgPSB0aGlzLnRvVG9rZW4odmFsdWUpIHx8ICdmaWVsZCc7XG4gICAgY29uc3QgdXNlZCA9IG5ldyBTZXQoZXhpc3RpbmdGaWVsZHMubWFwKGZpZWxkID0+IHRoaXMudG9Ub2tlbihmaWVsZC5uYW1lKSkpO1xuICAgIGlmICghdXNlZC5oYXMoYmFzZSkpIHJldHVybiBiYXNlO1xuICAgIGxldCBzdWZmaXggPSAyO1xuICAgIHdoaWxlICh1c2VkLmhhcyhgJHtiYXNlfSR7c3VmZml4fWApKSBzdWZmaXggKz0gMTtcbiAgICByZXR1cm4gYCR7YmFzZX0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVmFsaWRhdG9ycyhkZWY6IEZpZWxkU2NoZW1hRGVmKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgY29uc3QgZW50cmllcyA9IGRlZi52YWxpZGF0b3JzID8/IFtdO1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gZGVmLnJlcXVpcmVkIHx8IGVudHJpZXMuaW5jbHVkZXMoJ3JlcXVpcmVkJyk7XG5cbiAgICBpZiAoaGFzUmVxdWlyZWQpIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBpZiAoZW50cnkgPT09ICdyZXF1aXJlZCcpIGNvbnRpbnVlO1xuICAgICAgaWYgKGVudHJ5ID09PSAnZW1haWwnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbkxlbmd0aE1hdGNoID0gZW50cnkubWF0Y2goL15taW5MZW5ndGg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1pbkxlbmd0aE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKE51bWJlcihtaW5MZW5ndGhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhMZW5ndGhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWF4TGVuZ3RoOihcXGQrKSQvKTtcbiAgICAgIGlmIChtYXhMZW5ndGhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChOdW1iZXIobWF4TGVuZ3RoTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1pbjooXFxkKykkLyk7XG4gICAgICBpZiAobWluTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5taW4oTnVtYmVyKG1pbk1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heE1hdGNoID0gZW50cnkubWF0Y2goL15tYXg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1heE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWF4KE51bWJlcihtYXhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGRlZmF1bHRWYWxpZGF0b3JzRm9yKHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IG5ldyBTZXQ8c3RyaW5nPihyZXF1aXJlZCA/IFsncmVxdWlyZWQnXSA6IFtdKTtcbiAgICBpZiAodHlwZSA9PT0gJ0VNQUlMJykgdmFsaWRhdG9ycy5hZGQoJ2VtYWlsJyk7XG4gICAgaWYgKHR5cGUgPT09ICdURVhUJyB8fCB0eXBlID09PSAnUEhPTkUnKSB2YWxpZGF0b3JzLmFkZCgnbWF4TGVuZ3RoOjIwMCcpO1xuICAgIHJldHVybiBbLi4udmFsaWRhdG9yc107XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucz86IEZpZWxkT3B0aW9uW10pOiBGaWVsZE9wdGlvbltdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIW9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gWy4uLm9wdGlvbnNdXG4gICAgICAubWFwKChvcHRpb24sIGluZGV4KSA9PiAoe1xuICAgICAgICBpZDogb3B0aW9uLmlkLFxuICAgICAgICBuYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgICAgb3JkZXI6IG9wdGlvbi5vcmRlciA/PyBpbmRleCxcbiAgICAgIH0pKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0VHlwZSh0eXBlU3RyOiBzdHJpbmcpOiBJbnB1dFR5cGUge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgSW5wdXRUeXBlPiA9IHtcbiAgICAgIFRFWFQ6IElucHV0VHlwZS5URVhULFxuICAgICAgVEVYVEFSRUE6IElucHV0VHlwZS5URVhUQVJFQSxcbiAgICAgIEVNQUlMOiBJbnB1dFR5cGUuRU1BSUwsXG4gICAgICBOVU1CRVI6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBEQVRFOiBJbnB1dFR5cGUuREFURSxcbiAgICAgIFNFTEVDVDogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVDogSW5wdXRUeXBlLk1VTFRJX1NFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVF9TSU1QTEU6IElucHV0VHlwZS5NVUxUSV9TRUxFQ1RfU0lNUExFLFxuICAgICAgUkFESU86IElucHV0VHlwZS5SQURJTyxcbiAgICAgIFRPR0dMRTogSW5wdXRUeXBlLlRPR0dMRSxcbiAgICAgIENIRUNLOiBJbnB1dFR5cGUuQ0hFQ0ssXG4gICAgICBGSUxFOiBJbnB1dFR5cGUuRklMRSxcbiAgICAgIEFUVEFDSE1FTlQ6IElucHV0VHlwZS5BVFRBQ0hNRU5ULFxuICAgICAgUEhPTkU6IElucHV0VHlwZS5QSE9ORSxcbiAgICAgIENVUlJFTkNZOiBJbnB1dFR5cGUuQ1VSUkVOQ1ksXG4gICAgICBFTU9KSV9SQVRJTkc6IElucHV0VHlwZS5FTU9KSV9SQVRJTkcsXG4gICAgfTtcbiAgICByZXR1cm4gbWFwW3R5cGVTdHJdID8/IElucHV0VHlwZS5URVhUO1xuICB9XG59XG4iXX0=
@@ -13,4 +13,4 @@ export const REQUEST_STATUSES = [
13
13
  * dedicado `val-emoji-rating`, nunca el form genérico. Ver ADR-092.
14
14
  */
15
15
  export const FIELD_TYPE_EMOJI_RATING = 'EMOJI_RATING';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQjtJQUMvQyxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7Q0FDVCxDQUFDO0FBNENGOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXR1cyA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2luX3JldmlldydcbiAgfCAnYXBwcm92ZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdjYW5jZWxsZWQnXG4gIHwgJ2Nsb3NlZCc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVU0VTOiBSZXF1ZXN0U3RhdHVzW10gPSBbXG4gICdwZW5kaW5nJyxcbiAgJ2luX3JldmlldycsXG4gICdhcHByb3ZlZCcsXG4gICdyZWplY3RlZCcsXG4gICdjYW5jZWxsZWQnLFxuICAnY2xvc2VkJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFjdG9yIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgYXZhdGFyVGh1bWJuYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFJlcXVlc3Qge1xuICBpZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHN0YXR1czogUmVxdWVzdFN0YXR1cztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgc3VibWl0dGVyOiBSZXF1ZXN0QWN0b3I7XG4gIGFzc2lnbmVlPzogUmVxdWVzdEFjdG9yO1xuICAvKiogQ29waWFkbyBkZWwgUmVxdWVzdFR5cGVDb25maWcgYWwgY3JlYXIg4oCUIG5vIGxvIG1hbmRhIHF1aWVuIHJlc3BvbmRlLiAqL1xuICBlbnRpdHlSZWY/OiBFbnRpdHlSZWY7XG4gIGR1ZUF0Pzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGNsb3NlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RDb21tZW50IHtcbiAgY29tbWVudElkOiBzdHJpbmc7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBhdXRob3I6IFJlcXVlc3RBY3RvcjtcbiAgYm9keTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRPcHRpb24gPSBGb3JtRmllbGRPcHRpb247XG5leHBvcnQgdHlwZSBGaWVsZFNjaGVtYURlZiA9IEZvcm1GaWVsZFNjaGVtYURlZjtcblxuLyoqXG4gKiBUaXBvIGRlIHByZWd1bnRhIGRlIGVzY2FsYSBjb3J0YSBjb24gZW1vamkgKDMtNSBjYXJhcykuIE5PIGVzIHVubyBkZSBsb3NcbiAqIHRpcG9zIHF1ZSBgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlLmJ1aWxkRm9ybWAgc2FiZSBydXRlYXIgYSBgdmFsLWZvcm1gIOKAlFxuICogdW4gdGlwbyBzaW4gbWFwZW8gY2FlIGEgdGV4dG8gcGxhbm8gYWjDrS4gUmVuZGVyaXphcmxvIHJlcXVpZXJlIGVsIHdpZGdldFxuICogZGVkaWNhZG8gYHZhbC1lbW9qaS1yYXRpbmdgLCBudW5jYSBlbCBmb3JtIGdlbsOpcmljby4gVmVyIEFEUi0wOTIuXG4gKi9cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORyA9ICdFTU9KSV9SQVRJTkcnO1xuXG4vKiogSWRlbnRpZmljYSBsYSBlbnRpZGFkIGRlIGRvbWluaW8gYSBsYSBxdWUgcGVydGVuZWNlIHVuIHRpcG8gZGUgc29saWNpdHVkXG4gKiAodW4gZXZlbnRvLCB1bmEgYWRvcGNpw7NuLCB1bmEgcmVjZXRhKS4gT3BjaW9uYWwg4oCUIGxhIG1heW9yw61hIGRlIGxvcyB0aXBvc1xuICogKHRpY2tldHMgZGUgc29wb3J0ZSwgcG9zdHVsYWNpb25lcykgbm8gbGEgbmVjZXNpdGFuIHBvcnF1ZSBlbCB0aXBvIFlBIGVzIGxhXG4gKiBlbnRpZGFkLiBNaXNtbyBzaGFwZSBxdWUgZWwgYEVudGl0eVJlZmAgZGUgZmVlZGJhY2svY2hhdCDigJQgbm8gc2UgaW1wb3J0YVxuICogbmluZ3VubyBkZSBlc29zIHBhcXVldGVzIHBhcmEgZXN0bzogZXMgdW4gc3RydWN0IGRlIDIgY2FtcG9zLCByZXBsaWNhcmxvIGVzXG4gKiBtw6FzIGJhcmF0byBxdWUgYWNvcGxhciBkb21pbmlvcyBkZSBuZWdvY2lvIHBvciB1biB0aXBvIHRyaXZpYWwuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlZiB7XG4gIGVudGl0eVR5cGU6IHN0cmluZztcbiAgZW50aXR5SWQ6IHN0cmluZztcbn1cblxuLyoqIFF1acOpbiBwdWVkZSBsZWVyIHVuIHRpcG8gZGUgc29saWNpdHVkICh5IHN1cyBzb2xpY2l0dWRlcyBww7pibGljYXMpLiAqL1xuZXhwb3J0IHR5cGUgUmVxdWVzdFZpc2liaWxpdHkgPSAnUFVCTElDJyB8ICdBVVRIRU5USUNBVEVEJyB8ICdPUkcnIHwgJ0lOVEVSTkFMJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0VHlwZUNvbmZpZyB7XG4gIHR5cGVJZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICAvKiogTm9tYnJlIGRlbCB0aXBvLCBlc2NyaXRvIHBvciBsYSBvcmdhbml6YWNpw7NuOiBubyBzZSB0cmFkdWNlLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogQmFqYWRhIGRlbCBlbnVuY2lhZG8gKGVqLiBlbmN1ZXN0YXMpLiBMYWJlbCB5YSBjdWJyZSBlbCB0w610dWxvLiAqL1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgZW50aXR5UmVmPzogRW50aXR5UmVmO1xuICBjcmVhdGVkQnk/OiBSZXF1ZXN0QWN0b3I7XG4gIC8qKlxuICAgKiB0cnVlID0gY2FkYSBlbnbDrW8gc2UgYWdyZWdhLCBubyBzZSByZXZpc2EgdW5vIHBvciB1bm8gKGVqLiBlbmN1ZXN0YXMpLlxuICAgKiBmYWxzZS91bmRlZmluZWQgKGRlZmF1bHQpID0gY29tcG9ydGFtaWVudG8gaGlzdMOzcmljbzogc2UgcmV2aXNhIGNhZGFcbiAgICogc29saWNpdHVkIChDaGVzZWQgYWRvcGNpb25lcywgT2toZWxpYSByZWNldGFzKS5cbiAgICovXG4gIHNraXBSZXZpZXc/OiBib29sZWFuO1xuICAvKipcbiAgICogdHJ1ZSA9IGVsIGZvcm11bGFyaW8gTk8gcGlkZSBub21icmUgbmkgY29ycmVvIGEgcXVpZW4gcmVzcG9uZGUgc2luIHNlc2nDs24uXG4gICAqIFNpIGhhY2VuIGZhbHRhLCBzZSBhZ3JlZ2FuIGNvbW8gcHJlZ3VudGEg4oCUIGVzbyBlcyBjb25maWd1cmFjacOzbiBkZSBsYVxuICAgKiBlbmN1ZXN0YSwgbm8gdW4gcGVhamUgcXVlIGVsIGZvcm11bGFyaW8gY29icmEgcG9yIHN1IGN1ZW50YS5cbiAgICovXG4gIHNraXBTdWJtaXR0ZXJJZGVudGl0eT86IGJvb2xlYW47XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYURlZltdO1xuICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFF1acOpbiBwdWVkZSBsZWVyL2VudmlhciBlc3RlIHRpcG8gKGRlYmUgY29pbmNpZGlyIGNvbiBlbCBiYWNrZW5kKTpcbiAgICogIC0gUFVCTElDICAgICAgICBjdWFscXVpZXJhLCBpbmNsdXNvIHNpbiBsb2dpbiAoYW7Ds25pbW8gc2kgYWxsb3dBbm9ueW1vdXMpLlxuICAgKiAgLSBBVVRIRU5USUNBVEVEIGN1YWxxdWllciB1c3VhcmlvIGxvZ3VlYWRvICsgdmVyaWZpY2FkbywgY3Jvc3Mtb3JnLlxuICAgKiAgLSBPUkcvSU5URVJOQUwgIHNvbG8gbWllbWJyb3MgZGUgbGEgb3JnIGR1ZcOxYS4gRGVmYXVsdCBPUkcuXG4gICAqL1xuICB2aXNpYmlsaXR5PzogUmVxdWVzdFZpc2liaWxpdHk7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLy8g4pSA4pSAIFJlcXVlc3QgLyBSZXNwb25zZSDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSZXF1ZXN0UGF5bG9hZCB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbiAgcHJpb3JpdHk/OiBzdHJpbmc7XG4gIC8qKiBQYXJhIHNvbGljaXR1ZGVzIGFuw7NuaW1hcyAqL1xuICBzdWJtaXR0ZXI/OiBSZXF1ZXN0QWN0b3I7XG4gIC8qKlxuICAgKiBFbCBgP2k9YCBkZWwgbGluayBxdWUgbGUgbGxlZ8OzIHBvciBjb3JyZW8gYSBxdWllbiByZXNwb25kZS4gQ29uIHRva2VuLCBsYVxuICAgKiBpbnZpdGFjacOzbiBzZSBjb25zdW1lIHkgbm8gYWRtaXRlIHVuYSBzZWd1bmRhIHJlc3B1ZXN0YTsgc2luIHRva2VuIChlbCBRUlxuICAgKiBhYmllcnRvIGRlIHVuIGV2ZW50bykgc2UgcmVzcG9uZGUgc2luIGzDrW1pdGUuXG4gICAqL1xuICBpbnZpdGVUb2tlbj86IHN0cmluZztcbiAgZHVlQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVxdWVzdFBheWxvYWQge1xuICB0aXRsZT86IHN0cmluZztcbiAgZmllbGRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbiAgcHJpb3JpdHk/OiBzdHJpbmc7XG4gIGFzc2lnbmVlPzogUmVxdWVzdEFjdG9yO1xuICBkdWVBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0aW9uUGF5bG9hZCB7XG4gIHN0YXR1czogUmVxdWVzdFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRDb21tZW50UGF5bG9hZCB7XG4gIGJvZHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVxdWVzdHNQYXJhbXMge1xuICB0eXBlPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlcXVlc3RzUmVzcG9uc2Uge1xuICByZXF1ZXN0czogQXBwUmVxdWVzdFtdO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbW1lbnRzUmVzcG9uc2Uge1xuICBjb21tZW50czogUmVxdWVzdENvbW1lbnRbXTtcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVxdWVzdFR5cGVzUmVzcG9uc2Uge1xuICB0eXBlczogUmVxdWVzdFR5cGVDb25maWdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSZXF1ZXN0VHlwZVBheWxvYWQge1xuICB0eXBlSWQ/OiBzdHJpbmc7IC8vIG9wY2lvbmFsOiBiYWNrZW5kIGdlbmVyYSBkZXNkZSBsYWJlbCBzaSBubyBzZSBlbnbDrWFcbiAgLyoqIE5vbWJyZSBkZWwgdGlwbywgZXNjcml0byBwb3IgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgc2tpcFJldmlldz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiB0cnVlID0gZWwgZm9ybXVsYXJpbyBOTyBwaWRlIG5vbWJyZSBuaSBjb3JyZW8gYSBxdWllbiByZXNwb25kZSBzaW4gc2VzacOzbi5cbiAgICogU2kgaGFjZW4gZmFsdGEsIHNlIGFncmVnYW4gY29tbyBwcmVndW50YSDigJQgZXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhLCBubyB1biBwZWFqZSBxdWUgZWwgZm9ybXVsYXJpbyBjb2JyYSBwb3Igc3UgY3VlbnRhLlxuICAgKi9cbiAgc2tpcFN1Ym1pdHRlcklkZW50aXR5PzogYm9vbGVhbjtcbiAgZmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hRGVmW107XG4gIGFsbG93QW5vbnltb3VzOiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogUmVxdWVzdFZpc2liaWxpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVxdWVzdFR5cGVQYXlsb2FkIHtcbiAgLyoqIE5vbWJyZSBkZWwgdGlwbywgZXNjcml0byBwb3IgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgc2tpcFJldmlldz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiB0cnVlID0gZWwgZm9ybXVsYXJpbyBOTyBwaWRlIG5vbWJyZSBuaSBjb3JyZW8gYSBxdWllbiByZXNwb25kZSBzaW4gc2VzacOzbi5cbiAgICogU2kgaGFjZW4gZmFsdGEsIHNlIGFncmVnYW4gY29tbyBwcmVndW50YSDigJQgZXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhLCBubyB1biBwZWFqZSBxdWUgZWwgZm9ybXVsYXJpbyBjb2JyYSBwb3Igc3UgY3VlbnRhLlxuICAgKi9cbiAgc2tpcFN1Ym1pdHRlcklkZW50aXR5PzogYm9vbGVhbjtcbiAgZmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hRGVmW107XG4gIGFsbG93QW5vbnltb3VzOiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogUmVxdWVzdFZpc2liaWxpdHk7XG59XG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkT3B0aW9uIGFzIEZvcm1GaWVsZE9wdGlvbixcbiAgRmllbGRTY2hlbWFEZWYgYXMgRm9ybUZpZWxkU2NoZW1hRGVmLFxufSBmcm9tICcuLi9mb3Jtcy90eXBlcyc7XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQjtJQUMvQyxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7Q0FDVCxDQUFDO0FBNENGOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXR1cyA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2luX3JldmlldydcbiAgfCAnYXBwcm92ZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdjYW5jZWxsZWQnXG4gIHwgJ2Nsb3NlZCc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVU0VTOiBSZXF1ZXN0U3RhdHVzW10gPSBbXG4gICdwZW5kaW5nJyxcbiAgJ2luX3JldmlldycsXG4gICdhcHByb3ZlZCcsXG4gICdyZWplY3RlZCcsXG4gICdjYW5jZWxsZWQnLFxuICAnY2xvc2VkJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFjdG9yIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgYXZhdGFyVGh1bWJuYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFJlcXVlc3Qge1xuICBpZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHN0YXR1czogUmVxdWVzdFN0YXR1cztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgc3VibWl0dGVyOiBSZXF1ZXN0QWN0b3I7XG4gIGFzc2lnbmVlPzogUmVxdWVzdEFjdG9yO1xuICAvKiogQ29waWFkbyBkZWwgUmVxdWVzdFR5cGVDb25maWcgYWwgY3JlYXIg4oCUIG5vIGxvIG1hbmRhIHF1aWVuIHJlc3BvbmRlLiAqL1xuICBlbnRpdHlSZWY/OiBFbnRpdHlSZWY7XG4gIGR1ZUF0Pzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGNsb3NlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RDb21tZW50IHtcbiAgY29tbWVudElkOiBzdHJpbmc7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBhdXRob3I6IFJlcXVlc3RBY3RvcjtcbiAgYm9keTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRPcHRpb24gPSBGb3JtRmllbGRPcHRpb247XG5leHBvcnQgdHlwZSBGaWVsZFNjaGVtYURlZiA9IEZvcm1GaWVsZFNjaGVtYURlZjtcblxuLyoqXG4gKiBUaXBvIGRlIHByZWd1bnRhIGRlIGVzY2FsYSBjb3J0YSBjb24gZW1vamkgKDMtNSBjYXJhcykuIE5PIGVzIHVubyBkZSBsb3NcbiAqIHRpcG9zIHF1ZSBgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlLmJ1aWxkRm9ybWAgc2FiZSBydXRlYXIgYSBgdmFsLWZvcm1gIOKAlFxuICogdW4gdGlwbyBzaW4gbWFwZW8gY2FlIGEgdGV4dG8gcGxhbm8gYWjDrS4gUmVuZGVyaXphcmxvIHJlcXVpZXJlIGVsIHdpZGdldFxuICogZGVkaWNhZG8gYHZhbC1lbW9qaS1yYXRpbmdgLCBudW5jYSBlbCBmb3JtIGdlbsOpcmljby4gVmVyIEFEUi0wOTIuXG4gKi9cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORyA9ICdFTU9KSV9SQVRJTkcnO1xuXG4vKiogSWRlbnRpZmljYSBsYSBlbnRpZGFkIGRlIGRvbWluaW8gYSBsYSBxdWUgcGVydGVuZWNlIHVuIHRpcG8gZGUgc29saWNpdHVkXG4gKiAodW4gZXZlbnRvLCB1bmEgYWRvcGNpw7NuLCB1bmEgcmVjZXRhKS4gT3BjaW9uYWwg4oCUIGxhIG1heW9yw61hIGRlIGxvcyB0aXBvc1xuICogKHRpY2tldHMgZGUgc29wb3J0ZSwgcG9zdHVsYWNpb25lcykgbm8gbGEgbmVjZXNpdGFuIHBvcnF1ZSBlbCB0aXBvIFlBIGVzIGxhXG4gKiBlbnRpZGFkLiBNaXNtbyBzaGFwZSBxdWUgZWwgYEVudGl0eVJlZmAgZGUgZmVlZGJhY2svY2hhdCDigJQgbm8gc2UgaW1wb3J0YVxuICogbmluZ3VubyBkZSBlc29zIHBhcXVldGVzIHBhcmEgZXN0bzogZXMgdW4gc3RydWN0IGRlIDIgY2FtcG9zLCByZXBsaWNhcmxvIGVzXG4gKiBtw6FzIGJhcmF0byBxdWUgYWNvcGxhciBkb21pbmlvcyBkZSBuZWdvY2lvIHBvciB1biB0aXBvIHRyaXZpYWwuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlZiB7XG4gIGVudGl0eVR5cGU6IHN0cmluZztcbiAgZW50aXR5SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0VHlwZVByZXNlbnRhdGlvbiB7XG4gIGhlYWRlckltYWdlVXJsPzogc3RyaW5nO1xuICBzdWNjZXNzVGl0bGU/OiBzdHJpbmc7XG4gIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nO1xuICBzdWNjZXNzSW1hZ2VVcmw/OiBzdHJpbmc7XG59XG5cbi8qKiBRdWnDqW4gcHVlZGUgbGVlciB1biB0aXBvIGRlIHNvbGljaXR1ZCAoeSBzdXMgc29saWNpdHVkZXMgcMO6YmxpY2FzKS4gKi9cbmV4cG9ydCB0eXBlIFJlcXVlc3RWaXNpYmlsaXR5ID0gJ1BVQkxJQycgfCAnQVVUSEVOVElDQVRFRCcgfCAnT1JHJyB8ICdJTlRFUk5BTCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFR5cGVDb25maWcge1xuICB0eXBlSWQ6IHN0cmluZztcbiAgYXBwSWQ6IHN0cmluZztcbiAgb3JnSWQ6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgdGlwbywgZXNjcml0byBwb3IgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqIEJhamFkYSBkZWwgZW51bmNpYWRvIChlai4gZW5jdWVzdGFzKS4gTGFiZWwgeWEgY3VicmUgZWwgdMOtdHVsby4gKi9cbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgcHJlc2VudGF0aW9uPzogUmVxdWVzdFR5cGVQcmVzZW50YXRpb247XG4gIGNyZWF0ZWRCeT86IFJlcXVlc3RBY3RvcjtcbiAgLyoqXG4gICAqIHRydWUgPSBjYWRhIGVudsOtbyBzZSBhZ3JlZ2EsIG5vIHNlIHJldmlzYSB1bm8gcG9yIHVubyAoZWouIGVuY3Vlc3RhcykuXG4gICAqIGZhbHNlL3VuZGVmaW5lZCAoZGVmYXVsdCkgPSBjb21wb3J0YW1pZW50byBoaXN0w7NyaWNvOiBzZSByZXZpc2EgY2FkYVxuICAgKiBzb2xpY2l0dWQgKENoZXNlZCBhZG9wY2lvbmVzLCBPa2hlbGlhIHJlY2V0YXMpLlxuICAgKi9cbiAgc2tpcFJldmlldz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiB0cnVlID0gZWwgZm9ybXVsYXJpbyBOTyBwaWRlIG5vbWJyZSBuaSBjb3JyZW8gYSBxdWllbiByZXNwb25kZSBzaW4gc2VzacOzbi5cbiAgICogU2kgaGFjZW4gZmFsdGEsIHNlIGFncmVnYW4gY29tbyBwcmVndW50YSDigJQgZXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhLCBubyB1biBwZWFqZSBxdWUgZWwgZm9ybXVsYXJpbyBjb2JyYSBwb3Igc3UgY3VlbnRhLlxuICAgKi9cbiAgc2tpcFN1Ym1pdHRlcklkZW50aXR5PzogYm9vbGVhbjtcbiAgZmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hRGVmW107XG4gIGFsbG93QW5vbnltb3VzOiBib29sZWFuO1xuICAvKipcbiAgICogUXVpw6luIHB1ZWRlIGxlZXIvZW52aWFyIGVzdGUgdGlwbyAoZGViZSBjb2luY2lkaXIgY29uIGVsIGJhY2tlbmQpOlxuICAgKiAgLSBQVUJMSUMgICAgICAgIGN1YWxxdWllcmEsIGluY2x1c28gc2luIGxvZ2luIChhbsOzbmltbyBzaSBhbGxvd0Fub255bW91cykuXG4gICAqICAtIEFVVEhFTlRJQ0FURUQgY3VhbHF1aWVyIHVzdWFyaW8gbG9ndWVhZG8gKyB2ZXJpZmljYWRvLCBjcm9zcy1vcmcuXG4gICAqICAtIE9SRy9JTlRFUk5BTCAgc29sbyBtaWVtYnJvcyBkZSBsYSBvcmcgZHVlw7FhLiBEZWZhdWx0IE9SRy5cbiAgICovXG4gIHZpc2liaWxpdHk/OiBSZXF1ZXN0VmlzaWJpbGl0eTtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG4vLyDilIDilIAgUmVxdWVzdCAvIFJlc3BvbnNlIOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJlcXVlc3RQYXlsb2FkIHtcbiAgdHlwZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBmaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgLyoqIFBhcmEgc29saWNpdHVkZXMgYW7Ds25pbWFzICovXG4gIHN1Ym1pdHRlcj86IFJlcXVlc3RBY3RvcjtcbiAgLyoqXG4gICAqIEVsIGA/aT1gIGRlbCBsaW5rIHF1ZSBsZSBsbGVnw7MgcG9yIGNvcnJlbyBhIHF1aWVuIHJlc3BvbmRlLiBDb24gdG9rZW4sIGxhXG4gICAqIGludml0YWNpw7NuIHNlIGNvbnN1bWUgeSBubyBhZG1pdGUgdW5hIHNlZ3VuZGEgcmVzcHVlc3RhOyBzaW4gdG9rZW4gKGVsIFFSXG4gICAqIGFiaWVydG8gZGUgdW4gZXZlbnRvKSBzZSByZXNwb25kZSBzaW4gbMOtbWl0ZS5cbiAgICovXG4gIGludml0ZVRva2VuPzogc3RyaW5nO1xuICBkdWVBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVSZXF1ZXN0UGF5bG9hZCB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgYXNzaWduZWU/OiBSZXF1ZXN0QWN0b3I7XG4gIGR1ZUF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRpb25QYXlsb2FkIHtcbiAgc3RhdHVzOiBSZXF1ZXN0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZENvbW1lbnRQYXlsb2FkIHtcbiAgYm9keTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RSZXF1ZXN0c1BhcmFtcyB7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG5leHRUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVxdWVzdHNSZXNwb25zZSB7XG4gIHJlcXVlc3RzOiBBcHBSZXF1ZXN0W107XG4gIG5leHRUb2tlbj86IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29tbWVudHNSZXNwb25zZSB7XG4gIGNvbW1lbnRzOiBSZXF1ZXN0Q29tbWVudFtdO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RSZXF1ZXN0VHlwZXNSZXNwb25zZSB7XG4gIHR5cGVzOiBSZXF1ZXN0VHlwZUNvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJlcXVlc3RUeXBlUGF5bG9hZCB7XG4gIHR5cGVJZD86IHN0cmluZzsgLy8gb3BjaW9uYWw6IGJhY2tlbmQgZ2VuZXJhIGRlc2RlIGxhYmVsIHNpIG5vIHNlIGVudsOtYVxuICAvKiogTm9tYnJlIGRlbCB0aXBvLCBlc2NyaXRvIHBvciBsYSBvcmdhbml6YWNpw7NuOiBubyBzZSB0cmFkdWNlLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgZW50aXR5UmVmPzogRW50aXR5UmVmO1xuICBwcmVzZW50YXRpb24/OiBSZXF1ZXN0VHlwZVByZXNlbnRhdGlvbjtcbiAgc2tpcFJldmlldz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiB0cnVlID0gZWwgZm9ybXVsYXJpbyBOTyBwaWRlIG5vbWJyZSBuaSBjb3JyZW8gYSBxdWllbiByZXNwb25kZSBzaW4gc2VzacOzbi5cbiAgICogU2kgaGFjZW4gZmFsdGEsIHNlIGFncmVnYW4gY29tbyBwcmVndW50YSDigJQgZXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhLCBubyB1biBwZWFqZSBxdWUgZWwgZm9ybXVsYXJpbyBjb2JyYSBwb3Igc3UgY3VlbnRhLlxuICAgKi9cbiAgc2tpcFN1Ym1pdHRlcklkZW50aXR5PzogYm9vbGVhbjtcbiAgZmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hRGVmW107XG4gIGFsbG93QW5vbnltb3VzOiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogUmVxdWVzdFZpc2liaWxpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVxdWVzdFR5cGVQYXlsb2FkIHtcbiAgLyoqIE5vbWJyZSBkZWwgdGlwbywgZXNjcml0byBwb3IgbGEgb3JnYW5pemFjacOzbjogbm8gc2UgdHJhZHVjZS4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgcHJlc2VudGF0aW9uPzogUmVxdWVzdFR5cGVQcmVzZW50YXRpb247XG4gIHNraXBSZXZpZXc/OiBib29sZWFuO1xuICAvKipcbiAgICogdHJ1ZSA9IGVsIGZvcm11bGFyaW8gTk8gcGlkZSBub21icmUgbmkgY29ycmVvIGEgcXVpZW4gcmVzcG9uZGUgc2luIHNlc2nDs24uXG4gICAqIFNpIGhhY2VuIGZhbHRhLCBzZSBhZ3JlZ2FuIGNvbW8gcHJlZ3VudGEg4oCUIGVzbyBlcyBjb25maWd1cmFjacOzbiBkZSBsYVxuICAgKiBlbmN1ZXN0YSwgbm8gdW4gcGVhamUgcXVlIGVsIGZvcm11bGFyaW8gY29icmEgcG9yIHN1IGN1ZW50YS5cbiAgICovXG4gIHNraXBTdWJtaXR0ZXJJZGVudGl0eT86IGJvb2xlYW47XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYURlZltdO1xuICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgdmlzaWJpbGl0eT86IFJlcXVlc3RWaXNpYmlsaXR5O1xufVxuaW1wb3J0IHR5cGUge1xuICBGaWVsZE9wdGlvbiBhcyBGb3JtRmllbGRPcHRpb24sXG4gIEZpZWxkU2NoZW1hRGVmIGFzIEZvcm1GaWVsZFNjaGVtYURlZixcbn0gZnJvbSAnLi4vZm9ybXMvdHlwZXMnO1xuIl19
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.996';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC45OTYnO1xuIl19
5
+ export const VERSION = '4.0.998';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC45OTgnO1xuIl19