@metadev/lux 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2022/lib/autocomplete/autocomplete.component.mjs +7 -7
  2. package/esm2022/lib/autocomplete-list/autocomplete-list.component.mjs +4 -4
  3. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +5 -5
  4. package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
  5. package/esm2022/lib/datetime/datetime.component.mjs +4 -4
  6. package/esm2022/lib/filter/filter.component.mjs +4 -4
  7. package/esm2022/lib/geolocation/geolocation.component.mjs +4 -4
  8. package/esm2022/lib/geolocation/geolocation.service.mjs +4 -4
  9. package/esm2022/lib/geolocation/openlayer-loader.service.mjs +4 -4
  10. package/esm2022/lib/helperFns.mjs +1 -1
  11. package/esm2022/lib/input/input.component.mjs +6 -6
  12. package/esm2022/lib/input/regexp.service.mjs +4 -4
  13. package/esm2022/lib/lang.mjs +1 -1
  14. package/esm2022/lib/lux.module.mjs +4 -4
  15. package/esm2022/lib/map/map.component.mjs +4 -4
  16. package/esm2022/lib/modal/modal-backdrop.mjs +3 -3
  17. package/esm2022/lib/modal/modal-config.mjs +3 -3
  18. package/esm2022/lib/modal/modal-ref.mjs +1 -1
  19. package/esm2022/lib/modal/modal-stack.mjs +4 -4
  20. package/esm2022/lib/modal/modal-window.mjs +4 -4
  21. package/esm2022/lib/modal/modal.service.mjs +3 -3
  22. package/esm2022/lib/modal/util.mjs +1 -1
  23. package/esm2022/lib/pagination/pagination.component.mjs +5 -5
  24. package/esm2022/lib/radiogroup/radiogroup.component.mjs +6 -6
  25. package/esm2022/lib/select/select.component.mjs +4 -4
  26. package/esm2022/lib/tooltip/tooltip.component.mjs +3 -3
  27. package/esm2022/lib/tooltip/tooltip.directive.mjs +4 -4
  28. package/esm2022/lib/tooltip/tooltip.service.mjs +4 -4
  29. package/esm2022/lib/voice-recognition/voice-recognition.directive.mjs +4 -4
  30. package/esm2022/lib/window/window.service.mjs +1 -1
  31. package/fesm2022/metadev-lux.mjs +82 -82
  32. package/fesm2022/metadev-lux.mjs.map +1 -1
  33. package/lib/autocomplete/autocomplete.component.d.ts +3 -3
  34. package/package.json +3 -3
@@ -245,8 +245,8 @@ export class DatetimeComponent {
245
245
  this.min = this.min || '1900-01-01';
246
246
  this.max = this.max || '2100-01-01';
247
247
  }
248
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
249
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: DatetimeComponent, selector: "lux-datetime", inputs: { min: "min", max: "max", includeSeconds: "includeSeconds", localTime: "localTime", lang: "lang", inlineErrors: "inlineErrors", inputId: "inputId", ariaLabel: ["aria-label", "ariaLabel"], readonly: "readonly", disabled: "disabled", required: "required", value: "value" }, outputs: { valueChange: "valueChange", keyPress: "keyPress" }, providers: [
248
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
249
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: DatetimeComponent, selector: "lux-datetime", inputs: { min: "min", max: "max", includeSeconds: "includeSeconds", localTime: "localTime", lang: "lang", inlineErrors: "inlineErrors", inputId: "inputId", ariaLabel: ["aria-label", "ariaLabel"], readonly: "readonly", disabled: "disabled", required: "required", value: "value" }, outputs: { valueChange: "valueChange", keyPress: "keyPress" }, providers: [
250
250
  {
251
251
  provide: NG_VALUE_ACCESSOR,
252
252
  multi: true,
@@ -259,7 +259,7 @@ export class DatetimeComponent {
259
259
  }
260
260
  ], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true, static: true }, { propertyName: "timeInput", first: true, predicate: ["timeInput"], descendants: true, static: true }], ngImport: i0, template: "<input\n #dateInput\n class=\"rounded-left prefix\"\n [ngClass]=\"className\"\n type=\"date\"\n [id]=\"inputId + '$date'\"\n [(ngModel)]=\"dateValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.disabled]=\"disabled === true ? 'true' : undefined\"\n [attr.readonly]=\"readonly === true ? 'true' : undefined\"\n [placeholder]=\"\"\n (keyup)=\"onEventDatetime(dateInput.value, timeInput.value)\"\n (change)=\"onEventDatetime(dateInput.value, timeInput.value)\"\n (keypress)=\"onKeyPress($event)\"\n (blur)=\"onLostFocus()\"\n/>\n<input\n #timeInput\n [class]=\"(disabled || readonly || !isClearable()) && localTime ? 'rounded-right' : ''\"\n [ngClass]=\"className\"\n type=\"time\"\n [id]=\"inputId + '$time'\"\n [(ngModel)]=\"timeValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.disabled]=\"disabled === true ? 'true' : undefined\"\n [attr.readonly]=\"readonly === true ? 'true' : undefined\"\n [placeholder]=\"\"\n [step]=\"includeSeconds ? 1 : 60\"\n (keyup)=\"onEventDatetime(dateInput.value, timeInput.value)\"\n (change)=\"onEventDatetime(dateInput.value, timeInput.value)\"\n (keypress)=\"onKeyPress($event)\"\n (blur)=\"onLostFocus()\"\n/>\n<ng-container\n *ngIf=\"!localTime\"\n>\n <div\n [class]=\"disabled || readonly || !isClearable() ? 'rounded-right postfix symbol' : 'postfix symbol'\"\n [ngClass]=\"className\"\n >\n <span>{{ localTime ? '' : 'UTC' }}</span>\n </div>\n</ng-container>\n<button\n #clearButton\n *ngIf=\"!disabled && !readonly && isClearable()\"\n type=\"button\"\n class=\"rounded-right postfix bordered icon-clear\"\n [id]=\"inputId + '$clear'\"\n (click)=\"clear()\"\n aria-label=\"clear\"\n></button>\n\n<div *ngIf=\"inlineErrors && lastErrors && (dirty || touched)\" class=\"alert\">\n <div *ngIf=\"lastErrors.required\">\n {{ userErrors[lang].required }}\n </div>\n <div *ngIf=\"lastErrors.min\">\n {{ userErrors[lang].min.replace('$min', lastErrors.min.min) }}\n </div>\n <div *ngIf=\"lastErrors.max\">\n {{ userErrors[lang].max.replace('$max', lastErrors.max.max) }}\n </div>\n</div>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}:host{display:flex;align-items:stretch}.readonly{border:none}.readonly:focus{border:none;outline:none}.disabled{background-color:var(--lux-disabled-color, #f1f1f1);border-color:var(--lux-disabled-border-color, #6d6d6d)}.icon-clear{grid-row:1;grid-column:2;width:var(--lux-autocomplete-icon-width, 1.5rem);background:var(--lux-autocomplete-icon-clear, url(/assets/img/filter-clear.png) no-repeat center);background-size:var(--lux-autocomplete-icon-bg-size, .5rem .5rem);z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
