@loxia/mst-viewer 8.1.3-202511170721 → 8.1.3-202511171536

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/esm2022/lib/atomic-components/message/message.component.mjs +3 -3
  2. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +7 -4
  3. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +18 -12
  4. package/esm2022/lib/components/rpe/rpe.component.mjs +6 -2
  5. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +8 -7
  6. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +7 -3
  7. package/esm2022/lib/model/ritdeel.mjs +4 -4
  8. package/esm2022/lib/mst-viewer.module.mjs +6 -5
  9. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +2 -1
  10. package/esm2022/lib/services/editor.service.mjs +3 -1
  11. package/esm2022/lib/services/rit-lezer.service.mjs +4 -4
  12. package/esm2022/lib/state/actions/actions.mjs +2 -4
  13. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +1 -1
  14. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +1 -1
  15. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +1 -1
  16. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +1 -1
  17. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +2 -2
  18. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +13 -13
  19. package/esm2022/lib/state/effect/ritdelen.effect.mjs +22 -22
  20. package/esm2022/lib/state/mst-editor-state.mjs +10 -13
  21. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +1 -1
  22. package/esm2022/lib/util/actie-helper.mjs +20 -17
  23. package/esm2022/lib/util/actie-popover-bepaler.mjs +2 -2
  24. package/esm2022/lib/util/multi-map.mjs +2 -3
  25. package/esm2022/lib/util/utils.mjs +2 -5
  26. package/esm2022/lib/util/zone-util.mjs +2 -1
  27. package/fesm2022/loxia-mst-viewer.mjs +230 -205
  28. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  29. package/lib/atomic-components/message/message.component.d.ts +2 -2
  30. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +1 -1
  31. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +2 -2
  32. package/lib/components/rpe/rpe.component.d.ts +1 -1
  33. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -1
  34. package/lib/components/viewer-controls/viewer-controls.component.d.ts +2 -2
  35. package/lib/model/ritdeel.d.ts +7 -6
  36. package/lib/state/actions/actions.d.ts +1 -6
  37. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  38. package/lib/state/effect/laad-route-files.effect.d.ts +2 -1
  39. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +9 -9
  40. package/lib/state/effect/ritdelen.effect.d.ts +7 -6
  41. package/lib/state/mst-editor-state.d.ts +20 -83
  42. package/lib/util/actie-helper.d.ts +4 -4
  43. package/lib/util/utils.d.ts +0 -1
  44. package/package.json +1 -1
@@ -3,11 +3,10 @@ import { combineLatest } from 'rxjs';
3
3
  import { AlternatiefRitDeel } from '../../model/alternatief-rit-deel';
4
4
  import { OngeplandeActie } from '../../model/ongeplande-actie';
5
5
  import { SeinOpRitdeel } from '../../model/sein-op-ritdeel';
6
- import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProgress, SetSelectedRitdeel, navigeerBuitenRit, ResetNieuweRoute, SetActieOpRitSelectieIds, SetAlternatievenClickableIds, SetAlternatievenSelectieIds, SetBeginSeinRightClickableIds, SetBeginSeinSelectieIds, SetEindSeinenClickableIds, SetEindSeinSelectieIds, SetGebrokenRitSelectieIds, SetGeplandeActies, SetNieuwRouteEindSein, SetRitSelectieIds } from '../../state/actions/actions';
6
+ import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProgress, navigeerBuitenRit, ResetNieuweRoute, SetActieOpRitSelectieIds, SetAlternatievenClickableIds, SetAlternatievenSelectieIds, SetBeginSeinRightClickableIds, SetBeginSeinSelectieIds, SetEindSeinenClickableIds, SetEindSeinSelectieIds, SetGebrokenRitSelectieIds, SetGeplandeActies, SetNieuwRouteEindSein, SetRitSelectieIds } from '../../state/actions/actions';
7
7
  import { ritdeelInvoegen, setAlternatieveRitDelen } from '../../state/actions/ritdelen.actions';
8
8
  import { ActiePopoverBepaler } from '../../util/actie-popover-bepaler';
9
9
  import { ArrayMultimap } from '../../util/multi-map';
10
- import Utils from '../../util/utils';
11
10
  import * as i0 from "@angular/core";
12
11
  import * as i1 from "@ngrx/store";
13
12
  import * as i2 from "../../services/viewer-control.service";
@@ -23,12 +22,15 @@ export class SvgVisualisatieComponent {
23
22
  this.actieHelper = actieHelper;
24
23
  this.sbmService = sbmService;
25
24
  this.editorService = editorService;
25
+ this.nietGeplandeActies = [];
26
+ this.useClickArea = false;
26
27
  this.svgInfos$ = this.store.select('svgInfos');
27
28
  this.popoverInfos = [];
28
29
  this.clickableIds = [];
29
30
  this.rightClickableIds = [];
30
31
  this.contextMenuActions = [];
31
32
  this.contextMenuStyle = { display: 'none' };
33
+ this.editable = false;
32
34
  this.puicNaarBeginSeinRitdeel = new Map();
33
35
  this.puicNaarEindSeinCombinatie = new Map();
34
36
  this.puicNaarAlternatieveRoute = new Map();
@@ -52,7 +54,7 @@ export class SvgVisualisatieComponent {
52
54
  }));
53
55
  }
54
56
  ngOnInit() {
55
- document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
57
+ document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
56
58
  }
57
59
  ngOnDestroy() {
58
60
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -79,7 +81,6 @@ export class SvgVisualisatieComponent {
79
81
  this.store.dispatch(navigeerBuitenRit(puic));
80
82
  }
81
83
  }
82
- this.store.dispatch(SetSelectedRitdeel(undefined));
83
84
  }
