ctt-babylon 0.22.130 → 0.22.131

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.
@@ -23,6 +23,7 @@ function loadOnce(src) {
23
23
  }
24
24
  export class BabylonBookingWidgetComponent {
25
25
  constructor(platformId, zone, loader) {
26
+ this.platformId = platformId;
26
27
  this.zone = zone;
27
28
  this.loader = loader;
28
29
  this.widgetId = 'widget-search';
@@ -84,7 +85,14 @@ export class BabylonBookingWidgetComponent {
84
85
  this.triggerWidgetUpdate();
85
86
  }
86
87
  }
88
+ ngOnDestroy() {
89
+ if (this.retryTimeout) {
90
+ clearTimeout(this.retryTimeout);
91
+ }
92
+ }
87
93
  triggerWidgetUpdate() {
94
+ if (!isPlatformBrowser(this.platformId))
95
+ return;
88
96
  if (this.retryTimeout) {
89
97
  clearTimeout(this.retryTimeout);
90
98
  }
@@ -256,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
256
264
  }], flagTime: [{
257
265
  type: Input
258
266
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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QUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmFieWxvbi13aWRnZXQtc2VhcmNoLWxvYWRlci5zZXJ2aWNlJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBXaWRnZXRTZWFyY2g6IGFueTtcbiAgICAgICAgaW5pdGlhbGl6ZVdpZGdldFNlYXJjaD86ICgpID0+IHZvaWQ7XG4gICAgICAgIGdldFdpZGdldEluc3RhbmNlPzogKGlkOiBzdHJpbmcpID0+IGFueTtcbiAgICB9XG59XG5cbmxldCB3aWRnZXRTY3JpcHRQcm9taXNlOiBQcm9taXNlPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGxvYWRPbmNlKHNyYzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHdpZGdldFNjcmlwdFByb21pc2UpIHJldHVybiB3aWRnZXRTY3JpcHRQcm9taXNlO1xuXG4gICAgd2lkZ2V0U2NyaXB0UHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgLy8gU2kgeWEgZXhpc3RlLCByZXNvbHZlbW9zXG4gICAgICAgIGlmICh3aW5kb3cuV2lkZ2V0U2VhcmNoIHx8IHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHMuc3JjID0gc3JjO1xuICAgICAgICBzLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgcy5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XG4gICAgICAgIHMub25lcnJvciA9ICgpID0+XG4gICAgICAgICAgICByZWplY3QobmV3IEVycm9yKCdObyBzZSBwdWRvIGNhcmdhciBlbCBzY3JpcHQgZGVsIHdpZGdldCcpKTtcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB3aWRnZXRTY3JpcHRQcm9taXNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWJvb2tpbmctd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN3aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgIFtpZF09XCJ3aWRnZXRJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJvb2staWRdPVwiaG90ZWxJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWhvdGVsXT1cInRpY2tlclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWVuZ2luZV09XCJlbmdpbmVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS10aGVtZV09XCJ0aGVtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWN1cnJlbmN5XT1cImN1cnJlbmN5XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dF09XCJsYXlvdXRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sYXlvdXQtY29sdW1uXT1cImxheW91dENvbHVtblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtYWR1bHRzXT1cImRlZmF1bHRBZHVsdHNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWp1bmlvcl09XCJkZWZhdWx0SnVuaW9yXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1jaGlsZHJlbl09XCJkZWZhdWx0Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LXByaWNlXT1cInNob3dQcmljZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctaG90ZWwtc2VsZWN0b3JdPVwic2hvd0hvdGVsU2VsZWN0b3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LXByb21vLWNvZGVdPVwic2hvd1Byb21vQ29kZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctY2hpbGQtYWdlc109XCJzaG93Q2hpbGRBZ2VzXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWNoaWxkcmVuXT1cIm1heENoaWxkcmVuXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWp1bmlvcl09XCJtYXhKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1iYXNlLXVybF09XCJiYXNlVXJsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdXJsLWNoYWluXT1cInVybENoYWluXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdXJsLWhvdGVsXT1cInVybEhvdGVsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYnV0dG9uLXRleHRdPVwiYnV0dG9uVGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1yb29tc109XCJtYXhSb29tc1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctYWxsLWhvdGVscy1vcHRpb25dPVwic2hvd0FsbEhvdGVsc09wdGlvblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRhcmdldC1ibGFua109XCJ0YXJnZXRCbGFua1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWhvdGVsLXRleHRdPVwiaG90ZWxUZXh0XCJcbiAgICAgICAgPjwvZGl2PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Cb29raW5nV2lkZ2V0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3aWRnZXRDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHdpZGdldENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KCkgd2lkZ2V0SWQgPSAnd2lkZ2V0LXNlYXJjaCc7XG4gICAgQElucHV0KCkgaG90ZWxJZCA9ICdhbGVjYWQnO1xuICAgIEBJbnB1dCgpIHRpY2tlciA9ICdob3RlbG1hcmlzdGVsLmNvbSc7XG4gICAgQElucHV0KCkgdHlwZTogJ2NoYWluJyB8ICdob3RlbCcgfCBzdHJpbmcgPSAnY2hhaW4nO1xuICAgIEBJbnB1dCgpIGVuZ2luZTogJ3dpdGJvb2tpbmcnIHwgJ3JvaWJhY2snIHwgc3RyaW5nID0gJ3dpdGJvb2tpbmcnO1xuICAgIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnIHwgc3RyaW5nID0gJ2xpZ2h0JztcbiAgICBASW5wdXQoKSBjdXJyZW5jeSA9ICdFVVInO1xuICAgIEBJbnB1dCgpIGxvY2FsZT86IHN0cmluZyA9ICdlcy1FUyc7XG4gICAgQElucHV0KCkgbGF5b3V0OiAnaW5saW5lJyB8ICdjb2x1bW4nIHwgc3RyaW5nID0gJ2lubGluZSc7XG4gICAgQElucHV0KCkgZGVmYXVsdEFkdWx0cyA9IDI7XG4gICAgQElucHV0KCkgZGVmYXVsdENoaWxkcmVuID0gMDtcbiAgICBASW5wdXQoKSBkZWZhdWx0SnVuaW9yID0gMDtcbiAgICBASW5wdXQoKSBzaG93UHJpY2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93SG90ZWxTZWxlY3RvciA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1Byb21vQ29kZSA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0NoaWxkQWdlcyA9IHRydWU7XG4gICAgQElucHV0KCkgbWF4Q2hpbGRyZW4/OiBudW1iZXI7XG4gICAgQElucHV0KCkgbWF4SnVuaW9yPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdXJsQ2hhaW4/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdXJsSG90ZWwgPSAnaG90ZWwnO1xuICAgIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGF5b3V0Q29sdW1uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1heFJvb21zPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dBbGxIb3RlbHNPcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGFyZ2V0Qmxhbms/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhvdGVsVGV4dD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGVuZGluZ1RpY2tlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZXRyeVRpbWVvdXQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGxvYWRlcjogQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy9XYWl0IGZvciBpbnB1dHNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vdW50ZWQpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8g4qyH77iPIFBPTiBBUVXDjSBsYSBVUkwgcmVhbCBkZWwgc2NyaXB0IGRlIFdpdGJvb2tpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZGVyLmxvYWQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3VudCgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZ1RpbWUgPyAzMDAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbCA6Y29udGVudFJlZmVyZW5jZVtvYWljaXRlOjFde2luZGV4PTF9XG4gICAgICAgIGlmICh3aW5kb3cuaW5pdGlhbGl6ZVdpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2goKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wY2nDs24gQjogY29uc3RydWN0b3IgOmNvbnRlbnRSZWZlcmVuY2Vbb2FpY2l0ZToyXXtpbmRleD0yfVxuICAgICAgICBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgLy8gU2kgdHUgV2lkZ2V0U2VhcmNoIGFjZXB0YSAoZWwsIGNvbmZpZyksIGFxdcOtIHB1ZWRlcyBwYXNhciBjb25maWcuXG4gICAgICAgICAgICBuZXcgd2luZG93LldpZGdldFNlYXJjaChlbCwge30pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1sndGlja2VyJ10pIHtcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBzaWVtcHJlIGVsIMOaTFRJTU8gdmFsb3IgcXVlIEFuZ3VsYXIgbm9zIG1hbmRlXG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgPSBjaGFuZ2VzWyd0aWNrZXInXS5jdXJyZW50VmFsdWUgfHwgJ2FsbC1ob3RlbHMnO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhbW9zIGxhIGFjdHVhbGl6YWNpw7NuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy53aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIDEuIEVzcGVyYW1vcyBhIHF1ZSBlbCB3aWRnZXQgaGF5YSBkZXNjYXJnYWRvIHkgZGlidWphZG8gbG9zIGhvdGVsZXMgZW4gZWwgRE9NXG4gICAgICAgICAgICBjb25zdCBob3RlbE9wdGlvbnMgPSBjb250YWluZXJFbC5xdWVyeVNlbGVjdG9yQWxsKCcuaG90ZWwtb3B0aW9uJyk7XG5cbiAgICAgICAgICAgIGlmIChob3RlbE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFRpY2tlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciAmJiB0aGlzLnBlbmRpbmdUaWNrZXIudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBlbmRpbmdUaWNrZXIudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uVG9DbGljazogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIC8vIDIuIEJ1c2NhbW9zIGxhIG9wY2nDs24gZGUgaG90ZWwgcmVhbCBxdWUgY29pbmNpZGEgY29uIGVsIHRpY2tlclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG90ZWxPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IGhvdGVsT3B0aW9uc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0SWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0LmdldEF0dHJpYnV0ZSgnZGF0YS1ob3RlbC1pZCcpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENvaW5jaWRlbmNpYSBleGFjdGEgbyBwYXJjaWFsIChwb3Igc2kgZWwgd2lkZ2V0IGxlIGHDsWFkZSBzdWZpam9zIGFsIElEKVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZCA9PT0gdGFyZ2V0VGlja2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZC5pbmNsdWRlcyh0YXJnZXRUaWNrZXIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljayA9IG9wdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvblRvQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljay5jbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQcO6biBubyBzZSBoYW4gZGlidWphZG8gbGFzIG9wY2lvbmVzLCBlbCBtb3RvciBzaWd1ZSBjYXJnYW5kby4uLlxuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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YUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYWJ5bG9uLXdpZGdldC1zZWFyY2gtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFdpZGdldFNlYXJjaDogYW55O1xuICAgICAgICBpbml0aWFsaXplV2lkZ2V0U2VhcmNoPzogKCkgPT4gdm9pZDtcbiAgICAgICAgZ2V0V2lkZ2V0SW5zdGFuY2U/OiAoaWQ6IHN0cmluZykgPT4gYW55O1xuICAgIH1cbn1cblxubGV0IHdpZGdldFNjcmlwdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZE9uY2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAod2lkZ2V0U2NyaXB0UHJvbWlzZSkgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG5cbiAgICB3aWRnZXRTY3JpcHRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBTaSB5YSBleGlzdGUsIHJlc29sdmVtb3NcbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2ggfHwgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgcy5zcmMgPSBzcmM7XG4gICAgICAgIHMuYXN5bmMgPSB0cnVlO1xuICAgICAgICBzLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgICAgcy5vbmVycm9yID0gKCkgPT5cbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIHNjcmlwdCBkZWwgd2lkZ2V0JykpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYm9va2luZy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI3dpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgW2lkXT1cIndpZGdldElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYm9vay1pZF09XCJob3RlbElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWxdPVwidGlja2VyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZW5naW5lXT1cImVuZ2luZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtY3VycmVuY3ldPVwiY3VycmVuY3lcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0XT1cImxheW91dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dC1jb2x1bW5dPVwibGF5b3V0Q29sdW1uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1hZHVsdHNdPVwiZGVmYXVsdEFkdWx0c1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtanVuaW9yXT1cImRlZmF1bHRKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWNoaWxkcmVuXT1cImRlZmF1bHRDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJpY2VdPVwic2hvd1ByaWNlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1ob3RlbC1zZWxlY3Rvcl09XCJzaG93SG90ZWxTZWxlY3RvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJvbW8tY29kZV09XCJzaG93UHJvbW9Db2RlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1jaGlsZC1hZ2VzXT1cInNob3dDaGlsZEFnZXNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtY2hpbGRyZW5dPVwibWF4Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtanVuaW9yXT1cIm1heEp1bmlvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJhc2UtdXJsXT1cImJhc2VVcmxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtY2hhaW5dPVwidXJsQ2hhaW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtaG90ZWxdPVwidXJsSG90ZWxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1idXR0b24tdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LXJvb21zXT1cIm1heFJvb21zXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1hbGwtaG90ZWxzLW9wdGlvbl09XCJzaG93QWxsSG90ZWxzT3B0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGFyZ2V0LWJsYW5rXT1cInRhcmdldEJsYW5rXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWwtdGV4dF09XCJob3RlbFRleHRcIlxuICAgICAgICA+PC9kaXY+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkJvb2tpbmdXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgd2lkZ2V0Q29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKSB3aWRnZXRJZCA9ICd3aWRnZXQtc2VhcmNoJztcbiAgICBASW5wdXQoKSBob3RlbElkID0gJ2FsZWNhZCc7XG4gICAgQElucHV0KCkgdGlja2VyID0gJ2hvdGVsbWFyaXN0ZWwuY29tJztcbiAgICBASW5wdXQoKSB0eXBlOiAnY2hhaW4nIHwgJ2hvdGVsJyB8IHN0cmluZyA9ICdjaGFpbic7XG4gICAgQElucHV0KCkgZW5naW5lOiAnd2l0Ym9va2luZycgfCAncm9pYmFjaycgfCBzdHJpbmcgPSAnd2l0Ym9va2luZyc7XG4gICAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCBzdHJpbmcgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIGN1cnJlbmN5ID0gJ0VVUic7XG4gICAgQElucHV0KCkgbG9jYWxlPzogc3RyaW5nID0gJ2VzLUVTJztcbiAgICBASW5wdXQoKSBsYXlvdXQ6ICdpbmxpbmUnIHwgJ2NvbHVtbicgfCBzdHJpbmcgPSAnaW5saW5lJztcbiAgICBASW5wdXQoKSBkZWZhdWx0QWR1bHRzID0gMjtcbiAgICBASW5wdXQoKSBkZWZhdWx0Q2hpbGRyZW4gPSAwO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRKdW5pb3IgPSAwO1xuICAgIEBJbnB1dCgpIHNob3dQcmljZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dIb3RlbFNlbGVjdG9yID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93UHJvbW9Db2RlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93Q2hpbGRBZ2VzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBtYXhDaGlsZHJlbj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBtYXhKdW5pb3I/OiBudW1iZXI7XG4gICAgQElucHV0KCkgYmFzZVVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxDaGFpbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxIb3RlbCA9ICdob3RlbCc7XG4gICAgQElucHV0KCkgYnV0dG9uVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBsYXlvdXRDb2x1bW4/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4Um9vbXM/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0FsbEhvdGVsc09wdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB0YXJnZXRCbGFuaz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgaG90ZWxUZXh0Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZmxhZ1RpbWU/OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwZW5kaW5nVGlja2VyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJldHJ5VGltZW91dDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXI6IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vV2FpdCBmb3IgaW5wdXRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VudGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOKsh++4jyBQT04gQVFVw40gbGEgVVJMIHJlYWwgZGVsIHNjcmlwdCBkZSBXaXRib29raW5nXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci5sb2FkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW91bnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmZsYWdUaW1lID8gMzAwMCA6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW91bnQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vdW50ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBlbCA9IHRoaXMud2lkZ2V0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gT3BjacOzbiBBIChzaSBleGlzdGUpOiBpbml0IGdsb2JhbCBtYW51YWwgOmNvbnRlbnRSZWZlcmVuY2Vbb2FpY2l0ZToxXXtpbmRleD0xfVxuICAgICAgICBpZiAod2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGNpw7NuIEI6IGNvbnN0cnVjdG9yIDpjb250ZW50UmVmZXJlbmNlW29haWNpdGU6Ml17aW5kZXg9Mn1cbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIC8vIFNpIHR1IFdpZGdldFNlYXJjaCBhY2VwdGEgKGVsLCBjb25maWcpLCBhcXXDrSBwdWVkZXMgcGFzYXIgY29uZmlnLlxuICAgICAgICAgICAgbmV3IHdpbmRvdy5XaWRnZXRTZWFyY2goZWwsIHt9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3RpY2tlciddKSB7XG4gICAgICAgICAgICAvLyBHdWFyZGFtb3Mgc2llbXByZSBlbCDDmkxUSU1PIHZhbG9yIHF1ZSBBbmd1bGFyIG5vcyBtYW5kZVxuICAgICAgICAgICAgdGhpcy5wZW5kaW5nVGlja2VyID0gY2hhbmdlc1sndGlja2VyJ10uY3VycmVudFZhbHVlIHx8ICdhbGwtaG90ZWxzJztcblxuICAgICAgICAgICAgLy8gRGlzcGFyYW1vcyBsYSBhY3R1YWxpemFjacOzblxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmlnZ2VyV2lkZ2V0VXBkYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy53aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIDEuIEVzcGVyYW1vcyBhIHF1ZSBlbCB3aWRnZXQgaGF5YSBkZXNjYXJnYWRvIHkgZGlidWphZG8gbG9zIGhvdGVsZXMgZW4gZWwgRE9NXG4gICAgICAgICAgICBjb25zdCBob3RlbE9wdGlvbnMgPSBjb250YWluZXJFbC5xdWVyeVNlbGVjdG9yQWxsKCcuaG90ZWwtb3B0aW9uJyk7XG5cbiAgICAgICAgICAgIGlmIChob3RlbE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFRpY2tlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciAmJiB0aGlzLnBlbmRpbmdUaWNrZXIudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBlbmRpbmdUaWNrZXIudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uVG9DbGljazogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIC8vIDIuIEJ1c2NhbW9zIGxhIG9wY2nDs24gZGUgaG90ZWwgcmVhbCBxdWUgY29pbmNpZGEgY29uIGVsIHRpY2tlclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG90ZWxPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IGhvdGVsT3B0aW9uc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0SWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0LmdldEF0dHJpYnV0ZSgnZGF0YS1ob3RlbC1pZCcpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENvaW5jaWRlbmNpYSBleGFjdGEgbyBwYXJjaWFsIChwb3Igc2kgZWwgd2lkZ2V0IGxlIGHDsWFkZSBzdWZpam9zIGFsIElEKVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZCA9PT0gdGFyZ2V0VGlja2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZC5pbmNsdWRlcyh0YXJnZXRUaWNrZXIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljayA9IG9wdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvblRvQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljay5jbGljaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQcO6biBubyBzZSBoYW4gZGlidWphZG8gbGFzIG9wY2lvbmVzLCBlbCBtb3RvciBzaWd1ZSBjYXJnYW5kby4uLlxuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==