261
261
  }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DatetimeComponent, decorators: [{
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DatetimeComponent, decorators: [{
263
263
  type: Component,
264
264
  args: [{ selector: 'lux-datetime', providers: [
265
265
  {
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
309
309
  }], keyPress: [{
310
310
  type: Output
311
311
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBS2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixXQUFXLEVBQ1osTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBa0IzQyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXFCLFNBQVMsQ0FBYTtJQUN0QixTQUFTLENBQWE7SUFFaEUsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUE0QixJQUFJLENBQUM7SUFFbkMsU0FBUyxDQUFtQjtJQUM1QixTQUFTLENBQVU7SUFDbkIsTUFBTSxDQUFTO0lBRWhCLFNBQVMsR0FBWSxTQUFTLENBQUM7SUFDL0IsU0FBUyxHQUFZLFNBQVMsQ0FBQztJQUUvQixVQUFVLEdBQUc7UUFDbEIsRUFBRSxFQUFFO1lBQ0YsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixHQUFHLEVBQUUsd0JBQXdCO1lBQzdCLEdBQUcsRUFBRSx3QkFBd0I7U0FDOUI7UUFDRCxFQUFF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VSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2FBQ2pEO1NBQ0YsdVBDeENILHVpRUFnRUE7OzJGRHRCYSxpQkFBaUI7a0JBakI3QixTQUFTOytCQUNFLGNBQWMsYUFHYjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDakQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3lCQUNqRDtxQkFDRjt3REFPeUMsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEyQmpDLEdBQUc7c0JBRFQsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsY0FBYztzQkFEcEIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDc0IsU0FBUztzQkFBcEMsS0FBSzt1QkFBQyxZQUFZO2dCQUNILFFBQVE7c0JBQXZCLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixLQUFLO3NCQURSLEtBQUs7Z0JBNEJJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgYWRkVGltZXpvbmVPZmZzZXQsXG4gIGhhc1ZhbHVlLFxuICBpc0luaXRpYWxBbmRFbXB0eSxcbiAgaXNWYWxpZERhdGVcbn0gZnJvbSAnLi4vaGVscGVyRm5zJztcbmltcG9ydCB7IGxhbmd1YWdlRGV0ZWN0b3IgfSBmcm9tICcuLi9sYW5nJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x1eC1kYXRldGltZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGV0aW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRldGltZUNvbXBvbmVudClcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGV0aW1lQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRldGltZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkYXRlSW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RpbWVJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIHRpbWVJbnB1dDogRWxlbWVudFJlZjtcblxuICB0b3VjaGVkID0gZmFsc2U7XG4gIGRpcnR5ID0gZmFsc2U7XG4gIGxhc3RFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogc3RyaW5nIHwgYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIGRhdGVWYWx1ZT86IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHRpbWVWYWx1ZT86IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdXNlckVycm9ycyA9IHtcbiAgICBlbjoge1xuICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZCBmaWVsZC4nLFxuICAgICAgbWluOiAnTWluaW11bSB2YWx1ZSBpcyAkbWluLicsXG4gICAgICBtYXg6ICdNYXhpbXVtIHZhbHVlIGlzICRtYXguJ1xuICAgIH0sXG4gICAgZXM6IHtcbiAgICAgIHJlcXVpcmVkOiAnRWwgY2FtcG8gZXMgb2JsaWdhdG9yaW8uJyxcbiAgICAgIG1pbjogJ0VsIHZhbG9yIG3DrW5pbW8gZXMgJG1pbi4nLFxuICAgICAgbWF4OiAnRWwgdmFsb3IgbcOheGltbyBlcyAkbWF4LidcbiAgICB9XG4gIH07XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1pbj86IHN0cmluZyA9ICcxOTAwLTAxLTAxVDAwOjAwOjAwWic7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXg/OiBzdHJpbmcgPSAnMjEwMC0wMS0wMVQwMDowMDowMFonO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5jbHVkZVNlY29uZHM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbG9jYWxUaW1lOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQgY2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tDbGFzc05hbWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGxhbmcgPSBsYW5ndWFnZURldGVjdG9yKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbmxpbmVFcnJvcnMgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlucHV0SWQ6IHN0cmluZztcbiAgQElucHV0KCdhcmlhLWxhYmVsJykgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodjogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHYgPSB0eXBlb2YgdiA9PT0gJ3N0cmluZycgJiYgdiAhPT0gJ2ZhbHNlJyA/IHRydWUgOiB2O1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdjtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogc3RyaW5nIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHY7XG4gIH1cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcpIHtcbiAgICBpZiAodiA9PT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIHJldHVybjsgLy8gcHJldmVudCBldmVudHMgd2hlbiB0aGVyZSBpcyBubyBjaGFuZ2VzXG4gICAgfVxuICAgIGNvbnN0IGluaXRpYWxBbmRFbXB0eSA9IGlzSW5pdGlhbEFuZEVtcHR5KHRoaXMuX3ZhbHVlLCB2KTtcbiAgICBjb25zdCBkYXRldGltZSA9IG5ldyBEYXRlKHYpO1xuICAgIGlmICghdikge1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5zZXREYXRlSW5Db250cm9sKG51bGwpO1xuICAgICAgdGhpcy5zZXRUaW1lSW5Db250cm9sKG51bGwpO1xuICAgIH0gZWxzZSBpZiAoIWlzVmFsaWREYXRlKGRhdGV0aW1lKSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgLy8gd2UgZG9uJ3Qgc2V0IHZhbHVlIGluIGNvbnRyb2wgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAgLy8gaWYgd2UgZG8sIHRoZSBjb250ZW50IG9mIHRoZSBjb250cm9sIGNoYW5nZXMgYW5kIGNhbiBlcmFzZSB3aGF0IHRoZSB1c2VyIGlzIHR5cGluZ1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IGRhdGV0aW1lLnRvSVNPU3RyaW5nKCk7IC8vIFlZWVktTU0tRERUaGg6bW06c3MuU1NTWlxuICAgICAgdGhpcy5zZXRWYWx1ZUluQ29udHJvbChkYXRldGltZSk7XG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgaWYgKCFpbml0aWFsQW5kRW1wdHkpIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBrZXlQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBvbkNoYW5nZSA9IChfdmFsdWUpOiB2b2lkID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50b3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG4gIC8vIEVuZCBvZiBDb250cm9sVmFsdWVBY2Nlc3NvciBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cblxuICBwcml2YXRlIHNldERhdGVJbkNvbnRyb2woZGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gdGhpcy5kYXRlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5kYXRlVmFsdWUgPSBkYXRlO1xuICB9XG4gIHByaXZhdGUgc2V0VGltZUluQ29udHJvbCh0aW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnRpbWVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGltZTtcbiAgICB0aGlzLnRpbWVWYWx1ZSA9IHRpbWU7XG4gIH1cbiAgcHJpdmF0ZSBzZXRWYWx1ZUluQ29udHJvbChkYXRldGltZTogRGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldERhdGV0aW1lID0gdGhpcy5sb2NhbFRpbWVcbiAgICAgID8gYWRkVGltZXpvbmVPZmZzZXQoZGF0ZXRpbWUpXG4gICAgICA6IGRhdGV0aW1lO1xuICAgIGNvbnN0IG9mZnNldERhdGV0aW1lU3RyaW5nID0gb2Zmc2V0RGF0ZXRpbWUudG9JU09TdHJpbmcoKTsgLy8gWVlZWS1NTS1ERFRoaDptbTpzcy5TU1NaXG4gICAgdGhpcy5zZXREYXRlSW5Db250cm9sKG9mZnNldERhdGV0aW1lU3RyaW5nLnNsaWNlKDAsIDEwKSk7IC8vIFlZWVktTU0tRERcbiAgICBpZiAodGhpcy5pbmNsdWRlU2Vjb25kcykge1xuICAgICAgdGhpcy5zZXRUaW1lSW5Db250cm9sKG9mZnNldERhdGV0aW1lU3RyaW5nLnNsaWNlKDExLCAxOSkpOyAvLyBoaDptbTpzc1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFRpbWVJbkNvbnRyb2wob2Zmc2V0RGF0ZXRpbWVTdHJpbmcuc2xpY2UoMTEsIDE2KSk7IC8vIGhoOm1tXG4gICAgfVxuICB9XG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGF0ZUluQ29udHJvbChudWxsKTtcbiAgICB0aGlzLnNldFRpbWVJbkNvbnRyb2wobnVsbCk7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cbiAgaXNDbGVhcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc1ZhbHVlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gVmFsaWRhdG9yIGludGVyZmFjZVxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKCk6IHZvaWQge31cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGxldCByZXN1bHQ6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZWQgJiZcbiAgICAgICFoYXNWYWx1ZSh2YWx1ZSkgJiZcbiAgICAgICFoYXNWYWx1ZSh0aGlzLmRhdGVWYWx1ZSkgJiZcbiAgICAgICFoYXNWYWx1ZSh0aGlzLnRpbWVWYWx1ZSlcbiAgICApIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5yZXF1aXJlZCA9IHsgdmFsdWUsIHJlYXNvbjogJ1JlcXVpcmVkIGZpZWxkLicgfTtcbiAgICB9XG4gICAgaWYgKCFoYXNWYWx1ZSh0aGlzLmRhdGVWYWx1ZSkgJiYgaGFzVmFsdWUodGhpcy50aW1lVmFsdWUpKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQuZXhpc3RzRGF0ZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlYXNvbjogJ0RhdGUgbm90IHNwZWNpZmllZC4nXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoaGFzVmFsdWUodGhpcy5kYXRlVmFsdWUpICYmICFoYXNWYWx1ZSh0aGlzLnRpbWVWYWx1ZSkpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5leGlzdHNUaW1lID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcmVhc29uOiAnVGltZSBub3Qgc3BlY2lmaWVkLidcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGhhc1ZhbHVlKHRoaXMubWluKSAmJlxuICAgICAgaGFzVmFsdWUodmFsdWUpICYmXG4gICAgICBoYXNWYWx1ZSh0aGlzLmRhdGVWYWx1ZSkgJiZcbiAgICAgIGhhc1ZhbHVlKHRoaXMudGltZVZhbHVlKSAmJlxuICAgICAgU3RyaW5nKHZhbHVlKS5sb2NhbGVDb21wYXJlKHRoaXMubWluKSA9PT0gLTFcbiAgICApIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5taW4gPSB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICByZWFzb246IGBWYWx1ZSBpcyBsb3dlciB0aGFuIG1pbmltdW0gdmFsdWU6ICR7dGhpcy5taW59LmBcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGhhc1ZhbHVlKHRoaXMubWF4KSAmJlxuICAgICAgaGFzVmFsdWUodmFsdWUpICYmXG4gICAgICBoYXNWYWx1ZSh0aGlzLmRhdGVWYWx1ZSkgJiZcbiAgICAgIGhhc1ZhbHVlKHRoaXMudGltZVZhbHVlKSAmJlxuICAgICAgU3RyaW5nKHZhbHVlKS5sb2NhbGVDb21wYXJlKHRoaXMubWF4KSAhPT0gLTFcbiAgICApIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5tYXggPSB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4LFxuICAgICAgICByZWFzb246IGBWYWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhhbiBtYXhpbXVtIHZhbHVlOiAke3RoaXMubWF4fS5gXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLmxhc3RFcnJvcnMgPSByZXN1bHQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvLyBFbmQgb2YgVmFsaWRhdG9yIGludGVyZmFjZVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRJZCA9IHRoaXMuaW5wdXRJZFxuICAgICAgPyB0aGlzLmlucHV0SWRcbiAgICAgIDogYGRhdGV0aW1lJCR7RGF0ZXRpbWVDb21wb25lbnQuaWRDb3VudGVyKyt9YDtcbiAgICB0aGlzLnNldFBhdHRlcm5zKCk7XG4gIH1cblxuICBvbkxvc3RGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuICBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5rZXlQcmVzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uRXZlbnREYXRldGltZShuZXdEYXRlOiBzdHJpbmcsIG5ld1RpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFuZXdEYXRlIHx8ICFuZXdUaW1lKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBgJHtuZXdEYXRlfVQke25ld1RpbWV9YDtcbiAgICAgIGNvbnN0IGRhdGV0aW1lID0gbmV3IERhdGUobmV3VmFsdWUpO1xuICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGV0aW1lKSkge1xuICAgICAgICBsZXQgZGF0ZXRpbWVTdHJpbmc7XG4gICAgICAgIGlmICh0aGlzLmxvY2FsVGltZSkge1xuICAgICAgICAgIGRhdGV0aW1lU3RyaW5nID0gZGF0ZXRpbWUudG9JU09TdHJpbmcoKTsgLy8gWVlZWS1NTS1ERFRoaDptbTpzcy5TU1NaXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGF0ZXRpbWVTdHJpbmcgPSBhZGRUaW1lem9uZU9mZnNldChkYXRldGltZSkudG9JU09TdHJpbmcoKTsgLy8gWVlZWS1NTS1ERFRoaDptbTpzcy5TU1NaXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW5jbHVkZVNlY29uZHMpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZXRpbWVTdHJpbmcuc2xpY2UoMCwgMTkpICsgJ1onOyAvLyBZWVlZLU1NLUREVGhoOm1tOnNzWlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRldGltZVN0cmluZy5zbGljZSgwLCAxNikgKyAnWic7IC8vIFlZWVktTU0tRERUaGg6bW1aXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja0NsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkXG4gICAgICA/IHRoaXMucmVhZG9ubHlcbiAgICAgICAgPyAnZGlzYWJsZWQgcmVhZG9ubHknXG4gICAgICAgIDogJ2Rpc2FibGVkJ1xuICAgICAgOiB0aGlzLnJlYWRvbmx5XG4gICAgICA/ICdyZWFkb25seSdcbiAgICAgIDogJyc7XG4gIH1cblxuICBzZXRQYXR0ZXJucygpOiB2b2lkIHtcbiAgICB0aGlzLm1pbiA9IHRoaXMubWluIHx8ICcxOTAwLTAxLTAxJztcbiAgICB0aGlzLm1heCA9IHRoaXMubWF4IHx8ICcyMTAwLTAxLTAxJztcbiAgfVxufVxuIiwiPGlucHV0XG4gICNkYXRlSW5wdXRcbiAgY2xhc3M9XCJyb3VuZGVkLWxlZnQgcHJlZml4XCJcbiAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgdHlwZT1cImRhdGVcIlxuICBbaWRdPVwiaW5wdXRJZCArICckZGF0ZSdcIlxuICBbKG5nTW9kZWwpXT1cImRhdGVWYWx1ZVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA9PT0gdHJ1ZSA/ICd0cnVlJyA6IHVuZGVmaW5lZFwiXG4gIFtwbGFjZWhvbGRlcl09XCJcIlxuICAoa2V5dXApPVwib25FdmVudERhdGV0aW1lKGRhdGVJbnB1dC52YWx1ZSwgdGltZUlucHV0LnZhbHVlKVwiXG4gIChjaGFuZ2UpPVwib25FdmVudERhdGV0aW1lKGRhdGVJbnB1dC52YWx1ZSwgdGltZUlucHV0LnZhbHVlKVwiXG4gIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAoYmx1cik9XCJvbkxvc3RGb2N1cygpXCJcbi8+XG48aW5wdXRcbiAgI3RpbWVJbnB1dFxuICBbY2xhc3NdPVwiKGRpc2FibGVkIHx8IHJlYWRvbmx5IHx8ICFpc0NsZWFyYWJsZSgpKSAmJiBsb2NhbFRpbWUgPyAncm91bmRlZC1yaWdodCcgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIHR5cGU9XCJ0aW1lXCJcbiAgW2lkXT1cImlucHV0SWQgKyAnJHRpbWUnXCJcbiAgWyhuZ01vZGVsKV09XCJ0aW1lVmFsdWVcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID09PSB0cnVlID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbcGxhY2Vob2xkZXJdPVwiXCJcbiAgW3N0ZXBdPVwiaW5jbHVkZVNlY29uZHMgPyAxIDogNjBcIlxuICAoa2V5dXApPVwib25FdmVudERhdGV0aW1lKGRhdGVJbnB1dC52YWx1ZSwgdGltZUlucHV0LnZhbHVlKVwiXG4gIChjaGFuZ2UpPVwib25FdmVudERhdGV0aW1lKGRhdGVJbnB1dC52YWx1ZSwgdGltZUlucHV0LnZhbHVlKVwiXG4gIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAoYmx1cik9XCJvbkxvc3RGb2N1cygpXCJcbi8+XG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwiIWxvY2FsVGltZVwiXG4+XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgIWlzQ2xlYXJhYmxlKCkgPyAncm91bmRlZC1yaWdodCBwb3N0Zml4IHN5bWJvbCcgOiAncG9zdGZpeCBzeW1ib2wnXCJcbiAgICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICA+XG4gICAgPHNwYW4+e3sgbG9jYWxUaW1lID8gJycgOiAnVVRDJyB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxidXR0b25cbiAgI2NsZWFyQnV0dG9uXG4gICpuZ0lmPVwiIWRpc2FibGVkICYmICFyZWFkb25seSAmJiBpc0NsZWFyYWJsZSgpXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwicm91bmRlZC1yaWdodCBwb3N0Zml4IGJvcmRlcmVkIGljb24tY2xlYXJcIlxuICBbaWRdPVwiaW5wdXRJZCArICckY2xlYXInXCJcbiAgKGNsaWNrKT1cImNsZWFyKClcIlxuICBhcmlhLWxhYmVsPVwiY2xlYXJcIlxuPjwvYnV0dG9uPlxuXG48ZGl2ICpuZ0lmPVwiaW5saW5lRXJyb3JzICYmIGxhc3RFcnJvcnMgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCIgY2xhc3M9XCJhbGVydFwiPlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5yZXF1aXJlZFwiPlxuICAgIHt7IHVzZXJFcnJvcnNbbGFuZ10ucmVxdWlyZWQgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsYXN0RXJyb3JzLm1pblwiPlxuICAgIHt7IHVzZXJFcnJvcnNbbGFuZ10ubWluLnJlcGxhY2UoJyRtaW4nLCBsYXN0RXJyb3JzLm1pbi5taW4pIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5tYXhcIj5cbiAgICB7eyB1c2VyRXJyb3JzW2xhbmddLm1heC5yZXBsYWNlKCckbWF4JywgbGFzdEVycm9ycy5tYXgubWF4KSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBS2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixXQUFXLEVBQ1osTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBa0IzQyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXFCLFNBQVMsQ0FBYTtJQUN0QixTQUFTLENBQWE7SUFFaEUsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUE0QixJQUFJLENBQUM7SUFFbkMsU0FBUyxDQUFtQjtJQUM1QixTQUFTLENBQVU7SUFDbkIsTUFBTSxDQUFTO0lBRWhCLFNBQVMsR0FBWSxTQUFTLENBQUM7SUFDL0IsU0FBUyxHQUFZLFNBQVMsQ0FBQztJQUUvQixVQUFVLEdBQUc7UUFDbEIsRUFBRSxFQUFFO1lBQ0YsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixHQUFHLEVBQUUsd0JBQXdCO1lBQzdCLEdBQUcsRUFBRSx3QkFBd0I7U0FDOUI7UUFDRCxFQUFF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RFgsS0FBSztnQkFVRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsS0FBSztzQkFEUixLQUFLO2dCQTRCSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIGFkZFRpbWV6b25lT2Zmc2V0LFxuICBoYXNWYWx1ZSxcbiAgaXNJbml0aWFsQW5kRW1wdHksXG4gIGlzVmFsaWREYXRlXG59IGZyb20gJy4uL2hlbHBlckZucyc7XG5pbXBvcnQgeyBsYW5ndWFnZURldGVjdG9yIH0gZnJvbSAnLi4vbGFuZyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtZGF0ZXRpbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRldGltZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXRpbWVDb21wb25lbnQpXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRldGltZUNvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgc3RhdGljIGlkQ291bnRlciA9IDA7XG5cbiAgQFZpZXdDaGlsZCgnZGF0ZUlucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZUlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd0aW1lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aW1lSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgdG91Y2hlZCA9IGZhbHNlO1xuICBkaXJ0eSA9IGZhbHNlO1xuICBsYXN0RXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IHN0cmluZyB8IGJvb2xlYW47XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuO1xuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBkYXRlVmFsdWU/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0aW1lVmFsdWU/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHVzZXJFcnJvcnMgPSB7XG4gICAgZW46IHtcbiAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQgZmllbGQuJyxcbiAgICAgIG1pbjogJ01pbmltdW0gdmFsdWUgaXMgJG1pbi4nLFxuICAgICAgbWF4OiAnTWF4aW11bSB2YWx1ZSBpcyAkbWF4LidcbiAgICB9LFxuICAgIGVzOiB7XG4gICAgICByZXF1aXJlZDogJ0VsIGNhbXBvIGVzIG9ibGlnYXRvcmlvLicsXG4gICAgICBtaW46ICdFbCB2YWxvciBtw61uaW1vIGVzICRtaW4uJyxcbiAgICAgIG1heDogJ0VsIHZhbG9yIG3DoXhpbW8gZXMgJG1heC4nXG4gICAgfVxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW4/OiBzdHJpbmcgPSAnMTkwMC0wMS0wMVQwMDowMDowMFonO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4Pzogc3RyaW5nID0gJzIxMDAtMDEtMDFUMDA6MDA6MDBaJztcbiAgQElucHV0KClcbiAgcHVibGljIGluY2x1ZGVTZWNvbmRzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGxvY2FsVGltZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNoZWNrQ2xhc3NOYW1lKCk7XG4gIH1cblxuICBASW5wdXQoKSBsYW5nID0gbGFuZ3VhZ2VEZXRlY3RvcigpO1xuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lRXJyb3JzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpIHB1YmxpYyBhcmlhTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHY6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB2ID0gdHlwZW9mIHYgPT09ICdzdHJpbmcnICYmIHYgIT09ICdmYWxzZScgPyB0cnVlIDogdjtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IHN0cmluZyB8IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZXF1aXJlZCh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSB2O1xuICB9XG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgaWYgKHYgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICByZXR1cm47IC8vIHByZXZlbnQgZXZlbnRzIHdoZW4gdGhlcmUgaXMgbm8gY2hhbmdlc1xuICAgIH1cbiAgICBjb25zdCBpbml0aWFsQW5kRW1wdHkgPSBpc0luaXRpYWxBbmRFbXB0eSh0aGlzLl92YWx1ZSwgdik7XG4gICAgY29uc3QgZGF0ZXRpbWUgPSBuZXcgRGF0ZSh2KTtcbiAgICBpZiAoIXYpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuc2V0RGF0ZUluQ29udHJvbChudWxsKTtcbiAgICAgIHRoaXMuc2V0VGltZUluQ29udHJvbChudWxsKTtcbiAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkRGF0ZShkYXRldGltZSkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIC8vIHdlIGRvbid0IHNldCB2YWx1ZSBpbiBjb250cm9sIGlmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWRcbiAgICAgIC8vIGlmIHdlIGRvLCB0aGUgY29udGVudCBvZiB0aGUgY29udHJvbCBjaGFuZ2VzIGFuZCBjYW4gZXJhc2Ugd2hhdCB0aGUgdXNlciBpcyB0eXBpbmdcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdmFsdWUgPSBkYXRldGltZS50b0lTT1N0cmluZygpOyAvLyBZWVlZLU1NLUREVGhoOm1tOnNzLlNTU1pcbiAgICAgIHRoaXMuc2V0VmFsdWVJbkNvbnRyb2woZGF0ZXRpbWUpO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHYpO1xuICAgIGlmICghaW5pdGlhbEFuZEVtcHR5KSB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gICAgfVxuICB9XG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkga2V5UHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgb25DaGFuZ2UgPSAoX3ZhbHVlKTogdm9pZCA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuICAvLyBFbmQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG5cbiAgcHJpdmF0ZSBzZXREYXRlSW5Db250cm9sKGRhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIHRoaXMuZGF0ZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBkYXRlO1xuICAgIHRoaXMuZGF0ZVZhbHVlID0gZGF0ZTtcbiAgfVxuICBwcml2YXRlIHNldFRpbWVJbkNvbnRyb2wodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gdGhpcy50aW1lSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRpbWU7XG4gICAgdGhpcy50aW1lVmFsdWUgPSB0aW1lO1xuICB9XG4gIHByaXZhdGUgc2V0VmFsdWVJbkNvbnRyb2woZGF0ZXRpbWU6IERhdGUpOiB2b2lkIHtcbiAgICBjb25zdCBvZmZzZXREYXRldGltZSA9IHRoaXMubG9jYWxUaW1lXG4gICAgICA/IGFkZFRpbWV6b25lT2Zmc2V0KGRhdGV0aW1lKVxuICAgICAgOiBkYXRldGltZTtcbiAgICBjb25zdCBvZmZzZXREYXRldGltZVN0cmluZyA9IG9mZnNldERhdGV0aW1lLnRvSVNPU3RyaW5nKCk7IC8vIFlZWVktTU0tRERUaGg6bW06c3MuU1NTWlxuICAgIHRoaXMuc2V0RGF0ZUluQ29udHJvbChvZmZzZXREYXRldGltZVN0cmluZy5zbGljZSgwLCAxMCkpOyAvLyBZWVlZLU1NLUREXG4gICAgaWYgKHRoaXMuaW5jbHVkZVNlY29uZHMpIHtcbiAgICAgIHRoaXMuc2V0VGltZUluQ29udHJvbChvZmZzZXREYXRldGltZVN0cmluZy5zbGljZSgxMSwgMTkpKTsgLy8gaGg6bW06c3NcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRUaW1lSW5Db250cm9sKG9mZnNldERhdGV0aW1lU3RyaW5nLnNsaWNlKDExLCAxNikpOyAvLyBoaDptbVxuICAgIH1cbiAgfVxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGVJbkNvbnRyb2wobnVsbCk7XG4gICAgdGhpcy5zZXRUaW1lSW5Db250cm9sKG51bGwpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICB9XG4gIGlzQ2xlYXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSgpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBsZXQgcmVzdWx0OiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVkICYmXG4gICAgICAhaGFzVmFsdWUodmFsdWUpICYmXG4gICAgICAhaGFzVmFsdWUodGhpcy5kYXRlVmFsdWUpICYmXG4gICAgICAhaGFzVmFsdWUodGhpcy50aW1lVmFsdWUpXG4gICAgKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQucmVxdWlyZWQgPSB7IHZhbHVlLCByZWFzb246ICdSZXF1aXJlZCBmaWVsZC4nIH07XG4gICAgfVxuICAgIGlmICghaGFzVmFsdWUodGhpcy5kYXRlVmFsdWUpICYmIGhhc1ZhbHVlKHRoaXMudGltZVZhbHVlKSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0LmV4aXN0c0RhdGUgPSB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICByZWFzb246ICdEYXRlIG5vdCBzcGVjaWZpZWQuJ1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGhhc1ZhbHVlKHRoaXMuZGF0ZVZhbHVlKSAmJiAhaGFzVmFsdWUodGhpcy50aW1lVmFsdWUpKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQuZXhpc3RzVGltZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlYXNvbjogJ1RpbWUgbm90IHNwZWNpZmllZC4nXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBoYXNWYWx1ZSh0aGlzLm1pbikgJiZcbiAgICAgIGhhc1ZhbHVlKHZhbHVlKSAmJlxuICAgICAgaGFzVmFsdWUodGhpcy5kYXRlVmFsdWUpICYmXG4gICAgICBoYXNWYWx1ZSh0aGlzLnRpbWVWYWx1ZSkgJiZcbiAgICAgIFN0cmluZyh2YWx1ZSkubG9jYWxlQ29tcGFyZSh0aGlzLm1pbikgPT09IC0xXG4gICAgKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQubWluID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWluOiB0aGlzLm1pbixcbiAgICAgICAgcmVhc29uOiBgVmFsdWUgaXMgbG93ZXIgdGhhbiBtaW5pbXVtIHZhbHVlOiAke3RoaXMubWlufS5gXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBoYXNWYWx1ZSh0aGlzLm1heCkgJiZcbiAgICAgIGhhc1ZhbHVlKHZhbHVlKSAmJlxuICAgICAgaGFzVmFsdWUodGhpcy5kYXRlVmFsdWUpICYmXG4gICAgICBoYXNWYWx1ZSh0aGlzLnRpbWVWYWx1ZSkgJiZcbiAgICAgIFN0cmluZyh2YWx1ZSkubG9jYWxlQ29tcGFyZSh0aGlzLm1heCkgIT09IC0xXG4gICAgKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQubWF4ID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcbiAgICAgICAgcmVhc29uOiBgVmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoYW4gbWF4aW11bSB2YWx1ZTogJHt0aGlzLm1heH0uYFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5sYXN0RXJyb3JzID0gcmVzdWx0O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLy8gRW5kIG9mIFZhbGlkYXRvciBpbnRlcmZhY2VcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0SWQgPSB0aGlzLmlucHV0SWRcbiAgICAgID8gdGhpcy5pbnB1dElkXG4gICAgICA6IGBkYXRldGltZSQke0RhdGV0aW1lQ29tcG9uZW50LmlkQ291bnRlcisrfWA7XG4gICAgdGhpcy5zZXRQYXR0ZXJucygpO1xuICB9XG5cbiAgb25Mb3N0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMua2V5UHJlc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkV2ZW50RGF0ZXRpbWUobmV3RGF0ZTogc3RyaW5nLCBuZXdUaW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghbmV3RGF0ZSB8fCAhbmV3VGltZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7bmV3RGF0ZX1UJHtuZXdUaW1lfWA7XG4gICAgICBjb25zdCBkYXRldGltZSA9IG5ldyBEYXRlKG5ld1ZhbHVlKTtcbiAgICAgIGlmIChpc1ZhbGlkRGF0ZShkYXRldGltZSkpIHtcbiAgICAgICAgbGV0IGRhdGV0aW1lU3RyaW5nO1xuICAgICAgICBpZiAodGhpcy5sb2NhbFRpbWUpIHtcbiAgICAgICAgICBkYXRldGltZVN0cmluZyA9IGRhdGV0aW1lLnRvSVNPU3RyaW5nKCk7IC8vIFlZWVktTU0tRERUaGg6bW06c3MuU1NTWlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGV0aW1lU3RyaW5nID0gYWRkVGltZXpvbmVPZmZzZXQoZGF0ZXRpbWUpLnRvSVNPU3RyaW5nKCk7IC8vIFlZWVktTU0tRERUaGg6bW06c3MuU1NTWlxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluY2x1ZGVTZWNvbmRzKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGV0aW1lU3RyaW5nLnNsaWNlKDAsIDE5KSArICdaJzsgLy8gWVlZWS1NTS1ERFRoaDptbTpzc1pcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZXRpbWVTdHJpbmcuc2xpY2UoMCwgMTYpICsgJ1onOyAvLyBZWVlZLU1NLUREVGhoOm1tWlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tDbGFzc05hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFxuICAgICAgPyB0aGlzLnJlYWRvbmx5XG4gICAgICAgID8gJ2Rpc2FibGVkIHJlYWRvbmx5J1xuICAgICAgICA6ICdkaXNhYmxlZCdcbiAgICAgIDogdGhpcy5yZWFkb25seVxuICAgICAgPyAncmVhZG9ubHknXG4gICAgICA6ICcnO1xuICB9XG5cbiAgc2V0UGF0dGVybnMoKTogdm9pZCB7XG4gICAgdGhpcy5taW4gPSB0aGlzLm1pbiB8fCAnMTkwMC0wMS0wMSc7XG4gICAgdGhpcy5tYXggPSB0aGlzLm1heCB8fCAnMjEwMC0wMS0wMSc7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjZGF0ZUlucHV0XG4gIGNsYXNzPVwicm91bmRlZC1sZWZ0IHByZWZpeFwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIHR5cGU9XCJkYXRlXCJcbiAgW2lkXT1cImlucHV0SWQgKyAnJGRhdGUnXCJcbiAgWyhuZ01vZGVsKV09XCJkYXRlVmFsdWVcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID09PSB0cnVlID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbcGxhY2Vob2xkZXJdPVwiXCJcbiAgKGtleXVwKT1cIm9uRXZlbnREYXRldGltZShkYXRlSW5wdXQudmFsdWUsIHRpbWVJbnB1dC52YWx1ZSlcIlxuICAoY2hhbmdlKT1cIm9uRXZlbnREYXRldGltZShkYXRlSW5wdXQudmFsdWUsIHRpbWVJbnB1dC52YWx1ZSlcIlxuICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25Mb3N0Rm9jdXMoKVwiXG4vPlxuPGlucHV0XG4gICN0aW1lSW5wdXRcbiAgW2NsYXNzXT1cIihkaXNhYmxlZCB8fCByZWFkb25seSB8fCAhaXNDbGVhcmFibGUoKSkgJiYgbG9jYWxUaW1lID8gJ3JvdW5kZWQtcmlnaHQnIDogJydcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICB0eXBlPVwidGltZVwiXG4gIFtpZF09XCJpbnB1dElkICsgJyR0aW1lJ1wiXG4gIFsobmdNb2RlbCldPVwidGltZVZhbHVlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA9PT0gdHJ1ZSA/ICd0cnVlJyA6IHVuZGVmaW5lZFwiXG4gIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID09PSB0cnVlID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgW3BsYWNlaG9sZGVyXT1cIlwiXG4gIFtzdGVwXT1cImluY2x1ZGVTZWNvbmRzID8gMSA6IDYwXCJcbiAgKGtleXVwKT1cIm9uRXZlbnREYXRldGltZShkYXRlSW5wdXQudmFsdWUsIHRpbWVJbnB1dC52YWx1ZSlcIlxuICAoY2hhbmdlKT1cIm9uRXZlbnREYXRldGltZShkYXRlSW5wdXQudmFsdWUsIHRpbWVJbnB1dC52YWx1ZSlcIlxuICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25Mb3N0Rm9jdXMoKVwiXG4vPlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIiFsb2NhbFRpbWVcIlxuPlxuICA8ZGl2XG4gICAgW2NsYXNzXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8ICFpc0NsZWFyYWJsZSgpID8gJ3JvdW5kZWQtcmlnaHQgcG9zdGZpeCBzeW1ib2wnIDogJ3Bvc3RmaXggc3ltYm9sJ1wiXG4gICAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgPlxuICAgIDxzcGFuPnt7IGxvY2FsVGltZSA/ICcnIDogJ1VUQycgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48YnV0dG9uXG4gICNjbGVhckJ1dHRvblxuICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHkgJiYgaXNDbGVhcmFibGUoKVwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cInJvdW5kZWQtcmlnaHQgcG9zdGZpeCBib3JkZXJlZCBpY29uLWNsZWFyXCJcbiAgW2lkXT1cImlucHV0SWQgKyAnJGNsZWFyJ1wiXG4gIChjbGljayk9XCJjbGVhcigpXCJcbiAgYXJpYS1sYWJlbD1cImNsZWFyXCJcbj48L2J1dHRvbj5cblxuPGRpdiAqbmdJZj1cImlubGluZUVycm9ycyAmJiBsYXN0RXJyb3JzICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiIGNsYXNzPVwiYWxlcnRcIj5cbiAgPGRpdiAqbmdJZj1cImxhc3RFcnJvcnMucmVxdWlyZWRcIj5cbiAgICB7eyB1c2VyRXJyb3JzW2xhbmddLnJlcXVpcmVkIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5taW5cIj5cbiAgICB7eyB1c2VyRXJyb3JzW2xhbmddLm1pbi5yZXBsYWNlKCckbWluJywgbGFzdEVycm9ycy5taW4ubWluKSB9fVxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImxhc3RFcnJvcnMubWF4XCI+XG4gICAge3sgdXNlckVycm9yc1tsYW5nXS5tYXgucmVwbGFjZSgnJG1heCcsIGxhc3RFcnJvcnMubWF4Lm1heCkgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -119,8 +119,8 @@ export class FilterComponent {
119
119
  addEvent() {
120
120
  this.subject.next(this.searchValue);
121
121
  }
122
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FilterComponent, selector: "lux-filter", inputs: { disabled: "disabled", inputId: "inputId", placeholder: "placeholder", searchValue: "searchValue", searchOnType: "searchOnType", ariaLabel: ["aria-label", "ariaLabel"], debounce: "debounce" }, outputs: { searchValueChange: "searchValueChange" }, providers: [
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: FilterComponent, selector: "lux-filter", inputs: { disabled: "disabled", inputId: "inputId", placeholder: "placeholder", searchValue: "searchValue", searchOnType: "searchOnType", ariaLabel: ["aria-label", "ariaLabel"], debounce: "debounce" }, outputs: { searchValueChange: "searchValueChange" }, providers: [
124
124
  {
125
125
  provide: NG_VALUE_ACCESSOR,
126
126
  multi: true,
@@ -128,7 +128,7 @@ export class FilterComponent {
128
128
  }
129
129
  ], ngImport: i0, template: "<div class=\"filter\">\n <input\n #i0\n type=\"text\"\n [attr.aria-label]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [disabled]=\"disabled\"\n [value]=\"searchValue\"\n (valueChange)=\"onInputValueChange(i0.value)\"\n (keyup)=\"keyup($event, i0.value)\"\n />\n\n <button\n [class.hide]=\"!searchValue\"\n aria-label=\"Clear\"\n class=\"clear-indicator icon icon-clear\"\n type=\"button\"\n (click)=\"clear()\"\n ></button>\n <i *ngIf=\"1 || searchOnType\" class=\"search-indicator icon icon-search\"></i>\n <button\n class=\"btn-search\"\n *ngIf=\"!searchOnType\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"search()\"\n >\n Search\n </button>\n</div>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}.filter{display:grid;grid-template-columns:auto 1.5rem 1.5rem .5rem auto}.filter input{grid-row:1;grid-column-start:1;grid-column-end:4}.filter .hide{visibility:collapse}.filter .clear-indicator{grid-row:1;grid-column:2;border:none}.filter .search-indicator{grid-row:1;grid-column:3}.filter .btn-search{grid-row:1;grid-column:5}.filter .icon-search{background:var(--lux-filter-icon-search, url(/assets/img/filter-search.png) no-repeat center);background-size:var(--lux-filter-icon-bg-size, 1rem);background-position:center;width:var(--lux-filter-icon-width, 1rem)}.filter .icon-clear{background:var(--lux-filter-icon-clear, url(/assets/img/filter-clear.png) no-repeat center);background-size:var(--lux-filter-icon-bg-size, 1rem);background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FilterComponent, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FilterComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'lux-filter', providers: [
134
134
  {
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
155
155
  }], searchValueChange: [{
156
156
  type: Output
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFOUMsNkNBQTZDO0FBYTdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRWpCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsMkRBQTJEO0lBQ2xELE9BQU8sQ0FBUztJQUN6QixnQ0FBZ0M7SUFDdkIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUMxQiwyQ0FBMkM7SUFDM0MsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxDQUFTO1FBQ3ZCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUNELHFFQUFxRTtJQUM1RCxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLHFEQUFxRDtJQUNoQyxTQUFTLENBQVM7SUFFL0IsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVM7SUFDdEMsMERBQTBEO0lBQzFELElBQ0ksUUFBUSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsb0NBQW9DO0lBQzFCLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFekQsWUFBWSxDQUFxQjtJQUV6QixPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNoQyxHQUFHLENBQWU7SUFFMUI7UUFDRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBUSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQy9CLFNBQVMsR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDM0IsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsUUFBYTtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsU0FBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBQ0QscUNBQXFDO0lBRXJDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNkLENBQUMsQ0FBQyxVQUFVLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQW9CLEVBQUUsUUFBZ0I7UUFDMUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUNELGtCQUFrQixDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDN0IsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNqQjtJQUNILENBQUM7SUFDTyxTQUFTLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7dUdBaElVLGVBQWU7MkZBQWYsZUFBZSxvU0FSZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQy9DO1NBQ0YsMEJDeEJILHV2QkErQkE7OzJGRExhLGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDO3lCQUMvQztxQkFDRjt3REFVUSxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFhRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVlLFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFLZixRQUFRO3NCQURYLEtBQUs7Z0JBVUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKiBGaWx0ZXIgY29tcG9uZW50IHRvIHF1ZXJ5IGZvciBvYmplY3RzLiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHV4LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbHRlckNvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHN0YXRpYyBpZENvdW50ZXIgPSAwO1xuXG4gIHByaXZhdGUgdG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zZWFyY2hWYWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIC8qKiBpZCBmb3IgdGhlIGlucHV0LiBJZiBsZWZ0IGJsYW5rLCBpdCBpcyBhdXRvZ2VuZXJhdGVkICovXG4gIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZztcbiAgLyoqIFBsYWNlaG9sZGVyIGRlZmF1bHQgdGV4dC4gKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgLyoqIFNlYXJjaCB2YWx1ZSBpbnRyb2R1Y2VkIGJ5IHRoZSB1c2VyLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XG4gIH1cbiAgc2V0IHNlYXJjaFZhbHVlKHY6IHN0cmluZykge1xuICAgIHYgPSAodiB8fCAnJykudG9TdHJpbmcoKTtcbiAgICBpZiAodiA9PT0gdGhpcy5fc2VhcmNoVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHY7XG4gIH1cbiAgLyoqIFNlYXJjaCBvbiB0eXBlOiAoZGVmYXVsdCB0cnVlKSBBdXRvLXNlYXJjaCB3aGVuIHVzZXIgdHlwZXMgaW4uICovXG4gIEBJbnB1dCgpIHNlYXJjaE9uVHlwZSA9IHRydWU7XG4gIC8qKiBDdXN0b20gYXJpYSBsYWJlbCBpbiBjYXNlIG9mIG5vdCB1c2luZyBhIGxhYmVsICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVib3VuY2VWYWx1ZSA9IDMwMDsgLy8gMzAwIG1zXG4gIC8qKiBEZWJvdW5jZSB0aW1lIGluIG1pbGxpc2Vjb25kcy4gKGRlZmF1bHRzIHRvIDMwMCBtcykgKi9cbiAgQElucHV0KClcbiAgc2V0IGRlYm91bmNlKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5kZWJvdW5jZVZhbHVlID0gdmFsO1xuICAgIHRoaXMucmVjcmVhdGVPYnNlcnZhYmxlKCk7XG4gIH1cbiAgZ2V0IGRlYm91bmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGVib3VuY2VWYWx1ZTtcbiAgfVxuXG4gIC8qKiBTZWFyY2ggdmFsdWUgY2hhbmdlZCBieSB1c2VyLiAqL1xuICBAT3V0cHV0KCkgc2VhcmNoVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBzZWFyY2hWYWx1ZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5yZWNyZWF0ZU9ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZVxuICBvbkNoYW5nZSA9ICh2YWx1ZSk6IHZvaWQgPT4ge307XG4gIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gKHZhbHVlIHx8ICcnKS50b1N0cmluZygpO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG4gIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG4gIC8vIEVuZCBDb250cm9sVmFsdWVBY2Nlc3NvciBJbnRlcmZhY2VcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0SWQgPSB0aGlzLmlucHV0SWRcbiAgICAgID8gdGhpcy5pbnB1dElkXG4gICAgICA6IGBmaWx0ZXIkJHtGaWx0ZXJDb21wb25lbnQuaWRDb3VudGVyKyt9YDtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZyZWVTdWJzY3JpcHRpb25zKCk7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9ICcnO1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cbiAgc2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaFZhbHVlKTtcbiAgfVxuICBrZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCwgbmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLnNlYXJjaE5vdyh0aGlzLnNlYXJjaFZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VhcmNoT25UeXBlKSB7XG4gICAgICB0aGlzLmFkZEV2ZW50KCk7XG4gICAgfVxuICB9XG4gIG9uSW5wdXRWYWx1ZUNoYW5nZShuZXdWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IG5ld1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWNyZWF0ZU9ic2VydmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZSQgPSB0aGlzLnN1YmplY3RcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UpKTtcblxuICAgIHRoaXMuZnJlZVN1YnNjcmlwdGlvbnMoKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc2VhcmNoVmFsdWUkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuc2VhcmNoVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBmcmVlU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnN1YiA9IG51bGw7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgc2VhcmNoTm93KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgYWRkRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5zZWFyY2hWYWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXJcIj5cbiAgPGlucHV0XG4gICAgI2kwXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt2YWx1ZV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uSW5wdXRWYWx1ZUNoYW5nZShpMC52YWx1ZSlcIlxuICAgIChrZXl1cCk9XCJrZXl1cCgkZXZlbnQsIGkwLnZhbHVlKVwiXG4gIC8+XG5cbiAgPGJ1dHRvblxuICAgIFtjbGFzcy5oaWRlXT1cIiFzZWFyY2hWYWx1ZVwiXG4gICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICBjbGFzcz1cImNsZWFyLWluZGljYXRvciBpY29uIGljb24tY2xlYXJcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgPjwvYnV0dG9uPlxuICA8aSAqbmdJZj1cIjEgfHwgc2VhcmNoT25UeXBlXCIgY2xhc3M9XCJzZWFyY2gtaW5kaWNhdG9yIGljb24gaWNvbi1zZWFyY2hcIj48L2k+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0bi1zZWFyY2hcIlxuICAgICpuZ0lmPVwiIXNlYXJjaE9uVHlwZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwic2VhcmNoKClcIlxuICA+XG4gICAgU2VhcmNoXG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFOUMsNkNBQTZDO0FBYTdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRWpCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsMkRBQTJEO0lBQ2xELE9BQU8sQ0FBUztJQUN6QixnQ0FBZ0M7SUFDdkIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUMxQiwyQ0FBMkM7SUFDM0MsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxDQUFTO1FBQ3ZCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxxRUFBcUU7SUFDNUQsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM3QixxREFBcUQ7SUFDaEMsU0FBUyxDQUFTO0lBRS9CLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxTQUFTO0lBQ3RDLDBEQUEwRDtJQUMxRCxJQUNJLFFBQVEsQ0FBQyxHQUFXO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELG9DQUFvQztJQUMxQixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpELFlBQVksQ0FBcUI7SUFFekIsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDaEMsR0FBRyxDQUFlO0lBRTFCO1FBQ0UsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQVEsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQixTQUFTLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzNCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELGdCQUFnQixDQUFDLFFBQWE7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUNELGlCQUFpQixDQUFDLFNBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLFFBQWlCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFDRCxxQ0FBcUM7SUFFckMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2QsQ0FBQyxDQUFDLFVBQVUsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxLQUFLLENBQUMsS0FBb0IsRUFBRSxRQUFnQjtRQUMxQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUFnQjtRQUNqQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPO2FBQzdCLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUNPLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNPLFFBQVE7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQzt1R0FoSVUsZUFBZTsyRkFBZixlQUFlLG9TQVJmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDL0M7U0FDRiwwQkN4QkgsdXZCQStCQTs7MkZETGEsZUFBZTtrQkFaM0IsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7eUJBQy9DO3FCQUNGO3dEQVVRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0YsV0FBVztzQkFEZCxLQUFLO2dCQWFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRWUsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUtmLFFBQVE7c0JBRFgsS0FBSztnQkFVSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqIEZpbHRlciBjb21wb25lbnQgdG8gcXVlcnkgZm9yIG9iamVjdHMuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgc3RhdGljIGlkQ291bnRlciA9IDA7XG5cbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3NlYXJjaFZhbHVlID0gJyc7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgLyoqIGlkIGZvciB0aGUgaW5wdXQuIElmIGxlZnQgYmxhbmssIGl0IGlzIGF1dG9nZW5lcmF0ZWQgKi9cbiAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xuICAvKiogUGxhY2Vob2xkZXIgZGVmYXVsdCB0ZXh0LiAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICAvKiogU2VhcmNoIHZhbHVlIGludHJvZHVjZWQgYnkgdGhlIHVzZXIuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWFyY2hWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZTtcbiAgfVxuICBzZXQgc2VhcmNoVmFsdWUodjogc3RyaW5nKSB7XG4gICAgdiA9ICh2IHx8ICcnKS50b1N0cmluZygpO1xuICAgIGlmICh2ID09PSB0aGlzLl9zZWFyY2hWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHYpO1xuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gdjtcbiAgfVxuICAvKiogU2VhcmNoIG9uIHR5cGU6IChkZWZhdWx0IHRydWUpIEF1dG8tc2VhcmNoIHdoZW4gdXNlciB0eXBlcyBpbi4gKi9cbiAgQElucHV0KCkgc2VhcmNoT25UeXBlID0gdHJ1ZTtcbiAgLyoqIEN1c3RvbSBhcmlhIGxhYmVsIGluIGNhc2Ugb2Ygbm90IHVzaW5nIGEgbGFiZWwgKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkZWJvdW5jZVZhbHVlID0gMzAwOyAvLyAzMDAgbXNcbiAgLyoqIERlYm91bmNlIHRpbWUgaW4gbWlsbGlzZWNvbmRzLiAoZGVmYXVsdHMgdG8gMzAwIG1zKSAqL1xuICBASW5wdXQoKVxuICBzZXQgZGVib3VuY2UodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLmRlYm91bmNlVmFsdWUgPSB2YWw7XG4gICAgdGhpcy5yZWNyZWF0ZU9ic2VydmFibGUoKTtcbiAgfVxuICBnZXQgZGVib3VuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWJvdW5jZVZhbHVlO1xuICB9XG5cbiAgLyoqIFNlYXJjaCB2YWx1ZSBjaGFuZ2VkIGJ5IHVzZXIuICovXG4gIEBPdXRwdXQoKSBzZWFyY2hWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHNlYXJjaFZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBzdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnJlY3JlYXRlT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgSW50ZXJmYWNlXG4gIG9uQ2hhbmdlID0gKHZhbHVlKTogdm9pZCA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSAodmFsdWUgfHwgJycpLnRvU3RyaW5nKCk7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbiAgLy8gRW5kIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRJZCA9IHRoaXMuaW5wdXRJZFxuICAgICAgPyB0aGlzLmlucHV0SWRcbiAgICAgIDogYGZpbHRlciQke0ZpbHRlckNvbXBvbmVudC5pZENvdW50ZXIrK31gO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZnJlZVN1YnNjcmlwdGlvbnMoKTtcbiAgfVxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuICBzZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZUNoYW5nZS5lbWl0KHRoaXMuc2VhcmNoVmFsdWUpO1xuICB9XG4gIGtleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBuZXdWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuc2VhcmNoTm93KHRoaXMuc2VhcmNoVmFsdWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWFyY2hPblR5cGUpIHtcbiAgICAgIHRoaXMuYWRkRXZlbnQoKTtcbiAgICB9XG4gIH1cbiAgb25JbnB1dFZhbHVlQ2hhbmdlKG5ld1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gbmV3VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHJlY3JlYXRlT2JzZXJ2YWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlJCA9IHRoaXMuc3ViamVjdFxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSkpO1xuXG4gICAgdGhpcy5mcmVlU3Vic2NyaXB0aW9ucygpO1xuICAgIHRoaXMuc3ViID0gdGhpcy5zZWFyY2hWYWx1ZSQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hWYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGZyZWVTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuc3ViID0gbnVsbDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBzZWFyY2hOb3codmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBhZGRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCh0aGlzLnNlYXJjaFZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlclwiPlxuICA8aW5wdXRcbiAgICAjaTBcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3ZhbHVlXT1cInNlYXJjaFZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25JbnB1dFZhbHVlQ2hhbmdlKGkwLnZhbHVlKVwiXG4gICAgKGtleXVwKT1cImtleXVwKCRldmVudCwgaTAudmFsdWUpXCJcbiAgLz5cblxuICA8YnV0dG9uXG4gICAgW2NsYXNzLmhpZGVdPVwiIXNlYXJjaFZhbHVlXCJcbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIGNsYXNzPVwiY2xlYXItaW5kaWNhdG9yIGljb24gaWNvbi1jbGVhclwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICA+PC9idXR0b24+XG4gIDxpICpuZ0lmPVwiMSB8fCBzZWFyY2hPblR5cGVcIiBjbGFzcz1cInNlYXJjaC1pbmRpY2F0b3IgaWNvbiBpY29uLXNlYXJjaFwiPjwvaT5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuLXNlYXJjaFwiXG4gICAgKm5nSWY9XCIhc2VhcmNoT25UeXBlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJzZWFyY2goKVwiXG4gID5cbiAgICBTZWFyY2hcbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -349,8 +349,8 @@ export class GeolocationComponent {
349
349
  this.minLongitude = this.minLongitude || -180;
350
350
  this.maxLongitude = this.maxLongitude || +180;
351
351
  }
352
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GeolocationComponent, deps: [{ token: i1.ModalService }, { token: i2.GeolocationService }], target: i0.ɵɵFactoryTarget.Component });
353
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: GeolocationComponent, selector: "lux-geolocation", inputs: { minLatitude: "minLatitude", maxLatitude: "maxLatitude", minLongitude: "minLongitude", maxLongitude: "maxLongitude", step: "step", zoom: "zoom", lang: "lang", inlineErrors: "inlineErrors", inputId: "inputId", ariaLabel: ["aria-label", "ariaLabel"], readonly: "readonly", disabled: "disabled", required: "required", value: "value" }, outputs: { valueChange: "valueChange", keyPress: "keyPress" }, providers: [
352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: GeolocationComponent, deps: [{ token: i1.ModalService }, { token: i2.GeolocationService }], target: i0.ɵɵFactoryTarget.Component });
353
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: GeolocationComponent, selector: "lux-geolocation", inputs: { minLatitude: "minLatitude", maxLatitude: "maxLatitude", minLongitude: "minLongitude", maxLongitude: "maxLongitude", step: "step", zoom: "zoom", lang: "lang", inlineErrors: "inlineErrors", inputId: "inputId", ariaLabel: ["aria-label", "ariaLabel"], readonly: "readonly", disabled: "disabled", required: "required", value: "value" }, outputs: { valueChange: "valueChange", keyPress: "keyPress" }, providers: [
354
354
  {
355
355
  provide: NG_VALUE_ACCESSOR,
356
356
  multi: true,
@@ -363,7 +363,7 @@ export class GeolocationComponent {
363
363
  }
364
364
  ], viewQueries: [{ propertyName: "latitude", first: true, predicate: ["latitude"], descendants: true, static: true }, { propertyName: "longitude", first: true, predicate: ["longitude"], descendants: true, static: true }, { propertyName: "map", first: true, predicate: ["map"], descendants: true }], ngImport: i0, template: "<input\n #latitude\n class=\"rounded-left prefix\"\n [ngClass]=\"className\"\n type=\"number\"\n [id]=\"inputId + '$latitude'\"\n [(ngModel)]=\"latitudeValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.disabled]=\"disabled === true ? 'true' : undefined\"\n [attr.readonly]=\"readonly === true ? 'true' : undefined\"\n [attr.min]=\"\n minLatitude !== undefined && minLatitude !== null\n ? minLatitude.toString()\n : undefined\n \"\n [attr.max]=\"\n maxLatitude !== undefined && maxLatitude !== null\n ? maxLatitude.toString()\n : undefined\n \"\n [attr.step]=\"\n step !== undefined && step !== null ? step.toString() : undefined\n \"\n [placeholder]=\"i18n[lang].lat\"\n (keyup)=\"onEventLatitude(latitude.value)\"\n (change)=\"onEventLatitude(latitude.value)\"\n (keypress)=\"onKeyPress($event)\"\n (blur)=\"onLostFocus()\"\n/>\n<div\n class=\"infix symbol monospace clickable\"\n [ngClass]=\"className\"\n (click)=\"openModalMap(modalMap)\">\n <span *ngIf=\"isValidNumber(latitudeValue) && latitudeValue >= 0\">{{\n i18n[lang].cardinalPoints.north\n }}</span>\n <span *ngIf=\"isValidNumber(latitudeValue) && latitudeValue < 0\">{{\n i18n[lang].cardinalPoints.south\n }}</span>\n <span *ngIf=\"!isValidNumber(latitudeValue)\">-</span>\n</div>\n<input\n #longitude\n class=\"prefix\"\n [ngClass]=\"className\"\n type=\"number\"\n [id]=\"inputId + '$longitude'\"\n [(ngModel)]=\"longitudeValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.disabled]=\"disabled === true ? 'true' : undefined\"\n [attr.readonly]=\"readonly === true ? 'true' : undefined\"\n [attr.min]=\"\n minLongitude !== undefined && minLongitude !== null\n ? minLongitude.toString()\n : undefined\n \"\n [attr.max]=\"\n maxLongitude !== undefined && maxLongitude !== null\n ? maxLongitude.toString()\n : undefined\n \"\n [attr.step]=\"\n step !== undefined && step !== null ? step.toString() : undefined\n \"\n [placeholder]=\"i18n[lang].lon\"\n (keyup)=\"onEventLongitude(longitude.value)\"\n (change)=\"onEventLongitude(longitude.value)\"\n (keypress)=\"onKeyPress($event)\"\n (blur)=\"onLostFocus()\"\n/>\n<div\n class=\"infix symbol monospace clickable\"\n [ngClass]=\"className\"\n (click)=\"openModalMap(modalMap)\"\n>\n <span *ngIf=\"isValidNumber(longitudeValue) && longitudeValue >= 0\">{{\n i18n[lang].cardinalPoints.east\n }}</span>\n <span *ngIf=\"isValidNumber(longitudeValue) && longitudeValue < 0\">{{\n i18n[lang].cardinalPoints.west\n }}</span>\n <span *ngIf=\"!isValidNumber(longitudeValue)\">-</span>\n</div>\n<div\n [class]=\"\n disabled || readonly || !isClearable()\n ? 'clickable rounded-right postfix symbol'\n : 'clickable postfix symbol'\n \"\n [ngClass]=\"className\"\n (click)=\"openModalMap(modalMap)\"\n>\n <span class=\"icon-globe\"></span>\n</div>\n<button\n #clearButton\n *ngIf=\"!disabled && !readonly && isClearable()\"\n class=\"rounded-right postfix bordered icon icon-clear\"\n [id]=\"inputId + '$clear'\"\n type=\"button\"\n (click)=\"clear()\"\n aria-label=\"clear\"\n></button>\n\n<div *ngIf=\"inlineErrors && lastErrors && (dirty || touched)\" class=\"alert\">\n <div *ngIf=\"lastErrors.required\">\n {{ i18n[lang].userErrors.required }}\n </div>\n <div *ngIf=\"lastErrors.minLatitude\">\n {{\n i18n[lang].userErrors.minLatitude.replace(\n '$minLatitude',\n lastErrors.minLatitude.min\n )\n }}\n </div>\n <div *ngIf=\"lastErrors.maxLatitude\">\n {{\n i18n[lang].userErrors.maxLatitude.replace(\n '$maxLatitude',\n lastErrors.maxLatitude.max\n )\n }}\n </div>\n <div *ngIf=\"lastErrors.minLongitude\">\n {{\n i18n[lang].userErrors.minLongitude.replace(\n '$minLongitude',\n lastErrors.minLongitude.min\n )\n }}\n </div>\n <div *ngIf=\"lastErrors.maxLongitude\">\n {{\n i18n[lang].userErrors.maxLongitude.replace(\n '$maxLongitude',\n lastErrors.maxLongitude.max\n )\n }}\n </div>\n</div>\n\n<ng-template #modalMap let-modal>\n <div class=\"lux-modal-header\">\n <h4 class=\"modal-title default-font\" id=\"modal-basic-title\">{{ mapTitle }}</h4>\n <button\n type=\"button\"\n class=\"close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss('Cross click')\"\n >\n <span aria-hidden=\"true\">\u00D7</span>\n </button>\n </div>\n <div class=\"lux-modal-body content\">\n <lux-autocomplete\n #searchBar\n [attr.aria-label]=\"i18n[lang].typeToSearch\"\n [placeholder]=\"i18n[lang].typeToSearch\"\n *ngIf=\"!disabled && !readonly\"\n [instance]=\"self\"\n [resolveLabelsFunction]=\"getLabels\"\n [populateFunction]=\"getData\"\n (valueChange)=\"onSearchLocationChanged(searchBar.value, map)\"\n ></lux-autocomplete>\n <div class=\"map-container\">\n <lux-map\n #map\n [center]=\"value\"\n [markerPoint]=\"value\"\n [zoom]=\"zoom\"\n [readonly]=\"readonly === true || disabled === true ? true : false\"\n ></lux-map>\n </div>\n </div>\n <div class=\"lux-modal-footer\">\n <button\n *ngIf=\"disabled || readonly\"\n type=\"button\"\n class=\"btn btn-cancel\"\n (click)=\"modal.close('cancel')\"\n >\n {{ i18n[lang].closeAction }}\n </button>\n <button\n *ngIf=\"!disabled && !readonly\"\n type=\"button\"\n class=\"btn btn-cancel\"\n (click)=\"modal.close('cancel')\"\n >\n {{ i18n[lang].cancelAction }}\n </button>\n <button\n *ngIf=\"!disabled && !readonly\"\n type=\"button\"\n class=\"btn btn-select\"\n (click)=\"modal.close(map.markerPoint.coordinates)\"\n >\n {{ i18n[lang].selectAction }}\n </button>\n </div>\n</ng-template>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}:host{display:flex;align-items:stretch}.btn-select{color:#fff;background-color:#4242d1;margin-left:2rem}.btn-cancel{color:#fff;background-color:#c22929}.readonly{border:none}.readonly:focus{border:none;outline:none}.disabled{background-color:var(--lux-disabled-color, #f1f1f1);border-color:var(--lux-disabled-border-color, #6d6d6d)}.icon,.icon-clear,.icon-globe{display:inline-block;background-size:1rem 1rem;background-position:center;background-repeat:no-repeat;min-width:1rem;min-height:1rem;width:var(--lux-autocomplete-icon-width, 1.5rem);z-index:1}.clickable{cursor:pointer}.icon-globe{background:var(--lux-autocomplete-icon-globe, url(/assets/img/globe.svg) no-repeat center);background-size:1rem;height:100%}.icon-clear{width:var(--lux-autocomplete-icon-width, 1.5rem);background:var(--lux-autocomplete-icon-clear, url(/assets/img/filter-clear.png) no-repeat center);background-size:var(--lux-autocomplete-icon-bg-size, .5rem .5rem);z-index:1}.lux-modal-body{padding:0}.map-container{height:var(--lux-geolocation-map-height, 45vh);width:var(--lux-geolocation-map-width, 90vw);max-width:100%}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.AutocompleteComponent, selector: "lux-autocomplete", inputs: ["inputId", "disabled", "readonly", "label", "canAddNewValues", "keepOpenAfterDelete", "value", "dataSource", "required", "placeholder", "resolveLabelsFunction", "populateFunction", "instance"], outputs: ["valueChange", "dataSourceChange"] }, { kind: "component", type: i6.MapComponent, selector: "lux-map", inputs: ["mapId", "zoom", "center", "readonly", "markerCoordinates", "markerPoint"], outputs: ["valueChange"] }] });
365
365
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GeolocationComponent, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: GeolocationComponent, decorators: [{
367
367
  type: Component,
368
368
  args: [{ selector: 'lux-geolocation', providers: [
369
369
  {
@@ -420,4 +420,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
420
420
  }], keyPress: [{
421
421
  type: Output
422
422
  }] } });
423
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUNiLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBbUIzRCxNQUFNLE9BQU8sb0JBQW9CO0lBcUpyQjtJQUNEO0lBckpULE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRW9CLFFBQVEsQ0FBYTtJQUNwQixTQUFTLENBQWE7SUFDM0IsR0FBRyxDQUFjO0lBRXRELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBNEIsSUFBSSxDQUFDO0lBRW5DLFNBQVMsQ0FBbUI7SUFDNUIsU0FBUyxDQUFVO0lBQ25CLE1BQU0sQ0FBTTtJQUVwQixhQUFhLEdBQVksU0FBUyxD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c0IsU0FBUztzQkFBcEMsS0FBSzt1QkFBQyxZQUFZO2dCQUNILFFBQVE7c0JBQXZCLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixLQUFLO3NCQURSLEtBQUs7Z0JBaUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7XG4gIGV4aXN0cyxcbiAgaGFzVmFsdWUsXG4gIGlzSW5pdGlhbEFuZEVtcHR5LFxuICBpc1ZhbGlkTnVtYmVyLFxuICByb3VuZFRvTXVsdGlwbGVPZlxufSBmcm9tICcuLi9oZWxwZXJGbnMnO1xuaW1wb3J0IHsgbGFuZ3VhZ2VEZXRlY3RvciB9IGZyb20gJy4uL2xhbmcnO1xuaW1wb3J0IHsgR2VvUG9pbnQgfSBmcm9tICcuLi9tYXAvZ2VvcG9pbnQnO1xuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBHZW9sb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuL2dlb2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtZ2VvbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW9sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2VvbG9jYXRpb25Db21wb25lbnQpXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHZW9sb2NhdGlvbkNvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgR2VvbG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICBAVmlld0NoaWxkKCdsYXRpdHVkZScsIHsgc3RhdGljOiB0cnVlIH0pIGxhdGl0dWRlOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsb25naXR1ZGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsb25naXR1ZGU6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ21hcCcsIHsgc3RhdGljOiBmYWxzZSB9KSBtYXA/OiBFbGVtZW50UmVmO1xuXG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlydHkgPSBmYWxzZTtcbiAgbGFzdEVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBzdHJpbmcgfCBib29sZWFuO1xuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICBsYXRpdHVkZVZhbHVlPzogbnVtYmVyID0gdW5kZWZpbmVkO1xuICBsb25naXR1ZGVWYWx1ZT86IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBpc1ZhbGlkTnVtYmVyID0gaXNWYWxpZE51bWJlcjtcblxuICBpMThuID0ge1xuICAgIGVuOiB7XG4gICAgICBsYXQ6ICdsYXRpdHVkZScsXG4gICAgICBsb246ICdsb25naXR1ZGUnLFxuICAgICAgc2VsZWN0TG9jYXRpb246ICdTZWxlY3QgbG9jYXRpb24nLFxuICAgICAgbG9jYXRpb246ICdMb2NhdGlvbicsXG4gICAgICBzZWxlY3RBY3Rpb246ICdTZWxlY3QnLFxuICAgICAgY2FuY2VsQWN0aW9uOiAnQ2FuY2VsJyxcbiAgICAgIGNsb3NlQWN0aW9uOiAnQ2xvc2UnLFxuICAgICAgdHlwZVRvU2VhcmNoOiAndHlwZSB0byBzZWFyY2gnLFxuICAgICAgY2FyZGluYWxQb2ludHM6IHtcbiAgICAgICAgbm9ydGg6ICdOJyxcbiAgICAgICAgc291dGg6ICdTJyxcbiAgICAgICAgZWFzdDogJ0UnLFxuICAgICAgICB3ZXN0OiAnVydcbiAgICAgIH0sXG4gICAgICB1c2VyRXJyb3JzOiB7XG4gICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQgZmllbGQuJyxcbiAgICAgICAgbWluTGF0aXR1ZGU6ICdNaW5pbXVtIGxhdGl0dWRlIGlzICRtaW5MYXRpdHVkZS4nLFxuICAgICAgICBtYXhMYXRpdHVkZTogJ01heGltdW0gbGF0aXR1ZGUgaXMgJG1heExhdGl0dWRlLicsXG4gICAgICAgIG1pbkxvbmdpdHVkZTogJ01pbmltdW0gbG9uZ2l0dWRlIGlzICRtaW5Mb25naXR1ZGUuJyxcbiAgICAgICAgbWF4TG9uZ2l0dWRlOiAnTWF4aW11bSBsb25naXR1ZGUgaXMgJG1heExvbmdpdHVkZS4nXG4gICAgICB9XG4gICAgfSxcbiAgICBlczoge1xuICAgICAgbGF0OiAnbGF0aXR1ZCcsXG4gICAgICBsb246ICdsb25naXR1ZCcsXG4gICAgICBzZWxlY3RMb2NhdGlvbjogJ1NlbGVjY2lvbmUgdWJpY2FjacOzbicsXG4gICAgICBsb2NhdGlvbjogJ1ViaWNhY2nDs24nLFxuICAgICAgc2VsZWN0QWN0aW9uOiAnU2VsZWNjaW9uYXInLFxuICAgICAgY2FuY2VsQWN0aW9uOiAnQ2FuY2VsYXInLFxuICAgICAgY2xvc2VBY3Rpb246ICdDZXJyYXInLFxuICAgICAgdHlwZVRvU2VhcmNoOiAnZXNjcmliZSBwYXJhIGJ1c2NhcicsXG4gICAgICBjYXJkaW5hbFBvaW50czoge1xuICAgICAgICBub3J0aDogJ04nLFxuICAgICAgICBzb3V0aDogJ1MnLFxuICAgICAgICBlYXN0OiAnRScsXG4gICAgICAgIHdlc3Q6ICdPJ1xuICAgICAgfSxcbiAgICAgIHVzZXJFcnJvcnM6IHtcbiAgICAgICAgcmVxdWlyZWQ6ICdFbCBjYW1wbyBlcyBvYmxpZ2F0b3Jpby4nLFxuICAgICAgICBtaW5MYXRpdHVkZTogJ0xhIGxhdGl0dWQgbcOtbmltYSBlcyAkbWluTGF0aXR1ZGUuJyxcbiAgICAgICAgbWF4TGF0aXR1ZGU6ICdMYSBsYXRpdHVkIG3DoXhpbWEgZXMgJG1heExhdGl0dWRlLicsXG4gICAgICAgIG1pbkxvbmdpdHVkZTogJ0xhIGxvbmdpdHVkIG3DrW5pbWEgZXMgJG1pbkxvbmdpdHVkZS4nLFxuICAgICAgICBtYXhMb25naXR1ZGU6ICdMYSBsb25naXR1ZCBtw6F4aW1hIGVzICRtYXhMb25naXR1ZGUuJ1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWluTGF0aXR1ZGU6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIG1heExhdGl0dWRlOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5Mb25naXR1ZGU6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIG1heExvbmdpdHVkZTogbnVtYmVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RlcDogbnVtYmVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgem9vbTogbnVtYmVyO1xuXG4gIGdldCBjbGFzc05hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja0NsYXNzTmFtZSgpO1xuICB9XG5cbiAgQElucHV0KCkgbGFuZyA9IGxhbmd1YWdlRGV0ZWN0b3IoKTtcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9ycyA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW5wdXRJZDogc3RyaW5nO1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2OiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdiA9IHR5cGVvZiB2ID09PSAnc3RyaW5nJyAmJiB2ICE9PSAnZmFsc2UnID8gdHJ1ZSA6IHY7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xuICB9XG4gIGdldCBkaXNhYmxlZCgpOiBzdHJpbmcgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVxdWlyZWQodjogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdjtcbiAgfVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHY6IEdlb1BvaW50KSB7XG4gICAgaWYgKHYgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICByZXR1cm47IC8vIHByZXZlbnQgZXZlbnRzIHdoZW4gdGhlcmUgaXMgbm8gY2hhbmdlc1xuICAgIH1cbiAgICBjb25zdCBpbml0aWFsQW5kRW1wdHkgPSBpc0luaXRpYWxBbmRFbXB0eSh0aGlzLl92YWx1ZSwgdik7XG4gICAgaWYgKFxuICAgICAgdiAmJlxuICAgICAgdi5jb29yZGluYXRlcyAmJlxuICAgICAgdi5jb29yZGluYXRlcy5sZW5ndGggPT09IDIgJiZcbiAgICAgIGV4aXN0cyh2LmNvb3JkaW5hdGVzWzBdICYmIGV4aXN0cyh2LmNvb3JkaW5hdGVzWzFdKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIHRoaXMuc2V0TGF0aXR1ZGVJbkNvbnRyb2wodi5jb29yZGluYXRlc1sxXSk7XG4gICAgICB0aGlzLnNldExvbmdpdHVkZUluQ29udHJvbCh2LmNvb3JkaW5hdGVzWzBdKTtcbiAgICB9IGVsc2UgaWYgKCF2KSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLnNldExhdGl0dWRlSW5Db250cm9sKG51bGwpO1xuICAgICAgdGhpcy5zZXRMb25naXR1ZGVJbkNvbnRyb2wobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIC8vIHdlIGRvbid0IHNldCB2YWx1ZSBpbiBjb250cm9sIGlmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWRcbiAgICAgIC8vIGlmIHdlIGRvLCB0aGUgY29udGVudCBvZiB0aGUgY29udHJvbCBjaGFuZ2VzIGFuZCBjYW4gZXJhc2Ugd2hhdCB0aGUgdXNlciBpcyB0eXBpbmdcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICBpZiAoIWluaXRpYWxBbmRFbXB0eSkge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKTogR2VvUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8R2VvUG9pbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXlQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KTogdm9pZCA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICBwdWJsaWMgbG9jYXRpb25TZXJ2aWNlOiBHZW9sb2NhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuICAvLyBFbmQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG5cbiAgcHJpdmF0ZSBzZXRMYXRpdHVkZUluQ29udHJvbChsYXRpdHVkZTogbnVtYmVyKTogdm9pZCB7XG4gICAgLy8gdGhpcy5sYXRpdHVkZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gbGF0aXR1ZGU7XG4gICAgdGhpcy5sYXRpdHVkZVZhbHVlID0gbGF0aXR1ZGU7XG4gIH1cbiAgcHJpdmF0ZSBzZXRMb25naXR1ZGVJbkNvbnRyb2wobG9uZ2l0dWRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvbmdpdHVkZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gbG9uZ2l0dWRlO1xuICAgIHRoaXMubG9uZ2l0dWRlVmFsdWUgPSBsb25naXR1ZGU7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMYXRpdHVkZUluQ29udHJvbChudWxsKTtcbiAgICB0aGlzLnNldExvbmdpdHVkZUluQ29udHJvbChudWxsKTtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgfVxuICBpc0NsZWFyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgaXNWYWxpZE51bWJlcih0aGlzLmxhdGl0dWRlVmFsdWUpIHx8IGlzVmFsaWROdW1iZXIodGhpcy5sb25naXR1ZGVWYWx1ZSlcbiAgICApO1xuICB9XG5cbiAgLy8gVmFsaWRhdG9yIGludGVyZmFjZVxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKCk6IHZvaWQge31cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGxldCByZXN1bHQ6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZWQgJiZcbiAgICAgICFoYXNWYWx1ZSh2YWx1ZSkgJiZcbiAgICAgICFleGlzdHModGhpcy5sYXRpdHVkZVZhbHVlKSAmJlxuICAgICAgIWV4aXN0cyh0aGlzLmxvbmdpdHVkZVZhbHVlKVxuICAgICkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0LnJlcXVpcmVkID0geyB2YWx1ZSwgcmVhc29uOiAnUmVxdWlyZWQgZmllbGQuJyB9O1xuICAgIH1cbiAgICBpZiAoIWV4aXN0cyh0aGlzLmxhdGl0dWRlVmFsdWUpICYmIGV4aXN0cyh0aGlzLmxvbmdpdHVkZVZhbHVlKSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0LmV4aXN0c0xhdGl0dWRlID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcmVhc29uOiAnTGF0aXR1ZGUgbm90IHNwZWNpZmllZC4nXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZXhpc3RzKHRoaXMubGF0aXR1ZGVWYWx1ZSkgJiYgIWV4aXN0cyh0aGlzLmxvbmdpdHVkZVZhbHVlKSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0LmV4aXN0c0xvbmdpdHVkZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlYXNvbjogJ0xvbmdpdHVkZSBub3Qgc3BlY2lmaWVkLidcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChleGlzdHModGhpcy5taW5MYXRpdHVkZSkgJiYgdGhpcy5sYXRpdHVkZVZhbHVlIDwgdGhpcy5taW5MYXRpdHVkZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0Lm1pbkxhdGl0dWRlID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWluOiB0aGlzLm1pbkxhdGl0dWRlLFxuICAgICAgICByZWFzb246IGBMYXRpdHVkZSBpcyBsb3dlciB0aGFuIG1pbmltdW0gdmFsdWU6ICR7dGhpcy5taW5MYXRpdHVkZX0uYFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGV4aXN0cyh0aGlzLm1heExhdGl0dWRlKSAmJiB0aGlzLmxhdGl0dWRlVmFsdWUgPiB0aGlzLm1heExhdGl0dWRlKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQubWF4TGF0aXR1ZGUgPSB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4TGF0aXR1ZGUsXG4gICAgICAgIHJlYXNvbjogYExhdGl0dWRlIGlzIGhpZ2hlciB0aGFuIG1heGltdW0gdmFsdWU6ICR7dGhpcy5tYXhMYXRpdHVkZX0uYFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGV4aXN0cyh0aGlzLm1pbkxvbmdpdHVkZSkgJiYgdGhpcy5sb25naXR1ZGVWYWx1ZSA8IHRoaXMubWluTG9uZ2l0dWRlKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQubWluTG9uZ2l0dWRlID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWluOiB0aGlzLm1pbkxvbmdpdHVkZSxcbiAgICAgICAgcmVhc29uOiBgTG9uZ2l0dWRlIGlzIGxvd2VyIHRoYW4gbWluaW11bSB2YWx1ZTogJHt0aGlzLm1pbkxvbmdpdHVkZX0uYFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGV4aXN0cyh0aGlzLm1heExvbmdpdHVkZSkgJiYgdGhpcy5sb25naXR1ZGVWYWx1ZSA+IHRoaXMubWF4TG9uZ2l0dWRlKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICByZXN1bHQubWF4TG9uZ2l0dWRlID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWF4OiB0aGlzLm1heExvbmdpdHVkZSxcbiAgICAgICAgcmVhc29uOiBgTG9uZ2l0dWRlIGlzIGhpZ2hlciB0aGFuIG1heGltdW0gdmFsdWU6ICR7dGhpcy5tYXhMb25naXR1ZGV9LmBcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMubGFzdEVycm9ycyA9IHJlc3VsdDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8vIEVuZCBvZiBWYWxpZGF0b3IgaW50ZXJmYWNlXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dElkID0gdGhpcy5pbnB1dElkXG4gICAgICA/IHRoaXMuaW5wdXRJZFxuICAgICAgOiBgZ2VvbG9jYXRpb24kJHtHZW9sb2NhdGlvbkNvbXBvbmVudC5pZENvdW50ZXIrK31gO1xuICAgIHRoaXMuc2V0UGF0dGVybnMoKTtcbiAgfVxuXG4gIHJvdW5kVG9TdGVwQW5kVXBkYXRlTGF0aXR1ZGVBbmRMb25naXR1ZGUoXG4gICAgbmV3TGF0aXR1ZGVBbmRMb25naXR1ZGU6IG51bWJlcltdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0xhdGl0dWRlID0gcm91bmRUb011bHRpcGxlT2YoXG4gICAgICBuZXdMYXRpdHVkZUFuZExvbmdpdHVkZVsxXSxcbiAgICAgIHRoaXMuc3RlcFxuICAgICk7XG4gICAgY29uc3QgbmV3TG9uZ2l0dWRlID0gcm91bmRUb011bHRpcGxlT2YoXG4gICAgICBuZXdMYXRpdHVkZUFuZExvbmdpdHVkZVswXSxcbiAgICAgIHRoaXMuc3RlcFxuICAgICk7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWV4aXN0cyhuZXdMYXRpdHVkZUFuZExvbmdpdHVkZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIGNvb3JkaW5hdGVzOiBbbmV3TG9uZ2l0dWRlLCBuZXdMYXRpdHVkZV1cbiAgICB9O1xuICB9XG5cbiAgb25Mb3N0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgb25FdmVudExhdGl0dWRlKG5ld0xhdGl0dWRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5ld0xhdGl0dWRlVmFsdWUgPSBpc1ZhbGlkTnVtYmVyKG5ld0xhdGl0dWRlKSA/ICtuZXdMYXRpdHVkZSA6IG51bGw7XG4gICAgaWYgKFxuICAgICAgIShleGlzdHModGhpcy52YWx1ZSkgJiYgZXhpc3RzKHRoaXMudmFsdWUuY29vcmRpbmF0ZXNbMF0pKSAmJlxuICAgICAgIWV4aXN0cyhuZXdMYXRpdHVkZVZhbHVlKVxuICAgICkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgIGNvb3JkaW5hdGVzOiBbXG4gICAgICAgICAgdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUuY29vcmRpbmF0ZXNbMF0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3TGF0aXR1ZGVWYWx1ZVxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuICBvbkV2ZW50TG9uZ2l0dWRlKG5ld0xvbmdpdHVkZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdMb25naXR1ZGVWYWx1ZSA9IGlzVmFsaWROdW1iZXIobmV3TG9uZ2l0dWRlKVxuICAgICAgPyArbmV3TG9uZ2l0dWRlXG4gICAgICA6IG51bGw7XG4gICAgaWYgKFxuICAgICAgIWV4aXN0cyhuZXdMb25naXR1ZGVWYWx1ZSkgJiZcbiAgICAgICEoZXhpc3RzKHRoaXMudmFsdWUpICYmIGV4aXN0cyh0aGlzLl92YWx1ZS5jb29yZGluYXRlc1sxXSkpXG4gICAgKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgY29vcmRpbmF0ZXM6IFtcbiAgICAgICAgICBuZXdMb25naXR1ZGVWYWx1ZSxcbiAgICAgICAgICB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5jb29yZGluYXRlc1sxXSA6IHVuZGVmaW5lZFxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuICBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5rZXlQcmVzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGNoZWNrQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRcbiAgICAgID8gdGhpcy5yZWFkb25seVxuICAgICAgICA/ICdkaXNhYmxlZCByZWFkb25seSdcbiAgICAgICAgOiAnZGlzYWJsZWQnXG4gICAgICA6IHRoaXMucmVhZG9ubHlcbiAgICAgID8gJ3JlYWRvbmx5J1xuICAgICAgOiAnJztcbiAgfVxuXG4gIG9wZW5Nb2RhbE1hcChtb2RhbDogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWwpLnJlc3VsdC50aGVuKFxuICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0ICE9PSAnY2FuY2VsJykge1xuICAgICAgICAgIHRoaXMucm91bmRUb1N0ZXBBbmRVcGRhdGVMYXRpdHVkZUFuZExvbmdpdHVkZShyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKF8pID0+IHt9XG4gICAgKTtcbiAgfVxuXG4gIG9uU2VhcmNoTG9jYXRpb25DaGFuZ2VkKG5ld1ZhbHVlOiBHZW9Qb2ludCwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAubWFya2VyUG9pbnQgPSBuZXdWYWx1ZTtcbiAgICBtYXAuY2VudGVyID0gbWFwLm1hcmtlclBvaW50O1xuICB9XG5cbiAgZ2V0IG1hcFRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8ICEhdGhpcy5yZWFkb25seVxuICAgICAgPyB0aGlzLmkxOG5bdGhpcy5sYW5nXS5sb2NhdGlvblxuICAgICAgOiB0aGlzLmkxOG5bdGhpcy5sYW5nXS5zZWxlY3RMb2NhdGlvbjtcbiAgfVxuXG4gIGdldCBzZWxmKCk6IEdlb2xvY2F0aW9uQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldExhYmVscyhcbiAgICBpbnN0YW5jZTogR2VvbG9jYXRpb25Db21wb25lbnQsXG4gICAga2V5czogR2VvUG9pbnRbXVxuICApOiBPYnNlcnZhYmxlPERhdGFTb3VyY2U8R2VvUG9pbnQsIHN0cmluZz4+IHtcbiAgICByZXR1cm4gaW5zdGFuY2UubG9jYXRpb25TZXJ2aWNlLmdldExhYmVscyhpbnN0YW5jZS5sb2NhdGlvblNlcnZpY2UsIGtleXMpO1xuICB9XG5cbiAgZ2V0RGF0YShcbiAgICBpbnN0YW5jZTogR2VvbG9jYXRpb25Db21wb25lbnQsXG4gICAgc2VhcmNoOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxEYXRhU291cmNlPEdlb1BvaW50LCBzdHJpbmc+PiB7XG4gICAgcmV0dXJuIGluc3RhbmNlLmxvY2F0aW9uU2VydmljZS5nZXREYXRhKGluc3RhbmNlLmxvY2F0aW9uU2VydmljZSwgc2VhcmNoKTtcbiAgfVxuXG4gIHNldFBhdHRlcm5zKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcCA9IHRoaXMuc3RlcCB8fCAwLjAwMDAxOyAvLyAwLjAwMDAxIGRlZ3JlZXMgPSAxLjExIG1ldGVyc1xuICAgIHRoaXMuem9vbSA9IHRoaXMuem9vbSB8fCAxODsgLy8gKDM2MC8yXjE4KSBkZWdyZWVzIH4gMC4wMDEzNyBkZWdyZWVzIH4gMTUzIG1ldGVyc1xuICAgIHRoaXMubWluTGF0aXR1ZGUgPSB0aGlzLm1pbkxhdGl0dWRlIHx8IC05MDtcbiAgICB0aGlzLm1heExhdGl0dWRlID0gdGhpcy5tYXhMYXRpdHVkZSB8fCArOTA7XG4gICAgdGhpcy5taW5Mb25naXR1ZGUgPSB0aGlzLm1pbkxvbmdpdHVkZSB8fCAtMTgwO1xuICAgIHRoaXMubWF4TG9uZ2l0dWRlID0gdGhpcy5tYXhMb25naXR1ZGUgfHwgKzE4MDtcbiAgfVxufVxuIiwiPGlucHV0XG4gICNsYXRpdHVkZVxuICBjbGFzcz1cInJvdW5kZWQtbGVmdCBwcmVmaXhcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICB0eXBlPVwibnVtYmVyXCJcbiAgW2lkXT1cImlucHV0SWQgKyAnJGxhdGl0dWRlJ1wiXG4gIFsobmdNb2RlbCldPVwibGF0aXR1ZGVWYWx1ZVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA9PT0gdHJ1ZSA/ICd0cnVlJyA6IHVuZGVmaW5lZFwiXG4gIFthdHRyLm1pbl09XCJcbiAgICBtaW5MYXRpdHVkZSAhPT0gdW5kZWZpbmVkICYmIG1pbkxhdGl0dWRlICE9PSBudWxsXG4gICAgICA/IG1pbkxhdGl0dWRlLnRvU3RyaW5nKClcbiAgICAgIDogdW5kZWZpbmVkXG4gIFwiXG4gIFthdHRyLm1heF09XCJcbiAgICBtYXhMYXRpdHVkZSAhPT0gdW5kZWZpbmVkICYmIG1heExhdGl0dWRlICE9PSBudWxsXG4gICAgICA/IG1heExhdGl0dWRlLnRvU3RyaW5nKClcbiAgICAgIDogdW5kZWZpbmVkXG4gIFwiXG4gIFthdHRyLnN0ZXBdPVwiXG4gICAgc3RlcCAhPT0gdW5kZWZpbmVkICYmIHN0ZXAgIT09IG51bGwgPyBzdGVwLnRvU3RyaW5nKCkgOiB1bmRlZmluZWRcbiAgXCJcbiAgW3BsYWNlaG9sZGVyXT1cImkxOG5bbGFuZ10ubGF0XCJcbiAgKGtleXVwKT1cIm9uRXZlbnRMYXRpdHVkZShsYXRpdHVkZS52YWx1ZSlcIlxuICAoY2hhbmdlKT1cIm9uRXZlbnRMYXRpdHVkZShsYXRpdHVkZS52YWx1ZSlcIlxuICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25Mb3N0Rm9jdXMoKVwiXG4vPlxuPGRpdlxuICBjbGFzcz1cImluZml4IHN5bWJvbCBtb25vc3BhY2UgY2xpY2thYmxlXCJcbiAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgKGNsaWNrKT1cIm9wZW5Nb2RhbE1hcChtb2RhbE1hcClcIj5cbiAgPHNwYW4gKm5nSWY9XCJpc1ZhbGlkTnVtYmVyKGxhdGl0dWRlVmFsdWUpICYmIGxhdGl0dWRlVmFsdWUgPj0gMFwiPnt7XG4gICAgaTE4bltsYW5nXS5jYXJkaW5hbFBvaW50cy5ub3J0aFxuICB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpc1ZhbGlkTnVtYmVyKGxhdGl0dWRlVmFsdWUpICYmIGxhdGl0dWRlVmFsdWUgPCAwXCI+e3tcbiAgICBpMThuW2xhbmddLmNhcmRpbmFsUG9pbnRzLnNvdXRoXG4gIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIiFpc1ZhbGlkTnVtYmVyKGxhdGl0dWRlVmFsdWUpXCI+LTwvc3Bhbj5cbjwvZGl2PlxuPGlucHV0XG4gICNsb25naXR1ZGVcbiAgY2xhc3M9XCJwcmVmaXhcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICB0eXBlPVwibnVtYmVyXCJcbiAgW2lkXT1cImlucHV0SWQgKyAnJGxvbmdpdHVkZSdcIlxuICBbKG5nTW9kZWwpXT1cImxvbmdpdHVkZVZhbHVlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA9PT0gdHJ1ZSA/ICd0cnVlJyA6IHVuZGVmaW5lZFwiXG4gIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID09PSB0cnVlID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgW2F0dHIubWluXT1cIlxuICAgIG1pbkxvbmdpdHVkZSAhPT0gdW5kZWZpbmVkICYmIG1pbkxvbmdpdHVkZSAhPT0gbnVsbFxuICAgICAgPyBtaW5Mb25naXR1ZGUudG9TdHJpbmcoKVxuICAgICAgOiB1bmRlZmluZWRcbiAgXCJcbiAgW2F0dHIubWF4XT1cIlxuICAgIG1heExvbmdpdHVkZSAhPT0gdW5kZWZpbmVkICYmIG1heExvbmdpdHVkZSAhPT0gbnVsbFxuICAgICAgPyBtYXhMb25naXR1ZGUudG9TdHJpbmcoKVxuICAgICAgOiB1bmRlZmluZWRcbiAgXCJcbiAgW2F0dHIuc3RlcF09XCJcbiAgICBzdGVwICE9PSB1bmRlZmluZWQgJiYgc3RlcCAhPT0gbnVsbCA/IHN0ZXAudG9TdHJpbmcoKSA6IHVuZGVmaW5lZFxuICBcIlxuICBbcGxhY2Vob2xkZXJdPVwiaTE4bltsYW5nXS5sb25cIlxuICAoa2V5dXApPVwib25FdmVudExvbmdpdHVkZShsb25naXR1ZGUudmFsdWUpXCJcbiAgKGNoYW5nZSk9XCJvbkV2ZW50TG9uZ2l0dWRlKGxvbmdpdHVkZS52YWx1ZSlcIlxuICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25Mb3N0Rm9jdXMoKVwiXG4vPlxuPGRpdlxuICBjbGFzcz1cImluZml4IHN5bWJvbCBtb25vc3BhY2UgY2xpY2thYmxlXCJcbiAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgKGNsaWNrKT1cIm9wZW5Nb2RhbE1hcChtb2RhbE1hcClcIlxuPlxuICA8c3BhbiAqbmdJZj1cImlzVmFsaWROdW1iZXIobG9uZ2l0dWRlVmFsdWUpICYmIGxvbmdpdHVkZVZhbHVlID49IDBcIj57e1xuICAgIGkxOG5bbGFuZ10uY2FyZGluYWxQb2ludHMuZWFzdFxuICB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpc1ZhbGlkTnVtYmVyKGxvbmdpdHVkZVZhbHVlKSAmJiBsb25naXR1ZGVWYWx1ZSA8IDBcIj57e1xuICAgIGkxOG5bbGFuZ10uY2FyZGluYWxQb2ludHMud2VzdFxuICB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaXNWYWxpZE51bWJlcihsb25naXR1ZGVWYWx1ZSlcIj4tPC9zcGFuPlxuPC9kaXY+XG48ZGl2XG4gIFtjbGFzc109XCJcbiAgICBkaXNhYmxlZCB8fCByZWFkb25seSB8fCAhaXNDbGVhcmFibGUoKVxuICAgICAgPyAnY2xpY2thYmxlIHJvdW5kZWQtcmlnaHQgcG9zdGZpeCBzeW1ib2wnXG4gICAgICA6ICdjbGlja2FibGUgcG9zdGZpeCBzeW1ib2wnXG4gIFwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIChjbGljayk9XCJvcGVuTW9kYWxNYXAobW9kYWxNYXApXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJpY29uLWdsb2JlXCI+PC9zcGFuPlxuPC9kaXY+XG48YnV0dG9uXG4gICNjbGVhckJ1dHRvblxuICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHkgJiYgaXNDbGVhcmFibGUoKVwiXG4gIGNsYXNzPVwicm91bmRlZC1yaWdodCBwb3N0Zml4IGJvcmRlcmVkIGljb24gaWNvbi1jbGVhclwiXG4gIFtpZF09XCJpbnB1dElkICsgJyRjbGVhcidcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgKGNsaWNrKT1cImNsZWFyKClcIlxuICBhcmlhLWxhYmVsPVwiY2xlYXJcIlxuPjwvYnV0dG9uPlxuXG48ZGl2ICpuZ0lmPVwiaW5saW5lRXJyb3JzICYmIGxhc3RFcnJvcnMgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCIgY2xhc3M9XCJhbGVydFwiPlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5yZXF1aXJlZFwiPlxuICAgIHt7IGkxOG5bbGFuZ10udXNlckVycm9ycy5yZXF1aXJlZCB9fVxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImxhc3RFcnJvcnMubWluTGF0aXR1ZGVcIj5cbiAgICB7e1xuICAgICAgaTE4bltsYW5nXS51c2VyRXJyb3JzLm1pbkxhdGl0dWRlLnJlcGxhY2UoXG4gICAgICAgICckbWluTGF0aXR1ZGUnLFxuICAgICAgICBsYXN0RXJyb3JzLm1pbkxhdGl0dWRlLm1pblxuICAgICAgKVxuICAgIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5tYXhMYXRpdHVkZVwiPlxuICAgIHt7XG4gICAgICBpMThuW2xhbmddLnVzZXJFcnJvcnMubWF4TGF0aXR1ZGUucmVwbGFjZShcbiAgICAgICAgJyRtYXhMYXRpdHVkZScsXG4gICAgICAgIGxhc3RFcnJvcnMubWF4TGF0aXR1ZGUubWF4XG4gICAgICApXG4gICAgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsYXN0RXJyb3JzLm1pbkxvbmdpdHVkZVwiPlxuICAgIHt7XG4gICAgICBpMThuW2xhbmddLnVzZXJFcnJvcnMubWluTG9uZ2l0dWRlLnJlcGxhY2UoXG4gICAgICAgICckbWluTG9uZ2l0dWRlJyxcbiAgICAgICAgbGFzdEVycm9ycy5taW5Mb25naXR1ZGUubWluXG4gICAgICApXG4gICAgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsYXN0RXJyb3JzLm1heExvbmdpdHVkZVwiPlxuICAgIHt7XG4gICAgICBpMThuW2xhbmddLnVzZXJFcnJvcnMubWF4TG9uZ2l0dWRlLnJlcGxhY2UoXG4gICAgICAgICckbWF4TG9uZ2l0dWRlJyxcbiAgICAgICAgbGFzdEVycm9ycy5tYXhMb25naXR1ZGUubWF4XG4gICAgICApXG4gICAgfX1cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNtb2RhbE1hcCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJsdXgtbW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgZGVmYXVsdC1mb250XCIgaWQ9XCJtb2RhbC1iYXNpYy10aXRsZVwiPnt7IG1hcFRpdGxlIH19PC9oND5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKCdDcm9zcyBjbGljaycpXCJcbiAgICA+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj7Dlzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsdXgtbW9kYWwtYm9keSBjb250ZW50XCI+XG4gICAgPGx1eC1hdXRvY29tcGxldGVcbiAgICAgICNzZWFyY2hCYXJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaTE4bltsYW5nXS50eXBlVG9TZWFyY2hcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG5bbGFuZ10udHlwZVRvU2VhcmNoXCJcbiAgICAgICpuZ0lmPVwiIWRpc2FibGVkICYmICFyZWFkb25seVwiXG4gICAgICBbaW5zdGFuY2VdPVwic2VsZlwiXG4gICAgICBbcmVzb2x2ZUxhYmVsc0Z1bmN0aW9uXT1cImdldExhYmVsc1wiXG4gICAgICBbcG9wdWxhdGVGdW5jdGlvbl09XCJnZXREYXRhXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblNlYXJjaExvY2F0aW9uQ2hhbmdlZChzZWFyY2hCYXIudmFsdWUsIG1hcClcIlxuICAgID48L2x1eC1hdXRvY29tcGxldGU+XG4gICAgPGRpdiBjbGFzcz1cIm1hcC1jb250YWluZXJcIj5cbiAgICAgIDxsdXgtbWFwXG4gICAgICAgICNtYXBcbiAgICAgICAgW2NlbnRlcl09XCJ2YWx1ZVwiXG4gICAgICAgIFttYXJrZXJQb2ludF09XCJ2YWx1ZVwiXG4gICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgPT09IHRydWUgfHwgZGlzYWJsZWQgPT09IHRydWUgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgPjwvbHV4LW1hcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsdXgtbW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1jYW5jZWxcIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsLmNsb3NlKCdjYW5jZWwnKVwiXG4gICAgPlxuICAgICAge3sgaTE4bltsYW5nXS5jbG9zZUFjdGlvbiB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiIWRpc2FibGVkICYmICFyZWFkb25seVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1jYW5jZWxcIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsLmNsb3NlKCdjYW5jZWwnKVwiXG4gICAgPlxuICAgICAge3sgaTE4bltsYW5nXS5jYW5jZWxBY3Rpb24gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tc2VsZWN0XCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5jbG9zZShtYXAubWFya2VyUG9pbnQuY29vcmRpbmF0ZXMpXCJcbiAgICA+XG4gICAgICB7eyBpMThuW2xhbmddLnNlbGVjdEFjdGlvbiB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUNiLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBbUIzRCxNQUFNLE9BQU8sb0JBQW9CO0lBcUpyQjtJQUNEO0lBckpULE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRW9CLFFBQVEsQ0FBYTtJQUNwQixTQUFTLENBQWE7SUFDM0IsR0FBRyxDQUFjO0lBRXRELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBNEIsSUFBSSxDQUFDO0lBRW5DLFNBQVMsQ0FBbUI7SUFDNUIsU0FBUyxDQUFVO0lBQ25CLE1BQU0sQ0FBTTtJQUVwQixhQUFhLEdBQVksU0FBUyxDQUFDO0lBQ25DLGNBQWMsR0FBWSxTQUFTLENBQUM7SUFFcEMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUU5QixJQUFJLEdBQUc7UUFDTCxFQUFFLEVBQUU7WUFDRixHQUFHLEVBQUUsVUFBVTtZQUNmLEdBQUcsRUFBRSxXQUFXO1lBQ2hCLGNBQWMsRUFBRSxpQkFBaUI7WUFDakMsUUFBUSxFQUFFLFVBQVU7WUFDcEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsV0FBVyxFQUFFLE9BQU87WUFDcEIsWUFBWSxFQUFFLGdCQUFnQjtZQUM5QixjQUFjLEVBQUU7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsSUFBSSxFQUFFLEdBQUc7YUFDVjtZQUNELFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixXQUFXLEVBQUUsbUNBQW1DO2dCQUNoRCxXQUFXLEVBQUUsbUNBQW1DO2dCQUNoRCxZQUFZLEVBQUUscUNBQXFDO2dCQUNuRCxZQUFZLEVBQUUscUNBQXFDO2FBQ3BEO1NBQ0Y7UUFDRCxFQUFFLEVBQUU7WUFDRixHQUFHLEVBQUUsU0FBUztZQUNkLEdBQUcsRUFBRSxVQUFVO1lBQ2YsY0FBYyxFQUFFLHNCQUFzQjtZQUN0QyxRQUFRLEVBQUUsV0FBVztZQUNyQixZQUFZLEVBQUUsYUFBYTtZQUMzQixZQUFZLEVBQUUsVUFBVTtZQUN4QixXQUFXLEVBQUUsUUFBUTtZQUNyQixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLGNBQWMsRUFBRTtnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsR0FBRztnQkFDVixJQUFJLEVBQUUsR0FBRztnQkFDVCxJQUFJLEVBQUUsR0FBRzthQUNWO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFlBQVksRUFBRSxzQ0FBc0M7Z0JBQ3BELFlBQVksRUFBRSxzQ0FBc0M7YUFDckQ7U0FDRjtLQUNGLENBQUM7SUFHSyxXQUFXLENBQVM7SUFFcEIsV0FBVyxDQUFTO0lBRXBCLFlBQVksQ0FBUztJQUVyQixZQUFZLENBQVM7SUFFckIsSUFBSSxDQUFTO0lBRWIsSUFBSSxDQUFTO0lBRXBCLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFUSxJQUFJLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE9BQU8sQ0FBUztJQUNKLFNBQVMsQ0FBUztJQUM5QixRQUFRLEdBQW1CLElBQUksQ0FBQztJQUVoRCxJQUNJLFFBQVEsQ0FBQyxDQUFtQjtRQUM5QixDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLENBQVU7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsQ0FBVztRQUNuQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLDBDQUEwQztRQUNwRCxDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUNFLENBQUM7WUFDRCxDQUFDLENBQUMsV0FBVztZQUNiLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDMUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsMERBQTBEO1lBQzFELHFGQUFxRjtRQUN2RixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVTLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBQzNDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUV2RCxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQVEsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNwQyxTQUFTLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTNCLFlBQ1UsWUFBMEIsRUFDM0IsZUFBbUM7UUFEbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQW9CO0lBQ3pDLENBQUM7SUFFSixnREFBZ0Q7SUFDaEQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWE7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWlCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFDRCx1REFBdUQ7SUFFL0Msb0JBQW9CLENBQUMsUUFBZ0I7UUFDM0MsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFDTyxxQkFBcUIsQ0FBQyxTQUFpQjtRQUM3QyxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxDQUNMLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIseUJBQXlCLEtBQVUsQ0FBQztJQUVwQyxRQUFRLENBQUMsT0FBd0I7UUFDL0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLE1BQU0sR0FBNEIsSUFBSSxDQUFDO1FBRTNDLElBQ0UsSUFBSSxDQUFDLFFBQVE7WUFDYixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDaEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzVCLENBQUM7WUFDRCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsUUFBUSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDL0QsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLGNBQWMsR0FBRztnQkFDdEIsS0FBSztnQkFDTCxNQUFNLEVBQUUseUJBQXlCO2FBQ2xDLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQy9ELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxlQUFlLEdBQUc7Z0JBQ3ZCLEtBQUs7Z0JBQ0wsTUFBTSxFQUFFLDBCQUEwQjthQUNuQyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0RSxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsV0FBVyxHQUFHO2dCQUNuQixLQUFLO2dCQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDckIsTUFBTSxFQUFFLHlDQUF5QyxJQUFJLENBQUMsV0FBVyxHQUFHO2FBQ3JFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxXQUFXLEdBQUc7Z0JBQ25CLEtBQUs7Z0JBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUNyQixNQUFNLEVBQUUsMENBQTBDLElBQUksQ0FBQyxXQUFXLEdBQUc7YUFDdEUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekUsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLFlBQVksR0FBRztnQkFDcEIsS0FBSztnQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ3RCLE1BQU0sRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFlBQVksR0FBRzthQUN2RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsWUFBWSxHQUFHO2dCQUNwQixLQUFLO2dCQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdEIsTUFBTSxFQUFFLDJDQUEyQyxJQUFJLENBQUMsWUFBWSxHQUFHO2FBQ3hFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELDZCQUE2QjtJQUU3QixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTztZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZCxDQUFDLENBQUMsZUFBZSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsd0NBQXdDLENBQ3RDLHVCQUFpQztRQUVqQyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FDbkMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQzFCLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUNwQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFDMUIsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixXQUFXLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO1NBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QsZUFBZSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRSxJQUNFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQ3pCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsV0FBVyxFQUFFO29CQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO29CQUNsRCxnQkFBZ0I7aUJBQ2pCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELGdCQUFnQixDQUFDLFlBQW9CO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUMsWUFBWTtZQUNmLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDVCxJQUNFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzNELENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsV0FBVyxFQUFFO29CQUNYLGlCQUFpQjtvQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQ25EO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFvQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUNiLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ3JCLENBQUMsQ0FBQyxVQUFVO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUNmLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXVCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDVCxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELENBQUM7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWtCLEVBQUUsR0FBUTtRQUNsRCxHQUFHLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUMzQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVE7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUNQLFFBQThCLEVBQzlCLElBQWdCO1FBRWhCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsT0FBTyxDQUNMLFFBQThCLEVBQzlCLE1BQWM7UUFFZCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsZ0NBQWdDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxvREFBb0Q7UUFDakYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2hELENBQUM7dUdBbFpVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLCtiQWJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDcEQ7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNwRDtTQUNGLGtVQzlDSCx3dUxBME1BOzsyRkQxSmEsb0JBQW9CO2tCQWpCaEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7eUJBQ3BEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDcEQ7cUJBQ0Y7a0hBS3dDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0gsR0FBRztzQkFBdkMsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWlFNUIsV0FBVztzQkFEakIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ3NCLFNBQVM7c0JBQXBDLEtBQUs7dUJBQUMsWUFBWTtnQkFDSCxRQUFRO3NCQUF2QixLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFVRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsS0FBSztzQkFEUixLQUFLO2dCQWlDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZSc7XG5pbXBvcnQge1xuICBleGlzdHMsXG4gIGhhc1ZhbHVlLFxuICBpc0luaXRpYWxBbmRFbXB0eSxcbiAgaXNWYWxpZE51bWJlcixcbiAgcm91bmRUb011bHRpcGxlT2Zcbn0gZnJvbSAnLi4vaGVscGVyRm5zJztcbmltcG9ydCB7IGxhbmd1YWdlRGV0ZWN0b3IgfSBmcm9tICcuLi9sYW5nJztcbmltcG9ydCB7IEdlb1BvaW50IH0gZnJvbSAnLi4vbWFwL2dlb3BvaW50JztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VvbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9nZW9sb2NhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHV4LWdlb2xvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlb2xvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2VvbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEdlb2xvY2F0aW9uQ29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2VvbG9jYXRpb25Db21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdlb2xvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3RhdGljIGlkQ291bnRlciA9IDA7XG5cbiAgQFZpZXdDaGlsZCgnbGF0aXR1ZGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYXRpdHVkZTogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbG9uZ2l0dWRlJywgeyBzdGF0aWM6IHRydWUgfSkgbG9uZ2l0dWRlOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtYXAnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWFwPzogRWxlbWVudFJlZjtcblxuICB0b3VjaGVkID0gZmFsc2U7XG4gIGRpcnR5ID0gZmFsc2U7XG4gIGxhc3RFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogc3RyaW5nIHwgYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgbGF0aXR1ZGVWYWx1ZT86IG51bWJlciA9IHVuZGVmaW5lZDtcbiAgbG9uZ2l0dWRlVmFsdWU/OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgaXNWYWxpZE51bWJlciA9IGlzVmFsaWROdW1iZXI7XG5cbiAgaTE4biA9IHtcbiAgICBlbjoge1xuICAgICAgbGF0OiAnbGF0aXR1ZGUnLFxuICAgICAgbG9uOiAnbG9uZ2l0dWRlJyxcbiAgICAgIHNlbGVjdExvY2F0aW9uOiAnU2VsZWN0IGxvY2F0aW9uJyxcbiAgICAgIGxvY2F0aW9uOiAnTG9jYXRpb24nLFxuICAgICAgc2VsZWN0QWN0aW9uOiAnU2VsZWN0JyxcbiAgICAgIGNhbmNlbEFjdGlvbjogJ0NhbmNlbCcsXG4gICAgICBjbG9zZUFjdGlvbjogJ0Nsb3NlJyxcbiAgICAgIHR5cGVUb1NlYXJjaDogJ3R5cGUgdG8gc2VhcmNoJyxcbiAgICAgIGNhcmRpbmFsUG9pbnRzOiB7XG4gICAgICAgIG5vcnRoOiAnTicsXG4gICAgICAgIHNvdXRoOiAnUycsXG4gICAgICAgIGVhc3Q6ICdFJyxcbiAgICAgICAgd2VzdDogJ1cnXG4gICAgICB9LFxuICAgICAgdXNlckVycm9yczoge1xuICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkIGZpZWxkLicsXG4gICAgICAgIG1pbkxhdGl0dWRlOiAnTWluaW11bSBsYXRpdHVkZSBpcyAkbWluTGF0aXR1ZGUuJyxcbiAgICAgICAgbWF4TGF0aXR1ZGU6ICdNYXhpbXVtIGxhdGl0dWRlIGlzICRtYXhMYXRpdHVkZS4nLFxuICAgICAgICBtaW5Mb25naXR1ZGU6ICdNaW5pbXVtIGxvbmdpdHVkZSBpcyAkbWluTG9uZ2l0dWRlLicsXG4gICAgICAgIG1heExvbmdpdHVkZTogJ01heGltdW0gbG9uZ2l0dWRlIGlzICRtYXhMb25naXR1ZGUuJ1xuICAgICAgfVxuICAgIH0sXG4gICAgZXM6IHtcbiAgICAgIGxhdDogJ2xhdGl0dWQnLFxuICAgICAgbG9uOiAnbG9uZ2l0dWQnLFxuICAgICAgc2VsZWN0TG9jYXRpb246ICdTZWxlY2Npb25lIHViaWNhY2nDs24nLFxuICAgICAgbG9jYXRpb246ICdVYmljYWNpw7NuJyxcbiAgICAgIHNlbGVjdEFjdGlvbjogJ1NlbGVjY2lvbmFyJyxcbiAgICAgIGNhbmNlbEFjdGlvbjogJ0NhbmNlbGFyJyxcbiAgICAgIGNsb3NlQWN0aW9uOiAnQ2VycmFyJyxcbiAgICAgIHR5cGVUb1NlYXJjaDogJ2VzY3JpYmUgcGFyYSBidXNjYXInLFxuICAgICAgY2FyZGluYWxQb2ludHM6IHtcbiAgICAgICAgbm9ydGg6ICdOJyxcbiAgICAgICAgc291dGg6ICdTJyxcbiAgICAgICAgZWFzdDogJ0UnLFxuICAgICAgICB3ZXN0OiAnTydcbiAgICAgIH0sXG4gICAgICB1c2VyRXJyb3JzOiB7XG4gICAgICAgIHJlcXVpcmVkOiAnRWwgY2FtcG8gZXMgb2JsaWdhdG9yaW8uJyxcbiAgICAgICAgbWluTGF0aXR1ZGU6ICdMYSBsYXRpdHVkIG3DrW5pbWEgZXMgJG1pbkxhdGl0dWRlLicsXG4gICAgICAgIG1heExhdGl0dWRlOiAnTGEgbGF0aXR1ZCBtw6F4aW1hIGVzICRtYXhMYXRpdHVkZS4nLFxuICAgICAgICBtaW5Mb25naXR1ZGU6ICdMYSBsb25naXR1ZCBtw61uaW1hIGVzICRtaW5Mb25naXR1ZGUuJyxcbiAgICAgICAgbWF4TG9uZ2l0dWRlOiAnTGEgbG9uZ2l0dWQgbcOheGltYSBlcyAkbWF4TG9uZ2l0dWRlLidcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkxhdGl0dWRlOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhMYXRpdHVkZTogbnVtYmVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluTG9uZ2l0dWRlOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhMb25naXR1ZGU6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXA6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIHpvb206IG51bWJlcjtcblxuICBnZXQgY2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tDbGFzc05hbWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGxhbmcgPSBsYW5ndWFnZURldGVjdG9yKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbmxpbmVFcnJvcnMgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlucHV0SWQ6IHN0cmluZztcbiAgQElucHV0KCdhcmlhLWxhYmVsJykgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodjogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHYgPSB0eXBlb2YgdiA9PT0gJ3N0cmluZycgJiYgdiAhPT0gJ2ZhbHNlJyA/IHRydWUgOiB2O1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdjtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogc3RyaW5nIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHY7XG4gIH1cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBHZW9Qb2ludCkge1xuICAgIGlmICh2ID09PSB0aGlzLl92YWx1ZSkge1xuICAgICAgcmV0dXJuOyAvLyBwcmV2ZW50IGV2ZW50cyB3aGVuIHRoZXJlIGlzIG5vIGNoYW5nZXNcbiAgICB9XG4gICAgY29uc3QgaW5pdGlhbEFuZEVtcHR5ID0gaXNJbml0aWFsQW5kRW1wdHkodGhpcy5fdmFsdWUsIHYpO1xuICAgIGlmIChcbiAgICAgIHYgJiZcbiAgICAgIHYuY29vcmRpbmF0ZXMgJiZcbiAgICAgIHYuY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyICYmXG4gICAgICBleGlzdHModi5jb29yZGluYXRlc1swXSAmJiBleGlzdHModi5jb29yZGluYXRlc1sxXSkpXG4gICAgKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLnNldExhdGl0dWRlSW5Db250cm9sKHYuY29vcmRpbmF0ZXNbMV0pO1xuICAgICAgdGhpcy5zZXRMb25naXR1ZGVJbkNvbnRyb2wodi5jb29yZGluYXRlc1swXSk7XG4gICAgfSBlbHNlIGlmICghdikge1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5zZXRMYXRpdHVkZUluQ29udHJvbChudWxsKTtcbiAgICAgIHRoaXMuc2V0TG9uZ2l0dWRlSW5Db250cm9sKG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICAvLyB3ZSBkb24ndCBzZXQgdmFsdWUgaW4gY29udHJvbCBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICAvLyBpZiB3ZSBkbywgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbnRyb2wgY2hhbmdlcyBhbmQgY2FuIGVyYXNlIHdoYXQgdGhlIHVzZXIgaXMgdHlwaW5nXG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgaWYgKCFpbml0aWFsQW5kRW1wdHkpIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IEdlb1BvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEdlb1BvaW50PigpO1xuICBAT3V0cHV0KCkga2V5UHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IGFueSk6IHZvaWQgPT4ge307XG4gIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHVibGljIGxvY2F0aW9uU2VydmljZTogR2VvbG9jYXRpb25TZXJ2aWNlXG4gICkge31cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbiAgLy8gRW5kIG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuXG4gIHByaXZhdGUgc2V0TGF0aXR1ZGVJbkNvbnRyb2wobGF0aXR1ZGU6IG51bWJlcik6IHZvaWQge1xuICAgIC8vIHRoaXMubGF0aXR1ZGUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGxhdGl0dWRlO1xuICAgIHRoaXMubGF0aXR1ZGVWYWx1ZSA9IGxhdGl0dWRlO1xuICB9XG4gIHByaXZhdGUgc2V0TG9uZ2l0dWRlSW5Db250cm9sKGxvbmdpdHVkZTogbnVtYmVyKTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb25naXR1ZGUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGxvbmdpdHVkZTtcbiAgICB0aGlzLmxvbmdpdHVkZVZhbHVlID0gbG9uZ2l0dWRlO1xuICB9XG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TGF0aXR1ZGVJbkNvbnRyb2wobnVsbCk7XG4gICAgdGhpcy5zZXRMb25naXR1ZGVJbkNvbnRyb2wobnVsbCk7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cbiAgaXNDbGVhcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGlzVmFsaWROdW1iZXIodGhpcy5sYXRpdHVkZVZhbHVlKSB8fCBpc1ZhbGlkTnVtYmVyKHRoaXMubG9uZ2l0dWRlVmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRvciBpbnRlcmZhY2VcbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSgpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBsZXQgcmVzdWx0OiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVkICYmXG4gICAgICAhaGFzVmFsdWUodmFsdWUpICYmXG4gICAgICAhZXhpc3RzKHRoaXMubGF0aXR1ZGVWYWx1ZSkgJiZcbiAgICAgICFleGlzdHModGhpcy5sb25naXR1ZGVWYWx1ZSlcbiAgICApIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5yZXF1aXJlZCA9IHsgdmFsdWUsIHJlYXNvbjogJ1JlcXVpcmVkIGZpZWxkLicgfTtcbiAgICB9XG4gICAgaWYgKCFleGlzdHModGhpcy5sYXRpdHVkZVZhbHVlKSAmJiBleGlzdHModGhpcy5sb25naXR1ZGVWYWx1ZSkpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5leGlzdHNMYXRpdHVkZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlYXNvbjogJ0xhdGl0dWRlIG5vdCBzcGVjaWZpZWQuJ1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGV4aXN0cyh0aGlzLmxhdGl0dWRlVmFsdWUpICYmICFleGlzdHModGhpcy5sb25naXR1ZGVWYWx1ZSkpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5leGlzdHNMb25naXR1ZGUgPSB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICByZWFzb246ICdMb25naXR1ZGUgbm90IHNwZWNpZmllZC4nXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZXhpc3RzKHRoaXMubWluTGF0aXR1ZGUpICYmIHRoaXMubGF0aXR1ZGVWYWx1ZSA8IHRoaXMubWluTGF0aXR1ZGUpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgIHJlc3VsdC5taW5MYXRpdHVkZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG1pbjogdGhpcy5taW5MYXRpdHVkZSxcbiAgICAgICAgcmVhc29uOiBgTGF0aXR1ZGUgaXMgbG93ZXIgdGhhbiBtaW5pbXVtIHZhbHVlOiAke3RoaXMubWluTGF0aXR1ZGV9LmBcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChleGlzdHModGhpcy5tYXhMYXRpdHVkZSkgJiYgdGhpcy5sYXRpdHVkZVZhbHVlID4gdGhpcy5tYXhMYXRpdHVkZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0Lm1heExhdGl0dWRlID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbWF4OiB0aGlzLm1heExhdGl0dWRlLFxuICAgICAgICByZWFzb246IGBMYXRpdHVkZSBpcyBoaWdoZXIgdGhhbiBtYXhpbXVtIHZhbHVlOiAke3RoaXMubWF4TGF0aXR1ZGV9LmBcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChleGlzdHModGhpcy5taW5Mb25naXR1ZGUpICYmIHRoaXMubG9uZ2l0dWRlVmFsdWUgPCB0aGlzLm1pbkxvbmdpdHVkZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0Lm1pbkxvbmdpdHVkZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG1pbjogdGhpcy5taW5Mb25naXR1ZGUsXG4gICAgICAgIHJlYXNvbjogYExvbmdpdHVkZSBpcyBsb3dlciB0aGFuIG1pbmltdW0gdmFsdWU6ICR7dGhpcy5taW5Mb25naXR1ZGV9LmBcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChleGlzdHModGhpcy5tYXhMb25naXR1ZGUpICYmIHRoaXMubG9uZ2l0dWRlVmFsdWUgPiB0aGlzLm1heExvbmdpdHVkZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9O1xuICAgICAgcmVzdWx0Lm1heExvbmdpdHVkZSA9IHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhMb25naXR1ZGUsXG4gICAgICAgIHJlYXNvbjogYExvbmdpdHVkZSBpcyBoaWdoZXIgdGhhbiBtYXhpbXVtIHZhbHVlOiAke3RoaXMubWF4TG9uZ2l0dWRlfS5gXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLmxhc3RFcnJvcnMgPSByZXN1bHQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvLyBFbmQgb2YgVmFsaWRhdG9yIGludGVyZmFjZVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRJZCA9IHRoaXMuaW5wdXRJZFxuICAgICAgPyB0aGlzLmlucHV0SWRcbiAgICAgIDogYGdlb2xvY2F0aW9uJCR7R2VvbG9jYXRpb25Db21wb25lbnQuaWRDb3VudGVyKyt9YDtcbiAgICB0aGlzLnNldFBhdHRlcm5zKCk7XG4gIH1cblxuICByb3VuZFRvU3RlcEFuZFVwZGF0ZUxhdGl0dWRlQW5kTG9uZ2l0dWRlKFxuICAgIG5ld0xhdGl0dWRlQW5kTG9uZ2l0dWRlOiBudW1iZXJbXVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBuZXdMYXRpdHVkZSA9IHJvdW5kVG9NdWx0aXBsZU9mKFxuICAgICAgbmV3TGF0aXR1ZGVBbmRMb25naXR1ZGVbMV0sXG4gICAgICB0aGlzLnN0ZXBcbiAgICApO1xuICAgIGNvbnN0IG5ld0xvbmdpdHVkZSA9IHJvdW5kVG9NdWx0aXBsZU9mKFxuICAgICAgbmV3TGF0aXR1ZGVBbmRMb25naXR1ZGVbMF0sXG4gICAgICB0aGlzLnN0ZXBcbiAgICApO1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFleGlzdHMobmV3TGF0aXR1ZGVBbmRMb25naXR1ZGUpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjb29yZGluYXRlczogW25ld0xvbmdpdHVkZSwgbmV3TGF0aXR1ZGVdXG4gICAgfTtcbiAgfVxuXG4gIG9uTG9zdEZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIG9uRXZlbnRMYXRpdHVkZShuZXdMYXRpdHVkZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdMYXRpdHVkZVZhbHVlID0gaXNWYWxpZE51bWJlcihuZXdMYXRpdHVkZSkgPyArbmV3TGF0aXR1ZGUgOiBudWxsO1xuICAgIGlmIChcbiAgICAgICEoZXhpc3RzKHRoaXMudmFsdWUpICYmIGV4aXN0cyh0aGlzLnZhbHVlLmNvb3JkaW5hdGVzWzBdKSkgJiZcbiAgICAgICFleGlzdHMobmV3TGF0aXR1ZGVWYWx1ZSlcbiAgICApIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgICBjb29yZGluYXRlczogW1xuICAgICAgICAgIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLmNvb3JkaW5hdGVzWzBdIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG5ld0xhdGl0dWRlVmFsdWVcbiAgICAgICAgXVxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgb25FdmVudExvbmdpdHVkZShuZXdMb25naXR1ZGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3TG9uZ2l0dWRlVmFsdWUgPSBpc1ZhbGlkTnVtYmVyKG5ld0xvbmdpdHVkZSlcbiAgICAgID8gK25ld0xvbmdpdHVkZVxuICAgICAgOiBudWxsO1xuICAgIGlmIChcbiAgICAgICFleGlzdHMobmV3TG9uZ2l0dWRlVmFsdWUpICYmXG4gICAgICAhKGV4aXN0cyh0aGlzLnZhbHVlKSAmJiBleGlzdHModGhpcy5fdmFsdWUuY29vcmRpbmF0ZXNbMV0pKVxuICAgICkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgIGNvb3JkaW5hdGVzOiBbXG4gICAgICAgICAgbmV3TG9uZ2l0dWRlVmFsdWUsXG4gICAgICAgICAgdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUuY29vcmRpbmF0ZXNbMV0gOiB1bmRlZmluZWRcbiAgICAgICAgXVxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMua2V5UHJlc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBjaGVja0NsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkXG4gICAgICA/IHRoaXMucmVhZG9ubHlcbiAgICAgICAgPyAnZGlzYWJsZWQgcmVhZG9ubHknXG4gICAgICAgIDogJ2Rpc2FibGVkJ1xuICAgICAgOiB0aGlzLnJlYWRvbmx5XG4gICAgICA/ICdyZWFkb25seSdcbiAgICAgIDogJyc7XG4gIH1cblxuICBvcGVuTW9kYWxNYXAobW9kYWw6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsKS5yZXN1bHQudGhlbihcbiAgICAgIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICB0aGlzLnJvdW5kVG9TdGVwQW5kVXBkYXRlTGF0aXR1ZGVBbmRMb25naXR1ZGUocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChfKSA9PiB7fVxuICAgICk7XG4gIH1cblxuICBvblNlYXJjaExvY2F0aW9uQ2hhbmdlZChuZXdWYWx1ZTogR2VvUG9pbnQsIG1hcDogYW55KTogdm9pZCB7XG4gICAgbWFwLm1hcmtlclBvaW50ID0gbmV3VmFsdWU7XG4gICAgbWFwLmNlbnRlciA9IG1hcC5tYXJrZXJQb2ludDtcbiAgfVxuXG4gIGdldCBtYXBUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCAhIXRoaXMucmVhZG9ubHlcbiAgICAgID8gdGhpcy5pMThuW3RoaXMubGFuZ10ubG9jYXRpb25cbiAgICAgIDogdGhpcy5pMThuW3RoaXMubGFuZ10uc2VsZWN0TG9jYXRpb247XG4gIH1cblxuICBnZXQgc2VsZigpOiBHZW9sb2NhdGlvbkNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXRMYWJlbHMoXG4gICAgaW5zdGFuY2U6IEdlb2xvY2F0aW9uQ29tcG9uZW50LFxuICAgIGtleXM6IEdlb1BvaW50W11cbiAgKTogT2JzZXJ2YWJsZTxEYXRhU291cmNlPEdlb1BvaW50LCBzdHJpbmc+PiB7XG4gICAgcmV0dXJuIGluc3RhbmNlLmxvY2F0aW9uU2VydmljZS5nZXRMYWJlbHMoaW5zdGFuY2UubG9jYXRpb25TZXJ2aWNlLCBrZXlzKTtcbiAgfVxuXG4gIGdldERhdGEoXG4gICAgaW5zdGFuY2U6IEdlb2xvY2F0aW9uQ29tcG9uZW50LFxuICAgIHNlYXJjaDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8RGF0YVNvdXJjZTxHZW9Qb2ludCwgc3RyaW5nPj4ge1xuICAgIHJldHVybiBpbnN0YW5jZS5sb2NhdGlvblNlcnZpY2UuZ2V0RGF0YShpbnN0YW5jZS5sb2NhdGlvblNlcnZpY2UsIHNlYXJjaCk7XG4gIH1cblxuICBzZXRQYXR0ZXJucygpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXAgPSB0aGlzLnN0ZXAgfHwgMC4wMDAwMTsgLy8gMC4wMDAwMSBkZWdyZWVzID0gMS4xMSBtZXRlcnNcbiAgICB0aGlzLnpvb20gPSB0aGlzLnpvb20gfHwgMTg7IC8vICgzNjAvMl4xOCkgZGVncmVlcyB+IDAuMDAxMzcgZGVncmVlcyB+IDE1MyBtZXRlcnNcbiAgICB0aGlzLm1pbkxhdGl0dWRlID0gdGhpcy5taW5MYXRpdHVkZSB8fCAtOTA7XG4gICAgdGhpcy5tYXhMYXRpdHVkZSA9IHRoaXMubWF4TGF0aXR1ZGUgfHwgKzkwO1xuICAgIHRoaXMubWluTG9uZ2l0dWRlID0gdGhpcy5taW5Mb25naXR1ZGUgfHwgLTE4MDtcbiAgICB0aGlzLm1heExvbmdpdHVkZSA9IHRoaXMubWF4TG9uZ2l0dWRlIHx8ICsxODA7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjbGF0aXR1ZGVcbiAgY2xhc3M9XCJyb3VuZGVkLWxlZnQgcHJlZml4XCJcbiAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgdHlwZT1cIm51bWJlclwiXG4gIFtpZF09XCJpbnB1dElkICsgJyRsYXRpdHVkZSdcIlxuICBbKG5nTW9kZWwpXT1cImxhdGl0dWRlVmFsdWVcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID09PSB0cnVlID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbYXR0ci5taW5dPVwiXG4gICAgbWluTGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiBtaW5MYXRpdHVkZSAhPT0gbnVsbFxuICAgICAgPyBtaW5MYXRpdHVkZS50b1N0cmluZygpXG4gICAgICA6IHVuZGVmaW5lZFxuICBcIlxuICBbYXR0ci5tYXhdPVwiXG4gICAgbWF4TGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiBtYXhMYXRpdHVkZSAhPT0gbnVsbFxuICAgICAgPyBtYXhMYXRpdHVkZS50b1N0cmluZygpXG4gICAgICA6IHVuZGVmaW5lZFxuICBcIlxuICBbYXR0ci5zdGVwXT1cIlxuICAgIHN0ZXAgIT09IHVuZGVmaW5lZCAmJiBzdGVwICE9PSBudWxsID8gc3RlcC50b1N0cmluZygpIDogdW5kZWZpbmVkXG4gIFwiXG4gIFtwbGFjZWhvbGRlcl09XCJpMThuW2xhbmddLmxhdFwiXG4gIChrZXl1cCk9XCJvbkV2ZW50TGF0aXR1ZGUobGF0aXR1ZGUudmFsdWUpXCJcbiAgKGNoYW5nZSk9XCJvbkV2ZW50TGF0aXR1ZGUobGF0aXR1ZGUudmFsdWUpXCJcbiAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uTG9zdEZvY3VzKClcIlxuLz5cbjxkaXZcbiAgY2xhc3M9XCJpbmZpeCBzeW1ib2wgbW9ub3NwYWNlIGNsaWNrYWJsZVwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIChjbGljayk9XCJvcGVuTW9kYWxNYXAobW9kYWxNYXApXCI+XG4gIDxzcGFuICpuZ0lmPVwiaXNWYWxpZE51bWJlcihsYXRpdHVkZVZhbHVlKSAmJiBsYXRpdHVkZVZhbHVlID49IDBcIj57e1xuICAgIGkxOG5bbGFuZ10uY2FyZGluYWxQb2ludHMubm9ydGhcbiAgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiaXNWYWxpZE51bWJlcihsYXRpdHVkZVZhbHVlKSAmJiBsYXRpdHVkZVZhbHVlIDwgMFwiPnt7XG4gICAgaTE4bltsYW5nXS5jYXJkaW5hbFBvaW50cy5zb3V0aFxuICB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaXNWYWxpZE51bWJlcihsYXRpdHVkZVZhbHVlKVwiPi08L3NwYW4+XG48L2Rpdj5cbjxpbnB1dFxuICAjbG9uZ2l0dWRlXG4gIGNsYXNzPVwicHJlZml4XCJcbiAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCJcbiAgdHlwZT1cIm51bWJlclwiXG4gIFtpZF09XCJpbnB1dElkICsgJyRsb25naXR1ZGUnXCJcbiAgWyhuZ01vZGVsKV09XCJsb25naXR1ZGVWYWx1ZVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPT09IHRydWUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA9PT0gdHJ1ZSA/ICd0cnVlJyA6IHVuZGVmaW5lZFwiXG4gIFthdHRyLm1pbl09XCJcbiAgICBtaW5Mb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiBtaW5Mb25naXR1ZGUgIT09IG51bGxcbiAgICAgID8gbWluTG9uZ2l0dWRlLnRvU3RyaW5nKClcbiAgICAgIDogdW5kZWZpbmVkXG4gIFwiXG4gIFthdHRyLm1heF09XCJcbiAgICBtYXhMb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiBtYXhMb25naXR1ZGUgIT09IG51bGxcbiAgICAgID8gbWF4TG9uZ2l0dWRlLnRvU3RyaW5nKClcbiAgICAgIDogdW5kZWZpbmVkXG4gIFwiXG4gIFthdHRyLnN0ZXBdPVwiXG4gICAgc3RlcCAhPT0gdW5kZWZpbmVkICYmIHN0ZXAgIT09IG51bGwgPyBzdGVwLnRvU3RyaW5nKCkgOiB1bmRlZmluZWRcbiAgXCJcbiAgW3BsYWNlaG9sZGVyXT1cImkxOG5bbGFuZ10ubG9uXCJcbiAgKGtleXVwKT1cIm9uRXZlbnRMb25naXR1ZGUobG9uZ2l0dWRlLnZhbHVlKVwiXG4gIChjaGFuZ2UpPVwib25FdmVudExvbmdpdHVkZShsb25naXR1ZGUudmFsdWUpXCJcbiAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uTG9zdEZvY3VzKClcIlxuLz5cbjxkaXZcbiAgY2xhc3M9XCJpbmZpeCBzeW1ib2wgbW9ub3NwYWNlIGNsaWNrYWJsZVwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIChjbGljayk9XCJvcGVuTW9kYWxNYXAobW9kYWxNYXApXCJcbj5cbiAgPHNwYW4gKm5nSWY9XCJpc1ZhbGlkTnVtYmVyKGxvbmdpdHVkZVZhbHVlKSAmJiBsb25naXR1ZGVWYWx1ZSA+PSAwXCI+e3tcbiAgICBpMThuW2xhbmddLmNhcmRpbmFsUG9pbnRzLmVhc3RcbiAgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiaXNWYWxpZE51bWJlcihsb25naXR1ZGVWYWx1ZSkgJiYgbG9uZ2l0dWRlVmFsdWUgPCAwXCI+e3tcbiAgICBpMThuW2xhbmddLmNhcmRpbmFsUG9pbnRzLndlc3RcbiAgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWlzVmFsaWROdW1iZXIobG9uZ2l0dWRlVmFsdWUpXCI+LTwvc3Bhbj5cbjwvZGl2PlxuPGRpdlxuICBbY2xhc3NdPVwiXG4gICAgZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgIWlzQ2xlYXJhYmxlKClcbiAgICAgID8gJ2NsaWNrYWJsZSByb3VuZGVkLXJpZ2h0IHBvc3RmaXggc3ltYm9sJ1xuICAgICAgOiAnY2xpY2thYmxlIHBvc3RmaXggc3ltYm9sJ1xuICBcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICAoY2xpY2spPVwib3Blbk1vZGFsTWFwKG1vZGFsTWFwKVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiaWNvbi1nbG9iZVwiPjwvc3Bhbj5cbjwvZGl2PlxuPGJ1dHRvblxuICAjY2xlYXJCdXR0b25cbiAgKm5nSWY9XCIhZGlzYWJsZWQgJiYgIXJlYWRvbmx5ICYmIGlzQ2xlYXJhYmxlKClcIlxuICBjbGFzcz1cInJvdW5kZWQtcmlnaHQgcG9zdGZpeCBib3JkZXJlZCBpY29uIGljb24tY2xlYXJcIlxuICBbaWRdPVwiaW5wdXRJZCArICckY2xlYXInXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIChjbGljayk9XCJjbGVhcigpXCJcbiAgYXJpYS1sYWJlbD1cImNsZWFyXCJcbj48L2J1dHRvbj5cblxuPGRpdiAqbmdJZj1cImlubGluZUVycm9ycyAmJiBsYXN0RXJyb3JzICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiIGNsYXNzPVwiYWxlcnRcIj5cbiAgPGRpdiAqbmdJZj1cImxhc3RFcnJvcnMucmVxdWlyZWRcIj5cbiAgICB7eyBpMThuW2xhbmddLnVzZXJFcnJvcnMucmVxdWlyZWQgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsYXN0RXJyb3JzLm1pbkxhdGl0dWRlXCI+XG4gICAge3tcbiAgICAgIGkxOG5bbGFuZ10udXNlckVycm9ycy5taW5MYXRpdHVkZS5yZXBsYWNlKFxuICAgICAgICAnJG1pbkxhdGl0dWRlJyxcbiAgICAgICAgbGFzdEVycm9ycy5taW5MYXRpdHVkZS5taW5cbiAgICAgIClcbiAgICB9fVxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImxhc3RFcnJvcnMubWF4TGF0aXR1ZGVcIj5cbiAgICB7e1xuICAgICAgaTE4bltsYW5nXS51c2VyRXJyb3JzLm1heExhdGl0dWRlLnJlcGxhY2UoXG4gICAgICAgICckbWF4TGF0aXR1ZGUnLFxuICAgICAgICBsYXN0RXJyb3JzLm1heExhdGl0dWRlLm1heFxuICAgICAgKVxuICAgIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5taW5Mb25naXR1ZGVcIj5cbiAgICB7e1xuICAgICAgaTE4bltsYW5nXS51c2VyRXJyb3JzLm1pbkxvbmdpdHVkZS5yZXBsYWNlKFxuICAgICAgICAnJG1pbkxvbmdpdHVkZScsXG4gICAgICAgIGxhc3RFcnJvcnMubWluTG9uZ2l0dWRlLm1pblxuICAgICAgKVxuICAgIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibGFzdEVycm9ycy5tYXhMb25naXR1ZGVcIj5cbiAgICB7e1xuICAgICAgaTE4bltsYW5nXS51c2VyRXJyb3JzLm1heExvbmdpdHVkZS5yZXBsYWNlKFxuICAgICAgICAnJG1heExvbmdpdHVkZScsXG4gICAgICAgIGxhc3RFcnJvcnMubWF4TG9uZ2l0dWRlLm1heFxuICAgICAgKVxuICAgIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxNYXAgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibHV4LW1vZGFsLWhlYWRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIGRlZmF1bHQtZm9udFwiIGlkPVwibW9kYWwtYmFzaWMtdGl0bGVcIj57eyBtYXBUaXRsZSB9fTwvaDQ+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygnQ3Jvc3MgY2xpY2snKVwiXG4gICAgPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+w5c8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibHV4LW1vZGFsLWJvZHkgY29udGVudFwiPlxuICAgIDxsdXgtYXV0b2NvbXBsZXRlXG4gICAgICAjc2VhcmNoQmFyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG5bbGFuZ10udHlwZVRvU2VhcmNoXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuW2xhbmddLnR5cGVUb1NlYXJjaFwiXG4gICAgICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIlxuICAgICAgW2luc3RhbmNlXT1cInNlbGZcIlxuICAgICAgW3Jlc29sdmVMYWJlbHNGdW5jdGlvbl09XCJnZXRMYWJlbHNcIlxuICAgICAgW3BvcHVsYXRlRnVuY3Rpb25dPVwiZ2V0RGF0YVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25TZWFyY2hMb2NhdGlvbkNoYW5nZWQoc2VhcmNoQmFyLnZhbHVlLCBtYXApXCJcbiAgICA+PC9sdXgtYXV0b2NvbXBsZXRlPlxuICAgIDxkaXYgY2xhc3M9XCJtYXAtY29udGFpbmVyXCI+XG4gICAgICA8bHV4LW1hcFxuICAgICAgICAjbWFwXG4gICAgICAgIFtjZW50ZXJdPVwidmFsdWVcIlxuICAgICAgICBbbWFya2VyUG9pbnRdPVwidmFsdWVcIlxuICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5ID09PSB0cnVlIHx8IGRpc2FibGVkID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgID48L2x1eC1tYXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibHV4LW1vZGFsLWZvb3RlclwiPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tY2FuY2VsXCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5jbG9zZSgnY2FuY2VsJylcIlxuICAgID5cbiAgICAgIHt7IGkxOG5bbGFuZ10uY2xvc2VBY3Rpb24gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tY2FuY2VsXCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5jbG9zZSgnY2FuY2VsJylcIlxuICAgID5cbiAgICAgIHt7IGkxOG5bbGFuZ10uY2FuY2VsQWN0aW9uIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhZGlzYWJsZWQgJiYgIXJlYWRvbmx5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLXNlbGVjdFwiXG4gICAgICAoY2xpY2spPVwibW9kYWwuY2xvc2UobWFwLm1hcmtlclBvaW50LmNvb3JkaW5hdGVzKVwiXG4gICAgPlxuICAgICAge3sgaTE4bltsYW5nXS5zZWxlY3RBY3Rpb24gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -93,10 +93,10 @@ export class GeolocationService {
93
93
  ? this.lastQueriesLru[this.lastQueriesLru.length - 1]
94
94
  : null;
95
95
  }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GeolocationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
97
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GeolocationService, providedIn: 'root' });
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: GeolocationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: GeolocationService, providedIn: 'root' });
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GeolocationService, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: GeolocationService, decorators: [{
100
100
  type: Injectable,
101
101
  args: [{ providedIn: 'root' }]
102
102
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
@@ -120,4 +120,4 @@ const distinct = (data) => {
120
120
  return true;
121
121
  });
122
122
  };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2dlb2xvY2F0aW9uL2dlb2xvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDOzs7QUFZeEIsTUFBTSxPQUFPLGtCQUFrQjtJQVFUO0lBUFosZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSztJQUM3QixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2Ysc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDM0QsY0FBYyxHQUFhLEVBQUUsQ0FBQztJQUM5QixjQUFjLENBQWtCO0lBQ2hDLGFBQWEsQ0FBNkI7SUFFbEQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWM7YUFDL0IsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzlCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFFbkMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVks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QUFLLENBQUM7SUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3BCLElBQ0UsWUFBWSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN4QyxZQUFZLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ3hDO1lBQ0EsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNkO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBb0IsRUFBa0IsRUFBRTtJQUN4RCxNQUFNLE1BQU0sR0FBOEIsRUFBRSxDQUFDO0lBQzdDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMxQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBzd2l0Y2hNYXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VvUG9pbnQgfSBmcm9tICcuLi9tYXAvZ2VvcG9pbnQnO1xuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcbiAgcGxhY2VfaWQ6IG51bWJlcjtcbiAgbGF0OiBudW1iZXI7XG4gIGxvbjogbnVtYmVyO1xuICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgZGVib3VuY2VQZXJpb2RNcyA9IDMwMDsgLy8gbXNcbiAgcHJpdmF0ZSBjYWNoZVNpemUgPSAyMDtcbiAgcHJpdmF0ZSBsYXN0UXVlcmllc1dpdGhSZXN1bHRzID0gbmV3IE1hcDxzdHJpbmcsIFNlYXJjaFJlc3VsdFtdPigpO1xuICBwcml2YXRlIGxhc3RRdWVyaWVzTHJ1OiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGN1cnJlbnRTZWFyY2gkOiBTdWJqZWN0PHN0cmluZz47XG4gIHByaXZhdGUgY3VycmVudFF1ZXJ5JDogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy5jdXJyZW50U2VhcmNoJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIGNvbnN0IHR5cGVkJCA9IHRoaXMuY3VycmVudFNlYXJjaCRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgICB0aGlzLmN1cnJlbnRRdWVyeSQgPSB0eXBlZCQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlUGVyaW9kTXMpLFxuXG4gICAgICBzd2l0Y2hNYXAoKGN1cnJlbnRRdWVyeSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRGcm9tQ2FjaGUoY3VycmVudFF1ZXJ5KTtcbiAgICAgICAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBvZihkYXRhKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb21pbmF0aW0gc2VhcmNoIGRvY3VtZW50YXRpb246XG4gICAgICAgIC8vIGh0dHBzOi8vbm9taW5hdGltLm9yZy9yZWxlYXNlLWRvY3MvZGV2ZWxvcC9hcGkvU2VhcmNoL1xuICAgICAgICBjb25zdCB1cmwgPVxuICAgICAgICAgICdodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mbGltaXQ9MjAmcT0nICtcbiAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoY3VycmVudFF1ZXJ5KTtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYWRkVG9DYWNoZShjdXJyZW50UXVlcnksIFtdKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgaGVhZGVycyB9KS5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdHMgPSByZXNwb25zZSBhcyB1bmtub3duIGFzIFNlYXJjaFJlc3VsdFtdO1xuICAgICAgICAgICAgY29uc3QgdW5pcXVlUmVzdWx0cyA9IGRpc3RpbmN0KHNlYXJjaFJlc3VsdHMpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9DYWNoZShjdXJyZW50UXVlcnksIHVuaXF1ZVJlc3VsdHMpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZWFyY2hHZW9sb2NhdGlvbihxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRbXT4ge1xuICAgIHRoaXMuY3VycmVudFNlYXJjaCQubmV4dChxdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFF1ZXJ5JDtcbiAgfVxuXG4gIGdldExhYmVscyhcbiAgICBpbnN0YW5jZTogR2VvbG9jYXRpb25TZXJ2aWNlLFxuICAgIGtleXM6IEdlb1BvaW50W11cbiAgKTogT2JzZXJ2YWJsZTxEYXRhU291cmNlPEdlb1BvaW50LCBzdHJpbmc+PiB7XG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IGluc3RhbmNlLmxhc3RRdWVyaWVzV2l0aFJlc3VsdHNcbiAgICAgIC5nZXQoaW5zdGFuY2UuZ2V0TGF0ZXN0UXVlcnkoKSlcbiAgICAgIC5maWx0ZXIoKHNlYXJjaFJlc3VsdCkgPT4gc2FtZVBvc2l0aW9uKHNlYXJjaFJlc3VsdCwga2V5cykpO1xuICAgIHJldHVybiBvZihcbiAgICAgIHNlYXJjaFJlc3VsdHMubWFwKChzZWFyY2hSZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5OiBHZW9Qb2ludCA9IHtcbiAgICAgICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgICAgIGNvb3JkaW5hdGVzOiBbc2VhcmNoUmVzdWx0Lmxvbiwgc2VhcmNoUmVzdWx0LmxhdF1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgbGFiZWw6IHNlYXJjaFJlc3VsdC5kaXNwbGF5X25hbWVcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldERhdGEoXG4gICAgaW5zdGFuY2U6IEdlb2xvY2F0aW9uU2VydmljZSxcbiAgICBzZWFyY2g6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPERhdGFTb3VyY2U8R2VvUG9pbnQsIHN0cmluZz4+IHtcbiAgICByZXR1cm4gaW5zdGFuY2Uuc2VhcmNoR2VvbG9jYXRpb24oc2VhcmNoKS5waXBlKFxuICAgICAgbWFwKChzZWFyY2hSZXN1bHRzKSA9PlxuICAgICAgICBzZWFyY2hSZXN1bHRzLm1hcCgoc2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5OiBHZW9Qb2ludCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgICAgICBjb29yZGluYXRlczogW3NlYXJjaFJlc3VsdC5sb24sIHNlYXJjaFJlc3VsdC5sYXRdXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IHNlYXJjaFJlc3VsdC5kaXNwbGF5X25hbWU7XG4gICAgICAgICAgcmV0dXJuIHsga2V5LCBsYWJlbCB9O1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvLyBDYWNoZSBpbXBsZW1lbWVudGF0aW9uIC0tLVxuICBwcml2YXRlIGdldEZyb21DYWNoZShxdWVyeTogc3RyaW5nKTogU2VhcmNoUmVzdWx0W10ge1xuICAgIGlmICh0aGlzLmxhc3RRdWVyaWVzV2l0aFJlc3VsdHMuaGFzKHF1ZXJ5KSkge1xuICAgICAgcmV0dXJuIHRoaXMubGFzdFF1ZXJpZXNXaXRoUmVzdWx0cy5nZXQocXVlcnkpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHByaXZhdGUgYWRkVG9DYWNoZShxdWVyeTogc3RyaW5nLCBkYXRhOiBTZWFyY2hSZXN1bHRbXSk6IFNlYXJjaFJlc3VsdFtdIHtcbiAgICBpZiAodGhpcy5sYXN0UXVlcmllc1dpdGhSZXN1bHRzLmtleXMubGVuZ3RoID49IHRoaXMuY2FjaGVTaXplKSB7XG4gICAgICBjb25zdCBkZWxldGVkUXVlcnkgPSB0aGlzLmxhc3RRdWVyaWVzTHJ1WzBdO1xuICAgICAgdGhpcy5yZXZvbWVGcm9tQ2FjaGUoZGVsZXRlZFF1ZXJ5KTtcbiAgICB9XG4gICAgdGhpcy5sYXN0UXVlcmllc1dpdGhSZXN1bHRzLnNldChxdWVyeSwgZGF0YSk7XG4gICAgdGhpcy5sYXN0UXVlcmllc0xydS5wdXNoKHF1ZXJ5KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuICBwcml2YXRlIHJldm9tZUZyb21DYWNoZShxdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sYXN0UXVlcmllc1dpdGhSZXN1bHRzLmRlbGV0ZShxdWVyeSk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxhc3RRdWVyaWVzTHJ1LmZpbmRJbmRleCgoaXQpID0+IGl0ID09PSBxdWVyeSk7XG4gICAgdGhpcy5sYXN0UXVlcmllc0xydS5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG4gIHByaXZhdGUgZ2V0TGF0ZXN0UXVlcnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubGFzdFF1ZXJpZXNMcnUubGVuZ3RoXG4gICAgICA/IHRoaXMubGFzdFF1ZXJpZXNMcnVbdGhpcy5sYXN0UXVlcmllc0xydS5sZW5ndGggLSAxXVxuICAgICAgOiBudWxsO1xuICB9XG4gIC8vIEVuZCBjYWNoZSBpbXBsZW1lbWVudGF0aW9uIC0tLVxufVxuXG5jb25zdCBzYW1lUG9zaXRpb24gPSAoXG4gIHNlYXJjaFJlc3VsdDogU2VhcmNoUmVzdWx0LFxuICBrZXlzOiBHZW9Qb2ludFtdXG4pOiBib29sZWFuID0+IHtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG4gIGtleXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlYXJjaFJlc3VsdC5sb24gPT09IGl0ZW0uY29vcmRpbmF0ZXNbMF0gJiZcbiAgICAgIHNlYXJjaFJlc3VsdC5sYXQgPT09IGl0ZW0uY29vcmRpbmF0ZXNbMV1cbiAgICApIHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZm91bmQ7XG59O1xuXG5jb25zdCBkaXN0aW5jdCA9IChkYXRhOiBTZWFyY2hSZXN1bHRbXSk6IFNlYXJjaFJlc3VsdFtdID0+IHtcbiAgY29uc3QgdW5pcXVlOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIHJldHVybiBkYXRhLmZpbHRlcigocikgPT4ge1xuICAgIGlmICh1bmlxdWVbci5kaXNwbGF5X25hbWVdKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHVuaXF1ZVtyLmRpc3BsYXlfbmFtZV0gPSAxO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn07XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2dlb2xvY2F0aW9uL2dlb2xvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDOzs7QUFZeEIsTUFBTSxPQUFPLGtCQUFrQjtJQVFUO0lBUFosZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSztJQUM3QixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2Ysc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDM0QsY0FBYyxHQUFhLEVBQUUsQ0FBQztJQUM5QixjQUFjLENBQWtCO0lBQ2hDLGFBQWEsQ0FBNkI7SUFFbEQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWM7YUFDL0IsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzlCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFFbkMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVks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QUNQLEVBQUU7SUFDWCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3BCLElBQ0UsWUFBWSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN4QyxZQUFZLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ3hDLENBQUM7WUFDRCxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQW9CLEVBQWtCLEVBQUU7SUFDeEQsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztJQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUN2QixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN3aXRjaE1hcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZW9Qb2ludCB9IGZyb20gJy4uL21hcC9nZW9wb2ludCc7XG5cbmludGVyZmFjZSBTZWFyY2hSZXN1bHQge1xuICBwbGFjZV9pZDogbnVtYmVyO1xuICBsYXQ6IG51bWJlcjtcbiAgbG9uOiBudW1iZXI7XG4gIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBkZWJvdW5jZVBlcmlvZE1zID0gMzAwOyAvLyBtc1xuICBwcml2YXRlIGNhY2hlU2l6ZSA9IDIwO1xuICBwcml2YXRlIGxhc3RRdWVyaWVzV2l0aFJlc3VsdHMgPSBuZXcgTWFwPHN0cmluZywgU2VhcmNoUmVzdWx0W10+KCk7XG4gIHByaXZhdGUgbGFzdFF1ZXJpZXNMcnU6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgY3VycmVudFNlYXJjaCQ6IFN1YmplY3Q8c3RyaW5nPjtcbiAgcHJpdmF0ZSBjdXJyZW50UXVlcnkkOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2gkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgdHlwZWQkID0gdGhpcy5jdXJyZW50U2VhcmNoJFxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICAgIHRoaXMuY3VycmVudFF1ZXJ5JCA9IHR5cGVkJC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VQZXJpb2RNcyksXG5cbiAgICAgIHN3aXRjaE1hcCgoY3VycmVudFF1ZXJ5KSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldEZyb21DYWNoZShjdXJyZW50UXVlcnkpO1xuICAgICAgICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vbWluYXRpbSBzZWFyY2ggZG9jdW1lbnRhdGlvbjpcbiAgICAgICAgLy8gaHR0cHM6Ly9ub21pbmF0aW0ub3JnL3JlbGVhc2UtZG9jcy9kZXZlbG9wL2FwaS9TZWFyY2gvXG4gICAgICAgIGNvbnN0IHVybCA9XG4gICAgICAgICAgJ2h0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaD9mb3JtYXQ9anNvbiZsaW1pdD0yMCZxPScgK1xuICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChjdXJyZW50UXVlcnkpO1xuICAgICAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hZGRUb0NhY2hlKGN1cnJlbnRRdWVyeSwgW10pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyBoZWFkZXJzIH0pLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IHJlc3BvbnNlIGFzIHVua25vd24gYXMgU2VhcmNoUmVzdWx0W107XG4gICAgICAgICAgICBjb25zdCB1bmlxdWVSZXN1bHRzID0gZGlzdGluY3Qoc2VhcmNoUmVzdWx0cyk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRUb0NhY2hlKGN1cnJlbnRRdWVyeSwgdW5pcXVlUmVzdWx0cyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNlYXJjaEdlb2xvY2F0aW9uKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPiB7XG4gICAgdGhpcy5jdXJyZW50U2VhcmNoJC5uZXh0KHF1ZXJ5KTtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UXVlcnkkO1xuICB9XG5cbiAgZ2V0TGFiZWxzKFxuICAgIGluc3RhbmNlOiBHZW9sb2NhdGlvblNlcnZpY2UsXG4gICAga2V5czogR2VvUG9pbnRbXVxuICApOiBPYnNlcnZhYmxlPERhdGFTb3VyY2U8R2VvUG9pbnQsIHN0cmluZz4+IHtcbiAgICBjb25zdCBzZWFyY2hSZXN1bHRzID0gaW5zdGFuY2UubGFzdFF1ZXJpZXNXaXRoUmVzdWx0c1xuICAgICAgLmdldChpbnN0YW5jZS5nZXRMYXRlc3RRdWVyeSgpKVxuICAgICAgLmZpbHRlcigoc2VhcmNoUmVzdWx0KSA9PiBzYW1lUG9zaXRpb24oc2VhcmNoUmVzdWx0LCBrZXlzKSk7XG4gICAgcmV0dXJuIG9mKFxuICAgICAgc2VhcmNoUmVzdWx0cy5tYXAoKHNlYXJjaFJlc3VsdCkgPT4ge1xuICAgICAgICBjb25zdCBrZXk6IEdlb1BvaW50ID0ge1xuICAgICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgICAgY29vcmRpbmF0ZXM6IFtzZWFyY2hSZXN1bHQubG9uLCBzZWFyY2hSZXN1bHQubGF0XVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICBsYWJlbDogc2VhcmNoUmVzdWx0LmRpc3BsYXlfbmFtZVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGF0YShcbiAgICBpbnN0YW5jZTogR2VvbG9jYXRpb25TZXJ2aWNlLFxuICAgIHNlYXJjaDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8RGF0YVNvdXJjZTxHZW9Qb2ludCwgc3RyaW5nPj4ge1xuICAgIHJldHVybiBpbnN0YW5jZS5zZWFyY2hHZW9sb2NhdGlvbihzZWFyY2gpLnBpcGUoXG4gICAgICBtYXAoKHNlYXJjaFJlc3VsdHMpID0+XG4gICAgICAgIHNlYXJjaFJlc3VsdHMubWFwKChzZWFyY2hSZXN1bHQpID0+IHtcbiAgICAgICAgICBjb25zdCBrZXk6IEdlb1BvaW50ID0ge1xuICAgICAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBbc2VhcmNoUmVzdWx0Lmxvbiwgc2VhcmNoUmVzdWx0LmxhdF1cbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gc2VhcmNoUmVzdWx0LmRpc3BsYXlfbmFtZTtcbiAgICAgICAgICByZXR1cm4geyBrZXksIGxhYmVsIH07XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8vIENhY2hlIGltcGxlbWVtZW50YXRpb24gLS0tXG4gIHByaXZhdGUgZ2V0RnJvbUNhY2hlKHF1ZXJ5OiBzdHJpbmcpOiBTZWFyY2hSZXN1bHRbXSB7XG4gICAgaWYgKHRoaXMubGFzdFF1ZXJpZXNXaXRoUmVzdWx0cy5oYXMocXVlcnkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYXN0UXVlcmllc1dpdGhSZXN1bHRzLmdldChxdWVyeSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSBhZGRUb0NhY2hlKHF1ZXJ5OiBzdHJpbmcsIGRhdGE6IFNlYXJjaFJlc3VsdFtdKTogU2VhcmNoUmVzdWx0W10ge1xuICAgIGlmICh0aGlzLmxhc3RRdWVyaWVzV2l0aFJlc3VsdHMua2V5cy5sZW5ndGggPj0gdGhpcy5jYWNoZVNpemUpIHtcbiAgICAgIGNvbnN0IGRlbGV0ZWRRdWVyeSA9IHRoaXMubGFzdFF1ZXJpZXNMcnVbMF07XG4gICAgICB0aGlzLnJldm9tZUZyb21DYWNoZShkZWxldGVkUXVlcnkpO1xuICAgIH1cbiAgICB0aGlzLmxhc3RRdWVyaWVzV2l0aFJlc3VsdHMuc2V0KHF1ZXJ5LCBkYXRhKTtcbiAgICB0aGlzLmxhc3RRdWVyaWVzTHJ1LnB1c2gocXVlcnkpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHByaXZhdGUgcmV2b21lRnJvbUNhY2hlKHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxhc3RRdWVyaWVzV2l0aFJlc3VsdHMuZGVsZXRlKHF1ZXJ5KTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubGFzdFF1ZXJpZXNMcnUuZmluZEluZGV4KChpdCkgPT4gaXQgPT09IHF1ZXJ5KTtcbiAgICB0aGlzLmxhc3RRdWVyaWVzTHJ1LnNwbGljZShpbmRleCwgMSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRMYXRlc3RRdWVyeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5sYXN0UXVlcmllc0xydS5sZW5ndGhcbiAgICAgID8gdGhpcy5sYXN0UXVlcmllc0xydVt0aGlzLmxhc3RRdWVyaWVzTHJ1Lmxlbmd0aCAtIDFdXG4gICAgICA6IG51bGw7XG4gIH1cbiAgLy8gRW5kIGNhY2hlIGltcGxlbWVtZW50YXRpb24gLS0tXG59XG5cbmNvbnN0IHNhbWVQb3NpdGlvbiA9IChcbiAgc2VhcmNoUmVzdWx0OiBTZWFyY2hSZXN1bHQsXG4gIGtleXM6IEdlb1BvaW50W11cbik6IGJvb2xlYW4gPT4ge1xuICBsZXQgZm91bmQgPSBmYWxzZTtcbiAga2V5cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VhcmNoUmVzdWx0LmxvbiA9PT0gaXRlbS5jb29yZGluYXRlc1swXSAmJlxuICAgICAgc2VhcmNoUmVzdWx0LmxhdCA9PT0gaXRlbS5jb29yZGluYXRlc1sxXVxuICAgICkge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBmb3VuZDtcbn07XG5cbmNvbnN0IGRpc3RpbmN0ID0gKGRhdGE6IFNlYXJjaFJlc3VsdFtdKTogU2VhcmNoUmVzdWx0W10gPT4ge1xuICBjb25zdCB1bmlxdWU6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgcmV0dXJuIGRhdGEuZmlsdGVyKChyKSA9PiB7XG4gICAgaWYgKHVuaXF1ZVtyLmRpc3BsYXlfbmFtZV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdW5pcXVlW3IuZGlzcGxheV9uYW1lXSA9IDE7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufTtcbiJdfQ==
@@ -18,10 +18,10 @@ export class OpenLayerLoaderService {
18
18
  }
19
19
  return of(true);
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: OpenLayerLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: OpenLayerLoaderService, providedIn: 'root' });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OpenLayerLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OpenLayerLoaderService, providedIn: 'root' });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: OpenLayerLoaderService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OpenLayerLoaderService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{ providedIn: 'root' }]
27
27
  }] });