84
85
  handleImxviewRightClick(evt) {
85
86
  const fn = () => {
@@ -110,7 +111,7 @@ export class SvgVisualisatieComponent {
110
111
  handleNieuweRouteToegevoegd() {
111
112
  this.store.select('nieuweRoute')
112
113
  .subscribe((nieuweRoute) => {
113
- if (nieuweRoute.isValid()) {
114
+ if (nieuweRoute && nieuweRoute.isValid()) {
114
115
  this.store.dispatch(ResetNieuweRoute());
115
116
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
116
117
  }
@@ -223,7 +224,7 @@ export class SvgVisualisatieComponent {
223
224
  });
224
225
  this.viewerControlsService.setValideRit(!gebrokenRit);
225
226
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
226
- const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
227
+ const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).reduce((acc, val) => acc.concat(val), []);
227
228
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
228
229
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
229
230
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -270,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
270
271
  type: ViewChild,
271
272
  args: ['imxviewercontainer']
272
273
  }] } });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0I7UUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO2tCQUNsRixXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLHFDQUFxQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxhQUFxQztRQUNsRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXpSUSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw2UEM3Q3JDLHczQkFpQkE7OzJGRDRCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO2lOQU1uQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMkIsU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJDb21wb25lbnQsIFBvcG92ZXJJbmZvLCBTZWxlY3RpZUV2ZW50LCBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgZG9tZWluLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsdGVybmF0aWVmUml0RGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0aWVmLXJpdC1kZWVsJztcbmltcG9ydCB7IE9uZ2VwbGFuZGVBY3RpZSB9IGZyb20gJy4uLy4uL21vZGVsL29uZ2VwbGFuZGUtYWN0aWUnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4uLy4uL21vZGVsL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHsgU2Vpbk9wUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3NlaW4tb3Atcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSB9IGZyb20gJy4uLy4uL29wdGltbyc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgQmV3ZWdpbmdJbnZvZWdlbixcbiAgICBDbGVhclByb2dyZXNzLCBTZXRTZWxlY3RlZFJpdGRlZWwsXG4gICAgbmF2aWdlZXJCdWl0ZW5SaXQsXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFNldFJpdFNlbGVjdGllSWRzXG59IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyByaXRkZWVsSW52b2VnZW4sIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuIH0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IEFjdGllUG9wb3ZlckJlcGFsZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLXBvcG92ZXItYmVwYWxlcic7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vLi4vdXRpbC9tdWx0aS1tYXAnO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3N2Zy12aXN1YWxpc2F0aWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdO1xuICAgIEBJbnB1dCgpIHVzZUNsaWNrQXJlYTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lteHZpZXdlcmNvbnRhaW5lcicpIGlteHZpZXdlcjogSW14Vmlld2VyQ29tcG9uZW50O1xuXG4gICAgc3ZnSW5mb3MkOiBPYnNlcnZhYmxlPFN2Z0luZm9bXT4gPSB0aGlzLnN0b3JlLnNlbGVjdCgnc3ZnSW5mb3MnKTtcbiAgICBwb3BvdmVySW5mb3M6IFBvcG92ZXJJbmZvW10gPSBbXTtcbiAgICBjbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICByaWdodENsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb250ZXh0TWVudUFjdGlvbnM6IGFueSA9IFtdO1xuICAgIGNvbnRleHRNZW51U3R5bGU6IGFueSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbCA9IG5ldyBNYXA8c3RyaW5nLCBTZWluT3BSaXRkZWVsPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgPSBuZXcgTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUgPSBuZXcgTWFwPHN0cmluZywgQWx0ZXJuYXRpZWZSaXREZWVsPigpO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFjdGllSGVscGVyOiBBY3RpZUhlbHBlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25SaXRkZWxlblVwZGF0ZSgpO1xuICAgICAgICB0aGlzLnRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLmhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpO1xuICAgICAgICB0aGlzLnNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdmb2N1c0lkcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZvY3VzSWRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNJZHMgJiYgdGhpcy5pbXh2aWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXh2aWV3ZXIuZm9jdXNPbklkcyhmb2N1c0lkcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dE1lbnUnKS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5oaWRlQ29udGV4dE1lbnUoKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWMgPSBldnQuaWQ7XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJpdERlZWwgPSB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuZ2V0KHB1aWMpO1xuICAgICAgICBjb25zdCBjb21iaW5hdGllID0gdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZS5nZXQocHVpYyk7XG4gICAgICAgIGlmIChhbHRlcm5hdGlldmVSaXREZWVsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGlldmVSaXREZWVsLnJpdERlZWwuYWN0aWVzLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxQdWljc1Zvb3JBY3RpZShhY3RpZSk7XG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFsdGVybmF0aWV2ZVJpdERlbGVuKGFsdGVybmF0aWV2ZVJpdERlZWwpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb21iaW5hdGllKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldE5pZXV3Um91dGVFaW5kU2Vpbihjb21iaW5hdGllKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByYW5kID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICAgICAgICAgIGlmIChyYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuYXZpZ2VlckJ1aXRlblJpdChwdWljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFNlbGVjdGVkUml0ZGVlbCh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3UmlnaHRDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydFNlaW5PcFJpdGRlZWwgPSB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5nZXQoZXZ0LmlkKTtcbiAgICAgICAgICAgIGlmIChzdGFydFNlaW5PcFJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMucHVzaCh7IGxhYmVsOiAnYmV3ZWdpbmcgaW52b2VnZW4nLCBjbGljazogZm4gfSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGxlZnQ6IChldnQuZXZlbnQub2Zmc2V0WCAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIHRvcDogKGV2dC5ldmVudC5vZmZzZXRZIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZUNvbnRleHRNZW51KCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwsIHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUpKTtcbiAgICB9XG5cbiAgICBoaWRlQ29udGV4dE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCduaWV1d2VSb3V0ZScpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuaWV1d2VSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmlldXdlUm91dGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJlc2V0TmlldXdlUm91dGUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHJpdGRlZWxJbnZvZWdlbihuaWV1d2VSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUml0ZGVsZW5VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZShyaXREZWxlbiA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW4gJiYgcml0RGVsZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsT25nZXBsYW5kZUFjdGllcygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdlaW5kU2VpbmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnY29ubmVjdG9yQ2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2xpY2thYmxlSWRzID0gWy4uLmFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIC4uLmVpbmRTZWluZW5DbGlja2FibGVJZHMsIC4uLmNvbm5lY3RvckNsaWNrYWJsZUlkc10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkcyA9IFtdO1xuICAgICAgICAgICAgICAgIGlkcy5wdXNoKC4uLmJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2thYmxlSWRzID0gaWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtyaXRkZWxlbiwgb25nZXBsYW5kZUFjdGllcywgZ2VwbGFuZGVBY3RpZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJpdGRlbGVuICYmIHJpdGRlbGVuLmxlbmd0aCA+IDAgJiYgZ2VwbGFuZGVBY3RpZXMgJiYgb25nZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJJbmZvcyA9IEFjdGllUG9wb3ZlckJlcGFsZXIuYmVwYWFsUG9wb3ZlckluZm9zKHJpdGRlbGVuLCBnZXBsYW5kZUFjdGllcywgb25nZXBsYW5kZUFjdGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBiZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmVwYWFsT25nZXBsYW5kZUFjdGllcyh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zYm1TZXJ2aWNlLmlzUmVhZHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlkcyA9IFtdO1xuICAgICAgICByaXREZWxlbi5maWx0ZXIocml0RGVlbCA9PiByaXREZWVsLmlzWmljaHRiYWFyKCkpLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWljcyA9IHJpdERlZWwuZ2V0U2VpbmVuKCkuZmxhdE1hcChzZWluID0+IHRoaXMudmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIGlkcyA9IGlkcy5jb25jYXQocHVpY3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKGlkcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMoW10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluOiBkb21laW4uU2Vpbiwgcml0RGVlbDogUml0ZGVlbCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRTQlNlaW4oc2Vpbik7XG4gICAgICAgIGlmIChzYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBzYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChzZWluLCByaXREZWVsKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWx0U2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNiU2Vpbik7XG4gICAgICAgIGlmIChhbHRTYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBhbHRTYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIGNvbnN0IHJ3cCA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKGFsdFNiU2Vpbi5nZXRQUExHKCkpO1xuICAgICAgICAgICAgY29uc3QgZG9tZWluU2VpbiA9IHJ3cC5nZXRCZWdpblNlaW4oYWx0U2JTZWluLmdldE5hbWUoKSk7XG4gICAgICAgICAgICAvLyBzZWluIGthbiBuaWV0IGFsdGlqZCBnZXZvbmRlbiB3b3JkZW4gb21kYXQgZXIgbmlldCBhbHRpamQgZWVuIHJpandlZyB2YW5hZiBkaXQgc2VpbiBpcywgYmlqdiBiaWogdmVlcndpc3NlbC5cbiAgICAgICAgICAgIGlmIChkb21laW5TZWluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKGRvbWVpblNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVpY3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBsZXQgcml0U2VsZWN0aWVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljcyA9IG5ldyBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KCk7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBjbGlja2FibGVJZHMgPSBbXTtcbiAgICAgICAgbGV0IGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZztcbiAgICAgICAgY29uc3QgYmVzdGFhdFVpdDFSaXRkZWVsID0gcml0RGVsZW4ubGVuZ3RoID09PSAxO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXQgPSBmYWxzZTtcbiAgICAgICAgcml0RGVsZW4uZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWVsLmlzWmljaHRiYWFyKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbEFjdGllUHVpY3NVaXRSaXRkZWVsKHJpdERlZWwpO1xuICAgICAgICAgICAgICAgIG1hcC5rZXlzKCkuZm9yRWFjaChrZXkgPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MucHV0QWxsKGtleSwgbWFwLmdldChrZXkpKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICFiZXN0YWF0VWl0MVJpdGRlZWwgJiYgdGhpcy5pc0dlYnJva2VuUml0ZGVlbChyaXREZWVsLCBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IFsuLi50aGlzLmdldFB1aWNzKHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNibVNlcnZpY2UuZ2V0UHVpY3NWb29yU2VpbmVuSW5Sb3V0ZShyaXREZWVsLmdldFJvdXRlKCkpXTtcblxuICAgICAgICAgICAgICAgIGlmIChwdWljcyAmJiBpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgICAgICBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB1aWNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWwsIGNsaWNrYWJsZUlkcywgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyk7XG5cbiAgICAgICAgICAgICAgICBnZWJyb2tlblJpdCA9IGdlYnJva2VuUml0IHx8IGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFhdHN0ZU5hYXJTcG9vciA9IHJpdERlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRWYWxpZGVSaXQoIWdlYnJva2VuUml0KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlcGxhbmRlQWN0aWVzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkgPSBVdGlscy5mbGF0TWFwKEFycmF5LmZyb20oYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MudmFsdWVzKCkpLCB4ID0+IHgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNwQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FB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WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxnQkFBd0I7UUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO2tCQUNsRixXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLHFDQUFxQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxhQUFxQztRQUNsRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXZSUSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw2UEM1Q3JDLHczQkFpQkE7OzJGRDJCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO2lOQU1uQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMkIsU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJDb21wb25lbnQsIFBvcG92ZXJJbmZvLCBTZWxlY3RpZUV2ZW50LCBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgZG9tZWluLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsdGVybmF0aWVmUml0RGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0aWVmLXJpdC1kZWVsJztcbmltcG9ydCB7IE9uZ2VwbGFuZGVBY3RpZSB9IGZyb20gJy4uLy4uL21vZGVsL29uZ2VwbGFuZGUtYWN0aWUnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4uLy4uL21vZGVsL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHsgU2Vpbk9wUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3NlaW4tb3Atcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSB9IGZyb20gJy4uLy4uL29wdGltbyc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgQmV3ZWdpbmdJbnZvZWdlbixcbiAgICBDbGVhclByb2dyZXNzLFxuICAgIG5hdmlnZWVyQnVpdGVuUml0LFxuICAgIFJlc2V0TmlldXdlUm91dGUsXG4gICAgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzLFxuICAgIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzLFxuICAgIFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzLFxuICAgIFNldEJlZ2luU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMsXG4gICAgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzLFxuICAgIFNldEdlcGxhbmRlQWN0aWVzLFxuICAgIFNldE5pZXV3Um91dGVFaW5kU2VpbixcbiAgICBTZXRSaXRTZWxlY3RpZUlkc1xufSBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0IHsgcml0ZGVlbEludm9lZ2VuLCBzZXRBbHRlcm5hdGlldmVSaXREZWxlbiB9IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IHsgQWN0aWVIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQgeyBBY3RpZVBvcG92ZXJCZXBhbGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1wb3BvdmVyLWJlcGFsZXInO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzdmctdmlzdWFsaXNhdGllJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG5pZXRHZXBsYW5kZUFjdGllczogQWN0aWVbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHVzZUNsaWNrQXJlYSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnaW14dmlld2VyY29udGFpbmVyJykgaW14dmlld2VyPzogSW14Vmlld2VyQ29tcG9uZW50O1xuXG4gICAgc3ZnSW5mb3MkOiBPYnNlcnZhYmxlPFN2Z0luZm9bXT4gPSB0aGlzLnN0b3JlLnNlbGVjdCgnc3ZnSW5mb3MnKTtcbiAgICBwb3BvdmVySW5mb3M6IFBvcG92ZXJJbmZvW10gPSBbXTtcbiAgICBjbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICByaWdodENsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb250ZXh0TWVudUFjdGlvbnM6IGFueSA9IFtdO1xuICAgIGNvbnRleHRNZW51U3R5bGU6IGFueSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgZWRpdGFibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcHVpY05hYXJCZWdpblNlaW5SaXRkZWVsID0gbmV3IE1hcDxzdHJpbmcsIFNlaW5PcFJpdGRlZWw+KCk7XG4gICAgcHJpdmF0ZSBwdWljTmFhckVpbmRTZWluQ29tYmluYXRpZSA9IG5ldyBNYXA8c3RyaW5nLCBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJBbHRlcm5hdGlldmVSb3V0ZSA9IG5ldyBNYXA8c3RyaW5nLCBBbHRlcm5hdGllZlJpdERlZWw+KCk7XG5cbiAgICBwcml2YXRlIG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LFxuICAgICAgICAgICAgICAgIHB1YmxpYyB2aWV3ZXJDb250cm9sc1NlcnZpY2U6IFZpZXdlckNvbnRyb2xTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgYWN0aWVIZWxwZXI6IEFjdGllSGVscGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2JtU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5vblJpdGRlbGVuVXBkYXRlKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyUmlnaHRDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlTmlldXdlUm91dGVUb2VnZXZvZWdkKCk7XG4gICAgICAgIHRoaXMuc2V0dXBUcmlnZ2VyUG9wb3ZlckJlcGFsaW5nKCk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZTtcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllc0JlcGFhbGQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9PiB0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0gb25nZXBsYW5kZUFjdGllc0JlcGFhbGQpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ2ZvY3VzSWRzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZm9jdXNJZHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb2N1c0lkcyAmJiB0aGlzLmlteHZpZXdlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlteHZpZXdlci5mb2N1c09uSWRzKGZvY3VzSWRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZXh0TWVudScpPy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5oaWRlQ29udGV4dE1lbnUoKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWMgPSBldnQuaWQ7XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJpdERlZWwgPSB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuZ2V0KHB1aWMpO1xuICAgICAgICBjb25zdCBjb21iaW5hdGllID0gdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZS5nZXQocHVpYyk7XG4gICAgICAgIGlmIChhbHRlcm5hdGlldmVSaXREZWVsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGlldmVSaXREZWVsLnJpdERlZWwuYWN0aWVzLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxQdWljc1Zvb3JBY3RpZShhY3RpZSk7XG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFsdGVybmF0aWV2ZVJpdERlbGVuKGFsdGVybmF0aWV2ZVJpdERlZWwpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb21iaW5hdGllKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldE5pZXV3Um91dGVFaW5kU2Vpbihjb21iaW5hdGllKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByYW5kID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICAgICAgICAgIGlmIChyYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuYXZpZ2VlckJ1aXRlblJpdChwdWljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3UmlnaHRDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydFNlaW5PcFJpdGRlZWwgPSB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5nZXQoZXZ0LmlkKTtcbiAgICAgICAgICAgIGlmIChzdGFydFNlaW5PcFJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMucHVzaCh7IGxhYmVsOiAnYmV3ZWdpbmcgaW52b2VnZW4nLCBjbGljazogZm4gfSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGxlZnQ6IChldnQuZXZlbnQub2Zmc2V0WCAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIHRvcDogKGV2dC5ldmVudC5vZmZzZXRZIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZUNvbnRleHRNZW51KCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwsIHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUpKTtcbiAgICB9XG5cbiAgICBoaWRlQ29udGV4dE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCduaWV1d2VSb3V0ZScpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuaWV1d2VSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmlldXdlUm91dGUgJiYgbmlldXdlUm91dGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJlc2V0TmlldXdlUm91dGUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHJpdGRlZWxJbnZvZWdlbihuaWV1d2VSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUml0ZGVsZW5VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZShyaXREZWxlbiA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW4gJiYgcml0RGVsZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsT25nZXBsYW5kZUFjdGllcygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdlaW5kU2VpbmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnY29ubmVjdG9yQ2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2xpY2thYmxlSWRzID0gWy4uLmFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIC4uLmVpbmRTZWluZW5DbGlja2FibGVJZHMsIC4uLmNvbm5lY3RvckNsaWNrYWJsZUlkc10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkcyA9IFtdO1xuICAgICAgICAgICAgICAgIGlkcy5wdXNoKC4uLmJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2thYmxlSWRzID0gaWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtyaXRkZWxlbiwgb25nZXBsYW5kZUFjdGllcywgZ2VwbGFuZGVBY3RpZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJpdGRlbGVuICYmIHJpdGRlbGVuLmxlbmd0aCA+IDAgJiYgZ2VwbGFuZGVBY3RpZXMgJiYgb25nZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJJbmZvcyA9IEFjdGllUG9wb3ZlckJlcGFsZXIuYmVwYWFsUG9wb3ZlckluZm9zKHJpdGRlbGVuLCBnZXBsYW5kZUFjdGllcywgb25nZXBsYW5kZUFjdGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBiZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmVwYWFsT25nZXBsYW5kZUFjdGllcyh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zYm1TZXJ2aWNlLmlzUmVhZHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgcml0RGVsZW4uZmlsdGVyKHJpdERlZWwgPT4gcml0RGVlbC5pc1ppY2h0YmFhcigpKS5mb3JFYWNoKHJpdERlZWwgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHVpY3MgPSByaXREZWVsLmdldFNlaW5lbigpLmZsYXRNYXAoc2VpbiA9PiB0aGlzLnZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICBpZHMgPSBpZHMuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyhpZHMpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluU2VsZWN0aWVJZHMoW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzKFtdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ6YW1lbEJlZ2luU2VpbkluZm9ybWF0aWUoc2VpbjogZG9tZWluLlNlaW4sIHJpdERlZWw6IFJpdGRlZWwpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBzYlNlaW4gPSB0aGlzLnNibVNlcnZpY2UuZ2V0U0JTZWluKHNlaW4pO1xuICAgICAgICBpZiAoc2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gc2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5zZXQocHVpYywgbmV3IFNlaW5PcFJpdGRlZWwoc2Vpbiwgcml0RGVlbCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFsdFNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRUZWNobmlzY2hBbHRlcm5hdGllZlNCU2VpbihzYlNlaW4pO1xuICAgICAgICBpZiAoYWx0U2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gYWx0U2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICBjb25zdCByd3AgPSB0aGlzLmVkaXRvclNlcnZpY2UuZ2V0Umlqd2VncGxhbihhbHRTYlNlaW4uZ2V0UFBMRygpKTtcbiAgICAgICAgICAgIGNvbnN0IGRvbWVpblNlaW4gPSByd3AuZ2V0QmVnaW5TZWluKGFsdFNiU2Vpbi5nZXROYW1lKCkpO1xuICAgICAgICAgICAgLy8gc2VpbiBrYW4gbmlldCBhbHRpamQgZ2V2b25kZW4gd29yZGVuIG9tZGF0IGVyIG5pZXQgYWx0aWpkIGVlbiByaWp3ZWcgdmFuYWYgZGl0IHNlaW4gaXMsIGJpanYgYmlqIHZlZXJ3aXNzZWwuXG4gICAgICAgICAgICBpZiAoZG9tZWluU2Vpbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChkb21laW5TZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHB1aWNzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuOiBSaXRkZWVsW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHJpdFNlbGVjdGllUHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzID0gbmV3IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4oKTtcbiAgICAgICAgbGV0IGdlYnJva2VuUml0U2VsZWN0aWVQdWljczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUm91dGVQdWljczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBsZXQgbGFhdHN0ZU5hYXJTcG9vcjogc3RyaW5nO1xuICAgICAgICBjb25zdCBiZXN0YWF0VWl0MVJpdGRlZWwgPSByaXREZWxlbi5sZW5ndGggPT09IDE7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdCA9IGZhbHNlO1xuICAgICAgICByaXREZWxlbi5mb3JFYWNoKHJpdERlZWwgPT4ge1xuICAgICAgICAgICAgaWYgKHJpdERlZWwuaXNaaWNodGJhYXIoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcDogQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPiA9IHRoaXMuYWN0aWVIZWxwZXIuYmVwYWFsQWN0aWVQdWljc1VpdFJpdGRlZWwocml0RGVlbCk7XG4gICAgICAgICAgICAgICAgbWFwLmtleXMoKS5mb3JFYWNoKGtleSA9PiBhY3RpZU9wUml0U2VsZWN0aWVQdWljcy5wdXRBbGwoa2V5LCBtYXAuZ2V0KGtleSkpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzR2Vicm9rZW5SaXRkZWVsID0gIWJlc3RhYXRVaXQxUml0ZGVlbCAmJiB0aGlzLmlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gWy4uLnRoaXMuZ2V0UHVpY3Mocml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSksXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuc2JtU2VydmljZS5nZXRQdWljc1Zvb3JTZWluZW5JblJvdXRlKHJpdERlZWwuZ2V0Um91dGUoKSldO1xuXG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzICYmIGlzR2Vicm9rZW5SaXRkZWVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGdlYnJva2VuUml0U2VsZWN0aWVQdWljcyA9IGdlYnJva2VuUml0U2VsZWN0aWVQdWljcy5jb25jYXQocHVpY3MpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHVpY3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcml0U2VsZWN0aWVQdWljcyA9IHJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbEFsdGVybmF0aWV2ZW4ocml0RGVlbCwgY2xpY2thYmxlSWRzLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzKTtcblxuICAgICAgICAgICAgICAgIGdlYnJva2VuUml0ID0gZ2Vicm9rZW5SaXQgfHwgaXNHZWJyb2tlblJpdGRlZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYWF0c3RlTmFhclNwb29yID0gcml0RGVlbC5nZXRWaXN1ZWVsTmFhclBybFNwb29yKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnNldFZhbGlkZVJpdCghZ2Vicm9rZW5SaXQpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0R2VwbGFuZGVBY3RpZXMoYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgY29uc3QgYWN0aWVPcFJpdFNlbGVjdGllUHVpY3NBcnJheSA9IEFycmF5LmZyb20oYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MudmFsdWVzKCkpLnJlZHVjZSgoYWNjOiBzdHJpbmdbXSwgdmFsOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiBhY2MuY29uY2F0KHZhbCksIFtdKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMoYWN0aWVPcFJpdFNlbGVjdGllUHVpY3NBcnJheSkpO1xuICAgICAgICByaXRTZWxlY3RpZVB1aWNzID0gcml0U2VsZWN0aWVQdWljcy5maWx0ZXIoaXRlbSA9PiBhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5LmluZGV4T2YoaXRlbSkgPCAwKTsgLy8gbWFrZSBtdXR1YWxseSBleGNsdXNpdmVcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRSaXRTZWxlY3RpZUlkcyhyaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0R2Vicm9rZW5SaXRTZWxlY3RpZUlkcyhnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRBbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzKHRoaXMuZWRpdGFibGUgPyBjbGlja2FibGVJZHMgOiBbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5TZWxlY3RpZUlkcyh0aGlzLmVkaXRhYmxlID8gYWx0ZXJuYXRpZXZlUm91dGVQdWljcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ2xlYXJQcm9ncmVzcygpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJlcGFhbEFsdGVybmF0aWV2ZW4ocml0RGVlbDogUml0ZGVlbCwgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSwgYWx0ZXJuYXRpZXZlUm91dGVQdWljczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgcml0RGVlbC5nZXRBbHRlcm5hdGlldmVSb3V0ZXMoKT8uZm9yRWFjaChhbHRlcm5hdGlldmVSb3V0ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuID1cbiAgICAgICAgICAgICAgICB0aGlzLnNibVNlcnZpY2UuYmVwYWFsQWx0ZXJuYXRpdmVSb3V0ZUhpZ2hsaWdodHMoYWx0ZXJuYXRpZXZlUm91dGUsIHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpO1xuXG4gICAgICAgICAgICBjb25zdCBhbHRQdWljcyA9IHRoaXMuZ2V0UHVpY3MoYWx0ZXJuYXRpZXZlVG9wb0VsZW1lbnRlbik7XG4gICAgICAgICAgICBpZiAoYWx0UHVpY3MpIHtcbiAgICAgICAgICAgICAgICBjbGlja2FibGVJZHMucHVzaCguLi5hbHRQdWljcyk7XG4gICAgICAgICAgICAgICAgYWx0UHVpY3MuZm9yRWFjaChwdWljID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlLnNldChwdWljLCBuZXcgQWx0ZXJuYXRpZWZSaXREZWVsKHJpdERlZWwsIGFsdGVybmF0aWV2ZVJvdXRlKSk7XG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0dlYnJva2VuUml0ZGVlbChyaXREZWVsOiBSaXRkZWVsLCBsYWF0c3RlTmFhclNwb29yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, EventEmitter, Input } from '@angular/core';
