nuxeo-development-framework 3.5.6 → 3.5.8

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.
@@ -143,7 +143,7 @@ export class DynamicChartComponent {
143
143
  };
144
144
  // if there tenant id sent from outside then add it to the params
145
145
  if (this.tenantId) {
146
- params['queryParams'] = `/${this.tenantId}/`;
146
+ params['queryParams'] = `${this.tenantId}`;
147
147
  }
148
148
  return this.callApi
149
149
  .query(params, {
@@ -180,7 +180,7 @@ export class DynamicChartComponent {
180
180
  };
181
181
  // if there tenant id sent from outside then add it to the params
182
182
  if (this.tenantId) {
183
- outgoingParams['queryParams'] = `/${this.tenantId}/`;
183
+ outgoingParams['queryParams'] = `${this.tenantId}`;
184
184
  }
185
185
  const getOutgoing$ = this.callApi
186
186
  .query(outgoingParams, {
@@ -216,7 +216,7 @@ export class DynamicChartComponent {
216
216
  };
217
217
  // if there tenant id sent from outside then add it to the params
218
218
  if (this.tenantId) {
219
- incomingParams['queryParams'] = `/${this.tenantId}/`;
219
+ incomingParams['queryParams'] = `${this.tenantId}`;
220
220
  }
221
221
  const getIncoming$ = this.callApi
222
222
  .query(incomingParams, {
@@ -252,7 +252,7 @@ export class DynamicChartComponent {
252
252
  };
253
253
  // if there tenant id sent from outside then add it to the params
254
254
  if (this.tenantId) {
255
- internalParams['queryParams'] = `/${this.tenantId}/`;
255
+ internalParams['queryParams'] = `${this.tenantId}`;
256
256
  }
257
257
  const getInternal$ = this.callApi
258
258
  .query(internalParams, {
@@ -326,7 +326,7 @@ export class DynamicChartComponent {
326
326
  }
327
327
  // if there tenant id sent from outside then add it to the params
328
328
  if (this.tenantId) {
329
- queryParams['queryParams'] = `/${this.tenantId}/`;
329
+ queryParams['queryParams'] = `${this.tenantId}`;
330
330
  }
331
331
  this.router.navigate(['report', 'chart-details'], {
332
332
  queryParams: queryParams,
@@ -414,4 +414,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
414
414
  }], isInternalActive: [{
415
415
  type: Input
416
416
  }] } });
417
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBbUVoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVUsTUFBYyxFQUNoRCxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hELGNBQVMsR0FBVCxTQUFT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QUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBY04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGFydCB9IGZyb20gXCJjaGFydC5qc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGFydERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAnY2hhcnRqcy1wbHVnaW4tcGllY2hhcnQtb3V0bGFiZWxzJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1sYWJlbHMnO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1jaGFydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgdGVuYW50SWQ7IC8vIHdpbGwgYmUgc2VudCBvbmx5IGluIGNhc2Ugb2YgbXVsdGkgdGVuYW50XHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVyVGhyZWU7XHJcbiAgQElucHV0KClcclxuICBjb21iaW5lZERhdGEgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c09uZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1R3bztcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1RocmVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNJbnRlcm5hbEFjdGl2ZSA9IGZhbHNlOyAvLyB1c2VkIHRvIGNvbnRyb2wgb24gc2hvd2luZyByZXN1bHRzIG9mIGludGVybmFsIGNvcmVzcCByZXN1bHRzIGluIGNoYXJ0c1xyXG4gIG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICB0aGlzLnN0YXR1c1RocmVlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSxcclxuICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICAgICksXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgICAgaWYgKHRoaXMudGVuYW50SWQpIHtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgLyR7dGhpcy50ZW5hbnRJZH0vYFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlcclxuICAgICAgICAucXVlcnkoXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmV0Y2hlZEtleVxyXG4gICAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBpdGVtLmRvY0NvdW50LFxyXG4gICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGRhdGE6IGl0ZW1zLFxyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29tYmluZWREYXRhKFxyXG4gICAgcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICBzZWxlY3RlZFJhbmdlLFxyXG4gICAgcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgcXVpY2tGaWx0ZXJUd28sXHJcbiAgICBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgc3RhdHVzT25lLFxyXG4gICAgc3RhdHVzVHdvLFxyXG4gICAgc3RhdHVzVGhyZWVcclxuICApIHtcclxuICAgIGxldCBvdXRnb2luZ1BhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXJPbmUsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHNlbGVjdGVkUmFuZ2UsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWF4OiB0aGlzLm1heCxcclxuICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICApLFxyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIG91dGdvaW5nUGFyYW1zWydxdWVyeVBhcmFtcyddID0gYC8ke3RoaXMudGVuYW50SWR9L2BcclxuICAgIH1cclxuICAgIGNvbnN0IGdldE91dGdvaW5nJCA9IHRoaXMuY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAgb3V0Z29pbmdQYXJhbXMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHNcclxuICAgICAgICAgICAgPyBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0cy5tYXAoKGl0ZW0pID0+ICh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmV0Y2hlZEtleVxyXG4gICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICA6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIGNvdW50OiBpdGVtLmRvY0NvdW50LFxyXG4gICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1c09uZSxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBsZXQgaW5jb21pbmdQYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiBzZWxlY3RlZFJhbmdlLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6IHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbmNvbWluZ1BhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAvJHt0aGlzLnRlbmFudElkfS9gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGluY29taW5nUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUd28sXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgbGV0IGludGVybmFsUGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IHBhZ2VQcm92aWRlclR3byxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbnRlcm5hbFBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAvJHt0aGlzLnRlbmFudElkfS9gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbnRlcm5hbCQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGludGVybmFsUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUaHJlZSxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBpZiAodGhpcy5pc0ludGVybmFsQWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmb3JrSm9pbihbZ2V0T3V0Z29pbmckLCBnZXRJbmNvbWluZyQsIGdldEludGVybmFsJF0pLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tYmluZWREYXRhID0gWy4uLmRhdGFbMF0uZGF0YSwgLi4uZGF0YVsxXS5kYXRhLCAuLi5kYXRhWzJdLmRhdGFdO1xyXG4gICAgICAgICAgdGhpcy5pc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gY29tYmluZWREYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckXSkucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBjb21iaW5lZERhdGEgPSBbLi4uZGF0YVswXS5kYXRhLCAuLi5kYXRhWzFdLmRhdGFdO1xyXG4gICAgICAgICAgdGhpcy5pc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gY29tYmluZWREYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcmV2aWV3Q29ycmVzcG9uZGVuY2VzKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJwYXJhbXNcIiwgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUpXHJcbiAgICBsZXQgcXVlcnlQYXJhbXM7XHJcbiAgICBpZiAodGhpcy5jb21iaW5lZERhdGEpIHtcclxuICAgICAgcXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgICAgY29tYmluZWREYXRhOiB0aGlzLmNvbWJpbmVkRGF0YSxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUd286IHRoaXMucXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUaHJlZTogdGhpcy5xdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgc3RhdHVzT25lOiB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICBzdGF0dXNUd286IHRoaXMuc3RhdHVzVHdvLFxyXG4gICAgICAgIHN0YXR1c1RocmVlOiB0aGlzLnN0YXR1c1RocmVlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbWJpbmVkRGF0YTogdGhpcy5jb21iaW5lZERhdGEsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgaGVhZGVyczogSlNPTi5zdHJpbmdpZnkodGhpcy5oZWFkZXJzKSxcclxuICAgICAgICByYW5nZTogdGhpcy5yYW5nZSxcclxuICAgICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pbixcclxuICAgICAgICBtYXg6IHRoaXMubWF4LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zWydxdWVyeVBhcmFtcyddID0gYC8ke3RoaXMudGVuYW50SWR9L2BcclxuICAgIH1cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0JywgJ2NoYXJ0LWRldGFpbHMnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0cmluZ1RvSHNsQ29sb3Ioc3RyLCBzLCBsKSB7XHJcbiAgICB2YXIgaGFzaCA9IDA7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xyXG4gICAgICBoYXNoID0gc3RyLmNoYXJDb2RlQXQoaSkgKyAoKGhhc2ggPDwgNSkgLSBoYXNoKTtcclxuICAgIH1cclxuICAgIHZhciBoID0gaGFzaCAlIDM2MDtcclxuICAgIHJldHVybiAnaHNsKCcgKyBoICsgJywgJyArIHMgKyAnJSwgJyArIGwgKyAnJSknO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1jb250aW5lclwiICpuZ0lmPVwiY2FyZDsgZWxzZSB0ZXN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNoYXJ0LWNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtY2FyZC10aXRsZVwiPnt7IGNhcmRUaXRsZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImNoYXJ0LWNhcmQtYnV0dG9uXCIgKGNsaWNrKT1cInByZXZpZXdDb3JyZXNwb25kZW5jZXMoKVwiPlxyXG4gICAgICB7eyBcInJlcG9ydC5QcmV2aWV3XCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZldGNoaW5nXCI+XHJcbiAgICA8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwic3RhdFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCI+XHJcbiAgICA8ZGl2IFtoaWRkZW5dPVwiZGF0YS5kYXRhPy5sZW5ndGggPT0gMCB8fCBkYXRhLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgIDxjYW52YXMgI3JldmVudWVMaW5lQ2hhcnQgW2hlaWdodF09XCJoZWlnaHRcIiBbd2lkdGhdPVwid2lkdGhcIj48L2NhbnZhcz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vLXN0YXRzXCIgKm5nSWY9XCJkYXRhLmRhdGE/Lmxlbmd0aCA9PSAwIHx8IGRhdGEubGVuZ3RoID09IDBcIj5cclxuICAgICAgPHNwYW4+e3sgXCJTVEFUUy5ub0RhdGFcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGVzdD5cclxuICA8ZGl2IGNsYXNzPVwic3RhdFwiPlxyXG4gICAgPGNhbnZhcyAjcmV2ZW51ZUxpbmVDaGFydCBbaGVpZ2h0XT1cImhlaWdodFwiIFt3aWR0aF09XCJ3aWR0aFwiPjwvY2FudmFzPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19
417
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBbUVoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVUsTUFBYyxFQUNoRCxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hELGNBQVMsR0FBVCxTQUFT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QUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBY04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGFydCB9IGZyb20gXCJjaGFydC5qc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGFydERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAnY2hhcnRqcy1wbHVnaW4tcGllY2hhcnQtb3V0bGFiZWxzJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1sYWJlbHMnO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1jaGFydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgdGVuYW50SWQ7IC8vIHdpbGwgYmUgc2VudCBvbmx5IGluIGNhc2Ugb2YgbXVsdGkgdGVuYW50XHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVyVGhyZWU7XHJcbiAgQElucHV0KClcclxuICBjb21iaW5lZERhdGEgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c09uZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1R3bztcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1RocmVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNJbnRlcm5hbEFjdGl2ZSA9IGZhbHNlOyAvLyB1c2VkIHRvIGNvbnRyb2wgb24gc2hvd2luZyByZXN1bHRzIG9mIGludGVybmFsIGNvcmVzcCByZXN1bHRzIGluIGNoYXJ0c1xyXG4gIG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICB0aGlzLnN0YXR1c1RocmVlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSxcclxuICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICAgICksXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgICAgaWYgKHRoaXMudGVuYW50SWQpIHtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYWxsQXBpXHJcbiAgICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHNcclxuICAgICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkRGF0YShcclxuICAgIHBhZ2VQcm92aWRlck9uZSxcclxuICAgIHF1aWNrRmlsdGVyT25lLFxyXG4gICAgc2VsZWN0ZWRSYW5nZSxcclxuICAgIHBhZ2VQcm92aWRlclR3byxcclxuICAgIHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgcXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgIHN0YXR1c09uZSxcclxuICAgIHN0YXR1c1R3byxcclxuICAgIHN0YXR1c1RocmVlXHJcbiAgKSB7XHJcbiAgICBsZXQgb3V0Z29pbmdQYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiBzZWxlY3RlZFJhbmdlLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6IHF1aWNrRmlsdGVyT25lLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBvdXRnb2luZ1BhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0T3V0Z29pbmckID0gdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICBvdXRnb2luZ1BhcmFtcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzT25lLFxyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgOiBbXTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGE6IGl0ZW1zLFxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIGxldCBpbmNvbWluZ1BhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXJUd28sXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHNlbGVjdGVkUmFuZ2UsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9taW46IHRoaXMubWluLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWF4OiB0aGlzLm1heCxcclxuICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICB0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZVxyXG4gICAgICApLFxyXG4gICAgfVxyXG4gICAgLy8gaWYgdGhlcmUgdGVuYW50IGlkIHNlbnQgZnJvbSBvdXRzaWRlIHRoZW4gYWRkIGl0IHRvIHRoZSBwYXJhbXNcclxuICAgIGlmICh0aGlzLnRlbmFudElkKSB7XHJcbiAgICAgIGluY29taW5nUGFyYW1zWydxdWVyeVBhcmFtcyddID0gYCR7dGhpcy50ZW5hbnRJZH1gXHJcbiAgICB9XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIGluY29taW5nUGFyYW1zLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzXHJcbiAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNUd28sXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgbGV0IGludGVybmFsUGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IHBhZ2VQcm92aWRlclR3byxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgKSxcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBpbnRlcm5hbFBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0SW50ZXJuYWwkID0gdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICBpbnRlcm5hbFBhcmFtcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICA/IF8uZ2V0KGl0ZW0sIHRoaXMuZmV0Y2hlZEtleSlcclxuICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzVGhyZWUsXHJcbiAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGF0YTogaXRlbXMsXHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IGRhdGEudG90YWxTaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgaWYgKHRoaXMuaXNJbnRlcm5hbEFjdGl2ZSkge1xyXG4gICAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckLCBnZXRJbnRlcm5hbCRdKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGNvbWJpbmVkRGF0YSA9IFsuLi5kYXRhWzBdLmRhdGEsIC4uLmRhdGFbMV0uZGF0YSwgLi4uZGF0YVsyXS5kYXRhXTtcclxuICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZvcmtKb2luKFtnZXRPdXRnb2luZyQsIGdldEluY29taW5nJF0pLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tYmluZWREYXRhID0gWy4uLmRhdGFbMF0uZGF0YSwgLi4uZGF0YVsxXS5kYXRhXTtcclxuICAgICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJldmlld0NvcnJlc3BvbmRlbmNlcygpIHtcclxuICAgIGNvbnNvbGUubG9nKFwicGFyYW1zXCIsIHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlKVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW1zO1xyXG4gICAgaWYgKHRoaXMuY29tYmluZWREYXRhKSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbWJpbmVkRGF0YTogdGhpcy5jb21iaW5lZERhdGEsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBoZWFkZXJzOiBKU09OLnN0cmluZ2lmeSh0aGlzLmhlYWRlcnMpLFxyXG4gICAgICAgIHJhbmdlOiB0aGlzLnJhbmdlLFxyXG4gICAgICAgIGFnZ3JlZ2F0aW9uczogdGhpcy5hZ2dyZWdhdGlvbnMsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJPbmU6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyVHdvOiB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyVGhyZWU6IHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIHN0YXR1c09uZTogdGhpcy5zdGF0dXNPbmUsXHJcbiAgICAgICAgc3RhdHVzVHdvOiB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICBzdGF0dXNUaHJlZTogdGhpcy5zdGF0dXNUaHJlZSxcclxuICAgICAgICBtaW46IHRoaXMubWluLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgICBjb21iaW5lZERhdGE6IHRoaXMuY29tYmluZWREYXRhLFxyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJPbmU6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIC8vIGlmIHRoZXJlIHRlbmFudCBpZCBzZW50IGZyb20gb3V0c2lkZSB0aGVuIGFkZCBpdCB0byB0aGUgcGFyYW1zXHJcbiAgICBpZiAodGhpcy50ZW5hbnRJZCkge1xyXG4gICAgICBxdWVyeVBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnQnLCAnY2hhcnQtZGV0YWlscyddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RyaW5nVG9Ic2xDb2xvcihzdHIsIHMsIGwpIHtcclxuICAgIHZhciBoYXNoID0gMDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGhhc2ggPSBzdHIuY2hhckNvZGVBdChpKSArICgoaGFzaCA8PCA1KSAtIGhhc2gpO1xyXG4gICAgfVxyXG4gICAgdmFyIGggPSBoYXNoICUgMzYwO1xyXG4gICAgcmV0dXJuICdoc2woJyArIGggKyAnLCAnICsgcyArICclLCAnICsgbCArICclKSc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRpbmVyXCIgKm5nSWY9XCJjYXJkOyBlbHNlIHRlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2hhcnQtY2FyZC1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jYXJkLXRpdGxlXCI+e3sgY2FyZFRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2hhcnQtY2FyZC1idXR0b25cIiAoY2xpY2spPVwicHJldmlld0NvcnJlc3BvbmRlbmNlcygpXCI+XHJcbiAgICAgIHt7IFwicmVwb3J0LlByZXZpZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmV0Y2hpbmdcIj5cclxuICAgIDxjdHMtc3Bpbm5lcj48L2N0cy1zcGlubmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIj5cclxuICAgIDxkaXYgW2hpZGRlbl09XCJkYXRhLmRhdGE/Lmxlbmd0aCA9PSAwIHx8IGRhdGEubGVuZ3RoID09IDBcIj5cclxuICAgICAgPGNhbnZhcyAjcmV2ZW51ZUxpbmVDaGFydCBbaGVpZ2h0XT1cImhlaWdodFwiIFt3aWR0aF09XCJ3aWR0aFwiPjwvY2FudmFzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm8tc3RhdHNcIiAqbmdJZj1cImRhdGEuZGF0YT8ubGVuZ3RoID09IDAgfHwgZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8c3Bhbj57eyBcIlNUQVRTLm5vRGF0YVwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0ZXN0PlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCI+XHJcbiAgICA8Y2FudmFzICNyZXZlbnVlTGluZUNoYXJ0IFtoZWlnaHRdPVwiaGVpZ2h0XCIgW3dpZHRoXT1cIndpZHRoXCI+PC9jYW52YXM+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG4iXX0=
@@ -30,10 +30,10 @@ export class DepartmentApiService {
30
30
  let obj = customParams ? customParams : {};
31
31
  let params = Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40, quickFilters: 'Parent Dept' }, obj);
32
32
  if (this.globalAdminService.isGlobalAdmin) {
33
- params['queryParams'] = '/' + this.globalAdminService.activeTenant + '/';
33
+ params['queryParams'] = this.globalAdminService.activeTenant;
34
34
  }
35
35
  else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
36
- params['queryParams'] = '/' + this.nuxeoService.nuxeoClient.user.properties.tenantId + '/';
36
+ params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
37
37
  }
38
38
  return this.CallApiService.query(Object.assign({}, params), {
39
39
  headers: {
@@ -52,10 +52,10 @@ export class DepartmentApiService {
52
52
  dublincore_title: code,
53
53
  };
54
54
  if (this.globalAdminService.isGlobalAdmin) {
55
- params['queryParams'] = '/' + this.globalAdminService.activeTenant + '/';
55
+ params['queryParams'] = this.globalAdminService.activeTenant;
56
56
  }
57
57
  else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
58
- params['queryParams'] = '/' + this.nuxeoService.nuxeoClient.user.properties.tenantId + '/';
58
+ params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
59
59
  }
60
60
  return this.CallApiService.query(Object.assign({}, params), {
61
61
  headers: {
@@ -69,10 +69,10 @@ export class DepartmentApiService {
69
69
  let params = {};
70
70
  customParentCodeProperty ? (params[customParentCodeProperty] = code) : (params = { 'department_parentDepartmentCode': code });
71
71
  if (this.globalAdminService.isGlobalAdmin) {
72
- params['queryParams'] = '/' + this.globalAdminService.activeTenant + '/';
72
+ params['queryParams'] = this.globalAdminService.activeTenant;
73
73
  }
74
74
  else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
75
- params['queryParams'] = '/' + this.nuxeoService.nuxeoClient.user.properties.tenantId + '/';
75
+ params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
76
76
  }
77
77
  return this.CallApiService.query(Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40 }, params), {
78
78
  headers: {
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
227
227
  type: Inject,
228
228
  args: ['environment']
229
229
  }] }]; }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRlcGFydG1lbnQvc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDNUIsY0FBYztBQUtkLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxjQUE4QixFQUM5QixXQUErQixFQUMvQixZQUEwQixFQUMxQixPQUF1QixFQUN2QixrQkFBdUMsRUFDaEIsV0FBVztRQUxsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHVC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Q0FBQzs0REEyQkQ7MkZBL05VLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYTs0Q0FhdkIsaUJBQWlCLE1BbUNqQixvQkFBb0IsTUFpQ3BCLHVCQUF1QixNQWdEdkIsZ0JBQWdCLE1BOEJoQixzQkFBc0IsTUE4QnRCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZXBhcnRtZW50JztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBDYWNoZUJ1c3RlciwgTG9jYWxTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBHbG9iYWxBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZ2xvYmFsLWFkbWluLnNlcnZpY2UnO1xyXG5leHBvcnQgY29uc3QgZGVwYXJ0bWVudENhY2hlQnVzdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbmV4cG9ydCBjb25zdCBtaW51dGUgPSA2MDAwMDtcclxuLyoqIEBpZ25vcmUgKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50QXBpU2VydmljZSB7XHJcbiAgYXJhYmljO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBDYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSwgXHJcbiAgICBwcml2YXRlIGdsb2JhbEFkbWluU2VydmljZSA6IEdsb2JhbEFkbWluU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmFyYWJpYyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIG1heEFnZTogNjAgKiBtaW51dGUsXHJcbiAgfSlcclxuICBcclxuICBnZXREZXBhcnRtZW50VHJlZShjdXN0b21QYWdlUHJvdmlkZXI/LGN1c3RvbVBhcmFtcz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9iaiA9IGN1c3RvbVBhcmFtcyA/IGN1c3RvbVBhcmFtcyA6IHt9O1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBjdXN0b21QYWdlUHJvdmlkZXIgPyBjdXN0b21QYWdlUHJvdmlkZXIgOiAnUFBfRGVwYXJ0bWVudCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6ICdQYXJlbnQgRGVwdCcsXHJcbiAgICAgIC4uLm9ialxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudCArICcvJ1xyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gJy8nICsgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkICsgJy8nXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBtYXhBZ2U6IDEyMCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnREZXRhaWxzKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/KXtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyOiAnUFBfRGVwYXJ0bWVudF9XaXRoX0VsYXN0aWNTZWFyY2gnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgZHVibGluY29yZV90aXRsZTogY29kZSxcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSAnLycgKyB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnQgKyAnLydcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCArICcvJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwMCxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgbWF4QWdlOiA2MCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnROZXN0ZWRUcmVlKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/ICwgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5Pyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0ge307XHJcbiAgICAgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5ID8gKHBhcmFtc1tjdXN0b21QYXJlbnRDb2RlUHJvcGVydHldID0gY29kZSkgIDogKHBhcmFtcyA9IHsnZGVwYXJ0bWVudF9wYXJlbnREZXBhcnRtZW50Q29kZSc6IGNvZGV9KVxyXG4gICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSAnLycgKyB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnQgKyAnLydcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9ICcvJyArIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCArICcvJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlciA6ICdQUF9EZXBhcnRtZW50JyxcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudCh1aWQgLCBmaWVsZHM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oZGF0YSwgZmllbGRzID8gZmllbGRzIDogRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHRlc3RpbmdcclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgcGFyZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPXsgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICBEZXBhcnRtZW50LFxyXG4gICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgKX07XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oIGN1c3RvbU9wZXJhdGlvbiA/IGN1c3RvbU9wZXJhdGlvbjogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHBhcmVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlQnVzdGVyKHtcclxuICAgIGNhY2hlQnVzdGVyTm90aWZpZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgfSlcclxuICBjcmVhdGVEZXBhcnRtZW50SW5Sb290KERlcGFydG1lbnQgLCBjdXN0b21PcGVyYXRpb24/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHtcclxuICAgICAgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgICAgRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHNcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIGNvbnRleHRbJ3RlbmFudElkJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlX0luUm9vdCcsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIHVwZGF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgZGVwYXJ0bWVudElkICwgY3VzdG9tT3BlcmF0aW9uPyAsIGZpZWxkcz8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGFydG1lbnRfVXBkYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRlcGFydG1lbnRJZClcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlY3Vyc2l2ZUZpbGwoXHJcbiAgICBlbnRyaWVzLFxyXG4gICAgbGV2ZWwgPSAwLFxyXG4gICAgdHJlZXZpZXcgPSB0cnVlLFxyXG4gICAgY29sbGFwc2VkID0gdHJ1ZSxcclxuICAgIGN1c3RvbVByZWZpeD9cclxuICApOiBUcmVldmlld0l0ZW1bXSB7XHJcbiAgICByZXR1cm4gZW50cmllcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdHJlZXZpZXdcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5hcmFiaWNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgOiAnLS0nLFxyXG4gICAgICAgICAgICB2YWx1ZTogeyAuLi5pdGVtLCBsZXZlbCB9LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAuLi50cmVlVmlld09iaixcclxuICAgICAgICBjb2xsYXBzZWQ6IGxldmVsID49IDIgJiYgY29sbGFwc2VkID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gdGhpcy5yZWN1cnNpdmVGaWxsKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgbGV2ZWwgKyAxLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgY3VzdG9tUHJlZml4XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRlcGFydG1lbnQvc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDNUIsY0FBYztBQUtkLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxjQUE4QixFQUM5QixXQUErQixFQUMvQixZQUEwQixFQUMxQixPQUF1QixFQUN2QixrQkFBdUMsRUFDaEIsV0FBVztRQUxsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHVC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b0IsTUFpQ3BCLHVCQUF1QixNQWdEdkIsZ0JBQWdCLE1BOEJoQixzQkFBc0IsTUE4QnRCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZXBhcnRtZW50JztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBDYWNoZUJ1c3RlciwgTG9jYWxTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBHbG9iYWxBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZ2xvYmFsLWFkbWluLnNlcnZpY2UnO1xyXG5leHBvcnQgY29uc3QgZGVwYXJ0bWVudENhY2hlQnVzdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbmV4cG9ydCBjb25zdCBtaW51dGUgPSA2MDAwMDtcclxuLyoqIEBpZ25vcmUgKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50QXBpU2VydmljZSB7XHJcbiAgYXJhYmljO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBDYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSwgXHJcbiAgICBwcml2YXRlIGdsb2JhbEFkbWluU2VydmljZSA6IEdsb2JhbEFkbWluU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmFyYWJpYyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIG1heEFnZTogNjAgKiBtaW51dGUsXHJcbiAgfSlcclxuICBcclxuICBnZXREZXBhcnRtZW50VHJlZShjdXN0b21QYWdlUHJvdmlkZXI/LGN1c3RvbVBhcmFtcz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9iaiA9IGN1c3RvbVBhcmFtcyA/IGN1c3RvbVBhcmFtcyA6IHt9O1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBjdXN0b21QYWdlUHJvdmlkZXIgPyBjdXN0b21QYWdlUHJvdmlkZXIgOiAnUFBfRGVwYXJ0bWVudCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBxdWlja0ZpbHRlcnM6ICdQYXJlbnQgRGVwdCcsXHJcbiAgICAgIC4uLm9ialxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBtYXhBZ2U6IDEyMCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnREZXRhaWxzKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/KXtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyOiAnUFBfRGVwYXJ0bWVudF9XaXRoX0VsYXN0aWNTZWFyY2gnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgZHVibGluY29yZV90aXRsZTogY29kZSxcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwMCxcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgbWF4QWdlOiA2MCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIGdldERlcGFydG1lbnROZXN0ZWRUcmVlKGNvZGUgLCBjdXN0b21QYWdlUHJvdmlkZXI/ICwgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5Pyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0ge307XHJcbiAgICAgY3VzdG9tUGFyZW50Q29kZVByb3BlcnR5ID8gKHBhcmFtc1tjdXN0b21QYXJlbnRDb2RlUHJvcGVydHldID0gY29kZSkgIDogKHBhcmFtcyA9IHsnZGVwYXJ0bWVudF9wYXJlbnREZXBhcnRtZW50Q29kZSc6IGNvZGV9KVxyXG4gICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlciA6ICdQUF9EZXBhcnRtZW50JyxcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudCh1aWQgLCBmaWVsZHM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oZGF0YSwgZmllbGRzID8gZmllbGRzIDogRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHRlc3RpbmdcclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgcGFyZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPXsgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICBEZXBhcnRtZW50LFxyXG4gICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgKX07XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oIGN1c3RvbU9wZXJhdGlvbiA/IGN1c3RvbU9wZXJhdGlvbjogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHBhcmVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlQnVzdGVyKHtcclxuICAgIGNhY2hlQnVzdGVyTm90aWZpZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgfSlcclxuICBjcmVhdGVEZXBhcnRtZW50SW5Sb290KERlcGFydG1lbnQgLCBjdXN0b21PcGVyYXRpb24/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHtcclxuICAgICAgZGVwYXJ0bWVudDogdGhpcy5hZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgICAgRGVwYXJ0bWVudENvbnN0YW50cy5maWVsZHNcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIGNvbnRleHRbJ3RlbmFudElkJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGF0cm1lbnRfQ3JlYXRlX0luUm9vdCcsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIHVwZGF0ZURlcGFydG1lbnQoRGVwYXJ0bWVudCwgZGVwYXJ0bWVudElkICwgY3VzdG9tT3BlcmF0aW9uPyAsIGZpZWxkcz8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uIDogJ0FDX1VBX0RlcGFydG1lbnRfVXBkYXRlJyAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRlcGFydG1lbnRJZClcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlY3Vyc2l2ZUZpbGwoXHJcbiAgICBlbnRyaWVzLFxyXG4gICAgbGV2ZWwgPSAwLFxyXG4gICAgdHJlZXZpZXcgPSB0cnVlLFxyXG4gICAgY29sbGFwc2VkID0gdHJ1ZSxcclxuICAgIGN1c3RvbVByZWZpeD9cclxuICApOiBUcmVldmlld0l0ZW1bXSB7XHJcbiAgICByZXR1cm4gZW50cmllcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdHJlZXZpZXdcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgdGV4dDogdGhpcy5hcmFiaWNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgOiAnLS0nLFxyXG4gICAgICAgICAgICB2YWx1ZTogeyAuLi5pdGVtLCBsZXZlbCB9LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAuLi50cmVlVmlld09iaixcclxuICAgICAgICBjb2xsYXBzZWQ6IGxldmVsID49IDIgJiYgY29sbGFwc2VkID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRyZWVJdGVtLmNoaWxkcmVuID0gdGhpcy5yZWN1cnNpdmVGaWxsKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgbGV2ZWwgKyAxLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgY3VzdG9tUHJlZml4XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -188,7 +188,7 @@ export class DynamicFormTextItemComponent {
188
188
  let params = Object.assign({ currentPageIndex: 0, offset: 0, pageSize: 40, pageProvider: this.autoComplete_pageProvider }, this.outsideParams);
189
189
  // if i was sending tenant id from outside then i am in case of multi tenant then add tenant id to params
190
190
  if (this.tenantId) {
191
- params['queryParams'] = `/${this.tenantId}/`;
191
+ params['queryParams'] = `${this.tenantId}`;
192
192
  }
193
193
  // params[this.autoComplete_propertyName] = (val) ? `%${val}%` : '';
194
194
  if (this.autoCompleteType == "caseSensitive" && val) {
@@ -301,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
301
301
  type: ViewChild,
302
302
  args: ['editorInput']
303
303
  }] } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixxQkFBZ0IsR0FBRSxZQUFZLENBQUM7UUFFL0IsbUJBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxpRUFBaUU7UUFDekYsa0JBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyw2Q0FBNkM7UUFFMUUsaUJBQWlCO1FBRWpCLFNBQUksR0FBRyxNQUFNLENBQUM7UUFPZCxrQkFBa0I7UUFFbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQix5QkFBeUI7UUFDaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsa0JBQWtCO1FBRWxCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWtCO1FBRWxCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLDJCQUEyQjtRQUUzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUtaLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSTVCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFVN0IsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBZ0ozQixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQXBKdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUMsaUJBQWlCLENBQUM7SUFDdkUsQ0FBQztJQUlELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBcUIsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLDRCQUE0QjtRQUU1QiwrQ0FBK0M7SUFDakQsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNUOztrQ0FFMEI7SUFDNUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUNELFdBQVcsQ0FBQyxVQUFtQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFOztZQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGFBQWEsMENBQUUsS0FBSyxFQUFFLENBQUM7YUFDMUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlDO1FBQ3JDLDJCQUEyQjtRQUUzQjs7a0NBRTBCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWlDO1FBQ3RDLDJCQUEyQjtRQUMzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQzdDLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQscUJBQXFCLENBQ25CLFFBQWtDLEVBQ2xDLEtBQWE7UUFFYixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsS0FBSyxVQUFVLEVBQUU7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFlBQVk7UUFDckIsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1NBQ2pDO2FBQUk7WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELHlCQUF5QjtRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9DLElBQUksTUFBTSxtQkFDUixnQkFBZ0IsRUFBRSxDQUFDLEVBQ25CLE1BQU0sRUFBRSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQUUsRUFDWixZQUFZLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixJQUN6QyxJQUFJLENBQUMsYUFBYSxDQUN0QixDQUFDO1lBQ0YseUdBQXlHO1lBQ3pHLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztnQkFDZixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUE7YUFDN0M7WUFDRCxvRUFBb0U7WUFDcEUsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUUsZUFBZSxJQUFJLEdBQUcsRUFBQztnQkFDL0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUMsTUFBTSxDQUFDO2FBQy9DO2lCQUFJO2dCQUNILElBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFFLFlBQVksSUFBSSxHQUFHLEVBQUM7b0JBRTVDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBQyxHQUFHLEdBQUMsR0FBRyxHQUFDLEdBQUcsQ0FBQztpQkFDcEQ7cUJBQUk7b0JBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFFLEVBQUUsQ0FBQTtpQkFDM0M7YUFDRjtZQUNELDJFQUEyRTtZQUMzRSwyRkFBMkY7WUFDM0YscUNBQXFDO1lBQ3JDLElBQUksZ0JBQWdCLEdBQUcsR0FBRyxDQUFBO1lBQzFCLElBQUcsSUFBSSxDQUFDLHlCQUF5QixLQUFLLGlDQUFpQyxFQUFDO2dCQUN0RSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQzthQUNyQztpQkFBSTtnQkFDSCxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyx3QkFBd0I7aUJBQzFCLDJCQUEyQixDQUMxQixJQUFJLENBQUMseUJBQXlCLEVBQzlCLE1BQU0sRUFDTixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsZ0JBQWdCLENBQ2pCO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDdkQsQ0FBQztnQkFDRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO2FBQzNCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUUsV0FBVztRQUM1QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUM1QyxJQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUc7Z0JBQ2hGLE1BQU0sR0FBRyxNQUFNLEdBQUMsR0FBRyxHQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUMsR0FBRyxDQUFDOztnQkFFbkcsTUFBTSxHQUFHLE1BQU0sR0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBRXpDO1FBQ0QsT0FBTyxJQUFJLEdBQUMsTUFBTSxHQUFDLElBQUksQ0FBQztJQUMxQixDQUFDOztBQW5TTSw4Q0FBaUIsR0FBRyxJQUFJLENBQUM7eUhBRnJCLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHMwQkNwQ3pDLGt0RkFxRUE7MkZEakNhLDRCQUE0QjtrQkFOeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDckQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzswQkF3REksSUFBSTs7MEJBQUksUUFBUTs0Q0FuRFYsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFFRSxXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R5bmFtaWMtZm9ybS5tb2RlbHMnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0tdXBkYXRlLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgdGV4dCBmaWVsZCBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIFRleHQgRmllbGRcclxuICogQGV4YW1wbGVcclxuICogPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICogICAgW2hvcml6b250YWxBbGlnbl09XCJmYWxzZVwiXHJcbiAqICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogICAgW3BsYWNlaG9sZGVyXT1cIidQQVRILlRPLlBMQUNFSE9MREVSLlNUUklORydcIlxyXG4gKiA+PC9hcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtPlxyXG4gKi9cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHN0YXRpYyBERUZBVUxUX1NFUEFSQVRPUiA9ICcsICc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZSA9IGZhbHNlOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBiYWNrZW5kIHdoZW4gdXNlciB0eXBlIHNvbWUgbGV0dGVyc1xyXG4gIEBJbnB1dCgpIG5hdGl2ZUF1dG9Db21wbGV0ZSA9ICdvZmYnOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBicm93c2VyIG5hdGl2ZWx5XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWUgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcHJvcGVydHlLZXkgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVWYWx1ZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVR5cGUgPSdwZXJjZW50YWdlJztcclxuICBASW5wdXQoKSB0ZW5hbnRJZDsgLy8gcmVhbHRlZCB0byBtdWx0aSB0ZW5hbnQgd2lsbCBiZSBzZW50IGluIGNhZSBvZiBtdWx0aSB0ZW5hbnQgb25seVxyXG4gIEBJbnB1dCgpIGVtaXRGdWxsT2JqZWN0ID0gZmFsc2U7IC8vIHVzZWQgdG8gY29udHJvbCBvbiBlbWl0aW5nIGZ1bGwgc2VsZWN0ZWQgb2JqZWN0IG9yIG9ubHkgc3RyaW5nXHJcbiAgQElucHV0KCkgb3V0c2lkZVBhcmFtcyA9IHt9OyAvLyBvYmplY3Qgb2YgcGFyYW1zIHRvIGJlIHBhc3NlZCBmcm9tIG91dHNpZGVcclxuXHJcbiAgLyoqIGlucHV0IHR5cGUgKi9cclxuICBASW5wdXQoKVxyXG4gIHR5cGUgPSAndGV4dCc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsO1xyXG4gIC8qKiBGaWVsZCBMYWJlbCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw7XHJcbiAgLyoqIGlzIEVkaXRhYmxlICovXHJcbiAgQElucHV0KClcclxuICBlZGl0YWJsZSA9IHRydWU7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHN0cmluZyAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgLyoqIGlzIGRpc2FibGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUVtcHR5ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIHByZXZlbnQgc3BhY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIHByZXZlbnRTcGFjZSA9IGZhbHNlO1xyXG4gIC8qKiBET00gZWxlbWVudCBJZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcblxyXG4gIEBJbnB1dCgpIG1heENoYXJzTnVtID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pIHtcclxuICAgIGlmKHRoaXMuZW1pdEZ1bGxPYmplY3Qpe1xyXG4gICAgICB0aGlzLmVkaXRlZFZhbHVlID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW0udGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gW107XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBsZXQgdmFsID0gdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAuLi50aGlzLm91dHNpZGVQYXJhbXNcclxuICAgICAgfTtcclxuICAgICAgLy8gaWYgaSB3YXMgc2VuZGluZyB0ZW5hbnQgaWQgZnJvbSBvdXRzaWRlIHRoZW4gaSBhbSBpbiBjYXNlIG9mIG11bHRpIHRlbmFudCB0aGVuIGFkZCB0ZW5hbnQgaWQgdG8gcGFyYW1zXHJcbiAgICAgIGlmKHRoaXMudGVuYW50SWQpe1xyXG4gICAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAvJHt0aGlzLnRlbmFudElkfS9gXHJcbiAgICAgIH1cclxuICAgICAgLy8gcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV0gPSAodmFsKSA/IGAlJHt2YWx9JWAgOiAnJztcclxuICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVUeXBlPT1cImNhc2VTZW5zaXRpdmVcIiAmJiB2YWwpe1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLlRvQ2FzZUluc2Vuc2l0aXZlKHZhbCk7XHJcbiAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09cmVzdWx0O1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwicGVyY2VudGFnZVwiICYmIHZhbCl7XHJcblxyXG4gICAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09JyUnK3ZhbCsnJSc7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0gJydcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2hlY2sgaWYgcmVsYXRpb24gdGhlbiB3aWxsIHVzZSBlbnRyaWVzIHRoZW4gZmV0Y2ggb25seSByZXF1aXJlZCBzY2hlbWFzXHJcbiAgICAgIC8vIGFuZCBvdGhlciBzdWdnZXN0ZXIgd2lsbCB1c2UgYWdncmVnYXRpb25zIGZyb20gcmVzcG9uc2Ugbm90IGVudHJpZXMgdGhlbiBhZGQgcGFnZSBzaXplIDBcclxuICAgICAgLy8gYWxsIHRoaXMgdG8gZGVjcmVhc2UgcmVzcG9uc2Ugc2l6ZVxyXG4gICAgICBsZXQgY3VzdG9tUHJvcGVydGllcyA9ICcqJ1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIgPT09ICdQUF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvblNlYWNoJyl7XHJcbiAgICAgICAgY3VzdG9tUHJvcGVydGllcyA9ICdDb3JyZXNwb25kZW5jZSc7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHBhcmFtcy5wYWdlU2l6ZSA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2VcclxuICAgICAgICAuZ2V0VGV4dEJveFN1Z2dlc3Rpb25SZXN1bHRzKFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlLZXksXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlS2V5LFxyXG4gICAgICAgICAgY3VzdG9tUHJvcGVydGllc1xyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdCA9IGRhdGEuZmlsdGVyKChvcHRpb24pID0+XHJcbiAgICAgICAgICAgIG9wdGlvbi50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRMaXN0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIGlmICghdGhpcy5kb2N1bWVudExpc3QubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgVG9DYXNlSW5zZW5zaXRpdmUgKG9yZ2luYWxUZXh0KXtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgbGV0IG9yZ2luYWxUZXh0TG93ZXJDYXNlID0gb3JnaW5hbFRleHQudG9Mb3dlckNhc2UoKTtcclxuICAgIGZvcihsZXQgaT0wO2k8b3JnaW5hbFRleHRMb3dlckNhc2UubGVuZ3RoO2krKyl7XHJcbiAgICAgIGlmKG9yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKSA+PSAnYScgJiYgb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpIDw9ICd6JylcclxuICAgICAgIHJlc3VsdCA9IHJlc3VsdCtcIltcIitvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkrb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpLnRvVXBwZXJDYXNlKCkrXCJdXCI7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSByZXN1bHQrb3JnaW5hbFRleHQuY2hhckF0KGkpO1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIHJldHVybiBcIi4qXCIrcmVzdWx0K1wiLipcIjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1wcm9wZXJ0eS12YWx1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBmb3I9XCJmb3JtR3JvdXBJbnB1dFNtYWxsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1vbmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9wZW5PcHRpb25zKGZhbHNlKVwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LWZpbGxlZCcgOiAoZW1pdEZ1bGxPYmplY3QgPyAoZWRpdGVkVmFsdWU/LnRpdGxlKSA6IGVkaXRlZFZhbHVlKSB9XCJcclxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiYWxsb3dTcGFjZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgI2VkaXRvcklucHV0XHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtaXRGdWxsT2JqZWN0ID8gZWRpdGVkVmFsdWU/LnRpdGxlIDogZWRpdGVkVmFsdWVcIlxyXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIm5hdGl2ZUF1dG9Db21wbGV0ZVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGtleXVwKT1cIndhaXRVbnRpbFVzZXJGaW5pc2hUeXBpbmcoKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lZGl0aW5wdXQtJ1wiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib3Blbk9wdGlvbnModHJ1ZSlcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCJ7e21heENoYXJzTnVtfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudExpc3QubGVuZ3RoICE9PSAwXCIgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInN1Z2dlc3Rpb25zLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2QtYmxvY2snOiBzaG93c3VnZ2VzdGVkT3B0aW9ucyB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRvY3VtZW50TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShvcHRpb24pXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24udGl0bGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnBhdHRlcm5cIj5cclxuICAgICAgICAgICAgICB7eyBcIndyb25nIHBhdHRlcm5cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5taW5cIj5cclxuICAgICAgICAgICAgICB7eyBcIlZBTElEQVRPUlMuTUlOXCIgfCB0cmFuc2xhdGUgfX0ge3sgY29udHJvbC5lcnJvcnMubWluLm1pbiB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjcmVhZE9ubHk+XHJcbiAgICAgICAge3sgZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZSB9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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O3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFFRSxXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R5bmFtaWMtZm9ybS5tb2RlbHMnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0tdXBkYXRlLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgdGV4dCBmaWVsZCBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIFRleHQgRmllbGRcclxuICogQGV4YW1wbGVcclxuICogPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICogICAgW2hvcml6b250YWxBbGlnbl09XCJmYWxzZVwiXHJcbiAqICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogICAgW3BsYWNlaG9sZGVyXT1cIidQQVRILlRPLlBMQUNFSE9MREVSLlNUUklORydcIlxyXG4gKiA+PC9hcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtPlxyXG4gKi9cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHN0YXRpYyBERUZBVUxUX1NFUEFSQVRPUiA9ICcsICc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZSA9IGZhbHNlOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBiYWNrZW5kIHdoZW4gdXNlciB0eXBlIHNvbWUgbGV0dGVyc1xyXG4gIEBJbnB1dCgpIG5hdGl2ZUF1dG9Db21wbGV0ZSA9ICdvZmYnOyAvLyB0byBnZXQgc3VnZ2VzdGlvbnMgZnJvbSBicm93c2VyIG5hdGl2ZWx5XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWUgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcHJvcGVydHlLZXkgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVWYWx1ZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVR5cGUgPSdwZXJjZW50YWdlJztcclxuICBASW5wdXQoKSB0ZW5hbnRJZDsgLy8gcmVhbHRlZCB0byBtdWx0aSB0ZW5hbnQgd2lsbCBiZSBzZW50IGluIGNhZSBvZiBtdWx0aSB0ZW5hbnQgb25seVxyXG4gIEBJbnB1dCgpIGVtaXRGdWxsT2JqZWN0ID0gZmFsc2U7IC8vIHVzZWQgdG8gY29udHJvbCBvbiBlbWl0aW5nIGZ1bGwgc2VsZWN0ZWQgb2JqZWN0IG9yIG9ubHkgc3RyaW5nXHJcbiAgQElucHV0KCkgb3V0c2lkZVBhcmFtcyA9IHt9OyAvLyBvYmplY3Qgb2YgcGFyYW1zIHRvIGJlIHBhc3NlZCBmcm9tIG91dHNpZGVcclxuXHJcbiAgLyoqIGlucHV0IHR5cGUgKi9cclxuICBASW5wdXQoKVxyXG4gIHR5cGUgPSAndGV4dCc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsO1xyXG4gIC8qKiBGaWVsZCBMYWJlbCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw7XHJcbiAgLyoqIGlzIEVkaXRhYmxlICovXHJcbiAgQElucHV0KClcclxuICBlZGl0YWJsZSA9IHRydWU7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHN0cmluZyAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgLyoqIGlzIGRpc2FibGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUVtcHR5ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIHByZXZlbnQgc3BhY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIHByZXZlbnRTcGFjZSA9IGZhbHNlO1xyXG4gIC8qKiBET00gZWxlbWVudCBJZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcblxyXG4gIEBJbnB1dCgpIG1heENoYXJzTnVtID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pIHtcclxuICAgIGlmKHRoaXMuZW1pdEZ1bGxPYmplY3Qpe1xyXG4gICAgICB0aGlzLmVkaXRlZFZhbHVlID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW0udGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gW107XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBsZXQgdmFsID0gdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAuLi50aGlzLm91dHNpZGVQYXJhbXNcclxuICAgICAgfTtcclxuICAgICAgLy8gaWYgaSB3YXMgc2VuZGluZyB0ZW5hbnQgaWQgZnJvbSBvdXRzaWRlIHRoZW4gaSBhbSBpbiBjYXNlIG9mIG11bHRpIHRlbmFudCB0aGVuIGFkZCB0ZW5hbnQgaWQgdG8gcGFyYW1zXHJcbiAgICAgIGlmKHRoaXMudGVuYW50SWQpe1xyXG4gICAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IGAke3RoaXMudGVuYW50SWR9YFxyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdID0gKHZhbCkgPyBgJSR7dmFsfSVgIDogJyc7XHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJjYXNlU2Vuc2l0aXZlXCIgJiYgdmFsKXtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5Ub0Nhc2VJbnNlbnNpdGl2ZSh2YWwpO1xyXG4gICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPXJlc3VsdDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVUeXBlPT1cInBlcmNlbnRhZ2VcIiAmJiB2YWwpe1xyXG5cclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSclJyt2YWwrJyUnO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09ICcnXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGNoZWNrIGlmIHJlbGF0aW9uIHRoZW4gd2lsbCB1c2UgZW50cmllcyB0aGVuIGZldGNoIG9ubHkgcmVxdWlyZWQgc2NoZW1hc1xyXG4gICAgICAvLyBhbmQgb3RoZXIgc3VnZ2VzdGVyIHdpbGwgdXNlIGFnZ3JlZ2F0aW9ucyBmcm9tIHJlc3BvbnNlIG5vdCBlbnRyaWVzIHRoZW4gYWRkIHBhZ2Ugc2l6ZSAwXHJcbiAgICAgIC8vIGFsbCB0aGlzIHRvIGRlY3JlYXNlIHJlc3BvbnNlIHNpemVcclxuICAgICAgbGV0IGN1c3RvbVByb3BlcnRpZXMgPSAnKidcclxuICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID09PSAnUFBfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb25TZWFjaCcpe1xyXG4gICAgICAgIGN1c3RvbVByb3BlcnRpZXMgPSAnQ29ycmVzcG9uZGVuY2UnO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBwYXJhbXMucGFnZVNpemUgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5LFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZUtleSxcclxuICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXNcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudExpc3QgPSBkYXRhLmZpbHRlcigob3B0aW9uKSA9PlxyXG4gICAgICAgICAgICBvcHRpb24udGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWwudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50TGlzdDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5PcHRpb25zKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGUpIHtcclxuICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgICBpZiAoIXRoaXMuZG9jdW1lbnRMaXN0Lmxlbmd0aCAmJiB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFRvQ2FzZUluc2Vuc2l0aXZlIChvcmdpbmFsVGV4dCl7XHJcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcclxuICAgIGxldCBvcmdpbmFsVGV4dExvd2VyQ2FzZSA9IG9yZ2luYWxUZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBmb3IobGV0IGk9MDtpPG9yZ2luYWxUZXh0TG93ZXJDYXNlLmxlbmd0aDtpKyspe1xyXG4gICAgICBpZihvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPj0gJ2EnICYmIG9yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKSA8PSAneicpXHJcbiAgICAgICByZXN1bHQgPSByZXN1bHQrXCJbXCIrb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKS50b1VwcGVyQ2FzZSgpK1wiXVwiO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0K29yZ2luYWxUZXh0LmNoYXJBdChpKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCIuKlwiK3Jlc3VsdCtcIi4qXCI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcHAtcHJvcGVydHktdmFsdWVcIj5cclxuICA8ZGl2IGNsYXNzPVwiYXBwLWlucHV0LXdyYXBwZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGUoKTsgZWxzZSByZWFkT25seVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXctb25lXCIgKGNsaWNrT3V0c2lkZSk9XCJvcGVuT3B0aW9ucyhmYWxzZSlcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSB8fCBudWxsXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1maWxsZWQnIDogKGVtaXRGdWxsT2JqZWN0ID8gKGVkaXRlZFZhbHVlPy50aXRsZSkgOiBlZGl0ZWRWYWx1ZSkgfVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cImFsbG93U3BhY2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICNlZGl0b3JJbnB1dFxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlXCJcclxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJuYXRpdmVBdXRvQ29tcGxldGVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZWRpdGlucHV0LSdcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PcHRpb25zKHRydWUpXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwie3ttYXhDaGFyc051bX19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG9jdW1lbnRMaXN0Lmxlbmd0aCAhPT0gMFwiIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkLWJsb2NrJzogc2hvd3N1Z2dlc3RlZE9wdGlvbnMgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkb2N1bWVudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5wYXR0ZXJuXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJ3cm9uZyBwYXR0ZXJuXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMubWluXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJWQUxJREFUT1JTLk1JTlwiIHwgdHJhbnNsYXRlIH19IHt7IGNvbnRyb2wuZXJyb3JzLm1pbi5taW4gfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxyXG4gICAgICAgIHt7IGVtaXRGdWxsT2JqZWN0ID8gZWRpdGVkVmFsdWU/LnRpdGxlIDogZWRpdGVkVmFsdWUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -10,6 +10,7 @@ export class DynamicFormViewerComponent {
10
10
  this.translation = translation;
11
11
  this.form = {};
12
12
  this.data = null;
13
+ this.classType = null;
13
14
  this.list = [];
14
15
  this.isArabic = false;
15
16
  }
@@ -31,7 +32,7 @@ export class DynamicFormViewerComponent {
31
32
  }
32
33
  }
33
34
  DynamicFormViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormViewerComponent, deps: [{ token: i1.TranslateService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
34
- DynamicFormViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormViewerComponent, selector: "cts-dynamic-form-viewer", inputs: { form: "form", data: "data" }, ngImport: i0, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:bold}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i1.TranslatePipe } });
35
+ DynamicFormViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormViewerComponent, selector: "cts-dynamic-form-viewer", inputs: { form: "form", data: "data", classType: "classType" }, ngImport: i0, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"mx-1 mb-2 class-type-title\" *ngIf=\"classType\">{{\"vocabulary.VOC_CorrespondenceClass.\" + classType |\r\n translate}}</div>\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:bold}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .class-type-title{font-size:14px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i1.TranslatePipe } });
35
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormViewerComponent, decorators: [{
36
37
  type: Component,
37
38
  args: [{
@@ -43,5 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
43
44
  type: Input
44
45
  }], data: [{
45
46
  type: Input
47
+ }], classType: [{
48
+ type: Input
46
49
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12aWV3ZXIvZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12aWV3ZXIvZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQVNqQyxNQUFNLE9BQU8sMEJBQTBCO0lBT3JDLFlBQXFCLFNBQTJCLEVBQVUsV0FBZ0M7UUFBckUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7UUFMMUYsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVmLFNBQUksR0FBUSxJQUFJLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFWCxDQUFDO0lBRVAsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBRTtZQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ2IsT0FBTyxFQUFHLElBQUksQ0FBQyxPQUFPO29CQUN0QixPQUFPLEVBQUcsSUFBSSxDQUFDLEtBQUs7b0JBQ3BCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtvQkFDakMsS0FBSyxFQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3BELElBQUksRUFBRyxJQUFJLENBQUMsSUFBSTtpQkFDakIsQ0FBQyxDQUFBO1lBRU4sQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7O3VIQTNCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix1R0NWdkMsMi9CQXVCQTsyRkRiYSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7aUJBQ3BEO3dJQUdDLElBQUk7c0JBREgsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZm9ybS12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGZvcm06IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogYW55ID0gbnVsbDtcclxuICBsaXN0ID0gW107XHJcbiAgaXNBcmFiaWMgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRpb24gOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcyA7XHJcbiAgICAgIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHt9O1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnNBciA9IHt9O1xyXG4gICAgICBVdGlscy5lYWNoQ29tcG9uZW50KHRoaXMuZm9ybS5jb21wb25lbnRzLCAoY29tcCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5saXN0LnB1c2goe1xyXG4gICAgICAgICAgICBsYWJlbEFyIDogY29tcC5sYWJlbEFyLFxyXG4gICAgICAgICAgICBsYWJlbEVuIDogY29tcC5sYWJlbCxcclxuICAgICAgICAgICAgY3VzdG9tT3B0aW9uczogY29tcC5jdXN0b21PcHRpb25zLFxyXG4gICAgICAgICAgICB2YWx1ZSA6IHRoaXMuZGF0YVt0aGlzLmZvcm0ucHJlZml4ICsgJzonICsgY29tcC5rZXldLFxyXG4gICAgICAgICAgICB0eXBlIDogY29tcC50eXBlXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIFxyXG4gICAgICB9KTtcclxuICAgIH0pXHJcbiAgXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkcy12YWx1ZXNcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmllbGRzLXRpdGxlXCI+XHJcbiAgICB7eyBcIkNSRUFURS5DT1JSRVNQX0ZPUk1fVklFV0VSXCIgfCB0cmFuc2xhdGUgfX1cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidmFsdWVzLXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQtdmFsdWVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiIWlzQXJhYmljXCI+e3sgaXRlbS5sYWJlbEVuIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiaXNBcmFiaWNcIj57eyBpdGVtLmxhYmVsQXIgfX08L2Rpdj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbT8udHlwZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57eyAndm9jYWJ1bGFyeS4nICsgaXRlbS5jdXN0b21PcHRpb25zLnZvY0lkICsgJy4nICsgaXRlbS52YWx1ZSB8IHRyYW5zbGF0ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0b2dnbGUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7ICcnICsgaXRlbS52YWx1ZSB8IHRyYW5zbGF0ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS52YWx1ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12aWV3ZXIvZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12aWV3ZXIvZHluYW1pYy1mb3JtLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQVNqQyxNQUFNLE9BQU8sMEJBQTBCO0lBU3JDLFlBQXFCLFNBQTJCLEVBQVUsV0FBZ0M7UUFBckUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7UUFQMUYsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVmLFNBQUksR0FBUSxJQUFJLENBQUM7UUFFakIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUVYLENBQUM7SUFFUCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFFO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDYixPQUFPLEVBQUcsSUFBSSxDQUFDLE9BQU87b0JBQ3RCLE9BQU8sRUFBRyxJQUFJLENBQUMsS0FBSztvQkFDcEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUNqQyxLQUFLLEVBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDcEQsSUFBSSxFQUFHLElBQUksQ0FBQyxJQUFJO2lCQUNqQixDQUFDLENBQUE7WUFFTixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQzs7dUhBN0JVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLCtIQ1Z2QyxtcENBeUJBOzJGRGZhLDBCQUEwQjtrQkFMdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsc0NBQXNDO29CQUNuRCxTQUFTLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztpQkFDcEQ7d0lBR0MsSUFBSTtzQkFESCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZm9ybS12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGZvcm06IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGNsYXNzVHlwZSA9IG51bGw7XHJcbiAgbGlzdCA9IFtdO1xyXG4gIGlzQXJhYmljID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0aW9uIDogVHJhbnNsYXRpb25TZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuaXNBcmFiaWMgPSByZXMgO1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSB7fTtcclxuICAgICAgY29uc3QgdHJhbnNsYXRpb25zQXIgPSB7fTtcclxuICAgICAgVXRpbHMuZWFjaENvbXBvbmVudCh0aGlzLmZvcm0uY29tcG9uZW50cywgKGNvbXApID0+IHtcclxuICAgICAgICAgIHRoaXMubGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgbGFiZWxBciA6IGNvbXAubGFiZWxBcixcclxuICAgICAgICAgICAgbGFiZWxFbiA6IGNvbXAubGFiZWwsXHJcbiAgICAgICAgICAgIGN1c3RvbU9wdGlvbnM6IGNvbXAuY3VzdG9tT3B0aW9ucyxcclxuICAgICAgICAgICAgdmFsdWUgOiB0aGlzLmRhdGFbdGhpcy5mb3JtLnByZWZpeCArICc6JyArIGNvbXAua2V5XSxcclxuICAgICAgICAgICAgdHlwZSA6IGNvbXAudHlwZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBcclxuICAgICAgfSk7XHJcbiAgICB9KVxyXG4gIFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZHMtdmFsdWVzXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZpZWxkcy10aXRsZVwiPlxyXG4gICAge3sgXCJDUkVBVEUuQ09SUkVTUF9GT1JNX1ZJRVdFUlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInZhbHVlcy13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXgtMSBtYi0yIGNsYXNzLXR5cGUtdGl0bGVcIiAqbmdJZj1cImNsYXNzVHlwZVwiPnt7XCJ2b2NhYnVsYXJ5LlZPQ19Db3JyZXNwb25kZW5jZUNsYXNzLlwiICsgY2xhc3NUeXBlIHxcclxuICAgICAgdHJhbnNsYXRlfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQtdmFsdWVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiIWlzQXJhYmljXCI+e3sgaXRlbS5sYWJlbEVuIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiaXNBcmFiaWNcIj57eyBpdGVtLmxhYmVsQXIgfX08L2Rpdj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbT8udHlwZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57eyAndm9jYWJ1bGFyeS4nICsgaXRlbS5jdXN0b21PcHRpb25zLnZvY0lkICsgJy4nICsgaXRlbS52YWx1ZSB8IHRyYW5zbGF0ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0b2dnbGUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7ICcnICsgaXRlbS52YWx1ZSB8IHRyYW5zbGF0ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS52YWx1ZX19PC9kaXY+ICAgIFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==