@@ -59,4 +59,4 @@ const loadCss = (url, callback) => {
59
59
  };
60
60
  document.getElementsByTagName('head')[0].appendChild(link);
61
61
  };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmxheWVyLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vb3BlbmxheWVyLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRTVDLElBQUkscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0FBR2xDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsSUFBSTtRQUNGLElBQUssTUFBYyxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sY0FBYyxHQUFHLDhDQUE4QyxDQUFDO1FBQ3RFLE1BQU0sZUFBZSxHQUFHLDZDQUE2QyxDQUFDO1FBRXRFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMxQixxQkFBcUIsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7WUFDNUQsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FDVCxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEMsVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO3VHQW5CVSxzQkFBc0I7MkdBQXRCLHNCQUFzQixjQURULE1BQU07OzJGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQXVCbEMsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLFFBQW9CLEVBQVEsRUFBRTtJQUM3RCxNQUFNLE1BQU0sR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7SUFFaEMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ3JCLGFBQWE7UUFDYixNQUFNLENBQUMsa0JBQWtCLEdBQUcsR0FBUyxFQUFFO1lBQ3JDLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7Z0JBQ3RFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLFFBQVEsRUFBRSxDQUFDO2FBQ1o7UUFDSCxDQUFDLENBQUM7S0FDSDtTQUFNO1FBQ0wsa0JBQWtCO1FBQ2xCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDO0tBQ0g7SUFDRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUVGLDBEQUEwRDtBQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBRSxRQUFvQixFQUFRLEVBQUU7SUFDMUQsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztJQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO0lBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5sZXQgb3BlbkxheWVyc0lzSW5zdGFsbGVkID0gZmFsc2U7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3BlbkxheWVyTG9hZGVyU2VydmljZSB7XG4gIGxvYWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCh3aW5kb3cgYXMgYW55KS5vbCkge1xuICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wZW5MYXllckpzVXJsID0gJ2h0dHBzOi8vb3BlbmxheWVycy5vcmcvZW4vdjUuMy4wL2J1aWxkL29sLmpzJztcbiAgICBjb25zdCBvcGVuTGF5ZXJDc3NVcmwgPSAnaHR0cHM6Ly9vcGVubGF5ZXJzLm9yZy9lbi92NS4zLjAvY3NzL29sLmNzcyc7XG5cbiAgICBpZiAoIW9wZW5MYXllcnNJc0luc3RhbGxlZCkge1xuICAgICAgb3BlbkxheWVyc0lzSW5zdGFsbGVkID0gdHJ1ZTsgLy8gb25seSB0cnkgdG8gaW5zdGFsbCBpdCBvbmNlXG4gICAgICBsb2FkQ3NzKG9wZW5MYXllckNzc1VybCwgKCkgPT4ge30pO1xuICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCBfKSA9PiB7XG4gICAgICAgICAgbG9hZFNjcmlwdChvcGVuTGF5ZXJKc1VybCwgKCkgPT4gcmVzb2x2ZSh0cnVlKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb2YodHJ1ZSk7XG4gIH1cbn1cblxuLyoqIER5bmFtaWNhbGx5IGxvYWQgYSBzY3JpcHQgZnJvbSB1cmwgYW5kIHJldHVybiBhIGNhbGxiYWNrICovXG5jb25zdCBsb2FkU2NyaXB0ID0gKHVybDogc3RyaW5nLCBjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQgPT4ge1xuICBjb25zdCBzY3JpcHQ6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuXG4gIGlmIChzY3JpcHQucmVhZHlTdGF0ZSkge1xuICAgIC8vIGZvciBvbGQgSUVcbiAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlID09PSAnbG9hZGVkJyB8fCBzY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xuICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIC8vIE90aGVycyBicm93c2Vyc1xuICAgIHNjcmlwdC5vbmxvYWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH07XG4gIH1cbiAgc2NyaXB0LnNyYyA9IHVybDtcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzY3JpcHQpO1xufTtcblxuLyoqIER5bmFtaWNhbGx5IGxvYWQgY3NzIGZyb20gdXJsIGFuZCByZXR1cm4gYSBjYWxsYmFjayAqL1xuY29uc3QgbG9hZENzcyA9ICh1cmw6IHN0cmluZywgY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkID0+IHtcbiAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICBsaW5rLnR5cGUgPSAndGV4dC9jc3MnO1xuICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgbGluay50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gIGxpbmsuaHJlZiA9IHVybDtcbiAgbGluay5vbmxvYWQgPSAoKTogdm9pZCA9PiB7XG4gICAgY2FsbGJhY2soKTtcbiAgfTtcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChsaW5rKTtcbn07XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmxheWVyLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvZ2VvbG9jYXRpb24vb3BlbmxheWVyLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRTVDLElBQUkscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0FBR2xDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsSUFBSTtRQUNGLElBQUssTUFBYyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyw4Q0FBOEMsQ0FBQztRQUN0RSxNQUFNLGVBQWUsR0FBRyw2Q0FBNkMsQ0FBQztRQUV0RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMzQixxQkFBcUIsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7WUFDNUQsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FDVCxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEMsVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7dUdBbkJVLHNCQUFzQjsyR0FBdEIsc0JBQXNCLGNBRFQsTUFBTTs7MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBdUJsQywrREFBK0Q7QUFDL0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsUUFBb0IsRUFBUSxFQUFFO0lBQzdELE1BQU0sTUFBTSxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztJQUVoQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixhQUFhO1FBQ2IsTUFBTSxDQUFDLGtCQUFrQixHQUFHLEdBQVMsRUFBRTtZQUNyQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3ZFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLFFBQVEsRUFBRSxDQUFDO1lBQ2IsQ0FBQztRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sa0JBQWtCO1FBQ2xCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBRUYsMERBQTBEO0FBQzFELE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBVyxFQUFFLFFBQW9CLEVBQVEsRUFBRTtJQUMxRCxNQUFNLElBQUksR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO0lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7SUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFTLEVBQUU7UUFDdkIsUUFBUSxFQUFFLENBQUM7SUFDYixDQUFDLENBQUM7SUFDRixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmxldCBvcGVuTGF5ZXJzSXNJbnN0YWxsZWQgPSBmYWxzZTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBPcGVuTGF5ZXJMb2FkZXJTZXJ2aWNlIHtcbiAgbG9hZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLm9sKSB7XG4gICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3BlbkxheWVySnNVcmwgPSAnaHR0cHM6Ly9vcGVubGF5ZXJzLm9yZy9lbi92NS4zLjAvYnVpbGQvb2wuanMnO1xuICAgIGNvbnN0IG9wZW5MYXllckNzc1VybCA9ICdodHRwczovL29wZW5sYXllcnMub3JnL2VuL3Y1LjMuMC9jc3Mvb2wuY3NzJztcblxuICAgIGlmICghb3BlbkxheWVyc0lzSW5zdGFsbGVkKSB7XG4gICAgICBvcGVuTGF5ZXJzSXNJbnN0YWxsZWQgPSB0cnVlOyAvLyBvbmx5IHRyeSB0byBpbnN0YWxsIGl0IG9uY2VcbiAgICAgIGxvYWRDc3Mob3BlbkxheWVyQ3NzVXJsLCAoKSA9PiB7fSk7XG4gICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIF8pID0+IHtcbiAgICAgICAgICBsb2FkU2NyaXB0KG9wZW5MYXllckpzVXJsLCAoKSA9PiByZXNvbHZlKHRydWUpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxufVxuXG4vKiogRHluYW1pY2FsbHkgbG9hZCBhIHNjcmlwdCBmcm9tIHVybCBhbmQgcmV0dXJuIGEgY2FsbGJhY2sgKi9cbmNvbnN0IGxvYWRTY3JpcHQgPSAodXJsOiBzdHJpbmcsIGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCA9PiB7XG4gIGNvbnN0IHNjcmlwdDogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG5cbiAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlKSB7XG4gICAgLy8gZm9yIG9sZCBJRVxuICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICBpZiAoc2NyaXB0LnJlYWR5U3RhdGUgPT09ICdsb2FkZWQnIHx8IHNjcmlwdC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gT3RoZXJzIGJyb3dzZXJzXG4gICAgc2NyaXB0Lm9ubG9hZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgfTtcbiAgfVxuICBzY3JpcHQuc3JjID0gdXJsO1xuICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7XG59O1xuXG4vKiogRHluYW1pY2FsbHkgbG9hZCBjc3MgZnJvbSB1cmwgYW5kIHJldHVybiBhIGNhbGxiYWNrICovXG5jb25zdCBsb2FkQ3NzID0gKHVybDogc3RyaW5nLCBjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQgPT4ge1xuICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gIGxpbmsudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gIGxpbmsucmVsID0gJ3N0eWxlc2hlZXQnO1xuICBsaW5rLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgbGluay5ocmVmID0gdXJsO1xuICBsaW5rLm9ubG9hZCA9ICgpOiB2b2lkID0+IHtcbiAgICBjYWxsYmFjaygpO1xuICB9O1xuICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKGxpbmspO1xufTtcbiJdfQ==