2
2
  import { Subscription } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngrx/store";
@@ -12,9 +12,13 @@ export class ViewerControlsComponent {
12
12
  this.viewerControlsService = viewerControlsService;
13
13
  this.bewegingUtils = bewegingUtils;
14
14
  this.paginationSize = 4;
15
+ this.iaversieinfo = undefined;
16
+ this.treinpad = undefined;
17
+ this.goedgekeurd = new EventEmitter();
15
18
  this.printing$ = this.viewerControlsService.isPrinting$();
16
19
  this.valideRit$ = this.viewerControlsService.isValideRit$();
17
20
  this.subscriptions = new Subscription();
21
+ this.editable = false;
18
22
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
19
23
  }
20
24
  ngOnChanges({ treinpad }) {
@@ -27,7 +31,7 @@ export class ViewerControlsComponent {
27
31
  }
28
32
  goedkeurenClick() {
29
33
  const ritDelen = this.viewerControlsService.ritdelen;
30
- if (ritDelen) {
34
+ if (ritDelen && this.treinpad) {
31
35
  delete this.treinpad.aantalRitActies;
32
36
  this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
33
37
  this.goedgekeurd.emit(this.treinpad);
@@ -49,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
49
53
  }], goedgekeurd: [{
50
54
  type: Input
51
55
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci1jb250cm9scy92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFXcEMsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFvQixLQUE0QixFQUM3QixxQkFBMkMsRUFDMUMsYUFBNEI7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWJ2QyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUs1QixjQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTS9CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFpQjtRQUNuQyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztRQUNyRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7OEdBcENRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBNQ2JwQyw2ekJBa0JBOzsyRkRMYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksaUJBQWlCO3lJQUtsQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmZyYU1vZGVsLCBSaXQgfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHsgQmV3ZWdpbmdVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jld2VnaW5nLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmlld2VyLWNvbnRyb2xzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJDb250cm9sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcGFnaW5hdGlvblNpemUgPSA0O1xuICAgIEBJbnB1dCgpIGlhdmVyc2llaW5mbzogSW5mcmFNb2RlbDtcbiAgICBASW5wdXQoKSB0cmVpbnBhZDogUml0O1xuICAgIEBJbnB1dCgpIGdvZWRnZWtldXJkOiBFdmVudEVtaXR0ZXI8Uml0PjtcblxuICAgIHByaW50aW5nJCA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLmlzUHJpbnRpbmckKCk7XG4gICAgdmFsaWRlUml0JCAgPSB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5pc1ZhbGlkZVJpdCQoKTtcblxuICAgIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBiZXdlZ2luZ1V0aWxzOiBCZXdlZ2luZ1V0aWxzKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZSkpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHsgdHJlaW5wYWQgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodHJlaW5wYWQgJiYgdGhpcy50cmVpbnBhZCkge1xuICAgICAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0T3JpZ2luZWVsVHJlaW5QYWQodGhpcy50cmVpbnBhZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93R29lZGtldXJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGUgJiYgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvcy5sZW5ndGggIT09IDA7XG4gICAgfVxuXG4gICAgZ29lZGtldXJlbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByaXREZWxlbiA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnJpdGRlbGVuO1xuICAgICAgICBpZiAocml0RGVsZW4pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnRyZWlucGFkLmFhbnRhbFJpdEFjdGllcztcbiAgICAgICAgICAgIHRoaXMudHJlaW5wYWQuYmV3ZWdpbmdlbiA9IHRoaXMuYmV3ZWdpbmdVdGlscy5leHRyYWN0QmV3ZWdpbmdlblVpdFJpdGRlbGVuKHJpdERlbGVuLCB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5vcmlnaW5lZWxUcmVpblBhZC5iZXdlZ2luZ2VuKTtcbiAgICAgICAgICAgIHRoaXMuZ29lZGdla2V1cmQuZW1pdCh0aGlzLnRyZWlucGFkKTtcbiAgICAgICAgICAgIHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnNldE9yaWdpbmVlbFRyZWluUGFkKHRoaXMudHJlaW5wYWQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8YnV0dG9uIGlkPVwidG9vblNpZGVOYXZLbm9wXCJcbiAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXByaW1hcnkgbG94aWEtYnRuLXNtIG9wZW4tc2lkZW5hdi1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwidmlld2VyQ29udHJvbHNTZXJ2aWNlLnRvZ2dsZVNpZGVOYXZWaXNpYmxlKClcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiXG4gICAgICAgIFtoaWRkZW5dPVwicHJpbnRpbmckIHwgYXN5bmNcIj5SaXRkZXRhaWxzXG48L2J1dHRvbj5cbjxidXR0b24gKm5nSWY9XCJzaG93R29lZGtldXJlbigpXCJcbiAgICAgICAgaWQ9XCJnb2Vka2V1cmVuS25vcFwiXG4gICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbSBnb2Vka2V1cmVuLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb2Vka2V1cmVuQ2xpY2soKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIodmFsaWRlUml0JCB8IGFzeW5jICkgPT09IGZhbHNlXCJcbiAgICAgICAgW2hpZGRlbl09XCJwcmludGluZyQgfCBhc3luY1wiPkdvZWRrZXVyZW5cbjwvYnV0dG9uPlxuXG48Y2Fyb3VzZWwtY29udHJvbHMgW3BhZ2luYXRpb25TaXplXT1cInBhZ2luYXRpb25TaXplXCJcbiAgICAgICAgICAgICAgICAgICBbaWF2ZXJzaWVpbmZvXT1cImlhdmVyc2llaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgW3NpZGVOYXZPcGVuXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiPlxuPC9jYXJvdXNlbC1jb250cm9scz5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci1jb250cm9scy92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFXcEMsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFvQixLQUE0QixFQUM3QixxQkFBMkMsRUFDMUMsYUFBNEI7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWJ2QyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixpQkFBWSxHQUEyQixTQUFTLENBQUM7UUFDakQsYUFBUSxHQUFvQixTQUFTLENBQUM7UUFDdEMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsRSxjQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBaUI7UUFDbkMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDTCxDQUFDOzhHQXBDUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwwTUNicEMsNnpCQWtCQTs7MkZETGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGlCQUFpQjt5SUFLbEIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5mcmFNb2RlbCwgUml0IH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IEJld2VnaW5nVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3ZpZXdlci1jb250cm9scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmlld2VyQ29udHJvbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHBhZ2luYXRpb25TaXplID0gNDtcbiAgICBASW5wdXQoKSBpYXZlcnNpZWluZm86IEluZnJhTW9kZWwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgdHJlaW5wYWQ6IFJpdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBnb2VkZ2VrZXVyZDogRXZlbnRFbWl0dGVyPFJpdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJpdD4oKTtcblxuICAgIHByaW50aW5nJCA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLmlzUHJpbnRpbmckKCk7XG4gICAgdmFsaWRlUml0JCAgPSB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5pc1ZhbGlkZVJpdCQoKTtcblxuICAgIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgZWRpdGFibGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGJld2VnaW5nVXRpbHM6IEJld2VnaW5nVXRpbHMpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnN0b3JlLnNlbGVjdCgnZWRpdGFibGUnKS5zdWJzY3JpYmUoZWRpdGFibGUgPT4gdGhpcy5lZGl0YWJsZSA9IGVkaXRhYmxlKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoeyB0cmVpbnBhZCB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0cmVpbnBhZCAmJiB0aGlzLnRyZWlucGFkKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRPcmlnaW5lZWxUcmVpblBhZCh0aGlzLnRyZWlucGFkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dHb2Vka2V1cmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0YWJsZSAmJiB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZWxlY3RpZUluZm9zLmxlbmd0aCAhPT0gMDtcbiAgICB9XG5cbiAgICBnb2Vka2V1cmVuQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJpdERlbGVuID0gdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uucml0ZGVsZW47XG4gICAgICAgIGlmIChyaXREZWxlbiAmJiB0aGlzLnRyZWlucGFkKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy50cmVpbnBhZC5hYW50YWxSaXRBY3RpZXM7XG4gICAgICAgICAgICB0aGlzLnRyZWlucGFkLmJld2VnaW5nZW4gPSB0aGlzLmJld2VnaW5nVXRpbHMuZXh0cmFjdEJld2VnaW5nZW5VaXRSaXRkZWxlbihyaXREZWxlbiwgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uub3JpZ2luZWVsVHJlaW5QYWQuYmV3ZWdpbmdlbik7XG4gICAgICAgICAgICB0aGlzLmdvZWRnZWtldXJkLmVtaXQodGhpcy50cmVpbnBhZCk7XG4gICAgICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRPcmlnaW5lZWxUcmVpblBhZCh0aGlzLnRyZWlucGFkKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGJ1dHRvbiBpZD1cInRvb25TaWRlTmF2S25vcFwiXG4gICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbSBvcGVuLXNpZGVuYXYtYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInZpZXdlckNvbnRyb2xzU2VydmljZS50b2dnbGVTaWRlTmF2VmlzaWJsZSgpXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2lkZU5hdk9wZW4kIHwgYXN5bmNcIlxuICAgICAgICBbaGlkZGVuXT1cInByaW50aW5nJCB8IGFzeW5jXCI+Uml0ZGV0YWlsc1xuPC9idXR0b24+XG48YnV0dG9uICpuZ0lmPVwic2hvd0dvZWRrZXVyZW4oKVwiXG4gICAgICAgIGlkPVwiZ29lZGtldXJlbktub3BcIlxuICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tcHJpbWFyeSBsb3hpYS1idG4tc20gZ29lZGtldXJlbi1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiZ29lZGtldXJlbkNsaWNrKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiKHZhbGlkZVJpdCQgfCBhc3luYyApID09PSBmYWxzZVwiXG4gICAgICAgIFtoaWRkZW5dPVwicHJpbnRpbmckIHwgYXN5bmNcIj5Hb2Vka2V1cmVuXG48L2J1dHRvbj5cblxuPGNhcm91c2VsLWNvbnRyb2xzIFtwYWdpbmF0aW9uU2l6ZV09XCJwYWdpbmF0aW9uU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgW2lhdmVyc2llaW5mb109XCJpYXZlcnNpZWluZm9cIlxuICAgICAgICAgICAgICAgICAgIFtzaWRlTmF2T3Blbl09XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2lkZU5hdk9wZW4kIHwgYXN5bmNcIj5cbjwvY2Fyb3VzZWwtY29udHJvbHM+XG4iXX0=
@@ -193,13 +193,13 @@ export class Ritdeel {
193
193
  getZichtbaarheidBuitenPaginatie() {
194
194
  return this.zichtbaarBuitenPaginatie;
195
195
  }
196
- bepaalTopologieElementen(signaleringsBeeldManagerService) {
197
- const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
196
+ bepaalTopologieElementen(sbmService) {
197
+ const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
198
198
  if (this.heeftVrijebaanInfo()) {
199
- const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
199
+ const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
200
200
  topoElementen.push(...vrijebaanTopoElementen);
201
201
  }
202
202
  this.topoElementen = topoElementen;
203
203
  }
204
204
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9tb2RlbC9yaXRkZWVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM1Qix5RUFBYSxDQUFBO0lBQ2IsMkdBQThCLENBQUE7SUFDOUIsdUdBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQUpXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJL0I7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUtoQixZQUE2QiwwQkFBMkQsRUFDckUsTUFBZSxFQUNOLFFBQWtCLEVBQzNCLG1DQUFvRSxFQUNwRSxZQUFvQixFQUNuQixhQUF1QztRQUw5QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQWlDO1FBQ3JFLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDTixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzNCLHdDQUFtQyxHQUFuQyxtQ0FBbUMsQ0FBaUM7UUFDcEUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBVG5ELHVCQUFrQixHQUE4QixFQUFFLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7UUFDL0MsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO0lBUXpDLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksQ0FBQyxXQUF5QjtRQUNsQyxNQUFNLGdDQUFnQyxHQUNsQyxJQUFJLCtCQUEr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QixDQUFDLCtCQUErQjtRQUNwRCxNQUFNLGFBQWEsR0FBRywrQkFBK0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxzQkFBc0IsR0FBRywrQkFBK0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ2pILGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkb21laW4sIEpzSmF2YVV0aWwsIHNiYmxhZCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBBY3RpZSwgQmV3ZWdpbmcgfSBmcm9tICcuLi9vcHRpbW8nO1xuaW1wb3J0IHsgQmV3ZWdpbmdVdGlscyB9IGZyb20gJy4uL3NlcnZpY2VzL2Jld2VnaW5nLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4vcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5cbmV4cG9ydCBlbnVtIFJpdGRlZWxaaWNodGJhYXJoZWlkIHtcbiAgICBaSUNIVEJBQVIgPSAxLFxuICAgIE9OWklDSFRCQUFSX0RPT1JfR0VCUlVJS0VSID0gMixcbiAgICBPTlpJQ0hUQkFBUl9ET09SX1NZU1RFRU0gPSAzXG59XG5cbmV4cG9ydCBjbGFzcyBSaXRkZWVsIHtcbiAgICBwcml2YXRlIGFsdGVybmF0aWV2ZVJvdXRlczogc2JibGFkLkFsdGVybmF0aXZlUm91dGVbXSA9IFtdO1xuICAgIHByaXZhdGUgemljaHRiYWFyaGVpZCA9IFJpdGRlZWxaaWNodGJhYXJoZWlkLlpJQ0hUQkFBUjtcbiAgICBwcml2YXRlIHppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaTogUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSxcbiAgICAgICAgICAgICAgICBwdWJsaWMgYWN0aWVzOiBBY3RpZVtdLFxuICAgICAgICAgICAgICAgIHB1YmxpYyByZWFkb25seSBiZXdlZ2luZzogQmV3ZWdpbmcsXG4gICAgICAgICAgICAgICAgcHVibGljIHZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpOiBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllLFxuICAgICAgICAgICAgICAgIHB1YmxpYyB2ZXJ2b2xnU3Bvb3I6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHRvcG9FbGVtZW50ZW46IHNiYmxhZC5Ub3BvbG9neUVsZW1lbnRbXSkge1xuICAgIH1cblxuICAgIGdldEFsdGVybmF0aWV2ZVJvdXRlcygpOiBzYmJsYWQuQWx0ZXJuYXRpdmVSb3V0ZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWx0ZXJuYXRpZXZlUm91dGVzO1xuICAgIH1cblxuICAgIGNvcHlNZXREd2FuZyhuaWV1d2VEd2FuZzogZG9tZWluLkR3YW5nKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IG5pZXV3ZVJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpID1cbiAgICAgICAgICAgIG5ldyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllKFxuICAgICAgICAgICAgICAgIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkucmlqd2VncGxhbiwgdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5yaWp3ZWcsIG5pZXV3ZUR3YW5nKTtcbiAgICAgICAgY29uc3QgY29weSA9IG5ldyBSaXRkZWVsKG5pZXV3ZVJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCBbXSwgdGhpcy5iZXdlZ2luZyxcbiAgICAgICAgICAgIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMudmVydm9sZ1Nwb29yLCB0aGlzLnRvcG9FbGVtZW50ZW4pO1xuICAgICAgICBjb3B5LmFsdGVybmF0aWV2ZVJvdXRlcyA9IHRoaXMuYWx0ZXJuYXRpZXZlUm91dGVzO1xuICAgICAgICBjb3B5LnppY2h0YmFhcmhlaWQgPSB0aGlzLnppY2h0YmFhcmhlaWQ7XG4gICAgICAgIGNvcHkuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllID0gdGhpcy56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU7XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cblxuICAgIGNvcHlNZXRBbHRlcm5hdGlldmVSb3V0ZXMoYWx0ZXJuYXRpZXZlUm91dGVzOiBzYmJsYWQuQWx0ZXJuYXRpdmVSb3V0ZVtdKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgUml0ZGVlbCh0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCB0aGlzLmFjdGllcywgdGhpcy5iZXdlZ2luZyxcbiAgICAgICAgICAgIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMudmVydm9sZ1Nwb29yLCB0aGlzLnRvcG9FbGVtZW50ZW4pO1xuICAgICAgICBjb3B5LmFsdGVybmF0aWV2ZVJvdXRlcyA9IGFsdGVybmF0aWV2ZVJvdXRlcztcbiAgICAgICAgY29weS56aWNodGJhYXJoZWlkID0gdGhpcy56aWNodGJhYXJoZWlkO1xuICAgICAgICBjb3B5LnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9IHRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuXG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cblxuICAgIGNvcHlNZXRBbHRlcm5hdGlldmVSb3V0ZXNab25kZXJBY3RpZXMoYWx0ZXJuYXRpZXZlUm91dGVzOiBzYmJsYWQuQWx0ZXJuYXRpdmVSb3V0ZVtdKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSB0aGlzLmNvcHlNZXRBbHRlcm5hdGlldmVSb3V0ZXMoYWx0ZXJuYXRpZXZlUm91dGVzKTtcbiAgICAgICAgaWYgKGNvcHkuYmV3ZWdpbmcpIHtcbiAgICAgICAgICAgIGNvcHkuYWN0aWVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuXG4gICAgY29weU1ldFppY2h0YmFhcmhlaWQoemljaHRiYWFyaGVpZDogUml0ZGVlbFppY2h0YmFhcmhlaWQpOiBSaXRkZWVsIHtcbiAgICAgICAgY29uc3QgY29weSA9IG5ldyBSaXRkZWVsKHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMuYWN0aWVzLCB0aGlzLmJld2VnaW5nLFxuICAgICAgICAgICAgdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSwgdGhpcy52ZXJ2b2xnU3Bvb3IsIHRoaXMudG9wb0VsZW1lbnRlbik7XG4gICAgICAgIGNvcHkuYWx0ZXJuYXRpZXZlUm91dGVzID0gdGhpcy5hbHRlcm5hdGlldmVSb3V0ZXM7XG4gICAgICAgIGNvcHkuemljaHRiYWFyaGVpZCA9IHppY2h0YmFhcmhlaWQ7XG4gICAgICAgIGNvcHkuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllID0gdGhpcy56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU7XG5cbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuXG4gICAgY29weU1ldFppY2h0YmFhcmhlaWRFblBhZ2luYXRpZSh6aWNodGJhYXJoZWlkOiBSaXRkZWVsWmljaHRiYWFyaGVpZCwgemljaHRiYWFyQnVpdGVuUGFnaW5hdGllOiBib29sZWFuKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSB0aGlzLmNvcHlNZXRaaWNodGJhYXJoZWlkKHppY2h0YmFhcmhlaWQpO1xuICAgICAgICBjb3B5LnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9IHppY2h0YmFhckJ1aXRlblBhZ2luYXRpZTtcblxuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG5cbiAgICBjb3B5TWV0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZSh6aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU6IGJvb2xlYW4pOiBSaXRkZWVsIHtcbiAgICAgICAgY29uc3QgY29weSA9IG5ldyBSaXRkZWVsKHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMuYWN0aWVzLCB0aGlzLmJld2VnaW5nLFxuICAgICAgICAgICAgdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSwgdGhpcy52ZXJ2b2xnU3Bvb3IsIHRoaXMudG9wb0VsZW1lbnRlbik7XG4gICAgICAgIGNvcHkuYWx0ZXJuYXRpZXZlUm91dGVzID0gdGhpcy5hbHRlcm5hdGlldmVSb3V0ZXM7XG4gICAgICAgIGNvcHkuemljaHRiYWFyaGVpZCA9IHRoaXMuemljaHRiYWFyaGVpZDtcbiAgICAgICAgY29weS56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWUgPSB6aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU7XG5cbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuXG4gICAgZXF1YWxzKG90aGVyOiBSaXRkZWVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghb3RoZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3RoZXIucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkgPT09IHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmk7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbigpOiBkb21laW4uUmlqd2VncGxhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLnJpandlZ3BsYW47XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VnKCk6IGRvbWVpbi5SaWp3ZWcge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5yaWp3ZWc7XG4gICAgfVxuXG4gICAgZ2V0RHdhbmcoKTogZG9tZWluLkR3YW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZHdhbmc7XG4gICAgfVxuXG4gICAgZ2V0Um91dGUoKTogZG9tZWluLlJvdXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0Um91dGUoKTtcbiAgICB9XG5cbiAgICBnZXRTZWluZW4oKTogZG9tZWluLlNlaW5bXSB7XG4gICAgICAgIGNvbnN0IHNlaW5lbjogZG9tZWluLlNlaW5bXSA9IEpzSmF2YVV0aWwubGlzdFRvQXJyYXkodGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXRSb3V0ZSgpLmdldFNlaW5lbigpKTtcbiAgICAgICAgaWYgKHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlaW46IGRvbWVpbi5TZWluW10gPSBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0Um91dGUoKS5nZXRTZWluZW4oKSk7XG4gICAgICAgICAgICBzZWluZW4ucHVzaCguLi5zZWluKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VpbmVuO1xuICAgIH1cblxuICAgIGdldFZhblBybFNwb29yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmdldFZhblBybFNwb29yKCk7XG4gICAgfVxuXG4gICAgZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy52ZXJ2b2xnU3Bvb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnZvbGdTcG9vcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmdldE5hYXJQcmxTcG9vcigpO1xuICAgIH1cblxuICAgIGdldE5hYXJQcmxTcG9vcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXROYWFyUHJsU3Bvb3IoKTtcbiAgICB9XG5cbiAgICBnZXROYWFyUHJsU3Bvb3JUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXR2YWwgPSB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmdldE5hYXJQcmxTcG9vcigpO1xuICAgICAgICBpZiAodGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSkge1xuICAgICAgICAgICAgcmV0dmFsICs9ICdfZSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmVydm9sZ1Nwb29yKSB7XG4gICAgICAgICAgICByZXR2YWwgKz0gJygnICsgdGhpcy52ZXJ2b2xnU3Bvb3IgKyAnKSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldHZhbDtcbiAgICB9XG5cbiAgICBnZXRWcmlqZWJhYW5SaWp3ZWdwbGFuKCk6IGRvbWVpbi5SaWp3ZWdwbGFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkucmlqd2VncGxhbjtcbiAgICB9XG5cbiAgICBnZXRWcmlqZWJhYW5SaWp3ZWcoKTogZG9tZWluLlJpandlZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLnJpandlZztcbiAgICB9XG5cbiAgICBnZXRWcmlqZWJhYW5Ed2FuZygpOiBkb21laW4uRHdhbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5kd2FuZztcbiAgICB9XG5cbiAgICBnZXREd2FuZ051bW1lcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXREd2FuZ051bW1lcigpO1xuICAgIH1cblxuICAgIGdldFppY2h0YmFhcmhlaWQoKTogUml0ZGVlbFppY2h0YmFhcmhlaWQge1xuICAgICAgICByZXR1cm4gdGhpcy56aWNodGJhYXJoZWlkO1xuICAgIH1cblxuICAgIGlzWmljaHRiYWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy56aWNodGJhYXJoZWlkID09PSBSaXRkZWVsWmljaHRiYWFyaGVpZC5aSUNIVEJBQVI7XG4gICAgfVxuXG4gICAgaXNaaWNodGJhYXJCaW5uZW5XaW5kb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzWmljaHRiYWFyKCkgJiYgIXRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuICAgIH1cblxuICAgIGlzQmlubmVuV2luZG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuemljaHRiYWFyaGVpZCA9PT0gUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSIHx8XG4gICAgICAgICAgICAgICAgdGhpcy56aWNodGJhYXJoZWlkID09PSBSaXRkZWVsWmljaHRiYWFyaGVpZC5PTlpJQ0hUQkFBUl9ET09SX0dFQlJVSUtFUilcbiAgICAgICAgICAgICYmIHRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllID09PSBmYWxzZTtcbiAgICB9XG5cbiAgICBpc05pZXRCZXNjaGlrYmFhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuemljaHRiYWFyaGVpZCA9PT0gUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9TWVNURUVNO1xuICAgIH1cblxuICAgIGlzT256aWNodGJhYXJEb29yR2VicnVpa2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy56aWNodGJhYXJoZWlkID09PSBSaXRkZWVsWmljaHRiYWFyaGVpZC5PTlpJQ0hUQkFBUl9ET09SX0dFQlJVSUtFUjtcbiAgICB9XG5cbiAgICBpc05pZXV3KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYmV3ZWdpbmcgfHwgdGhpcy5iZXdlZ2luZy53aWp6aWdTdGF0dXMgPT09IEJld2VnaW5nVXRpbHMuVE9FR0VWT0VHRDtcbiAgICB9XG5cbiAgICBnZXRQcGxnKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLnJpandlZ3BsYW4uZ2V0UFBMRygpO1xuICAgIH1cblxuICAgIGdldFBwbGdTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0VmFuU2VpblBwbGcoKSA9PT0gdGhpcy5nZXROYWFyU2VpblBwbGcoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFuU2VpblBwbGcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFZhblNlaW5QcGxnKCkgKyAnIC8gJyArIHRoaXMuZ2V0TmFhclNlaW5QcGxnKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoZWVmdFZyaWplYmFhbkluZm8oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpICYmICEhdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5kd2FuZztcbiAgICB9XG5cbiAgICBnZXRWcmlqZWJhYW5QcmxSb3V0ZSgpOiBkb21laW4uUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXRSb3V0ZSgpO1xuICAgIH1cblxuICAgIGdldFRvcG9sb2dpZUVsZW1lbnRlbigpOiBzYmJsYWQuVG9wb2xvZ3lFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy50b3BvRWxlbWVudGVuO1xuICAgIH1cblxuICAgIGdldEJld2VnaW5nSWQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuYmV3ZWdpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiAnJyArIHRoaXMuYmV3ZWdpbmcuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGdldFRyZWluTnVtbWVyKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmJld2VnaW5nPy50cmVpbk51bW1lcikge1xuICAgICAgICAgICAgcmV0dXJuICcnICsgdGhpcy5iZXdlZ2luZy50cmVpbk51bW1lcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0VmFuU2VpblBwbGcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmV3ZWdpbmcgPyB0aGlzLmJld2VnaW5nLnZhblNlaW5QcGxnIDogdGhpcy5nZXRSb3V0ZSgpLmdldEJlZ2luU2VpbigpLmdldFBQTEcoKTtcbiAgICB9XG5cbiAgICBnZXROYWFyU2VpblBwbGcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmV3ZWdpbmcgPyB0aGlzLmJld2VnaW5nLm5hYXJTZWluUHBsZyA6IHRoaXMuZ2V0Um91dGUoKS5nZXRFaW5kU2VpbigpLmdldFBQTEcoKTtcbiAgICB9XG5cbiAgICBnZXRWYW5TZWluTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3V0ZSgpLmdldEJlZ2luU2VpbigpLmdldE5hbWUoKTtcbiAgICB9XG5cbiAgICBnZXROYWFyU2Vpbk5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um91dGUoKS5nZXRFaW5kU2VpbigpLmdldE5hbWUoKTtcbiAgICB9XG5cbiAgICBnZXRaaWNodGJhYXJoZWlkQnVpdGVuUGFnaW5hdGllKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU7XG4gICAgfVxuXG4gICAgYmVwYWFsVG9wb2xvZ2llRWxlbWVudGVuKHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9wb0VsZW1lbnRlbiA9IHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UuYmVwYWFsUm91dGVFbGVtZW50ZW4odGhpcy5nZXRSb3V0ZSgpKTtcblxuICAgICAgICBpZiAodGhpcy5oZWVmdFZyaWplYmFhbkluZm8oKSkge1xuICAgICAgICAgICAgY29uc3QgdnJpamViYWFuVG9wb0VsZW1lbnRlbiA9IHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UuYmVwYWFsUm91dGVFbGVtZW50ZW4odGhpcy5nZXRWcmlqZWJhYW5QcmxSb3V0ZSgpKTtcbiAgICAgICAgICAgIHRvcG9FbGVtZW50ZW4ucHVzaCguLi52cmlqZWJhYW5Ub3BvRWxlbWVudGVuKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRvcG9FbGVtZW50ZW4gPSB0b3BvRWxlbWVudGVuO1xuICAgIH1cbn1cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9tb2RlbC9yaXRkZWVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM1Qix5RUFBYSxDQUFBO0lBQ2IsMkdBQThCLENBQUE7SUFDOUIsdUdBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQUpXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJL0I7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUtoQixZQUE2QiwwQkFBMkQsRUFDckUsTUFBZSxFQUNOLFFBQThCLEVBQ3ZDLG1DQUFnRixFQUNoRixZQUFnQyxFQUMvQixhQUF1QztRQUw5QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQWlDO1FBQ3JFLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDTixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN2Qyx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQTZDO1FBQ2hGLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFUbkQsdUJBQWtCLEdBQThCLEVBQUUsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztRQUMvQyw2QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFRekMsQ0FBQztJQUVELHFCQUFxQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQXlCO1FBQ2xDLE1BQU0sZ0NBQWdDLEdBQ2xDLElBQUksK0JB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QUF3QixDQUFDLFVBQTJDO1FBQ2hFLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV2RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUM1RixhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZG9tZWluLCBKc0phdmFVdGlsLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgQWN0aWUsIEJld2VnaW5nIH0gZnJvbSAnLi4vb3B0aW1vJztcbmltcG9ydCB7IEJld2VnaW5nVXRpbHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfSBmcm9tICcuL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuXG5leHBvcnQgZW51bSBSaXRkZWVsWmljaHRiYWFyaGVpZCB7XG4gICAgWklDSFRCQUFSID0gMSxcbiAgICBPTlpJQ0hUQkFBUl9ET09SX0dFQlJVSUtFUiA9IDIsXG4gICAgT05aSUNIVEJBQVJfRE9PUl9TWVNURUVNID0gM1xufVxuXG5leHBvcnQgY2xhc3MgUml0ZGVlbCB7XG4gICAgcHJpdmF0ZSBhbHRlcm5hdGlldmVSb3V0ZXM6IHNiYmxhZC5BbHRlcm5hdGl2ZVJvdXRlW10gPSBbXTtcbiAgICBwcml2YXRlIHppY2h0YmFhcmhlaWQgPSBSaXRkZWVsWmljaHRiYWFyaGVpZC5aSUNIVEJBQVI7XG4gICAgcHJpdmF0ZSB6aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmk6IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUsXG4gICAgICAgICAgICAgICAgcHVibGljIGFjdGllczogQWN0aWVbXSxcbiAgICAgICAgICAgICAgICBwdWJsaWMgcmVhZG9ubHkgYmV3ZWdpbmc6IEJld2VnaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHB1YmxpYyB2cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaTogUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmVydm9sZ1Nwb29yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB0b3BvRWxlbWVudGVuOiBzYmJsYWQuVG9wb2xvZ3lFbGVtZW50W10pIHtcbiAgICB9XG5cbiAgICBnZXRBbHRlcm5hdGlldmVSb3V0ZXMoKTogc2JibGFkLkFsdGVybmF0aXZlUm91dGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsdGVybmF0aWV2ZVJvdXRlcztcbiAgICB9XG5cbiAgICBjb3B5TWV0RHdhbmcobmlldXdlRHdhbmc6IGRvbWVpbi5Ed2FuZyk6IFJpdGRlZWwge1xuICAgICAgICBjb25zdCBuaWV1d2VSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSA9XG4gICAgICAgICAgICBuZXcgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZShcbiAgICAgICAgICAgICAgICB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLnJpandlZ3BsYW4sIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkucmlqd2VnLCBuaWV1d2VEd2FuZyk7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgUml0ZGVlbChuaWV1d2VSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSwgW10sIHRoaXMuYmV3ZWdpbmcsXG4gICAgICAgICAgICB0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCB0aGlzLnZlcnZvbGdTcG9vciwgdGhpcy50b3BvRWxlbWVudGVuKTtcbiAgICAgICAgY29weS5hbHRlcm5hdGlldmVSb3V0ZXMgPSB0aGlzLmFsdGVybmF0aWV2ZVJvdXRlcztcbiAgICAgICAgY29weS56aWNodGJhYXJoZWlkID0gdGhpcy56aWNodGJhYXJoZWlkO1xuICAgICAgICBjb3B5LnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9IHRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG5cbiAgICBjb3B5TWV0QWx0ZXJuYXRpZXZlUm91dGVzKGFsdGVybmF0aWV2ZVJvdXRlczogc2JibGFkLkFsdGVybmF0aXZlUm91dGVbXSk6IFJpdGRlZWwge1xuICAgICAgICBjb25zdCBjb3B5ID0gbmV3IFJpdGRlZWwodGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSwgdGhpcy5hY3RpZXMsIHRoaXMuYmV3ZWdpbmcsXG4gICAgICAgICAgICB0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCB0aGlzLnZlcnZvbGdTcG9vciwgdGhpcy50b3BvRWxlbWVudGVuKTtcbiAgICAgICAgY29weS5hbHRlcm5hdGlldmVSb3V0ZXMgPSBhbHRlcm5hdGlldmVSb3V0ZXM7XG4gICAgICAgIGNvcHkuemljaHRiYWFyaGVpZCA9IHRoaXMuemljaHRiYWFyaGVpZDtcbiAgICAgICAgY29weS56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWUgPSB0aGlzLnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZTtcblxuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG5cbiAgICBjb3B5TWV0QWx0ZXJuYXRpZXZlUm91dGVzWm9uZGVyQWN0aWVzKGFsdGVybmF0aWV2ZVJvdXRlczogc2JibGFkLkFsdGVybmF0aXZlUm91dGVbXSk6IFJpdGRlZWwge1xuICAgICAgICBjb25zdCBjb3B5ID0gdGhpcy5jb3B5TWV0QWx0ZXJuYXRpZXZlUm91dGVzKGFsdGVybmF0aWV2ZVJvdXRlcyk7XG4gICAgICAgIGlmIChjb3B5LmJld2VnaW5nKSB7XG4gICAgICAgICAgICBjb3B5LmFjdGllcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cblxuICAgIGNvcHlNZXRaaWNodGJhYXJoZWlkKHppY2h0YmFhcmhlaWQ6IFJpdGRlZWxaaWNodGJhYXJoZWlkKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgUml0ZGVlbCh0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCB0aGlzLmFjdGllcywgdGhpcy5iZXdlZ2luZyxcbiAgICAgICAgICAgIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMudmVydm9sZ1Nwb29yLCB0aGlzLnRvcG9FbGVtZW50ZW4pO1xuICAgICAgICBjb3B5LmFsdGVybmF0aWV2ZVJvdXRlcyA9IHRoaXMuYWx0ZXJuYXRpZXZlUm91dGVzO1xuICAgICAgICBjb3B5LnppY2h0YmFhcmhlaWQgPSB6aWNodGJhYXJoZWlkO1xuICAgICAgICBjb3B5LnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9IHRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuXG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cblxuICAgIGNvcHlNZXRaaWNodGJhYXJoZWlkRW5QYWdpbmF0aWUoemljaHRiYWFyaGVpZDogUml0ZGVlbFppY2h0YmFhcmhlaWQsIHppY2h0YmFhckJ1aXRlblBhZ2luYXRpZTogYm9vbGVhbik6IFJpdGRlZWwge1xuICAgICAgICBjb25zdCBjb3B5ID0gdGhpcy5jb3B5TWV0WmljaHRiYWFyaGVpZCh6aWNodGJhYXJoZWlkKTtcbiAgICAgICAgY29weS56aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWUgPSB6aWNodGJhYXJCdWl0ZW5QYWdpbmF0aWU7XG5cbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuXG4gICAgY29weU1ldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoemljaHRiYWFyQnVpdGVuUGFnaW5hdGllOiBib29sZWFuKTogUml0ZGVlbCB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgUml0ZGVlbCh0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLCB0aGlzLmFjdGllcywgdGhpcy5iZXdlZ2luZyxcbiAgICAgICAgICAgIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmksIHRoaXMudmVydm9sZ1Nwb29yLCB0aGlzLnRvcG9FbGVtZW50ZW4pO1xuICAgICAgICBjb3B5LmFsdGVybmF0aWV2ZVJvdXRlcyA9IHRoaXMuYWx0ZXJuYXRpZXZlUm91dGVzO1xuICAgICAgICBjb3B5LnppY2h0YmFhcmhlaWQgPSB0aGlzLnppY2h0YmFhcmhlaWQ7XG4gICAgICAgIGNvcHkuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllID0gemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuXG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cblxuICAgIGVxdWFscyhvdGhlcjogUml0ZGVlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW90aGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG90aGVyLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpID09PSB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpO1xuICAgIH1cblxuICAgIGdldFJpandlZ3BsYW4oKTogZG9tZWluLlJpandlZ3BsYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5yaWp3ZWdwbGFuO1xuICAgIH1cblxuICAgIGdldFJpandlZygpOiBkb21laW4uUmlqd2VnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkucmlqd2VnO1xuICAgIH1cblxuICAgIGdldER3YW5nKCk6IGRvbWVpbi5Ed2FuZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmR3YW5nO1xuICAgIH1cblxuICAgIGdldFJvdXRlKCk6IGRvbWVpbi5Sb3V0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmdldFJvdXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0U2VpbmVuKCk6IGRvbWVpbi5TZWluW10ge1xuICAgICAgICBjb25zdCBzZWluZW46IGRvbWVpbi5TZWluW10gPSBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0Um91dGUoKS5nZXRTZWluZW4oKSk7XG4gICAgICAgIGlmICh0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWluOiBkb21laW4uU2VpbltdID0gSnNKYXZhVXRpbC5saXN0VG9BcnJheSh0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLmdldFJvdXRlKCkuZ2V0U2VpbmVuKCkpO1xuICAgICAgICAgICAgc2VpbmVuLnB1c2goLi4uc2Vpbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlaW5lbjtcbiAgICB9XG5cbiAgICBnZXRWYW5QcmxTcG9vcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXRWYW5QcmxTcG9vcigpO1xuICAgIH1cblxuICAgIGdldFZpc3VlZWxOYWFyUHJsU3Bvb3IoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmVydm9sZ1Nwb29yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52ZXJ2b2xnU3Bvb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXROYWFyUHJsU3Bvb3IoKTtcbiAgICB9XG5cbiAgICBnZXROYWFyUHJsU3Bvb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0TmFhclBybFNwb29yKCk7XG4gICAgfVxuXG4gICAgZ2V0TmFhclBybFNwb29yVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmV0dmFsID0gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5nZXROYWFyUHJsU3Bvb3IoKTtcbiAgICAgICAgaWYgKHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkpIHtcbiAgICAgICAgICAgIHJldHZhbCArPSAnX2UnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZlcnZvbGdTcG9vcikge1xuICAgICAgICAgICAgcmV0dmFsICs9ICcoJyArIHRoaXMudmVydm9sZ1Nwb29yICsgJyknO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXR2YWw7XG4gICAgfVxuXG4gICAgZ2V0VnJpamViYWFuUmlqd2VncGxhbigpOiBkb21laW4uUmlqd2VncGxhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZyaWplYmFhblJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpLnJpandlZ3BsYW47XG4gICAgfVxuXG4gICAgZ2V0VnJpamViYWFuUmlqd2VnKCk6IGRvbWVpbi5SaWp3ZWcge1xuICAgICAgICByZXR1cm4gdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5yaWp3ZWc7XG4gICAgfVxuXG4gICAgZ2V0VnJpamViYWFuRHdhbmcoKTogZG9tZWluLkR3YW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZHdhbmc7XG4gICAgfVxuXG4gICAgZ2V0RHdhbmdOdW1tZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0RHdhbmdOdW1tZXIoKTtcbiAgICB9XG5cbiAgICBnZXRaaWNodGJhYXJoZWlkKCk6IFJpdGRlZWxaaWNodGJhYXJoZWlkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuemljaHRiYWFyaGVpZDtcbiAgICB9XG5cbiAgICBpc1ppY2h0YmFhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuemljaHRiYWFyaGVpZCA9PT0gUml0ZGVlbFppY2h0YmFhcmhlaWQuWklDSFRCQUFSO1xuICAgIH1cblxuICAgIGlzWmljaHRiYWFyQmlubmVuV2luZG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1ppY2h0YmFhcigpICYmICF0aGlzLnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZTtcbiAgICB9XG5cbiAgICBpc0Jpbm5lbldpbmRvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnppY2h0YmFhcmhlaWQgPT09IFJpdGRlZWxaaWNodGJhYXJoZWlkLlpJQ0hUQkFBUiB8fFxuICAgICAgICAgICAgICAgIHRoaXMuemljaHRiYWFyaGVpZCA9PT0gUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9HRUJSVUlLRVIpXG4gICAgICAgICAgICAmJiB0aGlzLnppY2h0YmFhckJ1aXRlblBhZ2luYXRpZSA9PT0gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNOaWV0QmVzY2hpa2JhYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnppY2h0YmFhcmhlaWQgPT09IFJpdGRlZWxaaWNodGJhYXJoZWlkLk9OWklDSFRCQUFSX0RPT1JfU1lTVEVFTTtcbiAgICB9XG5cbiAgICBpc09uemljaHRiYWFyRG9vckdlYnJ1aWtlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuemljaHRiYWFyaGVpZCA9PT0gUml0ZGVlbFppY2h0YmFhcmhlaWQuT05aSUNIVEJBQVJfRE9PUl9HRUJSVUlLRVI7XG4gICAgfVxuXG4gICAgaXNOaWV1dygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmJld2VnaW5nIHx8IHRoaXMuYmV3ZWdpbmcud2lqemlnU3RhdHVzID09PSBCZXdlZ2luZ1V0aWxzLlRPRUdFVk9FR0Q7XG4gICAgfVxuXG4gICAgZ2V0UHBsZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaS5yaWp3ZWdwbGFuLmdldFBQTEcoKTtcbiAgICB9XG5cbiAgICBnZXRQcGxnU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmdldFZhblNlaW5QcGxnKCkgPT09IHRoaXMuZ2V0TmFhclNlaW5QcGxnKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFZhblNlaW5QcGxnKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRWYW5TZWluUHBsZygpICsgJyAvICcgKyB0aGlzLmdldE5hYXJTZWluUHBsZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGVlZnRWcmlqZWJhYW5JbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52cmlqZWJhYW5SaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaSAmJiAhIXRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZHdhbmc7XG4gICAgfVxuXG4gICAgZ2V0VnJpamViYWFuUHJsUm91dGUoKTogZG9tZWluLlJvdXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudnJpamViYWFuUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmkuZ2V0Um91dGUoKTtcbiAgICB9XG5cbiAgICBnZXRUb3BvbG9naWVFbGVtZW50ZW4oKTogc2JibGFkLlRvcG9sb2d5RWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9wb0VsZW1lbnRlbjtcbiAgICB9XG5cbiAgICBnZXRCZXdlZ2luZ0lkKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmJld2VnaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyB0aGlzLmJld2VnaW5nLmlkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBnZXRUcmVpbk51bW1lcigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5iZXdlZ2luZz8udHJlaW5OdW1tZXIpIHtcbiAgICAgICAgICAgIHJldHVybiAnJyArIHRoaXMuYmV3ZWdpbmcudHJlaW5OdW1tZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGdldFZhblNlaW5QcGxnKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmJld2VnaW5nID8gdGhpcy5iZXdlZ2luZy52YW5TZWluUHBsZyA6IHRoaXMuZ2V0Um91dGUoKS5nZXRCZWdpblNlaW4oKS5nZXRQUExHKCk7XG4gICAgfVxuXG4gICAgZ2V0TmFhclNlaW5QcGxnKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmJld2VnaW5nID8gdGhpcy5iZXdlZ2luZy5uYWFyU2VpblBwbGcgOiB0aGlzLmdldFJvdXRlKCkuZ2V0RWluZFNlaW4oKS5nZXRQUExHKCk7XG4gICAgfVxuXG4gICAgZ2V0VmFuU2Vpbk5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um91dGUoKS5nZXRCZWdpblNlaW4oKS5nZXROYW1lKCk7XG4gICAgfVxuXG4gICAgZ2V0TmFhclNlaW5OYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvdXRlKCkuZ2V0RWluZFNlaW4oKS5nZXROYW1lKCk7XG4gICAgfVxuXG4gICAgZ2V0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuemljaHRiYWFyQnVpdGVuUGFnaW5hdGllO1xuICAgIH1cblxuICAgIGJlcGFhbFRvcG9sb2dpZUVsZW1lbnRlbihzYm1TZXJ2aWNlOiBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvcG9FbGVtZW50ZW4gPSBzYm1TZXJ2aWNlLmJlcGFhbFJvdXRlRWxlbWVudGVuKHRoaXMuZ2V0Um91dGUoKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGVlZnRWcmlqZWJhYW5JbmZvKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZyaWplYmFhblRvcG9FbGVtZW50ZW4gPSBzYm1TZXJ2aWNlLmJlcGFhbFJvdXRlRWxlbWVudGVuKHRoaXMuZ2V0VnJpamViYWFuUHJsUm91dGUoKSk7XG4gICAgICAgICAgICB0b3BvRWxlbWVudGVuLnB1c2goLi4udnJpamViYWFuVG9wb0VsZW1lbnRlbik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b3BvRWxlbWVudGVuID0gdG9wb0VsZW1lbnRlbjtcbiAgICB9XG59XG4iXX0=
@@ -1,18 +1,21 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { MessageComponent } from './atomic-components/message';
4
3
  import { ImxViewerModule } from '@loxia/imx-viewer';
5
4
  import { RijwegenModule } from '@loxia/rijwegen';
6
5
  import { EffectsModule } from '@ngrx/effects';
7
6
  import { StoreModule } from '@ngrx/store';
8
7
  import { ResourceModule } from '@ngx-resource/handler-ngx-http';
8
+ import { MessageComponent } from './atomic-components/message';
9
9
  import { MessagesComponent } from './atomic-components/messages/messages.component';
10
10
  import { OverlayComponent } from './atomic-components/overlay/overlay.component';
11
11
  import { ProgressIndicatorComponent } from './atomic-components/progress-indicator/progress-indicator.component';
12
+ import { CarouselControlsComponent } from './components/carousel-controls/carousel-controls.component';
12
13
  import { MstviewerComponent } from './components/mstviewer/mstviewer.component';
13
14
  import { RitdelenLijstComponent } from './components/ritdelen-lijst/ritdelen-lijst.component';
14
15
  import { RitdelenViewComponent } from './components/ritdelen-view/ritdelen-view.component';
15
16
  import { RpeComponent } from './components/rpe/rpe.component';
17
+ import { SvgVisualisatieComponent } from './components/svg-visualisatie/svg-visualisatie.component';
18
+ import { ViewerControlsComponent } from './components/viewer-controls/viewer-controls.component';
16
19
  import { MstLoggingResource } from './resources/mstlogging.resource';
17
20
  import { SignaleringsbeeldInfoResource } from './resources/signaleringsbeeldinfo.resource';
18
21
  import { BewegingUtils } from './services/beweging-utils.service';
@@ -34,9 +37,6 @@ import { storeReducers } from './state/mst-editor-state';
34
37
  import { ActieHelper } from './util/actie-helper';
35
38
  import { LoggingHelper } from './util/logging-helper';
36
39
  import { ZoneUtil } from './util/zone-util';
37
- import { CarouselControlsComponent } from './components/carousel-controls/carousel-controls.component';
38
- import { ViewerControlsComponent } from './components/viewer-controls/viewer-controls.component';
39
- import { SvgVisualisatieComponent } from './components/svg-visualisatie/svg-visualisatie.component';
40
40
  import * as i0 from "@angular/core";
41
41
  import * as i1 from "./services/editor.service";
42
42
  import * as i2 from "./util/zone-util";
@@ -75,6 +75,7 @@ export class MstViewerModule {
75
75
  constructor(service, zoneUtil) {
76
76
  this.service = service;
77
77
  // maak de EditorService toegankelijk voor GWT code
78
+ // @ts-ignore
78
79
  window['rpe'] = {
79
80
  EditorService: zoneUtil.proxy(service)
80
81
  };
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
140
141
  ]
141
142
  }]
142
143
  }], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.ZoneUtil }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0LXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbXN0LXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztB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QWMsMEVBaUNWLGtCQUFrQjsrR0FlYixlQUFlLGFBYmI7WUFDUCxRQUFRO1lBQ1IsNkJBQTZCO1lBQzdCLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsK0JBQStCO1lBQy9CLGVBQWU7WUFDZixhQUFhO1lBQ2IsV0FBVztZQUNYLGFBQWE7WUFDYix3QkFBd0I7U0FDM0IsWUE1QkQsT0FBTzs7MkZBOEJFLGVBQWU7a0JBL0IzQixRQUFRO21CQUFDO29CQUNOLE9BQU87b0JBQ1AsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsUUFBUTt3QkFDUiw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYiwrQkFBK0I7d0JBQy9CLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGFBQWE7d0JBQ2Isd0JBQXdCO3FCQUMzQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJNb2R1bGUgfSBmcm9tICdAbG94aWEvaW14LXZpZXdlcic7XG5pbXBvcnQgeyBSaWp3ZWdlbk1vZHVsZSB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFJlc291cmNlTW9kdWxlIH0gZnJvbSAnQG5neC1yZXNvdXJjZS9oYW5kbGVyLW5neC1odHRwJztcbmltcG9ydCB7IE1lc3NhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi9hdG9taWMtY29tcG9uZW50cy9tZXNzYWdlcy9tZXNzYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXN0dmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21zdHZpZXdlci9tc3R2aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJpdGRlbGVuTGlqc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJpdGRlbGVuVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaXRkZWxlbi12aWV3L3JpdGRlbGVuLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFJwZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ycGUvcnBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNc3RMb2dnaW5nUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlcy9tc3Rsb2dnaW5nLnJlc291cmNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc2JlZWxkSW5mb1Jlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IEJld2VnaW5nVXRpbHMgfSBmcm9tICcuL3NlcnZpY2VzL2Jld2VnaW5nLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmV3ZWdpbmdWZXJyaWprZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iZXdlZ2luZy12ZXJyaWprZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBSaXRMZXplclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3JpdC1sZXplci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVwYWFsT25nZXBsYW5kZUFjdGllc0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2JlcGFhbC1vbmdlcGxhbmRlLWFjdGllcy5lZmZlY3QnO1xuaW1wb3J0IHsgQmVwYWFsU2JJbmZvc0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2JlcGFhbC1zYi1pbmZvcy5lZmZlY3QnO1xuaW1wb3J0IHsgQmV3ZWdpbmdJbnZvZWdlbkVmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2Jld2VnaW5nLWludm9lZ2VuLmVmZmVjdCc7XG5pbXBvcnQgeyBEZWxldGVPbmdlcGxhbmRlQWN0aWVFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9kZWxldGUtb25nZXBsYW5kZS1hY3RpZS5lZmZlY3QnO1xuaW1wb3J0IHsgRm9jdXNFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9mb2N1cy1lZmZlY3QnO1xuaW1wb3J0IHsgTGFhZFJvdXRlRmlsZXNFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9sYWFkLXJvdXRlLWZpbGVzLmVmZmVjdCc7XG5pbXBvcnQgeyBMYWFkU2lnbmFsZXJpbmdzYmVlbGRlbkVmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2xhYWQtc2lnbmFsZXJpbmdzYmVlbGRlbi5lZmZlY3QnO1xuaW1wb3J0IHsgUml0R29lZGtldXJlbkVmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L3JpdC1nb2Vka2V1cmVuLmVmZmVjdCc7XG5pbXBvcnQgeyBSaXRkZWxlbkVmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L3JpdGRlbGVuLmVmZmVjdCc7XG5pbXBvcnQgeyBTdmdWaWV3RWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3Qvc3ZnLXZpZXcuZWZmZWN0JztcbmltcG9ydCB7IHN0b3JlUmVkdWNlcnMgfSBmcm9tICcuL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IHsgQWN0aWVIZWxwZXIgfSBmcm9tICcuL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IExvZ2dpbmdIZWxwZXIgfSBmcm9tICcuL3V0aWwvbG9nZ2luZy1oZWxwZXInO1xuaW1wb3J0IHsgWm9uZVV0aWwgfSBmcm9tICcuL3V0aWwvem9uZS11dGlsJztcbmltcG9ydCB7IENhcm91c2VsQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwtY29udHJvbHMvY2Fyb3VzZWwtY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlckNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ZpZXdlci1jb250cm9scy92aWV3ZXItY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFNUT1JFX0NPTkZJRyA9IHtcbiAgICBydW50aW1lQ2hlY2tzOiB7XG4gICAgICAgIHN0cmljdFN0YXRlSW1tdXRhYmlsaXR5OiBmYWxzZSxcbiAgICAgICAgc3RyaWN0QWN0aW9uSW1tdXRhYmlsaXR5OiBmYWxzZSxcbiAgICAgICAgLy8gc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6IHRydWUsIC8vIGdlZWZ0IG5vZyBydW50aW1lIGVycm9ycywgem91IG1vb2kgemlqbiBvbSBhYW4gdGUga3VubmVuIHpldHRlblxuICAgICAgICAvLyBzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6IHRydWUsIC8vIGdlZWZ0IG5vZyBydW50aW1lIGVycm9ycywgem91IG1vb2kgemlqbiBvbSBhYW4gdGUga3VubmVuIHpldHRlblxuICAgICAgICBzdHJpY3RBY3Rpb25UeXBlVW5pcXVlbmVzczogZmFsc2VcbiAgICB9XG59O1xuXG5jb25zdCBpbXBvcnRzID0gW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbXhWaWV3ZXJNb2R1bGUsXG4gICAgUmlqd2VnZW5Nb2R1bGUsXG4gICAgUmVzb3VyY2VNb2R1bGUuZm9yUm9vdCgpLFxuICAgIFN0b3JlTW9kdWxlLmZvclJvb3QoIHN0b3JlUmVkdWNlcnMsIFNUT1JFX0NPTkZJRyksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JSb290KFtcbiAgICAgICAgRGVsZXRlT25nZXBsYW5kZUFjdGllRWZmZWN0LFxuICAgICAgICBMYWFkU2lnbmFsZXJpbmdzYmVlbGRlbkVmZmVjdCxcbiAgICAgICAgTGFhZFJvdXRlRmlsZXNFZmZlY3QsXG4gICAgICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXNFZmZlY3QsXG4gICAgICAgIEJld2VnaW5nSW52b2VnZW5FZmZlY3QsXG4gICAgICAgIFJpdGRlbGVuRWZmZWN0LFxuICAgICAgICBSaXRHb2Vka2V1cmVuRWZmZWN0LFxuICAgICAgICBTdmdWaWV3RWZmZWN0LFxuICAgICAgICBCZXBhYWxTYkluZm9zRWZmZWN0LFxuICAgICAgICBGb2N1c0VmZmVjdFxuICAgIF0pXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHMsXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1lc3NhZ2VDb21wb25lbnQsXG4gICAgICAgIE1zdHZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgT3ZlcmxheUNvbXBvbmVudCxcbiAgICAgICAgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgICAgIFJwZUNvbXBvbmVudCxcbiAgICAgICAgUml0ZGVsZW5MaWpzdENvbXBvbmVudCxcbiAgICAgICAgUml0ZGVsZW5WaWV3Q29tcG9uZW50LFxuICAgICAgICBDYXJvdXNlbENvbnRyb2xzQ29tcG9uZW50LFxuICAgICAgICBWaWV3ZXJDb250cm9sc0NvbXBvbmVudCxcbiAgICAgICAgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50LFxuICAgICAgICBNZXNzYWdlc0NvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNc3R2aWV3ZXJDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBab25lVXRpbCxcbiAgICAgICAgU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UsXG4gICAgICAgIE1zdExvZ2dpbmdSZXNvdXJjZSxcbiAgICAgICAgRWRpdG9yU2VydmljZSxcbiAgICAgICAgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgUml0TGV6ZXJTZXJ2aWNlLFxuICAgICAgICBCZXdlZ2luZ1V0aWxzLFxuICAgICAgICBBY3RpZUhlbHBlcixcbiAgICAgICAgTG9nZ2luZ0hlbHBlcixcbiAgICAgICAgQmV3ZWdpbmdWZXJyaWprZXJTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNc3RWaWV3ZXJNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogRWRpdG9yU2VydmljZSwgem9uZVV0aWw6IFpvbmVVdGlsKSB7XG4gICAgICAgIC8vIG1hYWsgZGUgRWRpdG9yU2VydmljZSB0b2VnYW5rZWxpamsgdm9vciBHV1QgY29kZVxuICAgICAgICB3aW5kb3dbJ3JwZSddID0ge1xuICAgICAgICAgICAgRWRpdG9yU2VydmljZTogem9uZVV0aWwucHJveHkoc2VydmljZSlcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0LXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbXN0LXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFFNUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLGFBQWEsRUFBRTtRQUNYLHVCQUF1QixFQUFFLEtBQUs7UUFDOUIsd0JBQXdCLEVBQUUsS0FBSztRQUMvQix1R0FBdUc7UUFDdkcsd0dBQXdHO1FBQ3hHLDBCQUEwQixFQUFFLEtBQUs7S0FDcEM7Q0FDSixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDWixZQUFZO0lBQ1osZUFBZTtJQUNmLGNBQWM7SUFDZCxjQUFjLENBQUMsT0FBTyxFQUFFO0lBQ3hCLFdBQVcsQ0FBQyxPQUFPLENBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztJQUNqRCxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2xCLDJCQUEyQjtRQUMzQiw2QkFBNkI7UUFDN0Isb0JBQW9CO1FBQ3BCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLFdBQVc7S0FDZCxDQUFDO0NBQ0wsQ0FBQztBQWlDRixNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUFvQixPQUFzQixFQUFFLFFBQWtCO1FBQTFDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEMsbURBQW1EO1FBQ25ELGFBQWE7UUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDWixhQUFhLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDekMsQ0FBQztJQUNOLENBQUM7OEdBUFEsZUFBZTsrR0FBZixlQUFlLGlCQTVCcEIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLGlCQUFpQixhQWhDckIsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjLDBFQWlDVixrQkFBa0I7K0dBZWIsZUFBZSxhQWJiO1lBQ1AsUUFBUTtZQUNSLDZCQUE2QjtZQUM3QixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLCtCQUErQjtZQUMvQixlQUFlO1lBQ2YsYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2Isd0JBQXdCO1NBQzNCLFlBNUJELE9BQU87OzJGQThCRSxlQUFlO2tCQS9CM0IsUUFBUTttQkFBQztvQkFDTixPQUFPO29CQUNQLFlBQVksRUFBRTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFFBQVE7d0JBQ1IsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsK0JBQStCO3dCQUMvQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLHdCQUF3QjtxQkFDM0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElteFZpZXdlck1vZHVsZSB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IFJpandlZ2VuTW9kdWxlIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUmVzb3VyY2VNb2R1bGUgfSBmcm9tICdAbmd4LXJlc291cmNlL2hhbmRsZXItbmd4LWh0dHAnO1xuaW1wb3J0IHsgTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBNZXNzYWdlc0NvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENhcm91c2VsQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwtY29udHJvbHMvY2Fyb3VzZWwtY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7IE1zdHZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tc3R2aWV3ZXIvbXN0dmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaXRkZWxlbkxpanN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpdGRlbGVuLWxpanN0L3JpdGRlbGVuLWxpanN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaXRkZWxlblZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcml0ZGVsZW4tdmlldy9yaXRkZWxlbi12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBScGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnBlL3JwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N2Zy12aXN1YWxpc2F0aWUvc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXN0TG9nZ2luZ1Jlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMvbXN0bG9nZ2luZy5yZXNvdXJjZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NiZWVsZEluZm9SZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2VzL3NpZ25hbGVyaW5nc2JlZWxkaW5mby5yZXNvdXJjZSc7XG5pbXBvcnQgeyBCZXdlZ2luZ1V0aWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEJld2VnaW5nVmVycmlqa2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmV3ZWdpbmctdmVycmlqa2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUml0TGV6ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yaXQtbGV6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXNFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXBhYWwtb25nZXBsYW5kZS1hY3RpZXMuZWZmZWN0JztcbmltcG9ydCB7IEJlcGFhbFNiSW5mb3NFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXBhYWwtc2ItaW5mb3MuZWZmZWN0JztcbmltcG9ydCB7IEJld2VnaW5nSW52b2VnZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXdlZ2luZy1pbnZvZWdlbi5lZmZlY3QnO1xuaW1wb3J0IHsgRGVsZXRlT25nZXBsYW5kZUFjdGllRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvZGVsZXRlLW9uZ2VwbGFuZGUtYWN0aWUuZWZmZWN0JztcbmltcG9ydCB7IEZvY3VzRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvZm9jdXMtZWZmZWN0JztcbmltcG9ydCB7IExhYWRSb3V0ZUZpbGVzRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvbGFhZC1yb3V0ZS1maWxlcy5lZmZlY3QnO1xuaW1wb3J0IHsgTGFhZFNpZ25hbGVyaW5nc2JlZWxkZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9sYWFkLXNpZ25hbGVyaW5nc2JlZWxkZW4uZWZmZWN0JztcbmltcG9ydCB7IFJpdEdvZWRrZXVyZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9yaXQtZ29lZGtldXJlbi5lZmZlY3QnO1xuaW1wb3J0IHsgUml0ZGVsZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9yaXRkZWxlbi5lZmZlY3QnO1xuaW1wb3J0IHsgU3ZnVmlld0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L3N2Zy12aWV3LmVmZmVjdCc7XG5pbXBvcnQgeyBzdG9yZVJlZHVjZXJzIH0gZnJvbSAnLi9zdGF0ZS9tc3QtZWRpdG9yLXN0YXRlJztcbmltcG9ydCB7IEFjdGllSGVscGVyIH0gZnJvbSAnLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQgeyBMb2dnaW5nSGVscGVyIH0gZnJvbSAnLi91dGlsL2xvZ2dpbmctaGVscGVyJztcbmltcG9ydCB7IFpvbmVVdGlsIH0gZnJvbSAnLi91dGlsL3pvbmUtdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBTVE9SRV9DT05GSUcgPSB7XG4gICAgcnVudGltZUNoZWNrczoge1xuICAgICAgICBzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTogZmFsc2UsXG4gICAgICAgIHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTogZmFsc2UsXG4gICAgICAgIC8vIHN0cmljdFN0YXRlU2VyaWFsaXphYmlsaXR5OiB0cnVlLCAvLyBnZWVmdCBub2cgcnVudGltZSBlcnJvcnMsIHpvdSBtb29pIHppam4gb20gYWFuIHRlIGt1bm5lbiB6ZXR0ZW5cbiAgICAgICAgLy8gc3RyaWN0QWN0aW9uU2VyaWFsaXphYmlsaXR5OiB0cnVlLCAvLyBnZWVmdCBub2cgcnVudGltZSBlcnJvcnMsIHpvdSBtb29pIHppam4gb20gYWFuIHRlIGt1bm5lbiB6ZXR0ZW5cbiAgICAgICAgc3RyaWN0QWN0aW9uVHlwZVVuaXF1ZW5lc3M6IGZhbHNlXG4gICAgfVxufTtcblxuY29uc3QgaW1wb3J0cyA9IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW14Vmlld2VyTW9kdWxlLFxuICAgIFJpandlZ2VuTW9kdWxlLFxuICAgIFJlc291cmNlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JSb290KCBzdG9yZVJlZHVjZXJzLCBTVE9SRV9DT05GSUcpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yUm9vdChbXG4gICAgICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZUVmZmVjdCxcbiAgICAgICAgTGFhZFNpZ25hbGVyaW5nc2JlZWxkZW5FZmZlY3QsXG4gICAgICAgIExhYWRSb3V0ZUZpbGVzRWZmZWN0LFxuICAgICAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzRWZmZWN0LFxuICAgICAgICBCZXdlZ2luZ0ludm9lZ2VuRWZmZWN0LFxuICAgICAgICBSaXRkZWxlbkVmZmVjdCxcbiAgICAgICAgUml0R29lZGtldXJlbkVmZmVjdCxcbiAgICAgICAgU3ZnVmlld0VmZmVjdCxcbiAgICAgICAgQmVwYWFsU2JJbmZvc0VmZmVjdCxcbiAgICAgICAgRm9jdXNFZmZlY3RcbiAgICBdKVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBNZXNzYWdlQ29tcG9uZW50LFxuICAgICAgICBNc3R2aWV3ZXJDb21wb25lbnQsXG4gICAgICAgIE92ZXJsYXlDb21wb25lbnQsXG4gICAgICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgICAgICBScGVDb21wb25lbnQsXG4gICAgICAgIFJpdGRlbGVuTGlqc3RDb21wb25lbnQsXG4gICAgICAgIFJpdGRlbGVuVmlld0NvbXBvbmVudCxcbiAgICAgICAgQ2Fyb3VzZWxDb250cm9sc0NvbXBvbmVudCxcbiAgICAgICAgVmlld2VyQ29udHJvbHNDb21wb25lbnQsXG4gICAgICAgIFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCxcbiAgICAgICAgTWVzc2FnZXNDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTXN0dmlld2VyQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgWm9uZVV0aWwsXG4gICAgICAgIFNpZ25hbGVyaW5nc2JlZWxkSW5mb1Jlc291cmNlLFxuICAgICAgICBNc3RMb2dnaW5nUmVzb3VyY2UsXG4gICAgICAgIEVkaXRvclNlcnZpY2UsXG4gICAgICAgIFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgIFJpdExlemVyU2VydmljZSxcbiAgICAgICAgQmV3ZWdpbmdVdGlscyxcbiAgICAgICAgQWN0aWVIZWxwZXIsXG4gICAgICAgIExvZ2dpbmdIZWxwZXIsXG4gICAgICAgIEJld2VnaW5nVmVycmlqa2VyU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTXN0Vmlld2VyTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHpvbmVVdGlsOiBab25lVXRpbCkge1xuICAgICAgICAvLyBtYWFrIGRlIEVkaXRvclNlcnZpY2UgdG9lZ2Fua2VsaWprIHZvb3IgR1dUIGNvZGVcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3aW5kb3dbJ3JwZSddID0ge1xuICAgICAgICAgICAgRWRpdG9yU2VydmljZTogem9uZVV0aWwucHJveHkoc2VydmljZSlcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
+ // @ts-nocheck will be rewritten to use generated sources instead of ngx-resource
2
3
  import { Injectable } from '@angular/core';
3
4
  import { Resource, ResourceAction, ResourceModel, ResourceParams, ResourceRequestMethod } from '@ngx-resource/core';
4
5
  import { Subscription } from 'rxjs';
@@ -59,4 +60,4 @@ export class SignaleringsbeeldInfoDto extends ResourceModel {
59
60
  return this;
60
61
  }
61
62
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL3Jlc291cmNlcy9zaWduYWxlcmluZ3NiZWVsZGluZm8ucmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUVILFFBQVEsRUFDUixjQUFjLEVBRWQsYUFBYSxFQUNiLGNBQWMsRUFDZCxxQkFBcUIsRUFDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBUTdCLElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQThCLFNBQVEsUUFBUTtJQUd2RCxZQUFZLFdBQTRCLEVBQVUsS0FBNEI7UUFDMUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRDJCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBRnRFLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl2QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FWUSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7QUFnQnRDO0lBSkMsY0FBYyxDQUFDO1FBQ1osSUFBSSxFQUFFLEdBQUc7UUFDVCxNQUFNLEVBQUUscUJBQXFCLENBQUMsSUFBSTtLQUNyQyxDQUFDO2dGQUs4QjtBQUtoQztJQUhDLGNBQWMsQ0FBQztRQUNaLElBQUksRUFBRSxtQkFBbUI7S0FDNUIsQ0FBQzsyRUFDNEU7QUF6QnJFLDZCQUE2QjtJQUp6QyxjQUFjLENBQUM7UUFDWixVQUFVLEVBQUUsbUNBQW1DO0tBQ2xELENBQUM7R0FFVyw2QkFBNkIsQ0EyQnpDOzsyRkEzQlksNkJBQTZCO2tCQUx6QyxVQUFVO3dHQXFCUCx5QkFBeUIsTUFTekIsb0JBQW9CO0FBVXhCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBTXZELFlBQVksSUFBZ0M7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFOWixjQUFTLEdBQUcsNkJBQTZCLENBQUM7UUFPdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2pHLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxHQUFJLElBQUksQ0FBQyxRQUFTLEtBQU0sSUFBSSxDQUFDLEtBQU0sS0FBTSxJQUFJLENBQUMsZUFBZ0IsRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBK0I7UUFDcEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgICBJUmVzb3VyY2VNZXRob2RPYnNlcnZhYmxlLFxuICAgIFJlc291cmNlLFxuICAgIFJlc291cmNlQWN0aW9uLFxuICAgIFJlc291cmNlSGFuZGxlcixcbiAgICBSZXNvdXJjZU1vZGVsLFxuICAgIFJlc291cmNlUGFyYW1zLFxuICAgIFJlc291cmNlUmVxdWVzdE1ldGhvZFxufSBmcm9tICdAbmd4LXJlc291cmNlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5AUmVzb3VyY2VQYXJhbXMoe1xuICAgIHBhdGhQcmVmaXg6ICcvbXN0L3Jlc3Qvc2lnbmFsZXJpbmdzYmVlbGRlbmluZm8nXG59KVxuXG5leHBvcnQgY2xhc3MgU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIE9uRGVzdHJveXtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihyZXN0SGFuZGxlcjogUmVzb3VyY2VIYW5kbGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4pIHtcbiAgICAgICAgc3VwZXIocmVzdEhhbmRsZXIpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc3RvcmUuc2VsZWN0KCdiYXNlVXJsJykuc3Vic2NyaWJlKGJhc2VVcmwgPT4gdGhpcy4kc2V0VXJsKGJhc2VVcmwpKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIEBSZXNvdXJjZUFjdGlvbih7XG4gICAgICAgIHBhdGg6ICcvJyxcbiAgICAgICAgbWV0aG9kOiBSZXNvdXJjZVJlcXVlc3RNZXRob2QuUG9zdFxuICAgIH0pXG4gICAgbGFhZFNpZ25hbGVyaW5nc2JlZWxkSW5mbzogSVJlc291cmNlTWV0aG9kT2JzZXJ2YWJsZTx7XG4gICAgICAgIHBwbGdzOiBzdHJpbmdbXTtcbiAgICAgICAgdmVyc2llOiBzdHJpbmc7XG4gICAgICAgIGluZ2FuZ3NEYXR1bTogc3RyaW5nO1xuICAgIH0sIElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXT47XG5cbiAgICBAUmVzb3VyY2VBY3Rpb24oe1xuICAgICAgICBwYXRoOiAnL3ZhbGlkZWVyaWF2ZXJzaWUnXG4gICAgfSlcbiAgICBnZXRCZXN0YWF0SUFMZXZlcmluZzogSVJlc291cmNlTWV0aG9kT2JzZXJ2YWJsZTx7IHZlcnNpZTogc3RyaW5nIH0sIFJlc3BvbnNlPjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8ge1xuICAgIGJsYWROYWFtOiBzdHJpbmc7XG4gICAgcHBsZ3M6IHN0cmluZ1tdO1xuICAgIG1ldFZpc3VhbGlzYXRpZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0byBleHRlbmRzIFJlc291cmNlTW9kZWwgaW1wbGVtZW50cyBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvIHtcbiAgICAkcmVzb3VyY2UgPSBTaWduYWxlcmluZ3NiZWVsZEluZm9SZXNvdXJjZTtcbiAgICBibGFkTmFhbTogc3RyaW5nO1xuICAgIHBwbGdzOiBzdHJpbmdbXTtcbiAgICBtZXRWaXN1YWxpc2F0aWU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0bykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLiRzZXREYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBhbnkge1xuICAgICAgICByZXR1cm4geyBibGFkbmFhbTogdGhpcy5ibGFkTmFhbSwgcHBsZ3M6IHRoaXMucHBsZ3MsIG1ldFZpc3VhbGlzYXRpZTogdGhpcy5tZXRWaXN1YWxpc2F0aWUgfTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7IHRoaXMuYmxhZE5hYW0gfSwgJHsgdGhpcy5wcGxncyB9LCAkeyB0aGlzLm1ldFZpc3VhbGlzYXRpZSB9YDtcbiAgICB9XG5cbiAgICAkc2V0RGF0YShkYXRhOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvKTogdGhpcyB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmJsYWROYWFtID0gZGF0YS5ibGFkTmFhbTtcbiAgICAgICAgICAgIHRoaXMucHBsZ3MgPSBkYXRhLnBwbGdzO1xuICAgICAgICAgICAgdGhpcy5tZXRWaXN1YWxpc2F0aWUgPSBkYXRhLm1ldFZpc3VhbGlzYXRpZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL3Jlc291cmNlcy9zaWduYWxlcmluZ3NiZWVsZGluZm8ucmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlGQUFpRjtBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFFSCxRQUFRLEVBQ1IsY0FBYyxFQUVkLGFBQWEsRUFDYixjQUFjLEVBQ2QscUJBQXFCLEVBQ3hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVE3QixJQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE4QixTQUFRLFFBQVE7SUFHdkQsWUFBWSxXQUE0QixFQUFVLEtBQTRCO1FBQzFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUQyQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUZ0RSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBVlEsNkJBQTZCO2tIQUE3Qiw2QkFBNkI7O0FBZ0J0QztJQUpDLGNBQWMsQ0FBQztRQUNaLElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUk7S0FDckMsQ0FBQztnRkFLOEI7QUFLaEM7SUFIQyxjQUFjLENBQUM7UUFDWixJQUFJLEVBQUUsbUJBQW1CO0tBQzVCLENBQUM7MkVBQzRFO0FBekJyRSw2QkFBNkI7SUFKekMsY0FBYyxDQUFDO1FBQ1osVUFBVSxFQUFFLG1DQUFtQztLQUNsRCxDQUFDO0dBRVcsNkJBQTZCLENBMkJ6Qzs7MkZBM0JZLDZCQUE2QjtrQkFMekMsVUFBVTt3R0FxQlAseUJBQXlCLE1BU3pCLG9CQUFvQjtBQVV4QixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQU12RCxZQUFZLElBQWdDO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBTlosY0FBUyxHQUFHLDZCQUE2QixDQUFDO1FBT3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNqRyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sR0FBSSxJQUFJLENBQUMsUUFBUyxLQUFNLElBQUksQ0FBQyxLQUFNLEtBQU0sSUFBSSxDQUFDLGVBQWdCLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQStCO1FBQ3BDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2sgd2lsbCBiZSByZXdyaXR0ZW4gdG8gdXNlIGdlbmVyYXRlZCBzb3VyY2VzIGluc3RlYWQgb2Ygbmd4LXJlc291cmNlXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgICBJUmVzb3VyY2VNZXRob2RPYnNlcnZhYmxlLFxuICAgIFJlc291cmNlLFxuICAgIFJlc291cmNlQWN0aW9uLFxuICAgIFJlc291cmNlSGFuZGxlcixcbiAgICBSZXNvdXJjZU1vZGVsLFxuICAgIFJlc291cmNlUGFyYW1zLFxuICAgIFJlc291cmNlUmVxdWVzdE1ldGhvZFxufSBmcm9tICdAbmd4LXJlc291cmNlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5AUmVzb3VyY2VQYXJhbXMoe1xuICAgIHBhdGhQcmVmaXg6ICcvbXN0L3Jlc3Qvc2lnbmFsZXJpbmdzYmVlbGRlbmluZm8nXG59KVxuXG5leHBvcnQgY2xhc3MgU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIE9uRGVzdHJveXtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihyZXN0SGFuZGxlcjogUmVzb3VyY2VIYW5kbGVyLCBwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4pIHtcbiAgICAgICAgc3VwZXIocmVzdEhhbmRsZXIpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc3RvcmUuc2VsZWN0KCdiYXNlVXJsJykuc3Vic2NyaWJlKGJhc2VVcmwgPT4gdGhpcy4kc2V0VXJsKGJhc2VVcmwpKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIEBSZXNvdXJjZUFjdGlvbih7XG4gICAgICAgIHBhdGg6ICcvJyxcbiAgICAgICAgbWV0aG9kOiBSZXNvdXJjZVJlcXVlc3RNZXRob2QuUG9zdFxuICAgIH0pXG4gICAgbGFhZFNpZ25hbGVyaW5nc2JlZWxkSW5mbzogSVJlc291cmNlTWV0aG9kT2JzZXJ2YWJsZTx7XG4gICAgICAgIHBwbGdzOiBzdHJpbmdbXTtcbiAgICAgICAgdmVyc2llOiBzdHJpbmc7XG4gICAgICAgIGluZ2FuZ3NEYXR1bTogc3RyaW5nO1xuICAgIH0sIElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXT47XG5cbiAgICBAUmVzb3VyY2VBY3Rpb24oe1xuICAgICAgICBwYXRoOiAnL3ZhbGlkZWVyaWF2ZXJzaWUnXG4gICAgfSlcbiAgICBnZXRCZXN0YWF0SUFMZXZlcmluZzogSVJlc291cmNlTWV0aG9kT2JzZXJ2YWJsZTx7IHZlcnNpZTogc3RyaW5nIH0sIFJlc3BvbnNlPjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8ge1xuICAgIGJsYWROYWFtOiBzdHJpbmc7XG4gICAgcHBsZ3M6IHN0cmluZ1tdO1xuICAgIG1ldFZpc3VhbGlzYXRpZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0byBleHRlbmRzIFJlc291cmNlTW9kZWwgaW1wbGVtZW50cyBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvIHtcbiAgICAkcmVzb3VyY2UgPSBTaWduYWxlcmluZ3NiZWVsZEluZm9SZXNvdXJjZTtcbiAgICBibGFkTmFhbTogc3RyaW5nO1xuICAgIHBwbGdzOiBzdHJpbmdbXTtcbiAgICBtZXRWaXN1YWxpc2F0aWU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogSVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0bykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLiRzZXREYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBhbnkge1xuICAgICAgICByZXR1cm4geyBibGFkbmFhbTogdGhpcy5ibGFkTmFhbSwgcHBsZ3M6IHRoaXMucHBsZ3MsIG1ldFZpc3VhbGlzYXRpZTogdGhpcy5tZXRWaXN1YWxpc2F0aWUgfTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7IHRoaXMuYmxhZE5hYW0gfSwgJHsgdGhpcy5wcGxncyB9LCAkeyB0aGlzLm1ldFZpc3VhbGlzYXRpZSB9YDtcbiAgICB9XG5cbiAgICAkc2V0RGF0YShkYXRhOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvKTogdGhpcyB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmJsYWROYWFtID0gZGF0YS5ibGFkTmFhbTtcbiAgICAgICAgICAgIHRoaXMucHBsZ3MgPSBkYXRhLnBwbGdzO1xuICAgICAgICAgICAgdGhpcy5tZXRWaXN1YWxpc2F0aWUgPSBkYXRhLm1ldFZpc3VhbGlzYXRpZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbn1cbiJdfQ==
@@ -7,6 +7,7 @@ export class EditorService {
7
7
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
8
8
  this.initReadyPromise();
9
9
  }
10
+ // Called from GWT only, can be removed when GWT is gone
10
11
  setEditor(editor) {
11
12
  this.editor = editor;
12
13
  this.resolveReadyPromise();
@@ -14,6 +15,7 @@ export class EditorService {
14
15
  isReady() {
15
16
  return this.promise;
16
17
  }
18
+ // Called from GWT only, can be removed when GWT is gone
17
19
  setSignaleringsBeeldManager(signaleringsBeeldManager) {
18
20
  this.signaleringsBeeldManagerService.set(signaleringsBeeldManager);
19
21
  }
@@ -45,4 +47,4 @@ export class EditorService {
45
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditorService, decorators: [{
46
48
  type: Injectable
47
49
  }], ctorParameters: () => [{ type: i1.SignaleringsBeeldManagerService }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvc2VydmljZXMvZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFBb0IsK0JBQWdFO1FBQWhFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELDJCQUEyQixDQUFDLHdCQUF3QjtRQUNoRCxJQUFJLENBQUMsK0JBQStCLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWdCLEVBQUUsSUFBaUM7UUFDdkUsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0IsRUFBRSxLQUFlO1FBQzVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7UUFDakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBUyxPQUFPLEVBQUUsT0FBTztZQUM3RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7OEdBakRRLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRvbWVpbiB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3NpZ25hbGVyaW5nc2JlZWxkaW5mby5yZXNvdXJjZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVkaXRvclNlcnZpY2Uge1xuICAgIHByaXZhdGUgZWRpdG9yO1xuICAgIHByaXZhdGUgcmVzb2x2ZVJlYWR5UHJvbWlzZTtcbiAgICBwcml2YXRlIHByb21pc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5pbml0UmVhZHlQcm9taXNlKCk7XG4gICAgfVxuXG4gICAgc2V0RWRpdG9yKGVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcblxuICAgICAgICB0aGlzLnJlc29sdmVSZWFkeVByb21pc2UoKTtcbiAgICB9XG5cbiAgICBpc1JlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9taXNlO1xuICAgIH1cblxuICAgIHNldFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcihzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLnNldChzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpO1xuICAgIH1cblxuICAgIGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuKGlhVmVyc2llOiBzdHJpbmcsIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuID0gdGhpcy5lZGl0b3IubGFhZFNpZ25hbGVyaW5nc2JlZWxkZW4oaWFWZXJzaWUsIGR0b3MpO1xuICAgICAgICByZXR1cm4gZnJvbShsYWFkU2lnbmFsZXJpbmdzYmVlbGRlbik7XG4gICAgfVxuXG4gICAgbGFhZFJvdXRlRmlsZXMoaWFWZXJzaWU6IHN0cmluZywgcHBsZ3M6IHN0cmluZ1tdKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmxhYWRSb3V0ZUZpbGVzKGlhVmVyc2llLCBwcGxncyk7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbihwcGxnOiBzdHJpbmcpOiBkb21laW4uUmlqd2VncGxhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRSaWp3ZWdwbGFuKHBwbGcpO1xuICAgIH1cblxuICAgIGdldFZyaWplYmFhblJpandlZ3BsYW4ocHBsZzogc3RyaW5nLCB2YW5TcG9vcjogc3RyaW5nKTogZG9tZWluLlZyaWplYmFhblJpandlZ3BsYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0VnJpamViYWFuUmlqd2VncGxhbihwcGxnLCB2YW5TcG9vcik7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbm5lbigpOiBkb21laW4uUmlqd2VncGxhbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldFJpandlZ3BsYW5uZW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRSZWFkeVByb21pc2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGlzLnByb21pc2UgPSB0aGlzLnByb21pc2UgPT09IHVuZGVmaW5lZCA/IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIF9yZWplY3QpIHtcbiAgICAgICAgICAgIHRoYXQucmVzb2x2ZVJlYWR5UHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICAgIH0pIDogdGhpcy5wcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvc2VydmljZXMvZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFBb0IsK0JBQWdFO1FBQWhFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxTQUFTLENBQUMsTUFBTTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsMkJBQTJCLENBQUMsd0JBQXdCO1FBQ2hELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsUUFBZ0IsRUFBRSxJQUFpQztRQUN2RSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQixFQUFFLEtBQWU7UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxRQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFTLE9BQU8sRUFBRSxPQUFPO1lBQzdFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs4R0FuRFEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZG9tZWluIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSBlZGl0b3I7XG4gICAgcHJpdmF0ZSByZXNvbHZlUmVhZHlQcm9taXNlO1xuICAgIHByaXZhdGUgcHJvbWlzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSkge1xuICAgICAgICB0aGlzLmluaXRSZWFkeVByb21pc2UoKTtcbiAgICB9XG5cbiAgICAvLyBDYWxsZWQgZnJvbSBHV1Qgb25seSwgY2FuIGJlIHJlbW92ZWQgd2hlbiBHV1QgaXMgZ29uZVxuICAgIHNldEVkaXRvcihlZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7XG5cbiAgICAgICAgdGhpcy5yZXNvbHZlUmVhZHlQcm9taXNlKCk7XG4gICAgfVxuXG4gICAgaXNSZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgICB9XG5cbiAgICAvLyBDYWxsZWQgZnJvbSBHV1Qgb25seSwgY2FuIGJlIHJlbW92ZWQgd2hlbiBHV1QgaXMgZ29uZVxuICAgIHNldFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcihzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLnNldChzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpO1xuICAgIH1cblxuICAgIGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuKGlhVmVyc2llOiBzdHJpbmcsIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuID0gdGhpcy5lZGl0b3IubGFhZFNpZ25hbGVyaW5nc2JlZWxkZW4oaWFWZXJzaWUsIGR0b3MpO1xuICAgICAgICByZXR1cm4gZnJvbShsYWFkU2lnbmFsZXJpbmdzYmVlbGRlbik7XG4gICAgfVxuXG4gICAgbGFhZFJvdXRlRmlsZXMoaWFWZXJzaWU6IHN0cmluZywgcHBsZ3M6IHN0cmluZ1tdKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmxhYWRSb3V0ZUZpbGVzKGlhVmVyc2llLCBwcGxncyk7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbihwcGxnOiBzdHJpbmcpOiBkb21laW4uUmlqd2VncGxhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRSaWp3ZWdwbGFuKHBwbGcpO1xuICAgIH1cblxuICAgIGdldFZyaWplYmFhblJpandlZ3BsYW4ocHBsZzogc3RyaW5nLCB2YW5TcG9vcjogc3RyaW5nKTogZG9tZWluLlZyaWplYmFhblJpandlZ3BsYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0VnJpamViYWFuUmlqd2VncGxhbihwcGxnLCB2YW5TcG9vcik7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbm5lbigpOiBkb21laW4uUmlqd2VncGxhbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldFJpandlZ3BsYW5uZW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRSZWFkeVByb21pc2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGlzLnByb21pc2UgPSB0aGlzLnByb21pc2UgPT09IHVuZGVmaW5lZCA/IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIF9yZWplY3QpIHtcbiAgICAgICAgICAgIHRoYXQucmVzb2x2ZVJlYWR5UHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICAgIH0pIDogdGhpcy5wcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==