ctt-babylon 0.21.45 → 0.21.46
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.
- package/esm2022/lib/components/core/babylon-booking-widget/babylon-booking-widget.component.mjs +11 -2
- package/esm2022/lib/components/core/babylon-engine/babylon-engine.component.mjs +34 -21
- package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.mjs +34 -20
- package/esm2022/lib/components/core/babylon-engine-widget-modal/babylon-engine-widget-modal.component.mjs +3 -3
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.mjs +27 -3
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +1 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +9 -2
- package/fesm2022/ctt-babylon.mjs +112 -45
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-booking-widget/babylon-booking-widget.component.d.ts +3 -1
- package/lib/components/core/babylon-engine/babylon-engine.component.d.ts +4 -1
- package/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.d.ts +0 -1
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.d.ts +6 -2
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +1 -0
- package/package.json +1 -1
package/esm2022/lib/components/core/babylon-booking-widget/babylon-booking-widget.component.mjs
CHANGED
|
@@ -36,6 +36,7 @@ export class BabylonBookingWidgetComponent {
|
|
|
36
36
|
this.layout = 'inline';
|
|
37
37
|
this.defaultAdults = 2;
|
|
38
38
|
this.defaultChildren = 0;
|
|
39
|
+
this.defaultJunior = 0;
|
|
39
40
|
this.showPrice = false;
|
|
40
41
|
this.showHotelSelector = true;
|
|
41
42
|
this.showPromoCode = true;
|
|
@@ -129,7 +130,7 @@ export class BabylonBookingWidgetComponent {
|
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonBookingWidgetComponent, deps: [{ token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.BabylonWidgetSearchLoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BabylonBookingWidgetComponent, isStandalone: true, selector: "lib-babylon-booking-widget", inputs: { widgetId: "widgetId", hotelId: "hotelId", ticker: "ticker", type: "type", engine: "engine", theme: "theme", currency: "currency", locale: "locale", layout: "layout", defaultAdults: "defaultAdults", defaultChildren: "defaultChildren", showPrice: "showPrice", showHotelSelector: "showHotelSelector", showPromoCode: "showPromoCode", showChildAges: "showChildAges", maxChildren: "maxChildren", baseUrl: "baseUrl", urlChain: "urlChain", urlHotel: "urlHotel", buttonText: "buttonText", layoutColumn: "layoutColumn", maxRooms: "maxRooms", showAllHotelsOption: "showAllHotelsOption", flagTime: "flagTime" }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BabylonBookingWidgetComponent, isStandalone: true, selector: "lib-babylon-booking-widget", inputs: { widgetId: "widgetId", hotelId: "hotelId", ticker: "ticker", type: "type", engine: "engine", theme: "theme", currency: "currency", locale: "locale", layout: "layout", defaultAdults: "defaultAdults", defaultChildren: "defaultChildren", defaultJunior: "defaultJunior", showPrice: "showPrice", showHotelSelector: "showHotelSelector", showPromoCode: "showPromoCode", showChildAges: "showChildAges", maxChildren: "maxChildren", maxJunior: "maxJunior", baseUrl: "baseUrl", urlChain: "urlChain", urlHotel: "urlHotel", buttonText: "buttonText", layoutColumn: "layoutColumn", maxRooms: "maxRooms", showAllHotelsOption: "showAllHotelsOption", flagTime: "flagTime" }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
133
134
|
<div
|
|
134
135
|
#widgetContainer
|
|
135
136
|
[id]="widgetId"
|
|
@@ -143,12 +144,14 @@ export class BabylonBookingWidgetComponent {
|
|
|
143
144
|
[attr.data-layout]="layout"
|
|
144
145
|
[attr.data-layout-column]="layoutColumn"
|
|
145
146
|
[attr.data-default-adults]="defaultAdults"
|
|
147
|
+
[attr.data-default-junior]="defaultJunior"
|
|
146
148
|
[attr.data-default-children]="defaultChildren"
|
|
147
149
|
[attr.data-show-price]="showPrice"
|
|
148
150
|
[attr.data-show-hotel-selector]="showHotelSelector"
|
|
149
151
|
[attr.data-show-promo-code]="showPromoCode"
|
|
150
152
|
[attr.data-show-child-ages]="showChildAges"
|
|
151
153
|
[attr.data-max-children]="maxChildren"
|
|
154
|
+
[attr.data-max-junior]="maxJunior"
|
|
152
155
|
[attr.data-base-url]="baseUrl"
|
|
153
156
|
[attr.data-url-chain]="urlChain"
|
|
154
157
|
[attr.data-url-hotel]="urlHotel"
|
|
@@ -177,12 +180,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
177
180
|
[attr.data-layout]="layout"
|
|
178
181
|
[attr.data-layout-column]="layoutColumn"
|
|
179
182
|
[attr.data-default-adults]="defaultAdults"
|
|
183
|
+
[attr.data-default-junior]="defaultJunior"
|
|
180
184
|
[attr.data-default-children]="defaultChildren"
|
|
181
185
|
[attr.data-show-price]="showPrice"
|
|
182
186
|
[attr.data-show-hotel-selector]="showHotelSelector"
|
|
183
187
|
[attr.data-show-promo-code]="showPromoCode"
|
|
184
188
|
[attr.data-show-child-ages]="showChildAges"
|
|
185
189
|
[attr.data-max-children]="maxChildren"
|
|
190
|
+
[attr.data-max-junior]="maxJunior"
|
|
186
191
|
[attr.data-base-url]="baseUrl"
|
|
187
192
|
[attr.data-url-chain]="urlChain"
|
|
188
193
|
[attr.data-url-hotel]="urlHotel"
|
|
@@ -220,6 +225,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
220
225
|
type: Input
|
|
221
226
|
}], defaultChildren: [{
|
|
222
227
|
type: Input
|
|
228
|
+
}], defaultJunior: [{
|
|
229
|
+
type: Input
|
|
223
230
|
}], showPrice: [{
|
|
224
231
|
type: Input
|
|
225
232
|
}], showHotelSelector: [{
|
|
@@ -230,6 +237,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
230
237
|
type: Input
|
|
231
238
|
}], maxChildren: [{
|
|
232
239
|
type: Input
|
|
240
|
+
}], maxJunior: [{
|
|
241
|
+
type: Input
|
|
233
242
|
}], baseUrl: [{
|
|
234
243
|
type: Input
|
|
235
244
|
}], urlChain: [{
|
|
@@ -247,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
247
256
|
}], flagTime: [{
|
|
248
257
|
type: Input
|
|
249
258
|
}] } });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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UztzQkFBakIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYWJ5bG9uLXdpZGdldC1zZWFyY2gtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFdpZGdldFNlYXJjaDogYW55O1xuICAgICAgICBpbml0aWFsaXplV2lkZ2V0U2VhcmNoPzogKCkgPT4gdm9pZDtcbiAgICAgICAgZ2V0V2lkZ2V0SW5zdGFuY2U/OiAoaWQ6IHN0cmluZykgPT4gYW55O1xuICAgIH1cbn1cblxubGV0IHdpZGdldFNjcmlwdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZE9uY2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAod2lkZ2V0U2NyaXB0UHJvbWlzZSkgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG5cbiAgICB3aWRnZXRTY3JpcHRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBTaSB5YSBleGlzdGUsIHJlc29sdmVtb3NcbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2ggfHwgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgcy5zcmMgPSBzcmM7XG4gICAgICAgIHMuYXN5bmMgPSB0cnVlO1xuICAgICAgICBzLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgICAgcy5vbmVycm9yID0gKCkgPT5cbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIHNjcmlwdCBkZWwgd2lkZ2V0JykpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYm9va2luZy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI3dpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgW2lkXT1cIndpZGdldElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYm9vay1pZF09XCJob3RlbElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWxdPVwidGlja2VyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZW5naW5lXT1cImVuZ2luZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtY3VycmVuY3ldPVwiY3VycmVuY3lcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0XT1cImxheW91dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dC1jb2x1bW5dPVwibGF5b3V0Q29sdW1uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1hZHVsdHNdPVwiZGVmYXVsdEFkdWx0c1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtY2hpbGRyZW5dPVwiZGVmYXVsdENoaWxkcmVuXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1wcmljZV09XCJzaG93UHJpY2VcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LWhvdGVsLXNlbGVjdG9yXT1cInNob3dIb3RlbFNlbGVjdG9yXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1wcm9tby1jb2RlXT1cInNob3dQcm9tb0NvZGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LWNoaWxkLWFnZXNdPVwic2hvd0NoaWxkQWdlc1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1jaGlsZHJlbl09XCJtYXhDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJhc2UtdXJsXT1cImJhc2VVcmxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtY2hhaW5dPVwidXJsQ2hhaW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtaG90ZWxdPVwidXJsSG90ZWxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1idXR0b24tdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LXJvb21zXT1cIm1heFJvb21zXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1hbGwtaG90ZWxzLW9wdGlvbl09XCJzaG93QWxsSG90ZWxzT3B0aW9uXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Cb29raW5nV2lkZ2V0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3aWRnZXRDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHdpZGdldENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KCkgd2lkZ2V0SWQgPSAnd2lkZ2V0LXNlYXJjaCc7XG4gICAgQElucHV0KCkgaG90ZWxJZCA9ICdhbGVjYWQnO1xuICAgIEBJbnB1dCgpIHRpY2tlciA9ICdob3RlbG1hcmlzdGVsLmNvbSc7XG4gICAgQElucHV0KCkgdHlwZTogJ2NoYWluJyB8ICdob3RlbCcgfCBzdHJpbmcgPSAnY2hhaW4nO1xuICAgIEBJbnB1dCgpIGVuZ2luZTogJ3dpdGJvb2tpbmcnIHwgJ3JvaWJhY2snIHwgc3RyaW5nID0gJ3dpdGJvb2tpbmcnO1xuICAgIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnIHwgc3RyaW5nID0gJ2xpZ2h0JztcbiAgICBASW5wdXQoKSBjdXJyZW5jeSA9ICdFVVInO1xuICAgIEBJbnB1dCgpIGxvY2FsZT86IHN0cmluZyA9ICdlcy1FUyc7XG4gICAgQElucHV0KCkgbGF5b3V0OiAnaW5saW5lJyB8ICdjb2x1bW4nIHwgc3RyaW5nID0gJ2lubGluZSc7XG4gICAgQElucHV0KCkgZGVmYXVsdEFkdWx0cyA9IDI7XG4gICAgQElucHV0KCkgZGVmYXVsdENoaWxkcmVuID0gMDtcbiAgICBASW5wdXQoKSBzaG93UHJpY2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93SG90ZWxTZWxlY3RvciA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1Byb21vQ29kZSA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0NoaWxkQWdlcyA9IHRydWU7XG4gICAgQElucHV0KCkgbWF4Q2hpbGRyZW4/OiBudW1iZXI7XG4gICAgQElucHV0KCkgYmFzZVVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxDaGFpbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxIb3RlbCA9ICdob3RlbCc7XG4gICAgQElucHV0KCkgYnV0dG9uVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBsYXlvdXRDb2x1bW4/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4Um9vbXM/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0FsbEhvdGVsc09wdGlvbj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGVuZGluZ1RpY2tlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZXRyeVRpbWVvdXQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGxvYWRlcjogQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy9XYWl0IGZvciBpbnB1dHNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vdW50ZWQpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8g4qyH77iPIFBPTiBBUVXDjSBsYSBVUkwgcmVhbCBkZWwgc2NyaXB0IGRlIFdpdGJvb2tpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZGVyLmxvYWQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3VudCgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZ1RpbWUgPyAzMDAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbCA6Y29udGVudFJlZmVyZW5jZVtvYWljaXRlOjFde2luZGV4PTF9XG4gICAgICAgIGlmICh3aW5kb3cuaW5pdGlhbGl6ZVdpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2goKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wY2nDs24gQjogY29uc3RydWN0b3IgOmNvbnRlbnRSZWZlcmVuY2Vbb2FpY2l0ZToyXXtpbmRleD0yfVxuICAgICAgICBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgLy8gU2kgdHUgV2lkZ2V0U2VhcmNoIGFjZXB0YSAoZWwsIGNvbmZpZyksIGFxdcOtIHB1ZWRlcyBwYXNhciBjb25maWcuXG4gICAgICAgICAgICBuZXcgd2luZG93LldpZGdldFNlYXJjaChlbCwge30pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1sndGlja2VyJ10pIHtcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBzaWVtcHJlIGVsIMOaTFRJTU8gdmFsb3IgcXVlIEFuZ3VsYXIgbm9zIG1hbmRlXG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgPSBjaGFuZ2VzWyd0aWNrZXInXS5jdXJyZW50VmFsdWUgfHwgJ2FsbC1ob3RlbHMnO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhbW9zIGxhIGFjdHVhbGl6YWNpw7NuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy53aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIDEuIEVzcGVyYW1vcyBhIHF1ZSBlbCB3aWRnZXQgaGF5YSBkZXNjYXJnYWRvIHkgZGlidWphZG8gbG9zIGhvdGVsZXMgZW4gZWwgRE9NXG4gICAgICAgICAgICBjb25zdCBob3RlbE9wdGlvbnMgPSBjb250YWluZXJFbC5xdWVyeVNlbGVjdG9yQWxsKCcuaG90ZWwtb3B0aW9uJyk7XG5cbiAgICAgICAgICAgIGlmIChob3RlbE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFRpY2tlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciAmJiB0aGlzLnBlbmRpbmdUaWNrZXIudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBlbmRpbmdUaWNrZXIudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uVG9DbGljazogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIC8vIDIuIEJ1c2NhbW9zIGxhIG9wY2nDs24gZGUgaG90ZWwgcmVhbCBxdWUgY29pbmNpZGEgY29uIGVsIHRpY2tlclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG90ZWxPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IGhvdGVsT3B0aW9uc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0SWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0LmdldEF0dHJpYnV0ZSgnZGF0YS1ob3RlbC1pZCcpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENvaW5jaWRlbmNpYSBleGFjdGEgbyBwYXJjaWFsIChwb3Igc2kgZWwgd2lkZ2V0IGxlIGHDsWFkZSBzdWZpam9zIGFsIElEKVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZCA9PT0gdGFyZ2V0VGlja2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZC5pbmNsdWRlcyh0YXJnZXRUaWNrZXIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljayA9IG9wdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvblRvQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g8J+MnyBMQSBNQUdJQSBBQlNPTFVUQSDwn4yfXG4gICAgICAgICAgICAgICAgICAgIC8vIEVuIGx1Z2FyIGRlIHVzYXIgbGEgQVBJIGRlbCB3aWRnZXQsIHNpbXVsYW1vcyB1biBjbGljIGh1bWFuby5cbiAgICAgICAgICAgICAgICAgICAgLy8gRXN0byBmdWVyemEgYWwgd2lkZ2V0IGEgcHJvY2VzYXJsbyB0b2RvOiBwb25lIGVsIG5vbWJyZSBsZWdpYmxlLFxuICAgICAgICAgICAgICAgICAgICAvLyBhcGxpY2EgbGEgY2xhc2UgJy5zZWxlY3RlZCcgeSBkZWphIGVsIGJvdMOzbiBcIkJ1c2NhclwiIGZlbGl6IHkgb3BlcmF0aXZvLlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrLmNsaWNrKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgICAgICAgICBgW1dpZGdldF0g4pyFIENsaWNrIHNpbXVsYWRvIGNvbiDDqXhpdG8gZW46ICR7b3B0aW9uVG9DbGljay5nZXRBdHRyaWJ1dGUoJ2RhdGEtaG90ZWwtaWQnKX1gXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBbV2lkZ2V0XSDinYwgRVJST1IgQ1LDjVRJQ086IEVsIGhvdGVsICcke3RoaXMucGVuZGluZ1RpY2tlcn0nIE5PIEVYSVNURSBlbiBsYSBsaXN0YSBkZWwgbW90b3IgZGUgcmVzZXJ2YXMuYFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQcO6biBubyBzZSBoYW4gZGlidWphZG8gbGFzIG9wY2lvbmVzLCBlbCBtb3RvciBzaWd1ZSBjYXJnYW5kby4uLlxuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7UUFDaEUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLG1CQUFtQixDQUFDO0FBQy9CLENBQUM7QUFvQ0QsTUFBTSxPQUFPLDZCQUE2QjtJQXFDdEMsWUFDeUIsVUFBa0IsRUFDL0IsSUFBWSxFQUNaLE1BQXdDO1FBRHhDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFrQztRQXBDM0MsYUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMzQixZQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ25CLFdBQU0sR0FBRyxtQkFBbUIsQ0FBQztRQUM3QixTQUFJLEdBQStCLE9BQU8sQ0FBQztRQUMzQyxXQUFNLEdBQXNDLFlBQVksQ0FBQztRQUN6RCxVQUFLLEdBQThCLE9BQU8sQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBWSxPQUFPLENBQUM7UUFDMUIsV0FBTSxHQUFpQyxRQUFRLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDekIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFLckIsYUFBUSxHQUFHLE9BQU8sQ0FBQztRQU1uQixhQUFRLEdBQWEsSUFBSSxDQUFDO1FBRTNCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBUXhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRTNDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDakIsVUFBVSxDQUNOLEdBQUcsRUFBRTtnQkFDRCxpQkFBaUI7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ25DLElBQUksSUFBSSxDQUFDLE9BQU87d0JBQUUsT0FBTztvQkFFekIsbURBQW1EO29CQUNuRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBRXpCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFFOUMsaUZBQWlGO1FBQ2pGLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLE9BQU87U0FDVjtRQUVELDhEQUE4RDtRQUM5RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckIsb0VBQW9FO1lBQ3BFLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25CLDBEQUEwRDtZQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDO1lBRXBFLDhCQUE4QjtZQUM5QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZTtnQkFDcEMsRUFBRSxhQUE0QixDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU87WUFFekIsZ0ZBQWdGO1lBQ2hGLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUVuRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixNQUFNLFlBQVksR0FDZCxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtvQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO29CQUNsQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUV2QixJQUFJLGFBQWEsR0FBdUIsSUFBSSxDQUFDO2dCQUU3QyxpRUFBaUU7Z0JBQ2pFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMxQyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFnQixDQUFDO29CQUMzQyxNQUFNLEtBQUssR0FDUCxHQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFFM0QsMEVBQTBFO29CQUMxRSxJQUNJLEtBQUssS0FBSyxZQUFZO3dCQUN0QixLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUM5Qjt3QkFDRSxhQUFhLEdBQUcsR0FBRyxDQUFDO3dCQUNwQixNQUFNO3FCQUNUO2lCQUNKO2dCQUVELElBQUksYUFBYSxFQUFFO29CQUNmLDBCQUEwQjtvQkFDMUIsZ0VBQWdFO29CQUNoRSxtRUFBbUU7b0JBQ25FLDBFQUEwRTtvQkFDMUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUV0QixPQUFPLENBQUMsR0FBRyxDQUNQLDJDQUEyQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQzNGLENBQUM7aUJBQ0w7cUJBQU07b0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FDVCx1Q0FBdUMsSUFBSSxDQUFDLGFBQWEsZ0RBQWdELENBQzVHLENBQUM7aUJBQ0w7YUFDSjtpQkFBTTtnQkFDSCxrRUFBa0U7Z0JBQ2xFLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUMxQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFDaEMsR0FBRyxDQUNOLENBQUM7YUFDTDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F2SlEsNkJBQTZCLGtCQXNDMUIsV0FBVzttR0F0Q2QsNkJBQTZCLHU0QkEvQjVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZCVDs7NEZBRVEsNkJBQTZCO2tCQWxDekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZCVDtpQkFDSjs7MEJBdUNRLE1BQU07MkJBQUMsV0FBVzs2R0FwQ3ZCLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3JDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBQTEFURk9STV9JRCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWJ5bG9uV2lkZ2V0U2VhcmNoTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2JhYnlsb24td2lkZ2V0LXNlYXJjaC1sb2FkZXIuc2VydmljZSc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgV2lkZ2V0U2VhcmNoOiBhbnk7XG4gICAgICAgIGluaXRpYWxpemVXaWRnZXRTZWFyY2g/OiAoKSA9PiB2b2lkO1xuICAgICAgICBnZXRXaWRnZXRJbnN0YW5jZT86IChpZDogc3RyaW5nKSA9PiBhbnk7XG4gICAgfVxufVxuXG5sZXQgd2lkZ2V0U2NyaXB0UHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG5mdW5jdGlvbiBsb2FkT25jZShzcmM6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh3aWRnZXRTY3JpcHRQcm9taXNlKSByZXR1cm4gd2lkZ2V0U2NyaXB0UHJvbWlzZTtcblxuICAgIHdpZGdldFNjcmlwdFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIC8vIFNpIHlhIGV4aXN0ZSwgcmVzb2x2ZW1vc1xuICAgICAgICBpZiAod2luZG93LldpZGdldFNlYXJjaCB8fCB3aW5kb3cuaW5pdGlhbGl6ZVdpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICBzLnNyYyA9IHNyYztcbiAgICAgICAgcy5hc3luYyA9IHRydWU7XG4gICAgICAgIHMub25sb2FkID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgICAgICBzLm9uZXJyb3IgPSAoKSA9PlxuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignTm8gc2UgcHVkbyBjYXJnYXIgZWwgc2NyaXB0IGRlbCB3aWRnZXQnKSk7XG4gICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gd2lkZ2V0U2NyaXB0UHJvbWlzZTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYmFieWxvbi1ib29raW5nLXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjd2lkZ2V0Q29udGFpbmVyXG4gICAgICAgICAgICBbaWRdPVwid2lkZ2V0SWRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ib29rLWlkXT1cImhvdGVsSWRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ob3RlbF09XCJ0aWNrZXJcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS10eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1lbmdpbmVdPVwiZW5naW5lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGhlbWVdPVwidGhlbWVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1jdXJyZW5jeV09XCJjdXJyZW5jeVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sYXlvdXRdPVwibGF5b3V0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0LWNvbHVtbl09XCJsYXlvdXRDb2x1bW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWFkdWx0c109XCJkZWZhdWx0QWR1bHRzXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1qdW5pb3JdPVwiZGVmYXVsdEp1bmlvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtY2hpbGRyZW5dPVwiZGVmYXVsdENoaWxkcmVuXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1wcmljZV09XCJzaG93UHJpY2VcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LWhvdGVsLXNlbGVjdG9yXT1cInNob3dIb3RlbFNlbGVjdG9yXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1wcm9tby1jb2RlXT1cInNob3dQcm9tb0NvZGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LWNoaWxkLWFnZXNdPVwic2hvd0NoaWxkQWdlc1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1jaGlsZHJlbl09XCJtYXhDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1qdW5pb3JdPVwibWF4SnVuaW9yXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYmFzZS11cmxdPVwiYmFzZVVybFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXVybC1jaGFpbl09XCJ1cmxDaGFpblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXVybC1ob3RlbF09XCJ1cmxIb3RlbFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJ1dHRvbi10ZXh0XT1cImJ1dHRvblRleHRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtcm9vbXNdPVwibWF4Um9vbXNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LWFsbC1ob3RlbHMtb3B0aW9uXT1cInNob3dBbGxIb3RlbHNPcHRpb25cIlxuICAgICAgICA+PC9kaXY+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkJvb2tpbmdXaWRnZXRDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgd2lkZ2V0Q29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKSB3aWRnZXRJZCA9ICd3aWRnZXQtc2VhcmNoJztcbiAgICBASW5wdXQoKSBob3RlbElkID0gJ2FsZWNhZCc7XG4gICAgQElucHV0KCkgdGlja2VyID0gJ2hvdGVsbWFyaXN0ZWwuY29tJztcbiAgICBASW5wdXQoKSB0eXBlOiAnY2hhaW4nIHwgJ2hvdGVsJyB8IHN0cmluZyA9ICdjaGFpbic7XG4gICAgQElucHV0KCkgZW5naW5lOiAnd2l0Ym9va2luZycgfCAncm9pYmFjaycgfCBzdHJpbmcgPSAnd2l0Ym9va2luZyc7XG4gICAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCBzdHJpbmcgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIGN1cnJlbmN5ID0gJ0VVUic7XG4gICAgQElucHV0KCkgbG9jYWxlPzogc3RyaW5nID0gJ2VzLUVTJztcbiAgICBASW5wdXQoKSBsYXlvdXQ6ICdpbmxpbmUnIHwgJ2NvbHVtbicgfCBzdHJpbmcgPSAnaW5saW5lJztcbiAgICBASW5wdXQoKSBkZWZhdWx0QWR1bHRzID0gMjtcbiAgICBASW5wdXQoKSBkZWZhdWx0Q2hpbGRyZW4gPSAwO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRKdW5pb3IgPSAwO1xuICAgIEBJbnB1dCgpIHNob3dQcmljZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dIb3RlbFNlbGVjdG9yID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93UHJvbW9Db2RlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93Q2hpbGRBZ2VzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBtYXhDaGlsZHJlbj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBtYXhKdW5pb3I/OiBudW1iZXI7XG4gICAgQElucHV0KCkgYmFzZVVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxDaGFpbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxIb3RlbCA9ICdob3RlbCc7XG4gICAgQElucHV0KCkgYnV0dG9uVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBsYXlvdXRDb2x1bW4/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4Um9vbXM/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0FsbEhvdGVsc09wdGlvbj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGVuZGluZ1RpY2tlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZXRyeVRpbWVvdXQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGxvYWRlcjogQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy9XYWl0IGZvciBpbnB1dHNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vdW50ZWQpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8g4qyH77iPIFBPTiBBUVXDjSBsYSBVUkwgcmVhbCBkZWwgc2NyaXB0IGRlIFdpdGJvb2tpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZGVyLmxvYWQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3VudCgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZ1RpbWUgPyAzMDAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbCA6Y29udGVudFJlZmVyZW5jZVtvYWljaXRlOjFde2luZGV4PTF9XG4gICAgICAgIGlmICh3aW5kb3cuaW5pdGlhbGl6ZVdpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2goKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wY2nDs24gQjogY29uc3RydWN0b3IgOmNvbnRlbnRSZWZlcmVuY2Vbb2FpY2l0ZToyXXtpbmRleD0yfVxuICAgICAgICBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgLy8gU2kgdHUgV2lkZ2V0U2VhcmNoIGFjZXB0YSAoZWwsIGNvbmZpZyksIGFxdcOtIHB1ZWRlcyBwYXNhciBjb25maWcuXG4gICAgICAgICAgICBuZXcgd2luZG93LldpZGdldFNlYXJjaChlbCwge30pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1sndGlja2VyJ10pIHtcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBzaWVtcHJlIGVsIMOaTFRJTU8gdmFsb3IgcXVlIEFuZ3VsYXIgbm9zIG1hbmRlXG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgPSBjaGFuZ2VzWyd0aWNrZXInXS5jdXJyZW50VmFsdWUgfHwgJ2FsbC1ob3RlbHMnO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhbW9zIGxhIGFjdHVhbGl6YWNpw7NuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy53aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5lckVsKSByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIDEuIEVzcGVyYW1vcyBhIHF1ZSBlbCB3aWRnZXQgaGF5YSBkZXNjYXJnYWRvIHkgZGlidWphZG8gbG9zIGhvdGVsZXMgZW4gZWwgRE9NXG4gICAgICAgICAgICBjb25zdCBob3RlbE9wdGlvbnMgPSBjb250YWluZXJFbC5xdWVyeVNlbGVjdG9yQWxsKCcuaG90ZWwtb3B0aW9uJyk7XG5cbiAgICAgICAgICAgIGlmIChob3RlbE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFRpY2tlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciAmJiB0aGlzLnBlbmRpbmdUaWNrZXIudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnBlbmRpbmdUaWNrZXIudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uVG9DbGljazogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIC8vIDIuIEJ1c2NhbW9zIGxhIG9wY2nDs24gZGUgaG90ZWwgcmVhbCBxdWUgY29pbmNpZGEgY29uIGVsIHRpY2tlclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG90ZWxPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IGhvdGVsT3B0aW9uc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0SWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0LmdldEF0dHJpYnV0ZSgnZGF0YS1ob3RlbC1pZCcpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENvaW5jaWRlbmNpYSBleGFjdGEgbyBwYXJjaWFsIChwb3Igc2kgZWwgd2lkZ2V0IGxlIGHDsWFkZSBzdWZpam9zIGFsIElEKVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZCA9PT0gdGFyZ2V0VGlja2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRJZC5pbmNsdWRlcyh0YXJnZXRUaWNrZXIpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uVG9DbGljayA9IG9wdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvblRvQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g8J+MnyBMQSBNQUdJQSBBQlNPTFVUQSDwn4yfXG4gICAgICAgICAgICAgICAgICAgIC8vIEVuIGx1Z2FyIGRlIHVzYXIgbGEgQVBJIGRlbCB3aWRnZXQsIHNpbXVsYW1vcyB1biBjbGljIGh1bWFuby5cbiAgICAgICAgICAgICAgICAgICAgLy8gRXN0byBmdWVyemEgYWwgd2lkZ2V0IGEgcHJvY2VzYXJsbyB0b2RvOiBwb25lIGVsIG5vbWJyZSBsZWdpYmxlLFxuICAgICAgICAgICAgICAgICAgICAvLyBhcGxpY2EgbGEgY2xhc2UgJy5zZWxlY3RlZCcgeSBkZWphIGVsIGJvdMOzbiBcIkJ1c2NhclwiIGZlbGl6IHkgb3BlcmF0aXZvLlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrLmNsaWNrKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgICAgICAgICBgW1dpZGdldF0g4pyFIENsaWNrIHNpbXVsYWRvIGNvbiDDqXhpdG8gZW46ICR7b3B0aW9uVG9DbGljay5nZXRBdHRyaWJ1dGUoJ2RhdGEtaG90ZWwtaWQnKX1gXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBbV2lkZ2V0XSDinYwgRVJST1IgQ1LDjVRJQ086IEVsIGhvdGVsICcke3RoaXMucGVuZGluZ1RpY2tlcn0nIE5PIEVYSVNURSBlbiBsYSBsaXN0YSBkZWwgbW90b3IgZGUgcmVzZXJ2YXMuYFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQcO6biBubyBzZSBoYW4gZGlidWphZG8gbGFzIG9wY2lvbmVzLCBlbCBtb3RvciBzaWd1ZSBjYXJnYW5kby4uLlxuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy50cmlnZ2VyV2lkZ2V0VXBkYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|